[gpstk] 01/09: Imported Upstream version 1.0
Bas Couwenberg
sebastic at debian.org
Sat Jul 9 21:51:03 UTC 2016
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch master
in repository gpstk.
commit f7b32f934b9197a5e9def8f01bdd1a3c0d7e784c
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Sat Jun 4 19:27:58 2016 +0200
Imported Upstream version 1.0
---
trunk/AUTHORS | 32 +
trunk/COPYING | 504 +
trunk/ChangeLog | 131 +
trunk/Doxyfile | 1168 +
trunk/INSTALL | 236 +
trunk/Jamfile | 10 +
trunk/Jamrules | 276 +
trunk/Makefile.am | 2 +
trunk/NEWS | 17 +
trunk/README | 91 +
trunk/apps/Jamfile | 21 +
trunk/apps/MDPtools/DataStatus.hpp | 85 +
trunk/apps/MDPtools/FormatConversionFunctions.cpp | 234 +
trunk/apps/MDPtools/FormatConversionFunctions.hpp | 60 +
trunk/apps/MDPtools/Jamfile | 30 +
trunk/apps/MDPtools/MDPHeader.cpp | 350 +
trunk/apps/MDPtools/MDPHeader.hpp | 118 +
trunk/apps/MDPtools/MDPNavSubframe.cpp | 136 +
trunk/apps/MDPtools/MDPNavSubframe.hpp | 76 +
trunk/apps/MDPtools/MDPObsEpoch.cpp | 219 +
trunk/apps/MDPtools/MDPObsEpoch.hpp | 85 +
trunk/apps/MDPtools/MDPPVTSolution.cpp | 116 +
trunk/apps/MDPtools/MDPPVTSolution.hpp | 54 +
trunk/apps/MDPtools/MDPProcessors.cpp | 314 +
trunk/apps/MDPtools/MDPProcessors.hpp | 136 +
trunk/apps/MDPtools/MDPSelftestStatus.cpp | 98 +
trunk/apps/MDPtools/MDPSelftestStatus.hpp | 52 +
trunk/apps/MDPtools/MDPStream.hpp | 101 +
trunk/apps/MDPtools/NavProc.cpp | 159 +
trunk/apps/MDPtools/NavProc.hpp | 55 +
trunk/apps/MDPtools/ScreenProc.cpp | 354 +
trunk/apps/MDPtools/ScreenProc.hpp | 54 +
trunk/apps/MDPtools/SummaryProc.cpp | 402 +
trunk/apps/MDPtools/SummaryProc.hpp | 62 +
trunk/apps/MDPtools/TCPStream.cpp | 317 +
trunk/apps/MDPtools/TCPStream.hpp | 154 +
trunk/apps/MDPtools/TrackProc.cpp | 141 +
trunk/apps/MDPtools/TrackProc.hpp | 36 +
trunk/apps/MDPtools/mdp2rinex.cpp | 301 +
trunk/apps/MDPtools/mdptool.cpp | 296 +
trunk/apps/MDPtools/miscenum.hpp | 134 +
trunk/apps/MDPtools/tcptest.cpp | 83 +
trunk/apps/Makefile.am | 1 +
trunk/apps/Makefile.in | 467 +
trunk/apps/RinexPlot/README | 31 +
trunk/apps/RinexPlot/RSW214B.obs | 6827 ++
trunk/apps/RinexPlot/RinexPlot.bat | 10 +
trunk/apps/RinexPlot/RinexPlot.pl | 3458 +
trunk/apps/RinexPlot/alic0320.04o | 56143 ++++++++++++++
trunk/apps/RinexPlot/goRP | 1 +
trunk/apps/RinexPlot/goRP.bat | 1 +
trunk/apps/RinexPlot/goRP1 | 2 +
trunk/apps/RinexPlot/goRP1.bat | 2 +
trunk/apps/RinexPlot/positions.txt | 151 +
trunk/apps/Rinextools/EditRinex | Bin 0 -> 842076 bytes
trunk/apps/Rinextools/EditRinex.cpp | 330 +
trunk/apps/Rinextools/Jamfile | 18 +
trunk/apps/Rinextools/Makefile.am | 13 +
trunk/apps/Rinextools/Makefile.in | 482 +
trunk/apps/Rinextools/NavMerge | Bin 0 -> 489118 bytes
trunk/apps/Rinextools/NavMerge.cpp | 251 +
trunk/apps/Rinextools/README | 45 +
trunk/apps/Rinextools/ResCor | Bin 0 -> 1331833 bytes
trunk/apps/Rinextools/ResCor.cpp | 2063 +
trunk/apps/Rinextools/RinSum | Bin 0 -> 814962 bytes
trunk/apps/Rinextools/RinSum.cpp | 662 +
trunk/apps/Rinextools/RinexDump | Bin 0 -> 690710 bytes
trunk/apps/Rinextools/RinexDump.cpp | 242 +
trunk/apps/Rinextools/RinexEditor.cpp | 1290 +
trunk/apps/Rinextools/RinexEditor.hpp | 287 +
trunk/apps/Rinextools/RinexUtilities.cpp | 237 +
trunk/apps/Rinextools/RinexUtilities.hpp | 90 +
trunk/apps/Rinextools/toolslib.a | Bin 0 -> 560266 bytes
trunk/apps/bindings/DayTime.i | 283 +
trunk/apps/bindings/Exception.i | 16 +
trunk/apps/bindings/FFTextStream.i | 17 +
trunk/apps/bindings/GPSZcount.i | 17 +
trunk/apps/bindings/README | 67 +
trunk/apps/bindings/RinexObsStream.i | 34 +
trunk/apps/bindings/common.i | 49 +
trunk/apps/bindings/gpstk.i | 15 +
trunk/apps/bindings/java/Makefile | 51 +
trunk/apps/bindings/java/examples/example1.java | 11 +
trunk/apps/bindings/octave/Makefile | 29 +
trunk/apps/bindings/octave/calculatePosition.cpp | 203 +
trunk/apps/bindings/octave/readRinexObsFast.cpp | 332 +
trunk/apps/bindings/octave/readRinexObsGeom.cpp | 397 +
trunk/apps/bindings/perl/Makefile | 50 +
trunk/apps/bindings/python/DayTimeException.i | 5 +
trunk/apps/bindings/python/Developer.txt | 45 +
trunk/apps/bindings/python/ExtraWaveFact.i | 11 +
trunk/apps/bindings/python/Makefile | 44 +
trunk/apps/bindings/python/RinexDatum.i | 10 +
trunk/apps/bindings/python/RinexObsType.i | 20 +
trunk/apps/bindings/python/common.i | 56 +
trunk/apps/bindings/python/examples/example1.html | 38 +
trunk/apps/bindings/python/examples/example1.py | 20 +
trunk/apps/bindings/python/examples/example2.html | 29 +
trunk/apps/bindings/python/examples/example2.py | 17 +
trunk/apps/bindings/python/examples/example3.html | 61 +
trunk/apps/bindings/python/examples/example3.py | 63 +
trunk/apps/bindings/python/gpstkPython.html | 25524 +++++++
trunk/apps/bindings/python/gpstkPython.i | 321 +
trunk/apps/bindings/python/gpstkPythonUtils.cpp | 67 +
trunk/apps/bindings/python/gpstkPythonUtils.i | 14 +
trunk/apps/bindings/python/gpstkPython_wrap.cxx | 76622 ++++++++++++++++++++
trunk/apps/bindings/python/pydoc.py | 2142 +
trunk/apps/bindings/python/sensorType.i | 17 +
trunk/apps/bindings/python/streamRead.cpp | 11 +
trunk/apps/bindings/python/streamRead.i | 3 +
trunk/apps/bindings/tcl/Makefile | 49 +
trunk/apps/bindings/tcl/examples/example1.tcl | 10 +
trunk/apps/bindings/tcl/gpstk_wrap_mod.cxx | 11807 +++
trunk/apps/checktools/CheckFrame.hpp | 120 +
trunk/apps/checktools/Jamfile | 12 +
trunk/apps/checktools/Makefile.am | 10 +
trunk/apps/checktools/Makefile.in | 460 +
trunk/apps/checktools/ficacheck | Bin 0 -> 529884 bytes
trunk/apps/checktools/ficacheck.cpp | 38 +
trunk/apps/checktools/ficcheck | Bin 0 -> 528156 bytes
trunk/apps/checktools/ficcheck.cpp | 38 +
trunk/apps/checktools/rmwcheck | Bin 0 -> 417111 bytes
trunk/apps/checktools/rmwcheck.cpp | 39 +
trunk/apps/checktools/rnwcheck | Bin 0 -> 508042 bytes
trunk/apps/checktools/rnwcheck.cpp | 38 +
trunk/apps/checktools/rowcheck | Bin 0 -> 495613 bytes
trunk/apps/checktools/rowcheck.cpp | 38 +
trunk/apps/converters/Jamfile | 9 +
trunk/apps/converters/Makefile.am | 6 +
trunk/apps/converters/NovatelData.cpp | 1065 +
trunk/apps/converters/NovatelData.hpp | 183 +
trunk/apps/converters/NovatelStream.hpp | 96 +
trunk/apps/converters/novaRinex | Bin 0 -> 761182 bytes
trunk/apps/converters/novaRinex.cpp | 981 +
trunk/apps/cycleslips/DiscCorr.cpp | 2902 +
trunk/apps/cycleslips/DiscCorr.hpp | 246 +
trunk/apps/cycleslips/DiscFix | Bin 0 -> 748753 bytes
trunk/apps/cycleslips/DiscFix.cpp | 1411 +
trunk/apps/cycleslips/Jamfile | 9 +
trunk/apps/cycleslips/Makefile.am | 6 +
trunk/apps/cycleslips/Makefile.in | 422 +
trunk/apps/cycleslips/README | 67 +
trunk/apps/cycleslips/examples/GFP2.gp | 12 +
trunk/apps/cycleslips/examples/GFP2_Win.gp | 13 +
trunk/apps/cycleslips/examples/GFP3.gp | 12 +
trunk/apps/cycleslips/examples/GFP3_Win.gp | 13 +
trunk/apps/cycleslips/examples/GFP6.gp | 12 +
trunk/apps/cycleslips/examples/GFP6_Win.gp | 13 +
trunk/apps/cycleslips/examples/GFRF2G17.jpg | Bin 0 -> 55250 bytes
trunk/apps/cycleslips/examples/GFRF3G17.jpg | Bin 0 -> 61949 bytes
trunk/apps/cycleslips/examples/GFRF6G31.jpg | Bin 0 -> 34517 bytes
trunk/apps/cycleslips/examples/WLSS2.gp | 15 +
trunk/apps/cycleslips/examples/WLSS2G17.jpg | Bin 0 -> 69436 bytes
trunk/apps/cycleslips/examples/WLSS2_Win.gp | 16 +
trunk/apps/cycleslips/examples/WLSS3.gp | 15 +
trunk/apps/cycleslips/examples/WLSS3G17.jpg | Bin 0 -> 60771 bytes
trunk/apps/cycleslips/examples/WLSS3_Win.gp | 16 +
trunk/apps/cycleslips/examples/WLSS6.gp | 15 +
trunk/apps/cycleslips/examples/WLSS6G31.jpg | Bin 0 -> 42029 bytes
trunk/apps/cycleslips/examples/WLSS6_Win.gp | 16 +
trunk/apps/cycleslips/examples/chmp0110.02o.G31 | 1213 +
trunk/apps/cycleslips/examples/df.inp | 22 +
trunk/apps/cycleslips/examples/df_occult.inp | 21 +
trunk/apps/cycleslips/examples/eusk2950.01o.G17 | 3016 +
trunk/apps/cycleslips/examples/euskCorrected.jpg | Bin 0 -> 43278 bytes
trunk/apps/cycleslips/examples/goDF1 | 24 +
trunk/apps/cycleslips/examples/goDF1.bat | 24 +
trunk/apps/cycleslips/examples/goDF2 | 16 +
trunk/apps/cycleslips/examples/goDF2.bat | 16 +
trunk/apps/cycleslips/examples/mjd2gps.awk | 26 +
trunk/apps/differential/Jamfile | 7 +
trunk/apps/differential/Makefile.am | 6 +
trunk/apps/differential/Makefile.in | 421 +
trunk/apps/differential/vecsol | Bin 0 -> 1075487 bytes
trunk/apps/differential/vecsol.1 | 111 +
trunk/apps/differential/vecsol.conf | 10 +
trunk/apps/differential/vecsol.cpp | 883 +
trunk/apps/differential/vecsol.eph | 7 +
trunk/apps/differential/vecsol.nav | 3 +
trunk/apps/differential/vecsol.pdf | Bin 0 -> 12538 bytes
trunk/apps/difftools/DiffFrame.hpp | 84 +
trunk/apps/difftools/Jamfile | 12 +
trunk/apps/difftools/Makefile.am | 10 +
trunk/apps/difftools/Makefile.in | 460 +
trunk/apps/difftools/ephdiff | Bin 0 -> 746819 bytes
trunk/apps/difftools/ephdiff.cpp | 359 +
trunk/apps/difftools/ficdiff | Bin 0 -> 659848 bytes
trunk/apps/difftools/ficdiff.cpp | 103 +
trunk/apps/difftools/rmwdiff | Bin 0 -> 576219 bytes
trunk/apps/difftools/rmwdiff.cpp | 221 +
trunk/apps/difftools/rnwdiff | Bin 0 -> 644514 bytes
trunk/apps/difftools/rnwdiff.cpp | 205 +
trunk/apps/difftools/rowdiff | Bin 0 -> 658399 bytes
trunk/apps/difftools/rowdiff.cpp | 203 +
trunk/apps/filetools/Jamfile | 14 +
trunk/apps/filetools/Makefile.am | 10 +
trunk/apps/filetools/Makefile.in | 460 +
trunk/apps/filetools/RinexThin.cpp | 123 +
trunk/apps/filetools/fic2rin | Bin 0 -> 690752 bytes
trunk/apps/filetools/fic2rin.cpp | 125 +
trunk/apps/filetools/ficafic | Bin 0 -> 568592 bytes
trunk/apps/filetools/ficafic.cpp | 89 +
trunk/apps/filetools/ficfica | Bin 0 -> 568624 bytes
trunk/apps/filetools/ficfica.cpp | 89 +
trunk/apps/filetools/navdmp | Bin 0 -> 743486 bytes
trunk/apps/filetools/navdmp.cpp | 429 +
trunk/apps/filetools/rinexthin | Bin 0 -> 469813 bytes
trunk/apps/ionosphere/IonoBias | Bin 0 -> 978140 bytes
trunk/apps/ionosphere/IonoBias.cpp | 1612 +
trunk/apps/ionosphere/Jamfile | 10 +
trunk/apps/ionosphere/Makefile.am | 7 +
trunk/apps/ionosphere/Makefile.in | 433 +
trunk/apps/ionosphere/README | 15 +
trunk/apps/ionosphere/RinexUtilities.cpp | 237 +
trunk/apps/ionosphere/RinexUtilities.hpp | 90 +
trunk/apps/ionosphere/TECMaps | Bin 0 -> 1027794 bytes
trunk/apps/ionosphere/TECMaps.cpp | 1482 +
trunk/apps/ionosphere/VTECMap.cpp | 484 +
trunk/apps/ionosphere/VTECMap.hpp | 251 +
trunk/apps/ionosphere/example/README | 69 +
trunk/apps/ionosphere/example/bias.inp | 18 +
trunk/apps/ionosphere/example/getigs | 373 +
trunk/apps/ionosphere/example/gobias | 3 +
trunk/apps/ionosphere/example/gomaps | 1 +
trunk/apps/ionosphere/example/gopre | 371 +
trunk/apps/ionosphere/example/list.files | 366 +
trunk/apps/ionosphere/example/maps.inp | 35 +
trunk/apps/ionosphere/example/plotall.pl | 87 +
trunk/apps/ionosphere/example/preprocess.pl | 104 +
trunk/apps/ionosphere/example/see | 1 +
trunk/apps/mergetools/Jamfile | 9 +
trunk/apps/mergetools/Makefile.am | 9 +
trunk/apps/mergetools/Makefile.in | 451 +
trunk/apps/mergetools/MergeFrame.hpp | 93 +
trunk/apps/mergetools/mergeFIC | Bin 0 -> 638182 bytes
trunk/apps/mergetools/mergeFIC.cpp | 109 +
trunk/apps/mergetools/mergeRinMet | Bin 0 -> 572860 bytes
trunk/apps/mergetools/mergeRinMet.cpp | 123 +
trunk/apps/mergetools/mergeRinNav | Bin 0 -> 644262 bytes
trunk/apps/mergetools/mergeRinNav.cpp | 126 +
trunk/apps/mergetools/mergeRinObs | Bin 0 -> 657707 bytes
trunk/apps/mergetools/mergeRinObs.cpp | 126 +
trunk/apps/positioning/Jamfile | 8 +
trunk/apps/positioning/Makefile.am | 8 +
trunk/apps/positioning/Makefile.in | 440 +
trunk/apps/positioning/PRSolve | Bin 0 -> 1207021 bytes
trunk/apps/positioning/PRSolve.cpp | 1723 +
trunk/apps/positioning/doc/brdc0200.05n | 3240 +
trunk/apps/positioning/doc/nga13063.apc | 5687 ++
trunk/apps/positioning/doc/nga13064.apc | 5687 ++
trunk/apps/positioning/doc/nga13065.apc | 5879 ++
trunk/apps/positioning/doc/rinexpvt-manual.pdf | Bin 0 -> 127764 bytes
trunk/apps/positioning/doc/rinexpvt-manual.tm | 599 +
trunk/apps/positioning/doc/usno0200.05m | 304 +
trunk/apps/positioning/doc/usno0200.05o | 51808 +++++++++++++
trunk/apps/positioning/poscvt | Bin 0 -> 225733 bytes
trunk/apps/positioning/poscvt.cpp | 215 +
trunk/apps/positioning/rinexpvt | Bin 0 -> 1231371 bytes
trunk/apps/positioning/rinexpvt.cpp | 467 +
trunk/apps/positioning/rinexpvt.hpp | 112 +
trunk/apps/reszilla/DDEpoch.cpp | 402 +
trunk/apps/reszilla/DDEpoch.hpp | 61 +
trunk/apps/reszilla/ElevationRange.hpp | 36 +
trunk/apps/reszilla/Jamfile | 22 +
trunk/apps/reszilla/Makefile.am | 10 +
trunk/apps/reszilla/Makefile.in | 451 +
trunk/apps/reszilla/PhaseCleaner.cpp | 180 +
trunk/apps/reszilla/PhaseCleaner.hpp | 38 +
trunk/apps/reszilla/PhaseResidual.cpp | 115 +
trunk/apps/reszilla/PhaseResidual.hpp | 71 +
trunk/apps/reszilla/ordUtils.cpp | 268 +
trunk/apps/reszilla/ordUtils.hpp | 28 +
trunk/apps/reszilla/readers.cpp | 499 +
trunk/apps/reszilla/readers.hpp | 41 +
trunk/apps/reszilla/reszilla | Bin 0 -> 1517142 bytes
trunk/apps/reszilla/reszilla.cpp | 318 +
trunk/apps/reszilla/rlib.a | Bin 0 -> 805776 bytes
trunk/apps/reszilla/util.cpp | 360 +
trunk/apps/reszilla/util.hpp | 126 +
trunk/apps/time/Jamfile | 7 +
trunk/apps/time/Makefile.am | 7 +
trunk/apps/time/Makefile.in | 430 +
trunk/apps/time/README.txt | 94 +
trunk/apps/time/calgps | Bin 0 -> 238633 bytes
trunk/apps/time/calgps.cpp | 142 +
trunk/apps/time/timcvt | Bin 0 -> 282937 bytes
trunk/apps/time/timcvt.cpp | 217 +
trunk/apps/visibility/Jamfile | 7 +
trunk/apps/visibility/Makefile.am | 6 +
trunk/apps/visibility/UsingWhereSat.doc | Bin 0 -> 44544 bytes
trunk/apps/visibility/WhereSat.cpp | 261 +
trunk/apps/visibility/wheresat | Bin 0 -> 555858 bytes
trunk/configure.ac | 54 +
trunk/examples/Jamfile | 7 +
trunk/examples/Makefile.am | 10 +
trunk/examples/Makefile.in | 452 +
trunk/examples/bahr1620.04m | 109 +
trunk/examples/bahr1620.04n | 1331 +
trunk/examples/bahr1620.04o | 2013 +
trunk/examples/example1.cpp | 27 +
trunk/examples/example2.cpp | 33 +
trunk/examples/example3.cpp | 112 +
trunk/examples/example4.cpp | 160 +
trunk/src/ANSITime.cpp | 126 +
trunk/src/ANSITime.hpp | 150 +
trunk/src/AlmOrbit.cpp | 282 +
trunk/src/AlmOrbit.hpp | 118 +
trunk/src/AlmanacStore.cpp | 164 +
trunk/src/AlmanacStore.hpp | 114 +
trunk/src/BCEphemerisStore.cpp | 459 +
trunk/src/BCEphemerisStore.hpp | 243 +
trunk/src/BasicFramework.cpp | 130 +
trunk/src/BasicFramework.hpp | 182 +
trunk/src/BinUtils.cpp | 59 +
trunk/src/BinUtils.hpp | 388 +
trunk/src/CivilTime.cpp | 316 +
trunk/src/CivilTime.hpp | 168 +
trunk/src/ClockModel.hpp | 75 +
trunk/src/CodeBuffer.cpp | 81 +
trunk/src/CodeBuffer.hpp | 173 +
trunk/src/CommandOption.cpp | 394 +
trunk/src/CommandOption.hpp | 629 +
trunk/src/CommandOptionParser.cpp | 358 +
trunk/src/CommandOptionParser.hpp | 153 +
trunk/src/CommandOptionWithPositionArg.cpp | 89 +
trunk/src/CommandOptionWithPositionArg.hpp | 129 +
trunk/src/CommandOptionWithTimeArg.cpp | 107 +
trunk/src/CommandOptionWithTimeArg.hpp | 160 +
trunk/src/CommonTime.cpp | 314 +
trunk/src/CommonTime.hpp | 328 +
trunk/src/DayTime.cpp | 1863 +
trunk/src/DayTime.hpp | 1185 +
trunk/src/ECEF.cpp | 102 +
trunk/src/ECEF.hpp | 108 +
trunk/src/EngAlmanac.cpp | 495 +
trunk/src/EngAlmanac.hpp | 320 +
trunk/src/EngEphemeris.cpp | 1383 +
trunk/src/EngEphemeris.hpp | 494 +
trunk/src/EngNav.cpp | 677 +
trunk/src/EngNav.hpp | 176 +
trunk/src/EphemerisRange.cpp | 230 +
trunk/src/EphemerisRange.hpp | 115 +
trunk/src/EphemerisStore.hpp | 115 +
trunk/src/EpochClockModel.hpp | 115 +
trunk/src/Exception.cpp | 213 +
trunk/src/Exception.hpp | 479 +
trunk/src/FFBinaryStream.hpp | 219 +
trunk/src/FFData.cpp | 99 +
trunk/src/FFData.hpp | 189 +
trunk/src/FFStream.cpp | 276 +
trunk/src/FFStream.hpp | 209 +
trunk/src/FFStreamError.hpp | 63 +
trunk/src/FFTextStream.hpp | 220 +
trunk/src/FICAStream.hpp | 90 +
trunk/src/FICBase.hpp | 67 +
trunk/src/FICData.cpp | 1182 +
trunk/src/FICData.hpp | 187 +
trunk/src/FICFilterOperators.hpp | 301 +
trunk/src/FICHeader.cpp | 140 +
trunk/src/FICHeader.hpp | 111 +
trunk/src/FICStream.hpp | 94 +
trunk/src/FICStreamBase.hpp | 85 +
trunk/src/FileFilter.hpp | 409 +
trunk/src/FileFilterFrame.hpp | 376 +
trunk/src/FileFilterFrameWithHeader.hpp | 431 +
trunk/src/FileHunter.cpp | 696 +
trunk/src/FileHunter.hpp | 227 +
trunk/src/FileSpec.cpp | 535 +
trunk/src/FileSpec.hpp | 317 +
trunk/src/FileStore.hpp | 119 +
trunk/src/FileUtils.hpp | 132 +
trunk/src/GPSEpochWeekSecond.cpp | 197 +
trunk/src/GPSEpochWeekSecond.hpp | 151 +
trunk/src/GPSGeoid.hpp | 87 +
trunk/src/GPSWeekSecond.cpp | 186 +
trunk/src/GPSWeekSecond.hpp | 149 +
trunk/src/GPSWeekZcount.cpp | 173 +
trunk/src/GPSWeekZcount.hpp | 149 +
trunk/src/GPSZcount.cpp | 375 +
trunk/src/GPSZcount.hpp | 331 +
trunk/src/GPSZcount29.cpp | 171 +
trunk/src/GPSZcount29.hpp | 149 +
trunk/src/GPSZcount32.cpp | 142 +
trunk/src/GPSZcount32.hpp | 146 +
trunk/src/GenXSequence.cpp | 215 +
trunk/src/GenXSequence.hpp | 159 +
trunk/src/Geodetic.cpp | 199 +
trunk/src/Geodetic.hpp | 132 +
trunk/src/GeoidModel.hpp | 101 +
trunk/src/IonoModel.cpp | 176 +
trunk/src/IonoModel.hpp | 152 +
trunk/src/IonoModelStore.cpp | 93 +
trunk/src/IonoModelStore.hpp | 115 +
trunk/src/Jamfile | 104 +
trunk/src/JulianDate.cpp | 132 +
trunk/src/JulianDate.hpp | 146 +
trunk/src/LinearClockModel.cpp | 176 +
trunk/src/LinearClockModel.hpp | 109 +
trunk/src/LoopedFramework.cpp | 66 +
trunk/src/LoopedFramework.hpp | 107 +
trunk/src/MJD.cpp | 135 +
trunk/src/MJD.hpp | 146 +
trunk/src/MSCData.cpp | 133 +
trunk/src/MSCData.hpp | 112 +
trunk/src/MSCStream.hpp | 85 +
trunk/src/Makefile.am | 0
trunk/src/Makefile.in | 309 +
trunk/src/MathBase.hpp | 56 +
trunk/src/Matrix.hpp | 710 +
trunk/src/MatrixBase.hpp | 420 +
trunk/src/MatrixBaseOperators.hpp | 169 +
trunk/src/MatrixFunctors.hpp | 712 +
trunk/src/MatrixImplementation.hpp | 137 +
trunk/src/MatrixOperators.hpp | 737 +
trunk/src/MiscMath.hpp | 201 +
trunk/src/ORDEpoch.hpp | 106 +
trunk/src/ObsClockModel.cpp | 180 +
trunk/src/ObsClockModel.hpp | 211 +
trunk/src/ObsRngDev.cpp | 332 +
trunk/src/ObsRngDev.hpp | 327 +
trunk/src/ObservationStore.cpp | 338 +
trunk/src/ObservationStore.hpp | 338 +
trunk/src/PCodeConst.hpp | 104 +
trunk/src/PRSolution.cpp | 713 +
trunk/src/PRSolution.hpp | 276 +
trunk/src/PolyFit.hpp | 262 +
trunk/src/Position.cpp | 1432 +
trunk/src/Position.hpp | 893 +
trunk/src/RACRotation.cpp | 113 +
trunk/src/RACRotation.hpp | 34 +
trunk/src/RAIM.cpp | 592 +
trunk/src/RAIMSolution.hpp | 240 +
trunk/src/README | 201 +
trunk/src/RTFileFrame.hpp | 599 +
trunk/src/RinexEphemerisStore.cpp | 102 +
trunk/src/RinexEphemerisStore.hpp | 96 +
trunk/src/RinexMetBase.hpp | 73 +
trunk/src/RinexMetData.cpp | 281 +
trunk/src/RinexMetData.hpp | 157 +
trunk/src/RinexMetFilterOperators.hpp | 247 +
trunk/src/RinexMetHeader.cpp | 494 +
trunk/src/RinexMetHeader.hpp | 262 +
trunk/src/RinexMetStream.hpp | 111 +
trunk/src/RinexNavBase.hpp | 73 +
trunk/src/RinexNavData.cpp | 573 +
trunk/src/RinexNavData.hpp | 253 +
trunk/src/RinexNavFilterOperators.hpp | 238 +
trunk/src/RinexNavHeader.cpp | 337 +
trunk/src/RinexNavHeader.hpp | 160 +
trunk/src/RinexNavStream.hpp | 102 +
trunk/src/RinexObsBase.hpp | 73 +
trunk/src/RinexObsData.cpp | 405 +
trunk/src/RinexObsData.hpp | 182 +
trunk/src/RinexObsFilterOperators.hpp | 268 +
trunk/src/RinexObsHeader.cpp | 958 +
trunk/src/RinexObsHeader.hpp | 442 +
trunk/src/RinexObsStream.hpp | 108 +
trunk/src/RungeKutta4.cpp | 118 +
trunk/src/RungeKutta4.hpp | 142 +
trunk/src/SMODFData.cpp | 369 +
trunk/src/SMODFData.hpp | 140 +
trunk/src/SMODFStream.hpp | 114 +
trunk/src/SP3Base.hpp | 71 +
trunk/src/SP3Data.cpp | 146 +
trunk/src/SP3Data.hpp | 117 +
trunk/src/SP3EphemerisStore.cpp | 136 +
trunk/src/SP3EphemerisStore.hpp | 97 +
trunk/src/SP3Header.cpp | 215 +
trunk/src/SP3Header.hpp | 128 +
trunk/src/SP3Stream.hpp | 87 +
trunk/src/SVExclusionList.cpp | 312 +
trunk/src/SVExclusionList.hpp | 126 +
trunk/src/SVPCodeGen.cpp | 118 +
trunk/src/SVPCodeGen.hpp | 151 +
trunk/src/SatID.cpp | 52 +
trunk/src/SatID.hpp | 174 +
trunk/src/Stats.hpp | 512 +
trunk/src/StringUtils.hpp | 2566 +
trunk/src/TabularEphemerisStore.cpp | 265 +
trunk/src/TabularEphemerisStore.hpp | 140 +
trunk/src/TimeConstants.hpp | 49 +
trunk/src/TimeConverters.cpp | 150 +
trunk/src/TimeConverters.hpp | 65 +
trunk/src/TimeString.cpp | 405 +
trunk/src/TimeString.hpp | 35 +
trunk/src/TimeTag.cpp | 168 +
trunk/src/TimeTag.hpp | 121 +
trunk/src/Triple.cpp | 255 +
trunk/src/Triple.hpp | 206 +
trunk/src/TropModel.cpp | 1700 +
trunk/src/TropModel.hpp | 900 +
trunk/src/UnixTime.cpp | 158 +
trunk/src/UnixTime.hpp | 169 +
trunk/src/ValidType.hpp | 125 +
trunk/src/Vector.hpp | 382 +
trunk/src/VectorBase.cpp | 36 +
trunk/src/VectorBase.hpp | 299 +
trunk/src/VectorBaseOperators.hpp | 270 +
trunk/src/VectorOperators.hpp | 187 +
trunk/src/WGS84Geoid.hpp | 126 +
trunk/src/X1Sequence.cpp | 159 +
trunk/src/X1Sequence.hpp | 132 +
trunk/src/X2Sequence.cpp | 237 +
trunk/src/X2Sequence.hpp | 294 +
trunk/src/Xvt.cpp | 123 +
trunk/src/Xvt.hpp | 101 +
trunk/src/YDSTime.cpp | 202 +
trunk/src/YDSTime.hpp | 151 +
trunk/src/convhelp.hpp | 133 +
trunk/src/geometry.hpp | 69 +
trunk/src/getopt.c | 1059 +
trunk/src/getopt.h | 178 +
trunk/src/getopt1.c | 188 +
trunk/src/gps_constants.hpp | 65 +
trunk/src/gpstkplatform.h | 23 +
trunk/src/icd_200_constants.hpp | 120 +
trunk/src/mergePCodeWords.h | 25 +
trunk/src/regex.c | 4948 ++
trunk/src/regex.h | 483 +
trunk/src/stl_helpers.hpp | 127 +
trunk/tests/AnotherFileFilterTest.cpp | 149 +
trunk/tests/DayTimeConversionTest.cpp | 258 +
trunk/tests/DayTimeIncrementTest.cpp | 129 +
trunk/tests/DayTimeIncrementTest2.cpp | 102 +
trunk/tests/DayTimeToleranceTest.cpp | 101 +
trunk/tests/EphComp.cpp | 108 +
trunk/tests/EphComp.gp | 30 +
trunk/tests/EphCompWin.gp | 31 +
trunk/tests/FileSpecTest.cpp | 114 +
trunk/tests/FileSpecTest.pl | 15 +
trunk/tests/Jamfile | 63 +
trunk/tests/Makefile.am | 34 +
trunk/tests/MatrixTest.cpp | 673 +
trunk/tests/MinSfTest.cpp | 307 +
trunk/tests/Rinex_dl.pl | 111 +
trunk/tests/RungeKuttaTest.cpp | 87 +
trunk/tests/TimeTest.cpp | 388 +
trunk/tests/Xbegweek.cpp | 135 +
trunk/tests/Xendweek.cpp | 158 +
trunk/tests/configfile.txt | 52 +
trunk/tests/configfile_readme.txt | 14 +
trunk/tests/data/405_077A.02M | 108 +
trunk/tests/data/MatrixTest.ref | 1332 +
trunk/tests/data/MatrixTest.ref.Win32 | 1332 +
trunk/tests/data/Xbegweek.can | 41 +
trunk/tests/data/Xendweek.can | 41 +
trunk/tests/data/anotsym.dat | 15 +
trunk/tests/data/cov.dat | 17 +
trunk/tests/data/dia.dat | 6 +
trunk/tests/data/lt.dat | 6 +
trunk/tests/data/nga12600.apc | 5303 ++
trunk/tests/data/nga12601.apc | 5303 ++
trunk/tests/data/partials.dat | 18 +
trunk/tests/data/positiontest.ref | 84 +
trunk/tests/data/squ.dat | 7 +
trunk/tests/data/stringutiltest.ref | 45 +
trunk/tests/data/sym.dat | 6 +
trunk/tests/data/tmatrix.dat | 15 +
trunk/tests/data/ut.dat | 6 +
trunk/tests/daytimetest.cpp | 78 +
trunk/tests/delFileSpecTestDirs.pl | 25 +
trunk/tests/exceptiontest.cpp | 50 +
trunk/tests/genFileSpecTestDirs.pl | 30 +
trunk/tests/gpszcounttest.cpp | 182 +
trunk/tests/petest.cpp | 102 +
trunk/tests/positiontest.cpp | 232 +
trunk/tests/rinex_met_livetest.pl | 60 +
trunk/tests/rinex_met_read_write.cpp | 61 +
trunk/tests/rinex_met_test.cpp | 57 +
trunk/tests/rinex_nav_read_write.cpp | 59 +
trunk/tests/rinex_nav_test.cpp | 58 +
trunk/tests/rinex_obs_read_write.cpp | 63 +
trunk/tests/rinex_obs_test.cpp | 59 +
trunk/tests/runAllTests | 40 +
trunk/tests/runAllTests.bat | 72 +
trunk/tests/stringutiltest.cpp | 468 +
trunk/tests/testscript.pl | 184 +
trunk/tests/testscript_readme.txt | 18 +
578 files changed, 390174 insertions(+)
diff --git a/trunk/AUTHORS b/trunk/AUTHORS
new file mode 100644
index 0000000..ba15b55
--- /dev/null
+++ b/trunk/AUTHORS
@@ -0,0 +1,32 @@
+$Id: //depot/sgl/gpstk/dev/AUTHORS#1 $
+
+GPS Toolkit Authorship
+------------------------------------------------------------------------------
+ The GPSTk is sponsored by the Space and Geophysics Laboratory, within the
+ Applied Research Laboratories at the University of Texas at Austin (ARL:UT).
+ GPSTk is the by-product of GPS research conducted at ARL:UT since before
+ the first GPS satellite launched in 1978; it is the combined effort
+ of many software engineers and scientists. In 2003 the research staff
+ at ARL:UT decided to open source much of their basic GPS processing
+ software as the GPSTk.
+
+Contact Information
+------------------------------------------------------------------------------
+ GPSTk Homepage
+ ----------------------------
+ http://gpstk.sourceforge.net
+
+ SGL:ARL:UT Homepage
+ ----------------------------
+ http://sgl.arlut.utexas.edu
+
+ Mailing Lists Subscribe/Unsubscribe/Archive URL
+ ------------------------------------ -------------------------------------
+ gpstk-users at lists.sourceforge.net http://lists.sourceforge.net/lists/listinfo/gpstk-users
+ gpstk-devel at lists.sourceforge.net http://lists.sourceforge.net/lists/listinfo/gpstk-devel
+ gpstk-announce at lists.sourceforge.net http://lists.sourceforge.net/lists/listinfo/gpstk-announce
+ gpstk-admin at lists.sourceforge.net http://lists.sourceforge.net/lists/listinfo/gpstk-admin
+
+ Email
+ ----------------------------
+ Please send general GPSTk comments to gpstk at arlut.utexas.edu .
diff --git a/trunk/COPYING b/trunk/COPYING
new file mode 100644
index 0000000..b1e3f5a
--- /dev/null
+++ b/trunk/COPYING
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This 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.
+
+ This 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 this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/trunk/ChangeLog b/trunk/ChangeLog
new file mode 100644
index 0000000..8008bb6
--- /dev/null
+++ b/trunk/ChangeLog
@@ -0,0 +1,131 @@
+Version 1.1 Friday, January 7, 2005
+
+ General modifications
+ ---------------------
+
+ - Added patches to support more compilers:
+ GNU compiler version 3.4
+ GNU compiler under AIX
+ Sun ONE Studio 8
+
+ - GNU make/configure capabilities have been added. Since this
+ is a new feature, your mileage may vary. The makefiles
+ work on systems with newer autoconf toolchain versions.
+
+ - More examples were added to gpstk/examples.
+ These examples are described in the website.
+
+ - Major revamp of the website.
+
+ Library modifications
+ ---------------------
+
+ - P code generator was allocating over 20 megabytes in
+ processes that use the shared library. Now the 20 megabytes
+ are not allocated until the P code generator is initialized
+ by the user.
+
+ - Bug fix: FileSpec::extractDayTime() now initializes
+ DayTimes generated from file name to have zero hours,
+ zero minutes, zero seconds, etc.
+
+ - Bug fix: DayTime::setGPS now more robust when accepting
+ a year number as a hint to disambiguate which full GPS
+ week to use.
+
+ - Added more DayTime tests.
+
+ - Bug fix: DayTime user-defined tolerance for comparisons now is
+ working.
+
+ - Bug fix: DayTime::setGPS(short week, long zcount, short year)
+ now works across a year rollover.
+
+ - Renamed WxObsData::find(...) to getWxObservation(...) to remove
+ any confusion that might develop over having the same method
+ name as the STL.
+
+ - Bug fix: satellite combinations in RAIM sometimes incorrect when
+ a user-marked satellite was present.
+
+ - Some Vector routines were throwing Exception instead of
+ VectorException.
+
+ - Added Vector-Matrix concatentation operators.
+
+ - Added a sub-Vector constructor.
+
+ - Modification to Householder decomposition routine.
+
+ - Various fixes to MatrixOperators.
+
+ - Updates to FIC routines.
+
+ - Implemented azimuth and elevation functions in Position, making
+ use of the functions inherited from Triple. Modified EphemerisRange
+ to use Position, as well as TropModel and ResCor; this eliminated
+ a bug in the azimuth() in EphemerisRange and means that now there
+ is only one implementation of az and el. Added a test of the new
+ routines in positiontest. Also added a Position constructor from Xvt.
+
+ - Bugs in DayTime::setToString() - %f was missing (!) and %S
+ was acting as %f should; date was trashed when time was set,
+ and vice versa, and year input was not properly handled.
+
+ - Implemented ionospheric model types other than linear.
+
+ - Cleaned up weather data handling (e.g., error checks).
+
+
+ Application modifications
+ -------------------------
+
+ apps/difftools
+
+ - Unified code using a common class.
+
+
+ apps/filetools
+
+ - Improvments to navdmp.
+
+ - New utility called rinexthin for subsampling RINEX observation
+ files.
+
+
+ apps/binding
+
+ - This new project provides GPSTk bindings in other languages
+ has been added. This capability is in an alpha state.
+ Currently there are a limited set of bindings for
+ Tcl/Tk, Python and Octave.
+
+
+ apps/RinexEditor
+
+ - Bug fix: 'delete all' command was being deleted prematurely.
+
+
+ apps/RinexPlot
+
+ - Improved documentation.
+
+ - Various tweaks.
+
+ - Plotting improvements.
+
+
+ apps/ionosphere
+
+ - Various improvements.
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/trunk/Doxyfile b/trunk/Doxyfile
new file mode 100644
index 0000000..53485ee
--- /dev/null
+++ b/trunk/Doxyfile
@@ -0,0 +1,1168 @@
+# Doxyfile 1.3.9.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = "GPS ToolKit Software Library"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = doc
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of source
+# files, where putting all generated files in the same directory would otherwise
+# cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish,
+# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese,
+# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish,
+# Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE = English
+
+# This tag can be used to specify the encoding used in the generated output.
+# The encoding is not always determined by the language that is chosen,
+# but also whether or not the output is meant for Windows or non-Windows users.
+# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
+# forces the Windows encoding (this is the default for the Windows binary),
+# whereas setting the tag to NO uses a Unix-style encoding (the default for
+# all platforms other than Windows).
+
+USE_WINDOWS_ENCODING = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is used
+# as the annotated text. Otherwise, the brief description is used as-is. If left
+# blank, the following values are used ("$name" is automatically replaced with the
+# name of the entity): "The $name class" "The $name widget" "The $name file"
+# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
+# members of a class in the documentation of that class as if those members were
+# ordinary class members. Constructors, destructors and assignment operators of
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like the Qt-style comments (thus requiring an
+# explicit @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF = YES
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member
+# documentation.
+
+DETAILS_AT_TOP = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
+# only. Doxygen will then generate output that is more tailored for Java.
+# For instance, namespaces will be presented as packages, qualified scopes
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation.
+
+SHOW_DIRECTORIES = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text.
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = . \
+ ./src/README
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
+# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
+
+FILE_PATTERNS = *.hpp \
+ *.h \
+ *.cpp
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE = ./tests \
+ ./examples \
+ ./apps
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
+# that are symbolic links (a Unix filesystem feature) are excluded from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+
+EXCLUDE_PATTERNS = getopt.h \
+ regex.h
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH = ./tests \
+ ./examples
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS = *.cpp
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output. If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = YES
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
+# probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader. This is useful
+# if you want to understand what is going on. On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH = ./src
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse the
+# parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or
+# super classes. Setting the tag to NO turns the diagrams off. Note that this
+# option is superseded by the HAVE_DOT option below. This is only a fallback. It is
+# recommended to install and use dot, since it yields more powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
+# generate a call dependency graph for every global function or class method.
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH = /usr/bin
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS = .
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_WIDTH = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT = 1024
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes that
+# lay further from the root node will be omitted. Note that setting this option to
+# 1 or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that a graph may be further truncated if the graph's image dimensions are
+# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT).
+# If 0 is used for the depth value (the default), the graph is not depth-constrained.
+
+MAX_DOT_GRAPH_DEPTH = 0
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE = NO
diff --git a/trunk/INSTALL b/trunk/INSTALL
new file mode 100644
index 0000000..23e5f25
--- /dev/null
+++ b/trunk/INSTALL
@@ -0,0 +1,236 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
+Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+These are generic installation instructions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system. If you're
+ using `csh' on an old version of System V, you might need to type
+ `sh ./configure' instead to prevent `csh' from trying to execute
+ `configure' itself.
+
+ Running `configure' takes awhile. While running, it prints some
+ messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation.
+
+ 5. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about. Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here
+is an example:
+
+ ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+ If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory. After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script). Here is a another example:
+
+ /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
+configuration-related scripts to be executed by `/bin/bash'.
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+ Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
+
diff --git a/trunk/Jamfile b/trunk/Jamfile
new file mode 100644
index 0000000..4157069
--- /dev/null
+++ b/trunk/Jamfile
@@ -0,0 +1,10 @@
+#
+# $Id: //depot/sgl/gpstk/dev/Jamfile#3 $
+#
+
+SubDir TOP ;
+
+SubInclude TOP src ;
+SubInclude TOP apps ;
+SubInclude TOP examples ;
+# SubInclude TOP tests ;
diff --git a/trunk/Jamrules b/trunk/Jamrules
new file mode 100644
index 0000000..03a5e4a
--- /dev/null
+++ b/trunk/Jamrules
@@ -0,0 +1,276 @@
+#
+# $Id: //depot/sgl/gpstk/dev/Jamrules#7 $
+#
+
+# not much here... just use defaults as much as possible
+
+NotFile install ;
+
+KEEPOBJS = true ;
+
+# where to install the .hpp files
+INCDIR = /usr/local/include ;
+
+# override the built-in EXEMODE
+EXEMODE = 755 ;
+
+# Used to prevent mixing static and dynamic library objects.
+# This was, once upon a time, .lo, but forte's C compiler prevents, stupidly,
+# any attempt to use any extension other than .o
+SUFOBJ2 ?= -l.o ;
+
+# some OS specific stuff
+if $(UNIX)
+{
+ LIBPREFIX = lib ;
+ LDSHARE_FLAGS = -shared ;
+ LINKLIBS += -lm ;
+ switch $(OS)
+ {
+ case CYGWIN :
+ LINKLIBS += -lstdc++ ;
+
+ case LINUX :
+ LINKLIBS += -lstdc++ ;
+ CCSHARE_FLAGS = -fPIC ;
+
+ case SOLARIS :
+ LINKLIBS += -lgen ;
+ # for solaris forte
+ if ( $(C++) = CC )
+ {
+ LDSHARE_FLAGS = -G -mt ;
+ CCSHARE_FLAGS = -KPIC ;
+ CCFLAGS += -Xc ;
+ C++FLAGS += -compat=5 ;
+ AR = "CC -xar -o" ;
+ NOARSCAN = true ;
+ RM = "rm -rf" ;
+ }
+ else # for solaris gcc
+ {
+ LINKLIBS += -lstdc++ ;
+ CCSHARE_FLAGS = -fPIC ;
+ }
+
+ case AIX :
+ LINKLIBS += -lstdc++ ;
+ }
+ SUFLIBSHR ?= .so ;
+}
+else if $(NT)
+{
+ LIBPREFIX = "" ;
+ #LDSHARE_FLAGS ?= /MAP /DLL ;
+ #SUFLIBSHR = .dll ;
+ # for reference, VC++6 defines _MSC_VER=12xx.xx, VS.NET2003 _MSC_VER=13xx.xx
+ # do NOT define __STDC__ here
+ CCFLAGS += /ML -wd4274 ;
+ C++FLAGS += /ML -DWIN32 /GX /GR -wd4274 ;
+ NEED_REGEX = true ;
+}
+
+# compiler specific stuff - this is probably actually pretty clumsy
+if ( $(CC) != gcc )
+{
+ NEED_GETOPT = true ;
+}
+
+if $(PREFIX)
+{
+# fix does this need to be forward/backslash independent? darn windows.
+ BINDIR = [ FDirName $(PREFIX) bin ] ;
+ LIBDIR = [ FDirName $(PREFIX) lib ] ;
+ INCDIR = [ FDirName $(PREFIX) include ] ;
+}
+
+# debug - edit this as needed.
+if $(DEBUG)
+{
+ # forte
+ if ( $(C++) = CC ) && ( $(OS) = SOLARIS )
+ {
+ OPTIM = -g -xs ;
+ }
+ # gcc-ish rules
+ else if ( $(C++) = cc ) || ( $(C++) = g++ ) || ( $(C++) = c++ )
+ {
+ OPTIM = -ggdb ;
+ }
+ else if $(MSVC) || $(MSVCNT)
+ {
+ OPTIM = /DEBUG ;
+ }
+}
+
+rule BonkForte
+{
+ # forte for solaris...
+ if ( $(C++) = CC ) && ( $(OS) = SOLARIS )
+ {
+ # we need the explicit /usr/include to make sure the regex.h there
+ # is included instead of the one in the gpstk/dev/src directory
+ CCFLAGS += -I/usr/include ;
+ C++FLAGS += -I/usr/include ;
+ }
+}
+
+rule LibObjects
+{
+ local _i ;
+
+ for _i in [ FGristFiles $(<) ]
+ {
+ Object $(_i:S=$(SUFOBJ2)) : $(_i) ;
+ Depends obj : $(_i:S=$(SUFOBJ2)) ;
+ }
+}
+
+rule GPSSetupLibrary
+{
+ local lib = [ FGristFiles $(LIBPREFIX)$(<:S=$(SUFLIB)) ] ;
+ MakeLocate $(lib) : $(LOCATE_SOURCE) ;
+ $(1)_DIR = $(SUBDIR) ;
+ $(1)_GRIST = $(lib) ;
+ $(1)_DEPENDENCIES = $(2) ;
+}
+
+rule GPSBuildLibrary
+{
+ # $(<) is short name of lib to build.
+ # $(>) is the list of sources that build lib.
+
+ local shlib arlib ;
+ local statobjs shrobjs ;
+ local dependencies = [ Uniqueify [ GetDependencies $(<) ] ] ;
+
+ if $(dependencies)
+ {
+ local thisDependency ;
+ for thisDependency in $(dependencies)
+ {
+ SubDirHdrs $($(thisDependency)_DIR) ;
+ }
+ }
+
+ arlib = $(LIBPREFIX)$(<:S=$(SUFLIB)) ;
+ statobjs = $(>:S=$(SUFOBJ)) ;
+
+ Depends lib : $(arlib) ;
+ Objects $(>) ;
+ LibraryFromObjects $(arlib) : $(statobjs) ;
+ InstallLib $(LIBDIR) : $(arlib) ;
+
+ # Windows is limited to 1024 character command lines. This goes over that.
+ # Until we can figure out how to properly split our library, we just can't
+ # build DLLs for Windows.
+ if $(UNIX)
+ {
+ shlib = $(LIBPREFIX)$(<:S=$(SUFLIBSHR)) ;
+ shrobjs = $(>:S=$(SUFOBJ2)) ;
+ ObjectCcFlags $(shrobjs) : $(CCSHARE_FLAGS) ;
+ ObjectC++Flags $(shrobjs) : $(CCSHARE_FLAGS) ;
+ LINKFLAGS on $(shlib) += $(CCSHARE_FLAGS) $(LDSHARE_FLAGS) $(OPTIM) ;
+ Depends lib : $(shlib) ;
+ LibObjects $(>) ;
+ MainFromObjects $(shlib) : $(shrobjs) ;
+ InstallLib $(LIBDIR) : $(shlib) ;
+ }
+}
+
+rule GPSLinkLibraries
+{
+ local dependencies = [ Uniqueify [ GetDependencies $(>) ] ] ;
+ dependencies = [ Uniqueify $(>) $(dependencies) ] ;
+
+ if $(dependencies)
+ {
+ local thisDependency ;
+ local thisDir thisLib ;
+ for thisDependency in $(dependencies)
+ {
+ thisDir = $($(thisDependency)_DIR) ;
+ SubDirHdrs $(thisDir) ;
+ thisLib = $($(thisDependency)_GRIST) ;
+ LinkLibraries $(<) : $(thisLib) ;
+ }
+# LinkLibraries $(<) : $(dependencies) ;
+ }
+}
+
+# a rule to replace Main that includes the functionality of GPSFile.
+rule GPSMain
+{
+ Main $(<) : $(>) ;
+ InstallBin $(BINDIR) : $(<:S=$(SUFEXE)) ;
+}
+
+# a rule to replace File that also cleans it when "jam clean" is run.
+# $(1) is the target, $(2) is the source, $(3) is the mode.
+# $(3) is optional - it will default to 644.
+#
+# GPSFile $(TARGETETCDIR)/moo : moo : $(EXEMODE) ;
+# GPSFile $(TARGETETCDIR)/moo2 : moo2 ;
+#
+rule GPSFile
+{
+ File $(1) : $(2) ;
+ if $(3)
+ {
+ MODE on $(1) = $(3) ;
+ }
+ Clean clean : $(1) ;
+}
+
+PREPROCESSING = yes ;
+SubInclude TOP src ;
+PREPROCESSING = ;
+
+rule TestFiles
+{
+ Depends test : $(<) ;
+ if $(TESTCODE)
+ {
+ ReallyTestFiles $(<) : $(>) ;
+ }
+}
+
+actions ReallyTestFiles
+{
+ $(<) $(>)
+}
+
+
+rule GetDependencies
+{
+ local thisDepends itr ;
+
+ if $($(1)_DEPENDENCIES)
+ {
+ thisDepends += $($(1)_DEPENDENCIES) ;
+ thisDepends += [ GetDependencies $($(1)_DEPENDENCIES) ] ;
+ }
+ return $(thisDepends) ;
+}
+
+rule Uniqueify
+{
+ local thisList thisItem thatItem found newList ;
+
+ for thatItem in $(1)
+ {
+ found = 0 ;
+ newList = ;
+ for thisItem in $(thisList)
+ {
+ if $(thatItem) != $(thisItem)
+ {
+ newList += $(thisItem) ;
+ }
+ }
+ newList += $(thatItem) ;
+ thisList = $(newList) ;
+ }
+ return $(thisList) ;
+}
+
diff --git a/trunk/Makefile.am b/trunk/Makefile.am
new file mode 100644
index 0000000..3b52323
--- /dev/null
+++ b/trunk/Makefile.am
@@ -0,0 +1,2 @@
+EXTRA_DIST = README
+SUBDIRS = src apps examples tests
diff --git a/trunk/NEWS b/trunk/NEWS
new file mode 100644
index 0000000..7539f94
--- /dev/null
+++ b/trunk/NEWS
@@ -0,0 +1,17 @@
+$Id: //depot/sgl/gpstk/dev/NEWS#1 $
+
+GPS Toolkit News
+------------------------------------------------------------------------------
+ January 10, 2005 . . . Version 1.1 is released.
+
+ September 20, 2004 . . Version 1.0.2 is released to coincide with
+ presentation at the ION GNSS 2002 in
+ Portland, Oregon.
+
+ August 9, 2004 . . . . Version 1.0.1 released quickly to address
+ minor issues.
+
+ August 8, 2004 . . . . The first version of the GPSTk is released to
+ coincide with an article in LinuxJournal.
+
+ February 25, 2004 . . The GPSTk project is registered at SourceForge.net.
diff --git a/trunk/README b/trunk/README
new file mode 100644
index 0000000..495b189
--- /dev/null
+++ b/trunk/README
@@ -0,0 +1,91 @@
+$Id: //depot/sgl/gpstk/dev/README#5 $
+
+The following is excerpted from the GPSTk web site at http://www.gpstk.org/ :
+
+What is GPSTk?
+--------------
+
+The goal of the GPSTk project is to provide a world class, open source
+computing suite to the satellite navigation community. It is our hope that the
+GPSTk will empower its users to perform new research and create new
+applications.
+
+GPS users employ practically every computational architecture and operating
+system. Therefore the design of the GPSTk suite is as platform-independent as
+possible. Platform independence is achieved through use of the ANSI-standard
+C++ programming language. The principles of object-oriented programming are
+used throughout the GPSTk code base in order to ensure that the code is
+modular, extensible and maintainable.
+
+The GPSTk suite consists of a core ibrary and a set of applications. The
+library provides a wide array of functions that solve processing problems
+associated with GPS such as processing or using RINEX. The library is the
+basis for the more advanced applications distributed as part of the GPSTk
+suite.
+
+The GPSTk is sponsored by Space and Geophysics Laboratory, within the Applied
+Research Laboratories at the University of Texas at Austin (ARL:UT). GPSTk is
+the by-product of GPS research conducted at ARL:UT since before the first
+satellite launched in 1978; it is the combined effort of many software
+engineers and scientists. In 2003 the research staff at ARL:UT decided to
+open source much of their basic GPS processing software as the GPSTk.
+
+
+GPSTk Library
+-------------
+
+The GPSTk library provides a number of models and algorithms found in GPS
+textbooks and classic papers, such as solving for the user position, or
+estimating atmospheric refraction. Common formats are supported as well, such
+as RINEX or SP-3. There are several categories of functions in the GPSTk
+library:
+
+ 1. GPS time. Conversion among time representations such as MJD, GPS week
+ and seconds of week, and many others.
+
+ 2. Ephemeris calculations. Position and clock interpolation for both
+ broadcast and precise ephemerides.
+
+ 3. Atmospheric delay models. Includes ionosphere and troposphere models.
+
+ 4. Position solution. Includes an implementation of a Receiver Autonomous
+ Integrity Monitoring algorithm.
+
+ 5. Mathematics. Includes Matrix and Vector implementations, as well as
+ interpolation and numerical integration.
+
+ 6. Application framework. Includes processing command lines options,
+ providing interactive help and working with file systems.
+
+A more detailed description of the functionality provided by the GPSTk library can be found in the Doxygen documentation.
+
+
+GPSTk Applications
+------------------
+
+The library is the foundation for applications within the GPSTk suite. Many
+such applications are utilities necessary for advanced research and
+development. For example the GPSTk utility DiscFix fixes cycle slips. Some
+applications implement algorithms described in research papers. The TECMap
+application is an example of an application that creates models of the
+ionosphere, based on models published by a number of researchers. To date
+GPSTk applications fall into the following categories.
+
+ 1. Ionosphere modeling. TEC calculation, receiver bias estimation.
+
+ 2. Residual analysis. Computation of pseudorange observations residuals,
+ and comparison between the precise and broadcast ephemerides.
+
+ 3. RINEX file manipulation. Differencing, mergins and clipping RINEX files.
+
+ 4. Interactive analysis. Bindings to Octave, an open source alternative to
+ MATLAB.
+
+
+License
+-------
+
+The source code provided by the GPSTk is distributed under the GNU LGPL.
+This license gives all users the right to use and redistribute the code.
+Users of the GPSTk are not required to open their source, according to the
+LGPL. This makes the GPSTk a practical choice for commercial projects.
\ No newline at end of file
diff --git a/trunk/apps/Jamfile b/trunk/apps/Jamfile
new file mode 100644
index 0000000..b4383c2
--- /dev/null
+++ b/trunk/apps/Jamfile
@@ -0,0 +1,21 @@
+#
+# $Id: //depot/sgl/gpstk/dev/apps/Jamfile#11 $
+#
+
+SubDir TOP apps ;
+
+SubInclude TOP apps checktools ;
+SubInclude TOP apps converters ;
+SubInclude TOP apps cycleslips ;
+SubInclude TOP apps differential ;
+SubInclude TOP apps difftools ;
+SubInclude TOP apps filetools ;
+SubInclude TOP apps ionosphere ;
+SubInclude TOP apps mergetools ;
+#Need to make this not require everything else to have curses
+#SubInclude TOP apps MDPtools ;
+SubInclude TOP apps positioning ;
+SubInclude TOP apps reszilla ;
+SubInclude TOP apps Rinextools ;
+SubInclude TOP apps time ;
+SubInclude TOP apps visibility ;
diff --git a/trunk/apps/MDPtools/DataStatus.hpp b/trunk/apps/MDPtools/DataStatus.hpp
new file mode 100644
index 0000000..8529ff2
--- /dev/null
+++ b/trunk/apps/MDPtools/DataStatus.hpp
@@ -0,0 +1,85 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/DataStatus.hpp#3 $"
+
+/**
+ * @file DataStatus.hpp
+ * gpstk::DataStatus - This class is intended to provide an interface
+ similiar to the iostream status bits (good, eof, bad, & fail) for
+ the data. This is to support 'soft' errors such as a format or crc error.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef DATASTATUS_HPP
+#define DATASTATUS_HPP
+
+#include <iostream>
+
+namespace gpstk
+{
+ class DataStatus
+ {
+ std::ios_base::iostate state;
+
+ public:
+
+ DataStatus() : state(std::ios_base::goodbit) {};
+
+ /// Note that the goodbit isn't really a bit, it is just the lack
+ /// of any bits being set.
+ bool good() const
+ {return rdstate() == std::ios_base::goodbit;}
+
+ std::ios_base::iostate rdstate() const
+ {return state;}
+
+ void clear(std::ios_base::iostate s = std::ios_base::goodbit)
+ {state=s;}
+
+ void setstate(std::ios_base::iostate s)
+ {clear(rdstate() | s);}
+
+ void clearstate(std::ios_base::iostate s)
+ {state &= ~s;}
+
+ bool operator()() const
+ {return good();}
+
+ operator void*() const
+ {return good() ? const_cast<DataStatus*>(this) : 0;}
+ };
+
+ /// Define additional/other bits are the data requires
+ static const std::ios_base::iostate crcbit = std::ios_base::iostate(0x01);
+ static const std::ios_base::iostate fmtbit = std::ios_base::iostate(0x02);
+ static const std::ios_base::iostate lenbit = std::ios_base::iostate(0x04);
+
+ class CRCDataStatus : public DataStatus
+ {
+ public:
+ bool crcerr() const {return (rdstate() & crcbit) != 0;}
+ bool fmterr() const {return (rdstate() & fmtbit) != 0;}
+ bool lenerr() const {return (rdstate() & lenbit) != 0;}
+ };
+} // namespace gpstk
+
+#endif // DATASTATUS_HPP
diff --git a/trunk/apps/MDPtools/FormatConversionFunctions.cpp b/trunk/apps/MDPtools/FormatConversionFunctions.cpp
new file mode 100644
index 0000000..d1e5522
--- /dev/null
+++ b/trunk/apps/MDPtools/FormatConversionFunctions.cpp
@@ -0,0 +1,234 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/FormatConversionFunctions.cpp#7 $"
+
+/** @file Translates between various similiar objects */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "StringUtils.hpp"
+
+#include "FormatConversionFunctions.hpp"
+
+using namespace std;
+
+namespace gpstk
+{
+ short snr2ssi(float x)
+ {
+ // These values were obtained from the comments in a RINEX obs file that was
+ // generated from a TurboBinary file recorded on an AOA Benchmark receiver
+ if (x>316) return 9;
+ if (x>100) return 8;
+ if (x>31.6) return 7;
+ if (x>10) return 6;
+ if (x>3.2) return 5;
+ if (x>0) return 4;
+ return 0;
+ }
+
+ void makeRinexObsData(
+ gpstk::RinexObsHeader& roh,
+ gpstk::RinexObsData& rod,
+ const gpstk::MDPEpoch& mdp)
+ {
+ rod.obs.clear();
+ rod.clockOffset=0;
+ rod.numSvs = mdp.size();
+ rod.epochFlag = 0;
+ rod.time = mdp.begin()->second.time;
+ for (MDPEpoch::const_iterator i=mdp.begin(); i!=mdp.end(); i++)
+ {
+ const MDPObsEpoch& moe = i->second;
+ MDPObsEpoch::ObsMap ol=moe.obs;
+ gpstk::RinexObsData::RinexObsTypeMap rotm;
+ gpstk::RinexPrn prn(moe.prn, gpstk::systemGPS);
+ MDPObsEpoch::ObsMap::const_iterator j;
+
+ // The C1 Rinex obs is easy
+ j = ol.find(MDPObsEpoch::ObsKey(ccL1,rcCA));
+ if (j!=ol.end())
+ {
+ rotm[gpstk::RinexObsHeader::C1].data = j->second.pseudorange;
+ rotm[gpstk::RinexObsHeader::C1].lli = j->second.lockCount ? 1 : 0;
+ rotm[gpstk::RinexObsHeader::C1].ssi = snr2ssi(j->second.snr);
+ rotm[gpstk::RinexObsHeader::L1].data = j->second.phase;
+ rotm[gpstk::RinexObsHeader::D1].data = j->second.doppler;
+ }
+
+ // Now get the P1, L1, D1, S1 obs
+ j = ol.find(MDPObsEpoch::ObsKey(ccL1, rcYcode));
+ if (j == ol.end())
+ j = ol.find(MDPObsEpoch::ObsKey(ccL1, rcPcode));
+ if (j == ol.end())
+ j = ol.find(MDPObsEpoch::ObsKey(ccL1, rcCodeless));
+ if (j != ol.end())
+ {
+ rotm[gpstk::RinexObsHeader::P1].data = j->second.pseudorange;
+ rotm[gpstk::RinexObsHeader::L1].data = j->second.phase;
+ rotm[gpstk::RinexObsHeader::D1].data = j->second.doppler;
+
+ rotm[gpstk::RinexObsHeader::P1].lli = j->second.lockCount ? 1 : 0;
+ rotm[gpstk::RinexObsHeader::P1].ssi = snr2ssi(j->second.snr);
+
+ rotm[gpstk::RinexObsHeader::L1].lli = j->second.lockCount ? 1 : 0;
+ rotm[gpstk::RinexObsHeader::L1].ssi = snr2ssi(j->second.snr);
+
+ rotm[gpstk::RinexObsHeader::D1].lli = j->second.lockCount ? 1 : 0;
+ rotm[gpstk::RinexObsHeader::D1].ssi = snr2ssi(j->second.snr);
+ }
+
+ // Now get the P2, L2, D2, S2 obs
+ j = ol.find(MDPObsEpoch::ObsKey(ccL2, rcYcode));
+ if (j == ol.end())
+ j = ol.find(MDPObsEpoch::ObsKey(ccL2, rcPcode));
+ if (j == ol.end())
+ j = ol.find(MDPObsEpoch::ObsKey(ccL2, rcCodeless));
+ if (j != ol.end())
+ {
+ rotm[gpstk::RinexObsHeader::P2].data = j->second.pseudorange;
+ rotm[gpstk::RinexObsHeader::L2].data = j->second.phase;
+ rotm[gpstk::RinexObsHeader::D2].data = j->second.doppler;
+
+ rotm[gpstk::RinexObsHeader::P2].lli = j->second.lockCount ? 0 : 1;
+ rotm[gpstk::RinexObsHeader::P2].ssi = snr2ssi(j->second.snr);
+
+ rotm[gpstk::RinexObsHeader::L2].lli = j->second.lockCount ? 0 : 1;
+ rotm[gpstk::RinexObsHeader::L2].ssi = snr2ssi(j->second.snr);
+
+ rotm[gpstk::RinexObsHeader::D2].lli = j->second.lockCount ? 0 : 1;
+ rotm[gpstk::RinexObsHeader::D2].ssi = snr2ssi(j->second.snr);
+ }
+
+ // Now get the C2
+ j = ol.find(MDPObsEpoch::ObsKey(ccL2, rcCM));
+ if (j == ol.end())
+ j = ol.find(MDPObsEpoch::ObsKey(ccL2, rcCL));
+ if (j == ol.end())
+ j = ol.find(MDPObsEpoch::ObsKey(ccL2, rcCMCL));
+ if (j != ol.end())
+ {
+ rotm[gpstk::RinexObsHeader::C2].data = j->second.pseudorange;
+ rotm[gpstk::RinexObsHeader::C2].lli = j->second.lockCount ? 0 : 1;
+ rotm[gpstk::RinexObsHeader::C2].ssi = snr2ssi(j->second.snr);
+ }
+
+ rod.obs[prn] = rotm;
+ }
+ }
+
+ // Try to convert the given pages into an EngAlmanc object. Returns true
+ // upon success. This algorithm will only work for a receiver that outputs
+ // all 4/5 subframes from a code/carrier. Basically it looks for a 12.5 minute
+ // cycle that starts with page 1 from subframe 4.
+ // It makes sure that there hasn't been a cutover during it by checking that
+ // all sv pages (i.e. svid 1-32) have the same toa as the last page 25
+ // (svid 51).
+ // In the IS-GPS-200D, see pages 72-79, 82, 105
+ bool makeEngAlmanac(EngAlmanac& alm, const AlmanacPages& pages)
+ {
+ if (pages.size()!=50)
+ return false;
+
+ AlmanacPages::const_iterator i, firstPage, lastPage;
+ firstPage = pages.find(SubframePage(4, 1));
+ lastPage = pages.find(SubframePage(5,25));
+ long dt = lastPage->second.getHOWTime() - firstPage->second.getHOWTime();
+
+ // 25 pairs of pages every 30 seconds = 750 seconds minus the 24 seconds
+ // that the three ephemeris pages take gives us 726 seconds
+ if (dt != 726)
+ return false;
+
+ int week = firstPage->second.time.GPSfullweek();
+ long sfa[10];
+ long long_sfa[10];
+ for (i = pages.begin(); i != pages.end(); i++)
+ {
+ i->second.fillArray(sfa);
+ for( long j = 0; j < 10; j++ )
+ long_sfa[j] = static_cast<long>( sfa[j] );
+ if (!alm.addSubframe(long_sfa, week))
+ return false;
+ }
+ cout << endl;
+
+ double p51Toa=alm.getToa();
+ double svToa;
+ for (int prn=1; prn<=32; prn++)
+ {
+ try {
+ svToa = alm.getToa(prn);
+ if (svToa != p51Toa)
+ return false;
+ }
+ catch (EngAlmanac::SVNotPresentException& e)
+ {}
+ }
+
+ return true;
+ }
+
+ // Try to convert the given pages into an EngEphemeris object. Returns true
+ // upon success.
+ bool makeEngEphemeris(EngEphemeris& eph, const EphemerisPages& pages)
+ {
+ EphemerisPages::const_iterator sf[4];
+
+ sf[1] = pages.find(1);
+ if (sf[1] == pages.end())
+ return false;
+
+ sf[2] = pages.find(2);
+ if (sf[2] == pages.end())
+ return false;
+
+ sf[3] = pages.find(3);
+ if (sf[3] == pages.end())
+ return false;
+
+ long t1 = sf[1]->second.getHOWTime();
+ long t2 = sf[2]->second.getHOWTime();
+ long t3 = sf[3]->second.getHOWTime();
+ if (t2 != t1+6 || t3 != t1+12)
+ return false;
+
+ int prn = sf[1]->second.prn;
+ int week = sf[1]->second.time.GPSfullweek();
+ long sfa[10];
+ long long_sfa[10];
+
+ for (int i=1; i<=3; i++)
+ {
+ sf[i]->second.fillArray(sfa);
+ for( int j = 0; j < 10; j++ )
+ long_sfa[j] = static_cast<long>( sfa[j] );
+ if (!eph.addSubframe(long_sfa, week, prn, 0))
+ return false;
+ }
+
+ if (eph.isData(1) && eph.isData(2) && eph.isData(3))
+ return true;
+
+ return false;
+ }
+
+} // end of namespace gpstk
diff --git a/trunk/apps/MDPtools/FormatConversionFunctions.hpp b/trunk/apps/MDPtools/FormatConversionFunctions.hpp
new file mode 100644
index 0000000..9daa8a4
--- /dev/null
+++ b/trunk/apps/MDPtools/FormatConversionFunctions.hpp
@@ -0,0 +1,60 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/FormatConversionFunctions.hpp#2 $"
+
+/** @file Translates between various similiar objects */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef FORMATCONVERSIONFUNCTIONS_HPP
+#define FORMATCONVERSIONFUNCTIONS_HPP
+
+#include "RinexObsData.hpp"
+#include "RinexNavData.hpp"
+
+#include "EngAlmanac.hpp"
+
+#include "MDPNavSubframe.hpp"
+#include "MDPObsEpoch.hpp"
+
+namespace gpstk
+{
+ // A translation from SNR in dB-Hz to the rinex signal strength indicator
+ // values were taken from a header written by teqc
+ short snr2ssi(float x);
+
+ // generates a single epoch of rinex obs data from mdp data.
+ // Updates the rinex obs header as appropriate
+ void makeRinexObsData(RinexObsHeader& roh, RinexObsData& rod,
+ const MDPEpoch& mdp);
+
+ // Try to convert the given pages into an EngAlmanc object. Returns true
+ // upon success.
+ bool makeEngAlmanac(EngAlmanac& alm,
+ const AlmanacPages& pages);
+
+ // Try to convert the given pages into an EngEphemeris object. Returns true
+ // upon success.
+ bool makeEngEphemeris(EngEphemeris& eph,
+ const EphemerisPages& pages);
+}
+
+#endif
diff --git a/trunk/apps/MDPtools/Jamfile b/trunk/apps/MDPtools/Jamfile
new file mode 100644
index 0000000..fc265ea
--- /dev/null
+++ b/trunk/apps/MDPtools/Jamfile
@@ -0,0 +1,30 @@
+# $Id: //depot/sgl/gpstk/dev/apps/MDPtools/Jamfile#12 $
+
+SubDir TOP apps MDPtools ;
+
+# It seems that if I explicity add the src directory, things are much happier.
+SEARCH_SOURCE += $(TOP)/src ;
+
+LINKLIBS += -lncurses ;
+
+if ( $(C++) = CC ) && ( $(OS) = SOLARIS )
+{
+ CCFLAGS += -Xc ;
+ C++FLAGS += -compat=5 ;
+}
+
+Library mdplib : MDPHeader.cpp MDPPVTSolution.cpp MDPNavSubframe.cpp
+ MDPObsEpoch.cpp MDPSelftestStatus.cpp FormatConversionFunctions.cpp
+ TCPStream.cpp
+ ScreenProc.cpp MDPProcessors.cpp SummaryProc.cpp TrackProc.cpp NavProc.cpp
+ ;
+
+LinkLibraries mdptool mdp2rinex tcptest : mdplib ;
+
+GPSLinkLibraries mdptool mdp2rinex tcptest : gpstk ;
+
+GPSMain mdptool : mdptool.cpp ;
+
+GPSMain mdp2rinex : mdp2rinex.cpp ;
+
+GPSMain tcptest : tcptest.cpp ;
diff --git a/trunk/apps/MDPtools/MDPHeader.cpp b/trunk/apps/MDPtools/MDPHeader.cpp
new file mode 100644
index 0000000..52c5e12
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPHeader.cpp
@@ -0,0 +1,350 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPHeader.cpp#12 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <StringUtils.hpp>
+#include <BinUtils.hpp>
+
+#include "MDPHeader.hpp"
+#include "MDPStream.hpp"
+
+using namespace std;
+
+using gpstk::BinUtils::computeCRC;
+using gpstk::StringUtils::asString;
+using gpstk::StringUtils::d2x;
+using gpstk::StringUtils::int2x;
+using gpstk::BinUtils::netToHost;
+using gpstk::BinUtils::hostToNet;
+using gpstk::BinUtils::encodeVar;
+using gpstk::BinUtils::decodeVar;
+
+
+namespace gpstk
+{
+ // Set to zero for no debugging output
+ // set to 1 to output text messages about decode/format/range errors
+ // set to 2 to add a hex dump of those messages
+ // set to 3+ to add the tossed bytes whether or not they are bad
+ int MDPHeader::debugLevel = 0;
+
+ // set true to print a hex dump of every message to cout
+ bool MDPHeader::hexDump = false;
+
+ //---------------------------------------------------------------------------
+ string MDPHeader::encode() const
+ throw()
+ {
+ short week=time.GPSfullweek();
+ unsigned long sow100=static_cast<unsigned long>(
+ 0.5 + time.GPSsecond() * 100);
+ if (sow100==60480000)
+ {
+ sow100=0;
+ week++;
+ }
+
+ string str;
+ str += encodeVar<uint16_t>(frameWord);
+ str += encodeVar<uint16_t>(id);
+ str += encodeVar<uint16_t>(length);
+ str += encodeVar<uint16_t>(week);
+ str += encodeVar<uint32_t>(sow100);
+ str += encodeVar<uint16_t>(freshnessCount);
+ str += encodeVar<uint16_t>(0); // placeholder for the CRC
+
+ // No, the CRC is not computed here. That needs to be done after
+ // the body of the message has been encoded.
+ return str;
+ }
+
+
+ //---------------------------------------------------------------------------
+ void MDPHeader::decode(string str)
+ throw()
+ {
+ if (str.length() != myLength)
+ return;
+
+ clearstate(lenbit);
+
+ unsigned short fw = decodeVar<uint16_t>(str);
+ id = decodeVar<uint16_t>(str);
+ length = decodeVar<uint16_t>(str);
+ unsigned short week = decodeVar<uint16_t>(str);
+ unsigned long sow100 = decodeVar<uint32_t>(str);
+ freshnessCount = decodeVar<uint16_t>(str);
+ crc = decodeVar<uint16_t>(str);
+
+ if (fw != frameWord)
+ return;
+
+ const unsigned long MaxSOW=604800;
+ if (sow100 == MaxSOW*100)
+ {
+ week += 1;
+ sow100 = 0;
+ }
+ if (sow100 > MaxSOW*100 || week>5000)
+ return;
+
+ time.setGPSfullweek(week, double(sow100)/100);
+
+ // only clear the these bits if this object isn't a leaf data member
+ if (id==0)
+ clearstate(fmtbit & crcbit);
+ }
+
+
+ //---------------------------------------------------------------------------
+ // Compute and set the CRC in an encoded representation of this
+ // object
+ void MDPHeader::setCRC(string& str) const
+ throw()
+ {
+ // Here we make sure that the length of the string matches
+ // the length in the header.
+ if(str.length() != length)
+ {
+ FFStreamError e("Message Length should be >= " +
+ asString(length) + ". Was: " +
+ asString(str.length()));
+ GPSTK_THROW(e);
+ }
+
+ // clear out the spot for the crc
+ str.replace(14, 2, 2, (char)0);
+
+ // calculate the crc on the string
+ unsigned short lcrc = computeCRC((const unsigned char*)str.c_str(),
+ length, gpstk::BinUtils::CRCCCITT);
+
+ // and place that value in the string
+ unsigned short tmp=lcrc;
+ hostToNet(tmp);
+ str.replace(14, 2, (char*)&tmp, 2);
+ } // MDPHeader::encode()
+
+
+ //---------------------------------------------------------------------------
+ // Compute the CRC of the string and set the crcbit appropriately.
+ void MDPHeader::checkCRC(string str)
+ throw()
+ {
+ // zero the CRC in the incoming string
+ str.replace(14, 2, 2, (char)0);
+
+ unsigned short ccrc1 = computeCRC((const unsigned char*)str.c_str(),
+ length, gpstk::BinUtils::CRCCCITT);
+ if (ccrc1 == crc)
+ {
+ clearstate(crcbit);
+ return;
+ }
+
+ // This crc will also be accepted until such time as it is no longer needed
+ uint16_t ccrc2 = computeCRC((const unsigned char*)str.c_str(),
+ length, gpstk::BinUtils::CRC16);
+ if (ccrc2 == crc)
+ {
+ clearstate(crcbit);
+ return;
+ }
+
+ if (debugLevel)
+ cout << "Bad CRC. Received " << hex << crc
+ << " computed " << ccrc1
+ << " and " << ccrc2
+ << ". Message ID=" << dec << id << endl;
+
+ } // MDPHeader::checkCRC()
+
+
+ //---------------------------------------------------------------------------
+ void MDPHeader::reallyPutRecord(FFStream& ffs) const
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError)
+ {
+ if (typeid(*this) == typeid(MDPHeader))
+ {
+ gpstk::FFStreamError e("Directly writing an MDPHeader object to an"
+ " FFStream is not supported.");
+ GPSTK_THROW(e);
+ }
+
+ MDPStream& stream = dynamic_cast<MDPStream&>(ffs);
+
+ string body = encode();
+ length = body.length() + MDPHeader::myLength;
+
+ string str = MDPHeader::encode() + body;
+ setCRC(str);
+
+ stream << str;
+
+ if (hexDump)
+ {
+ cout << endl;
+ StringUtils::hexDumpData(cout, str);
+ }
+ } // MDPHeader::reallyPutRecord()
+
+
+ //---------------------------------------------------------------------------
+ void MDPHeader::reallyGetRecord(FFStream& ffs)
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError)
+ {
+ // Note that this will generate a bad_cast exception if it don't work.
+ MDPStream& stream=dynamic_cast<MDPStream&>(ffs);
+
+ gpstk::FFStreamError e("MDP read() returned to few bytes.");
+
+ // first, make sure the data is flagged bad.
+ clear(fmtbit | lenbit | crcbit);
+
+ if (typeid(*this) == typeid(MDPHeader))
+ {
+ // first reset the data status
+ setstate(fmtbit | lenbit);
+
+ // If a header has been read in but the corresponding body hasn't been
+ // read, read and toss the body
+ if (stream.streamState == MDPStream::gotHeader)
+ {
+ unsigned bodyLen = length-myLength;
+ char *trash = new char[bodyLen];
+ stream.read(trash, bodyLen);
+ string body(trash, stream.gcount());
+ delete trash;
+
+ if (stream.gcount() != bodyLen)
+ GPSTK_THROW(e);
+
+ stream.streamState = MDPStream::gotBody;
+ if (hexDump || debugLevel>2)
+ {
+ cout << "Tossing Record Number:" << stream.recordNumber << endl;
+ StringUtils::hexDumpData(cout, stream.rawHeader+body);
+ }
+ }
+
+ char buff[myLength];
+ if (stream.streamState == MDPStream::outOfSync ||
+ stream.streamState == MDPStream::gotBody)
+ {
+ uint16_t fw;
+ while (stream)
+ {
+ stream.read(buff, sizeof(fw));
+ memcpy(&fw, buff, sizeof(fw));
+ fw = netToHost(fw);
+ if (stream.gcount() != 2)
+ GPSTK_THROW(e);
+ if (fw==frameWord)
+ break;
+ }
+ if (stream)
+ {
+ // then read in the rest of a header
+ stream.read(buff+2, myLength-2);
+ if (stream.gcount() != myLength-2)
+ {
+ GPSTK_THROW(e);
+ }
+ else
+ {
+ stream.rawHeader = string(buff, myLength);
+ stream.streamState = MDPStream::outOfSync;
+ decode(stream.rawHeader);
+ stream.streamState = MDPStream::gotHeader;
+ stream.header = *this;
+ }
+ }
+ }
+ }
+ else
+ {
+ // This object is not a header
+ // Before reading this body in, we need to make sure that
+ // we have received a header with the right message ID
+ while (stream.header.id != id && stream)
+ MDPHeader::reallyGetRecord(stream);
+
+ // Now get the header values from the most recently
+ // read header
+ MDPHeader& myHeader = dynamic_cast<MDPHeader&>(*this);
+ myHeader = stream.header;
+ const unsigned myLen = length - MDPHeader::myLength;
+
+ // Read in the body of the message
+ char *buff = new char[myLen];
+ stream.read(buff, myLen);
+ string me(buff, stream.gcount());
+ delete buff;
+
+ if (stream.gcount() != myLen)
+ GPSTK_THROW(e);
+ stream.streamState = MDPStream::gotBody;
+
+ setstate(crcbit);
+ checkCRC(stream.rawHeader+me);
+
+ decode(me);
+
+ if (debugLevel && rdstate())
+ MDPHeader::dump(cout);
+
+ if (hexDump || (debugLevel>1 && rdstate()))
+ {
+ cout << "Record Number:" << stream.recordNumber << endl;
+ StringUtils::hexDumpData(cout, stream.rawHeader+me);
+ }
+ }
+ } // MDPHeader::reallyGetRecord()
+
+
+ //---------------------------------------------------------------------------
+ void MDPHeader::dump(ostream& out) const
+ throw()
+ {
+ ostringstream oss;
+ oss << getName() << " :"
+ << " ID:" << id
+ << " Len:" << length
+ << " Time:" << time.printf("%4Y/%03j/%02H:%02M:%05.2f")
+ << " FC:" << hex << setfill('0') << setw(4) << freshnessCount
+ << " crc:" << setw(4) << crc
+ << " rdstate:" << rdstate();
+
+ if (rdstate() & crcbit)
+ oss << "-crc";
+ if (rdstate() & fmtbit)
+ oss << "-fmt";
+ if (rdstate() & lenbit)
+ oss << "-len";
+
+ out << oss.str() << endl;
+ } // MDPHeader::dump()
+
+} // namespace gpstk
diff --git a/trunk/apps/MDPtools/MDPHeader.hpp b/trunk/apps/MDPtools/MDPHeader.hpp
new file mode 100644
index 0000000..e4ddda4
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPHeader.hpp
@@ -0,0 +1,118 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPHeader.hpp#9 $"
+
+/**
+ * @file MDPHeader.hpp
+ * gpstk::MDPHeader - base cass for MDP formatted data. Includes the MDP header.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef MDPHEADER_HPP
+#define MDPHEADER_HPP
+
+#include <map>
+#include <iostream>
+
+#include <Exception.hpp>
+#include <DayTime.hpp>
+#include <StringUtils.hpp>
+#include <BinUtils.hpp>
+
+#include <FFData.hpp>
+#include <FFStream.hpp>
+#include <DataStatus.hpp>
+
+#include <RinexObsData.hpp>
+
+#ifndef __SUNPRO_CC
+#include <stdint.h>
+#endif
+
+namespace gpstk
+{
+ /// This class contains header information for all data types
+ /// transmitted by the MSN SAASM Receiver.
+ class MDPHeader : public FFData, public CRCDataStatus
+ {
+ public:
+ MDPHeader() throw() : id(0) {}
+
+ // Returns whether or not this MDPData is valid.
+ bool isValid() const {return good();}
+
+ //! This class is "data" so this function always returns "true".
+ virtual bool isData() const {return true;}
+
+ /** Encode this object to a string.
+ * @return this object as a string.
+ */
+ virtual std::string encode() const throw();
+
+ /** Decode this object from a string.
+ * @param str the string to read from.
+ * @note Decoded data is *NOT* removed from the string.
+ */
+ virtual void decode(std::string str) throw();
+
+ /// Simple accessors for various static thangs.
+ virtual std::string getName() const {return "hdr";}
+
+ /** Dump some debugging information to the given ostream.
+ * @param out the ostream to write to
+ */
+ void dump(std::ostream& out) const throw();
+
+ /// Compute the CRC over the string and set the CRC in that
+ /// string and in the header.
+ void setCRC(std::string& str) const throw();
+
+ /// Checks the crc of the message and set crc_err if it fails.
+ void checkCRC(std::string str) throw();
+
+ unsigned short id; ///< Identifies this data's type.
+ gpstk::DayTime time; ///< The time associated with this message
+ unsigned short freshnessCount; ///< A message counter
+
+ // These items need to be mutable so they can be set when an object
+ // is sent to a stream.
+ mutable unsigned short length; ///< number of bytes in this message (includes the length of the header)
+ mutable unsigned short crc; ///< the 16 bit CCITT crc covering the header and body of the message
+
+ static const unsigned myLength = 16;
+ static const unsigned frameWord = 0x9c9c;
+ static int debugLevel;
+ static bool hexDump;
+
+ protected:
+ virtual void reallyPutRecord(FFStream& s) const
+ throw(std::exception, StringUtils::StringException,
+ FFStreamError);
+
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, gpstk::StringUtils::StringException,
+ FFStreamError);
+ }; // class MDPHeader
+
+} // namespace gpstk
+
+#endif // MDPHEADER_HPP
diff --git a/trunk/apps/MDPtools/MDPNavSubframe.cpp b/trunk/apps/MDPtools/MDPNavSubframe.cpp
new file mode 100644
index 0000000..160f3a3
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPNavSubframe.cpp
@@ -0,0 +1,136 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPNavSubframe.cpp#9 $"
+
+#include <sstream>
+#include <BinUtils.hpp>
+#include <StringUtils.hpp>
+#include <gps_constants.hpp>
+
+#include "miscenum.hpp"
+#include "MDPNavSubframe.hpp"
+#include "MDPStream.hpp"
+
+using gpstk::StringUtils::asString;
+using gpstk::BinUtils::netToHost;
+using gpstk::BinUtils::hostToNet;
+using gpstk::BinUtils::encodeVar;
+using gpstk::BinUtils::decodeVar;
+using namespace std;
+
+namespace gpstk
+{
+ //---------------------------------------------------------------------------
+ MDPNavSubframe::MDPNavSubframe()
+ throw()
+ : subframe(11)
+ {
+ id = myId;
+ }
+
+
+ //---------------------------------------------------------------------------
+ string MDPNavSubframe::encode() const
+ throw()
+ {
+ string str;
+ str += encodeVar<int8_t>(prn);
+ str += encodeVar<int8_t>(carrier);
+ str += encodeVar<int8_t>(range);
+ str += encodeVar<int8_t>(nav);
+
+ for(int i=1; i<11; i++)
+ str += encodeVar<uint32_t>(subframe[i]);
+
+ return str;
+ } // MDPNavSubframe::encode()
+
+
+ //---------------------------------------------------------------------------
+ void MDPNavSubframe::decode(string str)
+ throw()
+ {
+ if (str.length() != myLength)
+ return;
+
+ clearstate(lenbit);
+
+ prn = static_cast<int> (decodeVar<int8_t>(str));
+ carrier = static_cast<CarrierCode>(decodeVar<int8_t>(str));
+ range = static_cast<RangeCode> (decodeVar<int8_t>(str));
+ nav = static_cast<NavCode> (decodeVar<int8_t>(str));
+
+ for (int i=1; i<11; i++)
+ subframe[i] = decodeVar<uint32_t>(str);
+
+ if (prn > gpstk::MAX_PRN ||
+ carrier >= ccMax ||
+ range >= rcMax ||
+ nav >= ncMax)
+ return;
+
+ clearstate(fmtbit);
+ } // MDPNavSubframe::decode()
+
+
+ //---------------------------------------------------------------------------
+ // This cracks the sow from the handover word
+ unsigned long MDPNavSubframe::getHOWTime() const throw()
+ {
+ uint32_t itemp,iret;
+ itemp = subframe[2];
+ itemp >>= 13;
+ itemp &= 0x0001FFFFL;
+ iret = itemp;
+ iret = iret * 6;
+
+ return iret;
+ }
+
+ //---------------------------------------------------------------------------
+ // This cracks the subframe ID from the handover word
+ unsigned int MDPNavSubframe::getSFID() const throw()
+ {
+ uint32_t itemp;
+ short iret;
+ itemp = subframe[2];
+ itemp >>= 8;
+ itemp &= 0x00000007L;
+ iret = ( short) itemp;
+ return iret;
+ }
+
+ //---------------------------------------------------------------------------
+ // This cracks the SV (page) ID from an almanac subframe
+ unsigned int MDPNavSubframe::getSVID() const throw()
+ {
+ if (getSFID() <4)
+ return 0;
+ else
+ return (subframe[3] >> 22) & 0x3F;
+ }
+
+ //---------------------------------------------------------------------------
+ void MDPNavSubframe::dump(ostream& out) const
+ throw()
+ {
+ ostringstream oss;
+ MDPHeader::dump(oss);
+ oss << getName() << 0 <<":"
+ << " PRN:" << prn
+ << " CC:" << static_cast<int>(carrier)
+ << " RC:" << static_cast<int>(range)
+ << " NC:" << static_cast<int>(nav)
+ << endl;
+
+ oss << setfill('0') << hex;
+ for(int i = 1; i < subframe.size(); i++)
+ {
+ if ((i % 5) == 1)
+ oss << getName() << i <<": ";
+ oss << setw(8) << uppercase << subframe[i] << " ";
+ if ((i % 5) == 0)
+ oss << endl;
+ }
+ out << oss.str() << flush;
+ }
+
+} // namespace gpstk
diff --git a/trunk/apps/MDPtools/MDPNavSubframe.hpp b/trunk/apps/MDPtools/MDPNavSubframe.hpp
new file mode 100644
index 0000000..d4bf248
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPNavSubframe.hpp
@@ -0,0 +1,76 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPNavSubframe.hpp#8 $"
+
+#ifndef MDPNAVSUBFRAME_HPP
+#define MDPNAVSUBFRAME_HPP
+
+#include <vector>
+#include "miscenum.hpp"
+#include "MDPHeader.hpp"
+
+namespace gpstk
+{
+ /// This class represents a Navigation Subframe Message.
+ class MDPNavSubframe : public MDPHeader
+ {
+ public:
+ MDPNavSubframe() throw();
+
+ /** Encode this object to a string.
+ * @return this object as a string.
+ */
+ virtual std::string encode() const throw();
+
+ /** Decode this object from a string.
+ * @param str the string to read from.
+ * @note This is a non-destructive decode.
+ */
+ virtual void decode(std::string str)
+ throw();
+
+ // Return the seconds of week computed from the HOW
+ unsigned long getHOWTime() const throw();
+
+ // extract the SFID from the HOW
+ unsigned int getSFID() const throw();
+
+ // extract the SVID from word 3 of an almanac page
+ unsigned int getSVID() const throw();
+
+ void fillArray(long out[10]) const
+ { for(int i=1; i<=10; i++) out[i-1]=subframe[i];};
+
+ virtual std::string getName() const {return "nav";}
+
+ /** Dump some debugging information to the given ostream.
+ * @param out the ostream to write to (default: cout)
+ * @param level the level of debugging to provide (default: 0)
+ */
+ void dump(std::ostream& out) const throw();
+
+ int prn; ///< The SV's PRN.
+ CarrierCode carrier; ///< This NavSubframe's carrier frequency code.
+ RangeCode range; ///< This NavSubframe's range code.
+ NavCode nav; ///< This NavSubframe's nav code.
+
+ /** The Navigation Subframe. 10 4-byte words. There are 11
+ * elements to facilitate access to elements 1-10. */
+ std::vector<uint32_t> subframe;
+
+ static const unsigned myLength = 44;
+ static const unsigned myId = 310;
+
+ }; // class MDPNavSubframe
+
+ // These used to group together a set of nav subframes, indexed by the
+ // subframe number. It is used in building up a complete a complete
+ // ephemeris from an SV.
+ typedef std::map<short, MDPNavSubframe> EphemerisPages;
+
+ // First element is the page number, as determined from the HOW TOW
+ // i.e. page = tow % 750
+ typedef std::pair<short, short> SubframePage;
+ typedef std::map<SubframePage, MDPNavSubframe> AlmanacPages;
+
+} // namespace gpstk
+
+#endif // MDPNAVSUBFRAME_HPP
diff --git a/trunk/apps/MDPtools/MDPObsEpoch.cpp b/trunk/apps/MDPtools/MDPObsEpoch.cpp
new file mode 100644
index 0000000..feb8f16
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPObsEpoch.cpp
@@ -0,0 +1,219 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPObsEpoch.cpp#7 $"
+
+#include <sstream>
+#include <StringUtils.hpp>
+#include <StringUtils.hpp>
+#include <BinUtils.hpp>
+#include <gps_constants.hpp>
+
+#include "MDPObsEpoch.hpp"
+#include "MDPStream.hpp"
+
+using gpstk::StringUtils::asString;
+using gpstk::BinUtils::hostToNet;
+using gpstk::BinUtils::netToHost;
+using gpstk::BinUtils::encodeVar;
+using gpstk::BinUtils::decodeVar;
+using namespace std;
+
+namespace gpstk
+{
+ //---------------------------------------------------------------------------
+ MDPObsEpoch::MDPObsEpoch()
+ throw()
+ {
+ id = myId;
+ } // MDPObsEpoch::MDPObsEpoch()
+
+
+ //---------------------------------------------------------------------------
+ string MDPObsEpoch::encode() const
+ throw()
+ {
+ string str;
+ unsigned short ustemp;
+ unsigned char svsobs = (numSVs & 0x0f);
+ svsobs <<= 4;
+ svsobs |= ((unsigned char)obs.size() & 0x0f);
+
+ str += encodeVar( static_cast<uint8_t>(svsobs));
+ str += encodeVar( static_cast<uint8_t>(channel));
+ str += encodeVar( static_cast<uint8_t>(prn));
+ str += encodeVar( static_cast<uint8_t>(status & 0x3f));
+ str += encodeVar( static_cast<uint16_t>(elevation * 100));
+ str += encodeVar( static_cast<uint16_t>(azimuth * 100));
+
+ for(ObsMap::const_iterator oli = obs.begin();
+ oli != obs.end(); oli++)
+ {
+ MDPObsEpoch::Observation mdpobs(oli->second);
+ str += mdpobs.encode();
+ }
+ return str;
+ } // MDPObsEpoch::encode()
+
+
+ //---------------------------------------------------------------------------
+ void MDPObsEpoch::decode(string str)
+ throw()
+ {
+ if (str.length() < myLength)
+ return;
+
+ clearstate(lenbit);
+
+ unsigned obsSVs;
+ obsSVs = decodeVar<uint8_t>(str);
+ channel = decodeVar<uint8_t>(str);
+ prn = decodeVar<uint8_t>(str);
+ status = decodeVar<uint8_t>(str);
+ elevation = decodeVar<uint16_t>(str) * 0.01 ;
+ azimuth = decodeVar<uint16_t>(str) * 0.01;
+
+ numSVs = obsSVs >> 4;
+ numSVs &= 0x0f;
+ obsSVs &= 0x0f;
+
+ bool obsError=false;
+
+ obs.erase(obs.begin(), obs.end());
+ for(int j=0; j<obsSVs; j++)
+ {
+ if (str.length() < myObsLength)
+ {
+ clear(lenbit);
+ std::string msg("MDP Obs block decode requires at least " +
+ asString(myObsLength) +" bytes. Received " +
+ asString(str.length()) + " bytes");
+ if (debugLevel>1)
+ cout << msg << endl;
+ return;
+ }
+ MDPObsEpoch::Observation o;
+ o.decode(str);
+ if (o.carrier >= ccMax || o.range >= rcMax || o.snr > 60 || o.bw > 100)
+ {
+ obsError=true;
+ }
+ else
+ {
+ ObsKey key(o.carrier, o.range);
+ obs[key] = o;
+ }
+ }
+
+ if (prn > gpstk::MAX_PRN || elevation>90 || azimuth > 360 || obsError)
+ return;
+
+ clearstate(fmtbit);
+ } // MDPObsEpoch::decode()
+
+
+ //---------------------------------------------------------------------------
+ std::string MDPObsEpoch::Observation::encode() const
+ throw()
+ {
+ string str;
+
+ uint8_t ccrc = carrier & 0x0f;
+ ccrc <<= 4;
+ ccrc |= range & 0x0f;
+
+ str += encodeVar( (uint8_t) ccrc);
+ str += encodeVar( (uint8_t) bw);
+ str += encodeVar( (uint16_t) std::max(static_cast<int>(snr*100),0));
+ str += encodeVar( (uint32_t) lockCount);
+ str += encodeVar( (double) pseudorange);
+ str += encodeVar( (double) phase);
+ str += encodeVar( (double) doppler);
+ return str;
+ } // MDPObservation::encode()
+
+
+ //---------------------------------------------------------------------------
+ void MDPObsEpoch::Observation::decode(std::string& str)
+ throw()
+ {
+ unsigned char ccrc;
+
+ ccrc = decodeVar<uint8_t>(str);
+ bw = decodeVar<uint8_t>(str);
+ snr = decodeVar<uint16_t>(str) * 0.01;
+ lockCount = decodeVar<uint32_t>(str);
+ pseudorange = decodeVar<double>(str);
+ phase = decodeVar<double>(str);
+ doppler = decodeVar<double>(str);
+
+ range = RangeCode(ccrc & 0x0f);
+ ccrc >>= 4;
+ carrier = CarrierCode(ccrc & 0x0f);
+ } // MDPObservation::decode()
+
+
+ bool MDPObsEpoch::haveObservation(
+ const CarrierCode cc,
+ const RangeCode rc) const
+ {
+ return (obs.find(ObsKey(cc,rc)) != obs.end());
+ }
+
+ MDPObsEpoch::Observation MDPObsEpoch::getObservation(
+ const CarrierCode cc,
+ const RangeCode rc) const
+ {
+ if (haveObservation(cc, rc))
+ return obs.find(ObsKey(cc,rc))->second;
+ else
+ return Observation();
+ }
+
+
+ //---------------------------------------------------------------------------
+ void MDPObsEpoch::dump(ostream& out) const
+ throw()
+ {
+ ostringstream oss;
+
+ MDPHeader::dump(oss);
+
+ oss << getName() << "0:"
+ << " #SV:" << (int)numSVs
+ << " Ch:" << (int)channel
+ << " PRN:" << (int)prn
+ << " El:" << fixed << setprecision(2) <<elevation
+ << " Az:" << azimuth
+ << " H:0x" << hex << (int)status
+ << dec << endl;
+
+ int j=1;
+ for (ObsMap::const_iterator i = obs.begin(); i != obs.end(); i++)
+ {
+ oss << getName() << j++ << ":";
+ i->second.dump(oss);
+ oss << endl;
+ }
+
+ out << oss.str();
+
+ } // MDPObsEpoch::dump()
+
+
+ //---------------------------------------------------------------------------
+ void MDPObsEpoch::Observation::dump(std::ostream& out) const
+ throw()
+ {
+ using gpstk::StringUtils::asString;
+
+ ostringstream oss;
+ oss << " " << asString(carrier)
+ << " " << asString(range)
+ << " BW:" << bw
+ << " SNR:" << snr
+ << " LC:" << lockCount
+ << " PR:" << asString(pseudorange, 3)
+ << " PH:" << asString(phase, 3)
+ << " Dop:" << asString(doppler, 3);
+ out << oss.str();
+ } // MDPObservation::dump()
+
+} // namespace sglmsn
diff --git a/trunk/apps/MDPtools/MDPObsEpoch.hpp b/trunk/apps/MDPtools/MDPObsEpoch.hpp
new file mode 100644
index 0000000..f217ee4
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPObsEpoch.hpp
@@ -0,0 +1,85 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPObsEpoch.hpp#6 $"
+
+#ifndef MDPOBSEPOCH_HPP
+#define MDPOBSEPOCH_HPP
+
+#include <map>
+#include "MDPHeader.hpp"
+#include "miscenum.hpp"
+
+namespace gpstk
+{
+ /// This class represents a set of observations from a single SV at a
+ /// single point in time
+ class MDPObsEpoch : public MDPHeader
+ {
+ public:
+ // A helper class to hold a single code/carrier block of observations
+ class Observation
+ {
+ public:
+ void dump(std::ostream& out) const throw();
+ std::string encode() const throw();
+
+ // Note that this is a destructive decode, unlike the others in this set
+ // of classes.
+ void decode(std::string& str) throw();
+
+ CarrierCode carrier; ///< This observation's carrier frequency code.
+ RangeCode range; ///< This observation's range code.
+ unsigned bw; ///< The Effective Tracking Loop Bandwidth. (Hz)
+ double snr; ///< The Signal-to-Noise Ratio. (dB-Hz)
+ unsigned long lockCount; ///< The number of consecutive observations (0 implies a cycle slip or beginning of track).
+ double pseudorange; ///< Pseudorange Measurement (meters)
+ double phase; ///< Phase Measurement (cycles)
+ double doppler; ///< Doppler Measurement (Hz, positive for approaching satellites)
+ };
+
+ MDPObsEpoch() throw();
+
+ /** Encode this object to a string.
+ * @return this object as a string.
+ */
+ virtual std::string encode() const
+ throw();
+
+ /** Decode this object from a string.
+ * @param str the string to read from.
+ * @note This is a non-destructive decode.
+ */
+ virtual void decode(std::string str)
+ throw();
+
+ virtual std::string getName() const {return "obs";};
+
+ /** Dump some debugging information to the given ostream.
+ * @param out the ostream to write to
+ */
+ void dump(std::ostream& out) const throw();
+
+ typedef std::pair<CarrierCode, RangeCode> ObsKey;
+ typedef std::map<ObsKey, Observation> ObsMap;
+
+ unsigned numSVs; ///< The number of SVs in track for this epoch.
+ unsigned channel; ///< The channel this SV is tracked on.
+ unsigned prn; ///< The SV's PRN.
+ unsigned status; ///< SV Health status.
+ double elevation; ///< The SV's elevation in degrees.
+ double azimuth; ///< The SV's azimuth in degrees.
+
+ ObsMap obs; ///< The list of Observations made at this Epoch.
+ bool haveObservation(const CarrierCode cc, const RangeCode rc) const;
+ Observation getObservation(const CarrierCode cc, const RangeCode rc) const;
+
+ static const unsigned myId = 300;
+ static const unsigned myLength = 8; // This is just the pre obs_block stuff
+ static const unsigned myObsLength=32; // This is the size of a single obs_block
+
+ }; // class MDPObsEpoch
+
+ // The key is intended to the PRN of the MDPObsEpoch
+ typedef std::map<int, gpstk::MDPObsEpoch> MDPEpoch;
+
+} // namespace gpstk
+
+#endif //MDPOBSEPOCH_HPP
diff --git a/trunk/apps/MDPtools/MDPPVTSolution.cpp b/trunk/apps/MDPtools/MDPPVTSolution.cpp
new file mode 100644
index 0000000..285b92e
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPPVTSolution.cpp
@@ -0,0 +1,116 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPPVTSolution.cpp#8 $"
+
+#include <sstream>
+#include <StringUtils.hpp>
+#include <StringUtils.hpp>
+#include <BinUtils.hpp>
+
+#include "MDPPVTSolution.hpp"
+#include "MDPStream.hpp"
+
+using gpstk::StringUtils::asString;
+using gpstk::BinUtils::hostToNet;
+using gpstk::BinUtils::netToHost;
+using gpstk::BinUtils::encodeVar;
+using gpstk::BinUtils::decodeVar;
+using namespace std;
+
+namespace gpstk
+{
+ //---------------------------------------------------------------------------
+ MDPPVTSolution::MDPPVTSolution()
+ throw()
+ {
+ id = myId;
+ timep = gpstk::DayTime::BEGINNING_OF_TIME;
+ x[0] = x[1] = x[2] = 0;
+ v[0] = v[1] = v[2] = 0;
+ dtime = ddtime = 0;
+ numSVs = fom = pvtMode = corrections = 0;
+ } // MDPPVTSolution::MDPPVTSolution()
+
+
+ //---------------------------------------------------------------------------
+ string MDPPVTSolution::encode() const
+ throw()
+ {
+ string str;
+ str += encodeVar<double>(x[0]);
+ str += encodeVar<double>(x[1]);
+ str += encodeVar<double>(x[2]);
+ str += encodeVar<float>(v[0]);
+ str += encodeVar<float>(v[1]);
+ str += encodeVar<float>(v[2]);
+ str += encodeVar<uint8_t>(numSVs);
+ str += encodeVar<int8_t>(fom);
+ str += encodeVar<uint16_t>(time.GPSfullweek());
+ str += encodeVar<double>(time.GPSsecond());
+ str += encodeVar<double>(dtime);
+ str += encodeVar<double>(ddtime);
+ str += encodeVar<uint8_t>(pvtMode);
+ str += encodeVar<uint8_t>(corrections);
+ return str;
+ } // MDPPVTSolution::encode()
+
+
+ //---------------------------------------------------------------------------
+ void MDPPVTSolution::decode(string str)
+ throw()
+ {
+ if (str.length() != myLength)
+ return;
+
+ clearstate(lenbit);
+
+ x[0] = decodeVar<double>(str);
+ x[1] = decodeVar<double>(str);
+ x[2] = decodeVar<double>(str);
+ v[0] = decodeVar<float>(str);
+ v[1] = decodeVar<float>(str);
+ v[2] = decodeVar<float>(str);
+ numSVs = decodeVar<uint8_t>(str);
+ fom = decodeVar<int8_t>(str);
+ int week = decodeVar<uint16_t>(str);
+ double sow = decodeVar<double>(str);
+ dtime = decodeVar<double>(str);
+ ddtime = decodeVar<double>(str);
+ pvtMode = decodeVar<uint8_t>(str);
+ corrections = decodeVar<uint8_t>(str);
+
+ if (week < 0 || week > 5000 || sow < 0 || sow > 604800)
+ return;
+
+ timep.setGPS(week, sow);
+
+ clearstate(fmtbit);
+ } // MDPPVTSolution::decode()
+
+
+ //---------------------------------------------------------------------------
+ void MDPPVTSolution::dump(ostream& out) const
+ throw()
+ {
+ ostringstream oss;
+ using gpstk::StringUtils::asString;
+ using gpstk::StringUtils::leftJustify;
+
+ MDPHeader::dump(oss);
+ oss << getName() << "1:"
+ << " #SV:" << (int)numSVs
+ << " FoM:" << (int)fom
+ << " ClkOff:" << asString(dtime*1e9, 3)
+ << " ClkDft:" << asString(ddtime*86400*1e6, 3)
+ << " PVTMode:" << (int)pvtMode
+ << " Corr:" << hex << (int)corrections << dec
+ << endl
+ << getName() << "2:"
+ << " X:" << asString(x[0], 3)
+ << " Y:" << asString(x[1], 3)
+ << " Z:" << asString(x[2], 3)
+ << " Vx:" << asString(v[0], 3)
+ << " Vy:" << asString(v[1], 3)
+ << " Vz:" << asString(v[2], 3)
+ << endl;
+ out << oss.str() << flush;
+ } // MDPPVTSolution::dump()
+} // namespace sglmsn
diff --git a/trunk/apps/MDPtools/MDPPVTSolution.hpp b/trunk/apps/MDPtools/MDPPVTSolution.hpp
new file mode 100644
index 0000000..62d4ce8
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPPVTSolution.hpp
@@ -0,0 +1,54 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPPVTSolution.hpp#5 $"
+
+#ifndef MDPPVTSOLUTION_HPP
+#define MDPPVTSOLUTION_HPP
+
+#include "MDPHeader.hpp"
+#include <Xvt.hpp>
+
+namespace gpstk
+{
+ /// This class represents a Position-Velocity-Time Solution.
+ class MDPPVTSolution : public MDPHeader
+ {
+ public:
+ MDPPVTSolution() throw();
+
+ /** Encode this object to a string.
+ * @return this object as a string.
+ */
+ virtual std::string encode() const
+ throw();
+
+ /** Decode this object from a string.
+ * @param str the string to read from.
+ * @note This is a non-destructive decode.
+ */
+ virtual void decode(std::string str)
+ throw();
+
+ virtual std::string getName() const {return "pvt";};
+
+ /** Dump some debugging information to the given ostream.
+ * @param out the ostream to write to
+ */
+ void dump(std::ostream& out) const throw();
+
+ gpstk::ECEF x; ///< receiver position (x,y,z), earth fixed, in meters
+ gpstk::Triple v; ///< receiver velocity, Earth-fixed, including rotation, in meters/sec
+ double dtime; ///< receiver clock offset from GPS in sec
+ double ddtime; ///< receiver clock drift rate in sec/sec
+ gpstk::DayTime timep; ///< PVT time: dtime = timep - time.
+ unsigned char numSVs; ///< Number of SVs in track.
+ unsigned char fom; ///< Figure of Merit (receiver dependent).
+ unsigned char pvtMode; ///< Type of PVT solution (receiver dependent).
+ unsigned char corrections; ///< Corrections (also receiver dependent).
+
+ static const unsigned myLength = 66;
+ static const unsigned myId = 301;
+
+ }; // class MDPPVTSolution
+
+} // namespace gpstk
+
+#endif //MDPPVTSOLUTION_HPP
diff --git a/trunk/apps/MDPtools/MDPProcessors.cpp b/trunk/apps/MDPtools/MDPProcessors.cpp
new file mode 100644
index 0000000..cb83c1a
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPProcessors.cpp
@@ -0,0 +1,314 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPProcessors.cpp#7 $"
+
+/** @file Various presentations/analysis on MDP streams */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "MDPProcessors.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+gpstk::MDPStream d1;
+std::ofstream d2;
+
+
+MDPProcessor::MDPProcessor() :
+ timeFormat("%4Y/%03j/%02H:%02M:%05.2f"),
+ stopTime(gpstk::DayTime::END_OF_TIME),
+ startTime(gpstk::DayTime::BEGINNING_OF_TIME),
+ timeSpan(-1), processBad(false),
+ debugLevel(0), verboseLevel(0), in(d1), out(d2)
+{}
+
+MDPProcessor::MDPProcessor(gpstk::MDPStream& in, std::ofstream& out) :
+ timeFormat("%4Y/%03j/%02H:%02M:%05.2f"),
+ stopTime(gpstk::DayTime::END_OF_TIME),
+ startTime(gpstk::DayTime::BEGINNING_OF_TIME),
+ timeSpan(-1), processBad(false),
+ debugLevel(0), verboseLevel(0), in(in), out(out)
+{}
+
+void MDPProcessor::process()
+{
+ MDPHeader header;
+
+ while (in)
+ {
+ in >> header;
+
+ if (verboseLevel>3)
+ out << "Record: " << in.recordNumber << endl;
+
+ if (in.header.id == gpstk::MDPObsEpoch::myId ||
+ in.header.id == gpstk::MDPPVTSolution::myId)
+ {
+ if (startTime == DayTime(DayTime::BEGINNING_OF_TIME))
+ {
+ startTime = header.time;
+ if (debugLevel)
+ cout << "startTime: " << startTime << endl;
+ }
+
+ if (stopTime == DayTime(DayTime::END_OF_TIME) && timeSpan>0)
+ {
+ stopTime = startTime + timeSpan;
+ if (debugLevel)
+ cout << "stopTime: " << stopTime << endl;
+ }
+
+ if (header.time > stopTime)
+ return;
+
+ if (header.time < startTime)
+ continue;
+ }
+
+ switch (in.header.id)
+ {
+ case gpstk::MDPObsEpoch::myId:
+ if (obsOut)
+ {
+ gpstk::MDPObsEpoch obs;
+ in >> obs;
+ if (obs || processBad)
+ process(obs);
+ }
+ break;
+
+ case gpstk::MDPPVTSolution::myId:
+ if (pvtOut)
+ {
+ gpstk::MDPPVTSolution pvt;
+ in >> pvt;
+ if (pvt || processBad)
+ process(pvt);
+ }
+ break;
+
+ case gpstk::MDPNavSubframe::myId:
+ if (navOut)
+ {
+ gpstk::MDPNavSubframe nav;
+ in >> nav;
+ if (nav || processBad)
+ process(nav);
+ }
+ break;
+
+ case gpstk::MDPSelftestStatus::myId:
+ if (tstOut)
+ {
+ gpstk::MDPSelftestStatus sts;
+ in >> sts;
+ if (sts || processBad)
+ process(sts);
+ }
+ break;
+ } // end of switch()
+ } // end of while()
+}
+
+
+//-----------------------------------------------------------------------------
+MDPTableProcessor::MDPTableProcessor(gpstk::MDPStream& in, std::ofstream& out) :
+ MDPProcessor(in, out)
+{
+ out << "# time, 300, prn, chan, hlth, ele, az, code, carrier, LC, SNR, range, phase, doppler" << endl;
+ out << "# time, 301, #SV, dtime, ddtime, x, y, z, vx, vy, vz" << endl;
+ out << "# time, 310, prn, carrier_code, range_code, nav_code, word1, word2, ..." << endl;
+ out << "# time, 400, tstTime, startTime, Tant, Trx, status, cpu, freq" << endl;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPTableProcessor::process(const gpstk::MDPObsEpoch& oe)
+{
+ MDPObsEpoch::ObsMap::const_iterator i;
+ for (i = oe.obs.begin(); i != oe.obs.end(); i++)
+ {
+ const MDPObsEpoch::Observation& obs=i->second;
+ out << oe.time.printf(timeFormat)
+ << fixed
+ << ", " << setw(3) << oe.id
+ << ", " << setw(2) << (int) oe.prn
+ << ", " << setw(2) << (int) oe.channel
+ << ", " << setw(2) << hex << (int) oe.status << dec
+ << setprecision(1)
+ << ", " << setw(2) << (int) oe.elevation
+ << ", " << setw(3) << (int) oe.azimuth
+ << ", " << setw(1) << obs.range
+ << ", " << setw(1) << obs.carrier
+ << ", " << setw(7) << obs.lockCount
+ << setprecision(2)
+ << ", " << setw(5) << obs.snr
+ << setprecision(4)
+ << ", " << setw(13) << obs.pseudorange
+ << ", " << setw(14) << obs.phase
+ << ", " << setw(10) << obs.doppler
+ << endl;
+ }
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPTableProcessor::process(const gpstk::MDPPVTSolution& pvt)
+{
+ out << pvt.time.printf(timeFormat)
+ << fixed
+ << ", " << setw(3) << pvt.id
+ << ", " << setw(2) << (int)pvt.numSVs
+ << setprecision(3)
+ << ", " << setw(12) << pvt.dtime*1e9
+ << setprecision(6)
+ << ", " << setw(9) << pvt.ddtime*1e9
+ << setprecision(3)
+ << ", " << setw(12) << pvt.x[0]
+ << ", " << setw(12) << pvt.x[1]
+ << ", " << setw(12) << pvt.x[2]
+ << setprecision(3)
+ << ", " << setw(8) << pvt.v[0]
+ << ", " << setw(8) << pvt.v[1]
+ << ", " << setw(8) << pvt.v[2]
+ << endl;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPTableProcessor::process(const gpstk::MDPNavSubframe& sf)
+{
+ out << sf.time.printf(timeFormat)
+ << fixed
+ << ", " << setw(3) << sf.id
+ << ", " << setw(2) << sf.prn
+ << ", " << int(sf.carrier)
+ << ", " << int(sf.range)
+ << ", " << int(sf.nav);
+
+ if (verboseLevel)
+ {
+ out << setfill('0') << hex;
+ for(int i = 1; i < sf.subframe.size(); i++)
+ out << ", " << setw(8) << uppercase << sf.subframe[i];
+ out << dec << setfill(' ');
+ }
+ out << endl;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPTableProcessor::process(const gpstk::MDPSelftestStatus& sts)
+{
+ out << sts.time.printf(timeFormat)
+ << ", " << sts.selfTestTime.printf("%4F/%9.2g")
+ << ", " << sts.firstPVTTime.printf("%4F/%9.2g")
+ << ", " << sts.antennaTemp
+ << ", " << sts.receiverTemp
+ << ", " << hex << sts.status << dec
+ << ", " << sts.cpuLoad
+ << ", " << hex << sts.extFreqStatus << dec
+ << endl;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPVerboseProcessor::process(const gpstk::MDPObsEpoch& oe)
+{
+ if (verboseLevel)
+ {
+ oe.dump(out);
+ out << endl;
+ }
+ else
+ {
+ out << oe.getName() << "-:"
+ << " T:" << oe.time.printf(timeFormat)
+ << left
+ << " #SV:" << setw(2) << (int)oe.numSVs
+ << " Ch:" << setw(2) << (int)oe.channel
+ << " PRN:" << setw(2) << (int)oe.prn
+ << " El:" << setw(2) << (int)oe.elevation;
+
+ MDPObsEpoch::ObsMap::const_iterator i;
+ for (i = oe.obs.begin(); i != oe.obs.end(); i++)
+ {
+ const MDPObsEpoch::Observation& obs=i->second;
+ out << " " << StringUtils::asString(obs.carrier)
+ << "-" << StringUtils::asString(obs.range);
+ }
+ out << endl;
+ }
+
+
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPVerboseProcessor::process(const gpstk::MDPPVTSolution& pvt)
+{
+ if (verboseLevel)
+ {
+ pvt.dump(out);
+ out << endl;
+ }
+ else
+ {
+ out << pvt.getName() << "-:"
+ << " T:" << pvt.time.printf(timeFormat)
+ << left
+ << " #SV:" << setw(2) << (int)pvt.numSVs
+ << " X:" << StringUtils::asString(pvt.x[0], 3)
+ << " Y:" << StringUtils::asString(pvt.x[1], 3)
+ << " Z:" << StringUtils::asString(pvt.x[2], 3)
+ << endl;
+ }
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPVerboseProcessor::process(const gpstk::MDPNavSubframe& sf)
+{
+ if (verboseLevel)
+ {
+ sf.dump(out);
+ out << endl;
+ }
+ else
+ {
+ out << sf.getName() << "-:"
+ << " T:" << sf.time.printf(timeFormat)
+ << " PRN:" << sf.prn
+ << " " << StringUtils::asString(sf.carrier)
+ << "-" << StringUtils::asString(sf.range)
+ << " " << static_cast<int>(sf.nav)
+ << endl;
+ }
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPVerboseProcessor::process(const gpstk::MDPSelftestStatus& sts)
+{
+ sts.dump(out);
+ out << endl;
+}
diff --git a/trunk/apps/MDPtools/MDPProcessors.hpp b/trunk/apps/MDPtools/MDPProcessors.hpp
new file mode 100644
index 0000000..bd080b7
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPProcessors.hpp
@@ -0,0 +1,136 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPProcessors.hpp#4 $"
+
+/** @file Various presentations/analysis on MDP streams */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef MDPPROCESSORS_HPP
+#define MDPPROCESSORS_HPP
+
+#include <vector>
+#include <map>
+#include <set>
+
+#include <StringUtils.hpp>
+#include <Stats.hpp>
+#include <DayTime.hpp>
+
+#include "MDPStream.hpp"
+#include "MDPNavSubframe.hpp"
+#include "MDPObsEpoch.hpp"
+#include "MDPPVTSolution.hpp"
+#include "MDPSelftestStatus.hpp"
+
+//-----------------------------------------------------------------------------
+class MDPProcessor
+{
+public:
+
+ MDPProcessor();
+ MDPProcessor(gpstk::MDPStream& in, std::ofstream& out);
+ virtual ~MDPProcessor() {};
+
+ void process();
+
+ std::string timeFormat;
+ int debugLevel;
+ int verboseLevel;
+
+ bool processBad;
+ bool pvtOut, obsOut, navOut, tstOut;
+
+ std::ofstream& out;
+ gpstk::MDPStream& in;
+
+ gpstk::DayTime startTime, stopTime;
+ double timeSpan;
+
+private:
+ /// All processors are defined so that subclasses don't have to
+ /// define process methods for messages they don't care about.
+ virtual void process(const gpstk::MDPObsEpoch& oe) {};
+ virtual void process(const gpstk::MDPPVTSolution& pvt) {};
+ virtual void process(const gpstk::MDPNavSubframe& sf) {};
+ virtual void process(const gpstk::MDPSelftestStatus& sts) {};
+};
+
+
+//-----------------------------------------------------------------------------
+class MDPTableProcessor : public MDPProcessor
+{
+ void process(const gpstk::MDPObsEpoch& oe);
+ void process(const gpstk::MDPPVTSolution& pvt);
+ void process(const gpstk::MDPNavSubframe& sts);
+ void process(const gpstk::MDPSelftestStatus& sts);
+
+public:
+ MDPTableProcessor(gpstk::MDPStream& in, std::ofstream& out);
+};
+
+
+//-----------------------------------------------------------------------------
+class MDPBriefProcessor : public MDPProcessor
+{
+ void process(const gpstk::MDPObsEpoch& oe)
+ {out << "o " << std::flush; };
+
+ void process(const gpstk::MDPPVTSolution& pvt)
+ {out << "p " << std::flush; };
+
+ void process(const gpstk::MDPNavSubframe& sf)
+ {out << "n " << std::flush; };
+
+ void process(const gpstk::MDPSelftestStatus& sts)
+ {out << "s " << std::flush; };
+
+public:
+ MDPBriefProcessor(gpstk::MDPStream& in, std::ofstream& out) :
+ MDPProcessor(in, out)
+ {};
+};
+
+
+//-----------------------------------------------------------------------------
+class MDPVerboseProcessor : public MDPProcessor
+{
+ void process(const gpstk::MDPObsEpoch& oe);
+ void process(const gpstk::MDPPVTSolution& pvt);
+ void process(const gpstk::MDPNavSubframe& sf);
+ void process(const gpstk::MDPSelftestStatus& sts);
+
+public:
+ MDPVerboseProcessor(gpstk::MDPStream& in, std::ofstream& out) :
+ MDPProcessor(in, out)
+ {}
+};
+
+
+//-----------------------------------------------------------------------------
+class MDPNullProcessor : public MDPProcessor
+{
+public:
+ MDPNullProcessor(gpstk::MDPStream& in, std::ofstream& out) :
+ MDPProcessor(in, out)
+ {}
+};
+#endif
diff --git a/trunk/apps/MDPtools/MDPSelftestStatus.cpp b/trunk/apps/MDPtools/MDPSelftestStatus.cpp
new file mode 100644
index 0000000..de648e0
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPSelftestStatus.cpp
@@ -0,0 +1,98 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPSelftestStatus.cpp#4 $"
+
+#include <sstream>
+#include <StringUtils.hpp>
+#include <StringUtils.hpp>
+#include <BinUtils.hpp>
+
+#include "MDPSelftestStatus.hpp"
+#include "MDPStream.hpp"
+
+using gpstk::StringUtils::asString;
+using gpstk::BinUtils::encodeVar;
+using gpstk::BinUtils::decodeVar;
+using namespace std;
+
+namespace gpstk
+{
+ //---------------------------------------------------------------------------
+ MDPSelftestStatus::MDPSelftestStatus()
+ throw() :
+ selfTestTime(gpstk::DayTime::BEGINNING_OF_TIME),
+ firstPVTTime(gpstk::DayTime::BEGINNING_OF_TIME),
+ antennaTemp(0), receiverTemp(0), status(0xffffffff),
+ cpuLoad(0), extFreqStatus(0)
+ {
+ id = myId;
+ } // MDPSelftestStatus::MDPSelftestStatus()
+
+
+ //---------------------------------------------------------------------------
+ string MDPSelftestStatus::encode() const
+ throw()
+ {
+ string str;
+ str += encodeVar( (float) antennaTemp);
+ str += encodeVar( (float) receiverTemp);
+ str += encodeVar( (uint32_t) status);
+ str += encodeVar( (float) cpuLoad);
+ str += encodeVar( (uint32_t) 100*selfTestTime.GPSsecond());
+ str += encodeVar( (uint16_t) selfTestTime.GPSfullweek());
+ str += encodeVar( (uint16_t) firstPVTTime.GPSfullweek());
+ str += encodeVar( (uint32_t) 100*firstPVTTime.GPSsecond());
+ str += encodeVar( (uint16_t) extFreqStatus);
+ return str;
+ } // MDPSelftestStatus::encode()
+
+
+ //---------------------------------------------------------------------------
+ void MDPSelftestStatus::decode(string str)
+ throw()
+ {
+ if (str.length() != myLength)
+ return;
+
+ clearstate(lenbit);
+
+
+ long sow100;
+ int week;
+
+ antennaTemp = decodeVar<float>(str);
+ receiverTemp = decodeVar<float>(str);
+ status = decodeVar<uint32_t>(str);
+ cpuLoad = decodeVar<float>(str);
+ sow100 = decodeVar<uint32_t>(str);
+ week = decodeVar<uint16_t>(str);
+ selfTestTime.setGPSfullweek(week, double(sow100)*0.01);
+ week = decodeVar<uint16_t>(str);
+ sow100 = decodeVar<uint32_t>(str);
+ firstPVTTime.setGPSfullweek(week, double(sow100)*0.01);
+ extFreqStatus = decodeVar<uint16_t>(str);
+
+ clearstate(fmtbit);
+ } // MDPSelftestStatus::decode()
+
+
+ //---------------------------------------------------------------------------
+ void MDPSelftestStatus::dump(ostream& out) const
+ throw()
+ {
+ ostringstream oss;
+ using gpstk::StringUtils::asString;
+ using gpstk::StringUtils::leftJustify;
+
+ MDPHeader::dump(oss);
+ oss << getName() << "1:"
+ << " Tst:" << selfTestTime.printf("%4F/%9.2g")
+ << " Tpvt:" << firstPVTTime.printf("%4F/%9.2g")
+ << " Ant. Temp:" << antennaTemp
+ << " Rx. Temp:" << receiverTemp
+ << " status:" << hex << status << dec
+ << " cpuLoad:" << cpuLoad
+ << " extFreq:" << hex << extFreqStatus << dec
+ << endl;
+ out << oss.str() << flush;
+ } // MDPSelftestStatus::dump()
+
+} // namespace sglmsn
diff --git a/trunk/apps/MDPtools/MDPSelftestStatus.hpp b/trunk/apps/MDPtools/MDPSelftestStatus.hpp
new file mode 100644
index 0000000..9f88675
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPSelftestStatus.hpp
@@ -0,0 +1,52 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPSelftestStatus.hpp#3 $"
+
+#ifndef MDPSELFTESTSTATUS_HPP
+#define MDPSELFTESTSTATUS_HPP
+
+#include "MDPHeader.hpp"
+#include <Xvt.hpp>
+
+namespace gpstk
+{
+ /// This class represents a runtime selftest status message
+ class MDPSelftestStatus : public MDPHeader
+ {
+ public:
+ MDPSelftestStatus() throw();
+
+ /** Encode this object to a string.
+ * @return this object as a string.
+ */
+ virtual std::string encode() const
+ throw();
+
+ /** Decode this object from a string.
+ * @param str the string to read from.
+ * @note This is a non-destructive decode.
+ */
+ virtual void decode(std::string str)
+ throw();
+
+ virtual std::string getName() const {return "sts";};
+
+ /** Dump some debugging information to the given ostream.
+ * @param out the ostream to write to
+ */
+ void dump(std::ostream& out) const throw();
+
+ float antennaTemp;
+ float receiverTemp;
+ long status;
+ float cpuLoad;
+ gpstk::DayTime selfTestTime; ///< SelfTest SOW & week
+ gpstk::DayTime firstPVTTime; ///< First PVT SOW & week
+ short extFreqStatus;
+
+ static const unsigned myLength = 30;
+ static const unsigned myId = 400;
+
+ }; // class MDPSelftestStatus
+
+} // namespace gpstk
+
+#endif //MDPSELFTESTSTATUS_HPP
diff --git a/trunk/apps/MDPtools/MDPStream.hpp b/trunk/apps/MDPtools/MDPStream.hpp
new file mode 100644
index 0000000..deff90d
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPStream.hpp
@@ -0,0 +1,101 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPStream.hpp#3 $"
+
+/**
+ * @file MDPStream.hpp
+ * gpstk::MDPStream - binary MDP file stream container.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef MDPSTREAM_HPP
+#define MDPSTREAM_HPP
+
+#include <vector>
+#include <map>
+
+#include <FFBinaryStream.hpp>
+#include "MDPHeader.hpp"
+
+namespace gpstk
+{
+ /**
+ * This is a stream used to decode data in the MDP format.
+ */
+ class MDPStream : public FFBinaryStream
+ {
+ public:
+ MDPStream() : streamState(outOfSync)
+ {}
+
+ /**
+ * @param fn the name of the MDP file to be opened
+ * @param mode the ios::openmode to be used on \a fn
+ */
+ MDPStream(const char* fn,
+ std::ios::openmode mode = std::ios::in)
+ : FFBinaryStream(fn, mode),
+ streamState(outOfSync)
+ {}
+
+ /// destructor per the coding standards
+ virtual ~MDPStream()
+ {}
+
+ /// overrides open to reset the header
+ virtual void open(const char* fn, std::ios::openmode mode = std::ios::in)
+ {
+ FFBinaryStream::open(fn, mode);
+ streamState = outOfSync;
+ }
+
+ /// Used to track what has been retrieved from the stream
+ enum {outOfSync, gotHeader, gotBody} streamState;
+
+ /// A copy of the most recent header read
+ MDPHeader header;
+
+ /// The raw bytes of the above header
+ std::string rawHeader;
+ }; // class MDPStream
+} // namespace gpstk
+
+#endif
diff --git a/trunk/apps/MDPtools/NavProc.cpp b/trunk/apps/MDPtools/NavProc.cpp
new file mode 100644
index 0000000..c1e876a
--- /dev/null
+++ b/trunk/apps/MDPtools/NavProc.cpp
@@ -0,0 +1,159 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/NavProc.cpp#5 $"
+
+/*
+ Think, navdmp for mdp, with bonus output that you get data from all code/carrier
+ combos.
+*/
+
+#include "Geodetic.hpp"
+#include "NavProc.hpp"
+
+#include "FormatConversionFunctions.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+
+//-----------------------------------------------------------------------------
+MDPNavProcessor::MDPNavProcessor(gpstk::MDPStream& in, std::ofstream& out)
+ : MDPProcessor(in, out),
+ firstNav(true), almOut(false), ephOut(false)
+{
+ timeFormat = "%4Y/%03j/%02H:%02M:%02S";
+}
+
+
+//-----------------------------------------------------------------------------
+MDPNavProcessor::~MDPNavProcessor()
+{
+ using gpstk::RangeCode;
+ using gpstk::CarrierCode;
+ using gpstk::StringUtils::asString;
+
+ out << "Done processing data." << endl << endl;
+
+ out << endl << "Navigation Subframe message summary:" << endl;
+ if (firstNav)
+ out << " No Navigation Subframe messages processed." << endl;
+ else
+ {
+ out << " TBD." << endl;
+ }
+
+ out << endl;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPNavProcessor::process(const gpstk::MDPNavSubframe& msg)
+{
+ if (firstNav)
+ {
+ firstNav = false;
+ if (verboseLevel)
+ out << msg.time.printf(timeFormat)
+ << " Received first Navigation Subframe message"
+ << endl;
+ }
+
+ short sfid = msg.getSFID();
+ short svid = msg.getSVID();
+ bool isAlm = sfid > 3;
+ long sow = msg.getHOWTime();
+ short page = ((sow-6) / 30) % 25 + 1;
+
+ if ((isAlm && !almOut) || (!isAlm && !ephOut))
+ return;
+
+ if (verboseLevel>2)
+ {
+ out << msg.time.printf(timeFormat)
+ << " prn:" << setw(2) << msg.prn
+ << " " << asString(msg.carrier)
+ << ":" << setw(6) << left << asString(msg.range)
+ << " nav:" << static_cast<int>(msg.nav)
+ << " SOW:" << setw(6) << sow
+ << " SFID:" << sfid;
+ if (isAlm)
+ out << " SVID:" << svid
+ << " Page:" << page;
+ out << endl;
+ }
+
+ // Sanity check on the header time versus the HOW time
+ short week = msg.time.GPSfullweek();
+ DayTime howTime(week, msg.getHOWTime());
+ if (howTime == msg.time)
+ {
+ // Move this back down to verboseLevel>0 when ITT fixes their code...
+ if (verboseLevel>2)
+ out << msg.time.printf(timeFormat) << " header time is HOW time" << endl;
+ }
+ else if (howTime != msg.time+6)
+ out << msg.time.printf(timeFormat)
+ << " HOW/header time miscompare " << howTime.printf(timeFormat)
+ << endl;
+
+ NavIndex ni(RangeCarrierPair(msg.range, msg.carrier), msg.prn);
+ prev[ni] = curr[ni];
+ curr[ni] = msg;
+
+ long sfa[10];
+ msg.fillArray(sfa);
+ long long_sfa[10];
+ for( int j = 0; j < 10; j++ )
+ long_sfa[j] = static_cast<long>( sfa[j] );
+ if (gpstk::EngNav::subframeParity(long_sfa))
+ {
+ if (isAlm)
+ {
+ AlmanacPages& almPages = almPageStore[ni];
+ EngAlmanac& engAlm = almStore[ni];
+ SubframePage sp(sfid, page);
+ almPages[sp] = msg;
+ almPages.insert(make_pair(sp, msg));
+
+ if (makeEngAlmanac(engAlm, almPages))
+ {
+ out << msg.time.printf(timeFormat)
+ << " Built complete alm from prn " << ni.second
+ << " " << asString(ni.first.second)
+ << " " << asString(ni.first.first)
+ << endl;
+ if (verboseLevel>1)
+ engAlm.dump(out);
+ almPages.clear();
+ engAlm = EngAlmanac();
+ }
+ }
+ else
+ {
+ EphemerisPages& ephPages = ephPageStore[ni];
+ ephPages[sfid] = msg;
+ EngEphemeris engEph;
+
+ if (makeEngEphemeris(engEph, ephPages))
+ {
+ out << msg.time.printf(timeFormat)
+ << " Built complete eph from prn " << ni.second
+ << " " << asString(ni.first.second)
+ << " " << asString(ni.first.first)
+ << endl;
+ if (verboseLevel>1)
+ out << engEph;
+ ephStore[ni] = engEph;
+ }
+ }
+ }
+ else
+ {
+ out << msg.time.printf(timeFormat)
+ << " Parity error on prn:" << setw(2) << msg.prn
+ << " " << asString(msg.carrier)
+ << ":" << setw(6) << left << asString(msg.range)
+ << " TOW:" << setw(6) << msg.getHOWTime()
+ << " SFID:" << sfid
+ << endl;
+ }
+} // end of process()
diff --git a/trunk/apps/MDPtools/NavProc.hpp b/trunk/apps/MDPtools/NavProc.hpp
new file mode 100644
index 0000000..64902ff
--- /dev/null
+++ b/trunk/apps/MDPtools/NavProc.hpp
@@ -0,0 +1,55 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/NavProc.hpp#2 $"
+
+#ifndef MDPNAV_HPP
+#define MDPNAV_HPP
+
+#include "EngEphemeris.hpp"
+#include "EngAlmanac.hpp"
+
+#include "MDPProcessors.hpp"
+
+//-----------------------------------------------------------------------------
+class MDPNavProcessor : public MDPProcessor
+{
+public:
+ MDPNavProcessor(gpstk::MDPStream& in, std::ofstream& out);
+ ~MDPNavProcessor();
+
+ virtual void process(const gpstk::MDPNavSubframe& msg);
+
+ bool firstNav;
+
+ static const int maxChannel=12;
+
+ // First time is of the first missed epoch, second time is the last missed epoch
+ // (i.e. first = previous + obsRateEst, second=current-ObsRateEst
+ typedef std::pair<gpstk::DayTime, gpstk::DayTime> DayTimePair;
+ typedef std::list<DayTimePair> DayTimePairList;
+
+ // Used to control whether we process the engineering eph/alms.
+ bool ephOut;
+ bool almOut;
+
+ // This is really a triple: prn, RangeCode, CarrierCode
+ typedef std::pair<gpstk::RangeCode, gpstk::CarrierCode> RangeCarrierPair;
+ typedef std::pair<RangeCarrierPair, short> NavIndex;
+
+ // This class can keep track of a subframe and where it came from
+ typedef std::map<NavIndex, gpstk::MDPNavSubframe> NavMap;
+
+ // A note on nomenclature. A navigation subframe is as defined in the
+ // '200 and refers a set of 300 bits of the navigation that can be modulated
+ // on the various codes. Think of it as the raw bits. A navigation message
+ // is a logical set of these subframes. For an ephemeris it will always consist
+ // of three subframes, with subframe ids of 1, 2, and 3. For an almanac it will
+ // consist of an undefined number of subframes, all with subframe ids of 4 and 5.
+
+ NavMap prev, curr;
+
+ std::map<NavIndex, gpstk::AlmanacPages> almPageStore;
+ std::map<NavIndex, gpstk::EngAlmanac> almStore;
+
+ std::map<NavIndex, gpstk::EphemerisPages> ephPageStore;
+ std::map<NavIndex, gpstk::EngEphemeris> ephStore;
+};
+#endif
diff --git a/trunk/apps/MDPtools/ScreenProc.cpp b/trunk/apps/MDPtools/ScreenProc.cpp
new file mode 100644
index 0000000..49ae792
--- /dev/null
+++ b/trunk/apps/MDPtools/ScreenProc.cpp
@@ -0,0 +1,354 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/ScreenProc.cpp#5 $"
+
+#include "Geodetic.hpp"
+#include "GPSGeoid.hpp"
+#include "StringUtils.hpp"
+
+
+#include "ScreenProc.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+extern "C" void wench(int sig);
+
+/* 1 2 3 4 5 6 7
+ 01234567890123456789012345678901234567890123456789012345678901234567890123456789
+ |--------------------------------------------------------------------------------
+ 0|hostname:port 02:43:12 7/7/05 GPS
+ 1|
+ 2|PVT: 02:43:23.5 Offset: 234,456.1 ns Drift: 13.235 ns/d
+ 3|Lon: -179.122345 Lat: 30.12345 N Ht: 230.0 m Rate: 1.0 s
+ 4| Vx: 0.0 cm/s Vy: 0.0 cm/s Vz: 0.00 cm/s PDOP: 12.2
+ 5|
+ 6|Obs Rate: 1.5 s
+ 7| C1 P1 C2 P2 lock res
+ 8|Ch Prn Az El SNR SNR SNR SNR count iodc h (m)
+ 9|-- --- --- --- ---- ------ ---- ------ ------ ---- - -----
+10| 1 8 133 22+ 41.2 33.8 Y 38.1 39.2 Y 432000 2ba 0
+11| 2 31
+12| 3 23
+13| 4 27
+14| 5 28
+15| 6 3
+16| 7 11
+17| 8 13
+18| 9 7
+19|10 19
+20|11 --
+21|12 --
+22|
+23|
+ |-------------------------------------------------------------------------------
+*/
+int tCol=5, offCol=26, driftCol=47, lonCol=5, latCol=23, altCol=40, prateCol=59;
+
+int prnCol=3, azCol=8, elCol=13, c1snrCol=18, p1snrCol=24, c2snrCol=32,
+ p2snrCol=38, resCol=63, lockCol=46, iodcCol=54, healthCol=60, orateCol=10;
+
+int chanRow=9, pvtRow=2;
+
+bool MDPScreenProcessor::gotWench;
+
+MDPScreenProcessor::MDPScreenProcessor(gpstk::MDPStream& in, std::ofstream& out):
+ MDPProcessor(in, out),
+ updateRate(0.5), obsRate(-1), pvtRate(-1), die(false)
+{
+ // First set up curses
+ signal(SIGWINCH, wench);
+ win = initscr();
+ cbreak();
+ nodelay(win,true);
+ noecho();
+ nonl();
+ intrflush(win, true);
+ keypad(win, true);
+ prev_curs = ::curs_set(0); // we want an invisible cursor.
+ gotWench=false;
+
+ drawBase();
+
+ obsOut = true;
+ pvtOut = true;
+ navOut = true;
+ tstOut = true;
+}
+
+
+MDPScreenProcessor::~MDPScreenProcessor()
+{
+ curs_set(prev_curs);
+ endwin();
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPScreenProcessor::process(const MDPObsEpoch& oe)
+{
+ int chan=oe.channel;
+
+ if (chan>12)
+ return;
+
+ // Figure out whether the SV is rising or setting
+ if ((currentObs[chan]).elevation > oe.elevation)
+ elDir[chan]=-1;
+ else if ((currentObs[chan]).elevation < oe.elevation)
+ elDir[chan]=+1;
+ else
+ elDir[chan]=0;
+
+ // Determine the obs output rate
+ double dt = oe.time - currentObs[chan].time;
+ if (currentObs[chan].prn > 0 && std::abs(dt-obsRate) > 1e-3)
+ obsRate=dt;
+
+ currentObs[chan] = oe;
+
+ // Set channels inactive if we haven't seen data from them recently
+ if (obsRate>0)
+ for (int i=1; i<=12; i++)
+ if (currentObs[i].prn > 0 && oe.time - currentObs[i].time > obsRate*2)
+ currentObs[i].prn = 0;
+
+ drawChan(chan);
+ redraw();
+
+}
+
+//-----------------------------------------------------------------------------
+void MDPScreenProcessor::process(const MDPPVTSolution& pvt)
+{
+ if (host=="")
+ {
+ host=in.filename;
+ drawBase();
+ }
+
+ double dt = pvt.time - currentPvt.time;
+ if (std::abs(dt-pvtRate) > 1e-3)
+ pvtRate=dt;
+ currentPvt = pvt;
+ drawPVT();
+ redraw();
+}
+
+
+
+void MDPScreenProcessor::process(const gpstk::MDPNavSubframe& sf)
+{
+}
+
+
+// Yes, one would think that sun would have a working curses but NO!!
+// They require a non-const string to be passed to mvwaddstr()
+// grrr.
+void writeAt(WINDOW* win, int row, int col, const string s)
+{
+ char *str = const_cast<char*>(s.c_str());
+ mvwaddstr(win, row, col, str);
+}
+
+void MDPScreenProcessor::redraw()
+{
+ gpstk::DayTime now;
+ if (now - lastUpdateTime > updateRate)
+ {
+ string time=currentPvt.time.printf(" %02H:%02M:%02S %2m/%d/%02y");
+ writeAt(win, 0, COLS-time.length()-5, time.c_str());
+ lastUpdateTime = now;
+ int ch = getch();
+ if (tolower(ch)=='q')
+ {
+ die=true;
+ writeAt(win, 0, 0, "Exiting program.");
+ // Use this to indicate that it is time to quit
+ in.setstate(ios_base::failbit);
+ }
+
+ if (gotWench)
+ {
+ char buff[30];
+ sprintf(buff, "%2d x %2d (wench)", LINES, COLS);
+ writeAt(win, 0, COLS/2-15, buff);
+ gotWench=false;
+ clearok(win,true);
+ }
+ }
+ wrefresh(win);
+}
+
+
+void MDPScreenProcessor::drawPVT()
+{
+ string s=rightJustify(asString(pvtRate,1), 3) + " s";
+ writeAt(win, pvtRow+1 , prateCol, s.c_str());
+
+ string time=currentPvt.time.printf("%02H:%02M:%04.1f");
+ writeAt(win, pvtRow, tCol, time.c_str());
+ string off=rightJustify(asString(currentPvt.dtime*1e9, 1), 9) + " ns";
+ writeAt(win, pvtRow, offCol, off.c_str());
+
+ gpstk::GPSGeoid gm;
+ gpstk::Geodetic llh(currentPvt.x, &gm);
+
+ string lat, lon, alt;
+ if (llh[0] > 0)
+ lat=leftJustify(asString(llh[0],5)+" N", 12);
+ else
+ lat=leftJustify(asString(std::abs(llh[0]),5)+" S", 12);
+ if (llh[1] < 180)
+ lon=leftJustify(asString(llh[1],5)+" E", 12);
+ else
+ lon=leftJustify(asString(360.0-llh[1],5)+" W", 12);
+ alt=leftJustify(asString(llh[2],3) + " m", 12);
+ writeAt(win, pvtRow+1, latCol, (const char *)lat.c_str());
+ writeAt(win, pvtRow+1, lonCol, lon.c_str());
+ writeAt(win, pvtRow+1, altCol, alt.c_str());
+
+ // These items are of questionable value, so make the user ask for them.
+ if (verboseLevel)
+ {
+ string drift=rightJustify(asString(currentPvt.ddtime*1e9*86400, 2), 9) + " ns/d";
+ writeAt(win, pvtRow, driftCol, drift.c_str());
+ string vx, vy, vz;
+ vx=leftJustify(asString(currentPvt.v[0] * 100, 2)+" cm/s", 11);
+ vy=leftJustify(asString(currentPvt.v[1] * 100, 2)+" cm/s", 11);
+ vz=leftJustify(asString(currentPvt.v[2] * 100, 2)+" cm/s", 11);
+ writeAt(win, pvtRow+2, lonCol, vx.c_str());
+ writeAt(win, pvtRow+2, latCol, vy.c_str());
+ writeAt(win, pvtRow+2, altCol, vz.c_str());
+ }
+}
+
+void MDPScreenProcessor::drawChan(int chan)
+{
+ if (chan>12 || chan < 1)
+ return;
+
+ for (int i=1; i<=12; i++)
+ if (currentObs[i].prn == 0)
+ {
+ writeAt(win, chanRow+i, prnCol, " --");
+ wclrtoeol(win);
+ }
+
+ int row = chanRow + chan;
+ const MDPObsEpoch& obs=currentObs[chan];
+ if (obs.prn == 0)
+ return;
+
+ string orate=rightJustify(asString(obsRate,1)+" s", 5);
+ writeAt(win, chanRow-3 , orateCol, orate.c_str());
+
+ string prn=rightJustify(asString((int)obs.prn), 3);
+ string az=rightJustify(asString(obs.azimuth, 0), 3);
+ string el=rightJustify(asString(obs.elevation, 0), 2);
+ string health = rightJustify(int2x(obs.status), 2);
+
+ if (elDir[chan] > 0)
+ el=el+"+";
+ else if (elDir[chan] < 0)
+ el=el+"-";
+
+ writeAt(win, row, prnCol, prn.c_str());
+ writeAt(win, row, azCol, az.c_str());
+ writeAt(win, row, elCol, el.c_str());
+ writeAt(win, row, healthCol, health.c_str());
+
+ // RangeCode: rcUnknown, rcCA, rcPcode, rcYcode, rcCodeless, rcL2CM, rcL2CL, rcMcode1, rcMcode2
+ // NavCode: ncUnknown, ncICD_200_2, ncICD_700_M, ncICD_705_L5, ncICD_200_4
+ if (obs.haveObservation(ccL1, rcCA))
+ {
+ MDPObsEpoch::Observation o = obs.getObservation(ccL1, rcCA);
+ string snr = rightJustify(asString(o.snr, 1), 4);
+ string lockCount = rightJustify(asString(o.lockCount), 6);
+ writeAt(win, row, c1snrCol, snr.c_str());
+ writeAt(win, row, lockCol, lockCount.c_str());
+ }
+
+ if (obs.haveObservation(ccL2,rcCM))
+ {
+ MDPObsEpoch::Observation o = obs.getObservation(ccL2, rcCM);
+ string snr = rightJustify(asString(o.snr, 1), 4);
+ string lockCount = rightJustify(asString(o.lockCount), 6);
+ writeAt(win, row, c2snrCol, snr.c_str());
+ }
+
+ if (obs.haveObservation(ccL1, rcYcode))
+ {
+ MDPObsEpoch::Observation o=obs.getObservation(ccL1, rcYcode);
+ string snr = rightJustify(asString(o.snr, 1), 4) + " Y";
+ writeAt(win, row, p1snrCol, snr.c_str());
+ }
+ else if (obs.haveObservation(ccL1, rcPcode))
+ {
+ MDPObsEpoch::Observation o=obs.getObservation(ccL1, rcPcode);
+ string snr = rightJustify(asString(o.snr, 1), 4) + " P";
+ writeAt(win, row, p1snrCol, snr.c_str());
+ }
+ else if (obs.haveObservation(ccL1, rcCodeless))
+ {
+ MDPObsEpoch::Observation o=obs.getObservation(ccL1, rcYcode);
+ string snr = rightJustify(asString(o.snr, 1), 4) + " Z";
+ writeAt(win, row, p1snrCol, snr.c_str());
+ }
+
+ if (obs.haveObservation(ccL2, rcYcode))
+ {
+ MDPObsEpoch::Observation o=obs.getObservation(ccL2, rcPcode);
+ string snr = rightJustify(asString(o.snr, 1), 4) + " Y";
+ writeAt(win, row, p2snrCol, snr.c_str());
+ }
+ else if (obs.haveObservation(ccL2, rcPcode))
+ {
+ MDPObsEpoch::Observation o=obs.getObservation(ccL2, rcYcode);
+ string snr = rightJustify(asString(o.snr, 1), 4) + " P";
+ writeAt(win, row, p2snrCol, snr.c_str());
+ }
+ else if (obs.haveObservation(ccL2, rcCodeless))
+ {
+ MDPObsEpoch::Observation o=obs.getObservation(ccL2, rcYcode);
+ string snr = rightJustify(asString(o.snr, 1), 4) + " Z";
+ writeAt(win, row, p2snrCol, snr.c_str());
+ }
+}
+
+void MDPScreenProcessor::drawBase()
+{
+ wclear(win);
+ char buff[80];
+ sprintf(buff, "%2d x %2d", LINES, COLS);
+ writeAt(win, 0, COLS/2-4, buff);
+
+ writeAt(win, 0, 0, host.c_str());
+ writeAt(win, 0, COLS-3, "GPS");
+
+ writeAt(win, pvtRow, 0, "PVT: Offset:");
+ writeAt(win, pvtRow+1, 0, "Lon: Lat: Ht: Rate:");
+ if (verboseLevel)
+ {
+ writeAt(win, pvtRow, 0, "PVT: Offset: Drift:");
+ writeAt(win, pvtRow+2, 0, " Vx: Vy: Vz:");
+ }
+
+ writeAt(win, chanRow-3, 0, "Obs Rate:");
+ writeAt(win, chanRow-2, 0, " C1 P1 C2 P2 lock ");
+ writeAt(win, chanRow-1, 0, "Ch Prn Az El SNR SNR SNR SNR count iodc h");
+ writeAt(win, chanRow, 0, "-- --- --- -- ---- ------ ---- ------ ------ ---- --");
+ for (int i=1; i<=12; i++)
+ {
+ string str=rightJustify(asString(i),2);
+ writeAt(win, chanRow+i, 0, str.c_str());
+ writeAt(win, chanRow+i, prnCol, " --");
+ wclrtoeol(win);
+ }
+ redraw();
+}
+
+/* should consider doing endwin(), initscr() and redrawing the window */
+void wench(int sig)
+{
+ MDPScreenProcessor::gotWench=true;
+}
diff --git a/trunk/apps/MDPtools/ScreenProc.hpp b/trunk/apps/MDPtools/ScreenProc.hpp
new file mode 100644
index 0000000..9e79c1c
--- /dev/null
+++ b/trunk/apps/MDPtools/ScreenProc.hpp
@@ -0,0 +1,54 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/ScreenProc.hpp#2 $"
+
+#ifndef MDPSCREEN_HPP
+#define MDPSCREEN_HPP
+
+#include "MDPProcessors.hpp"
+
+#include <signal.h>
+#ifdef LINUX
+#include <bits/signum.h>
+#endif
+
+// This prevents forte from using the macro implementation of many of the curses
+// calls. They tend to interfere with parts of the STL.
+#define NOMACROS
+#include <curses.h>
+#ifndef __linux__
+typedef int attr_t;
+#endif
+
+
+class MDPScreenProcessor : public MDPProcessor
+{
+public:
+ MDPScreenProcessor(gpstk::MDPStream& in, std::ofstream& out);
+ ~MDPScreenProcessor();
+
+ virtual void process(const gpstk::MDPObsEpoch& obs);
+ virtual void process(const gpstk::MDPPVTSolution& pvt);
+ virtual void process(const gpstk::MDPNavSubframe& sf);
+
+ void redraw();
+
+ void drawChan(int chan=0);
+ void drawPVT();
+ void drawBase();
+
+ std::string host;
+ float updateRate;
+ double obsRate, pvtRate;
+ WINDOW *win;
+ int prev_curs;
+
+ int verboseLevel;
+ bool die;
+ static bool gotWench;
+
+ int elDir[13];
+ gpstk::MDPObsEpoch currentObs[13];
+ gpstk::MDPPVTSolution currentPvt;
+ gpstk::DayTime lastUpdateTime;
+};
+
+#endif
diff --git a/trunk/apps/MDPtools/SummaryProc.cpp b/trunk/apps/MDPtools/SummaryProc.cpp
new file mode 100644
index 0000000..b61abb8
--- /dev/null
+++ b/trunk/apps/MDPtools/SummaryProc.cpp
@@ -0,0 +1,402 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/SummaryProc.cpp#6 $"
+
+/*
+ This intended to perform a quick summary/analysis of the data in a MDP file
+ or stream. The idea is teqc +meta or +mds with a little bit of +qc thrown
+ in for good measure.
+
+ Mainly driven by the needs of the receiver test cases. The following are
+ some of the test cases that this class is to support.
+
+ RS-13 | needs to report data gaps |
+ RS-16 | needs to report data gaps (based upon presense of data, not sv visibility) |
+ RS-31 | Needs to report jumps in the clock offset reported in the PVT messages |
+ RS-32 | "" |
+ RS-58 | Analyze the changes in lock count over tracking anomolies |
+ RS-72 | |
+ RS-133 | Heh, need to run this for 90 days... |
+*/
+
+#include "Geodetic.hpp"
+#include "SummaryProc.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+
+//-----------------------------------------------------------------------------
+MDPSummaryProcessor::MDPSummaryProcessor(gpstk::MDPStream& in, std::ofstream& out)
+ : MDPProcessor(in, out),
+ numEpochs(0), numObsEpochMsg(0),
+ firstObs(true), firstPvt(true), firstNav(true), firstSelftest(true),
+ firstEpochTime(gpstk::DayTime::END_OF_TIME),
+ lastEpochTime(gpstk::DayTime::BEGINNING_OF_TIME),
+ prevEpochTime(gpstk::DayTime::BEGINNING_OF_TIME),
+ obsRateEst(0), pvtRateEst(0),
+ prevObs(maxChannel+1),
+ chanGapList(maxChannel+1)
+{
+ elevBins.push_back(elevationPair(10,90));
+ elevBins.push_back(elevationPair( 0, 5));
+ elevBins.push_back(elevationPair( 5,10));
+ elevBins.push_back(elevationPair(10,20));
+ elevBins.push_back(elevationPair(20,60));
+ elevBins.push_back(elevationPair(60,90));
+ processBad = true;
+}
+
+
+//-----------------------------------------------------------------------------
+MDPSummaryProcessor::~MDPSummaryProcessor()
+{
+ using gpstk::RangeCode;
+ using gpstk::CarrierCode;
+ using gpstk::StringUtils::asString;
+
+ out << "Done processing data." << endl << endl;
+
+ out << endl << "Observation Epoch message summary:" << endl;
+
+ if (firstObs)
+ out << "No Observation Epoch messages processed." << endl;
+ else
+ {
+
+ double dt = lastEpochTime - firstEpochTime;
+ out << " Processed " << numObsEpochMsg
+ << " observation epoch messages spanning "
+ << numEpochs << " epochs."
+ << endl
+ << " Obs data spans " << firstEpochTime.printf(timeFormat)
+ << " to " << lastEpochTime.printf(timeFormat)
+ << " (" << secondsAsHMS(dt) << ")"
+ << endl
+ << " Obs output rate is " << obsRateEst
+ << " sec."
+ << endl << endl;
+
+ if (epochGapList.size())
+ for (DayTimePairList::const_iterator i=epochGapList.begin(); i!=epochGapList.end(); i++)
+ out << " Data gap from " << i->first.printf(timeFormat)
+ << " to " << i->second .printf(timeFormat)
+ << " ( " << secondsAsHMS(i->first - i->second) << " )."
+ << endl;
+
+ for (elevBinList::const_iterator i=elevBins.begin(); i!=elevBins.end(); i++)
+ {
+ const ocm &oc = whack[*i];
+ if (oc.size())
+ out << " Elevation: " << i->first << "..." << i->second << endl;
+ for (ocm::const_iterator j=oc.begin(); j!=oc.end(); j++)
+ {
+ const rc_set ccs = j->first;
+ if (ccs.size())
+ {
+ out << setw(10) << j->second << " ";
+ for (rc_set::const_iterator k=ccs.begin(); k!=ccs.end(); k++)
+ out << "(" << asString(k->second)
+ << ", " << asString(k->first) << ")";
+ out << endl;
+ }
+ }
+ if (verboseLevel<2)
+ break;
+ out << endl;
+ }
+ }
+
+ out << endl << "PVT Solution message summary:" << endl;
+ if (firstPvt)
+ out << " No PVT Solution messages processed." << endl;
+ else
+ {
+ out << " PVT output rate is " << pvtRateEst << " sec." << endl;
+ }
+
+
+ out << endl << "Navigation Subframe message summary:" << endl;
+ if (firstNav)
+ out << " No Navigation Subframe messages processed." << endl;
+ else
+ {
+ out << " TBD." << endl;
+ }
+
+ out << endl;
+ if (badMessages.size())
+ {
+ out << "Received " << badMessages.size() << " messages with an error." << endl;
+ if (verboseLevel)
+ for (MDPList::const_iterator i=badMessages.begin(); i!=badMessages.end(); i++)
+ i->dump(out);
+ }
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPSummaryProcessor::process(const gpstk::MDPObsEpoch& msg)
+{
+ if (!msg)
+ {
+ badMessages.push_back(msg);
+ return;
+ }
+
+ // First, do gross accounting on the rate the obs are coming in
+ if (firstObs)
+ {
+ firstEpochTime = msg.time;
+ firstObs = false;
+ if (verboseLevel)
+ out << msg.time.printf(timeFormat)
+ << " Received first Observation Epoch message"
+ << endl;
+ }
+ else
+ {
+ double dt = msg.time - prevEpochTime;
+ if (std::abs(dt - obsRateEst) > 1e-3 && dt>0)
+ {
+ gpstk::DayTime first = prevEpochTime + dt;
+ gpstk::DayTime second = msg.time - dt;
+ epochGapList.push_back(DayTimePair(first, second));
+ if (verboseLevel)
+ {
+ out << msg.time.printf(timeFormat)
+ << " Obs output rate " << dt << " sec";
+ if (obsRateEst != 0)
+ out << "was " << obsRateEst << " sec).";
+ out << endl;
+ }
+ obsRateEst = dt;
+ }
+ }
+ lastEpochTime=msg.time;
+ // Keep track of the number of epochs we have processed
+ if (prevEpochTime != msg.time)
+ numEpochs++;
+
+ // Next, make a set of the obs that this epoch has and add
+ // this to a list in the appropriate elevation bin
+ rc_set ccs;
+ for (gpstk::MDPObsEpoch::ObsMap::const_iterator i = msg.obs.begin();
+ i != msg.obs.end(); i++)
+ {
+ const gpstk::MDPObsEpoch::Observation& obs=i->second;
+ rcpair rcPair(obs.range, obs.carrier);
+ ccs.insert(rcPair);
+ }
+
+ // figure out what bins we should update code/carrier counts on
+ for (elevBinList::const_iterator i=elevBins.begin(); i!=elevBins.end(); i++)
+ if (msg.elevation >= i->first && msg.elevation <= i->second)
+ whack[*i][ccs]++;
+
+ // This part does some accounting on a per channel basis. The intent is to
+ // look for when there is a gap in the data on a channel.
+ int prn=msg.prn;
+ int chan=msg.channel;
+
+ // First check to see if this channel has been used yet...
+ if (prevObs[chan].prn == 0)
+ {
+ // do nothing
+ }
+ else
+ {
+ // flag when there is a gap on this channel
+ double dt = msg.time - prevObs[chan].time;
+ if (std::abs(dt) < 1e-3)
+ {
+ out << msg.time.printf(timeFormat)
+ << " Got two consecutive obs on channel "
+ << chan << " with the same time." << endl;
+ if (verboseLevel)
+ msg.dump(out), prevObs[chan].dump(out);
+ }
+ else if (obsRateEst == 0)
+ {
+ // do nothing
+ }
+ else if ( (std::abs(dt - obsRateEst) > 1e-3) &&
+ (prevObs[chan].prn == msg.prn) )
+ {
+ gpstk::DayTime first = prevObs[chan].time + dt;
+ gpstk::DayTime second = msg.time - dt;
+ chanGapList[chan].push_back(DayTimePair(first, second));
+ if (verboseLevel)
+ out << msg.time.printf(timeFormat)
+ << " Data gap on channel " << chan
+ << ", " << secondsAsHMS(dt)
+ << endl;
+ if (verboseLevel>2)
+ {
+ out << " prev obs on chan " << chan << endl;
+ prevObs[chan].dump(out);
+ out << " curr obs:" << endl;
+ msg.dump(out);
+ }
+ }
+
+ // Look for discontinuities in the lock count
+ // Since this can be quite verbose, only do it in verbose mode
+ if (verboseLevel)
+ {
+ for (gpstk::MDPObsEpoch::ObsMap::const_iterator i = msg.obs.begin();
+ i != msg.obs.end(); i++)
+ {
+ const gpstk::MDPObsEpoch::Observation& curr=i->second;
+ if (prevObs[chan].haveObservation(i->first.first, i->first.second))
+ {
+ gpstk::MDPObsEpoch::Observation prev = prevObs[chan].getObservation(i->first.first, i->first.second);
+ if (curr.lockCount - prev.lockCount != 1)
+ {
+ // The current ash2mdp has periods where it outputs every
+ // message with a lock count of zero
+ if ((prev.lockCount > 0 && verboseLevel) || verboseLevel>1)
+ out << msg.time.printf(timeFormat)
+ << " Lock count reset prn " << prn
+ << ", chan " << chan
+ << ", " << asString(i->first.first)
+ << " " << asString(i->first.second)
+ << " (" << prev.lockCount
+ << " -> " << curr.lockCount
+ << ")" << endl;
+ }
+ }
+ }
+ }
+ }
+
+ prevObs[chan] = msg;
+ prevEpochTime = msg.time;
+ numObsEpochMsg++;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPSummaryProcessor::process(const gpstk::MDPPVTSolution& msg)
+{
+ if (!msg)
+ {
+ badMessages.push_back(msg);
+ return;
+ }
+
+ if (firstPvt)
+ {
+ firstPvt = false;
+ if (verboseLevel)
+ out << msg.time.printf(timeFormat)
+ << " Received first PVT Solution message"
+ << endl;
+ }
+ else
+ {
+ double dt = msg.time - prevPvt.time;
+ if (std::abs(dt - pvtRateEst) > 1e-3 && dt>0)
+ {
+ if (verboseLevel)
+ {
+ out << msg.time.printf(timeFormat)
+ << " PVT output rate " << dt << " sec";
+ if (pvtRateEst != 0)
+ out << "(was " << pvtRateEst << " sec).";
+ out << endl;
+ }
+ pvtRateEst = dt;
+ }
+
+ // Look for discontinuities in the recevier clock estimate
+ double ddt = msg.dtime - prevPvt.dtime;
+ double dtdt = ddt/(msg.time - prevPvt.time);
+ double dtdtErr = std::abs(dtdt - msg.ddtime);
+ if (dtdt > 1e-6)
+ out << msg.time.printf(timeFormat)
+ << " Clock jump: " << setprecision(3) << scientific << ddt
+ << " sec, (" << dtdt << " vs " << msg.ddtime
+ << " sec/sec)"
+ << fixed << endl;
+ else if (dtdtErr > 1e-8 && verboseLevel)
+ out << msg.time.printf(timeFormat)
+ << " Clock error: " << setprecision(3) << scientific << ddt
+ << " sec, (" << dtdt << " vs " << msg.ddtime
+ << " sec/sec)"
+ << fixed << endl;
+ }
+
+ prevPvt = msg;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPSummaryProcessor::process(const gpstk::MDPNavSubframe& msg)
+{
+ if (!msg)
+ {
+ badMessages.push_back(msg);
+ return;
+ }
+
+ if (firstNav)
+ {
+ firstNav = false;
+ if (verboseLevel)
+ out << msg.time.printf(timeFormat)
+ << " Received first Navigation Subframe message"
+ << endl;
+ }
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPSummaryProcessor::process(const gpstk::MDPSelftestStatus& msg)
+{
+ if (!msg)
+ {
+ badMessages.push_back(msg);
+ return;
+ }
+
+ if (firstSelftest)
+ {
+ firstSelftest = false;
+ if (verboseLevel)
+ out << msg.time.printf(timeFormat)
+ << " Received first Selftest Status message"
+ << endl;
+ }
+}
+
+std::string MDPSummaryProcessor::secondsAsHMS(double seconds) const
+{
+ std::ostringstream oss;
+ oss << setfill('0');
+
+ if (seconds<0)
+ oss << "-";
+
+ seconds = std::abs(seconds);
+ long d=0,h=0,m=0,s=0;
+ s = static_cast<long>(std::floor(seconds));
+ seconds -= static_cast<double>(s);
+
+ if (s > 86400) { d = s/86400; s %= 86400; }
+ if (s > 3600) { h = s/3600; s %= 3600; }
+ if (s > 60) { m = s/60; s %= 60; }
+
+ if (d) oss << d << " d ";
+ if (h) oss << setw(2) << h << ":";
+ if (m) oss << setw(2) << m << ":";
+ if (h || m)
+ oss << setw(2);
+ oss << s;
+
+ if (seconds >1e-3)
+ oss << "." << setw(3) << seconds*1e3;
+
+ if (h==0 && m==0)
+ oss << " s";
+ return oss.str();
+}
diff --git a/trunk/apps/MDPtools/SummaryProc.hpp b/trunk/apps/MDPtools/SummaryProc.hpp
new file mode 100644
index 0000000..df6427a
--- /dev/null
+++ b/trunk/apps/MDPtools/SummaryProc.hpp
@@ -0,0 +1,62 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/SummaryProc.hpp#4 $"
+
+#ifndef MDPSUMMARY_HPP
+#define MDPSUMMARY_HPP
+
+#include "MDPProcessors.hpp"
+
+//-----------------------------------------------------------------------------
+class MDPSummaryProcessor : public MDPProcessor
+{
+public:
+ MDPSummaryProcessor(gpstk::MDPStream& in, std::ofstream& out);
+ ~MDPSummaryProcessor();
+
+ virtual void process(const gpstk::MDPObsEpoch& msg);
+ virtual void process(const gpstk::MDPPVTSolution& msg);
+ virtual void process(const gpstk::MDPNavSubframe& msg);
+ virtual void process(const gpstk::MDPSelftestStatus& msg);
+
+ unsigned long numEpochs;
+ unsigned long numObsEpochMsg;
+
+ std::string secondsAsHMS(double s) const;
+
+ typedef std::pair<int, int> elevationPair; // first is min, second is max
+ typedef std::list<elevationPair> elevBinList;
+ elevBinList elevBins;
+
+ // Used to determine how many of each type of obs we get
+ typedef std::pair<gpstk::RangeCode, gpstk::CarrierCode> rcpair;
+ typedef std::set<rcpair> rc_set;
+ typedef std::map<rc_set, unsigned long> ocm;
+ typedef std::map<elevationPair, ocm> ebocm;
+ ebocm whack;
+
+ // the time of the first epoch processed and the last epoch processed
+ gpstk::DayTime firstEpochTime, lastEpochTime;
+
+ bool firstObs, firstPvt, firstNav, firstSelftest;
+ double obsRateEst, pvtRateEst;
+ gpstk::DayTime prevEpochTime;
+
+ static const int maxChannel=12;
+
+ // First time is of the first missed epoch, second time is the last missed epoch
+ // (i.e. first = previous + obsRateEst, second=current-ObsRateEst
+ typedef std::pair<gpstk::DayTime, gpstk::DayTime> DayTimePair;
+ typedef std::list<DayTimePair> DayTimePairList;
+ DayTimePairList epochGapList;
+ std::vector<DayTimePairList> chanGapList;
+
+ // This is used to record the previous obs on each channel
+ typedef std::vector<gpstk::MDPObsEpoch> ObsEpochVector;
+ ObsEpochVector prevObs;
+
+ gpstk::MDPPVTSolution prevPvt;
+
+ // A list of all messages that had an error decoding them...
+ typedef std::list<gpstk::MDPHeader> MDPList;
+ MDPList badMessages;
+};
+#endif
diff --git a/trunk/apps/MDPtools/TCPStream.cpp b/trunk/apps/MDPtools/TCPStream.cpp
new file mode 100644
index 0000000..7c143a9
--- /dev/null
+++ b/trunk/apps/MDPtools/TCPStream.cpp
@@ -0,0 +1,317 @@
+#pragma ident * $Id: //depot/sgl/gpstk/dev/apps/MDPtools/TCPStream.cpp#3 $
+
+#include <sstream>
+#include <errno.h>
+#include <stdlib.h>
+
+#include <unistd.h>
+#include <netdb.h>
+#include <fcntl.h>
+#include <sys/file.h>
+#include <netinet/tcp.h>
+
+#include "TCPStream.hpp"
+
+using std::cout;
+using std::endl;
+
+#define BSIZE 4096
+
+#include <arpa/inet.h>
+
+namespace gpstk
+{
+IPaddress::IPaddress(const std::string& host_name)
+{
+ // If the address is in dotted quad notation, this will work.
+ address = inet_addr(host_name.c_str());
+ if ( address != (uint32_t)(-1) )
+ return;
+
+ struct hostent *host_ptr = ::gethostbyname(host_name.c_str());
+ if( host_ptr == 0 )
+ {
+ std::cout << "Host name '" << host_name << "' cannot be resolved";
+ return;
+ }
+ if( host_ptr->h_addrtype != AF_INET )
+ {
+ std::cout << "Host name '" << host_name
+ << "' isn't an AF_INET address" << endl;
+ return;
+ }
+
+ memcpy(&address, host_ptr->h_addr, sizeof(address));
+}
+
+
+ostream& operator << (ostream& os, const IPaddress addr)
+{
+ struct hostent * const host_ptr =
+ ::gethostbyaddr((char *)&addr.address,
+ sizeof(addr.address), AF_INET);
+ if( host_ptr != 0 )
+ return os << host_ptr->h_name;
+
+ // Reverse DNS failed, print in the dot notation
+ char buffer[80];
+ const unsigned int native_addr = ntohl(addr.address);
+ sprintf(buffer,"%0d.%0d.%0d.%0d", (native_addr >> 24) & 0xff,
+ (native_addr >> 16) & 0xff, (native_addr >> 8) & 0xff,
+ native_addr & 0xff);
+ return os << buffer;
+}
+
+//------------------------------------------------------------------------
+SocketAddr::SocketAddr(const IPaddress host, const short port_no)
+{
+ sin_family = AF_INET;
+ sin_port = htons((short)port_no);
+ sin_addr.s_addr = host.net_addr();
+}
+
+ostream& operator << (ostream& os, const SocketAddr& addr)
+{
+ return os << IPaddress(addr.sin_addr.s_addr) << ':'
+ << (unsigned short)ntohs((short)addr.sin_port);
+}
+
+
+//------------------------------------------------------------------------
+TCPbuf* TCPbuf::connect(const SocketAddr target_address)
+{
+ if (is_open())
+ return 0;
+
+ socket_handle = socket(AF_INET,SOCK_STREAM,0);
+ if (!socket_handle)
+ return 0;
+
+ // set_blocking_io(false);
+
+ int connect_status = -1;
+ for (int i=0; i<5 && connect_status != 0; i++)
+ {
+ connect_status = ::connect(socket_handle, (sockaddr *)target_address,
+ sizeof(target_address));
+ if (false)
+ cout << "connect_status " << connect_status
+ << "(" << strerror(connect_status)
+ << ")" << endl;
+
+ // if( errno == EINPROGRESS || errno == EINTR )
+ // callbacks.yield();
+ }
+ if (connect_status !=0)
+ return (TCPbuf*)0;
+
+ set_blocking_io(true);
+
+ // We do our own buffering...
+ char off=0;
+ ::setsockopt(socket_handle, IPPROTO_TCP, TCP_NODELAY, &off, sizeof(off));
+ return this;
+}
+
+
+// Take a file handle (which is supposed to be a listening socket), accept
+// a connection if any, and return a TCPbuf for that connection. On exit,
+// peeraddr would be an addr of the connected peer.
+TCPbuf* TCPbuf::accept(int listening_socket, SocketAddr& peeraddr)
+{
+ // do nothing if we are already connected
+ if (is_open())
+ return 0;
+
+ for(;;)
+ {
+ socklen_t target_addr_size = sizeof(peeraddr);
+ socket_handle = ::accept(listening_socket,(sockaddr *)peeraddr,
+ &target_addr_size);
+ if (socket_handle >= 0)
+ break; // Successfully accepted the connection
+ if (errno == EAGAIN || errno == EINTR)
+ std::cout << "to be implimented" << std::endl;
+ else
+ return this;
+ }
+
+ set_blocking_io(true);
+
+ // We do our own buffering...
+ char off=0;
+ ::setsockopt(socket_handle, IPPROTO_TCP, TCP_NODELAY, &off, sizeof(off));
+ return this;
+}
+
+
+// Close the socket
+TCPbuf* TCPbuf::close(void)
+{
+ if (is_open())
+ {
+ ::close(socket_handle);
+ socket_handle = -1;
+ }
+ return this;
+}
+
+// All that has really been tested is blocking. Non-blocking I/O will need
+// more code to make it functional.
+void TCPbuf::set_blocking_io(const bool onoff)
+{
+ int rc;
+ rc = ::fcntl(socket_handle,F_GETFL,0);
+ rc = ::fcntl(socket_handle,F_SETFL,onoff ? rc & ~O_NONBLOCK :
+ rc | O_NONBLOCK);
+}
+
+// Write characters to the stream, giving time. Return the number of
+// characters actually written (which is always n, or EOF in case of error).
+int TCPbuf::write(const char * buffer, const int n)
+{
+ if( !is_open() )
+ return EOF;
+ if( n == 0 )
+ return 0;
+
+ const char * const buffer_end = buffer + n;
+ while( buffer < buffer_end )
+ {
+ const int char_written = ::write(socket_handle, buffer, buffer_end-buffer);
+ if( char_written > 0 )
+ buffer += char_written;
+ else
+ if (char_written < 0 && !(errno == EAGAIN || errno == EINTR ))
+ return EOF;
+ else
+ std::cout << "to be implimented" << endl;
+ }
+ return n;
+}
+
+// Read characters from the stream into a given buffer (of given size n)
+// If there is nothing to read, yield and keep trying. Return the number
+// of characters actually read, or 0 (in the case of EOF) or EOF on error.
+int TCPbuf::read(char * buffer, const int n)
+{
+ if( !is_open() )
+ return EOF;
+ if( n == 0 )
+ return 0;
+
+ for(;;)
+ {
+ const int char_read = ::read(socket_handle, buffer, n);
+ if( char_read >= 0 )
+ return char_read;
+ if( errno == EAGAIN || errno == EINTR )
+ std::cout << "to be implimented" << std::endl;
+ else
+ return EOF;
+ }
+}
+
+// See libg++-2.7.2/libio/iostream.info-1 for some nice words on how this
+// stuff should work.
+// Flush (write out) the put area, resetting pptr if the write was successful
+// Return 0, or EOF on error
+int TCPbuf::sync(void)
+{
+ const int n = pptr() - pbase();
+ if( n == 0 )
+ return 0;
+ return write(pbase(), n) == n ? (pbump(-n), 0) : EOF;
+}
+
+
+// Write out the buffer into the communication channel After that, put a
+// character c (unless it's EOF) Return 0, or EOF on error. This method
+// allocates a buffer if there wasn't any, and switches it to the "put mode"
+// (discarding all data that may have been in the buffer)
+int TCPbuf::overflow(int ch)
+{
+ if (sync() == EOF)
+ return EOF;
+
+ if (base() == 0) // If there wasn't any buffer,
+ doallocate(); // ... make one
+
+ setg(base(),base(),base()); // Make the get area completely empty
+ setp(base(),ebuf()); // Give all the buffer to the put area
+
+ if (pptr() == 0)
+ cout << "Throw an exception here or something bad." << endl;
+
+ if (ch != EOF)
+ *pptr() = ch, pbump(1);
+
+ return 0;
+}
+
+
+// Fill in the get area, and return its first character. Actually read into
+// the main buffer from the beginning (syncing pending output if was any)
+// and set the get area to that part of the buffer. Also set pptr() = eptr()
+// so that the first write would call overflow() (which would discard the
+// read data)
+int TCPbuf::underflow(void)
+{
+ if( gptr() < egptr() )
+ return *(unsigned char*)gptr();
+
+ if( sync() == EOF ) // commit all pending output first
+ return EOF; // libg++ uses switch_to_get_mode() in here
+
+ if( base() == 0 ) // If there wasn't any buffer, make one first
+ doallocate();
+
+ //assert( base() );
+ base();
+ const int count = read(base(),ebuf() - base());
+ setg(base(),base(),base() + (count <= 0 ? 0 : count));
+ setp(base(),base()); // no put area - do overflow on the first put
+ return count <= 0 ? EOF : *(unsigned char*)gptr();
+}
+
+// Allocate a new buffer
+int TCPbuf::doallocate(void)
+{
+ const int size = BSIZE;
+ // have to do malloc() as ~streambuf() does free() on the buffer
+ char *p = (char *)malloc(size);
+
+ if (p == NULL)
+ cout << "throw an exception here?" << endl;
+
+ setb(p, p+size, true);
+ return 1;
+}
+
+// Associate a user buffer with the TCPbuf
+TCPbuf* TCPbuf::setbuf(char* p, const int len)
+{
+ if( streambuf::setbuf(p,len) == 0 )
+ return 0;
+
+ setp(base(),base());
+ setg(base(),base(),base());
+ return this;
+}
+
+void TCPbuf::dump(ostream& out) const
+{
+ std::ostringstream ost;
+ ost << "TCPbuf: "
+ << " H:" << socket_handle << endl
+ << " put: " << std::hex << pbase() << " - " << epptr()
+ << " curr:" << pptr() - pbase() << endl
+ << " get:" << eback() << " - " << egptr()
+ << " curr:" << gptr() - eback() << endl
+ << " buff:" << base() << " - " << ebuf()
+ << endl;
+ //printf("\nSend buffer size %d\n",get_sock_opt(SO_SNDBUF,int()));
+ out << ost.str();
+}
+
+} // end of namespace
diff --git a/trunk/apps/MDPtools/TCPStream.hpp b/trunk/apps/MDPtools/TCPStream.hpp
new file mode 100644
index 0000000..9f464b7
--- /dev/null
+++ b/trunk/apps/MDPtools/TCPStream.hpp
@@ -0,0 +1,154 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/TCPStream.hpp#4 $"
+
+#ifndef TCPSTREAM_HPP
+#define TCPSTREAM_HPP
+
+#include <stdio.h>
+#if !defined(unix)
+#include <winsock.h>
+#else
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#endif
+
+#include <iostream>
+using std::ostream;
+using std::iostream;
+using std::streambuf;
+using std::streamoff;
+using std::streampos;
+using std::ios;
+
+namespace gpstk
+{
+ class SocketAddr;
+
+ class IPaddress
+ {
+ friend class SocketAddr;
+
+ unsigned long address; // Address: 4 bytes in the network byte order
+ IPaddress(const unsigned int netaddr) : address(netaddr) {}
+
+ public:
+ IPaddress() : address(INADDR_ANY) {} // Wildcard address
+ IPaddress(const std::string& name); // Involves the name resolution
+ unsigned long net_addr() const { return address; }
+
+ friend ostream& operator << (ostream& os, const IPaddress addr);
+ friend ostream& operator << (ostream& os, const SocketAddr& addr);
+ };
+
+ class SocketAddr : sockaddr_in
+ {
+ friend class StreamSocket;
+ friend class UDPsocketIn;
+ SocketAddr() {}
+
+ public:
+ SocketAddr(const IPaddress host, const short port_no);
+ operator sockaddr * () const { return (sockaddr *)this; }
+ friend ostream& operator << (ostream& os, const SocketAddr& addr);
+ };
+
+ struct Buffer
+ {
+ char * start;
+ char * end;
+ bool do_dispose;
+ void dispose()
+ {
+ if(!do_dispose) return;
+ free(start); start = end = 0; do_dispose = false;
+ }
+ Buffer(void) : start(0), end(0), do_dispose(false) {}
+ ~Buffer(void) { dispose(); }
+ };
+
+
+ // TCPStream buffer: Its streambuf parent is supposed to handle all buffering
+ // chores. We only have to allocate the buffer and provide for its filling
+ // and flushing.
+ class TCPbuf : public streambuf
+ {
+ public:
+ TCPbuf() : socket_handle(-1), bufferSize(4096)
+ {}
+
+ ~TCPbuf()
+ {close();};
+
+ // These are the functions that actually read/write from the socket to/from
+ // a given buffer. They return the number of bytes transmitted (or
+ // EOF on error)
+ int write(const char * buffer, const int n);
+ int read(char * buffer, const int n);
+
+ bool is_open() const { return socket_handle >= 0; }
+ TCPbuf* close();
+ virtual TCPbuf* setbuf(char* p, const int len);
+
+ // TCP stream is strictly sequential
+ streampos seekoff(streamoff, ios::seekdir, int)
+ { return EOF; }
+
+ // Actual connection operation
+ TCPbuf* connect(const SocketAddr target_address);
+
+ void dump(ostream& out) const;
+
+ // Some TCP specific stuff
+ void set_blocking_io(const bool onoff);
+
+ // Enable/disable SIGIO upon arriving of a new packet
+ void enable_sigio(const bool onoff);
+
+ // Take a file handle (which is supposed to be a listening socket),
+ // accept a connection if any, and return the corresponding TCPbuf
+ // for that connection. On exit, peeraddr would be an addr of the
+ // connected peer
+ TCPbuf* accept(int listening_socket, SocketAddr& peeraddr);
+
+ Buffer buffer;
+ int socket_handle;
+ unsigned bufferSize;
+
+ protected:
+ // Standard streambuf functions we have to
+ // provide an implementation for
+ virtual int overflow(int c = EOF); // Write out a "put area"
+ virtual int underflow(void); // Fill in a "get area"
+ virtual int sync(void); // Commit all uncommitted writes
+ virtual int doallocate(void); // Allocate a new buffer
+
+ // we use the same buffer for get and put areas
+ char * base(void) const { return buffer.start; }
+ char * ebuf(void) const { return buffer.end; }
+ void setb(char * buffer_beg, char * buffer_end, bool do_dispose)
+ { buffer.start = buffer_beg; buffer.end = buffer_end;
+ buffer.do_dispose = do_dispose;}
+ };
+
+
+ class TCPStream : public iostream
+ {
+ mutable TCPbuf tcp_buffer; // mutable so rdbuf() can be const
+ public:
+ TCPStream(void) : iostream(0)
+ { init(&tcp_buffer); }
+
+ void connect(const SocketAddr target_address)
+ { clear(); if (!rdbuf()->connect(target_address)) setstate(ios::badbit); }
+
+ TCPbuf* rdbuf(void) const
+ { return &tcp_buffer; }
+
+ bool is_open() const
+ { return rdbuf()->is_open(); }
+
+ void close(void)
+ { if (!rdbuf()->close()) setstate(ios::failbit); }
+ };
+} // end of namespace
+#endif
diff --git a/trunk/apps/MDPtools/TrackProc.cpp b/trunk/apps/MDPtools/TrackProc.cpp
new file mode 100644
index 0000000..18044b5
--- /dev/null
+++ b/trunk/apps/MDPtools/TrackProc.cpp
@@ -0,0 +1,141 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/TrackProc.cpp#5 $"
+
+/*
+ This intended to perform a quick summary/analysis of the data in a MDP file
+ or stream. The idea is teqc +meta or +mds with a little bit of +qc thrown
+ in for good measure
+*/
+
+#include "Geodetic.hpp"
+#include "TrackProc.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+
+//-----------------------------------------------------------------------------
+MDPTrackProcessor::MDPTrackProcessor(gpstk::MDPStream& in, std::ofstream& out)
+ : MDPProcessor(in, out),
+ currCv(13), prevCv(13)
+{
+ timeFormat = "%02H:%02M:%04.1f";
+ for (int i=1; i<currCv.size(); i++)
+ currCv[i].prn=-1;
+ for (int i=1; i<prevCv.size(); i++)
+ prevCv[i].prn=-1;
+
+ obsOut = true;
+}
+
+
+MDPTrackProcessor::~MDPTrackProcessor()
+{}
+
+void MDPTrackProcessor::process(const gpstk::MDPObsEpoch& oe)
+{
+ if (oe.time != currTime)
+ {
+ printChanges();
+ prevTime = currTime;
+ currTime = oe.time;
+ prevCv = currCv;
+ for (int i=1; i<currCv.size(); i++)
+ currCv[i].prn=-1;
+ }
+
+ int prn=oe.prn;
+ int chan=oe.channel;
+
+ if (chan<1 || chan >12)
+ cout << "Bad channel" << endl, exit(-1);
+
+ // make a set of the obs that this epoch has
+ rc_set ccs;
+ currCv[chan].codes = " ";
+ for (gpstk::MDPObsEpoch::ObsMap::const_iterator i = oe.obs.begin();
+ i != oe.obs.end(); i++)
+ {
+ const gpstk::MDPObsEpoch::Observation& obs=i->second;
+ rcpair rcPair(obs.range, obs.carrier);
+ ccs.insert(rcPair);
+ if (obs.carrier == ccL1)
+ {
+ if (obs.range == rcCA) currCv[chan].codes[0] = 'c';
+ if (obs.range == rcPcode) currCv[chan].codes[1] = 'p';
+ else if (obs.range == rcYcode) currCv[chan].codes[1] = 'y';
+ else if (obs.range == rcCodeless) currCv[chan].codes[1] = 'z';
+ }
+ else if (obs.carrier == ccL2)
+ {
+ if (obs.range == rcCM) currCv[chan].codes[2] = 'm';
+ else if (obs.range == rcCL) currCv[chan].codes[2] = 'l';
+ else if (obs.range == rcCMCL) currCv[chan].codes[2] = 'x';
+ else if (obs.range == rcCA) currCv[chan].codes[2] = 'c';
+ if (obs.range == rcPcode) currCv[chan].codes[3] = 'p';
+ else if (obs.range == rcYcode) currCv[chan].codes[3] = 'y';
+ else if (obs.range == rcCodeless) currCv[chan].codes[3] = 'z';
+ }
+ }
+ currCv[chan].obs = ccs;
+ currCv[chan].prn = oe.prn;
+ currCv[chan].elevation = oe.elevation;
+}
+
+void MDPTrackProcessor::printChanges()
+{
+ if (verboseLevel)
+ {
+ // This is the one line per channel format.
+ for (int i = 1; i < currCv.size(); i++)
+ {
+ // This means that there has been a change in track
+ bool change = currCv[i].obs != prevCv[i].obs ||
+ currCv[i].prn != prevCv[i].prn ||
+ (prevCv[i].prn == -1 && currCv[i].prn == -1);
+ if (change)
+ {
+ if (prevCv[i].prn == -1 && currCv[i].prn == -1)
+ continue;
+ out << currTime.printf(timeFormat) << " Ch:" << setw(2) << i;
+ if (currCv[i].prn >0)
+ {
+ out << " Prn: " << setw(2) << currCv[i].prn
+ << " Elev: " << fixed << setprecision(1) << setw(4)
+ << currCv[i].elevation << " ";
+ const rc_set &ccs = currCv[i].obs;
+ for (rc_set::const_iterator j=ccs.begin(); j!=ccs.end(); j++)
+ out << " (" << asString(j->second)
+ << ", " << asString(j->first) << ")";
+ }
+ else
+ {
+ out << " unused";
+ }
+ out << endl;
+ }
+ }
+ }
+ else
+ {
+ // This is the one line per epoch with changes
+ bool change=false;
+ for (int i = 1; i < currCv.size() && change==false; i++)
+ change = (currCv[i].obs != prevCv[i].obs ||
+ currCv[i].prn != prevCv[i].prn) &&
+ (prevCv[i].prn != -1 || currCv[i].prn != -1);
+
+ if (change)
+ {
+ out << currTime.printf(timeFormat);
+ for (int i = 1; i < currCv.size(); i++)
+ {
+ if (currCv[i].prn >0)
+ out << setw(4) << currCv[i].prn << currCv[i].codes;
+ else
+ out << setw(4) << " -" << " ";
+ }
+ out << endl;
+ }
+ }
+}
diff --git a/trunk/apps/MDPtools/TrackProc.hpp b/trunk/apps/MDPtools/TrackProc.hpp
new file mode 100644
index 0000000..d526404
--- /dev/null
+++ b/trunk/apps/MDPtools/TrackProc.hpp
@@ -0,0 +1,36 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/TrackProc.hpp#2 $"
+
+#ifndef MDPTRACK_HPP
+#define MDPTRACK_HPP
+
+#include "MDPProcessors.hpp"
+
+//-----------------------------------------------------------------------------
+class MDPTrackProcessor : public MDPProcessor
+{
+public:
+ MDPTrackProcessor(gpstk::MDPStream& in, std::ofstream& out);
+ ~MDPTrackProcessor();
+
+ virtual void process(const gpstk::MDPObsEpoch& oe);
+
+ // Used to determine how many of each type of obs we get
+ typedef std::pair<gpstk::RangeCode, gpstk::CarrierCode> rcpair;
+ typedef std::set<rcpair> rc_set;
+
+ struct ChanRec
+ {
+ int prn;
+ float elevation;
+ rc_set obs;
+ std::string codes;
+ };
+
+ // This is a list of what is being received for each channel
+ typedef std::vector<ChanRec> ChanVector;
+ ChanVector currCv, prevCv;
+ gpstk::DayTime currTime, prevTime;
+
+ void printChanges();
+};
+#endif
diff --git a/trunk/apps/MDPtools/mdp2rinex.cpp b/trunk/apps/MDPtools/mdp2rinex.cpp
new file mode 100644
index 0000000..4a53423
--- /dev/null
+++ b/trunk/apps/MDPtools/mdp2rinex.cpp
@@ -0,0 +1,301 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/mdp2rinex.cpp#8 $"
+
+/** @file Converts an MDP stream into RINEX obs/nav files */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "StringUtils.hpp"
+#include "LoopedFramework.hpp"
+
+#include "RinexObsStream.hpp"
+#include "RinexObsData.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+
+#include "MDPStream.hpp"
+#include "MDPNavSubframe.hpp"
+#include "MDPObsEpoch.hpp"
+
+#include "FormatConversionFunctions.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+
+class MDP2Rinex : public gpstk::LoopedFramework
+{
+public:
+ MDP2Rinex(const std::string& applName)
+ throw()
+ : LoopedFramework(applName, "Converts an MDP stream to RINEX."),
+ navFileOpt('n', "nav", "Filename to write RINEX nav data to."),
+ obsFileOpt('o', "obs", "Filename to write RINEX obs data to. The filename of '-' means to use stdout.", true),
+ mdpFileOpt('i', "mdp-input", "Filename to read MDP data from. The filename of '-' means to use stdin.", true),
+ c2Opt('c', "l2c", "Enable output of L2C data in C2"),
+ thinningOpt('t', "thinning", "A thinning factor for the data, specified in seconds between points. Default: none.")
+ {
+ navFileOpt.setMaxCount(1);
+ obsFileOpt.setMaxCount(1);
+ mdpFileOpt.setMaxCount(1);
+ }
+
+ bool initialize(int argc, char *argv[]) throw()
+ {
+ if (!LoopedFramework::initialize(argc,argv)) return false;
+
+ if (mdpFileOpt.getCount())
+ if (mdpFileOpt.getValue()[0] != "-")
+ mdpInput.open(mdpFileOpt.getValue()[0].c_str());
+ else
+ {
+
+ if (debugLevel)
+ cout << "Taking input from stdin." << endl;
+ mdpInput.copyfmt(std::cin);
+ mdpInput.clear(std::cin.rdstate());
+ mdpInput.std::basic_ios<char>::rdbuf(std::cin.rdbuf());
+ }
+
+
+ if (obsFileOpt.getCount())
+ if (obsFileOpt.getValue()[0] != "-")
+ rinexObsOutput.open(obsFileOpt.getValue()[0].c_str(), std::ios::out);
+ else
+ {
+ if (debugLevel)
+ cout << "Sending output to stdout." << endl;
+ rinexObsOutput.copyfmt(std::cout);
+ rinexObsOutput.clear(std::cout.rdstate());
+ rinexObsOutput.std::basic_ios<char>::rdbuf(std::cout.rdbuf());
+ }
+
+ if (navFileOpt.getCount())
+ rinexNavOutput.open(navFileOpt.getValue()[0].c_str(), std::ios::out);
+ else
+ rinexNavOutput.clear(std::ios::badbit);
+
+ if (thinningOpt.getCount())
+ {
+ thin = true;
+ thinning = gpstk::StringUtils::asInt(thinningOpt.getValue()[0]);
+ if (debugLevel)
+ cout << "Thinning data modulo " << thinning << " seconds." << endl;
+ }
+ else
+ thin = false;
+
+ firstObs = true;
+ return true;
+ }
+
+protected:
+ virtual void spinUp()
+ {
+ if (!mdpInput)
+ {
+ cout << "Error: could not open input." << endl;
+ exit(-1);
+ }
+
+ mdpInput.exceptions(fstream::failbit);
+ rinexObsOutput.exceptions(fstream::failbit);
+
+ if (rinexNavOutput)
+ rinexNavOutput.exceptions(fstream::failbit);
+
+ roh.valid |= gpstk::RinexObsHeader::allValid21;
+ roh.fileType = "Observation";
+ roh.fileProgram = "mdp2rinex";
+ roh.markerName = "Unknown";
+ roh.observer = "Unknown";
+ roh.agency = "Unknown";
+ roh.antennaOffset = gpstk::Triple(0,0,0);
+ roh.antennaPosition = gpstk::Triple(0,0,0);
+ roh.wavelengthFactor[0] = 1;
+ roh.wavelengthFactor[1] = 1;
+ roh.recType = "Unknown MDP";
+ roh.recVers = "Unknown";
+ roh.recNo = "1";
+ roh.antType = "Unknown";
+ roh.antNo = "1";
+ roh.obsTypeList.push_back(gpstk::RinexObsHeader::C1);
+ roh.obsTypeList.push_back(gpstk::RinexObsHeader::P1);
+ roh.obsTypeList.push_back(gpstk::RinexObsHeader::L1);
+ roh.obsTypeList.push_back(gpstk::RinexObsHeader::D1);
+ roh.obsTypeList.push_back(gpstk::RinexObsHeader::P2);
+ roh.obsTypeList.push_back(gpstk::RinexObsHeader::L2);
+ roh.obsTypeList.push_back(gpstk::RinexObsHeader::D2);
+ if (c2Opt.getCount())
+ roh.obsTypeList.push_back(gpstk::RinexObsHeader::C2);
+
+ rnh.valid = gpstk::RinexNavHeader::allValid21;
+ rnh.fileType = "Navigation";
+ rnh.fileProgram = "mdp2rinex";
+ rnh.fileAgency = "Unknown";
+ rnh.version = 2.1;
+
+ if (rinexNavOutput)
+ rinexNavOutput << rnh;
+ }
+
+ virtual void process(MDPNavSubframe& nav)
+ {
+ short sfid = nav.getSFID();
+ if (sfid > 3)
+ return;
+
+ short week = nav.time.GPSfullweek();
+ long sow = nav.getHOWTime();
+ if ( sow >604800)
+ return;
+
+ DayTime howTime(week, sow);
+
+ if (nav.range != rcCA || nav.carrier != ccL1)
+ return;
+
+ NavIndex ni(RangeCarrierPair(nav.range, nav.carrier), nav.prn);
+ ephData[ni] = nav;
+
+ long sfa[10];
+ nav.fillArray(sfa);
+ long long_sfa[10];
+
+ for( int j = 0; j < 10; j++ )
+ long_sfa[j] = static_cast<long>( sfa[j] );
+
+ if (gpstk::EngNav::subframeParity(long_sfa))
+ {
+ ephPageStore[ni][sfid] = nav;
+ EngEphemeris engEph;
+ if (makeEngEphemeris(engEph, ephPageStore[ni]))
+ {
+ RinexNavData rnd(engEph);
+ rinexNavOutput << rnd;
+ ephPageStore[ni].clear();
+ }
+ }
+ } // end of process(MDPNavSubframe)
+
+
+ virtual void process(MDPObsEpoch& obs)
+ {
+ const DayTime& t=epoch.begin()->second.time;
+
+ if (!firstObs && t<prevTime)
+ {
+ if (debugLevel)
+ cout << "Out of order data at " << t << endl;
+ return;
+ }
+
+ if (epoch.size() > 0 && t != obs.time)
+ {
+ if (!thin || (static_cast<int>(t.DOYsecond()) % thinning) == 0)
+ {
+ if (firstObs)
+ {
+ roh.firstObs = t;
+ rinexObsOutput << roh;
+ firstObs=false;
+ }
+
+ RinexObsData rod;
+ makeRinexObsData(roh, rod, epoch);
+ rinexObsOutput << rod;
+ }
+ epoch.clear();
+ prevTime = t;
+ }
+ epoch[obs.prn] = obs;
+ } // end of process(MDPObsEpoch)
+
+
+ virtual void process()
+ {
+ MDPHeader header;
+ MDPNavSubframe nav;
+ MDPObsEpoch obs;
+
+ mdpInput >> header;
+ switch (header.id)
+ {
+ case MDPNavSubframe::myId :
+ mdpInput >> nav;
+ process(nav);
+ break;
+
+ case MDPObsEpoch::myId :
+ mdpInput >> obs;
+ process(obs);
+ break;
+ }
+ timeToDie = !mdpInput;
+ }
+
+ virtual void shutDown()
+ {}
+
+private:
+ gpstk::RinexObsHeader roh;
+ gpstk::RinexNavHeader rnh;
+ MDPStream mdpInput;
+ RinexObsStream rinexObsOutput;
+ RinexNavStream rinexNavOutput;
+ MDPEpoch epoch;
+
+ typedef std::pair<gpstk::RangeCode, gpstk::CarrierCode> RangeCarrierPair;
+ typedef std::pair<RangeCarrierPair, short> NavIndex;
+ typedef std::map<NavIndex, gpstk::MDPNavSubframe> NavMap;
+ NavMap ephData;
+ std::map<NavIndex, gpstk::EphemerisPages> ephPageStore;
+ std::map<NavIndex, gpstk::EngEphemeris> ephStore;
+
+ bool thin;
+ int thinning;
+ bool firstObs;
+ gpstk::DayTime prevTime;
+ gpstk::CommandOptionWithAnyArg mdpFileOpt, navFileOpt, obsFileOpt;
+ gpstk::CommandOptionWithAnyArg thinningOpt;
+ gpstk::CommandOptionWithAnyArg c2Opt;
+};
+
+
+int main(int argc, char *argv[])
+{
+ try
+ {
+ MDP2Rinex crap(argv[0]);
+
+ if (!crap.initialize(argc, argv))
+ exit(0);
+
+ crap.run();
+ }
+ catch (gpstk::Exception &exc)
+ { cout << exc << endl; }
+ catch (std::exception &exc)
+ { cout << "Caught std::exception " << exc.what() << endl; }
+ catch (...)
+ { cout << "Caught unknown exception" << endl; }
+}
diff --git a/trunk/apps/MDPtools/mdptool.cpp b/trunk/apps/MDPtools/mdptool.cpp
new file mode 100644
index 0000000..913e2c7
--- /dev/null
+++ b/trunk/apps/MDPtools/mdptool.cpp
@@ -0,0 +1,296 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/mdptool.cpp#12 $"
+
+/** @file Various utility functions on MDP streams/files */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "StringUtils.hpp"
+#include "LoopedFramework.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+
+#include "TCPStream.hpp"
+
+#include "MDPProcessors.hpp"
+#include "ScreenProc.hpp"
+#include "SummaryProc.hpp"
+#include "TrackProc.hpp"
+#include "NavProc.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class MDPTool : public gpstk::BasicFramework
+{
+public:
+ MDPTool(const std::string& applName)
+ throw()
+ : BasicFramework(applName, "Perform various functions on a stream of MDP "
+ "data. In the summary mode, the default is to only "
+ "summarize the obs data above 10 degrees. Increasing "
+ "the verbosity level will also summarize the data below "
+ "10 degrees."),
+ mdpInputOpt('i', "input", "Where to get the MDP data from. The default "
+ "is to use stdin. If the file name begins with \"tcp:\" "
+ "the remainder is assumed to be a hostname[:port] and the "
+ "source is taken from a tcp socket at this address. If the "
+ "port number is not specified a default of 8910 is used."),
+ outputOpt('\0', "output", "Where to send the output. The default is stdout."),
+ styleOpt('s', "output-style", "What type of output to produce from the "
+ "MDP stream. Valid styles are: brief, verbose, table, track, "
+ "null, mdp, nav, and summary. The default is summary. Some "
+ "modes aren't quite complete. Sorry."),
+ pvtOpt('p', "pvt", "Enable pvt output"),
+ navOpt('n', "nav", "Enable nav output"),
+ tstOpt('t', "test", "Enable selftest output"),
+ obsOpt('o', "obs", "Enable obs output"),
+ hexOpt('x', "hex", "Dump all messages in hex"),
+ badOpt('b', "bad", "Try to process bad messages also."),
+ almOpt('a', "almanac", "Build and process almanacs. Only applies to "
+ "the nav style"),
+ ephOpt('e', "ephemeris", "Build and process engineering ephemerides. "
+ "Only applies to the nav style"),
+ startTimeOpt('\0', "startTime", "%4Y/%03j/%02H:%02M:%05.2f", "Ignore "
+ "data before this time. (%4Y/%03j/%02H:%02M:%05.2f)"),
+ stopTimeOpt('\0', "stopTime", "%4Y/%03j/%02H:%02M:%05.2f", "Ignore "
+ "any data after this time"),
+ timeSpanOpt('l', "timeSpan", "How much data to process, in seconds")
+ {
+ pvtOpt.setMaxCount(1);
+ navOpt.setMaxCount(1);
+ obsOpt.setMaxCount(1);
+ tstOpt.setMaxCount(1);
+ styleOpt.setMaxCount(1);
+ }
+
+ bool initialize(int argc, char *argv[]) throw()
+ {
+ if (!BasicFramework::initialize(argc,argv)) return false;
+
+ if (debugLevel)
+ cout << "debugLevel: " << debugLevel << endl
+ << "verboseLevel: " << verboseLevel << endl;
+
+ if (mdpInputOpt.getCount())
+ {
+ string ifn(mdpInputOpt.getValue()[0]);
+ if (ifn.substr(0, 4) == "tcp:")
+ {
+ int port = 8910;
+ ifn.erase(0,4);
+ string::size_type i = ifn.find(":");
+ if (i<ifn.size())
+ {
+ port = StringUtils::asInt(ifn.substr(i+1));
+ ifn.erase(i);
+ }
+ if (debugLevel)
+ cout << "Taking input from TCP socket at " << ifn
+ << ":" << port << endl;
+
+ SocketAddr client(ifn, port);
+ if (rdbuf.connect(client))
+ {
+ if (debugLevel)
+ cout << "Conected to " << ifn << endl;
+ }
+ else
+ {
+ cout << "Could not connect to " << ifn << endl;
+ exit(-1);
+ }
+ mdpInput.std::basic_ios<char>::rdbuf(&rdbuf);
+ mdpInput.filename = ifn;
+ }
+ else
+ {
+ mdpInput.open(mdpInputOpt.getValue()[0].c_str());
+ if (debugLevel)
+ cout << "Taking input from the file " << mdpInput.filename << endl;
+ }
+ }
+ else
+ {
+ if (debugLevel)
+ cout << "Taking input from stdin" << endl;
+ mdpInput.copyfmt(std::cin);
+ mdpInput.clear(std::cin.rdstate());
+ mdpInput.std::basic_ios<char>::rdbuf(std::cin.rdbuf());
+ mdpInput.filename = "<stdin>";
+ }
+
+ if (outputOpt.getCount())
+ {
+ output.open(outputOpt.getValue()[0].c_str(), std::ios::out);
+ if (debugLevel)
+ cout << "Sending output to"
+ << outputOpt.getValue()[0]
+ << endl;
+ }
+ else
+ {
+ if (debugLevel)
+ cout << "Sending output to stdout" << endl;
+ output.copyfmt(std::cout);
+ output.clear(std::cout.rdstate());
+ output.std::basic_ios<char>::rdbuf(std::cout.rdbuf());
+ }
+
+ style = "summary";
+ if (styleOpt.getCount())
+ style = styleOpt.getValue()[0];
+
+ if (style == "brief")
+ processor = new MDPBriefProcessor(mdpInput, output);
+ else if (style == "table")
+ processor = new MDPTableProcessor(mdpInput, output);
+ else if (style == "verbose")
+ processor = new MDPVerboseProcessor(mdpInput, output);
+ else if (style == "summary")
+ processor = new MDPSummaryProcessor(mdpInput, output);
+ else if (style == "null")
+ processor = new MDPNullProcessor(mdpInput, output);
+ else if (style == "screen")
+ processor = new MDPScreenProcessor(mdpInput, output);
+ else if (style == "track")
+ processor = new MDPTrackProcessor(mdpInput, output);
+ else if (style == "nav")
+ processor = new MDPNavProcessor(mdpInput, output);
+ else
+ {
+ cout << "Style " << style << " is not a valid style. (it may just not be implimented yet.)" << endl;
+ return false;
+ }
+
+ if (debugLevel)
+ cout << "Using style: " << style << endl;
+
+ processor->pvtOut |= pvtOpt;
+ processor->obsOut |= obsOpt;
+ processor->navOut |= navOpt | style=="nav";
+ processor->tstOut |= tstOpt;
+ processor->processBad |= badOpt;
+
+ // If no outputs are specified, then at lest set the obs output
+ processor->obsOut = !pvtOpt && !obsOpt && !navOpt && !tstOpt;
+
+ // Some nav specific options
+ if (style == "nav")
+ {
+ processor->navOut = true;
+ MDPNavProcessor& np=dynamic_cast<MDPNavProcessor&>(*processor);
+ np.almOut = almOpt;
+ np.ephOut = ephOpt;
+ }
+
+ if (debugLevel)
+ {
+ string msgList;
+ if (pvtOpt) msgList += "pvt ";
+ if (obsOpt) msgList += "obs ";
+ if (navOpt) msgList += "nav ";
+ if (tstOpt) msgList += "tst ";
+ if (msgList.size()==0)
+ msgList = "no ";
+ cout << "processing " << msgList << "messages." << endl;
+ }
+
+ processor->debugLevel = debugLevel;
+ processor->verboseLevel = verboseLevel;
+
+ MDPHeader::hexDump = hexOpt;
+ MDPHeader::debugLevel = debugLevel;
+
+ if (startTimeOpt.getCount())
+ processor->startTime = startTimeOpt.getTime()[0];
+ if (stopTimeOpt.getCount())
+ processor->stopTime = stopTimeOpt.getTime()[0];
+ if (timeSpanOpt.getCount())
+ processor->timeSpan = StringUtils::asDouble(timeSpanOpt.getValue()[0]);
+
+ return true;
+ }
+
+protected:
+ virtual void spinUp()
+ {
+ if (!processor)
+ cout << "No processor assigned." << endl, exit(-1);
+ }
+
+ virtual void process()
+ {
+ try
+ {
+ processor->process();
+ }
+ catch (gpstk::Exception &e)
+ {
+ cout << e << endl;
+ }
+ catch (std::exception &e)
+ {
+ cout << e.what() << endl;
+ }
+ }
+
+ virtual void shutDown()
+ {
+ delete processor;
+ }
+
+private:
+ MDPStream mdpInput;
+ ofstream output;
+ TCPbuf rdbuf;
+ gpstk::CommandOptionWithAnyArg mdpInputOpt, outputOpt;
+
+ gpstk::CommandOptionNoArg pvtOpt, obsOpt, navOpt, tstOpt, hexOpt, badOpt;
+ gpstk::CommandOptionNoArg almOpt, ephOpt;
+ gpstk::CommandOptionWithAnyArg styleOpt;
+ gpstk::CommandOptionWithNumberArg timeSpanOpt;
+ gpstk::CommandOptionWithTimeArg startTimeOpt, stopTimeOpt;
+
+ string style;
+
+ MDPProcessor* processor;
+};
+
+
+int main(int argc, char *argv[])
+{
+ try
+ {
+ MDPTool crap(argv[0]);
+
+ if (!crap.initialize(argc, argv))
+ exit(0);
+
+ crap.run();
+ }
+ catch (gpstk::Exception &exc)
+ { cout << exc << endl; }
+ catch (std::exception &exc)
+ { cout << "Caught std::exception " << exc.what() << endl; }
+ catch (...)
+ { cout << "Caught unknown exception" << endl; }
+}
diff --git a/trunk/apps/MDPtools/miscenum.hpp b/trunk/apps/MDPtools/miscenum.hpp
new file mode 100644
index 0000000..153bfae
--- /dev/null
+++ b/trunk/apps/MDPtools/miscenum.hpp
@@ -0,0 +1,134 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/miscenum.hpp#3 $"
+
+/**
+ * @file miscenum.hpp
+ * This file contains miscellaneous enumerations that potentially have
+ * global significance (as opposed to being relevant only to one class).
+ */
+
+#ifndef MISCENUM_HPP
+#define MISCENUM_HPP
+
+#include <string>
+
+namespace gpstk
+{
+ /// An enumeration of the various Carrier Codes.
+ enum CarrierCode
+ {
+ ccUnknown = 0,
+ ccL1 = 1,
+ ccL2 = 2,
+ ccL5 = 5,
+ ccMax
+ };
+
+ /// An enumeration of the various Range Codes.
+ enum RangeCode
+ {
+ rcUnknown = 0,
+ rcCA = 1,
+ rcPcode = 2,
+ rcYcode = 3,
+ rcCodeless = 4,
+ rcCM = 5,
+ rcCL = 6,
+ rcMcode1 = 7,
+ rcMcode2 = 8,
+ rcCMCL = 9,
+ rcMax
+ };
+
+ /// An enumeration of the various Navigation Message Codes.
+ enum NavCode
+ {
+ ncUnknown = 0, ///< Unknown or uninitialized navigation message code.
+ ncICD_200_2 = 1, ///< ICD-GPS-200 Data ID No 2.
+ ncICD_700_M = 2, ///< ICD-GPS-700 M-code.
+ ncICD_705_L5 = 3, ///< ICD-GPS-705 L5 nav.
+ ncICD_200_4 = 4, ///< ICD-GPS-200 Data ID No 4.
+ ncMax
+ };
+
+ /** An enumeration of the External Frequency Status. Relevant
+ * to receivers using external timing sources. */
+ enum ExternalFrequencyStatus
+ {
+ efsUnknown = -1,
+ efsNotLocked = 0,
+ efsLocked = 1
+ };
+
+ namespace StringUtils
+ {
+ /** Decode Carrier Code to a string.
+ * @param cc the Carrier Code to convert.
+ * @return the Carrier Code as a string.
+ */
+ inline std::string asString(const CarrierCode& cc) throw()
+ {
+ switch(cc)
+ {
+ case ccL1: return "L1";
+ case ccL2: return "L2";
+ case ccL5: return "L5";
+ }
+ return "BadCarrierCode";
+ }
+
+ /** Decode Range Code to a string.
+ * @param rc the Range Code to convert.
+ * @return the Range Code as a string.
+ */
+ inline std::string asString(const RangeCode& rc) throw()
+ {
+ switch(rc)
+ {
+ case rcCA: return "CA";
+ case rcPcode: return "P-code";
+ case rcYcode: return "Y-code";
+ case rcCodeless: return "Codeless";
+ case rcCM: return "CM";
+ case rcCL: return "CL";
+ case rcMcode1: return "M-code1";
+ case rcMcode2: return "M-code2";
+ case rcCMCL: return "CMCL";
+ }
+ return "BadRangeCode";
+ }
+
+ /** Decode Navigation Message Code to a string.
+ * @param nc the Navigation Code to convert.
+ * @return the Navigation Code as a string.
+ */
+ inline std::string asString(const NavCode& nc) throw()
+ {
+ switch(nc)
+ {
+ case ncICD_200_2: return "ICD-GPS-200 Data ID No. 2";
+ case ncICD_700_M: return "ICD-GPS-700 M-code";
+ case ncICD_705_L5: return "ICD-GPS-705 L5 nav";
+ case ncICD_200_4: return "ICD-GPS-200 Data ID No. 4";
+ }
+ return "BadNavCode";
+ }
+
+ /** Decode external frequency status to a string.
+ * @param e the external frequency status to convert.
+ * @return the Carrier Code as a string.
+ */
+ inline std::string asString(const ExternalFrequencyStatus& e)
+ throw()
+ {
+ switch(e)
+ {
+ case efsNotLocked: return "NotLocked";
+ case efsLocked: return "Locked";
+ }
+ return "BadEFS";
+ }
+ } // namespace StringUtils
+
+} // namespace sglmsn
+
+#endif // MISCENUM_HPP
diff --git a/trunk/apps/MDPtools/tcptest.cpp b/trunk/apps/MDPtools/tcptest.cpp
new file mode 100644
index 0000000..0901a79
--- /dev/null
+++ b/trunk/apps/MDPtools/tcptest.cpp
@@ -0,0 +1,83 @@
+#pragma ident "$Id"
+
+#include <iostream>
+#include <string>
+using std::istream;
+using std::cout;
+using std::endl;
+
+#include "TCPStream.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionParser.hpp"
+
+#include <sys/errno.h>
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ gpstk::SocketAddr client(std::string("localhost"), 4621);
+ gpstk::IPaddress any;
+ gpstk::SocketAddr server(any, 4621);
+ int debugLevel = 0;
+ gpstk::CommandOptionNoArg
+ debugOption('d', "debug", "Enable debug output."),
+ serverOption('s', "server", "Run as server, not client");
+ std::string appDescription("Test program for the TCPStream stuff.");
+ gpstk::CommandOptionParser cop(appDescription);
+ cop.parseOptions(argc, argv);
+ if (cop.hasErrors())
+ {
+ cop.dumpErrors(cout);
+ cop.displayUsage(cout);
+ exit(0);
+ }
+
+ debugLevel = debugOption.getCount();
+
+ gpstk::TCPStream tcpStream;
+
+ if (serverOption.getCount())
+ {
+ cout << "Running as a server on " << server << endl;
+ int listening_socket = ::socket(AF_INET,SOCK_STREAM,0);
+ if (listening_socket < 0)
+ cout << "Couldn't create listening socket"
+ << " (" << strerror(errno) << ")" << endl, exit(-1);
+
+ int value = 1;
+ int rc=0;
+
+ if (::setsockopt(listening_socket, SOL_SOCKET, SO_REUSEADDR,
+ (char*)&value, sizeof(value)))
+ cout << "Couldn't set reuse address"
+ << " (" << strerror(errno) << ")" << endl, exit(-1);
+
+ if (::bind(listening_socket, (sockaddr *)server, sizeof(sockaddr)))
+ cout << "Couldn't bind"
+ << " (" << strerror(errno) << ")" << endl, exit(-1);
+
+ if (::listen(listening_socket, 5))
+ cout << "Couldn't listen"
+ << " (" << strerror(errno) << ")" << endl, exit(-1);
+
+ gpstk::TCPStream link;
+ gpstk::SocketAddr peeraddr = gpstk::SocketAddr(any,1);
+ link.rdbuf()->accept(listening_socket,peeraddr);
+ cout << "Accepted connection from " << peeraddr << endl;
+ link.close();
+ }
+ else
+ {
+ cout << "Running as client, :" << client << endl;
+
+ tcpStream.connect(client);
+ if( !tcpStream.good() )
+ cout << "Connection failed!" << endl, exit(0);
+ }
+ }
+ catch (...)
+ {
+ cout << "Caught one" << endl;
+ }
+}
diff --git a/trunk/apps/Makefile.am b/trunk/apps/Makefile.am
new file mode 100644
index 0000000..9de6e39
--- /dev/null
+++ b/trunk/apps/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = checktools converters cycleslips differential difftools filetools ionosphere mergetools positioning reszilla Rinextools time visibility
diff --git a/trunk/apps/Makefile.in b/trunk/apps/Makefile.in
new file mode 100644
index 0000000..febf98b
--- /dev/null
+++ b/trunk/apps/Makefile.in
@@ -0,0 +1,467 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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 = apps
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-exec-recursive install-info-recursive \
+ install-recursive installcheck-recursive installdirs-recursive \
+ pdf-recursive ps-recursive uninstall-info-recursive \
+ uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+SUBDIRS = checktools converters cycleslips differential difftools filetools ionosphere mergetools positioning reszilla Rinextools time visibility
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apps/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu apps/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (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"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ 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 || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(mkdir_p) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+ clean clean-generic clean-libtool clean-recursive ctags \
+ ctags-recursive distclean distclean-generic distclean-libtool \
+ distclean-recursive distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-exec install-exec-am install-info \
+ install-info-am install-man install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic maintainer-clean-recursive \
+ mostlyclean mostlyclean-generic mostlyclean-libtool \
+ mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/RinexPlot/README b/trunk/apps/RinexPlot/README
new file mode 100644
index 0000000..8c8609c
--- /dev/null
+++ b/trunk/apps/RinexPlot/README
@@ -0,0 +1,31 @@
+RinexPlot (/apps/RinexPlot)
+
+ This directory contains a Perl script which uses the Perl::Tk module to
+provide a menu-driven GUI that will plot the data in Rinex observation files.
+It makes use of the Rinex tools, found in /apps/Rinextools, by calling them on
+the command line from within Perl.
+
+ RinexPlot will run under Unix, Linux and Windows. For Windows, you must
+have Perl and Perl::Tk installed on your system; the best place to get these
+(free) is at ActiveState:
+
+http://www.activestate.com/Products/ActivePerl/
+
+Be sure to get Perl::Tk. Normally the Tk module will come with ActivePerl;
+you also get a Perl Package Manager which allows you to update your perl,
+or you can do this with CPAN. Under Windows you can use the
+batch file RinexPlot.bat.
+
+ Two examples are included here, using scripts goRP and goRP1 (Unix), or
+goRP.bat and goRP1.bat (Windows).
+
+ Getting started is easy. Run the example scripts (batch files) first. The
+GUI is menu and mouse driven, and you can get some brief instructions from the
+Help/Topics menu item. You can also provide options on the command line; see
+under Help/Topics again, or just look in the example scripts.
+
+ RinexPlot is young; some menu items are yet to be implemented, and it still
+has a few rough edges. I expect to it be improved greatly in the near future.
+
+Brian Tolman
+btolman at arlut.utexas.edu
diff --git a/trunk/apps/RinexPlot/RSW214B.obs b/trunk/apps/RinexPlot/RSW214B.obs
new file mode 100644
index 0000000..e02548c
--- /dev/null
+++ b/trunk/apps/RinexPlot/RSW214B.obs
@@ -0,0 +1,6827 @@
+ 2.10 Observation G (GPS) RINEX VERSION / TYPE
+RINEXCvt v.3.0 ARL:UT/SGL 04/02/2004 02:04:29 PGM / RUN BY / DATE
+ARL Rooftop SW MARKER NAME
+ ARL:UT OBSERVER / AGENCY
+ Ashtech Z-XII3 1Y07 1DY4*22 REC # / TYPE / VERS
+ ANT # / TYPE
+ -740316.4990 -5457075.4372 3207241.2292 APPROX POSITION XYZ
+ 0.0000 0.0000 0.0000 ANTENNA: DELTA H/E/N
+ 1 1 WAVELENGTH FACT L1/2
+ 9 L1 L2 P1 P2 C1 D1 D2 S1 S2# / TYPES OF OBSERV
+ 1.500 INTERVAL
+ 2003 8 2 0 20 0.0000000 GPS TIME OF FIRST OBS
+ 2003 8 2 0 29 58.5000000 GPS TIME OF LAST OBS
+ MARKER NUMBER
+AshtechFile::B-file = BSW00A03.213 COMMENT
+Edited by GPSTK Rinex Editor ver 3.0 9/8/2003 on 2004/01/09 COMMENT
+Edited by GPSTK Rinex Editor ver 3.0 9/8/2003 on 2004/04/01 COMMENT
+ 8 # OF SATELLITES
+ G 1 400 400 400 400 400 400 400 400 400PRN / # OF OBS
+ G 2 400 400 400 400 400 400 400 400 400PRN / # OF OBS
+ G 3 400 400 400 400 400 400 400 400 400PRN / # OF OBS
+ G13 400 400 400 400 400 400 400 400 400PRN / # OF OBS
+ G16 400 400 400 400 400 400 400 400 400PRN / # OF OBS
+ G20 400 400 400 400 400 400 400 400 400PRN / # OF OBS
+ G27 400 400 400 400 400 400 400 400 400PRN / # OF OBS
+ G31 400 400 400 400 400 400 400 400 400PRN / # OF OBS
+ END OF HEADER
+ 03 8 2 0 20 0.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927231
+ -24270360.274 -18900111.444 20466623.429 20466625.791 20466623.546
+ 291.238 226.935 52.065 47.676
+ -15203384.683 -11818407.411 22087666.002 22087669.296 22087666.629
+ -1935.217 -1507.964 50.502 45.591
+ -17189279.642 -13382596.623 21800517.662 21800520.407 21800517.695
+ 1183.433 922.145 51.544 45.417
+ -17946557.303 -13969052.482 21381451.284 21381452.646 21381451.112
+ 2042.712 1591.722 51.023 45.591
+ -9606184.643 -7472122.257 23138945.679 23138948.560 23138945.729
+ -2966.519 -2311.575 46.680 42.117
+ -4090786.704 -3141795.876 23597409.466 23597412.728 23597410.028
+ -3120.785 -2431.772 49.633 42.117
+ -4852957.470 -3773152.312 23958876.068 23958879.232 23958875.882
+ 1959.410 1526.824 47.896 42.290
+ -13810174.492 -10506319.018 22407214.665 22407217.681 22407215.183
+ 3041.284 2369.825 50.676 44.549
+ 03 8 2 0 20 1.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927231
+ -24270796.572 -18900451.418 20466540.355 20466542.771 20466540.469
+ 290.614 226.456 52.065 47.676
+ -15200481.692 -11816145.342 22088218.355 22088221.774 22088219.147
+ -1935.344 -1508.062 50.502 45.591
+ -17191054.173 -13383979.377 21800180.031 21800182.722 21800180.029
+ 1182.733 921.612 51.544 45.244
+ -17949620.950 -13971439.741 21380868.446 21380869.524 21380868.083
+ 2042.286 1591.396 51.023 45.765
+ -9601734.717 -7468654.784 23139792.530 23139795.266 23139792.707
+ -2966.515 -2311.576 46.680 42.117
+ -4086105.435 -3138148.143 23598300.303 23598303.618 23598300.740
+ -3120.804 -2431.785 49.633 42.290
+ -4855896.708 -3775442.627 23958316.766 23958320.335 23958316.539
+ 1959.566 1526.929 47.896 42.464
+ -13814736.161 -10509873.566 22406346.469 22406349.936 22406347.040
+ 3040.995 2369.605 50.676 44.549
+ 03 8 2 0 20 3.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927231
+ -24271231.627 -18900790.424 20466457.559 20466459.879 20466457.685
+ 289.853 225.867 52.065 47.676
+ -15197578.222 -11813882.897 22088770.840 22088774.440 22088771.668
+ -1935.550 -1508.214 50.502 45.417
+ -17192827.390 -13385361.105 21799842.408 21799845.287 21799842.547
+ 1181.941 920.995 51.544 45.244
+ -17952683.647 -13973826.254 21380285.470 21380286.858 21380285.119
+ 2041.725 1590.957 51.023 45.591
+ -9597284.437 -7465187.030 23140639.647 23140642.759 23140639.637
+ -2966.722 -2311.721 46.680 41.943
+ -4081423.883 -3134500.188 23599191.194 23599193.907 23599191.453
+ -3120.900 -2431.868 49.633 42.290
+ -4858835.974 -3777732.966 23957757.447 23957760.960 23957757.112
+ 1959.694 1527.038 47.896 42.464
+ -13819297.158 -10513427.593 22405478.613 22405481.557 22405479.108
+ 3040.649 2369.350 50.676 44.549
+ 03 8 2 0 20 4.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927231
+ -24271665.408 -18901128.432 20466374.960 20466377.425 20466375.122
+ 288.574 224.856 52.065 47.676
+ -15194674.249 -11811620.058 22089323.379 22089326.839 22089324.312
+ -1936.276 -1508.792 50.502 45.591
+ -17194599.257 -13386741.774 21799505.278 21799508.594 21799505.337
+ 1180.626 919.958 51.544 45.417
+ -17955745.377 -13976212.016 21379702.779 21379704.326 21379702.409
+ 2040.665 1590.129 51.023 45.765
+ -9592833.821 -7461719.020 23141486.108 23141489.530 23141486.752
+ -2967.412 -2312.277 46.680 42.117
+ -4076742.016 -3130851.975 23600082.246 23600085.393 23600082.303
+ -3121.526 -2432.373 49.633 42.117
+ -4861775.228 -3780023.292 23957198.284 23957201.696 23957197.812
+ 1959.260 1526.698 47.896 42.464
+ -13823857.452 -10516981.060 22404610.952 22404613.707 22404611.288
+ 3039.773 2368.647 50.676 44.549
+ 03 8 2 0 20 6.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927231
+ -24272098.053 -18901465.559 20466292.771 20466295.201 20466292.832
+ 287.950 224.373 52.065 47.676
+ -15191769.885 -11809356.924 22089876.122 22089879.467 22089876.928
+ -1936.477 -1508.945 50.502 45.417
+ -17196369.897 -13388121.495 21799168.434 21799170.952 21799168.437
+ 1179.929 919.425 51.544 45.417
+ -17958806.266 -13978597.122 21379120.491 21379121.680 21379119.950
+ 2040.222 1589.778 51.023 45.591
+ -9588382.922 -7458250.792 23142333.242 23142336.706 23142333.878
+ -2967.449 -2312.297 46.680 41.943
+ -4072059.956 -3127203.618 23600973.087 23600976.026 23600973.292
+ -3121.522 -2432.352 49.633 42.290
+ -4864714.604 -3782313.714 23956638.686 23956642.832 23956638.453
+ 1959.473 1526.857 47.896 42.464
+ -13828417.168 -10520534.086 22403742.999 22403746.347 22403743.566
+ 3039.496 2368.432 50.676 44.549
+ 03 8 2 0 20 7.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927231
+ -24272529.524 -18901801.771 20466210.650 20466212.968 20466210.732
+ 287.480 224.015 52.065 47.676
+ -15188865.113 -11807093.468 22090428.919 22090432.189 22090429.702
+ -1936.447 -1508.914 50.502 45.591
+ -17198139.286 -13389500.239 21798831.731 21798834.499 21798831.774
+ 1179.392 919.001 51.544 45.417
+ -17961866.285 -13980981.551 21378538.172 21378539.437 21378537.539
+ 2039.940 1589.572 51.023 45.765
+ -9583931.739 -7454782.344 23143179.999 23143183.625 23143181.080
+ -2967.273 -2312.141 46.680 41.943
+ -4067377.665 -3123555.086 23601864.164 23601867.192 23601864.237
+ -3121.394 -2432.245 49.633 42.117
+ -4867654.053 -3784604.184 23956079.276 23956083.456 23956079.234
+ 1959.844 1527.158 47.896 42.464
+ -13832976.278 -10524086.638 22402875.440 22402878.498 22402876.079
+ 3039.417 2368.372 50.676 44.549
+ 03 8 2 0 20 9.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24272959.696 -18902136.967 20466128.928 20466130.916 20466128.895
+ 286.233 223.030 52.065 47.676
+ -15185959.811 -11804829.594 22090981.767 22090985.008 22090982.550
+ -1937.172 -1509.494 50.502 45.591
+ -17199907.305 -13390877.912 21798495.359 21798498.184 21798495.378
+ 1178.084 917.978 51.544 45.417
+ -17964925.297 -13983365.197 21377956.069 21377957.377 21377955.444
+ 2038.883 1588.733 51.023 45.765
+ -9579480.177 -7451313.593 23144027.073 23144029.928 23144028.235
+ -2967.973 -2312.706 46.680 41.943
+ -4062695.039 -3119906.284 23602754.904 23602757.975 23602755.284
+ -3121.996 -2432.728 49.633 41.943
+ -4870593.473 -3786894.638 23955519.779 23955523.859 23955519.955
+ 1959.399 1526.806 47.896 42.290
+ -13837534.627 -10527638.592 22402007.975 22402011.096 22402008.693
+ 3038.520 2367.666 50.502 44.549
+ 03 8 2 0 20 10.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24273388.712 -18902471.268 20466047.226 20466049.320 20466047.198
+ 285.347 222.342 52.065 47.676
+ -15183054.126 -11802565.428 22091534.863 22091537.863 22091535.549
+ -1937.494 -1509.736 50.502 45.417
+ -17201674.090 -13392254.630 21798159.056 21798161.717 21798159.199
+ 1177.151 917.257 51.544 45.417
+ -17967983.472 -13985748.192 21377374.215 21377375.363 21377373.463
+ 2038.218 1588.217 51.023 45.765
+ -9575028.355 -7447844.649 23144874.109 23144877.431 23144875.341
+ -2968.292 -2312.965 46.680 41.943
+ -4058012.219 -3116257.334 23603645.923 23603648.955 23603646.355
+ -3122.228 -2432.906 49.633 41.943
+ -4873532.993 -3789185.178 23954960.504 23954963.556 23954960.690
+ 1959.378 1526.797 47.896 42.464
+ -13842092.408 -10531190.108 22401140.309 22401143.865 22401141.338
+ 3038.011 2367.272 50.502 44.549
+ 03 8 2 0 20 12.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24273816.529 -18902804.632 20465965.960 20465967.986 20465965.816
+ 284.835 221.948 52.065 47.676
+ -15180148.004 -11800300.917 22092087.823 22092090.950 22092088.589
+ -1937.501 -1509.742 50.502 45.591
+ -17203439.599 -13393630.350 21797823.110 21797825.884 21797823.243
+ 1176.610 916.829 51.544 45.244
+ -17971040.740 -13988130.477 21376792.271 21376793.456 21376791.673
+ 2037.903 1587.972 51.023 45.765
+ -9570576.232 -7444375.455 23145721.523 23145725.551 23145722.663
+ -2968.120 -2312.835 46.680 41.943
+ -4053329.138 -3112608.186 23604537.330 23604540.498 23604537.518
+ -3122.087 -2432.804 49.633 41.943
+ -4876472.580 -3791475.763 23954401.081 23954405.023 23954401.370
+ 1959.746 1527.062 47.896 42.290
+ -13846649.520 -10534741.104 22400273.133 22400276.755 22400273.990
+ 3037.901 2367.196 50.502 44.549
+ 03 8 2 0 20 13.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24274243.225 -18903137.125 20465884.810 20465886.836 20465884.664
+ 284.145 221.410 52.065 47.676
+ -15177241.519 -11798036.128 22092640.891 22092644.003 22092641.766
+ -1937.712 -1509.908 50.502 45.591
+ -17205203.900 -13395005.132 21797487.281 21797490.372 21797487.487
+ 1175.856 916.250 51.544 45.244
+ -17974097.194 -13990512.128 21376210.608 21376212.163 21376210.025
+ 2037.404 1587.580 51.023 45.591
+ -9566123.888 -7440906.107 23146568.916 23146572.372 23146569.817
+ -2968.214 -2312.885 46.680 42.117
+ -4048645.893 -3108958.908 23605428.278 23605431.927 23605428.738
+ -3122.159 -2432.861 49.633 41.943
+ -4879412.318 -3793766.460 23953841.369 23953845.968 23953841.868
+ 1959.832 1527.127 47.896 42.464
+ -13851206.095 -10538291.683 22399406.311 22399409.672 22399406.870
+ 3037.535 2366.907 50.502 44.549
+ 03 8 2 0 20 15.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927231
+ -24274668.650 -18903468.626 20465803.811 20465805.832 20465803.794
+ 283.388 220.823 52.065 47.676
+ -15174334.525 -11795770.939 22093194.059 22093197.130 22093194.968
+ -1937.987 -1510.120 50.502 45.591
+ -17206966.852 -13396378.859 21797151.793 21797154.564 21797152.022
+ 1175.034 915.610 51.544 45.244
+ -17977152.669 -13992893.022 21375629.260 21375630.461 21375628.589
+ 2036.842 1587.150 51.023 45.591
+ -9561671.133 -7437436.431 23147416.480 23147419.097 23147416.944
+ -2968.395 -2313.024 46.680 41.943
+ -4043962.337 -3105309.382 23606319.423 23606322.203 23606320.027
+ -3122.292 -2432.950 49.633 41.943
+ -4882352.035 -3796057.145 23953281.921 23953286.178 23953282.326
+ 1959.935 1527.227 47.722 42.290
+ -13855761.969 -10541841.713 22398539.211 22398542.537 22398539.852
+ 3037.171 2366.628 50.502 44.549
+ 03 8 2 0 20 16.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24275092.754 -18903799.093 20465722.978 20465725.349 20465723.171
+ 282.164 219.860 52.065 47.676
+ -15171426.984 -11793505.321 22093747.360 22093750.562 22093748.308
+ -1938.660 -1510.648 50.502 45.591
+ -17208728.408 -13397751.498 21796816.672 21796819.479 21796816.854
+ 1173.778 914.622 51.544 45.244
+ -17980207.133 -13995273.119 21375048.013 21375049.210 21375047.375
+ 2035.884 1586.391 51.023 45.591
+ -9557217.963 -7433966.429 23148263.994 23148266.422 23148264.204
+ -2969.052 -2313.541 46.680 41.943
+ -4039278.408 -3101659.572 23607210.794 23607213.981 23607211.401
+ -3122.842 -2433.394 49.460 42.117
+ -4885291.667 -3798347.768 23952722.586 23952726.710 23952722.836
+ 1959.529 1526.900 47.722 42.290
+ -13860317.076 -10545391.142 22397672.385 22397675.938 22397672.964
+ 3036.303 2365.937 50.502 44.722
+ 03 8 2 0 20 18.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24275515.836 -18904128.767 20465642.624 20465644.657 20465642.730
+ 281.625 219.448 52.065 47.676
+ -15168519.186 -11791239.506 22094300.862 22094303.765 22094301.685
+ -1938.696 -1510.660 50.502 45.591
+ -17210488.871 -13399123.287 21796481.827 21796484.471 21796481.830
+ 1173.190 914.171 51.544 45.417
+ -17983260.870 -13997652.654 21374466.956 21374468.133 21374466.317
+ 2035.476 1586.085 51.023 45.765
+ -9552764.705 -7430496.366 23149111.631 23149113.541 23149111.678
+ -2968.991 -2313.494 46.680 41.943
+ -4034594.413 -3098009.710 23608102.194 23608105.722 23608102.627
+ -3122.767 -2433.335 49.460 41.943
+ -4888231.573 -3800638.594 23952163.262 23952167.252 23952163.437
+ 1959.876 1527.159 47.722 42.464
+ -13864871.718 -10548940.213 22396805.628 22396809.085 22396806.074
+ 3036.223 2365.892 50.502 44.549
+ 03 8 2 0 20 19.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24275937.618 -18904457.428 20465562.278 20465564.360 20465562.521
+ 280.723 218.737 52.065 47.676
+ -15165610.864 -11788973.282 22094854.290 22094857.040 22094855.152
+ -1939.046 -1510.946 50.676 45.591
+ -17212247.949 -13400493.996 21796146.997 21796149.965 21796147.091
+ 1172.233 913.424 51.544 45.417
+ -17986313.628 -14000031.429 21373885.901 21373887.285 21373885.398
+ 2034.788 1585.548 51.023 45.765
+ -9548311.023 -7427025.963 23149959.076 23149961.411 23149959.379
+ -2969.244 -2313.704 46.680 41.769
+ -4029910.076 -3094359.579 23608993.719 23608997.150 23608993.972
+ -3123.039 -2433.533 49.460 41.943
+ -4891171.397 -3802929.361 23951603.981 23951607.842 23951604.114
+ 1959.785 1527.099 47.722 42.464
+ -13869425.619 -10552488.702 22395939.012 22395942.432 22395939.371
+ 3035.629 2365.422 50.502 44.722
+ 03 8 2 0 20 21.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24276358.297 -18904785.232 20465482.270 20465484.327 20465482.527
+ 279.963 218.158 52.065 47.676
+ -15162702.191 -11786706.788 22095407.657 22095410.706 22095408.622
+ -1939.351 -1511.180 50.676 45.417
+ -17214005.844 -13401863.782 21795812.459 21795815.418 21795812.594
+ 1171.408 912.789 51.544 45.417
+ -17989365.576 -14002409.575 21373305.318 21373306.285 21373304.649
+ 2034.248 1585.130 51.023 45.765
+ -9543857.149 -7423555.416 23150806.965 23150808.409 23150806.973
+ -2969.416 -2313.824 46.680 41.769
+ -4025225.604 -3090709.345 23609885.049 23609889.108 23609885.393
+ -3123.146 -2433.617 49.460 41.943
+ -4894111.401 -3805220.275 23951044.416 23951048.675 23951044.551
+ 1959.801 1527.120 47.722 42.290
+ -13873978.957 -10556036.758 22395072.677 22395075.858 22395072.879
+ 3035.186 2365.073 50.502 44.549
+ 03 8 2 0 20 22.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24276777.629 -18905111.979 20465402.476 20465404.600 20465402.756
+ 279.202 217.562 52.065 47.676
+ -15159792.953 -11784439.848 22095961.315 22095964.343 22095962.283
+ -1939.585 -1511.363 50.676 45.591
+ -17215762.317 -13403232.462 21795478.063 21795480.888 21795478.324
+ 1170.597 912.158 51.544 45.417
+ -17992416.480 -14004786.902 21372724.650 21372725.606 21372724.040
+ 2033.668 1584.686 51.023 45.765
+ -9539402.844 -7420084.530 23151654.666 23151656.331 23151654.797
+ -2969.571 -2313.936 46.680 41.769
+ -4020540.743 -3087058.806 23610776.769 23610780.439 23610776.949
+ -3123.231 -2433.671 49.460 42.117
+ -4897051.325 -3807511.114 23950485.041 23950489.002 23950484.974
+ 1959.934 1527.220 47.722 42.464
+ -13878531.514 -10559584.198 22394206.319 22394209.415 22394206.527
+ 3034.855 2364.813 50.502 44.549
+ 03 8 2 0 20 24.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24277195.944 -18905437.942 20465322.849 20465325.010 20465323.187
+ 278.522 217.030 52.065 47.676
+ -15156883.466 -11782172.718 22096515.054 22096518.275 22096515.952
+ -1939.735 -1511.480 50.676 45.591
+ -17217517.698 -13404600.292 21795144.131 21795147.139 21795144.256
+ 1169.902 911.609 51.544 45.417
+ -17995466.677 -14007163.677 21372144.185 21372145.374 21372143.599
+ 2033.225 1584.332 51.023 45.765
+ -9534948.432 -7416613.563 23152502.536 23152503.534 23152502.602
+ -2969.606 -2313.990 46.680 41.943
+ -4015855.812 -3083408.215 23611668.450 23611671.620 23611668.455
+ -3123.324 -2433.762 49.460 42.117
+ -4899991.499 -3809802.159 23949925.328 23949929.684 23949925.418
+ 1960.117 1527.363 47.722 42.464
+ -13883083.627 -10563131.299 22393340.074 22393343.372 22393340.322
+ 3034.559 2364.593 50.502 44.722
+ 03 8 2 0 20 25.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24277612.887 -18905762.834 20465243.444 20465245.593 20465243.903
+ 277.561 216.283 52.065 47.676
+ -15153973.384 -11779905.123 22097068.853 22097071.814 22097069.735
+ -1940.190 -1511.836 50.676 45.591
+ -17219271.627 -13405966.986 21794810.370 21794813.490 21794810.459
+ 1168.891 910.819 51.544 45.244
+ -17998515.812 -14009539.622 21371563.845 21371565.076 21371563.344
+ 2032.450 1583.728 51.023 45.591
+ -9530493.521 -7413142.197 23153349.953 23153352.025 23153350.418
+ -2970.040 -2314.324 46.680 41.769
+ -4011170.479 -3079757.314 23612559.642 23612563.732 23612560.136
+ -3123.635 -2433.988 49.460 42.117
+ -4902931.567 -3812093.123 23949366.023 23949370.012 23949366.084
+ 1959.951 1527.234 47.722 42.290
+ -13887634.936 -10566677.771 22392474.031 22392477.511 22392474.252
+ 3033.979 2364.140 50.502 44.549
+ 03 8 2 0 20 27.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24278028.701 -18906086.846 20465164.305 20465166.387 20465164.752
+ 277.141 215.957 52.065 47.676
+ -15151062.944 -11777637.247 22097622.491 22097625.536 22097623.552
+ -1940.085 -1511.748 50.676 45.591
+ -17221024.346 -13407332.743 21794477.013 21794479.994 21794476.871
+ 1168.388 910.443 51.544 45.417
+ -18001564.106 -14011914.918 21370983.781 21370984.951 21370983.324
+ 2032.230 1583.567 51.023 45.765
+ -9526038.383 -7409670.669 23154197.856 23154199.158 23154198.305
+ -2969.841 -2314.151 46.854 41.769
+ -4006484.981 -3076106.276 23613451.302 23613455.197 23613451.810
+ -3123.375 -2433.787 49.460 42.117
+ -4905871.768 -3814384.186 23948806.519 23948810.723 23948806.723
+ 1960.410 1527.593 47.722 42.464
+ -13892185.677 -10570223.805 22391608.136 22391611.125 22391608.310
+ 3033.910 2364.085 50.502 44.549
+ 03 8 2 0 20 28.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24278443.228 -18906409.853 20465085.381 20465087.783 20465085.905
+ 275.813 214.916 52.065 47.676
+ -15148151.974 -11775368.958 22098176.451 22098179.621 22098177.440
+ -1940.929 -1512.415 50.676 45.591
+ -17222775.704 -13408697.432 21794143.390 21794146.577 21794143.507
+ 1166.987 909.329 51.544 45.417
+ -18004611.430 -14014289.455 21370403.804 21370404.686 21370403.513
+ 2031.120 1582.678 51.023 45.765
+ -9521582.895 -7406198.858 23155045.550 23155047.569 23155045.953
+ -2970.624 -2314.778 46.854 41.769
+ -4001799.166 -3072454.997 23614343.256 23614346.684 23614343.527
+ -3124.069 -2434.348 49.460 42.117
+ -4908811.945 -3816675.229 23948247.045 23948251.366 23948247.281
+ 1959.942 1527.228 47.722 42.464
+ -13896735.697 -10573769.274 22390742.388 22390745.406 22390742.502
+ 3032.981 2363.349 50.502 44.549
+ 03 8 2 0 20 30.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24278856.709 -18906732.047 20465006.784 20465008.891 20465007.209
+ 275.017 214.298 52.065 47.676
+ -15145240.736 -11773100.464 22098730.664 22098733.482 22098731.418
+ -1941.228 -1512.651 50.676 45.417
+ -17224525.929 -13410061.243 21793810.468 21793813.584 21793810.457
+ 1166.137 908.672 51.544 45.244
+ -18007658.003 -14016663.407 21369824.156 21369825.454 21369823.877
+ 2030.477 1582.180 51.023 45.765
+ -9517127.223 -7402726.913 23155893.390 23155895.460 23155893.863
+ -2970.852 -2314.961 46.854 41.943
+ -3997113.248 -3068803.633 23615234.886 23615238.338 23615235.245
+ -3124.252 -2434.483 49.460 42.117
+ -4911752.353 -3818966.451 23947688.108 23947691.802 23947687.657
+ 1959.984 1527.245 47.722 42.464
+ -13901285.224 -10577314.361 22389876.459 22389879.844 22389876.728
+ 3032.521 2363.003 50.502 44.549
+ 03 8 2 0 20 31.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24279268.855 -18907053.198 20464928.396 20464930.522 20464928.790
+ 274.804 214.140 52.065 47.676
+ -15142328.942 -11770831.534 22099284.539 22099287.441 22099285.497
+ -1940.884 -1512.367 50.676 45.417
+ -17226274.750 -13411423.956 21793477.636 21793480.859 21793477.654
+ 1165.861 908.469 51.544 45.244
+ -18010703.545 -14019036.559 21369244.720 21369245.590 21369244.457
+ 2030.480 1582.197 51.023 45.765
+ -9512671.175 -7399254.668 23156741.668 23156744.001 23156742.023
+ -2970.274 -2314.481 46.854 41.769
+ -3992426.970 -3065151.990 23616126.673 23616130.270 23616127.022
+ -3123.830 -2434.140 49.460 42.117
+ -4914692.687 -3821257.613 23947128.303 23947132.437 23947128.370
+ 1960.634 1527.764 47.722 42.464
+ -13905833.977 -10580858.835 22389010.820 22389013.722 22389011.125
+ 3032.669 2363.120 50.502 44.549
+ 03 8 2 0 20 33.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24279679.740 -18907373.369 20464850.266 20464852.412 20464850.624
+ 273.473 213.091 52.065 47.676
+ -15139416.664 -11768562.226 22099838.691 22099841.917 22099839.678
+ -1941.695 -1513.016 50.676 45.417
+ -17228022.235 -13412785.630 21793145.119 21793148.241 21793145.072
+ 1164.507 907.397 51.544 45.417
+ -18013748.125 -14021408.959 21368665.309 21368666.343 21368665.150
+ 2029.364 1581.321 51.023 45.591
+ -9508214.739 -7395782.128 23157589.870 23157591.401 23157590.222
+ -2971.088 -2315.142 46.854 41.943
+ -3987740.398 -3061500.117 23617018.206 23617021.905 23617018.893
+ -3124.514 -2434.681 49.460 42.117
+ -4917633.026 -3823548.787 23946568.938 23946573.061 23946568.941
+ 1960.153 1527.391 47.722 42.290
+ -13910382.029 -10584402.769 22388145.441 22388148.614 22388145.743
+ 3031.737 2362.382 50.502 44.549
+ 03 8 2 0 20 34.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24280089.630 -18907692.764 20464772.085 20464774.482 20464772.589
+ 272.507 212.335 52.065 47.676
+ -15136504.141 -11766292.732 22100393.037 22100396.268 22100394.007
+ -1942.159 -1513.375 50.676 45.417
+ -17229768.635 -13414146.460 21792812.877 21792815.819 21792812.791
+ 1163.504 906.620 51.544 45.417
+ -18016792.010 -14023780.817 21368085.966 21368087.195 21368085.864
+ 2028.611 1580.730 51.023 45.765
+ -9503758.207 -7392309.515 23158438.674 23158440.351 23158438.326
+ -2971.381 -2315.363 46.854 41.943
+ -3983053.779 -3057848.205 23617910.137 23617914.032 23617910.771
+ -3124.863 -2434.953 49.460 42.117
+ -4920573.636 -3825840.174 23946009.384 23946013.159 23946009.434
+ 1960.025 1527.285 47.722 42.464
+ -13914929.637 -10587946.364 22387280.272 22387283.170 22387280.439
+ 3031.121 2361.905 50.502 44.549
+ 03 8 2 0 20 36.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24280498.195 -18908011.127 20464694.263 20464696.641 20464694.777
+ 272.225 212.131 52.065 47.676
+ -15133591.078 -11764022.813 22100947.310 22100950.818 22100948.329
+ -1941.939 -1513.189 50.676 45.417
+ -17231513.632 -13415506.198 21792480.726 21792483.469 21792480.771
+ 1163.146 906.353 51.544 45.417
+ -18019834.881 -14026151.886 21367506.982 21367508.202 21367506.714
+ 2028.554 1580.696 51.023 45.765
+ -9499301.247 -7388836.545 23159286.450 23159288.380 23159286.613
+ -2971.225 -2315.240 46.854 41.943
+ -3978366.801 -3054196.018 23618802.017 23618805.339 23618802.657
+ -3124.492 -2434.665 49.460 42.117
+ -4923514.197 -3828131.515 23945449.939 23945453.239 23945450.011
+ 1960.571 1527.718 47.722 42.290
+ -13919476.486 -10591489.361 22386415.080 22386417.867 22386415.244
+ 3031.254 2362.010 50.502 44.549
+ 03 8 2 0 20 37.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24280905.508 -18908328.514 20464616.787 20464619.069 20464617.164
+ 271.124 211.264 52.065 47.676
+ -15130677.529 -11761752.518 22101501.767 22101505.092 22101502.720
+ -1942.545 -1513.671 50.676 45.591
+ -17233257.295 -13416864.894 21792148.975 21792152.019 21792148.943
+ 1161.987 905.445 51.544 45.244
+ -18022876.798 -14028522.205 21366928.011 21366929.128 21366927.781
+ 2027.635 1579.961 51.023 45.765
+ -9494843.976 -7385363.344 23160134.284 23160136.479 23160134.906
+ -2971.798 -2315.699 46.854 41.769
+ -3973679.535 -3050543.612 23619693.745 23619697.048 23619694.500
+ -3124.984 -2435.026 49.460 42.117
+ -4926454.753 -3830422.858 23944890.032 23944893.699 23944890.494
+ 1960.330 1527.525 47.722 42.464
+ -13924022.645 -10595031.819 22385549.896 22385552.556 22385550.162
+ 3030.459 2361.394 50.502 44.549
+ 03 8 2 0 20 39.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24281311.716 -18908645.040 20464539.382 20464541.720 20464539.768
+ 270.410 210.716 52.065 47.676
+ -15127763.666 -11759481.978 22102056.285 22102059.158 22102057.176
+ -1942.698 -1513.785 50.676 45.591
+ -17234999.772 -13418222.669 21791817.556 21791820.405 21791817.366
+ 1161.209 904.841 51.544 45.244
+ -18025917.906 -14030891.898 21366349.251 21366350.747 21366349.031
+ 2027.115 1579.569 51.023 45.765
+ -9490386.497 -7381889.990 23160982.363 23160984.132 23160983.102
+ -2971.837 -2315.702 46.854 41.769
+ -3968992.136 -3046891.093 23620585.967 23620589.628 23620586.414
+ -3125.058 -2435.107 49.286 42.117
+ -4929395.489 -3832714.338 23944330.466 23944334.032 23944330.769
+ 1960.427 1527.611 47.722 42.464
+ -13928568.263 -10598573.858 22384684.964 22384687.675 22384685.292
+ 3030.138 2361.148 50.502 44.549
+ 03 8 2 0 20 40.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24281716.634 -18908960.560 20464462.445 20464464.544 20464462.632
+ 269.886 210.304 52.065 47.676
+ -15124849.265 -11757211.014 22102610.817 22102613.808 22102611.725
+ -1942.719 -1513.802 50.676 45.591
+ -17236740.889 -13419579.378 21791486.236 21791488.791 21791486.040
+ 1160.657 904.409 51.544 45.244
+ -18028958.022 -14033260.822 21365770.698 21365771.874 21365770.557
+ 2026.771 1579.317 51.023 45.765
+ -9485928.626 -7378416.325 23161830.302 23161832.550 23161831.619
+ -2971.687 -2315.602 47.028 41.769
+ -3964304.412 -3043238.324 23621478.065 23621481.552 23621478.541
+ -3124.894 -2434.987 49.286 41.943
+ -4932336.183 -3835005.787 23943771.100 23943774.367 23943770.998
+ 1960.754 1527.869 47.722 42.464
+ -13933113.152 -10602115.327 22383820.153 22383822.930 22383820.550
+ 3030.039 2361.077 50.502 44.549
+ 03 8 2 0 20 42.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927232
+ -24282120.380 -18909275.168 20464385.629 20464387.881 20464385.731
+ 268.976 209.599 52.065 47.676
+ -15121934.489 -11754939.761 22103165.776 22103168.722 22103166.405
+ -1943.049 -1514.054 50.676 45.417
+ -17238480.745 -13420935.109 21791155.096 21791157.746 21791154.948
+ 1159.710 903.680 51.544 45.244
+ -18031997.246 -14035629.049 21365192.339 21365193.674 21365192.265
+ 2026.064 1578.757 51.023 45.765
+ -9481470.478 -7374942.452 23162678.615 23162681.188 23162679.654
+ -2972.050 -2315.860 47.028 41.595
+ -3959616.491 -3039585.404 23622370.440 23622374.152 23622370.803
+ -3125.109 -2435.146 49.286 41.943
+ -4935276.963 -3837297.298 23943211.249 23943214.908 23943211.381
+ 1960.663 1527.784 47.722 42.290
+ -13937657.399 -10605656.298 22382955.303 22382958.166 22382955.906
+ 3029.512 2360.664 50.502 44.549
+ 03 8 2 0 20 43.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927233
+ -24282522.989 -18909588.889 20464309.014 20464311.468 20464308.990
+ 267.867 208.723 52.065 47.676
+ -15119019.325 -11752668.206 22103720.519 22103723.688 22103721.083
+ -1943.702 -1514.579 50.676 45.591
+ -17240219.386 -13422289.893 21790824.240 21790826.893 21790824.106
+ 1158.535 902.745 51.544 45.244
+ -18035035.655 -14037996.642 21364614.095 21364615.412 21364614.091
+ 2025.148 1578.032 51.023 45.765
+ -9477012.099 -7371468.392 23163526.892 23163529.120 23163527.796
+ -2972.521 -2316.265 47.028 41.769
+ -3954928.381 -3035932.334 23623262.610 23623265.529 23623263.045
+ -3125.626 -2435.559 49.286 41.943
+ -4938217.863 -3839588.908 23942651.618 23942655.569 23942651.863
+ 1960.429 1527.600 47.722 42.464
+ -13942201.075 -10609196.824 22382090.699 22382093.358 22382091.343
+ 3028.787 2360.093 50.502 44.549
+ 03 8 2 0 20 45.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927233
+ -24282924.248 -18909901.558 20464232.635 20464234.862 20464232.622
+ 267.438 208.397 52.065 47.676
+ -15116103.606 -11750396.219 22104275.128 22104278.467 22104275.861
+ -1943.594 -1514.478 50.676 45.417
+ -17241956.607 -13423643.569 21790493.777 21790496.533 21790493.565
+ 1158.064 902.393 51.544 45.244
+ -18038072.998 -14040363.399 21364035.993 21364037.625 21364036.063
+ 2024.944 1577.884 51.023 45.765
+ -9472553.286 -7367994.003 23164375.379 23164378.649 23164376.005
+ -2972.224 -2315.992 47.028 41.769
+ -3950239.909 -3032278.975 23624154.747 23624158.411 23624155.379
+ -3125.370 -2435.354 49.286 42.117
+ -4941158.708 -3841880.475 23942092.316 23942095.844 23942092.286
+ 1960.862 1527.948 47.722 42.290
+ -13946743.944 -10612736.718 22381226.071 22381229.076 22381226.919
+ 3028.690 2360.023 50.502 44.549
+ 03 8 2 0 20 46.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927233
+ -24283324.290 -18910213.278 20464156.538 20464158.651 20464156.486
+ 266.177 207.406 52.065 47.676
+ -15113187.443 -11748123.883 22104830.215 22104833.370 22104830.773
+ -1944.347 -1515.079 50.676 45.417
+ -17243692.517 -13424996.225 21790163.509 21790165.853 21790163.271
+ 1156.712 901.326 51.544 45.244
+ -18041109.428 -14042729.447 21363458.159 21363460.011 21363458.177
+ 2023.887 1577.049 51.023 45.765
+ -9468094.139 -7364519.339 23165223.861 23165226.613 23165224.503
+ -2973.059 -2316.679 47.028 41.943
+ -3945551.164 -3028625.408 23625046.924 23625050.237 23625047.784
+ -3126.042 -2435.878 49.286 42.117
+ -4944099.572 -3844172.050 23941532.587 23941536.034 23941532.717
+ 1960.365 1527.535 47.722 42.117
+ -13951286.170 -10616276.108 22380361.767 22380364.621 22380362.652
+ 3027.714 2359.242 50.502 44.549
+ 03 8 2 0 20 48.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927233
+ -24283723.312 -18910524.206 20464080.622 20464082.911 20464080.581
+ 265.700 207.041 52.065 47.676
+ -15110271.039 -11745851.360 22105385.148 22105388.304 22105385.707
+ -1944.337 -1515.068 50.676 45.417
+ -17245427.342 -13426348.037 21789833.339 21789835.791 21789833.194
+ 1156.203 900.941 51.544 45.417
+ -18044145.146 -14045094.941 21362880.584 21362882.091 21362880.389
+ 2023.597 1576.832 51.023 45.765
+ -9463634.912 -7361044.618 23166072.604 23166075.436 23166072.889
+ -2972.897 -2316.546 47.028 41.943
+ -3940862.390 -3024971.830 23625938.965 23625942.219 23625940.100
+ -3125.890 -2435.764 49.286 41.943
+ -4947040.717 -3846463.856 23940973.205 23940976.119 23940973.060
+ 1960.837 1527.924 47.722 42.290
+ -13955827.927 -10619815.142 22379497.711 22379500.290 22379498.433
+ 3027.630 2359.194 50.502 44.549
+ 03 8 2 0 20 49.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927233
+ -24284120.943 -18910834.048 20464004.961 20464007.153 20464004.896
+ 265.127 206.601 52.065 47.502
+ -15107354.017 -11743578.361 22105940.182 22105943.066 22105940.787
+ -1944.361 -1515.078 50.676 45.417
+ -17247160.683 -13427698.693 21789503.534 21789505.945 21789503.506
+ 1155.557 900.440 51.544 45.244
+ -18047179.766 -14047459.579 21362303.096 21362304.628 21362302.885
+ 2023.206 1576.525 51.023 45.765
+ -9459175.224 -7357569.543 23166921.696 23166922.995 23166921.359
+ -2972.780 -2316.456 47.028 41.769
+ -3936173.196 -3021317.912 23626831.376 23626834.604 23626832.453
+ -3125.775 -2435.664 49.286 42.117
+ -4949981.687 -3848755.518 23940413.779 23940416.175 23940413.616
+ 1960.988 1528.044 47.722 42.290
+ -13960368.856 -10623353.528 22378633.416 22378636.237 22378634.381
+ 3027.493 2359.093 50.502 44.549
+ 03 8 2 0 20 51.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927233
+ -24284517.486 -18911143.044 20463929.346 20463931.704 20463929.402
+ 264.147 205.829 52.065 47.676
+ -15104436.691 -11741305.121 22106495.345 22106498.532 22106495.908
+ -1944.796 -1515.424 50.676 45.417
+ -17248892.860 -13429048.440 21789174.110 21789176.388 21789174.004
+ 1154.528 899.629 51.544 45.244
+ -18050213.601 -14049823.606 21361725.726 21361727.282 21361725.532
+ 2022.465 1575.948 51.023 45.765
+ -9454715.311 -7354094.293 23167770.537 23167772.645 23167770.181
+ -2973.212 -2316.782 47.028 41.769
+ -3931483.877 -3017663.899 23627723.931 23627727.478 23627724.810
+ -3126.107 -2435.919 49.286 41.943
+ -4952922.866 -3851047.348 23939853.925 23939857.036 23939854.178
+ 1960.981 1528.041 47.896 42.290
+ -13964909.262 -10626891.508 22377769.448 22377772.534 22377770.498
+ 3026.864 2358.594 50.502 44.549
+ 03 8 2 0 20 52.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927233
+ -24284912.834 -18911451.108 20463854.321 20463856.383 20463854.210
+ 262.970 204.902 52.065 47.676
+ -15101518.939 -11739031.551 22107050.638 22107053.690 22107051.181
+ -1945.484 -1515.964 50.676 45.417
+ -17250623.766 -13430397.201 21788844.536 21788847.041 21788844.750
+ 1153.306 898.672 51.544 45.417
+ -18053246.545 -14052186.942 21361148.638 21361150.428 21361148.388
+ 2021.501 1575.187 51.023 45.765
+ -9450255.152 -7350618.843 23168619.050 23168621.390 23168619.004
+ -2973.630 -2317.128 47.028 41.769
+ -3926794.331 -3014009.714 23628615.984 23628619.596 23628617.201
+ -3126.637 -2436.345 49.286 42.117
+ -4955864.124 -3853339.238 23939293.916 23939296.889 23939294.624
+ 1960.597 1527.722 47.896 42.290
+ -13969449.019 -10630428.980 22376905.748 22376908.359 22376906.674
+ 3026.022 2357.935 50.502 44.549
+ 03 8 2 0 20 54.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927233
+ -24285306.878 -18911758.153 20463779.209 20463781.548 20463779.233
+ 262.547 204.582 52.065 47.676
+ -15098600.656 -11736757.564 22107605.841 22107609.064 22107606.580
+ -1945.402 -1515.898 50.676 45.417
+ -17252353.286 -13431744.877 21788515.659 21788518.156 21788515.692
+ 1152.846 898.330 51.544 45.244
+ -18056278.482 -14054549.488 21360571.797 21360573.374 21360571.370
+ 2021.274 1575.020 51.023 45.765
+ -9445794.523 -7347143.023 23169467.519 23169469.887 23169467.845
+ -2973.710 -2317.181 47.028 41.769
+ -3922104.466 -3010355.280 23629508.211 23629511.672 23629509.718
+ -3126.388 -2436.148 49.286 42.117
+ -4958805.330 -3855631.073 23938734.294 23938737.785 23938734.965
+ 1960.959 1528.006 47.896 42.290
+ -13973988.047 -10633965.884 22376041.942 22376044.337 22376042.914
+ 3026.039 2357.959 50.502 44.549
+ 03 8 2 0 20 55.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927233
+ -24285699.792 -18912064.322 20463704.552 20463706.464 20463704.496
+ 261.644 203.883 52.065 47.676
+ -15095682.028 -11734483.313 22108161.368 22108164.571 22108161.998
+ -1945.762 -1516.173 50.676 45.417
+ -17254081.597 -13433091.613 21788186.652 21788188.989 21788186.869
+ 1151.899 897.583 51.718 45.244
+ -18059309.584 -14056911.387 21359994.798 21359996.461 21359994.477
+ 2020.537 1574.448 51.023 45.765
+ -9441333.751 -7343667.109 23170316.022 23170318.936 23170316.693
+ -2973.866 -2317.287 47.028 41.769
+ -3917414.432 -3006700.715 23630400.904 23630404.791 23630402.195
+ -3126.632 -2436.340 49.286 42.117
+ -4961746.691 -3857923.041 23938174.890 23938177.744 23938175.163
+ 1960.930 1527.995 47.896 42.290
+ -13978526.486 -10637502.331 22375178.363 22375181.000 22375179.194
+ 3025.500 2357.537 50.502 44.549
+ 03 8 2 0 20 57.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24286091.417 -18912369.483 20463630.074 20463632.119 20463630.064
+ 260.754 203.183 52.065 47.676
+ -15092762.880 -11732208.650 22108716.791 22108720.011 22108717.519
+ -1946.147 -1516.483 50.676 45.417
+ -17255808.532 -13434437.276 21787857.980 21787860.359 21787858.241
+ 1150.945 896.843 51.718 45.244
+ -18062339.689 -14059272.506 21359418.284 21359419.887 21359417.797
+ 2019.841 1573.902 51.023 45.765
+ -9436872.574 -7340190.867 23171164.798 23171167.368 23171165.426
+ -2974.114 -2317.489 47.028 41.769
+ -3912724.088 -3003045.900 23631293.710 23631297.071 23631294.802
+ -3126.854 -2436.507 49.286 42.117
+ -4964688.045 -3860215.007 23937614.848 23937617.383 23937615.412
+ 1960.894 1527.965 47.896 42.290
+ -13983064.182 -10641038.195 22374314.876 22374317.281 22374315.731
+ 3024.954 2357.100 50.502 44.549
+ 03 8 2 0 20 58.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24286481.902 -18912673.758 20463555.718 20463557.935 20463555.819
+ 260.092 202.679 52.065 47.676
+ -15089843.365 -11729933.707 22109272.413 22109275.351 22109273.056
+ -1946.324 -1516.605 50.676 45.417
+ -17257534.257 -13435782.000 21787529.720 21787532.477 21787529.855
+ 1150.206 896.278 51.718 45.244
+ -18065368.962 -14061632.976 21358841.857 21358843.427 21358841.296
+ 2019.385 1573.563 51.023 45.765
+ -9432411.142 -7336714.445 23172013.827 23172017.222 23172014.252
+ -2974.180 -2317.534 47.028 41.595
+ -3908033.568 -2999390.952 23632185.895 23632189.634 23632187.429
+ -3126.932 -2436.560 49.112 42.117
+ -4967629.505 -3862507.053 23937054.958 23937057.964 23937055.681
+ 1961.085 1528.128 47.896 42.290
+ -13987601.293 -10644573.610 22373451.565 22373453.904 22373452.355
+ 3024.666 2356.898 50.502 44.549
+ 03 8 2 0 21 0.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24286871.231 -18912977.132 20463481.633 20463483.760 20463481.818
+ 259.294 202.050 52.065 47.676
+ -15086923.486 -11727658.476 22109828.101 22109831.220 22109828.740
+ -1946.575 -1516.812 50.676 45.417
+ -17259258.744 -13437125.752 21787201.415 21787203.738 21787201.697
+ 1149.367 895.608 51.718 45.244
+ -18068397.371 -14063992.777 21358265.663 21358267.264 21358264.984
+ 2018.765 1573.065 51.023 45.765
+ -9427949.458 -7333237.803 23172862.425 23172865.843 23172863.217
+ -2974.492 -2317.794 47.028 41.595
+ -3903342.872 -2995735.871 23633078.872 23633082.745 23633080.062
+ -3127.065 -2436.659 49.112 42.117
+ -4970571.065 -3864799.172 23936495.476 23936498.480 23936495.806
+ 1961.104 1528.143 47.896 42.290
+ -13992137.800 -10648108.548 22372588.316 22372590.786 22372589.098
+ 3024.252 2356.562 50.502 44.549
+ 03 8 2 0 21 1.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24287259.272 -18913279.501 20463407.860 20463409.868 20463408.043
+ 258.341 201.302 52.065 47.676
+ -15084003.089 -11725382.844 22110383.815 22110386.951 22110384.420
+ -1947.011 -1517.148 50.676 45.417
+ -17260981.860 -13438468.436 21786873.642 21786876.139 21786873.765
+ 1148.347 894.807 51.718 45.244
+ -18071424.788 -14066351.803 21357689.591 21357691.241 21357688.888
+ 2018.028 1572.483 51.023 45.765
+ -9423487.441 -7329760.912 23173711.532 23173714.182 23173712.251
+ -2974.726 -2317.951 47.028 41.595
+ -3898651.853 -2992080.533 23633971.462 23633974.948 23633972.665
+ -3127.396 -2436.930 49.112 42.117
+ -4973512.622 -3867091.298 23935935.405 23935938.231 23935935.955
+ 1961.108 1528.136 47.896 42.117
+ -13996673.583 -10651642.925 22371724.962 22371727.879 22371725.950
+ 3023.642 2356.084 50.502 44.549
+ 03 8 2 0 21 3.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24287646.111 -18913580.934 20463334.206 20463336.345 20463334.507
+ 257.818 200.908 52.065 47.676
+ -15081082.278 -11723106.890 22110939.545 22110942.529 22110940.171
+ -1946.996 -1517.133 50.676 45.417
+ -17262703.706 -13439810.135 21786546.189 21786548.350 21786546.090
+ 1147.782 894.385 51.718 45.244
+ -18074451.313 -14068710.136 21357113.676 21357115.590 21357112.987
+ 2017.710 1572.254 51.023 45.765
+ -9419025.130 -7326283.796 23174560.700 23174563.894 23174561.234
+ -2974.607 -2317.878 47.028 41.595
+ -3893960.607 -2988425.022 23634864.137 23634867.687 23634865.277
+ -3127.342 -2436.882 49.112 42.117
+ -4976454.203 -3869383.437 23935375.558 23935378.894 23935376.182
+ 1961.314 1528.294 47.896 42.290
+ -14001208.730 -10655176.802 22370861.895 22370864.738 22370862.891
+ 3023.535 2356.007 50.502 44.549
+ 03 8 2 0 21 4.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24288031.739 -18913881.425 20463260.871 20463262.876 20463261.144
+ 256.672 200.001 52.065 47.676
+ -15078161.036 -11720830.599 22111495.629 22111498.908 22111496.079
+ -1947.615 -1517.620 50.676 45.591
+ -17264424.251 -13441150.822 21786218.531 21786220.871 21786218.665
+ 1146.563 893.425 51.718 45.244
+ -18077476.937 -14071067.763 21356537.947 21356539.594 21356537.248
+ 2016.778 1571.506 51.023 45.765
+ -9414562.508 -7322806.429 23175410.419 23175412.635 23175410.307
+ -2975.248 -2318.375 47.028 41.595
+ -3889269.144 -2984769.334 23635756.851 23635760.528 23635757.911
+ -3127.766 -2437.240 49.112 42.117
+ -4979395.850 -3871675.619 23934815.801 23934819.013 23934816.355
+ 1961.079 1528.111 47.896 42.290
+ -14005743.194 -10658710.148 22369999.034 22370001.826 22369999.949
+ 3022.716 2355.361 50.502 44.549
+ 03 8 2 0 21 6.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24288416.234 -18914181.033 20463187.683 20463189.633 20463187.983
+ 255.945 199.438 52.065 47.676
+ -15075239.430 -11718554.024 22112051.378 22112054.195 22112052.020
+ -1947.845 -1517.797 50.676 45.417
+ -17266143.584 -13442490.565 21785891.289 21785893.809 21785891.501
+ 1145.806 892.840 51.718 45.244
+ -18080501.711 -14073424.729 21355962.382 21355963.861 21355961.698
+ 2016.223 1571.086 51.023 45.765
+ -9410099.664 -7319328.894 23176259.792 23176261.625 23176259.326
+ -2975.334 -2318.441 47.028 41.422
+ -3884577.509 -2981113.521 23636649.780 23636653.151 23636650.708
+ -3127.864 -2437.298 49.112 42.117
+ -4982337.676 -3873967.950 23934256.103 23934259.477 23934256.518
+ 1961.176 1528.192 47.896 42.290
+ -14010277.076 -10662243.043 22369136.186 22369138.925 22369137.118
+ 3022.348 2355.076 50.502 44.549
+ 03 8 2 0 21 7.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24288799.401 -18914479.601 20463114.702 20463116.782 20463115.055
+ 255.406 199.024 52.065 47.676
+ -15072317.283 -11716277.024 22112607.498 22112610.315 22112608.114
+ -1947.880 -1517.826 50.676 45.417
+ -17267861.506 -13443829.200 21785564.422 21785567.011 21785564.595
+ 1145.204 892.368 51.718 45.417
+ -18083525.472 -14075780.905 21355387.025 21355388.552 21355386.347
+ 2015.857 1570.805 51.023 45.765
+ -9405636.398 -7315851.027 23177109.212 23177111.347 23177108.599
+ -2975.301 -2318.406 47.028 41.595
+ -3879885.527 -2977457.437 23637542.299 23637546.444 23637543.386
+ -3127.702 -2437.165 49.112 42.117
+ -4985279.401 -3876260.209 23933696.271 23933699.474 23933696.721
+ 1961.411 1528.395 47.896 42.290
+ -14014810.200 -10665775.342 22368273.692 22368276.442 22368274.369
+ 3022.173 2354.940 50.502 44.549
+ 03 8 2 0 21 9.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24289181.433 -18914777.289 20463042.025 20463044.223 20463042.417
+ 254.063 197.968 52.065 47.676
+ -15069394.788 -11713999.757 22113163.605 22113166.484 22113164.301
+ -1948.684 -1518.454 50.676 45.417
+ -17269578.218 -13445166.897 21785237.706 21785240.298 21785237.944
+ 1143.817 891.286 51.718 45.244
+ -18086548.396 -14078136.430 21354811.715 21354813.298 21354811.136
+ 2014.773 1569.947 51.023 45.765
+ -9401172.948 -7312373.020 23177959.044 23177960.221 23177957.872
+ -2975.902 -2318.878 47.028 41.422
+ -3875193.382 -2973801.225 23638435.085 23638439.073 23638436.090
+ -3128.340 -2437.656 49.112 42.117
+ -4988221.262 -3878552.562 23933136.492 23933139.650 23933136.953
+ 1960.965 1528.024 47.896 42.290
+ -14019342.753 -10669307.198 22367410.924 22367414.188 22367411.678
+ 3021.238 2354.205 50.502 44.549
+ 03 8 2 0 21 10.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24289562.254 -18915074.032 20462969.584 20462971.472 20462969.975
+ 253.541 197.568 52.065 47.676
+ -15066471.866 -11711722.159 22113719.983 22113722.729 22113720.511
+ -1948.675 -1518.441 50.676 45.417
+ -17271293.633 -13446503.582 21784911.264 21784913.768 21784911.565
+ 1143.262 890.853 51.718 45.417
+ -18089570.394 -14080491.229 21354236.630 21354238.341 21354236.126
+ 2014.462 1569.720 51.023 45.765
+ -9396709.181 -7308894.765 23178807.961 23178809.898 23178807.239
+ -2975.827 -2318.829 47.201 41.595
+ -3870501.005 -2970144.829 23639327.978 23639332.537 23639328.790
+ -3128.260 -2437.605 49.112 42.117
+ -4991163.185 -3880844.965 23932576.278 23932579.751 23932577.143
+ 1961.338 1528.306 47.896 42.117
+ -14023874.615 -10672838.517 22366548.575 22366551.555 22366549.204
+ 3021.055 2354.073 50.502 44.722
+ 03 8 2 0 21 12.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24289941.742 -18915369.736 20462897.334 20462899.387 20462897.769
+ 252.858 197.034 52.065 47.676
+ -15063548.393 -11709444.125 22114276.060 22114279.143 22114276.806
+ -1948.823 -1518.562 50.676 45.417
+ -17273007.626 -13447839.157 21784585.079 21784587.528 21784585.407
+ 1142.488 890.255 51.718 45.244
+ -18092591.368 -14082845.232 21353661.767 21353663.346 21353661.326
+ 2013.960 1569.321 51.023 45.765
+ -9392244.985 -7305416.162 23179657.573 23179660.050 23179656.628
+ -2975.968 -2318.941 47.201 41.595
+ -3865808.273 -2966488.161 23640220.888 23640225.550 23640221.595
+ -3128.301 -2437.630 48.938 42.117
+ -4994105.043 -3883137.322 23932016.793 23932020.593 23932017.276
+ 1961.446 1528.394 47.896 42.117
+ -14028405.709 -10676369.238 22365686.338 22365689.373 22365686.881
+ 3020.718 2353.808 50.502 44.722
+ 03 8 2 0 21 13.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24290320.208 -18915664.647 20462825.255 20462827.339 20462825.725
+ 251.626 196.071 52.065 47.676
+ -15060624.659 -11707165.899 22114832.537 22114835.409 22114833.071
+ -1949.567 -1519.145 50.676 45.417
+ -17274720.527 -13449173.885 21784259.050 21784261.907 21784259.429
+ 1141.198 889.242 51.718 45.417
+ -18095611.611 -14085198.674 21353087.168 21353088.742 21353086.714
+ 2012.900 1568.486 51.023 45.938
+ -9387780.682 -7301937.498 23180507.462 23180508.985 23180506.281
+ -2976.603 -2319.423 47.201 41.422
+ -3861115.486 -2962831.446 23641113.990 23641117.889 23641114.559
+ -3128.889 -2438.095 48.938 42.117
+ -4997047.168 -3885429.881 23931456.816 23931460.367 23931457.411
+ 1961.116 1528.119 47.896 42.117
+ -14032936.346 -10679899.604 22364824.163 22364826.910 22364824.705
+ 3019.886 2353.148 50.502 44.722
+ 03 8 2 0 21 15.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24290697.355 -18915958.527 20462753.512 20462755.559 20462753.983
+ 251.132 195.694 52.065 47.676
+ -15057700.408 -11704887.261 22115388.909 22115392.087 22115389.499
+ -1949.527 -1519.102 50.676 45.417
+ -17276432.036 -13450507.527 21783933.321 21783936.253 21783933.765
+ 1140.696 888.856 51.718 45.417
+ -18098630.837 -14087551.316 21352512.743 21352514.100 21352512.272
+ 2012.634 1568.288 51.023 45.765
+ -9383315.992 -7298458.512 23181357.381 23181357.970 23181355.913
+ -2976.375 -2319.240 47.201 41.595
+ -3856422.370 -2959174.478 23642007.223 23642011.357 23642007.559
+ -3128.760 -2437.988 48.938 42.117
+ -4999989.206 -3887722.378 23930896.802 23930899.861 23930897.560
+ 1961.434 1528.400 47.896 42.117
+ -14037466.205 -10683429.363 22363962.048 22363965.070 22363962.640
+ 3019.760 2353.071 50.502 44.722
+ 03 8 2 0 21 16.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24291073.313 -18916251.481 20462681.975 20462684.019 20462682.434
+ 250.196 194.955 52.065 47.676
+ -15054775.753 -11702608.309 22115945.411 22115948.404 22115945.978
+ -1949.895 -1519.405 50.849 45.417
+ -17278142.257 -13451840.164 21783607.844 21783610.809 21783608.331
+ 1139.681 888.057 51.718 45.417
+ -18101649.161 -14089903.254 21351938.184 21351939.871 21351937.967
+ 2011.873 1567.687 51.023 45.765
+ -9378851.005 -7294979.304 23182206.579 23182208.523 23182205.688
+ -2976.794 -2319.574 47.201 41.595
+ -3851729.045 -2955517.349 23642900.541 23642904.518 23642900.792
+ -3128.977 -2438.176 48.938 42.117
+ -5002931.335 -3890014.942 23930337.458 23930340.043 23930337.843
+ 1961.417 1528.355 47.896 42.117
+ -14041995.430 -10686958.629 22363100.437 22363103.107 22363100.716
+ 3019.229 2352.647 50.502 44.722
+ 03 8 2 0 21 18.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24291448.082 -18916543.509 20462610.577 20462612.710 20462611.142
+ 248.989 194.015 52.065 47.676
+ -15051850.681 -11700329.032 22116502.058 22116505.065 22116502.578
+ -1950.619 -1519.977 50.849 45.417
+ -17279851.213 -13453171.820 21783282.658 21783285.390 21783283.120
+ 1138.418 887.070 51.718 45.417
+ -18104666.591 -14092254.499 21351363.856 21351365.819 21351363.806
+ 2010.842 1566.886 51.023 45.765
+ -9374385.745 -7291499.887 23183056.189 23183058.655 23183055.662
+ -2977.329 -2319.997 47.201 41.595
+ -3847035.499 -2951860.041 23643793.647 23643797.278 23643794.052
+ -3129.563 -2438.631 48.938 42.290
+ -5005873.562 -3892307.587 23929777.634 23929780.602 23929778.052
+ 1960.894 1527.959 47.896 42.117
+ -14046524.021 -10690487.399 22362238.514 22362241.707 22362238.905
+ 3018.420 2351.997 50.502 44.549
+ 03 8 2 0 21 19.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24291821.651 -18916834.602 20462539.414 20462541.553 20462540.036
+ 248.457 193.609 52.065 47.676
+ -15048925.202 -11698049.442 22117058.723 22117061.761 22117059.175
+ -1950.645 -1519.977 50.849 45.417
+ -17281558.900 -13454502.486 21782957.795 21782960.421 21782958.172
+ 1137.839 886.627 51.718 45.417
+ -18107683.144 -14094605.059 21350790.008 21350791.524 21350789.760
+ 2010.513 1566.635 51.023 45.765
+ -9369920.230 -7288020.264 23183905.950 23183908.278 23183905.676
+ -2977.303 -2319.979 47.201 41.422
+ -3842341.759 -2948202.582 23644686.807 23644690.577 23644687.403
+ -3129.427 -2438.510 48.938 42.117
+ -5008815.881 -3894600.300 23929217.518 23929220.940 23929218.210
+ 1961.248 1528.264 47.896 42.117
+ -14051051.966 -10694015.663 22361376.739 22361379.814 22361377.247
+ 3018.244 2351.873 50.502 44.549
+ 03 8 2 0 21 21.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24292193.948 -18917124.705 20462468.725 20462470.800 20462469.139
+ 247.641 192.960 52.065 47.676
+ -15045999.236 -11695769.471 22117615.674 22117618.503 22117615.932
+ -1950.927 -1520.204 50.849 45.417
+ -17283265.233 -13455832.092 21782633.105 21782635.751 21782633.458
+ 1137.002 885.963 51.718 45.417
+ -18110698.704 -14096954.845 21350216.092 21350217.765 21350215.909
+ 2009.952 1566.190 51.023 45.938
+ -9365454.367 -7284540.380 23184755.884 23184757.658 23184755.600
+ -2977.441 -2320.079 47.201 41.422
+ -3837647.716 -2944544.890 23645580.174 23645584.186 23645580.744
+ -3129.566 -2438.619 48.938 42.117
+ -5011758.187 -3896893.004 23928657.997 23928661.260 23928658.415
+ 1961.376 1528.330 47.896 42.117
+ -14055579.175 -10697543.359 22360515.396 22360518.473 22360515.751
+ 3017.716 2351.458 50.502 44.722
+ 03 8 2 0 21 22.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24292565.186 -18917413.982 20462397.967 20462400.214 20462398.423
+ 246.879 192.381 52.065 47.676
+ -15043072.986 -11693489.278 22118172.557 22118175.169 22118172.754
+ -1951.156 -1520.377 50.849 45.417
+ -17284970.411 -13457160.802 21782308.459 21782311.445 21782308.937
+ 1136.166 885.325 51.718 45.417
+ -18113713.493 -14099304.032 21349642.377 21349643.867 21349642.275
+ 2009.357 1565.733 51.023 45.938
+ -9360988.346 -7281060.366 23185605.801 23185607.118 23185605.593
+ -2977.681 -2320.266 47.201 41.595
+ -3832953.586 -2940887.129 23646473.231 23646477.546 23646474.056
+ -3129.673 -2438.708 48.938 42.117
+ -5014700.702 -3899185.874 23928098.171 23928100.160 23928098.557
+ 1961.419 1528.372 47.896 42.117
+ -14060105.890 -10701070.666 22359654.037 22359656.774 22359654.343
+ 3017.387 2351.218 50.502 44.722
+ 03 8 2 0 21 24.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24292935.081 -18917702.212 20462327.743 20462329.858 20462328.023
+ 246.658 192.206 52.065 47.676
+ -15040146.180 -11691208.651 22118729.535 22118732.162 22118729.621
+ -1950.876 -1520.158 50.849 45.244
+ -17286674.179 -13458488.415 21781984.137 21781987.564 21781984.681
+ 1135.865 885.091 51.718 45.417
+ -18116727.231 -14101652.400 21349068.991 21349070.550 21349068.842
+ 2009.300 1565.693 51.023 45.765
+ -9356521.897 -7277580.016 23186455.906 23186457.674 23186455.708
+ -2977.437 -2320.073 47.201 41.422
+ -3828259.087 -2937229.080 23647366.666 23647370.227 23647367.452
+ -3129.294 -2438.405 48.938 42.117
+ -5017643.143 -3901478.682 23927538.180 23927540.781 23927538.679
+ 1962.116 1528.933 47.896 42.117
+ -14064631.810 -10704597.358 22358792.747 22358795.713 22358793.093
+ 3017.492 2351.299 50.502 44.722
+ 03 8 2 0 21 25.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24293303.730 -18917989.472 20462257.603 20462259.612 20462257.908
+ 245.327 191.165 52.065 47.676
+ -15037218.921 -11688927.666 22119286.489 22119289.340 22119286.606
+ -1951.674 -1520.792 50.849 45.417
+ -17288376.618 -13459814.989 21781660.476 21781663.397 21781660.713
+ 1134.474 884.008 51.718 45.417
+ -18119740.054 -14104000.054 21348495.473 21348497.302 21348495.496
+ 2008.190 1564.823 51.023 45.938
+ -9352055.158 -7274099.448 23187306.075 23187307.796 23187305.929
+ -2977.933 -2320.452 47.201 41.422
+ -3823564.318 -2933570.826 23648259.924 23648263.179 23648260.795
+ -3129.980 -2438.956 48.765 42.117
+ -5020585.587 -3903771.492 23926978.163 23926980.566 23926978.860
+ 1961.560 1528.480 47.896 42.117
+ -14069157.026 -10708123.499 22357931.728 22357934.722 22357931.996
+ 3016.498 2350.519 50.502 44.722
+ 03 8 2 0 21 27.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24293671.257 -18918275.858 20462187.512 20462189.686 20462187.996
+ 244.601 190.601 52.065 47.676
+ -15034291.316 -11686646.420 22119843.532 22119846.468 22119843.609
+ -1951.886 -1520.951 50.849 45.417
+ -17290077.857 -13461140.630 21781336.633 21781339.774 21781336.990
+ 1133.703 883.412 51.718 45.417
+ -18122752.026 -14106347.047 21347922.372 21347924.069 21347922.303
+ 2007.685 1564.431 51.023 45.938
+ -9347588.182 -7270618.688 23188156.103 23188157.527 23188156.210
+ -2978.121 -2320.593 47.201 41.422
+ -3818869.416 -2929912.460 23649153.243 23649156.559 23649154.219
+ -3130.022 -2438.976 48.765 42.117
+ -5023528.215 -3906064.446 23926418.170 23926420.743 23926418.918
+ 1961.680 1528.579 47.896 42.290
+ -14073681.699 -10711649.220 22357070.718 22357073.819 22357070.958
+ 3016.194 2350.290 50.502 44.722
+ 03 8 2 0 21 28.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24294037.523 -18918561.258 20462117.707 20462119.890 20462118.271
+ 243.894 190.049 52.065 47.676
+ -15031363.246 -11684364.808 22120400.738 22120403.702 22120400.776
+ -1952.057 -1521.070 50.849 45.244
+ -17291777.745 -13462465.217 21781013.072 21781015.950 21781013.453
+ 1132.941 882.816 51.718 45.417
+ -18125763.040 -14108693.288 21347349.342 21347351.312 21347349.284
+ 2007.159 1564.020 51.023 45.938
+ -9343120.861 -7267137.651 23189006.019 23189007.966 23189006.531
+ -2978.197 -2320.659 47.201 41.422
+ -3814174.228 -2926253.878 23650046.732 23650050.456 23650047.550
+ -3130.079 -2439.022 48.765 42.117
+ -5026470.830 -3908357.385 23925858.390 23925860.926 23925859.070
+ 1961.800 1528.659 47.896 42.117
+ -14078205.650 -10715174.375 22356209.708 22356212.791 22356210.105
+ 3015.866 2350.021 50.502 44.722
+ 03 8 2 0 21 30.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24294402.604 -18918845.737 20462048.333 20462050.373 20462048.770
+ 242.807 189.194 52.065 47.676
+ -15028434.786 -11682082.892 22120958.085 22120960.740 22120958.105
+ -1952.595 -1521.503 50.849 45.417
+ -17293476.378 -13463788.823 21780689.792 21780692.776 21780690.128
+ 1131.822 881.926 51.718 45.417
+ -18128773.171 -14111038.844 21346776.509 21346778.370 21346776.446
+ 2006.255 1563.307 51.023 45.938
+ -9338653.298 -7263656.433 23189856.250 23189857.303 23189856.916
+ -2978.545 -2320.952 47.201 41.422
+ -3809478.854 -2922595.156 23650940.578 23650943.427 23650940.968
+ -3130.471 -2439.335 48.765 42.117
+ -5029413.549 -3910650.418 23925298.370 23925300.875 23925299.300
+ 1961.624 1528.536 47.896 42.117
+ -14082728.965 -10718699.033 22355349.076 22355351.943 22355349.399
+ 3015.115 2349.436 50.502 44.722
+ 03 8 2 0 21 31.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24294766.515 -18919129.307 20461979.130 20461981.270 20461979.454
+ 242.118 188.669 52.065 47.676
+ -15025505.938 -11679800.677 22121515.471 22121517.884 22121515.521
+ -1952.752 -1521.620 50.849 45.417
+ -17295173.749 -13465111.452 21780366.933 21780369.815 21780367.079
+ 1131.074 881.355 51.718 45.244
+ -18131782.424 -14113383.714 21346204.043 21346205.713 21346203.721
+ 2005.788 1562.951 51.023 45.765
+ -9334185.470 -7260175.014 23190706.354 23190707.720 23190707.264
+ -2978.701 -2321.057 47.201 41.595
+ -3804783.288 -2918936.270 23651834.112 23651837.442 23651834.561
+ -3130.537 -2439.386 48.765 41.943
+ -5032356.352 -3912943.514 23924738.327 23924741.033 23924739.498
+ 1961.742 1528.633 47.896 42.117
+ -14087251.661 -10722223.212 22354488.441 22354491.583 22354488.779
+ 3014.823 2349.214 50.502 44.722
+ 03 8 2 0 21 33.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24295129.183 -18919411.907 20461910.232 20461912.261 20461910.338
+ 241.734 188.370 52.065 47.502
+ -15022576.641 -11677518.104 22122072.854 22122075.626 22122073.030
+ -1952.619 -1521.523 50.849 45.244
+ -17296869.804 -13466433.052 21780044.250 21780046.467 21780044.262
+ 1130.658 881.027 51.718 45.244
+ -18134790.721 -14115727.842 21345631.426 21345633.347 21345631.135
+ 2005.608 1562.817 51.023 45.765
+ -9329717.328 -7256693.354 23191556.429 23191558.665 23191557.507
+ -2978.475 -2320.882 47.201 41.595
+ -3800087.482 -2915277.202 23652727.525 23652731.108 23652728.197
+ -3130.216 -2439.111 48.765 41.943
+ -5035299.210 -3915236.650 23924178.424 23924180.525 23924179.517
+ 1962.103 1528.920 47.896 41.943
+ -14091773.648 -10725746.839 22353628.016 22353630.969 22353628.305
+ 3014.771 2349.184 50.502 44.549
+ 03 8 2 0 21 34.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24295490.632 -18919693.554 20461841.407 20461843.323 20461841.452
+ 240.781 187.623 52.065 47.676
+ -15019646.911 -11675235.198 22122630.422 22122633.001 22122630.608
+ -1953.042 -1521.844 50.849 45.417
+ -17298564.555 -13467753.636 21779721.712 21779724.499 21779721.762
+ 1129.629 880.232 51.718 45.417
+ -18137798.087 -14118071.241 21345059.127 21345061.016 21345058.726
+ 2004.813 1562.187 51.023 45.938
+ -9325248.882 -7253211.444 23192406.692 23192409.221 23192407.960
+ -2978.921 -2321.232 47.201 41.422
+ -3795391.426 -2911617.944 23653621.032 23653623.660 23653621.774
+ -3130.518 -2439.366 48.765 42.117
+ -5038242.105 -3917529.810 23923618.463 23923620.739 23923619.545
+ 1962.115 1528.916 47.896 42.117
+ -14096294.959 -10729269.934 22352767.588 22352770.482 22352767.931
+ 3014.162 2348.706 50.502 44.722
+ 03 8 2 0 21 36.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24295850.841 -18919974.239 20461772.964 20461775.002 20461772.828
+ 239.591 186.699 52.065 47.502
+ -15016716.712 -11672951.928 22123187.871 22123190.397 22123188.263
+ -1953.711 -1522.376 50.849 45.244
+ -17300257.989 -13469073.195 21779399.438 21779402.501 21779399.490
+ 1128.366 879.247 51.718 45.417
+ -18140804.511 -14120413.910 21344487.160 21344488.625 21344486.485
+ 2003.828 1561.424 51.023 45.938
+ -9320780.124 -7249729.296 23193257.141 23193258.979 23193258.329
+ -2979.569 -2321.730 47.201 41.595
+ -3790695.129 -2907958.488 23654514.637 23654518.260 23654515.250
+ -3131.025 -2439.757 48.591 42.117
+ -5041185.025 -3919822.992 23923057.992 23923061.541 23923059.594
+ 1961.832 1528.694 47.896 41.943
+ -14100815.602 -10732792.509 22351907.238 22351910.587 22351907.747
+ 3013.376 2348.089 50.502 44.722
+ 03 8 2 0 21 37.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24296209.798 -18920253.944 20461704.585 20461706.561 20461704.535
+ 239.004 186.237 52.065 47.676
+ -15013786.067 -11670668.310 22123745.693 22123748.414 22123745.964
+ -1953.774 -1522.420 50.849 45.417
+ -17301950.079 -13470391.706 21779077.283 21779080.246 21779077.432
+ 1127.708 878.738 51.718 45.417
+ -18143809.978 -14122755.832 21343915.090 21343916.853 21343914.444
+ 2003.438 1561.121 51.023 45.938
+ -9316311.047 -7246246.903 23194107.432 23194109.750 23194108.856
+ -2979.376 -2321.595 47.375 41.422
+ -3785998.542 -2904298.808 23655408.324 23655411.529 23655408.903
+ -3130.996 -2439.722 48.591 42.117
+ -5044127.944 -3922116.166 23922498.056 23922500.852 23922499.614
+ 1961.979 1528.811 48.070 42.117
+ -14105335.528 -10736314.526 22351047.373 22351050.410 22351047.737
+ 3013.152 2347.908 50.502 44.722
+ 03 8 2 0 21 39.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24296567.585 -18920532.741 20461636.565 20461638.680 20461636.455
+ 237.362 184.945 52.065 47.676
+ -15010855.029 -11668384.384 22124303.309 22124306.274 22124303.693
+ -1954.911 -1523.317 50.849 45.244
+ -17303640.924 -13471709.244 21778755.695 21778758.392 21778755.676
+ 1126.041 877.420 51.718 45.244
+ -18146814.569 -14125097.073 21343343.294 21343345.216 21343342.514
+ 2002.046 1560.023 51.023 45.938
+ -9311841.696 -7242764.301 23194958.187 23194960.405 23194959.261
+ -2980.409 -2322.389 47.375 41.595
+ -3781301.784 -2900639.006 23656302.727 23656305.683 23656302.640
+ -3131.965 -2440.492 48.591 42.117
+ -5047071.021 -3924409.476 23921937.885 23921941.271 23921939.498
+ 1961.250 1528.235 48.070 41.943
+ -14109854.840 -10739836.070 22350187.308 22350190.215 22350187.786
+ 3011.913 2346.934 50.502 44.549
+ 03 8 2 0 21 40.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24296924.291 -18920810.694 20461568.663 20461570.695 20461568.586
+ 237.353 184.951 52.065 47.676
+ -15007923.701 -11666100.231 22124861.201 22124864.107 22124861.380
+ -1954.373 -1522.887 50.849 45.244
+ -17305330.616 -13473025.888 21778434.071 21778436.993 21778434.167
+ 1125.998 877.397 51.718 45.244
+ -18149818.360 -14127437.690 21342771.722 21342773.203 21342770.812
+ 2002.202 1560.155 51.023 45.938
+ -9307372.228 -7239281.600 23195809.032 23195810.557 23195809.784
+ -2979.783 -2321.909 47.375 41.595
+ -3776604.916 -2896979.114 23657196.197 23657200.290 23657196.391
+ -3131.408 -2440.060 48.591 42.117
+ -5050014.285 -3926702.929 23921377.860 23921381.151 23921379.373
+ 1962.135 1528.945 48.070 41.943
+ -14114373.604 -10743357.183 22349327.373 22349330.305 22349327.909
+ 3012.215 2347.172 50.502 44.722
+ 03 8 2 0 21 42.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24297279.529 -18921087.502 20461501.068 20461503.011 20461500.998
+ 236.415 184.218 52.065 47.676
+ -15004991.704 -11663815.560 22125419.041 22125422.020 22125419.213
+ -1954.801 -1523.220 50.849 45.244
+ -17307018.754 -13474341.319 21778112.810 21778115.616 21778112.978
+ 1125.007 876.627 51.718 45.417
+ -18152820.995 -14129777.400 21342200.289 21342202.115 21342199.353
+ 2001.461 1559.575 51.023 45.938
+ -9302902.177 -7235798.440 23196659.398 23196660.484 23196660.250
+ -2980.150 -2322.205 47.375 41.422
+ -3771907.620 -2893318.877 23658090.334 23658093.910 23658090.247
+ -3131.613 -2440.228 48.591 42.290
+ -5052957.352 -3928996.218 23920817.948 23920821.035 23920819.252
+ 1961.973 1528.805 48.070 42.117
+ -14118891.466 -10746877.595 22348467.480 22348470.522 22348468.181
+ 3011.650 2346.743 50.502 44.722
+ 03 8 2 0 21 43.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24297633.758 -18921363.522 20461433.621 20461435.655 20461433.671
+ 235.387 183.410 52.065 47.676
+ -15002059.483 -11661530.714 22125977.120 22125979.935 22125977.116
+ -1955.299 -1523.624 50.849 45.244
+ -17308705.791 -13475655.891 21777791.868 21777794.545 21777791.996
+ 1123.911 875.766 51.718 45.244
+ -18155822.922 -14132116.561 21341629.107 21341630.661 21341628.042
+ 2000.631 1558.924 51.023 45.938
+ -9298432.065 -7232315.233 23197509.858 23197511.569 23197510.933
+ -2980.546 -2322.522 47.375 41.248
+ -3767210.254 -2889658.602 23658983.983 23658987.488 23658984.143
+ -3132.016 -2440.521 48.591 42.117
+ -5055900.663 -3931289.716 23920257.757 23920260.564 23920259.097
+ 1961.767 1528.633 48.070 41.943
+ -14123408.852 -10750397.637 22347607.859 22347610.869 22347608.536
+ 3010.981 2346.208 50.502 44.722
+ 03 8 2 0 21 45.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24297986.777 -18921638.604 20461366.538 20461368.556 20461366.565
+ 235.337 183.385 52.065 47.676
+ -14999126.845 -11659245.545 22126535.099 22126538.156 22126535.104
+ -1954.820 -1523.235 50.849 45.244
+ -17310391.547 -13476969.471 21777470.944 21777473.594 21777471.154
+ 1123.791 875.690 51.718 45.244
+ -18158823.920 -14134455.004 21341058.049 21341059.826 21341057.011
+ 2000.781 1559.057 51.023 45.938
+ -9293961.652 -7228831.805 23198360.315 23198362.496 23198361.529
+ -2979.905 -2321.994 47.375 41.248
+ -3762512.675 -2885998.154 23659877.724 23659881.413 23659878.100
+ -3131.371 -2440.025 48.591 42.117
+ -5058844.037 -3933583.251 23919697.801 23919700.611 23919698.837
+ 1962.619 1529.308 47.896 41.943
+ -14127925.592 -10753917.171 22346748.417 22346751.302 22346748.998
+ 3011.302 2346.474 50.502 44.722
+ 03 8 2 0 21 46.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24298338.462 -18921912.645 20461299.595 20461301.537 20461299.674
+ 234.189 182.485 52.065 47.676
+ -14996193.657 -11656959.945 22127093.344 22127096.082 22127093.228
+ -1955.426 -1523.696 50.849 45.244
+ -17312075.885 -13478281.940 21777150.417 21777152.783 21777150.523
+ 1122.590 874.744 51.718 45.244
+ -18161823.878 -14136792.634 21340487.150 21340488.640 21340486.269
+ 1999.816 1558.302 51.023 45.938
+ -9289490.834 -7225348.048 23199211.240 23199213.052 23199212.088
+ -2980.441 -2322.436 47.375 41.248
+ -3757814.760 -2882337.443 23660771.556 23660775.875 23660772.136
+ -3131.865 -2440.399 48.591 42.464
+ -5061787.352 -3935876.742 23919137.428 23919140.386 23919138.581
+ 1962.264 1529.038 48.070 41.943
+ -14132441.522 -10757436.078 22345888.983 22345892.144 22345889.624
+ 3010.509 2345.854 50.502 44.722
+ 03 8 2 0 21 48.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24298689.092 -18922185.863 20461232.899 20461234.947 20461232.949
+ 233.429 181.891 52.065 47.676
+ -14993260.209 -11654674.145 22127651.549 22127654.212 22127651.395
+ -1955.685 -1523.911 50.849 45.244
+ -17313759.095 -13479593.535 21776830.271 21776832.645 21776830.137
+ 1121.801 874.133 51.718 45.244
+ -18164823.080 -14139129.673 21339916.500 21339918.043 21339915.672
+ 1999.241 1557.859 51.023 45.938
+ -9285019.893 -7221864.200 23200061.585 23200063.128 23200062.690
+ -2980.568 -2322.516 47.375 41.422
+ -3753116.790 -2878676.693 23661665.196 23661669.142 23661666.012
+ -3131.979 -2440.508 48.417 42.117
+ -5064730.857 -3938170.380 23918577.324 23918580.512 23918578.291
+ 1962.311 1529.083 48.070 41.943
+ -14136956.969 -10760954.607 22345029.518 22345032.933 22345030.272
+ 3010.115 2345.544 50.502 44.722
+ 03 8 2 0 21 49.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24299038.361 -18922458.023 20461166.523 20461168.272 20461166.453
+ 232.673 181.311 52.065 47.676
+ -14990326.193 -11652387.898 22128209.820 22128212.527 22128209.838
+ -1955.867 -1524.050 50.849 45.244
+ -17315440.848 -13480903.991 21776509.991 21776512.984 21776509.995
+ 1120.970 873.493 51.718 45.244
+ -18167821.233 -14141465.898 21339345.888 21339347.395 21339345.300
+ 1998.701 1557.443 51.023 45.938
+ -9280548.528 -7218380.014 23200912.402 23200914.259 23200913.367
+ -2980.783 -2322.679 47.375 41.248
+ -3748418.436 -2875015.644 23662559.485 23662563.843 23662559.990
+ -3132.065 -2440.561 48.417 42.117
+ -5067674.255 -3940463.940 23918017.292 23918020.552 23918018.027
+ 1962.441 1529.186 47.896 41.943
+ -14141471.580 -10764472.483 22344170.414 22344173.726 22344171.040
+ 3009.715 2345.235 50.502 44.722
+ 03 8 2 0 21 51.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24299386.424 -18922729.239 20461100.132 20461102.009 20461100.222
+ 231.668 180.516 52.065 47.676
+ -14987391.757 -11650101.325 22128768.189 22128771.058 22128768.310
+ -1956.375 -1524.448 50.849 45.244
+ -17317121.317 -13482213.444 21776190.225 21776192.859 21776190.189
+ 1119.926 872.664 51.718 45.244
+ -18170818.446 -14143801.386 21338775.593 21338776.973 21338775.087
+ 1997.910 1556.810 51.023 45.765
+ -9276076.869 -7214895.607 23201763.028 23201766.230 23201764.024
+ -2981.084 -2322.921 47.375 41.248
+ -3743719.884 -2871354.431 23663453.582 23663457.411 23663453.929
+ -3132.351 -2440.792 48.417 42.117
+ -5070617.749 -3942757.566 23917457.084 23917460.577 23917457.986
+ 1962.368 1529.109 47.896 41.943
+ -14145985.539 -10767989.851 22343311.335 22343314.519 22343312.025
+ 3009.099 2344.759 50.502 44.722
+ 03 8 2 0 21 52.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24299733.289 -18922999.525 20461034.113 20461036.181 20461034.234
+ 230.637 179.718 52.065 47.676
+ -14984456.917 -11647814.439 22129326.620 22129329.408 22129326.853
+ -1956.896 -1524.853 50.849 45.244
+ -17318800.510 -13483521.907 21775870.652 21775873.293 21775870.604
+ 1118.845 871.822 51.718 45.244
+ -18173814.755 -14146136.173 21338205.430 21338206.800 21338204.973
+ 1997.061 1556.153 51.023 45.938
+ -9271604.922 -7211410.979 23202614.148 23202616.209 23202614.687
+ -2981.517 -2323.259 47.375 41.248
+ -3739021.112 -2867693.059 23664347.646 23664351.676 23664347.891
+ -3132.750 -2441.109 48.417 42.117
+ -5073561.312 -3945051.245 23916896.904 23916899.966 23916897.826
+ 1962.136 1528.917 47.896 41.943
+ -14150498.836 -10771506.703 22342452.363 22342455.966 22342453.127
+ 3008.460 2344.258 50.502 44.722
+ 03 8 2 0 21 54.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24300079.018 -18923268.925 20460968.266 20460970.322 20460968.488
+ 230.451 179.577 52.065 47.676
+ -14981521.732 -11645527.283 22129885.296 22129888.040 22129885.460
+ -1956.537 -1524.569 50.849 45.244
+ -17320478.472 -13484829.407 21775551.236 21775553.932 21775551.226
+ 1118.578 871.624 51.718 45.244
+ -18176810.213 -14148470.295 21337635.444 21337636.902 21337634.992
+ 1997.038 1556.136 51.023 45.938
+ -9267132.762 -7207926.184 23203465.182 23203467.436 23203465.403
+ -2981.147 -2322.966 47.375 41.248
+ -3734322.182 -2864031.557 23665241.638 23665246.128 23665241.860
+ -3132.303 -2440.749 48.417 42.290
+ -5076505.011 -3947345.043 23916336.642 23916339.959 23916337.815
+ 1962.825 1529.478 47.896 41.943
+ -14155011.542 -10775023.094 22341593.755 22341596.985 22341594.411
+ 3008.597 2344.365 50.502 44.722
+ 03 8 2 0 21 55.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24300423.434 -18923537.300 20460902.773 20460904.795 20460902.947
+ 229.030 178.456 52.065 47.676
+ -14978586.028 -11643239.721 22130443.717 22130446.688 22130444.147
+ -1957.469 -1525.302 50.849 45.244
+ -17322155.055 -13486135.832 21775232.239 21775234.668 21775232.143
+ 1117.137 870.486 51.718 45.244
+ -18179804.659 -14150803.628 21337065.726 21337067.136 21337065.199
+ 1995.803 1555.158 51.023 45.938
+ -9262660.239 -7204441.098 23204316.294 23204318.956 23204316.408
+ -2981.976 -2323.637 47.375 41.248
+ -3729622.936 -2860369.815 23666135.977 23666139.664 23666135.962
+ -3133.060 -2441.349 48.244 42.290
+ -5079448.673 -3949638.797 23915776.592 23915779.751 23915777.615
+ 1962.215 1529.004 47.896 41.943
+ -14159523.495 -10778538.899 22340735.159 22340738.236 22340735.826
+ 3007.555 2343.539 50.502 44.549
+ 03 8 2 0 21 57.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24300766.715 -18923804.795 20460837.486 20460839.377 20460837.606
+ 228.459 178.016 52.065 47.676
+ -14975649.990 -11640951.903 22131002.539 22131005.413 22131002.928
+ -1957.484 -1525.319 50.849 45.244
+ -17323830.417 -13487441.309 21774913.495 21774916.027 21774913.345
+ 1116.509 870.002 51.718 45.244
+ -18182798.251 -14153136.299 21336495.895 21336497.719 21336495.560
+ 1995.429 1554.880 51.023 45.938
+ -9258187.485 -7200955.838 23205167.601 23205170.166 23205167.515
+ -2981.923 -2323.581 47.375 41.422
+ -3724923.567 -2856707.972 23667030.187 23667034.273 23667030.014
+ -3132.968 -2441.265 48.244 42.117
+ -5082392.531 -3951932.712 23915216.441 23915219.699 23915217.474
+ 1962.532 1529.230 47.896 41.943
+ -14164034.858 -10782054.245 22339876.647 22339879.910 22339877.372
+ 3007.329 2343.361 50.502 44.549
+ 03 8 2 0 21 58.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24301108.757 -18924071.321 20460772.444 20460774.409 20460772.526
+ 228.106 177.750 52.065 47.676
+ -14972713.493 -11638663.721 22131561.314 22131563.698 22131561.731
+ -1957.315 -1525.174 50.849 45.244
+ -17325504.458 -13488745.753 21774594.994 21774597.420 21774594.803
+ 1116.070 869.671 51.718 45.244
+ -18185790.894 -14155468.226 21335926.456 21335928.010 21335926.027
+ 1995.271 1554.765 51.023 45.938
+ -9253714.445 -7197470.353 23206018.851 23206020.994 23206018.813
+ -2981.626 -2323.324 47.375 41.248
+ -3720223.925 -2853045.924 23667924.330 23667928.681 23667924.406
+ -3132.678 -2441.034 48.244 42.290
+ -5085336.377 -3954226.615 23914656.387 23914659.726 23914657.234
+ 1962.973 1529.595 47.896 41.943
+ -14168545.522 -10785569.045 22339018.468 22339021.613 22339019.028
+ 3007.329 2343.378 50.502 44.722
+ 03 8 2 0 22 0.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24301449.501 -18924336.833 20460707.695 20460709.231 20460707.675
+ 226.642 176.603 52.065 47.676
+ -14969776.500 -11636375.157 22132120.383 22132122.747 22132120.650
+ -1958.220 -1525.888 50.849 45.244
+ -17327177.122 -13490049.122 21774276.673 21774279.287 21774276.558
+ 1114.570 868.492 51.718 45.244
+ -18188782.545 -14157799.379 21335357.186 21335358.861 21335356.697
+ 1994.001 1553.761 51.023 45.938
+ -9249241.017 -7193984.568 23206870.230 23206872.443 23206870.148
+ -2982.523 -2324.039 47.375 41.248
+ -3715524.001 -2849383.650 23668819.007 23668822.637 23668818.708
+ -3133.411 -2441.609 48.244 42.290
+ -5088280.205 -3956520.505 23914096.195 23914099.837 23914097.093
+ 1962.378 1529.143 47.896 41.943
+ -14173055.445 -10789083.269 22338160.189 22338163.167 22338160.856
+ 3006.243 2342.524 50.502 44.722
+ 03 8 2 0 22 1.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24301789.243 -18924601.571 20460642.963 20460644.706 20460643.074
+ 226.177 176.243 52.065 47.676
+ -14966839.300 -11634086.432 22132679.280 22132681.799 22132679.580
+ -1958.159 -1525.840 50.849 45.244
+ -17328848.697 -13491351.648 21773958.486 21773961.033 21773958.534
+ 1114.056 868.088 51.718 45.244
+ -18191773.492 -14160129.987 21334788.253 21334789.490 21334787.499
+ 1993.783 1553.593 51.023 45.765
+ -9244767.530 -7190498.731 23207721.919 23207723.746 23207721.696
+ -2982.331 -2323.902 47.375 41.248
+ -3710824.064 -2845721.363 23669713.650 23669717.494 23669713.129
+ -3133.267 -2441.497 48.244 42.290
+ -5091224.282 -3958814.599 23913536.072 23913540.056 23913536.914
+ 1962.751 1529.431 47.896 41.943
+ -14177564.898 -10792597.130 22337301.908 22337304.884 22337302.780
+ 3006.159 2342.464 50.502 44.549
+ 03 8 2 0 22 3.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24302127.618 -18924865.242 20460578.508 20460580.424 20460578.659
+ 224.987 175.314 52.065 47.676
+ -14963901.523 -11631797.255 22133238.354 22133240.812 22133238.755
+ -1958.835 -1526.361 50.849 45.244
+ -17330518.823 -13492653.044 21773640.861 21773643.562 21773640.773
+ 1112.804 867.118 51.718 45.244
+ -18194763.354 -14162459.751 21334219.313 21334220.411 21334218.503
+ 1992.756 1552.798 51.023 45.765
+ -9240293.605 -7187012.555 23208572.819 23208574.979 23208573.302
+ -2982.900 -2324.349 47.375 41.422
+ -3706123.761 -2842058.792 23670607.802 23670612.388 23670607.636
+ -3133.783 -2441.906 48.244 42.290
+ -5094168.300 -3961108.636 23912976.180 23912978.593 23912976.638
+ 1962.459 1529.194 47.896 41.943
+ -14182073.530 -10796110.349 22336444.012 22336447.305 22336444.775
+ 3005.317 2341.806 50.502 44.722
+ 03 8 2 0 22 4.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24302464.694 -18925127.896 20460514.467 20460516.228 20460514.507
+ 224.205 174.697 52.065 47.676
+ -14960963.248 -11629507.686 22133797.279 22133799.969 22133797.919
+ -1959.069 -1526.551 50.849 45.244
+ -17332187.562 -13493953.358 21773323.254 21773325.812 21773323.257
+ 1111.941 866.444 51.718 45.244
+ -18197752.226 -14164788.735 21333650.391 21333651.694 21333649.733
+ 1992.165 1552.324 51.023 45.938
+ -9235819.312 -7183526.094 23209424.181 23209426.479 23209424.903
+ -2983.138 -2324.531 47.375 41.422
+ -3701423.139 -2838395.968 23671502.153 23671506.923 23671502.205
+ -3133.889 -2441.982 48.070 42.464
+ -5097112.298 -3963402.656 23912415.777 23912418.287 23912416.291
+ 1962.510 1529.225 47.896 41.769
+ -14186581.419 -10799622.986 22335586.299 22335589.496 22335586.849
+ 3004.939 2341.499 50.502 44.722
+ 03 8 2 0 22 6.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24302800.736 -18925389.750 20460450.599 20460452.422 20460450.548
+ 223.473 174.132 52.065 47.676
+ -14958024.732 -11627217.938 22134356.473 22134359.198 22134357.077
+ -1959.291 -1526.723 50.849 45.244
+ -17333855.191 -13495252.811 21773005.847 21773008.524 21773005.927
+ 1111.150 865.827 51.718 45.244
+ -18200740.363 -14167117.156 21333081.800 21333083.101 21333081.031
+ 1991.643 1551.930 51.023 45.938
+ -9231344.921 -7180039.555 23210275.664 23210277.886 23210276.592
+ -2983.237 -2324.599 47.375 41.248
+ -3696722.503 -2834733.149 23672397.144 23672401.121 23672396.752
+ -3133.999 -2442.062 48.070 42.290
+ -5100056.549 -3965696.865 23911855.289 23911858.794 23911855.896
+ 1962.634 1529.304 47.896 41.943
+ -14191088.799 -10803135.228 22334728.544 22334731.814 22334729.094
+ 3004.498 2341.164 50.502 44.722
+ 03 8 2 0 22 7.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24303135.588 -18925650.676 20460386.855 20460388.593 20460386.860
+ 222.884 173.682 52.065 47.676
+ -14955085.832 -11624927.889 22134915.863 22134918.365 22134916.334
+ -1959.345 -1526.757 50.849 45.244
+ -17335521.546 -13496551.271 21772688.850 21772691.653 21772688.833
+ 1110.484 865.315 51.718 45.244
+ -18203727.589 -14169444.866 21332513.278 21332514.442 21332512.605
+ 1991.194 1551.581 51.023 45.765
+ -9226870.270 -7176552.815 23211127.287 23211129.064 23211128.094
+ -2983.167 -2324.528 47.375 41.248
+ -3692021.664 -2831070.162 23673291.408 23673295.718 23673291.396
+ -3133.900 -2441.982 48.070 42.290
+ -5103000.868 -3967991.149 23911295.434 23911297.550 23911295.521
+ 1962.885 1529.540 47.896 41.769
+ -14195595.542 -10806646.976 22333870.818 22333874.093 22333871.456
+ 3004.313 2341.028 50.502 44.722
+ 03 8 2 0 22 9.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24303468.911 -18925910.403 20460323.387 20460325.333 20460323.444
+ 221.580 172.655 52.065 47.676
+ -14952146.185 -11622637.256 22135475.147 22135477.752 22135475.719
+ -1960.110 -1527.360 50.849 45.244
+ -17337186.285 -13497848.467 21772372.039 21772374.677 21772371.978
+ 1109.140 864.257 51.544 45.244
+ -18206713.582 -14171771.611 21331945.247 21331946.437 21331944.364
+ 1990.089 1550.711 51.023 45.938
+ -9222394.993 -7173065.577 23211978.627 23211980.797 23211979.792
+ -2983.985 -2325.179 47.375 41.422
+ -3687320.282 -2827406.747 23674185.711 23674190.385 23674186.109
+ -3134.572 -2442.532 48.070 42.290
+ -5105944.904 -3970285.199 23910734.944 23910737.858 23910735.204
+ 1962.414 1529.153 47.896 41.769
+ -14200101.295 -10810157.946 22333013.529 22333016.666 22333014.050
+ 3003.348 2340.263 50.502 44.722
+ 03 8 2 0 22 10.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24303801.370 -18926169.464 20460260.105 20460262.133 20460260.232
+ 221.309 172.452 52.065 47.676
+ -14949206.469 -11620346.573 22136034.614 22136037.082 22136035.158
+ -1959.861 -1527.158 50.849 45.244
+ -17338850.074 -13499144.927 21772055.534 21772057.969 21772055.336
+ 1108.841 864.036 51.544 45.244
+ -18209699.006 -14174097.918 21331377.097 21331378.228 21331376.309
+ 1990.046 1550.682 51.023 45.938
+ -9217919.834 -7169578.446 23212830.573 23212832.710 23212831.398
+ -2983.439 -2324.755 47.375 41.248
+ -3682619.041 -2823743.453 23675080.604 23675084.664 23675080.711
+ -3134.122 -2442.159 48.070 42.464
+ -5108889.339 -3972579.560 23910174.531 23910177.597 23910175.000
+ 1962.996 1529.621 48.070 41.943
+ -14204606.735 -10813668.685 22332156.239 22332159.226 22332156.697
+ 3003.480 2340.382 50.502 44.549
+ 03 8 2 0 22 12.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24304132.486 -18926427.478 20460197.029 20460199.093 20460197.210
+ 220.597 171.898 52.065 47.676
+ -14946266.222 -11618055.472 22136594.043 22136596.763 22136594.682
+ -1960.025 -1527.285 50.849 45.244
+ -17340512.453 -13500440.288 21771739.004 21771741.655 21771738.964
+ 1108.068 863.434 51.544 45.244
+ -18212683.383 -14176423.409 21330809.099 21330810.437 21330808.499
+ 1989.559 1550.310 51.023 45.938
+ -9213444.214 -7166090.955 23213682.239 23213684.040 23213683.128
+ -2983.541 -2324.817 47.375 41.422
+ -3677917.453 -2820079.879 23675975.739 23675979.139 23675975.446
+ -3134.226 -2442.254 48.070 42.290
+ -5111833.762 -3974873.921 23909614.003 23909616.558 23909614.819
+ 1963.198 1529.770 47.896 41.769
+ -14209111.374 -10817178.792 22331298.949 22331301.920 22331299.460
+ 3003.093 2340.077 50.502 44.722
+ 03 8 2 0 22 13.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24304462.245 -18926684.432 20460134.341 20460136.408 20460134.492
+ 219.520 171.049 52.065 47.676
+ -14943325.411 -11615763.931 22137153.785 22137156.515 22137154.229
+ -1960.613 -1527.753 50.849 45.244
+ -17342173.381 -13501734.515 21771423.109 21771425.923 21771422.908
+ 1106.936 862.546 51.544 45.244
+ -18215666.685 -14178748.058 21330241.497 21330242.666 21330240.816
+ 1988.624 1549.573 51.023 45.938
+ -9208968.186 -7162603.139 23214534.261 23214536.017 23214534.883
+ -2984.072 -2325.254 47.375 41.422
+ -3673215.524 -2816416.042 23676870.545 23676874.435 23676870.440
+ -3134.618 -2442.556 48.070 42.464
+ -5114778.101 -3977168.206 23909053.976 23909056.928 23909054.624
+ 1962.887 1529.501 47.896 41.769
+ -14213615.209 -10820688.268 22330441.984 22330445.099 22330442.407
+ 3002.376 2339.511 50.502 44.722
+ 03 8 2 0 22 15.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24304791.008 -18926940.613 20460071.717 20460073.875 20460071.944
+ 218.894 170.566 52.065 47.676
+ -14940384.402 -11613472.240 22137713.347 22137715.830 22137713.905
+ -1960.704 -1527.816 50.849 45.244
+ -17343833.234 -13503027.907 21771107.386 21771109.994 21771107.065
+ 1106.255 862.015 51.544 45.244
+ -18218649.292 -14181072.169 21329674.099 21329675.086 21329673.252
+ 1988.227 1549.270 51.023 45.938
+ -9204492.108 -7159115.295 23215386.447 23215388.222 23215386.594
+ -2984.052 -2325.242 47.375 41.248
+ -3668513.589 -2812752.204 23677765.464 23677768.860 23677765.354
+ -3134.509 -2442.452 47.896 42.464
+ -5117722.711 -3979462.708 23908493.338 23908496.630 23908494.284
+ 1963.172 1529.747 47.896 41.595
+ -14218118.567 -10824197.378 22329584.924 22329588.070 22329585.465
+ 3002.119 2339.310 50.502 44.722
+ 03 8 2 0 22 16.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24305118.454 -18927195.767 20460009.259 20460011.512 20460009.623
+ 218.278 170.096 52.065 47.676
+ -14937442.870 -11611180.139 22138273.023 22138275.850 22138273.613
+ -1960.793 -1527.882 50.849 45.244
+ -17345491.682 -13504320.202 21770791.620 21770794.028 21770791.492
+ 1105.596 861.515 51.544 45.244
+ -18221630.868 -14183395.477 21329106.619 21329107.490 21329105.930
+ 1987.812 1548.955 51.023 45.938
+ -9200015.660 -7155627.142 23216238.818 23216239.998 23216238.509
+ -2984.009 -2325.200 47.375 41.422
+ -3663811.332 -2809088.108 23678660.308 23678664.055 23678660.203
+ -3134.493 -2442.441 47.896 42.464
+ -5120667.295 -3981757.185 23907932.917 23907935.988 23907933.935
+ 1963.454 1529.962 47.896 41.595
+ -14222621.162 -10827705.897 22328728.286 22328731.456 22328728.686
+ 3001.856 2339.117 50.502 44.722
+ 03 8 2 0 22 18.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24305444.630 -18927449.930 20459947.468 20459949.165 20459947.511
+ 217.062 169.141 52.065 47.676
+ -14934500.876 -11608887.673 22138832.869 22138835.778 22138833.447
+ -1961.428 -1528.378 50.849 45.244
+ -17347148.779 -13505611.446 21770476.440 21770478.930 21770476.206
+ 1104.332 860.514 51.544 45.244
+ -18224611.456 -14185718.008 21328539.412 21328540.379 21328538.795
+ 1986.791 1548.152 51.023 45.765
+ -9195538.865 -7152138.729 23217090.304 23217091.288 23217090.610
+ -2984.625 -2325.691 47.375 41.074
+ -3659108.829 -2805423.818 23679554.733 23679558.927 23679555.115
+ -3135.055 -2442.897 47.896 42.464
+ -5123611.882 -3984051.659 23907372.855 23907375.171 23907373.617
+ 1963.053 1529.645 47.896 41.769
+ -14227123.003 -10831213.821 22327871.619 22327874.448 22327872.028
+ 3000.998 2338.433 50.502 44.722
+ 03 8 2 0 22 19.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24305769.734 -18927703.259 20459885.541 20459887.565 20459885.599
+ 216.306 168.556 52.065 47.676
+ -14931558.600 -11606594.993 22139392.987 22139395.494 22139393.292
+ -1961.680 -1528.576 50.849 45.244
+ -17348804.722 -13506901.790 21770161.195 21770163.810 21770161.166
+ 1103.494 859.868 51.544 45.244
+ -18227591.278 -14188039.949 21327972.405 21327973.653 21327971.786
+ 1986.210 1547.699 51.023 45.938
+ -9191061.921 -7148650.198 23217942.197 23217943.820 23217942.574
+ -2984.759 -2325.793 47.375 41.248
+ -3654406.238 -2801759.469 23680449.430 23680453.420 23680449.948
+ -3135.156 -2442.975 47.896 42.638
+ -5126556.666 -3986346.303 23906811.928 23906815.670 23906813.197
+ 1963.097 1529.700 47.896 41.769
+ -14231624.347 -10834721.359 22327015.109 22327017.920 22327015.484
+ 3000.606 2338.133 50.502 44.722
+ 03 8 2 0 22 21.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24306093.548 -18927955.582 20459823.936 20459825.880 20459823.921
+ 215.693 168.079 52.065 47.676
+ -14928615.842 -11604301.937 22139953.020 22139955.356 22139953.319
+ -1961.765 -1528.639 50.676 45.244
+ -17350459.283 -13508191.058 21769846.480 21769849.026 21769846.404
+ 1102.808 859.336 51.544 45.244
+ -18230570.094 -14190361.105 21327405.651 21327407.042 21327404.953
+ 1985.802 1547.391 51.023 45.765
+ -9186584.637 -7145161.403 23218794.131 23218796.464 23218794.482
+ -2984.752 -2325.770 47.549 41.422
+ -3649703.362 -2798094.891 23681344.371 23681349.596 23681344.790
+ -3135.064 -2442.891 47.896 42.638
+ -5129501.461 -3988640.949 23906251.537 23906255.048 23906252.541
+ 1963.414 1529.948 47.896 41.595
+ -14236124.942 -10838228.315 22326158.763 22326161.647 22326159.114
+ 3000.351 2337.949 50.502 44.722
+ 03 8 2 0 22 22.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24306416.097 -18928206.921 20459762.432 20459764.403 20459762.500
+ 214.536 167.172 52.065 47.676
+ -14925672.609 -11602008.510 22140513.010 22140515.517 22140513.433
+ -1962.377 -1529.126 50.676 45.244
+ -17352112.496 -13509479.272 21769531.854 21769534.729 21769531.895
+ 1101.599 858.385 51.544 45.244
+ -18233547.934 -14192681.496 21326839.061 21326839.928 21326838.336
+ 1984.837 1546.623 51.023 45.938
+ -9182106.996 -7141672.338 23219646.084 23219647.711 23219646.320
+ -2985.324 -2326.232 47.549 41.422
+ -3645000.227 -2794430.118 23682239.011 23682244.103 23682239.599
+ -3135.545 -2443.266 47.896 42.638
+ -5132446.236 -3990935.573 23905691.142 23905695.087 23905691.879
+ 1963.019 1529.613 47.896 41.769
+ -14240624.789 -10841734.691 22325302.474 22325305.439 22325302.808
+ 2999.530 2337.296 50.502 44.722
+ 03 8 2 0 22 24.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24306737.512 -18928457.375 20459701.367 20459703.480 20459701.354
+ 213.614 166.450 52.065 47.676
+ -14922729.062 -11599714.836 22141073.049 22141075.869 22141073.607
+ -1962.747 -1529.420 50.676 45.244
+ -17353764.495 -13510766.547 21769217.391 21769220.145 21769217.609
+ 1100.652 857.644 51.544 45.244
+ -18236524.929 -14195001.232 21326272.485 21326273.312 21326271.815
+ 1984.109 1546.051 51.023 45.938
+ -9177629.173 -7138183.131 23220498.125 23220499.988 23220498.377
+ -2985.612 -2326.452 47.549 41.248
+ -3640296.962 -2790765.244 23683134.248 23683138.331 23683134.557
+ -3135.797 -2443.483 47.896 42.638
+ -5135391.177 -3993230.335 23905130.626 23905134.144 23905131.093
+ 1962.958 1529.583 47.896 41.769
+ -14245124.048 -10845240.609 22324446.286 22324449.060 22324446.651
+ 2998.992 2336.878 50.502 44.722
+ 03 8 2 0 22 25.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24307057.722 -18928706.889 20459640.328 20459642.407 20459640.462
+ 213.509 166.382 52.065 47.676
+ -14919785.098 -11597420.837 22141633.302 22141635.977 22141633.973
+ -1962.346 -1529.087 50.676 45.244
+ -17355415.204 -13512052.814 21768903.244 21768905.758 21768903.478
+ 1100.472 857.521 51.544 45.417
+ -18239501.013 -14197320.259 21325706.050 21325707.105 21325705.520
+ 1984.175 1546.115 51.023 45.765
+ -9173151.092 -7134693.722 23221350.619 23221351.616 23221350.516
+ -2985.070 -2326.016 47.549 41.248
+ -3635593.489 -2787100.202 23684029.207 23684033.665 23684029.594
+ -3135.296 -2443.076 47.896 42.638
+ -5138336.162 -3995525.132 23904570.221 23904573.201 23904570.462
+ 1963.706 1530.169 47.896 41.595
+ -14249622.652 -10848746.013 22323590.306 22323592.919 22323590.553
+ 2999.259 2337.096 50.676 44.722
+ 03 8 2 0 22 27.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24307376.557 -18928955.331 20459579.719 20459581.604 20459579.805
+ 212.023 165.208 52.065 47.676
+ -14916840.572 -11595126.402 22142193.753 22142196.110 22142194.375
+ -1963.248 -1529.804 50.676 45.244
+ -17357064.460 -13513337.948 21768589.452 21768591.915 21768589.618
+ 1098.942 856.316 51.544 45.244
+ -18242476.013 -14199638.438 21325140.070 21325141.113 21325139.484
+ 1982.877 1545.092 51.023 45.938
+ -9168672.560 -7131203.952 23222202.654 23222204.665 23222202.723
+ -2985.884 -2326.653 47.549 41.248
+ -3630889.676 -2783434.899 23684924.108 23684929.295 23684924.750
+ -3136.008 -2443.643 47.896 42.638
+ -5141281.046 -3997819.840 23904009.580 23904013.370 23904009.848
+ 1963.039 1529.618 47.896 41.769
+ -14254120.403 -10852250.754 22322734.335 22322737.159 22322734.637
+ 2998.114 2336.188 50.676 44.722
+ 03 8 2 0 22 28.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24307694.366 -18929202.974 20459519.282 20459521.109 20459519.322
+ 211.071 164.472 52.065 47.676
+ -14913895.810 -11592831.787 22142754.106 22142756.396 22142754.775
+ -1963.678 -1530.133 50.676 45.244
+ -17358712.604 -13514622.215 21768275.847 21768278.340 21768275.957
+ 1097.935 855.535 51.718 45.244
+ -18245450.280 -14201956.052 21324573.914 21324575.007 21324573.638
+ 1982.162 1544.545 51.023 45.938
+ -9164193.939 -7127714.118 23223054.998 23223055.972 23223054.815
+ -2986.222 -2326.933 47.549 41.074
+ -3626185.806 -2779769.549 23685819.233 23685824.028 23685819.750
+ -3136.397 -2443.944 47.722 42.638
+ -5144226.179 -4000114.741 23903449.107 23903452.983 23903449.342
+ 1962.977 1529.595 47.896 41.595
+ -14258617.695 -10855755.139 22321878.596 22321881.255 22321878.837
+ 2997.575 2335.771 50.676 44.722
+ 03 8 2 0 22 30.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24308010.896 -18929449.622 20459459.086 20459461.080 20459459.108
+ 210.638 164.134 52.065 47.676
+ -14910950.577 -11590536.801 22143314.353 22143317.133 22143315.248
+ -1963.590 -1530.076 50.676 45.244
+ -17360359.390 -13515905.422 21767962.336 21767965.382 21767962.584
+ 1097.465 855.163 51.718 45.244
+ -18248423.544 -14204272.880 21324008.307 21324009.476 21324008.059
+ 1981.906 1544.343 51.023 45.938
+ -9159714.967 -7124224.004 23223907.185 23223908.958 23223907.005
+ -2986.039 -2326.791 47.549 41.248
+ -3621481.658 -2776103.984 23686714.181 23686719.070 23686714.675
+ -3136.108 -2443.701 47.722 42.638
+ -5147171.335 -4002409.676 23902888.795 23902891.882 23902888.834
+ 1963.411 1529.938 47.896 41.769
+ -14263114.250 -10859258.946 22321022.682 22321025.897 22321023.142
+ 2997.479 2335.698 50.676 44.722
+ 03 8 2 0 22 31.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24308326.111 -18929695.245 20459399.105 20459401.070 20459399.136
+ 209.721 163.421 52.065 47.676
+ -14908004.831 -11588241.413 22143875.030 22143878.023 22143875.781
+ -1963.943 -1530.351 50.676 45.244
+ -17362004.774 -13517187.536 21767649.221 21767652.365 21767649.482
+ 1096.504 854.417 51.718 45.244
+ -18251395.800 -14206588.924 21323442.682 21323443.835 21323442.609
+ 1981.191 1543.780 51.023 45.938
+ -9155235.647 -7120733.627 23224759.648 23224761.323 23224759.306
+ -2986.341 -2327.005 47.549 41.248
+ -3616777.225 -2772438.201 23687609.098 23687614.870 23687609.520
+ -3136.370 -2443.920 47.722 42.812
+ -5150116.437 -4004704.553 23902328.277 23902330.950 23902328.265
+ 1963.364 1529.888 47.896 41.595
+ -14267610.011 -10862762.133 22320167.375 22320170.300 22320167.663
+ 2996.909 2335.252 50.676 44.722
+ 03 8 2 0 22 33.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24308640.289 -18929940.060 20459339.309 20459341.338 20459339.376
+ 209.227 163.038 52.065 47.676
+ -14905058.848 -11585945.845 22144435.746 22144438.258 22144436.388
+ -1963.960 -1530.360 50.676 45.244
+ -17363649.030 -13518468.774 21767336.327 21767339.074 21767336.589
+ 1095.910 853.961 51.718 45.244
+ -18254367.289 -14208904.371 21322877.224 21322878.014 21322877.292
+ 1980.863 1543.529 51.023 45.938
+ -9150756.198 -7117243.152 23225612.008 23225612.623 23225611.697
+ -2986.237 -2326.936 47.549 41.248
+ -3612072.753 -2768772.387 23688504.677 23688510.270 23688504.526
+ -3136.165 -2443.769 47.722 42.812
+ -5153061.749 -4006999.599 23901767.573 23901771.850 23901767.665
+ 1963.685 1530.153 47.896 41.769
+ -14272105.277 -10866264.936 22319311.988 22319314.770 22319312.238
+ 2996.791 2335.160 50.676 44.722
+ 03 8 2 0 22 34.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24308953.154 -18930183.852 20459279.805 20459281.698 20459279.872
+ 208.118 162.171 52.065 47.676
+ -14902112.355 -11583649.877 22144996.293 22144998.974 22144997.106
+ -1964.536 -1530.811 50.676 45.244
+ -17365291.900 -13519748.937 21767023.776 21767026.479 21767023.953
+ 1094.757 853.065 51.718 45.244
+ -18257337.767 -14211219.027 21322311.761 21322312.781 21322312.055
+ 1979.945 1542.807 51.023 45.938
+ -9146276.407 -7113752.404 23226464.406 23226466.383 23226464.179
+ -2986.603 -2327.225 47.549 41.248
+ -3607367.965 -2765106.328 23689399.929 23689404.880 23689399.553
+ -3136.621 -2444.112 47.722 42.638
+ -5156007.036 -4009294.630 23901207.620 23901211.248 23901207.246
+ 1963.391 1529.922 47.896 41.769
+ -14276599.762 -10869767.131 22318456.645 22318460.021 22318457.017
+ 2995.988 2334.536 50.676 44.722
+ 03 8 2 0 22 36.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24309264.755 -18930426.657 20459220.385 20459222.381 20459220.604
+ 207.434 161.641 52.065 47.676
+ -14899165.404 -11581353.553 22145556.922 22145559.861 22145557.864
+ -1964.670 -1530.905 50.676 45.244
+ -17366933.409 -13521028.032 21766711.333 21766713.843 21766711.477
+ 1094.012 852.479 51.718 45.244
+ -18260307.264 -14213532.920 21321746.687 21321747.566 21321746.994
+ 1979.443 1542.431 51.023 45.938
+ -9141796.267 -7110261.388 23227317.050 23227318.542 23227316.752
+ -2986.734 -2327.331 47.549 41.248
+ -3602662.929 -2761440.066 23690295.172 23690300.143 23690294.673
+ -3136.667 -2444.152 47.722 42.638
+ -5158952.356 -4011589.684 23900646.930 23900650.363 23900646.787
+ 1963.580 1530.074 47.896 41.595
+ -14281093.531 -10873268.765 22317601.414 22317604.844 22317601.864
+ 2995.675 2334.299 50.676 44.722
+ 03 8 2 0 22 37.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24309575.205 -18930668.565 20459161.430 20459163.310 20459161.532
+ 206.519 160.921 52.065 47.676
+ -14896218.114 -11579056.964 22146117.783 22146120.612 22146118.614
+ -1965.018 -1531.174 50.676 45.244
+ -17368573.700 -13522306.180 21766399.243 21766401.950 21766399.200
+ 1093.048 851.726 51.718 45.244
+ -18263275.921 -14215846.153 21321181.873 21321182.811 21321182.068
+ 1978.753 1541.876 51.023 45.938
+ -9137315.926 -7106770.206 23228169.729 23228170.982 23228169.265
+ -2987.099 -2327.625 47.549 41.074
+ -3597957.761 -2757773.705 23691190.620 23691195.330 23691189.892
+ -3136.925 -2444.344 47.722 42.812
+ -5161897.808 -4013884.836 23900086.583 23900090.121 23900086.293
+ 1963.524 1530.013 47.896 41.769
+ -14285586.704 -10876769.938 22316746.499 22316749.376 22316746.842
+ 2995.148 2333.884 50.676 44.722
+ 03 8 2 0 22 39.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24309884.273 -18930909.395 20459102.483 20459104.626 20459102.710
+ 205.670 160.262 52.065 47.676
+ -14893270.245 -11576759.922 22146678.875 22146681.664 22146679.439
+ -1965.315 -1531.417 50.676 45.244
+ -17370212.526 -13523583.180 21766087.291 21766090.323 21766087.227
+ 1092.135 851.010 51.718 45.244
+ -18266243.475 -14218158.528 21320617.118 21320618.067 21320617.353
+ 1978.102 1541.378 51.023 45.765
+ -9132835.145 -7103278.693 23229022.005 23229023.475 23229021.882
+ -2987.280 -2327.759 47.549 41.074
+ -3593252.235 -2754107.075 23692085.798 23692091.349 23692085.056
+ -3137.008 -2444.414 47.722 42.812
+ -5164843.152 -4016179.910 23899525.776 23899529.065 23899525.729
+ 1963.603 1530.092 47.722 41.595
+ -14290079.024 -10880270.445 22315891.539 22315894.435 22315891.934
+ 2994.682 2333.514 50.676 44.722
+ 03 8 2 0 22 40.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24310192.377 -18931149.481 20459043.892 20459045.851 20459044.052
+ 204.997 159.741 52.065 47.676
+ -14890322.211 -11574462.758 22147239.860 22147242.562 22147240.346
+ -1965.475 -1531.537 50.676 45.244
+ -17371850.286 -13524859.359 21765775.554 21765778.474 21765775.532
+ 1091.398 850.438 51.718 45.244
+ -18269210.346 -14220470.380 21320052.427 21320053.756 21320052.730
+ 1977.583 1540.978 51.023 45.938
+ -9128354.323 -7099787.138 23229874.511 23229876.966 23229874.485
+ -2987.329 -2327.800 47.549 41.074
+ -3588546.724 -2750440.449 23692981.362 23692986.740 23692980.336
+ -3137.067 -2444.458 47.722 42.812
+ -5167788.822 -4018475.241 23898965.451 23898968.494 23898964.929
+ 1963.769 1530.215 47.722 41.595
+ -14294570.915 -10883770.620 22315036.624 22315039.490 22315037.077
+ 2994.327 2333.240 50.676 44.722
+ 03 8 2 0 22 42.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24310499.071 -18931388.459 20458985.726 20458987.439 20458985.730
+ 203.925 158.899 52.065 47.676
+ -14887373.573 -11572165.119 22147801.042 22147803.530 22147801.421
+ -1966.028 -1531.967 50.676 45.244
+ -17373486.554 -13526134.368 21765464.133 21765467.228 21765464.146
+ 1090.271 849.558 51.718 45.417
+ -18272176.098 -14222781.353 21319488.187 21319489.032 21319488.336
+ 1976.718 1540.296 51.023 45.938
+ -9123873.046 -7096295.244 23230727.312 23230729.976 23230727.037
+ -2987.774 -2328.137 47.549 41.248
+ -3583840.813 -2746773.515 23693876.923 23693881.908 23693875.789
+ -3137.500 -2444.792 47.549 42.812
+ -5170734.343 -4020770.451 23898405.042 23898408.513 23898404.218
+ 1963.509 1529.983 47.722 41.595
+ -14299061.930 -10887270.110 22314182.175 22314185.310 22314182.433
+ 2993.634 2332.704 50.676 44.722
+ 03 8 2 0 22 43.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24310804.644 -18931626.569 20458927.489 20458929.328 20458927.596
+ 203.476 158.554 52.065 47.676
+ -14884424.618 -11569867.228 22148362.236 22148365.031 22148362.531
+ -1965.950 -1531.910 50.676 45.244
+ -17375121.621 -13527408.448 21765152.830 21765156.030 21765152.965
+ 1089.778 849.179 51.718 45.417
+ -18275141.011 -14225091.673 21318923.943 21318924.510 21318924.043
+ 1976.471 1540.108 51.023 45.765
+ -9119391.593 -7092803.203 23231580.002 23231582.995 23231579.757
+ -2987.563 -2327.965 47.549 41.074
+ -3579134.823 -2743106.510 23694772.505 23694777.267 23694771.473
+ -3137.192 -2444.560 47.549 42.812
+ -5173680.032 -4023065.786 23897844.348 23897847.992 23897843.461
+ 1963.910 1530.324 47.722 41.595
+ -14303552.374 -10890769.151 22313327.583 22313330.757 22313327.862
+ 2993.524 2332.612 50.676 44.722
+ 03 8 2 0 22 45.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24311109.029 -18931863.755 20458869.584 20458871.469 20458869.656
+ 202.334 157.660 52.065 47.676
+ -14881475.296 -11567569.059 22148923.385 22148925.919 22148923.825
+ -1966.518 -1532.350 50.676 45.244
+ -17376755.413 -13528681.532 21764841.945 21764845.141 21764842.023
+ 1088.569 848.236 51.544 45.417
+ -18278105.028 -14227401.297 21318359.810 21318360.620 21318359.884
+ 1975.526 1539.372 51.023 45.938
+ -9114909.883 -7089310.962 23232432.582 23232435.282 23232432.552
+ -2988.022 -2328.305 47.549 41.074
+ -3574428.627 -2739439.348 23695668.050 23695673.069 23695667.198
+ -3137.719 -2444.978 47.549 42.812
+ -5176625.820 -4025361.206 23897283.644 23897286.749 23897282.749
+ 1963.596 1530.079 47.722 41.595
+ -14308042.180 -10894267.704 22312473.096 22312476.217 22312473.470
+ 2992.805 2332.058 50.676 44.722
+ 03 8 2 0 22 46.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24311412.164 -18932099.963 20458811.950 20458813.772 20458811.982
+ 201.843 157.287 52.065 47.676
+ -14878525.516 -11565270.532 22149484.845 22149487.421 22149485.223
+ -1966.470 -1532.307 50.676 45.244
+ -17378387.874 -13529953.579 21764531.435 21764534.524 21764531.377
+ 1088.014 847.802 51.544 45.244
+ -18281068.068 -14229710.155 21317795.957 21317796.834 21317795.936
+ 1975.224 1539.139 51.023 45.765
+ -9110427.865 -7085818.482 23233285.917 23233288.448 23233285.393
+ -2988.040 -2328.337 47.549 41.248
+ -3569722.199 -2735772.007 23696563.655 23696568.818 23696562.843
+ -3137.575 -2444.850 47.549 42.812
+ -5179571.668 -4027656.674 23896723.032 23896726.394 23896722.283
+ 1964.032 1530.411 47.722 41.769
+ -14312531.236 -10897765.665 22311619.012 22311622.004 22311619.143
+ 2992.587 2331.881 50.676 44.722
+ 03 8 2 0 22 48.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24311713.974 -18932335.141 20458754.464 20458756.475 20458754.613
+ 200.962 156.597 52.065 47.676
+ -14875575.222 -11562971.600 22150046.309 22150048.729 22150046.676
+ -1966.816 -1532.586 50.676 45.244
+ -17380018.925 -13531224.527 21764221.038 21764223.948 21764221.032
+ 1087.108 847.103 51.544 45.244
+ -18284030.071 -14232018.211 21317232.272 21317233.424 21317232.183
+ 1974.513 1538.588 51.023 45.765
+ -9105945.457 -7082325.694 23234138.808 23234140.466 23234138.433
+ -2988.219 -2328.480 47.549 41.248
+ -3565015.464 -2732104.430 23697459.401 23697464.070 23697458.696
+ -3137.762 -2445.001 47.549 42.812
+ -5182517.447 -4029952.078 23896162.732 23896165.909 23896161.812
+ 1964.006 1530.399 47.722 41.769
+ -14317019.511 -10901263.020 22310764.960 22310768.175 22310764.970
+ 2992.076 2331.497 50.676 44.722
+ 03 8 2 0 22 49.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24312014.689 -18932569.465 20458697.260 20458699.116 20458697.407
+ 200.000 155.846 52.065 47.676
+ -14872624.634 -11560672.443 22150607.801 22150610.452 22150608.194
+ -1967.295 -1532.955 50.676 45.244
+ -17381648.806 -13532494.563 21763910.836 21763914.054 21763910.826
+ 1086.065 846.286 51.544 45.244
+ -18286991.288 -14234325.656 21316668.874 21316669.670 21316668.594
+ 1973.759 1537.996 51.023 45.938
+ -9101462.925 -7078832.818 23234991.824 23234993.614 23234991.531
+ -2988.506 -2328.684 47.549 41.074
+ -3560308.654 -2728436.796 23698355.173 23698359.867 23698354.501
+ -3138.049 -2445.226 47.549 42.812
+ -5185463.437 -4032247.648 23895601.951 23895605.474 23895601.185
+ 1963.857 1530.263 47.722 41.595
+ -14321507.237 -10904759.955 22309910.776 22309914.138 22309910.868
+ 2991.487 2331.032 50.676 44.896
+ 03 8 2 0 22 51.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24312314.188 -18932802.842 20458640.315 20458642.255 20458640.460
+ 199.210 155.231 52.065 47.676
+ -14869673.655 -11558372.982 22151169.364 22151171.671 22151169.761
+ -1967.503 -1533.119 50.676 45.244
+ -17383277.379 -13533763.577 21763600.894 21763604.012 21763600.913
+ 1085.247 845.643 51.544 45.244
+ -18289951.574 -14236632.375 21316105.540 21316106.352 21316105.228
+ 1973.168 1537.533 51.023 45.765
+ -9096980.094 -7075339.706 23235844.581 23235846.333 23235844.556
+ -2988.667 -2328.825 47.722 41.248
+ -3555601.641 -2724768.999 23699251.046 23699255.843 23699250.389
+ -3138.132 -2445.287 47.549 42.812
+ -5188409.476 -4034543.268 23895041.497 23895044.173 23895040.829
+ 1963.961 1530.352 47.722 41.769
+ -14325994.295 -10908256.361 22309056.947 22309060.316 22309056.827
+ 2991.104 2330.724 50.676 44.722
+ 03 8 2 0 22 52.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24312612.334 -18933035.161 20458583.582 20458585.369 20458583.805
+ 198.544 154.715 52.065 47.676
+ -14866722.120 -11556073.084 22151730.993 22151733.469 22151731.451
+ -1967.587 -1533.186 50.676 45.244
+ -17384904.508 -13535031.466 21763291.414 21763294.339 21763291.257
+ 1084.491 845.060 51.544 45.417
+ -18292910.793 -14238938.257 21315542.425 21315543.194 21315542.106
+ 1972.695 1537.170 51.023 45.938
+ -9092496.872 -7071846.289 23236697.559 23236700.381 23236697.703
+ -2988.723 -2328.871 47.722 41.248
+ -3550894.294 -2721100.935 23700146.921 23700152.200 23700146.245
+ -3138.103 -2445.271 47.549 42.812
+ -5191355.435 -4036838.810 23894480.752 23894483.519 23894480.470
+ 1964.030 1530.409 47.722 41.769
+ -14330480.531 -10911752.125 22308203.251 22308206.418 22308203.041
+ 2990.761 2330.467 50.676 44.722
+ 03 8 2 0 22 54.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24312909.379 -18933266.625 20458527.033 20458528.931 20458527.352
+ 197.459 153.862 52.065 47.676
+ -14863770.283 -11553772.952 22152292.574 22152295.480 22152293.192
+ -1968.164 -1533.631 50.676 45.244
+ -17386530.442 -13536298.430 21762981.915 21762985.029 21762981.846
+ 1083.378 844.190 51.544 45.244
+ -18295869.198 -14241243.508 21314979.446 21314980.469 21314979.105
+ 1971.821 1536.483 51.023 45.938
+ -9088013.488 -7068352.747 23237551.011 23237552.781 23237550.808
+ -2989.190 -2329.231 47.722 41.248
+ -3546186.820 -2717432.780 23701042.670 23701047.545 23701042.178
+ -3138.596 -2445.652 47.549 42.812
+ -5194301.553 -4039134.490 23893920.073 23893923.860 23893919.928
+ 1963.900 1530.313 47.722 41.769
+ -14334966.176 -10915247.435 22307349.677 22307353.191 22307349.424
+ 2990.016 2329.877 50.676 44.896
+ 03 8 2 0 22 55.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24313205.262 -18933497.183 20458470.578 20458472.610 20458471.102
+ 196.944 153.467 52.065 47.676
+ -14860818.094 -11551472.547 22152854.433 22152857.176 22152854.979
+ -1968.169 -1533.636 50.676 45.244
+ -17388155.141 -13537564.430 21762672.736 21762675.782 21762672.664
+ 1082.800 843.745 51.544 45.417
+ -18298826.729 -14243548.076 21314416.741 21314417.387 21314416.274
+ 1971.473 1536.221 51.023 45.765
+ -9083529.886 -7064859.032 23238404.462 23238406.343 23238403.991
+ -2989.065 -2329.135 47.722 41.248
+ -3541479.241 -2713764.543 23701938.588 23701943.029 23701938.212
+ -3138.453 -2445.539 47.549 42.985
+ -5197247.822 -4041430.285 23893359.436 23893362.811 23893359.292
+ 1964.243 1530.588 47.722 41.595
+ -14339451.221 -10918742.273 22306496.161 22306499.419 22306496.000
+ 2989.897 2329.800 50.676 44.722
+ 03 8 2 0 22 57.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24313499.716 -18933726.626 20458414.540 20458416.519 20458415.088
+ 195.835 152.599 52.065 47.676
+ -14857865.309 -11549171.671 22153416.313 22153418.812 22153416.843
+ -1968.698 -1534.052 50.676 45.244
+ -17389778.317 -13538829.240 21762363.878 21762366.848 21762363.750
+ 1081.614 842.820 51.544 45.244
+ -18301783.125 -14245851.758 21313854.127 21313854.790 21313853.655
+ 1970.551 1535.489 51.023 45.938
+ -9079045.800 -7061364.941 23239257.526 23239260.002 23239257.340
+ -2989.530 -2329.491 47.722 41.422
+ -3536771.240 -2710095.970 23702834.275 23702839.697 23702834.256
+ -3138.830 -2445.844 47.549 42.812
+ -5200193.927 -4043725.942 23892798.926 23892802.115 23892798.522
+ 1963.925 1530.327 47.722 41.595
+ -14343935.355 -10922236.402 22305642.933 22305646.107 22305642.696
+ 2989.096 2329.171 50.676 44.722
+ 03 8 2 0 22 58.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24313793.148 -18933955.277 20458358.733 20458360.573 20458359.345
+ 194.991 151.932 52.065 47.676
+ -14854912.287 -11546870.618 22153978.027 22153980.710 22153978.716
+ -1969.021 -1534.306 50.676 45.244
+ -17391400.390 -13540093.190 21762055.539 21762058.313 21762055.067
+ 1080.710 842.101 51.544 45.417
+ -18304738.784 -14248154.871 21313291.625 21313292.616 21313291.194
+ 1969.899 1534.972 51.023 45.938
+ -9074561.623 -7057870.780 23240111.314 23240113.727 23240110.707
+ -2989.761 -2329.685 47.722 41.248
+ -3532063.212 -2706427.380 23703729.930 23703734.991 23703730.192
+ -3138.970 -2445.951 47.549 42.812
+ -5203140.294 -4046021.815 23892238.098 23892241.315 23892237.788
+ 1963.969 1530.372 47.722 41.595
+ -14348419.010 -10925730.158 22304789.720 22304792.918 22304789.543
+ 2988.627 2328.801 50.676 44.896
+ 03 8 2 0 23 0.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24314085.301 -18934182.932 20458303.205 20458305.263 20458303.790
+ 194.304 151.407 52.065 47.676
+ -14851958.800 -11544569.204 22154540.137 22154542.828 22154540.616
+ -1969.178 -1534.423 50.676 45.244
+ -17393021.093 -13541356.079 21761747.309 21761749.924 21761746.647
+ 1079.977 841.542 51.544 45.417
+ -18307693.437 -14250457.202 21312729.463 21312730.248 21312728.907
+ 1969.425 1534.621 51.023 45.765
+ -9070077.123 -7054376.364 23240964.456 23240967.471 23240964.134
+ -2989.831 -2329.734 47.722 41.248
+ -3527354.928 -2702758.592 23704625.762 23704631.063 23704626.036
+ -3138.966 -2445.940 47.549 42.812
+ -5206086.665 -4048317.691 23891677.521 23891680.274 23891677.133
+ 1964.143 1530.496 47.722 41.595
+ -14352901.913 -10929223.332 22303936.591 22303940.016 22303936.561
+ 2988.287 2328.537 50.676 44.722
+ 03 8 2 0 23 1.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24314376.169 -18934409.580 20458247.932 20458249.868 20458248.432
+ 193.784 151.004 52.065 47.676
+ -14849004.829 -11542267.405 22155102.270 22155104.891 22155102.508
+ -1969.173 -1534.413 50.676 45.417
+ -17394640.433 -13542617.899 21761439.212 21761441.796 21761438.548
+ 1079.391 841.089 51.544 45.417
+ -18310647.106 -14252758.756 21312167.295 21312168.057 21312166.797
+ 1969.094 1534.365 51.023 45.938
+ -9065592.287 -7050881.691 23241818.013 23241820.121 23241817.590
+ -2989.644 -2329.583 47.722 41.422
+ -3522646.369 -2699089.593 23705522.515 23705527.129 23705522.074
+ -3138.843 -2445.846 47.722 42.812
+ -5209033.050 -4050613.570 23891116.866 23891119.888 23891116.317
+ 1964.425 1530.729 47.722 41.769
+ -14357384.062 -10932715.907 22303083.692 22303086.987 22303083.642
+ 2988.121 2328.404 50.676 44.896
+ 03 8 2 0 23 3.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24314665.844 -18934635.300 20458192.779 20458194.543 20458193.254
+ 192.708 150.157 52.065 47.676
+ -14846050.490 -11539965.327 22155664.393 22155667.100 22155664.512
+ -1969.653 -1534.791 50.676 45.244
+ -17396258.498 -13543878.728 21761131.172 21761133.883 21761130.724
+ 1078.272 840.213 51.544 45.417
+ -18313599.868 -14255059.610 21311605.573 21311606.223 21311604.839
+ 1968.200 1533.659 51.023 45.938
+ -9061107.202 -7047386.823 23242672.040 23242673.969 23242671.164
+ -2990.179 -2330.013 47.722 41.422
+ -3517937.640 -2695420.458 23706418.589 23706422.978 23706418.266
+ -3139.150 -2446.095 47.722 42.812
+ -5211979.493 -4052909.502 23890556.003 23890558.843 23890555.431
+ 1964.255 1530.586 47.722 41.769
+ -14361865.553 -10936207.976 22302230.941 22302234.503 22302230.839
+ 2987.443 2327.875 50.676 44.896
+ 03 8 2 0 23 4.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24314954.329 -18934860.094 20458137.833 20458139.855 20458138.325
+ 192.047 149.649 52.065 47.676
+ -14843095.758 -11537662.941 22156226.534 22156229.554 22156226.609
+ -1969.795 -1534.907 50.676 45.244
+ -17397875.284 -13545138.560 21760823.644 21760826.301 21760823.207
+ 1077.570 839.672 51.718 45.417
+ -18316551.727 -14257359.756 21311043.859 21311044.354 21311043.103
+ 1967.748 1533.307 51.023 45.938
+ -9056621.874 -7043891.769 23243525.344 23243527.924 23243524.918
+ -2990.212 -2330.021 47.722 41.422
+ -3513228.757 -2691751.200 23707314.849 23707319.088 23707314.730
+ -3139.167 -2446.108 47.722 42.812
+ -5214926.067 -4055205.533 23889995.357 23889998.536 23889994.673
+ 1964.443 1530.743 47.722 41.769
+ -14366346.392 -10939699.536 22301378.021 22301381.629 22301378.160
+ 2987.094 2327.602 50.676 44.896
+ 03 8 2 0 23 6.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24315241.554 -18935083.905 20458083.019 20458085.144 20458083.624
+ 191.076 148.891 52.065 47.676
+ -14840140.590 -11535360.212 22156788.877 22156792.023 22156788.801
+ -1970.229 -1535.241 50.676 45.244
+ -17399490.720 -13546397.335 21760516.313 21760519.015 21760515.948
+ 1076.500 838.834 51.718 45.417
+ -18319502.609 -14259659.142 21310482.170 21310482.775 21310481.507
+ 1966.950 1532.687 51.023 45.938
+ -9052136.227 -7040396.457 23244379.256 23244381.049 23244378.690
+ -2990.569 -2330.308 47.722 41.422
+ -3508519.628 -2688081.747 23708211.215 23708215.373 23708211.046
+ -3139.472 -2446.341 47.722 42.812
+ -5217872.625 -4057501.548 23889434.673 23889438.345 23889434.081
+ 1964.341 1530.652 47.722 41.595
+ -14370826.511 -10943190.529 22300525.372 22300528.837 22300525.609
+ 2986.479 2327.118 50.676 44.896
+ 03 8 2 0 23 7.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24315527.611 -18935306.808 20458028.838 20458030.502 20458029.164
+ 190.106 148.124 52.065 47.676
+ -14837185.057 -11533057.201 22157351.387 22157354.188 22157351.087
+ -1970.679 -1535.608 50.676 45.417
+ -17401104.894 -13547655.135 21760208.966 21760211.413 21760208.907
+ 1075.494 838.043 51.718 45.417
+ -18322452.611 -14261957.844 21309920.776 21309921.477 21309920.132
+ 1966.148 1532.045 51.023 45.938
+ -9047650.374 -7036900.988 23245232.757 23245235.199 23245232.577
+ -2990.843 -2330.541 47.722 41.422
+ -3503810.337 -2684412.173 23709107.032 23709111.397 23709107.338
+ -3139.790 -2446.592 47.722 42.812
+ -5220819.328 -4059797.681 23888874.035 23888877.201 23888873.264
+ 1964.237 1530.553 47.722 41.595
+ -14375305.983 -10946681.027 22299673.165 22299676.332 22299673.200
+ 2985.875 2326.641 50.676 44.896
+ 03 8 2 0 23 9.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24315812.438 -18935528.753 20457974.711 20457976.498 20457974.961
+ 189.425 147.600 52.065 47.676
+ -14834229.107 -11530753.870 22157913.902 22157916.992 22157913.515
+ -1970.792 -1535.678 50.676 45.244
+ -17402717.761 -13548911.918 21759902.020 21759904.699 21759902.055
+ 1074.738 837.450 51.718 45.417
+ -18325401.674 -14264255.816 21309359.713 21309360.612 21309358.896
+ 1965.671 1531.687 51.023 45.765
+ -9043164.222 -7033405.289 23246086.367 23246088.194 23246086.269
+ -2990.944 -2330.606 47.722 41.595
+ -3499100.849 -2680742.450 23710003.122 23710007.606 23710003.616
+ -3139.784 -2446.584 47.722 42.985
+ -5223766.077 -4062093.841 23888313.712 23888316.183 23888312.679
+ 1964.370 1530.663 47.722 41.422
+ -14379784.768 -10950170.990 22298820.761 22298824.380 22298820.939
+ 2985.535 2326.382 50.676 44.896
+ 03 8 2 0 23 10.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24316096.086 -18935749.778 20457920.589 20457922.326 20457920.934
+ 188.735 147.064 52.065 47.676
+ -14831272.791 -11528450.252 22158476.855 22158479.672 22158476.167
+ -1970.981 -1535.834 50.676 45.417
+ -17404329.362 -13550167.712 21759595.503 21759598.189 21759595.467
+ 1074.005 836.885 51.718 45.417
+ -18328349.845 -14266553.098 21308798.699 21308799.353 21308797.882
+ 1965.153 1531.291 51.023 45.765
+ -9038677.849 -7029909.422 23246940.097 23246942.395 23246940.126
+ -2990.926 -2330.591 47.722 41.422
+ -3494391.198 -2677072.602 23710898.999 23710903.837 23710899.948
+ -3139.763 -2446.568 47.722 42.985
+ -5226712.898 -4064390.070 23887752.699 23887754.815 23887752.066
+ 1964.549 1530.809 47.722 41.595
+ -14384262.902 -10953660.445 22297968.665 22297972.205 22297968.797
+ 2985.221 2326.148 50.676 44.896
+ 03 8 2 0 23 12.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24316378.406 -18935969.765 20457866.677 20457868.546 20457867.146
+ 187.877 146.394 52.065 47.676
+ -14828315.966 -11526146.227 22159039.225 22159042.323 22159038.889
+ -1971.246 -1536.036 50.676 45.244
+ -17405939.548 -13551422.397 21759289.088 21759291.599 21759289.213
+ 1073.089 836.170 51.718 45.244
+ -18331296.974 -14268849.558 21308237.956 21308238.361 21308237.139
+ 1964.532 1530.795 51.023 45.938
+ -9034191.086 -7026413.234 23247793.606 23247796.010 23247793.898
+ -2991.261 -2330.882 47.722 41.422
+ -3489681.241 -2673402.506 23711795.783 23711799.980 23711796.368
+ -3139.969 -2446.730 47.722 42.812
+ -5229659.709 -4066686.292 23887192.008 23887194.677 23887191.495
+ 1964.533 1530.794 47.722 41.595
+ -14388740.236 -10957149.280 22297116.696 22297120.177 22297116.712
+ 2984.698 2325.741 50.676 44.896
+ 03 8 2 0 23 13.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24316659.575 -18936188.860 20457813.211 20457815.354 20457813.583
+ 187.086 145.781 52.065 47.676
+ -14825358.801 -11523841.945 22159602.010 22159604.860 22159601.777
+ -1971.526 -1536.249 50.676 45.244
+ -17407548.495 -13552676.125 21758983.028 21758985.514 21758983.145
+ 1072.227 835.508 51.718 45.417
+ -18334243.241 -14271145.353 21307677.414 21307677.868 21307676.555
+ 1963.890 1530.302 51.023 45.765
+ -9029704.148 -7022916.930 23248647.738 23248650.482 23248647.662
+ -2991.360 -2330.920 47.722 41.595
+ -3484971.172 -2669732.330 23712691.998 23712696.464 23712692.964
+ -3140.034 -2446.762 47.722 42.985
+ -5232606.671 -4068982.621 23886631.132 23886634.069 23886630.752
+ 1964.546 1530.809 47.722 41.595
+ -14393216.959 -10960637.629 22296264.695 22296268.189 22296264.702
+ 2984.258 2325.396 50.676 44.896
+ 03 8 2 0 23 15.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24316939.397 -18936406.900 20457760.161 20457762.001 20457760.273
+ 186.053 144.976 52.065 47.676
+ -14822401.096 -11521537.236 22160164.923 22160167.717 22160164.729
+ -1971.992 -1536.621 50.676 45.244
+ -17409156.013 -13553928.733 21758677.133 21758679.535 21758677.339
+ 1071.157 834.664 51.718 45.417
+ -18337188.431 -14273440.303 21307116.783 21307117.225 21307116.164
+ 1963.040 1529.638 51.023 45.765
+ -9025216.815 -7019420.299 23249501.514 23249503.860 23249501.538
+ -2991.705 -2331.207 47.896 41.595
+ -3480260.750 -2666061.876 23713588.105 23713593.051 23713589.352
+ -3140.426 -2447.082 47.722 42.812
+ -5235553.549 -4071278.884 23886070.244 23886073.043 23886070.291
+ 1964.453 1530.749 47.722 41.595
+ -14397692.872 -10964125.350 22295413.055 22295416.580 22295412.795
+ 2983.594 2324.873 50.676 44.896
+ 03 8 2 0 23 16.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24317218.161 -18936624.122 20457706.985 20457708.869 20457707.202
+ 185.246 144.342 52.065 47.676
+ -14819443.156 -11519232.350 22160727.903 22160730.465 22160727.744
+ -1972.272 -1536.842 50.676 45.244
+ -17410762.388 -13555180.453 21758371.405 21758373.968 21758371.743
+ 1070.306 833.994 51.718 45.417
+ -18340132.875 -14275734.673 21306556.462 21306557.044 21306555.844
+ 1962.455 1529.177 51.023 45.765
+ -9020729.365 -7015923.592 23250355.428 23250357.438 23250355.606
+ -2991.891 -2331.343 47.896 41.595
+ -3475550.307 -2662391.404 23714484.627 23714489.045 23714485.741
+ -3140.596 -2447.222 47.896 42.812
+ -5238500.635 -4073575.315 23885509.782 23885511.911 23885509.791
+ 1964.523 1530.788 47.722 41.595
+ -14402168.252 -10967612.658 22294561.321 22294564.886 22294561.038
+ 2983.174 2324.545 50.676 44.896
+ 03 8 2 0 23 18.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24317495.622 -18936840.325 20457654.067 20457656.025 20457654.434
+ 184.359 143.652 52.065 47.676
+ -14816484.715 -11516927.070 22161290.916 22161293.519 22161290.852
+ -1972.620 -1537.104 50.676 45.244
+ -17412367.373 -13556431.090 21758066.019 21758068.226 21758066.367
+ 1069.356 833.276 51.718 45.417
+ -18343076.281 -14278028.236 21305996.377 21305996.954 21305995.815
+ 1961.762 1528.647 51.023 45.765
+ -9016241.576 -7012426.613 23251209.627 23251212.461 23251209.671
+ -2992.168 -2331.550 47.896 41.595
+ -3470839.589 -2658720.716 23715381.037 23715385.038 23715382.339
+ -3140.734 -2447.319 47.896 42.985
+ -5241447.698 -4075871.723 23884948.929 23884951.263 23884949.198
+ 1964.450 1530.749 47.722 41.769
+ -14406642.866 -10971099.366 22293709.855 22293713.279 22293709.488
+ 2982.625 2324.122 50.676 44.896
+ 03 8 2 0 23 19.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24317771.944 -18937055.639 20457601.579 20457603.686 20457601.869
+ 184.065 143.437 52.065 47.676
+ -14813525.955 -11514621.546 22161854.113 22161856.455 22161854.010
+ -1972.386 -1536.919 50.676 45.417
+ -17413971.128 -13557680.769 21757760.714 21757763.254 21757761.224
+ 1068.981 832.982 51.718 45.417
+ -18346018.838 -14280321.142 21305436.570 21305436.925 21305435.974
+ 1961.637 1528.557 51.023 45.765
+ -9011753.572 -7008929.472 23252063.587 23252065.821 23252063.950
+ -2991.889 -2331.335 47.896 41.422
+ -3466128.744 -2655049.928 23716277.759 23716281.886 23716278.879
+ -3140.389 -2447.060 47.896 42.985
+ -5244394.910 -4078168.249 23884388.122 23884391.002 23884388.621
+ 1965.019 1531.189 47.722 41.595
+ -14411116.865 -10974585.597 22292858.341 22292862.219 22292858.124
+ 2982.661 2324.153 50.676 44.896
+ 03 8 2 0 23 21.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24318046.961 -18937269.940 20457549.298 20457551.118 20457549.536
+ 182.688 142.352 52.065 47.676
+ -14810566.705 -11512315.635 22162417.189 22162419.780 22162417.303
+ -1973.194 -1537.560 50.676 45.417
+ -17415573.499 -13558929.370 21757455.666 21757458.133 21757456.284
+ 1067.557 831.865 51.718 45.417
+ -18348960.379 -14282613.252 21304876.868 21304877.356 21304876.339
+ 1960.492 1527.656 51.023 45.765
+ -9007265.231 -7005432.064 23252918.035 23252919.962 23252918.345
+ -2992.611 -2331.894 47.896 41.595
+ -3461417.633 -2651378.942 23717174.192 23717178.133 23717175.419
+ -3141.038 -2447.535 47.896 42.985
+ -5247342.110 -4080464.769 23883827.544 23883830.474 23883827.897
+ 1964.519 1530.789 47.722 41.595
+ -14415590.096 -10978071.230 22292007.405 22292010.389 22292006.938
+ 2981.664 2323.375 50.676 44.896
+ 03 8 2 0 23 22.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24318320.836 -18937483.350 20457497.085 20457498.981 20457497.451
+ 182.127 141.916 52.065 47.676
+ -14807607.133 -11510009.478 22162980.285 22162983.121 22162980.676
+ -1973.252 -1537.603 50.676 45.417
+ -17417174.645 -13560177.012 21757150.801 21757153.555 21757151.522
+ 1066.911 831.355 51.718 45.244
+ -18351901.061 -14284904.691 21304317.247 21304317.626 21304316.843
+ 1960.063 1527.320 51.023 45.765
+ -9002776.704 -7001934.512 23253772.281 23253774.333 23253772.587
+ -2992.486 -2331.800 47.896 41.595
+ -3456706.391 -2647707.847 23718070.405 23718074.833 23718071.784
+ -3140.902 -2447.446 47.896 42.985
+ -5250289.466 -4082761.410 23883266.572 23883268.957 23883267.048
+ 1964.790 1531.010 47.722 41.595
+ -14420062.718 -10981556.390 22291156.157 22291159.988 22291155.870
+ 2981.477 2323.233 50.676 44.896
+ 03 8 2 0 23 24.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24318593.348 -18937695.697 20457445.237 20457447.145 20457445.627
+ 181.539 141.467 52.065 47.676
+ -14804647.021 -11507702.898 22163543.540 22163546.375 22163544.198
+ -1973.249 -1537.590 50.676 45.417
+ -17418774.348 -13561423.531 21756846.519 21756849.199 21756847.048
+ 1066.285 830.876 51.718 45.417
+ -18354840.679 -14287195.303 21303757.837 21303758.117 21303757.550
+ 1959.719 1527.067 51.023 45.938
+ -8998287.760 -6998436.633 23254626.255 23254627.904 23254626.759
+ -2992.448 -2331.767 47.896 41.422
+ -3451994.816 -2644036.499 23718967.040 23718971.657 23718968.393
+ -3140.868 -2447.423 47.896 42.985
+ -5253236.756 -4085057.998 23882705.586 23882708.002 23882706.173
+ 1965.046 1531.203 47.722 41.595
+ -14424534.507 -10985040.894 22290305.363 22290308.900 22290304.935
+ 2981.236 2323.045 50.676 44.896
+ 03 8 2 0 23 25.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24318864.751 -18937907.183 20457393.738 20457395.578 20457393.997
+ 180.657 140.777 52.065 47.676
+ -14801686.606 -11505396.084 22164106.962 22164109.522 22164107.714
+ -1973.604 -1537.868 50.676 45.417
+ -17420372.860 -13562669.126 21756542.151 21756544.915 21756542.730
+ 1065.394 830.173 51.718 45.417
+ -18357779.476 -14289485.272 21303198.490 21303199.005 21303198.357
+ 1958.999 1526.482 51.023 45.765
+ -8993798.682 -6994938.651 23255480.074 23255482.160 23255481.055
+ -2992.663 -2331.959 47.896 41.422
+ -3447283.157 -2640365.077 23719863.513 23719868.516 23719864.876
+ -3141.047 -2447.580 47.896 42.985
+ -5256184.205 -4087354.710 23882144.808 23882147.766 23882145.206
+ 1965.010 1531.191 47.722 41.422
+ -14429005.725 -10988524.961 22289454.455 22289457.771 22289454.135
+ 2980.682 2322.616 50.676 44.896
+ 03 8 2 0 23 27.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24319134.888 -18938117.678 20457342.258 20457344.048 20457342.667
+ 179.514 139.879 52.065 47.676
+ -14798725.751 -11503088.925 22164670.252 22164672.620 22164671.201
+ -1974.173 -1538.323 50.676 45.417
+ -17421969.997 -13563913.648 21756238.099 21756241.329 21756238.619
+ 1064.134 829.197 51.718 45.417
+ -18360717.285 -14291774.473 21302639.413 21302640.312 21302639.349
+ 1958.061 1525.762 51.023 45.765
+ -8989309.251 -6991440.389 23256334.705 23256336.759 23256335.422
+ -2993.240 -2332.399 47.896 41.422
+ -3442571.249 -2636693.471 23720760.651 23720764.484 23720761.363
+ -3141.506 -2447.923 47.896 42.985
+ -5259131.697 -4089651.459 23881583.714 23881586.324 23881584.335
+ 1964.820 1531.041 47.722 41.595
+ -14433476.191 -10992008.438 22288603.689 22288607.234 22288603.407
+ 2979.860 2321.968 50.676 44.896
+ 03 8 2 0 23 28.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24319403.770 -18938327.198 20457291.066 20457292.871 20457291.517
+ 178.992 139.478 52.065 47.676
+ -14795764.448 -11500781.416 22165233.850 22165236.418 22165234.758
+ -1974.178 -1538.323 50.676 45.244
+ -17423565.811 -13565157.139 21755934.285 21755937.465 21755934.849
+ 1063.595 828.781 51.718 45.244
+ -18363654.131 -14294062.921 21302080.663 21302081.208 21302080.470
+ 1957.747 1525.520 51.023 45.765
+ -8984819.548 -6987941.935 23257188.928 23257190.584 23257189.774
+ -2993.102 -2332.271 47.896 41.422
+ -3437859.120 -2633021.681 23721657.097 23721661.613 23721657.820
+ -3141.286 -2447.754 47.896 42.812
+ -5262079.211 -4091948.222 23881022.900 23881025.564 23881023.259
+ 1964.973 1531.140 47.722 41.422
+ -14437945.937 -10995491.353 22287753.038 22287756.389 22287752.876
+ 2979.715 2321.862 50.676 44.896
+ 03 8 2 0 23 30.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24319671.470 -18938535.796 20457240.136 20457242.040 20457240.574
+ 177.801 138.544 52.065 47.676
+ -14792802.783 -11498473.625 22165797.396 22165800.030 22165798.350
+ -1974.846 -1538.848 50.676 45.244
+ -17425160.335 -13566399.622 21755630.727 21755634.069 21755631.348
+ 1062.290 827.752 51.718 45.417
+ -18366590.065 -14296350.661 21301521.917 21301522.336 21301521.805
+ 1956.723 1524.711 51.023 45.765
+ -8980329.598 -6984443.276 23258043.068 23258044.853 23258044.212
+ -2993.666 -2332.737 47.896 41.422
+ -3433146.822 -2629349.771 23722553.630 23722558.203 23722554.467
+ -3141.870 -2448.200 47.896 42.985
+ -5265026.846 -4094245.080 23880462.192 23880465.136 23880462.263
+ 1964.743 1530.959 47.722 41.595
+ -14442415.018 -10998973.752 22286902.731 22286905.947 22286902.475
+ 2978.877 2321.197 50.676 44.896
+ 03 8 2 0 23 31.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24319937.980 -18938743.468 20457189.391 20457191.441 20457189.891
+ 177.107 138.003 52.065 47.676
+ -14789840.756 -11496165.552 22166360.938 22166363.624 22166362.009
+ -1974.946 -1538.923 50.676 45.244
+ -17426753.594 -13567641.124 21755327.684 21755330.782 21755328.094
+ 1061.589 827.209 51.718 45.417
+ -18369525.116 -14298637.712 21300963.291 21300964.075 21300963.364
+ 1956.264 1524.363 51.023 45.765
+ -8975839.434 -6980944.452 23258897.811 23258899.064 23258898.649
+ -2993.647 -2332.728 47.896 41.248
+ -3428434.373 -2625677.741 23723450.767 23723455.152 23723451.175
+ -3141.839 -2448.187 47.896 42.985
+ -5267974.551 -4096541.995 23879901.014 23879903.652 23879901.231
+ 1964.970 1531.128 47.722 41.422
+ -14446883.456 -11002455.650 22286052.626 22286055.445 22286052.153
+ 2978.568 2320.967 50.676 44.896
+ 03 8 2 0 23 33.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24320203.173 -18938950.111 20457138.964 20457140.891 20457139.432
+ 176.691 137.685 52.065 47.676
+ -14786878.217 -11493857.079 22166924.601 22166927.533 22166925.817
+ -1974.853 -1538.844 50.676 45.417
+ -17428345.437 -13568881.521 21755024.615 21755027.759 21755025.131
+ 1061.080 826.826 51.718 45.417
+ -18372459.114 -14300923.943 21300405.020 21300405.559 21300405.081
+ 1955.984 1524.151 51.023 45.765
+ -8971348.886 -6977445.321 23259752.076 23259754.011 23259753.232
+ -2993.513 -2332.594 47.896 41.248
+ -3423721.627 -2622005.476 23724347.457 23724351.765 23724348.072
+ -3141.571 -2447.966 47.896 42.985
+ -5270922.244 -4098838.893 23879339.852 23879343.011 23879340.280
+ 1965.343 1531.438 47.722 41.595
+ -14451351.093 -11005936.923 22285202.265 22285205.604 22285201.999
+ 2978.478 2320.900 50.676 44.896
+ 03 8 2 0 23 34.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24320467.191 -18939155.841 20457088.684 20457090.688 20457089.204
+ 175.878 137.048 52.065 47.676
+ -14783915.331 -11491548.343 22167488.796 22167491.444 22167489.687
+ -1975.133 -1539.052 50.676 45.417
+ -17429936.031 -13570120.943 21754721.905 21754725.292 21754722.349
+ 1060.214 826.140 51.718 45.417
+ -18375392.232 -14303209.491 21299846.847 21299847.485 21299847.008
+ 1955.362 1523.654 51.023 45.765
+ -8966858.151 -6973946.046 23260607.102 23260608.940 23260607.839
+ -2993.679 -2332.733 47.896 41.422
+ -3419008.736 -2618333.095 23725244.361 23725248.404 23725244.875
+ -3141.722 -2448.087 48.070 42.812
+ -5273870.032 -4101135.877 23878778.927 23878782.188 23878779.280
+ 1965.420 1531.502 47.722 41.595
+ -14455818.107 -11009417.710 22284352.334 22284355.424 22284351.921
+ 2978.031 2320.546 50.676 44.722
+ 03 8 2 0 23 36.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927234
+ -24320729.989 -18939360.620 20457038.699 20457040.633 20457039.198
+ 174.721 136.145 52.065 47.676
+ -14780952.057 -11489239.298 22168052.508 22168055.405 22168053.510
+ -1975.690 -1539.506 50.676 45.244
+ -17431525.318 -13571359.346 21754419.356 21754422.771 21754419.849
+ 1059.042 825.228 51.718 45.417
+ -18378324.408 -14305494.301 21299289.081 21299289.380 21299289.143
+ 1954.420 1522.923 51.023 45.765
+ -8962367.144 -6970446.565 23261461.310 23261462.829 23261462.439
+ -2994.101 -2333.061 47.896 41.422
+ -3414295.660 -2614660.572 23726141.269 23726145.663 23726141.812
+ -3142.159 -2448.437 48.070 42.985
+ -5276817.896 -4103432.909 23878217.815 23878220.675 23878218.070
+ 1965.201 1531.328 47.722 41.422
+ -14460284.411 -11012897.946 22283502.555 22283505.399 22283501.998
+ 2977.196 2319.892 50.676 44.896
+ 03 8 2 0 23 37.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24320991.604 -18939564.476 20456988.827 20456990.905 20456989.385
+ 174.201 135.741 52.065 47.676
+ -14777988.395 -11486929.951 22168616.332 22168619.252 22168617.430
+ -1975.693 -1539.492 50.676 45.417
+ -17433113.334 -13572596.760 21754117.265 21754120.717 21754117.585
+ 1058.444 824.764 51.718 45.417
+ -18381255.688 -14307778.415 21298731.325 21298731.445 21298731.361
+ 1954.066 1522.654 51.023 45.765
+ -8957875.896 -6966946.891 23262316.306 23262317.239 23262317.101
+ -2994.107 -2333.074 47.896 41.248
+ -3409582.416 -2610987.928 23727038.753 23727042.733 23727038.785
+ -3142.078 -2448.361 48.070 42.985
+ -5279765.846 -4105730.016 23877657.126 23877660.079 23877656.955
+ 1965.436 1531.520 47.722 41.422
+ -14464750.083 -11016377.688 22282652.649 22282655.633 22282652.244
+ 2977.096 2319.818 50.676 44.722
+ 03 8 2 0 23 39.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24321251.928 -18939767.327 20456939.273 20456941.267 20456939.782
+ 173.112 134.889 52.065 47.676
+ -14775024.280 -11484620.255 22169180.439 22169183.475 22169181.443
+ -1976.213 -1539.905 50.676 45.417
+ -17434699.980 -13573833.103 21753815.420 21753818.901 21753815.580
+ 1057.278 823.850 51.718 45.417
+ -18384185.954 -14310061.738 21298173.666 21298174.122 21298173.778
+ 1953.174 1521.950 51.023 45.765
+ -8953384.332 -6963446.972 23263171.197 23263172.592 23263171.758
+ -2994.467 -2333.366 47.896 41.422
+ -3404868.944 -2607315.097 23727935.673 23727939.067 23727935.804
+ -3142.427 -2448.648 48.070 42.985
+ -5282713.798 -4108027.116 23877095.870 23877098.888 23877095.851
+ 1965.230 1531.333 47.722 41.595
+ -14469214.976 -11019856.826 22281802.852 22281806.162 22281802.621
+ 2976.294 2319.193 50.676 44.722
+ 03 8 2 0 23 40.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24321511.018 -18939969.217 20456889.896 20456892.140 20456890.384
+ 172.086 134.093 52.065 47.676
+ -14772059.754 -11482310.232 22169744.693 22169747.483 22169745.505
+ -1976.712 -1540.300 50.676 45.417
+ -17436285.302 -13575068.418 21753513.784 21753517.434 21753513.835
+ 1056.226 823.033 51.718 45.417
+ -18387115.263 -14312344.312 21297616.265 21297616.573 21297616.361
+ 1952.316 1521.281 51.023 45.765
+ -8948892.469 -6959946.819 23264025.814 23264027.541 23264026.656
+ -2994.877 -2333.655 47.896 41.422
+ -3400155.253 -2603642.093 23728832.927 23728836.185 23728832.920
+ -3142.730 -2448.886 48.070 42.985
+ -5285661.806 -4110324.261 23876534.844 23876537.732 23876534.662
+ 1965.064 1531.215 47.722 41.595
+ -14473679.164 -11023335.410 22280953.669 22280956.257 22280953.184
+ 2975.645 2318.687 50.676 44.722
+ 03 8 2 0 23 42.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24321768.923 -18940170.180 20456840.940 20456842.984 20456841.208
+ 171.726 133.811 52.065 47.676
+ -14769094.858 -11479999.927 22170308.831 22170311.633 22170309.639
+ -1976.490 -1540.115 50.676 45.417
+ -17437869.358 -13576302.746 21753212.365 21753215.824 21753212.339
+ 1055.797 822.694 51.718 45.417
+ -18390043.675 -14314626.193 21297058.807 21297059.313 21297059.085
+ 1952.188 1521.187 51.023 45.765
+ -8944400.394 -6956446.500 23264880.452 23264881.794 23264881.486
+ -2994.582 -2333.434 47.896 41.248
+ -3395441.421 -2599968.978 23729730.023 23729733.358 23729730.120
+ -3142.449 -2448.661 48.070 43.159
+ -5288609.892 -4112621.471 23875973.447 23875976.781 23875973.481
+ 1965.494 1531.561 47.722 41.422
+ -14478142.701 -11026813.493 22280104.310 22280107.018 22280103.852
+ 2975.619 2318.662 50.676 44.722
+ 03 8 2 0 23 43.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24322025.567 -18940370.162 20456792.084 20456794.111 20456792.306
+ 170.528 132.875 52.065 47.676
+ -14766129.505 -11477689.261 22170872.911 22170876.047 22170873.845
+ -1977.222 -1540.697 50.676 45.417
+ -17439452.069 -13577536.028 21752911.172 21752914.498 21752911.096
+ 1054.555 821.729 51.718 45.417
+ -18392971.102 -14316907.306 21296501.920 21296502.110 21296501.935
+ 1951.120 1520.348 51.023 45.765
+ -8939907.987 -6952945.926 23265735.504 23265736.262 23265736.319
+ -2995.238 -2333.955 47.896 41.595
+ -3390727.348 -2596295.683 23730627.131 23730630.312 23730627.367
+ -3142.940 -2449.044 48.070 42.985
+ -5291558.017 -4114918.706 23875412.495 23875416.169 23875412.179
+ 1965.199 1531.308 47.722 41.595
+ -14482605.478 -11030290.978 22279255.258 22279257.827 22279254.755
+ 2974.797 2318.024 50.676 44.722
+ 03 8 2 0 23 45.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24322281.091 -18940569.274 20456743.515 20456745.414 20456743.640
+ 169.744 132.276 52.065 47.676
+ -14763163.867 -11475378.372 22171437.360 22171440.252 22171438.166
+ -1977.448 -1540.872 50.676 45.417
+ -17441033.565 -13578768.361 21752610.541 21752613.421 21752610.099
+ 1053.674 821.048 51.718 45.417
+ -18395897.699 -14319187.768 21295945.031 21295945.074 21295944.972
+ 1950.539 1519.900 51.023 45.765
+ -8935415.446 -6949445.241 23266590.315 23266591.677 23266591.170
+ -2995.388 -2334.091 47.896 41.422
+ -3386013.208 -2592622.326 23731524.006 23731527.495 23731524.687
+ -3143.038 -2449.111 48.244 42.985
+ -5294506.303 -4117216.078 23874851.605 23874854.762 23874850.977
+ 1965.266 1531.383 47.722 41.422
+ -14487067.672 -11033768.013 22278405.991 22278408.406 22278405.698
+ 2974.319 2317.651 50.676 44.722
+ 03 8 2 0 23 46.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24322535.228 -18940767.299 20456695.146 20456697.195 20456695.258
+ 169.001 131.683 52.065 47.676
+ -14760197.670 -11473067.050 22172001.837 22172004.851 22172002.617
+ -1977.617 -1541.001 50.676 45.417
+ -17442613.597 -13579999.548 21752309.568 21752312.839 21752309.298
+ 1052.907 820.440 51.718 45.417
+ -18398823.184 -14321467.367 21295388.388 21295388.577 21295388.178
+ 1949.998 1519.479 51.023 45.765
+ -8930922.502 -6945944.244 23267445.526 23267446.211 23267446.054
+ -2995.374 -2334.047 47.896 41.422
+ -3381298.693 -2588948.681 23732421.016 23732424.410 23732421.952
+ -3143.106 -2449.170 48.244 42.985
+ -5297454.445 -4119513.327 23874290.593 23874293.707 23874289.891
+ 1965.272 1531.385 47.722 41.595
+ -14491529.030 -11037244.388 22277556.994 22277559.583 22277556.860
+ 2973.959 2317.364 50.676 44.722
+ 03 8 2 0 23 48.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24322788.314 -18940964.514 20456647.054 20456649.087 20456647.019
+ 168.109 130.999 52.065 47.676
+ -14757231.237 -11470755.550 22172566.008 22172569.154 22172567.080
+ -1977.977 -1541.275 50.676 45.417
+ -17444192.489 -13581229.858 21752009.254 21752012.398 21752008.825
+ 1051.934 819.693 51.718 45.417
+ -18401747.905 -14323746.372 21294831.789 21294831.620 21294831.575
+ 1949.275 1518.921 51.023 45.765
+ -8926429.405 -6942443.144 23268300.378 23268302.155 23268301.035
+ -2995.726 -2334.320 47.896 41.422
+ -3376584.186 -2585275.054 23733318.059 23733321.440 23733319.062
+ -3143.298 -2449.313 48.244 42.985
+ -5300402.828 -4121810.770 23873729.595 23873733.188 23873728.821
+ 1965.300 1531.393 47.722 41.422
+ -14495989.865 -11040720.366 22276708.037 22276710.775 22276708.095
+ 2973.430 2316.965 50.676 44.896
+ 03 8 2 0 23 49.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24323040.055 -18941160.676 20456599.179 20456601.132 20456599.114
+ 167.322 130.378 52.065 47.676
+ -14754264.277 -11468443.632 22173130.727 22173134.024 22173131.610
+ -1978.206 -1541.458 50.676 45.417
+ -17445769.951 -13582459.048 21751708.974 21751712.437 21751708.627
+ 1051.088 819.036 51.718 45.417
+ -18404671.562 -14326024.544 21294275.365 21294275.512 21294275.220
+ 1948.684 1518.450 51.023 45.765
+ -8921935.962 -6938941.755 23269155.260 23269157.067 23269155.965
+ -2995.878 -2334.452 47.896 41.595
+ -3371869.353 -2581601.161 23734215.293 23734219.005 23734216.298
+ -3143.420 -2449.408 48.244 42.985
+ -5303351.182 -4124108.182 23873168.460 23873172.797 23873167.635
+ 1965.406 1531.496 47.722 41.422
+ -14500449.861 -11044195.687 22275859.402 22275862.189 22275859.470
+ 2972.996 2316.621 50.676 44.722
+ 03 8 2 0 23 51.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24323290.520 -18941355.843 20456551.468 20456553.647 20456551.471
+ 166.365 129.629 52.065 47.676
+ -14751296.875 -11466131.370 22173695.591 22173698.516 22173696.222
+ -1978.610 -1541.776 50.676 45.417
+ -17447346.044 -13583687.171 21751409.116 21751412.366 21751408.747
+ 1050.084 818.241 51.718 45.417
+ -18407594.233 -14328301.953 21293719.275 21293719.433 21293718.970
+ 1947.926 1517.861 51.023 45.765
+ -8917442.215 -6935440.134 23270010.565 23270011.621 23270010.931
+ -2996.149 -2334.680 47.896 41.595
+ -3367154.309 -2577927.099 23735112.244 23735116.166 23735113.613
+ -3143.612 -2449.570 48.244 42.985
+ -5306299.516 -4126405.582 23872607.284 23872610.741 23872606.465
+ 1965.289 1531.379 47.722 41.595
+ -14504909.131 -11047670.438 22275010.885 22275013.635 22275010.990
+ 2972.381 2316.131 50.676 44.722
+ 03 8 2 0 23 52.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24323539.959 -18941550.211 20456503.958 20456505.968 20456504.069
+ 165.890 129.265 52.065 47.676
+ -14748329.266 -11463818.956 22174260.035 22174263.537 22174260.804
+ -1978.504 -1541.695 50.676 45.417
+ -17448921.028 -13584914.430 21751109.662 21751112.730 21751109.123
+ 1049.556 817.833 51.718 45.417
+ -18410516.153 -14330578.771 21293163.180 21293163.488 21293162.963
+ 1947.639 1517.632 51.023 45.765
+ -8912948.383 -6931938.445 23270865.773 23270867.616 23270865.939
+ -2996.014 -2334.550 47.896 41.595
+ -3362439.240 -2574253.027 23736009.825 23736013.484 23736010.922
+ -3143.430 -2449.422 48.244 42.985
+ -5309248.140 -4128703.221 23872046.247 23872049.484 23872045.127
+ 1965.662 1531.695 47.722 41.595
+ -14509367.896 -11051144.801 22274162.367 22274165.155 22274162.642
+ 2972.244 2316.025 50.676 44.896
+ 03 8 2 0 23 54.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24323788.071 -18941743.545 20456456.543 20456458.898 20456456.924
+ 165.181 128.718 52.065 47.676
+ -14745361.142 -11461506.131 22174824.727 22174827.893 22174825.424
+ -1978.706 -1541.843 50.676 45.417
+ -17450494.601 -13586140.591 21750810.267 21750813.428 21750809.809
+ 1048.798 817.249 51.718 45.591
+ -18413437.033 -14332854.780 21292607.317 21292607.684 21292607.125
+ 1947.109 1517.232 51.023 45.765
+ -8908454.181 -6928436.470 23271721.261 23271723.059 23271721.125
+ -2996.050 -2334.573 47.896 41.422
+ -3357723.907 -2570578.742 23736907.079 23736910.757 23736908.270
+ -3143.409 -2449.414 48.244 42.985
+ -5312196.723 -4131000.813 23871485.499 23871488.287 23871483.798
+ 1965.772 1531.773 47.722 41.422
+ -14513825.843 -11054618.526 22273314.190 22273316.726 22273314.470
+ 2971.884 2315.756 50.676 44.722
+ 03 8 2 0 23 55.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24324034.883 -18941935.866 20456409.862 20456411.769 20456409.995
+ 164.056 127.836 52.065 47.676
+ -14742392.560 -11459192.950 22175389.642 22175392.716 22175390.194
+ -1979.284 -1542.295 50.676 45.417
+ -17452066.781 -13587365.664 21750511.074 21750514.040 21750510.810
+ 1047.587 816.292 51.718 45.417
+ -18416356.889 -14335129.994 21292051.501 21292051.774 21292051.602
+ 1946.150 1516.478 51.023 45.765
+ -8903959.651 -6924934.244 23272576.021 23272577.900 23272576.351
+ -2996.597 -2335.000 47.896 41.769
+ -3353008.292 -2566904.239 23737804.321 23737807.577 23737805.758
+ -3143.876 -2449.773 48.244 42.985
+ -5315145.362 -4133298.452 23870924.335 23870927.223 23870922.606
+ 1965.711 1531.708 47.722 41.422
+ -14518283.021 -11058091.650 22272465.943 22272468.432 22272466.383
+ 2971.117 2315.150 50.676 44.722
+ 03 8 2 0 23 57.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24324280.521 -18942127.273 20456362.981 20456365.142 20456363.212
+ 162.968 126.979 52.065 47.676
+ -14739423.636 -11456879.506 22175954.616 22175958.111 22175955.085
+ -1979.801 -1542.707 50.676 45.417
+ -17453637.707 -13588589.762 21750212.327 21750215.355 21750212.082
+ 1046.447 815.411 51.718 45.591
+ -18419275.863 -14337404.517 21291496.095 21291496.562 21291496.175
+ 1945.283 1515.792 51.023 45.765
+ -8899464.895 -6921431.839 23273431.596 23273433.818 23273431.672
+ -2997.082 -2335.391 47.896 41.595
+ -3348292.539 -2563229.631 23738701.745 23738705.774 23738703.216
+ -3144.294 -2450.113 48.244 42.985
+ -5318094.068 -4135596.142 23870363.474 23870366.677 23870361.391
+ 1965.360 1531.456 47.722 41.595
+ -14522739.561 -11061564.276 22271617.987 22271620.118 22271618.390
+ 2970.394 2314.584 50.676 44.722
+ 03 8 2 0 23 58.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24324525.056 -18942317.821 20456316.518 20456318.736 20456316.711
+ 163.130 127.122 52.065 47.676
+ -14736454.419 -11454565.832 22176519.717 22176522.953 22176520.050
+ -1979.110 -1542.154 50.676 45.417
+ -17455207.444 -13589812.935 21749913.792 21749916.874 21749913.523
+ 1046.589 815.535 51.718 45.417
+ -18422194.020 -14339678.406 21290940.924 21290941.161 21290940.849
+ 1945.671 1516.120 51.023 45.938
+ -8894970.026 -6917929.345 23274286.871 23274289.093 23274287.047
+ -2996.158 -2334.658 47.896 41.595
+ -3343576.728 -2559554.978 23739599.330 23739602.764 23739600.614
+ -3143.405 -2449.396 48.244 42.985
+ -5321042.988 -4137894.007 23869802.245 23869805.413 23869800.212
+ 1966.423 1532.293 47.896 41.595
+ -14527195.518 -11065036.454 22270770.296 22270772.684 22270770.556
+ 2970.904 2315.000 50.849 44.722
+ 03 8 2 0 24 0.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24324768.022 -18942507.142 20456270.284 20456272.295 20456270.503
+ 161.395 125.751 52.065 47.676
+ -14733484.470 -11452251.588 22177084.968 22177088.424 22177085.203
+ -1980.263 -1543.068 50.676 45.417
+ -17456775.521 -13591034.809 21749615.082 21749618.345 21749615.272
+ 1044.762 814.090 51.718 45.417
+ -18425110.872 -14341951.275 21290385.690 21290386.100 21290385.725
+ 1944.082 1514.861 51.023 45.765
+ -8890474.539 -6914426.374 23275142.422 23275143.590 23275142.576
+ -2997.315 -2335.560 47.896 41.595
+ -3338860.390 -2555879.918 23740496.531 23740500.574 23740498.154
+ -3144.390 -2450.177 48.417 43.159
+ -5323991.619 -4140191.644 23869241.223 23869244.435 23869239.288
+ 1965.491 1531.550 47.896 41.595
+ -14531650.424 -11068507.808 22269922.126 22269924.650 22269922.857
+ 2969.506 2313.888 50.849 44.722
+ 03 8 2 0 24 1.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24325010.077 -18942695.758 20456224.245 20456226.290 20456224.535
+ 160.562 125.107 52.065 47.676
+ -14730514.432 -11449937.276 22177650.041 22177653.288 22177650.397
+ -1980.563 -1543.301 50.676 45.417
+ -17458342.607 -13592255.915 21749317.139 21749319.954 21749317.210
+ 1043.895 813.409 51.718 45.417
+ -18428027.109 -14344223.670 21289830.793 21289830.903 21289830.738
+ 1943.446 1514.369 51.023 45.765
+ -8885979.116 -6910923.449 23275997.672 23275999.976 23275997.957
+ -2997.462 -2335.703 47.896 41.769
+ -3334144.172 -2552204.943 23741394.360 23741398.464 23741395.619
+ -3144.588 -2450.332 48.417 42.985
+ -5326940.615 -4142489.553 23868680.125 23868683.557 23868678.182
+ 1965.608 1531.631 47.896 41.595
+ -14536104.950 -11071978.870 22269074.665 22269077.315 22269075.160
+ 2969.008 2313.505 50.849 44.722
+ 03 8 2 0 24 3.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24325250.816 -18942883.349 20456178.514 20456180.614 20456178.794
+ 160.292 124.907 52.065 47.676
+ -14727543.899 -11447622.576 22178215.440 22178218.492 22178215.656
+ -1980.291 -1543.089 50.676 45.417
+ -17459908.277 -13593475.915 21749019.240 21749022.169 21749019.435
+ 1043.562 813.164 51.718 45.417
+ -18430942.311 -14346495.254 21289276.026 21289276.452 21289275.956
+ 1943.366 1514.305 51.023 45.765
+ -8881483.349 -6907420.256 23276853.674 23276855.398 23276853.397
+ -2997.026 -2335.343 48.070 41.595
+ -3329427.675 -2548529.753 23742291.995 23742295.435 23742293.154
+ -3144.181 -2450.017 48.417 42.985
+ -5329889.598 -4144787.465 23868119.049 23868122.206 23868117.144
+ 1966.191 1532.089 47.896 41.595
+ -14540558.691 -11075449.310 22268227.065 22268229.597 22268227.603
+ 2969.144 2313.613 50.849 44.896
+ 03 8 2 0 24 4.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24325490.250 -18943069.918 20456132.705 20456134.795 20456133.248
+ 159.038 123.923 52.065 47.676
+ -14724572.909 -11445307.513 22178780.903 22178783.813 22178780.997
+ -1980.951 -1543.601 50.676 45.417
+ -17461472.569 -13594694.840 21748721.512 21748724.463 21748721.894
+ 1042.247 812.134 51.718 45.591
+ -18433856.493 -14348766.046 21288721.586 21288722.030 21288721.423
+ 1942.313 1513.493 51.023 45.765
+ -8876987.213 -6903916.775 23277709.211 23277710.734 23277708.952
+ -2997.686 -2335.854 48.070 41.769
+ -3324710.937 -2544854.376 23743189.006 23743193.782 23743190.697
+ -3144.711 -2450.417 48.417 42.985
+ -5332838.558 -4147085.350 23867557.676 23867560.758 23867556.300
+ 1965.740 1531.739 47.896 41.595
+ -14545011.643 -11078919.140 22267379.627 22267382.191 22267380.228
+ 2968.202 2312.883 50.849 44.722
+ 03 8 2 0 24 6.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24325728.610 -18943255.657 20456087.399 20456089.520 20456087.898
+ 158.473 123.493 52.065 47.676
+ -14721601.658 -11442992.256 22179346.165 22179349.053 22179346.380
+ -1980.954 -1543.591 50.676 45.417
+ -17463035.700 -13595912.866 21748424.012 21748426.726 21748424.593
+ 1041.608 811.648 51.718 45.417
+ -18436769.874 -14351036.213 21288166.983 21288167.320 21288167.069
+ 1941.927 1513.202 51.023 45.765
+ -8872490.992 -6900413.228 23278564.652 23278566.339 23278564.632
+ -2997.572 -2335.781 48.070 41.595
+ -3319994.139 -2541178.953 23744086.686 23744090.770 23744088.124
+ -3144.589 -2450.300 48.417 43.159
+ -5335787.711 -4149383.395 23866996.640 23866999.561 23866995.251
+ 1966.099 1532.033 47.896 41.595
+ -14549464.054 -11082388.552 22266532.335 22266534.919 22266533.005
+ 2968.012 2312.746 50.849 44.722
+ 03 8 2 0 24 7.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927235
+ -24325965.661 -18943440.375 20456042.307 20456044.304 20456042.768
+ 158.035 123.150 52.065 47.676
+ -14718629.919 -11440676.618 22179911.751 22179914.499 22179911.825
+ -1980.884 -1543.541 50.676 45.417
+ -17464597.428 -13597129.796 21748126.768 21748129.805 21748127.491
+ 1041.126 811.270 51.718 45.417
+ -18439682.237 -14353305.583 21287612.754 21287613.182 21287612.841
+ 1941.659 1512.983 51.023 45.765
+ -8867994.406 -6896909.396 23279420.391 23279421.905 23279420.373
+ -2997.389 -2335.607 48.070 41.595
+ -3315277.085 -2537503.330 23744984.332 23744988.095 23744985.594
+ -3144.360 -2450.139 48.417 42.985
+ -5338736.829 -4151681.413 23866435.518 23866438.495 23866434.248
+ 1966.428 1532.284 47.896 41.595
+ -14553915.677 -11085857.348 22265685.320 22265687.851 22265685.896
+ 2967.916 2312.662 50.849 44.896
+ 03 8 2 0 24 9.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24326201.426 -18943624.085 20455997.461 20455999.612 20455997.874
+ 156.806 122.182 52.065 47.676
+ -14715657.727 -11438360.627 22180477.409 22180480.327 22180477.339
+ -1981.535 -1544.058 50.676 45.417
+ -17466157.790 -13598345.655 21747829.826 21747832.849 21747830.573
+ 1039.860 810.272 51.718 45.417
+ -18442593.584 -14355574.165 21287058.833 21287059.083 21287058.784
+ 1940.624 1512.172 51.023 45.765
+ -8863497.492 -6893405.308 23280275.900 23280277.001 23280276.175
+ -2997.996 -2336.099 48.070 41.422
+ -3310559.799 -2533827.528 23745882.099 23745886.092 23745883.101
+ -3144.882 -2450.552 48.417 42.985
+ -5341685.983 -4153979.452 23865874.269 23865877.140 23865873.187
+ 1966.105 1532.023 47.896 41.769
+ -14558366.529 -11089325.544 22264838.325 22264840.778 22264838.908
+ 2967.024 2311.958 50.849 44.722
+ 03 8 2 0 24 10.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24326436.103 -18943806.953 20455952.775 20455954.787 20455953.204
+ 155.946 121.514 52.065 47.676
+ -14712685.277 -11436044.433 22181042.781 22181046.204 22181042.933
+ -1981.886 -1544.330 50.676 45.417
+ -17467716.964 -13599560.598 21747533.013 21747536.032 21747533.917
+ 1038.915 809.543 51.718 45.417
+ -18445504.116 -14357842.112 21286505.055 21286505.387 21286504.845
+ 1939.944 1511.647 51.023 45.765
+ -8859000.456 -6889901.122 23281131.618 23281132.869 23281131.966
+ -2998.260 -2336.299 48.070 41.595
+ -3305842.453 -2530151.677 23746779.738 23746783.795 23746780.698
+ -3145.054 -2450.693 48.417 43.159
+ -5344635.340 -4156277.651 23865313.101 23865315.814 23865312.078
+ 1965.995 1531.932 47.896 41.769
+ -14562816.816 -11092793.301 22263991.510 22263994.015 22263991.944
+ 2966.498 2311.558 50.849 44.722
+ 03 8 2 0 24 12.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24326669.396 -18943988.740 20455908.351 20455910.627 20455908.809
+ 155.495 121.177 52.065 47.676
+ -14709712.269 -11433727.804 22181608.506 22181611.871 22181608.621
+ -1981.753 -1544.212 50.676 45.417
+ -17469274.682 -13600774.403 21747236.487 21747239.705 21747237.537
+ 1038.405 809.157 51.718 45.417
+ -18448413.542 -14360109.195 21285951.270 21285951.706 21285951.201
+ 1939.629 1511.407 51.023 45.765
+ -8854503.030 -6886396.640 23281987.520 23281989.427 23281987.879
+ -2998.027 -2336.130 48.070 41.595
+ -3301124.754 -2526475.546 23747677.259 23747681.833 23747678.322
+ -3144.802 -2450.493 48.417 42.985
+ -5347584.596 -4158575.773 23864751.815 23864754.781 23864751.008
+ 1966.477 1532.326 47.896 41.595
+ -14567266.242 -11096260.385 22263144.732 22263147.333 22263145.196
+ 2966.397 2311.490 50.849 44.896
+ 03 8 2 0 24 13.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24326901.526 -18944169.623 20455864.146 20455866.301 20455864.609
+ 154.402 120.313 52.065 47.676
+ -14706738.928 -11431410.914 22182174.475 22182177.495 22182174.348
+ -1982.269 -1544.631 50.676 45.417
+ -17470831.137 -13601987.223 21746940.323 21746943.271 21746941.393
+ 1037.236 808.235 51.718 45.417
+ -18451322.086 -14362375.590 21285397.845 21285398.190 21285397.744
+ 1938.762 1510.724 51.023 45.765
+ -8850005.384 -6882891.985 23282843.513 23282844.961 23282843.680
+ -2998.478 -2336.488 48.070 41.769
+ -3296406.944 -2522799.338 23748575.171 23748579.339 23748576.018
+ -3145.215 -2450.805 48.591 42.985
+ -5350533.986 -4160873.991 23864190.421 23864193.612 23864189.774
+ 1966.327 1532.202 47.896 41.595
+ -14571715.031 -11099726.971 22262298.101 22262300.925 22262298.562
+ 2965.666 2310.906 50.849 44.896
+ 03 8 2 0 24 15.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24327132.371 -18944349.498 20455820.122 20455822.415 20455820.623
+ 153.257 119.417 52.065 47.676
+ -14703765.117 -11429093.658 22182740.152 22182743.492 22182740.206
+ -1982.855 -1545.084 50.676 45.417
+ -17472386.216 -13603198.970 21746644.422 21746647.359 21746645.472
+ 1036.041 807.304 51.718 45.417
+ -18454229.609 -14364641.193 21284844.622 21284844.830 21284844.514
+ 1937.804 1509.973 51.023 45.765
+ -8845507.416 -6879387.069 23283698.955 23283700.900 23283699.642
+ -2998.986 -2336.875 48.070 41.769
+ -3291688.890 -2519122.931 23749472.814 23749477.232 23749473.772
+ -3145.633 -2451.155 48.591 43.159
+ -5353483.374 -4163172.208 23863628.626 23863632.313 23863628.446
+ 1965.973 1531.922 47.896 41.595
+ -14576163.069 -11103192.973 22261451.735 22261454.600 22261452.060
+ 2964.900 2310.305 50.849 44.896
+ 03 8 2 0 24 16.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24327362.141 -18944528.542 20455776.595 20455778.641 20455776.872
+ 152.838 119.098 52.065 47.676
+ -14700791.084 -11426776.233 22183306.189 22183309.473 22183306.036
+ -1982.697 -1544.953 50.676 45.244
+ -17473940.134 -13604409.813 21746348.468 21746351.133 21746349.734
+ 1035.584 806.946 51.718 45.417
+ -18457136.340 -14366906.180 21284291.395 21284291.739 21284291.406
+ 1937.599 1509.821 51.023 45.765
+ -8841009.355 -6875882.099 23284555.338 23284556.811 23284555.573
+ -2998.748 -2336.683 48.070 41.769
+ -3286970.796 -2515446.505 23750370.609 23750374.977 23750371.531
+ -3145.325 -2450.890 48.591 42.985
+ -5356432.982 -4165470.602 23863067.652 23863071.323 23863067.168
+ 1966.430 1532.279 47.896 41.595
+ -14580610.541 -11106658.536 22260605.395 22260608.201 22260605.616
+ 2964.782 2310.220 50.849 44.896
+ 03 8 2 0 24 18.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24327590.585 -18944706.551 20455733.061 20455735.197 20455733.365
+ 152.003 118.447 52.065 47.676
+ -14697816.525 -11424458.395 22183872.116 22183875.366 22183871.962
+ -1983.050 -1545.231 50.676 45.417
+ -17475492.628 -13605619.551 21746052.997 21746055.789 21746054.248
+ 1034.689 806.253 51.718 45.417
+ -18460042.014 -14369170.339 21283738.456 21283739.073 21283738.524
+ 1936.916 1509.283 51.023 45.938
+ -8836510.935 -6872376.837 23285411.371 23285412.489 23285411.794
+ -2998.909 -2336.792 48.070 41.595
+ -3282252.419 -2511769.855 23751268.437 23751272.709 23751269.350
+ -3145.545 -2451.079 48.591 43.159
+ -5359382.573 -4167768.985 23862506.298 23862509.212 23862505.848
+ 1966.511 1532.355 47.896 41.769
+ -14585057.202 -11110123.464 22259759.243 22259761.907 22259759.315
+ 2964.305 2309.854 50.849 44.896
+ 03 8 2 0 24 19.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24327817.817 -18944883.617 20455689.792 20455691.948 20455690.086
+ 150.969 117.637 52.065 47.676
+ -14694841.591 -11422140.267 22184438.231 22184441.713 22184437.976
+ -1983.578 -1545.650 50.676 45.417
+ -17477043.828 -13606828.277 21745757.917 21745761.025 21745759.023
+ 1033.575 805.374 51.718 45.417
+ -18462946.776 -14371433.791 21283185.704 21283186.087 21283185.735
+ 1936.063 1508.616 51.023 45.765
+ -8832012.264 -6868871.383 23286267.484 23286268.597 23286267.988
+ -2999.324 -2337.128 48.070 41.595
+ -3277533.881 -2508093.073 23752166.400 23752170.631 23752167.157
+ -3145.889 -2451.337 48.591 42.985
+ -5362332.232 -4170067.418 23861944.694 23861947.473 23861944.618
+ 1966.254 1532.129 47.896 41.595
+ -14589503.155 -11113587.843 22258913.080 22258916.018 22258913.234
+ 2963.543 2309.257 50.849 44.896
+ 03 8 2 0 24 21.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24328043.785 -18945059.695 20455646.782 20455648.884 20455647.075
+ 150.299 117.119 52.065 47.676
+ -14691866.231 -11419821.806 22185004.320 22185007.657 22185004.079
+ -1983.640 -1545.686 50.676 45.417
+ -17478593.680 -13608035.953 21745463.041 21745465.864 21745464.061
+ 1032.891 804.852 51.718 45.417
+ -18465850.551 -14373696.476 21282633.267 21282633.616 21282633.123
+ 1935.609 1508.270 51.023 45.765
+ -8827513.285 -6865365.685 23287123.515 23287124.706 23287124.226
+ -2999.346 -2337.140 48.070 41.595
+ -3272815.125 -2504416.121 23753064.484 23753068.119 23753065.008
+ -3145.836 -2451.284 48.591 42.985
+ -5365281.898 -4172365.858 23861383.503 23861386.242 23861383.392
+ 1966.531 1532.368 47.896 41.595
+ -14593948.380 -11117051.655 22258067.123 22258070.057 22258067.330
+ 2963.256 2309.038 50.849 44.896
+ 03 8 2 0 24 22.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24328268.570 -18945234.852 20455604.059 20455606.336 20455604.292
+ 149.437 116.437 52.065 47.676
+ -14688890.519 -11417503.069 22185570.539 22185574.531 22185570.254
+ -1983.940 -1545.932 50.676 45.417
+ -17480142.259 -13609242.634 21745168.191 21745171.008 21745169.303
+ 1031.925 804.091 51.718 45.244
+ -18468753.412 -14375958.443 21282080.762 21282081.195 21282080.684
+ 1934.931 1507.728 51.023 45.765
+ -8823014.115 -6861859.832 23287979.649 23287981.820 23287980.488
+ -2999.528 -2337.296 48.070 41.595
+ -3268096.224 -2500739.057 23753962.497 23753966.332 23753962.889
+ -3145.971 -2451.408 48.591 42.985
+ -5368231.688 -4174664.398 23860822.527 23860825.338 23860822.173
+ 1966.526 1532.352 47.896 41.595
+ -14598392.949 -11120514.953 22257221.578 22257224.321 22257221.540
+ 2962.803 2308.677 50.849 44.896
+ 03 8 2 0 24 24.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24328492.098 -18945409.032 20455561.439 20455563.690 20455561.740
+ 148.422 115.658 52.065 47.676
+ -14685914.372 -11415183.999 22186136.858 22186140.302 22186136.592
+ -1984.398 -1546.273 50.676 45.417
+ -17481689.484 -13610448.263 21744873.716 21744876.817 21744874.762
+ 1030.865 803.272 51.718 45.417
+ -18471655.295 -14378219.654 21281528.643 21281529.030 21281528.458
+ 1934.088 1507.083 51.023 45.938
+ -8818514.641 -6858353.755 23288835.987 23288837.654 23288836.774
+ -2999.874 -2337.553 48.070 41.595
+ -3263377.104 -2497061.829 23754860.419 23754863.978 23754860.815
+ -3146.314 -2451.681 48.591 43.159
+ -5371181.531 -4176962.970 23860260.969 23860263.855 23860261.063
+ 1966.326 1532.187 47.896 41.769
+ -14602836.775 -11123977.673 22256375.793 22256378.462 22256375.834
+ 2962.110 2308.133 50.849 44.896
+ 03 8 2 0 24 25.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24328714.435 -18945582.280 20455519.231 20455521.359 20455519.441
+ 147.725 115.113 52.065 47.676
+ -14682937.867 -11412864.645 22186703.316 22186707.167 22186703.003
+ -1984.509 -1546.367 50.676 45.417
+ -17483235.425 -13611652.889 21744579.701 21744582.811 21744580.488
+ 1030.092 802.670 51.718 45.417
+ -18474556.278 -14380480.159 21280976.584 21280976.892 21280976.450
+ 1933.558 1506.666 51.023 45.765
+ -8814014.944 -6854847.499 23289691.957 23289693.996 23289693.107
+ -2999.993 -2337.636 48.070 41.595
+ -3258657.851 -2493384.496 23755758.633 23755762.372 23755758.886
+ -3146.309 -2451.661 48.591 42.985
+ -5374131.477 -4179261.624 23859699.733 23859702.188 23859699.911
+ 1966.465 1532.310 47.896 41.595
+ -14607279.933 -11127439.874 22255530.333 22255532.992 22255530.267
+ 2961.765 2307.863 50.849 44.896
+ 03 8 2 0 24 27.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24328935.618 -18945754.634 20455477.193 20455479.248 20455477.352
+ 147.170 114.688 52.065 47.676
+ -14679961.043 -11410545.044 22187269.809 22187273.245 22187269.427
+ -1984.513 -1546.360 50.676 45.417
+ -17484780.133 -13612856.560 21744285.779 21744288.503 21744286.414
+ 1029.495 802.209 51.718 45.417
+ -18477456.376 -14382739.973 21280424.846 21280425.010 21280424.607
+ 1933.215 1506.408 51.023 45.765
+ -8809515.070 -6851341.106 23290548.368 23290550.328 23290549.433
+ -2999.862 -2337.566 48.070 41.595
+ -3253938.480 -2489707.066 23756656.566 23756660.663 23756657.083
+ -3146.155 -2451.550 48.765 42.985
+ -5377081.522 -4181560.371 23859138.535 23859141.077 23859138.715
+ 1966.786 1532.546 47.896 41.595
+ -14611722.443 -11130901.569 22254684.839 22254688.009 22254684.847
+ 2961.537 2307.690 50.849 44.896
+ 03 8 2 0 24 28.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24329155.334 -18945925.836 20455435.218 20455437.568 20455435.548
+ 145.940 113.719 52.065 47.676
+ -14676983.576 -11408224.939 22187836.409 22187839.726 22187836.067
+ -1985.212 -1546.913 50.676 45.417
+ -17486323.273 -13614059.006 21743992.180 21743994.740 21743992.696
+ 1028.176 801.180 51.718 45.244
+ -18480355.284 -14384998.861 21279873.127 21279873.177 21279872.996
+ 1932.173 1505.580 51.023 45.765
+ -8805014.699 -6847834.318 23291405.097 23291406.598 23291405.914
+ -3000.431 -2337.985 48.070 41.595
+ -3249218.699 -2486029.317 23757554.925 23757558.093 23757555.419
+ -3146.698 -2451.989 48.765 42.985
+ -5380031.412 -4183858.973 23858577.340 23858579.699 23858577.464
+ 1966.481 1532.319 47.896 41.595
+ -14616164.014 -11134362.531 22253839.783 22253842.911 22253839.676
+ 2960.657 2307.003 50.849 44.896
+ 03 8 2 0 24 30.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24329374.070 -18946096.286 20455393.764 20455395.876 20455393.972
+ 145.303 113.226 52.065 47.676
+ -14674005.970 -11405904.731 22188403.084 22188406.286 22188402.735
+ -1985.302 -1546.988 50.676 45.417
+ -17487865.351 -13615260.627 21743698.734 21743701.348 21743699.205
+ 1027.489 800.638 51.718 45.417
+ -18483253.487 -14387257.202 21279321.829 21279321.838 21279321.495
+ 1931.702 1505.219 51.023 45.938
+ -8800514.314 -6844327.531 23292261.333 23292262.407 23292262.368
+ -3000.438 -2337.990 48.070 41.595
+ -3244498.983 -2482351.623 23758453.209 23758456.426 23758453.709
+ -3146.662 -2451.934 48.765 43.159
+ -5382981.630 -4186157.852 23858016.164 23858018.852 23858016.249
+ 1966.703 1532.501 47.896 41.595
+ -14620605.124 -11137823.137 22252994.799 22252997.655 22252994.601
+ 2960.380 2306.795 50.849 45.070
+ 03 8 2 0 24 31.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24329591.489 -18946265.703 20455352.331 20455354.565 20455352.626
+ 144.533 112.620 52.065 47.676
+ -14671027.879 -11403584.141 22188969.919 22188973.342 22188969.453
+ -1985.468 -1547.114 50.676 45.417
+ -17489406.025 -13616461.148 21743405.477 21743408.072 21743405.987
+ 1026.677 800.003 51.718 45.244
+ -18486150.662 -14389514.743 21278770.524 21278770.740 21278770.171
+ 1931.156 1504.793 51.023 45.938
+ -8796013.592 -6840820.473 23293117.958 23293119.087 23293118.778
+ -3000.622 -2338.131 48.070 41.595
+ -3239779.021 -2478673.734 23759351.782 23759354.703 23759352.065
+ -3146.700 -2451.970 48.765 42.985
+ -5385931.818 -4188456.700 23857454.916 23857456.784 23857454.963
+ 1966.746 1532.522 47.896 41.422
+ -14625045.448 -11141283.128 22252149.788 22252152.433 22252149.670
+ 2959.950 2306.446 50.849 45.070
+ 03 8 2 0 24 33.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24329807.652 -18946434.144 20455311.349 20455313.279 20455311.525
+ 143.852 112.100 52.065 47.676
+ -14668049.363 -11401263.221 22189536.565 22189539.773 22189536.289
+ -1985.638 -1547.240 50.676 45.244
+ -17490945.343 -13617660.618 21743112.542 21743115.185 21743112.978
+ 1025.930 799.441 51.718 45.244
+ -18489046.857 -14391771.517 21278219.180 21278219.553 21278219.056
+ 1930.648 1504.411 51.023 45.765
+ -8791512.589 -6837313.205 23293974.364 23293975.981 23293975.299
+ -3000.541 -2338.066 48.070 41.595
+ -3235058.844 -2474995.678 23760249.924 23760253.139 23760250.469
+ -3146.670 -2451.939 48.765 42.985
+ -5388882.016 -4190755.550 23856893.815 23856895.824 23856893.751
+ 1966.880 1532.646 47.896 41.595
+ -14629485.031 -11144742.539 22251304.932 22251307.805 22251304.831
+ 2959.622 2306.200 50.849 45.070
+ 03 8 2 0 24 34.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24330022.571 -18946601.612 20455270.418 20455272.343 20455270.651
+ 142.972 111.406 52.065 47.676
+ -14665070.439 -11398941.982 22190103.367 22190106.886 22190103.190
+ -1985.972 -1547.505 50.676 45.417
+ -17492483.338 -13618859.058 21742820.080 21742822.305 21742820.235
+ 1025.005 798.711 51.718 45.244
+ -18491942.084 -14394027.537 21277668.380 21277668.561 21277668.145
+ 1929.917 1503.833 51.023 45.765
+ -8787011.298 -6833805.708 23294831.025 23294832.248 23294831.933
+ -3000.847 -2338.335 48.070 41.595
+ -3230338.472 -2471317.466 23761148.153 23761151.702 23761148.802
+ -3146.866 -2452.103 48.765 43.159
+ -5391832.264 -4193054.451 23856332.799 23856334.324 23856332.634
+ 1966.868 1532.629 47.896 41.595
+ -14633923.886 -11148201.383 22250460.124 22250462.973 22250460.143
+ 2959.094 2305.791 51.023 45.070
+ 03 8 2 0 24 36.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24330236.169 -18946768.052 20455229.709 20455231.881 20455230.067
+ 141.845 110.527 52.065 47.676
+ -14662091.021 -11396620.358 22190670.487 22190673.768 22190670.161
+ -1986.585 -1547.990 50.676 45.244
+ -17494019.920 -13620056.391 21742527.814 21742530.171 21742527.813
+ 1023.788 797.754 51.718 45.244
+ -18494836.262 -14396282.740 21277117.603 21277117.721 21277117.469
+ 1928.969 1503.090 51.023 45.938
+ -8782509.667 -6830297.940 23295687.377 23295689.776 23295688.554
+ -3001.271 -2338.647 48.070 41.595
+ -3225617.829 -2467639.048 23762046.444 23762049.928 23762047.171
+ -3147.301 -2452.441 48.938 43.159
+ -5394782.485 -4195353.325 23855771.195 23855772.401 23855771.439
+ 1966.595 1532.423 47.896 41.595
+ -14638361.938 -11151659.610 22249615.701 22249618.382 22249615.589
+ 2958.317 2305.181 51.023 45.070
+ 03 8 2 0 24 37.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24330448.794 -18946933.735 20455189.232 20455191.416 20455189.644
+ 141.305 110.113 52.065 47.676
+ -14659111.479 -11394298.641 22191237.543 22191240.760 22191237.241
+ -1986.508 -1547.921 50.676 45.417
+ -17495555.442 -13621252.902 21742235.332 21742238.028 21742235.544
+ 1023.198 797.298 51.718 45.244
+ -18497729.768 -14398537.422 21276567.061 21276567.236 21276566.923
+ 1928.649 1502.851 51.023 45.938
+ -8778008.037 -6826790.177 23296544.396 23296545.771 23296545.341
+ -3001.213 -2338.609 48.070 41.595
+ -3220897.281 -2463960.708 23762944.864 23762948.288 23762945.516
+ -3147.111 -2452.274 48.938 43.159
+ -5397733.030 -4197652.456 23855209.834 23855211.354 23855210.307
+ 1967.004 1532.730 47.896 41.595
+ -14642799.524 -11155117.468 22248771.229 22248774.158 22248771.261
+ 2958.084 2305.004 51.023 45.070
+ 03 8 2 0 24 39.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24330659.921 -18947098.246 20455149.003 20455151.110 20455149.485
+ 140.310 109.330 52.065 47.676
+ -14656131.279 -11391976.405 22191804.604 22191807.976 22191804.444
+ -1986.930 -1548.258 50.676 45.244
+ -17497089.376 -13622448.173 21741943.486 21741945.913 21741943.589
+ 1022.127 796.459 51.718 45.244
+ -18500622.035 -14400791.132 21276016.711 21276017.016 21276016.557
+ 1927.838 1502.207 51.023 45.938
+ -8773505.868 -6823281.990 23297401.225 23297402.259 23297402.218
+ -3001.579 -2338.895 48.070 41.595
+ -3216176.280 -2460282.003 23763843.081 23763846.463 23763843.978
+ -3147.449 -2452.560 48.938 43.159
+ -5400683.381 -4199951.427 23854648.064 23854650.079 23854649.147
+ 1966.764 1532.530 48.070 41.595
+ -14647236.135 -11158574.558 22247926.889 22247930.139 22247927.068
+ 2957.454 2304.504 51.023 45.070
+ 03 8 2 0 24 40.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24330869.961 -18947261.917 20455109.065 20455111.301 20455109.519
+ 139.361 108.593 52.065 47.676
+ -14653150.804 -11389653.959 22192371.871 22192374.902 22192371.720
+ -1987.327 -1548.567 50.676 45.244
+ -17498622.138 -13623642.535 21741651.737 21741654.320 21741651.942
+ 1021.156 795.706 51.718 45.417
+ -18503513.496 -14403044.215 21275466.374 21275466.550 21275466.373
+ 1927.076 1501.614 51.023 45.938
+ -8769003.599 -6819773.732 23298257.890 23298259.522 23298259.063
+ -3001.878 -2339.119 48.070 41.595
+ -3211455.250 -2456603.278 23764741.694 23764744.709 23764742.374
+ -3147.684 -2452.736 48.938 43.159
+ -5403633.955 -4202250.570 23854086.655 23854088.209 23854087.984
+ 1966.746 1532.524 48.070 41.595
+ -14651672.161 -11162031.205 22247082.841 22247085.628 22247083.016
+ 2956.808 2304.005 51.023 45.070
+ 03 8 2 0 24 42.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24331078.867 -18947424.703 20455069.384 20455071.619 20455069.753
+ 139.209 108.485 52.065 47.676
+ -14650170.045 -11387331.291 22192939.256 22192942.375 22192939.116
+ -1986.971 -1548.285 50.676 45.244
+ -17500153.667 -13624835.935 21741360.511 21741363.228 21741360.548
+ 1020.927 795.537 51.718 45.244
+ -18506404.094 -14405296.631 21274916.259 21274916.836 21274916.331
+ 1927.090 1501.635 51.023 45.765
+ -8764501.187 -6816265.354 23299114.740 23299116.802 23299116.031
+ -3001.370 -2338.721 48.070 41.595
+ -3206734.127 -2452924.486 23765639.849 23765643.031 23765640.755
+ -3147.132 -2452.304 48.938 43.159
+ -5406584.683 -4204549.832 23853525.082 23853527.253 23853526.652
+ 1967.459 1533.091 48.070 41.595
+ -14656107.599 -11165487.389 22246238.809 22246241.685 22246239.052
+ 2957.040 2304.194 51.023 45.070
+ 03 8 2 0 24 43.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24331286.368 -18947586.393 20455029.809 20455032.121 20455030.239
+ 137.928 107.480 52.065 47.676
+ -14647188.714 -11385008.182 22193506.526 22193509.792 22193506.548
+ -1987.672 -1548.827 50.676 45.244
+ -17501683.712 -13626028.179 21741069.447 21741071.846 21741069.417
+ 1019.630 794.521 51.718 45.244
+ -18509293.577 -14407548.177 21274366.316 21274366.911 21274366.529
+ 1926.034 1500.809 51.023 45.938
+ -8759998.345 -6812756.652 23299971.994 23299973.460 23299972.962
+ -3001.989 -2339.198 48.070 41.769
+ -3202012.661 -2449245.420 23766538.211 23766542.518 23766539.244
+ -3147.696 -2452.748 48.938 43.159
+ -5409535.307 -4206849.025 23852963.340 23852965.714 23852965.244
+ 1967.054 1532.784 48.070 41.769
+ -14660542.158 -11168942.888 22245395.023 22245398.128 22245395.251
+ 2956.134 2303.484 51.023 45.070
+ 03 8 2 0 24 45.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24331492.694 -18947747.168 20454990.683 20454992.694 20454990.964
+ 137.351 107.037 52.065 47.676
+ -14644207.048 -11382684.806 22194074.016 22194077.254 22194074.003
+ -1987.707 -1548.856 50.676 45.244
+ -17503212.488 -13627219.435 21740778.413 21740780.954 21740778.550
+ 1018.954 793.995 51.718 45.244
+ -18512182.149 -14409799.013 21273816.654 21273817.061 21273816.804
+ 1925.616 1500.484 51.023 45.938
+ -8755495.283 -6809247.782 23300828.847 23300829.615 23300829.931
+ -3001.950 -2339.173 48.070 41.769
+ -3197291.083 -2445566.274 23767436.817 23767440.406 23767437.724
+ -3147.586 -2452.674 48.938 43.159
+ -5412486.024 -4209148.283 23852402.057 23852403.901 23852403.831
+ 1967.304 1532.947 48.070 41.595
+ -14664976.043 -11172397.861 22244551.292 22244554.312 22244551.609
+ 2955.852 2303.266 51.023 45.070
+ 03 8 2 0 24 46.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24331697.770 -18947906.964 20454951.593 20454953.756 20454951.912
+ 136.268 106.177 52.065 47.676
+ -14641224.975 -11380361.109 22194641.450 22194644.572 22194641.560
+ -1988.199 -1549.240 50.676 45.244
+ -17504739.925 -13628409.644 21740487.563 21740490.197 21740487.903
+ 1017.823 793.100 51.718 45.417
+ -18515069.751 -14412049.088 21273267.183 21273268.030 21273267.310
+ 1924.709 1499.766 51.023 45.938
+ -8750991.960 -6805738.695 23301685.495 23301687.147 23301686.876
+ -3002.288 -2339.446 48.070 41.769
+ -3192569.308 -2441886.975 23768335.463 23768339.061 23768336.266
+ -3147.909 -2452.912 48.938 43.333
+ -5415436.806 -4211447.591 23851840.738 23851842.347 23851842.247
+ 1967.121 1532.802 48.070 41.595
+ -14669409.196 -11175852.260 22243707.713 22243710.667 22243708.132
+ 2955.133 2302.692 51.023 45.070
+ 03 8 2 0 24 48.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24331901.530 -18948065.737 20454912.734 20454915.034 20454913.115
+ 134.986 105.174 52.065 47.676
+ -14638242.413 -11378037.035 22195208.908 22195211.988 22195209.173
+ -1988.918 -1549.816 50.676 45.244
+ -17506265.959 -13629598.761 21740197.220 21740200.058 21740197.536
+ 1016.478 792.057 51.718 45.244
+ -18517956.309 -14414298.354 21272717.954 21272718.665 21272717.968
+ 1923.632 1498.929 51.023 45.938
+ -8746488.309 -6802229.355 23302542.637 23302543.666 23302543.906
+ -3002.951 -2339.974 48.070 41.769
+ -3187847.269 -2438207.467 23769233.916 23769237.438 23769234.796
+ -3148.495 -2453.386 49.112 43.159
+ -5418387.582 -4213746.899 23851279.165 23851281.272 23851280.611
+ 1966.649 1532.441 48.070 41.595
+ -14673841.552 -11179306.040 22242864.418 22242867.236 22242864.758
+ 2954.206 2301.970 51.023 45.070
+ 03 8 2 0 24 49.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24332104.236 -18948223.691 20454874.120 20454876.405 20454874.551
+ 134.813 105.046 52.065 47.676
+ -14635259.628 -11375712.790 22195776.760 22195779.704 22195776.804
+ -1988.507 -1549.486 50.676 45.244
+ -17507790.862 -13630786.995 21739907.020 21739909.755 21739907.356
+ 1016.251 791.880 51.718 45.244
+ -18520842.102 -14416547.026 21272168.806 21272168.915 21272168.779
+ 1923.639 1498.943 51.023 45.938
+ -8741984.540 -6798719.925 23303399.550 23303400.657 23303400.912
+ -3002.516 -2339.625 48.070 41.769
+ -3183125.237 -2434527.963 23770132.606 23770136.315 23770133.453
+ -3147.977 -2452.968 49.112 43.159
+ -5421338.591 -4216046.376 23850717.290 23850720.032 23850718.921
+ 1967.408 1533.044 48.070 41.595
+ -14678273.360 -11182759.395 22242020.909 22242023.790 22242021.528
+ 2954.367 2302.110 51.023 45.244
+ 03 8 2 0 24 51.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24332305.632 -18948380.623 20454835.763 20454838.001 20454836.166
+ 133.960 104.383 52.065 47.676
+ -14632276.371 -11373388.176 22196344.494 22196347.299 22196344.530
+ -1988.869 -1549.768 50.676 45.244
+ -17509314.341 -13631974.120 21739617.029 21739619.908 21739617.423
+ 1015.314 791.150 51.718 45.244
+ -18523726.854 -14418794.880 21271619.941 21271620.619 21271619.721
+ 1922.948 1498.398 51.023 45.938
+ -8737480.454 -6795210.257 23304256.610 23304257.748 23304258.017
+ -3002.689 -2339.744 48.070 41.769
+ -3178402.936 -2430848.248 23771031.024 23771034.675 23771032.139
+ -3148.200 -2453.152 49.112 43.333
+ -5424289.553 -4218345.829 23850155.680 23850157.658 23850157.199
+ 1967.327 1532.972 48.070 41.595
+ -14682704.368 -11186212.128 22241177.820 22241180.654 22241178.472
+ 2953.847 2301.697 51.023 45.244
+ 03 8 2 0 24 52.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24332505.827 -18948536.621 20454797.734 20454799.901 20454798.040
+ 132.943 103.588 52.065 47.676
+ -14629292.758 -11371063.283 22196912.238 22196914.830 22196912.346
+ -1989.296 -1550.105 50.676 45.244
+ -17510836.542 -13633160.254 21739327.449 21739330.178 21739327.710
+ 1014.231 790.303 51.718 45.244
+ -18526610.686 -14421042.024 21271071.023 21271071.679 21271070.869
+ 1922.150 1497.772 51.023 45.938
+ -8732976.148 -6791700.418 23305114.009 23305115.066 23305115.229
+ -3003.036 -2340.029 48.070 41.769
+ -3173680.494 -2427168.429 23771929.760 23771933.541 23771930.800
+ -3148.499 -2453.367 49.112 43.159
+ -5427240.628 -4220645.374 23849594.216 23849596.616 23849595.466
+ 1967.171 1532.859 48.070 41.595
+ -14687134.687 -11189664.322 22240334.671 22240337.787 22240335.502
+ 2953.194 2301.184 51.023 45.244
+ 03 8 2 0 24 54.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24332704.810 -18948691.674 20454759.926 20454762.139 20454760.114
+ 132.373 103.149 52.065 47.676
+ -14626308.771 -11368738.099 22197480.077 22197483.021 22197480.181
+ -1989.337 -1550.135 50.676 45.244
+ -17512357.434 -13634345.363 21739038.024 21739040.810 21739038.201
+ 1013.601 789.821 51.718 45.244
+ -18529493.571 -14423288.424 21270522.382 21270523.133 21270522.210
+ 1921.738 1497.460 51.023 45.938
+ -8728471.602 -6788190.373 23305971.060 23305972.100 23305972.553
+ -3003.010 -2340.014 48.070 41.769
+ -3168957.897 -2423488.490 23772828.538 23772831.938 23772829.466
+ -3148.343 -2453.249 49.112 43.333
+ -5430191.782 -4222944.966 23849032.733 23849034.279 23849033.700
+ 1967.424 1533.058 48.070 41.595
+ -14691564.326 -11193115.988 22239491.621 22239494.756 22239492.639
+ 2952.940 2300.992 51.023 45.244
+ 03 8 2 0 24 55.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24332902.415 -18948845.652 20454722.219 20454724.555 20454722.428
+ 131.194 102.224 52.065 47.676
+ -14623324.244 -11366412.492 22198047.920 22198050.801 22198048.166
+ -1989.953 -1550.626 50.676 45.244
+ -17513876.869 -13635529.336 21738748.921 21738751.689 21738748.984
+ 1012.407 788.892 51.718 45.244
+ -18532375.383 -14425533.989 21269973.898 21269974.780 21269973.846
+ 1920.771 1496.693 51.023 45.938
+ -8723966.668 -6784680.028 23306828.778 23306829.450 23306829.850
+ -3003.497 -2340.394 48.070 41.769
+ -3164234.975 -2419808.297 23773727.397 23773730.724 23773728.261
+ -3148.852 -2453.656 49.112 43.159
+ -5433142.856 -4225244.503 23848470.944 23848473.559 23848472.081
+ 1967.194 1532.882 48.070 41.595
+ -14695993.115 -11196566.987 22238648.961 22238652.060 22238649.897
+ 2952.130 2300.345 51.023 45.244
+ 03 8 2 0 24 57.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24333098.916 -18948998.770 20454684.745 20454687.113 20454684.975
+ 130.342 101.567 52.065 47.676
+ -14620339.450 -11364086.682 22198615.782 22198618.702 22198616.264
+ -1990.213 -1550.810 50.676 45.244
+ -17515395.093 -13636712.367 21738459.895 21738462.820 21738459.931
+ 1011.472 788.154 51.718 45.244
+ -18535256.342 -14427778.894 21269425.898 21269426.681 21269425.594
+ 1920.091 1496.175 51.023 45.938
+ -8719461.595 -6781169.592 23307685.566 23307687.233 23307687.134
+ -3003.734 -2340.560 48.070 41.769
+ -3159512.010 -2416128.068 23774626.084 23774629.388 23774627.077
+ -3148.933 -2453.708 49.112 43.333
+ -5436094.067 -4227544.150 23847909.147 23847911.123 23847910.352
+ 1967.112 1532.813 48.070 41.595
+ -14700421.305 -11200017.524 22237806.458 22237809.366 22237807.307
+ 2951.656 2299.984 51.023 45.244
+ 03 8 2 0 24 58.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24333294.251 -18949150.980 20454647.550 20454650.082 20454647.795
+ 129.869 101.194 52.065 47.676
+ -14617354.344 -11361760.621 22199183.969 22199187.003 22199184.401
+ -1990.132 -1550.752 50.676 45.244
+ -17516912.077 -13637894.431 21738171.268 21738174.284 21738171.246
+ 1010.942 787.745 51.718 45.244
+ -18538136.422 -14430023.114 21268877.936 21268878.634 21268877.583
+ 1919.816 1495.955 51.023 45.938
+ -8714956.347 -6777659.011 23308542.663 23308544.769 23308544.374
+ -3003.531 -2340.418 48.070 41.769
+ -3154788.949 -2412447.762 23775524.975 23775528.765 23775525.884
+ -3148.704 -2453.535 49.112 43.159
+ -5439045.452 -4229843.929 23847348.139 23847349.712 23847348.626
+ 1967.623 1533.210 48.070 41.595
+ -14704848.848 -11203467.558 22236963.796 22236966.920 22236964.864
+ 2951.530 2299.899 51.023 45.070
+ 03 8 2 0 25 0.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24333488.191 -18949302.103 20454610.805 20454613.034 20454610.870
+ 128.949 100.477 52.065 47.676
+ -14614368.664 -11359434.122 22199752.052 22199754.854 22199752.709
+ -1990.514 -1551.048 50.676 45.244
+ -17518427.571 -13639075.332 21737882.989 21737885.779 21737882.818
+ 1010.003 787.012 51.718 45.244
+ -18541015.375 -14432266.453 21268329.818 21268331.067 21268329.788
+ 1919.060 1495.370 51.023 45.938
+ -8710450.690 -6774148.112 23309400.295 23309402.119 23309401.668
+ -3003.784 -2340.613 48.070 41.769
+ -3150065.538 -2408767.183 23776423.585 23776426.825 23776424.644
+ -3148.917 -2453.706 49.286 43.159
+ -5441996.745 -4232143.632 23846786.519 23846787.533 23846787.051
+ 1967.613 1533.212 48.070 41.422
+ -14709275.501 -11206916.894 22236121.400 22236124.177 22236122.510
+ 2950.934 2299.427 51.023 45.070
+ 03 8 2 0 25 1.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24333680.972 -18949452.324 20454573.999 20454576.363 20454574.173
+ 127.986 99.730 52.065 47.676
+ -14611382.677 -11357107.380 22200320.369 22200323.258 22200320.906
+ -1990.968 -1551.405 50.676 45.244
+ -17519941.822 -13640255.267 21737594.782 21737597.574 21737594.776
+ 1008.950 786.191 51.718 45.417
+ -18543893.452 -14434509.110 21267782.117 21267783.060 21267782.073
+ 1918.269 1494.751 51.023 45.938
+ -8705944.856 -6770637.076 23310257.619 23310259.570 23310258.994
+ -3004.046 -2340.813 48.070 41.769
+ -3145342.023 -2405086.522 23777322.190 23777326.320 23777323.506
+ -3149.217 -2453.936 49.286 43.159
+ -5444948.116 -4234443.403 23846224.696 23846226.290 23846225.517
+ 1967.498 1533.127 48.070 41.422
+ -14713701.522 -11210365.739 22235279.203 22235282.097 22235280.278
+ 2950.261 2298.903 51.023 45.070
+ 03 8 2 0 25 3.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24333872.570 -18949601.619 20454537.721 20454539.907 20454537.711
+ 127.239 99.143 52.065 47.676
+ -14608396.349 -11354780.375 22200888.599 22200891.395 22200889.293
+ -1991.099 -1551.510 50.676 45.244
+ -17521454.792 -13641434.207 21737306.909 21737309.941 21737306.931
+ 1008.129 785.560 51.718 45.244
+ -18546770.609 -14436751.050 21267234.685 21267235.782 21267234.559
+ 1917.677 1494.288 51.023 45.938
+ -8701438.795 -6767125.860 23311115.133 23311116.732 23311116.399
+ -3004.203 -2340.943 48.070 41.769
+ -3140618.409 -2401405.797 23778221.008 23778225.208 23778222.235
+ -3149.245 -2453.946 49.286 43.159
+ -5447899.590 -4236743.260 23845663.150 23845664.844 23845664.014
+ 1967.530 1533.139 48.070 41.595
+ -14718126.871 -11213814.062 22234437.199 22234440.174 22234438.093
+ 2949.872 2298.601 51.023 45.070
+ 03 8 2 0 25 4.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24334062.863 -18949749.900 20454501.240 20454503.683 20454501.451
+ 126.566 98.624 52.065 47.676
+ -14605409.570 -11352453.013 22201457.021 22201459.903 22201457.838
+ -1991.224 -1551.600 50.676 45.244
+ -17522966.360 -13642612.053 21737019.202 21737022.044 21737019.311
+ 1007.370 784.972 51.718 45.417
+ -18549646.730 -14438992.181 21266687.322 21266688.070 21266687.180
+ 1917.211 1493.933 51.023 45.938
+ -8696932.430 -6763614.407 23311972.785 23311973.823 23311973.803
+ -3004.213 -2340.941 48.070 41.769
+ -3135894.533 -2397724.858 23779119.976 23779124.065 23779121.037
+ -3149.211 -2453.920 49.286 43.159
+ -5450851.102 -4239043.139 23845101.537 23845102.997 23845102.442
+ 1967.746 1533.278 48.070 41.422
+ -14722551.427 -11217261.765 22233595.145 22233598.258 22233596.088
+ 2949.533 2298.336 51.023 45.244
+ 03 8 2 0 25 6.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24334251.899 -18949897.199 20454465.348 20454467.696 20454465.394
+ 125.643 97.898 52.065 47.676
+ -14602422.356 -11350125.314 22202025.407 22202028.448 22202026.452
+ -1991.592 -1551.893 50.676 45.070
+ -17524476.577 -13643788.843 21736731.701 21736734.457 21736731.942
+ 1006.369 784.186 51.718 45.244
+ -18552521.860 -14441232.540 21266140.167 21266140.965 21266139.984
+ 1916.464 1493.337 51.023 45.938
+ -8692425.773 -6760102.729 23312830.345 23312831.932 23312831.274
+ -3004.460 -2341.124 48.070 41.943
+ -3131170.464 -2394043.768 23780018.938 23780022.725 23780019.814
+ -3149.411 -2454.096 49.286 43.159
+ -5453802.624 -4241343.017 23844539.829 23844540.870 23844540.915
+ 1967.596 1533.177 48.070 41.422
+ -14726975.220 -11220708.875 22232753.341 22232756.377 22232754.159
+ 2948.948 2297.872 51.023 45.244
+ 03 8 2 0 25 7.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24334439.798 -18950043.620 20454429.606 20454432.089 20454429.601
+ 125.138 97.513 52.065 47.676
+ -14599434.853 -11347797.393 22202593.859 22202596.701 22202595.025
+ -1991.551 -1551.863 50.676 45.070
+ -17525985.577 -13644964.686 21736444.609 21736447.252 21736444.811
+ 1005.865 783.790 51.718 45.417
+ -18555396.145 -14443472.238 21265593.207 21265594.227 21265592.981
+ 1916.129 1493.083 51.023 46.112
+ -8687918.969 -6756590.937 23313688.033 23313690.067 23313688.879
+ -3004.312 -2341.014 48.070 41.943
+ -3126446.314 -2390362.618 23780917.769 23780921.519 23780918.658
+ -3149.231 -2453.943 49.286 43.333
+ -5456754.319 -4243643.033 23843977.836 23843979.596 23843979.412
+ 1968.057 1533.541 48.070 41.422
+ -14731398.406 -11224155.510 22231911.599 22231914.593 22231912.419
+ 2948.821 2297.784 51.023 45.244
+ 03 8 2 0 25 9.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24334626.393 -18950189.019 20454393.969 20454396.538 20454394.109
+ 124.288 96.859 52.065 47.676
+ -14596446.894 -11345469.111 22203162.555 22203165.090 22203163.626
+ -1991.829 -1552.072 50.676 45.244
+ -17527493.185 -13646139.447 21736157.701 21736160.291 21736157.978
+ 1004.950 783.089 51.718 45.417
+ -18558269.390 -14445711.133 21265046.420 21265047.406 21265046.190
+ 1915.442 1492.556 51.023 45.938
+ -8683411.841 -6753078.884 23314545.603 23314547.080 23314546.541
+ -3004.501 -2341.163 48.070 41.943
+ -3121721.933 -2386681.288 23781817.099 23781820.342 23781817.642
+ -3149.372 -2454.053 49.286 43.159
+ -5459706.031 -4245943.076 23843416.448 23843417.561 23843417.864
+ 1968.069 1533.566 48.070 41.422
+ -14735820.801 -11227601.531 22231070.169 22231073.111 22231070.888
+ 2948.324 2297.409 51.023 45.244
+ 03 8 2 0 25 10.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24334811.708 -18950333.421 20454358.857 20454361.261 20454358.886
+ 123.159 95.963 52.065 47.676
+ -14593458.492 -11343140.486 22203731.226 22203733.853 22203732.323
+ -1992.360 -1552.497 50.676 45.244
+ -17528999.415 -13647313.131 21735871.141 21735874.036 21735871.419
+ 1003.734 782.129 51.718 45.244
+ -18561141.631 -14447949.240 21264499.819 21264500.720 21264499.587
+ 1914.527 1491.837 51.023 45.938
+ -8678904.420 -6749566.605 23315403.368 23315405.283 23315404.336
+ -3005.021 -2341.598 48.070 41.769
+ -3116997.331 -2382999.779 23782716.223 23782720.047 23782716.689
+ -3149.817 -2454.411 49.286 43.159
+ -5462657.755 -4248243.124 23842854.743 23842856.419 23842856.174
+ 1967.771 1533.326 48.070 41.595
+ -14740242.409 -11231046.936 22230228.703 22230231.505 22230229.465
+ 2947.529 2296.776 51.023 45.070
+ 03 8 2 0 25 12.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24334995.960 -18950476.995 20454323.797 20454326.166 20454323.855
+ 122.638 95.560 52.065 47.849
+ -14590469.857 -11340811.684 22204300.160 22204302.923 22204301.031
+ -1992.366 -1552.489 50.676 45.244
+ -17530504.493 -13648485.920 21735584.716 21735587.508 21735585.029
+ 1003.147 781.672 51.718 45.244
+ -18564013.081 -14450186.739 21263953.522 21263954.353 21263953.155
+ 1914.237 1491.616 51.023 45.938
+ -8674396.906 -6746054.260 23316260.983 23316262.548 23316262.141
+ -3004.875 -2341.452 48.070 41.769
+ -3112272.729 -2379318.274 23783615.319 23783618.861 23783615.734
+ -3149.589 -2454.216 49.286 43.159
+ -5465609.736 -4250543.371 23842292.845 23842293.984 23842294.527
+ 1968.204 1533.669 48.070 41.422
+ -14744663.474 -11234491.918 22229387.316 22229390.294 22229388.135
+ 2947.302 2296.592 51.023 45.244
+ 03 8 2 0 25 13.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24335178.775 -18950619.445 20454289.081 20454291.317 20454289.144
+ 121.398 94.590 52.065 47.676
+ -14587480.647 -11338482.429 22204868.947 22204871.791 22204869.924
+ -1992.989 -1552.982 50.676 45.070
+ -17532008.044 -13649657.514 21735298.781 21735301.301 21735298.859
+ 1001.875 780.676 51.718 45.244
+ -18566883.378 -14452423.328 21263407.206 21263407.747 21263406.948
+ 1913.128 1490.742 51.023 46.112
+ -8669888.944 -6742541.568 23317118.645 23317120.598 23317119.937
+ -3005.470 -2341.927 48.070 41.769
+ -3107547.761 -2375636.485 23784514.353 23784517.629 23784514.787
+ -3150.070 -2454.609 49.286 43.159
+ -5468561.575 -4252843.498 23841731.321 23841732.021 23841732.887
+ 1967.837 1533.383 48.070 41.422
+ -14749083.613 -11237936.180 22228546.123 22228549.314 22228546.964
+ 2946.405 2295.892 51.023 45.244
+ 03 8 2 0 25 15.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24335360.414 -18950760.987 20454254.497 20454256.675 20454254.564
+ 120.772 94.113 52.065 47.676
+ -14584491.089 -11336152.905 22205437.882 22205440.742 22205438.795
+ -1993.069 -1553.041 50.676 45.070
+ -17533510.326 -13650828.125 21735012.792 21735015.366 21735012.938
+ 1001.194 780.156 51.718 45.244
+ -18569752.766 -14454659.215 21262861.147 21262862.181 21262860.890
+ 1912.691 1490.411 51.023 45.938
+ -8665380.787 -6739028.719 23317976.728 23317977.857 23317977.798
+ -3005.464 -2341.931 48.070 41.943
+ -3102822.660 -2371954.593 23785413.484 23785417.038 23785413.899
+ -3150.037 -2454.571 49.286 43.159
+ -5471513.482 -4255143.692 23841169.266 23841170.524 23841170.993
+ 1968.075 1533.562 48.070 41.422
+ -14753503.090 -11241379.933 22227705.132 22227707.511 22227705.894
+ 2946.133 2295.693 51.023 45.070
+ 03 8 2 0 25 16.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24335540.873 -18950901.602 20454220.113 20454222.461 20454220.265
+ 119.827 93.367 52.065 47.676
+ -14581501.209 -11333823.132 22206006.913 22206009.230 22206007.714
+ -1993.442 -1553.335 50.676 45.070
+ -17535011.339 -13651997.745 21734727.045 21734729.646 21734727.363
+ 1000.175 779.349 51.718 45.244
+ -18572621.256 -14456894.403 21262315.206 21262316.360 21262315.036
+ 1911.958 1489.843 51.023 45.938
+ -8660872.457 -6735515.739 23318834.752 23318835.866 23318835.641
+ -3005.630 -2342.044 48.070 41.769
+ -3098097.449 -2368272.615 23786312.811 23786316.062 23786312.960
+ -3150.251 -2454.742 49.286 43.159
+ -5474465.548 -4257443.997 23840607.560 23840609.354 23840609.230
+ 1967.993 1533.502 48.070 41.422
+ -14757921.913 -11244823.171 22226864.347 22226867.366 22226864.955
+ 2945.556 2295.235 51.023 45.244
+ 03 8 2 0 25 18.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24335720.111 -18951041.270 20454186.293 20454188.398 20454186.208
+ 119.085 92.788 52.065 47.849
+ -14578510.954 -11331493.063 22206575.916 22206578.596 22206576.675
+ -1993.602 -1553.462 50.676 45.070
+ -17536511.049 -13653166.348 21734442.027 21734444.369 21734441.992
+ 999.394 778.742 51.718 45.244
+ -18575488.798 -14459128.855 21261769.696 21261770.368 21261769.360
+ 1911.411 1489.406 51.023 45.938
+ -8656363.858 -6732002.551 23319692.344 23319693.756 23319693.674
+ -3005.790 -2342.176 48.070 41.769
+ -3093372.087 -2364590.519 23787212.073 23787215.901 23787212.086
+ -3150.254 -2454.743 49.460 43.159
+ -5477417.687 -4259744.367 23840045.564 23840047.294 23840047.354
+ 1968.046 1533.549 48.070 41.422
+ -14762340.033 -11248265.856 22226023.488 22226026.543 22226024.122
+ 2945.170 2294.925 51.023 45.070
+ 03 8 2 0 25 19.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24335898.066 -18951179.936 20454152.269 20454154.495 20454152.304
+ 118.409 92.268 52.065 47.849
+ -14575520.245 -11329162.637 22207145.072 22207147.412 22207145.688
+ -1993.770 -1553.584 50.676 45.070
+ -17538009.373 -13654333.868 21734156.911 21734159.127 21734156.996
+ 998.618 778.148 51.718 45.244
+ -18578355.332 -14461362.515 21261224.116 21261224.912 21261223.832
+ 1910.881 1489.009 51.023 45.938
+ -8651854.963 -6728489.125 23320550.635 23320551.802 23320551.704
+ -3005.832 -2342.210 48.070 41.943
+ -3088646.500 -2360908.244 23788111.179 23788114.632 23788111.312
+ -3150.242 -2454.724 49.460 43.159
+ -5480369.863 -4262044.758 23839483.783 23839485.969 23839485.387
+ 1968.169 1533.636 48.070 41.248
+ -14766757.357 -11251707.925 22225182.934 22225185.977 22225183.478
+ 2944.815 2294.661 51.023 45.070
+ 03 8 2 0 25 21.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24336074.802 -18951317.653 20454118.666 20454120.848 20454118.631
+ 117.644 91.671 52.065 47.676
+ -14572529.160 -11326831.922 22207714.341 22207716.550 22207714.817
+ -1993.971 -1553.743 50.676 45.070
+ -17539506.383 -13655500.369 21733871.941 21733874.405 21733872.229
+ 997.775 777.484 51.718 45.244
+ -18581220.904 -14463595.428 21260678.856 21260679.466 21260678.529
+ 1910.316 1488.561 51.023 45.938
+ -8647345.836 -6724975.514 23321408.647 23321409.860 23321409.717
+ -3005.928 -2342.292 48.070 41.943
+ -3083920.749 -2357225.846 23789010.470 23789014.320 23789010.577
+ -3150.347 -2454.806 49.460 43.159
+ -5483322.086 -4264345.194 23838921.986 23838924.153 23838923.463
+ 1968.378 1533.803 48.070 41.422
+ -14771173.953 -11255149.425 22224342.481 22224344.894 22224342.991
+ 2944.363 2294.307 51.023 45.070
+ 03 8 2 0 25 22.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24336250.274 -18951454.385 20454085.266 20454087.454 20454085.234
+ 116.663 90.909 52.065 47.849
+ -14569537.667 -11324500.889 22208283.625 22208286.083 22208284.027
+ -1994.336 -1554.035 50.676 45.070
+ -17541002.041 -13656665.817 21733587.350 21733589.501 21733587.723
+ 996.745 776.693 51.718 45.244
+ -18584085.484 -14465827.570 21260133.609 21260134.405 21260133.391
+ 1909.499 1487.920 51.023 45.938
+ -8642836.430 -6721461.696 23322266.780 23322268.186 23322267.806
+ -3006.253 -2342.521 48.070 41.943
+ -3079194.816 -2353543.300 23789909.674 23789913.250 23789909.797
+ -3150.580 -2454.988 49.460 43.159
+ -5486274.339 -4266645.644 23838360.143 23838361.735 23838361.488
+ 1968.182 1533.652 48.070 41.422
+ -14775589.814 -11258590.357 22223502.183 22223504.892 22223502.598
+ 2943.757 2293.845 51.023 45.070
+ 03 8 2 0 25 24.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24336424.606 -18951590.230 20454051.976 20454054.260 20454052.120
+ 115.598 90.072 52.065 47.676
+ -14566545.873 -11322169.624 22208853.009 22208855.080 22208853.324
+ -1994.817 -1554.406 50.676 45.070
+ -17542496.465 -13657830.305 21733303.046 21733305.304 21733303.499
+ 995.622 775.805 51.718 45.244
+ -18586949.194 -14468059.034 21259588.771 21259589.348 21259588.441
+ 1908.612 1487.231 51.023 45.938
+ -8638326.873 -6717947.755 23323125.278 23323125.891 23323125.985
+ -3006.679 -2342.885 48.070 41.769
+ -3074468.806 -2349860.699 23790809.000 23790812.650 23790809.137
+ -3150.919 -2455.273 49.460 43.159
+ -5489226.732 -4268946.204 23837798.287 23837799.938 23837799.530
+ 1967.998 1533.488 48.070 41.422
+ -14780005.045 -11262030.797 22222661.932 22222664.787 22222662.325
+ 2943.035 2293.271 51.197 45.070
+ 03 8 2 0 25 25.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24336597.672 -18951725.085 20454019.123 20454021.509 20454019.277
+ 115.300 89.851 52.065 47.676
+ -14563553.661 -11319838.029 22209422.399 22209424.877 22209422.711
+ -1994.564 -1554.196 50.676 45.070
+ -17543989.541 -13658993.745 21733018.917 21733021.311 21733019.430
+ 995.300 775.562 51.718 45.244
+ -18589811.926 -14470289.732 21259043.977 21259044.643 21259043.675
+ 1908.508 1487.156 51.023 45.938
+ -8633817.035 -6714433.590 23323983.175 23323984.380 23323984.246
+ -3006.290 -2342.568 48.070 41.943
+ -3069742.599 -2346177.947 23791708.471 23791712.379 23791708.457
+ -3150.505 -2454.924 49.460 43.159
+ -5492179.163 -4271246.803 23837236.216 23837238.820 23837237.614
+ 1968.530 1533.932 48.070 41.595
+ -14784419.519 -11265470.643 22221821.720 22221824.831 22221822.212
+ 2943.063 2293.301 51.023 45.070
+ 03 8 2 0 25 27.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24336769.428 -18951858.919 20453986.444 20453988.726 20453986.639
+ 113.947 88.784 52.065 47.676
+ -14560560.987 -11317506.073 22209991.898 22209993.901 22209992.151
+ -1995.385 -1554.861 50.676 45.070
+ -17545481.194 -13660156.070 21732734.923 21732737.326 21732735.630
+ 993.846 774.419 51.718 45.244
+ -18592673.615 -14472519.617 21258499.277 21258500.092 21258499.020
+ 1907.358 1486.243 51.023 45.938
+ -8629306.882 -6710919.189 23324841.398 23324842.096 23324842.447
+ -3007.009 -2343.132 48.070 41.769
+ -3065016.149 -2342495.001 23792607.850 23792611.220 23792607.844
+ -3151.181 -2455.474 49.460 43.159
+ -5495131.598 -4273547.393 23836674.417 23836677.027 23836675.642
+ 1968.010 1533.507 48.070 41.422
+ -14788833.201 -11268909.873 22220982.004 22220984.816 22220982.270
+ 2942.035 2292.485 51.197 45.244
+ 03 8 2 0 25 28.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24336940.067 -18951991.888 20453954.051 20453956.182 20453954.194
+ 113.090 88.123 52.065 47.676
+ -14557568.054 -11315173.920 22210561.346 22210563.560 22210561.731
+ -1995.680 -1555.073 50.676 45.070
+ -17546971.662 -13661317.477 21732451.322 21732453.821 21732452.039
+ 992.962 773.740 51.718 45.244
+ -18595534.464 -14474748.852 21257954.938 21257955.737 21257954.585
+ 1906.668 1485.712 51.023 45.938
+ -8624796.595 -6707404.685 23325699.899 23325701.482 23325700.714
+ -3007.201 -2343.256 47.896 41.769
+ -3060289.653 -2338812.024 23793507.456 23793511.524 23793507.180
+ -3151.276 -2455.548 49.460 43.159
+ -5498084.230 -4275848.144 23836112.351 23836115.369 23836113.576
+ 1968.181 1533.642 48.070 41.595
+ -14793246.269 -11272348.626 22220142.166 22220145.134 22220142.488
+ 2941.527 2292.090 51.197 45.070
+ 03 8 2 0 25 30.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24337109.389 -18952123.828 20453921.765 20453924.020 20453922.008
+ 112.977 88.051 52.065 47.849
+ -14554574.632 -11312841.386 22211130.869 22211133.030 22211131.334
+ -1995.196 -1554.674 50.676 45.070
+ -17548460.703 -13662477.769 21732167.879 21732170.234 21732168.733
+ 992.743 773.588 51.718 45.244
+ -18598394.274 -14476977.277 21257410.637 21257411.516 21257410.419
+ 1906.728 1485.779 51.023 45.938
+ -8620285.976 -6703889.918 23326557.760 23326558.736 23326558.999
+ -3006.664 -2342.832 47.896 41.769
+ -3055562.911 -2335128.850 23794406.799 23794410.058 23794406.623
+ -3150.705 -2455.074 49.460 43.333
+ -5501036.807 -4278148.859 23835550.738 23835552.524 23835551.505
+ 1968.890 1534.232 48.070 41.595
+ -14797658.520 -11275786.746 22219302.544 22219305.543 22219302.913
+ 2941.720 2292.272 51.197 45.070
+ 03 8 2 0 25 31.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24337277.376 -18952254.727 20453889.740 20453891.872 20453890.069
+ 111.413 86.808 52.065 47.849
+ -14551580.722 -11310508.469 22211700.543 22211703.005 22211701.077
+ -1996.202 -1555.480 50.676 45.070
+ -17549948.323 -13663636.952 21731884.844 21731887.436 21731885.622
+ 991.161 772.330 51.718 45.244
+ -18601253.012 -14479204.861 21256866.779 21256867.574 21256866.404
+ 1905.346 1484.674 51.023 45.938
+ -8615775.023 -6700374.896 23327416.213 23327417.312 23327417.504
+ -3007.557 -2343.554 47.896 41.769
+ -3050835.904 -2331445.470 23795306.392 23795309.890 23795306.233
+ -3151.556 -2455.761 49.460 43.159
+ -5503989.371 -4280449.547 23834988.948 23834990.817 23834989.497
+ 1968.175 1533.628 48.070 41.595
+ -14802069.951 -11279224.223 22218463.069 22218465.927 22218463.476
+ 2940.526 2291.322 51.197 45.070
+ 03 8 2 0 25 33.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24337444.277 -18952384.778 20453857.964 20453860.226 20453858.338
+ 110.552 86.137 52.065 47.676
+ -14548586.577 -11308175.369 22212270.614 22212272.678 22212270.789
+ -1996.516 -1555.725 50.676 45.070
+ -17551434.769 -13664795.224 21731602.017 21731604.257 21731602.773
+ 990.232 771.606 51.718 45.244
+ -18604110.940 -14481431.818 21256322.860 21256323.612 21256322.613
+ 1904.649 1484.143 51.023 45.938
+ -8611263.951 -6696859.774 23328274.876 23328275.594 23328275.951
+ -3007.795 -2343.744 47.896 41.943
+ -3046108.877 -2327762.076 23796205.560 23796209.938 23796205.760
+ -3151.745 -2455.912 49.460 43.159
+ -5506942.147 -4282750.419 23834427.103 23834428.750 23834427.402
+ 1968.197 1533.661 48.070 41.595
+ -14806480.802 -11282661.243 22217623.757 22217626.584 22217624.111
+ 2939.981 2290.888 51.197 45.070
+ 03 8 2 0 25 34.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24337609.943 -18952513.869 20453826.352 20453828.647 20453826.757
+ 110.050 85.756 52.065 47.676
+ -14545592.050 -11305841.972 22212840.427 22212842.524 22212840.645
+ -1996.467 -1555.689 50.676 45.070
+ -17552919.887 -13665952.458 21731319.397 21731321.683 21731320.163
+ 989.652 771.161 51.718 45.244
+ -18606967.891 -14483658.016 21255779.226 21255779.957 21255778.976
+ 1904.333 1483.896 51.023 45.938
+ -8606752.639 -6693344.469 23329133.499 23329134.448 23329134.461
+ -3007.675 -2343.640 47.896 41.769
+ -3041381.688 -2324078.557 23797105.328 23797109.414 23797105.283
+ -3151.467 -2455.682 49.460 43.159
+ -5509894.993 -4285051.341 23833865.223 23833867.443 23833865.376
+ 1968.544 1533.941 48.070 41.595
+ -14810890.916 -11286097.696 22216784.556 22216787.314 22216784.914
+ 2939.847 2290.793 51.197 45.070
+ 03 8 2 0 25 36.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24337774.227 -18952641.881 20453795.145 20453797.520 20453795.449
+ 109.045 84.967 52.065 47.676
+ -14542596.987 -11303508.154 22213410.244 22213412.818 22213410.646
+ -1996.890 -1556.021 50.676 45.070
+ -17554403.525 -13667108.537 21731037.041 21731039.458 21731037.772
+ 988.585 770.327 51.718 45.244
+ -18609823.732 -14485883.345 21255235.640 21255236.197 21255235.544
+ 1903.494 1483.244 51.023 45.938
+ -8602240.957 -6689828.867 23329991.999 23329992.914 23329993.018
+ -3007.913 -2343.841 47.896 41.943
+ -3036654.194 -2320394.798 23798004.825 23798008.082 23798004.908
+ -3151.783 -2455.927 49.460 43.333
+ -5512847.760 -4287352.197 23833303.116 23833306.051 23833303.296
+ 1968.509 1533.912 48.070 41.595
+ -14815300.168 -11289533.472 22215945.615 22215948.384 22215945.872
+ 2939.205 2290.290 51.197 45.070
+ 03 8 2 0 25 37.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24337937.435 -18952769.061 20453764.220 20453766.371 20453764.376
+ 108.174 84.296 52.065 47.849
+ -14539601.705 -11301174.171 22213980.184 22213982.331 22213980.640
+ -1997.162 -1556.224 50.676 45.070
+ -17555886.011 -13668263.722 21730754.690 21730757.248 21730755.542
+ 987.671 769.611 51.718 45.244
+ -18612678.780 -14488108.060 21254692.473 21254692.978 21254692.214
+ 1902.827 1482.721 51.023 45.765
+ -8597729.164 -6686313.187 23330850.448 23330851.855 23330851.618
+ -3008.164 -2344.012 47.896 41.769
+ -3031926.704 -2316711.046 23798904.347 23798908.722 23798904.519
+ -3151.920 -2456.026 49.460 43.159
+ -5515800.780 -4289653.249 23832741.009 23832742.962 23832741.171
+ 1968.454 1533.854 48.070 41.595
+ -14819708.861 -11292968.820 22215106.634 22215109.353 22215106.924
+ 2938.644 2289.849 51.197 45.070
+ 03 8 2 0 25 39.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24338099.445 -18952895.305 20453733.282 20453735.514 20453733.561
+ 107.713 83.938 52.065 47.676
+ -14536606.064 -11298839.907 22214550.417 22214552.367 22214550.754
+ -1997.105 -1556.181 50.676 45.070
+ -17557367.199 -13669417.896 21730472.984 21730475.462 21730473.550
+ 987.131 769.192 51.718 45.244
+ -18615532.886 -14490332.036 21254149.290 21254149.975 21254149.149
+ 1902.524 1482.488 51.023 45.938
+ -8593217.162 -6682797.346 23331708.896 23331710.644 23331710.244
+ -3008.044 -2343.928 47.896 41.769
+ -3027199.070 -2313027.177 23799804.140 23799808.368 23799804.187
+ -3151.678 -2455.845 49.460 43.159
+ -5518753.889 -4291954.369 23832179.031 23832181.015 23832179.027
+ 1968.834 1534.169 48.070 41.422
+ -14824116.849 -11296403.614 22214267.615 22214270.395 22214268.061
+ 2938.487 2289.736 51.197 45.070
+ 03 8 2 0 25 40.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24338259.975 -18953020.390 20453702.750 20453704.914 20453702.984
+ 106.237 82.770 52.065 47.849
+ -14533609.798 -11296505.150 22215120.323 22215122.703 22215121.006
+ -1998.007 -1556.895 50.676 45.070
+ -17558846.816 -13670570.841 21730191.311 21730193.910 21730191.899
+ 985.578 767.969 51.718 45.244
+ -18618385.781 -14492555.067 21253606.396 21253607.048 21253606.282
+ 1901.214 1481.450 51.023 45.938
+ -8588704.699 -6679281.145 23332567.577 23332569.247 23332568.912
+ -3008.779 -2344.516 47.722 41.943
+ -3022471.047 -2309343.004 23800703.816 23800707.817 23800703.912
+ -3152.494 -2456.491 49.460 43.159
+ -5521706.808 -4294255.345 23831617.244 23831619.415 23831616.928
+ 1968.073 1533.541 48.070 41.422
+ -14828523.856 -11299837.642 22213429.207 22213431.594 22213429.433
+ 2937.352 2288.833 51.197 45.070
+ 03 8 2 0 25 42.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24338419.534 -18953144.724 20453672.410 20453674.572 20453672.619
+ 105.639 82.315 52.065 47.676
+ -14530613.406 -11294170.306 22215690.479 22215693.035 22215691.228
+ -1998.054 -1556.924 50.676 44.896
+ -17560325.367 -13671722.958 21729909.924 21729912.634 21729910.435
+ 984.919 767.460 51.718 45.244
+ -18621237.982 -14494777.564 21253063.561 21253064.379 21253063.544
+ 1900.831 1481.159 51.023 45.938
+ -8584192.228 -6675764.934 23333426.344 23333427.670 23333427.491
+ -3008.685 -2344.422 47.722 41.943
+ -3017743.131 -2305658.924 23801603.182 23801607.530 23801603.610
+ -3152.317 -2456.347 49.460 43.159
+ -5524660.071 -4296556.596 23831055.283 23831057.614 23831054.727
+ 1968.438 1533.842 48.070 41.595
+ -14832930.399 -11303271.311 22212590.590 22212593.322 22212590.858
+ 2937.093 2288.635 51.197 45.070
+ 03 8 2 0 25 43.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24338577.724 -18953267.988 20453642.390 20453644.608 20453642.562
+ 105.172 81.958 52.065 47.849
+ -14527616.493 -11291835.048 22216260.841 22216263.054 22216261.489
+ -1997.970 -1556.852 50.676 45.070
+ -17561802.463 -13672873.943 21729628.980 21729631.780 21729629.241
+ 984.400 767.072 51.718 45.417
+ -18624089.080 -14496999.197 21252521.237 21252521.718 21252520.986
+ 1900.518 1480.925 51.023 45.938
+ -8579679.377 -6672248.429 23334285.175 23334286.730 23334286.147
+ -3008.579 -2344.347 47.722 41.943
+ -3013014.908 -2301974.595 23802503.071 23802507.085 23802503.262
+ -3152.077 -2456.162 49.460 43.159
+ -5527613.216 -4298857.745 23830493.184 23830495.708 23830492.514
+ 1968.861 1534.195 48.070 41.422
+ -14837336.073 -11306704.299 22211752.197 22211755.288 22211752.434
+ 2936.945 2288.537 51.197 45.070
+ 03 8 2 0 25 45.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24338734.749 -18953390.348 20453612.486 20453614.651 20453612.713
+ 104.285 81.267 52.065 47.676
+ -14524619.270 -11289499.550 22216831.172 22216833.639 22216831.884
+ -1998.268 -1557.095 50.676 45.070
+ -17563278.294 -13674023.939 21729348.122 21729350.713 21729348.373
+ 983.465 766.333 51.718 45.244
+ -18626939.283 -14499220.134 21251978.789 21251979.337 21251978.657
+ 1899.819 1480.379 51.023 45.938
+ -8575166.352 -6668731.782 23335143.944 23335145.192 23335144.951
+ -3008.756 -2344.470 47.722 42.117
+ -3008286.593 -2298290.199 23803402.790 23803406.495 23803402.909
+ -3152.222 -2456.278 49.460 43.159
+ -5530566.523 -4301159.019 23829931.289 23829933.439 23829930.208
+ 1968.880 1534.188 48.070 41.595
+ -14841741.103 -11310136.793 22210914.079 22210916.830 22210914.149
+ 2936.442 2288.139 51.197 45.070
+ 03 8 2 0 25 46.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24338890.483 -18953511.701 20453582.830 20453585.025 20453583.154
+ 103.288 80.480 52.065 47.849
+ -14521621.614 -11287163.717 22217401.459 22217404.248 22217402.351
+ -1998.650 -1557.391 50.676 44.896
+ -17564752.757 -13675172.872 21729067.534 21729070.313 21729067.814
+ 982.410 765.514 51.718 45.244
+ -18629788.469 -14501440.277 21251436.675 21251437.288 21251436.451
+ 1899.016 1479.745 51.023 45.938
+ -8570653.038 -6665214.915 23336002.481 23336004.511 23336003.634
+ -3009.178 -2344.811 47.722 41.943
+ -3003558.058 -2294605.630 23804302.604 23804306.531 23804302.569
+ -3152.532 -2456.524 49.460 43.159
+ -5533519.818 -4303460.280 23829369.109 23829371.496 23829368.044
+ 1968.730 1534.061 48.070 41.422
+ -14846145.339 -11313568.665 22210075.951 22210078.492 22210075.988
+ 2935.777 2287.606 51.197 45.070
+ 03 8 2 0 25 48.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24339045.031 -18953632.128 20453553.441 20453555.523 20453553.765
+ 102.806 80.119 52.065 47.676
+ -14518623.612 -11284827.614 22217971.920 22217974.612 22217972.804
+ -1998.572 -1557.326 50.676 45.070
+ -17566225.924 -13676320.796 21728787.205 21728790.032 21728787.479
+ 981.887 765.110 51.718 45.244
+ -18632636.731 -14503659.706 21250894.512 21250895.205 21250894.382
+ 1898.732 1479.543 51.023 45.938
+ -8566139.539 -6661697.919 23336861.193 23336863.046 23336862.549
+ -3008.902 -2344.596 47.722 41.943
+ -2998829.423 -2290920.988 23805202.621 23805206.676 23805202.243
+ -3152.238 -2456.275 49.460 43.159
+ -5536473.236 -4305761.652 23828807.127 23828809.945 23828805.898
+ 1969.221 1534.462 48.070 41.422
+ -14850548.897 -11317000.005 22209238.012 22209240.635 22209238.022
+ 2935.660 2287.531 51.197 45.070
+ 03 8 2 0 25 49.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24339198.241 -18953751.512 20453524.352 20453526.338 20453524.641
+ 102.069 79.539 52.065 47.849
+ -14515625.128 -11282491.132 22218542.598 22218545.039 22218543.365
+ -1998.790 -1557.497 50.676 45.070
+ -17567697.662 -13677467.601 21728507.155 21728510.082 21728507.465
+ 981.012 764.424 51.718 45.244
+ -18635483.936 -14505878.301 21250352.784 21250353.407 21250352.570
+ 1898.090 1479.026 51.023 45.938
+ -8561625.686 -6658180.628 23337720.550 23337722.297 23337721.563
+ -3009.011 -2344.699 47.722 41.943
+ -2994100.498 -2287236.110 23806102.582 23806106.148 23806102.091
+ -3152.433 -2456.441 49.460 43.159
+ -5539426.604 -4308062.979 23828245.221 23828247.616 23828243.800
+ 1969.187 1534.427 48.070 41.595
+ -14854951.622 -11320430.696 22208400.214 22208402.743 22208400.189
+ 2935.220 2287.186 51.197 45.070
+ 03 8 2 0 25 51.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24339350.338 -18953870.030 20453495.370 20453497.372 20453495.705
+ 100.919 78.640 52.065 47.676
+ -14512626.380 -11280154.446 22219113.311 22219115.652 22219113.911
+ -1999.363 -1557.947 50.676 45.070
+ -17569168.208 -13678613.483 21728227.359 21728229.870 21728227.634
+ 979.872 763.536 51.718 45.244
+ -18638330.296 -14508096.247 21249811.102 21249811.830 21249810.944
+ 1897.193 1478.333 51.023 45.938
+ -8557111.691 -6654663.231 23338579.406 23338581.253 23338580.511
+ -3009.467 -2345.040 47.549 41.943
+ -2989371.565 -2283551.234 23807002.419 23807006.174 23807002.080
+ -3152.741 -2456.681 49.460 43.159
+ -5542380.162 -4310364.454 23827683.511 23827685.587 23827681.895
+ 1968.978 1534.259 48.070 41.422
+ -14859353.750 -11323860.929 22207562.489 22207565.084 22207562.524
+ 2934.416 2286.555 51.197 45.070
+ 03 8 2 0 25 52.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24339501.148 -18953987.547 20453466.612 20453468.814 20453467.041
+ 100.387 78.228 52.065 47.676
+ -14509627.206 -11277817.430 22219684.059 22219686.370 22219684.607
+ -1999.306 -1557.893 50.676 44.896
+ -17570637.364 -13679758.280 21727947.756 21727950.337 21727948.032
+ 979.262 763.062 51.718 45.244
+ -18641175.630 -14510313.390 21249269.570 21249270.225 21249269.555
+ 1896.816 1478.048 51.023 45.938
+ -8552597.387 -6651145.599 23339438.119 23339439.962 23339439.422
+ -3009.449 -2345.017 47.549 41.943
+ -2984642.412 -2279866.183 23807902.475 23807906.011 23807902.133
+ -3152.618 -2456.592 49.460 43.159
+ -5545333.727 -4312665.930 23827121.222 23827123.407 23827120.129
+ 1969.268 1534.501 48.070 41.595
+ -14863755.082 -11327290.540 22206724.980 22206727.382 22206725.047
+ 2934.215 2286.413 51.197 45.070
+ 03 8 2 0 25 54.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24339650.610 -18954104.007 20453438.171 20453440.462 20453438.634
+ 99.250 77.336 52.065 47.849
+ -14506627.538 -11275480.026 22220254.918 22220257.255 22220255.399
+ -1999.835 -1558.312 50.676 44.896
+ -17572105.075 -13680901.950 21727668.325 21727671.157 21727668.734
+ 978.049 762.115 51.718 45.244
+ -18644019.898 -14512529.704 21248728.364 21248729.210 21248728.333
+ 1895.902 1477.324 51.023 45.938
+ -8548082.753 -6647627.702 23340297.267 23340299.350 23340298.470
+ -3009.862 -2345.356 47.549 41.943
+ -2979912.992 -2276180.914 23808802.360 23808805.698 23808802.052
+ -3152.968 -2456.849 49.460 42.985
+ -5548287.246 -4314967.372 23826559.224 23826561.596 23826558.230
+ 1968.987 1534.267 48.070 41.595
+ -14868155.572 -11330719.493 22205887.701 22205890.032 22205887.673
+ 2933.458 2285.817 51.197 45.070
+ 03 8 2 0 25 55.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24339798.992 -18954219.634 20453409.966 20453412.193 20453410.358
+ 98.112 76.448 52.065 47.849
+ -14503627.622 -11273142.434 22220825.747 22220828.147 22220826.184
+ -2000.454 -1558.803 50.676 45.070
+ -17573571.623 -13682044.716 21727389.393 21727392.105 21727389.697
+ 976.825 761.159 51.718 45.417
+ -18646863.339 -14514745.372 21248187.237 21248188.049 21248187.232
+ 1894.927 1476.558 51.023 45.938
+ -8543568.041 -6644109.749 23341156.251 23341158.877 23341157.351
+ -3010.374 -2345.768 47.549 42.117
+ -2975183.561 -2272495.651 23809702.207 23809705.743 23809701.983
+ -3153.398 -2457.179 49.460 43.159
+ -5551240.956 -4317268.957 23825997.304 23825999.887 23825996.271
+ 1968.730 1534.076 48.070 41.595
+ -14872555.490 -11334148.003 22205050.295 22205052.751 22205050.312
+ 2932.641 2285.171 51.197 45.070
+ 03 8 2 0 25 57.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24339946.078 -18954334.245 20453381.946 20453383.924 20453382.363
+ 97.709 76.142 52.065 47.676
+ -14500627.276 -11270804.499 22221396.661 22221399.020 22221397.104
+ -2000.321 -1558.687 50.676 45.070
+ -17575036.782 -13683186.398 21727110.746 21727113.381 21727110.895
+ 976.376 760.809 51.718 45.417
+ -18649705.747 -14516960.236 21247646.457 21247647.245 21247646.308
+ 1894.679 1476.375 51.023 45.938
+ -8539053.038 -6640591.577 23342015.141 23342017.387 23342016.362
+ -3010.045 -2345.480 47.549 41.943
+ -2970453.913 -2268810.219 23810602.296 23810605.615 23810602.033
+ -3153.086 -2456.952 49.460 43.159
+ -5554194.686 -4319570.567 23825435.286 23825437.226 23825434.404
+ 1969.133 1534.398 48.070 41.595
+ -14876954.621 -11337575.894 22204213.330 22204215.970 22204213.150
+ 2932.558 2285.108 51.197 45.070
+ 03 8 2 0 25 58.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24340091.799 -18954447.791 20453354.157 20453356.403 20453354.637
+ 96.583 75.253 52.065 47.676
+ -14497626.430 -11268466.174 22221967.818 22221970.052 22221968.124
+ -2000.848 -1559.109 50.676 44.896
+ -17576500.472 -13684326.933 21726832.092 21726834.838 21726832.366
+ 975.209 759.897 51.718 45.417
+ -18652547.065 -14519174.249 21247105.812 21247106.701 21247105.519
+ 1893.739 1475.633 51.023 45.938
+ -8534537.655 -6637073.096 23342874.132 23342876.728 23342875.412
+ -3010.465 -2345.825 47.549 42.117
+ -2965723.987 -2265124.560 23811502.556 23811505.534 23811502.100
+ -3153.511 -2457.289 49.460 43.159
+ -5557148.354 -4321872.125 23824873.147 23824875.077 23824872.540
+ 1968.940 1534.244 48.070 41.595
+ -14881352.879 -11341003.104 22203376.339 22203378.993 22203376.236
+ 2931.754 2284.478 51.197 45.070
+ 03 8 2 0 26 0.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24340236.488 -18954560.537 20453326.565 20453328.709 20453327.115
+ 95.800 74.645 52.065 47.849
+ -14494625.391 -11266127.705 22222538.986 22222541.216 22222539.142
+ -2001.060 -1559.269 50.676 44.896
+ -17577963.038 -13685466.591 21726553.858 21726556.835 21726554.066
+ 974.361 759.235 51.718 45.244
+ -18655387.616 -14521387.666 21246565.057 21246566.030 21246564.847
+ 1893.157 1475.187 51.023 45.938
+ -8530022.219 -6633554.572 23343733.439 23343736.176 23343734.573
+ -3010.644 -2345.956 47.375 41.943
+ -2960994.118 -2261438.952 23812402.724 23812406.231 23812402.325
+ -3153.542 -2457.319 49.460 43.159
+ -5560102.303 -4324173.907 23824311.204 23824313.739 23824310.557
+ 1969.076 1534.330 48.070 41.595
+ -14885750.609 -11344429.904 22202539.493 22202542.232 22202539.411
+ 2931.305 2284.139 51.197 45.070
+ 03 8 2 0 26 1.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24340379.825 -18954672.228 20453299.338 20453301.666 20453299.836
+ 95.291 74.265 52.065 47.849
+ -14491623.878 -11263788.865 22223110.160 22223112.243 22223110.318
+ -2000.968 -1559.195 50.676 45.070
+ -17579424.167 -13686605.135 21726275.773 21726278.798 21726276.035
+ 973.781 758.798 51.718 45.417
+ -18658227.088 -14523600.240 21246024.745 21246025.576 21246024.428
+ 1892.825 1474.933 51.023 45.938
+ -8525506.451 -6630035.792 23344593.052 23344595.116 23344593.777
+ -3010.399 -2345.768 47.375 41.943
+ -2956263.974 -2257753.126 23813302.820 23813306.454 23813302.512
+ -3153.339 -2457.138 49.460 43.159
+ -5563056.173 -4326475.617 23823749.039 23823751.297 23823748.559
+ 1969.316 1534.523 48.070 41.595
+ -14890147.509 -11347856.057 22201702.777 22201705.526 22201702.816
+ 2931.181 2284.041 51.197 45.244
+ 03 8 2 0 26 3.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24340521.951 -18954782.977 20453272.387 20453274.615 20453272.750
+ 94.379 73.541 52.065 47.676
+ -14488621.986 -11261449.726 22223681.448 22223683.801 22223681.506
+ -2001.335 -1559.483 50.676 45.070
+ -17580883.991 -13687742.659 21725997.945 21726000.986 21725998.170
+ 972.813 758.040 51.718 45.244
+ -18661065.618 -14525812.079 21245484.629 21245485.502 21245484.204
+ 1892.065 1474.331 51.023 45.938
+ -8520990.432 -6626516.821 23345452.395 23345454.493 23345453.056
+ -3010.720 -2346.018 47.375 41.943
+ -2951533.688 -2254067.194 23814202.665 23814206.375 23814202.646
+ -3153.505 -2457.264 49.460 43.159
+ -5566010.116 -4328777.394 23823187.058 23823189.743 23823186.492
+ 1969.339 1534.542 48.070 41.595
+ -14894543.702 -11351281.661 22200866.144 22200868.901 22200866.342
+ 2930.576 2283.571 51.197 45.244
+ 03 8 2 0 26 4.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24340662.953 -18954892.851 20453245.545 20453247.708 20453245.921
+ 94.020 73.275 52.065 47.849
+ -14485619.834 -11259110.390 22224252.587 22224254.614 22224252.766
+ -2001.089 -1559.285 50.676 45.070
+ -17582342.604 -13688879.241 21725720.530 21725723.076 21725720.597
+ 972.412 757.735 51.718 45.417
+ -18663903.291 -14528023.256 21244944.585 21244945.799 21244944.119
+ 1891.910 1474.224 51.023 45.938
+ -8516474.314 -6622997.778 23346311.561 23346313.748 23346312.206
+ -3010.316 -2345.700 47.375 41.943
+ -2946803.356 -2250381.223 23815102.635 23815107.002 23815102.846
+ -3153.188 -2457.016 49.460 43.159
+ -5568964.291 -4331079.352 23822624.999 23822626.420 23822624.386
+ 1969.993 1535.063 48.070 41.769
+ -14898939.261 -11354706.774 22200029.668 22200032.562 22200029.972
+ 2930.537 2283.550 51.197 45.244
+ 03 8 2 0 26 6.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24340802.454 -18955001.550 20453218.956 20453221.288 20453219.348
+ 92.685 72.219 52.065 47.849
+ -14482617.037 -11256770.548 22224824.241 22224826.309 22224824.152
+ -2001.927 -1559.937 50.676 45.070
+ -17583799.618 -13690014.573 21725442.943 21725445.863 21725443.371
+ 970.990 756.611 51.718 45.417
+ -18666739.734 -14530233.469 21244404.822 21244406.082 21244404.309
+ 1890.744 1473.303 51.023 45.938
+ -8511957.685 -6619478.323 23347171.017 23347173.800 23347171.464
+ -3011.079 -2346.297 47.375 42.117
+ -2942072.615 -2246694.939 23816003.007 23816006.515 23816003.183
+ -3153.781 -2457.499 49.460 43.159
+ -5571918.275 -4333381.153 23822062.739 23822065.024 23822062.452
+ 1969.425 1534.631 48.070 41.595
+ -14903333.836 -11358131.113 22199193.345 22199195.768 22199193.753
+ 2929.513 2282.737 51.197 45.244
+ 03 8 2 0 26 7.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24340940.977 -18955109.492 20453192.492 20453194.855 20453192.993
+ 91.746 71.489 52.065 47.849
+ -14479614.131 -11254430.625 22225395.705 22225398.016 22225395.575
+ -2002.219 -1560.168 50.676 44.896
+ -17585255.566 -13691149.079 21725166.029 21725168.938 21725166.359
+ 970.002 755.848 51.718 45.417
+ -18669575.484 -14532443.146 21243865.173 21243866.365 21243864.583
+ 1889.969 1472.705 51.023 45.938
+ -8507441.076 -6615958.890 23348030.668 23348032.822 23348030.838
+ -3011.296 -2346.459 47.375 41.943
+ -2937341.984 -2243008.740 23816903.216 23816906.660 23816903.511
+ -3153.960 -2457.626 49.460 43.159
+ -5574872.579 -4335683.210 23821501.076 23821503.265 23821500.539
+ 1969.276 1534.507 48.070 41.769
+ -14907727.923 -11361555.077 22198357.177 22198359.988 22198357.615
+ 2928.940 2282.292 51.197 45.244
+ 03 8 2 0 26 9.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24341078.182 -18955216.404 20453166.388 20453168.781 20453166.886
+ 91.403 71.227 52.065 47.849
+ -14476610.744 -11252090.318 22225967.044 22225969.402 22225967.097
+ -2002.031 -1560.024 50.676 45.070
+ -17586710.088 -13692282.470 21724889.140 21724892.000 21724889.543
+ 969.554 755.503 51.718 45.417
+ -18672410.172 -14534651.991 21243325.748 21243326.885 21243325.095
+ 1889.810 1472.588 51.023 45.938
+ -8502924.148 -6612439.214 23348889.966 23348891.641 23348890.095
+ -3011.050 -2346.285 47.201 42.117
+ -2932611.110 -2239322.341 23817803.548 23817807.266 23817803.916
+ -3153.604 -2457.349 49.460 43.159
+ -5577826.891 -4337985.265 23820938.454 23820940.578 23820938.533
+ 1969.827 1534.932 48.070 41.943
+ -14912121.197 -11364978.400 22197521.089 22197523.996 22197521.627
+ 2928.906 2282.262 51.197 45.244
+ 03 8 2 0 26 10.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24341214.065 -18955322.288 20453140.458 20453142.950 20453140.960
+ 90.242 70.312 52.065 47.849
+ -14473606.895 -11249749.658 22226538.708 22226541.026 22226538.691
+ -2002.615 -1560.482 50.676 45.070
+ -17588163.200 -13693414.766 21724612.541 21724615.991 21724612.976
+ 968.366 754.568 51.718 45.417
+ -18675243.807 -14536860.020 21242786.533 21242787.680 21242785.858
+ 1888.862 1471.835 51.023 45.938
+ -8498406.860 -6608919.251 23349749.706 23349752.155 23349749.504
+ -3011.628 -2346.730 47.201 42.117
+ -2927880.002 -2235635.770 23818703.998 23818707.590 23818704.357
+ -3154.048 -2457.695 49.460 43.159
+ -5580781.176 -4340287.309 23820376.232 23820378.430 23820376.456
+ 1969.612 1534.755 48.070 41.769
+ -14916513.646 -11368401.087 22196685.250 22196688.358 22196685.816
+ 2928.077 2281.616 51.197 45.244
+ 03 8 2 0 26 12.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24341348.902 -18955427.359 20453114.953 20453117.225 20453115.270
+ 89.632 69.844 52.065 47.849
+ -14470602.867 -11247408.859 22227110.099 22227112.490 22227110.269
+ -2002.626 -1560.495 50.676 44.896
+ -17589615.177 -13694546.180 21724336.418 21724339.261 21724336.685
+ 967.666 754.023 51.718 45.417
+ -18678076.662 -14539067.440 21242247.357 21242248.546 21242246.797
+ 1888.420 1471.494 51.023 45.938
+ -8493889.576 -6605399.294 23350609.089 23350612.032 23350608.930
+ -3011.470 -2346.617 47.201 42.117
+ -2923148.930 -2231949.223 23819604.510 23819607.963 23819604.710
+ -3153.932 -2457.608 49.460 43.159
+ -5583735.699 -4342589.537 23819814.298 23819816.259 23819814.385
+ 1969.779 1534.895 48.070 41.769
+ -14920905.569 -11371823.366 22195849.543 22195852.444 22195850.073
+ 2927.814 2281.415 51.197 45.244
+ 03 8 2 0 26 13.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24341482.252 -18955531.268 20453089.438 20453091.985 20453089.832
+ 88.632 69.064 52.065 47.676
+ -14467598.202 -11245067.561 22227681.925 22227684.586 22227682.056
+ -2003.065 -1560.833 50.676 45.070
+ -17591065.564 -13695676.348 21724060.208 21724063.242 21724060.630
+ 966.577 753.173 51.718 45.417
+ -18680908.295 -14541273.910 21241708.595 21241709.877 21241707.910
+ 1887.537 1470.806 51.023 45.938
+ -8489371.782 -6601878.939 23351469.266 23351471.401 23351468.514
+ -3011.846 -2346.890 47.201 41.943
+ -2918417.461 -2228262.367 23820504.431 23820508.942 23820505.142
+ -3154.198 -2457.820 49.460 43.333
+ -5586690.052 -4344891.632 23819251.759 23819255.086 23819252.380
+ 1969.652 1534.784 48.070 41.943
+ -14925296.499 -11375244.867 22195013.888 22195016.952 22195014.484
+ 2927.163 2280.901 51.197 45.244
+ 03 8 2 0 26 15.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927243
+ -24341614.461 -18955634.289 20453064.265 20453066.804 20453064.676
+ 87.121 67.881 52.065 47.849
+ -14464593.257 -11242726.047 22228253.635 22228256.291 22228253.922
+ -2004.038 -1561.600 50.676 44.896
+ -17592514.734 -13696805.571 21723784.505 21723787.540 21723784.848
+ 965.063 751.988 51.718 45.244
+ -18683739.067 -14543479.705 21241169.833 21241171.188 21241169.230
+ 1886.294 1469.834 51.023 45.938
+ -8484853.853 -6598358.476 23352328.468 23352331.488 23352328.141
+ -3012.601 -2347.492 47.201 41.943
+ -2913685.928 -2224575.462 23821404.767 23821409.058 23821405.647
+ -3155.071 -2458.506 49.460 42.985
+ -5589644.556 -4347193.836 23818689.524 23818692.627 23818690.239
+ 1969.022 1534.294 48.070 41.943
+ -14929686.768 -11378665.854 22194178.350 22194181.582 22194179.027
+ 2925.992 2279.978 51.197 45.244
+ 03 8 2 0 26 16.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24341745.483 -18955736.385 20453039.478 20453041.763 20453039.746
+ 87.272 68.016 52.065 47.849
+ -14461587.977 -11240384.271 22228825.544 22228828.216 22228825.785
+ -2003.313 -1561.004 50.676 45.070
+ -17593962.615 -13697933.786 21723509.009 21723512.103 21723509.355
+ 965.140 752.062 51.718 45.417
+ -18686568.898 -14545684.767 21240631.500 21240632.538 21240630.761
+ 1886.565 1470.056 51.023 46.112
+ -8480335.732 -6594837.860 23353188.784 23353191.160 23353187.924
+ -3011.848 -2346.897 47.201 41.943
+ -2908954.295 -2220888.484 23822305.327 23822308.944 23822306.144
+ -3154.171 -2457.780 49.460 43.159
+ -5592599.139 -4349496.108 23818127.305 23818130.012 23818128.091
+ 1969.966 1535.037 48.070 41.943
+ -14934076.355 -11382086.311 22193343.068 22193345.937 22193343.661
+ 2926.487 2280.389 51.197 45.244
+ 03 8 2 0 26 18.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24341875.197 -18955837.462 20453014.644 20453017.110 20453015.025
+ 86.040 67.043 52.065 47.849
+ -14458582.259 -11238042.150 22229397.476 22229400.148 22229397.764
+ -2003.962 -1561.531 50.502 45.070
+ -17595409.098 -13699060.918 21723233.669 21723236.812 21723234.083
+ 963.819 751.026 51.718 45.417
+ -18689397.709 -14547889.034 21240093.110 21240094.336 21240092.472
+ 1885.512 1469.228 51.023 46.112
+ -8475817.305 -6591317.013 23354047.854 23354050.268 23354047.631
+ -3012.365 -2347.305 47.028 42.117
+ -2904222.461 -2217201.343 23823205.886 23823210.051 23823206.533
+ -3154.618 -2458.146 49.460 43.159
+ -5595553.751 -4351798.394 23817564.953 23817567.036 23817565.930
+ 1969.694 1534.814 48.244 41.943
+ -14938465.140 -11385506.145 22192507.884 22192510.747 22192508.380
+ 2925.556 2279.655 51.197 45.244
+ 03 8 2 0 26 19.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24342003.733 -18955937.620 20452990.220 20452992.758 20452990.491
+ 85.224 66.408 52.065 47.849
+ -14455576.219 -11235699.782 22229969.457 22229971.896 22229969.766
+ -2004.184 -1561.700 50.502 45.070
+ -17596854.317 -13700187.061 21722958.619 21722961.469 21722958.968
+ 962.969 750.365 51.718 45.417
+ -18692225.616 -14550092.594 21239554.929 21239555.980 21239554.306
+ 1884.880 1468.735 51.023 46.112
+ -8471298.672 -6587796.004 23354907.791 23354911.017 23354907.330
+ -3012.639 -2347.494 47.028 42.117
+ -2899490.520 -2213514.123 23824106.365 23824110.068 23824106.973
+ -3154.753 -2458.238 49.460 43.159
+ -5598508.483 -4354100.780 23817002.891 23817005.437 23817003.656
+ 1969.732 1534.871 48.244 41.769
+ -14942853.247 -11388925.445 22191672.795 22191675.713 22191673.306
+ 2925.080 2279.279 51.197 45.244
+ 03 8 2 0 26 21.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24342130.937 -18956036.740 20452966.074 20452968.400 20452966.253
+ 84.553 65.885 52.065 47.849
+ -14452569.703 -11233357.043 22230541.468 22230544.257 22230541.910
+ -2004.248 -1561.755 50.502 45.070
+ -17598298.103 -13701312.087 21722683.892 21722686.765 21722684.146
+ 962.249 749.805 51.718 45.244
+ -18695052.451 -14552295.319 21239016.994 21239018.195 21239016.420
+ 1884.435 1468.383 51.023 46.112
+ -8466779.760 -6584274.780 23355767.962 23355771.024 23355767.131
+ -3012.537 -2347.417 47.028 42.117
+ -2894758.337 -2209826.711 23825006.854 23825011.100 23825007.431
+ -3154.698 -2458.205 49.460 43.159
+ -5601463.200 -4356403.155 23816440.435 23816443.500 23816441.348
+ 1969.932 1535.010 48.244 41.769
+ -14947240.533 -11392344.107 22190837.985 22190840.733 22190838.293
+ 2924.750 2279.027 51.197 45.244
+ 03 8 2 0 26 22.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24342256.943 -18956134.928 20452942.066 20452944.554 20452942.302
+ 83.217 64.840 52.065 47.676
+ -14449562.855 -11231014.052 22231113.605 22231116.573 22231114.112
+ -2005.074 -1562.400 50.502 44.896
+ -17599740.613 -13702436.119 21722409.360 21722412.392 21722409.588
+ 960.854 748.707 51.718 45.244
+ -18697878.355 -14554497.327 21238479.213 21238480.448 21238478.673
+ 1883.259 1467.471 51.023 45.938
+ -8462260.642 -6580753.387 23356627.608 23356629.707 23356626.903
+ -3013.230 -2347.976 47.028 41.943
+ -2890026.061 -2206139.227 23825907.470 23825911.497 23825907.891
+ -3155.303 -2458.683 49.460 42.985
+ -5604418.022 -4358705.615 23815877.809 23815880.879 23815879.033
+ 1969.472 1534.656 48.244 41.943
+ -14951627.122 -11395762.229 22190003.232 22190006.241 22190003.466
+ 2923.718 2278.213 51.197 45.244
+ 03 8 2 0 26 24.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24342381.718 -18956232.153 20452918.441 20452920.690 20452918.560
+ 82.944 64.636 52.065 47.676
+ -14446555.628 -11228670.757 22231685.931 22231688.837 22231686.403
+ -2004.743 -1562.132 50.502 45.070
+ -17601181.778 -13703559.104 21722135.108 21722138.190 21722135.269
+ 960.483 748.437 51.718 45.244
+ -18700703.283 -14556698.562 21237941.681 21237943.149 21237941.057
+ 1883.123 1467.370 51.023 45.938
+ -8457741.293 -6577231.814 23357487.788 23357490.573 23357486.928
+ -3012.862 -2347.682 47.028 41.943
+ -2885293.632 -2202451.619 23826808.093 23826811.871 23826808.438
+ -3154.841 -2458.310 49.460 43.159
+ -5607372.915 -4361008.124 23815315.786 23815318.514 23815316.631
+ 1970.073 1535.131 48.244 41.943
+ -14956012.966 -11399179.767 22189168.465 22189171.762 22189168.790
+ 2923.768 2278.264 51.197 45.244
+ 03 8 2 0 26 25.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24342505.280 -18956328.436 20452894.796 20452897.322 20452895.055
+ 81.986 63.880 52.065 47.849
+ -14443548.047 -11226327.188 22232258.217 22232261.180 22232258.722
+ -2005.151 -1562.450 50.502 44.896
+ -17602621.645 -13704681.078 21721861.185 21721864.116 21721861.211
+ 959.509 747.665 51.718 45.417
+ -18703527.279 -14558899.081 21237404.202 21237405.427 21237403.713
+ 1882.360 1466.774 51.023 46.112
+ -8453221.723 -6573710.078 23358347.908 23358350.592 23358346.874
+ -3013.184 -2347.943 47.028 42.117
+ -2880561.079 -2198763.921 23827708.578 23827712.571 23827709.055
+ -3155.026 -2458.462 49.460 42.985
+ -5610327.900 -4363310.707 23814753.608 23814757.046 23814754.301
+ 1969.931 1535.013 48.244 41.769
+ -14960398.102 -11402596.754 22188334.134 22188337.028 22188334.258
+ 2923.191 2277.810 51.197 45.244
+ 03 8 2 0 26 27.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24342627.704 -18956423.834 20452871.558 20452874.025 20452871.805
+ 81.547 63.545 52.065 47.849
+ -14440540.195 -11223983.411 22232830.560 22232833.306 22232831.107
+ -2005.007 -1562.343 50.502 44.896
+ -17604060.269 -13705802.085 21721587.262 21721590.436 21721587.318
+ 958.977 747.259 51.718 45.244
+ -18706350.387 -14561098.909 21236867.071 21236868.322 21236866.546
+ 1882.102 1466.579 51.023 45.938
+ -8448702.042 -6570188.251 23359207.816 23359210.908 23359206.918
+ -3012.845 -2347.675 46.854 41.943
+ -2875828.458 -2195076.163 23828608.964 23828612.823 23828609.607
+ -3154.781 -2458.268 49.286 42.985
+ -5613283.032 -4365613.408 23814190.918 23814194.066 23814191.920
+ 1970.347 1535.333 48.244 41.943
+ -14964782.605 -11406013.248 22187499.633 22187502.806 22187499.926
+ 2923.092 2277.726 51.197 45.244
+ 03 8 2 0 26 28.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24342748.682 -18956518.099 20452848.504 20452850.883 20452848.789
+ 80.153 62.449 52.065 47.849
+ -14437531.770 -11221639.182 22233402.970 22233405.934 22233403.527
+ -2005.796 -1562.951 50.502 44.896
+ -17605497.370 -13706921.900 21721313.880 21721316.672 21721313.778
+ 957.529 746.124 51.718 45.244
+ -18709172.327 -14563297.822 21236330.120 21236331.345 21236329.582
+ 1880.909 1465.635 51.023 45.938
+ -8444181.875 -6566666.047 23360067.672 23360071.185 23360066.730
+ -3013.563 -2348.241 46.854 42.117
+ -2871095.511 -2191388.154 23829510.213 23829513.354 23829510.250
+ -3155.447 -2458.790 49.286 43.159
+ -5616238.060 -4367916.027 23813628.945 23813631.919 23813629.516
+ 1969.893 1534.969 48.244 41.943
+ -14969166.174 -11409429.015 22186665.491 22186668.558 22186665.789
+ 2922.056 2276.920 51.197 45.244
+ 03 8 2 0 26 30.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24342868.515 -18956611.478 20452825.796 20452828.159 20452825.977
+ 79.264 61.767 52.065 47.676
+ -14434523.062 -11219294.736 22233975.490 22233978.470 22233976.035
+ -2006.088 -1563.183 50.502 44.896
+ -17606933.229 -13708040.752 21721040.693 21721043.421 21721040.470
+ 956.581 745.384 51.718 45.244
+ -18711993.378 -14565496.040 21235793.306 21235794.498 21235792.779
+ 1880.178 1465.070 51.023 45.938
+ -8439661.605 -6563143.764 23360927.899 23360930.720 23360926.675
+ -3013.724 -2348.350 46.854 42.117
+ -2866362.512 -2187700.113 23830410.695 23830413.971 23830410.982
+ -3155.587 -2458.900 49.286 42.985
+ -5619193.232 -4370218.761 23813066.424 23813069.416 23813067.107
+ 1969.918 1535.009 48.244 41.943
+ -14973549.084 -11412844.264 22185831.281 22185834.654 22185831.827
+ 2921.448 2276.446 51.197 45.244
+ 03 8 2 0 26 31.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24342987.058 -18956703.850 20452803.271 20452805.599 20452803.421
+ 78.782 61.391 52.065 47.676
+ -14431513.909 -11216949.939 22234548.056 22234551.105 22234548.695
+ -2006.003 -1563.124 50.502 44.896
+ -17608367.702 -13709158.523 21720767.650 21720770.798 21720767.467
+ 956.046 744.975 51.718 45.244
+ -18714813.412 -14567693.468 21235256.641 21235257.968 21235256.150
+ 1879.885 1464.847 51.023 45.938
+ -8435141.020 -6559621.231 23361788.359 23361790.934 23361786.733
+ -3013.620 -2348.268 46.854 42.117
+ -2861629.296 -2184011.894 23831311.492 23831314.584 23831311.736
+ -3155.422 -2458.773 49.286 42.985
+ -5622148.387 -4372521.473 23812504.230 23812506.684 23812504.728
+ 1970.300 1535.288 48.244 41.769
+ -14977931.199 -11416258.896 22184997.388 22185000.704 22184997.956
+ 2921.344 2276.367 51.197 45.244
+ 03 8 2 0 26 33.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927242
+ -24343104.387 -18956795.276 20452780.899 20452783.194 20452781.142
+ 77.585 60.455 52.065 47.849
+ -14428504.399 -11214604.867 22235120.807 22235123.751 22235121.383
+ -2006.693 -1563.650 50.502 45.070
+ -17609800.857 -13710275.270 21720494.997 21720498.012 21720494.676
+ 954.778 743.989 51.718 45.417
+ -18717632.492 -14569890.155 21234720.131 21234721.537 21234719.702
+ 1878.851 1464.038 51.023 45.938
+ -8430620.263 -6556098.576 23362648.198 23362651.703 23362646.846
+ -3014.103 -2348.640 46.854 41.943
+ -2856895.958 -2180323.583 23832211.870 23832215.119 23832212.512
+ -3155.870 -2459.112 49.286 42.985
+ -5625103.650 -4374824.276 23811941.814 23811944.233 23811942.239
+ 1969.919 1534.995 48.244 41.769
+ -14982312.594 -11419672.971 22184163.503 22184166.827 22184164.206
+ 2920.438 2275.665 51.197 45.244
+ 03 8 2 0 26 34.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24343220.560 -18956885.801 20452758.916 20452760.928 20452759.056
+ 76.590 59.676 52.065 47.676
+ -14425494.617 -11212259.586 22235693.543 22235696.324 22235694.180
+ -2007.058 -1563.953 50.502 44.896
+ -17611232.772 -13711391.049 21720222.578 21720225.251 21720222.147
+ 953.718 743.151 51.718 45.244
+ -18720450.685 -14572086.153 21234183.785 21234184.860 21234183.398
+ 1878.043 1463.401 51.023 45.938
+ -8426099.306 -6552575.752 23363508.455 23363511.544 23363507.142
+ -3014.461 -2348.939 46.854 42.117
+ -2852162.576 -2176635.238 23833112.367 23833115.913 23833113.221
+ -3156.103 -2459.303 49.286 42.985
+ -5628059.082 -4377127.206 23811379.692 23811382.502 23811380.051
+ 1969.767 1534.876 48.244 41.943
+ -14986693.339 -11423086.539 22183330.045 22183332.992 22183330.568
+ 2919.795 2275.158 51.197 45.244
+ 03 8 2 0 26 36.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24343335.318 -18956975.220 20452737.032 20452739.294 20452737.214
+ 76.121 59.311 52.065 47.676
+ -14422484.285 -11209913.866 22236266.267 22236269.318 22236267.011
+ -2006.959 -1563.871 50.502 45.070
+ -17612663.180 -13712505.651 21719950.461 21719953.208 21719949.947
+ 953.214 742.763 51.718 45.244
+ -18723267.729 -14574281.246 21233647.821 21233648.816 21233647.354
+ 1877.722 1463.162 51.023 45.938
+ -8421577.979 -6549052.643 23364369.106 23364371.789 23364367.339
+ -3014.254 -2348.759 46.680 42.117
+ -2847428.863 -2172946.627 23834013.394 23834016.686 23834014.027
+ -3155.853 -2459.113 49.286 42.985
+ -5631014.438 -4379430.087 23810817.299 23810819.710 23810817.747
+ 1970.247 1535.271 48.244 41.943
+ -14991073.162 -11426499.380 22182496.409 22182499.508 22182497.059
+ 2919.659 2275.048 51.023 45.244
+ 03 8 2 0 26 37.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24343448.960 -18957063.775 20452715.361 20452717.581 20452715.560
+ 75.218 58.609 52.065 47.676
+ -14419473.690 -11207567.949 22236839.223 22236841.875 22236839.868
+ -2007.316 -1564.149 50.502 44.896
+ -17614092.366 -13713619.304 21719678.499 21719680.993 21719677.935
+ 952.211 741.981 51.718 45.244
+ -18726083.926 -14576475.685 21233111.673 21233112.824 21233111.472
+ 1877.004 1462.589 51.023 46.112
+ -8417056.528 -6545529.437 23365229.620 23365232.550 23365227.708
+ -3014.458 -2348.930 46.680 42.117
+ -2842695.119 -2169258.008 23834913.996 23834917.884 23834914.765
+ -3156.032 -2459.245 49.286 42.985
+ -5633969.966 -4381733.097 23810254.749 23810257.098 23810255.332
+ 1970.193 1535.206 48.244 41.943
+ -14995452.357 -11429911.737 22181663.093 22181666.633 22181663.636
+ 2919.066 2274.595 51.023 45.244
+ 03 8 2 0 26 39.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24343561.366 -18957151.365 20452693.994 20452696.252 20452694.138
+ 74.628 58.157 52.065 47.676
+ -14416462.718 -11205221.745 22237412.150 22237415.069 22237412.829
+ -2007.314 -1564.133 50.328 44.896
+ -17615520.220 -13714731.919 21719406.728 21719409.691 21719406.183
+ 951.536 741.461 51.718 45.244
+ -18728899.132 -14578669.354 21232576.071 21232577.387 21232575.683
+ 1876.552 1462.249 51.023 45.938
+ -8412534.859 -6542006.056 23366090.477 23366093.028 23366088.087
+ -3014.441 -2348.927 46.680 42.117
+ -2837961.236 -2165569.271 23835814.878 23835818.722 23835815.585
+ -3155.906 -2459.152 49.286 42.985
+ -5636925.572 -4384036.161 23809692.543 23809694.721 23809692.884
+ 1970.455 1535.421 48.244 41.943
+ -14999830.818 -11433323.524 22180829.889 22180833.260 22180830.346
+ 2918.775 2274.368 51.023 45.244
+ 03 8 2 0 26 40.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24343672.399 -18957237.883 20452672.834 20452674.959 20452673.000
+ 73.684 57.417 52.065 47.849
+ -14413451.248 -11202875.144 22237985.362 22237988.288 22237985.981
+ -2007.662 -1564.420 50.328 44.896
+ -17616946.609 -13715843.388 21719135.367 21719138.295 21719134.731
+ 950.543 740.674 51.718 45.417
+ -18731713.255 -14580862.175 21232040.781 21232041.991 21232040.158
+ 1875.826 1461.684 51.023 45.938
+ -8408012.804 -6538482.386 23366950.562 23366953.564 23366948.644
+ -3014.731 -2349.133 46.680 42.117
+ -2833227.083 -2161880.323 23836715.665 23836719.281 23836716.472
+ -3156.141 -2459.333 49.286 42.985
+ -5639881.070 -4386339.150 23809129.895 23809132.367 23809130.397
+ 1970.414 1535.400 48.244 42.117
+ -15004208.415 -11436734.636 22179996.865 22180000.128 22179997.217
+ 2918.188 2273.905 51.023 45.244
+ 03 8 2 0 26 42.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24343782.271 -18957323.499 20452651.975 20452654.087 20452652.126
+ 72.331 56.357 52.065 47.676
+ -14410439.478 -11200528.309 22238558.398 22238561.022 22238559.134
+ -2008.481 -1565.054 50.328 44.896
+ -17618371.751 -13716953.890 21718864.161 21718867.044 21718863.569
+ 949.166 739.605 51.718 45.244
+ -18734526.469 -14583054.290 21231505.338 21231506.509 21231504.783
+ 1874.663 1460.770 51.023 45.938
+ -8403490.597 -6534958.588 23367811.434 23367814.049 23367809.218
+ -3015.389 -2349.661 46.680 42.117
+ -2828492.873 -2158191.330 23837616.744 23837620.110 23837617.366
+ -3156.634 -2459.725 49.286 42.985
+ -5642836.693 -4388642.227 23808567.336 23808570.062 23808567.849
+ 1969.877 1534.969 48.244 41.943
+ -15008585.342 -11440145.227 22179164.023 22179167.260 22179164.298
+ 2917.162 2273.107 51.023 45.244
+ 03 8 2 0 26 43.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24343890.933 -18957408.171 20452631.404 20452633.247 20452631.460
+ 71.971 56.080 52.065 47.676
+ -14407427.353 -11198181.199 22239131.728 22239134.620 22239132.332
+ -2008.255 -1564.878 50.328 44.896
+ -17619795.584 -13718063.372 21718593.170 21718596.047 21718592.642
+ 948.751 739.288 51.718 45.244
+ -18737338.731 -14585245.663 21230970.105 21230971.106 21230969.618
+ 1874.450 1460.609 51.023 45.938
+ -8398968.223 -6531434.663 23368671.959 23368674.792 23368669.945
+ -3015.107 -2349.439 46.680 42.117
+ -2823758.521 -2154502.224 23838517.545 23838521.497 23838518.378
+ -3156.342 -2459.485 49.286 42.985
+ -5645792.444 -4390945.400 23808004.749 23808008.051 23808005.222
+ 1970.388 1535.352 48.244 41.943
+ -15012961.552 -11443555.257 22178330.983 22178334.423 22178331.428
+ 2917.160 2273.110 51.023 45.244
+ 03 8 2 0 26 45.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927241
+ -24343998.282 -18957491.820 20452610.879 20452613.070 20452611.082
+ 70.775 55.139 52.065 47.849
+ -14404414.800 -11195833.754 22239704.945 22239707.827 22239705.655
+ -2008.860 -1565.354 50.328 44.896
+ -17621218.002 -13719171.747 21718322.586 21718325.382 21718321.960
+ 947.457 738.267 51.718 45.244
+ -18740149.944 -14587436.218 21230435.195 21230436.392 21230434.655
+ 1873.446 1459.817 51.023 45.938
+ -8394445.526 -6527910.489 23369532.783 23369535.435 23369530.680
+ -3015.515 -2349.754 46.680 42.117
+ -2819023.965 -2150812.966 23839418.719 23839422.357 23839419.331
+ -3156.822 -2459.870 49.286 42.985
+ -5648748.156 -4393248.552 23807442.336 23807445.955 23807442.584
+ 1969.996 1535.066 48.244 41.943
+ -15017336.940 -11446964.649 22177498.491 22177501.828 22177498.739
+ 2916.300 2272.428 51.023 45.244
+ 03 8 2 0 26 46.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24344104.574 -18957574.646 20452590.674 20452592.691 20452590.901
+ 70.533 54.966 52.065 47.676
+ -14401402.042 -11193486.154 22240278.204 22240281.002 22240278.959
+ -2008.503 -1565.068 50.328 44.896
+ -17622639.279 -13720279.238 21718052.121 21718054.818 21718051.458
+ 947.155 738.048 51.718 45.417
+ -18742960.368 -14589626.164 21229900.360 21229901.353 21229899.887
+ 1873.374 1459.779 51.023 45.938
+ -8389922.743 -6524386.248 23370393.323 23370395.870 23370391.579
+ -3015.247 -2349.526 46.506 42.117
+ -2814289.439 -2147123.734 23840319.659 23840323.405 23840320.271
+ -3156.294 -2459.444 49.286 42.812
+ -5651704.125 -4395551.911 23806879.608 23806883.203 23806879.895
+ 1970.691 1535.608 48.244 42.117
+ -15021711.766 -11450373.605 22176665.967 22176669.354 22176666.189
+ 2916.358 2272.493 51.023 45.244
+ 03 8 2 0 26 48.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24344209.465 -18957656.378 20452570.824 20452572.876 20452570.970
+ 69.580 54.215 52.065 47.849
+ -14398388.746 -11191138.131 22240851.628 22240854.466 22240852.411
+ -2008.910 -1565.385 50.328 44.896
+ -17624059.057 -13721385.553 21717781.868 21717784.740 21717781.268
+ 946.152 737.255 51.718 45.244
+ -18745769.647 -14591815.211 21229365.953 21229366.931 21229365.367
+ 1872.593 1459.162 51.023 45.938
+ -8385399.593 -6520861.713 23371253.514 23371256.171 23371252.404
+ -3015.541 -2349.787 46.506 42.117
+ -2809554.618 -2143434.264 23841220.538 23841224.432 23841221.224
+ -3156.554 -2459.657 49.286 42.985
+ -5654659.970 -4397855.165 23806317.428 23806320.341 23806317.166
+ 1970.569 1535.512 48.244 41.943
+ -15026085.688 -11453781.850 22175833.729 22175837.138 22175833.796
+ 2915.743 2271.999 51.023 45.244
+ 03 8 2 0 26 49.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24344313.158 -18957737.180 20452551.033 20452553.099 20452551.263
+ 68.669 53.509 52.239 47.849
+ -14395375.126 -11188789.858 22241425.150 22241428.000 22241425.931
+ -2009.232 -1565.639 50.328 44.896
+ -17625477.552 -13722490.877 21717512.072 21717514.828 21717511.378
+ 945.164 736.494 51.718 45.244
+ -18748578.005 -14594003.541 21228831.435 21228832.549 21228831.014
+ 1871.860 1458.595 51.023 45.938
+ -8380876.269 -6517337.054 23372114.438 23372117.380 23372113.346
+ -3015.630 -2349.818 46.506 42.117
+ -2804819.694 -2139744.719 23842121.565 23842125.290 23842122.237
+ -3156.715 -2459.767 49.286 42.985
+ -5657615.965 -4400158.542 23805754.880 23805757.653 23805754.497
+ 1970.628 1535.556 48.244 41.943
+ -15030458.914 -11457189.560 22175001.441 22175004.760 22175001.494
+ 2915.136 2271.532 51.023 45.244
+ 03 8 2 0 26 51.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24344415.515 -18957816.939 20452531.544 20452533.596 20452531.755
+ 67.933 52.938 52.239 47.676
+ -14392361.043 -11186441.221 22241998.658 22242001.464 22241999.460
+ -2009.365 -1565.738 50.328 44.896
+ -17626894.606 -13723595.072 21717242.419 21717245.061 21717241.772
+ 944.367 735.876 51.718 45.244
+ -18751385.279 -14596191.027 21228297.332 21228298.355 21228296.836
+ 1871.320 1458.175 51.023 45.938
+ -8376352.575 -6513812.093 23372975.320 23372977.943 23372974.392
+ -3015.768 -2349.958 46.506 42.117
+ -2800084.554 -2136055.004 23843023.074 23843026.256 23843023.279
+ -3156.692 -2459.758 49.286 42.985
+ -5660571.962 -4402461.913 23805192.023 23805194.782 23805191.858
+ 1970.726 1535.624 48.244 42.117
+ -15034831.306 -11460596.613 22174169.398 22174172.972 22174169.302
+ 2914.754 2271.238 51.023 45.244
+ 03 8 2 0 26 52.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24344516.686 -18957895.773 20452512.303 20452514.479 20452512.512
+ 66.985 52.193 52.239 47.676
+ -14389346.627 -11184092.325 22242572.312 22242575.112 22242573.031
+ -2009.776 -1566.064 50.328 44.896
+ -17628310.395 -13724698.282 21716972.763 21716975.408 21716972.361
+ 943.382 735.095 51.718 45.244
+ -18754191.639 -14598377.801 21227763.314 21227764.254 21227762.815
+ 1870.553 1457.571 51.023 45.938
+ -8371828.749 -6510287.029 23373836.078 23373839.174 23373835.236
+ -3016.004 -2350.119 46.506 42.117
+ -2795349.307 -2132365.206 23843924.160 23843927.243 23843924.383
+ -3156.903 -2459.922 49.112 42.985
+ -5663528.027 -4404765.336 23804629.710 23804632.313 23804629.124
+ 1970.625 1535.542 48.244 41.943
+ -15039203.006 -11464003.127 22173337.586 22173341.004 22173337.327
+ 2914.157 2270.764 51.023 45.244
+ 03 8 2 0 26 54.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24344616.633 -18957973.655 20452493.287 20452495.297 20452493.482
+ 66.296 51.655 52.239 47.849
+ -14386331.868 -11181743.161 22243145.913 22243148.753 22243146.670
+ -2009.886 -1566.147 50.328 44.896
+ -17629724.851 -13725800.454 21716703.658 21716706.455 21716703.263
+ 942.591 734.490 51.718 45.417
+ -18756997.033 -14600563.821 21227229.374 21227230.334 21227229.025
+ 1870.007 1457.151 51.023 45.938
+ -8367304.682 -6506761.789 23374696.996 23374700.229 23374696.286
+ -3016.029 -2350.158 46.506 42.117
+ -2790613.940 -2128675.308 23844824.971 23844828.606 23844825.323
+ -3156.881 -2459.895 49.112 42.985
+ -5666484.233 -4407068.872 23804066.820 23804070.578 23804066.525
+ 1970.853 1535.736 48.244 42.117
+ -15043573.970 -11467409.074 22172505.770 22172509.094 22172505.574
+ 2913.773 2270.473 51.023 45.244
+ 03 8 2 0 26 55.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24344715.318 -18958050.554 20452474.468 20452476.602 20452474.667
+ 65.191 50.798 52.239 47.849
+ -14383316.710 -11179393.691 22243719.709 22243722.254 22243720.345
+ -2010.372 -1566.518 50.328 44.896
+ -17631137.953 -13726901.575 21716434.747 21716437.388 21716434.391
+ 941.409 733.566 51.718 45.244
+ -18759801.434 -14602749.071 21226695.948 21226696.508 21226695.406
+ 1869.089 1456.434 51.023 45.938
+ -8362780.383 -6503236.367 23375557.468 23375560.836 23375557.542
+ -3016.429 -2350.455 46.333 42.117
+ -2785878.415 -2124985.295 23845725.772 23845729.499 23845726.347
+ -3157.248 -2460.207 49.112 42.812
+ -5669440.449 -4409372.417 23803504.401 23803508.008 23803503.871
+ 1970.590 1535.528 48.244 42.117
+ -15047944.159 -11470814.415 22171674.058 22171677.822 22171674.047
+ 2913.006 2269.871 51.023 45.244
+ 03 8 2 0 26 57.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24344812.853 -18958126.557 20452456.042 20452458.023 20452456.114
+ 64.605 50.343 52.239 47.676
+ -14380301.265 -11177043.992 22244293.449 22244296.334 22244294.075
+ -2010.413 -1566.553 50.328 44.896
+ -17632549.811 -13728001.724 21716166.071 21716168.928 21716165.730
+ 940.763 733.056 51.718 45.417
+ -18762604.945 -14604933.626 21226162.339 21226163.154 21226161.978
+ 1868.663 1456.101 51.023 45.938
+ -8358255.922 -6499710.814 23376418.379 23376421.964 23376418.560
+ -3016.252 -2350.320 46.333 41.943
+ -2781142.835 -2121295.239 23846626.610 23846630.239 23846627.321
+ -3157.120 -2460.082 49.112 42.985
+ -5672396.861 -4411676.112 23802942.051 23802944.992 23802941.164
+ 1970.841 1535.725 48.244 42.117
+ -15052313.696 -11474219.247 22170842.637 22170846.104 22170842.560
+ 2912.778 2269.695 51.023 45.244
+ 03 8 2 0 26 58.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24344909.012 -18958201.486 20452437.665 20452439.726 20452437.825
+ 63.813 49.729 52.239 47.676
+ -14377285.324 -11174693.905 22244867.483 22244870.179 22244867.899
+ -2010.638 -1566.734 50.328 44.896
+ -17633960.202 -13729100.726 21715897.619 21715900.116 21715897.362
+ 939.928 732.410 51.718 45.244
+ -18765407.337 -14607117.305 21225629.242 21225629.573 21225628.757
+ 1868.039 1455.621 51.023 45.938
+ -8353731.116 -6496184.991 23377279.635 23377282.667 23377279.716
+ -3016.525 -2350.514 46.333 42.117
+ -2776406.982 -2117604.970 23847527.951 23847531.227 23847528.307
+ -3157.170 -2460.128 49.112 42.812
+ -5675353.187 -4413979.734 23802379.100 23802382.805 23802378.493
+ 1970.940 1535.803 48.244 42.117
+ -15056682.350 -11477623.384 22170011.466 22170014.775 22170011.279
+ 2912.263 2269.297 51.023 45.244
+ 03 8 2 0 27 0.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24345003.921 -18958275.439 20452419.754 20452421.627 20452419.793
+ 62.552 48.733 52.239 47.849
+ -14374268.994 -11172343.516 22245441.154 22245444.321 22245441.723
+ -2011.283 -1567.244 50.328 44.896
+ -17635369.246 -13730198.683 21715629.582 21715632.195 21715629.275
+ 938.620 731.390 51.718 45.244
+ -18768208.750 -14609300.223 21225095.952 21225096.603 21225095.691
+ 1866.989 1454.793 51.023 45.938
+ -8349206.035 -6492658.958 23378140.449 23378144.633 23378140.833
+ -3017.138 -2351.034 46.333 42.117
+ -2771670.959 -2113914.565 23848429.570 23848433.084 23848429.489
+ -3157.668 -2460.511 49.112 42.812
+ -5678309.598 -4416283.433 23801816.684 23801820.081 23801815.824
+ 1970.597 1535.521 48.244 42.117
+ -15061050.263 -11481026.952 22169180.348 22169183.489 22169180.125
+ 2911.388 2268.611 51.023 45.244
+ 03 8 2 0 27 1.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24345097.619 -18958348.453 20452401.748 20452403.753 20452401.947
+ 61.820 48.169 52.239 47.676
+ -14371252.309 -11169992.860 22246015.263 22246018.361 22246015.653
+ -2011.485 -1567.396 50.328 44.896
+ -17636776.981 -13731295.618 21715361.648 21715364.399 21715361.430
+ 937.792 730.746 51.718 45.244
+ -18771009.210 -14611482.400 21224563.009 21224563.916 21224562.820
+ 1866.431 1454.359 51.023 45.938
+ -8344680.793 -6489132.801 23379001.628 23379005.249 23379002.195
+ -3017.145 -2351.032 46.333 42.117
+ -2766934.855 -2110224.100 23849330.998 23849334.612 23849330.759
+ -3157.679 -2460.527 49.112 42.985
+ -5681266.070 -4418587.185 23801254.112 23801257.570 23801253.223
+ 1970.678 1535.590 48.244 42.117
+ -15065417.432 -11484429.943 22168349.182 22168352.552 22168349.195
+ 2910.943 2268.268 51.023 45.244
+ 03 8 2 0 27 3.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24345190.209 -18958420.602 20452384.225 20452386.064 20452384.332
+ 61.363 47.821 52.239 47.676
+ -14368235.394 -11167642.019 22246589.414 22246592.410 22246589.621
+ -2011.332 -1567.268 50.328 44.896
+ -17638183.512 -13732391.615 21715094.082 21715096.633 21715093.843
+ 937.304 730.370 51.718 45.244
+ -18773808.812 -14613663.907 21224030.583 21224030.873 21224030.111
+ 1866.126 1454.126 51.023 45.938
+ -8340155.416 -6485606.535 23379862.513 23379866.093 23379863.137
+ -3016.997 -2350.900 46.333 42.117
+ -2762198.725 -2106533.613 23850232.228 23850235.421 23850232.183
+ -3157.388 -2460.291 49.112 42.985
+ -5684222.779 -4420891.115 23800691.444 23800695.004 23800690.595
+ 1971.155 1535.962 48.244 42.117
+ -15069783.973 -11487832.439 22167518.261 22167521.090 22167518.423
+ 2910.804 2268.160 50.849 45.244
+ 03 8 2 0 27 4.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24345281.355 -18958491.624 20452366.713 20452368.778 20452366.970
+ 59.799 46.584 52.239 47.676
+ -14365217.904 -11165290.730 22247163.606 22247166.639 22247163.770
+ -2012.304 -1568.037 50.328 44.896
+ -17639588.500 -13733486.408 21714826.569 21714829.210 21714826.497
+ 935.662 729.076 51.718 45.417
+ -18776607.242 -14615844.501 21223497.996 21223498.266 21223497.672
+ 1864.741 1453.036 51.023 45.938
+ -8335629.628 -6482079.945 23380723.626 23380727.622 23380724.292
+ -3017.879 -2351.608 46.333 42.117
+ -2757462.248 -2102842.847 23851133.590 23851137.213 23851133.712
+ -3158.282 -2461.009 49.112 42.985
+ -5687179.321 -4423194.907 23800128.919 23800131.940 23800127.982
+ 1970.415 1535.380 48.244 42.117
+ -15074149.583 -11491234.211 22166687.521 22166690.965 22166687.714
+ 2909.595 2267.210 50.849 45.244
+ 03 8 2 0 27 6.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24345371.431 -18958561.812 20452349.831 20452351.839 20452349.872
+ 59.728 46.541 52.239 47.676
+ -14362200.203 -11162939.274 22247737.883 22247740.965 22247737.903
+ -2011.810 -1567.646 50.154 44.896
+ -17640992.319 -13734580.291 21714559.517 21714562.247 21714559.360
+ 935.506 728.963 51.718 45.417
+ -18779404.856 -14618024.462 21222965.526 21222966.023 21222965.310
+ 1864.827 1453.114 51.023 45.938
+ -8331103.770 -6478553.309 23381585.077 23381589.162 23381585.488
+ -3017.270 -2351.130 46.159 42.117
+ -2752725.822 -2099152.127 23852034.614 23852038.797 23852035.226
+ -3157.583 -2460.453 49.112 42.812
+ -5690136.090 -4425498.887 23799566.503 23799569.218 23799565.453
+ 1971.202 1536.005 48.244 42.117
+ -15078514.606 -11494635.526 22165856.888 22165860.219 22165857.137
+ 2909.798 2267.376 50.849 45.244
+ 03 8 2 0 27 7.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24345460.112 -18958630.914 20452332.770 20452334.814 20452332.974
+ 58.630 45.684 52.239 47.676
+ -14359181.985 -11160587.418 22248312.122 22248315.499 22248312.173
+ -2012.346 -1568.061 50.154 44.896
+ -17642394.658 -13735673.025 21714292.591 21714295.248 21714292.455
+ 934.370 728.082 51.718 45.244
+ -18782201.356 -14620203.552 21222433.585 21222433.945 21222433.199
+ 1863.939 1452.415 51.023 45.938
+ -8326577.597 -6475026.429 23382446.555 23382450.432 23382446.747
+ -3017.441 -2351.264 46.159 42.117
+ -2747989.077 -2095461.165 23852935.662 23852939.712 23852936.592
+ -3157.990 -2460.776 49.112 42.812
+ -5693092.777 -4427802.797 23799004.026 23799007.039 23799003.094
+ 1970.954 1535.812 48.244 42.117
+ -15082878.746 -11498036.152 22165026.524 22165029.496 22165026.717
+ 2909.045 2266.787 50.849 45.244
+ 03 8 2 0 27 9.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24345547.634 -18958699.114 20452316.178 20452318.408 20452316.306
+ 58.150 45.316 52.239 47.849
+ -14356163.486 -11158235.344 22248886.515 22248889.856 22248886.559
+ -2012.230 -1567.974 50.154 44.896
+ -17643795.735 -13736764.775 21714025.954 21714028.704 21714025.819
+ 933.829 727.664 51.718 45.244
+ -18784996.945 -14622381.934 21221901.519 21221902.058 21221901.263
+ 1863.626 1452.181 51.023 45.938
+ -8322051.164 -6471499.342 23383307.890 23383312.000 23383307.858
+ -3017.430 -2351.247 46.159 42.117
+ -2743252.306 -2091770.184 23853836.971 23853841.202 23853837.927
+ -3157.672 -2460.512 48.938 42.812
+ -5696049.591 -4430106.806 23798441.356 23798444.643 23798440.635
+ 1971.385 1536.151 48.244 42.117
+ -15087242.198 -11501436.242 22164196.243 22164199.468 22164196.434
+ 2908.901 2266.685 50.849 45.244
+ 03 8 2 0 27 10.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24345633.893 -18958766.331 20452299.819 20452301.732 20452299.863
+ 56.869 44.319 52.239 47.849
+ -14353144.596 -11155882.965 22249461.201 22249464.350 22249461.028
+ -2012.926 -1568.514 50.154 44.896
+ -17645195.451 -13737855.461 21713759.597 21713762.395 21713759.383
+ 932.483 726.614 51.718 45.417
+ -18787791.536 -14624559.536 21221369.666 21221369.927 21221369.461
+ 1862.525 1451.322 51.023 45.938
+ -8317524.542 -6467972.116 23384169.202 23384172.887 23384169.114
+ -3018.046 -2351.718 46.159 41.943
+ -2738515.358 -2088079.061 23854738.548 23854742.439 23854739.349
+ -3158.223 -2460.952 48.938 42.812
+ -5699006.461 -4432410.862 23797878.807 23797881.677 23797878.128
+ 1970.987 1535.846 48.244 42.117
+ -15091604.875 -11504835.729 22163365.993 22163368.622 22163366.333
+ 2907.963 2265.946 50.849 45.244
+ 03 8 2 0 27 12.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24345718.844 -18958832.525 20452283.555 20452285.539 20452283.662
+ 55.976 43.617 52.239 47.676
+ -14350125.265 -11153530.237 22250035.716 22250038.923 22250035.573
+ -2013.248 -1568.766 50.154 44.896
+ -17646593.764 -13738945.050 21713493.548 21713496.338 21713493.248
+ 931.536 725.869 51.718 45.244
+ -18790585.083 -14626736.323 21220837.971 21220838.435 21220837.922
+ 1861.797 1450.747 51.023 45.938
+ -8312997.609 -6464444.631 23385030.437 23385034.484 23385030.489
+ -3018.235 -2351.878 46.159 42.117
+ -2733778.217 -2084387.790 23855640.084 23855644.012 23855640.674
+ -3158.378 -2461.078 48.938 42.812
+ -5701963.288 -4434714.878 23797316.225 23797319.494 23797315.642
+ 1970.929 1535.754 48.244 42.117
+ -15095966.752 -11508234.592 22162535.983 22162539.044 22162536.385
+ 2907.423 2265.519 50.849 45.244
+ 03 8 2 0 27 13.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24345802.687 -18958897.860 20452267.666 20452269.732 20452267.703
+ 55.478 43.234 52.239 47.676
+ -14347105.711 -11151177.343 22250610.184 22250613.211 22250610.093
+ -2013.153 -1568.688 50.154 44.896
+ -17647990.872 -13740033.710 21713227.668 21713230.666 21713227.415
+ 930.982 725.443 51.718 45.244
+ -18793377.785 -14628912.458 21220306.792 21220307.086 21220306.515
+ 1861.465 1450.494 51.023 45.938
+ -8308470.584 -6460917.092 23385892.171 23385895.628 23385892.027
+ -3018.075 -2351.737 46.159 42.117
+ -2729041.062 -2080696.511 23856541.839 23856545.597 23856542.193
+ -3158.187 -2460.906 48.938 42.812
+ -5704920.323 -4437019.070 23796753.417 23796756.279 23796753.012
+ 1971.306 1536.103 48.244 42.117
+ -15100327.994 -11511632.963 22161706.388 22161708.974 22161706.560
+ 2907.224 2265.377 50.849 45.244
+ 03 8 2 0 27 15.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24345885.157 -18958962.123 20452251.990 20452254.114 20452252.033
+ 54.920 42.798 52.239 47.676
+ -14344085.654 -11148824.055 22251185.035 22251188.017 22251184.787
+ -2013.092 -1568.637 50.154 44.896
+ -17649386.511 -13741121.217 21712962.169 21712965.089 21712961.915
+ 930.322 724.932 51.718 45.244
+ -18796169.374 -14631087.721 21219775.479 21219775.724 21219775.270
+ 1861.076 1450.200 51.023 45.938
+ -8303943.229 -6457389.282 23386754.243 23386757.604 23386753.672
+ -3018.033 -2351.710 46.159 42.290
+ -2724303.665 -2077005.028 23857443.361 23857447.027 23857443.818
+ -3157.930 -2460.719 48.938 42.812
+ -5707877.304 -4439323.206 23796191.042 23796193.926 23796190.447
+ 1971.602 1536.311 48.244 42.117
+ -15104688.362 -11515030.649 22160876.611 22160879.368 22160876.896
+ 2906.986 2265.183 50.849 45.244
+ 03 8 2 0 27 16.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24345966.446 -18959025.468 20452236.474 20452238.720 20452236.584
+ 53.479 41.670 52.239 47.849
+ -14341065.294 -11146470.531 22251759.981 22251762.843 22251759.476
+ -2013.939 -1569.305 50.154 44.896
+ -17650780.882 -13742207.747 21712696.888 21712699.537 21712696.615
+ 928.839 723.775 51.718 45.417
+ -18798960.047 -14633262.272 21219244.481 21219244.652 21219244.242
+ 1859.833 1449.210 51.023 45.938
+ -8299415.691 -6453861.333 23387615.394 23387619.133 23387615.579
+ -3018.782 -2352.306 46.159 42.290
+ -2719566.180 -2073313.485 23858344.824 23858348.520 23858345.510
+ -3158.643 -2461.263 48.938 42.812
+ -5710834.463 -4441627.485 23795628.118 23795630.958 23795627.864
+ 1971.131 1535.937 48.244 42.290
+ -15109048.026 -11518427.789 22160046.850 22160049.913 22160047.357
+ 2905.887 2264.321 50.849 45.244
+ 03 8 2 0 27 18.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24346046.520 -18959087.862 20452221.266 20452223.310 20452221.406
+ 52.898 41.219 52.239 47.849
+ -14338044.576 -11144116.721 22252334.913 22252337.767 22252334.370
+ -2014.010 -1569.353 50.154 44.896
+ -17652173.929 -13743293.238 21712431.668 21712434.540 21712431.538
+ 928.179 723.256 51.718 45.417
+ -18801749.752 -14635436.064 21218713.556 21218713.700 21218713.453
+ 1859.420 1448.902 51.023 45.938
+ -8294887.940 -6450333.225 23388477.307 23388480.858 23388477.379
+ -3018.631 -2352.168 46.159 42.290
+ -2714828.580 -2069621.849 23859246.372 23859250.113 23859247.048
+ -3158.511 -2461.168 48.938 42.812
+ -5713791.716 -4443931.836 23795065.277 23795068.100 23795065.218
+ 1971.348 1536.121 48.244 42.290
+ -15113406.965 -11521824.362 22159217.415 22159220.319 22159217.906
+ 2905.618 2264.124 50.849 45.244
+ 03 8 2 0 27 19.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24346125.181 -18959149.154 20452206.246 20452208.258 20452206.494
+ 51.472 40.100 52.239 47.849
+ -14335023.334 -11141762.502 22252909.836 22252912.395 22252909.341
+ -2014.856 -1570.021 50.154 44.896
+ -17653565.471 -13744377.554 21712166.888 21712169.575 21712166.739
+ 926.710 722.098 51.718 45.417
+ -18804538.305 -14637608.964 21218182.938 21218183.471 21218182.798
+ 1858.145 1447.901 51.023 45.938
+ -8290359.816 -6446804.812 23389339.315 23389342.245 23389339.316
+ -3019.321 -2352.740 46.159 42.117
+ -2710090.671 -2065929.976 23860147.653 23860151.878 23860148.634
+ -3159.199 -2461.715 48.938 42.812
+ -5716748.848 -4446236.093 23794502.520 23794505.454 23794502.537
+ 1970.831 1535.693 48.244 42.290
+ -15117764.982 -11525220.217 22158388.075 22158391.011 22158388.650
+ 2904.483 2263.223 50.849 45.244
+ 03 8 2 0 27 21.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24346202.813 -18959209.650 20452191.552 20452193.562 20452191.794
+ 51.034 39.761 52.239 47.676
+ -14332001.938 -11139408.174 22253484.837 22253487.758 22253484.336
+ -2014.691 -1569.889 50.154 44.896
+ -17654955.900 -13745461.007 21711902.544 21711905.148 21711902.138
+ 926.217 721.726 51.718 45.417
+ -18807326.093 -14639781.269 21217652.540 21217652.778 21217652.363
+ 1857.918 1447.731 51.023 45.938
+ -8285831.659 -6443276.386 23390200.454 23390204.033 23390201.279
+ -3019.211 -2352.644 46.159 42.117
+ -2705352.846 -2062238.171 23861049.257 23861053.079 23861050.150
+ -3158.958 -2461.535 48.938 42.812
+ -5719706.272 -4448540.576 23793939.386 23793942.571 23793939.815
+ 1971.251 1536.029 48.244 42.290
+ -15122122.484 -11528615.674 22157558.955 22157561.756 22157559.443
+ 2904.434 2263.189 50.849 45.244
+ 03 8 2 0 27 22.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24346279.128 -18959269.116 20452177.072 20452179.152 20452177.266
+ 50.449 39.315 52.239 47.849
+ -14328980.089 -11137053.486 22254059.724 22254062.459 22254059.458
+ -2014.639 -1569.846 50.154 44.896
+ -17656344.897 -13746543.344 21711638.208 21711640.936 21711637.851
+ 925.548 721.201 51.718 45.417
+ -18810112.819 -14641952.744 21217122.242 21217122.454 21217122.086
+ 1857.495 1447.409 51.023 45.938
+ -8281303.205 -6439747.731 23391063.042 23391066.208 23391063.360
+ -3019.037 -2352.493 46.159 42.117
+ -2700614.824 -2058546.215 23861951.021 23861954.552 23861951.769
+ -3158.742 -2461.343 48.938 42.812
+ -5722663.675 -4450845.041 23793376.728 23793380.210 23793376.969
+ 1971.576 1536.286 48.244 42.290
+ -15126479.133 -11532010.462 22156729.862 22156732.873 22156730.431
+ 2904.142 2262.971 50.849 45.244
+ 03 8 2 0 27 24.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24346354.218 -18959327.632 20452162.848 20452164.714 20452162.977
+ 49.366 38.468 52.239 47.676
+ -14325957.888 -11134698.522 22254634.754 22254637.627 22254634.679
+ -2015.213 -1570.299 50.154 44.896
+ -17657732.590 -13747624.665 21711374.197 21711376.947 21711373.780
+ 924.403 720.312 51.718 45.417
+ -18812898.579 -14644123.467 21216591.937 21216592.454 21216591.979
+ 1856.566 1446.667 51.023 45.938
+ -8276774.597 -6436218.943 23391925.341 23391927.545 23391925.456
+ -3019.350 -2352.739 46.159 42.117
+ -2695876.682 -2054854.158 23862852.887 23862856.595 23862853.414
+ -3159.090 -2461.647 48.938 42.812
+ -5725621.187 -4453149.595 23792813.887 23792817.583 23792814.093
+ 1971.369 1536.131 48.244 42.290
+ -15130835.060 -11535404.695 22155900.860 22155903.925 22155901.538
+ 2903.421 2262.411 50.849 45.244
+ 03 8 2 0 27 25.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24346427.996 -18959385.119 20452148.684 20452150.681 20452148.996
+ 48.765 37.998 52.239 47.676
+ -14322935.248 -11132343.219 22255210.106 22255212.637 22255210.049
+ -2015.182 -1570.275 50.154 44.896
+ -17659118.865 -13748704.880 21711110.391 21711113.096 21711110.004
+ 923.766 719.815 51.718 45.417
+ -18815683.292 -14646293.370 21216062.030 21216062.254 21216062.036
+ 1856.159 1446.349 51.023 45.938
+ -8272245.638 -6432689.886 23392786.926 23392789.036 23392787.641
+ -3019.349 -2352.740 46.159 42.117
+ -2691138.338 -2051161.942 23863754.704 23863758.442 23863755.249
+ -3158.901 -2461.471 48.938 42.638
+ -5728578.671 -4455454.124 23792251.244 23792255.146 23792251.330
+ 1971.584 1536.300 48.244 42.464
+ -15135190.166 -11538798.279 22155071.981 22155075.198 22155072.783
+ 2903.107 2262.161 50.849 45.244
+ 03 8 2 0 27 27.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24346500.487 -18959441.607 20452134.905 20452136.815 20452135.230
+ 47.662 37.129 52.239 47.849
+ -14319912.208 -11129987.601 22255785.371 22255788.118 22255785.448
+ -2015.750 -1570.722 50.154 44.896
+ -17660503.756 -13749784.014 21710846.794 21710849.311 21710846.425
+ 922.558 718.867 51.718 45.417
+ -18818466.970 -14648462.472 21215532.413 21215532.700 21215532.293
+ 1855.218 1445.615 51.197 45.938
+ -8267716.431 -6429160.635 23393649.220 23393651.768 23393649.998
+ -3019.799 -2353.094 46.159 42.117
+ -2686399.810 -2047469.583 23864656.409 23864660.158 23864656.996
+ -3159.291 -2461.810 48.938 42.812
+ -5731536.203 -4457758.692 23791688.146 23791691.809 23791688.457
+ 1971.418 1536.159 48.244 42.464
+ -15139544.465 -11542191.235 22154243.327 22154246.428 22154244.116
+ 2902.309 2261.527 50.849 45.244
+ 03 8 2 0 27 28.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24346571.875 -18959497.234 20452121.378 20452123.284 20452121.667
+ 46.859 36.508 52.239 47.849
+ -14316888.937 -11127631.811 22256360.676 22256363.351 22256360.977
+ -2015.928 -1570.855 50.154 44.896
+ -17661887.452 -13750862.221 21710583.518 21710586.333 21710583.154
+ 921.705 718.212 51.718 45.417
+ -18821249.811 -14650630.918 21215002.706 21215003.174 21215002.786
+ 1854.599 1445.145 51.197 45.938
+ -8263187.134 -6425631.315 23394510.657 23394513.367 23394512.266
+ -3019.920 -2353.187 46.159 42.290
+ -2681661.296 -2043777.244 23865558.156 23865561.225 23865558.734
+ -3159.370 -2461.837 48.938 42.812
+ -5734493.934 -4460063.413 23791125.587 23791129.145 23791125.478
+ 1971.449 1536.180 48.244 42.464
+ -15143898.139 -11545583.709 22153415.087 22153418.175 22153415.436
+ 2901.849 2261.179 50.849 45.244
+ 03 8 2 0 27 30.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24346641.918 -18959551.812 20452108.031 20452110.140 20452108.371
+ 46.346 36.111 52.239 47.849
+ -14313865.184 -11125275.636 22256935.847 22256938.606 22256936.579
+ -2015.865 -1570.808 50.154 44.896
+ -17663269.705 -13751939.297 21710320.551 21710323.276 21710320.158
+ 921.125 717.758 51.718 45.417
+ -18824031.540 -14652798.499 21214473.545 21214473.865 21214473.494
+ 1854.236 1444.863 51.197 45.938
+ -8258657.493 -6422101.711 23395372.327 23395374.795 23395374.357
+ -3019.753 -2353.068 46.159 41.943
+ -2676922.538 -2040084.705 23866459.696 23866463.445 23866460.587
+ -3159.118 -2461.658 48.938 42.812
+ -5737451.608 -4462368.089 23790562.647 23790566.128 23790562.715
+ 1971.799 1536.470 48.244 42.464
+ -15148250.964 -11548975.514 22152586.689 22152589.741 22152586.881
+ 2901.681 2261.053 50.849 45.244
+ 03 8 2 0 27 31.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24346710.802 -18959605.490 20452094.979 20452096.936 20452095.261
+ 45.655 35.586 52.239 47.849
+ -14310841.165 -11122919.259 22257511.215 22257514.317 22257512.199
+ -2015.958 -1570.866 50.154 44.896
+ -17664650.703 -13753015.400 21710057.716 21710060.832 21710057.459
+ 920.351 717.163 51.718 45.417
+ -18826812.397 -14654965.402 21213944.213 21213944.915 21213944.386
+ 1853.739 1444.474 51.197 45.938
+ -8254127.763 -6418572.061 23396234.294 23396237.166 23396236.332
+ -3019.758 -2353.057 46.159 42.117
+ -2672183.730 -2036392.130 23867361.395 23867365.127 23867362.344
+ -3159.073 -2461.612 48.765 42.812
+ -5740409.423 -4464672.883 23789999.935 23790003.450 23789999.991
+ 1972.004 1536.630 48.244 42.464
+ -15152603.112 -11552366.800 22151758.404 22151761.261 22151758.523
+ 2901.281 2260.751 50.849 45.244
+ 03 8 2 0 27 33.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24346778.378 -18959658.147 20452082.027 20452084.109 20452082.442
+ 44.657 34.802 52.239 47.849
+ -14307816.698 -11120562.530 22258086.985 22258089.583 22258087.878
+ -2016.424 -1571.232 50.154 44.896
+ -17666030.305 -13754090.413 21709795.194 21709798.140 21709794.943
+ 919.317 716.350 51.718 45.417
+ -18829592.192 -14657131.473 21213415.358 21213415.961 21213415.466
+ 1852.891 1443.817 51.197 45.938
+ -8249597.711 -6415042.161 23397096.681 23397099.371 23397098.382
+ -3020.016 -2353.249 46.159 41.943
+ -2667444.738 -2032699.416 23868263.327 23868266.763 23868264.229
+ -3159.377 -2461.848 48.765 42.638
+ -5743367.244 -4466977.677 23789437.412 23789440.492 23789437.215
+ 1971.801 1536.477 48.244 42.464
+ -15156954.442 -11555757.441 22150930.405 22150933.210 22150930.401
+ 2900.650 2260.245 50.849 45.244
+ 03 8 2 0 27 34.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24346844.716 -18959709.838 20452069.451 20452071.442 20452069.802
+ 43.955 34.252 52.239 47.849
+ -14304791.887 -11118205.536 22258662.522 22258664.960 22258663.594
+ -2016.524 -1571.311 50.154 44.896
+ -17667408.570 -13755164.387 21709532.877 21709535.761 21709532.732
+ 918.543 715.749 51.718 45.417
+ -18832371.019 -14659296.794 21212886.327 21212887.002 21212886.668
+ 1852.390 1443.420 51.197 45.938
+ -8245067.412 -6411512.057 23397959.042 23397961.097 23397960.311
+ -3020.098 -2353.323 46.159 42.117
+ -2662705.621 -2029006.600 23869165.229 23869169.250 23869165.952
+ -3159.282 -2461.775 48.765 42.638
+ -5746325.143 -4469282.530 23788874.308 23788877.673 23788874.474
+ 1972.059 1536.674 48.244 42.464
+ -15161305.019 -11559147.499 22150102.418 22150105.594 22150102.389
+ 2900.229 2259.915 50.849 45.070
+ 03 8 2 0 27 36.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24346909.860 -18959760.603 20452057.240 20452058.969 20452057.352
+ 43.185 33.650 52.239 47.676
+ -14301766.754 -11115848.292 22259238.077 22259240.773 22259239.300
+ -2016.685 -1571.447 50.154 44.722
+ -17668785.542 -13756237.353 21709270.835 21709273.674 21709270.699
+ 917.719 715.103 51.718 45.417
+ -18835148.903 -14661461.379 21212357.767 21212358.644 21212357.946
+ 1851.793 1442.952 51.197 45.938
+ -8240536.989 -6407981.861 23398821.062 23398823.183 23398822.316
+ -3020.235 -2353.428 46.159 42.117
+ -2657966.420 -2025313.721 23870067.288 23870070.914 23870067.700
+ -3159.297 -2461.783 48.765 42.638
+ -5749283.168 -4471587.479 23788311.845 23788314.707 23788311.634
+ 1972.154 1536.736 48.244 42.290
+ -15165654.902 -11562537.019 22149274.709 22149277.592 22149274.531
+ 2899.808 2259.593 50.849 45.070
+ 03 8 2 0 27 37.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24346973.479 -18959810.171 20452045.045 20452046.947 20452045.200
+ 42.034 32.747 52.239 47.849
+ -14298740.970 -11113490.533 22259813.888 22259816.944 22259815.074
+ -2017.259 -1571.888 50.154 44.896
+ -17670160.888 -13757309.046 21709009.152 21709012.174 21709009.037
+ 916.497 714.150 51.718 45.417
+ -18837925.523 -14663624.973 21211829.335 21211830.231 21211829.502
+ 1850.790 1442.166 51.197 45.938
+ -8236006.039 -6404451.243 23399683.002 23399685.593 23399684.389
+ -3020.664 -2353.768 46.159 42.290
+ -2653226.804 -2021620.516 23870969.197 23870972.734 23870969.637
+ -3159.738 -2462.133 48.765 42.638
+ -5752240.948 -4473892.243 23787748.639 23787751.624 23787748.904
+ 1971.843 1536.508 48.244 42.290
+ -15170003.732 -11565925.713 22148447.031 22148450.419 22148446.884
+ 2898.948 2258.910 50.849 45.244
+ 03 8 2 0 27 39.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24347036.120 -18959858.982 20452033.080 20452035.115 20452033.224
+ 41.051 31.985 52.239 47.849
+ -14295715.086 -11111132.702 22260389.711 22260392.423 22260390.830
+ -2017.660 -1572.200 50.154 44.896
+ -17671535.153 -13758379.905 21708747.619 21708750.781 21708747.538
+ 915.420 713.310 51.718 45.417
+ -18840701.426 -14665788.015 21211301.210 21211301.858 21211301.193
+ 1849.971 1441.530 51.197 45.938
+ -8231475.159 -6400920.692 23400545.399 23400548.228 23400546.701
+ -3020.956 -2354.007 46.333 42.117
+ -2648487.337 -2017927.420 23871870.601 23871874.655 23871871.480
+ -3159.977 -2462.319 48.765 42.638
+ -5755199.116 -4476197.310 23787185.969 23787188.722 23787186.127
+ 1971.739 1536.416 48.244 42.290
+ -15174352.078 -11569314.035 22147619.505 22147622.613 22147619.435
+ 2898.339 2258.447 50.849 45.244
+ 03 8 2 0 27 40.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24347097.534 -18959906.842 20452021.487 20452023.263 20452021.520
+ 40.474 31.538 52.239 47.676
+ -14292688.849 -11108774.603 22260965.536 22260968.351 22260966.629
+ -2017.639 -1572.179 50.154 44.722
+ -17672908.099 -13759449.738 21708486.306 21708489.483 21708486.285
+ 914.804 712.837 51.718 45.591
+ -18843476.347 -14667950.293 21210773.123 21210773.766 21210773.019
+ 1849.552 1441.208 51.197 45.938
+ -8226944.023 -6397389.943 23401407.451 23401409.582 23401409.134
+ -3020.880 -2353.929 46.333 42.290
+ -2643747.749 -2014234.244 23872772.502 23872776.093 23872773.288
+ -3159.799 -2462.172 48.765 42.812
+ -5758157.346 -4478502.430 23786622.849 23786625.433 23786623.249
+ 1972.062 1536.668 48.244 42.290
+ -15178699.680 -11572701.774 22146792.158 22146795.213 22146792.014
+ 2898.073 2258.247 50.849 45.244
+ 03 8 2 0 27 42.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24347157.550 -18959953.606 20452010.066 20452011.978 20452010.123
+ 39.626 30.867 52.239 47.849
+ -14289662.100 -11106416.095 22261541.554 22261544.334 22261542.521
+ -2017.921 -1572.409 50.154 44.896
+ -17674279.552 -13760518.402 21708225.418 21708228.347 21708225.254
+ 913.894 712.124 51.718 45.591
+ -18846250.130 -14670111.684 21210245.240 21210246.249 21210245.172
+ 1848.890 1440.689 51.197 45.938
+ -8222412.543 -6393858.920 23402270.195 23402272.293 23402271.376
+ -3021.067 -2354.092 46.333 42.117
+ -2639007.867 -2010540.836 23873674.308 23873678.561 23873675.103
+ -3159.929 -2462.282 48.765 42.638
+ -5761115.514 -4480807.486 23786060.068 23786062.294 23786060.383
+ 1972.142 1536.723 48.244 42.290
+ -15183046.373 -11576088.804 22145964.941 22145967.882 22145964.870
+ 2897.571 2257.840 50.849 45.070
+ 03 8 2 0 27 43.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24347216.479 -18959999.527 20451998.884 20452000.621 20451998.962
+ 38.737 30.188 52.239 47.849
+ -14286635.131 -11104057.423 22262117.778 22262120.325 22262118.489
+ -2018.201 -1572.624 50.154 44.896
+ -17675649.811 -13761586.135 21707964.496 21707967.793 21707964.412
+ 912.930 711.372 51.718 45.417
+ -18849023.091 -14672272.430 21209717.535 21209718.504 21209717.537
+ 1848.171 1440.128 51.197 45.938
+ -8217881.002 -6390327.844 23403132.344 23403134.749 23403133.666
+ -3021.242 -2354.214 46.333 42.117
+ -2634268.038 -2006847.476 23874576.367 23874580.435 23874576.980
+ -3160.008 -2462.339 48.765 42.638
+ -5764073.877 -4483112.713 23785497.315 23785499.655 23785497.476
+ 1972.077 1536.669 48.244 42.290
+ -15187392.456 -11579475.361 22145138.081 22145141.462 22145137.822
+ 2896.985 2257.383 50.849 45.070
+ 03 8 2 0 27 45.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24347274.023 -18960044.365 20451987.897 20451989.696 20451988.061
+ 38.033 29.643 52.239 47.849
+ -14283607.657 -11101698.354 22262693.752 22262696.442 22262694.489
+ -2018.356 -1572.734 50.154 44.722
+ -17677018.605 -13762652.726 21707703.880 21707707.289 21707703.870
+ 912.195 710.816 51.718 45.417
+ -18851794.913 -14674432.291 21209190.106 21209191.093 21209190.058
+ 1847.644 1439.728 51.197 45.938
+ -8213349.101 -6386796.498 23403994.529 23403996.700 23403996.006
+ -3021.296 -2354.250 46.333 42.290
+ -2629527.914 -2003153.876 23875478.534 23875482.807 23875479.049
+ -3160.046 -2462.364 48.765 42.812
+ -5767032.182 -4485417.880 23784934.178 23784937.291 23784934.606
+ 1972.223 1536.795 48.244 42.290
+ -15191737.645 -11582861.217 22144311.055 22144314.141 22144311.000
+ 2896.569 2257.072 50.849 45.244
+ 03 8 2 0 27 46.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24347330.424 -18960088.315 20451977.175 20451979.126 20451977.349
+ 37.053 28.866 52.239 47.849
+ -14280579.948 -11099339.100 22263270.022 22263272.527 22263270.504
+ -2018.701 -1573.021 50.154 44.722
+ -17678386.150 -13763718.345 21707443.769 21707446.944 21707443.579
+ 911.139 709.972 51.718 45.417
+ -18854565.865 -14676591.474 21208662.698 21208663.699 21208662.796
+ 1846.834 1439.078 51.197 45.938
+ -8208817.078 -6383265.060 23404857.484 23404859.576 23404858.144
+ -3021.555 -2354.470 46.333 42.117
+ -2624787.808 -1999460.289 23876380.841 23876383.964 23876381.115
+ -3160.184 -2462.483 48.765 42.638
+ -5769990.678 -4487723.199 23784370.927 23784373.361 23784371.606
+ 1972.093 1536.680 48.244 42.290
+ -15196082.195 -11586246.577 22143484.315 22143487.607 22143484.311
+ 2895.991 2256.600 50.849 45.070
+ 03 8 2 0 27 48.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24347385.581 -18960131.297 20451966.736 20451968.551 20451966.845
+ 36.409 28.385 52.239 47.849
+ -14277551.844 -11096979.538 22263846.022 22263848.681 22263846.658
+ -2018.720 -1573.021 50.154 44.722
+ -17679752.338 -13764782.916 21707183.786 21707186.791 21707183.546
+ 910.408 709.423 51.718 45.591
+ -18857335.821 -14678749.883 21208135.671 21208136.524 21208135.747
+ 1846.373 1438.744 51.197 45.938
+ -8204284.818 -6379733.428 23405719.616 23405721.607 23405720.359
+ -3021.600 -2354.483 46.333 42.290
+ -2620047.528 -1995766.567 23877282.981 23877286.630 23877283.164
+ -3160.118 -2462.419 48.765 42.638
+ -5772949.205 -4490028.543 23783807.772 23783810.751 23783808.746
+ 1972.347 1536.901 48.244 42.290
+ -15200425.958 -11589631.330 22142657.731 22142661.112 22142657.805
+ 2895.631 2256.350 50.849 45.244
+ 03 8 2 0 27 49.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24347439.327 -18960173.175 20451956.471 20451958.326 20451956.650
+ 35.355 27.546 52.239 47.849
+ -14274523.216 -11094619.569 22264422.374 22264425.145 22264422.857
+ -2019.298 -1573.487 50.154 44.896
+ -17681117.032 -13765846.309 21706924.062 21706927.356 21706923.865
+ 909.267 708.516 51.718 45.417
+ -18860104.636 -14680907.394 21207608.878 21207609.931 21207608.836
+ 1845.463 1438.019 51.197 45.938
+ -8199752.184 -6376201.504 23406582.122 23406584.189 23406582.669
+ -3021.889 -2354.731 46.333 42.117
+ -2615306.964 -1992072.622 23878184.884 23878188.787 23878185.238
+ -3160.512 -2462.737 48.765 42.638
+ -5775907.650 -4492333.820 23783245.039 23783247.282 23783245.853
+ 1972.174 1536.752 48.244 42.464
+ -15204768.797 -11593015.356 22141831.376 22141834.692 22141831.377
+ 2894.864 2255.741 50.849 45.070
+ 03 8 2 0 27 51.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24347491.913 -18960214.153 20451946.411 20451948.375 20451946.687
+ 34.435 26.829 52.239 47.849
+ -14271494.307 -11092259.382 22264998.888 22265001.572 22264999.096
+ -2019.591 -1573.709 50.154 44.722
+ -17682480.473 -13766908.728 21706664.574 21706667.890 21706664.449
+ 908.288 707.748 51.718 45.591
+ -18862872.531 -14683064.195 21207082.143 21207083.171 21207082.081
+ 1844.690 1437.419 51.197 46.112
+ -8195219.416 -6372669.486 23407444.410 23407447.472 23407445.101
+ -3022.170 -2354.936 46.333 42.117
+ -2610566.361 -1988378.654 23879086.703 23879090.419 23879087.375
+ -3160.600 -2462.811 48.765 42.638
+ -5778866.253 -4494639.228 23782681.569 23782684.441 23782682.875
+ 1972.077 1536.681 48.244 42.290
+ -15209110.956 -11596398.854 22141005.080 22141008.576 22141005.146
+ 2894.284 2255.279 50.849 45.244
+ 03 8 2 0 27 52.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24347543.304 -18960254.198 20451936.771 20451938.530 20451937.063
+ 34.050 26.537 52.239 47.849
+ -14268465.100 -11089898.964 22265575.447 22265578.148 22265575.505
+ -2019.386 -1573.534 50.154 44.722
+ -17683842.626 -13767970.144 21706405.384 21706408.709 21706405.217
+ 907.849 707.416 51.718 45.591
+ -18865639.494 -14685220.274 21206555.586 21206556.458 21206555.469
+ 1844.514 1437.287 51.197 46.112
+ -8190686.482 -6369137.332 23408306.651 23408309.132 23408307.487
+ -3021.780 -2354.628 46.506 42.117
+ -2605825.692 -1984684.629 23879989.469 23879993.149 23879989.428
+ -3160.286 -2462.561 48.765 42.638
+ -5781824.984 -4496944.732 23782118.543 23782121.780 23782119.816
+ 1972.610 1537.106 48.244 42.290
+ -15213452.417 -11599781.807 22140179.059 22140182.098 22140179.109
+ 2894.261 2255.268 50.849 45.244
+ 03 8 2 0 27 54.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24347593.454 -18960293.278 20451927.280 20451928.977 20451927.580
+ 32.902 25.638 52.239 47.849
+ -14265435.523 -11087538.254 22266151.828 22266154.561 22266152.012
+ -2019.948 -1573.984 50.154 44.722
+ -17685203.435 -13769030.518 21706146.304 21706149.883 21706146.218
+ 906.636 706.471 51.718 45.591
+ -18868405.473 -14687375.582 21206029.278 21206030.334 21206029.093
+ 1843.544 1436.526 51.197 46.112
+ -8186153.319 -6365605.002 23409168.849 23409172.031 23409169.993
+ -3022.387 -2355.096 46.506 42.117
+ -2601084.889 -1980990.508 23880891.554 23880894.575 23880891.633
+ -3160.696 -2462.873 48.591 42.638
+ -5784783.780 -4499250.288 23781555.168 23781558.229 23781556.606
+ 1972.324 1536.873 48.244 42.290
+ -15217793.098 -11603164.153 22139352.895 22139356.114 22139353.161
+ 2893.389 2254.582 50.849 45.244
+ 03 8 2 0 27 55.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24347642.301 -18960331.342 20451917.850 20451919.825 20451918.365
+ 31.998 24.939 52.239 47.849
+ -14262405.530 -11085177.220 22266728.370 22266731.189 22266728.661
+ -2020.291 -1574.250 50.154 44.722
+ -17686562.847 -13770089.799 21705887.621 21705891.142 21705887.499
+ 905.679 705.724 51.718 45.417
+ -18871170.419 -14689530.087 21205503.022 21205503.976 21205502.885
+ 1842.840 1435.983 51.197 46.112
+ -8181619.929 -6362072.496 23410031.371 23410035.254 23410032.434
+ -3022.564 -2355.238 46.506 42.117
+ -2596343.914 -1977296.240 23881793.694 23881797.300 23881793.998
+ -3160.897 -2463.036 48.591 42.812
+ -5787742.593 -4501555.854 23780992.409 23780995.494 23780993.431
+ 1972.368 1536.908 48.244 42.290
+ -15222132.967 -11606545.869 22138527.086 22138530.152 22138527.387
+ 2892.814 2254.143 50.849 45.244
+ 03 8 2 0 27 57.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24347689.909 -18960368.437 20451908.850 20451910.703 20451909.382
+ 31.300 24.385 52.239 47.849
+ -14259375.182 -11082815.908 22267305.170 22267307.764 22267305.444
+ -2020.400 -1574.334 50.154 44.722
+ -17687920.916 -13771148.032 21705629.257 21705632.577 21705629.032
+ 904.891 705.109 51.718 45.417
+ -18873934.365 -14691683.809 21204977.050 21204978.227 21204976.876
+ 1842.254 1435.522 51.197 46.112
+ -8177086.287 -6358539.797 23410894.466 23410898.109 23410894.812
+ -3022.445 -2355.139 46.506 42.290
+ -2591602.835 -1973601.888 23882696.164 23882699.513 23882696.441
+ -3160.776 -2462.948 48.591 42.638
+ -5790701.426 -4503861.435 23780429.196 23780432.425 23780430.398
+ 1972.478 1536.995 48.244 42.290
+ -15226472.074 -11609926.989 22137701.473 22137704.631 22137701.722
+ 2892.421 2253.832 50.849 45.244
+ 03 8 2 0 27 58.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24347736.368 -18960404.642 20451899.947 20451901.841 20451900.616
+ 30.329 23.639 52.239 47.849
+ -14256344.572 -11080454.397 22267881.925 22267884.597 22267882.283
+ -2020.772 -1574.624 50.154 44.722
+ -17689277.748 -13772205.309 21705371.005 21705374.136 21705370.834
+ 903.846 704.298 51.718 45.591
+ -18876697.423 -14693836.841 21204451.332 21204452.460 21204451.046
+ 1841.451 1434.894 51.197 46.112
+ -8172552.511 -6355007.000 23411757.599 23411760.495 23411757.593
+ -3022.931 -2355.517 46.506 42.117
+ -2586861.716 -1969907.513 23883598.129 23883601.231 23883598.713
+ -3161.038 -2463.135 48.591 42.638
+ -5793660.441 -4506167.161 23779866.138 23779868.812 23779867.211
+ 1972.374 1536.924 48.244 42.290
+ -15230810.532 -11613307.604 22136875.848 22136879.063 22136876.150
+ 2891.764 2253.322 50.849 45.244
+ 03 8 2 0 28 0.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24347781.379 -18960439.714 20451891.337 20451893.211 20451892.076
+ 29.578 23.050 52.239 47.849
+ -14253313.396 -11078092.441 22268458.794 22268461.338 22268459.099
+ -2020.880 -1574.708 50.154 44.722
+ -17690633.038 -13773261.377 21705113.211 21705116.208 21705112.939
+ 903.086 703.697 51.718 45.591
+ -18879459.281 -14695988.936 21203925.719 21203926.893 21203925.437
+ 1840.906 1434.473 51.197 46.112
+ -8168018.323 -6351473.874 23412620.471 23412623.307 23412620.415
+ -3022.778 -2355.414 46.506 42.290
+ -2582120.267 -1966212.880 23884499.894 23884503.592 23884500.993
+ -3161.015 -2463.123 48.591 42.638
+ -5796619.383 -4508472.821 23779303.089 23779306.054 23779303.936
+ 1972.602 1537.080 48.244 42.290
+ -15235148.017 -11616687.459 22136050.410 22136053.767 22136050.828
+ 2891.401 2253.037 50.849 45.070
+ 03 8 2 0 28 1.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24347825.262 -18960473.912 20451882.989 20451884.924 20451883.709
+ 28.365 22.094 52.239 47.849
+ -14250281.973 -11075730.296 22269035.601 22269038.295 22269035.997
+ -2021.570 -1575.253 50.154 44.722
+ -17691987.095 -13774316.485 21704855.608 21704858.864 21704855.246
+ 901.773 702.665 51.718 45.591
+ -18882220.282 -14698140.365 21203400.218 21203401.415 21203399.962
+ 1839.877 1433.661 51.197 46.112
+ -8163484.044 -6347940.681 23413483.711 23413485.852 23413483.210
+ -3023.396 -2355.885 46.506 42.117
+ -2577378.810 -1962518.249 23885402.043 23885406.325 23885403.154
+ -3161.470 -2463.494 48.591 42.638
+ -5799578.499 -4510778.628 23778739.907 23778742.852 23778740.720
+ 1972.241 1536.803 48.244 42.290
+ -15239484.880 -11620066.826 22135225.128 22135228.458 22135225.602
+ 2890.507 2252.321 50.849 45.244
+ 03 8 2 0 28 3.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24347867.855 -18960507.100 20451874.849 20451876.960 20451875.541
+ 27.997 21.820 52.239 47.849
+ -14247250.142 -11073367.825 22269612.233 22269615.120 22269612.961
+ -2021.294 -1575.034 50.154 44.722
+ -17693339.768 -13775370.517 21704598.100 21704601.325 21704597.821
+ 901.378 702.377 51.718 45.591
+ -18884980.240 -14700290.982 21202875.107 21202876.308 21202874.636
+ 1839.663 1433.510 51.197 46.112
+ -8158949.497 -6344407.271 23414346.728 23414348.265 23414346.199
+ -3023.111 -2355.672 46.506 42.117
+ -2572637.180 -1958823.481 23886304.351 23886308.499 23886305.420
+ -3161.072 -2463.155 48.591 42.638
+ -5802537.610 -4513084.427 23778176.910 23778180.000 23778177.472
+ 1972.698 1537.179 48.244 42.290
+ -15243820.905 -11623445.545 22134400.012 22134403.395 22134400.553
+ 2890.411 2252.272 50.849 45.070
+ 03 8 2 0 28 4.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24347909.225 -18960539.337 20451867.000 20451868.992 20451867.553
+ 27.103 21.122 52.239 47.849
+ -14244217.965 -11071005.092 22270189.444 22270192.379 22270189.888
+ -2021.652 -1575.308 50.154 44.722
+ -17694691.121 -13776423.520 21704340.778 21704343.731 21704340.673
+ 900.403 701.613 51.718 45.417
+ -18887739.221 -14702440.837 21202350.036 21202351.321 21202349.536
+ 1838.923 1432.930 51.197 46.112
+ -8154414.735 -6340873.699 23415209.813 23415212.090 23415209.254
+ -3023.310 -2355.805 46.506 42.117
+ -2567895.469 -1955128.647 23887206.551 23887210.846 23887207.675
+ -3161.206 -2463.291 48.591 42.638
+ -5805496.846 -4515390.325 23777613.508 23777617.069 23777614.306
+ 1972.817 1537.260 48.244 42.464
+ -15248156.196 -11626823.700 22133574.961 22133578.372 22133575.618
+ 2889.844 2251.828 50.849 45.244
+ 03 8 2 0 28 6.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24347949.388 -18960570.633 20451859.224 20451861.411 20451859.810
+ 26.254 20.453 52.239 47.849
+ -14241185.484 -11068642.124 22270766.639 22270769.170 22270766.994
+ -2021.885 -1575.490 50.154 44.722
+ -17696041.175 -13777475.511 21704083.946 21704087.277 21704083.769
+ 899.495 700.907 51.718 45.417
+ -18890497.259 -14704589.955 21201825.202 21201826.450 21201824.663
+ 1838.270 1432.412 51.197 46.112
+ -8149879.825 -6337340.008 23416072.984 23416074.965 23416072.534
+ -3023.466 -2355.949 46.506 41.943
+ -2563153.653 -1951433.728 23888109.242 23888113.267 23888109.943
+ -3161.307 -2463.364 48.591 42.638
+ -5808456.158 -4517696.278 23777050.922 23777054.248 23777051.186
+ 1972.680 1537.155 48.244 42.290
+ -15252490.748 -11630201.273 22132750.222 22132753.655 22132750.740
+ 2889.302 2251.403 50.849 45.244
+ 03 8 2 0 28 7.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24347988.170 -18960600.851 20451851.988 20451853.952 20451852.313
+ 25.575 19.932 52.239 47.849
+ -14238152.477 -11066278.745 22271343.753 22271346.621 22271344.155
+ -2022.010 -1575.591 50.154 44.896
+ -17697389.734 -13778526.335 21703827.489 21703830.434 21703827.168
+ 898.692 700.281 51.718 45.417
+ -18893254.164 -14706738.191 21201300.693 21201301.964 21201299.949
+ 1837.716 1431.987 51.197 46.112
+ -8145344.540 -6333806.022 23416935.512 23416937.603 23416935.746
+ -3023.620 -2356.076 46.506 42.117
+ -2558411.604 -1947738.636 23889011.456 23889015.198 23889012.316
+ -3161.209 -2463.268 48.591 42.638
+ -5811415.392 -4520002.175 23776487.910 23776491.261 23776488.054
+ 1972.911 1537.346 48.244 42.464
+ -15256824.420 -11633578.153 22131925.486 22131928.972 22131926.062
+ 2888.995 2251.162 50.849 45.244
+ 03 8 2 0 28 9.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348025.803 -18960630.176 20451844.704 20451846.763 20451845.049
+ 24.632 19.196 52.239 47.849
+ -14235119.227 -11063915.174 22271920.982 22271923.854 22271921.440
+ -2022.379 -1575.880 50.154 44.722
+ -17698737.055 -13779576.194 21703571.112 21703573.859 21703570.888
+ 897.723 699.525 51.718 45.417
+ -18896010.174 -14708885.732 21200776.214 21200777.237 21200775.436
+ 1836.959 1431.401 51.197 46.112
+ -8140809.162 -6330271.978 23417798.315 23417800.976 23417799.003
+ -3023.634 -2356.072 46.506 41.943
+ -2553669.501 -1944043.488 23889913.707 23889917.486 23889914.711
+ -3161.466 -2463.469 48.417 42.638
+ -5814374.797 -4522308.201 23775924.558 23775927.773 23775924.771
+ 1972.816 1537.249 48.244 42.464
+ -15261157.417 -11636954.511 22131100.951 22131104.223 22131101.422
+ 2888.339 2250.655 50.849 45.244
+ 03 8 2 0 28 10.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348062.304 -18960658.619 20451837.778 20451839.868 20451838.014
+ 24.326 18.964 52.239 47.849
+ -14232085.729 -11061551.414 22272498.266 22272501.093 22272498.825
+ -2022.072 -1575.629 50.154 44.722
+ -17700083.150 -13780625.103 21703314.797 21703317.602 21703314.794
+ 897.338 699.232 51.718 45.417
+ -18898765.311 -14711032.595 21200252.008 21200253.229 21200251.153
+ 1836.820 1431.298 51.197 46.112
+ -8136273.661 -6326737.837 23418661.368 23418664.157 23418662.152
+ -3023.280 -2355.787 46.680 41.943
+ -2548927.392 -1940348.348 23890816.270 23890820.446 23890817.122
+ -3161.064 -2463.152 48.417 42.638
+ -5817334.338 -4524614.338 23775361.282 23775364.446 23775361.461
+ 1973.387 1537.713 48.244 42.464
+ -15265489.752 -11640330.354 22130276.740 22130280.174 22130276.941
+ 2888.370 2250.683 50.849 45.244
+ 03 8 2 0 28 12.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348097.364 -18960685.938 20451831.059 20451833.225 20451831.266
+ 22.905 17.852 52.239 47.849
+ -14229051.680 -11059187.217 22273075.635 22273077.894 22273076.303
+ -2022.883 -1576.277 50.154 44.722
+ -17701427.703 -13781672.804 21703058.952 21703062.191 21703058.929
+ 895.879 698.094 51.718 45.417
+ -18901519.266 -14713178.533 21199727.797 21199729.110 21199727.090
+ 1835.612 1430.349 51.197 46.112
+ -8131737.727 -6323203.350 23419524.920 23419527.330 23419525.343
+ -3024.143 -2356.447 46.680 41.943
+ -2544184.965 -1936652.946 23891718.511 23891722.510 23891719.617
+ -3161.734 -2463.692 48.417 42.638
+ -5820293.806 -4526920.416 23774798.111 23774801.525 23774798.266
+ 1972.921 1537.353 48.244 42.464
+ -15269821.136 -11643705.456 22129452.471 22129455.485 22129452.694
+ 2887.267 2249.821 50.849 45.244
+ 03 8 2 0 28 13.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348131.317 -18960712.396 20451824.590 20451826.773 20451824.740
+ 22.629 17.641 52.239 47.849
+ -14226017.395 -11056822.838 22273653.032 22273655.585 22273653.914
+ -2022.516 -1575.985 50.154 44.722
+ -17702771.047 -13782719.565 21702803.387 21702806.338 21702803.309
+ 895.559 697.840 51.718 45.417
+ -18904272.365 -14715323.801 21199203.982 21199205.189 21199203.265
+ 1835.501 1430.265 51.197 46.112
+ -8127201.743 -6319668.822 23420387.926 23420390.766 23420388.524
+ -3023.713 -2356.132 46.680 41.943
+ -2539442.590 -1932957.597 23892620.980 23892624.637 23892622.009
+ -3161.187 -2463.253 48.417 42.638
+ -5823253.453 -4529226.637 23774235.076 23774238.479 23774234.871
+ 1973.483 1537.769 48.244 42.464
+ -15274151.883 -11647080.065 22128628.315 22128631.686 22128628.551
+ 2887.302 2249.852 50.849 45.244
+ 03 8 2 0 28 15.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348163.900 -18960737.783 20451818.308 20451820.603 20451818.492
+ 21.608 16.840 52.239 47.849
+ -14222982.643 -11054458.095 22274230.503 22274233.152 22274231.486
+ -2022.973 -1576.343 50.154 44.722
+ -17704112.928 -13783765.186 21702548.128 21702551.005 21702547.971
+ 894.419 696.947 51.718 45.591
+ -18907024.346 -14717468.203 21198680.175 21198681.322 21198679.649
+ 1834.630 1429.584 51.197 46.112
+ -8122665.436 -6316134.040 23421251.267 23421253.894 23421251.881
+ -3023.996 -2356.354 46.680 41.769
+ -2534699.943 -1929262.038 23893523.544 23893527.746 23893524.457
+ -3161.467 -2463.467 48.417 42.464
+ -5826213.021 -4531532.788 23773671.748 23773675.364 23773671.626
+ 1973.195 1537.544 48.244 42.464
+ -15278481.741 -11650453.975 22127804.337 22127807.455 22127804.581
+ 2886.629 2249.328 50.849 45.244
+ 03 8 2 0 28 16.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348195.276 -18960762.235 20451812.356 20451814.664 20451812.509
+ 20.582 16.040 52.239 47.849
+ -14219947.551 -11052093.093 22274807.874 22274810.616 22274809.115
+ -2023.412 -1576.682 50.154 44.722
+ -17705453.492 -13784809.783 21702293.003 21702295.918 21702292.938
+ 893.351 696.115 51.718 45.417
+ -18909775.368 -14719611.855 21198156.742 21198157.991 21198156.204
+ 1833.748 1428.896 51.197 46.112
+ -8118128.919 -6312599.100 23422114.554 23422117.562 23422115.256
+ -3024.313 -2356.604 46.680 41.769
+ -2529957.221 -1925566.407 23894426.097 23894430.298 23894426.987
+ -3161.757 -2463.704 48.417 42.464
+ -5829172.691 -4533839.031 23773108.580 23773112.220 23773108.459
+ 1973.124 1537.503 48.244 42.290
+ -15282810.865 -11653827.318 22126980.581 22126983.592 22126980.757
+ 2885.889 2248.749 50.849 45.070
+ 03 8 2 0 28 18.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348225.367 -18960785.683 20451806.671 20451808.954 20451806.840
+ 19.684 15.336 52.239 47.849
+ -14216912.064 -11049727.781 22275385.633 22275388.102 22275386.681
+ -2023.755 -1576.948 50.154 44.722
+ -17706792.683 -13785853.309 21702038.043 21702040.998 21702038.187
+ 892.389 695.362 51.718 45.417
+ -18912525.358 -14721754.701 21197633.545 21197634.622 21197632.893
+ 1833.004 1428.310 51.197 46.112
+ -8113592.159 -6309063.970 23422978.084 23422979.990 23422978.662
+ -3024.514 -2356.777 46.680 41.769
+ -2525214.323 -1921870.646 23895328.756 23895332.330 23895329.720
+ -3161.943 -2463.853 48.417 42.464
+ -5832132.432 -4536145.316 23772545.056 23772548.599 23772545.279
+ 1973.172 1537.537 48.244 42.464
+ -15287139.182 -11657200.028 22126156.900 22126160.617 22126157.081
+ 2885.301 2248.282 50.849 45.244
+ 03 8 2 0 28 19.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348254.257 -18960808.197 20451801.066 20451803.374 20451801.432
+ 18.909 14.735 52.239 47.849
+ -14213876.264 -11047362.224 22275963.150 22275965.985 22275964.301
+ -2023.940 -1577.102 50.154 44.722
+ -17708130.570 -13786895.817 21701783.630 21701786.563 21701783.715
+ 891.574 694.735 51.718 45.591
+ -18915274.411 -14723896.821 21197110.454 21197111.665 21197109.770
+ 1832.439 1427.870 51.197 46.112
+ -8109055.244 -6305528.719 23423841.404 23423843.601 23423842.017
+ -3024.612 -2356.846 46.680 41.943
+ -2520471.356 -1918174.835 23896230.887 23896234.384 23896232.328
+ -3161.970 -2463.875 48.244 42.290
+ -5835092.286 -4538451.692 23771981.769 23771986.381 23771981.893
+ 1973.243 1537.578 48.244 42.290
+ -15291466.793 -11660572.190 22125333.410 22125336.640 22125333.560
+ 2884.787 2247.878 50.849 45.244
+ 03 8 2 0 28 21.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348281.920 -18960829.754 20451795.871 20451798.147 20451796.213
+ 18.186 14.172 52.239 47.849
+ -14210840.134 -11044996.407 22276541.199 22276544.068 22276541.931
+ -2024.044 -1577.176 50.154 44.722
+ -17709467.130 -13787937.294 21701529.356 21701532.157 21701529.488
+ 890.756 694.095 51.718 45.417
+ -18918022.492 -14726038.184 21196587.609 21196588.482 21196586.837
+ 1831.889 1427.444 51.197 46.112
+ -8104518.098 -6301993.284 23424705.504 23424707.006 23424705.407
+ -3024.698 -2356.887 46.680 41.769
+ -2515728.322 -1914478.964 23897133.072 23897137.381 23897134.756
+ -3161.865 -2463.783 48.244 42.464
+ -5838052.250 -4540758.149 23771418.515 23771422.423 23771418.553
+ 1973.446 1537.748 48.244 42.464
+ -15295793.660 -11663943.772 22124510.070 22124513.305 22124510.265
+ 2884.436 2247.610 50.849 45.070
+ 03 8 2 0 28 22.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348308.203 -18960850.235 20451790.834 20451793.085 20451791.286
+ 17.013 13.254 52.239 47.849
+ -14207803.511 -11042630.209 22277118.839 22277121.339 22277119.733
+ -2024.618 -1577.630 50.154 44.722
+ -17710802.211 -13788977.617 21701275.197 21701278.130 21701275.540
+ 889.510 693.120 51.718 45.417
+ -18920769.447 -14728178.668 21196064.854 21196065.932 21196064.159
+ 1830.886 1426.656 51.197 46.112
+ -8099980.637 -6298457.598 23425568.179 23425570.142 23425568.956
+ -3025.233 -2357.313 46.680 41.769
+ -2510984.992 -1910782.871 23898036.163 23898039.747 23898037.222
+ -3162.436 -2464.250 48.244 42.464
+ -5841012.150 -4543064.558 23770855.054 23770859.420 23770855.245
+ 1973.146 1537.506 48.244 42.638
+ -15300119.611 -11667314.638 22123686.932 22123690.209 22123687.107
+ 2883.595 2246.946 50.849 45.244
+ 03 8 2 0 28 24.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348333.420 -18960869.886 20451786.104 20451788.193 20451786.568
+ 16.268 12.676 52.239 47.849
+ -14204766.703 -11040263.866 22277696.687 22277699.606 22277697.490
+ -2024.795 -1577.763 50.154 44.722
+ -17712136.123 -13790017.031 21701021.398 21701024.010 21701021.779
+ 888.687 692.487 51.718 45.591
+ -18923515.575 -14730318.510 21195542.468 21195543.206 21195541.620
+ 1830.282 1426.191 51.197 46.112
+ -8095443.133 -6294921.884 23426431.596 23426433.653 23426432.246
+ -3025.335 -2357.416 46.680 41.769
+ -2506241.759 -1907086.859 23898938.159 23898942.128 23898939.581
+ -3162.386 -2464.193 48.244 42.290
+ -5843972.297 -4545371.169 23770291.776 23770296.309 23770291.955
+ 1973.336 1537.661 48.244 42.464
+ -15304444.985 -11670685.064 22122863.925 22122866.826 22122864.014
+ 2883.195 2246.650 50.849 45.244
+ 03 8 2 0 28 25.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348357.218 -18960888.428 20451781.581 20451783.784 20451782.106
+ 15.390 11.981 52.239 47.849
+ -14201729.366 -11037897.108 22278274.750 22278277.101 22278275.337
+ -2025.001 -1577.927 50.154 44.722
+ -17713468.527 -13791055.264 21700767.849 21700770.854 21700768.330
+ 887.792 691.778 51.718 45.417
+ -18926260.550 -14732457.451 21195020.157 21195020.754 21195019.280
+ 1829.589 1425.644 51.197 46.112
+ -8090905.253 -6291385.875 23427294.993 23427296.687 23427295.677
+ -3025.225 -2357.349 46.680 41.769
+ -2501498.222 -1903390.601 23899841.260 23899845.436 23899842.102
+ -3162.484 -2464.276 48.244 42.290
+ -5846932.346 -4547677.696 23769728.391 23769732.436 23769728.683
+ 1973.311 1537.625 48.244 42.464
+ -15308769.415 -11674054.740 22122041.107 22122044.033 22122041.146
+ 2882.613 2246.176 50.849 45.244
+ 03 8 2 0 28 27.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348379.789 -18960906.017 20451777.111 20451779.504 20451777.879
+ 14.382 11.204 52.239 47.849
+ -14198691.687 -11035530.085 22278852.681 22278855.839 22278853.166
+ -2025.477 -1578.293 49.981 44.722
+ -17714799.595 -13792092.461 21700514.525 21700517.314 21700515.078
+ 886.665 690.906 51.718 45.417
+ -18929004.549 -14734595.630 21194497.794 21194498.972 21194497.121
+ 1828.747 1424.991 51.197 46.112
+ -8086367.152 -6287849.700 23428158.218 23428160.393 23428159.268
+ -3025.739 -2357.720 46.680 41.769
+ -2496754.589 -1899694.278 23900743.769 23900747.995 23900744.686
+ -3162.685 -2464.419 48.244 42.290
+ -5849892.454 -4549984.269 23769164.829 23769169.582 23769165.497
+ 1973.095 1537.474 48.244 42.638
+ -15313093.103 -11677423.846 22121218.511 22121221.288 22121218.383
+ 2881.899 2245.639 50.849 45.244
+ 03 8 2 0 28 28.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348401.201 -18960922.703 20451773.244 20451775.409 20451773.838
+ 13.918 10.839 52.239 47.849
+ -14195653.737 -11033162.858 22279430.970 22279433.629 22279431.132
+ -2025.356 -1578.203 49.981 44.722
+ -17716129.410 -13793128.676 21700261.368 21700264.345 21700262.076
+ 886.141 690.491 51.718 45.417
+ -18931747.630 -14736733.097 21193976.036 21193976.722 21193975.201
+ 1828.433 1424.756 51.197 46.112
+ -8081828.931 -6284313.427 23429022.125 23429024.203 23429022.621
+ -3025.510 -2357.538 46.680 41.595
+ -2492010.956 -1895997.938 23901646.896 23901650.775 23901647.244
+ -3162.403 -2464.210 48.070 42.290
+ -5852852.713 -4552290.958 23768601.932 23768605.779 23768602.136
+ 1973.581 1537.848 48.244 42.638
+ -15317416.090 -11680792.405 22120395.679 22120398.723 22120395.764
+ 2881.799 2245.555 50.849 45.244
+ 03 8 2 0 28 30.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348421.320 -18960938.382 20451769.382 20451771.580 20451769.926
+ 12.882 10.032 52.239 47.849
+ -14192615.388 -11030795.313 22280008.967 22280012.015 22280009.104
+ -2025.811 -1578.563 49.981 44.722
+ -17717457.838 -13794163.814 21700008.645 21700011.598 21700009.371
+ 885.032 689.631 51.718 45.417
+ -18934489.673 -14738869.756 21193454.152 21193454.911 21193453.500
+ 1827.558 1424.070 51.197 46.112
+ -8077290.450 -6280776.949 23429886.081 23429887.880 23429886.287
+ -3025.869 -2357.827 46.680 41.595
+ -2487267.121 -1892301.446 23902549.776 23902553.127 23902550.037
+ -3162.730 -2464.466 48.070 42.290
+ -5855812.977 -4554597.659 23768038.727 23768042.657 23768038.850
+ 1973.399 1537.724 48.244 42.464
+ -15321738.263 -11684160.331 22119573.168 22119575.975 22119573.317
+ 2881.038 2244.959 50.849 45.070
+ 03 8 2 0 28 31.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348440.230 -18960953.120 20451765.891 20451768.000 20451766.208
+ 12.333 9.619 52.239 47.849
+ -14189576.718 -11028427.521 22280587.341 22280590.096 22280587.270
+ -2025.758 -1578.509 49.981 44.722
+ -17718784.957 -13795197.936 21699756.124 21699759.159 21699756.833
+ 884.421 689.169 51.718 45.417
+ -18937230.776 -14741005.683 21192932.622 21192933.195 21192931.978
+ 1827.225 1423.821 51.197 46.112
+ -8072751.762 -6277240.310 23430749.666 23430751.567 23430749.822
+ -3025.749 -2357.704 46.680 41.595
+ -2482523.229 -1888604.913 23903452.523 23903455.932 23903452.730
+ -3162.573 -2464.341 48.070 42.290
+ -5858773.385 -4556904.468 23767475.164 23767479.521 23767475.603
+ 1973.755 1538.003 48.244 42.464
+ -15326059.722 -11687527.705 22118751.070 22118753.676 22118751.036
+ 2880.824 2244.808 50.849 45.070
+ 03 8 2 0 28 33.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348457.743 -18960966.765 20451762.475 20451764.566 20451762.795
+ 11.185 8.713 52.239 47.849
+ -14186537.554 -11026059.338 22281165.679 22281168.305 22281165.594
+ -2026.250 -1578.896 49.981 44.722
+ -17720110.580 -13796230.889 21699503.831 21699506.665 21699504.570
+ 883.230 688.234 51.718 45.417
+ -18939970.727 -14743140.705 21192411.276 21192411.803 21192410.714
+ 1826.258 1423.054 51.197 46.112
+ -8068212.781 -6273703.451 23431613.722 23431614.645 23431613.487
+ -3026.074 -2357.992 46.680 41.595
+ -2477779.094 -1884908.185 23904355.146 23904359.096 23904355.518
+ -3162.779 -2464.512 48.070 42.290
+ -5861733.721 -4559211.224 23766911.923 23766915.972 23766912.380
+ 1973.452 1537.758 48.244 42.464
+ -15330380.248 -11690894.344 22117928.737 22117931.377 22117928.933
+ 2880.034 2244.185 51.023 45.070
+ 03 8 2 0 28 34.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348474.238 -18960979.621 20451759.274 20451761.512 20451759.580
+ 10.734 8.365 52.239 47.849
+ -14183498.248 -11023691.054 22281744.166 22281746.628 22281743.988
+ -2026.145 -1578.811 49.981 44.722
+ -17721435.087 -13797262.972 21699251.809 21699254.752 21699252.549
+ 882.747 687.854 51.718 45.417
+ -18942709.899 -14745275.127 21191890.082 21191890.691 21191889.624
+ 1825.940 1422.807 51.197 46.112
+ -8063673.787 -6270166.566 23432477.123 23432479.544 23432477.067
+ -3025.909 -2357.843 46.854 41.769
+ -2473035.053 -1881211.535 23905257.626 23905262.206 23905258.326
+ -3162.552 -2464.333 48.070 42.290
+ -5864694.358 -4561518.215 23766348.728 23766352.246 23766349.041
+ 1973.883 1538.097 48.244 42.464
+ -15334700.214 -11694260.550 22117106.668 22117109.346 22117106.840
+ 2879.810 2243.999 51.023 45.070
+ 03 8 2 0 28 36.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348489.347 -18960991.395 20451756.404 20451758.649 20451756.667
+ 9.891 7.716 52.239 47.849
+ -14180458.449 -11021322.382 22282322.589 22282325.349 22282322.579
+ -2026.402 -1579.007 49.981 44.722
+ -17722758.102 -13798293.896 21698999.916 21699003.014 21699000.793
+ 881.810 687.140 51.718 45.417
+ -18945447.942 -14747408.668 21191369.031 21191369.389 21191368.706
+ 1825.255 1422.280 51.197 46.112
+ -8059134.417 -6266629.386 23433341.437 23433342.798 23433340.964
+ -3026.033 -2357.939 46.854 41.769
+ -2468290.740 -1877514.676 23906160.561 23906164.760 23906161.071
+ -3162.682 -2464.411 48.070 42.290
+ -5867654.925 -4563825.148 23765785.653 23765789.225 23765785.861
+ 1973.876 1538.076 48.244 42.638
+ -15339019.289 -11697626.064 22116284.896 22116287.454 22116284.975
+ 2879.357 2243.662 51.023 45.070
+ 03 8 2 0 28 37.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348503.113 -18961002.120 20451753.826 20451755.806 20451753.936
+ 8.904 6.933 52.239 47.849
+ -14177418.202 -11018953.356 22282900.968 22282903.889 22282901.127
+ -2026.814 -1579.341 49.981 44.722
+ -17724079.688 -13799323.700 21698748.525 21698751.584 21698749.300
+ 880.769 686.307 51.718 45.417
+ -18948184.908 -14749541.367 21190848.133 21190848.807 21190847.959
+ 1824.470 1421.662 51.197 46.112
+ -8054594.801 -6263092.022 23434205.173 23434207.149 23434204.794
+ -3026.327 -2358.164 46.854 41.769
+ -2463546.243 -1873817.667 23907063.740 23907067.637 23907063.873
+ -3162.941 -2464.623 48.070 42.290
+ -5870615.439 -4566132.035 23765221.922 23765225.659 23765222.622
+ 1973.793 1538.007 48.244 42.464
+ -15343337.490 -11700990.891 22115463.235 22115465.640 22115463.290
+ 2878.667 2243.107 51.023 45.070
+ 03 8 2 0 28 39.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348515.801 -18961012.005 20451751.414 20451753.547 20451751.437
+ 8.007 6.232 52.239 47.849
+ -14174377.770 -11016584.186 22283479.824 22283482.658 22283479.760
+ -2027.122 -1579.577 49.981 44.722
+ -17725400.080 -13800352.573 21698497.295 21698500.099 21698498.066
+ 879.773 685.531 51.718 45.417
+ -18950921.044 -14751673.420 21190327.518 21190327.971 21190327.370
+ 1823.726 1421.078 51.197 46.112
+ -8050055.074 -6259554.578 23435069.225 23435070.622 23435068.713
+ -3026.711 -2358.464 46.854 41.769
+ -2458801.790 -1870120.698 23907966.868 23907970.005 23907966.823
+ -3162.999 -2464.683 48.070 42.290
+ -5873576.180 -4568439.107 23764658.838 23764662.122 23764659.215
+ 1973.733 1537.971 48.244 42.464
+ -15347655.091 -11704355.254 22114641.628 22114643.950 22114641.703
+ 2878.100 2242.673 51.023 45.070
+ 03 8 2 0 28 40.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348527.085 -18961020.797 20451749.169 20451751.382 20451749.241
+ 7.504 5.845 52.239 47.849
+ -14171336.824 -11014214.618 22284058.353 22284061.193 22284058.403
+ -2026.982 -1579.454 49.981 44.722
+ -17726718.983 -13801380.288 21698246.209 21698249.299 21698247.086
+ 879.237 685.116 51.718 45.417
+ -18953656.037 -14753804.582 21189807.107 21189807.736 21189806.978
+ 1823.418 1420.847 51.197 46.112
+ -8045515.040 -6256016.886 23435933.147 23435934.389 23435932.736
+ -3026.346 -2358.192 46.854 41.769
+ -2454057.099 -1866423.537 23908869.406 23908873.448 23908869.801
+ -3162.722 -2464.459 48.070 42.464
+ -5876536.844 -4570746.119 23764095.410 23764098.523 23764095.922
+ 1974.168 1538.316 48.244 42.464
+ -15351971.765 -11707718.895 22113819.984 22113822.760 22113820.284
+ 2877.895 2242.517 51.023 45.070
+ 03 8 2 0 28 42.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348537.239 -18961028.714 20451747.267 20451749.441 20451747.341
+ 6.266 4.878 52.239 47.849
+ -14168295.647 -11011844.872 22284637.030 22284639.871 22284637.093
+ -2027.646 -1580.001 49.981 44.722
+ -17728036.657 -13802407.050 21697995.631 21697998.638 21697996.355
+ 877.935 684.104 51.718 45.417
+ -18956390.139 -14755935.052 21189286.726 21189287.197 21189286.735
+ 1822.326 1419.988 51.197 46.112
+ -8040974.874 -6252479.087 23436797.234 23436798.079 23436796.701
+ -3026.927 -2358.653 46.854 41.769
+ -2449312.403 -1862726.381 23909772.352 23909776.386 23909772.631
+ -3163.203 -2464.837 48.070 42.290
+ -5879497.718 -4573053.289 23763531.979 23763535.021 23763532.518
+ 1973.794 1538.026 48.244 42.638
+ -15356287.777 -11711082.018 22112998.973 22113001.273 22112998.982
+ 2876.978 2241.788 51.023 45.070
+ 03 8 2 0 28 43.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348546.060 -18961035.587 20451745.551 20451747.864 20451745.675
+ 5.494 4.286 52.239 47.849
+ -14165254.010 -11009474.768 22285215.925 22285219.104 22285215.798
+ -2027.869 -1580.162 49.981 44.722
+ -17729352.894 -13803432.690 21697745.127 21697748.125 21697745.909
+ 877.082 683.443 51.718 45.417
+ -18959123.170 -14758064.684 21188766.706 21188767.069 21188766.698
+ 1821.716 1419.515 51.197 46.112
+ -8036434.419 -6248941.069 23437661.372 23437662.735 23437660.584
+ -3026.891 -2358.604 46.854 41.769
+ -2444567.485 -1859029.047 23910675.128 23910679.458 23910675.607
+ -3163.278 -2464.891 48.070 42.117
+ -5882458.583 -4575360.457 23762968.784 23762971.519 23762968.953
+ 1973.869 1538.084 48.244 42.464
+ -15360602.929 -11714444.475 22112177.701 22112180.232 22112177.896
+ 2876.501 2241.434 51.023 45.070
+ 03 8 2 0 28 45.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348553.607 -18961041.468 20451744.069 20451746.301 20451744.221
+ 4.582 3.565 52.239 47.849
+ -14162212.026 -11007104.391 22285794.924 22285797.301 22285794.503
+ -2028.122 -1580.366 49.981 44.722
+ -17730667.765 -13804457.265 21697494.661 21697497.961 21697495.716
+ 876.101 682.678 51.718 45.417
+ -18961855.177 -14760193.521 21188246.530 21188247.291 21188246.856
+ 1820.984 1418.949 51.197 45.938
+ -8031893.740 -6245402.884 23438525.391 23438526.744 23438524.664
+ -3027.196 -2358.868 47.028 41.769
+ -2439822.438 -1855331.615 23911577.954 23911582.436 23911578.563
+ -3163.491 -2465.051 48.070 42.117
+ -5885419.480 -4577667.653 23762405.255 23762408.648 23762405.633
+ 1973.823 1538.042 48.244 42.464
+ -15364917.278 -11717806.302 22111356.752 22111359.080 22111356.931
+ 2875.909 2240.960 51.023 45.070
+ 03 8 2 0 28 46.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348559.989 -18961046.441 20451742.858 20451744.859 20451743.020
+ 3.462 2.687 52.239 47.849
+ -14159169.748 -11004733.786 22286373.762 22286376.398 22286373.397
+ -2028.695 -1580.812 49.981 44.722
+ -17731981.366 -13805480.846 21697244.595 21697247.945 21697245.730
+ 874.888 681.720 51.718 45.417
+ -18964586.263 -14762321.640 21187727.060 21187727.405 21187727.154
+ 1820.008 1418.178 51.197 46.112
+ -8027352.922 -6241864.585 23439389.073 23439390.446 23439388.703
+ -3027.696 -2359.260 47.028 41.769
+ -2435077.381 -1851634.177 23912480.989 23912485.116 23912481.450
+ -3163.764 -2465.283 47.896 42.117
+ -5888380.540 -4579974.969 23761841.611 23761845.255 23761842.084
+ 1973.641 1537.889 48.244 42.638
+ -15369230.932 -11721167.588 22110535.885 22110538.530 22110536.103
+ 2875.082 2240.308 51.023 45.070
+ 03 8 2 0 28 48.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348565.099 -18961050.426 20451742.028 20451744.145 20451742.097
+ 3.119 2.436 52.239 47.849
+ -14156127.097 -11002362.886 22286952.560 22286955.328 22286952.416
+ -2028.405 -1580.574 49.981 44.722
+ -17733293.603 -13806503.373 21696995.081 21696998.174 21696995.995
+ 874.504 681.439 51.718 45.417
+ -18967316.332 -14764448.968 21187207.570 21187207.955 21187207.645
+ 1819.850 1418.073 51.197 46.112
+ -8022811.879 -6238326.108 23440253.087 23440254.324 23440252.845
+ -3027.388 -2359.022 47.028 41.595
+ -2430332.171 -1847936.623 23913383.965 23913388.323 23913384.436
+ -3163.419 -2465.007 47.896 42.117
+ -5891341.623 -4582282.300 23761278.360 23761281.239 23761278.637
+ 1974.161 1538.310 48.244 42.638
+ -15373543.794 -11724528.262 22109715.283 22109717.415 22109715.481
+ 2875.108 2240.344 51.023 45.070
+ 03 8 2 0 28 49.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348568.884 -18961053.378 20451741.245 20451743.309 20451741.450
+ 2.005 1.556 52.239 47.849
+ -14153084.019 -10999991.655 22287531.401 22287534.602 22287531.574
+ -2028.934 -1581.002 49.981 44.722
+ -17734604.409 -13807524.778 21696745.605 21696748.914 21696746.454
+ 873.314 680.500 51.718 45.591
+ -18970045.332 -14766575.461 21186687.873 21186688.732 21186688.312
+ 1818.886 1417.301 51.197 46.112
+ -8018270.564 -6234787.416 23441117.332 23441119.148 23441117.199
+ -3027.767 -2359.317 47.028 41.595
+ -2425586.785 -1844238.915 23914287.110 23914290.655 23914287.524
+ -3163.797 -2465.304 47.896 42.117
+ -5894302.695 -4584589.635 23760714.860 23760717.467 23760715.135
+ 1973.902 1538.100 48.244 42.638
+ -15377855.819 -11727888.280 22108894.806 22108897.110 22108895.008
+ 2874.280 2239.692 51.023 45.070
+ 03 8 2 0 28 51.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348571.486 -18961055.405 20451740.678 20451742.859 20451740.981
+ 1.047 0.816 52.239 47.849
+ -14150040.654 -10997620.204 22288110.681 22288113.614 22288110.815
+ -2029.275 -1581.248 49.981 44.722
+ -17735913.941 -13808545.191 21696496.619 21696499.813 21696497.169
+ 872.318 679.731 51.718 45.417
+ -18972773.393 -14768701.223 21186168.940 21186169.557 21186169.169
+ 1818.116 1416.713 51.197 46.112
+ -8013729.089 -6231248.613 23441981.740 23441983.161 23441981.466
+ -3028.057 -2359.520 47.028 41.769
+ -2420841.367 -1840541.195 23915189.964 23915193.405 23915190.732
+ -3163.920 -2465.381 47.896 42.117
+ -5897263.915 -4586897.077 23760151.303 23760154.778 23760151.675
+ 1973.905 1538.107 48.244 42.638
+ -15382167.120 -11731247.732 22108074.279 22108076.577 22108074.615
+ 2873.639 2239.202 51.023 45.070
+ 03 8 2 0 28 52.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348572.729 -18961056.373 20451740.488 20451742.667 20451740.796
+ 0.275 0.206 52.239 47.849
+ -14146996.814 -10995248.380 22288689.850 22288692.771 22288690.121
+ -2029.455 -1581.396 49.981 44.722
+ -17737222.007 -13809564.462 21696247.582 21696250.863 21696248.190
+ 871.466 679.062 51.718 45.591
+ -18975500.339 -14770826.114 21185649.841 21185650.641 21185650.217
+ 1817.509 1416.232 51.197 46.112
+ -8009187.316 -6227709.569 23442845.760 23442847.414 23442845.841
+ -3028.111 -2359.558 47.028 41.769
+ -2416095.725 -1836843.286 23916093.167 23916096.653 23916093.817
+ -3163.942 -2465.414 47.896 42.117
+ -5900225.134 -4589204.514 23759587.309 23759591.411 23759588.144
+ 1973.957 1538.143 48.244 42.638
+ -15386477.539 -11734606.497 22107253.962 22107256.490 22107254.367
+ 2873.201 2238.851 51.023 45.070
+ 03 8 2 0 28 54.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348572.834 -18961056.458 20451740.548 20451742.647 20451740.781
+ -0.497 -0.387 52.239 47.849
+ -14143952.736 -10992876.374 22289269.055 22289272.283 22289269.457
+ -2029.680 -1581.571 49.981 44.722
+ -17738528.837 -13810582.770 21695998.941 21696001.705 21695999.414
+ 870.599 678.380 51.718 45.417
+ -18978226.396 -14772950.313 21185131.166 21185131.901 21185131.452
+ 1816.885 1415.749 51.197 46.112
+ -8004645.441 -6224170.442 23443710.215 23443711.334 23443710.334
+ -3028.184 -2359.611 47.028 41.769
+ -2411350.076 -1833145.381 23916996.104 23916999.273 23916996.980
+ -3163.971 -2465.457 47.896 41.943
+ -5903186.510 -4591512.077 23759023.918 23759026.942 23759024.552
+ 1974.080 1538.234 48.244 42.464
+ -15390787.283 -11737964.738 22106433.984 22106436.275 22106434.211
+ 2872.708 2238.471 51.023 45.070
+ 03 8 2 0 28 55.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927236
+ -24348571.734 -18961055.602 20451740.619 20451742.829 20451741.013
+ -0.889 -0.681 52.239 47.849
+ -14140908.347 -10990504.127 22289848.513 22289851.480 22289848.861
+ -2029.480 -1581.404 49.981 44.722
+ -17739834.354 -13811600.056 21695750.406 21695753.643 21695750.931
+ 870.149 678.047 51.718 45.417
+ -18980951.488 -14775073.761 21184612.543 21184613.357 21184612.829
+ 1816.630 1415.563 51.197 46.112
+ -8000103.388 -6220631.169 23444574.732 23444575.663 23444574.896
+ -3027.857 -2359.371 47.028 41.769
+ -2406604.340 -1829447.416 23917898.677 23917902.755 23917899.903
+ -3163.643 -2465.163 47.896 41.943
+ -5906148.016 -4593819.751 23758460.446 23758464.449 23758460.807
+ 1974.567 1538.630 48.244 42.638
+ -15395096.308 -11741322.422 22105613.893 22105616.163 22105614.226
+ 2872.633 2238.424 51.023 45.070
+ 03 8 2 0 28 57.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24348569.217 -18961053.641 20451741.109 20451743.300 20451741.510
+ -2.137 -1.663 52.239 47.849
+ -14137863.459 -10988131.486 22290427.709 22290431.044 22290428.186
+ -2030.134 -1581.918 49.981 44.722
+ -17741138.372 -13812616.173 21695502.275 21695505.271 21695502.703
+ 868.817 677.002 51.718 45.417
+ -18983675.420 -14777196.309 21184094.177 21184094.863 21184094.471
+ 1815.558 1414.722 51.197 46.112
+ -7995560.969 -6217091.626 23445439.002 23445440.183 23445439.505
+ -3028.580 -2359.945 47.201 41.769
+ -2401858.373 -1825749.271 23918802.419 23918805.873 23918802.910
+ -3164.036 -2465.474 47.896 41.769
+ -5909109.437 -4596127.347 23757896.868 23757900.676 23757897.277
+ 1974.241 1538.368 48.244 42.638
+ -15399404.385 -11744679.365 22104794.013 22104796.192 22104794.441
+ 2871.733 2237.711 51.023 44.896
+ 03 8 2 0 28 58.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24348565.613 -18961050.835 20451741.896 20451743.944 20451742.210
+ -2.423 -1.880 52.239 47.849
+ -14134818.347 -10985758.676 22291007.292 22291010.479 22291007.590
+ -2029.799 -1581.656 49.981 44.722
+ -17742441.201 -13813631.362 21695254.272 21695257.710 21695254.781
+ 868.489 676.750 51.718 45.417
+ -18986398.509 -14779318.197 21183576.103 21183576.504 21183576.223
+ 1815.457 1414.650 51.197 46.112
+ -7991018.547 -6213552.083 23446303.532 23446304.467 23446304.119
+ -3027.912 -2359.410 47.201 41.769
+ -2397112.435 -1822051.142 23919705.012 23919708.739 23919705.952
+ -3163.555 -2465.082 47.896 41.769
+ -5912071.052 -4598435.093 23757333.120 23757336.756 23757333.623
+ 1974.719 1538.744 48.244 42.638
+ -15403711.841 -11748035.822 22103974.272 22103976.636 22103974.759
+ 2871.740 2237.735 51.023 44.896
+ 03 8 2 0 29 0.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24348560.577 -18961046.912 20451742.725 20451744.824 20451743.208
+ -3.574 -2.779 52.239 47.849
+ -14131772.721 -10983385.466 22291586.923 22291590.401 22291587.097
+ -2030.335 -1582.067 49.981 44.722
+ -17743742.489 -13814645.354 21695006.714 21695009.941 21695007.097
+ 867.257 675.787 51.718 45.417
+ -18989120.413 -14781439.160 21183057.928 21183058.739 21183058.132
+ 1814.468 1413.873 51.197 46.112
+ -7986475.663 -6210012.170 23447168.301 23447169.387 23447168.604
+ -3028.439 -2359.834 47.201 41.595
+ -2392366.219 -1818352.789 23920608.640 23920612.035 23920609.180
+ -3163.973 -2465.454 47.896 41.769
+ -5915032.571 -4600742.770 23756769.502 23756773.132 23756770.119
+ 1974.410 1538.501 48.244 42.638
+ -15408018.352 -11751391.544 22103154.847 22103157.012 22103155.257
+ 2870.889 2237.066 51.023 45.070
+ 03 8 2 0 29 1.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24348554.427 -18961042.117 20451743.721 20451746.196 20451744.390
+ -4.417 -3.442 52.239 47.849
+ -14128726.876 -10981012.079 22292166.444 22292169.375 22292166.691
+ -2030.615 -1582.292 49.981 44.722
+ -17745042.563 -13815658.397 21694759.379 21694762.414 21694759.633
+ 866.363 675.089 51.718 45.417
+ -18991841.460 -14783559.454 21182540.211 21182540.961 21182540.228
+ 1813.804 1413.352 51.197 46.112
+ -7981932.749 -6206472.243 23448032.444 23448033.847 23448033.080
+ -3028.575 -2359.914 47.201 41.769
+ -2387620.020 -1814654.452 23921512.054 23921515.282 23921512.418
+ -3164.073 -2465.508 47.896 41.769
+ -5917994.275 -4603050.589 23756206.140 23756209.849 23756206.401
+ 1974.561 1538.617 48.244 42.638
+ -15412324.207 -11754746.751 22102335.490 22102337.857 22102335.821
+ 2870.404 2236.682 51.023 45.070
+ 03 8 2 0 29 3.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24348546.928 -18961036.276 20451745.151 20451747.508 20451745.814
+ -5.771 -4.504 52.239 47.849
+ -14125680.573 -10978638.336 22292746.062 22292749.084 22292746.430
+ -2031.333 -1582.863 49.981 44.722
+ -17746341.184 -13816670.310 21694512.363 21694515.542 21694512.521
+ 864.929 673.965 51.718 45.417
+ -18994561.406 -14785678.891 21182022.682 21182023.471 21182022.562
+ 1812.632 1412.431 51.197 46.112
+ -7977389.523 -6202932.057 23448897.022 23448898.514 23448897.639
+ -3029.273 -2360.474 47.201 41.769
+ -2382873.613 -1810955.959 23922415.472 23922418.266 23922415.627
+ -3164.740 -2466.044 47.896 41.769
+ -5920955.961 -4605358.392 23755642.915 23755645.587 23755642.804
+ 1974.116 1538.268 48.244 42.638
+ -15416629.176 -11758101.274 22101516.161 22101518.344 22101516.605
+ 2869.363 2235.852 51.023 45.070
+ 03 8 2 0 29 4.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24348538.250 -18961029.513 20451746.884 20451749.147 20451747.426
+ -6.318 -4.928 52.239 47.849
+ -14122634.007 -10976264.387 22293326.087 22293328.997 22293326.276
+ -2031.265 -1582.808 49.981 44.722
+ -17747638.531 -13817681.225 21694265.399 21694268.419 21694265.696
+ 864.332 673.506 51.718 45.417
+ -18997280.422 -14787797.604 21181505.261 21181506.055 21181505.132
+ 1812.240 1412.131 51.197 46.112
+ -7972846.170 -6199391.785 23449761.716 23449762.766 23449762.185
+ -3029.038 -2360.291 47.201 41.769
+ -2378127.184 -1807257.446 23923318.332 23923321.751 23923318.876
+ -3164.423 -2465.788 47.896 41.769
+ -5923917.743 -4607666.274 23755079.349 23755082.283 23755079.301
+ 1974.389 1538.493 48.244 42.638
+ -15420933.429 -11761455.235 22100697.080 22100699.486 22100697.525
+ 2869.140 2235.698 51.023 45.070
+ 03 8 2 0 29 6.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24348528.339 -18961021.795 20451748.583 20451751.056 20451749.268
+ -7.008 -5.462 52.239 47.849
+ -14119587.095 -10973890.174 22293905.779 22293908.711 22293906.217
+ -2031.416 -1582.917 49.981 44.722
+ -17748934.539 -13818691.106 21694018.627 21694021.980 21694019.057
+ 863.573 672.909 51.718 45.417
+ -18999998.449 -14789915.550 21180987.939 21180988.840 21180987.841
+ 1811.678 1411.696 51.197 46.112
+ -7968302.620 -6195851.367 23450626.369 23450626.783 23450626.802
+ -3029.080 -2360.329 47.201 41.769
+ -2373380.666 -1803558.867 23924221.667 23924224.615 23924221.953
+ -3164.381 -2465.743 47.896 41.595
+ -5926879.558 -4609974.184 23754515.729 23754519.178 23754515.776
+ 1974.465 1538.547 48.244 42.638
+ -15425236.920 -11764808.608 22099878.109 22099880.638 22099878.571
+ 2868.718 2235.367 51.023 45.070
+ 03 8 2 0 29 7.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24348517.085 -18961013.021 20451750.673 20451753.145 20451751.281
+ -8.093 -6.313 52.239 47.849
+ -14116539.743 -10971515.609 22294485.634 22294488.714 22294486.156
+ -2031.875 -1583.289 49.981 44.722
+ -17750229.106 -13819699.857 21693772.535 21693775.316 21693772.756
+ 862.407 671.998 51.718 45.417
+ -19002715.394 -14792032.649 21180471.042 21180471.621 21180470.812
+ 1810.775 1410.989 51.197 46.112
+ -7963758.769 -6192310.695 23451491.112 23451492.104 23451491.465
+ -3029.489 -2360.651 47.201 41.769
+ -2368633.934 -1799860.118 23925125.350 23925127.494 23925125.238
+ -3164.680 -2465.999 47.896 41.595
+ -5929841.413 -4612282.120 23753952.310 23753954.924 23753952.295
+ 1974.316 1538.422 48.244 42.638
+ -15429539.549 -11768161.297 22099059.366 22099061.797 22099059.845
+ 2867.932 2234.752 51.197 45.070
+ 03 8 2 0 29 9.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927237
+ -24348504.563 -18961003.266 20451753.091 20451755.588 20451753.526
+ -9.023 -7.036 52.239 47.849
+ -14113492.029 -10969140.768 22295065.722 22295068.772 22295066.148
+ -2032.202 -1583.540 49.981 44.722
+ -17751522.309 -13820707.550 21693526.399 21693529.355 21693526.724
+ 861.419 671.234 51.718 45.417
+ -19005431.307 -14794148.943 21179954.117 21179954.985 21179953.948
+ 1810.017 1410.399 51.197 46.112
+ -7959214.716 -6188769.876 23452355.150 23452356.485 23452356.130
+ -3029.685 -2360.780 47.201 41.769
+ -2363887.088 -1796161.286 23926028.950 23926030.834 23926028.722
+ -3164.896 -2466.164 47.896 41.769
+ -5932803.356 -4614590.128 23753388.545 23753391.147 23753388.857
+ 1974.287 1538.406 48.244 42.638
+ -15433841.379 -11771513.369 22098240.796 22098243.350 22098241.281
+ 2867.323 2234.271 51.197 45.070
+ 03 8 2 0 29 10.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24348490.879 -18960992.604 20451755.644 20451758.191 20451756.000
+ -9.247 -7.207 52.239 47.849
+ -14110444.036 -10966765.713 22295645.833 22295648.474 22295646.136
+ -2031.821 -1583.229 49.981 44.722
+ -17752814.231 -13821714.239 21693280.530 21693283.531 21693280.900
+ 861.115 671.000 51.718 45.591
+ -19008146.293 -14796264.517 21179437.449 21179438.451 21179437.186
+ 1809.943 1410.349 51.197 46.112
+ -7954670.512 -6185228.944 23453219.973 23453220.790 23453220.998
+ -3029.276 -2360.472 47.375 41.769
+ -2359140.238 -1792462.436 23926932.408 23926934.388 23926932.219
+ -3164.322 -2465.700 47.896 41.595
+ -5935765.460 -4616898.261 23752825.211 23752827.357 23752825.349
+ 1974.968 1538.931 48.244 42.464
+ -15438142.518 -11774864.906 22097422.210 22097424.732 22097422.830
+ 2867.435 2234.370 51.197 45.070
+ 03 8 2 0 29 12.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24348475.799 -18960980.854 20451758.611 20451760.946 20451758.753
+ -10.573 -8.242 52.239 47.849
+ -14107395.548 -10964390.269 22296225.772 22296229.068 22296226.306
+ -2032.567 -1583.820 49.981 44.722
+ -17754104.674 -13822719.779 21693035.022 21693038.241 21693035.322
+ 859.733 669.912 51.718 45.417
+ -19010860.144 -14798379.204 21178921.035 21178921.919 21178920.659
+ 1808.814 1409.464 51.197 46.112
+ -7950125.994 -6181687.753 23454084.326 23454085.612 23454085.683
+ -3029.901 -2360.970 47.375 41.769
+ -2354393.133 -1788763.387 23927835.410 23927838.024 23927835.658
+ -3164.896 -2466.170 47.896 41.769
+ -5938727.512 -4619206.339 23752261.665 23752264.201 23752261.823
+ 1974.555 1538.586 48.244 42.464
+ -15442442.709 -11778215.698 22096603.922 22096606.564 22096604.479
+ 2866.377 2233.537 51.197 45.070
+ 03 8 2 0 29 13.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24348459.668 -18960968.288 20451761.735 20451764.101 20451761.746
+ -11.144 -8.680 52.239 47.849
+ -14104346.917 -10962014.712 22296806.054 22296809.287 22296806.578
+ -2032.483 -1583.749 49.981 44.722
+ -17755393.949 -13823724.407 21692789.700 21692792.640 21692789.978
+ 859.106 669.438 51.718 45.417
+ -19013573.190 -14800493.265 21178404.883 21178405.514 21178404.352
+ 1808.392 1409.136 51.197 46.112
+ -7945581.453 -6178146.558 23454949.365 23454951.066 23454950.387
+ -3029.741 -2360.839 47.375 41.422
+ -2349646.120 -1785064.417 23928738.196 23928741.438 23928739.065
+ -3164.697 -2465.992 47.896 41.769
+ -5941689.821 -4621514.635 23751697.825 23751700.349 23751698.332
+ 1974.831 1538.826 48.244 42.638
+ -15446742.350 -11781566.069 22095785.831 22095788.205 22095786.274
+ 2866.137 2233.358 51.197 45.070
+ 03 8 2 0 29 15.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24348442.179 -18960954.662 20451764.868 20451767.448 20451765.001
+ -11.685 -9.101 52.239 47.849
+ -14101297.831 -10959638.805 22297386.243 22297389.307 22297386.955
+ -2032.453 -1583.721 49.981 44.722
+ -17756681.781 -13824727.916 21692544.480 21692547.652 21692544.882
+ 858.517 668.973 51.718 45.591
+ -19016285.122 -14802606.460 21177888.725 21177889.609 21177888.234
+ 1808.010 1408.844 51.197 46.112
+ -7941036.616 -6174605.131 23455814.309 23455816.048 23455815.042
+ -3029.540 -2360.664 47.375 41.595
+ -2344898.897 -1781365.298 23929640.847 23929644.670 23929642.362
+ -3164.434 -2465.803 47.896 41.769
+ -5944652.066 -4623822.882 23751133.858 23751136.531 23751134.623
+ 1975.128 1539.071 48.417 42.638
+ -15451041.095 -11784915.742 22094967.781 22094970.173 22094968.221
+ 2865.929 2233.194 51.197 45.070
+ 03 8 2 0 29 16.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24348423.373 -18960940.008 20451768.515 20451771.171 20451768.513
+ -13.191 -10.274 52.239 47.849
+ -14098248.321 -10957262.564 22297966.459 22297969.356 22297967.374
+ -2033.346 -1584.422 49.981 44.896
+ -17757968.186 -13825730.308 21692299.882 21692302.852 21692300.063
+ 856.897 667.716 51.718 45.417
+ -19018995.984 -14804718.820 21177372.897 21177373.677 21177372.311
+ 1806.675 1407.794 51.197 46.112
+ -7936491.487 -6171063.474 23456678.812 23456680.714 23456679.819
+ -3030.361 -2361.316 47.375 41.769
+ -2340151.499 -1777666.032 23930544.434 23930548.674 23930545.769
+ -3165.134 -2466.337 47.896 41.595
+ -5947614.305 -4626131.119 23750570.409 23750573.207 23750570.954
+ 1974.567 1538.618 48.417 42.638
+ -15455338.991 -11788264.747 22094149.913 22094152.417 22094150.329
+ 2864.726 2232.247 51.197 45.070
+ 03 8 2 0 29 18.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24348403.256 -18960924.333 20451772.386 20451774.919 20451772.302
+ -14.104 -10.997 52.239 47.849
+ -14095198.407 -10954886.006 22298547.044 22298549.869 22298547.860
+ -2033.620 -1584.641 49.981 44.722
+ -17759253.185 -13826731.604 21692055.250 21692058.255 21692055.503
+ 855.957 666.969 51.718 45.417
+ -19021705.787 -14806830.352 21176857.309 21176857.993 21176856.596
+ 1805.936 1407.212 51.197 46.112
+ -7931946.101 -6167521.618 23457543.795 23457545.241 23457544.573
+ -3030.634 -2361.534 47.375 41.595
+ -2335403.926 -1773966.633 23931448.189 23931452.092 23931449.038
+ -3165.275 -2466.446 47.896 41.769
+ -5950576.541 -4628439.349 23750006.293 23750009.809 23750007.277
+ 1974.486 1538.552 48.417 42.638
+ -15459636.038 -11791613.092 22093332.146 22093334.653 22093332.550
+ 2864.114 2231.774 51.197 45.070
+ 03 8 2 0 29 19.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927238
+ -24348382.136 -18960907.878 20451776.443 20451778.819 20451776.356
+ -14.578 -11.351 52.239 47.849
+ -14092148.374 -10952509.359 22299127.519 22299130.254 22299128.402
+ -2033.511 -1584.546 49.981 44.722
+ -17760537.076 -13827732.041 21691810.977 21691813.904 21691811.165
+ 855.400 666.552 51.718 45.417
+ -19024414.839 -14808941.304 21176341.752 21176342.660 21176341.089
+ 1805.633 1406.991 51.197 46.112
+ -7927400.755 -6163979.790 23458409.074 23458410.704 23458409.275
+ -3030.366 -2361.313 47.375 41.595
+ -2330656.486 -1770267.332 23932351.698 23932355.538 23932352.376
+ -3165.085 -2466.295 47.896 41.769
+ -5953539.121 -4630747.851 23749442.696 23749445.750 23749443.465
+ 1974.906 1538.881 48.417 42.638
+ -15463932.554 -11794961.028 22092514.665 22092517.189 22092514.959
+ 2864.027 2231.713 51.197 45.070
+ 03 8 2 0 29 21.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24348359.511 -18960890.250 20451780.774 20451783.124 20451780.755
+ -15.724 -12.255 52.239 47.849
+ -14089097.747 -10950132.249 22299707.945 22299710.747 22299709.072
+ -2034.049 -1584.967 49.807 44.722
+ -17761819.355 -13828731.217 21691566.975 21691569.955 21691567.141
+ 854.188 665.594 51.718 45.591
+ -19027122.627 -14811051.267 21175826.510 21175827.591 21175825.789
+ 1804.646 1406.213 51.197 46.286
+ -7922854.975 -6160437.629 23459274.230 23459275.284 23459273.990
+ -3030.806 -2361.669 47.375 41.595
+ -2325908.718 -1766567.778 23933255.053 23933258.916 23933255.784
+ -3165.452 -2466.594 47.896 41.595
+ -5956501.486 -4633056.187 23748878.930 23748880.938 23748879.659
+ 1974.616 1538.639 48.417 42.638
+ -15468228.014 -11798308.139 22091697.408 22091699.900 22091697.533
+ 2863.085 2230.971 51.197 45.070
+ 03 8 2 0 29 22.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24348335.828 -18960871.796 20451785.267 20451787.676 20451785.278
+ -16.628 -12.965 52.239 47.849
+ -14086046.957 -10947755.012 22300288.668 22300291.588 22300289.746
+ -2034.381 -1585.238 49.981 44.722
+ -17763100.482 -13829729.501 21691323.206 21691325.846 21691323.346
+ 853.227 664.847 51.718 45.417
+ -19029829.605 -14813160.602 21175311.544 21175312.222 21175310.624
+ 1803.905 1405.633 51.197 46.286
+ -7918309.142 -6156895.422 23460139.514 23460141.184 23460138.756
+ -3031.057 -2361.856 47.375 41.595
+ -2321161.028 -1762868.284 23934158.494 23934162.433 23934159.336
+ -3165.587 -2466.694 47.896 41.595
+ -5959464.122 -4635364.732 23748315.235 23748318.013 23748315.744
+ 1974.679 1538.698 48.417 42.638
+ -15472522.894 -11801654.797 22090880.050 22090882.444 22090880.187
+ 2862.567 2230.567 51.197 45.070
+ 03 8 2 0 29 24.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24348310.834 -18960852.319 20451790.126 20451792.515 20451790.084
+ -16.900 -13.167 52.239 47.849
+ -14082995.757 -10945377.452 22300869.165 22300872.123 22300870.469
+ -2034.055 -1584.979 49.981 44.722
+ -17764380.190 -13830726.672 21691079.723 21691082.476 21691079.808
+ 852.867 664.571 51.718 45.417
+ -19032535.514 -14815269.101 21174796.635 21174797.438 21174795.739
+ 1803.796 1405.557 51.370 46.286
+ -7913763.083 -6153353.038 23461004.376 23461005.650 23461003.724
+ -3030.533 -2361.454 47.375 41.769
+ -2316413.203 -1759168.676 23935061.814 23935065.406 23935062.832
+ -3165.021 -2466.251 47.896 41.769
+ -5962426.766 -4637673.287 23747751.065 23747754.716 23747751.900
+ 1975.170 1539.094 48.417 42.638
+ -15476816.930 -11805000.794 22090062.925 22090065.080 22090063.097
+ 2862.582 2230.580 51.197 45.070
+ 03 8 2 0 29 25.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24348284.592 -18960831.876 20451795.201 20451797.452 20451795.176
+ -17.668 -13.759 52.239 47.849
+ -14079944.225 -10942999.640 22301449.786 22301452.758 22301451.144
+ -2034.222 -1585.101 49.981 44.722
+ -17765658.546 -13831722.797 21690836.387 21690839.145 21690836.555
+ 852.001 663.903 51.718 45.417
+ -19035240.426 -14817376.827 21174281.908 21174282.859 21174281.038
+ 1803.194 1405.090 51.370 46.112
+ -7909216.789 -6149810.475 23461869.047 23461871.290 23461868.755
+ -3030.731 -2361.588 47.375 41.769
+ -2311665.267 -1755468.995 23935965.362 23935968.855 23935966.194
+ -3165.094 -2466.294 47.896 41.769
+ -5965389.500 -4639981.904 23747187.141 23747190.940 23747188.065
+ 1975.285 1539.180 48.417 42.638
+ -15481110.176 -11808346.177 22089245.952 22089248.548 22089246.182
+ 2862.115 2230.213 51.197 45.070
+ 03 8 2 0 29 27.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24348257.028 -18960810.399 20451800.472 20451802.765 20451800.469
+ -18.747 -14.606 52.239 47.849
+ -14076892.262 -10940621.487 22302030.585 22302033.124 22302031.925
+ -2034.685 -1585.466 49.981 44.722
+ -17766935.486 -13832717.817 21690593.520 21690596.118 21690593.552
+ 850.891 663.038 51.718 45.417
+ -19037944.262 -14819483.710 21173767.394 21173768.133 21173766.584
+ 1802.273 1404.371 51.370 46.112
+ -7904670.251 -6146267.717 23462734.546 23462736.513 23462733.940
+ -3031.088 -2361.892 47.375 41.769
+ -2306917.131 -1751769.160 23936868.757 23936872.184 23936869.539
+ -3165.500 -2466.617 47.896 41.769
+ -5968352.255 -4642290.540 23746623.259 23746626.905 23746624.059
+ 1975.129 1539.056 48.417 42.464
+ -15485402.589 -11811690.913 22088429.180 22088431.634 22088429.438
+ 2861.362 2229.638 51.197 45.070
+ 03 8 2 0 29 28.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24348228.151 -18960787.895 20451805.665 20451808.066 20451806.019
+ -19.739 -15.394 52.239 47.849
+ -14073839.897 -10938243.019 22302611.704 22302614.122 22302612.825
+ -2035.053 -1585.771 49.981 44.722
+ -17768211.001 -13833711.720 21690350.813 21690353.482 21690350.774
+ 849.835 662.205 51.718 45.417
+ -19040647.025 -14821589.754 21173253.300 21173253.842 21173252.329
+ 1801.439 1403.703 51.370 46.286
+ -7900123.428 -6142724.739 23463599.854 23463601.566 23463599.068
+ -3031.366 -2362.115 47.375 41.595
+ -2302168.871 -1748069.221 23937772.483 23937776.479 23937772.984
+ -3165.667 -2466.749 47.896 41.769
+ -5971315.029 -4644599.190 23746059.420 23746062.910 23746060.198
+ 1975.084 1539.008 48.417 42.638
+ -15489694.144 -11815034.982 22087612.578 22087614.934 22087612.805
+ 2860.731 2229.127 51.197 45.070
+ 03 8 2 0 29 30.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24348198.090 -18960764.474 20451811.525 20451813.796 20451811.796
+ -20.920 -16.299 52.239 47.849
+ -14070787.256 -10935864.334 22303192.461 22303195.167 22303193.830
+ -2035.616 -1586.198 49.981 44.722
+ -17769485.238 -13834704.634 21690108.167 21690111.023 21690108.234
+ 848.563 661.224 51.718 45.417
+ -19043348.845 -14823695.070 21172738.909 21172739.767 21172738.243
+ 1800.418 1402.918 51.370 46.286
+ -7895576.472 -6139181.666 23464464.779 23464466.795 23464464.297
+ -3031.821 -2362.448 47.375 41.595
+ -2297420.588 -1744369.267 23938676.253 23938680.685 23938676.538
+ -3166.017 -2467.030 47.896 41.769
+ -5974277.907 -4646907.923 23745495.445 23745499.381 23745496.307
+ 1974.682 1538.699 48.417 42.638
+ -15493984.976 -11818378.484 22086795.921 22086798.498 22086796.351
+ 2859.789 2228.401 51.197 45.070
+ 03 8 2 0 29 31.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24348166.824 -18960740.111 20451817.448 20451819.755 20451817.766
+ -21.011 -16.371 52.239 47.849
+ -14067734.303 -10933485.414 22303773.339 22303776.224 22303774.824
+ -2035.153 -1585.823 49.981 44.722
+ -17770758.170 -13835696.530 21689865.984 21689868.688 21689865.956
+ 848.443 661.128 51.718 45.417
+ -19046049.712 -14825799.644 21172225.052 21172225.728 21172224.372
+ 1800.482 1402.981 51.370 46.286
+ -7891029.369 -6135638.473 23465330.314 23465331.944 23465329.650
+ -3031.179 -2361.961 47.375 41.595
+ -2292672.225 -1740669.245 23939579.961 23939583.887 23939580.089
+ -3165.363 -2466.516 47.896 41.769
+ -5977240.907 -4649216.759 23744931.858 23744935.677 23744932.295
+ 1975.609 1539.441 48.417 42.812
+ -15498275.067 -11821721.409 22085979.543 22085981.666 22085980.050
+ 2860.006 2228.575 51.197 45.070
+ 03 8 2 0 29 33.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24348134.272 -18960714.745 20451823.775 20451826.016 20451823.994
+ -22.307 -17.386 52.239 47.849
+ -14064680.981 -10931106.196 22304354.347 22304356.551 22304355.732
+ -2035.801 -1586.352 49.981 44.722
+ -17772029.705 -13836687.336 21689624.101 21689627.016 21689623.967
+ 847.033 660.019 51.718 45.417
+ -19048749.543 -14827903.410 21171711.247 21171712.117 21171710.666
+ 1799.359 1402.093 51.370 46.286
+ -7886482.037 -6132095.099 23466195.863 23466198.086 23466195.128
+ -3031.782 -2362.429 47.375 41.595
+ -2287923.739 -1736969.132 23940483.850 23940486.697 23940483.841
+ -3165.892 -2466.949 47.896 41.769
+ -5980203.933 -4651525.606 23744367.979 23744371.715 23744368.454
+ 1975.120 1539.056 48.417 42.638
+ -15502564.344 -11825063.703 22085163.370 22085166.082 22085163.916
+ 2859.062 2227.833 51.197 45.070
+ 03 8 2 0 29 34.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24348100.443 -18960688.385 20451830.192 20451832.392 20451830.457
+ -22.728 -17.704 52.239 47.676
+ -14061627.262 -10928726.680 22304935.510 22304938.349 22304936.779
+ -2035.724 -1586.271 49.981 44.722
+ -17773299.866 -13837677.069 21689382.288 21689385.221 21689382.219
+ 846.517 659.624 51.718 45.417
+ -19051448.333 -14830006.364 21171197.810 21171198.295 21171197.241
+ 1799.058 1401.871 51.370 46.112
+ -7881934.474 -6128551.547 23467061.229 23467063.055 23467060.649
+ -3031.600 -2362.276 47.375 41.769
+ -2283175.120 -1733268.903 23941387.619 23941390.740 23941387.654
+ -3165.555 -2466.667 47.896 41.769
+ -5983166.996 -4653834.485 23743804.129 23743808.146 23743804.486
+ 1975.508 1539.355 48.417 42.638
+ -15506852.787 -11828405.341 22084347.458 22084349.760 22084347.910
+ 2858.868 2227.694 51.197 45.070
+ 03 8 2 0 29 36.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24348065.317 -18960661.014 20451836.882 20451839.049 20451837.191
+ -24.166 -18.838 52.239 47.849
+ -14058573.178 -10926346.872 22305516.624 22305519.117 22305517.826
+ -2036.536 -1586.918 49.981 44.722
+ -17774568.629 -13838665.715 21689141.013 21689143.608 21689140.808
+ 845.035 658.465 51.718 45.417
+ -19054146.087 -14832108.506 21170684.485 21170685.078 21170683.958
+ 1797.827 1400.889 51.370 46.286
+ -7877386.641 -6125007.780 23467926.705 23467928.064 23467926.278
+ -3032.303 -2362.841 47.375 41.595
+ -2278426.361 -1729568.568 23942291.124 23942294.366 23942291.453
+ -3166.303 -2467.255 47.896 41.769
+ -5986130.079 -4656143.376 23743240.792 23743244.492 23743240.675
+ 1975.006 1538.959 48.417 42.812
+ -15511140.421 -11831746.355 22083531.447 22083534.120 22083532.022
+ 2857.780 2226.836 51.197 45.070
+ 03 8 2 0 29 37.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24348029.102 -18960632.798 20451843.844 20451845.925 20451844.146
+ -24.718 -19.258 52.239 47.676
+ -14055518.907 -10923966.926 22306097.981 22306100.564 22306099.043
+ -2036.468 -1586.847 49.981 44.722
+ -17775836.202 -13839653.437 21688899.894 21688902.175 21688899.649
+ 844.420 657.990 51.718 45.417
+ -19056842.995 -14834209.995 21170171.274 21170171.899 21170170.840
+ 1797.453 1400.622 51.370 46.286
+ -7872838.810 -6121464.028 23468792.390 23468793.683 23468792.016
+ -3032.153 -2362.707 47.375 41.422
+ -2273677.700 -1725868.325 23943194.924 23943198.593 23943195.153
+ -3165.995 -2466.999 47.896 41.595
+ -5989093.441 -4658452.494 23742676.711 23742680.075 23742676.639
+ 1975.410 1539.281 48.417 42.638
+ -15515427.428 -11835086.879 22082715.747 22082718.146 22082716.306
+ 2857.573 2226.677 51.197 45.070
+ 03 8 2 0 29 39.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24347991.414 -18960603.428 20451850.890 20451853.226 20451851.315
+ -25.667 -20.003 52.239 47.849
+ -14052464.078 -10921586.535 22306679.010 22306681.830 22306680.404
+ -2036.771 -1587.102 49.981 44.722
+ -17777102.206 -13840639.929 21688659.052 21688661.369 21688658.791
+ 843.409 657.196 51.718 45.417
+ -19059538.680 -14836310.525 21169658.382 21169658.770 21169657.983
+ 1796.645 1399.977 51.370 46.286
+ -7868290.581 -6117919.946 23469658.062 23469659.338 23469657.612
+ -3032.322 -2362.847 47.375 41.422
+ -2268928.709 -1722167.826 23944098.021 23944101.589 23944098.922
+ -3166.141 -2467.117 47.896 41.769
+ -5992056.647 -4660761.482 23742113.038 23742116.209 23742112.633
+ 1975.333 1539.222 48.417 42.638
+ -15519713.429 -11838426.619 22081900.141 22081902.341 22081900.740
+ 2856.936 2226.183 51.197 45.070
+ 03 8 2 0 29 40.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24347952.603 -18960573.189 20451858.432 20451860.504 20451858.732
+ -26.614 -20.738 52.239 47.676
+ -14049409.012 -10919205.965 22307260.463 22307263.223 22307261.785
+ -2037.139 -1587.385 49.981 44.722
+ -17778366.976 -13841625.462 21688418.208 21688421.010 21688418.118
+ 842.378 656.391 51.718 45.417
+ -19062233.478 -14838410.365 21169145.418 21169146.062 21169145.307
+ 1795.861 1399.361 51.370 46.286
+ -7863742.224 -6114375.780 23470523.374 23470524.729 23470523.188
+ -3032.627 -2363.071 47.375 41.595
+ -2264179.730 -1718467.318 23945001.758 23945005.464 23945002.788
+ -3166.345 -2467.290 47.896 41.595
+ -5995020.029 -4663070.612 23741549.333 23741551.987 23741548.685
+ 1975.271 1539.156 48.417 42.638
+ -15523998.752 -11841765.830 22081084.641 22081087.077 22081085.284
+ 2856.283 2225.669 51.197 44.896
+ 03 8 2 0 29 42.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24347912.493 -18960541.936 20451866.062 20451868.160 20451866.394
+ -27.182 -21.177 52.239 47.676
+ -14046353.562 -10916825.093 22307842.005 22307844.503 22307843.198
+ -2037.106 -1587.358 49.981 44.722
+ -17779630.359 -13842609.916 21688177.708 21688180.283 21688177.759
+ 841.785 655.942 51.892 45.417
+ -19064927.217 -14840509.384 21168632.973 21168633.423 21168632.820
+ 1795.461 1399.061 51.370 46.286
+ -7859193.635 -6110831.429 23471389.222 23471389.921 23471388.982
+ -3032.500 -2362.992 47.375 41.595
+ -2259430.638 -1714766.726 23945905.842 23945909.249 23945906.593
+ -3166.063 -2467.073 47.896 41.595
+ -5997983.439 -4665379.767 23740985.417 23740987.932 23740984.796
+ 1975.538 1539.397 48.417 42.638
+ -15528283.246 -11845104.396 22080269.487 22080271.814 22080269.968
+ 2855.997 2225.457 51.197 45.070
+ 03 8 2 0 29 43.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24347871.050 -18960509.641 20451873.731 20451875.987 20451874.328
+ -28.230 -22.001 52.239 47.849
+ -14043297.700 -10914443.900 22308423.460 22308426.242 22308424.766
+ -2037.507 -1587.671 49.981 44.722
+ -17780892.307 -13843593.252 21687937.640 21687940.313 21687937.655
+ 840.666 655.060 51.718 45.417
+ -19067619.885 -14842607.570 21168120.618 21168120.871 21168120.603
+ 1794.598 1398.387 51.370 46.286
+ -7854644.785 -6107286.874 23472254.646 23472255.695 23472254.592
+ -3032.784 -2363.229 47.549 41.422
+ -2254681.327 -1711065.974 23946809.734 23946813.016 23946810.427
+ -3166.418 -2467.342 47.896 41.769
+ -6000946.842 -4667688.911 23740421.406 23740424.090 23740421.034
+ 1975.366 1539.240 48.417 42.464
+ -15532566.881 -11848442.287 22079454.231 22079456.558 22079454.728
+ 2855.267 2224.875 51.197 45.070
+ 03 8 2 0 29 45.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24347828.461 -18960476.458 20451882.005 20451884.101 20451882.453
+ -29.038 -22.627 52.239 47.849
+ -14040241.578 -10912062.511 22309005.069 22309007.745 22309006.390
+ -2037.798 -1587.903 49.981 44.722
+ -17782153.003 -13844575.614 21687697.651 21687700.314 21687697.777
+ 839.786 654.370 51.718 45.417
+ -19070311.641 -14844705.043 21167608.358 21167608.923 21167608.496
+ 1793.920 1397.854 51.370 46.286
+ -7850095.823 -6103742.233 23473120.325 23473121.876 23473120.405
+ -3032.959 -2363.365 47.549 41.422
+ -2249932.058 -1707365.247 23947713.369 23947716.727 23947714.224
+ -3166.450 -2467.361 47.896 41.595
+ -6003910.441 -4669998.210 23739857.404 23739860.145 23739857.144
+ 1975.388 1539.285 48.417 42.638
+ -15536849.821 -11851779.644 22078639.204 22078641.392 22078639.602
+ 2854.734 2224.465 51.197 45.070
+ 03 8 2 0 29 46.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24347784.603 -18960442.285 20451890.351 20451892.385 20451890.824
+ -29.571 -23.036 52.239 47.676
+ -14037185.107 -10909680.846 22309586.697 22309589.390 22309588.067
+ -2037.688 -1587.807 49.981 44.722
+ -17783412.324 -13845556.902 21687458.050 21687460.845 21687458.143
+ 839.199 653.925 51.718 45.417
+ -19073002.377 -14846801.717 21167096.409 21167096.994 21167096.518
+ 1793.584 1397.601 51.370 46.112
+ -7845546.648 -6100197.425 23473985.845 23473986.590 23473986.299
+ -3032.703 -2363.146 47.549 41.595
+ -2245182.656 -1703664.420 23948617.202 23948620.909 23948618.195
+ -3166.224 -2467.177 47.896 41.769
+ -6006874.079 -4672307.535 23739293.434 23739296.474 23739293.129
+ 1975.800 1539.585 48.417 42.638
+ -15541131.972 -11855116.382 22077824.293 22077826.534 22077824.730
+ 2854.554 2224.321 51.197 45.070
+ 03 8 2 0 29 48.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24347739.466 -18960407.113 20451898.684 20451901.158 20451899.449
+ -30.506 -23.778 52.239 47.676
+ -14034128.276 -10907298.895 22310168.177 22310171.245 22310169.749
+ -2037.994 -1588.051 49.981 44.896
+ -17784670.277 -13846537.120 21687218.626 21687221.155 21687218.756
+ 838.162 653.113 51.718 45.417
+ -19075692.068 -14848897.579 21166584.442 21166585.072 21166584.690
+ 1792.806 1396.990 51.370 46.286
+ -7840997.255 -6096652.443 23474851.569 23474852.983 23474852.231
+ -3032.999 -2363.376 47.549 41.595
+ -2240433.162 -1699963.517 23949520.648 23949524.242 23949522.132
+ -3166.447 -2467.363 47.896 41.595
+ -6009837.756 -4674616.896 23738729.431 23738732.181 23738729.082
+ 1975.757 1539.550 48.417 42.638
+ -15545413.286 -11858452.475 22077009.648 22077011.975 22077010.018
+ 2853.940 2223.851 51.197 45.070
+ 03 8 2 0 29 49.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927239
+ -24347693.074 -18960370.965 20451907.625 20451909.825 20451908.197
+ -31.504 -24.544 52.239 47.676
+ -14031071.076 -10904916.667 22310750.154 22310753.300 22310751.550
+ -2038.422 -1588.379 49.981 44.722
+ -17785926.862 -13847516.281 21686979.384 21686982.143 21686979.617
+ 837.106 652.295 51.718 45.417
+ -19078380.763 -14850992.669 21166072.961 21166073.245 21166073.062
+ 1791.942 1396.319 51.370 46.286
+ -7836447.665 -6093107.311 23475717.800 23475718.450 23475718.196
+ -3033.265 -2363.578 47.549 41.595
+ -2235683.554 -1696262.532 23950424.603 23950428.447 23950425.866
+ -3166.563 -2467.451 47.896 41.422
+ -6012801.512 -4676926.317 23738165.258 23738167.927 23738165.189
+ 1975.613 1539.430 48.417 42.638
+ -15549693.813 -11861787.948 22076195.177 22076197.177 22076195.453
+ 2853.219 2223.286 51.197 45.070
+ 03 8 2 0 29 51.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24347645.364 -18960333.787 20451916.694 20451918.876 20451917.172
+ -32.301 -25.172 52.239 47.849
+ -14028013.487 -10902534.133 22311331.985 22311334.707 22311333.371
+ -2038.552 -1588.483 49.981 44.722
+ -17787182.031 -13848494.334 21686740.906 21686743.390 21686740.738
+ 836.253 651.625 51.718 45.417
+ -19081068.365 -14853086.902 21165561.564 21165561.808 21165561.666
+ 1791.315 1395.832 51.370 46.286
+ -7831897.794 -6089561.957 23476583.557 23476584.789 23476584.278
+ -3033.425 -2363.699 47.549 41.422
+ -2230933.771 -1692561.410 23951328.377 23951330.987 23951329.618
+ -3166.632 -2467.499 47.896 41.595
+ -6015765.265 -4679235.731 23737601.293 23737604.246 23737601.255
+ 1975.697 1539.500 48.417 42.464
+ -15553973.491 -11865122.756 22075380.662 22075382.786 22075381.052
+ 2852.761 2222.925 51.197 45.070
+ 03 8 2 0 29 52.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24347596.493 -18960295.706 20451926.097 20451928.150 20451926.389
+ -33.248 -25.909 52.239 47.849
+ -14024955.631 -10900151.390 22311913.584 22311916.680 22311915.211
+ -2038.925 -1588.778 49.981 44.722
+ -17788435.941 -13849471.405 21686502.079 21686504.806 21686502.109
+ 835.229 650.825 51.718 45.417
+ -19083755.054 -14855180.430 21165050.197 21165050.239 21165050.406
+ 1790.523 1395.208 51.370 46.286
+ -7827347.839 -6086016.538 23477449.567 23477449.966 23477450.260
+ -3033.639 -2363.891 47.549 41.422
+ -2226183.988 -1688860.281 23952232.059 23952235.816 23952233.394
+ -3166.814 -2467.641 47.896 41.595
+ -6018729.179 -4681545.276 23737036.951 23737040.451 23737037.342
+ 1975.657 1539.467 48.417 42.638
+ -15558252.465 -11868457.021 22074566.477 22074568.818 22074566.836
+ 2852.111 2222.425 51.197 45.070
+ 03 8 2 0 29 54.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24347546.423 -18960256.695 20451935.545 20451937.817 20451935.865
+ -33.754 -26.298 52.239 47.849
+ -14021897.500 -10897768.436 22312495.585 22312498.888 22312497.228
+ -2038.814 -1588.680 49.981 44.896
+ -17789688.546 -13850447.461 21686263.621 21686266.596 21686263.691
+ 834.659 650.395 51.718 45.417
+ -19086440.791 -14857273.214 21164539.210 21164539.422 21164539.342
+ 1790.191 1394.960 51.370 46.286
+ -7822797.747 -6082471.015 23478314.707 23478316.178 23478316.173
+ -3033.390 -2363.660 47.549 41.422
+ -2221434.175 -1685159.129 23953136.660 23953140.047 23953137.204
+ -3166.541 -2467.436 47.896 41.595
+ -6021693.193 -4683854.895 23736472.937 23736476.287 23736473.306
+ 1976.018 1539.742 48.417 42.638
+ -15562530.704 -11871790.717 22073752.258 22073754.406 22073752.711
+ 2851.902 2222.265 51.197 45.070
+ 03 8 2 0 29 55.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24347494.856 -18960216.510 20451945.424 20451947.536 20451945.686
+ -35.108 -27.365 52.239 47.676
+ -14018838.766 -10895385.005 22313077.581 22313080.820 22313079.274
+ -2039.557 -1589.260 49.981 44.722
+ -17790939.544 -13851422.263 21686025.731 21686028.666 21686025.565
+ 833.260 649.285 51.718 45.417
+ -19089125.282 -14859365.021 21164028.213 21164028.530 21164028.493
+ 1789.032 1394.043 51.370 46.286
+ -7818247.185 -6078925.128 23479180.478 23479182.613 23479182.139
+ -3034.119 -2364.261 47.549 41.422
+ -2216684.042 -1681457.724 23954040.352 23954043.710 23954041.127
+ -3167.075 -2467.860 47.896 41.595
+ -6024657.050 -4686164.390 23735908.946 23735912.382 23735909.088
+ 1975.528 1539.358 48.417 42.464
+ -15566807.912 -11875123.602 22072938.351 22072940.629 22072938.790
+ 2850.893 2221.468 51.197 45.070
+ 03 8 2 0 29 57.0000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24347442.169 -18960175.454 20451955.450 20451957.629 20451955.638
+ -35.932 -28.008 52.239 47.676
+ -14015779.843 -10893001.431 22313659.647 22313662.839 22313661.325
+ -2039.771 -1589.437 49.981 44.722
+ -17792189.337 -13852396.127 21685787.839 21685790.509 21685787.693
+ 832.377 648.598 51.718 45.417
+ -19091808.891 -14861456.145 21163517.495 21163517.791 21163517.749
+ 1788.373 1393.529 51.370 46.286
+ -7813696.588 -6075379.211 23480046.616 23480048.131 23480047.929
+ -3034.188 -2364.304 47.549 41.248
+ -2211933.945 -1677756.356 23954943.815 23954947.500 23954944.888
+ -3167.085 -2467.865 47.896 41.595
+ -6027621.112 -4688474.047 23735344.934 23735347.902 23735344.994
+ 1975.611 1539.414 48.417 42.464
+ -15571084.458 -11878455.972 22072124.793 22072126.723 22072124.960
+ 2850.359 2221.047 51.197 45.070
+ 03 8 2 0 29 58.5000000 0 8G 1G 2G 3G13G16G20G27G31 0.000927240
+ -24347388.221 -18960133.417 20451965.625 20451967.851 20451965.761
+ -36.437 -28.389 52.239 47.849
+ -14012720.552 -10890617.566 22314242.020 22314245.049 22314243.359
+ -2039.739 -1589.409 49.981 44.896
+ -17793437.753 -13853368.918 21685550.200 21685552.911 21685550.126
+ 831.758 648.126 51.718 45.417
+ -19094491.475 -14863546.469 21163007.023 21163007.131 21163007.260
+ 1787.982 1393.237 51.370 46.286
+ -7809145.774 -6071833.117 23480912.858 23480913.539 23480913.885
+ -3034.061 -2364.216 47.549 41.248
+ -2207183.722 -1674054.886 23955847.899 23955851.127 23955848.651
+ -3166.867 -2467.680 47.896 41.422
+ -6030585.230 -4690783.752 23734780.390 23734784.128 23734780.892
+ 1975.977 1539.726 48.417 42.464
+ -15575360.196 -11881787.714 22071310.910 22071313.659 22071311.252
+ 2850.151 2220.905 51.197 45.070
diff --git a/trunk/apps/RinexPlot/RinexPlot.bat b/trunk/apps/RinexPlot/RinexPlot.bat
new file mode 100755
index 0000000..5da237e
--- /dev/null
+++ b/trunk/apps/RinexPlot/RinexPlot.bat
@@ -0,0 +1,10 @@
+ at echo off
+if "%OS%" == "Windows_NT" goto WinNT
+perl -S RinexPlot.pl %1 %2 %3 %4 %5 %6 %7 %8 %9
+goto endofperl
+:WinNT
+REM start /b perl -S RinexPlot.pl %*
+perl -S RinexPlot.pl %*
+if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
+if %errorlevel% == 9009 echo You do not have Perl in your PATH.
+:endofperl
diff --git a/trunk/apps/RinexPlot/RinexPlot.pl b/trunk/apps/RinexPlot/RinexPlot.pl
new file mode 100644
index 0000000..b6896c3
--- /dev/null
+++ b/trunk/apps/RinexPlot/RinexPlot.pl
@@ -0,0 +1,3458 @@
+#!/usr/bin/perl
+#
+# RinexPlot - plot Rinex data
+#
+# $Id: //depot/sgl/gpstk/dev/apps/RinexPlot/RinexPlot.pl#7 $
+#
+#============================================================================
+#
+# This file is part of GPSTk, the GPS Toolkit.
+#
+# The GPSTk 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.
+#
+# The GPSTk 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 GPSTk; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# Copyright 2004, The University of Texas at Austin
+#
+#============================================================================
+#-------------------------------------------------------------------------------------
+# TD
+# (option?) don't plot points with value 0
+# it doesn't plot a symbol for the first point.
+# need to figure out the height and width of a character in pixels. **
+# you can open a file in a re-entrant sub .. see the Perl books .. use for --load
+# make it safe to run two copies at once .. use unique name for $CFG{'datafile'}
+# Right axis
+# Time limits
+# Gnuplot output
+# postscript output?
+# RAIM -- how to plot?
+# Dataset/Configure ? ... all ResCor options
+
+#-------------------------------------------------------------------------------------
+use strict;
+use Tk;
+use Tk::Dialog;
+use Tk::DialogBox;
+use Tk::ROText;
+use Tk::BrowseEntry;
+use File::stat;
+use File::Basename;
+use IO::Handle;
+
+#-------------------------------------------------------------------------------------
+# Version number
+my $VERSION = "1.2 (10/1/2004)";
+# Message box description of this program
+my $ABOUT_TEXT = "\nRinexPlot is a GUI for utility programs developed with\n"
+ . "the GPS Toolkit (GPSTk) that will read, manipulate and plot\n"
+ . "data in a Rinex file.\n";
+my $AUTHOR_TEXT = "RinexPlot is written in Perl/Tk by Dr. Brian W. Tolman.\n";
+
+#-------------------------------------------------------------------------------------
+# configuration - most things are stored in a hash - see Defaults()
+my (%CFG,%OPT); # CFG has one value per key, OPT can have many values per key
+my ($key,$val);
+my %Options; # valid options for command line -- see Defaults()
+my %Grow; # valid options that can have many values (OPT) -- see Defaults()
+
+my $SLASH="/";
+if ($^O eq "MSWin32") {
+ $SLASH="\\";
+}
+my $menutear = 1;
+
+#-------------------------------------------------------------------------------------
+# drawing area TD add to CFG
+my $BCOLOR = 'white'; # background color for canvas
+my $FCOLOR = 'blue'; # foreground color for canvas
+my $MCOLOR = 'black'; # color of mouse rectangles
+my $firstcanvas = 0; # mark very first resizing of canvas
+
+# cursors -- see
+# Win32 : \perl\site\lib\Tk\X11\cursorfont.h
+# Linux : /usr/X11R6/include/X11/cursorfont.h
+my ($cursor,$waitcursor,$crosshair)=('crosshair','watch','crosshair');
+
+#my @items = ();
+
+#-------------------------------------------------------------------------------------
+# Widgets
+my $w_top; # top level window
+my $w_canvas; # canvas
+my $statusbar; # status bar
+my $menubar; # menu bar
+
+#-------------------------------------------------------------------------------------
+# Plot configuration
+my ($Xrate, $Yrate);
+my $FirstAutoscale = 1; # flag showing need to call autoscale()
+my $LimitsSet = 0; # flag indicating LoadConfig has set limits
+my $UsingDefaults = 1; # flag indicating all labels are defaults
+my $LogOpen = 0; # flag saying when LOG is open
+my $MainUp = 0; # flag saying main window is up
+my $ScaleDefined = 0; # flag saying scales have been defined (Rates())
+my ($begW,$begS)=(0,0); # used in DataTime
+my ($endW,$endS);
+
+#-------------------------------------------------------------------------------------
+# Axes
+# Call NiceScale(datamin,datamax,$ScaleN,totalpixels);
+# Labels are ($ScaleMin + ($i-1) * $ScaleStep) foreach $i (1..$ScaleN).
+# Multiply labels by 10**ScaleExp to make them all (minimum size) integers.
+# There are $ScalePPL pixels per label.
+my ($ScaleMin,$ScaleStep,$ScaleExp,$ScaleN,$ScalePPL)=(0,0,0,0,0);
+my @NiceUnits=(0,12,15,20,25,30,40,50,60,80,100,120,150);
+my ($YScaleMin,$YScaleStep,$YScaleExp)=(0,0,0);
+my ($XScaleMin,$XScaleStep,$XScaleExp)=(0,0,0);
+# if plot limits (XMin,etc) are fixed by user, set this =1, else (autoscale) set =0
+my $ScaleFixed=0;
+# tics
+my ($XTicLen,$YTicLen)=(5,5);
+# use these as input to NewScale
+my ($XMin,$XMax,$YMin,$YMax);
+# save previous values for 'unzoom'
+my ($OldXMin,$OldXMax,$OldYMin,$OldYMax)=('','','','');
+
+#-------------------------------------------------------------------------------------
+# Curves to plot (ncurv of them)
+# each curve defined by Sat, OT, column in file, color, symbol type
+my $Reconfigure; # flag that says call ConfigureCurves()
+my $ncurv; # number of curves defined
+my @curvSV = (); # satellite for this curve
+my @curvOT = (); # obs type (from @obslist)
+my @curvON = (); # switch to turn off curve, on is non-zero
+my @curvCol = (); # column in $CFG{'datafile'} where data is found
+my @curvLines = (); # plot with lines or not (0)
+my @curvSymbs = (); # plot with symbols
+my @symbols = ('none','cross','plus','diamond','square','circle','del','delta');
+my @curvColor = (); # color to plot
+my @colors = (
+ '#0000ff', # bright blue
+ '#ff0000', # bright red
+ '#00ff00', # bright green
+ '#ff00ff', # magenta
+ '#00ffff', # cyan
+ '#80ff00', # electric green
+ '#ff0080', # pink
+ '#8000ff', # purple
+ '#ffff00', # yellow
+ '#ff8000', # orange
+ '#00ff80', # sea green
+ '#0080ff', # sky blue
+ '#000080', # dark blue
+ '#800000', # dark red almost brown
+ '#008000', # dark green
+);
+#'#000000', # black
+#'#ffffff', # white
+#'#a0b7ce', # "MSWin blue"
+
+#-------------------------------------------------------------------------------------
+# Mouse rectangle
+my $MOUSE_RECT; # the rectangle id
+my $MAKE_RECT=0; # state, initially off
+my ($RECT_X0,$RECT_X1,$RECT_Y0,$RECT_Y1); # rectangle limits
+my $CLICK = 0; # is the mouse button down?
+
+#-------------------------------------------------------------------------------------
+# Data file(s)
+#my $AutoView=1; # flag that says view RinSum output when created
+my ($filename,$ConfigFile,$ResCorfilename);
+my ($RinexInSummary,$RinexRCSummary);
+my @filelist=();
+my ($numobs, $numsvs); # number of obs types and SVs in Rinex file
+my ($nobssel, $nsvssel); # number of obs types and SVs (above) that are selected
+my @obslist=(); # list of obs types in Rinex header
+my @obsdesc=(); # descriptions of obs types from Rinex header dump
+my @obsselect=(); # list of switches (0,1) parallel to obslist
+my @svlist=(); # list of SVs in Rinex file
+my @svselect=(); # list of switches (0,1) parallel to svlist
+my @svbegin=(); # list of SV begin times (W,SOW)
+my @svend=(); # list of SV end times (W,SOW)
+
+#-------------------------------------------------------------------------------------
+# Computation using ResCor (create file $ResCorfilename)
+# list of extended obs types that ResCor can compute, with desc., units, dependence
+my (@ExtOT, @ExtDesc, @ExtDep, @ExtSelect); # these kept parallel
+# hash: ExtUnit{$ExtOT[$i]} = units of that OT
+my %ExtUnit=('L1','cycles','L2','cycles','C1','meters','P1','meters','P2','meters',
+ 'D1','Hz','D2','Hz','S1','dB-Hz','S2','dB-Hz');
+# flags giving dependence of the Ext obs types on standard obs types
+my ($DepL1,$DepL2,$DepC1,$DepP1,$DepP2,$DepEP,$DepPS) = (1,2,4,8,16,32,64);
+my $ETdb; # dialog box that selects extended obs types ... create only once
+# for use as input to ResCor -- receiver label, position
+my ($RxLabel,$RxX,$RxY,$RxZ,$RxComment) = ('','','','','');
+# types that ResCor will debias: SP VP L3 L4 L5 MP M1 M2 M3 M4 M5 XR XI X1 X2
+# (XR should not be debiased by ResCor)
+# TD add config option to turn this on/off
+my %MayDebias=('SP',1,'VP',1,'L3',1,'L4',1,'L5',1,
+ 'MP',1,'M1',1,'M2',1,'M3',1,'M4',1,'M5',1,
+ 'XR',0,'XI',1,'X1',1,'X2',1);
+#
+my $MyPrgmDir='unknown';
+if ($^O eq 'MSWin32') {
+ $MyPrgmDir="C:\\Code\\GPSLIB\\Working\\dev\\apps\\Rinextools";
+}
+elsif ($^O eq 'linux') {
+ $MyPrgmDir="/home/btolman/mybin";
+}
+#-------------------------------------------------------------------------------------
+#-------------------------------------------------------------------------------------
+# This lists and defines(!) all valid options for CFG and OPT. This string is written
+# in the Help/Topics window, and is printed to the screen when '--help' is the only
+# cmdline option.
+# It is also parsed by Defaults() into the default CFG and OPT settings, with rules:
+# 0. one key/value pair per line.
+# 1. the key follows '--' and does not contain whitespace.
+# 2. the value is in parentheses at the end : ($val)\n$
+# 3. the option is repeatable (cmdline only) if the string '(can repeat)' appears.
+# 4. everything after 'Example:' is ignored.
+# 5. ignore any line that starts (col 1) with '#'.
+my $CmdText =
+"# RinexPlot, part of the GPSTk : Plot Rinex data\n" .
+"# Usage: perl RinexPlot.pl [--option <arg>]\n" .
+"# Input options (put on command line or in config file) :\n" .
+"# Rinex tools directory:\n" .
+" --prgmdir <dir> directory of GPSTK programs (". $MyPrgmDir . ")\n" .
+"# input:\n" .
+" --load <file> load options file, but don't nest (can repeat) ()\n" .
+" --Rinex <file> load and summarize this Rinex observation file ()\n" .
+" --nav <file> load this Rinex navigation file ()\n" .
+"# output:\n" .
+" --log <file> send all diagnostic output to <file> (SCREEN)\n" .
+" --datafile <file> store data to be plotted in flat <file> (RP.dat)\n" .
+"# create new obs types:\n" .
+" --AO <ExOT> add extended obs types (can repeat) ()\n" .
+" --create [on|off] run ResCor to create any new (AO) obs types (on)\n" .
+"# plot datasets\n" .
+" --sat <sat> select satellite for plot (can repeat) ()\n" .
+" --obs <OT> select obs type for plot (can repeat) ()\n" .
+" --refresh [on|off] draw the screen (only if --sat and --obs) (on)\n" .
+" --begin <wk,sow> begin GPS time -- do not read data before this time (0,0)\n" .
+" --end <wk,sow> end GPS time -- do not read data after this time (9999,0)\n" .
+"# plot configuration:\n" .
+" --width <pixels> width of plot surface, L-axis to R-axis (640)\n" .
+" --height <pixels> height of plot surface, B-axis to T-axis (480)\n" .
+" --lines [on|off] draw a line when drawing curves (on)\n" .
+" --points [on|off] draw points when drawing curves (off)\n" .
+" --XMin <x> set minimum value on X axis, omit to autoscale ()\n" .
+" --XMax <x> set maximum value on X axis, omit to autoscale ()\n" .
+" --YMin <y> set minimum value on Y axis, omit to autoscale ()\n" .
+" --YMax <y> set maximum value on Y axis, omit to autoscale ()\n" .
+" --Week <w> week number associated with XMin/Max (for Blabel) ()\n" .
+" --Bmargin <pixels> distance between graph and window bottom (30)\n" .
+" --Tmargin <pixels> distance between graph and window top (30)\n" .
+" --Lmargin <pixels> distance between graph and window left (40)\n" .
+" --Rmargin <pixels> distance between graph and window right (30)\n" .
+" --BticN <n> number of tics on bottom axis (5)\n" .
+" --TticN <n> number of tics on top axis (5)\n" .
+" --LticN <n> number of tics on left axis (5)\n" .
+" --RticN <n> number of tics on right axis (5)\n" .
+"# plot labels:\n" .
+" --Blabel <string> label below the bottom axis (GPS Seconds of Week)\n" .
+" --Tlabel <string> label above the top axis, i.e title (Title)\n" .
+" --Llabel <string> label above the left axis ()\n" .
+" --Rlabel <string> label above the right axis ()\n" .
+"# switches:\n" .
+" --verbose [on|off] output more information to log file (off)\n" .
+" --keepdata [on|off] on exit, do not delete the data file RP.dat (off)\n" .
+" --autoview [on|off] automatically display data file summary (on)\n" .
+" --Cforce [on|off] force C1 to replace P1 (off)\n" .
+" --Callow [on|off] allow C1 to replace a missing P1 (on)\n" .
+"# other:\n" .
+" --zoomX <frac> zoom commands expand(contract) by fraction (0.1)\n" .
+" --help [on|off] show the help window (off)\n" .
+"#\n" .
+" Example:\natom>./RinexPlot --Rinex ../gdms/data/04032/alic0320.04o --autoview off" .
+"\n --AO L4 --AO M5 --sat G08 --sat G30 --obs L4 --obs M5 --refresh\n";
+
+#-------------------------------------------------------------------------------------
+# Temp data
+my (@opt, $file, $dummy, $i, $j, $ans, $msg);
+my ($cmd,$buffer,$len);
+
+#-------------------------------------------------------------------------------------
+# computation of scales and coordinate transformations
+#-------------------------------------------------------------------------------------
+# compute a new 'nice' scale, using $XMin,$XMax,$YMin,$YMax.
+# call with first arg 'fixed' if plot limits are fixed, else 'auto' to "autoscale"
+# second arg is a label printed on LOG and Status
+sub NewScale {
+ my ($flag,$str)=@_;
+
+ ($OldXMin, $OldXMax, $OldYMin, $OldYMax) =
+ ($CFG{'XMin'},$CFG{'XMax'},$CFG{'YMin'},$CFG{'YMax'});
+
+ if($YMin > $YMax) { $ans=$YMax; $YMax=$YMin; $YMin=$ans; }
+ if($XMin > $XMax) { $ans=$XMax; $XMax=$XMin; $XMin=$ans; }
+
+ my $tics = $CFG{'BticN'};
+ if($flag eq 'fixed') { $tics = $CFG{'BticN'} + 2; }
+ NiceScale($XMin,$XMax,$tics,$CFG{'width'});
+ if($flag eq 'fixed') { $XScaleMin = $ScaleMin+$ScaleStep; }
+ if($flag eq 'auto') { $XScaleMin = $ScaleMin; }
+ $XScaleStep = $ScaleStep;
+ $XScaleExp = $ScaleExp;
+
+ $tics = $CFG{'LticN'};
+ if($flag eq 'fixed') { $tics = $CFG{'LticN'} + 2; }
+ NiceScale($YMin,$YMax,$tics,$CFG{'height'});
+ if($flag eq 'fixed') { $YScaleMin = $ScaleMin+$ScaleStep; }
+ if($flag eq 'auto') { $YScaleMin = $ScaleMin; }
+ $YScaleStep = $ScaleStep;
+ $YScaleExp = $ScaleExp;
+
+ if($flag eq 'auto') {
+ # let NiceScale determine the plot limits
+ $YMin = $YScaleMin;
+ $YMax = $YScaleMin+($CFG{'LticN'}-1)*$YScaleStep;
+ $XMin = $XScaleMin;
+ $XMax = $XScaleMin+($CFG{'BticN'}-1)*$XScaleStep;
+ }
+
+ ($CFG{'XMin'},$CFG{'XMax'},$CFG{'YMin'},$CFG{'YMax'})=($XMin,$XMax,$YMin,$YMax);
+ Rates(); # Rates() can change XMin, etc.
+
+ print LOG "$str: new limits are $YMin, $YMax, $XMin, $XMax\n";
+ Status("$str: new limits are X: "
+ . sprintf("%10.3f",$XMin) . ", "
+ . sprintf("%10.3f",$XMax) . ", Y: "
+ . sprintf("%.3f",$YMin) . ", "
+ . sprintf("%.3f",$YMax) . ".");
+
+ if($flag eq 'fixed') { $ScaleFixed=1; } else { $ScaleFixed=0; }
+ $FirstAutoscale = 0;
+}
+
+# compute the 'rates' needed for coordinate transformations
+sub Rates {
+ # check for division by 0
+ if($CFG{'XMin'} == $CFG{'XMax'}) {
+ if($CFG{'XMax'} == 0) { $CFG{'XMax'} = 1; }
+ else { $CFG{'XMax'} += 1.5 * $CFG{'XMax'}; }
+ }
+ if($CFG{'YMin'} == $CFG{'YMax'}) {
+ if($CFG{'YMax'} == 0) { $CFG{'YMax'} = 1; }
+ else { $CFG{'YMax'} += 1.5 * $CFG{'YMax'}; }
+ }
+ $Xrate = $CFG{'width'}/($CFG{'XMax'}-$CFG{'XMin'});
+ $Yrate = -$CFG{'height'}/($CFG{'YMax'}-$CFG{'YMin'});
+
+ $ScaleDefined = 1;
+}
+
+# convert data X units, ($CFG{'XMin'} <= $rawx <= $CFG{'XMax'} )
+# into screen coordinates (0 <= $x <= $CFG{'width'})
+sub Xdata2scr {
+ my $rawx = shift;
+ my $x = $CFG{'Lmargin'} + ($rawx-$CFG{'XMin'}) * $Xrate;
+ return int($x);
+}
+
+# convert data Y units, ($CFG{'YMin'} <= $rawy <= $CFG{'YMax'})
+# into screen coordinates ($CFG{'height'} <= $y <= 0 )
+sub Ydata2scr {
+ my $rawy = shift;
+ my $y = $CFG{'Tmargin'} + $CFG{'height'} + ($rawy-$CFG{'YMin'}) * $Yrate;
+ return int($y);
+}
+
+# convert screen coordinates (0 <= $x <= $CFG{'width'})
+# into data units, ($CFG{'XMin'} <= $rawx <= $CFG{'XMax'} )
+sub scr2Xdata {
+ my $x = shift;
+ my $rawx = $CFG{'XMin'} + ($x - $CFG{'Lmargin'})/$Xrate;
+ return $rawx;
+}
+
+# convert screen coordinates ($CFG{'height'} <= $y <= 0 )
+# into data units, ($CFG{'YMin'} <= $rawy <= $CFG{'YMax'})
+sub scr2Ydata {
+ my $y = shift;
+ my $rawy = ($y - $CFG{'Tmargin'} - $CFG{'height'})/$Yrate + $CFG{'YMin'};
+ return $rawy;
+}
+
+#-------------------------------------------------------------------------------------
+# menu callbacks
+#-------------------------------------------------------------------------------------
+sub FileLoad {
+ $filename = $w_top->getOpenFile(-title => 'Load a configuration file',
+ -initialfile => basename($ConfigFile),
+ #-initialdir => $dir,
+ #-defaultextension => $ext,
+ );
+ if($filename eq '') { return; }
+
+ $LimitsSet = 0; # LoadConfig will notice if limits are set
+ $ans = LoadConfig($filename);
+ if($ans ne 'fail') {
+ ProcessConfig();
+ }
+}
+
+sub FileSave {
+ print LOG "Save the configuration file $ConfigFile\n";
+ $ans = SaveConfig($ConfigFile);
+ if($ans eq 'fail') {
+ print LOG "Could not save configuration file $ConfigFile\n";
+ }
+}
+
+sub FileSaAs {
+ my $Savefilename = $w_top->getSaveFile(-title => 'Save configuration in a file');
+ $ans = SaveConfig($Savefilename);
+ if($ans eq 'fail') {
+ print LOG "Could not save configuration file $Savefilename\n";
+ }
+}
+
+#-------------------------------------------------------------------------------------
+sub FileExit {
+ Status("Cleaning up...");
+ print LOG "Clean up and exit.\n";
+ if($CFG{'keepdata'} ne 'on') {
+ $dummy = `rm -f $CFG{'datafile'}`;
+ if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+ }
+ if($CFG{'log'} ne '') { close LOG; }
+ exit;
+}
+
+#-------------------------------------------------------------------------------------
+sub FileInpu {
+ Status("Get the name of a Rinex observation file...");
+ $filename = $w_top->getOpenFile(-title => 'Choose a Rinex obs file');
+ if($filename eq '') { return; }
+ DataInputProcess($filename);
+}
+
+#-------------------------------------------------------------------------------------
+sub FileSumm {
+ $file = $RinexInSummary;
+ if($ResCorfilename ne '') { $file=$RinexRCSummary; }
+ if($file eq '') {
+ PopNotice("Error: no file","No input Rinex observation file has been chosen\n"
+ . "Go to File/Rinex Obs");
+ #$ans = $w_top->messageBox(-title => 'Error: no file',
+ #-message => "No input observation file has been chosen\n"
+ #. "Go to File/Rinex Obs",
+ #-type => 'OK', -icon => 'info');
+ return;
+ }
+ Status("Press the Close button to return to the main window...");
+ #print LOG "View data from $file\n";
+ $buffer = '';
+ my $len=0;
+ if (not open(F, "<$file")) {
+ $w_top->Dialog(
+ -title => 'File not found',
+ -text => "Could not open the file $file",
+ -bitmap => 'error',
+ )->Show;
+ return;
+ }
+ $len = read(F, $buffer, 100000);
+ #print LOG "Read $len bytes\n";
+ my @list = split("\n", $buffer);
+ my $width=0; foreach $i (@list) { if(length($i)>$width) { $width=length($i); } }
+ my $TWdb = $w_top->DialogBox(
+ -title => "View RinSum output ($len bytes): $file",
+ -buttons => ['Close'],
+ -popover => $w_top,
+ -overanchor => 'w',
+ -popanchor => 'w',
+ );
+ my $text_win = $TWdb->Scrolled('Text',
+ -setgrid => 'true',
+ -scrollbars => 'e',
+ -height => '40', #lines
+ -width => $width, #characters
+ )->pack(-expand => 'yes', -fill => 'both');
+ $text_win->insert('end', $buffer); # add text at end of (empty) widget
+ $text_win->see('end'); # scroll to end of text
+ $TWdb->Show();
+ close F;
+ Status("...");
+}
+
+#-------------------------------------------------------------------------------------
+sub FileSele {
+ Status('');
+
+ # figure out the width of the box
+ my $len = length($CFG{'Rinex'});
+ if($len < length($CFG{'nav'})) { $len = length($CFG{'nav'}); }
+ if($RxLabel ne '' && $len < 60) { $len = 60; }
+ if($ResCorfilename ne '' && $len < length($ResCorfilename)) {
+ $len = length($ResCorfilename);
+ }
+ if($len < 20) { $len = 20; }
+
+ # are there extended obs types defined?
+ $dummy = 0;
+ $msg = '';
+ foreach $i (0..$#ExtOT) {
+ if($ExtSelect[$i] != 0) {
+ $dummy++;
+ $msg = $msg . $ExtOT[$i] . " ";
+ }
+ }
+
+ my $FSdb = $w_top->DialogBox(
+ -title => "Current Selections",
+ -buttons => ['Ok','Clear'],
+ -default_button => 'Ok',
+ -popover => $w_top,
+ -overanchor => 'c',
+ -popanchor => 'c',
+ );
+ $FSdb->add('Label',-text => "Rinex Observation File:")->pack(-anchor => 'w');
+ my $f1=$FSdb->Frame(-borderwidth => 2, -relief => 'groove',
+ )->pack(-anchor => 'w');
+ $FSdb->add('Label',-text => "Rinex Navigation File:")->pack(-anchor => 'w');
+ my $f2=$FSdb->Frame(-borderwidth => 2, -relief => 'groove',
+ )->pack(-anchor => 'w');
+ my ($f3,$f4,$f5,$f6);
+ if($RxLabel ne '') {
+ $FSdb->add('Label',-text => "Receiver Position:")->pack(-anchor => 'w');
+ $f3=$FSdb->Frame(-borderwidth => 2, -relief => 'groove',
+ )->pack(-anchor => 'w');
+ }
+ if($ResCorfilename ne '') {
+ $FSdb->add('Label',-text => "Computed Observations File")->pack(-anchor => 'w');
+ $f4=$FSdb->Frame(-borderwidth => 2, -relief => 'groove',
+ )->pack(-anchor => 'w');
+ }
+ if($dummy > 0) {
+ $FSdb->add('Label',-text => "Computed Observation Types")->pack(-anchor => 'w');
+ $f5=$FSdb->Frame(-borderwidth => 2, -relief => 'groove',
+ )->pack(-anchor => 'w');
+ }
+ $FSdb->add('Label',-text => "Current configuration file")->pack(-anchor => 'w');
+ $f6=$FSdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+
+
+ my $e1=$f1->Entry(
+ -textvariable => \$CFG{'Rinex'}, -width => $len, -justify => 'left',
+ )->pack(-side => 'top', -anchor => 'w');
+ $f1->Label(-text => 'Summary file:')->pack(-side => 'left');
+ $f1->Label(-text => $RinexInSummary, -justify => 'left')->pack(-side => 'left');
+ my $e2=$f2->Entry(
+ -textvariable => \$CFG{'nav'}, -width => $len)->pack(-side => 'left');
+ if($RxLabel ne '') {
+ my $f31=$f3->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+ $f31->Label(-text => "Label : ")->pack(-side => 'left');
+ $f31->Entry(-textvariable => \$RxLabel, -width => 5)->pack(-side => 'left');
+ my $f32=$f3->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+ $f32->Label(-text => "X : ")->pack(-side => 'left');
+ $f32->Entry(-textvariable => \$RxX, -width => 15)->pack(-side => 'left');
+ $f32->Label(-text => " Y : ")->pack(-side => 'left');
+ $f32->Entry(-textvariable => \$RxY, -width => 15)->pack(-side => 'left');
+ $f32->Label(-text => " Z : ")->pack(-side => 'left');
+ $f32->Entry(-textvariable => \$RxZ, -width => 15)->pack(-side => 'left');
+ my $f33=$f3->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+ $f33->Label(-text => "Comment: ")->pack(-side => 'left');
+ $f33->Entry(-textvariable => \$RxComment, -width => 50)->pack(-side => 'left');
+ }
+ if($ResCorfilename ne '') {
+ $f4->Label(-text => $ResCorfilename, -justify => 'left',
+ )->pack(-side => 'top', -anchor => 'w');
+ $f4->Label(-text => 'Summary file:'
+ )->pack(-side => 'left', -anchor => 'w');
+ $f4->Label(-text => $RinexRCSummary, -justify => 'left',
+ )->pack(-side => 'left', -anchor => 'w');
+ }
+
+ #TD add ExtOT, Selected sats/obs ?
+ if($dummy > 0) {
+ $f5->Label(-text => $msg, -justify => 'left',
+ )->pack(-side => 'top', -anchor => 'w');
+ }
+
+ $f6->Label(-text => $ConfigFile, -justify => 'left',
+ )->pack(-side => 'top', -anchor => 'w');
+
+ $ans = $FSdb->Show();
+ $e1->focus; $e1->icursor('end');
+ if($ans eq 'Clear') {
+ FileClea();
+ }
+}
+
+#-------------------------------------------------------------------------------------
+sub FileClea {
+ $ans = $w_top->messageBox(
+ -title => "Clear all selections",
+ -message => "Are you sure you want to clear\n"
+ . "all file names and all data selections? ",
+ -type => 'YesNo',
+ -icon => 'question',
+ #no popover for messageBox
+ );
+ if($ans eq 'yes') { ClearAll(); }
+}
+
+#-------------------------------------------------------------------------------------
+sub ClearAll {
+ Status("All the input files and data selection have been cleared.");
+ $CFG{'nav'} = '';
+ $CFG{'Rinex'} = '';
+ $ResCorfilename = '';
+ $RinexInSummary = '';
+ $RinexRCSummary = '';
+ $RxLabel = '';
+ @obslist = ();
+ @obsdesc = ();
+ @obsselect = ();
+ @svlist = ();
+ @svselect = ();
+ $dummy = `rm -f $CFG{'datafile'}`;
+ if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+ @svbegin = ();
+ @svend = ();
+ $numobs = 0;
+ $numsvs = 0;
+ $nobssel = 0;
+ $nsvssel = 0;
+ $FirstAutoscale = 1;
+ ClearExot();
+}
+
+#-------------------------------------------------------------------------------------
+sub DataInputProcess {
+ ($filename) = @_;
+ # first see that it exists
+ if (not open(F, "<$filename")) {
+ PopNotice("Empty file","File $filename \ndoes not exist or is empty.");
+ return;
+ }
+ print LOG "Selected input Rinex obs file $filename\n";
+ ClearAll();
+ WaitCursor();
+
+ # get extended obs type information here (once) from ResCor
+ ExtDialogInit();
+
+ Status("Summarizing obs file $filename...please wait...");
+ $CFG{'Rinex'} = $filename;
+ $ResCorfilename = '';
+ $RinexRCSummary = '';
+ $RinexInSummary = basename($filename) . ".sum";
+ $cmd = $CFG{'prgmdir'} . $SLASH . "RinSum -g -i" . $CFG{'Rinex'}
+ . " > $RinexInSummary";
+ print LOG "Summarize obs file: Execute $cmd\n";
+ $dummy = `$cmd`; if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+
+ # pull out obs types from $RinexInSummary
+ $ans = DataGather($RinexInSummary);
+ if($ans == -1) {
+ Status("Choose another observation file");
+ PopNotice("Error: wrong file type",
+ $CFG{'Rinex'} . " \nis NOT a Rinex observation file.\n");
+ $CFG{'Rinex'} = '';
+ $ResCorfilename = '';
+ $RinexInSummary = '';
+ }
+ else {
+ if($CFG{'autoview'} eq 'on') { FileSumm(); }
+ $FirstAutoscale = 1;
+ }
+ Status("Summary complete for $filename.");
+ NormalCursor();
+}
+
+#-------------------------------------------------------------------------------------
+sub DataGather {
+ ($file) = @_;
+ open FILE, "$file" or die "Error: DataGather could not open file $file\n";
+ @obslist = ();
+ @obsdesc = ();
+ @obsselect = ();
+ @svlist = ();
+ @svselect = ();
+ $dummy = `rm -f $CFG{'datafile'}`; if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+ @svbegin = ();
+ @svend = ();
+ $nobssel = 0;
+ $nsvssel = 0;
+ my $EOH = 0;
+ while(<FILE>) {
+ chomp;
+ $_ =~ s/^\s+//;
+ if(m/is not a Rinex observation file/) {
+ return -1;
+ }
+ if(m/END OF HEADER/) { $EOH=1; }
+
+ @opt = split (/\s+/, $_);
+ if($opt[0] eq "Type") {
+ push @obslist, $opt[3];
+ push @obsdesc, substr($_,13,length($_)-13);
+ push @obsselect, 0;
+ }
+ # following condition (..eq "G") means only GPS satellites get picked up
+ if($EOH==1 && $opt[0] eq "PRN" && substr($opt[1], 0, 1) eq "G") {
+ $numobs = $#obslist + 1;
+ push @svlist, $opt[1];
+ push @svselect, 0;
+ push @svbegin, [ $opt[$numobs+3], $opt[$numobs+4] ];
+ push @svend, [ $opt[$numobs+6], $opt[$numobs+7] ];
+ }
+ if($opt[0] eq "WARNING:" && $opt[1] eq "ObsType") {
+ $dummy = $opt[2];
+ foreach $i (0..$numobs-1) {
+ if($obslist[$i] eq $dummy) {
+ splice(@obslist, $i, 1);
+ splice(@obsdesc, $i, 1);
+ splice(@obsselect, $i, 1);
+ $numobs--;
+ last;
+ }
+ }
+ }
+ }
+ close FILE;
+ $numsvs = $#svlist + 1;
+
+ #print LOG "Obs types ($numobs) found: @obslist\n";
+ #print LOG "Found $numsvs SVs, here are start and stop times:\n";
+ #foreach $i (0..$numsvs-1) {
+ # print LOG "$svlist[$i] ($svbegin[$i][0],$svbegin[$i][1])"
+ # . " - ($svend[$i][0],$svend[$i][1])\n";
+ #}
+ return 0;
+}
+
+#-------------------------------------------------------------------------------------
+sub DataSats {
+ if($numsvs <= 0) {
+ $msg = "There are no satellites to select!"
+ . "\nGo to File/Input to load a new Rinex data file";
+ PopNotice("Error: no satellites",$msg);
+ return;
+ }
+
+ Status("Select satellites to be plotted.");
+ my $SLdb = $w_top->DialogBox(
+ -title => 'Select satellite(s) for plot',
+ -buttons => ['Ok','Cancel'],
+ -default_button => 'Ok',
+ -popover => $w_top,
+ -overanchor=> 'n',
+ -popanchor => 'n',
+ );
+ my (@cb);
+ my $rows = 6;
+ my ($r,$c,$cols)=(1,0,int 1+$numsvs/$rows);
+
+ # label and frame for satellites
+ $SLdb->add('Label',
+ -text => "Select Satellite(s)",
+ -justify => 'center')->grid(-columnspan => "$cols");
+ my $f1=$SLdb->Frame(-borderwidth => 2, -relief => 'groove')->grid();
+ foreach $i (0..$numsvs-1) {
+ $cb[$i] = $f1->Checkbutton(
+ -text => $svlist[$i],
+ -variable => \$svselect[$i],
+ -relief => 'flat')->grid(-row => $r, -column => $c, -ipadx => '2');
+ $r++;
+ if($r > $rows) { $r = 1; $c++; }
+ }
+ # frame for two buttons
+ $dummy = $rows+1;
+ my $f2 = $f1->Frame(-borderwidth => 2, -relief => 'flat'
+ )->grid(-row => $dummy, -columnspan => "$cols");
+ $dummy = int($cols/2);
+ if($dummy == 0) { $dummy=1; }
+ my $cb2 = $f2->Button(
+ -text => 'All',
+ -width => '15',
+ -relief => 'groove',
+ -command => \&SetAllSats)->grid(-row => 1, -column => 1);
+ my $cb1 = $f2->Button(
+ -text => 'Clear',
+ -width => '15',
+ -relief => 'groove',
+ -command => \&ClearSats)->grid(-row => 1, -column => 2);
+
+ # save a copy to see when sats are un-selected
+ my @saveselect = @svselect;
+ $ans = $SLdb->Show();
+ if($ans eq "Cancel") {
+ @svselect = @saveselect;
+ return;
+ }
+
+ $dummy = 0;
+ $filename = "$CFG{'datafile'}";
+ foreach $i (0..$numsvs-1) {
+ if($saveselect[$i] != $svselect[$i]) {
+ if($svselect[$i] == 0) {
+ if($dummy == 0) { print LOG "DataSet/Sats Selected Sats:"; $dummy=1; }
+ print LOG " -$svlist[$i]";
+ }
+ else {
+ if(-e $filename) {
+ $dummy = `rm -f $filename`;
+ if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+ }
+ }
+ $Reconfigure = 1;
+ }
+ if($svselect[$i] != 0) {
+ if($dummy == 0) { print LOG "DataSet/Sats Selected Sats:"; $dummy=1; }
+ print LOG " $svlist[$i]";
+ $nsvssel++;
+ }
+ }
+ if($dummy == 1) { print LOG "\n"; }
+ Status("Satellites selected ... go to DataSet/Obs to select obs?");
+}
+
+#-------------------------------------------------------------------------------------
+sub DataObst {
+ if($numobs <= 0) {
+ $msg = "There are no observation types selected!"
+ . "\nGo to File/Input to load a new Rinex data file";
+ PopNotice("Error: no obs types",$msg);
+ return;
+ }
+
+ Status("Select observations to be plotted.");
+ my $SLdb = $w_top->DialogBox(
+ -title => 'Select observation type(s) for plotting',
+ -buttons => ['Ok','Cancel'],
+ -default_button => 'Ok',
+ -popover => $w_top,
+ -overanchor=> 'n',
+ -popanchor => 'n',
+ );
+ my (@cb);
+ my $rows = 6;
+ my ($r,$c,$cols)=(1,0,int 1+$numobs/$rows);
+
+ # label and frame for obs types
+ $SLdb->add('Label',
+ -text => "\nSelect Obs Type(s)",
+ -justify => 'center')->grid(-columnspan => "$cols");
+ my $f2=$SLdb->Frame(-borderwidth => 2, -relief => 'groove')->grid();
+ foreach $i (0..$numobs-1) {
+ $cb[$i] = $f2->Checkbutton(
+ -text => $obslist[$i] . " = " . $obsdesc[$i],
+ -variable => \$obsselect[$i],
+ -relief => 'flat')->grid(-sticky => 'w');
+ }
+ # frame for two buttons
+ $dummy = $numobs+1;
+ my $f1 = $f2->Frame(-borderwidth => 2, -relief => 'flat'
+ )->grid(-row => $dummy, -columnspan => "$cols");
+ my $cb2 = $f1->Button(
+ -text => 'Clear',
+ -width => '15',
+ -relief => 'groove',
+ -command => \&ClearObs);
+ my $cb1 = $f1->Button(
+ -text => 'All',
+ -width => '15',
+ -relief => 'groove',
+ -command => \&SetAllObs)->grid($cb2);
+
+ # save a copy to see when sats are un-selected
+ my @saveselect = @obsselect;
+ $ans = $SLdb->Show();
+ if($ans eq "Cancel") {
+ @obsselect = @saveselect;
+ return;
+ }
+
+ $dummy = 0;
+ foreach $i (0..$numobs-1) {
+ if($saveselect[$i] != $obsselect[$i]) {
+ $Reconfigure = 1;
+ $ans = `rm -f $CFG{'datafile'}`; if($CFG{'verbose'} eq 'on') { print LOG $ans; }
+ }
+ if($obsselect[$i] != 0) {
+ if($dummy == 0) { print LOG "DataSet/ObsTypes Selected Obs:"; $dummy=1; }
+ print LOG " $obslist[$i]";
+ $nobssel++;
+ }
+ }
+ if($dummy == 1) { print LOG "\n"; }
+ Status("Observations selected ... Refresh?");
+}
+
+#-------------------------------------------------------------------------------------
+sub DataTime {
+ # put up a dialog box with number entry box
+ Status("Dataset/Times Enter new time limits");
+ my $DTdb = $w_top->DialogBox(
+ -title => 'Time Limits',
+ -buttons => ['Ok','Cancel'],
+ -default_button => 'Ok',
+ -popover => $w_top,
+ -overanchor => 'c',
+ -popanchor => 'c',
+ );
+
+ ($begW,$begS) = split(',',$CFG{'begin'});
+ ($endW,$endS) = split(',',$CFG{'end'});
+
+ $DTdb->add('Label',-text => " GPS Week Seconds of week")->pack(-anchor => 'w');
+ my $f1=$DTdb->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+ #$DTdb->add('Label')->pack(-anchor => 'w');
+ my $f2=$DTdb->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+
+ $f1->Label(-text => "Begin : ")->pack(-side => 'left');
+ my $e1=$f1->Entry(-textvariable => \$begW, -width => 5)->pack(-side => 'left');
+ $f1->Entry(-textvariable => \$begS, -width => 15)->pack(-side => 'left');
+ $f1->Button(-text => 'Clear', -width => '10', -relief => 'groove',
+ -command => \&ClearDTL)->pack(-side => 'right', -padx => '10');
+
+ $f2->Label(-text => "End : ")->pack(-side => 'left');
+ $f2->Entry(-textvariable => \$endW, -width => 5)->pack(-side => 'left');
+ $f2->Entry(-textvariable => \$endS, -width => 15)->pack(-side => 'left');
+ $f2->Button(-text => 'Set to Data', -width => '10', -relief => 'groove',
+ -command => \&SetDTL)->pack(-side => 'right', -padx => '10');
+
+ $e1->focus;
+ $e1->icursor('end');
+ $ans = $DTdb->Show();
+ if($ans eq 'Ok') {
+ print LOG "Dataset/Time limits are ($begW,$begS)-($endW,$endS)\n";
+ $CFG{'begin'} = "$begW,$begS";
+ $CFG{'end'} = "$endW,$endS";
+ }
+ Status('');
+}
+sub ClearDTL {
+ $begW = 0;
+ $begS = 0;
+ $endW = 9999;
+ $endS = 0;
+}
+sub SetDTL {
+ ClearDTL();
+ if($numsvs <= 0) { return; }
+ my $firstime = 1;
+ foreach $i (0..$numsvs-1) {
+ if($svselect[$i] != 0) {
+ if($firstime) {
+ $begW = $svbegin[$i][0];
+ $begS = $svbegin[$i][1];
+ $endW = $svend[$i][0];
+ $endS = $svend[$i][1];
+ $firstime = 0;
+ }
+ else {
+ if( $svbegin[$i][0] < $begW ||
+ ($svbegin[$i][0] == $begW && $svbegin[$i][1] < $begS)) {
+ $begW = $svbegin[$i][0];
+ $begS = $svbegin[$i][1];
+ }
+ if( $svend[$i][0] > $endW ||
+ ($svend[$i][0] == $endW && $svend[$i][1] > $endS)) {
+ $endW = $svend[$i][0];
+ $endS = $svend[$i][1];
+ }
+ }
+ }
+ }
+}
+
+#-------------------------------------------------------------------------------------
+sub DataConf {
+ PopNotice("DataSet/Configure","DataSet/Configure is not yet implemented");
+ # Iono height
+ # debiasing
+}
+
+#-------------------------------------------------------------------------------------
+sub SetAllSats {
+ if($numsvs <= 0) { return; }
+ foreach $i (0..$numsvs-1) { $svselect[$i] = 1; }
+ $nsvssel = $numsvs;
+ $FirstAutoscale = 1;
+}
+
+#-------------------------------------------------------------------------------------
+sub ClearSats {
+ if($numsvs <= 0) { return; }
+ foreach $i (0..$numsvs-1) {
+ if($svselect[$i] != 0) {
+ $filename = "$CFG{'datafile'}";
+ if(-e $filename) {
+ $dummy = `rm -f $filename`;
+ if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+ }
+ }
+ $svselect[$i] = 0;
+ }
+ $nsvssel = 0;
+ $FirstAutoscale = 1;
+}
+
+#-------------------------------------------------------------------------------------
+sub SetAllObs {
+ if($numobs <= 0) { return; }
+ foreach $i (0..$numobs-1) { $obsselect[$i] = 1; }
+ $nobssel = $numobs;
+ $FirstAutoscale = 1;
+}
+
+#-------------------------------------------------------------------------------------
+sub ClearObs {
+ if($numobs <= 0) { return; }
+ foreach $i (0..$numobs-1) { $obsselect[$i] = 0; }
+ $nobssel = 0;
+ $FirstAutoscale = 1;
+}
+
+#-------------------------------------------------------------------------------------
+sub ConfigureCurves {
+ # each curve defined by Sat, OT, column in file, color, symbol type
+ # this routine must be called whenever selected svs OR selected ot changes
+ # when selected ot changes, the file $CFG{'datafile'} must be deleted
+ # if not already called, call this routine: Refresh, Graph/Curves, Graph/Limits
+ if($Reconfigure == 0) { return; }
+ print LOG "Configure curves:";
+ WaitCursor();
+ Status("Configure curves from selected data...please wait...");
+ $ncurv = 0;
+ $dummy = 0; # count colors
+ # count symbols, if symbols 'on' (symbols[0]='none')
+ if($CFG{'points'} eq 'on') { $ans = 1; } else { $ans = 0; }
+ @curvSV = (); # satellite for this curve
+ @curvOT = (); # obs type (from @obslist)
+ @curvON = (); # switch to turn off curve, on is non-zero
+ @curvCol = (); # column in $CFG{'datafile'} where data is found
+ @curvLines = (); # plot with lines or not (0)
+ @curvSymbs = (); # plot with symbols (1-?) or not (0)
+ @curvColor = (); # color to plot
+ foreach $i (0..$numsvs-1) {
+ if($svselect[$i] != 0) { # each satellite <-> file
+ my $n=0; # n just counts the columns <-> obstype
+ foreach $j (0..$numobs-1) {
+ if($obsselect[$j] != 0) { # each obstype
+ $curvSV[$ncurv] = $svlist[$i];
+ $curvOT[$ncurv] = $obslist[$j];
+ $curvON[$ncurv] = 1;
+ $curvCol[$ncurv] = 3*($n+1);
+ $n++;
+ $curvColor[$ncurv] = $colors[$dummy];
+ $dummy++; if($dummy > $#colors) { $dummy=0; }
+ if($CFG{'lines'} eq 'on') { $curvLines[$ncurv] = 1; }
+ else { $curvLines[$ncurv] = 0; }
+ $curvSymbs[$ncurv] = $symbols[$ans];
+ if($CFG{'points'} eq 'on') {
+ $ans++;
+ if($ans > $#symbols) { $ans=1; }
+ }
+ $ncurv++;
+ print LOG " $ncurv:$svlist[$i]/$obslist[$j]";
+ }
+ }
+ }
+ }
+ print LOG "\n";
+
+ if($ncurv <= 0) { # TD message? popup?
+ NormalCursor();
+ Status('');
+ return;
+ }
+
+ #print LOG "Number svs is $numsvs\n";
+ my $file = $CFG{'Rinex'};
+ if($ResCorfilename ne '') { $file = $ResCorfilename; }
+ $filename = "$CFG{'datafile'}";
+ if(not -e $filename) {
+ Status("Configure curves from selected data...please wait...");
+ $cmd = $CFG{'prgmdir'} . $SLASH . "RinexDump " . $file;
+ foreach $i (0..$numsvs-1) {
+ if($svselect[$i] != 0) { $cmd = $cmd . " $svlist[$i]"; }
+ }
+ foreach $j (0..$numobs-1) {
+ if($obsselect[$j] != 0) { $cmd = $cmd . " $obslist[$j]"; }
+ }
+ $cmd = $cmd . " > $filename";
+ print LOG "Collect data for plotting: Execute $cmd\n";
+ $dummy = `$cmd`; if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+ }
+
+ if($FirstAutoscale == 1) { autoscale(); }
+ if($Reconfigure == 1 && $UsingDefaults) { DefaultLabels(); }
+ $Reconfigure = 0;
+ NormalCursor();
+ Status("Curves configured...Refresh?");
+}
+
+#-------------------------------------------------------------------------------------
+sub DefaultLabels {
+ print LOG "Configure default labels\n";
+ WaitCursor();
+ Status("Configure labels from selected data...please wait...");
+
+ my (@ot, at sv, at un);
+ my %SVseen = ();
+ my %OTseen = ();
+ my %UNseen = ();
+ foreach $i (0..$ncurv-1) {
+ if($curvON[$i] != 0) {
+ # TD decide if they are plotted on left or right
+ unless($SVseen{$curvSV[$i]}) {
+ $SVseen{$curvSV[$i]} = 1;
+ push @sv, $curvSV[$i];
+ }
+ unless($OTseen{$curvOT[$i]}) {
+ $OTseen{$curvOT[$i]} = 1;
+ push @ot, $curvOT[$i];
+ }
+ unless($UNseen{$ExtUnit{$curvOT[$i]}}) {
+ $UNseen{$ExtUnit{$curvOT[$i]}} = 1;
+ push @un, $ExtUnit{$curvOT[$i]};
+ }
+ }
+ }
+
+ #print LOG "Unique SV @sv\n";
+ #print LOG "Unique OT @ot (@un)\n";
+ if($#un > 0) {
+ print LOG "WARNING: Inconsistent units on left axis (@un).\n";
+ }
+ $CFG{'Tlabel'} = "OTs (@ot) for Sats (@sv) vs. Time";
+ $CFG{'Llabel'} = "@ot (@un)";
+ $CFG{'Rlabel'} = '';
+ $CFG{'Blabel'} ="GPS Seconds of Week $CFG{'Week'}";
+
+ NormalCursor();
+ $UsingDefaults = 1;
+ Status("Labels configured.");
+}
+
+#-------------------------------------------------------------------------------------
+sub CompObst {
+ Status("Select new observation types to create...");
+ $ans = $ETdb->Show();
+ if($ans eq "Cancel") {
+ Status('');
+ return;
+ }
+ Status("New observation types have been selected..." .
+ "go to Compute/Create to compute.");
+
+ $dummy = 0;
+ foreach $i (0..$#ExtOT) {
+ if($ExtSelect[$i] != 0) {
+ if($dummy == 0) { print LOG "Compute/New Selected New Obs:"; $dummy=1; }
+ print LOG " $ExtOT[$i]";
+ }
+ }
+ if($dummy == 1) { print LOG "\n"; }
+}
+
+#-------------------------------------------------------------------------------------
+sub ExtDialogInit {
+ if($#ExtOT == -1) { # only do this once...
+ $cmd = $CFG{'prgmdir'} . $SLASH . "ResCor -h > syntax.rc";
+ print LOG "Get list of possible new obs types: Execute $cmd\n";
+ $dummy = `$cmd`; if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+ open FILE, "syntax.rc" or die "Error: could not open syntax.rc\n";
+ my @opt = <FILE>;
+ my @ExtROT;
+ $ans = 0;
+ for($i=0; $i <= $#opt; $i++) {
+ chomp $opt[$i];
+ if($opt[$i] =~ /OT Description/) { $ans = 1; }
+ if($ans == 2) {
+ if($opt[$i] =~ /End of list of extended observation types/) { last; }
+ push @ExtROT, $opt[$i];
+ #print LOG "Line $i is $opt[$i]\n";
+ }
+ if($ans == 1 && $opt[$i] =~ /^ -- --/) { $ans = 2; }
+ }
+ for($i=0; $i <= $#ExtROT; $i++) {
+ push @ExtOT, substr($ExtROT[$i],2,2);
+ #print "New OT ",substr($ExtROT[$i],2,2);
+ my $desc = substr($ExtROT[$i],5,20);
+ #print " desc ",$desc;
+ #$desc =~ s/\s*$//;
+ push @ExtDesc, $desc;
+ my @fields = split(" ", substr($ExtROT[$i],26,length($ExtROT[$i])-26));
+ #push @ExtUnit, $fields[0];
+ $ExtUnit{$ExtOT[$i]} = $fields[0];
+ #print " units ",$ExtUnit{$ExtOT[$i]},"\n";
+ my $dep=0;
+ for($j=1; $j <= $#fields; $j++) {
+ if($fields[$j] eq 'L1') { $dep |= $DepL1; }
+ if($fields[$j] eq 'L2') { $dep |= $DepL2; }
+ if($fields[$j] eq 'P1') { $dep |= $DepP1; }
+ if($fields[$j] eq 'P2') { $dep |= $DepP2; }
+ if($fields[$j] eq 'EP') { $dep |= $DepEP; }
+ if($fields[$j] eq 'PS') { $dep |= $DepPS; }
+ }
+ push @ExtDep, $dep;
+ push @ExtSelect, 0;
+ #for($j=1; $j <= $#fields; $j++) { print LOG "/$fields[$j]"; } # depends
+ #print LOG "\n";
+ }
+ #print LOG "Extended types:\n";
+ #for($i=0; $i <= $#ExtROT; $i++) {
+ #print LOG "$ExtOT[$i] $ExtDesc[$i] $ExtUnit{$ExtOT[$i]} dep(";
+ #if($ExtDep[$i] & $DepL1) { print LOG " L1"; }
+ #if($ExtDep[$i] & $DepL2) { print LOG " L2"; }
+ #if($ExtDep[$i] & $DepP1) { print LOG " P1"; }
+ #if($ExtDep[$i] & $DepP2) { print LOG " P2"; }
+ #if($ExtDep[$i] & $DepEP) { print LOG " EP"; }
+ #if($ExtDep[$i] & $DepPS) { print LOG " PS"; }
+ #print LOG ")\n";
+ #}
+
+ #now make up the dialog box
+ $ETdb = $w_top->DialogBox(
+ -title => 'Select extended observation type for processing',
+ -buttons => ['Ok','Cancel'],
+ -default_button => 'Ok',
+ -popover => $w_top,
+ -overanchor=> 'n',
+ -popanchor => 'n',
+ );
+ my (@cb);
+ my $rows = 1+$#ExtOT/3;
+ my ($r,$c,$cols)=(1,0,3);
+ $ETdb->add('Label',
+ -text => "Select new observation type",
+ -justify => 'center')->grid(-columnspan => "$cols");
+ my $f1=$ETdb->Frame(-borderwidth => 2, -relief => 'groove')->grid();
+ foreach $i (0..$#ExtOT) {
+ my $cb = $f1->Checkbutton(
+ -text => $ExtOT[$i] . " : " . $ExtDesc[$i],
+ -variable => \$ExtSelect[$i],
+ -relief => 'flat')->grid(
+ -sticky => 'w',
+ -row => $r,
+ -column => $c,
+ -ipadx => '2');
+ $r++;
+ if($r > $rows) { $r = 1; $c++; }
+ }
+ my $cb1 = $f1->Button(
+ -text => 'Clear',
+ -width => '15',
+ -relief => 'groove',
+ -command => \&ClearExot)->grid(-columnspan => "$cols");
+ }
+}
+
+#-------------------------------------------------------------------------------------
+sub ClearExot {
+ foreach $i (0..$#ExtOT) { $ExtSelect[$i] = 0; }
+}
+
+#-------------------------------------------------------------------------------------
+sub CompNavf {
+ Status("Get the name of a Rinex navigation file...");
+ $filename = $w_top->getOpenFile(-title => 'Choose a Rinex nav file');
+ if($filename eq '') { return; }
+ Status("The Rinex navigation file is $filename");
+ # ought to check that it is a Rinex nav file...
+ $CFG{'nav'} = $filename;
+}
+
+#-------------------------------------------------------------------------------------
+sub CompPosnSele {
+ Status("Select a receiver position");
+ $buffer='';
+ $len=0;
+ if (not open(F, "<positions.txt")) {
+ $w_top->Dialog(
+ -title => 'File \'positions.txt\' not found',
+ -text => "Could not open the file \'positions.txt\'",
+ -bitmap => 'error',
+ )->Show;
+ return;
+ }
+ $len = read(F, $buffer, 100000);
+ #print LOG "Read $len bytes\n";
+ close F;
+ my $CPdb = $w_top->DialogBox(
+ -title => "Compute/Receiver position",
+ -buttons => ['Ok','New','Cancel'],
+ -default_button => 'Ok',
+ -popover => $w_top,
+ -overanchor => 'c',
+ -popanchor => 'c',
+ );
+ $CPdb->Label(
+ -text => "Select a receiver position by highlighting\n"
+ . "a selection and pushing \'Ok\'.\n\n"
+ . "( The current Rinex observation file name is\n" . $CFG{'Rinex'}
+ . " )\n",
+ -justify => 'left',
+ )->pack(-side => 'top',-anchor => 'w');
+ my $list_win = $CPdb->Scrolled('Listbox',
+ -setgrid => 'true',
+ -selectmode => 'single',
+ -scrollbars => 'e',
+ -height => '20', #lines
+ -width => '40', #characters
+ );
+ $list_win->pack(-expand => 'yes', -fill => 'both');
+ #$list_win->bind('<Double-1>' =>
+ #sub {
+ #print LOG "You selected " . $_[0]->get('active') . "\n";
+ #}
+ #);
+ my @list = split("\n", $buffer);
+ $list_win->insert(0, @list);
+ $ans = $CPdb->Show();
+ #print LOG "ans is $ans\n";
+ if($ans eq 'Ok') {
+ #print LOG "You selected " . $list_win->get('active') . "\n";
+ ($RxLabel,$RxX,$RxY,$RxZ,$RxComment) = split('\s+',$list_win->get('active'));
+ }
+ elsif($ans eq 'New') {
+ Status("Compute/Receiver Position : Enter a new Receiver position");
+ my $NRdb = $w_top->DialogBox(
+ -title => 'Enter New Receiver',
+ -buttons => ['Ok','Cancel'],
+ -default_button => 'Ok',
+ -popover => $w_top,
+ -overanchor => 'c',
+ -popanchor => 'c',
+ );
+
+ my ($x,$y,$z,$label,$comment)=('','','','name','');
+
+ my $f1=$NRdb->Frame(-borderwidth => 2, -relief => 'flat'
+ )->pack(-anchor => 'w');
+ $NRdb->add('Label',-text => "\nECEF XYZ Coordinates (meters) :"
+ )->pack(-anchor => 'w');
+ my $f2=$NRdb->Frame(-borderwidth => 2, -relief => 'groove'
+ )->pack(-anchor => 'w');
+ $NRdb->add('Label',-text => "\nComment (optional)"
+ )->pack(-anchor => 'w');
+ my $f3=$NRdb->Frame(-borderwidth => 2, -relief => 'flat'
+ )->pack(-anchor => 'w');
+
+ $f1->Label(-text => "Site label for New Receiver (required, 4 characters) : "
+ )->pack(-side => 'left');
+ my $e1=$f1->Entry(-textvariable => \$label, -width => 5
+ )->pack(-side => 'left');
+ $f2->Label(-text => "X : ")->pack(-side => 'left');
+ $f2->Entry(-textvariable => \$x, -width => 15)->pack(-side => 'left');
+ $f2->Label(-text => " Y : ")->pack(-side => 'left');
+ $f2->Entry(-textvariable => \$y, -width => 15)->pack(-side => 'left');
+ $f2->Label(-text => " Z : ")->pack(-side => 'left');
+ $f2->Entry(-textvariable => \$z, -width => 15)->pack(-side => 'left');
+ #$f3->Label(-text => "Comment: ")->pack(-side => 'left');
+ $f3->Entry(-textvariable => \$comment, -width => 60)->pack(-side => 'left');
+
+ $e1->focus;
+ $e1->icursor('end');
+ $ans = $NRdb->Show();
+ if($ans eq 'Ok') {
+ #print LOG "New Rx position is $label, $x, $y, $z, $comment\n";
+ $RxLabel = $label;
+ $RxX = $x;
+ $RxY = $y;
+ $RxZ = $z;
+ $RxComment = $comment;
+ # TD add it to positions.txt
+ }
+ }
+ print LOG "Selected Rx Position is $RxLabel: ($RxX, $RxY, $RxZ) $RxComment\n";
+ Status('');
+}
+
+#-------------------------------------------------------------------------------------
+sub CompPosnRAIM {
+ PopNotice("Compute/Rx Position/RAIM",
+ "Compute/Rx Position/RAIM is not yet implemented");
+}
+
+#-------------------------------------------------------------------------------------
+sub CompConf {
+ my ($cf,$ca)=(0,0);
+ if($CFG{'Cforce'} eq 'on') { $cf=1; }
+ if($CFG{'Callow'} eq 'on') { $ca=1; }
+ Status("Modify computation configuration as preferred");
+ my $CCdb = $w_top->DialogBox(
+ -title => "Computation configuration",
+ -buttons => ['Ok','Cancel'],
+ -default_button => 'Ok',
+ -popover => $w_top,
+ -overanchor => 'c',
+ -popanchor => 'c',
+ );
+ $CCdb->add('Label',-text => "Computation Configuration")->pack(-anchor => 'w');
+ my $f2=$CCdb->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+ $f2->Checkbutton(
+ -text => "Allow C1 to replace missing P1",
+ -variable => \$ca,
+ -relief => 'flat')->pack(-anchor => 'w');
+
+ my $f1=$CCdb->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+ $f1->Checkbutton(
+ -text => "Force C1 to replace P1",
+ -variable => \$cf,
+ -relief => 'flat')->pack(-anchor => 'w');
+
+ $ans = $CCdb->Show();
+ if($ans eq 'Ok') {
+ if($ca) { $CFG{'Callow'} = 'on'; } else { $CFG{'Callow'} = 'off'; }
+ if($cf) { $CFG{'Cforce'} = 'on'; } else { $CFG{'Cforce'} = 'off'; }
+ }
+ Status('');
+}
+
+#-------------------------------------------------------------------------------------
+sub CompCrea {
+ Status("Create new observation types by computation...");
+ my ($depend,$have,$ok,$need)=(0,0,0,0);
+ my @opt = (); # options passed to ResCor
+ $dummy = 0; # count the number of selected ExtOT
+ for($i=0; $i <= $#ExtOT; $i++) {
+ if($ExtSelect[$i] != 0) { $dummy++; $depend |= $ExtDep[$i]; };
+ }
+ if($dummy == 0) {
+ $msg = "There are no extended obs types defined.\n"
+ . "Go to Compute/Select New Obs types to make a choice ";
+ PopNotice("Error: no new obs types",$msg);
+ return;
+ }
+
+ foreach $i (0..$numobs-1) {
+ if($obslist[$i] eq 'C1') { $have |= $DepC1; }
+ if($obslist[$i] eq 'L1') { $have |= $DepL1; }
+ if($obslist[$i] eq 'L2') { $have |= $DepL2; }
+ if($obslist[$i] eq 'P1') { $have |= $DepP1; }
+ if($obslist[$i] eq 'P2') { $have |= $DepP2; }
+ if($CFG{'nav'} ne '') { $have |= $DepEP; }
+ if($RxLabel ne '') { $have |= $DepPS; }
+ }
+ #if(($have & $DepC1) && ($have & $DepP1)) {
+ #print LOG "Dep bits for C1 and P1 are " . sprintf("%X %X\n",$DepC1,$DepP1);
+ #print LOG "old have is " . sprintf("%X",$have) . "\n";
+ #$have |= $DepP1;
+ #$have &= ~($DepC1);
+ #print LOG "new have is " . sprintf("%X",$have) . "\n";
+ #}
+ $ok = $depend & $have; # those we need AND have
+ $need = $ok ^ $depend; # those we need but do NOT have
+ # can C1 substitute for P1?
+ if(($need & $DepP1) && ($have & $DepC1)
+ && ($CFG{'Callow'} eq 'on' || $CFG{'Cforce'} eq 'off')) {
+ $need &= ~($DepP1);
+ }
+ if($need != 0) {
+ my $needdata = 0;
+ $msg = "The selected new observation types cannot \n"
+ . "be computed because some input is missing :\n\n";
+ if($need & $DepL1) { $msg = $msg . " L1 is missing\n"; $needdata++; }
+ if($need & $DepL2) { $msg = $msg . " L2 is missing\n"; $needdata++; }
+ if($need & $DepP1) {
+ if($have & $DepC1) {
+ if($CFG{'Callow'} eq 'off') {
+ $msg = $msg . " P1 is missing (Hint: Select 'Allow use of C1'\n"
+ . " under Compute/Configure)\n";
+ $needdata++;
+ }
+ }
+ else { $msg = $msg . " P1 is missing\n"; $needdata++; }
+ }
+ if($need & $DepP2) { $msg = $msg . " P2 is missing\n"; $needdata++; }
+ #if($need & $DepEP) { $msg = $msg . " EP is missing\n"; }
+ #if($need & $DepPS) { $msg = $msg . " PS is missing\n"; }
+ #$msg = $msg . "\n";
+ if($needdata != 0) { $msg = $msg
+ . "\n-> Computation cannot proceed with this obs file. \n";
+ }
+ if($need & $DepEP) { $msg = $msg
+ . "\n-> Go to Compute/Nav File to select a navigation file. \n";
+ }
+ if($need & $DepPS) { $msg = $msg
+ . "\n-> Go to Compute/Rx Position to input a receiver position. \n";
+ }
+ PopNotice("Error: Some input missing",$msg);
+ #$ans = $w_top->messageBox(-title => 'Error: Some input missing',
+ #-message => $msg, -type => 'OK', -icon => 'info');
+ return;
+ }
+
+ # call ResCor
+ WaitCursor();
+ Status("Creating new observation types...please wait");
+ $ResCorfilename = basename($CFG{'Rinex'}) . ".rc";
+ print LOG "Create new obs types; output to file $ResCorfilename\n";
+ push @opt, "-IF$CFG{'Rinex'}";
+ push @opt, "-OF$ResCorfilename";
+ if($CFG{'nav'} ne '') { push @opt, "--nav $CFG{'nav'}"; }
+ if($RxX ne '') { push @opt, "--RxXYZ $RxX,$RxY,$RxZ"; }
+ #TD allow this to be configured
+ foreach $i (0..$#ExtOT) { if($ExtSelect[$i] != 0) {
+ push @opt, "-AO$ExtOT[$i]";
+ if($MayDebias{$ExtOT[$i]}) {
+ push @opt, "--debias $ExtOT[$i],100";
+ }
+ } }
+ # use C1 when P1 is not there
+ if(($have & $DepC1) && $CFG{'Callow'} eq 'on') { push @opt, "--Callow"; }
+ if($CFG{'Cforce'} eq 'on') { push @opt, "--Cforce"; }
+ push @opt, "--verbose";
+
+ $cmd = $CFG{'prgmdir'} . $SLASH . "ResCor " . " @opt";
+
+ print LOG "Create new obs types: Execute $cmd\n";
+ $buffer = `$cmd`;
+ #print LOG "Result is\n$buffer\n";
+ Status("New observation types are ready");
+ $RinexRCSummary = $ResCorfilename . ".sum";
+ $cmd = $CFG{'prgmdir'} . $SLASH . "RinSum -g -i" . $ResCorfilename
+ . " > $RinexRCSummary";
+ Status("Summarizing new obs file $filename...please wait...");
+ print LOG "Summarize obs file: Execute $cmd\n";
+ $dummy = `$cmd`; if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+ if($CFG{'autoview'} eq 'on') { FileSumm(); }
+ $ans = DataGather($RinexRCSummary);
+ NormalCursor();
+ Status("Summary complete for $filename.");
+}
+
+#-------------------------------------------------------------------------------------
+sub GrapLims {
+ #print LOG "Graph/Limits\n";
+ ConfigureCurves();
+
+ # put up a dialog box with number entry box
+ Status("Graph/Limits: enter new limits, or autoscale (determine from data)");
+ my $DLdb = $w_top->DialogBox(
+ -title => 'Plotting Limits',
+ -buttons => ['Ok','Auto','Cancel'],
+ -default_button => 'Ok',
+ -popover => $w_top,
+ -overanchor => 'c',
+ -popanchor => 'c',
+ );
+
+ ($YMin,$YMax,$XMin,$XMax)=($CFG{'YMin'},$CFG{'YMax'},$CFG{'XMin'},$CFG{'XMax'});
+
+ $DLdb->add('Label',-text => "Y: data")->pack(-anchor => 'w');
+ my $f1=$DLdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+ $DLdb->add('Label',-text => "X: time")->pack(-anchor => 'w');
+ my $f2=$DLdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+
+ #$f1->Label(-text => "Y: data : ")->pack(-side => 'left');
+ my $e1=$f1->Entry(-textvariable => \$YMin, -width => 15)->pack(-side => 'left');
+ $f1->Entry(-textvariable => \$YMax, -width => 15)->pack(-side => 'left');
+
+ #$f2->Label(-text => "X: time : ")->pack(-side => 'left');
+ $f2->Entry(-textvariable => \$XMin, -width => 15)->pack(-side => 'left');
+ $f2->Entry(-textvariable => \$XMax, -width => 15)->pack(-side => 'left');
+
+ $e1->focus;
+ $e1->icursor('end');
+ $ans = $DLdb->Show();
+ if($ans eq 'Ok') {
+ print LOG "Graph/Limits are Y: $YMin, $YMax, X: $XMin, $XMax\n";
+ NewScale('fixed','Graph/Limits');
+ Refresh();
+ }
+ elsif($ans eq 'Auto') {
+ autoscale();
+ Refresh();
+ }
+ else { Status(''); }
+}
+
+#-------------------------------------------------------------------------------------
+sub AutoScale {
+ my $fas=$FirstAutoscale;
+ ConfigureCurves();
+ if($fas == 0) { autoscale(); Refresh(); }
+}
+
+#-------------------------------------------------------------------------------------
+# compute max and min y and x from file(s) -- consider time limits
+sub autoscale {
+ Status("Autoscale - redefine limits using data min/max");
+ $filename = "$CFG{'datafile'}";
+ open FILE, "$filename" or die "Error: autoscale could not open $filename\n";
+ my ($first,$firstime,$thistime,$sat)=(1,1,0,'');
+ my ($bw,$bs)=split(',',$CFG{'begin'});
+ my ($ew,$es)=split(',',$CFG{'end'});
+ while(<FILE>) {
+ chomp;
+ $_ =~ s/^\s_//;
+ if(m/Rinexdump/) { next; }
+ if(m/Week/) { next; }
+ s/^\s+//; # no leading white space
+ @opt = split(/\s+/, $_);
+ #$week = $opt[0];
+ #$sow = $opt[1];
+ next if($opt[0] < $bw);
+ next if($opt[0] == $bw && $opt[1] < $bs);
+ last if($opt[0] > $ew);
+ last if($opt[0] == $ew && $opt[1] > $es);
+ $sat = $opt[2];
+ $thistime = 0;
+ foreach $j (0..$ncurv-1) {
+ if($curvON[$j] == 0) { next; }
+ if($curvSV[$j] eq $sat) {
+ $thistime = 1;
+ if($first == 1) {
+ $YMax = $opt[$curvCol[$j]];
+ $YMin = $opt[$curvCol[$j]];
+ $first = 0;
+ }
+ else {
+ if($opt[$curvCol[$j]] < $YMin) { $YMin = $opt[$curvCol[$j]]; }
+ if($opt[$curvCol[$j]] > $YMax) { $YMax = $opt[$curvCol[$j]]; }
+ }
+ }
+ }
+ if($thistime == 1) {
+ if($firstime == 1) {
+ $XMax = $opt[1];
+ $XMin = $opt[1];
+ $CFG{'Week'} = $opt[0];
+ $firstime = 0;
+ }
+ else {
+ $i = ($opt[0]-$CFG{'Week'})*604800 + $opt[1];
+ if($i < $XMin) { $XMin = $i; }
+ if($i > $XMax) { $XMax = $i; }
+ }
+ }
+ }
+
+ if($firstime == 1) {
+ PopNotice("Graph/Autoscale","Autoscale finds no data (within time limits)!");
+ }
+ else {
+ # NewScale requires $XMin,$XMax,$YMin,$YMax as input
+ NewScale('auto','Autoscale');
+ }
+ if($UsingDefaults) { DefaultLabels(); }
+}
+
+#-------------------------------------------------------------------------------------
+sub NiceScale {
+ # call with args Min Max Ntics Npixels
+ # results stored in $ScaleMin $ScaleStep $ScaleExp $ScaleN
+ my ($dmin,$dmax,$ntic,$npix)=@_;
+ #print LOG "NiceScale called with $dmin $dmax $ntic $npix\n";
+ ($ScaleMin,$ScaleStep,$ScaleExp,$ScaleN,$ScalePPL)=(0,0,0,0);
+ if($dmax < $dmin) { $dummy=$dmax; $dmax=$dmin; $dmin=$dummy; }
+ if($npix < 2 || $npix > 10000) {
+ print LOG "NiceScale: Number of pixels is unreasonable\n";
+ return;
+ }
+ $ScalePPL = ($npix-1)/($ntic-1); # pixels per label
+ if($ScalePPL <= 0 || $ScalePPL >= $npix) {
+ print LOG "NiceScale: Number of pixels per label is unreasonable\n";
+ return;
+ }
+ $ScaleN = 1+($npix-1)/$ScalePPL;
+ $dummy = abs($dmax);
+ if(abs($dmin) > $dummy) { $dummy=abs($dmin); }
+ if($dmax-$dmin <= 5.0e-8 * $dummy) { # effectively equal limits
+ if($dmax < 0) { $dmax=0.0; }
+ elsif($dmax == 0) { $dmax=1.0; }
+ elsif($dmax > 0) { $dmax=0.0; }
+ }
+ my $finter=$npix/$ScalePPL;
+ #print LOG "PPL is $ScalePPL, and finter is $finter\n";
+ my $scale=($dmax-$dmin)*1.00002/$finter;
+ $ScaleExp = 0;
+ while($scale <= 10) { $scale *= 10; $ScaleExp++; }
+ while($scale > 100) { $scale /= 10; $ScaleExp--; }
+ #print LOG "scale is $scale\n";
+ #print LOG "Exponent is $ScaleExp\n";
+ my $iunit;
+ foreach $i (1..$#NiceUnits-1) {
+ $iunit = $i;
+ if($scale <= $NiceUnits[$i]) { last; }
+ }
+ #print LOG "NiceUnit[$iunit] is $NiceUnits[$iunit]\n";
+ my ($istay,$aj,$tstep)=(1,0,0);
+ while($istay == 1) {
+ $ScaleStep = $NiceUnits[$iunit] / (10.0 ** $ScaleExp);
+ $aj = 0;
+ while(1) {
+ $aj++;
+ $dummy = int(($NiceUnits[$iunit]+0.1)/$aj);
+ if($NiceUnits[$iunit]-0.1 > $aj*$dummy) { next; }
+ $tstep = $ScaleStep/$aj;
+ $dummy = $dmin/$tstep + $aj*(0.5/$ScalePPL - $finter*1.0e-5);
+ $ScaleMin = $tstep * int($dummy);
+ if($dummy < 0 && $dummy != int($dummy)) { $ScaleMin -= $tstep; }
+ if($dmax < $ScaleMin + $ScaleStep*($finter*0.99999-(0.5/$ScalePPL))) {
+ $istay=0; last;
+ }
+ $dummy = 1.0 - 1.0/($aj * $finter);
+ # TD this fails occasionally: divide by zero
+ if(($NiceUnits[$iunit]/$NiceUnits[$iunit+1])*$dummy < 0.7) {
+ next;
+ }
+ $iunit++;
+ if($iunit > 11) { $istay=0; last; } # TD ??
+ }
+ }
+ foreach $i (1,2) {
+ $aj *= 10;
+ if($NiceUnits[$iunit]-0.1 < $aj*int(($NiceUnits[$iunit]+0.1)/$aj)) {
+ $ScaleExp--;
+ }
+ }
+
+ #print LOG "NiceScale finds exp $ScaleExp ";
+ #foreach $i (0..$ScaleN-1) {
+ # $dummy = $ScaleMin + $i * $ScaleStep;
+ # # $dummy are labels; multiply by 10**ScaleExp to make them all integers
+ # if($ScaleExp > 0) { print LOG sprintf(" %.$ScaleExp"."f",$dummy); }
+ # else { print LOG " $dummy"; }
+ #}
+ #print LOG "\n";
+}
+
+#-------------------------------------------------------------------------------------
+sub GrapAxes {
+ PopNotice("Graph/Axes","Graph/Axes is not yet implemented");
+}
+
+#-------------------------------------------------------------------------------------
+sub GrapLabe {
+ Status("Labels on the graph");
+ my $GLdb = $w_top->DialogBox(
+ -title => "Graph Labels",
+ -buttons => ['Ok','Default','Clear'],
+ -default_button => 'Ok',
+ -popover => $w_top,
+ -overanchor => 'c',
+ -popanchor => 'c',
+ );
+ $GLdb->add('Label',-text => "Title:")->pack(-anchor => 'w');
+ my $f1=$GLdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+ $GLdb->add('Label',-text => "Bottom (X) axis label:")->pack(-anchor => 'w');
+ my $f2=$GLdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+ $GLdb->add('Label',-text => "Left (Y) axis label:")->pack(-anchor => 'w');
+ my $f3=$GLdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+ $GLdb->add('Label',-text => "Right (Y) axis label:")->pack(-anchor => 'w');
+ my $f4=$GLdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+
+ my $len = length($CFG{'Tlabel'});
+ if($len < length($CFG{'Blabel'})) { $len = length($CFG{'Blabel'}); }
+ if($len < length($CFG{'Llabel'})) { $len = length($CFG{'Llabel'}); }
+ if($len < length($CFG{'Rlabel'})) { $len = length($CFG{'Rlabel'}); }
+ if($len < 20) { $len = 20; }
+
+ my $e1=
+ $f1->Entry(-textvariable => \$CFG{'Tlabel'},-width => $len)->pack(-side => 'left');
+ $f2->Entry(-textvariable => \$CFG{'Blabel'},-width => $len)->pack(-side => 'left');
+ $f3->Entry(-textvariable => \$CFG{'Llabel'},-width => $len)->pack(-side => 'left');
+ $f4->Entry(-textvariable => \$CFG{'Rlabel'},-width => $len)->pack(-side => 'left');
+
+ $ans = $GLdb->Show();
+ $e1->focus; $e1->icursor('end');
+ if($ans eq 'Default') {
+ DefaultLabels();
+ GrapLabe();
+ }
+ if($ans eq 'Clear') {
+ $CFG{'Tlabel'}='';
+ $CFG{'Blabel'}='';
+ $CFG{'Llabel'}='';
+ $CFG{'Rlabel'}='';
+ GrapLabe();
+ }
+ else {
+ $UsingDefaults = 0;
+ }
+ Status('');
+}
+
+#-------------------------------------------------------------------------------------
+sub GrapCurv {
+ ConfigureCurves();
+
+ if($ncurv <= 0) {
+ $msg = "There are no curves defined.\n" .
+ "Go to DataSet/Select to make a choice ";
+ PopNotice("Error: no curves",$msg);
+ return;
+ }
+
+ Status("Curves to be plotted");
+ #PopNotice("Graph/Curves","Graph/Curves is not yet implemented");
+ my $GCdb = $w_top->DialogBox(
+ -title => 'Curves defined for plotting',
+ -buttons => ['Ok','Cancel'],
+ -default_button => 'Ok',
+ -popover => $w_top,
+ -overanchor=> 'n',
+ -popanchor => 'n',
+ );
+
+ $GCdb->add('Label', -text => "CURVES", -justify => 'center')->pack(-side => 'top');
+ $GCdb->add('Label', -text =>
+ ' N On Sat OT Color Line Symbol ',
+ #-font => 'C_small',
+ -justify => 'left')->pack(-side => 'top');
+ my @fr; # frame for each curve
+ my @sats = @curvSV;
+ my @otss = @curvOT;
+ my @swit = @curvON;
+ my @line = @curvLines;
+ my @symb = @curvSymbs;
+ my @colo = @curvColor;
+ my @cb;
+ $dummy = ' ';
+ foreach $i (0..$ncurv-1) {
+ # frame for each curve
+ $fr[$i]=$GCdb->Frame(-borderwidth => 2, -relief => 'groove'
+ )->pack(-side => 'top');
+ # label and entry for Sat
+ $fr[$i]->Label(-text => sprintf("%2d",$i), -font => 'C_small'
+ )->pack(-side => 'left');
+ $fr[$i]->Checkbutton(-text => ' ', -variable => \$swit[$i],
+ -relief => 'flat')->pack(-side => 'left');
+ $fr[$i]->Label(-text => " ")->pack(-side => 'left');
+ $fr[$i]->Entry(-textvariable => \$sats[$i], -width => 4)->pack(-side => 'left');
+ $fr[$i]->Label(-text => " ")->pack(-side => 'left');
+ $fr[$i]->Entry(-textvariable => \$otss[$i], -width => 3)->pack(-side => 'left');
+ $fr[$i]->Label(-text => " ")->pack(-side => 'left');
+ # color - colored button calls up color selection dialog
+ $cb[$i] = $fr[$i]->Button(-text => ' ',
+ -width => 2,
+ -background => $colo[$i],
+ -activebackground => $colo[$i],
+ -command => sub {
+ $dummy = $fr[$i]->chooseColor(
+ -title => 'choose a new color',
+ -initialcolor => $colo[$i]);
+ if($dummy ne '') {
+ $colo[$i] = $dummy;
+ $cb[$i]->configure('-background' => $colo[$i],
+ '-activebackground' => $colo[$i]);
+ }
+ })->pack(-side => 'left', -ipadx => '2');
+ # line checkbox
+ $fr[$i]->Checkbutton(-text => '', -variable => \$line[$i],
+ -relief => 'flat')->pack(-side => 'left', -ipadx => '4');
+ # symbol browseentry
+ $fr[$i]->BrowseEntry(-label => ' ',
+ -variable => \$symb[$i],
+ -choices => \@symbols,
+ -width => 6,
+ -listwidth => 18,
+ -state => 'readonly',
+ )->pack(-side => 'left', -ipadx => '2');
+ #space on the right
+ $fr[$i]->Label(-text => " ")->pack(-side => 'left');
+ }
+
+ $ans = $GCdb->Show();
+ Status('');
+ if($ans eq "Cancel") { return; }
+
+ $dummy = 0;
+ foreach $i (0..$#curvON) {
+ if($curvON[$i] != $swit[$i]) {
+ if($dummy == 0) { print LOG "Graph/Curves toggles"; $dummy=1; }
+ print LOG " $i:";
+ if($swit[$i] == 0) { print LOG "OFF"; } else { print LOG "ON"; }
+ }
+ }
+ if($dummy != 0) { print LOG "\n"; }
+ @curvON = @swit;
+ @curvLines = @line;
+ @curvSymbs = @symb;
+ @curvColor = @colo;
+}
+
+#sub GrapColo {
+# #print LOG "Graph/Colors\n";
+# $FCOLOR= $w_top->chooseColor(-title => "Choose color for plot",
+# -initialcolor => $FCOLOR);
+# print LOG "New color is $FCOLOR\n";
+#}
+
+#-------------------------------------------------------------------------------------
+sub GrapZoom {
+ # (for some reason, when called from menu, arguments are different)
+ my $io;
+ ($dummy, $io) = @_; # ignore dummy here
+ $dummy = $CFG{'zoomX'} / 2;
+
+ my $size=$CFG{'XMax'}-$CFG{'XMin'};
+ if($io eq 'In') { $size = -$size; }
+ $XMin = $CFG{'XMin'} - $CFG{'zoomX'} * $size;
+ $XMax = $CFG{'XMax'} + $CFG{'zoomX'} * $size;
+
+ $size=$CFG{'YMax'}-$CFG{'YMin'};
+ if($io eq 'In') { $size = -$size; }
+ $YMin = $CFG{'YMin'} - $CFG{'zoomX'} * $size;
+ $YMax = $CFG{'YMax'} + $CFG{'zoomX'} * $size;
+
+ # NewScale requires $XMin,$XMax,$YMin,$YMax as input
+ NewScale('fixed','Graph/Zoom');
+ Refresh();
+}
+
+#-------------------------------------------------------------------------------------
+sub GrapUnzo {
+ if($OldXMin eq '') { return; }
+ ($XMin,$XMax,$YMin,$YMax) = ($OldXMin,$OldXMax,$OldYMin,$OldYMax);
+ # NewScale requires $XMin,$XMax,$YMin,$YMax as input
+ NewScale('fixed','Graph/Unzoom');
+ Refresh();
+}
+
+#-------------------------------------------------------------------------------------
+sub GrapGnup {
+ PopNotice("Graph/Gnuplot","Graph/Gnuplot is not yet implemented.");
+}
+
+#-------------------------------------------------------------------------------------
+sub HelpTopi {
+ #PopNotice("Help/Topics","Help/Topics is \nnot yet implemented.");
+
+ #if(! Exists($HTmw)) { # not necessary
+ my $HTmw = MainWindow->new();
+ $HTmw->title("Help on RinexPlot");
+ my $b = $HTmw->Button(
+ -text => 'Close this Help window',
+ -width => '40',
+ -command => sub { $HTmw->withdraw },
+ )->pack();
+ my $t = $HTmw->Scrolled('ROText',
+ -setgrid => 'true',
+ -width => '65',
+ -height => '30',
+ -font => 'normal',
+ -wrap => 'word',
+ -scrollbars => 'e');
+ $t->pack(qw/-expand yes -fill both/);
+
+ # Set up display styles.
+ $HTmw->fontCreate(qw/C_small -family courier -size 10/);
+ $HTmw->fontCreate(qw/C_big -family courier -size 14 -weight bold/);
+ $HTmw->fontCreate(qw/C_vbig -family helvetica -size 24 -weight bold/);
+ $HTmw->fontCreate(qw/C_bold -family courier -size 12 -weight bold -slant italic/);
+ $t->tag(qw/configure bold -font C_bold/);
+ $t->tag(qw/configure big -font C_big/);
+ $t->tag(qw/configure verybig -font C_vbig/);
+ $t->tag(qw/configure small -font C_small/);
+ if ($HTmw->depth > 1) {
+ $t->tag(qw/configure color1 -background/ => '#a0b7ce'); #this color is "MSWin blue"
+ $t->tag(qw/configure color2 -foreground red/);
+ $t->tag(qw/configure raised -relief raised -borderwidth 1/);
+ $t->tag(qw/configure sunken -relief sunken -borderwidth 1/);
+ } else {
+ $t->tag(qw/configure color1 -background black -foreground white/);
+ $t->tag(qw/configure color2 -background black -foreground white/);
+ $t->tag(qw/configure raised -background white -relief raised -bd 1/);
+ $t->tag(qw/configure sunken -background white -relief sunken -bd 1/);
+ }
+ $t->tag(qw/configure bgstipple -background black -borderwidth 0
+ -bgstipple gray12/);
+ $t->tag(qw/configure fgstipple -fgstipple gray50/);
+ $t->tag(qw/configure underline -underline on/);
+ $t->tag(qw/configure overstrike -overstrike on/);
+ $t->tag(qw/configure right -justify right/);
+ $t->tag(qw/configure center -justify center/);
+ $t->tag(qw/configure super -offset 4p -font C_small/);
+ $t->tag(qw/configure sub -offset -2p -font C_small/);
+ $t->tag(qw/configure margins -lmargin1 12m -lmargin2 6m -rmargin 10m/);
+ $t->tag(qw/configure spacing -spacing1 10p -spacing2 2p
+ -lmargin1 12m -lmargin2 6m -rmargin 10m/);
+
+
+ # now insert text
+ $t->insert('0.0', "RinexPlot is a GUI for the GPS Toolkit (gpstk) utility "
+ . "programs that will read, manipulate and plot data in a Rinex file.\n\n",
+ 'big');
+ $t->insert('insert',"Here is the general flow of things:\n");
+ $t->insert('insert'," 1.",'big');
+ $t->insert('insert'," Select a Rinex observation file by choosing "
+ . "'File/Obs file' from the main menu. Wait for the summary window to come up,"
+ . " then close it to return to the main menu.\n");
+ $t->insert('insert'," 2.",'big');
+ $t->insert('insert'," (2-4 Optional) Select new observation types by choosing "
+ . "'Compute/New Data types' from the main menu\n");
+ $t->insert('insert'," 3.",'big');
+ $t->insert('insert'," Choose a Rinex navigation file (Compute/Nav file)"
+ . " and a Receiver position (Compute/Rx position)...these may or may not be "
+ . "required, depending on the choices you made in Step 2 (Step 4 will inform"
+ . " you if more input is needed.\n");
+ $t->insert('insert'," 4.",'big');
+ $t->insert('insert'," Compute the new types by choosing 'Compute/Create new data'."
+ . " (This step is important! - if your new obs types do not show up under"
+ . " Dataset/Obs types, you may have skipped this step.)\n");
+ $t->insert('insert'," 5.",'big');
+ $t->insert('insert'," Select dataset(s) to plot by choosing 'Dataset/Satellites'"
+ . " AND 'Dataset/Obs types'; optionally also limit the plot in time using"
+ . " 'Dataset/Times', and in other ways under Dataset/Configure.\n");
+ $t->insert('insert'," 6.",'big');
+ $t->insert('insert'," Now press 'Refresh' to re-draw the screen...whenever the "
+ . "data and/or graph are changed, press Refresh to draw the new plot.\n");
+ $t->insert('insert'," 7.",'big');
+ $t->insert('insert'," Features of the plot, such as limits and colors, can be seen"
+ . " and set under 'Graph' on the main menu.\n");
+ $t->insert('insert'," 8.",'big');
+ $t->insert('insert'," Preferences and switches can be set under 'Settings' on the"
+ . " main menu.\n");
+ #$t->insert('insert'," 9.",'big');
+ #$t->insert('insert',"\n");
+ $t->insert('insert',"\n(Usually you can look at the status bar at the bottom of "
+ . "the window to get hints about what has just happened or what to do next.)\n");
+
+ $t->insert('insert',"\nSwitches and options\n",'big');
+ $t->insert('insert',"- Summary files automatically shown in window.\n");
+ $t->insert('insert',"- Refresh automatically after selection/zoom/resizing.\n");
+ $t->insert('insert',"- GPS satellites only.\n");
+ $t->insert('insert',"- Output to a log file or the screen\n");
+ $t->insert('insert',"- Directory of GPSTk programs\n");
+
+ $t->insert('insert',"\nCommand line arguments:\n",'big');
+ $t->insert('insert'," Command line arguments may come in any order, but note that"
+ . " many depend on others and have no effect unless those others are present."
+ . "\n\n");
+ $t->insert('insert',"All command line options:\n");
+ $t->insert('insert'," [Note pattern: --opt <arg> OR --opt=<arg>]\n",'small');
+ $t->insert('insert',$CmdText,'small');
+
+ $t->insert('insert',"\nMouse things\n",'big');
+ $t->insert('insert',"- Click on any point in the graph; the status bar will show "
+ . "coordinates (both screen and data).\n");
+ $t->insert('insert',"- Click, drag and un-click to make a rectangle on the graph."
+ . " A box pops up allowing you to zoom the plot to the rectangle.\n");
+
+ $t->mark(qw/set insert 0.0/);
+
+ #} else { # HTmw already exists
+ #$HTmw->deiconify();
+ #$HTmw->raise();
+ #}
+}
+
+#-------------------------------------------------------------------------------------
+sub HelpAbou {
+ #print LOG "Help/About\n";
+ my $HAdb = $w_top->DialogBox(
+ -title => 'About RinexPlot',
+ -buttons => ['Ok'],
+ -popover => $w_top,
+ -overanchor => 'n',
+ -popanchor => 'n',
+ );
+ $HAdb->add('Label', -text => $ABOUT_TEXT,
+ -justify => 'left')->pack;
+ $HAdb->add('Label', -text => $AUTHOR_TEXT,
+ -justify => 'left')->pack;
+ $HAdb->add('Label', -text => "Version is " . $VERSION . "\n",
+ -justify => 'left')->pack;
+ $HAdb->add('Label', -text => "Operating System is $^O",
+ -justify => 'left')->pack;
+ $HAdb->Show();
+}
+
+#-------------------------------------------------------------------------------------
+sub SettPref {
+ # menu tearoff (command line only - before creation) my $menutear = 1; ???
+ # (to do this you would have to scan args before calling init() )
+ my ($av,$ud,$lf,$zf)=(0,$CFG{'prgmdir'},$CFG{'log'},$CFG{'zoomX'});
+ my ($vb,$lr,$lo,$so)=(0,0,0,0);
+ if($CFG{'autoview'} eq 'on') { $av=1; }
+ if($CFG{'verbose'} eq 'on') { $vb=1; }
+ if($CFG{'keepdata'} eq 'on') { $lr=1; }
+ if($CFG{'lines'} eq 'on') { $lo=1; }
+ if($CFG{'points'} eq 'on') { $so=1; }
+ Status("Modify settings of global configuration as preferred");
+ my $SPdb = $w_top->DialogBox(
+ -title => "Preferences",
+ -buttons => ['Ok','Cancel'],
+ -default_button => 'Ok',
+ -popover => $w_top,
+ -overanchor => 'c',
+ -popanchor => 'c',
+ );
+ $SPdb->add('Label',-text => "Global Settings:")->pack(-anchor => 'w');
+ # AutoView
+ my $f1=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+ $f1->Checkbutton(
+ -text => "Autoview: automatically show summary file ",
+ -variable => \$av,
+ -relief => 'flat')->pack(-anchor => 'w');
+ # Log file name
+ my $f2=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+ $f2->Label(-text => " Output log file :"
+ )->pack(-side => 'top', -anchor => 'w');
+ $f2->Label(-text => " ")->pack(-side => 'left');
+ if($lf eq '') { $lf="SCREEN"; }
+ my $e1=$f2->Entry(-textvariable => \$lf, -width => '20')->pack(-side => 'left');
+ $f2->Checkbutton(-text => "Verbose output", -variable => \$vb, -relief => 'flat',
+ )->pack(-side => 'left');
+ # GPSTk directory
+ my $f3=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+ $f3->Label(-text => " Directory of GPSTk utilities :"
+ )->pack(-side => 'top', -anchor => 'w');
+ $f3->Label(-text => " ")->pack(-side => 'left');
+ my $e1=$f3->Entry(-textvariable => \$ud, -width => '37')->pack(-side => 'left');
+ $e1->focus; $e1->icursor('end');
+ # Default lines
+ my $f4=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+ $f4->Label(-text => "Default curves have:")->pack(-side => 'left');
+ $f4->Checkbutton(
+ -text => "Lines",
+ -variable => \$lo,
+ -relief => 'flat')->pack(-side => 'left');
+ # Default symbols
+ $f4->Checkbutton(
+ -text => "Points ",
+ -variable => \$so,
+ -relief => 'flat')->pack(-side => 'left');
+ # Zoom factor
+ my $f5=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+ $f5->Label(-text => " Zoom factor (0 < zf < 1) : ")->pack(-side => 'left');
+ my $e2=$f5->Entry(-textvariable => \$zf, -width => '17')->pack(-side => 'left');
+ $e2->icursor('end');
+ # GPS only
+ #my $f5=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+ #$f5->Checkbutton(
+ # -text => "GPS satellites only ",
+ # -variable => \$go,
+ # -relief => 'flat')->pack(-anchor => 'w');
+ # Leave $CFG{'datafile'}
+ my $f6=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+ $f6->Checkbutton(
+ -text => "Leave data file ($CFG{'datafile'}) after exit ",
+ -variable => \$lr,
+ -relief => 'flat')->pack(-anchor => 'w');
+
+ # put it up
+ $ans = $SPdb->Show();
+ if($ans eq 'Ok') {
+ if($av) { $CFG{'autoview'} = 'on'; } else { $CFG{'autoview'} = 'off'; }
+ if($lo) { $CFG{'lines'} = 'on'; } else { $CFG{'lines'} = 'off'; }
+ if($so) { $CFG{'points'} = 'on'; } else { $CFG{'points'} = 'off'; }
+ $CFG{'zoomX'} = $zf;
+ if($lr) { $CFG{'keepdata'} = 'on'; } else { $CFG{'keepdata'} = 'off'; }
+ if($lf eq 'SCREEN') { $CFG{'log'} eq ''; } else {
+ close LOG;
+ $CFG{'log'} = $lf;
+ open LOG, ">$CFG{'log'}" or die "Could not open log file $CFG{'log'}\n";
+ autoflush LOG;
+ print LOG "Log file for RinexPlot\n";
+ }
+ if($vb) { $CFG{'verbose'} = 'on'; }
+ if($ud ne $CFG{'prgmdir'}) {
+ my($ResCor,$RinSum,$RinexDump)=('ResCor','RinSum','RinexDump');
+ if ($^O eq "MSWin32") {
+ $ResCor='ResCor.exe';
+ $RinSum='RinSum.exe';
+ $RinexDump='RinexDump.exe';
+ }
+ if(not -e $ud . $SLASH . $RinSum
+ || not -e $ud . $SLASH . $ResCor
+ || not -e $ud . $SLASH . $RinexDump) {
+ PopNotice("Error:","Error: GPSTk utilities not found in directory $ud.\n"
+ . "Go to Settings/Preferences to change it");
+ }
+ else { $CFG{'prgmdir'} = $ud; }
+ }
+ }
+ Status('');
+}
+
+#-------------------------------------------------------------------------------------
+sub SettCurs {
+ ## Open file that contains all available cursors
+ ## Might have to change this if your cursorfont.h is elsewhere
+ ## On Win32 systems look in C:\Perl\lib\site\Tk\X11\cursorfont.h
+ my $cursorfile='/usr/X11R6/include/X11/cursorfont.h';
+ if ($^O eq "MSWin32") {
+ $cursorfile = '\\perl\\site\\lib\\Tk\\X11\\cursorfont.h';
+ }
+ my @cursors=();
+ open (FH, $cursorfile) or die "Couldn't open cursor file.\n";
+ while (<FH>) { push(@cursors, $1) if (/\#define XC_(\w+) /); }
+ close(FH);
+
+ my $HSdb = $w_top->DialogBox(
+ -title => 'Available cursors',
+ -buttons => ['Ok','Cancel'],
+ -popover => $w_top,
+ -overanchor => 'n',
+ -popanchor => 'n',
+ );
+ my $lab = $HSdb->add('Label',-text =>
+ "Select a cursor name by clicking\n" .
+ "on it, then move the mouse onto\n" .
+ "the canvas to see the result.\n" .
+ "The default cursor is crosshair.\n" .
+ "The current cursor is $cursor")->pack(-anchor => 'w');
+ my $scroll = $HSdb->Scrollbar;
+ my $lb = $HSdb->Listbox(-selectmode => 'single',
+ -yscrollcommand => [set => $scroll]);
+ $scroll->configure(-command => [yview => $lb]);
+ $scroll->pack(-side => 'right', -fill => 'y');
+ $lb->pack(-side => 'left', -fill => 'both');
+ $lb->insert('end', sort @cursors);
+ $lb->bind('<ButtonPress-1>',
+ sub {
+ $cursor = $lb->get($lb->curselection);
+ $w_canvas->configure(-cursor => $cursor);
+ $w_top->update;
+ print LOG "Configure cursor $cursor\n";
+ }
+ );
+ $ans = $HSdb->Show();
+ if($ans eq 'Cancel') {
+ $cursor = $crosshair;
+ NormalCursor();
+ }
+}
+
+#-------------------------------------------------------------------------------------
+# this is the guts of OutputCommand() and SaveConfig()
+# call with argument 'config' for config file format : ^key = value$
+# otherwise for command line format : (sp)--key value
+sub ConfigString {
+ ($ans) = @_;
+ my $cmd='';
+ my ($p1,$p2,$p3)=(' --',' ',''); # for the command line
+ if($ans eq 'config') { # for the config file
+ $p1 = '';
+ $p2 = ' = ';
+ $p3 = "\n";
+ }
+
+ foreach $key (sort keys %CFG) {
+ next if($CFG{$key} eq '');
+ if($CFG{$key} =~ m/\s+/) {
+ $cmd = $cmd . $p1 . $key . $p2 . "\"$CFG{$key}\"" . $p3;
+ }
+ else {
+ $cmd = $cmd . $p1 . $key . $p2 . $CFG{$key} . $p3;
+ }
+ }
+ #foreach $key (sort keys %OPT) {
+ # next if($OPT{$key}[0] eq '');
+ # foreach $i (@{$OPT{$key}}) {
+ # $cmd = $cmd . " --$key $i";
+ # }
+ #}
+
+ # --AO <OT> extended obs type
+ $dummy = 0;
+ foreach $i (0..$#ExtOT) {
+ if($ExtSelect[$i] != 0) {
+ $dummy =1;
+ $cmd = $cmd . $p1 . "AO" . $p2 . $ExtOT[$i] . $p3;
+ }
+ }
+ # --create call create only if --AO
+ if($dummy == 1) {
+ $cmd = $cmd . $p1 . "create" . $p2 . "on" . $p3;
+ }
+ # --sat <sat> select sat
+ $dummy = 0;
+ foreach $i (0..$#svlist) {
+ if($svselect[$i] != 0) {
+ $cmd = $cmd . $p1 . "sat" . $p2 . $svlist[$i] . $p3;
+ $dummy = 1;
+ }
+ }
+ # --obs <ot> select obs type
+ $ans = 0;
+ foreach $i (0..$#obslist) {
+ if($obsselect[$i] != 0) {
+ $cmd = $cmd . $p1 . "obs" . $p2 . $obslist[$i] . $p3;
+ $ans = 1;
+ }
+ }
+ # --refresh call refresh only if --sat and --obs
+ if($dummy != 0 && $ans != 0) {
+ $cmd = $cmd . $p1 . "refresh" . $p2 . "on" . $p3;
+ }
+
+ if($ans ne 'config') {
+ $cmd = $cmd . "\n";
+ }
+
+ return $cmd;
+}
+
+#-------------------------------------------------------------------------------------
+sub OutputCommand {
+ Status("Output the current configuration as a command line...");
+ # ask user for name of file to write to ... or screen
+ my $file = "LOG";
+ my $SOdb = $w_top->DialogBox(
+ -title => "Command line output",
+ -buttons => ['Ok','Cancel'],
+ -default_button => 'Ok',
+ -popover => 'cursor',
+ -overanchor => 'c',
+ -popanchor => 'nw',
+ );
+ #$SOdb->add('Label',-text => "Command line output")->pack(-anchor => 'w');
+ my $f1=$SOdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+ $f1->Label(-text => " Output file name for command line\n"
+ . " (SCREEN for stdout, LOG for logfile) :"
+ )->pack(-side => 'top', -anchor => 'w');
+ my $e1=$f1->Entry(-textvariable => \$file, -width => '30')->pack(-side => 'left');
+ $ans = $SOdb->Show();
+ if($ans eq 'Ok') {
+ my $cmd;
+ if($^O eq "MSWin32") { $cmd = "call RinexPlot"; }
+ elsif($^O eq "linux") { $cmd = "perl RinexPlot.pl"; }
+ else { $cmd = "RinexPlot"; }
+
+ $msg = ConfigString();
+ $cmd = $cmd . ' ' . $msg;
+
+ if($file eq "SCREEN") {
+ open(CMDOUT,">-") or die "Could not re-open STDOUT\n";
+ print CMDOUT "$cmd";
+ }
+ elsif($file eq "LOG") {
+ print LOG "$cmd";
+ }
+ else {
+ open CMDOUT, ">$file" or die "Could not open log file $file\n";
+ print CMDOUT "$cmd";
+ close CMDOUT;
+ }
+ }
+ Status('');
+}
+
+#-------------------------------------------------------------------------------------
+sub Refresh {
+ #print LOG "Refresh\n";
+ ConfigureCurves();
+
+ if($ncurv <= 0) {
+ $msg = "There are no curves defined.\n" .
+ "Go to DataSet/Select to make a choice ";
+ PopNotice("Error: no curves",$msg);
+ return;
+ }
+
+ WaitCursor();
+ Status("Refreshing the screen...");
+
+ # clear the screen
+ #$w_canvas->createRectangle(0,0,$CFG{'Lmargin'}+$CFG{'width'}+$CFG{'Rmargin'},
+ # $CFG{'Tmargin'}+$CFG{'height'}+$CFG{'Bmargin'},
+ # -outline => $BCOLOR, -fill => $BCOLOR);
+ $w_canvas->delete("all");
+
+ DrawBase();
+
+ PlotData();
+
+ NormalCursor();
+ Status("Refresh done.");
+}
+
+#-------------------------------------------------------------------------------------
+sub DrawBase {
+ # draw around the matte
+ $w_canvas->createRectangle($CFG{'Lmargin'}, $CFG{'Tmargin'},
+ $CFG{'width'}+$CFG{'Lmargin'}, $CFG{'height'}+$CFG{'Tmargin'},
+ -outline => 'black');
+
+ print LOG "Draw base: limits are X: ";
+ if($XScaleExp > 0) {
+ print LOG sprintf("%.$XScaleExp"."f",$CFG{'XMin'}) . ", "
+ . sprintf("%.$XScaleExp"."f",$CFG{'XMax'}) . ", Y: ";
+ }
+ else { print LOG "$CFG{'XMin'},$CFG{'XMax'}, Y: "; }
+ if($YScaleExp > 0) {
+ print LOG sprintf("%.$YScaleExp"."f",$CFG{'YMin'}) . ", "
+ . sprintf("%.$YScaleExp"."f",$CFG{'YMax'}) . "\n";
+ }
+ else { print LOG "$CFG{'YMin'},$CFG{'YMax'}\n"; }
+
+ print LOG "XScale : exp $XScaleExp ";
+ foreach $i (0..$CFG{'BticN'}-1) {
+ $dummy = $XScaleMin + $i * $XScaleStep;
+ if($XScaleExp > 0) { print LOG sprintf(" %.$XScaleExp"."f",$dummy); }
+ else { print LOG " $dummy"; }
+ }
+ print LOG "\n";
+ print LOG "YScale : exp $YScaleExp ";
+ foreach $i (0..$CFG{'LticN'}-1) {
+ $dummy = $YScaleMin + $i * $YScaleStep;
+ if($YScaleExp > 0) { print LOG sprintf(" %.$YScaleExp"."f",$dummy); }
+ else { print LOG " $dummy"; }
+ }
+ print LOG "\n";
+
+ # title above plot
+ $ans = $w_canvas->createText($CFG{'Lmargin'}+$CFG{'width'}/2,$CFG{'Tmargin'}/2,
+ -justify => 'center', -fill => 'black', -text => $CFG{'Tlabel'},
+ # -font => 'fontname',
+ );
+ # bottom label
+ $ans = $w_canvas->createText($CFG{'Lmargin'}+$CFG{'width'}/2,
+ $CFG{'Tmargin'}+$CFG{'height'}+$CFG{'Bmargin'}-8,
+ -justify => 'center', -fill => 'black', -text => $CFG{'Blabel'},
+ # -font => 'fontname',
+ );
+ # left label
+ $ans = $w_canvas->createText(0.28*$CFG{'Lmargin'}+2*length($CFG{'Llabel'}),
+ 0.6*$CFG{'Tmargin'}, -justify => 'left', -fill => 'black',
+ -text => $CFG{'Llabel'},
+ # -font => 'fontname',
+ );
+ # right label
+ $ans = $w_canvas->createText(
+ $CFG{'Lmargin'}+$CFG{'width'}+0.70*$CFG{'Rmargin'}-2*length($CFG{'Rlabel'}),
+ 0.6*$CFG{'Tmargin'}, -justify => 'right', -fill => 'black',
+ -text => $CFG{'Rlabel'},
+ # -font => 'fontname',
+ );
+
+ DrawLabels();
+}
+
+#-------------------------------------------------------------------------------------
+sub DrawLabels {
+ # tics and numeric labels
+ # (M,M) (M+W,M)
+ # (M,M+H) (M+W,M+H)
+ my ($min,$max)=(0,0);
+ foreach $i (-1..$CFG{'BticN'}) { # X axes
+ $dummy = Xdata2scr($XScaleMin+$i*$XScaleStep);
+ if($dummy >= $CFG{'Lmargin'} && $dummy <= $CFG{'width'}+$CFG{'Lmargin'}) {
+ # bottom tic
+ $ans = $w_canvas->createLine($dummy,$CFG{'Tmargin'}+$CFG{'height'},$dummy,
+ $CFG{'Tmargin'}+$CFG{'height'}-$XTicLen, -fill => 'black');
+ # bottom numeric label
+ $msg = sprintf("%d",$XScaleMin+$i*$XScaleStep);
+ $ans = $w_canvas->createText($dummy, $CFG{'Tmargin'}+$CFG{'height'}+10,
+ -justify => 'center', -fill => 'black', -text => $msg);
+ # save for next if block
+ if($min == 0) { $min = $dummy; }
+ $max = $dummy;
+
+ # top tic
+ $ans = $w_canvas->createLine($dummy, $CFG{'Tmargin'}, $dummy,
+ $CFG{'Tmargin'}+$XTicLen, -fill => 'black');
+ }
+ }
+ if($ScaleFixed == 1) { # numeric labels at ends
+ my $limit=$CFG{'width'}/(2*$CFG{'BticN'});
+ $msg = sprintf("%d",$CFG{'XMin'});
+ if($min-$CFG{'Lmargin'} > $limit) { # don't print if too close to another label
+ $ans = $w_canvas->createText(
+ $CFG{'Lmargin'}, $CFG{'Tmargin'}+$CFG{'height'}+10,
+ -justify => 'center', -fill => 'black', -text => $msg);
+ }
+ $msg = sprintf("%d",$CFG{'XMax'});
+ if($CFG{'Lmargin'}+$CFG{'width'}-$max > $limit) {
+ $ans = $w_canvas->createText(
+ $CFG{'Lmargin'}+$CFG{'width'},$CFG{'Tmargin'}+$CFG{'height'}+10,
+ -justify => 'center', -fill => 'black', -text => $msg);
+ }
+ }
+ #($min,$max)=(0,0);
+ foreach $i (-1..$CFG{'LticN'}) { # Y axes
+ $dummy = Ydata2scr($YScaleMin+$i*$YScaleStep);
+ if($dummy >= $CFG{'Tmargin'} && $dummy <= $CFG{'Tmargin'}+$CFG{'height'}) {
+ # left tic
+ $ans = $w_canvas->createLine(
+ $CFG{'Lmargin'},$dummy,$CFG{'Lmargin'}+$YTicLen,$dummy,
+ -fill => 'black'); # tics
+ if($YScaleExp > 0) {
+ $msg = sprintf(" %.$YScaleExp"."f",$YScaleMin+$i*$YScaleStep);
+ }
+ else { $msg = sprintf("%.0f",$YScaleMin+$i*$YScaleStep); }
+ # left numeric label
+ $ans = $w_canvas->createText($CFG{'Lmargin'}-2*length($msg)-5, $dummy,
+ -justify => 'left', -fill => 'black', -text => $msg);
+ # save for next if block
+ #if($min == 0) { $min = $dummy; }
+ #$max = $dummy;
+
+ # right tic
+ $ans = $w_canvas->createLine(
+ $CFG{'Lmargin'}+$CFG{'width'}, $dummy,
+ $CFG{'Lmargin'}+$CFG{'width'}-$YTicLen, $dummy, -fill => 'black');
+ }
+ }
+ #if($ScaleFixed) { # numeric labels at ends
+ # my $limit=20; # need character size in pixels here...
+ # $msg = sprintf("%d",$CFG{'YMin'});
+ # if($min-$CFG{'Tmargin'} > $limit) {# don't print if too close to another label
+ # $ans = $w_canvas->createText($CFG{'Lmargin'}-2*length($msg)-5,
+ # $CFG{'Tmargin'}+$CFG{'height'},
+ # -justify => 'left', -fill => 'black', -text => $msg);
+ # }
+ # if($CFG{'Tmargin'}+$CFG{'height'}-$max > $limit) {
+ # $msg = sprintf("%d",$CFG{'YMax'});
+ # $ans = $w_canvas->createText($CFG{'Lmargin'}-2*length($msg)-5,
+ # $CFG{'Tmargin'}, -justify => 'left', -fill => 'black', -text => $msg);
+ # }
+ #}
+}
+
+#-------------------------------------------------------------------------------------
+sub PlotData { # plot the data
+ my (@penup, at y, at prevx, at prevy);
+ my ($x,$id);
+ my ($xfr,$xto,$yfr,$yto,$tfl,$ffl);
+ ($begW,$begS) = split(',',$CFG{'begin'});
+ ($endW,$endS) = split(',',$CFG{'end'});
+ my ($sat,$c,$week,$sow);
+ my $sow0 = 0;
+ $CFG{'Week'} = 0;
+
+ # lift all pens
+ foreach $j (0..$ncurv-1) { $penup[$j] = 1; }
+
+ # open the data file and read
+ $filename = "$CFG{'datafile'}";
+ print LOG "Open $filename to plot ...";
+ open FILE, "$filename" or die "Error: Refresh could not open $filename\n";
+ Status("Refresh is plotting data in file $filename ...");
+
+ # loop over data in this file
+ while(<FILE>) {
+ chomp;
+ $_ =~ s/^\s_//;
+ if(m/Rinexdump/) { next; }
+ if(m/Week/) { next; }
+ # data
+ #print LOG "Read $_\n";
+ s/^\s+//; # no leading white space
+ @opt = split(/\s+/, $_);
+ $week = $opt[0]; # GPS week
+ $sow = $opt[1]; # GPS seconds of week
+ # ignore if outside time limits
+ next if($week < $begW);
+ next if($week == $begW && $sow < $begS);
+ last if($week > $endW);
+ last if($week == $endW && $sow > $endS);
+ if($CFG{'Week'} == 0) { $CFG{'Week'} = $week; $sow0 = $sow; }
+ $x = Xdata2scr($sow + ($week-$CFG{'Week'})*604800.);
+ $sat = $opt[2];
+ #print LOG "Sat is $sat ncurves $ncurv\n";
+ foreach $j (0..$ncurv-1) {
+ if($curvON[$j] == 0) { next; }
+ if($curvSV[$j] eq $sat) {
+ $y[$j] = Ydata2scr($opt[$curvCol[$j]]);
+ #print LOG "Data $sat: x=$opt[1] y=$opt[$curvCol[$j]] "
+ #. "sx=$x sy=$y[$j] pen=$penup[$j]\n";
+ if($penup[$j] == 1) {
+ $penup[$j] = 0;
+ }
+ elsif($penup[$j] == 0) {
+ #print LOG "Plot [$j]: ($prevx[$j],$prevy[$j]) to ($x,$y[$j])\n";
+ $xfr = $prevx[$j]; $xto = $x; $yfr = $prevy[$j]; $yto = $y[$j];
+ # clip
+ #print LOG "Clip [$j]: ($xfr,$yfr,$xto,$yto,$tfl,$ffl)\n";
+ if(Clip(\$xfr,\$yfr,\$xto,\$yto,\$tfl,\$ffl) != 0) {
+ $c = $curvColor[$j];
+ #print LOG "Draw [$j]: ($xfr,$yfr) to ($xto,$yto)\n";
+ if($curvLines[$j] != 0) {
+ # draw line
+ $id = $w_canvas->createLine($xfr,$yfr,$xto,$yto,-fill => $c);
+ }
+ if($tfl != 0 && $curvSymbs[$j] ne 'none') {
+ # pt visible, symb selected -> draw symbol
+ # (no clipping here ... maybe should)
+ if($curvSymbs[$j] eq 'cross') {
+ $id = $w_canvas->createLine( # why 2/3 you ask? I don't know
+ $xto-2,$yto-2,$xto+3,$yto+3,-fill => $c);
+ $id = $w_canvas->createLine(
+ $xto+2,$yto-2,$xto-3,$yto+3,-fill => $c);
+ }
+ elsif($curvSymbs[$j] eq 'plus') {
+ $id = $w_canvas->createLine(
+ $xto-2,$yto,$xto+3,$yto,-fill => $c);
+ $id = $w_canvas->createLine(
+ $xto,$yto-2,$xto,$yto+3,-fill => $c);
+ }
+ elsif($curvSymbs[$j] eq 'diamond') {
+ $id = $w_canvas->createLine(
+ $xto-3,$yto,$xto,$yto+3,-fill => $c);
+ $id = $w_canvas->createLine(
+ $xto,$yto+3,$xto+3,$yto,-fill => $c);
+ $id = $w_canvas->createLine(
+ $xto+3,$yto,$xto,$yto-3,-fill => $c);
+ $id = $w_canvas->createLine(
+ $xto,$yto-3,$xto-3,$yto,-fill => $c);
+ }
+ elsif($curvSymbs[$j] eq 'square') {
+ $id = $w_canvas->createLine(
+ $xto-2,$yto-2,$xto-2,$yto+2,-fill => $c);
+ $id = $w_canvas->createLine(
+ $xto-2,$yto+2,$xto+2,$yto+2,-fill => $c);
+ $id = $w_canvas->createLine(
+ $xto+2,$yto+2,$xto+2,$yto-2,-fill => $c);
+ $id = $w_canvas->createLine(
+ $xto+2,$yto-2,$xto-2,$yto-2,-fill => $c);
+ }
+ elsif($curvSymbs[$j] eq 'circle') {
+ $id = $w_canvas->createOval($xto-2,$yto-2,
+ $xto+2,$yto+2,-outline => $c);
+ }
+ elsif($curvSymbs[$j] eq 'del') {
+ $id = $w_canvas->createLine(
+ $xto,$yto+3,$xto+3,$yto-2,-fill => $c);
+ $id = $w_canvas->createLine(
+ $xto+3,$yto-2,$xto-2,$yto-2,-fill => $c);
+ $id = $w_canvas->createLine(
+ $xto-2,$yto-2,$xto,$yto+3,-fill => $c);
+ }
+ elsif($curvSymbs[$j] eq 'delta') {
+ $id = $w_canvas->createLine(
+ $xto-2,$yto+2,$xto+3,$yto+2,-fill => $c);
+ $id = $w_canvas->createLine(
+ $xto+3,$yto+2,$xto,$yto-3,-fill => $c);
+ $id = $w_canvas->createLine(
+ $xto,$yto-3,$xto-2,$yto+2,-fill => $c);
+ }
+ }
+ }
+ }
+ $prevy[$j] = $y[$j];
+ $prevx[$j] = $x;
+ next;
+ }
+ }
+ }
+ close FILE;
+ print LOG " done.\n";
+}
+
+#-------------------------------------------------------------------------------------
+sub Clip {
+ # (M,M) (M+W,M)
+ # (M,M+H) (M+W,M+H)
+ #my $fflag=0; # flag = 1,0 as inside, outside region
+ #my $tflag=0; # 'f' is from, 't' is to
+ my $xf = shift;
+ my $yf = shift;
+ my $xt = shift;
+ my $yt = shift;
+ my $tflag = shift;
+ my $fflag = shift;
+ $$tflag = 0;
+ $$fflag = 0;
+ if($$xt >= $CFG{'Lmargin'} && $$xt <= $CFG{'Lmargin'}+$CFG{'width'}
+ && $$yt >= $CFG{'Tmargin'} && $$yt <= $CFG{'Tmargin'}+$CFG{'height'}) {
+ $$tflag = 1;
+ }
+ if($$xf >= $CFG{'Lmargin'} && $$xf <= $CFG{'Lmargin'}+$CFG{'width'}
+ && $$yf >= $CFG{'Tmargin'} && $$yf <= $CFG{'Tmargin'}+$CFG{'height'}) {
+ $$fflag = 1;
+ }
+ if($$tflag == 1 && $$fflag == 1) { return 1; }
+
+ # Two line segments intersect at (x,y) where
+ # * (x3,y3)
+ # |
+ # |
+ # (x2,y2) * --------+-----------* (x1,y1)
+ # |
+ # |
+ # |
+ # |
+ # * (x4,y4)
+ #
+ # and x = [(x1*y2-x2*y1)*(x3-x4)-(x3*y4-x4*y3)*(x1-x2)]
+ # / [(x1-x2)*(y3-y4)-(x3-x4)*(y1-y2)] ,
+ # y = [(x1*y2-x2*y1)*(y3-y4)-(x3*y4-x4*y3)*(y1-y2)]
+ # / [(x1-x2)*(y3-y4)-(x3-x4)*(y1-y2)]
+ # Note correct reduction when horiz or vert: x=x3 when x3=x4, y=y1 when y1=y2, etc.
+
+ my ($p,$x1,$y1,$x2,$y2); # intersections
+ my $npt=0;
+ $ans = $$yt-$$yf; # y3-y4
+ if($ans != 0) {
+ $dummy = ($$xt*$$yf-$$xf*$$yt)/$ans;
+ $msg = ($$xt-$$xf)/$ans;
+ # intersect top x2=$CFG{'Lmargin'}, x1=$CFG{'Lmargin'}+$CFG{'width'},
+ # y1=y2=$CFG{'Tmargin'}
+ $ans = $CFG{'Tmargin'};
+ $p = int($ans*$msg-$dummy+0.5);
+ if($p > $CFG{'Lmargin'} && $p < $CFG{'Lmargin'}+$CFG{'width'}
+ && ($$yt-$ans)*($$yf-$ans) < 0) {
+ $x1 = $p; $y1 = $CFG{'Tmargin'}; $npt = 1;
+ }
+ # intersect bottom x2=$CFG{'Lmargin'}, x1=$CFG{'Lmargin'}+$CFG{'width'},
+ # y1=y2=$CFG{'Tmargin'}+$CFG{'height'}
+ $ans = $CFG{'Tmargin'}+$CFG{'height'};
+ $p = int($ans*$msg-$dummy+0.5);
+ if($p > $CFG{'Lmargin'} && $p < $CFG{'Lmargin'}+$CFG{'width'}
+ && ($$yt-$ans)*($$yf-$ans) < 0) {
+ if($npt == 0) { $x1 = $p; $y1 = $CFG{'Tmargin'}+$CFG{'height'}; }
+ else { $x2 = $p; $y2 = $CFG{'Tmargin'}+$CFG{'height'}; }
+ $npt++;
+ }
+ }
+ $ans = $$xt-$$xf; # x3-x4
+ if($ans != 0) {
+ $dummy = ($$yt*$$xf-$$yf*$$xt)/$ans;
+ $msg = ($$yt-$$yf)/$ans;
+ # intersect left x3=x4=$CFG{'Lmargin'},s
+ # y3=$CFG{'Tmargin'}, $y4=$CFG{'Tmargin'}+$CFG{'height'}
+ $ans = $CFG{'Lmargin'};
+ $p = int($ans*$msg-$dummy+0.5);
+ if($p > $CFG{'Tmargin'} && $p < $CFG{'Tmargin'}+$CFG{'height'}
+ && ($$xt-$ans)*($$xf-$ans) < 0) {
+ if($npt == 0) { $y1 = $p; $x1 = $CFG{'Lmargin'}; }
+ else { $y2 = $p; $x2 = $CFG{'Lmargin'}; }
+ $npt++;
+ }
+
+ # intersect right x3=x4=$CFG{'Lmargin'}+$CFG{'width'},
+ # y3=$CFG{'Tmargin'}, $y4=$CFG{'Tmargin'}+$CFG{'height'}
+ $ans = $CFG{'Lmargin'}+$CFG{'width'};
+ $p = int($ans*$msg-$dummy+0.5);
+ if($p > $CFG{'Tmargin'} && $p < $CFG{'Tmargin'}+$CFG{'height'}
+ && ($$xt-$ans)*($$xf-$ans) < 0) {
+ if($npt == 0) { $y1 = $p; $x1 = $CFG{'Lmargin'}+$CFG{'width'}; }
+ else { $y2 = $p; $x2 = $CFG{'Lmargin'}+$CFG{'width'}; }
+ $npt++;
+ }
+ }
+
+ if($npt == 0) { return 0; } # no intersections
+
+ if($$tflag == 1 && $$fflag == 0) { # outside to inside
+ $$xf = $x1; $$yf = $y1;
+ }
+ elsif($$tflag == 0 && $$fflag == 1) { # inside to outside
+ $$xt = $x1; $$yt = $y1;
+ }
+ else { # outside to outside
+ if($npt!=2) {
+ print LOG "WARNING: Clip finds outside to outside with"
+ . " $npt intersections\n";
+ return 0;
+ }
+ if((($$xt-$x1)*($$xt-$x1)+($$yt-$y1)*($$yt-$y1)) <
+ (($$xf-$x1)*($$xf-$x1)+($$yf-$y1)*($$yf-$y1))) {
+ $$xt = $x1; $$yt = $y1;
+ $$xf = $x2; $$yf = $y2;
+ }
+ else {
+ $$xt = $x2; $$yt = $y2;
+ $$xf = $x1; $$yf = $y1;
+ }
+ }
+ return 1;
+}
+
+#-------------------------------------------------------------------------------------
+sub CanvConf {
+ my $w = $w_canvas->width;
+ my $h = $w_canvas->height;
+ my $W = $CFG{'Lmargin'}+$CFG{'width'}+$CFG{'Rmargin'};
+ my $H = $CFG{'Tmargin'}+$CFG{'height'}+$CFG{'Bmargin'};
+ if($w != $CFG{'Lmargin'}+$CFG{'width'}+$CFG{'Rmargin'} ||
+ $h != $CFG{'Tmargin'}+$CFG{'height'}+$CFG{'Bmargin'}) {
+ $CFG{'width'} = $w - $CFG{'Lmargin'} - $CFG{'Rmargin'};
+ $CFG{'height'} = $h - $CFG{'Tmargin'} - $CFG{'Bmargin'};
+ Rates();
+ if($firstcanvas == 1) {
+ Status("Plot reconfigured to $CFG{'width'} x $CFG{'height'} ...Refresh?");
+ }
+ $firstcanvas = 1;
+ }
+}
+
+#-------------------------------------------------------------------------------------
+sub PopNotice {
+ my ($dummy1, $dummy2) = @_;
+ #$ans = $w_top->messageBox(
+ #-title => $dummy1,
+ #-message => $dummy2 . " ",
+ #-type => 'OK',
+ #-icon => 'info',
+ ##no popover for messageBox
+ #);
+ my $PNdb = $w_top->DialogBox(
+ -title => $dummy1,
+ -buttons => ['Ok'],
+ -popover => $w_top,
+ -overanchor => 'c',
+ -popanchor => 'c',
+ );
+ $PNdb->add('Label', -text => $dummy2, -justify => 'left')->pack;
+ $PNdb->Show();
+}
+
+#-------------------------------------------------------------------------------------
+sub Status {
+ ($dummy) = (@_);
+ $statusbar->delete('0.0','end');
+ $statusbar->insert('0.0',$dummy);
+ $w_top->update;
+}
+
+#-------------------------------------------------------------------------------------
+sub WaitCursor {
+ $w_canvas->configure(-cursor => $waitcursor);
+ $w_top->update;
+}
+
+#-------------------------------------------------------------------------------------
+sub NormalCursor {
+ $w_canvas->configure(-cursor => $cursor);
+ $w_top->update;
+}
+
+#-------------------------------------------------------------------------------------
+#-------------------------------------------------------------------------------------
+sub mouse_events {
+ # do not enter this routine unless screen is up and scale has been defined
+ if($MainUp == 0 || $ScaleDefined == 0) { return; }
+
+ my ($canv, $x, $y, $mousemsg) = @_;
+
+ if($mousemsg eq "motion") {
+ if($MAKE_RECT) {
+ # first erase the old one
+ $canv->delete($MOUSE_RECT);
+
+ # where is the corner now?
+ $RECT_X1 = $canv->canvasx($x);
+ $RECT_Y1 = $canv->canvasy($y);
+
+ # draw a new foreground-color rectangle
+ $MOUSE_RECT = $canv->createRectangle(
+ $RECT_X0,$RECT_Y0, $RECT_X1,$RECT_Y1,
+ -outline => $MCOLOR );
+ }
+ }
+ else {
+ #print LOG "mouse$msg: (x,y) = ", $canv->canvasx($x), ", ", $canv->canvasy($y),
+ # " (datax,datay) = ", scr2Xdata($canv->canvasx($x)), " , ",
+ # scr2Ydata($canv->canvasy($y)),
+ # "\n";
+ if($mousemsg eq "push left") {
+ $RECT_X0 = $canv->canvasx($x);
+ $RECT_Y0 = $canv->canvasy($y);
+ #print LOG "push: RECT_X0 $RECT_X0, RECT_Y0 $RECT_Y0\n";
+ $MAKE_RECT = 1;
+ }
+ if($mousemsg eq "rel left") {
+ $RECT_X1 = $canv->canvasx($x);
+ $RECT_Y1 = $canv->canvasy($y);
+ #print LOG "rele: RECT_X1 $RECT_X1, RECT_Y1 $RECT_Y1\n";
+ #print LOG "just checking: (x,y) = ", $RECT_X1, ", ", $RECT_Y1,
+ # " (datax,datay) = ", scr2Xdata($RECT_X1), " , ", scr2Ydata($RECT_Y1),
+ # "\n";
+ Status("(x,y) = screen("
+ . $RECT_X1 . ","
+ . $RECT_Y1 . ") = data("
+ . sprintf("%10.3f",scr2Xdata($RECT_X1)) . ","
+ . sprintf("%.3f",scr2Ydata($RECT_Y1)) . ")");
+ $canv->delete($MOUSE_RECT);
+ $MAKE_RECT = 0;
+
+ # ignore zero-area rectangles
+ if(($RECT_X0 == $RECT_X1) || ($RECT_Y0 == $RECT_Y1)) {
+ return;
+ }
+
+ $MOUSE_RECT = $canv->createRectangle(
+ $RECT_X0,$RECT_Y0, $RECT_X1,$RECT_Y1,
+ -outline => $MCOLOR );
+
+ # put up a dialog asking what to do with the rectangle
+ my $db = $w_top->DialogBox(
+ -title => 'Mouse Rectangle',
+ -buttons => ['Zoom', 'Cancel'],
+ -default_button => 'Zoom',
+ -popover => 'cursor', -overanchor => 'c', -popanchor => 'nw',
+ );
+ $db->add('Label', -text => "Zoom: are you sure? ")->pack;
+ $ans = $db->Show();
+ if($ans eq "Zoom") {
+ #print LOG "You said to zoom to mouse rectangle\n";
+ #$canv->move($MOUSE_RECT, 100, 100);
+ ($YMin, $YMax, $XMin, $XMax) =
+ (scr2Ydata($RECT_Y1), scr2Ydata($RECT_Y0),
+ scr2Xdata($RECT_X0), scr2Xdata($RECT_X1) );
+ if($YMin > $YMax) {
+ $ans = $YMax;
+ $YMax = $YMin;
+ $YMin = $ans;
+ }
+ if($XMin > $XMax) {
+ $ans = $XMax;
+ $XMax = $XMin;
+ $XMin = $ans;
+ }
+ # NewScale requires $XMin,$XMax,$YMin,$YMax as input
+ NewScale('fixed','Mouse zoom');
+ Refresh();
+ }
+ if($ans eq "Cancel") {
+ #print LOG "You said to cancel mouse rectangle\n";
+ $canv->delete($MOUSE_RECT);
+ Status('');
+ }
+ }
+ }
+}
+
+#-------------------------------------------------------------------------------------
+#-------------------------------------------------------------------------------------
+# string CmdText defines configuration constants and options on command line,
+# with their default values. See documentation of CmdText and sub CommandLine.
+sub Defaults {
+ # parse CmdText
+ my @lines = split('\n',$CmdText);
+ foreach (@lines) {
+ last if(m/Example:/);
+ next if(m/^#/);
+ if(m/(can repeat)/) { $dummy='grow'; } else { $dummy=''; }
+ s/--(\S+)\s.*\((.*)\)$/$1 = $2/;
+ s/^\s+//;
+ s/\s+$//;
+ ($key, $val) = split(/ = /,$_,2);
+ if($val eq '') { $key =~ s/ =$//; }
+ #print "Line:",$_,"\n";
+ #print "key |$key| value |$val|\n";
+ #AddDefault($key,$val,$dummy);
+ $Options{$key} = 1; # this says 'key' is a valid option
+ if($dummy eq 'grow') {
+ $Grow{$key} = 1; # this says 'key' belongs to OPT, not CFG
+ if($val ne '') { push(@{$OPT{$key}}, $val); } # OPT -- 1 to many
+ }
+ else {
+ if($val ne '') { $CFG{$key} = $val; } # CFG -- 1 to 1
+ }
+ }
+ # TD this should belong to CFG also
+ $ConfigFile = 'rp.cfg';
+}
+
+#-------------------------------------------------------------------------------------
+# command line arguments -- see CmdText above for doc.
+# process the command line, converting command line into key/val pairs,
+# where --key=val --key val --key (val='on')
+# don't allow -key because this makes val = (negative number) impossible
+sub CommandLine {
+ if($#ARGV == 0 && $ARGV[0] eq '--help') {
+ print $CmdText,"\n";
+ exit;
+ }
+ $LimitsSet = 0; # notice if limits are set
+ $key = '';
+ $val = '';
+ while($#ARGV >= 0) {
+ $dummy = shift @ARGV;
+ if(substr($dummy,0,2) eq "--") { # '--' => its key or key=value
+ $dummy = substr($dummy,2,length($dummy)-2); # remove --
+ if($key ne '' && $val eq 'on') { # was prev arg a key alone?
+ AddToConfig($key,$val);
+ $key = '';
+ $val = '';
+ }
+ if($dummy =~ '=') { # is there an '='?
+ ($key, $val) = split(/=/,$dummy,2);
+ AddToConfig($key,$val);
+ $key = '';
+ $val = '';
+ }
+ else { # no =; val is 'on' for now
+ $key = $dummy;
+ $val = 'on';
+ }
+ }
+ else { # no '--' => its val or an error
+ if($key ne '' && $val eq 'on') { # prev arg was --key
+ $val = $dummy;
+ AddToConfig($key,$val);
+ $key = '';
+ $val = '';
+ }
+ else { # isolated and no '--' => err
+ print "Unrecognized argument: $dummy\n";
+ }
+ }
+ }
+ # the last arg
+ if($key ne '' && $val eq 'on') { AddToConfig($key,$val); }
+}
+
+#-------------------------------------------------------------------------------------
+sub AddToConfig {
+ my ($k,$v) = @_;
+ if($Options{$k} == 1) {
+ if($Grow{$k} == 1) {
+ push(@{$OPT{$k}}, split(/\s+/,$v));
+ }
+ else {
+ if($k eq 'prgmdir') {
+ $v =~ s/\//$SLASH/g;
+ $v =~ s/\\/$SLASH/g;
+ }
+ # save it
+ $CFG{$k} = $v;
+ # set flags here -- any option set by the user will pass here
+ if($k eq 'XMin' or $k eq 'XMax' or $k eq 'YMin' or $k eq 'YMax') {
+ $LimitsSet = 1;
+ }
+ if(($k eq 'Blabel' && $v ne 'GPS Seconds of Week') or
+ ($k eq 'Tlabel' && $v ne 'Title') or
+ $k eq 'Rlabel' or
+ $k eq 'Llabel') {
+ $UsingDefaults = 0;
+ }
+ }
+
+ # open file and read as config; do here so later cmds may override
+ if($k eq 'load') {
+ my @c = @{$OPT{'load'}};
+ while($#c >= 0) {
+ $i = shift @c;
+ last unless($i ne '');
+ delete(@{$OPT{'load'}}[0]);
+ LoadConfig($i);
+ }
+ }
+
+ return 'ok';
+ }
+ else {
+ print "Invalid configuration option: $k\n";
+ return 'fail';
+ }
+}
+
+#-------------------------------------------------------------------------------------
+sub LoadConfig {
+ ($filename) = @_;
+ if($CFG{'verbose'}) {
+ if($LogOpen) {
+ print LOG "Attempt to open and read configuration file $filename\n";
+ }
+ else {
+ print "Attempt to open and read configuration file $filename\n";
+ }
+ }
+
+ $dummy = 0; # dummy will count the number of read errors
+ $LimitsSet = 0;
+ if(open(CONFIG, "$filename")) {
+ while (<CONFIG>) {
+ if($dummy > 20) {
+ close CONFIG;
+ if($LogOpen) {
+ print LOG "\nAbort - Too many read errors loading configuration\n";
+ print LOG " File \"$filename\" may not be a configuration file.\n";
+ }
+ else {
+ print "\nAbort - Too many read errors loading configuration\n";
+ print " File \"$filename\" may not be a configuration file.\n";
+ }
+ if($MainUp) {
+ PopNotice("Error loading file",
+ "Abort - Too many read errors while loading a\n" .
+ "configuration file. This may not be a configuration file:\n" .
+ " $filename");
+ }
+ return 'fail';
+ }
+ chomp; # no newline
+ s/^\s+//; # no leading whitespace
+ s/#.*//; # no comments
+ s/\s+$//; # no trailing whitespace
+ s/^--//; # no leading --
+ next unless length; # anything left?
+ unless(m/=/) { # ignore if no =
+ print "Warning: configuration option has no '=' : $_\n";
+ $dummy++;
+ next;
+ }
+ ($key, $val) = split(/\s*=\s*/, $_, 2);
+ # nested conf files do not work
+ if($key eq 'load') {
+ print "Warning: nested --load <file> do not work\n";
+ next;
+ }
+ if($val =~ m/^"/ && $val =~ m/"$/) {
+ # remove quotes around values with whitespace
+ $val =~ s/^"//;
+ $val =~ s/"$//;
+ $ans = AddToConfig($key,$val);
+ }
+ else {
+ $ans = AddToConfig($key,$val);
+ }
+ if($ans eq 'fail') { $dummy++; }
+ }
+ close CONFIG;
+
+ $ConfigFile = $filename;
+ return 'ok';
+ }
+ else {
+ # don't put a popup here b/c top level window may not exist yet.
+ if($LogOpen) {
+ print LOG "Error: Could not open configuration file $filename\n";
+ }
+ else {
+ print "Error: Could not open configuration file $filename\n";
+ }
+ #$ConfigFile = '';
+ return 'fail';
+ }
+}
+
+#-------------------------------------------------------------------------------------
+sub SaveConfig {
+ my ($file)=@_;
+ if($file eq '') { return 'ok'; }
+ print LOG "Save the configuration to the file $file\n";
+
+ my $cmd = ConfigString('config');
+
+ if(open(CONFIG, ">$file")) {
+ print CONFIG $cmd;
+ close CONFIG;
+ return 'ok';
+ }
+ else {
+ return 'fail';
+ }
+}
+
+#-------------------------------------------------------------------------------------
+# process the config, used for command line processing and after config file loaded.
+sub ProcessConfig {
+ if($CFG{'log'} ne '' && $CFG{'log'} ne 'SCREEN') {
+ open LOG, ">$CFG{'log'}" or die "Could not open log file $CFG{'log'}\n";
+ autoflush LOG;
+ $LogOpen = 1;
+ if($CFG{'verbose'}) {
+ print "RP Output directed to log file $CFG{'log'}\n";
+ print LOG "Log file for RinexPlot\n";
+ }
+ }
+ else { open(LOG,">-") or die "Could not re-open STDOUT\n"; }
+
+ if($CFG{'Rinex'} ne '') {
+ DataInputProcess($CFG{'Rinex'});
+
+ my %index;
+ my (@AOs, at Sats, at Obs)=((),(),());
+ if(defined(@{$OPT{'AO'}})) { @AOs = @{$OPT{'AO'}}; }
+ if(defined(@{$OPT{'sat'}})) { @Sats = @{$OPT{'sat'}}; }
+ if(defined(@{$OPT{'obs'}})) { @Obs = @{$OPT{'obs'}}; }
+
+ if($#AOs >= 0) {
+ %index=();
+ $j=0;
+ foreach $i (@ExtOT) {
+ unless($index{$i}) {
+ $index{$i}=$j;
+ $j++;
+ }
+ }
+ $dummy = 0;
+ foreach $i (@AOs) {
+ $j = $index{$i};
+ if($dummy == 0) { print LOG "Selected new obs types"; $dummy=1; }
+ print LOG " $i";
+ $ExtSelect[$j] = 1;
+ }
+ if($dummy==1) { print LOG "\n"; }
+ if($CFG{'create'} eq 'on') { CompCrea(); }
+ }
+ if($#Sats >= 0) {
+ %index=();
+ $j=0;
+ foreach $i (@svlist) {
+ unless($index{$i}) {
+ $index{$i}=$j;
+ $j++;
+ }
+ }
+ $dummy = 0;
+ foreach $i (@Sats) {
+ $j = $index{$i};
+ if($j eq '') {
+ if($dummy==1) { print LOG "\n"; }
+ print LOG "Error: satellite $i is not found in file!\n";
+ print LOG " Satellites in file are: @svlist\n";
+ }
+ else {
+ if($dummy == 0) { print LOG "Selected Sats:"; $dummy=1; }
+ print LOG " $i";
+ $svselect[$j] = 1;
+ }
+ }
+ if($dummy==1) { print LOG "\n"; }
+ }
+ if($#Obs >= 0) {
+ %index=();
+ $j=0;
+ foreach $i (@obslist) {
+ unless($index{$i}) {
+ $index{$i}=$j;
+ $j++;
+ }
+ }
+ $dummy = 0;
+ foreach $i (@Obs) {
+ $j = $index{$i};
+ if($j eq '') {
+ if($dummy==1) { print LOG "\n"; }
+ print LOG "Error: obs type $i is not found in file!\n";
+ print LOG " Obs types in file are: @obslist\n";
+ }
+ else {
+ if($dummy == 0) { print LOG "Selected Obs:"; $dummy=1; }
+ print LOG " $i";
+ $obsselect[$j] = 1;
+ }
+ }
+ if($dummy==1) { print LOG "\n"; }
+ }
+ if($CFG{'refresh'} eq 'on' && $#Obs >= 0 && $#Sats >= 0) {
+ # NewScale requires $XMin,$XMax,$YMin,$YMax as input
+ ($XMin,$XMax,$YMin,$YMax)
+ = ($CFG{'XMin'},$CFG{'XMax'},$CFG{'YMin'},$CFG{'YMax'});
+ NewScale('fixed','Command line');
+ if($LimitsSet == 1) {
+ $FirstAutoscale = 0;
+ $LimitsSet = 0;
+ }
+ else { $FirstAutoscale = 1; }
+ $Reconfigure = 1;
+ ConfigureCurves();
+ Refresh();
+ }
+ }
+ if($CFG{'help'} eq 'on') { HelpTopi(); }
+
+ $LimitsSet = 0;
+ # delete these, as they are used only for cmdline and config file input
+ delete($OPT{'load'});
+ delete($OPT{'AO'});
+ delete($CFG{'create'});
+ delete($OPT{'sat'});
+ delete($OPT{'obs'});
+ delete($CFG{'refresh'});
+ delete($CFG{'help'});
+}
+
+#-------------------------------------------------------------------------------------
+#-------------------------------------------------------------------------------------
+# Create the menubar and everything under it.
+sub create_menu {
+ [
+ [ 'cascade', '~File', -tearoff => $menutear, -menuitems =>
+ [
+ ['command', '~Load File ...', -accelerator => 'Ctrl-L',
+ -command => \&FileLoad ],
+ ['command', '~Save File', -accelerator => 'Ctrl-S', -command => \&FileSave ],
+ ['command', 'Save ~As ...', -command => \&FileSaAs ],
+ ['command', '~Output as command ...', -command => \&OutputCommand ],
+ '',
+ ['command', '~Rinex Obs File ...', -command => \&FileInpu ],
+ '',
+ ['command', 'View ~Data Summary ...', -command => \&FileSumm ],
+ ['command', '~View Selections ...', -command => \&FileSele ],
+ ['command', '~Clear all selections', -command => \&FileClea ],
+ '',
+ ['command', '~Exit', -accelerator => 'Ctrl-Q', -command => \&FileExit ],
+ ],
+ ],
+
+ [ 'cascade', '~Compute', -tearoff => $menutear, -menuitems =>
+ [
+ ['command', 'New ~Data types...', -command => \&CompObst ],
+ ['command', '~Nav File...', -command => \&CompNavf ],
+ ['cascade', '~Rx Position', -tearoff => $menutear, -menuitems =>
+ [
+ ['command', '~Select Rx...', -command => \&CompPosnSele ],
+ ['command', '~RAIM Solution', -command => \&CompPosnRAIM ],
+ ],
+ ],
+ ['command', 'Con~figure...', -command => \&CompConf ],
+ '',
+ ['command', '~Create new data', -command => \&CompCrea ],
+ ],
+ ],
+
+ [ 'cascade', '~DataSet', -tearoff => $menutear, -menuitems =>
+ [
+ ['command', '~Satellites', -command => \&DataSats ],
+ ['command', '~Obs types', -command => \&DataObst ],
+ ['command', '~Times', -command => \&DataTime ],
+ ['command', '~Configure', -command => \&DataConf ],
+ ],
+ ],
+
+ [ 'cascade', '~Graph', -tearoff => $menutear, -menuitems =>
+ [
+ ['command', '~AutoScale', -accelerator => ' Ctrl-A',
+ -command => \&AutoScale ],
+ ['command', '~Limits', -command => \&GrapLims ],
+ ['command', '~Axes', -command => \&GrapAxes ],
+ ['command', 'La~bels', -command => \&GrapLabe ],
+ ['command', '~Curves', -command => \&GrapCurv ],
+ ['command', 'Zoom ~In', '-accelerator', ' Ctrl-I',
+ -command => [ \&GrapZoom, 'dummy', 'In' ] ],
+ ['command', 'Zoom ~Out', '-accelerator', ' Ctrl-O',
+ -command => [ \&GrapZoom, 'dummy', 'Out' ] ],
+ ['command', '~UnZoom', '-accelerator', ' Ctrl-U',
+ -command => \&GrapUnzo ],
+ '',
+ ['command', '~Gnuplot', -command => \&GrapGnup ],
+ ],
+ ],
+
+ # this makes Refresh just a button - no menu under it
+ [ 'command', '~Refresh', -command => \&Refresh ],
+
+ [ 'cascade', '~Settings', -tearoff => $menutear, -menuitems =>
+ [
+ ['command', '~Preferences', -command => \&SettPref ],
+ ['command', '~Set Cursor', -command => \&SettCurs ],
+ ],
+ ],
+
+ [ 'cascade', '~Help', -tearoff => $menutear, -menuitems =>
+ [
+ ['command', '~Topics', -command => \&HelpTopi ],
+ ['command', '~About', -command => \&HelpAbou ],
+ ],
+ ],
+
+ ];
+} # end sub create_menu
+
+#-------------------------------------------------------------------------------------
+# initialize: create menu system and define bindings
+sub init {
+ create_screen();
+
+ # key bindings
+ $w_top->bind("<Control-Key-l>", \&FileLoad);
+ $w_top->bind("<Control-Key-s>", \&FileSave);
+ $w_top->bind("<Control-Key-a>", \&AutoScale);
+ $w_top->bind("<Control-Key-q>", \&FileExit);
+ $w_top->bind("<Control-Key-i>", [ \&GrapZoom, "In"] );
+ $w_top->bind("<Control-Key-o>", [ \&GrapZoom, "Out"] );
+ $w_top->bind("<Control-Key-u>", \&GrapUnzo);
+ $w_top->bind("<Control-Key-r>", \&Refresh);
+
+ # mouse bindings
+ $w_canvas->CanvasBind("<ButtonPress-1>",
+ [ \&mouse_events, Ev('x'), Ev('y'), "push left" ]);
+ $w_canvas->CanvasBind("<ButtonPress-3>",
+ [ \&mouse_events, Ev('x'), Ev('y'), "push right" ]);
+ $w_canvas->CanvasBind("<ButtonRelease-1>",
+ [ \&mouse_events, Ev('x'), Ev('y'), "rel left" ]);
+ $w_canvas->CanvasBind("<ButtonRelease-3>",
+ [ \&mouse_events, Ev('x'), Ev('y'), "rel right" ]);
+ $w_canvas->CanvasBind("<Motion>",
+ [ \&mouse_events, Ev('x'), Ev('y'), "motion" ]);
+
+ # window resizing
+ $w_canvas->CanvasBind("<Configure>", \&CanvConf);
+
+ # fonts
+ $w_top->fontCreate(qw/C_small -family courier -size 10/);
+ $w_top->fontCreate(qw/C_big -family courier -size 14 -weight bold/);
+ $w_top->fontCreate(qw/C_vbig -family helvetica -size 24 -weight bold/);
+ $w_top->fontCreate(qw/C_bold -family courier -size 12 -weight bold -slant italic/);
+
+ $MainUp = 1;
+}
+
+#-------------------------------------------------------------------------------------
+sub create_screen {
+ $w_top = MainWindow->new(-title =>'Rinex Plot');
+
+ # menus
+ $w_top->configure(-menu => $menubar = $w_top->Menu(-menuitems => create_menu));
+
+ # status bar - putting statusbar before canvas means when resizing window,
+ # canvas shrinks but status bar stays
+ $statusbar = $w_top->ROText(
+ -height => 1,
+ -relief => 'flat',
+ -background => '#a0b7ce',
+ -foreground => 'white',
+ -borderwidth => 2
+ )->pack(
+ -expand => '0',
+ -fill => 'both',
+ -side => 'bottom',
+ -anchor => 'w');
+ $statusbar->insert('0.0', 'Welcome to Rinex Plot');
+
+ # canvas
+ $w_canvas = $w_top->Canvas(
+ '-width' => $CFG{'width'}+$CFG{'Lmargin'}+$CFG{'Rmargin'},
+ '-height' => $CFG{'height'}+$CFG{'Tmargin'}+$CFG{'Bmargin'},
+ '-border' => 1,
+ # this has no effect ... '-relief' => 'solid',
+ '-background' => $BCOLOR,
+ '-cursor' => $cursor);
+ $w_canvas->pack(-expand => '1', -anchor => 'nw', -fill => 'both');
+
+ # need update here to prevent a <Configure> event that calls CanvConf at odd time
+ $w_top->update;
+}
+
+#-------------------------------------------------------------------------------------
+# execution begins here
+#-------------------------------------------------------------------------------------
+# define default CFG values
+Defaults();
+
+# process command line arguments
+CommandLine();
+
+# create menu and screen and define bindings
+init();
+
+# process any command line input
+ProcessConfig();
+
+# make sure utilities are available
+my($ResCor,$RinSum,$RinexDump)=('ResCor','RinSum','RinexDump');
+if ($^O eq "MSWin32") {
+ $ResCor='ResCor.exe';
+ $RinSum='RinSum.exe';
+ $RinexDump='RinexDump.exe';
+}
+if(not -e $CFG{'prgmdir'} . $SLASH . $RinSum
+ || not -e $CFG{'prgmdir'} . $SLASH . $ResCor
+ || not -e $CFG{'prgmdir'} . $SLASH . $RinexDump) {
+ PopNotice("Error: GPSTk not found",
+ "Error: GPSTk utilities are not found in directory $CFG{'prgmdir'}.\n"
+ . "Go to Settings/Preferences to change this");
+}
+
+MainLoop();
+#-------------------------------------------------------------------------------------
diff --git a/trunk/apps/RinexPlot/alic0320.04o b/trunk/apps/RinexPlot/alic0320.04o
new file mode 100644
index 0000000..edcdacc
--- /dev/null
+++ b/trunk/apps/RinexPlot/alic0320.04o
@@ -0,0 +1,56143 @@
+ 2.10 OBSERVATION DATA G (GPS) RINEX VERSION / TYPE
+teqc 2000Jul20 ARGNET 20040202 03:37:14UTCPGM / RUN BY / DATE
+Solaris 2.7|Ultra 2|cc SC5.0|=+-|*Sparc COMMENT
+BIT 2 OF LLI FLAGS DATA COLLECTED UNDER A/S CONDITION COMMENT
+alic MARKER NAME
+50137M001 MARKER NUMBER
+Geoscience AustraliaGeoscience Australia OBSERVER / AGENCY
+UC2200302004 ASHTECH UZ-12 ZC00 REC # / TYPE / VERS
+318 AOAD/M_T NONE ANT # / TYPE
+ -4052059.5100 4212844.0100 -2545111.4500 APPROX POSITION XYZ
+ 0.0070 0.0000 0.0000 ANTENNA: DELTA H/E/N
+ 1 1 WAVELENGTH FACT L1/2
+ 9 L1 L2 C1 P2 P1 D1 D2 S1 S2# / TYPES OF OBSERV
+ 30.0000 INTERVAL
+Australian Regional GPS Network (ARGN) COMMENT
+ALICE SPRINGS AU012 COMMENT
+ SNR is mapped to RINEX snr flag value [1-9] COMMENT
+ L1: 1 -> 1; 90 -> 5; 210 -> 9 COMMENT
+ L2: 1 -> 1; 150 -> 5; 250 -> 9 COMMENT
+teqc windowed: start @ 2004 Feb 1 00:00:00.000 COMMENT
+teqc windowed: delta = 86398.560 sec COMMENT
+ 2004 2 1 0 0 0.0000000 GPS TIME OF FIRST OBS
+ END OF HEADER
+ 04 2 1 0 0 0.0000000 0 9G 3G20G22G31G15G11G14G25G23
+ -16176747.00843 -12355304.59442 22418150.425 22418155.516 22418149.647
+ -2741.371 -2136.133 50.000 44.000
+ -3817114.94143 -2786970.02742 24599165.143 24599170.366 24599163.560
+ 1731.321 1349.081 43.000 38.000
+ 2098711.48143 1648338.44742 23617627.241 23617628.394 23617626.128
+ -1854.882 -1445.362 48.000 42.000
+ -19862225.61543 -15425988.20742 21722920.988 21722924.617 21722919.051
+ -786.651 -612.975 53.000 47.000
+ -12222589.82943 -9467674.91342 22589840.476 22589845.972 22589839.200
+ -2060.072 -1605.251 52.000 45.000
+ -13290671.44743 -10306106.20142 22581326.277 22581328.858 22581325.694
+ 2935.808 2287.643 53.000 45.000
+ -16242920.33343 -12645631.31542 21509006.854 21509009.199 21509005.339
+ -2448.548 -1907.959 55.000 49.000
+ -17420555.79243 -13563552.55842 21811169.016 21811172.916 21811167.995
+ 2288.533 1783.272 55.000 48.000
+ -15985767.55643 -12394562.48942 22255196.271 22255199.723 22255194.972
+ -1670.581 -1301.751 51.000 44.000
+ 04 2 1 0 0 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ 24878177.576
+ 3334.344 2598.190 41.000
+ -16094412.37643 -12291147.80142 22433818.867 22433824.458 22433817.491
+ -2747.137 -2140.626 51.000 44.000
+ -3869054.26943 -2827442.23642 24589280.998 24589285.923 24589279.917
+ 1730.841 1348.707 42.000 38.000
+ 2154358.07843 1691699.36042 23628215.212 23628219.487 23628214.918
+ -1854.571 -1445.120 47.000 41.000
+ -19838391.04843 -15407415.85242 21727455.838 21727460.112 21727454.529
+ -802.274 -625.148 53.000 47.000
+ -12160634.24743 -9419397.87442 22601630.960 22601636.191 22601629.281
+ -2070.478 -1613.359 51.000 45.000
+ -13378655.25543 -10374665.00442 22564584.425 22564586.371 22564583.258
+ 2930.194 2283.268 52.000 45.000
+ -16169322.24743 -12588282.18542 21523011.934 21523014.612 21523010.767
+ -2457.731 -1915.115 55.000 49.000
+ -17489041.20543 -13616917.79142 21798136.155 21798140.246 21798135.340
+ 2277.291 1774.512 54.000 48.000
+ -15935632.53143 -12355496.27842 22264736.510 22264739.814 22264734.800
+ -1671.670 -1302.600 51.000 44.000
+ 04 2 1 0 1 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ 24859163.483
+ 3329.047 2594.063 42.000
+ -16011909.07843 -12226859.57042 22449519.694 22449524.017 22449517.961
+ -2752.563 -2144.854 51.000 44.000
+ -3920984.08143 -2867906.98042 24579402.855 24579403.071 24579401.125
+ 1731.154 1348.951 43.000 37.000
+ 2209993.90443 1735051.90142 23638802.991 23638806.192 23638801.336
+ -1854.110 -1444.761 48.000 42.000
+ -19814084.51843 -15388475.72742 21732081.899 21732085.248 21732080.148
+ -817.923 -637.342 54.000 47.000
+ -12098356.55543 -9370869.84742 22613481.735 22613487.806 22613480.393
+ -2081.200 -1621.714 51.000 45.000
+ -13466479.65543 -10443099.58842 22547870.860 22547873.842 22547870.402
+ 2925.244 2279.411 52.000 45.000
+ -16095453.99343 -12530722.53842 21537068.466 21537071.336 21537067.292
+ -2466.453 -1921.911 55.000 49.000
+ -17557186.41643 -13670017.92842 21785168.594 21785172.554 21785168.037
+ 2266.020 1765.730 54.000 48.000
+ -15885464.28543 -12316404.16742 22274282.666 22274287.213 22274282.094
+ -1672.633 -1303.350 51.000 45.000
+ 04 2 1 0 1 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ 24840177.063
+ 3322.810 2589.203 43.000
+ -15929237.71443 -12162440.39242 22465251.359 22465255.258 22465250.002
+ -2758.416 -2149.415 51.000 44.000
+ -3972902.54243 -2908362.90442 24569520.795 24569525.732 24569521.001
+ 1730.354 1348.328 43.000 38.000
+ 2265621.72543 1778398.20742 23649387.308 23649392.519 23649387.444
+ -1854.321 -1444.925 47.000 41.000
+ -19789305.35743 -15369167.33542 21736797.232 21736800.540 21736795.935
+ -833.813 -649.724 53.000 47.000
+ -12035754.88343 -9322089.35542 22625394.857 22625399.593 22625393.417
+ -2091.972 -1630.108 51.000 45.000
+ -13554139.66643 -10511406.07342 22531189.333 22531192.016 22531188.323
+ 2919.104 2274.626 52.000 45.000
+ -16021315.77743 -12472952.53342 21551176.135 21551179.195 21551175.120
+ -2475.742 -1929.150 55.000 49.000
+ -17624985.96943 -13722848.72142 21772266.696 21772270.921 21772266.085
+ 2254.137 1756.470 55.000 48.000
+ -15835260.39943 -12277284.29242 22283836.045 22283841.419 22283834.410
+ -1674.138 -1304.523 51.000 44.000
+ 04 2 1 0 2 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ 24821219.612
+ 3318.309 2585.695 43.000
+ -15846401.61943 -12097892.84642 22481014.164 22481018.161 22481012.896
+ -2763.724 -2153.551 51.000 44.000
+ -4024810.71443 -2948810.82442 24559644.512 24559648.125 24559642.553
+ 1730.706 1348.602 44.000 38.000
+ 2321241.26643 1821738.07042 23659971.618 23659976.468 23659971.965
+ -1853.143 -1444.007 47.000 41.000
+ -19764055.83143 -15349492.41342 21741601.788 21741605.812 21741600.581
+ -848.733 -661.350 54.000 47.000
+ -11972830.05843 -9273057.07442 22637368.606 22637374.157 22637367.157
+ -2102.143 -1638.033 51.000 45.000
+ -13641633.38543 -10579582.98542 22514540.256 22514542.771 22514539.352
+ 2914.222 2270.822 52.000 45.000
+ -15946910.53443 -12414974.45742 21565334.946 21565338.451 21565333.986
+ -2483.897 -1935.504 55.000 49.000
+ -17692437.04043 -13775407.98042 21759430.918 21759435.382 21759429.988
+ 2243.509 1748.189 55.000 48.000
+ -15785021.50443 -12238137.13642 22293397.747 22293400.793 22293395.633
+ -1674.606 -1304.888 52.000 44.000
+ 04 2 1 0 2 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ 24802296.679
+ 3312.817 2581.416 43.000
+ -15763404.08143 -12033219.50242 22496808.148 22496812.498 22496806.951
+ -2768.997 -2157.660 51.000 44.000
+ -4076709.35643 -2989251.30742 24549768.094 24549772.416 24549767.054
+ 1730.089 1348.121 44.000 39.000
+ 2376853.20943 1865071.98642 23670557.363 23670557.976 23670554.821
+ -1853.470 -1444.262 49.000 42.000
+ -19738337.43243 -15329452.14342 21746496.102 21746500.025 21746495.019
+ -864.857 -673.914 53.000 47.000
+ -11909582.50043 -9223773.33442 22649404.107 22649409.312 22649403.195
+ -2113.364 -1646.777 50.000 45.000
+ -13728958.27943 -10647628.33342 22497923.595 22497925.516 22497921.871
+ 2908.259 2266.176 53.000 45.000
+ -15872240.87743 -12356790.33842 21579544.316 21579547.533 21579543.604
+ -2493.212 -1942.762 55.000 48.000
+ -17759536.47643 -13827693.21742 21746662.745 21746666.907 21746661.595
+ 2230.937 1738.392 54.000 48.000
+ -15734747.35243 -12198962.50242 22302963.602 22302968.470 22302962.619
+ -1676.246 -1306.166 51.000 44.000
+ 04 2 1 0 3 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ 24783403.329
+ 3306.912 2576.815 45.000
+ -15680245.94643 -11968421.02642 22512632.166 22512638.462 22512630.721
+ -2774.517 -2161.961 51.000 44.000
+ -4128597.40443 -3029683.55242 24539893.036 24539897.940 24539891.869
+ 1729.317 1347.520 44.000 38.000
+ 2432459.58643 1908401.55942 23681136.760 23681141.108 23681135.659
+ -1853.608 -1444.370 48.000 42.000
+ -19712150.28343 -15309046.62042 21751478.813 21751482.826 21751477.699
+ -880.705 -686.264 53.000 47.000
+ -11846010.73643 -9174236.97042 22661502.109 22661506.362 22661500.186
+ -2124.600 -1655.532 50.000 44.000
+ -13816110.34243 -10715539.02042 22481338.430 22481341.161 22481337.497
+ 2902.010 2261.306 52.000 45.000
+ -15797307.57543 -12298400.78342 21593803.833 21593806.571 21593802.711
+ -2502.237 -1949.795 55.000 48.000
+ -17826279.60343 -13879700.82642 21733961.585 21733965.952 21733960.941
+ 2218.614 1728.790 55.000 48.000
+ -15684436.07843 -12159758.95742 22312537.372 22312541.222 22312535.292
+ -1677.723 -1307.317 51.000 44.000
+ 04 2 1 0 3 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -1511699.89653 -760932.88752 24764537.876 24764547.734 24764537.763
+ 3301.542 2572.630 45.000 36.000
+ -15596932.12043 -11903501.23342 22528487.200 22528491.331 22528485.789
+ -2779.647 -2165.959 50.000 44.000
+ -4180477.26243 -3070109.38642 24530019.886 24530025.067 24530018.434
+ 1729.433 1347.610 43.000 38.000
+ 2488059.05343 1951725.76042 23691717.639 23691720.371 23691715.604
+ -1853.164 -1444.024 48.000 42.000
+ -19685498.00343 -15288278.64942 21756550.817 21756554.721 21756549.161
+ -896.182 -698.324 53.000 47.000
+ -11782117.06243 -9124449.73042 22673660.416 22673665.384 22673659.018
+ -2135.143 -1663.748 51.000 45.000
+ -13903088.76343 -10783314.39342 22464787.622 22464791.145 22464786.380
+ 2896.384 2256.923 53.000 45.000
+ -15722115.23143 -12239809.37942 21608112.583 21608115.397 21608111.476
+ -2510.745 -1956.425 55.000 48.000
+ -17892665.49043 -13931430.08042 21721328.682 21721333.162 21721327.855
+ 2206.882 1719.648 54.000 48.000
+ -15634089.68143 -12120528.02642 22322117.381 22322122.769 22322116.323
+ -1678.975 -1308.292 50.000 44.000
+ 04 2 1 0 4 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -1610655.09143 -838040.82642 24745708.678 24745719.580 24745707.952
+ 3295.438 2567.874 46.000 36.000
+ -15513463.03143 -11838460.45442 22544370.242 22544375.784 22544368.402
+ -2785.132 -2170.233 50.000 44.000
+ -4232346.83143 -3110527.18642 24520150.135 24520153.937 24520149.626
+ 1728.610 1346.969 45.000 39.000
+ 2543654.82043 1995047.08842 23702296.286 23702300.208 23702294.761
+ -1853.404 -1444.211 48.000 41.000
+ -19658379.51243 -15267147.39642 21761710.953 21761715.325 21761710.518
+ -912.035 -710.677 53.000 47.000
+ -11717898.99643 -9074409.71442 22685881.334 22685886.453 22685879.861
+ -2146.267 -1672.416 52.000 45.000
+ -13989888.26143 -10850950.35242 22448269.956 22448273.241 22448269.139
+ 2890.001 2251.949 52.000 45.000
+ -15646663.63143 -12181015.96842 21622470.430 21622473.453 21622469.265
+ -2519.558 -1963.292 55.000 48.000
+ -17958688.08843 -13982876.22342 21708764.951 21708769.937 21708763.808
+ 2194.347 1709.881 54.000 48.000
+ -15583705.27843 -12081267.49942 22331705.898 22331710.002 22331704.478
+ -1680.257 -1309.291 50.000 44.000
+ 04 2 1 0 4 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -1709443.85043 -915019.04442 24726908.359 24726916.170 24726907.401
+ 3290.204 2563.795 43.000 36.000
+ -15429845.07343 -11773303.68042 22560282.038 22560287.126 22560280.870
+ -2789.731 -2173.816 50.000 44.000
+ -4284210.29343 -3150940.25142 24510281.592 24510284.522 24510279.978
+ 1728.860 1347.164 46.000 39.000
+ 2599243.43143 2038362.81842 23712873.584 23712878.391 23712873.490
+ -1852.530 -1443.530 48.000 42.000
+ -19630800.31043 -15245657.14942 21766959.951 21766963.482 21766958.889
+ -926.953 -722.301 53.000 47.000
+ -11653360.72043 -9024120.19642 22698161.896 22698168.094 22698160.309
+ -2156.543 -1680.423 51.000 45.000
+ -14076510.44643 -10918448.14542 22431785.827 22431789.609 22431784.945
+ 2884.558 2247.708 52.000 45.000
+ -15570958.78843 -12122025.22642 21636876.811 21636879.424 21636875.884
+ -2527.515 -1969.492 55.000 48.000
+ -18024348.16143 -14034039.88642 21696271.148 21696274.967 21696269.752
+ 2182.717 1700.818 55.000 48.000
+ -15533286.39043 -12041980.10142 22341299.604 22341304.758 22341298.490
+ -1681.085 -1309.936 50.000 43.000
+ 04 2 1 0 5 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -1808063.68243 -991865.61342 24708142.536 24708149.514 24708142.362
+ 3284.047 2558.998 44.000 37.000
+ -15346080.30343 -11708032.52042 22576221.429 22576227.889 22576220.863
+ -2795.083 -2177.987 49.000 44.000
+ -4336067.88543 -3191348.77542 24500413.255 24500416.176 24500412.015
+ 1728.098 1346.570 46.000 39.000
+ 2654826.00743 2081673.83342 23723453.229 23723454.801 23723451.336
+ -1853.100 -1443.974 50.000 42.000
+ -19602761.69643 -15223808.90742 21772295.264 21772299.155 21772294.061
+ -942.780 -734.634 53.000 47.000
+ -11588502.08543 -8973581.06142 22710504.219 22710509.679 22710502.667
+ -2167.881 -1689.258 51.000 44.000
+ -14162952.04243 -10985805.22242 22415336.748 22415338.983 22415335.712
+ 2877.796 2242.438 52.000 45.000
+ -15495002.93843 -12062838.87942 21651330.774 21651333.280 21651329.425
+ -2536.528 -1976.515 55.000 48.000
+ -18089641.68343 -14084917.93442 21683845.735 21683849.643 21683844.801
+ 2169.791 1690.746 55.000 48.000
+ -15482832.39043 -12002665.34342 22350900.686 22350906.058 22350898.933
+ -1683.177 -1311.566 50.000 44.000
+ 04 2 1 0 5 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -1906514.97143 -1068580.85742 24689406.348 24689413.171 24689405.454
+ 3279.001 2555.066 44.000 37.000
+ -15262173.92043 -11642650.99542 22592189.198 22592194.733 22592188.424
+ -2799.147 -2181.153 50.000 44.000
+ -4387922.03343 -3231754.59942 24490545.356 24490549.860 24490544.146
+ 1728.182 1346.635 46.000 39.000
+ 2710401.16943 2124979.11742 23734028.191 23734030.530 23734026.910
+ -1852.475 -1443.487 49.000 42.000
+ -19574267.34643 -15201605.55442 21777717.602 21777721.281 21777716.158
+ -957.445 -746.061 53.000 47.000
+ -11523325.57243 -8922794.23342 22722906.160 22722912.465 22722905.225
+ -2177.819 -1697.002 50.000 44.000
+ -14249212.30743 -11053020.98342 22398921.357 22398924.732 22398920.889
+ 2872.347 2238.192 52.000 45.000
+ -15418800.41943 -12003460.33242 21665830.784 21665834.853 21665830.226
+ -2544.136 -1982.444 54.000 48.000
+ -18154568.03143 -14135509.87942 21671491.264 21671494.706 21671490.152
+ 2158.153 1681.678 55.000 48.000
+ -15432345.18143 -11963324.68742 22360509.080 22360513.203 22360506.800
+ -1683.501 -1311.819 50.000 44.000
+ 04 2 1 0 6 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -2004790.58943 -1145159.19142 24670707.575 24670712.916 24670706.516
+ 3273.474 2550.759 45.000 38.000
+ -15178123.84043 -11577157.49942 22608183.224 22608188.132 22608181.471
+ -2803.723 -2184.719 50.000 44.000
+ -4439768.01043 -3272154.07442 24480680.284 24480683.469 24480677.969
+ 1728.363 1346.776 46.000 39.000
+ 2765974.42143 2168282.88742 23744601.427 23744605.743 23744601.528
+ -1851.969 -1443.093 48.000 41.000
+ -19545313.77343 -15179044.36742 21783227.093 21783231.536 21783225.435
+ -972.458 -757.759 53.000 47.000
+ -11457826.05043 -8871755.70242 22735371.291 22735376.760 22735369.387
+ -2188.413 -1705.257 50.000 44.000
+ -14335283.56143 -11120089.48642 22382542.841 22382546.650 22382541.981
+ 2866.251 2233.442 52.000 45.000
+ -15342348.61243 -11943887.53542 21680379.611 21680382.788 21680378.519
+ -2552.182 -1988.713 55.000 48.000
+ -18219118.86243 -14185809.20442 21659206.861 21659211.382 21659205.959
+ 2145.661 1671.944 55.000 48.000
+ -15381819.14743 -11923953.79542 22370123.627 22370128.323 22370122.585
+ -1684.537 -1312.626 50.000 44.000
+ 04 2 1 0 6 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -2102912.35743 -1221617.62742 24652034.364 24652041.427 24652033.652
+ 3266.772 2545.537 44.000 38.000
+ -15093956.16543 -11511572.35842 22624200.313 22624205.322 22624199.177
+ -2808.796 -2188.672 50.000 44.000
+ -4491629.92143 -3312565.93442 24470810.998 24470815.989 24470808.731
+ 1727.675 1346.240 46.000 39.000
+ 2821522.93843 2211567.39242 23755173.264 23755176.254 23755171.663
+ -1852.504 -1443.510 47.000 41.000
+ -19515926.33343 -15156145.10042 21788819.321 21788823.268 21788818.314
+ -988.105 -769.952 53.000 47.000
+ -11392027.50943 -8820484.17242 22747891.956 22747897.037 22747891.686
+ -2199.554 -1713.938 51.000 44.000
+ -14421186.80843 -11187027.06142 22366195.699 22366199.198 22366194.520
+ 2859.388 2228.095 52.000 45.000
+ -15265673.42243 -11884140.67642 21694970.282 21694973.697 21694969.262
+ -2560.801 -1995.429 55.000 48.000
+ -18283314.58043 -14235831.81942 21646991.148 21646994.959 21646989.606
+ 2132.710 1661.852 55.000 48.000
+ -15331277.86843 -11884571.02442 22379741.394 22379746.158 22379741.016
+ -1686.170 -1313.899 50.000 44.000
+ 04 2 1 0 7 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -2200835.61543 -1297921.38242 24633399.624 24633408.948 24633398.686
+ 3260.981 2541.024 43.000 38.000
+ -15009630.89743 -11445864.42542 22640247.057 22640251.583 22640245.491
+ -2813.168 -2192.079 51.000 44.000
+ -4543465.61043 -3352957.36142 24460947.722 24460949.561 24460944.179
+ 1727.767 1346.312 45.000 39.000
+ 2877089.86943 2254866.20042 23765747.826 23765749.094 23765746.954
+ -1852.174 -1443.252 49.000 41.000
+ -19486064.08143 -15132875.85042 21794502.372 21794505.089 21794500.995
+ -1003.058 -781.604 53.000 47.000
+ -11325887.88043 -8768946.84942 22760478.030 22760483.159 22760476.232
+ -2209.975 -1722.058 50.000 44.000
+ -14506876.93243 -11253798.57642 22349889.485 22349892.951 22349889.021
+ 2852.984 2223.104 52.000 45.000
+ -15188734.42443 -11824188.24542 21709612.272 21709615.345 21709611.152
+ -2568.797 -2001.660 55.000 48.000
+ -18347109.56643 -14285542.16742 21634851.463 21634854.908 21634850.325
+ 2120.039 1651.978 55.000 48.000
+ -15280678.27343 -11845142.79842 22389368.931 22389375.383 22389367.459
+ -1687.280 -1314.764 50.000 44.000
+ 04 2 1 0 7 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -2298581.06343 -1374086.58042 24614798.883 24614807.748 24614798.177
+ 3255.307 2536.603 43.000 38.000
+ -14925173.35243 -11380053.41542 22656318.452 22656323.605 22656317.433
+ -2817.322 -2195.316 50.000 43.000
+ -4595298.02443 -3393346.22242 24451082.983 24451087.991 24451081.983
+ 1727.949 1346.454 45.000 39.000
+ 2932653.54843 2298162.53042 23776319.234 23776324.933 23776319.661
+ -1851.950 -1443.078 47.000 41.000
+ -19455751.37643 -15109255.59242 21800270.623 21800274.299 21800269.448
+ -1017.932 -793.194 53.000 47.000
+ -11259430.15843 -8717161.67742 22773124.757 22773130.186 22773123.395
+ -2220.472 -1730.238 50.000 45.000
+ -14592373.25243 -11320419.08042 22333621.272 22333623.344 22333619.170
+ 2846.845 2218.321 53.000 45.000
+ -15111556.70143 -11764049.80142 21724298.204 21724300.860 21724296.940
+ -2576.376 -2007.566 55.000 48.000
+ -18410523.32143 -14334955.46642 21622784.563 21622787.465 21622783.200
+ 2107.598 1642.284 55.000 48.000
+ -15230042.70943 -11805686.56142 22399006.509 22399010.619 22399004.456
+ -1688.339 -1315.589 51.000 44.000
+ 04 2 1 0 8 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -2396152.82143 -1450116.44042 24596233.318 24596239.409 24596231.182
+ 3249.411 2532.009 45.000 38.000
+ -14840592.51943 -11314146.35042 22672412.767 22672416.883 22672412.935
+ -2821.302 -2198.417 50.000 43.000
+ -4647133.65543 -3433737.62042 24441218.663 24441223.565 24441216.970
+ 1728.110 1346.579 45.000 39.000
+ 2988208.45443 2341452.01442 23786894.158 23786895.326 23786891.429
+ -1851.638 -1442.835 49.000 41.000
+ -19424995.99443 -15085290.39242 21806123.256 21806127.502 21806121.780
+ -1032.597 -804.621 53.000 47.000
+ -11192660.51243 -8665133.44742 22785830.910 22785836.232 22785829.101
+ -2230.787 -1738.275 51.000 45.000
+ -14677679.73143 -11386891.64942 22317387.470 22317389.585 22317387.015
+ 2840.283 2213.208 53.000 46.000
+ -15034148.73643 -11703731.94842 21739028.434 21739031.432 21739027.295
+ -2583.974 -2013.486 55.000 48.000
+ -18473558.28743 -14384073.61142 21610789.310 21610792.470 21610788.181
+ 2094.926 1632.410 55.000 49.000
+ -15179376.87143 -11766206.73042 22408647.747 22408651.487 22408645.393
+ -1689.184 -1316.247 51.000 44.000
+ 04 2 1 0 8 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -2493542.32843 -1526004.28742 24577701.079 24577707.648 24577698.738
+ 3243.606 2527.485 44.000 38.000
+ -14755884.52143 -11248140.19842 22688532.853 22688539.312 22688531.156
+ -2825.340 -2201.564 50.000 43.000
+ -4698966.12543 -3474126.54642 24431355.364 24431359.094 24431355.026
+ 1727.844 1346.372 46.000 39.000
+ 3043761.76443 2384740.26342 23797463.573 23797466.193 23797463.199
+ -1851.508 -1442.733 48.000 41.000
+ -19393792.88443 -15060976.30842 21812060.667 21812065.229 21812059.603
+ -1047.439 -816.186 53.000 47.000
+ -11125572.54343 -8612857.19042 22798597.145 22798602.185 22798595.578
+ -2241.409 -1746.552 51.000 44.000
+ -14762786.88543 -11453208.90442 22301192.418 22301195.054 22301191.395
+ 2833.777 2208.138 53.000 46.000
+ -14956506.28643 -11643231.37542 21753803.220 21753806.530 21753802.218
+ -2591.714 -2019.517 54.000 48.000
+ -18536204.59843 -14432888.90342 21598867.411 21598871.717 21598866.417
+ 2081.887 1622.250 55.000 49.000
+ -15128673.77743 -11726697.84642 22418294.845 22418299.518 22418294.512
+ -1690.516 -1317.285 50.000 44.000
+ 04 2 1 0 9 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -2590748.45243 -1601749.22942 24559203.266 24559210.142 24559201.601
+ 3237.513 2522.737 46.000 39.000
+ -14671052.70143 -11182037.55942 22704677.791 22704682.680 22704675.662
+ -2829.477 -2204.787 51.000 44.000
+ -4750796.92443 -3514514.20642 24421491.947 24421495.179 24421490.862
+ 1727.821 1346.354 46.000 38.000
+ 3099313.34743 2428027.13942 23808034.880 23808037.656 23808034.694
+ -1851.504 -1442.730 47.000 40.000
+ -19362144.63443 -15036315.37342 21818083.662 21818087.860 21818081.697
+ -1062.192 -827.682 53.000 47.000
+ -11058167.35443 -8560333.70942 22811423.022 22811428.889 22811421.863
+ -2251.833 -1754.675 50.000 44.000
+ -14847693.04043 -11519369.53842 22285034.724 22285037.450 22285033.788
+ 2827.078 2202.918 53.000 45.000
+ -14878632.57343 -11582550.60242 21768622.443 21768625.174 21768621.124
+ -2599.328 -2025.450 54.000 48.000
+ -18598460.25643 -14481399.79142 21587021.283 21587024.633 21587020.200
+ 2068.856 1612.095 55.000 49.000
+ -15077933.77743 -11687160.22642 22427951.983 22427956.117 22427949.969
+ -1691.714 -1318.219 51.000 44.000
+ 04 2 1 0 9 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -2687770.56843 -1677350.83642 24540739.906 24540746.980 24540738.590
+ 3231.247 2517.855 46.000 39.000
+ -14586101.11443 -11115841.59242 22720841.569 22720847.764 22720841.012
+ -2833.624 -2208.019 50.000 43.000
+ -4802627.66243 -3554901.81642 24411627.689 24411633.707 24411626.673
+ 1727.727 1346.281 45.000 38.000
+ 3154862.68343 2471312.25442 23818604.847 23818609.747 23818604.349
+ -1851.476 -1442.708 48.000 41.000
+ -19330054.47243 -15011310.08442 21824189.774 21824194.011 21824188.396
+ -1076.964 -839.193 53.000 47.000
+ -10990446.96043 -8507564.61942 22824311.002 22824316.795 22824309.662
+ -2262.451 -1762.949 51.000 44.000
+ -14932396.50743 -11585372.22742 22268916.272 22268918.530 22268915.760
+ 2820.136 2197.509 53.000 46.000
+ -14800530.99443 -11521692.27242 21783484.588 21783487.798 21783483.354
+ -2607.019 -2031.443 55.000 48.000
+ -18660323.61243 -14529604.98842 21575248.892 21575252.325 21575247.642
+ 2055.564 1601.738 55.000 48.000
+ -15027158.06843 -11647594.77442 22437614.045 22437618.035 22437612.941
+ -1693.105 -1319.302 51.000 44.000
+ 04 2 1 0 10 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -2784606.31243 -1752807.17542 24522312.045 24522319.554 24522311.873
+ 3225.257 2513.187 46.000 39.000
+ -14501032.15943 -11049554.17242 22737030.012 22737035.634 22737029.887
+ -2836.956 -2210.615 50.000 43.000
+ -4854458.02543 -3595289.12342 24401766.195 24401769.703 24401766.308
+ 1727.808 1346.344 45.000 38.000
+ 3210411.00743 2514596.62142 23829177.043 23829180.426 23829175.890
+ -1851.362 -1442.620 49.000 41.000
+ -19297523.52143 -14985961.32842 21830380.318 21830384.191 21830379.270
+ -1091.249 -850.324 53.000 47.000
+ -10922411.05943 -8454549.68042 22837258.033 22837263.145 22837255.606
+ -2272.799 -1771.012 51.000 44.000
+ -15016893.84843 -11651214.29542 22252836.728 22252839.639 22252835.657
+ 2813.561 2192.385 53.000 46.000
+ -14722203.36843 -11460657.79542 21798390.352 21798393.123 21798388.748
+ -2614.262 -2037.087 55.000 48.000
+ -18721790.92743 -14577501.57942 21563551.453 21563555.511 21563550.564
+ 2042.748 1591.752 55.000 49.000
+ -14976345.51443 -11608000.59942 22447282.243 22447287.225 22447280.577
+ -1694.036 -1320.028 50.000 44.000
+ 04 2 1 0 10 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -2881254.78043 -1828117.58742 24503919.980 24503927.622 24503918.736
+ 3218.252 2507.729 45.000 39.000
+ -14415849.38743 -10983178.05742 22753240.063 22753244.519 22753239.440
+ -2841.655 -2214.277 50.000 43.000
+ -4906289.38443 -3635677.17642 24391902.332 24391907.375 24391901.526
+ 1727.544 1346.138 44.000 38.000
+ 3265958.28643 2557880.15242 23839747.079 23839749.823 23839746.274
+ -1851.976 -1443.098 48.000 41.000
+ -19264554.57843 -14960271.28042 21836654.496 21836658.005 21836653.345
+ -1106.644 -862.320 53.000 47.000
+ -10854060.82143 -8401289.83142 22850264.240 22850268.699 22850262.613
+ -2284.000 -1779.740 50.000 44.000
+ -15101182.93643 -11716894.08542 22236797.111 22236799.979 22236796.276
+ 2805.786 2186.327 53.000 46.000
+ -14643652.59843 -11399449.43742 21813337.836 21813340.475 21813336.873
+ -2622.418 -2043.442 55.000 48.000
+ -18782860.04143 -14625087.88842 21551930.972 21551934.365 21551929.585
+ 2028.506 1580.654 56.000 49.000
+ -14925496.82243 -11568378.27942 22456959.134 22456963.148 22456958.081
+ -1696.053 -1321.600 50.000 44.000
+ 04 2 1 0 11 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -2977715.12343 -1903281.42042 24485565.067 24485571.579 24485563.172
+ 3211.738 2502.653 46.000 39.000
+ -14330556.45543 -10916716.10342 22769471.389 22769474.969 22769469.328
+ -2845.318 -2217.131 50.000 42.000
+ -4958123.22843 -3676067.18142 24382038.659 24382042.949 24382037.838
+ 1727.506 1346.109 44.000 39.000
+ 3321503.76343 2601162.30242 23850315.518 23850321.173 23850315.560
+ -1851.952 -1443.079 48.000 41.000
+ -19231150.34143 -14934242.04142 21843010.715 21843014.036 21843009.354
+ -1121.119 -873.599 53.000 46.000
+ -10785397.61043 -8347786.10142 22863330.470 22863336.190 22863328.167
+ -2294.391 -1787.837 51.000 44.000
+ -15185263.08843 -11782411.07942 22220797.121 22220800.275 22220796.711
+ 2798.813 2180.893 54.000 46.000
+ -14564882.66243 -11338070.29942 21828327.209 21828329.971 21828326.039
+ -2629.665 -2049.090 55.000 48.000
+ -18843528.29843 -14672361.84042 21540385.503 21540389.979 21540384.932
+ 2015.294 1570.359 55.000 49.000
+ -14874612.48043 -11528728.19342 22466642.148 22466646.990 22466640.327
+ -1697.088 -1322.406 50.000 44.000
+ 04 2 1 0 11 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -3073983.76743 -1978295.89342 24467245.671 24467251.761 24467243.157
+ 3205.795 2498.022 45.000 39.000
+ -14245154.67443 -10850169.33442 22785720.849 22785725.699 22785719.959
+ -2848.437 -2219.561 49.000 42.000
+ -5009958.40843 -3716458.22242 24372175.026 24372180.281 24372174.009
+ 1727.919 1346.430 45.000 39.000
+ 3377050.19243 2644445.15742 23860888.498 23860890.551 23860887.829
+ -1851.347 -1442.608 49.000 42.000
+ -19197311.26643 -14907873.96842 21849449.582 21849454.255 21849448.542
+ -1135.010 -884.423 52.000 46.000
+ -10716420.44043 -8294037.72242 22876456.359 22876461.583 22876455.386
+ -2304.295 -1795.554 51.000 44.000
+ -15269129.45443 -11847761.48742 22204838.798 22204840.836 22204837.201
+ 2792.093 2175.657 54.000 46.000
+ -14485893.97743 -11276520.71642 21843358.194 21843361.048 21843357.449
+ -2636.325 -2054.279 55.000 47.000
+ -18903791.56243 -14719320.20342 21528918.139 21528921.807 21528917.136
+ 2002.191 1560.149 55.000 49.000
+ -14823690.71543 -11489048.91642 22476332.148 22476336.932 22476330.721
+ -1697.802 -1322.962 50.000 44.000
+ 04 2 1 0 12 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -3170062.31743 -2053162.22542 24448961.536 24448970.080 24448960.728
+ 3199.219 2492.898 45.000 38.000
+ -14159649.92143 -10783542.32342 22801992.783 22801998.887 22801991.084
+ -2852.011 -2222.346 50.000 43.000
+ -5061798.64243 -3756853.20542 24362309.300 24362316.470 24362307.880
+ 1727.801 1346.338 46.000 39.000
+ 3432594.86343 2687726.66242 23871456.423 23871458.312 23871455.774
+ -1851.760 -1442.930 49.000 42.000
+ -19163042.44143 -14881171.02442 21855970.888 21855975.876 21855969.887
+ -1149.646 -895.828 52.000 46.000
+ -10647132.99743 -8240047.58442 22889641.547 22889647.347 22889639.447
+ -2314.978 -1803.879 50.000 44.000
+ -15352782.48343 -11912945.65042 22188919.587 22188921.936 22188918.024
+ 2784.588 2169.809 53.000 46.000
+ -14406692.14643 -11214805.02442 21858429.592 21858432.815 21858428.807
+ -2643.784 -2060.091 54.000 47.000
+ -18963649.99343 -14765963.12842 21517527.716 21517531.551 21517526.881
+ 1988.289 1549.316 56.000 49.000
+ -14772734.28843 -11449342.64842 22486029.172 22486033.692 22486028.432
+ -1699.126 -1323.994 50.000 44.000
+ 04 2 1 0 12 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -3265944.64043 -2127875.64842 24430715.275 24430722.532 24430714.583
+ 3192.711 2487.827 43.000 38.000
+ -14074040.68843 -10716833.91542 22818285.508 22818289.299 22818284.544
+ -2855.417 -2225.000 50.000 43.000
+ -5113639.90143 -3797249.02342 24352444.784 24352449.984 24352443.419
+ 1727.913 1346.426 45.000 39.000
+ 3488142.45443 2731010.47742 23882027.955 23882032.340 23882026.483
+ -1851.655 -1442.848 49.000 42.000
+ -19128341.57043 -14854131.41542 21862574.855 21862578.913 21862573.489
+ -1163.983 -907.000 53.000 46.000
+ -10577531.63643 -8185812.83842 22902887.041 22902891.624 22902884.593
+ -2325.198 -1811.842 51.000 44.000
+ -15436215.33943 -11977958.25042 22173042.432 22173044.668 22173041.282
+ 2777.300 2164.130 53.000 46.000
+ -14327275.58943 -11152922.03042 21873542.547 21873545.082 21873540.721
+ -2650.799 -2065.558 54.000 47.000
+ -19023096.43443 -14812285.02542 21506215.458 21506218.906 21506214.273
+ 1974.576 1538.631 56.000 49.000
+ -14721738.64343 -11409605.81342 22495733.272 22495737.817 22495731.990
+ -1700.617 -1325.156 50.000 43.000
+ 04 2 1 0 13 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -3361633.66643 -2202438.40542 24412507.629 24412515.123 24412506.971
+ 3187.502 2483.768 44.000 38.000
+ -13988334.49443 -10650049.94342 22834593.445 22834598.296 22834592.950
+ -2857.751 -2226.819 50.000 43.000
+ -5165487.51143 -3837649.74342 24342579.124 24342583.913 24342577.126
+ 1729.358 1347.552 45.000 39.000
+ 3543688.89543 2774293.37042 23892598.372 23892601.715 23892596.352
+ -1850.380 -1441.854 50.000 42.000
+ -19093215.40843 -14826760.41742 21869259.100 21869263.761 21869257.809
+ -1177.160 -917.267 52.000 46.000
+ -10507621.59943 -8131337.56342 22916189.449 22916194.455 22916188.236
+ -2334.641 -1819.201 50.000 44.000
+ -15519430.20443 -12042800.99342 22157207.600 22157209.577 22157205.839
+ 2771.028 2159.243 54.000 46.000
+ -14247651.15443 -11090877.05742 21888693.816 21888697.451 21888692.578
+ -2656.720 -2070.171 53.000 47.000
+ -19082132.42243 -14858287.07742 21494981.171 21494984.580 21494979.938
+ 1961.843 1528.709 56.000 49.000
+ -14670708.29843 -11369841.94842 22505443.181 22505448.453 22505441.899
+ -1700.675 -1325.201 49.000 44.000
+ 04 2 1 0 13 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -3457124.72343 -2276846.92442 24394336.051 24394342.526 24394334.561
+ 3180.288 2478.146 44.000 39.000
+ -13902531.34343 -10583190.43142 22850920.384 22850926.558 22850919.468
+ -2861.208 -2229.513 50.000 43.000
+ -5217338.95443 -3878053.44942 24332709.807 24332716.920 24332709.891
+ 1729.023 1347.291 44.000 39.000
+ 3599237.93643 2817578.25842 23903169.754 23903171.262 23903168.144
+ -1851.189 -1442.485 50.000 42.000
+ -19057663.00943 -14799057.28442 21876023.494 21876028.819 21876022.929
+ -1191.691 -928.590 52.000 46.000
+ -10437400.39643 -8076619.80342 22929552.686 22929557.855 22929551.566
+ -2345.405 -1827.588 51.000 44.000
+ -15602421.57543 -12107469.57842 22141414.470 22141417.801 22141414.479
+ 2763.145 2153.100 54.000 46.000
+ -14167818.41343 -11028669.76042 21903885.670 21903889.281 21903884.401
+ -2663.949 -2075.804 54.000 47.000
+ -19140752.10643 -14903964.74442 21483825.575 21483829.946 21483824.965
+ 1947.559 1517.578 55.000 49.000
+ -14619639.97743 -11330048.47242 22515161.633 22515166.437 22515160.949
+ -1702.311 -1326.476 50.000 44.000
+ 04 2 1 0 14 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -3552418.46643 -2351101.68142 24376202.554 24376209.149 24376201.086
+ 3173.018 2472.482 45.000 39.000
+ -13816636.13643 -10516259.17742 22867266.170 22867272.765 22867265.045
+ -2864.895 -2232.386 49.000 43.000
+ -5269196.88743 -3918462.21442 24322844.193 24322848.680 24322842.671
+ 1728.387 1346.795 45.000 39.000
+ 3654787.67243 2860863.71742 23913738.061 23913741.117 23913737.375
+ -1851.918 -1443.053 48.000 41.000
+ -19021688.55443 -14771025.28742 21882869.840 21882874.236 21882869.130
+ -1206.365 -940.025 53.000 46.000
+ -10366870.67043 -8021661.63242 22942973.585 22942979.583 22942972.629
+ -2356.377 -1836.138 51.000 44.000
+ -15685189.16943 -12171963.80442 22125664.431 22125667.119 22125663.456
+ 2754.958 2146.721 54.000 46.000
+ -14087782.08743 -10966303.83442 21919116.349 21919119.348 21919115.539
+ -2671.542 -2081.721 54.000 47.000
+ -19198955.01343 -14949317.64742 21472750.357 21472754.052 21472749.428
+ 1932.970 1506.210 56.000 49.000
+ -14568535.34543 -11290226.73942 22524886.113 22524890.993 22524885.361
+ -1704.171 -1327.925 50.000 44.000
+ 04 2 1 0 14 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -3647512.91443 -2425201.19442 24358106.272 24358113.899 24358105.065
+ 3166.510 2467.410 45.000 40.000
+ -13730651.43643 -10449258.20242 22883628.055 22883635.488 22883627.657
+ -2867.466 -2234.389 49.000 43.000
+ -5321061.62743 -3958876.28542 24312972.722 24312979.773 24312971.495
+ 1728.976 1347.254 44.000 39.000
+ 3710339.10943 2904150.49742 23924310.831 23924313.752 23924310.041
+ -1851.595 -1442.801 48.000 42.000
+ -18985293.92343 -14742665.87142 21889795.676 21889800.480 21889794.426
+ -1220.098 -950.726 52.000 46.000
+ -10296032.99243 -7966463.51742 22956454.569 22956458.512 22956452.448
+ -2366.321 -1843.886 50.000 44.000
+ -15767729.78843 -12236281.15742 22109957.622 22109960.822 22109956.443
+ 2747.566 2140.961 54.000 46.000
+ -14007544.31243 -10903780.92342 21934385.379 21934388.237 21934384.220
+ -2677.830 -2086.621 54.000 47.000
+ -19256738.00243 -14994343.33542 21461754.536 21461758.386 21461753.322
+ 1919.149 1495.441 55.000 49.000
+ -14517394.11743 -11250376.45642 22534618.489 22534622.878 22534617.203
+ -1705.338 -1328.835 50.000 44.000
+ 04 2 1 0 15 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -3742402.87943 -2499141.34242 24340049.112 24340056.261 24340047.821
+ 3159.830 2462.205 45.000 40.000
+ -13644576.68443 -10382187.05542 22900008.724 22900015.276 22900006.920
+ -2870.483 -2236.740 50.000 43.000
+ -5372930.05243 -3999293.22342 24303103.735 24303110.062 24303102.101
+ 1729.353 1347.548 44.000 39.000
+ 3765896.44143 2947441.85242 23934882.449 23934887.380 23934881.976
+ -1851.814 -1442.972 49.000 42.000
+ -18948477.69643 -14713977.94742 21896802.225 21896806.309 21896800.436
+ -1234.044 -961.593 53.000 46.000
+ -10224884.69343 -7911023.35642 22969992.715 22969998.354 22969991.920
+ -2376.638 -1851.926 51.000 44.000
+ -15850037.58543 -12300417.08742 22094294.838 22094297.977 22094293.737
+ 2739.846 2134.945 53.000 46.000
+ -13927103.97243 -10841100.17542 21949692.440 21949695.980 21949691.435
+ -2684.552 -2091.859 54.000 47.000
+ -19314094.59043 -15039036.76242 21450839.832 21450843.920 21450838.926
+ 1904.982 1484.402 55.000 49.000
+ -14466212.45443 -11210494.68042 22544357.686 22544363.816 22544356.549
+ -1706.615 -1329.830 50.000 44.000
+ 04 2 1 0 15 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -3837092.46643 -2572925.35842 24322031.126 24322037.412 24322028.720
+ 3153.824 2457.525 46.000 40.000
+ -13558420.13343 -10315052.15742 22916403.408 22916409.515 22916402.535
+ -2872.285 -2238.144 50.000 43.000
+ -5424808.40943 -4039717.92842 24293233.746 24293235.811 24293231.544
+ 1730.074 1348.110 47.000 39.000
+ 3821454.61443 2990733.86042 23945454.312 23945458.099 23945453.184
+ -1850.985 -1442.326 48.000 41.000
+ -18911247.66443 -14684967.57942 21903886.597 21903890.334 21903885.403
+ -1246.980 -971.673 52.000 46.000
+ -10153432.11843 -7855346.08942 22983590.010 22983595.133 22983588.901
+ -2385.845 -1859.100 50.000 44.000
+ -15932115.67143 -12364374.03042 22078676.257 22078679.121 22078674.761
+ 2732.914 2129.543 54.000 46.000
+ -13846469.17543 -10778267.89842 21965037.202 21965039.551 21965035.737
+ -2690.105 -2096.186 54.000 47.000
+ -19371027.64143 -15083400.15542 21440005.906 21440009.887 21440004.965
+ 1891.663 1474.023 55.000 49.000
+ -14414995.71143 -11170585.56342 22554103.741 22554109.588 22554102.265
+ -1706.948 -1330.089 49.000 44.000
+ 04 2 1 0 16 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -3931575.97743 -2646548.78042 24304052.399 24304057.879 24304050.073
+ 3145.842 2451.305 46.000 40.000
+ -13472180.80843 -10247852.75842 22932816.017 22932820.431 22932813.332
+ -2876.266 -2241.246 50.000 43.000
+ -5476693.26743 -4080147.66942 24283359.295 24283363.110 24283358.389
+ 1729.132 1347.376 47.000 39.000
+ 3877018.08243 3034030.00142 23956026.463 23956030.475 23956027.393
+ -1852.609 -1443.591 47.000 41.000
+ -18873602.00343 -14655633.34042 21911050.562 21911054.546 21911049.826
+ -1262.050 -983.415 53.000 46.000
+ -10081671.72143 -7799428.98242 22997245.326 22997250.856 22997243.559
+ -2397.563 -1868.231 49.000 43.000
+ -16013957.18243 -12428146.61642 22063101.542 22063104.609 22063101.113
+ 2723.792 2122.435 53.000 46.000
+ -13765638.33343 -10715282.86342 21980417.846 21980421.360 21980417.182
+ -2697.894 -2102.255 53.000 47.000
+ -19427530.55543 -15127428.38342 21429254.019 21429257.191 21429252.815
+ 1875.956 1461.784 56.000 49.000
+ -14363739.49843 -11130645.70142 22563857.561 22563863.172 22563856.497
+ -1709.501 -1332.079 49.000 44.000
+ 04 2 1 0 16 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -4025854.95443 -2720012.83642 24286112.062 24286114.939 24286109.751
+ 3139.369 2446.262 46.000 39.000
+ -13385864.53643 -10180593.41142 22949239.876 22949246.649 22949239.111
+ -2878.245 -2242.788 49.000 43.000
+ -5528588.16843 -4120585.26142 24273483.875 24273486.982 24273481.984
+ 1730.125 1348.149 46.000 39.000
+ 3932584.29043 3077328.30842 23966602.436 23966605.452 23966601.484
+ -1852.049 -1443.155 49.000 42.000
+ -18835545.94343 -14625979.31242 21918293.414 21918296.232 21918291.952
+ -1275.193 -993.657 53.000 46.000
+ -10009607.35843 -7743275.01842 23010958.303 23010965.842 23010955.582
+ -2407.069 -1875.638 49.000 43.000
+ -16095562.62543 -12491735.26642 22047573.287 22047575.683 22047571.724
+ 2716.254 2116.561 53.000 46.000
+ -13684617.03443 -10652149.42742 21995835.808 21995838.947 21995834.924
+ -2703.633 -2106.727 54.000 47.000
+ -19483603.47543 -15171121.56242 21418583.748 21418587.679 21418582.501
+ 1862.008 1450.915 56.000 49.000
+ -14312446.78343 -11090677.40542 22573618.953 22573624.435 22573617.197
+ -1710.451 -1332.819 50.000 44.000
+ 04 2 1 0 17 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -4119927.63443 -2793316.13642 24268207.472 24268215.168 24268207.767
+ 3132.056 2440.563 46.000 39.000
+ -13299474.25643 -10113276.38642 22965679.887 22965685.178 22965677.339
+ -2881.275 -2245.149 50.000 43.000
+ -5580493.81843 -4161031.20242 24263607.310 24263611.973 24263605.490
+ 1729.788 1347.887 47.000 40.000
+ 3988153.94343 3120629.29342 23977177.647 23977180.468 23977176.618
+ -1853.043 -1443.930 48.000 42.000
+ -18797081.76343 -14596007.26542 21925611.943 21925616.056 21925611.053
+ -1289.637 -1004.912 53.000 46.000
+ -9937239.80143 -7686884.78642 23024729.622 23024735.920 23024727.978
+ -2417.856 -1884.044 49.000 43.000
+ -16176929.74043 -12555138.20342 22032089.726 22032091.749 22032088.248
+ 2707.668 2109.871 54.000 46.000
+ -13603407.65443 -10588869.42142 22011290.420 22011292.802 22011289.222
+ -2710.680 -2112.218 54.000 47.000
+ -19539243.12443 -15214477.11842 21407995.626 21407999.390 21407994.577
+ 1846.872 1439.121 56.000 49.000
+ -14261117.25143 -11050680.40542 22583385.616 22583391.344 22583384.195
+ -1712.372 -1334.316 49.000 44.000
+ 04 2 1 0 17 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -4213786.62143 -2866452.96042 24250347.915 24250353.914 24250347.544
+ 3125.313 2435.309 46.000 39.000
+ -13213007.00743 -10045899.39642 22982134.223 22982139.261 22982133.527
+ -2883.051 -2246.533 49.000 43.000
+ -5632404.94243 -4201481.40742 24253726.740 24253733.543 24253725.755
+ 1730.760 1348.644 45.000 39.000
+ 4043733.14843 3163937.69242 23987753.498 23987755.734 23987753.757
+ -1852.667 -1443.637 48.000 42.000
+ -18758205.85543 -14565714.38642 21933009.177 21933014.307 21933008.195
+ -1302.573 -1014.992 51.000 46.000
+ -9864563.96743 -7630254.34142 23038560.401 23038565.350 23038558.702
+ -2427.348 -1891.440 50.000 43.000
+ -16258050.07643 -12618348.83742 22016652.408 22016655.350 22016651.220
+ 2700.361 2104.177 53.000 46.000
+ -13522006.98743 -10525440.36242 22026780.942 22026783.117 22026779.183
+ -2716.147 -2116.478 54.000 47.000
+ -19594441.60043 -15257488.90242 21397491.829 21397495.373 21397490.957
+ 1832.993 1428.306 56.000 49.000
+ -14209744.71743 -11010649.91342 22593162.277 22593166.214 22593161.270
+ -1712.610 -1334.501 49.000 43.000
+ 04 2 1 0 18 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -4307436.61043 -2939426.91242 24232526.344 24232533.485 24232525.741
+ 3118.824 2430.252 44.000 38.000
+ -13126471.86143 -9978469.49842 22998601.196 22998607.710 22998600.202
+ -2885.239 -2248.238 49.000 43.000
+ -5684327.98943 -4241940.92642 24243847.944 24243851.004 24243846.193
+ 1731.564 1349.271 46.000 39.000
+ 4099316.57743 3207249.39642 23998330.728 23998334.815 23998329.575
+ -1852.342 -1443.383 48.000 42.000
+ -18718926.62343 -14535107.23742 21940483.719 21940488.584 21940483.067
+ -1315.405 -1024.991 52.000 46.000
+ -9791586.92943 -7573389.18742 23052446.291 23052452.879 23052444.965
+ -2436.957 -1898.927 50.000 43.000
+ -16338926.95343 -12681369.76842 22001262.188 22001265.252 22001261.519
+ 2692.387 2097.964 54.000 47.000
+ -13440423.58643 -10461868.91542 22042304.849 22042307.723 22042304.002
+ -2721.793 -2120.878 54.000 47.000
+ -19649202.30343 -15300159.57842 21387071.595 21387074.911 21387070.268
+ 1818.568 1417.066 56.000 49.000
+ -14158335.21943 -10970590.60842 22602945.768 22602950.560 22602944.179
+ -1713.840 -1335.460 50.000 44.000
+ 04 2 1 0 18 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -4400876.93343 -3012237.49142 24214745.441 24214751.478 24214743.002
+ 3110.458 2423.734 44.000 38.000
+ -13039872.53843 -9910989.58842 23015079.830 23015085.417 23015078.647
+ -2888.264 -2250.595 49.000 43.000
+ -5736264.37943 -4282410.86542 24233964.616 24233967.157 24233963.487
+ 1730.764 1348.647 47.000 39.000
+ 4154903.81543 3250564.09142 24008908.365 24008911.978 24008907.995
+ -1853.548 -1444.323 47.000 41.000
+ -18679247.19643 -14504188.23642 21948034.854 21948038.897 21948033.023
+ -1329.813 -1036.218 52.000 46.000
+ -9718310.22643 -7516290.52742 23066391.082 23066396.933 23066389.501
+ -2448.143 -1907.644 50.000 43.000
+ -16419558.78043 -12744199.76342 21985918.588 21985921.137 21985917.547
+ 2683.125 2090.747 54.000 47.000
+ -13358660.75043 -10398157.64442 22057864.434 22057866.938 22057862.892
+ -2728.853 -2126.379 54.000 47.000
+ -19703523.20743 -15342487.53542 21376733.915 21376738.001 21376733.128
+ 1802.840 1404.810 56.000 49.000
+ -14106889.24643 -10930502.86742 22612735.478 22612740.798 22612734.111
+ -1716.042 -1337.175 50.000 44.000
+ 04 2 1 0 19 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -4494103.08843 -3084881.16342 24197004.584 24197011.880 24197003.081
+ 3103.260 2418.125 44.000 39.000
+ -12953208.93243 -9843459.59242 23031572.741 23031576.685 23031570.047
+ -2890.156 -2252.070 48.000 42.000
+ -5788211.77943 -4322889.34542 24224079.977 24224082.600 24224077.983
+ 1731.063 1348.880 46.000 39.000
+ 4210498.54043 3293884.59242 24019486.657 24019490.132 24019485.965
+ -1853.732 -1444.466 46.000 41.000
+ -18639166.92943 -14472956.90942 21955661.977 21955665.226 21955660.163
+ -1343.114 -1046.582 52.000 46.000
+ -9644731.71943 -7458956.71542 23080392.584 23080398.225 23080391.492
+ -2458.146 -1915.438 50.000 43.000
+ -16499940.22443 -12806834.63142 21970622.690 21970625.268 21970621.402
+ 2674.685 2084.170 54.000 47.000
+ -13276717.80843 -10334306.03742 22073457.727 22073459.910 22073456.079
+ -2734.885 -2131.079 54.000 47.000
+ -19757398.70243 -15384468.42742 21366481.525 21366485.549 21366481.017
+ 1787.996 1393.244 56.000 49.000
+ -14055403.59743 -10890384.22242 22622533.065 22622536.936 22622531.756
+ -1717.312 -1338.165 50.000 44.000
+ 04 2 1 0 19 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -4587111.87143 -3157355.44042 24179304.880 24179312.196 24179304.466
+ 3096.697 2413.011 43.000 39.000
+ -12866482.20343 -9775880.41942 23048076.170 23048081.952 23048074.877
+ -2891.782 -2253.337 48.000 42.000
+ -5840168.98543 -4363375.45342 24214191.223 24214194.872 24214190.705
+ 1732.203 1349.768 45.000 39.000
+ 4266102.87343 3337212.55942 24030067.819 24030070.996 24030067.321
+ -1853.544 -1444.320 46.000 40.000
+ -18598686.41943 -14441413.70042 21963365.999 21963369.178 21963363.796
+ -1355.981 -1056.608 53.000 46.000
+ -9570850.64443 -7401387.12042 23094452.290 23094458.003 23094451.074
+ -2467.642 -1922.838 50.000 43.000
+ -16580067.25843 -12869271.26942 21955374.944 21955377.884 21955373.673
+ 2666.688 2077.939 54.000 47.000
+ -13194595.88343 -10270314.95442 22089084.782 22089087.636 22089083.441
+ -2740.218 -2135.235 54.000 47.000
+ -19810824.78043 -15426099.12542 21356315.204 21356318.783 21356314.206
+ 1773.413 1381.880 56.000 49.000
+ -14003876.36043 -10850233.16842 22632336.717 22632343.292 22632335.642
+ -1718.129 -1338.802 49.000 43.000
+ 04 2 1 0 20 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -4679906.35043 -3229662.74742 24161646.223 24161653.865 24161647.707
+ 3088.841 2406.889 45.000 39.000
+ -12779699.84243 -9708257.88242 23064590.890 23064594.233 23064589.093
+ -2894.276 -2255.280 49.000 42.000
+ -5892141.12243 -4403873.20642 24204302.409 24204306.075 24204301.218
+ 1731.862 1349.503 46.000 39.000
+ 4321712.89743 3380544.99942 24040650.487 24040656.091 24040649.543
+ -1854.510 -1445.073 47.000 41.000
+ -18557812.61543 -14409564.02042 21971143.607 21971147.110 21971142.153
+ -1369.824 -1067.395 52.000 46.000
+ -9496672.48843 -7343586.00942 23108566.956 23108572.868 23108565.548
+ -2478.298 -1931.141 50.000 43.000
+ -16659941.36843 -12931510.81742 21940175.836 21940178.203 21940173.848
+ 2657.488 2070.770 54.000 47.000
+ -13112301.79943 -10206189.72842 22104744.737 22104747.221 22104743.450
+ -2746.770 -2140.340 54.000 47.000
+ -19863803.09043 -15467380.91842 21346233.259 21346237.804 21346232.822
+ 1757.723 1369.654 56.000 49.000
+ -13952311.74843 -10810053.00042 22642150.443 22642155.057 22642149.591
+ -1720.269 -1340.469 49.000 43.000
+ 04 2 1 0 20 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -4772480.11543 -3301798.08142 24144030.718 24144037.776 24144030.416
+ 3081.804 2401.406 44.000 39.000
+ -12692859.99343 -9640590.55842 23081115.046 23081122.214 23081113.755
+ -2895.578 -2256.294 48.000 42.000
+ -5944123.77543 -4444379.19942 24194408.757 24194414.164 24194407.828
+ 1732.926 1350.332 44.000 39.000
+ 4377333.95643 3423886.04142 24051235.747 24051238.650 24051235.395
+ -1854.390 -1444.979 48.000 41.000
+ -18516542.86643 -14377405.81342 21978997.101 21979000.655 21978996.369
+ -1382.301 -1077.118 53.000 46.000
+ -9422193.36043 -7285550.41142 23122740.752 23122747.292 23122738.341
+ -2487.723 -1938.485 50.000 43.000
+ -16739555.69943 -12993547.95642 21925025.588 21925027.819 21925024.244
+ 2649.415 2064.479 54.000 47.000
+ -13029833.09043 -10141928.43242 22120437.988 22120440.854 22120436.814
+ -2751.838 -2144.289 53.000 47.000
+ -19916326.06043 -15508307.89342 21336239.276 21336242.779 21336238.204
+ 1743.115 1358.271 56.000 49.000
+ -13900704.60943 -10769839.67742 22651971.706 22651975.710 22651969.857
+ -1720.982 -1341.025 50.000 43.000
+ 04 2 1 0 21 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -4864837.67143 -3373764.94642 24126455.347 24126463.116 24126455.225
+ 3074.370 2395.613 45.000 39.000
+ -12605971.19143 -9572885.07242 23097649.479 23097655.631 23097648.918
+ -2897.875 -2258.084 48.000 42.000
+ -5996123.65643 -4484898.57542 24184514.711 24184518.051 24184513.897
+ 1733.120 1350.483 45.000 39.000
+ 4432960.50743 3467231.35742 24061818.899 24061825.172 24061818.883
+ -1855.130 -1445.556 47.000 40.000
+ -18474885.62843 -14344945.68142 21986923.778 21986928.195 21986922.736
+ -1395.784 -1087.624 52.000 46.000
+ -9347419.97943 -7227285.52342 23136969.318 23136975.787 23136968.499
+ -2498.076 -1946.553 50.000 43.000
+ -16818913.45243 -13055385.15242 21909923.505 21909926.931 21909922.679
+ 2640.285 2057.365 54.000 47.000
+ -12947198.43843 -10077537.82342 22136162.509 22136165.392 22136161.185
+ -2757.970 -2149.067 53.000 46.000
+ -19968397.16443 -15548882.76942 21326329.755 21326333.284 21326329.410
+ 1727.381 1346.011 56.000 49.000
+ -13849060.59543 -10729597.63242 22661797.093 22661803.295 22661795.849
+ -1722.858 -1342.487 49.000 43.000
+ 04 2 1 0 21 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -4956971.79143 -3445557.69542 24108925.235 24108930.688 24108922.086
+ 3067.902 2390.573 46.000 39.000
+ -12519030.38643 -9505139.09242 23114193.400 23114198.811 23114193.996
+ -2898.211 -2258.346 48.000 42.000
+ -6048135.51143 -4525427.26642 24174617.237 24174620.633 24174615.257
+ 1734.384 1351.468 47.000 39.000
+ 4488599.11643 3510586.04042 24072409.310 24072412.760 24072409.186
+ -1854.076 -1444.734 47.000 40.000
+ -18432837.56743 -14312181.00942 21994925.614 21994930.305 21994924.340
+ -1407.613 -1096.841 52.000 46.000
+ -9272347.53843 -7168787.59842 23151254.819 23151260.199 23151253.369
+ -2506.880 -1953.413 50.000 43.000
+ -16898006.26143 -13117015.90042 21894872.892 21894875.664 21894872.179
+ 2632.584 2051.364 54.000 47.000
+ -12864394.33243 -10013015.17442 22151919.777 22151922.929 22151918.529
+ -2762.409 -2152.526 53.000 46.000
+ -20020008.19443 -15589099.15842 21316508.860 21316512.417 21316508.104
+ 1713.197 1334.959 56.000 49.000
+ -13797373.70743 -10689322.16042 22671634.619 22671639.427 22671633.462
+ -1723.120 -1342.691 49.000 43.000
+ 04 2 1 0 22 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -5048886.84743 -3517179.76542 24091432.096 24091439.792 24091431.794
+ 3060.564 2384.855 46.000 40.000
+ -12432046.56043 -9437359.57842 23130746.759 23130751.497 23130746.307
+ -2899.682 -2259.492 49.000 42.000
+ -6100165.68143 -4565970.27742 24164715.138 24164718.670 24164714.154
+ 1735.222 1352.121 47.000 40.000
+ 4544244.42843 3553945.93242 24082996.798 24082999.945 24082997.117
+ -1854.379 -1444.971 47.000 40.000
+ -18390406.81043 -14279118.12742 22002999.742 22003004.035 22002998.254
+ -1420.387 -1106.795 52.000 46.000
+ -9196982.71543 -7110061.84442 23165597.658 23165602.478 23165597.095
+ -2516.724 -1961.084 50.000 43.000
+ -16976837.54443 -13178442.86342 21879872.356 21879874.530 21879870.943
+ 2623.852 2044.560 55.000 47.000
+ -12781429.15243 -9948367.01442 22167707.306 22167711.249 22167705.924
+ -2767.736 -2156.677 53.000 47.000
+ -20071162.30843 -15628959.49542 21306773.960 21306778.430 21306773.178
+ 1697.908 1323.045 55.000 49.000
+ -13745649.57543 -10649017.67242 22681476.306 22681482.676 22681474.708
+ -1724.167 -1343.507 48.000 43.000
+ 04 2 1 0 22 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -5140576.68943 -3588626.33742 24073984.651 24073990.520 24073984.395
+ 3052.423 2378.511 46.000 39.000
+ -12345017.75143 -9369545.01842 23147307.529 23147314.302 23147305.776
+ -2901.751 -2261.105 49.000 42.000
+ -6152209.84643 -4606524.17342 24154812.750 24154816.988 24154810.989
+ 1734.993 1351.943 47.000 40.000
+ 4599901.62443 3597315.12142 24093588.076 24093594.469 24093585.999
+ -1855.504 -1445.847 46.000 40.000
+ -18347591.16843 -14245755.33842 22011146.999 22011151.856 22011145.528
+ -1433.820 -1117.262 52.000 46.000
+ -9121321.72543 -7051105.31142 23179995.095 23180002.182 23179994.276
+ -2527.178 -1969.230 49.000 43.000
+ -17055400.06443 -13239660.39942 21864922.361 21864924.853 21864921.462
+ 2614.045 2036.918 55.000 47.000
+ -12698300.64443 -9883591.59142 22183526.023 22183530.312 22183524.781
+ -2773.721 -2161.341 53.000 46.000
+ -20121852.43243 -15668458.27742 21297128.307 21297132.440 21297127.542
+ 1681.750 1310.455 56.000 49.000
+ -13693883.09343 -10608680.19842 22691327.854 22691333.131 22691326.183
+ -1726.556 -1345.368 49.000 43.000
+ 04 2 1 0 23 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -5232042.08043 -3659898.06242 24056578.603 24056585.952 24056577.913
+ 3044.731 2372.518 45.000 39.000
+ -12257949.12243 -9301699.41242 23163875.980 23163881.270 23163874.702
+ -2903.399 -2262.389 48.000 42.000
+ -6204270.80643 -4647091.14342 24144904.821 24144909.937 24144903.840
+ 1735.480 1352.322 46.000 40.000
+ 4655568.96143 3640692.25242 24104183.020 24104186.561 24104182.244
+ -1856.324 -1446.486 48.000 41.000
+ -18304395.25543 -14212096.23542 22019367.673 22019371.409 22019366.284
+ -1446.731 -1127.323 52.000 46.000
+ -9045367.89043 -6991920.57242 23194447.767 23194454.746 23194446.629
+ -2536.954 -1976.847 49.000 42.000
+ -17133693.39743 -13300668.18842 21850023.291 21850025.935 21850022.230
+ 2604.719 2029.651 55.000 47.000
+ -12615013.44643 -9818692.50442 22199375.375 22199378.746 22199374.209
+ -2779.229 -2165.633 53.000 46.000
+ -20172078.00643 -15707595.07242 21287570.240 21287575.092 21287569.540
+ 1665.989 1298.173 56.000 49.000
+ -13642076.22243 -10568311.25142 22701187.409 22701190.905 22701185.816
+ -1728.029 -1346.516 50.000 43.000
+ 04 2 1 0 23 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -5323282.72543 -3730994.61542 24039217.844 24039223.095 24039215.174
+ 3037.236 2366.677 46.000 39.000
+ -12170844.74543 -9233825.96242 23180451.296 23180457.955 23180450.656
+ -2904.722 -2263.420 48.000 42.000
+ -6256350.18043 -4687672.46342 24134994.658 24134999.202 24134992.917
+ 1735.666 1352.467 47.000 40.000
+ 4711246.12743 3684076.98742 24114777.660 24114782.677 24114774.896
+ -1856.790 -1446.849 47.000 41.000
+ -18260822.62843 -14178143.59042 22027659.078 22027663.412 22027657.157
+ -1459.217 -1137.052 52.000 46.000
+ -8969123.37843 -6932509.34842 23208958.175 23208962.545 23208956.337
+ -2546.682 -1984.427 49.000 42.000
+ -17211716.12843 -13361465.11442 21835176.150 21835178.566 21835174.712
+ 2595.619 2022.560 55.000 47.000
+ -12531571.16943 -9753672.58542 22215254.080 22215258.041 22215252.953
+ -2784.538 -2169.770 53.000 46.000
+ -20221837.67343 -15746368.82742 21278101.922 21278105.687 21278101.132
+ 1650.355 1285.991 56.000 49.000
+ -13590229.83143 -10527911.50142 22711052.556 22711057.280 22711050.868
+ -1729.421 -1347.601 50.000 43.000
+ 04 2 1 0 24 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -5414293.36243 -3801911.96142 24021898.081 24021902.787 24021897.620
+ 3030.349 2361.311 46.000 39.000
+ -12083703.39443 -9165923.71242 23197034.243 23197041.575 23197033.498
+ -2904.875 -2263.539 49.000 42.000
+ -6308444.76543 -4728265.63642 24125082.186 24125086.768 24125080.356
+ 1737.047 1353.543 48.000 40.000
+ 4766937.30143 3727472.63542 24125374.993 24125379.313 24125372.659
+ -1856.474 -1446.603 46.000 40.000
+ -18216871.90243 -14143896.31542 22036022.376 22036026.468 22036020.538
+ -1471.157 -1146.356 52.000 46.000
+ -8892585.22643 -6872869.29842 23223521.410 23223528.496 23223520.060
+ -2555.649 -1991.415 49.000 43.000
+ -17289461.95843 -13422046.26342 21820381.655 21820384.155 21820380.600
+ 2587.169 2015.976 55.000 47.000
+ -12447972.11343 -9688530.49642 22231162.036 22231165.873 22231161.877
+ -2788.884 -2173.156 53.000 46.000
+ -20271125.39443 -15784774.83842 21268722.676 21268726.416 21268721.898
+ 1635.332 1274.285 56.000 49.000
+ -13538339.52843 -10487477.54442 22720927.209 22720932.404 22720926.130
+ -1730.105 -1348.134 49.000 42.000
+ 04 2 1 0 24 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -5505074.07943 -3872650.15742 24004623.780 24004628.885 24004622.137
+ 3022.555 2355.238 46.000 40.000
+ -11996529.17443 -9097995.83042 23213623.814 23213627.714 23213622.179
+ -2905.756 -2264.225 49.000 42.000
+ -6360556.40743 -4768872.13942 24115164.031 24115169.196 24115162.875
+ 1737.713 1354.062 46.000 40.000
+ 4822641.78743 3770878.69242 24135976.071 24135977.943 24135974.889
+ -1856.429 -1446.568 48.000 41.000
+ -18172547.04243 -14109357.51442 22044457.443 22044461.917 22044455.939
+ -1483.176 -1155.721 52.000 46.000
+ -8815755.84443 -6813002.34542 23238142.438 23238148.637 23238141.016
+ -2565.180 -1998.841 49.000 42.000
+ -17366929.82743 -13482410.82642 21805639.698 21805642.460 21805638.683
+ 2578.069 2008.885 55.000 47.000
+ -12364220.22943 -9623269.32342 22247099.960 22247103.273 22247098.738
+ -2793.703 -2176.911 52.000 46.000
+ -20319939.81943 -15822812.04242 21259433.533 21259437.817 21259432.768
+ 1619.655 1262.069 56.000 49.000
+ -13486406.70843 -10447010.43742 22730810.042 22730814.269 22730808.101
+ -1731.085 -1348.897 49.000 42.000
+ 04 2 1 0 25 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -5595625.03243 -3943209.33542 23987392.729 23987398.115 23987391.171
+ 3014.412 2348.892 48.000 40.000
+ -11909326.68143 -9030045.94242 23230215.904 23230222.388 23230215.723
+ -2907.298 -2265.427 48.000 42.000
+ -6412687.36943 -4809493.63742 24105243.872 24105247.747 24105242.890
+ 1738.094 1354.359 46.000 40.000
+ 4878358.58743 3814294.32242 24146578.774 24146582.342 24146577.101
+ -1857.488 -1447.393 48.000 41.000
+ -18127852.01643 -14074530.27742 22052963.056 22052967.270 22052961.159
+ -1495.878 -1165.619 52.000 46.000
+ -8738637.87343 -6752910.52242 23252818.285 23252822.080 23252816.550
+ -2575.387 -2006.795 49.000 42.000
+ -17444118.83443 -13542558.10042 21790951.449 21790953.850 21790950.254
+ 2568.249 2001.233 55.000 47.000
+ -12280319.69843 -9557892.32642 22263065.018 22263069.351 22263064.183
+ -2799.085 -2181.105 53.000 46.000
+ -20368280.06543 -15860479.74642 21250234.937 21250238.874 21250233.881
+ 1603.338 1249.354 56.000 49.000
+ -13434432.51943 -10406511.11142 22740699.519 22740704.306 22740699.323
+ -1733.255 -1350.588 49.000 42.000
+ 04 2 1 0 25 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -5685943.25843 -4013587.17742 23970203.664 23970211.551 23970202.561
+ 3006.731 2342.907 45.000 40.000
+ -11822097.51243 -8962075.23642 23246817.115 23246824.173 23246814.562
+ -2908.111 -2266.060 49.000 42.000
+ -6464836.44143 -4850129.27542 24095321.616 24095325.574 24095320.405
+ 1738.782 1354.895 47.000 40.000
+ 4934089.75143 3857721.16242 24157182.300 24157187.197 24157181.663
+ -1857.968 -1447.767 48.000 41.000
+ -18082787.78043 -14039415.34142 22061536.999 22061542.427 22061536.781
+ -1508.386 -1175.366 52.000 46.000
+ -8661230.58743 -6692593.24142 23267547.621 23267554.340 23267546.520
+ -2585.041 -2014.318 49.000 43.000
+ -17521024.84743 -13602484.85442 21776316.694 21776318.854 21776315.406
+ 2558.853 1993.911 55.000 48.000
+ -12196271.36443 -9492400.15742 22279059.057 22279062.791 22279058.364
+ -2804.073 -2184.992 52.000 46.000
+ -20416142.20143 -15897774.90842 21241127.126 21241130.756 21241126.020
+ 1587.284 1236.845 56.000 49.000
+ -13382415.05543 -10365978.06542 22750598.502 22750602.982 22750597.505
+ -1734.749 -1351.752 48.000 42.000
+ 04 2 1 0 26 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -5776027.47543 -4083782.64442 23953061.853 23953068.080 23953059.746
+ 2999.199 2337.038 45.000 39.000
+ -11734844.28843 -8894085.82642 23263420.330 23263425.635 23263419.554
+ -2908.901 -2266.676 48.000 42.000
+ -6517004.13043 -4890779.41042 24085394.133 24085397.988 24085392.249
+ 1739.354 1355.341 47.000 40.000
+ 4989835.95043 3901159.72042 24167790.534 24167795.178 24167788.033
+ -1858.163 -1447.919 47.000 40.000
+ -18037356.95043 -14004014.75342 22070182.791 22070186.809 22070182.082
+ -1520.454 -1184.769 52.000 46.000
+ -8583535.03043 -6632051.32542 23282332.510 23282337.136 23282331.606
+ -2594.619 -2021.781 49.000 42.000
+ -17597645.39043 -13662189.15442 21761735.736 21761738.836 21761735.460
+ 2549.422 1986.563 55.000 48.000
+ -12112077.63943 -9426794.69242 22295081.246 22295084.247 22295080.048
+ -2808.703 -2188.600 52.000 46.000
+ -20463524.11543 -15934695.87242 21232110.637 21232114.377 21232109.751
+ 1571.443 1224.501 56.000 50.000
+ -13330353.98143 -10325411.06542 22760504.702 22760510.330 22760503.148
+ -1736.067 -1352.779 48.000 42.000
+ 04 2 1 0 26 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -5865878.63343 -4153796.48942 23935964.347 23935969.905 23935962.047
+ 2991.542 2331.072 45.000 39.000
+ -11647572.10743 -8826081.60942 23280027.973 23280033.591 23280027.533
+ -2908.930 -2266.699 49.000 41.000
+ -6569193.21143 -4931446.21542 24075462.673 24075465.112 24075461.376
+ 1740.524 1356.252 46.000 40.000
+ 5045595.24543 3944608.45042 24178400.933 24178405.458 24178398.979
+ -1858.312 -1448.035 47.000 41.000
+ -17991564.31443 -13968332.21842 22078897.490 22078901.508 22078895.858
+ -1531.917 -1193.701 52.000 46.000
+ -8505554.65543 -6571287.48742 23297172.603 23297177.324 23297170.989
+ -2603.484 -2028.689 49.000 42.000
+ -17673980.48943 -13721671.03442 21747210.093 21747212.352 21747209.040
+ 2540.213 1979.387 55.000 48.000
+ -12027743.20943 -9361079.60142 22311130.605 22311133.096 22311128.559
+ -2812.933 -2191.896 53.000 46.000
+ -20510425.72643 -15971242.57342 21223185.171 21223189.389 21223184.271
+ 1555.831 1212.336 56.000 50.000
+ -13278251.41243 -10284811.69642 22770418.991 22770425.475 22770416.640
+ -1736.969 -1353.482 48.000 42.000
+ 04 2 1 0 27 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -5955495.55143 -4223627.81742 23918910.752 23918916.518 23918908.235
+ 2983.698 2324.959 45.000 39.000
+ -11560283.64643 -8758064.72342 23296638.242 23296645.207 23296637.182
+ -2909.496 -2267.140 49.000 42.000
+ -6621404.59443 -4972130.41342 24065527.421 24065531.300 24065526.256
+ 1741.098 1356.700 47.000 40.000
+ 5101368.11643 3988067.77442 24189014.150 24189018.228 24189012.808
+ -1859.302 -1448.807 47.000 41.000
+ -17945412.67443 -13932369.94942 22087680.653 22087683.407 22087678.831
+ -1544.154 -1203.237 53.000 46.000
+ -8427290.68243 -6510302.66142 23312065.501 23312070.171 23312063.877
+ -2613.286 -2036.327 49.000 42.000
+ -17750027.53543 -13780928.45542 21732738.768 21732741.172 21732737.548
+ 2530.410 1971.748 55.000 48.000
+ -11943270.64843 -9295256.85342 22327204.174 22327207.472 22327202.799
+ -2817.601 -2195.533 53.000 46.000
+ -20556844.74543 -16007413.22342 21214352.407 21214356.098 21214351.255
+ 1539.501 1199.611 56.000 50.000
+ -13226107.21843 -10244179.89042 22780343.364 22780348.345 22780341.995
+ -1738.625 -1354.773 48.000 42.000
+ 04 2 1 0 27 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -6044872.91943 -4293272.49742 23901902.966 23901908.368 23901902.177
+ 2975.415 2318.505 47.000 40.000
+ -11472977.82743 -8690034.31342 23313252.468 23313258.343 23313250.568
+ -2909.927 -2267.475 49.000 42.000
+ -6673634.49643 -5012829.05742 24055587.153 24055592.570 24055585.226
+ 1741.568 1357.066 47.000 40.000
+ 5157159.15443 4031541.23842 24199633.225 24199636.334 24199631.685
+ -1859.643 -1449.072 48.000 41.000
+ -17898900.50343 -13896126.74542 22096530.889 22096535.411 22096529.673
+ -1556.095 -1212.541 52.000 46.000
+ -8348740.22243 -6449094.61742 23327013.587 23327018.690 23327012.262
+ -2622.822 -2043.757 49.000 42.000
+ -17825779.96943 -13839956.31942 21718323.353 21718325.541 21718322.067
+ 2520.379 1963.932 55.000 48.000
+ -11858658.38943 -9229325.25842 22343304.619 22343308.608 22343304.394
+ -2822.406 -2199.277 52.000 45.000
+ -20602774.66443 -16043202.76342 21205612.166 21205616.081 21205611.456
+ 1523.072 1186.809 56.000 50.000
+ -13173916.90343 -10203512.17742 22790274.263 22790279.938 22790273.421
+ -1740.132 -1355.947 48.000 42.000
+ 04 2 1 0 28 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -6134011.96843 -4362731.46942 23884939.863 23884946.857 23884938.474
+ 2966.588 2311.627 46.000 40.000
+ -11385660.01843 -8621994.55642 23329868.506 23329874.106 23329867.691
+ -2911.496 -2268.698 49.000 42.000
+ -6725885.96843 -5053544.44242 24045644.889 24045647.920 24045643.658
+ 1741.168 1356.754 46.000 40.000
+ 5212966.35943 4075027.32542 24210251.769 24210253.550 24210250.958
+ -1861.312 -1450.373 46.000 40.000
+ -17852032.84643 -13859606.54642 22105449.350 22105453.879 22105447.575
+ -1569.054 -1222.639 52.000 46.000
+ -8269906.89843 -6387666.15842 23342015.534 23342020.759 23342013.185
+ -2633.178 -2051.827 50.000 43.000
+ -17901238.09443 -13898754.83942 21703964.078 21703966.765 21703963.103
+ 2509.630 1955.556 55.000 48.000
+ -11773911.29143 -9163288.59842 22359431.313 22359435.162 22359430.420
+ -2827.945 -2203.593 52.000 45.000
+ -20648215.68743 -16078611.35042 21196965.255 21196968.453 21196964.069
+ 1505.725 1173.292 56.000 50.000
+ -13121682.65543 -10162810.20142 22800214.333 22800218.882 22800213.228
+ -1742.851 -1358.066 49.000 42.000
+ 04 2 1 0 28 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -6222913.61943 -4432005.42842 23868023.040 23868030.848 23868021.884
+ 2959.344 2305.982 47.000 40.000
+ -11298335.48543 -8553949.55442 23346486.012 23346493.084 23346485.169
+ -2910.891 -2268.227 49.000 41.000
+ -6778161.76643 -5094278.82642 24035697.565 24035702.540 24035695.955
+ 1742.865 1358.077 47.000 40.000
+ 5268788.17743 4118524.76842 24220874.041 24220877.754 24220872.483
+ -1861.032 -1450.155 46.000 39.000
+ -17804814.68543 -13822813.22042 22114434.071 22114438.366 22114433.661
+ -1579.896 -1231.088 51.000 45.000
+ -8190794.02943 -6326019.86742 23357069.891 23357076.615 23357068.182
+ -2641.820 -2058.561 50.000 43.000
+ -17976401.38743 -13957323.62842 21689661.324 21689663.693 21689660.522
+ 2500.391 1948.357 55.000 48.000
+ -11689034.00443 -9097150.49342 22375583.453 22375587.490 22375582.331
+ -2831.418 -2206.300 52.000 46.000
+ -20693167.71543 -16113638.89442 21188410.557 21188414.717 21188409.711
+ 1490.139 1161.147 56.000 50.000
+ -13069406.50843 -10122075.56942 22810162.061 22810167.594 22810159.393
+ -1743.185 -1358.326 49.000 42.000
+ 04 2 1 0 29 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -6311571.93843 -4501089.81442 23851151.164 23851157.318 23851150.187
+ 2950.746 2299.282 46.000 40.000
+ -11211002.48443 -8485897.95142 23363104.155 23363109.468 23363102.336
+ -2911.744 -2268.891 48.000 41.000
+ -6830457.94943 -5135029.08942 24025746.350 24025749.215 24025744.948
+ 1742.994 1358.177 48.000 40.000
+ 5324629.52243 4162037.48642 24231499.828 24231502.815 24231499.501
+ -1862.436 -1451.249 44.000 38.000
+ -17757244.05843 -13785745.25342 22123486.533 22123491.555 22123485.160
+ -1592.128 -1240.619 51.000 45.000
+ -8111398.42243 -6264153.25342 23372177.364 23372184.881 23372176.431
+ -2651.893 -2066.410 50.000 43.000
+ -18051262.99443 -14015657.33542 21675415.537 21675418.130 21675414.382
+ 2489.836 1940.132 56.000 48.000
+ -11604024.51943 -9030909.37042 22391760.746 22391763.846 22391760.347
+ -2836.298 -2210.102 52.000 45.000
+ -20737623.95843 -16148280.11642 21179951.197 21179955.065 21179950.141
+ 1473.199 1147.947 56.000 50.000
+ -13017083.57843 -10081304.50042 22820118.322 22820124.297 22820118.240
+ -1745.532 -1360.155 49.000 42.000
+ 04 2 1 0 29 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -6399986.28243 -4569984.07142 23834326.525 23834332.537 23834324.350
+ 2942.841 2293.123 46.000 40.000
+ -11123664.30943 -8417842.32242 23379725.209 23379729.846 23379723.331
+ -2911.594 -2268.774 48.000 41.000
+ -6882775.47143 -5175795.97842 24015788.791 24015795.045 24015788.131
+ 1743.989 1358.952 46.000 39.000
+ 5380490.62743 4205565.57942 24242130.805 24242134.325 24242129.239
+ -1862.440 -1451.252 44.000 38.000
+ -17709324.18243 -13748405.14642 22132606.172 22132610.863 22132604.847
+ -1603.531 -1249.505 52.000 46.000
+ -8031721.62843 -6202067.54842 23387340.578 23387346.231 23387338.368
+ -2660.745 -2073.308 50.000 43.000
+ -18125820.88343 -14073754.37942 21661227.900 21661230.052 21661226.508
+ 2479.804 1932.315 55.000 48.000
+ -11518885.63743 -8964567.43442 22407961.747 22407965.703 22407960.127
+ -2840.321 -2213.237 52.000 45.000
+ -20781582.92243 -16182533.85442 21171585.828 21171589.771 21171584.887
+ 1456.675 1135.071 56.000 50.000
+ -12964714.00443 -10040497.06642 22830084.454 22830089.800 22830083.654
+ -1746.621 -1361.003 49.000 42.000
+ 04 2 1 0 30 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -6488157.63243 -4638688.98342 23817548.001 23817553.644 23817546.872
+ 2934.906 2286.940 46.000 39.000
+ -11036326.11643 -8349786.69042 23396344.552 23396350.150 23396343.664
+ -2911.293 -2268.540 48.000 41.000
+ -6935117.24743 -5216581.77842 24005831.079 24005833.815 24005829.101
+ 1745.094 1359.814 48.000 40.000
+ 5436369.75143 4249107.73842 24252763.784 24252766.387 24252762.590
+ -1863.010 -1451.696 44.000 39.000
+ -17661059.84643 -13710796.61642 22141790.050 22141794.986 22141789.868
+ -1614.582 -1258.116 52.000 46.000
+ -7951767.12743 -6139765.44242 23402554.913 23402559.597 23402553.278
+ -2669.806 -2080.368 49.000 43.000
+ -18200075.04943 -14131614.74642 21647097.451 21647099.859 21647096.521
+ 2469.883 1924.584 55.000 48.000
+ -11433621.93543 -8898128.22042 22424187.100 22424192.028 22424184.972
+ -2844.269 -2216.313 52.000 45.000
+ -20825044.45843 -16216399.97442 21163315.096 21163319.218 21163314.506
+ 1440.307 1122.317 56.000 50.000
+ -12912299.74243 -9999654.84642 22840059.290 22840064.182 22840057.412
+ -1748.049 -1362.116 49.000 42.000
+ 04 2 1 0 30 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -6576086.36343 -4707204.83942 23800815.336 23800822.317 23800814.469
+ 2926.396 2280.309 45.000 40.000
+ -10948992.20243 -8281734.40542 23412964.087 23412968.713 23412962.050
+ -2911.306 -2268.550 48.000 41.000
+ -6987485.49343 -5257388.18942 23995863.322 23995867.981 23995862.877
+ 1745.656 1360.251 46.000 40.000
+ 5492265.79743 4292663.00542 24263401.048 24263405.018 24263399.751
+ -1863.749 -1452.272 45.000 39.000
+ -17612455.44143 -13672923.11042 22151039.733 22151043.839 22151039.342
+ -1626.230 -1267.192 52.000 45.000
+ -7871537.71143 -6077249.12442 23417822.483 23417828.789 23417820.873
+ -2679.158 -2087.655 49.000 43.000
+ -18274024.75243 -14189237.88142 21633025.309 21633028.388 21633024.496
+ 2459.656 1916.615 55.000 48.000
+ -11348237.50143 -8831594.93342 22440435.454 22440439.208 22440434.670
+ -2848.367 -2219.507 53.000 45.000
+ -20868008.34543 -16249878.32142 21155139.577 21155143.367 21155138.712
+ 1423.459 1109.189 56.000 50.000
+ -12859842.09743 -9958778.81342 22850041.105 22850047.274 22850040.075
+ -1749.472 -1363.225 49.000 43.000
+ 04 2 1 0 31 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -6663765.50743 -4775526.20042 23784129.199 23784137.483 23784128.468
+ 2918.301 2274.001 46.000 40.000
+ -10861659.35643 -8213682.92842 23429582.257 23429590.062 23429582.210
+ -2911.143 -2268.423 47.000 41.000
+ -7039874.49643 -5298210.75342 23985895.494 23985899.227 23985893.985
+ 1746.639 1361.017 47.000 40.000
+ 5548185.22343 4336236.56942 24274042.358 24274045.309 24274041.711
+ -1864.454 -1452.821 46.000 39.000
+ -17563507.66543 -13634782.04642 22160354.281 22160358.597 22160353.109
+ -1637.310 -1275.826 52.000 45.000
+ -7791028.63543 -6014514.88642 23433141.998 23433149.375 23433141.576
+ -2688.321 -2094.796 48.000 42.000
+ -18347661.15643 -14246616.89142 21619012.938 21619014.887 21619011.761
+ 2449.260 1908.514 55.000 48.000
+ -11262728.88443 -8764964.86642 22456707.625 22456711.222 22456705.891
+ -2852.306 -2222.576 52.000 45.000
+ -20910466.05743 -16282962.25242 21147060.064 21147063.822 21147059.317
+ 1406.806 1096.212 56.000 50.000
+ -12807334.83043 -9917864.08842 22860032.933 22860039.837 22860031.227
+ -1750.966 -1364.389 49.000 43.000
+ 04 2 1 0 31 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -6751199.59043 -4843656.58442 23767492.580 23767500.154 23767489.645
+ 2909.549 2267.181 46.000 40.000
+ -10774336.20343 -8145639.03642 23446199.737 23446205.472 23446198.552
+ -2911.478 -2268.684 47.000 41.000
+ -7092290.62443 -5339054.47442 23975921.827 23975925.456 23975919.455
+ 1746.750 1361.104 48.000 40.000
+ 5604122.65643 4379824.10842 24284686.310 24284690.414 24284686.181
+ -1865.847 -1453.907 48.000 40.000
+ -17514225.04943 -13596380.06442 22169732.702 22169736.620 22169731.129
+ -1649.165 -1285.064 52.000 45.000
+ -7710247.01843 -5951568.28142 23448514.652 23448521.882 23448512.942
+ -2697.957 -2102.304 48.000 42.000
+ -18420988.13243 -14303754.78642 21605059.506 21605061.093 21605058.164
+ 2438.127 1899.839 56.000 48.000
+ -11177104.09143 -8698244.29042 22473001.306 22473004.591 22472999.807
+ -2856.999 -2226.233 52.000 45.000
+ -20952421.32243 -16315654.65842 21139076.438 21139080.025 21139075.263
+ 1389.221 1082.510 56.000 50.000
+ -12754783.36743 -9876914.95842 22870033.203 22870037.970 22870032.954
+ -1753.410 -1366.293 49.000 42.000
+ 04 2 1 0 32 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -6838383.38543 -4911591.95742 23750903.033 23750908.753 23750899.750
+ 2901.669 2261.041 47.000 40.000
+ -10687021.64143 -8077601.80742 23462814.313 23462820.425 23462815.054
+ -2910.529 -2267.945 48.000 41.000
+ -7144730.32443 -5379916.57642 23965939.422 23965947.225 23965938.175
+ 1748.244 1362.268 46.000 40.000
+ 5660082.74043 4423429.32642 24295335.883 24295339.754 24295334.310
+ -1865.634 -1453.741 48.000 40.000
+ -17464606.27043 -13557716.12442 22179174.619 22179179.165 22179173.038
+ -1659.714 -1293.284 52.000 45.000
+ -7629189.97743 -5888407.04842 23463939.473 23463945.314 23463937.817
+ -2706.693 -2109.111 48.000 42.000
+ -18493998.74143 -14360646.16042 21591166.049 21591168.020 21591165.301
+ 2428.279 1892.165 56.000 48.000
+ -11091361.72743 -8631432.09842 22489317.150 22489320.462 22489315.705
+ -2860.115 -2228.661 51.000 45.000
+ -20993868.05044 -16347950.81142 21131189.230 21131193.345 21131188.565
+ 1372.987 1069.860 57.000 50.000
+ -12702183.39243 -9835928.02942 22880042.760 22880049.158 22880041.597
+ -1754.156 -1366.875 49.000 42.000
+ 04 2 1 0 32 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -6925317.55743 -4979332.82342 23734358.766 23734364.997 23734358.660
+ 2893.109 2254.371 47.000 40.000
+ -10599720.23543 -8009574.85142 23479428.370 23479434.483 23479425.855
+ -2910.044 -2267.567 47.000 41.000
+ -7197196.07943 -5420798.94842 23955958.724 23955963.308 23955956.814
+ 1748.669 1362.599 48.000 40.000
+ 5716064.35143 4467051.27842 24305988.698 24305991.037 24305986.316
+ -1866.607 -1454.499 46.000 40.000
+ -17414655.79743 -13518793.73242 22188680.340 22188684.496 22188678.677
+ -1670.925 -1302.019 52.000 45.000
+ -7547860.45743 -5825033.49342 23479416.056 23479422.432 23479413.379
+ -2715.914 -2116.297 48.000 41.000
+ -18566692.53043 -14417290.66242 21577332.660 21577334.700 21577331.649
+ 2417.340 1883.642 55.000 48.000
+ -11005505.76643 -8564531.38842 22505655.031 22505659.111 22505654.386
+ -2864.282 -2231.908 51.000 45.000
+ -21034805.94343 -16379850.45742 21123398.996 21123403.131 21123397.984
+ 1355.738 1056.419 56.000 50.000
+ -12649536.37643 -9794904.40942 22890060.797 22890066.241 22890060.166
+ -1756.133 -1368.415 49.000 42.000
+ 04 2 1 0 33 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -7012000.60643 -5046878.01242 23717863.528 23717871.148 23717862.302
+ 2884.835 2247.923 47.000 40.000
+ -10512434.46643 -7941560.07442 23496038.558 23496043.943 23496037.239
+ -2909.591 -2267.214 48.000 41.000
+ -7249688.03443 -5461701.78142 23945967.561 23945973.964 23945966.733
+ 1749.801 1363.481 47.000 41.000
+ 5772067.99443 4510690.41442 24316645.525 24316651.075 24316644.652
+ -1867.562 -1455.243 46.000 40.000
+ -17364376.41443 -13479615.05042 22198247.126 22198251.982 22198245.607
+ -1681.919 -1310.586 51.000 45.000
+ -7466259.88543 -5761448.73542 23494942.846 23494950.270 23494940.217
+ -2724.790 -2123.213 47.000 41.000
+ -18639066.92043 -14473686.28842 21563559.289 21563562.615 21563558.743
+ 2406.727 1875.372 55.000 48.000
+ -10919538.65843 -8497544.07942 22522014.140 22522017.953 22522013.107
+ -2867.681 -2234.557 51.000 45.000
+ -21075232.84044 -16411351.93342 21115706.330 21115710.318 21115705.383
+ 1338.681 1043.128 57.000 50.000
+ -12596841.87643 -9753843.82342 22900089.426 22900093.336 22900087.636
+ -1757.818 -1369.728 49.000 42.000
+ 04 2 1 0 33 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -7098432.76843 -5114227.67542 23701415.446 23701423.150 23701414.882
+ 2877.206 2241.979 47.000 41.000
+ -10425168.72043 -7873560.89742 23512644.200 23512651.439 23512643.703
+ -2908.268 -2266.183 47.000 41.000
+ -7302208.22743 -5502626.58342 23935974.053 23935976.897 23935971.343
+ 1751.414 1364.738 47.000 40.000
+ 5828092.96743 4554346.16842 24327307.304 24327314.201 24327304.976
+ -1867.899 -1455.506 46.000 39.000
+ -17313772.01843 -13440183.11242 22207876.892 22207881.419 22207875.341
+ -1692.076 -1318.501 51.000 45.000
+ -7384390.81943 -5697654.76642 23510524.184 23510528.428 23510522.550
+ -2733.325 -2129.864 48.000 41.000
+ -18711121.03043 -14529832.34142 21549848.412 21549850.950 21549847.730
+ 2396.593 1867.475 56.000 48.000
+ -10833463.89643 -8430472.88342 22538393.800 22538397.031 22538393.505
+ -2870.843 -2237.020 52.000 45.000
+ -21115148.18943 -16442454.79542 21108110.182 21108114.651 21108109.623
+ 1322.172 1030.264 56.000 50.000
+ -12544100.86443 -9712746.97942 22910125.466 22910128.871 22910124.049
+ -1758.746 -1370.451 49.000 42.000
+ 04 2 1 0 34 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -7184608.30443 -5181377.37642 23685017.090 23685023.607 23685017.113
+ 2868.251 2235.001 48.000 41.000
+ -10337920.97543 -7805575.74842 23529246.806 23529252.543 23529246.162
+ -2907.823 -2265.836 47.000 41.000
+ -7354752.28643 -5543569.98242 23925975.381 23925978.909 23925973.208
+ 1752.144 1365.307 47.000 40.000
+ 5884144.44943 4598022.56842 24337972.381 24337975.527 24337972.968
+ -1868.606 -1456.057 47.000 39.000
+ -17262840.93143 -13400496.59742 22217569.526 22217574.373 22217568.919
+ -1703.040 -1327.044 51.000 45.000
+ -7302249.84543 -5633648.90342 23526154.099 23526159.856 23526152.629
+ -2742.336 -2136.885 47.000 41.000
+ -18782847.44343 -14585723.04942 21536199.172 21536202.219 21536198.263
+ 2385.503 1858.834 55.000 48.000
+ -10747279.31043 -8363316.09742 22554794.848 22554797.645 22554793.534
+ -2874.558 -2239.915 52.000 45.000
+ -21154545.30843 -16473153.84342 21100613.101 21100617.629 21100612.518
+ 1304.766 1016.701 56.000 50.000
+ -12491308.38843 -9671610.04642 22920170.383 22920176.009 22920168.491
+ -1760.580 -1371.880 48.000 42.000
+ 04 2 1 0 34 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -7270531.39643 -5248330.38042 23668666.813 23668672.878 23668665.937
+ 2859.831 2228.440 46.000 40.000
+ -10250699.37943 -7737610.96042 23545844.663 23545851.200 23545842.793
+ -2907.132 -2265.298 46.000 40.000
+ -7407326.25643 -5584536.68842 23915972.040 23915976.330 23915970.559
+ 1752.882 1365.882 48.000 41.000
+ 5940217.48743 4641715.81642 24348644.204 24348646.586 24348643.332
+ -1869.485 -1456.741 48.000 39.000
+ -17211591.16943 -13360561.75642 22227322.791 22227326.095 22227321.643
+ -1713.892 -1335.500 51.000 45.000
+ -7219843.60343 -5569436.36042 23541836.205 23541842.884 23541834.550
+ -2751.471 -2144.003 48.000 42.000
+ -18854249.51243 -14641361.01642 21522611.528 21522614.519 21522610.787
+ 2374.403 1850.184 55.000 48.000
+ -10660992.61643 -8296079.76342 22571214.619 22571217.413 22571212.734
+ -2878.138 -2242.705 52.000 45.000
+ -21193427.32443 -16503451.51642 21093214.529 21093218.362 21093213.653
+ 1287.226 1003.033 56.000 50.000
+ -12438469.47743 -9630436.89442 22930226.377 22930230.822 22930224.075
+ -1762.316 -1373.233 48.000 42.000
+ 04 2 1 0 35 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -7356197.68143 -5315083.27442 23652365.774 23652370.896 23652364.657
+ 2851.454 2221.912 47.000 40.000
+ -10163503.31743 -7669666.10042 23562436.580 23562442.835 23562436.157
+ -2905.404 -2263.951 47.000 40.000
+ -7459927.16343 -5625524.41442 23905960.594 23905964.853 23905959.877
+ 1754.341 1367.019 46.000 40.000
+ 5996316.00143 4685428.88642 24359318.639 24359323.527 24359317.181
+ -1870.089 -1457.212 46.000 40.000
+ -17160022.10243 -13320378.14042 22237135.148 22237140.133 22237133.330
+ -1723.845 -1343.256 51.000 45.000
+ -7137170.11443 -5505015.56842 23557568.018 23557573.507 23557567.436
+ -2759.712 -2150.425 48.000 42.000
+ -18925321.51943 -14696741.79742 21509087.224 21509090.199 21509086.287
+ 2364.073 1842.135 55.000 48.000
+ -10574602.71043 -8228762.99942 22587653.613 22587657.710 22587651.650
+ -2880.865 -2244.830 51.000 44.000
+ -21231788.64643 -16533343.45142 21085914.630 21085918.682 21085913.579
+ 1270.482 989.986 56.000 50.000
+ -12385580.41143 -9589224.69642 22940290.155 22940295.346 22940288.250
+ -1763.168 -1373.897 48.000 42.000
+ 04 2 1 0 35 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -7441606.39143 -5381635.46842 23636111.972 23636119.110 23636111.340
+ 2842.922 2215.264 48.000 41.000
+ -10076335.98643 -7601743.58442 23579024.227 23579031.409 23579022.398
+ -2904.740 -2263.434 47.000 40.000
+ -7512555.65843 -5666533.61042 23895945.941 23895950.681 23895944.291
+ 1755.012 1367.542 47.000 40.000
+ 6052440.41643 4729162.14242 24369998.912 24370002.959 24369997.492
+ -1870.710 -1457.696 46.000 40.000
+ -17108136.97743 -13279948.21842 22247008.502 22247012.629 22247006.931
+ -1734.473 -1351.537 51.000 45.000
+ -7054231.03143 -5440387.82642 23573351.969 23573357.776 23573350.509
+ -2768.705 -2157.432 49.000 42.000
+ -18996061.08643 -14751863.53142 21495625.931 21495628.274 21495624.928
+ 2352.875 1833.409 55.000 48.000
+ -10488112.33343 -8161367.95042 22604112.596 22604115.404 22604111.662
+ -2884.282 -2247.492 52.000 45.000
+ -21269628.09243 -16562828.73042 21078713.662 21078717.541 21078712.747
+ 1253.025 976.383 56.000 50.000
+ -12332641.21243 -9547973.42342 22950363.034 22950370.598 22950362.273
+ -1765.018 -1375.339 48.000 42.000
+ 04 2 1 0 36 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -7526756.09243 -5447985.83942 23619909.182 23619915.637 23619907.736
+ 2834.137 2208.418 48.000 41.000
+ -9989199.90643 -7533845.42342 23595606.097 23595613.500 23595605.062
+ -2904.043 -2262.891 48.000 40.000
+ -7565212.03843 -5707564.55742 23885925.440 23885929.864 23885925.705
+ 1755.867 1368.208 47.000 41.000
+ 6108591.50443 4772916.14242 24380683.429 24380688.826 24380683.361
+ -1871.857 -1458.590 46.000 39.000
+ -17055938.19143 -13239273.90342 22256941.872 22256946.205 22256940.525
+ -1744.963 -1359.711 51.000 45.000
+ -6971027.48643 -5375554.00942 23589184.151 23589191.134 23589183.092
+ -2777.786 -2164.508 50.000 42.000
+ -19066465.70843 -14806724.26942 21482227.846 21482231.242 21482227.258
+ 2341.408 1824.474 55.000 48.000
+ -10401523.53343 -8093896.20542 22620589.952 22620592.779 22620587.703
+ -2887.691 -2250.149 51.000 45.000
+ -21306943.31843 -16591905.52442 21071613.317 21071616.836 21071612.070
+ 1235.267 962.546 56.000 50.000
+ -12279651.20843 -9506682.57042 22960449.117 22960452.851 22960447.626
+ -1766.780 -1376.712 49.000 42.000
+ 04 2 1 0 36 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -7611649.20143 -5514136.24842 23603754.461 23603760.929 23603753.380
+ 2825.508 2201.695 48.000 41.000
+ -9902101.21543 -7465976.38842 23612181.135 23612186.270 23612180.004
+ -2902.650 -2261.805 48.000 40.000
+ -7617900.19443 -5748620.24642 23875900.596 23875904.786 23875898.148
+ 1756.837 1368.964 47.000 41.000
+ 6164766.43243 4816688.74342 24391374.369 24391377.005 24391372.599
+ -1873.000 -1459.480 46.000 38.000
+ -17003432.09743 -13198360.12742 22266933.989 22266938.014 22266932.466
+ -1755.153 -1367.652 51.000 45.000
+ -6887564.39443 -5310517.93842 23605067.139 23605073.065 23605065.603
+ -2786.238 -2171.094 49.000 42.000
+ -19136536.75743 -14861325.08142 21468894.241 21468897.427 21468893.558
+ 2330.200 1815.740 55.000 48.000
+ -10314841.90943 -8026352.12842 22637084.744 22637088.179 22637083.518
+ -2890.912 -2252.659 52.000 45.000
+ -21343735.63944 -16620574.86242 21064611.822 21064615.292 21064610.860
+ 1217.645 948.814 57.000 50.000
+ -12226613.51843 -9465354.55042 22970539.956 22970546.512 22970539.282
+ -1768.850 -1378.325 47.000 42.000
+ 04 2 1 0 37 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -7696280.69243 -5580082.82042 23587649.640 23587654.668 23587649.390
+ 2816.658 2194.798 48.000 41.000
+ -9815038.61443 -7398135.49042 23628747.622 23628754.510 23628746.913
+ -2901.541 -2260.941 47.000 40.000
+ -7670616.53443 -5789697.90942 23865869.218 23865873.202 23865867.477
+ 1757.843 1369.748 48.000 41.000
+ 6220969.40543 4860483.20542 24402069.046 24402072.979 24402067.628
+ -1874.110 -1460.345 47.000 39.000
+ -16950617.41743 -13157205.89542 22276984.924 22276988.809 22276983.227
+ -1765.533 -1375.740 52.000 45.000
+ -6803839.12243 -5245277.58242 23620999.403 23621006.439 23620997.683
+ -2795.289 -2178.147 49.000 42.000
+ -19206267.31443 -14915660.57442 21455625.032 21455627.812 21455624.275
+ 2318.607 1806.707 55.000 48.000
+ -10228066.00043 -7958734.59042 22653597.396 22653601.170 22653596.058
+ -2894.158 -2255.188 52.000 45.000
+ -21379999.52243 -16648832.43242 21057710.804 21057714.955 21057710.188
+ 1199.933 935.013 56.000 50.000
+ -12173523.73843 -9423985.93142 22980644.878 22980648.628 22980642.535
+ -1770.750 -1379.805 49.000 43.000
+ 04 2 1 0 37 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -7780649.27743 -5645824.50642 23571594.869 23571599.845 23571594.453
+ 2807.535 2187.690 48.000 41.000
+ -9728014.81343 -7330324.86942 23645308.565 23645315.784 23645306.507
+ -2900.400 -2260.052 47.000 40.000
+ -7723361.24343 -5830797.67442 23855832.115 23855835.573 23855830.515
+ 1758.356 1370.148 47.000 41.000
+ 6277201.46943 4904300.35042 24412770.104 24412772.542 24412769.801
+ -1875.513 -1461.439 46.000 38.000
+ -16897496.81643 -13115813.26842 22287093.284 22287096.478 22287091.731
+ -1776.123 -1383.992 52.000 45.000
+ -6719852.62543 -5179833.67442 23636981.633 23636987.144 23636979.361
+ -2804.309 -2185.176 49.000 42.000
+ -19275654.67143 -14969728.63242 21442421.138 21442424.419 21442420.264
+ 2306.811 1797.515 55.000 48.000
+ -10141197.69043 -7891045.05642 22670127.215 22670131.313 22670126.223
+ -2897.348 -2257.674 51.000 44.000
+ -21415732.88843 -16676676.60542 21050911.050 21050915.214 21050910.187
+ 1182.093 921.111 56.000 50.000
+ -12120381.27443 -9382576.26842 22990755.736 22990762.333 22990753.716
+ -1772.860 -1381.449 48.000 42.000
+ 04 2 1 0 38 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -7864756.44543 -5711362.47942 23555589.227 23555596.104 23555588.699
+ 2799.279 2181.256 48.000 41.000
+ -9641034.91843 -7262548.40842 23661859.713 23661868.486 23661859.564
+ -2898.520 -2258.587 46.000 40.000
+ -7776137.64643 -5871922.11742 23845789.776 23845792.850 23845786.679
+ 1759.860 1371.319 48.000 41.000
+ 6333460.64043 4948138.63242 24423475.745 24423478.203 24423475.335
+ -1875.646 -1461.542 46.000 38.000
+ -16844075.72743 -13074186.50442 22297258.143 22297263.193 22297256.337
+ -1785.610 -1391.384 51.000 45.000
+ -6635608.90743 -5114189.34242 23653011.697 23653017.562 23653011.705
+ -2812.221 -2191.341 48.000 42.000
+ -19344699.50043 -15023529.79042 21429282.196 21429285.088 21429281.763
+ 2295.860 1788.982 55.000 48.000
+ -10054241.77543 -7823287.26242 22686674.491 22686677.796 22686673.500
+ -2899.907 -2259.668 51.000 44.000
+ -21450936.26743 -16704107.80842 21044212.039 21044215.833 21044211.054
+ 1164.701 907.559 56.000 50.000
+ -12067188.32443 -9341127.26242 23000878.128 23000883.990 23000877.008
+ -1773.674 -1382.084 48.000 42.000
+ 04 2 1 0 38 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -7948599.15043 -5776694.38242 23539634.936 23539640.700 23539634.705
+ 2790.113 2174.114 47.000 41.000
+ -9554099.51143 -7194806.65342 23678402.971 23678410.725 23678402.014
+ -2897.004 -2257.406 45.000 40.000
+ -7828944.05143 -5913069.94342 23835739.183 23835744.017 23835738.866
+ 1760.743 1372.008 48.000 41.000
+ 6389749.46043 4991999.96142 24434186.192 24434191.915 24434186.824
+ -1876.983 -1462.584 46.000 38.000
+ -16790354.93743 -13032326.21442 22307481.083 22307485.949 22307479.448
+ -1795.861 -1399.372 51.000 45.000
+ -6551107.47143 -5048344.17942 23669093.024 23669099.347 23669091.229
+ -2821.260 -2198.384 49.000 41.000
+ -19413397.13043 -15077060.40242 21416210.146 21416212.470 21416208.869
+ 2284.038 1779.770 56.000 48.000
+ -9967198.89443 -7755461.67842 22703237.504 22703242.880 22703237.369
+ -2902.806 -2261.927 51.000 44.000
+ -21485605.59044 -16731122.85842 21037614.962 21037618.459 21037613.958
+ 1146.681 893.518 57.000 50.000
+ -12013942.54443 -9299637.09642 23011011.256 23011015.731 23011009.885
+ -1775.613 -1383.594 48.000 43.000
+ 04 2 1 0 39 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -8032176.90343 -5841819.79742 23523729.471 23523736.283 23523729.242
+ 2781.629 2167.503 47.000 41.000
+ -9467211.91643 -7127102.13142 23694937.964 23694945.031 23694937.442
+ -2895.420 -2256.171 45.000 40.000
+ -7881781.07243 -5954241.66042 23825684.833 23825689.352 23825684.178
+ 1761.820 1372.847 48.000 41.000
+ 6446067.90443 5035884.41342 24444903.017 24444907.262 24444901.167
+ -1877.787 -1463.211 46.000 39.000
+ -16736337.69843 -12990234.93142 22317760.105 22317764.595 22317758.633
+ -1805.302 -1406.729 51.000 45.000
+ -6466350.00943 -4982299.50642 23685221.805 23685228.243 23685219.264
+ -2829.292 -2204.643 47.000 41.000
+ -19481745.60743 -15130318.94142 21403203.311 21403206.035 21403202.403
+ 2272.541 1770.811 56.000 48.000
+ -9880071.55043 -7687570.29142 22719818.381 22719822.184 22719817.360
+ -2905.656 -2264.147 51.000 44.000
+ -21519739.75244 -16757720.90242 21031119.475 21031123.218 21031118.371
+ 1128.936 879.690 57.000 50.000
+ -11960643.98743 -9258105.79342 23021153.889 23021158.567 23021151.997
+ -1777.567 -1385.117 48.000 42.000
+ 04 2 1 0 39 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -8115489.25543 -5906738.44142 23507877.149 23507883.960 23507876.081
+ 2772.359 2160.280 48.000 41.000
+ -9380375.29743 -7059437.34442 23711462.061 23711470.387 23711461.877
+ -2894.600 -2255.532 44.000 40.000
+ -7934649.90743 -5995438.12342 23815624.717 23815628.306 23815622.143
+ 1762.751 1373.572 47.000 41.000
+ 6502415.99743 5079791.96342 24455627.369 24455631.840 24455627.195
+ -1878.834 -1464.026 48.000 39.000
+ -16682027.54343 -12947915.39242 22328094.859 22328100.259 22328093.248
+ -1815.294 -1414.515 51.000 45.000
+ -6381338.44643 -4916056.82742 23701398.530 23701404.571 23701397.379
+ -2837.790 -2211.265 46.000 40.000
+ -19549743.37143 -15183304.21542 21390263.838 21390266.409 21390262.766
+ 2260.568 1761.482 56.000 48.000
+ -9792862.55643 -7619615.27742 22736414.690 22736416.755 22736413.482
+ -2908.487 -2266.353 51.000 44.000
+ -21553337.61344 -16783901.04442 21024726.046 21024729.624 21024724.873
+ 1110.816 865.571 57.000 50.000
+ -11907292.85343 -9216533.51042 23031306.584 23031311.951 23031304.989
+ -1779.621 -1386.718 48.000 42.000
+ 04 2 1 0 40 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -8198535.44543 -5971449.68742 23492073.666 23492078.714 23492070.974
+ 2763.303 2153.223 47.000 41.000
+ -9293592.75443 -6991814.71042 23727977.514 23727984.283 23727974.839
+ -2892.794 -2254.125 44.000 39.000
+ -7987551.24743 -6036659.93842 23805556.971 23805562.418 23805556.827
+ 1763.395 1374.074 47.000 41.000
+ 6558794.08643 5123722.88742 24466355.106 24466359.906 24466354.218
+ -1880.266 -1465.142 47.000 40.000
+ -16627427.58743 -12905370.03242 22338485.350 22338489.784 22338483.964
+ -1825.173 -1422.213 51.000 44.000
+ -6296074.46843 -4849617.50142 23717623.828 23717630.242 23717621.817
+ -2846.712 -2218.217 47.000 40.000
+ -19617388.44343 -15236014.65042 21377391.108 21377394.158 21377390.214
+ 2248.594 1752.151 56.000 48.000
+ -9705574.56243 -7551598.70742 22753025.037 22753027.649 22753024.071
+ -2911.527 -2268.722 51.000 44.000
+ -21586397.45743 -16809661.96042 21018434.901 21018438.756 21018433.623
+ 1092.777 851.515 56.000 50.000
+ -11853889.06143 -9174920.22342 23041467.692 23041474.082 23041466.625
+ -1781.340 -1388.057 47.000 42.000
+ 04 2 1 0 40 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -8281312.11343 -6035950.87742 23476321.019 23476327.780 23476319.037
+ 2754.659 2146.488 47.000 41.000
+ -9206864.42743 -6924234.31642 23744480.487 23744487.368 23744479.766
+ -2890.550 -2252.377 45.000 39.000
+ -8040483.00743 -6077905.44242 23795485.963 23795489.943 23795482.545
+ 1764.887 1375.237 47.000 41.000
+ 6615205.16043 5167679.51242 24477090.877 24477095.298 24477088.349
+ -1880.764 -1465.530 46.000 39.000
+ -16572538.33843 -12862599.25642 22348930.024 22348934.664 22348928.783
+ -1834.695 -1429.632 51.000 44.000
+ -6210557.34143 -4782980.90942 23733897.576 23733903.095 23733896.385
+ -2854.730 -2224.465 45.000 40.000
+ -19684675.76743 -15288446.33242 21364587.107 21364590.065 21364586.118
+ 2236.845 1742.996 56.000 49.000
+ -9618207.39943 -7483520.46442 22769650.385 22769653.321 22769650.210
+ -2913.512 -2270.269 51.000 44.000
+ -21618915.34343 -16835000.56342 21012246.454 21012250.641 21012245.756
+ 1074.681 837.414 56.000 50.000
+ -11800429.80743 -9133263.72442 23051641.076 23051646.320 23051639.799
+ -1783.030 -1389.374 47.000 42.000
+ 04 2 1 0 41 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -8363818.94043 -6100241.83242 23460620.578 23460627.685 23460619.601
+ 2745.971 2139.718 48.000 41.000
+ -9120193.52043 -6856698.67942 23760973.381 23760979.677 23760973.907
+ -2887.613 -2250.088 45.000 39.000
+ -8093446.10843 -6119175.35742 23785407.736 23785410.844 23785405.093
+ 1766.224 1376.278 48.000 41.000
+ 6671649.25743 5211661.83742 24487830.209 24487835.200 24487828.265
+ -1882.238 -1466.679 43.000 38.000
+ -16517363.17743 -12819605.70042 22359430.294 22359434.596 22359428.833
+ -1843.812 -1436.737 51.000 44.000
+ -6124789.05043 -4716148.59342 23750218.954 23750225.398 23750217.201
+ -2863.162 -2231.035 46.000 40.000
+ -19751603.82043 -15340598.06042 21351851.547 21351853.828 21351850.052
+ 2225.141 1733.876 56.000 49.000
+ -9530763.79743 -7415382.63642 22786289.909 22786292.727 22786288.922
+ -2915.821 -2272.068 51.000 44.000
+ -21650889.98543 -16859915.86742 21006162.054 21006166.095 21006160.937
+ 1056.948 823.596 56.000 50.000
+ -11746915.35843 -9091564.21142 23061825.599 23061829.540 23061823.548
+ -1784.412 -1390.451 49.000 42.000
+ 04 2 1 0 41 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -8446059.18943 -6164325.02042 23444970.662 23444976.175 23444970.380
+ 2736.739 2132.524 48.000 41.000
+ -9033587.19243 -6789213.32842 23777454.816 23777461.476 23777453.455
+ -2886.005 -2248.835 44.000 39.000
+ -8146445.42043 -6160473.51042 23775322.244 23775325.362 23775318.971
+ 1767.259 1377.085 48.000 41.000
+ 6728122.36543 5255666.77842 24498576.877 24498580.856 24498576.344
+ -1883.043 -1467.306 46.000 39.000
+ -16461909.46043 -12776395.07742 22369981.792 22369986.893 22369981.055
+ -1853.124 -1443.993 51.000 44.000
+ -6038775.44943 -4649125.14242 23766587.669 23766593.213 23766584.599
+ -2871.312 -2237.386 45.000 40.000
+ -19818174.43143 -15392471.25942 21339183.770 21339185.920 21339182.381
+ 2212.960 1724.384 56.000 49.000
+ -9443250.49043 -7347190.51842 22802943.120 22802945.793 22802941.886
+ -2918.382 -2274.064 51.000 44.000
+ -21682324.04744 -16884409.93742 21000180.306 21000184.289 21000179.481
+ 1038.689 809.368 57.000 50.000
+ -11693349.66843 -9049824.76242 23072018.790 23072021.915 23072017.266
+ -1786.460 -1392.047 48.000 42.000
+ 04 2 1 0 42 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -8528024.99543 -6228194.38142 23429372.901 23429379.137 23429371.983
+ 2728.053 2125.756 48.000 41.000
+ -8947041.41643 -6721775.17042 23793924.767 23793930.959 23793923.595
+ -2882.979 -2246.477 46.000 39.000
+ -8199474.56843 -6201794.90342 23765229.543 23765234.936 23765229.257
+ 1768.451 1378.014 48.000 41.000
+ 6784631.85943 5299700.03742 24509332.285 24509334.190 24509331.260
+ -1883.847 -1467.933 47.000 39.000
+ -16406173.26243 -12732964.32342 22380588.070 22380593.324 22380586.557
+ -1862.278 -1451.126 50.000 44.000
+ -5952511.22743 -4581906.40742 23783002.851 23783009.157 23783001.186
+ -2879.877 -2244.060 46.000 40.000
+ -19884378.54143 -15444058.87442 21326585.466 21326587.666 21326583.955
+ 2201.047 1715.102 56.000 49.000
+ -9355662.76243 -7278940.38342 22819609.736 22819613.936 22819608.964
+ -2920.560 -2275.761 50.000 44.000
+ -21713209.23744 -16908476.31542 20994303.318 20994307.107 20994302.283
+ 1020.705 795.355 57.000 50.000
+ -11639725.44943 -9008039.67442 23082221.252 23082228.860 23082220.031
+ -1787.888 -1393.159 47.000 41.000
+ 04 2 1 0 42 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -8609717.05843 -6291850.40742 23413827.529 23413833.562 23413824.902
+ 2718.222 2118.095 47.000 41.000
+ -8860560.28943 -6654387.39342 23810379.977 23810386.631 23810379.152
+ -2881.210 -2245.099 45.000 39.000
+ -8252535.49243 -6243141.05742 23755134.117 23755137.823 23755132.048
+ 1769.131 1378.544 49.000 42.000
+ 6841176.68843 5343760.89442 24520090.837 24520094.286 24520089.979
+ -1885.454 -1469.185 44.000 38.000
+ -16350159.02843 -12689316.93842 22391247.475 22391252.928 22391246.555
+ -1872.068 -1458.754 50.000 44.000
+ -5865999.74043 -4514494.97142 23799464.937 23799472.090 23799463.242
+ -2888.163 -2250.517 47.000 41.000
+ -19950215.35943 -15495360.29242 21314057.095 21314058.960 21314055.620
+ 2188.282 1705.155 56.000 49.000
+ -9268004.39843 -7210635.21242 22836290.507 22836294.705 22836289.443
+ -2923.346 -2277.932 50.000 44.000
+ -21743545.23344 -16932114.75042 20988530.457 20988534.208 20988529.539
+ 1001.901 780.702 57.000 50.000
+ -11586043.94043 -8966209.97842 23092437.365 23092443.360 23092436.520
+ -1790.355 -1395.082 48.000 42.000
+ 04 2 1 0 43 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -8691138.61843 -6355295.68142 23398333.674 23398340.244 23398331.602
+ 2709.952 2111.651 47.000 41.000
+ -8774150.57743 -6587055.24742 23826824.759 23826830.049 23826822.891
+ -2879.255 -2243.575 45.000 39.000
+ -8305632.80243 -6284515.58242 23745028.169 23745033.531 23745028.076
+ 1771.008 1380.006 47.000 41.000
+ 6897753.47743 5387846.64242 24530857.149 24530860.441 24530854.616
+ -1886.408 -1469.928 43.000 37.000
+ -16293873.85543 -12645458.43742 22401958.668 22401964.553 22401957.877
+ -1880.382 -1465.233 51.000 44.000
+ -5779246.35243 -4446895.04942 23815972.929 23815981.006 23815971.782
+ -2895.439 -2256.186 47.000 41.000
+ -20015686.91043 -15546377.07542 21301597.834 21301600.255 21301596.734
+ 2176.674 1696.110 56.000 49.000
+ -9180281.89243 -7142280.06242 22852985.547 22852987.298 22852983.136
+ -2924.694 -2278.982 51.000 44.000
+ -21773334.66144 -16955327.28342 20982861.656 20982865.635 20982860.653
+ 984.224 766.928 57.000 50.000
+ -11532308.89143 -8924338.56842 23102663.526 23102668.687 23102661.078
+ -1791.768 -1396.183 49.000 42.000
+ 04 2 1 0 43 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -8772284.80143 -6418526.35942 23382891.759 23382897.946 23382890.472
+ 2700.563 2104.335 47.000 42.000
+ -8687810.92843 -6519777.71042 23843254.066 23843261.284 23843253.317
+ -2876.505 -2241.432 46.000 39.000
+ -8358762.60743 -6325915.43242 23734919.368 23734922.317 23734917.256
+ 1771.892 1380.695 48.000 41.000
+ 6954366.88043 5431960.92042 24541630.991 24541635.620 24541630.032
+ -1887.357 -1470.668 44.000 37.000
+ -16237316.58543 -12601387.89442 22412721.095 22412725.206 22412718.963
+ -1889.594 -1472.411 51.000 44.000
+ -5692248.39943 -4379104.56542 23832529.682 23832535.701 23832526.973
+ -2903.766 -2262.675 48.000 41.000
+ -20080786.58443 -15597104.09242 21289209.563 21289211.982 21289208.586
+ 2163.978 1686.217 56.000 49.000
+ -9092493.43043 -7073873.51442 22869691.602 22869693.376 22869688.820
+ -2927.205 -2280.939 51.000 44.000
+ -21802571.90144 -16978109.54242 20977297.993 20977301.688 20977297.021
+ 965.618 752.430 57.000 50.000
+ -11478515.82443 -8882421.93542 23112899.652 23112905.879 23112898.097
+ -1793.886 -1397.833 48.000 42.000
+ 04 2 1 0 44 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -8853156.65643 -6481543.30242 23367502.219 23367508.336 23367501.889
+ 2691.363 2097.166 48.000 41.000
+ -8601546.16843 -6452558.51742 23859669.618 23859676.921 23859669.025
+ -2873.912 -2239.412 45.000 40.000
+ -8411927.50643 -6367342.59342 23724802.489 23724806.815 23724801.636
+ 1772.855 1381.445 48.000 42.000
+ 7011015.25343 5476102.41142 24552412.195 24552416.080 24552409.574
+ -1888.768 -1471.767 45.000 38.000
+ -16180492.20343 -12557109.22442 22423534.117 22423538.964 22423533.500
+ -1898.246 -1479.153 51.000 44.000
+ -5605009.69443 -4311126.47342 23849130.431 23849137.404 23849128.748
+ -2911.734 -2268.884 48.000 41.000
+ -20145514.28743 -15647541.26442 21276892.694 21276894.778 21276891.699
+ 2151.530 1676.517 56.000 49.000
+ -9004643.23843 -7005418.88442 22886408.222 22886410.957 22886406.429
+ -2929.252 -2282.534 51.000 44.000
+ -21831257.50644 -17000461.95542 20971839.649 20971843.114 20971838.596
+ 947.222 738.095 57.000 50.000
+ -11424666.38243 -8840461.38642 23123146.367 23123151.240 23123144.871
+ -1795.834 -1399.351 48.000 42.000
+ 04 2 1 0 44 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -8933752.50543 -6544345.17742 23352165.547 23352171.811 23352164.473
+ 2682.213 2090.036 48.000 42.000
+ -8515357.91043 -6385398.95942 23876071.218 23876079.328 23876069.894
+ -2871.441 -2237.486 45.000 40.000
+ -8465126.96143 -6408796.70842 23714678.203 23714682.820 23714676.460
+ 1774.086 1382.405 48.000 41.000
+ 7067699.74543 5520272.06242 24563197.441 24563203.232 24563196.850
+ -1889.800 -1472.571 43.000 38.000
+ -16123402.85943 -12512624.08542 22434398.564 22434403.215 22434396.826
+ -1907.204 -1486.133 51.000 44.000
+ -5517530.89843 -4242961.31042 23865777.211 23865783.681 23865774.423
+ -2919.692 -2275.085 48.000 41.000
+ -20209866.82443 -15697686.09642 21264646.316 21264649.235 21264645.246
+ 2139.028 1666.775 56.000 49.000
+ -8916732.47043 -6936917.04042 22903136.424 22903140.593 22903135.332
+ -2931.139 -2284.004 50.000 44.000
+ -21859389.13244 -17022382.70242 20966486.298 20966489.837 20966485.111
+ 928.753 723.704 57.000 50.000
+ -11370759.46843 -8798456.03642 23133404.604 23133409.987 23133405.105
+ -1797.538 -1400.679 48.000 41.000
+ 04 2 1 0 45 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9014070.00743 -6606930.15242 23336881.194 23336886.536 23336880.575
+ 2672.831 2082.725 48.000 41.000
+ -8429247.19843 -6318299.81442 23892455.486 23892464.080 23892453.950
+ -2868.352 -2235.079 44.000 39.000
+ -8518359.90443 -6450276.90742 23704548.882 23704550.999 23704547.864
+ 1775.262 1383.321 48.000 41.000
+ 7124422.83743 5564471.77242 24573991.466 24573996.845 24573990.746
+ -1891.439 -1473.848 44.000 39.000
+ -16066049.90843 -12467933.53742 22445312.601 22445316.984 22445310.794
+ -1916.001 -1492.988 50.000 44.000
+ -5429812.03543 -4174609.07842 23882468.898 23882477.416 23882468.549
+ -2927.740 -2281.356 47.000 41.000
+ -20273840.53843 -15747535.73842 21252472.540 21252475.329 21252471.847
+ 2126.340 1656.888 56.000 49.000
+ -8828761.95643 -6868368.63542 22919877.104 22919879.189 22919875.454
+ -2933.006 -2285.459 50.000 43.000
+ -21886963.90744 -17043869.53442 20961238.846 20961242.907 20961237.942
+ 910.119 709.184 57.000 50.000
+ -11316792.99143 -8756404.27842 23143675.003 23143680.905 23143673.263
+ -1799.701 -1402.364 49.000 42.000
+ 04 2 1 0 45 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9094110.58343 -6669299.34942 23321648.897 23321655.567 23321649.457
+ 2663.127 2075.164 48.000 42.000
+ -8343218.98443 -6251264.97542 23908827.079 23908835.623 23908826.256
+ -2866.589 -2233.706 45.000 39.000
+ -8571628.79143 -6491785.17242 23694411.705 23694415.539 23694410.247
+ 1775.937 1383.847 48.000 41.000
+ 7181182.50743 5608700.06442 24584793.791 24584797.862 24584791.701
+ -1892.883 -1474.974 43.000 38.000
+ -16008438.66443 -12423041.73842 22456275.329 22456279.995 22456274.737
+ -1924.795 -1499.840 51.000 44.000
+ -5341856.66243 -4106072.58042 23899207.442 23899213.622 23899205.905
+ -2936.086 -2287.859 47.000 41.000
+ -20337435.45143 -15797090.20842 21240371.042 21240373.702 21240370.214
+ 2113.216 1646.662 56.000 49.000
+ -8740736.05043 -6799777.07342 22936628.398 22936632.029 22936626.696
+ -2935.470 -2287.379 51.000 44.000
+ -21913982.01444 -17064922.60042 20956097.288 20956101.291 20956096.573
+ 891.090 694.356 57.000 50.000
+ -11262768.94943 -8714307.67542 23153954.599 23153959.882 23153954.383
+ -1802.058 -1404.201 49.000 42.000
+ 04 2 1 0 46 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9173869.46243 -6731449.07542 23306473.162 23306477.617 23306470.852
+ 2652.690 2067.031 48.000 42.000
+ -8257272.03643 -6184293.44742 23925182.742 23925189.924 23925182.510
+ -2864.550 -2232.117 46.000 40.000
+ -8624930.16543 -6533318.69242 23684269.027 23684273.091 23684267.277
+ 1776.079 1383.958 48.000 42.000
+ 7237983.33543 5652960.31642 24595600.247 24595605.509 24595599.074
+ -1894.006 -1475.849 42.000 37.000
+ -15950568.24643 -12377947.96942 22467287.795 22467291.498 22467286.625
+ -1934.513 -1507.413 50.000 44.000
+ -5253662.92243 -4037350.31442 23915989.072 23915996.249 23915988.496
+ -2944.819 -2294.664 47.000 41.000
+ -20400645.46443 -15846344.76442 21228342.663 21228344.943 21228341.483
+ 2099.389 1635.888 56.000 49.000
+ -8652653.27643 -6731141.20942 22953388.570 22953392.553 22953387.843
+ -2938.393 -2289.657 50.000 44.000
+ -21940438.62444 -17085538.14542 20951062.693 20951066.395 20951061.935
+ 871.397 679.011 57.000 50.000
+ -11208683.08143 -8672162.86842 23164247.532 23164252.638 23164246.504
+ -1805.026 -1406.514 48.000 42.000
+ 04 2 1 0 46 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9253348.49243 -6793380.71642 23291346.727 23291354.512 23291345.908
+ 2644.441 2060.603 47.000 42.000
+ -8171411.69443 -6117389.40342 23941522.201 23941528.528 23941521.424
+ -2860.599 -2229.038 46.000 40.000
+ -8678267.05543 -6574879.88642 23674120.488 23674122.082 23674118.250
+ 1778.538 1385.874 49.000 41.000
+ 7294823.18143 5697251.00342 24606419.369 24606420.398 24606416.841
+ -1895.482 -1476.999 44.000 38.000
+ -15892444.19043 -12332656.56842 22478348.753 22478353.091 22478347.041
+ -1941.825 -1513.110 51.000 44.000
+ -5165234.70843 -3968445.37642 23932816.757 23932823.950 23932815.337
+ -2951.522 -2299.887 47.000 41.000
+ -20463470.91643 -15895299.65442 21216387.444 21216389.347 21216386.370
+ 2087.786 1626.846 56.000 49.000
+ -8564518.34143 -6662464.69542 22970159.465 22970164.383 22970159.520
+ -2938.657 -2289.862 50.000 43.000
+ -21966334.88444 -17105717.04642 20946134.911 20946138.741 20946133.953
+ 853.735 665.248 57.000 50.000
+ -11154537.54243 -8629971.58642 23174551.955 23174555.472 23174550.817
+ -1806.021 -1407.289 49.000 41.000
+ 04 2 1 0 47 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9332551.27243 -6855097.11242 23276276.451 23276282.344 23276274.438
+ 2635.539 2053.667 48.000 42.000
+ -8085644.87743 -6050558.23242 23957842.474 23957849.501 23957841.878
+ -2857.265 -2226.440 46.000 40.000
+ -8731644.19643 -6616472.45642 23663961.284 23663965.045 23663960.401
+ 1779.799 1386.856 48.000 41.000
+ 7351698.20243 5741569.13242 24617240.372 24617242.759 24617239.865
+ -1896.132 -1477.505 44.000 37.000
+ -15834073.88443 -12287173.28342 22489456.169 22489460.495 22489454.706
+ -1949.701 -1519.247 51.000 44.000
+ -5076578.31843 -3899362.63242 23949688.308 23949694.637 23949686.747
+ -2958.764 -2305.530 46.000 40.000
+ -20525913.88343 -15943956.50842 21204504.779 21204507.368 21204503.739
+ 2075.060 1616.930 56.000 49.000
+ -8476337.53443 -6593752.41342 22986940.512 22986944.229 22986940.305
+ -2940.063 -2290.958 50.000 44.000
+ -21991673.59744 -17125461.48642 20941312.942 20941317.003 20941312.146
+ 835.392 650.955 57.000 50.000
+ -11100336.31743 -8587736.89342 23184864.903 23184871.176 23184863.897
+ -1807.543 -1408.475 48.000 41.000
+ 04 2 1 0 47 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9411469.78343 -6916592.00942 23261257.670 23261265.673 23261256.091
+ 2625.642 2045.955 47.000 42.000
+ -7999966.75043 -5983796.18842 23974147.475 23974154.979 23974146.231
+ -2854.794 -2224.515 47.000 40.000
+ -8785054.49243 -6658090.87042 23653798.076 23653803.656 23653796.963
+ 1780.705 1387.562 48.000 41.000
+ 7408616.25243 5785920.83542 24628072.239 24628076.175 24628069.867
+ -1897.911 -1478.892 45.000 38.000
+ -15775452.95543 -12241494.70942 22500611.161 22500615.793 22500610.397
+ -1958.479 -1526.087 50.000 44.000
+ -4987687.97443 -3830097.57242 23966604.092 23966610.544 23966601.930
+ -2966.993 -2311.942 46.000 41.000
+ -20587964.84143 -15992307.89942 21192696.814 21192699.668 21192695.669
+ 2061.543 1606.397 56.000 49.000
+ -8388105.91643 -6525000.57142 23003730.765 23003734.183 23003729.719
+ -2941.993 -2292.462 50.000 43.000
+ -22016446.11644 -17144764.73342 20936598.999 20936602.902 20936598.032
+ 816.086 635.911 57.000 50.000
+ -11046071.76143 -8545452.88042 23195192.231 23195196.698 23195190.628
+ -1810.118 -1410.481 49.000 42.000
+ 04 2 1 0 48 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9490105.16743 -6977866.30342 23246293.828 23246300.295 23246292.864
+ 2616.219 2038.612 48.000 43.000
+ -7914381.85643 -5917106.77142 23990434.726 23990440.810 23990432.862
+ -2851.447 -2221.907 48.000 41.000
+ -8838500.22643 -6699736.84942 23643626.854 23643631.984 23643626.297
+ 1781.938 1388.523 47.000 41.000
+ 7465575.90643 5830304.90042 24638909.647 24638916.167 24638911.139
+ -1899.791 -1480.357 44.000 38.000
+ -15716586.39443 -12195624.72842 22511813.156 22511818.068 22511812.460
+ -1966.674 -1532.473 50.000 44.000
+ -4898567.28143 -3760653.01842 23983562.122 23983569.883 23983561.115
+ -2974.842 -2318.059 45.000 40.000
+ -20649623.29443 -16040353.44642 21180963.502 21180966.152 21180962.769
+ 2048.535 1596.261 56.000 49.000
+ -8299827.54143 -6456212.28042 23020529.457 23020533.964 23020528.578
+ -2943.556 -2293.680 50.000 44.000
+ -22040653.36344 -17163627.51942 20931992.972 20931996.450 20931991.789
+ 797.260 621.242 57.000 50.000
+ -10991745.30843 -8503120.62442 23205529.829 23205534.303 23205528.242
+ -1812.127 -1412.047 49.000 41.000
+ 04 2 1 0 48 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9568449.43443 -7038913.75342 23231385.979 23231392.894 23231383.593
+ 2607.409 2031.747 48.000 43.000
+ -7828885.64943 -5850486.47942 24006703.349 24006710.004 24006701.095
+ -2847.643 -2218.942 47.000 41.000
+ -8891974.64543 -6741405.25042 23633451.316 23633455.885 23633449.249
+ 1783.273 1389.563 48.000 41.000
+ 7522584.94143 5874727.50042 24649759.421 24649763.557 24649757.383
+ -1900.281 -1480.738 45.000 38.000
+ -15657470.03043 -12149560.10542 22523062.674 22523067.796 22523061.679
+ -1973.827 -1538.047 50.000 43.000
+ -4809210.61743 -3691024.60042 24000566.740 24000574.784 24000566.039
+ -2981.635 -2323.352 46.000 40.000
+ -20710879.84143 -16088085.81942 21169306.861 21169309.907 21169305.752
+ 2035.934 1586.442 56.000 49.000
+ -8211497.41643 -6387383.66342 23037338.622 23037340.245 23037338.150
+ -2944.446 -2294.373 50.000 44.000
+ -22064286.61644 -17182043.04442 20927495.318 20927499.133 20927494.273
+ 779.079 607.074 57.000 50.000
+ -10937349.52243 -8460734.34142 23215880.017 23215886.261 23215879.064
+ -1813.568 -1413.170 48.000 41.000
+ 04 2 1 0 49 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9646519.91143 -7099747.85242 23216529.949 23216536.796 23216529.053
+ 2597.255 2023.835 49.000 43.000
+ -7743498.79343 -5783951.39242 24022952.917 24022959.256 24022951.586
+ -2844.878 -2216.788 48.000 41.000
+ -8945496.04243 -6783110.21942 23623266.579 23623271.144 23623265.720
+ 1784.785 1390.742 47.000 41.000
+ 7579625.89143 5919174.93842 24660614.017 24660619.051 24660614.831
+ -1902.265 -1482.284 43.000 38.000
+ -15598124.84643 -12103317.18242 22534354.625 22534360.310 22534354.248
+ -1982.462 -1544.775 49.000 43.000
+ -4719637.55643 -3621227.57642 24017612.824 24017618.963 24017610.730
+ -2989.913 -2329.802 46.000 40.000
+ -20771750.94443 -16135517.84342 21157723.537 21157726.315 21157722.786
+ 2022.125 1575.682 56.000 49.000
+ -8123135.48943 -6318530.26842 23054153.075 23054156.941 23054152.909
+ -2946.451 -2295.936 50.000 44.000
+ -22087362.63644 -17200024.34842 20923104.475 20923107.981 20923103.376
+ 759.394 591.736 57.000 50.000
+ -10882901.93643 -8418307.70442 23226242.428 23226246.877 23226241.004
+ -1816.192 -1415.214 48.000 42.000
+ 04 2 1 0 49 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9724303.87743 -7160358.70342 23201727.996 23201733.549 23201726.592
+ 2587.585 2016.300 48.000 42.000
+ -7658211.85943 -5717494.15942 24039182.827 24039189.190 24039181.290
+ -2841.498 -2214.154 48.000 40.000
+ -8999052.83543 -6824842.78042 23613075.123 23613079.513 23613074.107
+ 1785.453 1391.262 47.000 41.000
+ 7636711.08243 5963656.77942 24671475.702 24671480.960 24671475.221
+ -1903.544 -1483.281 42.000 37.000
+ -15538542.05343 -12056889.11842 22545694.401 22545699.725 22545692.067
+ -1990.739 -1551.225 50.000 43.000
+ -4629837.83643 -3551253.90542 24034700.697 24034706.817 24034698.159
+ -2997.271 -2335.536 46.000 40.000
+ -20832222.11244 -16182638.23442 21146216.379 21146218.684 21146215.435
+ 2008.617 1565.156 57.000 49.000
+ -8034732.05143 -6249644.53342 23070976.885 23070979.605 23070974.923
+ -2947.898 -2297.063 51.000 44.000
+ -22109868.19944 -17217561.14942 20918821.907 20918825.453 20918820.877
+ 740.260 576.826 57.000 50.000
+ -10828390.25243 -8375831.11342 23236615.538 23236620.062 23236613.289
+ -1818.578 -1417.074 48.000 42.000
+ 04 2 1 0 50 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9801798.47443 -7220744.09142 23186980.249 23186986.017 23186979.851
+ 2578.308 2009.071 48.000 42.000
+ -7573025.27643 -5651115.11142 24055391.768 24055399.538 24055389.935
+ -2837.938 -2211.380 47.000 40.000
+ -9052643.34343 -6866601.59642 23602877.062 23602880.591 23602876.235
+ 1786.852 1392.352 47.000 41.000
+ 7693843.05743 6008175.10842 24682349.891 24682352.186 24682348.703
+ -1905.577 -1484.865 42.000 37.000
+ -15478722.52643 -12010276.55142 22557076.758 22557082.818 22557075.547
+ -1997.989 -1556.874 50.000 44.000
+ -4539811.49843 -3481103.67442 24051831.198 24051838.959 24051830.366
+ -3004.443 -2341.124 47.000 40.000
+ -20892288.92844 -16229443.54742 21134786.444 21134788.413 21134784.908
+ 1995.378 1554.840 57.000 49.000
+ -7946287.34643 -6180726.61942 23087806.246 23087810.396 23087806.439
+ -2948.744 -2297.722 51.000 44.000
+ -22131800.05244 -17234650.89542 20914647.588 20914651.356 20914646.796
+ 721.509 562.215 57.000 50.000
+ -10773812.09843 -8333302.75242 23247000.543 23247007.241 23246999.429
+ -1820.532 -1418.596 47.000 41.000
+ 04 2 1 0 50 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9879009.50443 -7280908.48942 23172288.706 23172294.803 23172287.235
+ 2569.480 2002.192 48.000 43.000
+ -7487947.89243 -5584821.19542 24071581.915 24071589.535 24071582.706
+ -2833.438 -2207.874 48.000 39.000
+ -9106274.27043 -6908391.90342 23592671.564 23592676.862 23592670.951
+ 1788.914 1393.959 48.000 42.000
+ 7751015.90843 6052725.36842 24693228.993 24693235.150 24693229.625
+ -1905.660 -1484.930 43.000 37.000
+ -15418675.81543 -11963486.98542 22568505.014 22568508.480 22568502.642
+ -2004.639 -1562.056 50.000 44.000
+ -4449566.65343 -3410783.16942 24069006.090 24069012.724 24069004.362
+ -3011.389 -2346.537 47.000 40.000
+ -20951955.91744 -16275937.30642 21123432.106 21123433.989 21123430.995
+ 1982.712 1544.970 57.000 49.000
+ -7857809.70743 -6111783.08842 23104643.665 23104647.772 23104642.540
+ -2949.271 -2298.133 51.000 44.000
+ -22153163.51144 -17251297.74442 20910582.734 20910586.564 20910581.567
+ 703.144 547.904 57.000 50.000
+ -10719173.38943 -8290727.18042 23257397.922 23257403.848 23257396.926
+ -1821.784 -1419.572 47.000 41.000
+ 04 2 1 0 51 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -9955931.31743 -7340847.52642 23157650.341 23157655.321 23157649.826
+ 2558.299 1993.480 48.000 43.000
+ -7402977.65943 -5518610.73042 24087750.882 24087758.286 24087751.097
+ -2831.400 -2206.286 46.000 39.000
+ -9159941.12543 -6950210.22142 23582460.699 23582463.986 23582458.019
+ 1788.511 1393.645 49.000 42.000
+ 7808235.17843 6097311.70542 24704119.023 24704123.063 24704117.378
+ -1909.101 -1487.611 44.000 37.000
+ -15358400.10243 -11916518.97042 22579974.072 22579979.436 22579972.866
+ -2014.154 -1569.471 50.000 44.000
+ -4359099.83043 -3340289.67942 24086220.516 24086225.988 24086218.616
+ -3020.068 -2353.300 46.000 39.000
+ -21011216.07944 -16322114.05442 21112155.016 21112157.454 21112153.900
+ 1967.459 1533.085 57.000 49.000
+ -7769296.34443 -6042811.68242 23121488.472 23121490.704 23121486.648
+ -2952.118 -2300.352 51.000 43.000
+ -22173952.21244 -17267496.72242 20906626.646 20906630.496 20906625.472
+ 682.338 531.692 57.000 50.000
+ -10664468.82343 -8248100.30142 23267807.469 23267812.516 23267807.310
+ -1825.549 -1422.506 47.000 41.000
+ 04 2 1 0 51 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10032567.70643 -7400564.14142 23143066.919 23143073.433 23143066.074
+ 2549.814 1986.868 48.000 43.000
+ -7318121.77243 -5452489.36842 24103899.467 24103906.301 24103899.815
+ -2826.645 -2202.580 46.000 39.000
+ -9213648.49343 -6992060.08842 23572239.514 23572244.076 23572238.303
+ 1790.936 1395.535 48.000 42.000
+ 7865496.82643 6141931.07442 24715015.821 24715016.856 24715014.361
+ -1909.342 -1487.799 43.000 36.000
+ -15297902.76743 -11869378.26242 22591487.232 22591492.482 22591485.497
+ -2020.323 -1574.278 50.000 44.000
+ -4268417.15743 -3269627.99542 24103477.792 24103483.787 24103476.087
+ -3026.639 -2358.420 46.000 39.000
+ -21070071.64344 -16367975.53342 21100955.065 21100957.439 21100954.062
+ 1954.981 1523.362 57.000 49.000
+ -7680753.89743 -5973817.63842 23138336.711 23138340.291 23138334.193
+ -2951.883 -2300.168 50.000 43.000
+ -22194169.68544 -17283250.59242 20902779.635 20902783.078 20902778.450
+ 664.343 517.670 57.000 50.000
+ -10609702.64743 -8205425.39442 23278229.527 23278235.043 23278228.142
+ -1826.465 -1423.219 48.000 41.000
+ 04 2 1 0 52 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10108911.54043 -7460052.80142 23128539.596 23128545.910 23128538.083
+ 2539.288 1978.666 48.000 43.000
+ -7233376.19943 -5386453.97842 24120026.273 24120031.295 24120024.699
+ -2823.210 -2199.904 46.000 39.000
+ -9267390.21943 -7033936.77742 23562012.883 23562016.735 23562011.578
+ 1791.377 1395.878 49.000 42.000
+ 7922807.99543 6186589.04842 24725919.414 24725920.792 24725917.415
+ -1911.878 -1489.775 40.000 35.000
+ -15237180.32643 -11822062.15742 22603041.291 22603046.663 22603040.644
+ -2028.472 -1580.627 50.000 44.000
+ -4177513.93043 -3198794.47842 24120776.054 24120782.458 24120774.782
+ -3034.330 -2364.413 46.000 39.000
+ -21128514.14643 -16413515.15042 21089833.672 21089836.196 21089832.692
+ 1940.720 1512.249 56.000 49.000
+ -7592177.98843 -5904797.50842 23155191.313 23155195.998 23155189.469
+ -2953.620 -2301.522 50.000 43.000
+ -22213808.14244 -17298553.28042 20899042.092 20899046.014 20899041.232
+ 644.497 502.205 57.000 50.000
+ -10554867.73443 -8162696.95142 23288665.179 23288670.293 23288664.130
+ -1829.651 -1425.702 48.000 41.000
+ 04 2 1 0 52 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10184966.36043 -7519316.25742 23114067.196 23114072.332 23114065.417
+ 2530.354 1971.704 49.000 43.000
+ -7148747.44843 -5320509.61142 24136129.749 24136139.643 24136129.150
+ -2819.005 -2196.627 46.000 39.000
+ -9321170.78243 -7075843.71642 23551778.200 23551781.897 23551776.166
+ 1793.413 1397.465 48.000 42.000
+ 7980164.81243 6231282.62142 24736832.331 24736838.830 24736830.770
+ -1913.180 -1490.790 39.000 35.000
+ -15176240.25843 -11774576.46742 22614638.682 22614642.769 22614636.175
+ -2034.800 -1585.558 50.000 43.000
+ -4086395.94043 -3127793.63842 24138115.462 24138121.487 24138115.828
+ -3041.101 -2369.689 47.000 39.000
+ -21186545.48943 -16458734.38242 21078790.825 21078793.454 21078789.613
+ 1927.539 1501.978 56.000 49.000
+ -7503574.87443 -5835756.19742 23172052.658 23172056.961 23172051.696
+ -2953.875 -2301.721 50.000 43.000
+ -22232870.99844 -17313407.45542 20895414.845 20895418.632 20895414.151
+ 625.790 487.628 57.000 50.000
+ -10499968.12843 -8119918.11242 23299110.593 23299117.711 23299109.618
+ -1831.014 -1426.764 46.000 40.000
+ 04 2 1 0 53 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10260728.13043 -7578351.36142 23099649.238 23099653.914 23099649.004
+ 2520.376 1963.929 49.000 43.000
+ -7064234.36343 -5254655.40342 24152213.629 24152219.739 24152212.794
+ -2815.360 -2193.787 46.000 39.000
+ -9374987.22643 -7117778.57642 23541536.338 23541540.670 23541534.821
+ 1794.091 1397.993 48.000 42.000
+ 8037571.30643 6276014.94442 24747757.592 24747762.732 24747759.396
+ -1914.397 -1491.738 40.000 34.000
+ -15115081.95443 -11726920.71542 22626276.588 22626282.128 22626275.224
+ -2042.454 -1591.522 50.000 43.000
+ -3995061.73543 -3056624.31342 24155495.662 24155503.133 24155495.157
+ -3048.597 -2375.530 47.000 39.000
+ -21244160.19644 -16503628.95842 21067826.795 21067829.586 21067826.000
+ 1913.317 1490.896 57.000 49.000
+ -7414943.11143 -5766692.55342 23188917.960 23188920.913 23188916.420
+ -2955.173 -2302.732 49.000 42.000
+ -22251353.41744 -17327809.33142 20891897.959 20891901.710 20891897.162
+ 606.218 472.378 57.000 50.000
+ -10444999.80343 -8077085.69542 23309571.926 23309577.983 23309571.455
+ -1833.517 -1428.714 47.000 41.000
+ 04 2 1 0 53 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10336201.46743 -7637161.72142 23085288.187 23085292.883 23085287.168
+ 2510.458 1956.201 49.000 43.000
+ -6979844.91443 -5188897.53342 24168270.637 24168279.712 24168269.221
+ -2811.180 -2190.530 45.000 39.000
+ -9428844.99443 -7159745.66042 23531289.388 23531291.998 23531287.857
+ 1795.602 1399.170 49.000 42.000
+ 8095022.76543 6320782.17842 24758692.805 24758694.314 24758690.532
+ -1916.062 -1493.035 40.000 35.000
+ -15053713.82143 -11679101.48042 22637953.944 22637958.680 22637952.559
+ -2049.580 -1597.075 49.000 43.000
+ -3903518.46543 -2985292.05242 24172914.985 24172923.281 24172913.020
+ -3055.071 -2380.575 45.000 39.000
+ -21301361.55944 -16548201.45542 21056942.040 21056944.895 21056941.069
+ 1899.411 1480.061 57.000 49.000
+ -7326290.04143 -5697612.29242 23205788.378 23205791.074 23205787.508
+ -2955.636 -2303.093 49.000 42.000
+ -22269259.97444 -17341762.48842 20888490.804 20888493.932 20888489.307
+ 586.900 457.325 57.000 50.000
+ -10389967.75743 -8034203.62242 23320043.569 23320051.138 23320042.709
+ -1835.865 -1430.544 48.000 41.000
+ 04 2 1 0 54 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10411380.78743 -7695742.93442 23070982.539 23070986.800 23070981.209
+ 2501.361 1949.112 49.000 43.000
+ -6895576.83443 -5123234.24942 24184306.973 24184313.009 24184307.377
+ -2806.404 -2186.808 45.000 38.000
+ -9482739.14443 -7201741.10042 23521033.039 23521036.876 23521032.472
+ 1797.321 1400.510 48.000 42.000
+ 8152524.65943 6365588.72742 24769636.510 24769637.242 24769636.153
+ -1917.371 -1494.055 41.000 35.000
+ -14992134.00443 -11631117.29142 22649671.977 22649677.756 22649671.811
+ -2055.912 -1602.009 49.000 43.000
+ -3811762.43143 -2913794.04842 24190376.462 24190383.424 24190374.314
+ -3061.769 -2385.794 46.000 39.000
+ -21358142.26144 -16592446.15842 21046136.873 21046139.717 21046135.856
+ 1885.966 1469.584 57.000 49.000
+ -7237612.85443 -5628513.24342 23222664.098 23222666.140 23222661.842
+ -2955.939 -2303.329 49.000 42.000
+ -22286584.57944 -17355262.17742 20885193.444 20885197.354 20885192.519
+ 568.070 442.652 57.000 50.000
+ -10334866.47743 -7991267.60742 23330530.364 23330535.621 23330529.075
+ -1837.724 -1431.993 47.000 41.000
+ 04 2 1 0 54 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10486267.42743 -7754096.11442 23056729.772 23056736.698 23056730.213
+ 2491.973 1941.797 49.000 43.000
+ -6811434.52443 -5057668.96042 24200320.225 24200325.454 24200317.379
+ -2801.902 -2183.300 46.000 39.000
+ -9536672.18043 -7243766.84342 23510769.048 23510773.512 23510769.584
+ 1798.945 1401.775 48.000 42.000
+ 5059235.40153 3955233.41052 24780583.806 24780588.932 24780581.615
+ -1918.574 -1494.993 37.000 34.000
+ -14930347.58943 -11582972.11842 22661429.440 22661434.971 22661428.923
+ -2062.283 -1606.974 50.000 43.000
+ -3719797.65843 -2842133.35542 24207876.423 24207884.017 24207876.128
+ -3068.496 -2391.036 46.000 40.000
+ -21414502.45643 -16636363.19942 21035411.809 21035414.498 21035410.696
+ 1872.167 1458.831 56.000 50.000
+ -7148915.44043 -5559398.45542 23239542.071 23239545.299 23239540.453
+ -2956.443 -2303.722 49.000 42.000
+ -22303328.19844 -17368309.15142 20882007.413 20882011.078 20882006.392
+ 548.998 427.791 57.000 50.000
+ -10279697.79643 -7948279.10242 23341027.775 23341034.118 23341027.385
+ -1839.362 -1433.269 47.000 41.000
+ 04 2 1 0 55 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10560861.69943 -7812221.48142 23042535.906 23042541.181 23042535.432
+ 2481.092 1933.318 49.000 43.000
+ -6727421.25843 -4992204.20742 24216306.012 24216313.466 24216305.571
+ -2798.543 -2180.683 45.000 38.000
+ -9590645.13343 -7285823.67742 23500499.040 23500502.572 23500496.988
+ 1799.425 1402.149 49.000 42.000
+ 5116834.64543 4000115.79742 24791546.612 24791550.815 24791547.095
+ -1921.459 -1497.241 41.000 34.000
+ -14868358.53743 -11534669.03642 22673225.389 22673232.665 22673224.936
+ -2070.208 -1613.149 49.000 43.000
+ -3627627.02843 -2770312.26042 24225416.636 24225424.269 24225414.186
+ -3075.925 -2396.825 46.000 39.000
+ -21470441.03444 -16679951.70242 21024767.426 21024769.843 21024766.039
+ 1857.128 1447.113 57.000 50.000
+ -7060200.73343 -5490270.16842 23256423.004 23256428.112 23256422.868
+ -2957.789 -2304.771 49.000 42.000
+ -22319490.76744 -17380903.35542 20878931.357 20878935.547 20878930.690
+ 528.696 411.971 57.000 50.000
+ -10224462.00643 -7905238.27742 23351539.094 23351545.030 23351537.917
+ -1842.828 -1435.970 48.000 41.000
+ 04 2 1 0 55 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10635159.09643 -7870115.51042 23028397.382 23028403.278 23028395.669
+ 2471.475 1925.825 49.000 43.000
+ -6643535.61243 -4926838.92642 24232268.567 24232276.543 24232267.803
+ -2793.898 -2177.063 44.000 39.000
+ -9644654.27743 -7327908.71742 23490222.579 23490225.507 23490219.220
+ 1800.822 1403.238 49.000 42.000
+ 5174486.83043 4045039.52142 24802516.577 24802519.263 24802515.088
+ -1923.128 -1498.541 41.000 34.000
+ -14806165.81143 -11486207.25142 22685061.459 22685066.235 22685058.854
+ -2076.608 -1618.136 49.000 43.000
+ -3535248.25843 -2698328.97842 24242995.523 24243002.629 24242992.750
+ -3083.132 -2402.440 46.000 40.000
+ -21525951.72244 -16723206.78542 21014203.837 21014206.435 21014202.893
+ 1843.048 1436.141 57.000 50.000
+ -6971466.73343 -5421126.87742 23273309.162 23273311.820 23273307.774
+ -2958.232 -2305.116 48.000 41.000
+ -22335067.17244 -17393040.81842 20875967.459 20875971.054 20875966.720
+ 509.254 396.821 57.000 50.000
+ -10169154.69343 -7862141.75342 23362064.317 23362069.839 23362062.417
+ -1845.103 -1437.742 47.000 41.000
+ 04 2 1 0 56 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10709163.83143 -7927781.48042 23014314.743 23014320.472 23014311.911
+ 2461.781 1918.271 49.000 43.000
+ -6559784.79443 -4861578.67742 24248205.456 24248215.092 24248204.157
+ -2789.697 -2173.790 45.000 39.000
+ -9698704.51443 -7370025.77042 23479936.250 23479940.016 23479934.818
+ 1802.026 1404.176 48.000 42.000
+ 5232187.89043 4090001.29642 24813498.738 24813501.869 24813496.958
+ -1924.800 -1499.844 41.000 35.000
+ -14743777.31343 -11437592.92942 22696932.540 22696938.104 22696931.464
+ -2083.287 -1623.340 48.000 43.000
+ -3442667.63743 -2626188.42442 24260613.703 24260620.464 24260612.858
+ -3089.517 -2407.416 47.000 40.000
+ -21581037.33144 -16766130.63442 21003721.339 21003724.027 21003720.519
+ 1828.775 1425.019 57.000 50.000
+ -6882720.18743 -5351973.77242 23290196.900 23290201.393 23290194.501
+ -2958.621 -2305.419 48.000 41.000
+ -22350061.40944 -17404724.64142 20873113.755 20873118.081 20873113.026
+ 489.751 381.624 57.000 50.000
+ -10113780.22743 -7818992.87142 23372600.286 23372605.747 23372598.683
+ -1847.352 -1439.495 46.000 40.000
+ 04 2 1 0 56 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10782870.94143 -7985215.55642 23000288.832 23000295.273 23000287.957
+ 2452.587 1911.107 49.000 43.000
+ -6476166.75943 -4796421.91942 24264118.862 24264126.306 24264118.150
+ -2784.425 -2169.682 45.000 39.000
+ -9752791.80543 -7412171.70642 23469643.252 23469647.158 23469640.483
+ 1803.859 1405.604 49.000 42.000
+ 5289942.65443 4135004.93542 24824488.540 24824494.184 24824486.892
+ -1925.596 -1500.464 42.000 35.000
+ -14681191.66543 -11388824.97742 22708841.804 22708848.375 22708840.805
+ -2088.801 -1627.637 48.000 43.000
+ -3349882.90543 -2553888.78842 24278270.403 24278277.667 24278267.588
+ -3095.750 -2412.273 46.000 39.000
+ -21635691.30243 -16808718.14242 20993321.007 20993323.486 20993320.278
+ 1815.075 1414.344 56.000 50.000
+ -6793958.70243 -5282809.06042 23307088.146 23307090.672 23307087.621
+ -2958.417 -2305.260 48.000 41.000
+ -22364468.11244 -17415950.64042 20870372.772 20870376.498 20870371.779
+ 470.913 366.945 57.000 50.000
+ -10058333.75843 -7775787.88042 23383153.398 23383157.434 23383150.760
+ -1849.016 -1440.792 47.000 41.000
+ 04 2 1 0 57 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10856282.46643 -8042419.28842 22986318.181 22986324.921 22986317.346
+ 2441.315 1902.323 49.000 42.000
+ -6392686.39443 -4731372.43942 24280004.898 24280011.795 24280003.763
+ -2781.011 -2167.021 45.000 39.000
+ -9806918.85643 -7454348.60942 23459345.011 23459348.193 23459342.186
+ 1803.619 1405.417 50.000 43.000
+ 5347749.23053 4180048.92052 24835485.408 24835496.213 24835485.375
+ -1928.523 -1502.745 40.000 34.000
+ -14618414.54043 -11339907.82542 22720788.071 22720793.782 22720787.256
+ -2096.485 -1633.625 48.000 42.000
+ -3256898.21943 -2481433.34942 24295964.236 24295970.218 24295962.071
+ -3103.819 -2418.560 46.000 39.000
+ -21689914.45644 -16850969.94842 20983002.994 20983005.691 20983001.663
+ 1799.566 1402.259 57.000 50.000
+ -6705186.86443 -5213636.25042 23323981.101 23323982.619 23323979.992
+ -2959.921 -2306.432 48.000 41.000
+ -22378289.17144 -17426720.30242 20867742.485 20867746.646 20867741.119
+ 450.175 350.786 57.000 50.000
+ -10002817.44743 -7732528.47742 23393716.568 23393722.969 23393714.860
+ -1852.483 -1443.493 47.000 41.000
+ 04 2 1 0 57 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10929397.06043 -8099391.65742 22972406.590 22972410.546 22972405.174
+ 2432.714 1895.621 50.000 43.000
+ -6309345.41443 -4666431.58842 24295864.190 24295870.962 24295862.829
+ -2774.985 -2162.326 46.000 40.000
+ -9861084.94843 -7496555.91342 23449036.264 23449040.835 23449035.573
+ 1806.539 1407.693 49.000 42.000
+ 5405608.80343 4225134.25942 24846499.564 24846504.577 24846498.300
+ -1929.220 -1503.288 43.000 36.000
+ -14555448.02543 -11290843.09842 22732771.252 22732776.256 22732770.023
+ -2101.706 -1637.693 49.000 42.000
+ -3163714.41543 -2408822.77042 24313696.827 24313703.970 24313694.899
+ -3109.275 -2422.812 46.000 39.000
+ -21743703.79243 -16892883.72342 20972766.913 20972769.737 20972765.812
+ 1786.126 1391.786 56.000 50.000
+ -6616405.80743 -5144456.29842 23340875.104 23340879.038 23340874.544
+ -2958.938 -2305.666 49.000 42.000
+ -22391522.74644 -17437032.17442 20865224.381 20865228.059 20865223.507
+ 431.781 336.453 57.000 50.000
+ -9947230.10543 -7689213.71042 23404295.254 23404300.772 23404292.589
+ -1853.573 -1444.342 46.000 41.000
+ 04 2 1 0 58 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11002215.53343 -8156133.28942 22958548.877 22958554.528 22958548.175
+ 2422.393 1887.579 49.000 42.000
+ -6226147.53943 -4601602.22942 24311695.844 24311703.730 24311694.983
+ -2770.715 -2158.999 46.000 40.000
+ -9915291.63343 -7538794.88542 23438721.886 23438724.070 23438720.247
+ 1807.538 1408.471 49.000 42.000
+ 5463520.52243 4270260.16042 24857518.433 24857522.800 24857519.298
+ -1931.370 -1504.964 38.000 36.000
+ -14492296.60543 -11241634.26942 22744788.991 22744794.098 22744787.179
+ -2108.150 -1642.714 49.000 42.000
+ -3070334.68343 -2336059.52242 24331465.484 24331475.731 24331464.893
+ -3115.744 -2427.852 45.000 39.000
+ -21797058.35743 -16934458.71142 20962613.892 20962616.335 20962613.000
+ 1771.249 1380.194 56.000 50.000
+ -6527618.60343 -5075271.51542 23357770.164 23357775.219 23357770.365
+ -2959.541 -2306.136 48.000 41.000
+ -22404169.34844 -17446886.66542 20862817.622 20862821.742 20862816.696
+ 411.843 320.917 57.000 50.000
+ -9891572.40843 -7645844.16542 23414886.527 23414892.630 23414885.515
+ -1856.495 -1446.619 47.000 41.000
+ 04 2 1 0 58 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11074731.65843 -8212639.32742 22944749.790 22944754.931 22944748.733
+ 2412.260 1879.683 49.000 43.000
+ -6143089.68043 -4536881.98442 24327501.207 24327509.219 24327498.862
+ -2766.331 -2155.582 45.000 40.000
+ -9969533.39043 -7581061.16042 23428398.604 23428403.779 23428397.297
+ 1808.738 1409.406 48.000 42.000
+ 5521490.58443 4315431.57442 24868551.199 24868553.327 24868549.835
+ -1933.033 -1506.259 40.000 35.000
+ -14428957.81443 -11192279.45742 22756842.102 22756847.615 22756841.059
+ -2114.165 -1647.401 49.000 43.000
+ -2976755.24843 -2263140.64542 24349272.780 24349282.475 24349271.624
+ -3122.721 -2433.289 45.000 38.000
+ -21849970.76544 -16975689.16142 20952545.057 20952547.727 20952543.934
+ 1756.487 1368.691 57.000 50.000
+ -6438821.48843 -5006079.03142 23374668.210 23374671.144 23374666.443
+ -2959.670 -2306.236 49.000 42.000
+ -22416222.60044 -17456278.81342 20860524.175 20860527.728 20860523.023
+ 391.958 305.422 57.000 50.000
+ -9835838.48843 -7602415.20942 23425491.588 23425498.713 23425490.884
+ -1858.792 -1448.409 47.000 41.000
+ 04 2 1 0 59 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11146949.55543 -8268912.97642 22931006.645 22931012.605 22931005.866
+ 2402.731 1872.258 49.000 43.000
+ -6060178.61643 -4472276.12542 24343278.926 24343287.410 24343278.066
+ -2760.790 -2151.265 47.000 40.000
+ -10023815.05543 -7623358.57042 23418069.368 23418072.011 23418066.224
+ 1810.368 1410.676 48.000 42.000
+ 5579514.98643 4360645.22942 24879592.569 24879593.751 24879590.480
+ -1934.318 -1507.261 40.000 36.000
+ -14365439.24643 -11142784.56042 22768929.784 22768934.345 22768928.261
+ -2119.927 -1651.891 48.000 42.000
+ -2882982.80243 -2190071.38442 24367118.660 24367125.984 24367117.130
+ -3128.351 -2437.676 44.000 38.000
+ -21902443.82043 -17016577.25742 20942559.634 20942562.486 20942558.920
+ 1742.212 1357.568 56.000 50.000
+ -6350021.44243 -4936884.27242 23391566.377 23391569.709 23391565.539
+ -2959.465 -2306.077 48.000 41.000
+ -22427686.48144 -17465211.70342 20858342.420 20858346.389 20858341.488
+ 372.727 290.437 57.000 50.000
+ -9780032.55243 -7558930.13542 23436110.740 23436118.125 23436110.422
+ -1861.116 -1450.220 46.000 41.000
+ 04 2 1 0 59 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11218870.57643 -8324955.27642 22917321.789 22917325.898 22917320.074
+ 2392.404 1864.211 50.000 43.000
+ -5977418.74743 -4407788.08442 24359028.751 24359036.912 24359027.814
+ -2756.277 -2147.748 46.000 40.000
+ -10078138.68043 -7665688.62542 23407732.656 23407735.288 23407730.050
+ 1811.488 1411.549 48.000 42.000
+ 5637592.31843 4405900.21342 24890644.282 24890646.424 24890642.483
+ -1937.193 -1509.501 40.000 35.000
+ -14301745.86243 -11093153.44842 22781048.578 22781055.272 22781048.786
+ -2126.006 -1656.628 49.000 43.000
+ -2789020.91843 -2116854.49642 24384999.730 24385006.664 24384997.847
+ -3135.531 -2443.271 44.000 37.000
+ -21954477.42244 -17057122.92242 20932658.263 20932661.007 20932657.028
+ 1727.027 1345.735 57.000 50.000
+ -6261221.90343 -4867689.89742 23408465.109 23408467.565 23408463.873
+ -2960.104 -2306.574 49.000 42.000
+ -22438562.07444 -17473686.18642 20856273.199 20856277.128 20856272.182
+ 352.644 274.788 57.000 50.000
+ -9724156.04443 -7515390.04642 23446744.787 23446752.075 23446744.369
+ -1863.956 -1452.433 47.000 41.000
+ 04 2 1 1 0 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11290489.93443 -8380762.52742 22903691.295 22903697.971 22903689.966
+ 2382.497 1856.491 50.000 43.000
+ -5894807.93643 -4343416.19442 24374747.292 24374756.068 24374746.672
+ -2750.859 -2143.526 46.000 40.000
+ -10132500.13243 -7708048.19742 23397385.334 23397391.574 23397384.573
+ 1812.920 1412.665 48.000 42.000
+ 5695727.44543 4451200.22842 24901705.333 24901710.437 24901703.389
+ -1939.166 -1511.038 41.000 36.000
+ -14237876.34343 -11043385.08642 22793204.601 22793210.123 22793202.765
+ -2131.794 -1661.138 50.000 43.000
+ -2694867.08743 -2043488.07042 24402914.929 24402924.134 24402913.719
+ -3141.657 -2448.044 42.000 37.000
+ -22006064.93744 -17097320.98742 20922841.462 20922844.110 20922840.387
+ 1712.288 1334.250 57.000 50.000
+ -6172420.55043 -4798494.12242 23425362.617 23425367.891 23425360.961
+ -2959.756 -2306.303 49.000 42.000
+ -22448844.37944 -17481698.37242 20854316.244 20854320.061 20854315.382
+ 333.057 259.525 57.000 50.000
+ -9668204.02543 -7471791.11142 23457392.555 23457396.431 23457390.573
+ -1866.250 -1454.221 47.000 40.000
+ 04 2 1 1 0 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11361807.39543 -8436334.53542 22890120.383 22890125.102 22890119.718
+ 2372.064 1848.362 50.000 43.000
+ -5812348.47043 -4279162.23842 24390439.980 24390448.732 24390439.182
+ -2746.315 -2139.986 47.000 40.000
+ -10186899.65743 -7750437.39942 23387035.695 23387040.159 23387034.467
+ 1813.901 1413.429 48.000 42.000
+ 5753920.65743 4496545.36242 24912780.437 24912785.532 24912779.078
+ -1940.851 -1512.351 43.000 37.000
+ -14173834.00343 -10993482.04842 22805391.358 22805396.051 22805390.325
+ -2137.812 -1665.827 50.000 43.000
+ -2600523.45943 -1969973.75842 24420868.040 24420876.406 24420867.253
+ -3147.911 -2452.918 42.000 36.000
+ -22057204.78344 -17137170.21942 20913110.018 20913112.485 20913109.144
+ 1697.083 1322.402 57.000 50.000
+ -6083619.36543 -4729298.48342 23442260.427 23442265.692 23442259.564
+ -2960.153 -2306.613 49.000 42.000
+ -22458532.70144 -17489247.71842 20852472.883 20852476.405 20852471.736
+ 313.022 243.913 57.000 50.000
+ -9612176.35443 -7428133.22942 23468053.668 23468059.454 23468052.061
+ -1868.906 -1456.290 46.000 41.000
+ 04 2 1 1 1 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11432823.17843 -8491671.47342 22876606.682 22876611.780 22876605.604
+ 2362.079 1840.581 50.000 43.000
+ -5730043.82443 -4215028.93742 24406102.560 24406108.489 24406101.638
+ -2741.266 -2136.051 46.000 39.000
+ -10241338.01543 -7792856.88742 23376675.697 23376681.245 23376674.833
+ 1815.267 1414.494 48.000 42.000
+ 5812171.68743 4541935.73042 24923866.481 24923869.849 24923865.616
+ -1942.789 -1513.861 43.000 36.000
+ -14109622.54543 -10943447.22742 22817608.370 22817614.581 22817607.653
+ -2143.280 -1670.088 49.000 43.000
+ -2505992.22643 -1896313.24242 24438858.917 24438865.167 24438856.374
+ -3154.518 -2458.066 44.000 36.000
+ -22107895.69344 -17176669.62842 20903463.475 20903465.965 20903462.643
+ 1682.055 1310.692 57.000 50.000
+ -5994820.99343 -4660104.96642 23459159.561 23459162.598 23459158.188
+ -2960.004 -2306.497 49.000 42.000
+ -22467627.20844 -17496334.33842 20850742.049 20850746.062 20850741.120
+ 293.132 228.415 57.000 50.000
+ -9556073.16943 -7384416.54342 23478729.961 23478736.388 23478728.808
+ -1871.679 -1458.451 47.000 41.000
+ 04 2 1 1 1 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11503537.19443 -8546773.24142 22863149.789 22863155.749 22863149.438
+ 2352.368 1833.014 50.000 43.000
+ -5647896.67943 -4151018.35642 24421735.890 24421742.003 24421734.201
+ -2735.289 -2131.394 47.000 40.000
+ -10295815.67243 -7835306.98042 23366309.004 23366313.839 23366307.150
+ 1817.089 1415.914 48.000 42.000
+ 5870480.89343 4587371.35642 24934962.721 24934964.166 24934962.845
+ -1944.181 -1514.946 44.000 36.000
+ -14045245.44443 -10893283.34742 22829860.383 22829867.068 22829859.653
+ -2148.280 -1673.984 50.000 43.000
+ -2411275.77143 -1822508.41242 24456880.556 24456888.867 24456879.058
+ -3159.475 -2461.928 39.000 35.000
+ -22158136.06444 -17215817.97142 20893903.218 20893905.683 20893902.305
+ 1667.507 1299.356 57.000 50.000
+ -5906027.56743 -4590915.37842 23476056.307 23476059.663 23476055.285
+ -2959.348 -2305.985 49.000 42.000
+ -22476127.62744 -17502958.04242 20849124.288 20849128.209 20849123.504
+ 273.867 213.403 57.000 50.000
+ -9499894.46443 -7340640.96742 23489419.845 23489425.614 23489418.476
+ -1873.729 -1460.048 47.000 40.000
+ 04 2 1 1 2 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11573951.37543 -8601641.39142 22849750.600 22849756.786 22849750.202
+ 2341.312 1824.399 50.000 43.000
+ -5565911.43143 -4087133.93642 24437337.231 24437343.305 24437334.193
+ -2730.809 -2127.903 47.000 40.000
+ -10350335.15843 -7877789.66342 23355934.090 23355938.858 23355932.519
+ 1817.118 1415.936 48.000 42.000
+ 5928846.41043 4632850.85342 24946069.054 24946072.793 24946066.827
+ -1947.497 -1517.530 44.000 36.000
+ -13980708.06843 -10842994.56142 22842142.064 22842147.315 22842141.399
+ -2154.831 -1679.089 50.000 43.000
+ -2316378.35243 -1748562.53642 24474941.336 24474949.022 24474939.157
+ -3167.567 -2468.234 41.000 36.000
+ -22207926.29244 -17254615.55542 20884428.735 20884431.112 20884427.524
+ 1651.308 1286.734 57.000 50.000
+ -5817243.50943 -4521733.07142 23492951.424 23492955.294 23492952.230
+ -2960.230 -2306.673 49.000 42.000
+ -22484035.74044 -17509120.20942 20847619.918 20847623.580 20847618.679
+ 252.926 197.085 57.000 50.000
+ -9443642.23443 -7296808.12842 23500125.795 23500130.328 23500124.647
+ -1877.066 -1462.649 47.000 41.000
+ 04 2 1 1 2 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11644059.73343 -8656271.23542 22836409.750 22836414.995 22836407.484
+ 2332.024 1817.162 49.000 43.000
+ -5484085.23343 -4023373.46942 24452907.252 24452915.419 24452906.781
+ -2724.800 -2123.221 47.000 40.000
+ -10404891.25343 -7920300.92742 23345551.885 23345557.761 23345550.332
+ 1819.331 1417.661 48.000 42.000
+ 5987274.05343 4678378.77042 24957185.210 24957191.885 24957183.772
+ -1948.205 -1518.082 42.000 36.000
+ -13916008.11743 -10792579.09442 22854454.640 22854460.210 22854453.174
+ -2159.422 -1682.666 50.000 43.000
+ -2221296.55743 -1674472.98742 24493035.381 24493041.619 24493033.504
+ -3172.493 -2472.072 43.000 37.000
+ -22257259.31643 -17293056.86842 20875040.841 20875043.217 20875039.312
+ 1636.931 1275.531 56.000 50.000
+ -5728464.91943 -4452555.03942 23509845.072 23509848.059 23509843.726
+ -2959.056 -2305.758 49.000 42.000
+ -22491345.68444 -17514816.27842 20846228.982 20846232.630 20846227.981
+ 233.858 182.227 57.000 50.000
+ -9387310.50143 -7252913.32942 23510843.785 23510850.606 23510843.619
+ -1878.997 -1464.153 46.000 40.000
+ 04 2 1 1 3 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11713867.13243 -8710666.55142 22823125.959 22823130.849 22823124.030
+ 2321.731 1809.141 50.000 43.000
+ -5402425.39543 -3959742.62542 24468446.842 24468455.093 24468445.365
+ -2719.407 -2119.018 46.000 39.000
+ -10459489.19443 -7962844.75342 23335163.017 23335168.374 23335160.655
+ 1820.287 1418.405 49.000 42.000
+ 6045759.22043 4723951.53142 24968315.564 24968321.615 24968316.517
+ -1950.750 -1520.065 43.000 36.000
+ -13851153.81843 -10742043.35742 22866794.651 22866800.979 22866793.938
+ -2164.701 -1686.780 49.000 43.000
+ -2126037.46243 -1600245.28842 24511162.274 24511169.588 24511161.342
+ -3178.440 -2476.706 44.000 38.000
+ -22306138.19144 -17331144.30642 20865739.297 20865741.704 20865738.172
+ 1621.388 1263.419 57.000 50.000
+ -5639699.09743 -4383386.92942 23526736.519 23526740.006 23526734.497
+ -2958.807 -2305.564 48.000 42.000
+ -22498062.00144 -17520049.77542 20844950.467 20844954.476 20844949.750
+ 213.695 166.516 57.000 50.000
+ -9330904.00743 -7208960.27042 23521578.457 23521584.684 23521577.191
+ -1881.818 -1466.352 46.000 40.000
+ 04 2 1 1 3 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11783369.23843 -8764823.99642 22809899.913 22809905.077 22809897.993
+ 2311.664 1801.297 50.000 43.000
+ -5320930.20043 -3896240.07342 24483953.285 24483964.324 24483952.609
+ -2713.677 -2114.553 46.000 39.000
+ -10514125.01643 -8005418.12642 23324766.860 23324768.998 23324765.036
+ 1821.844 1419.619 49.000 42.000
+ 6104306.33243 4769572.52642 24979456.163 24979463.150 24979455.758
+ -1952.466 -1521.402 40.000 37.000
+ -13786144.32443 -10691386.70142 22879166.105 22879172.026 22879164.049
+ -2169.716 -1690.688 48.000 42.000
+ -2030598.97543 -1525877.80842 24529324.376 24529331.944 24529321.226
+ -3184.850 -2481.701 44.000 38.000
+ -22354557.28343 -17368873.46742 20856525.045 20856528.035 20856524.377
+ 1606.257 1251.629 56.000 50.000
+ -5550943.72343 -4314226.95742 23543627.534 23543630.851 23543626.355
+ -2958.260 -2305.138 49.000 42.000
+ -22504180.25044 -17524817.25342 20843786.302 20843790.335 20843785.671
+ 193.950 151.130 57.000 50.000
+ -9274418.42543 -7164945.59442 23532325.739 23532333.801 23532324.880
+ -1884.142 -1468.162 46.000 40.000
+ 04 2 1 1 4 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11852566.58743 -8818743.96042 22796733.042 22796737.823 22796731.214
+ 2301.159 1793.111 50.000 43.000
+ -5239603.04543 -3832868.47142 24499431.652 24499439.050 24499429.326
+ -2708.429 -2110.464 46.000 40.000
+ -10568799.87543 -8048021.89842 23314361.521 23314365.496 23314362.608
+ 1822.968 1420.495 49.000 42.000
+ 6162914.99743 4815241.49142 24990611.310 24990613.299 24990609.726
+ -1955.211 -1523.541 43.000 37.000
+ -13720983.59043 -10640612.22642 22891564.916 22891572.063 22891564.558
+ -2175.498 -1695.193 48.000 42.000
+ -1934984.05243 -1451372.86842 24547519.404 24547526.323 24547517.057
+ -3190.431 -2486.050 46.000 38.000
+ -22402515.63144 -17406243.60942 20847399.086 20847401.815 20847398.234
+ 1590.537 1239.379 57.000 50.000
+ -5462201.69843 -4245077.42042 23560513.989 23560516.959 23560511.751
+ -2958.104 -2305.016 48.000 42.000
+ -22509700.57543 -17529118.81342 20842735.416 20842739.855 20842734.885
+ 173.617 135.286 56.000 50.000
+ -9217854.21043 -7120869.61142 23543091.640 23543096.367 23543090.177
+ -1887.304 -1470.626 48.000 41.000
+ 04 2 1 1 4 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11921458.59843 -8872425.99542 22783622.430 22783627.379 22783620.535
+ 2291.474 1785.564 50.000 43.000
+ -5158445.93943 -3769629.36842 24514874.636 24514883.667 24514874.205
+ -2702.103 -2105.535 46.000 39.000
+ -10623513.32143 -8090655.73842 23303951.203 23303954.637 23303949.588
+ 1824.300 1421.532 49.000 42.000
+ 6221585.85543 4860958.87642 25001776.185 25001778.791 25001773.653
+ -1956.645 -1524.658 43.000 35.000
+ -13655674.49343 -10589722.11242 22903993.274 22903999.406 22903992.043
+ -2179.186 -1698.067 49.000 42.000
+ -1839194.10043 -1376731.52842 24565747.642 24565755.777 24565745.213
+ -3196.000 -2490.390 46.000 39.000
+ -22450010.90644 -17443252.91642 20838361.193 20838363.738 20838360.482
+ 1575.497 1227.660 57.000 50.000
+ -5373474.33443 -4175939.28642 23577398.266 23577403.556 23577397.303
+ -2957.214 -2304.322 49.000 42.000
+ -22514622.52444 -17532954.09842 20841799.262 20841803.341 20841798.476
+ 154.197 120.153 57.000 50.000
+ -9161210.70743 -7076731.88242 23553870.072 23553875.343 23553868.079
+ -1889.449 -1472.298 47.000 41.000
+ 04 2 1 1 5 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11990046.18643 -8925870.81642 22770570.910 22770575.912 22770569.075
+ 2281.830 1778.049 50.000 43.000
+ -5077462.33543 -3706525.44142 24530285.546 24530292.700 24530285.575
+ -2696.148 -2100.894 46.000 39.000
+ -10678266.68143 -8133320.70242 23293531.714 23293535.322 23293529.744
+ 1826.504 1423.250 50.000 43.000
+ 6280318.23943 4906724.36242 25012950.620 25012955.571 25012951.172
+ -1958.751 -1526.299 43.000 36.000
+ -13590221.23643 -10538719.68342 22916449.468 22916455.923 22916447.343
+ -2183.675 -1701.565 49.000 42.000
+ -1743232.36843 -1301956.35842 24584007.493 24584015.777 24584004.951
+ -3200.989 -2494.277 46.000 38.000
+ -22497042.79544 -17479901.13842 20829411.798 20829413.978 20829410.713
+ 1560.458 1215.941 57.000 50.000
+ -5284765.05443 -4106815.25042 23594279.203 23594282.855 23594278.585
+ -2955.934 -2303.325 48.000 42.000
+ -22518946.70243 -17536323.59742 20840975.880 20840980.176 20840975.306
+ 134.693 104.956 56.000 50.000
+ -9104488.69643 -7032532.98342 23564663.456 23564668.586 23564662.660
+ -1891.393 -1473.813 47.000 41.000
+ 04 2 1 1 5 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12058325.47543 -8979075.39642 22757576.781 22757582.106 22757575.659
+ 2270.907 1769.538 49.000 43.000
+ -4996650.49543 -3643555.39342 24545662.779 24545671.738 24545664.006
+ -2690.794 -2096.722 45.000 39.000
+ -10733056.65243 -8176014.16042 23283104.388 23283110.058 23283104.016
+ 1826.876 1423.540 49.000 42.000
+ 6339116.23243 4952540.86442 25024140.405 25024146.753 25024140.069
+ -1960.736 -1527.846 42.000 36.000
+ -13524623.24443 -10487604.45142 22928932.227 22928938.395 22928930.926
+ -2188.767 -1705.533 49.000 43.000
+ -1647097.17443 -1227046.01442 24602302.237 24602310.077 24602299.215
+ -3207.476 -2499.332 47.000 38.000
+ -22543605.69043 -17516183.90742 20820550.840 20820553.353 20820549.483
+ 1544.335 1203.378 56.000 50.000
+ -5196071.56743 -4037703.52242 23611157.712 23611161.864 23611155.792
+ -2956.052 -2303.417 48.000 42.000
+ -22522669.45644 -17539224.44642 20840268.477 20840271.980 20840267.536
+ 114.183 88.974 57.000 50.000
+ -9047684.00643 -6988269.68642 23575472.886 23575480.009 23575472.629
+ -1894.859 -1476.513 47.000 40.000
+ 04 2 1 1 6 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12126299.70443 -9032042.25642 22744641.754 22744647.904 22744640.001
+ 2260.376 1761.332 49.000 43.000
+ -4916016.79743 -3580724.16742 24561008.892 24561014.827 24561006.698
+ -2684.843 -2092.085 46.000 39.000
+ -10787886.95543 -8218739.06142 23272670.465 23272675.043 23272669.018
+ 1828.158 1424.539 49.000 43.000
+ 6397976.68643 4998406.03442 25035343.204 25035346.259 25035341.807
+ -1963.522 -1530.017 44.000 37.000
+ -13458887.55443 -10436381.91142 22941441.144 22941446.520 22941440.197
+ -2193.821 -1709.471 50.000 43.000
+ -1550794.18843 -1152004.97842 24620626.623 24620635.336 24620626.467
+ -3213.164 -2503.764 45.000 38.000
+ -22589701.65944 -17552102.85042 20811778.966 20811781.783 20811778.171
+ 1528.388 1190.952 57.000 50.000
+ -5107399.65943 -3968608.60942 23628030.274 23628034.690 23628028.187
+ -2955.466 -2302.960 47.000 41.000
+ -22525793.83044 -17541659.03042 20839673.742 20839677.309 20839672.464
+ 93.835 73.118 57.000 50.000
+ -8990800.19543 -6943944.69942 23586298.478 23586304.416 23586296.766
+ -1897.877 -1478.865 47.000 41.000
+ 04 2 1 1 6 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12193961.34043 -9084765.55942 22731766.181 22731771.350 22731766.191
+ 2251.364 1754.310 50.000 43.000
+ -4835555.84343 -3518027.54642 24576319.651 24576326.566 24576317.739
+ -2677.903 -2086.678 45.000 39.000
+ -10842750.15143 -8261489.59842 23262231.078 23262235.644 23262229.001
+ 1830.510 1426.371 49.000 43.000
+ 6456907.20043 5044325.84542 25046555.049 25046560.500 25046552.274
+ -1964.550 -1530.818 41.000 36.000
+ -13393009.77343 -10385048.66542 22953978.466 22953982.675 22953976.984
+ -2197.212 -1712.113 49.000 43.000
+ -1454318.02843 -1076828.93542 24638985.872 24638995.679 24638983.866
+ -3217.789 -2507.368 44.000 38.000
+ -22635321.35844 -17587650.66342 20803097.492 20803100.570 20803096.849
+ 1513.765 1179.557 57.000 50.000
+ -5018743.66443 -3899526.09542 23644900.442 23644906.112 23644899.277
+ -2954.085 -2301.884 47.000 41.000
+ -22528312.43243 -17543621.58042 20839194.169 20839198.029 20839193.023
+ 74.896 58.361 56.000 50.000
+ -8933829.21243 -6899551.75942 23597138.470 23597145.469 23597136.209
+ -1899.531 -1480.154 47.000 40.000
+ 04 2 1 1 7 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12261321.92543 -9137254.25942 22718948.745 22718952.770 22718946.172
+ 2240.056 1745.498 50.000 43.000
+ -4755282.03443 -3455476.73842 24591595.059 24591602.610 24591595.090
+ -2672.568 -2082.520 45.000 38.000
+ -10897658.01843 -8304274.92542 23251782.537 23251787.945 23251781.326
+ 1830.825 1426.617 49.000 43.000
+ 6515896.91643 5090291.70442 25057780.714 25057787.063 25057780.619
+ -1967.626 -1533.215 41.000 36.000
+ -13327004.79043 -10333616.30742 22966538.194 22966543.279 22966536.920
+ -2202.478 -1716.217 49.000 43.000
+ -1357682.26343 -1001528.55242 24657375.723 24657383.719 24657374.632
+ -3224.167 -2512.338 44.000 38.000
+ -22680475.20944 -17622835.48442 20794505.385 20794508.018 20794504.400
+ 1497.032 1166.518 57.000 50.000
+ -4930117.17543 -3830466.56242 23661765.637 23661770.282 23661763.747
+ -2954.032 -2301.843 46.000 41.000
+ -22530236.55143 -17545120.88742 20838828.009 20838831.788 20838826.833
+ 53.955 42.043 56.000 50.000
+ -8876782.57543 -6855099.91342 23607994.891 23607999.482 23607993.668
+ -1903.124 -1482.954 47.000 40.000
+ 04 2 1 1 7 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12328374.83743 -9189503.23242 22706188.682 22706193.649 22706187.019
+ 2229.804 1737.510 50.000 43.000
+ -4675190.94043 -3393068.34042 24606836.414 24606843.479 24606834.872
+ -2666.912 -2078.113 44.000 38.000
+ -10952604.43943 -8347090.30442 23241325.936 23241328.795 23241324.650
+ 1831.947 1427.491 49.000 42.000
+ 6574952.25443 5136308.74742 25069019.010 25069025.394 25069016.148
+ -1969.983 -1535.052 40.000 35.000
+ -13260869.28943 -10282082.25642 22979122.759 22979129.597 22979121.669
+ -2207.087 -1719.808 48.000 43.000
+ -1260882.67543 -926100.54942 24675796.040 24675804.932 24675794.808
+ -3229.572 -2516.550 44.000 37.000
+ -22725155.03744 -17657650.93342 20786003.006 20786005.748 20786002.014
+ 1481.086 1154.093 57.000 50.000
+ -4841515.61243 -3761426.45842 23678626.203 23678631.177 23678625.311
+ -2953.351 -2301.312 46.000 41.000
+ -22531559.80943 -17546151.99742 20838575.704 20838579.878 20838575.367
+ 33.770 26.314 56.000 50.000
+ -8819653.55243 -6810583.85242 23618866.547 23618872.587 23618864.270
+ -1906.012 -1485.204 46.000 40.000
+ 04 2 1 1 8 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12395120.13843 -9241512.51642 22693487.842 22693493.126 22693486.368
+ 2219.641 1729.590 50.000 44.000
+ -4595285.30243 -3330804.42942 24622041.648 24622050.049 24622039.609
+ -2660.382 -2073.025 45.000 38.000
+ -11007589.75243 -8389935.98442 23230863.960 23230866.368 23230861.452
+ 1833.447 1428.660 50.000 42.000
+ 6634073.37443 5182377.04142 25080272.278 25080274.381 25080269.881
+ -1972.117 -1536.714 43.000 36.000
+ -13194606.78243 -10230449.23442 22991732.164 22991739.094 22991731.249
+ -2210.872 -1722.757 49.000 43.000
+ -1163921.46943 -850546.56842 24694246.623 24694254.248 24694244.828
+ -3234.792 -2520.617 43.000 37.000
+ -22769359.51144 -17692095.98042 20777591.109 20777593.496 20777590.277
+ 1465.441 1141.902 57.000 50.000
+ -4752941.18343 -3692407.50242 23695482.209 23695487.041 23695480.675
+ -2952.257 -2300.460 46.000 40.000
+ -22532282.08644 -17546714.80742 20838439.087 20838442.476 20838437.756
+ 13.968 10.884 57.000 50.000
+ -8762442.03543 -6766003.51242 23629753.732 23629759.981 23629751.786
+ -1908.549 -1487.181 47.000 41.000
+ 04 2 1 1 8 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12461556.22343 -9293280.83442 22680844.952 22680849.617 22680843.550
+ 2210.029 1722.101 50.000 43.000
+ -4515565.77843 -3268685.56542 24637211.479 24637219.227 24637210.366
+ -2653.546 -2067.698 44.000 38.000
+ -11062612.47743 -8432810.81842 23220392.438 23220398.075 23220392.210
+ 1835.385 1430.170 49.000 43.000
+ 6693262.14543 5228498.06742 25091532.977 25091541.737 25091534.847
+ -1973.515 -1537.804 42.000 36.000
+ -13128218.84243 -10178718.47442 23004365.763 23004371.598 23004363.812
+ -2214.401 -1725.507 48.000 42.000
+ -1066799.14343 -774867.08842 24712729.087 24712737.455 24712727.688
+ -3239.463 -2524.257 44.000 37.000
+ -22813085.20143 -17726167.94842 20769270.377 20769273.192 20769269.207
+ 1450.101 1129.949 56.000 50.000
+ -4664393.94243 -3623409.72042 23712332.310 23712337.262 23712329.302
+ -2950.526 -2299.111 46.000 40.000
+ -22532401.79344 -17546808.08542 20838416.026 20838419.588 20838415.284
+ -5.444 -4.242 57.000 50.000
+ -8705146.01643 -6721357.33042 23640657.339 23640663.760 23640655.275
+ -1910.629 -1488.802 48.000 41.000
+ 04 2 1 1 9 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12527684.80743 -9344809.59042 22668260.704 22668265.673 22668258.968
+ 2199.364 1713.790 50.000 44.000
+ -4436036.79543 -3206715.14642 24652346.731 24652355.886 24652344.897
+ -2647.774 -2063.200 44.000 37.000
+ -11117674.73843 -8475716.46642 23209914.150 23209918.635 23209913.116
+ 1836.242 1430.838 49.000 43.000
+ 6752517.29143 5274670.82642 25102808.426 25102813.037 25102807.331
+ -1976.024 -1539.759 43.000 36.000
+ -13061710.66843 -10126894.01842 23017021.516 23017027.617 23017018.573
+ -2218.792 -1728.929 47.000 42.000
+ -969519.97943 -699065.41442 24731242.602 24731249.856 24731240.124
+ -3244.892 -2528.487 44.000 36.000
+ -22856332.79044 -17759867.37042 20761040.784 20761043.232 20761039.755
+ 1433.766 1117.220 57.000 50.000
+ -4575877.71843 -3554436.14842 23729176.465 23729180.831 23729174.476
+ -2949.907 -2298.629 45.000 40.000
+ -22531920.98944 -17546433.43042 20838508.215 20838510.928 20838506.659
+ -25.856 -20.147 57.000 50.000
+ -8647767.17443 -6676646.63542 23651576.021 23651581.736 23651574.208
+ -1913.963 -1491.400 48.000 41.000
+ 04 2 1 1 9 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12593501.64143 -9396095.39842 22655735.836 22655741.340 22655733.593
+ 2189.523 1706.122 50.000 43.000
+ -4356696.15143 -3144891.51642 24667443.114 24667453.140 24667440.117
+ -2640.784 -2057.754 43.000 37.000
+ -11172772.41143 -8518649.68242 23199429.670 23199433.753 23199426.880
+ 1838.060 1432.255 49.000 42.000
+ 6811843.25543 5320898.73442 25114098.553 25114101.885 25114096.900
+ -1977.756 -1541.108 43.000 36.000
+ -12995081.16043 -10074975.02042 23029701.352 23029706.085 23029699.637
+ -2222.182 -1731.570 48.000 42.000
+ -872081.70343 -623139.78242 24749784.300 24749791.631 24749781.717
+ -3249.787 -2532.301 42.000 36.000
+ -22899096.23144 -17793189.53742 20752903.260 20752905.711 20752902.099
+ 1418.056 1104.979 57.000 50.000
+ -4487390.29343 -3485484.98442 23746015.243 23746019.306 23746013.469
+ -2948.368 -2297.430 45.000 40.000
+ -22530835.16144 -17545587.33042 20838713.870 20838717.830 20838712.881
+ -45.494 -35.450 57.000 50.000
+ -8590300.98043 -6631867.80742 23662511.112 23662517.208 23662509.478
+ -1916.420 -1493.314 47.000 41.000
+ 04 2 1 1 10 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12659011.94843 -9447142.34542 22643270.220 22643275.752 22643268.896
+ 2179.112 1698.009 50.000 44.000
+ -4277551.65943 -3083220.75242 24682504.447 24682512.756 24682503.486
+ -2634.124 -2052.564 42.000 36.000
+ -11227910.94343 -8561614.78442 23188937.967 23188941.896 23188936.760
+ 1839.334 1433.247 50.000 43.000
+ 6871234.90643 5367177.83542 25125399.345 25125406.665 25125399.043
+ -1980.418 -1543.183 43.000 37.000
+ -12928338.84743 -10022968.10242 23042401.836 23042406.838 23042399.859
+ -2226.154 -1734.665 48.000 42.000
+ -774491.67743 -547095.88642 24768356.029 24768362.309 24768352.736
+ -3255.236 -2536.547 44.000 36.000
+ -22941379.46544 -17826137.51942 20744856.591 20744859.413 20744855.845
+ 1401.861 1092.359 57.000 50.000
+ -4398938.47943 -3416561.59042 23762846.012 23762850.833 23762844.896
+ -2947.494 -2296.748 44.000 40.000
+ -22529149.58243 -17544273.89142 20839034.963 20839038.755 20839033.863
+ -65.683 -51.181 56.000 50.000
+ -8532752.68943 -6587025.06242 23673462.213 23673468.306 23673461.780
+ -1919.105 -1495.406 48.000 41.000
+ 04 2 1 1 10 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12724209.87243 -9497945.88342 22630863.116 22630868.475 22630862.873
+ 2167.997 1689.348 50.000 44.000
+ -4198599.82043 -3021700.06742 24697529.603 24697537.768 24697530.033
+ -2627.840 -2047.667 44.000 36.000
+ -11283084.60543 -8604607.22342 23178438.856 23178441.121 23178438.267
+ 1839.627 1433.476 50.000 43.000
+ 6930698.30543 5413512.82342 25136716.238 25136720.222 25136713.038
+ -1983.158 -1545.318 43.000 37.000
+ -12861481.19843 -9970871.32842 23055124.871 23055131.106 23055122.668
+ -2230.596 -1738.127 49.000 42.000
+ -676746.54843 -470931.11042 24786953.099 24786965.722 24786953.825
+ -3260.440 -2540.602 40.000 35.000
+ -22983175.06044 -17858705.51642 20736903.508 20736906.332 20736902.419
+ 1385.064 1079.271 57.000 50.000
+ -4310518.58543 -3347663.06142 23779672.497 23779677.636 23779671.478
+ -2946.956 -2296.329 45.000 40.000
+ -22526858.82543 -17542488.88742 20839470.254 20839474.821 20839469.263
+ -86.403 -67.327 56.000 50.000
+ -8475115.76943 -6542113.29642 23684429.625 23684436.822 23684428.860
+ -1922.773 -1498.265 47.000 40.000
+ 04 2 1 1 11 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12789099.44743 -9548509.16742 22618515.560 22618519.958 22618514.318
+ 2158.140 1681.668 51.000 44.000
+ -4119846.76043 -2960334.29142 24712519.039 24712525.211 24712515.773
+ -2621.627 -2042.826 44.000 36.000
+ -11338297.50543 -8647630.23942 23167930.394 23167935.562 23167930.491
+ 1841.124 1434.642 49.000 42.000
+ 6990229.99443 5459901.03342 25148042.864 25148049.472 25148040.146
+ -1985.218 -1546.923 43.000 36.000
+ -12794515.31543 -9918690.21042 23067867.891 23067873.282 23067866.300
+ -2233.682 -1740.531 49.000 42.000
+ -578852.23143 -394650.14342 24805584.809 24805592.296 24805582.321
+ -3265.078 -2544.217 40.000 35.000
+ -23024485.70644 -17890895.63042 20729042.254 20729045.067 20729041.312
+ 1369.137 1066.860 57.000 50.000
+ -4222136.33443 -3278793.87942 23796489.382 23796495.230 23796490.212
+ -2945.111 -2294.892 43.000 39.000
+ -22523966.80644 -17540235.37642 20840021.054 20840024.641 20840019.977
+ -106.214 -82.764 57.000 50.000
+ -8417394.33143 -6497135.61842 23695414.259 23695420.746 23695412.641
+ -1925.350 -1500.273 46.000 40.000
+ 04 2 1 1 11 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12853675.95343 -9598828.49342 22606227.060 22606231.580 22606225.917
+ 2147.394 1673.294 51.000 44.000
+ -4041290.42143 -2899121.85042 24727462.875 24727472.296 24727463.346
+ -2615.128 -2037.762 41.000 35.000
+ -11393545.01043 -8690680.22542 23157418.670 23157421.880 23157416.964
+ 1842.259 1435.526 50.000 43.000
+ 7049834.60443 5506346.16042 25159388.362 25159391.800 25159384.907
+ -1988.149 -1549.207 44.000 36.000
+ -12727439.73243 -9866423.63842 23080632.319 23080637.091 23080631.607
+ -2237.576 -1743.566 49.000 42.000
+ -480806.28443 -318250.98742 24824239.404 24824251.573 24824239.879
+ -3270.350 -2548.325 41.000 35.000
+ -23065305.11744 -17922702.96942 20721274.796 20721277.235 20721273.560
+ 1352.541 1053.928 57.000 50.000
+ -4133788.89243 -3209951.80642 23813303.614 23813307.315 23813302.348
+ -2944.390 -2294.330 45.000 39.000
+ -22520468.69344 -17537509.57642 20840687.056 20840690.400 20840685.921
+ -126.628 -98.671 57.000 50.000
+ -8359583.35543 -6452088.15542 23706415.046 23706419.786 23706413.695
+ -1928.576 -1502.786 47.000 40.000
+ 04 2 1 1 12 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12917944.63043 -9648907.96542 22593996.852 22594001.846 22593995.641
+ 2137.483 1665.571 51.000 44.000
+ -3962937.92543 -2838068.27142 24742374.632 24742384.076 24742372.658
+ -2608.738 -2032.783 42.000 36.000
+ -11448832.57443 -8733761.42642 23146897.120 23146901.269 23146895.568
+ 1843.892 1436.799 49.000 43.000
+ 7109507.58243 5552844.50342 25170741.183 25170745.968 25170741.904
+ -1989.932 -1550.596 44.000 36.000
+ -12660263.11643 -9814078.33042 23093414.514 23093420.611 23093414.196
+ -2240.672 -1745.978 49.000 42.000
+ -382616.32443 -241739.64942 24842927.332 24842934.261 24842924.568
+ -3274.405 -2551.484 39.000 35.000
+ -23105637.09444 -17954130.49542 20713599.826 20713602.261 20713598.900
+ 1336.644 1041.541 57.000 50.000
+ -4045483.29243 -3141142.32942 23830106.538 23830111.329 23830106.054
+ -2942.489 -2292.848 45.000 39.000
+ -22516370.06944 -17534315.85642 20841466.768 20841470.617 20841465.828
+ -146.277 -113.982 57.000 50.000
+ -8301687.64943 -6406974.71742 23717431.606 23717440.110 23717430.131
+ -1930.883 -1504.584 45.000 40.000
+ 04 2 1 1 12 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12981901.71043 -9698744.61642 22581826.515 22581832.297 22581824.525
+ 2126.688 1657.159 51.000 44.000
+ -3884788.07443 -2777172.54142 24757246.263 24757252.409 24757246.032
+ -2601.125 -2026.851 43.000 35.000
+ -11504156.64343 -8776871.07042 23136370.043 23136372.588 23136368.243
+ 1844.642 1437.383 51.000 43.000
+ 7169252.63243 5599398.98642 25182111.777 25182117.537 25182113.700
+ -1992.444 -1552.554 42.000 36.000
+ -12592984.81243 -9761653.77942 23106217.370 23106224.239 23106217.313
+ -2244.387 -1748.873 48.000 42.000
+ -284280.70043 -165114.80542 24861638.644 24861648.314 24861639.522
+ -3280.446 -2556.192 39.000 34.000
+ -23145476.73844 -17985174.37942 20706018.879 20706020.915 20706017.581
+ 1319.837 1028.444 57.000 50.000
+ -3957217.68143 -3072364.01342 23846903.640 23846908.500 23846901.189
+ -2941.667 -2292.208 44.000 39.000
+ -22511667.50944 -17530651.53242 20842361.105 20842365.070 20842360.452
+ -166.751 -129.936 57.000 50.000
+ -8243703.49443 -6361792.31642 23728466.007 23728472.712 23728465.154
+ -1934.116 -1507.103 46.000 40.000
+ 04 2 1 1 13 0.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -13045546.61043 -9748338.00442 22569714.748 22569720.248 22569713.031
+ 2116.179 1648.971 51.000 44.000
+ -3806842.21843 -2716435.76142 24772079.421 24772086.570 24772079.091
+ -2595.156 -2022.199 41.000 35.000
+ -11559516.53343 -8820008.62342 23125835.316 23125838.730 23125833.538
+ 1845.588 1438.121 50.000 43.000
+ 7229070.82743 5646010.53742 25193494.434 25193498.354 25193491.911
+ -1995.128 -1554.645 41.000 35.000
+ -12525607.40843 -9709152.01442 23119038.549 23119044.650 23119037.691
+ -2247.678 -1751.437 47.000 41.000
+ -185800.93443 -88377.69842 24880378.479 24880388.127 24880377.464
+ -3284.793 -2559.579 37.000 33.000
+ -23184821.87244 -18015832.93242 20698531.706 20698534.130 20698530.622
+ 1303.181 1015.466 57.000 50.000
+ -3868992.98743 -3003617.59542 23863692.185 23863699.096 23863692.238
+ -2940.512 -2291.308 46.000 39.000
+ -22506360.28744 -17526516.04842 20843371.921 20843375.373 20843370.654
+ -186.986 -145.703 57.000 50.000
+ -8185629.68743 -6316540.06242 23739517.316 23739523.631 23739516.772
+ -1937.397 -1509.660 47.000 40.000
+ 04 2 1 1 13 30.0000000 0 10G 1G 3G20G22G31G15G11G14G25G23
+ -13108880.69343 -9797689.20142 22557662.922 22557668.883 22557661.101
+ 2106.040 1641.070 51.000 44.000
+ -3729104.23943 -2655860.96242 24786872.219 24786881.278 24786871.251
+ -2587.852 -2016.508 41.000 35.000
+ -11614913.58643 -8863175.14542 23115292.045 23115296.242 23115291.900
+ 1847.002 1439.222 48.000 42.000
+ 7288961.30743 5692678.32442 25204888.524 25204897.003 25204886.707
+ -1997.693 -1556.644 36.000 34.000
+ -12458135.37843 -9656576.49942 23131879.908 23131885.030 23131878.822
+ -2250.256 -1753.446 48.000 42.000
+ -3694330.74652 24899145.979 24899156.521
+ -3289.196 -2563.010 36.000 32.000
+ -23223672.13744 -18046105.87642 20691138.787 20691141.240 20691137.561
+ 1286.726 1002.644 57.000 50.000
+ -3780812.51243 -2934905.58542 23880474.165 23880477.460 23880471.954
+ -2938.461 -2289.710 46.000 39.000
+ -22500450.17343 -17521910.77442 20844496.144 20844500.230 20844495.183
+ -206.978 -161.281 56.000 50.000
+ -8127467.29543 -6271218.81342 23750585.874 23750591.272 23750584.527
+ -1939.955 -1511.653 47.000 40.000
+ 04 2 1 1 14 0.0000000 0 8G 1G 3G20G31G11G14G25G23
+ -13171904.52543 -9846798.62942 22545669.574 22545674.802 22545668.541
+ 2095.232 1632.648 50.000 44.000
+ -3651576.83343 -2595450.27042 24801628.117 24801635.045 24801626.918
+ -2580.757 -2010.979 43.000 36.000
+ -11670348.48143 -8906371.14742 23104744.575 23104747.853 23104742.207
+ 1848.229 1440.178 50.000 43.000
+ -12390572.56443 -9603930.25042 23144736.410 23144741.049 23144735.393
+ -2253.751 -1756.170 49.000 42.000
+ -23262026.95944 -18075992.75842 20683839.852 20683842.672 20683838.786
+ 1269.985 989.599 57.000 51.000
+ -3692678.33443 -2866229.69742 23897244.286 23897248.417 23897242.199
+ -2937.057 -2288.616 45.000 39.000
+ -22493938.32043 -17516836.61842 20845735.386 20845739.117 20845734.595
+ -227.377 -177.177 56.000 50.000
+ -8069216.73143 -6225828.86142 23761669.653 23761676.411 23761669.114
+ -1943.604 -1514.497 47.000 40.000
+ 04 2 1 1 14 30.0000000 0 8G 1G 3G20G31G11G14G25G23
+ -13234614.16343 -9895663.24442 22533736.146 22533742.043 22533734.881
+ 2085.285 1624.897 50.000 44.000
+ -3574257.96943 -2535202.08542 24816339.053 24816349.063 24816339.790
+ -2573.458 -2005.292 43.000 36.000
+ -11725817.15943 -8949593.50342 23094188.424 23094191.954 23094186.862
+ 1849.619 1441.262 49.000 43.000
+ -12322918.07543 -9551212.55142 23157609.506 23157616.726 23157608.175
+ -2256.578 -1758.372 48.000 42.000
+ -23299880.96744 -18105489.39642 20676636.144 20676639.179 20676635.265
+ 1253.478 976.736 57.000 50.000
+ -3604588.24943 -2797588.16742 23914008.350 23914011.790 23914006.309
+ -2935.406 -2287.329 45.000 39.000
+ -22486820.29743 -17511290.12242 20847089.835 20847093.819 20847088.850
+ -247.332 -192.726 56.000 50.000
+ -8010873.66843 -6180366.77642 23772772.621 23772778.645 23772770.520
+ -1946.243 -1516.553 46.000 40.000
+ 04 2 1 1 15 0.0000000 0 8G 1G 3G20G31G11G14G25G23
+ -13297012.40543 -9944285.21342 22521862.438 22521868.090 22521860.428
+ 2074.069 1616.158 51.000 44.000
+ -3497152.69843 -2475120.32742 24831011.995 24831022.062 24831009.909
+ -2567.084 -2000.325 42.000 35.000
+ -11781322.47743 -8992844.37442 23083625.647 23083630.065 23083625.269
+ 1850.146 1441.672 49.000 43.000
+ -12255177.82543 -9498428.04942 23170499.713 23170506.670 23170498.272
+ -2260.111 -1761.125 47.000 42.000
+ -23337235.60644 -18134596.91742 20669527.843 20669530.655 20669527.033
+ 1236.230 963.296 57.000 50.000
+ -3516546.78043 -2728984.53942 23930760.229 23930765.655 23930758.519
+ -2934.652 -2286.742 46.000 39.000
+ -22479099.40544 -17505273.85342 20848559.525 20848562.874 20848558.272
+ -267.988 -208.822 57.000 50.000
+ -7952440.57743 -6134834.54742 23783892.133 23783898.485 23783890.005
+ -1950.090 -1519.551 46.000 39.000
+ 04 2 1 1 15 30.0000000 0 8G 1G 3G20G31G11G14G25G23
+ -13359099.32743 -9992664.59442 22510047.703 22510052.854 22510046.928
+ 2064.510 1608.709 51.000 44.000
+ -3420263.22443 -2415206.71742 24845645.147 24845654.185 24845643.533
+ -2559.058 -1994.071 42.000 35.000
+ -11836864.51543 -9036123.87442 23073057.543 23073061.166 23073054.726
+ 1852.052 1443.157 50.000 43.000
+ -12187355.11843 -9445579.28842 23183405.991 23183413.456 23183405.517
+ -2262.024 -1762.616 47.000 41.000
+ -23374089.23744 -18163314.03942 20662515.367 20662517.748 20662514.279
+ 1220.172 950.783 57.000 50.000
+ -3428555.58143 -2660420.05042 23947503.558 23947508.167 23947502.425
+ -2932.240 -2284.862 44.000 39.000
+ -22470776.20044 -17498788.25042 20850143.256 20850146.932 20850142.336
+ -287.375 -223.928 57.000 50.000
+ -7893917.08843 -6089231.91442 23795029.134 23795036.566 23795028.129
+ -1952.275 -1521.253 46.000 39.000
+ 04 2 1 1 16 0.0000000 0 8G 1G 3G20G31G11G14G25G23
+ -13420872.05843 -10040799.14642 22498292.736 22498298.264 22498292.274
+ 2053.935 1600.469 51.000 44.000
+ -3343588.75243 -2355460.65442 24860235.979 24860243.512 24860237.077
+ -2552.097 -1988.647 41.000 34.000
+ -11892440.25143 -9079429.62242 23062481.148 23062484.356 23062480.054
+ 1853.158 1444.019 50.000 43.000
+ -12119450.07043 -9392666.39242 23196329.718 23196335.369 23196327.859
+ -2264.625 -1764.643 47.000 41.000
+ -23410437.97344 -18191637.73542 20655597.634 20655600.433 20655596.965
+ 1203.382 937.700 57.000 50.000
+ -3340613.52943 -2591893.86442 23964239.531 23964244.930 23964238.867
+ -2930.313 -2283.361 45.000 39.000
+ -22461847.84444 -17491831.10142 20851842.065 20851845.969 20851841.035
+ -307.503 -239.613 57.000 50.000
+ -7835300.10043 -6043556.43942 23806184.611 23806190.619 23806183.334
+ -1955.271 -1523.588 48.000 40.000
+ 04 2 1 1 16 30.0000000 0 8G 1G 3G20G31G11G14G25G23
+ -13482333.42843 -10088691.06342 22486596.841 22486601.699 22486595.518
+ 2043.783 1592.558 51.000 44.000
+ -3267134.15743 -2295885.93342 24874785.911 24874791.792 24874783.561
+ -2544.447 -1982.686 41.000 33.000
+ -11948052.37943 -9122763.74142 23051899.151 23051902.041 23051898.126
+ 1854.587 1445.133 50.000 43.000
+ -12051468.73543 -9339694.02742 23209265.596 23209271.125 23209263.016
+ -2267.119 -1766.586 47.000 41.000
+ -23446283.35044 -18219569.20342 20648777.278 20648779.545 20648776.183
+ 1186.774 924.759 57.000 51.000
+ -3252725.08943 -2523409.45642 23980965.036 23980968.809 23980962.896
+ -2928.389 -2281.861 47.000 39.000
+ -22452317.49143 -17484404.86542 20853655.645 20853659.725 20853654.759
+ -327.338 -255.068 56.000 50.000
+ -7776592.07743 -5997810.00342 23817356.249 23817361.480 23817353.536
+ -1958.005 -1525.718 47.000 39.000
+ 04 2 1 1 17 0.0000000 0 8G 1G 3G20G31G11G14G25G23
+ -13543482.20143 -10136339.41242 22474960.917 22474965.952 22474958.850
+ 2032.817 1584.013 51.000 45.000
+ -3190900.38443 -2236483.25742 24889293.668 24889298.845 24889288.967
+ -2537.313 -1977.127 38.000 33.000
+ -12003699.51643 -9166125.13242 23041309.743 23041313.268 23041307.811
+ 1854.931 1445.401 50.000 43.000
+ -11983412.76943 -9286663.51042 23222215.822 23222222.281 23222214.054
+ -2270.207 -1768.992 47.000 41.000
+ -23481622.50744 -18247106.21042 20642052.328 20642054.870 20642051.271
+ 1169.008 910.915 57.000 51.000
+ -3164890.57743 -2454967.04042 23997679.254 23997682.788 23997677.086
+ -2927.325 -2281.032 46.000 39.000
+ -22442184.21544 -17476508.81542 20855584.180 20855587.741 20855583.166
+ -348.210 -271.332 57.000 50.000
+ -7717791.33743 -5951991.33742 23828545.014 23828551.727 23828543.854
+ -1962.498 -1529.219 46.000 40.000
+ 04 2 1 1 17 30.0000000 0 8G 1G 3G20G31G11G14G25G23
+ -13604317.27743 -10183743.31842 22463384.012 22463388.808 22463382.564
+ 2022.476 1575.955 51.000 45.000
+ -7841148.28153 -5860053.31552 24903755.679 24903766.599 24903758.778
+ -2530.313 -1971.672 38.000 32.000
+ -12059380.55543 -9209512.93142 23030713.747 23030716.701 23030712.031
+ 1856.660 1446.748 50.000 43.000
+ -11915284.15043 -9233576.37342 23235181.348 23235186.465 23235179.889
+ -2272.246 -1770.581 48.000 41.000
+ -23516452.70044 -18274246.62342 20635424.376 20635426.844 20635423.371
+ 1152.369 897.950 57.000 51.000
+ -3077110.17243 -2386566.83142 24014382.867 24014386.478 24014380.868
+ -2925.397 -2279.530 47.000 39.000
+ -22431447.23243 -17468142.34442 20857627.375 20857631.086 20857626.298
+ -368.029 -286.776 56.000 50.000
+ -7658896.26943 -5906099.18242 23839751.762 23839759.998 23839750.894
+ -1964.681 -1530.920 46.000 40.000
+ 04 2 1 1 18 0.0000000 0 8G 1G 3G20G31G11G14G25G23
+ -13664838.76843 -10230902.88342 22451867.171 22451871.988 22451866.448
+ 2013.151 1568.689 51.000 45.000
+ -7765360.04353 -5800997.84052 24918180.283 24918190.521 24918176.139
+ -2521.352 -1964.690 38.000 33.000
+ -12115095.24843 -9252926.95942 23020111.190 23020115.259 23020110.723
+ 1858.605 1448.264 50.000 44.000
+ -11847085.96443 -9180435.03142 23248159.423 23248163.694 23248157.208
+ -2273.515 -1771.570 48.000 41.000
+ -23550773.17744 -18300989.85542 20628893.222 20628895.944 20628892.255
+ 1136.367 885.481 57.000 51.000
+ -2989385.69243 -2318210.21342 24031076.945 24031081.691 24031076.912
+ -2922.456 -2277.238 47.000 39.000
+ -22420107.00343 -17459305.81442 20859785.212 20859788.887 20859784.237
+ -387.269 -301.768 56.000 50.000
+ -7599906.75543 -5860133.38042 23850978.921 23850985.238 23850976.690
+ -1966.945 -1532.684 47.000 40.000
+ 04 2 1 1 18 30.0000000 0 9G 1G 3G20G22G31G11G14G25G23
+ -13725045.13943 -10277816.87842 22440410.475 22440415.148 22440409.571
+ 2001.726 1559.786 51.000 45.000
+ -5742116.96442 24932559.587 24932568.592
+ -2514.795 -1959.580 38.000 33.000
+ -12170841.89043 -9296365.89342 23009503.189 23009508.306 23009502.664
+ 1858.862 1448.464 50.000 44.000
+ 25319648.196
+ -2023.018 -1576.378 43.000
+ -11778819.60143 -9127240.57042 23261149.171 23261155.710 23261147.938
+ -2276.622 -1773.991 47.000 41.000
+ -23584580.63044 -18327333.33142 20622459.729 20622462.721 20622458.863
+ 1118.493 871.553 57.000 51.000
+ -2901716.97643 -2249896.96942 24047759.454 24047762.347 24047756.095
+ -2921.512 -2276.503 47.000 39.000
+ -22408162.16043 -17449998.14742 20862057.865 20862062.363 20862056.929
+ -408.095 -317.996 56.000 50.000
+ -7540820.59443 -5814092.33042 23862222.684 23862228.717 23862219.793
+ -1970.667 -1535.585 48.000 39.000
+ 04 2 1 1 19 0.0000000 0 7G 1G20G31G11G14G25G23
+ -13784943.11443 -10324490.58042 22429011.980 22429017.475 22429010.631
+ 1990.941 1551.383 52.000 45.000
+ -12226627.16843 -9339834.92042 22998887.459 22998891.630 22998886.128
+ 1859.598 1449.037 50.000 44.000
+ -11710494.95643 -9074000.69942 23274150.172 23274157.005 23274149.564
+ -2279.243 -1776.033 46.000 41.000
+ -23617880.67344 -18353281.41842 20616123.295 20616125.882 20616122.047
+ 1100.898 857.843 57.000 51.000
+ -2814112.28443 -2181633.67042 24064430.322 24064435.854 24064429.998
+ -2920.055 -2275.367 47.000 39.000
+ -22395619.95743 -17440225.00942 20864444.662 20864448.458 20864443.818
+ -428.693 -334.046 56.000 50.000
+ -7481644.30443 -5767980.98042 23873482.072 23873488.827 23873481.176
+ -1974.792 -1538.799 48.000 39.000
+ 04 2 1 1 19 30.0000000 0 7G 1G20G31G11G14G25G23
+ -13844522.99243 -10370916.42542 22417674.247 22417679.700 22417672.739
+ 1981.085 1543.703 51.000 45.000
+ -12282441.15443 -9383326.30242 22988267.147 22988270.655 22988265.425
+ 1861.309 1450.371 51.000 44.000
+ -11642105.26943 -9020710.15142 23287165.984 23287172.360 23287163.510
+ -2280.135 -1776.728 46.000 41.000
+ -23650662.06544 -18378825.36342 20609885.167 20609887.982 20609884.146
+ 1084.531 845.089 57.000 51.000
+ -2726563.32043 -2113413.78642 24081091.427 24081095.602 24081090.607
+ -2916.731 -2272.777 48.000 40.000
+ -22382470.99543 -17429979.07042 20866946.799 20866951.015 20866945.968
+ -447.954 -349.055 56.000 50.000
+ -7422367.61943 -5721791.42542 23884762.564 23884769.399 23884760.673
+ -1977.071 -1540.575 47.000 40.000
+ 04 2 1 1 20 0.0000000 0 8G 1G20G22G31G11G14G25G23
+ -13903790.59543 -10417098.93042 22406395.572 22406402.195 22406393.604
+ 1970.227 1535.242 51.000 45.000
+ -12338289.27143 -9426844.30842 22977638.757 22977641.642 22977638.633
+ 1862.038 1450.939 51.000 44.000
+ -1356596.58553 -1083965.08452 25354358.947 25354364.720 25354358.690
+ -2031.024 -1582.616 41.000 34.000
+ -11573659.43643 -8967375.85342 23300190.462 23300197.282 23300188.912
+ -2282.396 -1778.490 46.000 41.000
+ -23682929.35144 -18403968.71342 20603744.806 20603747.600 20603743.642
+ 1066.857 831.317 57.000 51.000
+ -2639077.37343 -2045243.00042 24097736.787 24097742.608 24097737.278
+ -2914.811 -2271.281 46.000 40.000
+ -22368721.55343 -17419265.22742 20869563.175 20869567.816 20869562.389
+ -468.456 -365.031 56.000 50.000
+ -7362996.01243 -5675527.92942 23896061.704 23896066.993 23896059.757
+ -1980.895 -1543.554 48.000 39.000
+ 04 2 1 1 20 30.0000000 0 8G 1G20G22G31G11G14G25G23
+ -13962744.94443 -10463037.33442 22395177.885 22395182.644 22395176.202
+ 1960.133 1527.376 51.000 45.000
+ -12394170.32543 -9470387.96642 22967005.569 22967009.165 22967005.026
+ 1863.434 1452.026 51.000 44.000
+ -1295628.83643 -1036457.85242 25365961.523 25365966.040 25365958.174
+ -2032.945 -1584.113 41.000 36.000
+ -11505159.36543 -8913999.30042 23313224.733 23313233.081 23313224.661
+ -2283.796 -1779.581 46.000 41.000
+ -23714680.29944 -18428709.71342 20597702.815 20597705.559 20597701.715
+ 1049.908 818.110 57.000 51.000
+ -2551654.98043 -1977121.74142 24114374.470 24114380.482 24114373.899
+ -2912.874 -2269.772 47.000 39.000
+ -22354370.94943 -17408082.93642 20872294.352 20872298.474 20872293.447
+ -488.100 -380.338 56.000 50.000
+ -7303528.12343 -5629189.42442 23907377.612 23907383.471 23907375.444
+ -1983.524 -1545.603 49.000 40.000
+ 04 2 1 1 21 0.0000000 0 8G 1G20G22G31G11G14G25G23
+ -14021386.38043 -10508731.92242 22384017.937 22384023.070 22384017.405
+ 1949.564 1519.141 51.000 45.000
+ -12450084.23743 -9513957.23342 22956365.840 22956368.963 22956364.923
+ 1864.321 1452.718 51.000 44.000
+ -1234581.02553 -988888.29452 25377575.181 25377579.371 25377577.583
+ -2036.329 -1586.750 38.000 34.000
+ -11436608.19743 -8860582.92942 23326270.408 23326276.317 23326269.421
+ -2285.829 -1781.165 47.000 40.000
+ -23745913.61244 -18453047.35942 20591759.564 20591761.514 20591758.534
+ 1032.520 804.561 57.000 51.000
+ -2464297.71043 -1909051.24242 24130997.975 24131001.510 24130996.693
+ -2910.385 -2267.832 46.000 39.000
+ -22339419.73743 -17396432.65342 20875139.027 20875143.576 20875138.406
+ -508.272 -396.056 56.000 50.000
+ -7243963.55543 -5582775.57642 23918711.056 23918718.679 23918710.682
+ -1986.935 -1548.261 46.000 40.000
+ 04 2 1 1 21 30.0000000 0 8G 1G20G22G31G11G14G25G23
+ -14079710.50343 -10554179.24242 22372920.344 22372924.426 22372918.557
+ 1939.745 1511.490 52.000 45.000
+ -12506026.30743 -9557548.44942 22945720.441 22945723.100 22945719.786
+ 1866.007 1454.031 51.000 43.000
+ -1173447.83343 -941252.05242 25389209.676 25389214.539 25389209.904
+ -2038.797 -1588.673 40.000 34.000
+ -11368004.28843 -8807125.45842 23339326.278 23339330.360 23339324.399
+ -2287.061 -1782.125 47.000 40.000
+ -23776623.55544 -18476977.18842 20585915.298 20585917.774 20585914.591
+ 1015.761 791.502 57.000 50.000
+ -2377002.29143 -1841028.92742 24147609.260 24147614.587 24147609.640
+ -2907.949 -2265.934 47.000 39.000
+ -22323864.05843 -17384311.35542 20878099.415 20878103.585 20878098.315
+ -527.719 -411.210 56.000 50.000
+ -7184297.44943 -5536282.55242 23930066.283 23930072.512 23930065.129
+ -1989.340 -1550.135 47.000 40.000
+ 04 2 1 1 22 0.0000000 0 8G 1G20G22G31G11G14G25G23
+ -14137722.85243 -10599383.63242 22361880.673 22361886.852 22361878.504
+ 1929.030 1503.140 52.000 45.000
+ -12562001.82643 -9601165.71342 22935067.845 22935072.224 22935066.370
+ 1866.870 1454.704 51.000 44.000
+ -893553.48042 25400860.395 25400861.272
+ -2041.113 -1590.478 38.000 33.000
+ -11299356.29543 -8753633.63542 23352388.345 23352394.026 23352388.640
+ -2288.639 -1783.355 47.000 40.000
+ -23806814.57844 -18500502.66342 20580170.065 20580173.010 20580169.020
+ 998.217 777.831 57.000 51.000
+ -2289775.80543 -1773060.31342 24164208.943 24164212.571 24164206.926
+ -2905.999 -2264.415 46.000 39.000
+ -22307710.23143 -17371723.96642 20881173.527 20881177.290 20881172.674
+ -548.007 -427.018 56.000 50.000
+ -7124534.79343 -5489714.33842 23941438.952 23941444.420 23941435.004
+ -1993.763 -1553.581 47.000 40.000
+ 04 2 1 1 22 30.0000000 0 7G 1G20G31G11G14G25G23
+ -14195420.55243 -10644342.86642 22350899.966 22350906.344 22350899.518
+ 1918.262 1494.750 52.000 45.000
+ -12618007.44643 -9644806.43742 22924410.623 22924413.876 22924408.225
+ 1867.675 1455.331 51.000 44.000
+ -11230664.03843 -8700107.32442 23365458.939 23365466.718 23365458.167
+ -2290.209 -1784.578 45.000 40.000
+ -23836482.63544 -18523620.62942 20574524.425 20574527.077 20574523.493
+ 980.396 763.945 57.000 51.000
+ -2202616.54043 -1705144.07842 24180794.638 24180797.792 24180794.633
+ -2903.906 -2262.784 47.000 39.000
+ -22290955.58843 -17358668.41542 20884361.841 20884365.876 20884360.986
+ -568.235 -442.780 56.000 50.000
+ -7064672.27443 -5443068.34642 23952829.628 23952836.219 23952826.592
+ -1996.560 -1555.761 45.000 39.000
+ 04 2 1 1 23 0.0000000 0 7G 1G20G31G11G14G25G23
+ -14252804.90943 -10689057.90842 22339980.336 22339985.582 22339979.628
+ 1907.903 1486.678 51.000 45.000
+ -12674044.10643 -9688471.33942 22913748.003 22913750.311 22913745.403
+ 1868.539 1456.004 51.000 44.000
+ -11161931.81943 -8646549.86242 23378538.490 23378546.416 23378537.516
+ -2291.814 -1785.829 46.000 40.000
+ -23865627.33844 -18546330.79342 20568978.559 20568981.476 20568977.456
+ 962.939 750.342 57.000 51.000
+ -2115527.28043 -1637282.39842 24197367.221 24197372.275 24197365.117
+ -2901.708 -2261.071 47.000 39.000
+ -22273602.13043 -17345146.24842 20887663.701 20887668.293 20887663.260
+ -588.297 -458.413 56.000 50.000
+ -7004710.78443 -5396345.18742 23964239.274 23964246.745 23964238.808
+ -1999.743 -1558.241 45.000 38.000
+ 04 2 1 1 23 30.0000000 0 7G 1G20G31G11G14G25G23
+ -14309874.65743 -10733527.80642 22329119.723 22329125.604 22329119.209
+ 1897.127 1478.281 51.000 45.000
+ -12730110.14943 -9732159.14542 22903078.089 22903081.856 22903077.223
+ 1869.293 1456.592 51.000 44.000
+ -11093161.26743 -8592962.54742 23391627.718 23391633.579 23391625.710
+ -2293.137 -1786.860 47.000 40.000
+ -23894246.40344 -18568631.36742 20563532.285 20563535.239 20563531.329
+ 945.177 736.502 57.000 51.000
+ -2028507.95443 -1569475.21942 24213925.772 24213931.994 24213926.364
+ -2899.481 -2259.336 46.000 38.000
+ -22255649.04243 -17331156.83942 20891080.576 20891084.363 20891079.396
+ -608.464 -474.128 56.000 50.000
+ -6944648.43943 -5349543.45342 23975670.348 23975678.154 23975669.095
+ -2003.995 -1561.554 46.000 39.000
+ 04 2 1 1 24 0.0000000 0 7G 1G20G31G11G14G25G23
+ -14366632.15443 -10777754.39542 22318319.835 22318324.401 22318318.686
+ 1886.986 1470.379 52.000 45.000
+ -12786207.41243 -9775871.29242 22892402.854 22892407.056 22892401.433
+ 1870.543 1457.566 51.000 44.000
+ -11024357.54143 -8539349.36142 23404719.515 23404726.703 23404718.062
+ -2293.879 -1787.438 47.000 40.000
+ -23922340.73744 -18590523.06142 20558186.529 20558189.168 20558185.379
+ 927.904 723.042 57.000 51.000
+ -1941561.90843 -1501725.13242 24230471.573 24230477.079 24230469.565
+ -2896.381 -2256.920 46.000 39.000
+ -22237098.93843 -17316702.22542 20894610.328 20894614.272 20894609.609
+ -627.987 -489.340 56.000 50.000
+ -6884487.19743 -5302664.64142 23987119.214 23987124.884 23987117.070
+ -2006.576 -1563.566 46.000 39.000
+ 04 2 1 1 24 30.0000000 0 7G 1G20G31G11G14G25G23
+ -14423076.65543 -10821737.09642 22307579.436 22307583.829 22307578.306
+ 1876.387 1462.120 52.000 45.000
+ -12842334.71343 -9819606.82042 22881722.901 22881726.844 22881720.619
+ 1871.547 1458.348 50.000 44.000
+ -10955522.50643 -8485711.79542 23417819.387 23417823.345 23417816.845
+ -2294.872 -1788.212 47.000 40.000
+ -23949908.06944 -18612004.10542 20552940.256 20552943.162 20552939.575
+ 910.275 709.305 57.000 51.000
+ -1854689.80743 -1434032.66942 24247002.774 24247007.144 24247000.721
+ -2894.548 -2255.492 45.000 39.000
+ -22217951.40443 -17301782.07742 20898254.144 20898257.863 20898253.153
+ -648.115 -505.025 56.000 50.000
+ -6824225.51043 -5255707.56442 23998585.628 23998592.084 23998584.838
+ -2010.396 -1566.542 44.000 39.000
+ 04 2 1 1 25 0.0000000 0 7G 1G20G31G11G14G25G23
+ -14479206.89143 -10865474.90442 22296897.712 22296902.468 22296896.854
+ 1865.011 1453.255 52.000 45.000
+ -12898490.29543 -9863364.39642 22871036.243 22871041.553 22871035.072
+ 1871.654 1458.432 50.000 44.000
+ -10886657.65943 -8432051.00442 23430923.430 23430930.012 23430921.583
+ -2296.840 -1789.745 47.000 40.000
+ -23976946.11544 -18633072.71942 20547795.257 20547797.792 20547794.295
+ 891.711 694.840 57.000 51.000
+ -1767891.64343 -1366397.83442 24263522.145 24263525.073 24263520.127
+ -2892.756 -2254.095 46.000 39.000
+ -22198206.22143 -17286396.23942 20902011.688 20902015.006 20902010.601
+ -668.886 -521.210 56.000 50.000
+ -6763861.59143 -5208670.88042 24010073.741 24010078.845 24010071.320
+ -2014.909 -1570.059 45.000 38.000
+ 04 2 1 1 25 30.0000000 0 7G 1G20G31G11G14G25G23
+ -14535021.69943 -10908966.92942 22286276.535 22286281.922 22286275.132
+ 1855.233 1445.636 52.000 45.000
+ -12954672.71143 -9907142.89042 22860345.135 22860348.933 22860343.842
+ 1873.143 1459.592 50.000 44.000
+ -10817764.97543 -8378368.51842 23444034.022 23444041.127 23444031.483
+ -2296.765 -1789.687 47.000 40.000
+ -24003452.57244 -18653727.11042 20542751.337 20542753.863 20542750.162
+ 874.717 681.598 57.000 51.000
+ -1681167.53543 -1298820.70642 24280024.475 24280027.135 24280022.411
+ -2889.480 -2251.543 45.000 39.000
+ -22177862.58043 -17270544.06342 20905883.124 20905886.364 20905882.033
+ -688.095 -536.178 56.000 50.000
+ -6703393.91543 -5161553.30842 24021578.910 24021584.877 24021577.217
+ -2017.370 -1571.977 44.000 38.000
+ 04 2 1 1 26 0.0000000 0 7G 1G20G31G11G14G25G23
+ -14590523.59643 -10952215.12542 22275714.687 22275720.254 22275713.104
+ 1844.975 1437.643 51.000 45.000
+ -13010883.93243 -9950943.83542 22849648.485 22849652.137 22849646.865
+ 1874.149 1460.376 50.000 44.000
+ -10748849.69243 -8324668.42442 23457145.924 23457155.540 23457145.259
+ -2297.625 -1790.357 46.000 40.000
+ -24029428.86244 -18673968.37842 20537808.434 20537810.812 20537807.341
+ 857.093 667.865 57.000 51.000
+ -1594521.06743 -1231304.04042 24296511.470 24296514.150 24296509.368
+ -2886.751 -2249.416 45.000 38.000
+ -22156923.83143 -17254228.16342 20909867.038 20909871.255 20909866.020
+ -707.722 -551.472 56.000 50.000
+ -6642824.38543 -5114356.38442 24033104.118 24033112.657 24033102.944
+ -2020.528 -1574.437 44.000 38.000
+ 04 2 1 1 26 30.0000000 0 7G 1G20G31G11G14G25G23
+ -14645710.07343 -10995217.52742 22265212.686 22265218.256 22265211.452
+ 1835.064 1429.920 52.000 45.000
+ -13067120.59543 -9994764.59142 22838947.632 22838951.221 22838946.073
+ 1875.747 1461.621 51.000 44.000
+ -10679911.61743 -8270950.56642 23470265.904 23470272.610 23470265.088
+ -2297.863 -1790.542 46.000 40.000
+ -24054870.75844 -18693793.24242 20532966.754 20532969.505 20532965.574
+ 839.899 654.467 57.000 51.000
+ -1507950.58643 -1163846.61442 24312986.728 24312989.902 24312984.496
+ -2883.376 -2246.786 45.000 38.000
+ -22135387.77043 -17237446.82642 20913965.242 20913969.249 20913964.496
+ -727.063 -566.542 56.000 50.000
+ -6582149.80943 -5067077.57042 24044651.816 24044658.043 24044649.291
+ -2023.479 -1576.737 45.000 39.000
+ 04 2 1 1 27 0.0000000 0 7G 1G20G31G11G14G25G23
+ -14700585.80643 -11037977.80542 22254770.766 22254775.521 22254769.341
+ 1823.442 1420.864 52.000 46.000
+ -13123387.04243 -10038608.57342 22828239.660 22828243.439 22828239.001
+ 1875.696 1461.581 51.000 44.000
+ -10610958.36243 -8217220.89742 23483387.989 23483394.822 23483386.088
+ -2299.106 -1791.511 46.000 40.000
+ -24079781.86944 -18713204.51142 20528226.467 20528228.702 20528225.294
+ 820.977 639.722 57.000 51.000
+ -1421461.77743 -1096452.85242 24329443.962 24329449.632 24329442.298
+ -2882.057 -2245.759 44.000 39.000
+ -22113259.50543 -17220204.03142 20918176.421 20918180.605 20918175.523
+ -747.954 -582.821 56.000 50.000
+ -6521374.20943 -5019720.04442 24056216.619 24056223.794 24056215.815
+ -2028.067 -1580.312 45.000 38.000
+ 04 2 1 1 27 30.0000000 0 7G 1G20G31G11G14G25G23
+ -14755145.29843 -11080491.66242 22244387.294 22244393.083 22244386.289
+ 1813.584 1413.182 51.000 45.000
+ -13179677.08443 -10082470.91842 22817527.688 22817531.769 22817526.066
+ 1877.039 1462.628 51.000 44.000
+ -10541987.09543 -8163477.17942 23496511.978 23496519.628 23496510.068
+ -2298.976 -1791.410 47.000 40.000
+ -24104155.53744 -18732196.99742 20523588.093 20523590.817 20523587.127
+ 803.766 626.311 57.000 51.000
+ -1335050.36143 -1029119.36942 24345887.355 24345892.570 24345884.883
+ -2879.171 -2243.510 43.000 38.000
+ -22090534.32543 -17202496.10742 20922500.518 20922504.767 20922499.759
+ -767.171 -597.795 56.000 50.000
+ -6460491.54543 -4972279.11542 24067802.266 24067809.874 24067799.485
+ -2031.109 -1582.682 45.000 38.000
+ 04 2 1 1 28 0.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -14809393.42443 -11122762.89842 22234065.797 22234069.814 22234063.639
+ 1803.462 1405.295 52.000 46.000
+ -13235994.96743 -10126354.97142 22806811.246 22806814.721 22806809.440
+ 1878.118 1463.469 51.000 44.000
+ -1640676.09753 -1249048.69752 25664261.164 25664271.637 25664259.844
+ 2066.398 1610.180 42.000 35.000
+ -10473005.33343 -8109725.31842 23509638.720 23509644.402 23509637.505
+ -2299.039 -1791.459 47.000 40.000
+ -24127995.29544 -18750773.44742 20519051.565 20519054.144 20519050.569
+ 786.100 612.545 57.000 51.000
+ -1248722.43743 -961850.95442 24362316.124 24362320.707 24362314.409
+ -2875.747 -2240.842 46.000 39.000
+ -22067217.58743 -17184327.23342 20926937.788 20926941.644 20926936.600
+ -786.736 -613.041 56.000 50.000
+ -6399506.05043 -4924758.07442 24079407.363 24079414.942 24079405.893
+ -2034.069 -1584.989 44.000 38.000
+ 04 2 1 1 28 30.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -14863327.49943 -11164789.41942 22223801.798 22223806.697 22223800.710
+ 1792.785 1396.975 52.000 46.000
+ -13292337.53043 -10170258.24842 22796089.459 22796092.777 22796088.041
+ 1878.708 1463.928 51.000 44.000
+ -1702799.32843 -1297456.42142 25652438.173 25652448.525 25652437.426
+ 2075.976 1617.644 42.000 36.000
+ -10404013.14043 -8055965.30042 23522768.831 23522775.445 23522767.870
+ -2299.850 -1792.091 47.000 40.000
+ -24151297.32044 -18768930.88142 20514617.421 20514620.314 20514616.407
+ 768.006 598.446 57.000 51.000
+ -1162476.20043 -894646.18342 24378726.124 24378731.472 24378725.460
+ -2873.226 -2238.877 43.000 38.000
+ -22043307.64843 -17165696.12442 20931488.304 20931491.880 20931486.954
+ -806.621 -628.536 56.000 50.000
+ -6338414.51743 -4877154.38042 24091032.133 24091040.930 24091032.024
+ -2037.888 -1587.965 45.000 39.000
+ 04 2 1 1 29 0.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -14916949.52143 -11206572.78942 22213597.935 22213602.718 22213596.797
+ 1782.442 1388.916 52.000 46.000
+ -13348705.97243 -10214181.69742 22785363.844 22785367.880 22785362.128
+ 1879.813 1464.789 52.000 44.000
+ -1765222.51843 -1346097.87742 25640558.122 25640571.282 25640556.245
+ 2086.084 1625.520 41.000 35.000
+ -10335015.11243 -8002200.74342 23535898.667 23535904.877 23535897.911
+ -2299.746 -1792.010 47.000 39.000
+ -24174062.19644 -18786669.76242 20510285.626 20510288.175 20510284.441
+ 750.120 584.509 57.000 51.000
+ -1076314.70443 -827507.45142 24395122.183 24395128.799 24395121.331
+ -2870.617 -2236.844 43.000 38.000
+ -22018807.01443 -17146604.72942 20936150.189 20936153.917 20936149.017
+ -826.279 -643.854 56.000 50.000
+ -6277218.14343 -4829468.98442 24102678.737 24102686.348 24102677.213
+ -2041.359 -1590.669 45.000 39.000
+ 04 2 1 1 29 30.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -14970257.45643 -11248111.41142 22203453.543 22203459.302 22203452.773
+ 1771.793 1380.618 52.000 46.000
+ -13405097.70143 -10258123.28642 22774632.565 22774635.215 22774630.530
+ 1880.202 1465.092 52.000 44.000
+ -1827941.90643 -1394970.16742 25628625.930 25628634.938 25628622.757
+ 2095.614 1632.946 41.000 36.000
+ -10266011.92943 -7948432.15042 23549029.361 23549036.266 23549028.753
+ -2300.121 -1792.302 47.000 40.000
+ -24196286.94044 -18803987.76242 20506056.372 20506058.925 20506055.379
+ 731.874 570.291 57.000 51.000
+ -990236.92643 -760433.91442 24411502.576 24411509.590 24411501.827
+ -2867.504 -2234.419 42.000 37.000
+ -21993714.27843 -17127051.95442 20940924.823 20940928.763 20940924.079
+ -846.213 -659.387 56.000 50.000
+ -6215914.38843 -4781699.89642 24114344.418 24114352.792 24114340.791
+ -2045.316 -1593.753 43.000 38.000
+ 04 2 1 1 30 0.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15023252.55643 -11289406.26542 22193368.611 22193373.854 22193367.815
+ 1761.283 1372.428 51.000 46.000
+ -13461513.13643 -10302083.34642 22763895.986 22763900.452 22763895.212
+ 1880.777 1465.541 51.000 44.000
+ -1890957.07443 -1444072.92642 25616632.154 25616645.268 25616632.100
+ 2105.421 1640.588 43.000 36.000
+ -10197007.43843 -7894662.56942 23562159.734 23562167.911 23562158.881
+ -2300.075 -1792.266 47.000 40.000
+ -24217971.74744 -18820885.02942 20501929.933 20501932.458 20501928.783
+ 713.700 556.130 57.000 51.000
+ -904244.95843 -693427.28042 24427868.557 24427871.373 24427867.733
+ -2864.926 -2232.410 43.000 38.000
+ -21968031.50143 -17107039.41042 20945812.238 20945816.338 20945811.435
+ -865.989 -674.797 56.000 50.000
+ -6154503.75043 -4733847.58142 24126030.064 24126036.981 24126028.291
+ -2049.084 -1596.689 43.000 38.000
+ 04 2 1 1 30 30.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15075935.93243 -11330458.21742 22183343.038 22183348.570 22183342.302
+ 1751.386 1364.716 52.000 46.000
+ -13517952.69943 -10346062.22442 22753156.429 22753159.929 22753155.204
+ 1882.073 1466.550 51.000 44.000
+ -1954267.33443 -1493405.67042 25604585.086 25604598.322 25604583.790
+ 2115.289 1648.277 39.000 36.000
+ -10128005.22043 -7840894.73342 23575291.128 23575298.325 23575288.626
+ -2299.713 -1791.984 46.000 40.000
+ -24239116.44644 -18837361.43242 20497905.898 20497908.693 20497904.975
+ 696.165 542.466 57.000 51.000
+ -818340.75143 -626489.03542 24444214.731 24444219.089 24444213.701
+ -2861.852 -2230.014 43.000 38.000
+ -21941760.41443 -17086568.44342 20950811.546 20950815.589 20950810.799
+ -885.145 -689.723 56.000 50.000
+ -6092986.89743 -4685912.48642 24137734.517 24137744.200 24137734.360
+ -2052.179 -1599.100 43.000 38.000
+ 04 2 1 1 31 0.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15128302.61143 -11371263.39942 22173378.687 22173384.335 22173377.396
+ 1740.628 1356.334 52.000 46.000
+ -13574410.33543 -10390055.16642 22742412.405 22742416.608 22742411.143
+ 1882.512 1466.892 51.000 45.000
+ -2017865.69443 -1542962.87642 25592481.846 25592495.811 25592481.320
+ 2124.076 1655.124 40.000 35.000
+ -10059002.83743 -7787126.76942 23588422.275 23588428.781 23588421.900
+ -2299.900 -1792.130 48.000 41.000
+ -24259714.83144 -18853412.13542 20493986.357 20493988.925 20493985.014
+ 677.728 528.100 57.000 51.000
+ -732520.34743 -559616.08942 24460544.320 24460551.251 24460543.761
+ -2859.517 -2228.195 42.000 37.000
+ -21914896.49843 -17065635.53042 20955923.525 20955927.491 20955922.510
+ -905.055 -705.238 56.000 50.000
+ -6031357.87843 -4637889.97342 24149465.723 24149470.960 24149463.861
+ -2055.705 -1601.848 44.000 37.000
+ 04 2 1 1 31 30.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15180365.20343 -11411831.63142 22163471.586 22163476.307 22163470.215
+ 1729.745 1347.853 52.000 46.000
+ -13630898.28443 -10434071.73442 22731664.235 22731667.799 22731661.871
+ 1882.758 1467.084 52.000 45.000
+ -2081762.88143 -1592752.96042 25580326.463 25580337.020 25580325.288
+ 2134.372 1663.147 43.000 35.000
+ -9990015.43043 -7733370.50642 23601550.767 23601557.502 23601549.282
+ -2299.890 -1792.122 48.000 41.000
+ -24279778.21043 -18869045.94542 20490168.128 20490171.106 20490167.442
+ 659.171 513.640 56.000 51.000
+ -646797.02043 -492818.80442 24476859.793 24476862.180 24476857.537
+ -2856.350 -2225.727 44.000 38.000
+ -21887452.96643 -17044250.96642 20961146.150 20961149.654 20961145.194
+ -925.035 -720.806 56.000 50.000
+ -5969628.63043 -4589789.39142 24161211.613 24161218.511 24161212.038
+ -2059.790 -1605.031 44.000 38.000
+ 04 2 1 1 32 0.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15232111.54043 -11452153.43942 22153623.819 22153628.933 22153623.024
+ 1719.402 1339.794 52.000 46.000
+ -13687403.42743 -10478101.70842 22720911.374 22720913.934 22720908.881
+ 1883.477 1467.644 52.000 45.000
+ -2145944.79143 -1642764.86142 25568112.094 25568121.432 25568109.659
+ 2144.409 1670.968 41.000 35.000
+ -9921033.36343 -7679618.39842 23614677.773 23614684.891 23614676.354
+ -2299.336 -1791.690 48.000 41.000
+ -24299293.32643 -18884252.53942 20486454.689 20486457.377 20486453.401
+ 641.126 499.579 56.000 51.000
+ -561159.50543 -426088.34442 24493154.327 24493158.542 24493153.686
+ -2853.536 -2223.534 43.000 38.000
+ -21859418.68243 -17022406.08442 20966480.771 20966484.841 20966479.505
+ -944.527 -735.995 56.000 49.000
+ -5907786.28543 -4541600.67542 24172979.943 24172986.469 24172978.051
+ -2063.501 -1607.923 44.000 39.000
+ 04 2 1 1 32 30.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15283544.76843 -11492231.25142 22143836.643 22143842.876 22143835.429
+ 1709.123 1331.784 52.000 46.000
+ -13743928.04043 -10522146.84842 22710155.019 22710158.087 22710154.095
+ 1884.418 1468.378 52.000 45.000
+ -2210412.60643 -1692999.60842 25555845.560 25555851.860 25555844.710
+ 2153.982 1678.428 41.000 34.000
+ -9852062.22943 -7625874.82342 23627801.361 23627808.169 23627800.631
+ -2298.984 -1791.416 47.000 40.000
+ -24318262.13443 -18899033.44242 20482844.869 20482848.071 20482844.086
+ 623.095 485.529 56.000 51.000
+ -475611.88643 -359427.95542 24509433.367 24509439.221 24509432.652
+ -2850.240 -2220.966 43.000 38.000
+ -21830797.57543 -17000103.93742 20971927.368 20971930.607 20971926.234
+ -963.845 -751.048 56.000 49.000
+ -5845833.33743 -4493325.77142 24184768.723 24184776.474 24184767.736
+ -2067.016 -1610.662 45.000 39.000
+ 04 2 1 1 33 0.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15334666.21443 -11532066.13242 22134108.762 22134113.680 22134108.213
+ 1698.978 1323.879 52.000 46.000
+ -13800472.56743 -10566207.50242 22699394.683 22699397.766 22699392.291
+ 1885.335 1469.092 52.000 45.000
+ -2275165.74043 -1743456.61842 25543519.381 25543533.685 25543520.120
+ 2163.532 1685.869 41.000 35.000
+ -9783105.86143 -7572142.76142 23640923.734 23640930.459 23640922.256
+ -2298.140 -1790.758 46.000 40.000
+ -24336684.74944 -18913388.73942 20479339.283 20479342.340 20479338.383
+ 605.205 471.588 57.000 51.000
+ -390156.13943 -292839.16842 24525694.788 24525699.422 24525693.900
+ -2846.868 -2218.339 42.000 38.000
+ -21801591.42743 -16977345.91942 20977485.258 20977488.878 20977483.969
+ -983.117 -766.065 56.000 50.000
+ -5783770.33443 -4444965.08542 24196579.238 24196586.542 24196579.390
+ -2070.361 -1613.268 47.000 39.000
+ 04 2 1 1 33 30.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15385477.06443 -11571658.98242 22124439.115 22124444.097 22124438.425
+ 1688.259 1315.526 52.000 46.000
+ -13857037.48043 -10610284.04942 22688630.468 22688634.527 22688629.023
+ 1885.602 1469.300 51.000 45.000
+ -2340203.82443 -1794135.70442 25531144.209 25531154.763 25531142.189
+ 2172.158 1692.591 42.000 36.000
+ -9714168.14343 -7518425.21642 23654043.007 23654049.062 23654040.618
+ -2298.011 -1790.658 46.000 40.000
+ -24354561.56444 -18927318.73742 20475937.569 20475940.566 20475936.695
+ 586.574 457.071 57.000 51.000
+ -304794.38543 -226323.58242 24541936.547 24541944.088 24541936.732
+ -2844.479 -2216.477 43.000 37.000
+ -21771802.83843 -16954134.05542 20983153.660 20983157.323 20983152.507
+ -1002.958 -781.526 56.000 49.000
+ -5721598.01143 -4396519.22942 24208411.675 24208417.572 24208410.201
+ -2074.163 -1616.231 46.000 39.000
+ 04 2 1 1 34 0.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15435977.15043 -11611009.68042 22114830.528 22114835.288 22114829.664
+ 1677.756 1307.342 53.000 46.000
+ -13913621.88043 -10654375.76842 22677863.150 22677867.001 22677862.296
+ 1886.084 1469.676 52.000 45.000
+ -2405524.66443 -1845035.09842 25518715.060 25518725.028 25518713.570
+ 2181.637 1699.977 42.000 36.000
+ -9645251.21843 -7464723.90942 23667158.217 23667163.969 23667156.451
+ -2297.375 -1790.162 45.000 40.000
+ -24371891.10244 -18940822.28742 20472640.171 20472642.663 20472638.949
+ 568.118 442.689 57.000 51.000
+ -219527.42143 -159881.88742 24558164.536 24558170.565 24558163.740
+ -2840.823 -2213.628 43.000 38.000
+ -21741432.02943 -16930468.50942 20988932.571 20988936.675 20988931.726
+ -1022.460 -796.722 56.000 49.000
+ -5659315.32543 -4347987.39142 24220262.491 24220268.820 24220260.212
+ -2078.311 -1619.463 45.000 39.000
+ 04 2 1 1 34 30.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15486166.86643 -11650118.51942 22105278.978 22105284.135 22105277.396
+ 1668.103 1299.821 52.000 46.000
+ -13970225.01143 -10698482.09642 22667092.490 22667095.252 22667090.699
+ 1887.467 1470.754 52.000 45.000
+ -2471126.54343 -1896153.45042 25506231.060 25506241.418 25506230.108
+ 2191.654 1707.782 41.000 35.000
+ -9576357.95243 -7411041.03642 23680267.361 23680274.602 23680265.758
+ -2295.865 -1788.986 45.000 39.000
+ -24388673.07444 -18953899.15842 20469446.075 20469449.011 20469445.219
+ 550.603 429.041 57.000 51.000
+ -134356.51443 -93515.06442 24574372.860 24574377.703 24574370.599
+ -2837.083 -2210.714 43.000 38.000
+ -21710480.04143 -16906350.09142 20994823.083 20994826.624 20994822.006
+ -1041.028 -811.191 56.000 50.000
+ -5596922.02843 -4299369.31142 24232134.221 24232142.887 24232133.604
+ -2081.372 -1621.848 45.000 39.000
+ 04 2 1 1 35 0.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15536045.62443 -11688985.05742 22095787.883 22095792.514 22095786.219
+ 1657.264 1291.374 52.000 46.000
+ -14026845.16943 -10742601.68242 22656317.302 22656320.816 22656316.579
+ 1887.451 1470.741 52.000 45.000
+ -2537006.69543 -1947488.65942 25493693.094 25493704.627 25493693.916
+ 2200.833 1714.935 41.000 35.000
+ -9507489.92743 -7357377.84542 23693371.977 23693379.816 23693370.778
+ -2295.276 -1788.527 45.000 39.000
+ -24404905.36144 -18966547.70842 20466358.030 20466360.207 20466356.731
+ 531.817 414.403 57.000 51.000
+ -49281.07343 -27222.58642 24590563.136 24590566.781 24590561.510
+ -2834.405 -2208.627 44.000 38.000
+ -21678947.16543 -16881779.04142 21000823.335 21000827.169 21000822.269
+ -1060.854 -826.639 56.000 49.000
+ -5534416.44643 -4250663.78142 24244029.639 24244037.350 24244028.956
+ -2085.183 -1624.818 46.000 38.000
+ 04 2 1 1 35 30.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15585614.83443 -11727610.39842 22086355.152 22086359.671 22086354.265
+ 1647.361 1283.658 53.000 46.000
+ -14083482.88643 -10786734.96142 22645540.026 22645543.781 22645538.356
+ 1888.589 1471.628 52.000 45.000
+ -2603164.96543 -1999040.57442 25481105.681 25481116.140 25481105.329
+ 2210.175 1722.214 42.000 35.000
+ -9438651.05943 -7303737.35942 23706472.040 23706480.784 23706471.635
+ -2293.928 -1787.476 46.000 39.000
+ -24420588.08643 -18978768.02342 20463372.985 20463375.801 20463371.982
+ 513.839 400.394 56.000 51.000
+ 35696.70943 38993.80742 24606732.462 24606740.191 24606731.563
+ -2830.737 -2205.769 43.000 38.000
+ -21646835.54143 -16856757.02342 21006934.235 21006937.798 21006933.430
+ -1079.764 -841.374 56.000 49.000
+ -5471799.44943 -4201871.39942 24255946.278 24255952.767 24255944.672
+ -2088.700 -1627.558 44.000 38.000
+ 04 2 1 1 36 0.0000000 0 8G 1G20G 2G31G11G14G25G23
+ -15634872.19843 -11765992.72342 22076981.904 22076986.967 22076980.646
+ 1636.948 1275.544 53.000 46.000
+ -14140135.08443 -10830879.53342 22634758.538 22634762.580 22634757.449
+ 1888.636 1471.664 52.000 45.000
+ -2669596.84743 -2050805.67542 25468463.034 25468475.469 25468460.956
+ 2219.184 1729.234 41.000 35.000
+ -9369841.45843 -7250119.66242 23719565.677 23719572.713 23719564.805
+ -2293.140 -1786.862 46.000 39.000
+ -24435718.33643 -18990557.84442 20460494.074 20460496.568 20460492.857
+ 495.182 385.856 56.000 51.000
+ 120578.14643 105135.10042 24622885.439 24622891.730 24622884.680
+ -2827.669 -2203.378 46.000 38.000
+ -21614143.91943 -16831283.04942 21013154.839 21013158.587 21013154.124
+ -1099.232 -856.544 56.000 49.000
+ -5409067.86243 -4152989.77742 24267881.901 24267890.317 24267882.095
+ -2092.891 -1630.824 44.000 38.000
+ 04 2 1 1 36 30.0000000 0 9G 1G20G 2G31G11G14G25G16G23
+ -15683821.78243 -11804135.23342 22067666.721 22067671.745 22067665.235
+ 1626.883 1267.701 53.000 46.000
+ -14196804.92743 -10875037.83542 22623974.934 22623979.085 22623973.617
+ 1889.681 1472.479 52.000 45.000
+ -2736304.13543 -2102785.36842 25455768.411 25455777.731 25455767.678
+ 2228.933 1736.831 41.000 35.000
+ -9301067.72643 -7196529.93542 23732653.560 23732661.394 23732653.053
+ -2291.761 -1785.788 47.000 39.000
+ -24450299.01043 -19001919.42542 20457719.250 20457722.137 20457718.166
+ 477.208 371.850 56.000 51.000
+ 205358.53643 171197.63742 24639019.596 24639025.488 24639018.260
+ -2823.881 -2200.427 44.000 38.000
+ -21580877.12343 -16805360.89242 21019485.425 21019489.548 21019484.459
+ -1118.108 -871.253 56.000 49.000
+ -1515585.49853 -1149522.07252 24956175.263 24956183.990 24956171.136
+ 1894.163 1475.971 41.000 34.000
+ -5346225.21043 -4104021.59442 24279841.627 24279850.061 24279840.258
+ -2096.597 -1633.712 43.000 37.000
+ 04 2 1 1 37 0.0000000 0 9G 1G20G 2G31G11G14G25G16G23
+ -15732460.66543 -11842035.63642 22058410.934 22058416.352 22058409.470
+ 1615.794 1259.060 52.000 46.000
+ -14253488.28143 -10919206.67642 22613188.807 22613191.958 22613187.681
+ 1889.334 1472.208 52.000 45.000
+ -2803281.76143 -2154975.69742 25443023.929 25443035.844 25443021.860
+ 2236.882 1743.025 42.000 36.000
+ -9232328.97143 -7142967.44642 23745734.880 23745740.257 23745732.991
+ -2291.282 -1785.414 48.000 39.000
+ -24464326.11343 -19012849.64742 20455050.026 20455053.095 20455048.764
+ 458.070 356.938 56.000 51.000
+ 290040.28243 237183.29742 24655132.821 24655139.334 24655132.590
+ -2821.299 -2198.415 44.000 37.000
+ -21547033.37743 -16778989.16342 21025925.332 21025929.372 21025924.329
+ -1137.993 -886.748 56.000 49.000
+ -1572472.72843 -1193849.74442 24945349.737 24945355.395 24945347.035
+ 1897.841 1478.837 39.000 33.000
+ -5283267.66943 -4054963.93042 24291822.754 24291829.142 24291821.027
+ -2100.639 -1636.861 45.000 38.000
+ 04 2 1 1 37 30.0000000 0 9G 1G20G 2G31G11G14G25G16G23
+ -15780784.57343 -11879690.60342 22049214.903 22049220.566 22049214.460
+ 1606.419 1251.755 53.000 46.000
+ -14310179.72343 -10963381.80942 22602400.656 22602403.995 22602398.704
+ 1890.538 1473.146 52.000 45.000
+ -2870523.28343 -2207371.65042 25430229.475 25430242.166 25430228.951
+ 2246.315 1750.375 44.000 37.000
+ -9163623.36743 -7089430.77442 23758808.523 23758814.976 23758808.690
+ -2288.952 -1783.599 47.000 39.000
+ -24477794.34044 -19023344.38442 20452487.232 20452490.072 20452486.044
+ 440.333 343.117 57.000 51.000
+ 374627.08643 303095.00542 24671230.250 24671235.240 24671228.259
+ -2817.101 -2195.144 44.000 37.000
+ -21512609.16143 -16752165.12142 21032476.430 21032480.427 21032475.283
+ -1156.403 -901.093 56.000 49.000
+ -1629485.72543 -1238275.46542 24934498.572 24934505.768 24934498.820
+ 1902.789 1482.693 41.000 33.000
+ -5220190.17843 -4005812.74442 24303825.051 24303833.729 24303824.658
+ -2103.844 -1639.359 45.000 38.000
+ 04 2 1 1 38 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -15828805.58843 -11917109.55442 22040077.774 22040081.626 22040076.277
+ 1595.640 1243.356 53.000 46.000
+ -14366890.48643 -11007572.00542 22591609.429 22591612.489 22591608.106
+ 1890.717 1473.286 52.000 45.000
+ -2938038.91443 -2259981.20842 25417380.406 25417393.155 25417379.194
+ 2255.243 1757.332 43.000 37.000
+ -9094965.26643 -7035931.14642 23771873.730 23771882.345 23771873.063
+ -2287.751 -1782.663 46.000 39.000
+ -1581802.88853 -1191689.02952 25037522.450 25037533.483 25037525.692
+ 2380.705 1855.095 39.000 33.000
+ -24490714.83544 -19033412.31542 20450028.907 20450031.562 20450027.726
+ 421.561 328.489 57.000 51.000
+ 459106.11143 368922.72842 24687304.879 24687312.251 24687305.247
+ -2814.279 -2192.945 44.000 38.000
+ -21477617.67343 -16724899.04742 21039134.762 21039138.765 21039134.088
+ -1175.839 -916.238 55.000 49.000
+ -1686634.06243 -1282806.54942 24923624.742 24923634.723 24923622.836
+ 1907.101 1486.053 43.000 34.000
+ -5157003.95943 -3956576.84142 24315849.322 24315857.282 24315848.223
+ -2108.109 -1642.682 45.000 38.000
+ 04 2 1 1 38 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -15876518.41043 -11954288.35642 22030997.038 22031002.358 22030995.523
+ 1585.291 1235.292 52.000 46.000
+ -14423613.93043 -11051772.07242 22580814.872 22580818.690 22580813.729
+ 1890.949 1473.467 52.000 45.000
+ -3005821.17243 -2312798.53042 25404481.406 25404492.851 25404480.248
+ 2263.988 1764.146 43.000 37.000
+ -9026351.55443 -6982466.09042 23784932.432 23784939.026 23784929.627
+ -2286.398 -1781.609 47.000 39.000
+ -1653126.55953 -1247265.88252 25023948.409 25023959.324 25023947.485
+ 2374.356 1850.148 38.000 32.000
+ -24503081.08844 -19043048.36942 20447675.491 20447678.227 20447674.421
+ 403.028 314.048 57.000 51.000
+ 543482.36743 434670.35342 24703362.373 24703367.460 24703362.075
+ -2810.916 -2190.324 45.000 38.000
+ -21442054.13443 -16697187.22042 21045902.408 21045906.226 21045901.456
+ -1194.951 -931.131 55.000 49.000
+ -1743909.83843 -1327436.93742 24912725.990 24912735.699 24912724.416
+ 1911.175 1489.227 43.000 36.000
+ -5093702.89843 -3907251.42142 24327895.284 24327903.062 24327893.604
+ -2111.847 -1645.595 45.000 39.000
+ 04 2 1 1 39 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -15923922.23243 -11991226.37642 22021976.454 22021981.724 22021975.724
+ 1575.062 1227.321 52.000 46.000
+ -14480348.29543 -11095980.65842 22570018.134 22570022.334 22570017.028
+ 1891.508 1473.902 52.000 45.000
+ -3073866.82443 -2365821.07942 25391532.093 25391544.307 25391528.722
+ 2272.671 1770.912 43.000 37.000
+ -8957783.81443 -6929036.86442 23797979.574 23797985.627 23797978.629
+ -2284.606 -1780.212 47.000 39.000
+ -1724250.98053 -1302687.43752 25010417.554 25010422.825 25010414.678
+ 2367.649 1844.921 40.000 33.000
+ -24514891.45344 -19052251.26242 20445427.831 20445430.510 20445426.762
+ 384.536 299.638 57.000 51.000
+ 627756.17443 500338.16242 24719397.971 24719402.524 24719397.768
+ -2807.350 -2187.545 45.000 37.000
+ -21405918.87343 -16669029.88842 21052778.805 21052783.083 21052778.100
+ -1213.803 -945.820 56.000 49.000
+ -1801308.98543 -1372163.45442 24901802.931 24901811.938 24901801.802
+ 1915.660 1492.722 44.000 37.000
+ -5030285.50043 -3857835.41142 24339962.786 24339971.140 24339961.961
+ -2115.675 -1648.578 43.000 39.000
+ 04 2 1 1 39 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -15971020.34943 -12027926.18842 22013014.630 22013018.906 22013013.076
+ 1564.893 1219.397 53.000 46.000
+ -14537095.81343 -11140199.49042 22559218.807 22559223.378 22559217.517
+ 1891.848 1474.167 51.000 45.000
+ -3142177.21843 -2419049.91442 25378533.929 25378544.211 25378532.075
+ 2281.246 1777.594 43.000 37.000
+ -8889267.60543 -6875647.80542 23811016.615 23811025.315 23811015.739
+ -2282.802 -1778.807 45.000 39.000
+ -1795178.86443 -1357955.76542 24996918.672 24996926.808 24996920.563
+ 2360.866 1839.636 41.000 34.000
+ -24526148.35444 -19061022.88542 20443285.963 20443288.538 20443284.668
+ 365.984 285.182 57.000 51.000
+ 711923.47243 565922.99542 24735414.701 24735420.991 24735412.469
+ -2803.785 -2184.767 43.000 37.000
+ -21369215.99443 -16640430.25542 21059763.554 21059767.617 21059762.361
+ -1232.813 -960.633 55.000 49.000
+ -1858832.37643 -1416986.80442 24890858.585 24890865.211 24890855.206
+ 1919.580 1495.777 44.000 37.000
+ -4966754.23943 -3808330.64042 24352053.810 24352059.116 24352051.469
+ -2119.975 -1651.928 43.000 38.000
+ 04 2 1 1 40 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16017811.22843 -12064386.59642 22004110.548 22004116.157 22004109.526
+ 1554.672 1211.433 53.000 46.000
+ -14593853.59543 -11184426.32242 22548418.996 22548423.843 22548417.727
+ 1892.270 1474.496 52.000 45.000
+ -3210748.55343 -2472482.05642 25365485.310 25365495.751 25365483.310
+ 2290.277 1784.631 45.000 37.000
+ -8820803.46943 -6822299.32642 23824046.733 23824054.646 23824044.726
+ -2281.055 -1777.445 46.000 39.000
+ -1865907.90743 -1413069.27942 24983460.470 24983468.530 24983459.573
+ 2354.479 1834.659 39.000 34.000
+ -24536849.04244 -19069361.09542 20441249.418 20441252.384 20441248.464
+ 347.470 270.756 57.000 51.000
+ 795985.52843 631425.77242 24751410.313 24751415.681 24751409.363
+ -2799.976 -2181.799 42.000 36.000
+ -21331944.91343 -16611387.87442 21066855.952 21066859.779 21066855.039
+ -1251.704 -975.354 56.000 49.000
+ -1916475.51943 -1461903.42642 24879888.383 24879897.636 24879885.169
+ 1923.490 1498.823 44.000 37.000
+ -4903106.62443 -3758735.18742 24364165.982 24364172.535 24364163.638
+ -2123.279 -1654.503 45.000 39.000
+ 04 2 1 1 40 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16064293.46343 -12100606.50742 21995265.280 21995270.262 21995264.446
+ 1543.940 1203.070 53.000 46.000
+ -14650619.02843 -11228659.11842 22537616.800 22537620.919 22537615.722
+ 1891.952 1474.248 52.000 45.000
+ -3279576.99843 -2526114.52242 25352387.562 25352398.449 25352385.232
+ 2297.941 1790.603 44.000 37.000
+ -8752392.24743 -6768992.09242 23837062.953 23837071.337 23837061.770
+ -2279.813 -1776.478 44.000 38.000
+ -1936435.98353 -1468026.11552 24970038.601 24970048.333 24970038.253
+ 2346.769 1828.651 40.000 34.000
+ -24546991.26744 -19077264.13942 20439319.636 20439322.047 20439318.467
+ 328.391 255.889 57.000 51.000
+ 879943.20843 696847.27842 24767388.193 24767394.515 24767388.468
+ -2797.299 -2179.713 43.000 36.000
+ -21294104.86743 -16581902.14742 21074056.430 21074060.859 21074055.514
+ -1271.142 -990.500 56.000 49.000
+ -1974233.88643 -1506909.83942 24868896.262 24868905.647 24868895.002
+ 1927.121 1501.653 42.000 36.000
+ -4839340.31943 -3709047.30142 24376298.740 24376306.433 24376298.429
+ -2127.939 -1658.134 45.000 39.000
+ 04 2 1 1 41 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16110469.30043 -12136587.66142 21986478.161 21986483.018 21986477.391
+ 1533.236 1194.729 53.000 46.000
+ -14707393.53843 -11272898.97842 22526811.994 22526816.566 22526810.832
+ 1891.681 1474.037 51.000 45.000
+ -3348662.67843 -2579947.46142 25339240.170 25339252.866 25339238.465
+ 2306.680 1797.413 43.000 37.000
+ -8684038.41243 -6715729.57342 23850071.622 23850079.187 23850070.887
+ -2278.355 -1775.341 43.000 38.000
+ -2006765.18843 -1522828.10342 24956656.268 24956661.931 24956654.731
+ 2340.042 1823.409 42.000 35.000
+ -24556576.45744 -19084733.12742 20437495.592 20437498.474 20437494.822
+ 309.263 240.984 57.000 51.000
+ 963793.76443 762185.26642 24783346.165 24783351.369 24783344.733
+ -2794.134 -2177.247 44.000 36.000
+ -21255699.60643 -16551975.98542 21081364.805 21081369.213 21081363.685
+ -1290.495 -1005.580 56.000 49.000
+ -2032107.01643 -1552005.72742 24857883.590 24857890.841 24857882.110
+ 1930.153 1504.015 43.000 36.000
+ -4775457.19143 -3659268.36542 24388455.981 24388463.095 24388454.729
+ -2132.319 -1661.547 46.000 39.000
+ 04 2 1 1 41 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16156343.33443 -12172333.65142 21977748.297 21977753.612 21977747.554
+ 1524.999 1188.311 53.000 46.000
+ -14764180.37643 -11317148.45742 22516007.205 22516010.409 22516005.714
+ 1894.010 1475.852 52.000 45.000
+ -3418007.94943 -2633982.68142 25326045.827 25326057.185 25326043.381
+ 2316.478 1805.048 44.000 38.000
+ -8615748.80143 -6662517.14542 23863066.486 23863077.108 23863066.022
+ -2274.470 -1772.314 43.000 38.000
+ -2076899.16143 -1577477.90542 24943310.822 24943317.720 24943308.767
+ 2335.116 1819.571 41.000 35.000
+ -24565608.33644 -19091770.96642 20435776.829 20435779.531 20435775.770
+ 292.631 228.024 57.000 51.000
+ 1047531.96443 827435.72342 24799280.525 24799285.677 24799279.080
+ -2788.660 -2172.982 45.000 37.000
+ -21216734.64643 -16521613.69942 21088779.514 21088783.658 21088778.815
+ -1307.371 -1018.731 55.000 49.000
+ -2090096.95543 -1597192.57942 24846848.627 24846857.968 24846848.007
+ 1935.893 1508.488 42.000 35.000
+ -4711460.83943 -3609401.17642 24400635.564 24400641.361 24400633.292
+ -2134.390 -1663.161 46.000 39.000
+ 04 2 1 1 42 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16201907.66743 -12207838.30242 21969077.847 21969083.642 21969076.839
+ 1513.589 1179.420 53.000 46.000
+ -14820970.48343 -11361400.46942 22505199.771 22505203.327 22505199.020
+ 1892.816 1474.922 52.000 45.000
+ -3487602.64543 -2688212.24542 25312804.052 25312810.753 25312801.065
+ 2324.067 1810.961 46.000 38.000
+ -8547517.69443 -6609350.25442 23876051.645 23876059.552 23876049.036
+ -2273.008 -1771.175 42.000 38.000
+ -2146829.30443 -1631968.82042 24930003.326 24930010.814 24930002.425
+ 2327.270 1813.457 42.000 35.000
+ -24574078.21844 -19098370.88942 20434164.922 20434167.894 20434163.832
+ 272.770 212.548 57.000 51.000
+ 1131165.29143 892604.48042 24815195.436 24815199.228 24815193.888
+ -2786.330 -2171.166 44.000 36.000
+ -21177203.10643 -16490809.92242 21096302.096 21096305.999 21096301.199
+ -1327.227 -1034.203 56.000 49.000
+ -2148192.79843 -1642461.98842 24835791.708 24835801.084 24835791.106
+ 1938.112 1510.217 43.000 35.000
+ -4647342.52843 -3559438.99142 24412836.587 24412843.369 24412834.785
+ -2139.373 -1667.044 46.000 39.000
+ 04 2 1 1 42 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16247169.00143 -12243106.86042 21960464.912 21960469.959 21960464.003
+ 1503.817 1171.805 53.000 46.000
+ -14877769.31543 -11405659.29642 22494391.607 22494395.083 22494390.152
+ 1893.642 1475.565 52.000 45.000
+ -3557451.04343 -2742639.46142 25299510.283 25299521.531 25299509.487
+ 2332.782 1817.752 45.000 38.000
+ -8479353.82143 -6556235.80042 23889021.815 23889030.797 23889020.892
+ -2270.712 -1769.386 43.000 38.000
+ -2216561.75943 -1686305.77242 24916736.020 24916742.394 24916734.526
+ 2321.305 1808.809 45.000 36.000
+ -24581991.77244 -19104537.30942 20432659.462 20432661.986 20432658.231
+ 254.757 198.512 57.000 51.000
+ 1214687.00743 957686.18542 24831089.076 24831092.981 24831088.151
+ -2781.869 -2167.690 44.000 36.000
+ -21137112.75743 -16459570.71442 21103931.141 21103935.385 21103930.536
+ -1345.402 -1048.365 56.000 49.000
+ -2206398.26443 -1687816.71942 24824716.216 24824724.559 24824715.489
+ 1942.403 1513.561 44.000 36.000
+ -4583107.97943 -3509386.19942 24425058.991 24425067.720 24425057.263
+ -2143.111 -1669.957 46.000 39.000
+ 04 2 1 1 43 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16292122.10843 -12278135.23642 21951909.917 21951915.950 21951909.625
+ 1493.527 1163.787 53.000 46.000
+ -14934570.03443 -11449919.58142 22483583.148 22483586.612 22483581.283
+ 1893.594 1475.528 52.000 45.000
+ -3627545.22743 -2797258.23042 25286170.701 25286183.103 25286169.139
+ 2340.696 1823.919 44.000 38.000
+ -8411253.90043 -6503171.13142 23901980.521 23901991.389 23901980.833
+ -2268.277 -1767.488 42.000 38.000
+ -2286090.88243 -1740484.23842 24903502.306 24903506.112 24903498.721
+ 2314.626 1803.605 43.000 34.000
+ -24589342.41944 -19110265.10042 20431260.335 20431263.145 20431259.593
+ 235.887 183.808 57.000 51.000
+ 1298101.91543 1022684.73642 24846963.341 24846969.353 24846962.313
+ -2778.095 -2164.749 44.000 37.000
+ -21096459.20343 -16427892.63642 21111667.415 21111670.876 21111666.312
+ -1364.249 -1063.051 56.000 49.000
+ -2264705.06243 -1733250.43442 24813620.317 24813630.091 24813620.206
+ 1945.267 1515.792 45.000 37.000
+ -4518751.11943 -3459238.08542 24437305.231 24437313.625 24437305.003
+ -2146.861 -1672.879 45.000 39.000
+ 04 2 1 1 43 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16336772.91243 -12312928.06142 21943413.688 21943419.440 21943412.369
+ 1483.270 1155.795 53.000 46.000
+ -14991377.31943 -11494184.97842 22472773.071 22472777.220 22472771.672
+ 1893.707 1475.616 52.000 45.000
+ -3697889.07843 -2852071.55642 25272786.460 25272796.460 25272785.200
+ 2348.791 1830.227 46.000 39.000
+ -8343226.09543 -6450162.66642 23914926.648 23914935.930 23914924.847
+ -2266.654 -1766.224 43.000 38.000
+ -2355421.19143 -1794507.75442 24890309.642 24890317.407 24890308.033
+ 2307.624 1798.149 42.000 34.000
+ -24596135.75644 -19115558.62642 20429968.111 20429970.562 20429966.895
+ 217.132 169.194 57.000 51.000
+ 1381403.93743 1087595.32242 24862814.631 24862820.145 24862813.106
+ -2775.038 -2162.367 44.000 37.000
+ -21055249.40443 -16395781.12942 21119509.447 21119513.360 21119508.349
+ -1383.005 -1077.666 56.000 49.000
+ -2323116.04743 -1778765.34942 24802505.033 24802515.108 24802504.531
+ 1948.674 1518.447 44.000 38.000
+ -4454276.88243 -3408998.54242 24449576.117 24449582.930 24449574.751
+ -2151.357 -1676.382 45.000 39.000
+ 04 2 1 1 44 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16381122.63043 -12347486.26342 21934974.954 21934979.178 21934972.886
+ 1473.173 1147.927 53.000 46.000
+ -15048191.15643 -11538455.49242 22461961.721 22461964.670 22461959.866
+ 1893.838 1475.718 53.000 45.000
+ -3768481.40443 -2907078.43642 25259351.755 25259362.125 25259350.506
+ 2356.923 1836.563 45.000 38.000
+ -8275273.65043 -6397212.92642 23927856.699 23927867.272 23927856.153
+ -2263.771 -1763.977 44.000 39.000
+ -2424553.84043 -1848377.29742 24877150.455 24877163.630 24877149.379
+ 2300.885 1792.897 40.000 34.000
+ -24602372.18744 -19120418.18842 20428780.615 20428783.936 20428780.122
+ 198.422 154.615 57.000 51.000
+ 1464591.19243 1152416.48942 24878643.086 24878650.109 24878642.477
+ -2771.259 -2159.422 43.000 36.000
+ -21013485.74243 -16363238.04042 21127457.143 21127460.597 21127455.822
+ -1401.526 -1092.098 56.000 49.000
+ -2381629.88643 -1824360.41242 24791371.369 24791378.813 24791369.970
+ 1952.349 1521.311 44.000 38.000
+ -4389685.84443 -3358667.97242 24461865.753 24461873.384 24461864.585
+ -2155.337 -1679.483 44.000 39.000
+ 04 2 1 1 44 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16425167.96143 -12381807.28142 21926592.691 21926598.097 21926591.987
+ 1463.769 1140.599 53.000 46.000
+ -15105006.92843 -11582727.51942 22451150.235 22451153.827 22451147.862
+ 1894.513 1476.244 53.000 45.000
+ -3839316.24943 -2962274.34642 25245872.282 25245882.334 25245870.462
+ 2365.888 1843.549 44.000 37.000
+ -8207395.34543 -6344320.96342 23940774.713 23940783.788 23940774.310
+ -2260.778 -1761.645 45.000 39.000
+ -2493484.84243 -1902089.64542 24864037.248 24864043.818 24864036.733
+ 2295.074 1788.369 43.000 35.000
+ -24608047.23244 -19124840.31842 20427700.880 20427703.661 20427700.107
+ 180.470 140.626 57.000 51.000
+ 1547666.88743 1217150.70442 24894451.665 24894460.116 24894451.549
+ -2766.954 -2156.068 43.000 36.000
+ -20971165.88443 -16330261.54742 21135509.426 21135514.113 21135508.736
+ -1419.199 -1105.869 55.000 49.000
+ -2440239.98743 -1870030.49942 24780216.885 24780227.302 24780215.419
+ 1955.748 1523.959 42.000 38.000
+ -4324973.67743 -3308243.04142 24474181.344 24474189.249 24474179.549
+ -2158.916 -1682.272 42.000 38.000
+ 04 2 1 1 45 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16468910.30543 -12415892.20642 21918268.837 21918273.855 21918266.993
+ 1453.472 1132.576 53.000 46.000
+ -15161824.55543 -11627000.99242 22440337.771 22440341.046 22440336.394
+ 1894.333 1476.104 53.000 45.000
+ -3910392.69743 -3017658.46342 25232346.786 25232357.720 25232346.257
+ 2373.736 1849.664 45.000 38.000
+ -8139594.54143 -6291489.39342 23953677.328 23953686.392 23953676.014
+ -2258.424 -1759.811 45.000 39.000
+ -2562214.67243 -1955645.24142 24850957.326 24850966.139 24850955.393
+ 2288.035 1782.884 44.000 36.000
+ -24613161.52044 -19128825.48642 20426727.639 20426730.911 20426726.749
+ 161.504 125.847 57.000 51.000
+ 1630629.08243 1281796.46742 24910240.243 24910245.157 24910239.787
+ -2763.025 -2153.006 44.000 36.000
+ -20928292.23343 -16296853.53342 21143668.500 21143672.614 21143667.596
+ -1437.949 -1120.480 56.000 49.000
+ -2498944.68943 -1915774.35142 24769045.161 24769055.076 24769044.493
+ 1959.173 1526.628 40.000 37.000
+ -4260140.85543 -3257724.03942 24486518.234 24486526.480 24486517.360
+ -2162.580 -1685.127 43.000 38.000
+ 04 2 1 1 45 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16512348.65243 -12449740.25642 21910002.044 21910007.535 21910001.126
+ 1442.952 1124.378 52.000 46.000
+ -15218641.87443 -11671274.21442 22429526.437 22429529.480 22429524.870
+ 1893.914 1475.777 53.000 45.000
+ -3981707.33843 -3073228.19142 25218776.757 25218786.454 25218773.563
+ 2381.000 1855.325 45.000 38.000
+ -8071872.32143 -6238719.04042 23966565.747 23966573.755 23966564.366
+ -2256.008 -1757.928 46.000 39.000
+ -2630741.81843 -2009042.86342 24837917.228 24837923.693 24837914.781
+ 2280.976 1777.384 44.000 36.000
+ -24617713.33344 -19132372.37042 20425861.931 20425864.562 20425860.801
+ 142.417 110.974 57.000 51.000
+ 1713478.86343 1346354.63142 24926006.046 24926012.637 24926004.508
+ -2759.816 -2150.506 43.000 35.000
+ -20884865.14343 -16263014.25742 21151932.612 21151936.467 21151931.395
+ -1456.719 -1135.106 56.000 49.000
+ -2557739.88643 -1961588.74242 24757857.077 24757864.048 24757856.349
+ 1961.435 1528.391 39.000 36.000
+ -4195185.63243 -3207109.72442 24498879.001 24498886.962 24498877.302
+ -2167.253 -1688.768 44.000 39.000
+ 04 2 1 1 46 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16555489.49043 -12483356.47342 21901793.166 21901798.813 21901791.493
+ 1433.129 1116.724 52.000 46.000
+ -15275463.80243 -11715551.02842 22418712.641 22418716.250 22418711.572
+ 1894.203 1476.002 53.000 46.000
+ -4053263.98543 -3128986.52242 25205159.488 25205170.709 25205158.868
+ 2389.751 1862.144 46.000 38.000
+ -8004237.03443 -6186016.43742 23979435.035 23979443.303 23979433.943
+ -2253.127 -1755.683 45.000 39.000
+ -2699072.19143 -2062287.12142 24824915.776 24824920.093 24824913.392
+ 2274.553 1772.379 44.000 35.000
+ -24621708.08244 -19135485.17042 20425101.572 20425104.273 20425100.615
+ 123.937 96.574 57.000 51.000
+ 1796209.47943 1410819.99642 24941747.645 24941755.072 24941747.506
+ -2755.978 -2147.515 42.000 34.000
+ -20840891.60043 -16228749.18342 21160300.398 21160304.429 21160299.425
+ -1474.810 -1149.202 55.000 49.000
+ -2616629.13243 -2007476.35842 24746649.029 24746660.516 24746648.837
+ 1964.167 1530.520 42.000 37.000
+ -4130113.60843 -3156404.35842 24511261.352 24511269.247 24511260.776
+ -2171.193 -1691.839 44.000 38.000
+ 04 2 1 1 46 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16598323.67943 -12516733.74742 21893642.667 21893647.494 21893640.835
+ 1422.622 1108.537 53.000 46.000
+ -15332279.90343 -11759823.30342 22407901.164 22407904.626 22407899.794
+ 1893.646 1475.568 53.000 46.000
+ -4125051.05743 -3184924.41142 25191499.086 25191510.097 25191497.615
+ 2396.930 1867.738 45.000 39.000
+ -7936681.60643 -6133376.04242 23992290.585 23992298.836 23992289.792
+ -2250.472 -1753.614 45.000 39.000
+ -2767196.17743 -2115370.57642 24811951.221 24811956.600 24811949.454
+ 2267.185 1766.638 43.000 36.000
+ -24625136.40444 -19138156.60442 20424449.190 20424452.110 20424448.084
+ 104.744 81.619 57.000 51.000
+ 1878829.84143 1475199.39142 24957472.059 24957474.147 24957471.407
+ -2752.134 -2144.520 43.000 34.000
+ -20796363.79143 -16194052.21342 21168773.475 21168777.656 21168772.518
+ -1493.605 -1163.848 55.000 49.000
+ -2675600.41043 -2053427.84342 24735429.690 24735437.535 24735427.190
+ 1967.041 1532.759 43.000 37.000
+ -4064914.50043 -3105600.00242 24523669.761 24523677.926 24523668.349
+ -2175.593 -1695.267 45.000 38.000
+ 04 2 1 1 47 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16640860.52343 -12549879.31642 21885548.278 21885552.705 21885547.120
+ 1413.104 1101.120 53.000 46.000
+ -15389097.64043 -11804096.85542 22397089.049 22397092.482 22397087.425
+ 1894.082 1475.908 53.000 46.000
+ -4197075.30743 -3241047.07742 25177792.752 25177803.913 25177791.176
+ 2404.991 1874.019 45.000 39.000
+ -7869217.04543 -6080806.45542 24005129.162 24005138.168 24005128.086
+ -2247.267 -1751.117 46.000 39.000
+ -2835122.09343 -2168299.66242 24799023.655 24799031.386 24799023.952
+ 2260.947 1761.777 42.000 35.000
+ -24628006.51743 -19140393.06842 20423902.894 20423905.839 20423902.186
+ 86.578 67.463 56.000 51.000
+ 1961330.51043 1539485.48942 24973170.233 24973177.147 24973171.620
+ -2747.541 -2140.941 40.000 34.000
+ -20751292.20743 -16158931.51542 21177350.712 21177354.778 21177349.431
+ -1511.261 -1177.606 56.000 49.000
+ -2734659.50243 -2099447.73542 24724190.981 24724200.552 24724190.671
+ 1970.086 1535.132 45.000 37.000
+ -3999596.80843 -3054703.18342 24536099.576 24536106.567 24536097.324
+ -2178.886 -1697.833 44.000 39.000
+ 04 2 1 1 47 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16683096.75343 -12582790.64542 21877510.970 21877515.530 21877509.355
+ 1403.103 1093.327 53.000 46.000
+ -15445912.65943 -11848368.29042 22386277.740 22386281.151 22386276.380
+ 1893.911 1475.775 53.000 46.000
+ -4269330.99543 -3297350.10542 25164041.739 25164054.012 25164039.605
+ 2412.451 1879.832 44.000 38.000
+ -7801842.41643 -6028306.94442 24017950.405 24017959.429 24017946.918
+ -2244.146 -1748.685 46.000 39.000
+ -2902846.18543 -2221071.49642 24786137.506 24786143.081 24786137.524
+ 2254.588 1756.822 42.000 35.000
+ -24630314.40943 -19142191.43842 20423463.984 20423466.701 20423462.606
+ 67.709 52.760 56.000 51.000
+ 2043714.45443 1603680.67742 24988847.600 24988855.556 24988846.509
+ -2744.092 -2138.253 40.000 34.000
+ -20705674.82443 -16123385.52242 21186031.417 21186035.604 21186030.386
+ -1529.393 -1191.735 55.000 49.000
+ -2793800.40143 -2145531.37142 24712936.691 24712944.808 24712936.495
+ 1972.896 1537.322 47.000 37.000
+ -3934156.49043 -3003710.84742 24548552.146 24548560.704 24548551.593
+ -2183.500 -1701.428 44.000 39.000
+ 04 2 1 1 48 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16725032.75743 -12615468.01742 21869529.763 21869535.989 21869529.043
+ 1392.743 1085.254 53.000 47.000
+ -15502723.76243 -11892636.66042 22375465.992 22375471.377 22375465.215
+ 1893.405 1475.381 52.000 46.000
+ -4341815.90943 -3353831.75542 25150250.247 25150259.545 25150249.185
+ 2419.998 1885.713 45.000 38.000
+ -7734559.77143 -5975879.11542 24030752.645 24030762.439 24030753.032
+ -2241.653 -1746.742 46.000 39.000
+ -2970368.32443 -2273685.95242 24773285.589 24773290.593 24773287.459
+ 2247.168 1751.040 41.000 34.000
+ -24632059.80043 -19143551.49542 20423131.248 20423134.645 20423130.406
+ 48.625 37.890 56.000 51.000
+ 2125981.21143 1667784.55042 25004500.444 25004509.740 25004500.603
+ -2740.562 -2135.503 41.000 34.000
+ -20659513.12543 -16087415.38142 21194815.403 21194819.971 21194814.427
+ -1547.884 -1206.143 55.000 49.000
+ -2853020.18243 -2191676.49542 24701665.958 24701673.546 24701667.999
+ 1975.048 1538.998 45.000 37.000
+ -3868592.95043 -2952622.48842 24561028.317 24561034.600 24561028.403
+ -2187.607 -1704.629 43.000 38.000
+ 04 2 1 1 48 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16766670.77043 -12647913.19542 21861607.057 21861611.497 21861605.661
+ 1383.117 1077.754 53.000 47.000
+ -15559531.52643 -11936902.44042 22364656.289 22364660.332 22364654.961
+ 1893.568 1475.508 53.000 46.000
+ -4414529.60343 -3410491.64742 25136411.574 25136421.849 25136410.979
+ 2427.782 1891.778 44.000 38.000
+ -7667373.22343 -5923526.17842 24043539.695 24043547.976 24043538.407
+ -2237.958 -1743.863 46.000 39.000
+ -3037689.75943 -2326144.00642 24760476.060 24760484.348 24760475.625
+ 2240.742 1746.033 43.000 35.000
+ -24633244.02244 -19144474.27842 20422906.492 20422909.122 20422905.561
+ 30.146 23.490 57.000 51.000
+ 2208128.53043 1731795.42542 25020134.118 25020140.990 25020132.119
+ -2736.058 -2131.993 41.000 35.000
+ -20612810.53443 -16051023.77642 21203702.918 21203706.842 21203701.915
+ -1565.722 -1220.043 55.000 49.000
+ -2912317.78643 -2237882.24042 24690382.915 24690389.375 24690381.826
+ 1977.605 1540.991 44.000 36.000
+ -3802907.41843 -2901439.04642 24573526.179 24573536.886 24573526.460
+ -2191.395 -1707.580 42.000 36.000
+ 04 2 1 1 49 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16808008.11043 -12680124.07842 21853740.537 21853745.540 21853739.494
+ 1372.830 1069.738 53.000 46.000
+ -15616331.86843 -11981162.43642 22353848.084 22353851.155 22353846.815
+ 1893.198 1475.219 53.000 46.000
+ -4487466.97043 -3467325.85342 25122533.592 25122541.820 25122531.252
+ 2435.077 1897.463 45.000 38.000
+ -7600281.98843 -5871247.51642 24056308.292 24056315.309 24056304.778
+ -2234.912 -1741.490 48.000 39.000
+ -3104807.42743 -2378443.26242 24747704.933 24747709.599 24747702.271
+ 2233.742 1740.578 44.000 35.000
+ -24633863.77744 -19144957.21742 20422788.422 20422791.305 20422787.325
+ 11.288 8.796 57.000 51.000
+ 2290158.89843 1795715.05942 25035744.755 25035751.944 25035744.096
+ -2732.617 -2129.312 42.000 34.000
+ -20565565.57343 -16014209.54042 21212693.391 21212697.234 21212692.438
+ -1583.891 -1234.201 55.000 49.000
+ -2971687.49443 -2284144.17642 24679085.448 24679092.226 24679082.969
+ 1980.292 1543.085 44.000 37.000
+ -3737096.32943 -2850157.75942 24586050.961 24586057.806 24586048.980
+ -2195.536 -1710.807 44.000 38.000
+ 04 2 1 1 49 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16849051.60343 -12712105.98142 21845930.415 21845934.780 21845928.830
+ 1362.220 1061.470 53.000 46.000
+ -15673130.15743 -12025420.81842 22343039.946 22343043.223 22343037.763
+ 1892.211 1474.450 53.000 46.000
+ -4560632.07143 -3524337.58142 25108609.928 25108620.234 25108609.441
+ 2441.273 1902.291 45.000 37.000
+ -7533294.78443 -5819049.91642 24069053.718 24069062.573 24069052.504
+ -2232.118 -1739.313 46.000 39.000
+ -3171727.47243 -2430588.57342 24734968.595 24734978.331 24734968.158
+ 2226.382 1734.843 42.000 36.000
+ -24633925.23543 -19145005.12242 20422776.537 20422779.355 20422775.719
+ -8.215 -6.401 56.000 51.000
+ 2372065.53743 1859538.27142 25051330.673 25051336.764 25051329.548
+ -2728.970 -2126.470 40.000 34.000
+ -20517786.36643 -15976979.00542 21221785.186 21221789.103 21221784.442
+ -1602.462 -1248.672 55.000 48.000
+ -3031132.98443 -2330465.20742 24667773.585 24667782.785 24667770.971
+ 1981.562 1544.074 42.000 37.000
+ -3671165.59443 -2798783.31742 24598597.636 24598605.571 24598596.598
+ -2200.508 -1714.681 44.000 38.000
+ 04 2 1 1 50 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16889796.06043 -12743854.87942 21838176.942 21838181.701 21838175.715
+ 1353.533 1054.701 53.000 46.000
+ -15729919.43143 -12069672.19142 22332232.452 22332236.424 22332231.196
+ 1893.203 1475.223 53.000 46.000
+ -4634017.13043 -3581520.63242 25094645.451 25094655.233 25094644.198
+ 2450.094 1909.164 45.000 38.000
+ -7466408.33043 -5766930.81142 24081782.036 24081790.157 24081781.288
+ -2227.556 -1735.758 46.000 39.000
+ -3238444.15543 -2482575.40142 24722272.395 24722279.406 24722272.440
+ 2220.567 1730.312 43.000 36.000
+ -24633422.48044 -19144613.38142 20422872.677 20422875.017 20422871.296
+ -25.807 -20.109 57.000 51.000
+ 2453853.29043 1923268.85842 25066895.880 25066904.190 25066894.599
+ -2723.895 -2122.515 43.000 35.000
+ -20469468.65143 -15939328.85842 21230979.850 21230983.763 21230978.939
+ -1619.198 -1261.713 55.000 49.000
+ -3090646.00743 -2376838.87442 24656447.193 24656456.800 24656446.851
+ 1984.884 1546.663 41.000 37.000
+ -3605109.15743 -2747310.88842 24611167.908 24611175.423 24611166.901
+ -2203.848 -1717.284 44.000 37.000
+ 04 2 1 1 50 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16930237.88243 -12775367.95642 21830480.669 21830485.434 21830479.507
+ 1343.600 1046.961 53.000 46.000
+ -15786694.75943 -12113912.68742 22321429.067 22321431.903 22321427.634
+ 1892.802 1474.911 53.000 46.000
+ -4707615.59543 -3638869.98242 25080639.613 25080652.171 25080637.929
+ 2457.536 1914.963 45.000 38.000
+ -7399620.60043 -5714888.61442 24094493.070 24094502.497 24094492.468
+ -2223.924 -1732.928 48.000 39.000
+ -3304952.87343 -2534400.16042 24709617.499 24709625.178 24709617.025
+ 2214.008 1725.201 43.000 37.000
+ -24632351.34444 -19143778.74642 20423076.246 20423079.046 20423075.399
+ -44.605 -34.757 57.000 51.000
+ 2535525.94143 1986909.78142 25082437.600 25082445.171 25082432.482
+ -2719.928 -2119.424 42.000 35.000
+ -20420609.91443 -15901257.13942 21240277.262 21240281.101 21240276.180
+ -1636.974 -1275.564 55.000 49.000
+ -3150219.54143 -2423259.70542 24645110.393 24645119.482 24645109.452
+ 1987.399 1548.623 43.000 37.000
+ -3538922.39743 -2695736.90142 24623762.527 24623770.408 24623761.827
+ -2207.738 -1720.315 44.000 37.000
+ 04 2 1 1 51 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16970390.54643 -12806655.70842 21822840.549 21822845.346 21822838.935
+ 1333.427 1039.034 54.000 47.000
+ -15843467.58043 -12158151.23042 22310624.614 22310629.147 22310623.619
+ 1892.261 1474.489 53.000 46.000
+ -4781438.33343 -3696394.10942 25066590.401 25066602.658 25066592.268
+ 2464.218 1920.170 43.000 37.000
+ -7332946.99843 -5662935.35942 24107179.760 24107189.574 24107178.887
+ -2220.886 -1730.560 46.000 39.000
+ -3371266.75643 -2586073.14042 24696997.219 24697003.842 24696995.657
+ 2206.937 1719.691 42.000 36.000
+ -24630724.58544 -19142511.15342 20423385.803 20423388.738 20423384.883
+ -63.739 -49.667 57.000 51.000
+ 2050450.34742 25097956.308 25097957.993
+ -2716.156 -2116.485 41.000 31.000
+ -20371224.77643 -15862775.24042 21249675.115 21249678.983 21249674.775
+ -1655.072 -1289.666 55.000 49.000
+ -3209863.91843 -2469735.71942 24633761.434 24633769.351 24633760.358
+ 1989.638 1550.367 44.000 38.000
+ -3472617.66343 -2644070.97342 24636380.355 24636388.749 24636376.589
+ -2212.340 -1723.901 44.000 37.000
+ 04 2 1 1 51 30.0000000 0 9G 1G20G 2G31G13G11G25G16G23
+ -17010244.83043 -12837710.96042 21815256.602 21815261.070 21815255.216
+ 1323.670 1031.431 54.000 47.000
+ -15900227.40343 -12202379.66042 22299824.388 22299827.757 22299823.062
+ 1892.077 1474.346 53.000 46.000
+ -4855473.29143 -3754083.57042 25052503.462 25052513.509 25052501.571
+ 2471.280 1925.673 44.000 38.000
+ -7266380.07443 -5611065.25142 24119848.111 24119853.187 24119845.346
+ -2217.002 -1727.534 46.000 38.000
+ -3437375.95343 -2637586.61042 24684417.510 24684421.473 24684415.764
+ 2200.727 1714.852 41.000 35.000
+ -24628532.06244 -19140802.71342 20423802.620 20423806.047 20423801.777
+ -82.420 -64.223 57.000 51.000
+ -20321305.52043 -15823877.13842 21259174.754 21259178.112 21259173.722
+ -1672.704 -1303.406 55.000 48.000
+ -3269566.50643 -2516257.09042 24622400.753 24622409.263 24622397.760
+ 1990.961 1551.398 44.000 39.000
+ -3406184.90143 -2592305.32042 24649021.368 24649030.553 24649018.593
+ -2216.411 -1727.073 41.000 37.000
+ 04 2 1 1 52 0.0000000 0 9G 1G20G 2G31G13G11G25G16G23
+ -17049807.91443 -12868539.29042 21807727.395 21807732.063 21807726.345
+ 1313.549 1023.545 53.000 47.000
+ -15956979.54643 -12246602.09342 22289025.020 22289028.375 22289023.397
+ 1891.011 1473.515 53.000 46.000
+ -4929724.85143 -3811941.82842 25038372.646 25038382.744 25038372.270
+ 2478.167 1931.039 44.000 38.000
+ -7199928.71943 -5559285.16942 24132492.828 24132500.650 24132491.328
+ -2213.693 -1724.955 46.000 38.000
+ -3503286.76843 -2688945.50642 24671877.046 24671881.834 24671874.602
+ 2193.742 1709.409 43.000 36.000
+ -24625780.91444 -19138658.97642 20424326.808 20424329.605 20424325.633
+ -101.534 -79.117 57.000 51.000
+ -20270860.54843 -15784569.38642 21268774.151 21268777.861 21268773.072
+ -1690.895 -1317.580 55.000 48.000
+ -3329331.40543 -2562827.01042 24611027.909 24611035.661 24611026.797
+ 1993.011 1552.996 44.000 39.000
+ -3339630.48743 -2540444.81042 24661685.188 24661693.366 24661682.591
+ -2221.114 -1730.738 42.000 36.000
+ 04 2 1 1 52 30.0000000 0 9G 1G20G 2G31G13G11G25G16G23
+ -17089073.60743 -12899135.90142 21800255.968 21800260.220 21800254.031
+ 1304.269 1016.314 54.000 47.000
+ -16013716.24943 -12290812.51342 22278228.201 22278231.786 22278226.488
+ 1891.361 1473.788 53.000 46.000
+ -5004184.19843 -3869961.96842 25024204.019 25024214.579 25024201.923
+ 2485.841 1937.019 45.000 39.000
+ -7133588.66643 -5507591.81442 24145118.400 24145126.266 24145113.848
+ -2209.132 -1721.401 46.000 38.000
+ -3568992.69643 -2740144.83442 24659371.396 24659379.274 24659371.536
+ 2187.144 1704.268 40.000 35.000
+ -24622463.99844 -19136074.38542 20424957.953 20424960.608 20424956.852
+ -119.579 -93.178 57.000 51.000
+ -20219884.76643 -15744848.03642 21278474.482 21278478.433 21278472.842
+ -1707.580 -1330.582 55.000 48.000
+ -3389148.93843 -2609437.93842 24599643.661 24599652.210 24599642.233
+ 1995.627 1555.034 43.000 38.000
+ -3272947.27843 -2488484.01642 24674375.264 24674382.010 24674374.914
+ -2224.608 -1733.461 40.000 36.000
+ 04 2 1 1 53 0.0000000 0 9G 1G20G 2G31G13G11G25G16G23
+ -17128047.06243 -12929504.79442 21792839.290 21792843.530 21792837.955
+ 1294.352 1008.586 53.000 47.000
+ -16070441.02743 -12335013.60742 22267433.628 22267436.817 22267432.410
+ 1890.482 1473.103 53.000 46.000
+ -5078853.55743 -3928145.80842 25009994.622 25010005.970 25009992.735
+ 2492.493 1942.202 46.000 39.000
+ -7067366.47643 -5455990.32542 24157718.905 24157728.284 24157717.588
+ -2205.765 -1718.778 46.000 38.000
+ -3634497.92443 -2791187.73242 24646904.729 24646913.473 24646905.376
+ 2180.350 1698.974 42.000 36.000
+ -24618585.91544 -19133052.51142 20425696.110 20425698.675 20425694.973
+ -138.655 -108.043 57.000 51.000
+ -20168384.44543 -15704717.94142 21288274.254 21288278.552 21288273.491
+ -1725.445 -1344.502 55.000 48.000
+ -3449021.27243 -2656091.55442 24588251.060 24588258.969 24588249.251
+ 1996.217 1555.494 43.000 38.000
+ -3206139.18443 -2436425.85742 24687090.210 24687097.227 24687088.318
+ -2229.268 -1737.092 42.000 36.000
+ 04 2 1 1 53 30.0000000 0 9G 1G20G 2G31G13G11G25G16G23
+ -17166728.37743 -12959646.05442 21785478.446 21785482.420 21785476.895
+ 1284.235 1000.703 53.000 47.000
+ -16127152.11843 -12379204.05342 22256642.097 22256645.128 22256640.546
+ 1889.824 1472.590 53.000 46.000
+ -5153730.27343 -3986491.22242 24995745.126 24995758.489 24995744.887
+ 2499.011 1947.281 46.000 39.000
+ -7001264.07943 -5404482.20142 24170297.149 24170308.615 24170295.282
+ -2202.048 -1715.881 45.000 37.000
+ -3699802.08043 -2842073.93542 24634477.399 24634485.990 24634477.514
+ 2173.127 1693.346 42.000 35.000
+ -24614146.18944 -19129592.99742 20426540.813 20426543.623 20426539.825
+ -157.604 -122.808 57.000 51.000
+ -20116361.07343 -15664180.27442 21298173.744 21298178.426 21298173.189
+ -1743.015 -1358.193 55.000 48.000
+ -3508944.82343 -2702785.09542 24576848.973 24576855.337 24576846.099
+ 1998.031 1556.907 43.000 38.000
+ -3139205.54843 -2384269.89742 24699827.046 24699835.168 24699825.387
+ -2233.288 -1740.224 41.000 35.000
+ 04 2 1 1 54 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17205116.72943 -12989559.03442 21778173.239 21778177.872 21778171.731
+ 1274.746 993.309 54.000 47.000
+ -16183846.92243 -12423381.81142 22245853.863 22245856.739 22245852.435
+ 1889.559 1472.384 53.000 46.000
+ -5228810.77743 -4044995.41342 24981457.998 24981469.819 24981457.031
+ 2506.264 1952.933 46.000 39.000
+ -6935282.23143 -5353068.00642 24182854.194 24182863.260 24182852.834
+ -2197.230 -1712.127 45.000 37.000
+ -3764903.41343 -2892802.14042 24622089.216 24622098.484 24622089.067
+ 2166.740 1688.369 41.000 36.000
+ -24609143.38044 -19125694.72142 20427492.438 20427495.576 20427491.866
+ -176.122 -137.238 57.000 51.000
+ -1019202.59853 -809364.63252 25190568.410 25190574.400 25190565.491
+ -2691.124 -2096.980 40.000 32.000
+ -20063814.84343 -15623235.19142 21308173.382 21308177.889 21308172.412
+ -1760.065 -1371.479 55.000 48.000
+ -3568915.56443 -2749515.38942 24565433.082 24565441.913 24565432.126
+ 2000.163 1558.569 39.000 37.000
+ -3072144.38243 -2332014.54442 24712586.878 24712596.458 24712585.408
+ -2237.030 -1743.140 41.000 35.000
+ 04 2 1 1 54 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17243214.47843 -13019245.56242 21770923.948 21770928.333 21770922.580
+ 1265.033 985.740 54.000 47.000
+ -16240526.10943 -12467547.39342 22235067.007 22235071.307 22235065.838
+ 1888.980 1471.932 53.000 46.000
+ -5304094.65643 -4103658.07042 24967134.006 24967142.903 24967132.568
+ 2512.805 1958.030 47.000 39.000
+ -6869425.07143 -5301750.94942 24195385.745 24195396.765 24195385.089
+ -2193.021 -1708.847 45.000 37.000
+ -3829804.03443 -2943373.88342 24609740.250 24609747.978 24609737.490
+ 2159.985 1683.105 42.000 36.000
+ -24603579.34144 -19121359.12642 20428551.240 20428554.357 20428550.306
+ -194.884 -151.858 57.000 51.000
+ -746500.33942 25205920.723 25205924.787
+ -2686.070 -2093.041 40.000 32.000
+ -20010749.61443 -15581885.68742 21318271.403 21318275.442 21318270.363
+ -1777.507 -1385.070 55.000 48.000
+ -3628932.56543 -2796281.73942 24554016.425 24554023.869 24554014.019
+ 2001.088 1559.289 42.000 36.000
+ -3004957.26543 -2279661.11442 24725372.497 24725381.055 24725372.617
+ -2241.482 -1746.609 41.000 35.000
+ 04 2 1 1 55 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17281022.41843 -13048706.27542 21763728.904 21763733.777 21763727.123
+ 1254.595 977.606 54.000 47.000
+ -16297188.90543 -12511700.21042 22224285.004 22224288.869 22224283.240
+ 1887.682 1470.921 53.000 46.000
+ -5379579.54743 -4162477.34442 24952767.363 24952778.644 24952767.409
+ 2518.707 1962.629 46.000 39.000
+ -6803695.06243 -5250532.98242 24207893.049 24207902.910 24207891.084
+ -2189.781 -1706.323 43.000 37.000
+ -3894503.75543 -2993789.10242 24597428.732 24597434.132 24597428.772
+ 2152.349 1677.155 45.000 36.000
+ -24597454.21544 -19116586.32242 20429717.157 20429720.044 20429716.109
+ -214.386 -167.054 57.000 51.000
+ -857977.97443 -683735.33842 25221246.642 25221257.434 25221246.890
+ -2683.935 -2091.378 40.000 32.000
+ -19957167.60643 -15540133.50842 21328468.273 21328472.138 21328467.446
+ -1795.465 -1399.064 55.000 48.000
+ -3688993.10343 -2843082.03042 24542586.838 24542593.722 24542584.370
+ 2002.032 1560.025 43.000 36.000
+ -2937643.99143 -2227209.31042 24738181.430 24738191.676 24738179.829
+ -2246.615 -1750.609 39.000 35.000
+ 04 2 1 1 55 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17318539.16743 -13077940.09342 21756589.543 21756593.364 21756588.960
+ 1245.747 970.712 54.000 47.000
+ -16353831.59243 -12555837.35642 22213505.880 22213510.360 22213504.553
+ 1887.923 1471.109 53.000 46.000
+ -5455261.10643 -4221449.86742 24938366.282 24938376.861 24938365.476
+ 2525.881 1968.219 47.000 40.000
+ -6738092.17543 -5199414.05042 24220379.078 24220383.301 24220376.125
+ -2184.284 -1702.039 44.000 36.000
+ -3959000.41043 -3044046.15742 24585155.316 24585162.147 24585154.297
+ 2146.596 1672.672 45.000 37.000
+ -24590766.21544 -19111374.91042 20430990.086 20430992.782 20430988.967
+ -232.299 -181.012 57.000 51.000
+ -777554.99243 -621068.16842 25236550.907 25236559.227 25236551.009
+ -2678.489 -2087.134 41.000 34.000
+ -19903068.24843 -15497978.19842 21338762.960 21338766.907 21338761.782
+ -1811.817 -1411.805 55.000 48.000
+ -3749092.32443 -2889912.44242 24531148.876 24531156.216 24531148.315
+ 2004.188 1561.705 43.000 35.000
+ -2870201.95343 -2174657.25642 24751015.320 24751024.744 24751013.985
+ -2250.223 -1753.420 38.000 35.000
+ 04 2 1 1 56 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17355766.61043 -13106948.46842 21749505.062 21749509.680 21749503.961
+ 1237.043 963.930 53.000 47.000
+ -16410454.65843 -12599959.21742 22202731.014 22202735.376 22202729.556
+ 1888.044 1471.203 53.000 46.000
+ -5531138.51743 -4280575.02942 24923927.472 24923938.401 24923926.644
+ 2533.615 1974.245 47.000 40.000
+ -6672620.23443 -5148397.15742 24232836.877 24232846.141 24232837.435
+ -2178.941 -1697.876 43.000 36.000
+ -4023295.59943 -3094146.22842 24572921.127 24572927.175 24572919.978
+ 2140.650 1668.039 46.000 37.000
+ -24583516.83043 -19105726.06542 20432369.114 20432372.046 20432368.285
+ -250.046 -194.841 56.000 51.000
+ -558500.42842 25251831.574 25251831.941
+ -2673.124 -2082.954 39.000 32.000
+ -19848455.43743 -15455422.79342 21349154.887 21349159.081 21349154.078
+ -1827.992 -1424.409 55.000 48.000
+ -3809228.79443 -2936771.92442 24519703.370 24519711.341 24519702.406
+ 2006.205 1563.277 42.000 34.000
+ -2802632.28743 -2122005.71342 24763875.925 24763883.758 24763873.136
+ -2253.494 -1755.969 42.000 37.000
+ 04 2 1 1 56 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17392705.10343 -13135731.68742 21742476.496 21742480.718 21742474.730
+ 1227.094 956.177 53.000 47.000
+ -16467056.66643 -12644064.65642 22191960.072 22191963.734 22191958.712
+ 1886.869 1470.287 53.000 47.000
+ -5607209.19343 -4339850.77942 24909452.200 24909462.630 24909451.986
+ 2539.452 1978.794 48.000 40.000
+ -6607281.01543 -5097483.71142 24245269.262 24245280.078 24245268.855
+ -2175.088 -1694.874 42.000 36.000
+ -4087389.09643 -3144089.11242 24560723.258 24560729.914 24560722.064
+ 2133.678 1662.606 45.000 36.000
+ -24575705.79243 -19099639.55542 20433855.709 20433858.586 20433854.528
+ -269.176 -209.747 56.000 51.000
+ -617091.69643 -496032.03542 25267085.082 25267093.893 25267084.351
+ -2669.515 -2080.142 39.000 31.000
+ -19793330.47443 -15412468.30242 21359645.201 21359648.836 21359644.134
+ -1845.521 -1438.068 55.000 48.000
+ -3869399.63443 -2983658.18142 24508254.498 24508262.080 24508253.486
+ 2006.918 1563.832 42.000 34.000
+ -2734934.30743 -2069254.14942 24776757.623 24776765.917 24776757.307
+ -2258.203 -1759.639 41.000 36.000
+ 04 2 1 1 57 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17429356.93043 -13164291.53742 21735501.202 21735506.340 21735500.286
+ 1216.908 948.240 53.000 47.000
+ -16523637.82643 -12688153.85442 22181193.513 22181196.706 22181191.569
+ 1885.636 1469.327 54.000 46.000
+ -5683472.39443 -4399276.53342 24894939.704 24894951.524 24894938.670
+ 2545.243 1983.306 48.000 40.000
+ -6542078.31743 -5046676.61242 24257676.883 24257686.856 24257675.617
+ -2171.447 -1692.037 42.000 35.000
+ -4151282.41943 -3193875.99242 24548564.733 24548571.504 24548563.939
+ 2126.407 1656.941 44.000 37.000
+ -24567334.93144 -19093116.82842 20435448.446 20435451.469 20435447.542
+ -288.395 -224.723 57.000 51.000
+ -537053.57843 -433664.66742 25282318.382 25282325.641 25282314.279
+ -2665.713 -2077.179 40.000 33.000
+ -19737696.81143 -15369117.43042 21370231.744 21370235.792 21370231.009
+ -1862.980 -1451.673 55.000 48.000
+ -3929603.46743 -3030570.11242 24496798.399 24496805.995 24496799.366
+ 2007.108 1563.980 42.000 34.000
+ -2667109.41043 -2016403.69542 24789664.011 24789672.544 24789661.102
+ -2262.736 -1763.171 43.000 37.000
+ 04 2 1 1 57 30.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17465721.71443 -13192627.71842 21728581.472 21728586.502 21728580.874
+ 1207.647 941.024 54.000 47.000
+ -16580195.98043 -12732225.12642 22170430.828 22170433.648 22170428.902
+ 1885.071 1468.886 54.000 46.000
+ -5759924.89143 -4458849.77942 24880391.935 24880400.599 24880388.433
+ 2551.954 1988.536 47.000 40.000
+ -6477013.31343 -4995976.85442 24270058.916 24270067.230 24270060.610
+ -2166.544 -1688.216 41.000 34.000
+ -4214974.42943 -3243506.04342 24536444.751 24536452.657 24536444.093
+ 2120.158 1652.071 44.000 37.000
+ -24558403.62244 -19086157.38842 20437148.394 20437151.144 20437147.254
+ -306.770 -239.041 57.000 51.000
+ -457144.57643 -371397.91942 25297523.831 25297534.705 25297522.261
+ -2661.087 -2073.574 37.000 33.000
+ -19681555.26843 -15325370.80442 21380915.356 21380919.636 21380913.766
+ -1879.574 -1464.603 55.000 48.000
+ -3989836.58943 -3077504.98142 24485337.401 24485346.670 24485338.002
+ 2008.504 1565.068 41.000 34.000
+ -2599155.89443 -1963453.12542 24802594.380 24802604.786 24802593.859
+ -2267.015 -1766.505 44.000 38.000
+ 04 2 1 1 58 0.0000000 0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17501800.23243 -13220740.83742 21721716.408 21721721.048 21721714.625
+ 1197.686 933.262 54.000 47.000
+ -16636729.99343 -12776277.59142 22159672.170 22159675.774 22159670.871
+ 1883.908 1467.980 53.000 46.000
+ -5836564.44343 -4518568.80842 24865805.946 24865815.735 24865806.010
+ 2557.717 1993.026 46.000 40.000
+ -6412088.35143 -4945386.21942 24282415.179 24282425.384 24282412.621
+ -2162.280 -1684.893 41.000 34.000
+ -4278465.28243 -3292979.38142 24524363.007 24524370.173 24524363.706
+ 2112.697 1646.257 43.000 36.000
+ -24548912.14344 -19078761.45342 20438954.430 20438957.065 20438953.448
+ -325.866 -253.921 57.000 51.000
+ -309232.15352 25312706.573 25312711.097
+ -2657.524 -2070.798 37.000 32.000
+ -19624908.27843 -15281230.33442 21391694.884 21391698.993 21391693.752
+ -1896.826 -1478.046 55.000 48.000
+ -3124460.50042 24473868.669 24473869.932
+ 2008.734 1565.247 39.000 32.000
+ -2531073.77943 -1910402.30042 24815552.000 24815560.371 24815550.170
+ -2271.617 -1770.091 45.000 38.000
+ 04 2 1 1 58 30.0000000 0 9G 1G20G 2G31G13G11G25G16G23
+ -17537592.24343 -13248630.71142 21714904.534 21714909.585 21714903.633
+ 1188.787 926.328 54.000 47.000
+ -16693237.69443 -12820309.55242 22148918.899 22148922.759 22148917.544
+ 1883.630 1467.764 53.000 46.000
+ -5913387.55743 -4578430.85442 24851187.171 24851197.208 24851184.423
+ 2564.362 1998.204 46.000 40.000
+ -6347304.77043 -4894905.68242 24294744.333 24294748.087 24294742.729
+ -2156.567 -1680.442 41.000 33.000
+ -4341754.07943 -3342295.24142 24512319.805 24512325.586 24512319.258
+ 2106.944 1641.775 43.000 36.000
+ -24538859.81044 -19070928.49042 20440867.410 20440870.329 20440866.530
+ -343.932 -267.999 57.000 51.000
+ -19567756.76643 -15236696.72342 21402570.627 21402574.885 21402569.758
+ -1912.902 -1490.573 55.000 48.000
+ -4110378.86543 -3171433.79642 24462396.596 24462404.727 24462393.471
+ 2010.335 1566.495 40.000 33.000
+ -2462861.89843 -1857250.28942 24828531.993 24828539.496 24828530.937
+ -2275.354 -1773.003 45.000 38.000
+ 04 2 1 1 59 0.0000000 0 9G 1G20G 2G31G13G11G25G16G23
+ -17573099.37643 -13276298.59142 21708148.305 21708152.746 21708146.938
+ 1178.688 918.458 54.000 47.000
+ -16749718.95743 -12864320.90342 22138170.789 22138175.156 22138169.228
+ 1882.106 1466.576 53.000 46.000
+ -5990393.09343 -4638435.03842 24836534.223 24836545.201 24836532.699
+ 2569.692 2002.357 48.000 40.000
+ -6282665.57943 -4844537.72242 24307041.821 24307051.798 24307038.410
+ -2152.690 -1677.421 40.000 33.000
+ -4404842.07843 -3391454.57542 24500311.382 24500320.109 24500313.437
+ 2099.481 1635.959 43.000 36.000
+ -24528247.87443 -19062659.47042 20442886.409 20442889.572 20442885.302
+ -363.146 -282.971 56.000 51.000
+ -19510103.76443 -15191772.33442 21413541.565 21413545.811 21413540.730
+ -1930.166 -1504.025 55.000 48.000
+ -4170682.38643 -3218423.44142 24450922.612 24450933.809 24450919.062
+ 2009.668 1565.975 42.000 33.000
+ -2394520.84743 -1803997.67142 24841536.004 24841543.988 24841533.657
+ -2280.205 -1776.783 43.000 37.000
+ 04 2 1 1 59 30.0000000 0 9G 1G20G 2G31G13G11G25G16G23
+ -17608324.60643 -13303746.80742 21701445.266 21701449.905 21701443.952
+ 1169.122 911.004 54.000 47.000
+ -16806174.74843 -12908312.41542 22127427.780 22127431.427 22127426.209
+ 1880.967 1465.689 53.000 46.000
+ -6067581.05343 -4698581.34342 24821845.941 24821855.284 24821844.738
+ 2575.516 2006.896 48.000 41.000
+ -6218175.37943 -4794285.86342 24319316.684 24319326.402 24319314.385
+ -2147.551 -1673.416 40.000 33.000
+ -4467731.56143 -3440459.28042 24488346.627 24488352.562 24488345.440
+ 2092.753 1630.717 43.000 37.000
+ -24517079.06144 -19053956.52242 20445012.061 20445015.154 20445010.982
+ -381.926 -297.605 57.000 51.000
+ -19451953.77243 -15146460.69042 21424606.973 21424610.880 21424605.924
+ -1946.985 -1517.131 54.000 48.000
+ -4231006.46343 -3265429.10842 24439443.549 24439454.290 24439444.178
+ 2010.685 1566.768 43.000 35.000
+ -2326052.49243 -1750645.79842 24854565.452 24854574.129 24854564.860
+ -2284.795 -1780.360 46.000 37.000
+ 04 2 1 2 0 0.0000000 0 9G 1G20G 2G31G13G11G25G16G23
+ -17643259.54443 -13330968.82142 21694797.000 21694802.182 21694796.034
+ 1159.733 903.688 54.000 47.000
+ -16862594.58543 -12952275.90342 22116691.124 22116695.818 22116690.308
+ 1880.052 1464.976 53.000 46.000
+ -6144939.67043 -4758860.62342 24807125.109 24807135.075 24807122.881
+ 2581.200 2011.325 47.000 40.000
+ -6153827.06143 -4744144.56342 24331560.366 24331566.273 24331560.844
+ -2142.741 -1669.668 41.000 32.000
+ -4530413.21943 -3489302.04442 24476418.501 24476422.709 24476415.570
+ 2085.839 1625.329 43.000 37.000
+ -24505344.44044 -19044812.68742 20447245.123 20447248.333 20447243.954
+ -400.472 -312.056 57.000 51.000
+ -19393299.67143 -15100756.23742 21435768.461 21435773.036 21435767.171
+ -1963.437 -1529.951 54.000 48.000
+ -4291338.96443 -3312441.35942 24427962.768 24427969.675 24427960.930
+ 2011.305 1567.251 44.000 35.000
+ -2257447.54943 -1697187.56842 24867622.191 24867630.746 24867619.868
+ -2288.956 -1783.602 47.000 39.000
+ 04 2 1 2 0 30.0000000 0 9G 1G20G 2G31G13G11G25G16G23
+ -17677918.05043 -13357975.43442 21688201.627 21688206.789 21688200.045
+ 1150.614 896.582 54.000 47.000
+ -16918990.36443 -12996220.65842 22105959.808 22105963.651 22105958.380
+ 1879.571 1464.601 54.000 46.000
+ -6222479.74343 -4819281.33842 24792369.315 24792380.514 24792368.568
+ 2587.980 2016.608 47.000 41.000
+ -6089635.89343 -4694125.76342 24343774.359 24343782.236 24343773.751
+ -2136.582 -1664.869 39.000 32.000
+ -4592900.32643 -3537993.16742 24464526.590 24464533.164 24464526.304
+ 2079.864 1620.673 43.000 37.000
+ -24493057.25644 -19035238.28242 20449583.638 20449586.632 20449582.285
+ -418.772 -326.316 57.000 51.000
+ -19334156.79043 -15054670.91142 21447022.554 21447027.393 21447022.149
+ -1979.597 -1542.543 54.000 48.000
+ -4351690.41843 -3359468.35042 24416476.836 24416485.537 24416477.971
+ 2012.147 1567.907 42.000 35.000
+ -2188718.70543 -1643632.78642 24880698.263 24880709.119 24880696.558
+ -2293.037 -1786.782 45.000 38.000
+ 04 2 1 2 1 0.0000000 0 9G 1G20G 2G31G13G11G25G16G23
+ -17712294.69243 -13384762.41142 21681659.915 21681665.255 21681658.921
+ 1141.794 889.710 54.000 47.000
+ -16975354.51043 -13040140.76242 22095234.059 22095237.929 22095232.144
+ 1878.812 1464.009 54.000 47.000
+ -6300192.54343 -4879836.63442 24777580.750 24777590.962 24777579.871
+ 2593.868 2021.196 46.000 40.000
+ -6025597.63643 -4644226.11242 24355961.896 24355969.514 24355962.280
+ -2131.505 -1660.913 39.000 32.000
+ -4655186.69543 -3586527.89842 24452674.410 24452681.273 24452674.113
+ 2073.133 1615.428 43.000 37.000
+ -24480211.83544 -19025228.89042 20452027.761 20452030.803 20452026.833
+ -436.857 -340.408 57.000 51.000
+ -19274520.68443 -15008201.24942 21458371.348 21458375.726 21458370.225
+ -1995.509 -1554.942 54.000 48.000
+ -4412051.50243 -3406502.85942 24404990.671 24404998.945 24404989.931
+ 2012.493 1568.176 43.000 35.000
+ -2119859.37243 -1589976.30742 24893802.872 24893812.106 24893803.553
+ -2296.662 -1789.607 44.000 37.000
+ 04 2 1 2 1 30.0000000 0 9G 1G20G 2G31G13G11G25G16G23
+ -17746389.77743 -13411329.99142 21675172.069 21675176.332 21675170.891
+ 1131.971 882.055 54.000 47.000
+ -17031685.79343 -13084035.25242 22084514.307 22084518.760 22084513.188
+ 1877.334 1462.858 54.000 47.000
+ -6378075.44543 -4940524.42242 24762760.018 24762768.607 24762757.812
+ 2599.205 2025.354 47.000 40.000
+ -9112554.47053 -7049647.24652 24368119.820 24368127.481 24368115.323
+ -2127.517 -1657.805 37.000 32.000
+ -4717272.37343 -3634906.18842 24440859.218 24440866.644 24440858.649
+ 2066.228 1610.048 44.000 38.000
+ -24466808.56044 -19014784.80742 20454578.364 20454581.225 20454577.358
+ -455.924 -355.265 57.000 51.000
+ -19214393.34743 -14961348.80742 21469813.197 21469817.767 21469812.391
+ -2012.253 -1567.989 54.000 48.000
+ -4472419.34243 -3453542.62342 24393502.002 24393509.187 24393500.497
+ 2012.927 1568.515 42.000 36.000
+ -2050869.10143 -1536217.80042 24906932.902 24906938.972 24906931.182
+ -2301.754 -1793.574 44.000 35.000
+ 04 2 1 2 2 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -17780204.71443 -13437679.27242 21668737.203 21668741.998 21668736.174
+ 1121.779 874.114 54.000 47.000
+ -17087983.09743 -13127903.27442 22073801.267 22073805.125 22073800.117
+ 1875.195 1461.191 54.000 47.000
+ -6456126.60043 -5001343.33542 24747906.252 24747917.073 24747906.490
+ 2603.547 2028.738 46.000 40.000
+ -4779157.70743 -3683128.41442 24429083.555 24429089.201 24429081.560
+ 2058.764 1604.232 45.000 38.000
+ -24452848.26144 -19003906.67642 20457234.877 20457237.392 20457233.855
+ -475.466 -370.493 57.000 51.000
+ -19153777.30643 -14914115.55742 21481347.565 21481352.610 21481347.086
+ -2029.438 -1581.380 54.000 48.000
+ -4532791.43743 -3500585.68642 24382013.781 24382022.626 24382012.631
+ 2011.813 1567.646 43.000 36.000
+ -1981748.19843 -1482357.53842 24920084.622 24920095.378 24920084.540
+ -2307.081 -1797.725 44.000 37.000
+ 04 2 1 2 2 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -17813740.95043 -13463811.40042 21662355.781 21662360.129 21662354.800
+ 1113.418 867.598 54.000 47.000
+ -17144245.80843 -13171744.34042 22063095.720 22063099.208 22063094.021
+ 1875.023 1461.057 54.000 47.000
+ -6534344.52643 -5062292.21142 24733022.451 24733033.521 24733021.404
+ 2610.154 2033.886 46.000 40.000
+ -4840843.84343 -3731195.39342 24417342.742 24417350.576 24417342.826
+ 2052.952 1599.703 44.000 38.000
+ -24438332.27544 -18992595.54442 20459997.341 20460000.009 20459996.326
+ -492.975 -384.136 57.000 51.000
+ -19092675.65143 -14866503.91142 21492975.440 21492979.483 21492974.439
+ -2044.555 -1593.160 54.000 47.000
+ -4593165.90643 -3547630.65142 24370525.275 24370532.701 24370523.839
+ 2012.848 1568.453 43.000 36.000
+ -1912497.21343 -1428395.92942 24933264.093 24933272.640 24933262.575
+ -2310.536 -1800.418 45.000 37.000
+ 04 2 1 2 3 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -17846998.54143 -13489726.39842 21656026.758 21656031.438 21656025.711
+ 1104.360 860.540 54.000 47.000
+ -17200472.16743 -13215557.07942 22052395.850 22052399.547 22052394.353
+ 1873.955 1460.225 54.000 47.000
+ -6612725.97443 -5123368.52342 24718107.863 24718116.558 24718106.343
+ 2615.546 2038.088 47.000 40.000
+ -4902330.10543 -3779106.63242 24405644.521 24405650.868 24405642.912
+ 2046.459 1594.643 46.000 38.000
+ -24423260.41944 -18980851.26842 20462865.536 20462868.361 20462864.290
+ -511.261 -398.385 57.000 51.000
+ -19031089.91643 -14818515.04942 21504694.602 21504699.417 21504693.376
+ -2060.474 -1605.564 54.000 47.000
+ -4653539.11643 -3594674.63742 24359037.930 24359045.319 24359036.226
+ 2012.568 1568.235 44.000 37.000
+ -1843115.11143 -1374332.11642 24946466.387 24946476.079 24946464.949
+ -2314.726 -1803.682 42.000 36.000
+ 04 2 1 2 3 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -17879979.41043 -13515425.76442 21649751.106 21649755.400 21649749.935
+ 1094.335 852.729 54.000 47.000
+ -17256661.85643 -13259341.23742 22041703.209 22041706.984 22041701.736
+ 1871.891 1458.616 54.000 47.000
+ -6691269.55043 -5184571.14242 24703159.819 24703169.563 24703158.745
+ 2620.348 2041.830 45.000 40.000
+ -4963617.91643 -3826863.22942 24393981.107 24393988.198 24393980.316
+ 2039.404 1589.146 45.000 38.000
+ -24407634.16044 -18968674.98742 20465838.998 20465842.104 20465837.836
+ -530.611 -413.463 57.000 51.000
+ -18969023.12443 -14770151.33842 21516505.537 21516510.341 21516504.993
+ -2077.346 -1618.711 55.000 47.000
+ -4713909.22243 -3641716.18942 24347547.675 24347557.815 24347549.153
+ 2011.857 1567.681 42.000 37.000
+ -1773602.68343 -1320166.76842 24959693.168 24959704.975 24959693.808
+ -2319.584 -1807.468 42.000 35.000
+ 04 2 1 2 4 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -17912682.81543 -13540908.94042 21643527.683 21643531.971 21643526.913
+ 1085.726 846.020 54.000 47.000
+ -17312812.12143 -13303094.69642 22031018.023 22031021.866 22031016.860
+ 1871.286 1458.145 54.000 47.000
+ -6769971.13343 -5245896.88042 24688185.420 24688192.422 24688182.295
+ 2626.340 2046.499 46.000 40.000
+ -5024705.62343 -3874463.91842 24382356.293 24382363.411 24382355.307
+ 2033.273 1584.369 45.000 39.000
+ -24391452.41044 -18956065.86842 20468918.130 20468921.081 20468917.028
+ -548.343 -427.280 57.000 51.000
+ -18906475.96243 -14721413.33142 21528408.102 21528412.050 21528407.208
+ -2092.689 -1630.667 54.000 47.000
+ -4774271.83543 -3688751.88742 24336063.905 24336069.289 24336062.474
+ 2012.222 1567.965 44.000 37.000
+ -1703958.07143 -1265898.39842 24972946.517 24972956.840 24972944.854
+ -2323.497 -1810.517 41.000 35.000
+ 04 2 1 2 4 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -17945111.13943 -13566177.75242 21637356.713 21637361.427 21637355.519
+ 1076.056 838.485 54.000 47.000
+ -17368923.10143 -13346817.52642 22020340.523 22020344.347 22020339.033
+ 1869.464 1456.725 54.000 47.000
+ -6848830.24943 -5307345.36442 24673177.002 24673186.720 24673175.732
+ 2631.001 2050.131 45.000 40.000
+ -5085595.20043 -3921910.23542 24370769.560 24370776.140 24370768.972
+ 2026.044 1578.736 45.000 39.000
+ -24374717.70644 -18943025.86542 20472102.898 20472105.799 20472101.909
+ -567.375 -442.110 57.000 51.000
+ -18843452.47943 -14672304.15242 21540400.907 21540405.450 21540399.795
+ -2109.058 -1643.422 54.000 47.000
+ -4834625.90243 -3735780.94542 24324577.501 24324585.671 24324576.650
+ 2011.368 1567.300 44.000 37.000
+ -1634182.95243 -1211528.37142 24986226.176 24986234.422 24986226.389
+ -2328.221 -1814.198 41.000 34.000
+ 04 2 1 2 5 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -17977262.85843 -13591231.03042 21631238.168 21631242.776 21631237.021
+ 1067.175 831.565 54.000 47.000
+ -17424991.08343 -13390506.85542 22009670.971 22009675.165 22009669.858
+ 1868.287 1455.808 54.000 47.000
+ -6927841.83443 -5368912.67442 24658143.244 24658151.807 24658140.717
+ 2635.996 2054.023 46.000 40.000
+ -5146284.42843 -3969200.41542 24359221.568 24359226.545 24359220.687
+ 2019.201 1573.403 46.000 39.000
+ -24357428.15744 -18929553.51742 20475393.152 20475395.884 20475391.988
+ -585.593 -456.306 57.000 51.000
+ -18779952.56543 -14622823.72742 21552485.367 21552489.355 21552483.800
+ -2124.641 -1655.564 55.000 48.000
+ -4894966.05143 -3782799.15342 24313096.118 24313100.505 24313093.448
+ 2011.044 1567.047 43.000 37.000
+ -1564274.59443 -1157054.44842 24999530.482 24999537.249 24999527.554
+ -2332.595 -1817.606 40.000 35.000
+ 04 2 1 2 5 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18009143.17943 -13616072.83042 21625172.061 21625176.539 21625170.457
+ 1058.156 824.537 54.000 47.000
+ -17481019.27143 -13434165.17742 21999008.636 21999012.636 21999008.152
+ 1866.946 1454.763 54.000 47.000
+ -7007007.96943 -5430600.43342 24643076.212 24643086.640 24643076.262
+ 2641.538 2058.341 45.000 40.000
+ -5206777.94143 -4016338.11442 24347708.840 24347714.909 24347708.043
+ 2012.919 1568.508 46.000 39.000
+ -24339588.78244 -18915652.73242 20478787.568 20478790.644 20478786.678
+ -603.883 -470.558 57.000 51.000
+ -18715982.73243 -14572977.13842 21564658.309 21564662.556 21564656.930
+ -2140.295 -1667.762 54.000 48.000
+ -4955293.96543 -3829807.83242 24301615.408 24301621.581 24301614.901
+ 2010.368 1566.521 44.000 36.000
+ -1494237.16743 -1102480.03242 25012856.799 25012866.334 25012853.707
+ -2336.943 -1820.994 39.000 35.000
+ 04 2 1 2 6 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18040747.63143 -13640699.67442 21619157.334 21619162.514 21619156.372
+ 1049.189 817.550 54.000 48.000
+ -17537000.77043 -13477787.12342 21988356.569 21988359.768 21988354.913
+ 1865.577 1453.696 54.000 47.000
+ -7086320.82043 -5492402.49342 24627983.799 24627995.483 24627982.894
+ 2646.505 2062.212 45.000 39.000
+ -5267070.46943 -4063319.21642 24336236.173 24336243.048 24336234.805
+ 2006.651 1563.624 45.000 39.000
+ -24321195.06343 -18901319.99342 20482287.698 20482290.737 20482286.677
+ -621.984 -484.663 56.000 51.000
+ -18651539.96843 -14522762.02742 21576920.806 21576925.213 21576920.484
+ -2155.553 -1679.652 54.000 47.000
+ -5015601.37343 -3876800.49842 24290140.453 24290147.537 24290138.226
+ 2010.001 1566.235 45.000 36.000
+ -1424065.14643 -1047800.79142 25026210.377 25026219.309 25026209.138
+ -2340.736 -1823.950 41.000 36.000
+ 04 2 1 2 6 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18072081.72043 -13665115.83542 21613194.291 21613199.860 21613193.993
+ 1039.533 810.026 54.000 47.000
+ -17592939.07643 -13521375.40442 21977711.756 21977715.177 21977710.237
+ 1863.392 1451.994 54.000 47.000
+ -7165782.45643 -5554320.50342 24612864.491 24612872.361 24612862.021
+ 2650.722 2065.498 45.000 39.000
+ -5327167.16643 -4110147.66842 24324798.681 24324805.138 24324799.431
+ 1999.626 1558.150 44.000 38.000
+ -24302252.33944 -18886559.45742 20485892.436 20485895.513 20485891.446
+ -640.922 -499.420 57.000 51.000
+ -18586631.65543 -14472184.15742 21589273.053 21589276.527 21589271.989
+ -2171.753 -1692.275 54.000 47.000
+ -5075890.00843 -3923778.58342 24278667.458 24278673.202 24278667.483
+ 2009.058 1565.500 44.000 36.000
+ -1353762.89743 -993020.11842 25039588.605 25039593.990 25039584.899
+ -2345.861 -1827.944 41.000 34.000
+ 04 2 1 2 7 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18103142.67843 -13689319.16842 21607284.322 21607288.652 21607282.749
+ 1031.167 803.507 54.000 47.000
+ -17648829.21843 -13564926.15342 21967075.683 21967079.685 21967074.390
+ 1862.451 1451.261 54.000 47.000
+ -7245386.86743 -5616349.73042 24597713.016 24597724.177 24597712.806
+ 2656.119 2069.703 43.000 39.000
+ -5387064.45843 -4156820.76442 24313400.907 24313407.262 24313400.176
+ 1993.538 1553.406 44.000 38.000
+ -24282757.81844 -18871368.95342 20489602.186 20489605.265 20489601.086
+ -658.676 -513.254 57.000 51.000
+ -18521256.06543 -14421242.17642 21601713.510 21601717.038 21601712.296
+ -2186.686 -1703.911 54.000 47.000
+ -5136153.63843 -3970737.22442 24267197.396 24267204.623 24267196.203
+ 2008.670 1565.197 41.000 35.000
+ -1283327.04743 -938135.20542 25052992.867 25052994.624 25052989.552
+ -2349.500 -1830.779 41.000 33.000
+ 04 2 1 2 7 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18133934.96143 -13713313.14342 21601424.571 21601429.449 21601423.521
+ 1022.072 796.420 54.000 47.000
+ -17704673.47443 -13608441.14342 21956449.008 21956453.017 21956448.225
+ 1860.774 1449.954 54.000 47.000
+ -7325135.07643 -5678491.02342 24582538.562 24582548.288 24582537.623
+ 2660.805 2073.354 44.000 39.000
+ -5446766.13743 -4203341.42942 24302040.574 24302046.252 24302040.347
+ 1986.963 1548.283 45.000 38.000
+ -24262715.61244 -18855751.67542 20493416.399 20493419.156 20493415.124
+ -677.114 -527.621 57.000 51.000
+ -18455419.07943 -14369940.65442 21614241.653 21614245.830 21614240.432
+ -2202.107 -1715.927 54.000 47.000
+ -5196392.65243 -4017676.66342 24255735.810 24255740.246 24255734.892
+ 2007.660 1564.410 43.000 35.000
+ -4565948.67052 25066417.862 25066429.764
+ -2353.905 -1834.212 37.000 31.000
+ 04 2 1 2 8 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18164455.96443 -13737095.72842 21595616.718 21595621.036 21595615.097
+ 1011.770 788.392 54.000 47.000
+ -17760466.96843 -13651916.58842 21945832.153 21945835.476 21945830.221
+ 1857.919 1447.729 54.000 47.000
+ -7405021.23243 -5740739.82742 24567336.116 24567346.652 24567334.485
+ 2664.059 2075.890 43.000 39.000
+ -5506269.53543 -4249707.60142 24290717.099 24290724.767 24290717.906
+ 1978.788 1541.913 45.000 38.000
+ -24242123.02244 -18839705.53342 20497334.844 20497337.601 20497334.131
+ -696.660 -542.852 57.000 51.000
+ -18389119.77243 -14318278.88842 21626858.321 21626862.142 21626857.189
+ -2218.699 -1728.856 54.000 47.000
+ -5256600.91243 -4064592.13842 24244277.685 24244284.102 24244277.291
+ 2005.130 1562.439 43.000 35.000
+ -5868320.41453 -4510857.86052 25079874.772 25079883.597 25079871.052
+ -2359.723 -1838.745 40.000 33.000
+ 04 2 1 2 8 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18194708.68043 -13760669.26142 21589860.044 21589865.034 21589858.712
+ 1004.131 782.440 54.000 47.000
+ -17816210.21043 -13695352.87942 21935224.281 21935228.270 21935222.559
+ 1857.433 1447.350 54.000 47.000
+ -7485044.85543 -5803095.77342 24552109.027 24552117.556 24552106.879
+ 2670.018 2080.534 44.000 39.000
+ -5565576.23643 -4295920.55342 24279431.611 24279438.149 24279431.580
+ 1973.558 1537.837 46.000 39.000
+ -24220982.88244 -18823232.72542 20501357.981 20501360.510 20501356.828
+ -713.535 -556.001 57.000 51.000
+ -18322362.44843 -14266260.23642 21639561.029 21639565.597 21639559.738
+ -2232.649 -1739.726 54.000 47.000
+ -5316777.80143 -4111483.15842 24232826.387 24232832.904 24232825.432
+ 2005.685 1562.871 43.000 36.000
+ -5797487.80543 -4455663.81242 25093352.498 25093364.870 25093354.212
+ -2362.777 -1841.125 42.000 35.000
+ 04 2 1 2 9 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18224691.10143 -13784032.17842 21584153.617 21584159.091 21584152.218
+ 994.884 775.234 53.000 47.000
+ -17871898.93943 -13738746.68742 21924627.239 21924631.168 21924625.896
+ 1855.363 1445.737 54.000 47.000
+ -7565200.48743 -5865554.58142 24536856.074 24536864.469 24536854.147
+ 2674.020 2083.652 45.000 39.000
+ -5624684.10043 -4341978.53442 24268184.370 24268190.532 24268182.872
+ 1967.155 1532.848 46.000 39.000
+ -24199293.36744 -18806331.83042 20505485.224 20505488.236 20505484.151
+ -732.084 -570.455 57.000 51.000
+ -18255146.60643 -14213884.29042 21652352.353 21652357.062 21652351.296
+ -2248.117 -1751.779 54.000 47.000
+ -5376917.47043 -4158345.16342 24221380.698 24221389.819 24221381.084
+ 2003.882 1561.466 43.000 36.000
+ -5726520.13343 -4400364.59142 25106859.767 25106869.436 25106859.214
+ -2367.587 -1844.873 43.000 35.000
+ 04 2 1 2 9 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18254411.33243 -13807190.79042 21578498.446 21578503.425 21578497.649
+ 986.034 768.338 54.000 48.000
+ -17927539.17543 -13782102.71242 21914039.280 21914042.929 21914037.666
+ 1853.591 1444.357 54.000 47.000
+ -7645493.07543 -5928120.05942 24521577.593 24521585.309 24521575.162
+ 2678.221 2086.925 46.000 39.000
+ -5683600.30043 -4387887.16042 24256972.310 24256977.550 24256971.145
+ 1960.521 1527.679 45.000 38.000
+ -24177062.62844 -18789009.20742 20509715.302 20509718.575 20509714.499
+ -750.272 -584.627 57.000 51.000
+ -18187481.77743 -14161158.49442 21665228.762 21665233.262 21665228.003
+ -2263.182 -1763.518 54.000 47.000
+ -5437024.25143 -4205181.56542 24209944.982 24209951.000 24209943.085
+ 2002.932 1560.726 44.000 37.000
+ -5655424.61043 -4344965.74742 25120385.445 25120396.449 25120385.432
+ -2371.619 -1848.015 38.000 34.000
+ 04 2 1 2 10 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18283863.55443 -13830140.56742 21572894.188 21572898.949 21572892.961
+ 976.935 761.248 54.000 47.000
+ -17983122.67143 -13825414.52242 21903461.722 21903466.248 21903459.916
+ 1851.439 1442.680 54.000 47.000
+ -7725913.15443 -5990784.90942 24506273.170 24506282.296 24506271.527
+ 2682.408 2090.188 44.000 39.000
+ -5742318.61643 -4433641.56542 24245796.824 24245804.409 24245796.656
+ 1953.427 1522.151 44.000 38.000
+ -24154284.55643 -18771260.09442 20514049.739 20514053.134 20514048.865
+ -768.791 -599.058 56.000 51.000
+ -18119363.87743 -14108079.64342 21678191.238 21678195.516 21678190.402
+ -2278.551 -1775.494 54.000 47.000
+ -5497088.29243 -4251984.62442 24198513.776 24198521.935 24198512.901
+ 2000.659 1558.955 43.000 37.000
+ -5584193.94643 -4289461.46642 25133942.750 25133948.939 25133938.817
+ -2377.299 -1852.441 38.000 32.000
+ 04 2 1 2 10 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -18313051.66943 -13852884.53742 21567339.895 21567344.289 21567338.551
+ 968.573 754.732 54.000 47.000
+ -18038651.12543 -13868683.43642 21892895.629 21892899.195 21892893.491
+ 1850.133 1441.662 54.000 47.000
+ -7806461.10943 -6053549.39242 24490944.569 24490953.699 24490943.838
+ 2686.987 2093.756 44.000 38.000
+ -5800842.47643 -4479244.47442 24234661.892 24234666.623 24234661.941
+ 1947.549 1517.571 46.000 38.000
+ -24130963.42044 -18753087.81042 20518487.891 20518491.087 20518486.615
+ -786.337 -612.730 57.000 51.000
+ -18050798.42343 -14054652.05742 21691239.034 21691242.938 21691237.625
+ -2292.867 -1786.650 54.000 47.000
+ -5557110.03243 -4298754.74642 24187092.602 24187099.659 24187091.556
+ 1999.965 1558.414 43.000 37.000
+ 04 2 1 2 11 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18341973.60043 -13875421.10042 21561836.229 21561840.544 21561835.233
+ 959.488 747.653 54.000 48.000
+ -18094120.05443 -13911905.98142 21882339.059 21882343.536 21882338.193
+ 1847.767 1439.818 54.000 47.000
+ -7887131.42143 -6116409.26742 24475594.042 24475602.914 24475591.067
+ 2691.235 2097.066 44.000 38.000
+ -5859169.13343 -4524693.72442 24223562.681 24223568.760 24223560.947
+ 1940.886 1512.379 46.000 39.000
+ -24107096.76444 -18734490.44242 20523029.829 20523032.665 20523028.790
+ -804.796 -627.114 57.000 51.000
+ -17981784.79943 -14000875.25042 21704371.658 21704376.087 21704370.658
+ -2308.008 -1798.448 54.000 47.000
+ -5617083.38043 -4345487.16242 24175680.284 24175686.525 24175679.082
+ 1998.264 1557.089 44.000 37.000
+ -5441333.46053 -4178142.26952 25161129.156 25161141.112 25161129.687
+ -2385.980 -1859.205 41.000 33.000
+ 04 2 1 2 11 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18370634.00143 -13897753.87142 21556382.262 21556386.999 21556380.834
+ 951.670 741.561 54.000 48.000
+ -18149531.58043 -13955083.78142 21871795.474 21871798.873 21871793.699
+ 1846.807 1439.070 54.000 47.000
+ -7967925.20243 -6179365.34042 24460218.542 24460228.076 24460216.735
+ 2696.211 2100.944 44.000 39.000
+ -5917302.24543 -4569992.16042 24212499.625 24212507.689 24212500.001
+ 1935.514 1508.193 45.000 39.000
+ -24082689.42044 -18715471.76342 20527674.185 20527677.394 20527673.136
+ -821.861 -640.411 57.000 51.000
+ -17912328.69943 -13946753.66742 21717588.878 21717592.883 21717587.844
+ -2321.860 -1809.241 54.000 47.000
+ -5677009.39643 -4392182.71042 24164276.877 24164283.030 24164273.700
+ 1997.472 1556.472 44.000 37.000
+ -5369703.97343 -4122327.24942 25174758.130 25174768.471 25174759.248
+ -2388.892 -1861.474 40.000 34.000
+ 04 2 1 2 12 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18399030.60143 -13919881.08142 21550978.895 21550982.964 21550977.376
+ 941.706 733.797 55.000 48.000
+ -18204881.01543 -13998213.20742 21861262.781 21861266.338 21861261.329
+ 1843.356 1436.381 54.000 47.000
+ -8048836.75843 -6242413.17242 24444822.579 24444831.886 24444820.637
+ 2698.509 2102.734 45.000 39.000
+ -5975239.70943 -4615138.11042 24201474.744 24201479.313 24201473.578
+ 1927.438 1501.900 46.000 38.000
+ -24057739.34844 -18696030.17642 20532422.314 20532425.050 20532421.070
+ -841.196 -655.477 57.000 51.000
+ -17842429.72343 -13892286.96842 21730889.560 21730894.401 21730889.144
+ -2337.782 -1821.648 54.000 47.000
+ -5736882.00243 -4438836.64642 24152883.459 24152891.022 24152883.303
+ 1994.296 1553.997 45.000 37.000
+ -5297939.73243 -4066407.29942 25188414.407 25188426.127 25188413.964
+ -2394.607 -1865.927 41.000 35.000
+ 04 2 1 2 12 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18427166.16143 -13941804.88342 21545624.806 21545628.957 21545623.418
+ 933.899 727.713 54.000 48.000
+ -18260168.51643 -14041294.37542 21850742.254 21850745.740 21850740.573
+ 1842.204 1435.484 55.000 47.000
+ -8129865.10643 -6305552.01842 24429402.812 24429413.905 24429401.454
+ 2703.159 2106.358 44.000 39.000
+ -6032982.99143 -4660132.78142 24190485.171 24190492.160 24190484.774
+ 1921.614 1497.362 45.000 38.000
+ -24032249.12844 -18676167.69942 20537272.597 20537275.825 20537271.390
+ -858.332 -668.830 57.000 51.000
+ -17772091.97543 -13837478.38142 21744274.974 21744279.366 21744273.851
+ -2351.531 -1832.362 54.000 47.000
+ -5796699.73443 -4485447.86142 24141499.472 24141508.375 24141497.808
+ 1993.244 1553.177 44.000 37.000
+ -5226042.25143 -4010383.55842 25202099.675 25202108.150 25202095.926
+ -2398.462 -1868.931 42.000 35.000
+ 04 2 1 2 13 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18455042.54143 -13963526.72542 21540319.657 21540324.304 21540318.714
+ 924.889 720.693 54.000 48.000
+ -18315394.05343 -14084327.24842 21840233.026 21840236.193 21840231.364
+ 1839.844 1433.645 54.000 47.000
+ -8211008.62443 -6368780.64842 24413962.034 24413971.281 24413960.413
+ 2706.662 2109.087 44.000 38.000
+ -6090533.70243 -4704977.38242 24179535.766 24179538.776 24179535.583
+ 1915.200 1492.364 47.000 38.000
+ -24006220.58544 -18655885.74942 20542226.015 20542228.767 20542225.177
+ -876.624 -683.084 57.000 51.000
+ -17701319.01043 -13782330.66642 21757742.518 21757747.132 21757741.725
+ -2366.247 -1843.829 54.000 47.000
+ -5856460.94343 -4532015.01742 24130126.811 24130135.379 24130126.087
+ 1990.996 1551.425 45.000 37.000
+ -5154012.43243 -3954256.71342 25215805.283 25215816.787 25215802.785
+ -2403.732 -1873.038 42.000 36.000
+ 04 2 1 2 13 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18482658.95843 -13985046.00342 21535065.237 21535068.931 21535063.335
+ 916.835 714.417 55.000 48.000
+ -18370554.15343 -14127309.13942 21829736.529 21829739.829 21829735.117
+ 1838.169 1432.339 55.000 47.000
+ -8292262.88443 -6432095.54342 24398501.210 24398508.544 24398498.014
+ 2710.868 2112.365 46.000 39.000
+ -6147890.08843 -4749670.57342 24168620.311 24168625.476 24168619.208
+ 1909.166 1487.662 46.000 38.000
+ -23979653.09444 -18635183.83542 20547281.545 20547284.518 20547280.388
+ -893.999 -696.622 57.000 51.000
+ -17630111.55743 -13726844.39342 21771292.617 21771297.103 21771291.915
+ -2380.278 -1854.762 53.000 47.000
+ -5916160.82943 -4578534.38342 24118768.068 24118774.421 24118765.713
+ 1989.695 1550.412 46.000 38.000
+ -5081848.60243 -3898025.44142 25229537.895 25229547.079 25229534.728
+ -2407.181 -1875.725 43.000 36.000
+ 04 2 1 2 14 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18510018.38043 -14006365.02742 21529858.329 21529863.051 21529856.806
+ 907.814 707.388 54.000 48.000
+ -18425649.28443 -14170240.40642 21819251.752 21819255.606 21819250.260
+ 1835.518 1430.274 54.000 47.000
+ -8373627.31043 -6495496.30842 24383017.644 24383025.186 24383014.854
+ 2714.241 2114.993 46.000 39.000
+ -6205054.81243 -4794214.40542 24157742.390 24157748.671 24157742.533
+ 1902.680 1482.608 45.000 38.000
+ -23952549.91544 -18614064.50842 20552439.482 20552442.123 20552438.248
+ -912.229 -710.828 57.000 51.000
+ -17558474.04543 -13671022.99842 21784925.307 21784929.528 21784924.303
+ -2394.982 -1866.220 53.000 47.000
+ -5975798.46543 -4625005.23942 24107418.440 24107426.773 24107416.690
+ 1987.139 1548.420 46.000 38.000
+ -5009552.31643 -3841690.93942 25243295.144 25243306.458 25243294.125
+ -2412.086 -1879.547 43.000 36.000
+ 04 2 1 2 14 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18537120.01943 -14027483.17342 21524700.903 21524705.689 21524700.103
+ 899.012 700.529 55.000 48.000
+ -18480676.34243 -14213118.62542 21808780.243 21808784.328 21808779.387
+ 1833.008 1428.318 54.000 48.000
+ -8455097.57643 -6558979.54242 24367512.043 24367522.891 24367512.250
+ 2717.313 2117.387 46.000 39.000
+ -6262026.56743 -4838607.90142 24146900.711 24146906.146 24146899.185
+ 1896.022 1477.420 46.000 38.000
+ -23924910.27243 -18592527.16042 20557698.505 20557701.820 20557697.714
+ -930.239 -724.861 56.000 51.000
+ -17486407.19943 -13614867.06642 21798639.231 21798643.447 21798637.838
+ -2409.506 -1877.537 53.000 47.000
+ -6035369.21243 -4671424.00042 24096081.928 24096089.090 24096080.625
+ 1984.453 1546.327 47.000 38.000
+ -4937122.10143 -3785252.03942 25257077.756 25257089.283 25257075.443
+ -2416.343 -1882.865 44.000 36.000
+ 04 2 1 2 15 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18563966.41643 -14048402.44142 21519592.320 21519597.310 21519590.841
+ 890.684 694.039 55.000 48.000
+ -18535635.34743 -14255943.82042 21798322.648 21798325.722 21798320.979
+ 1831.001 1426.754 55.000 48.000
+ -8536672.66643 -6622544.45242 24351989.936 24351998.973 24351988.161
+ 2721.123 2120.356 46.000 40.000
+ -6318807.16443 -4882852.40242 24136095.120 24136099.157 24136094.799
+ 1889.528 1472.359 47.000 38.000
+ -23896737.23643 -18570574.17942 20563059.747 20563063.145 20563058.605
+ -947.865 -738.596 56.000 51.000
+ -17413915.26343 -13558379.88742 21812433.691 21812437.914 21812432.883
+ -2423.274 -1888.265 53.000 47.000
+ -6094871.95443 -4717789.72842 24084759.943 24084766.884 24084758.687
+ 1982.465 1544.778 48.000 39.000
+ -4864559.54643 -3728710.05542 25270886.137 25270895.187 25270885.736
+ -2420.915 -1886.427 43.000 35.000
+ 04 2 1 2 15 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18590555.05643 -14069120.84842 21514532.607 21514537.179 21514531.006
+ 881.434 686.832 54.000 48.000
+ -18590521.22043 -14298712.03142 21787877.927 21787881.959 21787876.409
+ 1827.724 1424.201 55.000 48.000
+ -8618346.41043 -6686186.25142 24336447.168 24336456.978 24336447.314
+ 2723.616 2122.298 47.000 40.000
+ -6375393.68243 -4926945.70042 24125328.162 24125332.548 24125326.560
+ 1882.291 1466.720 46.000 39.000
+ -23868027.85144 -18548203.26542 20568523.054 20568526.351 20568522.024
+ -966.464 -753.089 57.000 51.000
+ -17340997.05543 -13501560.55842 21826309.743 21826314.136 21826308.089
+ -2438.257 -1899.940 53.000 46.000
+ -6154300.07043 -4764097.32342 24073451.337 24073459.395 24073449.875
+ 1978.850 1541.961 47.000 39.000
+ -4791860.86743 -3672061.97542 25284722.136 25284729.465 25284720.277
+ -2425.886 -1890.301 43.000 35.000
+ 04 2 1 2 16 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18616890.28143 -14089641.79542 21509521.241 21509525.587 21509519.791
+ 873.566 680.701 55.000 48.000
+ -18645335.86743 -14341424.73742 21777447.316 21777451.031 21777446.057
+ 1825.766 1422.675 55.000 48.000
+ -8700119.56043 -6749905.51642 24320887.565 24320896.210 24320885.149
+ 2727.449 2125.285 47.000 40.000
+ -6431789.78543 -4970890.63642 24114595.444 24114600.972 24114594.383
+ 1876.500 1462.208 46.000 39.000
+ -23838787.22544 -18525418.39142 20574087.537 20574090.531 20574086.464
+ -983.711 -766.528 57.000 51.000
+ -17267658.76743 -13444413.88942 21840265.632 21840270.154 21840264.229
+ -2451.690 -1910.408 53.000 46.000
+ -6213653.88643 -4810347.03542 24062155.282 24062162.364 24062153.957
+ 1977.224 1540.694 46.000 38.000
+ -4719029.38243 -3615310.41642 25298580.675 25298592.408 25298579.635
+ -2430.126 -1893.605 41.000 34.000
+ 04 2 1 2 16 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18642973.06843 -14109966.04642 21504557.088 21504562.594 21504556.457
+ 865.303 674.262 54.000 48.000
+ -18700077.61543 -14384080.64142 21767030.107 21767033.760 21767029.007
+ 1823.591 1420.980 55.000 48.000
+ -8781989.30743 -6813700.06442 24305307.710 24305317.223 24305306.056
+ 2730.565 2127.713 48.000 40.000
+ -6487995.73543 -5014687.41442 24103898.807 24103907.537 24103898.425
+ 1870.109 1457.228 45.000 39.000
+ -23809016.02744 -18502220.08642 20579753.212 20579755.706 20579752.002
+ -1001.122 -780.095 57.000 51.000
+ -17193902.64343 -13386941.63542 21854300.563 21854305.767 21854300.140
+ -2465.400 -1921.091 53.000 47.000
+ -6272930.58243 -4856536.64842 24050875.936 24050883.555 24050875.466
+ 1974.508 1538.578 44.000 38.000
+ -4646064.93343 -3558455.30842 25312466.030 25312476.497 25312464.636
+ -2434.632 -1897.116 41.000 33.000
+ 04 2 1 2 17 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18668802.61143 -14130092.94742 21499642.255 21499647.452 21499641.525
+ 856.416 667.337 54.000 48.000
+ -18754743.11643 -14426677.12342 21756627.636 21756631.006 21756626.547
+ 1820.383 1418.480 55.000 48.000
+ -8863951.35943 -6877566.53942 24289710.348 24289719.538 24289708.937
+ 2733.016 2129.623 48.000 40.000
+ -6544010.23743 -5058334.97642 24093239.206 24093245.793 24093239.798
+ 1863.074 1451.746 45.000 39.000
+ -23778713.80743 -18478607.99742 20585518.922 20585522.380 20585518.006
+ -1019.353 -794.301 56.000 51.000
+ -17119729.57443 -13329144.49442 21868415.651 21868420.144 21868414.637
+ -2479.845 -1932.347 53.000 46.000
+ -6332125.29843 -4902662.35542 24039610.665 24039620.333 24039611.052
+ 1971.326 1536.098 44.000 38.000
+ -3501495.26652 25326375.021 25326387.138
+ -2438.812 -1900.373 39.000 32.000
+ 04 2 1 2 17 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18694379.50143 -14150022.99242 21494775.782 21494780.104 21494774.557
+ 848.445 661.126 55.000 48.000
+ -18809330.71443 -14469212.91142 21746239.655 21746243.313 21746238.337
+ 1818.225 1416.799 55.000 48.000
+ -8946002.42043 -6941502.35642 24274095.683 24274105.146 24274093.817
+ 2736.683 2132.480 48.000 41.000
+ -6599833.28943 -5101833.38842 24082617.913 24082624.967 24082616.160
+ 1857.713 1447.569 46.000 39.000
+ -23747881.46844 -18454582.83942 20591386.572 20591389.635 20591385.423
+ -1036.568 -807.715 57.000 51.000
+ -17045141.91143 -13271024.28642 21882609.567 21882613.569 21882608.343
+ -2493.054 -1942.639 53.000 46.000
+ -6391235.11443 -4948721.88642 24028362.469 24028371.424 24028361.737
+ 1969.022 1534.303 44.000 38.000
+ 25340312.231
+ -2443.497 -1904.024 38.000
+ 04 2 1 2 18 0.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18719708.90943 -14169760.18742 21489955.727 21489959.915 21489954.213
+ 840.223 654.719 55.000 48.000
+ -18863842.50743 -14511689.62842 21735866.995 21735870.268 21735865.386
+ 1815.735 1414.858 55.000 48.000
+ -9028143.72243 -7005508.50142 24258465.310 24258475.062 24258464.514
+ 2739.685 2134.819 47.000 41.000
+ -6655469.41943 -5145186.14742 24072029.809 24072037.340 24072029.083
+ 1851.272 1442.550 46.000 39.000
+ -23716524.49044 -18430148.86842 20597353.416 20597356.604 20597352.518
+ -1053.943 -821.254 57.000 51.000
+ -16970146.15243 -13212586.08442 21896880.344 21896885.420 21896879.705
+ -2506.587 -1953.185 53.000 46.000
+ -6450260.93843 -4994716.00642 24017129.656 24017138.565 24017129.627
+ 1966.362 1532.230 45.000 38.000
+ 25354271.863
+ -2447.542 -1907.175 34.000
+ 04 2 1 2 18 30.0000000 0 8G 1G20G 2G13G11G25G16G23
+ -18744788.17343 -14189302.47342 21485183.325 21485187.553 21485182.104
+ 831.659 648.046 55.000 48.000
+ -18918273.65743 -14554103.51742 21725508.878 21725512.037 21725507.677
+ 1812.798 1412.570 55.000 48.000
+ -9110369.29043 -7069580.29442 24242817.748 24242827.461 24242815.579
+ 2742.025 2136.643 47.000 41.000
+ -6710915.79443 -5188391.02742 24061480.162 24061483.974 24061478.311
+ 1845.095 1437.736 47.000 38.000
+ -23684640.52044 -18405304.24842 20603420.888 20603424.047 20603419.626
+ -1071.735 -835.118 57.000 51.000
+ -16894741.15043 -13153828.99342 21911229.331 21911233.990 21911229.047
+ -2520.375 -1963.928 53.000 46.000
+ -6509196.29443 -5040639.62242 24005916.764 24005924.019 24005914.517
+ 1962.759 1529.422 46.000 39.000
+ 25368261.003
+ -2452.566 -1911.090 36.000
+ 04 2 1 2 19 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -18769618.82843 -14208651.03142 21480458.319 21480462.607 21480457.165
+ 823.583 641.753 54.000 48.000
+ -18972623.14243 -14596453.76342 21715166.467 21715170.203 21715164.652
+ 1810.375 1410.682 55.000 48.000
+ -9192676.76643 -7133715.93142 24227155.592 24227164.816 24227153.113
+ 2744.972 2138.939 48.000 41.000
+ -6766173.13643 -5231448.60242 24050963.778 24050969.215 24050963.693
+ 1838.932 1432.934 46.000 39.000
+ -23652231.35344 -18380050.39342 20609588.210 20609591.248 20609587.047
+ -1089.008 -848.578 57.000 51.000
+ -16818930.23243 -13094755.60142 21925656.072 21925660.873 21925655.740
+ -2533.625 -1974.253 53.000 46.000
+ -6568038.67043 -5086490.79142 23994718.308 23994726.230 23994717.177
+ 1960.001 1527.274 46.000 39.000
+ 04 2 1 2 19 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -18794202.87943 -14227807.43542 21475780.031 21475784.226 21475778.695
+ 815.484 635.442 55.000 48.000
+ -19026890.29043 -14638739.84442 21704839.229 21704843.187 21704838.084
+ 1807.421 1408.380 55.000 48.000
+ -9275064.52643 -7197914.12142 24211477.581 24211487.057 24211475.791
+ 2747.552 2140.950 48.000 41.000
+ -6821242.80043 -5274359.94942 24040485.562 24040489.861 24040485.118
+ 1832.706 1428.083 47.000 39.000
+ -23619299.25744 -18354389.05042 20615855.107 20615858.113 20615854.093
+ -1106.362 -862.100 57.000 51.000
+ -16742716.89643 -13035368.63542 21940158.885 21940163.394 21940157.582
+ -2547.132 -1984.778 53.000 46.000
+ -6626786.17443 -5132268.04042 23983539.010 23983547.744 23983538.214
+ 1956.574 1524.603 47.000 39.000
+ 04 2 1 2 20 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -18818542.64943 -14246773.49142 21471147.169 21471152.796 21471146.456
+ 807.051 628.871 55.000 48.000
+ -19081074.63743 -14680961.41242 21694528.465 21694532.257 21694526.927
+ 1804.888 1406.406 55.000 48.000
+ -9357531.05543 -7262173.66742 24195784.925 24195794.377 24195783.262
+ 2750.247 2143.050 48.000 41.000
+ -6876126.58543 -5317126.43642 24030039.156 24030048.017 24030038.523
+ 1826.411 1423.177 47.000 39.000
+ -23585847.03244 -18328322.42142 20622220.289 20622223.867 20622219.637
+ -1123.675 -875.591 57.000 51.000
+ -16666105.01143 -12975671.11542 21954737.720 21954742.363 21954735.997
+ -2560.370 -1995.093 53.000 46.000
+ -6685437.28743 -5177970.16842 23972378.510 23972384.488 23972377.621
+ 1953.213 1521.984 47.000 39.000
+ 04 2 1 2 20 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -18842634.05243 -14265546.00342 21466563.826 21466568.033 21466562.254
+ 798.835 622.469 55.000 48.000
+ -19135169.67843 -14723113.38942 21684234.566 21684238.472 21684233.457
+ 1801.461 1403.736 55.000 48.000
+ -9440068.58643 -7326488.55842 24180078.477 24180087.994 24180076.432
+ 2752.380 2144.712 46.000 41.000
+ -6930820.23743 -5359744.79242 24019633.297 24019636.182 24019632.683
+ 1820.155 1418.303 46.000 39.000
+ -23551870.98444 -18301847.61642 20628686.207 20628689.338 20628685.006
+ -1141.400 -889.402 57.000 51.000
+ -16589092.37143 -12915661.31642 21969392.900 21969396.725 21969391.719
+ -2573.874 -2005.616 53.000 46.000
+ -6743984.07043 -5223591.00442 23961235.710 23961243.846 23961234.759
+ 1949.960 1519.449 46.000 39.000
+ 04 2 1 2 21 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -18866483.14743 -14284129.71142 21462024.762 21462029.978 21462023.804
+ 791.489 616.745 55.000 48.000
+ -19189178.74143 -14765198.37142 21673957.242 21673960.427 21673955.683
+ 1799.395 1402.126 55.000 48.000
+ -9522679.24543 -7390860.45142 24164358.137 24164366.311 24164356.053
+ 2755.629 2147.243 46.000 41.000
+ -6985328.92343 -5402218.98842 24009260.303 24009265.626 24009259.079
+ 1814.882 1414.194 47.000 39.000
+ -23517377.20244 -18274969.37942 20635250.255 20635253.239 20635249.270
+ -1157.821 -902.198 57.000 50.000
+ -16511686.14043 -12855344.81142 21984123.313 21984127.694 21984122.064
+ -2586.113 -2015.153 53.000 46.000
+ -6802428.30243 -5269131.88042 23950115.482 23950122.221 23950113.829
+ 1947.229 1517.321 47.000 39.000
+ 04 2 1 2 21 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -18890090.37843 -14302524.95042 21457532.203 21457537.157 21457531.459
+ 782.746 609.932 54.000 48.000
+ -19243099.43143 -14807214.49942 21663696.215 21663699.777 21663694.857
+ 1795.783 1399.311 55.000 48.000
+ -9605359.67043 -7455286.70142 24148625.167 24148635.216 24148623.867
+ 2756.886 2148.223 47.000 41.000
+ -7039652.41143 -5444548.91342 23998921.873 23998926.089 23998920.505
+ 1807.697 1408.595 47.000 39.000
+ -23482366.73844 -18247688.53142 20641912.191 20641915.568 20641911.490
+ -1175.703 -916.132 57.000 50.000
+ -16433888.69643 -12794723.47242 21998926.668 21998932.235 21998926.132
+ -2599.762 -2025.788 52.000 46.000
+ -6860766.46543 -5314590.12342 23939014.429 23939020.374 23939012.072
+ 1942.609 1513.721 47.000 39.000
+ 04 2 1 2 22 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -18913453.76143 -14320730.17242 21453087.141 21453091.839 21453085.617
+ 775.160 604.021 55.000 48.000
+ -19296927.42543 -14849158.39042 21653453.377 21653456.966 21653451.845
+ 1793.068 1397.196 55.000 48.000
+ -9688104.18343 -7519762.86642 24132879.672 24132887.950 24132877.798
+ 2759.561 2150.307 47.000 40.000
+ -7093788.26643 -5486732.60442 23988621.782 23988625.544 23988620.462
+ 1801.919 1404.093 48.000 39.000
+ -23446838.01144 -18220003.84942 20648673.154 20648676.586 20648672.174
+ -1192.485 -929.209 57.000 50.000
+ -16355699.74443 -12733797.06442 22013805.488 22013810.454 22013804.272
+ -2612.387 -2035.626 52.000 46.000
+ -6918992.81043 -5359961.24842 23927934.408 23927942.503 23927933.091
+ 1939.527 1511.320 47.000 40.000
+ 04 2 1 2 22 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -18936576.58043 -14338747.95442 21448686.666 21448691.742 21448685.590
+ 766.359 597.163 55.000 48.000
+ -19350663.27343 -14891030.48142 21643227.649 21643230.990 21643226.108
+ 1789.104 1394.107 55.000 48.000
+ -9770912.22343 -7584288.55342 24117118.850 24117129.530 24117117.517
+ 2760.936 2151.379 45.000 39.000
+ -7147739.60143 -5528772.51042 23978352.214 23978359.592 23978351.923
+ 1794.172 1398.056 45.000 39.000
+ -23410794.76343 -18191918.24042 20655531.978 20655535.045 20655530.782
+ -1210.546 -943.282 56.000 50.000
+ -16277123.94443 -12672569.21842 22028758.252 22028763.021 22028757.168
+ -2626.141 -2046.344 53.000 46.000
+ -6977106.63943 -5405244.66442 23916874.827 23916882.331 23916873.318
+ 1934.567 1507.455 47.000 40.000
+ 04 2 1 2 23 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -18959458.42843 -14356577.96242 21444333.140 21444337.211 21444331.492
+ 759.439 591.771 55.000 48.000
+ -19404303.64743 -14932828.17342 21633020.236 21633024.010 21633019.046
+ 1786.989 1392.459 55.000 48.000
+ -9853779.19843 -7648860.16742 24101351.783 24101359.601 24101349.506
+ 2763.746 2153.568 45.000 40.000
+ -7201505.00543 -5570667.48542 23968122.046 23968126.743 23968121.134
+ 1789.941 1394.759 45.000 39.000
+ -23374236.68144 -18163431.45642 20662488.951 20662492.335 20662488.091
+ -1226.537 -955.743 57.000 50.000
+ -16198162.40043 -12611040.78742 22043783.712 22043789.204 22043782.809
+ -2637.756 -2055.394 52.000 46.000
+ -7035103.43443 -5450436.87642 23905838.784 23905846.393 23905838.364
+ 1931.913 1505.387 46.000 40.000
+ 04 2 1 2 23 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -18982103.06343 -14374223.12842 21440023.409 21440028.103 21440022.081
+ 751.130 585.296 55.000 48.000
+ -19457849.68643 -14974552.35442 21622830.849 21622834.914 21622829.441
+ 1783.338 1389.614 56.000 48.000
+ -9936705.28343 -7713477.81642 24085571.886 24085580.704 24085569.674
+ 2765.003 2154.548 47.000 40.000
+ -7255087.84943 -5612420.30242 23957926.042 23957931.033 23957926.342
+ 1783.110 1389.436 46.000 39.000
+ -23337168.32044 -18134547.05442 20669542.669 20669546.471 20669541.787
+ -1244.128 -969.450 57.000 50.000
+ -16118820.68743 -12549216.12742 22058882.800 22058887.572 22058882.503
+ -2650.981 -2065.699 53.000 46.000
+ -7092982.78043 -5495537.53742 23894824.110 23894831.632 23894823.627
+ 1927.469 1501.924 46.000 39.000
+ 04 2 1 2 24 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19004511.27443 -14391684.07442 21435759.311 21435764.060 21435758.600
+ 742.758 578.772 55.000 48.000
+ -19511299.50143 -15016201.56442 21612658.946 21612663.161 21612657.926
+ 1779.597 1386.699 55.000 48.000
+ -10019687.35043 -7778139.08842 24069780.593 24069789.433 24069779.300
+ 2766.412 2155.646 47.000 40.000
+ -7308488.58143 -5654031.13242 23947764.479 23947768.510 23947763.670
+ 1776.505 1384.290 46.000 39.000
+ -23299590.78344 -18105265.89442 20676693.521 20676696.812 20676692.613
+ -1261.519 -983.002 57.000 50.000
+ -16039101.11943 -12487097.03042 22074052.549 22074058.178 22074051.832
+ -2663.971 -2075.821 53.000 46.000
+ -7150741.67443 -5540544.37842 23883832.845 23883838.842 23883831.082
+ 1922.850 1498.325 47.000 40.000
+ 04 2 1 2 24 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19026680.32143 -14408958.64942 21431540.607 21431545.268 21431539.750
+ 735.055 572.770 55.000 48.000
+ -19564647.53643 -15057771.46442 21602507.539 21602511.810 21602506.236
+ 1776.872 1384.576 55.000 48.000
+ -10102718.60843 -7842838.69242 24053979.077 24053987.747 24053977.291
+ 2768.543 2157.306 47.000 40.000
+ -7361703.44443 -5695497.17342 23937638.647 23937642.746 23937637.738
+ 1770.899 1379.921 48.000 40.000
+ -23261501.89744 -18075586.27842 20683941.669 20683945.139 20683940.635
+ -1277.876 -995.747 57.000 50.000
+ -15959002.57043 -12424682.63142 22089294.678 22089299.685 22089294.039
+ -2676.017 -2085.208 52.000 46.000
+ -7208373.20643 -5585451.98042 23872866.776 23872873.881 23872864.809
+ 1919.179 1495.464 47.000 39.000
+ 04 2 1 2 25 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19048614.48543 -14426050.20442 21427366.619 21427371.294 21427365.374
+ 727.286 566.716 54.000 48.000
+ -19617895.31043 -15099263.23542 21592374.843 21592378.613 21592373.697
+ 1773.236 1381.742 55.000 48.000
+ -10185799.54643 -7907577.03242 24038169.842 24038179.269 24038167.499
+ 2770.464 2158.803 47.000 41.000
+ -7414736.77243 -5736821.75742 23927546.786 23927551.481 23927544.795
+ 1764.847 1375.205 47.000 40.000
+ -23222906.31744 -18045511.83542 20691285.834 20691289.638 20691285.342
+ -1294.897 -1009.011 57.000 50.000
+ -15878530.87943 -12361977.47142 22104608.939 22104612.987 22104608.056
+ -2688.557 -2094.979 53.000 46.000
+ -7265877.63143 -5630260.57142 23861923.146 23861930.047 23861922.085
+ 1914.610 1491.904 47.000 40.000
+ 04 2 1 2 25 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19070315.92243 -14442960.40942 21423236.943 21423242.169 21423235.578
+ 719.440 560.603 54.000 48.000
+ -19671042.28443 -15140676.45742 21582261.342 21582265.319 21582259.757
+ 1769.713 1378.997 55.000 48.000
+ -10268928.36443 -7972352.65842 24022351.952 24022359.318 24022349.303
+ 2771.520 2159.626 48.000 41.000
+ -7467589.82143 -5778005.86142 23917486.975 23917493.330 23917486.673
+ 1758.470 1370.236 47.000 40.000
+ -23183806.75344 -18015044.67242 20698726.544 20698729.973 20698725.469
+ -1311.878 -1022.242 57.000 50.000
+ -15797689.80143 -12298984.48642 22119991.680 22119996.638 22119990.911
+ -2700.941 -2104.629 52.000 45.000
+ -7323253.22543 -5674968.75442 23851005.034 23851011.172 23851004.913
+ 1910.234 1488.494 46.000 40.000
+ 04 2 1 2 26 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19091781.25843 -14459686.65242 21419152.055 21419156.808 21419150.872
+ 711.647 554.530 54.000 48.000
+ -19724082.16543 -15182006.23342 21572168.773 21572172.122 21572167.034
+ 1766.219 1376.275 55.000 48.000
+ -10352097.77343 -8037159.92142 24006525.350 24006532.670 24006523.538
+ 2772.843 2160.657 49.000 42.000
+ -7520258.86143 -5819046.57842 23907464.361 23907469.886 23907464.740
+ 1753.166 1366.103 47.000 39.000
+ -23144200.53144 -17984182.71742 20706263.345 20706266.670 20706262.315
+ -1328.610 -1035.280 57.000 50.000
+ -15716477.58643 -12235702.28542 22135446.419 22135450.769 22135445.625
+ -2713.055 -2114.069 52.000 46.000
+ -7380492.50443 -5719570.68842 23840113.207 23840121.242 23840112.352
+ 1905.769 1485.015 46.000 40.000
+ 04 2 1 2 26 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19113017.48743 -14476234.36342 21415111.261 21415115.660 21415109.859
+ 703.120 547.886 55.000 48.000
+ -19777019.34643 -15223255.98642 21562095.056 21562098.218 21562093.492
+ 1761.964 1372.959 55.000 48.000
+ -10435310.81243 -8102001.15842 23990690.095 23990698.414 23990688.763
+ 2773.426 2161.111 50.000 42.000
+ -7572750.42143 -5859949.01542 23897477.793 23897480.427 23897476.302
+ 1745.861 1360.411 47.000 39.000
+ -23104095.11744 -17952931.78842 20713895.670 20713898.601 20713894.308
+ -1346.052 -1048.872 57.000 50.000
+ -15634903.07243 -12172137.77942 22150969.380 22150973.081 22150968.561
+ -2726.050 -2124.195 52.000 45.000
+ -7437598.41943 -5764068.69842 23829246.011 23829253.603 23829244.845
+ 1900.452 1480.872 47.000 40.000
+ 04 2 1 2 27 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19134024.31543 -14492603.32342 21411113.798 21411118.552 21411112.483
+ 695.866 542.233 55.000 48.000
+ -19829850.57543 -15264423.17342 21552041.718 21552044.558 21552040.246
+ 1758.683 1370.402 55.000 49.000
+ -10518563.27743 -8166873.13642 23974847.735 23974855.667 23974846.008
+ 2775.154 2162.458 49.000 42.000
+ -7625063.36443 -5900712.30342 23887520.657 23887525.566 23887519.809
+ 1739.981 1355.829 46.000 39.000
+ -23063490.93444 -17921292.19542 20721622.027 20721625.669 20721620.983
+ -1362.418 -1061.624 57.000 50.000
+ -15552967.33443 -12108291.79842 22166560.806 22166565.616 22166560.229
+ -2737.792 -2133.344 52.000 45.000
+ -7494566.50843 -5808459.30142 23818405.393 23818413.174 23818404.459
+ 1895.887 1477.315 47.000 41.000
+ 04 2 1 2 27 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19154795.67343 -14508788.80942 21407161.061 21407165.807 21407160.149
+ 688.822 536.744 55.000 48.000
+ -19882567.11943 -15305500.99642 21542010.422 21542013.282 21542008.949
+ 1755.707 1368.083 56.000 49.000
+ -10601845.08143 -8231767.95642 23958998.823 23959006.770 23958997.074
+ 2776.852 2163.781 48.000 42.000
+ -7677191.27843 -5941331.41642 23877601.528 23877608.473 23877600.810
+ 1735.162 1352.074 48.000 39.000
+ -23022381.89944 -17889259.22342 20729445.172 20729448.335 20729444.006
+ -1378.287 -1073.990 57.000 50.000
+ -15470665.97843 -12044160.92642 22182222.779 22182227.190 22182221.531
+ -2749.031 -2142.102 52.000 45.000
+ -7551386.92643 -5852734.87442 23807591.913 23807600.690 23807591.425
+ 1892.023 1474.304 47.000 40.000
+ 04 2 1 2 28 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19175343.00943 -14524799.72342 21403251.461 21403256.228 21403250.036
+ 680.944 530.606 55.000 48.000
+ -19935177.45143 -15346496.05442 21531998.036 21532001.624 21531996.657
+ 1751.713 1364.971 56.000 49.000
+ -10685163.67843 -8296691.44842 23943144.340 23943153.097 23943142.492
+ 2777.670 2164.418 49.000 42.000
+ -7729145.30543 -5981815.01742 23867716.246 23867719.864 23867714.961
+ 1728.767 1347.091 47.000 39.000
+ -22980780.55344 -17856842.62842 20737361.660 20737365.155 20737360.465
+ -1395.096 -1087.088 57.000 50.000
+ -15388012.17543 -11979755.41842 22197950.461 22197955.908 22197949.183
+ -2761.181 -2151.570 51.000 45.000
+ -7608067.19343 -5896901.24842 23796806.774 23796813.492 23796806.527
+ 1886.932 1470.337 47.000 40.000
+ 04 2 1 2 28 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19195660.19843 -14540631.30142 21399385.267 21399389.687 21399383.658
+ 673.816 525.051 55.000 48.000
+ -19987672.80743 -15387401.52042 21522008.793 21522012.094 21522007.538
+ 1748.325 1362.331 55.000 48.000
+ -10768509.04743 -8361635.80242 23927283.965 23927293.477 23927283.052
+ 2779.043 2165.488 47.000 42.000
+ -7780918.68243 -6022157.86042 23857862.812 23857870.690 23857862.864
+ 1723.533 1343.013 47.000 39.000
+ -22938681.40844 -17824038.13942 20745372.355 20745375.827 20745371.338
+ -1411.146 -1099.594 57.000 50.000
+ -15305001.24843 -11915071.63442 22213747.782 22213752.345 22213747.080
+ -2772.578 -2160.450 52.000 45.000
+ -7664597.05443 -5940950.42242 23786050.151 23786056.071 23786047.967
+ 1882.113 1466.582 48.000 41.000
+ 04 2 1 2 29 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19215751.00843 -14556286.48042 21395561.435 21395566.239 21395560.573
+ 665.287 518.405 55.000 48.000
+ -20040053.99743 -15428218.03142 21512041.320 21512044.241 21512039.725
+ 1743.550 1358.610 56.000 49.000
+ -10851880.86643 -8426600.77042 23911418.927 23911426.909 23911417.898
+ 2778.977 2165.437 47.000 41.000
+ -7832514.58643 -6062362.41942 23848045.307 23848050.143 23848044.392
+ 1716.403 1337.457 47.000 39.000
+ -22896088.54544 -17790848.93542 20753478.006 20753481.545 20753476.530
+ -1428.670 -1113.249 57.000 50.000
+ -15221638.66243 -11850113.82842 22229611.110 22229616.651 22229610.914
+ -2785.200 -2170.286 52.000 45.000
+ -7720976.07143 -5984882.03142 23775320.056 23775327.615 23775318.313
+ 1876.271 1462.029 47.000 40.000
+ 04 2 1 2 29 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19235615.23343 -14571765.10642 21391781.722 21391786.367 21391780.211
+ 658.491 513.110 55.000 48.000
+ -20092317.95143 -15468943.17942 21502095.625 21502099.054 21502094.064
+ 1740.325 1356.097 56.000 49.000
+ -10935274.99243 -8491583.13142 23895548.289 23895557.811 23895547.798
+ 2780.579 2166.685 47.000 41.000
+ -7883932.67043 -6102428.41242 23838259.714 23838265.009 23838259.603
+ 1711.035 1333.274 46.000 39.000
+ -22853002.86844 -17757275.72142 20761676.846 20761679.746 20761675.661
+ -1444.197 -1125.348 57.000 50.000
+ -15137925.98143 -11784883.22042 22245541.663 22245546.004 22245540.600
+ -2795.988 -2178.692 52.000 45.000
+ -7777200.00143 -6028692.85042 23764621.663 23764627.534 23764620.333
+ 1871.827 1458.566 47.000 40.000
+ 04 2 1 2 30 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19255257.28043 -14587070.59142 21388044.221 21388048.820 21388042.811
+ 650.303 506.730 55.000 48.000
+ -20144466.41743 -15509578.34442 21492171.878 21492175.620 21492170.578
+ 1735.588 1352.406 56.000 49.000
+ -11018691.71043 -8556583.08342 23879676.285 23879683.548 23879674.395
+ 2779.923 2166.174 48.000 41.000
+ -7935176.58543 -6142358.67742 23828509.110 23828515.389 23828508.070
+ 1704.705 1328.342 47.000 40.000
+ -22809429.19944 -17723322.25142 20769968.681 20769972.005 20769967.783
+ -1461.216 -1138.610 57.000 50.000
+ -15053869.28443 -11719384.54942 22261536.791 22261541.619 22261535.998
+ -2808.311 -2188.294 51.000 45.000
+ -7833269.44043 -6072383.25142 23753952.267 23753960.365 23753950.172
+ 1865.601 1453.715 46.000 41.000
+ 04 2 1 2 30 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19274675.48943 -14602201.66642 21384348.729 21384353.509 21384347.506
+ 643.272 501.251 55.000 48.000
+ -20196494.69243 -15550119.85342 21482271.092 21482275.042 21482269.771
+ 1732.007 1349.616 55.000 49.000
+ -11102125.45543 -8621596.31042 23863797.750 23863807.762 23863795.755
+ 2781.101 2167.092 47.000 41.000
+ -7986244.15143 -6182151.54842 23818791.087 23818797.272 23818790.524
+ 1699.164 1324.024 47.000 40.000
+ -22765366.58644 -17688987.79042 20778353.675 20778356.897 20778352.277
+ -1477.148 -1151.024 57.000 50.000
+ -14969468.43343 -11653617.69742 22277597.700 22277602.902 22277597.027
+ -2819.297 -2196.855 51.000 45.000
+ -7889178.40943 -6115948.61342 23743311.745 23743319.746 23743311.503
+ 1860.554 1449.782 46.000 41.000
+ 04 2 1 2 31 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19293868.93543 -14617157.59642 21380696.580 21380700.812 21380695.434
+ 636.081 495.647 55.000 48.000
+ -20248399.12643 -15590564.86742 21472394.448 21472397.754 21472392.972
+ 1728.151 1346.611 56.000 49.000
+ -11185571.26243 -8686618.93442 23847919.363 23847927.855 23847917.138
+ 2781.655 2167.523 48.000 42.000
+ -8037134.24243 -6221806.13142 23809106.360 23809112.269 23809106.061
+ 1693.478 1319.593 47.000 40.000
+ -22720815.07444 -17654272.36942 20786831.492 20786834.646 20786830.585
+ -1493.146 -1163.490 57.000 50.000
+ -14884724.08443 -11587583.20542 22293723.718 22293729.667 22293723.296
+ -2830.537 -2205.613 51.000 45.000
+ -7944922.14143 -6159385.20842 23732706.171 23732711.439 23732704.284
+ 1855.340 1445.719 48.000 42.000
+ 04 2 1 2 31 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19312844.09343 -14631943.42942 21377086.053 21377089.829 21377084.555
+ 628.303 489.587 55.000 48.000
+ -20300183.25543 -15630916.13042 21462539.823 21462543.442 21462538.027
+ 1723.539 1343.017 55.000 48.000
+ -11269031.47143 -8751652.79542 23832036.962 23832046.275 23832034.524
+ 2781.640 2167.512 48.000 42.000
+ -8087852.73743 -6261326.98242 23799456.722 23799460.440 23799455.586
+ 1687.283 1314.766 48.000 40.000
+ -22675781.68344 -17619181.45942 20795401.139 20795404.330 20795400.111
+ -1509.701 -1176.390 57.000 50.000
+ -14799644.81943 -11521287.72842 22309914.293 22309918.727 22309912.806
+ -2842.103 -2214.626 51.000 45.000
+ -8000503.08643 -6202694.99742 23722128.368 23722135.824 23722126.985
+ 1849.344 1441.047 48.000 42.000
+ 04 2 1 2 32 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19331599.38443 -14646557.94442 21373516.845 21373521.305 21373515.571
+ 620.869 483.794 55.000 48.000
+ -20351842.37543 -15671169.99342 21452709.139 21452713.094 21452707.784
+ 1719.274 1339.694 55.000 48.000
+ -11352500.31543 -8816693.39842 23816153.917 23816162.125 23816151.300
+ 2781.827 2167.657 48.000 41.000
+ -8138397.40243 -6300712.40142 23789837.001 23789843.290 23789838.360
+ 1681.270 1310.081 48.000 40.000
+ -22630265.62344 -17583714.44642 20804062.592 20804065.802 20804061.727
+ -1525.787 -1188.925 57.000 50.000
+ -14714230.46943 -11454731.14742 22326167.754 22326173.250 22326166.785
+ -2853.322 -2223.368 51.000 45.000
+ -8055915.50643 -6245873.44142 23711583.873 23711590.788 23711582.130
+ 1843.794 1436.723 47.000 42.000
+ 04 2 1 2 32 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19350134.86343 -14661001.16542 21369989.160 21369994.294 21369988.039
+ 614.319 478.690 55.000 48.000
+ -20403373.76743 -15711324.32442 21442903.627 21442907.063 21442901.874
+ 1715.778 1336.970 55.000 49.000
+ -11435973.68843 -8881737.52442 23800269.222 23800275.105 23800269.134
+ 2782.463 2168.153 48.000 41.000
+ -8188767.93443 -6339962.13242 23780252.337 23780257.691 23780252.384
+ 1676.191 1306.123 48.000 40.000
+ -22584267.39244 -17547871.71242 20812815.616 20812819.130 20812814.506
+ -1541.093 -1200.852 57.000 50.000
+ -14628482.58843 -11387914.66842 22342485.324 22342490.577 22342484.061
+ -2863.575 -2231.357 51.000 45.000
+ -8111155.34243 -6288917.41242 23701072.574 23701078.734 23701070.064
+ 1838.508 1432.604 47.000 41.000
+ 04 2 1 2 33 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19368454.15443 -14675275.93342 21366503.559 21366507.537 21366502.220
+ 607.473 473.356 55.000 48.000
+ -20454778.19843 -15751379.71442 21433121.567 21433125.137 21433120.475
+ 1711.828 1333.892 55.000 49.000
+ -11519451.34243 -8946784.96842 23784383.368 23784392.272 23784381.039
+ 2783.178 2168.710 48.000 42.000
+ -8238967.54043 -6379078.65642 23770699.062 23770704.167 23770698.942
+ 1670.751 1301.884 48.000 40.000
+ -22537791.44944 -17511656.73542 20821659.765 20821663.366 20821658.546
+ -1556.725 -1213.032 57.000 50.000
+ -14542406.15743 -11320842.18042 22358865.042 22358870.195 22358863.063
+ -2874.215 -2239.648 51.000 45.000
+ -8166222.09243 -6331826.52042 23690591.203 23690600.550 23690590.712
+ 1833.033 1428.337 46.000 40.000
+ 04 2 1 2 33 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19386554.44743 -14689380.05142 21363058.497 21363063.738 21363057.660
+ 600.095 467.606 55.000 48.000
+ -20506049.71943 -15791331.54142 21423364.038 21423368.767 21423363.080
+ 1707.251 1330.325 55.000 49.000
+ -11602926.25543 -9011830.27642 23768498.564 23768508.600 23768498.122
+ 2782.715 2168.349 48.000 42.000
+ -8288992.84043 -6418059.36242 23761178.627 23761184.588 23761179.163
+ 1664.930 1297.348 47.000 40.000
+ -22490835.94444 -17475068.08242 20830595.027 20830598.538 20830594.145
+ -1572.782 -1225.544 57.000 50.000
+ -14456000.04543 -11253512.79542 22375308.278 22375313.777 22375307.392
+ -2885.206 -2248.212 51.000 45.000
+ -8221109.02843 -6374595.52342 23680148.998 23680155.504 23680146.741
+ 1826.904 1423.562 48.000 40.000
+ 04 2 1 2 34 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19404441.36743 -14703317.90042 21359655.480 21359660.042 21359653.954
+ 592.532 461.713 55.000 48.000
+ -20557191.23443 -15831182.07142 21413632.899 21413636.363 21413631.282
+ 1702.356 1326.511 55.000 49.000
+ -11686399.95643 -9076874.64142 23752614.271 23752622.386 23752612.788
+ 2782.262 2167.996 49.000 43.000
+ -8338849.08543 -6456908.31842 23751692.585 23751698.845 23751691.632
+ 1658.944 1292.684 47.000 40.000
+ -22443407.22744 -17438110.69242 20839620.686 20839623.865 20839619.545
+ -1589.007 -1238.187 57.000 50.000
+ -14369271.86043 -11185932.45442 22391811.133 22391816.574 22391810.679
+ -2896.293 -2256.852 50.000 45.000
+ -8275817.56543 -6417225.55642 23669737.336 23669743.806 23669737.036
+ 1820.524 1418.590 48.000 41.000
+ 04 2 1 2 34 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19422114.17643 -14717088.91542 21356291.789 21356296.715 21356290.945
+ 585.798 456.466 55.000 48.000
+ -20608199.01543 -15870928.38742 21403926.434 21403930.308 21403925.240
+ 1698.220 1323.288 55.000 49.000
+ -11769867.72043 -9141914.38542 23736730.146 23736739.520 23736728.256
+ 2782.355 2168.069 48.000 42.000
+ -8388535.20443 -6495624.74542 23742237.336 23742241.657 23742236.260
+ 1653.532 1288.466 47.000 40.000
+ -22395505.47444 -17400784.69542 20848736.105 20848739.450 20848735.263
+ -1604.438 -1250.211 57.000 50.000
+ -14282222.42743 -11118101.80442 22408376.132 22408382.258 22408375.520
+ -2906.758 -2265.006 51.000 45.000
+ -8330343.00943 -6459712.87942 23659362.352 23659367.366 23659359.429
+ 1814.760 1414.099 48.000 41.000
+ 04 2 1 2 35 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19439571.42843 -14730691.96542 21352969.818 21352974.745 21352968.471
+ 578.103 450.470 55.000 48.000
+ -20659068.57943 -15910567.01542 21394246.218 21394250.244 21394244.950
+ 1693.126 1319.319 55.000 49.000
+ -11853323.95143 -9206945.13042 23720849.699 23720858.284 23720847.356
+ 2781.544 2167.437 48.000 43.000
+ -8438049.00543 -6534206.88042 23732815.029 23732821.523 23732814.568
+ 1647.487 1283.756 47.000 40.000
+ -22347130.11044 -17363089.65642 20857941.508 20857945.169 20857940.701
+ -1620.618 -1262.819 57.000 50.000
+ -14194851.98543 -11050021.00042 22425002.571 22425007.408 22425001.285
+ -2917.964 -2273.738 51.000 45.000
+ -8384679.97443 -6502053.30442 23649020.661 23649027.491 23649019.080
+ 1807.698 1408.596 46.000 41.000
+ 04 2 1 2 35 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19456818.17043 -14744130.97742 21349687.998 21349692.819 21349687.374
+ 571.609 445.410 55.000 48.000
+ -20709802.31643 -15950099.79542 21384592.184 21384595.971 21384590.946
+ 1689.120 1316.197 56.000 49.000
+ -11936769.60743 -9271967.63642 23704971.085 23704979.048 23704969.512
+ 2781.580 2167.465 48.000 43.000
+ -8487395.29943 -6572658.49342 23723425.482 23723430.286 23723422.919
+ 1642.060 1279.527 48.000 40.000
+ -22298286.95644 -17325030.10942 20867236.025 20867239.807 20867235.330
+ -1635.623 -1274.511 57.000 50.000
+ -14107167.18943 -10981695.25642 22441688.344 22441693.389 22441687.004
+ -2927.806 -2281.407 51.000 45.000
+ -8438829.50743 -6544247.66842 23638717.159 23638723.971 23638715.646
+ 1802.297 1404.387 47.000 40.000
+ 04 2 1 2 36 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19473853.02943 -14757404.89142 21346447.292 21346450.856 21346445.397
+ 564.248 439.674 55.000 48.000
+ -20760395.53743 -15989523.08142 21374964.465 21374968.101 21374963.213
+ 1684.074 1312.265 56.000 49.000
+ -12020198.83343 -9336977.33042 23689095.134 23689103.395 23689093.990
+ 2780.692 2166.773 49.000 43.000
+ -8536572.19943 -6610978.10342 23714066.236 23714071.073 23714066.527
+ 1636.187 1274.951 46.000 40.000
+ -22248975.64044 -17286605.75742 20876619.622 20876623.281 20876618.886
+ -1651.546 -1286.919 57.000 50.000
+ -14019168.39143 -10913124.83042 22458433.401 22458438.896 22458433.421
+ -2938.596 -2289.815 51.000 44.000
+ -8492785.83243 -6586291.53642 23628449.020 23628455.697 23628447.560
+ 1795.346 1398.971 47.000 40.000
+ 04 2 1 2 36 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19490679.91643 -14770516.75042 21343244.279 21343249.173 21343243.011
+ 557.529 434.438 55.000 48.000
+ -20810849.29643 -16028837.69842 21365363.953 21365367.033 21365362.442
+ 1679.427 1308.644 56.000 49.000
+ -12103611.52143 -9401974.12642 23673221.441 23673230.850 23673218.973
+ 2780.225 2166.409 48.000 42.000
+ -8585583.35543 -6649168.59242 23704739.211 23704743.749 23704739.636
+ 1630.996 1270.906 46.000 39.000
+ -22199200.66644 -17247820.11342 20886091.819 20886095.888 20886090.791
+ -1666.835 -1298.832 57.000 50.000
+ -13930861.01843 -10844313.94342 22475238.889 22475243.623 22475237.758
+ -2948.538 -2297.562 51.000 44.000
+ -8546548.95543 -6628184.85642 23618218.837 23618226.194 23618217.775
+ 1788.860 1393.917 47.000 40.000
+ 04 2 1 2 37 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19507294.53143 -14783463.21142 21340082.648 21340087.691 21340081.323
+ 550.532 428.986 55.000 48.000
+ -20861155.97443 -16068037.70142 21355790.633 21355794.065 21355789.403
+ 1674.718 1304.975 56.000 49.000
+ -12186999.18343 -9466951.43442 23657353.030 23657360.589 23657351.830
+ 2779.230 2165.634 48.000 43.000
+ -8634423.72143 -6687225.97342 23695446.109 23695450.536 23695445.280
+ 1625.758 1266.824 47.000 40.000
+ -22148958.85144 -17208670.70042 20895652.405 20895656.714 20895651.305
+ -1682.239 -1310.835 57.000 50.000
+ -13842242.47443 -10775260.60642 22492101.569 22492106.878 22492100.316
+ -2958.757 -2305.525 51.000 44.000
+ -8600110.54743 -6669921.11842 23608026.673 23608032.826 23608025.321
+ 1782.356 1388.849 48.000 41.000
+ 04 2 1 2 37 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19523705.58143 -14796251.03842 21336959.476 21336964.618 21336958.468
+ 542.858 423.006 55.000 48.000
+ -1067719.50753 -810294.60552 25092758.437 25092769.050 25092756.736
+ 3899.046 3038.218 41.000 35.000
+ -20911321.41543 -16107127.65542 21346244.538 21346248.298 21346243.095
+ 1668.974 1300.499 56.000 49.000
+ -12270366.42843 -9531912.83942 23641488.057 23641497.104 23641485.957
+ 2777.936 2164.625 48.000 42.000
+ -8683101.83043 -6725156.92042 23686183.336 23686188.300 23686183.217
+ 1619.041 1261.590 47.000 40.000
+ -22098259.63143 -17169164.86342 20905300.100 20905303.801 20905299.180
+ -1698.424 -1323.447 56.000 50.000
+ -13753322.83943 -10705972.64942 22509023.052 22509027.507 22509021.247
+ -2969.727 -2314.073 51.000 44.000
+ -8653474.96043 -6711503.71642 23597871.835 23597879.692 23597870.131
+ 1774.523 1382.745 47.000 40.000
+ 04 2 1 2 38 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19539909.46843 -14808877.45342 21333876.237 21333881.028 21333875.082
+ 537.252 418.638 55.000 48.000
+ -1184698.16743 -901446.67342 25070497.886 25070510.064 25070495.484
+ 3899.484 3038.559 42.000 35.000
+ -20961339.18843 -16146102.54542 21336726.315 21336730.109 21336725.024
+ 1665.343 1297.670 56.000 49.000
+ -12353705.36743 -9596852.18042 23625629.237 23625636.836 23625628.584
+ 2778.107 2164.759 48.000 42.000
+ -8731613.54043 -6762958.22942 23676951.085 23676955.396 23676950.194
+ 1614.938 1258.393 47.000 40.000
+ -22047100.26343 -17129300.47442 20915035.636 20915039.499 20915034.317
+ -1712.386 -1334.327 56.000 50.000
+ -13664100.35743 -10636448.71442 22526001.590 22526006.449 22526000.862
+ -2978.588 -2320.978 51.000 45.000
+ -8706634.94443 -6752927.06042 23587756.257 23587762.483 23587754.076
+ 1769.015 1378.453 47.000 40.000
+ 04 2 1 2 38 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19555907.62643 -14821343.54842 21330831.948 21330836.512 21330830.604
+ 530.196 413.140 55.000 48.000
+ -1301650.92343 -992578.58342 25048242.594 25048253.544 25048240.020
+ 3898.462 3037.762 44.000 37.000
+ -21011207.80743 -16184961.21242 21327236.754 21327240.054 21327235.327
+ 1660.097 1293.582 56.000 49.000
+ -12437013.27743 -9661767.36642 23609777.223 23609785.765 23609776.057
+ 2776.669 2163.638 48.000 42.000
+ -8779959.97643 -6800630.72842 23667750.923 23667757.192 23667750.880
+ 1609.166 1253.896 47.000 40.000
+ -21995483.14843 -17089079.39442 20924857.572 20924861.268 20924856.648
+ -1727.852 -1346.378 56.000 50.000
+ -13574577.91943 -10566691.03142 22543037.518 22543042.454 22543035.680
+ -2988.715 -2328.869 51.000 44.000
+ -8759587.67443 -6794188.88142 23577678.831 23577685.275 23577674.438
+ 1762.213 1373.153 45.000 39.000
+ 04 2 1 2 39 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19571702.16943 -14833650.98442 21327826.306 21327831.234 21327825.411
+ 522.037 406.782 55.000 48.000
+ -1418576.87343 -1083689.55942 25025991.911 25026003.866 25025990.086
+ 3896.128 3035.944 43.000 37.000
+ -21060926.23943 -16223702.85042 21317774.807 21317778.784 21317773.626
+ 1653.703 1288.600 55.000 49.000
+ -12520288.18443 -9726656.80642 23593930.828 23593937.712 23593929.235
+ 2774.179 2161.698 48.000 42.000
+ -8828142.74443 -6838175.71542 23658582.034 23658587.540 23658581.525
+ 1602.502 1248.703 47.000 40.000
+ -21943411.57543 -17048504.19842 20934766.821 20934770.211 20934765.652
+ -1744.236 -1359.145 56.000 50.000
+ -13484759.58443 -10496702.79442 22560129.686 22560134.404 22560128.593
+ -2999.812 -2337.516 51.000 44.000
+ -8812331.30243 -6835287.76442 23567642.470 23567648.131 23567640.759
+ 1753.564 1366.414 47.000 41.000
+ 04 2 1 2 39 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19587298.09743 -14845803.66042 21324858.515 21324863.457 21324857.584
+ 516.566 402.519 55.000 48.000
+ -1535477.32743 -1174780.61042 25003746.339 25003757.221 25003744.177
+ 3896.396 3036.153 43.000 37.000
+ -21110496.45643 -16262328.99342 21308342.401 21308346.075 21308341.189
+ 1649.837 1285.587 56.000 49.000
+ -12603530.70643 -9791521.01642 23578089.641 23578097.242 23578088.815
+ 2774.229 2161.737 50.000 43.000
+ -8876166.39443 -6875596.72642 23649443.877 23649448.019 23649442.098
+ 1597.792 1245.033 47.000 40.000
+ -21890891.81243 -17007579.76042 20944761.255 20944764.878 20944760.188
+ -1758.139 -1369.978 56.000 50.000
+ -13394652.02343 -10426489.20042 22577276.458 22577281.246 22577275.205
+ -3008.391 -2344.201 51.000 44.000
+ -8864866.77743 -6876224.46242 23557643.976 23557651.187 23557643.170
+ 1747.578 1361.749 47.000 41.000
+ 04 2 1 2 40 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19602688.76043 -14857796.39142 21321930.346 21321934.442 21321928.938
+ 509.157 396.746 55.000 48.000
+ -1652342.39943 -1265844.08142 24981508.822 24981518.740 24981506.594
+ 3894.415 3034.609 43.000 37.000
+ -21159908.88343 -16300832.17742 21298939.763 21298943.121 21298938.439
+ 1644.036 1281.067 56.000 49.000
+ -12686730.14043 -9856351.66942 23562257.019 23562265.457 23562255.414
+ 2772.236 2160.184 49.000 43.000
+ -8924024.53143 -6912888.74542 23640336.121 23640341.130 23640335.427
+ 1592.121 1240.614 47.000 40.000
+ -21837917.93243 -16966301.46842 20954841.702 20954845.774 20954840.442
+ -1773.721 -1382.120 56.000 50.000
+ -13304250.23443 -10356046.31842 22594479.597 22594484.325 22594479.082
+ -3018.695 -2352.230 51.000 44.000
+ -8917183.61543 -6916990.79042 23547689.311 23547695.572 23547687.948
+ 1739.938 1355.796 47.000 40.000
+ 04 2 1 2 40 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19617876.22643 -14869630.78442 21319039.922 21319044.497 21319038.531
+ 502.522 391.575 55.000 48.000
+ -1769170.66643 -1356878.90142 24959275.714 24959287.110 24959273.924
+ 3893.339 3033.771 43.000 37.000
+ -21209162.53343 -16339211.64742 21289567.056 21289571.129 21289565.573
+ 1638.854 1277.029 56.000 49.000
+ -12769884.40243 -9921147.12042 23546433.064 23546440.905 23546430.524
+ 2770.697 2158.985 49.000 42.000
+ -8971717.84743 -6950052.33942 23631260.021 23631266.041 23631259.921
+ 1586.862 1236.516 47.000 40.000
+ -21784492.64544 -16924671.43242 20965008.520 20965012.217 20965007.394
+ -1788.572 -1393.692 57.000 50.000
+ -13213557.73143 -10285376.90042 22611737.940 22611742.740 22611736.840
+ -3028.229 -2359.659 51.000 44.000
+ -8969279.65143 -6957585.05742 23537775.459 23537782.332 23537773.993
+ 1732.377 1349.904 47.000 40.000
+ 04 2 1 2 41 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19632865.43943 -14881310.68842 21316187.005 21316192.136 21316185.916
+ 495.991 386.486 55.000 48.000
+ -1885963.70143 -1447886.21842 24937049.172 24937061.520 24937046.837
+ 3891.790 3032.564 41.000 37.000
+ -21258259.16743 -16377468.76542 21280224.152 21280227.741 21280222.486
+ 1633.530 1272.881 56.000 49.000
+ -12852994.02743 -9985907.79742 23530617.421 23530626.350 23530616.889
+ 2769.235 2157.845 49.000 43.000
+ -9019251.30743 -6987091.36942 23622214.934 23622220.307 23622214.991
+ 1581.570 1232.392 47.000 40.000
+ -21730622.53944 -16882694.77442 20975259.923 20975262.833 20975258.875
+ -1803.424 -1405.265 57.000 50.000
+ -13122581.22443 -10214486.18742 22629048.739 22629055.285 22629048.854
+ -3037.603 -2366.963 50.000 44.000
+ -9021155.81043 -6998008.01642 23527905.002 23527909.188 23527903.139
+ 1725.110 1344.242 48.000 40.000
+ 04 2 1 2 41 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19647659.57643 -14892838.58742 21313372.306 21313376.639 21313371.091
+ 489.757 381.629 55.000 48.000
+ -2002721.08443 -1538865.73242 24914830.645 24914843.338 24914830.563
+ 3891.337 3032.211 41.000 36.000
+ -21307198.97643 -16415603.68742 21270911.208 21270914.632 21270909.939
+ 1628.494 1268.956 56.000 49.000
+ -12936057.91943 -10050632.85442 23514811.779 23514819.777 23514810.701
+ 2767.896 2156.802 50.000 42.000
+ -9066627.74643 -7024008.02042 23613199.381 23613206.224 23613198.633
+ 1576.937 1228.782 46.000 41.000
+ -21676311.45143 -16840374.50542 20985594.501 20985598.056 20985593.663
+ -1817.842 -1416.500 56.000 49.000
+ -13031325.83543 -10143378.16142 22646415.587 22646421.049 22646414.177
+ -3046.692 -2374.046 50.000 44.000
+ -9072811.16343 -7038258.90142 23518072.814 23518081.638 23518073.047
+ 1718.017 1338.715 46.000 40.000
+ 04 2 1 2 42 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19662254.78843 -14904211.47642 21310594.567 21310599.316 21310593.515
+ 483.535 376.781 55.000 48.000
+ -2119435.68943 -1629811.92542 24892622.143 24892634.136 24892619.512
+ 3890.136 3031.275 41.000 36.000
+ -21355974.74843 -16453610.77642 21261629.970 21261633.052 21261628.457
+ 1623.436 1265.015 56.000 49.000
+ -13019067.86843 -10115315.85342 23499014.716 23499021.594 23499013.988
+ 2766.410 2155.644 49.000 42.000
+ -9113842.58643 -7060798.77442 23604214.412 23604222.294 23604213.992
+ 1571.490 1224.538 48.000 41.000
+ -21621556.50943 -16797708.37542 20996014.325 20996017.477 20996013.045
+ -1832.295 -1427.762 56.000 49.000
+ -12939788.97643 -10072050.79642 22663834.239 22663840.523 22663832.091
+ -3055.737 -2381.094 50.000 44.000
+ -9124237.72343 -7078331.46742 23508287.297 23508294.401 23508287.660
+ 1710.774 1333.071 46.000 40.000
+ 04 2 1 2 42 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19676654.11543 -14915431.73542 21307855.226 21307859.464 21307853.817
+ 477.224 371.863 55.000 49.000
+ -2236107.12753 -1720724.45452 24870419.514 24870431.560 24870418.786
+ 3889.102 3030.469 40.000 35.000
+ -21404586.85043 -16491490.33842 21252379.098 21252382.425 21252377.695
+ 1618.194 1260.930 56.000 49.000
+ -13102022.78443 -10179955.99642 23483230.202 23483236.030 23483228.816
+ 2764.756 2154.355 50.000 42.000
+ -9160898.95043 -7097466.03442 23595260.638 23595266.076 23595259.895
+ 1566.395 1220.568 48.000 41.000
+ -21566362.18043 -16754699.86942 21006517.091 21006521.157 21006516.221
+ -1846.605 -1438.913 56.000 49.000
+ -12847975.40043 -10000507.82842 22681306.342 22681311.128 22681305.268
+ -3064.572 -2387.978 50.000 43.000
+ -9175434.72943 -7118225.21542 23498545.648 23498551.802 23498544.185
+ 1703.221 1327.185 47.000 40.000
+ 04 2 1 2 43 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19690860.21343 -14926501.42542 21305151.800 21305156.488 21305150.453
+ 470.086 366.301 55.000 48.000
+ -2352734.75253 -1811602.83552 24848223.580 24848238.876 24848219.677
+ 3886.731 3028.622 39.000 35.000
+ -21453035.02943 -16529242.16942 21243159.381 21243163.069 21243158.090
+ 1611.864 1255.998 56.000 49.000
+ -13184921.14943 -10244552.07242 23467453.378 23467461.992 23467453.375
+ 2762.030 2152.231 48.000 42.000
+ -9207799.26443 -7134011.71642 23586335.703 23586340.528 23586335.466
+ 1560.457 1215.941 48.000 40.000
+ -21510732.24043 -16711351.92842 21017103.406 21017107.376 21017102.391
+ -1861.789 -1450.745 56.000 49.000
+ -12755889.62743 -9928752.74942 22698828.142 22698833.798 22698827.169
+ -3074.407 -2395.642 50.000 43.000
+ -9226400.87043 -7157939.02642 23488846.439 23488853.008 23488845.534
+ 1694.832 1320.648 48.000 41.000
+ 04 2 1 2 43 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19704869.84843 -14937418.02342 21302485.608 21302490.034 21302484.567
+ 463.801 361.403 55.000 48.000
+ -2469311.82543 -1902441.82042 24826041.171 24826052.092 24826036.321
+ 3885.365 3027.557 40.000 36.000
+ -21501312.67143 -16566861.10942 21233973.075 21233975.999 21233971.145
+ 1606.486 1251.807 56.000 49.000
+ -13267755.44643 -10309098.20842 23451691.502 23451700.264 23451688.854
+ 2760.181 2150.790 49.000 42.000
+ -9254539.61943 -7170432.72142 23577441.177 23577445.472 23577439.637
+ 1555.401 1212.001 47.000 41.000
+ -21454664.28343 -16667662.67542 21027773.057 21027776.881 21027771.850
+ -1876.157 -1461.940 56.000 49.000
+ -12663529.90943 -9856784.20842 22716404.308 22716409.007 22716402.877
+ -3083.057 -2402.382 50.000 43.000
+ -9277128.68643 -7197467.13442 23479193.188 23479199.674 23479190.961
+ 1687.124 1314.642 46.000 41.000
+ 04 2 1 2 44 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19718688.10943 -14948185.50242 21299856.484 21299860.713 21299854.791
+ 457.251 356.299 55.000 48.000
+ -2585839.84543 -1993242.58142 24803866.789 24803875.851 24803866.058
+ 3882.757 3025.525 40.000 35.000
+ -21549421.91543 -16604348.83442 21224817.922 21224821.264 21224816.450
+ 1600.657 1247.265 56.000 50.000
+ -13350526.31043 -10373594.93242 23435940.092 23435947.816 23435938.752
+ 2757.641 2148.811 48.000 42.000
+ -9301124.74543 -7206732.81042 23568576.765 23568583.311 23568574.864
+ 1550.051 1207.832 48.000 41.000
+ -21398164.66843 -16623637.05942 21038524.236 21038528.533 21038523.097
+ -1890.685 -1473.261 56.000 49.000
+ -12570902.77343 -9784607.29442 22734030.076 22734036.074 22734029.984
+ -3092.164 -2409.478 49.000 43.000
+ -9327619.50043 -7236810.58042 23469585.541 23469591.939 23469584.094
+ 1678.734 1308.104 47.000 41.000
+ 04 2 1 2 44 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19732313.92943 -14958803.03142 21297263.315 21297267.492 21297261.832
+ 451.126 351.527 55.000 48.000
+ -2702314.39843 -2084001.68942 24781701.710 24781714.827 24781699.086
+ 3881.628 3024.645 37.000 35.000
+ -21597358.38743 -16641701.93142 21215695.641 21215699.450 21215694.381
+ 1595.025 1242.877 56.000 49.000
+ -13433228.36243 -10438038.03342 23420201.944 23420211.828 23420200.295
+ 2755.670 2147.275 49.000 43.000
+ -9347553.04643 -7242910.67942 23559740.779 23559745.833 23559740.784
+ 1544.922 1203.835 48.000 41.000
+ -21341233.33343 -16579275.04642 21049357.573 21049361.836 21049356.908
+ -1904.834 -1484.286 56.000 49.000
+ -12478009.15243 -9712222.72242 22751707.257 22751713.078 22751706.156
+ -3100.711 -2416.138 50.000 43.000
+ -9377867.99343 -7275965.18342 23460024.813 23460029.598 23460021.203
+ 1671.053 1302.119 46.000 40.000
+ 04 2 1 2 45 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19745752.47843 -14969274.62942 21294705.664 21294710.018 21294704.356
+ 444.852 346.638 55.000 48.000
+ -2818737.08753 -2174720.36952 24759549.618 24759556.376 24759546.073
+ 3879.992 3023.370 36.000 34.000
+ -21645124.00043 -16678921.89642 21206606.398 21206610.384 21206604.886
+ 1589.274 1238.395 56.000 50.000
+ -13515862.48243 -10502428.19742 23404476.909 23404487.873 23404477.480
+ 2753.308 2145.435 49.000 43.000
+ -9393829.45543 -7278970.20642 23550935.062 23550939.639 23550933.927
+ 1540.113 1200.088 47.000 40.000
+ -21283876.43243 -16534581.41742 21060273.081 21060276.414 21060272.116
+ -1918.965 -1495.297 56.000 49.000
+ -12384855.85743 -9639635.80742 22769435.093 22769439.501 22769433.330
+ -3109.391 -2422.902 50.000 43.000
+ -9427875.28843 -7314931.85642 23450507.145 23450513.899 23450506.420
+ 1662.788 1295.679 47.000 40.000
+ 04 2 1 2 45 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19758998.43043 -14979596.15142 21292185.488 21292189.869 21292183.660
+ 439.480 342.452 55.000 48.000
+ -2935099.28353 -2265391.94052 24737402.302 24737416.749 24737402.840
+ 3878.394 3022.125 36.000 33.000
+ -21692710.69243 -16716002.44942 21197550.752 21197554.703 21197549.266
+ 1584.383 1234.584 56.000 49.000
+ -13598419.37043 -10566758.18942 23388768.339 23388776.757 23388768.421
+ 2751.866 2144.311 49.000 43.000
+ -9439948.44743 -7314907.07842 23542158.412 23542164.297 23542156.613
+ 1535.909 1196.812 47.000 40.000
+ -21226089.97343 -16489553.07442 21071269.445 21071273.086 21071268.328
+ -1932.195 -1505.606 56.000 49.000
+ -12291438.83743 -9566843.39442 22787211.118 22787215.515 22787210.525
+ -3117.104 -2428.912 50.000 43.000
+ -9477632.44843 -7353703.62542 23441039.863 23441046.467 23441037.852
+ 1655.509 1290.007 47.000 40.000
+ 04 2 1 2 46 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19772058.46143 -14989772.80242 21289699.844 21289704.677 21289698.658
+ 432.161 336.749 55.000 48.000
+ -21740122.10243 -16752946.41242 21188528.922 21188532.571 21188527.145
+ 1577.314 1229.076 56.000 50.000
+ -13680901.27043 -10631029.72442 23373072.086 23373080.711 23373070.563
+ 2747.946 2141.257 50.000 43.000
+ -9485916.25943 -7350726.11842 23533412.864 23533418.057 23533411.920
+ 1529.605 1191.900 48.000 41.000
+ -21167881.72943 -16444196.06742 21082346.043 21082349.818 21082345.181
+ -1947.445 -1517.490 56.000 49.000
+ -12197766.66743 -9493852.16042 22805035.388 22805041.173 22805034.382
+ -3126.765 -2436.440 49.000 43.000
+ -9527141.70443 -7392282.21242 23431617.211 23431624.168 23431615.504
+ 1645.812 1282.451 46.000 41.000
+ 04 2 1 2 46 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19784933.82443 -14999805.55742 21287250.034 21287254.560 21287248.454
+ 425.611 331.645 55.000 48.000
+ -21787356.15543 -16789752.17242 21179540.328 21179544.253 21179538.747
+ 1571.018 1224.170 56.000 50.000
+ -13763304.94643 -10695240.32442 23357391.096 23357398.452 23357389.698
+ 2745.068 2139.014 50.000 43.000
+ -9531733.42643 -7386427.77442 23524693.154 23524698.267 23524694.329
+ 1524.209 1187.695 48.000 41.000
+ -21109254.35943 -16398512.46442 21093502.927 21093506.329 21093501.386
+ -1961.735 -1528.625 56.000 49.000
+ -12103841.93543 -9420664.13642 22822909.133 22822915.917 22822907.937
+ -3135.575 -2443.305 49.000 43.000
+ -9576400.32243 -7430665.49442 23422243.945 23422250.420 23422243.838
+ 1637.148 1275.700 47.000 41.000
+ 04 2 1 2 47 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19797620.72843 -15009691.46542 21284836.055 21284840.036 21284834.713
+ 419.094 326.567 56.000 49.000
+ -21834406.12843 -16826414.49742 21170586.531 21170590.900 21170585.436
+ 1564.571 1219.146 56.000 49.000
+ -13845622.46543 -10759383.78842 23341727.184 23341734.367 23341725.655
+ 2741.877 2136.528 50.000 43.000
+ -9577396.34143 -7422009.22442 23516003.895 23516009.612 23516004.001
+ 1519.003 1183.639 48.000 41.000
+ -21050205.22843 -16352500.22642 21104739.277 21104743.141 21104738.185
+ -1975.883 -1539.649 56.000 49.000
+ -12009662.84043 -9347277.90242 22840831.514 22840836.585 22840829.878
+ -3144.231 -2450.050 49.000 43.000
+ -9625400.81943 -7468847.63742 23412919.595 23412926.576 23412918.308
+ 1628.439 1268.914 48.000 41.000
+ 04 2 1 2 47 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19810123.22143 -15019433.67242 21282455.969 21282461.390 21282455.000
+ 413.736 322.392 55.000 48.000
+ -21881272.79343 -16862933.98642 21161668.512 21161672.460 21161667.348
+ 1559.187 1214.951 56.000 49.000
+ -13927853.50543 -10823459.86142 23326079.073 23326087.310 23326078.329
+ 2739.572 2134.731 51.000 44.000
+ -9622908.53743 -7457473.25542 23507342.796 23507348.174 23507342.604
+ 1514.765 1180.336 47.000 41.000
+ -20990739.40643 -16306163.29042 21116055.288 21116059.212 21116054.140
+ -1988.992 -1549.864 56.000 49.000
+ -11915235.26843 -9273698.05642 22858799.659 22858806.066 22858799.235
+ -3151.466 -2455.688 48.000 43.000
+ -9674143.30543 -7506828.73442 23403644.426 23403649.747 23403643.453
+ 1620.488 1262.718 48.000 42.000
+ 04 2 1 2 48 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19822443.63843 -15029034.00742 21280111.893 21280116.853 21280110.616
+ 408.393 318.228 55.000 49.000
+ -21927955.22743 -16899309.92042 21152785.580 21152788.925 21152783.869
+ 1553.721 1210.692 56.000 50.000
+ -14009995.92443 -10887466.88142 23310446.906 23310455.705 23310447.151
+ 2737.278 2132.944 50.000 44.000
+ -9668272.07543 -7492821.42042 23498709.928 23498716.766 23498709.166
+ 1510.331 1176.881 47.000 41.000
+ -20930860.79243 -16259504.69442 21127449.865 21127453.899 21127448.881
+ -2002.162 -1560.126 56.000 49.000
+ -11820562.81543 -9199927.38642 22876816.260 22876821.726 22876814.895
+ -3159.090 -2461.628 49.000 43.000
+ -9722626.06043 -7544607.43842 23394417.060 23394424.653 23394417.336
+ 1612.659 1256.617 47.000 41.000
+ 04 2 1 2 48 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19834581.57943 -15038492.14542 21277802.280 21277807.095 21277800.928
+ 402.124 313.343 55.000 49.000
+ -21974450.16643 -16935539.75142 21143937.722 21143941.286 21143936.085
+ 1547.171 1205.588 56.000 50.000
+ -14092045.06343 -10951401.22342 23294834.293 23294842.598 23294832.473
+ 2734.011 2130.398 51.000 44.000
+ -9713486.14043 -7528053.10542 23490105.199 23490111.211 23490105.268
+ 1505.070 1172.782 46.000 41.000
+ -20870570.09243 -16212524.99142 21138922.686 21138926.705 21138921.931
+ -2015.983 -1570.896 56.000 49.000
+ -11725646.83743 -9125966.95042 22894878.081 22894884.856 22894877.138
+ -3167.410 -2468.112 49.000 43.000
+ -9770844.69443 -7582180.33842 23385242.408 23385249.051 23385241.646
+ 1603.519 1249.495 48.000 41.000
+ 04 2 1 2 49 0.0000000 0 7G 1G20G 2G13G11G25G16
+ -19846538.23243 -15047809.03142 21275527.346 21275531.927 21275525.710
+ 395.902 308.495 55.000 49.000
+ -22020755.75143 -16971622.03242 21135125.961 21135129.476 21135124.649
+ 1540.720 1200.561 56.000 50.000
+ -14173997.81243 -11015260.43442 23279238.326 23279246.085 23279237.392
+ 2730.523 2127.680 49.000 44.000
+ -9758551.77743 -7563169.14442 23481530.295 23481535.835 23481530.596
+ 1500.058 1168.876 47.000 40.000
+ -20809869.57743 -16165225.95742 21150473.584 21150478.019 21150472.699
+ -2029.788 -1581.653 56.000 49.000
+ -11630490.30043 -9051819.08642 22912986.129 22912991.063 22912984.220
+ -3175.518 -2474.430 49.000 43.000
+ -9818796.39643 -7619545.27542 23376117.544 23376123.246 23376116.628
+ 1594.210 1242.242 48.000 42.000
+ 04 2 1 2 49 30.0000000 0 7G 1G20G 2G13G11G25G16
+ -19858316.76043 -15056987.11042 21273285.758 21273290.181 21273284.593
+ 390.198 304.050 56.000 49.000
+ -22066871.88143 -17007556.68842 21126350.226 21126353.948 21126348.971
+ 1534.580 1195.777 56.000 50.000
+ -14255852.90143 -11079043.55142 23263663.028 23263669.703 23263660.980
+ 2727.350 2125.208 49.000 44.000
+ -9803471.48943 -7598171.46542 23472983.132 23472987.707 23472982.523
+ 1495.404 1165.250 48.000 40.000
+ -20748763.80143 -16117611.13742 21162101.868 21162106.069 21162100.685
+ -2043.076 -1592.007 56.000 49.000
+ -11535097.72243 -8977487.27642 22931139.271 22931143.271 22931138.689
+ -3183.074 -2480.317 50.000 43.000
+ -9866480.35343 -7656701.54642 23367043.386 23367049.545 23367041.965
+ 1585.520 1235.470 47.000 42.000
+ 04 2 1 2 50 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19869915.09543 -15066024.78842 21271078.320 21271083.309 21271077.493
+ 383.947 299.179 55.000 49.000
+ 24538668.266
+ 3857.214 3005.621 42.000
+ -22112793.26843 -17043339.58942 21117612.080 21117615.769 21117610.529
+ 1527.746 1190.451 56.000 50.000
+ -14337604.02443 -11142745.62942 23248105.786 23248113.421 23248103.850
+ 2723.410 2122.138 49.000 44.000
+ -9848243.28843 -7633058.54242 23464463.673 23464467.923 23464462.146
+ 1490.306 1161.277 48.000 41.000
+ -20687252.18243 -16069680.07442 21173806.900 21173811.470 21173805.928
+ -2056.810 -1602.709 56.000 49.000
+ -11439468.62043 -8902971.14542 22949336.427 22949342.273 22949334.778
+ -3191.269 -2486.703 49.000 42.000
+ -9913890.73743 -7693644.65742 23358021.218 23358028.512 23358019.285
+ 1576.081 1228.115 48.000 42.000
+ 04 2 1 2 50 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19881337.29743 -15074925.21642 21268904.431 21268909.399 21268903.286
+ 377.552 294.196 55.000 49.000
+ 24516658.044
+ 3854.260 3003.319 43.000
+ -22158521.11343 -17078971.68342 21108910.254 21108913.666 21108908.733
+ 1520.748 1184.998 56.000 50.000
+ -14419250.97943 -11206366.55242 23232568.842 23232576.042 23232566.864
+ 2719.607 2119.174 49.000 43.000
+ -9892870.95543 -7667833.29842 23455971.814 23455976.477 23455970.027
+ 1484.846 1157.023 49.000 42.000
+ -20625339.96643 -16021436.86142 21185588.874 21185592.581 21185587.813
+ -2070.785 -1613.599 56.000 49.000
+ -11343609.03043 -8828275.44242 22967576.820 22967583.794 22967576.232
+ -3199.594 -2493.190 48.000 42.000
+ -9961027.79243 -7730374.80642 23349051.827 23349058.050 23349050.652
+ 1566.411 1220.580 48.000 42.000
+ 04 2 1 2 51 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19892579.94843 -15083685.73542 21266765.338 21266769.999 21266763.833
+ 371.900 289.792 55.000 48.000
+ -1011986.04353 -726753.31052 24494662.494 24494675.891 24494662.340
+ 3851.434 3001.117 44.000 36.000
+ -22204048.51843 -17114447.59742 21100246.504 21100250.116 21100245.276
+ 1514.435 1180.079 56.000 50.000
+ -14500786.01043 -11269900.25942 23217051.856 23217060.889 23217051.183
+ 2716.093 2116.436 49.000 43.000
+ -9937350.55543 -7702492.68142 23447505.782 23447511.806 23447504.564
+ 1480.285 1153.469 47.000 41.000
+ -20563025.03643 -15972879.84042 21197447.014 21197450.617 21197445.901
+ -2083.690 -1623.654 56.000 49.000
+ -11247516.99743 -8753398.60542 22985863.972 22985869.650 22985862.615
+ -3206.652 -2498.690 49.000 43.000
+ -10007883.89243 -7766886.01242 23340134.429 23340140.820 23340133.317
+ 1557.065 1213.297 47.000 42.000
+ 04 2 1 2 51 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19903649.14343 -15092311.08642 21264659.118 21264663.646 21264657.663
+ 365.743 284.995 55.000 48.000
+ -1127489.05243 -816755.39142 24472683.623 24472693.849 24472683.348
+ 3848.314 2998.686 44.000 36.000
+ -22249378.60543 -17149769.75542 21091620.328 21091624.193 21091619.075
+ 1507.361 1174.567 56.000 50.000
+ -14582210.76443 -11333348.05842 23201558.171 23201564.983 23201556.463
+ 2711.965 2113.219 50.000 43.000
+ -9981688.22443 -7737041.47642 23439069.597 23439075.530 23439068.422
+ 1475.215 1149.518 48.000 42.000
+ -20500314.85243 -15924014.82442 21209380.485 21209384.707 21209379.121
+ -2097.194 -1634.177 56.000 49.000
+ -11151200.43943 -8678346.82942 23004191.865 23004198.184 23004190.733
+ -3214.673 -2504.940 48.000 43.000
+ -10054461.42443 -7803180.14242 23331272.155 23331277.564 23331270.427
+ 1547.627 1205.943 48.000 42.000
+ 04 2 1 2 52 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19914543.34043 -15100800.08342 21262586.116 21262590.537 21262584.964
+ 360.982 281.285 55.000 49.000
+ -1242904.43343 -906689.16342 24450721.035 24450732.061 24450719.393
+ 3846.270 2997.094 44.000 36.000
+ -22294506.62043 -17184934.45242 21083033.192 21083036.455 21083031.854
+ 1501.569 1170.054 56.000 50.000
+ -14663519.18343 -11396705.20442 23186085.884 23186092.819 23186084.283
+ 2708.816 2110.766 50.000 43.000
+ -10025881.75243 -7771477.95942 23430659.847 23430664.351 23430658.142
+ 1471.434 1146.572 48.000 41.000
+ -20437209.23443 -15874841.70142 21221389.206 21221392.928 21221388.061
+ -2109.354 -1643.652 56.000 49.000
+ -11054659.14043 -8603119.92442 23022563.628 23022569.017 23022562.745
+ -3220.983 -2509.857 49.000 42.000
+ -10100754.65243 -7839252.76342 23322461.954 23322467.538 23322461.312
+ 1538.915 1199.155 48.000 41.000
+ 04 2 1 2 52 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19925284.53743 -15109169.86142 21260542.041 21260546.654 21260540.565
+ 354.643 276.345 55.000 49.000
+ -1358250.83343 -996569.20742 24428771.134 24428781.255 24428770.034
+ 3842.816 2994.402 44.000 37.000
+ -22339451.49143 -17219956.43642 21074480.127 21074483.798 21074478.658
+ 1494.150 1164.273 56.000 50.000
+ -14744729.01743 -11459985.52542 23170631.687 23170638.809 23170629.671
+ 2704.600 2107.481 50.000 43.000
+ -10069952.72943 -7805818.96442 23422272.294 23422278.908 23422271.707
+ 1465.970 1142.314 47.000 41.000
+ -20373731.21443 -15825378.38142 21233468.435 21233472.203 21233467.434
+ -2122.990 -1654.278 56.000 49.000
+ -10957916.90343 -8527736.45142 23040973.690 23040978.144 23040971.614
+ -3228.922 -2516.043 49.000 42.000
+ -10146781.71343 -7875117.96842 23313704.054 23313709.134 23313702.544
+ 1528.834 1191.299 48.000 41.000
+ 04 2 1 2 53 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19935835.22443 -15117391.18742 21258534.503 21258539.148 21258533.269
+ 349.273 272.161 56.000 49.000
+ -1473487.15443 -1086363.47542 24406842.432 24406853.820 24406840.708
+ 3840.169 2992.339 44.000 37.000
+ -22384172.51443 -17254804.00542 21065969.572 21065973.794 21065968.430
+ 1487.658 1159.214 56.000 50.000
+ -14825798.37443 -11523156.41242 23155204.837 23155212.576 23155202.882
+ 2700.614 2104.375 50.000 43.000
+ -10113863.63543 -7840035.23642 23413916.500 23413921.193 23413916.079
+ 1461.794 1139.060 48.000 41.000
+ -20309844.92843 -15775596.93742 21245625.881 21245630.030 21245624.569
+ -2135.676 -1664.163 56.000 49.000
+ -10860937.94143 -8452168.50942 23059428.206 23059432.827 23059426.329
+ -3235.757 -2521.369 49.000 42.000
+ -10192501.45743 -7910743.76142 23305003.420 23305009.622 23305001.509
+ 1519.564 1184.076 47.000 41.000
+ 04 2 1 2 53 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19946214.72043 -15125479.11942 21256559.143 21256564.264 21256557.848
+ 342.736 267.067 55.000 48.000
+ -1588629.58243 -1176084.57242 24384930.036 24384942.018 24384930.009
+ 3836.070 2989.145 44.000 37.000
+ -22428685.95243 -17289489.81442 21057499.639 21057502.834 21057498.287
+ 1479.896 1153.166 56.000 50.000
+ -14906742.33243 -11586229.56042 23139801.934 23139808.405 23139800.290
+ 2695.645 2100.503 51.000 44.000
+ -10157633.43743 -7874141.58542 23405587.793 23405593.295 23405587.481
+ 1456.352 1134.820 49.000 42.000
+ -20245571.07743 -15725513.49942 21257856.247 21257860.966 21257855.706
+ -2149.341 -1674.811 56.000 49.000
+ -10763743.08343 -8376432.34242 23077921.910 23077927.773 23077921.354
+ -3243.744 -2527.593 48.000 42.000
+ -10237929.18143 -7946141.94442 23296358.560 23296363.639 23296356.901
+ 1509.160 1175.969 47.000 41.000
+ 04 2 1 2 54 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19956422.93543 -15133433.59542 21254616.165 21254621.776 21254615.503
+ 337.499 262.986 55.000 49.000
+ -1703674.49243 -1265729.68042 24363037.262 24363048.604 24363036.089
+ 3833.116 2986.844 44.000 38.000
+ -22472988.34043 -17324011.17942 21049069.256 21049072.700 21049067.860
+ 1473.312 1148.035 56.000 50.000
+ -14987556.40843 -11649201.50242 23124422.890 23124430.743 23124422.078
+ 2691.742 2097.461 51.000 44.000
+ -10201261.71043 -7908137.63642 23397285.798 23397291.271 23397286.253
+ 1452.009 1131.436 49.000 42.000
+ -20180910.93143 -15675129.05142 21270161.308 21270165.247 21270160.311
+ -2161.703 -1684.444 56.000 49.000
+ -10666334.04043 -8300529.29642 23096458.980 23096465.989 23096457.558
+ -3250.420 -2532.795 48.000 42.000
+ -10283061.04143 -7981309.60442 23287770.032 23287776.697 23287769.314
+ 1499.478 1168.424 48.000 42.000
+ 04 2 1 2 54 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19966464.65543 -15141258.33242 21252705.837 21252710.252 21252704.985
+ 331.542 258.344 55.000 49.000
+ -1818623.21043 -1355299.82142 24341164.774 24341175.024 24341163.860
+ 3829.212 2983.802 45.000 38.000
+ -22517081.53543 -17358369.52742 21040678.578 21040682.217 21040677.183
+ 1465.800 1142.182 56.000 50.000
+ -15068240.91443 -11712072.48742 23109068.419 23109077.233 23109067.784
+ 2686.777 2093.592 50.000 43.000
+ -10244753.16943 -7942027.07442 23389009.599 23389014.068 23389008.255
+ 1446.751 1127.338 48.000 42.000
+ -20115870.93043 -15624448.60442 21282538.564 21282542.053 21282537.305
+ -2174.806 -1694.654 56.000 49.000
+ -10568717.21943 -8224464.32642 23115035.092 23115039.835 23115031.907
+ -3257.714 -2538.478 49.000 42.000
+ -10327897.75843 -8016247.28142 23279238.657 23279244.878 23279236.591
+ 1489.292 1160.487 48.000 41.000
+ 04 2 1 2 55 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19976336.00043 -15148950.30542 21250827.488 21250832.298 21250825.951
+ 326.359 254.306 55.000 49.000
+ -1933468.42243 -1444789.30442 24319308.997 24319321.654 24319308.141
+ 3826.520 2981.704 44.000 38.000
+ -22560958.48243 -17392559.37042 21032329.213 21032332.506 21032327.594
+ 1459.063 1136.932 56.000 50.000
+ -15148787.74143 -11774836.19842 23093741.547 23093750.336 23093740.536
+ 2682.759 2090.461 50.000 44.000
+ -10288103.71543 -7975806.72842 23380759.947 23380765.476 23380760.050
+ 1443.108 1124.500 49.000 42.000
+ -20050448.52543 -15573470.18542 21294987.470 21294991.540 21294986.703
+ -2186.921 -1704.094 56.000 49.000
+ -10470890.06443 -8148235.46242 23133652.136 23133657.507 23133650.773
+ -3264.205 -2543.536 49.000 42.000
+ -10372431.77843 -8050949.10342 23270761.870 23270770.974 23270761.996
+ 1479.641 1152.967 47.000 41.000
+ 04 2 1 2 55 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19986045.54543 -15156516.20142 21248979.305 21248984.681 21248978.107
+ 320.594 249.814 55.000 48.000
+ -2048215.30943 -1534202.16542 24297473.704 24297483.571 24297473.370
+ 3822.979 2978.945 44.000 38.000
+ -22604624.50444 -17426584.85942 21024019.893 21024023.156 21024018.328
+ 1451.639 1131.147 57.000 50.000
+ -15229200.92543 -11837495.76742 23078439.597 23078447.215 23078437.610
+ 2677.835 2086.625 50.000 44.000
+ -10331321.44943 -8009482.84942 23372536.107 23372541.491 23372534.756
+ 1437.975 1120.500 48.000 42.000
+ -19984653.79043 -15522201.64242 21307507.473 21307511.732 21307506.779
+ -2199.761 -1714.099 55.000 49.000
+ -10372862.92543 -8071850.77442 23152305.946 23152310.272 23152304.127
+ -3271.309 -2549.072 49.000 42.000
+ -10416667.89943 -8085418.76242 23262346.600 23262352.528 23262344.646
+ 1469.102 1144.755 48.000 42.000
+ 04 2 1 2 56 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -19995588.04843 -15163951.93442 21247163.762 21247168.384 21247162.465
+ 315.577 245.904 55.000 49.000
+ -2162855.17343 -1623531.62842 24275657.626 24275669.263 24275658.098
+ 3819.981 2976.608 44.000 38.000
+ -22648071.19844 -17460439.43842 21015752.510 21015755.666 21015750.878
+ 1444.779 1125.802 57.000 50.000
+ -15309470.93543 -11900043.77442 23063163.804 23063172.063 23063162.489
+ 2673.488 2083.237 50.000 44.000
+ -10374400.81843 -8043051.17142 23364339.390 23364343.801 23364338.056
+ 1434.198 1117.557 49.000 42.000
+ -19918482.55543 -15470639.72242 21320099.571 21320104.002 21320098.674
+ -2211.702 -1723.404 55.000 48.000
+ -10274632.17943 -7995307.41242 23170998.384 23171003.980 23170995.881
+ -3277.490 -2553.888 49.000 42.000
+ -10460596.83743 -8119649.07342 23253986.566 23253993.321 23253985.337
+ 1459.258 1137.084 48.000 42.000
+ 04 2 1 2 56 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20004965.61043 -15171259.14442 21245379.326 21245384.150 21245378.397
+ 309.673 241.304 55.000 49.000
+ -2277386.93643 -1712776.85442 24253863.247 24253874.220 24253862.117
+ 3815.722 2973.290 44.000 39.000
+ -22691297.82043 -17494122.52942 21007526.307 21007529.919 21007524.798
+ 1436.996 1119.737 56.000 50.000
+ -15389595.57843 -11962478.50042 23047917.222 23047926.012 23047915.816
+ 2668.086 2079.028 50.000 44.000
+ -10417343.96143 -8076513.34542 23356166.857 23356170.642 23356166.445
+ 1428.832 1113.376 49.000 42.000
+ -19851938.42243 -15418787.23642 21332762.755 21332766.882 21332762.018
+ -2224.472 -1733.355 55.000 48.000
+ -10176201.47543 -7918608.24942 23189729.480 23189735.422 23189728.321
+ -3284.576 -2559.410 49.000 42.000
+ -10504217.10043 -8153638.85142 23245685.841 23245691.177 23245684.036
+ 1448.862 1128.983 49.000 42.000
+ 04 2 1 2 57 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20014182.68743 -15178441.29642 21243625.432 21243630.070 21243624.346
+ 304.525 237.292 55.000 48.000
+ -2391811.25443 -1801938.35542 24232089.515 24232098.572 24232089.166
+ 3812.318 2970.637 45.000 39.000
+ -22734305.21343 -17527634.79842 20999341.820 20999345.933 20999340.761
+ 1429.841 1114.162 56.000 50.000
+ -15469574.62243 -12024799.79542 23032697.275 23032705.445 23032696.775
+ 2663.403 2075.379 49.000 44.000
+ -10460154.96043 -8109872.52942 23348020.893 23348024.458 23348020.044
+ 1424.676 1110.137 49.000 42.000
+ -19785027.61443 -15366649.01942 21345495.485 21345499.760 21345494.584
+ -2236.522 -1742.744 55.000 48.000
+ -10077576.99443 -7841758.09842 23208496.045 23208501.558 23208493.794
+ -3290.747 -2564.218 49.000 42.000
+ -10547528.99443 -8187388.35542 23237444.867 23237450.180 23237442.101
+ 1438.625 1121.006 49.000 42.000
+ 04 2 1 2 57 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20023236.11443 -15185495.93042 21241903.034 21241907.120 21241901.612
+ 298.506 232.602 55.000 49.000
+ -2506121.75143 -1891011.16042 24210337.861 24210345.433 24210336.149
+ 3807.860 2967.164 45.000 38.000
+ -22777087.15543 -17560971.38842 20991201.307 20991204.758 20991200.022
+ 1421.805 1107.900 56.000 50.000
+ -15549400.69643 -12087001.86142 23017507.410 23017516.201 23017505.547
+ 2657.649 2070.895 50.000 44.000
+ -10502830.21243 -8143125.92142 23339898.447 23339904.687 23339900.110
+ 1419.637 1106.211 48.000 42.000
+ -19717748.40243 -15314223.73642 21358298.538 21358302.633 21358297.375
+ -2249.339 -1752.732 55.000 48.000
+ -9978757.02843 -7764755.59042 23227301.539 23227307.925 23227299.598
+ -3297.726 -2569.657 49.000 42.000
+ -10590525.90143 -8220892.39042 23229261.383 23229268.496 23229260.694
+ 1427.167 1112.078 48.000 42.000
+ 04 2 1 2 58 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20032128.28243 -15192424.89742 21240210.311 21240215.069 21240208.663
+ 294.023 229.109 55.000 48.000
+ -2620317.32843 -1979994.43042 24188604.902 24188614.606 24188604.812
+ 3804.619 2964.638 45.000 38.000
+ -22819642.94844 -17594131.75142 20983103.541 20983106.677 20983101.763
+ 1415.129 1102.698 57.000 50.000
+ -15629071.92643 -12149083.28442 23002346.656 23002353.804 23002344.591
+ 2653.415 2067.596 50.000 44.000
+ -10545371.98543 -8176275.36742 23331803.999 23331808.131 23331802.811
+ 1416.057 1103.421 48.000 42.000
+ -19650104.54543 -15261514.30942 21371171.041 21371174.958 21371169.815
+ -2260.412 -1761.360 56.000 48.000
+ -9879745.65543 -7687603.95742 23246142.529 23246148.975 23246141.549
+ -3303.359 -2574.046 49.000 42.000
+ -10633206.37143 -8254149.85542 23221140.159 23221146.757 23221138.684
+ 1417.661 1104.671 49.000 42.000
+ 04 2 1 2 58 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20040860.50643 -15199229.24342 21238548.917 21238553.184 21238547.477
+ 288.869 225.093 55.000 48.000
+ -2734396.11643 -2068886.70842 24166896.445 24166904.917 24166895.444
+ 3801.271 2962.029 44.000 38.000
+ -22861970.97843 -17627114.64642 20975048.127 20975051.991 20975046.838
+ 1407.630 1096.855 56.000 50.000
+ -15708585.21443 -12211041.66742 22987214.626 22987223.441 22987213.968
+ 2648.201 2063.533 50.000 44.000
+ -10587781.77543 -8209321.89442 23323733.142 23323737.112 23323733.945
+ 1411.568 1099.923 49.000 42.000
+ -19582098.99943 -15208523.04642 21384112.120 21384115.995 21384110.958
+ -2272.405 -1770.705 56.000 48.000
+ -9780545.77143 -7610305.43042 23265019.183 23265024.008 23265018.420
+ -3309.367 -2578.727 49.000 42.000
+ -10675567.90143 -8287158.76242 23213078.460 23213084.083 23213078.020
+ 1407.071 1096.419 48.000 42.000
+ 04 2 1 2 59 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20049433.21243 -15205909.28042 21236917.270 21236922.053 21236916.060
+ 282.590 220.200 55.000 48.000
+ -2848355.12043 -2157685.64542 24145209.548 24145219.926 24145209.094
+ 3796.242 2958.111 43.000 38.000
+ -22904068.41143 -17659917.84442 20967037.286 20967041.197 20967036.068
+ 1398.986 1090.119 56.000 50.000
+ -15787936.60543 -12272873.87542 22972115.484 22972122.631 22972113.733
+ 2641.834 2058.572 50.000 44.000
+ -10630059.51643 -8242265.56342 23315687.447 23315694.271 23315686.991
+ 1406.207 1095.746 49.000 42.000
+ -19513733.88243 -15155251.60342 21397121.314 21397125.509 21397120.167
+ -2285.311 -1780.762 56.000 48.000
+ -9681159.51143 -7532861.68842 23283932.062 23283937.889 23283931.445
+ -3316.336 -2584.158 49.000 42.000
+ -10717607.27843 -8319916.73442 23205079.309 23205084.888 23205079.364
+ 1395.512 1087.412 49.000 42.000
+ 04 2 1 2 59 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20057850.32143 -15212468.07542 21235315.637 21235320.376 21235314.823
+ 277.490 216.226 55.000 48.000
+ -2962194.81643 -2246391.59842 24123545.532 24123556.230 24123544.815
+ 3792.332 2955.064 43.000 38.000
+ -22945935.83543 -17692541.81942 20959070.351 20959074.299 20959068.874
+ 1391.173 1084.031 56.000 50.000
+ -15867125.46543 -12334579.44942 22957046.696 22957054.294 22957045.248
+ 2636.544 2054.450 51.000 45.000
+ -10672208.90243 -8275109.19142 23307667.121 23307670.648 23307665.646
+ 1402.347 1092.738 48.000 42.000
+ -19445014.39243 -15101704.02442 21410198.275 21410202.227 21410197.480
+ -2297.001 -1789.871 55.000 48.000
+ -9581592.56143 -7455277.14142 23302880.229 23302884.910 23302878.415
+ -3322.637 -2589.068 49.000 42.000
+ -10759324.40543 -8352423.54842 23197140.826 23197147.592 23197139.882
+ 1384.653 1078.950 49.000 42.000
+ 04 2 1 3 0 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20066112.09143 -15218905.82542 21233743.377 21233748.241 21233742.281
+ 273.096 212.802 55.000 48.000
+ -3075912.00943 -2335002.09842 24101905.674 24101918.081 24101906.270
+ 3788.945 2952.425 42.000 37.000
+ -22987570.35344 -17724984.30342 20951147.381 20951151.118 20951146.024
+ 1384.132 1078.544 57.000 50.000
+ -15946147.70743 -12396155.17242 22942009.321 22942016.473 22942007.427
+ 2631.414 2050.452 51.000 44.000
+ -10714229.85243 -8307852.74942 23299670.743 23299676.928 23299669.545
+ 1398.585 1089.806 49.000 42.000
+ -19375942.44943 -15047881.81042 21423342.000 21423346.434 21423340.881
+ -2308.013 -1798.452 55.000 48.000
+ -9481846.72043 -7377553.17642 23321861.531 23321867.769 23321860.691
+ -3327.606 -2592.940 49.000 42.000
+ -10800715.96743 -8384676.67442 23189263.872 23189269.995 23189262.529
+ 1374.558 1071.084 49.000 42.000
+ 04 2 1 3 0 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20074216.52343 -15225220.97342 21232201.693 21232205.533 21232200.284
+ 267.385 208.352 55.000 49.000
+ -3189501.27543 -2423512.95442 24080289.769 24080302.073 24080287.598
+ 3783.448 2948.141 41.000 36.000
+ -23028966.88744 -17757241.35542 20943270.139 20943273.409 20943268.901
+ 1375.791 1072.045 57.000 50.000
+ -16024996.98443 -12457596.11542 22927004.244 22927012.009 22927002.634
+ 2625.309 2045.695 50.000 44.000
+ -10756120.33643 -8340494.66342 23291698.817 23291704.313 23291698.381
+ 1393.801 1086.079 49.000 42.000
+ -19306517.45443 -14993784.49042 21436553.592 21436557.432 21436552.001
+ -2320.229 -1807.971 55.000 48.000
+ -9381921.24043 -7299689.25842 23340875.508 23340882.467 23340874.412
+ -3334.049 -2597.960 47.000 42.000
+ -10841776.35343 -8416671.76142 23181449.904 23181456.674 23181448.933
+ 1362.974 1062.058 48.000 42.000
+ 04 2 1 3 1 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20082166.31843 -15231415.62342 21230688.641 21230693.018 21230687.406
+ 263.493 205.319 55.000 48.000
+ -3302962.23743 -2511923.81842 24058699.466 24058710.352 24058699.010
+ 3780.864 2946.128 42.000 37.000
+ -23070125.16143 -17789312.75042 20935437.804 20935441.488 20935436.343
+ 1369.001 1066.754 56.000 50.000
+ -16103671.71643 -12518901.04842 22912032.602 22912039.654 22912032.326
+ 2620.459 2041.916 50.000 44.000
+ -10797882.93343 -8373036.91042 23283752.515 23283756.332 23283751.411
+ 1390.917 1083.831 49.000 42.000
+ -19236744.05543 -14939415.68142 21449830.477 21449835.246 21449829.451
+ -2330.517 -1815.987 55.000 48.000
+ -9281820.81643 -7221689.02442 23359924.141 23359930.517 23359924.109
+ -3338.357 -2601.317 48.000 42.000
+ -10882504.55743 -8448407.99042 23173700.445 23173706.647 23173699.739
+ 1353.046 1054.322 49.000 42.000
+ 04 2 1 3 1 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20089966.15143 -15237493.42042 21229204.643 21229209.037 21229203.277
+ 256.947 200.218 55.000 49.000
+ -3416296.04343 -2600235.61042 24037133.066 24037143.396 24037131.218
+ 3774.735 2941.352 43.000 37.000
+ -23111046.55944 -17821199.56342 20927650.590 20927654.419 20927649.210
+ 1359.538 1059.380 57.000 50.000
+ -16182172.12443 -12580070.16442 22897094.998 22897102.162 22897092.326
+ 2613.109 2036.189 51.000 44.000
+ -10839521.77543 -8405482.74542 23275828.254 23275835.321 23275826.371
+ 1385.390 1079.525 49.000 42.000
+ -19166628.33243 -14884780.13342 21463173.198 21463177.734 21463171.958
+ -2343.307 -1825.953 55.000 48.000
+ -9181551.56043 -7143557.21242 23379005.082 23379010.268 23379003.232
+ -3345.875 -2607.175 47.000 41.000
+ -10922901.52243 -8479886.10742 23166013.222 23166018.650 23166012.503
+ 1340.491 1044.538 49.000 42.000
+ 04 2 1 3 2 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20097613.58243 -15243452.46942 21227749.391 21227753.715 21227748.022
+ 252.548 196.791 56.000 49.000
+ -3529496.80243 -2688443.73342 24015591.673 24015602.081 24015590.571
+ 3771.458 2938.798 43.000 38.000
+ -23151725.72144 -17852897.61642 20919910.007 20919913.564 20919908.430
+ 1352.010 1053.514 57.000 50.000
+ -16260491.56443 -12641098.25142 22882190.820 22882198.329 22882189.898
+ 2607.801 2032.053 50.000 44.000
+ -10881034.59243 -8437830.37342 23267929.305 23267934.488 23267930.227
+ 1381.789 1076.719 50.000 42.000
+ -19096169.49443 -14829877.22242 21476581.489 21476585.732 21476580.094
+ -2354.210 -1834.449 55.000 48.000
+ -9081112.63743 -7065293.19842 23398117.499 23398124.373 23398118.357
+ -3350.695 -2610.931 48.000 41.000
+ -10962961.23743 -8511101.43542 23158389.308 23158395.353 23158389.130
+ 1329.797 1036.205 48.000 42.000
+ 04 2 1 3 2 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20105108.38043 -15249292.58242 21226323.606 21226327.974 21226321.988
+ 248.019 193.262 56.000 49.000
+ -3642561.08043 -2776545.54142 23994075.640 23994085.890 23994075.423
+ 3767.289 2935.550 42.000 38.000
+ -23192159.10444 -17884404.15542 20912215.982 20912219.258 20912214.272
+ 1344.393 1047.579 57.000 50.000
+ -16338625.24643 -12701981.58642 22867323.181 22867330.669 22867321.084
+ 2602.030 2027.556 50.000 44.000
+ -10922420.95443 -8470079.46342 23260053.476 23260057.713 23260052.748
+ 1378.105 1073.848 50.000 42.000
+ -19025369.01843 -14774708.10342 21490054.412 21490059.347 21490053.229
+ -2364.992 -1842.851 55.000 48.000
+ -8980505.72443 -6986898.28442 23417262.980 23417269.362 23417262.670
+ -3355.667 -2614.805 45.000 41.000
+ -11002679.69043 -8542050.84742 23150831.852 23150837.553 23150831.088
+ 1318.903 1027.717 50.000 42.000
+ 04 2 1 3 3 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20112454.85043 -15255017.11642 21224925.209 21224929.565 21224923.925
+ 242.468 188.936 56.000 49.000
+ -3755489.60043 -2864541.56342 23972585.829 23972596.136 23972584.158
+ 3761.779 2931.256 42.000 38.000
+ -23232347.54344 -17915719.83342 20904568.248 20904571.676 20904566.909
+ 1335.430 1040.595 57.000 50.000
+ -16416573.01043 -12762720.04842 22852489.568 22852496.932 22852488.531
+ 2595.191 2022.227 50.000 44.000
+ -10963684.80743 -8502233.11242 23252200.096 23252204.881 23252199.658
+ 1373.477 1070.242 49.000 42.000
+ -18954232.69243 -14719277.29642 21503591.414 21503596.070 21503590.485
+ -2376.782 -1852.038 55.000 48.000
+ -8879736.30243 -6908376.77142 23436438.761 23436445.375 23436439.011
+ -3361.440 -2619.304 46.000 40.000
+ -11042057.35443 -8572734.69042 23143337.993 23143343.669 23143338.222
+ 1307.101 1018.520 49.000 42.000
+ 04 2 1 3 3 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20119653.27343 -15260626.28542 21223555.446 21223559.759 21223553.919
+ 237.970 185.431 56.000 49.000
+ -3868279.53143 -2952429.59342 23951123.185 23951133.472 23951121.693
+ 3757.925 2928.253 42.000 38.000
+ -23272288.59143 -17946842.73942 20896967.615 20896971.120 20896966.259
+ 1327.760 1034.618 56.000 50.000
+ -16494331.08243 -12823310.70042 22837692.870 22837699.908 22837690.952
+ 2589.278 2017.619 50.000 44.000
+ -11004826.55443 -8534291.59942 23244371.636 23244377.124 23244371.470
+ 1369.700 1067.299 49.000 42.000
+ -18882762.61643 -14663586.40242 21517191.634 21517196.210 21517190.686
+ -2387.485 -1860.378 55.000 48.000
+ -8778806.61943 -6829730.35542 23455644.881 23455652.045 23455644.419
+ -3366.299 -2623.090 46.000 41.000
+ -11081091.08343 -8603150.52442 23135910.130 23135916.689 23135908.987
+ 1295.863 1009.763 49.000 42.000
+ 04 2 1 3 4 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20126701.52843 -15266118.43142 21222214.212 21222218.557 21222212.686
+ 232.056 180.823 56.000 49.000
+ -3980925.39643 -3040205.36142 23929686.376 23929696.738 23929685.941
+ 3751.748 2923.440 42.000 38.000
+ -23311976.75943 -17977768.59242 20889414.896 20889418.935 20889413.667
+ 1318.284 1027.234 56.000 50.000
+ -16571892.79643 -12883748.33842 22822932.853 22822940.905 22822931.372
+ 2581.806 2011.797 50.000 44.000
+ -11045843.66143 -8566252.96642 23236567.596 23236571.689 23236567.025
+ 1364.744 1063.437 50.000 42.000
+ -18810957.57443 -14607634.49642 21530855.580 21530860.359 21530854.431
+ -2399.454 -1869.704 55.000 48.000
+ -8677715.94843 -6750958.51042 23474881.556 23474888.589 23474881.265
+ -3372.689 -2628.069 45.000 40.000
+ -11119775.16843 -8633293.91742 23128548.892 23128554.042 23128546.239
+ 1283.326 999.994 49.000 42.000
+ 04 2 1 3 4 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20133605.61543 -15271498.25142 21220900.261 21220904.722 21220898.978
+ 227.337 177.146 56.000 49.000
+ -4093429.71643 -3127870.83942 23908276.926 23908287.097 23908275.859
+ 3747.107 2919.824 42.000 38.000
+ -23351415.09143 -18008499.77042 20881910.371 20881913.568 20881908.672
+ 1309.916 1020.714 56.000 50.000
+ -16649259.43343 -12944033.98542 22808210.133 22808217.161 22808208.692
+ 2575.235 2006.677 50.000 44.000
+ -11086741.87943 -8598121.66942 23228784.405 23228789.624 23228782.749
+ 1360.800 1060.364 49.000 42.000
+ -18738826.18843 -14551428.30242 21544581.578 21544586.543 21544580.796
+ -2410.283 -1878.142 55.000 48.000
+ -8576471.55343 -6672066.86842 23494149.099 23494154.299 23494148.285
+ -3377.891 -2632.123 46.000 41.000
+ -11158112.15143 -8663166.85442 23121253.942 23121258.131 23121252.975
+ 1271.329 990.646 50.000 42.000
+ 04 2 1 3 5 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20140361.89143 -15276762.89242 21219614.385 21219619.455 21219613.381
+ 223.436 174.106 56.000 49.000
+ -4205785.64943 -3215420.69542 23886897.334 23886907.587 23886894.625
+ 3743.414 2916.946 43.000 38.000
+ -23390596.95243 -18039031.10742 20874454.153 20874457.780 20874452.676
+ 1302.520 1014.951 56.000 50.000
+ -16726423.41043 -13004161.69842 22793525.987 22793534.930 22793524.569
+ 2569.430 2002.153 50.000 44.000
+ -11127517.60243 -8629894.93142 23221024.140 23221030.199 23221023.728
+ 1357.814 1058.037 49.000 42.000
+ -18666365.97143 -14494965.88442 21558370.687 21558375.652 21558369.901
+ -2420.139 -1885.822 55.000 48.000
+ -8475071.76643 -6593054.16542 23513444.367 23513450.142 23513442.371
+ -3381.955 -2635.290 45.000 40.000
+ -11196094.75443 -8692763.65742 23114025.794 23114030.058 23114023.964
+ 1260.926 982.540 49.000 42.000
+ 04 2 1 3 5 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20146975.70743 -15281916.52142 21218355.649 21218360.756 21218354.452
+ 218.419 170.197 55.000 49.000
+ -4317995.10843 -3302856.41142 23865543.573 23865555.007 23865543.324
+ 3738.262 2912.931 43.000 38.000
+ -23429524.39143 -18069364.18942 20867046.605 20867050.249 20867045.142
+ 1293.506 1007.927 56.000 50.000
+ -16803385.82243 -13064132.35142 22778880.902 22778889.330 22778879.973
+ 2562.503 1996.756 51.000 45.000
+ -11168176.07543 -8661576.84342 23213288.352 23213291.971 23213287.835
+ 1353.613 1054.763 50.000 43.000
+ -18593584.10543 -14438252.82442 21572221.127 21572225.338 21572219.868
+ -2431.107 -1894.369 55.000 48.000
+ -8373523.61143 -6513925.81542 23532767.897 23532773.817 23532766.068
+ -3387.190 -2639.369 45.000 40.000
+ -11233724.59343 -8722085.56642 23106864.714 23106871.365 23106864.197
+ 1248.994 973.242 50.000 42.000
+ 04 2 1 3 6 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20153445.62043 -15286958.02142 21217125.317 21217129.428 21217123.848
+ 213.179 166.113 56.000 49.000
+ -4430053.29543 -3390174.26942 23844221.067 23844229.799 23844220.072
+ 3732.347 2908.322 43.000 38.000
+ -23468192.69943 -18099495.34742 20859688.300 20859691.896 20859686.944
+ 1284.369 1000.807 56.000 50.000
+ -16880140.60143 -13123941.19042 22764275.434 22764283.328 22764273.667
+ 2554.821 1990.770 51.000 45.000
+ -11208715.51943 -8693165.98642 23205573.228 23205578.194 23205573.418
+ 1349.188 1051.315 49.000 42.000
+ -18520480.93743 -14381289.39842 21586131.927 21586136.113 21586130.903
+ -2442.198 -1903.011 55.000 48.000
+ -8271827.22143 -6434681.96742 23552119.183 23552126.225 23552118.489
+ -3392.597 -2643.582 45.000 40.000
+ -11270996.63943 -8751128.67142 23099772.707 23099778.920 23099771.611
+ 1236.446 963.464 50.000 43.000
+ 04 2 1 3 6 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20159772.72943 -15291888.24742 21215921.001 21215925.176 21215919.602
+ 208.483 162.454 56.000 49.000
+ -4541957.94343 -3477372.47242 23822927.672 23822935.511 23822925.165
+ 3727.584 2904.611 44.000 39.000
+ -23506599.98943 -18129423.12042 20852379.656 20852383.482 20852378.446
+ 1275.801 994.131 56.000 50.000
+ -16956684.57243 -13183585.78642 22749709.244 22749717.277 22749707.157
+ 2547.749 1985.259 51.000 45.000
+ -11249137.05643 -8724663.28442 23197880.598 23197886.331 23197880.703
+ 1345.503 1048.444 49.000 42.000
+ -18447059.14543 -14324077.69342 21600103.786 21600108.166 21600102.642
+ -2452.605 -1911.121 55.000 48.000
+ -8169985.20543 -6355324.64142 23571499.981 23571506.495 23571498.738
+ -3397.102 -2647.092 46.000 40.000
+ -11307908.48843 -8779891.12842 23092747.725 23092754.134 23092748.089
+ 1224.020 953.782 49.000 43.000
+ 04 2 1 3 7 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20165958.75843 -15296708.53642 21214743.443 21214748.352 21214742.021
+ 203.777 158.787 55.000 49.000
+ -4653707.54343 -3564449.87342 23801660.854 23801669.921 23801660.124
+ 3722.052 2900.300 45.000 39.000
+ -23544744.71143 -18159146.29442 20845120.915 20845124.683 20845119.361
+ 1266.974 987.252 56.000 50.000
+ -17033014.98543 -13243063.96742 22735183.835 22735191.585 22735182.932
+ 2540.533 1979.636 51.000 45.000
+ -11289442.23343 -8756069.89242 23190212.667 23190217.014 23190211.515
+ 1341.502 1045.326 50.000 43.000
+ -18373322.23943 -14266620.45042 21614134.975 21614139.829 21614133.967
+ -2463.280 -1919.439 54.000 47.000
+ -8068000.80443 -6275856.37442 23590906.329 23590913.275 23590905.315
+ -3402.153 -2651.028 44.000 39.000
+ -11344458.43743 -8808371.56342 23085792.111 23085797.849 23085791.552
+ 1212.141 944.525 49.000 42.000
+ 04 2 1 3 7 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20172007.36143 -15301421.74542 21213592.183 21213597.197 21213591.401
+ 198.823 154.927 55.000 49.000
+ -4765302.38143 -3651406.69842 23780424.203 23780433.494 23780424.042
+ 3716.617 2896.065 45.000 39.000
+ -23582627.60643 -18188665.44742 20837911.968 20837915.787 20837910.559
+ 1257.962 980.230 56.000 50.000
+ -17109131.06843 -13302375.13142 22720699.833 22720706.658 22720698.177
+ 2532.993 1973.761 51.000 45.000
+ -11329634.41843 -8787388.45442 23182563.827 23182568.261 23182562.752
+ 1337.501 1042.208 50.000 42.000
+ -18299275.50343 -14208921.77742 21628225.983 21628230.847 21628224.805
+ -2473.848 -1927.674 54.000 47.000
+ -7965878.96943 -6196281.00842 23610341.044 23610345.949 23610339.252
+ -3406.775 -2654.630 47.000 39.000
+ -11380646.57643 -8836570.09742 23078905.965 23078913.126 23078904.162
+ 1199.887 934.977 50.000 43.000
+ 04 2 1 3 8 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20177914.34043 -15306024.59242 21212468.812 21212472.995 21212467.466
+ 194.730 151.738 56.000 49.000
+ -4876735.07343 -3738237.16442 23759220.151 23759228.408 23759218.899
+ 3712.028 2892.489 46.000 39.000
+ -23620241.29343 -18217974.82542 20830754.043 20830758.083 20830752.806
+ 1249.544 973.671 56.000 50.000
+ -17185024.36943 -13361512.70742 22706256.751 22706264.711 22706255.307
+ 2526.360 1968.592 50.000 44.000
+ -11369709.30543 -8818615.62942 23174937.701 23174941.715 23174935.777
+ 1334.256 1039.680 50.000 42.000
+ -18224916.43643 -14150979.73942 21642376.364 21642381.273 21642374.986
+ -2483.615 -1935.284 55.000 48.000
+ -7863617.42443 -6116596.75542 23629799.810 23629807.332 23629798.963
+ -3410.655 -2657.653 46.000 38.000
+ -11416465.20643 -8864480.68442 23072090.095 23072096.799 23072089.878
+ 1188.208 925.876 49.000 43.000
+ 04 2 1 3 8 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20183681.56343 -15310518.54642 21211371.065 21211375.892 21211369.818
+ 189.491 147.655 55.000 49.000
+ -4988004.27043 -3824940.22942 23738047.152 23738054.159 23738044.666
+ 3705.804 2887.639 45.000 39.000
+ -23657584.69943 -18247073.59242 20823648.059 20823651.932 20823646.579
+ 1239.778 966.061 56.000 50.000
+ -17260692.46343 -13420474.78542 22691857.612 22691865.975 22691856.235
+ 2517.747 1961.881 51.000 44.000
+ -11409668.87243 -8849752.93342 23167333.599 23167339.247 23167332.583
+ 1329.636 1036.080 50.000 42.000
+ -18150248.92743 -14092797.35642 21656585.473 21656590.285 21656584.600
+ -2494.405 -1943.692 55.000 48.000
+ -7761219.64843 -6036806.36342 23649286.606 23649291.275 23649286.009
+ -3415.866 -2661.714 47.000 39.000
+ -11451912.71943 -8892102.11742 23065344.102 23065350.122 23065343.320
+ 1174.717 915.364 49.000 42.000
+ 04 2 1 3 9 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20189313.41643 -15314907.01542 21210298.758 21210303.871 21210298.024
+ 185.231 144.336 55.000 49.000
+ -5099111.11443 -3911516.75942 23716902.998 23716912.178 23716901.388
+ 3700.524 2883.525 44.000 40.000
+ -23694659.04543 -18275962.71242 20816593.164 20816596.989 20816591.486
+ 1231.072 959.277 56.000 50.000
+ -17336135.30243 -13479261.35342 22677502.160 22677508.872 22677501.011
+ 2510.897 1956.543 51.000 45.000
+ -11449517.40443 -8880803.72542 23159749.737 23159755.453 23159747.724
+ 1326.063 1033.296 49.000 42.000
+ -18075279.13543 -14034379.42442 21670851.272 21670856.576 21670849.864
+ -2504.364 -1951.452 54.000 48.000
+ -7658691.66043 -5956914.50942 23668797.190 23668801.690 23668797.631
+ -3419.855 -2664.822 46.000 39.000
+ -11486990.35743 -8919435.31842 23058668.398 23058674.797 23058667.653
+ 1162.848 906.115 49.000 42.000
+ 04 2 1 3 9 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20194807.78143 -15319188.35142 21209253.557 21209258.493 21209252.630
+ 180.584 140.715 55.000 49.000
+ -5210050.13043 -3997962.53642 23695791.240 23695800.822 23695789.628
+ 3694.981 2879.206 45.000 40.000
+ -23731459.00743 -18304638.02142 20809590.498 20809594.086 20809588.842
+ 1221.821 952.068 56.000 51.000
+ -17411346.46943 -13537867.38842 22663189.608 22663197.043 22663188.435
+ 2503.041 1950.421 52.000 45.000
+ -11489252.54943 -8911766.17142 23152189.591 23152194.245 23152187.388
+ 1322.322 1030.381 50.000 42.000
+ -18000006.30743 -13975725.36342 21685175.202 21685179.839 21685174.734
+ -2514.462 -1959.321 55.000 47.000
+ -7556032.70643 -5876920.61142 23688332.336 23688337.251 23688332.479
+ -3424.245 -2668.243 46.000 39.000
+ -11521692.25843 -8946475.75742 23052066.275 23052070.918 23052065.588
+ 1150.251 896.299 50.000 42.000
+ 04 2 1 3 10 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20200169.85643 -15323366.59942 21208233.580 21208238.181 21208232.057
+ 175.875 137.045 55.000 49.000
+ -5320823.13443 -4084278.96742 23674711.402 23674721.078 23674710.931
+ 3689.026 2874.566 45.000 39.000
+ -23767986.80343 -18333101.26042 20802639.420 20802643.278 20802638.026
+ 1212.378 944.710 56.000 51.000
+ -17486326.87043 -13596293.60942 22648920.739 22648929.379 22648919.679
+ 2494.861 1944.047 50.000 45.000
+ -11528879.29143 -8942644.14842 23144647.993 23144652.660 23144647.452
+ 1318.540 1027.434 49.000 42.000
+ -17924437.61743 -13916840.76242 21699555.860 21699560.572 21699554.588
+ -2524.493 -1967.137 54.000 47.000
+ -7453249.39843 -5796829.78542 23707891.456 23707896.580 23707890.207
+ -3428.772 -2671.770 47.000 39.000
+ -11556019.98843 -8973224.61742 23045533.864 23045539.025 23045532.726
+ 1137.285 886.196 50.000 42.000
+ 04 2 1 3 10 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20205395.84443 -15327438.81142 21207239.157 21207243.810 21207237.829
+ 171.420 133.574 55.000 49.000
+ -5431423.18143 -4170460.63742 23653664.611 23653674.107 23653663.952
+ 3683.293 2870.098 45.000 39.000
+ -23804235.54243 -18361347.04242 20795741.327 20795745.249 20795740.038
+ 1203.020 937.418 56.000 51.000
+ -17561068.32743 -13654533.63042 22634698.198 22634706.318 22634696.405
+ 2486.894 1937.839 51.000 45.000
+ -11568393.79543 -8973434.64942 23137128.515 23137132.972 23137128.823
+ 1314.614 1024.374 49.000 42.000
+ -17848571.52043 -13857724.42042 21713992.896 21713997.583 21713991.709
+ -2534.399 -1974.856 54.000 47.000
+ -7350339.42643 -5716640.29542 23727475.082 23727479.320 23727472.341
+ -3433.095 -2675.139 47.000 39.000
+ -11589966.53643 -8999676.47642 23039073.386 23039079.657 23039073.118
+ 1124.584 876.299 50.000 42.000
+ 04 2 1 3 11 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20210486.40743 -15331405.49442 21206269.930 21206274.840 21206268.820
+ 167.914 130.842 55.000 49.000
+ -5541847.58843 -4256505.45442 23632650.366 23632661.448 23632649.364
+ 3678.207 2866.135 45.000 39.000
+ -23840202.81943 -18389373.50942 20788897.000 20788900.941 20788895.490
+ 1194.637 930.886 56.000 51.000
+ -17635567.25143 -13712584.67442 22620521.550 22620529.311 22620519.971
+ 2479.606 1932.161 51.000 45.000
+ -11607796.73943 -9004138.21342 23129631.022 23129634.684 23129630.344
+ 1312.025 1022.357 50.000 42.000
+ -17772410.34943 -13798378.14742 21728485.619 21728490.760 21728484.739
+ -2543.156 -1981.680 54.000 47.000
+ -7247305.49043 -5636354.18942 23747081.203 23747087.767 23747079.537
+ -3436.083 -2677.467 46.000 39.000
+ -11623529.39243 -9025829.32242 23032686.338 23032693.103 23032685.740
+ 1112.771 867.094 50.000 43.000
+ 04 2 1 3 11 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20215448.85243 -15335272.34242 21205326.168 21205330.906 21205324.439
+ 163.171 127.146 56.000 49.000
+ -5652100.55943 -4342416.70242 23611671.685 23611679.254 23611669.567
+ 3672.158 2861.422 45.000 39.000
+ -23875892.70944 -18417183.82642 20782105.733 20782109.301 20782104.118
+ 1185.057 923.421 57.000 51.000
+ -17709826.59143 -13770449.03142 22606391.033 22606397.992 22606389.068
+ 2471.403 1925.768 52.000 46.000
+ -11647095.20043 -9034760.37642 23122152.660 23122157.771 23122152.420
+ 1308.173 1019.356 50.000 42.000
+ -17695962.68543 -13738808.62942 21743033.604 21743038.279 21743032.457
+ -2553.110 -1989.436 54.000 47.000
+ -7144156.37443 -5555978.35042 23766708.802 23766716.638 23766709.521
+ -3440.292 -2680.747 46.000 39.000
+ -11656712.38943 -9051686.18842 23026371.829 23026379.669 23026371.290
+ 1099.820 857.003 49.000 43.000
+ 04 2 1 3 12 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20220277.82143 -15339035.18342 21204407.043 21204411.386 21204405.641
+ 158.300 123.351 56.000 49.000
+ -5762173.54743 -4428187.70142 23590725.010 23590733.814 23590723.886
+ 3665.639 2856.342 46.000 39.000
+ -23911296.95343 -18444771.56642 20775368.370 20775372.205 20775366.976
+ 1175.063 915.634 56.000 51.000
+ -17783836.71543 -13828119.21042 22592307.474 22592314.547 22592306.297
+ 2462.406 1918.758 53.000 46.000
+ -11686283.97043 -9065297.07642 23114694.265 23114699.239 23114694.153
+ 1304.181 1016.245 49.000 42.000
+ -17619224.84343 -13679013.00542 21757636.333 21757641.134 21757635.526
+ -2563.142 -1997.253 54.000 47.000
+ -7040888.07643 -5475509.64242 23786361.626 23786367.192 23786360.559
+ -3444.772 -2684.238 46.000 39.000
+ -11689506.75343 -9077240.21842 23020132.089 23020138.038 23020130.156
+ 1086.386 846.535 49.000 43.000
+ 04 2 1 3 12 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20224979.52043 -15342698.85842 21203512.614 21203517.409 21203511.257
+ 154.347 120.270 56.000 49.000
+ -5872069.45443 -4513820.71442 23569812.169 23569820.900 23569810.910
+ 3659.775 2851.773 45.000 40.000
+ -23946418.76443 -18472139.23342 20768685.221 20768688.843 20768683.650
+ 1165.654 908.302 56.000 51.000
+ -17857599.58143 -13885596.72542 22578270.605 22578277.807 22578269.465
+ 2454.273 1912.421 53.000 46.000
+ -11725368.94943 -9095752.88342 23107257.715 23107261.523 23107257.491
+ 1300.823 1013.628 49.000 42.000
+ -17542205.44143 -13618997.98342 21772291.897 21772296.848 21772290.988
+ -2572.298 -2004.388 54.000 47.000
+ -6937508.43643 -5394954.20142 23806034.280 23806040.199 23806032.927
+ -3448.108 -2686.837 47.000 39.000
+ -11721915.48643 -9102493.75042 23013964.549 23013970.358 23013962.995
+ 1073.296 836.335 49.000 43.000
+ 04 2 1 3 13 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20229550.75743 -15346260.87342 21202642.018 21202647.108 21202641.087
+ 149.482 116.479 55.000 49.000
+ -5981781.85743 -4599310.73942 23548933.624 23548944.028 23548932.777
+ 3653.074 2846.551 45.000 40.000
+ -23981251.77043 -18499281.85742 20762056.402 20762060.383 20762054.854
+ 1155.606 900.472 56.000 51.000
+ -17931107.62143 -13942875.67042 22564282.227 22564289.066 22564280.946
+ 2445.280 1905.413 52.000 46.000
+ -11764347.17143 -9126125.51042 23099840.111 23099845.170 23099840.494
+ 1296.815 1010.505 50.000 42.000
+ -17464903.19143 -13558762.55842 21787002.695 21787007.234 21787001.433
+ -2582.103 -2012.028 54.000 47.000
+ -6834016.00643 -5314310.83042 23825728.605 23825733.568 23825727.114
+ -3452.117 -2689.961 46.000 39.000
+ -11753932.05243 -9127441.70042 23007872.838 23007878.945 23007870.540
+ 1059.955 825.939 50.000 42.000
+ 04 2 1 3 13 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20233992.28943 -15349721.81742 21201797.077 21201802.210 21201796.042
+ 146.152 113.885 55.000 49.000
+ -6091308.31143 -4684655.87742 23528090.712 23528100.462 23528090.575
+ 3648.188 2842.744 46.000 40.000
+ -24015793.77243 -18526197.72942 20755483.058 20755487.181 20755481.711
+ 1146.830 893.634 56.000 51.000
+ -18004357.10143 -13999953.13942 22550343.538 22550350.190 22550342.131
+ 2437.649 1899.467 52.000 45.000
+ -11803219.05443 -9156415.27242 23092442.210 23092446.661 23092442.226
+ 1294.206 1008.472 49.000 42.000
+ -17387320.43043 -13498308.55942 21801765.800 21801771.377 21801765.327
+ -2590.513 -2018.581 54.000 47.000
+ -6730412.79443 -5233581.16142 23845442.316 23845448.483 23845441.721
+ -3454.899 -2692.129 45.000 39.000
+ -11785553.89343 -9152082.06842 23001854.357 23001861.180 23001853.867
+ 1047.663 816.361 49.000 42.000
+ 04 2 1 3 14 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20238307.05143 -15353083.98442 21200976.195 21200980.801 21200974.639
+ 142.087 110.717 55.000 49.000
+ -6200648.51843 -4769855.89142 23507284.205 23507294.815 23507283.718
+ 3641.669 2837.664 45.000 40.000
+ -24050044.52143 -18552886.64642 20748965.534 20748969.596 20748964.179
+ 1136.995 885.970 56.000 51.000
+ -18077346.76943 -14056828.16442 22536453.229 22536461.080 22536452.089
+ 2428.865 1892.622 51.000 45.000
+ -11841987.51643 -9186624.43742 23085065.199 23085069.153 23085063.917
+ 1290.819 1005.833 49.000 42.000
+ -17309461.66643 -13437639.49742 21816582.461 21816587.247 21816581.007
+ -2599.548 -2025.622 54.000 47.000
+ -6626703.17343 -5152768.57542 23865178.410 23865186.199 23865177.513
+ -3458.783 -2695.155 45.000 39.000
+ -11816780.55143 -9176414.52342 22995912.166 22995917.424 22995911.422
+ 1034.390 806.018 49.000 42.000
+ 04 2 1 3 14 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20242498.33243 -15356349.93142 21200178.217 21200183.353 21200177.066
+ 137.952 107.495 55.000 49.000
+ -6309802.80543 -4854911.03342 23486513.777 23486521.796 23486511.728
+ 3635.630 2832.958 46.000 40.000
+ -24084004.45343 -18579348.94642 20742503.314 20742506.994 20742501.993
+ 1127.377 878.476 56.000 51.000
+ -18150075.86543 -14113500.13742 22522613.003 22522620.756 22522613.220
+ 2420.108 1885.798 51.000 45.000
+ -11880655.69243 -9216755.46042 23077706.330 23077712.320 23077705.081
+ 1287.402 1003.170 49.000 42.000
+ -17231332.76343 -13376759.92542 21831450.004 21831454.537 21831448.643
+ -2608.642 -2032.708 54.000 47.000
+ -6522892.42043 -5071877.17742 23884933.556 23884939.586 23884932.416
+ -3461.645 -2697.386 46.000 39.000
+ -11847612.41143 -9200439.32842 22990045.222 22990050.778 22990043.180
+ 1021.306 795.823 49.000 42.000
+ 04 2 1 3 15 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20246560.92943 -15359515.60842 21199405.170 21199410.387 21199404.295
+ 132.941 103.590 55.000 49.000
+ -6418762.45643 -4939814.51042 23465780.676 23465787.894 23465777.269
+ 3628.173 2827.148 47.000 40.000
+ -24117665.39843 -18605578.27842 20736097.861 20736101.808 20736096.484
+ 1116.525 870.019 56.000 51.000
+ -18222534.91943 -14169961.69242 22508825.108 22508832.281 22508824.580
+ 2410.300 1878.156 52.000 45.000
+ -11919218.40543 -9246804.31642 23070368.299 23070374.337 23070366.992
+ 1283.370 1000.029 49.000 42.000
+ -17152930.11943 -13315667.05842 21846369.724 21846374.617 21846368.402
+ -2618.475 -2040.370 54.000 47.000
+ -6418976.50743 -4990903.83742 23904707.710 23904716.075 23904706.526
+ -3465.882 -2700.687 46.000 38.000
+ -11878040.86143 -9224149.77542 22984254.375 22984261.404 22984253.554
+ 1006.966 784.649 49.000 42.000
+ 04 2 1 3 15 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20250500.78343 -15362585.62942 21198655.580 21198661.098 21198655.045
+ 128.996 100.516 55.000 49.000
+ -6527530.40243 -5024568.60442 23445081.017 23445089.575 23445079.645
+ 3622.010 2822.345 46.000 40.000
+ -24151030.05843 -18631576.74042 20729748.820 20729752.799 20729747.369
+ 1106.808 862.448 56.000 51.000
+ -18294725.54243 -14226214.08842 22495087.833 22495095.486 22495086.381
+ 2401.430 1871.244 52.000 45.000
+ -11957681.58943 -9276775.60642 23063049.449 23063054.610 23063049.520
+ 1280.119 997.495 49.000 42.000
+ -17074261.81343 -13254367.17742 21861339.985 21861344.685 21861338.343
+ -2626.959 -2046.981 54.000 47.000
+ -6314963.38643 -4909854.73942 23924500.416 23924507.991 23924500.525
+ -3469.212 -2703.282 44.000 38.000
+ -11908068.48843 -9247547.92042 22978540.377 22978547.526 22978539.122
+ 993.876 774.449 49.000 42.000
+ 04 2 1 3 16 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20254315.80843 -15365558.39142 21197929.905 21197934.583 21197928.683
+ 125.007 97.408 55.000 49.000
+ -6636101.42543 -5109169.26542 23424420.588 23424429.639 23424419.095
+ 3615.908 2817.591 46.000 40.000
+ -24184093.46043 -18657340.45542 20723456.957 20723460.864 20723455.604
+ 1097.023 854.823 56.000 51.000
+ -18366641.19743 -14282252.23442 22481401.968 22481409.342 22481400.755
+ 2392.543 1864.319 52.000 45.000
+ -11996043.12543 -9306667.70642 23055749.328 23055755.579 23055748.846
+ 1276.959 995.033 50.000 42.000
+ -16995327.16543 -13192859.76142 21876360.357 21876365.620 21876359.218
+ -2635.592 -2053.708 54.000 47.000
+ -6210852.36043 -4828729.34242 23944312.512 23944319.934 23944311.997
+ -3472.093 -2705.527 44.000 38.000
+ -11937690.11143 -9270629.69242 22972904.070 22972909.516 22972902.960
+ 980.611 764.112 50.000 43.000
+ 04 2 1 3 16 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20258011.15543 -15368437.90542 21197226.449 21197231.905 21197225.690
+ 120.888 94.198 55.000 49.000
+ -6744477.34443 -5193617.88242 23403797.807 23403806.985 23403796.429
+ 3609.045 2812.243 46.000 40.000
+ -24216857.57343 -18682870.95742 20717222.115 20717225.975 20717220.786
+ 1086.818 846.871 56.000 51.000
+ -18438282.83943 -14338076.86542 22467770.870 22467776.723 22467768.943
+ 2383.188 1857.030 53.000 46.000
+ -12034308.03343 -9336484.51642 23048467.726 23048472.989 23048468.630
+ 1273.634 992.442 49.000 42.000
+ -16916133.46643 -13131150.48842 21891430.877 21891435.388 21891429.411
+ -2644.432 -2060.596 54.000 47.000
+ -6106649.68343 -4747532.53542 23964142.834 23964147.653 23964142.157
+ -3475.287 -2708.016 44.000 38.000
+ -11966907.67243 -9293396.62942 22967344.372 22967350.487 22967343.044
+ 966.949 753.467 50.000 43.000
+ 04 2 1 3 17 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20261584.86343 -15371222.63242 21196546.742 21196551.143 21196545.465
+ 117.265 91.375 56.000 49.000
+ -6852653.02243 -5277910.48242 23383211.905 23383220.701 23383211.470
+ 3602.396 2807.062 46.000 40.000
+ -24249317.62543 -18708164.52942 20711045.578 20711049.158 20711044.201
+ 1077.043 839.254 56.000 51.000
+ -18509644.32643 -14393683.18042 22454190.138 22454197.603 22454188.607
+ 2374.196 1850.023 52.000 46.000
+ -12072474.20143 -9366224.36742 23041205.680 23041210.189 23041205.070
+ 1270.853 990.275 50.000 42.000
+ -16836680.63043 -13069239.29142 21906549.627 21906554.742 21906548.871
+ -2652.605 -2066.965 54.000 47.000
+ -6002355.07143 -4666264.11642 23983986.568 23983996.636 23983986.884
+ -3477.841 -2710.006 43.000 38.000
+ -11995716.14243 -9315844.79242 22961862.352 22961868.110 22961861.051
+ 953.627 743.086 50.000 43.000
+ 04 2 1 3 17 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20265037.71443 -15373913.18242 21195889.395 21195894.379 21195888.241
+ 113.630 88.543 55.000 49.000
+ -6960626.50843 -5362045.53342 23362666.697 23362673.614 23362665.137
+ 3596.133 2802.182 47.000 40.000
+ -24281471.48543 -18733219.50742 20704926.616 20704930.718 20704925.055
+ 1067.262 831.633 56.000 51.000
+ -18580722.41343 -14449068.65942 22440664.140 22440671.399 22440663.212
+ 2365.071 1842.912 53.000 46.000
+ -12110542.85143 -9395888.25342 23033961.057 23033966.281 23033960.797
+ 1267.988 988.043 50.000 43.000
+ -16756971.41443 -13007128.32642 21921718.968 21921723.140 21921717.686
+ -2660.669 -2073.248 54.000 47.000
+ -5897971.31043 -4584926.24942 24003850.547 24003859.513 24003850.169
+ -3480.667 -2712.208 42.000 38.000
+ -12024113.34543 -9337972.47342 22956457.677 22956464.123 22956457.276
+ 940.084 732.533 49.000 42.000
+ 04 2 1 3 18 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20268369.44543 -15376509.35642 21195255.552 21195260.465 21195254.345
+ 109.110 85.021 55.000 49.000
+ -7068394.12443 -5446020.15842 23342158.532 23342166.600 23342157.585
+ 3588.841 2796.499 47.000 40.000
+ -24313315.95843 -18758033.40942 20698866.551 20698870.727 20698865.304
+ 1056.365 823.141 56.000 51.000
+ -18651512.36343 -14504229.61442 22427193.493 22427200.579 22427192.082
+ 2354.862 1834.957 53.000 46.000
+ -12148513.53843 -9425475.79242 23026736.589 23026740.706 23026734.516
+ 1264.223 985.109 50.000 43.000
+ -16677007.65343 -12944819.00442 21936935.432 21936939.780 21936934.434
+ -2669.593 -2080.202 54.000 46.000
+ -5793499.22643 -4503519.57542 24023730.351 24023741.007 24023729.881
+ -3483.649 -2714.532 43.000 38.000
+ -12052095.68743 -9359776.89142 22951133.489 22951138.861 22951132.009
+ 925.886 721.470 49.000 42.000
+ 04 2 1 3 18 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20271582.26043 -15379012.86742 21194644.653 21194648.996 21194643.028
+ 104.589 81.498 56.000 49.000
+ -7175954.96343 -5529833.64542 23321690.098 23321698.607 23321690.067
+ 3581.361 2790.671 47.000 41.000
+ -24344850.07943 -18782605.47242 20692866.535 20692869.979 20692864.732
+ 1045.450 814.636 56.000 51.000
+ -18722012.23243 -14559164.53942 22413777.992 22413785.528 22413776.824
+ 2344.580 1826.945 53.000 46.000
+ -12186388.21843 -9454988.50242 23019527.472 23019532.483 23019527.958
+ 1260.385 982.118 50.000 43.000
+ -16596793.46343 -12882314.55242 21952198.973 21952204.243 21952197.851
+ -2678.454 -2087.107 53.000 46.000
+ -5688942.32443 -4422046.74842 24043628.957 24043635.802 24043627.632
+ -3487.106 -2717.225 42.000 38.000
+ -12079662.31143 -9381257.37442 22945887.248 22945894.382 22945886.139
+ 911.402 710.183 49.000 42.000
+ 04 2 1 3 19 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20274681.01143 -15381427.49442 21194054.523 21194059.687 21194053.570
+ 101.117 78.792 56.000 49.000
+ -7283310.82243 -5613487.43542 23301259.667 23301267.849 23301259.356
+ 3574.802 2785.560 47.000 41.000
+ -24376075.81043 -18806937.23042 20686924.179 20686928.074 20686922.670
+ 1035.491 806.876 56.000 51.000
+ -18792222.61643 -14613873.89142 22400417.497 22400424.403 22400415.865
+ 2335.256 1819.680 53.000 46.000
+ -12224171.84243 -9484430.27442 23012337.757 23012342.789 23012338.931
+ 1257.698 980.024 50.000 43.000
+ -16516335.21543 -12819619.92742 21967510.277 21967515.681 21967508.836
+ -2686.228 -2093.165 54.000 46.000
+ -5584307.62643 -4340513.33242 24063539.713 24063548.726 24063538.670
+ -3489.600 -2719.169 43.000 38.000
+ -12106815.16343 -9402415.44142 22940719.714 22940727.278 22940719.733
+ 897.907 699.668 49.000 42.000
+ 04 2 1 3 19 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20277659.54843 -15383748.44742 21193487.706 21193492.612 21193486.141
+ 96.735 75.378 56.000 49.000
+ -7390452.57043 -5696974.36542 23280871.640 23280879.693 23280871.913
+ 3567.063 2779.530 47.000 40.000
+ -24406984.18043 -18831021.69242 20681042.641 20681046.373 20681041.151
+ 1024.454 798.276 56.000 51.000
+ -18862133.20543 -14668349.65442 22387113.365 22387120.814 22387112.646
+ 2324.791 1811.525 53.000 46.000
+ -12261858.14743 -9513796.21042 23005167.135 23005170.674 23005167.682
+ 1253.944 977.099 50.000 43.000
+ -16435628.97643 -12756732.05942 21982868.370 21982872.977 21982867.300
+ -2694.821 -2099.860 54.000 46.000
+ -5479590.03543 -4258915.32342 24083466.542 24083476.234 24083466.175
+ -3492.674 -2721.564 42.000 38.000
+ -12133544.91943 -9423243.80342 22935633.111 22935639.376 22935632.323
+ 883.481 688.427 49.000 42.000
+ 04 2 1 3 20 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20280523.44743 -15385980.08242 21192942.734 21192947.427 21192941.789
+ 93.247 72.660 55.000 49.000
+ -7497382.67243 -5780296.38042 23260523.909 23260532.254 23260521.866
+ 3560.454 2774.380 46.000 40.000
+ -24437577.65143 -18854860.78342 20675220.924 20675224.789 20675219.440
+ 1014.213 790.296 56.000 51.000
+ -18931745.46743 -14722592.94742 22373866.870 22373873.327 22373865.621
+ 2315.170 1804.028 53.000 46.000
+ -12299452.94943 -9543090.84342 22998011.843 22998018.707 22998011.293
+ 1251.304 975.042 50.000 43.000
+ -16354682.48943 -12693656.99542 21998271.722 21998277.117 21998270.442
+ -2702.529 -2105.867 54.000 46.000
+ -5374796.59243 -4177258.20142 24103409.062 24103417.990 24103408.521
+ -3494.500 -2722.987 42.000 37.000
+ -12159854.28043 -9443744.62242 22930627.541 22930634.801 22930626.113
+ 869.622 677.628 49.000 43.000
+ 04 2 1 3 20 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20283272.67443 -15388122.35642 21192419.380 21192424.565 21192418.612
+ 89.050 69.390 56.000 49.000
+ -7604097.99443 -5863451.04342 23240216.442 23240224.770 23240215.878
+ 3553.001 2768.572 45.000 40.000
+ -24467853.29443 -18878452.21842 20669459.281 20669463.432 20669457.945
+ 1003.202 781.716 56.000 51.000
+ -19001055.12543 -14776600.46042 22360677.886 22360684.091 22360677.373
+ 2304.581 1795.777 53.000 46.000
+ -12336955.91143 -9572313.91342 22990875.919 22990879.430 22990874.387
+ 1247.848 972.349 50.000 43.000
+ -16273497.61743 -12630396.17342 22013720.966 22013725.933 22013719.621
+ -2710.645 -2112.191 53.000 46.000
+ -5269929.05743 -4095543.36942 24123365.539 24123371.867 24123364.229
+ -3497.561 -2725.372 42.000 38.000
+ -12185740.03543 -9463915.34642 22925702.131 22925707.755 22925699.622
+ 855.190 666.382 50.000 43.000
+ 04 2 1 3 21 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20285909.46743 -15390177.01742 21191918.321 21191922.393 21191916.903
+ 86.413 67.335 56.000 49.000
+ -7710597.82143 -5946437.76142 23219949.157 23219957.943 23219948.444
+ 3546.744 2763.697 46.000 40.000
+ -24497810.74743 -18901795.70942 20663758.635 20663762.853 20663757.148
+ 993.671 774.289 56.000 51.000
+ -19070060.35343 -14830370.74442 22347546.395 22347553.308 22347545.234
+ 2295.683 1788.844 53.000 46.000
+ -12374369.55743 -9601467.40042 22983756.335 22983760.930 22983756.161
+ 1246.036 970.937 51.000 43.000
+ -16192078.57943 -12566952.88342 22029213.612 22029219.502 22029212.800
+ -2717.490 -2117.525 53.000 46.000
+ -5164991.41943 -4013773.88942 24143335.644 24143341.876 24143334.129
+ -3498.588 -2726.172 44.000 38.000
+ -12211201.63743 -9483755.54042 22920856.103 22920862.294 22920854.695
+ 842.125 656.201 49.000 43.000
+ 04 2 1 3 21 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20288431.23343 -15392142.04842 21191438.296 21191442.467 21191437.055
+ 82.284 64.117 56.000 49.000
+ -7816876.36843 -6029252.06942 23199724.401 23199735.319 23199724.950
+ 3539.007 2757.668 46.000 40.000
+ -24527444.23543 -18924886.75842 20658119.332 20658123.563 20658118.004
+ 982.488 765.575 56.000 51.000
+ -19138754.32243 -14883898.47942 22334473.830 22334481.498 22334472.386
+ 2284.659 1780.254 52.000 46.000
+ -12411691.37243 -9630549.32842 22976654.452 22976659.227 22976655.157
+ 1242.628 968.282 51.000 43.000
+ -16110424.75543 -12503326.64342 22044752.604 22044757.646 22044751.262
+ -2725.567 -2123.818 53.000 46.000
+ -5059982.20343 -3931948.63642 24163316.291 24163323.903 24163315.648
+ -3501.477 -2728.424 41.000 37.000
+ -12236233.58743 -9503260.96642 22916093.369 22916098.008 22916092.390
+ 827.188 644.562 50.000 43.000
+ 04 2 1 3 22 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20290840.43943 -15394019.36742 21190979.835 21190984.540 21190978.724
+ 78.395 61.087 56.000 49.000
+ -7922933.24043 -6111893.67842 23179542.156 23179552.710 23179542.181
+ 3531.525 2751.838 46.000 41.000
+ -24556753.44343 -18947725.12842 20652542.593 20652546.412 20652541.072
+ 971.433 756.961 56.000 51.000
+ -19207135.42843 -14937182.42242 22321461.924 22321468.986 22321460.837
+ 2273.900 1771.870 52.000 46.000
+ -12448923.59143 -9659561.44542 22969569.105 22969572.991 22969568.905
+ 1239.540 965.875 50.000 43.000
+ -16028541.00143 -12439521.22842 22060334.910 22060339.805 22060333.324
+ -2733.384 -2129.910 53.000 46.000
+ -4954905.67643 -3850070.98642 24183310.832 24183318.825 24183308.389
+ -3503.735 -2730.183 42.000 37.000
+ -12260835.36743 -9522431.16742 22911410.803 22911416.802 22911409.921
+ 812.719 633.288 49.000 43.000
+ 04 2 1 3 22 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20293138.05843 -15395809.72842 21190542.048 21190546.770 21190541.384
+ 73.926 57.605 55.000 49.000
+ -8028766.24343 -6194360.82142 23159404.654 23159413.206 23159402.828
+ 3523.178 2745.334 47.000 41.000
+ -24585736.56643 -18970309.40542 20647027.337 20647031.064 20647025.871
+ 959.919 747.989 56.000 51.000
+ -19275200.53543 -14990220.15242 22308509.630 22308516.158 22308507.879
+ 2262.603 1763.067 53.000 46.000
+ -12486067.38643 -9688504.67342 22962500.092 22962505.391 22962499.918
+ 1235.791 962.954 49.000 42.000
+ -15946429.62643 -12375538.45442 22075959.786 22075965.775 22075958.757
+ -2741.376 -2136.137 53.000 46.000
+ -4849764.22243 -3768142.69342 24203317.436 24203326.894 24203318.196
+ -3506.841 -2732.603 40.000 37.000
+ -12285005.06443 -9541264.68042 22906812.778 22906816.957 22906810.962
+ 797.656 621.550 49.000 43.000
+ 04 2 1 3 23 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20295323.65443 -15397512.81142 21190126.663 21190131.383 21190125.279
+ 70.651 55.053 55.000 49.000
+ -8134371.85443 -6276650.78042 23139308.182 23139315.892 23139305.872
+ 3515.784 2739.572 46.000 41.000
+ -24614389.83443 -18992636.65042 20641574.632 20641578.627 20641573.164
+ 949.239 739.667 56.000 51.000
+ -19342944.88143 -15043007.95842 22295617.721 22295624.514 22295616.993
+ 2252.480 1755.179 53.000 46.000
+ -12523122.21943 -9717378.56242 22955449.392 22955454.876 22955448.384
+ 1233.262 960.983 49.000 43.000
+ -15864092.95043 -12311380.12242 22091628.387 22091633.860 22091627.005
+ -2748.635 -2141.793 53.000 46.000
+ -4744558.65943 -3686164.42442 24223337.254 24223346.661 24223338.170
+ -3508.338 -2733.770 42.000 37.000
+ -12308739.16043 -9559758.78742 22902296.023 22902302.310 22902295.020
+ 783.549 610.558 49.000 43.000
+ 04 2 1 3 23 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20297402.58043 -15399132.77742 21189731.216 21189735.590 21189729.823
+ 66.866 52.103 56.000 49.000
+ -8239752.59543 -6358765.51842 23119253.286 23119263.575 23119253.054
+ 3508.203 2733.665 45.000 41.000
+ -24642715.97943 -19014708.99942 20636184.290 20636188.195 20636182.973
+ 938.079 730.971 56.000 51.000
+ -19410369.79443 -15095546.84142 22282787.832 22282794.361 22282786.156
+ 2241.507 1746.629 53.000 46.000
+ -12560093.44243 -9746187.30342 22948413.776 22948419.448 22948411.906
+ 1230.407 958.759 50.000 42.000
+ -15781538.03043 -12247051.73242 22107337.986 22107343.806 22107336.710
+ -2756.188 -2147.679 53.000 46.000
+ -4639295.98843 -3604141.64542 24243370.856 24243376.849 24243369.359
+ -3510.169 -2735.197 43.000 38.000
+ -12332040.30443 -9577915.50542 22897861.376 22897868.030 22897859.959
+ 768.760 599.034 49.000 42.000
+ 04 2 1 3 24 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20299372.45143 -15400667.76342 21189355.915 21189360.435 21189354.282
+ 63.663 49.608 55.000 49.000
+ -8344903.00343 -6440700.77042 23099245.486 23099253.977 23099244.078
+ 3500.875 2727.955 46.000 41.000
+ -24670709.91243 -19036522.47742 20630857.224 20630861.182 20630855.767
+ 927.385 722.638 56.000 51.000
+ -19477468.86843 -15147831.79342 22270018.104 22270026.102 22270015.876
+ 2231.234 1738.624 52.000 46.000
+ -12596978.98143 -9774929.28142 22941394.163 22941399.016 22941394.134
+ 1227.604 956.574 49.000 42.000
+ -15698764.33143 -12182552.87142 22123089.380 22123095.466 22123088.011
+ -2763.192 -2153.137 53.000 46.000
+ -4533975.38343 -3522073.74842 24263411.799 24263420.187 24263409.926
+ -3511.792 -2736.461 42.000 38.000
+ -12354903.64043 -9595731.07442 22893511.262 22893515.912 22893510.150
+ 754.688 588.069 50.000 43.000
+ 04 2 1 3 24 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20301233.21943 -15402117.73642 21189001.583 21189006.904 21189000.552
+ 60.084 46.819 55.000 49.000
+ -8449820.20943 -6522454.31842 23079279.614 23079288.626 23079278.748
+ 3492.893 2721.735 46.000 41.000
+ -24698368.60243 -19058074.73642 20625594.046 20625597.866 20625592.862
+ 916.258 713.967 56.000 51.000
+ -19544237.89643 -15199859.58542 22257313.334 22257320.628 22257311.831
+ 2219.894 1729.787 53.000 46.000
+ -12633778.54143 -9803604.27342 22934393.201 22934397.268 22934392.339
+ 1225.205 954.705 50.000 43.000
+ -15615773.77943 -12117885.03142 22138882.214 22138887.611 22138880.551
+ -2770.110 -2158.527 53.000 46.000
+ -4428598.26243 -3439961.79742 24283464.616 24283472.416 24283464.130
+ -3513.643 -2737.904 44.000 38.000
+ -12377325.89343 -9613202.95542 22889243.365 22889250.222 22889243.125
+ 739.934 576.572 49.000 43.000
+ 04 2 1 3 25 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20302988.84643 -15403485.78042 21188667.766 21188672.776 21188666.580
+ 56.778 44.243 56.000 49.000
+ -8554505.11243 -6604026.86642 23059359.173 23059367.195 23059358.118
+ 3485.486 2715.963 48.000 41.000
+ -24725693.34743 -19079366.77742 20620394.095 20620398.295 20620392.909
+ 905.247 705.387 56.000 51.000
+ -19610676.76243 -15251630.11942 22244669.796 22244677.767 22244668.786
+ 2209.122 1721.394 53.000 46.000
+ -12670495.75643 -9832215.09042 22927404.428 22927411.498 22927404.088
+ 1222.499 952.597 50.000 43.000
+ -15532572.04443 -12053052.62542 22154715.087 22154720.391 22154713.279
+ -2776.994 -2163.891 53.000 46.000
+ -4323170.24243 -3357810.18442 24303526.138 24303534.806 24303525.686
+ -3514.884 -2738.871 43.000 38.000
+ -12399308.36343 -9630332.14242 22885060.657 22885066.840 22885058.354
+ 725.292 565.163 49.000 42.000
+ 04 2 1 3 25 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20304637.65943 -15404770.59342 21188354.352 21188358.785 21188353.222
+ 52.823 41.161 56.000 49.000
+ -8658953.28743 -6685414.96442 23039484.548 23039490.967 23039482.397
+ 3477.260 2709.553 48.000 42.000
+ -24752679.71443 -19100395.14442 20615259.132 20615263.132 20615257.571
+ 893.467 696.208 56.000 51.000
+ -19676779.99743 -15303139.10342 22232091.620 22232098.143 22232089.352
+ 2197.430 1712.283 53.000 46.000
+ -12707129.85743 -9860761.12942 22920435.398 22920440.017 22920434.697
+ 1219.500 950.260 51.000 43.000
+ -15449160.84243 -11988056.99442 22170587.436 22170592.812 22170586.888
+ -2784.321 -2169.601 53.000 46.000
+ -4217691.04243 -3275618.71442 24323599.255 24323606.545 24323600.306
+ -3516.970 -2740.496 44.000 38.000
+ -12420846.68243 -9647115.23942 22880961.225 22880967.937 22880961.173
+ 710.134 553.351 49.000 42.000
+ 04 2 1 3 26 0.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20306181.95743 -15405973.96142 21188061.027 21188065.170 21188059.252
+ 49.869 38.859 56.000 49.000
+ -8763163.90443 -6766617.94442 23019652.770 23019660.715 23019651.410
+ 3469.794 2703.735 48.000 42.000
+ -24779327.10743 -19121159.38142 20610188.380 20610192.078 20610187.053
+ 882.683 687.805 56.000 51.000
+ -19742545.46843 -15354384.89342 22219575.474 22219583.480 22219573.856
+ 2186.605 1703.848 52.000 46.000
+ -12743682.93743 -9889244.06142 22913479.001 22913483.160 22913478.152
+ 1217.322 948.563 51.000 43.000
+ -15365543.80843 -11922900.98442 22186499.233 22186504.709 22186498.662
+ -2790.510 -2174.423 52.000 45.000
+ -4112164.22143 -3193390.13642 24343682.200 24343688.142 24343680.596
+ -3518.189 -2741.446 45.000 38.000
+ -12441940.45143 -9663551.93442 22876948.121 22876952.998 22876947.082
+ 695.751 542.144 49.000 42.000
+ 04 2 1 3 26 30.0000000 0 8G 1G27G20G 2G13G11G25G16
+ -20307621.29643 -15407095.54342 21187786.633 21187791.544 21187785.539
+ 46.100 35.922 56.000 49.000
+ -8867133.56943 -6847633.14742 22999868.081 22999876.195 22999866.906
+ 3461.334 2697.143 47.000 42.000
+ -24805632.27243 -19141656.94242 20605182.530 20605186.363 20605181.374
+ 870.929 678.646 56.000 51.000
+ -19807969.01043 -15405364.24442 22207126.036 22207134.271 22207125.312
+ 2174.919 1694.742 52.000 46.000
+ -12780154.59543 -9917663.51642 22906538.411 22906542.302 22906537.876
+ 1214.300 946.208 50.000 43.000
+ -15281722.54543 -11857585.84842 22202450.189 22202455.682 22202449.311
+ -2797.468 -2179.845 52.000 45.000
+ -4006591.06643 -3111125.43842 24363772.111 24363778.030 24363770.229
+ -3519.835 -2742.728 45.000 38.000
+ -12462586.50143 -9679639.75742 22873019.521 22873024.232 22873018.941
+ 680.705 530.419 49.000 42.000
+ 04 2 1 3 27 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20308955.67343 -15408135.34142 21187532.765 21187537.736 21187531.176
+ 42.976 33.488 55.000 49.000
+ -8970859.64643 -6928458.56142 22980129.603 22980137.586 22980128.147
+ 3453.734 2691.221 47.000 42.000
+ -24831592.45343 -19161885.68642 20600242.654 20600246.558 20600241.330
+ 859.845 670.009 56.000 51.000
+ -19873046.46943 -15456073.92142 22194743.576 22194749.895 22194741.781
+ 2163.609 1685.929 53.000 47.000
+ -545173.01653 -410114.88552 24904358.200 24904361.169 24904357.481
+ 2920.076 2275.384 44.000 35.000
+ -12816544.72243 -9946019.46542 22899613.978 22899617.732 22899614.043
+ 1211.879 944.321 51.000 43.000
+ -15197699.25743 -11792113.27642 22218439.551 22218445.974 22218438.141
+ -2803.838 -2184.809 53.000 45.000
+ -3900973.25343 -3028825.92842 24383870.424 24383877.197 24383869.298
+ -3521.125 -2743.734 45.000 38.000
+ -12482782.12143 -9695376.59142 22869175.781 22869183.919 22869175.559
+ 665.923 518.901 49.000 43.000
+ 04 2 1 3 27 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20310175.62943 -15409085.98142 21187300.784 21187305.410 21187299.227
+ 39.598 30.856 56.000 49.000
+ -9074329.54643 -7009084.35042 22960439.260 22960448.758 22960438.833
+ 3445.635 2684.910 47.000 42.000
+ -24857195.35643 -19181836.02742 20595370.791 20595374.298 20595369.109
+ 848.258 660.980 56.000 51.000
+ -19937764.31643 -15506503.37542 22182427.323 22182434.974 22182426.014
+ 2152.035 1676.910 53.000 47.000
+ -632589.79743 -478231.79742 24887723.316 24887728.240 24887723.775
+ 2909.406 2267.070 45.000 36.000
+ -12852844.04043 -9974304.64342 22892706.304 22892710.267 22892705.033
+ 1209.443 942.423 50.000 43.000
+ -15113466.40843 -11726477.40942 22234468.819 22234474.512 22234467.069
+ -2810.450 -2189.961 52.000 45.000
+ -3795302.56043 -2946485.21942 24403977.127 24403985.490 24403976.472
+ -3522.568 -2744.858 45.000 38.000
+ -12502515.37343 -9710753.13642 22865421.177 22865427.391 22865419.208
+ 650.882 507.181 50.000 43.000
+ 04 2 1 3 28 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20311304.96843 -15409966.01242 21187085.735 21187090.585 21187084.676
+ 36.010 28.060 56.000 49.000
+ -9177564.20243 -7089526.84442 22940794.852 22940802.054 22940793.779
+ 3436.836 2678.054 48.000 42.000
+ -24882462.20143 -19201524.50442 20590562.664 20590566.524 20590561.147
+ 836.444 651.775 56.000 51.000
+ -20002142.50343 -15556668.16642 22170176.759 22170183.889 22170175.468
+ 2140.146 1667.646 53.000 46.000
+ -719702.30543 -546111.62142 24871147.987 24871152.531 24871146.791
+ 2898.479 2258.555 46.000 36.000
+ -12889076.43143 -10002537.67642 22885811.110 22885816.302 22885810.928
+ 1206.404 940.055 51.000 43.000
+ -15029050.25343 -11660698.69942 22250532.634 22250538.653 22250531.108
+ -2817.134 -2195.169 52.000 45.000
+ -3689604.29943 -2864123.04942 24424089.853 24424099.491 24424090.491
+ -3523.686 -2745.729 44.000 37.000
+ -12521807.52043 -9725785.97742 22861750.547 22861756.609 22861748.852
+ 635.524 495.214 50.000 43.000
+ 04 2 1 3 28 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20312333.69343 -15410767.64142 21186889.742 21186895.063 21186888.326
+ 32.298 25.167 55.000 49.000
+ -9280550.88043 -7169776.12242 22921196.679 22921204.912 22921194.741
+ 3428.523 2671.576 48.000 42.000
+ -24907380.33444 -19220941.25842 20585820.824 20585824.824 20585819.533
+ 824.349 642.350 57.000 51.000
+ -20066166.91043 -15606557.28642 22157993.264 22158000.065 22157991.119
+ 2127.837 1658.055 53.000 46.000
+ -806497.49043 -613744.25642 24854630.602 24854635.281 24854628.929
+ 2887.419 2249.937 47.000 37.000
+ -12925232.09343 -10030710.91142 22878930.776 22878935.077 22878929.383
+ 1203.495 937.788 50.000 43.000
+ -14944442.99343 -11594771.08842 22266633.173 22266639.173 22266631.471
+ -2823.718 -2200.300 52.000 45.000
+ -3583869.73543 -2781732.59342 24444214.351 24444219.363 24444211.534
+ -3525.332 -2747.012 45.000 37.000
+ -12540645.68943 -9740465.06842 22858165.736 22858171.699 22858164.315
+ 619.919 483.054 50.000 43.000
+ 04 2 1 3 29 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20313260.10543 -15411489.54342 21186714.160 21186718.435 21186712.330
+ 28.630 22.309 56.000 49.000
+ -9383284.94343 -7249828.55742 22901647.126 22901654.820 22901645.968
+ 3419.751 2664.741 48.000 42.000
+ -24931945.09543 -19240082.65942 20581146.303 20581150.227 20581144.802
+ 812.370 633.016 56.000 51.000
+ -20129831.95643 -15656166.39642 22145878.051 22145885.088 22145876.580
+ 2115.571 1648.497 53.000 46.000
+ -892970.39043 -681125.72542 24838175.178 24838179.461 24838174.930
+ 2876.346 2241.309 48.000 37.000
+ -12961309.18743 -10058822.93042 22872066.074 22872069.261 22872065.121
+ 1200.709 935.617 50.000 43.000
+ -14859644.51043 -11528694.46442 22282768.974 22282775.800 22282769.023
+ -2830.423 -2205.524 52.000 45.000
+ -3478098.93543 -2699313.85642 24464340.929 24464348.196 24464339.241
+ -3526.721 -2748.094 44.000 37.000
+ -12559025.86043 -9754787.27642 22854668.140 22854672.283 22854666.352
+ 604.395 470.957 50.000 43.000
+ 04 2 1 3 29 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20314086.07443 -15412133.17242 21186556.607 21186561.364 21186555.195
+ 25.574 19.928 56.000 49.000
+ -9485765.43343 -7329683.38142 22882144.969 22882154.835 22882143.133
+ 3411.521 2658.328 47.000 42.000
+ -24956155.66143 -19258948.06542 20576538.837 20576543.097 20576537.422
+ 800.771 623.977 56.000 51.000
+ -20193135.64043 -15705493.91342 22133831.718 22133838.391 22133829.910
+ 2103.826 1639.345 53.000 46.000
+ -979119.49043 -748254.85242 24821781.538 24821787.665 24821781.039
+ 2866.259 2233.449 45.000 37.000
+ -12997309.80243 -10086875.35542 22865214.759 22865219.372 22865214.519
+ 1198.499 933.895 50.000 43.000
+ -14774659.24143 -11462472.29942 22298941.568 22298947.223 22298941.079
+ -2836.203 -2210.028 52.000 45.000
+ -3372295.21743 -2616869.48042 24484473.972 24484481.244 24484474.090
+ -3527.472 -2748.679 43.000 36.000
+ -12576947.21743 -9768751.95842 22851257.631 22851263.473 22851255.797
+ 589.497 459.348 50.000 43.000
+ 04 2 1 3 30 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20314814.10543 -15412700.49542 21186417.658 21186422.540 21186416.532
+ 22.623 17.628 55.000 49.000
+ -9587991.94343 -7409340.29342 22862692.148 22862699.748 22862690.801
+ 3403.298 2651.921 47.000 42.000
+ -24980012.09643 -19277537.52142 20571999.301 20572003.397 20571997.714
+ 789.250 615.000 56.000 51.000
+ -20256076.41843 -15754538.65742 22121854.484 22121861.494 22121853.323
+ 2091.927 1630.073 53.000 46.000
+ -1064944.23943 -815131.22742 24805450.215 24805456.217 24805449.725
+ 2855.439 2225.017 46.000 38.000
+ -13033236.43743 -10114870.13742 22858378.240 22858382.623 22858377.608
+ 1196.283 932.169 50.000 43.000
+ -14689491.51143 -11396107.94542 22315149.113 22315154.220 22315148.026
+ -2841.995 -2214.541 53.000 45.000
+ -3266462.64543 -2534402.64442 24504611.788 24504618.748 24504614.501
+ -3528.278 -2749.307 45.000 36.000
+ -12594409.69043 -9782359.09942 22847934.191 22847940.111 22847933.434
+ 574.348 447.544 49.000 43.000
+ 04 2 1 3 30 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20315443.47143 -15413190.93242 21186297.563 21186303.272 21186296.812
+ 19.802 15.430 55.000 49.000
+ -9689961.15843 -7488796.73242 22843288.456 22843295.374 22843286.719
+ 3395.068 2645.508 48.000 42.000
+ -25003510.70843 -19295848.15142 20567527.739 20567531.761 20567526.494
+ 777.745 606.035 56.000 51.000
+ -20318649.77943 -15803297.08542 22109946.341 22109954.080 22109945.482
+ 2080.037 1620.808 53.000 46.000
+ -1150440.54543 -881751.73942 24789180.355 24789188.562 24789179.061
+ 2845.097 2216.959 46.000 38.000
+ -13069088.64443 -10142806.91742 22851555.670 22851560.640 22851554.795
+ 1194.238 930.575 51.000 43.000
+ -14604142.70443 -11329602.49742 22331389.957 22331395.540 22331389.328
+ -2847.509 -2218.838 52.000 45.000
+ -3160601.81643 -2451913.75242 24524757.436 24524763.677 24524757.173
+ -3528.624 -2749.577 44.000 36.000
+ -12611410.08743 -9795606.17042 22844698.851 22844704.899 22844698.453
+ 559.483 435.961 50.000 43.000
+ 04 2 1 3 31 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20315975.60643 -15413605.59742 21186197.640 21186201.947 21186196.298
+ 15.954 12.432 56.000 49.000
+ -9791671.55743 -7568051.47742 22823932.910 22823942.122 22823932.043
+ 3385.949 2638.402 48.000 43.000
+ -25026650.37643 -19313879.07942 20563124.451 20563128.536 20563122.959
+ 765.251 596.299 56.000 51.000
+ -20380853.13743 -15851767.20142 22098109.779 22098117.244 22098108.383
+ 2067.166 1610.779 53.000 47.000
+ -1235606.89943 -948115.11342 24772972.772 24772979.940 24772971.962
+ 2833.368 2207.819 46.000 38.000
+ -13104867.98043 -10170686.91442 22844746.908 22844751.537 22844746.901
+ 1191.273 928.265 50.000 43.000
+ -14518616.90143 -11262959.13342 22347665.158 22347671.113 22347664.193
+ -2853.878 -2223.801 52.000 45.000
+ -3054715.33843 -2369404.88242 24544905.839 24544912.037 24544906.830
+ -3530.059 -2750.695 43.000 36.000
+ -12627947.43143 -9808492.39142 22841552.351 22841558.285 22841550.576
+ 543.296 423.348 50.000 43.000
+ 04 2 1 3 31 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20316412.11643 -15413945.76042 21186113.665 21186118.737 21186112.780
+ 12.667 9.870 55.000 49.000
+ -9893121.81543 -7647103.52642 22804626.546 22804636.170 22804625.259
+ 3377.130 2631.530 48.000 42.000
+ -25049430.01943 -19331629.47242 20558789.518 20558793.786 20558788.100
+ 753.048 586.791 56.000 51.000
+ -20442684.15843 -15899947.19142 22086343.968 22086351.373 22086342.757
+ 2054.664 1601.037 53.000 47.000
+ -1320441.33643 -1014219.85942 24756830.692 24756837.046 24756828.352
+ 2822.250 2199.156 46.000 38.000
+ -13140575.87843 -10198511.24442 22837952.413 22837956.757 22837950.649
+ 1188.840 926.369 51.000 43.000
+ -14432917.37343 -11196180.40342 22363973.236 22363978.831 22363972.550
+ -2859.816 -2228.428 52.000 45.000
+ -2948806.73443 -2286878.79142 24565059.504 24565065.255 24565060.868
+ -3530.738 -2751.224 43.000 35.000
+ -12644020.84043 -9821017.15342 22838494.556 22838498.303 22838493.059
+ 527.967 411.403 50.000 43.000
+ 04 2 1 3 32 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20316751.62043 -15414210.32942 21186048.783 21186053.833 21186047.493
+ 9.691 7.551 55.000 49.000
+ -9994308.13043 -7725949.89742 22785372.327 22785379.846 22785372.228
+ 3368.330 2624.673 48.000 42.000
+ -25071845.69143 -19349096.25142 20554524.232 20554528.028 20554522.605
+ 741.009 577.410 56.000 51.000
+ -20504137.69843 -15947833.06242 22074649.973 22074656.676 22074648.785
+ 2042.013 1591.179 54.000 47.000
+ -1404939.74143 -1080062.79242 24740749.444 24740758.370 24740750.109
+ 2810.808 2190.240 46.000 39.000
+ -13176211.05743 -10226278.91042 22831171.085 22831175.739 22831169.960
+ 1186.497 924.543 51.000 43.000
+ -14347045.02843 -11129267.01142 22380313.962 22380319.986 22380313.185
+ -2865.366 -2232.753 52.000 45.000
+ -2842876.28843 -2204335.67442 24585219.554 24585225.278 24585218.502
+ -3531.207 -2751.590 43.000 35.000
+ -12659626.61143 -9833177.51742 22835524.507 22835529.228 22835522.724
+ 512.265 399.168 50.000 43.000
+ 04 2 1 3 32 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20316993.88643 -15414399.12642 21186003.004 21186008.041 21186001.750
+ 7.052 5.495 55.000 49.000
+ -10095227.26043 -7804588.09142 22766168.058 22766175.561 22766167.840
+ 3360.132 2618.285 49.000 42.000
+ -25093894.41343 -19366277.09342 20550328.558 20550332.267 20550326.963
+ 729.372 568.342 56.000 51.000
+ -20565209.46343 -15995421.44742 22063028.682 22063035.489 22063026.911
+ 2029.814 1581.673 54.000 47.000
+ -1489098.30043 -1145640.83842 24724735.956 24724743.767 24724734.558
+ 2800.152 2181.937 47.000 39.000
+ -13211773.61143 -10253989.98542 22824402.724 22824408.538 22824403.478
+ 1184.809 923.228 50.000 43.000
+ -14261001.85243 -11062220.51142 22396688.861 22396693.535 22396687.741
+ -2870.393 -2236.670 52.000 45.000
+ -2736924.94243 -2121776.26342 24605380.976 24605387.606 24605379.063
+ -3531.395 -2751.736 43.000 36.000
+ -12674761.95343 -9844971.29842 22832643.594 22832648.822 22832642.654
+ 497.257 387.473 50.000 43.000
+ 04 2 1 3 33 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20317145.77443 -15414517.50642 21185974.025 21185979.222 21185973.000
+ 4.505 3.510 55.000 49.000
+ -10195883.33443 -7883021.29642 22747014.473 22747022.217 22747012.545
+ 3351.388 2611.471 49.000 43.000
+ -25115580.40843 -19383175.28842 20546201.847 20546205.593 20546200.034
+ 717.658 559.214 56.000 51.000
+ -20625902.68343 -16042714.84642 22051478.412 22051485.605 22051476.941
+ 2017.446 1572.036 53.000 47.000
+ -1572920.97143 -1210957.20742 24708784.501 24708791.220 24708782.116
+ 2789.158 2173.370 46.000 38.000
+ -13247270.47343 -10281649.86742 22817649.717 22817653.826 22817649.014
+ 1183.043 921.852 51.000 44.000
+ -14174796.88343 -10995047.92142 22413092.576 22413099.094 22413092.028
+ -2875.395 -2240.567 52.000 45.000
+ -2630960.75443 -2039206.87342 24625545.070 24625551.850 24625543.765
+ -3531.661 -2751.944 43.000 35.000
+ -12689431.60643 -9856402.19642 22829853.320 22829858.455 22829851.517
+ 481.999 375.584 50.000 43.000
+ 04 2 1 3 33 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20317203.15843 -15414562.23842 21185963.889 21185967.993 21185962.441
+ .057 .044 56.000 49.000
+ -10296269.73543 -7961244.39242 22727911.084 22727919.361 22727910.671
+ 3341.387 2603.678 49.000 43.000
+ -25136897.17343 -19399785.77742 20542145.292 20542149.406 20542143.785
+ 704.114 548.660 56.000 51.000
+ -20686209.47843 -16089707.14142 22040003.217 22040009.756 22040001.259
+ 2003.432 1561.116 53.000 47.000
+ -1656400.85743 -1276006.42942 24692900.228 24692904.052 24692898.056
+ 2776.831 2163.764 46.000 38.000
+ -13282697.41643 -10309255.28042 22810906.513 22810911.792 22810906.169
+ 1179.289 918.926 50.000 43.000
+ -14088427.99743 -10927747.61342 22429527.715 22429534.459 22429527.782
+ -2882.012 -2245.724 52.000 45.000
+ -2524981.31543 -1956625.57242 24645715.121 24645719.773 24645710.971
+ -3533.507 -2753.382 44.000 36.000
+ -12703629.05543 -9867465.15742 22827150.425 22827156.538 22827149.471
+ 465.156 362.459 49.000 43.000
+ 04 2 1 3 34 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20317164.78343 -15414532.35542 21185970.928 21185975.388 21185969.415
+ -3.463 -2.698 56.000 49.000
+ -10396382.34343 -8039254.10142 22708860.722 22708868.780 22708860.036
+ 3331.910 2596.294 49.000 43.000
+ -25157840.93243 -19416105.60542 20538159.736 20538163.749 20538158.404
+ 691.370 538.730 56.000 51.000
+ -20746124.69143 -16136394.28442 22028601.945 22028607.943 22028600.025
+ 1990.306 1550.888 53.000 47.000
+ -1739533.36843 -1340784.95542 24677078.304 24677085.434 24677076.362
+ 2764.696 2154.309 44.000 37.000
+ -13318053.50143 -10336805.46442 22804178.417 22804183.531 22804177.969
+ 1176.680 916.894 51.000 43.000
+ -14001896.29943 -10860320.43842 22445994.021 22446000.848 22445993.628
+ -2887.602 -2250.079 52.000 45.000
+ -2418986.42143 -1874032.26242 24665884.138 24665890.697 24665882.629
+ -3533.794 -2753.606 42.000 35.000
+ -12717350.77643 -9878157.40442 22824538.659 22824545.973 22824537.891
+ 448.972 349.848 49.000 43.000
+ 04 2 1 3 34 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20317035.15843 -15414431.36842 21185995.261 21186000.038 21185994.285
+ -6.057 -4.720 56.000 49.000
+ -10496222.78843 -8117051.75842 22689861.730 22689868.545 22689860.277
+ 3323.288 2589.575 49.000 43.000
+ -25178413.29943 -19432136.04142 20534244.590 20534249.001 20534243.315
+ 679.354 529.367 56.000 51.000
+ -20805648.88843 -16182776.75842 22017274.620 22017281.587 22017272.756
+ 1977.628 1541.009 54.000 47.000
+ -1822319.71443 -1405293.75042 24661325.530 24661329.933 24661326.233
+ 2753.640 2145.694 44.000 37.000
+ -13353343.68043 -10364304.29542 22797462.400 22797468.335 22797462.948
+ 1175.162 915.711 50.000 43.000
+ -13915208.52643 -10792771.66242 22462490.925 22462496.469 22462489.977
+ -2892.318 -2253.754 52.000 45.000
+ -2312982.29843 -1791431.72242 24686055.334 24686062.715 24686054.653
+ -3533.549 -2753.415 42.000 36.000
+ -12730598.80643 -9888480.54542 22822019.304 22822024.382 22822017.228
+ 433.520 337.808 50.000 43.000
+ 04 2 1 3 35 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20316817.48943 -15414261.79042 21186036.935 21186042.146 21186035.323
+ -9.007 -7.018 55.000 49.000
+ -10595791.79343 -8194637.89142 22670914.176 22670921.677 22670912.927
+ 3314.127 2582.437 48.000 42.000
+ -25198615.05243 -19447877.68742 20530400.797 20530404.770 20530399.263
+ 666.947 519.699 56.000 51.000
+ -20864781.70643 -16228854.25442 22006022.098 22006028.950 22006020.440
+ 1964.311 1530.632 54.000 47.000
+ -1904760.36443 -1469533.20342 24645638.816 24645644.494 24645636.506
+ 2742.011 2136.632 45.000 38.000
+ -13388570.91343 -10391754.07542 22790760.905 22790764.686 22790760.400
+ 1172.858 913.915 51.000 43.000
+ -13828370.25843 -10725105.60342 22479016.225 22479022.924 22479015.446
+ -2897.293 -2257.631 52.000 45.000
+ -2206973.74643 -1708827.74742 24706227.441 24706235.257 24706227.678
+ -3534.062 -2753.814 41.000 35.000
+ -12743374.14243 -9898435.34442 22819587.742 22819593.211 22819587.578
+ 417.690 325.473 50.000 43.000
+ 04 2 1 3 35 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20316514.44843 -15414025.67442 21186093.904 21186099.560 21186093.001
+ -11.895 -9.269 56.000 49.000
+ -10695089.47443 -8272012.62342 22652018.253 22652026.361 22652016.767
+ 3304.827 2575.190 49.000 42.000
+ -25218446.46543 -19463330.75842 20526626.935 20526631.321 20526625.620
+ 654.379 509.906 56.000 51.000
+ -20923521.85343 -16274625.77242 21994843.662 21994850.887 21994842.108
+ 1950.999 1520.259 54.000 47.000
+ -1986854.66743 -1533502.73142 24630016.063 24630022.166 24630014.890
+ 2730.393 2127.579 45.000 38.000
+ -13423737.99143 -10419156.99342 22784068.144 22784072.906 22784067.359
+ 1170.714 912.245 51.000 43.000
+ -13741386.09143 -10657325.87942 22495567.428 22495574.783 22495567.572
+ -2902.261 -2261.502 51.000 45.000
+ -2100964.66043 -1626223.38742 24726402.201 24726410.486 24726399.094
+ -3534.052 -2753.807 41.000 35.000
+ -12755677.51943 -9908022.38442 22817246.421 22817251.199 22817244.247
+ 401.679 312.997 49.000 43.000
+ 04 2 1 3 36 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20316112.55143 -15413712.53842 21186171.148 21186175.831 21186169.763
+ -15.137 -11.795 55.000 49.000
+ -10794099.66143 -8349163.31742 22633176.936 22633185.090 22633175.668
+ 3295.353 2567.808 48.000 43.000
+ -25237891.52143 -19478482.77342 20522926.314 20522930.923 20522925.225
+ 641.522 499.887 56.000 51.000
+ -20981852.32443 -16320078.05742 21983743.714 21983750.895 21983742.538
+ 1937.378 1509.645 54.000 47.000
+ -2068586.40443 -1597189.77142 24614463.770 24614470.196 24614462.758
+ 2718.203 2118.080 45.000 38.000
+ -13458831.79943 -10446502.80642 22777390.223 22777394.252 22777388.670
+ 1168.494 910.515 51.000 44.000
+ -13654244.90843 -10589423.79942 22512150.539 22512158.181 22512149.692
+ -2907.320 -2265.444 52.000 44.000
+ -1994943.16343 -1543609.34942 24746576.772 24746583.478 24746576.214
+ -3533.908 -2753.694 41.000 35.000
+ -12767493.20343 -9917229.42342 22814998.449 22815002.231 22814997.009
+ 385.586 300.457 50.000 43.000
+ 04 2 1 3 36 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20315623.21743 -15413331.25942 21186263.795 21186268.701 21186262.729
+ -17.607 -13.720 55.000 49.000
+ -10892831.16143 -8426096.85942 22614387.559 22614396.214 22614387.689
+ 3286.492 2560.903 48.000 43.000
+ -25256959.17043 -19493340.70742 20519298.340 20519302.373 20519296.935
+ 629.375 490.422 56.000 51.000
+ -21039780.84743 -16365217.13142 21972720.571 21972727.252 21972718.998
+ 1924.265 1499.427 54.000 47.000
+ -2149963.91443 -1660600.78642 24598977.297 24598984.543 24598977.414
+ 2706.813 2109.205 45.000 38.000
+ -13493863.92243 -10473800.55742 22770723.588 22770728.390 22770722.249
+ 1166.794 909.190 51.000 44.000
+ -13566960.40143 -10521410.03442 22528761.128 22528766.314 22528759.861
+ -2911.738 -2268.887 52.000 44.000
+ -1888922.23843 -1460995.72242 24766751.409 24766756.783 24766747.523
+ -3533.638 -2753.484 39.000 34.000
+ -12778830.55643 -9926063.72442 22812840.638 22812846.098 22812838.859
+ 369.918 288.248 50.000 43.000
+ 04 2 1 3 37 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20315040.78743 -15412877.45542 21186374.770 21186380.173 21186373.797
+ -20.183 -15.727 55.000 49.000
+ -10991275.89343 -8502806.94542 22595654.489 22595662.526 22595653.464
+ 3277.469 2553.872 48.000 43.000
+ -25275641.52443 -19507898.40942 20515743.315 20515747.231 20515741.791
+ 616.942 480.734 56.000 51.000
+ -21097298.14743 -16410035.78742 21961775.149 21961782.114 21961773.738
+ 1911.143 1489.202 54.000 47.000
+ -2230978.78943 -1723729.20142 24583560.574 24583567.856 24583559.720
+ 2695.160 2100.125 45.000 38.000
+ -13528828.93743 -10501046.02142 22764069.961 22764074.972 22764068.453
+ 1165.113 907.880 51.000 44.000
+ -13479529.17043 -10453281.93442 22545398.186 22545404.605 22545397.570
+ -2916.020 -2272.223 52.000 44.000
+ -1782897.65543 -1378379.24842 24786927.482 24786934.149 24786927.455
+ -3533.618 -2753.468 41.000 34.000
+ -12789681.77743 -9934519.21842 22810775.328 22810781.173 22810775.294
+ 354.225 276.019 49.000 42.000
+ 04 2 1 3 37 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20314372.84743 -15412357.00342 21186502.229 21186507.337 21186500.975
+ -23.974 -18.681 56.000 49.000
+ -11089438.58243 -8579297.25142 22576974.942 22576982.633 22576974.269
+ 3267.193 2545.865 48.000 43.000
+ -25293943.31143 -19522159.56942 20512260.243 20512264.762 20512259.052
+ 603.499 470.259 56.000 51.000
+ -21154408.06843 -16454536.98542 21950907.791 21950915.104 21950906.232
+ 1896.630 1477.893 54.000 47.000
+ -2311635.33143 -1786578.40442 24568213.221 24568217.803 24568211.226
+ 2682.026 2089.890 43.000 38.000
+ -13563734.20343 -10528244.92742 22757426.707 22757433.043 22757426.438
+ 1162.341 905.720 50.000 44.000
+ -13391960.71643 -10385046.90642 22562062.454 22562068.542 22562061.203
+ -2921.414 -2276.426 52.000 44.000
+ -1676878.16143 -1295766.70142 24807102.733 24807106.352 24807104.078
+ -3533.954 -2753.730 42.000 34.000
+ -12800052.08443 -9942599.98442 22808802.658 22808807.455 22808800.547
+ 337.349 262.869 50.000 43.000
+ 04 2 1 3 38 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20313614.22243 -15411765.90342 21186646.330 21186652.061 21186645.129
+ -26.690 -20.797 56.000 49.000
+ -11187311.41343 -8655561.69742 22558351.344 22558358.819 22558348.840
+ 3257.682 2538.454 49.000 43.000
+ -25311857.10443 -19536118.39342 20508851.751 20508855.807 20508850.364
+ 590.761 460.333 56.000 51.000
+ -21211101.66143 -16498713.76242 21940118.463 21940125.551 21940116.884
+ 1883.159 1467.397 53.000 47.000
+ -2391925.58243 -1849142.18142 24552933.263 24552939.856 24552932.651
+ 2670.653 2081.028 44.000 38.000
+ -13598574.88943 -10555393.51442 22750797.702 22750801.614 22750796.983
+ 1160.513 904.296 51.000 44.000
+ -13304252.17543 -10316702.71942 22578752.545 22578758.506 22578751.190
+ -2925.775 -2279.825 51.000 44.000
+ -1570860.18143 -1213155.40642 24827278.254 24827281.685 24827274.397
+ -3533.557 -2753.421 41.000 34.000
+ -12809934.43643 -9950300.49742 22806921.731 22806926.336 22806920.560
+ 321.561 250.567 50.000 43.000
+ 04 2 1 3 38 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20312768.94543 -15411107.28142 21186807.153 21186812.294 21186806.186
+ -29.540 -23.018 56.000 49.000
+ -11284896.03043 -8731601.55342 22539781.442 22539789.067 22539779.804
+ 3248.006 2530.914 49.000 43.000
+ -25329384.34943 -19549776.00742 20505516.104 20505520.233 20505514.793
+ 577.936 450.340 56.000 51.000
+ -21267379.37443 -16542566.49342 21929409.386 21929416.229 21929408.130
+ 1869.173 1456.498 54.000 47.000
+ -2471850.35343 -1911421.20242 24537724.384 24537729.958 24537723.835
+ 2658.092 2071.240 44.000 37.000
+ -13633355.18243 -10582495.03442 22744179.226 22744184.007 22744178.423
+ 1158.482 902.713 51.000 44.000
+ -13216410.13543 -10248254.53142 22595468.096 22595474.453 22595466.561
+ -2930.297 -2283.348 51.000 43.000
+ -1464849.18343 -1130549.51342 24847450.453 24847459.188 24847448.202
+ -3533.502 -2753.378 42.000 35.000
+ -12819330.77043 -9957622.30242 22805133.337 22805138.574 22805131.040
+ 305.370 237.951 49.000 43.000
+ 04 2 1 3 39 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20311838.55843 -15410382.33042 21186985.011 21186989.297 21186983.456
+ -33.120 -25.808 56.000 49.000
+ -11382191.39243 -8807416.02542 22521266.791 22521273.024 22521264.923
+ 3237.627 2522.826 49.000 43.000
+ -25346524.42943 -19563131.93142 20502254.855 20502258.740 20502253.390
+ 564.130 439.582 56.000 51.000
+ -21323239.11343 -16586093.52942 21918780.075 21918786.307 21918778.705
+ 1854.325 1444.929 54.000 47.000
+ -2551408.45443 -1973414.50542 24522583.646 24522591.446 24522583.574
+ 2645.135 2061.144 43.000 38.000
+ -13668077.01043 -10609550.99442 22737573.190 22737576.776 22737571.485
+ 1155.817 900.637 51.000 44.000
+ -13128438.33943 -10179705.22342 22612209.149 22612215.322 22612208.496
+ -2935.088 -2287.081 51.000 43.000
+ -1358848.13143 -1047951.35442 24867622.433 24867624.753 24867621.432
+ -3533.862 -2753.659 41.000 34.000
+ -12828240.33943 -9964564.81542 22803437.445 22803443.654 22803436.048
+ 287.982 224.402 49.000 43.000
+ 04 2 1 3 39 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20310822.02343 -15409590.25642 21187177.776 21187182.703 21187176.906
+ -34.387 -26.795 56.000 49.000
+ -11479194.01843 -8883002.37442 22502806.414 22502814.067 22502805.376
+ 3229.427 2516.437 48.000 43.000
+ -25363273.82043 -19576183.42142 20499067.608 20499071.497 20499065.993
+ 552.682 430.661 56.000 51.000
+ -21378676.29743 -16629291.29142 21908230.440 21908237.309 21908229.044
+ 1841.773 1435.148 54.000 47.000
+ -2630596.14043 -2035119.16542 24507513.753 24507521.965 24507514.616
+ 2634.177 2052.605 43.000 38.000
+ -13702739.38643 -10636560.63342 22730976.925 22730980.571 22730975.951
+ 1155.378 900.295 52.000 44.000
+ -13040337.90443 -10111055.68542 22628973.851 22628980.694 22628973.366
+ -2937.812 -2289.204 51.000 43.000
+ -1252857.65143 -965361.43642 24887791.392 24887800.649 24887791.953
+ -3531.968 -2752.183 41.000 34.000
+ -12836660.66343 -9971126.09842 22801835.709 22801841.504 22801834.886
+ 273.517 213.130 50.000 43.000
+ 04 2 1 3 40 0.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20309719.62343 -15408731.26942 21187388.105 21187392.652 21187386.514
+ -38.196 -29.763 56.000 49.000
+ -11575901.61143 -8958358.82142 22484404.502 22484411.855 22484403.340
+ 3218.638 2508.030 49.000 43.000
+ -25379630.28543 -19588928.73642 20495954.723 20495959.344 20495953.484
+ 538.636 419.716 56.000 51.000
+ -21433687.32743 -16672156.98942 21897762.426 21897768.794 21897761.130
+ 1826.548 1423.284 54.000 47.000
+ -2709410.58343 -2096532.99842 24492518.803 24492523.860 24492517.692
+ 2620.825 2042.201 45.000 39.000
+ -13737342.78843 -10663524.33242 22724390.225 22724394.787 22724390.034
+ 1152.497 898.050 51.000 44.000
+ -12952111.30043 -10042307.82342 22645762.744 22645768.552 22645762.629
+ -2942.961 -2293.216 50.000 43.000
+ -1146879.13243 -882780.81942 24907959.143 24907965.669 24907958.788
+ -3532.515 -2752.609 40.000 33.000
+ -12844589.96243 -9977304.75742 22800326.429 22800332.771 22800324.855
+ 256.170 199.613 49.000 43.000
+ 04 2 1 3 40 30.0000000 0 9G 1G27G20G 2G 4G13G11G25G16
+ -20308535.32243 -15407808.46442 21187613.029 21187618.208 21187611.746
+ -41.573 -32.394 56.000 49.000
+ -11672315.52643 -9033486.43542 22466057.212 22466064.465 22466056.467
+ 3208.014 2499.751 49.000 43.000
+ -25395595.57243 -19601369.23842 20492916.886 20492920.652 20492915.461
+ 524.823 408.953 56.000 51.000
+ -21488272.85643 -16714691.11942 21887374.724 21887382.215 21887373.312
+ 1811.677 1411.696 54.000 47.000
+ -2787852.95343 -2157656.93942 24477589.562 24477598.895 24477588.928
+ 2607.603 2031.898 45.000 39.000
+ -13771891.12443 -10690445.09542 22717816.750 22717822.729 22717816.669
+ 1149.898 896.024 51.000 44.000
+ -12863764.64443 -9973466.40242 22662574.854 22662580.554 22662574.227
+ -2947.632 -2296.856 51.000 43.000
+ -800213.79342 24928121.879 24928130.731
+ -3532.682 -2752.739 40.000 32.000
+ -12852030.17943 -9983102.30142 22798911.716 22798917.543 22798909.829
+ 239.123 186.330 50.000 43.000
+ 04 2 1 3 41 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20307266.23843 -15406819.59742 21187854.244 21187859.616 21187853.146
+ -44.468 -34.650 55.000 49.000
+ -11768430.51243 -9108381.12542 22447767.130 22447774.446 22447765.140
+ 3198.085 2492.014 49.000 43.000
+ -25411164.68043 -19613501.03742 20489954.345 20489958.000 20489952.742
+ 511.626 398.670 56.000 51.000
+ -21542426.56943 -16756888.77942 21877069.300 21877076.794 21877068.018
+ 1797.174 1400.395 54.000 47.000
+ -2865917.38843 -2218486.36042 24462736.089 24462741.140 24462734.966
+ 2595.397 2022.387 45.000 38.000
+ -13806381.80843 -10717320.95442 22711253.215 22711257.639 22711253.108
+ 1147.975 894.526 51.000 44.000
+ -12775297.51143 -9904531.12342 22679410.105 22679416.747 22679409.896
+ -2951.692 -2300.020 51.000 43.000
+ -12858976.52743 -9988515.02142 22797587.963 22797595.721 22797586.409
+ 222.663 173.504 49.000 43.000
+ 04 2 1 3 41 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20305913.09543 -15405765.22742 21188112.011 21188116.864 21188110.578
+ -46.725 -36.409 56.000 49.000
+ -11864244.80043 -9183041.49742 22429533.641 22429541.670 22429531.164
+ 3188.546 2484.581 49.000 43.000
+ -25426335.68943 -19625322.62042 20487067.171 20487070.925 20487065.606
+ 498.823 388.693 56.000 51.000
+ -21596145.56743 -16798747.69342 21866847.208 21866853.885 21866845.804
+ 1783.132 1389.454 54.000 47.000
+ -2943601.84443 -2279019.69742 24447954.255 24447958.440 24447952.926
+ 2582.879 2012.633 44.000 37.000
+ -13840816.22243 -10744152.95642 22704701.391 22704705.682 22704700.455
+ 1146.579 893.438 52.000 44.000
+ -12686713.01843 -9835504.40542 22696267.288 22696273.609 22696265.367
+ -2955.041 -2302.629 51.000 43.000
+ -12865427.86643 -9993542.01142 22796362.612 22796367.283 22796359.961
+ 206.572 160.965 50.000 43.000
+ 04 2 1 3 42 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20304477.45543 -15404646.56942 21188385.631 21188390.114 21188384.303
+ -49.299 -38.415 56.000 49.000
+ -11959757.65443 -9257466.98142 22411359.084 22411365.735 22411357.415
+ 3178.560 2476.800 49.000 43.000
+ -25441107.92943 -19636833.47642 20484256.419 20484260.330 20484254.668
+ 485.674 378.447 56.000 51.000
+ -21649428.03043 -16840266.45442 21856707.960 21856714.711 21856706.371
+ 1768.673 1378.187 54.000 47.000
+ -3020905.35343 -2339256.17142 24433242.684 24433248.693 24433239.621
+ 2570.558 2003.032 41.000 37.000
+ -13875195.59343 -10770942.07142 22698158.901 22698162.350 22698157.890
+ 1144.903 892.132 51.000 44.000
+ -12598015.07843 -9766389.29942 22713145.061 22713153.197 22713144.764
+ -2958.654 -2305.445 50.000 44.000
+ -12871384.03443 -9998183.13942 22795228.126 22795234.278 22795226.925
+ 190.136 148.158 50.000 43.000
+ 04 2 1 3 42 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20302959.44943 -15403463.72742 21188674.468 21188679.268 21188673.281
+ -51.851 -40.403 56.000 49.000
+ -12054966.74143 -9331655.77942 22393240.397 22393248.910 22393238.911
+ 3168.586 2469.028 49.000 43.000
+ -25455479.47343 -19648032.10242 20481521.625 20481525.528 20481520.150
+ 472.442 368.137 56.000 51.000
+ -21702270.47943 -16881442.35842 21846652.521 21846658.955 21846651.179
+ 1754.157 1366.876 54.000 48.000
+ -3097825.09943 -2399193.58242 24418605.579 24418609.832 24418606.161
+ 2557.468 1992.832 44.000 37.000
+ -13909520.23443 -10797688.53742 22691627.520 22691631.702 22691626.916
+ 1143.326 890.903 52.000 44.000
+ -12509205.94043 -9697187.52742 22730045.493 22730051.811 22730044.721
+ -2962.298 -2308.284 51.000 43.000
+ -12876843.41443 -10002437.18942 22794188.936 22794194.967 22794188.078
+ 173.842 135.461 50.000 43.000
+ 04 2 1 3 43 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20301360.56443 -15402217.85742 21188978.624 21188983.704 21188977.394
+ -53.777 -41.904 55.000 49.000
+ -12149870.95743 -9405607.01342 22375180.556 22375188.784 22375179.531
+ 3159.249 2461.752 49.000 43.000
+ -25469449.37443 -19658917.75842 20478863.239 20478867.239 20478861.701
+ 459.776 358.267 56.000 51.000
+ -21754670.84743 -16922273.78842 21836680.671 21836687.998 21836679.546
+ 1740.074 1355.902 54.000 48.000
+ -3174359.62543 -2458830.86742 24404040.843 24404046.030 24404040.496
+ 2545.399 1983.428 44.000 38.000
+ -13943791.88743 -10824393.72242 22685105.391 22685109.789 22685104.362
+ 1142.231 890.050 52.000 44.000
+ -12420289.19543 -9627901.91242 22746967.120 22746972.884 22746966.124
+ -2964.929 -2310.334 51.000 44.000
+ -12881805.68043 -10006303.85942 22793245.569 22793250.276 22793243.999
+ 158.078 123.178 51.000 44.000
+ 04 2 1 3 43 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20299679.71243 -15400908.12142 21189298.111 21189303.353 21189297.092
+ -57.498 -44.804 55.000 49.000
+ -12244467.11143 -9479318.19842 22357179.984 22357186.980 22357179.000
+ 3147.939 2452.939 50.000 44.000
+ -25483014.34743 -19669487.88542 20476281.551 20476285.675 20476280.269
+ 445.247 346.946 56.000 51.000
+ -21806624.81343 -16962757.35642 21826794.352 21826801.435 21826792.848
+ 1724.052 1343.417 54.000 47.000
+ -3250505.37643 -2518165.20142 24389549.837 24389558.010 24389549.031
+ 2531.756 1972.797 42.000 37.000
+ -13978010.03343 -10851057.20442 22678593.452 22678599.051 22678592.459
+ 1139.515 887.934 52.000 44.000
+ -12331266.23843 -9558533.54342 22763907.691 22763912.658 22763906.027
+ -2969.365 -2313.791 51.000 44.000
+ -12886267.80943 -10009780.82242 22792395.333 22792401.498 22792394.233
+ 140.264 109.297 49.000 43.000
+ 04 2 1 3 44 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20297917.31043 -15399534.83442 21189633.921 21189639.259 21189632.471
+ -59.278 -46.191 56.000 49.000
+ -12338753.19843 -9552787.77142 22339237.889 22339243.827 22339235.935
+ 3138.483 2445.571 50.000 44.000
+ -25496172.72543 -19679741.18442 20473777.628 20473781.744 20473776.301
+ 432.601 337.092 56.000 51.000
+ -21858129.40843 -17002890.76142 21816992.932 21817000.075 21816991.288
+ 1710.128 1332.567 53.000 47.000
+ -3326259.91543 -2577194.69142 24375134.534 24375140.921 24375132.621
+ 2519.192 1963.007 43.000 37.000
+ -14012175.17543 -10877679.38542 22672093.235 22672096.418 22672091.678
+ 1138.818 887.391 52.000 44.000
+ -12242140.00043 -9489084.69442 22780866.886 22780874.924 22780866.594
+ -2971.783 -2315.675 51.000 44.000
+ -12890228.89343 -10012867.35742 22791642.183 22791647.732 22791639.672
+ 124.488 97.004 50.000 44.000
+ 04 2 1 3 44 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20296076.31043 -15398100.30942 21189984.011 21189989.519 21189982.640
+ -62.140 -48.421 55.000 49.000
+ -12432729.73443 -9626016.14542 22321354.013 22321362.139 22321353.240
+ 3127.898 2437.323 50.000 44.000
+ -25508925.19043 -19689678.18742 20471351.166 20471355.103 20471349.744
+ 418.865 326.388 56.000 51.000
+ -21909184.10943 -17042673.59342 21807277.016 21807284.519 21807276.490
+ 1694.840 1320.655 53.000 47.000
+ -3401623.50843 -2635919.57042 24360794.000 24360798.600 24360793.163
+ 2506.141 1952.837 44.000 37.000
+ -14046290.28043 -10904262.57742 22665600.548 22665604.784 22665599.407
+ 1136.884 885.884 51.000 44.000
+ -12152915.67243 -9419559.40142 22797845.961 22797853.625 22797845.372
+ -2975.211 -2318.346 51.000 44.000
+ -12893689.94843 -10015564.23742 22790983.212 22790989.822 22790982.078
+ 107.608 83.850 50.000 44.000
+ 04 2 1 3 45 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20294154.78343 -15396603.02342 21190350.286 21190354.683 21190348.714
+ -65.705 -51.199 56.000 49.000
+ -12526392.55443 -9699000.06442 22303531.931 22303539.157 22303529.886
+ 3116.319 2428.301 50.000 44.000
+ -25521267.51943 -19699295.60442 20469002.263 20469006.766 20469000.823
+ 404.177 314.943 56.000 51.000
+ -21959783.70443 -17082101.80842 21797649.120 21797656.065 21797647.704
+ 1678.660 1308.047 54.000 48.000
+ -3476591.58443 -2694336.20342 24346527.398 24346533.853 24346525.868
+ 2491.960 1941.787 44.000 38.000
+ -14080353.84843 -10930805.60042 22659118.813 22659122.777 22659117.607
+ 1134.291 883.863 52.000 44.000
+ -12063593.56043 -9349957.92542 22814843.668 22814851.041 22814841.768
+ -2979.343 -2321.566 50.000 44.000
+ -12896647.60543 -10017868.87442 22790419.955 22790426.602 22790419.050
+ 89.863 70.023 49.000 44.000
+ 04 2 1 3 45 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20292156.56843 -15395045.98442 21190729.726 21190734.983 21190728.743
+ -67.768 -52.806 55.000 49.000
+ -12619742.96043 -9771740.55542 22285766.405 22285774.949 22285765.422
+ 3106.503 2420.652 49.000 44.000
+ -25533201.30143 -19708594.67642 20466731.328 20466735.903 20466729.912
+ 391.071 304.731 56.000 51.000
+ -22009928.49943 -17121175.63642 21788107.084 21788113.846 21788105.989
+ 1664.043 1296.657 55.000 48.000
+ -3551165.10543 -2752445.44842 24332335.484 24332343.346 24332334.354
+ 2479.304 1931.925 44.000 38.000
+ -14114369.63643 -10957311.40742 22652645.469 22652649.592 22652645.262
+ 1133.035 882.884 52.000 44.000
+ -11974179.75443 -9280285.01242 22831858.659 22831865.873 22831857.323
+ -2981.926 -2323.579 51.000 44.000
+ -12899103.72343 -10019782.71042 22789953.501 22789957.838 22789951.124
+ 73.607 57.356 50.000 44.000
+ 04 2 1 3 46 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20290079.98743 -15393427.87842 21191125.081 21191130.763 21191123.793
+ -70.289 -54.771 56.000 49.000
+ -12712777.00943 -9844234.51942 22268063.313 22268070.330 22268062.316
+ 3096.058 2412.513 50.000 44.000
+ -25544722.81543 -19717572.49142 20464539.152 20464543.063 20464537.628
+ 377.379 294.062 56.000 51.000
+ -22059613.60443 -17159891.26442 21778652.353 21778658.489 21778650.898
+ 1648.695 1284.697 54.000 48.000
+ -3625339.98043 -2810244.01242 24318222.520 24318227.554 24318220.998
+ 2465.989 1921.550 44.000 38.000
+ -14148336.35243 -10983778.97842 22646182.449 22646186.399 22646181.047
+ 1131.556 881.732 52.000 44.000
+ -11884674.75343 -9210541.03342 22848891.593 22848898.161 22848890.969
+ -2984.721 -2325.757 51.000 44.000
+ -12901055.36143 -10021303.44842 22789582.296 22789587.807 22789581.127
+ 56.815 44.271 50.000 44.000
+ 04 2 1 3 46 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20287923.33043 -15391747.37442 21191535.087 21191540.768 21191534.271
+ -73.253 -57.080 55.000 49.000
+ -12805490.89243 -9916479.01442 22250420.083 22250428.093 22250419.576
+ 3084.910 2403.826 50.000 44.000
+ -25555828.30043 -19726226.13042 20462425.500 20462429.836 20462424.191
+ 363.126 282.955 56.000 51.000
+ -22108834.00843 -17198244.79142 21769285.878 21769292.436 21769284.278
+ 1632.890 1272.382 54.000 48.000
+ -3699111.78743 -2867728.54742 24304183.684 24304190.176 24304182.382
+ 2452.451 1911.001 44.000 38.000
+ -14182252.42743 -11010207.08142 22639727.180 22639732.338 22639725.923
+ 1129.649 880.246 51.000 44.000
+ -11795079.34043 -9140726.59042 22865941.490 22865948.217 22865940.342
+ -2988.003 -2328.314 51.000 44.000
+ -12902499.20743 -10022428.52342 22789306.127 22789313.585 22789305.349
+ 39.778 30.996 49.000 43.000
+ 04 2 1 3 47 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20285690.05643 -15390007.17242 21191959.860 21191965.608 21191959.295
+ -76.224 -59.395 55.000 49.000
+ -12897885.87443 -9988475.01842 22232837.211 22232844.003 22232836.036
+ 3073.916 2395.259 50.000 44.000
+ -25566519.27843 -19734556.77642 20460391.222 20460395.352 20460389.855
+ 348.852 271.833 56.000 51.000
+ -22157589.85343 -17236236.32542 21760007.436 21760014.496 21760006.329
+ 1616.820 1259.860 54.000 47.000
+ -3772481.43443 -2924899.70942 24290220.416 24290230.032 24290221.091
+ 2438.417 1900.065 45.000 38.000
+ -14216121.59643 -11036598.64442 22633282.477 22633288.013 22633282.220
+ 1127.564 878.621 51.000 44.000
+ -11705399.17543 -9070846.12242 22883006.890 22883014.458 22883005.344
+ -2991.291 -2330.876 51.000 43.000
+ -12903437.25643 -10023159.45342 22789128.093 22789134.666 22789127.111
+ 22.204 17.302 49.000 43.000
+ 04 2 1 3 47 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20283379.74243 -15388206.93742 21192400.396 21192405.258 21192398.936
+ -78.631 -61.271 55.000 49.000
+ -12989959.27643 -10060220.43642 22215317.147 22215323.079 22215316.011
+ 3063.464 2387.115 51.000 44.000
+ -25576793.41943 -19742562.61342 20458436.207 20458440.488 20458434.732
+ 335.228 261.217 56.000 51.000
+ -22205877.55743 -17273863.06642 21750818.399 21750825.646 21750817.130
+ 1601.517 1247.935 54.000 48.000
+ -3845446.20143 -2981755.34642 24276335.721 24276343.609 24276336.572
+ 2425.171 1889.744 45.000 38.000
+ -14249943.93143 -11062953.69942 22626846.073 22626850.443 22626846.071
+ 1126.358 877.682 51.000 44.000
+ -11615636.43943 -9000901.30142 22900087.931 22900094.537 22900086.044
+ -2993.711 -2332.762 50.000 43.000
+ -12903867.83243 -10023494.92942 22789044.890 22789052.558 22789044.768
+ 5.529 4.308 49.000 43.000
+ 04 2 1 3 48 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20280993.75143 -15386347.73142 21192854.092 21192859.170 21192852.823
+ -81.351 -63.390 55.000 49.000
+ -13081710.21643 -10131714.59842 22197857.216 22197864.071 22197856.396
+ 3052.395 2378.490 50.000 44.000
+ -25586649.74543 -19750242.88542 20456560.528 20456564.858 20456559.114
+ 320.926 250.072 56.000 51.000
+ -22253695.52443 -17311123.78642 21741719.657 21741726.212 21741718.290
+ 1585.591 1235.525 54.000 48.000
+ -3918004.77943 -3038294.50442 24262529.552 24262534.951 24262528.744
+ 2411.175 1878.838 45.000 38.000
+ -14283721.02543 -11089273.51642 22620418.440 22620423.926 22620417.697
+ 1124.595 876.308 51.000 44.000
+ -11525795.20843 -8930895.32242 22917184.596 22917190.821 22917184.208
+ -2996.476 -2334.916 51.000 43.000
+ -12903790.48243 -10023434.65042 22789059.781 22789067.560 22789059.040
+ -11.554 -9.003 50.000 43.000
+ 04 2 1 3 48 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20278532.26343 -15384429.70742 21193322.654 21193328.159 21193321.513
+ -83.536 -65.093 55.000 49.000
+ -13173136.85243 -10202956.05342 22180458.925 22180466.489 22180457.670
+ 3041.873 2370.291 50.000 44.000
+ -25596086.48743 -19757596.21342 20454765.040 20454768.984 20454763.439
+ 307.404 239.536 56.000 51.000
+ -22301040.64843 -17348016.05642 21732709.531 21732716.664 21732707.696
+ 1570.107 1223.460 54.000 48.000
+ -3990154.66743 -3094515.18642 24248799.907 24248805.174 24248798.557
+ 2397.881 1868.479 45.000 38.000
+ -14317453.20043 -11115558.32842 22613998.671 22614005.729 22613998.429
+ 1123.507 875.460 50.000 44.000
+ -11435877.56943 -8860829.79142 22934294.957 22934301.958 22934293.528
+ -2998.654 -2336.613 50.000 43.000
+ -12903204.15743 -10022977.75842 22789173.155 22789177.813 22789172.693
+ -28.193 -21.968 50.000 44.000
+ 04 2 1 3 49 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20275994.17343 -15382451.98742 21193805.851 21193810.739 21193804.427
+ -85.780 -66.841 55.000 49.000
+ -13264235.76643 -10273942.13642 22163123.157 22163130.830 22163122.448
+ 3031.245 2362.009 50.000 44.000
+ -25605100.50743 -19764620.13942 20453049.620 20453053.607 20453048.152
+ 293.567 228.754 56.000 51.000
+ -22347908.60943 -17384536.50942 21723791.694 21723798.251 21723789.706
+ 1554.351 1211.182 54.000 48.000
+ -4061892.36143 -3150414.66142 24235147.242 24235154.669 24235147.203
+ 2384.500 1858.052 45.000 38.000
+ -14351139.52743 -11141807.41642 22607590.671 22607593.729 22607588.758
+ 1122.162 874.412 52.000 44.000
+ -11345884.81743 -8790705.73842 22951419.881 22951427.394 22951419.150
+ -3000.900 -2338.364 50.000 42.000
+ -12902106.37343 -10022122.31042 22789381.650 22789387.462 22789380.956
+ -45.064 -35.115 50.000 43.000
+ 04 2 1 3 49 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20273381.85343 -15380416.43042 21194302.620 21194307.607 21194301.375
+ -88.492 -68.955 55.000 49.000
+ -13355007.10343 -10344672.95542 22145850.469 22145856.722 22145848.085
+ 3019.875 2353.149 51.000 44.000
+ -25613692.09243 -19771314.90242 20451414.867 20451418.860 20451413.387
+ 279.194 217.554 56.000 51.000
+ -22394298.57043 -17420684.51442 21714963.342 21714970.169 21714962.171
+ 1538.272 1198.653 54.000 48.000
+ -4133217.62543 -3205992.80542 24221575.232 24221582.181 24221575.602
+ 2370.382 1847.051 46.000 38.000
+ -14384782.61143 -11168022.79142 22601187.039 22601191.295 22601186.666
+ 1120.579 873.178 51.000 44.000
+ -11255821.52443 -8720526.71542 22968558.247 22968566.342 22968558.159
+ -3003.562 -2340.438 49.000 42.000
+ -12900498.08743 -10020869.07942 22789687.590 22789692.915 22789687.122
+ -62.246 -48.503 50.000 43.000
+ 04 2 1 3 50 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20270693.88543 -15378321.91742 21194814.736 21194819.301 21194813.229
+ -91.010 -70.917 56.000 49.000
+ -13445447.35643 -10415145.81042 22128639.383 22128647.225 22128638.882
+ 3008.991 2344.668 50.000 44.000
+ -25621857.89643 -19777677.88642 20449861.030 20449864.943 20449859.358
+ 264.913 206.426 56.000 51.000
+ -22440206.20943 -17456456.66442 21706227.724 21706234.415 21706226.252
+ 1522.072 1186.030 55.000 48.000
+ -4204126.61143 -3261246.54142 24208081.762 24208088.160 24208081.402
+ 2356.520 1836.249 46.000 39.000
+ -14418381.20043 -11194203.50542 22594794.288 22594799.119 22594793.615
+ 1119.157 872.070 52.000 44.000
+ -11165688.69843 -8650293.51642 22985709.391 22985717.241 22985709.183
+ -3005.831 -2342.206 49.000 42.000
+ -12898376.63143 -10019215.98542 22790091.080 22790096.843 22790089.363
+ -79.493 -61.942 50.000 43.000
+ 04 2 1 3 50 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20267934.92743 -15376172.09842 21195338.866 21195344.330 21195337.908
+ -93.520 -72.873 55.000 49.000
+ -13535559.04043 -10485362.63242 22111492.595 22111499.484 22111492.049
+ 2997.884 2336.014 50.000 44.000
+ -25629600.45943 -19783711.06942 20448387.281 20448391.665 20448385.828
+ 250.663 195.322 56.000 51.000
+ -22485632.79343 -17491853.97242 21697583.466 21697590.237 21697581.615
+ 1505.760 1173.319 55.000 48.000
+ -4274621.48243 -3316177.61042 24194668.718 24194673.273 24194667.857
+ 2342.613 1825.413 48.000 39.000
+ -14451940.42543 -11220353.53942 22588408.022 22588412.700 22588407.135
+ 1117.594 870.852 52.000 44.000
+ -11075493.32943 -8580011.59042 23002874.490 23002881.470 23002873.675
+ -3007.921 -2343.834 50.000 42.000
+ -12895745.26443 -10017165.52842 22790591.927 22790597.215 22790591.527
+ -96.749 -75.389 50.000 43.000
+ 04 2 1 3 51 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20265099.53543 -15373962.71242 21195878.894 21195883.718 21195877.718
+ -95.780 -74.634 55.000 49.000
+ -13625334.46143 -10555317.42742 22094408.730 22094415.845 22094408.324
+ 2986.963 2327.504 50.000 44.000
+ -25636912.66643 -19789408.91342 20446996.180 20447000.184 20446994.704
+ 236.484 184.273 56.000 51.000
+ -22530569.75043 -17526869.74442 21689031.776 21689038.192 21689030.356
+ 1489.613 1160.737 54.000 48.000
+ -4344694.30943 -3370779.79842 24181333.794 24181338.536 24181331.942
+ 2328.589 1814.485 46.000 39.000
+ -14485454.95243 -11246468.74042 22582030.160 22582035.229 22582029.292
+ 1116.391 869.915 52.000 45.000
+ -10985232.49943 -8509678.63642 23020050.562 23020058.657 23020050.000
+ -3009.723 -2345.239 50.000 43.000
+ -12892597.17843 -10014712.44542 22791191.349 22791196.802 22791189.487
+ -113.686 -88.586 50.000 43.000
+ 04 2 1 3 51 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20262188.72643 -15371694.56542 21196433.026 21196438.042 21196431.796
+ -98.283 -76.584 56.000 49.000
+ -13714772.79043 -10625009.55042 22077388.827 22077395.303 22077387.033
+ 2975.547 2318.608 51.000 44.000
+ -25643793.75143 -19794770.81442 20445686.483 20445690.716 20445685.211
+ 222.120 173.081 56.000 51.000
+ -22575015.35043 -17561502.64842 21680573.862 21680580.444 21680572.533
+ 1473.302 1148.028 54.000 48.000
+ -4414343.96943 -3425052.23142 24168076.810 24168086.315 24168076.572
+ 2314.807 1803.746 45.000 39.000
+ -14518926.17643 -11272550.20742 22575660.718 22575665.252 22575658.837
+ 1115.007 868.837 51.000 44.000
+ -10894909.68643 -8439297.41042 23037239.689 23037246.168 23037238.397
+ -3011.584 -2346.689 50.000 43.000
+ -12888932.49943 -10011856.83642 22791888.514 22791893.946 22791887.072
+ -130.771 -101.899 50.000 43.000
+ 04 2 1 3 52 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20259209.49343 -15369373.10342 21196999.494 21197005.215 21196998.423
+ -99.598 -77.609 55.000 49.000
+ -13803879.02543 -10694442.90842 22060432.223 22060440.311 22060431.061
+ 2965.549 2310.817 50.000 44.000
+ -25650248.85243 -19799800.78442 20444458.241 20444462.502 20444456.974
+ 208.850 162.740 56.000 51.000
+ -22618973.59243 -17595755.79742 21672208.324 21672215.848 21672207.054
+ 1457.931 1136.050 54.000 48.000
+ -4483574.89743 -3478998.40642 24154904.753 24154910.455 24154902.133
+ 2301.502 1793.378 47.000 39.000
+ -14552361.47643 -11298603.68242 22569299.433 22569302.514 22569298.381
+ 1114.707 868.603 52.000 44.000
+ -10804534.08643 -8368875.04342 23054436.818 23054443.441 23054435.673
+ -3012.533 -2347.428 50.000 43.000
+ -12884756.85643 -10008603.06542 22792682.139 22792688.423 22792681.637
+ -146.797 -114.387 50.000 43.000
+ 04 2 1 3 52 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20256155.30143 -15366993.22942 21197580.336 21197586.285 21197579.448
+ -102.652 -79.988 55.000 49.000
+ -13892644.41843 -10763610.67642 22043541.272 22043547.760 22043539.295
+ 2953.506 2301.433 51.000 45.000
+ -25656269.22543 -19804492.00642 20443312.860 20443316.893 20443311.259
+ 193.904 151.094 56.000 51.000
+ -22662434.62143 -17629621.49442 21663938.423 21663945.135 21663937.475
+ 1440.804 1122.704 54.000 48.000
+ -4552378.38843 -3532611.49742 24141811.222 24141818.603 24141812.353
+ 2286.711 1781.853 47.000 39.000
+ -14585754.22043 -11324623.98342 22562943.729 22562949.093 22562943.231
+ 1112.843 867.150 52.000 44.000
+ -10714101.66443 -8298408.39542 23071645.880 23071653.777 23071644.533
+ -3014.912 -2349.282 50.000 43.000
+ -12880062.44843 -10004945.06542 22793576.502 22793581.648 22793574.590
+ -164.682 -128.324 50.000 43.000
+ 04 2 1 3 53 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20253028.69143 -15364556.92242 21198175.457 21198180.767 21198173.984
+ -105.881 -82.505 55.000 49.000
+ -13981069.51143 -10832513.27642 22026714.650 22026721.083 22026713.713
+ 2941.366 2291.974 50.000 44.000
+ -25661855.77943 -19808845.18442 20442249.604 20442253.927 20442248.221
+ 178.556 139.135 56.000 51.000
+ -22705398.16643 -17663099.54342 21655763.255 21655769.944 21655761.681
+ 1423.444 1109.177 54.000 48.000
+ -4620754.48743 -3585891.54142 24128801.038 24128806.485 24128800.367
+ 2271.602 1770.079 47.000 39.000
+ -14619107.38143 -11350613.45342 22556595.889 22556601.189 22556595.736
+ 1110.799 865.558 51.000 44.000
+ -10623617.20743 -8227901.19442 23088864.253 23088871.342 23088863.211
+ -3017.506 -2351.303 50.000 43.000
+ -12874851.02843 -10000884.19042 22794567.601 22794573.850 22794567.465
+ -182.807 -142.447 50.000 44.000
+ 04 2 1 3 53 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20249833.73543 -15362067.36642 21198783.717 21198788.987 21198782.507
+ -107.612 -83.853 55.000 49.000
+ -14069156.55643 -10901152.46242 22009951.740 22009958.505 22009950.433
+ 2930.608 2283.591 51.000 45.000
+ -25667010.93743 -19812862.21342 20441268.324 20441272.707 20441266.796
+ 164.807 128.421 56.000 51.000
+ -22747865.46543 -17696190.90642 21647682.056 21647687.990 21647680.489
+ 1407.422 1096.692 55.000 48.000
+ -4688705.18243 -3638840.12842 24115870.834 24115875.695 24115868.636
+ 2258.123 1759.576 48.000 39.000
+ -14652425.46943 -11376575.58742 22550257.069 22550261.171 22550255.514
+ 1109.964 864.907 52.000 44.000
+ -10533087.38443 -8157358.64742 23106091.979 23106097.773 23106089.941
+ -3018.325 -2351.941 50.000 42.000
+ -12869125.54743 -9996422.76042 22795657.460 22795662.982 22795655.580
+ -199.145 -155.178 51.000 44.000
+ 04 2 1 3 54 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20246564.86543 -15359520.20742 21199405.757 21199411.284 21199404.721
+ -110.355 -85.991 55.000 49.000
+ -14156897.74343 -10969522.14942 21993255.362 21993262.201 21993254.439
+ 2918.732 2274.337 51.000 45.000
+ -25671727.14143 -19816537.19942 20440371.098 20440375.231 20440369.687
+ 149.707 116.655 56.000 51.000
+ -22789827.71743 -17728888.74742 21639696.594 21639703.065 21639695.735
+ 1390.115 1083.206 55.000 48.000
+ -4756222.40943 -3691450.94442 24103021.656 24103026.377 24103019.406
+ 2243.126 1747.890 47.000 39.000
+ -14685703.10943 -11402506.21342 22543924.254 22543928.420 22543923.761
+ 1108.393 863.683 52.000 44.000
+ -10442508.59943 -8086777.94742 23123329.273 23123336.008 23123327.155
+ -3020.331 -2353.505 50.000 42.000
+ -12862879.19143 -9991555.44942 22796846.907 22796851.950 22796844.635
+ -217.142 -169.201 50.000 43.000
+ 04 2 1 3 54 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20243226.43043 -15356918.84342 21200041.347 21200046.418 21200040.068
+ -112.945 -88.009 56.000 49.000
+ -14244295.73043 -11037624.41942 21976622.955 21976630.188 21976622.922
+ 2907.001 2265.195 50.000 45.000
+ -25676006.91443 -19819872.10742 20439556.798 20439560.989 20439555.588
+ 134.878 105.100 56.000 51.000
+ -22831286.87043 -17761194.54342 21631807.161 21631813.783 21631806.192
+ 1373.097 1069.946 55.000 48.000
+ -4823308.34543 -3743725.66642 24090255.515 24090260.810 24090254.758
+ 2228.407 1736.421 46.000 39.000
+ -14718944.93943 -11428408.91842 22537598.741 22537603.073 22537597.918
+ 1107.005 862.601 52.000 44.000
+ -10351888.15443 -8016164.80442 23140573.112 23140580.567 23140571.279
+ -3021.892 -2354.721 49.000 42.000
+ -12856115.21243 -9986284.80442 22798132.562 22798138.412 22798131.077
+ -234.633 -182.831 50.000 43.000
+ 04 2 1 3 55 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20239813.98243 -15354259.80642 21200690.417 21200695.835 21200689.428
+ -114.506 -89.225 56.000 49.000
+ -14331343.92743 -11105454.10542 21960059.294 21960065.304 21960057.514
+ 2896.133 2256.727 51.000 45.000
+ -25679844.13543 -19822862.16842 20438826.578 20438830.464 20438824.937
+ 120.972 94.264 56.000 51.000
+ -22872235.36443 -17793102.43342 21624014.996 21624021.208 21624013.335
+ 1356.795 1057.243 55.000 48.000
+ -4889956.15243 -3795659.04942 24077572.420 24077578.158 24077572.297
+ 2214.645 1725.697 47.000 39.000
+ -14752146.73943 -11454280.45042 22531280.540 22531283.941 22531280.415
+ 1106.539 862.238 52.000 44.000
+ -10261223.72943 -7945517.37042 23157825.673 23157833.100 23157824.211
+ -3022.152 -2354.924 49.000 42.000
+ -12848828.21643 -9980606.62442 22799519.738 22799525.891 22799518.481
+ -251.152 -195.703 50.000 43.000
+ 04 2 1 3 55 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20236334.33843 -15351548.40442 21201352.540 21201357.892 21201351.288
+ -117.200 -91.325 56.000 49.000
+ -14418047.42843 -11173015.22042 21943560.562 21943566.437 21943559.182
+ 2884.567 2247.715 51.000 45.000
+ -25683244.18743 -19825511.57742 20438179.530 20438183.601 20438177.989
+ 106.093 82.670 56.000 51.000
+ -22912677.13843 -17824615.47542 21616318.547 21616325.587 21616317.127
+ 1339.635 1043.871 54.000 48.000
+ -4956170.67643 -3847254.74742 24064973.475 24064979.404 24064973.037
+ 2199.923 1714.226 47.000 39.000
+ -14785315.41543 -11480126.16142 22524968.016 22524972.682 22524967.313
+ 1105.054 861.081 51.000 44.000
+ -10170524.34643 -7874842.71042 23175084.133 23175094.093 23175084.884
+ -3023.932 -2356.311 48.000 42.000
+ -12841024.15443 -9974525.52542 22801004.745 22801010.031 22801005.007
+ -268.554 -209.263 50.000 43.000
+ 04 2 1 3 56 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20232784.62643 -15348782.41342 21202028.334 21202033.569 21202027.109
+ -118.844 -92.606 55.000 49.000
+ -14504401.30643 -11240303.90042 21927126.321 21927133.722 21927125.258
+ 2873.062 2238.750 51.000 45.000
+ -25686202.36743 -19827816.67242 20437616.815 20437620.882 20437615.279
+ 91.866 71.584 56.000 51.000
+ -22952606.82343 -17855729.46742 21608720.448 21608727.554 21608718.700
+ 1323.034 1030.936 54.000 48.000
+ -5021946.99343 -3898509.02642 24052454.638 24052462.721 24052455.260
+ 2185.836 1703.249 46.000 39.000
+ -14818448.71943 -11505944.31242 22518662.817 22518667.884 22518662.645
+ 1104.496 860.646 52.000 45.000
+ -10079789.91343 -7804140.74042 23192352.491 23192359.150 23192351.696
+ -3024.562 -2356.801 49.000 42.000
+ -12832699.34743 -9968038.65842 22802588.819 22802595.513 22802587.450
+ -285.377 -222.372 50.000 43.000
+ 04 2 1 3 56 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20229165.12743 -15345962.03642 21202717.381 21202722.197 21202716.030
+ -121.866 -94.960 56.000 49.000
+ -14590404.20643 -11307319.08142 21910760.870 21910768.083 21910759.664
+ 2860.993 2229.345 51.000 45.000
+ -25688717.24443 -19829776.34042 20437138.424 20437142.011 20437136.984
+ 76.349 59.493 56.000 51.000
+ -22992021.80443 -17886442.39942 21601220.468 21601226.858 21601218.762
+ 1305.083 1016.948 55.000 48.000
+ -5087283.05143 -3949420.25042 24040022.920 24040030.189 24040023.082
+ 2170.538 1691.328 46.000 40.000
+ -14851547.19843 -11531735.32942 22512364.626 22512369.315 22512363.560
+ 1102.628 859.191 52.000 44.000
+ -9989022.94943 -7733413.43142 23209625.943 23209631.782 23209623.163
+ -3026.134 -2358.026 49.000 42.000
+ -12823853.05543 -9961145.44142 22804272.965 22804277.924 22804270.887
+ -303.548 -236.531 50.000 43.000
+ 04 2 1 3 57 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20225474.50243 -15343086.23042 21203419.678 21203424.334 21203417.826
+ -123.976 -96.605 56.000 49.000
+ -14676052.74443 -11374058.12942 21894462.702 21894470.260 21894461.462
+ 2849.156 2220.122 51.000 45.000
+ -25690785.72043 -19831388.16242 20436744.567 20436748.758 20436743.033
+ 61.672 48.056 56.000 51.000
+ -23030917.95243 -17916751.04442 21593817.952 21593825.215 21593816.609
+ 1288.001 1003.637 54.000 48.000
+ -5152175.17343 -3999985.53342 24027674.228 24027681.176 24027675.154
+ 2155.659 1679.734 46.000 40.000
+ -14884609.65143 -11557498.25442 22506073.451 22506078.019 22506072.279
+ 1101.543 858.345 52.000 44.000
+ -9898224.61343 -7662661.65542 23226901.998 23226909.728 23226901.043
+ -3027.005 -2358.705 48.000 42.000
+ -12814482.94543 -9953844.04642 22806056.059 22806061.361 22806054.246
+ -320.905 -250.056 50.000 43.000
+ 04 2 1 3 57 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20221716.00043 -15340157.52942 21204134.332 21204139.956 21204133.431
+ -126.972 -98.939 55.000 49.000
+ -14761348.34543 -11440522.17142 21878232.213 21878238.208 21878230.688
+ 2836.789 2210.485 51.000 45.000
+ -25692409.77143 -19832653.67542 20436435.494 20436439.892 20436434.095
+ 46.169 35.976 56.000 51.000
+ -23069295.87443 -17946655.87542 21586515.728 21586521.628 21586513.990
+ 1270.039 989.641 55.000 48.000
+ -5216624.87443 -4050206.02842 24015409.824 24015416.444 24015409.141
+ 2140.517 1667.935 46.000 39.000
+ -14917639.70943 -11583235.93142 22499787.455 22499792.336 22499787.555
+ 1099.974 857.122 51.000 44.000
+ -9807400.47543 -7591889.79042 23244185.982 23244194.824 23244184.626
+ -3028.555 -2359.913 48.000 42.000
+ -12804591.71643 -9946136.58042 22807937.330 22807944.095 22807935.837
+ -338.978 -264.139 50.000 43.000
+ 04 2 1 3 58 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20217889.35943 -15337175.73742 21204862.435 21204867.801 21204861.244
+ -128.704 -100.289 55.000 49.000
+ -14846289.16443 -11506709.75342 21862067.582 21862074.475 21862066.336
+ 2825.400 2201.610 51.000 45.000
+ -25693587.13443 -19833571.12342 20436211.322 20436215.725 20436209.993
+ 31.774 24.759 56.000 51.000
+ -23107152.61843 -17976154.60042 21579311.503 21579318.258 21579310.116
+ 1253.237 976.548 55.000 48.000
+ -5280629.65743 -4100079.87542 24003228.145 24003234.247 24003229.994
+ 2125.875 1656.526 45.000 38.000
+ -14950637.40843 -11608948.41542 22493508.843 22493513.425 22493507.829
+ 1099.324 856.616 52.000 44.000
+ -9716552.67243 -7521099.48242 23261473.420 23261482.194 23261471.972
+ -3028.751 -2360.066 48.000 41.000
+ -12794178.29143 -9938022.21742 22809919.584 22809925.486 22809918.166
+ -355.765 -277.219 50.000 43.000
+ 04 2 1 3 58 30.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20213995.54543 -15334141.60842 21205603.340 21205609.186 21205602.236
+ -130.755 -101.887 55.000 49.000
+ -14930874.09243 -11572620.02742 21845971.976 21845978.478 21845970.471
+ 2813.852 2192.612 51.000 45.000
+ -25694317.45143 -19834140.22542 20436072.820 20436076.800 20436071.190
+ 16.983 13.234 56.000 51.000
+ -23144486.44343 -18005245.84742 21572207.247 21572214.132 21572205.570
+ 1235.895 963.035 55.000 48.000
+ -5344188.38343 -4149606.13442 23991135.024 23991141.831 23991135.474
+ 2111.412 1645.256 46.000 39.000
+ -14983603.92043 -11634636.58242 22487234.748 22487239.285 22487233.871
+ 1098.487 855.964 52.000 44.000
+ -9625684.63343 -7450293.41442 23278765.639 23278773.296 23278765.179
+ -3028.935 -2360.209 48.000 42.000
+ -12783242.54943 -9929500.85442 22812000.425 22812005.652 22811999.879
+ -372.963 -290.620 50.000 43.000
+ 04 2 1 3 59 0.0000000 0 8G 1G27G20G 2G 4G13G11G16
+ -20210032.67143 -15331053.66342 21206357.966 21206363.000 21206356.635
+ -133.393 -103.942 55.000 49.000
+ -15015099.58843 -11638250.21342 21829944.098 21829950.876 21829943.151
+ 2801.268 2182.806 51.000 45.000
+ -25694597.19643 -19834358.22942 20436019.129 20436023.600 20436017.633
+ 1.522 1.186 56.000 51.000
+ -23181292.84543 -18033926.12242 21565202.913 21565209.193 21565201.119
+ 1217.847 948.972 55.000 48.000
+ -5407297.12743 -4198781.75942 23979127.325 23979133.646 23979127.280
+ 2095.971 1633.224 47.000 40.000
+ -15016537.83043 -11660299.35142 22480968.624 22480972.854 22480967.584
+ 1097.055 854.848 52.000 45.000
+ -9534797.04543 -7379472.11942 23296060.311 23296068.948 23296059.464
+ -3030.162 -2361.165 48.000 41.000
+ -12771782.00043 -9920570.52742 22814180.382 22814185.853 22814178.815
+ -390.923 -304.615 49.000 43.000
+ 04 2 1 3 59 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20206002.44643 -15327913.23342 21207124.899 21207129.691 21207123.460
+ -135.270 -105.405 56.000 49.000
+ -15098965.49243 -11703600.21342 21813984.876 21813992.013 21813984.153
+ 2789.770 2173.847 51.000 45.000
+ -25694426.71343 -19834225.41342 20436051.339 20436055.975 20436050.032
+ -12.950 -10.091 56.000 51.000
+ -23217571.03443 -18062194.80342 21558298.877 21558305.659 21558298.065
+ 1200.688 935.601 55.000 48.000
+ -5469955.58043 -4247606.50342 23967201.637 23967210.794 23967201.340
+ 2081.022 1621.576 46.000 40.000
+ -284507.17853 -210534.75552 24975159.326 24975172.428 24975157.023
+ 3376.306 2630.888 45.000 37.000
+ -15049441.18143 -11685938.30242 22474707.447 22474711.196 22474706.239
+ 1096.571 854.471 52.000 45.000
+ -9443893.62443 -7308638.47542 23313358.264 23313367.226 23313358.029
+ -3029.932 -2360.986 48.000 41.000
+ -12759797.83743 -9911232.22142 22816461.974 22816466.453 22816460.681
+ -407.983 -317.909 50.000 43.000
+ 04 2 1 4 0 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20201904.92043 -15324720.36742 21207904.023 21207909.826 21207903.452
+ -137.038 -106.783 55.000 49.000
+ -15182470.38943 -11768668.91242 21798095.180 21798100.874 21798093.263
+ 2778.139 2164.784 51.000 45.000
+ -25693804.41943 -19833740.53042 20436170.296 20436174.610 20436168.814
+ -27.510 -21.436 56.000 51.000
+ -23253318.39243 -18090049.84742 21551496.448 21551503.871 21551495.196
+ 1183.466 922.181 55.000 48.000
+ -5532161.77643 -4296078.83142 23955364.568 23955371.882 23955364.727
+ 2066.599 1610.337 47.000 40.000
+ -385712.86043 -289396.07742 24955898.759 24955912.480 24955898.191
+ 3371.618 2627.235 45.000 39.000
+ -15082314.03643 -11711553.49342 22468450.537 22468455.838 22468450.765
+ 1095.976 854.007 51.000 44.000
+ -9352977.16943 -7237794.67042 23330661.230 23330669.374 23330659.159
+ -3030.040 -2361.070 49.000 42.000
+ -12747289.27043 -9901485.27842 22818841.440 22818846.721 22818840.831
+ -424.858 -331.058 49.000 42.000
+ 04 2 1 4 0 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20197740.14043 -15321475.08742 21208696.890 21208702.086 21208695.681
+ -139.697 -108.855 55.000 49.000
+ -15265612.61443 -11833455.00642 21782272.631 21782279.985 21782271.404
+ 2765.670 2155.068 51.000 45.000
+ -25692728.90143 -19832902.48342 20436375.005 20436379.299 20436373.464
+ -43.140 -33.615 56.000 51.000
+ -23288532.41043 -18117489.30742 21544796.065 21544802.770 21544794.490
+ 1165.171 907.925 55.000 48.000
+ -5593914.15643 -4344197.55742 23943614.759 23943619.875 23943612.928
+ 2051.112 1598.269 47.000 40.000
+ -486755.08143 -368129.98842 24936669.619 24936684.150 24936667.863
+ 3365.690 2622.616 43.000 38.000
+ -15115156.90943 -11737145.33142 22462202.526 22462205.513 22462201.264
+ 1094.609 852.942 52.000 45.000
+ -9262050.22443 -7166942.71842 23347963.727 23347972.482 23347963.270
+ -3030.655 -2361.549 49.000 42.000
+ -12734255.87243 -9891329.37542 22821322.413 22821328.074 22821322.575
+ -442.874 -345.097 50.000 43.000
+ 04 2 1 4 1 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20193508.62143 -15318177.80642 21209502.077 21209507.290 21209500.870
+ -142.641 -111.149 55.000 49.000
+ -15348391.12343 -11897957.67242 21766520.814 21766527.260 21766519.383
+ 2752.682 2144.947 52.000 45.000
+ -25691199.29643 -19831710.59542 20436665.941 20436670.202 20436664.585
+ -59.015 -45.986 56.000 51.000
+ -23323211.33343 -18144511.80742 21538197.175 21538203.130 21538195.462
+ 1146.659 893.501 55.000 48.000
+ -5655211.02943 -4391961.33042 23931949.131 23931957.120 23931947.522
+ 2034.866 1585.610 47.000 40.000
+ -587632.27643 -446735.33342 24917473.752 24917485.815 24917473.492
+ 3359.190 2617.551 44.000 38.000
+ -15147970.80043 -11762714.56742 22455957.161 22455961.159 22455956.930
+ 1092.871 851.588 52.000 45.000
+ -9171115.87743 -7096084.99242 23365269.553 23365276.843 23365268.154
+ -3031.686 -2362.353 50.000 42.000
+ -12720697.68543 -9880764.54642 22823902.875 22823907.338 22823900.899
+ -461.130 -359.322 50.000 43.000
+ 04 2 1 4 1 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20189210.28143 -15314828.46442 21210320.886 21210324.802 21210319.300
+ -144.565 -112.648 56.000 49.000
+ -15430804.04143 -11962175.47642 21750837.727 21750844.510 21750836.202
+ 2740.915 2135.778 51.000 45.000
+ -25689214.18143 -19830163.77342 20437043.566 20437047.771 20437042.386
+ -73.970 -57.639 56.000 51.000
+ -23357352.42843 -18171115.22742 21531699.585 21531706.385 21531698.607
+ 1128.966 879.714 55.000 48.000
+ -5716050.75143 -4439368.89042 23920371.419 23920378.167 23920372.302
+ 2020.217 1574.195 47.000 40.000
+ -688342.63543 -525210.69042 24898308.109 24898320.881 24898306.680
+ 3354.032 2613.531 43.000 38.000
+ -15180756.05643 -11788261.50642 22449718.507 22449722.918 22449717.636
+ 1092.202 851.066 52.000 45.000
+ -9080176.24443 -7025223.14242 23382574.472 23382581.991 23382573.967
+ -3031.486 -2362.197 50.000 42.000
+ -12706613.97343 -9869790.19842 22826581.705 22826588.134 22826580.836
+ -478.335 -372.728 49.000 43.000
+ 04 2 1 4 2 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20184842.81643 -15311425.27142 21211151.203 21211156.325 21211150.357
+ -146.716 -114.324 55.000 49.000
+ -15512847.52243 -12026105.39542 21735225.810 21735231.959 21735224.541
+ 2728.705 2126.264 52.000 46.000
+ -25686769.75943 -19828259.04442 20437508.647 20437513.006 20437507.258
+ -89.082 -69.414 56.000 51.000
+ -23390950.94943 -18197295.85642 21525306.314 21525312.675 21525304.710
+ 1111.015 865.726 55.000 48.000
+ -5776428.99043 -4486416.84542 23908884.038 23908887.808 23908883.080
+ 2004.888 1562.250 48.000 40.000
+ -788881.58343 -603552.51242 24879176.546 24879190.169 24879175.063
+ 3348.589 2609.290 43.000 38.000
+ -15213510.37743 -11813784.33342 22443486.175 22443489.783 22443485.246
+ 1091.378 850.424 53.000 45.000
+ -8989231.61743 -6954357.39742 23399880.101 23399887.621 23399878.630
+ -3031.492 -2362.201 50.000 42.000
+ -12692001.79543 -9858404.06042 22829362.738 22829367.445 22829361.896
+ -495.897 -386.413 49.000 43.000
+ 04 2 1 4 2 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20180411.08743 -15307971.99742 21211995.367 21211999.800 21211994.059
+ -148.906 -116.031 56.000 49.000
+ -15594524.46443 -12089749.70542 21719683.169 21719690.358 21719682.027
+ 2716.412 2116.685 52.000 46.000
+ -25683869.52043 -19825999.13242 20438060.955 20438065.111 20438059.278
+ -104.386 -81.340 56.000 51.000
+ -23424009.32043 -18223055.60642 21519015.436 21519021.625 21519014.078
+ 1092.813 851.543 55.000 48.000
+ -5836348.44843 -4533107.27542 23897479.599 23897486.180 23897479.208
+ 1989.515 1550.271 47.000 40.000
+ -889251.89243 -681762.95442 24860076.752 24860090.230 24860074.566
+ 3342.764 2604.751 42.000 37.000
+ -15246239.17343 -11839287.27642 22437258.050 22437261.946 22437256.975
+ 1090.595 849.814 53.000 45.000
+ -8898289.08043 -6883493.27142 23417186.775 23417192.694 23417185.663
+ -3031.275 -2362.032 50.000 41.000
+ -12676865.41743 -9846609.45842 22832242.881 22832249.015 22832241.917
+ -513.425 -400.071 49.000 43.000
+ 04 2 1 4 3 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20175914.27943 -15304468.01442 21212850.567 21212855.500 21212849.374
+ -151.891 -118.357 55.000 49.000
+ -15675832.85943 -12153106.83042 21704210.615 21704217.081 21704208.779
+ 2703.133 2106.337 52.000 46.000
+ -25680511.38943 -19823382.42342 20438699.563 20438704.123 20438698.180
+ -120.460 -93.865 56.000 51.000
+ -23456524.64143 -18248392.19642 21512828.065 21512834.376 21512826.312
+ 1073.731 836.674 55.000 48.000
+ -5895806.75843 -4579438.42442 23886167.075 23886173.268 23886164.620
+ 1973.283 1537.623 49.000 40.000
+ -989450.89443 -759839.93142 24841010.725 24841023.581 24841007.721
+ 3335.894 2599.398 41.000 36.000
+ -15278941.78743 -11864769.83042 22431033.778 22431039.171 22431033.930
+ 1088.847 848.452 52.000 45.000
+ -8807350.52343 -6812632.25242 23434492.711 23434499.336 23434491.030
+ -3031.951 -2362.559 51.000 41.000
+ -12661204.02043 -9834405.76142 22835223.683 22835228.569 22835221.815
+ -531.640 -414.265 49.000 43.000
+ 04 2 1 4 3 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20171350.64443 -15300911.96042 21213718.770 21213723.758 21213717.545
+ -153.197 -119.374 56.000 49.000
+ -15756769.30843 -12216174.13142 21688808.700 21688815.096 21688807.830
+ 2691.695 2097.425 52.000 46.000
+ -25676692.31043 -19820406.53642 20439426.580 20439430.725 20439425.180
+ -135.044 -105.229 56.000 51.000
+ -23488492.69543 -18273302.34442 21506744.225 21506750.878 21506742.951
+ 1056.438 823.198 55.000 48.000
+ -5954800.38643 -4625407.48642 23874940.470 23874945.538 23874940.959
+ 1958.724 1526.278 48.000 40.000
+ -1089474.48343 -837780.18942 24821974.761 24821988.102 24821974.070
+ 3331.092 2595.656 41.000 36.000
+ -15311616.71743 -11890230.80242 22424817.405 22424821.507 22424816.157
+ 1088.767 848.390 53.000 45.000
+ -8716416.51743 -6741774.78342 23451795.412 23451803.415 23451794.199
+ -3031.050 -2361.857 50.000 41.000
+ -12645015.24143 -9821791.10442 22838303.989 22838309.149 22838302.807
+ -548.341 -427.279 49.000 42.000
+ 04 2 1 4 4 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20166720.61843 -15297304.16942 21214599.568 21214604.880 21214598.570
+ -155.102 -120.859 55.000 49.000
+ -15837332.67443 -12278950.72242 21673478.104 21673483.259 21673476.678
+ 2679.281 2087.751 52.000 46.000
+ -25672411.35643 -19817070.74142 20440240.834 20440245.651 20440239.682
+ -150.579 -117.334 56.000 51.000
+ -23519911.45243 -18297784.46242 21500766.309 21500772.261 21500764.610
+ 1038.177 808.969 55.000 48.000
+ -6013328.10643 -4671013.49242 23863802.061 23863807.342 23863802.139
+ 1943.298 1514.258 47.000 40.000
+ -1189321.44143 -915582.85742 24802973.586 24802989.445 24802975.179
+ 3325.262 2591.113 39.000 36.000
+ -15344264.84443 -11915670.88842 22418603.897 22418607.811 22418604.456
+ 1087.946 847.750 53.000 45.000
+ -8625489.93543 -6670923.09742 23469098.670 23469107.304 23469096.907
+ -3030.513 -2361.439 49.000 41.000
+ -12628298.85543 -9808765.32742 22841485.236 22841489.574 22841483.124
+ -565.892 -440.955 49.000 42.000
+ 04 2 1 4 4 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20162025.11243 -15293645.34542 21215493.629 21215498.793 21215492.664
+ -157.690 -122.875 56.000 49.000
+ -15917522.40943 -12341436.16842 21658218.086 21658225.131 21658216.800
+ 2666.565 2077.843 52.000 46.000
+ -25667668.22043 -19813374.81042 20441143.679 20441148.034 20441142.325
+ -166.033 -129.376 56.000 51.000
+ -23550779.61643 -18321837.55842 21494891.297 21494898.238 21494890.159
+ 1019.643 794.527 55.000 48.000
+ -6071389.09643 -4716255.79242 23852752.914 23852760.485 23852752.153
+ 1927.312 1501.802 47.000 40.000
+ -2864410.53353 -2220846.85952 24784008.446 24784021.214 24784008.014
+ 3319.338 2586.497 39.000 36.000
+ -15376887.49943 -11941091.11542 22412396.477 22412400.265 22412395.526
+ 1086.813 846.867 53.000 45.000
+ -8534574.25843 -6600079.91442 23486400.132 23486405.664 23486399.165
+ -3030.460 -2361.397 49.000 41.000
+ -12611055.42343 -9795328.86542 22844766.314 22844771.489 22844764.763
+ -583.637 -454.782 49.000 43.000
+ 04 2 1 4 5 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20157263.48743 -15289935.01742 21216399.615 21216404.927 21216398.471
+ -159.679 -124.425 55.000 49.000
+ -15997336.43043 -12403628.85342 21643030.227 21643036.894 21643028.993
+ 2654.306 2068.290 52.000 46.000
+ -25662461.19643 -19809317.40342 20442134.814 20442139.000 20442133.117
+ -181.210 -141.202 56.000 51.000
+ -23581094.39143 -18345459.42942 21489122.575 21489129.675 21489121.381
+ 1001.355 780.277 55.000 48.000
+ -6128980.75043 -4761132.41042 23841794.818 23841798.555 23841794.609
+ 1911.993 1489.865 48.000 40.000
+ -2963899.18543 -2298370.35042 24765077.931 24765090.591 24765076.498
+ 3313.300 2581.792 42.000 37.000
+ -15409484.53943 -11966491.39442 22406192.414 22406197.514 22406191.388
+ 1086.296 846.464 52.000 45.000
+ -8443671.31543 -6529246.65642 23503699.065 23503704.599 23503696.143
+ -3029.629 -2360.750 50.000 41.000
+ -12593284.58343 -9781481.42742 22848147.539 22848152.588 22848146.288
+ -600.954 -468.276 49.000 43.000
+ 04 2 1 4 5 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20152438.66843 -15286175.44442 21217318.136 21217322.809 21217316.731
+ -161.396 -125.763 56.000 49.000
+ -16076775.99443 -12465529.74842 21627912.671 21627920.240 21627912.236
+ 2642.127 2058.800 51.000 46.000
+ -25656791.70543 -19804899.63342 20443213.304 20443217.817 20443212.141
+ -196.361 -153.008 56.000 51.000
+ -23610856.55043 -18368650.68242 21483459.528 21483465.831 21483457.821
+ 983.269 766.184 55.000 48.000
+ -6186104.27043 -4805644.19842 23830925.168 23830928.374 23830922.895
+ 1896.709 1477.955 48.000 40.000
+ -3063208.42643 -2375754.02842 24746179.321 24746193.867 24746177.325
+ 3307.417 2577.208 40.000 36.000
+ -15442058.70843 -11991873.85042 22399994.968 22399999.065 22399993.960
+ 1085.747 846.037 53.000 45.000
+ -8352786.30343 -6458427.37142 23520993.278 23521001.616 23520992.682
+ -3028.830 -2360.127 49.000 41.000
+ -12574988.45043 -9767224.66342 22851630.399 22851633.204 22851628.750
+ -618.162 -481.685 49.000 43.000
+ 04 2 1 4 6 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20147546.64243 -15282363.50042 21218248.769 21218254.356 21218247.733
+ -164.756 -128.381 56.000 49.000
+ -16155835.70843 -12527134.65442 21612868.401 21612875.973 21612867.306
+ 2628.359 2048.072 52.000 46.000
+ -25650654.51843 -19800117.42142 20444381.324 20444385.672 20444380.057
+ -212.863 -165.867 56.000 51.000
+ -23640059.63543 -18391406.29342 21477901.572 21477908.529 21477900.541
+ 963.667 750.909 54.000 48.000
+ -6242754.16043 -4849786.96042 23820143.338 23820151.849 23820142.011
+ 1880.000 1464.935 47.000 40.000
+ -3162332.12243 -2452993.12242 24727314.361 24727327.455 24727313.684
+ 3300.790 2572.044 38.000 35.000
+ -15474606.39443 -12017235.67742 22393800.469 22393806.253 22393799.853
+ 1084.045 844.710 52.000 45.000
+ -8261917.59243 -6387620.80042 23538285.420 23538294.946 23538283.873
+ -3028.989 -2360.251 49.000 41.000
+ -12556162.83843 -9752555.32342 22855211.330 22855216.530 22855210.113
+ -636.939 -496.316 49.000 43.000
+ 04 2 1 4 6 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20142592.68343 -15278503.29442 21219191.263 21219196.796 21219190.020
+ -166.476 -129.721 55.000 49.000
+ -16234519.55743 -12588446.67342 21597895.589 21597902.320 21597894.796
+ 2616.248 2038.635 52.000 46.000
+ -25644054.07043 -19794974.23142 20445637.437 20445642.018 20445636.069
+ -228.050 -177.701 56.000 51.000
+ -23668707.05143 -18413728.92642 21472450.792 21472456.958 21472449.340
+ 945.253 736.561 55.000 48.000
+ -6298934.15343 -4893563.54242 23809452.726 23809460.704 23809453.649
+ 1864.483 1452.844 48.000 40.000
+ -3261273.66743 -2530090.28142 24708486.586 24708500.524 24708485.378
+ 3295.067 2567.585 39.000 35.000
+ -15507133.65943 -12042581.58642 22387610.546 22387615.464 22387610.414
+ 1083.606 844.368 52.000 45.000
+ -8171073.07343 -6316833.07742 23555572.388 23555580.601 23555572.582
+ -3028.125 -2359.578 49.000 41.000
+ -12536812.70643 -9737477.26442 22858894.142 22858900.836 22858891.892
+ -654.002 -509.612 49.000 43.000
+ 04 2 1 4 7 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20137570.43843 -15274589.87442 21220147.183 21220152.489 21220146.016
+ -168.828 -131.554 55.000 49.000
+ -16312819.70443 -12649459.71342 21582995.663 21583001.936 21582995.245
+ 2603.395 2028.619 52.000 46.000
+ -25636982.79743 -19789464.16442 20446983.182 20446987.399 20446981.583
+ -243.776 -189.955 56.000 51.000
+ -23696790.31743 -18435611.94642 21467106.258 21467113.309 21467104.804
+ 926.570 722.003 55.000 48.000
+ -6354636.35743 -4936967.83042 23798854.137 23798860.725 23798854.778
+ 1848.324 1440.252 48.000 40.000
+ -3360024.84743 -2607039.11542 24689698.356 24689710.000 24689695.012
+ 3288.305 2562.316 40.000 36.000
+ -15539634.30443 -12067906.74442 22381425.514 22381431.092 22381425.537
+ 1082.594 843.580 52.000 45.000
+ -8080249.18643 -6246061.45042 23572855.035 23572865.303 23572854.260
+ -3027.427 -2359.034 48.000 41.000
+ -12516931.76943 -9721985.59142 22862676.713 22862683.729 22862675.545
+ -671.855 -523.523 49.000 43.000
+ 04 2 1 4 7 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20132483.64543 -15270626.15442 21221115.314 21221120.758 21221113.830
+ -170.844 -133.125 55.000 49.000
+ -16390738.74143 -12710175.78042 21568168.070 21568174.258 21568167.116
+ 2590.707 2018.733 52.000 46.000
+ -25629443.49243 -19783589.38742 20448417.791 20448422.278 20448416.185
+ -259.312 -202.061 56.000 51.000
+ -23724311.21943 -18457056.75742 21461869.692 21461875.766 21461867.997
+ 907.807 707.382 55.000 48.000
+ -6409862.98643 -4980001.54642 23788344.860 23788351.104 23788342.543
+ 1832.788 1428.146 48.000 39.000
+ -3458587.87643 -2683841.32142 24670942.025 24670954.790 24670938.903
+ 3281.943 2557.358 39.000 35.000
+ -15572112.72143 -12093214.59642 22375245.286 22375249.422 22375244.916
+ 1082.044 843.151 52.000 45.000
+ -7989452.13543 -6175310.71442 23590133.705 23590144.406 23590133.129
+ -3026.286 -2358.145 48.000 41.000
+ -12496523.67643 -9706083.14642 22866560.788 22866565.397 22866559.727
+ -689.148 -536.998 50.000 43.000
+ 04 2 1 4 8 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20127332.69143 -15266612.43842 21222095.532 21222101.134 21222094.383
+ -173.034 -134.832 55.000 49.000
+ -16468275.55243 -12770593.99142 21553413.035 21553419.556 21553411.963
+ 2577.917 2008.766 52.000 46.000
+ -25621435.26043 -19777349.21442 20449941.747 20449946.303 20449940.291
+ -275.037 -214.314 56.000 51.000
+ -23751267.94343 -18478061.95442 21456739.712 21456746.267 21456737.794
+ 888.934 692.676 55.000 48.000
+ -6464612.78043 -5022663.72042 23777924.953 23777933.418 23777926.418
+ 1816.849 1415.726 47.000 39.000
+ -3556960.95853 -2760495.47752 24652219.943 24652233.756 24652218.278
+ 3275.403 2552.262 37.000 34.000
+ -15604569.40943 -12118505.51342 22369069.194 22369073.309 22369068.282
+ 1081.391 842.642 52.000 45.000
+ -7898684.63443 -6104583.02142 23607406.452 23607415.842 23607404.415
+ -3025.316 -2357.389 48.000 41.000
+ -12475588.67343 -9689770.12642 22870544.678 22870549.975 22870544.079
+ -706.738 -550.705 49.000 43.000
+ 04 2 1 4 8 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20122118.68043 -15262549.59042 21223087.791 21223092.901 21223086.440
+ -175.185 -136.508 55.000 49.000
+ -16545429.97443 -12830714.25142 21538732.304 21538737.703 21538730.432
+ 2565.110 1998.787 53.000 46.000
+ -25612958.23943 -19770743.75342 20451554.834 20451559.215 20451553.282
+ -290.740 -226.551 56.000 51.000
+ -23777659.51443 -18498626.78442 21451716.868 21451723.898 21451716.220
+ 869.915 677.856 54.000 48.000
+ -6518885.54743 -5064954.15742 23767599.000 23767602.003 23767596.389
+ 1800.868 1403.274 47.000 39.000
+ -3655143.31853 -2837001.01852 24633539.153 24633551.553 24633533.175
+ 3269.412 2547.594 40.000 35.000
+ -15637005.44043 -12143780.33842 22362897.133 22362902.987 22362896.355
+ 1080.636 842.054 52.000 45.000
+ -7807950.11643 -6033881.02642 23624673.034 23624682.142 23624671.714
+ -3024.458 -2356.720 48.000 41.000
+ -12454127.71343 -9673047.26142 22874627.577 22874633.274 22874626.087
+ -724.531 -564.570 49.000 42.000
+ 04 2 1 4 9 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20116838.93543 -15258435.51642 21224092.453 21224097.578 21224091.146
+ -176.200 -137.299 55.000 49.000
+ -16622197.94443 -12890533.37142 21524122.173 21524128.776 21524121.164
+ 2553.315 1989.596 52.000 46.000
+ -25604008.46943 -19763769.91642 20453258.174 20453262.203 20453256.643
+ -305.244 -237.852 56.000 51.000
+ -23803481.39943 -18518747.68642 21446803.600 21446810.130 21446801.979
+ 852.197 664.050 55.000 48.000
+ -6572676.82243 -5106869.40442 23757360.748 23757366.943 23757359.926
+ 1785.989 1391.680 47.000 39.000
+ -3753130.35543 -2913354.43842 24614889.861 24614902.023 24614891.087
+ 3263.783 2543.208 39.000 35.000
+ -15669418.60143 -12169037.34142 22356729.630 22356733.720 22356728.760
+ 1080.959 842.306 53.000 45.000
+ -7717248.15843 -5963204.39842 23641932.860 23641941.969 23641931.475
+ -3021.869 -2354.703 47.000 40.000
+ -12432138.03143 -9655912.43042 22878813.612 22878817.407 22878811.873
+ -740.893 -577.319 49.000 42.000
+ 04 2 1 4 9 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20111494.37043 -15254270.93442 21225108.960 21225114.346 21225108.015
+ -178.954 -139.445 55.000 49.000
+ -16698579.01443 -12950050.99442 21509588.251 21509594.302 21509586.404
+ 2539.890 1979.135 52.000 46.000
+ -25594586.25243 -19756427.93142 20455051.085 20455055.214 20455049.542
+ -321.649 -250.635 56.000 51.000
+ -23828732.45443 -18538423.78342 21441998.201 21442005.489 21441996.886
+ 832.387 648.613 54.000 48.000
+ -6625986.11443 -5148409.06742 23747217.701 23747222.868 23747215.607
+ 1769.290 1378.668 48.000 39.000
+ -3850921.25943 -2989554.98842 24596280.836 24596293.091 24596279.220
+ 3256.710 2537.696 40.000 35.000
+ -15701810.58843 -12194277.83342 22350565.981 22350569.798 22350564.615
+ 1079.697 841.322 53.000 45.000
+ -7626582.22343 -5892555.85542 23659186.219 23659192.923 23659185.211
+ -3021.450 -2354.377 48.000 41.000
+ -12409620.38343 -9638366.20442 22883097.952 22883102.657 22883095.797
+ -759.175 -591.565 49.000 43.000
+ 04 2 1 4 10 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20106088.65943 -15250058.70642 21226138.259 21226143.102 21226137.155
+ -181.356 -141.316 56.000 49.000
+ -16774575.82243 -13009269.20942 21495125.467 21495132.218 21495124.836
+ 2526.736 1968.885 52.000 46.000
+ -25584694.10343 -19748719.77042 20456933.489 20456937.688 20456931.781
+ -337.534 -263.013 56.000 51.000
+ -23853414.42943 -18557656.47042 21437302.069 21437308.298 21437300.219
+ 813.403 633.821 55.000 48.000
+ -6678815.85643 -5189575.09342 23737165.173 23737168.979 23737163.342
+ 1753.189 1366.121 48.000 40.000
+ -3948517.98443 -3065604.23542 24577711.256 24577721.600 24577709.309
+ 3249.942 2532.422 42.000 34.000
+ -15734185.31443 -12219504.88742 22344404.699 22344408.622 22344404.220
+ 1078.792 840.617 53.000 45.000
+ -7535958.98943 -5821940.56842 23676432.573 23676441.582 23676430.719
+ -3020.255 -2353.445 48.000 40.000
+ -12386578.67443 -9620411.62342 22887481.378 22887488.401 22887481.444
+ -776.598 -605.141 49.000 43.000
+ 04 2 1 4 10 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20100618.13543 -15245795.97142 21227179.097 21227184.178 21227177.857
+ -183.377 -142.891 55.000 49.000
+ -16850183.39443 -13068184.12842 21480738.163 21480744.377 21480736.750
+ 2513.904 1958.886 53.000 46.000
+ -25574327.48943 -19740641.89242 20458905.987 20458910.376 20458904.635
+ -353.463 -275.426 56.000 51.000
+ -23877521.92343 -18576441.49942 21432713.940 21432720.725 21432712.988
+ 794.192 618.851 55.000 48.000
+ -6731161.03743 -5230363.51642 23727204.524 23727209.645 23727202.433
+ 1736.783 1353.337 48.000 40.000
+ -4045915.01443 -3141497.87142 24559176.628 24559188.671 24559175.005
+ 3243.508 2527.409 44.000 35.000
+ -15766539.23143 -12244715.71942 22338247.803 22338251.823 22338247.320
+ 1078.177 840.138 53.000 45.000
+ -7445377.05743 -5751357.47842 23693669.139 23693676.648 23693669.517
+ -3018.572 -2352.134 47.000 40.000
+ -12363009.34743 -9602045.90042 22891967.799 22891973.173 22891967.667
+ -794.280 -618.919 49.000 42.000
+ 04 2 1 4 11 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20095081.04443 -15241481.36642 21228232.097 21228237.733 21228231.425
+ -185.257 -144.356 55.000 48.000
+ -16925398.83443 -13126793.47742 21466425.535 21466431.302 21466424.026
+ 2501.055 1948.874 53.000 46.000
+ -25563483.92043 -19732192.36542 20460969.419 20460973.812 20460968.041
+ -368.963 -287.504 56.000 51.000
+ -23901051.34343 -18594776.08942 21428236.747 21428243.236 21428235.630
+ 775.135 604.001 55.000 48.000
+ -6783018.36643 -5270771.80842 23717334.424 23717341.962 23717334.871
+ 1720.753 1340.846 47.000 40.000
+ -4143109.05643 -3217233.38042 24540678.400 24540691.772 24540677.579
+ 3236.933 2522.285 43.000 35.000
+ -15798871.10243 -12269909.37042 22332095.790 22332099.169 22332094.523
+ 1077.799 839.843 53.000 45.000
+ -7354837.02743 -5680807.06442 23710896.725 23710907.630 23710897.023
+ -3016.737 -2350.704 46.000 40.000
+ -12338910.60243 -9583267.65742 22896553.911 22896559.677 22896552.535
+ -811.671 -632.471 49.000 42.000
+ 04 2 1 4 11 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20089480.82543 -15237117.57942 21229298.202 21229303.591 21229296.748
+ -187.773 -146.317 55.000 49.000
+ -17000224.38043 -13185099.04142 21452185.960 21452192.559 21452184.923
+ 2487.665 1938.440 53.000 46.000
+ -25552165.88943 -19723373.12642 20463123.566 20463127.565 20463121.692
+ -385.203 -300.158 56.000 51.000
+ -23924004.40643 -18612661.56642 21423868.642 21423875.214 21423867.094
+ 755.476 588.683 55.000 48.000
+ -6834390.09643 -5310801.71142 23707559.349 23707564.784 23707560.975
+ 1704.271 1328.003 48.000 40.000
+ -4240101.46743 -3292811.79742 24522220.625 24522235.046 24522221.097
+ 3229.614 2516.582 44.000 36.000
+ -15831184.99843 -12295088.99842 22325945.575 22325950.452 22325944.907
+ 1076.832 839.090 53.000 45.000
+ -7264344.94443 -5610294.00242 23728118.565 23728126.954 23728116.648
+ -3015.660 -2349.865 46.000 40.000
+ -12314286.02343 -9564079.67142 22901238.985 22901245.391 22901238.679
+ -829.689 -646.511 49.000 43.000
+ 04 2 1 4 12 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20083818.16543 -15232705.13342 21230376.510 21230381.182 21230375.036
+ -190.025 -148.071 56.000 49.000
+ -17074659.55343 -13243100.42342 21438021.733 21438027.610 21438020.587
+ 2474.348 1928.063 53.000 46.000
+ -25540373.17443 -19714184.01042 20465367.532 20465371.594 20465365.884
+ -401.243 -312.657 56.000 51.000
+ -23946379.84843 -18630096.95742 21419610.599 21419617.581 21419609.582
+ 735.936 573.457 55.000 48.000
+ -6885275.63043 -5350452.76942 23697874.328 23697882.576 23697874.202
+ 1687.911 1315.255 46.000 40.000
+ -4336891.34243 -3368232.32442 24503804.256 24503815.155 24503802.888
+ 3222.795 2511.269 43.000 36.000
+ -15863481.58743 -12320255.16542 22319799.390 22319804.360 22319798.042
+ 1075.958 838.409 52.000 45.000
+ -7173904.10543 -5539820.84242 23745329.472 23745338.450 23745327.593
+ -3013.993 -2348.566 47.000 40.000
+ -12289136.59643 -9544482.72142 22906024.247 22906031.200 22906022.598
+ -847.290 -660.226 48.000 42.000
+ 04 2 1 4 12 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20078086.62943 -15228239.00742 21231467.116 21231472.047 21231465.894
+ -193.260 -150.592 56.000 49.000
+ -17148696.96743 -13300791.85242 21423932.839 21423939.111 21423931.825
+ 2460.136 1916.989 53.000 47.000
+ -25528098.44843 -19704619.29342 20467703.313 20467707.389 20467701.796
+ -418.433 -326.052 56.000 51.000
+ -23968169.45843 -18647075.85042 21415464.437 21415470.998 21415463.128
+ 715.474 557.512 55.000 48.000
+ -6935667.13643 -5389718.86442 23688287.092 23688294.161 23688286.078
+ 1670.541 1301.720 47.000 40.000
+ -4433470.60643 -3443488.81342 24485425.701 24485436.029 24485422.155
+ 3214.811 2505.048 44.000 36.000
+ -15895754.85443 -12345403.13142 22313658.748 22313663.052 22313657.368
+ 1074.316 837.129 52.000 45.000
+ -7083510.36243 -5469384.40342 23762528.733 23762540.446 23762528.640
+ -3013.362 -2348.074 45.000 40.000
+ -12263456.07243 -9524471.92942 22910911.904 22910918.494 22910909.698
+ -865.976 -674.786 49.000 42.000
+ 04 2 1 4 13 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20072296.87943 -15223727.53142 21232568.445 21232573.532 21232567.563
+ -194.139 -151.277 55.000 49.000
+ -17222345.98743 -13358180.64942 21409917.839 21409924.547 21409916.801
+ 2448.313 1907.776 53.000 47.000
+ -25515351.75943 -19694686.82142 20470128.876 20470133.304 20470127.404
+ -432.983 -337.389 56.000 51.000
+ -23989382.24143 -18663605.26542 21411427.975 21411433.966 21411426.254
+ 697.176 543.254 55.000 48.000
+ -6985574.02843 -5428607.31442 23678789.506 23678795.936 23678788.358
+ 1655.273 1289.823 47.000 40.000
+ -4529848.04543 -3518587.95542 24467086.095 24467096.615 24467084.196
+ 3208.999 2500.519 45.000 36.000
+ -15928015.89243 -12370541.58342 22307519.411 22307523.821 22307518.051
+ 1075.019 837.677 53.000 45.000
+ -6993176.86043 -5398994.91142 23779720.513 23779729.240 23779718.740
+ -3009.954 -2345.419 46.000 40.000
+ -12237255.20043 -9504055.68342 22915897.401 22915903.871 22915896.915
+ -882.189 -687.420 48.000 42.000
+ 04 2 1 4 13 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20066439.46543 -15219163.33242 21233682.771 21233688.518 21233681.969
+ -195.563 -152.387 55.000 49.000
+ -17295595.90443 -13415258.45742 21395979.014 21395984.473 21395977.475
+ 2435.932 1898.129 53.000 47.000
+ -25502122.66343 -19684378.44442 20472646.129 20472650.514 20472644.693
+ -448.164 -349.219 56.000 51.000
+ -24010006.85443 -18679676.37342 21407503.148 21407509.332 21407501.718
+ 678.474 528.681 55.000 48.000
+ -7034985.63443 -5467109.88642 23669387.120 23669392.238 23669386.288
+ 1640.018 1277.936 47.000 40.000
+ -4626012.51643 -3593521.14142 24448787.404 24448796.890 24448784.699
+ 3202.900 2495.766 45.000 36.000
+ -15960255.32443 -12395663.19742 22301384.482 22301387.907 22301383.401
+ 1075.151 837.780 53.000 45.000
+ -6902896.68643 -5328646.97742 23796901.361 23796909.409 23796899.872
+ -3007.606 -2343.589 46.000 40.000
+ -12210524.44543 -9483226.52142 22920983.669 22920991.449 22920982.806
+ -899.037 -700.548 49.000 42.000
+ 04 2 1 4 14 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20060522.06443 -15214552.38342 21234808.949 21234814.286 21234807.844
+ -198.976 -155.046 55.000 49.000
+ -17368453.41143 -13472030.49142 21382114.871 21382120.432 21382112.981
+ 2421.265 1886.700 53.000 47.000
+ -25488418.34743 -19673699.76842 20475254.142 20475258.471 20475252.705
+ -465.563 -362.776 56.000 51.000
+ -24030049.60143 -18695294.08242 21403689.453 21403695.872 21403688.021
+ 657.544 512.372 55.000 48.000
+ -7083908.34643 -5505231.48142 23660078.335 23660083.471 23660077.610
+ 1621.805 1263.744 47.000 40.000
+ -4721970.03543 -3668293.04042 24430526.664 24430536.366 24430523.277
+ 3194.236 2489.015 45.000 37.000
+ -15992481.34643 -12420774.36242 22295251.905 22295256.201 22295251.375
+ 1073.169 836.236 53.000 45.000
+ -6812679.75743 -5258348.31342 23814067.481 23814077.817 23814066.912
+ -3007.172 -2343.251 45.000 40.000
+ -12183272.02643 -9461990.86042 22926171.065 22926174.899 22926169.326
+ -917.807 -715.174 49.000 42.000
+ 04 2 1 4 14 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20054537.96043 -15209889.47242 21235948.603 21235953.074 21235946.924
+ -199.592 -155.526 56.000 49.000
+ -17440910.97643 -13528490.88142 21368326.261 21368332.416 21368324.865
+ 2409.686 1877.677 53.000 47.000
+ -25474231.04843 -19662644.75242 20477953.943 20477958.118 20477952.355
+ -479.953 -373.989 56.000 51.000
+ -24049502.35643 -18710452.05542 21399987.159 21399993.797 21399985.733
+ 639.728 498.489 55.000 48.000
+ -7132334.59643 -5542966.19742 23650860.581 23650867.666 23650860.883
+ 1607.054 1252.250 46.000 40.000
+ -4817712.21743 -3742897.12442 24412305.776 24412318.395 24412304.741
+ 3188.875 2484.838 45.000 37.000
+ -16024687.89943 -12445870.36042 22289122.667 22289127.670 22289122.202
+ 1074.236 837.067 53.000 45.000
+ -6722522.13143 -5188095.88842 23831223.042 23831235.690 23831223.004
+ -3003.237 -2340.185 45.000 40.000
+ -12155491.81243 -9440343.95542 22931456.356 22931461.994 22931454.637
+ -933.764 -727.608 48.000 42.000
+ 04 2 1 4 15 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20048489.44143 -15205176.35342 21237098.913 21237104.055 21237097.895
+ -202.811 -158.034 55.000 49.000
+ -17512969.75743 -13584640.52842 21354613.648 21354619.568 21354612.174
+ 2395.087 1866.302 53.000 47.000
+ -25459562.63443 -19651214.83642 20480744.913 20480749.447 20480743.675
+ -497.183 -387.415 56.000 51.000
+ -24068365.54743 -18725150.62742 21396397.964 21396404.326 21396396.711
+ 618.766 482.155 55.000 48.000
+ -7180265.43143 -5580314.93542 23641741.341 23641747.009 23641740.814
+ 1589.377 1238.476 47.000 40.000
+ -4913239.67743 -3817333.85342 24394129.125 24394139.484 24394126.444
+ 3180.344 2478.190 45.000 38.000
+ -16056877.25443 -12470952.95642 22282997.285 22283002.484 22282997.348
+ 1072.471 835.692 52.000 45.000
+ -6632428.46743 -5117893.27942 23848368.229 23848378.960 23848368.229
+ -3002.243 -2339.410 46.000 40.000
+ -12127186.12743 -9418287.55542 22936842.281 22936848.887 22936840.509
+ -952.634 -742.312 48.000 42.000
+ 04 2 1 4 15 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20042377.24043 -15200413.61642 21238261.676 21238267.439 21238260.473
+ -205.228 -159.918 55.000 49.000
+ -17584629.49743 -13640479.24342 21340977.807 21340983.389 21340976.511
+ 2381.567 1855.766 53.000 47.000
+ -25444413.25643 -19639410.14642 20483627.926 20483632.430 20483626.470
+ -513.478 -400.113 56.000 51.000
+ -24086638.47943 -18739389.25242 21392920.775 21392926.926 21392919.199
+ 598.845 466.632 55.000 48.000
+ -7227700.48743 -5617277.32942 23632715.418 23632721.194 23632713.192
+ 1572.243 1225.124 48.000 41.000
+ -5008551.62343 -3891602.61742 24375989.600 24376001.817 24375989.375
+ 3173.049 2472.506 45.000 37.000
+ -16089050.68343 -12496023.14142 22276875.727 22276879.737 22276874.913
+ 1071.676 835.072 53.000 45.000
+ -6542402.37643 -5047743.32942 23865500.789 23865510.045 23865499.750
+ -3000.279 -2337.880 47.000 40.000
+ -12098356.27643 -9395822.75742 22942328.833 22942334.601 22942326.700
+ -970.181 -755.985 48.000 42.000
+ 04 2 1 4 16 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20036201.49343 -15195601.36242 21239437.490 21239442.812 21239435.991
+ -206.970 -161.275 55.000 49.000
+ -17655889.30743 -13696006.31742 21327417.194 21327422.671 21327416.316
+ 2368.627 1845.683 53.000 47.000
+ -25428782.23143 -19627230.15342 20486602.384 20486607.276 20486601.058
+ -529.162 -412.334 56.000 51.000
+ -24104319.98143 -18753167.03142 21389555.997 21389562.091 21389554.223
+ 579.524 451.577 55.000 48.000
+ -7274638.80943 -5653852.61942 23623782.981 23623787.372 23623782.030
+ 1556.174 1212.603 48.000 41.000
+ -5103646.42043 -3965702.14642 24357895.070 24357904.984 24357892.125
+ 3165.999 2467.012 45.000 37.000
+ -16121208.79543 -12521081.39442 22270755.702 22270760.826 22270755.124
+ 1071.585 835.001 53.000 45.000
+ -6452446.08243 -4977647.76842 23882618.958 23882627.153 23882617.927
+ -2997.459 -2335.682 47.000 40.000
+ -12069002.55843 -9372949.72142 22947914.550 22947921.180 22947913.636
+ -987.195 -769.243 49.000 42.000
+ 04 2 1 4 16 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20029980.05743 -15190753.50742 21240621.356 21240626.467 21240619.918
+ -209.452 -163.209 55.000 49.000
+ -17726766.08743 -13751234.92642 21313930.139 21313935.998 21313928.702
+ 2354.895 1834.983 53.000 47.000
+ -25412686.66243 -19614688.17042 20489665.212 20489669.573 20489663.869
+ -545.507 -425.070 56.000 51.000
+ -24121426.17143 -18766496.49342 21386300.535 21386307.531 21386299.352
+ 559.347 435.855 55.000 48.000
+ -7321097.09943 -5690053.88742 23614942.546 23614946.113 23614942.737
+ 1539.540 1199.642 48.000 41.000
+ -5198540.42143 -4039645.19042 24339835.204 24339846.719 24339833.623
+ 3158.760 2461.371 44.000 37.000
+ -16153369.54243 -12546141.70842 22264636.232 22264639.664 22264635.484
+ 1070.814 834.401 53.000 45.000
+ -6362580.01043 -4907622.51142 23899720.929 23899730.759 23899719.403
+ -2995.275 -2333.980 49.000 40.000
+ -12039143.43143 -9349682.85842 22953596.653 22953603.191 22953596.129
+ -1004.956 -783.082 49.000 43.000
+ 04 2 1 4 17 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20023675.98043 -15185841.25842 21241821.035 21241825.920 21241819.693
+ -210.758 -164.227 55.000 49.000
+ -17797221.97643 -13806135.55742 21300521.923 21300528.066 21300520.989
+ 2342.258 1825.136 53.000 47.000
+ -25396089.09043 -19601755.01542 20492823.626 20492828.164 20492822.086
+ -560.885 -437.053 56.000 51.000
+ -24137918.71943 -18779347.81842 21383162.466 21383167.818 21383160.941
+ 540.287 421.003 55.000 48.000
+ -7367037.44243 -5725851.56142 23606199.118 23606206.726 23606199.422
+ 1523.313 1186.997 47.000 41.000
+ -5293195.14643 -4113401.77442 24321822.976 24321833.583 24321821.203
+ 3151.852 2455.989 44.000 37.000
+ -16185496.18743 -12571175.45342 22258521.656 22258526.731 22258521.689
+ 1071.032 834.570 53.000 45.000
+ -6272769.65443 -4837640.68442 23916811.271 23916819.618 23916811.317
+ -2991.961 -2331.398 48.000 40.000
+ -12008742.28643 -9325993.63742 22959382.441 22959387.919 22959381.389
+ -1021.649 -796.090 49.000 43.000
+ 04 2 1 4 17 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20017309.93443 -15180880.72442 21243032.646 21243037.384 21243031.440
+ -213.831 -166.621 55.000 49.000
+ -17867276.64043 -13860723.55142 21287190.408 21287197.303 21287189.789
+ 2327.881 1813.933 52.000 47.000
+ -25379009.94543 -19588446.61042 20496073.815 20496077.960 20496072.502
+ -577.894 -450.307 56.000 51.000
+ -24153816.77743 -18791735.89742 21380137.271 21380143.201 21380135.670
+ 519.483 404.792 55.000 48.000
+ -7412479.64843 -5761261.06242 23597551.813 23597557.560 23597551.023
+ 1506.036 1173.535 47.000 40.000
+ -5387629.78143 -4186986.81042 24303850.840 24303864.511 24303849.028
+ 3143.558 2449.526 43.000 37.000
+ -16217610.24543 -12596199.39342 22252411.607 22252415.332 22252411.157
+ 1069.686 833.521 53.000 46.000
+ -6183038.16043 -4767720.25942 23933886.785 23933895.253 23933883.699
+ -2990.353 -2330.145 48.000 40.000
+ -11977820.52043 -9301898.76142 22965266.930 22965271.713 22965264.921
+ -1040.057 -810.434 49.000 43.000
+ 04 2 1 4 18 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20010877.22443 -15175868.24542 21244256.341 21244261.770 21244255.290
+ -215.059 -167.578 55.000 49.000
+ -17936924.88243 -13914994.84142 21273937.636 21273943.579 21273936.370
+ 2315.210 1804.060 53.000 47.000
+ -25361443.75943 -19574758.70142 20499416.530 20499421.196 20499415.145
+ -593.130 -462.179 56.000 51.000
+ -24169114.52843 -18803656.21442 21377226.426 21377232.280 21377224.933
+ 500.423 389.940 55.000 48.000
+ -7457417.97543 -5796277.94442 23589001.219 23589008.145 23589001.254
+ 1489.916 1160.974 48.000 41.000
+ -5481838.05843 -4260395.45242 24285924.607 24285937.105 24285923.630
+ 3137.154 2444.536 45.000 37.000
+ -16249707.38043 -12621210.13942 22246303.173 22246307.009 22246302.304
+ 1070.116 833.857 53.000 45.000
+ -6093383.44443 -4697859.69642 23950947.681 23950956.255 23950946.413
+ -2986.637 -2327.250 47.000 40.000
+ -11946373.91243 -9277394.90342 22971250.901 22971257.268 22971248.980
+ -1056.491 -823.240 50.000 43.000
+ 04 2 1 4 18 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -20004380.76843 -15170806.08442 21245492.446 21245497.730 21245491.300
+ -217.983 -169.857 55.000 49.000
+ -18006168.48843 -13968950.83942 21260761.205 21260767.176 21260760.128
+ 2301.011 1792.996 53.000 47.000
+ -25343393.14743 -19560693.31042 20502851.672 20502856.071 20502850.114
+ -610.134 -475.429 56.000 51.000
+ -24183813.53443 -18815109.96742 21374428.898 21374434.697 21374427.822
+ 479.573 373.693 55.000 48.000
+ -7501854.76543 -5830904.01642 23580544.041 23580551.267 23580543.753
+ 1472.486 1147.392 47.000 41.000
+ -5575821.42043 -4333628.90242 24268040.753 24268052.203 24268040.131
+ 3128.542 2437.825 45.000 37.000
+ -16281790.62743 -12646210.07342 22240198.484 22240202.302 22240197.603
+ 1068.865 832.882 53.000 46.000
+ -6003810.97743 -4628063.20642 23967992.838 23968003.006 23967992.200
+ -2984.631 -2325.686 48.000 40.000
+ -11914406.12943 -9252484.92642 22977334.187 22977338.893 22977332.555
+ -1074.660 -837.397 50.000 43.000
+ 04 2 1 4 19 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19997818.60043 -15165692.73042 21246742.075 21246746.691 21246740.600
+ -220.033 -171.454 56.000 48.000
+ -18075004.67243 -14022589.35942 21247661.565 21247667.581 21247660.554
+ 2287.658 1782.591 53.000 47.000
+ -25324855.68743 -19546248.56442 20506379.017 20506383.634 20506377.585
+ -626.192 -487.942 56.000 51.000
+ -24197910.60543 -18826094.67442 21371746.534 21371752.743 21371744.961
+ 459.810 358.294 55.000 48.000
+ -7545786.82743 -5865136.76242 23572184.074 23572190.926 23572183.051
+ 1455.534 1134.182 47.000 41.000
+ -5669576.35043 -4406684.27542 24250198.497 24250210.625 24250196.898
+ 3121.243 2432.137 44.000 38.000
+ -16313858.26643 -12671197.83142 22234095.982 22234100.667 22234095.144
+ 1068.471 832.575 53.000 45.000
+ -5914321.18643 -4558331.16442 23985024.069 23985031.634 23985022.597
+ -2981.820 -2323.496 48.000 40.000
+ -11881915.56943 -9227167.63442 22983516.332 22983521.563 22983515.957
+ -1091.869 -850.807 49.000 42.000
+ 04 2 1 4 19 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19991193.95843 -15160530.69742 21248001.832 21248007.134 21248000.916
+ -221.978 -172.970 55.000 48.000
+ -18143435.98343 -14075912.39442 21234640.074 21234645.589 21234638.677
+ 2274.125 1772.045 53.000 47.000
+ -25305833.91443 -19531426.43142 20509999.297 20510003.281 20509997.867
+ -642.323 -500.511 56.000 51.000
+ -24211407.70743 -18836611.88342 21369177.415 21369184.041 21369176.556
+ 439.720 342.639 55.000 48.000
+ -7589216.32643 -5898977.92642 23563920.668 23563926.691 23563918.880
+ 1439.005 1121.303 48.000 41.000
+ -5763104.69743 -4479563.12442 24232400.298 24232413.435 24232398.365
+ 3113.945 2426.451 45.000 38.000
+ -16345913.88043 -12696176.22942 22227995.440 22228000.244 22227995.460
+ 1068.152 832.326 53.000 45.000
+ -5824919.79143 -4488667.99742 24002034.671 24002044.216 24002033.756
+ -2978.676 -2321.046 47.000 40.000
+ -11848906.22943 -9201446.06842 22989798.237 22989803.077 22989796.794
+ -1109.177 -864.294 49.000 42.000
+ 04 2 1 4 20 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19984502.57743 -15155316.65742 21249275.331 21249280.101 21249274.244
+ -224.633 -175.039 55.000 48.000
+ -18211457.51143 -14128916.11142 21221695.044 21221701.380 21221694.528
+ 2260.101 1761.118 53.000 47.000
+ -25286323.72743 -19516223.71342 20513711.660 20513715.774 20513710.164
+ -658.965 -513.479 56.000 51.000
+ -24224299.71843 -18846657.58542 21366724.061 21366730.074 21366723.042
+ 419.085 326.560 55.000 48.000
+ -7632138.80643 -5932423.97842 23555752.416 23555760.311 23555752.472
+ 1422.242 1108.241 48.000 41.000
+ -5856400.96643 -4552261.18042 24214646.178 24214657.603 24214645.566
+ 3105.555 2419.913 44.000 38.000
+ -16377953.93843 -12721142.50742 22221898.864 22221903.511 22221898.357
+ 1067.356 831.706 53.000 46.000
+ -5735605.11443 -4419072.37742 24019029.993 24019041.594 24019029.559
+ -2976.197 -2319.114 47.000 39.000
+ -11815374.56943 -9175317.49042 22996178.652 22996183.570 22996176.794
+ -1126.875 -878.084 48.000 41.000
+ 04 2 1 4 20 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19977748.88643 -15150054.06042 21250560.537 21250565.749 21250559.286
+ -225.964 -176.076 55.000 48.000
+ -18279072.94343 -14181603.40242 21208828.592 21208835.096 21208827.015
+ 2247.352 1751.183 53.000 47.000
+ -25266328.84143 -19500643.30942 20517516.658 20517520.720 20517515.099
+ -674.431 -525.531 56.000 51.000
+ -24236589.67443 -18856234.15942 21364385.817 21364391.423 21364384.513
+ 399.766 311.506 55.000 48.000
+ -7674557.61043 -5965477.63842 23547679.243 23547686.338 23547679.174
+ 1406.032 1095.609 48.000 41.000
+ -5949467.89243 -4624780.52942 24196937.977 24196947.269 24196935.416
+ 3098.424 2414.356 45.000 38.000
+ -16409983.59743 -12746100.66742 22215803.509 22215808.759 22215802.815
+ 1067.720 831.990 53.000 45.000
+ -5646384.09543 -4349549.78142 24036010.692 24036020.532 24036008.897
+ -2972.265 -2316.051 48.000 40.000
+ -11781325.67043 -9148785.87642 23002659.287 23002663.038 23002658.019
+ -1143.318 -890.897 49.000 42.000
+ 04 2 1 4 21 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19970929.59743 -15144740.34342 21251858.056 21251863.545 21251857.444
+ -228.241 -177.850 55.000 48.000
+ -18346278.19443 -14233971.06742 21196039.470 21196045.711 21196038.859
+ 2233.495 1740.386 53.000 47.000
+ -25245845.53443 -19484682.32042 20521414.345 20521418.799 20521412.581
+ -690.675 -538.188 56.000 51.000
+ -24248273.06843 -18865338.08442 21362162.251 21362168.393 21362160.655
+ 379.451 295.676 55.000 48.000
+ -7716468.60243 -5998135.53042 23539705.852 23539711.347 23539703.874
+ 1388.642 1082.059 49.000 42.000
+ -6042300.81543 -4697117.52542 24179271.133 24179282.672 24179269.792
+ 3090.690 2408.330 45.000 39.000
+ -16441999.35743 -12771048.01342 22209711.663 22209716.287 22209710.850
+ 1067.233 831.610 53.000 46.000
+ -5557256.11743 -4280099.67342 24052971.526 24052979.856 24052969.430
+ -2969.229 -2313.685 48.000 40.000
+ -11746757.10543 -9121849.34342 23009236.505 23009242.619 23009234.838
+ -1160.656 -904.407 48.000 42.000
+ 04 2 1 4 21 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19964044.79843 -15139375.58442 21253168.532 21253173.582 21253167.542
+ -230.362 -179.503 55.000 48.000
+ -18413072.62043 -14286018.60242 21183329.183 21183334.804 21183328.587
+ 2219.878 1729.775 53.000 47.000
+ -25224873.84543 -19468340.76942 20525404.976 20525409.604 20525403.641
+ -706.967 -550.883 56.000 51.000
+ -24259349.00943 -18873968.67242 21360054.829 21360060.435 21360053.375
+ 359.362 280.022 55.000 48.000
+ -7757871.47943 -6030397.51342 23531826.192 23531832.801 23531826.387
+ 1371.690 1068.849 48.000 41.000
+ -6134898.47743 -4769271.23742 24161651.293 24161661.186 24161650.017
+ 3082.691 2402.097 46.000 39.000
+ -16474001.62743 -12795984.84542 22203621.309 22203626.184 22203620.789
+ 1066.829 831.295 53.000 45.000
+ -5468223.55343 -4210723.89442 24069912.665 24069922.791 24069912.506
+ -2966.018 -2311.183 47.000 39.000
+ -11711669.57543 -9094508.40342 23015913.282 23015918.994 23015912.074
+ -1177.903 -917.846 48.000 42.000
+ 04 2 1 4 22 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19957097.12843 -15133961.83642 21254490.580 21254495.973 21254489.450
+ -232.897 -181.478 55.000 48.000
+ -18479458.43043 -14337747.74942 21170696.463 21170702.200 21170694.938
+ 2205.691 1718.720 53.000 47.000
+ -25203416.09343 -19451620.46742 20529488.801 20529492.905 20529487.160
+ -723.744 -563.956 56.000 51.000
+ -24269819.19843 -18882127.23242 21358062.298 21358068.903 21358060.943
+ 338.577 263.826 55.000 48.000
+ -7798768.02843 -6062264.94242 23524044.337 23524051.383 23524043.544
+ 1354.646 1055.568 48.000 41.000
+ -6227262.29543 -4841242.71342 24144075.497 24144083.935 24144072.946
+ 3074.531 2395.738 45.000 39.000
+ -16505993.69743 -12820913.71942 22197534.073 22197537.887 22197532.818
+ 1065.933 830.597 53.000 46.000
+ -5379291.64443 -4141426.55842 24086837.007 24086845.951 24086834.636
+ -2963.109 -2308.916 47.000 39.000
+ -11676066.61943 -9066765.83742 23022688.438 23022693.378 23022688.095
+ -1195.727 -931.735 48.000 42.000
+ 04 2 1 4 22 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19950082.84943 -15128496.17442 21255825.579 21255830.584 21255824.342
+ -235.185 -183.261 55.000 48.000
+ -18545430.94043 -14389154.83342 21158142.263 21158148.224 21158141.187
+ 2191.963 1708.023 53.000 47.000
+ -25181468.21843 -19434518.24442 20533665.068 20533669.634 20533663.867
+ -739.996 -576.620 56.000 51.000
+ -24279678.64343 -18889809.89742 21356186.649 21356192.283 21356184.636
+ 318.288 248.017 55.000 48.000
+ -7839153.76543 -6093734.39142 23516359.672 23516364.535 23516357.424
+ 1337.572 1042.264 48.000 41.000
+ -6319386.73043 -4913027.71242 24126543.232 24126553.417 24126541.342
+ 3066.490 2389.473 45.000 38.000
+ -16537972.05043 -12845831.91342 22191448.558 22191452.706 22191447.438
+ 1065.454 830.224 53.000 45.000
+ -5290458.99443 -4072206.59342 24103741.056 24103750.656 24103740.940
+ -2959.551 -2306.144 47.000 39.000
+ -11639945.17843 -9038619.25342 23029562.160 23029566.898 23029559.637
+ -1212.967 -945.169 49.000 42.000
+ 04 2 1 4 23 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19943000.63343 -15122977.58642 21257173.024 21257177.988 21257172.216
+ -236.876 -184.579 55.000 48.000
+ -18610988.49343 -14440238.58042 21145667.033 21145673.325 21145666.001
+ 2178.637 1697.639 53.000 47.000
+ -25159028.75043 -19417032.97342 20537935.346 20537939.812 20537933.772
+ -755.881 -588.998 56.000 51.000
+ -24288925.28243 -18897015.05342 21354426.021 21354432.696 21354425.003
+ 298.269 232.417 55.000 48.000
+ -7879026.96843 -6124804.41642 23508770.856 23508777.043 23508770.725
+ 1320.960 1029.319 47.000 41.000
+ -6411269.52543 -4984624.42342 24109057.456 24109067.525 24109055.932
+ 3059.211 2383.801 45.000 38.000
+ -16569935.80243 -12870738.72742 22185366.180 22185370.519 22185365.122
+ 1065.435 830.209 53.000 46.000
+ -5201727.17743 -4003065.17642 24120627.106 24120638.593 24120623.970
+ -2955.690 -2303.135 46.000 38.000
+ -11603305.04943 -9010068.52542 23036535.144 23036539.700 23036534.027
+ -1229.810 -958.293 49.000 42.000
+ 04 2 1 4 23 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19935853.78343 -15117408.63142 21258533.800 21258538.451 21258532.138
+ -239.446 -186.581 56.000 49.000
+ -18676133.80643 -14491001.09942 21133270.009 21133276.177 21133268.638
+ 2164.474 1686.603 53.000 47.000
+ -25136100.79743 -19399167.06042 20542298.179 20542302.669 20542296.783
+ -772.463 -601.919 56.000 51.000
+ -24297561.57443 -18903744.61042 21352783.613 21352789.197 21352781.642
+ 277.612 216.321 55.000 48.000
+ -7918390.23843 -6155477.10542 23501278.681 23501287.223 23501278.696
+ 1303.725 1015.890 46.000 41.000
+ -6502912.66343 -5056034.38242 24091617.731 24091628.643 24091617.750
+ 3050.606 2377.096 44.000 39.000
+ -16601888.57943 -12895636.98542 22179285.818 22179290.042 22179284.869
+ 1064.764 829.686 53.000 46.000
+ -5113101.72843 -3934006.61842 24137490.102 24137500.629 24137487.896
+ -2952.430 -2300.595 46.000 38.000
+ -11566150.51343 -8981116.93342 23043604.313 23043609.190 23043602.740
+ -1246.826 -971.553 48.000 42.000
+ 04 2 1 4 24 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19928640.81043 -15111788.14542 21259905.688 21259910.510 21259904.241
+ -242.106 -188.654 55.000 48.000
+ -18740864.70243 -14541440.69542 21120952.258 21120958.553 21120951.257
+ 2150.249 1675.519 54.000 47.000
+ -25112682.87443 -19380919.34842 20546754.524 20546759.063 20546753.126
+ -789.273 -615.018 56.000 51.000
+ -24305584.89743 -18909996.54842 21351256.741 21351262.485 21351255.061
+ 256.719 200.041 55.000 48.000
+ -7957241.62043 -6185750.92042 23493887.830 23493893.333 23493885.547
+ 1285.791 1001.915 47.000 41.000
+ -6594313.29243 -5127255.35942 24074224.936 24074235.450 24074224.420
+ 3041.978 2370.372 45.000 38.000
+ -16633829.51043 -12920526.02142 22173207.941 22173211.858 22173206.961
+ 1063.907 829.018 54.000 46.000
+ -5024583.74943 -3865031.81242 24154335.727 24154344.657 24154334.872
+ -2948.983 -2297.909 47.000 38.000
+ -11528481.05743 -8951764.10542 23050772.577 23050777.836 23050771.259
+ -1264.714 -985.491 49.000 42.000
+ 04 2 1 4 24 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19921361.46943 -15106115.94342 21261290.595 21261295.569 21261289.594
+ -243.492 -189.734 55.000 48.000
+ -18805180.46943 -14591556.82142 21108713.102 21108719.675 21108711.566
+ 2137.083 1665.259 53.000 47.000
+ -25088774.49843 -19362289.47042 20551304.111 20551308.490 20551302.797
+ -804.932 -627.220 56.000 51.000
+ -24312994.17943 -18915770.00142 21349846.739 21349852.487 21349845.090
+ 236.839 184.550 55.000 48.000
+ -7995580.37543 -6215625.27342 23486591.193 23486597.635 23486590.479
+ 1269.463 989.192 46.000 41.000
+ -6685469.83543 -5198286.13542 24056879.024 24056888.730 24056876.717
+ 3034.241 2364.344 45.000 39.000
+ -16665758.56643 -12945405.80142 22167131.471 22167135.801 22167131.131
+ 1064.374 829.382 53.000 46.000
+ -4936175.58743 -3796142.56342 24171158.083 24171170.590 24171160.305
+ -2944.872 -2294.705 46.000 38.000
+ -11490297.25343 -8922010.48442 23058039.150 23058045.017 23058037.864
+ -1281.164 -998.310 49.000 42.000
+ 04 2 1 4 25 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19914017.48643 -15100393.37442 21262688.140 21262693.738 21262687.177
+ -246.524 -192.097 55.000 48.000
+ -18869082.37443 -14641350.45342 21096553.451 21096558.925 21096552.170
+ 2122.456 1653.862 54.000 47.000
+ -25064377.10743 -19343278.53442 20555946.760 20555951.572 20555945.346
+ -822.039 -640.550 56.000 51.000
+ -24319790.36443 -18921065.73342 21348553.612 21348559.471 21348551.658
+ 215.727 168.099 55.000 48.000
+ -8033407.61943 -6245101.08342 23479393.834 23479399.452 23479391.789
+ 1252.027 975.605 48.000 41.000
+ -6776382.80843 -5269127.10642 24039577.424 24039587.769 24039575.954
+ 3025.630 2357.634 45.000 39.000
+ -16697677.94143 -12970278.02842 22161057.485 22161061.601 22161056.274
+ 1063.098 828.388 53.000 46.000
+ -4847881.42043 -3727342.18342 24187961.441 24187971.973 24187958.283
+ -2941.412 -2292.009 45.000 38.000
+ -11451601.79043 -8891858.17042 23065402.793 23065407.643 23065401.914
+ -1298.923 -1012.148 48.000 42.000
+ 04 2 1 4 25 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19906606.25843 -15094618.41042 21264098.881 21264103.863 21264097.481
+ -248.704 -193.795 55.000 48.000
+ -18932567.25943 -14690819.12542 21084472.290 21084478.075 21084471.088
+ 2108.575 1643.045 54.000 47.000
+ -25039488.02643 -19323884.46942 20560682.985 20560687.387 20560681.561
+ -838.314 -653.232 56.000 51.000
+ -24325970.09243 -18925881.09042 21347376.929 21347383.073 21347375.763
+ 195.101 152.027 55.000 48.000
+ -8070720.15443 -6274175.77842 23472292.923 23472300.048 23472292.316
+ 1234.664 962.076 48.000 41.000
+ -6867048.24843 -5339775.21442 24022325.709 24022336.121 24022324.041
+ 3017.465 2351.271 44.000 39.000
+ -16729585.26343 -12995140.87542 22154985.694 22154990.069 22154984.728
+ 1062.811 828.164 53.000 46.000
+ -4759700.91743 -3658630.39242 24204739.044 24204751.226 24204739.361
+ -2937.920 -2289.288 46.000 38.000
+ -11412393.09843 -8861305.94642 23072862.910 23072868.678 23072861.189
+ -1315.976 -1025.436 49.000 42.000
+ 04 2 1 4 26 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19899125.29243 -15088789.09842 21265522.354 21265528.077 21265520.897
+ -250.233 -194.987 55.000 49.000
+ -18995631.91343 -14739960.34142 21072472.305 21072477.202 21072470.465
+ 2095.388 1632.770 54.000 48.000
+ -25014104.94043 -19304105.46542 20565513.384 20565517.953 20565511.883
+ -854.009 -665.461 56.000 51.000
+ -24331529.98143 -18930213.48042 21346318.959 21346325.005 21346317.701
+ 175.318 136.611 55.000 48.000
+ -8107515.28643 -6302847.33742 23465291.889 23465297.586 23465291.511
+ 1218.216 949.259 49.000 41.000
+ -6957462.52143 -5410227.60342 24005118.995 24005130.257 24005117.672
+ 3009.844 2345.333 45.000 39.000
+ -16761478.56343 -13019992.80042 22148916.108 22148920.664 22148915.974
+ 1063.174 828.447 53.000 46.000
+ -4671634.21243 -3590007.23842 24221500.423 24221513.356 24221499.205
+ -2932.558 -2285.110 45.000 38.000
+ -11372669.68343 -8830352.64642 23080423.091 23080427.598 23080420.268
+ -1332.345 -1038.191 48.000 42.000
+ 04 2 1 4 26 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19891581.43043 -15082910.77942 21266958.372 21266963.380 21266956.856
+ -253.000 -197.143 55.000 49.000
+ -19058283.14143 -14788779.41042 21060549.267 21060555.410 21060548.286
+ 2080.924 1621.499 54.000 48.000
+ -24988234.68743 -19283946.84742 20570436.209 20570440.858 20570434.840
+ -870.936 -678.651 56.000 51.000
+ -24336476.29243 -18934067.73642 21345378.106 21345384.176 21345376.804
+ 154.097 120.076 55.000 48.000
+ -8143799.34143 -6331120.62742 23458386.172 23458393.507 23458387.454
+ 1200.505 935.458 48.000 41.000
+ -7047631.20643 -5480488.65442 23987960.707 23987971.602 23987959.141
+ 3001.054 2338.484 45.000 39.000
+ -16793364.89443 -13044839.28042 22142848.920 22142852.867 22142847.760
+ 1062.285 827.755 53.000 46.000
+ -4583690.58943 -3521479.97542 24238235.915 24238247.963 24238235.704
+ -2929.748 -2282.920 46.000 39.000
+ -11332439.60143 -8799004.54742 23088076.985 23088084.986 23088076.518
+ -1349.909 -1051.877 47.000 41.000
+ 04 2 1 4 27 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19883968.88043 -15076978.94142 21268406.542 21268412.069 21268405.159
+ -255.485 -199.079 55.000 49.000
+ -19120514.56843 -14837271.36142 21048706.913 21048712.752 21048705.766
+ 2066.759 1610.461 54.000 48.000
+ -24961871.39143 -19263404.04442 20575452.783 20575457.443 20575451.653
+ -887.556 -691.602 56.000 51.000
+ -24340802.57643 -18937438.86942 21344554.455 21344560.797 21344553.439
+ 133.303 103.872 55.000 48.000
+ -8179566.33143 -6358990.99542 23451580.906 23451587.095 23451577.879
+ 1182.965 921.791 48.000 41.000
+ -7137547.38443 -5550552.88742 23970849.988 23970861.530 23970848.754
+ 2992.434 2331.767 45.000 39.000
+ -16825238.88643 -13069676.15842 22136783.746 22136788.091 22136783.368
+ 1061.746 827.335 53.000 46.000
+ -4495867.06443 -3453046.33142 24254948.757 24254960.927 24254946.840
+ -2926.246 -2280.192 46.000 39.000
+ -11291698.27543 -8767258.05542 23095831.238 23095836.967 23095830.126
+ -1367.143 -1065.306 48.000 41.000
+ 04 2 1 4 27 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19876291.23443 -15070996.37242 21269867.566 21269872.765 21269866.533
+ -257.183 -200.402 55.000 49.000
+ -19182329.27443 -14885438.59742 21036943.867 21036949.529 21036942.520
+ 2053.382 1600.038 54.000 48.000
+ -24935018.82543 -19242479.99742 20580562.987 20580567.510 20580561.319
+ -903.328 -703.892 56.000 51.000
+ -24344511.75743 -18940329.13942 21343848.905 21343854.834 21343847.401
+ 113.115 88.141 55.000 48.000
+ -8214819.23343 -6386460.79242 23444872.484 23444877.740 23444872.384
+ 1166.446 908.919 47.000 41.000
+ -7227213.41643 -5620422.24442 23953786.493 23953796.990 23953786.337
+ 2984.512 2325.594 45.000 39.000
+ -16857104.32843 -13094506.37242 22130719.644 22130724.076 22130718.142
+ 1061.916 827.467 53.000 46.000
+ -4408169.74743 -3384711.03242 24271636.746 24271649.292 24271634.824
+ -2921.240 -2276.291 46.000 39.000
+ -11250450.32143 -8735116.80042 23103680.895 23103684.476 23103678.983
+ -1383.461 -1078.021 48.000 41.000
+ 04 2 1 4 28 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19868543.64443 -15064959.31242 21271341.822 21271347.423 21271340.810
+ -259.244 -202.008 55.000 49.000
+ -19243722.34143 -14933277.27742 21025261.544 21025267.236 21025260.246
+ 2039.572 1589.277 54.000 48.000
+ -24907672.13743 -19221170.90942 20585766.894 20585771.494 20585765.632
+ -919.622 -716.588 56.000 51.000
+ -24347598.55143 -18942734.42642 21343260.608 21343267.352 21343259.523
+ 92.681 72.219 55.000 48.000
+ -8249552.85043 -6413525.93342 23438262.093 23438267.186 23438261.404
+ 1149.585 895.781 48.000 41.000
+ -7316623.28443 -5690092.01042 23936771.202 23936782.272 23936771.074
+ 2976.137 2319.068 45.000 40.000
+ -16888957.06043 -13119326.67842 22124658.259 22124662.560 22124657.072
+ 1061.711 827.307 53.000 46.000
+ -4320595.91943 -3316471.96742 24288300.094 24288313.102 24288299.025
+ -2917.070 -2273.041 45.000 39.000
+ -11208692.02243 -8702577.89042 23111627.251 23111632.361 23111625.760
+ -1400.258 -1091.110 48.000 41.000
+ 04 2 1 4 28 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19860726.28743 -15058867.87642 21272829.490 21272834.361 21272828.321
+ -262.246 -204.347 55.000 49.000
+ -19304693.46343 -14980787.18042 21013658.959 21013665.261 21013657.624
+ 2024.617 1577.624 54.000 48.000
+ -24879831.35943 -19199476.81642 20591064.737 20591069.183 20591063.264
+ -936.874 -730.032 56.000 51.000
+ -24350062.45143 -18944654.33942 21342792.169 21342798.568 21342790.796
+ 71.250 55.519 55.000 48.000
+ -8283767.41243 -6440186.64842 23431751.858 23431758.581 23431751.374
+ 1131.453 881.652 48.000 41.000
+ -7405776.18743 -5759561.50842 23919806.598 23919816.786 23919804.367
+ 2966.538 2311.588 45.000 39.000
+ -16920797.53043 -13144137.42742 22118599.099 22118602.877 22118598.415
+ 1060.575 826.422 53.000 46.000
+ -4233148.32743 -3248331.26642 24304941.875 24304953.200 24304941.111
+ -2913.416 -2270.194 46.000 39.000
+ -11166424.85643 -8669642.45642 23119670.609 23119674.985 23119669.139
+ -1417.977 -1104.917 49.000 42.000
+ 04 2 1 4 29 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19852845.58743 -15052727.09142 21274328.704 21274334.800 21274327.578
+ -263.197 -205.088 55.000 49.000
+ -19365248.80843 -15027973.10242 21002135.056 21002141.084 21002133.942
+ 2012.167 1567.922 54.000 48.000
+ -24851503.32943 -19177403.04742 20596455.458 20596459.760 20596453.903
+ -951.781 -741.647 56.000 51.000
+ -24351909.41643 -18946093.52342 21342441.180 21342446.930 21342439.753
+ 51.965 40.492 55.000 48.000
+ -8317469.03243 -6466447.66642 23425337.896 23425345.609 23425336.494
+ 1115.583 869.285 48.000 41.000
+ -7494677.27543 -5828834.84942 23902888.522 23902900.310 23902887.253
+ 2959.688 2306.250 43.000 39.000
+ -16952632.48043 -13168943.87642 22112541.300 22112545.049 22112540.486
+ 1061.386 827.054 53.000 46.000
+ -4145836.15143 -3180296.07642 24321557.769 24321569.197 24321557.355
+ -2907.349 -2265.467 47.000 39.000
+ -11123656.45643 -8636316.47242 23127808.573 23127816.216 23127805.893
+ -1433.338 -1116.887 48.000 42.000
+ 04 2 1 4 29 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19844892.98043 -15046530.27642 21275842.538 21275847.818 21275841.185
+ -265.984 -207.260 55.000 49.000
+ -19425379.57143 -15074828.18842 20990692.785 20990698.635 20990691.516
+ 1997.721 1556.666 54.000 48.000
+ -24822679.63143 -19154943.04342 20601940.115 20601944.847 20601939.018
+ -968.633 -754.779 56.000 51.000
+ -24353130.38343 -18947044.91142 21342208.637 21342214.299 21342207.136
+ 30.687 23.912 55.000 48.000
+ -8350648.91443 -6492302.12642 23419023.475 23419031.314 23419023.218
+ 1097.651 855.312 48.000 41.000
+ -7583317.12743 -5897904.59242 23886020.984 23886031.628 23886019.233
+ 2950.751 2299.286 44.000 39.000
+ -16984453.67243 -13193739.59942 22106485.615 22106490.359 22106485.092
+ 1060.851 826.637 53.000 46.000
+ -4058653.00043 -3112361.43042 24338149.133 24338159.609 24338148.131
+ -2903.710 -2262.631 46.000 39.000
+ -11080379.71343 -8602594.34242 23136042.898 23136048.605 23136042.621
+ -1450.505 -1130.264 48.000 41.000
+ 04 2 1 4 30 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19836872.72243 -15040280.73842 21277368.897 21277374.127 21277367.612
+ -268.454 -209.185 55.000 49.000
+ -19485089.61543 -15121355.43642 20979330.546 20979336.425 20979328.925
+ 1983.365 1545.479 54.000 48.000
+ -24793364.82343 -19132100.34942 20607518.782 20607523.447 20607517.521
+ -985.357 -767.811 56.000 51.000
+ -24353729.23043 -18947511.53142 21342094.725 21342100.783 21342093.048
+ 9.630 7.504 55.000 48.000
+ -8383310.95143 -6517753.06642 23412807.464 23412814.515 23412806.859
+ 1080.113 841.646 46.000 40.000
+ -7671698.69143 -5966773.09642 23869203.209 23869211.895 23869201.131
+ 2941.776 2292.293 44.000 39.000
+ -17016265.89643 -13218528.33442 22100431.954 22100436.663 22100431.093
+ 1060.182 826.116 53.000 46.000
+ -3971605.86343 -3044532.78542 24354712.348 24354724.301 24354710.005
+ -2899.257 -2259.161 45.000 38.000
+ -11036600.02443 -8568480.31842 23144374.958 23144380.464 23144375.139
+ -1467.661 -1143.632 49.000 42.000
+ 04 2 1 4 30 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19828782.90443 -15033976.99942 21278908.166 21278913.288 21278906.922
+ -271.037 -211.198 55.000 49.000
+ -19544376.87943 -15167553.25842 20968048.196 20968053.738 20968047.016
+ 1969.163 1534.413 54.000 48.000
+ -24763557.12343 -19108873.58242 20613191.217 20613195.476 20613189.654
+ -1002.068 -780.832 56.000 51.000
+ -24353703.40543 -18947491.38642 21342099.133 21342105.816 21342097.931
+ -11.514 -8.972 55.000 48.000
+ -8415453.37043 -6542799.09842 23406692.391 23406697.657 23406692.166
+ 1062.782 828.142 47.000 40.000
+ -7759819.15943 -6035438.13142 23852434.231 23852443.323 23852432.793
+ 2933.134 2285.559 44.000 39.000
+ -17048067.51043 -13243308.80542 22094380.553 22094384.595 22094379.889
+ 1059.585 825.651 53.000 46.000
+ -3884695.37543 -2976810.61842 24371252.159 24371262.324 24371250.775
+ -2894.831 -2255.712 45.000 38.000
+ -10992316.80943 -8533973.93142 23152801.355 23152806.965 23152801.033
+ -1484.591 -1156.824 49.000 42.000
+ 04 2 1 4 31 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19820625.20843 -15027620.37042 21280460.452 21280465.913 21280459.449
+ -273.021 -212.744 55.000 48.000
+ -19603242.86743 -15213422.81442 20956846.474 20956851.923 20956845.500
+ 1955.259 1523.578 54.000 48.000
+ -24733258.39843 -19085264.20042 20618956.423 20618961.349 20618954.968
+ -1018.033 -793.272 56.000 51.000
+ -24353054.57643 -18946985.79042 21342223.792 21342229.740 21342222.091
+ -32.167 -25.065 55.000 48.000
+ -8447077.60743 -6567441.36042 23400672.720 23400681.093 23400674.443
+ 1045.448 814.635 46.000 41.000
+ -7847679.07943 -6103900.14842 23835713.864 23835724.478 23835712.958
+ 2924.412 2278.763 44.000 39.000
+ -17079860.52943 -13268082.57642 22088330.252 22088334.617 22088329.548
+ 1059.680 825.725 53.000 46.000
+ -3797925.66543 -2909198.16442 24387764.483 24387775.607 24387762.899
+ -2889.973 -2251.927 47.000 39.000
+ -10947533.10143 -8499077.56242 23161323.701 23161330.659 23161322.753
+ -1501.036 -1169.638 48.000 42.000
+ 04 2 1 4 31 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19812396.30043 -15021208.24342 21282026.409 21282032.158 21282025.170
+ -274.798 -214.128 55.000 48.000
+ -19661684.10643 -15258961.40242 20945725.769 20945731.391 20945724.259
+ 1941.896 1513.166 54.000 48.000
+ -24702465.56043 -19061269.79542 20624816.457 20624821.096 20624814.856
+ -1033.972 -805.692 56.000 51.000
+ -24351779.11143 -18945991.90542 21342465.681 21342472.296 21342464.214
+ -52.477 -40.891 55.000 48.000
+ -8478180.39943 -6591677.31542 23394755.862 23394762.607 23394755.924
+ 1028.532 801.454 48.000 41.000
+ -7935274.23643 -6172155.87342 23819045.564 23819055.491 23819044.250
+ 2916.346 2272.477 46.000 39.000
+ -17111642.19343 -13292847.49542 22082282.093 22082286.578 22082281.654
+ 1059.778 825.801 53.000 46.000
+ -3711296.08243 -2841694.89342 24404249.692 24404260.124 24404248.603
+ -2884.513 -2247.672 47.000 39.000
+ -10902247.02843 -8463789.73242 23169941.844 23169946.962 23169940.988
+ -1517.200 -1182.234 49.000 42.000
+ 04 2 1 4 32 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19804098.29043 -15014742.27242 21283604.955 21283611.197 21283603.618
+ -277.277 -216.060 55.000 48.000
+ -19719702.35143 -15304170.38442 20934684.468 20934690.753 20934683.544
+ 1927.383 1501.857 54.000 48.000
+ -24671181.15243 -19036892.34442 20630769.809 20630774.110 20630768.565
+ -1050.482 -818.557 56.000 51.000
+ -24349878.54943 -18944510.92742 21342826.917 21342833.812 21342825.700
+ -73.232 -57.064 55.000 48.000
+ -8508763.77543 -6615508.51442 23388936.667 23388941.153 23388935.571
+ 1011.211 787.957 48.000 41.000
+ -8022605.55443 -6240206.02742 23802426.264 23802436.954 23802425.189
+ 2906.535 2264.832 45.000 39.000
+ -17143414.63043 -13317605.23242 22076236.708 22076240.738 22076235.658
+ 1059.486 825.574 54.000 46.000
+ -3624810.79743 -2774304.06042 24420707.472 24420718.210 24420706.308
+ -2879.810 -2244.008 47.000 39.000
+ -10856462.02843 -8428113.13642 23178654.075 23178659.369 23178652.555
+ -1533.870 -1195.223 48.000 42.000
+ 04 2 1 4 32 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19795729.79543 -15008221.37042 21285198.563 21285203.366 21285197.095
+ -280.196 -218.334 55.000 48.000
+ -19777296.17943 -15349048.64542 20923724.991 20923731.168 20923723.983
+ 1912.732 1490.441 54.000 48.000
+ -24639404.22443 -19012131.11342 20636816.741 20636821.212 20636815.422
+ -1067.555 -831.861 56.000 51.000
+ -24347351.31143 -18942541.63242 21343308.237 21343314.147 21343306.632
+ -94.922 -73.965 55.000 48.000
+ -8538826.04543 -6638933.66642 23383214.683 23383221.895 23383213.843
+ 993.415 774.090 48.000 41.000
+ -8109670.89943 -6308048.91942 23785858.869 23785867.568 23785857.544
+ 2897.632 2257.895 45.000 39.000
+ -17175177.12043 -13342355.20142 22070191.957 22070196.842 22070191.285
+ 1058.485 824.794 53.000 46.000
+ -3538470.88943 -2707026.51142 24437137.682 24437149.167 24437136.892
+ -2875.730 -2240.828 47.000 40.000
+ -10810178.36143 -8392047.94442 23187461.378 23187467.036 23187459.231
+ -1551.247 -1208.764 48.000 41.000
+ 04 2 1 4 33 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19787290.89043 -15001645.61742 21286803.454 21286809.046 21286802.081
+ -282.392 -220.046 54.000 48.000
+ -19834465.57243 -15393596.18842 20912846.156 20912851.850 20912845.214
+ 1898.642 1479.461 54.000 48.000
+ -24607135.02243 -18986986.29342 20642957.421 20642961.793 20642956.071
+ -1083.781 -844.505 56.000 51.000
+ -24344197.44843 -18940084.06042 21343908.373 21343914.674 21343907.208
+ -115.531 -90.024 55.000 48.000
+ -8568367.54443 -6661953.03442 23377595.407 23377601.136 23377594.774
+ 976.041 760.551 49.000 42.000
+ -8196469.08843 -6375683.66542 23769343.530 23769350.905 23769340.412
+ 2888.886 2251.080 46.000 40.000
+ -17206930.01443 -13367097.71242 22064149.151 22064153.952 22064148.912
+ 1058.220 824.587 53.000 46.000
+ -3452279.79143 -2639864.92442 24453538.922 24453550.153 24453535.788
+ -2870.409 -2236.682 47.000 39.000
+ -10763397.54243 -8355595.39642 23196364.099 23196368.670 23196363.650
+ -1567.561 -1221.476 48.000 41.000
+ 04 2 1 4 33 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19778780.93943 -14995014.50242 21288423.241 21288428.421 21288421.907
+ -284.622 -221.783 55.000 48.000
+ -19891209.67543 -15437812.33042 20902048.090 20902053.559 20902046.508
+ 1884.673 1468.576 54.000 48.000
+ -24574373.20743 -18961457.62342 20649191.059 20649196.144 20649189.923
+ -1099.987 -857.133 56.000 51.000
+ -24340415.92743 -18937137.40242 21344627.584 21344633.811 21344626.467
+ -136.329 -106.230 55.000 48.000
+ -8597387.66243 -6684566.11942 23372072.191 23372077.967 23372071.113
+ 958.991 747.266 48.000 41.000
+ -8282998.77543 -6443109.17842 23752874.665 23752884.877 23752873.766
+ 2880.042 2244.189 46.000 40.000
+ -17238672.88143 -13391832.39742 22058109.164 22058113.803 22058108.447
+ 1058.123 824.511 53.000 46.000
+ -3366238.17243 -2572819.81642 24469911.875 24469923.565 24469910.875
+ -2865.270 -2232.678 47.000 39.000
+ -10716120.27043 -8318755.98042 23205360.533 23205365.226 23205359.515
+ -1584.010 -1234.293 47.000 41.000
+ 04 2 1 4 34 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19770197.30243 -14988325.96742 21290056.584 21290061.762 21290055.428
+ -287.102 -223.716 55.000 48.000
+ -19947526.16443 -15481695.25542 20891331.837 20891336.800 20891330.257
+ 1870.449 1457.493 54.000 48.000
+ -24541117.07843 -18935543.78142 20655520.047 20655524.497 20655518.620
+ -1116.486 -869.989 56.000 51.000
+ -24336004.18843 -18933699.65942 21345467.895 21345473.469 21345466.458
+ -157.274 -122.551 55.000 48.000
+ -8625883.88243 -6706770.97342 23366647.848 23366654.826 23366647.664
+ 941.513 733.646 47.000 41.000
+ -8369256.55043 -6510322.84642 23736459.682 23736469.776 23736458.959
+ 2871.129 2237.243 44.000 40.000
+ -17270403.77543 -13416557.76542 22052070.912 22052075.252 22052070.330
+ 1057.812 824.269 53.000 46.000
+ -3280346.70843 -2505891.71642 24486256.330 24486270.490 24486255.562
+ -2860.001 -2228.572 47.000 39.000
+ -10668345.73643 -8281529.08942 23214452.041 23214455.956 23214450.728
+ -1600.459 -1247.111 47.000 41.000
+ 04 2 1 4 34 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19761543.82643 -14981583.01442 21291703.526 21291708.407 21291702.067
+ -290.231 -226.154 55.000 48.000
+ -20003418.73243 -15525247.86542 20880695.490 20880700.366 20880694.088
+ 1855.310 1445.696 54.000 48.000
+ -24507370.80043 -18909248.00542 20661941.680 20661946.381 20661940.426
+ -1133.624 -883.343 56.000 51.000
+ -24330965.88843 -18929773.70542 21346426.339 21346432.451 21346424.803
+ -179.095 -139.554 55.000 48.000
+ -8653860.25643 -6728570.75342 23361323.484 23361331.191 23361323.773
+ 923.297 719.452 47.000 41.000
+ -8455245.17043 -6577326.76942 23720097.851 23720107.724 23720095.061
+ 2861.053 2229.392 45.000 40.000
+ -17302126.80643 -13441277.00342 22046034.410 22046038.489 22046033.328
+ 1056.713 823.413 54.000 46.000
+ -3194611.76043 -2439085.58142 24502571.783 24502584.416 24502570.847
+ -2855.951 -2225.416 47.000 39.000
+ -10620079.24543 -8243918.87642 23223635.422 23223641.449 23223635.207
+ -1617.659 -1260.513 47.000 41.000
+ 04 2 1 4 35 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19752817.09243 -14974782.96542 21293363.810 21293369.636 21293362.659
+ -291.779 -227.360 55.000 48.000
+ -20058883.87643 -15568467.40442 20870140.945 20870146.217 20870139.637
+ 1842.040 1435.356 54.000 48.000
+ -24473131.22343 -18882567.83842 20668457.648 20668462.056 20668456.188
+ -1149.194 -895.476 56.000 51.000
+ -24325297.72243 -18925356.93942 21347505.121 21347510.290 21347503.188
+ -199.058 -155.110 55.000 48.000
+ -8681313.54743 -6749962.94742 23356100.889 23356107.559 23356100.666
+ 906.612 706.451 47.000 41.000
+ -8540960.36843 -6644117.63742 23703786.213 23703796.083 23703783.919
+ 2853.117 2223.208 44.000 39.000
+ -17333838.82343 -13465987.66342 22039999.968 22040003.531 22039999.349
+ 1057.193 823.787 54.000 46.000
+ -3109032.20243 -2372400.53742 24518857.567 24518870.234 24518856.971
+ -2849.752 -2220.586 47.000 39.000
+ -10571318.97843 -8205923.87542 23232916.740 23232920.762 23232914.098
+ -1633.184 -1272.611 48.000 41.000
+ 04 2 1 4 35 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19744017.44243 -14967926.10742 21295038.601 21295043.766 21295037.468
+ -295.517 -230.273 55.000 48.000
+ -20113921.88643 -15611354.11542 20859666.716 20859672.304 20859665.816
+ 1826.534 1423.273 54.000 48.000
+ -24438399.20743 -18855503.95542 20675066.585 20675071.228 20675064.987
+ -1166.976 -909.332 56.000 51.000
+ -24319000.01143 -18920449.61542 21348703.260 21348709.197 21348701.826
+ -221.395 -172.515 55.000 48.000
+ -8708244.22043 -6770947.89542 23350977.431 23350982.438 23350975.559
+ 888.164 692.076 49.000 42.000
+ -8626401.78243 -6710695.15842 23687526.588 23687537.535 23687526.657
+ 2842.478 2214.918 45.000 39.000
+ -17365540.57343 -13490690.32042 22033967.193 22033971.199 22033966.566
+ 1055.549 822.506 54.000 46.000
+ -3023610.74243 -2305838.70542 24535113.745 24535124.636 24535111.728
+ -2845.645 -2217.386 48.000 39.000
+ -10522066.95143 -8167545.68142 23242287.681 23242291.656 23242287.664
+ -1651.038 -1286.523 48.000 41.000
+ 04 2 1 4 36 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19735146.27843 -14961013.52242 21296726.657 21296732.195 21296725.548
+ -296.872 -231.329 55.000 48.000
+ -20168534.34843 -15653909.23142 20849274.185 20849280.170 20849273.407
+ 1813.350 1413.000 54.000 48.000
+ -24403176.86843 -18828058.00942 20681769.305 20681773.917 20681767.845
+ -1182.292 -921.266 56.000 51.000
+ -24312074.08143 -18915052.77642 21350021.164 21350027.483 21350019.888
+ -241.343 -188.059 55.000 48.000
+ -8734653.88243 -6791526.87642 23345950.893 23345956.236 23345949.854
+ 871.536 679.119 48.000 41.000
+ -8711569.69543 -6777059.56842 23671321.550 23671329.166 23671319.521
+ 2834.285 2208.534 46.000 40.000
+ -17397233.73243 -13515386.29442 22027935.156 22027939.876 22027935.214
+ 1056.318 823.105 53.000 46.000
+ -2938351.31243 -2239403.13342 24551337.229 24551349.416 24551336.684
+ -2839.268 -2212.417 47.000 39.000
+ -10472326.14843 -8128786.63442 23251752.618 23251757.782 23251750.676
+ -1666.171 -1298.315 48.000 41.000
+ 04 2 1 4 36 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19726203.73943 -14954045.32242 21298428.392 21298433.586 21298427.173
+ -298.563 -232.646 55.000 48.000
+ -20222721.42043 -15696132.87642 20838963.161 20838969.085 20838962.368
+ 1799.913 1402.530 54.000 48.000
+ -24367464.79143 -18800230.44842 20688564.896 20688569.820 20688563.580
+ -1197.725 -933.292 56.000 51.000
+ -24304520.22243 -18909166.65042 21351458.453 21351465.180 21351457.267
+ -261.466 -203.740 54.000 48.000
+ -8760542.89043 -6811700.13242 23341022.863 23341029.826 23341023.253
+ 855.319 666.482 48.000 41.000
+ -8796463.78343 -6843210.60742 23655166.167 23655174.543 23655163.997
+ 2825.973 2202.057 46.000 40.000
+ -17428918.79643 -13540075.94642 22021906.779 22021911.009 22021906.329
+ 1056.846 823.516 54.000 46.000
+ -2853256.65043 -2173095.96142 24567531.732 24567544.261 24567531.423
+ -2832.840 -2207.408 48.000 39.000
+ -10422098.46943 -8089648.20542 23261310.378 23261316.281 23261310.772
+ -1681.668 -1310.391 48.000 41.000
+ 04 2 1 4 37 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19717182.42643 -14947015.74142 21300145.412 21300150.623 21300144.065
+ -301.968 -235.300 55.000 48.000
+ -20276475.67243 -15738019.26042 20828734.298 20828740.119 20828733.264
+ 1784.744 1390.710 54.000 48.000
+ -24331256.21543 -18772016.00442 20695455.241 20695460.069 20695453.606
+ -1215.034 -946.780 56.000 51.000
+ -24296331.08943 -18902785.51442 21353016.283 21353023.043 21353015.269
+ -283.326 -220.773 54.000 48.000
+ -8785904.11043 -6831462.14542 23336198.694 23336203.868 23336198.411
+ 836.524 651.837 48.000 41.000
+ -8881075.49443 -6909141.60042 23639062.753 23639074.790 23639062.826
+ 2815.729 2194.075 46.000 40.000
+ -17460588.62943 -13564753.73242 22015879.979 22015884.546 22015879.915
+ 1055.603 822.548 54.000 46.000
+ -2768321.86343 -2106913.38242 24583693.813 24583705.630 24583691.984
+ -2828.234 -2203.819 48.000 39.000
+ -10371378.21643 -8050125.95342 23270962.571 23270967.844 23270961.727
+ -1698.677 -1323.644 48.000 41.000
+ 04 2 1 4 37 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19708090.16043 -14939930.87342 21301874.858 21301880.505 21301873.867
+ -303.799 -236.726 55.000 48.000
+ -20329805.37843 -15779574.83242 20818585.599 20818591.204 20818584.461
+ 1771.268 1380.209 54.000 48.000
+ -24294559.88743 -18743421.50242 20702438.229 20702442.867 20702436.877
+ -1230.908 -959.149 56.000 50.000
+ -24287514.91143 -18895915.76942 21354694.228 21354701.145 21354692.769
+ -303.665 -236.622 54.000 48.000
+ -8810745.65743 -6850819.20042 23331471.948 23331477.615 23331469.807
+ 819.950 638.922 48.000 41.000
+ -8965412.18343 -6974858.29542 23623015.083 23623023.934 23623014.249
+ 2807.114 2187.362 45.000 40.000
+ -17492252.00143 -13589426.48742 22009854.582 22009858.832 22009853.629
+ 1055.932 822.804 54.000 46.000
+ -2683557.48843 -2040863.59142 24599824.103 24599836.455 24599823.347
+ -2822.105 -2199.043 48.000 39.000
+ -10320175.10543 -8010227.42342 23280705.300 23280711.339 23280704.778
+ -1714.175 -1335.721 48.000 41.000
+ 04 2 1 4 38 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19698921.49543 -14932786.46042 21303620.282 21303625.093 21303618.748
+ -306.640 -238.940 55.000 48.000
+ -20382705.02743 -15820795.29842 20808519.152 20808524.804 20808518.003
+ 1756.318 1368.559 54.000 48.000
+ -24257370.86543 -18714443.07342 20709515.484 20709520.198 20709513.941
+ -1247.514 -972.089 56.000 51.000
+ -24278066.28543 -18888553.21942 21356492.955 21356498.445 21356491.256
+ -325.183 -253.389 55.000 48.000
+ -8835062.90343 -6869767.68342 23326844.320 23326849.504 23326841.568
+ 802.335 625.196 48.000 41.000
+ -9049467.59943 -7040355.82842 23607019.625 23607028.158 23607017.920
+ 2797.163 2179.608 45.000 39.000
+ -17523903.45443 -13614089.95142 22003831.782 22003835.922 22003830.827
+ 1055.131 822.180 54.000 46.000
+ -2598960.11743 -1974943.92542 24615922.627 24615935.338 24615920.809
+ -2816.851 -2194.949 48.000 39.000
+ -10268485.35543 -7969949.72642 23290542.913 23290548.489 23290541.367
+ -1730.909 -1348.760 49.000 42.000
+ 04 2 1 4 38 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19689679.73943 -14925585.09242 21305378.125 21305384.391 21305376.476
+ -309.363 -241.062 55.000 48.000
+ -20435178.22143 -15861683.45042 20798533.413 20798539.148 20798532.750
+ 1741.799 1357.246 55.000 48.000
+ -24219693.03743 -18685083.76942 20716685.282 20716689.964 20716683.954
+ -1263.970 -984.912 56.000 51.000
+ -24267988.64543 -18880700.52442 21358410.856 21358416.212 21358409.290
+ -346.404 -269.925 55.000 48.000
+ -8858859.06643 -6888310.17442 23322315.810 23322322.692 23322313.973
+ 784.536 611.327 48.000 41.000
+ -9133244.19843 -7105636.07142 23591076.132 23591086.743 23591075.777
+ 2787.662 2172.204 45.000 40.000
+ -17555546.55043 -13638746.89842 21997810.284 21997814.744 21997809.547
+ 1054.587 821.756 54.000 46.000
+ -2514535.78743 -1909159.12042 24631989.406 24632001.209 24631986.739
+ -2811.192 -2190.539 48.000 39.000
+ -10216314.13743 -7929296.85042 23300470.354 23300474.802 23300469.044
+ -1747.099 -1361.376 49.000 42.000
+ 04 2 1 4 39 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19680348.18843 -14918313.76042 21307154.417 21307160.212 21307153.475
+ -311.891 -243.032 54.000 48.000
+ -20487208.56643 -15902226.53342 20788632.189 20788638.632 20788631.546
+ 1727.608 1346.188 54.000 48.000
+ -24181510.65143 -18655331.29642 20723951.367 20723955.826 20723949.806
+ -1280.495 -997.788 56.000 51.000
+ -24257265.69943 -18872344.99242 21360451.109 21360456.581 21360449.337
+ -367.541 -286.395 55.000 48.000
+ -8882118.18543 -6906434.17842 23317890.229 23317897.683 23317888.095
+ 766.936 597.612 48.000 42.000
+ -9216724.70743 -7170685.62342 23575190.934 23575200.795 23575189.722
+ 2778.245 2164.866 46.000 40.000
+ -17587165.15443 -13663384.75342 21991793.134 21991798.075 21991792.835
+ 1054.260 821.501 54.000 46.000
+ -2430270.24743 -1843498.04042 24648024.255 24648036.471 24648022.062
+ -2805.565 -2186.154 47.000 39.000
+ -10163646.66343 -7888257.29142 23310492.061 23310499.229 23310491.086
+ -1763.194 -1373.917 48.000 41.000
+ 04 2 1 4 39 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19670953.63043 -14910993.32542 21308942.464 21308947.692 21308940.938
+ -314.175 -244.812 55.000 48.000
+ -20538822.90343 -15942445.45542 20778810.867 20778816.234 20778809.805
+ 1713.638 1335.302 55.000 48.000
+ -24142851.07643 -18625206.99142 20731307.652 20731312.709 20731306.374
+ -1296.507 -1010.265 56.000 51.000
+ -24245924.46043 -18863507.67442 21362609.384 21362614.649 21362607.826
+ -388.336 -302.599 55.000 48.000
+ -8904867.08443 -6924160.61442 23313560.833 23313566.867 23313559.712
+ 749.873 584.317 48.000 42.000
+ -9299935.09243 -7235524.66542 23559356.481 23559366.149 23559355.182
+ 2768.958 2157.630 46.000 40.000
+ -17618786.21943 -13688024.54242 21985776.064 21985780.396 21985775.423
+ 1054.169 821.430 54.000 46.000
+ -2346192.79043 -1777983.55142 24664024.815 24664036.192 24664022.174
+ -2799.258 -2181.240 46.000 38.000
+ -10110511.49243 -7846853.27542 23320602.911 23320610.192 23320601.773
+ -1778.921 -1386.172 48.000 41.000
+ 04 2 1 4 40 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19661479.90843 -14903611.21142 21310744.601 21310750.606 21310743.587
+ -316.968 -246.988 55.000 48.000
+ -20590005.38943 -15982327.86942 20769071.284 20769076.657 20769069.689
+ 1698.912 1323.828 55.000 48.000
+ -24103699.04243 -18594698.95642 20738758.566 20738763.024 20738756.754
+ -1313.505 -1023.510 56.000 50.000
+ -24233949.09743 -18854176.23642 21364888.177 21364894.182 21364886.841
+ -409.733 -319.272 55.000 48.000
+ -8927090.41543 -6941477.49242 23309332.717 23309338.617 23309332.975
+ 731.798 570.232 49.000 42.000
+ -9382858.68943 -7300140.28742 23543576.378 23543586.142 23543576.105
+ 2759.321 2150.120 47.000 40.000
+ -17650393.99943 -13712653.96342 21979762.190 21979766.252 21979760.946
+ 1053.353 820.795 54.000 47.000
+ -2262289.85743 -1712605.08642 24679989.249 24680003.549 24679988.396
+ -2793.883 -2177.052 45.000 38.000
+ -10056894.35743 -7805073.71842 23330806.996 23330812.689 23330805.072
+ -1795.420 -1399.028 48.000 41.000
+ 04 2 1 4 40 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19651931.59443 -14896170.97342 21312561.709 21312567.339 21312560.458
+ -318.858 -248.461 55.000 48.000
+ -20640760.74143 -16021877.46042 20759413.156 20759418.260 20759411.915
+ 1685.257 1313.187 55.000 49.000
+ -24064059.63443 -18563811.14542 20746301.204 20746306.077 20746299.950
+ -1328.735 -1035.378 56.000 50.000
+ -24221344.47843 -18844354.47342 21367286.208 21367292.627 21367285.156
+ -429.935 -335.014 54.000 48.000
+ -8948793.09443 -6958388.68842 23305201.087 23305207.229 23305199.776
+ 715.375 557.435 48.000 41.000
+ -9465499.28243 -7364535.36942 23527851.320 23527859.002 23527849.521
+ 2750.651 2143.364 47.000 40.000
+ -17681993.26143 -13737276.75442 21973748.830 21973753.046 21973747.699
+ 1053.865 821.194 54.000 47.000
+ -2178568.33243 -1647368.00242 24695921.916 24695935.643 24695920.592
+ -2786.913 -2171.620 46.000 38.000
+ -10002801.62743 -7762923.55842 23341100.994 23341106.806 23341099.622
+ -1810.290 -1410.615 48.000 42.000
+ 04 2 1 4 41 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19642305.17143 -14888669.87242 21314393.601 21314399.043 21314392.401
+ -322.802 -251.534 55.000 48.000
+ -20691085.58643 -16061091.59342 20749836.021 20749841.587 20749835.126
+ 1669.707 1301.070 54.000 48.000
+ -24023930.34643 -18532541.61042 20753937.731 20753942.528 20753936.396
+ -1346.293 -1049.059 56.000 50.000
+ -24208107.30943 -18834039.80342 21369805.488 21369812.088 21369804.347
+ -452.310 -352.449 54.000 48.000
+ -8969972.04043 -6974891.77242 23301172.001 23301177.320 23301170.614
+ 696.509 542.734 49.000 42.000
+ -9547852.61943 -7428706.61442 23512180.076 23512187.343 23512178.350
+ 2739.768 2134.884 47.000 40.000
+ -17713580.83343 -13761890.43342 21967737.372 21967742.136 21967736.210
+ 1052.228 819.918 54.000 47.000
+ -2095026.82943 -1582271.21342 24711818.199 24711833.498 24711818.028
+ -2782.418 -2168.118 45.000 38.000
+ -9948231.69643 -7720401.56542 23351486.095 23351491.887 23351484.159
+ -1827.598 -1424.102 49.000 42.000
+ 04 2 1 4 41 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19632604.10143 -14881110.60042 21316239.975 21316245.461 21316238.661
+ -323.732 -252.259 55.000 48.000
+ -20740983.86143 -16099973.32542 20740341.082 20740346.276 20740339.472
+ 1656.963 1291.140 55.000 48.000
+ -23983315.57643 -18500893.77742 20761666.422 20761671.239 20761665.011
+ -1361.019 -1060.534 56.000 50.000
+ -24194241.58343 -18823235.35342 21372443.655 21372449.998 21372442.685
+ -471.765 -367.609 54.000 48.000
+ -8990631.35243 -6990989.99142 23297239.840 23297245.931 23297240.460
+ 680.874 530.551 48.000 41.000
+ -9629921.65243 -7492656.30442 23496561.519 23496570.905 23496559.908
+ 2731.710 2128.605 47.000 40.000
+ -17745161.01743 -13786498.36742 21961727.659 21961732.180 21961726.740
+ 1053.335 820.781 54.000 47.000
+ -2011671.58743 -1517319.56642 24727680.781 24727697.364 24727681.184
+ -2774.636 -2162.054 45.000 37.000
+ -9893189.84243 -7677511.85642 23361959.550 23361965.479 23361958.532
+ -1841.718 -1435.105 48.000 42.000
+ 04 2 1 4 42 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19622821.63543 -14873487.90442 21318101.324 21318106.418 21318100.257
+ -327.137 -254.912 55.000 48.000
+ -20790449.18843 -16138517.69442 20730927.716 20730933.442 20730926.885
+ 1641.962 1279.451 55.000 48.000
+ -23942209.55243 -18468863.14542 20769488.798 20769493.456 20769487.415
+ -1378.047 -1073.803 56.000 50.000
+ -24179741.26843 -18811936.39542 21375203.626 21375209.592 21375201.820
+ -493.524 -384.564 55.000 48.000
+ -9010765.14143 -7006678.65842 23293408.387 23293415.233 23293407.132
+ 662.349 516.116 48.000 41.000
+ -9711699.08743 -7556378.78542 23480999.612 23481009.861 23480997.544
+ 2721.091 2120.331 46.000 40.000
+ -17776726.70443 -13811094.99142 21955721.137 21955725.231 21955720.113
+ 1052.356 820.018 54.000 47.000
+ -1928498.40543 -1452509.79242 24743509.433 24743524.630 24743508.150
+ -2768.991 -2157.655 45.000 38.000
+ -9837671.63643 -7634250.93742 23372524.775 23372528.637 23372523.686
+ -1858.190 -1447.940 48.000 41.000
+ 04 2 1 4 42 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19612961.07643 -14865804.36342 21319978.096 21319982.756 21319976.572
+ -330.482 -257.518 55.000 48.000
+ -20839485.32743 -16176727.63142 20721596.229 20721601.863 20721595.099
+ 1626.837 1267.665 54.000 48.000
+ -23900616.45443 -18436452.97642 20777404.034 20777408.444 20777402.718
+ -1395.117 -1087.104 56.000 51.000
+ -24164610.27643 -18800146.01342 21378082.982 21378088.653 21378081.527
+ -515.455 -401.653 55.000 48.000
+ -9030377.11043 -7021960.72142 23289677.164 23289683.504 23289675.961
+ 644.515 502.219 49.000 42.000
+ -9793187.61943 -7619876.15842 23465491.950 23465501.459 23465491.188
+ 2710.795 2112.308 45.000 40.000
+ -17808281.76143 -13835683.34142 21949716.345 21949721.247 21949715.914
+ 1051.141 819.071 54.000 47.000
+ -1845512.79643 -1387846.18342 24759301.617 24759315.918 24759300.878
+ -2763.716 -2153.545 45.000 38.000
+ -9781682.17643 -7590622.82942 23383178.273 23383184.438 23383176.986
+ -1874.742 -1460.838 47.000 41.000
+ 04 2 1 4 43 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19603018.35843 -14858056.80742 21321870.202 21321874.979 21321868.992
+ -332.852 -259.365 55.000 48.000
+ -20888088.55443 -16214600.24442 20712347.441 20712353.034 20712346.677
+ 1612.743 1256.683 54.000 48.000
+ -23858533.20443 -18403660.86342 20785412.306 20785416.733 20785410.533
+ -1411.028 -1099.502 56.000 51.000
+ -24148845.05243 -18787861.41842 21381082.694 21381088.871 21381081.338
+ -536.210 -417.826 54.000 48.000
+ -9049463.98843 -7036833.62842 23286043.983 23286049.785 23286043.155
+ 627.158 488.695 48.000 41.000
+ -9874382.77543 -7683144.91542 23450040.539 23450049.798 23450041.171
+ 2701.452 2105.028 47.000 40.000
+ -17839822.60443 -13860260.61342 21943714.029 21943718.438 21943713.457
+ 1050.995 818.957 54.000 46.000
+ -1762713.64743 -1323327.85742 24775058.428 24775070.191 24775057.192
+ -2757.186 -2148.457 44.000 37.000
+ -9725219.74343 -7546626.15042 23393922.540 23393927.375 23393921.181
+ -1890.168 -1472.858 48.000 41.000
+ 04 2 1 4 43 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19592998.50243 -14850249.14542 21323776.903 21323781.801 21323775.287
+ -335.952 -261.781 55.000 48.000
+ -20936264.49743 -16252139.90842 20703179.977 20703185.398 20703179.005
+ 1598.109 1245.280 55.000 48.000
+ -23815965.94343 -18370491.60142 20793512.249 20793517.078 20793510.975
+ -1427.592 -1112.409 56.000 50.000
+ -24132451.06943 -18775086.88042 21384202.356 21384208.262 21384201.268
+ -557.490 -434.408 54.000 48.000
+ -9068031.66943 -7051301.97142 23282511.344 23282519.270 23282511.587
+ 609.710 475.099 49.000 42.000
+ -9955288.85843 -7746188.41042 23434645.879 23434653.866 23434645.294
+ 2691.425 2097.214 47.000 41.000
+ -17871354.71743 -13884831.08542 21937713.985 21937718.691 21937713.398
+ 1050.223 818.356 54.000 47.000
+ -1680108.22243 -1258960.51042 24790779.691 24790793.270 24790778.374
+ -2751.056 -2143.680 45.000 37.000
+ -9668291.42543 -7502266.45742 23404756.414 23404760.553 23404756.210
+ -1905.808 -1485.045 48.000 41.000
+ 04 2 1 4 44 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19582899.55243 -14842379.85942 21325698.177 21325703.599 21325696.968
+ -338.178 -263.515 55.000 48.000
+ -20984011.28343 -16289345.17442 20694093.904 20694099.201 20694092.797
+ 1584.155 1234.406 55.000 48.000
+ -23772913.48443 -18336944.26242 20801704.846 20801709.438 20801703.439
+ -1443.401 -1124.728 56.000 50.000
+ -24115427.04643 -18761821.41742 21387441.940 21387448.086 21387440.678
+ -578.187 -450.535 55.000 48.000
+ -9086078.60843 -7065364.53142 23279077.536 23279084.191 23279076.050
+ 592.689 461.836 49.000 42.000
+ -10035903.44243 -7809004.80942 23419305.949 23419313.822 23419304.527
+ 2682.091 2089.941 48.000 41.000
+ -17902876.30443 -13909393.35642 21931715.555 21931719.684 21931715.123
+ 1050.276 818.397 54.000 47.000
+ -1597696.94943 -1194744.52642 24806461.095 24806477.081 24806460.050
+ -2743.973 -2138.161 45.000 38.000
+ -9610897.10243 -7457543.64542 23415678.846 23415683.323 23415675.898
+ -1921.182 -1497.025 48.000 41.000
+ 04 2 1 4 44 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19572717.38043 -14834445.72342 21327636.375 21327641.608 21327635.012
+ -340.987 -265.704 55.000 48.000
+ -21031325.48643 -16326213.36142 20685090.628 20685095.901 20685089.580
+ 1569.758 1223.188 55.000 48.000
+ -23729372.63943 -18303016.36742 20809990.414 20809995.086 20809988.869
+ -1459.603 -1137.353 56.000 50.000
+ -24097769.49443 -18748062.28142 21390802.324 21390808.154 21390800.883
+ -599.279 -466.971 55.000 48.000
+ -9103601.60543 -7079018.84842 23275742.684 23275748.560 23275742.718
+ 575.245 448.243 49.000 42.000
+ -10116221.95943 -7871590.47542 23404022.621 23404030.249 23404020.071
+ 2672.298 2082.310 49.000 41.000
+ -17934383.43843 -13933944.37342 21925719.803 21925723.820 21925719.445
+ 1049.864 818.076 53.000 46.000
+ -1515478.04143 -1130678.42242 24822107.842 24822120.477 24822105.631
+ -2737.662 -2133.243 44.000 37.000
+ -9553034.89043 -7412456.23242 23426689.195 23426695.372 23426686.989
+ -1936.674 -1509.097 48.000 41.000
+ 04 2 1 4 45 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19562454.00743 -14826448.31642 21329588.870 21329594.758 21329587.741
+ -343.595 -267.736 55.000 48.000
+ -21078209.59043 -16362746.40942 20676169.031 20676174.254 20676167.703
+ 1555.340 1211.953 55.000 49.000
+ -23685346.77643 -18268710.53742 20818368.400 20818373.516 20818367.016
+ -1475.751 -1149.936 56.000 50.000
+ -24079481.31443 -18733811.75342 21394282.426 21394288.047 21394280.508
+ -620.305 -483.354 54.000 48.000
+ -9120603.48243 -7092267.06842 23272506.982 23272512.832 23272506.193
+ 557.628 434.515 48.000 42.000
+ -10196245.98743 -7933946.68842 23388794.120 23388801.792 23388791.679
+ 2662.385 2074.586 48.000 41.000
+ -17965878.41443 -13958485.92142 21919725.884 21919731.326 21919725.272
+ 1049.445 817.749 54.000 47.000
+ -1433456.04543 -1066765.80742 24837715.700 24837731.503 24837715.829
+ -2730.980 -2128.036 45.000 37.000
+ -9494708.97543 -7367007.51042 23437786.390 23437793.022 23437786.597
+ -1952.108 -1521.123 47.000 41.000
+ 04 2 1 4 45 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19552109.20343 -14818387.45042 21331557.806 21331563.020 21331556.430
+ -346.342 -269.877 55.000 48.000
+ -21124663.91543 -16398944.55442 20667328.999 20667333.944 20667327.833
+ 1541.194 1200.930 55.000 49.000
+ -23640836.65343 -18234027.36342 20826838.284 20826843.146 20826836.963
+ -1491.852 -1162.482 56.000 50.000
+ -24060563.07043 -18719070.27142 21397882.073 21397888.166 21397881.008
+ -641.208 -499.642 54.000 48.000
+ -9137085.06743 -7105109.90342 23269370.548 23269377.533 23269369.968
+ 540.799 421.402 49.000 42.000
+ -10275974.84043 -7996072.89042 23373620.104 23373628.708 23373619.784
+ 2652.547 2066.920 47.000 41.000
+ -17997361.58743 -13983018.26542 21913735.002 21913740.222 21913734.734
+ 1049.058 817.448 54.000 47.000
+ -1351633.32843 -1003008.48442 24853285.992 24853300.873 24853285.395
+ -2724.216 -2122.766 44.000 37.000
+ -9435921.18743 -7321198.89442 23448974.980 23448980.779 23448973.545
+ -1967.358 -1533.006 48.000 41.000
+ 04 2 1 4 46 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19541679.17443 -14810260.17342 21333542.089 21333548.278 21333541.130
+ -348.998 -271.946 55.000 48.000
+ -21170685.28743 -16434805.32942 20658570.985 20658576.705 20658570.027
+ 1526.882 1189.778 55.000 49.000
+ -23595839.85943 -18198964.95542 20835401.384 20835405.531 20835399.708
+ -1507.793 -1174.904 56.000 50.000
+ -24041011.82043 -18703835.53642 21401602.848 21401608.556 21401601.612
+ -662.136 -515.950 54.000 48.000
+ -9153043.44043 -7117545.01042 23266332.907 23266340.346 23266332.931
+ 523.286 407.755 47.000 41.000
+ -10355404.42643 -8057965.89342 23358506.024 23358513.763 23358506.113
+ 2642.792 2059.318 48.000 41.000
+ -18028829.57643 -14007538.78242 21907747.656 21907752.355 21907746.843
+ 1048.732 817.194 54.000 47.000
+ -1270008.74543 -939405.57142 24868820.160 24868835.377 24868818.536
+ -2717.776 -2117.747 44.000 37.000
+ -9376670.08343 -7275029.24142 23460249.524 23460256.689 23460249.918
+ -1982.814 -1545.050 48.000 41.000
+ 04 2 1 4 46 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19531167.19843 -14802069.04942 21335542.536 21335548.437 21335541.380
+ -352.357 -274.564 55.000 48.000
+ -21216277.44343 -16470331.65642 20649895.367 20649900.682 20649894.203
+ 1511.970 1178.158 55.000 49.000
+ -23550360.69243 -18163526.67842 20844055.406 20844060.127 20844053.823
+ -1524.644 -1188.034 56.000 50.000
+ -24020831.61743 -18688110.71242 21405442.884 21405449.006 21405441.210
+ -683.790 -532.823 54.000 48.000
+ -9168482.48343 -7129575.46142 23263395.635 23263402.487 23263394.659
+ 505.074 393.564 48.000 41.000
+ -10434537.48143 -8119627.81442 23343447.076 23343454.323 23343446.441
+ 2631.948 2050.869 48.000 41.000
+ -18060286.11143 -14032050.37142 21901761.391 21901765.712 21901760.491
+ 1047.626 816.332 54.000 47.000
+ -1188587.80843 -875961.37842 24884315.200 24884329.128 24884313.989
+ -2711.124 -2112.564 44.000 37.000
+ -9316961.30043 -7228502.93542 23471611.343 23471617.760 23471610.741
+ -1998.408 -1557.201 47.000 41.000
+ 04 2 1 4 47 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19520573.09343 -14793813.92842 21337559.118 21337564.608 21337557.712
+ -354.622 -276.329 55.000 48.000
+ -21261440.88143 -16505523.91642 20641300.590 20641306.455 20641299.547
+ 1498.132 1167.376 54.000 49.000
+ -23504400.08643 -18127713.25442 20852801.587 20852806.433 20852799.942
+ -1540.198 -1200.154 56.000 50.000
+ -24000023.22243 -18671896.38342 21409403.127 21409408.831 21409401.487
+ -704.232 -548.752 55.000 48.000
+ -9183403.15843 -7141201.98842 23260557.171 23260563.973 23260556.748
+ 488.546 380.685 49.000 42.000
+ -10513373.71543 -8181058.47042 23328446.118 23328452.555 23328443.522
+ 2622.780 2043.725 48.000 41.000
+ -18091730.80043 -14056552.72742 21895777.542 21895782.065 21895777.567
+ 1047.745 816.425 54.000 47.000
+ -1107372.63643 -812677.54042 24899769.711 24899783.462 24899767.174
+ -2704.176 -2107.150 44.000 36.000
+ -9256796.74843 -7181621.50642 23483060.026 23483066.733 23483060.117
+ -2013.186 -1568.716 48.000 41.000
+ 04 2 1 4 47 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19509891.66643 -14785490.76542 21339591.506 21339596.830 21339590.019
+ -357.264 -278.387 55.000 48.000
+ -21306170.96743 -16540378.50142 20632788.990 20632794.315 20632787.752
+ 1483.973 1156.343 55.000 49.000
+ -23457953.93243 -18091521.48142 20861639.652 20861644.722 20861638.121
+ -1556.155 -1212.588 56.000 50.000
+ -23978582.19343 -18655189.09942 21413482.842 21413488.753 21413481.018
+ -725.019 -564.950 54.000 48.000
+ -9197801.16443 -7152421.22742 23257818.050 23257824.271 23257816.958
+ 471.514 367.414 49.000 42.000
+ -10591907.00743 -8242253.07942 23313499.237 23313510.082 23313498.154
+ 2613.063 2036.153 47.000 41.000
+ -18123158.85643 -14081042.13042 21889797.676 21889802.088 21889796.928
+ 1047.450 816.195 55.000 47.000
+ -1026360.72743 -749552.13642 24915185.236 24915202.436 24915186.763
+ -2696.926 -2101.501 44.000 36.000
+ -9196173.53043 -7134382.66742 23494596.596 23494603.757 23494595.657
+ -2028.122 -1580.355 48.000 41.000
+ 04 2 1 4 48 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19499126.05443 -14777102.00042 21341640.188 21341645.639 21341638.626
+ -360.291 -280.746 55.000 48.000
+ -21350471.35343 -16574898.25642 20624358.670 20624364.443 20624357.721
+ 1469.535 1145.092 55.000 49.000
+ -23411026.90343 -18054955.01242 20870569.683 20870574.580 20870568.148
+ -1572.226 -1225.111 56.000 50.000
+ -23956512.73043 -18637992.11842 21417682.568 21417688.449 21417681.390
+ -746.078 -581.359 55.000 48.000
+ -9211680.30843 -7163236.16442 23255175.897 23255183.476 23255175.213
+ 454.205 353.926 48.000 42.000
+ -10670140.44643 -8303214.02542 23298613.059 23298620.777 23298612.061
+ 2602.918 2028.248 47.000 41.000
+ -18154573.95143 -14105521.42642 21883819.169 21883823.812 21883818.639
+ 1046.983 815.831 54.000 47.000
+ -945557.19143 -686589.08842 24930561.217 24930579.472 24930560.559
+ -2689.777 -2095.930 44.000 36.000
+ -9135096.84543 -7086790.50442 23506218.801 23506225.661 23506218.115
+ -2043.449 -1592.298 46.000 41.000
+ 04 2 1 4 48 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19488277.64143 -14768648.72042 21343704.173 21343709.961 21343702.962
+ -363.326 -283.111 55.000 48.000
+ -21394344.15143 -16609084.82042 20616009.809 20616015.568 20616009.272
+ 1454.953 1133.730 55.000 49.000
+ -23363621.42943 -18018015.72942 20879590.742 20879595.532 20879589.263
+ -1588.459 -1237.760 56.000 50.000
+ -23933817.10343 -18620307.22042 21422001.501 21422007.381 21421999.965
+ -767.230 -597.841 54.000 48.000
+ -9225043.43943 -7173649.00742 23252633.566 23252640.478 23252631.960
+ 436.517 340.143 48.000 42.000
+ -10748075.05543 -8363942.11442 23283782.765 23283791.088 23283781.192
+ 2592.478 2020.113 47.000 41.000
+ -18185977.51643 -14129991.74542 21877842.976 21877847.399 21877842.677
+ 1046.272 815.277 54.000 47.000
+ -864966.23243 -623791.68142 24945901.245 24945913.598 24945898.407
+ -2683.399 -2090.960 44.000 36.000
+ -9073570.65743 -7038848.04842 23517928.538 23517934.347 23517927.325
+ -2058.610 -1604.112 47.000 41.000
+ 04 2 1 4 49 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19477340.81143 -14760126.54642 21345785.321 21345791.676 21345784.087
+ -366.038 -285.224 54.000 48.000
+ -21437784.57043 -16642934.47442 20607743.971 20607748.872 20607742.755
+ 1440.836 1122.729 55.000 49.000
+ -23315733.25443 -17980700.31142 20888703.639 20888708.401 20888702.506
+ -1604.323 -1250.122 56.000 50.000
+ -23910490.83843 -18602130.91242 21426439.440 21426446.257 21426438.501
+ -788.056 -614.070 54.000 48.000
+ -9237885.96043 -7183656.19042 23250190.432 23250194.832 23250189.181
+ 419.622 326.978 49.000 42.000
+ -10825704.95043 -8424432.77542 23269009.231 23269017.331 23269007.343
+ 2582.852 2012.612 47.000 41.000
+ -18217364.53543 -14154449.15342 21871870.102 21871874.598 21871870.089
+ 1046.039 815.095 54.000 47.000
+ -784584.52543 -561157.42542 24961196.830 24961212.147 24961194.412
+ -2675.687 -2084.951 43.000 35.000
+ -9011591.53143 -6990552.67542 23529720.460 23529727.931 23529719.977
+ -2073.577 -1615.774 46.000 41.000
+ 04 2 1 4 49 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19466317.89543 -14751537.29042 21347882.712 21347888.859 21347881.911
+ -368.512 -287.152 55.000 48.000
+ -21480795.52143 -16676449.47342 20599559.794 20599564.380 20599558.130
+ 1426.836 1111.820 55.000 49.000
+ -23267366.20343 -17943011.74642 20897907.775 20897912.595 20897906.260
+ -1619.894 -1262.255 56.000 50.000
+ -23886537.26843 -18583465.80442 21430998.724 21431004.337 21430997.014
+ -808.539 -630.030 54.000 48.000
+ -9250211.37243 -7193260.43642 23247842.973 23247849.670 23247840.888
+ 402.384 313.546 49.000 42.000
+ -10903032.32543 -8484687.72142 23254294.725 23254303.130 23254294.524
+ 2572.727 2004.722 48.000 41.000
+ -18248737.64743 -14178895.73342 21865899.985 21865905.107 21865899.279
+ 1045.906 814.992 54.000 47.000
+ -704416.84143 -498689.94742 24976454.273 24976468.919 24976452.056
+ -2668.410 -2079.280 44.000 35.000
+ -8949164.34543 -6941908.16342 23541600.644 23541606.882 23541600.909
+ -2087.911 -1626.944 46.000 41.000
+ 04 2 1 4 50 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19455208.67043 -14742880.77342 21349997.572 21350003.428 21349996.138
+ -372.262 -290.074 55.000 48.000
+ -21523377.55043 -16709630.24542 20591456.128 20591461.261 20591454.881
+ 1411.729 1100.049 55.000 49.000
+ -23218521.12043 -17904950.68842 20907202.489 20907207.635 20907201.111
+ -1636.564 -1275.245 56.000 50.000
+ -23861957.24643 -18564312.54642 21435675.482 21435681.751 21435674.054
+ -830.334 -647.013 54.000 47.000
+ -9262020.28243 -7202462.20742 23245596.756 23245602.633 23245595.833
+ 384.552 299.651 49.000 42.000
+ -10980056.46743 -8544706.37342 23239638.617 23239645.408 23239637.575
+ 2561.883 1996.272 48.000 41.000
+ -18280096.56643 -14203331.24542 21859932.566 21859937.336 21859932.406
+ 1044.568 813.949 54.000 47.000
+ -624465.43643 -436391.00442 24991668.969 24991684.459 24991666.008
+ -2661.817 -2074.143 44.000 35.000
+ -8886291.16543 -6892916.10142 23553565.306 23553571.302 23553564.142
+ -2103.769 -1639.300 47.000 40.000
+ 04 2 1 4 50 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19444011.79443 -14734155.95442 21352128.166 21352134.096 21352127.004
+ -374.510 -291.826 55.000 48.000
+ -21565530.02043 -16742476.30442 20583434.809 20583439.443 20583433.640
+ 1398.065 1089.401 55.000 49.000
+ -23169198.25643 -17866517.32842 20916588.721 20916593.565 20916586.884
+ -1651.758 -1287.084 56.000 50.000
+ -23836750.58043 -18544670.99542 21440472.491 21440478.028 21440471.075
+ -850.550 -662.766 54.000 47.000
+ -9273312.62343 -7211261.46442 23243447.278 23243454.116 23243448.472
+ 367.816 286.610 48.000 42.000
+ -11056775.95743 -8604487.65442 23225039.000 23225045.716 23225036.697
+ 2552.462 1988.931 48.000 41.000
+ -18311440.51943 -14227755.09242 21853969.024 21853972.710 21853967.933
+ 1044.643 814.008 54.000 47.000
+ -544731.38143 -374261.46842 25006838.885 25006854.562 25006840.410
+ -2653.812 -2067.905 40.000 34.000
+ -8822973.10143 -6843577.40142 23565615.334 23565619.774 23565614.765
+ -2117.874 -1650.291 48.000 41.000
+ 04 2 1 4 51 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19432723.97143 -14725360.28042 21354275.969 21354281.725 21354274.592
+ -377.148 -293.881 55.000 48.000
+ -21607250.55043 -16774985.77742 20575495.848 20575500.890 20575494.733
+ 1384.069 1078.495 55.000 49.000
+ -23119395.72743 -17827710.21242 20926065.478 20926070.613 20926064.020
+ -1667.366 -1299.246 56.000 50.000
+ -23810915.17043 -18524539.51642 21445389.054 21445394.348 21445387.449
+ -870.980 -678.686 54.000 48.000
+ -9284086.45743 -7219656.67942 23241396.409 23241403.415 23241397.698
+ 351.005 273.510 48.000 42.000
+ -11133187.16743 -8664028.71842 23210496.742 23210506.035 23210495.766
+ 2542.580 1981.231 47.000 41.000
+ -18342766.34243 -14252164.82142 21848006.668 21848011.391 21848006.517
+ 1044.621 813.990 54.000 47.000
+ -465213.71043 -312300.53442 25021974.599 25021991.904 25021974.339
+ -2646.281 -2062.037 42.000 34.000
+ -8759209.32943 -6793891.38742 23577748.621 23577754.197 23577747.525
+ -2132.285 -1661.521 47.000 41.000
+ 04 2 1 4 51 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19421346.07443 -14716494.40342 21356441.103 21356446.575 21356439.568
+ -380.942 -296.838 55.000 48.000
+ -21648540.68443 -16807159.88042 20567638.546 20567643.244 20567637.042
+ 1368.985 1066.742 55.000 49.000
+ -23069115.73143 -17788531.03842 20935633.573 20935638.710 20935632.105
+ -1684.063 -1312.257 56.000 50.000
+ -23784453.11743 -18503919.74842 21450424.631 21450430.025 21450422.881
+ -892.648 -695.570 54.000 48.000
+ -9294343.78643 -7227649.42542 23239446.337 23239452.261 23239444.728
+ 333.104 259.562 48.000 41.000
+ -11209291.01143 -8723330.26342 23196015.334 23196023.020 23196012.745
+ 2531.377 1972.502 47.000 41.000
+ -18374075.37643 -14276561.46042 21842049.272 21842053.728 21842048.714
+ 1043.251 812.923 54.000 47.000
+ -385915.81643 -250510.86442 25037063.047 25037081.930 25037062.962
+ -2639.336 -2056.625 41.000 33.000
+ -8695003.17543 -6743860.65642 23589966.621 23589973.332 23589965.098
+ -2147.907 -1673.694 47.000 41.000
+ 04 2 1 4 52 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19409878.00443 -14707558.26842 21358623.182 21358629.797 21358622.150
+ -383.721 -299.003 55.000 48.000
+ -21689401.42543 -16838999.38842 20559862.773 20559867.805 20559861.498
+ 1354.884 1055.754 55.000 49.000
+ -23018359.98443 -17748981.15742 20945291.951 20945297.179 20945290.588
+ -1699.716 -1324.454 56.000 50.000
+ -23757365.78943 -18482812.75642 21455578.549 21455584.673 21455577.410
+ -913.272 -711.640 54.000 47.000
+ -9304085.88043 -7235240.70242 23237590.274 23237598.170 23237590.485
+ 316.348 246.505 48.000 41.000
+ -11285087.03943 -8782391.97542 23181591.240 23181600.424 23181589.992
+ 2521.495 1964.801 47.000 41.000
+ -18405367.96843 -14300945.29442 21836094.149 21836098.804 21836093.696
+ 1042.832 812.596 54.000 47.000
+ -306840.17943 -188894.36542 25052112.785 25052130.231 25052111.862
+ -2632.127 -2051.008 40.000 33.000
+ -8630357.45043 -6693487.43942 23602268.541 23602273.508 23602267.037
+ -2162.181 -1684.816 47.000 41.000
+ 04 2 1 4 52 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19398323.61943 -14698554.87242 21360822.106 21360827.733 21360821.298
+ -386.855 -301.445 55.000 48.000
+ -21729837.40043 -16870507.91442 20552167.710 20552173.286 20552166.702
+ 1340.499 1044.545 55.000 49.000
+ -22967133.56543 -17709064.51242 20955040.438 20955044.973 20955038.826
+ -1715.734 -1336.935 56.000 50.000
+ -23729657.97643 -18461222.25542 21460851.463 21460857.841 21460849.972
+ -934.304 -728.029 54.000 47.000
+ -9313317.89843 -7242434.50542 23235835.037 23235842.077 23235833.928
+ 298.777 232.813 48.000 42.000
+ -11360579.08743 -8841216.81442 23167226.245 23167234.453 23167224.598
+ 2511.116 1956.714 48.000 42.000
+ -18436648.28743 -14325319.56242 21830141.770 21830146.442 21830141.188
+ 1042.234 812.130 54.000 47.000
+ -227992.87243 -127455.76542 25067117.491 25067131.014 25067116.227
+ -2624.619 -2045.158 41.000 33.000
+ -8565278.02243 -6642776.24142 23614653.715 23614658.263 23614651.139
+ -2176.752 -1696.170 48.000 41.000
+ 04 2 1 4 53 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19386674.96443 -14689478.00642 21363038.699 21363044.199 21363037.980
+ -389.883 -303.805 55.000 48.000
+ -21769841.50443 -16901679.91742 20544555.371 20544560.937 20544554.181
+ 1326.211 1033.411 55.000 49.000
+ -22915429.95243 -17668776.02342 20964878.981 20964884.187 20964877.670
+ -1731.384 -1349.130 56.000 50.000
+ -23701323.19343 -18439143.22242 21466242.880 21466249.194 21466241.627
+ -954.961 -744.125 54.000 47.000
+ -9322033.12843 -7249225.64642 23234177.190 23234184.348 23234175.056
+ 281.558 219.396 48.000 42.000
+ -11435758.89243 -8899798.34942 23152919.258 23152928.288 23152918.099
+ 2500.874 1948.733 47.000 42.000
+ -18467908.32143 -14349678.02442 21824193.227 21824198.302 21824192.522
+ 1041.730 811.738 54.000 47.000
+ -149368.34743 -66190.74742 25082081.640 25082097.327 25082082.911
+ -2617.174 -2039.356 41.000 33.000
+ -8499759.40243 -6591722.81542 23627120.351 23627126.105 23627118.953
+ -2191.325 -1707.526 47.000 41.000
+ 04 2 1 4 53 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19374935.72543 -14680330.55842 21365272.645 21365278.463 21365271.620
+ -393.390 -306.538 55.000 48.000
+ -21809418.25043 -16932518.91742 20537023.663 20537029.204 20537022.737
+ 1311.429 1021.893 55.000 49.000
+ -22863254.63043 -17628119.97242 20974807.777 20974812.698 20974806.279
+ -1747.646 -1361.802 56.000 50.000
+ -23672366.50643 -18416579.58042 21471753.773 21471759.714 21471752.005
+ -976.325 -760.773 54.000 47.000
+ -9330236.45143 -7255617.90042 23232615.303 23232621.809 23232614.920
+ 264.170 205.847 49.000 42.000
+ -11510630.09043 -8958139.41542 23138671.686 23138679.385 23138669.815
+ 2489.919 1940.197 48.000 42.000
+ -18499152.12243 -14374023.84442 21818247.149 21818252.546 21818246.759
+ 1040.557 810.824 54.000 47.000
+ -70972.72843 -5104.13142 25096996.963 25097015.702 25096999.757
+ -2609.473 -2033.355 39.000 33.000
+ -8433808.12643 -6540332.25242 23639670.581 23639677.045 23639669.176
+ -2206.316 -1719.207 47.000 41.000
+ 04 2 1 4 54 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19363102.02343 -14671109.51642 21367525.078 21367530.827 21367523.727
+ -396.761 -309.164 55.000 48.000
+ -21848564.62843 -16963022.55542 20529574.792 20529579.906 20529573.753
+ 1296.953 1010.613 55.000 49.000
+ -22810605.06743 -17587094.38542 20984826.704 20984831.792 20984825.150
+ -1763.505 -1374.160 56.000 50.000
+ -23642785.43643 -18393529.41442 21477382.663 21477388.744 21477381.218
+ -997.134 -776.987 54.000 47.000
+ -9337925.61743 -7261609.47742 23231152.133 23231158.923 23231151.075
+ 246.872 192.368 48.000 41.000
+ -11585188.64543 -9016236.86542 23124482.824 23124491.475 23124482.023
+ 2479.239 1931.874 47.000 42.000
+ -18530375.96443 -14398354.10942 21812306.197 21812311.039 21812305.454
+ 1039.641 810.110 54.000 47.000
+ 7195.73353 55805.46852 25111874.031 25111895.515 25111872.606
+ -2602.630 -2028.023 39.000 32.000
+ -8367422.81343 -6488603.48342 23652302.938 23652311.261 23652301.594
+ -2220.652 -1730.378 46.000 41.000
+ 04 2 1 4 54 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19351173.65243 -14661814.70342 21369794.823 21369800.822 21369793.549
+ -398.993 -310.904 55.000 48.000
+ -21887281.45943 -16993191.49342 20522207.095 20522212.221 20522205.791
+ 1283.528 1000.152 55.000 49.000
+ -22757482.80443 -17545700.46742 20994935.584 20994940.580 20994933.935
+ -1778.432 -1385.791 56.000 50.000
+ -23612581.17043 -18369993.64142 21483130.685 21483136.292 21483129.124
+ -1017.043 -792.501 54.000 47.000
+ -9345101.75543 -7267201.31642 23229786.149 23229791.947 23229785.825
+ 230.936 179.950 48.000 42.000
+ -11659434.19843 -9074090.41442 23110354.655 23110362.932 23110353.008
+ 2469.785 1924.508 47.000 42.000
+ -18561580.12643 -14422669.03842 21806368.315 21806372.643 21806367.455
+ 1039.948 810.349 54.000 47.000
+ 85134.85343 116536.36142 25126706.279 25126722.884 25126705.557
+ -2594.102 -2021.378 39.000 32.000
+ -8300605.71743 -6436538.28142 23665019.120 23665024.284 23665017.470
+ -2234.248 -1740.972 47.000 41.000
+ 04 2 1 4 55 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19339154.71143 -14652449.31542 21372082.066 21372087.754 21372080.365
+ -401.940 -313.200 55.000 48.000
+ -21925573.82243 -17023029.67642 20514919.997 20514925.625 20514919.087
+ 1269.530 989.244 55.000 49.000
+ -22703893.37543 -17503942.50842 21005133.467 21005138.260 21005132.055
+ -1793.842 -1397.799 56.000 50.000
+ -23581759.17743 -18345976.51542 21488996.013 21489001.812 21488994.833
+ -1037.439 -808.394 54.000 47.000
+ -9351770.33843 -7272397.68742 23228517.798 23228525.860 23228515.939
+ 214.181 166.894 48.000 42.000
+ -11733370.96343 -9131703.33342 23096284.831 23096293.024 23096283.847
+ 2459.547 1916.530 48.000 42.000
+ -18592769.03143 -14446972.08542 21800433.193 21800437.380 21800432.348
+ 1039.550 810.039 54.000 47.000
+ 177083.13442 25141492.871 25141509.153
+ -2585.754 -2014.873 39.000 32.000
+ -8233363.61943 -6384141.87742 23677814.154 23677821.056 23677812.370
+ -2248.322 -1751.939 46.000 41.000
+ 04 2 1 4 55 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19327040.14943 -14643009.41942 21374386.644 21374392.567 21374385.897
+ -404.953 -315.548 55.000 48.000
+ -21963437.76443 -17052534.02542 20507714.959 20507720.520 20507714.021
+ 1255.523 978.330 55.000 49.000
+ -22649833.54143 -17461818.00742 21015420.542 21015425.748 21015419.098
+ -1809.283 -1409.831 56.000 50.000
+ -23550315.83443 -18321475.22342 21494978.841 21494985.527 21494977.494
+ -1057.962 -824.386 54.000 47.000
+ -9357927.68943 -7277195.63942 23227345.924 23227353.096 23227345.380
+ 197.225 153.682 47.000 41.000
+ -11806993.66243 -9189071.54442 23082276.174 23082283.314 23082273.092
+ 2449.407 1908.629 48.000 42.000
+ -18623937.90743 -14471259.52842 21794502.004 21794506.757 21794501.726
+ 1039.096 809.685 55.000 47.000
+ 240307.10743 237448.13142 25156237.507 25156250.715 25156231.470
+ -2577.948 -2008.791 39.000 32.000
+ -8165694.15643 -6331412.49642 23690691.512 23690697.772 23690690.276
+ -2262.162 -1762.724 47.000 41.000
+ 04 2 1 4 56 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19314830.16343 -14633495.16342 21376710.974 21376716.523 21376709.296
+ -408.048 -317.959 55.000 48.000
+ -22000874.24243 -17081705.28442 20500591.382 20500596.354 20500590.101
+ 1241.243 967.202 55.000 49.000
+ -22595305.06543 -17419328.33242 21025797.086 21025802.210 21025795.759
+ -1824.797 -1421.920 56.000 50.000
+ -23518252.95243 -18296491.17142 21501080.134 21501086.682 21501079.043
+ -1078.470 -840.366 54.000 47.000
+ -9363575.63643 -7281596.68542 23226272.429 23226278.227 23226270.161
+ 180.369 140.547 48.000 42.000
+ -11880302.65943 -9246195.31242 23068325.195 23068332.468 23068323.265
+ 2438.777 1900.346 48.000 42.000
+ -18655086.88043 -14495531.46442 21788575.235 21788578.902 21788573.781
+ 1038.556 809.264 55.000 47.000
+ 297629.57642 25170935.130 25170952.175
+ -2569.934 -2002.546 40.000 31.000
+ -8097600.14943 -6278352.29642 23703651.792 23703654.972 23703649.151
+ -2276.418 -1773.832 47.000 41.000
+ 04 2 1 4 56 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19302524.49943 -14623906.35442 21379052.212 21379058.365 21379051.288
+ -412.376 -321.332 55.000 48.000
+ -22037884.19543 -17110544.18742 20493548.482 20493553.624 20493547.478
+ 1225.909 955.254 55.000 49.000
+ -22540309.48743 -17376474.67242 21036262.486 21036267.402 21036261.013
+ -1841.624 -1435.032 56.000 50.000
+ -23485571.90243 -18271025.42842 21507299.772 21507305.325 21507298.078
+ -1100.323 -857.394 54.000 47.000
+ -9368715.48943 -7285601.79442 23225294.026 23225300.013 23225293.986
+ 162.543 126.657 48.000 42.000
+ -11953297.49243 -9303074.28942 23054435.057 23054442.240 23054433.993
+ 2427.332 1891.428 49.000 42.000
+ -18686216.07943 -14519787.98842 21782651.116 21782655.364 21782650.270
+ 1036.670 807.795 55.000 47.000
+ -8029083.96843 -6224963.13842 23716688.739 23716692.837 23716687.188
+ -2291.489 -1785.576 47.000 40.000
+ 04 2 1 4 57 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19290121.74243 -14614241.89642 21381412.648 21381418.291 21381411.418
+ -414.891 -323.292 55.000 48.000
+ -22074467.08943 -17139050.31642 20486587.000 20486591.945 20486585.535
+ 1212.364 944.699 55.000 49.000
+ -22484847.02843 -17333257.21842 21046816.218 21046821.820 21046814.844
+ -1856.392 -1446.539 56.000 50.000
+ -23452272.87943 -18245078.15042 21513635.732 21513641.708 21513634.259
+ -1120.164 -872.855 54.000 47.000
+ -9373347.12743 -7289210.89742 23224411.754 23224417.879 23224411.417
+ 146.280 113.984 49.000 42.000
+ -12025976.93743 -9359707.51042 23040603.298 23040612.300 23040602.250
+ 2417.584 1883.832 48.000 42.000
+ -18717324.35743 -14544028.21642 21776730.961 21776735.300 21776730.794
+ 1036.640 807.771 54.000 47.000
+ -4254966.52853 -3265364.93752 25200193.511 25200211.666 25200188.116
+ -2554.444 -1990.476 38.000 32.000
+ -7960146.95043 -6171246.04642 23729805.004 23729812.978 23729804.694
+ -2304.667 -1795.844 45.000 40.000
+ 04 2 1 4 57 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19277619.68043 -14604500.06942 21383791.632 21383797.187 21383790.280
+ -418.337 -325.977 55.000 48.000
+ -22110621.95543 -17167222.91442 20479706.698 20479711.969 20479705.518
+ 1197.998 933.505 55.000 49.000
+ -22428917.17243 -17289675.56042 21057459.888 21057464.930 21057458.505
+ -1872.026 -1458.721 56.000 50.000
+ -23418355.35843 -18218648.92042 21520089.748 21520096.261 21520088.772
+ -1140.698 -888.855 53.000 47.000
+ -9377470.40843 -7292423.88642 23223626.548 23223633.934 23223626.501
+ 129.129 100.620 48.000 42.000
+ -12098338.85643 -9416093.30042 23026832.876 23026841.860 23026832.265
+ 2406.885 1875.495 48.000 42.000
+ -18748409.63543 -14568250.52242 21770815.577 21770820.407 21770814.929
+ 1035.785 807.105 54.000 47.000
+ -4178448.94453 -3205741.65452 25214755.031 25214770.479 25214756.435
+ -2546.607 -1984.369 37.000 32.000
+ -7890789.53343 -6117201.34942 23743004.270 23743009.496 23743003.927
+ -2318.867 -1806.909 46.000 40.000
+ 04 2 1 4 58 0.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19265018.99843 -14594681.39142 21386189.020 21386195.443 21386188.299
+ -421.527 -328.462 54.000 48.000
+ -22146350.67543 -17195063.45442 20472907.896 20472913.068 20472906.749
+ 1184.078 922.658 55.000 49.000
+ -22372522.61643 -17245731.79542 21068190.885 21068196.258 21068189.707
+ -1887.421 -1470.718 56.000 50.000
+ -23383821.76943 -18191739.63242 21526662.032 21526668.004 21526660.312
+ -1161.187 -904.821 53.000 47.000
+ -9381087.25743 -7295242.25242 23222940.103 23222946.167 23222939.606
+ 112.204 87.432 49.000 42.000
+ -12170383.88543 -9472232.17142 23013123.369 23013131.039 23013123.225
+ 2396.332 1867.272 48.000 43.000
+ -18779473.11643 -14592455.83242 21764905.066 21764908.917 21764904.485
+ 1035.186 806.638 55.000 47.000
+ -3146306.95652 25229270.838 25229288.894
+ -2538.328 -1977.918 38.000 32.000
+ -7821015.22443 -6062831.83842 23756281.974 23756287.880 23756280.856
+ -2332.580 -1817.595 46.000 40.000
+ 04 2 1 4 58 30.0000000 0 9G 1G27G20G 2G 4G 8G13G11G16
+ -19252321.07443 -14584786.93442 21388605.275 21388611.545 21388604.254
+ -424.654 -330.899 54.000 48.000
+ -22181655.60043 -17222573.76942 20466189.839 20466194.999 20466188.357
+ 1170.067 911.741 55.000 49.000
+ -22315666.43343 -17201428.31642 21079011.185 21079016.099 21079009.437
+ -1902.527 -1482.488 56.000 50.000
+ -23348675.16843 -18164352.67842 21533350.164 21533356.114 21533348.751
+ -1181.435 -920.599 54.000 47.000
+ -9384200.78043 -7297668.40842 23222345.886 23222353.388 23222345.960
+ 95.796 74.646 48.000 41.000
+ -12242113.28043 -9528125.08342 22999474.060 22999481.104 22999472.555
+ 2386.255 1859.419 48.000 42.000
+ -18810516.29943 -14616645.32242 21758997.607 21759001.488 21758996.604
+ 1034.751 806.299 55.000 47.000
+ -3087063.66552 25243738.538 25243752.375
+ -2530.232 -1971.609 36.000 32.000
+ -7750828.30043 -6008140.76642 23769638.530 23769644.304 23769636.264
+ -2346.003 -1828.054 45.000 40.000
+ 04 2 1 4 59 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19239522.97843 -14574814.42242 21391040.835 21391046.939 21391040.188
+ -427.616 -333.207 54.000 48.000
+ -22216534.99243 -17249752.49442 20459552.496 20459557.441 20459550.988
+ 1156.080 900.842 55.000 49.000
+ -22258347.47443 -17156764.23242 21089918.435 21089923.602 21089916.924
+ -1917.687 -1494.301 56.000 50.000
+ -23312914.24043 -18136487.02242 21540155.538 21540161.138 21540154.118
+ -1201.589 -936.303 53.000 47.000
+ -9386809.79443 -7299701.45342 23221850.127 23221856.736 23221849.632
+ 79.463 61.919 48.000 42.000
+ -12313524.57543 -9583770.11342 22985884.637 22985892.296 22985883.832
+ 2375.647 1851.153 48.000 42.000
+ -18841536.46043 -14640816.88142 21753094.346 21753098.795 21753093.603
+ 1034.151 805.832 54.000 47.000
+ -7680228.45043 -5953127.98142 23783072.139 23783079.359 23783071.179
+ -2359.505 -1838.575 43.000 39.000
+ 04 2 1 4 59 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19226621.58243 -14564761.40442 21393496.363 21393501.937 21393494.860
+ -432.127 -336.722 55.000 48.000
+ -22250986.84443 -17276598.07642 20452996.196 20453001.196 20452994.923
+ 1141.009 889.098 55.000 49.000
+ -22200564.52343 -17111738.60342 21100913.677 21100919.342 21100912.117
+ -1934.241 -1507.201 55.000 49.000
+ -23276537.71043 -18108141.69242 21547077.641 21547084.013 21547075.798
+ -1223.137 -953.094 53.000 47.000
+ -9388912.88643 -7301340.27242 23221449.730 23221457.016 23221449.429
+ 61.713 48.088 47.000 42.000
+ -12384614.69743 -9639164.90042 22972356.310 22972363.615 22972355.573
+ 2364.133 1842.181 48.000 43.000
+ -18872530.93043 -14664968.41842 21747196.603 21747200.685 21747195.908
+ 1032.428 804.489 55.000 47.000
+ -7609215.35643 -5897793.17342 23796585.437 23796592.781 23796583.547
+ -2374.332 -1850.129 44.000 39.000
+ 04 2 1 5 0 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19213625.44243 -14554634.57042 21395969.262 21395974.950 21395967.967
+ -433.944 -338.138 54.000 48.000
+ -22285021.22443 -17303118.35042 20446519.830 20446524.854 20446518.457
+ 1128.316 879.207 55.000 49.000
+ -22142328.31643 -17066359.78442 21111995.582 21112001.040 21111994.232
+ -1947.854 -1517.808 55.000 49.000
+ -23239556.24743 -18079324.97542 21554115.383 21554120.838 21554113.771
+ -1241.919 -967.729 54.000 47.000
+ -9390520.32743 -7302592.85942 23221143.676 23221152.111 23221143.424
+ 46.159 35.968 47.000 42.000
+ -12455392.35643 -9694316.20742 22958889.832 22958896.026 22958886.964
+ 2355.103 1835.145 49.000 43.000
+ -18903508.25143 -14689106.59942 21741301.932 21741305.993 21741301.229
+ 1033.116 805.025 55.000 47.000
+ -7537800.60243 -5842145.38042 23810177.617 23810182.225 23810175.530
+ -2386.822 -1859.861 45.000 40.000
+ 04 2 1 5 0 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19200522.67543 -14544424.64242 21398462.702 21398468.421 21398461.714
+ -438.506 -341.693 55.000 48.000
+ -22318627.01643 -17329304.65642 20440124.597 20440129.674 20440123.200
+ 1113.067 867.325 55.000 49.000
+ -22083628.59243 -17020619.77442 21123166.154 21123171.351 21123164.464
+ -1964.538 -1530.809 56.000 49.000
+ -23201959.58543 -18050028.88442 21561268.483 21561276.168 21561267.498
+ -1263.595 -984.619 53.000 47.000
+ -9391622.21143 -7303451.53242 23220935.286 23220941.652 23220932.843
+ 27.968 21.793 48.000 42.000
+ -12525845.89643 -9749214.94142 22945481.497 22945490.690 22945480.078
+ 2342.895 1825.632 49.000 43.000
+ -18934456.82243 -14713222.36042 21735412.317 21735416.348 21735411.167
+ 1031.170 803.509 55.000 47.000
+ -7465975.05343 -5786177.49742 23823844.032 23823850.194 23823844.051
+ -2401.091 -1870.980 46.000 39.000
+ 04 2 1 5 1 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19187319.05043 -14534136.11942 21400975.465 21400981.371 21400974.029
+ -442.069 -344.469 55.000 48.000
+ -22351811.77643 -17355162.88842 20433809.886 20433814.982 20433808.541
+ 1098.806 856.212 55.000 49.000
+ -22024473.17143 -16974524.68542 21134422.928 21134428.404 21134421.500
+ -1979.723 -1542.641 56.000 50.000
+ -23163755.29843 -18020259.33042 21568539.924 21568545.328 21568538.075
+ -1283.867 -1000.416 53.000 47.000
+ -9392226.12843 -7303922.14442 23220820.263 23220826.449 23220819.761
+ 11.995 9.347 48.000 41.000
+ -12595981.35843 -9803865.84442 22932134.509 22932141.560 22932132.890
+ 2332.218 1817.313 48.000 42.000
+ -18965382.82443 -14737320.54042 21729527.199 21729532.127 21729526.649
+ 1029.982 802.583 54.000 47.000
+ -7393747.32643 -5729896.21642 23837588.219 23837595.390 23837587.229
+ -2414.345 -1881.308 46.000 39.000
+ 04 2 1 5 1 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19174011.17343 -14523766.36942 21403508.003 21403513.581 21403506.606
+ -445.416 -347.077 55.000 48.000
+ -22384572.87043 -17380690.98842 20427575.328 20427580.820 20427574.222
+ 1084.740 845.252 55.000 49.000
+ -21964860.50343 -16928073.28842 21145767.225 21145772.263 21145765.893
+ -1994.754 -1554.354 56.000 50.000
+ -23124941.81443 -17990015.07842 21575924.706 21575931.219 21575923.170
+ -1304.042 -1016.137 53.000 47.000
+ -9392330.17543 -7304003.28842 23220800.553 23220807.020 23220799.904
+ -4.862 -3.788 48.000 42.000
+ -12665795.22243 -9858266.14642 22918850.670 22918857.121 22918848.823
+ 2321.589 1809.030 49.000 43.000
+ -18996282.70443 -14761398.37142 21723646.635 21723651.781 21723646.274
+ 1029.341 802.084 55.000 47.000
+ -7321116.57543 -5673300.90942 23851409.384 23851415.664 23851408.479
+ -2428.046 -1891.984 45.000 39.000
+ 04 2 1 5 2 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19160600.82343 -14513316.76142 21406060.241 21406065.822 21406058.534
+ -448.824 -349.733 55.000 48.000
+ -22416913.37543 -17405891.36042 20421421.614 20421426.563 20421420.146
+ 1070.884 834.455 55.000 49.000
+ -21904794.23743 -16881268.45242 21157197.537 21157202.484 21157195.745
+ -2009.835 -1566.105 56.000 49.000
+ -23085522.92543 -17959299.08042 21583426.026 21583432.610 21583425.116
+ -1324.136 -1031.794 53.000 47.000
+ -9391938.11943 -7303697.84842 23220876.264 23220882.111 23220873.589
+ -21.394 -16.671 49.000 42.000
+ -12735289.43143 -9912417.34542 22905625.637 22905632.859 22905625.072
+ 2311.206 1800.940 49.000 42.000
+ -19027158.52443 -14785457.45442 21717771.453 21717776.276 21717770.575
+ 1028.698 801.583 55.000 47.000
+ -7248087.62043 -5616395.29342 23865307.078 23865312.919 23865305.988
+ -2441.126 -1902.176 45.000 39.000
+ 04 2 1 5 2 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19147083.65843 -14502783.92742 21408632.045 21408637.381 21408630.814
+ -452.669 -352.729 55.000 48.000
+ -22448830.30043 -17430761.67342 20415347.901 20415353.149 20415346.885
+ 1056.503 823.249 55.000 49.000
+ -21844272.26543 -16834108.51742 21168714.109 21168719.214 21168712.741
+ -2025.245 -1578.113 56.000 49.000
+ -23045496.38543 -17928109.59242 21591043.667 21591049.538 21591042.234
+ -1344.592 -1047.734 54.000 47.000
+ -9391047.49443 -7303003.89642 23221044.176 23221051.297 23221042.931
+ -38.237 -29.795 48.000 42.000
+ -12804460.01443 -9966316.39742 22892462.161 22892469.949 22892460.853
+ 2300.028 1792.230 48.000 43.000
+ -19058006.31843 -14809494.69542 21711901.910 21711905.821 21711901.025
+ 1027.445 800.606 55.000 47.000
+ -7174659.13243 -5559178.34942 23879279.830 23879285.205 23879278.890
+ -2454.510 -1912.605 45.000 39.000
+ 04 2 1 5 3 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19133458.34343 -14492166.80842 21411224.823 21411230.837 21411223.549
+ -456.085 -355.391 54.000 48.000
+ -22480323.72443 -17455301.98242 20409354.821 20409359.910 20409353.670
+ 1042.701 812.494 55.000 49.000
+ -21783295.12543 -16786593.91442 21180317.682 21180323.259 21180316.345
+ -2040.210 -1589.774 56.000 49.000
+ -23004862.77743 -17896447.06942 21598775.596 21598781.652 21598774.630
+ -1364.612 -1063.334 53.000 47.000
+ -9389658.93643 -7301921.97042 23221308.676 23221315.704 23221307.675
+ -54.575 -42.526 48.000 42.000
+ -12873305.98143 -10019962.49242 22879360.850 22879368.885 22879360.097
+ 2289.390 1783.940 48.000 43.000
+ -19088824.85943 -14833509.15642 21706037.478 21706041.708 21706036.435
+ 1026.662 799.996 55.000 47.000
+ -7100832.67243 -5501651.30642 23893327.939 23893334.931 23893328.046
+ -2467.602 -1922.807 46.000 40.000
+ 04 2 1 5 3 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19119730.20343 -14481469.56942 21413837.065 21413843.169 21413836.138
+ -459.139 -357.771 55.000 48.000
+ -22511400.36143 -17479517.52242 20403440.910 20403446.154 20403439.725
+ 1029.196 801.971 55.000 49.000
+ -21721870.32943 -16738730.48342 21192006.830 21192011.869 21192005.117
+ -2054.776 -1601.124 56.000 49.000
+ -22963629.46543 -17864317.24742 21606622.286 21606628.111 21606620.897
+ -1384.260 -1078.644 53.000 47.000
+ -9387779.73243 -7300457.72142 23221667.116 23221671.982 23221665.307
+ -70.768 -55.144 49.000 42.000
+ -12941832.86743 -10073359.95942 22866320.932 22866327.938 22866319.221
+ 2279.094 1775.917 48.000 43.000
+ -19119619.89843 -14857505.29842 21700176.961 21700181.130 21700176.030
+ 1026.207 799.642 54.000 47.000
+ -7026616.86843 -5443820.86842 23907452.112 23907457.029 23907450.443
+ -2480.084 -1932.533 46.000 39.000
+ 04 2 1 5 4 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19105892.80543 -14470687.19442 21416470.039 21416476.079 21416469.283
+ -462.074 -360.058 55.000 48.000
+ -22542055.18643 -17503404.38042 20397607.474 20397612.881 20397606.413
+ 1015.756 791.498 55.000 49.000
+ -21659993.41543 -16690514.75142 21203780.923 21203786.583 21203779.948
+ -2069.095 -1612.282 56.000 49.000
+ -22921791.86143 -17831716.54542 21614583.570 21614589.877 21614581.890
+ -1403.676 -1093.773 53.000 47.000
+ -9385405.35143 -7298607.60342 23222117.549 23222125.289 23222116.295
+ -86.304 -67.250 48.000 42.000
+ -13010034.75443 -10126504.17042 22853343.918 22853350.962 22853340.272
+ 2268.792 1767.890 49.000 43.000
+ -19150384.85743 -14881478.00242 21694322.990 21694326.851 21694321.675
+ 1025.899 799.402 55.000 47.000
+ -6952008.04543 -5385684.23742 23921649.413 23921655.273 23921648.780
+ -2492.600 -1942.286 45.000 39.000
+ 04 2 1 5 4 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19091947.79943 -14459820.97442 21419123.772 21419129.862 21419122.841
+ -466.560 -363.553 55.000 48.000
+ -22572291.07543 -17526964.79042 20391853.536 20391859.562 20391852.478
+ 1000.994 779.995 55.000 49.000
+ -21597668.19143 -16641949.69642 21215641.797 21215646.624 21215640.399
+ -2084.853 -1624.561 56.000 49.000
+ -22879353.84243 -17798647.98642 21622658.373 21622665.904 21622656.909
+ -1424.559 -1110.046 53.000 47.000
+ -9382539.52543 -7296374.54042 23222663.977 23222670.476 23222663.193
+ -103.682 -80.791 49.000 42.000
+ -13077913.51943 -10179396.58542 22840426.491 22840433.878 22840424.806
+ 2257.373 1758.992 49.000 43.000
+ -19181121.74843 -14905428.83942 21688473.728 21688478.390 21688473.317
+ 1024.129 798.023 55.000 47.000
+ -6877010.69343 -5327244.82242 23935919.892 23935923.575 23935917.690
+ -2506.187 -1952.873 44.000 38.000
+ 04 2 1 5 5 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19077892.41143 -14448868.74242 21421798.424 21421804.564 21421797.246
+ -470.081 -366.297 55.000 48.000
+ -22602106.69543 -17550197.72342 20386179.977 20386185.629 20386178.786
+ 987.116 769.181 55.000 49.000
+ -21534894.05143 -16593034.82442 21227587.399 21227592.218 21227585.844
+ -2099.734 -1636.156 56.000 49.000
+ -22836314.94443 -17765111.21742 21630849.653 21630855.733 21630847.658
+ -1444.362 -1125.477 53.000 47.000
+ -9379181.55143 -7293757.98042 23223303.167 23223309.270 23223300.669
+ -119.785 -93.339 49.000 42.000
+ -13145466.50943 -10232035.16842 22827570.662 22827577.514 22827568.623
+ 2246.585 1750.586 49.000 42.000
+ -19211827.90543 -14929355.72842 21682630.469 21682634.199 21682629.743
+ 1023.291 797.370 55.000 47.000
+ -6801625.10643 -5268502.85442 23950265.223 23950272.530 23950263.617
+ -2518.902 -1962.781 45.000 39.000
+ 04 2 1 5 5 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19063726.97243 -14437830.75542 21424494.607 21424499.944 21424493.311
+ -474.494 -369.735 55.000 48.000
+ -22631503.85343 -17573104.57742 20380586.026 20380591.262 20380584.671
+ 972.654 757.912 55.000 49.000
+ -21471673.60143 -16543772.18442 21239617.709 21239622.527 21239616.067
+ -2115.140 -1648.161 56.000 49.000
+ -22792677.66243 -17731108.17242 21639153.233 21639159.207 21639151.789
+ -1464.762 -1141.373 53.000 47.000
+ -9375333.76043 -7290759.75242 23224035.280 23224040.938 23224034.258
+ -136.888 -106.666 48.000 42.000
+ -13212694.56443 -10284420.56842 22814777.975 22814783.732 22814775.236
+ 2235.324 1741.811 48.000 42.000
+ -19242503.86343 -14953259.08842 21676793.191 21676797.411 21676792.363
+ 1021.739 796.160 55.000 47.000
+ -6725854.56443 -5209460.94142 23964684.741 23964692.281 23964683.661
+ -2532.435 -1973.326 45.000 39.000
+ 04 2 1 5 6 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19049453.09543 -14426708.26942 21427210.683 21427216.245 21427209.505
+ -477.554 -372.120 55.000 48.000
+ -22660485.65643 -17595687.78042 20375071.013 20375076.078 20375069.848
+ 959.344 747.541 55.000 49.000
+ -21408010.50043 -16494164.62842 21251732.318 21251737.755 21251730.641
+ -2129.254 -1659.159 55.000 49.000
+ -22748445.71043 -17696641.75242 21647570.156 21647576.908 21647569.598
+ -1483.876 -1156.267 53.000 47.000
+ -9370999.89643 -7287382.74442 23224860.259 23224867.230 23224857.841
+ -152.428 -118.775 49.000 42.000
+ -13279599.80743 -10336554.39542 22802045.326 22802053.989 22802044.155
+ 2224.857 1733.655 49.000 43.000
+ -19273151.48343 -14977140.35742 21670960.323 21670965.106 21670960.297
+ 1021.274 795.798 54.000 47.000
+ -6649703.84743 -5150122.79142 23979174.840 23979182.268 23979173.587
+ -2544.558 -1982.772 45.000 39.000
+ 04 2 1 5 6 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19035064.77743 -14415496.62042 21429948.717 21429954.662 21429947.187
+ -481.040 -374.836 55.000 48.000
+ -22689047.48243 -17617943.72942 20369635.920 20369640.958 20369634.858
+ 945.464 736.725 56.000 49.000
+ -21343900.88843 -16444209.14542 21263931.730 21263937.323 21263930.449
+ -2143.930 -1670.595 55.000 49.000
+ -22703615.44943 -17661709.12542 21656101.741 21656107.297 21656099.869
+ -1503.887 -1171.860 53.000 47.000
+ -9366176.14843 -7283624.01242 23225778.817 23225783.841 23225777.520
+ -168.405 -131.225 49.000 42.000
+ -13346176.55443 -10388432.26442 22789377.054 22789383.971 22789375.571
+ 2214.232 1725.376 50.000 43.000
+ -19303765.17343 -15000995.19842 21665135.111 21665139.279 21665134.262
+ 1020.286 795.028 55.000 47.000
+ -6573170.12543 -5090486.18142 23993739.895 23993745.034 23993739.248
+ -2557.114 -1992.556 45.000 39.000
+ 04 2 1 5 7 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19020566.35843 -14404199.17642 21432706.918 21432713.268 21432706.325
+ -485.059 -377.968 55.000 48.000
+ -22717194.95643 -17639876.81242 20364279.278 20364284.394 20364278.082
+ 931.395 725.762 55.000 49.000
+ -21279351.37743 -16393910.87642 21276215.699 21276220.711 21276214.034
+ -2158.937 -1682.288 56.000 49.000
+ -22658193.35843 -17626315.32142 21664744.674 21664751.175 21664743.720
+ -1523.786 -1187.366 53.000 47.000
+ -9360868.69743 -7279488.38742 23226787.846 23226793.630 23226787.989
+ -185.127 -144.255 49.000 42.000
+ -13412429.53343 -10440057.84742 22776768.901 22776777.000 22776767.672
+ 2203.181 1716.764 49.000 43.000
+ -19334348.90143 -15024826.68942 21659315.836 21659319.798 21659314.783
+ 1019.037 794.055 55.000 47.000
+ -6496260.35443 -5030556.56942 24008375.289 24008381.140 24008375.231
+ -2569.948 -2002.557 46.000 39.000
+ 04 2 1 5 7 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -19005951.65843 -14392811.12842 21435489.249 21435494.040 21435487.567
+ -489.367 -381.325 55.000 48.000
+ -22744923.69043 -17661483.61042 20359003.008 20359008.240 20359001.595
+ 917.127 714.644 55.000 49.000
+ -21214358.07443 -16343266.79442 21288583.045 21288588.503 21288582.121
+ -2174.014 -1694.037 55.000 49.000
+ -22612175.65843 -17590457.40642 21673501.571 21673507.589 21673500.285
+ -1543.947 -1203.075 52.000 46.000
+ -9355073.80643 -7274972.91742 23227890.194 23227897.354 23227889.049
+ -201.418 -156.949 49.000 42.000
+ -13478353.08143 -10491426.74142 22764224.058 22764230.895 22764223.114
+ 2191.809 1707.903 49.000 42.000
+ -19364896.53343 -15048630.05642 21653502.615 21653506.598 21653501.642
+ 1017.483 792.844 55.000 47.000
+ -6418971.71643 -4970331.73242 24023082.391 24023088.511 24023082.505
+ -2582.768 -2012.546 46.000 39.000
+ 04 2 1 5 8 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -18991223.20843 -14381334.44942 21438291.313 21438297.275 21438290.454
+ -493.324 -384.408 55.000 48.000
+ -22772237.60143 -17682767.16642 20353805.090 20353810.383 20353803.802
+ 903.165 703.765 55.000 49.000
+ -21148925.64143 -16292280.53042 21301034.939 21301039.995 21301033.118
+ -2188.808 -1705.565 56.000 49.000
+ -22565567.02043 -17554139.01942 21682371.019 21682377.516 21682369.740
+ -1563.964 -1218.673 52.000 46.000
+ -9348796.17443 -7270081.29942 23229084.114 23229091.212 23229083.868
+ -217.791 -169.707 48.000 42.000
+ -13543949.97243 -10542541.10442 22751741.601 22751748.266 22751739.534
+ 2180.647 1699.205 50.000 43.000
+ -19395411.28243 -15072407.79542 21647695.625 21647699.666 21647694.750
+ 1016.123 791.784 55.000 47.000
+ -6341309.78143 -4909816.00342 24037860.394 24037867.558 24037860.044
+ -2595.345 -2022.347 46.000 39.000
+ 04 2 1 5 8 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -18976381.66943 -14369769.65642 21441115.288 21441121.697 21441114.300
+ -497.463 -387.633 54.000 48.000
+ -22799138.93543 -17703729.22342 20348686.035 20348691.201 20348685.101
+ 889.005 692.731 56.000 49.000
+ -21083056.98243 -16240954.35342 21313569.559 21313574.751 21313568.071
+ -2203.723 -1717.187 56.000 49.000
+ -22518370.56143 -17517362.58542 21691351.463 21691358.553 21691350.676
+ -1583.856 -1234.173 52.000 46.000
+ -9342038.58543 -7264815.67842 23230370.645 23230377.130 23230370.611
+ -233.995 -182.334 48.000 42.000
+ -13609221.51143 -10593401.93342 22739320.250 22739329.160 22739319.097
+ 2169.344 1690.398 49.000 43.000
+ -19425893.93443 -15096160.50942 21641894.568 21641899.504 21641894.199
+ 1014.657 790.642 55.000 47.000
+ -6263278.54043 -4849012.50742 24052709.301 24052717.020 24052709.147
+ -2608.003 -2032.210 46.000 39.000
+ 04 2 1 5 9 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -18961421.20843 -14358112.20142 21443962.844 21443968.005 21443961.523
+ -500.650 -390.117 55.000 48.000
+ -22825623.31743 -17724366.39142 20343646.310 20343651.529 20343644.775
+ 875.942 682.552 55.000 49.000
+ -21016748.67243 -16189285.58742 21326187.558 21326192.515 21326185.853
+ -2217.547 -1727.959 56.000 49.000
+ -22470582.89743 -17480125.47842 21700445.502 21700452.350 21700444.712
+ -1602.666 -1248.831 52.000 46.000
+ -9334797.42743 -7259173.25842 23231747.941 23231756.818 23231747.518
+ -249.356 -194.303 48.000 42.000
+ -13674162.18343 -10644004.96542 22726961.484 22726969.998 22726960.315
+ 2159.192 1682.487 49.000 43.000
+ -19456338.66643 -15119883.68742 21636101.586 21636106.204 21636100.952
+ 1014.284 790.351 55.000 47.000
+ -6184874.92343 -4787918.85342 24067629.621 24067635.643 24067628.846
+ -2619.762 -2041.373 46.000 39.000
+ 04 2 1 5 9 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -18946345.69043 -14346365.07942 21446831.901 21446837.599 21446830.538
+ -504.436 -393.067 55.000 48.000
+ -22851696.31643 -17744682.99242 20338684.151 20338689.670 20338683.431
+ 862.206 671.849 55.000 49.000
+ -20950006.92443 -16137279.07142 21338887.886 21338892.833 21338886.491
+ -2231.957 -1739.187 55.000 48.000
+ -22422210.42543 -17442432.67842 21709650.811 21709657.304 21709649.843
+ -1622.147 -1264.011 53.000 46.000
+ -9327079.01143 -7253158.96442 23233217.686 23233223.966 23233217.244
+ -265.367 -206.779 49.000 42.000
+ -13738776.58243 -10694353.74042 22714666.902 22714673.078 22714664.379
+ 2148.301 1674.001 49.000 43.000
+ -19486749.48843 -15143580.43942 21630314.594 21630318.797 21630313.882
+ 1013.152 789.469 55.000 47.000
+ -6106106.19543 -4726540.70442 24082618.877 24082624.780 24082617.648
+ -2631.520 -2050.535 47.000 39.000
+ 04 2 1 5 10 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -18931154.74943 -14334528.02242 21449722.129 21449728.329 21449721.033
+ -507.757 -395.655 55.000 48.000
+ -22877359.15443 -17764679.99342 20333801.048 20333806.710 20333799.884
+ 849.199 661.713 56.000 49.000
+ -20882833.73843 -16084936.37942 21351669.721 21351675.794 21351668.800
+ -2245.655 -1749.861 55.000 48.000
+ -22373255.16343 -17404285.74942 21718967.068 21718973.419 21718965.258
+ -1640.859 -1278.591 52.000 46.000
+ -9318885.18843 -7246774.21042 23234776.248 23234783.222 23234775.305
+ -280.482 -218.557 49.000 42.000
+ -13803064.94943 -10744448.47842 22702432.470 22702441.132 22702431.804
+ 2138.135 1666.079 49.000 42.000
+ -19517126.00943 -15167250.46442 21624533.653 21624538.538 21624533.160
+ 1012.559 789.007 55.000 48.000
+ -6026975.13043 -4664880.20142 24097678.014 24097684.806 24097677.251
+ -2642.857 -2059.369 46.000 39.000
+ 04 2 1 5 10 30.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -18915844.58143 -14322598.05842 21452635.604 21452641.448 21452634.229
+ -511.750 -398.766 54.000 48.000
+ -22902609.64243 -17784355.67842 20328996.007 20329001.406 20328994.973
+ 835.406 650.966 55.000 49.000
+ -20815227.80643 -16032256.47542 21364535.449 21364541.052 21364533.776
+ -2260.118 -1761.131 55.000 48.000
+ -22323715.78143 -17365683.67542 21728393.882 21728400.142 21728392.033
+ -1660.487 -1293.886 52.000 46.000
+ -9310214.42343 -7240017.82142 23236427.713 23236432.332 23236425.984
+ -296.318 -230.897 49.000 42.000
+ -13867023.84543 -10794286.48742 22690262.599 22690268.845 22690259.651
+ 2127.018 1657.417 50.000 43.000
+ -19547464.82843 -15190891.11442 21618760.933 21618765.044 21618760.035
+ 1011.272 788.004 55.000 48.000
+ -5947481.02543 -4602936.81342 24112806.667 24112811.649 24112804.345
+ -2655.250 -2069.026 46.000 39.000
+ 04 2 1 5 11 0.0000000 0 8G 1G27G20G 2G 4G 8G13G16
+ -18900414.67643 -14310574.80742 21455572.154 21455577.760 21455570.904
+ -515.879 -401.984 55.000 48.000
+ -22927449.00043 -17803711.00142 20324269.315 20324274.540 20324268.192
+ 821.659 640.254 55.000 49.000
+ -20747191.14043 -15979240.94142 21377482.353 21377487.798 21377480.663
+ -2274.646 -1772.451 55.000 49.000
+ -22273594.45543 -17326628.13642 21737931.142 21737937.544 21737929.243
+ -1679.832 -1308.960 52.000 46.000
+ -9301068.97843 -7232891.54642 23238167.223 23238173.466 23238166.092
+ -312.138 -243.224 50.000 42.000
+ -13930653.58543 -10843868.00342 22678152.909 22678160.358 22678151.513
+ 2115.987 1648.821 49.000 43.000
+ -19577765.45743 -15214501.99942 21612994.903 21612999.509 21612994.383
+ 1009.836 786.885 55.000 48.000
+ -5867626.75443 -4540712.77242 24128002.056 24128006.041 24128000.309
+ -2667.343 -2078.449 47.000 39.000
+ 04 2 1 5 11 30.0000000 0 9G 1G27G20G 2G 4G 8G13G16G 3
+ -18884866.08543 -14298459.05642 21458531.361 21458536.590 21458530.021
+ -520.505 -405.588 55.000 48.000
+ -22951879.78843 -17822747.96342 20319620.249 20319625.357 20319618.958
+ 807.316 629.077 55.000 49.000
+ -20678726.97043 -15925892.29142 21390511.118 21390515.834 21390509.428
+ -2289.463 -1783.997 56.000 49.000
+ -22222894.54243 -17287121.74642 21747579.992 21747586.102 21747578.461
+ -1699.783 -1324.506 53.000 46.000
+ -9291451.78343 -7225397.68342 23239996.908 23240003.765 23239998.167
+ -328.874 -256.265 49.000 42.000
+ -13993955.37443 -10893193.98642 22666107.069 22666115.015 22666105.606
+ 2104.457 1639.837 49.000 43.000
+ -19608028.79243 -15238083.83042 21607235.958 21607240.772 21607235.224
+ 1007.854 785.341 55.000 48.000
+ -5787416.41643 -4478211.30242 24143264.619 24143269.740 24143263.120
+ -2679.733 -2088.104 46.000 38.000
+ 25455659.167
+ 1131.263 881.504 42.000
+ 04 2 1 5 12 0.0000000 0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18869194.26843 -14286247.29042 21461512.560 21461518.254 21461511.454
+ -525.361 -409.372 54.000 48.000
+ -22975899.14943 -17841464.32042 20315049.349 20315054.893 20315048.493
+ 792.833 617.792 55.000 49.000
+ -20609832.98343 -15872208.70642 21403621.152 21403625.985 21403619.424
+ -2304.649 -1795.830 56.000 49.000
+ -22171613.88343 -17247162.83542 21757339.005 21757344.539 21757337.262
+ -1719.876 -1340.163 53.000 46.000
+ -9281360.82443 -7217534.67942 23241917.773 23241924.318 23241916.771
+ -345.133 -268.935 48.000 42.000
+ -14056925.67443 -10942261.66342 22654124.040 22654131.887 22654122.269
+ 2092.429 1630.464 49.000 42.000
+ -19638250.80943 -15261633.45442 21601485.518 21601489.315 21601484.720
+ 1005.770 783.717 55.000 48.000
+ 24828105.322
+ 1248.089 972.537 43.000
+ -5706848.64943 -4415431.28042 24158596.446 24158601.402 24158595.056
+ -2692.478 -2098.035 46.000 38.000
+ 25449213.409
+ 1126.234 877.585 42.000
+ 04 2 1 5 12 30.0000000 0 9G 1G27G20G 2G 4G 8G13G24G16
+ -18853402.94343 -14273942.40742 21464518.278 21464523.854 21464517.124
+ -528.708 -411.980 55.000 48.000
+ -22999512.61643 -17859864.39842 20310556.288 20310561.084 20310554.729
+ 780.158 607.915 56.000 49.000
+ -20540515.58043 -15818195.19542 21416811.791 21416816.597 21416810.191
+ -2317.895 -1806.152 55.000 48.000
+ -22119758.93943 -17206756.41342 21767205.803 21767212.003 21767204.320
+ -1738.220 -1354.457 52.000 46.000
+ -9270802.30943 -7209307.31742 23243928.068 23243934.816 23243926.636
+ -360.149 -280.635 48.000 42.000
+ -14119568.52043 -10991074.18242 22642204.033 22642208.953 22642203.099
+ 2082.380 1622.634 49.000 42.000
+ -19668435.25343 -15285153.80542 21595741.335 21595745.317 21595740.732
+ 1005.231 783.297 55.000 48.000
+ 24821019.963
+ 1232.695 960.542 44.000
+ -5625930.53743 -4352378.29542 24173994.236 24173999.710 24173993.970
+ -2703.318 -2106.481 45.000 38.000
+ 04 2 1 5 13 0.0000000 0 9G 1G27G20G 2G 4G 8G13G24G16
+ -18837485.56843 -14261539.29642 21467547.634 21467552.965 21467545.922
+ -532.800 -415.169 55.000 48.000
+ -23022715.10743 -17877944.23542 20306140.411 20306146.035 20306139.486
+ 766.419 597.210 55.000 49.000
+ -20470770.60743 -15763848.51242 21430083.211 21430088.962 21430082.150
+ -2332.073 -1817.200 55.000 48.000
+ -22067325.70243 -17165899.38342 21777183.664 21777190.363 21777182.052
+ -1757.521 -1369.497 52.000 46.000
+ -9259772.12643 -7200712.40842 23246024.490 23246033.420 23246024.356
+ -375.690 -292.745 48.000 41.000
+ -14181878.12943 -11039627.05942 22630347.937 22630354.590 22630345.517
+ 2071.286 1613.989 50.000 43.000
+ -19698575.27743 -15308639.54042 21590006.021 21590010.073 21590005.364
+ 1003.808 782.188 55.000 48.000
+ -1062122.23753 -806855.84552 24814031.158 24814036.129 24814031.353
+ 1216.436 947.872 44.000 35.000
+ -5544658.50043 -4289049.50642 24189459.831 24189465.402 24189458.731
+ -2714.979 -2115.568 45.000 38.000
+ 04 2 1 5 13 30.0000000 0 9G 1G27G20G 2G 4G 8G13G24G16
+ -18821445.59043 -14249040.64342 21470599.480 21470605.195 21470598.055
+ -536.603 -418.132 55.000 48.000
+ -23045511.71743 -17895707.80242 20301803.027 20301808.491 20301801.506
+ 753.265 586.960 56.000 50.000
+ -20400603.92543 -15709173.23242 21443436.000 21443441.257 21443434.272
+ -2345.819 -1827.911 55.000 49.000
+ -22014320.21343 -17124596.44742 21787270.205 21787276.360 21787268.276
+ -1776.170 -1384.028 52.000 46.000
+ -9248276.03843 -7191754.48642 23248213.331 23248221.345 23248213.295
+ -390.981 -304.660 48.000 41.000
+ -14243858.42043 -11087923.30042 22618552.797 22618559.589 22618550.498
+ 2060.674 1605.720 49.000 43.000
+ -19728674.55943 -15332093.52742 21584278.054 21584282.604 21584277.177
+ 1002.740 781.356 55.000 48.000
+ -1098365.63543 -835097.41942 24807131.218 24807142.085 24807132.574
+ 1200.051 935.105 41.000 34.000
+ -5463039.13843 -4225450.06242 24204992.197 24204995.549 24204990.407
+ -2726.183 -2124.298 46.000 38.000
+ 04 2 1 5 14 0.0000000 0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18805282.36043 -14236445.94742 21473675.156 21473681.079 21473673.901
+ -540.554 -421.211 54.000 48.000
+ -23067903.79443 -17913156.15142 20297541.510 20297546.714 20297540.242
+ 739.902 576.547 56.000 49.000
+ -20330017.67243 -15654171.01042 21456868.331 21456873.874 21456866.801
+ -2359.605 -1838.653 55.000 48.000
+ -21960744.81643 -17082849.42342 21797464.507 21797471.438 21797463.471
+ -1795.022 -1398.718 52.000 46.000
+ -9236316.08143 -7182435.11142 23250488.783 23250498.927 23250487.106
+ -405.899 -316.285 47.000 41.000
+ -14305509.66443 -11135963.14742 22606821.461 22606826.995 22606820.785
+ 2049.795 1597.243 50.000 43.000
+ -19758732.85843 -15355515.58542 21578557.894 21578562.160 21578557.089
+ 1001.538 780.419 55.000 48.000
+ -1134118.21243 -862956.55442 24800329.805 24800337.630 24800328.584
+ 1183.661 922.333 44.000 35.000
+ -5381075.31543 -4161582.22542 24220590.515 24220594.159 24220587.207
+ -2737.608 -2133.201 46.000 39.000
+ -1052424.78053 -801120.41652 25423659.534 25423669.038 25423655.245
+ 1110.958 865.682 40.000 34.000
+ 04 2 1 5 14 30.0000000 0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18788991.09043 -14223751.48142 21476775.390 21476781.208 21476774.182
+ -545.344 -424.943 55.000 48.000
+ -23089888.23443 -17930286.86742 20293358.823 20293363.290 20293357.108
+ 726.010 565.722 56.000 50.000
+ -20259009.60243 -15598840.10442 21470380.895 21470385.897 21470378.939
+ -2374.047 -1849.907 55.000 48.000
+ -21906597.20043 -17040656.50642 21807769.047 21807775.296 21807767.549
+ -1814.542 -1413.929 52.000 46.000
+ -9223890.00743 -7172752.50742 23252853.137 23252860.804 23252852.636
+ -421.906 -328.758 47.000 41.000
+ -14366827.85143 -11183743.47242 22595152.217 22595158.942 22595151.110
+ 2038.527 1588.463 50.000 43.000
+ -19788745.26243 -15378901.87442 21572846.684 21572850.847 21572846.452
+ 999.573 778.888 55.000 48.000
+ -1169375.62343 -890429.81942 24793619.807 24793629.128 24793619.741
+ 1166.506 908.966 44.000 36.000
+ -5298765.55243 -4097444.81542 24236251.079 24236257.974 24236250.375
+ -2749.459 -2142.435 45.000 38.000
+ -1085678.79243 -827032.44242 25417331.312 25417341.455 25417327.699
+ 1106.325 862.071 42.000 35.000
+ 04 2 1 5 15 0.0000000 0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18772574.96943 -14210959.72642 21479899.162 21479905.230 21479898.249
+ -549.727 -428.359 55.000 48.000
+ -23111470.12543 -17947103.90942 20289251.079 20289256.538 20289250.416
+ 712.310 555.047 56.000 49.000
+ -20187585.32143 -15543184.87442 21483972.217 21483977.912 21483971.063
+ -2388.197 -1860.933 55.000 48.000
+ -21851883.33043 -16998022.36142 21818180.755 21818187.296 21818179.971
+ -1833.558 -1428.746 52.000 46.000
+ -9211003.62043 -7162711.23242 23255305.759 23255312.684 23255304.841
+ -437.655 -341.030 47.000 41.000
+ -14427816.76243 -11231267.21742 22583546.849 22583553.577 22583545.083
+ 2027.120 1579.574 50.000 43.000
+ -19818715.07543 -15402254.98442 21567143.879 21567148.198 21567142.942
+ 997.875 777.565 55.000 48.000
+ -1204141.53543 -917520.17242 24787006.306 24787010.222 24787004.211
+ 1150.113 896.192 46.000 36.000
+ -5216116.38443 -4033042.95142 24251979.058 24251986.313 24251978.365
+ -2761.169 -2151.560 45.000 38.000
+ -1118802.88253 -852843.25352 25411026.364 25411035.343 25411023.909
+ 1101.162 858.048 40.000 34.000
+ 04 2 1 5 15 30.0000000 0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18756029.32643 -14198067.04842 21483047.542 21483053.570 21483046.573
+ -553.450 -431.260 55.000 48.000
+ -23132646.48243 -17963604.95442 20285221.689 20285226.471 20285220.499
+ 699.281 544.894 56.000 49.000
+ -20115742.82643 -15487203.75942 21497643.814 21497649.092 21497641.956
+ -2401.498 -1871.297 55.000 48.000
+ -21796601.42843 -16954945.59042 21828701.029 21828706.707 21828699.660
+ -1851.988 -1443.107 52.000 46.000
+ -9197654.86843 -7152309.67242 23257845.982 23257852.772 23257845.288
+ -452.608 -352.681 47.000 41.000
+ -14488472.52243 -11278531.36542 22572003.363 22572010.555 22572002.060
+ 2016.407 1571.226 49.000 43.000
+ -19848637.80143 -15425571.40342 21561449.322 21561454.269 21561448.781
+ 996.807 776.733 55.000 48.000
+ -1238411.67943 -944224.17642 24780482.777 24780492.157 24780482.635
+ 1134.382 883.934 44.000 36.000
+ -5133126.43343 -3968375.52742 24267772.071 24267779.830 24267770.544
+ -2771.554 -2159.652 44.000 38.000
+ -1151791.14643 -878548.23642 25404748.151 25404760.543 25404749.227
+ 1097.201 854.962 42.000 36.000
+ 04 2 1 5 16 0.0000000 0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18739356.37343 -14185075.16842 21486220.686 21486226.762 21486219.363
+ -557.198 -434.180 55.000 48.000
+ -23153421.38843 -17979793.18842 20281268.162 20281273.110 20281267.086
+ 686.470 534.912 55.000 50.000
+ -20043487.00543 -15430900.57942 21511393.755 21511399.023 21511391.790
+ -2414.712 -1881.594 55.000 48.000
+ -21740756.38743 -16911430.01042 21839328.047 21839334.550 21839326.564
+ -1870.191 -1457.292 52.000 46.000
+ -9183848.39243 -7141551.44842 23260474.635 23260480.352 23260473.935
+ -467.261 -364.099 48.000 41.000
+ -14548798.12443 -11325538.25042 22560523.621 22560531.836 22560522.672
+ 2006.074 1563.175 49.000 43.000
+ -19878515.59743 -15448852.81142 21555763.971 21555768.535 21555763.092
+ 995.784 775.936 55.000 48.000
+ -1272188.69643 -970543.93942 24774055.869 24774064.337 24774054.149
+ 1118.515 871.570 43.000 36.000
+ -5049800.96143 -3903446.68242 24283626.736 24283636.320 24283625.809
+ -2782.559 -2168.228 43.000 38.000
+ -1184644.06843 -904147.74842 25398497.785 25398508.835 25398496.202
+ 1093.601 852.157 43.000 36.000
+ 04 2 1 5 16 30.0000000 0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18722556.08943 -14171984.05742 21489417.624 21489423.530 21489416.252
+ -562.350 -438.195 54.000 48.000
+ -23173796.72543 -17995670.06842 20277390.654 20277395.773 20277389.511
+ 672.334 523.897 55.000 50.000
+ -19970820.32343 -15374277.24842 21525221.633 21525226.874 21525220.091
+ -2429.259 -1892.929 55.000 48.000
+ -21684351.08043 -16867477.85842 21850061.617 21850067.466 21850060.377
+ -1889.733 -1472.519 52.000 46.000
+ -9169586.90043 -7130438.66742 23263188.217 23263195.125 23263187.544
+ -483.143 -376.475 48.000 41.000
+ -14608794.29043 -11372288.42642 22549106.679 22549114.623 22549104.554
+ 1994.064 1553.816 50.000 43.000
+ -19908348.72643 -15472099.41342 21550087.283 21550091.161 21550086.443
+ 993.533 774.182 55.000 48.000
+ -1305473.38443 -996480.00142 24767722.475 24767730.493 24767720.694
+ 1100.949 857.882 43.000 35.000
+ -4966143.65443 -3838259.24942 24299548.264 24299556.743 24299545.945
+ -2794.297 -2177.374 43.000 38.000
+ -1217360.38843 -929640.79742 25392268.943 25392282.729 25392267.943
+ 1088.231 847.972 41.000 36.000
+ 04 2 1 5 17 0.0000000 0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18705625.06943 -14158791.07342 21492638.881 21492644.864 21492637.799
+ -567.096 -441.893 54.000 48.000
+ -23193770.79843 -18011234.28042 20273589.900 20273595.307 20273588.797
+ 658.651 513.235 55.000 49.000
+ -19897742.06443 -15317333.21042 21539127.862 21539133.135 21539126.354
+ -2443.390 -1903.940 55.000 48.000
+ -21627384.68443 -16823088.50042 21860901.427 21860907.967 21860899.578
+ -1908.763 -1487.348 52.000 46.000
+ -9154869.72443 -7118970.80342 23265988.474 23265994.502 23265988.588
+ -498.736 -388.625 48.000 41.000
+ -14668458.32843 -11418779.79242 22537753.175 22537760.784 22537751.180
+ 1982.727 1544.982 50.000 43.000
+ -19938133.50043 -15495308.33642 21544419.396 21544423.448 21544418.795
+ 991.487 772.587 56.000 48.000
+ -1338262.15543 -1022029.67542 24761482.265 24761487.812 24761480.578
+ 1084.230 844.855 43.000 34.000
+ -4882154.13043 -3772812.94142 24315530.580 24315537.382 24315529.395
+ -2805.500 -2186.104 44.000 38.000
+ -1249935.34143 -955023.68442 25386071.417 25386082.841 25386071.348
+ 1082.844 843.775 41.000 34.000
+ 04 2 1 5 17 30.0000000 0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18688563.80143 -14145496.59142 21495885.790 21495891.802 21495884.448
+ -571.232 -445.116 54.000 48.000
+ -23213345.72343 -18026487.46442 20269864.799 20269870.191 20269863.637
+ 645.519 503.002 55.000 49.000
+ -19824255.49843 -15260071.01642 21553112.407 21553117.165 21553110.566
+ -2456.623 -1914.252 55.000 48.000
+ -21569860.65843 -16778264.62442 21871848.145 21871854.825 21871847.017
+ -1927.104 -1501.639 52.000 46.000
+ -9139700.02443 -7107150.34042 23268874.853 23268881.884 23268874.241
+ -513.477 -400.112 47.000 42.000
+ -14727791.42143 -11465013.28442 22526462.503 22526469.648 22526461.002
+ 1971.936 1536.574 50.000 43.000
+ -19967870.53643 -15518480.06342 21538760.705 21538764.872 21538759.764
+ 990.049 771.467 56.000 48.000
+ -1370556.60743 -1047194.23642 24755335.011 24755346.576 24755335.999
+ 1067.948 832.167 44.000 35.000
+ -4797836.29543 -3707110.79042 24331576.552 24331582.925 24331574.647
+ -2816.232 -2194.466 45.000 39.000
+ -1282367.74643 -980295.50042 25379898.967 25379913.366 25379900.847
+ 1078.226 840.176 41.000 33.000
+ 04 2 1 5 18 0.0000000 0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18671370.33143 -14132099.09842 21499158.039 21499163.565 21499156.590
+ -576.064 -448.881 54.000 48.000
+ -23232521.69343 -18041429.77342 20266215.859 20266220.963 20266214.628
+ 631.956 492.433 55.000 49.000
+ -19750361.10743 -15202491.02242 21567173.538 21567178.958 21567172.415
+ -2470.609 -1925.150 55.000 48.000
+ -21511780.00143 -16733007.02342 21882900.544 21882907.084 21882899.371
+ -1945.949 -1516.324 52.000 46.000
+ -9124078.24043 -7094977.58242 23271845.844 23271855.326 23271846.765
+ -528.877 -412.112 47.000 41.000
+ -14786792.63543 -11510988.17442 22515235.235 22515242.261 22515233.737
+ 1960.438 1527.614 50.000 43.000
+ -19997557.74343 -15541612.95342 21533111.075 21533115.260 21533110.397
+ 988.006 769.875 56.000 48.000
+ -1402355.36843 -1071972.47142 24749285.874 24749293.148 24749285.493
+ 1050.937 818.912 44.000 35.000
+ -4713191.66843 -3641154.00142 24347683.697 24347690.928 24347681.482
+ -2827.912 -2203.568 45.000 38.000
+ -1314653.91943 -1005453.36642 25373754.295 25373767.786 25373755.114
+ 1073.527 836.515 40.000 33.000
+ 04 2 1 5 18 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18654042.99343 -14118597.28642 21502455.000 21502461.045 21502453.381
+ -579.671 -451.692 54.000 48.000
+ -23251299.04643 -18056061.47342 20262642.462 20262647.692 20262641.272
+ 619.423 482.667 55.000 49.000
+ -19676060.16343 -15144594.24042 21581312.717 21581318.129 21581311.451
+ -2483.221 -1934.977 55.000 48.000
+ -21453144.03343 -16687316.70942 21894058.620 21894065.266 21894057.005
+ -1963.586 -1530.067 52.000 46.000
+ -9108005.75343 -7082453.62442 23274907.316 23274913.852 23274906.140
+ -543.026 -423.137 47.000 41.000
+ -14845461.10643 -11556703.78942 22504070.158 22504076.484 22504070.809
+ 1950.246 1519.672 50.000 44.000
+ -20027193.97743 -15564706.13642 21527471.224 21527475.610 21527470.684
+ 987.155 769.212 55.000 48.000
+ -982674.71953 -742994.21552 24932036.367 24932051.156 24932037.196
+ 1417.596 1104.620 40.000 34.000
+ -1433656.98643 -1096363.33042 24743326.884 24743338.449 24743328.093
+ 1034.918 806.430 43.000 36.000
+ -4628222.03343 -3574943.96842 24363853.801 24363859.591 24363851.585
+ -2837.386 -2210.950 45.000 38.000
+ -1030495.06742 25367644.102 25367652.533
+ 1069.144 833.099 37.000 32.000
+ 04 2 1 5 19 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18636580.09843 -14104989.84842 21505777.905 21505784.134 21505777.161
+ -584.295 -455.295 54.000 48.000
+ -23269677.86243 -18070382.63242 20259145.218 20259150.385 20259143.935
+ 605.932 472.155 56.000 49.000
+ -19601353.62643 -15086381.42242 21595528.025 21595534.098 21595526.851
+ -2497.059 -1945.760 54.000 48.000
+ -21393953.98643 -16641194.64142 21905321.671 21905328.727 21905320.123
+ -1982.270 -1544.626 52.000 46.000
+ -9091483.60643 -7069579.26642 23278050.469 23278057.678 23278049.566
+ -558.112 -434.892 47.000 42.000
+ -14903796.20143 -11602159.63142 22492969.804 22492976.807 22492968.103
+ 1938.935 1510.858 50.000 44.000
+ -20056777.29443 -15587758.08642 21521841.512 21521846.170 21521840.952
+ 985.197 767.686 55.000 48.000
+ -1025242.54743 -776163.53642 24923938.506 24923952.195 24923936.216
+ 1419.606 1106.186 42.000 35.000
+ -1464460.56043 -1120366.10142 24737468.790 24737476.754 24737466.560
+ 1018.615 793.726 46.000 37.000
+ -4542928.91743 -3508481.88142 24380082.904 24380090.728 24380081.260
+ -2848.348 -2219.492 44.000 38.000
+ 04 2 1 5 19 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18618984.40043 -14091278.92342 21509126.222 21509132.409 21509125.098
+ -589.407 -459.278 54.000 48.000
+ -23287662.92243 -18084396.96242 20255723.049 20255727.670 20255721.949
+ 592.183 461.441 56.000 49.000
+ -19526247.01943 -15027856.86242 21609820.844 21609826.685 21609819.459
+ -2510.866 -1956.519 54.000 48.000
+ -21334215.47743 -16594645.19842 21916690.216 21916697.312 21916689.266
+ -2000.934 -1559.169 52.000 46.000
+ -9074517.14643 -7056358.70042 23281278.496 23281287.931 23281278.479
+ -573.283 -446.714 47.000 41.000
+ -14961801.31543 -11647358.34042 22481931.547 22481937.835 22481929.852
+ 1927.318 1501.806 50.000 43.000
+ -20086310.62843 -15610771.07542 21516222.619 21516226.572 21516221.471
+ 982.898 765.895 56.000 48.000
+ -1067884.92343 -809390.99642 24915823.616 24915835.961 24915819.022
+ 1421.225 1107.448 41.000 34.000
+ -1494769.10643 -1143983.15042 24731700.378 24731709.238 24731698.130
+ 1001.450 780.351 45.000 37.000
+ -4457318.54343 -3441772.56542 24396371.587 24396380.351 24396371.364
+ -2859.359 -2228.072 42.000 37.000
+ 04 2 1 5 20 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18601251.42343 -14077461.02642 21512501.038 21512506.914 21512499.674
+ -593.152 -462.196 54.000 48.000
+ -23305251.63043 -18098102.44542 20252376.397 20252380.903 20252374.868
+ 579.933 451.896 56.000 50.000
+ -19450738.55643 -14969019.16342 21624189.629 21624195.302 21624188.178
+ -2523.435 -1966.313 54.000 48.000
+ -21273926.98343 -16547667.19642 21928161.718 21928169.342 21928160.184
+ -2018.510 -1572.865 51.000 46.000
+ -9057104.93143 -7042790.80542 23284593.450 23284598.171 23284592.308
+ -587.561 -457.840 48.000 41.000
+ -15019473.15443 -11692297.37042 22470957.114 22470963.575 22470955.527
+ 1917.179 1493.906 50.000 44.000
+ -20115789.20143 -15633741.39942 21510612.700 21510617.198 21510611.582
+ 981.959 765.163 55.000 48.000
+ -1110596.21243 -842672.14042 24907694.826 24907708.486 24907690.451
+ 1424.726 1110.176 41.000 34.000
+ -1524579.41843 -1167211.90942 24726027.006 24726035.937 24726027.199
+ 985.387 767.834 44.000 36.000
+ -4371389.71143 -3374815.15742 24412724.991 24412733.502 24412725.375
+ -2869.400 -2235.896 43.000 37.000
+ 04 2 1 5 20 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18583381.91843 -14063536.73842 21515901.898 21515907.381 21515900.628
+ -597.960 -465.943 54.000 48.000
+ -23322446.46543 -18111501.01842 20249103.723 20249108.515 20249102.654
+ 566.575 441.487 56.000 49.000
+ -19374831.57243 -14909870.92242 21638634.437 21638640.323 21638633.334
+ -2536.863 -1976.776 54.000 48.000
+ -21213092.25343 -16500263.54642 21939739.481 21939745.375 21939737.980
+ -2036.876 -1587.176 52.000 45.000
+ -9039250.14843 -7028878.03342 23287990.433 23287998.202 23287990.014
+ -602.536 -469.508 48.000 41.000
+ -15076813.02243 -11736977.73042 22460045.814 22460051.698 22460044.871
+ 1906.013 1485.205 50.000 44.000
+ -20145213.85043 -15656669.70342 21505013.030 21505017.301 21505012.608
+ 979.943 763.592 55.000 48.000
+ -1153375.60043 -876006.38842 24899552.127 24899568.404 24899551.152
+ 1426.986 1111.937 41.000 35.000
+ -1553892.72843 -1190053.48242 24720450.820 24720456.967 24720448.636
+ 968.456 754.641 44.000 36.000
+ -4285146.60643 -3307612.80042 24429136.646 24429145.619 24429136.812
+ -2879.779 -2243.984 42.000 37.000
+ 04 2 1 5 21 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18565374.66943 -14049505.12742 21519328.561 21519334.286 21519327.220
+ -602.554 -469.522 54.000 48.000
+ -23339248.45043 -18124593.46842 20245906.168 20245911.365 20245905.389
+ 553.528 431.321 56.000 49.000
+ -19298527.87743 -14850413.56642 21653154.409 21653160.826 21653153.194
+ -2550.128 -1987.113 55.000 48.000
+ -21151713.23043 -16452435.78242 21951418.826 21951425.737 21951417.785
+ -2054.940 -1601.252 51.000 45.000
+ -9020954.83243 -7014621.99442 23291472.014 23291479.094 23291471.877
+ -617.159 -480.903 48.000 41.000
+ -15133820.74443 -11781399.26542 22449197.173 22449203.781 22449196.006
+ 1894.746 1476.425 50.000 44.000
+ -20174583.42943 -15679555.09042 21499424.643 21499428.643 21499423.615
+ 978.127 762.177 56.000 48.000
+ -1196220.69743 -909391.80542 24891399.654 24891413.007 24891401.533
+ 1429.792 1114.124 41.000 34.000
+ -1582708.64743 -1212507.46742 24714964.810 24714975.618 24714963.605
+ 952.913 742.530 43.000 36.000
+ -4198591.59843 -3240167.41742 24445609.160 24445613.905 24445607.227
+ -2890.392 -2252.253 43.000 37.000
+ 04 2 1 5 21 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18547231.02743 -14035367.23042 21522781.193 21522786.681 21522779.840
+ -607.193 -473.137 54.000 48.000
+ -23355660.65543 -18137382.19642 20242783.381 20242788.438 20242782.088
+ 540.428 421.113 56.000 49.000
+ -19221831.71643 -14790650.38142 21667749.630 21667755.343 21667748.288
+ -2563.173 -1997.278 55.000 48.000
+ -21089794.02443 -16404187.09042 21963202.189 21963208.757 21963200.692
+ -2072.976 -1615.306 52.000 46.000
+ -9002222.84843 -7000025.68842 23295035.729 23295043.715 23295035.858
+ -631.632 -492.181 47.000 41.000
+ -15190498.64443 -11825563.81042 22438412.679 22438418.536 22438410.963
+ 1883.693 1467.813 51.000 44.000
+ -20203899.15843 -15702398.51542 21493845.109 21493850.303 21493844.781
+ 976.208 760.682 55.000 48.000
+ -1239131.36243 -942828.29542 24883232.982 24883250.177 24883231.435
+ 1430.177 1114.424 41.000 34.000
+ -1611029.09643 -1234575.39242 24709578.369 24709584.983 24709577.728
+ 935.475 728.942 44.000 35.000
+ -4111729.36243 -3172482.64942 24462138.647 24462145.762 24462137.234
+ -2900.633 -2260.233 43.000 37.000
+ 04 2 1 5 22 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18528947.62343 -14021120.43842 21526259.627 21526265.568 21526258.869
+ -611.894 -476.800 54.000 47.000
+ -23371681.86443 -18149866.24942 20239734.343 20239739.578 20239733.196
+ 527.374 410.941 56.000 50.000
+ -19144742.41943 -14730580.86042 21682419.380 21682425.247 21682418.013
+ -2576.245 -2007.464 55.000 48.000
+ -21027334.69643 -16355517.52542 21975086.893 21975094.073 21975086.034
+ -2091.039 -1629.381 51.000 45.000
+ -8983053.87743 -6985088.88742 23298684.663 23298692.825 23298682.850
+ -646.243 -503.566 48.000 42.000
+ -15246844.31043 -11869469.46042 22427689.942 22427696.075 22427687.642
+ 1872.599 1459.168 50.000 44.000
+ -20233157.92243 -15725197.54842 21488278.098 21488282.955 21488277.562
+ 974.207 759.122 56.000 48.000
+ -1282102.98643 -976312.33542 24875058.807 24875069.596 24875057.332
+ 1433.011 1116.632 42.000 34.000
+ -1638851.50443 -1256255.22142 24704281.528 24704290.266 24704282.505
+ 918.805 715.952 44.000 36.000
+ -4024559.82243 -3104558.42342 24478725.940 24478732.589 24478723.944
+ -2910.466 -2267.895 42.000 37.000
+ 04 2 1 5 22 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18510521.89543 -14006762.74142 21529766.383 21529772.268 21529765.329
+ -616.586 -480.457 54.000 48.000
+ -23387311.67043 -18162045.31842 20236760.251 20236765.460 20236759.201
+ 514.476 400.890 56.000 50.000
+ -19067260.14143 -14670205.12242 21697163.726 21697169.833 21697161.965
+ -2589.320 -2017.652 54.000 48.000
+ -20964335.73443 -16306427.46842 21987076.477 21987082.439 21987075.540
+ -2108.824 -1643.239 52.000 45.000
+ -8963448.36543 -6969811.95142 23302415.983 23302422.107 23302415.761
+ -660.707 -514.837 48.000 41.000
+ -15302856.16443 -11913115.00542 22417030.779 22417036.933 22417029.537
+ 1861.502 1450.521 51.000 44.000
+ -20262357.03343 -15747950.11142 21482721.466 21482726.382 21482720.831
+ 972.348 757.674 55.000 48.000
+ -1325131.61443 -1009840.72542 24866867.696 24866883.416 24866865.420
+ 1435.115 1118.271 38.000 34.000
+ -1666174.29343 -1277545.76742 24699082.453 24699091.595 24699080.998
+ 902.093 702.930 44.000 37.000
+ -3937084.04543 -3036395.54642 24495371.242 24495378.800 24495369.461
+ -2920.737 -2275.899 41.000 36.000
+ 04 2 1 5 23 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18491954.79943 -13992294.88942 21533299.242 21533305.833 21533298.310
+ -621.706 -484.446 54.000 48.000
+ -23402552.93043 -18173921.61942 20233859.654 20233865.338 20233858.677
+ 501.163 390.517 56.000 50.000
+ -18989388.59343 -14609526.05642 21711982.550 21711987.977 21711981.180
+ -2602.608 -2028.006 54.000 47.000
+ -20900801.20443 -16256920.08042 21999166.427 21999172.911 21999165.187
+ -2127.112 -1657.490 51.000 45.000
+ -8943409.97743 -6954197.68842 23306229.372 23306235.787 23306228.953
+ -675.580 -526.426 49.000 41.000
+ -15358536.13443 -11956501.93442 22406434.483 22406441.062 22406434.717
+ 1850.203 1441.717 50.000 44.000
+ -20291497.39343 -15770656.87242 21477175.852 21477180.632 21477175.426
+ 969.973 755.823 55.000 48.000
+ -1368216.84243 -1043413.27342 24858667.829 24858684.565 24858666.568
+ 1436.594 1119.424 39.000 33.000
+ -1692999.40143 -1298448.44642 24693978.767 24693987.011 24693977.425
+ 885.447 689.959 45.000 37.000
+ -3849306.30143 -2967997.41742 24512074.202 24512082.418 24512072.324
+ -2931.360 -2284.177 42.000 36.000
+ 04 2 1 5 23 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18473245.06343 -13977715.89542 21536859.552 21536865.385 21536858.424
+ -626.451 -488.144 54.000 47.000
+ -23417406.50743 -18185495.83242 20231032.535 20231038.514 20231031.857
+ 488.357 380.538 55.000 50.000
+ -18911129.66643 -14548545.14442 21726874.212 21726880.127 21726872.880
+ -2615.480 -2038.036 54.000 47.000
+ -20836732.95843 -16206996.80442 22011358.001 22011364.677 22011356.559
+ -2144.900 -1671.351 51.000 45.000
+ -8922940.69243 -6938247.65042 23310122.537 23310130.093 23310122.452
+ -689.887 -537.574 46.000 41.000
+ -15413884.15543 -11999630.19542 22395903.052 22395909.453 22395901.031
+ 1839.053 1433.028 51.000 44.000
+ -20320577.86943 -15793316.98342 21471642.631 21471647.026 21471641.639
+ 967.950 754.247 56.000 48.000
+ -1411356.13643 -1077027.92842 24850458.515 24850472.388 24850455.442
+ 1438.122 1120.615 39.000 34.000
+ -1719326.13543 -1318962.76342 24688968.325 24688978.229 24688968.076
+ 868.908 677.071 46.000 38.000
+ -3761229.00343 -2899365.83842 24528837.628 24528842.192 24528836.347
+ -2940.924 -2291.629 43.000 37.000
+ 04 2 1 5 24 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18454392.21843 -13963025.38042 21540447.309 21540453.628 21540446.082
+ -630.473 -491.278 54.000 47.000
+ -23431873.97443 -18196769.18242 20228280.030 20228285.018 20228279.145
+ 476.095 370.983 56.000 50.000
+ -18832485.85343 -14487264.31542 21741839.424 21741845.501 21741838.503
+ -2627.863 -2047.685 54.000 47.000
+ -20772133.58143 -16156659.65542 22023650.783 22023657.762 22023649.066
+ -2161.900 -1684.597 51.000 45.000
+ -8902042.87543 -6921963.71242 23314100.756 23314107.363 23314100.047
+ -703.437 -548.133 49.000 41.000
+ -15468900.64843 -12042500.13642 22385433.797 22385440.538 22385432.386
+ 1828.742 1424.994 51.000 44.000
+ -20349597.92843 -15815930.01242 21466120.142 21466124.811 21466119.678
+ 966.504 753.120 56.000 48.000
+ -1454547.58243 -1110683.30142 24842240.545 24842253.307 24842241.406
+ 1440.839 1122.732 38.000 34.000
+ -1745154.83243 -1339089.02242 24684053.539 24684060.379 24684052.778
+ 853.043 664.709 46.000 38.000
+ -3672855.05843 -2830503.11342 24545653.148 24545660.764 24545651.948
+ -2950.398 -2299.011 43.000 37.000
+ 04 2 1 5 24 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18435394.75843 -13948222.18142 21544062.939 21544068.549 21544061.412
+ -635.640 -495.304 54.000 48.000
+ -23445955.92243 -18207742.12242 20225601.252 20225605.487 20225599.830
+ 462.909 360.708 56.000 50.000
+ -18753458.56043 -14425684.68042 21756878.619 21756883.954 21756877.121
+ -2640.745 -2057.723 54.000 48.000
+ -20707004.80543 -16105910.00042 22036044.600 22036050.834 22036042.824
+ -2179.994 -1698.697 51.000 45.000
+ -8880718.24343 -6905347.17142 23318158.349 23318165.782 23318158.791
+ -717.881 -559.388 48.000 41.000
+ -15523585.12843 -12085111.35042 22375027.571 22375033.983 22375025.992
+ 1817.174 1415.980 51.000 44.000
+ -20378555.90443 -15838494.67242 21460609.956 21460614.071 21460609.113
+ 964.184 751.312 56.000 48.000
+ -1497788.41043 -1144377.08442 24834011.500 24834025.371 24834010.453
+ 1442.412 1123.957 41.000 35.000
+ -1770485.34343 -1358827.10142 24679233.156 24679242.863 24679231.672
+ 836.353 651.704 45.000 37.000
+ -3584186.35343 -2761410.69642 24562525.496 24562534.641 24562523.570
+ -2960.694 -2307.034 42.000 37.000
+ 04 2 1 5 25 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18416247.48543 -13933302.24742 21547706.434 21547711.486 21547705.482
+ -640.205 -498.861 55.000 48.000
+ -23459649.11243 -18218412.13742 20222994.708 20223000.063 20222993.629
+ 450.425 350.981 56.000 50.000
+ -18674045.36743 -14363804.33342 21771990.820 21771996.521 21771989.628
+ -2653.041 -2067.305 55.000 48.000
+ -20641344.64743 -16054746.25942 22048539.598 22048545.572 22048537.701
+ -2197.011 -1711.957 51.000 45.000
+ -8858964.09043 -6888395.98842 23322298.274 23322305.378 23322298.285
+ -731.819 -570.248 48.000 41.000
+ -15577933.33543 -12127460.55642 22364684.993 22364691.842 22364684.076
+ 1806.629 1407.763 50.000 44.000
+ -20407446.63743 -15861006.93442 21455111.534 21455116.207 21455111.319
+ 962.366 749.896 56.000 48.000
+ -1541071.83943 -1178104.10642 24825774.553 24825788.999 24825773.681
+ 1443.475 1124.786 41.000 36.000
+ -1795313.00843 -1378173.36342 24674509.131 24674516.350 24674506.583
+ 819.822 638.822 46.000 37.000
+ -3495221.46443 -2692087.44342 24579454.633 24579461.825 24579453.529
+ -2970.454 -2314.639 42.000 37.000
+ 04 2 1 5 25 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18396962.59643 -13918275.08542 21551375.447 21551381.581 21551374.818
+ -645.516 -502.999 54.000 48.000
+ -23472967.87043 -18228790.38042 20220460.810 20220465.633 20220459.444
+ 437.385 340.819 56.000 50.000
+ -18594261.35243 -14301635.04942 21787172.446 21787178.626 21787171.269
+ -2665.905 -2077.328 54.000 47.000
+ -20575168.42743 -16003180.41642 22061133.018 22061138.732 22061132.044
+ -2214.599 -1725.661 52.000 45.000
+ -8836795.83543 -6871122.09942 23326517.283 23326523.059 23326516.818
+ -746.188 -581.445 48.000 41.000
+ -15631958.71543 -12169558.19542 22354404.494 22354411.199 22354402.777
+ 1795.007 1398.707 51.000 44.000
+ -20436281.95343 -15883476.01942 21449624.976 21449629.207 21449623.773
+ 959.884 747.962 56.000 48.000
+ -1584408.79543 -1211872.83742 24817528.552 24817540.335 24817527.130
+ 1445.236 1126.158 43.000 36.000
+ -1819651.03543 -1397138.12742 24669877.869 24669885.366 24669876.229
+ 802.839 625.589 45.000 37.000
+ -3405975.80443 -2622545.41842 24596438.355 24596446.311 24596437.972
+ -2979.841 -2321.954 44.000 38.000
+ 25285234.462
+ 990.835 772.079 44.000
+ 04 2 1 5 26 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18377525.01943 -13903128.94642 21555074.084 21555080.413 21555073.141
+ -650.949 -507.233 54.000 48.000
+ -23485899.19143 -18238866.71942 20217999.743 20218004.787 20217998.498
+ 424.019 330.404 56.000 50.000
+ -18514094.40643 -14239167.37342 21802427.427 21802433.566 21802426.557
+ -2679.148 -2087.648 54.000 47.000
+ -20508464.34943 -15951203.25042 22073825.903 22073832.522 22073824.647
+ -2232.719 -1739.781 52.000 45.000
+ -8814201.37043 -6853516.10142 23330816.002 23330822.939 23330816.070
+ -760.813 -592.841 47.000 41.000
+ -15685647.12843 -12211393.25942 22344188.326 22344194.314 22344185.702
+ 1783.332 1389.609 51.000 45.000
+ -20465046.82343 -15905890.21242 21444151.151 21444155.418 21444150.409
+ 957.168 745.845 56.000 48.000
+ -1627782.74643 -1245670.40042 24809274.465 24809285.640 24809273.366
+ 1445.563 1126.413 44.000 37.000
+ -1843485.14843 -1415710.20142 24665342.474 24665348.063 24665340.393
+ 785.578 612.139 44.000 36.000
+ -3316437.66243 -2552775.52242 24613476.654 24613485.877 24613475.992
+ -2989.599 -2329.558 43.000 37.000
+ 25279595.645
+ 984.040 766.784 44.000
+ 04 2 1 5 26 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18357940.75143 -13887868.49642 21558801.945 21558807.655 21558800.297
+ -654.867 -510.286 55.000 48.000
+ -23498451.16343 -18248647.46242 20215610.692 20215616.288 20215609.550
+ 412.439 321.381 55.000 50.000
+ -18433553.74543 -14176408.48342 21817754.446 21817760.147 21817753.027
+ -2690.466 -2096.467 54.000 47.000
+ -20441241.98543 -15898822.24642 22086617.628 22086624.610 22086616.816
+ -2248.987 -1752.457 51.000 45.000
+ -8791190.07443 -6835585.30142 23335195.661 23335202.665 23335194.300
+ -773.519 -602.742 48.000 41.000
+ -15739005.98243 -12252971.51842 22334034.126 22334040.829 22334032.601
+ 1773.653 1382.067 51.000 44.000
+ -20493747.38343 -15928254.29442 21438689.688 21438693.658 21438688.629
+ 955.952 744.898 56.000 48.000
+ -1671198.30943 -1279500.37242 24801011.936 24801026.243 24801009.695
+ 1448.354 1128.588 43.000 37.000
+ -1866822.70043 -1433895.26442 24660899.317 24660907.069 24660897.974
+ 769.785 599.832 44.000 36.000
+ -3226616.72943 -2482785.23742 24630571.445 24630577.212 24630569.621
+ -2998.365 -2336.388 44.000 37.000
+ -916724.51153 -711881.16752 25273991.556 25274004.363 25273990.662
+ 979.180 762.997 45.000 37.000
+ 04 2 1 5 27 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18338191.46143 -13872479.46342 21562559.792 21562566.368 21562558.713
+ -660.360 -514.566 54.000 48.000
+ -23510607.64743 -18258120.03642 20213298.109 20213302.581 20213296.803
+ 399.340 311.174 56.000 50.000
+ -18352623.72243 -14113346.20542 21833154.841 21833160.585 21833153.343
+ -2703.366 -2106.519 54.000 47.000
+ -20373486.00643 -15846025.42942 22099511.269 22099517.668 22099509.961
+ -2266.767 -1766.312 51.000 45.000
+ -8767746.38143 -6817317.57742 23339656.381 23339663.662 23339655.632
+ -787.901 -613.949 48.000 41.000
+ -15792017.91743 -12294279.46542 22323945.912 22323952.133 22323945.008
+ 1762.095 1373.061 51.000 44.000
+ -20522364.89043 -15950553.66742 21433244.174 21433247.947 21433243.297
+ 953.216 742.766 56.000 48.000
+ -1714635.89143 -1313347.48542 24792745.764 24792757.874 24792743.892
+ 1449.234 1129.273 43.000 37.000
+ -1889646.19543 -1451679.84042 24656559.489 24656566.126 24656556.465
+ 753.060 586.800 46.000 37.000
+ -3136498.18243 -2412563.05842 24647720.424 24647727.869 24647720.519
+ -3008.198 -2344.050 44.000 37.000
+ -945967.92543 -734668.07842 25268428.927 25268438.295 25268426.734
+ 972.406 757.719 46.000 37.000
+ 04 2 1 5 27 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18318307.14243 -13856985.22842 21566343.471 21566349.835 21566342.400
+ -665.131 -518.284 54.000 48.000
+ -23522400.65243 -18267309.37842 20211053.842 20211059.073 20211052.722
+ 387.112 301.646 56.000 50.000
+ -18271337.36443 -14050006.25742 21848623.289 21848629.527 21848621.713
+ -2715.606 -2116.057 54.000 47.000
+ -20305229.67143 -15792838.71642 22112499.755 22112506.509 22112498.834
+ -2283.621 -1779.445 51.000 45.000
+ -8743903.30543 -6798738.60942 23344193.617 23344201.681 23344193.911
+ -801.360 -624.436 47.000 41.000
+ -15844713.87443 -12335341.17742 22313918.992 22313925.378 22313917.428
+ 1751.318 1364.663 51.000 45.000
+ -20550929.63143 -15972811.92542 21427807.962 21427812.195 21427807.235
+ 951.160 741.164 56.000 48.000
+ -1758123.97143 -1347233.96542 24784472.361 24784482.472 24784469.825
+ 1450.280 1130.088 43.000 37.000
+ -1911986.65943 -1469088.04142 24652304.146 24652313.539 24652303.210
+ 736.048 573.544 43.000 36.000
+ -3046115.53243 -2342135.09942 24664919.337 24664924.103 24664917.119
+ -3016.972 -2350.887 45.000 37.000
+ -975036.34543 -757318.52042 25262895.094 25262908.260 25262894.470
+ 965.713 752.504 42.000 37.000
+ 04 2 1 5 28 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18298272.17743 -13841373.59242 21570156.541 21570162.282 21570155.459
+ -670.452 -522.430 54.000 48.000
+ -23533816.81543 -18276205.08342 20208881.067 20208885.979 20208879.992
+ 374.159 291.552 56.000 50.000
+ -18189682.11343 -13986378.86842 21864162.060 21864168.242 21864160.117
+ -2728.007 -2125.720 54.000 47.000
+ -20236460.73943 -15739252.56842 22125586.832 22125593.111 22125584.842
+ -2300.986 -1792.976 51.000 44.000
+ -8719648.49243 -6779838.83542 23348810.253 23348816.232 23348808.862
+ -815.350 -635.338 48.000 41.000
+ -15897079.53043 -12376145.52042 22303953.194 22303960.063 22303952.016
+ 1739.793 1355.683 51.000 45.000
+ -20579425.70043 -15995016.67842 21422385.779 21422389.858 21422384.731
+ 948.529 739.114 56.000 48.000
+ -1801645.49443 -1381146.53742 24776189.280 24776201.813 24776187.775
+ 1451.151 1130.767 42.000 36.000
+ -1933829.66943 -1486108.59742 24648148.116 24648155.089 24648146.144
+ 719.881 560.946 44.000 36.000
+ -2955456.73843 -2271491.95042 24682170.176 24682178.156 24682169.712
+ -3026.508 -2358.318 45.000 37.000
+ -1003912.83343 -779819.57542 25257400.201 25257412.547 25257399.429
+ 959.155 747.394 43.000 37.000
+ 04 2 1 5 28 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18278084.62343 -13825643.06542 21573997.801 21574004.472 21573997.001
+ -675.499 -526.363 54.000 48.000
+ -23544856.47843 -18284807.41242 20206780.726 20206785.385 20206779.446
+ 361.643 281.800 56.000 50.000
+ -18107658.91743 -13922464.77642 21879770.718 21879776.558 21879769.147
+ -2740.160 -2135.190 54.000 47.000
+ -20167180.80043 -15685268.26142 22138769.576 22138777.040 22138767.788
+ -2317.883 -1806.142 50.000 44.000
+ -8694983.20643 -6760619.18642 23353504.561 23353511.213 23353502.982
+ -828.983 -645.961 48.000 41.000
+ -15949114.13443 -12416691.90542 22294051.698 22294057.811 22294050.823
+ 1728.872 1347.173 51.000 45.000
+ -20607850.95843 -16017166.25142 21416976.356 21416981.019 21416975.571
+ 946.279 737.360 56.000 48.000
+ -1845197.34543 -1415082.70042 24767899.838 24767912.522 24767896.818
+ 1452.232 1131.609 39.000 35.000
+ -1955174.38843 -1502740.84342 24644087.290 24644095.976 24644086.604
+ 703.154 547.912 44.000 36.000
+ -2864523.30543 -2200634.79042 24699474.177 24699481.394 24699473.469
+ -3035.480 -2365.309 44.000 37.000
+ -1032594.27043 -802168.61242 25251943.997 25251953.693 25251941.480
+ 952.730 742.387 45.000 38.000
+ 04 2 1 5 29 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18257743.30743 -13809792.71042 21577869.278 21577874.232 21577868.125
+ -680.181 -530.011 54.000 48.000
+ -23555520.56743 -18293117.09442 20204751.027 20204755.999 20204750.053
+ 349.602 272.417 56.000 50.000
+ -18025270.03543 -13858265.72542 21895448.192 21895454.225 21895446.730
+ -2751.824 -2144.278 53.000 47.000
+ -20097392.06143 -15630887.47242 22152050.351 22152056.858 22152048.757
+ -2334.355 -1818.978 50.000 44.000
+ -8669909.42743 -6741081.25742 23358274.635 23358283.303 23358273.126
+ -842.052 -656.144 48.000 42.000
+ -16000817.79143 -12456980.40842 22284213.168 22284218.839 22284210.952
+ 1718.409 1339.020 51.000 45.000
+ -20636204.29443 -16039259.78842 21411581.227 21411585.186 21411580.737
+ 944.343 735.852 56.000 48.000
+ -1888776.86843 -1449040.42142 24759604.234 24759619.341 24759605.998
+ 1453.510 1132.605 38.000 35.000
+ -1976021.03443 -1518984.95442 24640121.194 24640128.277 24640120.646
+ 687.134 535.429 44.000 37.000
+ -2773317.63843 -2129565.50942 24716828.753 24716836.271 24716827.891
+ -3044.276 -2372.163 41.000 36.000
+ -1061078.44343 -824363.91742 25246521.166 25246530.484 25246520.505
+ 946.245 737.334 45.000 37.000
+ 04 2 1 5 29 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18237246.42443 -13793821.13542 21581769.441 21581775.072 21581768.156
+ -685.448 -534.115 54.000 48.000
+ -23565809.48543 -18301134.43142 20202793.594 20202798.174 20202792.222
+ 337.050 262.636 56.000 50.000
+ -17942516.29443 -13793782.36042 21911195.747 21911201.362 21911194.369
+ -2764.121 -2153.860 53.000 46.000
+ -20027096.04943 -15576111.41442 22165427.137 22165433.255 22165425.887
+ -2351.247 -1832.140 50.000 44.000
+ -8644428.40943 -6721225.98742 23363123.138 23363131.785 23363122.873
+ -855.754 -666.821 48.000 41.000
+ -16052189.71643 -12497010.42642 22274436.534 22274442.676 22274435.002
+ 1707.179 1330.269 51.000 45.000
+ -20664483.69443 -16061295.70742 21406199.442 21406204.020 21406198.581
+ 941.729 733.815 56.000 48.000
+ -1932380.71043 -1483017.06042 24751307.452 24751322.247 24751307.553
+ 1453.741 1132.785 39.000 36.000
+ -1996368.67843 -1534840.28442 24636249.996 24636256.191 24636247.178
+ 670.305 522.316 45.000 37.000
+ -2681841.24143 -2058285.26242 24734236.913 24734243.417 24734235.287
+ -3053.876 -2379.644 42.000 35.000
+ -1089361.98543 -846402.88042 25241141.066 25241151.072 25241137.467
+ 939.713 732.244 43.000 37.000
+ 04 2 1 5 30 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18216593.72843 -13777728.14842 21585699.147 21585704.856 21585698.152
+ -691.038 -538.471 54.000 48.000
+ -23575725.17543 -18308860.95642 20200906.435 20200911.452 20200905.068
+ 324.138 252.575 56.000 50.000
+ -17859400.83143 -13729017.14042 21927012.578 21927018.376 21927011.295
+ -2776.593 -2163.579 54.000 47.000
+ -19956295.94743 -15520942.56242 22178900.517 22178906.332 22178898.389
+ -2368.452 -1845.547 51.000 44.000
+ -8618543.31243 -6701055.83442 23368047.221 23368055.511 23368048.105
+ -869.546 -677.568 47.000 41.000
+ -16103230.98143 -12536782.77242 22264723.834 22264730.040 22264722.551
+ 1695.747 1321.361 51.000 45.000
+ -20692688.87543 -16083273.79942 21400832.237 21400836.727 21400831.310
+ 938.765 731.505 56.000 49.000
+ -1976007.52043 -1517011.63642 24743011.556 24743018.307 24743007.913
+ 1454.615 1133.466 41.000 36.000
+ -2016218.33643 -1550307.60342 24632470.598 24632478.071 24632469.874
+ 653.382 509.129 43.000 37.000
+ -2590097.58843 -1986796.76942 24751693.592 24751704.286 24751694.144
+ -3062.045 -2386.009 42.000 35.000
+ -1117443.53743 -868284.35942 25235793.057 25235807.464 25235794.036
+ 932.662 726.750 40.000 35.000
+ 04 2 1 5 30 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18195786.15043 -13761514.49542 21589659.091 21589664.959 21589657.637
+ -695.982 -542.324 54.000 48.000
+ -23585270.74843 -18316299.06942 20199089.663 20199094.362 20199088.363
+ 312.264 243.323 56.000 50.000
+ -17775927.62843 -13663973.17542 21942897.207 21942903.188 21942895.552
+ -2788.179 -2172.607 54.000 47.000
+ -19884996.00343 -15465384.21242 22192468.761 22192474.691 22192467.540
+ -2384.777 -1858.268 51.000 44.000
+ -8592258.07543 -6680573.94542 23373050.366 23373057.747 23373050.365
+ -882.584 -687.728 47.000 41.000
+ -16153943.83143 -12576299.23042 22255073.960 22255079.468 22255071.941
+ 1685.131 1313.089 52.000 45.000
+ -20720820.55843 -16105194.61342 21395479.425 21395483.733 21395478.869
+ 936.748 729.934 56.000 49.000
+ -2019656.48643 -1551023.45842 24734700.107 24734711.338 24734703.182
+ 1455.616 1134.246 40.000 35.000
+ -2035572.13743 -1565388.44542 24628789.786 24628797.097 24628787.278
+ 636.888 496.276 44.000 37.000
+ -2498091.18343 -1915103.54242 24769203.496 24769214.435 24769203.509
+ -3071.397 -2393.296 42.000 35.000
+ -1145322.60843 -890008.15342 25230490.567 25230500.559 25230489.487
+ 925.475 721.149 42.000 35.000
+ 04 2 1 5 31 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18174854.01043 -13745203.77242 21593641.307 21593648.303 21593640.549
+ -700.823 -546.096 54.000 48.000
+ -23594478.84243 -18323474.22242 20197337.842 20197342.562 20197336.457
+ 300.321 234.016 56.000 50.000
+ -17692129.95143 -13598676.37442 21958843.384 21958849.071 21958841.440
+ -2799.610 -2181.514 54.000 47.000
+ -19813230.05243 -15409462.73342 22206124.705 22206131.317 22206123.017
+ -2401.006 -1870.914 51.000 44.000
+ -8565606.34343 -6659806.43042 23378122.074 23378132.416 23378121.090
+ -895.864 -698.076 47.000 41.000
+ -16204359.70843 -12615584.27842 22245479.672 22245485.486 22245477.742
+ 1674.507 1304.811 51.000 45.000
+ -20748908.97443 -16127081.70942 21390134.596 21390138.535 21390133.623
+ 934.555 728.225 56.000 49.000
+ -2063356.81543 -1585075.34142 24726383.534 24726396.823 24726382.127
+ 1456.782 1135.155 41.000 35.000
+ -2054461.68343 -1580107.59142 24625193.576 24625202.162 24625193.233
+ 620.822 483.757 45.000 37.000
+ -2405856.16743 -1843232.13042 24786758.671 24786764.599 24786755.173
+ -3079.578 -2399.671 44.000 35.000
+ -1173028.21243 -911596.83442 25225214.936 25225228.074 25225213.876
+ 919.555 716.536 39.000 35.000
+ 04 2 1 5 31 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18153723.15543 -13728738.20642 21597663.006 21597669.461 21597662.059
+ -706.268 -550.339 54.000 48.000
+ -23603277.47543 -18330330.30942 20195663.358 20195668.274 20195662.104
+ 287.668 224.157 56.000 50.000
+ -17607936.80143 -13533071.39742 21974864.312 21974870.593 21974862.809
+ -2811.800 -2191.013 53.000 47.000
+ -19740927.16043 -15353122.85942 22219882.195 22219890.874 22219880.999
+ -2417.817 -1884.013 49.000 44.000
+ -8538517.32643 -6638698.18542 23383277.864 23383285.736 23383277.637
+ -908.960 -708.280 48.000 41.000
+ -16254406.01243 -12654581.35942 22235956.415 22235962.489 22235954.826
+ 1663.177 1295.982 51.000 45.000
+ -20776879.90943 -16148877.25942 21384810.957 21384815.887 21384810.403
+ 931.578 725.905 56.000 49.000
+ -2107032.91843 -1619108.39842 24718072.105 24718084.538 24718073.211
+ 1456.803 1135.171 42.000 35.000
+ -2072813.84443 -1594408.00342 24621703.458 24621710.667 24621701.999
+ 604.230 470.829 46.000 38.000
+ -2313321.91443 -1771127.62342 24804365.530 24804371.497 24804363.033
+ -3087.913 -2406.166 42.000 34.000
+ -1200484.98543 -932991.56142 25219992.078 25220001.012 25219991.051
+ 912.790 711.265 43.000 35.000
+ 04 2 1 5 32 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18132440.82443 -13712154.60642 21601713.332 21601718.764 21601712.087
+ -712.092 -554.877 54.000 48.000
+ -23611716.25843 -18336905.98942 20194057.640 20194062.621 20194056.163
+ 275.105 214.368 56.000 50.000
+ -17523398.75043 -13467197.67142 21990952.344 21990957.512 21990950.205
+ -2823.760 -2200.332 54.000 47.000
+ -19668138.16143 -15296404.21242 22233735.179 22233742.091 22233733.702
+ -2434.592 -1897.085 50.000 44.000
+ -8511041.32143 -6617288.41442 23388507.131 23388513.968 23388504.706
+ -922.419 -718.768 48.000 41.000
+ -16304131.01343 -12693328.05942 22226493.831 22226499.844 22226492.772
+ 1651.945 1287.230 52.000 45.000
+ -20804780.24843 -16170617.79542 21379501.833 21379506.341 21379501.035
+ 928.613 723.595 56.000 49.000
+ -2150730.61243 -1653158.23342 24709759.479 24709769.159 24709757.302
+ 1456.562 1134.983 44.000 35.000
+ -2090677.64943 -1608327.85942 24618302.657 24618311.342 24618299.757
+ 587.150 457.519 44.000 38.000
+ -1698829.13442 24822022.855 24822027.642
+ -3096.643 -2412.968 41.000 32.000
+ -1227738.98143 -954228.34742 25214806.223 25214820.223 25214803.175
+ 905.254 705.393 41.000 34.000
+ 04 2 1 5 32 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18110998.02743 -13695445.95542 21605793.900 21605799.884 21605792.300
+ -717.566 -559.142 55.000 48.000
+ -23619788.31543 -18343195.91042 20192521.572 20192526.719 20192520.116
+ 262.635 204.651 56.000 50.000
+ -17438509.85343 -13401050.56942 22007106.304 22007111.820 22007104.529
+ -2835.752 -2209.677 54.000 47.000
+ -19594857.72143 -15239302.62242 22247679.667 22247686.681 22247677.685
+ -2451.138 -1909.978 50.000 44.000
+ -8483172.95543 -6595572.87442 23393808.694 23393817.282 23393809.807
+ -935.732 -729.142 47.000 41.000
+ -16353527.10643 -12731818.47842 22217094.463 22217099.975 22217092.379
+ 1640.686 1278.457 52.000 45.000
+ -20832601.01443 -16192296.31042 21374207.282 21374212.493 21374206.821
+ 925.733 721.350 56.000 49.000
+ -2194439.51543 -1687216.85242 24701439.454 24701450.735 24701438.460
+ 1456.817 1135.182 44.000 36.000
+ -2108045.26843 -1621861.05842 24614999.162 24615006.853 24614997.127
+ 570.378 444.450 46.000 39.000
+ -1626332.65142 24839728.044 24839736.340
+ -3105.740 -2420.057 40.000 32.000
+ -1254780.32143 -975299.37642 25209657.173 25209670.683 25209655.780
+ 897.840 699.616 38.000 34.000
+ 04 2 1 5 33 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18089393.02243 -13678610.91942 21609904.677 21609911.558 21609903.546
+ -722.841 -563.253 54.000 48.000
+ -23627494.32643 -18349200.59742 20191054.910 20191060.221 20191053.986
+ 250.706 195.355 56.000 50.000
+ -17353271.46843 -13334631.13042 22023325.817 22023331.932 22023324.712
+ -2847.029 -2218.464 53.000 46.000
+ -19521087.66143 -15181819.51642 22261718.208 22261724.485 22261716.339
+ -2467.243 -1922.527 50.000 44.000
+ -8454913.54543 -6573552.62742 23399187.150 23399196.240 23399186.771
+ -948.345 -738.970 48.000 41.000
+ -16402593.86043 -12770052.27142 22207757.148 22207762.879 22207755.304
+ 1630.062 1270.178 52.000 45.000
+ -20860340.26743 -16213911.30542 21368929.007 21368933.988 21368928.874
+ 923.277 719.437 56.000 49.000
+ -2238156.45543 -1721281.76442 24693121.108 24693131.792 24693118.704
+ 1457.156 1135.446 45.000 36.000
+ -2124916.40943 -1635007.41142 24611788.335 24611795.157 24611787.073
+ 554.208 431.850 46.000 39.000
+ -2034212.38643 -1553639.72142 24857477.743 24857486.345 24857475.158
+ -3114.142 -2426.604 38.000 32.000
+ -1281605.86943 -996202.28142 25204557.211 25204565.149 25204555.422
+ 890.184 693.650 40.000 34.000
+ 04 2 1 5 33 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -18067625.67943 -13661649.37442 21614047.059 21614053.443 21614045.930
+ -728.193 -567.423 54.000 48.000
+ -23634836.24943 -18354921.58242 20189658.044 20189662.968 20189656.837
+ 238.855 186.121 56.000 50.000
+ -17267686.35743 -13267941.53842 22039612.577 22039618.544 22039610.838
+ -2858.358 -2227.292 53.000 46.000
+ -19446831.22243 -15123957.41042 22275848.275 22275856.240 22275846.857
+ -2483.085 -1934.871 50.000 44.000
+ -8426266.06243 -6551229.98542 23404638.601 23404646.563 23404638.803
+ -961.190 -748.979 48.000 41.000
+ -16451332.22043 -12808030.17342 22198482.306 22198488.003 22198480.933
+ 1619.388 1261.861 52.000 45.000
+ -20887997.59743 -16235462.46642 21363666.394 21363670.874 21363665.163
+ 920.709 717.436 56.000 49.000
+ -2281879.69043 -1755351.58442 24684801.575 24684810.077 24684798.659
+ 1457.705 1135.874 46.000 36.000
+ -2141291.86143 -1647767.44042 24608671.771 24608679.932 24608669.634
+ 537.816 419.077 47.000 39.000
+ -1308213.84843 -1016935.69542 25199492.820 25199503.588 25199490.283
+ 883.031 688.076 39.000 33.000
+ 04 2 1 5 34 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -18045693.84643 -13644559.66242 21618220.126 21618226.608 21618219.171
+ -733.858 -571.837 54.000 48.000
+ -23641814.37443 -18360359.08842 20188329.675 20188335.284 20188328.818
+ 226.451 176.455 56.000 50.000
+ -17181755.92143 -13200982.85342 22055964.821 22055970.844 22055963.327
+ -2870.089 -2236.433 53.000 47.000
+ -19372089.87443 -15065717.46342 22290070.845 22290078.288 22290070.229
+ -2499.503 -1947.665 50.000 44.000
+ -8397231.89843 -6528606.04342 23410163.761 23410171.759 23410162.764
+ -974.340 -759.226 48.000 41.000
+ -16499741.54543 -12845751.69242 22189270.070 22189276.434 22189268.669
+ 1608.006 1252.992 52.000 45.000
+ -20915570.70143 -16256947.99742 21358419.377 21358423.842 21358418.458
+ 917.561 714.983 56.000 49.000
+ -2325605.86843 -1789423.67842 24676477.927 24676489.473 24676477.886
+ 1457.397 1135.634 43.000 37.000
+ -2157170.91643 -1660140.76742 24605650.043 24605657.884 24605648.330
+ 520.874 405.876 47.000 39.000
+ -1334601.30643 -1037497.19242 25194469.854 25194480.842 25194468.706
+ 875.920 682.535 39.000 34.000
+ 04 2 1 5 34 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -18023599.02743 -13627342.94342 21622425.597 21622431.412 21622424.563
+ -739.398 -576.154 54.000 48.000
+ -23648432.24443 -18365515.87542 20187071.024 20187075.902 20187069.759
+ 214.319 167.002 56.000 50.000
+ -17095484.54743 -13133758.49242 22072381.597 22072387.381 22072380.185
+ -2881.394 -2245.242 53.000 47.000
+ -19296868.70643 -15007103.62742 22304384.832 22304392.452 22304383.481
+ -2515.457 -1960.096 50.000 44.000
+ -8367815.80043 -6505684.50642 23415760.869 23415769.537 23415760.200
+ -986.985 -769.079 47.000 41.000
+ -16547824.66743 -12883219.00842 22180120.577 22180126.275 22180119.475
+ 1597.304 1244.652 51.000 45.000
+ -20943060.75443 -16278368.80142 21353188.363 21353192.619 21353187.425
+ 914.753 712.795 56.000 49.000
+ -2369334.96543 -1823498.02642 24668158.402 24668168.247 24668156.314
+ 1457.486 1135.703 43.000 36.000
+ -2172556.71243 -1672129.72042 24602721.219 24602728.720 24602720.630
+ 504.463 393.088 45.000 38.000
+ -1360768.24243 -1057886.98542 25189493.010 25189503.223 25189491.015
+ 868.405 676.679 43.000 35.000
+ 04 2 1 5 35 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18001339.24143 -13609997.67042 21626661.532 21626667.607 21626659.855
+ -744.803 -580.366 54.000 48.000
+ -23654690.42243 -18370392.38542 20185879.550 20185884.766 20185878.905
+ 202.618 157.884 56.000 50.000
+ -17008873.73243 -13066269.63142 22088863.284 22088869.282 22088862.221
+ -2892.726 -2254.072 53.000 46.000
+ -19221169.12243 -14948116.99742 22318790.483 22318797.556 22318788.850
+ -2531.236 -1972.392 50.000 44.000
+ -8338019.17643 -6482466.44542 23421431.837 23421440.030 23421430.659
+ -999.452 -778.794 48.000 41.000
+ -16595581.01543 -12920431.70642 22171032.318 22171038.587 22171031.219
+ 1586.491 1236.227 51.000 45.000
+ -20970465.79243 -16299723.36542 21347973.227 21347977.571 21347972.280
+ 912.114 710.738 56.000 49.000
+ -2413063.54343 -1857571.97542 24659837.555 24659847.489 24659835.730
+ 1457.578 1135.775 41.000 36.000
+ -2187448.77243 -1683733.91342 24599887.138 24599893.737 24599887.697
+ 488.225 380.435 45.000 38.000
+ 24928958.135
+ -3146.560 -2451.865 42.000
+ -1386711.48643 -1078102.38942 25184553.728 25184565.467 25184553.267
+ 861.228 671.087 41.000 35.000
+ 04 2 1 5 35 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17978912.51943 -13592522.32742 21630929.207 21630934.851 21630927.535
+ -749.855 -584.302 54.000 48.000
+ -23660589.05343 -18374988.72842 20184757.151 20184762.437 20184755.988
+ 191.080 148.894 56.000 50.000
+ -16921924.48843 -12998517.06242 22105409.348 22105415.026 22105407.743
+ -2903.434 -2262.416 53.000 46.000
+ -19144992.77343 -14888758.85942 22333286.860 22333291.790 22333285.362
+ -2546.694 -1984.437 51.000 44.000
+ -8307843.51943 -6458953.04042 23427175.331 23427182.032 23427175.389
+ -1011.635 -788.287 49.000 42.000
+ -16643009.78243 -12957389.14542 22162006.952 22162012.417 22162005.905
+ 1575.863 1227.945 52.000 45.000
+ -20997783.44543 -16321009.83842 21342774.726 21342778.946 21342773.922
+ 909.584 708.767 56.000 49.000
+ -2456788.28543 -1891642.94442 24651515.268 24651526.708 24651513.872
+ 1457.802 1135.950 39.000 35.000
+ -2201846.47843 -1694952.89942 24597145.911 24597156.048 24597145.552
+ 472.021 367.809 43.000 37.000
+ -636897.67653 -514932.73252 24946940.883 24946946.706 24946937.835
+ -3154.278 -2457.879 41.000 32.000
+ -1412427.73043 -1098140.85942 25179658.420 25179671.690 25179658.771
+ 854.085 665.521 41.000 34.000
+ 04 2 1 5 36 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17956320.17643 -13574917.91942 21635227.605 21635234.419 21635226.322
+ -756.322 -589.342 54.000 48.000
+ -23666131.68843 -18379307.66142 20183702.158 20183707.480 20183701.188
+ 178.422 139.030 56.000 50.000
+ -16834641.35243 -12930504.31242 22122019.358 22122025.046 22122017.501
+ -2915.367 -2271.714 53.000 46.000
+ -19068344.60443 -14829033.05742 22347871.611 22347878.602 22347870.271
+ -2563.271 -1997.354 50.000 44.000
+ -8277293.42843 -6435147.86742 23432988.373 23432995.283 23432986.460
+ -1024.980 -798.686 48.000 41.000
+ -16690113.68643 -12994093.44642 22153042.019 22153049.636 22153041.421
+ 1564.345 1218.970 51.000 45.000
+ -21025014.84043 -16342229.09542 21337592.603 21337597.180 21337591.796
+ 905.915 705.908 56.000 49.000
+ -2500508.79943 -1925710.64542 24643194.625 24643204.875 24643193.954
+ 1457.079 1135.386 40.000 35.000
+ -2215752.53743 -1705788.76342 24594499.133 24594511.145 24594499.463
+ 454.757 354.356 44.000 38.000
+ -441107.89242 24964969.854 24964971.630
+ -3162.675 -2464.422 39.000 31.000
+ -1437917.35743 -1118002.88442 25174808.978 25174819.126 25174807.753
+ 845.467 658.805 40.000 34.000
+ 04 2 1 5 36 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17933554.87643 -13557178.75742 21639560.062 21639566.510 21639559.125
+ -761.500 -593.377 54.000 48.000
+ -23671313.65143 -18383345.55742 20182716.685 20182721.394 20182715.478
+ 167.038 130.159 56.000 50.000
+ -16747020.26143 -12862228.22742 22138692.631 22138698.799 22138690.744
+ -2926.040 -2280.031 53.000 46.000
+ -18991220.88843 -14768936.71942 22362548.980 22362554.599 22362546.659
+ -2578.476 -2009.202 51.000 44.000
+ -8246364.91043 -6411047.80542 23438872.846 23438880.244 23438871.867
+ -1036.965 -808.025 47.000 41.000
+ -16736887.03543 -13030540.16242 22144142.664 22144149.607 22144141.856
+ 1553.812 1210.763 52.000 46.000
+ -21052152.57343 -16363375.38042 21332428.606 21332433.192 21332427.765
+ 903.245 703.827 56.000 49.000
+ -2544216.48543 -1959768.42642 24634874.865 24634885.438 24634874.777
+ 1457.513 1135.724 38.000 34.000
+ -2229161.10843 -1716236.99842 24591949.696 24591957.633 24591948.742
+ 438.992 342.072 45.000 39.000
+ -367097.65042 24983042.619 24983047.156
+ -3169.902 -2470.053 38.000 31.000
+ -1463172.04343 -1137681.67142 25170004.574 25170016.335 25170003.563
+ 838.218 653.157 41.000 35.000
+ 04 2 1 5 37 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17910623.82243 -13539310.42242 21643923.673 21643929.792 21643922.630
+ -766.690 -597.421 54.000 47.000
+ -23676144.39643 -18387109.77342 20181797.156 20181802.227 20181795.927
+ 155.598 121.245 56.000 50.000
+ -16659071.59743 -12793696.89242 22155428.157 22155434.532 22155426.667
+ -2936.585 -2288.248 53.000 46.000
+ -18913632.41443 -14708478.22542 22377312.969 22377320.131 22377312.910
+ -2593.479 -2020.893 50.000 44.000
+ -8215068.68143 -6386661.21142 23444828.803 23444836.709 23444829.033
+ -1048.790 -817.239 48.000 41.000
+ -16783338.32943 -13066735.93342 22135302.370 22135309.805 22135301.843
+ 1543.428 1202.671 51.000 45.000
+ -21079203.44843 -16384453.98742 21327281.348 21327285.365 21327280.273
+ 900.695 701.840 56.000 49.000
+ -2587917.08853 -1993820.64852 24626563.012 24626574.371 24626562.395
+ 1456.518 1134.949 39.000 34.000
+ -2242081.09943 -1726304.52742 24589490.246 24589499.732 24589490.960
+ 422.758 329.422 45.000 39.000
+ 25001158.724
+ -3176.775 -2475.409 39.000
+ -1488197.55443 -1157181.91042 25165239.713 25165254.262 25165238.284
+ 830.618 647.235 41.000 36.000
+ 04 2 1 5 37 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17887519.60943 -13521307.16342 21648319.863 21648326.763 21648319.041
+ -772.640 -602.057 54.000 47.000
+ -23680618.75343 -18390596.27742 20180945.461 20180950.799 20180944.605
+ 143.601 111.897 55.000 50.000
+ -16570791.37743 -12724907.19142 22172228.011 22172234.047 22172226.029
+ -2947.670 -2296.886 53.000 46.000
+ -18835575.60143 -14647654.78942 22392167.420 22392174.766 22392165.685
+ -2609.231 -2033.167 51.000 44.000
+ -8183400.79343 -6361985.01942 23450855.093 23450862.550 23450855.400
+ -1061.354 -827.029 48.000 41.000
+ -16829461.60543 -13102676.10342 22126527.542 22126532.346 22126525.104
+ 1532.455 1194.121 52.000 46.000
+ -21106160.01143 -16405459.10242 21322151.631 21322155.798 21322150.538
+ 897.395 699.269 56.000 49.000
+ -2631602.04043 -2027860.68142 24618250.602 24618260.489 24618246.756
+ 1456.560 1134.982 39.000 34.000
+ -2254506.40343 -1735986.57742 24587126.385 24587136.102 24587126.905
+ 406.363 316.646 44.000 38.000
+ -256530.93253 -218543.25852 25019321.690 25019328.218 25019317.383
+ -3184.925 -2481.760 38.000 32.000
+ -1512985.53843 -1176497.06742 25160522.935 25160534.229 25160524.182
+ 822.754 641.107 43.000 35.000
+ 04 2 1 5 38 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17864248.19943 -13503173.61642 21652748.881 21652754.402 21652747.822
+ -778.775 -606.838 54.000 47.000
+ -23684745.20643 -18393811.69642 20180160.727 20180165.704 20180159.128
+ 131.464 102.439 56.000 50.000
+ -16482188.70643 -12655866.24942 22189088.079 22189094.527 22189087.314
+ -2958.963 -2305.685 53.000 46.000
+ -18757059.92743 -14586473.81642 22407107.555 22407115.244 22407106.350
+ -2625.052 -2045.495 50.000 44.000
+ -8151370.55343 -6337026.48342 23456950.594 23456958.744 23456949.988
+ -1073.828 -836.749 47.000 41.000
+ -16875264.25043 -13138366.42942 22117810.827 22117816.451 22117808.996
+ 1521.215 1185.362 52.000 46.000
+ -21133027.71043 -16426394.98542 21317038.330 21317042.999 21317037.913
+ 893.794 696.463 56.000 49.000
+ -2675275.58143 -2061891.86542 24609937.397 24609948.365 24609936.368
+ 1455.242 1133.955 39.000 34.000
+ -2266444.80843 -1745289.24242 24584853.985 24584861.524 24584853.239
+ 389.737 303.691 43.000 37.000
+ 25037525.214
+ -3192.708 -2487.824 38.000
+ -1537540.59443 -1195630.74842 25155852.021 25155862.212 25155851.225
+ 814.104 634.367 44.000 36.000
+ 04 2 1 5 38 30.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17840802.62343 -13484904.36842 21657210.845 21657216.812 21657209.216
+ -784.716 -611.467 54.000 48.000
+ -23688519.04443 -18396752.34242 20179442.177 20179447.658 20179441.427
+ 119.554 93.159 56.000 50.000
+ -16393260.02843 -12586571.26942 22206011.116 22206017.156 22206009.369
+ -2969.837 -2314.159 53.000 46.000
+ -18678082.01643 -14524932.63542 22422136.770 22422143.959 22422134.865
+ -2640.674 -2057.668 50.000 44.000
+ -8118974.47243 -6311782.84142 23463116.586 23463123.550 23463116.183
+ -1086.003 -846.236 49.000 41.000
+ -16920740.78143 -13173802.63342 22109157.303 22109161.867 22109154.841
+ 1510.114 1176.712 52.000 46.000
+ -21159799.53643 -16447256.15542 21311943.937 21311948.721 21311943.358
+ 890.459 693.864 56.000 49.000
+ -2718929.38643 -2095907.63542 24601632.431 24601639.575 24601626.204
+ 1454.613 1133.465 41.000 35.000
+ -2277891.03443 -1754208.34542 24582677.441 24582683.241 24582677.413
+ 373.026 290.670 43.000 37.000
+ -69288.74842 25055772.987 25055776.605
+ -3200.739 -2494.082 40.000 31.000
+ -1561854.76143 -1214576.65242 25151225.048 25151235.921 25151224.920
+ 805.953 628.015 44.000 34.000
+ 04 2 1 5 39 0.0000000 0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17817183.73943 -13466500.07342 21661704.424 21661711.185 21661703.203
+ -790.335 -615.845 54.000 47.000
+ -23691943.33043 -18399420.61542 20178790.816 20178796.047 20178789.884
+ 108.005 84.160 56.000 50.000
+ -16304009.25943 -12517025.30542 22222994.837 22223001.412 22222993.682
+ -2980.648 -2322.583 53.000 46.000
+ -18598646.38343 -14463034.79442 22437253.517 22437260.365 22437251.610
+ -2655.836 -2069.482 50.000 44.000
+ -8086216.82143 -6286257.49242 23469349.195 23469358.389 23469348.363
+ -1098.179 -855.724 48.000 41.000
+ -16965893.27443 -13208986.34542 22100564.372 22100570.229 22100561.702
+ 1499.463 1168.413 52.000 45.000
+ -21186475.95043 -16468042.98542 21306867.943 21306872.569 21306867.218
+ 887.429 691.503 56.000 49.000
+ -2762562.67343 -2129907.34842 24593326.669 24593338.243 24593325.207
+ 1453.632 1132.700 41.000 36.000
+ -2288847.47943 -1762745.80242 24580592.787 24580601.306 24580591.135
+ 357.065 278.232 44.000 38.000
+ 5597.85342 25074060.088 25074068.281
+ -3207.610 -2499.436 37.000 32.000
+ -1585927.64043 -1233334.63842 25146642.641 25146647.501 25146640.175
+ 797.893 621.735 41.000 34.000
+ 04 2 1 5 39 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17793389.63743 -13447959.25242 21666232.990 21666238.881 21666231.796
+ -795.766 -620.077 54.000 47.000
+ -23695018.56743 -18401816.89842 20178205.487 20178210.654 20178204.455
+ 97.103 75.665 56.000 50.000
+ -16214437.92743 -12447229.57342 22240040.151 22240046.473 22240038.799
+ -2990.622 -2330.355 52.000 46.000
+ -18518754.83443 -14400781.70642 22452456.488 22452464.413 22452454.426
+ -2670.196 -2080.672 50.000 44.000
+ -8053099.27143 -6260451.69342 23475650.915 23475658.910 23475649.878
+ -1109.573 -864.602 47.000 41.000
+ -17010721.58443 -13243917.45542 22092034.029 22092039.579 22092032.358
+ 1489.326 1160.514 52.000 45.000
+ -21213054.77943 -16488753.78542 21301810.020 21301814.337 21301809.202
+ 884.684 689.364 56.000 49.000
+ -2806172.24043 -2163888.64142 24585030.075 24585040.183 24585026.903
+ 1453.351 1132.481 42.000 37.000
+ -2299313.60843 -1770901.20442 24578599.001 24578608.982 24578599.630
+ 340.793 265.553 44.000 38.000
+ -1609756.29343 -1251902.28442 25142107.634 25142121.126 25142103.362
+ 790.138 615.692 39.000 34.000
+ 04 2 1 5 40 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17769420.50143 -13429282.02742 21670793.400 21670800.198 21670792.609
+ -801.846 -624.815 54.000 47.000
+ -23697747.50543 -18403943.34142 20177685.956 20177691.284 20177685.142
+ 85.257 66.434 56.000 50.000
+ -16124549.57043 -12377186.80542 22257144.799 22257151.705 22257143.423
+ -3001.356 -2338.719 52.000 46.000
+ -18438411.42043 -14338176.51242 22467744.480 22467752.338 22467743.267
+ -2685.412 -2092.529 49.000 44.000
+ -8019625.45543 -6234368.26542 23482021.142 23482027.359 23482018.358
+ -1121.538 -873.926 48.000 41.000
+ -17055227.32643 -13278597.21042 22083564.978 22083570.759 22083563.045
+ 1478.185 1151.832 52.000 46.000
+ -21239535.98843 -16509388.50442 21296770.917 21296775.059 21296770.436
+ 881.139 686.602 56.000 49.000
+ -2849756.85643 -2197850.46642 24576735.748 24576746.117 24576732.944
+ 1452.640 1131.927 42.000 37.000
+ -2309291.54543 -1778676.26042 24576702.857 24576712.199 24576701.668
+ 324.619 252.950 45.000 38.000
+ -1633339.92743 -1270278.98642 25137623.589 25137630.457 25137622.462
+ 782.206 609.511 42.000 35.000
+ 04 2 1 5 40 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17745274.62443 -13410467.09142 21675389.003 21675394.717 21675387.716
+ -807.798 -629.453 54.000 47.000
+ -23700130.90443 -18405800.53142 20177232.161 20177237.675 20177231.366
+ 73.729 57.451 56.000 50.000
+ -16034345.58943 -12306898.09242 22274309.783 22274317.162 22274308.329
+ -3011.967 -2346.987 52.000 46.000
+ -18357618.21043 -14275220.83742 22483119.104 22483126.428 22483117.073
+ -2700.474 -2104.265 49.000 44.000
+ -7985797.22843 -6208008.68042 23488458.535 23488466.966 23488457.860
+ -1132.925 -882.799 48.000 41.000
+ -17099410.37343 -13313025.51442 22075156.456 22075162.031 22075155.352
+ 1467.425 1143.448 52.000 46.000
+ -21265917.57343 -16529945.59842 21291750.761 21291754.885 21291750.157
+ 877.708 683.928 56.000 49.000
+ -2893313.41443 -2231790.36442 24568446.987 24568456.231 24568445.311
+ 1451.637 1131.146 43.000 38.000
+ -2318781.21543 -1786070.80442 24574898.407 24574906.291 24574896.349
+ 308.355 240.277 46.000 39.000
+ -1656675.65843 -1288462.42642 25133181.965 25133190.435 25133178.324
+ 773.742 602.916 39.000 35.000
+ 04 2 1 5 41 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17720951.17443 -13391513.78142 21680017.234 21680023.557 21680016.138
+ -813.849 -634.168 54.000 47.000
+ -23702170.22143 -18407389.61942 20176844.304 20176849.612 20176843.438
+ 62.169 48.443 56.000 50.000
+ -15943828.68343 -12236365.54542 22291535.034 22291541.786 22291533.851
+ -3022.455 -2355.160 52.000 46.000
+ -18276377.88043 -14211916.74742 22498579.292 22498586.057 22498577.450
+ -2715.496 -2115.971 50.000 44.000
+ -7951617.18543 -6181374.97542 23494961.232 23494969.423 23494961.494
+ -1145.130 -892.309 47.000 41.000
+ -17143271.50743 -13347202.98442 22066809.615 22066816.192 22066808.591
+ 1456.614 1135.024 52.000 46.000
+ -21292198.48343 -16550424.23942 21286749.490 21286754.237 21286748.638
+ 874.174 681.175 56.000 49.000
+ -2936839.45943 -2265706.53742 24560161.022 24560174.940 24560161.636
+ 1450.138 1129.978 42.000 38.000
+ -2327783.49443 -1793085.57842 24573183.352 24573191.880 24573181.179
+ 292.040 227.564 44.000 38.000
+ -1679761.51953 -1306451.29852 25128786.727 25128797.381 25128784.171
+ 765.503 596.496 39.000 34.000
+ 04 2 1 5 41 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17696449.57443 -13372421.65542 21684679.733 21684685.772 21684678.760
+ -819.466 -638.545 54.000 47.000
+ -23703867.27643 -18408711.99342 20176522.305 20176526.592 20176520.789
+ 51.095 39.814 56.000 50.000
+ -15853001.47543 -12165591.21142 22308819.396 22308825.848 22308817.517
+ -3032.524 -2363.006 52.000 46.000
+ -18194693.72743 -14148266.82542 22514122.152 22514130.484 22514120.637
+ -2729.817 -2127.130 49.000 43.000
+ -7917088.35343 -6154469.46042 23501533.610 23501541.968 23501532.824
+ -1156.621 -901.263 47.000 41.000
+ -17186811.47943 -13381130.19042 22058525.502 22058530.677 22058523.574
+ 1446.170 1126.886 53.000 46.000
+ -21318377.70543 -16570823.63542 21281767.591 21281772.026 21281767.028
+ 871.127 678.800 56.000 49.000
+ -2980333.08843 -2299597.47242 24551887.084 24551898.212 24551884.618
+ 1449.410 1129.410 44.000 38.000
+ -2336299.43743 -1799721.33842 24571561.872 24571571.304 24571560.285
+ 275.374 214.577 44.000 38.000
+ -1702595.96643 -1324244.17042 25124440.143 25124453.602 25124441.831
+ 756.931 589.816 40.000 36.000
+ 04 2 1 5 42 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17671765.62843 -13353187.44342 21689377.681 21689383.646 21689375.950
+ -825.937 -643.587 54.000 47.000
+ -23705220.37943 -18409766.36242 20176264.005 20176269.657 20176263.066
+ 39.328 30.645 56.000 50.000
+ -15761863.28843 -12094574.55442 22326162.392 22326168.671 22326160.912
+ -3043.142 -2371.279 52.000 46.000
+ -18112565.31343 -14084270.73242 22529751.998 22529759.441 22529750.171
+ -2745.143 -2139.072 49.000 44.000
+ -7882210.29043 -6127291.82842 23508170.331 23508178.997 23508169.330
+ -1168.686 -910.664 48.000 41.000
+ -17230027.60543 -13414805.05742 22050300.411 22050306.724 22050299.590
+ 1435.058 1118.227 52.000 46.000
+ -21344450.82343 -16591140.36042 21276806.086 21276810.394 21276805.207
+ 867.178 675.723 56.000 49.000
+ -3023788.57943 -2333458.70842 24543616.393 24543627.575 24543615.042
+ 1447.787 1128.146 44.000 38.000
+ -2344327.02043 -1805976.59042 24570035.443 24570041.945 24570033.053
+ 259.434 202.156 44.000 38.000
+ -1725173.71843 -1341837.15942 25120144.871 25120155.447 25120142.568
+ 748.196 583.010 41.000 36.000
+ 04 2 1 5 42 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17646905.35043 -13333815.82642 21694107.781 21694114.232 21694106.421
+ -831.666 -648.051 54.000 47.000
+ -23706237.99343 -18410559.30642 20176070.484 20176075.809 20176069.274
+ 28.323 22.070 56.000 50.000
+ -15670423.33243 -12023322.75442 22343563.064 22343568.096 22343561.511
+ -3053.046 -2378.997 52.000 45.000
+ -18030002.54643 -14019936.16742 22545461.753 22545470.015 22545461.035
+ -2759.347 -2150.140 49.000 43.000
+ -7846992.42143 -6099849.40642 23514871.808 23514880.533 23514871.567
+ -1179.608 -919.175 48.000 42.000
+ -17272927.66943 -13448233.63342 22042138.125 22042143.403 22042136.251
+ 1424.699 1110.155 52.000 46.000
+ -21370423.72143 -16611378.98642 21271863.800 21271868.097 21271863.077
+ 864.109 673.332 56.000 49.000
+ -3067210.70943 -2367293.93742 24535351.904 24535363.303 24535351.855
+ 1446.865 1127.427 42.000 38.000
+ -2351874.09943 -1811857.40742 24568597.724 24568609.648 24568598.383
+ 243.608 189.824 44.000 38.000
+ -1747499.79443 -1359233.98242 25115897.076 25115908.011 25115896.471
+ 740.045 576.658 43.000 37.000
+ 04 2 1 5 43 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17621859.43043 -13314299.56642 21698874.020 21698880.570 21698873.001
+ -838.137 -653.094 54.000 47.000
+ -23706913.08743 -18411085.35842 20175941.979 20175947.435 20175940.907
+ 16.687 13.003 56.000 50.000
+ -15578675.71343 -11951831.21642 22361022.174 22361028.646 22361020.678
+ -3063.388 -2387.055 52.000 45.000
+ -17946999.62043 -13955258.62242 22561258.637 22561263.859 22561256.221
+ -2774.285 -2161.780 50.000 43.000
+ -7811429.01343 -6072137.75342 23521639.616 23521646.745 23521637.425
+ -1191.178 -928.191 48.000 41.000
+ -17315503.84443 -13481409.84042 22034035.158 22034041.449 22034033.805
+ 1413.720 1101.600 52.000 46.000
+ -21396286.29443 -16631531.65042 21266942.304 21266946.401 21266941.533
+ 860.201 670.286 56.000 49.000
+ -3110588.42143 -2401094.56542 24527099.140 24527110.914 24527097.765
+ 1445.120 1126.068 42.000 37.000
+ -2358932.65243 -1817357.62642 24567253.669 24567264.351 24567253.134
+ 227.326 177.137 43.000 37.000
+ -1769563.67743 -1376426.44942 25111694.994 25111709.412 25111695.952
+ 731.301 569.845 41.000 36.000
+ 04 2 1 5 43 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17596633.03743 -13294642.66942 21703675.136 21703680.520 21703673.900
+ -843.701 -657.429 54.000 47.000
+ -23707253.24843 -18411350.42342 20175877.349 20175882.534 20175876.339
+ 5.854 4.562 56.000 50.000
+ -15486628.99843 -11880106.61342 22378538.249 22378544.450 22378536.733
+ -3073.022 -2394.562 53.000 46.000
+ -17863565.38943 -13890245.00842 22577134.906 22577141.846 22577132.792
+ -2788.200 -2172.623 49.000 43.000
+ -7775528.74143 -6044163.56242 23528473.000 23528479.163 23528471.386
+ -1202.180 -936.764 49.000 41.000
+ -17357762.76543 -13514338.82942 22025993.984 22025999.768 22025993.020
+ 1403.395 1093.555 53.000 46.000
+ -21422043.78943 -16651602.42742 21262040.725 21262045.242 21262039.702
+ 856.812 667.646 56.000 49.000
+ -3153925.53843 -2434863.53642 24518853.660 24518863.424 24518851.834
+ 1443.810 1125.047 44.000 38.000
+ -2365509.79543 -1822482.62842 24566003.707 24566011.190 24566002.088
+ 210.944 164.372 44.000 37.000
+ -1791369.53143 -1393417.95742 25107546.783 25107560.375 25107547.942
+ 722.106 562.680 40.000 35.000
+ 04 2 1 5 44 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17571225.53243 -13274844.64442 21708509.631 21708515.294 21708508.128
+ -850.385 -662.638 54.000 47.000
+ -23707260.41843 -18411356.01242 20175875.777 20175881.138 20175874.878
+ -5.756 -4.485 56.000 50.000
+ -15394285.73943 -11808150.92542 22396110.508 22396116.995 22396108.966
+ -3083.433 -2402.675 53.000 46.000
+ -17779703.17643 -13824897.90242 22593093.766 22593099.608 22593092.755
+ -2802.765 -2183.973 50.000 44.000
+ -7739294.48443 -6015929.16142 23535366.691 23535372.977 23535366.896
+ -1213.836 -945.846 48.000 40.000
+ -17399705.39343 -13547021.36442 22018012.230 22018017.973 22018010.696
+ 1392.480 1085.049 52.000 46.000
+ -21447694.89443 -16671590.30242 21257159.508 21257164.110 21257158.719
+ 852.800 664.519 56.000 49.000
+ -3197219.87243 -2468599.16942 24510614.456 24510623.537 24510613.333
+ 1442.012 1123.646 44.000 38.000
+ -2371607.13443 -1827233.82042 24564842.672 24564851.536 24564841.925
+ 194.466 151.532 43.000 36.000
+ -1812915.60643 -1410206.93242 25103446.578 25103460.584 25103447.163
+ 713.442 555.929 40.000 35.000
+ 04 2 1 5 44 30.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17545632.05743 -13254901.70642 21713379.645 21713386.223 21713378.659
+ -856.636 -667.508 54.000 47.000
+ -23706931.89243 -18411100.02142 20175938.386 20175943.483 20175937.407
+ -16.847 -13.127 56.000 50.000
+ -15301644.52043 -11735963.07242 22413740.122 22413745.945 22413738.083
+ -3093.426 -2410.462 53.000 45.000
+ -17695411.79643 -13759216.35442 22609134.131 22609141.399 22609131.819
+ -2817.315 -2195.310 50.000 44.000
+ -7702725.12343 -5987433.62142 23542325.127 23542333.740 23542325.119
+ -1224.918 -954.481 47.000 40.000
+ -17441328.39343 -13579454.82542 22010091.288 22010097.923 22010090.221
+ 1381.710 1076.657 52.000 46.000
+ -21473234.42143 -16691491.23942 21252299.191 21252303.923 21252298.662
+ 849.032 661.583 56.000 49.000
+ -3240464.93143 -2502296.42842 24502383.335 24502394.507 24502382.601
+ 1440.118 1122.170 45.000 38.000
+ -2377221.35243 -1831608.55842 24563773.607 24563782.520 24563772.760
+ 178.864 139.375 42.000 36.000
+ -1834196.20243 -1426789.04642 25099399.869 25099408.510 25099396.956
+ 704.411 548.892 41.000 34.000
+ 04 2 1 5 45 0.0000000 0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17519848.91143 -13234810.97742 21718285.818 21718292.637 21718284.442
+ -862.015 -671.700 54.000 47.000
+ -23706266.74643 -18410581.73642 20176064.645 20176069.874 20176063.738
+ -27.137 -21.146 56.000 50.000
+ -15208705.01143 -11663542.78442 22431426.205 22431431.737 22431423.995
+ -3102.364 -2417.426 53.000 45.000
+ -17610691.38643 -13693200.50642 22625255.950 22625262.820 22625253.427
+ -2830.514 -2205.595 50.000 43.000
+ -7665820.38243 -5958676.78142 23549348.571 23549355.787 23549347.702
+ -1235.152 -962.456 47.000 40.000
+ -17482629.96543 -13611637.83242 22002231.877 22002237.428 22002230.438
+ 1371.928 1069.035 52.000 46.000
+ -21498658.72043 -16711302.38542 21247461.463 21247466.198 21247460.706
+ 846.163 659.348 56.000 49.000
+ -3283655.79643 -2535951.45142 24494165.492 24494175.317 24494163.872
+ 1439.343 1121.566 46.000 38.000
+ -2382350.71943 -1835605.50742 24562798.866 24562807.892 24562798.621
+ 163.351 127.286 43.000 37.000
+ -1855206.63143 -1443160.75742 25095400.385 25095412.968 25095397.875
+ 696.354 542.614 38.000 33.000
+ 04 2 1 5 45 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17493885.53543 -13214579.80042 21723226.810 21723233.208 21723225.272
+ -869.565 -677.583 54.000 47.000
+ -23705276.60643 -18409810.20242 20176253.561 20176258.857 20176252.641
+ -39.598 -30.855 56.000 50.000
+ -15115480.01243 -11590900.03242 22449165.379 22449172.027 22449164.684
+ -3113.376 -2426.007 52.000 45.000
+ -17525555.05743 -13626860.57142 22641456.311 22641462.540 22641455.198
+ -2845.984 -2217.650 49.000 43.000
+ -7628593.41243 -5929668.82242 23556431.423 23556439.790 23556432.734
+ -1247.414 -972.011 47.000 41.000
+ -17523620.82443 -13643578.70842 21994431.627 21994437.768 21994430.326
+ 1360.031 1059.764 52.000 46.000
+ -21523976.60043 -16731030.60442 21242643.578 21242647.769 21242643.148
+ 840.946 655.283 56.000 49.000
+ -950393.71253 -685571.10852 24663321.323 24663330.590 24663319.056
+ 3833.232 2986.934 44.000 35.000
+ -3326800.26143 -2569570.33342 24485954.299 24485964.299 24485952.781
+ 1436.114 1119.050 46.000 37.000
+ -2387006.73143 -1839233.56042 24561912.241 24561918.656 24561910.754
+ 145.954 113.730 43.000 36.000
+ -1875954.96053 -1459328.25052 25091448.739 25091464.420 25091452.120
+ 686.893 535.241 35.000 33.000
+ 04 2 1 5 46 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17467732.93543 -13194201.18942 21728203.347 21728209.896 21728201.691
+ -874.833 -681.688 54.000 47.000
+ -23703955.12443 -18408780.48642 20176504.845 20176510.315 20176503.748
+ -49.372 -38.472 56.000 50.000
+ -15021963.91443 -11518030.46542 22466960.360 22466968.702 22466959.755
+ -3121.918 -2432.663 51.000 44.000
+ -17439997.95443 -13560192.77142 22657736.893 22657744.498 22657734.508
+ -2858.616 -2227.493 48.000 42.000
+ -7591038.83143 -5900405.60742 23563579.277 23563588.181 23563578.095
+ -1257.269 -979.690 48.000 41.000
+ -17564293.73843 -13675271.84942 21986692.305 21986697.012 21986690.195
+ 1350.561 1052.385 52.000 46.000
+ -21549178.40243 -16750668.37942 21237847.860 21237852.711 21237847.184
+ 838.260 653.190 56.000 49.000
+ -1065416.44243 -775198.67642 24641431.625 24641443.806 24641431.119
+ 3835.185 2988.456 44.000 35.000
+ -3369887.96143 -2603144.98042 24477756.541 24477765.899 24477753.378
+ 1435.504 1118.575 45.000 36.000
+ -2391182.16243 -1842487.18842 24561120.460 24561127.515 24561118.037
+ 131.539 102.498 45.000 38.000
+ -1896431.53153 -1475283.95252 25087557.926 25087562.093 25087557.789
+ 677.932 528.259 39.000 33.000
+ 04 2 1 5 46 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17441391.88443 -13173675.71842 21733216.561 21733222.202 21733215.037
+ -880.390 -686.018 54.000 47.000
+ -23702305.43043 -18407495.01442 20176819.050 20176824.183 20176817.824
+ -59.565 -46.414 56.000 50.000
+ -14928160.92143 -11444937.34242 22484811.700 22484817.223 22484810.511
+ -3130.830 -2439.608 51.000 45.000
+ -17354024.61343 -13493200.63942 22674095.980 22674104.036 22674095.501
+ -2871.742 -2237.721 48.000 42.000
+ -7553161.04343 -5870890.52842 23570787.397 23570796.537 23570786.502
+ -1267.123 -987.368 48.000 41.000
+ -17604651.11143 -13706719.11342 21979011.478 21979018.260 21979010.577
+ 1340.760 1044.748 52.000 46.000
+ -21574264.50543 -16770215.99542 21233074.195 21233078.285 21233073.536
+ 835.016 650.662 56.000 49.000
+ -1180441.03743 -864827.71342 24619543.123 24619555.112 24619541.934
+ 3834.889 2988.225 44.000 36.000
+ -3412918.15343 -2636674.79842 24469568.127 24469578.245 24469565.510
+ 1434.142 1117.513 46.000 37.000
+ -2394879.79043 -1845368.45142 24560412.557 24560422.620 24560413.806
+ 116.399 90.701 44.000 38.000
+ -1916635.91153 -1491027.61152 25083712.663 25083719.678 25083712.690
+ 669.841 521.954 38.000 33.000
+ 04 2 1 5 47 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17414859.48143 -13153001.15542 21738264.548 21738271.101 21738263.801
+ -888.071 -692.003 54.000 47.000
+ -23700327.18543 -18405953.53142 20177195.382 20177200.355 20177194.328
+ -71.866 -55.999 56.000 50.000
+ -14834071.76643 -11371621.23142 22502716.021 22502722.032 22502714.970
+ -3141.364 -2447.816 51.000 45.000
+ -17267636.04843 -13425884.92242 22690535.990 22690544.137 22690535.668
+ -2886.886 -2249.521 49.000 42.000
+ -7514961.08643 -5841124.39842 23578056.995 23578065.499 23578055.580
+ -1279.005 -996.627 48.000 41.000
+ -17644691.72243 -13737919.54742 21971392.917 21971399.043 21971391.335
+ 1329.146 1035.698 52.000 46.000
+ -21599232.40043 -16789671.50642 21228322.985 21228327.336 21228322.387
+ 829.900 646.675 56.000 49.000
+ -1295463.28143 -954454.94542 24597654.189 24597664.243 24597650.815
+ 3833.580 2987.205 45.000 36.000
+ -3455886.52643 -2670156.48642 24461389.600 24461401.248 24461388.603
+ 1430.743 1114.865 46.000 36.000
+ -2398098.82943 -1847876.84242 24559803.355 24559810.843 24559802.438
+ 98.969 77.119 46.000 38.000
+ -1936564.23953 -1506556.15952 25079917.038 25079927.273 25079913.019
+ 659.297 513.738 35.000 33.000
+ 04 2 1 5 47 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17388135.88443 -13132177.59542 21743349.990 21743356.468 21743348.915
+ -893.911 -696.554 54.000 47.000
+ -23698022.84743 -18404157.95042 20177634.164 20177638.832 20177632.687
+ -82.211 -64.060 56.000 50.000
+ -14739699.83843 -11298084.79142 22520673.560 22520681.098 22520672.843
+ -3150.331 -2454.803 50.000 44.000
+ -17180835.94743 -13358248.55742 22707053.428 22707060.904 22707051.655
+ -2900.242 -2259.929 48.000 42.000
+ -7476442.40743 -5811109.95442 23585385.906 23585394.482 23585384.803
+ -1289.232 -1004.596 48.000 41.000
+ -17684417.46243 -13768874.64142 21963833.253 21963839.483 21963831.973
+ 1318.966 1027.766 53.000 46.000
+ -21624081.23543 -16809034.23342 21223594.406 21223598.896 21223593.684
+ 826.280 643.855 56.000 49.000
+ -1410481.37543 -1044078.96342 24575766.949 24575776.977 24575764.440
+ 3833.778 2987.359 45.000 37.000
+ -3498791.63243 -2703588.85442 24453225.548 24453234.857 24453224.729
+ 1428.996 1113.503 47.000 37.000
+ -2400841.31143 -1850013.84642 24559277.783 24559288.134 24559277.960
+ 83.146 64.789 43.000 38.000
+ -1956215.68553 -1521868.98452 25076182.066 25076188.796 25076178.024
+ 650.331 506.751 39.000 34.000
+ 04 2 1 5 48 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17361220.04443 -13111204.25542 21748473.123 21748478.505 21748471.512
+ -900.088 -701.367 54.000 47.000
+ -23695393.88943 -18402109.42442 20178134.385 20178139.316 20178133.303
+ -92.651 -72.195 56.000 50.000
+ -14645047.52043 -11224329.87742 22538685.678 22538693.379 22538683.934
+ -3159.229 -2461.737 50.000 44.000
+ -17093627.20743 -13290293.75742 22723649.849 22723656.330 22723648.294
+ -2913.287 -2270.094 48.000 42.000
+ -7437607.65843 -5780849.17042 23592778.174 23592785.286 23592776.370
+ -1299.121 -1012.302 49.000 41.000
+ -17723828.76843 -13799584.71642 21956333.583 21956339.804 21956331.581
+ 1308.877 1019.904 52.000 46.000
+ -21648809.56343 -16828303.06642 21218888.687 21218893.352 21218888.077
+ 822.647 641.024 56.000 49.000
+ -1525492.85043 -1133697.83442 24553880.630 24553890.836 24553879.290
+ 3833.916 2987.467 46.000 37.000
+ -3541630.91243 -2736969.95242 24445074.161 24445084.250 24445072.236
+ 1427.214 1112.115 45.000 36.000
+ -2403108.16643 -1851780.18442 24558850.184 24558857.557 24558848.087
+ 67.850 52.870 45.000 38.000
+ -1975588.50943 -1536964.60742 25072496.003 25072502.027 25072493.222
+ 641.452 499.833 43.000 35.000
+ 04 2 1 5 48 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17334113.64043 -13090082.41342 21753630.864 21753636.640 21753629.208
+ -907.234 -706.935 54.000 47.000
+ -23692444.48043 -18399811.19242 20178695.575 20178700.694 20178693.996
+ -104.156 -81.160 56.000 50.000
+ -14550119.83143 -11150360.37342 22556750.777 22556757.576 22556748.945
+ -3169.465 -2469.713 51.000 45.000
+ -17006015.56143 -13222025.01742 22740322.433 22740328.689 22740321.263
+ -2927.832 -2281.427 49.000 42.000
+ -7398462.28943 -5750346.36942 23600226.487 23600233.191 23600225.477
+ -1310.519 -1021.184 48.000 41.000
+ -17762928.99243 -13830052.38942 21948893.050 21948898.674 21948891.151
+ 1297.555 1011.082 53.000 46.000
+ -21673418.71743 -16847479.03342 21214206.073 21214210.180 21214205.084
+ 817.657 637.135 56.000 49.000
+ -1640497.65343 -1223311.51642 24531996.102 24532006.668 24531995.361
+ 3832.729 2986.542 45.000 37.000
+ -3584404.54243 -2770299.86542 24436931.859 24436943.283 24436931.798
+ 1423.939 1109.563 43.000 35.000
+ -2404902.93743 -1853178.77542 24558507.855 24558514.232 24558505.406
+ 51.909 40.449 45.000 38.000
+ -1994683.30743 -1551843.56842 25068861.817 25068870.359 25068861.233
+ 631.356 491.966 43.000 35.000
+ 04 2 1 5 49 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17306814.10143 -13068810.08242 21758825.098 21758831.611 21758824.121
+ -913.618 -711.910 53.000 47.000
+ -23689174.52743 -18397263.18742 20179317.800 20179322.880 20179316.462
+ -114.685 -89.365 56.000 50.000
+ -14454917.73243 -11076177.04342 22574866.748 22574874.321 22574866.487
+ -3178.094 -2476.437 51.000 45.000
+ -16918002.30843 -13153443.31742 22757071.106 22757076.868 22757070.064
+ -2940.724 -2291.473 49.000 42.000
+ -7359007.32143 -5719602.31342 23607733.666 23607740.829 23607731.680
+ -1320.811 -1029.203 47.000 40.000
+ -17801717.50243 -13860277.16942 21941510.781 21941517.340 21941510.363
+ 1287.399 1003.168 52.000 46.000
+ -21697905.64343 -16866559.75942 21209545.982 21209550.466 21209544.922
+ 813.705 634.056 56.000 49.000
+ -1755491.80143 -1312916.92242 24510112.882 24510124.086 24510112.077
+ 3832.500 2986.364 46.000 37.000
+ -3627108.55343 -2803575.53842 24428808.100 24428821.132 24428803.952
+ 1421.923 1107.992 42.000 35.000
+ -2406225.32243 -1854209.21642 24558255.412 24558264.468 24558255.203
+ 36.165 28.180 47.000 39.000
+ -2013496.31243 -1566503.03342 25065278.853 25065286.588 25065275.682
+ 621.949 484.635 41.000 35.000
+ 04 2 1 5 49 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17279317.91143 -13047384.51142 21764057.285 21764064.054 21764057.164
+ -919.520 -716.509 54.000 47.000
+ -23685583.06943 -18394464.65642 20180001.578 20180006.092 20180000.139
+ -124.852 -97.287 56.000 50.000
+ -14359441.16543 -11001779.84542 22593035.588 22593042.937 22593034.634
+ -3186.989 -2483.368 51.000 44.000
+ -16829587.77743 -13084548.96142 22773895.414 22773902.282 22773894.422
+ -2953.626 -2301.527 49.000 42.000
+ -7319243.09043 -5688617.26042 23615300.881 23615309.526 23615301.456
+ -1330.399 -1036.675 47.000 40.000
+ -17840192.28543 -13890257.47542 21934189.668 21934195.987 21934188.399
+ 1277.545 995.490 52.000 46.000
+ -21722266.48343 -16885542.23142 21204910.282 21204914.750 21204909.490
+ 810.124 631.265 56.000 49.000
+ -1870470.20443 -1402510.07242 24488232.326 24488242.042 24488230.757
+ 3832.730 2986.543 46.000 38.000
+ -3669738.11343 -2836793.14342 24420695.565 24420702.652 24420692.411
+ 1420.284 1106.715 44.000 35.000
+ -2407074.07943 -1854870.58242 24558095.059 24558103.248 24558094.759
+ 20.531 15.998 47.000 39.000
+ -2032023.12343 -1580939.47642 25061753.657 25061761.843 25061753.820
+ 612.450 477.234 41.000 35.000
+ 04 2 1 5 50 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17251627.35143 -13025807.49042 21769326.512 21769332.646 21769325.900
+ -926.043 -721.592 54.000 47.000
+ -23681674.72143 -18391419.19942 20180744.603 20180750.064 20180743.478
+ -135.314 -105.439 56.000 50.000
+ -14263695.84443 -10927173.24142 22611255.514 22611262.421 22611254.371
+ -3195.938 -2490.341 52.000 45.000
+ -16740778.10843 -13015346.71042 22790795.550 22790801.208 22790792.046
+ -2966.600 -2311.636 49.000 42.000
+ -7279175.37943 -5657395.77142 23622925.143 23622934.184 23622923.905
+ -1340.373 -1044.446 48.000 41.000
+ -17878357.41043 -13919996.49142 21926927.591 21926932.600 21926925.879
+ 1267.272 987.485 52.000 46.000
+ -21746503.15343 -16904427.94842 21200298.234 21200302.508 21200297.654
+ 806.059 628.098 56.000 49.000
+ -1985433.43443 -1492091.38842 24466354.913 24466366.491 24466353.934
+ 3831.838 2985.848 45.000 37.000
+ -3712293.60043 -2869953.06842 24412595.900 24412604.564 24412594.376
+ 1417.193 1104.306 45.000 37.000
+ -2407453.41043 -1855166.20142 24558022.023 24558030.002 24558021.881
+ 5.032 3.921 46.000 38.000
+ -2050265.02343 -1595153.89542 25058281.867 25058290.705 25058281.285
+ 603.369 470.158 38.000 34.000
+ 04 2 1 5 50 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17223739.45043 -13004076.69242 21774633.718 21774640.147 21774632.612
+ -932.901 -726.936 54.000 47.000
+ -23677449.03643 -18388126.45742 20181549.163 20181554.049 20181547.804
+ -146.116 -113.857 56.000 50.000
+ -14167681.96043 -10852357.34842 22629527.487 22629533.857 22629525.850
+ -3205.149 -2497.519 52.000 45.000
+ -16651574.01143 -12945837.07142 22807768.182 22807777.102 22807768.024
+ -2979.941 -2322.032 48.000 42.000
+ -7238804.92043 -5625938.34242 23630607.173 23630615.561 23630606.770
+ -1350.671 -1052.471 47.000 41.000
+ -17916211.39843 -13949493.07642 21919724.312 21919729.519 21919723.501
+ 1256.613 979.179 53.000 46.000
+ -21770611.76743 -16923213.87942 21195710.526 21195715.077 21195709.932
+ 801.583 624.610 56.000 49.000
+ -2100376.85643 -1581657.30342 24444482.149 24444492.287 24444479.713
+ 3830.896 2985.114 46.000 38.000
+ -3754770.65043 -2903051.91442 24404512.398 24404524.615 24404512.372
+ 1414.427 1102.151 45.000 38.000
+ -2407362.28743 -1855095.23242 24558037.865 24558047.651 24558036.991
+ -11.010 -8.579 44.000 37.000
+ -2068218.25943 -1609143.30442 25054864.154 25054876.820 25054862.607
+ 593.524 462.486 40.000 35.000
+ 04 2 1 5 51 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17195650.65843 -12982189.36242 21779979.084 21779985.469 21779977.912
+ -940.032 -732.492 53.000 47.000
+ -23672904.78643 -18384585.48842 20182413.774 20182418.989 20182412.665
+ -157.170 -122.470 56.000 50.000
+ -14071399.64243 -10777332.28842 22647848.680 22647854.646 22647847.136
+ -3214.225 -2504.591 51.000 44.000
+ -16561975.67343 -12876020.26942 22824819.071 22824827.236 22824817.504
+ -2993.643 -2332.709 48.000 42.000
+ -7198131.75943 -5594245.04942 23638345.560 23638356.321 23638345.558
+ -1361.155 -1060.640 47.000 41.000
+ -17953752.40343 -13978745.77242 21912580.235 21912586.193 21912578.414
+ 1245.820 970.769 53.000 46.000
+ -21794588.11743 -16941896.74242 21191147.757 21191152.918 21191147.605
+ 796.601 620.728 56.000 49.000
+ -2215295.06443 -1671203.55942 24422612.099 24422624.939 24422611.004
+ 3830.060 2984.462 46.000 38.000
+ -3797163.99543 -2936085.47942 24396444.712 24396456.267 24396442.919
+ 1411.251 1099.676 44.000 38.000
+ -2406799.38443 -1854656.63042 24558146.306 24558155.610 24558146.156
+ -27.036 -21.067 46.000 39.000
+ -2085878.25743 -1622904.35642 25051504.679 25051515.769 25051502.750
+ 583.106 454.368 42.000 36.000
+ 04 2 1 5 51 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17167365.04643 -12960148.67942 21785361.609 21785368.639 21785360.804
+ -945.748 -736.946 53.000 47.000
+ -23668048.69943 -18380801.53442 20183337.691 20183342.998 20183336.662
+ -166.867 -130.026 56.000 50.000
+ -13974856.47143 -10702103.96542 22666220.140 22666225.297 22666218.520
+ -3222.399 -2510.960 51.000 44.000
+ -16471991.30643 -12805902.67042 22841943.339 22841950.612 22841940.095
+ -3005.537 -2341.977 48.000 42.000
+ -7157164.06843 -5562322.24442 23646143.361 23646152.536 23646141.860
+ -1370.322 -1067.783 47.000 41.000
+ -17990986.44343 -14007759.27142 21905495.461 21905501.126 21905493.573
+ 1236.369 963.404 53.000 46.000
+ -21818436.65043 -16960480.01242 21186609.718 21186614.366 21186608.934
+ 793.205 618.082 56.000 49.000
+ -2330190.93743 -1760732.42942 24400747.207 24400759.747 24400747.261
+ 3829.395 2983.944 45.000 38.000
+ -3839476.60343 -2969056.18742 24388394.356 24388404.212 24388392.493
+ 1409.171 1098.055 45.000 39.000
+ -2405771.00643 -1853855.28742 24558342.305 24558350.986 24558341.577
+ -41.604 -32.419 45.000 38.000
+ -2103248.11143 -1636439.28942 25048198.052 25048210.584 25048198.028
+ 574.296 447.503 43.000 36.000
+ 04 2 1 5 52 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17138879.87543 -12937952.48642 21790782.626 21790788.842 21790781.584
+ -953.088 -742.666 53.000 47.000
+ -23662880.50243 -18376774.37642 20184321.150 20184326.477 20184320.276
+ -177.741 -138.499 56.000 50.000
+ -13878052.82143 -10626672.67442 22684642.005 22684648.478 22684640.736
+ -3231.158 -2517.785 52.000 44.000
+ -16381622.03743 -12735485.13642 22859139.972 22859147.630 22859138.351
+ -3018.887 -2352.379 48.000 42.000
+ -7115902.42643 -5530170.42342 23653994.049 23654005.376 23653993.262
+ -1380.432 -1075.661 46.000 40.000
+ -18027912.40243 -14036532.71242 21898467.495 21898474.295 21898466.231
+ 1225.476 954.916 52.000 46.000
+ -21842153.63843 -16978960.77342 21182096.687 21182101.062 21182096.252
+ 788.131 614.128 56.000 49.000
+ -2445059.70043 -1850240.16342 24378889.477 24378899.506 24378889.225
+ 3828.173 2982.992 47.000 38.000
+ -3881704.09743 -3001960.54242 24380356.473 24380367.475 24380355.771
+ 1406.045 1095.619 45.000 38.000
+ -2404276.74143 -1852690.92542 24558627.048 24558635.906 24558625.577
+ -57.887 -45.107 45.000 38.000
+ -2120324.18443 -1649745.29842 25044950.559 25044960.252 25044949.581
+ 564.268 439.689 43.000 36.000
+ 04 2 1 5 52 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17110197.92443 -12915602.97442 21796241.016 21796247.120 21796239.173
+ -959.742 -747.851 54.000 47.000
+ -23657405.47643 -18372508.12842 20185363.145 20185368.392 20185362.017
+ -187.907 -146.421 56.000 50.000
+ -13780995.28043 -10551043.55642 22703110.958 22703117.594 22703110.169
+ -3239.881 -2524.582 52.000 44.000
+ -16290874.63443 -12664772.95542 22876408.836 22876415.181 22876408.414
+ -3031.530 -2362.231 49.000 42.000
+ -7074353.61943 -5497794.78042 23661902.100 23661909.375 23661900.918
+ -1390.144 -1083.229 48.000 40.000
+ -18064535.09343 -14065069.84742 21891498.737 21891504.879 21891497.256
+ 1215.390 947.057 52.000 46.000
+ -21865741.62243 -16997341.01742 21177608.026 21177612.798 21177607.011
+ 783.711 610.684 56.000 49.000
+ -2559902.63243 -1939727.79242 24357036.230 24357045.123 24357034.411
+ 3826.776 2981.903 46.000 39.000
+ -3923847.65143 -3034799.49542 24372339.064 24372347.134 24372336.773
+ 1403.151 1093.364 46.000 39.000
+ -2402321.30143 -1851167.23042 24558995.917 24559008.526 24558995.339
+ -73.535 -57.300 43.000 38.000
+ -2137108.57143 -1662823.93242 25041752.099 25041767.889 25041751.628
+ 554.226 431.864 40.000 36.000
+ 04 2 1 5 53 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17081312.18443 -12893094.65642 21801737.165 21801744.358 21801736.137
+ -966.553 -753.158 53.000 47.000
+ -23651619.15143 -18367999.31142 20186464.344 20186469.267 20186463.133
+ -198.456 -154.641 56.000 50.000
+ -13683680.12843 -10475213.69942 22721629.998 22721636.552 22721628.790
+ -3248.296 -2531.140 52.000 44.000
+ -16199746.00943 -12593763.72242 22893750.175 22893757.875 22893748.714
+ -3044.220 -2372.119 48.000 42.000
+ -7032514.40343 -5465192.88242 23669863.808 23669872.856 23669863.651
+ -1399.704 -1090.678 48.000 40.000
+ -18100849.01543 -14093366.38042 21884588.345 21884594.805 21884587.280
+ 1205.094 939.034 53.000 46.000
+ -21889193.06243 -17015614.86742 21173145.536 21173149.821 21173144.446
+ 779.321 607.263 56.000 49.000
+ -2674711.43343 -2029188.80942 24335187.220 24335198.068 24335185.629
+ 3826.211 2981.463 46.000 39.000
+ -3965898.85543 -3067566.54342 24364335.845 24364346.496 24364334.492
+ 1399.919 1090.846 46.000 39.000
+ -2399900.03943 -1849280.55042 24559461.203 24559468.091 24559459.905
+ -88.684 -69.104 44.000 37.000
+ -2153593.03643 -1675668.94442 25038618.097 25038628.857 25038617.336
+ 544.463 424.257 43.000 37.000
+ 04 2 1 5 53 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17052224.65943 -12870429.11942 21807272.325 21807278.943 21807270.896
+ -972.904 -758.107 53.000 47.000
+ -23645526.00943 -18363251.41842 20187623.318 20187628.923 20187622.575
+ -208.268 -162.287 56.000 50.000
+ -13586112.94443 -10399187.46242 22740196.021 22740202.014 22740195.749
+ -3256.537 -2537.561 51.000 44.000
+ -16108242.07443 -12522462.03642 22911163.151 22911171.478 22911160.321
+ -3056.333 -2381.558 48.000 42.000
+ -6990390.21643 -5432368.93342 23677880.287 23677889.194 23677878.835
+ -1408.870 -1097.821 47.000 40.000
+ -18136858.06243 -14121425.34642 21877736.096 21877741.953 21877735.022
+ 1195.121 931.263 53.000 46.000
+ -21912509.39143 -17033783.42642 21168708.569 21168712.847 21168707.640
+ 774.834 603.767 56.000 49.000
+ -2789486.13943 -2118623.26042 24313346.367 24313356.747 24313345.435
+ 3825.272 2980.731 46.000 39.000
+ -4007858.19643 -3100262.00942 24356352.002 24356360.350 24356349.451
+ 1397.028 1088.593 46.000 39.000
+ -2397017.14043 -1847034.16642 24560007.176 24560017.042 24560006.408
+ -103.987 -81.029 43.000 37.000
+ -2169779.11343 -1688281.49242 25035539.895 25035549.940 25035538.291
+ 534.385 416.404 44.000 37.000
+ 04 2 1 5 54 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17022932.71043 -12847604.27442 21812846.179 21812853.055 21812845.211
+ -979.598 -763.323 53.000 46.000
+ -23639125.95343 -18358264.36742 20188841.369 20188846.803 20188840.677
+ -218.126 -169.968 56.000 50.000
+ -13488294.65643 -10322965.56642 22758811.475 22758817.050 22758809.499
+ -3264.577 -2543.826 51.000 43.000
+ -16016364.04943 -12450868.85042 22928646.440 22928654.663 22928644.388
+ -3068.530 -2391.062 48.000 42.000
+ -6947982.29743 -5399323.89342 23685949.974 23685958.820 23685948.455
+ -1418.017 -1104.948 47.000 40.000
+ -18172561.34943 -14149246.05542 21870941.507 21870947.878 21870940.236
+ 1185.201 923.533 52.000 46.000
+ -21935687.37143 -17051844.18742 21164297.535 21164301.960 21164296.530
+ 770.517 600.403 56.000 49.000
+ -2904222.40243 -2208027.74542 24291512.616 24291522.870 24291511.694
+ 3823.852 2979.625 46.000 39.000
+ -4049721.40043 -3132882.54142 24348384.549 24348394.763 24348383.669
+ 1394.034 1086.260 45.000 39.000
+ -2393672.37643 -1844427.87842 24560645.954 24560652.414 24560644.830
+ -119.079 -92.789 44.000 38.000
+ -2185663.34643 -1700658.78642 25032517.841 25032526.890 25032515.330
+ 524.956 409.057 43.000 37.000
+ 04 2 1 5 54 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16993437.17743 -12824620.80742 21818459.321 21818465.979 21818458.017
+ -986.260 -768.514 53.000 47.000
+ -23632422.21243 -18353040.68142 20190116.682 20190122.513 20190115.895
+ -228.206 -177.823 56.000 50.000
+ -13390229.44543 -10246551.25742 22777472.293 22777477.946 22777471.100
+ -3272.608 -2550.084 50.000 43.000
+ -15924116.77943 -12378987.92542 22946200.705 22946207.791 22946198.502
+ -3080.624 -2400.486 48.000 42.000
+ -6905295.37843 -5366061.43542 23694072.517 23694082.267 23694070.983
+ -1427.173 -1112.083 47.000 40.000
+ -18207961.25243 -14176830.36642 21864206.601 21864211.403 21864204.268
+ 1175.298 915.817 53.000 46.000
+ -21958727.38743 -17069797.45042 21159913.145 21159917.574 21159912.244
+ 766.051 596.923 56.000 49.000
+ -3018919.46043 -2297401.67642 24269686.280 24269696.836 24269685.023
+ 3822.599 2978.648 46.000 39.000
+ -4091487.83643 -3165427.69842 24340436.763 24340443.680 24340433.691
+ 1390.911 1083.827 45.000 38.000
+ -2389868.94443 -1841464.20942 24561371.256 24561376.994 24561369.227
+ -134.136 -104.521 44.000 38.000
+ -2201245.74143 -1712800.84242 25029550.161 25029561.063 25029549.065
+ 514.707 401.070 40.000 35.000
+ 04 2 1 5 55 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16963735.37043 -12801476.59742 21824111.849 21824118.034 21824110.327
+ -993.932 -774.492 53.000 47.000
+ -23625414.66243 -18347580.25742 20191450.889 20191455.960 20191449.744
+ -239.026 -186.254 56.000 50.000
+ -13291918.14743 -10169945.18542 22796179.688 22796186.549 22796178.310
+ -3281.477 -2556.995 50.000 43.000
+ -15831501.37343 -12306820.13642 22963824.869 22963834.268 22963823.112
+ -3093.733 -2410.701 48.000 42.000
+ -6862330.56143 -5332582.44042 23702248.626 23702257.891 23702247.448
+ -1437.037 -1119.769 47.000 41.000
+ -18243057.05843 -14204177.71742 21857526.922 21857532.217 21857526.117
+ 1164.514 907.414 53.000 46.000
+ -21981626.31743 -17087640.77342 21155555.449 21155559.955 21155554.842
+ 760.508 592.604 56.000 49.000
+ -3133573.04543 -2386741.72942 24247867.626 24247878.179 24247866.339
+ 3820.832 2977.272 46.000 39.000
+ -4133153.33643 -3197894.15642 24332506.220 24332519.119 24332505.316
+ 1386.476 1080.371 44.000 38.000
+ -2385606.25343 -1838142.62742 24562178.776 24562189.045 24562178.024
+ -149.884 -116.793 44.000 37.000
+ -2216522.51443 -1724704.67742 25026644.666 25026653.252 25026643.910
+ 503.848 392.609 42.000 36.000
+ 04 2 1 5 55 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16933825.99643 -12778170.65942 21829803.437 21829809.493 21829801.961
+ -1000.423 -779.550 53.000 47.000
+ -23618104.49243 -18341884.02442 20192841.763 20192847.131 20192840.622
+ -248.619 -193.729 56.000 50.000
+ -13193362.88343 -10093149.03442 22814933.881 22814941.870 22814931.622
+ -3289.082 -2562.921 49.000 43.000
+ -15738520.49643 -12234367.57542 22981517.929 22981526.204 22981516.897
+ -3105.556 -2419.914 48.000 42.000
+ -6819090.09143 -5298888.64942 23710478.026 23710484.864 23710476.846
+ -1446.032 -1126.778 48.000 41.000
+ -18277849.25543 -14231288.48142 21850905.800 21850912.028 21850904.830
+ 1154.731 899.790 52.000 46.000
+ -22004382.06044 -17105372.52042 21151225.730 21151230.215 21151224.995
+ 755.981 589.076 57.000 49.000
+ -3248180.24143 -2476045.65042 24226058.731 24226068.750 24226057.195
+ 3819.368 2976.131 47.000 40.000
+ -4174714.98143 -3230279.70742 24324599.654 24324608.541 24324597.595
+ 1383.334 1077.922 45.000 38.000
+ -2380885.37543 -1834464.05342 24563079.858 24563087.597 24563077.464
+ -165.193 -128.722 46.000 39.000
+ -2231491.77843 -1736368.99042 25023793.777 25023806.398 25023793.953
+ 493.878 384.840 42.000 36.000
+ 04 2 1 5 56 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16903712.38943 -12754705.56542 21835533.947 21835540.808 21835532.708
+ -1007.224 -784.850 54.000 47.000
+ -23610497.47343 -18335956.47842 20194289.805 20194294.740 20194288.454
+ -258.491 -201.421 56.000 50.000
+ -13094570.52743 -10016168.13042 22833732.948 22833741.451 22833732.048
+ -3296.891 -2569.006 49.000 43.000
+ -15645181.56643 -12161636.00442 22999280.522 22999287.812 22999278.548
+ -3117.283 -2429.052 48.000 41.000
+ -6775581.20243 -5264985.67942 23718756.345 23718766.160 23718755.856
+ -1454.685 -1133.521 47.000 40.000
+ -18312343.05143 -14258166.73242 21844342.113 21844347.915 21844341.081
+ 1144.813 892.062 52.000 46.000
+ -22026997.68544 -17122995.09542 21146921.874 21146926.240 21146921.029
+ 751.444 585.541 57.000 49.000
+ -3362742.65143 -2565314.65342 24204258.342 24204266.575 24204257.247
+ 3817.924 2975.006 47.000 39.000
+ -4216174.74143 -3262585.83442 24316709.421 24316718.420 24316707.244
+ 1380.235 1075.508 46.000 39.000
+ -2375712.08643 -1830432.91342 24564063.994 24564071.138 24564062.841
+ -180.028 -140.281 46.000 38.000
+ -2246155.89343 -1747795.54142 25021003.975 25021013.876 25021003.242
+ 483.588 376.822 43.000 35.000
+ 04 2 1 5 56 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16873390.48343 -12731078.15942 21841304.148 21841310.233 21841303.068
+ -1014.037 -790.159 54.000 47.000
+ -23602592.15343 -18329796.49242 20195793.601 20195799.203 20195792.517
+ -268.423 -209.161 56.000 50.000
+ -12995540.65343 -9939002.13742 22852578.860 22852586.935 22852577.476
+ -3304.860 -2575.215 51.000 44.000
+ -15551484.42243 -12088625.30242 23017110.110 23017117.338 23017108.704
+ -3129.260 -2438.384 48.000 41.000
+ -6731803.58443 -5230873.35942 23727088.339 23727095.046 23727086.875
+ -1463.491 -1140.382 47.000 40.000
+ -18346536.30743 -14284810.78242 21837835.659 21837841.204 21837834.168
+ 1134.913 884.348 53.000 46.000
+ -22049468.56244 -17140504.88542 21142645.909 21142650.161 21142645.333
+ 746.854 581.964 57.000 49.000
+ -3477254.59843 -2654544.35742 24182467.587 24182477.152 24182466.707
+ 3816.525 2973.916 48.000 40.000
+ -4257526.96343 -3294808.23742 24308840.537 24308850.049 24308838.944
+ 1376.671 1072.731 47.000 39.000
+ -2370084.78243 -1826047.96142 24565131.894 24565142.218 24565131.723
+ -194.815 -151.804 43.000 38.000
+ -2260510.08843 -1758980.59142 25018273.286 25018283.904 25018271.099
+ 473.343 368.839 42.000 35.000
+ 04 2 1 5 57 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16842856.25543 -12707285.28842 21847114.160 21847120.592 21847112.856
+ -1021.155 -795.705 53.000 47.000
+ -23594386.96343 -18323402.84942 20197355.693 20197360.105 20197354.181
+ -278.186 -216.768 56.000 50.000
+ -12896272.59143 -9861650.53642 22871469.420 22871476.651 22871468.198
+ -3312.593 -2581.241 51.000 44.000
+ -15457428.73643 -12015335.21742 23035008.646 23035016.046 23035007.404
+ -3141.093 -2447.605 48.000 41.000
+ -6687757.00543 -5196551.40642 23735468.591 23735477.423 23735468.352
+ -1472.348 -1147.284 47.000 40.000
+ -18380426.56543 -14311218.74142 21831386.549 21831391.686 21831385.065
+ 1124.800 876.468 53.000 46.000
+ -22071790.01644 -17157898.22742 21138398.516 21138402.245 21138397.759
+ 741.779 578.010 57.000 49.000
+ -3591710.12643 -2743730.09442 24160687.146 24160696.246 24160685.564
+ 3814.317 2972.195 47.000 40.000
+ -4298766.13843 -3326942.51342 24300992.459 24301000.180 24300991.386
+ 1372.969 1069.846 46.000 38.000
+ -2364001.56143 -1821307.82642 24566291.614 24566301.150 24566289.202
+ -210.789 -164.251 44.000 37.000
+ -2274549.27943 -1769920.20442 25015600.451 25015610.380 25015598.689
+ 463.091 360.850 40.000 33.000
+ 04 2 1 5 57 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16812115.65943 -12683331.62242 21852965.000 21852970.165 21852963.177
+ -1028.529 -801.451 54.000 47.000
+ -23585890.38643 -18316782.14242 20198972.052 20198976.842 20198971.281
+ -288.397 -224.725 56.000 50.000
+ -12796775.69043 -9784120.62942 22890402.908 22890410.846 22890401.104
+ -3320.693 -2587.553 51.000 44.000
+ -15363024.61443 -11941773.61242 23052973.250 23052980.491 23052971.269
+ -3152.869 -2456.781 48.000 42.000
+ -6643451.11343 -5162027.42742 23743901.315 23743909.045 23743899.709
+ -1481.494 -1154.411 48.000 40.000
+ -18414021.77643 -14337396.80042 21824993.383 21824998.663 21824992.075
+ 1114.546 868.477 52.000 46.000
+ -22093967.32344 -17175179.25842 21134178.188 21134182.788 21134177.534
+ 736.486 573.885 57.000 49.000
+ -3706113.61343 -2832875.32242 24138916.234 24138924.932 24138915.382
+ 3812.059 2970.436 47.000 40.000
+ -4339896.55543 -3358992.06742 24293165.233 24293176.656 24293161.897
+ 1368.924 1066.694 45.000 38.000
+ -2357471.01543 -1816219.07242 24567534.193 24567540.323 24567533.503
+ -225.586 -175.781 45.000 38.000
+ -2288278.99143 -1780618.59642 25012987.937 25012995.842 25012986.079
+ 452.003 352.210 40.000 34.000
+ 04 2 1 5 58 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16781160.86243 -12659211.03542 21858854.959 21858861.586 21858853.449
+ -1036.009 -807.280 54.000 47.000
+ -23577096.70443 -18309929.93042 20200645.688 20200650.582 20200644.205
+ -298.656 -232.719 56.000 50.000
+ -12697045.56043 -9706408.97542 22909381.067 22909389.293 22909379.902
+ -3328.957 -2593.992 51.000 44.000
+ -15268267.93843 -11867937.29842 23071005.802 23071011.971 23071004.203
+ -3165.188 -2466.380 49.000 42.000
+ -6598881.75843 -5127298.13642 23752382.334 23752389.528 23752382.300
+ -1490.640 -1161.538 47.000 40.000
+ -18447315.70543 -14363340.09042 21818657.716 21818663.203 21818656.444
+ 1104.062 860.308 52.000 46.000
+ -22115992.20544 -17192341.51942 21129987.231 21129991.399 21129986.118
+ 730.987 569.600 57.000 49.000
+ -3820455.48543 -2921972.53942 24117156.906 24117167.601 24117157.520
+ 3809.625 2968.539 47.000 39.000
+ -4380908.76443 -3390949.47242 24285361.744 24285370.440 24285359.778
+ 1364.526 1063.267 45.000 39.000
+ -2350487.02543 -1810777.04142 24568860.733 24568873.019 24568860.451
+ -241.163 -187.919 43.000 37.000
+ -2301690.05443 -1791068.76342 25010434.749 25010449.125 25010432.694
+ 441.221 343.809 40.000 35.000
+ 04 2 1 5 58 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16749996.11043 -12634926.85442 21864784.845 21864790.844 21864783.893
+ -1042.363 -812.231 54.000 47.000
+ -23568012.81443 -18302851.58242 20202373.871 20202379.555 20202372.861
+ -307.571 -239.666 56.000 50.000
+ -12597089.87843 -9628521.58342 22928402.566 22928408.709 22928400.108
+ -3335.579 -2599.152 51.000 44.000
+ -15173166.83543 -11793832.59842 23089101.906 23089110.276 23089101.285
+ -3175.748 -2474.609 48.000 42.000
+ -6554057.04043 -5092369.90542 23760911.706 23760920.614 23760910.976
+ -1498.287 -1167.496 47.000 40.000
+ -18480314.43643 -14389053.34442 21812378.269 21812384.067 21812377.124
+ 1095.062 853.295 52.000 46.000
+ -22137867.78844 -17209387.44542 21125824.152 21125828.335 21125823.320
+ 726.717 566.273 57.000 49.000
+ -3934738.18843 -3011023.67142 24095409.090 24095421.259 24095408.991
+ 3808.509 2967.669 46.000 39.000
+ -4421805.42043 -3422816.81342 24277579.423 24277588.044 24277578.015
+ 1361.216 1060.688 45.000 39.000
+ -2343056.54943 -1804987.08942 24570275.316 24570286.906 24570274.460
+ -255.029 -198.724 42.000 37.000
+ -2314786.01643 -1801273.38342 25007944.142 25007954.645 25007942.922
+ 431.299 336.077 42.000 35.000
+ 04 2 1 5 59 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16718615.41343 -12610474.40042 21870756.256 21870763.508 21870755.143
+ -1050.049 -818.220 53.000 47.000
+ -23558635.35343 -18295544.47742 20204159.015 20204163.672 20204157.650
+ -317.916 -247.727 56.000 50.000
+ -12496906.38743 -9550456.68642 22947466.833 22947473.818 22947465.269
+ -3343.747 -2605.517 50.000 43.000
+ -15077719.15943 -11719457.85042 23107264.996 23107272.985 23107263.443
+ -3187.607 -2483.850 48.000 42.000
+ -6508974.63243 -5057240.85642 23769490.869 23769499.562 23769489.337
+ -1507.307 -1174.525 47.000 41.000
+ -18513013.82043 -14414533.36042 21806156.210 21806161.430 21806154.764
+ 1084.582 845.129 53.000 46.000
+ -22159588.02444 -17226312.31542 21121691.004 21121694.958 21121690.374
+ 720.942 561.773 57.000 49.000
+ -4048954.21943 -3100022.87042 24073673.976 24073684.629 24073674.089
+ 3805.751 2965.520 46.000 39.000
+ -4462579.01943 -3454588.28942 24269818.288 24269829.455 24269817.404
+ 1356.525 1057.032 44.000 38.000
+ -2335176.24543 -1798846.62142 24571777.473 24571784.523 24571775.333
+ -270.506 -210.784 43.000 36.000
+ -2327560.21743 -1811227.25742 25005511.540 25005524.544 25005509.748
+ 419.779 327.101 40.000 36.000
+ 04 2 1 5 59 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16687022.73643 -12585856.75842 21876768.555 21876775.453 21876767.120
+ -1056.924 -823.577 53.000 47.000
+ -23548970.66343 -18288013.56942 20205997.741 20206002.738 20205996.619
+ -327.141 -254.915 56.000 50.000
+ -12396502.24843 -9472219.85242 22966572.509 22966580.140 22966571.203
+ -3350.641 -2610.889 49.000 43.000
+ -14981932.94343 -11644819.33842 23125491.914 23125498.771 23125491.154
+ -3198.457 -2492.304 47.000 41.000
+ -6463642.53643 -5021917.25242 23778116.652 23778124.997 23778115.873
+ -1515.502 -1180.911 47.000 41.000
+ -18545419.72643 -14439784.68842 21799989.342 21799995.463 21799988.021
+ 1075.058 837.708 53.000 46.000
+ -22181156.13144 -17243118.65042 21117586.682 21117591.152 21117585.941
+ 716.122 558.017 57.000 50.000
+ -4163105.82543 -3188971.86242 24051953.290 24051961.650 24051951.779
+ 3803.659 2963.890 47.000 39.000
+ -4503231.97843 -3486265.84642 24262082.741 24262093.038 24262081.089
+ 1352.621 1053.990 45.000 38.000
+ -2326852.48743 -1792360.58442 24573360.210 24573366.360 24573358.137
+ -284.864 -221.972 44.000 36.000
+ -2340016.12553 -1820933.07952 25003143.482 25003150.941 25003143.170
+ 409.503 319.093 42.000 36.000
+ 04 2 1 6 0 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16655210.74243 -12561068.21742 21882822.195 21882828.765 21882820.634
+ -1064.087 -829.159 53.000 47.000
+ -23539014.17143 -18280255.27542 20207892.233 20207897.238 20207891.244
+ -336.771 -262.419 56.000 50.000
+ -12295873.84943 -9393808.26942 22985721.444 22985729.907 22985720.019
+ -3357.947 -2616.582 49.000 43.000
+ -14885804.82843 -11569914.39942 23143783.946 23143792.139 23143783.639
+ -3210.098 -2501.375 47.000 41.000
+ -6418057.25543 -4986396.35542 23786790.710 23786800.970 23786790.982
+ -1523.625 -1187.240 47.000 40.000
+ -18577526.82243 -14464803.17742 21793879.943 21793884.959 21793877.712
+ 1065.337 830.133 53.000 46.000
+ -22202564.34544 -17259800.38842 21113512.691 21113517.332 21113512.020
+ 710.930 553.971 57.000 50.000
+ -4277183.80943 -3277863.52542 24030244.548 24030252.266 24030243.487
+ 3801.345 2962.087 46.000 39.000
+ -4543755.63443 -3517842.63642 24254371.525 24254382.104 24254371.367
+ 1348.708 1050.941 45.000 39.000
+ -2318080.40143 -1785525.19542 24575030.868 24575039.648 24575031.066
+ -300.070 -233.821 41.000 36.000
+ -2352145.56943 -1830384.56242 25000834.392 25000846.435 25000833.871
+ 399.521 311.315 42.000 36.000
+ 04 2 1 6 0 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16623188.94043 -12536116.18542 21888915.761 21888922.498 21888914.174
+ -1070.859 -834.435 53.000 47.000
+ -23528777.47643 -18272278.64142 20209840.863 20209845.307 20209839.484
+ -345.866 -269.506 56.000 50.000
+ -12195034.23643 -9315232.11942 23004910.860 23004919.760 23004910.542
+ -3364.755 -2621.887 49.000 43.000
+ -14789348.01643 -11494753.31742 23162140.231 23162147.381 23162138.571
+ -3220.692 -2509.630 48.000 41.000
+ -6372231.74543 -4950688.28142 23795512.457 23795521.011 23795511.427
+ -1531.343 -1193.254 47.000 40.000
+ -18609346.34043 -14489597.59242 21787823.993 21787830.044 21787822.982
+ 1055.799 822.701 53.000 46.000
+ -22223821.17244 -17276364.17042 21109468.022 21109472.080 21109467.128
+ 706.074 550.188 57.000 49.000
+ -4391195.90943 -3366703.83842 24008547.982 24008556.025 24008546.107
+ 3799.329 2960.516 45.000 39.000
+ -4584157.72543 -3549324.68442 24246684.962 24246692.825 24246683.179
+ 1344.604 1047.743 44.000 38.000
+ -2308871.91643 -1778349.77942 24576779.999 24576789.990 24576779.664
+ -314.493 -245.059 42.000 36.000
+ -2363957.27743 -1839588.45442 24998587.965 24998596.398 24998587.139
+ 388.615 302.817 43.000 37.000
+ 04 2 1 6 1 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16590949.92943 -12510994.89842 21895050.357 21895057.111 21895049.750
+ -1078.051 -840.040 53.000 47.000
+ -23518255.66843 -18264079.84342 20211842.862 20211847.703 20211841.623
+ -355.039 -276.654 56.000 50.000
+ -12093979.06643 -9236487.99242 23024140.922 23024148.876 23024139.764
+ -3371.821 -2627.393 49.000 43.000
+ -14692559.00343 -11419333.38242 23180559.672 23180565.292 23180557.794
+ -3231.422 -2517.991 47.000 41.000
+ -6326162.29843 -4914790.10942 23804278.822 23804288.702 23804278.865
+ -1539.279 -1199.438 48.000 40.000
+ -18640872.57743 -14514163.47242 21781825.055 21781830.474 21781823.836
+ 1046.330 815.322 52.000 46.000
+ -22244918.46244 -17292803.63142 21105452.895 21105457.512 21105452.135
+ 700.900 546.156 57.000 49.000
+ -4505132.76843 -3455485.53542 23986864.705 23986876.237 23986864.538
+ 3796.928 2958.645 44.000 39.000
+ -4624429.32943 -3580704.96942 24239018.278 24239027.045 24239016.129
+ 1340.256 1044.355 41.000 37.000
+ -2299221.89243 -1770830.30242 24578615.851 24578628.340 24578617.685
+ -328.727 -256.151 42.000 37.000
+ -2375442.88043 -1848538.18542 24996400.625 24996410.642 24996398.597
+ 377.651 294.274 43.000 37.000
+ 04 2 1 6 1 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16558494.12443 -12485704.67442 21901226.325 21901233.461 21901225.461
+ -1085.403 -845.768 53.000 46.000
+ -23507451.77343 -18255661.23942 20213898.392 20213903.514 20213897.478
+ -364.692 -284.175 56.000 50.000
+ -11992712.77143 -9157579.36342 23043412.248 23043420.297 23043410.679
+ -3378.913 -2632.919 50.000 43.000
+ -14595442.38043 -11343658.16742 23199040.067 23199047.163 23199038.207
+ -3242.513 -2526.633 47.000 41.000
+ -6279853.39543 -4878705.34742 23813092.825 23813100.352 23813090.792
+ -1547.442 -1205.799 48.000 40.000
+ -18672107.88043 -14538502.65242 21775881.059 21775887.387 21775880.078
+ 1036.543 807.696 53.000 46.000
+ -22265856.42144 -17309118.93342 21101468.656 21101473.118 21101467.766
+ 695.344 541.826 57.000 49.000
+ -4618993.13943 -3544207.62942 23965197.947 23965207.594 23965197.649
+ 3794.079 2956.425 44.000 39.000
+ -4664569.28543 -3611982.79042 24231382.525 24231390.925 24231379.631
+ 1335.864 1040.933 44.000 38.000
+ -2289133.58843 -1762969.26642 24580538.458 24580546.347 24580537.105
+ -343.305 -267.510 45.000 37.000
+ -2386602.22043 -1857233.69642 24994278.355 24994288.057 24994277.645
+ 366.587 285.652 43.000 38.000
+ 04 2 1 6 2 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16525819.39943 -12460243.88042 21907445.173 21907451.692 21907443.970
+ -1092.504 -851.302 54.000 47.000
+ -23496366.04443 -18247023.01742 20216007.724 20216013.336 20216007.012
+ -374.082 -291.492 56.000 50.000
+ -11891236.19843 -9078506.87642 23062722.530 23062729.463 23062719.976
+ -3385.933 -2638.389 50.000 43.000
+ -14497999.95143 -11267729.08542 23217583.327 23217590.728 23217582.535
+ -3253.293 -2535.033 47.000 41.000
+ -6233306.66543 -4842435.25342 23821948.714 23821956.295 23821947.869
+ -1555.344 -1211.956 47.000 40.000
+ -18703052.08543 -14562614.98542 21769992.513 21769998.675 21769991.217
+ 1026.784 800.091 53.000 46.000
+ -22286631.95444 -17325307.66942 21097515.216 21097519.783 21097514.292
+ 689.935 537.612 57.000 49.000
+ -4732773.41343 -3632867.31142 23943545.908 23943555.375 23943546.413
+ 3791.462 2954.386 45.000 39.000
+ -4704573.87743 -3643155.12942 24223769.391 24223779.241 24223768.218
+ 1331.349 1037.415 45.000 39.000
+ -2278607.17343 -1754766.92442 24582536.753 24582548.980 24582538.987
+ -357.877 -278.865 43.000 37.000
+ -2397432.43443 -1865672.82042 24992215.315 24992226.885 24992214.406
+ 355.740 277.200 40.000 37.000
+ 04 2 1 6 2 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16492923.95543 -12434611.10142 21913704.747 21913711.809 21913703.742
+ -1100.733 -857.714 53.000 47.000
+ -23484999.33743 -18238165.85542 20218170.926 20218176.231 20218169.657
+ -384.065 -299.271 56.000 50.000
+ -11789551.41143 -8999272.14442 23082072.864 23082080.685 23082071.172
+ -3393.421 -2644.224 49.000 42.000
+ -14400233.73343 -11191547.69442 23236187.023 23236194.128 23236186.336
+ -3264.585 -2543.832 47.000 41.000
+ -6186524.04243 -4805981.36742 23830851.472 23830860.395 23830850.350
+ -1563.739 -1218.498 47.000 40.000
+ -18733705.23443 -14586500.53442 21764159.602 21764165.419 21764158.290
+ 1016.378 791.983 53.000 47.000
+ -22307242.69944 -17341368.00342 21093593.306 21093597.497 21093592.714
+ 683.663 532.724 57.000 49.000
+ -4846469.76443 -3721461.64442 23921911.140 23921919.972 23921910.158
+ 3787.820 2951.548 45.000 39.000
+ -4744439.84043 -3674219.40942 24216182.585 24216192.162 24216181.939
+ 1325.902 1033.170 45.000 39.000
+ -2267643.56143 -1746223.89842 24584627.976 24584637.714 24584626.852
+ -373.027 -290.670 45.000 38.000
+ -2407931.23943 -1873853.63842 24990219.318 24990229.233 24990216.595
+ 343.820 267.912 42.000 36.000
+ 04 2 1 6 3 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16459806.97343 -12408805.69342 21920006.302 21920012.734 21920005.396
+ -1106.979 -862.581 53.000 47.000
+ -23473353.14643 -18229090.91442 20220387.845 20220392.279 20220386.377
+ -392.234 -305.637 56.000 50.000
+ -11687661.03043 -8919877.21042 23101462.060 23101468.856 23101461.176
+ -3399.235 -2648.754 50.000 43.000
+ -14302146.79243 -11115116.39142 23254852.753 23254859.964 23254851.708
+ -3274.398 -2551.479 47.000 41.000
+ -6139508.47543 -4769345.93842 23839798.270 23839805.562 23839797.341
+ -1570.447 -1223.725 46.000 40.000
+ -18764068.43043 -14610160.14242 21758382.172 21758387.476 21758380.130
+ 1007.918 785.391 53.000 47.000
+ -22327687.31244 -17357298.87542 21089702.378 21089706.814 21089702.223
+ 679.288 529.315 57.000 49.000
+ -4960079.66743 -3809988.60542 23900290.537 23900299.990 23900290.474
+ 3785.937 2950.081 46.000 39.000
+ -4784164.83843 -3705173.86242 24208621.306 24208632.990 24208620.697
+ 1322.433 1030.467 43.000 39.000
+ -2256244.64343 -1737341.63142 24586796.265 24586805.996 24586794.767
+ -386.571 -301.224 46.000 39.000
+ -2418096.79643 -1881774.82842 24988285.712 24988294.788 24988282.221
+ 334.108 260.344 42.000 36.000
+ 04 2 1 6 3 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16426469.44943 -12382828.41642 21926349.707 21926357.286 21926348.626
+ -1114.505 -868.445 53.000 47.000
+ -23461430.83343 -18219800.81442 20222655.717 20222661.156 20222654.827
+ -401.565 -312.908 56.000 50.000
+ -11585569.45843 -8840325.50242 23120889.642 23120896.525 23120887.335
+ -3405.939 -2653.978 50.000 43.000
+ -14203743.93043 -11038438.90542 23273578.572 23273586.517 23273575.334
+ -3285.020 -2559.756 46.000 41.000
+ -6092264.82943 -4732532.79142 23848789.549 23848798.021 23848787.925
+ -1578.303 -1229.846 46.000 40.000
+ -18794144.38643 -14633595.93142 21752658.152 21752664.274 21752656.819
+ 998.254 777.860 53.000 47.000
+ -22347965.74043 -17373100.24742 21085843.497 21085848.170 21085842.954
+ 673.497 524.803 56.000 49.000
+ -5073602.24443 -3898447.51842 23878687.645 23878697.237 23878686.827
+ 3782.841 2947.668 46.000 39.000
+ -4823748.08243 -3736017.86342 24201089.660 24201099.908 24201088.466
+ 1317.381 1026.531 44.000 38.000
+ -2244413.76843 -1728122.76842 24589047.031 24589054.890 24589046.196
+ -400.997 -312.465 44.000 38.000
+ -2427929.21743 -1889436.37642 24986415.984 24986426.222 24986413.211
+ 322.377 251.203 44.000 37.000
+ 04 2 1 6 4 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16392912.42743 -12356680.13542 21932735.351 21932742.365 21932734.870
+ -1122.459 -874.643 53.000 46.000
+ -23449236.14743 -18210298.47642 20224976.606 20224982.076 20224975.323
+ -411.236 -320.444 56.000 50.000
+ -11483281.20943 -8760620.54642 23140354.535 23140363.459 23140351.909
+ -3412.976 -2659.462 50.000 43.000
+ -14105030.16443 -10961519.16342 23292363.818 23292371.351 23292361.635
+ -3295.976 -2568.293 47.000 40.000
+ -6044797.91043 -4695545.65642 23857821.577 23857828.882 23857821.729
+ -1586.148 -1235.959 45.000 39.000
+ -18823936.20343 -14656810.31342 21746989.200 21746995.190 21746987.720
+ 988.145 769.983 53.000 47.000
+ -22368078.64143 -17388772.64142 21082016.511 21082020.999 21082015.875
+ 667.426 520.072 56.000 49.000
+ -5187036.92443 -3986837.94942 23857101.997 23857110.817 23857100.794
+ 3779.339 2944.939 46.000 40.000
+ -4863189.20443 -3766751.14942 24193586.416 24193593.748 24193583.984
+ 1311.975 1022.318 46.000 39.000
+ -2232154.50043 -1718570.17742 24591380.099 24591388.017 24591378.839
+ -416.349 -324.428 44.000 39.000
+ -2437429.33743 -1896839.08642 24984604.218 24984616.808 24984605.175
+ 310.925 242.279 41.000 37.000
+ 04 2 1 6 4 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16359129.44743 -12330355.78542 21939165.413 21939171.895 21939164.277
+ -1129.546 -880.166 53.000 47.000
+ -23436765.06043 -18200580.76242 20227349.827 20227354.855 20227348.272
+ -419.894 -327.190 56.000 50.000
+ -11380793.41943 -8680760.11942 23159855.714 23159865.469 23159854.071
+ -3419.042 -2664.188 49.000 43.000
+ -14006003.05643 -10884355.28442 23311207.583 23311215.343 23311205.340
+ -3305.745 -2575.905 46.000 40.000
+ -5997105.14143 -4658382.54642 23866895.855 23866905.244 23866895.223
+ -1593.156 -1241.420 45.000 39.000
+ -18853439.38343 -14679799.78342 21741374.742 21741380.218 21741372.943
+ 979.082 762.921 53.000 46.000
+ -22388018.91443 -17404310.52742 21078221.463 21078226.729 21078220.862
+ 662.114 515.933 56.000 49.000
+ -5300375.44643 -4075153.47742 23835534.261 23835544.540 23835533.048
+ 3776.796 2942.958 47.000 40.000
+ -4902480.16743 -3797367.43342 24186108.498 24186118.635 24186106.860
+ 1307.575 1018.890 45.000 39.000
+ -2219463.11743 -1708680.84742 24593794.470 24593805.359 24593793.992
+ -430.073 -335.122 44.000 38.000
+ -2446589.92843 -1903977.22842 24982864.084 24982872.375 24982861.544
+ 300.234 233.949 44.000 38.000
+ 04 2 1 6 5 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16325121.89743 -12303856.45142 21945636.530 21945642.752 21945635.236
+ -1137.298 -886.206 53.000 47.000
+ -23424021.49843 -18190650.72642 20229774.837 20229779.923 20229773.377
+ -429.312 -334.529 56.000 50.000
+ -11278110.94743 -8600748.00542 23179396.615 23179405.504 23179395.755
+ -3425.976 -2669.592 49.000 43.000
+ -13906668.06343 -10806951.45142 23330109.856 23330117.625 23330108.123
+ -3316.369 -2584.184 46.000 40.000
+ -5949191.55043 -4621047.37142 23876014.032 23876023.466 23876013.363
+ -1600.640 -1247.252 45.000 39.000
+ -18882657.18743 -14702566.88342 21735814.678 21735820.517 21735813.968
+ 969.196 755.218 53.000 47.000
+ -22407787.04243 -17419714.27142 21074460.005 21074464.990 21074459.325
+ 656.092 511.241 56.000 49.000
+ -5413617.49043 -4163393.81442 23813985.263 23813994.474 23813984.190
+ 3773.185 2940.144 47.000 40.000
+ -4941620.91543 -3827866.65142 24178660.861 24178668.931 24178658.248
+ 1301.893 1014.462 45.000 39.000
+ -2206343.70943 -1698457.92642 24596291.627 24596300.727 24596291.088
+ -444.241 -346.162 46.000 39.000
+ -2455411.85343 -1910851.38442 24981183.560 24981194.722 24981183.532
+ 288.502 224.807 44.000 39.000
+ 04 2 1 6 5 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16290892.02943 -12277183.86542 21952149.969 21952156.283 21952149.238
+ -1145.142 -892.318 53.000 47.000
+ -23411009.94643 -18180511.86642 20232251.295 20232255.643 20232249.674
+ -438.454 -341.652 56.000 50.000
+ -11175239.65543 -8520588.76242 23198972.592 23198981.203 23198970.099
+ -3432.309 -2674.526 48.000 43.000
+ -13807031.26043 -10729312.45742 23349070.936 23349078.640 23349068.033
+ -3326.368 -2591.975 46.000 40.000
+ -5901063.36643 -4583545.02242 23885174.013 23885181.906 23885172.640
+ -1608.243 -1253.176 46.000 39.000
+ -18911593.72743 -14725114.80142 21730308.019 21730314.329 21730306.683
+ 959.612 747.750 53.000 47.000
+ -22427384.71643 -17434985.18142 21070730.624 21070735.364 21070730.063
+ 650.105 506.575 56.000 49.000
+ -5526763.33543 -4251559.18542 23792455.436 23792463.743 23792452.143
+ 3769.623 2937.369 48.000 40.000
+ -4980612.06843 -3858249.26742 24171243.093 24171248.957 24171239.913
+ 1296.796 1010.490 45.000 38.000
+ -2192801.22043 -1687905.38442 24598869.450 24598877.727 24598867.835
+ -458.835 -357.534 46.000 38.000
+ -2463896.45943 -1917462.73042 24979569.575 24979577.967 24979567.177
+ 277.046 215.880 43.000 37.000
+ 04 2 1 6 6 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16256435.01943 -12250334.31142 21958707.003 21958713.372 21958705.374
+ -1152.353 -897.937 53.000 46.000
+ -23397728.12243 -18170162.40142 20234778.255 20234783.383 20234776.981
+ -447.326 -348.566 56.000 50.000
+ -11072177.87043 -8440281.06942 23218584.701 23218593.632 23218582.233
+ -3438.629 -2679.451 49.000 43.000
+ -13707091.60443 -10651437.47342 23368087.489 23368096.880 23368086.375
+ -3336.224 -2599.655 44.000 39.000
+ -5852719.44643 -4545874.50542 23894373.540 23894380.226 23894371.933
+ -1615.157 -1258.564 45.000 39.000
+ -18940245.94943 -14747441.17142 21724856.768 21724861.744 21724854.680
+ 950.307 740.499 54.000 46.000
+ -22446806.25243 -17450118.84742 21067035.075 21067039.696 21067034.404
+ 644.424 502.149 56.000 49.000
+ -5639806.20643 -4339644.31342 23770944.023 23770951.459 23770942.029
+ 3766.197 2934.699 48.000 40.000
+ -5019447.05843 -3888510.19042 24163850.758 24163857.842 24163848.947
+ 1291.805 1006.601 45.000 38.000
+ -2178833.19843 -1677021.22642 24601527.447 24601538.042 24601526.908
+ -472.651 -368.299 45.000 38.000
+ -2472038.32943 -1923806.99242 24978020.976 24978030.126 24978020.885
+ 265.618 206.975 45.000 38.000
+ 04 2 1 6 6 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16221752.94743 -12223309.36442 21965306.755 21965313.781 21965305.455
+ -1160.157 -904.018 53.000 46.000
+ -23384180.27843 -18159605.64842 20237356.410 20237361.545 20237355.189
+ -456.358 -355.604 56.000 50.000
+ -10968931.22143 -8359829.32442 23238232.582 23238240.639 23238231.197
+ -3444.895 -2684.334 49.000 43.000
+ -13606854.99043 -10573331.08742 23387163.412 23387170.484 23387160.845
+ -3346.153 -2607.392 45.000 39.000
+ -5804165.53643 -4508040.39742 23903612.733 23903621.705 23903612.835
+ -1622.008 -1263.902 45.000 39.000
+ -18968617.88943 -14769549.14442 21719456.858 21719462.443 21719455.380
+ 940.789 733.082 53.000 47.000
+ -22466052.81043 -17465116.16642 21063372.577 21063377.304 21063371.985
+ 638.307 497.382 56.000 49.000
+ -5752746.48643 -4427649.49542 23749452.191 23749460.596 23749450.021
+ 3762.512 2931.828 48.000 40.000
+ -5058126.35143 -3918649.79042 24156489.096 24156499.032 24156488.978
+ 1286.348 1002.349 45.000 39.000
+ -2164444.23843 -1665809.09842 24604265.608 24604273.831 24604264.310
+ -486.724 -379.265 44.000 38.000
+ -2479838.82243 -1929885.22342 24976533.161 24976546.326 24976533.415
+ 254.241 198.110 42.000 38.000
+ 04 2 1 6 7 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16186840.72743 -12196105.11642 21971950.958 21971957.128 21971949.695
+ -1167.311 -909.593 53.000 46.000
+ -23370364.03643 -18148839.75442 20239985.497 20239990.929 20239984.213
+ -464.744 -362.138 56.000 50.000
+ -10865498.07143 -8279232.26542 23257914.670 23257923.399 23257913.915
+ -3450.546 -2688.737 49.000 43.000
+ -13506320.26843 -10494992.44142 23406291.832 23406300.359 23406290.793
+ -3355.728 -2614.853 45.000 39.000
+ -5755400.60343 -4470041.84242 23912891.558 23912901.719 23912891.270
+ -1628.519 -1268.976 45.000 39.000
+ -18996706.41643 -14791436.27342 21714112.319 21714117.713 21714110.910
+ 931.899 726.155 54.000 47.000
+ -22485118.89143 -17479972.85942 21059744.405 21059748.999 21059743.636
+ 632.835 493.118 56.000 49.000
+ -5865577.45843 -4515569.51442 23727981.415 23727989.023 23727978.795
+ 3759.437 2929.431 48.000 41.000
+ -5096643.35043 -3948662.98242 24149160.016 24149169.766 24149157.881
+ 1281.148 998.297 45.000 39.000
+ -2149632.06843 -1654267.16242 24607083.318 24607091.646 24607083.046
+ -500.652 -390.118 44.000 38.000
+ -2487292.30643 -1935693.07842 24975117.352 24975126.368 24975115.689
+ 243.083 189.415 43.000 37.000
+ 04 2 1 6 7 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16151700.30643 -12168723.04242 21978637.501 21978644.884 21978636.423
+ -1175.061 -915.632 53.000 47.000
+ -23356283.69843 -18137868.07842 20242664.772 20242670.091 20242663.644
+ -473.673 -369.096 56.000 50.000
+ -10761883.96943 -8198494.21842 23277632.826 23277640.887 23277631.326
+ -3456.951 -2693.728 50.000 43.000
+ -13405493.18743 -10416425.94042 23425481.516 23425488.301 23425479.469
+ -3365.327 -2622.333 47.000 39.000
+ -5706430.04843 -4431883.09542 23922211.866 23922221.539 23922211.536
+ -1635.853 -1274.691 46.000 39.000
+ -19024515.34643 -14813105.52842 21708819.911 21708825.821 21708818.615
+ 922.499 718.830 53.000 47.000
+ -22504005.69643 -17494689.85042 21056150.220 21056155.058 21056149.573
+ 626.616 488.272 56.000 49.000
+ -5978298.95443 -4603404.22642 23706531.016 23706537.938 23706529.007
+ 3755.689 2926.511 49.000 41.000
+ -5134998.50543 -3978550.04742 24141858.424 24141871.014 24141858.726
+ 1275.799 994.129 43.000 38.000
+ -2134401.25443 -1642399.02842 24609981.157 24609990.023 24609980.390
+ -514.742 -401.098 43.000 38.000
+ -2494400.27343 -1941231.68942 24973764.791 24973772.624 24973764.390
+ 231.280 180.218 43.000 37.000
+ 04 2 1 6 8 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16116331.91743 -12141163.33242 21985367.813 21985375.069 21985366.961
+ -1182.954 -921.782 53.000 47.000
+ -23341941.97143 -18126692.71642 20245394.149 20245399.720 20245392.813
+ -482.538 -376.004 56.000 50.000
+ -10658092.61543 -8117618.06142 23297383.228 23297391.985 23297381.897
+ -3462.728 -2698.230 49.000 42.000
+ -13304378.02143 -10337634.99342 23444722.720 23444729.231 23444720.822
+ -3374.846 -2629.750 46.000 40.000
+ -5657258.19843 -4393567.48442 23931568.876 23931576.970 23931567.123
+ -1642.620 -1279.964 45.000 39.000
+ -19052046.88743 -14834558.65142 21703580.961 21703586.640 21703579.871
+ 913.014 711.439 53.000 47.000
+ -22522712.35944 -17509266.47542 21052591.074 21052595.114 21052590.253
+ 620.407 483.434 57.000 50.000
+ -6090909.35143 -4691152.37942 23685101.406 23685109.070 23685100.207
+ 3751.778 2923.463 48.000 41.000
+ -5173190.42843 -4008309.90242 24134592.978 24134603.493 24134593.445
+ 1270.022 989.628 45.000 39.000
+ -2118754.82143 -1630206.98442 24612960.166 24612969.495 24612959.405
+ -528.610 -411.904 45.000 38.000
+ -2501162.37143 -1946500.79842 24972478.305 24972489.919 24972477.936
+ 219.374 170.941 44.000 38.000
+ 04 2 1 6 8 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16080732.78743 -12113423.80942 21992142.879 21992149.031 21992141.376
+ -1189.463 -926.854 53.000 46.000
+ -23327338.60843 -18115313.48442 20248172.711 20248178.169 20248171.705
+ -490.061 -381.866 56.000 50.000
+ -10554124.86943 -8036604.44142 23317167.769 23317177.435 23317166.746
+ -3467.575 -2702.006 49.000 43.000
+ -13202975.96343 -10258620.47242 23464018.944 23464026.874 23464016.139
+ -3383.787 -2636.717 47.000 39.000
+ -5607886.04743 -4355095.83042 23940962.485 23940973.258 23940962.483
+ -1647.869 -1284.054 45.000 39.000
+ -19079300.31243 -14855795.05242 21698394.759 21698400.610 21698393.021
+ 904.931 705.141 53.000 47.000
+ -22541235.69843 -17523700.25142 21049065.664 21049070.201 21049064.920
+ 615.393 479.527 56.000 50.000
+ -6203404.17343 -4778810.45642 23663693.269 23663701.917 23663691.802
+ 3748.835 2921.170 48.000 41.000
+ -5211214.93243 -4037939.29242 24127356.485 24127367.411 24127355.563
+ 1265.580 986.166 45.000 39.000
+ -2102693.13343 -1617691.40142 24616013.935 24616024.874 24616013.188
+ -541.497 -421.946 42.000 38.000
+ -2507575.12943 -1951497.74642 24971257.117 24971267.766 24971256.332
+ 209.113 162.945 45.000 38.000
+ 04 2 1 6 9 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16044901.85543 -12085503.66342 21998960.712 21998967.346 21998959.674
+ -1197.736 -933.301 53.000 46.000
+ -23312474.76643 -18103731.28442 20251001.424 20251006.682 20251000.291
+ -499.409 -389.150 56.000 50.000
+ -10449982.80343 -7955455.01442 23336985.454 23336993.798 23336984.345
+ -3473.948 -2706.972 48.000 42.000
+ -13101289.89143 -10179384.63742 23483368.119 23483375.826 23483365.933
+ -3393.583 -2644.350 46.000 39.000
+ -5558316.22643 -4316470.10242 23950398.303 23950405.493 23950396.913
+ -1655.093 -1289.683 47.000 40.000
+ -19106276.33143 -14876815.29942 21693260.498 21693266.846 21693259.732
+ 895.110 697.488 53.000 47.000
+ -22559573.70244 -17537989.60542 21045576.537 21045580.827 21045575.771
+ 608.601 474.235 57.000 50.000
+ -6315780.48843 -4866376.20242 23642307.793 23642316.741 23642306.420
+ 3744.269 2917.612 47.000 41.000
+ -5249069.03343 -4067435.92342 24120154.484 24120162.416 24120153.857
+ 1259.145 981.152 46.000 39.000
+ -2086217.46643 -1604853.24842 24619150.670 24619160.874 24619150.813
+ -555.443 -432.813 44.000 38.000
+ -2513636.90443 -1956221.17142 24970103.817 24970112.973 24970101.694
+ 196.677 153.255 44.000 38.000
+ 04 2 1 6 9 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16008838.76343 -12057402.59542 22005823.864 22005830.443 22005822.502
+ -1206.216 -939.908 53.000 46.000
+ -23297352.47643 -18091947.69142 20253879.369 20253884.547 20253878.070
+ -508.607 -396.317 56.000 50.000
+ -10345669.62443 -7874172.23942 23356835.166 23356843.913 23356834.139
+ -3480.331 -2711.946 48.000 42.000
+ -12999323.02643 -10099930.00842 23502771.571 23502778.249 23502770.228
+ -3403.938 -2652.419 47.000 39.000
+ -5508552.15943 -4277692.98842 23959865.979 23959876.120 23959864.545
+ -1662.269 -1295.274 46.000 39.000
+ -19132976.37643 -14897620.49942 21688181.059 21688185.713 21688179.160
+ 885.291 689.837 54.000 47.000
+ -22577725.12144 -17552133.57742 21042122.479 21042126.484 21042121.808
+ 601.633 468.805 57.000 50.000
+ -6428036.09343 -4953847.88742 23620946.521 23620954.138 23620945.349
+ 3739.664 2914.024 47.000 40.000
+ -5286750.86143 -4096798.32642 24112982.474 24112991.999 24112982.424
+ 1252.652 976.092 45.000 39.000
+ -2069329.86443 -1591694.12142 24622363.502 24622373.153 24622363.173
+ -569.923 -444.096 41.000 37.000
+ -2519346.73643 -1960670.32242 24969017.088 24969026.676 24969015.167
+ 184.123 143.472 44.000 38.000
+ 04 2 1 6 10 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15972544.92843 -12029121.74442 22012730.174 22012736.203 22012728.938
+ -1213.798 -945.817 53.000 46.000
+ -23281975.55543 -18079965.69042 20256805.026 20256810.489 20256804.309
+ -516.947 -402.816 56.000 50.000
+ -10241190.01343 -7792759.77842 23376717.601 23376726.842 23376716.326
+ -3485.895 -2716.282 47.000 42.000
+ -12897080.65243 -10020260.69942 23522227.953 23522235.753 23522228.293
+ -3412.855 -2659.367 47.000 39.000
+ -5458598.82043 -4238768.45242 23969373.546 23969381.066 23969370.922
+ -1668.284 -1299.961 46.000 38.000
+ -19159403.78243 -14918213.25342 21683151.385 21683156.716 21683150.027
+ 876.290 682.823 53.000 47.000
+ -22595690.53044 -17566132.60442 21038703.306 21038708.025 21038702.901
+ 595.635 464.131 57.000 50.000
+ -6540170.32343 -5041225.00342 23599608.386 23599616.523 23599606.575
+ 3735.738 2910.965 47.000 40.000
+ -5324260.35343 -4126026.41542 24105845.430 24105854.074 24105843.969
+ 1247.028 971.710 46.000 39.000
+ -2052034.82543 -1578217.48642 24625654.668 24625667.092 24625655.789
+ -583.945 -455.022 43.000 37.000
+ -2524705.14843 -1964845.63842 24967996.302 24968007.334 24967995.289
+ 172.736 134.599 43.000 38.000
+ 04 2 1 6 10 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15936016.42543 -12000658.02142 22019681.023 22019687.970 22019679.895
+ -1221.769 -952.028 53.000 46.000
+ -23266342.45743 -18067784.07242 20259780.178 20259785.423 20259779.201
+ -525.626 -409.579 56.000 50.000
+ -10136543.71543 -7711217.45142 23396632.091 23396640.545 23396629.861
+ -3491.363 -2720.542 47.000 42.000
+ -12794562.76943 -9940376.68342 23541737.254 23541743.896 23541734.877
+ -3422.157 -2666.616 47.000 39.000
+ -5408456.26543 -4199696.42542 23978914.358 23978924.451 23978913.859
+ -1674.685 -1304.949 46.000 39.000
+ -19185556.65843 -14938592.08942 21678174.754 21678180.280 21678172.780
+ 866.870 675.483 53.000 47.000
+ -22613465.18643 -17579982.99342 21035320.734 21035325.435 21035320.527
+ 589.001 458.962 56.000 50.000
+ -6652177.60243 -5128503.19142 23578293.486 23578301.976 23578292.406
+ 3731.255 2907.471 47.000 40.000
+ -5361591.87843 -4155115.80742 24098740.873 24098749.791 24098739.283
+ 1240.907 966.941 45.000 39.000
+ -2034331.22543 -1564422.52642 24629025.441 24629035.796 24629025.153
+ -597.290 -465.421 43.000 37.000
+ -2529708.04143 -1968743.92542 24967046.251 24967056.428 24967044.038
+ 160.704 125.224 44.000 38.000
+ 04 2 1 6 11 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15899255.08443 -11972012.87142 22026676.654 22026683.467 22026675.662
+ -1229.516 -958.064 53.000 46.000
+ -23250457.37643 -18055406.09742 20262803.428 20262808.290 20262801.947
+ -534.012 -416.113 56.000 50.000
+ -10031735.98943 -7629549.33642 23416574.080 23416585.521 23416573.776
+ -3496.597 -2724.621 46.000 41.000
+ -12691774.93143 -9860282.32742 23561296.574 23561305.420 23561294.775
+ -3431.056 -2673.550 45.000 39.000
+ -5358129.97743 -4160481.28142 23988489.594 23988500.712 23988488.454
+ -1680.926 -1309.812 45.000 39.000
+ -19211438.66343 -14958759.86042 21673249.635 21673254.800 21673247.784
+ 857.994 668.567 53.000 47.000
+ -22631050.39244 -17593685.75742 21031974.930 21031979.276 21031974.190
+ 582.687 454.042 57.000 50.000
+ -6764057.70943 -5215682.30242 23557001.506 23557011.274 23557001.307
+ 3726.775 2903.981 47.000 40.000
+ -5398745.71743 -4184066.75042 24091672.692 24091681.864 24091670.866
+ 1234.996 962.335 46.000 39.000
+ -2016223.56343 -1550312.70342 24632471.937 24632480.214 24632471.769
+ -610.654 -475.834 43.000 37.000
+ -2534356.85043 -1972366.31542 24966159.483 24966168.825 24966158.831
+ 148.945 116.061 43.000 38.000
+ 04 2 1 6 11 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15862256.28543 -11943182.68242 22033716.607 22033724.513 22033715.706
+ -1237.361 -964.177 52.000 46.000
+ -23234318.30243 -18042830.21342 20265874.320 20265879.724 20265873.247
+ -542.332 -422.596 56.000 50.000
+ -9926765.73143 -7547754.59542 23436551.485 23436560.250 23436548.171
+ -3501.568 -2728.494 46.000 41.000
+ -12588716.43843 -9779977.09342 23580907.748 23580915.462 23580906.104
+ -3440.130 -2680.621 45.000 39.000
+ -5307619.27643 -4121122.41142 23998101.327 23998113.380 23998101.621
+ -1686.767 -1314.364 45.000 39.000
+ -19237047.55343 -14978714.81442 21668376.562 21668382.130 21668375.029
+ 849.037 661.587 54.000 47.000
+ -22648440.65844 -17607236.62442 21028665.819 21028670.056 21028664.880
+ 576.336 449.093 57.000 50.000
+ -6875804.23843 -5302757.32642 23535737.674 23535746.184 23535737.156
+ 3722.572 2900.705 47.000 41.000
+ -5435715.76943 -4212874.51842 24084635.213 24084643.473 24084632.856
+ 1229.075 957.721 43.000 37.000
+ -1997710.23043 -1535886.70942 24635994.688 24636003.777 24635993.956
+ -623.892 -486.150 43.000 37.000
+ -2538646.04643 -1975708.52642 24965344.103 24965353.990 24965343.074
+ 136.842 106.630 43.000 38.000
+ 04 2 1 6 12 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15825022.08443 -11914169.04842 22040802.521 22040809.112 22040801.325
+ -1245.067 -970.182 52.000 46.000
+ -23217929.41243 -18030059.65542 20268992.725 20268997.574 20268991.615
+ -550.317 -428.818 56.000 50.000
+ -9821638.22743 -7465837.31242 23456555.781 23456565.812 23456554.554
+ -3506.904 -2732.652 46.000 41.000
+ -12485393.23043 -9699465.56842 23600569.149 23600577.317 23600567.812
+ -3448.529 -2687.165 46.000 39.000
+ -5256929.76743 -4081624.23542 24007748.918 24007757.596 24007747.846
+ -1692.518 -1318.845 45.000 38.000
+ -19262386.80943 -14998459.67242 21663554.363 21663559.556 21663553.057
+ 840.260 654.748 54.000 47.000
+ -22665637.06544 -17620636.43642 21025393.046 21025397.555 21025392.292
+ 570.090 444.226 57.000 50.000
+ -6987417.41043 -5389728.44342 23514497.533 23514507.921 23514497.610
+ 3718.291 2897.370 47.000 41.000
+ -5472502.38243 -4241539.27242 24077635.974 24077646.117 24077635.621
+ 1223.274 953.201 45.000 38.000
+ -1978795.51843 -1521148.01842 24639594.975 24639603.926 24639593.624
+ -637.660 -496.878 43.000 37.000
+ -2542577.36643 -1978771.91342 24964596.819 24964604.921 24964595.630
+ 125.195 97.555 42.000 38.000
+ 04 2 1 6 12 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15787553.70843 -11884972.94942 22047932.526 22047939.318 22047931.878
+ -1252.713 -976.140 53.000 46.000
+ -23201294.40943 -18017097.33142 20272158.757 20272163.822 20272157.326
+ -558.527 -435.216 56.000 50.000
+ -9716358.23543 -7383801.20542 23476590.914 23476599.864 23476589.240
+ -3511.755 -2736.432 47.000 41.000
+ -12381810.32643 -9618751.67942 23620281.833 23620287.624 23620281.229
+ -3457.030 -2693.790 46.000 38.000
+ -5206066.44043 -4041990.56842 24017427.540 24017437.726 24017427.812
+ -1698.087 -1323.185 45.000 39.000
+ -19287459.63443 -15017996.92342 21658783.674 21658788.349 21658781.516
+ 831.398 647.843 54.000 47.000
+ -22682639.84644 -17633885.37142 21022157.658 21022161.990 21022156.656
+ 563.602 439.170 57.000 50.000
+ -7098896.61043 -5476595.16542 23493284.372 23493291.873 23493282.787
+ 3713.746 2893.828 48.000 41.000
+ -5509105.24243 -4270060.92342 24070670.250 24070681.125 24070670.106
+ 1216.930 948.257 45.000 38.000
+ -1959483.84243 -1506099.98442 24643268.688 24643277.288 24643269.384
+ -650.396 -506.802 42.000 36.000
+ -2546151.41243 -1981556.84742 24963915.644 24963925.624 24963914.752
+ 112.936 88.002 42.000 38.000
+ 04 2 1 6 13 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15749845.76943 -11855590.15642 22055108.393 22055115.278 22055107.126
+ -1260.678 -982.346 53.000 46.000
+ -23184410.27843 -18003940.87242 20275371.292 20275376.268 20275370.155
+ -566.683 -441.571 56.000 49.000
+ -9610923.76643 -7301644.72742 23496654.559 23496662.712 23496653.278
+ -3516.976 -2740.501 47.000 41.000
+ -12277966.23543 -9537834.24042 23640042.459 23640051.415 23640041.469
+ -3465.777 -2700.605 47.000 38.000
+ -5155027.82743 -4002220.32942 24027139.285 24027148.657 24027139.243
+ -1704.050 -1327.831 45.000 38.000
+ -19312262.88543 -15037324.11242 21654064.034 21654068.907 21654061.910
+ 822.564 640.959 54.000 47.000
+ -22699443.18644 -17646978.89342 21018960.266 21018964.687 21018959.327
+ 556.957 433.992 57.000 50.000
+ -7210234.42343 -5563351.73142 23472097.506 23472105.914 23472097.305
+ 3709.275 2890.344 49.000 41.000
+ -5545517.31243 -4298433.88542 24063742.301 24063749.757 24063739.390
+ 1210.691 943.396 45.000 38.000
+ -1939772.75043 -1490740.70542 24647017.040 24647028.843 24647017.420
+ -663.062 -516.672 42.000 36.000
+ -2549362.28943 -1984058.75042 24963303.850 24963314.982 24963303.999
+ 101.092 78.773 44.000 39.000
+ 04 2 1 6 13 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15711901.94643 -11826023.56242 22062329.022 22062335.492 22062328.144
+ -1268.476 -988.423 53.000 46.000
+ -23167283.19943 -17990595.10842 20278630.361 20278635.607 20278629.289
+ -574.634 -447.767 56.000 50.000
+ -9505342.33343 -7219373.71142 23516747.275 23516755.832 23516746.883
+ -3521.430 -2743.971 48.000 41.000
+ -12173868.64543 -9456719.29642 23659853.078 23659860.058 23659852.200
+ -3473.815 -2706.869 46.000 38.000
+ -5103821.46343 -3962319.39342 24036885.210 24036894.410 24036884.280
+ -1709.522 -1332.095 45.000 39.000
+ -19336802.02743 -15056445.51342 21649393.451 21649399.578 21649392.104
+ 813.854 634.172 54.000 47.000
+ -22716049.87044 -17659919.17742 21015799.948 21015804.476 21015799.157
+ 550.530 428.984 57.000 50.000
+ -7321432.78443 -5649999.63942 23450937.291 23450945.938 23450935.734
+ 3704.781 2886.842 49.000 42.000
+ -5581740.91043 -4326659.93442 24056847.609 24056857.826 24056846.296
+ 1204.503 938.574 43.000 37.000
+ -1919668.73143 -1475075.21742 24650845.904 24650855.071 24650845.556
+ -676.277 -526.969 43.000 36.000
+ -2552213.46443 -1986280.39542 24962762.846 24962771.970 24962761.887
+ 89.412 69.672 45.000 38.000
+ 04 2 1 6 14 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15673718.23143 -11796270.04942 22069595.396 22069602.044 22069594.077
+ -1276.276 -994.501 53.000 46.000
+ -23149911.22943 -17977058.51942 20281936.491 20281941.631 20281935.167
+ -582.575 -453.954 56.000 50.000
+ -9399612.74543 -7136987.25642 23536866.417 23536874.399 23536864.876
+ -3526.196 -2747.685 49.000 41.000
+ -12069517.18743 -9375406.52442 23679709.741 23679716.755 23679708.049
+ -3482.206 -2713.407 46.000 38.000
+ -5052446.86443 -3922287.35942 24046659.731 24046672.089 24046659.631
+ -1714.748 -1336.167 44.000 39.000
+ -19361074.88443 -15075359.41642 21644775.120 21644780.466 21644773.007
+ 805.232 627.454 54.000 47.000
+ -22732454.55644 -17672702.06242 21012678.457 21012682.657 21012677.859
+ 543.990 423.888 57.000 50.000
+ -7432485.37843 -5736533.95442 23429804.447 23429812.730 23429802.940
+ 3699.743 2882.917 48.000 41.000
+ -5617770.12243 -4354734.53442 24049991.843 24050001.046 24049990.839
+ 1198.306 933.745 44.000 38.000
+ -1899170.34343 -1459102.49242 24654744.922 24654753.337 24654744.560
+ -689.396 -537.192 44.000 36.000
+ -2554700.01343 -1988217.89242 24962290.920 24962297.906 24962288.116
+ 77.164 60.128 44.000 38.000
+ 04 2 1 6 14 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15635294.09543 -11766329.19542 22076906.852 22076913.426 22076905.504
+ -1284.504 -1000.912 52.000 46.000
+ -23132296.26243 -17963332.58942 20285288.657 20285293.655 20285287.608
+ -590.986 -460.508 56.000 50.000
+ -9293738.14843 -7054487.82342 23557013.859 23557021.041 23557014.614
+ -3531.297 -2751.660 49.000 41.000
+ -11964914.98743 -9293898.36842 23699614.215 23699623.043 23699613.365
+ -3490.595 -2719.944 46.000 39.000
+ -5000907.23843 -3882126.75642 24056470.184 24056479.080 24056468.737
+ -1720.487 -1340.639 46.000 39.000
+ -19385082.81243 -15094066.87742 21640206.101 21640211.721 21640204.705
+ 796.152 620.378 54.000 47.000
+ -22748656.11644 -17685326.65442 21009595.380 21009599.537 21009594.424
+ 536.881 418.349 57.000 50.000
+ -7543390.19943 -5822953.10742 23408699.441 23408707.591 23408700.925
+ 3694.717 2879.000 48.000 41.000
+ -5653602.83443 -4382656.05542 24043173.004 24043181.557 24043171.915
+ 1191.310 928.294 45.000 38.000
+ -1878279.99543 -1442824.31742 24658720.937 24658728.929 24658720.596
+ -702.557 -547.447 45.000 37.000
+ -2556821.15743 -1989870.68442 24961885.481 24961895.405 24961885.057
+ 65.007 50.655 45.000 39.000
+ 04 2 1 6 15 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15596628.23343 -11736199.98042 22084264.135 22084271.110 22084263.538
+ -1292.767 -1007.351 52.000 46.000
+ -23114439.34143 -17949418.12242 20288686.311 20288691.705 20288685.270
+ -599.083 -466.818 56.000 50.000
+ -9187720.69143 -6971877.07342 23577189.152 23577197.340 23577186.582
+ -3536.043 -2755.358 48.000 41.000
+ -11860064.73143 -9212196.93942 23719567.427 23719575.312 23719564.706
+ -3498.977 -2726.475 46.000 39.000
+ -4949205.09543 -3841839.53842 24066306.692 24066316.728 24066306.680
+ -1725.646 -1344.659 44.000 39.000
+ -19408826.56243 -15112568.49742 21635687.879 21635693.718 21635686.159
+ 787.236 613.431 54.000 47.000
+ -22764652.27944 -17697791.20042 21006551.356 21006555.789 21006550.654
+ 529.926 412.929 57.000 50.000
+ -7654144.13143 -5909254.68842 23387625.321 23387633.713 23387623.608
+ 3689.370 2874.834 48.000 41.000
+ -5689236.34743 -4410422.34742 24036391.710 24036402.185 24036389.784
+ 1184.645 923.100 44.000 37.000
+ -1856999.25143 -1426241.96442 24662767.814 24662782.668 24662768.174
+ -715.771 -557.744 44.000 37.000
+ -2558575.14043 -1991237.40542 24961551.474 24961561.186 24961550.841
+ 52.111 40.606 44.000 39.000
+ 04 2 1 6 15 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15557721.63043 -11705883.19142 22091668.328 22091674.784 22091667.689
+ -1300.180 -1013.127 52.000 46.000
+ -23096343.92943 -17935317.81442 20292129.571 20292135.464 20292128.652
+ -606.515 -472.609 56.000 50.000
+ -9081564.78843 -6889158.47542 23597389.996 23597398.895 23597389.272
+ -3540.137 -2758.548 49.000 41.000
+ -11754971.21643 -9130305.93842 23739565.153 23739572.633 23739563.143
+ -3506.475 -2732.318 45.000 38.000
+ -4897345.31343 -3801429.44742 24076175.479 24076185.618 24076176.064
+ -1730.622 -1348.537 44.000 38.000
+ -19432309.03043 -15130866.51242 21631219.244 21631224.287 21631217.500
+ 779.032 607.038 53.000 47.000
+ -22780443.29644 -17710095.88542 21003546.309 21003550.823 21003545.507
+ 523.577 407.982 57.000 50.000
+ -7764745.83843 -5995437.66042 23366576.849 23366584.899 23366576.694
+ 3684.751 2871.235 48.000 41.000
+ -5724669.98543 -4438032.85742 24029649.571 24029657.128 24029647.471
+ 1178.296 918.153 44.000 38.000
+ -1835332.03943 -1409358.48242 24666892.383 24666900.965 24666891.392
+ -728.003 -567.275 43.000 37.000
+ -2559962.67243 -1992318.58142 24961286.985 24961297.495 24961285.945
+ 40.567 31.611 43.000 37.000
+ 04 2 1 6 16 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15518568.98543 -11675374.66842 22099119.787 22099126.189 22099118.171
+ -1309.125 -1020.097 53.000 46.000
+ -23078006.79543 -17921029.15842 20295619.421 20295624.640 20295618.282
+ -615.253 -479.418 56.000 50.000
+ -8975268.36343 -6806330.36242 23617617.291 23617626.522 23617615.887
+ -3545.518 -2762.741 48.000 42.000
+ -11649632.71843 -9048224.01642 23759610.709 23759618.954 23759608.756
+ -3515.228 -2739.139 45.000 38.000
+ -4845326.08843 -3760895.12642 24086074.696 24086086.389 24086073.859
+ -1736.908 -1353.435 43.000 38.000
+ -19455526.88443 -15148958.33342 21626801.005 21626806.722 21626799.428
+ 769.531 599.635 53.000 47.000
+ -22796023.10444 -17722235.99742 21000581.509 21000585.874 21000580.661
+ 515.801 401.923 57.000 50.000
+ -7875187.70143 -6081496.08042 23345561.553 23345568.498 23345559.405
+ 3678.732 2866.544 48.000 41.000
+ -5759896.77443 -4465482.19142 24022945.065 24022956.633 24022943.155
+ 1170.780 912.296 46.000 38.000
+ -1813275.59343 -1392171.69242 24671090.590 24671100.575 24671091.557
+ -741.404 -577.717 43.000 36.000
+ -2560977.83043 -1993109.55942 24961094.074 24961101.913 24961093.728
+ 27.418 21.365 44.000 37.000
+ 04 2 1 6 16 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15479179.94243 -11644681.94842 22106614.521 22106621.189 22106612.530
+ -1316.570 -1025.899 52.000 46.000
+ -23059440.10743 -17906561.62242 20299152.674 20299157.707 20299151.425
+ -622.412 -484.996 56.000 50.000
+ -8868844.56743 -6723403.02342 23637869.707 23637879.323 23637867.843
+ -3549.113 -2765.542 48.000 42.000
+ -11544062.80143 -8965961.83942 23779700.832 23779709.118 23779698.797
+ -3522.460 -2744.774 44.000 38.000
+ -4793160.89243 -3720247.07642 24096002.146 24096012.002 24096000.209
+ -1740.842 -1356.500 44.000 38.000
+ -19478491.83443 -15166853.08542 21622430.860 21622436.040 21622429.275
+ 761.579 593.438 54.000 47.000
+ -22811400.57844 -17734218.43842 20997655.323 20997659.397 20997654.283
+ 509.525 397.032 57.000 50.000
+ -7985477.95843 -6167436.36142 23324573.324 23324582.189 23324571.110
+ 3674.159 2862.981 48.000 42.000
+ -5794924.98143 -4492776.87042 24016280.346 24016289.919 24016279.838
+ 1164.461 907.372 46.000 38.000
+ -1790842.99343 -1374691.78842 24675359.652 24675367.959 24675356.619
+ -754.039 -587.563 43.000 36.000
+ -2561629.93343 -1993617.64042 24960970.546 24960979.324 24960969.929
+ 15.873 12.368 44.000 38.000
+ 04 2 1 6 17 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15439546.33143 -11613798.66842 22114156.276 22114163.488 22114155.172
+ -1325.418 -1032.793 52.000 46.000
+ -23040637.96543 -17891910.61742 20302730.611 20302735.567 20302729.598
+ -630.811 -491.541 56.000 50.000
+ -8762288.61043 -6640372.68442 23658146.612 23658156.614 23658144.540
+ -3554.132 -2769.453 49.000 41.000
+ -11438257.01443 -8883515.84242 23799835.143 23799843.509 23799833.022
+ -3530.696 -2751.192 45.000 39.000
+ -4740845.18743 -3679481.72642 24105958.038 24105967.984 24105956.348
+ -1746.598 -1360.985 45.000 39.000
+ -19501197.47843 -15184545.77442 21618110.292 21618115.414 21618108.187
+ 752.487 586.354 53.000 47.000
+ -22826566.23644 -17746035.83142 20994769.309 20994773.687 20994768.726
+ 501.815 391.025 57.000 50.000
+ -8095606.35343 -6253250.50742 23303615.633 23303624.990 23303616.140
+ 3668.119 2858.275 48.000 42.000
+ -5829744.58843 -4519908.98942 24009654.405 24009663.358 24009651.864
+ 1156.966 901.532 46.000 38.000
+ -1768028.64743 -1356914.41042 24679702.595 24679709.192 24679701.232
+ -766.994 -597.658 45.000 37.000
+ -2561910.23743 -1993836.05242 24960917.847 24960927.659 24960914.421
+ 2.908 2.266 43.000 38.000
+ 04 2 1 6 17 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15399665.62643 -11582722.84542 22121745.195 22121751.716 22121743.736
+ -1334.344 -1039.748 52.000 45.000
+ -23021599.82243 -17877075.72042 20306353.658 20306358.626 20306352.352
+ -639.262 -498.126 56.000 50.000
+ -8655601.35243 -6557240.05142 23678448.816 23678459.458 23678447.902
+ -3559.289 -2773.472 48.000 41.000
+ -11332216.49243 -8800886.92542 23820012.790 23820021.200 23820012.441
+ -3539.237 -2757.847 45.000 39.000
+ -4688380.18043 -3638600.05642 24115940.488 24115950.378 24115940.013
+ -1752.078 -1365.255 45.000 39.000
+ -19523642.99843 -15202035.77542 21613838.494 21613844.169 21613837.243
+ 743.058 579.006 53.000 47.000
+ -22841516.35644 -17757685.26442 20991924.562 20991928.730 20991923.657
+ 493.950 384.896 57.000 50.000
+ -8205568.46143 -6338935.09742 23282690.209 23282698.292 23282689.218
+ 3662.096 2853.581 49.000 42.000
+ -5864351.45043 -4546875.25242 24003067.908 24003077.825 24003068.038
+ 1149.298 895.557 46.000 39.000
+ -1744832.78143 -1338839.78842 24684115.053 24684125.046 24684115.591
+ -780.366 -608.077 45.000 38.000
+ -2561815.68543 -1993762.28642 24960932.010 24960942.968 24960931.019
+ -10.171 -7.925 42.000 37.000
+ 04 2 1 6 18 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15359537.69143 -11551454.38642 22129382.172 22129389.250 22129380.488
+ -1341.636 -1045.431 53.000 46.000
+ -23002327.89843 -17862058.65142 20310021.225 20310025.921 20310019.698
+ -646.204 -503.535 56.000 50.000
+ -8548785.88943 -6474007.52942 23698774.487 23698784.220 23698772.923
+ -3562.821 -2776.224 48.000 40.000
+ -11225944.62243 -8718077.74842 23840236.390 23840245.586 23840235.173
+ -3545.542 -2762.760 45.000 39.000
+ -4635769.26643 -3597604.70342 24125953.288 24125963.259 24125951.978
+ -1755.823 -1368.174 44.000 39.000
+ -19545830.28243 -15219324.54742 21609616.471 21609621.901 21609615.387
+ 735.378 573.022 53.000 47.000
+ -22856249.98044 -17769166.00342 20989120.113 20989125.185 20989119.734
+ 487.485 379.858 57.000 50.000
+ -8315362.10343 -6424488.41642 23261797.330 23261805.910 23261796.676
+ 3657.090 2849.681 49.000 42.000
+ -5898743.68443 -4573674.32542 23996524.379 23996532.011 23996522.168
+ 1142.708 890.422 46.000 39.000
+ -1721258.16243 -1320470.02842 24688600.829 24688607.962 24688599.302
+ -792.081 -617.206 43.000 37.000
+ -2561345.61443 -1993395.99142 24961025.032 24961033.028 24961024.623
+ -21.839 -17.017 45.000 39.000
+ 04 2 1 6 18 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15319165.65843 -11519995.72342 22137064.111 22137070.604 22137062.980
+ -1350.003 -1051.950 53.000 46.000
+ -22982827.53543 -17846863.58742 20313731.782 20313736.814 20313730.489
+ -654.014 -509.621 56.000 49.000
+ -8441848.50743 -6390679.99742 23719124.653 23719134.079 23719123.322
+ -3566.790 -2779.317 48.000 40.000
+ -11119448.21943 -8635093.60242 23860501.569 23860510.743 23860500.972
+ -3553.667 -2769.091 45.000 39.000
+ -4583019.18543 -3556500.92142 24135990.692 24135999.684 24135990.320
+ -1760.656 -1371.940 44.000 39.000
+ -19567764.22843 -15236415.91742 21605442.436 21605448.237 21605441.328
+ 726.834 566.364 54.000 47.000
+ -22870769.43644 -17780479.85742 20986357.741 20986362.248 20986356.953
+ 480.328 374.282 57.000 50.000
+ -8424988.30343 -6509911.25842 23240935.471 23240943.813 23240935.228
+ 3651.206 2845.096 49.000 41.000
+ -5932922.86043 -4600307.36442 23990019.029 23990029.728 23990017.723
+ 1135.561 884.853 46.000 39.000
+ -1697310.95943 -1301809.94242 24693158.660 24693168.092 24693157.502
+ -804.630 -626.984 44.000 38.000
+ -2560502.64443 -1992739.10442 24961183.721 24961194.205 24961183.755
+ -34.835 -27.144 45.000 38.000
+ 04 2 1 6 19 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15278548.17843 -11488345.81042 22144794.230 22144800.748 22144792.633
+ -1358.366 -1058.467 52.000 46.000
+ -22963099.73543 -17831491.28842 20317485.660 20317490.511 20317484.483
+ -661.709 -515.617 56.000 49.000
+ -8334791.57943 -6307259.30242 23739496.894 23739505.822 23739495.283
+ -3571.078 -2782.658 47.000 40.000
+ -11012729.93843 -8551936.56842 23880809.674 23880817.816 23880808.744
+ -3561.380 -2775.101 45.000 39.000
+ -4530132.39843 -3515290.57542 24146055.436 24146065.874 24146055.126
+ -1765.554 -1375.756 44.000 40.000
+ -19589445.56943 -15253310.44442 21601316.929 21601322.622 21601315.511
+ 718.140 559.590 54.000 47.000
+ -22885072.77144 -17791625.29942 20983635.783 20983640.417 20983635.280
+ 472.752 368.378 57.000 50.000
+ -8534443.88843 -6595201.14742 23220107.595 23220115.373 23220106.338
+ 3645.191 2840.409 48.000 41.000
+ -5966886.02343 -4626772.09642 23983557.108 23983565.115 23983554.349
+ 1127.958 878.928 47.000 39.000
+ -1672992.87043 -1282860.80442 24697786.368 24697796.556 24697784.943
+ -817.085 -636.690 44.000 37.000
+ -2559285.28443 -1991790.46242 24961417.140 24961426.448 24961414.968
+ -47.236 -36.807 44.000 38.000
+ 04 2 1 6 19 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15237682.92043 -11456502.84942 22152569.429 22152576.980 22152568.810
+ -1366.491 -1064.798 52.000 45.000
+ -22943144.19943 -17815941.53342 20321283.310 20321288.631 20321282.029
+ -669.090 -521.369 56.000 50.000
+ -8227615.81043 -6223746.02342 23759892.701 23759902.616 23759891.233
+ -3574.480 -2785.309 48.000 40.000
+ -10905791.04943 -8468607.60842 23901159.250 23901168.057 23901157.877
+ -3568.427 -2780.592 43.000 38.000
+ -4477110.09543 -3473974.66042 24156145.966 24156154.976 24156143.699
+ -1769.570 -1378.886 45.000 40.000
+ -19610873.86643 -15270007.78242 21597239.349 21597245.497 21597238.044
+ 709.902 553.170 54.000 47.000
+ -22899155.99244 -17802599.23042 20980956.000 20980960.408 20980955.278
+ 465.715 362.895 57.000 50.000
+ -8643724.21043 -6680354.47442 23199312.313 23199319.491 23199311.835
+ 3639.770 2836.184 47.000 41.000
+ -6000629.17843 -4653065.41642 23977137.181 23977144.118 23977136.215
+ 1120.919 873.443 48.000 40.000
+ -1648303.93443 -1263622.76842 24702483.159 24702491.997 24702483.816
+ -829.173 -646.109 44.000 37.000
+ -2557690.63343 -1990547.87842 24961721.798 24961730.113 24961719.112
+ -59.509 -46.371 45.000 38.000
+ 04 2 1 6 20 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15196568.26343 -11424465.51742 22160394.329 22160400.605 22160393.017
+ -1374.904 -1071.354 52.000 45.000
+ -22922961.78843 -17800214.99942 20325123.514 20325129.038 20325122.615
+ -676.729 -527.321 56.000 49.000
+ -8120323.36943 -6140141.82642 23780310.611 23780320.484 23780308.383
+ -3578.615 -2788.531 49.000 40.000
+ -10798633.64743 -8385108.41742 23921548.064 23921559.901 23921548.897
+ -3576.153 -2786.613 41.000 37.000
+ -4423954.63043 -3432554.97542 24166260.643 24166269.843 24166260.117
+ -1774.293 -1382.566 44.000 39.000
+ -19632049.57643 -15286508.31642 21593209.621 21593214.776 21593208.221
+ 701.387 546.535 54.000 47.000
+ -22913016.94944 -17813399.97342 20978318.257 20978322.889 20978317.661
+ 458.047 356.920 57.000 50.000
+ -8752826.06943 -6765368.73642 23178552.231 23178559.242 23178550.439
+ 3633.412 2831.230 48.000 41.000
+ -6034149.29543 -4679184.97542 23970754.954 23970764.357 23970754.312
+ 1113.329 867.529 45.000 39.000
+ -1623246.01443 -1244097.15342 24707251.797 24707261.598 24707251.570
+ -841.498 -655.713 44.000 37.000
+ -2555717.06243 -1989010.00142 24962095.422 24962104.869 24962094.857
+ -72.452 -56.456 45.000 38.000
+ 04 2 1 6 20 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15155203.83043 -11392233.56942 22168265.483 22168271.390 22168264.585
+ -1383.626 -1078.150 52.000 46.000
+ -22902554.64443 -17784313.34142 20329006.705 20329012.331 20329005.774
+ -684.510 -533.384 56.000 49.000
+ -8012916.88943 -6056448.77642 23800750.054 23800758.024 23800748.459
+ -3582.853 -2791.833 49.000 41.000
+ -10691261.05143 -8301441.53042 23941980.970 23941992.482 23941980.482
+ -3583.068 -2792.001 41.000 37.000
+ -4370669.26343 -3391034.09442 24176399.887 24176411.161 24176399.760
+ -1778.932 -1386.181 45.000 39.000
+ -19652974.25443 -15302813.22242 21589227.620 21589233.687 21589226.249
+ 692.752 539.807 54.000 48.000
+ -22926654.21944 -17824026.40842 20975723.231 20975727.832 20975722.368
+ 450.204 350.808 57.000 50.000
+ -8861747.14543 -6850242.12442 23157823.682 23157830.184 23157822.641
+ 3626.930 2826.179 48.000 42.000
+ -6067444.38743 -4705129.10142 23964421.706 23964428.683 23964419.208
+ 1105.467 861.403 46.000 40.000
+ -1597821.50843 -1224285.96142 24712093.899 24712100.524 24712092.015
+ -854.135 -665.560 46.000 38.000
+ -2553363.80443 -1987176.20342 24962544.565 24962552.541 24962542.366
+ -85.311 -66.476 45.000 39.000
+ 04 2 1 6 21 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15113589.59843 -11359806.95842 22176184.440 22176191.404 22176183.239
+ -1391.169 -1084.028 52.000 45.000
+ -22881924.63143 -17768238.01542 20332932.663 20332938.072 20332931.370
+ -691.297 -538.673 56.000 49.000
+ -7905399.85143 -5972669.59742 23821209.699 23821216.750 23821207.483
+ -3585.593 -2793.968 48.000 41.000
+ -10583676.72343 -8217609.66742 23962455.270 23962465.352 23962453.696
+ -3589.797 -2797.244 42.000 37.000
+ -4317257.76443 -3349414.89042 24186563.977 24186574.765 24186563.480
+ -1782.378 -1388.866 45.000 39.000
+ -19673649.84043 -15318924.03142 21585292.989 21585299.106 21585292.076
+ 685.208 533.928 54.000 48.000
+ -22940067.02143 -17834477.94142 20973170.233 20973175.182 20973169.667
+ 443.464 345.556 56.000 50.000
+ -8970485.06543 -6934972.80542 23137131.726 23137137.074 23137129.911
+ 3621.611 2822.035 49.000 42.000
+ -6100512.71643 -4730896.56842 23958127.972 23958137.451 23958126.432
+ 1098.665 856.103 47.000 40.000
+ -1572033.33943 -1204191.32842 24716997.561 24717006.869 24716996.332
+ -865.448 -674.375 45.000 37.000
+ -2550630.32043 -1985046.22242 24963064.166 24963073.722 24963061.437
+ -97.447 -75.933 45.000 39.000
+ 04 2 1 6 21 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15071728.63343 -11327188.08842 22184150.797 22184157.082 22184149.202
+ -1399.796 -1090.750 52.000 46.000
+ -22861077.00343 -17751993.11542 20336900.012 20336905.206 20336898.738
+ -698.779 -544.503 56.000 49.000
+ -7797778.52243 -5888809.15342 23841689.321 23841697.337 23841686.887
+ -3589.429 -2796.958 48.000 41.000
+ -10475887.60543 -8133618.20242 23982966.835 23982975.849 23982965.404
+ -3596.953 -2802.820 43.000 38.000
+ -4263726.51043 -3307702.38342 24196750.472 24196762.101 24196750.286
+ -1786.536 -1392.106 45.000 40.000
+ -19694081.08643 -15334844.45642 21581405.398 21581410.690 21581403.797
+ 676.776 527.358 54.000 48.000
+ -22953257.21443 -17844756.01242 20970660.511 20970665.046 20970659.848
+ 435.709 339.514 56.000 50.000
+ -9079041.05443 -7019561.71342 23116473.638 23116481.615 23116472.623
+ 3615.287 2817.107 50.000 43.000
+ -6133355.82343 -4756488.55442 23951878.309 23951886.217 23951877.353
+ 1090.698 849.895 47.000 40.000
+ -1545887.72743 -1183818.19442 24721973.796 24721981.155 24721971.871
+ -877.683 -683.909 45.000 37.000
+ -2547519.41243 -1982622.09342 24963654.673 24963664.213 24963653.974
+ -110.024 -85.733 44.000 38.000
+ 04 2 1 6 22 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15029613.67243 -11294371.29642 22192164.301 22192171.685 22192163.585
+ -1408.468 -1097.507 52.000 45.000
+ -22840006.69143 -17735574.69542 20340909.647 20340914.658 20340908.212
+ -706.448 -550.479 56.000 49.000
+ -7690048.97943 -5804864.40842 23862190.462 23862198.407 23862189.533
+ -3593.344 -2800.008 48.000 40.000
+ -10367890.23343 -8049464.46342 24003517.152 24003528.216 24003517.056
+ -3603.816 -2808.168 44.000 38.000
+ -4210071.97143 -3265893.82342 24206960.142 24206972.834 24206959.886
+ -1790.904 -1395.510 44.000 39.000
+ -19714262.97743 -15350570.57042 21577565.278 21577570.443 21577563.491
+ 668.220 520.691 54.000 48.000
+ -22966216.78144 -17854854.37442 20968194.972 20968199.096 20968193.754
+ 427.801 333.351 57.000 50.000
+ -9187405.93443 -7104001.72642 23095852.919 23095859.817 23095851.587
+ 3608.572 2811.874 50.000 43.000
+ -6165964.89143 -4781898.13042 23945672.937 23945683.124 23945672.353
+ 1082.736 843.690 47.000 40.000
+ -1519380.18443 -1163163.01442 24727019.187 24727027.346 24727016.134
+ -889.956 -693.472 46.000 38.000
+ -2544023.29843 -1979897.75242 24964319.515 24964331.319 24964318.801
+ -123.299 -96.077 44.000 38.000
+ 04 2 1 6 22 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -14987248.38643 -11261359.43942 22200226.049 22200233.543 22200225.379
+ -1416.123 -1103.472 52.000 46.000
+ -22818719.73043 -17718987.45842 20344959.569 20344965.862 20344959.059
+ -713.101 -555.663 55.000 49.000
+ -7582218.38843 -5720840.91342 23882709.443 23882719.205 23882709.165
+ -3595.880 -2801.984 48.000 40.000
+ -10259691.99443 -7965154.21642 24024105.848 24024116.566 24024105.805
+ -3609.698 -2812.752 42.000 38.000
+ -4156301.58443 -3223995.02242 24217195.476 24217202.816 24217193.359
+ -1793.936 -1397.872 45.000 39.000
+ -19734200.94743 -15366106.61642 21573770.561 21573775.820 21573769.262
+ 660.627 514.774 54.000 48.000
+ -22978948.28944 -17864775.03242 20965771.959 20965776.534 20965771.149
+ 420.666 327.792 57.000 50.000
+ -9295581.41643 -7188294.14342 23075267.506 23075273.776 23075266.891
+ 3602.658 2807.266 50.000 43.000
+ -6198341.88243 -4807126.87542 23939512.143 23939520.617 23939510.537
+ 1075.501 838.053 47.000 40.000
+ -1492517.37543 -1142230.99842 24732130.933 24732138.834 24732129.774
+ -901.335 -702.339 46.000 38.000
+ -2540145.53843 -1976876.10842 24965059.359 24965068.925 24965058.792
+ -135.522 -105.601 46.000 39.000
+ 04 2 1 6 23 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -14944630.97143 -11228151.12542 22208336.702 22208343.207 22208336.243
+ -1424.785 -1110.222 52.000 45.000
+ -22797216.42443 -17702231.63942 20349052.260 20349057.880 20349050.971
+ -720.431 -561.375 56.000 49.000
+ -7474288.13143 -5636739.74242 23903247.191 23903256.841 23903246.308
+ -3599.330 -2804.673 47.000 40.000
+ -10151294.53443 -7880688.72742 24044734.806 24044743.173 24044733.821
+ -3616.425 -2817.993 43.000 38.000
+ -4102417.19543 -3182007.36242 24227450.338 24227458.822 24227448.058
+ -1798.006 -1401.044 45.000 39.000
+ -19753894.96543 -15381452.57442 21570022.555 21570028.076 21570021.506
+ 652.559 508.488 54.000 48.000
+ -22991448.75444 -17874515.65642 20963393.019 20963397.513 20963392.434
+ 412.808 321.669 57.000 50.000
+ -9403563.71343 -7272436.03642 23054718.823 23054725.219 23054717.072
+ 3596.070 2802.132 50.000 43.000
+ -6230483.45443 -4832172.19242 23933395.021 23933402.903 23933393.378
+ 1067.478 831.801 47.000 41.000
+ -1465300.54643 -1121023.12942 24737309.923 24737319.558 24737308.887
+ -913.080 -711.491 46.000 37.000
+ -2535883.65543 -1973555.11542 24965868.878 24965879.924 24965868.393
+ -148.499 -115.713 46.000 39.000
+ 04 2 1 6 23 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -14901760.49443 -11194745.60042 22216494.501 22216501.637 22216493.131
+ -1433.676 -1117.150 51.000 45.000
+ -22775498.02743 -17685308.21942 20353185.301 20353190.201 20353184.074
+ -728.002 -567.274 56.000 49.000
+ -7366260.41643 -5552562.66742 23923804.101 23923815.020 23923801.515
+ -3602.734 -2807.325 46.000 40.000
+ -10042700.37043 -7796069.95042 24065400.119 24065409.697 24065398.939
+ -3623.485 -2823.495 43.000 38.000
+ -4048421.24943 -3139932.77642 24237723.491 24237732.653 24237721.732
+ -1802.191 -1404.305 45.000 39.000
+ -19773346.07343 -15396609.25442 21566322.328 21566326.664 21566320.660
+ 643.824 501.681 54.000 48.000
+ -23003716.33644 -17884074.80842 20961058.753 20961063.063 20961057.994
+ 404.545 315.230 57.000 50.000
+ -9511349.44843 -7356424.76642 23034207.625 23034215.982 23034206.740
+ 3588.962 2796.594 50.000 43.000
+ -6262386.90843 -4857031.93842 23927324.483 23927332.660 23927323.386
+ 1058.814 825.050 47.000 41.000
+ -1437731.64843 -1099540.91342 24742557.706 24742564.563 24742555.095
+ -925.310 -721.021 45.000 37.000
+ -2531236.79343 -1969934.07942 24966753.198 24966763.305 24966753.134
+ -161.888 -126.146 45.000 39.000
+ 04 2 1 6 24 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -14858637.74443 -11161143.51542 22224700.193 22224707.738 22224699.479
+ -1440.938 -1122.809 51.000 45.000
+ -22753567.20543 -17668219.28142 20357358.406 20357363.356 20357357.176
+ -733.872 -571.848 56.000 49.000
+ -7258139.10143 -5468312.65142 23944379.632 23944390.019 23944378.270
+ -3604.606 -2808.784 47.000 40.000
+ -9933913.84643 -7711301.28342 24086101.382 24086111.299 24086099.557
+ -3628.362 -2827.295 44.000 39.000
+ -3994318.30743 -3097774.79942 24248017.631 24248029.525 24248017.455
+ -1804.406 -1406.031 45.000 40.000
+ -19792556.88743 -15411578.68742 21562666.102 21562670.992 21562664.913
+ 636.985 496.352 54.000 48.000
+ -23015750.84244 -17893452.35542 20958768.473 20958773.042 20958767.933
+ 397.859 310.020 57.000 50.000
+ -9618937.57443 -7440259.51442 23013733.656 23013741.312 23013732.466
+ 3583.646 2792.451 50.000 43.000
+ -6294051.48043 -4881705.53742 23921298.911 23921307.473 23921297.827
+ 1052.061 819.788 46.000 41.000
+ -1409814.37543 -1077787.30842 24747867.830 24747877.643 24747867.009
+ -935.812 -729.204 45.000 38.000
+ -2526205.32543 -1966013.38642 24967709.955 24967720.517 24967708.098
+ -173.416 -135.129 44.000 38.000
+ 04 2 1 6 24 30.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -14815259.63043 -11127342.42742 22232955.178 22232962.316 22232953.647
+ -1449.470 -1129.457 52.000 46.000
+ -22731423.04343 -17650964.10242 20361572.036 20361577.739 20361571.060
+ -740.956 -577.368 55.000 49.000
+ -7149924.48643 -5383989.93742 23964972.203 23964983.608 23964970.835
+ -3607.485 -2811.027 46.000 39.000
+ -9824935.46943 -7626383.13442 24106838.993 24106848.254 24106838.264
+ -3635.037 -2832.496 44.000 39.000
+ -3940108.40643 -3055533.48042 24258334.818 24258345.829 24258333.816
+ -1807.753 -1408.639 46.000 40.000
+ -19811526.11243 -15426359.87042 21559056.687 21559061.642 21559055.192
+ 629.092 490.202 54.000 48.000
+ -23027547.77444 -17902644.77942 20956523.872 20956528.322 20956523.067
+ 389.970 303.873 57.000 50.000
+ -9726322.82843 -7523936.17942 22993298.979 22993306.683 22993298.614
+ 3576.756 2787.083 50.000 43.000
+ -6325472.19643 -4906189.14742 23915318.738 23915329.040 23915318.460
+ 1043.962 813.477 46.000 40.000
+ -1381548.49343 -1055761.96742 24753247.222 24753257.373 24753246.426
+ -947.243 -738.111 45.000 38.000
+ -2520785.63743 -1961790.19742 24968743.658 24968750.923 24968742.143
+ -186.479 -145.308 45.000 39.000
+ 04 2 1 6 25 0.0000000 0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -14771626.71043 -11093342.79942 22241257.863 22241264.925 22241256.620
+ -1458.247 -1136.296 52.000 45.000
+ -22709068.25443 -17633544.79842 20365826.166 20365831.581 20365825.121
+ -748.286 -583.080 55.000 49.000
+ -7041620.35743 -5299597.49142 23985582.437 23985593.204 23985582.037
+ -3611.280 -2813.984 46.000 40.000
+ -9715769.54843 -7541318.84942 24127612.266 24127621.676 24127610.768
+ -3641.572 -2837.588 43.000 38.000
+ -3885796.06143 -3013212.34142 24268669.624 24268680.347 24268669.855
+ -1811.875 -1411.851 45.000 40.000
+ -19830256.31443 -15440954.80042 21555492.465 21555497.458 21555491.033
+ 620.763 483.711 54.000 48.000
+ -23039106.89144 -17911651.89442 20954324.082 20954328.720 20954323.432
+ 381.707 297.434 57.000 50.000
+ -9833503.68443 -7607453.57142 22972903.478 22972911.018 22972901.585
+ 3569.612 2781.516 50.000 43.000
+ -6356648.16043 -4930482.03442 23909385.973 23909395.491 23909385.299
+ 1035.327 806.748 45.000 40.000
+ -1352937.29343 -1033467.60542 24758691.760 24758702.067 24758690.629
+ -959.071 -747.328 44.000 38.000
+ -2514978.14443 -1957264.82442 24969846.431 24969857.911 24969845.164
+ -199.621 -155.549 44.000 38.000
+ 04 2 1 6 25 30.0000000 0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14727740.73343 -11059145.96642 22249609.804 22249616.597 22249608.909
+ -1460.407 -1137.979 52.000 45.000
+ -22686506.91043 -17615964.54042 20370119.736 20370124.650 20370118.532
+ -748.728 -583.424 56.000 49.000
+ -6933231.98743 -5215139.40942 24006207.879 24006218.309 24006206.602
+ -3607.638 -2811.146 45.000 39.000
+ -9606421.30643 -7456112.50642 24148420.880 24148431.171 24148420.038
+ -3641.208 -2837.305 44.000 37.000
+ -3831386.59143 -2970815.52042 24279025.311 24279035.175 24279024.528
+ -1808.364 -1409.115 46.000 40.000
+ -19848751.10543 -15455366.28942 21551973.108 21551977.868 21551971.263
+ 619.393 482.644 54.000 48.000
+ -23050428.88844 -17920474.24442 20952169.590 20952174.259 20952168.899
+ 380.124 296.200 57.000 50.000
+ -9940480.10443 -7690811.66642 22952546.487 22952553.650 22952545.138
+ 3569.162 2781.165 50.000 43.000
+ -6387579.70943 -4954584.47042 23903501.206 23903508.764 23903498.732
+ 1033.777 805.540 46.000 40.000
+ -1323986.02843 -1010908.23142 24764202.688 24764209.666 24764199.798
+ -964.069 -751.222 43.000 37.000
+ -560954.78153 -382915.94452 24989229.449 24989239.185 24989228.528
+ 3425.137 2668.938 41.000 33.000
+ -2508784.60343 -1952438.62242 24971027.390 24971034.517 24971025.156
+ -206.185 -160.664 43.000 37.000
+ 04 2 1 6 26 0.0000000 0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14683614.51943 -11024761.94942 22258006.510 22258013.236 22258005.603
+ -1475.759 -1149.942 52.000 45.000
+ -22663753.72943 -17598234.80042 20374449.599 20374454.616 20374448.172
+ -762.447 -594.114 56.000 49.000
+ -6824775.44343 -5130628.21942 24026847.594 24026858.634 24026845.261
+ -3616.961 -2818.411 44.000 39.000
+ -9496907.10543 -7370776.83742 24169259.966 24169267.911 24169257.687
+ -3654.464 -2847.634 43.000 37.000
+ -3776896.47443 -2928355.81642 24289392.840 24289404.610 24289391.971
+ -1818.748 -1417.206 44.000 39.000
+ -19867025.37743 -15469605.95542 21548495.312 21548500.387 21548493.689
+ 604.600 471.117 54.000 48.000
+ -23061525.56244 -17929121.01542 20950057.904 20950062.408 20950057.393
+ 365.246 284.607 57.000 50.000
+ -10047262.80243 -7774018.81342 22932225.961 22932233.783 22932224.507
+ 3555.125 2770.227 50.000 43.000
+ -6418277.92443 -4978505.07242 23897657.793 23897666.925 23897656.535
+ 1018.531 793.660 46.000 40.000
+ -1294710.51743 -988096.21442 24769771.489 24769782.275 24769770.627
+ -982.337 -765.457 44.000 37.000
+ -663435.80443 -462771.21442 24969728.839 24969737.155 24969727.543
+ 3412.447 2659.050 42.000 33.000
+ -2502217.25943 -1947321.13742 24972273.340 24972285.686 24972271.787
+ -226.284 -176.325 42.000 36.000
+ 04 2 1 6 26 30.0000000 0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14639214.20643 -10990164.32742 22266456.072 22266462.652 22266454.687
+ -1484.837 -1157.016 52.000 45.000
+ -22640777.24643 -17580331.05242 20378821.636 20378827.100 20378820.637
+ -769.802 -599.846 56.000 49.000
+ -6716219.99743 -5046039.94042 24047504.746 24047516.432 24047504.836
+ -3620.843 -2821.436 44.000 39.000
+ -9387196.67443 -7285288.24342 24190137.208 24190146.571 24190136.619
+ -3660.296 -2852.179 43.000 36.000
+ -3722295.37743 -2885809.68342 24299782.923 24299794.537 24299783.020
+ -1822.017 -1419.753 44.000 39.000
+ -19885046.96243 -15483648.72342 21545065.995 21545070.986 21545064.401
+ 596.231 464.596 54.000 48.000
+ -23072362.25844 -17937565.19842 20947996.019 20948000.439 20947995.152
+ 356.642 277.903 57.000 50.000
+ -10153815.94843 -7857047.09042 22911948.990 22911956.514 22911947.803
+ 3547.736 2764.470 50.000 43.000
+ -6448707.33243 -5002216.20942 23891868.076 23891876.716 23891867.508
+ 1009.464 786.595 46.000 40.000
+ -1265079.78943 -965007.35742 24775410.004 24775421.109 24775409.898
+ -993.672 -774.290 44.000 38.000
+ -765716.35043 -542470.40842 24950263.818 24950278.303 24950261.038
+ 3405.765 2653.843 41.000 32.000
+ -2495242.12143 -1941885.91042 24973603.423 24973612.263 24973601.704
+ -239.437 -186.574 45.000 38.000
+ 04 2 1 6 27 0.0000000 0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14594555.37043 -10955365.28442 22274954.323 22274961.089 22274953.260
+ -1493.175 -1163.513 52.000 45.000
+ -22617594.82043 -17562266.83442 20383233.413 20383238.624 20383231.811
+ -776.294 -604.904 56.000 49.000
+ -6607584.32843 -4961389.17142 24068178.413 24068189.019 24068177.776
+ -3622.602 -2822.807 45.000 39.000
+ -9277309.14643 -7199661.63342 24211048.249 24211055.930 24211049.144
+ -3665.744 -2856.424 43.000 36.000
+ -3667602.39643 -2843191.93042 24310191.428 24310201.219 24310190.085
+ -1824.786 -1421.911 45.000 39.000
+ -19902833.43743 -15497508.28242 21541681.101 21541686.492 21541679.276
+ 588.663 458.698 54.000 48.000
+ -23082953.22244 -17945817.90242 20945980.186 20945985.082 20945979.829
+ 348.650 271.675 57.000 50.000
+ -10260152.56143 -7939906.65542 22891714.701 22891720.888 22891712.993
+ 3540.879 2759.126 50.000 43.000
+ -6478881.93943 -5025728.84542 23886126.272 23886134.608 23886124.300
+ 1001.385 780.300 47.000 41.000
+ -1235112.67843 -941656.41942 24781111.914 24781121.621 24781110.642
+ -1004.870 -783.015 42.000 37.000
+ -867809.68643 -622023.59642 24930835.571 24930845.617 24930838.799
+ 3400.441 2649.694 39.000 33.000
+ -2487874.33043 -1936144.65742 24975005.757 24975012.947 24975003.437
+ -252.479 -196.737 45.000 38.000
+ 04 2 1 6 27 30.0000000 0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14549636.05443 -10920363.24942 22283502.231 22283509.287 22283500.624
+ -1501.481 -1169.985 52.000 45.000
+ -22594206.73243 -17544042.36042 20387683.708 20387688.829 20387682.470
+ -783.013 -610.140 56.000 49.000
+ -6498869.89643 -4876677.03542 24088866.450 24088876.723 24088864.343
+ -3624.811 -2824.528 44.000 39.000
+ -9167245.95043 -7113898.14542 24231994.701 24232003.289 24231993.558
+ -3671.603 -2860.989 45.000 36.000
+ -3612819.11143 -2800503.80642 24320614.735 24320628.201 24320614.526
+ -1827.420 -1423.964 44.000 39.000
+ -19920384.75343 -15511184.60742 21538341.219 21538346.373 21538339.826
+ 581.104 452.808 54.000 48.000
+ -23093295.55144 -17953876.87242 20944012.041 20944017.188 20944011.542
+ 340.634 265.429 57.000 50.000
+ -10366269.02743 -8022594.67542 22871521.847 22871527.630 22871520.702
+ 3533.533 2753.402 50.000 43.000
+ -6508798.12743 -5049040.09142 23880432.758 23880442.647 23880432.107
+ 992.779 773.594 46.000 40.000
+ -1204809.92643 -918043.91142 24786883.036 24786889.273 24786880.619
+ -1015.533 -791.324 45.000 37.000
+ -969711.95643 -701427.83642 24911445.335 24911452.341 24911442.797
+ 3394.125 2644.773 40.000 34.000
+ -2480112.05443 -1930096.01542 24976482.455 24976492.208 24976481.215
+ -265.245 -206.684 44.000 38.000
+ 04 2 1 6 28 0.0000000 0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14504460.60643 -10885161.63442 22292098.685 22292105.122 22292097.617
+ -1510.337 -1176.886 52.000 45.000
+ -22570619.26043 -17525662.52342 20392172.494 20392177.482 20392171.441
+ -789.821 -615.445 56.000 49.000
+ -6390084.12843 -4791909.31242 24109567.027 24109578.245 24109565.717
+ -3627.237 -2826.418 45.000 39.000
+ -9057015.12443 -7028004.03542 24252971.072 24252977.675 24252971.718
+ -3677.213 -2865.361 44.000 36.000
+ -3557953.45843 -2757751.55042 24331057.734 24331067.476 24331056.929
+ -1830.130 -1426.075 45.000 39.000
+ -19937707.02443 -15524682.46142 21535045.094 21535049.461 21535043.617
+ 573.395 446.801 54.000 48.000
+ -23103392.23744 -17961744.42542 20942090.997 20942095.408 20942090.617
+ 332.199 258.856 57.000 50.000
+ -10472167.50143 -8105112.82142 22851369.909 22851374.863 22851368.379
+ 3526.122 2747.628 50.000 43.000
+ -6538458.67043 -5072152.09242 23874790.028 23874798.573 23874787.359
+ 984.261 766.957 48.000 41.000
+ -1174179.24843 -894175.93842 24792710.358 24792717.988 24792707.156
+ -1026.770 -800.080 44.000 37.000
+ -1071425.36943 -780685.00542 24892088.397 24892096.602 24892087.126
+ 3386.660 2638.956 39.000 34.000
+ -2471959.30343 -1923743.19142 24978034.803 24978042.665 24978033.501
+ -278.597 -217.088 45.000 38.000
+ 04 2 1 6 28 30.0000000 0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14459027.03143 -10849758.88142 22300743.867 22300751.440 22300742.593
+ -1518.511 -1183.255 51.000 45.000
+ -22546832.27443 -17507127.21442 20396698.948 20396704.341 20396697.564
+ -796.065 -620.310 56.000 49.000
+ -6281227.96743 -4707086.74842 24130282.876 24130294.714 24130282.154
+ -3629.473 -2828.161 45.000 39.000
+ -8946618.03943 -6941980.37142 24273978.031 24273988.970 24273978.099
+ -3682.898 -2869.791 44.000 36.000
+ -3503006.29643 -2714935.74942 24341513.080 24341524.177 24341512.937
+ -1832.651 -1428.040 44.000 39.000
+ -19954799.85543 -15538001.52342 21531791.944 21531796.978 21531790.513
+ 566.207 441.200 54.000 48.000
+ -23113240.23744 -17969418.19642 20940217.056 20940221.520 20940216.527
+ 324.304 252.704 57.000 50.000
+ -10577843.96443 -8187457.98042 22831260.202 22831266.334 22831258.505
+ 3519.044 2742.112 51.000 43.000
+ -6567859.68043 -5095061.89242 23869193.832 23869203.405 23869192.769
+ 975.809 760.371 48.000 41.000
+ -1143221.24143 -870052.91342 24798600.539 24798607.749 24798596.932
+ -1037.037 -808.081 43.000 36.000
+ -1172945.69353 -859791.64252 24872772.590 24872778.835 24872773.272
+ 3380.910 2634.475 39.000 32.000
+ -2463413.59343 -1917084.14742 24979657.972 24979669.673 24979657.342
+ -291.097 -226.829 44.000 38.000
+ 04 2 1 6 29 0.0000000 0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14413331.31243 -10814151.87742 22309439.822 22309446.823 22309439.018
+ -1527.726 -1190.436 52.000 45.000
+ -22522844.01043 -17488435.07042 20401263.383 20401269.071 20401262.351
+ -803.130 -625.815 56.000 49.000
+ -6172300.91343 -4622208.95042 24151011.545 24151023.404 24151009.521
+ -3632.383 -2830.428 45.000 40.000
+ -8836054.10743 -6855826.72042 24295017.810 24295026.244 24295019.207
+ -3687.852 -2873.651 43.000 35.000
+ -3447977.89943 -2672056.67442 24351985.141 24351994.450 24351984.695
+ -1835.619 -1430.352 44.000 39.000
+ -19971661.39643 -15551140.36242 21528583.064 21528588.501 21528581.578
+ 558.087 434.873 54.000 48.000
+ -23122834.42243 -17976894.18642 20938390.956 20938396.181 20938390.373
+ 315.315 245.700 56.000 50.000
+ -10683292.22043 -8269625.30342 22811194.102 22811200.463 22811192.975
+ 3510.959 2735.812 51.000 43.000
+ -6596995.80043 -5117765.29142 23863648.808 23863657.895 23863648.644
+ 966.744 753.307 46.000 40.000
+ -1111934.98343 -845674.02042 24804554.318 24804563.082 24804552.980
+ -1048.353 -816.898 43.000 37.000
+ -1274266.75943 -938743.14142 24853492.997 24853498.483 24853488.167
+ 3373.533 2628.727 41.000 34.000
+ -2454471.04643 -1910115.85542 24981359.596 24981369.919 24981359.635
+ -305.010 -237.670 43.000 38.000
+ 04 2 1 6 29 30.0000000 0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14367376.80943 -10778343.22842 22318184.868 22318191.901 22318183.273
+ -1536.341 -1197.149 52.000 45.000
+ -22498659.78443 -17469590.22442 20405865.842 20405870.982 20405864.557
+ -809.614 -630.868 56.000 49.000
+ -6063309.30943 -4537280.84142 24171752.118 24171764.345 24171750.678
+ -3634.258 -2831.889 45.000 40.000
+ -8725330.07343 -6769548.27842 24316086.505 24316094.333 24316086.238
+ -3693.752 -2878.248 41.000 34.000
+ -3392874.90543 -2629119.47042 24362470.649 24362480.957 24362469.603
+ -1838.476 -1432.579 44.000 39.000
+ -19988296.73743 -15564102.93642 21525417.363 21525422.789 21525415.988
+ 550.494 428.956 54.000 48.000
+ -23132177.12944 -17984174.21142 20936613.578 20936618.465 20936612.656
+ 307.015 239.232 57.000 50.000
+ -10788513.37643 -8351615.67742 22791169.620 22791177.169 22791168.748
+ 3503.293 2729.839 50.000 43.000
+ -6625868.57843 -5140263.47142 23858155.356 23858164.277 23858154.042
+ 957.710 746.268 46.000 40.000
+ -1080326.89343 -821044.44042 24810568.644 24810575.605 24810565.421
+ -1059.106 -825.277 43.000 36.000
+ -1375389.75943 -1017540.19342 24834247.948 24834254.414 24834247.166
+ 3367.090 2623.706 41.000 36.000
+ -2445134.59243 -1902840.61742 24983139.128 24983146.064 24983135.762
+ -317.875 -247.695 44.000 38.000
+ 04 2 1 6 30 0.0000000 0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14321164.15743 -10742333.42242 22326979.478 22326985.697 22326977.832
+ -1544.598 -1203.583 52.000 45.000
+ -22474282.27243 -17450594.76442 20410504.698 20410510.007 20410503.748
+ -815.823 -635.706 56.000 49.000
+ -5954256.85743 -4452305.32642 24192503.811 24192515.870 24192501.696
+ -3636.183 -2833.389 46.000 40.000
+ -8614450.15143 -6683148.38042 24337185.091 24337195.266 24337183.688
+ -3698.285 -2881.780 39.000 34.000
+ -3337701.35443 -2586127.25342 24372970.832 24372981.365 24372970.440
+ -1840.214 -1433.933 44.000 39.000
+ -20004708.45443 -15576891.26042 21522294.581 21522300.305 21522293.102
+ 543.424 423.447 54.000 48.000
+ -23141267.88344 -17991257.90942 20934883.925 20934888.214 20934883.218
+ 298.822 232.848 57.000 50.000
+ -10893505.94843 -8433427.93842 22771190.745 22771196.672 22771188.625
+ 3495.880 2724.062 51.000 43.000
+ -6654477.17643 -5162555.80942 23852711.324 23852720.195 23852709.324
+ 949.122 739.576 47.000 40.000
+ -1048400.75943 -796166.99042 24816642.867 24816652.213 24816639.680
+ -1069.279 -833.204 42.000 36.000
+ -1476313.27543 -1096181.82742 24815041.764 24815048.698 24815041.518
+ 3360.763 2618.776 42.000 36.000
+ -2435404.67543 -1895258.81142 24984987.872 24984997.770 24984988.336
+ -330.876 -257.825 44.000 38.000
+ 04 2 1 6 30 30.0000000 0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14274687.95743 -10706118.25842 22335822.410 22335829.589 22335821.627
+ -1552.829 -1209.997 51.000 45.000
+ -22449708.13643 -17431446.08442 20415180.705 20415186.012 20415179.813
+ -821.515 -640.141 56.000 49.000
+ -5845141.63043 -4367280.89942 24213268.668 24213280.618 24213267.311
+ -3637.326 -2834.280 46.000 40.000
+ -8503412.38343 -6596625.48842 24358312.558 24358324.397 24358315.340
+ -3703.024 -2885.473 38.000 34.000
+ -3282455.34343 -2543078.67842 24383484.300 24383492.498 24383482.580
+ -1841.956 -1435.290 44.000 38.000
+ -20020893.05543 -15589502.60642 21519214.453 21519220.538 21519213.100
+ 536.546 418.088 54.000 48.000
+ -23150100.34844 -17998140.34142 20933202.850 20933207.492 20933202.194
+ 290.955 226.718 57.000 50.000
+ -10998262.75543 -8515056.48542 22751255.508 22751263.059 22751253.291
+ 3488.535 2718.339 51.000 43.000
+ -6682814.64543 -5184636.90042 23847319.476 23847327.582 23847317.236
+ 940.643 732.968 48.000 41.000
+ -1016154.34143 -771040.00342 24822777.344 24822789.052 24822778.906
+ -1079.635 -841.274 42.000 35.000
+ -1577029.56943 -1174661.99042 24795876.491 24795883.489 24795874.951
+ 3354.892 2614.202 44.000 37.000
+ -2425275.86543 -1887366.22342 24986917.989 24986925.640 24986915.342
+ -343.543 -267.696 45.000 38.000
+ 04 2 1 6 31 0.0000000 0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14227950.90043 -10669699.81042 22344716.412 22344723.459 22344714.993
+ -1562.481 -1217.518 52.000 45.000
+ -22424941.88743 -17412147.70842 20419893.654 20419898.805 20419892.370
+ -828.900 -645.896 55.000 49.000
+ -5735969.34243 -4282212.00442 24234044.209 24234056.166 24234043.365
+ -3640.332 -2836.622 47.000 40.000
+ -8392222.83243 -6509984.35242 24379475.028 24379484.924 24379471.288
+ -3709.026 -2890.150 39.000 33.000
+ -3227143.03043 -2499978.37342 24394009.049 24394019.485 24394008.368
+ -1844.937 -1437.613 45.000 38.000
+ -20036854.90843 -15601940.38142 21516177.377 21516182.798 21516176.431
+ 528.149 411.545 54.000 48.000
+ -23158675.79644 -18004822.50242 20931570.514 20931575.674 20931570.176
+ 281.388 219.263 57.000 50.000
+ -11102784.17443 -8596501.62542 22731366.364 22731372.463 22731364.974
+ 3479.884 2711.598 51.000 44.000
+ -6710881.98043 -5206507.46542 23841977.205 23841985.884 23841975.885
+ 930.908 725.383 46.000 41.000
+ -983593.24443 -745667.74842 24828975.489 24828983.645 24828974.774
+ -1090.827 -849.995 42.000 34.000
+ -1677539.09143 -1252981.11842 24776749.540 24776759.236 24776748.283
+ 3346.326 2607.527 43.000 37.000
+ -2414750.50043 -1879164.51742 24988919.466 24988929.141 24988919.750
+ -357.814 -278.816 45.000 38.000
+ 04 2 1 6 31 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -14180948.48343 -10633074.60242 22353661.104 22353667.519 22353659.949
+ -1571.343 -1224.423 52.000 45.000
+ -22399980.87743 -17392697.56342 20424644.160 20424649.288 20424642.807
+ -835.374 -650.941 56.000 49.000
+ -5626738.53943 -4197097.52142 24254832.126 24254842.652 24254830.362
+ -3642.128 -2838.022 48.000 40.000
+ -3171763.21543 -2456825.47842 24404546.752 24404559.322 24404546.533
+ -1847.483 -1439.597 43.000 38.000
+ -20052591.14543 -15614202.35442 21513182.680 21513188.485 21513181.279
+ 520.706 405.745 54.000 48.000
+ -23166988.47944 -18011299.90742 20929989.258 20929993.708 20929988.427
+ 272.619 212.430 57.000 50.000
+ -11207063.55443 -8677758.14742 22711522.232 22711529.708 22711521.429
+ 3471.689 2705.212 50.000 43.000
+ -6738672.84243 -5228162.57142 23836688.970 23836696.445 23836688.703
+ 921.543 718.085 46.000 41.000
+ -950715.85043 -720049.05542 24835232.542 24835241.657 24835232.558
+ -1101.365 -858.206 43.000 35.000
+ -1777835.12243 -1331133.76142 24757663.404 24757675.049 24757663.441
+ 3339.289 2602.043 42.000 37.000
+ -2403823.88943 -1870650.21642 24990997.676 24991007.923 24990997.064
+ -371.009 -289.098 44.000 38.000
+ 04 2 1 6 32 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -14133683.41443 -10596244.72342 22362655.572 22362660.960 22362654.410
+ -1580.131 -1231.271 52.000 45.000
+ -22374829.75843 -17373099.28242 20429429.912 20429434.787 20429428.618
+ -841.617 -655.805 55.000 49.000
+ -5517454.76743 -4111941.78042 24275627.369 24275639.458 24275626.148
+ -3643.940 -2839.434 47.000 40.000
+ -3116321.80643 -2413624.55042 24415097.705 24415109.683 24415097.764
+ -1848.899 -1440.700 43.000 37.000
+ -20068106.57343 -15626292.27042 21510230.140 21510236.035 21510228.892
+ 513.417 400.065 54.000 48.000
+ -23175040.10044 -18017573.88842 20928457.285 20928461.401 20928456.425
+ 263.829 205.581 57.000 50.000
+ -11311101.38143 -8758826.44942 22691724.237 22691731.203 22691723.077
+ 3463.715 2698.999 50.000 43.000
+ -6766188.44943 -5249603.19542 23831454.034 23831462.537 23831452.184
+ 912.449 710.999 47.000 41.000
+ -917527.93343 -694188.40942 24841548.513 24841557.211 24841549.385
+ -1111.584 -866.169 45.000 35.000
+ -1877918.05743 -1409120.40042 24738619.546 24738626.685 24738618.000
+ 3332.603 2596.834 44.000 37.000
+ -2392498.59943 -1861825.26942 24993153.070 24993164.885 24993151.684
+ -384.223 -299.394 43.000 36.000
+ 04 2 1 6 32 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -14086157.67343 -10559211.74742 22371698.619 22371706.130 22371697.679
+ -1588.763 -1237.997 52.000 45.000
+ -22349492.54843 -17353355.99142 20434251.329 20434256.706 20434250.531
+ -847.928 -660.723 56.000 49.000
+ -5408123.29743 -4026748.86842 24296432.546 24296443.877 24296429.378
+ -3645.347 -2840.530 47.000 40.000
+ -3060824.74343 -2370380.27342 24425658.294 24425670.154 24425657.916
+ -1851.189 -1442.485 42.000 37.000
+ -20083404.73043 -15638212.88442 21507318.483 21507324.249 21507317.517
+ 506.016 394.298 54.000 48.000
+ -23182831.49944 -18023645.10142 20926974.412 20926978.692 20926973.697
+ 255.083 198.766 57.000 50.000
+ -11414897.45043 -8839706.36042 22671973.443 22671979.414 22671971.035
+ 3455.644 2692.710 50.000 43.000
+ -6793429.22343 -5270829.68242 23826269.165 23826277.596 23826268.893
+ 903.152 703.755 47.000 41.000
+ -884034.59243 -668089.77842 24847921.004 24847933.390 24847921.583
+ -1121.961 -874.255 45.000 36.000
+ -1977787.71343 -1486940.89742 24719614.207 24719622.627 24719611.791
+ 3325.261 2591.112 43.000 37.000
+ -2380776.40043 -1852691.04342 24995383.550 24995393.118 24995385.333
+ -397.832 -309.999 42.000 35.000
+ 04 2 1 6 33 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -14038335.84743 -10521948.04242 22380798.953 22380806.210 22380797.926
+ -1600.385 -1247.053 51.000 45.000
+ -22323935.82343 -17333441.64942 20439114.594 20439119.720 20439113.506
+ -856.927 -667.735 56.000 49.000
+ -5298711.87443 -3941493.67342 24317253.234 24317263.622 24317251.758
+ -3649.639 -2843.874 48.000 40.000
+ -3005239.85843 -2327067.59242 24436232.676 24436248.637 24436234.170
+ -1855.475 -1445.825 41.000 37.000
+ -20098452.40443 -15649938.30242 21504455.823 21504461.107 21504454.115
+ 496.012 386.503 54.000 48.000
+ -23190326.22244 -18029485.14442 20925547.851 20925552.344 20925547.410
+ 243.377 189.644 57.000 50.000
+ -11518414.68043 -8920369.00742 22652273.412 22652280.705 22652272.636
+ 3444.478 2684.009 50.000 43.000
+ -6820358.26443 -5291813.28742 23821144.256 23821152.416 23821142.758
+ 890.888 694.198 46.000 40.000
+ -850203.48643 -641727.92542 24854359.850 24854371.478 24854360.149
+ -1134.919 -884.352 47.000 36.000
+ -2077406.58843 -1564565.91642 24700655.993 24700665.725 24700655.044
+ 3315.061 2583.164 42.000 37.000
+ -2368622.13343 -1843220.09442 24997695.413 24997705.582 24997693.784
+ -413.546 -322.244 40.000 34.000
+ 04 2 1 6 33 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13990276.96743 -10484499.63842 22389944.408 22389952.441 22389942.802
+ -1606.721 -1251.990 51.000 45.000
+ -22298220.59843 -17313403.80442 20444008.144 20444013.285 20444006.863
+ -860.710 -670.683 56.000 49.000
+ -5189282.94543 -3856224.82842 24338076.791 24338088.584 24338076.123
+ -3648.671 -2843.120 48.000 40.000
+ -2949629.56343 -2283735.07142 24446817.194 24446828.616 24446816.598
+ -1855.086 -1445.521 42.000 36.000
+ -20113310.40643 -15661515.94142 21501628.110 21501633.339 21501626.653
+ 491.214 382.764 54.000 48.000
+ -23197582.25644 -18035139.18742 20924167.180 20924171.338 20924166.535
+ 236.952 184.638 57.000 50.000
+ -11621709.68743 -9000858.50142 22632617.977 22632624.901 22632616.518
+ 3438.535 2679.378 51.000 44.000
+ -6847032.95943 -5312598.68142 23816067.466 23816076.850 23816066.985
+ 883.961 688.801 46.000 40.000
+ -816096.39743 -615151.02942 24860851.911 24860856.335 24860849.712
+ -1142.572 -890.316 45.000 34.000
+ -2176831.22543 -1642039.59042 24681735.412 24681744.018 24681735.989
+ 3310.188 2579.367 42.000 37.000
+ -2356094.45943 -1833458.21142 25000082.992 25000086.196 25000083.677
+ -424.787 -331.003 42.000 34.000
+ 04 2 1 6 34 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13941959.12243 -10446849.44042 22399138.884 22399146.357 22399137.727
+ -1615.305 -1258.679 51.000 45.000
+ -22272326.68343 -17293226.71242 20448935.833 20448940.451 20448934.359
+ -866.495 -675.191 56.000 49.000
+ -5079817.39143 -3770927.46242 24358907.410 24358919.413 24358908.312
+ -3649.750 -2843.961 48.000 40.000
+ -2893975.32543 -2240368.33642 24457409.697 24457420.286 24457408.223
+ -1856.604 -1446.704 44.000 36.000
+ -20127958.38643 -15672929.92642 21498840.844 21498845.709 21498839.496
+ 484.420 377.470 54.000 48.000
+ -23204576.29844 -18040589.08742 20922835.990 20922840.720 20922835.500
+ 228.351 177.936 57.000 50.000
+ -11724758.37643 -9081156.05942 22613008.857 22613014.455 22613006.917
+ 3430.397 2673.037 51.000 44.000
+ -6873429.68943 -5333167.46542 23811046.055 23811053.857 23811044.587
+ 874.731 681.609 47.000 41.000
+ -781694.71743 -588344.62842 24867396.658 24867404.085 24867396.352
+ -1152.177 -897.800 43.000 34.000
+ -2276037.82143 -1719343.35342 24662855.907 24662868.972 24662857.047
+ 3302.808 2573.617 40.000 36.000
+ -2343171.25443 -1823388.12742 25002540.183 25002547.367 25002539.393
+ -437.934 -341.247 41.000 34.000
+ 04 2 1 6 34 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13893373.74343 -10408990.77242 22408384.170 22408392.360 22408383.245
+ -1624.061 -1265.502 51.000 45.000
+ -22246247.30443 -17272905.10242 20453898.136 20453903.578 20453897.094
+ -872.519 -679.885 56.000 49.000
+ -4970309.53343 -3685597.12442 24379746.049 24379759.188 24379746.517
+ -3651.277 -2845.151 47.000 40.000
+ -2838271.74443 -2196963.14242 24468009.068 24468020.365 24468009.278
+ -1857.792 -1447.630 44.000 37.000
+ -20142389.40743 -15684174.84842 21496094.329 21496099.749 21496093.214
+ 477.218 371.858 54.000 48.000
+ -23211298.63944 -18045827.27442 20921557.217 20921561.631 20921556.472
+ 219.413 170.971 57.000 50.000
+ -11827550.06343 -9161253.36442 22593446.741 22593453.814 22593446.122
+ 3421.975 2666.474 51.000 44.000
+ -6899538.19343 -5353511.70642 23806077.046 23806085.519 23806076.311
+ 865.328 674.282 47.000 40.000
+ -746992.91943 -561304.30842 24873998.923 24874006.480 24873999.129
+ -1161.584 -905.130 43.000 34.000
+ -2375015.14443 -1796468.42742 24644025.215 24644031.925 24644023.070
+ 3295.140 2567.642 42.000 38.000
+ -2329844.05943 -1813003.23842 25005076.593 25005088.148 25005074.547
+ -451.173 -351.563 41.000 34.000
+ 04 2 1 6 35 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13844521.74443 -10370924.33242 22417681.007 22417688.588 22417680.327
+ -1633.103 -1272.548 52.000 45.000
+ -22219985.35443 -17252441.23942 20458895.448 20458900.996 20458894.059
+ -878.725 -684.721 55.000 49.000
+ -4860763.31043 -3600236.92642 24400592.362 24400606.546 24400591.321
+ -3652.460 -2846.073 47.000 40.000
+ -2782523.05943 -2153522.82442 24478619.288 24478631.035 24478618.072
+ -1859.408 -1448.889 46.000 37.000
+ -20156606.48743 -15695253.07042 21493389.572 21493393.863 21493387.700
+ 470.113 366.322 54.000 48.000
+ -23217748.80544 -18050853.37842 20920329.555 20920333.678 20920328.945
+ 210.184 163.780 57.000 50.000
+ -11930083.51743 -9241149.43742 22573935.655 22573941.693 22573934.256
+ 3413.146 2659.594 51.000 44.000
+ -6925357.77243 -5373630.76942 23801164.024 23801171.315 23801163.649
+ 855.306 666.472 48.000 41.000
+ -711994.94043 -534033.31542 24880659.759 24880668.353 24880662.517
+ -1171.677 -912.995 43.000 34.000
+ -2473762.06543 -1873413.99642 24625232.089 24625241.394 24625231.228
+ 3287.402 2561.612 41.000 37.000
+ -2316113.56943 -1802304.06142 25007687.691 25007701.442 25007686.321
+ -464.465 -361.921 38.000 34.000
+ 04 2 1 6 35 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13795404.25143 -10332651.01742 22427027.854 22427035.422 22427027.004
+ -1641.441 -1279.045 52.000 45.000
+ -22193543.70243 -17231837.33942 20463927.603 20463932.722 20463926.114
+ -884.122 -688.926 56.000 49.000
+ -4751183.08843 -3514850.23542 24421445.893 24421459.068 24421445.458
+ -3652.867 -2846.390 47.000 39.000
+ -2726733.99243 -2110051.05842 24489237.283 24489246.829 24489234.820
+ -1860.276 -1449.566 46.000 37.000
+ -20170612.45643 -15706166.78442 21490723.408 21490728.671 21490722.249
+ 463.570 361.223 54.000 48.000
+ -23223927.06744 -18055667.60942 20919154.129 20919158.322 20919153.358
+ 201.601 157.092 57.000 50.000
+ -12032357.69443 -9320843.47442 22554473.701 22554480.057 22554471.598
+ 3405.041 2653.279 51.000 44.000
+ -6950888.02443 -5393524.40242 23796305.335 23796313.335 23796304.803
+ 846.160 659.345 47.000 41.000
+ -676704.82743 -506534.62442 24887375.464 24887386.244 24887374.772
+ -1180.966 -920.233 44.000 34.000
+ -2572277.17843 -1950178.92042 24606489.358 24606494.886 24606485.781
+ 3280.482 2556.220 45.000 38.000
+ -2301980.75643 -1791291.45142 25010379.563 25010389.246 25010379.082
+ -477.715 -372.245 45.000 36.000
+ 04 2 1 6 36 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13746021.17043 -10294170.76242 22436425.144 22436433.027 22436424.434
+ -1650.242 -1285.903 52.000 45.000
+ -22166924.16243 -17211094.83242 20468992.569 20468998.011 20468991.642
+ -889.855 -693.393 55.000 49.000
+ -4641571.73043 -3429439.27342 24442304.432 24442318.914 24442303.867
+ -3653.546 -2846.919 47.000 39.000
+ -2670907.51543 -2066550.15642 24499859.775 24499870.654 24499856.703
+ -1860.938 -1450.081 44.000 37.000
+ -20184408.99643 -15716917.30642 21488098.574 21488103.570 21488097.047
+ 456.694 355.865 54.000 48.000
+ -23229831.96444 -18060268.82542 20918030.426 20918034.798 20918029.388
+ 192.579 150.062 57.000 50.000
+ -12134370.24743 -9400333.65742 22535061.309 22535068.165 22535059.290
+ 3396.495 2646.619 52.000 45.000
+ -6976127.25643 -5413191.28842 23791502.282 23791511.081 23791501.499
+ 836.670 651.951 46.000 40.000
+ -641125.72043 -478810.67242 24894144.252 24894156.508 24894143.738
+ -1190.241 -927.460 39.000 33.000
+ -2670558.18243 -2026761.49242 24587785.098 24587791.750 24587784.086
+ 3272.563 2550.049 46.000 40.000
+ -2287445.51343 -1779965.23842 25013142.873 25013151.798 25013141.860
+ -490.931 -382.544 43.000 36.000
+ 04 2 1 6 36 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13696367.99643 -10255480.04542 22445873.518 22445881.319 22445871.711
+ -1659.655 -1293.238 51.000 45.000
+ -22140124.10443 -17190211.66342 20474093.143 20474098.291 20474091.688
+ -896.430 -698.517 56.000 49.000
+ -4531927.70343 -3344002.88542 24463167.239 24463181.519 24463166.947
+ -3655.062 -2848.100 44.000 38.000
+ -2615042.78143 -2023019.36842 24510489.529 24510502.700 24510488.183
+ -1862.743 -1451.488 44.000 38.000
+ -20197993.22343 -15727502.39342 21485513.389 21485518.890 21485512.011
+ 449.327 350.125 54.000 48.000
+ -23235457.86144 -18064652.63642 20916959.772 20916964.244 20916958.805
+ 182.787 142.431 57.000 50.000
+ -12236114.59243 -9479614.84742 22515699.667 22515706.786 22515698.111
+ 3386.957 2639.187 52.000 45.000
+ -7001069.42843 -5432626.65542 23786756.198 23786764.380 23786756.151
+ 826.325 643.890 47.000 40.000
+ -605255.86143 -450860.16442 24900971.157 24900979.088 24900967.796
+ -1200.534 -935.481 41.000 33.000
+ -2768598.65243 -2103156.60142 24569129.466 24569135.240 24569127.029
+ 3263.753 2543.184 44.000 39.000
+ -2272503.25343 -1768321.93642 25015986.575 25015995.556 25015986.022
+ -504.904 -393.432 43.000 35.000
+ 04 2 1 6 37 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13646449.25243 -10216582.39842 22455372.828 22455380.058 22455372.074
+ -1668.123 -1299.836 51.000 45.000
+ -22113149.85343 -17169192.76442 20479225.554 20479231.143 20479224.519
+ -901.708 -702.630 55.000 49.000
+ -4422258.62943 -3258546.98542 24484038.067 24484051.179 24484034.808
+ -3655.598 -2848.518 45.000 37.000
+ -2559147.45843 -1979464.74542 24521126.851 24521137.134 24521125.897
+ -1863.447 -1452.037 45.000 37.000
+ -20211371.49543 -15737927.00242 21482967.378 21482973.056 21482966.083
+ 442.837 345.068 54.000 48.000
+ -23240808.05944 -18068821.62942 20915941.714 20915946.130 20915940.885
+ 174.024 135.603 57.000 50.000
+ -12337593.26543 -9558689.02442 22496389.461 22496394.664 22496387.577
+ 3378.382 2632.505 52.000 44.000
+ -7025717.42743 -5451832.82242 23782065.757 23782073.895 23782064.872
+ 816.832 636.492 47.000 40.000
+ -569103.10943 -422689.27442 24907851.038 24907858.626 24907847.408
+ -1209.613 -942.555 42.000 34.000
+ -2866400.57443 -2179365.78842 24550518.372 24550524.558 24550515.933
+ 3256.456 2537.498 45.000 39.000
+ -2257158.59343 -1756365.05742 25018908.103 25018919.008 25018906.965
+ -517.935 -403.586 45.000 37.000
+ 04 2 1 6 37 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13596259.54743 -10177473.61742 22464924.671 22464931.851 22464922.732
+ -1677.542 -1307.175 52.000 45.000
+ -22085997.73243 -17148035.26342 20484392.363 20484397.780 20484391.499
+ -908.067 -707.585 55.000 49.000
+ -4312561.94643 -3173069.57942 24504912.556 24504924.637 24504912.049
+ -3657.218 -2849.780 44.000 38.000
+ -2503219.43943 -1935884.66742 24531768.718 24531779.680 24531768.401
+ -1864.767 -1453.065 44.000 37.000
+ -20224540.43643 -15748188.49142 21480461.377 21480466.949 21480459.894
+ 435.294 339.190 54.000 48.000
+ -23245876.13244 -18072770.77742 20914977.512 20914981.523 20914976.601
+ 164.166 127.921 57.000 50.000
+ -12438798.78443 -9637550.37042 22477128.685 22477135.573 22477127.981
+ 3368.860 2625.086 51.000 44.000
+ -7050064.18043 -5470804.25042 23777432.483 23777439.312 23777431.149
+ 806.297 628.283 46.000 40.000
+ -532665.30943 -394296.20342 24914786.932 24914794.881 24914786.629
+ -1219.326 -950.124 43.000 34.000
+ -2963956.06843 -2255382.96342 24531954.197 24531960.076 24531952.370
+ 3247.680 2530.660 44.000 39.000
+ -2241405.97643 -1744090.27242 25021906.179 25021913.291 25021904.184
+ -531.791 -414.382 46.000 37.000
+ 04 2 1 6 38 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13545804.24743 -10138157.87042 22474525.442 22474532.820 22474524.279
+ -1686.799 -1314.389 52.000 45.000
+ -22058674.93843 -17126744.77242 20489592.546 20489597.351 20489591.242
+ -913.960 -712.177 56.000 49.000
+ -4202846.09343 -3087577.25342 24525790.504 24525803.897 24525789.850
+ -3657.814 -2850.245 45.000 37.000
+ -2447267.29443 -1892285.80742 24542416.866 24542429.838 24542417.132
+ -1865.630 -1453.738 46.000 37.000
+ -20237506.87243 -15758292.19042 21477993.789 21477998.963 21477992.909
+ 428.558 333.941 54.000 48.000
+ -23250666.07744 -18076503.20342 20914065.537 20914070.068 20914064.919
+ 154.646 120.503 57.000 50.000
+ -12539733.88143 -9716200.98542 22457921.909 22457927.992 22457921.434
+ 3359.507 2617.798 51.000 44.000
+ -7074113.57043 -5489543.97642 23772857.441 23772863.833 23772856.264
+ 796.210 620.423 48.000 41.000
+ -495950.55743 -365687.42642 24921773.188 24921779.983 24921773.352
+ -1228.422 -957.212 43.000 35.000
+ -3061268.53443 -2331210.70842 24513435.033 24513440.607 24513432.715
+ 3239.281 2524.115 42.000 38.000
+ -2225250.57043 -1731501.51042 25024979.732 25024987.272 25024978.445
+ -545.633 -425.168 45.000 37.000
+ 04 2 1 6 38 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13495077.41743 -10098630.53742 22484179.117 22484185.980 22484177.805
+ -1699.092 -1323.968 52.000 45.000
+ -22031177.22043 -17105317.98042 20494824.203 20494830.109 20494823.197
+ -923.233 -719.402 55.000 49.000
+ -4093107.92343 -3002067.56342 24546673.106 24546689.969 24546672.528
+ -3662.023 -2853.524 43.000 38.000
+ -2391288.42543 -1848666.07342 24553069.525 24553080.605 24553068.324
+ -1870.058 -1457.188 45.000 37.000
+ -20250266.64543 -15768234.85242 21475566.284 21475571.468 21475564.870
+ 418.214 325.881 54.000 48.000
+ -23255170.69044 -18080013.28842 20913208.574 20913213.105 20913207.806
+ 141.580 110.322 57.000 50.000
+ -12640390.61343 -9794634.70042 22438767.907 22438774.252 22438766.905
+ 3346.904 2607.977 51.000 45.000
+ -7097857.95243 -5508046.04442 23768337.779 23768345.817 23768337.089
+ 782.560 609.787 47.000 40.000
+ -458956.03243 -336860.61842 24928808.578 24928817.236 24928806.358
+ -1241.888 -967.705 38.000 33.000
+ -3158329.54243 -2406842.56742 24494965.361 24494971.397 24494964.577
+ 3227.412 2514.866 44.000 38.000
+ -2208686.34843 -1718594.27842 25028131.038 25028141.025 25028129.988
+ -562.427 -438.255 45.000 38.000
+ 04 2 1 6 39 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13444073.88343 -10058887.59942 22493884.528 22493891.976 22493883.117
+ -1703.674 -1327.538 51.000 45.000
+ -22003501.18343 -17083752.24342 20500091.260 20500096.559 20500089.829
+ -924.541 -720.421 55.000 49.000
+ -3983345.23643 -2916538.76142 24567562.756 24567576.969 24567561.585
+ -3658.217 -2850.559 45.000 38.000
+ -2335280.87043 -1805024.01842 24563724.763 24563738.269 24563726.626
+ -1865.803 -1453.872 44.000 37.000
+ -20262816.28443 -15778013.76542 21473177.265 21473183.222 21473176.238
+ 415.946 324.114 54.000 48.000
+ -23259383.45744 -18083295.96142 20912407.046 20912411.388 20912406.301
+ 136.594 106.437 57.000 50.000
+ -12740761.66743 -9872845.80542 22419668.052 22419674.997 22419667.276
+ 3341.923 2604.096 52.000 45.000
+ -7121290.70543 -5526305.25342 23763878.470 23763885.694 23763878.379
+ 776.941 605.409 46.000 40.000
+ -421679.47243 -307813.95142 24935907.141 24935916.808 24935906.734
+ -1246.476 -971.280 41.000 33.000
+ -3255131.46043 -2482272.57442 24476543.643 24476551.227 24476541.783
+ 3223.324 2511.681 43.000 38.000
+ -2191708.30843 -1705364.65642 25031360.247 25031371.059 25031359.121
+ -571.509 -445.332 43.000 37.000
+ 04 2 1 6 39 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13392808.53243 -10018940.65542 22503639.564 22503646.804 22503638.042
+ -1713.025 -1334.825 51.000 44.000
+ -21975663.45843 -17062060.51942 20505388.443 20505394.247 20505387.221
+ -930.499 -725.064 55.000 49.000
+ -3873576.09743 -2831004.97042 24588453.007 24588465.200 24588449.183
+ -3658.747 -2850.972 45.000 38.000
+ -2279262.62843 -1761373.70142 24574387.051 24574398.365 24574384.880
+ -1867.583 -1455.259 46.000 37.000
+ -20275172.44243 -15787641.93042 21470827.394 21470832.082 21470825.646
+ 408.835 318.573 55.000 48.000
+ -23263318.24344 -18086362.02442 20911658.011 20911662.572 20911657.425
+ 126.592 98.643 57.000 50.000
+ -12840859.98843 -9950844.37842 22400620.574 22400625.847 22400619.555
+ 3332.111 2596.450 52.000 45.000
+ -7144425.01643 -5544331.93942 23759476.221 23759485.014 23759474.838
+ 766.352 597.157 47.000 41.000
+ -278561.61342 24943045.824 24943056.913
+ -1256.025 -978.721 37.000 33.000
+ -3351686.62243 -2557510.24742 24458168.607 24458177.369 24458168.112
+ 3214.612 2504.892 44.000 38.000
+ -2174331.38443 -1691824.18442 25034668.301 25034678.376 25034665.814
+ -585.556 -456.277 43.000 36.000
+ 04 2 1 6 40 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13341275.52943 -9978785.13642 22513446.973 22513453.106 22513445.348
+ -1722.266 -1342.025 51.000 44.000
+ -21947659.90443 -17040239.57742 20510717.767 20510722.881 20510716.249
+ -936.158 -729.474 55.000 49.000
+ -3763797.33143 -2745463.69042 24609343.925 24609355.494 24609341.562
+ -3659.214 -2851.335 45.000 38.000
+ -2223231.14743 -1717712.97942 24585049.728 24585061.108 24585049.224
+ -1867.747 -1455.387 46.000 37.000
+ -20287330.88743 -15797116.02542 21468512.872 21468518.282 21468511.383
+ 402.012 313.256 54.000 48.000
+ -23266968.11844 -18089206.08342 20910963.922 20910968.196 20910963.124
+ 116.988 91.159 57.000 50.000
+ -12940677.21543 -10028623.93142 22381625.896 22381631.469 22381624.054
+ 3322.697 2589.115 52.000 45.000
+ -7167253.35143 -5562120.17342 23755132.948 23755140.434 23755130.686
+ 755.861 588.983 48.000 41.000
+ -249101.41552 24950242.924 24950247.375
+ -1264.518 -985.339 38.000 32.000
+ -3447986.81543 -2632549.25842 24439842.705 24439850.622 24439841.546
+ 3205.867 2498.078 43.000 38.000
+ -2156549.54443 -1677968.15142 25038052.690 25038062.515 25038051.126
+ -599.369 -467.041 42.000 36.000
+ 04 2 1 6 40 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13289470.11743 -9938417.37542 22523304.142 22523311.711 22523303.244
+ -1731.079 -1348.893 51.000 44.000
+ -21919487.16643 -17018286.80242 20516078.632 20516083.904 20516077.678
+ -941.620 -733.730 55.000 49.000
+ -3654007.17043 -2659913.53042 24630235.580 24630248.473 24630232.031
+ -3659.124 -2851.265 46.000 38.000
+ -2167184.79443 -1674040.70442 24595714.521 24595726.441 24595714.432
+ -1868.220 -1455.756 46.000 37.000
+ -20299288.31943 -15806433.48842 21466237.645 21466242.827 21466236.418
+ 395.503 308.184 54.000 48.000
+ -23270326.57444 -18091823.05942 20910324.456 20910329.193 20910323.639
+ 107.318 83.624 57.000 50.000
+ -13040206.46643 -10106179.06742 22362685.742 22362691.587 22362684.376
+ 3313.001 2581.559 51.000 44.000
+ -7189769.30243 -5579665.00542 23750847.797 23750855.437 23750845.632
+ 745.480 580.894 48.000 42.000
+ -308255.06353 24957488.999 24957490.381
+ -1273.492 -992.331 41.000
+ -3544025.14143 -2707384.20842 24421567.817 24421572.891 24421566.998
+ 3197.082 2491.233 45.000 38.000
+ -2138357.88043 -1663792.78342 25041513.898 25041523.429 25041513.419
+ -612.991 -477.655 45.000 36.000
+ 04 2 1 6 41 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13237393.52543 -9897838.28942 22533213.798 22533222.150 22533213.158
+ -1740.299 -1356.077 51.000 44.000
+ -21891148.34443 -16996204.61242 20521471.166 20521476.457 20521469.964
+ -947.481 -738.297 55.000 49.000
+ -3544209.64643 -2574357.63642 24651129.270 24651142.834 24651129.228
+ -3660.267 -2852.156 45.000 38.000
+ -2111128.03943 -1630360.26842 24606381.774 24606395.296 24606383.615
+ -1868.479 -1455.958 45.000 36.000
+ -20311048.02143 -15815596.87942 21463999.200 21464005.061 21463998.024
+ 388.675 302.864 54.000 48.000
+ -23273393.76944 -18094213.07242 20909740.900 20909745.089 20909740.006
+ 97.379 75.880 57.000 50.000
+ -13139446.57443 -10183508.92742 22343800.565 22343805.890 22343799.979
+ 3303.154 2573.886 52.000 44.000
+ -7211972.51043 -5596966.15742 23746621.307 23746629.604 23746619.457
+ 734.731 572.518 47.000 42.000
+ -269914.61843 -189556.16642 24964787.971 24964795.223 24964785.748
+ -1281.825 -998.825 42.000 34.000
+ -3639800.40143 -2782014.20742 24403344.133 24403349.621 24403341.678
+ 3188.261 2484.359 45.000 39.000
+ -2119757.85843 -1649299.25242 25045054.912 25045060.355 25045053.041
+ -626.369 -488.080 45.000 35.000
+ 04 2 1 6 41 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13185047.22743 -9857049.04642 22543176.204 22543183.319 22543174.359
+ -1749.141 -1362.967 51.000 44.000
+ -21862646.44643 -16973995.35842 20526894.482 20526900.587 20526893.955
+ -952.631 -742.310 55.000 49.000
+ -3434409.32643 -2488799.60842 24672023.524 24672039.924 24672022.832
+ -3659.894 -2851.865 44.000 38.000
+ -2055065.43243 -1586675.31942 24617051.769 24617061.232 24617051.048
+ -1868.836 -1456.236 46.000 37.000
+ -20322612.92043 -15824608.47642 21461798.584 21461803.908 21461797.651
+ 382.364 297.946 54.000 48.000
+ -23276170.20543 -18096376.53142 20909212.271 20909216.987 20909211.470
+ 87.783 68.402 56.000 50.000
+ -13238396.89843 -10260612.97042 22324970.661 22324976.758 22324970.272
+ 3293.704 2566.523 52.000 45.000
+ -7233862.92143 -5614023.54242 23742457.248 23742464.234 23742455.488
+ 724.525 564.565 49.000 42.000
+ -231314.37843 -159478.06142 24972132.129 24972141.090 24972128.287
+ -1291.075 -1006.032 40.000 34.000
+ -3735311.69143 -2856438.48142 24385168.297 24385175.376 24385167.092
+ 3179.597 2477.608 46.000 39.000
+ -2100750.82543 -1634488.54342 25048672.407 25048680.028 25048670.696
+ -640.323 -498.953 45.000 36.000
+ 04 2 1 6 42 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13132431.50943 -9816049.86042 22553187.394 22553195.253 22553187.395
+ -1758.653 -1370.379 51.000 44.000
+ -21833983.24543 -16951660.40742 20532349.679 20532354.883 20532348.443
+ -958.432 -746.830 56.000 49.000
+ -3324608.98243 -2403241.56742 24692918.527 24692933.083 24692916.994
+ -3660.668 -2852.468 43.000 37.000
+ -1999000.42243 -1542988.51742 24627720.251 24627732.629 24627720.427
+ -1869.387 -1456.665 45.000 37.000
+ -20333984.97543 -15833469.79942 21459634.807 21459640.081 21459633.297
+ 375.595 292.671 54.000 48.000
+ -23278654.38444 -18098312.25442 20908739.806 20908744.359 20908738.699
+ 77.642 60.500 57.000 50.000
+ -13337055.34443 -10337489.57442 22306196.703 22306202.115 22306195.240
+ 3283.404 2558.497 52.000 45.000
+ -7255439.12443 -5630836.14942 23738350.242 23738359.143 23738349.481
+ 713.764 556.180 48.000 41.000
+ -192457.42643 -129200.00142 24979527.241 24979536.078 24979527.362
+ -1299.795 -1012.827 41.000 34.000
+ -3830556.60543 -2930655.26742 24367042.518 24367050.364 24367041.439
+ 3169.989 2470.121 45.000 39.000
+ -2081337.19243 -1619361.01842 25052363.888 25052374.642 25052361.124
+ -654.021 -509.627 43.000 36.000
+ 04 2 1 6 42 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13079540.22443 -9774835.94442 22563253.124 22563260.866 22563252.124
+ -1767.888 -1377.575 51.000 44.000
+ -21805154.71343 -16929196.63742 20537835.601 20537840.602 20537834.096
+ -963.989 -751.160 55.000 49.000
+ -3214805.50343 -2317681.11842 24713813.860 24713829.639 24713812.800
+ -3660.189 -2852.095 44.000 38.000
+ -1942930.15343 -1499297.63242 24638390.836 24638404.170 24638389.353
+ -1869.301 -1456.598 46.000 37.000
+ -20345159.75943 -15842177.41142 21457508.174 21457513.737 21457506.969
+ 369.069 287.586 54.000 48.000
+ -23280839.18044 -18100014.69842 20908323.786 20908328.675 20908323.210
+ 67.505 52.601 57.000 50.000
+ -13435413.93243 -10414132.52842 22287479.700 22287485.899 22287479.064
+ 3273.415 2550.713 52.000 45.000
+ -7276693.58143 -5647398.00242 23734306.988 23734314.415 23734304.876
+ 702.772 547.615 48.000 41.000
+ -153341.04043 -98719.83742 24986969.605 24986980.953 24986966.357
+ -1308.159 -1019.345 38.000 34.000
+ -3925526.99843 -3004658.06142 24348970.322 24348979.645 24348968.735
+ 3160.460 2462.696 45.000 39.000
+ -2061511.05943 -1603912.02042 25056138.458 25056144.705 25056136.548
+ -668.017 -520.533 46.000 36.000
+ 04 2 1 6 43 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13026355.41043 -9733393.30942 22573374.213 22573381.688 22573372.266
+ -1776.594 -1384.359 51.000 45.000
+ -21776144.01443 -16906590.91542 20543355.819 20543361.273 20543354.716
+ -968.806 -754.914 55.000 49.000
+ -3104983.72743 -2232106.44042 24734712.314 24734727.348 24734712.847
+ -3659.548 -2851.596 44.000 37.000
+ -1886839.56443 -1455590.87542 24649064.403 24649076.421 24649062.814
+ -1868.729 -1456.152 46.000 37.000
+ -20356121.01043 -15850718.62242 21455422.712 21455427.662 21455421.188
+ 363.164 282.985 54.000 48.000
+ -23282705.30344 -18101468.82342 20907968.873 20907973.251 20907968.114
+ 58.204 45.354 57.000 50.000
+ -13533452.35343 -10490526.00642 22268823.071 22268829.142 22268821.913
+ 3264.009 2543.384 52.000 45.000
+ -7297606.64943 -5663693.85342 23730325.957 23730332.997 23730324.790
+ 692.737 539.795 48.000 42.000
+ -113949.80543 -68025.44042 24994464.125 24994477.104 24994464.595
+ -1316.006 -1025.459 40.000 34.000
+ -4020202.30543 -3078430.95742 24330953.577 24330962.793 24330953.388
+ 3152.368 2456.391 45.000 39.000
+ -2041254.13643 -1588127.40742 25059993.761 25060000.731 25059991.726
+ -680.462 -530.230 46.000 37.000
+ 04 2 1 6 43 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12972920.35843 -9691755.68942 22583542.026 22583550.395 22583541.187
+ -1785.930 -1391.634 50.000 45.000
+ -21746996.41043 -16883878.51042 20548902.766 20548907.718 20548901.331
+ -974.708 -759.513 55.000 49.000
+ -2995189.79143 -2146553.46542 24755606.720 24755620.988 24755604.430
+ -3660.307 -2852.187 45.000 37.000
+ -1830775.26643 -1411904.64242 24659733.924 24659743.349 24659732.353
+ -1869.018 -1456.378 45.000 37.000
+ -20366913.59543 -15859128.40742 21453368.690 21453374.055 21453367.133
+ 356.189 277.550 54.000 48.000
+ -23284294.79944 -18102707.40042 20907666.782 20907670.825 20907665.639
+ 47.546 37.049 57.000 50.000
+ -13631211.72543 -10566702.04342 22250220.538 22250225.769 22250219.082
+ 3253.140 2534.914 53.000 45.000
+ -7318220.03843 -5679756.19042 23726403.202 23726412.207 23726401.846
+ 681.303 530.885 47.000 41.000
+ -74330.34543 -37153.19742 25002003.639 25002013.704 25002001.057
+ -1324.783 -1032.298 40.000 35.000
+ -4114623.24943 -3152005.65042 24312986.910 24312994.187 24312985.265
+ 3142.249 2448.506 46.000 39.000
+ -2020609.84143 -1572040.89242 25063920.179 25063929.080 25063918.963
+ -694.756 -541.368 43.000 36.000
+ 04 2 1 6 44 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12919213.38243 -9649906.18642 22593761.997 22593770.299 22593761.150
+ -1794.900 -1398.623 50.000 44.000
+ -21717691.58243 -16861043.59742 20554478.932 20554484.767 20554477.923
+ -979.658 -763.370 55.000 49.000
+ -2885404.85143 -2061007.52742 24776499.537 24776514.209 24776497.138
+ -3659.268 -2851.378 45.000 37.000
+ -1774718.38943 -1368224.14642 24670399.697 24670413.590 24670401.993
+ -1868.870 -1456.262 43.000 36.000
+ -20377517.40243 -15867391.09342 21451351.369 21451356.167 21451349.503
+ 350.155 272.848 54.000 48.000
+ -23285584.82044 -18103712.61942 20907421.071 20907425.554 20907420.431
+ 37.915 29.544 57.000 50.000
+ -13728668.15743 -10642642.01842 22231675.566 22231680.936 22231673.606
+ 3243.258 2527.214 52.000 45.000
+ -7338510.38343 -5695566.80342 23722542.983 23722550.988 23722540.759
+ 670.769 522.677 48.000 42.000
+ -34464.06843 -6088.69342 25009591.022 25009602.134 25009590.915
+ -1332.517 -1038.325 41.000 34.000
+ -4208765.83943 -3225363.47942 24295072.410 24295079.078 24295069.260
+ 3133.190 2441.447 46.000 39.000
+ -1999556.45443 -1555635.67542 25067928.977 25067936.510 25067925.735
+ -708.785 -552.300 44.000 36.000
+ 04 2 1 6 44 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12865233.12443 -9607843.73642 22604034.648 22604042.840 22604033.657
+ -1803.787 -1405.548 51.000 44.000
+ -21688229.92243 -16838086.47442 20560085.508 20560090.802 20560084.255
+ -984.693 -767.293 55.000 49.000
+ -2775630.45643 -1975469.84442 24797389.193 24797402.085 24797387.709
+ -3659.235 -2851.352 44.000 37.000
+ -1718671.16343 -1324551.21142 24681066.889 24681077.329 24681066.663
+ -1868.065 -1455.635 44.000 36.000
+ -20387932.90443 -15875507.05842 21449369.261 21449373.897 21449367.231
+ 344.025 268.071 55.000 48.000
+ -23286573.01644 -18104482.64842 20907232.511 20907237.714 20907232.040
+ 27.930 21.764 57.000 50.000
+ -13825818.10943 -10718343.18642 22213188.016 22213193.610 22213186.868
+ 3233.182 2519.363 53.000 45.000
+ -7358475.01243 -5711123.61242 23718742.616 23718752.347 23718742.782
+ 659.954 514.250 47.000 42.000
+ 5647.38643 25166.84942 25017224.899 25017234.626 25017224.212
+ -1340.841 -1044.811 41.000 34.000
+ -4302626.48443 -3298501.54742 24277211.411 24277219.046 24277208.764
+ 3123.909 2434.215 46.000 39.000
+ -1978093.18243 -1538910.99642 25072011.987 25072020.339 25072009.853
+ -722.247 -562.790 44.000 37.000
+ 04 2 1 6 45 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12810980.27243 -9565568.87742 22614358.080 22614365.972 22614356.465
+ -1813.486 -1413.106 50.000 44.000
+ -21658613.61343 -16815008.84742 20565721.470 20565726.954 20565720.239
+ -990.192 -771.578 55.000 49.000
+ -2665870.19543 -1889943.21142 24818276.907 24818290.769 24818273.779
+ -3658.514 -2850.790 44.000 37.000
+ -1662636.98043 -1280888.41542 24691728.731 24691740.465 24691727.284
+ -1868.037 -1455.613 44.000 36.000
+ -20398162.36743 -15883478.05542 21447422.312 21447427.320 21447421.085
+ 337.387 262.899 54.000 48.000
+ -23287258.48644 -18105016.79442 20907102.319 20907106.992 20907101.668
+ 17.328 13.502 57.000 50.000
+ -13922660.17143 -10793804.44042 22194759.799 22194765.118 22194757.754
+ 3222.456 2511.005 52.000 45.000
+ -7378113.13743 -5726425.99642 23715006.788 23715015.067 23715005.229
+ 648.780 505.543 49.000 42.000
+ 46000.31443 56610.63642 25024901.574 25024912.237 25024901.998
+ -1349.751 -1051.754 42.000 35.000
+ -4396203.63043 -3371418.73742 24259403.409 24259411.988 24259401.088
+ 3114.203 2426.652 45.000 39.000
+ -1956220.44443 -1521867.26242 25076174.781 25076182.777 25076173.936
+ -736.351 -573.780 43.000 37.000
+ 04 2 1 6 45 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12756457.23443 -9523083.45442 22624734.500 22624742.155 22624733.480
+ -1822.232 -1419.921 51.000 44.000
+ -21628846.57543 -16791813.76142 20571385.565 20571391.016 20571384.305
+ -995.108 -775.409 55.000 49.000
+ -2556128.83343 -1804431.31642 24839161.274 24839175.533 24839158.664
+ -3658.178 -2850.528 43.000 36.000
+ -1606621.40043 -1237240.12642 24702388.862 24702400.728 24702387.507
+ -1867.521 -1455.211 44.000 37.000
+ -20408209.65643 -15891307.10042 21445509.942 21445515.742 21445508.747
+ 331.540 258.343 54.000 48.000
+ -23287642.48644 -18105316.02242 20907029.640 20907033.609 20907028.505
+ 7.224 5.629 57.000 50.000
+ -14019194.25943 -10869025.70742 22176389.231 22176394.871 22176387.689
+ 3212.098 2502.934 52.000 45.000
+ -7397425.20043 -5741474.31942 23711332.408 23711339.584 23711330.065
+ 637.906 497.070 48.000 42.000
+ 86589.28343 88238.31242 25032627.674 25032636.248 25032627.166
+ -1357.131 -1057.505 42.000 34.000
+ -4489496.66543 -3444114.53242 24241651.587 24241657.724 24241650.392
+ 3104.396 2419.010 47.000 39.000
+ -1933940.60643 -1504506.33442 25080413.225 25080423.660 25080412.386
+ -749.912 -584.347 43.000 36.000
+ 04 2 1 6 46 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12701656.77143 -9480381.89342 22635162.103 22635170.413 22635160.897
+ -1830.347 -1426.244 50.000 44.000
+ -21598922.98143 -16768496.69142 20577079.962 20577084.982 20577078.735
+ -999.219 -778.612 55.000 49.000
+ -2446401.85843 -1718930.68542 24860041.953 24860054.871 24860038.528
+ -3656.395 -2849.139 44.000 36.000
+ -1550620.06443 -1193602.87042 24713045.708 24713056.219 24713045.823
+ -1865.553 -1453.678 44.000 36.000
+ -20418069.13443 -15898989.79442 21443633.728 21443639.243 21443632.293
+ 326.319 254.274 54.000 48.000
+ -23287715.77344 -18105373.13542 20907015.611 20907019.891 20907014.718
+ -1.930 -1.504 57.000 50.000
+ -14115410.92943 -10943999.63342 22158079.745 22158085.837 22158078.277
+ 3202.687 2495.600 52.000 45.000
+ -7416402.58343 -5756261.86442 23707718.317 23707727.444 23707718.356
+ 627.773 489.174 47.000 42.000
+ 127418.62243 120053.31442 25040396.167 25040407.372 25040395.618
+ -1364.172 -1062.991 42.000 35.000
+ -4582496.22343 -3516581.62442 24223953.915 24223960.103 24223949.984
+ 3095.969 2412.443 46.000 39.000
+ -1911246.59243 -1486822.67642 25084730.974 25084742.688 25084731.737
+ -762.775 -594.370 43.000 36.000
+ 04 2 1 6 46 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12646583.22643 -9437467.51842 22645642.390 22645650.415 22645641.665
+ -1840.010 -1433.774 51.000 44.000
+ -21568848.34643 -16745061.92042 20582803.279 20582808.426 20582801.852
+ -1004.542 -782.760 55.000 49.000
+ -2336696.30143 -1633446.72842 24880918.742 24880931.166 24880916.414
+ -3656.128 -2848.931 42.000 34.000
+ -1494640.30343 -1149982.52242 24723697.751 24723708.601 24723696.097
+ -1865.527 -1453.657 42.000 35.000
+ -20427746.57743 -15906530.64942 21441792.431 21441797.266 21441791.134
+ 319.890 249.265 54.000 48.000
+ -23287481.85244 -18105190.87242 20907059.920 20907064.463 20907059.270
+ -12.592 -9.812 57.000 50.000
+ -14211312.10843 -11018727.72542 22139830.015 22139836.439 22139829.245
+ 3191.658 2487.006 52.000 45.000
+ -7435047.86343 -5770790.60042 23704172.520 23704178.498 23704170.432
+ 616.212 480.165 48.000 41.000
+ 168481.24843 152049.99442 25048209.397 25048221.188 25048210.274
+ -1372.267 -1069.299 43.000 36.000
+ -4675203.86343 -3588821.20142 24206310.777 24206320.180 24206309.842
+ 3085.359 2404.176 45.000 39.000
+ -1888142.69243 -1468819.68542 25089129.323 25089138.119 25089129.655
+ -776.450 -605.026 43.000 35.000
+ 04 2 1 6 47 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12591236.42043 -9394340.19742 22656174.772 22656182.777 22656172.940
+ -1849.568 -1441.222 50.000 44.000
+ -21538624.20643 -16721510.65442 20588554.178 20588559.673 20588553.355
+ -1010.110 -787.099 55.000 49.000
+ -2227014.71243 -1547981.53442 24901789.846 24901806.858 24901789.444
+ -3655.773 -2848.654 42.000 35.000
+ -1438684.77743 -1106381.07342 24734346.802 24734358.582 24734346.283
+ -1864.286 -1452.690 42.000 35.000
+ -20437243.39343 -15913930.75442 21439985.020 21439990.774 21439983.765
+ 313.487 244.276 54.000 48.000
+ -23286939.31744 -18104768.12842 20907163.543 20907167.582 20907162.658
+ -23.319 -18.171 57.000 50.000
+ -14306895.49343 -11093208.19942 22121641.320 22121647.233 22121640.843
+ 3180.805 2478.549 52.000 45.000
+ -7453359.30343 -5785059.19542 23700687.361 23700696.764 23700687.356
+ 604.718 471.209 48.000 42.000
+ 209774.23343 184226.26642 25056066.895 25056078.354 25056066.698
+ -1380.252 -1075.521 42.000 36.000
+ -4767617.11043 -3660831.46542 24188725.699 24188734.585 24188723.005
+ 3075.354 2396.380 46.000 39.000
+ -1864628.88643 -1450497.15842 25093602.576 25093615.529 25093600.763
+ -790.954 -616.328 42.000 34.000
+ 04 2 1 6 47 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12535615.04343 -9350998.93842 22666759.427 22666766.881 22666758.383
+ -1858.508 -1448.188 51.000 44.000
+ -21508250.76443 -16697843.04342 20594334.477 20594339.794 20594333.314
+ -1014.849 -790.791 55.000 49.000
+ -2117358.82443 -1462536.36442 24922656.741 24922674.858 24922656.112
+ -3654.560 -2847.709 41.000 35.000
+ -1382755.38243 -1062799.94042 24744990.653 24744999.412 24744988.414
+ -1863.483 -1452.065 43.000 34.000
+ -20446560.04443 -15921190.46042 21438212.066 21438217.456 21438210.652
+ 307.754 239.808 54.000 48.000
+ -23286085.29744 -18104102.66742 20907325.890 20907330.461 20907324.982
+ -33.548 -26.141 57.000 50.000
+ -14402157.77043 -11167438.45842 22103513.492 22103519.433 22103511.704
+ 3170.212 2470.295 52.000 45.000
+ -7471334.15843 -5799065.52442 23697267.294 23697275.254 23697264.814
+ 593.531 462.492 48.000 42.000
+ 251295.57543 216580.38742 25063969.974 25063979.409 25063967.218
+ -1387.529 -1081.191 40.000 35.000
+ -4859732.18343 -3732609.30642 24171197.333 24171205.069 24171195.003
+ 3065.793 2388.930 46.000 39.000
+ -1840704.25543 -1431854.57442 25098156.584 25098166.077 25098152.116
+ -804.210 -626.657 41.000 35.000
+ 04 2 1 6 48 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12479717.79943 -9307442.71742 22677396.312 22677403.137 22677395.260
+ -1867.694 -1455.346 50.000 44.000
+ -21477728.03043 -16674059.10442 20600142.680 20600147.954 20600141.582
+ -1019.687 -794.561 55.000 49.000
+ -2007729.83543 -1377112.21542 24943520.385 24943538.567 24943519.533
+ -3653.830 -2847.140 41.000 35.000
+ -1326853.85743 -1019240.46342 24755626.829 24755639.808 24755625.789
+ -1862.869 -1451.586 43.000 33.000
+ -20455696.73743 -15928309.94942 21436473.376 21436479.053 21436471.929
+ 301.597 235.011 54.000 48.000
+ -23284917.36244 -18103192.59842 20907547.516 20907552.778 20907547.222
+ -44.237 -34.470 57.000 50.000
+ -14497095.44643 -11241415.77842 22085447.516 22085453.493 22085445.836
+ 3159.166 2461.688 53.000 46.000
+ -7488969.55343 -5812807.35342 23693910.505 23693919.257 23693909.781
+ 582.147 453.621 47.000 41.000
+ 293043.73243 249111.26042 25071916.907 25071923.948 25071912.846
+ -1395.084 -1087.078 41.000 35.000
+ -4951545.28043 -3804151.88242 24153726.144 24153732.598 24153724.308
+ 3055.495 2380.905 46.000 39.000
+ -1816367.44443 -1412890.80142 25102787.269 25102799.625 25102786.174
+ -817.949 -637.363 43.000 35.000
+ 04 2 1 6 48 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12423549.00443 -9263674.89142 22688085.101 22688092.366 22688083.399
+ -1877.208 -1462.759 49.000 44.000
+ -21447061.86643 -16650163.39142 20605978.357 20605983.451 20605977.095
+ -1025.006 -798.706 55.000 49.000
+ -1898134.74043 -1291714.48142 24964374.897 24964395.950 24964373.606
+ -3653.231 -2846.673 40.000 34.000
+ -1270987.10543 -975708.13442 24766259.864 24766272.065 24766258.547
+ -1861.981 -1450.894 42.000 34.000
+ -20464659.10843 -15935293.60242 21434767.969 21434773.361 21434767.072
+ 295.441 230.214 54.000 48.000
+ -23283438.65044 -18102040.36442 20907829.181 20907833.793 20907828.621
+ -54.984 -42.845 57.000 50.000
+ -14591710.41843 -11315141.63342 22067442.786 22067448.729 22067441.421
+ 3147.956 2452.953 53.000 46.000
+ -7506268.29443 -5826286.84242 23690620.226 23690627.126 23690619.336
+ 570.496 444.542 48.000 41.000
+ 335011.72253 281813.39752 25079903.939 25079911.649 25079899.939
+ -1403.001 -1093.247 39.000 34.000
+ -5043058.33243 -3875460.63442 24136312.098 24136316.264 24136310.952
+ 3045.012 2372.737 46.000 39.000
+ -1791622.86243 -1393609.31942 25107495.419 25107503.234 25107493.758
+ -832.221 -648.484 42.000 35.000
+ 04 2 1 6 49 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12367101.06643 -9219689.57542 22698826.166 22698834.423 22698825.390
+ -1885.915 -1469.544 49.000 44.000
+ -21416246.03443 -16626151.05442 20611842.621 20611847.788 20611841.291
+ -1029.566 -802.259 55.000 49.000
+ -1788568.60143 -1206339.38242 24985226.308 24985244.218 24985223.379
+ -3651.729 -2845.503 41.000 34.000
+ -1215150.65943 -932199.43242 24776885.207 24776900.737 24776884.054
+ -1861.079 -1450.191 42.000 34.000
+ -20473441.23643 -15942136.80942 21433096.857 21433102.442 21433095.452
+ 289.930 225.919 54.000 48.000
+ -23281639.98144 -18100638.81042 20908171.669 20908176.609 20908170.914
+ -65.173 -50.784 57.000 50.000
+ -14685992.77243 -11388608.31342 22049501.475 22049507.296 22049499.952
+ 3137.361 2444.697 53.000 46.000
+ -7523221.13543 -5839496.80642 23687391.838 23687401.120 23687392.139
+ 559.579 436.036 47.000 41.000
+ 377203.96053 314690.23852 25087929.144 25087938.403 25087928.972
+ -1410.035 -1098.728 37.000 34.000
+ -5134261.17843 -3946527.66542 24118955.369 24118962.330 24118955.097
+ 3035.246 2365.127 46.000 40.000
+ -1766463.17043 -1374004.35142 25112284.946 25112291.974 25112284.869
+ -845.290 -658.667 43.000 36.000
+ 04 2 1 6 49 30.0000000 0 10G 1G27G20G 4G 8G13G28G31G10G 3
+ -12310379.72643 -9175491.19442 22709621.039 22709627.875 22709619.284
+ -1895.421 -1476.951 51.000 44.000
+ -21385287.49843 -16602027.52542 20617733.390 20617738.649 20617732.565
+ -1034.523 -806.122 55.000 49.000
+ -1679039.53343 -1120993.17442 25006070.800 25006087.545 25006069.299
+ -3650.223 -2844.330 39.000 34.000
+ -1159353.01443 -888721.04142 24787500.130 24787514.097 24787499.467
+ -1859.736 -1449.145 41.000 34.000
+ -20482050.34643 -15948845.19542 21431458.763 21431464.075 21431457.428
+ 283.944 221.255 54.000 48.000
+ -23279525.91544 -18098991.49042 20908574.237 20908578.456 20908573.292
+ -75.929 -59.165 57.000 50.000
+ -14779946.04243 -11461818.54942 22031622.650 22031628.773 22031621.288
+ 3126.038 2435.874 53.000 46.000
+ -7539832.22943 -5852440.49342 23684232.957 23684240.417 23684231.205
+ 547.661 426.749 48.000 42.000
+ -5225156.86343 -4017355.35342 24101657.830 24101667.036 24101657.497
+ 3024.404 2356.678 46.000 40.000
+ -1740893.76943 -1354080.14642 25117149.234 25117157.706 25117147.450
+ -859.552 -669.781 43.000 35.000
+ 04 2 1 6 50 0.0000000 0 10G 1G27G20G 4G 8G13G28G31G10G 3
+ -12253384.20043 -9131079.15542 22720465.104 22720474.801 22720464.529
+ -1903.804 -1483.484 49.000 43.000
+ -21354186.95943 -16577793.33342 20623651.588 20623657.101 20623650.578
+ -1038.835 -809.482 55.000 49.000
+ -1569549.39643 -1035677.34942 25026905.090 25026924.578 25026900.457
+ -3648.523 -2843.005 38.000 33.000
+ -845274.66342 24798110.612 24798124.178
+ -1857.306 -1447.251 41.000 32.000
+ -20490487.02243 -15955419.21642 21429853.410 21429858.908 21429852.225
+ 278.524 217.032 55.000 48.000
+ -23277094.18544 -18097096.64142 20909036.640 20909041.469 20909035.732
+ -86.092 -67.085 57.000 50.000
+ -14873566.95043 -11534769.81142 22013807.294 22013813.037 22013806.012
+ 3115.251 2427.468 53.000 46.000
+ -7556099.22243 -5865116.01842 23681136.341 23681143.646 23681134.628
+ 536.732 418.233 48.000 42.000
+ -5315742.20743 -4087941.23242 24084420.556 24084428.082 24084420.654
+ 3014.566 2349.012 47.000 39.000
+ -1714914.50243 -1333836.48142 25122093.281 25122102.525 25122090.504
+ -872.569 -679.924 44.000 35.000
+ 04 2 1 6 50 30.0000000 0 10G 1G27G20G 4G 8G13G28G31G10G 3
+ -12196109.30343 -9086449.46342 22731366.002 22731373.521 22731365.329
+ -1914.444 -1491.774 50.000 44.000
+ -21322940.53743 -16553445.47542 20629597.743 20629603.087 20629596.446
+ -1044.659 -814.020 55.000 49.000
+ -1460095.77243 -950390.06242 25047734.723 25047756.806 25047734.493
+ -3648.211 -2842.762 37.000 32.000
+ 24808714.299
+ -1857.042 -1447.046 41.000
+ -20498747.59443 -15961856.00742 21428281.393 21428286.693 21428280.308
+ 271.630 211.660 54.000 48.000
+ -23274338.47844 -18094949.34042 20909561.402 20909565.650 20909560.554
+ -98.022 -76.381 57.000 50.000
+ -14966848.56743 -11607456.69642 21996055.974 21996061.476 21996054.931
+ 3103.092 2417.994 53.000 46.000
+ -7572015.55643 -5877518.30842 23678107.233 23678115.721 23678106.159
+ 523.969 408.288 48.000 42.000
+ -5406009.76643 -4158279.53442 24067241.519 24067251.663 24067239.722
+ 3002.630 2339.712 46.000 39.000
+ -1688520.23943 -1313269.53742 25127116.834 25127125.061 25127116.844
+ -887.413 -691.491 45.000 35.000
+ 04 2 1 6 51 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12138562.44343 -9041607.84242 22742315.850 22742324.345 22742313.912
+ -1923.758 -1499.032 50.000 44.000
+ -21291557.04843 -16528990.80242 20635570.396 20635575.006 20635568.573
+ -1049.225 -817.578 55.000 49.000
+ -1350688.95143 -865139.22842 25068555.056 25068576.308 25068557.016
+ -3646.556 -2841.472 38.000 32.000
+ 24819308.969
+ -1855.205 -1445.614 42.000
+ -20506841.28843 -15968162.76842 21426741.781 21426746.187 21426739.658
+ 266.197 207.426 55.000 48.000
+ -23271264.97044 -18092554.40042 20910145.943 20910150.427 20910145.343
+ -108.654 -84.665 57.000 50.000
+ -15059796.04843 -11679883.20542 21978368.267 21978374.512 21978367.197
+ 3091.661 2409.086 53.000 46.000
+ -7587587.06743 -5889651.88542 23675145.503 23675151.735 23675144.533
+ 512.452 399.313 49.000 42.000
+ -35751.89653 -33220.09052 25120453.981 25120462.419 25120451.628
+ -1439.006 -1121.303 41.000 37.000
+ -5495964.14143 -4228373.71642 24050125.847 24050132.567 24050123.846
+ 2992.367 2331.715 47.000 40.000
+ -1661718.77743 -1292385.25642 25132216.592 25132226.080 25132215.417
+ -901.406 -702.394 44.000 36.000
+ 04 2 1 6 51 30.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12080741.81243 -8996552.87642 22753319.367 22753327.023 22753318.073
+ -1932.372 -1505.744 51.000 44.000
+ -21260035.91243 -16504428.87842 20641568.226 20641573.128 20641566.939
+ -1053.465 -820.882 55.000 49.000
+ -1241329.13743 -779925.07442 25089366.527 25089389.107 25089366.325
+ -3645.359 -2840.539 37.000 32.000
+ -936591.29343 -715141.35342 24829894.646 24829903.390 24829894.713
+ -1853.037 -1443.925 43.000 33.000
+ -20514767.43243 -15974338.97642 21425232.947 21425237.947 21425231.325
+ 260.948 203.336 55.000 48.000
+ -23267870.16143 -18089909.09942 20910791.624 20910796.497 20910791.164
+ -118.943 -92.683 56.000 50.000
+ -15152404.88943 -11752045.83742 21960745.470 21960751.549 21960744.386
+ 3080.874 2400.681 53.000 46.000
+ -7602810.25043 -5901514.04542 23672247.033 23672256.098 23672246.329
+ 501.190 390.538 48.000 42.000
+ 7494.84443 478.56842 25128686.626 25128692.101 25128683.307
+ -1445.215 -1126.141 42.000 36.000
+ -5585600.91543 -4298220.49142 24033067.395 24033073.895 24033066.449
+ 2982.013 2323.646 46.000 39.000
+ -1634507.96543 -1271181.98442 25137394.709 25137399.371 25137396.417
+ -914.596 -712.672 44.000 34.000
+ 04 2 1 6 52 0.0000000 0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12022644.75143 -8951282.52542 22764374.144 22764382.361 22764372.092
+ -1940.630 -1512.179 50.000 43.000
+ -21228375.69443 -16479758.58842 20647592.414 20647598.324 20647591.295
+ -1057.183 -823.779 55.000 49.000
+ -1132016.45043 -694747.64442 25110170.504 25110195.780 25110167.157
+ -3642.754 -2838.510 38.000 32.000
+ -881022.59543 -671841.31642 24840470.149 24840479.859 24840466.739
+ -1851.270 -1442.548 43.000 34.000
+ -20522524.69243 -15980383.57942 21423756.490 21423762.390 21423755.598
+ 256.263 199.685 54.000 48.000
+ -23264149.90444 -18087010.20142 20911499.987 20911504.734 20911499.378
+ -128.956 -100.485 57.000 50.000
+ -15244670.39043 -11823940.93842 21943187.873 21943194.128 21943186.624
+ 3070.290 2392.434 53.000 46.000
+ -7617680.90043 -5913101.51242 23669418.975 23669425.448 23669416.315
+ 490.140 381.927 48.000 42.000
+ 50945.40243 34336.00942 25136951.591 25136961.351 25136949.137
+ -1450.922 -1130.588 38.000 35.000
+ -5674915.00043 -4367815.78942 24016072.245 24016079.074 24016069.243
+ 2972.193 2315.994 47.000 40.000
+ -1606885.48943 -1249657.93442 25142651.085 25142656.562 25142648.071
+ -927.050 -722.377 44.000 35.000
+ 04 2 1 6 52 30.0000000 0 10G 1G27G20G 4G 8G13G28G31G10G 3
+ -11964270.84643 -8905796.48242 22775483.011 22775489.967 22775482.572
+ -1949.734 -1519.273 51.000 44.000
+ -21196577.40143 -16454980.70242 20653643.739 20653649.102 20653642.599
+ -1061.568 -827.196 55.000 49.000
+ -3064808.66952 25130963.923 25130990.142
+ -3639.871 -2836.263 38.000 31.000
+ -825506.56143 -628582.29042 24851031.992 24851042.146 24851031.516
+ -1849.330 -1441.036 42.000 34.000
+ -20530114.34343 -15986297.58442 21422312.350 21422317.329 21422311.270
+ 250.898 195.505 54.000 48.000
+ -23260102.84744 -18083856.65242 20912270.135 20912274.709 20912269.502
+ -139.711 -108.866 57.000 50.000
+ -15336589.92843 -11895566.44742 21925696.894 21925702.222 21925695.161
+ 3058.827 2383.502 53.000 46.000
+ -7632197.23543 -5924412.85742 23666655.733 23666663.252 23666654.610
+ 478.592 372.929 47.000 42.000
+ -5763903.46143 -4437157.37442 23999139.020 23999145.268 23999137.644
+ 2961.388 2307.575 47.000 40.000
+ -1578851.36043 -1227813.11542 25147985.151 25147993.976 25147983.222
+ -940.853 -733.132 43.000 36.000
+ 04 2 1 6 53 0.0000000 0 9G 1G27G 4G 8G13G28G31G10G 3
+ -11905621.44943 -8860095.73942 22786644.503 22786651.365 22786642.295
+ -1959.457 -1526.850 51.000 44.000
+ -21164643.47943 -16430097.13142 20659720.157 20659726.387 20659719.271
+ -1066.537 -831.068 55.000 49.000
+ -770047.05343 -585367.26942 24861587.650 24861600.011 24861587.070
+ -1847.656 -1439.732 41.000 34.000
+ -20537539.12043 -15992083.11242 21420899.826 21420904.234 21420898.201
+ 244.965 190.882 54.000 48.000
+ -23255728.64244 -18080448.18842 20913102.567 20913107.076 20913101.809
+ -151.144 -117.774 57.000 50.000
+ -15428162.45543 -11966921.57742 21908270.651 21908275.785 21908269.324
+ 3046.842 2374.163 53.000 46.000
+ -7646358.87443 -5935447.83442 23663960.319 23663968.391 23663959.179
+ 466.162 363.243 47.000 42.000
+ -5852565.18343 -4506244.31342 23982266.196 23982272.235 23982264.752
+ 2950.247 2298.894 47.000 40.000
+ -1550407.04043 -1205648.68042 25153399.209 25153403.253 25153395.863
+ -954.892 -744.072 43.000 34.000
+ 04 2 1 6 53 30.0000000 0 9G 1G27G 4G 8G13G28G31G10G 3
+ -11846694.15543 -8814178.47042 22797857.021 22797867.106 22797855.391
+ -1968.628 -1533.996 51.000 44.000
+ -21132572.84643 -16405107.04042 20665824.072 20665828.982 20665822.717
+ -1070.927 -834.488 55.000 49.000
+ -714644.50143 -542196.68342 24872128.850 24872143.632 24872125.759
+ -1845.163 -1437.789 38.000 33.000
+ -20544797.90943 -15997739.30142 21419518.466 21419523.770 21419516.798
+ 239.633 186.727 54.000 48.000
+ -23251023.89444 -18076782.16642 20913997.981 20914002.410 20913996.900
+ -161.956 -126.199 57.000 50.000
+ -15519383.56343 -12038002.86942 21890911.237 21890917.343 21890909.919
+ 3035.126 2365.033 53.000 46.000
+ -7660162.06543 -5946203.51442 23661334.100 23661342.115 23661332.250
+ 454.407 354.083 47.000 41.000
+ -5940895.25543 -4575072.86542 23965459.221 23965464.690 23965458.207
+ 2939.330 2290.387 49.000 41.000
+ -1521550.21543 -1183162.83942 25158887.135 25158895.104 25158886.327
+ -969.056 -755.108 41.000 33.000
+ 04 2 1 6 54 0.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -11787491.08043 -8768046.29042 22809124.015 22809131.452 22809122.651
+ -1978.052 -1541.339 51.000 44.000
+ -21100368.60943 -16380012.84242 20671952.250 20671957.131 20671950.683
+ -1075.788 -838.276 55.000 49.000
+ -659303.70343 -499074.28642 24882658.497 24882670.248 24882658.406
+ -1843.592 -1436.565 40.000 34.000
+ -20551894.29543 -16003268.94042 21418167.613 21418173.178 21418166.054
+ 233.876 182.241 54.000 48.000
+ -23245989.20644 -18072859.04142 20914955.556 20914960.494 20914955.072
+ -173.404 -135.120 57.000 50.000
+ -15610252.99543 -12108810.12342 21873620.079 21873625.166 21873618.397
+ 3023.049 2355.623 53.000 46.000
+ -7673607.28343 -5956680.22642 23658774.387 23658782.786 23658773.097
+ 442.115 344.505 47.000 41.000
+ 9728.03053 1357.84152 25170400.274 25170411.865 25170401.284
+ -1477.390 -1151.213 40.000 35.000
+ -6028893.05043 -4643642.51042 23948713.016 23948719.397 23948712.233
+ 2927.695 2281.321 48.000 41.000
+ -1492283.27043 -1160357.31442 25164458.509 25164466.926 25164456.585
+ -983.001 -765.975 40.000 34.000
+ 04 2 1 6 54 30.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -11728013.39143 -8721700.10942 22820441.756 22820449.395 22820440.717
+ -1987.080 -1548.374 51.000 43.000
+ -21068033.20643 -16354816.43842 20678105.210 20678110.083 20678104.002
+ -1080.002 -841.560 55.000 49.000
+ -604028.77143 -456003.13742 24893178.091 24893190.074 24893177.511
+ -1841.683 -1435.078 40.000 34.000
+ -20558830.76943 -16008673.98242 21416847.661 21416853.191 21416846.899
+ 228.609 178.137 55.000 48.000
+ -23240624.25644 -18068678.57042 20915976.506 20915981.273 20915976.081
+ -184.284 -143.598 57.000 50.000
+ -15700769.48643 -12179342.36442 21856395.101 21856400.992 21856393.484
+ 3011.309 2346.474 54.000 46.000
+ -7686694.13043 -5966877.70842 23656284.318 23656291.208 23656282.744
+ 430.438 335.406 47.000 41.000
+ 54152.38643 35974.01642 25178854.263 25178868.728 25178855.574
+ -1484.185 -1156.508 40.000 37.000
+ -6116557.24343 -4711952.18342 23932032.518 23932036.521 23932029.398
+ 2916.511 2272.606 48.000 41.000
+ -1462607.32043 -1137233.12342 25170106.141 25170116.238 25170104.999
+ -995.915 -776.038 42.000 35.000
+ 04 2 1 6 55 0.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -11668259.35143 -8675138.60542 22831812.470 22831819.820 22831811.531
+ -1996.409 -1555.643 50.000 43.000
+ -21035566.30943 -16329517.57342 20684282.887 20684288.792 20684281.647
+ -1084.133 -844.779 55.000 49.000
+ -548820.60943 -412984.01042 24903684.738 24903696.906 24903683.853
+ -1838.659 -1432.721 40.000 34.000
+ -20565607.18143 -16013954.28942 21415558.672 21415563.903 21415557.109
+ 223.627 174.255 55.000 48.000
+ -23234926.08244 -18064238.45042 20917061.141 20917065.754 20917060.395
+ -195.148 -152.063 57.000 50.000
+ -15790929.33243 -12249596.70342 21839237.715 21839243.765 21839236.959
+ 2999.852 2337.547 54.000 46.000
+ -7699419.47943 -5976793.52842 23653863.788 23653870.917 23653862.405
+ 418.432 326.051 48.000 42.000
+ 98762.95043 70735.31042 25187344.140 25187354.349 25187343.324
+ -1489.905 -1160.965 42.000 38.000
+ -6203883.80043 -4779998.74642 23915413.408 23915419.039 23915410.389
+ 2905.628 2264.126 47.000 40.000
+ -1432520.94443 -1113789.23642 25175830.279 25175838.861 25175828.835
+ -1009.860 -786.904 41.000 35.000
+ 04 2 1 6 55 30.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -11608227.52743 -8628360.65442 22843236.024 22843243.780 22843234.966
+ -2005.118 -1562.430 49.000 43.000
+ -21002967.55743 -16304115.96642 20690486.092 20690492.363 20690485.237
+ -1088.315 -848.038 55.000 49.000
+ -493680.47243 -370017.87442 24914176.410 24914191.984 24914176.715
+ -1836.560 -1431.086 40.000 34.000
+ -20572223.31943 -16019109.71142 21414299.972 21414305.140 21414298.002
+ 218.416 170.194 55.000 49.000
+ -23228891.92344 -18059536.52442 20918209.220 20918214.186 20918208.667
+ -206.233 -160.701 57.000 50.000
+ -15880728.73143 -12319570.17142 21822149.994 21822154.893 21822148.331
+ 2987.805 2328.160 53.000 46.000
+ -7711780.47143 -5986425.39242 23651510.472 23651519.198 23651510.124
+ 406.299 316.597 48.000 42.000
+ 143558.52343 105640.80142 25195870.001 25195879.605 25195868.020
+ -1495.646 -1165.438 44.000 38.000
+ -6290868.70843 -4847779.12242 23898860.606 23898867.367 23898857.584
+ 2894.181 2255.206 47.000 40.000
+ -1402023.25543 -1090024.76542 25181634.667 25181642.051 25181632.346
+ -1023.389 -797.446 43.000 36.000
+ 04 2 1 6 56 0.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -11547919.52843 -8581367.47742 22854712.987 22854720.320 22854710.933
+ -2014.709 -1569.903 51.000 43.000
+ -20970239.65843 -16278613.72142 20696714.379 20696719.703 20696713.161
+ -1092.966 -851.662 55.000 49.000
+ -438612.40043 -327107.95842 24924660.168 24924669.891 24924657.351
+ -1833.801 -1428.936 39.000 35.000
+ -20578682.06643 -16024142.49442 21413070.328 21413075.868 21413068.865
+ 212.846 165.854 55.000 48.000
+ -23222522.03444 -18054572.99342 20919421.609 20919426.222 20919420.928
+ -217.745 -169.671 57.000 50.000
+ -15970167.05643 -12389262.28142 21805129.904 21805135.170 21805129.161
+ 2975.371 2318.471 53.000 47.000
+ -7723777.03043 -5995773.28842 23649227.505 23649236.137 23649225.803
+ 393.937 306.964 48.000 41.000
+ 188534.84243 140687.12142 25204427.873 25204438.374 25204426.881
+ -1501.866 -1170.285 43.000 37.000
+ -6377510.68343 -4915292.25042 23882372.691 23882378.930 23882371.645
+ 2882.651 2246.222 48.000 41.000
+ -1371116.08543 -1065941.21242 25187515.985 25187525.052 25187514.927
+ -1037.350 -808.325 43.000 37.000
+ 04 2 1 6 56 30.0000000 0 9G 1G27G 8G13G28G31G24G10G 3
+ -11487335.39043 -8534159.12442 22866241.359 22866249.386 22866239.878
+ -2024.436 -1577.482 50.000 43.000
+ -20937383.59343 -16253011.60542 20702967.311 20702972.196 20702966.019
+ -1097.604 -855.276 55.000 49.000
+ -20584984.73643 -16029053.65142 21411871.594 21411875.944 21411869.869
+ 207.296 161.529 55.000 48.000
+ -23215814.85344 -18049346.63542 20920698.122 20920702.431 20920697.222
+ -229.518 -178.845 57.000 50.000
+ -16059241.97443 -12458671.22342 21788179.796 21788185.000 21788178.567
+ 2962.873 2308.732 54.000 47.000
+ -7735407.68643 -6004836.06042 23647015.418 23647022.743 23647012.629
+ 381.219 297.054 48.000 42.000
+ 233688.45243 175871.64742 25213020.921 25213032.336 25213020.320
+ -1508.448 -1175.414 45.000 38.000
+ -6463807.07643 -4982536.11042 23865951.536 23865955.831 23865949.174
+ 2870.378 2236.658 47.000 41.000
+ -1339799.70043 -1041538.78942 25193473.500 25193483.570 25193472.422
+ -1050.365 -818.466 40.000 36.000
+ 04 2 1 6 57 0.0000000 0 9G 1G27G 8G13G28G31G24G10G 3
+ -11426474.55643 -8486735.19442 22877822.447 22877830.629 22877820.277
+ -2032.731 -1583.946 50.000 43.000
+ -20904400.04443 -16227310.15642 20709243.457 20709248.685 20709242.430
+ -1100.957 -857.888 55.000 49.000
+ -20591132.07143 -16033843.78142 21410701.038 21410706.636 21410700.069
+ 203.012 158.191 55.000 48.000
+ -23208768.66243 -18043856.11342 20922038.388 20922043.156 20922037.998
+ -239.907 -186.940 56.000 50.000
+ -16147950.72143 -12527794.83642 21771298.509 21771304.026 21771297.671
+ 2951.334 2299.741 54.000 47.000
+ -7746670.43943 -6013612.15942 23644871.633 23644879.460 23644869.550
+ 369.817 288.169 48.000 42.000
+ 279017.25443 211192.64142 25221646.398 25221656.670 25221645.055
+ -1513.149 -1179.077 43.000 37.000
+ -6549755.04543 -5049508.46942 23849595.444 23849602.330 23849593.006
+ 2859.762 2228.386 48.000 41.000
+ -1308073.64143 -1016817.17642 25199512.210 25199518.198 25199511.298
+ -1063.724 -828.876 41.000 35.000
+ 04 2 1 6 57 30.0000000 0 9G 1G27G 8G13G28G31G24G10G 3
+ -11365337.99243 -8439096.40442 22889456.558 22889464.755 22889455.788
+ -2042.501 -1591.559 50.000 43.000
+ -20871291.05543 -16201510.96742 20715543.860 20715549.731 20715542.872
+ -1105.825 -861.682 55.000 49.000
+ -20597126.50343 -16038514.76042 21409560.555 21409565.234 21409558.941
+ 197.080 153.569 54.000 48.000
+ -23201382.82244 -18038100.93142 20923444.243 20923448.722 20923443.237
+ -251.993 -196.358 57.000 50.000
+ -16236292.02243 -12596632.13842 21754488.046 21754493.423 21754486.661
+ 2938.456 2289.706 54.000 47.000
+ -7757564.66343 -6022101.09742 23642798.326 23642805.369 23642797.815
+ 356.885 278.092 48.000 42.000
+ 324517.46643 246647.21842 25230308.001 25230315.176 25230304.373
+ -1519.559 -1184.072 42.000 37.000
+ -6635352.66543 -5116207.85042 23833308.869 23833313.369 23833305.138
+ 2847.175 2218.578 49.000 41.000
+ -1275939.13643 -991777.17542 25205629.201 25205635.669 25205626.220
+ -1077.915 -839.934 43.000 35.000
+ 04 2 1 6 58 0.0000000 0 9G 1G27G 8G13G28G31G24G10G 3
+ -11303923.58543 -8391241.08142 22901143.630 22901152.364 22901142.652
+ -2051.819 -1598.820 51.000 44.000
+ -20838055.35643 -16175613.03542 20721868.687 20721873.787 20721867.474
+ -1109.946 -864.893 55.000 49.000
+ -20602967.09843 -16043065.86842 21408448.514 21408454.241 21408447.314
+ 192.141 149.720 54.000 48.000
+ -23193653.90244 -18032078.41342 20924915.197 20924919.551 20924914.545
+ -263.379 -205.230 57.000 50.000
+ -16324261.50843 -12665179.70242 21737747.458 21737753.846 21737746.535
+ 2926.119 2280.093 53.000 47.000
+ -7768086.66443 -6030299.97342 23640794.542 23640803.039 23640793.966
+ 344.392 268.357 47.000 41.000
+ 370188.40743 282234.78742 25238995.866 25239007.558 25238996.095
+ -1525.089 -1188.381 41.000 36.000
+ -6720595.38943 -5182630.69042 23817085.533 23817093.105 23817084.068
+ 2835.413 2209.413 48.000 41.000
+ -1243394.30343 -966417.54042 25211821.182 25211830.318 25211820.616
+ -1091.283 -850.350 42.000 35.000
+ 04 2 1 6 58 30.0000000 0 9G 1G27G 8G13G28G31G24G10G 3
+ -11242232.78043 -8343170.40042 22912883.763 22912891.791 22912881.583
+ -2061.016 -1605.986 51.000 44.000
+ -20804695.51443 -16149618.36542 20728216.722 20728221.918 20728215.263
+ -1114.031 -868.076 55.000 49.000
+ -20608656.55743 -16047499.20342 21407366.172 21407371.357 21407364.953
+ 187.252 145.911 55.000 48.000
+ -23185582.03744 -18025788.65542 20926451.180 20926455.720 20926450.609
+ -274.714 -214.063 57.000 50.000
+ -16411858.28643 -12733436.85742 21721078.196 21721084.407 21721076.825
+ 2913.776 2270.475 53.000 47.000
+ -7778236.56143 -6038208.90942 23638864.276 23638871.873 23638863.340
+ 332.257 258.902 48.000 41.000
+ 416025.94043 317952.15942 25247718.358 25247731.293 25247716.799
+ -1530.562 -1192.646 39.000 35.000
+ -6805481.85943 -5248775.90142 23800931.920 23800939.294 23800929.770
+ 2823.534 2200.156 47.000 41.000
+ -1210440.77143 -940739.46642 25218090.958 25218097.646 25218089.406
+ -1105.237 -861.224 39.000 35.000
+ 04 2 1 6 59 0.0000000 0 9G 1G27G 8G13G28G31G24G10G 3
+ -11180266.25343 -8294884.88642 22924675.469 22924684.036 22924673.632
+ -2070.464 -1613.348 50.000 43.000
+ -20771213.26843 -16123528.31342 20734588.487 20734593.154 20734587.100
+ -1118.330 -871.426 55.000 49.000
+ -20614196.85143 -16051816.30242 21406312.466 21406317.036 21406310.862
+ 182.005 141.822 55.000 48.000
+ -23177166.41844 -18019231.04142 20928052.620 20928057.100 20928051.979
+ -286.455 -223.212 57.000 50.000
+ -16499080.99643 -12801402.52542 21704480.411 21704486.348 21704479.308
+ 2900.923 2260.459 53.000 47.000
+ -7788013.52743 -6045827.27942 23637003.064 23637011.550 23637001.834
+ 319.388 248.874 47.000 41.000
+ 462026.17043 353796.40942 25256472.150 25256482.656 25256471.305
+ -1536.679 -1197.412 40.000 35.000
+ -6890010.64643 -5314642.40542 23784846.951 23784852.366 23784845.544
+ 2811.584 2190.845 48.000 41.000
+ -1177079.70743 -914743.76642 25224441.089 25224446.111 25224439.874
+ -1119.020 -871.964 43.000 36.000
+ 04 2 1 6 59 30.0000000 0 9G 1G27G 8G13G28G31G24G10G 3
+ -11118024.80543 -8246385.16042 22936518.960 22936527.255 22936518.781
+ -2079.305 -1620.238 50.000 44.000
+ -20737610.57543 -16097344.39942 20740982.959 20740988.018 20740981.491
+ -1122.214 -874.452 55.000 49.000
+ -20619590.08043 -16056018.81242 21405286.131 21405290.443 21405284.236
+ 177.099 137.999 55.000 48.000
+ -23168406.54944 -18012405.17842 20929719.570 20929724.000 20929718.783
+ -297.856 -232.095 57.000 50.000
+ -16585927.94043 -12869075.38642 21687954.057 21687959.773 21687952.988
+ 2888.414 2250.712 53.000 47.000
+ -7797417.00243 -6053154.57542 23635214.570 23635221.464 23635212.979
+ 307.013 239.231 47.000 41.000
+ 508185.74443 389764.71542 25265255.491 25265266.594 25265255.586
+ -1541.610 -1201.254 39.000 35.000
+ -6974179.89643 -5380228.75942 23768830.459 23768836.380 23768827.760
+ 2799.507 2181.434 49.000 42.000
+ -1143312.26743 -888431.46642 25230865.087 25230872.618 25230863.464
+ -1132.615 -882.557 42.000 36.000
+ 04 2 1 7 0 0.0000000 0 9G 1G27G 8G13G28G31G24G10G 3
+ -11055504.56943 -8197668.18242 22948417.049 22948424.829 22948414.732
+ -2087.751 -1626.819 51.000 44.000
+ -20703884.37443 -16071064.25842 20747400.261 20747405.591 20747399.299
+ -1125.352 -876.898 55.000 48.000
+ -20624833.64943 -16060104.69642 21404288.012 21404293.468 21404286.478
+ 173.207 134.966 55.000 48.000
+ -23159297.18244 -18005306.97542 20931452.899 20931457.278 20931452.228
+ -308.676 -240.527 57.000 50.000
+ -16672393.24343 -12936450.88242 21671501.110 21671505.761 21671499.735
+ 2876.759 2241.630 54.000 47.000
+ -7806441.41043 -6060186.53742 23633495.690 23633503.793 23633494.510
+ 295.226 230.046 47.000 41.000
+ 554505.71443 425857.92842 25274071.067 25274082.433 25274070.013
+ -1545.677 -1204.424 39.000 35.000
+ -7057982.70143 -5445529.57642 23752882.394 23752888.968 23752880.600
+ 2788.185 2172.612 48.000 41.000
+ -1109135.07643 -861799.88542 25237368.184 25237376.592 25237368.919
+ -1145.554 -892.639 41.000 35.000
+ 04 2 1 7 0 30.0000000 0 9G 1G27G 8G13G28G31G24G10G 3
+ -10992708.46543 -8148736.21442 22960365.780 22960374.644 22960364.982
+ -2097.989 -1634.797 50.000 43.000
+ -20670038.49943 -16044690.86242 20753840.970 20753846.315 20753840.115
+ -1130.105 -880.601 55.000 48.000
+ -20629931.62543 -16064077.13442 21403317.819 21403322.842 21403316.433
+ 167.438 130.471 55.000 48.000
+ -23149839.86744 -17997937.63942 20933252.465 20933257.227 20933252.055
+ -321.139 -250.238 57.000 50.000
+ -16758477.36943 -13003529.34742 21655118.889 21655124.667 21655117.343
+ 2862.832 2230.778 54.000 47.000
+ -7815088.28343 -6066924.26442 23631851.412 23631858.980 23631849.671
+ 281.871 219.640 47.000 41.000
+ 600980.31643 462071.75342 25282915.022 25282923.286 25282914.783
+ -1551.918 -1209.287 40.000 35.000
+ -7141419.57643 -5510545.25242 23737003.841 23737011.552 23737002.223
+ 2775.038 2162.367 47.000 42.000
+ -1074550.99443 -834851.22242 25243948.243 25243957.326 25243948.131
+ -1159.775 -903.721 40.000 34.000
+ 04 2 1 7 1 0.0000000 0 9G 1G27G 8G13G28G31G24G10G 3
+ -10929635.53943 -8099588.57842 22972367.932 22972377.694 22972367.328
+ -2107.177 -1641.956 50.000 43.000
+ -20636072.95643 -16018224.21542 20760304.494 20760309.766 20760303.594
+ -1134.173 -883.771 55.000 48.000
+ -20634884.03743 -16067936.15142 21402375.568 21402380.766 21402374.060
+ 162.611 126.710 55.000 48.000
+ -23140032.25644 -17990295.34142 20935118.792 20935123.472 20935118.184
+ -332.989 -259.472 57.000 50.000
+ -16844177.00843 -13070308.22142 21638811.372 21638815.640 21638809.552
+ 2850.042 2220.812 54.000 47.000
+ -7823355.15643 -6073365.92942 23630277.860 23630283.654 23630277.313
+ 269.121 209.705 47.000 42.000
+ 647607.79643 498404.66242 25291789.232 25291799.698 25291786.858
+ -1556.529 -1212.880 42.000 36.000
+ -7224486.96143 -5575273.00642 23721195.578 23721205.569 23721195.695
+ 2762.605 2152.679 46.000 41.000
+ -1039559.31643 -807584.96042 25250605.388 25250617.726 25250603.730
+ -1172.973 -914.005 39.000 33.000
+ 04 2 1 7 1 30.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10866291.97243 -8050230.05042 22984422.417 22984431.248 22984421.506
+ -2116.430 -1649.166 50.000 43.000
+ -20601994.92243 -15991669.91142 20766789.032 20766794.720 20766787.851
+ -1138.331 -887.011 55.000 48.000
+ 25038882.387
+ -1802.200 -1404.312 42.000
+ -20639698.71743 -16071687.84142 21401459.311 21401464.539 21401458.053
+ 157.739 122.914 55.000 48.000
+ -23129879.13144 -17982383.81942 20937051.099 20937055.440 20937050.265
+ -344.677 -268.579 57.000 50.000
+ -16929496.36543 -13136790.76142 21622575.349 21622580.322 21622573.933
+ 2837.193 2210.800 54.000 47.000
+ -7831246.88043 -6079515.24342 23628775.870 23628784.682 23628775.546
+ 256.240 199.668 48.000 42.000
+ 694379.25343 534849.85042 25300690.025 25300698.188 25300687.154
+ -1561.987 -1217.133 42.000 36.000
+ -7307188.63443 -5639715.80642 23705460.903 23705467.261 23705458.130
+ 2750.198 2143.011 47.000 41.000
+ -1004166.36543 -780006.00842 25257343.749 25257348.175 25257343.826
+ -1186.903 -924.859 41.000 33.000
+ 04 2 1 7 2 0.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10802667.36643 -8000652.51342 22996529.549 22996539.245 22996528.489
+ -2125.947 -1656.582 50.000 43.000
+ -20567794.86243 -15965020.52242 20773297.054 20773303.221 20773296.077
+ -1142.416 -890.194 55.000 48.000
+ 25049159.497
+ -1799.105 -1401.900 42.000
+ -20644366.23143 -16075324.84942 21400571.117 21400575.627 21400569.760
+ 152.809 119.072 55.000 48.000
+ -23119368.61144 -17974193.81242 20939051.185 20939055.764 20939050.489
+ -356.689 -277.939 57.000 50.000
+ -17014422.80643 -13202967.13842 21606413.407 21606419.750 21606412.681
+ 2823.941 2200.474 54.000 47.000
+ -7838751.59943 -6085363.04042 23627348.896 23627356.279 23627346.880
+ 243.262 189.555 48.000 42.000
+ 741302.26243 571412.97942 25309616.213 25309630.326 25309615.674
+ -1566.844 -1220.917 40.000 36.000
+ -7389511.63943 -5703863.52142 23689793.799 23689800.851 23689793.193
+ 2737.397 2133.037 47.000 41.000
+ -968362.41143 -752106.71342 25264156.133 25264165.241 25264154.654
+ -1200.881 -935.751 41.000 34.000
+ 04 2 1 7 2 30.0000000 0 9G 1G27G 8G13G28G31G24G10G 3
+ -10738766.99343 -7950860.10742 23008689.293 23008699.415 23008689.202
+ -2134.958 -1663.604 49.000 43.000
+ -20533478.78443 -15938280.73442 20779827.672 20779832.754 20779826.418
+ -1146.106 -893.070 55.000 48.000
+ -20648892.87343 -16078852.08642 21399709.579 21399715.053 21399708.122
+ 148.299 115.558 55.000 48.000
+ -23108504.60744 -17965728.35842 20941118.439 20941123.097 20941117.958
+ -368.300 -286.987 57.000 50.000
+ -17098959.15743 -13268839.54642 21590327.094 21590332.676 21590325.974
+ 2811.196 2190.542 54.000 47.000
+ -7845873.01843 -6090912.10842 23625992.295 23626000.149 23625990.907
+ 230.631 179.712 48.000 42.000
+ 788368.97743 608088.14242 25318572.815 25318583.313 25318574.010
+ -1571.458 -1224.513 41.000 36.000
+ -7471458.23543 -5767717.93942 23674200.319 23674206.377 23674197.804
+ 2724.997 2123.374 47.000 41.000
+ -932152.87443 -723891.41342 25271047.120 25271055.340 25271046.903
+ -1214.082 -946.038 42.000 34.000
+ 04 2 1 7 3 0.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10674594.31643 -7900855.56942 23020901.851 23020910.465 23020899.836
+ -2143.679 -1670.399 49.000 42.000
+ -20499051.33543 -15911454.15342 20786379.173 20786383.993 20786377.774
+ -1149.723 -895.888 55.000 48.000
+ 25069652.808
+ -1791.489 -1395.965 43.000
+ -20653283.37843 -16082273.24242 21398874.390 21398879.124 21398872.740
+ 143.837 112.081 55.000 48.000
+ -23097289.19644 -17956989.09042 20943252.529 20943257.513 20943251.844
+ -379.907 -296.031 57.000 50.000
+ -17183106.70943 -13334408.99542 21574314.604 21574319.949 21574313.348
+ 2798.204 2180.419 54.000 47.000
+ -7852613.18243 -6096164.13042 23624710.475 23624717.502 23624709.010
+ 218.133 169.974 48.000 42.000
+ 835572.92643 644870.26642 25327554.076 25327567.452 25327555.149
+ -1575.909 -1227.981 40.000 35.000
+ -7553029.37643 -5831279.80342 23658676.791 23658685.551 23658675.502
+ 2712.527 2113.657 47.000 41.000
+ -895541.53943 -695363.09242 25278013.387 25278018.887 25278012.320
+ -1227.653 -956.613 40.000 33.000
+ 04 2 1 7 3 30.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10610144.13943 -7850634.74442 23033165.225 23033173.997 23033165.180
+ -2153.422 -1677.991 49.000 42.000
+ -20464507.92443 -15884537.22042 20792952.263 20792957.914 20792951.020
+ -1153.467 -898.805 54.000 48.000
+ -1315201.56453 -1129085.88152 25079865.661 25079880.122 25079865.764
+ -1788.006 -1393.251 42.000 38.000
+ -20657533.79643 -16085585.24642 21398064.776 21398070.423 21398063.720
+ 139.313 108.556 55.000 48.000
+ -23085715.95543 -17947970.99542 20945454.762 20945459.485 20945453.956
+ -391.825 -305.318 56.000 50.000
+ -17266858.03143 -13399669.69042 21558376.812 21558382.331 21558376.190
+ 2785.033 2170.156 54.000 47.000
+ -7858965.57343 -6101113.98342 23623501.609 23623508.610 23623501.026
+ 205.170 159.873 48.000 42.000
+ 882916.10943 681760.92342 25336566.448 25336575.267 25336565.221
+ -1580.601 -1231.637 39.000 33.000
+ -7634217.23743 -5894543.03842 23643228.509 23643235.368 23643225.093
+ 2699.938 2103.848 46.000 41.000
+ -666518.18642 25285058.424 25285064.796
+ -1240.542 -966.656 39.000 32.000
+ 04 2 1 7 4 0.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10545418.23943 -7800199.05642 23045484.064 23045492.000 23045482.686
+ -2161.910 -1684.605 50.000 43.000
+ -20429851.30443 -15857532.06942 20799547.637 20799552.801 20799546.008
+ -1157.091 -901.629 55.000 48.000
+ -1261635.77743 -1087346.51642 25090061.068 25090074.502 25090059.568
+ -1783.689 -1389.887 43.000 38.000
+ -20661646.89943 -16088790.24742 21397282.914 21397287.868 21397281.023
+ 134.937 105.146 55.000 48.000
+ -23073785.06343 -17938674.21342 20947725.027 20947729.976 20947724.436
+ -403.565 -314.466 56.000 50.000
+ -17350212.76443 -13464621.36242 21542514.705 21542520.405 21542513.616
+ 2771.997 2159.998 54.000 47.000
+ -7864930.46843 -6105761.89642 23622366.739 23622373.158 23622364.402
+ 192.240 149.797 48.000 41.000
+ 930394.45543 718756.91442 25345602.394 25345612.246 25345597.556
+ -1584.604 -1234.756 40.000 34.000
+ -7715021.04043 -5957506.96642 23627850.488 23627857.921 23627848.910
+ 2687.237 2093.951 47.000 41.000
+ -821101.74343 -637358.08642 25292178.366 25292186.305 25292176.352
+ -1253.737 -976.938 42.000 34.000
+ 04 2 1 7 4 30.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10480419.37743 -7749550.67742 23057852.296 23057861.014 23057852.021
+ -2170.652 -1691.417 49.000 43.000
+ -20395084.99143 -15830441.45142 20806162.530 20806168.594 20806161.837
+ -1160.138 -904.004 54.000 48.000
+ -1208187.75843 -1045698.92142 25100233.220 25100244.593 25100230.846
+ -1778.907 -1386.161 45.000 39.000
+ -20665626.71243 -16091891.38442 21396525.048 21396530.255 21396523.748
+ 131.049 102.116 55.000 48.000
+ -23061498.03844 -17929099.92642 20950063.533 20950067.928 20950062.772
+ -415.009 -323.384 57.000 50.000
+ -17433171.30243 -13529264.30242 21526728.736 21526733.870 21526727.351
+ 2759.207 2150.031 54.000 47.000
+ -7870509.21643 -6110108.93342 23621304.703 23621313.395 23621303.739
+ 180.250 140.455 49.000 42.000
+ 978002.76043 755854.19942 25354663.142 25354670.906 25354662.032
+ -1588.807 -1238.031 41.000 33.000
+ -7795441.06443 -6020171.85342 23612549.519 23612554.501 23612547.095
+ 2674.692 2084.175 47.000 41.000
+ -783278.39643 -607885.22642 25299374.572 25299387.128 25299371.832
+ -1267.055 -987.315 41.000 34.000
+ 04 2 1 7 5 0.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10415144.22843 -7698687.03042 23070274.266 23070282.382 23070273.212
+ -2180.555 -1699.134 50.000 43.000
+ -20360206.40843 -15803263.34142 20812800.324 20812805.397 20812798.993
+ -1164.601 -907.481 55.000 48.000
+ -1154856.41243 -1004142.21942 25110379.623 25110395.431 25110378.813
+ -1775.755 -1383.705 43.000 38.000
+ -20669470.80543 -16094886.75842 21395794.052 21395798.859 21395792.367
+ 125.847 98.063 55.000 48.000
+ -23048850.29343 -17919244.55342 20952470.049 20952475.017 20952469.393
+ -427.684 -333.260 56.000 50.000
+ -17515728.15443 -13593594.24742 21511018.942 21511023.258 21511017.613
+ 2745.095 2139.035 55.000 47.000
+ -7875697.07943 -6114151.38742 23620317.405 23620323.951 23620314.522
+ 166.433 129.688 48.000 42.000
+ 1025741.37343 793052.88742 25363746.298 25363757.599 25363745.098
+ -1593.269 -1241.508 43.000 35.000
+ -7875471.42643 -6082533.11342 23597318.498 23597325.415 23597317.227
+ 2660.845 2073.386 47.000 40.000
+ -578097.29842 25306651.715 25306656.759
+ -1280.646 -997.906 40.000 32.000
+ 04 2 1 7 5 30.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10349593.16743 -7647608.35042 23082747.165 23082755.887 23082746.458
+ -2190.089 -1706.563 49.000 42.000
+ -20325216.70043 -15775998.63942 20819458.500 20819464.206 20819456.930
+ -1168.535 -910.547 55.000 48.000
+ -1101644.40843 -962678.50042 25120506.969 25120521.178 25120505.673
+ -1772.259 -1380.981 43.000 38.000
+ -20673180.75443 -16097777.60142 21395086.721 21395092.560 21395085.798
+ 121.109 94.371 54.000 48.000
+ -23035840.47844 -17909107.05342 20954946.165 20954950.872 20954945.442
+ -440.064 -342.907 57.000 50.000
+ -17597881.49043 -13657609.76342 21495385.368 21495390.187 21495384.404
+ 2731.356 2128.329 55.000 48.000
+ -7880492.99943 -6117888.39842 23619404.491 23619410.226 23619402.378
+ 152.963 119.192 49.000 42.000
+ 1073607.07043 830350.65442 25372853.418 25372865.381 25372850.704
+ -1598.222 -1245.368 40.000 34.000
+ -7955109.75143 -6144588.89942 23582163.894 23582169.558 23582161.516
+ 2647.617 2063.078 47.000 41.000
+ -706419.47543 -547994.98042 25314003.702 25314011.651 25314000.257
+ -1294.973 -1009.070 40.000 32.000
+ 04 2 1 7 6 0.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10283767.37143 -7596315.63142 23095273.741 23095282.797 23095271.580
+ -2198.526 -1713.137 48.000 42.000
+ -20290117.66443 -15748648.75642 20826137.500 20826143.202 20826136.792
+ -1171.672 -912.991 55.000 48.000
+ -1048555.18743 -921310.46642 25130606.328 25130623.799 25130608.349
+ -1767.198 -1377.037 40.000 37.000
+ -20676758.60643 -16100565.51542 21394406.663 21394411.326 21394405.185
+ 117.329 91.425 54.000 48.000
+ -23022468.54144 -17898687.38442 20957490.607 20957495.251 20957489.876
+ -451.683 -351.961 57.000 50.000
+ -17679630.18743 -13721309.97242 21479828.915 21479834.087 21479827.503
+ 2718.237 2118.107 54.000 48.000
+ -7884896.56943 -6121319.71242 23618567.721 23618575.055 23618566.226
+ 140.364 109.375 49.000 42.000
+ 1121596.32443 867744.69742 25381987.496 25381993.696 25381987.063
+ -1601.344 -1247.800 42.000 33.000
+ -8034354.53943 -6206338.02842 23567083.032 23567090.976 23567082.448
+ 2635.116 2053.337 48.000 41.000
+ -517579.41042 25321429.546 25321433.036
+ -1308.008 -1019.227 41.000 32.000
+ 04 2 1 7 6 30.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10217667.68143 -7544809.47942 23107852.426 23107860.585 23107850.908
+ -2207.244 -1719.930 49.000 42.000
+ -20254910.77943 -15721214.82542 20832837.196 20832842.970 20832836.208
+ -1174.682 -915.337 55.000 48.000
+ -995591.71643 -880040.43142 25140687.768 25140702.827 25140686.310
+ -1762.508 -1373.383 41.000 36.000
+ -20680206.30443 -16103252.00442 21393750.712 21393755.860 21393749.206
+ 113.490 88.434 55.000 48.000
+ -23008733.60944 -17887984.85942 20960104.423 20960109.258 20960103.611
+ -463.145 -360.892 57.000 50.000
+ -17760972.51843 -13784693.52442 21464349.917 21464355.501 21464348.584
+ 2705.327 2108.047 54.000 48.000
+ -7888907.24543 -6124444.83842 23617803.867 23617811.102 23617803.089
+ 127.788 99.575 48.000 42.000
+ 1169705.73643 905232.33642 25391141.428 25391154.564 25391140.733
+ -1604.913 -1250.581 38.000 33.000
+ -8113203.76743 -6267778.96342 23552080.212 23552085.911 23552079.658
+ 2622.527 2043.527 48.000 41.000
+ -627952.13943 -486851.64242 25328934.220 25328942.129 25328931.503
+ -1319.731 -1028.362 41.000 33.000
+ 04 2 1 7 7 0.0000000 0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10151294.99043 -7493090.57342 23120483.304 23120491.639 23120482.154
+ -2217.282 -1727.752 49.000 42.000
+ -20219597.78843 -15693698.21642 20839556.859 20839562.604 20839556.119
+ -1179.012 -918.711 54.000 48.000
+ -942757.01543 -838870.76842 25150742.404 25150757.604 25150742.056
+ -1759.160 -1370.774 43.000 37.000
+ -20683525.61043 -16105838.43942 21393118.991 21393124.058 21393118.083
+ 108.317 84.403 55.000 48.000
+ -22994635.40444 -17876999.26542 20962787.190 20962791.532 20962786.745
+ -476.269 -371.119 57.000 50.000
+ -17841907.51543 -13847759.68642 21448948.111 21448954.090 21448947.144
+ 2690.873 2096.784 54.000 48.000
+ -7892524.47343 -6127263.35642 23617115.154 23617122.824 23617113.748
+ 113.762 88.646 48.000 41.000
+ 1217931.72753 942810.87052 25400317.028 25400334.655 25400318.187
+ -1609.646 -1254.270 36.000 32.000
+ -8191655.63443 -6328910.25242 23537150.195 23537157.991 23537150.303
+ 2608.140 2032.317 47.000 41.000
+ -588118.45343 -455812.41442 25336513.827 25336524.408 25336511.350
+ -1334.520 -1039.886 36.000 33.000
+ 04 2 1 7 7 30.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -10084646.89643 -7441157.07142 23133165.685 23133174.421 23133163.501
+ -2225.887 -1734.457 49.000 42.000
+ -20184176.87043 -15666097.50042 20846297.668 20846303.130 20846296.348
+ -1182.299 -921.272 55.000 48.000
+ -890051.21343 -797801.51542 25160769.591 25160786.400 25160771.678
+ -1754.378 -1367.048 40.000 36.000
+ -20686715.28143 -16108323.87342 21392512.193 21392516.938 21392510.686
+ 104.489 81.420 55.000 48.000
+ -22980169.99844 -17865727.53442 20965539.948 20965544.773 20965539.120
+ -488.014 -380.271 57.000 50.000
+ -17922430.60343 -13910504.87042 21433625.522 21433630.840 21433624.365
+ 2677.506 2086.368 54.000 48.000
+ -7895744.56843 -6129772.49242 23616503.333 23616509.876 23616501.415
+ 101.103 78.781 49.000 42.000
+ -8269705.35343 -6389728.18442 23522297.863 23522304.479 23522295.509
+ 2595.037 2022.107 47.000 41.000
+ 04 2 1 7 8 0.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -10017722.71643 -7389008.44442 23145901.819 23145908.862 23145899.957
+ -2235.483 -1741.935 49.000 43.000
+ -20148648.10543 -15638412.75542 20853058.422 20853063.828 20853057.077
+ -1186.234 -924.338 55.000 48.000
+ -837475.67243 -756833.74742 25170779.401 25170790.693 25170778.248
+ -1750.357 -1363.914 42.000 35.000
+ -20689775.83543 -16110708.69042 21391929.611 21391934.546 21391928.229
+ 99.779 77.750 55.000 48.000
+ -22965335.65344 -17854168.31842 20968362.435 20968367.311 20968361.737
+ -500.804 -390.237 57.000 50.000
+ -18002538.79243 -13972926.75842 21418381.425 21418386.343 21418380.075
+ 2663.172 2075.199 54.000 48.000
+ -7898565.42743 -6131970.50842 23615964.847 23615971.783 23615964.129
+ 87.057 67.837 48.000 42.000
+ -8347349.58143 -6450230.12442 23507521.493 23507529.302 23507520.720
+ 2581.386 2011.470 47.000 41.000
+ 04 2 1 7 8 30.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9950528.91443 -7336649.71142 23158688.505 23158695.911 23158685.597
+ -2244.674 -1749.097 49.000 42.000
+ -20113018.59643 -15610649.51042 20859838.075 20859844.120 20859837.264
+ -1189.649 -926.999 54.000 48.000
+ -785038.87543 -715974.14742 25180754.123 25180767.626 25180752.115
+ -1745.476 -1360.111 40.000 34.000
+ -20692714.25343 -16112998.34142 21391370.054 21391375.397 21391368.736
+ 95.605 74.497 55.000 48.000
+ -22950137.18044 -17842325.37042 20971255.052 20971259.503 20971254.356
+ -513.065 -399.791 57.000 50.000
+ -18082236.19343 -14035028.55742 21403215.760 21403220.026 21403214.277
+ 2649.341 2064.421 55.000 48.000
+ -7900992.19843 -6133861.45642 23615504.405 23615510.616 23615501.396
+ 74.022 57.679 49.000 42.000
+ -8424592.22243 -6510419.14742 23492824.465 23492831.284 23492822.340
+ 2567.553 2000.691 48.000 42.000
+ 04 2 1 7 9 0.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9883062.09243 -7284078.24542 23171526.725 23171533.098 23171524.866
+ -2253.278 -1755.801 49.000 42.000
+ -20077285.31343 -15582805.40342 20866638.287 20866643.669 20866636.980
+ -1192.664 -929.348 55.000 48.000
+ -732739.73343 -675221.76542 25190705.903 25190719.807 25190705.429
+ -1740.894 -1356.541 41.000 35.000
+ -20695528.37943 -16115191.13742 21390834.805 21390839.876 21390833.413
+ 91.958 71.656 55.000 48.000
+ -22934569.58644 -17830194.79642 20974217.504 20974222.268 20974216.816
+ -524.831 -408.959 57.000 50.000
+ -18161517.10743 -14096805.82242 21388128.768 21388133.863 21388127.742
+ 2636.009 2054.033 55.000 48.000
+ -7903019.81443 -6135441.38442 23615117.951 23615125.255 23615117.513
+ 60.910 47.462 48.000 42.000
+ -8501427.17643 -6570290.46742 23478203.181 23478210.214 23478201.742
+ 2554.591 1990.590 48.000 42.000
+ 04 2 1 7 9 30.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9815317.24943 -7231290.13242 23184417.985 23184426.089 23184416.650
+ -2262.025 -1762.617 49.000 42.000
+ -20041444.18743 -15554877.25542 20873458.633 20873463.959 20873457.727
+ -1195.749 -931.752 54.000 48.000
+ -680575.28643 -634574.35142 25200636.871 25200648.307 25200630.937
+ -1735.393 -1352.254 40.000 35.000
+ -20698214.36343 -16117284.08742 21390324.031 21390328.867 21390322.494
+ 88.119 68.664 55.000 48.000
+ -22918626.62044 -17817771.72942 20977251.055 20977255.825 20977250.573
+ -536.982 -418.427 57.000 50.000
+ -18240374.41943 -14158253.01142 21373122.372 21373127.522 21373121.088
+ 2622.250 2043.312 55.000 48.000
+ -7904642.19043 -6136705.52642 23614809.005 23614816.966 23614807.927
+ 47.968 37.378 48.000 42.000
+ -8577846.88943 -6629838.25142 23463660.758 23463667.386 23463658.349
+ 2541.182 1980.142 48.000 42.000
+ 04 2 1 7 10 0.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9747303.82843 -7178292.75742 23197360.196 23197370.066 23197358.353
+ -2271.020 -1769.626 48.000 42.000
+ -20005505.01643 -15526872.70942 20880297.186 20880303.421 20880296.472
+ -1199.019 -934.300 54.000 48.000
+ -628557.03243 -594040.87142 25210532.786 25210545.079 25210531.948
+ -1730.552 -1348.482 38.000 34.000
+ -20700782.23343 -16119284.99142 21389834.987 21389840.087 21389833.588
+ 84.260 65.657 55.000 49.000
+ -22902316.27043 -17805062.37942 20980354.757 20980359.730 20980354.087
+ -549.186 -427.937 56.000 50.000
+ -18318815.31743 -14219375.71842 21358195.659 21358200.737 21358194.658
+ 2608.367 2032.494 55.000 48.000
+ -7905867.26543 -6137660.06142 23614575.391 23614582.605 23614574.399
+ 34.746 27.075 48.000 42.000
+ -8653858.06543 -6689067.68442 23449196.566 23449202.267 23449195.039
+ 2527.337 1969.354 48.000 42.000
+ 04 2 1 7 10 30.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9679016.02743 -7125081.58042 23210354.082 23210363.180 23210355.063
+ -2280.738 -1777.198 49.000 42.000
+ -19969462.51043 -15498787.64842 20887156.265 20887161.973 20887155.470
+ -1202.964 -937.374 54.000 48.000
+ -576681.26953 -553618.45752 25220404.397 25220420.485 25220404.974
+ -1726.643 -1345.436 41.000 34.000
+ -20703227.07643 -16121190.04442 21389369.788 21389374.865 21389368.654
+ 79.598 62.024 55.000 49.000
+ -22885631.62744 -17792061.38542 20983530.227 20983534.530 20983529.077
+ -562.214 -438.089 57.000 50.000
+ -18396831.99143 -14280167.87242 21343348.818 21343354.164 21343348.015
+ 2593.622 2021.004 54.000 48.000
+ -7906687.87043 -6138299.41042 23614419.096 23614427.776 23614419.358
+ 20.621 16.068 48.000 42.000
+ -8729452.27543 -6747972.20342 23434811.114 23434816.646 23434810.162
+ 2513.127 1958.281 47.000 41.000
+ 04 2 1 7 11 0.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9610459.29043 -7071660.85042 23223400.380 23223410.269 23223400.708
+ -2289.803 -1784.262 48.000 42.000
+ -19933322.85743 -15470626.88442 20894033.948 20894039.248 20894032.572
+ -1206.254 -939.938 54.000 48.000
+ -524955.67443 -513313.05542 25230246.318 25230263.523 25230247.522
+ -1721.778 -1341.645 40.000 35.000
+ -20705555.48643 -16123004.36342 21388926.885 21388931.750 21388925.367
+ 75.703 58.989 55.000 49.000
+ -22868576.55244 -17778771.73842 20986775.767 20986779.832 20986774.976
+ -574.696 -447.815 57.000 50.000
+ -18474427.74043 -14340632.01942 21328584.174 21328588.373 21328582.209
+ 2579.423 2009.940 55.000 48.000
+ -7907108.11843 -6138626.83242 23614340.166 23614347.041 23614338.063
+ 7.344 5.723 49.000 42.000
+ -8804632.46743 -6806554.12142 23420505.141 23420511.142 23420502.989
+ 2499.020 1947.288 48.000 42.000
+ 04 2 1 7 11 30.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9541627.30243 -7018025.62342 23236499.860 23236507.366 23236498.643
+ -2298.948 -1791.388 48.000 42.000
+ -19897080.22243 -15442385.87942 20900930.027 20900935.531 20900928.852
+ -1209.648 -942.583 54.000 48.000
+ -473375.89943 -473121.22642 25240063.664 25240081.016 25240064.208
+ -1716.602 -1337.612 42.000 36.000
+ -20707761.91043 -16124723.63542 21388507.490 21388511.649 21388505.914
+ 71.683 55.857 55.000 49.000
+ -22851143.40844 -17765187.49542 20990092.888 20990097.664 20990092.029
+ -587.219 -457.573 57.000 50.000
+ -18551593.90643 -14400761.43742 21313899.636 21313903.733 21313898.237
+ 2565.288 1998.926 55.000 48.000
+ -7907120.39643 -6138636.36642 23614338.137 23614343.786 23614336.081
+ -6.309 -4.916 49.000 42.000
+ -8879389.59943 -6864806.36542 23406279.073 23406285.505 23406276.855
+ 2484.859 1936.254 48.000 42.000
+ 04 2 1 7 12 0.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9472526.96643 -6964181.30442 23249649.460 23249657.457 23249647.737
+ -2308.925 -1799.162 49.000 42.000
+ -19860741.84243 -15414070.25442 20907844.988 20907850.443 20907844.032
+ -1214.059 -946.020 54.000 48.000
+ -421950.48143 -433049.65042 25249848.902 25249866.016 25249848.890
+ -1712.760 -1334.618 42.000 37.000
+ -20709854.18043 -16126353.95742 21388109.305 21388113.633 21388107.420
+ 66.782 52.038 55.000 49.000
+ -22833337.71043 -17751312.96542 20993480.769 20993486.084 20993480.306
+ -600.834 -468.182 56.000 50.000
+ -18628335.17543 -14460559.76442 21299295.410 21299300.574 21299294.291
+ 2549.807 1986.863 55.000 48.000
+ -7906730.26843 -6138332.31642 23614411.231 23614417.303 23614410.996
+ -20.929 -16.308 48.000 42.000
+ -8953727.68643 -6922732.11042 23392132.938 23392139.043 23392132.089
+ 2469.770 1924.496 49.000 42.000
+ 04 2 1 7 12 30.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9403149.75043 -6910121.20842 23262849.045 23262860.468 23262848.202
+ -2317.407 -1805.772 47.000 41.000
+ -19824299.52543 -15385673.64042 20914779.924 20914784.756 20914778.777
+ -1216.668 -948.053 54.000 48.000
+ -370673.22043 -393093.53342 25259608.037 25259621.309 25259607.165
+ -1706.789 -1329.965 42.000 37.000
+ -20711824.34743 -16127889.14242 21387734.735 21387738.931 21387732.684
+ 63.506 49.485 55.000 49.000
+ -22815149.09243 -17737140.05442 20996942.350 20996947.220 20996941.788
+ -612.820 -477.522 56.000 50.000
+ -18704640.66943 -14520018.52542 21284775.237 21284779.643 21284773.901
+ 2536.027 1976.125 55.000 48.000
+ -7905927.54343 -6137706.77642 23614562.310 23614571.643 23614563.121
+ -33.820 -26.353 47.000 41.000
+ -9027635.63943 -6980322.64242 23378068.864 23378072.395 23378066.776
+ 2456.249 1913.960 48.000 42.000
+ 04 2 1 7 13 0.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9333505.86143 -6855853.32642 23276103.436 23276112.565 23276102.831
+ -2326.487 -1812.847 48.000 41.000
+ -19787764.14243 -15357204.51342 20921732.451 20921737.618 20921731.249
+ -1219.895 -950.567 54.000 48.000
+ -319556.48843 -353262.58642 25269335.020 25269349.217 25269333.958
+ -1701.660 -1325.969 43.000 36.000
+ -20713683.58343 -16129337.88142 21387379.786 21387385.538 21387378.771
+ 59.710 46.527 55.000 48.000
+ -22796586.64744 -17722675.83642 21000475.259 21000479.446 21000474.617
+ -625.447 -487.361 57.000 50.000
+ -18780518.44843 -14579144.01042 21270336.166 21270341.040 21270334.916
+ 2521.708 1964.967 55.000 48.000
+ -7904721.43243 -6136766.88242 23614793.512 23614801.395 23614792.091
+ -47.310 -36.865 47.000 42.000
+ -9101121.07443 -7037583.96842 23364084.797 23364092.124 23364082.888
+ 2441.998 1902.855 48.000 42.000
+ 04 2 1 7 13 30.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9263590.06343 -6801373.57042 23289408.039 23289416.865 23289406.865
+ -2334.821 -1819.341 47.000 41.000
+ -19751130.88643 -15328659.12042 20928703.188 20928708.691 20928702.172
+ -1222.625 -952.695 54.000 48.000
+ -268596.54943 -313553.75442 25279032.378 25279046.690 25279033.456
+ -1695.953 -1321.522 43.000 37.000
+ -20715427.65443 -16130696.89942 21387047.995 21387052.996 21387046.744
+ 56.397 43.946 55.000 49.000
+ -22777643.86244 -17707915.25742 21004079.570 21004084.240 21004078.951
+ -637.661 -496.879 57.000 50.000
+ -18855961.25743 -14637930.55342 21255979.584 21255984.850 21255978.348
+ 2507.630 1953.997 55.000 48.000
+ -7903105.18743 -6135507.42642 23615100.865 23615107.973 23615100.080
+ -60.577 -47.203 48.000 42.000
+ -9174176.45543 -7094510.20142 23350182.917 23350188.610 23350180.533
+ 2428.094 1892.021 49.000 42.000
+ 04 2 1 7 14 0.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9193404.34643 -6746683.48642 23302764.227 23302773.872 23302763.321
+ -2344.361 -1826.775 48.000 42.000
+ -19714402.15343 -15300039.33042 20935692.811 20935698.221 20935691.395
+ -1226.381 -955.621 54.000 48.000
+ -217797.44543 -273970.22542 25288699.658 25288715.864 25288697.764
+ -1690.681 -1317.414 44.000 38.000
+ -20717059.03943 -16131968.10842 21386737.458 21386742.995 21386736.190
+ 52.118 40.611 55.000 48.000
+ -22758320.97043 -17692858.49542 21007756.090 21007761.044 21007755.676
+ -650.973 -507.252 56.000 50.000
+ -18930968.92343 -14696378.01942 21241705.904 21241711.191 21241704.855
+ 2492.599 1942.285 55.000 48.000
+ -7901079.57543 -6133928.98642 23615486.243 23615494.300 23615485.211
+ -74.809 -58.293 48.000 42.000
+ -9246801.27443 -7151100.92042 23336363.631 23336369.949 23336361.975
+ 2413.306 1880.498 49.000 42.000
+ 04 2 1 7 14 30.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9122950.23343 -6691784.27242 23316171.026 23316180.286 23316170.204
+ -2353.180 -1833.647 48.000 42.000
+ -19677579.68443 -15271346.49742 20942699.926 20942705.728 20942698.968
+ -1229.262 -957.866 54.000 48.000
+ -167162.61943 -234514.66042 25298336.760 25298352.133 25298334.362
+ -1685.451 -1313.338 44.000 37.000
+ -20718580.28843 -16133153.48842 21386447.988 21386453.118 21386446.702
+ 48.481 37.777 55.000 49.000
+ -22738618.47344 -17677505.92942 21011506.056 21011510.530 21011505.069
+ -663.428 -516.957 57.000 50.000
+ -19005540.72143 -14754485.85942 21227515.870 21227520.060 21227514.319
+ 2478.069 1930.963 55.000 48.000
+ -7898644.64043 -6132031.60442 23615949.462 23615958.203 23615947.703
+ -88.422 -68.900 48.000 42.000
+ -9318994.02843 -7207354.97642 23322624.182 23322631.190 23322623.079
+ 2398.970 1869.327 48.000 42.000
+ 04 2 1 7 15 0.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -9052227.35643 -6636675.64842 23329629.912 23329638.636 23329628.271
+ -2361.437 -1840.081 49.000 42.000
+ -19640663.82743 -15242580.88942 20949724.850 20949730.418 20949723.640
+ -1231.752 -959.807 54.000 48.000
+ -116693.74643 -195188.43042 25307938.085 25307955.410 25307937.371
+ -1679.346 -1308.581 42.000 37.000
+ -20719991.82843 -16134253.38742 21386179.076 21386184.621 21386177.969
+ 45.585 35.521 55.000 49.000
+ -22718534.68943 -17661856.25242 21015327.576 21015332.662 21015326.893
+ -675.475 -526.344 56.000 50.000
+ -19079674.12943 -14812252.09742 21213408.440 21213413.355 21213406.922
+ 2464.132 1920.103 55.000 48.000
+ -7895799.01943 -6129814.21142 23616492.418 23616498.814 23616490.718
+ -101.401 -79.014 49.000 42.000
+ -9390751.81443 -7263270.10742 23308969.254 23308976.378 23308967.693
+ 2384.986 1858.431 48.000 42.000
+ 04 2 1 7 15 30.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -8981233.35443 -6581355.72442 23343139.140 23343147.510 23343138.000
+ -2370.227 -1846.930 49.000 42.000
+ -19603652.35143 -15213740.77042 20956768.026 20956772.873 20956766.689
+ -1234.650 -962.065 54.000 48.000
+ -66390.00443 -155990.94342 25317512.847 25317529.143 25317512.026
+ -1674.076 -1304.475 41.000 35.000
+ -20721291.76843 -16135266.32842 21385932.176 21385936.923 21385930.646
+ 42.142 32.838 55.000 48.000
+ -22698065.58343 -17645906.32142 21019222.893 21019227.386 21019222.110
+ -688.058 -536.149 56.000 50.000
+ -19153364.42843 -14869673.04942 21199385.648 21199390.715 21199384.647
+ 2449.683 1908.844 55.000 48.000
+ -7892538.74143 -6127273.70242 23617111.812 23617118.764 23617110.103
+ -115.165 -89.739 48.000 42.000
+ -9462069.55643 -7318842.33242 23295396.862 23295405.348 23295396.073
+ 2370.554 1847.185 47.000 42.000
+ 04 2 1 7 16 0.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -8909969.70843 -6525825.70642 23356698.847 23356708.999 23356698.230
+ -2380.027 -1854.566 48.000 42.000
+ -19566546.98343 -15184827.49442 20963828.807 20963834.235 20963827.558
+ -1238.537 -965.094 54.000 48.000
+ -16255.23843 -116925.06042 25327051.341 25327070.606 25327050.202
+ -1668.243 -1299.930 37.000 33.000
+ -20722482.53143 -16136194.19242 21385705.092 21385710.834 21385704.158
+ 37.704 29.380 55.000 48.000
+ -22677211.41543 -17629656.34142 21023190.789 21023196.039 21023190.423
+ -701.800 -546.857 56.000 50.000
+ -19226611.15343 -14926748.35842 21185447.048 21185451.935 21185446.223
+ 2434.048 1896.661 55.000 48.000
+ -7888864.22443 -6124410.43142 23617810.133 23617818.452 23617810.427
+ -129.738 -101.094 47.000 42.000
+ -9532946.13443 -7374070.81142 23281910.208 23281918.197 23281908.936
+ 2354.907 1834.992 48.000 42.000
+ 04 2 1 7 16 30.0000000 0 8G 1G27G 4G 8G13G28G31G10
+ -8838441.14743 -6470089.27742 23370311.221 23370320.982 23370310.144
+ -2388.751 -1861.364 48.000 42.000
+ -19529352.83843 -15155845.04542 20970906.434 20970911.924 20970905.524
+ -1241.416 -967.337 54.000 48.000
+ 33704.55953 -77995.55252 25336562.873 25336573.057 25336559.719
+ -1662.119 -1295.158 39.000 33.000
+ -20723569.35443 -16137041.06042 21385498.293 21385503.882 21385497.460
+ 34.471 26.860 55.000 48.000
+ -22655975.41643 -17613108.81442 21027232.266 21027236.575 21027231.739
+ -714.371 -556.653 56.000 50.000
+ -19299416.72843 -14983479.91142 21171592.837 21171597.025 21171591.539
+ 2419.344 1885.203 55.000 48.000
+ -7884778.64743 -6121226.82542 23618589.827 23618595.873 23618587.235
+ -143.299 -111.661 49.000 42.000
+ -9603383.99543 -7428957.40842 23268507.638 23268513.678 23268505.207
+ 2340.074 1823.434 48.000 42.000
+ 04 2 1 7 17 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -8766643.07843 -6414142.86742 23383975.233 23383984.005 23383975.057
+ -2397.668 -1868.313 49.000 41.000
+ -19492065.69843 -15126790.13342 20978001.496 20978008.066 20978000.759
+ -1244.282 -969.570 54.000 48.000
+ -20724548.67143 -16137804.15542 21385312.234 21385317.686 21385310.934
+ 31.011 24.164 54.000 48.000
+ -22634351.51644 -17596259.02942 21031346.929 21031351.903 21031346.233
+ -727.057 -566.538 57.000 50.000
+ -19371774.55943 -15039862.57642 21157823.783 21157828.362 21157822.361
+ 2404.578 1873.697 55.000 49.000
+ -7880276.30143 -6117718.48942 23619444.653 23619451.332 23619443.470
+ -156.908 -122.266 48.000 42.000
+ -9673375.47943 -7483496.19542 23255186.853 23255194.698 23255185.566
+ 2325.614 1812.167 48.000 42.000
+ 04 2 1 7 17 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -8694581.87743 -6357991.39242 23397687.226 23397697.494 23397686.014
+ -2406.410 -1875.125 48.000 41.000
+ -19454692.12643 -15097667.86642 20985114.068 20985119.882 20985112.788
+ -1247.116 -971.779 54.000 48.000
+ -20725427.23543 -16138488.73242 21385145.716 21385150.131 21385143.963
+ 27.757 21.629 55.000 48.000
+ -22612344.91144 -17579111.02642 21035534.872 21035539.917 21035534.435
+ -739.815 -576.479 57.000 50.000
+ -19443688.87643 -15095899.64942 21144138.123 21144143.464 21144137.476
+ 2389.883 1862.246 55.000 49.000
+ -7875362.29943 -6113889.37242 23620380.450 23620387.331 23620380.118
+ -170.705 -133.017 49.000 42.000
+ -9742924.46443 -7537690.17342 23241954.497 23241959.676 23241952.613
+ 2310.928 1800.723 49.000 43.000
+ 04 2 1 7 18 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -8622251.45343 -6301630.13842 23411452.097 23411461.280 23411450.977
+ -2415.434 -1882.156 47.000 41.000
+ -19417226.13043 -15068473.57542 20992243.886 20992249.330 20992242.670
+ -1250.121 -974.120 54.000 48.000
+ -20726199.57343 -16139090.53842 21384998.364 21385003.196 21384997.001
+ 24.231 18.881 55.000 49.000
+ -22589947.90143 -17561658.80842 21039796.844 21039801.537 21039796.220
+ -752.793 -586.592 56.000 49.000
+ -19515151.29443 -15151584.58742 21130539.433 21130544.628 21130538.292
+ 2374.821 1850.510 55.000 49.000
+ -7870028.98543 -6109733.55042 23621394.535 23621402.510 23621394.664
+ -184.432 -143.713 48.000 42.000
+ -9812021.88643 -7591532.27142 23228805.338 23228811.279 23228803.813
+ 2296.148 1789.206 50.000 43.000
+ 04 2 1 7 18 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -8549653.59443 -6245060.50642 23425266.605 23425275.021 23425264.700
+ -2424.966 -1889.584 48.000 41.000
+ -19379669.78143 -15039208.89042 20999390.032 20999396.021 20999388.902
+ -1253.688 -976.900 54.000 48.000
+ -20726868.32743 -16139611.62242 21384870.511 21384875.829 21384869.395
+ 20.206 15.745 55.000 48.000
+ -22567160.98043 -17543902.77442 21044133.279 21044138.272 21044132.512
+ -766.435 -597.222 56.000 49.000
+ -19586161.33643 -15206917.03242 21117026.518 21117031.523 21117025.345
+ 2359.022 1838.199 55.000 49.000
+ -7864276.95743 -6105251.40742 23622489.165 23622496.856 23622488.848
+ -199.159 -155.189 48.000 42.000
+ -9880667.51843 -7645022.32242 23215741.485 23215748.281 23215740.355
+ 2280.105 1776.705 49.000 43.000
+ 04 2 1 7 19 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -8476793.01843 -6188286.16442 23439131.394 23439140.025 23439130.912
+ -2433.145 -1895.957 49.000 42.000
+ -19342027.97543 -15009877.61142 21006552.956 21006559.134 21006551.711
+ -1256.203 -978.859 54.000 48.000
+ -20727438.52543 -16140055.91342 21384762.196 21384767.690 21384760.892
+ 17.373 13.537 55.000 48.000
+ -22543987.46543 -17525845.50542 21048543.025 21048547.673 21048542.375
+ -778.961 -606.982 56.000 49.000
+ -19656721.80143 -15261899.15342 21103599.407 21103604.243 21103598.276
+ 2344.503 1826.885 55.000 49.000
+ -7858109.74543 -6100445.75342 23623664.175 23623670.148 23623661.729
+ -212.576 -165.644 49.000 42.000
+ -9948863.21643 -7698161.78142 23202764.422 23202771.765 23202762.790
+ 2265.537 1765.354 48.000 43.000
+ 04 2 1 7 19 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -8403665.68743 -6131303.94842 23453047.712 23453055.266 23453047.073
+ -2441.410 -1902.397 49.000 42.000
+ -19304296.92743 -14980476.79642 21013732.888 21013738.621 21013732.217
+ -1258.683 -980.792 54.000 48.000
+ -20727906.95643 -16140420.90742 21384672.919 21384678.349 21384671.794
+ 14.504 11.302 55.000 48.000
+ -22520421.87344 -17507482.71542 21053027.348 21053031.894 21053026.454
+ -791.483 -616.740 57.000 50.000
+ -19726826.46843 -15316526.10342 21090259.251 21090263.439 21090257.908
+ 2329.670 1815.327 55.000 49.000
+ -7851522.19943 -6095312.59242 23624917.653 23624924.385 23624915.691
+ -226.207 -176.265 49.000 42.000
+ -10016602.58743 -7750945.64842 23189873.976 23189880.677 23189872.069
+ 2250.794 1753.865 49.000 43.000
+ 04 2 1 7 20 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -8330271.18443 -6074113.53442 23467014.387 23467023.609 23467012.632
+ -2450.650 -1909.597 48.000 42.000
+ -19266476.44843 -14951006.29242 21020929.770 21020935.828 21020928.910
+ -1261.956 -983.342 54.000 48.000
+ -20728273.77743 -16140706.71042 21384603.225 21384608.676 21384602.153
+ 10.754 8.380 55.000 48.000
+ -22496462.76344 -17488813.28642 21057586.723 21057591.227 21057585.887
+ -804.995 -627.269 57.000 50.000
+ -19796472.92343 -15370796.01242 21077005.802 21077010.203 21077004.632
+ 2314.149 1803.233 55.000 49.000
+ -7844512.59343 -6089850.53442 23626250.897 23626257.480 23626248.928
+ -240.490 -187.395 49.000 42.000
+ -10083882.34643 -7803371.39042 23177070.881 23177078.176 23177067.986
+ 2235.058 1741.604 48.000 43.000
+ 04 2 1 7 20 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -8256615.55043 -6016719.66442 23481030.401 23481039.070 23481028.839
+ -2459.510 -1916.501 48.000 41.000
+ -19228572.67243 -14921470.89742 21028142.745 21028148.565 21028141.732
+ -1264.841 -985.590 54.000 48.000
+ -20728545.81543 -16140918.66642 21384551.707 21384557.034 21384550.232
+ 7.395 5.762 55.000 48.000
+ -22472114.84943 -17469840.91142 21062219.737 21062224.547 21062219.457
+ -818.222 -637.575 56.000 49.000
+ -19865665.15743 -15424711.98742 21063838.998 21063843.553 21063837.940
+ 2298.752 1791.235 56.000 49.000
+ -7837085.73243 -6084063.33542 23627664.450 23627669.653 23627662.807
+ -254.551 -198.351 48.000 42.000
+ -10150706.37443 -7855441.99242 23164355.117 23164359.768 23164353.390
+ 2219.983 1729.857 49.000 43.000
+ 04 2 1 7 21 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -8182694.74543 -5959119.14642 23495096.985 23495107.344 23495095.501
+ -2468.617 -1923.598 48.000 42.000
+ -19190581.78043 -14891867.60842 21035372.948 21035377.415 21035371.650
+ -1267.953 -988.015 54.000 48.000
+ -20728719.41843 -16141053.91542 21384518.042 21384523.257 21384516.942
+ 3.981 3.102 55.000 48.000
+ -22447372.48843 -17450561.16342 21066927.692 21066932.916 21066927.234
+ -831.545 -647.957 56.000 49.000
+ -19934396.75343 -15478269.01442 21050759.938 21050764.185 21050758.501
+ 2283.215 1779.129 56.000 49.000
+ -7829236.36943 -6077946.90442 23629157.898 23629165.778 23629157.824
+ -268.959 -209.578 49.000 42.000
+ -10217067.79743 -7907152.14242 23151724.991 23151732.475 23151725.457
+ 2204.059 1717.449 48.000 43.000
+ 04 2 1 7 21 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -8108511.59043 -5901314.21342 23509213.301 23509223.496 23509212.037
+ -2476.878 -1930.035 47.000 41.000
+ -19152506.72143 -14862198.72842 21042618.729 21042623.263 21042617.089
+ -1270.260 -989.813 54.000 48.000
+ -20728798.04243 -16141115.15742 21384503.807 21384508.805 21384502.356
+ 1.316 1.025 55.000 48.000
+ -22422237.55643 -17430975.51642 21071711.392 21071715.905 21071710.559
+ -844.090 -657.732 56.000 49.000
+ -20002668.67143 -15531467.84842 21037767.605 21037772.284 21037766.494
+ 2268.323 1767.524 55.000 49.000
+ -7820966.17443 -6071502.54242 23630730.537 23630737.978 23630729.904
+ -282.460 -220.099 48.000 42.000
+ -10282967.10843 -7958502.21442 23139186.615 23139191.917 23139185.728
+ 2189.289 1705.939 48.000 43.000
+ 04 2 1 7 22 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -8034064.95843 -5843303.95642 23523380.239 23523390.571 23523378.910
+ -2485.412 -1936.685 47.000 41.000
+ -19114346.45043 -14832463.45642 21049879.267 21049885.208 21049878.434
+ -1272.907 -991.875 54.000 48.000
+ -20728781.05643 -16141101.89742 21384506.972 21384512.307 21384505.701
+ -1.658 -1.292 55.000 49.000
+ -22396706.99743 -17411081.59942 21076569.471 21076574.316 21076568.780
+ -857.173 -667.927 56.000 49.000
+ -20070477.74843 -15584306.03042 21024864.204 21024868.666 21024862.997
+ 2253.111 1755.671 55.000 49.000
+ -7812272.80943 -6064728.44242 23632386.174 23632393.835 23632385.696
+ -296.463 -231.010 48.000 42.000
+ -10348400.35343 -8009489.11442 23126735.438 23126740.889 23126733.829
+ 2173.786 1693.859 49.000 43.000
+ 04 2 1 7 22 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -7959356.06643 -5785089.31442 23537597.204 23537606.908 23537595.638
+ -2494.660 -1943.891 48.000 41.000
+ -19076102.13643 -14802662.69142 21057157.296 21057162.426 21057156.329
+ -1276.215 -994.453 54.000 48.000
+ -20728670.13843 -16141015.44642 21384527.441 21384533.118 21384526.214
+ -5.263 -4.101 55.000 49.000
+ -22370780.82143 -17390879.40542 21081502.909 21081508.192 21081502.380
+ -870.783 -678.532 56.000 49.000
+ -20137823.15543 -15636782.90742 21012048.321 21012053.253 21012047.250
+ 2237.162 1743.243 55.000 49.000
+ -7803156.22843 -6057624.59342 23634119.946 23634127.323 23634118.726
+ -310.810 -242.190 49.000 42.000
+ -10413366.12643 -8060111.76142 23114372.871 23114379.403 23114370.511
+ 2157.611 1681.255 49.000 43.000
+ 04 2 1 7 23 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -7884387.24343 -5726672.13642 23551863.233 23551872.295 23551862.295
+ -2502.597 -1950.075 49.000 42.000
+ -19037776.10843 -14772798.25742 21064450.138 21064455.674 21064449.122
+ -1278.218 -996.014 54.000 47.000
+ -20728467.99143 -16140857.90542 21384566.566 21384570.883 21384564.512
+ -7.591 -5.915 55.000 48.000
+ -22344460.03643 -17370369.73242 21086511.571 21086516.334 21086510.970
+ -883.382 -688.350 56.000 49.000
+ -20204704.94143 -15688898.51542 20999321.404 20999325.742 20999320.035
+ 2222.217 1731.598 55.000 49.000
+ -7793617.36143 -6050191.69742 23635935.665 23635941.958 23635934.238
+ -324.647 -252.972 49.000 42.000
+ -10477864.00543 -8110369.81342 23102099.591 23102104.737 23102097.985
+ 2142.858 1669.759 50.000 43.000
+ 04 2 1 7 23 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -7809158.74243 -5668052.59742 23566179.167 23566189.237 23566177.851
+ -2512.151 -1957.520 49.000 42.000
+ -18999368.58843 -14742870.32542 21071759.201 21071765.312 21071758.044
+ -1281.782 -998.791 54.000 48.000
+ -20728175.52043 -16140629.98542 21384621.786 21384627.186 21384620.344
+ -11.391 -8.876 55.000 49.000
+ -22317743.51844 -17349551.69242 21091595.996 21091600.879 21091594.970
+ -897.285 -699.183 57.000 49.000
+ -20271121.21043 -15740651.39142 20986682.764 20986687.192 20986682.002
+ 2205.969 1718.937 56.000 49.000
+ -7783655.37843 -6042429.06442 23637831.190 23637837.015 23637827.589
+ -339.249 -264.350 48.000 41.000
+ -10541892.03743 -8160261.74942 23089914.293 23089921.592 23089912.405
+ 2126.341 1656.889 49.000 43.000
+ 04 2 1 7 24 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -7733667.13443 -5609228.04842 23580545.620 23580555.076 23580544.550
+ -2520.239 -1963.822 49.000 41.000
+ -18960876.08043 -14712876.16942 21079083.468 21079089.488 21079082.425
+ -1283.927 -1000.462 53.000 47.000
+ -20727789.51743 -16140329.18042 21384695.840 21384700.669 21384694.168
+ -13.961 -10.879 55.000 49.000
+ -22290626.12444 -17328421.26742 21096756.335 21096760.618 21096755.544
+ -910.136 -709.197 57.000 49.000
+ -20337066.47043 -15792037.25342 20974133.809 20974138.025 20974132.602
+ 2190.895 1707.191 56.000 49.000
+ -7773265.57443 -6034333.07342 23639807.236 23639814.242 23639806.225
+ -352.986 -275.054 47.000 41.000
+ -10605444.11443 -8209782.80742 23077821.935 23077827.690 23077820.324
+ 2111.075 1644.994 50.000 43.000
+ 04 2 1 7 24 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -7657915.61743 -5550200.99242 23594959.041 23594970.688 23594957.680
+ -2529.339 -1970.913 47.000 41.000
+ -18922301.91143 -14682818.38942 21086424.718 21086429.455 21086423.224
+ -1287.234 -1003.039 54.000 47.000
+ -20727313.53443 -16139958.26242 21384786.181 21384791.077 21384784.918
+ -17.259 -13.448 55.000 49.000
+ -22263110.06644 -17306980.20042 21101992.268 21101997.076 21101991.596
+ -923.905 -719.926 57.000 49.000
+ -20402541.85643 -15843056.96842 20961674.022 20961678.710 20961673.104
+ 2174.635 1694.521 55.000 49.000
+ -7762449.98943 -6025905.28842 23641865.679 23641873.308 23641864.780
+ -367.653 -286.483 48.000 42.000
+ -10668520.86043 -8258933.47442 23065817.969 23065823.083 23065817.247
+ 2094.679 1632.217 49.000 43.000
+ 04 2 1 7 25 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -7581907.06543 -5490973.68842 23609424.439 23609433.798 23609422.670
+ -2537.455 -1977.238 48.000 42.000
+ -18883648.85643 -14652699.13442 21093779.290 21093784.706 21093778.754
+ -1289.297 -1004.647 53.000 47.000
+ -20726751.11143 -16139519.99042 21384892.680 21384897.462 21384891.490
+ -19.773 -15.407 55.000 49.000
+ -22235197.21043 -17285229.93942 21107303.773 21107308.746 21107303.320
+ -936.781 -729.959 56.000 49.000
+ -20467548.25643 -15893711.24642 20949304.317 20949308.368 20949302.712
+ 2159.459 1682.695 56.000 49.000
+ -7751210.52843 -6017147.22342 23644005.358 23644011.780 23644003.570
+ -381.367 -297.169 48.000 42.000
+ -10731122.52543 -8307713.96242 23053904.492 23053910.399 23053903.610
+ 2079.193 1620.150 49.000 43.000
+ 04 2 1 7 25 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -7505640.58643 -5431545.37742 23623936.417 23623946.693 23623935.796
+ -2546.701 -1984.442 48.000 42.000
+ -18844915.91943 -14622517.62642 21101149.943 21101155.814 21101149.081
+ -1292.434 -1007.091 53.000 47.000
+ -20726101.64143 -16139013.89542 21385016.704 21385021.577 21385015.264
+ -23.227 -18.099 55.000 49.000
+ -22206884.88143 -17263168.40842 21112691.799 21112696.342 21112690.782
+ -950.521 -740.666 56.000 49.000
+ -20532082.92843 -15943997.94142 20937023.771 20937027.716 20937022.162
+ 2143.182 1670.012 56.000 49.000
+ -7739545.07843 -6008057.22242 23646225.766 23646232.184 23646224.573
+ -396.216 -308.740 49.000 43.000
+ -10793245.75043 -8356121.64442 23042083.657 23042089.376 23042081.939
+ 2062.534 1607.169 49.000 43.000
+ 04 2 1 7 26 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -7429113.58843 -5371914.08242 23638500.010 23638509.402 23638498.699
+ -2555.235 -1991.092 49.000 43.000
+ -18806100.59843 -14592271.92342 21108536.500 21108542.337 21108535.182
+ -1295.222 -1009.264 53.000 47.000
+ -20725362.83843 -16138438.18942 21385156.690 21385162.100 21385155.604
+ -26.107 -20.343 55.000 49.000
+ -22178169.02643 -17240792.44142 21118155.475 21118161.026 21118154.720
+ -963.929 -751.113 56.000 49.000
+ -20596140.96143 -15993913.23442 20924832.806 20924837.830 20924831.901
+ 2127.382 1657.700 55.000 49.000
+ -7727449.70643 -5998632.22042 23648528.115 23648533.741 23648526.201
+ -410.176 -319.618 49.000 42.000
+ -10854885.55443 -8404152.59742 23030352.273 23030359.658 23030351.656
+ 2046.589 1594.745 49.000 43.000
+ 04 2 1 7 26 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -7352332.43443 -5312084.75742 23653111.069 23653120.360 23653108.987
+ -2564.242 -1998.111 48.000 42.000
+ -18767209.10343 -14561966.86542 21115936.663 21115942.874 21115935.952
+ -1298.318 -1011.676 53.000 47.000
+ -20724541.74143 -16137798.36442 21385313.647 21385318.680 21385312.236
+ -29.358 -22.876 55.000 49.000
+ -22149055.27444 -17218106.42742 21123696.631 21123701.164 21123695.640
+ -977.738 -761.874 57.000 49.000
+ -20659726.85743 -16043460.63242 20912733.276 20912737.858 20912731.760
+ 2110.952 1644.898 55.000 49.000
+ -7714929.80143 -5988876.40942 23650908.447 23650915.265 23650908.310
+ -425.174 -331.304 47.000 42.000
+ -10916045.70743 -8451809.80442 23018715.351 23018721.825 23018713.501
+ 2030.133 1581.922 49.000 43.000
+ 04 2 1 7 27 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -7275294.92143 -5252055.67942 23667769.766 23667781.337 23667769.536
+ -2572.061 -2004.203 47.000 41.000
+ -18728239.03643 -14531600.58142 21123352.888 21123358.265 21123351.685
+ -1300.219 -1013.158 53.000 47.000
+ -20723636.21343 -16137092.74642 21385485.877 21385490.784 21385484.467
+ -31.365 -24.440 55.000 49.000
+ -22119539.60043 -17195107.21142 21129312.973 21129317.880 21129312.021
+ -990.535 -771.845 56.000 49.000
+ -20722836.41843 -16092636.85542 20900724.132 20900728.517 20900722.685
+ 2095.749 1633.051 55.000 49.000
+ -7701981.95843 -5978787.10942 23653374.678 23653378.459 23653372.510
+ -438.652 -341.807 49.000 42.000
+ -10976721.42543 -8499089.53342 23007168.849 23007176.162 23007168.231
+ 2013.798 1569.193 49.000 43.000
+ 04 2 1 7 27 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -7197998.52643 -5191824.91242 23682481.126 23682488.609 23682478.572
+ -2580.678 -2010.918 47.000 41.000
+ -18689187.66243 -14501170.94242 21130784.624 21130789.841 21130783.745
+ -1302.815 -1015.180 53.000 47.000
+ -20722644.06643 -16136319.63042 21385674.415 21385679.398 21385673.676
+ -34.184 -26.637 55.000 49.000
+ -22089618.34543 -17171791.96742 21135006.906 21135011.583 21135006.227
+ -1003.875 -782.240 56.000 49.000
+ -20785465.18443 -16141438.43442 20888805.945 20888810.708 20888804.734
+ 2079.808 1620.630 56.000 49.000
+ -7688602.50743 -5968361.50142 23655918.321 23655925.452 23655917.668
+ -453.171 -353.120 48.000 42.000
+ -11036907.81943 -8545987.98342 22995714.911 22995722.899 22995714.068
+ 1998.194 1557.034 49.000 43.000
+ 04 2 1 7 28 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -7120450.14443 -5131397.75042 23697237.404 23697246.501 23697235.202
+ -2589.331 -2017.660 48.000 41.000
+ -18650062.01043 -14470683.41742 21138230.006 21138235.462 21138229.267
+ -1305.485 -1017.261 53.000 47.000
+ -20721572.61543 -16135484.71642 21385878.384 21385883.420 21385877.303
+ -37.279 -29.048 55.000 49.000
+ -22059297.04343 -17148164.99542 21140776.541 21140781.620 21140775.851
+ -1017.529 -792.880 56.000 49.000
+ -20847617.84843 -16189869.02642 20876978.433 20876983.294 20876977.205
+ 2063.688 1608.069 56.000 49.000
+ -7674797.32143 -5957604.19142 23658545.762 23658552.998 23658545.563
+ -467.349 -364.168 49.000 42.000
+ -11096609.14243 -8592508.44342 22984355.373 22984360.770 22984353.833
+ 1981.707 1544.187 50.000 43.000
+ 04 2 1 7 28 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -7042647.41843 -5070772.39742 23712041.655 23712053.172 23712041.588
+ -2597.580 -2024.088 48.000 41.000
+ -18610859.22843 -14440135.78942 21145689.818 21145695.867 21145688.654
+ -1308.179 -1019.360 53.000 47.000
+ -20720419.63743 -16134586.28342 21386098.234 21386102.407 21386096.544
+ -39.832 -31.038 55.000 49.000
+ -22028572.11343 -17124223.50942 21146623.483 21146628.771 21146622.955
+ -1031.061 -803.424 56.000 49.000
+ -20909290.00843 -16237925.20842 20865243.112 20865247.274 20865241.913
+ 2047.602 1595.534 56.000 49.000
+ -7660562.84643 -5946512.36942 23661254.884 23661261.247 23661253.625
+ -482.054 -375.626 49.000 42.000
+ -11155820.40943 -8638647.05942 22973087.540 22973094.022 22973086.436
+ 1965.212 1531.334 50.000 43.000
+ 04 2 1 7 29 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -6964591.31243 -5009949.60142 23726895.256 23726905.493 23726895.367
+ -2605.921 -2030.588 48.000 41.000
+ -18571580.12543 -14409528.69242 21153164.865 21153170.070 21153163.765
+ -1310.441 -1021.123 54.000 47.000
+ -20719186.52143 -16133625.39942 21386332.413 21386336.849 21386330.950
+ -42.364 -33.011 55.000 49.000
+ -21997443.08543 -17099967.15042 21152547.067 21152552.152 21152546.195
+ -1044.193 -813.657 56.000 49.000
+ -20970480.88943 -16285606.36242 20853598.711 20853603.327 20853597.532
+ 2031.814 1583.232 56.000 49.000
+ -7645898.92643 -5935085.89342 23664045.087 23664051.064 23664043.047
+ -495.781 -386.323 48.000 42.000
+ -11214540.29643 -8684402.77942 22961913.554 22961919.458 22961912.297
+ 1949.332 1518.960 50.000 43.000
+ 04 2 1 7 29 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -6886282.82643 -4948930.15042 23741797.443 23741807.849 23741796.975
+ -2613.909 -2036.812 48.000 41.000
+ -18532225.39643 -14378862.67242 21160653.528 21160659.052 21160652.503
+ -1312.601 -1022.806 54.000 48.000
+ -20717874.31443 -16132602.89442 21386581.709 21386586.735 21386580.767
+ -44.559 -34.721 55.000 48.000
+ -21965909.75843 -17075395.74342 21158547.336 21158552.660 21158546.726
+ -1057.404 -823.951 56.000 49.000
+ -21031189.34643 -16332911.60042 20842046.271 20842050.936 20842044.983
+ 2016.092 1570.981 56.000 49.000
+ -7630805.39743 -5923324.67642 23666917.615 23666924.175 23666916.027
+ -509.998 -397.401 48.000 42.000
+ -11272767.14543 -8729774.31942 22950834.551 22950840.307 22950832.547
+ 1933.135 1506.339 51.000 44.000
+ 04 2 1 7 30 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -6807719.46343 -4887712.06042 23756746.669 23756756.345 23756745.755
+ -2623.606 -2044.368 48.000 40.000
+ -18492792.40243 -14348135.65042 21168157.363 21168163.349 21168156.326
+ -1316.435 -1025.793 54.000 47.000
+ -20716480.81643 -16131517.04042 21386847.683 21386852.055 21386846.068
+ -48.413 -37.724 55.000 48.000
+ -21933968.21643 -17050506.25642 21164626.306 21164630.968 21164625.453
+ -1072.226 -835.501 56.000 49.000
+ -21091410.78943 -16379837.35142 20830586.265 20830590.558 20830585.017
+ 1998.568 1557.326 56.000 49.000
+ -7615278.69843 -5911225.91142 23669870.767 23669878.945 23669869.740
+ -525.476 -409.462 48.000 42.000
+ -11330496.19343 -8774757.95442 22939848.842 22939853.096 22939847.277
+ 1915.250 1492.403 50.000 44.000
+ 04 2 1 7 30 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -6728908.10443 -4826300.72442 23771745.556 23771755.245 23771743.836
+ -2631.839 -2050.784 47.000 40.000
+ -18453287.94443 -14317352.96442 21175674.960 21175680.689 21175674.128
+ -1318.550 -1027.441 54.000 48.000
+ -20715013.24843 -16130373.46942 21387126.516 21387131.451 21387124.949
+ -50.758 -39.552 55.000 48.000
+ -21901624.18543 -17025303.13742 21170780.720 21170786.119 21170780.213
+ -1085.459 -845.812 56.000 49.000
+ -21151150.57543 -16426387.77742 20819218.147 20819222.690 20819217.011
+ 1982.674 1544.941 56.000 49.000
+ -7599324.69743 -5898794.18842 23672908.223 23672914.679 23672906.471
+ -539.697 -420.543 48.000 42.000
+ -11387731.93443 -8819357.19642 22928956.270 22928960.920 22928953.850
+ 1899.266 1479.948 50.000 44.000
+ 04 2 1 7 31 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -6649842.08043 -4764690.98742 23786790.683 23786802.078 23786790.200
+ -2639.641 -2056.863 46.000 40.000
+ -18413705.03543 -14286509.13742 21183207.810 21183213.109 21183206.377
+ -1320.463 -1028.932 54.000 48.000
+ -20713465.11343 -16129167.11842 21387420.460 21387425.833 21387419.757
+ -52.687 -41.055 55.000 48.000
+ -21868869.56643 -16999780.08442 21177013.771 21177019.259 21177013.470
+ -1098.458 -855.941 56.000 49.000
+ -21210399.89343 -16472556.03442 20807943.516 20807947.729 20807942.202
+ 1967.069 1532.781 56.000 49.000
+ -7582935.72743 -5886023.53742 23676025.911 23676033.654 23676024.512
+ -553.324 -431.161 48.000 42.000
+ -11444465.27643 -8863564.97942 22918162.055 22918165.492 22918159.398
+ 1882.796 1467.114 51.000 43.000
+ 04 2 1 7 31 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -6570529.77843 -4702889.35842 23801882.673 23801892.458 23801882.081
+ -2648.018 -2063.391 45.000 40.000
+ -18374051.50743 -14255610.28442 21190752.630 21190758.775 21190751.597
+ -1323.207 -1031.070 53.000 47.000
+ -20711844.87843 -16127904.58742 21387729.292 21387734.654 21387728.022
+ -55.398 -43.167 55.000 49.000
+ -21835711.38143 -16973942.57042 21183323.215 21183328.805 21183322.810
+ -1112.207 -866.655 56.000 49.000
+ -21269165.04743 -16518347.01442 20796760.612 20796765.240 20796759.721
+ 1950.587 1519.938 56.000 50.000
+ -7566118.88743 -5872919.48342 23679225.340 23679232.304 23679225.105
+ -567.963 -442.568 48.000 42.000
+ -11500702.04643 -8907385.81842 22907458.658 22907464.309 22907457.844
+ 1866.129 1454.126 50.000 43.000
+ 04 2 1 7 32 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -6490966.29143 -4640892.01242 23817023.551 23817035.234 23817023.655
+ -2656.993 -2070.384 45.000 40.000
+ -18334322.12043 -14224652.31742 21198313.446 21198318.637 21198312.299
+ -1326.167 -1033.377 53.000 47.000
+ -20710147.84743 -16126582.21842 21388051.934 21388057.318 21388050.802
+ -58.410 -45.514 55.000 49.000
+ -21802143.66543 -16947785.93742 21189711.572 21189716.623 21189710.646
+ -1126.443 -877.748 56.000 49.000
+ -21327439.43843 -16563755.57942 20785671.473 20785675.882 20785670.313
+ 1933.582 1506.687 56.000 50.000
+ -7548868.28743 -5859477.42442 23682508.300 23682515.963 23682507.110
+ -583.000 -454.286 48.000 42.000
+ -11556434.67343 -8950813.82142 22896853.269 22896858.739 22896851.062
+ 1848.782 1440.609 50.000 43.000
+ 04 2 1 7 32 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -6411155.47643 -4578701.95042 23832211.706 23832222.327 23832212.054
+ -2664.970 -2076.600 47.000 41.000
+ -18294520.72843 -14193638.25242 21205887.459 21205892.605 21205886.512
+ -1328.350 -1035.078 54.000 47.000
+ -20708378.08343 -16125203.17742 21388389.346 21388394.106 21388387.240
+ -60.631 -47.245 55.000 48.000
+ -21768169.30543 -16921312.43842 21196176.603 21196181.636 21196175.960
+ -1139.692 -888.072 56.000 49.000
+ -21385224.84343 -16608783.11342 20774674.975 20774679.856 20774673.876
+ 1917.571 1494.211 56.000 50.000
+ -7531186.95043 -5845699.72942 23685874.189 23685881.279 23685873.404
+ -597.056 -465.238 49.000 42.000
+ -11611664.80243 -8993850.25542 22886343.970 22886347.957 22886341.916
+ 1832.165 1427.661 50.000 43.000
+ 04 2 1 7 33 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -6331096.52343 -4516318.52742 23847447.857 23847457.034 23847445.859
+ -2672.267 -2082.286 48.000 41.000
+ -18254645.83443 -14162566.90942 21213475.293 21213480.962 21213474.443
+ -1329.925 -1036.305 53.000 47.000
+ -20706534.75943 -16123766.81242 21388740.290 21388744.912 21388738.603
+ -62.076 -48.371 55.000 49.000
+ -21733785.70543 -16894520.05142 21202719.689 21202724.369 21202718.743
+ -1152.450 -898.013 56.000 49.000
+ -21442518.31143 -16653427.31942 20763772.456 20763776.894 20763771.369
+ 1902.051 1482.118 56.000 50.000
+ -7513072.74043 -5831584.71942 23689319.912 23689328.195 23689318.723
+ -610.709 -475.877 47.000 42.000
+ -11666389.31043 -9036492.70042 22875929.930 22875935.558 22875927.216
+ 1816.335 1415.326 50.000 44.000
+ 04 2 1 7 33 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -6250792.01943 -4453743.74442 23862727.945 23862738.298 23862727.675
+ -2680.734 -2088.884 47.000 40.000
+ -18214699.64243 -14131440.01842 21221076.726 21221081.984 21221075.873
+ -1332.469 -1038.287 53.000 47.000
+ -20704620.47443 -16122275.16342 21389104.233 21389109.240 21389102.921
+ -64.751 -50.455 55.000 49.000
+ -21698994.19943 -16867409.81742 21209339.835 21209345.162 21209339.466
+ -1166.309 -908.812 56.000 49.000
+ -21499320.62743 -16697688.81942 20752963.260 20752967.590 20752962.074
+ 1885.427 1469.164 56.000 50.000
+ -7494527.05243 -5817133.50042 23692849.441 23692857.432 23692849.252
+ -625.195 -487.165 48.000 42.000
+ -11720608.00443 -9078741.02542 22865611.542 22865618.932 22865609.795
+ 1799.332 1402.077 50.000 44.000
+ 04 2 1 7 34 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -6170239.63243 -4390975.81842 23878055.714 23878064.526 23878056.046
+ -2689.308 -2095.565 48.000 40.000
+ -18174679.52243 -14100255.51042 21228692.604 21228697.500 21228690.584
+ -1335.520 -1040.665 53.000 47.000
+ -20702633.30143 -16120726.70942 21389481.974 21389486.565 21389480.685
+ -67.704 -52.756 55.000 48.000
+ -21663791.20743 -16839978.94442 21216038.891 21216044.191 21216038.531
+ -1180.600 -919.948 56.000 49.000
+ -21555627.81643 -16741564.49642 20742248.374 20742252.787 20742246.991
+ 1868.399 1455.895 56.000 50.000
+ -7475546.85043 -5802343.68842 23696462.058 23696469.429 23696460.284
+ -640.198 -498.855 48.000 42.000
+ -11774316.33943 -9120591.66742 22855391.726 22855397.360 22855390.071
+ 1781.542 1388.215 50.000 44.000
+ 04 2 1 7 34 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -6089445.37343 -4328019.44942 23893433.441 23893441.805 23893432.280
+ -2696.565 -2101.219 48.000 40.000
+ -18134591.00543 -14069017.72042 21236321.119 21236326.426 21236319.628
+ -1336.802 -1041.664 53.000 47.000
+ -20700578.85543 -16119125.83042 21389873.027 21389878.212 21389872.226
+ -68.983 -53.753 55.000 48.000
+ -21628181.58343 -16812231.20842 21222815.395 21222820.688 21222814.781
+ -1193.050 -929.649 56.000 49.000
+ -21611443.88643 -16785057.48842 20731626.735 20731631.542 20731625.851
+ 1852.959 1443.864 56.000 50.000
+ -7456137.01443 -5787219.09442 23700155.465 23700161.104 23700153.949
+ -653.552 -509.261 48.000 42.000
+ -11827518.09943 -9162047.54642 22845268.069 22845273.855 22845265.659
+ 1765.742 1375.903 51.000 44.000
+ 04 2 1 7 35 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -6008406.59743 -4264872.52342 23908852.578 23908864.467 23908851.352
+ -2705.592 -2108.253 46.000 40.000
+ -18094431.15143 -14037724.33442 21243963.262 21243968.662 21243961.859
+ -1340.038 -1044.185 53.000 47.000
+ -20698454.68843 -16117470.62742 21390277.246 21390282.355 21390275.721
+ -71.972 -56.082 55.000 49.000
+ -21592161.37543 -16784163.54142 21229669.809 21229674.971 21229669.313
+ -1207.636 -941.015 56.000 49.000
+ -21666764.22943 -16828164.19942 20721100.042 20721104.415 20721098.601
+ 1835.617 1430.351 56.000 50.000
+ -7436293.82643 -5771756.85042 23703931.389 23703938.682 23703929.715
+ -668.928 -521.242 48.000 42.000
+ -11880208.28943 -9203104.80542 22835239.774 22835247.307 22835238.837
+ 1747.721 1361.861 50.000 44.000
+ 04 2 1 7 35 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -5927122.59143 -4201534.55442 23924322.086 23924332.623 23924320.427
+ -2713.223 -2114.200 47.000 40.000
+ -18054198.79843 -14006374.46642 21251619.005 21251624.487 21251617.943
+ -1342.046 -1045.750 53.000 47.000
+ -20696260.49643 -16115760.85942 21390695.263 21390699.693 21390693.478
+ -73.992 -57.656 55.000 48.000
+ -21555728.89143 -16755774.61542 21236603.340 21236607.861 21236602.081
+ -1220.944 -951.385 56.000 49.000
+ -21721586.41143 -16870882.72942 20710667.575 20710671.799 20710665.962
+ 1819.267 1417.611 56.000 50.000
+ -7416015.77243 -5755955.75142 23707789.678 23707796.680 23707789.555
+ -682.991 -532.201 48.000 42.000
+ -11932383.86643 -9243761.08942 22825312.460 22825317.707 22825310.723
+ 1730.852 1348.716 50.000 44.000
+ 04 2 1 7 36 0.0000000 0 7G 1G27G 8G13G28G31G10
+ -5845594.35843 -4138006.25342 23939836.015 23939846.842 23939835.623
+ -2721.887 -2120.951 47.000 40.000
+ -18013894.19043 -13974968.27942 21259288.897 21259293.420 21259287.775
+ -1344.994 -1048.047 54.000 47.000
+ -20693996.71243 -16113996.85642 21391125.588 21391130.323 21391124.270
+ -76.912 -59.931 55.000 49.000
+ -21518883.47943 -16727063.91442 21243614.198 21243619.652 21243613.537
+ -1235.377 -962.631 56.000 49.000
+ -21775909.31243 -16913212.21042 20700330.248 20700334.293 20700329.164
+ 1802.134 1404.260 56.000 50.000
+ -7395302.63743 -5739815.60742 23711731.548 23711737.886 23711729.943
+ -698.016 -543.908 48.000 42.000
+ -11984042.93343 -9284014.86042 22815480.475 22815488.716 22815479.536
+ 1712.885 1334.716 50.000 44.000
+ 04 2 1 7 36 30.0000000 0 7G 1G27G 8G13G28G31G10
+ -5763827.81743 -4074292.25942 23955397.095 23955404.954 23955396.498
+ -2729.340 -2126.758 46.000 40.000
+ -17973522.99243 -13943510.20442 21266971.128 21266976.479 21266969.638
+ -1346.694 -1049.372 53.000 47.000
+ -20691669.45943 -16112183.39942 21391568.666 21391573.434 21391567.256
+ -78.502 -61.170 55.000 49.000
+ -21481629.98743 -16698035.23942 21250703.236 21250708.264 21250702.409
+ -1248.547 -972.894 56.000 49.000
+ -21829737.37143 -16955156.09742 20690086.854 20690091.126 20690085.422
+ 1786.122 1391.783 56.000 50.000
+ -7374159.44043 -5723340.33542 23715754.248 23715760.869 23715753.458
+ -711.858 -554.694 48.000 41.000
+ -12035189.22543 -9323869.09942 22805748.695 22805754.974 22805747.585
+ 1696.377 1321.852 50.000 44.000
+ 04 2 1 7 37 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -5681821.80943 -4010391.65442 23971002.143 23971012.644 23970999.601
+ -2737.764 -2133.322 45.000 39.000
+ -17933083.35343 -13911998.80742 21274666.429 21274672.124 21274665.640
+ -1349.255 -1051.367 53.000 47.000
+ 24795648.647
+ 3229.859 2516.773 41.000
+ -20689277.89943 -16110319.83442 21392023.491 21392029.210 21392022.272
+ -80.975 -63.097 55.000 49.000
+ -21443966.20543 -16668686.85242 21257869.809 21257875.315 21257869.210
+ -1262.586 -983.833 56.000 49.000
+ -21883067.31343 -16996711.84842 20679938.628 20679942.794 20679937.527
+ 1769.273 1378.654 56.000 50.000
+ -7352583.97943 -5706528.24442 23719861.110 23719867.270 23719859.250
+ -726.519 -566.119 49.000 42.000
+ -12085819.72543 -9363321.39142 22796114.763 22796119.420 22796112.439
+ 1678.598 1307.998 51.000 44.000
+ 04 2 1 7 37 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -5599572.71543 -3946301.68242 23986650.132 23986663.148 23986651.669
+ -2745.237 -2139.146 43.000 39.000
+ -17892571.15843 -13880430.85542 21282375.903 21282380.949 21282374.613
+ -1351.384 -1053.026 53.000 47.000
+ -1425533.51253 -1066339.30252 24777191.883 24777208.286 24777189.992
+ 3236.280 2521.777 42.000 35.000
+ -20686818.00043 -16108403.01442 21392491.614 21392496.547 21392490.143
+ -82.682 -64.427 55.000 49.000
+ -21405887.02243 -16639014.76742 21265116.848 21265121.803 21265115.993
+ -1275.765 -994.102 56.000 49.000
+ -21935893.83043 -17037875.31442 20669885.826 20669890.264 20669884.824
+ 1752.705 1365.744 56.000 50.000
+ -7330571.70443 -5689375.81942 23724049.500 23724057.324 23724047.928
+ -740.856 -577.290 48.000 41.000
+ -12135928.04943 -9402366.81842 22786578.663 22786584.116 22786576.403
+ 1662.037 1295.094 50.000 44.000
+ 04 2 1 7 38 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -5517086.63343 -3882027.03442 24002347.623 24002360.832 24002347.545
+ -2752.879 -2145.100 44.000 39.000
+ -17851992.07343 -13848810.79542 21290097.494 21290102.965 21290096.605
+ -1353.314 -1054.530 53.000 47.000
+ -1522702.31243 -1142054.67542 24758701.498 24758715.100 24758698.693
+ 3242.137 2526.340 43.000 36.000
+ -20684296.00743 -16106437.80342 21392971.646 21392976.386 21392970.291
+ -84.633 -65.948 55.000 49.000
+ -21367397.60943 -16609023.02742 21272441.158 21272446.022 21272440.037
+ -1289.398 -1004.726 56.000 49.000
+ -21988221.33243 -17078649.93542 20659928.393 20659932.769 20659927.202
+ 1736.381 1353.024 56.000 50.000
+ -7308127.90143 -5671887.09642 23728320.144 23728325.875 23728318.513
+ -755.050 -588.351 48.000 41.000
+ -12185518.11543 -9441008.38042 22777143.452 22777147.168 22777140.117
+ 1644.786 1281.651 50.000 44.000
+ 04 2 1 7 38 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -5434360.02643 -3817564.94142 24018091.961 24018101.552 24018089.501
+ -2761.160 -2151.553 46.000 39.000
+ -17811341.82543 -13817135.28242 21297833.353 21297838.111 21297831.601
+ -1355.930 -1056.569 53.000 47.000
+ -1620045.46043 -1217905.86242 24740177.253 24740190.344 24740174.283
+ 3247.833 2530.779 43.000 37.000
+ -20681708.08543 -16104421.22442 21393464.059 21393469.092 21393462.335
+ -87.052 -67.833 55.000 49.000
+ -21328493.20143 -16578707.91242 21279843.913 21279849.357 21279843.926
+ -1303.268 -1015.533 56.000 49.000
+ -22040044.37443 -17119031.47742 20650067.083 20650070.949 20650065.714
+ 1719.313 1339.724 56.000 50.000
+ -7285247.81943 -5654058.42642 23732674.036 23732682.401 23732672.669
+ -769.582 -599.674 48.000 42.000
+ -12234584.01943 -9479241.50642 22767805.325 22767811.946 22767803.454
+ 1627.047 1267.829 50.000 44.000
+ 04 2 1 7 39 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -5351431.25543 -3752945.35242 24033871.352 24033883.470 24033872.367
+ -2769.264 -2157.868 46.000 39.000
+ -17770658.20143 -13785433.76742 21305574.963 21305580.315 21305573.774
+ -1358.366 -1058.467 53.000 47.000
+ -1717598.32343 -1293920.44942 24721612.862 24721627.748 24721611.220
+ 3253.409 2535.124 44.000 38.000
+ -20679092.55243 -16102383.12742 21393961.637 21393967.066 21393960.009
+ -89.331 -69.608 55.000 49.000
+ -21289210.90843 -16548098.34842 21287319.557 21287324.706 21287319.154
+ -1317.338 -1026.497 56.000 49.000
+ -22091399.54743 -17159048.44942 20640293.660 20640298.183 20640292.701
+ 1702.317 1326.481 56.000 50.000
+ -7261969.08243 -5635919.13242 23737105.518 23737110.644 23737103.127
+ -784.494 -611.294 48.000 42.000
+ -12283161.91343 -9517094.38842 22758559.991 22758566.983 22758559.406
+ 1609.600 1254.234 49.000 44.000
+ 04 2 1 7 39 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -5268231.90243 -3688114.91842 24049705.266 24049715.314 24049704.348
+ -2777.742 -2164.474 48.000 39.000
+ -17729872.28943 -13753652.54642 21313336.250 21313342.254 21313335.054
+ -1361.171 -1060.653 53.000 47.000
+ -1815289.40443 -1370042.74942 24703021.471 24703038.645 24703020.337
+ 3258.550 2539.130 44.000 38.000
+ -20676380.81743 -16100270.08042 21394477.683 21394482.778 21394476.490
+ -91.897 -71.608 55.000 49.000
+ -21249480.93343 -16517139.94042 21294880.027 21294885.207 21294879.427
+ -1331.837 -1037.795 56.000 49.000
+ -22142216.54443 -17198646.05342 20630623.960 20630627.832 20630622.720
+ 1684.925 1312.929 56.000 50.000
+ -7238222.23743 -5617415.06242 23741622.974 23741629.556 23741622.926
+ -799.372 -622.887 48.000 41.000
+ -12331181.07643 -9554511.89342 22749422.890 22749428.352 22749421.653
+ 1591.195 1239.892 49.000 44.000
+ 04 2 1 7 40 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -5184797.39243 -3623101.24942 24065582.663 24065592.140 24065581.161
+ -2784.312 -2169.594 48.000 39.000
+ -17689018.64843 -13721818.54742 21321110.469 21321116.090 21321109.680
+ -1362.286 -1061.521 53.000 47.000
+ -1913150.59843 -1446297.61742 24684398.450 24684414.024 24684398.504
+ 3265.346 2544.425 45.000 39.000
+ -20673608.26843 -16098109.63942 21395005.267 21395010.220 21395003.963
+ -92.747 -72.270 55.000 49.000
+ -21209337.77443 -16485859.57642 21302518.864 21302524.105 21302518.347
+ -1344.317 -1047.520 56.000 49.000
+ -22192528.72643 -17237850.30042 20621050.287 20621054.063 20621048.456
+ 1669.360 1300.800 56.000 50.000
+ -7214041.62743 -5598573.03442 23746224.755 23746230.193 23746224.036
+ -812.512 -633.126 48.000 42.000
+ -12378674.50643 -9591519.73142 22740385.964 22740391.344 22740384.037
+ 1574.974 1227.252 50.000 44.000
+ 04 2 1 7 40 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -5101128.38243 -3557904.85142 24081504.831 24081515.839 24081503.000
+ -2792.717 -2176.143 48.000 39.000
+ -17648097.40243 -13689931.86042 21328897.342 21328903.238 21328896.823
+ -1365.020 -1063.652 53.000 47.000
+ -2011179.84843 -1522683.44142 24665743.448 24665758.389 24665742.176
+ 3270.504 2548.445 45.000 39.000
+ -20670775.41343 -16095902.20542 21395544.843 21395549.590 21395543.277
+ -95.352 -74.300 55.000 49.000
+ -21168780.59243 -16454256.58742 21310236.366 21310241.879 21310235.617
+ -1358.511 -1058.580 56.000 49.000
+ -22242335.39443 -17276660.63742 20611571.975 20611576.152 20611570.691
+ 1651.848 1287.154 56.000 50.000
+ -7189427.21743 -5579392.97142 23750908.921 23750915.196 23750906.472
+ -827.792 -645.033 48.000 42.000
+ -12425640.76943 -9628116.79042 22731446.966 22731453.658 22731446.195
+ 1556.963 1213.218 50.000 44.000
+ 04 2 1 7 41 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -5017227.84843 -3492528.05242 24097470.834 24097480.410 24097470.906
+ -2801.070 -2182.652 48.000 37.000
+ -17607110.89143 -13657994.31842 21336697.479 21336702.704 21336696.223
+ -1367.809 -1065.825 53.000 47.000
+ -2109376.63843 -1599199.85242 24647057.606 24647070.962 24647056.204
+ 3275.550 2552.377 46.000 39.000
+ -20667884.76343 -16093649.72942 21396094.749 21396099.564 21396093.486
+ -97.672 -76.108 55.000 49.000
+ -21127811.25643 -16422332.44442 21318033.181 21318038.251 21318032.628
+ -1372.891 -1069.785 56.000 49.000
+ -22291637.75943 -17315078.01742 20602189.662 20602193.987 20602188.443
+ 1634.625 1273.734 56.000 50.000
+ -7164380.95143 -5559876.38142 23755673.597 23755680.900 23755673.086
+ -842.454 -656.458 47.000 41.000
+ -12472080.42343 -9664303.50942 22722611.068 22722615.733 22722609.751
+ 1538.750 1199.026 51.000 44.000
+ 04 2 1 7 41 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -4933095.27143 -3426970.43742 24113480.762 24113490.699 24113482.649
+ -2808.193 -2188.202 48.000 37.000
+ -17566057.90343 -13626004.97642 21344508.921 21344514.437 21344507.696
+ -1369.255 -1066.952 53.000 47.000
+ -2207737.56743 -1675844.17642 24628340.433 24628353.900 24628337.892
+ 3281.521 2557.029 46.000 40.000
+ -20664935.98143 -16091351.96542 21396655.632 21396660.658 21396654.336
+ -99.040 -77.174 55.000 49.000
+ -21086428.19743 -16390085.92642 21325907.773 21325912.686 21325906.906
+ -1386.137 -1080.107 56.000 49.000
+ -22340433.57643 -17353100.69242 20592903.907 20592908.245 20592902.953
+ 1618.311 1261.022 55.000 50.000
+ -7138901.56143 -5540022.27842 23760523.280 23760529.444 23760521.298
+ -856.339 -667.277 47.000 41.000
+ -12517990.85143 -9700077.82742 22713874.234 22713880.327 22713873.495
+ 1521.722 1185.757 51.000 44.000
+ 04 2 1 7 42 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -4848731.81743 -3361232.91542 24129533.873 24129543.129 24129531.669
+ -2816.358 -2194.565 46.000 37.000
+ -17524938.74843 -13593964.07442 21352333.640 21352339.428 21352332.644
+ -1372.192 -1069.240 53.000 47.000
+ -2306260.43243 -1752614.70842 24609591.095 24609605.599 24609589.744
+ 3286.267 2560.728 46.000 40.000
+ -20661930.02743 -16089009.64742 21397227.427 21397232.699 21397226.095
+ -101.538 -79.120 55.000 49.000
+ -21044631.37343 -16357516.99342 21333861.746 21333866.578 21333860.924
+ -1400.448 -1091.258 56.000 49.000
+ -22388722.33843 -17390728.25942 20583715.110 20583719.432 20583714.290
+ 1600.716 1247.311 56.000 50.000
+ -7112989.16043 -5519830.77242 23765453.907 23765459.884 23765453.272
+ -871.295 -678.931 48.000 42.000
+ -12563370.92743 -9735438.90042 22705238.877 22705245.862 22705237.171
+ 1503.291 1171.396 50.000 44.000
+ 04 2 1 7 42 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -4764135.24743 -3295313.76242 24145633.979 24145647.310 24145633.642
+ -2824.179 -2200.659 46.000 37.000
+ -17483750.64543 -13561869.44842 21360171.824 21360176.914 21360170.777
+ -1374.391 -1070.954 53.000 47.000
+ -2404939.72743 -1829507.13942 24590812.748 24590825.680 24590812.632
+ 3291.802 2565.041 47.000 40.000
+ -20658864.12743 -16086620.62442 21397811.159 21397816.124 21397809.608
+ -103.575 -80.708 55.000 49.000
+ -21002417.56043 -16324623.14142 21341894.756 21341899.559 21341893.757
+ -1414.206 -1101.979 56.000 49.000
+ -22436499.86743 -17427957.46342 20574623.381 20574627.381 20574622.199
+ 1583.627 1233.995 56.000 50.000
+ -7086640.70743 -5499299.48742 23770467.370 23770473.279 23770465.939
+ -885.871 -690.289 48.000 42.000
+ -12608216.33243 -9770383.33642 22696704.797 22696709.722 22696703.894
+ 1485.641 1157.642 50.000 44.000
+ 04 2 1 7 43 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -4679311.68843 -3229217.74342 24161775.225 24161788.936 24161771.613
+ -2831.259 -2206.176 46.000 38.000
+ -17442498.86343 -13529725.20542 21368021.865 21368027.164 21368021.254
+ -1376.030 -1072.231 53.000 47.000
+ -2503778.37143 -1906523.76042 24572004.123 24572016.651 24572001.335
+ 3297.482 2569.466 46.000 40.000
+ -20655744.26843 -16084189.55542 21398404.632 21398409.815 21398402.913
+ -104.758 -81.630 55.000 49.000
+ -20959791.48843 -16291408.03642 21350006.148 21350011.116 21350005.329
+ -1427.550 -1112.377 56.000 49.000
+ -22483770.74843 -17464791.87742 20565627.925 20565632.374 20565626.773
+ 1567.423 1221.369 56.000 50.000
+ -7059861.43843 -5478432.49642 23775563.132 23775569.274 23775563.254
+ -899.732 -701.090 47.000 41.000
+ -12652530.92143 -9804914.15842 22688272.465 22688278.252 22688270.935
+ 1468.516 1144.298 50.000 44.000
+ 04 2 1 7 43 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -4594257.22343 -3162941.78342 24177961.279 24177972.398 24177959.319
+ -2838.458 -2211.785 46.000 37.000
+ -17401178.63343 -13497527.61642 21375884.479 21375890.218 21375883.358
+ -1378.078 -1073.827 53.000 47.000
+ -2602768.91943 -1983658.78842 24553166.625 24553180.816 24553163.264
+ 3302.391 2573.292 47.000 40.000
+ -20652566.26243 -16081713.18342 21399008.843 21399014.453 21399007.839
+ -106.533 -83.013 54.000 49.000
+ -20916748.25743 -16257867.88342 21358196.920 21358201.657 21358196.438
+ -1441.453 -1123.210 56.000 48.000
+ -22530529.26643 -17501227.04942 20556729.814 20556734.483 20556728.631
+ 1550.430 1208.127 56.000 50.000
+ -7032646.39743 -5457225.96142 23780741.894 23780748.701 23780740.761
+ -914.245 -712.399 47.000 41.000
+ -12696308.57843 -9839026.58142 22679941.503 22679949.034 22679939.751
+ 1450.556 1130.303 50.000 44.000
+ 04 2 1 7 44 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -4508978.51343 -3096491.10442 24194188.863 24194200.269 24194188.282
+ -2846.057 -2217.707 45.000 38.000
+ -17359796.03643 -13465281.42942 21383759.552 21383765.015 21383758.418
+ -1380.414 -1075.647 53.000 47.000
+ -2701914.96243 -2060914.94442 24534299.193 24534312.093 24534296.809
+ 3307.685 2577.417 46.000 40.000
+ -20649336.43743 -16079196.42242 21399624.510 21399629.423 21399622.690
+ -108.413 -84.478 55.000 48.000
+ -20873293.17743 -16224006.80742 21366466.257 21366471.432 21366465.602
+ -1455.164 -1133.894 55.000 48.000
+ -22576780.54943 -17537266.97242 20547928.731 20547932.978 20547927.517
+ 1533.244 1194.736 56.000 50.000
+ -7005001.60443 -5435684.53242 23786004.804 23786009.764 23786001.986
+ -928.575 -723.565 48.000 41.000
+ -12739553.85343 -9872724.17242 22671712.446 22671718.934 22671711.017
+ 1432.722 1116.407 51.000 44.000
+ 04 2 1 7 44 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -4423474.83843 -3029865.13542 24210459.678 24210471.109 24210458.325
+ -2853.790 -2223.732 45.000 38.000
+ -17318349.64043 -13432985.53442 21391647.450 21391652.210 21391645.694
+ -1382.638 -1077.380 54.000 47.000
+ -2801212.57543 -2138289.24442 24515403.776 24515415.908 24515402.072
+ 3312.435 2581.118 46.000 40.000
+ -20646054.03643 -16076638.70142 21400248.462 21400253.746 21400247.343
+ -110.314 -85.959 55.000 48.000
+ -20829424.85443 -16189823.73342 21374814.097 21374818.993 21374812.994
+ -1469.141 -1144.785 55.000 48.000
+ -22622522.28943 -17572909.85242 20539224.240 20539228.524 20539223.334
+ 1516.200 1181.455 56.000 50.000
+ -6976925.65543 -5413807.14542 23791346.621 23791352.662 23791344.578
+ -943.087 -734.873 48.000 42.000
+ -12782264.10243 -9906004.85742 22663584.688 22663590.312 22663582.717
+ 1414.777 1102.424 50.000 44.000
+ 04 2 1 7 45 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -4337743.03143 -2963061.37342 24226773.751 24226785.698 24226773.181
+ -2861.773 -2229.953 46.000 39.000
+ -17276835.37643 -13400636.73742 21399546.135 21399552.211 21399544.692
+ -1385.228 -1079.398 53.000 47.000
+ -2900655.01943 -2215776.39242 24496479.591 24496492.807 24496477.862
+ 3316.836 2584.548 46.000 40.000
+ -20642715.36643 -16074037.13242 21400883.572 21400889.254 21400882.534
+ -112.450 -87.623 55.000 49.000
+ -20785138.69243 -16155315.06642 21383241.678 21383246.818 21383241.239
+ -1483.444 -1155.930 56.000 49.000
+ -22667749.63943 -17608151.90142 20530618.114 20530622.094 20530616.935
+ 1498.723 1167.836 56.000 50.000
+ -6948414.40643 -5391590.54342 23796771.979 23796777.984 23796769.863
+ -957.944 -746.450 47.000 42.000
+ -12824433.68643 -9938864.23842 22655559.652 22655566.749 22655558.386
+ 1396.409 1088.111 50.000 44.000
+ 04 2 1 7 45 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -4251787.97743 -2896083.66442 24243129.785 24243142.365 24243129.802
+ -2868.341 -2235.071 46.000 39.000
+ -17235257.12443 -13368238.09242 21407458.239 21407463.353 21407456.918
+ -1386.503 -1080.392 53.000 47.000
+ -3000243.92243 -2293377.65842 24477528.671 24477540.861 24477526.076
+ 3322.886 2589.262 46.000 40.000
+ -20639324.99543 -16071395.27642 21401529.284 21401534.441 21401527.769
+ -113.272 -88.264 55.000 49.000
+ -20740438.43043 -16120483.72642 21391747.594 21391752.433 21391747.043
+ -1496.407 -1166.031 56.000 48.000
+ -22712465.69043 -17642995.53842 20522108.952 20522112.666 20522107.578
+ 1482.560 1155.242 56.000 50.000
+ -6919471.80743 -5369037.83742 23802279.599 23802287.030 23802277.276
+ -971.439 -756.965 46.000 41.000
+ -12866065.14843 -9971304.31642 22647638.211 22647643.923 22647636.833
+ 1379.289 1074.771 51.000 44.000
+ 04 2 1 7 46 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -4165610.35443 -2828932.53242 24259529.295 24259542.679 24259528.898
+ -2876.256 -2241.238 46.000 39.000
+ -17193614.68443 -13335789.43542 21415382.240 21415387.754 21415380.683
+ -1389.090 -1082.408 53.000 47.000
+ -3099976.51643 -2371090.89642 24458548.163 24458562.182 24458547.262
+ 3326.899 2592.389 45.000 39.000
+ -20635883.08843 -16068713.26542 21402184.127 21402189.035 21402182.809
+ -115.558 -90.045 55.000 49.000
+ -20695323.77443 -16085329.49142 21400332.965 21400338.173 21400332.118
+ -1510.647 -1177.127 56.000 48.000
+ -22756669.43343 -17677439.97442 20513696.862 20513701.022 20513695.554
+ 1465.034 1141.585 56.000 50.000
+ -6890097.62343 -5346148.84742 23807869.745 23807875.864 23807866.405
+ -986.254 -768.510 47.000 41.000
+ -12907157.46843 -10003324.26842 22639817.264 22639824.379 22639815.957
+ 1360.768 1060.339 50.000 44.000
+ 04 2 1 7 46 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -4079208.64843 -2761606.75842 24275972.095 24275982.665 24275970.172
+ -2883.938 -2247.224 47.000 38.000
+ -17151905.67643 -13303288.89042 21423319.824 21423324.525 21423318.885
+ -1391.699 -1084.441 53.000 47.000
+ -3199847.74843 -2448912.17842 24439542.858 24439557.470 24439540.928
+ 3331.098 2595.661 45.000 39.000
+ -20632388.01043 -16065989.81742 21402849.543 21402853.958 21402848.056
+ -117.582 -91.622 55.000 49.000
+ -20649791.98143 -16049850.21242 21408996.958 21409002.325 21408996.180
+ -1524.930 -1188.257 55.000 48.000
+ -22800357.75743 -17711482.78442 20505383.441 20505387.381 20505381.803
+ 1447.401 1127.845 56.000 50.000
+ -6860289.63743 -5322921.81342 23813540.932 23813548.135 23813539.199
+ -1001.055 -780.043 48.000 41.000
+ -12947706.74643 -10034921.08142 22632102.929 22632107.572 22632100.899
+ 1342.304 1045.951 52.000 45.000
+ 04 2 1 7 47 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -3992589.28543 -2694111.41842 24292456.129 24292467.940 24292452.350
+ -2890.599 -2252.415 46.000 37.000
+ -17110135.86843 -13270740.97342 21431268.107 21431273.164 21431267.058
+ -1393.110 -1085.540 53.000 47.000
+ -3299860.84443 -2526843.98442 24420512.328 24420524.417 24420509.809
+ 3335.916 2599.415 46.000 40.000
+ -20628845.49443 -16063229.40342 21403523.560 21403527.733 21403522.005
+ -118.649 -92.454 55.000 48.000
+ -20603848.31443 -16014049.98042 21417739.774 21417744.931 21417739.148
+ -1538.082 -1198.505 55.000 48.000
+ -22843535.50343 -17745127.73842 20497166.592 20497170.884 20497165.545
+ 1430.954 1115.029 56.000 50.000
+ -6830053.44543 -5299361.11442 23819294.316 23819301.254 23819293.487
+ -1014.829 -790.776 48.000 41.000
+ -12987717.55243 -10066098.29642 22624488.314 22624494.835 22624486.850
+ 1324.848 1032.349 51.000 45.000
+ 04 2 1 7 47 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -3905746.50943 -2626441.93742 24308979.833 24308996.113 24308976.925
+ -2898.234 -2258.364 45.000 37.000
+ -17068298.29043 -13238140.26542 21439229.425 21439235.178 21439228.110
+ -1395.390 -1087.317 53.000 47.000
+ -3400006.26543 -2604878.92342 24401453.463 24401467.729 24401452.676
+ 3340.768 2603.196 44.000 39.000
+ -20625249.47043 -16060427.29542 21404207.718 21404212.394 21404206.789
+ -120.368 -93.793 55.000 49.000
+ -20557486.20043 -15977923.68842 21426562.409 21426567.821 21426561.887
+ -1552.070 -1209.405 56.000 48.000
+ -22886195.35243 -17778369.14442 20489049.446 20489053.032 20489047.913
+ 1413.729 1101.607 56.000 50.000
+ -6799382.45043 -5275461.62942 23825130.086 23825138.903 23825129.718
+ -1029.438 -802.159 47.000 41.000
+ -13027181.92743 -10096849.72242 22616977.950 22616984.679 22616977.096
+ 1306.784 1018.273 51.000 45.000
+ 04 2 1 7 48 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -3818688.13343 -2558604.53342 24325548.267 24325557.105 24325546.465
+ -2905.765 -2264.232 46.000 37.000
+ -17026399.99243 -13205492.23742 21447202.217 21447207.973 21447201.239
+ -1397.565 -1089.012 53.000 47.000
+ -3500288.80943 -2683020.72142 24382370.016 24382383.873 24382368.235
+ 3344.634 2606.208 44.000 39.000
+ -20621607.33243 -16057589.24942 21404900.947 21404905.623 21404899.457
+ -122.176 -95.202 55.000 48.000
+ -20510712.31643 -15941476.53842 21435463.208 21435468.100 21435462.663
+ -1566.075 -1220.318 55.000 48.000
+ -22928343.66243 -17811211.94642 20481028.423 20481032.357 20481027.044
+ 1396.479 1088.165 56.000 50.000
+ -6768283.74343 -5251228.83842 23831050.187 23831054.710 23831047.775
+ -1043.942 -813.461 48.000 41.000
+ -13066105.35243 -10127179.64842 22609571.473 22609577.454 22609570.400
+ 1288.416 1003.961 51.000 45.000
+ 04 2 1 7 48 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -3731412.09843 -2490597.51742 24342157.891 24342167.069 24342155.066
+ -2912.889 -2269.784 46.000 37.000
+ -16984438.02743 -13172794.60142 21455187.696 21455193.291 21455186.144
+ -1399.807 -1090.759 53.000 47.000
+ -3600702.84143 -2761264.98842 24363260.852 24363273.822 24363260.293
+ 3349.136 2609.716 44.000 39.000
+ -20617916.65143 -16054713.37542 21405602.865 21405607.508 21405601.598
+ -123.830 -96.491 55.000 49.000
+ -20463523.54143 -15904706.09842 21444442.827 21444448.218 21444442.261
+ -1579.850 -1231.052 55.000 48.000
+ -22969976.91443 -17843653.40342 20473106.249 20473109.721 20473104.981
+ 1379.201 1074.702 56.000 50.000
+ -6736754.68743 -5226660.69942 23837048.933 23837054.976 23837048.299
+ -1058.105 -824.497 47.000 41.000
+ -13104484.20543 -10157085.21342 22602267.534 22602274.616 22602266.544
+ 1270.141 989.720 50.000 45.000
+ 04 2 1 7 49 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -3643918.89043 -2422421.28742 24358804.727 24358815.624 24358803.203
+ -2919.849 -2275.207 44.000 37.000
+ -16942411.84443 -13140046.93342 21463184.981 21463190.820 21463183.880
+ -1401.722 -1092.251 53.000 47.000
+ -3701245.24243 -2839609.29442 24344129.431 24344140.748 24344127.273
+ 3353.197 2612.881 44.000 38.000
+ -20614177.52243 -16051799.74942 21406314.822 21406319.395 21406313.392
+ -125.168 -97.533 55.000 49.000
+ -20415919.06143 -15867611.73942 21453501.920 21453507.051 21453501.233
+ -1593.456 -1241.654 56.000 48.000
+ -23011093.68543 -17875692.41042 20465281.585 20465285.186 20465280.408
+ 1362.180 1061.439 56.000 50.000
+ -6704794.82243 -5201756.86442 23843130.449 23843136.409 23843129.249
+ -1072.327 -835.579 46.000 41.000
+ -13142316.87843 -10186565.18542 22595067.880 22595074.155 22595066.639
+ 1252.241 975.772 51.000 44.000
+ 04 2 1 7 49 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -3556210.50943 -2354077.40742 24375495.253 24375510.224 24375495.096
+ -2927.459 -2281.137 44.000 38.000
+ -16900322.59743 -13107250.12542 21471194.282 21471199.467 21471193.512
+ -1404.219 -1094.197 53.000 47.000
+ -3801914.64243 -2918052.54842 24324972.053 24324983.824 24324970.998
+ 3357.959 2616.591 44.000 38.000
+ -20610391.34543 -16048849.47042 21407035.188 21407039.605 21407034.074
+ -127.262 -99.165 55.000 49.000
+ -20367899.93243 -15830194.25442 21462639.500 21462644.532 21462638.905
+ -1607.922 -1252.926 55.000 48.000
+ -23051694.83843 -17907329.63242 20457555.267 20457559.174 20457554.030
+ 1344.514 1047.673 56.000 50.000
+ -6672405.47643 -5176518.37542 23849293.757 23849300.749 23849293.556
+ -1087.090 -847.083 47.000 41.000
+ -13179603.31843 -10215619.52942 22587974.095 22587979.579 22587971.755
+ 1233.555 961.212 51.000 44.000
+ 04 2 1 7 50 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -3468286.94443 -2285565.84742 24392228.275 24392239.989 24392225.976
+ -2934.451 -2286.585 45.000 38.000
+ -16858169.15843 -13074403.28842 21479216.081 21479220.972 21479215.016
+ -1406.131 -1095.686 53.000 47.000
+ -3902707.59743 -2996592.11942 24305791.713 24305802.854 24305790.200
+ 3361.844 2619.619 42.000 38.000
+ -20606557.60643 -16045862.12742 21407764.515 21407768.819 21407763.079
+ -128.563 -100.179 55.000 49.000
+ -20319465.48243 -15792453.16942 21471856.463 21471861.496 21471855.556
+ -1621.361 -1263.398 55.000 48.000
+ -23091778.82343 -17938563.86442 20449927.366 20449931.363 20449926.263
+ 1327.565 1034.466 56.000 50.000
+ -6639585.92243 -5150944.68842 23855539.016 23855545.251 23855538.128
+ -1101.174 -858.058 48.000 41.000
+ -13216341.45643 -10244246.60842 22580981.725 22580987.639 22580980.468
+ 1215.522 947.160 50.000 44.000
+ 04 2 1 7 50 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -3380151.35943 -2216889.05142 24408998.733 24409013.733 24408997.850
+ -2941.238 -2291.874 44.000 38.000
+ -16815953.49043 -13041507.97642 21487248.741 21487254.721 21487248.040
+ -1408.520 -1097.548 52.000 47.000
+ -4003623.36343 -3075227.39242 24286587.123 24286599.497 24286585.921
+ 3365.814 2622.712 43.000 38.000
+ -20602678.75743 -16042839.63142 21408502.805 21408506.973 21408500.998
+ -130.280 -101.517 55.000 48.000
+ -20270617.42243 -15754389.76742 21481151.926 21481157.136 21481151.417
+ -1635.290 -1274.252 55.000 48.000
+ -23131346.85543 -17969396.06542 20442397.676 20442401.623 20442396.425
+ 1310.178 1020.918 56.000 50.000
+ -6606338.34343 -5125037.45842 23861866.454 23861872.189 23861865.628
+ -1115.451 -869.182 48.000 41.000
+ -13252532.23343 -10272447.19342 22574095.353 22574101.243 22574093.531
+ 1197.013 932.737 51.000 45.000
+ 04 2 1 7 51 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -3291804.26043 -2148047.45542 24425810.827 24425821.749 24425809.984
+ -2949.253 -2298.119 44.000 37.000
+ -16773675.48543 -13008564.08242 21495294.060 21495299.995 21495292.475
+ -1411.050 -1099.519 52.000 46.000
+ -4104659.15043 -3153956.19942 24267360.419 24267372.383 24267359.200
+ 3369.458 2625.552 43.000 37.000
+ -20598755.11943 -16039782.23142 21409249.378 21409253.950 21409248.073
+ -132.252 -103.053 55.000 49.000
+ -20221355.33943 -15716003.76542 21490526.007 21490531.623 21490525.415
+ -1649.750 -1285.519 55.000 48.000
+ -23170398.45143 -17999825.84142 20434966.811 20434970.583 20434965.405
+ 1292.400 1007.065 56.000 50.000
+ -6572662.76243 -5098796.66342 23868274.290 23868281.247 23868273.400
+ -1130.223 -880.693 47.000 41.000
+ -13288174.65743 -10300220.48142 22567312.093 22567318.685 22567311.029
+ 1178.216 918.090 51.000 44.000
+ 04 2 1 7 51 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -3203246.92543 -2079042.02142 24442664.714 24442676.170 24442663.400
+ -2955.854 -2303.263 45.000 38.000
+ -16731335.08543 -12975571.56842 21503351.797 21503357.429 21503350.663
+ -1412.473 -1100.628 52.000 46.000
+ -4205812.33343 -3232776.50942 24248111.613 24248122.363 24248110.324
+ 3373.260 2628.514 44.000 38.000
+ -20594786.99943 -16036690.17042 21410004.035 21410009.447 21410002.981
+ -133.045 -103.671 55.000 49.000
+ -20171679.36243 -15677295.23542 21499979.015 21499984.726 21499978.560
+ -1662.917 -1295.779 55.000 48.000
+ -23208932.88943 -18029852.64242 20427634.057 20427637.723 20427632.741
+ 1275.774 994.110 56.000 50.000
+ -6538559.50943 -5072222.67842 23874763.727 23874770.607 23874762.930
+ -1143.970 -891.405 47.000 41.000
+ -13323267.52943 -10327565.55242 22560635.851 22560640.751 22560634.164
+ 1160.337 904.159 52.000 45.000
+ 04 2 1 7 52 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -3114480.37543 -2009873.57142 24459557.462 24459567.783 24459555.240
+ -2961.954 -2308.016 46.000 38.000
+ -16688932.10443 -12942530.28642 21511420.099 21511426.217 21511419.279
+ -1414.052 -1101.859 52.000 46.000
+ -4307080.60843 -3311686.49842 24228840.587 24228853.104 24228840.188
+ 3378.446 2632.555 44.000 38.000
+ -20590775.19343 -16033564.07242 21410767.860 21410772.315 21410766.598
+ -134.121 -104.510 55.000 49.000
+ -20121589.69543 -15638264.35242 21509511.454 21509516.448 21509510.477
+ -1676.168 -1306.105 55.000 48.000
+ -23246949.88843 -18059476.24142 20420399.758 20420403.505 20420398.469
+ 1259.042 981.072 56.000 50.000
+ -6504029.01343 -5045315.75342 23881334.341 23881341.506 23881333.308
+ -1157.742 -902.137 47.000 41.000
+ -13357810.22843 -10354481.92042 22554061.011 22554066.964 22554059.722
+ 1142.753 890.457 51.000 44.000
+ 04 2 1 7 52 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -3025504.17543 -1940541.74942 24476486.196 24476498.357 24476485.532
+ -2969.568 -2313.949 44.000 37.000
+ -16646465.08543 -12909439.11242 21519501.187 21519507.626 21519500.056
+ -1416.544 -1103.800 52.000 46.000
+ -4408459.65043 -3390682.80042 24209549.306 24209560.329 24209547.013
+ 3381.008 2634.552 45.000 38.000
+ -20586718.13943 -16030402.71142 21411540.065 21411544.695 21411538.495
+ -135.883 -105.883 55.000 49.000
+ -20071084.76843 -15598909.88542 21519122.239 21519127.181 21519121.354
+ -1690.370 -1317.171 56.000 48.000
+ -23284447.57443 -18088695.18542 20413263.992 20413267.670 20413262.763
+ 1241.327 967.268 56.000 50.000
+ -6469069.95543 -5018074.89242 23887987.108 23887993.513 23887986.089
+ -1172.409 -913.565 47.000 41.000
+ -13391800.08743 -10380967.50442 22547593.372 22547599.631 22547592.390
+ 1123.833 875.714 51.000 45.000
+ 04 2 1 7 53 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -2936321.16443 -1871048.80242 24493458.062 24493471.467 24493457.096
+ -2975.524 -2318.590 44.000 37.000
+ -16603935.91643 -12876299.50142 21527595.232 21527599.512 21527594.022
+ -1418.149 -1105.051 53.000 47.000
+ -4509948.80343 -3469764.92942 24190235.325 24190247.614 24190234.386
+ 3385.224 2637.837 45.000 39.000
+ -20582618.40843 -16027208.10142 21412320.058 21412324.440 21412318.876
+ -136.779 -106.581 55.000 49.000
+ -20020166.47343 -15559233.31842 21528811.144 21528816.316 21528810.704
+ -1703.605 -1327.484 55.000 48.000
+ -23321427.42043 -18117510.61442 20406226.490 20406230.647 20406225.154
+ 1224.554 954.198 56.000 50.000
+ -6433684.60043 -4990501.82942 23894720.555 23894727.252 23894719.883
+ -1186.062 -924.204 46.000 41.000
+ -13425238.33643 -10407023.25742 22541231.727 22541236.470 22541229.568
+ 1105.937 861.769 51.000 45.000
+ 04 2 1 7 53 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -2846930.63643 -1801394.14342 24510468.509 24510482.457 24510467.737
+ -2983.259 -2324.617 43.000 36.000
+ -16561342.59243 -12843109.90142 21535700.402 21535705.344 21535699.060
+ -1420.595 -1106.957 52.000 47.000
+ -4611543.49043 -3548929.28842 24170901.957 24170915.037 24170901.595
+ 3388.440 2640.343 45.000 39.000
+ -20578474.70743 -16023979.22242 21413108.502 21413112.988 21413106.681
+ -138.658 -108.045 55.000 49.000
+ -19968832.90643 -15519233.15342 21538579.551 21538584.921 21538578.945
+ -1717.826 -1338.566 56.000 48.000
+ -23357887.12543 -18145920.73542 20399288.493 20399292.375 20399287.313
+ 1206.946 940.477 56.000 50.000
+ -6397871.63043 -4962595.61342 23901536.061 23901543.031 23901534.957
+ -1200.573 -935.511 47.000 41.000
+ -13458122.42043 -10432647.19242 22534973.797 22534978.683 22534970.743
+ 1087.086 847.080 52.000 45.000
+ 04 2 1 7 54 0.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -2757340.04843 -1731583.56642 24527516.271 24527527.287 24527518.084
+ -2990.483 -2330.246 43.000 35.000
+ -16518691.36343 -12809875.17342 21543815.912 21543821.415 21543815.123
+ -1423.093 -1108.904 52.000 46.000
+ -4713247.57943 -3628178.88742 24151549.121 24151560.237 24151547.929
+ 3391.648 2642.843 47.000 39.000
+ -20574293.51743 -16020721.13742 21413904.121 21413908.848 21413902.904
+ -140.256 -109.290 55.000 49.000
+ -19917090.69443 -15478914.55942 21548425.673 21548431.283 21548424.673
+ -1731.893 -1349.527 55.000 48.000
+ -23393832.62343 -18173930.17442 20392448.669 20392452.290 20392447.172
+ 1189.348 926.765 56.000 50.000
+ -6361637.54743 -4934361.24942 23908430.128 23908437.822 23908429.521
+ -1215.118 -946.845 47.000 41.000
+ -13490457.54443 -10457843.36742 22528819.690 22528826.219 22528819.039
+ 1068.420 832.535 51.000 45.000
+ 04 2 1 7 54 30.0000000 0 8G 1G27G 7G 8G13G28G31G10
+ -2667543.94143 -1661612.84842 24544607.185 24544619.785 24544604.734
+ -2996.750 -2335.130 43.000 35.000
+ -16475975.88243 -12776590.37942 21551944.698 21551950.192 21551943.808
+ -1425.019 -1110.404 52.000 46.000
+ -4815051.87943 -3707506.58242 24132175.923 24132187.351 24132175.439
+ 3395.209 2645.617 46.000 39.000
+ -20570068.84843 -16017429.17342 21414708.382 21414712.909 21414706.762
+ -141.559 -110.306 55.000 49.000
+ -19864933.38443 -15438272.53542 21558351.019 21558356.112 21558350.761
+ -1745.546 -1360.166 55.000 48.000
+ -23429257.26843 -18201533.76442 20385707.660 20385711.014 20385706.192
+ 1172.142 913.357 56.000 50.000
+ -6324976.40343 -4905794.09342 23915407.243 23915413.711 23915406.415
+ -1229.318 -957.910 47.000 41.000
+ -13522236.38543 -10482606.08042 22522773.497 22522778.358 22522771.295
+ 1049.911 818.112 52.000 45.000
+ 04 2 1 7 55 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -2577545.56243 -1591484.54542 24561732.732 24561744.633 24561730.754
+ -3003.791 -2340.616 42.000 34.000
+ -16433198.05643 -12743257.00742 21560085.928 21560090.596 21560084.426
+ -1427.229 -1112.126 53.000 46.000
+ -1327336.43353 -1017770.55752 24623757.173 24623765.461 24623756.298
+ 3446.671 2685.718 45.000 37.000
+ -4916955.98343 -3786912.05442 24112783.367 24112795.234 24112782.457
+ 3398.252 2647.989 46.000 40.000
+ -20565803.19843 -16014105.28142 21415519.125 21415524.580 21415518.284
+ -143.046 -111.464 55.000 49.000
+ -19812363.34643 -15397308.89342 21568355.239 21568360.256 21568354.405
+ -1759.464 -1371.011 55.000 48.000
+ -23464162.81043 -18228732.85642 20379065.172 20379068.864 20379063.997
+ 1154.583 899.675 56.000 50.000
+ -6287890.76843 -4876896.16742 23922463.384 23922470.373 23922462.785
+ -1243.398 -968.881 47.000 41.000
+ -13553460.70843 -10506936.68542 22516829.848 22516835.867 22516828.832
+ 1031.375 803.669 51.000 45.000
+ 04 2 1 7 55 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -2487346.09243 -1521199.55342 24578895.054 24578911.713 24578895.691
+ -3009.231 -2344.855 39.000 34.000
+ -16390358.03343 -12709875.17642 21568237.156 21568243.017 21568236.749
+ -1428.808 -1113.357 52.000 46.000
+ -1430756.22843 -1098357.35942 24604077.880 24604084.797 24604077.858
+ 3448.204 2686.912 45.000 38.000
+ -5018957.57743 -3866393.48142 24093373.185 24093384.927 24093372.489
+ 3401.877 2650.813 47.000 40.000
+ -20561497.44143 -16010750.13442 21416339.216 21416344.035 21416337.706
+ -143.958 -112.175 55.000 49.000
+ -19759380.83543 -15356023.85742 21578436.664 21578442.636 21578436.129
+ -1772.762 -1381.373 55.000 48.000
+ -23498549.21743 -18255527.42542 20372521.674 20372525.408 20372520.331
+ 1137.787 886.587 56.000 50.000
+ -6250381.30243 -4847667.98242 23929602.733 23929607.794 23929600.897
+ -1257.233 -979.662 47.000 41.000
+ -13584129.78643 -10530834.64342 22510993.879 22511000.850 22510992.786
+ 1013.074 789.408 51.000 45.000
+ 04 2 1 7 56 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -2396946.98643 -1450759.01342 24596098.559 24596116.192 24596100.012
+ -3017.056 -2350.953 39.000 33.000
+ -16347455.89543 -12676444.94542 21576401.293 21576407.281 21576400.092
+ -1431.772 -1115.666 52.000 46.000
+ -1534210.00243 -1178970.63242 24584390.384 24584396.071 24584388.595
+ 3448.421 2687.081 45.000 38.000
+ -5121053.98043 -3945948.78242 24073944.095 24073954.903 24073942.416
+ 3404.193 2652.618 48.000 40.000
+ -20557152.08143 -16007364.12542 21417166.101 21417170.819 21417164.877
+ -146.063 -113.815 55.000 49.000
+ -19705986.33143 -15314417.78142 21588597.738 21588602.975 21588597.729
+ -1787.212 -1392.633 55.000 48.000
+ -23532416.36043 -18281917.36742 20366077.030 20366080.588 20366075.762
+ 1119.641 872.448 56.000 50.000
+ -6212448.73543 -4818110.08342 23936820.305 23936827.476 23936819.152
+ -1272.121 -991.263 47.000 41.000
+ -13614243.21543 -10554299.62242 22505264.433 22505269.591 22505262.368
+ 993.917 774.481 51.000 45.000
+ 04 2 1 7 56 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -2306349.42443 -1380163.83342 24613341.561 24613353.602 24613338.594
+ -3023.524 -2355.993 41.000 34.000
+ -16304491.70843 -12642966.35942 21584577.127 21584582.321 21584575.634
+ -1433.245 -1116.814 52.000 46.000
+ -1637695.83843 -1259608.85042 24564698.586 24564704.571 24564697.535
+ 3450.001 2688.312 45.000 38.000
+ -5223242.88043 -4025576.15142 24054498.670 24054509.240 24054498.023
+ 3407.648 2655.310 48.000 41.000
+ -20552767.32943 -16003947.42542 21418000.077 21418005.251 21417998.644
+ -146.923 -114.485 54.000 49.000
+ -19652180.25943 -15272490.99742 21598837.290 21598842.307 21598836.679
+ -1800.648 -1403.102 55.000 48.000
+ -23565764.27443 -18307902.72342 20359730.937 20359734.710 20359729.642
+ 1102.705 859.251 56.000 50.000
+ -6174093.52143 -4788222.89442 23944119.694 23944124.020 23944118.978
+ -1285.786 -1001.911 47.000 41.000
+ -13643800.62043 -10577331.34142 22499638.613 22499645.304 22499636.705
+ 975.715 760.297 51.000 45.000
+ 04 2 1 7 57 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -2215554.19343 -1309414.67442 24630618.436 24630632.148 24630617.569
+ -3029.044 -2360.294 40.000 33.000
+ -16261464.88243 -12609438.97842 21592764.570 21592770.386 21592763.870
+ -1434.865 -1118.077 52.000 46.000
+ -1741210.83943 -1340269.87642 24544998.647 24545006.423 24544998.810
+ 3451.081 2689.154 43.000 36.000
+ -5325521.09243 -4105273.12342 24035035.154 24035047.606 24035034.744
+ 3411.246 2658.114 48.000 41.000
+ -20548343.11243 -16000499.96742 21418841.898 21418847.105 21418840.880
+ -147.679 -115.074 55.000 49.000
+ -19597962.16643 -15230243.17442 21609154.099 21609159.288 21609153.464
+ -1813.731 -1413.297 55.000 48.000
+ -23598592.15243 -18333482.85142 20353484.082 20353487.864 20353482.795
+ 1085.867 846.130 56.000 51.000
+ -6135315.88543 -4758006.52342 23951497.643 23951505.772 23951495.917
+ -1299.093 -1012.280 47.000 41.000
+ -13672800.61943 -10599928.71342 22494119.837 22494126.558 22494118.726
+ 957.913 746.426 51.000 45.000
+ 04 2 1 7 57 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -2124563.00643 -1238512.75642 24647934.527 24647946.746 24647931.907
+ -3035.732 -2365.505 41.000 34.000
+ -16218376.12343 -12575863.33442 21600964.246 21600970.188 21600963.084
+ -1436.970 -1119.717 52.000 46.000
+ -1844753.97343 -1420952.77742 24525295.304 24525303.088 24525295.149
+ 3452.136 2689.976 44.000 37.000
+ -5427886.62743 -4185038.14742 24015555.514 24015565.919 24015554.685
+ 3413.965 2660.232 48.000 41.000
+ -20543880.72943 -15997022.78042 21419691.181 21419696.104 21419689.765
+ -149.206 -116.264 55.000 49.000
+ -19543332.85443 -15187674.91342 21619549.835 21619555.299 21619549.266
+ -1827.565 -1424.077 55.000 48.000
+ -23630900.68143 -18358658.29442 20347335.729 20347339.416 20347334.705
+ 1068.584 832.663 56.000 51.000
+ -6096116.92943 -4727461.84242 23958957.078 23958964.597 23958956.620
+ -1313.490 -1023.499 46.000 41.000
+ -13701243.39243 -10622091.89942 22488708.250 22488714.314 22488706.790
+ 939.014 731.699 52.000 45.000
+ 04 2 1 7 58 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -2033376.91343 -1167459.04642 24665284.107 24665298.780 24665280.882
+ -3043.772 -2371.770 40.000 34.000
+ -16175225.03343 -12542239.12642 21609175.636 21609181.154 21609174.608
+ -1440.231 -1122.258 52.000 46.000
+ -1948322.67543 -1501655.59742 24505586.998 24505594.630 24505585.335
+ 3451.832 2689.739 45.000 38.000
+ -5530336.55043 -4264868.92942 23996060.257 23996070.546 23996058.766
+ 3415.785 2661.651 48.000 41.000
+ -20539380.17943 -15993515.84242 21420548.143 21420552.426 21420546.537
+ -151.418 -117.988 55.000 49.000
+ -19488292.65943 -15144786.48842 21630023.426 21630029.326 21630022.669
+ -1842.278 -1435.541 55.000 48.000
+ -23662689.41443 -18383428.70642 20341286.687 20341290.320 20341285.364
+ 1050.149 818.298 56.000 51.000
+ -6056497.08943 -4696589.15742 23966495.239 23966504.188 23966495.073
+ -1328.523 -1035.213 46.000 41.000
+ -13729128.17543 -10643820.28242 22483402.211 22483407.086 22483400.566
+ 919.559 716.539 51.000 45.000
+ 04 2 1 7 58 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -1941999.94443 -1096256.53742 24682674.657 24682687.972 24682673.295
+ -3049.759 -2376.435 42.000 35.000
+ -16132014.39343 -12508568.51342 21617398.512 21617404.354 21617397.051
+ -1441.416 -1123.181 52.000 46.000
+ -2051917.83243 -1582379.03742 24485873.768 24485879.720 24485874.659
+ 3453.503 2691.041 45.000 38.000
+ -5632871.18343 -4344765.72142 23976548.108 23976557.413 23976545.989
+ 3419.107 2664.239 47.000 41.000
+ -20534844.77243 -15989981.74242 21421411.509 21421415.517 21421410.023
+ -151.894 -118.359 55.000 49.000
+ -19432844.44643 -15101580.13042 21640575.043 21640580.337 21640574.187
+ -1855.126 -1445.553 55.000 48.000
+ -23693961.11643 -18407796.23942 20335335.718 20335339.466 20335334.534
+ 1033.793 805.553 56.000 51.000
+ -6016459.80143 -4665391.24442 23974115.445 23974122.697 23974113.789
+ -1341.872 -1045.614 47.000 41.000
+ -13756457.14643 -10665115.57142 22478201.090 22478206.387 22478199.562
+ 901.469 702.443 51.000 45.000
+ 04 2 1 7 59 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -1850415.74443 -1024892.56142 24700102.577 24700114.852 24700100.529
+ -3056.674 -2381.824 43.000 36.000
+ -16088726.48643 -12474837.69942 21625636.276 21625641.051 21625634.772
+ -1444.566 -1125.636 52.000 46.000
+ -2155519.79943 -1663107.83542 24466158.318 24466166.336 24466157.440
+ 3453.060 2690.696 44.000 38.000
+ -5735470.22243 -4424712.70442 23957024.899 23957033.525 23957024.100
+ 3420.364 2665.219 48.000 40.000
+ -20530257.21043 -15986407.00842 21422283.938 21422288.808 21422282.276
+ -154.034 -120.026 55.000 49.000
+ -19376970.93443 -15058042.37642 21651207.483 21651212.799 21651206.905
+ -1869.855 -1457.030 54.000 48.000
+ -23724698.22243 -18431747.19542 20329486.604 20329490.489 20329485.618
+ 1015.388 791.211 56.000 51.000
+ -5975988.02843 -4633854.78442 23981818.151 23981824.720 23981815.812
+ -1356.600 -1057.091 47.000 41.000
+ -13783212.33043 -10685963.74642 22473110.550 22473115.809 22473108.448
+ 882.045 687.308 52.000 45.000
+ 04 2 1 7 59 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -1758656.68443 -953392.32442 24717564.976 24717578.138 24717564.264
+ -3062.546 -2386.399 42.000 36.000
+ -16045392.48143 -12441070.95942 21633882.010 21633888.228 21633880.626
+ -1446.068 -1126.806 52.000 46.000
+ -2259157.77243 -1743864.61142 24446437.208 24446445.383 24446436.207
+ 3454.510 2691.826 44.000 38.000
+ -5838162.35343 -4504732.22742 23937482.110 23937491.634 23937481.730
+ 3423.769 2667.872 47.000 40.000
+ -20525649.10243 -15982816.25842 21423160.836 21423165.471 21423159.401
+ -154.810 -120.631 55.000 49.000
+ -19320703.87943 -15014197.96942 21661914.526 21661920.207 21661914.131
+ -1883.009 -1467.280 54.000 48.000
+ -23754931.79743 -18455305.79442 20323733.245 20323737.285 20323732.177
+ 998.583 778.117 56.000 51.000
+ -5935113.80643 -4602004.71742 23989595.520 23989601.347 23989593.768
+ -1370.219 -1067.703 47.000 41.000
+ -13809424.55143 -10706388.85142 22468122.193 22468127.766 22468120.925
+ 863.930 673.192 52.000 45.000
+ 04 2 1 8 0 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -1666705.17143 -881742.17142 24735059.702 24735076.203 24735059.280
+ -3068.165 -2390.778 42.000 36.000
+ -16001993.31343 -12407253.44942 21642140.663 21642145.683 21642139.616
+ -1447.805 -1128.160 52.000 46.000
+ -2362810.43743 -1824632.87742 24426712.235 24426719.011 24426712.007
+ 3455.128 2692.308 44.000 38.000
+ -5940925.90043 -4584807.39842 23917927.597 23917935.941 23917925.738
+ 3426.545 2670.035 47.000 40.000
+ -20521001.94643 -15979195.08342 21424045.106 21424049.611 21424043.819
+ -155.565 -121.219 55.000 49.000
+ -19264024.84843 -14970032.54042 21672700.463 21672705.998 21672700.089
+ -1896.142 -1477.513 55.000 48.000
+ -23784642.60043 -18478457.03842 20318079.427 20318083.225 20318078.099
+ 981.664 764.933 56.000 51.000
+ -5893818.75443 -4569826.70342 23997452.554 23997460.539 23997451.315
+ -1383.461 -1078.021 46.000 41.000
+ -13835074.31443 -10726375.67042 22463241.141 22463246.362 22463240.116
+ 845.825 659.084 51.000 45.000
+ 04 2 1 8 0 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -1574570.98143 -809949.63542 24752594.626 24752610.515 24752594.340
+ -3075.524 -2396.512 44.000 36.000
+ -15958537.66843 -12373391.92742 21650409.797 21650416.244 21650408.345
+ -1450.367 -1130.156 51.000 46.000
+ -2466484.72443 -1905417.93042 24406984.773 24406989.856 24406984.190
+ 3454.753 2692.015 44.000 37.000
+ -6043767.02443 -4664943.02942 23898355.928 23898365.791 23898353.894
+ 3428.418 2671.494 46.000 40.000
+ -20516324.85543 -15975550.58042 21424935.424 21424939.621 21424933.573
+ -157.452 -122.690 55.000 49.000
+ -19206942.69843 -14925552.98042 21683562.965 21683567.876 21683561.922
+ -1910.342 -1488.578 55.000 47.000
+ -23813839.68943 -18501207.98242 20312523.280 20312527.202 20312522.118
+ 963.689 750.926 56.000 51.000
+ -5852112.31043 -4537328.13142 24005390.276 24005397.271 24005389.330
+ -1398.189 -1089.498 46.000 41.000
+ -13860170.12843 -10745930.85342 22458465.460 22458471.654 22458463.802
+ 826.199 643.791 51.000 45.000
+ 04 2 1 8 1 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -1482246.36743 -738008.71642 24770164.852 24770178.688 24770163.611
+ -3080.798 -2400.622 44.000 37.000
+ -15915016.17643 -12339479.08342 21658691.592 21658697.801 21658690.647
+ -1452.356 -1131.706 51.000 46.000
+ -2570169.18743 -1986210.97542 24387255.396 24387262.011 24387253.604
+ 3455.673 2692.732 43.000 38.000
+ -6146673.72143 -4745129.77442 23878773.458 23878783.277 23878770.702
+ 3430.935 2673.456 46.000 40.000
+ -20511608.95543 -15971875.83442 21425832.299 21425837.190 21425830.970
+ -158.374 -123.408 55.000 49.000
+ -19149448.87743 -14880752.64242 21694503.712 21694509.497 21694503.053
+ -1923.806 -1499.070 55.000 47.000
+ -23842513.97543 -18523551.54742 20307066.799 20307070.672 20307065.496
+ 946.769 737.742 56.000 51.000
+ -5809985.95043 -4504502.36142 24013406.194 24013413.355 24013405.542
+ -1411.741 -1100.058 46.000 40.000
+ -13884702.34643 -10765046.86542 22453797.534 22453803.577 22453795.221
+ 807.967 629.585 51.000 45.000
+ 04 2 1 8 1 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -1389733.17743 -665920.84242 24787768.647 24787780.554 24787769.289
+ -3086.273 -2404.888 43.000 36.000
+ -15871429.36643 -12305515.34942 21666986.495 21666991.325 21666985.158
+ -1453.493 -1132.592 52.000 46.000
+ -2673862.20143 -2067010.60442 24367521.854 24367528.142 24367521.335
+ 3457.104 2693.847 44.000 38.000
+ -6249644.04343 -4825366.10342 23859177.749 23859188.718 23859176.127
+ 3433.958 2675.811 45.000 40.000
+ -20506855.14743 -15968171.55142 21426737.188 21426741.767 21426735.637
+ -158.596 -123.581 55.000 49.000
+ -19091544.30543 -14835632.22942 21705522.846 21705527.732 21705522.327
+ -1936.564 -1509.011 55.000 47.000
+ -23870666.06543 -18545488.20642 20301709.722 20301713.312 20301708.483
+ 930.170 724.808 56.000 50.000
+ -5767441.04243 -4471350.44042 24021502.904 24021509.403 24021501.138
+ -1424.733 -1110.181 46.000 41.000
+ -13908670.96043 -10783723.69542 22449235.926 22449241.761 22449234.339
+ 789.997 615.582 52.000 45.000
+ 04 2 1 8 2 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -1297038.46243 -593691.56642 24805407.888 24805421.207 24805408.529
+ -3093.112 -2410.217 43.000 35.000
+ -15827782.92843 -12271505.13242 21675292.054 21675297.483 21675291.289
+ -1455.885 -1134.456 52.000 46.000
+ -2777567.61643 -2147819.97042 24347785.983 24347792.438 24347786.933
+ 3456.928 2693.710 44.000 38.000
+ -6352681.01143 -4905654.36642 23839571.071 23839580.852 23839569.629
+ 3435.884 2677.312 47.000 41.000
+ -20502069.52343 -15964442.47542 21427648.283 21427652.802 21427646.306
+ -160.056 -124.719 55.000 49.000
+ -19033235.15643 -14790196.56742 21716618.402 21716623.745 21716617.635
+ -1950.453 -1519.833 54.000 47.000
+ -23898301.69243 -18567022.42942 20296450.684 20296454.549 20296449.477
+ 912.515 711.051 56.000 51.000
+ -5724484.01443 -4437877.40842 24029677.247 24029683.333 24029676.204
+ -1438.899 -1121.220 47.000 41.000
+ -13932081.68143 -10801965.81442 22444781.284 22444787.072 22444779.395
+ 770.963 600.750 51.000 45.000
+ 04 2 1 8 2 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -1204158.78943 -521318.20742 24823083.238 24823094.717 24823081.191
+ -3098.309 -2414.267 42.000 35.000
+ -15784071.89943 -12237444.59342 21683609.998 21683615.835 21683608.843
+ -1458.056 -1136.147 52.000 46.000
+ -2881278.23543 -2228633.27742 24328052.018 24328059.457 24328050.993
+ 3457.350 2694.039 44.000 39.000
+ -6455776.99443 -4985988.63042 23819952.921 23819962.895 23819951.547
+ 3437.443 2678.527 48.000 41.000
+ -20497247.59243 -15960685.11642 21428564.604 21428570.455 21428563.905
+ -161.292 -125.682 55.000 49.000
+ -18974516.84543 -14744442.08242 21727791.914 21727797.000 21727791.010
+ -1963.963 -1530.361 54.000 47.000
+ -23925416.07743 -18588150.48442 20291290.918 20291294.956 20291289.825
+ 895.053 697.444 56.000 51.000
+ -5681110.85143 -4404080.10242 24037930.729 24037936.332 24037928.201
+ -1452.798 -1132.050 47.000 41.000
+ -13954929.33543 -10819769.16242 22440433.553 22440439.464 22440431.448
+ 752.251 586.170 51.000 45.000
+ 04 2 1 8 3 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -1111101.02243 -448806.02442 24840793.474 24840805.814 24840790.239
+ -3105.058 -2419.526 41.000 34.000
+ -15740301.76243 -12203337.99542 21691938.988 21691944.911 21691938.047
+ -1460.678 -1138.191 52.000 46.000
+ -2984997.42043 -2309453.33542 24308314.327 24308322.603 24308313.119
+ 3457.039 2693.797 42.000 38.000
+ -6558934.96543 -5066371.21542 23800322.035 23800332.272 23800319.105
+ 3438.990 2679.732 48.000 41.000
+ -20492395.17443 -15956903.98742 21429488.665 21429493.315 21429487.113
+ -162.922 -126.952 55.000 49.000
+ -18915395.74943 -14698373.74142 21739043.207 21739048.177 21739041.686
+ -1978.020 -1541.314 55.000 47.000
+ -23952015.13243 -18608876.98642 20286229.498 20286233.177 20286228.213
+ 877.443 683.722 56.000 51.000
+ -5637327.94443 -4369963.52542 24046261.216 24046268.620 24046260.916
+ -1466.985 -1143.105 46.000 40.000
+ -13977219.46043 -10837138.07942 22436192.238 22436197.558 22436190.087
+ 733.125 571.266 52.000 45.000
+ 04 2 1 8 3 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -1017864.87443 -376154.87042 24858533.166 24858549.103 24858530.447
+ -3110.423 -2423.706 39.000 33.000
+ -15696470.55143 -12169183.79842 21700280.189 21700285.025 21700278.608
+ -1462.154 -1139.341 52.000 46.000
+ -3088721.51243 -2390277.22342 24288578.136 24288582.539 24288575.375
+ 3457.757 2694.356 43.000 38.000
+ -6662150.57343 -5146798.71942 23780679.734 23780690.502 23780679.521
+ 3441.534 2681.715 48.000 41.000
+ -20487510.99643 -15953098.12142 21430418.265 21430422.499 21430416.878
+ -163.332 -127.272 55.000 49.000
+ -18855870.46343 -14651990.44342 21750370.013 21750375.315 21750369.603
+ -1991.081 -1551.492 55.000 47.000
+ -23978097.33343 -18629200.74742 20281266.045 20281269.773 20281264.706
+ 860.715 670.687 56.000 51.000
+ -5593134.39243 -4335526.95242 24054671.483 24054677.843 24054669.681
+ -1480.051 -1153.286 47.000 41.000
+ -13998949.84643 -10854070.83442 22432056.949 22432062.234 22432055.080
+ 714.965 557.116 52.000 45.000
+ 04 2 1 8 4 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -924447.60743 -303362.60242 24876311.502 24876324.598 24876309.707
+ -3116.978 -2428.814 42.000 35.000
+ -15652574.56043 -12134979.11742 21708632.339 21708637.745 21708631.870
+ -1464.215 -1140.947 52.000 46.000
+ -3192444.50743 -2471100.20042 24268837.614 24268845.682 24268837.506
+ 3457.905 2694.471 41.000 38.000
+ -6765417.44243 -5227266.16342 23761029.028 23761037.844 23761028.134
+ 3443.005 2682.861 48.000 41.000
+ -20482591.56943 -15949264.78142 21431354.334 21431359.145 21431352.959
+ -164.632 -128.285 55.000 49.000
+ -18795937.87843 -14605289.77242 21761774.412 21761779.692 21761773.683
+ -2004.526 -1561.968 54.000 47.000
+ -24003658.76043 -18649118.70742 20276401.916 20276405.702 20276400.819
+ 843.407 657.200 56.000 51.000
+ -5548527.23843 -4300768.10142 24063159.725 24063165.185 24063159.239
+ -1493.862 -1164.048 46.000 41.000
+ -14020116.40243 -10870564.24942 22428029.006 22428034.810 22428027.118
+ 696.178 542.476 51.000 45.000
+ 04 2 1 8 4 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -830852.93343 -230432.02442 24894123.375 24894136.379 24894121.226
+ -3121.634 -2432.442 41.000 34.000
+ -15608615.74243 -12100725.48042 21716997.589 21717003.782 21716995.941
+ -1465.435 -1141.897 51.000 46.000
+ -3296166.29743 -2551922.24642 24249100.496 24249108.042 24249100.837
+ 3457.964 2694.517 42.000 37.000
+ -6868734.79543 -5307772.94942 23741367.891 23741375.977 23741367.003
+ 3445.688 2684.952 48.000 41.000
+ -20477639.43143 -15945405.95842 21432296.976 21432301.243 21432295.410
+ -164.880 -128.478 56.000 49.000
+ -18735600.74443 -14558273.86442 21773256.735 21773262.127 21773256.814
+ -2017.189 -1571.835 55.000 47.000
+ -24028702.04243 -18668632.91742 20271636.343 20271639.957 20271634.960
+ 826.924 644.356 56.000 51.000
+ -5503509.44543 -4265689.28342 24071725.985 24071732.928 24071725.024
+ -1506.595 -1173.970 45.000 41.000
+ -14040721.40643 -10886620.07642 22424107.421 22424112.855 22424106.553
+ 678.218 528.482 52.000 45.000
+ 04 2 1 8 5 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -737080.52743 -157363.02742 24911965.369 24911982.274 24911963.950
+ -3128.762 -2437.996 41.000 34.000
+ -15564592.30543 -12066421.48842 21725374.766 21725380.716 21725374.326
+ -1468.643 -1144.397 51.000 46.000
+ -3399883.10243 -2632740.46842 24229362.809 24229371.192 24229362.076
+ 3456.971 2693.744 43.000 38.000
+ -6972098.44343 -5388315.81842 23721698.669 23721706.947 23721696.266
+ 3446.101 2685.273 48.000 41.000
+ -20472653.09243 -15941520.48942 21433245.267 21433250.255 21433244.197
+ -166.891 -130.045 55.000 49.000
+ -18674857.86843 -14510941.79342 21784815.265 21784820.736 21784814.736
+ -2031.603 -1583.067 54.000 47.000
+ -24053225.72543 -18687742.24542 20266969.631 20266973.153 20266968.100
+ 808.647 630.115 56.000 51.000
+ -5458080.41243 -4230290.00342 24080370.077 24080377.252 24080368.450
+ -1521.399 -1185.506 46.000 41.000
+ -14060762.98543 -10902236.87042 22420294.183 22420299.200 22420292.811
+ 658.511 513.125 51.000 45.000
+ 04 2 1 8 5 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -643137.38443 -84160.95742 24929843.651 24929858.941 24929843.950
+ -3134.070 -2442.132 39.000 34.000
+ -15520509.88343 -12032071.54042 21733764.083 21733769.656 21733762.607
+ -1470.279 -1145.672 52.000 46.000
+ -3503598.60343 -2713557.62042 24209627.802 24209633.152 24209626.901
+ 3457.240 2693.953 44.000 37.000
+ -7075511.39943 -5468897.08042 23702018.403 23702029.041 23702018.662
+ 3447.883 2686.662 47.000 41.000
+ -20467638.65143 -15937613.11842 21434199.614 21434204.637 21434198.430
+ -167.490 -130.512 55.000 49.000
+ -18613715.64843 -14463298.53442 21796450.788 21796456.109 21796450.075
+ -2044.556 -1593.160 54.000 47.000
+ -24077235.89143 -18706451.43142 20262400.157 20262404.092 20262399.165
+ 791.884 617.052 56.000 51.000
+ -5412246.59043 -4194575.34142 24089093.071 24089100.116 24089091.268
+ -1534.576 -1195.773 46.000 41.000
+ -14080246.92943 -10917419.15542 22416586.566 22416592.848 22416584.523
+ 640.232 498.882 52.000 45.000
+ 04 2 1 8 6 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -549020.54343 -10823.60842 24947753.451 24947767.198 24947755.230
+ -3139.733 -2446.545 41.000 33.000
+ -15476364.01143 -11997672.14342 21742164.532 21742170.267 21742163.588
+ -1472.425 -1147.344 52.000 46.000
+ -3607306.15343 -2794368.66142 24189893.233 24189898.807 24189890.669
+ 3457.076 2693.825 42.000 38.000
+ -7178966.55343 -5549511.23342 23682332.485 23682341.910 23682330.485
+ 3449.212 2687.698 46.000 41.000
+ -20462592.22743 -15933680.82842 21435160.230 21435164.739 21435158.406
+ -168.652 -131.417 55.000 49.000
+ -18552170.19343 -14415341.07542 21808162.289 21808167.956 21808161.912
+ -2058.039 -1603.667 54.000 47.000
+ -24100728.39043 -18724757.24342 20257930.147 20257933.913 20257928.879
+ 774.621 603.601 56.000 51.000
+ -5366004.71243 -4158542.69442 24097892.467 24097899.974 24097890.961
+ -1548.156 -1206.355 47.000 41.000
+ -14099168.80743 -10932163.45642 22412984.905 22412991.008 22412983.182
+ 621.456 484.251 51.000 45.000
+ 04 2 1 8 6 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -454731.93743 62647.56842 24965695.892 24965707.989 24965697.576
+ -3145.747 -2451.231 40.000 34.000
+ -15432154.84543 -11963223.42442 21750577.230 21750582.681 21750576.335
+ -1474.920 -1149.288 52.000 46.000
+ -3711003.90643 -2875172.01242 24170160.709 24170165.714 24170160.673
+ 3455.853 2692.872 44.000 38.000
+ -7282461.63943 -5630156.48442 23662637.614 23662647.568 23662635.136
+ 3450.144 2688.424 45.000 40.000
+ -20457514.14443 -15929723.87442 21436126.759 21436131.380 21436125.080
+ -170.103 -132.548 55.000 49.000
+ -18490222.53043 -14367070.20742 21819950.648 21819956.424 21819950.261
+ -2071.901 -1614.468 54.000 47.000
+ -24123703.95343 -18742660.25242 20253558.147 20253561.556 20253556.942
+ 756.945 589.827 56.000 51.000
+ -5319355.84743 -4122192.91042 24106770.703 24106775.574 24106769.350
+ -1561.956 -1217.108 48.000 41.000
+ -14117528.64043 -10946469.80742 22409490.722 22409497.688 22409489.774
+ 602.395 469.399 51.000 45.000
+ 04 2 1 8 7 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -360274.22943 136250.54942 24983673.442 24983687.853 24983669.727
+ -3151.658 -2455.837 42.000 34.000
+ -15387883.92743 -11928726.59542 21759001.577 21759007.323 21759000.902
+ -1477.227 -1151.086 52.000 46.000
+ -3814691.10743 -2955967.14342 24150429.242 24150435.832 24150428.759
+ 3455.406 2692.524 45.000 38.000
+ -7385995.32443 -5710831.82242 23642935.941 23642945.952 23642934.700
+ 3451.611 2689.567 47.000 41.000
+ -20452406.41343 -15925743.81042 21437098.132 21437103.120 21437096.976
+ -171.150 -133.364 55.000 49.000
+ -18427875.14443 -14318487.88042 21831815.315 21831820.341 21831814.281
+ -2085.351 -1624.949 54.000 47.000
+ -24146164.30643 -18760161.79542 20249283.793 20249287.641 20249282.886
+ 739.645 576.347 56.000 51.000
+ -5272302.56343 -4085527.99742 24115724.006 24115730.199 24115722.731
+ -1575.681 -1227.803 47.000 41.000
+ -14135328.27843 -10960339.63442 22406104.594 22406110.637 22406103.017
+ 583.552 454.716 52.000 45.000
+ 04 2 1 8 7 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -265648.11743 209984.76642 25001678.135 25001693.989 25001677.842
+ -3156.125 -2459.318 40.000 34.000
+ -15343550.21843 -11894180.84042 21767438.322 21767444.019 21767436.540
+ -1478.343 -1151.955 52.000 46.000
+ -3918364.87443 -3036751.80942 24130700.175 24130708.078 24130699.622
+ 3456.267 2693.195 45.000 39.000
+ -7489564.23243 -5791534.60742 23623227.891 23623236.611 23623226.288
+ 3453.380 2690.945 47.000 41.000
+ -20447268.39643 -15921740.14742 21438075.855 21438080.465 21438074.470
+ -171.276 -133.462 55.000 49.000
+ -18365127.58343 -14269593.71542 21843755.577 21843761.029 21843754.371
+ -2097.778 -1634.632 54.000 47.000
+ -24168109.16943 -18777261.66442 20245107.959 20245111.621 20245106.628
+ 723.481 563.751 56.000 51.000
+ -5224845.09143 -4048548.11642 24124755.008 24124762.736 24124753.080
+ -1588.285 -1237.625 46.000 40.000
+ -14152566.67843 -10973772.14242 22402824.074 22402830.972 22402822.551
+ 565.770 440.860 52.000 45.000
+ 04 2 1 8 8 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -170852.91043 283850.75442 25019718.911 25019732.544 25019717.443
+ -3163.231 -2464.855 40.000 35.000
+ -15299151.56543 -11859584.47242 21775886.995 21775892.890 21775885.835
+ -1481.804 -1154.652 52.000 46.000
+ -4022020.93043 -3117522.71142 24110975.524 24110982.229 24110974.444
+ 3454.065 2691.479 45.000 39.000
+ -7593163.50143 -5872261.04142 23603512.274 23603522.672 23603511.513
+ 3453.269 2690.859 47.000 41.000
+ -20442098.43443 -15917711.59642 21439059.971 21439064.187 21439058.660
+ -173.630 -135.296 55.000 49.000
+ -18301978.52543 -14220386.68542 21855772.191 21855778.050 21855771.362
+ -2112.417 -1646.039 54.000 47.000
+ -24189536.81143 -18793958.50242 20241030.218 20241033.696 20241028.948
+ 704.870 549.249 56.000 51.000
+ -5176982.35243 -4011252.44342 24133860.800 24133867.239 24133859.310
+ -1602.886 -1249.002 45.000 40.000
+ -14169241.91143 -10986765.82142 22399650.933 22399656.642 22399649.365
+ 545.888 425.367 52.000 45.000
+ 04 2 1 8 8 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -75892.51243 357845.48242 25037787.512 25037803.708 25037784.837
+ -3167.606 -2468.264 41.000 34.000
+ -15254690.01743 -11824939.09942 21784348.411 21784354.024 21784347.348
+ -1483.205 -1155.744 52.000 45.000
+ -4125659.38843 -3198279.83442 24091253.855 24091259.829 24091252.255
+ 3453.779 2691.256 46.000 39.000
+ -7696792.65043 -5953010.79242 23583792.071 23583802.127 23583790.260
+ 3454.617 2691.909 48.000 41.000
+ -20436899.04943 -15913660.11742 21440048.845 21440053.826 21440047.515
+ -173.930 -135.530 55.000 49.000
+ -18238431.29443 -14170869.39242 21867865.059 21867870.859 21867864.440
+ -2125.002 -1655.846 54.000 47.000
+ -24210450.05943 -18810254.51042 20237050.680 20237054.229 20237049.432
+ 688.360 536.384 56.000 51.000
+ -5128717.64743 -3973643.55442 24143046.997 24143052.778 24143045.618
+ -1615.640 -1258.940 47.000 41.000
+ -14185356.50243 -10999322.62842 22396584.662 22396590.773 22396581.946
+ 527.597 411.115 52.000 45.000
+ 04 2 1 8 9 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -4707029.57253 -3250833.19052 25055890.694 25055905.169 25055890.865
+ -3173.857 -2473.135 38.000 33.000
+ -15210166.78343 -11790245.66842 21792820.194 21792824.558 21792818.944
+ -1485.539 -1157.563 52.000 45.000
+ -4229279.16143 -3279022.44842 24071535.154 24071540.780 24071534.308
+ 3453.017 2690.663 45.000 38.000
+ -7800450.27943 -6033782.71842 23564067.258 23564076.362 23564065.649
+ 3455.038 2692.237 48.000 41.000
+ -20431671.72243 -15909586.86642 21441043.738 21441048.443 21441042.473
+ -175.424 -136.694 55.000 49.000
+ -18174487.72943 -14121043.26242 21880033.220 21880038.809 21880032.594
+ -2138.833 -1666.623 55.000 47.000
+ -24230850.59843 -18826151.01242 20233168.544 20233172.253 20233167.345
+ 670.723 522.641 56.000 51.000
+ -5080053.27443 -3935723.24742 24152307.963 24152313.991 24152305.799
+ -1629.224 -1269.525 47.000 41.000
+ -14200911.62043 -11011443.49342 22393624.356 22393630.192 22393623.074
+ 508.218 396.014 52.000 45.000
+ 04 2 1 8 9 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -4611742.01553 -3176583.60852 25074023.437 25074038.426 25074019.335
+ -3178.292 -2476.591 38.000 33.000
+ -15165577.93943 -11755501.11342 21801305.251 21801311.018 21801304.131
+ -1486.921 -1158.640 52.000 46.000
+ -4332874.22143 -3359745.77642 24051821.681 24051828.512 24051821.003
+ 3453.196 2690.802 45.000 39.000
+ -7904129.87543 -6114571.74342 23544336.933 23544345.658 23544334.719
+ 3456.497 2693.374 48.000 41.000
+ -20426413.01643 -15905489.16542 21442044.281 21442049.148 21442042.920
+ -175.505 -136.757 55.000 49.000
+ -18110144.93043 -14070906.04142 21892277.075 21892282.398 21892276.641
+ -2151.105 -1676.186 54.000 47.000
+ -24250735.09543 -18841645.39642 20229384.920 20229388.232 20229383.345
+ 654.483 509.987 56.000 51.000
+ -5030986.40743 -3897489.30342 24161645.712 24161652.615 24161644.038
+ -1641.877 -1279.385 47.000 41.000
+ -14215903.69043 -11023125.60542 22390771.608 22390776.706 22390770.093
+ 490.556 382.251 52.000 45.000
+ 04 2 1 8 10 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -4516295.53753 -3102210.23352 25092187.502 25092202.278 25092186.333
+ -3184.980 -2481.802 38.000 33.000
+ -15120927.73043 -11720708.73642 21809802.310 21809807.711 21809801.333
+ -1489.626 -1160.747 52.000 46.000
+ -4436446.78143 -3440451.58242 24032111.767 24032117.163 24032110.856
+ 3451.755 2689.679 45.000 38.000
+ -8007832.97043 -6195379.09842 23524602.852 23524611.446 23524601.931
+ 3456.710 2693.540 48.000 42.000
+ -20421127.44843 -15901370.52542 21443050.336 21443054.794 21443048.951
+ -177.030 -137.945 55.000 49.000
+ -18045407.42843 -14020461.26742 21904596.095 21904602.338 21904595.979
+ -2164.767 -1686.831 54.000 47.000
+ -24270108.30543 -18856741.37642 20225697.798 20225701.537 20225696.705
+ 636.916 496.298 56.000 51.000
+ -4981522.61343 -3858946.07542 24171057.400 24171063.672 24171055.901
+ -1655.868 -1290.287 47.000 41.000
+ -14230337.26743 -11034372.54342 22388025.383 22388030.456 22388023.774
+ 471.628 367.502 52.000 45.000
+ 04 2 1 8 10 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -4420687.07653 -3027710.70952 25110380.201 25110396.457 25110375.786
+ -3189.456 -2485.290 38.000 32.000
+ -15076211.42943 -11685864.85942 21818311.436 21818316.166 21818309.813
+ -1492.047 -1162.634 52.000 46.000
+ -4539989.85243 -3521134.42242 24012408.916 24012414.262 24012407.798
+ 3450.442 2688.656 47.000 39.000
+ -8111552.44543 -6276199.19542 23504865.448 23504875.268 23504864.547
+ 3457.326 2694.020 49.000 42.000
+ -20415810.74743 -15897227.63142 21444062.340 21444066.707 21444060.993
+ -178.228 -138.879 55.000 49.000
+ -17980271.93943 -13969706.37142 21916990.853 21916996.723 21916989.939
+ -2178.232 -1697.324 54.000 47.000
+ -24288966.31443 -18871435.89842 20222109.566 20222112.954 20222108.307
+ 619.551 482.767 56.000 51.000
+ -4931658.41043 -3820090.83842 24180546.561 24180551.893 24180545.443
+ -1669.181 -1300.660 47.000 41.000
+ -14244208.05443 -11045180.94142 22385385.501 22385391.265 22385384.390
+ 452.410 352.527 52.000 45.000
+ 04 2 1 8 11 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -4324920.70353 25128604.038 25128603.256
+ -3196.101 -2490.468 39.000
+ -15031431.81643 -11650971.65642 21826832.172 21826837.976 21826830.712
+ -1494.149 -1164.272 52.000 46.000
+ -4643504.36243 -3601794.99142 23992709.984 23992718.052 23992710.264
+ 3449.886 2688.223 46.000 39.000
+ -8215288.50243 -6357032.23942 23485125.089 23485133.035 23485123.444
+ 3457.802 2694.391 49.000 41.000
+ -20410466.16543 -15893063.00942 21445078.798 21445084.125 21445077.581
+ -178.899 -139.402 55.000 49.000
+ -17914742.43243 -13918644.46042 21929461.106 21929466.400 21929460.532
+ -2191.268 -1707.481 54.000 47.000
+ -24307312.61543 -18885731.68442 20218617.942 20218621.848 20218616.792
+ 602.751 469.676 56.000 51.000
+ -4881397.87043 -3780926.75042 24190109.972 24190116.785 24190108.850
+ -1682.142 -1310.760 47.000 41.000
+ -14257519.35343 -11055553.37142 22382851.845 22382858.522 22382850.994
+ 433.964 338.154 52.000 45.000
+ 04 2 1 8 11 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -2878342.14852 25146858.762 25146877.389
+ -3199.066 -2492.779 38.000 32.000
+ -14986586.82943 -11616027.52042 21835366.175 21835372.790 21835364.894
+ -1495.988 -1165.705 52.000 46.000
+ -4746985.97243 -3682429.92842 23973017.391 23973024.530 23973016.672
+ 3448.761 2687.346 46.000 38.000
+ -8319036.38043 -6437874.46442 23465382.281 23465392.330 23465381.187
+ 3458.464 2694.907 47.000 41.000
+ -20405091.74643 -15888875.14342 21446102.073 21446106.098 21446100.061
+ -179.709 -140.033 55.000 49.000
+ -17848817.52443 -13867274.44742 21942005.745 21942012.334 21942005.288
+ -2204.218 -1717.572 53.000 46.000
+ -24325145.87043 -18899627.69642 20215224.918 20215228.175 20215223.558
+ 585.885 456.534 56.000 51.000
+ -4830740.22543 -3741453.26042 24199749.927 24199756.980 24199747.898
+ -1695.161 -1320.905 46.000 41.000
+ -14270269.35943 -11065488.43442 22380425.435 22380432.217 22380423.506
+ 415.640 323.875 51.000 45.000
+ 04 2 1 8 12 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14941678.21243 -11581033.80342 21843912.111 21843917.962 21843910.472
+ -1497.574 -1166.941 51.000 46.000
+ -4850434.42743 -3763039.02342 23953333.241 23953338.741 23953333.003
+ 3448.115 2686.843 48.000 40.000
+ -8422795.31643 -6518725.32142 23445637.648 23445645.759 23445636.547
+ 3459.130 2695.426 48.000 41.000
+ -20399690.07743 -15884666.04342 21447130.021 21447134.381 21447128.509
+ -180.167 -140.390 56.000 49.000
+ -17782500.31943 -13815598.75842 21954625.614 21954631.659 21954624.580
+ -2216.698 -1727.297 53.000 46.000
+ -24342468.90143 -18913126.13342 20211928.355 20211931.712 20211927.092
+ 569.355 443.653 56.000 51.000
+ -4779688.57543 -3701672.75842 24209465.695 24209470.220 24209465.325
+ -1707.864 -1330.803 47.000 40.000
+ -14282460.27643 -11074987.83942 22378106.777 22378112.332 22378103.876
+ 397.562 309.789 52.000 45.000
+ 04 2 1 8 12 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14896705.62843 -11545990.23642 21852470.072 21852476.119 21852468.680
+ -1500.855 -1169.497 51.000 46.000
+ -4953847.13843 -3843620.24642 23933654.175 23933659.644 23933653.486
+ 3445.529 2684.828 46.000 39.000
+ -8526562.08743 -6599582.29542 23425891.034 23425898.482 23425889.313
+ 3458.312 2694.789 48.000 41.000
+ -20394260.81243 -15880435.42942 21448162.653 21448167.528 21448161.449
+ -182.101 -141.897 55.000 49.000
+ -17715791.38743 -13763617.80542 21967319.932 21967326.138 21967318.943
+ -2230.896 -1738.360 54.000 47.000
+ -24359281.57443 -18926226.88742 20208728.979 20208732.359 20208727.937
+ 551.193 429.501 56.000 51.000
+ -4728243.70143 -3661585.83742 24219254.202 24219260.275 24219253.529
+ -1722.376 -1342.111 45.000 39.000
+ -14294092.27243 -11084051.72342 22375892.831 22375898.842 22375891.061
+ 377.501 294.157 52.000 45.000
+ 04 2 1 8 13 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14851666.78643 -11510895.05442 21861040.965 21861047.025 21861038.744
+ -1502.485 -1170.767 52.000 46.000
+ -5057219.98543 -3924170.38642 23913982.186 23913986.841 23913980.791
+ 3444.700 2684.182 46.000 39.000
+ -8630332.12843 -6680441.79242 23406144.436 23406152.211 23406143.511
+ 3458.965 2695.297 49.000 42.000
+ -20388802.18143 -15876181.93742 21449201.394 21449206.575 21449200.169
+ -182.418 -142.144 56.000 49.000
+ -17648689.14543 -13711330.39742 21980089.032 21980095.217 21980088.722
+ -2243.326 -1748.046 54.000 47.000
+ -24375582.78643 -18938929.10242 20205627.003 20205630.277 20205625.659
+ 534.852 416.768 56.000 51.000
+ -4676404.91443 -3621191.95642 24229118.330 24229125.794 24229117.489
+ -1734.588 -1351.627 44.000 39.000
+ -14305163.71443 -11092678.81542 22373785.311 22373792.263 22373783.827
+ 359.713 280.296 51.000 45.000
+ 04 2 1 8 13 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14806565.09543 -11475750.88042 21869623.115 21869628.755 21869623.027
+ -1504.987 -1172.717 52.000 46.000
+ -5160553.96843 -4004690.27942 23894318.442 23894325.471 23894317.008
+ 3443.230 2683.036 46.000 39.000
+ -8734106.16643 -6761304.42642 23386396.726 23386405.360 23386394.280
+ 3458.865 2695.219 49.000 42.000
+ -20383317.95643 -15871908.49942 21450245.389 21450250.225 21450243.912
+ -183.626 -143.085 55.000 49.000
+ -17581198.40943 -13658740.25842 21992932.308 21992938.274 21992931.605
+ -2256.664 -1758.439 53.000 46.000
+ -24391376.58243 -18951235.92842 20202621.485 20202624.811 20202620.320
+ 517.586 403.314 56.000 51.000
+ -4624176.90443 -3580494.76842 24239058.484 24239064.191 24239057.130
+ -1747.756 -1361.888 47.000 40.000
+ -14315678.60043 -11100872.21842 22371785.693 22371791.317 22371783.043
+ 340.776 265.540 52.000 46.000
+ 04 2 1 8 14 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -716417.92353 -568516.18952 25238566.016 25238582.793 25238569.141
+ -3225.560 -2513.423 37.000 32.000
+ -14761397.17543 -11440555.09942 21878218.119 21878224.152 21878217.454
+ -1507.074 -1174.343 51.000 46.000
+ -5263843.73743 -4085175.70042 23874663.142 23874668.898 23874662.322
+ 3442.068 2682.131 45.000 39.000
+ -8837878.13243 -6842165.45042 23366649.841 23366659.336 23366648.588
+ 3458.571 2694.990 50.000 43.000
+ -20377805.26043 -15867612.88342 21451294.490 21451299.111 21451292.776
+ -184.503 -143.768 55.000 49.000
+ -17513316.95643 -13605845.67142 22005849.809 22005855.725 22005848.863
+ -2269.606 -1768.524 53.000 46.000
+ -24406660.56543 -18963145.49742 20199712.865 20199716.309 20199711.678
+ 500.617 390.091 56.000 51.000
+ -4571557.71643 -3539492.77942 24249070.023 24249077.424 24249069.321
+ -1760.895 -1372.126 46.000 40.000
+ -14325634.02343 -11108629.68442 22369890.536 22369896.510 22369889.369
+ 322.197 251.063 52.000 45.000
+ 04 2 1 8 14 30.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ -493061.50942 25256994.308 25257010.080
+ -3229.693 -2516.644 40.000 31.000
+ -14716162.77543 -11405307.52842 21886826.153 21886831.850 21886825.272
+ -1508.712 -1175.620 51.000 45.000
+ -5367086.75243 -4165624.70942 23855016.079 23855023.949 23855015.029
+ 3441.608 2681.772 45.000 39.000
+ -8941645.33343 -6923022.75842 23346903.095 23346912.118 23346900.412
+ 3459.010 2695.332 50.000 43.000
+ -20372264.04143 -15863295.03242 21452348.439 21452353.514 21452347.300
+ -184.750 -143.961 55.000 49.000
+ -17445045.46343 -13552647.14042 22018841.856 22018847.350 22018841.234
+ -2281.745 -1777.983 53.000 46.000
+ -24421435.29443 -18974658.24742 20196901.645 20196904.523 20196900.056
+ 484.436 377.483 56.000 51.000
+ -4518548.44043 -3498186.83342 24259158.697 24259165.437 24259156.779
+ -1772.927 -1381.501 47.000 40.000
+ -14335030.33743 -11115951.48342 22368102.773 22368107.584 22368101.532
+ 304.379 237.178 52.000 45.000
+ 04 2 1 8 15 0.0000000 0 9G 1G27G29G 7G 8G13G28G31G10
+ 25275449.842
+ -3234.330 -2520.257 36.000
+ -14670862.33443 -11370008.50242 21895446.365 21895452.041 21895444.946
+ -1510.637 -1177.120 51.000 45.000
+ -5470281.38443 -4246036.00442 23835378.595 23835384.924 23835377.302
+ 3439.052 2679.781 45.000 39.000
+ -9045405.47343 -7003874.57042 23327158.251 23327165.971 23327156.756
+ 3458.622 2695.030 50.000 42.000
+ -20366695.23343 -15858955.68742 21453408.543 21453412.699 21453406.808
+ -185.609 -144.630 55.000 49.000
+ -17376385.68943 -13499146.05242 22031907.135 22031912.639 22031906.394
+ -2294.695 -1788.074 53.000 46.000
+ -24435702.21643 -18985775.30442 20194186.357 20194189.912 20194185.036
+ 467.477 364.268 56.000 51.000
+ -4465150.95443 -3456578.38642 24269319.886 24269324.166 24269318.874
+ -1785.899 -1391.610 47.000 40.000
+ -14343868.66043 -11122838.48742 22366420.511 22366426.617 22366419.394
+ 285.808 222.708 52.000 45.000
+ 04 2 1 8 15 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14625499.45343 -11334660.81042 21904078.705 21904083.494 21904077.837
+ -1513.398 -1179.271 51.000 45.000
+ -5573429.13743 -4326410.76342 23815749.766 23815757.660 23815749.772
+ 3437.228 2678.359 46.000 39.000
+ -9149159.66243 -7084721.74042 23307413.984 23307422.514 23307411.991
+ 3458.289 2694.771 49.000 42.000
+ -20361102.54743 -15854597.73442 21454472.672 21454476.955 21454471.269
+ -187.147 -145.829 55.000 49.000
+ -17307342.29243 -13445346.03842 22045045.695 22045051.460 22045045.593
+ -2307.992 -1798.435 53.000 46.000
+ -24449465.88543 -18996500.21942 20191567.262 20191570.872 20191566.271
+ 450.124 350.746 56.000 51.000
+ -4411370.41643 -3414671.45842 24279552.959 24279558.901 24279551.186
+ -1799.148 -1401.933 47.000 40.000
+ -14352152.97443 -11129293.78942 22364844.886 22364849.526 22364843.735
+ 266.751 207.858 52.000 45.000
+ 04 2 1 8 16 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14580069.22143 -11299260.63742 21912724.003 21912729.955 21912723.132
+ -1514.763 -1180.335 51.000 46.000
+ -5676522.77243 -4406743.38242 23796132.061 23796138.790 23796131.010
+ 3435.738 2677.198 46.000 40.000
+ -9252900.35643 -7165558.40642 23287671.477 23287681.983 23287671.422
+ 3458.405 2694.861 48.000 42.000
+ -20355481.57343 -15850217.74442 21455542.123 21455547.219 21455540.860
+ -187.206 -145.875 55.000 49.000
+ -17237911.72243 -13391244.34642 22058257.902 22058263.868 22058257.295
+ -2320.170 -1807.925 53.000 46.000
+ -24462722.36243 -19006829.92042 20189044.660 20189048.028 20189043.318
+ 434.084 338.247 56.000 51.000
+ -4357203.19743 -3372463.21042 24289860.533 24289867.967 24289858.207
+ -1811.657 -1411.681 46.000 40.000
+ -14359879.29743 -11135314.28542 22363373.752 22363379.640 22363372.148
+ 248.944 193.982 52.000 45.000
+ 04 2 1 8 16 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14534571.34143 -11263807.76742 21921381.454 21921387.365 21921380.849
+ -1517.647 -1182.582 51.000 46.000
+ -5779560.17243 -4487032.14642 23776524.444 23776532.120 23776524.686
+ 3433.213 2675.231 45.000 40.000
+ -9356624.59443 -7246382.24542 23267933.203 23267942.830 23267931.460
+ 3456.977 2693.748 48.000 42.000
+ -20349832.45843 -15845815.82042 21456617.244 21456621.721 21456616.044
+ -188.870 -147.171 55.000 49.000
+ -17168094.84643 -13336841.61342 22071543.451 22071549.026 22071542.711
+ -2333.748 -1818.505 53.000 46.000
+ -24475472.21043 -19016764.84442 20186618.284 20186621.713 20186617.139
+ 416.415 324.479 56.000 51.000
+ -4302650.78543 -3329954.82142 24300242.880 24300248.260 24300241.218
+ -1825.017 -1422.091 48.000 40.000
+ -14367048.21343 -11140900.44242 22362010.231 22362016.633 22362008.230
+ 229.425 178.773 52.000 45.000
+ 04 2 1 8 17 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14489008.17743 -11228304.01242 21930052.583 21930058.159 21930051.099
+ -1520.308 -1184.655 51.000 46.000
+ -5882541.36743 -4567277.15942 23756928.370 23756934.518 23756928.485
+ 3431.568 2673.949 47.000 40.000
+ -9460332.18443 -7327193.12942 23248198.536 23248206.851 23248196.490
+ 3456.377 2693.281 49.000 42.000
+ -20344157.69943 -15841393.92042 21457697.033 21457701.597 21457695.717
+ -189.993 -148.046 55.000 49.000
+ -17097895.18643 -13282140.60442 22084902.347 22084907.934 22084901.543
+ -2346.745 -1828.632 53.000 46.000
+ -24487718.91043 -19026307.71042 20184287.884 20184291.211 20184286.539
+ 399.522 311.316 56.000 51.000
+ -4247716.73143 -3287149.04742 24310695.663 24310701.909 24310694.765
+ -1838.124 -1432.304 48.000 40.000
+ -14373662.84043 -11146054.69142 22360750.794 22360756.054 22360749.278
+ 211.059 164.462 52.000 45.000
+ 04 2 1 8 17 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14443377.50743 -11192747.66642 21938735.131 21938741.406 21938734.272
+ -1522.576 -1186.423 51.000 46.000
+ -5985461.90243 -4647474.89042 23737343.826 23737349.367 23737342.743
+ 3428.854 2671.834 47.000 40.000
+ -9564018.17843 -7407987.18342 23228467.344 23228476.149 23228466.075
+ 3455.165 2692.336 49.000 42.000
+ -20338455.51343 -15836950.64642 21458781.971 21458786.495 21458780.807
+ -191.137 -148.938 55.000 49.000
+ -17027311.75743 -13227140.54342 22098333.551 22098340.000 22098333.072
+ -2359.799 -1838.804 52.000 46.000
+ -24499461.34343 -19035457.63342 20182053.110 20182056.705 20182051.985
+ 382.438 298.004 56.000 51.000
+ -4192400.56243 -3244045.51942 24321222.165 24321228.577 24321221.425
+ -1850.887 -1442.250 47.000 40.000
+ -14379721.64743 -11150775.83742 22359597.356 22359604.272 22359595.341
+ 192.040 149.642 52.000 45.000
+ 04 2 1 8 18 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14397679.46443 -11157138.81142 21947431.646 21947436.853 21947430.812
+ -1524.133 -1187.636 51.000 45.000
+ -6088319.82643 -4727623.83142 23717769.880 23717775.846 23717770.357
+ 3427.700 2670.935 46.000 40.000
+ -9667680.17143 -7488762.56342 23208742.072 23208749.513 23208740.135
+ 3455.115 2692.297 49.000 43.000
+ -20332726.36943 -15832486.37042 21459872.685 21459876.401 21459870.969
+ -191.210 -148.995 56.000 49.000
+ -16956346.00743 -13171842.59142 22111838.174 22111844.393 22111836.786
+ -2371.627 -1848.021 53.000 46.000
+ -24510700.69543 -19044215.55342 20179914.493 20179917.835 20179913.401
+ 366.500 285.584 56.000 51.000
+ -4136703.95043 -3200645.54742 24331819.909 24331827.027 24331819.005
+ -1862.832 -1451.557 47.000 39.000
+ -14385225.71243 -11155064.71542 22358550.118 22358555.997 22358549.017
+ 174.590 136.044 52.000 45.000
+ 04 2 1 8 18 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14351916.80543 -11121479.62042 21956139.825 21956144.992 21956138.863
+ -1526.176 -1189.228 51.000 45.000
+ -6191115.58843 -4807724.36042 23698209.115 23698214.321 23698209.424
+ 3425.868 2669.508 47.000 40.000
+ -9771318.34843 -7569519.36342 23189019.607 23189027.582 23189018.711
+ 3454.228 2691.606 49.000 43.000
+ -20326973.46043 -15828003.56742 21460967.136 21460971.772 21460965.751
+ -192.019 -149.625 55.000 49.000
+ -16885002.16343 -13116250.02942 22125414.699 22125420.448 22125413.867
+ -2384.241 -1857.850 53.000 46.000
+ -24521440.68643 -19052584.35842 20177870.805 20177874.266 20177869.534
+ 349.942 272.682 56.000 51.000
+ -4080631.22543 -3156952.47042 24342491.073 24342496.956 24342488.620
+ -1875.121 -1461.133 47.000 39.000
+ -14390178.81043 -11158924.27942 22357608.885 22357613.515 22357606.414
+ 156.132 121.661 52.000 45.000
+ 04 2 1 8 19 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14306086.17943 -11085767.45942 21964861.046 21964867.685 21964859.275
+ -1529.312 -1191.672 51.000 46.000
+ -6293843.83843 -4887772.23942 23678660.508 23678666.370 23678658.232
+ 3422.433 2666.831 47.000 41.000
+ -9874926.74643 -7650252.97642 23169304.943 23169312.294 23169302.111
+ 3452.652 2690.378 50.000 43.000
+ -20321193.45243 -15823499.65142 21462066.902 21462071.455 21462065.357
+ -193.622 -150.874 55.000 49.000
+ -16813278.10143 -13060361.18642 22139063.559 22139069.684 22139062.688
+ -2397.661 -1868.307 53.000 46.000
+ -24531679.27643 -19060562.45842 20175922.372 20175925.735 20175921.315
+ 332.408 259.019 56.000 51.000
+ -4024180.52943 -3112964.91542 24353233.635 24353239.706 24353231.850
+ -1888.602 -1471.638 47.000 39.000
+ -14394578.36943 -11162352.50042 22356771.437 22356776.338 22356769.498
+ 136.976 106.735 52.000 45.000
+ 04 2 1 8 19 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14260187.20143 -11050002.04442 21973595.625 21973601.764 21973594.077
+ -1531.476 -1193.358 51.000 46.000
+ -6396502.02643 -4967765.53242 23659125.702 23659129.546 23659123.216
+ 3420.315 2665.181 47.000 41.000
+ -9978502.36343 -7730961.05842 23149593.715 23149600.983 23149592.214
+ 3451.851 2689.754 49.000 43.000
+ -20315386.59543 -15818974.81642 21463172.295 21463176.527 21463171.196
+ -194.354 -151.445 55.000 49.000
+ -16741174.75143 -13004176.79442 22152784.341 22152789.479 22152783.687
+ -2410.035 -1877.949 53.000 46.000
+ -24541417.02143 -19068150.29542 20174069.196 20174072.915 20174068.002
+ 315.910 246.164 56.000 51.000
+ -3967353.11343 -3068683.79742 24364047.426 24364053.404 24364046.893
+ -1900.965 -1481.271 48.000 40.000
+ -14398424.90543 -11165349.79442 22356038.389 22356044.207 22356037.156
+ 118.706 92.498 51.000 45.000
+ 04 2 1 8 20 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14214219.11343 -11014182.78542 21982342.899 21982349.125 21982341.490
+ -1533.006 -1194.550 51.000 46.000
+ -6499087.14543 -5047701.93442 23639604.249 23639609.972 23639602.956
+ 3418.800 2664.000 47.000 40.000
+ -10082041.68543 -7811640.85542 23129890.544 23129898.504 23129888.911
+ 3450.840 2688.966 48.000 43.000
+ -20309552.26543 -15814428.58042 21464282.450 21464286.532 21464280.893
+ -194.559 -151.604 55.000 49.000
+ -16668692.65943 -12947697.28142 22166576.538 22166582.802 22166576.102
+ -2422.000 -1887.273 53.000 46.000
+ -24550654.40043 -19075348.23042 20172311.440 20172314.909 20172310.373
+ 299.982 233.752 56.000 51.000
+ -3910149.87343 -3024109.84342 24374932.450 24374938.604 24374931.930
+ -1912.613 -1490.348 46.000 40.000
+ -14401718.65843 -11167916.37542 22355412.033 22355417.787 22355409.992
+ 100.992 78.695 51.000 45.000
+ 04 2 1 8 20 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14168182.17243 -10978309.85942 21991103.712 21991110.128 21991102.219
+ -1535.627 -1196.592 51.000 46.000
+ -6601597.41343 -5127579.96842 23620095.426 23620100.843 23620095.614
+ 3415.802 2661.664 46.000 40.000
+ -10185542.46643 -7892290.62442 23110195.526 23110203.309 23110193.378
+ 3449.713 2688.088 49.000 43.000
+ -20303691.15643 -15809861.46542 21465397.819 21465401.744 21465395.996
+ -195.609 -152.422 56.000 49.000
+ -16595833.46243 -12890923.93442 22180441.814 22180448.003 22180441.700
+ -2434.724 -1897.187 53.000 45.000
+ -24559393.01143 -19082157.51242 20170648.663 20170652.053 20170647.460
+ 283.129 220.620 56.000 51.000
+ -3852572.74243 -2979244.54642 24385888.916 24385896.551 24385887.420
+ -1925.436 -1500.340 46.000 39.000
+ -14404460.83843 -11170053.13542 22354890.358 22354895.895 22354888.279
+ 82.243 64.085 52.000 45.000
+ 04 2 1 8 21 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14122078.11943 -10942384.64042 21999877.040 21999882.852 21999875.818
+ -1537.943 -1198.397 51.000 46.000
+ -6704032.33543 -5207399.33442 23600602.684 23600608.005 23600602.396
+ 3413.147 2659.595 46.000 40.000
+ -10289003.93643 -7972909.77242 23090507.611 23090514.659 23090506.175
+ 3447.940 2686.706 50.000 43.000
+ -20297805.21743 -15805275.01442 21466517.268 21466522.400 21466516.173
+ -196.686 -153.262 55.000 49.000
+ -16522600.45343 -12833859.31042 22194377.842 22194382.453 22194376.375
+ -2447.342 -1907.020 53.000 45.000
+ -24567635.64943 -19088580.32242 20169080.022 20169083.353 20169078.770
+ 266.383 207.571 56.000 51.000
+ -3794625.14143 -2934090.58142 24396917.516 24396921.369 24396913.500
+ -1937.976 -1510.111 47.000 40.000
+ -14406654.32543 -11171762.35242 22354472.278 22354479.172 22354470.916
+ 63.996 49.867 51.000 45.000
+ 04 2 1 8 21 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14075904.74143 -10906405.40842 22008663.265 22008668.985 22008661.925
+ -1540.161 -1200.125 51.000 45.000
+ -6806387.23443 -5287156.33342 23581124.301 23581132.186 23581123.183
+ 3410.381 2657.440 46.000 40.000
+ -10392421.17943 -8053494.46442 23070827.114 23070834.850 23070824.879
+ 3446.151 2685.312 49.000 44.000
+ -20291892.72443 -15800667.86742 21467642.452 21467647.264 21467640.886
+ -197.646 -154.010 55.000 49.000
+ -16448992.75743 -12776502.71542 22208384.513 22208390.069 22208383.974
+ -2460.009 -1916.890 53.000 46.000
+ -24575381.60243 -19094616.10642 20167606.278 20167609.275 20167604.938
+ 249.847 194.686 56.000 51.000
+ -3736306.49543 -2888647.47642 24408014.028 24408021.379 24408013.690
+ -1950.272 -1519.692 47.000 40.000
+ -14408297.97843 -11173043.13642 22354159.883 22354165.703 22354158.443
+ 45.599 35.532 51.000 45.000
+ 04 2 1 8 22 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -14029661.75643 -10870371.93142 22017462.786 22017469.034 22017461.503
+ -1542.192 -1201.708 51.000 45.000
+ -6908659.90743 -5366849.24242 23561663.442 23561670.223 23561661.929
+ 3408.502 2655.976 47.000 41.000
+ -10495791.19243 -8134042.36942 23051155.542 23051163.570 23051153.620
+ 3445.405 2684.731 49.000 43.000
+ -20285953.43143 -15796039.83442 21468772.652 21468777.417 21468771.462
+ -197.731 -154.076 55.000 49.000
+ -16375011.76943 -12718855.26342 22222463.307 22222468.236 22222461.920
+ -2471.620 -1925.938 53.000 46.000
+ -24582631.43643 -19100265.30342 20166226.436 20166230.087 20166225.328
+ 234.042 182.370 56.000 51.000
+ -3677618.27143 -2842916.36642 24419181.655 24419186.801 24419180.177
+ -1961.792 -1528.669 47.000 40.000
+ -14409392.43943 -11173895.97242 22353951.846 22353957.915 22353949.929
+ 28.009 21.825 51.000 45.000
+ 04 2 1 8 22 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13983348.79743 -10834283.93342 22026275.780 22026282.052 22026275.347
+ -1544.344 -1203.385 51.000 45.000
+ -7010847.64543 -5446475.96642 23542218.233 23542224.328 23542217.238
+ 3405.221 2653.419 47.000 40.000
+ -10599111.10043 -8214551.24942 23031494.759 23031503.080 23031493.157
+ 3443.707 2683.408 49.000 44.000
+ -20279987.57643 -15791391.10842 21469908.648 21469912.570 21469906.807
+ -198.772 -154.887 56.000 49.000
+ -16300658.46143 -12660917.69242 22236611.578 22236617.865 22236611.188
+ -2484.008 -1935.591 53.000 46.000
+ -24589386.56443 -19105529.01642 20164940.882 20164944.497 20164939.888
+ 217.481 169.466 56.000 51.000
+ -3618561.77643 -2796898.31442 24430419.042 24430426.013 24430418.275
+ -1973.933 -1538.130 47.000 39.000
+ -14409938.55143 -11174321.52842 22353847.611 22353854.069 22353846.043
+ 9.616 7.493 51.000 45.000
+ 04 2 1 8 23 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13936967.51543 -10798142.67742 22035102.131 22035107.647 22035101.360
+ -1547.051 -1205.494 51.000 45.000
+ -7112949.92543 -5526036.10542 23522789.804 23522794.775 23522789.754
+ 3402.430 2651.244 47.000 41.000
+ -10702379.78643 -8295020.22142 23011843.170 23011850.758 23011840.783
+ 3441.872 2681.978 49.000 44.000
+ -20273996.73243 -15786722.90742 21471048.177 21471053.071 21471046.624
+ -199.757 -155.655 55.000 49.000
+ -16225935.85743 -12602692.35342 22250831.496 22250836.282 22250830.850
+ -2496.524 -1945.343 54.000 46.000
+ -24595649.69743 -19110409.35942 20163749.184 20163752.397 20163748.092
+ 200.985 156.612 56.000 51.000
+ -3559140.37243 -2750595.93642 24441726.806 24441734.915 24441725.369
+ -1986.083 -1547.597 46.000 39.000
+ -14409939.00243 -11174321.88042 22353848.162 22353853.504 22353845.382
+ -8.806 -6.862 52.000 45.000
+ 04 2 1 8 23 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13890517.44343 -10761947.81342 22043941.819 22043946.858 22043940.435
+ -1549.550 -1207.441 51.000 45.000
+ -7214964.13743 -5605527.63742 23503377.341 23503380.963 23503376.042
+ 3398.696 2648.335 46.000 41.000
+ -10805594.29543 -8375446.97742 22992201.895 22992210.563 22992200.262
+ 3439.530 2680.153 49.000 43.000
+ -20267980.96743 -15782035.29142 21472192.966 21472197.734 21472191.459
+ -200.995 -156.619 55.000 49.000
+ -16150844.68843 -12544179.81242 22265120.688 22265126.742 22265120.380
+ -2509.328 -1955.320 53.000 45.000
+ -24601421.55343 -19114906.88542 20162650.604 20162654.213 20162649.593
+ 184.178 143.515 56.000 51.000
+ -3499355.38743 -2704010.21842 24453104.340 24453110.489 24453103.679
+ -1998.927 -1557.605 48.000 40.000
+ -14409394.65543 -11173897.72942 22353951.467 22353957.186 22353949.449
+ -27.044 -21.073 51.000 45.000
+ 04 2 1 8 24 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13843995.43043 -10725696.90242 22052794.674 22052800.154 22052793.519
+ -1551.705 -1209.121 51.000 45.000
+ -7316884.78243 -5684946.24942 23483981.052 23483986.629 23483980.096
+ 3395.857 2646.122 47.000 41.000
+ -10908748.82343 -8455827.00642 22972573.189 22972580.709 22972571.485
+ 3437.418 2678.508 50.000 43.000
+ -20261937.25143 -15777325.89742 21473342.719 21473347.612 21473341.588
+ -201.940 -157.356 55.000 49.000
+ -16075383.91843 -12485379.27542 22279480.657 22279486.040 22279479.246
+ -2521.384 -1964.715 53.000 45.000
+ -24606700.67843 -19119020.46942 20161646.142 20161649.381 20161644.871
+ 167.847 130.790 56.000 51.000
+ -3439205.49943 -2657140.19242 24464551.596 24464556.241 24464549.148
+ -2011.097 -1567.088 47.000 39.000
+ -14408303.48243 -11173047.46142 22354158.835 22354164.205 22354156.603
+ -45.417 -35.390 51.000 45.000
+ 04 2 1 8 24 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13797403.17143 -10689391.24742 22061660.498 22061666.911 22061658.494
+ -1553.875 -1210.812 51.000 45.000
+ -7418711.66043 -5764291.79142 23464603.610 23464609.406 23464603.569
+ 3393.020 2643.912 47.000 41.000
+ -11011842.48243 -8536159.59842 22952954.929 22952962.866 22952953.872
+ 3435.824 2677.265 50.000 44.000
+ -20255867.85343 -15772596.49042 21474497.805 21474503.013 21474496.482
+ -202.220 -157.574 55.000 49.000
+ -15999556.65243 -12426293.15442 22293909.434 22293915.561 22293908.656
+ -2533.204 -1973.925 52.000 45.000
+ -24611490.19643 -19122752.53742 20160734.757 20160738.041 20160733.597
+ 151.960 118.410 56.000 51.000
+ -3378694.30643 -2609988.60642 24476064.832 24476072.561 24476063.342
+ -2022.494 -1575.969 47.000 39.000
+ -14406668.78943 -11171773.69342 22354470.453 22354476.190 22354468.951
+ -63.254 -49.289 51.000 45.000
+ 04 2 1 8 25 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13750738.50443 -10653029.16442 22070540.103 22070545.109 22070539.822
+ -1556.684 -1213.000 50.000 45.000
+ -7520440.15143 -5843560.64742 23445245.607 23445251.562 23445244.743
+ 3389.310 2641.021 47.000 42.000
+ -11114870.41043 -8616440.96442 22933349.487 22933356.615 22933346.781
+ 3433.162 2675.191 50.000 44.000
+ -20249770.46143 -15767845.26542 21475658.964 21475662.601 21475657.289
+ -203.779 -158.789 56.000 49.000
+ -15923361.98943 -12366920.74442 22308408.730 22308414.997 22308407.286
+ -2545.958 -1983.863 52.000 45.000
+ -24615789.02143 -19126102.24942 20159916.726 20159919.917 20159915.446
+ 135.158 105.318 56.000 51.000
+ -3317821.13343 -2562555.00742 24487650.135 24487655.399 24487646.877
+ -2034.838 -1585.588 47.000 39.000
+ -14404489.54543 -11170075.57142 22354883.928 22354890.507 22354882.991
+ -81.669 -63.638 51.000 45.000
+ 04 2 1 8 25 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13704003.34843 -10616612.15842 22079433.388 22079440.589 22079431.942
+ -1559.413 -1215.127 50.000 45.000
+ -7622069.83543 -5922752.52442 23425905.567 23425911.463 23425904.106
+ 3385.509 2638.059 47.000 41.000
+ -11217831.95243 -8696670.60142 22913755.760 22913763.674 22913754.205
+ 3430.243 2672.917 51.000 44.000
+ -20243647.61543 -15763074.21142 21476823.286 21476827.897 21476822.044
+ -205.003 -159.742 55.000 49.000
+ -15846803.26943 -12307264.66742 22322977.785 22322982.865 22322976.772
+ -2558.592 -1993.708 53.000 45.000
+ -24619600.83043 -19129072.47042 20159191.429 20159194.488 20159190.317
+ 118.508 92.344 56.000 51.000
+ -3256589.91343 -2514842.35842 24499300.586 24499307.294 24499298.935
+ -2047.675 -1595.591 46.000 39.000
+ -14401768.77843 -11167955.49642 22355403.126 22355408.373 22355401.411
+ -100.273 -78.135 52.000 45.000
+ 04 2 1 8 26 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13657195.40443 -10580138.44442 22088340.182 22088346.690 22088338.689
+ -1561.198 -1216.518 50.000 45.000
+ -7723596.35543 -6001864.01042 23406585.463 23406591.845 23406585.312
+ 3382.808 2635.954 46.000 41.000
+ -11320722.19443 -8776844.68042 22894176.390 22894184.392 22894175.040
+ 3428.877 2671.852 50.000 44.000
+ -20237497.15343 -15758281.63142 21477993.495 21477998.051 21477992.200
+ -204.982 -159.726 55.000 49.000
+ -15769880.49043 -12247324.88242 22337615.986 22337621.737 22337614.694
+ -2569.671 -2002.341 53.000 45.000
+ -24622924.60943 -19131662.40742 20158559.064 20158562.195 20158557.670
+ 103.077 80.320 56.000 51.000
+ -3195000.21343 -2466850.38742 24511019.637 24511027.639 24511019.173
+ -2058.804 -1604.263 45.000 39.000
+ -14398505.77243 -11165412.90242 22356024.157 22356029.096 22356022.284
+ -117.343 -91.436 52.000 45.000
+ 04 2 1 8 26 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13610317.96543 -10543610.54842 22097262.338 22097268.010 22097261.405
+ -1564.332 -1218.960 51.000 45.000
+ -7825020.69043 -6080895.87442 23387285.778 23387291.048 23387285.285
+ 3378.657 2632.720 47.000 41.000
+ -11423541.62243 -8856963.58342 22874609.817 22874618.257 22874608.314
+ 3425.837 2669.483 50.000 44.000
+ -20231322.41243 -15753470.14142 21479168.252 21479173.321 21479167.029
+ -206.582 -160.973 55.000 49.000
+ -15692598.49443 -12187105.19542 22352321.789 22352328.802 22352321.219
+ -2582.423 -2012.278 53.000 45.000
+ -24625764.80643 -19133875.52442 20158018.086 20158021.544 20158017.022
+ 86.231 67.193 56.000 51.000
+ -3133057.02443 -2418583.00642 24522808.921 24522813.777 24522807.079
+ -2071.259 -1613.968 46.000 39.000
+ -14394704.78743 -11162451.10142 22356747.024 22356752.598 22356744.966
+ -136.148 -106.089 52.000 45.000
+ 04 2 1 8 27 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13563368.41743 -10507026.49142 22106195.903 22106201.459 22106195.212
+ -1566.819 -1220.898 51.000 45.000
+ -7926338.17943 -6159844.46842 23368005.104 23368011.391 23368004.295
+ 3374.715 2629.648 47.000 41.000
+ -11526285.27843 -8937023.45742 22855058.332 22855066.861 22855057.308
+ 3422.908 2667.201 50.000 44.000
+ -20225121.39143 -15748638.16442 21480348.974 21480353.340 21480347.567
+ -207.770 -161.899 56.000 49.000
+ -15614956.27243 -12126604.79142 22367096.715 22367103.098 22367096.377
+ -2594.652 -2021.807 53.000 46.000
+ -24628121.04043 -19135711.52342 20157570.053 20157573.330 20157568.659
+ 69.857 54.434 56.000 51.000
+ -3070759.92643 -2370039.80942 24534663.154 24534669.374 24534661.318
+ -2083.293 -1623.345 46.000 39.000
+ -14390365.14943 -11159069.56542 22357572.757 22357578.696 22357570.436
+ -154.191 -120.149 52.000 45.000
+ 04 2 1 8 27 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13516342.25343 -10470382.71742 22115144.243 22115150.530 22115143.110
+ -1569.227 -1222.774 50.000 44.000
+ -8027541.79643 -6238704.33242 23348747.810 23348752.980 23348746.557
+ 3371.222 2626.926 48.000 41.000
+ -11628945.85543 -9017018.60242 22835522.987 22835530.645 22835521.617
+ 3420.314 2665.180 50.000 44.000
+ -20218889.77243 -15743782.34742 21481534.136 21481538.993 21481533.188
+ -208.578 -162.528 55.000 49.000
+ -15536950.77743 -12065821.33442 22381941.349 22381947.297 22381941.128
+ -2606.608 -2031.123 53.000 46.000
+ -24629990.04843 -19137167.86542 20157214.172 20157217.520 20157213.012
+ 53.836 41.950 56.000 51.000
+ -3008106.07543 -2321218.63442 24546585.786 24546592.155 24546585.109
+ -2094.734 -1632.260 45.000 39.000
+ -14385483.48243 -11155265.67342 22358500.681 22358507.428 22358499.821
+ -172.077 -134.086 51.000 45.000
+ 04 2 1 8 28 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13469245.75643 -10433684.15842 22124106.693 22124112.215 22124105.352
+ -1570.579 -1223.828 50.000 44.000
+ -8128635.75743 -6317478.76142 23329510.301 23329514.282 23329508.631
+ 3368.515 2624.817 48.000 42.000
+ -11731527.01743 -9096951.85542 22816002.288 22816010.447 22816000.462
+ 3418.548 2663.804 51.000 44.000
+ -20212633.75443 -15738907.52942 21482724.981 21482729.630 21482723.701
+ -208.565 -162.518 55.000 49.000
+ -15458590.00043 -12004761.03242 22396852.524 22396858.512 22396851.637
+ -2617.417 -2039.546 52.000 45.000
+ -24631379.44643 -19138250.48642 20156949.714 20156953.030 20156948.596
+ 38.819 30.249 56.000 51.000
+ -2945103.59543 -2272125.80942 24558574.367 24558581.778 24558573.711
+ -2105.343 -1640.527 47.000 39.000
+ -14380067.68943 -11151045.58042 22359532.248 22359537.937 22359530.779
+ -188.857 -147.161 52.000 45.000
+ 04 2 1 8 28 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13422078.37643 -10396930.36842 22133082.413 22133088.447 22133081.474
+ -1573.945 -1226.451 50.000 45.000
+ -8229617.26443 -6396165.56042 23310293.064 23310299.970 23310293.168
+ 3363.878 2621.204 47.000 41.000
+ -11834025.51143 -9176820.68842 22796497.772 22796504.904 22796495.997
+ 3414.660 2660.774 51.000 44.000
+ -20206353.34743 -15734013.69742 21483920.148 21483924.548 21483918.558
+ -210.212 -163.801 56.000 49.000
+ -15379875.01243 -11943424.72842 22411831.553 22411838.080 22411830.833
+ -2630.190 -2049.499 53.000 45.000
+ -24632290.41043 -19138960.30142 20156776.593 20156779.857 20156775.371
+ 21.828 17.009 56.000 51.000
+ -2881753.96543 -2222762.46542 24570629.032 24570635.943 24570628.434
+ -2118.113 -1650.478 46.000 39.000
+ -14374118.60343 -11146409.92342 22360664.319 22360669.944 22360662.896
+ -207.813 -161.932 52.000 45.000
+ 04 2 1 8 29 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13374833.63543 -10360116.29142 22142072.141 22142078.965 22142071.890
+ -1575.668 -1227.793 51.000 45.000
+ -8330477.49943 -6474757.86942 23291099.121 23291105.791 23291098.629
+ 3360.362 2618.464 46.000 41.000
+ -11936432.41643 -9256618.14442 22777009.950 22777017.512 22777008.667
+ 3412.461 2659.061 51.000 44.000
+ -20200042.09743 -15729095.83942 21485121.504 21485125.571 21485119.817
+ -210.278 -163.853 55.000 49.000
+ -15300801.08343 -11881808.72342 22426878.458 22426885.109 22426877.700
+ -2641.260 -2058.125 52.000 45.000
+ -24632717.94543 -19139293.42042 20156695.156 20156698.322 20156693.804
+ 6.663 5.192 56.000 51.000
+ -2818052.72443 -2173125.13742 24582752.716 24582758.445 24582751.150
+ -2128.553 -1658.613 46.000 39.000
+ -14367631.13143 -11141354.75842 22361898.779 22361904.176 22361897.899
+ -225.162 -175.451 52.000 45.000
+ 04 2 1 8 29 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13327516.25043 -10323245.60542 22151077.791 22151082.497 22151076.561
+ -1578.400 -1229.922 50.000 45.000
+ -8431218.86443 -6553257.54642 23271928.182 23271935.637 23271928.655
+ 3356.011 2615.074 47.000 41.000
+ -12038749.55743 -9336345.63842 22757538.936 22757547.125 22757536.409
+ 3408.993 2656.358 50.000 44.000
+ -20193704.86243 -15724157.72442 21486326.931 21486331.559 21486325.817
+ -211.704 -164.964 55.000 49.000
+ -15221374.58643 -11819918.00542 22441993.847 22441999.055 22441992.623
+ -2653.609 -2067.747 52.000 45.000
+ -24632668.32943 -19139254.73442 20156704.449 20156707.729 20156703.297
+ -9.654 -7.522 56.000 51.000
+ -2754006.29143 -2123218.81542 24594939.474 24594945.421 24594937.855
+ -2140.739 -1668.108 46.000 39.000
+ -14360611.41543 -11135884.86942 22363235.067 22363240.403 22363232.447
+ -242.931 -189.297 52.000 45.000
+ 04 2 1 8 30 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13280122.97343 -10286315.80342 22160095.972 22160101.519 22160094.055
+ -1581.041 -1231.980 50.000 45.000
+ -8531835.93343 -6631660.36142 23252781.733 23252787.930 23252780.916
+ 3351.821 2611.809 46.000 41.000
+ -12140971.27343 -9415998.77842 22738086.233 22738094.235 22738085.359
+ 3405.706 2653.797 49.000 44.000
+ -20187338.88543 -15719197.21742 21487538.603 21487543.044 21487536.743
+ -212.644 -165.697 55.000 49.000
+ -15141594.17543 -11757751.50342 22457174.973 22457181.558 22457174.727
+ -2665.154 -2076.743 52.000 45.000
+ -24632140.15543 -19138843.14842 20156805.022 20156808.398 20156803.617
+ -25.434 -19.819 56.000 51.000
+ -2689613.65743 -2073042.73042 24607192.476 24607199.686 24607191.182
+ -2152.299 -1677.116 46.000 39.000
+ -14353058.07443 -11129999.15242 22364672.630 22364677.608 22364669.792
+ -260.605 -203.069 52.000 45.000
+ 04 2 1 8 30 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13232655.62343 -10249328.25942 22169128.627 22169134.600 22169127.539
+ -1583.421 -1233.834 51.000 45.000
+ -8632328.33743 -6709966.03942 23233659.567 23233665.713 23233657.793
+ 3347.477 2608.424 46.000 41.000
+ -12243096.59043 -9495576.80842 22718653.381 22718660.409 22718651.457
+ 3402.536 2651.327 49.000 43.000
+ -20180946.05243 -15714215.78242 21488755.223 21488759.550 21488753.559
+ -213.516 -166.376 55.000 49.000
+ -15061463.31643 -11695311.93342 22472422.955 22472429.965 22472422.491
+ -2676.791 -2085.811 51.000 45.000
+ -24631136.95243 -19138061.40642 20156996.013 20156999.113 20156994.669
+ -41.295 -32.178 56.000 51.000
+ -2624878.53343 -2022599.80042 24619511.976 24619517.144 24619509.416
+ -2163.413 -1685.776 45.000 38.000
+ -14344974.49243 -11123700.26342 22366210.395 22366215.750 22366208.956
+ -278.188 -216.770 52.000 45.000
+ 04 2 1 8 31 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13185114.10543 -10212282.94042 22178175.010 22178181.326 22178173.608
+ -1585.461 -1235.424 50.000 45.000
+ -8732693.54543 -6788172.62142 23214559.284 23214565.791 23214558.548
+ 3343.789 2605.550 47.000 41.000
+ -12345122.74443 -9575077.55042 22699238.186 22699245.155 22699237.098
+ 3399.497 2648.959 50.000 43.000
+ -20174526.37843 -15709213.44242 21489976.087 21489981.466 21489975.124
+ -214.102 -166.833 55.000 49.000
+ -14980983.82143 -11632600.69442 22487737.841 22487743.990 22487737.149
+ -2688.166 -2094.675 52.000 45.000
+ -24629659.99643 -19136910.51042 20157276.656 20157280.313 20157275.535
+ -56.727 -44.203 56.000 51.000
+ -2559802.64343 -1971891.31542 24631894.336 24631900.835 24631893.998
+ -2174.439 -1694.368 45.000 38.000
+ -14336362.16443 -11116989.37042 22367849.228 22367854.893 22367847.071
+ -295.493 -230.254 52.000 45.000
+ 04 2 1 8 31 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13137496.85743 -10175178.60442 22187234.912 22187242.093 22187234.632
+ -1588.491 -1237.785 49.000 44.000
+ -8832928.02443 -6866277.32242 23195486.212 23195492.731 23195484.988
+ 3338.997 2601.816 47.000 41.000
+ -12447045.72743 -9654497.91442 22679843.105 22679850.679 22679840.659
+ 3395.947 2646.192 50.000 44.000
+ -20168078.61943 -15704189.20742 21491203.516 21491208.671 21491202.188
+ -215.246 -167.724 55.000 49.000
+ -14900156.06343 -11569618.10542 22503119.558 22503126.051 22503118.940
+ -2699.856 -2103.784 52.000 45.000
+ -24627709.64743 -19135390.73742 20157647.807 20157651.433 20157646.654
+ -72.705 -56.653 56.000 51.000
+ -2494386.69743 -1920917.86842 24644343.575 24644349.835 24644342.947
+ -2185.818 -1703.235 46.000 38.000
+ -14327221.38343 -11109866.69442 22369588.286 22369594.562 22369586.637
+ -313.379 -244.191 51.000 45.000
+ 04 2 1 8 32 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13089803.69543 -10138015.13542 22196312.233 22196318.707 22196311.216
+ -1591.255 -1239.939 50.000 45.000
+ -8933028.76843 -6944277.82542 23176438.177 23176443.735 23176436.263
+ 3334.217 2598.091 48.000 42.000
+ -12548862.45443 -9733835.49042 22660468.492 22660474.207 22660466.350
+ 3391.872 2643.017 51.000 44.000
+ -20161602.60543 -15699142.95342 21492436.048 21492440.595 21492434.721
+ -216.597 -168.777 56.000 49.000
+ -14818981.48943 -11506365.27042 22518566.279 22518572.799 22518566.085
+ -2711.740 -2113.044 52.000 45.000
+ -24625287.41843 -19133503.26442 20158109.042 20158112.238 20158107.716
+ -88.890 -69.265 56.000 51.000
+ -2428632.30043 -1869680.65142 24656854.338 24656863.043 24656853.789
+ -2197.950 -1712.688 45.000 38.000
+ -14317553.46743 -11102333.25442 22371428.556 22371433.661 22371426.689
+ -331.325 -258.175 51.000 45.000
+ 04 2 1 8 32 30.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -13042034.56343 -10100792.45742 22205402.485 22205408.261 22205401.837
+ -1593.694 -1241.839 50.000 45.000
+ -9032993.86643 -7022172.63842 23157414.711 23157420.210 23157413.771
+ 3329.585 2594.482 48.000 42.000
+ -12650570.45243 -9813088.33842 22641113.530 22641119.853 22641112.172
+ 3388.361 2640.281 51.000 44.000
+ -20155098.65043 -15694074.93942 21493673.405 21493677.837 21493671.746
+ -217.425 -169.422 55.000 49.000
+ -14737461.89943 -11442843.59442 22534078.707 22534085.668 22534077.419
+ -2723.203 -2121.976 52.000 45.000
+ -24622394.74443 -19131249.21642 20158659.314 20158662.878 20158658.046
+ -104.424 -81.369 56.000 51.000
+ -2362541.56043 -1818181.40242 24669431.392 24669440.110 24669431.534
+ -2208.597 -1720.985 44.000 38.000
+ -14307360.06843 -11094390.35842 22373367.473 22373374.017 22373366.305
+ -348.795 -271.788 51.000 45.000
+ 04 2 1 8 33 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12994186.79343 -10063508.49842 22214507.672 22214513.516 22214506.489
+ -1596.508 -1244.032 50.000 45.000
+ -9132818.44543 -7099957.95542 23138419.894 23138424.331 23138418.919
+ 3324.831 2590.777 49.000 42.000
+ -12752164.57043 -9892252.43942 22621780.259 22621787.847 22621778.571
+ 3384.248 2637.076 51.000 44.000
+ 25275203.523
+ 3552.914 2768.504 43.000
+ -20148564.30043 -15688983.22442 21494917.453 21494921.610 21494915.972
+ -218.617 -170.351 56.000 49.000
+ -14655596.65243 -11379052.57242 22549657.400 22549663.509 22549656.331
+ -2734.791 -2131.006 52.000 44.000
+ -24619031.11143 -19128628.18542 20159299.762 20159302.512 20159298.306
+ -120.174 -93.642 56.000 51.000
+ -2296114.13443 -1766419.78042 24682074.218 24682079.440 24682071.722
+ -2220.184 -1730.013 45.000 39.000
+ -14296640.35943 -11086037.31942 22375407.876 22375413.706 22375406.093
+ -366.209 -285.358 51.000 45.000
+ 04 2 1 8 33 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12946262.37843 -10026164.82942 22223628.026 22223632.900 22223626.434
+ -1598.444 -1245.541 51.000 45.000
+ -9232501.98143 -7177633.37842 23119448.911 23119454.091 23119447.795
+ 3320.685 2587.547 48.000 42.000
+ -12853643.89843 -9971327.09142 22602469.252 22602477.202 22602468.649
+ 3380.880 2634.452 51.000 44.000
+ -853657.92753 -620319.97952 25254906.925 25254915.523 25254907.378
+ 3555.940 2770.862 40.000 33.000
+ -20142001.74943 -15683869.54242 21496165.684 21496170.492 21496164.396
+ -218.865 -170.544 55.000 49.000
+ -14573389.42143 -11314995.04942 22565301.075 22565307.014 22565299.849
+ -2745.751 -2139.546 52.000 44.000
+ -24615200.15243 -19125643.00842 20160028.370 20160031.703 20160027.174
+ -135.223 -105.368 56.000 51.000
+ -2229353.81943 -1714398.77942 24694777.683 24694783.669 24694775.691
+ -2230.842 -1738.318 45.000 39.000
+ -14285398.05443 -11077277.09842 22377546.782 22377553.053 22377545.415
+ -383.099 -298.519 51.000 45.000
+ 04 2 1 8 34 0.0000000 0 8G27G29G 7G 8G13G28G31G10
+ -12898262.29843 -9988762.18642 22232761.449 22232766.975 22232760.088
+ -1601.147 -1247.647 50.000 45.000
+ -9332043.27243 -7255197.92942 23100508.102 23100513.427 23100507.388
+ 3315.865 2583.791 48.000 42.000
+ -12955006.98543 -10050311.17242 22583180.561 22583187.295 22583179.394
+ 3377.050 2631.468 51.000 45.000
+ -20135412.04343 -15678734.70342 21497419.745 21497424.206 21497418.404
+ -219.905 -171.354 55.000 48.000
+ -14490843.12943 -11250673.32042 22581009.268 22581015.428 22581007.918
+ -2757.032 -2148.337 52.000 45.000
+ -24610904.67643 -19122295.86542 20160845.731 20160848.987 20160844.617
+ -150.762 -117.477 56.000 51.000
+ -2162263.81543 -1662120.84742 24707544.047 24707551.585 24707542.907
+ -2241.666 -1746.753 43.000 38.000
+ -14273636.25343 -11068112.06742 22379785.342 22379791.482 22379783.526
+ -400.511 -312.086 51.000 45.000
+ 04 2 1 8 34 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12850184.90743 -9951299.31342 22241910.590 22241916.136 22241909.393
+ -1603.686 -1249.625 50.000 45.000
+ -9431438.36243 -7332648.56042 23081594.547 23081598.201 23081592.145
+ 3311.084 2580.065 49.000 42.000
+ -13056249.38243 -10129201.21442 22563914.966 22563922.052 22563913.703
+ 3372.994 2628.307 51.000 45.000
+ -1067138.19253 -786668.07452 25214281.335 25214287.886 25214279.826
+ 3560.285 2774.248 39.000 33.000
+ -20128793.71643 -15673577.55442 21498679.532 21498683.908 21498677.788
+ -220.786 -172.041 55.000 49.000
+ -14407957.89043 -11186087.49842 22596781.938 22596788.688 22596781.189
+ -2768.316 -2157.129 52.000 44.000
+ -24606144.84943 -19118586.89142 20161751.668 20161754.774 20161750.488
+ -166.116 -129.441 56.000 51.000
+ -2094844.43643 -1609586.29042 24720374.196 24720379.410 24720372.982
+ -2252.522 -1755.212 44.000 39.000
+ -14261354.87443 -11058542.15242 22382122.518 22382129.150 22382120.862
+ -417.730 -325.504 52.000 45.000
+ 04 2 1 8 35 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12802026.74043 -9913773.49942 22251075.342 22251080.613 22251073.691
+ -1606.471 -1251.795 51.000 45.000
+ -9530681.47043 -7409980.78342 23062708.329 23062714.973 23062707.889
+ 3305.780 2575.932 48.000 42.000
+ -13157364.97443 -10207992.46842 22544672.859 22544679.806 22544670.724
+ 3368.640 2624.914 51.000 45.000
+ -1173971.16853 -869914.53652 25193953.251 25193960.497 25193953.378
+ 3561.985 2775.573 41.000 34.000
+ -20122143.50743 -15668395.56242 21499944.845 21499949.615 21499943.720
+ -222.043 -173.020 55.000 49.000
+ -14324731.80143 -11121236.08142 22612619.461 22612624.832 22612619.307
+ -2779.622 -2165.939 51.000 44.000
+ -24600918.87643 -19114514.68442 20162745.834 20162749.267 20162744.784
+ -181.695 -141.580 56.000 51.000
+ -2027094.34843 -1556794.02442 24733265.903 24733271.430 24733264.950
+ -2263.530 -1763.790 45.000 38.000
+ -14248552.18143 -11048566.03242 22384558.829 22384565.694 22384557.294
+ -435.239 -339.147 51.000 45.000
+ 04 2 1 8 35 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12753791.89943 -9876187.93142 22260252.958 22260259.477 22260251.901
+ -1609.067 -1253.818 50.000 45.000
+ -9629774.41743 -7487195.96942 23043852.163 23043857.344 23043850.308
+ 3300.685 2571.962 48.000 42.000
+ -13258355.29343 -10286686.08842 22525454.701 22525461.628 22525453.182
+ 3364.283 2621.519 51.000 45.000
+ -1280866.77043 -953209.71642 25173610.860 25173619.399 25173609.775
+ 3564.230 2777.322 41.000 35.000
+ -20115465.65843 -15663192.03042 21501215.229 21501220.359 21501214.293
+ -222.983 -173.753 55.000 49.000
+ -14241172.00143 -11056124.62842 22628519.824 22628526.732 22628518.954
+ -2790.777 -2174.631 51.000 44.000
+ -24595232.88243 -19110084.02542 20163827.808 20163831.227 20163826.707
+ -197.113 -153.594 56.000 51.000
+ -1959019.83843 -1503748.98742 24746219.351 24746226.495 24746218.633
+ -2274.869 -1772.625 43.000 37.000
+ -14235234.11843 -11038188.30942 22387093.376 22387099.325 22387091.812
+ -452.506 -352.602 51.000 45.000
+ 04 2 1 8 36 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12705476.99243 -9838539.98142 22269447.150 22269453.367 22269446.096
+ -1611.445 -1255.671 50.000 45.000
+ -9728711.28943 -7564289.53342 23025024.181 23025029.533 23025021.533
+ 3295.613 2568.010 48.000 42.000
+ -13359214.29043 -10365277.38542 22506261.918 22506269.046 22506261.000
+ 3360.231 2618.362 51.000 44.000
+ -1387820.00243 -1036549.78142 25153258.765 25153267.406 25153260.077
+ 3566.498 2779.089 41.000 35.000
+ -20108756.78743 -15657964.33042 21502492.032 21502496.708 21502490.600
+ -223.776 -174.371 55.000 49.000
+ -14157276.71843 -10990751.73942 22644484.246 22644491.627 22644483.495
+ -2801.832 -2183.246 50.000 44.000
+ -24589085.24543 -19105293.63642 20164997.971 20165000.834 20164996.765
+ -212.296 -165.425 56.000 51.000
+ -1890619.68343 -1450450.16742 24759237.581 24759240.750 24759235.767
+ -2284.863 -1780.413 43.000 37.000
+ -14221399.26743 -11027407.91042 22389725.426 22389731.952 22389723.863
+ -469.509 -365.851 51.000 45.000
+ 04 2 1 8 36 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12657082.24043 -9800829.81542 22278656.940 22278662.045 22278655.239
+ -1613.727 -1257.450 50.000 45.000
+ -9827490.32543 -7641260.14242 23006227.152 23006232.039 23006225.887
+ 3290.801 2564.261 48.000 42.000
+ -13459939.55343 -10443764.48742 22487094.018 22487101.732 22487092.758
+ 3356.148 2615.180 50.000 45.000
+ -1494829.50943 -1119933.75542 25132896.618 25132900.344 25132896.200
+ 3568.558 2780.695 42.000 34.000
+ -20102017.43543 -15652712.87042 21503774.870 21503778.722 21503773.700
+ -224.355 -174.822 55.000 49.000
+ -14073047.80543 -10925118.89942 22660513.215 22660519.381 22660512.377
+ -2812.339 -2191.433 51.000 44.000
+ -24582478.16943 -19100145.24542 20166255.183 20166258.215 20166253.803
+ -227.088 -176.952 56.000 51.000
+ -1821896.13243 -1396899.36142 24772313.834 24772318.996 24772311.811
+ -2295.319 -1788.560 41.000 37.000
+ -14207049.88143 -11016226.57242 22392456.349 22392462.109 22392454.171
+ -485.962 -378.672 51.000 45.000
+ 04 2 1 8 37 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12608609.13043 -9763058.59942 22287880.638 22287886.454 22287879.318
+ -1617.008 -1260.006 50.000 45.000
+ -9926110.59443 -7718107.01842 22987460.809 22987466.786 22987459.152
+ 3284.743 2559.540 49.000 42.000
+ -13560529.83043 -10522146.39542 22467952.751 22467960.449 22467951.358
+ 3350.638 2610.887 50.000 45.000
+ -1601895.14043 -1203361.46042 25112521.818 25112529.904 25112521.980
+ 3570.106 2781.901 42.000 35.000
+ -20095249.10843 -15647438.83542 21505062.158 21505066.954 21505061.065
+ -225.916 -176.038 55.000 49.000
+ -13988488.64343 -10859228.72642 22676604.788 22676611.112 22676603.729
+ -2824.093 -2200.592 52.000 44.000
+ -24575415.07043 -19094641.50842 20167599.374 20167602.402 20167597.921
+ -242.904 -189.276 56.000 51.000
+ -1752852.90543 -1343099.47842 24785452.275 24785458.025 24785452.167
+ -2306.823 -1797.524 42.000 37.000
+ -14192189.45843 -11004647.03942 22395283.911 22395289.559 22395282.764
+ -503.744 -392.528 51.000 45.000
+ 04 2 1 8 37 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12560054.51543 -9725223.85542 22297119.944 22297126.327 22297118.806
+ -1619.863 -1262.231 50.000 45.000
+ -10024566.49843 -7794825.83442 22968724.507 22968728.233 22968723.433
+ 3279.094 2555.138 49.000 42.000
+ -13660979.51443 -10600418.75642 22448837.623 22448844.684 22448836.249
+ 3346.042 2607.305 51.000 45.000
+ -1709012.23043 -1286829.22442 25092138.493 25092145.380 25092137.341
+ 3571.386 2782.898 43.000 35.000
+ -20088448.83443 -15642139.90842 21506356.743 21506361.510 21506355.312
+ -227.063 -176.932 55.000 49.000
+ -13903598.50643 -10793080.64042 22692758.436 22692764.262 22692757.404
+ -2835.149 -2209.207 51.000 44.000
+ -24567894.71743 -19088781.47542 20169030.287 20169033.557 20169028.911
+ -258.179 -201.178 56.000 51.000
+ -1683489.23443 -1289049.85042 24798650.711 24798657.832 24798651.369
+ -2317.233 -1805.636 43.000 38.000
+ -14176816.68343 -10992668.26142 22398210.880 22398214.730 22398208.409
+ -520.894 -405.891 52.000 45.000
+ 04 2 1 8 38 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12511418.34643 -9687325.56142 22306375.240 22306381.557 22306373.897
+ -1622.463 -1264.257 50.000 44.000
+ -10122855.97743 -7871414.97442 22950020.078 22950025.646 22950018.875
+ 3273.383 2550.688 49.000 43.000
+ -13761285.74343 -10678579.35142 22429750.197 22429757.364 22429748.793
+ 3341.066 2603.428 51.000 45.000
+ -1816179.01743 -1370335.79442 25071745.850 25071752.146 25071745.259
+ 3572.905 2784.082 41.000 35.000
+ -20081616.79843 -15636816.22842 21507656.580 21507660.957 21507655.065
+ -228.239 -177.848 55.000 49.000
+ -13818379.20743 -10726676.04542 22708975.723 22708982.062 22708974.807
+ -2846.078 -2217.723 52.000 44.000
+ -24559918.98443 -19082566.59642 20170548.090 20170550.955 20170546.537
+ -273.447 -213.075 56.000 51.000
+ -1613807.00243 -1234752.08242 24811912.308 24811916.409 24811910.571
+ -2327.587 -1813.704 42.000 38.000
+ -14160933.76943 -10980291.98942 22401232.511 22401238.270 22401230.547
+ -537.920 -419.158 52.000 45.000
+ 04 2 1 8 38 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12462703.60943 -9649366.04842 22315645.624 22315651.367 22315643.952
+ -1625.276 -1266.449 50.000 44.000
+ -10220979.56443 -7947874.83542 22931348.406 22931354.629 22931348.277
+ 3267.946 2546.451 49.000 43.000
+ -13861448.97043 -10756628.51342 22410689.892 22410696.703 22410688.147
+ 3336.386 2599.781 51.000 45.000
+ -1923396.91943 -1453882.07142 25051342.291 25051351.230 25051340.443
+ 3574.467 2785.299 42.000 36.000
+ -20074755.84443 -15631470.01942 21508962.583 21508966.831 21508961.018
+ -229.453 -178.794 55.000 49.000
+ -13732835.66243 -10660018.80542 22725254.185 22725260.898 22725253.671
+ -2856.965 -2226.206 51.000 44.000
+ -24551492.68143 -19076000.62842 20172151.731 20172154.646 20172150.137
+ -288.548 -224.842 56.000 51.000
+ -1543811.53143 -1180210.15142 24825232.992 24825237.671 24825231.068
+ -2339.018 -1822.611 42.000 37.000
+ -14144545.84043 -10967522.17642 22404351.182 22404356.060 22404349.142
+ -554.773 -432.291 52.000 45.000
+ 04 2 1 8 39 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12413905.64643 -9611341.68742 22324931.445 22324936.532 22324930.529
+ -1628.242 -1268.760 50.000 44.000
+ -10318930.13043 -8024199.88642 22912708.020 22912714.688 22912707.104
+ 3262.106 2541.901 48.000 42.000
+ -13961461.90243 -10834560.56942 22391657.625 22391664.436 22391656.387
+ 3331.132 2595.687 51.000 45.000
+ -2030659.51343 -1537463.25542 25030931.736 25030936.780 25030932.053
+ 3576.057 2786.538 45.000 36.000
+ -20067861.53143 -15626097.81242 21510273.888 21510278.526 21510272.739
+ -230.480 -179.595 55.000 49.000
+ -13646965.41243 -10593106.99742 22741594.206 22741600.710 22741593.549
+ -2867.948 -2234.765 51.000 43.000
+ -24542613.24243 -19069081.56042 20173841.076 20173844.349 20173839.638
+ -303.715 -236.661 56.000 51.000
+ -1473500.27943 -1125422.17042 24838611.976 24838617.659 24838611.491
+ -2348.818 -1830.248 43.000 38.000
+ -14127650.10543 -10954356.67742 22407565.873 22407571.323 22407564.040
+ -571.745 -445.515 52.000 45.000
+ 04 2 1 8 39 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12365025.20143 -9573253.03842 22334233.302 22334238.920 22334231.708
+ -1629.891 -1270.045 50.000 44.000
+ -10416706.11643 -8100388.91942 22894102.183 22894108.887 22894101.648
+ 3256.968 2537.897 49.000 43.000
+ -14061322.43443 -10912373.88042 22372653.827 22372661.899 22372653.606
+ 3326.853 2592.353 51.000 45.000
+ -2137965.80943 -1621078.53442 25010512.425 25010516.063 25010509.628
+ 3578.301 2788.286 44.000 35.000
+ -20060934.75843 -15620700.31542 21511591.923 21511597.123 21511590.661
+ -230.712 -179.775 55.000 49.000
+ -13560771.20043 -10525942.76142 22757996.819 22758002.278 22757995.766
+ -2877.815 -2242.453 51.000 43.000
+ -24533283.45143 -19061811.57242 20175616.529 20175619.412 20175615.235
+ -317.778 -247.619 56.000 51.000
+ -1402876.18043 -1070390.41542 24852050.412 24852056.715 24852049.825
+ -2358.710 -1837.956 44.000 38.000
+ -14110249.19243 -10940797.54542 22410876.767 22410882.739 22410875.350
+ -587.623 -457.888 51.000 45.000
+ 04 2 1 8 40 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12316065.52243 -9535102.64642 22343550.130 22343555.853 22343549.092
+ -1634.173 -1273.381 50.000 44.000
+ -10514308.68343 -8176442.79442 22875529.639 22875536.064 22875529.443
+ 3249.719 2532.249 50.000 43.000
+ -14161031.44343 -10990069.11642 22353680.312 22353687.579 22353678.396
+ 3320.260 2587.215 51.000 45.000
+ -2245317.67743 -1704729.28842 24990083.190 24990089.313 24990082.011
+ 3578.211 2788.216 44.000 37.000
+ -20053978.91443 -15615280.16542 21512915.949 21512920.544 21512914.714
+ -233.181 -181.699 55.000 49.000
+ -13474258.27043 -10458530.16942 22774459.626 22774465.803 22774458.785
+ -2889.849 -2251.830 51.000 43.000
+ -24523508.70143 -19054194.85842 20177476.428 20177479.549 20177475.188
+ -334.063 -260.309 56.000 51.000
+ -1331944.99143 -1015119.40442 24865548.432 24865555.103 24865548.000
+ -2370.384 -1847.052 44.000 38.000
+ -14092348.68543 -10926849.11642 22414282.785 22414289.386 22414281.118
+ -605.740 -472.005 51.000 45.000
+ 04 2 1 8 40 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12267018.95543 -9496884.55842 22352883.253 22352888.970 22352881.754
+ -1636.855 -1275.471 50.000 44.000
+ -10611727.58543 -8252353.58942 22856991.027 22856995.905 22856991.009
+ 3243.713 2527.569 49.000 43.000
+ -14260578.64443 -11067638.27442 22334737.475 22334743.380 22334735.672
+ 3314.937 2583.068 51.000 45.000
+ -2352705.55243 -1788408.07342 24969645.442 24969654.651 24969646.404
+ 3579.107 2788.915 43.000 37.000
+ -20046986.50743 -15609831.53342 21514246.310 21514251.232 21514245.129
+ -234.216 -182.506 55.000 49.000
+ -13387420.97743 -10390864.82842 22790984.006 22790991.171 22790983.299
+ -2900.413 -2260.062 51.000 43.000
+ -24513283.04643 -19046226.79542 20179422.653 20179425.475 20179421.215
+ -348.857 -271.837 56.000 51.000
+ -1260701.19543 -959604.80242 24879106.812 24879113.608 24879105.296
+ -2380.482 -1854.921 44.000 39.000
+ -14073943.26743 -10912507.24842 22417785.128 22417791.977 22417783.065
+ -622.372 -484.965 51.000 45.000
+ 04 2 1 8 41 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12217892.14043 -9458603.92142 22362232.101 22362237.601 22362230.908
+ -1638.845 -1277.022 50.000 44.000
+ -10708967.17043 -8328124.62442 22838486.899 22838493.700 22838486.994
+ 3238.172 2523.251 49.000 43.000
+ -14359967.81743 -11145084.28842 22315823.901 22315831.239 22315821.993
+ 3310.255 2579.419 52.000 45.000
+ -2460134.41243 -1872118.79142 24949204.054 24949209.118 24949203.591
+ 3581.581 2790.842 45.000 36.000
+ -20039963.74443 -15604359.25042 21515582.672 21515587.461 21515581.242
+ -234.652 -182.846 55.000 49.000
+ -13300268.29443 -10322953.72742 22807568.654 22807575.373 22807568.628
+ -2910.448 -2267.881 50.000 43.000
+ -24502615.29543 -19037914.24942 20181452.399 20181455.249 20181451.308
+ -362.976 -282.838 56.000 51.000
+ -1189153.53243 -903853.37342 24892721.453 24892726.964 24892720.979
+ -2389.885 -1862.248 44.000 38.000
+ -14055041.47243 -10897778.59442 22421382.255 22421389.198 22421381.098
+ -638.361 -497.424 51.000 45.000
+ 04 2 1 8 41 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12168677.78243 -9420255.08042 22371597.276 22371603.390 22371596.045
+ -1641.754 -1279.289 51.000 44.000
+ -10806017.95043 -8403748.55642 22820017.300 22820023.813 22820017.194
+ 3231.900 2518.364 48.000 43.000
+ -14459189.20043 -11222399.56542 22296943.034 22296949.285 22296941.018
+ 3304.690 2575.083 51.000 45.000
+ -2567595.30943 -1955854.55542 24928754.549 24928760.870 24928754.445
+ 3582.536 2791.586 46.000 37.000
+ -20032904.10743 -15598858.22842 21516925.987 21516931.100 21516924.548
+ -235.713 -183.672 55.000 49.000
+ -13212795.23143 -10254793.00642 22824214.254 22824221.839 22824214.582
+ -2920.862 -2275.996 50.000 43.000
+ -24491500.56143 -19029253.41042 20183567.433 20183570.702 20183566.227
+ -377.663 -294.283 56.000 51.000
+ -1117297.09843 -847861.35242 24906394.911 24906402.669 24906394.036
+ -2400.196 -1870.282 44.000 38.000
+ -14035638.19943 -10882659.19042 22425074.331 22425080.445 22425073.943
+ -654.881 -510.297 51.000 45.000
+ 04 2 1 8 42 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12119381.80743 -9381842.63342 22380978.248 22380982.772 22380976.845
+ -1644.887 -1281.730 51.000 45.000
+ -10902883.22843 -8479227.90642 22801585.512 22801591.559 22801585.248
+ 3225.480 2513.361 49.000 42.000
+ -14558245.96943 -11299586.56642 22278092.783 22278100.345 22278091.528
+ 3298.799 2570.493 52.000 45.000
+ -2675092.34043 -2039618.39342 24908298.611 24908305.855 24908296.996
+ 3583.220 2792.119 45.000 37.000
+ -20025813.03143 -15593332.70542 21518275.727 21518280.313 21518274.259
+ -237.217 -184.844 55.000 49.000
+ -13125009.40443 -10186388.54442 22840919.655 22840926.500 22840918.845
+ -2931.771 -2284.497 50.000 43.000
+ -24479946.45243 -19020250.19142 20185765.862 20185769.246 20185764.795
+ -392.735 -306.027 56.000 51.000
+ -1045140.09943 -791635.13242 24920126.845 24920132.946 24920124.378
+ -2410.306 -1878.160 43.000 38.000
+ -14015741.37543 -10867155.18442 22428860.856 22428866.931 22428859.145
+ -671.660 -523.371 50.000 45.000
+ 04 2 1 8 42 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12070000.50143 -9343363.70942 22390374.917 22390381.240 22390373.386
+ -1647.042 -1283.409 50.000 45.000
+ -10999557.23543 -8554558.23842 22783188.425 22783194.481 22783189.613
+ 3219.669 2508.833 49.000 43.000
+ -14657131.93943 -11376640.48642 22259275.394 22259282.567 22259274.367
+ 3293.942 2566.708 53.000 46.000
+ -2782620.51943 -2123406.46642 24887837.433 24887844.233 24887835.985
+ 3585.626 2793.994 46.000 37.000
+ -20018687.21143 -15587780.11842 21519631.902 21519636.083 21519630.300
+ -237.526 -185.085 55.000 48.000
+ -13036909.48243 -10117739.32242 22857685.250 22857691.244 22857684.184
+ -2941.387 -2291.990 51.000 43.000
+ -24467951.41743 -19010903.40042 20188048.634 20188051.910 20188047.496
+ -406.730 -316.932 56.000 51.000
+ -972681.15843 -735173.62742 24933914.169 24933921.565 24933913.603
+ -2419.823 -1885.576 44.000 38.000
+ -13995349.95243 -10851265.78142 22432740.784 22432748.433 22432740.321
+ -687.367 -535.611 51.000 45.000
+ 04 2 1 8 43 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -12020533.59043 -9304818.05742 22399788.279 22399793.914 22399786.557
+ -1650.319 -1285.963 51.000 45.000
+ -11096037.04043 -8629737.23342 22764829.595 22764835.364 22764829.335
+ 3212.490 2503.239 49.000 43.000
+ -14755843.92943 -11453558.83242 22240491.130 22240497.848 22240490.200
+ 3287.372 2561.589 53.000 46.000
+ -2890177.25443 -2207216.88742 24867368.527 24867378.089 24867367.947
+ 3585.679 2794.036 44.000 37.000
+ -20011526.21143 -15582200.12742 21520994.326 21520999.175 21520992.738
+ -239.446 -186.581 55.000 48.000
+ -12948497.34343 -10048846.81642 22874508.837 22874515.813 22874508.585
+ -2952.380 -2300.556 51.000 43.000
+ -24455517.42143 -19001214.55942 20190414.716 20190417.886 20190413.524
+ -421.830 -328.699 56.000 51.000
+ -899922.14143 -678478.30742 24947758.854 24947767.271 24947758.128
+ -2430.874 -1894.187 43.000 38.000
+ -13974465.79843 -10834992.42142 22436716.429 22436721.256 22436713.972
+ -704.300 -548.805 51.000 45.000
+ 04 2 1 8 43 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11970981.89143 -9266206.36742 22409217.992 22409223.030 22409216.333
+ -1653.037 -1288.081 50.000 44.000
+ -11192321.23243 -8704763.79942 22746507.787 22746511.566 22746505.654
+ 3206.373 2498.472 49.000 43.000
+ -14854380.33743 -11530340.36842 22221740.124 22221747.189 22221739.158
+ 3281.688 2557.159 53.000 46.000
+ -2997761.96943 -2291049.07842 24846895.383 24846904.343 24846894.194
+ 3586.591 2794.746 42.000 37.000
+ -20004331.22943 -15576593.64142 21522363.591 21522367.977 21522362.111
+ -240.217 -187.182 55.000 49.000
+ -12859776.03843 -9979713.41942 22891392.003 22891398.523 22891391.476
+ -2962.383 -2308.350 51.000 43.000
+ -24442647.32443 -18991185.89942 20192863.854 20192867.346 20192862.654
+ -436.056 -339.784 56.000 51.000
+ -826866.39343 -621551.78042 24961660.382 24961667.946 24961659.292
+ -2440.058 -1901.344 43.000 37.000
+ -13953091.97243 -10818337.50342 22440782.258 22440789.391 22440781.116
+ -720.294 -561.268 51.000 44.000
+ 04 2 1 8 44 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11921342.81443 -9227526.54842 22418663.563 22418669.346 22418663.053
+ -1656.445 -1290.736 51.000 44.000
+ -11288405.14643 -8779634.30442 22728222.993 22728227.653 22728221.720
+ 3199.127 2492.826 48.000 43.000
+ -14952735.94043 -11606980.99742 22203023.797 22203031.206 22203021.949
+ 3275.184 2552.091 52.000 46.000
+ -3105370.38643 -2374899.65942 24826418.312 24826426.180 24826417.206
+ 3587.328 2795.320 42.000 37.000
+ -19997099.42143 -15570958.47142 21523739.491 21523744.282 21523738.129
+ -241.972 -188.550 55.000 49.000
+ -12770745.15943 -9910338.77542 22908334.649 22908341.714 22908333.629
+ -2973.170 -2316.756 52.000 43.000
+ -24429340.71043 -18980817.09542 20195395.847 20195399.374 20195394.827
+ -451.026 -351.449 56.000 51.000
+ -753513.82543 -564393.91642 24975619.490 24975626.331 24975617.256
+ -2450.215 -1909.258 43.000 37.000
+ -13931228.25443 -10801300.86442 22444943.101 22444949.349 22444942.554
+ -737.132 -574.388 51.000 45.000
+ 04 2 1 8 44 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11871618.62643 -9188780.43742 22428125.724 22428131.476 22428125.743
+ -1659.068 -1292.780 50.000 44.000
+ -11384288.35043 -8854348.42142 22709977.806 22709982.116 22709976.484
+ 3192.783 2487.883 49.000 43.000
+ -15050910.19843 -11683480.32342 22184342.060 22184348.941 22184340.228
+ 3269.349 2547.545 52.000 46.000
+ -3213002.79743 -2458768.97242 24805935.932 24805945.546 24805936.125
+ 3588.201 2796.001 41.000 37.000
+ -19989833.12343 -15565296.41742 21525122.359 21525127.367 21525120.905
+ -242.819 -189.210 55.000 49.000
+ -12681408.94743 -9840726.20142 22925334.638 22925341.289 22925334.084
+ -2982.945 -2324.373 51.000 43.000
+ -24415601.94443 -18970111.55342 20198010.441 20198013.630 20198009.036
+ -465.135 -362.443 56.000 51.000
+ -679868.63243 -507008.06542 24989635.110 24989642.496 24989635.293
+ -2459.854 -1916.769 45.000 37.000
+ -13908879.15543 -10783885.99242 22449197.136 22449202.744 22449195.166
+ -753.058 -586.798 51.000 45.000
+ 04 2 1 8 45 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11821806.01443 -9149965.43642 22437604.651 22437610.949 22437603.390
+ -1661.911 -1294.995 50.000 44.000
+ -11479965.23843 -8928901.77142 22691769.780 22691776.062 22691769.706
+ 3185.881 2482.505 49.000 43.000
+ -15148897.31243 -11759833.81442 22165695.232 22165701.713 22165694.100
+ 3263.237 2542.782 53.000 46.000
+ -3320654.39853 -2542653.19552 24785451.536 24785458.151 24785449.895
+ 3588.855 2796.510 41.000 36.000
+ -19982529.13243 -15559605.00042 21526512.089 21526516.607 21526510.809
+ -244.027 -190.151 55.000 49.000
+ -12591766.59843 -9770875.10342 22942392.725 22942399.363 22942392.383
+ -2993.061 -2332.255 51.000 43.000
+ -24401429.98343 -18959068.46342 20200707.356 20200710.428 20200705.979
+ -479.511 -373.645 56.000 51.000
+ -605929.94843 -449393.53642 25003705.196 25003712.287 25003703.905
+ -2469.721 -1924.458 43.000 37.000
+ -13886043.92043 -10766092.32242 22453542.189 22453548.195 22453540.399
+ -769.181 -599.362 51.000 45.000
+ 04 2 1 8 45 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11771907.36743 -9111083.38842 22447099.934 22447105.381 22447098.557
+ -1665.128 -1297.502 50.000 44.000
+ -11575436.23743 -9003294.69042 22673603.191 22673609.205 22673602.170
+ 3178.442 2476.708 49.000 43.000
+ -15246697.12543 -11836041.37242 22147084.459 22147091.383 22147082.870
+ 3256.418 2537.469 52.000 46.000
+ -3428325.75143 -2626552.89742 24764961.451 24764971.483 24764962.767
+ 3589.137 2796.730 42.000 38.000
+ -19975190.19243 -15553886.33742 21527909.650 21527913.470 21527907.833
+ -245.535 -191.326 56.000 49.000
+ -12501822.99043 -9700789.23342 22959508.594 22959514.131 22959508.606
+ -3003.516 -2340.402 51.000 42.000
+ -24386829.50043 -18947691.45942 20203485.535 20203488.654 20203484.133
+ -494.137 -385.042 56.000 51.000
+ -531702.74043 -391554.16142 25017830.389 25017835.932 25017828.287
+ -2479.629 -1932.178 45.000 37.000
+ -13862727.35643 -10747923.58142 22457978.424 22457985.275 22457977.563
+ -785.566 -612.129 50.000 44.000
+ 04 2 1 8 46 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11721920.89143 -9072132.89642 22456611.436 22456617.938 22456610.824
+ -1667.792 -1299.578 49.000 44.000
+ -11670696.57243 -9077523.46842 22655475.779 22655480.179 22655474.131
+ 3171.969 2471.664 49.000 44.000
+ -15344304.92443 -11912099.30242 22128510.541 22128517.258 22128508.758
+ 3250.419 2532.794 52.000 46.000
+ -3536012.88943 -2710464.89542 24744468.777 24744477.718 24744468.915
+ 3589.142 2796.734 40.000 37.000
+ -19967813.58943 -15548138.33042 21529312.663 21529317.288 21529311.204
+ -246.458 -192.045 55.000 49.000
+ -12411577.78343 -9630468.37742 22976681.899 22976689.348 22976681.369
+ -3013.201 -2347.949 50.000 43.000
+ -24371800.56143 -18935980.59842 20206345.427 20206348.617 20206344.464
+ -508.025 -395.864 56.000 51.000
+ -457187.24343 -333490.13942 25032009.419 25032015.190 25032007.240
+ -2488.801 -1939.325 44.000 37.000
+ -13838929.56543 -10729379.87142 22462507.310 22462514.586 22462505.863
+ -801.245 -624.347 51.000 45.000
+ 04 2 1 8 46 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11671845.68343 -9033113.28542 22466141.330 22466146.380 22466140.073
+ -1670.877 -1301.982 50.000 44.000
+ -11765743.25243 -9151585.74442 22637388.548 22637393.891 22637388.388
+ 3164.726 2466.020 49.000 44.000
+ -15441717.21543 -11988004.86842 22109972.478 22109980.120 22109971.522
+ 3243.642 2527.513 51.000 46.000
+ -3643713.65443 -2794387.45942 24723975.734 24723982.570 24723975.499
+ 3590.064 2797.452 43.000 38.000
+ -19960399.29943 -15542360.96242 21530723.719 21530728.076 21530721.954
+ -247.899 -193.168 56.000 49.000
+ -12321033.17543 -9559914.23742 22993911.489 22993919.162 22993911.391
+ -3023.261 -2355.788 49.000 42.000
+ -24356344.81444 -18923937.15242 20209286.887 20209289.825 20209285.646
+ -522.477 -407.125 57.000 51.000
+ -382385.22443 -275202.86542 25046243.090 25046251.786 25046242.905
+ -2497.880 -1946.400 41.000 37.000
+ -13814652.52643 -10710462.71442 22467127.537 22467133.404 22467124.869
+ -817.281 -636.842 51.000 45.000
+ 04 2 1 8 47 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11621680.89643 -8994023.85442 22475687.326 22475692.490 22475684.789
+ -1673.594 -1304.099 49.000 43.000
+ -11860573.01843 -9225479.01442 22619342.990 22619347.902 22619342.502
+ 3157.558 2460.435 50.000 44.000
+ -15538930.59443 -12063755.43842 22091473.567 22091480.800 22091471.508
+ 3237.224 2522.512 51.000 46.000
+ -3751425.11443 -2878318.35342 24703477.312 24703485.678 24703476.937
+ 3590.702 2797.950 43.000 38.000
+ -19952946.03143 -15536553.21442 21532142.075 21532146.511 21532140.669
+ -248.953 -193.989 56.000 49.000
+ -12230189.98743 -9489127.45642 23011198.304 23011205.431 23011197.652
+ -3033.012 -2363.386 48.000 42.000
+ -24340463.33343 -18911561.96742 20212308.917 20212311.934 20212307.605
+ -536.342 -417.929 56.000 51.000
+ -307297.91143 -216693.30442 25060531.851 25060541.729 25060531.019
+ -2507.346 -1953.776 44.000 37.000
+ -13789897.47343 -10691173.06742 22471837.211 22471844.535 22471835.693
+ -832.814 -648.946 51.000 45.000
+ 04 2 1 8 47 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11571428.98343 -8954866.54042 22485249.396 22485255.436 22485248.160
+ -1677.284 -1306.974 49.000 44.000
+ -11955186.12143 -9299203.44842 22601340.027 22601344.246 22601338.194
+ 3149.502 2454.157 50.000 44.000
+ -15635945.09143 -12139351.05042 22073012.373 22073019.627 22073011.118
+ 3229.903 2516.808 52.000 46.000
+ -3859148.04543 -2962258.25242 24682980.385 24682986.657 24682980.224
+ 3590.256 2797.602 44.000 39.000
+ -19945456.36643 -15530717.10942 21533567.208 21533571.874 21533566.003
+ -250.900 -195.506 56.000 49.000
+ -12139053.34443 -9418112.00442 23028540.899 23028547.982 23028539.847
+ -3043.429 -2371.503 48.000 42.000
+ -24324161.10443 -18898858.92242 20215411.091 20215414.115 20215409.997
+ -551.036 -429.379 56.000 51.000
+ -231930.48843 -157965.44842 25074874.290 25074882.385 25074874.302
+ -2517.251 -1961.494 44.000 37.000
+ -13764669.70043 -10671515.07942 22476638.495 22476644.683 22476636.427
+ -849.407 -661.875 51.000 45.000
+ 04 2 1 8 48 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11521085.63143 -8915637.97442 22494830.247 22494836.284 22494828.668
+ -1679.915 -1309.025 49.000 44.000
+ -12049575.63643 -9372753.65342 22583377.632 22583382.555 22583376.551
+ 3142.316 2448.558 50.000 44.000
+ -15732753.50143 -12214786.07542 22054590.794 22054596.802 22054589.028
+ 3223.316 2511.675 52.000 46.000
+ -3966876.40543 -3046202.30142 24662480.878 24662487.163 24662480.504
+ 3590.752 2797.989 43.000 39.000
+ -19937926.04743 -15524849.31342 21535000.267 21535005.024 21534998.503
+ -251.836 -196.236 55.000 49.000
+ -12047621.15543 -9346866.23842 23045939.099 23045948.472 23045939.521
+ -3052.790 -2378.797 48.000 42.000
+ -24307435.84143 -18885826.24242 20218593.457 20218596.900 20218592.146
+ -564.713 -440.036 56.000 51.000
+ -156280.94743 -99017.78642 25089270.416 25089277.494 25089269.517
+ -2526.342 -1968.578 45.000 37.000
+ -13738967.56243 -10651487.44142 22481529.407 22481535.761 22481528.019
+ -864.763 -673.841 51.000 44.000
+ 04 2 1 8 48 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11470653.49843 -8876340.22042 22504427.506 22504433.167 22504426.235
+ -1683.474 -1311.798 50.000 44.000
+ -12143742.06043 -9446130.04742 22565457.598 22565462.654 22565457.051
+ 3134.274 2442.291 49.000 44.000
+ -15829356.01043 -12290060.66542 22036207.121 22036214.125 22036205.975
+ 3215.677 2505.722 52.000 46.000
+ -4074610.97643 -3130151.25442 24641980.287 24641985.894 24641979.349
+ 3590.385 2797.703 45.000 38.000
+ -19930357.66743 -15518951.86342 21536439.939 21536445.190 21536438.579
+ -253.756 -197.732 55.000 49.000
+ -11955898.16643 -9275393.87642 23063395.409 23063402.598 23063394.339
+ -3062.965 -2386.726 49.000 42.000
+ -24290292.75643 -18872467.99242 20221856.056 20221859.067 20221854.621
+ -579.156 -451.290 56.000 51.000
+ -80354.38643 -39854.27642 25103718.030 25103723.687 25103715.721
+ -2535.812 -1975.957 41.000 36.000
+ -13712796.11443 -10631094.12242 22486510.091 22486515.396 22486509.248
+ -880.881 -686.401 51.000 45.000
+ 04 2 1 8 49 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11420130.82443 -8836971.90042 22514041.162 22514047.069 22514040.076
+ -1686.013 -1313.776 50.000 44.000
+ -12237681.07343 -9519329.21942 22547582.466 22547586.917 22547580.962
+ 3127.013 2436.634 51.000 44.000
+ -15925748.17543 -12365171.33742 22017864.682 22017871.036 22017863.479
+ 3209.139 2500.628 52.000 46.000
+ -4182348.12343 -3214102.17842 24621477.137 24621483.489 24621475.032
+ 3591.152 2798.300 43.000 38.000
+ -19922749.32543 -15513023.27742 21537887.885 21537892.640 21537886.745
+ -254.707 -198.473 55.000 49.000
+ -11863885.08843 -9203695.47242 23080904.315 23080911.067 23080903.477
+ -3072.336 -2394.028 49.000 42.000
+ -24272732.21843 -18858784.44542 20225197.393 20225200.942 20225196.398
+ -592.670 -461.821 56.000 51.000
+ -4151.32943 19524.72642 25118218.067 25118225.124 25118216.226
+ -2545.064 -1983.167 41.000 35.000
+ -13686156.03843 -10610335.65042 22491579.670 22491586.013 22491577.743
+ -896.161 -698.307 51.000 44.000
+ 04 2 1 8 49 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11369517.62543 -8797533.08342 22523672.040 22523677.541 22523669.678
+ -1688.479 -1315.698 49.000 43.000
+ -12331390.31143 -9592349.35242 22529749.350 22529755.243 22529748.661
+ 3119.842 2431.046 50.000 44.000
+ -16021927.28543 -12440115.98842 21999562.587 21999568.934 21999560.835
+ 3202.588 2495.523 52.000 46.000
+ -4290086.05143 -3298053.66942 24600976.116 24600981.168 24600973.968
+ 3591.354 2798.458 44.000 38.000
+ -19915101.15843 -15507063.64942 21539343.394 21539347.794 21539342.033
+ -255.339 -198.965 55.000 49.000
+ -11771584.13243 -9131772.74842 23098469.438 23098474.964 23098467.264
+ -3081.317 -2401.026 49.000 42.000
+ -24254756.53443 -18844777.41042 20228618.028 20228621.454 20228616.976
+ -605.825 -472.071 56.000 51.000
+ 72325.61643 79117.15242 25132772.242 25132779.523 25132770.469
+ -2553.401 -1989.663 41.000 35.000
+ -13659049.70743 -10589213.84442 22496737.800 22496743.055 22496735.818
+ -911.209 -710.033 50.000 44.000
+ 04 2 1 8 50 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11318812.32443 -8758022.48842 22533321.069 22533326.351 22533320.120
+ -1692.099 -1318.519 49.000 44.000
+ -12424865.77343 -9665187.32242 22511960.951 22511967.512 22511959.795
+ 3111.499 2424.545 50.000 44.000
+ -16117889.28243 -12514891.46942 21981301.607 21981307.763 21981300.259
+ 3194.701 2489.377 53.000 47.000
+ -4397821.38843 -3382003.24142 24580474.335 24580480.118 24580473.766
+ 3590.852 2798.066 45.000 38.000
+ -19907411.45043 -15501071.65442 21540806.395 21540811.311 21540805.021
+ -257.369 -200.547 55.000 49.000
+ -11678996.27243 -9059626.46342 23116087.698 23116096.355 23116087.414
+ -3091.437 -2408.912 49.000 42.000
+ -24236366.41444 -18830447.44042 20232118.015 20232121.003 20232116.468
+ -620.224 -483.291 57.000 51.000
+ 149075.65543 138922.34742 25147378.373 25147386.426 25147375.491
+ -2563.125 -1997.240 41.000 35.000
+ -13631478.30643 -10567729.65242 22501984.098 22501990.852 22501981.318
+ -927.044 -722.372 51.000 44.000
+ 04 2 1 8 50 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11268011.66343 -8718437.57342 22542988.262 22542994.839 22542987.654
+ -1695.155 -1320.900 50.000 44.000
+ -12518102.23443 -9737839.05842 22494218.455 22494224.158 22494218.061
+ 3103.551 2418.351 49.000 44.000
+ -16213628.12143 -12589493.06142 21963083.283 21963089.480 21963081.720
+ 3187.236 2483.561 53.000 47.000
+ -4505548.85143 -3465946.62342 24559973.873 24559980.272 24559973.140
+ 3590.532 2797.817 45.000 39.000
+ -19899677.02543 -15495044.81942 21542278.425 21542283.250 21542277.176
+ -258.863 -201.711 55.000 49.000
+ -11586120.41043 -8987255.76342 23133761.378 23133769.337 23133759.353
+ -3100.940 -2416.317 50.000 43.000
+ -24217560.91243 -18815793.80042 20235696.459 20235699.669 20235695.210
+ -634.078 -494.087 56.000 51.000
+ 226099.72843 198941.10242 25162036.180 25162042.110 25162032.851
+ -2572.685 -2004.690 39.000 35.000
+ -13603440.99143 -10545882.42242 22507319.757 22507324.166 22507317.757
+ -942.641 -734.525 51.000 44.000
+ 04 2 1 8 51 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11217119.93643 -8678781.70642 22552672.718 22552678.507 22552672.103
+ -1697.933 -1323.065 49.000 43.000
+ -12611101.25643 -9810305.76042 22476522.338 22476527.236 22476520.468
+ 3096.078 2412.528 50.000 44.000
+ -16309145.73943 -12663922.26542 21944906.257 21944912.580 21944904.666
+ 3180.228 2478.100 53.000 46.000
+ -4613271.06343 -3549885.97642 24539473.883 24539480.746 24539473.070
+ 3590.764 2797.998 43.000 38.000
+ -19891901.97843 -15488986.32842 21543758.470 21543762.674 21543756.591
+ -259.823 -202.459 55.000 49.000
+ -11492963.38243 -8914665.95442 23151489.107 23151496.416 23151488.259
+ -3109.863 -2423.270 50.000 43.000
+ -24198346.69544 -18800821.67942 20239352.854 20239355.901 20239351.610
+ -647.230 -504.335 57.000 51.000
+ 303390.88843 259167.97642 25176741.673 25176750.183 25176741.089
+ -2581.072 -2011.225 39.000 35.000
+ -13574944.90643 -10523677.69942 22512741.746 22512748.493 22512741.104
+ -957.552 -746.144 51.000 44.000
+ 04 2 1 8 51 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11166135.92943 -8639053.93342 22562374.635 22562379.882 22562373.274
+ -1701.592 -1325.916 50.000 43.000
+ -12703859.23443 -9882584.62742 22458870.086 22458876.563 22458869.720
+ 3087.121 2405.549 50.000 44.000
+ -16404438.20743 -12738176.02942 21926772.823 21926779.219 21926771.314
+ 3171.856 2471.576 53.000 46.000
+ -4720984.88843 -3633818.74442 24518976.849 24518983.792 24518975.722
+ 3589.806 2797.251 44.000 38.000
+ -19884085.15643 -15482895.28642 21545245.222 21545250.682 21545244.046
+ -261.904 -204.081 55.000 49.000
+ -11399526.62243 -8841858.18342 23169268.835 23169276.121 23169270.088
+ -3119.825 -2431.032 49.000 42.000
+ -24178724.96043 -18785532.00542 20243086.574 20243089.775 20243085.323
+ -661.418 -515.391 56.000 51.000
+ 380948.06143 319602.10142 25191503.431 25191507.556 25191498.332
+ -2590.280 -2018.400 41.000 34.000
+ -13545991.43243 -10501116.58242 22518252.701 22518257.678 22518249.806
+ -973.436 -758.521 51.000 44.000
+ 04 2 1 8 52 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11115057.79343 -8599252.80842 22572093.917 22572100.233 22572092.501
+ -1703.807 -1327.642 50.000 43.000
+ -12796371.91643 -9954672.38742 22441266.249 22441270.804 22441265.701
+ 3079.949 2399.960 50.000 44.000
+ -16499500.87043 -12812250.72542 21908682.645 21908688.812 21908681.502
+ 3165.321 2466.484 53.000 47.000
+ -4828686.75443 -3717742.18242 24498481.144 24498489.200 24498480.702
+ 3590.209 2797.565 43.000 38.000
+ -19876224.49043 -15476770.08342 21546741.321 21546746.058 21546739.792
+ -262.429 -204.490 55.000 49.000
+ -11305810.36143 -8768832.62142 23187102.805 23187109.379 23187103.124
+ -3128.217 -2437.572 49.000 42.000
+ -24158696.10444 -18769925.09242 20246898.031 20246901.002 20246896.657
+ -673.945 -525.152 57.000 51.000
+ 458770.54943 380242.97442 25206310.025 25206316.630 25206309.284
+ -2598.290 -2024.641 41.000 35.000
+ -13516581.39043 -10478199.68442 22523848.669 22523855.734 22523846.733
+ -987.581 -769.544 51.000 44.000
+ 04 2 1 8 52 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11063888.48043 -8559380.63942 22581832.230 22581837.595 22581831.120
+ -1706.830 -1329.997 49.000 44.000
+ -12888640.02643 -10026569.56542 22423708.063 22423713.835 22423706.967
+ 3071.718 2393.546 51.000 44.000
+ -16594334.08243 -12886146.63642 21890636.560 21890642.383 21890634.697
+ 3157.544 2460.424 53.000 47.000
+ -4936377.42943 -3801656.92342 24477989.032 24477996.041 24477989.319
+ 3589.672 2797.147 44.000 38.000
+ -19868323.12443 -15470613.17242 21548245.265 21548249.473 21548243.524
+ -263.778 -205.541 55.000 49.000
+ -11211819.87043 -8695593.38342 23204990.045 23204997.353 23204989.473
+ -3137.297 -2444.647 49.000 42.000
+ -24138265.50543 -18754005.13842 20250785.658 20250789.050 20250784.423
+ -687.416 -535.649 56.000 51.000
+ 536853.00343 441086.40942 25221170.718 25221173.847 25221168.214
+ -2606.596 -2031.114 41.000 35.000
+ -13486720.35643 -10454931.37442 22529529.717 22529536.108 22529528.392
+ -1002.592 -781.240 50.000 44.000
+ 04 2 1 8 53 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -11012622.18843 -8519432.90042 22591588.129 22591593.890 22591586.376
+ -1710.394 -1332.774 50.000 44.000
+ -12980655.26543 -10098269.69442 22406197.901 22406202.892 22406197.090
+ 3062.913 2386.685 51.000 44.000
+ -16688929.68943 -12959857.39842 21872634.976 21872642.022 21872633.671
+ 3149.297 2453.998 52.000 47.000
+ -5044049.41443 -3885557.07942 24457498.246 24457507.532 24457499.005
+ 3588.664 2796.362 43.000 38.000
+ -19860375.04543 -15464419.84842 21549757.294 21549762.024 21549756.421
+ -265.766 -207.090 55.000 49.000
+ -11117551.67343 -8622137.75142 23222928.565 23222934.758 23222928.028
+ -3146.842 -2452.085 50.000 42.000
+ -24117429.72744 -18737769.44942 20254750.714 20254754.248 20254749.357
+ -701.271 -546.445 57.000 51.000
+ 615198.74343 502135.01442 25236079.065 25236082.894 25236077.826
+ -2615.724 -2038.226 44.000 36.000
+ -13456405.29443 -10431309.27842 22535299.543 22535304.700 22535298.217
+ -1018.024 -793.265 51.000 44.000
+ 04 2 1 8 53 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10961259.45943 -8479410.04042 22601361.036 22601368.132 22601360.191
+ -1714.182 -1335.726 49.000 44.000
+ -13072415.73343 -10169771.29842 22388736.979 22388741.571 22388735.969
+ 3054.001 2379.741 51.000 44.000
+ -16783285.50243 -13033381.27842 21854680.202 21854685.737 21854678.739
+ 3140.842 2447.409 52.000 46.000
+ -5151701.46043 -3969441.72242 24437013.654 24437020.747 24437013.703
+ 3587.699 2795.610 44.000 38.000
+ -19852380.70543 -15458190.48442 21551278.794 21551283.701 21551277.482
+ -267.513 -208.452 55.000 49.000
+ -11023008.88843 -8548468.16342 23240919.882 23240926.741 23240917.723
+ -3156.437 -2459.561 50.000 42.000
+ -24096191.73344 -18721220.35542 20258792.271 20258795.627 20258791.078
+ -714.880 -557.049 57.000 51.000
+ 693804.50043 563386.26342 25251037.422 25251040.475 25251036.361
+ -2624.951 -2045.416 43.000 35.000
+ -13425639.50343 -10407335.97142 22541154.496 22541160.553 22541151.967
+ -1033.319 -805.184 51.000 44.000
+ 04 2 1 8 54 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10909802.87243 -8439314.02442 22611153.445 22611159.007 22611152.283
+ -1716.356 -1337.420 49.000 44.000
+ -13163921.64143 -10241074.55642 22371323.728 22371328.407 22371322.328
+ 3046.178 2373.645 51.000 45.000
+ -16877401.35643 -13106718.18942 21836770.190 21836776.803 21836768.804
+ 3133.662 2441.815 52.000 47.000
+ -5259333.94143 -4053311.08542 24416532.815 24416539.062 24416532.399
+ 3588.003 2795.846 46.000 39.000
+ -19844342.52243 -15451926.96342 21552808.109 21552812.841 21552806.895
+ -268.179 -208.971 55.000 49.000
+ -10928196.31243 -8474588.36442 23258961.171 23258970.578 23258960.570
+ -3164.327 -2465.709 49.000 42.000
+ -24074556.31044 -18704361.58042 20262909.598 20262912.498 20262908.180
+ -727.292 -566.721 57.000 51.000
+ 772665.37943 624836.28842 25266043.160 25266050.917 25266042.807
+ -2632.256 -2051.108 41.000 35.000
+ -13394428.10443 -10383015.42142 22547093.948 22547098.627 22547090.992
+ -1047.235 -816.027 51.000 44.000
+ 04 2 1 8 54 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10858251.08543 -8399143.81242 22620962.699 22620969.588 22620961.226
+ -1719.870 -1340.158 48.000 43.000
+ -13255169.21843 -10312176.51142 22353959.480 22353965.651 22353959.028
+ 3037.191 2366.642 51.000 45.000
+ -16971273.36243 -13179865.09942 21818907.149 21818913.661 21818906.204
+ 3124.924 2435.006 53.000 47.000
+ -5366943.80343 -4137162.88742 24396054.583 24396061.157 24396053.765
+ 3586.676 2794.812 44.000 38.000
+ -19836259.02343 -15445628.13142 21554346.060 21554351.246 21554344.702
+ -270.303 -210.626 55.000 49.000
+ -10833115.34043 -8400499.42442 23277054.607 23277060.188 23277053.588
+ -3173.819 -2473.106 49.000 42.000
+ -24052524.81244 -18687194.17042 20267101.655 20267105.096 20267100.442
+ -740.969 -577.378 57.000 51.000
+ 851780.16443 686484.17842 25281097.107 25281104.281 25281098.545
+ -2641.782 -2058.531 40.000 35.000
+ -13362772.59443 -10358348.80542 22553117.986 22553123.922 22553115.618
+ -1062.549 -827.960 51.000 44.000
+ 04 2 1 8 55 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10806601.77043 -8358897.61942 22630792.033 22630797.257 22630791.872
+ -1723.259 -1342.799 49.000 43.000
+ -13346153.89343 -10383073.61642 22336646.191 22336650.444 22336645.730
+ 3028.408 2359.798 51.000 45.000
+ -17064896.68443 -13252818.21842 21801091.444 21801096.978 21801089.938
+ 3116.645 2428.555 53.000 47.000
+ -5474526.71143 -4220993.62942 24375582.661 24375589.471 24375580.986
+ 3585.487 2793.886 45.000 39.000
+ -19828127.83643 -15439292.13642 21555893.836 21555898.381 21555892.732
+ -271.848 -211.830 55.000 49.000
+ -10737766.38443 -8326201.65742 23295199.134 23295206.676 23295197.906
+ -3182.771 -2480.081 50.000 41.000
+ -24030097.07443 -18669718.00742 20271369.301 20271372.781 20271368.142
+ -754.175 -587.669 56.000 51.000
+ 931148.64643 748329.74442 25296202.577 25296209.191 25296200.358
+ -2649.894 -2064.852 42.000 35.000
+ -13330673.60343 -10333336.62842 22559225.577 22559231.930 22559223.390
+ -1077.200 -839.377 50.000 44.000
+ 04 2 1 8 55 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10754858.14143 -8318577.93142 22640637.326 22640644.488 22640636.280
+ -1726.825 -1345.578 49.000 44.000
+ -13436876.57543 -10453766.56642 22319381.684 22319386.941 22319380.818
+ 3019.272 2352.679 51.000 45.000
+ -17158272.05343 -13325578.13042 21783322.693 21783328.079 21783321.099
+ 3107.921 2421.757 53.000 47.000
+ -5582084.09543 -4304804.48242 24355116.428 24355123.069 24355115.755
+ 3584.264 2792.933 46.000 39.000
+ -19819952.19443 -15432921.49942 21557449.315 21557454.099 21557448.390
+ -273.726 -213.293 55.000 49.000
+ -10642154.77543 -8251699.18042 23313392.913 23313401.601 23313392.839
+ -3191.917 -2487.208 49.000 41.000
+ -24007279.07144 -18651937.74242 20275711.608 20275715.012 20275710.450
+ -767.483 -598.039 57.000 51.000
+ 1010765.11343 810368.46342 25311352.741 25311357.090 25311353.485
+ -2658.852 -2071.833 42.000 34.000
+ -13298137.14943 -10307983.58042 22565416.183 22565423.757 22565414.631
+ -1092.276 -851.124 50.000 44.000
+ 04 2 1 8 56 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10703012.68243 -8278178.89142 22650504.354 22650510.406 22650503.167
+ -1730.011 -1348.060 49.000 44.000
+ -13527327.00243 -10524247.36942 22302169.976 22302175.302 22302168.962
+ 3010.311 2345.697 51.000 45.000
+ -17251389.01143 -13398136.69942 21765603.087 21765608.362 21765601.117
+ 3099.375 2415.097 53.000 47.000
+ -5689606.33743 -4388587.97242 24334655.049 24334660.485 24334653.736
+ 3583.374 2792.239 47.000 39.000
+ -19811724.33043 -15426510.17742 21559015.545 21559019.625 21559014.063
+ -275.292 -214.513 55.000 49.000
+ -10546275.37343 -8176988.04642 23331637.809 23331643.727 23331639.046
+ -3200.673 -2494.031 49.000 41.000
+ -23984065.31344 -18633849.09542 20280129.113 20280132.335 20280127.823
+ -780.464 -608.154 57.000 51.000
+ -354995.57952 25326552.681 25326555.578
+ -2666.844 -2078.060 37.000 31.000
+ -13265158.31743 -10282285.82542 22571692.378 22571698.884 22571690.424
+ -1106.575 -862.266 50.000 44.000
+ 04 2 1 8 56 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10651072.97143 -8237706.41042 22660388.217 22660392.679 22660387.279
+ -1732.691 -1350.149 50.000 43.000
+ -13617510.50443 -10594520.19642 22285008.023 22285013.293 22285007.000
+ 3001.881 2339.128 51.000 45.000
+ -17344252.76343 -13470497.97842 21747930.779 21747937.360 21747929.776
+ 3091.445 2408.918 54.000 47.000
+ -5797098.99543 -4472348.41342 24314198.194 24314205.547 24314198.015
+ 3582.891 2791.863 46.000 39.000
+ -19803451.43343 -15420063.76342 21560589.597 21560594.117 21560588.450
+ -276.143 -215.176 55.000 49.000
+ -10450138.22343 -8102076.08942 23349932.547 23349941.066 23349932.208
+ -3208.534 -2500.156 50.000 42.000
+ -23960466.12844 -18615460.12042 20284619.996 20284623.144 20284618.685
+ -792.668 -617.663 57.000 51.000
+ -404673.04053 -292570.38452 25341796.394 25341800.928 25341793.784
+ -2674.126 -2083.734 38.000 32.000
+ -13231747.50843 -10256251.46442 22578050.638 22578056.817 22578050.284
+ -1120.390 -873.031 51.000 44.000
+ 04 2 1 8 57 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10599032.57343 -8197155.46242 22670291.203 22670296.131 22670290.105
+ -1736.335 -1352.988 49.000 43.000
+ -13707418.31443 -10664578.18542 22267899.101 22267903.530 22267898.135
+ 2992.268 2331.637 50.000 45.000
+ -17436854.28143 -13542654.91942 21730309.829 21730315.079 21730307.586
+ 3082.370 2401.847 53.000 47.000
+ -5904553.82643 -4556079.37042 24293749.986 24293757.427 24293749.347
+ 3580.900 2790.312 47.000 39.000
+ -19795127.42343 -15413577.52542 21562173.471 21562178.009 21562172.424
+ -278.331 -216.881 55.000 49.000
+ -10353739.49843 -8026960.30442 23368276.850 23368284.198 23368278.308
+ -3217.547 -2507.179 49.000 42.000
+ -23936477.45644 -18596767.64942 20289184.895 20289188.129 20289183.560
+ -806.175 -628.188 57.000 51.000
+ -324313.86553 -229952.85852 25357085.613 25357098.732 25357089.350
+ -2682.869 -2090.547 38.000 32.000
+ -13197901.37443 -10229877.87242 22584491.063 22584497.748 22584490.960
+ -1135.491 -884.798 50.000 44.000
+ 04 2 1 8 57 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10546895.28343 -8156529.02242 22680213.336 22680219.184 22680212.515
+ -1738.731 -1354.855 50.000 44.000
+ -13797051.91043 -10734422.49642 22250843.122 22250847.327 22250842.153
+ 2983.797 2325.037 51.000 45.000
+ -17529194.70643 -13614608.39942 21712737.547 21712743.659 21712736.222
+ 3074.386 2395.625 54.000 47.000
+ -6011972.68743 -4639782.28042 24273309.178 24273315.270 24273308.464
+ 3580.588 2790.069 44.000 39.000
+ -19786755.73243 -15407054.12542 21563766.509 21563771.200 21563765.283
+ -279.116 -217.493 55.000 48.000
+ -10257085.61443 -7951645.72242 23386669.409 23386678.694 23386669.901
+ -3225.237 -2513.172 49.000 42.000
+ -23912105.54744 -18577776.54942 20293822.736 20293825.858 20293820.954
+ -817.977 -637.385 57.000 51.000
+ -243714.17343 -167147.96042 25372425.611 25372428.405 25372422.544
+ -2690.348 -2096.375 40.000 34.000
+ -13163626.40543 -10203170.12442 22591014.772 22591020.331 22591012.792
+ -1148.878 -895.230 51.000 44.000
+ 04 2 1 8 58 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10494657.25543 -8115824.09942 22690153.286 22690158.980 22690151.754
+ -1743.401 -1358.494 50.000 43.000
+ -13886404.63643 -10804047.96542 22233839.360 22233844.459 22233838.539
+ 2973.313 2316.867 51.000 45.000
+ -17621267.49043 -13686353.33842 21695217.417 21695222.232 21695215.387
+ 3064.237 2387.717 54.000 47.000
+ -6119349.48043 -4723452.41142 24252875.861 24252882.956 24252875.955
+ 3578.204 2788.211 46.000 39.000
+ -19778332.15043 -15400490.29542 21565369.870 21565373.868 21565368.472
+ -281.956 -219.706 55.000 49.000
+ -10160174.86643 -7876130.99042 23405110.724 23405117.938 23405110.288
+ -3234.914 -2520.712 48.000 42.000
+ -23887348.97044 -18558485.71042 20298533.723 20298536.812 20298532.614
+ -831.884 -648.221 57.000 51.000
+ -162872.68153 -104154.54152 25387807.909 25387814.415 25387805.687
+ -2699.541 -2103.538 38.000 33.000
+ -13128921.46343 -10176127.32842 22597617.852 22597623.739 22597617.038
+ -1164.279 -907.230 50.000 44.000
+ 04 2 1 8 58 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10442320.38643 -8075042.13942 22700112.619 22700117.384 22700110.200
+ -1745.732 -1360.311 49.000 43.000
+ -13975476.26843 -10873454.39542 22216889.378 22216894.406 22216888.824
+ 2964.847 2310.270 51.000 45.000
+ -17713072.12043 -13757889.32742 21677747.062 21677753.151 21677745.598
+ 3056.033 2381.324 54.000 47.000
+ -6226684.31343 -4807089.89042 24232450.876 24232456.977 24232450.909
+ 3577.515 2787.674 46.000 39.000
+ -19769858.79643 -15393887.68142 21566982.152 21566986.713 21566980.824
+ -282.838 -220.393 55.000 49.000
+ -10063012.12243 -7800419.89842 23423600.461 23423608.455 23423600.002
+ -3242.350 -2526.506 48.000 42.000
+ -23862212.12044 -18538898.55842 20303317.124 20303320.345 20303315.649
+ -843.796 -657.503 57.000 51.000
+ -81793.80643 -40976.22742 25403238.327 25403245.585 25403237.174
+ -2706.131 -2108.673 38.000 33.000
+ -13093791.52743 -10148753.39242 22604302.810 22604308.628 22604301.057
+ -1177.650 -917.649 50.000 44.000
+ 04 2 1 8 59 0.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10389882.89643 -8034181.79142 22710090.865 22710096.904 22710090.622
+ -1749.312 -1363.100 49.000 43.000
+ -14064262.52743 -10942638.45042 22199993.093 22199998.152 22199992.384
+ 2955.063 2302.646 51.000 45.000
+ -17804603.97343 -13829212.76742 21660328.704 21660334.653 21660327.005
+ 3046.731 2374.076 53.000 47.000
+ -6333973.22243 -4890691.54042 24212035.100 24212040.750 24212033.597
+ 3575.974 2786.473 46.000 39.000
+ -19761333.25243 -15387244.40542 21568604.215 21568609.149 21568602.903
+ -284.715 -221.856 55.000 49.000
+ -9965597.72243 -7724512.70942 23442138.291 23442145.045 23442137.562
+ -3251.058 -2533.292 49.000 42.000
+ -23836695.73244 -18519015.65442 20308172.505 20308175.742 20308171.437
+ -856.594 -667.476 57.000 51.000
+ -478.15943 22386.59242 25418713.183 25418719.964 25418707.536
+ -2714.388 -2115.107 38.000 32.000
+ -13058237.76743 -10121049.19742 22611068.957 22611074.105 22611067.048
+ -1191.964 -928.803 50.000 44.000
+ 04 2 1 8 59 30.0000000 0 9G27G29G 7G26G 8G13G28G31G10
+ -10337344.15843 -7993242.53642 22720088.680 22720094.403 22720087.679
+ -1752.926 -1365.916 49.000 43.000
+ -14152760.68443 -11011598.01842 22183153.336 22183158.174 22183151.457
+ 2945.213 2294.971 50.000 45.000
+ -17895860.14643 -13900321.38042 21642963.444 21642969.530 21642962.197
+ 3037.153 2366.613 53.000 47.000
+ -6441213.82143 -4974255.55342 24191628.647 24191633.491 24191627.143
+ 3573.830 2784.802 48.000 40.000
+ -19752755.08443 -15380560.11842 21570236.259 21570241.407 21570235.202
+ -286.913 -223.568 55.000 49.000
+ -9867933.90443 -7648411.14842 23460723.220 23460729.555 23460723.703
+ -3259.713 -2540.036 48.000 41.000
+ -23810801.62644 -18498838.42742 20313100.140 20313103.316 20313098.930
+ -869.378 -677.437 57.000 51.000
+ 85932.14752 25434230.559 25434239.753
+ -2722.325 -2121.292 38.000 32.000
+ -13022262.73443 -10093016.73342 22617913.999 22617920.316 22617912.244
+ -1206.028 -939.762 50.000 44.000
+ 04 2 1 9 0 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -10284704.46043 -7952224.62242 22730106.293 22730111.848 22730104.594
+ -1756.078 -1368.372 49.000 43.000
+ -14240968.25243 -11080331.14542 22166366.995 22166372.450 22166367.069
+ 2935.481 2287.388 50.000 45.000
+ -17986838.38543 -13971213.42442 21625650.798 21625656.619 21625649.410
+ 3027.909 2359.410 53.000 47.000
+ -6548404.56243 -5057780.73742 24171229.169 24171236.022 24171229.228
+ 3572.407 2783.694 47.000 40.000
+ -19744124.35943 -15373834.87342 21571879.505 21571883.921 21571878.040
+ -288.399 -224.726 55.000 49.000
+ -9770023.53543 -7572117.46942 23479354.792 23479363.074 23479355.275
+ -3267.467 -2546.078 48.000 41.000
+ -23784532.80044 -18478369.20742 20318098.814 20318101.976 20318097.489
+ -881.621 -686.977 57.000 51.000
+ -12985869.44243 -10064658.35942 22624840.042 22624846.529 22624838.627
+ -1219.832 -950.518 51.000 44.000
+ 04 2 1 9 0 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -10231963.83543 -7911128.07142 22740142.142 22740148.444 22740140.791
+ -1759.422 -1370.978 49.000 43.000
+ -14328883.15843 -11148836.22142 22149637.298 22149643.697 22149636.031
+ 2925.901 2279.923 50.000 45.000
+ -18077535.82943 -14041886.66842 21608391.482 21608397.177 21608389.855
+ 3018.893 2352.384 53.000 47.000
+ -6655542.95643 -5141265.12342 24150842.247 24150847.643 24150842.399
+ 3570.981 2782.583 47.000 40.000
+ -19735440.64743 -15367068.34242 21573531.936 21573535.736 21573530.471
+ -289.986 -225.963 55.000 49.000
+ -9671868.96743 -7495633.54142 23498034.262 23498041.277 23498032.533
+ -3275.316 -2552.194 48.000 41.000
+ -23757891.62743 -18457609.84842 20323168.193 20323171.534 20323166.909
+ -893.838 -696.497 56.000 51.000
+ -12949060.90743 -10035976.41542 22631845.362 22631850.503 22631842.531
+ -1233.517 -961.182 51.000 44.000
+ 04 2 1 9 1 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -10179119.11343 -7869950.39642 22750198.322 22750203.762 22750197.421
+ -1762.977 -1373.748 49.000 43.000
+ -14416499.61543 -11217108.74642 22132964.726 22132969.489 22132964.524
+ 2915.878 2272.113 51.000 45.000
+ -18167946.95243 -14112336.81142 21591186.609 21591193.182 21591185.661
+ 3009.252 2344.872 53.000 47.000
+ -6762624.00943 -5224704.83142 24130466.106 24130472.110 24130464.405
+ 3568.871 2780.938 47.000 40.000
+ -19726700.99843 -15360258.22042 21575195.054 21575199.080 21575193.402
+ -291.895 -227.451 55.000 49.000
+ -9573469.52343 -7418958.78142 23516756.806 23516764.235 23516757.410
+ -3283.628 -2558.671 46.000 41.000
+ -23730877.44844 -18436559.83242 20328308.978 20328312.460 20328307.875
+ -906.304 -706.211 57.000 51.000
+ -12911836.93043 -10006970.75242 22638927.574 22638933.906 22638926.245
+ -1247.361 -971.970 50.000 44.000
+ 04 2 1 9 1 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -10126172.40743 -7828693.24442 22760274.313 22760279.138 22760273.741
+ -1766.080 -1376.166 50.000 44.000
+ -14503817.31143 -11285148.45942 22116349.497 22116353.843 22116348.115
+ 2905.890 2264.330 51.000 45.000
+ -18258071.14143 -14182563.36842 21574036.456 21574042.632 21574035.287
+ 2999.773 2337.485 53.000 47.000
+ -6869647.75143 -5308099.87842 24110100.543 24110105.092 24110098.397
+ 3566.889 2779.394 47.000 41.000
+ -19717906.89443 -15353405.66542 21576868.522 21576872.499 21576867.149
+ -293.621 -228.795 55.000 49.000
+ -9474829.88343 -7342096.87642 23535528.877 23535536.052 23535528.055
+ -3291.905 -2565.121 47.000 41.000
+ -23703494.87043 -18415222.74642 20333519.576 20333523.030 20333518.613
+ -918.472 -715.692 56.000 51.000
+ -12874202.35943 -9977645.16242 22646089.686 22646095.716 22646088.018
+ -1260.989 -982.589 51.000 44.000
+ 04 2 1 9 2 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -10073122.90743 -7787355.99442 22770367.959 22770374.529 22770366.794
+ -1769.852 -1379.105 49.000 43.000
+ -14590833.32143 -11352953.10742 22099790.980 22099795.932 22099790.360
+ 2895.785 2256.456 52.000 46.000
+ -18347905.24943 -14252563.89442 21556941.342 21556947.903 21556940.110
+ 2989.793 2329.709 54.000 47.000
+ -6976611.51743 -5391448.18442 24089745.237 24089751.376 24089745.459
+ 3564.548 2777.570 48.000 41.000
+ -19709057.71743 -15346510.19842 21578552.374 21578557.301 21578550.891
+ -295.665 -230.388 55.000 49.000
+ -9375952.09543 -7265049.39442 23554343.941 23554353.043 23554343.582
+ -3299.646 -2571.153 47.000 41.000
+ -23675745.85543 -18393600.12642 20338800.238 20338803.715 20338799.001
+ -930.815 -725.310 56.000 51.000
+ -12836159.92343 -9948001.73042 22653329.135 22653333.668 22653327.701
+ -1274.522 -993.134 50.000 44.000
+ 04 2 1 9 2 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -10019969.97043 -7745938.15242 22780483.116 22780488.960 22780481.718
+ -1773.687 -1382.094 48.000 43.000
+ -14677544.44443 -11420520.17742 22083290.223 22083294.633 22083289.528
+ 2884.852 2247.937 51.000 45.000
+ -18437446.00043 -14322335.83742 21539902.922 21539908.248 21539901.135
+ 2979.419 2321.625 54.000 48.000
+ -7083512.38843 -5474747.47542 24069401.965 24069409.020 24069401.109
+ 3561.834 2775.455 48.000 41.000
+ -19700152.45443 -15339571.03342 21580246.265 21580251.074 21580245.129
+ -298.135 -232.313 55.000 48.000
+ -9276837.94243 -7187817.73442 23573206.091 23573213.965 23573205.847
+ -3308.136 -2577.768 48.000 41.000
+ -23647632.15044 -18371693.33242 20344150.185 20344153.349 20344148.834
+ -943.495 -735.191 57.000 51.000
+ -12797711.69143 -9918042.11242 22660645.742 22660650.872 22660645.087
+ -1288.746 -1004.218 50.000 43.000
+ 04 2 1 9 3 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9966711.92443 -7704438.38842 22790618.140 22790623.791 22790617.227
+ -1777.751 -1385.260 49.000 43.000
+ -14763946.35643 -11487846.28942 22066848.399 22066853.505 22066847.331
+ 2874.391 2239.785 52.000 45.000
+ -18526689.01843 -14391875.78142 21522920.977 21522926.167 21522919.421
+ 2969.263 2313.711 55.000 48.000
+ -7190346.53543 -5557994.78442 24049072.941 24049078.852 24049072.532
+ 3559.389 2773.550 48.000 41.000
+ -19691188.93243 -15332586.47142 21581952.009 21581956.865 21581951.223
+ -300.342 -234.033 55.000 48.000
+ -9177488.12843 -7110402.42542 23592112.874 23592119.995 23592111.838
+ -3316.271 -2584.107 49.000 41.000
+ -23619154.55244 -18349502.98642 20349569.070 20349572.560 20349567.980
+ -955.942 -744.890 57.000 51.000
+ -12758859.04843 -9887767.35842 22668039.580 22668044.956 22668038.053
+ -1302.443 -1014.891 51.000 44.000
+ 04 2 1 9 3 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9913347.52343 -7662855.76442 22800773.884 22800778.940 22800772.747
+ -1780.902 -1387.716 49.000 43.000
+ -14850035.72143 -11554928.86642 22050466.008 22050471.075 22050465.471
+ 2864.049 2231.726 52.000 46.000
+ -18615630.61643 -14461180.85742 21505995.919 21506001.005 21505993.814
+ 2959.507 2306.109 54.000 48.000
+ -7297110.83343 -5641187.66642 24028755.524 24028762.509 24028756.260
+ 3557.364 2771.972 48.000 41.000
+ -19682165.95743 -15325555.56542 21583669.166 21583674.108 21583667.727
+ -302.082 -235.388 55.000 48.000
+ -9077904.26243 -7032804.76742 23611061.068 23611069.203 23611062.314
+ -3323.677 -2589.878 48.000 40.000
+ -23590314.37744 -18327030.10842 20355057.302 20355060.467 20355056.298
+ -967.585 -753.962 57.000 51.000
+ -12719603.89243 -9857178.95242 22675507.933 22675515.287 22675506.244
+ -1315.428 -1025.009 50.000 44.000
+ 04 2 1 9 4 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9859880.34543 -7621193.04042 22810946.850 22810951.935 22810944.988
+ -1784.066 -1390.181 48.000 42.000
+ -14935813.56343 -11621768.70142 22034142.687 22034147.817 22034141.933
+ 2853.781 2223.725 51.000 46.000
+ -18704271.72543 -14530251.77542 21489127.683 21489133.493 21489126.110
+ 2949.422 2298.251 54.000 48.000
+ -7403806.64343 -5724327.16142 24008451.505 24008459.404 24008450.639
+ 3555.245 2770.321 47.000 41.000
+ -19673086.80443 -15318480.90442 21585396.677 21585401.678 21585395.531
+ -303.789 -236.719 55.000 48.000
+ -8978092.57043 -6955029.56242 23630055.731 23630064.213 23630055.398
+ -3330.999 -2595.584 48.000 40.000
+ -23561117.80844 -18304279.51742 20360613.228 20360616.364 20360612.022
+ -979.320 -763.106 57.000 51.000
+ -12679952.73943 -9826282.00042 22683054.117 22683060.555 22683053.326
+ -1328.426 -1035.137 51.000 44.000
+ 04 2 1 9 4 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9806305.70343 -7579446.58642 22821143.223 22821150.059 22821141.926
+ -1787.357 -1392.746 49.000 43.000
+ -15021273.00543 -11688360.42842 22017880.323 22017885.846 22017879.009
+ 2843.538 2215.744 51.000 46.000
+ -18792605.45643 -14599083.18542 21472317.964 21472324.163 21472316.593
+ 2939.580 2290.582 55.000 48.000
+ -7510427.34843 -5807408.14642 23988163.410 23988168.781 23988161.564
+ 3553.088 2768.640 48.000 41.000
+ -19663946.81343 -15311358.82842 21587136.116 21587140.630 21587134.684
+ -305.331 -237.920 55.000 48.000
+ -8878050.95143 -6877075.19442 23649092.092 23649100.563 23649091.273
+ -3338.434 -2601.377 47.000 40.000
+ -23531562.78843 -18281249.61542 20366237.041 20366240.563 20366235.724
+ -990.819 -772.067 56.000 51.000
+ -12639904.06143 -9795075.26142 22690675.791 22690681.867 22690673.663
+ -1341.261 -1045.138 51.000 44.000
+ 04 2 1 9 5 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9752625.84043 -7537618.14842 22831356.671 22831362.910 22831355.806
+ -1791.433 -1395.922 48.000 43.000
+ -15106413.84643 -11754703.88942 22001678.857 22001683.472 22001678.711
+ 2832.406 2207.070 52.000 46.000
+ -18880631.17943 -14667674.58042 21455567.210 21455573.199 21455565.390
+ 2928.865 2282.232 54.000 48.000
+ -7616973.06143 -5890430.70642 23967887.932 23967893.520 23967886.624
+ 3549.885 2766.144 48.000 41.000
+ -19654747.69943 -15304190.68342 21588886.682 21588891.522 21588885.352
+ -307.845 -239.879 55.000 48.000
+ -8777784.38543 -6798945.54442 23668172.651 23668179.300 23668170.388
+ -3346.120 -2607.366 47.000 40.000
+ -23501654.04243 -18257944.08542 20371928.622 20371932.054 20371927.316
+ -1003.056 -781.602 56.000 51.000
+ -12599463.29843 -9763563.01642 22698371.038 22698376.820 22698369.447
+ -1354.623 -1055.550 50.000 44.000
+ 04 2 1 9 5 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9698838.14643 -7495705.69042 22841592.650 22841599.384 22841590.637
+ -1794.966 -1398.675 48.000 43.000
+ -15191230.81743 -11820795.00442 21985538.976 21985543.397 21985538.449
+ 2821.655 2198.692 52.000 46.000
+ -18968343.92343 -14736022.09342 21438875.674 21438881.790 21438874.200
+ 2918.357 2274.044 54.000 48.000
+ -7723438.72443 -5973390.89642 23947627.222 23947633.276 23947626.955
+ 3547.353 2764.171 48.000 41.000
+ -19645486.40443 -15296974.08742 21590649.603 21590653.640 21590648.348
+ -309.892 -241.474 55.000 48.000
+ -8677292.65643 -6720640.44242 23687295.504 23687304.430 23687295.623
+ -3353.694 -2613.268 47.000 40.000
+ -23471391.59344 -18234362.94442 20377687.333 20377690.771 20377686.241
+ -1014.755 -790.718 57.000 51.000
+ -12558630.88243 -9731745.58142 22706141.708 22706147.408 22706140.071
+ -1367.799 -1065.817 51.000 44.000
+ 04 2 1 9 6 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9644944.16143 -7453710.38742 22851848.608 22851855.196 22851847.131
+ -1798.806 -1401.667 48.000 43.000
+ -15275723.05743 -11886633.05642 21969459.505 21969465.580 21969459.632
+ 2810.414 2189.933 52.000 46.000
+ -19055742.49043 -14804124.79442 21422243.948 21422249.913 21422242.420
+ 2907.600 2265.662 54.000 48.000
+ -7829824.11443 -6056288.53142 23927383.394 23927389.379 23927382.055
+ 3544.311 2761.801 48.000 41.000
+ -19636164.56243 -15289710.30942 21592423.758 21592427.988 21592421.827
+ -312.277 -243.333 55.000 48.000
+ -8576579.50643 -6642162.82742 23706461.598 23706468.810 23706460.059
+ -3361.248 -2619.154 48.000 41.000
+ -23440779.51944 -18210509.36942 20383512.595 20383516.019 20383511.463
+ -1026.785 -800.092 57.000 51.000
+ -12517411.64643 -9699626.73542 22713984.903 22713990.369 22713983.378
+ -1380.939 -1076.056 51.000 44.000
+ 04 2 1 9 6 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9590939.83343 -7411629.11042 22862124.735 22862132.758 22862123.264
+ -1802.244 -1404.346 49.000 43.000
+ -15359884.34743 -11952213.23742 21953444.726 21953449.598 21953443.918
+ 2799.660 2181.553 52.000 46.000
+ -19142820.31243 -14871977.57742 21405674.072 21405679.517 21405672.485
+ 2896.984 2257.390 55.000 48.000
+ -7936122.62643 -6139118.45342 23907154.207 23907162.315 23907154.965
+ 3541.578 2759.671 47.000 41.000
+ -19626777.35543 -15282395.59742 21594209.464 21594214.207 21594207.966
+ -314.276 -244.890 55.000 48.000
+ -8475644.13443 -6563512.05642 23725668.005 23725675.565 23725667.879
+ -3368.452 -2624.768 48.000 41.000
+ -23409816.42343 -18186382.27142 20389404.680 20389408.051 20389403.527
+ -1038.146 -808.945 56.000 51.000
+ -12475804.28743 -9667205.44942 22721903.164 22721909.123 22721900.384
+ -1393.519 -1085.859 50.000 43.000
+ 04 2 1 9 7 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9536830.52943 -7369466.04542 22872422.154 22872427.682 22872420.228
+ -1805.339 -1406.758 48.000 43.000
+ -15443717.57443 -12017537.78142 21937492.179 21937496.894 21937490.613
+ 2788.889 2173.160 53.000 46.000
+ -19229580.44043 -14939582.80342 21389164.367 21389169.556 21389162.779
+ 2886.664 2249.349 54.000 48.000
+ -8042338.04343 -6221883.60742 23886942.712 23886949.010 23886942.856
+ 3539.179 2757.802 47.000 41.000
+ -19617330.27843 -15275034.22442 21596007.308 21596011.698 21596005.818
+ -315.924 -246.174 55.000 48.000
+ -8374494.29243 -6484694.16142 23744917.516 23744926.242 23744915.657
+ -3375.310 -2630.112 48.000 40.000
+ -23378510.16143 -18161987.77542 20395361.849 20395365.222 20395360.741
+ -1049.289 -817.628 56.000 51.000
+ -12433817.33543 -9634488.37442 22729892.195 22729899.121 22729890.761
+ -1405.911 -1095.515 50.000 43.000
+ 04 2 1 9 7 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9482613.04743 -7327218.66442 22882739.831 22882744.570 22882739.145
+ -1808.863 -1409.504 49.000 43.000
+ -15527217.36743 -12082602.50942 21921602.229 21921607.644 21921601.229
+ 2777.998 2164.674 52.000 46.000
+ -19316017.00043 -15006935.89142 21372715.893 21372721.262 21372714.332
+ 2875.960 2241.008 54.000 48.000
+ -8148464.56443 -6304579.50042 23866748.203 23866754.235 23866746.819
+ 3536.285 2755.547 48.000 41.000
+ -19607819.81443 -15267623.47142 21597817.593 21597821.255 21597815.856
+ -317.849 -247.674 55.000 48.000
+ -8273129.64343 -6405708.89942 23764207.087 23764213.217 23764204.482
+ -3382.110 -2635.410 48.000 40.000
+ -23346860.00643 -18137325.31142 20401385.093 20401388.131 20401383.687
+ -1060.523 -826.381 56.000 51.000
+ -12391450.95143 -9601475.65942 22737954.808 22737960.837 22737952.445
+ -1418.290 -1105.161 50.000 43.000
+ 04 2 1 9 8 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9428285.91143 -7284885.85642 22893076.412 22893083.431 22893076.067
+ -1812.851 -1412.611 48.000 42.000
+ -15610379.65943 -12147404.25342 21905777.424 21905781.711 21905775.961
+ 2766.051 2155.364 53.000 46.000
+ -19402126.17443 -15074033.87742 21356329.269 21356335.980 21356327.713
+ 2864.518 2232.092 55.000 48.000
+ -8254498.85643 -6387203.55542 23846570.309 23846577.535 23846569.186
+ 3532.731 2752.777 47.000 42.000
+ -19598243.89443 -15260161.70842 21599640.084 21599643.939 21599638.455
+ -320.609 -249.825 55.000 48.000
+ -8171551.30443 -6326557.13242 23783535.559 23783545.411 23783534.350
+ -3389.842 -2641.435 47.000 40.000
+ -23314867.33743 -18112395.96442 20407472.855 20407476.320 20407471.813
+ -1072.452 -835.677 56.000 51.000
+ -12348706.89343 -9568168.63842 22746088.718 22746094.162 22746086.327
+ -1431.398 -1115.375 50.000 43.000
+ 04 2 1 9 8 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9373845.20443 -7242464.56842 22903437.701 22903443.006 22903436.380
+ -1816.362 -1415.347 49.000 43.000
+ -15693198.06843 -12211938.04942 21890017.328 21890022.283 21890016.502
+ 2754.950 2146.714 52.000 46.000
+ -19487901.18443 -15140871.47942 21340006.956 21340013.187 21340005.554
+ 2853.807 2223.746 55.000 49.000
+ -8360434.56743 -6469750.78942 23826411.371 23826417.424 23826409.994
+ 3529.728 2750.437 48.000 42.000
+ -19588598.46443 -15252645.78042 21601474.356 21601479.608 21601473.089
+ -322.391 -251.214 55.000 48.000
+ -8069757.88343 -6247237.76142 23802904.942 23802913.058 23802903.750
+ -3396.544 -2646.658 45.000 39.000
+ -23282530.66444 -18087198.55742 20413626.398 20413629.806 20413625.124
+ -1083.363 -844.179 57.000 51.000
+ -12305584.10143 -9534566.49642 22754294.525 22754300.987 22754292.794
+ -1443.454 -1124.769 49.000 43.000
+ 04 2 1 9 9 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9319297.75143 -7199960.08342 22913817.526 22913822.926 22913817.205
+ -1819.990 -1418.174 49.000 43.000
+ -15775677.03143 -12276207.34442 21874322.009 21874326.836 21874320.924
+ 2743.672 2137.926 52.000 46.000
+ -19573346.53243 -15207452.20542 21323746.715 21323753.154 21323745.701
+ 2842.896 2215.244 55.000 49.000
+ -8466276.42543 -6552224.86842 23806269.634 23806276.010 23806268.437
+ 3526.795 2748.152 48.000 42.000
+ -19578889.81243 -15245080.59842 21603322.097 21603326.497 21603320.495
+ -324.494 -252.852 55.000 48.000
+ -7967758.96543 -6167758.24542 23822315.750 23822324.150 23822315.129
+ -3403.147 -2651.803 45.000 39.000
+ -23249859.32143 -18061740.37642 20419843.461 20419847.238 20419842.256
+ -1094.419 -852.794 56.000 51.000
+ -12262092.88143 -9500677.25042 22762570.874 22762578.014 22762570.260
+ -1455.678 -1134.294 50.000 43.000
+ 04 2 1 9 9 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9264640.03143 -7157369.69142 22924217.347 22924224.910 22924215.471
+ -1823.753 -1421.106 48.000 43.000
+ -15857810.60443 -12340207.49542 21858692.962 21858696.878 21858691.591
+ 2731.988 2128.822 52.000 46.000
+ -19658456.23743 -15273771.39442 21307551.726 21307557.249 21307549.683
+ 2831.454 2206.328 55.000 49.000
+ -8572018.69643 -6634621.36542 23786147.995 23786154.458 23786148.187
+ 3523.085 2745.261 48.000 42.000
+ -19569114.43043 -15237463.40142 21605182.340 21605186.838 21605180.812
+ -326.945 -254.762 55.000 48.000
+ -7865553.45543 -6088117.76642 23841765.689 23841773.884 23841764.826
+ -3410.122 -2657.238 47.000 39.000
+ -23216852.54043 -18036020.81242 20426124.236 20426128.077 20426123.202
+ -1105.835 -861.690 56.000 51.000
+ -12218232.95143 -9466500.72542 22770916.348 22770923.847 22770914.680
+ -1468.115 -1143.986 49.000 43.000
+ 04 2 1 9 10 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9209870.29643 -7114692.02742 22934640.556 22934646.216 22934639.748
+ -1827.207 -1423.798 49.000 43.000
+ -15939594.93743 -12403935.50542 21843129.306 21843134.544 21843128.785
+ 2720.576 2119.929 52.000 46.000
+ -19743226.04443 -15339825.73542 21291420.887 21291425.833 21291419.187
+ 2820.237 2197.587 55.000 49.000
+ -8677657.51543 -6716937.27842 23766045.755 23766050.850 23766044.666
+ 3519.874 2742.759 48.000 42.000
+ -19559270.07943 -15229792.47742 21607055.476 21607060.108 21607053.837
+ -328.941 -256.318 55.000 48.000
+ -7763142.27943 -6008317.02842 23861255.495 23861262.373 23861254.032
+ -3416.884 -2662.507 48.000 41.000
+ -23183511.22143 -18010040.56542 20432469.167 20432472.858 20432467.786
+ -1116.621 -870.094 56.000 51.000
+ -12174005.86943 -9432038.09942 22779333.289 22779340.082 22779331.040
+ -1479.957 -1153.213 49.000 43.000
+ 04 2 1 9 10 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9154989.41943 -7071927.70942 22945083.265 22945089.454 22945083.280
+ -1831.727 -1427.320 49.000 42.000
+ -16021028.26143 -12467390.00742 21827633.094 21827637.747 21827632.525
+ 2708.106 2110.212 53.000 46.000
+ -19827654.30743 -15405613.93442 21275354.343 21275359.247 21275352.528
+ 2808.013 2188.062 55.000 49.000
+ -8783191.58343 -6799171.56242 23745963.731 23745969.341 23745962.053
+ 3515.611 2739.437 48.000 42.000
+ -19549357.35643 -15222068.28042 21608941.809 21608946.523 21608940.504
+ -331.971 -258.679 55.000 48.000
+ -7660529.27743 -5928359.02742 23880780.393 23880789.123 23880779.548
+ -3424.252 -2668.248 48.000 41.000
+ -23149838.83444 -17983802.34942 20438877.056 20438880.362 20438875.573
+ -1128.311 -879.203 57.000 51.000
+ -12129415.51543 -9397292.40742 22787819.437 22787824.210 22787816.614
+ -1492.813 -1163.231 50.000 43.000
+ 04 2 1 9 11 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9099995.28843 -7029075.16242 22955549.286 22955556.015 22955547.878
+ -1835.108 -1429.954 49.000 43.000
+ -16102106.17943 -12530567.58242 21812204.491 21812209.361 21812203.271
+ 2696.745 2101.360 52.000 46.000
+ -19911736.59943 -15471132.54242 21259353.549 21259359.203 21259352.133
+ 2796.994 2179.476 54.000 48.000
+ -8888616.65143 -6881320.90942 23725902.280 23725907.132 23725900.913
+ 3512.414 2736.946 48.000 42.000
+ -19539373.89343 -15214288.95442 21610841.682 21610845.973 21610840.157
+ -333.889 -260.173 55.000 48.000
+ -7557715.15643 -5848244.31342 23900346.429 23900353.838 23900345.636
+ -3430.476 -2673.098 49.000 42.000
+ -23115835.89344 -17957306.55642 20445347.582 20445350.849 20445346.247
+ -1138.936 -887.482 57.000 51.000
+ -12084463.05943 -9362264.56542 22796372.314 22796377.729 22796370.640
+ -1504.362 -1172.230 50.000 43.000
+ 04 2 1 9 11 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -9044888.97743 -6986135.19242 22966036.395 22966042.048 22966034.348
+ -1838.573 -1432.654 49.000 43.000
+ -16182827.29243 -12593467.11042 21796843.737 21796848.809 21796842.774
+ 2684.897 2092.128 52.000 46.000
+ -19995471.24643 -15536380.25742 21243418.807 21243424.792 21243417.811
+ 2785.449 2170.480 54.000 48.000
+ -8993931.24043 -6963384.16942 23705860.789 23705866.713 23705860.142
+ 3508.585 2733.962 48.000 42.000
+ -19529320.10943 -15206454.82142 21612755.061 21612759.610 21612753.683
+ -336.130 -261.919 55.000 48.000
+ -7454703.20143 -5767975.43942 23919948.965 23919956.233 23919947.992
+ -3436.872 -2678.082 49.000 42.000
+ -23081505.82744 -17930555.86342 20451880.942 20451883.743 20451879.265
+ -1149.599 -895.791 57.000 51.000
+ -12039152.75443 -9326957.87642 22804994.602 22805000.222 22804993.360
+ -1515.990 -1181.291 50.000 43.000
+ 04 2 1 9 12 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8989670.27643 -6943107.67142 22976542.542 22976550.499 22976541.839
+ -1842.535 -1435.741 48.000 43.000
+ -16263189.17043 -12656086.72442 21781551.197 21781556.221 21781550.525
+ 2672.531 2082.492 53.000 46.000
+ -20078855.81343 -15601355.18542 21227551.842 21227557.383 21227550.342
+ 2773.489 2161.160 55.000 49.000
+ -9099133.06843 -7045359.57442 23685840.564 23685847.799 23685840.336
+ 3504.704 2730.938 47.000 41.000
+ -19519195.54843 -15198565.55242 21614681.616 21614685.825 21614680.013
+ -338.757 -263.966 55.000 48.000
+ -7351496.27543 -5687554.64842 23939587.975 23939597.011 23939589.313
+ -3443.588 -2683.315 48.000 41.000
+ -23046851.47844 -17903552.48242 20458474.497 20458478.033 20458473.629
+ -1160.650 -904.402 57.000 51.000
+ -11993487.67043 -9291374.74142 22813684.376 22813690.223 22813682.392
+ -1528.115 -1190.739 50.000 43.000
+ 04 2 1 9 12 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8934337.13943 -6899990.96342 22987072.665 22987078.603 22987071.101
+ -1846.497 -1438.829 48.000 43.000
+ -16343187.38343 -12718422.96342 21766328.916 21766332.966 21766327.750
+ 2660.366 2073.012 53.000 46.000
+ -20161885.59043 -15666053.65542 21211751.528 21211757.565 21211750.150
+ 2761.456 2151.784 55.000 49.000
+ -9204217.83243 -7127243.76042 23665844.308 23665849.834 23665842.965
+ 3500.671 2727.796 47.000 42.000
+ -19508997.93843 -15190619.36042 21616622.375 21616626.712 21616621.122
+ -341.411 -266.034 55.000 48.000
+ -7248094.84443 -5606982.31442 23959265.080 23959273.171 23959265.439
+ -3450.117 -2688.403 47.000 41.000
+ -23011873.04444 -17876296.56342 20465130.926 20465134.162 20465129.868
+ -1171.542 -912.890 57.000 51.000
+ -11947469.31143 -9255516.30942 22822442.570 22822448.042 22822441.073
+ -1539.977 -1199.982 51.000 43.000
+ 04 2 1 9 13 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8878888.71843 -6856784.46042 22997623.872 22997630.733 22997623.459
+ -1850.528 -1441.970 49.000 43.000
+ -16422818.66243 -12780473.27242 21751174.498 21751178.660 21751173.956
+ 2648.026 2063.397 53.000 46.000
+ -20244557.44543 -15730473.22342 21196019.778 21196025.519 21196017.883
+ 2749.430 2142.413 55.000 49.000
+ -9309182.42943 -7209034.30042 23645870.354 23645876.512 23645869.482
+ 3496.587 2724.613 47.000 42.000
+ -19498726.01743 -15182615.25242 21618577.210 21618581.650 21618575.964
+ -344.004 -268.055 55.000 49.000
+ -7144500.71943 -5526259.83442 23978979.218 23978986.839 23978978.717
+ -3456.774 -2693.590 47.000 40.000
+ -22976572.55044 -17848789.69142 20471848.618 20471851.697 20471847.445
+ -1182.324 -921.291 57.000 51.000
+ -11901099.89343 -9219384.33642 22831265.833 22831272.499 22831264.140
+ -1551.734 -1209.143 50.000 43.000
+ 04 2 1 9 13 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8823327.35443 -6813489.90642 23008196.646 23008203.469 23008197.243
+ -1853.877 -1444.579 49.000 43.000
+ -16502082.83243 -12842237.51742 21736090.937 21736095.662 21736090.631
+ 2635.951 2053.988 52.000 46.000
+ -20326871.09843 -15794613.67242 21180355.608 21180361.566 21180354.238
+ 2737.840 2133.382 55.000 49.000
+ -9414026.94743 -7290731.27042 23625918.606 23625924.196 23625918.418
+ 3492.953 2721.782 47.000 42.000
+ -19488381.35543 -15174554.47242 21620545.146 21620550.056 21620543.844
+ -345.954 -269.574 55.000 48.000
+ -7040718.93643 -5445391.12242 23998726.659 23998735.565 23998727.567
+ -3462.460 -2698.021 45.000 39.000
+ -22940954.88044 -17821035.65742 20478626.202 20478629.333 20478624.866
+ -1192.432 -929.168 57.000 51.000
+ -11854384.83943 -9182983.04742 22840155.090 22840161.507 22840153.274
+ -1562.859 -1217.812 50.000 43.000
+ 04 2 1 9 14 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8767651.20343 -6770105.90942 23018792.333 23018798.383 23018791.344
+ -1857.739 -1447.589 50.000 43.000
+ -16580976.05143 -12903712.71842 21721078.432 21721083.369 21721077.797
+ 2623.568 2044.339 53.000 47.000
+ -20408822.43543 -15858471.80442 21164761.277 21164766.625 21164759.818
+ 2725.590 2123.836 55.000 49.000
+ -9518747.52043 -7372331.66742 23605991.880 23605996.772 23605989.841
+ 3488.466 2718.285 47.000 42.000
+ -19477962.13843 -15166435.59642 21622528.307 21622532.609 21622527.262
+ -348.571 -271.614 55.000 48.000
+ -6936750.40943 -5364376.89642 24018512.211 24018520.641 24018512.968
+ -3468.932 -2703.064 44.000 39.000
+ -22905020.76244 -17793035.03642 20485464.184 20485467.536 20485463.041
+ -1203.106 -937.485 57.000 51.000
+ -11807326.03943 -9146313.88942 22849110.096 22849116.046 22849109.158
+ -1574.349 -1226.765 50.000 43.000
+ 04 2 1 9 14 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8711860.19743 -6726632.40342 23029408.207 23029416.776 23029408.262
+ -1861.399 -1450.441 49.000 42.000
+ -16659495.81343 -12964896.91142 21706136.855 21706140.785 21706135.691
+ 2611.147 2034.660 53.000 47.000
+ -20490408.88743 -15922045.60842 21149235.799 21149240.969 21149234.393
+ 2713.482 2114.402 55.000 49.000
+ -9623341.41343 -7453833.36642 23586086.866 23586092.493 23586086.627
+ 3484.484 2715.182 47.000 41.000
+ -19467467.84843 -15158258.22142 21624524.966 21624529.911 21624523.751
+ -350.872 -273.407 55.000 48.000
+ -6832597.78743 -5283219.26242 24038331.652 24038339.127 24038331.194
+ -3474.657 -2707.525 44.000 38.000
+ -22868772.78743 -17764789.85542 20492361.912 20492364.937 20492360.570
+ -1213.397 -945.504 56.000 51.000
+ -11759926.42143 -9109379.15942 22858129.788 22858135.857 22858127.415
+ -1585.525 -1235.474 50.000 43.000
+ 04 2 1 9 15 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8655951.97943 -6683067.59242 23040048.103 23040054.146 23040045.909
+ -1865.249 -1453.441 49.000 42.000
+ -16737637.12843 -13025786.21742 21691266.544 21691271.725 21691265.720
+ 2598.600 2024.883 53.000 47.000
+ -20571625.57243 -15985331.28442 21133780.999 21133786.007 21133779.295
+ 2701.314 2104.920 55.000 49.000
+ -9727804.14343 -7535232.83842 23566209.733 23566214.750 23566207.626
+ 3480.067 2711.741 48.000 42.000
+ -19456895.64243 -15150020.13542 21626536.773 21626540.882 21626535.198
+ -353.480 -275.439 55.000 48.000
+ -6728261.39343 -5201918.38242 24058186.560 24058195.241 24058185.510
+ -3480.829 -2712.334 45.000 38.000
+ -22832211.13844 -17736300.25242 20499319.642 20499322.392 20499318.156
+ -1223.605 -953.458 57.000 51.000
+ -11712186.86843 -9072179.53442 22867214.323 22867220.936 22867212.605
+ -1596.706 -1244.186 49.000 43.000
+ 04 2 1 9 15 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8599927.11743 -6639411.87542 23050708.720 23050715.467 23050707.466
+ -1869.956 -1457.108 48.000 42.000
+ -16815398.48943 -13086379.44542 21676468.888 21676473.726 21676468.445
+ 2585.287 2014.509 53.000 47.000
+ -20652470.66843 -16048327.41642 21118396.175 21118401.453 21118394.520
+ 2688.132 2094.648 55.000 49.000
+ -9832133.91943 -7616528.69542 23546355.664 23546361.099 23546355.149
+ 3474.721 2707.575 48.000 42.000
+ -19446245.79043 -15141721.54342 21628563.876 21628567.469 21628561.972
+ -356.819 -278.041 55.000 48.000
+ -6623744.64343 -5120476.97442 24078075.970 24078083.733 24078075.223
+ -3487.351 -2717.416 45.000 38.000
+ -22795339.14143 -17707568.81542 20506335.604 20506338.972 20506334.523
+ -1234.751 -962.144 56.000 50.000
+ -11664111.50743 -9034718.26942 22876364.044 22876369.761 22876361.778
+ -1608.638 -1253.484 50.000 43.000
+ 04 2 1 9 16 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8543788.49043 -6595667.50642 23061390.584 23061398.086 23061390.619
+ -1873.387 -1459.782 48.000 43.000
+ -16892780.19143 -13146676.84442 21661743.366 21661748.225 21661742.916
+ 2572.950 2004.896 53.000 47.000
+ -20732944.70243 -16111034.40142 21103082.786 21103087.840 21103080.964
+ 2676.180 2085.335 55.000 49.000
+ -9936331.24443 -7697721.35142 23526528.555 23526532.555 23526527.089
+ 3470.871 2704.575 49.000 42.000
+ -19435520.40743 -15133364.08442 21630604.737 21630609.371 21630603.131
+ -358.898 -279.661 55.000 48.000
+ -6519052.76343 -5038899.06842 24097998.873 24098005.993 24097996.581
+ -3492.455 -2721.393 47.000 38.000
+ -22758162.27143 -17678599.81642 20513410.333 20513413.574 20513409.136
+ -1244.404 -969.665 56.000 50.000
+ -11615706.63943 -8997000.21442 22885574.825 22885580.982 22885572.832
+ -1619.104 -1261.639 50.000 43.000
+ 04 2 1 9 16 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8487529.28843 -6551829.22142 23072098.539 23072103.101 23072096.198
+ -1876.460 -1462.177 49.000 43.000
+ -16969773.03143 -13206671.22842 21647092.620 21647097.333 21647091.775
+ 2560.945 1995.542 53.000 47.000
+ -20813038.29543 -16173444.94242 21087841.177 21087846.481 21087839.922
+ 2664.482 2076.220 55.000 49.000
+ -10040387.01643 -7778803.71242 23506726.391 23506733.106 23506725.706
+ 3467.024 2701.577 49.000 42.000
+ -19424712.43343 -15124942.28742 21632661.532 21632665.661 21632659.914
+ -360.666 -281.038 55.000 48.000
+ -6414182.21343 -4957181.96842 24117954.993 24117961.400 24117954.180
+ -3497.614 -2725.413 47.000 38.000
+ -22720676.15943 -17649389.85042 20520543.708 20520547.241 20520542.588
+ -1253.648 -976.868 56.000 50.000
+ -11566968.69643 -8959022.64442 22894849.091 22894855.479 22894846.165
+ -1629.064 -1269.400 49.000 43.000
+ 04 2 1 9 17 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8431154.10143 -6507900.53242 23082825.245 23082833.201 23082825.193
+ -1880.977 -1465.696 48.000 42.000
+ -17046379.49043 -13266364.53842 21632514.400 21632519.601 21632514.221
+ 2547.222 1984.848 53.000 47.000
+ -20892753.71543 -16235560.80442 21072671.826 21072677.496 21072670.402
+ 2650.845 2065.594 55.000 49.000
+ -10144303.59343 -7859777.59342 23486951.349 23486957.732 23486951.629
+ 3461.467 2697.247 49.000 42.000
+ -19413825.94243 -15116459.29342 21634732.760 21634737.178 21634731.522
+ -363.927 -283.579 55.000 48.000
+ -6309139.96843 -4875331.05842 24137943.414 24137951.535 24137943.801
+ -3504.164 -2730.517 46.000 38.000
+ -22682888.07944 -17619944.58342 20527734.939 20527738.085 20527733.567
+ -1264.599 -985.402 57.000 51.000
+ -11517905.54143 -8920791.63942 22904185.434 22904190.503 22904184.586
+ -1640.787 -1278.535 49.000 43.000
+ 04 2 1 9 17 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8374659.52643 -6463878.80942 23093575.551 23093583.131 23093574.956
+ -1884.899 -1468.752 48.000 42.000
+ -17122593.82343 -13325752.29942 21618011.988 21618016.292 21618011.457
+ 2534.170 1974.678 53.000 47.000
+ -20972085.19843 -16297377.50442 21057575.163 21057581.011 21057573.817
+ 2638.331 2055.842 55.000 49.000
+ -10248075.33343 -7940638.62742 23467204.626 23467211.856 23467202.998
+ 3456.896 2693.685 49.000 42.000
+ -19402857.32343 -15107912.31542 21636819.813 21636824.320 21636818.531
+ -366.628 -285.684 55.000 48.000
+ -6203925.03443 -4793345.62342 24157966.239 24157974.097 24157964.952
+ -3509.798 -2734.907 46.000 38.000
+ -22644797.36544 -17590263.49942 20534983.238 20534986.525 20534981.968
+ -1274.381 -993.024 57.000 51.000
+ -11468517.00943 -8882307.11342 22913584.121 22913590.271 22913581.991
+ -1651.308 -1286.733 49.000 43.000
+ 04 2 1 9 18 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8318045.80743 -6419764.25242 23104349.530 23104355.233 23104347.325
+ -1889.604 -1472.419 47.000 42.000
+ -17198413.71243 -13384832.69042 21603584.218 21603588.656 21603583.724
+ 2520.220 1963.808 54.000 47.000
+ -21051030.49343 -16358893.27342 21042551.947 21042558.090 21042550.769
+ 2624.510 2045.073 55.000 49.000
+ -10351699.88643 -8021384.96242 23447484.486 23447491.717 23447483.395
+ 3451.380 2689.387 49.000 43.000
+ -19391806.06743 -15099300.94042 21638923.171 21638927.660 21638921.903
+ -370.203 -288.470 55.000 48.000
+ -6098540.74543 -4711228.23442 24178019.150 24178028.971 24178018.567
+ -3515.953 -2739.704 46.000 39.000
+ -22606406.65644 -17560348.64942 20542289.149 20542292.114 20542287.551
+ -1285.147 -1001.413 57.000 51.000
+ -11418806.68443 -8843571.83942 22923042.784 22923050.391 22923041.435
+ -1662.931 -1295.790 49.000 43.000
+ 04 2 1 9 18 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8261314.27043 -6375557.89442 23115144.796 23115150.987 23115143.560
+ -1893.341 -1475.331 47.000 42.000
+ -17273838.51843 -13443605.23442 21589231.381 21589235.480 21589230.492
+ 2507.247 1953.699 54.000 47.000
+ -21129588.58943 -16420107.32342 21027603.824 21027609.074 21027602.439
+ 2611.752 2035.131 56.000 49.000
+ -10455176.27443 -8102015.86342 23427794.696 23427800.440 23427793.572
+ 3446.636 2685.690 49.000 43.000
+ -19380672.99143 -15090625.80442 21641041.445 21641045.851 21641040.262
+ -372.822 -290.511 54.000 48.000
+ -5992991.36043 -4628982.18242 24198104.879 24198113.946 24198104.213
+ -3521.165 -2743.765 45.000 38.000
+ -22567720.10744 -17530203.28442 20549650.436 20549653.836 20549649.222
+ -1294.811 -1008.944 57.000 51.000
+ -11368779.33943 -8804589.54342 22932563.004 22932569.380 22932561.689
+ -1673.080 -1303.699 49.000 43.000
+ 04 2 1 9 19 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8204463.17343 -6331258.37342 23125963.311 23125969.321 23125963.708
+ -1897.258 -1478.383 47.000 42.000
+ -17348864.05543 -13502066.65942 21574954.036 21574958.380 21574953.019
+ 2493.873 1943.278 53.000 47.000
+ -21207755.44943 -16481016.51942 21012728.956 21012734.333 21012727.705
+ 2598.700 2024.961 56.000 50.000
+ -10558500.65643 -8182528.28042 23408132.650 23408138.411 23408131.688
+ 3441.266 2681.506 49.000 43.000
+ -19369456.43743 -15081885.62142 21643175.938 21643180.922 21643174.503
+ -375.476 -292.579 55.000 48.000
+ -5887277.53643 -4546608.04942 24218220.626 24218231.338 24218220.850
+ -3526.316 -2747.779 43.000 38.000
+ -22528738.60044 -17499828.07642 20557068.182 20557071.666 20557067.042
+ -1304.527 -1016.514 57.000 50.000
+ -11318436.81743 -8765361.64142 22942143.208 22942149.710 22942141.576
+ -1683.552 -1311.859 49.000 43.000
+ 04 2 1 9 19 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8147488.99843 -6286862.95342 23136804.774 23136812.006 23136804.149
+ -1900.860 -1481.190 47.000 42.000
+ -17423484.40043 -13560212.35142 21560754.002 21560759.318 21560753.485
+ 2480.861 1933.138 54.000 47.000
+ -21285525.23643 -16541616.29942 20997929.829 20997934.792 20997928.154
+ 2585.906 2014.992 56.000 49.000
+ -10661666.96043 -8262917.54942 23388500.948 23388506.417 23388499.190
+ 3436.534 2677.819 49.000 43.000
+ -19358151.82543 -15073076.82742 21645327.478 21645331.626 21645325.783
+ -378.030 -294.569 55.000 48.000
+ -5781398.47743 -4464105.11942 24238368.046 24238380.433 24238368.999
+ -3531.707 -2751.979 42.000 38.000
+ -22489461.20644 -17469222.30942 20564542.437 20564545.766 20564541.485
+ -1313.908 -1023.824 57.000 50.000
+ -11267778.78043 -8725887.90742 22951783.699 22951789.697 22951781.728
+ -1693.468 -1319.585 49.000 43.000
+ 04 2 1 9 20 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8090396.97343 -6242375.68042 23147668.781 23147675.327 23147668.264
+ -1904.684 -1484.169 47.000 42.000
+ -17497702.60843 -13618044.67942 21546630.788 21546635.536 21546629.834
+ 2467.289 1922.563 53.000 47.000
+ -21362900.63443 -16601908.76642 20983205.351 20983210.976 20983204.100
+ 2572.709 2004.708 55.000 49.000
+ -10764677.98943 -8343185.80542 23368898.019 23368904.685 23368896.539
+ 3431.169 2673.638 48.000 42.000
+ -19346764.03643 -15064203.21142 21647493.979 21647498.392 21647492.140
+ -380.869 -296.781 54.000 48.000
+ -5675362.28243 -4381479.76942 24258547.609 24258557.900 24258547.404
+ -3537.039 -2756.134 43.000 39.000
+ -22449895.65044 -17438392.00242 20572071.675 20572074.825 20572070.468
+ -1323.489 -1031.290 57.000 50.000
+ -11216814.05443 -8686175.18342 22961480.792 22961489.122 22961479.917
+ -1703.728 -1327.580 49.000 43.000
+ 04 2 1 9 20 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -8033182.15543 -6197792.71942 23158557.742 23158562.224 23158556.135
+ -1909.912 -1488.243 48.000 42.000
+ -17571511.01543 -13675557.68442 21532585.496 21532589.966 21532584.971
+ 2452.810 1911.281 54.000 47.000
+ -21439874.32843 -16661888.22442 20968558.474 20968563.497 20968556.786
+ 2558.535 1993.664 56.000 49.000
+ -10867526.46543 -8423327.40942 23349325.833 23349331.533 23349324.568
+ 3425.158 2668.954 47.000 42.000
+ -19335287.56943 -15055260.49942 21649678.345 21649682.615 21649677.297
+ -384.674 -299.746 55.000 48.000
+ -5569166.33943 -4298729.94142 24278758.536 24278766.887 24278756.980
+ -3543.250 -2760.974 44.000 39.000
+ -22410039.65743 -17407335.38642 20579655.758 20579659.542 20579654.759
+ -1333.960 -1039.449 56.000 50.000
+ -11165540.84543 -8646222.08442 22971238.140 22971245.265 22971236.878
+ -1714.827 -1336.229 49.000 42.000
+ 04 2 1 9 21 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -7975849.93543 -6153118.29242 23169467.351 23169473.738 23169466.560
+ -1912.666 -1490.389 47.000 42.000
+ -17644913.09043 -13732754.07342 21518617.060 21518622.353 21518616.612
+ 2440.469 1901.664 53.000 47.000
+ -21516449.53643 -16721557.17442 20953986.001 20953991.376 20953984.364
+ 2546.399 1984.207 56.000 49.000
+ -10970215.43843 -8503344.71642 23329785.244 23329791.707 23329784.047
+ 3420.757 2665.525 49.000 42.000
+ -19323727.68443 -15046252.78142 21651877.179 21651882.520 21651876.071
+ -386.184 -300.922 54.000 48.000
+ -5462819.41243 -4215862.47542 24298995.245 24299004.131 24298993.448
+ -3546.776 -2763.721 45.000 39.000
+ -22369901.47743 -17376058.88442 20587293.889 20587296.670 20587292.463
+ -1342.008 -1045.720 56.000 50.000
+ -11113967.99743 -8606035.51742 22981052.663 22981058.340 22981049.733
+ -1723.307 -1342.837 49.000 43.000
+ 04 2 1 9 21 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -7918392.77843 -6108346.51042 23180400.437 23180407.487 23180398.864
+ -1917.632 -1494.259 47.000 42.000
+ -17717898.84143 -13789626.04342 21504728.853 21504733.079 21504727.568
+ 2425.751 1890.196 54.000 48.000
+ -21592616.38843 -16780907.91042 20939491.571 20939497.256 20939490.440
+ 2531.748 1972.791 55.000 49.000
+ -11072734.84643 -8583229.90342 23310276.080 23310283.225 23310276.017
+ 3414.070 2660.314 49.000 43.000
+ -19312076.03543 -15037173.56842 21654094.953 21654099.749 21654093.206
+ -390.139 -304.004 54.000 48.000
+ -5356316.65143 -4132873.58842 24319261.797 24319271.317 24319260.456
+ -3552.731 -2768.362 46.000 40.000
+ -22329476.11644 -17344558.59742 20594986.663 20594989.925 20594985.501
+ -1352.546 -1053.932 57.000 50.000
+ -11062091.35743 -8565612.21442 22990923.283 22990930.490 22990921.641
+ -1734.335 -1351.430 49.000 43.000
+ 04 2 1 9 22 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -7860814.13343 -6063480.04742 23191357.629 23191364.857 23191356.483
+ -1921.188 -1497.030 47.000 42.000
+ -17790469.60943 -13846174.65642 21490919.060 21490923.597 21490918.141
+ 2412.254 1879.678 54.000 48.000
+ -21668375.98143 -16839941.31742 20925075.177 20925081.081 20925073.998
+ 2518.722 1962.641 56.000 50.000
+ -11175085.96343 -8662983.96542 23290799.808 23290806.794 23290798.783
+ 3409.145 2656.477 49.000 43.000
+ -19300335.63943 -15028025.20042 21656329.301 21656333.313 21656327.245
+ -392.585 -305.910 55.000 48.000
+ -5249664.10643 -4049767.95342 24339556.797 24339566.331 24339556.439
+ -3557.306 -2771.927 47.000 40.000
+ -22288769.62744 -17312839.25742 20602732.957 20602736.058 20602731.651
+ -1361.384 -1060.819 57.000 50.000
+ -11009917.99643 -8524957.69042 23000852.650 23000859.440 23000850.420
+ -1743.844 -1358.839 49.000 43.000
+ 04 2 1 9 22 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -7803112.84143 -6018518.03742 23202338.107 23202344.424 23202336.802
+ -1925.739 -1500.576 47.000 42.000
+ -17862621.92643 -13902397.19842 21477188.882 21477193.712 21477188.262
+ 2397.668 1868.313 54.000 48.000
+ -21743724.72043 -16898654.57342 20910737.070 20910742.528 20910735.382
+ 2504.511 1951.567 56.000 50.000
+ -11277265.05743 -8742603.99642 23271355.518 23271361.349 23271355.531
+ 3402.698 2651.453 49.000 43.000
+ -19288504.80443 -15018806.35742 21658580.604 21658584.864 21658579.295
+ -396.099 -308.648 55.000 48.000
+ -5142862.94743 -3966546.52642 24359881.755 24359890.926 24359881.332
+ -3562.902 -2776.287 47.000 40.000
+ -22247783.16444 -17280901.75942 20610532.241 20610535.349 20610530.930
+ -1371.115 -1068.401 57.000 50.000
+ -10957450.09843 -8484073.66042 23010835.881 23010843.134 23010834.523
+ -1754.159 -1366.877 48.000 42.000
+ 04 2 1 9 23 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -7745288.41243 -5973460.07642 23213341.976 23213347.970 23213339.568
+ -1929.745 -1503.697 47.000 42.000
+ -17934352.81243 -13958291.35442 21463539.255 21463543.177 21463538.111
+ 2383.943 1857.618 54.000 48.000
+ -21818659.91943 -16957045.58642 20896477.143 20896482.803 20896475.481
+ 2490.874 1940.941 56.000 49.000
+ -11379269.22743 -8822087.71242 23251945.021 23251950.918 23251943.996
+ 3397.054 2647.055 50.000 43.000
+ -19276582.33443 -15009516.12642 21660849.060 21660853.898 21660847.955
+ -399.017 -310.922 55.000 48.000
+ -5035915.88043 -3883211.41742 24380232.405 24380241.755 24380231.636
+ -3567.408 -2779.798 47.000 40.000
+ -22206518.97943 -17248747.84842 20618384.439 20618387.832 20618383.152
+ -1380.223 -1075.498 56.000 50.000
+ -10904690.49743 -8442962.34142 23020876.263 23020884.503 23020874.981
+ -1763.681 -1374.297 49.000 42.000
+ 04 2 1 9 23 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -7687342.88943 -5928307.71642 23224368.541 23224374.787 23224367.293
+ -1933.667 -1506.753 48.000 42.000
+ -18005662.15243 -14013857.02342 21449969.068 21449973.688 21449968.470
+ 2369.943 1846.709 54.000 48.000
+ -21893181.17643 -17015114.05342 20882296.446 20882301.644 20882295.067
+ 2477.122 1930.225 56.000 50.000
+ -11481098.02243 -8901434.78442 23232566.668 23232573.589 23232566.996
+ 3391.486 2642.716 49.000 43.000
+ -19264569.86643 -15000155.75542 21663135.227 21663139.497 21663133.646
+ -401.819 -313.106 55.000 48.000
+ -4928827.46143 -3799766.15442 24400611.005 24400621.442 24400610.636
+ -3572.114 -2783.465 48.000 40.000
+ -22164981.63044 -17216381.08142 20626289.066 20626292.305 20626287.811
+ -1388.987 -1082.327 57.000 50.000
+ -10851644.56943 -8401627.89742 23030971.153 23030977.696 23030968.204
+ -1772.938 -1381.510 49.000 42.000
+ 04 2 1 9 24 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -7629272.60443 -5883058.15142 23235420.058 23235425.489 23235418.475
+ -1937.446 -1509.698 48.000 42.000
+ -18076544.08443 -14069089.66042 21436481.102 21436485.296 21436479.900
+ 2355.898 1835.765 54.000 48.000
+ -21967282.59443 -17072855.37742 20868195.299 20868200.870 20868194.095
+ 2463.275 1919.435 56.000 50.000
+ -11582745.34743 -8980640.45242 23213224.865 23213230.693 23213224.316
+ 3385.500 2638.052 50.000 43.000
+ -19252463.16343 -14990721.95642 21665439.230 21665443.600 21665437.806
+ -404.673 -315.330 55.000 48.000
+ -4821596.77743 -3716210.04842 24421016.079 24421024.515 24421016.744
+ -3576.473 -2786.862 48.000 39.000
+ -22123170.21344 -17183800.75442 20634245.406 20634248.740 20634244.315
+ -1398.045 -1089.386 57.000 50.000
+ -10798312.32743 -8360070.36742 23041119.178 23041125.334 23041117.647
+ -1782.336 -1388.833 48.000 42.000
+ 04 2 1 9 24 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -7571074.61943 -5837709.10442 23246493.673 23246500.464 23246491.716
+ -1941.439 -1512.810 48.000 42.000
+ -18146993.23243 -14123985.05942 21423074.764 21423079.479 21423073.930
+ 2341.664 1824.673 54.000 48.000
+ -22040959.03243 -17130265.53842 20854175.207 20854180.415 20854173.595
+ 2449.281 1908.531 56.000 50.000
+ -11684205.83943 -9059700.52542 23193916.498 23193922.025 23193916.154
+ 3379.494 2633.372 49.000 43.000
+ -19240258.80543 -14981212.06442 21667761.658 21667765.918 21667760.310
+ -408.002 -317.924 55.000 48.000
+ -4714223.78043 -3632543.05242 24441448.713 24441458.020 24441447.187
+ -3580.991 -2790.382 46.000 39.000
+ -22081084.20744 -17151006.47042 20642254.174 20642257.346 20642252.949
+ -1406.962 -1096.334 57.000 50.000
+ -10744694.04543 -8318289.93542 23051321.905 23051328.613 23051320.151
+ -1791.595 -1396.048 47.000 42.000
+ 04 2 1 9 25 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -7512753.32643 -5792263.93742 23257590.884 23257598.148 23257590.747
+ -1945.605 -1516.056 47.000 42.000
+ -18217011.88543 -14178545.01342 21409749.929 21409754.814 21409749.651
+ 2327.210 1813.410 54.000 48.000
+ -22114212.43243 -17187346.06542 20840235.562 20840240.487 20840233.687
+ 2435.103 1897.483 56.000 50.000
+ -11785481.38243 -9138616.49542 23174645.181 23174651.296 23174644.465
+ 3373.267 2628.520 49.000 43.000
+ -19227960.39643 -14971628.89442 21670101.416 21670106.150 21670100.217
+ -411.050 -320.299 55.000 48.000
+ -4606715.29743 -3548770.47942 24461907.742 24461916.775 24461906.718
+ -3585.542 -2793.929 46.000 38.000
+ -22038730.78744 -17118003.80142 20650313.868 20650316.844 20650312.297
+ -1415.754 -1103.185 57.000 50.000
+ -10690797.54843 -8276292.71442 23061580.077 23061584.084 23061577.904
+ -1800.652 -1403.105 49.000 42.000
+ 04 2 1 9 25 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -7454305.80243 -5746720.41142 23268714.073 23268719.440 23268713.535
+ -1950.395 -1519.788 48.000 42.000
+ -18286594.96843 -14232765.56642 21396509.643 21396513.829 21396508.146
+ 2311.998 1801.557 54.000 48.000
+ -22187037.70343 -17244092.99642 20826376.974 20826382.724 20826375.768
+ 2420.267 1885.922 56.000 50.000
+ -11886566.71943 -9217384.23442 23155408.913 23155413.227 23155407.263
+ 3366.285 2623.079 49.000 43.000
+ -19215564.66243 -14961969.89142 21672460.620 21672465.403 21672459.324
+ -414.824 -323.239 55.000 48.000
+ -4499071.42443 -3464892.43542 24482391.053 24482400.964 24482389.453
+ -3590.461 -2797.762 46.000 37.000
+ -21996109.56544 -17084792.45542 20658424.348 20658427.447 20658423.365
+ -1425.248 -1110.583 57.000 50.000
+ -10636623.35243 -8234079.08342 23071888.495 23071894.203 23071886.637
+ -1810.409 -1410.708 49.000 42.000
+ 04 2 1 9 26 0.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -7395735.15443 -5701080.96142 23279859.562 23279866.831 23279858.178
+ -1954.060 -1522.644 47.000 42.000
+ -18355743.18543 -14286647.26042 21383351.044 21383355.106 21383349.748
+ 2298.025 1790.669 54.000 48.000
+ -22259435.87443 -17300507.11142 20812600.116 20812605.703 20812598.771
+ 2406.523 1875.213 56.000 50.000
+ -11987462.36243 -9296004.18842 23136209.825 23136213.485 23136209.161
+ 3360.083 2618.246 50.000 43.000
+ -19203074.03443 -14952236.93242 21674837.662 21674842.130 21674836.309
+ -417.566 -325.376 55.000 48.000
+ -4391297.96743 -3380913.43342 24502900.499 24502909.165 24502899.042
+ -3593.998 -2800.518 46.000 37.000
+ -21953226.32744 -17051376.93842 20666584.636 20666587.735 20666583.285
+ -1433.395 -1116.931 57.000 50.000
+ -10582178.29343 -8191654.41742 23082249.063 23082255.441 23082246.434
+ -1818.973 -1417.381 49.000 43.000
+ 04 2 1 9 26 30.0000000 0 8G27G29G 7G26G 8G13G28G10
+ -7337035.27543 -5655340.81942 23291029.380 23291036.106 23291028.310
+ -1958.756 -1526.303 46.000 41.000
+ -18424448.15843 -14340183.57342 21370276.949 21370280.988 21370276.272
+ 2282.948 1778.921 54.000 48.000
+ -22331398.34243 -17356581.72142 20798906.516 20798911.468 20798905.127
+ 2391.600 1863.584 56.000 50.000
+ -12088159.79943 -9374469.68842 23117046.606 23117052.599 23117046.426
+ 3353.384 2613.026 49.000 43.000
+ -19190481.75543 -14942424.77442 21677233.683 21677238.228 21677232.135
+ -421.236 -328.236 55.000 48.000
+ -4283391.50643 -3296830.76142 24523433.981 24523443.172 24523432.490
+ -3599.217 -2804.585 46.000 37.000
+ -21910077.28044 -17017754.30642 20674795.677 20674799.062 20674794.350
+ -1442.614 -1124.115 57.000 50.000
+ -10527459.46343 -8149016.41342 23092661.421 23092667.994 23092659.672
+ -1828.340 -1424.680 49.000 43.000
+ 04 2 1 9 27 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -7278209.86043 -5609502.84642 23302223.668 23302231.177 23302222.304
+ -1963.179 -1529.750 47.000 42.000
+ -18492711.47543 -14393375.75642 21357286.805 21357291.495 21357286.104
+ 2267.758 1767.084 54.000 48.000
+ -22402926.60043 -17412317.98842 20785294.587 20785300.184 20785293.323
+ 2376.680 1851.958 56.000 50.000
+ -12188660.10543 -9452781.56942 23097921.686 23097927.207 23097922.148
+ 3346.393 2607.579 49.000 43.000
+ -19177791.02143 -14932535.90042 21679649.092 21679653.132 21679647.788
+ -424.940 -331.122 55.000 48.000
+ -4175358.39843 -3212649.43942 24543993.682 24544003.748 24543992.585
+ -3603.351 -2807.806 46.000 38.000
+ -21866668.84744 -16983929.55142 20683056.054 20683059.242 20683054.664
+ -1451.544 -1131.073 57.000 50.000
+ -10472474.12943 -8106170.76342 23103125.013 23103132.194 23103123.135
+ -1837.283 -1431.649 49.000 43.000
+ -86263.01753 -58331.44452 25561111.536 25561118.848 25561107.499
+ 504.369 393.015 39.000 33.000
+ 04 2 1 9 27 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -7219260.53843 -5563568.33742 23313441.064 23313447.854 23313441.216
+ -1967.412 -1533.048 47.000 42.000
+ -18560532.44643 -14446223.24242 21344380.586 21344385.274 21344379.338
+ 2252.967 1755.559 54.000 48.000
+ -22474020.17343 -17467715.53442 20771766.025 20771771.320 20771764.744
+ 2362.263 1840.724 56.000 50.000
+ -12288962.57443 -9530939.29142 23078834.811 23078842.408 23078833.945
+ 3339.978 2602.580 49.000 43.000
+ -19165002.92243 -14922571.15242 21682082.110 21682086.384 21682080.986
+ -428.219 -333.677 55.000 48.000
+ -4067202.90643 -3128372.74242 24564573.856 24564583.396 24564572.979
+ -3607.727 -2811.216 45.000 38.000
+ -21823005.27144 -16949905.98342 20691365.195 20691368.012 20691363.921
+ -1459.936 -1137.612 57.000 50.000
+ -10417227.20443 -8063121.24942 23113638.830 23113644.398 23113636.363
+ -1846.351 -1438.715 49.000 43.000
+ -101280.03543 -70032.91842 25558254.363 25558262.021 25558256.165
+ 495.416 386.038 41.000 34.000
+ 04 2 1 9 28 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -7160182.45543 -5517533.49142 23324683.735 23324689.978 23324682.736
+ -1971.780 -1536.452 47.000 42.000
+ -18627904.17543 -14498720.67642 21331560.173 21331564.678 21331558.976
+ 2237.769 1743.716 54.000 48.000
+ -22544671.93143 -17522768.81042 20758321.239 20758326.757 20758320.070
+ 2347.306 1829.070 56.000 50.000
+ -12389059.80943 -9608937.08642 23059787.296 23059792.894 23059787.562
+ 3332.985 2597.131 50.000 43.000
+ -19152111.91443 -14912526.21142 21684534.924 21684539.935 21684533.692
+ -431.743 -336.423 55.000 48.000
+ -3958923.40343 -3043999.43542 24585181.610 24585189.656 24585181.100
+ -3611.661 -2814.281 46.000 38.000
+ -21779084.07744 -16915681.67442 20699722.515 20699726.247 20699721.380
+ -1468.573 -1144.342 57.000 50.000
+ -10361717.07643 -8019866.65142 23124201.609 23124206.804 23124200.653
+ -1855.068 -1445.507 49.000 43.000
+ -116016.58743 -81515.87542 25555450.714 25555456.941 25555448.560
+ 486.033 378.727 42.000 35.000
+ 04 2 1 9 28 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -7100975.52843 -5471398.23142 23335950.536 23335957.881 23335950.361
+ -1976.283 -1539.961 48.000 42.000
+ -18694824.10843 -14550866.05642 21318825.641 21318830.321 21318824.817
+ 2222.505 1731.822 54.000 48.000
+ -22614879.57043 -17577476.02842 20744961.551 20744966.556 20744959.858
+ 2332.192 1817.292 56.000 50.000
+ -12488949.08643 -9686772.84942 23040779.551 23040785.136 23040779.619
+ 3325.835 2591.560 51.000 44.000
+ -19139117.21143 -14902400.46942 21687007.737 21687012.636 21687006.303
+ -435.540 -339.382 54.000 48.000
+ -3850522.18843 -2959531.31042 24605808.720 24605818.314 24605806.467
+ -3615.784 -2817.494 45.000 38.000
+ -21734907.79744 -16881258.59442 20708129.400 20708132.465 20708128.229
+ -1477.261 -1151.112 57.000 50.000
+ -10305947.37743 -7976409.79742 23134814.365 23134821.010 23134811.993
+ -1863.806 -1452.316 49.000 43.000
+ -130471.38143 -92779.34042 25552700.304 25552704.462 25552699.332
+ 476.385 371.209 42.000 35.000
+ 04 2 1 9 29 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -7041641.07743 -5425163.60142 23347241.767 23347248.566 23347241.459
+ -1979.737 -1542.652 48.000 42.000
+ -18761291.62743 -14602658.91342 21306177.662 21306181.925 21306176.664
+ 2208.373 1720.810 55.000 48.000
+ -22684642.21543 -17631836.48842 20731685.875 20731691.048 20731684.154
+ 2318.350 1806.506 56.000 50.000
+ -12588629.41543 -9764445.77942 23021811.277 23021815.735 23021810.051
+ 3319.553 2586.665 50.000 44.000
+ -19126019.66143 -14892194.58842 21689500.331 21689504.559 21689499.002
+ -437.956 -341.264 55.000 48.000
+ -3742003.56143 -2874971.69342 24626460.058 24626469.171 24626459.688
+ -3618.786 -2819.833 46.000 38.000
+ -21690480.46044 -16846639.88642 20716583.642 20716587.081 20716582.552
+ -1484.797 -1156.985 57.000 50.000
+ -10249923.16243 -7932754.63242 23145474.750 23145482.324 23145474.003
+ -1871.281 -1458.141 48.000 43.000
+ -144644.52343 -103823.34542 25550002.731 25550009.827 25550001.705
+ 467.204 364.055 41.000 34.000
+ 04 2 1 9 29 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6982181.78543 -5378831.69142 23358557.248 23358562.545 23358556.087
+ -1984.174 -1546.110 48.000 42.000
+ -18827307.22243 -14654099.62142 21293614.668 21293619.394 21293613.990
+ 2192.608 1708.526 54.000 48.000
+ -22753960.30343 -17685850.54942 20718495.174 20718499.999 20718493.932
+ 2302.709 1794.319 56.000 50.000
+ -12688100.63443 -9841955.76642 23002882.258 23002888.066 23002881.657
+ 3311.882 2580.687 50.000 43.000
+ -19112820.99043 -14881909.90342 21692011.808 21692017.115 21692010.743
+ -441.970 -344.392 55.000 48.000
+ -3633372.43743 -2790324.40442 24647130.826 24647140.943 24647128.657
+ -3623.064 -2823.167 45.000 38.000
+ -21645807.16044 -16811829.52242 20725084.886 20725087.647 20725083.471
+ -1493.650 -1163.883 57.000 50.000
+ -10193650.23443 -7888905.65742 23156183.635 23156190.430 23156182.481
+ -1880.257 -1465.135 48.000 43.000
+ -158537.10543 -114648.72342 25547358.636 25547366.240 25547355.852
+ 458.172 357.017 44.000 36.000
+ 04 2 1 9 30 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6922566.90643 -5332378.53842 23369899.899 23369906.677 23369898.596
+ -1987.981 -1549.076 47.000 41.000
+ -18892837.90143 -14705162.46642 21281145.079 21281149.110 21281144.076
+ 2178.122 1697.238 55.000 48.000
+ -22822801.06943 -17739492.66742 20705395.071 20705400.465 20705393.552
+ 2288.604 1783.328 56.000 50.000
+ -12787329.70143 -9919277.07042 22983999.319 22984004.330 22983999.519
+ 3305.297 2575.556 50.000 44.000
+ -19099490.21943 -14871522.28042 21694548.617 21694553.283 21694547.111
+ -444.674 -346.499 54.000 48.000
+ -3524601.01943 -2705567.83342 24667829.781 24667840.979 24667829.394
+ -3626.079 -2825.516 45.000 38.000
+ -21600859.75943 -16776805.58142 20733637.712 20733640.648 20733636.420
+ -1500.927 -1169.553 56.000 50.000
+ -10137101.30543 -7844841.60742 23166944.916 23166951.164 23166943.737
+ -1887.688 -1470.926 49.000 43.000
+ -172117.02043 -125230.36142 25544774.200 25544781.133 25544775.015
+ 449.498 350.258 44.000 36.000
+ 04 2 1 9 30 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6862845.72943 -5285842.56442 23381265.762 23381271.349 23381264.951
+ -1992.902 -1552.911 48.000 41.000
+ -18957930.82143 -14755884.20242 21268758.471 21268762.693 21268757.618
+ 2162.056 1684.719 55.000 48.000
+ -22891211.55543 -17792799.49542 20692376.972 20692382.294 20692375.607
+ 2272.773 1770.992 56.000 50.000
+ -12886363.48543 -9996446.19742 22965153.194 22965158.539 22965150.945
+ 3297.408 2569.409 49.000 44.000
+ -19086076.10643 -14861069.71742 21697101.285 21697105.680 21697099.940
+ -448.905 -349.796 54.000 48.000
+ -3415741.69743 -2620742.78242 24688545.297 24688555.264 24688545.252
+ -3630.585 -2829.027 46.000 39.000
+ -21555690.14844 -16741608.49242 20742233.424 20742236.381 20742232.397
+ -1509.695 -1176.386 57.000 50.000
+ -10080329.37343 -7800603.78542 23177748.842 23177754.629 23177746.503
+ -1896.559 -1477.838 49.000 43.000
+ -185432.15843 -135605.78242 25542240.723 25542245.677 25542240.125
+ 439.144 342.190 42.000 36.000
+ 04 2 1 9 31 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6802995.21843 -5239205.82342 23392653.989 23392660.966 23392653.261
+ -1996.885 -1556.014 47.000 42.000
+ -19022560.52543 -14806244.98642 21256459.479 21256464.006 21256458.676
+ 2146.756 1672.797 55.000 48.000
+ -22959166.35143 -17845751.24342 20679445.421 20679451.285 20679444.137
+ 2257.839 1759.355 56.000 50.000
+ -12985176.07243 -10073442.96242 22946349.914 22946355.783 22946349.449
+ 3290.188 2563.783 49.000 43.000
+ -19072554.24343 -14850533.19542 21699674.849 21699678.783 21699673.578
+ -452.188 -352.354 55.000 48.000
+ -3306773.56143 -2535832.96842 24709281.303 24709293.342 24709281.324
+ -3633.771 -2831.510 46.000 39.000
+ -21510277.44043 -16706221.97642 20750874.803 20750878.108 20750873.737
+ -1517.532 -1182.492 56.000 50.000
+ -10023314.51843 -7756176.68742 23188598.567 23188603.416 23188595.898
+ -1904.077 -1483.696 49.000 43.000
+ -198457.96643 -145755.73942 25539761.870 25539766.201 25539759.982
+ 429.442 334.630 44.000 36.000
+ 04 2 1 9 31 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6743012.74843 -5192466.26742 23404068.993 23404075.709 23404068.277
+ -2001.732 -1559.791 47.000 41.000
+ -19086722.31343 -14856241.16042 21244250.060 21244254.137 21244249.291
+ 2130.670 1660.262 54.000 48.000
+ -23026660.87043 -17898344.32742 20666601.631 20666606.860 20666600.299
+ 2241.885 1746.923 56.000 50.000
+ -13083762.30143 -10150263.34442 22927589.679 22927595.651 22927588.504
+ 3282.223 2557.576 49.000 44.000
+ -19058921.78143 -14839910.48442 21702268.449 21702273.039 21702267.195
+ -456.442 -355.669 54.000 48.000
+ -3197696.74443 -2450838.48342 24730040.102 24730049.861 24730037.930
+ -3638.070 -2834.860 46.000 38.000
+ -21464621.84744 -16670646.18842 20759562.918 20759565.833 20759561.860
+ -1526.086 -1189.158 57.000 50.000
+ -9966057.45743 -7711560.85042 23199492.896 23199499.900 23199491.766
+ -1912.509 -1490.267 48.000 43.000
+ -211190.85743 -155677.38642 25537337.938 25537345.099 25537336.215
+ 418.983 326.480 40.000 36.000
+ 04 2 1 9 32 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6682900.83743 -5145625.83442 23415508.570 23415513.512 23415506.556
+ -2006.131 -1563.219 49.000 42.000
+ -19150416.73243 -14905873.14442 21232129.749 21232133.649 21232128.887
+ 2115.231 1648.232 55.000 48.000
+ -23093695.61043 -17950579.14742 20653845.220 20653850.544 20653844.058
+ 2226.716 1735.103 56.000 50.000
+ -13182122.39743 -10226907.51042 22908872.632 22908878.265 22908870.972
+ 3274.703 2551.717 50.000 44.000
+ -19045180.48443 -14829202.96642 21704883.423 21704887.947 21704882.031
+ -460.121 -358.536 54.000 48.000
+ -3088516.96043 -2365763.79642 24750815.558 24750824.015 24750815.219
+ -3641.220 -2837.314 46.000 38.000
+ -21418728.46844 -16634885.11342 20768296.156 20768299.599 20768295.277
+ -1533.830 -1195.192 57.000 50.000
+ -9908564.63043 -7666761.28942 23210433.521 23210440.858 23210432.463
+ -1920.524 -1496.512 49.000 42.000
+ -223631.91543 -165371.73142 25534972.911 25534977.379 25534972.033
+ 409.625 319.188 42.000 35.000
+ 04 2 1 9 32 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6622658.26643 -5098683.57642 23426971.155 23426977.651 23426970.045
+ -2010.516 -1566.636 49.000 42.000
+ -19213640.35143 -14955138.27542 21220098.439 21220102.345 21220097.922
+ 2099.314 1635.829 55.000 48.000
+ -23160267.17343 -18002453.05742 20641177.075 20641182.285 20641175.846
+ 2211.102 1722.937 56.000 50.000
+ -13280252.51243 -10303372.47642 22890199.860 22890205.043 22890197.800
+ 3266.876 2545.618 50.000 44.000
+ -19031328.77443 -14818409.41342 21707519.497 21707524.212 21707517.976
+ -463.832 -361.427 54.000 48.000
+ -2979235.44243 -2280609.81742 24771610.305 24771620.308 24771608.978
+ -3644.562 -2839.918 44.000 37.000
+ -21372598.47943 -16598939.67242 20777074.112 20777077.556 20777073.260
+ -1541.843 -1201.436 56.000 50.000
+ -9850838.01443 -7621779.57042 23221418.953 23221425.481 23221416.703
+ -1928.289 -1502.563 49.000 42.000
+ -1811198.45043 -1402436.51342 25532658.667 25532664.691 25532660.059
+ 399.835 311.560 39.000 34.000
+ 04 2 1 9 33 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6562283.88343 -5051638.62542 23438460.656 23438465.765 23438458.228
+ -2015.445 -1570.477 48.000 42.000
+ -19276389.87943 -15004033.98642 21208157.801 21208161.490 21208156.636
+ 2082.967 1623.091 55.000 48.000
+ -23226372.23744 -18053963.45642 20628598.167 20628602.927 20628596.727
+ 2194.987 1710.379 57.000 50.000
+ -13378148.80043 -10379655.25342 22871570.834 22871574.480 22871569.055
+ 3258.608 2539.175 50.000 44.000
+ -19017364.57143 -14807528.21042 21710176.658 21710180.650 21710175.265
+ -468.150 -364.792 54.000 48.000
+ -2869853.77343 -2195377.85642 24792426.814 24792435.820 24792424.208
+ -3648.433 -2842.935 44.000 37.000
+ -21326233.19643 -16562810.88742 20785897.543 20785900.775 20785896.145
+ -1550.073 -1207.849 56.000 50.000
+ -9792879.96443 -7576617.52442 23232447.401 23232454.990 23232445.089
+ -1936.486 -1508.950 48.000 42.000
+ -1823047.78043 -1411669.68942 25530405.246 25530411.278 25530404.882
+ 389.038 303.146 42.000 35.000
+ 04 2 1 9 33 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6501778.90243 -5004491.89642 23449974.243 23449978.295 23449973.434
+ -2018.551 -1572.897 47.000 41.000
+ -19338664.44343 -15052559.59442 21196306.369 21196310.734 21196305.913
+ 2068.524 1611.837 55.000 48.000
+ -23292009.93744 -18105109.68142 20616107.762 20616112.843 20616106.088
+ 2180.691 1699.240 57.000 50.000
+ -13475809.91743 -10455754.77042 22852985.587 22852990.234 22852984.079
+ 3251.992 2534.020 50.000 44.000
+ -19003288.29943 -14796559.67242 21712855.275 21712860.226 21712853.442
+ -470.507 -366.629 54.000 48.000
+ -2760376.01143 -2110071.02542 24813257.313 24813270.193 24813258.223
+ -3650.315 -2844.401 43.000 37.000
+ -21279636.30443 -16526501.62642 20794764.910 20794767.738 20794763.349
+ -1556.543 -1212.891 56.000 50.000
+ -9734695.06943 -7531278.70342 23243520.452 23243527.374 23243519.323
+ -1942.821 -1513.886 48.000 42.000
+ -1834600.08843 -1420671.43742 25528206.971 25528208.917 25528203.138
+ 380.973 296.862 39.000 35.000
+ 04 2 1 9 34 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6441140.92043 -4957241.53642 23461512.509 23461518.770 23461511.858
+ -2022.878 -1576.268 46.000 41.000
+ -19400459.60743 -15100711.63742 21184547.262 21184552.127 21184546.581
+ 2052.361 1599.242 55.000 48.000
+ -23357175.76944 -18155888.21642 20603706.824 20603712.283 20603705.588
+ 2164.800 1686.857 57.000 50.000
+ -13573230.80843 -10531667.09242 22834447.386 22834451.628 22834446.657
+ 3243.959 2527.760 50.000 44.000
+ -18989096.73143 -14785501.29342 21715556.033 21715560.279 21715554.629
+ -474.439 -369.693 54.000 48.000
+ -2650802.29443 -2024689.47042 24834111.848 24834119.425 24834110.852
+ -3653.491 -2846.876 45.000 37.000
+ -21232807.93843 -16490011.99142 20803675.865 20803678.887 20803674.280
+ -1564.283 -1218.922 56.000 50.000
+ -9676284.57043 -7485764.06342 23254635.579 23254642.163 23254633.505
+ -1950.250 -1519.675 49.000 42.000
+ -1845851.68253 -1429438.88652 25526067.246 25526066.109 25526064.001
+ 370.454 288.665 38.000 34.000
+ 04 2 1 9 34 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6380371.89443 -4909889.08242 23473075.751 23473083.316 23473075.377
+ -2027.741 -1580.058 46.000 41.000
+ -19461775.11643 -15148489.92742 21172879.664 21172883.444 21172878.747
+ 2035.825 1586.357 55.000 48.000
+ -23421869.63144 -18206298.98642 20591396.035 20591401.281 20591394.357
+ 2148.585 1674.222 57.000 50.000
+ -13670410.91943 -10607391.80342 22815954.176 22815959.120 22815952.684
+ 3235.252 2520.976 50.000 44.000
+ -18974791.78143 -14774354.57342 21718277.945 21718282.594 21718276.542
+ -478.724 -373.032 54.000 48.000
+ -2541137.49543 -1939236.98942 24854979.508 24854988.547 24854978.649
+ -3656.914 -2849.543 44.000 36.000
+ -21185752.44043 -16453345.37742 20812629.775 20812633.061 20812628.652
+ -1572.298 -1225.167 56.000 50.000
+ -9617653.47643 -7440077.55542 23265792.017 23265797.627 23265790.985
+ -1958.036 -1525.742 49.000 42.000
+ -1856803.26943 -1437972.51742 25523983.105 25523983.055 25523982.803
+ 360.212 280.685 42.000 34.000
+ 04 2 1 9 35 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6319469.06443 -4862432.37842 23484666.412 23484672.567 23484664.692
+ -2032.927 -1584.099 47.000 41.000
+ -19522606.08943 -15195890.65542 21161304.104 21161308.203 21161302.976
+ 2019.128 1573.346 55.000 48.000
+ -23486086.61044 -18256338.16142 20579176.021 20579180.659 20579174.426
+ 2132.151 1661.416 57.000 50.000
+ -13767344.83143 -10682924.66542 22797508.941 22797513.675 22797507.697
+ 3226.581 2514.219 51.000 45.000
+ -18960369.24643 -14763116.21742 21721022.550 21721026.920 21721020.796
+ -483.200 -376.519 54.000 48.000
+ -2431381.37943 -1853713.42042 24875864.147 24875877.086 24875865.426
+ -3660.515 -2852.349 43.000 36.000
+ -21138469.66443 -16416501.66242 20821627.567 20821631.361 20821626.274
+ -1580.343 -1231.436 56.000 50.000
+ -9558802.85443 -7394219.99142 23276991.710 23276996.717 23276990.350
+ -1965.835 -1531.819 48.000 42.000
+ -1867450.39143 -1446268.90542 25521955.223 25521963.385 25521953.672
+ 349.599 272.415 41.000 35.000
+ 04 2 1 9 35 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6258433.52943 -4814872.22942 23496280.859 23496287.479 23496279.791
+ -2036.949 -1587.233 47.000 41.000
+ -19582951.60343 -15242913.10342 21149820.638 21149824.733 21149819.571
+ 2003.264 1560.985 55.000 48.000
+ -23549826.01444 -18306005.19442 20567046.890 20567051.536 20567045.538
+ 2116.603 1649.301 57.000 51.000
+ -13864031.14943 -10758264.60142 22779109.352 22779115.428 22779108.609
+ 3218.631 2508.024 50.000 44.000
+ -18945829.76943 -14751786.74742 21723789.531 21723793.735 21723787.902
+ -486.677 -379.229 54.000 48.000
+ -2321537.70743 -1768121.65242 24896770.131 24896780.540 24896766.996
+ -3663.067 -2854.338 44.000 36.000
+ -21090963.24144 -16379483.68142 20830667.743 20830671.491 20830666.675
+ -1587.331 -1236.881 57.000 50.000
+ -9499737.29843 -7348194.94542 23288230.782 23288238.622 23288229.033
+ -1972.331 -1536.881 48.000 42.000
+ -1877792.97943 -1454328.04542 25519988.211 25519992.163 25519988.253
+ 339.517 264.559 41.000 34.000
+ 04 2 1 9 36 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6197265.01543 -4767208.49442 23507921.369 23507926.907 23507920.680
+ -2041.987 -1591.159 48.000 42.000
+ -19642809.20743 -15289555.36342 21138430.381 21138434.522 21138429.147
+ 1986.303 1547.768 55.000 48.000
+ -23613085.17544 -18355298.00342 20555009.119 20555013.944 20555007.637
+ 2099.794 1636.203 57.000 50.000
+ -13960466.72443 -10833409.16642 22760758.239 22760763.171 22760758.005
+ 3209.502 2500.911 51.000 44.000
+ -18931172.37243 -14740365.38742 21726578.602 21726583.216 21726577.141
+ -491.383 -382.896 54.000 48.000
+ -2211609.06243 -1682463.65142 24917687.506 24917700.209 24917686.790
+ -3666.473 -2856.992 43.000 36.000
+ -21043235.15643 -16342292.96842 20839750.267 20839753.444 20839748.956
+ -1595.480 -1243.231 56.000 50.000
+ -9440459.68043 -7302004.63842 23299511.244 23299518.414 23299509.913
+ -1980.608 -1543.331 48.000 41.000
+ -1887829.46743 -1462148.65342 25518077.286 25518084.328 25518076.849
+ 328.119 255.677 42.000 35.000
+ 04 2 1 9 36 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6135962.84643 -4719440.57942 23519586.065 23519592.563 23519585.331
+ -2045.424 -1593.837 48.000 41.000
+ -19702176.48843 -15335815.56042 21127132.832 21127136.807 21127131.761
+ 1971.057 1535.889 55.000 49.000
+ -23675861.72743 -18404214.75042 20543062.492 20543068.266 20543061.191
+ 2084.855 1624.562 56.000 50.000
+ -14056648.75943 -10908356.15842 22742455.075 22742460.449 22742454.965
+ 3202.031 2495.089 51.000 44.000
+ -18916395.66043 -14728851.05142 21729391.075 21729394.923 21729389.606
+ -494.236 -385.119 55.000 48.000
+ -2101597.51143 -1596741.11442 24938622.844 24938637.833 24938623.148
+ -3667.965 -2858.154 43.000 36.000
+ -20995287.41543 -16304931.10742 20848874.481 20848877.886 20848873.078
+ -1601.642 -1248.033 56.000 50.000
+ -9380973.02443 -7255651.46542 23310830.659 23310838.786 23310828.674
+ -1986.176 -1547.670 47.000 41.000
+ -1897558.48443 -1469729.70342 25516225.650 25516233.294 25516225.967
+ 319.206 248.732 42.000 36.000
+ 04 2 1 9 37 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6074527.56943 -4671568.95042 23531277.951 23531283.838 23531276.696
+ -2050.616 -1597.882 48.000 42.000
+ -19761051.53943 -15381692.19742 21115928.806 21115933.230 21115928.230
+ 1953.989 1522.589 55.000 49.000
+ -23738153.95744 -18452754.09442 20531208.941 20531214.044 20531207.233
+ 2067.884 1611.338 57.000 51.000
+ -14152574.73543 -10983103.61842 22724200.691 22724206.223 22724201.294
+ 3192.716 2487.831 51.000 44.000
+ -18901499.34543 -14717243.52842 21732224.783 21732229.615 21732223.563
+ -499.009 -388.838 54.000 48.000
+ -1991505.99043 -1510956.33142 24959575.032 24959587.895 24959575.561
+ -3671.298 -2860.752 43.000 36.000
+ -20947122.66744 -16267400.13842 20858040.382 20858043.455 20858038.888
+ -1609.503 -1254.158 57.000 50.000
+ -9321281.27343 -7209138.48742 23322190.146 23322197.310 23322188.384
+ -1993.516 -1553.389 47.000 41.000
+ -1906978.67243 -1477070.15542 25514433.498 25514439.363 25514432.392
+ 308.039 240.030 42.000 35.000
+ 04 2 1 9 37 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -6012956.10243 -4623591.21442 23542993.208 23543001.454 23542992.346
+ -2054.505 -1600.913 47.000 41.000
+ -19819429.52143 -15427181.51742 21104820.125 21104824.748 21104819.760
+ 1937.643 1509.852 55.000 49.000
+ -23799956.84444 -18500912.14242 20519448.208 20519453.458 20519447.104
+ 2051.992 1598.955 57.000 51.000
+ -14248239.07243 -11057647.22442 22705996.220 22706002.769 22705995.664
+ 3184.562 2481.477 50.000 44.000
+ -18886479.90343 -14705540.06142 21735083.672 21735087.378 21735081.994
+ -502.646 -391.672 55.000 48.000
+ -1881334.14443 -1425108.97442 24980541.653 24980552.947 24980542.606
+ -3673.897 -2862.777 43.000 36.000
+ -20898740.40243 -16229699.68042 20867246.651 20867250.014 20867245.735
+ -1616.266 -1259.428 56.000 50.000
+ -9261384.72543 -7162465.90242 23333588.805 23333594.870 23333586.655
+ -1999.797 -1558.283 48.000 41.000
+ -1916085.80643 -1484166.58042 25512701.252 25512707.710 25512700.996
+ 298.633 232.701 43.000 36.000
+ 04 2 1 9 38 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -5951251.05743 -4575509.40442 23554736.036 23554741.108 23554734.550
+ -2060.359 -1605.474 47.000 41.000
+ -19877310.85543 -15472283.83242 21093805.563 21093810.038 21093804.786
+ 1919.756 1495.914 55.000 49.000
+ -23861271.12744 -18548689.46142 20507780.721 20507785.493 20507779.059
+ 2034.495 1585.321 57.000 51.000
+ -14343641.69243 -11131986.88142 22687842.576 22687847.389 22687841.449
+ 3174.543 2473.670 50.000 44.000
+ -18871338.80243 -14693741.78742 21737964.893 21737968.793 21737963.555
+ -507.847 -395.725 55.000 48.000
+ -1771087.33743 -1339203.20442 25001521.211 25001535.579 25001521.954
+ -3677.038 -2865.224 42.000 35.000
+ -20850145.70343 -16191833.67842 20876493.945 20876497.399 20876492.522
+ -1624.572 -1265.900 56.000 50.000
+ -9201289.51143 -7115638.51342 23345023.979 23345032.812 23345023.732
+ -2007.479 -1564.269 48.000 41.000
+ -1924881.02443 -1491019.91942 25511026.770 25511031.806 25511025.467
+ 286.749 223.441 43.000 36.000
+ 04 2 1 9 38 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -5889412.24343 -4527323.35142 23566503.380 23566510.226 23566502.887
+ -2063.412 -1607.853 46.000 41.000
+ -19934693.50143 -15516997.56742 21082886.098 21082890.318 21082885.370
+ 1904.516 1484.038 55.000 49.000
+ -23922094.47844 -18596084.25342 20496206.069 20496210.833 20496204.554
+ 2019.268 1573.456 57.000 50.000
+ -14438779.80743 -11206120.42742 22669738.180 22669743.401 22669737.379
+ 3166.899 2467.714 51.000 45.000
+ -18856075.31943 -14681848.15342 21740868.823 21740873.487 21740867.751
+ -510.676 -397.929 54.000 48.000
+ -1660767.79043 -1253240.78242 25022512.643 25022531.025 25022514.102
+ -3678.558 -2866.409 40.000 34.000
+ -20801340.69243 -16153803.80942 20885781.088 20885784.726 20885779.703
+ -1630.280 -1270.348 56.000 50.000
+ -9140998.95243 -7068658.91842 23356497.976 23356504.370 23356496.647
+ -2012.594 -1568.255 49.000 42.000
+ -1933363.20443 -1497629.32242 25509412.551 25509417.867 25509412.587
+ 277.005 215.848 43.000 36.000
+ 04 2 1 9 39 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -5827437.23143 -4479031.14342 23578297.368 23578303.379 23578295.809
+ -2068.124 -1611.525 46.000 40.000
+ -19991572.95943 -15561319.20342 21072062.606 21072066.328 21072061.666
+ 1887.594 1470.852 55.000 49.000
+ -23982422.75443 -18643093.26242 20484725.702 20484730.771 20484724.261
+ 2002.708 1560.552 56.000 50.000
+ -14533648.38443 -11280043.96442 22651685.518 22651691.107 22651684.499
+ 3157.737 2460.574 51.000 45.000
+ -18840686.09443 -14669856.54442 21743797.575 21743801.846 21743795.924
+ -515.061 -401.346 54.000 48.000
+ -1550376.10543 -1167222.17142 25043521.973 25043533.001 25043519.651
+ -3680.662 -2868.048 41.000 34.000
+ -20752325.56643 -16115610.19542 20895108.498 20895112.193 20895107.291
+ -1637.370 -1275.873 56.000 50.000
+ -9080513.91843 -7021527.80042 23368006.861 23368012.989 23368004.310
+ -2019.456 -1573.602 48.000 41.000
+ -1941528.94743 -1503992.25542 25507859.095 25507864.925 25507859.144
+ 266.685 207.806 42.000 36.000
+ 04 2 1 9 39 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -5765326.65043 -4430633.31842 23590116.007 23590122.730 23590116.105
+ -2072.774 -1615.148 47.000 41.000
+ -20047947.88943 -15605247.70342 21061334.684 21061338.883 21061333.750
+ 1870.546 1457.568 55.000 49.000
+ -24042254.58344 -18689715.43342 20473340.606 20473345.225 20473338.871
+ 1985.952 1547.495 57.000 50.000
+ -14628245.44243 -11353755.90942 22633683.826 22633688.721 22633683.900
+ 3148.534 2453.403 51.000 45.000
+ -18825171.26143 -14657767.06542 21746750.496 21746754.664 21746748.723
+ -519.389 -404.719 54.000 48.000
+ -6166175.69043 -4763950.10442 25064541.643 25064553.025 25064535.765
+ -3683.765 -2870.466 39.000 33.000
+ -20703103.31244 -16077255.18242 20904475.580 20904478.459 20904474.116
+ -1644.343 -1281.306 57.000 50.000
+ -9019838.60143 -6974248.39742 23379552.471 23379560.493 23379551.209
+ -2025.768 -1578.520 47.000 41.000
+ -1949377.41243 -1510107.92642 25506363.627 25506368.644 25506361.627
+ 256.091 199.551 39.000 34.000
+ 04 2 1 9 40 0.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -5703080.54843 -4382129.88542 23601961.613 23601968.085 23601959.902
+ -2076.853 -1618.327 48.000 41.000
+ -20103816.22543 -15648781.45642 21050703.408 21050707.150 21050702.358
+ 1854.069 1444.729 55.000 49.000
+ -24101587.84443 -18735949.11842 20462049.630 20462054.332 20462048.163
+ 1969.938 1535.017 56.000 51.000
+ -14722568.17443 -11427254.10142 22615734.636 22615740.634 22615733.522
+ 3139.992 2446.747 51.000 45.000
+ -18809529.68043 -14645578.82642 21749726.718 21749730.814 21749725.245
+ -523.023 -407.550 55.000 48.000
+ -4677826.39052 25085573.822 25085589.061
+ -3684.680 -2871.179 38.000 33.000
+ -20653676.16543 -16038740.51742 20913880.828 20913884.244 20913879.677
+ -1650.598 -1286.180 56.000 50.000
+ -8958976.37343 -6926823.35042 23391135.293 23391141.714 23391133.085
+ -2031.335 -1582.858 48.000 41.000
+ -1956907.21043 -1515975.26342 25504931.281 25504935.673 25504932.357
+ 245.810 191.540 41.000 34.000
+ 04 2 1 9 40 30.0000000 0 9G27G29G 7G26G 8G13G28G10G11
+ -5640698.77843 -4333520.71542 23613831.627 23613838.054 23613832.663
+ -2081.590 -1622.018 47.000 40.000
+ -20159175.92443 -15691918.85742 21040168.650 21040172.907 21040167.622
+ 1836.622 1431.134 55.000 49.000
+ -24160420.60044 -18781792.78942 20450854.160 20450859.261 20450852.548
+ 1952.464 1521.401 57.000 51.000
+ -14816613.81943 -11500536.38542 22597839.026 22597844.477 22597837.743
+ 3130.013 2438.971 52.000 45.000
+ -18793760.63543 -14633291.26242 21752726.816 21752731.774 21752725.432
+ -527.951 -411.390 54.000 48.000
+ -5945058.38153 -4591652.87552 25106620.730 25106631.922 25106621.240
+ -3687.469 -2873.352 40.000 32.000
+ -20604046.46343 -16000068.01842 20923325.237 20923328.448 20923324.057
+ -1657.891 -1291.863 56.000 49.000
+ -8897930.49443 -6879255.19442 23402752.807 23402758.253 23402750.650
+ -2038.087 -1588.120 48.000 41.000
+ -1964117.13343 -1521593.35142 25503560.573 25503564.268 25503560.267
+ 234.650 182.844 41.000 35.000
+ 04 2 1 9 41 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -5578180.57743 -4284805.27742 23625730.221 23625735.014 23625728.979
+ -2086.637 -1625.951 47.000 41.000
+ -20214024.27143 -15734657.81142 21029731.558 21029735.393 21029730.378
+ 1819.210 1417.566 55.000 49.000
+ -24218750.11144 -18827244.32042 20439754.144 20439759.195 20439752.714
+ 1935.382 1508.090 57.000 51.000
+ -14910378.94443 -11573600.08042 22579995.325 22580000.126 22579994.924
+ 3120.181 2431.310 52.000 45.000
+ -18777862.56643 -14620903.15742 21755752.495 21755757.107 21755751.014
+ -532.575 -414.993 54.000 48.000
+ -20554215.78543 -15961238.91642 20932807.707 20932810.380 20932806.169
+ -1664.856 -1297.290 56.000 49.000
+ -8836703.55643 -6831545.95242 23414403.796 23414410.659 23414401.375
+ -2044.421 -1593.055 48.000 41.000
+ -1971005.03043 -1526960.55642 25502248.575 25502254.709 25502247.857
+ 223.855 174.432 41.000 35.000
+ 04 2 1 9 41 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -5515523.04543 -4235981.22242 23637651.868 23637658.210 23637650.344
+ -2090.118 -1628.663 46.000 40.000
+ -20268356.52243 -15776994.60942 21019391.975 21019396.442 21019391.214
+ 1803.180 1405.075 55.000 49.000
+ -24276571.77344 -18872300.13942 20428751.308 20428756.238 20428749.781
+ 1919.715 1495.882 57.000 51.000
+ -15003858.09843 -11646440.93742 22562207.747 22562212.470 22562206.508
+ 3111.969 2424.911 52.000 45.000
+ -18761831.80143 -14608411.66042 21758803.410 21758807.303 21758802.134
+ -535.690 -417.421 55.000 48.000
+ -20504183.66443 -15922252.83942 20942327.871 20942331.538 20942327.067
+ -1670.280 -1301.517 56.000 49.000
+ -8775296.21843 -6783696.13942 23426088.541 23426095.410 23426086.329
+ -2049.201 -1596.780 48.000 41.000
+ -1977567.18443 -1532073.86442 25501001.540 25501005.785 25500999.833
+ 213.826 166.618 43.000 36.000
+ 04 2 1 9 42 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -5452731.21943 -4187052.56342 23649601.793 23649606.020 23649600.322
+ -2096.361 -1633.528 47.000 40.000
+ -20322175.80443 -15818931.69142 21009150.578 21009154.782 21009149.878
+ 1784.521 1390.536 55.000 49.000
+ -24333888.69843 -18916962.64242 20417843.743 20417849.361 20417842.561
+ 1901.304 1481.536 56.000 51.000
+ -15097053.51643 -11719060.70542 22544473.354 22544478.428 22544472.362
+ 3100.889 2416.277 52.000 45.000
+ -18745672.58243 -14595820.06342 21761878.035 21761882.259 21761876.607
+ -541.643 -422.059 54.000 48.000
+ -20453957.46143 -15883115.52142 20951886.215 20951889.170 20951884.985
+ -1678.295 -1307.762 56.000 49.000
+ -8713717.03043 -6735712.44242 23437806.273 23437813.128 23437805.133
+ -2056.606 -1602.550 48.000 41.000
+ -1983807.33453 -1536936.36152 25499811.513 25499818.850 25499810.871
+ 201.787 157.237 42.000 35.000
+ 04 2 1 9 42 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -5389802.54443 -4138017.22842 23661576.955 23661582.018 23661575.493
+ -2100.382 -1636.661 46.000 41.000
+ -20375477.43043 -15860465.40742 20999008.197 20999012.041 20999007.217
+ 1767.595 1377.347 55.000 49.000
+ -24390696.35644 -18961228.32342 20407034.025 20407039.084 20407032.743
+ 1884.666 1468.571 57.000 51.000
+ -15189960.01643 -11791455.33442 22526793.220 22526798.589 22526793.088
+ 3091.614 2409.050 51.000 45.000
+ -18729381.28143 -14583125.55042 21764978.366 21764982.561 21764977.395
+ -545.727 -425.242 55.000 48.000
+ -20403536.94743 -15843826.80242 20961481.198 20961484.246 20961479.744
+ -1684.349 -1312.480 56.000 49.000
+ -8651966.89843 -6687595.51642 23449556.902 23449563.730 23449554.858
+ -2061.583 -1606.428 47.000 41.000
+ -1989721.85243 -1541545.03142 25498687.944 25498689.258 25498686.901
+ 191.166 148.961 42.000 35.000
+ 04 2 1 9 43 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -5326731.30043 -4088870.80942 23673578.172 23673585.551 23673577.115
+ -2103.625 -1639.188 44.000 40.000
+ -20428253.92043 -15901589.92942 20988964.266 20988968.775 20988963.779
+ 1751.234 1364.598 55.000 49.000
+ -24446987.31144 -19005091.37542 20396322.201 20396326.888 20396320.887
+ 1868.464 1455.946 57.000 51.000
+ -15282569.13643 -11863618.24542 22509169.569 22509175.727 22509169.153
+ 3082.797 2402.179 51.000 45.000
+ -18712951.68643 -14570323.26942 21768104.391 21768108.713 21768103.117
+ -549.136 -427.898 54.000 48.000
+ -20352918.84543 -15804384.11542 20971113.420 20971116.247 20971111.927
+ -1689.736 -1316.677 56.000 49.000
+ -8590043.33843 -6639343.46642 23461339.978 23461347.382 23461338.683
+ -2066.166 -1609.999 48.000 41.000
+ -1995303.54043 -1545894.35042 25497623.826 25497629.070 25497625.169
+ 181.331 141.297 43.000 34.000
+ 04 2 1 9 43 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -5263524.47543 -4039618.77242 23685605.056 23685612.728 23685603.247
+ -2108.374 -1642.889 44.000 39.000
+ -20480510.48043 -15942309.30342 20979020.380 20979024.742 20979019.602
+ 1733.747 1350.972 55.000 49.000
+ -24502766.76144 -19048555.84842 20385707.853 20385712.567 20385705.981
+ 1851.208 1442.500 57.000 51.000
+ -15374885.36143 -11935552.91742 22491601.448 22491608.165 22491602.091
+ 3072.701 2394.312 51.000 45.000
+ -18696389.88943 -14557417.97942 21771256.273 21771261.257 21771254.454
+ -553.741 -431.486 54.000 48.000
+ -20302112.42743 -15764794.68842 20980780.938 20980784.638 20980779.819
+ -1696.169 -1321.690 56.000 49.000
+ -8527956.74543 -6590964.39242 23473156.063 23473162.019 23473153.755
+ -2071.859 -1614.435 49.000 41.000
+ -2000558.54343 -1549989.10842 25496624.697 25496629.463 25496624.978
+ 170.074 132.525 43.000 36.000
+ 04 2 1 9 44 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -5200177.62543 -3990257.60242 23697658.717 23697667.320 23697659.044
+ -2113.042 -1646.526 45.000 40.000
+ -20532240.36943 -15982618.29642 20969176.465 20969180.807 20969175.373
+ 1716.546 1337.568 55.000 49.000
+ -24558028.04444 -19091616.54842 20375191.747 20375196.530 20375190.451
+ 1834.427 1429.424 57.000 51.000
+ -15466901.17243 -12007253.51742 22474092.619 22474097.491 22474092.014
+ 3063.215 2386.921 51.000 45.000
+ -18679690.33443 -14544405.35242 21774433.611 21774438.678 21774432.214
+ -557.991 -434.798 54.000 48.000
+ -20251115.38743 -15725056.74242 20990485.766 20990489.011 20990484.467
+ -1702.102 -1326.313 56.000 49.000
+ -8465705.80743 -6542457.23242 23485001.832 23485009.975 23485000.791
+ -2076.845 -1618.321 48.000 41.000
+ -2005481.00743 -1553824.72942 25495690.007 25495693.320 25495686.704
+ 159.405 124.212 43.000 37.000
+ 04 2 1 9 44 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -5136698.04843 -3940793.00942 23709739.272 23709746.607 23709738.503
+ -2118.577 -1650.839 44.000 40.000
+ -20583449.40943 -16022521.42542 20959431.913 20959435.975 20959431.063
+ 1698.066 1323.168 55.000 49.000
+ -24612777.03744 -19134278.05542 20364773.183 20364778.111 20364771.643
+ 1816.141 1415.175 57.000 51.000
+ -15558621.38943 -12078723.77142 22456638.441 22456643.591 22456638.270
+ 3052.208 2378.344 51.000 45.000
+ -18662859.79443 -14531290.65442 21777636.853 21777640.925 21777635.044
+ -563.511 -439.099 54.000 48.000
+ -20199937.41443 -15685177.79442 21000224.370 21000228.103 21000223.245
+ -1709.157 -1331.811 56.000 49.000
+ -8403301.60943 -6493830.65242 23496876.800 23496884.046 23496876.726
+ -2082.835 -1622.988 48.000 41.000
+ -2010077.19643 -1557406.18542 25494814.071 25494818.405 25494812.652
+ 147.305 114.783 45.000 37.000
+ 04 2 1 9 45 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -5073074.84143 -3891216.51142 23721846.068 23721854.371 23721846.614
+ -2123.370 -1654.574 45.000 40.000
+ -20634124.72743 -16062008.66542 20949788.605 20949792.812 20949787.691
+ 1679.988 1309.082 56.000 49.000
+ -24667001.01144 -19176530.46542 20354454.484 20354459.672 20354453.268
+ 1798.535 1401.456 57.000 51.000
+ -15650032.37343 -12149953.06442 22439243.358 22439249.047 22439242.928
+ 3041.669 2370.132 51.000 45.000
+ -18645886.30443 -14518064.55542 21780866.633 21780871.251 21780865.322
+ -568.268 -442.806 54.000 48.000
+ -20148569.89743 -15645151.15142 21009999.645 21010002.833 21009998.000
+ -1715.558 -1336.798 56.000 49.000
+ -8340736.68743 -6445078.82842 23508782.328 23508790.390 23508782.134
+ -2088.363 -1627.296 48.000 41.000
+ -2014335.26843 -1560724.13542 25494003.166 25494007.647 25494001.726
+ 136.153 106.093 44.000 38.000
+ 04 2 1 9 45 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -5009316.54343 -3841534.76042 23733980.620 23733986.054 23733979.587
+ -2127.267 -1657.611 47.000 41.000
+ -20684272.91243 -16101085.15642 20940245.762 20940250.263 20940245.016
+ 1663.223 1296.018 56.000 49.000
+ -24720706.56944 -19218378.91042 20344234.624 20344239.924 20344233.277
+ 1781.949 1388.532 57.000 51.000
+ -15741139.99443 -12220945.97342 22421906.839 22421912.045 22421905.736
+ 3032.264 2362.803 51.000 45.000
+ -18628777.66443 -14504733.14642 21784122.371 21784127.230 21784120.873
+ -572.171 -445.847 54.000 48.000
+ -20097023.65643 -15604985.24742 21019807.800 21019811.891 21019807.107
+ -1720.774 -1340.863 56.000 49.000
+ -8278022.67943 -6396210.84642 23520717.231 23520724.404 23520716.204
+ -2092.396 -1630.438 48.000 41.000
+ -2018262.64843 -1563784.39242 25493256.742 25493262.221 25493257.434
+ 125.695 97.944 46.000 38.000
+ 04 2 1 9 46 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4945415.47043 -3791741.75742 23746139.999 23746145.795 23746138.628
+ -2132.661 -1661.814 45.000 39.000
+ -20733884.54943 -16139743.55042 20930805.101 20930809.604 20930804.436
+ 1644.681 1281.570 56.000 49.000
+ -24773884.30444 -19259816.06442 20334115.391 20334120.382 20334113.946
+ 1763.717 1374.325 57.000 51.000
+ -15831933.77043 -12291694.31842 22404630.100 22404634.768 22404628.189
+ 3021.127 2354.125 51.000 45.000
+ -18611525.37443 -14491289.79442 21787405.733 21787410.165 21787404.275
+ -577.626 -450.098 54.000 48.000
+ -20045293.06943 -15564675.69542 21029652.348 21029655.682 21029651.631
+ -1727.506 -1346.108 56.000 49.000
+ -8215155.38243 -6347223.40742 23532680.202 23532687.951 23532677.481
+ -2098.313 -1635.049 48.000 41.000
+ -2021850.33543 -1566579.95842 25492574.613 25492580.044 25492572.773
+ 113.800 88.675 45.000 39.000
+ 04 2 1 9 46 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4881377.02643 -3741841.69242 23758326.356 23758333.149 23758325.981
+ -2137.179 -1665.334 46.000 40.000
+ -20782963.30343 -16177986.71542 20921465.739 20921470.054 20921464.981
+ 1626.867 1267.689 56.000 49.000
+ -24826537.90444 -19300844.81042 20324095.851 20324100.605 20324094.443
+ 1746.126 1360.618 57.000 51.000
+ -15922416.33543 -12362200.16442 22387410.402 22387416.019 22387409.792
+ 3010.683 2345.987 51.000 45.000
+ -18594133.68043 -14477737.81942 21790715.353 21790719.583 21790713.993
+ -582.242 -453.695 54.000 48.000
+ -19993386.08943 -15524228.69642 21039529.424 21039533.277 21039528.591
+ -1733.385 -1350.690 56.000 49.000
+ -8152143.58843 -6298123.39842 23544671.760 23544677.615 23544670.806
+ -2103.089 -1638.771 48.000 41.000
+ -2025102.59743 -1569114.16242 25491954.291 25491959.820 25491954.231
+ 102.506 79.875 43.000 38.000
+ 04 2 1 9 47 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4817198.49443 -3691832.49142 23770539.555 23770545.284 23770537.207
+ -2141.907 -1669.018 47.000 41.000
+ -20831504.50143 -16215811.00542 20912228.533 20912232.777 20912227.533
+ 1608.958 1253.734 55.000 49.000
+ -24878663.10744 -19341461.82142 20314176.699 20314181.810 20314175.290
+ 1728.578 1346.944 57.000 51.000
+ -16012582.41843 -12432459.40842 22370253.007 22370257.765 22370252.174
+ 3000.023 2337.680 51.000 45.000
+ -18576599.24743 -14464074.61942 21794051.521 21794055.843 21794050.111
+ -586.964 -457.374 54.000 48.000
+ -19941302.17043 -15483643.83142 21049441.120 21049444.472 21049439.887
+ -1739.210 -1355.228 56.000 49.000
+ -8088987.79043 -6248911.15942 23556689.501 23556694.930 23556688.750
+ -2107.724 -1642.382 48.000 41.000
+ -2028015.49343 -1571383.97242 25491401.282 25491404.140 25491398.698
+ 91.256 71.109 43.000 37.000
+ 04 2 1 9 47 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4752880.94443 -3641714.95642 23782778.186 23782785.117 23782776.894
+ -2145.813 -1672.062 47.000 41.000
+ -20879507.44743 -16253215.86942 20903093.418 20903097.810 20903092.632
+ 1591.307 1239.979 55.000 49.000
+ -24930259.11344 -19381666.47142 20304358.357 20304363.220 20304356.945
+ 1711.245 1333.438 57.000 51.000
+ -16102430.32443 -12502470.71442 22353154.890 22353159.618 22353153.966
+ 2989.992 2329.864 51.000 45.000
+ -18558922.26143 -14450300.32642 21797415.442 21797419.505 21797414.158
+ -591.375 -460.812 54.000 48.000
+ -19889044.73143 -15442923.74642 21059385.650 21059388.968 21059384.211
+ -1744.500 -1359.351 56.000 49.000
+ -8025692.52143 -6199590.23942 23568734.139 23568741.464 23568732.695
+ -2111.874 -1645.616 48.000 41.000
+ -2030589.41343 -1573389.59242 25490910.337 25490915.773 25490909.489
+ 80.647 62.842 41.000 37.000
+ 04 2 1 9 48 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4688421.69843 -3591486.97042 23795043.908 23795051.394 23795043.999
+ -2150.902 -1676.027 46.000 40.000
+ -20926967.73543 -16290197.88842 20894062.501 20894066.628 20894061.608
+ 1573.115 1225.804 56.000 49.000
+ -24981321.58843 -19421455.38842 20294641.057 20294646.184 20294639.700
+ 1693.227 1319.398 56.000 51.000
+ -16191954.49043 -12572229.75042 22336119.228 22336124.656 22336118.856
+ 2978.924 2321.239 52.000 45.000
+ -18541099.02043 -14436412.06942 21800807.289 21800811.650 21800805.567
+ -596.502 -464.807 54.000 48.000
+ -19836613.00843 -15402067.85542 21069362.663 21069365.944 21069361.652
+ -1750.430 -1363.971 56.000 49.000
+ -7962258.42643 -6150161.16842 23580805.739 23580814.850 23580804.920
+ -2116.525 -1649.240 48.000 41.000
+ -2032820.67543 -1575128.20742 25490485.657 25490492.060 25490485.814
+ 68.820 53.626 42.000 36.000
+ 04 2 1 9 48 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4623821.57543 -3541149.26942 23807337.834 23807345.655 23807336.315
+ -2155.825 -1679.864 46.000 40.000
+ -20973884.34743 -16326756.26242 20885134.422 20885139.070 20885133.343
+ 1554.740 1211.486 56.000 49.000
+ -25031849.58344 -19460827.81942 20285026.267 20285031.037 20285024.664
+ 1675.310 1305.436 57.000 51.000
+ -16281153.29643 -12641735.27642 22319145.115 22319150.568 22319144.630
+ 2967.790 2312.564 52.000 46.000
+ -18523129.72143 -14422410.01342 21804226.423 21804230.827 21804224.813
+ -601.366 -468.597 54.000 48.000
+ -19784010.40743 -15361078.81842 21079373.156 21079375.813 21079371.717
+ -1756.320 -1368.561 56.000 49.000
+ -7898689.78943 -6100627.23342 23592901.780 23592909.348 23592898.882
+ -2121.206 -1652.888 47.000 40.000
+ -2034708.54643 -1576599.24442 25490126.073 25490132.290 25490124.165
+ 56.909 44.345 39.000 36.000
+ 04 2 1 9 49 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4559079.44943 -3490700.89042 23819656.856 23819664.848 23819656.610
+ -2160.768 -1683.715 46.000 40.000
+ -21020254.66943 -16362888.95042 20876310.712 20876314.840 20876309.793
+ 1536.142 1196.994 56.000 49.000
+ -25081840.29644 -19499781.58242 20275513.298 20275518.301 20275511.766
+ 1657.056 1291.212 57.000 51.000
+ -16370022.65243 -12710984.07242 22302233.512 22302239.266 22302233.025
+ 2956.574 2303.824 52.000 46.000
+ -18505012.03143 -14408292.32242 21807674.115 21807678.619 21807672.475
+ -606.757 -472.798 54.000 48.000
+ -19731237.65543 -15319957.19542 21089415.082 21089418.291 21089413.751
+ -1762.226 -1373.163 56.000 49.000
+ -7834988.71043 -6050990.11342 23605023.799 23605030.595 23605021.122
+ -2125.926 -1656.566 48.000 41.000
+ -2036251.30643 -1577801.36342 25489833.240 25489837.928 25489832.445
+ 45.669 35.586 40.000 34.000
+ 04 2 1 9 49 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4494200.50443 -3440145.91642 23832004.270 23832011.163 23832001.839
+ -2165.232 -1687.194 46.000 40.000
+ -21066081.80443 -16398598.38042 20867590.037 20867593.822 20867588.897
+ 1518.320 1183.106 56.000 49.000
+ -25131297.35944 -19538319.51742 20266102.190 20266106.750 20266100.585
+ 1639.525 1277.552 57.000 51.000
+ -16458564.89243 -12779977.98342 22285385.159 22285390.631 22285385.007
+ 2945.838 2295.458 52.000 46.000
+ -18486750.41443 -14394062.47642 21811149.480 21811153.584 21811147.882
+ -611.264 -476.310 54.000 48.000
+ -19678302.16943 -15278708.77042 21099488.315 21099491.533 21099486.910
+ -1767.371 -1377.172 56.000 49.000
+ -7771163.87843 -6001256.52642 23617169.992 23617175.996 23617167.576
+ -2129.797 -1659.582 48.000 41.000
+ -2037452.47943 -1578737.36342 25489605.578 25489608.966 25489604.419
+ 34.338 26.757 44.000 37.000
+ 04 2 1 9 50 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4429177.54543 -3389478.70042 23844377.416 23844382.857 23844376.885
+ -2169.524 -1690.538 45.000 40.000
+ -21111357.13243 -16433877.83142 20858974.494 20858978.573 20858973.421
+ 1500.407 1169.148 56.000 49.000
+ -25180211.95344 -19576434.75742 20256793.592 20256798.763 20256792.189
+ 1621.881 1263.803 57.000 51.000
+ -16546770.43443 -12848709.53742 22268600.411 22268604.872 22268600.103
+ 2935.057 2287.057 52.000 46.000
+ -18468336.56943 -14379714.00942 21814653.086 21814657.885 21814651.640
+ -615.978 -479.983 54.000 48.000
+ -19625199.07243 -15237329.74942 21109593.527 21109596.964 21109592.377
+ -1772.480 -1381.153 56.000 49.000
+ -7707211.35543 -5951423.49142 23629339.694 23629346.700 23629336.358
+ -2133.537 -1662.496 48.000 41.000
+ -2038304.35243 -1579401.16142 25489442.902 25489448.191 25489440.173
+ 22.802 17.768 44.000 37.000
+ 04 2 1 9 50 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4364015.13043 -3338702.81042 23856777.724 23856783.685 23856776.725
+ -2174.889 -1694.719 45.000 39.000
+ -21156083.39243 -16468729.43442 20850462.723 20850467.291 20850462.212
+ 1481.307 1154.265 56.000 50.000
+ -25228586.93644 -19614129.52142 20247588.376 20247593.294 20247586.807
+ 1603.062 1249.139 57.000 51.000
+ -16634640.78143 -12917179.89842 22251878.147 22251884.184 22251878.299
+ 2923.033 2277.688 52.000 46.000
+ -18449774.41743 -14365249.98042 21818185.394 21818190.019 21818183.888
+ -621.481 -484.271 54.000 48.000
+ -19571935.08843 -15195825.35442 21119729.402 21119732.902 21119728.130
+ -1778.467 -1385.818 56.000 49.000
+ -7643138.88243 -5901496.96942 23641531.382 23641538.184 23641531.228
+ -2138.137 -1666.081 47.000 41.000
+ -2038810.48043 -1579795.50042 25489345.951 25489351.352 25489344.771
+ 11.037 8.600 43.000 38.000
+ 04 2 1 9 51 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4298708.47643 -3287814.54942 23869205.334 23869210.757 23869204.150
+ -2179.345 -1698.191 46.000 39.000
+ -21200254.13243 -16503148.17042 20842057.945 20842061.846 20842056.786
+ 1463.131 1140.102 56.000 50.000
+ -25276415.89944 -19651398.81042 20238486.529 20238491.459 20238485.151
+ 1585.224 1235.239 57.000 51.000
+ -16722168.38843 -12985383.19042 22235223.267 22235228.330 22235222.314
+ 2911.924 2269.032 52.000 46.000
+ -18431057.97043 -14350665.71942 21821747.321 21821751.298 21821745.373
+ -626.419 -488.119 54.000 48.000
+ -19518507.49443 -15154193.46642 21129896.409 21129899.642 21129895.031
+ -1783.599 -1389.817 56.000 49.000
+ -7578944.97943 -5851475.82142 23653747.172 23653755.389 23653745.616
+ -2142.190 -1669.239 47.000 41.000
+ -2038965.07543 -1579915.94942 25489316.565 25489322.812 25489315.633
+ -.659 -.513 46.000 38.000
+ 04 2 1 9 51 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4233262.35143 -3236817.58442 23881658.925 23881664.882 23881657.711
+ -2183.798 -1701.661 46.000 39.000
+ -21243872.49643 -16537136.48242 20833757.019 20833761.655 20833756.021
+ 1444.623 1125.680 56.000 50.000
+ -25323702.16744 -19688245.21842 20229488.548 20229493.283 20229486.792
+ 1567.208 1221.201 57.000 51.000
+ -16809355.50143 -13053321.16242 22218631.805 22218636.556 22218630.899
+ 2900.688 2260.276 52.000 46.000
+ -18412191.37043 -14335964.47742 21825337.496 21825341.755 21825335.806
+ -631.397 -491.998 54.000 48.000
+ -19464923.24843 -15112439.51142 21140093.397 21140096.775 21140091.538
+ -1788.706 -1393.797 56.000 49.000
+ -7514637.73343 -5801366.35742 23665984.471 23665991.162 23665983.884
+ -2145.317 -1671.675 47.000 40.000
+ -2038771.59143 -1579765.13642 25489352.681 25489358.511 25489352.501
+ -12.465 -9.713 45.000 38.000
+ 04 2 1 9 52 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4167675.49943 -3185710.96542 23894138.924 23894146.018 23894138.071
+ -2189.251 -1705.910 45.000 40.000
+ -21286935.60043 -16570692.12842 20825562.552 20825567.059 20825561.567
+ 1425.650 1110.896 56.000 50.000
+ -25370442.93244 -19724666.54842 20220593.791 20220598.544 20220592.440
+ 1548.387 1206.535 57.000 51.000
+ -16896198.05143 -13120990.65642 22202105.994 22202111.044 22202105.434
+ 2888.413 2250.711 53.000 46.000
+ -18393172.18143 -14321144.32042 21828956.652 21828960.667 21828955.183
+ -636.938 -496.315 54.000 48.000
+ -19411183.29443 -15070564.23142 21150319.503 21150323.198 21150318.232
+ -1794.480 -1398.296 56.000 49.000
+ -7450219.27543 -5751170.25142 23678242.871 23678251.299 23678242.688
+ -2149.509 -1674.942 47.000 41.000
+ -2038228.10143 -1579341.64942 25489455.814 25489461.299 25489455.518
+ -24.274 -18.915 46.000 40.000
+ 04 2 1 9 52 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4101946.25643 -3134493.39842 23906647.752 23906653.749 23906645.955
+ -2193.448 -1709.180 45.000 40.000
+ -21329440.09443 -16603812.50042 20817474.099 20817478.229 20817473.385
+ 1407.255 1096.562 56.000 50.000
+ -25416634.87644 -19760660.23342 20211803.649 20211808.503 20211802.095
+ 1530.236 1192.392 57.000 51.000
+ -16982691.56943 -13188388.16442 22185646.652 22185651.537 22185646.121
+ 2876.992 2241.812 53.000 46.000
+ -18373997.85543 -14306203.27442 21832605.280 21832609.471 21832603.807
+ -641.970 -500.236 54.000 48.000
+ -19357287.85843 -15028567.79242 21160575.465 21160578.619 21160574.153
+ -1799.428 -1402.152 56.000 49.000
+ -7385691.40343 -5700888.85942 23690522.741 23690530.059 23690521.236
+ -2152.953 -1677.626 47.000 41.000
+ -2037331.95243 -1578643.31242 25489627.601 25489632.751 25489626.869
+ -36.043 -28.085 46.000 39.000
+ 04 2 1 9 53 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -4036072.15143 -3083162.96042 23919183.907 23919189.696 23919181.672
+ -2198.492 -1713.111 47.000 40.000
+ -21371381.85243 -16636494.37642 20809493.003 20809497.461 20809492.102
+ 1388.160 1081.683 56.000 50.000
+ -25462274.00844 -19796223.15342 20203118.835 20203123.785 20203117.319
+ 1511.603 1177.872 57.000 51.000
+ -17068830.76043 -13255509.58142 22169253.839 22169259.879 22169254.070
+ 2864.905 2232.394 52.000 46.000
+ -18354665.03543 -14291138.74242 21836283.982 21836288.862 21836282.369
+ -647.497 -504.543 54.000 48.000
+ -19303236.79443 -14986450.08842 21170860.783 21170864.094 21170859.785
+ -1804.719 -1406.274 56.000 49.000
+ -7321054.72743 -5650522.70242 23702824.182 23702830.310 23702821.322
+ -2156.906 -1680.706 47.000 41.000
+ -2036079.66443 -1577667.45242 25489865.632 25489871.665 25489863.489
+ -48.225 -37.578 45.000 38.000
+ 04 2 1 9 53 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3970059.21143 -3031724.32742 23931745.055 23931751.104 23931743.657
+ -2203.617 -1717.104 47.000 40.000
+ -21412765.28643 -16668741.19642 20801618.086 20801622.334 20801617.118
+ 1369.516 1067.155 56.000 50.000
+ -25507364.72844 -19831358.74642 20194538.754 20194543.092 20194537.117
+ 1493.246 1163.568 57.000 51.000
+ -17154618.97843 -13322357.51542 22152930.611 22152934.957 22152929.960
+ 2853.089 2223.186 52.000 46.000
+ -18335178.68843 -14275954.57642 21839992.715 21839996.622 21839990.974
+ -652.819 -508.690 54.000 48.000
+ -19249037.90343 -14944217.20342 21181174.517 21181178.046 21181173.541
+ -1809.699 -1410.155 56.000 49.000
+ -7256318.45143 -5600078.95742 23715141.265 23715149.765 23715140.069
+ -2160.002 -1683.118 46.000 40.000
+ -2034476.06543 -1576417.85042 25490171.231 25490175.771 25490168.515
+ -59.947 -46.712 46.000 38.000
+ 04 2 1 9 54 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3903900.44643 -2980172.07242 23944336.220 23944341.481 23944334.122
+ -2207.177 -1719.878 46.000 40.000
+ -21453581.96043 -16700546.38742 20793850.899 20793855.104 20793850.033
+ 1351.695 1053.269 56.000 50.000
+ -25551898.74644 -19866060.55642 20186063.900 20186068.552 20186062.567
+ 1475.872 1150.030 57.000 51.000
+ -17240046.41443 -13388924.32042 22136673.638 22136678.590 22136672.753
+ 2842.266 2214.753 52.000 46.000
+ -18315530.84343 -14260644.57942 21843730.787 21843735.738 21843729.721
+ -656.895 -511.866 54.000 48.000
+ -19194686.48643 -14901865.45042 21191517.621 21191521.043 21191516.258
+ -1813.614 -1413.206 56.000 49.000
+ -7191478.94843 -5549554.75942 23727480.470 23727487.998 23727477.469
+ -2162.683 -1685.207 46.000 40.000
+ -2032513.31143 -1574888.35442 25490543.646 25490549.972 25490543.661
+ -70.779 -55.152 45.000 37.000
+ 04 2 1 9 54 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3837601.46643 -2928510.56042 23956950.477 23956957.039 23956949.644
+ -2212.845 -1724.295 46.000 40.000
+ -21493835.80143 -16731913.00542 20786191.003 20786194.810 20786190.250
+ 1331.963 1037.893 56.000 50.000
+ -25595880.07544 -19900331.69742 20177694.616 20177699.224 20177693.151
+ 1456.282 1134.765 57.000 51.000
+ -17325115.96543 -13455212.25142 22120485.031 22120490.367 22120484.961
+ 2829.256 2204.615 52.000 46.000
+ -18295726.41543 -14245212.54942 21847500.181 21847504.426 21847498.365
+ -663.294 -516.852 54.000 48.000
+ -19140190.23743 -14859400.84742 21201887.702 21201891.112 21201886.746
+ -1819.447 -1417.751 56.000 49.000
+ -7126545.08943 -5498957.01942 23739836.323 23739844.304 23739836.623
+ -2165.944 -1687.748 46.000 40.000
+ -2030196.03643 -1573082.66442 25490985.426 25490992.052 25490984.603
+ -84.116 -65.545 42.000 36.000
+ 04 2 1 9 55 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3771158.86643 -2876737.15342 23969593.832 23969601.362 23969592.897
+ -2216.974 -1727.512 46.000 40.000
+ -21533521.82443 -16762837.16642 20778638.470 20778642.635 20778637.867
+ 1313.652 1023.625 56.000 50.000
+ -25639303.92944 -19934168.44542 20169431.185 20169435.962 20169429.614
+ 1438.457 1120.876 57.000 51.000
+ -17409821.52843 -13521216.54942 22104367.099 22104371.437 22104365.758
+ 2817.801 2195.689 53.000 46.000
+ -18275760.52743 -14229654.72742 21851299.249 21851303.937 21851297.816
+ -667.958 -520.487 54.000 48.000
+ -19085547.85643 -14816822.37042 21212286.089 21212288.870 21212284.883
+ -1823.530 -1420.932 56.000 49.000
+ -7061516.59243 -5448285.54142 23752210.991 23752217.781 23752209.644
+ -2169.123 -1690.226 46.000 40.000
+ -2027519.91043 -1570997.30842 25491494.842 25491500.979 25491494.645
+ -94.715 -73.804 43.000 35.000
+ 04 2 1 9 55 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3704572.54343 -2824851.74042 23982266.411 23982270.752 23982264.660
+ -2222.283 -1731.649 47.000 40.000
+ -21572638.26243 -16793317.50042 20771194.965 20771199.435 20771194.366
+ 1293.829 1008.178 56.000 50.000
+ -25682168.63344 -19967569.49042 20161274.289 20161279.183 20161272.718
+ 1419.130 1105.816 57.000 51.000
+ -17494160.01143 -13586934.81442 22088317.485 22088322.449 22088317.183
+ 2804.738 2185.510 53.000 46.000
+ -18255632.51743 -14213970.56842 21855129.276 21855133.776 21855127.782
+ -674.169 -525.326 54.000 48.000
+ -19030760.89543 -14774131.22242 21222711.467 21222714.863 21222710.291
+ -1829.014 -1425.206 56.000 49.000
+ -6996396.86543 -5397542.98042 23764604.225 23764611.036 23764602.403
+ -2172.512 -1692.866 47.000 40.000
+ -2024483.82143 -1568631.52542 25492072.750 25492075.855 25492072.909
+ -107.710 -83.930 43.000 36.000
+ 04 2 1 9 56 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3637845.28243 -2772856.50142 23994963.335 23994969.726 23994961.053
+ -2227.447 -1735.673 46.000 39.000
+ -21611186.49643 -16823355.08242 20763859.678 20763863.997 20763858.867
+ 1274.950 993.468 56.000 50.000
+ -25724475.64344 -20000535.96742 20153223.050 20153228.387 20153221.810
+ 1400.298 1091.141 57.000 51.000
+ -17578131.58943 -13652367.17342 22072337.916 22072343.097 22072337.759
+ 2792.322 2175.835 53.000 46.000
+ -18235344.09143 -14198161.41042 21858989.902 21858994.931 21858988.760
+ -679.486 -529.470 54.000 48.000
+ -18975834.37243 -14731331.33442 21233163.654 21233166.728 21233162.426
+ -1833.680 -1428.841 56.000 49.000
+ -6931191.76443 -5346733.90042 23777011.813 23777020.352 23777010.055
+ -2175.490 -1695.187 46.000 40.000
+ -2021089.97843 -1565986.93142 25492718.117 25492722.828 25492715.655
+ -120.029 -93.529 42.000 34.000
+ 04 2 1 9 56 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3570969.06643 -2720745.17342 24007689.312 24007695.761 24007688.046
+ -2231.279 -1738.659 46.000 39.000
+ -21649157.19843 -16852942.64342 20756633.924 20756638.789 20756632.867
+ 1256.418 979.027 56.000 50.000
+ -25766215.45944 -20033060.47642 20145280.653 20145285.351 20145279.140
+ 1382.243 1077.072 57.000 51.000
+ -17661725.60643 -13717505.32942 22056430.398 22056435.448 22056430.014
+ 2780.642 2166.734 53.000 47.000
+ -18214886.32943 -14182220.30442 21862883.249 21862887.909 21862881.428
+ -684.372 -533.277 54.000 48.000
+ -18920762.39743 -14688418.10742 21243643.694 21243646.691 21243642.353
+ -1837.786 -1432.041 56.000 49.000
+ -6865896.74543 -5295854.75742 23789437.242 23789445.448 23789435.867
+ -2177.685 -1696.897 47.000 40.000
+ -2017329.27443 -1563056.45042 25493433.440 25493438.839 25493430.940
+ -131.129 -102.178 40.000 33.000
+ 04 2 1 9 57 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3503956.85743 -2668527.88942 24020440.628 24020448.090 24020440.815
+ -2235.460 -1741.917 46.000 40.000
+ -21686561.53843 -16882088.87642 20749516.202 20749520.753 20749515.171
+ 1237.621 964.380 56.000 50.000
+ -25807399.60544 -20065151.99442 20137443.758 20137448.293 20137442.401
+ 1363.886 1062.768 57.000 51.000
+ -17744952.00043 -13782357.03242 22040593.764 22040598.002 22040592.326
+ 2768.351 2157.157 53.000 47.000
+ -18194271.03343 -14166156.44642 21866806.153 21866810.692 21866804.671
+ -689.567 -537.325 54.000 48.000
+ -18865559.69043 -14645403.00542 21254148.036 21254151.417 21254146.885
+ -1841.947 -1435.283 56.000 49.000
+ -6800527.54843 -5244917.84142 23801874.672 23801883.134 23801874.681
+ -2179.901 -1698.624 45.000 39.000
+ -2013213.69743 -1559849.48842 25494217.725 25494220.882 25494216.378
+ -142.820 -111.288 43.000 35.000
+ 04 2 1 9 57 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3436796.27143 -2616194.99142 24033219.817 24033227.751 24033217.726
+ -2241.087 -1746.301 43.000 38.000
+ -21723385.95043 -16910783.21442 20742508.758 20742512.984 20742507.844
+ 1217.882 948.999 56.000 50.000
+ -25848014.44544 -20096799.88742 20129714.949 20129719.568 20129713.290
+ 1344.503 1047.665 57.000 51.000
+ -17827795.69143 -13846910.51442 22024828.456 22024833.426 22024827.987
+ 2755.370 2147.042 53.000 47.000
+ -18173484.79343 -14149959.38142 21870761.362 21870766.179 21870759.857
+ -695.539 -541.978 54.000 48.000
+ -18810215.95743 -14602278.01742 21264680.158 21264683.007 21264678.834
+ -1846.949 -1439.181 56.000 49.000
+ -6735075.04143 -5193915.97842 23814331.037 23814337.472 23814329.420
+ -2182.817 -1700.896 45.000 39.000
+ -2008730.26043 -1556355.86442 25495069.660 25495075.571 25495069.253
+ -155.599 -121.246 41.000 35.000
+ 04 2 1 9 58 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3369493.93243 -2563751.66142 24046029.589 24046033.945 24046027.346
+ -2245.927 -1750.073 45.000 38.000
+ -21759635.48443 -16939029.59042 20735610.749 20735614.769 20735609.842
+ 1198.429 933.841 56.000 50.000
+ -25888065.30344 -20128008.31042 20122093.354 20122098.131 20122091.834
+ 1325.276 1032.682 57.000 51.000
+ -17910260.75843 -13911168.97442 22009136.050 22009140.803 22009135.496
+ 2742.140 2136.732 53.000 47.000
+ -18152533.38643 -14133633.61742 21874748.327 21874753.697 21874747.350
+ -701.413 -546.555 54.000 48.000
+ -18754739.80743 -14559049.84342 21275236.513 21275239.804 21275235.480
+ -1851.608 -1442.811 56.000 49.000
+ -6669549.17243 -5142856.95942 23826800.860 23826807.514 23826799.480
+ -2185.605 -1703.069 46.000 39.000
+ -2003884.49443 -1552579.98842 25495991.829 25495994.289 25495994.389
+ -167.792 -130.747 41.000 34.000
+ 04 2 1 9 58 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3302046.02443 -2511194.86242 24058863.711 24058870.701 24058861.442
+ -2250.968 -1754.001 45.000 39.000
+ -21795304.65843 -16966823.73842 20728823.380 20728827.382 20728822.406
+ 1179.060 918.748 56.000 50.000
+ -25927546.87444 -20158773.13542 20114580.141 20114585.024 20114578.838
+ 1306.275 1017.877 57.000 51.000
+ -17992340.42843 -13975127.11942 21993517.090 21993521.157 21993516.538
+ 2729.313 2126.737 53.000 47.000
+ -18131412.13543 -14117175.51242 21878768.135 21878772.582 21878766.472
+ -707.165 -551.038 54.000 48.000
+ -18699129.32843 -14515717.00242 21285818.707 21285822.044 21285817.509
+ -1856.059 -1446.280 56.000 49.000
+ -6603949.35143 -5091740.31742 23839283.547 23839291.173 23839281.489
+ -2188.001 -1704.936 45.000 39.000
+ -1548518.10942 25496984.160 25496990.796
+ -180.469 -140.625 39.000 32.000
+ 04 2 1 9 59 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3234456.40343 -2458527.65642 24071725.102 24071731.021 24071723.313
+ -2255.565 -1757.583 44.000 39.000
+ -21830396.13443 -16994167.73142 20722145.785 20722149.626 20722144.945
+ 1159.777 903.722 56.000 50.000
+ -25966461.70044 -20189096.33842 20107174.755 20107179.709 20107173.345
+ 1287.451 1003.208 57.000 51.000
+ -18074035.66143 -14038785.70642 21977970.431 21977975.519 21977970.165
+ 2716.584 2116.819 53.000 47.000
+ -18110123.45443 -14100586.93242 21882819.509 21882823.003 21882817.982
+ -712.657 -555.317 54.000 48.000
+ -18643390.56343 -14472284.19742 21296425.429 21296429.068 21296424.299
+ -1860.238 -1449.536 55.000 49.000
+ -6538282.44543 -5040571.38942 23851780.478 23851787.644 23851779.461
+ -2190.024 -1706.512 46.000 40.000
+ -1993095.10743 -1544172.57542 25498045.783 25498052.616 25498044.832
+ -192.175 -149.747 41.000 34.000
+ 04 2 1 9 59 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3166724.52743 -2405749.60142 24084614.923 24084622.547 24084613.396
+ -2259.692 -1760.799 45.000 40.000
+ -21864908.02443 -17021060.10042 20715578.072 20715582.245 20715576.935
+ 1140.829 888.958 56.000 50.000
+ -26004808.05344 -20218976.58142 20099877.663 20099882.863 20099876.295
+ 1268.874 988.733 57.000 51.000
+ -18155343.43543 -14102142.36942 21962498.590 21962503.495 21962498.027
+ 2703.929 2106.958 53.000 47.000
+ -18088666.05343 -14083866.88042 21886902.333 21886906.528 21886901.071
+ -717.924 -559.421 54.000 48.000
+ -18587524.66443 -14428752.32842 21307056.843 21307060.077 21307055.506
+ -1864.119 -1452.560 56.000 49.000
+ -6472551.13043 -4989352.27342 23864288.102 23864296.097 23864286.691
+ -2192.055 -1708.095 46.000 40.000
+ -1987153.02743 -1539542.33242 25499176.124 25499181.234 25499175.125
+ -203.797 -158.803 43.000 36.000
+ 04 2 1 10 0 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3098847.23243 -2352858.26442 24097530.955 24097536.301 24097529.158
+ -2263.642 -1763.877 44.000 39.000
+ -21898835.72743 -17047497.25342 20709122.003 20709126.013 20709120.863
+ 1122.286 874.509 56.000 50.000
+ -26042581.46044 -20248410.36942 20092689.991 20092694.290 20092688.441
+ 1250.734 974.598 57.000 51.000
+ -18236257.59743 -14165192.33742 21947101.817 21947105.445 21947100.354
+ 2691.620 2097.366 54.000 47.000
+ -18067035.65143 -14067012.01242 21891017.988 21891022.384 21891016.805
+ -722.696 -563.140 54.000 48.000
+ -18531530.49043 -14385120.49842 21317711.930 21317715.167 21317710.895
+ -1867.397 -1455.114 56.000 49.000
+ -6406755.28543 -4938082.89442 23876809.690 23876816.888 23876808.277
+ -2192.992 -1708.825 47.000 40.000
+ -1980841.45543 -1534624.19942 25500375.650 25500383.049 25500373.680
+ -215.381 -167.829 41.000 36.000
+ 04 2 1 10 0 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -3030824.50843 -2299853.58842 24110475.241 24110481.996 24110474.178
+ -2269.829 -1768.698 43.000 39.000
+ -21932177.79343 -17073478.06842 20702776.789 20702781.148 20702776.038
+ 1101.769 858.521 56.000 50.000
+ -26079780.43544 -20277396.54742 20085611.390 20085615.420 20085609.712
+ 1230.573 958.888 57.000 51.000
+ -18316775.31243 -14227933.38342 21931778.913 21931783.153 21931778.130
+ 2677.673 2086.498 54.000 47.000
+ -18045231.26543 -14050021.58942 21895167.311 21895171.966 21895166.080
+ -729.567 -568.494 54.000 47.000
+ -18475409.61943 -14341389.95442 21328391.335 21328394.591 21328390.129
+ -1872.654 -1459.211 56.000 49.000
+ -6340898.09143 -4886765.69142 23889340.965 23889348.401 23889338.885
+ -2196.025 -1711.188 46.000 39.000
+ -1974159.72243 -1529417.62942 25501648.420 25501654.972 25501645.136
+ -228.621 -178.146 40.000 34.000
+ 04 2 1 10 1 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -2962656.19143 -2246735.40742 24123448.628 24123455.233 24123446.905
+ -2274.160 -1772.073 44.000 39.000
+ -21964932.77443 -17099001.41042 20696543.849 20696548.129 20696542.740
+ 1082.259 843.319 56.000 50.000
+ -26116403.85744 -20305934.24942 20078641.778 20078646.424 20078640.367
+ 1211.366 943.922 57.000 51.000
+ -18396893.90943 -14290363.43042 21916532.588 21916537.350 21916531.845
+ 2664.199 2075.999 53.000 47.000
+ -18023251.61143 -14032894.59142 21899350.185 21899354.565 21899348.751
+ -735.356 -573.005 54.000 48.000
+ -18419163.91043 -14297562.12042 21339094.451 21339097.473 21339093.488
+ -1876.693 -1462.358 55.000 48.000
+ -6274982.52743 -4835402.99942 23901884.426 23901891.228 23901882.222
+ -2198.035 -1712.754 46.000 39.000
+ -1967106.79843 -1523921.81842 25502990.874 25502995.369 25502986.717
+ -240.794 -187.632 42.000 35.000
+ 04 2 1 10 1 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -2894345.47843 -2193506.33442 24136446.700 24136454.817 24136444.577
+ -2279.145 -1775.957 42.000 38.000
+ -21997102.62043 -17124068.81242 20690422.046 20690426.343 20690421.143
+ 1062.731 828.102 56.000 50.000
+ -26152453.66944 -20334024.98442 20071781.869 20071786.107 20071780.202
+ 1192.241 929.019 57.000 51.000
+ -18476613.84743 -14352482.82442 21901362.139 21901367.829 21901361.711
+ 2650.697 2065.478 53.000 47.000
+ -18001099.12343 -14015632.91242 21903565.792 21903570.058 21903564.731
+ -741.119 -577.495 54.000 48.000
+ -18362798.61143 -14253641.10542 21349820.371 21349823.969 21349819.444
+ -1880.802 -1465.560 56.000 48.000
+ -6209015.10443 -4783999.90742 23914437.847 23914444.264 23914436.085
+ -2199.563 -1713.945 45.000 39.000
+ -1959685.10243 -1518138.68042 25504403.153 25504406.089 25504400.824
+ -253.387 -197.444 42.000 35.000
+ 04 2 1 10 2 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -2825889.08743 -2140163.72942 24149471.744 24149481.145 24149472.231
+ -2283.980 -1779.725 42.000 38.000
+ -22028682.84644 -17148676.76142 20684412.927 20684416.976 20684412.037
+ 1042.820 812.587 57.000 50.000
+ -26187925.36044 -20361665.23842 20065031.580 20065036.209 20065030.204
+ 1172.781 913.855 57.000 51.000
+ -18555929.09543 -14414286.88242 21886269.182 21886273.862 21886268.510
+ 2637.201 2054.962 54.000 47.000
+ -17978769.30943 -13998233.05342 21907815.280 21907819.284 21907813.710
+ -747.091 -582.149 54.000 48.000
+ -18306312.30043 -14209625.79242 21360569.520 21360572.597 21360568.195
+ -1884.740 -1468.628 56.000 48.000
+ -6142995.70243 -4732556.30842 23927001.933 23927009.282 23927000.502
+ -2201.420 -1715.392 46.000 39.000
+ -1951890.71743 -1512065.08342 25505884.689 25505888.657 25505884.266
+ -266.036 -207.301 41.000 35.000
+ 04 2 1 10 2 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -2757289.46043 -2086709.50342 24162528.458 24162533.203 24162526.632
+ -2289.286 -1783.859 44.000 38.000
+ -22059674.18943 -17172825.84642 20678515.202 20678519.319 20678514.285
+ 1023.147 797.257 56.000 50.000
+ -26222819.96644 -20388855.81342 20058391.494 20058396.263 20058390.066
+ 1153.493 898.826 57.000 51.000
+ -18634839.06343 -14475775.14142 21871253.233 21871257.803 21871252.412
+ 2623.490 2044.278 54.000 47.000
+ -17956263.51943 -13980696.06542 21912097.288 21912102.185 21912095.909
+ -753.055 -586.796 53.000 47.000
+ -18249708.97343 -14165519.30242 21371340.169 21371343.551 21371339.561
+ -1888.761 -1471.762 55.000 48.000
+ -6076929.71143 -4681076.41142 23939573.646 23939580.875 23939571.148
+ -2202.858 -1716.513 46.000 40.000
+ -1943725.07443 -1505702.28642 25507438.736 25507445.808 25507436.317
+ -278.332 -216.882 42.000 36.000
+ 04 2 1 10 3 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -2688545.56543 -2033142.85542 24175609.628 24175615.859 24175607.396
+ -2293.781 -1787.362 43.000 38.000
+ -22090074.66243 -17196514.51642 20672729.980 20672734.337 20672729.200
+ 1003.652 782.066 56.000 50.000
+ -26257135.37544 -20415595.06442 20051861.067 20051865.859 20051859.838
+ 1134.476 884.007 57.000 51.000
+ -18713339.98643 -14536944.66342 21856315.425 21856319.634 21856314.552
+ 2610.011 2033.775 54.000 47.000
+ -17933579.64243 -13963020.31842 21916413.936 21916419.030 21916412.355
+ -758.888 -591.341 53.000 47.000
+ -18192989.51343 -14121322.31042 21382134.023 21382137.098 21382132.759
+ -1892.243 -1474.475 56.000 48.000
+ -6010819.09543 -4629561.74742 23952152.179 23952162.294 23952151.193
+ -2204.243 -1717.592 45.000 40.000
+ -1935186.31043 -1499048.67142 25509063.712 25509068.485 25509060.810
+ -290.945 -226.710 39.000 34.000
+ 04 2 1 10 3 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -2619657.41543 -1979463.86042 24188718.310 24188725.077 24188717.130
+ -2298.693 -1791.189 41.000 36.000
+ -22119883.00643 -17219741.78342 20667057.480 20667062.238 20667056.975
+ 983.830 766.621 56.000 50.000
+ -26290870.61944 -20441882.24042 20045441.775 20045446.363 20045440.660
+ 1114.873 868.732 57.000 52.000
+ -18791429.28843 -14597793.43542 21841454.650 21841459.544 21841454.041
+ 2596.271 2023.068 53.000 47.000
+ -17910716.73243 -13945205.06542 21920764.653 21920768.952 21920763.452
+ -764.990 -596.096 54.000 47.000
+ -18136155.68543 -14077036.20642 21392949.283 21392952.580 21392948.033
+ -1896.215 -1477.570 55.000 48.000
+ -5944666.70143 -4578014.54042 23964742.123 23964750.014 23964740.164
+ -2205.664 -1718.699 46.000 40.000
+ -1926273.80253 -1492103.74952 25510761.811 25510766.873 25510759.725
+ -303.102 -236.183 41.000 34.000
+ 04 2 1 10 4 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -2550621.60243 -1925669.76642 24201856.803 24201861.793 24201855.125
+ -2303.940 -1795.278 42.000 37.000
+ -22149094.60543 -17242504.05742 20661498.968 20661503.104 20661498.121
+ 963.399 750.701 56.000 50.000
+ -26324021.10644 -20467713.76342 20039133.502 20039137.924 20039131.992
+ 1094.916 853.181 57.000 52.000
+ -18869100.82743 -14658316.69042 21826674.512 21826679.369 21826674.171
+ 2581.602 2011.638 54.000 47.000
+ -17887670.39343 -13927246.86742 21925150.132 21925154.371 21925148.653
+ -771.729 -601.347 53.000 47.000
+ -18079206.19743 -14032659.98142 21403786.416 21403789.652 21403785.261
+ -1900.695 -1481.061 55.000 48.000
+ -5878472.43643 -4526434.68242 23977338.758 23977346.324 23977336.779
+ -2207.661 -1720.255 46.000 40.000
+ -1484864.50642 25512526.531 25512533.861
+ -316.631 -246.725 40.000 32.000
+ 04 2 1 10 4 30.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -2481444.82143 -1871765.79142 24215020.736 24215026.455 24215019.201
+ -2309.344 -1799.489 42.000 37.000
+ -22177714.66943 -17264805.40042 20656053.092 20656057.019 20656051.742
+ 943.308 735.045 56.000 50.000
+ -26356592.30944 -20493093.89242 20032935.828 20032939.896 20032934.173
+ 1075.258 837.863 57.000 52.000
+ -18946358.41643 -14718517.37342 21811973.683 21811977.458 21811972.985
+ 2567.467 2000.624 54.000 47.000
+ -17864445.91143 -13909149.85542 21929570.359 21929573.931 21929568.524
+ -777.954 -606.198 53.000 47.000
+ -18022149.06143 -13988199.87142 21414643.622 21414647.424 21414642.467
+ -1904.592 -1484.098 55.000 48.000
+ -5812246.01043 -4474829.80442 23989941.054 23989948.762 23989939.023
+ -2208.941 -1721.253 46.000 40.000
+ -1907321.04343 -1477335.26742 25514368.382 25514373.706 25514366.448
+ -328.958 -256.331 43.000 33.000
+ 04 2 1 10 5 0.0000000 0 8G27G29G 7G26G 8G28G10G11
+ -2412123.79943 -1817749.45842 24228210.093 24228217.234 24228210.021
+ -2313.508 -1802.733 42.000 37.000
+ -22205738.87943 -17286642.43642 20650720.045 20650723.581 20650719.077
+ 923.986 719.989 56.000 50.000
+ -26388579.81344 -20518019.19542 20026848.208 20026852.909 20026846.852
+ 1056.302 823.092 57.000 52.000
+ -19023195.93843 -14778390.72642 21797351.318 21797355.966 21797351.001
+ 2554.093 1990.202 54.000 48.000
+ -17841039.02543 -13890910.71942 21934023.947 21934028.394 21934022.569
+ -783.454 -610.484 53.000 47.000
+ -17964983.00143 -13943654.89042 21425522.139 21425525.515 21425520.756
+ -1907.576 -1486.423 55.000 48.000
+ -5745987.34043 -4423199.77642 24002550.970 24002557.151 24002549.997
+ -2209.433 -1721.636 47.000 40.000
+ -1469513.23142 25516276.263 25516279.522
+ -341.081 -265.777 40.000 31.000
+ 04 2 1 10 5 30.0000000 0 9G 4G27G29G 7G26G 8G28G10G11
+ 25138551.034
+ 1986.276 1547.748 42.000
+ -2342657.14843 -1763619.63442 24241430.916 24241435.852 24241430.094
+ -2318.144 -1806.346 43.000 36.000
+ -22233164.98743 -17308013.42242 20645501.019 20645505.003 20645500.285
+ 904.119 704.508 56.000 50.000
+ -26419981.43044 -20542487.96442 20020873.087 20020877.174 20020871.666
+ 1036.794 807.891 57.000 52.000
+ -19099609.57543 -14837933.79842 21782810.511 21782814.532 21782809.818
+ 2539.943 1979.176 54.000 47.000
+ -17817447.74643 -13872527.90142 21938512.617 21938517.356 21938511.699
+ -789.578 -615.255 53.000 47.000
+ -17907708.56343 -13899025.45342 21436421.454 21436424.743 21436419.586
+ -1911.159 -1489.215 55.000 48.000
+ -5679697.94343 -4371545.78642 24015164.494 24015172.692 24015162.189
+ -2210.235 -1722.261 46.000 39.000
+ -1461396.74642 25518259.214 25518259.991
+ -353.914 -275.777 36.000 32.000
+ 04 2 1 10 6 0.0000000 0 9G 4G27G29G 7G26G 8G28G10G11
+ 25127185.212
+ 1995.787 1555.159 42.000
+ -2273042.06543 -1709374.19442 24254678.216 24254683.740 24254676.341
+ -2321.663 -1809.088 41.000 36.000
+ -22259988.63443 -17328914.96242 20640396.314 20640400.648 20640395.671
+ 885.163 689.737 56.000 50.000
+ -26450792.93444 -20566496.91042 20015009.414 20015013.963 20015007.925
+ 1018.349 793.519 57.000 52.000
+ -19175593.52843 -14897142.03842 21768350.497 21768355.273 21768350.045
+ 2526.769 1968.911 54.000 47.000
+ -17793667.73943 -13853998.02242 21943038.222 21943042.977 21943036.871
+ -794.701 -619.247 53.000 47.000
+ -17850324.14043 -13854310.32642 21447341.214 21447344.317 21447339.728
+ -1913.672 -1491.173 55.000 48.000
+ -5613378.05143 -4319868.07542 24027783.277 24027793.493 24027782.189
+ -2210.463 -1722.439 44.000 39.000
+ -1876068.83253 -1452983.02152 25520314.465 25520318.642 25520312.702
+ -365.301 -284.650 39.000 32.000
+ 04 2 1 10 6 30.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -1218524.30153 -945110.66752 25115776.907 25115786.135 25115772.599
+ 2002.773 1560.602 41.000 34.000
+ -2203284.19343 -1655017.47842 24267954.091 24267959.673 24267950.137
+ -2327.646 -1813.750 41.000 37.000
+ -22286214.46143 -17349350.66742 20635405.563 20635410.259 20635404.743
+ 864.311 673.489 56.000 50.000
+ -26481019.24344 -20590049.84942 20009257.470 20009262.499 20009256.246
+ 997.919 777.599 57.000 52.000
+ -19251150.65643 -14956017.68542 21753972.465 21753977.150 21753972.144
+ 2511.439 1956.965 54.000 47.000
+ -17769703.64243 -13835324.69442 21947598.178 21947602.775 21947596.957
+ -801.835 -624.806 53.000 47.000
+ -17792837.41243 -13809515.46042 21458280.288 21458283.760 21458279.335
+ -1917.896 -1494.464 55.000 48.000
+ -5547036.43943 -4268173.42642 24040408.354 24040418.190 24040406.741
+ -2212.027 -1723.657 44.000 39.000
+ 04 2 1 10 7 0.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -1278720.63743 -992016.50642 25104322.015 25104332.142 25104323.572
+ 2010.107 1566.317 43.000 35.000
+ -2133382.59043 -1600548.70242 24281252.662 24281260.608 24281252.631
+ -2333.377 -1818.216 41.000 36.000
+ -22311840.37444 -17369318.90542 20630529.846 20630533.740 20630528.743
+ 843.860 657.553 57.000 50.000
+ -26510658.19944 -20613145.11142 20003617.368 20003622.102 20003615.977
+ 977.862 761.970 57.000 52.000
+ -19326277.46143 -15014558.03142 21739676.615 21739681.000 21739676.157
+ 2496.712 1945.490 54.000 47.000
+ -17745553.57443 -13816506.46242 21952193.865 21952198.069 21952192.532
+ -808.481 -629.985 53.000 47.000
+ -17735249.03843 -13764641.40442 21469239.261 21469242.356 21469237.983
+ -1921.659 -1497.397 55.000 48.000
+ -5480674.89843 -4216463.25042 24053038.492 24053044.605 24053035.645
+ -2212.932 -1724.362 45.000 39.000
+ 04 2 1 10 7 30.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -1339149.31143 -1039103.45542 25092819.982 25092830.282 25092821.001
+ 2018.137 1572.574 43.000 34.000
+ -2063335.62643 -1545966.70042 24294582.069 24294587.273 24294582.927
+ -2337.819 -1821.677 40.000 35.000
+ -22336863.66443 -17388817.57142 20625768.132 20625771.757 20625767.099
+ 823.813 641.932 56.000 50.000
+ -26539707.25844 -20635780.71442 19998089.391 19998094.087 19998087.871
+ 958.245 746.684 57.000 52.000
+ -19400969.54643 -15072759.62542 21725463.886 21725467.788 21725462.850
+ 2482.367 1934.312 54.000 48.000
+ -17721214.65343 -13797541.06742 21956826.318 21956830.277 21956824.891
+ -814.586 -634.742 54.000 47.000
+ -17677559.12743 -13719688.22042 21480216.534 21480220.250 21480215.543
+ -1924.797 -1499.842 55.000 48.000
+ -5414294.78843 -4164738.60542 24065669.429 24065678.154 24065668.354
+ -2213.213 -1724.581 46.000 39.000
+ 04 2 1 10 8 0.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -1399812.94743 -1086373.46742 25081276.505 25081285.664 25081276.952
+ 2026.351 1578.975 43.000 34.000
+ -1993148.17543 -1491275.24342 24307938.263 24307947.055 24307938.636
+ -2342.110 -1825.021 40.000 35.000
+ -22361288.07743 -17407849.58042 20621120.181 20621123.853 20621119.213
+ 804.430 626.829 56.000 50.000
+ -26568170.39844 -20657959.76542 19992673.470 19992677.669 19992671.778
+ 939.406 732.005 57.000 52.000
+ -19475228.91543 -15130624.03942 21711331.902 21711336.410 21711331.602
+ 2468.406 1923.433 54.000 48.000
+ -17696690.71343 -13778431.49742 21961492.344 21961496.768 21961490.839
+ -820.305 -639.199 53.000 47.000
+ -17619774.23943 -13674661.03142 21491213.175 21491216.386 21491211.683
+ -1927.506 -1501.953 55.000 48.000
+ -5347904.11543 -4113005.73142 24078303.106 24078311.404 24078302.144
+ -2212.852 -1724.300 46.000 40.000
+ 04 2 1 10 8 30.0000000 0 9G 4G27G29G 7G26G 8G28G10G11
+ -1460699.31743 -1133817.00642 25069689.445 25069701.411 25069690.606
+ 2033.858 1584.824 44.000 35.000
+ -1922809.71643 -1436466.02542 24321325.592 24321326.682 24321323.487
+ -2347.290 -1829.057 41.000 34.000
+ -22385102.06843 -17426405.93042 20616588.406 20616592.349 20616587.356
+ 783.818 610.767 56.000 50.000
+ -26596035.88144 -20679673.10542 19987370.752 19987375.085 19987369.177
+ 919.144 716.216 57.000 52.000
+ -19549042.44443 -15188141.03742 21697285.876 21697290.916 21697285.092
+ 2453.219 1911.599 54.000 48.000
+ -17671970.09343 -13759168.67342 21966196.787 21966201.086 21966195.250
+ -827.151 -644.533 53.000 47.000
+ -17561885.45343 -13629552.87942 21502229.084 21502232.261 21502227.872
+ -1931.072 -1504.731 55.000 48.000
+ -5281495.13743 -4061258.61542 24090938.425 24090949.937 24090938.342
+ -2213.854 -1725.081 45.000 39.000
+ -1035797.23853 -807989.81952 25531667.767 25531672.266 25531664.867
+ -429.579 -334.737 40.000 35.000
+ 04 2 1 10 9 0.0000000 0 9G 4G27G29G 7G26G 8G28G10G11
+ -1521817.28643 -1181441.07542 25058058.575 25058072.439 25058057.896
+ 2040.953 1590.353 43.000 36.000
+ -1852330.97043 -1381547.60942 24334735.504 24334743.586 24334731.608
+ -2351.578 -1832.398 42.000 35.000
+ -22408315.23043 -17444494.10842 20612170.711 20612175.188 20612169.786
+ 763.770 595.145 56.000 50.000
+ -26623313.68544 -20700928.51542 19982179.671 19982184.400 19982178.364
+ 899.346 700.789 57.000 52.000
+ -19622417.89743 -15245316.68442 21683322.870 21683327.985 21683322.000
+ 2438.513 1900.140 54.000 48.000
+ -17647062.34943 -13739760.05042 21970936.266 21970940.388 21970935.309
+ -833.378 -649.385 53.000 47.000
+ -17503904.87843 -13584373.20342 21513262.086 21513265.424 21513261.135
+ -1934.310 -1507.254 54.000 48.000
+ -5215081.53343 -4009507.85742 24103578.196 24103585.642 24103575.783
+ -2214.031 -1725.219 45.000 39.000
+ -1022722.35343 -797801.50442 25534157.215 25534161.404 25534154.318
+ -441.855 -344.302 42.000 35.000
+ 04 2 1 10 9 30.0000000 0 9G 4G27G29G 7G26G 8G28G10G11
+ -1583158.70343 -1229239.27042 25046387.277 25046397.640 25046385.447
+ 2048.680 1596.374 45.000 35.000
+ -1781705.73043 -1326515.03642 24348175.191 24348180.888 24348172.480
+ -2356.169 -1835.976 43.000 37.000
+ -22430920.57743 -17462108.65442 20607869.228 20607873.315 20607868.125
+ 743.635 579.456 56.000 50.000
+ -26649996.79044 -20721720.51542 19977102.113 19977106.798 19977100.644
+ 879.759 685.526 57.000 52.000
+ -19695346.77543 -15302144.34442 21669445.599 21669449.869 21669444.844
+ 2423.873 1888.732 55.000 48.000
+ -17621960.76743 -13720200.37342 21975713.248 21975717.957 21975712.295
+ -839.617 -654.247 54.000 47.000
+ -17445828.32243 -13539118.73142 21524314.084 21524316.907 21524312.808
+ -1937.096 -1509.425 54.000 48.000
+ -5148660.15843 -3957751.06542 24116216.872 24116226.426 24116216.447
+ -2214.120 -1725.288 46.000 39.000
+ -1009263.33743 -787313.94342 25536718.500 25536725.277 25536717.824
+ -454.973 -354.524 40.000 34.000
+ 04 2 1 10 10 0.0000000 0 9G 4G27G29G 7G26G 8G28G10G11
+ -1644726.56343 -1277213.84142 25034670.245 25034679.345 25034668.892
+ 2055.307 1601.538 44.000 36.000
+ -1710938.95343 -1271372.13842 24361643.178 24361647.233 24361639.902
+ -2361.487 -1840.120 44.000 37.000
+ -22452922.14043 -17479252.72342 20603682.707 20603686.366 20603681.618
+ 722.929 563.321 56.000 50.000
+ -26676089.21944 -20742052.25042 19972136.995 19972141.524 19972135.475
+ 859.564 669.790 57.000 52.000
+ -19767831.05543 -15358625.57142 21655652.063 21655656.139 21655651.485
+ 2408.368 1876.650 55.000 48.000
+ -17596668.31343 -13700491.97042 21980526.412 21980530.408 21980525.032
+ -846.590 -659.680 53.000 47.000
+ -17387662.25743 -13493794.51742 21535382.531 21535385.633 21535381.172
+ -1940.702 -1512.235 55.000 48.000
+ -5082238.78943 -3905994.26542 24128858.438 24128865.764 24128856.574
+ -2214.400 -1725.506 46.000 40.000
+ -995424.19443 -776530.19242 25539351.711 25539354.532 25539349.670
+ -467.917 -364.611 40.000 34.000
+ 04 2 1 10 10 30.0000000 0 9G 4G27G29G 7G26G 8G28G10G11
+ -1706513.01643 -1325358.79242 25022912.476 25022923.873 25022911.993
+ 2061.977 1606.735 44.000 37.000
+ -1640025.01143 -1216114.59242 24375135.171 24375143.408 24375135.032
+ -2367.083 -1844.480 44.000 37.000
+ -22474312.97644 -17495920.89242 20599612.515 20599616.232 20599611.326
+ 702.084 547.078 57.000 51.000
+ -26701584.22444 -20761918.46142 19967285.305 19967289.995 19967284.023
+ 839.118 653.858 57.000 52.000
+ -19839862.34143 -15414753.80742 21641944.363 21641948.762 21641943.760
+ 2392.740 1864.473 54.000 48.000
+ -17571178.93943 -13680630.11442 21985376.745 21985381.451 21985375.174
+ -853.775 -665.279 53.000 47.000
+ -17329402.39143 -13448397.21642 21546469.000 21546472.348 21546467.418
+ -1944.278 -1515.022 54.000 48.000
+ -5015814.62143 -3854235.28442 24141497.868 24141507.286 24141496.930
+ -2214.965 -1725.947 46.000 40.000
+ -981198.91443 -765445.51742 25542058.890 25542064.039 25542057.204
+ -481.310 -375.047 40.000 34.000
+ 04 2 1 10 11 0.0000000 0 9G 4G27G29G 7G26G 8G28G10G11
+ -1768518.55843 -1373674.49942 25011112.538 25011124.168 25011112.750
+ 2070.906 1613.693 45.000 38.000
+ -1568966.16343 -1160744.12042 24388659.766 24388664.822 24388658.003
+ -2371.031 -1847.557 46.000 37.000
+ -22495094.52944 -17512114.30742 20595657.649 20595661.595 20595656.649
+ 682.494 531.814 57.000 51.000
+ -26726483.48344 -20781320.45442 19962547.340 19962551.752 19962545.769
+ 820.054 639.003 57.000 52.000
+ -19911440.33443 -15470528.83242 21628323.280 21628328.403 21628322.651
+ 2378.381 1853.284 54.000 48.000
+ -17545493.19043 -13660615.25342 21990263.611 21990268.562 21990262.211
+ -859.396 -669.659 53.000 47.000
+ -17271052.70643 -13402929.92542 21557572.395 21557575.902 21557571.206
+ -1946.437 -1516.704 55.000 48.000
+ -4949392.76643 -3802478.10742 24154135.336 24154146.314 24154135.327
+ -2213.577 -1724.865 45.000 40.000
+ -754061.28152 25544837.116 25544848.237
+ -493.270 -384.366 37.000 32.000
+ 04 2 1 10 11 30.0000000 0 9G 4G27G29G 7G26G 8G28G10G11
+ -1830741.53643 -1422159.57242 24999270.540 24999284.104 24999270.364
+ 2077.781 1619.050 43.000 37.000
+ -1497762.87743 -1105261.01842 24402208.968 24402215.957 24402208.116
+ -2375.982 -1851.414 45.000 37.000
+ -22515266.41044 -17527832.64942 20591818.877 20591823.179 20591817.714
+ 662.381 516.141 57.000 51.000
+ -26750786.41744 -20800257.77942 19957922.701 19957926.979 19957921.064
+ 800.320 623.626 57.000 52.000
+ -19982562.69443 -15525948.82742 21614789.038 21614794.273 21614788.513
+ 2363.342 1841.565 54.000 48.000
+ -17519610.90843 -13640447.24442 21995189.869 21995194.466 21995188.632
+ -865.873 -674.706 53.000 47.000
+ -17212615.27343 -13357394.25642 21568692.725 21568696.312 21568691.426
+ -1949.129 -1518.802 55.000 48.000
+ -4882976.58043 -3750725.36042 24166775.059 24166784.632 24166775.248
+ -2213.586 -1724.872 45.000 39.000
+ -742376.90852 25547689.803 25547703.146
+ -507.012 -395.074 36.000 32.000
+ 04 2 1 10 12 0.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -1893185.20043 -1470816.60342 24987389.625 24987399.922 24987387.423
+ 2084.396 1624.205 43.000 37.000
+ -1426420.60643 -1049669.67842 24415783.584 24415792.232 24415782.986
+ -2380.613 -1855.023 43.000 36.000
+ -22534833.09844 -17543079.40842 20588095.515 20588099.544 20588094.491
+ 641.710 500.034 57.000 51.000
+ -26774497.78944 -20818734.14742 19953410.468 19953414.814 19953408.887
+ 780.139 607.901 57.000 52.000
+ -20053232.19243 -15581015.93742 21601341.331 21601346.117 21601341.000
+ 2347.671 1829.354 54.000 48.000
+ -17493536.17143 -13620129.26342 22000151.810 22000156.214 22000150.001
+ -872.746 -680.062 53.000 47.000
+ -17154096.86343 -13311795.48942 21579828.484 21579831.719 21579827.377
+ -1952.336 -1521.301 55.000 48.000
+ -4816574.44443 -3698983.55042 24179414.401 24179420.631 24179411.549
+ -2213.563 -1724.854 45.000 39.000
+ 04 2 1 10 12 30.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -1955838.04843 -1519636.62542 24975465.205 24975477.113 24975466.167
+ 2092.569 1630.573 43.000 37.000
+ -1354929.54143 -993962.41542 24429386.891 24429398.956 24429387.238
+ -2385.296 -1858.672 42.000 36.000
+ -22553784.10943 -17557846.41742 20584489.070 20584493.125 20584487.978
+ 621.521 484.302 56.000 51.000
+ -26797606.96144 -20836741.26742 19949013.075 19949017.421 19949011.460
+ 760.352 592.482 57.000 52.000
+ -20123436.53143 -15635720.58742 21587982.230 21587986.255 21587981.528
+ 2332.508 1817.539 54.000 48.000
+ -17467258.15143 -13599652.87842 22005151.890 22005156.540 22005150.925
+ -879.249 -685.129 53.000 47.000
+ -17095489.56943 -13266127.45442 21590981.548 21590984.362 21590979.804
+ -1954.969 -1523.352 55.000 48.000
+ -4750179.51343 -3647247.35642 24192047.782 24192057.063 24192046.026
+ -2212.663 -1724.153 46.000 39.000
+ 04 2 1 10 13 0.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -2018702.51543 -1568621.59742 24963505.271 24963514.908 24963503.662
+ 2098.437 1635.146 45.000 38.000
+ -1283294.20843 -938142.75742 24443021.028 24443028.392 24443020.257
+ -2391.283 -1863.337 44.000 37.000
+ -22572122.78043 -17572136.27942 20580999.554 20581003.452 20580998.339
+ 600.178 467.671 56.000 50.000
+ -26820117.92044 -20854282.25242 19944728.911 19944733.245 19944727.484
+ 739.502 576.235 57.000 52.000
+ -20193177.26543 -15690063.99742 21574710.752 21574715.527 21574709.942
+ 2316.075 1804.734 54.000 48.000
+ -17440780.32743 -13579020.81442 22010190.799 22010194.295 22010189.741
+ -886.788 -691.004 54.000 47.000
+ -17036799.28843 -13220394.76442 21602149.610 21602152.733 21602148.870
+ -1958.650 -1526.221 55.000 48.000
+ -4683799.06343 -3595522.42942 24204678.591 24204688.305 24204677.856
+ -2213.222 -1724.588 44.000 39.000
+ 04 2 1 10 13 30.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -2081775.41343 -1617768.95842 24951501.587 24951511.904 24951501.063
+ 2105.802 1640.885 44.000 38.000
+ -1211513.79343 -882209.96442 24456679.081 24456685.750 24456679.331
+ -2394.958 -1866.201 45.000 37.000
+ -22589847.64543 -17585947.84842 20577626.305 20577630.598 20577625.341
+ 580.687 452.483 56.000 50.000
+ -26842028.74744 -20871355.60342 19940559.500 19940563.813 19940558.030
+ 720.425 561.370 57.000 52.000
+ -20262451.03243 -15744043.52242 21561528.571 21561533.261 21561527.957
+ 2301.330 1793.244 55.000 48.000
+ -17414100.55643 -13558231.37642 22015268.186 22015271.614 22015267.095
+ -892.570 -695.509 54.000 47.000
+ -16978026.44243 -13174597.73642 21613333.314 21613337.175 21613332.393
+ -1960.351 -1527.546 54.000 48.000
+ -4617434.99443 -3543810.29742 24217307.709 24217316.807 24217306.146
+ -2211.861 -1723.528 45.000 39.000
+ 04 2 1 10 14 0.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -2145058.21843 -1667079.91742 24939459.593 24939468.133 24939457.395
+ 2112.459 1646.072 45.000 37.000
+ -1139591.83643 -826166.93342 24470366.103 24470372.154 24470364.951
+ -2399.988 -1870.120 43.000 37.000
+ -22606961.24843 -17599283.11142 20574369.489 20574373.976 20574368.726
+ 560.081 436.427 56.000 50.000
+ -26863342.38544 -20887963.60842 19936504.028 19936508.097 19936502.423
+ 700.338 545.718 57.000 52.000
+ -20331258.63643 -15797659.82042 21548434.380 21548439.541 21548433.946
+ 2285.701 1781.066 54.000 48.000
+ -17387221.30143 -13537286.48642 22020382.473 22020386.855 22020380.765
+ -899.426 -700.851 53.000 47.000
+ -16919176.05343 -13128740.28842 21624532.426 21624535.932 21624531.286
+ -1963.209 -1529.773 55.000 48.000
+ -4551093.62543 -3492115.84042 24229931.596 24229940.222 24229930.366
+ -2211.353 -1723.132 45.000 39.000
+ 04 2 1 10 14 30.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -2208543.18243 -1716548.43042 24927378.930 24927389.036 24927378.123
+ 2119.223 1651.343 46.000 38.000
+ -1067522.40343 -770009.01242 24484083.179 24484088.340 24484081.847
+ -2405.205 -1874.186 42.000 37.000
+ -22623457.07844 -17612136.99042 20571231.226 20571234.898 20571230.187
+ 539.444 420.346 57.000 50.000
+ -26884052.21444 -20904101.11242 19932562.610 19932567.306 19932561.318
+ 680.098 529.946 57.000 52.000
+ -20399591.73043 -15850906.37142 21535431.326 21535435.413 21535430.382
+ 2269.663 1768.569 54.000 48.000
+ -17360135.60543 -13516180.74442 22025536.335 22025541.301 22025535.280
+ -906.451 -706.325 53.000 47.000
+ -16860244.00343 -13082819.20842 21635747.209 21635749.973 21635745.370
+ -1965.982 -1531.934 54.000 48.000
+ -4484772.14543 -3440436.87242 24242553.364 24242561.480 24242551.308
+ -2210.539 -1722.498 46.000 39.000
+ 04 2 1 10 15 0.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -2272234.46643 -1766177.73542 24915257.387 24915268.403 24915256.739
+ 2126.503 1657.015 45.000 38.000
+ -995311.90943 -713741.19142 24497822.320 24497829.921 24497820.433
+ -2409.446 -1877.490 41.000 37.000
+ -22639340.52543 -17624513.68842 20568208.063 20568212.694 20568207.198
+ 519.307 404.655 56.000 50.000
+ -26904164.00144 -20919772.60742 19928735.643 19928740.231 19928734.022
+ 660.489 514.667 57.000 52.000
+ -20467453.89243 -15903785.95742 21522517.645 21522522.035 21522516.655
+ 2254.240 1756.551 54.000 48.000
+ -17332848.66143 -13494918.18342 22030729.629 22030734.124 22030727.885
+ -912.753 -711.236 53.000 47.000
+ -16801237.90743 -13036840.43142 21646975.169 21646978.808 21646974.041
+ -1967.962 -1533.477 54.000 48.000
+ -4418479.56443 -3388780.43942 24255168.114 24255175.494 24255166.334
+ -2209.237 -1721.483 46.000 39.000
+ 04 2 1 10 15 30.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -2336124.51743 -1815961.93242 24903099.754 24903109.652 24903099.374
+ 2132.792 1661.916 46.000 38.000
+ -922955.20243 -657359.37042 24511586.177 24511599.897 24511588.547
+ -2414.125 -1881.136 38.000 36.000
+ -22654605.50644 -17636408.46942 20565303.515 20565307.949 20565302.849
+ 498.321 388.302 57.000 51.000
+ -26923671.54544 -20934973.26642 19925023.322 19925027.802 19925022.103
+ 640.035 498.729 57.000 52.000
+ -20534837.08843 -15956292.31842 21509694.615 21509699.511 21509694.352
+ 2237.914 1743.829 54.000 48.000
+ -17305354.17643 -13473493.90242 22035961.430 22035965.951 22035960.203
+ -920.137 -716.990 53.000 47.000
+ -16742153.67843 -12990800.76742 21658218.320 21658222.429 21658217.585
+ -1970.951 -1535.806 54.000 47.000
+ -4352213.25643 -3337144.45342 24267778.738 24267786.132 24267777.200
+ -2208.525 -1720.928 46.000 39.000
+ 04 2 1 10 16 0.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -2400216.45843 -1865903.37442 24890903.862 24890910.966 24890902.714
+ 2139.031 1666.777 46.000 38.000
+ -850457.30443 -600867.54542 24525387.415 24525395.293 24525384.601
+ -2419.656 -1885.446 41.000 36.000
+ -22669256.76443 -17647825.01942 20562515.178 20562519.524 20562514.411
+ 477.232 371.869 56.000 51.000
+ -26942579.70244 -20949706.86642 19921425.442 19921429.758 19921423.825
+ 619.463 482.698 57.000 52.000
+ -20601743.89543 -16008427.46442 21496962.297 21496967.735 21496961.915
+ 2221.403 1730.963 54.000 48.000
+ -17277655.92143 -13451910.84342 22041231.891 22041236.453 22041231.001
+ -927.548 -722.765 53.000 47.000
+ -16682998.14343 -12944705.54542 21669475.456 21669479.202 21669474.793
+ -1973.885 -1538.092 54.000 48.000
+ -4285981.22443 -3285535.21242 24280381.077 24280389.451 24280380.242
+ -2207.873 -1720.420 44.000 39.000
+ 04 2 1 10 16 30.0000000 0 7G 4G29G 7G26G 8G28G10
+ -2464501.76143 -1915995.53842 24878668.579 24878679.316 24878667.606
+ 2146.727 1672.774 44.000 38.000
+ -22683287.09243 -17658757.72942 20559845.749 20559849.324 20559844.564
+ 458.114 356.972 56.000 50.000
+ -26960881.47944 -20963967.96742 19917942.291 19917946.741 19917940.938
+ 600.724 468.097 57.000 52.000
+ -20668165.51243 -16060184.54642 21484323.150 21484328.043 21484322.169
+ 2206.729 1719.529 54.000 48.000
+ -17249746.81443 -13430163.48342 22046543.456 22046547.591 22046541.872
+ -933.027 -727.034 53.000 47.000
+ -16623766.62843 -12898551.11142 21680747.547 21680750.179 21680746.048
+ -1974.923 -1538.901 54.000 47.000
+ -4219779.92743 -3233949.89342 24292979.433 24292985.718 24292976.449
+ -2205.283 -1718.402 45.000 39.000
+ 04 2 1 10 17 0.0000000 0 7G 4G29G 7G26G 8G28G10
+ -2528985.53243 -1966242.39942 24866398.157 24866408.406 24866397.969
+ 2152.133 1676.987 45.000 39.000
+ -22696703.28743 -17669211.90042 20557292.218 20557296.639 20557291.195
+ 436.454 340.094 56.000 50.000
+ -26978583.57644 -20977761.78242 19914573.744 19914578.428 19914572.431
+ 579.468 451.534 57.000 52.000
+ -20734106.53043 -16111567.13942 21471774.979 21471779.932 21471774.139
+ 2189.370 1706.003 55.000 48.000
+ -17221632.62943 -13408256.33142 22051893.162 22051898.063 22051891.932
+ -941.109 -733.332 53.000 47.000
+ -16564467.46043 -12852343.96342 21692031.056 21692034.390 21692029.611
+ -1978.392 -1541.604 54.000 47.000
+ -4153619.52543 -3182396.44642 24305570.731 24305577.914 24305568.228
+ -2205.225 -1718.357 46.000 38.000
+ 04 2 1 10 17 30.0000000 0 7G 4G29G 7G26G 8G28G10
+ -2593662.53143 -2016639.82542 24854090.577 24854100.736 24854089.180
+ 2158.892 1682.254 45.000 38.000
+ -22709501.68943 -17679184.66542 20554857.019 20554861.068 20554856.162
+ 416.195 324.308 56.000 51.000
+ -26995682.41344 -20991085.52642 19911319.918 19911324.476 19911318.678
+ 559.848 436.245 57.000 52.000
+ -20799561.43043 -16162570.93142 21459319.651 21459324.082 21459319.217
+ 2173.642 1693.747 55.000 48.000
+ -17193309.53543 -13386186.37942 22057282.673 22057287.667 22057281.187
+ -947.646 -738.425 53.000 47.000
+ -16505099.10343 -12806082.90342 21703328.600 21703331.832 21703327.063
+ -1980.134 -1542.961 54.000 47.000
+ -4087499.61143 -3130874.54842 24318151.395 24318160.830 24318150.506
+ -2203.477 -1716.995 45.000 38.000
+ 04 2 1 10 18 0.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -2658531.81843 -2067187.06942 24841745.992 24841756.928 24841745.172
+ 2165.536 1687.431 46.000 38.000
+ 24580847.752
+ -2437.909 -1899.669 42.000
+ -22721682.65144 -17688676.31842 20552538.894 20552543.207 20552538.187
+ 395.786 308.405 57.000 51.000
+ -27012178.43944 -21003939.55142 19908180.941 19908185.386 19908179.570
+ 539.812 420.633 57.000 52.000
+ -20864528.65043 -16213194.72042 21446956.670 21446961.200 21446955.752
+ 2157.452 1681.131 55.000 48.000
+ -17164777.44643 -13363953.58642 22062712.999 22062716.741 22062711.298
+ -954.522 -743.783 53.000 47.000
+ -16445663.95543 -12759769.80042 21714638.615 21714642.218 21714637.821
+ -1982.212 -1544.581 54.000 47.000
+ -4021423.81843 -3079387.02242 24330726.608 24330734.427 24330724.635
+ -2201.494 -1715.450 46.000 39.000
+ 04 2 1 10 18 30.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -2723588.22143 -2117880.10242 24829367.593 24829375.856 24829365.110
+ 2171.485 1692.066 47.000 38.000
+ -814139.96853 -641014.37352 24594777.412 24594784.233 24594774.856
+ -2443.216 -1903.805 41.000 36.000
+ -22733242.73544 -17697684.17242 20550339.449 20550343.263 20550338.330
+ 374.748 292.011 57.000 51.000
+ -27028068.57944 -21016321.45942 19905157.005 19905161.495 19905155.739
+ 519.179 404.555 57.000 52.000
+ -20929002.84643 -16263434.33442 21434687.579 21434692.278 21434686.983
+ 2140.603 1668.002 55.000 48.000
+ -17136032.56943 -13341554.99742 22068181.862 22068186.444 22068181.134
+ -962.010 -749.618 53.000 47.000
+ -16386160.78643 -12713403.69642 21725962.072 21725965.410 21725961.202
+ -1984.837 -1546.626 54.000 47.000
+ -3955392.24643 -3027933.97942 24343290.299 24343299.121 24343290.139
+ -2200.559 -1714.721 45.000 39.000
+ 04 2 1 10 19 0.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -2788830.81743 -2168718.25842 24816950.196 24816960.608 24816948.881
+ 2177.541 1696.785 46.000 39.000
+ -740781.56343 -583851.97042 24608738.614 24608744.350 24608737.334
+ -2447.549 -1907.181 39.000 35.000
+ -22744182.86144 -17706208.94342 20548257.464 20548261.217 20548256.509
+ 354.292 276.072 57.000 51.000
+ -27043353.51944 -21028231.78242 19902248.362 19902252.677 19902247.031
+ 499.489 389.212 57.000 52.000
+ -20992982.88743 -16313288.88142 21422512.187 21422517.022 21422511.824
+ 2124.558 1655.500 54.000 48.000
+ -17107074.68743 -13318990.42242 22073692.828 22073697.308 22073690.971
+ -968.820 -754.925 53.000 47.000
+ -16326592.27143 -12666986.67042 21737297.518 21737300.697 21737296.247
+ -1986.659 -1548.046 54.000 47.000
+ -3889408.90943 -2976518.49042 24355847.759 24355856.740 24355845.628
+ -2198.630 -1713.218 45.000 39.000
+ 04 2 1 10 19 30.0000000 0 7G 4G29G 7G26G 8G28G10
+ -2854253.01543 -2219696.37342 24804499.281 24804510.014 24804498.977
+ 2184.109 1701.903 45.000 38.000
+ -22754497.90644 -17714246.63642 20546294.692 20546298.380 20546293.733
+ 333.992 260.253 57.000 51.000
+ -27058028.43844 -21039666.75842 19899455.968 19899460.343 19899454.477
+ 479.312 373.490 57.000 52.000
+ -21056461.52643 -16362752.72842 21410432.807 21410437.313 21410432.051
+ 2108.014 1642.608 55.000 48.000
+ -17077898.73443 -13296255.92242 22079245.450 22079248.976 22079243.672
+ -975.753 -760.327 53.000 47.000
+ -16266954.99443 -12620516.06942 21748645.801 21748649.666 21748644.634
+ -1988.654 -1549.600 54.000 47.000
+ -3823471.98843 -2925139.20142 24368393.600 24368405.829 24368392.695
+ -2196.653 -1711.678 44.000 38.000
+ 04 2 1 10 20 0.0000000 0 7G 4G29G 7G26G 8G28G10
+ -2919862.36343 -2270820.29442 24792015.415 24792027.088 24792015.202
+ 2189.420 1706.042 46.000 39.000
+ -22764197.44544 -17721804.72042 20544448.879 20544452.549 20544447.806
+ 312.352 243.391 57.000 51.000
+ -27072102.83244 -21050633.78942 19896777.811 19896781.930 19896776.215
+ 458.410 357.203 57.000 52.000
+ -21119446.43443 -16411831.85442 21398447.431 21398451.860 21398446.934
+ 2090.504 1628.964 55.000 48.000
+ -17048513.21043 -13273358.12242 22084836.304 22084841.195 22084835.485
+ -983.600 -766.441 53.000 47.000
+ -16207260.61543 -12574000.97442 21760005.235 21760009.260 21760004.358
+ -1991.579 -1551.880 54.000 47.000
+ -3757594.44843 -2873806.18542 24380930.867 24380939.987 24380929.138
+ -2195.671 -1710.912 45.000 38.000
+ 04 2 1 10 20 30.0000000 0 7G 4G29G 7G26G 8G28G10
+ -2985653.46843 -2322085.84942 24779495.519 24779506.982 24779495.896
+ 2195.561 1710.827 46.000 40.000
+ -22773277.75244 -17728880.27842 20542720.576 20542724.698 20542719.950
+ 291.989 227.524 57.000 51.000
+ -27085573.14944 -21061130.11142 19894214.419 19894218.706 19894213.009
+ 438.628 341.788 57.000 52.000
+ -21181931.80243 -16460521.71642 21386556.627 21386561.498 21386555.973
+ 2074.074 1616.162 55.000 48.000
+ -17018914.11343 -13250293.89942 22090469.364 22090473.557 22090467.465
+ -990.430 -771.764 53.000 47.000
+ -16147507.03943 -12527439.73842 21771376.273 21771379.543 21771375.043
+ -1993.196 -1553.140 54.000 47.000
+ -3691775.34943 -2822518.71342 24393455.083 24393465.125 24393453.371
+ -2193.306 -1709.070 44.000 39.000
+ 04 2 1 10 21 0.0000000 0 7G 4G29G 7G26G 8G28G10
+ -3051620.85943 -2373488.75542 24766942.921 24766951.621 24766941.583
+ 2202.233 1716.026 47.000 39.000
+ -22781734.99244 -17735470.33542 20541111.669 20541115.343 20541110.761
+ 271.950 211.909 57.000 51.000
+ -27098435.63344 -21071152.80142 19891766.935 19891771.204 19891765.331
+ 419.009 326.501 57.000 52.000
+ -21243911.85443 -16508817.83342 21374762.873 21374766.737 21374761.727
+ 2057.855 1603.523 55.000 48.000
+ -16989096.72443 -13227059.58242 22096143.810 22096148.628 22096142.326
+ -997.181 -777.024 53.000 47.000
+ -16087692.09043 -12480830.67942 21782759.208 21782762.076 21782758.097
+ -1994.581 -1554.219 55.000 47.000
+ -3626014.10143 -2771276.36142 24405969.811 24405980.483 24405968.302
+ -2190.625 -1706.980 44.000 38.000
+ 04 2 1 10 21 30.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -3117764.48843 -2425028.99542 24754355.095 24754365.286 24754353.993
+ 2208.279 1720.737 46.000 39.000
+ -778335.77353 -615662.40952 24678942.005 24678950.585 24678941.728
+ -2470.887 -1925.366 39.000 33.000
+ -22789571.05543 -17741576.35242 20539619.955 20539624.391 20539619.319
+ 251.205 195.744 56.000 51.000
+ -27110692.30244 -21080703.42942 19889434.365 19889438.724 19889432.989
+ 398.915 310.843 57.000 52.000
+ -21305386.45443 -16556720.08642 21363064.107 21363068.533 21363063.640
+ 2041.099 1590.467 55.000 48.000
+ -16959062.49043 -13203656.31642 22101858.167 22101863.575 22101857.130
+ -1004.254 -782.535 53.000 47.000
+ -16027819.54343 -12434176.74542 21794152.299 21794155.373 21794150.830
+ -1996.291 -1555.551 54.000 47.000
+ -3560315.94943 -2720083.12542 24418471.320 24418481.567 24418471.157
+ -2188.440 -1705.278 43.000 38.000
+ 04 2 1 10 22 0.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -3184083.94543 -2476706.31042 24741736.323 24741745.158 24741734.357
+ 2213.677 1724.943 48.000 39.000
+ -557836.53352 24693063.854 24693072.148
+ -2476.167 -1929.481 37.000 33.000
+ -22796787.63543 -17747199.65942 20538246.904 20538251.498 20538246.221
+ 230.168 179.352 56.000 50.000
+ -27122344.66844 -21089783.16942 19887217.257 19887221.289 19887215.679
+ 378.325 294.799 57.000 52.000
+ -21366354.89643 -16604227.93842 21351462.414 21351466.196 21351461.321
+ 2023.753 1576.950 55.000 48.000
+ -16928812.26343 -13180084.72242 22107615.494 22107619.704 22107613.747
+ -1012.061 -788.619 53.000 47.000
+ -15967892.56743 -12387480.39842 21805555.467 21805558.776 21805554.346
+ -1998.319 -1557.132 54.000 47.000
+ -3494685.35443 -2668942.57942 24430961.908 24430971.309 24430960.319
+ -2186.343 -1703.644 44.000 38.000
+ 04 2 1 10 22 30.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -3250573.52243 -2528516.10842 24729083.438 24729090.905 24729082.415
+ 2218.654 1728.821 45.000 38.000
+ -629772.82153 -499899.23442 24707213.910 24707220.836 24707211.743
+ -2481.661 -1933.762 40.000 34.000
+ -22803380.57443 -17752337.00742 20536992.469 20536996.430 20536991.714
+ 208.631 162.570 56.000 51.000
+ -27133389.02344 -21098389.13842 19885115.584 19885119.514 19885113.883
+ 357.317 278.429 57.000 52.000
+ -21426811.22943 -16651336.73942 21339958.021 21339961.762 21339956.904
+ 2005.907 1563.044 55.000 48.000
+ -16898341.12643 -13156341.00842 22113413.177 22113417.927 22113411.940
+ -1019.975 -794.786 52.000 46.000
+ -15907908.67443 -12340739.69342 21816970.934 21816973.630 21816969.132
+ -2001.220 -1559.392 54.000 47.000
+ -3429121.53643 -2617854.02342 24443438.012 24443447.736 24443435.278
+ -2184.939 -1702.550 44.000 37.000
+ 04 2 1 10 23 0.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -3317233.26843 -2580458.57542 24716396.647 24716406.743 24716395.553
+ 2224.806 1733.615 44.000 38.000
+ -555279.51243 -441852.53342 24721388.382 24721395.802 24721387.154
+ -2485.434 -1936.702 42.000 35.000
+ -22809352.22444 -17756990.24542 20535856.138 20535860.222 20535855.317
+ 188.890 147.187 57.000 51.000
+ -27143827.60744 -21106523.06842 19883129.061 19883133.115 19883127.582
+ 338.049 263.415 57.000 52.000
+ -21486755.80043 -16698046.77042 21328550.519 21328554.661 21328549.654
+ 1989.722 1550.433 55.000 48.000
+ -16867650.87743 -13132426.53442 22119254.429 22119258.803 22119252.373
+ -1026.574 -799.928 53.000 47.000
+ -15847872.12843 -12293957.96842 21828395.305 21828397.965 21828393.937
+ -2001.803 -1559.846 54.000 47.000
+ -3363629.28143 -2566821.28642 24455900.778 24455908.127 24455900.598
+ -2181.704 -1700.029 44.000 37.000
+ 04 2 1 10 23 30.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -3384059.20343 -2632530.49842 24703680.748 24703691.116 24703679.717
+ 2231.181 1738.583 46.000 38.000
+ -480644.11943 -383695.12242 24735591.222 24735598.383 24735590.893
+ -2489.645 -1939.983 42.000 36.000
+ -22814700.67244 -17761157.86442 20534838.546 20534842.416 20534837.353
+ 168.382 131.207 57.000 51.000
+ -27153658.32344 -21114183.33642 19881258.569 19881262.393 19881256.716
+ 317.931 247.738 58.000 52.000
+ -21546184.28643 -16744354.64942 21317241.568 21317246.301 21317241.318
+ 1972.857 1537.291 55.000 49.000
+ -16836738.37343 -13108338.88942 22125136.100 22125141.024 22125134.690
+ -1033.677 -805.462 53.000 47.000
+ -15787782.13343 -12247134.59142 21839830.283 21839833.397 21839828.686
+ -2003.399 -1561.090 54.000 47.000
+ -3298209.50443 -2515844.98542 24468350.435 24468358.289 24468349.253
+ -2179.080 -1697.984 45.000 36.000
+ 04 2 1 10 24 0.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -3451051.43643 -2684731.99542 24690931.524 24690941.206 24690931.875
+ 2236.485 1742.716 45.000 39.000
+ -405869.18743 -325429.02142 24749819.601 24749826.190 24749818.220
+ -2494.544 -1943.800 39.000 35.000
+ -22819427.96644 -17764841.45942 20533939.037 20533942.803 20533938.061
+ 147.829 115.191 57.000 51.000
+ -27162883.61644 -21121371.84742 19879502.465 19879506.848 19879501.012
+ 298.007 232.213 57.000 52.000
+ -21605096.85043 -16790260.51142 21306030.787 21306035.464 21306030.563
+ 1955.725 1523.941 55.000 49.000
+ -16805605.49843 -13084079.51142 22131059.716 22131064.960 22131058.624
+ -1040.821 -811.029 52.000 46.000
+ -15727642.35243 -12200272.41442 21851274.155 21851277.264 21851272.982
+ -2004.856 -1562.225 54.000 47.000
+ -3232867.58743 -2464929.32942 24480783.984 24480794.778 24480782.947
+ -2176.090 -1695.654 45.000 37.000
+ 04 2 1 10 24 30.0000000 0 8G 4G27G29G 7G26G 8G28G10
+ -3518202.93943 -2737057.61242 24678154.214 24678161.733 24678152.599
+ 2240.752 1746.041 46.000 39.000
+ -330950.25943 -267050.75142 24764077.490 24764083.303 24764077.554
+ -2499.606 -1947.745 39.000 35.000
+ -22823529.05644 -17768037.10542 20533158.188 20533162.447 20533157.280
+ 126.061 98.229 57.000 51.000
+ -27171498.63444 -21128084.81942 19877863.172 19877867.450 19877861.696
+ 276.788 215.679 57.000 52.000
+ -21663486.39443 -16835758.82742 21294920.012 21294924.060 21294919.361
+ 1937.374 1509.642 55.000 49.000
+ -16774245.88743 -13059643.46742 22137028.023 22137032.978 22137026.545
+ -1049.245 -817.593 52.000 47.000
+ -15667449.31043 -12153368.73642 21862727.912 21862731.371 21862726.733
+ -2007.405 -1564.212 54.000 47.000
+ -3167601.36643 -2414072.64442 24493205.761 24493212.276 24493203.010
+ -2174.336 -1694.288 47.000 38.000
+ 04 2 1 10 25 0.0000000 0 7G 4G29G 7G26G 8G28G10
+ -3585516.30043 -2789509.33342 24665343.095 24665353.312 24665342.741
+ 2246.052 1750.170 46.000 39.000
+ -22827008.81144 -17770748.59742 20532496.019 20532499.890 20532495.208
+ 105.512 82.217 57.000 51.000
+ -27179507.91644 -21134325.79242 19876338.958 19876343.128 19876337.445
+ 256.643 199.982 57.000 52.000
+ -21721355.28643 -16880851.44042 21283908.227 21283912.819 21283907.494
+ 1920.085 1496.170 55.000 49.000
+ -16742663.83143 -13035034.06742 22143037.592 22143042.520 22143036.045
+ -1056.598 -823.323 52.000 46.000
+ -15607209.29843 -12106428.46242 21874190.978 21874194.679 21874190.015
+ -2008.914 -1565.387 53.000 47.000
+ -3102418.14143 -2363280.66742 24505608.963 24505616.073 24505606.964
+ -2171.497 -1692.075 46.000 38.000
+ 04 2 1 10 25 30.0000000 0 7G 4G29G 7G26G 8G28G10
+ -3652986.92943 -2842083.63042 24652505.839 24652514.330 24652504.718
+ 2252.018 1754.819 47.000 40.000
+ -22829864.50243 -17772973.80142 20531952.098 20531956.674 20531951.426
+ 84.743 66.034 56.000 51.000
+ -27186909.16244 -21140092.97142 19874930.399 19874934.916 19874929.201
+ 236.541 184.318 57.000 52.000
+ -21778698.94543 -16925534.77942 21272995.260 21273000.336 21272994.653
+ 1902.622 1482.563 55.000 49.000
+ -16710855.81343 -13010248.60142 22149090.046 22149095.742 22149088.968
+ -1064.090 -829.161 52.000 46.000
+ -15546920.96843 -12059450.54142 21885665.124 21885667.142 21885663.337
+ -2010.454 -1566.587 54.000 47.000
+ -3037318.30043 -2312553.64042 24517996.088 24518004.368 24517993.456
+ -2168.601 -1689.819 45.000 37.000
+ 04 2 1 10 26 0.0000000 0 7G 4G29G 7G26G 8G28G10
+ -3720616.67143 -2894781.89142 24639635.497 24639644.189 24639635.684
+ 2256.985 1758.690 45.000 39.000
+ -22832100.62644 -17774716.23042 20531527.560 20531531.388 20531526.403
+ 64.589 50.329 57.000 51.000
+ -27193706.76444 -21145389.77842 19873637.128 19873641.123 19873635.526
+ 216.890 169.005 57.000 52.000
+ -21835519.59243 -16969810.57942 21262182.724 21262187.673 21262182.193
+ 1885.564 1469.271 55.000 49.000
+ -16678825.19643 -12985289.66942 22155186.488 22155190.195 22155184.490
+ -1071.026 -834.566 53.000 47.000
+ -15486590.07043 -12012439.44342 21897144.272 21897147.279 21897143.238
+ -2011.435 -1567.352 54.000 47.000
+ -2972308.91043 -2261897.10542 24530365.860 24530376.109 24530365.008
+ -2165.105 -1687.095 44.000 36.000
+ 04 2 1 10 26 30.0000000 0 7G 4G29G 7G26G 8G28G10
+ -3788386.80843 -2947589.54542 24626737.356 24626749.092 24626736.872
+ 2261.617 1762.299 45.000 39.000
+ -22833700.58143 -17775962.93542 20531222.813 20531226.635 20531221.794
+ 43.079 33.568 56.000 51.000
+ -27199884.10244 -21150203.26442 19872461.674 19872465.912 19872460.128
+ 195.856 152.615 57.000 52.000
+ -21891798.40343 -17013664.18042 21251473.253 21251478.081 21251472.685
+ 1867.300 1455.039 55.000 49.000
+ -16646554.51843 -12960143.70142 22161326.697 22161331.909 22161325.779
+ -1079.490 -841.161 53.000 47.000
+ -15426201.57943 -11965383.46642 21908636.415 21908639.177 21908634.756
+ -2013.523 -1568.979 54.000 46.000
+ -2907376.10043 -2211300.21742 24542722.847 24542733.384 24542723.628
+ -2162.592 -1685.137 43.000 36.000
+ 04 2 1 10 27 0.0000000 0 8G 4G29G 7G26G 8G 9G28G10
+ -3856321.38543 -3000525.37742 24613810.516 24613820.044 24613810.784
+ 2267.321 1766.744 45.000 39.000
+ -22834690.41744 -17776734.23042 20531034.434 20531038.347 20531033.447
+ 22.860 17.813 57.000 51.000
+ -27205467.47244 -21154553.92142 19871398.827 19871403.413 19871397.677
+ 176.220 137.314 57.000 52.000
+ -21947559.43743 -17057114.31242 21240862.115 21240866.931 21240861.928
+ 1850.187 1441.704 55.000 49.000
+ -16614069.02643 -12934830.32442 22167508.696 22167513.061 22167507.612
+ -1086.507 -846.629 53.000 47.000
+ -963319.19353 -710641.20152 25465410.772 25465414.840 25465407.245
+ 2618.800 2040.623 43.000 36.000
+ -15365782.53743 -11918303.69242 21920132.979 21920136.358 21920132.301
+ -2014.481 -1569.725 54.000 46.000
+ -2842548.44243 -2160785.29842 24555058.743 24555072.176 24555058.893
+ -2158.969 -1682.313 44.000 35.000
+ 04 2 1 10 27 30.0000000 0 8G 4G29G 7G26G 8G 9G28G10
+ -3924403.30343 -3053576.01642 24600856.417 24600864.489 24600855.666
+ 2272.685 1770.923 45.000 39.000
+ -22835055.70244 -17777018.86142 20530964.767 20530969.039 20530963.854
+ 2.670 2.080 57.000 51.000
+ -27210442.35644 -21158430.43242 19870452.697 19870456.576 19870451.106
+ 156.669 122.080 58.000 52.000
+ -22002785.95243 -17100147.94542 21230353.187 21230357.686 21230352.397
+ 1832.960 1428.281 55.000 49.000
+ -16581353.34043 -12909337.57542 22173734.003 22173738.907 22173732.811
+ -1093.430 -852.023 53.000 46.000
+ -1041955.03043 -771915.82542 25450447.198 25450453.189 25450448.510
+ 2624.537 2045.094 43.000 37.000
+ -15305320.02443 -11871190.03342 21931639.124 21931641.999 21931637.746
+ -2015.182 -1570.272 53.000 46.000
+ -2777814.46943 -2110343.37642 24567378.802 24567388.472 24567375.608
+ -2155.597 -1679.686 43.000 35.000
+ 04 2 1 10 28 0.0000000 0 8G 4G29G 7G26G 8G 9G28G10
+ -3992632.69843 -3106741.56342 24587871.045 24587881.021 24587870.636
+ 2276.557 1773.941 45.000 39.000
+ -22834798.85743 -17776818.71642 20531013.318 20531017.508 20531012.649
+ -19.264 -15.011 56.000 51.000
+ -27214811.36844 -21161834.83742 19869620.336 19869625.234 19869619.203
+ 135.296 105.425 57.000 52.000
+ -22057478.08443 -17142765.17142 21219945.893 21219949.963 21219945.171
+ 1813.896 1413.425 55.000 49.000
+ -16548408.92543 -12883666.60542 22180003.763 22180007.616 22180001.990
+ -1102.147 -858.816 52.000 46.000
+ -1120740.62943 -833307.21042 25435450.771 25435460.755 25435451.193
+ 2628.780 2048.400 40.000 36.000
+ -15244817.54443 -11824045.23742 21943152.602 21943155.072 21943151.463
+ -2017.664 -1572.206 54.000 46.000
+ -2713179.10043 -2059978.26242 24579678.811 24579688.368 24579675.881
+ -2152.881 -1677.570 43.000 35.000
+ 04 2 1 10 28 30.0000000 0 8G 4G29G 7G26G 8G 9G28G10
+ -4061006.60843 -3160019.74242 24574858.655 24574870.003 24574858.541
+ 2280.985 1777.391 44.000 39.000
+ -22833919.33443 -17776133.37442 20531180.691 20531185.058 20531179.872
+ -40.209 -31.332 56.000 51.000
+ -27218573.83944 -21164766.60842 19868905.083 19868909.361 19868903.322
+ 114.820 89.470 57.000 52.000
+ -22111633.15943 -17184963.91442 21209640.444 21209644.662 21209639.551
+ 1795.773 1399.304 55.000 49.000
+ -16515233.88443 -12857815.89942 22186316.432 22186320.689 22186315.469
+ -1110.208 -865.097 52.000 46.000
+ -1199675.08853 -894814.53552 25420428.547 25420442.392 25420431.875
+ 2633.000 2051.688 37.000 34.000
+ -15184275.48343 -11776869.60142 21954672.879 21954676.677 21954671.643
+ -2019.189 -1573.394 53.000 46.000
+ -2648644.03743 -2009691.30442 24591958.323 24591968.503 24591958.130
+ -2149.986 -1675.314 44.000 35.000
+ 04 2 1 10 29 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4129523.51543 -3213409.33542 24561822.840 24561830.561 24561821.429
+ 2286.622 1781.783 45.000 39.000
+ -594042.89053 -496211.92552 24893584.012 24893591.882 24893581.031
+ -2541.388 -1980.302 42.000 35.000
+ -22832417.95244 -17774963.46542 20531466.750 20531471.170 20531465.732
+ -60.356 -47.031 57.000 51.000
+ -27221730.76444 -21167226.53342 19868304.192 19868308.118 19868302.601
+ 95.205 74.186 57.000 52.000
+ -22165249.63543 -17226742.97242 21199437.499 21199442.118 21199436.804
+ 1778.342 1385.721 56.000 49.000
+ -16481828.44143 -12831785.68842 22192673.111 22192677.565 22192671.513
+ -1117.286 -870.612 52.000 47.000
+ -1278758.44153 -956437.89652 25405383.013 25405388.910 25405383.417
+ 2638.756 2056.173 40.000 35.000
+ -15123695.83343 -11729664.69342 21966200.856 21966205.056 21966199.485
+ -2019.869 -1573.924 53.000 46.000
+ -2584212.76643 -1959485.22942 24604220.015 24604229.793 24604220.037
+ -2145.493 -1671.813 43.000 35.000
+ 04 2 1 10 29 30.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4198180.06543 -3266907.71342 24548757.348 24548765.303 24548755.764
+ 2291.224 1785.369 46.000 40.000
+ -517734.35743 -436750.92142 24908100.635 24908111.559 24908100.583
+ -2545.256 -1983.316 40.000 35.000
+ -22830293.92144 -17773308.37642 20531871.116 20531874.902 20531870.051
+ -80.655 -62.848 57.000 50.000
+ -27224281.39944 -21169214.01842 19867818.543 19867822.784 19867817.179
+ 75.359 58.721 57.000 52.000
+ -22218324.58143 -17268100.06342 21189337.040 21189342.025 21189336.550
+ 1760.735 1372.001 55.000 49.000
+ -16448190.51043 -12805574.29942 22199074.654 22199079.103 22199072.571
+ -1124.488 -876.224 53.000 47.000
+ -1357989.04443 -1018175.95242 25390306.020 25390315.406 25390305.717
+ 2643.643 2059.981 41.000 35.000
+ -15063078.92843 -11682430.73642 21977736.053 21977739.058 21977734.921
+ -2020.645 -1574.528 54.000 46.000
+ -2519887.07743 -1909361.41942 24616460.872 24616471.499 24616459.447
+ -2142.207 -1669.252 44.000 36.000
+ 04 2 1 10 30 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4266976.09643 -3320514.80342 24535666.279 24535673.789 24535664.745
+ 2295.545 1788.736 46.000 40.000
+ -441290.22643 -377184.17042 24922648.775 24922659.531 24922648.876
+ -2550.630 -1987.504 42.000 35.000
+ -22827549.69444 -17771170.01742 20532393.258 20532397.104 20532392.384
+ -101.720 -79.262 57.000 51.000
+ -27226228.25744 -21170731.02742 19867448.268 19867452.463 19867446.825
+ 54.943 42.813 57.000 52.000
+ -22270858.33143 -17309035.43142 21179340.735 21179344.736 21179339.989
+ 1742.142 1357.513 55.000 49.000
+ -16414321.46543 -12779182.83942 22205519.749 22205524.131 22205518.078
+ -1132.790 -882.693 53.000 47.000
+ -1437368.40943 -1080029.92942 25375202.257 25375208.391 25375200.845
+ 2648.806 2064.005 44.000 36.000
+ -15002428.17043 -11635170.39942 21989277.446 21989280.775 21989276.567
+ -2022.190 -1575.732 54.000 47.000
+ -2455671.86943 -1859323.75242 24628679.227 24628690.598 24628677.678
+ -2138.365 -1666.258 42.000 36.000
+ 04 2 1 10 30 30.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4335907.93943 -3374227.75142 24522549.576 24522555.910 24522548.262
+ 2300.302 1792.443 46.000 40.000
+ -364709.35343 -317510.92542 24937225.162 24937230.200 24937222.526
+ -2554.677 -1990.657 44.000 36.000
+ -22824183.98044 -17768547.39042 20533033.144 20533037.820 20533032.733
+ -122.205 -95.225 57.000 51.000
+ -27227570.14744 -21171776.63342 19867192.421 19867197.009 19867191.076
+ 34.941 27.227 57.000 52.000
+ -22322847.20043 -17349546.23242 21169446.988 21169451.959 21169446.265
+ 1724.299 1343.610 55.000 49.000
+ -16380219.07743 -12752609.55142 22212009.363 22212013.586 22212007.554
+ -1140.289 -888.537 53.000 46.000
+ -1516894.69143 -1141998.42242 25360069.400 25360075.726 25360068.260
+ 2653.782 2067.882 44.000 36.000
+ -14941743.52143 -11587883.65542 22000825.485 22000828.428 22000823.994
+ -2023.123 -1576.459 54.000 47.000
+ -2391567.98443 -1809372.79742 24640877.975 24640888.360 24640876.998
+ -2134.074 -1662.915 43.000 36.000
+ 04 2 1 10 31 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4404970.53643 -3428042.56242 24509404.594 24509415.418 24509404.716
+ 2304.486 1795.703 46.000 40.000
+ -287989.57043 -257729.41742 24951823.234 24951830.112 24951823.098
+ -2559.803 -1994.652 43.000 37.000
+ -22820194.53144 -17765438.73642 20533792.915 20533796.910 20533791.749
+ -143.341 -111.694 57.000 51.000
+ -27228304.74644 -21172349.02842 19867053.314 19867057.339 19867051.620
+ 14.355 11.186 57.000 52.000
+ -22374286.61743 -17389628.88942 21159659.273 21159663.517 21159658.388
+ 1705.516 1328.974 56.000 49.000
+ -16345879.92643 -12725851.77342 22218543.483 22218547.478 22218542.031
+ -1148.620 -895.028 53.000 46.000
+ -1596564.77343 -1204078.97242 25344908.481 25344915.207 25344907.483
+ 2658.270 2071.379 45.000 36.000
+ -14881023.56643 -11540569.40142 22012380.233 22012383.584 22012379.195
+ -2024.512 -1577.542 53.000 47.000
+ -2327575.62743 -1759508.82142 24653057.245 24653064.828 24653055.316
+ -2130.922 -1660.459 41.000 36.000
+ 04 2 1 10 31 30.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4474160.62043 -3481956.72842 24496239.750 24496246.951 24496238.651
+ 2308.542 1798.864 46.000 40.000
+ -211130.01743 -197838.97442 24966449.450 24966456.366 24966448.142
+ -2564.466 -1998.285 42.000 36.000
+ -22815580.66543 -17761843.52042 20534670.660 20534674.531 20534669.718
+ -163.984 -127.780 56.000 51.000
+ -27228431.30844 -21172447.62642 19867028.791 19867033.176 19867027.426
+ -5.701 -4.442 57.000 52.000
+ -22425173.60643 -17429281.06242 21149975.147 21149979.616 21149974.427
+ 1687.305 1314.783 55.000 49.000
+ -16311302.13043 -12698908.02842 22225124.265 22225127.622 22225122.390
+ -1156.266 -900.986 53.000 46.000
+ -1676377.00043 -1266270.25142 25329720.884 25329726.240 25329717.339
+ 2662.900 2074.987 45.000 36.000
+ -14820268.37543 -11493227.69542 22023941.300 22023944.860 22023940.264
+ -2025.571 -1578.367 53.000 46.000
+ -2263696.25843 -1709732.85442 24665213.609 24665221.267 24665211.257
+ -2127.653 -1657.911 41.000 35.000
+ 04 2 1 10 32 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4543483.56443 -3535974.39242 24483046.949 24483054.847 24483045.534
+ 2312.610 1802.034 46.000 39.000
+ -134139.03043 -137846.19842 24981099.650 24981107.495 24981099.201
+ -2569.284 -2002.039 38.000 36.000
+ -22810350.24543 -17757767.87642 20535665.786 20535670.260 20535664.945
+ -185.214 -144.322 56.000 50.000
+ -27227958.06644 -21172078.84642 19867119.023 19867123.227 19867117.589
+ -26.293 -20.488 57.000 52.000
+ -22475513.99343 -17468507.32142 21140396.021 21140400.076 21140395.131
+ 1668.425 1300.071 56.000 49.000
+ -16276492.59843 -12671783.72842 22231747.051 22231751.889 22231746.071
+ -1164.724 -907.577 53.000 46.000
+ -1756338.56143 -1328577.93242 25314502.269 25314510.002 25314500.662
+ 2667.390 2078.486 44.000 36.000
+ -14759486.79243 -11445865.42442 22035507.647 22035511.031 22035506.336
+ -2026.946 -1579.438 53.000 46.000
+ -2199940.39143 -1660053.08542 24677345.341 24677354.666 24677346.694
+ -2124.415 -1655.388 41.000 35.000
+ 04 2 1 10 32 30.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4612930.50043 -3590088.68942 24469830.146 24469840.820 24469831.104
+ 2317.314 1805.699 44.000 39.000
+ -57010.29443 -77746.09342 24995777.376 24995784.131 24995776.116
+ -2573.184 -2005.078 40.000 36.000
+ -22804497.39343 -17753207.22142 20536779.599 20536783.834 20536778.682
+ -205.031 -159.764 56.000 50.000
+ -27226878.77444 -21171237.81742 19867324.339 19867328.468 19867322.921
+ -45.628 -35.554 57.000 52.000
+ -22525299.28843 -17507301.03842 21130921.702 21130926.377 21130921.023
+ 1650.724 1286.278 55.000 49.000
+ -16241443.77243 -12644472.94842 22238417.224 22238421.595 22238415.479
+ -1171.775 -913.071 53.000 46.000
+ -1836442.04343 -1390996.21342 25299259.825 25299266.370 25299258.013
+ 2672.729 2082.646 45.000 37.000
+ -14698673.62243 -11398478.53542 22047079.952 22047083.645 22047079.018
+ -2027.184 -1579.624 53.000 46.000
+ -5287143.75653 -4065666.28652 24689449.237 24689465.874 24689451.220
+ -2118.567 -1650.831 37.000 34.000
+ 04 2 1 10 33 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4682498.52143 -3644297.37542 24456591.015 24456600.561 24456590.852
+ 2320.552 1808.222 44.000 39.000
+ 20256.22743 -17538.59342 25010480.772 25010488.771 25010480.927
+ -2578.494 -2009.216 42.000 36.000
+ -22798021.82043 -17748161.33242 20538012.044 20538015.986 20538011.128
+ -226.752 -176.690 56.000 50.000
+ -27225193.41744 -21169924.53242 19867644.858 19867649.136 19867643.596
+ -66.707 -51.979 57.000 52.000
+ -22574527.13343 -17545660.37042 21121554.548 21121558.872 21121553.765
+ 1631.139 1271.017 56.000 49.000
+ -16206154.60743 -12616974.90642 22245132.105 22245136.730 22245130.986
+ -1180.791 -920.097 53.000 47.000
+ -1916686.42843 -1453524.22742 25283992.231 25283996.985 25283990.905
+ 2676.397 2085.504 46.000 38.000
+ -14637829.51143 -11351067.54842 22058658.806 22058661.922 22058657.194
+ -2029.161 -1581.164 53.000 46.000
+ -5223628.71753 -4016174.15152 24701541.404 24701551.232 24701539.715
+ -2115.556 -1648.485 40.000 34.000
+ 04 2 1 10 33 30.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4752189.13343 -3698601.55642 24443331.028 24443338.302 24443329.565
+ 2324.820 1811.548 45.000 40.000
+ 97656.38143 42773.05242 25025209.378 25025218.141 25025208.714
+ -2582.339 -2012.212 43.000 37.000
+ -22790927.67143 -17742633.43342 20539361.927 20539366.050 20539360.955
+ -246.699 -192.233 56.000 50.000
+ -27222906.32444 -21168142.35542 19868080.092 19868084.471 19868078.633
+ -86.254 -67.211 57.000 52.000
+ -22623199.30043 -17583586.71242 21112292.271 21112296.837 21112291.449
+ 1613.178 1257.022 55.000 49.000
+ -16170627.88443 -12589291.75142 22251891.864 22251897.152 22251891.154
+ -1188.066 -925.766 52.000 46.000
+ -1997074.95343 -1516164.54042 25268693.413 25268699.951 25268691.256
+ 2681.762 2089.685 46.000 38.000
+ -14576959.49743 -11303636.36942 22070241.573 22070244.798 22070240.430
+ -2029.358 -1581.318 54.000 46.000
+ -5160242.04443 -3966782.09142 24713601.297 24713610.807 24713600.254
+ -2109.881 -1644.063 37.000 34.000
+ 04 2 1 10 34 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4822001.00643 -3753000.21442 24430046.743 24430053.834 24430045.568
+ 2329.595 1815.269 45.000 39.000
+ 175188.61943 103187.62142 25039964.706 25039971.315 25039962.934
+ -2585.986 -2015.054 42.000 37.000
+ -22783216.89843 -17736625.04342 20540829.381 20540833.333 20540828.626
+ -266.762 -207.866 56.000 51.000
+ -27220019.08144 -21165892.52942 19868629.636 19868633.661 19868628.285
+ -105.804 -82.445 57.000 52.000
+ -22671315.29143 -17621079.67142 21103135.735 21103140.269 21103135.385
+ 1595.114 1242.946 55.000 49.000
+ -16134864.11243 -12561423.88642 22258698.737 22258703.631 22258697.331
+ -1195.650 -931.675 53.000 47.000
+ -2077608.14943 -1578917.59742 25253368.180 25253375.289 25253367.667
+ 2687.253 2093.963 45.000 38.000
+ -14516065.96943 -11256186.87442 22081829.611 22081832.695 22081828.170
+ -2029.647 -1581.543 53.000 46.000
+ -5096987.12443 -3917492.64542 24725639.458 24725652.917 24725636.180
+ -2105.792 -1640.877 40.000 34.000
+ 04 2 1 10 34 30.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4891928.87143 -3807489.26542 24416739.498 24416747.576 24416738.706
+ 2332.910 1817.852 45.000 39.000
+ 252855.24843 163706.92942 25054744.966 25054750.681 25054742.651
+ -2590.934 -2018.910 43.000 37.000
+ -22774886.71144 -17730133.99942 20542414.896 20542418.566 20542414.003
+ -288.001 -224.416 57.000 51.000
+ -27216529.36644 -21163173.25042 19869293.795 19869297.688 19869292.263
+ -126.347 -98.452 57.000 52.000
+ -22718870.25443 -17658135.45942 21094086.896 21094091.207 21094085.911
+ 1575.788 1227.887 56.000 49.000
+ -16098859.66443 -12533368.48542 22265550.217 22265554.156 22265548.011
+ -1204.223 -938.355 52.000 46.000
+ -2158282.47743 -1641780.67342 25238017.061 25238021.716 25238014.443
+ 2691.343 2097.150 46.000 38.000
+ -14455146.96343 -11208717.51342 22093422.110 22093424.585 22093420.913
+ -2031.031 -1582.621 53.000 46.000
+ -5033863.25543 -3868305.37842 24737650.975 24737663.605 24737649.053
+ -2101.987 -1637.912 39.000 34.000
+ 04 2 1 10 35 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -4961969.70443 -3862066.36942 24403411.550 24403418.324 24403409.799
+ 2336.570 1820.704 45.000 39.000
+ 330656.85343 224331.36842 25069548.285 25069555.221 25069546.603
+ -2594.873 -2021.979 43.000 37.000
+ -22765937.07644 -17723160.26242 20544117.710 20544121.511 20544116.934
+ -308.344 -240.268 57.000 51.000
+ -27212436.81644 -21159984.22642 19870072.784 19870076.362 19870071.176
+ -146.264 -113.972 58.000 52.000
+ -22765861.58843 -17694752.06142 21085144.672 21085148.976 21085143.537
+ 1557.243 1213.436 55.000 49.000
+ -16062612.85243 -12505124.22342 22272447.635 22272451.741 22272446.450
+ -1212.008 -944.422 53.000 46.000
+ -2239096.41943 -1704752.54742 25222638.057 25222643.036 25222636.258
+ 2696.210 2100.943 47.000 39.000
+ -14394202.78843 -11161228.54942 22105019.353 22105022.266 22105017.745
+ -2031.654 -1583.107 53.000 46.000
+ -4970872.53643 -3819221.80542 24749639.024 24749651.472 24749638.627
+ -2097.310 -1634.267 40.000 34.000
+ 04 2 1 10 35 30.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -5032120.62443 -3916729.24942 24390061.905 24390070.524 24390060.540
+ 2341.265 1824.362 43.000 39.000
+ 408593.36143 285060.94842 25084379.199 25084386.497 25084378.820
+ -2599.481 -2025.570 41.000 36.000
+ -22756368.16243 -17715703.97342 20545938.453 20545942.754 20545937.678
+ -328.462 -255.944 56.000 51.000
+ -27207741.84144 -21156325.78542 19870966.206 19870969.993 19870964.612
+ -165.708 -129.123 58.000 52.000
+ -22812287.22043 -17730927.85842 21076309.764 21076314.302 21076309.131
+ 1538.907 1199.148 55.000 49.000
+ -16026122.55843 -12476690.24142 22279391.269 22279395.769 22279389.277
+ -1219.483 -950.246 52.000 46.000
+ -2320048.97543 -1767832.40242 25207233.074 25207238.679 25207231.286
+ 2701.671 2105.198 46.000 39.000
+ -14333234.51243 -11113720.80642 22116621.296 22116623.698 22116620.162
+ -2031.732 -1583.168 53.000 46.000
+ -4908017.35643 -3770243.89642 24761601.529 24761610.347 24761599.244
+ -2091.739 -1629.926 39.000 34.000
+ 04 2 1 10 36 0.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5102381.53443 -3971477.81242 24376689.950 24376698.572 24376689.707
+ 2344.028 1826.515 44.000 39.000
+ 486662.10843 345893.54642 25099235.739 25099242.136 25099234.141
+ -2603.942 -2029.046 43.000 37.000
+ -22746182.68444 -17707767.24042 20547876.960 20547880.465 20547875.936
+ -349.737 -272.522 57.000 50.000
+ -27202447.11744 -21152200.00342 19871973.517 19871977.581 19871972.063
+ -186.353 -145.210 58.000 52.000
+ -22858147.60043 -17766663.19842 21067582.845 21067587.173 21067582.163
+ 1519.336 1183.898 55.000 49.000
+ -15989390.29043 -12448067.70442 22286380.579 22286386.058 22286379.584
+ -1228.431 -957.219 52.000 46.000
+ -2401141.81543 -1831021.59542 25191801.885 25191806.961 25191800.847
+ 2705.540 2108.213 45.000 39.000
+ -14272245.27843 -11066196.71842 22128226.556 22128229.466 22128225.727
+ -2033.299 -1584.389 53.000 46.000
+ 04 2 1 10 36 30.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5172747.81343 -4026308.48042 24363301.120 24363308.933 24363299.471
+ 2347.704 1829.380 44.000 39.000
+ 564864.74043 406830.50742 25114117.725 25114125.203 25114117.315
+ -2608.840 -2032.862 44.000 37.000
+ -22735379.05544 -17699348.82842 20549932.624 20549936.476 20549931.582
+ -370.144 -288.424 57.000 50.000
+ -27196551.10944 -21147605.69542 19873095.322 19873099.426 19873093.863
+ -206.417 -160.844 57.000 52.000
+ -22903438.73143 -17801954.96842 21058964.288 21058968.448 21058963.648
+ 1500.412 1169.152 55.000 49.000
+ -15952413.10743 -12419254.35242 22293417.342 22293422.081 22293416.520
+ -1236.430 -963.452 52.000 46.000
+ -2482372.08543 -1894317.84642 25176344.561 25176350.167 25176343.572
+ 2710.095 2111.762 46.000 39.000
+ -14211234.15643 -11018655.58142 22139837.025 22139839.437 22139835.229
+ -2033.897 -1584.855 53.000 46.000
+ 04 2 1 10 37 0.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5243220.01243 -4081221.69342 24349889.506 24349898.096 24349888.131
+ 2350.641 1831.668 43.000 39.000
+ 643197.60543 467868.94542 25129023.059 25129030.634 25129021.249
+ -2613.618 -2036.585 41.000 36.000
+ -22723961.06043 -17690451.69242 20552105.184 20552109.748 20552104.517
+ -390.907 -304.603 56.000 51.000
+ -27190057.69344 -21142545.86742 19874331.156 19874335.052 19874329.500
+ -226.492 -176.487 57.000 52.000
+ -22948162.13043 -17836804.35842 21050453.789 21050457.989 21050452.805
+ 1481.145 1154.139 55.000 49.000
+ -15915193.46243 -12390252.05042 22300500.527 22300504.593 22300499.200
+ -1244.737 -969.925 53.000 46.000
+ -2563742.10643 -1957722.98842 25160862.302 25160865.202 25160860.356
+ 2714.334 2115.065 46.000 39.000
+ -14150205.33343 -10971100.65342 22151450.249 22151453.080 22151448.502
+ -2034.734 -1585.507 53.000 46.000
+ 04 2 1 10 37 30.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5313792.18443 -4136212.79442 24336460.721 24336468.279 24336459.661
+ 2354.265 1834.492 44.000 39.000
+ 721663.98043 529011.38242 25143955.312 25143964.432 25143953.727
+ -2617.674 -2039.746 43.000 37.000
+ -22711925.83343 -17681073.59442 20554395.282 20554399.773 20554394.847
+ -411.323 -320.511 56.000 51.000
+ -27182963.78844 -21137018.12942 19875680.822 19875684.929 19875679.365
+ -246.337 -191.951 57.000 52.000
+ -22992312.37443 -17871207.13242 21042052.463 21042056.517 21042051.706
+ 1462.233 1139.402 56.000 49.000
+ -15877726.81043 -12361057.28342 22307630.134 22307634.671 22307627.840
+ -1252.851 -976.247 52.000 46.000
+ -2645247.58043 -2021233.72942 25145349.126 25145353.567 25145348.812
+ 2719.149 2118.817 44.000 37.000
+ -14089156.15343 -10923529.85342 22163067.776 22163070.247 22163066.340
+ -2035.199 -1585.869 53.000 46.000
+ 04 2 1 10 38 0.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5384465.24143 -4191282.52642 24323011.681 24323019.100 24323011.257
+ 2357.126 1836.722 44.000 39.000
+ 800260.23043 590255.03942 25158911.811 25158920.300 25158912.091
+ -2622.134 -2043.221 43.000 36.000
+ -22699277.24644 -17671217.55442 20556802.643 20556806.602 20556801.630
+ -431.978 -336.606 57.000 51.000
+ -27175273.47244 -21131025.65842 19877144.646 19877148.278 19877142.924
+ -266.384 -207.572 57.000 52.000
+ -23035891.13743 -17905164.59342 21033759.832 21033763.558 21033758.631
+ 1442.900 1124.338 56.000 49.000
+ -15840015.94543 -12331672.21842 22314805.426 22314811.124 22314804.305
+ -1261.648 -983.102 52.000 46.000
+ -2726891.23243 -2084852.15242 25129810.771 25129818.685 25129811.411
+ 2723.226 2121.994 42.000 37.000
+ -14028090.84843 -10875946.49042 22174688.051 22174690.933 22174686.698
+ -2036.026 -1586.514 53.000 46.000
+ 04 2 1 10 38 30.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5455259.53243 -4246446.72142 24309540.499 24309546.870 24309539.413
+ 2360.607 1839.434 46.000 39.000
+ 878962.63643 651581.37742 25173888.442 25173897.689 25173887.260
+ -2626.338 -2046.497 43.000 36.000
+ -22686039.10144 -17660902.12142 20559321.776 20559325.874 20559321.058
+ -452.475 -352.578 57.000 51.000
+ -27167010.42844 -21124586.90542 19878716.478 19878720.790 19878715.276
+ -286.228 -223.035 57.000 52.000
+ -23078919.68443 -17938693.32642 21025571.530 21025575.732 21025570.793
+ 1423.866 1109.506 56.000 49.000
+ -15802082.73743 -12302113.89942 22322025.111 22322029.043 22322024.021
+ -1269.433 -989.168 53.000 46.000
+ -2808695.17543 -2148595.47242 25114248.082 25114252.445 25114245.755
+ 2728.905 2126.419 45.000 38.000
+ -13967033.76843 -10828369.53842 22186306.737 22186309.620 22186305.699
+ -2036.291 -1586.720 53.000 46.000
+ 04 2 1 10 39 0.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5526125.84943 -4301667.04742 24296052.897 24296062.178 24296052.549
+ 2362.735 1841.092 44.000 39.000
+ 957817.69443 713026.67042 25188893.842 25188902.768 25188892.984
+ -2631.203 -2050.288 44.000 37.000
+ -22672165.24244 -17650091.32242 20561961.965 20561965.750 20561960.934
+ -473.348 -368.842 57.000 51.000
+ -27158128.65644 -21117666.02442 19880406.863 19880410.896 19880405.463
+ -306.702 -238.988 57.000 52.000
+ -23121349.55943 -17971755.54942 21017497.615 21017501.739 21017496.525
+ 1404.051 1094.066 56.000 50.000
+ -15763879.95943 -12272345.52742 22329294.054 22329299.285 22329292.795
+ -1278.158 -995.967 52.000 46.000
+ -2890611.64643 -2212426.40242 25098658.636 25098664.578 25098657.220
+ 2731.955 2128.796 46.000 40.000
+ -13905939.03943 -10780763.25042 22197932.772 22197935.799 22197930.919
+ -2037.447 -1587.621 53.000 46.000
+ 04 2 1 10 39 30.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5597080.61943 -4356956.29642 24282551.657 24282560.058 24282549.876
+ 2367.099 1844.493 45.000 39.000
+ 1036806.09743 774575.84542 25203925.154 25203931.890 25203925.001
+ -2634.751 -2053.053 45.000 37.000
+ -22657675.37943 -17638800.52642 20564719.157 20564723.399 20564718.284
+ -492.958 -384.123 56.000 50.000
+ -27148647.79644 -21110278.32442 19882211.092 19882214.959 19882209.554
+ -325.769 -253.846 57.000 52.000
+ -23163198.18543 -18004364.86542 21009534.129 21009538.196 21009533.169
+ 1385.615 1079.700 56.000 50.000
+ -15725425.76143 -12242381.24942 22336612.319 22336616.396 22336610.790
+ -1285.685 -1001.832 52.000 46.000
+ -2972658.87743 -2276359.26542 25083045.832 25083051.585 25083044.218
+ 2737.284 2132.949 46.000 39.000
+ -13844826.54243 -10733143.13042 22209562.265 22209564.992 22209560.695
+ -2036.995 -1587.269 53.000 46.000
+ 04 2 1 10 40 0.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5668124.57643 -4412315.03242 24269032.325 24269040.541 24269032.205
+ 2370.123 1846.849 45.000 40.000
+ 1115924.33743 836226.22842 25218982.552 25218991.040 25218979.534
+ -2639.690 -2056.901 44.000 37.000
+ -22642573.31543 -17627032.68342 20567592.952 20567597.002 20567592.079
+ -513.201 -399.897 56.000 50.000
+ -27138571.55144 -21102426.68442 19884128.497 19884132.698 19884127.047
+ -345.432 -269.168 57.000 52.000
+ -23204466.81643 -18036522.23142 21001680.868 21001685.422 21001680.118
+ 1366.423 1064.745 56.000 50.000
+ -15686722.26843 -12212222.71242 22343977.764 22343981.659 22343976.083
+ -1293.777 -1008.138 52.000 46.000
+ -3054839.25443 -2340395.86242 25067407.038 25067413.701 25067406.031
+ 2742.094 2136.697 45.000 39.000
+ -13783700.53943 -10685512.46542 22221193.825 22221197.343 22221192.292
+ -2037.445 -1587.619 53.000 45.000
+ 04 2 1 10 40 30.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5739254.22543 -4467740.56942 24255497.023 24255505.204 24255495.803
+ 2372.286 1848.535 46.000 40.000
+ 1195172.53443 897977.81342 25234059.315 25234068.800 25234060.588
+ -2644.155 -2060.381 42.000 36.000
+ -22626859.13743 -17614787.87642 20570583.302 20570587.150 20570582.185
+ -534.150 -416.221 56.000 50.000
+ -27127900.13744 -21094111.27842 19886159.312 19886163.206 19886157.815
+ -365.716 -284.973 57.000 52.000
+ -23245153.17443 -18068225.87642 20993938.308 20993942.909 20993937.332
+ 1346.439 1049.173 56.000 50.000
+ -15647768.28943 -12181868.98842 22351389.649 22351394.672 22351388.778
+ -1302.770 -1015.145 52.000 46.000
+ -3137151.16843 -2404534.97642 25051743.813 25051749.446 25051742.458
+ 2745.679 2139.490 46.000 39.000
+ -13722561.08343 -10637871.32442 22232827.798 22232831.182 22232826.821
+ -2038.338 -1588.315 53.000 46.000
+ 04 2 1 10 41 0.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5810470.09343 -4523233.29542 24241945.236 24241952.288 24241943.496
+ 2376.003 1851.431 46.000 40.000
+ 1274547.43943 959828.15942 25249165.770 25249174.417 25249164.826
+ -2647.355 -2062.874 43.000 37.000
+ -22610536.58043 -17602069.00042 20573689.400 20573693.441 20573688.381
+ -553.684 -431.442 56.000 51.000
+ -27116637.19644 -21085334.94242 19888302.676 19888306.244 19888301.014
+ -384.773 -299.823 57.000 52.000
+ -23285258.69543 -18099476.92842 20986306.188 20986310.740 20986305.705
+ 1327.620 1034.509 56.000 50.000
+ -15608565.76743 -12151321.59042 22358849.445 22358854.448 22358847.703
+ -1310.286 -1021.002 51.000 45.000
+ -3219596.56043 -2468778.11642 25036053.707 25036061.064 25036052.639
+ 2750.968 2143.611 47.000 39.000
+ -13661412.05243 -10590222.71042 22244464.171 22244466.912 22244462.285
+ -2037.877 -1587.956 53.000 45.000
+ 04 2 1 10 41 30.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5881765.64343 -4578788.12542 24228378.084 24228385.992 24228375.576
+ 2377.847 1852.868 46.000 40.000
+ 1354052.61043 1021780.00642 25264296.129 25264304.432 25264294.606
+ -2652.527 -2066.904 42.000 37.000
+ -22593602.65944 -17588873.74042 20576911.904 20576915.975 20576910.883
+ -574.632 -447.765 57.000 51.000
+ -27104779.66044 -21076095.28542 19890558.606 19890562.806 19890557.153
+ -405.038 -315.614 57.000 52.000
+ -23324777.90043 -18130271.11342 20978786.324 20978790.461 20978785.341
+ 1307.556 1018.875 56.000 49.000
+ -15569110.12743 -12120576.95142 22366358.283 22366362.785 22366356.836
+ -1319.331 -1028.050 52.000 46.000
+ -3302170.68543 -2533121.58442 25020340.161 25020345.493 25020340.404
+ 2754.703 2146.522 45.000 39.000
+ -13600250.52843 -10542564.38142 22256103.362 22256106.109 22256101.936
+ -2038.931 -1588.777 53.000 45.000
+ 04 2 1 10 42 0.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -5953141.51843 -4634405.52042 24214794.462 24214803.710 24214794.622
+ 2381.544 1855.748 47.000 40.000
+ 1433684.11643 1083830.30042 25279450.084 25279458.562 25279448.374
+ -2655.986 -2069.599 43.000 37.000
+ -22576061.31444 -17575205.16542 20580250.312 20580253.995 20580249.051
+ -594.466 -463.220 57.000 51.000
+ -27092331.64244 -21066395.51042 19892927.533 19892931.483 19892925.931
+ -424.333 -330.649 57.000 52.000
+ -23363712.43843 -18160609.70142 20971377.009 20971381.526 20971376.373
+ 1288.577 1004.086 56.000 50.000
+ -15529403.86643 -12089637.01442 22373913.203 22373918.521 22373912.131
+ -1327.229 -1034.204 51.000 46.000
+ -3384876.00043 -2597567.24242 25004601.814 25004607.239 25004599.967
+ 2759.510 2150.268 45.000 38.000
+ -13539080.71543 -10494899.58342 22267743.118 22267746.143 22267741.640
+ -2038.746 -1588.633 52.000 45.000
+ 04 2 1 10 42 30.0000000 0 8G 4G27G29G 7G26G 8G 9G28
+ -6024589.06143 -4690078.77742 24201198.551 24201206.026 24201198.271
+ 2383.505 1857.277 46.000 40.000
+ 1513447.65543 1145983.48142 25294629.115 25294636.421 25294628.474
+ -2660.291 -2072.954 44.000 37.000
+ -22557907.52843 -17561059.36742 20583704.099 20583708.594 20583703.335
+ -614.699 -478.986 56.000 51.000
+ -27079288.02144 -21056231.62842 19895409.549 19895413.608 19895408.303
+ -444.134 -346.078 57.000 51.000
+ -23402054.71743 -18190486.79242 20964080.971 20964085.214 20964080.096
+ 1268.850 988.714 56.000 50.000
+ -15489440.31943 -12058496.61242 22381518.946 22381523.825 22381517.290
+ -1335.822 -1040.900 52.000 46.000
+ -3467705.48043 -2662109.65542 24988840.985 24988844.996 24988839.319
+ 2763.817 2153.624 45.000 38.000
+ -13477897.58443 -10447224.41742 22279386.950 22279389.236 22279385.296
+ -2039.022 -1588.848 53.000 46.000
+ 04 2 1 10 43 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -6096118.55243 -4745815.89942 24187586.448 24187594.301 24187585.076
+ 2386.223 1859.395 47.000 40.000
+ 1593330.01043 1208229.25042 25309829.520 25309838.959 25309828.576
+ -2665.037 -2076.652 44.000 37.000
+ -22539155.03244 -17546447.03942 20587272.906 20587277.101 20587271.951
+ -635.019 -494.820 57.000 50.000
+ -27065662.52544 -21045614.34242 19898002.405 19898006.643 19898001.199
+ -463.853 -361.444 57.000 52.000
+ -23439816.16743 -18219911.29642 20956895.253 20956899.335 20956894.611
+ 1249.101 973.325 56.000 50.000
+ -15449231.52943 -12027165.10742 22389170.343 22389174.395 22389168.549
+ -1344.243 -1047.462 51.000 45.000
+ -3550671.16843 -2726758.21442 24973052.387 24973057.258 24973052.806
+ 2768.087 2156.951 45.000 39.000
+ -13416714.93243 -10399549.63142 22291028.088 22291032.388 22291027.121
+ -2039.275 -1589.045 52.000 45.000
+ 24937571.981
+ -2013.512 -1568.970 44.000
+ 04 2 1 10 43 30.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -6167715.57143 -4801605.64442 24173962.230 24173969.911 24173962.014
+ 2388.966 1861.532 46.000 40.000
+ 1673342.49643 1270576.42742 25325056.352 25325063.517 25325054.870
+ -2668.149 -2079.077 43.000 37.000
+ -22519792.66644 -17531359.49342 20590957.277 20590961.446 20590956.370
+ -654.210 -509.774 57.000 50.000
+ -27051444.04444 -21034534.98742 19900708.312 19900712.213 19900706.737
+ -482.526 -375.994 58.000 52.000
+ -23476983.20643 -18248872.62042 20949822.714 20949826.497 20949821.726
+ 1230.389 958.745 56.000 49.000
+ -15408764.96243 -11995632.72842 22396870.438 22396875.549 22396868.936
+ -1351.916 -1053.441 51.000 46.000
+ -3633760.12043 -2791502.81142 24957242.074 24957246.570 24957240.203
+ 2773.284 2161.001 45.000 39.000
+ -13355521.37543 -10351866.32642 22302673.685 22302676.218 22302672.322
+ -2038.723 -1588.615 53.000 45.000
+ -437027.33753 -344792.49452 24949051.938 24949062.857 24949051.087
+ -2006.650 -1563.623 42.000 37.000
+ 04 2 1 10 44 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -6239381.03643 -4857448.75142 24160324.842 24160332.066 24160324.588
+ 2390.595 1862.801 46.000 39.000
+ 1753481.06443 1333021.83042 25340304.979 25340314.237 25340303.145
+ -2672.908 -2082.785 42.000 36.000
+ -22499825.13443 -17515800.38442 20594756.812 20594761.280 20594756.146
+ -674.950 -525.935 56.000 50.000
+ -27036637.19744 -21022997.16542 19903526.076 19903529.636 19903524.583
+ -502.802 -391.794 58.000 52.000
+ -23513558.00543 -18277372.46042 20942862.548 20942866.727 20942861.695
+ 1209.910 942.787 56.000 50.000
+ -15368043.33843 -11963901.59442 22404619.060 22404624.421 22404618.375
+ -1360.909 -1060.448 51.000 45.000
+ -3716975.13143 -2856345.61242 24941407.259 24941411.380 24941405.730
+ 2776.600 2163.584 45.000 39.000
+ -13294321.39043 -10304178.04442 22314319.698 22314322.702 22314318.338
+ -2039.482 -1589.207 52.000 45.000
+ -376868.04643 -297915.21742 24960499.591 24960509.852 24960498.405
+ -2001.751 -1559.806 40.000 37.000
+ 04 2 1 10 44 30.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -6311114.38143 -4913344.74842 24146675.594 24146680.897 24146672.998
+ 2392.266 1864.103 46.000 39.000
+ 1833743.19443 1395563.53842 25355578.114 25355588.972 25355577.226
+ -2677.406 -2086.290 42.000 36.000
+ -22479255.67743 -17499772.24442 20598671.151 20598675.076 20598670.394
+ -695.484 -541.935 56.000 50.000
+ -27021245.10544 -21011003.30842 19906454.984 19906458.934 19906453.432
+ -522.583 -407.207 58.000 52.000
+ -23549541.47443 -18305411.51742 20936015.071 20936019.419 20936014.414
+ 1189.806 927.122 56.000 50.000
+ -15327068.10543 -11931972.86342 22412417.460 22412421.273 22412416.194
+ -1369.830 -1067.400 52.000 45.000
+ -3800317.38143 -2921287.54042 24925546.743 24925551.122 24925545.735
+ 2780.391 2166.538 44.000 39.000
+ -13233117.92543 -10256487.03642 22325966.152 22325968.941 22325964.917
+ -2039.979 -1589.594 53.000 45.000
+ -316890.72643 -251179.73642 24971914.083 24971924.106 24971911.550
+ -1995.984 -1555.312 41.000 37.000
+ 04 2 1 10 45 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -6382909.99343 -4969289.25242 24133012.732 24133019.695 24133011.813
+ 2393.948 1865.414 47.000 39.000
+ 1914131.42943 1458203.50642 25370877.824 25370884.959 25370875.872
+ -2681.584 -2089.546 42.000 36.000
+ -22458082.03544 -17483273.31042 20602700.578 20602704.438 20602699.793
+ -716.012 -557.931 57.000 50.000
+ -27005265.63144 -20998551.75542 19909495.569 19909499.506 19909494.156
+ -542.574 -422.785 57.000 52.000
+ -23584928.90743 -18332986.13442 20929281.293 20929285.248 20929280.636
+ 1169.452 911.261 56.000 50.000
+ -15285835.70143 -11899843.71442 22420262.780 22420267.777 22420261.149
+ -1378.788 -1074.380 51.000 45.000
+ -3883782.81243 -2986325.48042 24909663.855 24909669.605 24909664.451
+ 2784.184 2169.494 44.000 38.000
+ -13171909.19843 -10208791.92842 22337613.088 22337616.777 22337612.064
+ -2040.615 -1590.090 52.000 45.000
+ -257093.97143 -204584.92942 24983293.005 24983303.317 24983292.122
+ -1990.410 -1550.969 42.000 37.000
+ 04 2 1 10 45 30.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -6454767.70143 -5025282.16942 24119337.997 24119345.407 24119337.296
+ 2395.827 1866.878 46.000 39.000
+ 1994642.80743 1520939.41942 25386197.827 25386207.912 25386195.934
+ -2685.690 -2092.745 41.000 36.000
+ -22436307.75643 -17466306.34842 20606844.077 20606848.163 20606843.022
+ -735.948 -573.466 56.000 50.000
+ -26988702.38044 -20985645.31142 19912647.288 19912651.635 19912645.814
+ -561.946 -437.880 57.000 51.000
+ -23619721.63643 -18360097.34842 20922659.838 20922664.388 20922659.321
+ 1149.700 895.870 56.000 50.000
+ -15244347.70343 -11867515.42342 22428159.028 22428163.746 22428157.266
+ -1387.425 -1081.110 52.000 45.000
+ -3967373.07843 -3051460.70042 24893757.494 24893760.782 24893754.555
+ 2788.407 2172.785 44.000 38.000
+ -13110697.99643 -10161094.89442 22349260.973 22349265.202 22349260.145
+ -2040.542 -1590.033 52.000 45.000
+ -197482.42143 -158134.46142 24994639.067 24994646.701 24994637.180
+ -1983.894 -1545.891 43.000 37.000
+ 04 2 1 10 46 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -6526684.71243 -5081321.28142 24105651.797 24105659.752 24105652.266
+ 2397.844 1868.450 46.000 39.000
+ 2075277.00743 1583771.06542 25401542.299 25401550.570 25401541.712
+ -2690.647 -2096.608 41.000 35.000
+ -22413933.98744 -17448872.25542 20611101.895 20611105.703 20611100.590
+ -756.771 -589.692 57.000 50.000
+ -26971556.16744 -20972284.61242 19915910.145 19915913.981 19915908.640
+ -582.255 -453.705 57.000 51.000
+ -23653918.00743 -18386743.87042 20916153.085 20916157.065 20916152.396
+ 1128.979 879.724 56.000 50.000
+ -15202603.47743 -11834987.44642 22436101.545 22436106.445 22436100.253
+ -1396.804 -1088.419 52.000 45.000
+ -4051087.17243 -3116692.35842 24877826.482 24877830.485 24877825.129
+ 2791.277 2175.021 44.000 38.000
+ -13049485.22143 -10113396.63342 22360909.954 22360912.897 22360909.340
+ -2041.504 -1590.782 52.000 45.000
+ -138058.59043 -111830.33442 25005948.458 25005955.885 25005945.172
+ -1978.344 -1541.567 44.000 37.000
+ 04 2 1 10 46 30.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -6598653.58343 -5137400.81642 24091956.893 24091965.309 24091956.742
+ 2400.038 1870.159 46.000 39.000
+ 2156038.36243 1646701.70842 25416910.971 25416921.350 25416909.333
+ -2694.067 -2099.273 40.000 35.000
+ -22390956.80243 -17430967.96142 20615474.081 20615478.005 20615473.076
+ -775.766 -604.493 56.000 50.000
+ -26953823.24744 -20958466.73442 19919284.640 19919288.495 19919283.333
+ -600.624 -468.019 57.000 51.000
+ -23687511.93043 -18412920.94442 20909759.905 20909764.220 20909759.540
+ 1109.912 864.866 56.000 50.000
+ -15160597.46143 -11802255.49442 22444095.718 22444100.177 22444094.914
+ -1404.414 -1094.348 52.000 46.000
+ -4134918.81543 -3182015.67842 24861873.151 24861879.479 24861873.605
+ 2796.325 2178.955 44.000 39.000
+ -12988267.12843 -10065694.22542 22372559.363 22372563.167 22372558.271
+ -2040.422 -1589.939 52.000 45.000
+ -78820.04043 -65670.56142 25017218.946 25017229.132 25017216.807
+ -1971.239 -1536.030 42.000 37.000
+ 04 2 1 10 47 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -6670678.83143 -5193524.26642 24078251.478 24078258.444 24078250.010
+ 2401.187 1871.055 46.000 40.000
+ 2236918.74243 1709725.17342 25432301.922 25432312.189 25432300.399
+ -2698.885 -2103.027 40.000 34.000
+ -22367384.82943 -17412600.20442 20619959.732 20619963.859 20619958.764
+ -796.275 -620.474 56.000 50.000
+ -26935512.03644 -20944198.24242 19922769.216 19922773.200 19922767.727
+ -620.680 -483.647 57.000 51.000
+ -23720509.48043 -18438633.31542 20903481.012 20903485.256 20903480.121
+ 1089.297 848.803 56.000 50.000
+ -15118336.17843 -11769324.63242 22452137.669 22452142.192 22452136.114
+ -1413.536 -1101.457 52.000 46.000
+ -4218874.51743 -3247435.62442 24845898.634 24845903.754 24845898.360
+ 2800.072 2181.874 47.000 40.000
+ -12927051.79343 -10017993.97142 22384208.308 22384212.038 22384207.018
+ -2041.006 -1590.394 52.000 45.000
+ -19776.11943 -19662.40742 25028453.446 25028464.396 25028451.705
+ -1965.307 -1531.408 43.000 37.000
+ 04 2 1 10 47 30.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -6742756.04543 -5249688.20642 24064533.569 24064543.269 24064534.270
+ 2403.466 1872.831 46.000 40.000
+ 2317920.02843 1772842.80042 25447716.254 25447724.803 25447713.461
+ -2702.335 -2105.715 40.000 35.000
+ -22343217.19943 -17393768.29342 20624558.619 20624562.687 20624557.672
+ -815.616 -635.545 56.000 50.000
+ -26916621.67944 -20929478.47242 19926363.748 19926367.910 19926362.191
+ -639.528 -498.333 57.000 51.000
+ -23752907.40343 -18463878.44242 20897315.921 20897319.995 20897314.986
+ 1069.791 833.603 56.000 50.000
+ -15075817.34143 -11736193.07742 22460228.693 22460233.396 22460227.278
+ -1421.945 -1108.009 52.000 45.000
+ -4302951.48143 -3312950.07542 24829897.433 24829903.918 24829896.750
+ 2804.554 2185.367 44.000 39.000
+ -12865837.87143 -9970294.80842 22395857.027 22395859.772 22395855.764
+ -2040.722 -1590.173 52.000 45.000
+ 39072.69543 26193.69142 25039654.136 25039663.098 25039650.315
+ -1958.736 -1526.288 42.000 37.000
+ 04 2 1 10 48 0.0000000 0 9G 4G27G29G 7G26G 8G 9G28G10
+ -6814875.61643 -5305885.15542 24050812.040 24050818.907 24050811.833
+ 2404.789 1873.862 48.000 41.000
+ 2399048.03443 1836059.20242 25463156.325 25463162.122 25463153.953
+ -2706.501 -2108.962 42.000 35.000
+ -22318448.40543 -17374467.93842 20629272.234 20629276.102 20629271.372
+ -835.447 -650.998 56.000 50.000
+ -26897146.72444 -20914303.16642 19930070.054 19930073.888 19930068.536
+ -658.712 -513.282 57.000 51.000
+ -23784697.63543 -18488650.04042 20891266.074 20891270.341 20891265.340
+ 1049.713 817.958 56.000 49.000
+ -15033033.31743 -11702854.90542 22468369.482 22468375.026 22468368.729
+ -1430.346 -1114.555 52.000 45.000
+ -4387142.00743 -3378553.01442 24813876.353 24813881.835 24813875.769
+ 2808.479 2188.425 44.000 39.000
+ -12804619.56843 -9922592.24642 22407506.166 22407509.968 22407505.246
+ -2040.421 -1589.938 52.000 45.000
+ 97731.35343 71901.64142 25050817.226 25050826.216 25050814.296
+ -1952.157 -1521.161 42.000 36.000
+ 04 2 1 10 48 30.0000000 0 10G 4G27G29G 7G26G 8G 9G28G 5G10
+ -6887043.89343 -5362120.04342 24037078.263 24037085.000 24037077.803
+ 2406.688 1875.341 48.000 42.000
+ 2480293.63943 1899367.24742 25478614.979 25478626.653 25478613.825
+ -2709.772 -2111.511 40.000 34.000
+ -22293088.38843 -17354706.90242 20634097.690 20634102.092 20634096.816
+ -854.883 -666.142 56.000 50.000
+ -26877096.97744 -20898679.97542 19933884.870 19933889.147 19933883.366
+ -677.641 -528.032 57.000 51.000
+ -23815887.87343 -18512954.11342 20885330.495 20885335.316 20885330.069
+ 1029.922 802.537 56.000 49.000
+ -14989992.41843 -11669316.54842 22476561.750 22476565.031 22476560.200
+ -1438.606 -1120.992 52.000 46.000
+ -4471453.86743 -3444250.50542 24797831.656 24797837.694 24797832.072
+ 2812.711 2191.723 44.000 38.000
+ -12743406.36643 -9874893.64942 22419155.598 22419158.772 22419153.497
+ -2039.980 -1589.595 52.000 45.000
+ -608642.13353 -469289.38852 25413897.455 25413906.932 25413899.069
+ 1900.608 1480.993 42.000 36.000
+ 156188.62243 117452.59442 25061939.875 25061949.005 25061937.075
+ -1944.895 -1515.502 42.000 36.000
+ 04 2 1 10 49 0.0000000 0 10G 4G27G29G 7G26G 8G 9G28G 5G10
+ -6959257.46943 -5418390.23542 24023336.999 24023344.058 24023336.235
+ 2407.570 1876.028 48.000 42.000
+ 2561656.90853 1962766.90652 25494099.515 25494105.572 25494095.665
+ -2714.127 -2114.904 38.000 33.000
+ -22267137.63143 -17334485.53642 20639036.134 20639040.194 20639035.265
+ -875.121 -681.912 56.000 50.000
+ -26856473.12144 -20882609.42542 19937809.632 19937813.871 19937808.216
+ -697.380 -543.413 57.000 51.000
+ -23846476.42943 -18536789.34642 20879509.453 20879514.726 20879509.303
+ 1009.250 786.429 56.000 50.000
+ -14946693.42443 -11635577.08942 22484799.439 22484804.140 22484798.458
+ -1447.863 -1128.205 51.000 45.000
+ -4555885.38543 -3510041.22342 24781765.268 24781772.421 24781765.682
+ 2816.239 2194.472 44.000 39.000
+ -12682198.48143 -9827199.21242 22430802.504 22430805.359 22430801.033
+ -2040.588 -1590.068 52.000 45.000
+ -665619.01343 -513686.81942 25403058.874 25403064.045 25403055.121
+ 1897.471 1478.549 42.000 37.000
+ 214442.72643 162845.28742 25073025.324 25073035.065 25073022.891
+ -1938.692 -1510.669 41.000 36.000
+ 04 2 1 10 49 30.0000000 0 10G 4G27G29G 7G26G 8G 9G28G 5G10
+ -7031506.53343 -5474688.06442 24009586.594 24009595.209 24009586.176
+ 2409.076 1877.202 47.000 42.000
+ 2026263.11952 25509606.707 25509617.774
+ -2719.005 -2118.705 35.000 31.000
+ -22240590.57243 -17313799.52842 20644087.458 20644091.988 20644086.962
+ -894.652 -697.131 56.000 50.000
+ -26835269.33944 -20866086.98542 19941844.347 19941848.535 19941843.038
+ -716.263 -558.127 57.000 51.000
+ -23876454.86243 -18560149.15642 20873805.557 20873809.851 20873804.690
+ 989.286 770.872 56.000 50.000
+ -14903128.63943 -11601630.51242 22493089.993 22493095.306 22493088.119
+ -1456.353 -1134.820 51.000 45.000
+ -4640428.59243 -3575918.96642 24765678.550 24765684.160 24765676.590
+ 2820.589 2197.862 45.000 39.000
+ -12620989.63243 -9779503.99242 22442450.871 22442452.418 22442450.066
+ -2040.186 -1589.755 52.000 45.000
+ -722511.07243 -558018.10342 25392230.140 25392238.245 25392229.388
+ 1895.621 1477.107 41.000 36.000
+ 272498.59353 208083.43752 25084073.792 25084082.516 25084071.851
+ -1931.757 -1505.265 43.000 36.000
+ 04 2 1 10 50 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G10
+ -7103794.55543 -5531016.27642 23995832.083 23995839.308 23995830.674
+ 2410.464 1878.284 48.000 42.000
+ -22213454.71344 -17292654.70842 20649251.675 20649255.875 20649250.906
+ -914.188 -712.354 57.000 50.000
+ -26813492.90544 -20849118.32142 19945988.571 19945992.703 19945987.208
+ -735.317 -572.974 57.000 51.000
+ -23905828.36943 -18583037.59542 20868215.940 20868220.096 20868215.420
+ 969.270 755.275 56.000 50.000
+ -14859303.57443 -11567481.15042 22501429.846 22501434.226 22501428.486
+ -1464.963 -1141.530 51.000 45.000
+ -4725088.52543 -3641887.66842 24749566.591 24749573.033 24749567.043
+ 2824.299 2200.752 45.000 39.000
+ -12559786.57643 -9731813.29742 22454096.365 22454099.514 22454095.401
+ -2039.963 -1589.581 52.000 45.000
+ -779324.81843 -602288.42642 25381416.460 25381426.649 25381415.368
+ 1892.700 1474.831 38.000 36.000
+ 330348.39243 253161.05442 25095079.510 25095090.922 25095079.403
+ -1924.555 -1499.653 40.000 35.000
+ 04 2 1 10 50 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G10
+ -7176118.64443 -5587372.58842 23982068.510 23982076.552 23982068.495
+ 2411.080 1878.764 48.000 42.000
+ -22185731.15344 -17271051.93742 20654527.410 20654531.349 20654526.463
+ -934.037 -727.821 57.000 50.000
+ -26791144.92844 -20831704.29942 19950241.345 19950245.207 19950239.781
+ -754.592 -587.994 57.000 51.000
+ -23934595.51043 -18605453.54042 20862741.632 20862745.650 20862740.940
+ 948.633 739.194 56.000 50.000
+ -14815217.50743 -11533128.37842 22509819.714 22509823.811 22509817.767
+ -1474.039 -1148.602 52.000 45.000
+ -4809863.93543 -3707946.35842 24733435.133 24733441.111 24733434.649
+ 2827.596 2203.322 45.000 39.000
+ -12498590.16343 -9684127.78142 22465741.582 22465744.888 22465740.560
+ -2039.953 -1589.574 52.000 44.000
+ -836060.40343 -646497.81442 25370619.487 25370628.259 25370619.890
+ 1889.658 1472.461 40.000 35.000
+ 387990.07643 298076.48242 25106048.445 25106062.150 25106046.895
+ -1918.369 -1494.833 41.000 35.000
+ 04 2 1 10 51 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G10
+ -7248474.41143 -5643753.59142 23968299.632 23968307.111 23968297.858
+ 2412.492 1879.864 47.000 42.000
+ -22157419.42243 -17248990.85442 20659914.962 20659919.014 20659913.765
+ -953.368 -742.884 56.000 50.000
+ -26768224.98044 -20813844.58742 19954602.736 19954606.811 19954601.246
+ -773.296 -602.568 57.000 51.000
+ -23962753.61243 -18627394.91342 20857383.294 20857387.234 20857382.488
+ 928.591 723.577 56.000 50.000
+ -14770868.22243 -11498570.51642 22518259.074 22518262.692 22518257.718
+ -1482.441 -1155.149 52.000 46.000
+ -4894751.82643 -3774092.71542 24717282.454 24717287.914 24717280.978
+ 2831.737 2206.548 43.000 38.000
+ -12437399.00343 -9636446.35842 22477387.603 22477388.947 22477386.323
+ -2039.525 -1589.240 53.000 45.000
+ -892716.98153 -690645.66352 25359839.416 25359848.061 25359837.981
+ 1887.709 1470.942 41.000 36.000
+ 445422.94043 342829.22142 25116980.811 25116990.289 25116977.587
+ -1911.014 -1489.102 41.000 35.000
+ 04 2 1 10 51 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G10
+ -7320858.17143 -5700156.41742 23954525.544 23954532.479 23954524.252
+ 2413.612 1880.737 47.000 41.000
+ -22128520.05543 -17226471.88042 20665414.236 20665418.569 20665413.196
+ -972.739 -757.978 56.000 50.000
+ -26744733.50844 -20795539.53142 19959073.177 19959077.082 19959071.614
+ -792.134 -617.247 57.000 51.000
+ -23990300.70543 -18648860.17742 20852141.249 20852145.217 20852140.637
+ 908.399 707.843 56.000 50.000
+ -14726254.14943 -11463806.33042 22526748.819 22526752.639 22526747.472
+ -1491.203 -1161.976 52.000 45.000
+ -4979750.37043 -3840325.25742 24701106.532 24701112.240 24701105.319
+ 2835.532 2209.505 44.000 38.000
+ -12376213.06943 -9588768.99742 22489029.960 22489032.786 22489028.130
+ -2039.032 -1588.856 52.000 44.000
+ -949294.25053 -734731.71052 25349071.478 25349082.980 25349070.610
+ 1885.123 1468.927 38.000 36.000
+ 502646.20043 387418.57942 25127868.811 25127879.313 25127869.357
+ -1903.538 -1483.276 42.000 35.000
+ 04 2 1 10 52 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G10
+ -7393269.38543 -5756580.60442 23940746.853 23940752.895 23940744.486
+ 2413.780 1880.868 47.000 41.000
+ -22099036.59943 -17203497.76742 20671024.659 20671029.192 20671023.813
+ -992.802 -773.612 56.000 50.000
+ -26720673.80044 -20776791.69142 19963651.146 19963655.302 19963649.825
+ -811.710 -632.501 57.000 51.000
+ -24017237.66043 -18669850.00742 20847014.896 20847019.620 20847014.435
+ 887.434 691.507 56.000 50.000
+ -14681376.80743 -11428836.98742 22535288.128 22535292.986 22535286.790
+ -1500.740 -1169.408 52.000 45.000
+ -5064860.54343 -3906644.82942 24684910.531 24684915.512 24684908.948
+ 2838.546 2211.854 44.000 38.000
+ -12315035.05243 -9541097.81342 22500671.175 22500674.107 22500670.050
+ -2039.207 -1588.992 52.000 44.000
+ -1005794.67253 -778757.86152 25338322.097 25338330.114 25338320.026
+ 1881.428 1466.048 39.000 35.000
+ 559655.44153 431841.21452 25138716.021 25138729.474 25138714.759
+ -1895.945 -1477.360 39.000 34.000
+ 04 2 1 10 52 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G10
+ -7465703.70643 -5813022.79142 23926961.229 23926969.603 23926962.142
+ 2414.644 1881.541 46.000 40.000
+ -22068968.61443 -17180068.17142 20676746.342 20676750.805 20676745.494
+ -1012.303 -788.807 56.000 50.000
+ -26696045.61744 -20757600.88442 19968338.227 19968342.131 19968336.562
+ -830.541 -647.175 57.000 51.000
+ -24043561.97343 -18690362.45442 20842006.130 20842010.164 20842005.140
+ 867.033 675.610 56.000 50.000
+ -14636233.89343 -11393660.72942 22543878.495 22543883.210 22543876.425
+ -1509.566 -1176.285 51.000 45.000
+ -5150079.45543 -3973049.10842 24668693.314 24668699.428 24668691.674
+ 2842.324 2214.798 44.000 39.000
+ -12253864.17243 -9493432.17842 22512313.016 22512314.569 22512312.255
+ -2039.077 -1588.891 53.000 45.000
+ -1062217.07353 -822723.28152 25327584.248 25327593.122 25327582.369
+ 1878.849 1464.038 39.000 35.000
+ 616450.34543 476096.78142 25149527.679 25149538.527 25149525.614
+ -1889.826 -1472.592 39.000 33.000
+ 04 2 1 10 53 0.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -7538159.40843 -5869481.64542 23913173.981 23913181.469 23913174.255
+ 2414.729 1881.607 45.000 40.000
+ -22038318.80743 -17156185.21542 20682578.864 20682583.149 20682578.199
+ -1032.133 -804.259 56.000 51.000
+ -26670851.53544 -20737969.11842 19973132.452 19973136.366 19973130.732
+ -849.889 -662.251 57.000 51.000
+ -24069273.71243 -18710397.57742 20837112.758 20837117.210 20837112.073
+ 846.218 659.391 56.000 50.000
+ -14590826.01543 -11358277.98042 22552519.667 22552524.723 22552518.751
+ -1518.703 -1183.405 52.000 45.000
+ -5235407.18443 -4039538.16642 24652455.228 24652463.389 24652455.719
+ 2845.233 2217.065 45.000 39.000
+ -12192702.03743 -9445773.36242 22523949.523 22523953.122 22523949.065
+ -2039.292 -1589.059 51.000 44.000
+ -1118563.75743 -866629.65742 25316862.640 25316871.522 25316862.444
+ 1876.306 1462.057 42.000 36.000
+ 04 2 1 10 53 30.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -7610632.98943 -5925954.47342 23899382.104 23899390.915 23899382.006
+ 2416.535 1883.014 45.000 40.000
+ -22007087.96243 -17131849.49742 20688521.503 20688526.207 20688521.013
+ -1050.279 -818.399 56.000 50.000
+ -26645092.03844 -20717896.76342 19978034.200 19978038.277 19978032.713
+ -867.645 -676.087 57.000 51.000
+ -24094371.36343 -18729954.19042 20832337.484 20832341.862 20832336.650
+ 826.752 644.222 56.000 50.000
+ -14545152.00743 -11322687.87042 22561210.361 22561215.445 22561208.949
+ -1526.480 -1189.465 51.000 45.000
+ -5320841.88643 -4106110.60342 24636199.936 24636205.895 24636198.857
+ 2849.876 2220.683 46.000 40.000
+ -12131548.59643 -9398121.32642 22535587.325 22535590.826 22535586.551
+ -2037.974 -1588.032 51.000 44.000
+ -1174833.79143 -910476.32442 25306157.356 25306161.713 25306153.464
+ 1874.656 1460.771 43.000 37.000
+ 04 2 1 10 54 0.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -7683124.97143 -5982441.63142 23885588.197 23885594.098 23885587.698
+ 2417.223 1883.550 46.000 40.000
+ -21975280.90143 -17107064.78042 20694574.366 20694578.662 20694573.656
+ -1069.240 -833.174 56.000 50.000
+ -26618772.15044 -20697387.74842 19983042.689 19983046.252 19983041.153
+ -886.098 -690.466 57.000 51.000
+ -24118857.37543 -18749034.19742 20827677.990 20827682.079 20827677.004
+ 806.554 628.484 56.000 50.000
+ -14499214.82443 -11286892.69142 22569954.125 22569957.035 22569952.171
+ -1535.089 -1196.173 53.000 46.000
+ -5406385.71243 -4172768.05442 24619922.006 24619926.490 24619920.451
+ 2853.979 2223.880 47.000 40.000
+ -12070408.07443 -9350479.34542 22547222.657 22547225.968 22547221.244
+ -2037.295 -1587.502 52.000 45.000
+ -1231031.12843 -954266.33442 25295461.320 25295469.046 25295459.311
+ 1872.564 1459.141 41.000 36.000
+ 04 2 1 10 54 30.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -7755628.13443 -6038937.50442 23871790.841 23871798.233 23871790.351
+ 2416.680 1883.127 46.000 40.000
+ -21942894.73943 -17081828.81742 20700737.456 20700741.999 20700736.436
+ -1089.449 -848.921 56.000 50.000
+ -26591888.53144 -20676439.45542 19988158.526 19988162.218 19988157.070
+ -905.710 -705.748 57.000 51.000
+ -24142726.15743 -18767633.24642 20823135.686 20823140.077 20823135.292
+ 785.205 611.848 56.000 50.000
+ -14453009.03643 -11250888.18842 22578745.028 22578750.914 22578743.347
+ -1544.887 -1203.808 51.000 45.000
+ -5492032.93143 -4239506.08642 24603623.803 24603628.445 24603622.396
+ 2856.391 2225.759 47.000 40.000
+ -12009276.51443 -9302844.35942 22558855.871 22558857.643 22558853.764
+ -2037.752 -1587.859 52.000 44.000
+ -1287151.65443 -997996.53342 25284779.686 25284788.036 25284777.118
+ 1868.676 1456.111 36.000 36.000
+ 04 2 1 10 55 0.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -7828145.17243 -6095444.21042 23857992.381 23857998.184 23857990.309
+ 2417.528 1883.788 47.000 40.000
+ -21909936.41443 -17056147.01942 20707009.195 20707013.485 20707008.510
+ -1108.167 -863.507 56.000 50.000
+ -26564448.36744 -20655057.49442 19993379.954 19993384.157 19993378.715
+ -923.975 -719.980 57.000 51.000
+ -24165982.41443 -18785755.00042 20818710.234 20818714.289 20818709.641
+ 764.975 596.084 56.000 50.000
+ -14406539.94143 -11214678.50942 22587588.254 22587592.732 22587586.338
+ -1553.324 -1210.382 52.000 46.000
+ -5577788.00943 -4306328.16842 24587304.937 24587309.240 24587303.415
+ 2860.257 2228.772 48.000 40.000
+ -11948159.98343 -9255221.08842 22570485.956 22570488.440 22570484.626
+ -2036.960 -1587.241 52.000 45.000
+ -1343201.99153 -1041672.06452 25274111.886 25274122.256 25274113.390
+ 1866.201 1454.182 40.000 36.000
+ 04 2 1 10 55 30.0000000 0 7G 4G29G 7G26G 8G 9G28
+ -7900664.87543 -6151952.96542 23844191.354 23844198.205 23844190.403
+ 2416.954 1883.341 48.000 41.000
+ -21876398.87343 -17030013.88242 20713391.262 20713395.587 20713390.386
+ -1128.076 -879.020 56.000 50.000
+ -26536444.41344 -20633236.21642 19998709.479 19998712.849 19998708.070
+ -943.218 -734.975 58.000 51.000
+ -24188616.82043 -18803392.19742 20814402.912 20814407.235 20814402.111
+ 743.632 579.454 56.000 50.000
+ -14359798.54243 -11178256.65342 22596483.182 22596487.631 22596480.809
+ -1563.126 -1218.020 52.000 45.000
+ -5663641.14343 -4373226.63242 24570964.735 24570971.744 24570965.085
+ 2862.842 2230.786 46.000 40.000
+ -11887050.43443 -9207603.24542 22582113.976 22582117.096 22582113.234
+ -2037.331 -1587.531 52.000 44.000
+ 04 2 1 10 56 0.0000000 0 7G 4G29G 7G26G 8G 9G28
+ -7973192.71643 -6208468.06542 23830390.127 23830396.888 23830390.196
+ 2417.420 1883.704 49.000 41.000
+ -21842292.19943 -17003437.26742 20719881.807 20719885.787 20719880.949
+ -1146.540 -893.408 56.000 50.000
+ -26507886.61744 -20610983.37742 20004143.703 20004147.285 20004142.096
+ -961.302 -749.066 57.000 51.000
+ -24210636.86743 -18820550.67642 20810212.842 20810216.388 20810212.013
+ 723.581 563.829 56.000 50.000
+ -14312792.52343 -11141628.61342 22605428.387 22605430.717 22605426.756
+ -1571.431 -1224.492 52.000 45.000
+ -5749599.59243 -4440207.16242 24554609.587 24554615.476 24554607.669
+ 2866.627 2233.735 46.000 40.000
+ -11825956.81843 -9159997.81842 22593739.306 22593741.774 22593738.045
+ -2036.461 -1586.853 51.000 44.000
+ 04 2 1 10 56 30.0000000 0 7G 4G29G 7G26G 8G 9G28
+ -8045721.38243 -6264983.83642 23816588.068 23816595.037 23816587.901
+ 2416.497 1882.985 49.000 41.000
+ -21807613.21543 -16976414.69342 20726480.661 20726484.859 20726480.012
+ -1166.630 -909.062 56.000 50.000
+ -26478771.88044 -20588296.55442 20009683.794 20009687.844 20009682.363
+ -980.878 -764.320 57.000 51.000
+ -24232037.15843 -18837226.22042 20806140.292 20806144.315 20806139.637
+ 702.002 547.015 56.000 50.000
+ -14265516.72443 -11104790.33842 22614424.102 22614428.670 22614422.805
+ -1581.519 -1232.352 52.000 45.000
+ -5835657.45843 -4507265.17042 24538233.331 24538237.413 24538231.442
+ 2869.308 2235.824 47.000 39.000
+ -11764875.24543 -9112401.79642 22605362.964 22605366.755 22605361.840
+ -2037.002 -1587.274 51.000 44.000
+ 04 2 1 10 57 0.0000000 0 7G 4G29G 7G26G 8G 9G28
+ -8118251.20243 -6321500.46642 23802786.110 23802790.634 23802785.819
+ 2417.987 1884.146 48.000 41.000
+ -21772366.90343 -16948950.04342 20733187.568 20733192.087 20733186.917
+ -1183.925 -922.539 56.000 50.000
+ -26449104.78144 -20565179.31542 20015329.238 20015333.058 20015327.681
+ -997.756 -777.472 57.000 51.000
+ -24252820.18243 -18853420.77842 20802185.399 20802189.524 20802184.545
+ 682.869 532.106 56.000 50.000
+ -14217974.03843 -11067744.12442 22623470.675 22623476.753 22623469.535
+ -1588.778 -1238.009 51.000 45.000
+ -5921816.72143 -4574402.20942 24521836.865 24521842.512 24521835.956
+ 2874.119 2239.573 46.000 40.000
+ -11703809.54143 -9064818.12442 22616983.914 22616987.333 22616982.787
+ -2034.910 -1585.644 52.000 45.000
+ 04 2 1 10 57 30.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -8190775.17043 -6378012.53742 23788984.931 23788991.662 23788982.994
+ 2417.871 1884.055 48.000 41.000
+ -21736550.89243 -16921041.47442 20740003.587 20740007.547 20740002.655
+ -1202.857 -937.291 56.000 50.000
+ -26418882.87444 -20541629.76242 20021080.350 20021084.154 20021078.715
+ -1016.050 -791.727 57.000 51.000
+ -24272981.10444 -18869130.57842 20798349.396 20798353.123 20798348.553
+ 662.156 515.966 57.000 50.000
+ -14170159.67243 -11030486.20142 22632570.615 22632573.981 22632568.040
+ -1597.876 -1245.098 51.000 45.000
+ -6008072.00843 -4641614.04842 24505425.193 24505429.471 24505423.097
+ 2877.187 2241.964 47.000 40.000
+ -11642756.02843 -9017243.95942 22628602.366 22628605.631 22628601.232
+ -2034.525 -1585.344 52.000 45.000
+ -393561.21153 -294372.35052 25220994.829 25221002.121 25220993.112
+ 1855.563 1445.893 42.000 34.000
+ 04 2 1 10 58 0.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -8263293.91543 -6434520.53742 23775183.842 23775190.151 23775184.625
+ 2417.976 1884.137 46.000 41.000
+ -21700170.47043 -16892693.10742 20746926.510 20746930.914 20746925.807
+ -1221.269 -951.638 56.000 50.000
+ -26388111.17144 -20517651.79242 20026935.678 20026939.832 20026934.359
+ -1034.039 -805.745 57.000 51.000
+ -24292522.69144 -18884357.77042 20794630.783 20794634.643 20794629.747
+ 641.897 500.179 57.000 50.000
+ -14122077.09543 -10993019.27542 22641719.867 22641724.660 22641718.808
+ -1606.363 -1251.711 52.000 45.000
+ -6094425.74543 -4708902.59942 24488990.125 24488994.752 24488989.447
+ 2880.923 2244.875 47.000 40.000
+ -11581718.85443 -8969682.50742 22640216.813 22640220.430 22640215.576
+ -2033.524 -1584.564 51.000 44.000
+ -449177.75143 -337709.88242 25210412.322 25210418.917 25210410.707
+ 1853.848 1444.557 44.000 36.000
+ 04 2 1 10 58 30.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -8335805.08143 -6491022.63342 23761385.259 23761392.079 23761385.908
+ 2416.259 1882.799 46.000 41.000
+ -21663227.49143 -16863906.38042 20753956.791 20753960.481 20753955.872
+ -1241.365 -967.297 56.000 50.000
+ -26356791.78044 -20493247.05142 20032895.742 20032899.745 20032894.302
+ -1053.682 -821.051 57.000 51.000
+ -24311444.62943 -18899102.12742 20791029.718 20791033.567 20791028.865
+ 619.756 482.927 56.000 50.000
+ -14073725.74043 -10955342.92142 22650920.368 22650925.930 22650918.766
+ -1616.769 -1259.820 51.000 45.000
+ -6180876.93343 -4776267.09642 24472539.594 24472543.987 24472537.819
+ 2882.609 2246.189 46.000 40.000
+ -11520698.82743 -8922134.43442 22651829.549 22651831.878 22651828.180
+ -2034.338 -1585.198 51.000 44.000
+ -504726.12943 -380994.25842 25199841.661 25199846.311 25199841.487
+ 1849.875 1441.461 44.000 35.000
+ 04 2 1 10 59 0.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -8408302.43343 -6547513.96942 23747590.241 23747596.989 23747589.347
+ 2416.781 1883.206 46.000 41.000
+ -21625720.39743 -16834680.08542 20761094.152 20761098.067 20761093.371
+ -1259.136 -981.145 56.000 50.000
+ -26324922.83744 -20468414.09342 20038960.186 20038964.083 20038958.663
+ -1070.983 -834.532 57.000 51.000
+ -24329742.92343 -18913360.52042 20787547.324 20787551.712 20787546.451
+ 600.022 467.550 56.000 50.000
+ -14025102.05743 -10917454.34442 22660173.564 22660178.379 22660172.543
+ -1624.873 -1266.135 51.000 45.000
+ -6267420.80343 -4843703.80642 24456071.029 24456074.193 24456070.697
+ 2886.448 2249.180 46.000 40.000
+ -11459693.23543 -8874597.61942 22663437.611 22663440.211 22663435.961
+ -2032.943 -1584.111 51.000 44.000
+ -560203.42043 -424223.26742 25189282.679 25189292.248 25189281.320
+ 1848.568 1440.443 42.000 36.000
+ 04 2 1 10 59 30.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -8480788.12743 -6603996.21542 23733796.985 23733803.835 23733796.616
+ 2414.923 1881.758 47.000 41.000
+ -21587655.91543 -16805019.46042 20768337.352 20768341.487 20768336.416
+ -1279.005 -996.627 56.000 50.000
+ -26292510.92144 -20443158.03542 20045127.702 20045131.592 20045126.495
+ -1090.414 -849.673 57.000 51.000
+ -24347421.90543 -18927136.33642 20784183.563 20784187.343 20784182.557
+ 577.985 450.378 56.000 50.000
+ -13976210.55643 -10879357.07442 22669477.200 22669482.862 22669476.155
+ -1635.187 -1274.172 51.000 45.000
+ -6354061.27843 -4911215.80542 24439584.746 24439587.114 24439583.346
+ 2888.345 2250.658 47.000 39.000
+ -11398707.40343 -8827076.18642 22675042.165 22675045.919 22675041.342
+ -2033.475 -1584.526 51.000 44.000
+ -615615.35143 -467401.31842 25178738.996 25178745.355 25178738.145
+ 1845.015 1437.674 44.000 35.000
+ 04 2 1 11 0 0.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -8553254.05743 -6660463.07342 23720006.782 23720014.321 23720005.283
+ 2415.341 1882.084 48.000 42.000
+ -21549030.44643 -16774921.69842 20775687.624 20775691.787 20775686.621
+ -1296.720 -1010.431 56.000 50.000
+ -26259552.44344 -20417476.08842 20051399.889 20051403.739 20051398.158
+ -1107.490 -862.979 57.000 51.000
+ -24364475.80343 -18940425.07042 20780938.000 20780941.955 20780937.505
+ 558.207 434.966 56.000 50.000
+ -13927045.57543 -10841046.75242 22678832.873 22678837.515 22678831.746
+ -1643.307 -1280.499 51.000 45.000
+ -6440791.78243 -4978797.94242 24423079.256 24423084.290 24423078.991
+ 2892.591 2253.967 47.000 40.000
+ -11337736.60743 -8779566.46942 22686645.885 22686648.851 22686644.554
+ -2032.030 -1583.400 51.000 44.000
+ -670956.94543 -510524.63242 25168207.080 25168213.123 25168206.577
+ 1843.909 1436.812 43.000 35.000
+ 04 2 1 11 0 30.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -8625702.21343 -6716916.06342 23706221.921 23706227.686 23706220.295
+ 2415.259 1882.020 50.000 42.000
+ -21509850.88643 -16744392.18142 20783143.535 20783147.419 20783142.485
+ -1314.771 -1024.497 56.000 50.000
+ -26226053.99344 -20391373.38642 20057774.271 20057778.170 20057772.779
+ -1125.211 -876.788 57.000 51.000
+ -24380908.91743 -18953230.08142 20777810.398 20777815.234 20777809.983
+ 537.887 419.133 56.000 50.000
+ -13877611.46243 -10802526.67942 22688238.989 22688245.240 22688237.747
+ -1651.813 -1287.127 50.000 45.000
+ -6527615.57943 -5046452.79942 24406557.761 24406562.775 24406555.369
+ 2895.993 2256.618 47.000 40.000
+ -11276786.21843 -8732072.66842 22698243.312 22698245.563 22698242.104
+ -2030.951 -1582.559 50.000 44.000
+ -726233.94943 -553597.48242 25157689.830 25157695.285 25157688.041
+ 1842.188 1435.471 42.000 35.000
+ 04 2 1 11 1 0.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -8698123.90443 -6773348.46042 23692438.633 23692446.212 23692437.395
+ 2413.575 1880.708 48.000 41.000
+ -21470113.02943 -16713427.62042 20790705.286 20790709.368 20790704.454
+ -1333.957 -1039.447 56.000 50.000
+ -26192011.29344 -20364846.59342 20064252.248 20064256.201 20064250.837
+ -1143.888 -891.341 57.000 51.000
+ -24396714.79743 -18965546.34242 20774803.276 20774807.390 20774802.267
+ 516.384 402.377 56.000 50.000
+ -13827902.11043 -10763792.15142 22697699.467 22697703.847 22697698.781
+ -1661.734 -1294.858 51.000 45.000
+ -6614525.60843 -5114174.81842 24390019.095 24390023.213 24390018.369
+ 2898.145 2258.295 47.000 41.000
+ -11215851.01243 -8684590.69542 22709838.730 22709841.954 22709837.859
+ -2030.825 -1582.461 50.000 43.000
+ -781440.93043 -596615.81742 25147182.211 25147191.613 25147182.292
+ 1838.763 1432.802 39.000 35.000
+ 04 2 1 11 1 30.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -8770521.38043 -6829761.98442 23678662.674 23678668.671 23678661.014
+ 2412.616 1879.960 48.000 41.000
+ -21429824.03243 -16682033.60342 20798371.751 20798375.703 20798370.869
+ -1352.289 -1053.732 56.000 50.000
+ -26157431.36244 -20337901.17842 20070832.980 20070836.772 20070831.327
+ -1161.773 -905.278 57.000 51.000
+ -24411898.26843 -18977377.61242 20771913.655 20771918.120 20771912.901
+ 495.587 386.172 56.000 50.000
+ -13777922.21443 -10724846.81142 22707209.675 22707215.373 22707208.964
+ -1670.634 -1301.793 50.000 45.000
+ -6701525.76243 -5181967.07242 24373462.259 24373469.012 24373463.234
+ 2901.277 2260.735 47.000 40.000
+ -11154936.64043 -8637124.95142 22721430.179 22721434.486 22721429.710
+ -2030.227 -1581.995 50.000 44.000
+ -836583.62253 -639584.04852 25136692.322 25136698.668 25136691.812
+ 1837.120 1431.522 41.000 35.000
+ 04 2 1 11 2 0.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -8842892.14643 -6886154.71042 23664890.909 23664895.781 23664891.197
+ 2411.627 1879.190 48.000 41.000
+ -21388985.99143 -16650211.75542 20806143.104 20806147.069 20806142.188
+ -1370.816 -1068.168 56.000 50.000
+ -26122316.36144 -20310538.82442 20077514.780 20077518.695 20077513.320
+ -1179.737 -919.275 57.000 51.000
+ -24426459.20044 -18988723.78842 20769143.305 20769147.423 20769142.673
+ 474.657 369.863 57.000 50.000
+ -13727671.79043 -10685690.67742 22716772.518 22716776.579 22716771.574
+ -1679.880 -1308.997 51.000 45.000
+ -6788615.15043 -5249828.86542 24356891.131 24356896.071 24356890.444
+ 2904.126 2262.955 48.000 41.000
+ -11094043.89543 -8589676.08042 22733018.649 22733021.385 22733016.933
+ -2029.776 -1581.644 51.000 44.000
+ -891663.00943 -682502.94042 25126208.476 25126214.423 25126206.665
+ 1834.549 1429.519 41.000 36.000
+ 04 2 1 11 2 30.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -8915233.12543 -6942524.19442 23651123.447 23651131.522 23651122.902
+ 2411.075 1878.760 47.000 41.000
+ -21347600.72843 -16617963.51142 20814018.189 20814022.596 20814017.606
+ -1388.457 -1081.914 56.000 50.000
+ -26086667.57844 -20282760.53842 20084298.508 20084302.537 20084297.202
+ -1196.935 -932.677 57.000 51.000
+ -24440396.82343 -18999584.26942 20766490.588 20766494.960 20766490.134
+ 454.448 354.115 56.000 50.000
+ -13677150.27543 -10646323.28342 22726386.496 22726391.615 22726385.608
+ -1688.227 -1315.501 51.000 45.000
+ -6875792.02943 -5317758.83942 24340301.726 24340305.548 24340300.566
+ 2907.484 2265.572 48.000 40.000
+ -11033173.01843 -8542244.21042 22744601.213 22744603.440 22744600.783
+ -2028.426 -1580.592 50.000 44.000
+ -946679.32943 -725372.74042 25115737.186 25115746.786 25115738.628
+ 1832.660 1428.047 40.000 36.000
+ 04 2 1 11 3 0.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -8987537.42743 -6998865.08942 23637364.386 23637372.413 23637362.886
+ 2410.502 1878.313 47.000 42.000
+ -21305666.07143 -16585287.16242 20821998.560 20822002.273 20821997.310
+ -1405.944 -1095.541 56.000 50.000
+ -26050482.74344 -20254564.54942 20091184.518 20091187.897 20091183.169
+ -1213.979 -945.958 57.000 51.000
+ -24453706.66443 -19009955.56842 20763958.180 20763962.020 20763957.336
+ 434.205 338.342 56.000 50.000
+ -13626353.05443 -10606741.06642 22736052.973 22736057.408 22736051.700
+ -1696.797 -1322.179 50.000 45.000
+ -6963051.09543 -5385752.85742 24323697.641 24323701.783 24323695.848
+ 2911.129 2268.412 48.000 41.000
+ -10972320.20343 -8494826.45542 22756182.198 22756183.774 22756180.807
+ -2027.116 -1579.571 51.000 44.000
+ -1001629.21343 -768190.77442 25105281.093 25105289.255 25105280.535
+ 1831.650 1427.260 42.000 36.000
+ 04 2 1 11 3 30.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -9059805.48743 -7055177.72542 23623612.671 23623619.211 23623611.491
+ 2409.155 1877.264 47.000 41.000
+ -21263187.21843 -16552186.76742 20830081.896 20830085.917 20830080.938
+ -1424.177 -1109.748 56.000 50.000
+ -26013767.16244 -20225954.99542 20098171.071 20098175.005 20098169.690
+ -1231.856 -959.888 57.000 51.000
+ -24466391.77644 -19019840.07142 20761544.536 20761548.067 20761543.314
+ 413.279 322.036 57.000 50.000
+ -13575283.26743 -10566946.46742 22745771.249 22745776.063 22745770.067
+ -1705.955 -1329.315 51.000 45.000
+ -7050394.44443 -5453812.53942 24307076.283 24307080.185 24307076.610
+ 2913.540 2270.291 47.000 41.000
+ -10911489.31843 -8447425.76942 22767757.612 22767760.827 22767756.548
+ -2026.624 -1579.187 51.000 44.000
+ -1056516.52943 -810960.01742 25094838.930 25094844.683 25094835.864
+ 1829.635 1425.690 43.000 36.000
+ 04 2 1 11 4 0.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -9132034.38543 -7111459.84442 23609867.904 23609875.434 23609868.143
+ 2406.568 1875.248 47.000 42.000
+ -21220166.19243 -16518663.90242 20838268.620 20838272.963 20838267.643
+ -1443.300 -1124.649 56.000 50.000
+ -25976522.49644 -20196933.16642 20105258.231 20105262.507 20105256.955
+ -1250.630 -974.517 57.000 51.000
+ -24478451.70943 -19029237.42042 20759249.507 20759253.383 20759248.563
+ 391.382 304.973 56.000 50.000
+ -13523940.43843 -10526939.10042 22755541.849 22755546.215 22755539.755
+ -1716.270 -1337.353 50.000 44.000
+ -7137820.45243 -5521936.61342 24290439.752 24290444.251 24290439.300
+ 2915.314 2271.673 48.000 41.000
+ -10850680.72843 -8400042.45642 22779328.142 22779331.858 22779327.190
+ -2026.771 -1579.302 50.000 43.000
+ -1111341.96543 -853681.09842 25084404.302 25084411.134 25084403.407
+ 1826.383 1423.156 42.000 35.000
+ 04 2 1 11 4 30.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -9204220.30243 -7167708.50842 23596131.395 23596138.016 23596131.935
+ 2405.514 1874.426 48.000 42.000
+ -21176604.13643 -16484719.45342 20846557.793 20846562.000 20846557.025
+ -1461.368 -1138.728 56.000 50.000
+ -25938749.62444 -20167499.74842 20112446.361 20112450.369 20112444.947
+ -1268.036 -988.080 57.000 51.000
+ -24489885.30243 -19038146.72042 20757073.166 20757078.039 20757072.399
+ 370.431 288.648 56.000 50.000
+ -13472323.56543 -10486718.18742 22765363.750 22765368.414 22765362.038
+ -1725.221 -1344.328 51.000 44.000
+ -7225326.88043 -5590123.37542 24273787.608 24273792.794 24273785.525
+ 2918.208 2273.928 48.000 42.000
+ -10789893.94343 -8352676.12042 22790895.705 22790898.567 22790894.152
+ -2026.208 -1578.863 50.000 43.000
+ -1166105.32243 -896353.78042 25073982.987 25073988.554 25073983.334
+ 1824.130 1421.400 41.000 34.000
+ 04 2 1 11 5 0.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -9276361.09143 -7223922.00842 23582403.788 23582410.578 23582402.961
+ 2404.138 1873.354 48.000 42.000
+ -21132503.67643 -16450355.46842 20854950.315 20854954.273 20854949.382
+ -1478.571 -1152.133 56.000 50.000
+ -25900451.28544 -20137656.87342 20119734.580 20119738.444 20119733.102
+ -1284.960 -1001.267 57.000 51.000
+ -24500693.06143 -19046568.35742 20755016.197 20755021.240 20755015.650
+ 350.208 272.889 56.000 50.000
+ -13420433.03643 -10446284.06042 22775239.374 22775243.321 22775237.335
+ -1733.848 -1351.050 50.000 44.000
+ -7312913.16443 -5658372.35242 24257120.388 24257125.779 24257119.175
+ 2921.202 2276.261 48.000 41.000
+ -10729130.23143 -8305327.78542 22802459.820 22802462.944 22802458.614
+ -2024.803 -1577.768 51.000 44.000
+ -1220807.30143 -938978.60442 25063574.659 25063580.218 25063572.721
+ 1822.949 1420.480 42.000 35.000
+ 04 2 1 11 5 30.0000000 0 8G 4G29G 7G26G 8G 9G28G 5
+ -9348453.58743 -7280097.89242 23568684.340 23568691.466 23568682.786
+ 2401.600 1871.377 48.000 42.000
+ -21087866.65043 -16415573.38942 20863444.227 20863448.409 20863443.413
+ -1497.572 -1166.939 56.000 50.000
+ -25861628.86744 -20107405.62342 20127122.066 20127126.212 20127120.717
+ -1303.461 -1015.684 57.000 51.000
+ -24510874.47243 -19054501.92842 20753079.310 20753083.740 20753078.353
+ 328.380 255.881 56.000 50.000
+ -13368268.10343 -10405636.10342 22785165.131 22785170.020 22785163.666
+ -1744.102 -1359.040 50.000 44.000
+ -7400577.34843 -5726682.04742 24240437.864 24240442.220 24240436.911
+ 2922.589 2277.342 48.000 42.000
+ -10668389.67343 -8257997.46642 22814017.377 22814021.400 22814015.889
+ -2025.141 -1578.032 50.000 43.000
+ -1275448.89743 -981556.40642 25053175.254 25053185.693 25053174.425
+ 1819.840 1418.057 42.000 36.000
+ 04 2 1 11 6 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -9420494.04043 -7336233.21442 23554975.951 23554982.066 23554975.873
+ 2399.838 1870.004 49.000 43.000
+ -21042694.34343 -16380374.20042 20872040.464 20872044.454 20872039.465
+ -1515.244 -1180.710 56.000 50.000
+ -25822283.63844 -20076746.99642 20134609.280 20134613.036 20134607.954
+ -1320.797 -1029.192 57.000 51.000
+ -24520428.34943 -19061946.51542 20751261.230 20751265.776 20751260.367
+ 307.492 239.604 56.000 50.000
+ -13315827.75743 -10364773.50042 22795143.648 22795148.796 22795142.436
+ -1753.150 -1366.091 50.000 44.000
+ -7488317.42543 -5795050.89042 24223741.111 24223746.583 24223740.796
+ 2925.306 2279.459 48.000 42.000
+ -10607671.68843 -8210684.75942 22825570.976 22825575.716 22825569.695
+ -2023.993 -1577.137 50.000 43.000
+ -1330029.96743 -1024087.02542 25042789.845 25042792.982 25042787.692
+ 1817.844 1416.502 43.000 35.000
+ 25262643.398
+ 2721.920 2120.977 44.000
+ 04 2 1 11 6 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -9492481.29943 -7392327.08942 23541276.813 23541282.279 23541277.384
+ 2399.424 1869.681 50.000 43.000
+ -20996990.47643 -16344760.81242 20880737.238 20880741.520 20880736.586
+ -1531.625 -1193.474 56.000 50.000
+ -25782418.98344 -20045683.61842 20142195.824 20142198.752 20142194.026
+ -1336.818 -1041.676 58.000 51.000
+ -24529356.30343 -19068903.36642 20749562.091 20749566.618 20749561.565
+ 287.844 224.294 56.000 50.000
+ -13263113.49343 -10323697.48742 22805174.418 22805180.326 22805173.815
+ -1761.053 -1372.249 50.000 44.000
+ -7576133.70343 -5863479.09442 24207030.097 24207035.847 24207029.377
+ 2929.045 2282.373 47.000 41.000
+ -10546978.45843 -8163391.34742 22837121.470 22837123.352 22837119.585
+ -2021.906 -1575.511 50.000 43.000
+ -1384552.55643 -1066572.01542 25032412.711 25032422.202 25032410.741
+ 1817.287 1416.068 40.000 33.000
+ 25247073.718
+ 2731.749 2128.636 42.000
+ 04 2 1 11 7 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -9564412.22243 -7448377.06942 23527589.063 23527595.625 23527587.678
+ 2397.392 1868.098 49.000 43.000
+ -20950757.23643 -16308734.93242 20889534.614 20889539.617 20889534.230
+ -1549.318 -1207.261 56.000 50.000
+ -25742036.92944 -20014217.07142 20149879.422 20149883.477 20149878.106
+ -1354.059 -1055.111 57.000 51.000
+ -24537658.15643 -19075372.35142 20747982.465 20747986.794 20747982.082
+ 266.914 207.985 56.000 50.000
+ -13210124.83343 -10282407.66742 22815258.093 22815263.282 22815257.824
+ -1770.194 -1379.372 50.000 45.000
+ -7664024.78943 -5931965.59242 24190305.472 24190309.963 24190304.427
+ 2931.690 2284.434 47.000 41.000
+ -10486310.32343 -8116117.47342 22848666.559 22848667.986 22848665.112
+ -2021.255 -1575.004 50.000 44.000
+ -1439017.33243 -1109011.98742 25022051.114 25022054.536 25022046.807
+ 1815.185 1414.430 42.000 33.000
+ -436115.99853 -304768.42352 25231461.462 25231472.298 25231460.345
+ 2738.974 2134.265 44.000 36.000
+ 04 2 1 11 7 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -9636284.31543 -7504381.21942 23513911.600 23513919.182 23513910.529
+ 2394.889 1866.147 49.000 43.000
+ -20903996.80943 -16272298.24942 20898433.454 20898437.869 20898432.637
+ -1567.176 -1221.176 56.000 50.000
+ -25701139.65944 -19982349.05842 20157661.886 20157665.840 20157660.622
+ -1371.561 -1068.749 57.000 51.000
+ -24545333.93043 -19081353.48142 20746522.037 20746526.218 20746520.837
+ 245.709 191.462 56.000 50.000
+ -13156861.88743 -10240904.09442 22825393.862 22825399.051 22825392.854
+ -1779.588 -1386.692 49.000 44.000
+ -7751989.26643 -6000509.29542 24173566.369 24173569.622 24173564.585
+ 2933.701 2286.001 48.000 42.000
+ -10425667.86343 -8068863.61042 22860205.807 22860209.603 22860205.196
+ -2020.687 -1574.561 50.000 44.000
+ -1493424.58743 -1151407.21742 25011697.079 25011704.527 25011694.725
+ 1812.972 1412.705 44.000 36.000
+ -518404.23843 -368888.64642 25215800.948 25215812.130 25215800.221
+ 2747.196 2140.672 44.000 36.000
+ 04 2 1 11 8 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -9708092.07543 -7560335.23342 23500246.997 23500253.838 23500246.804
+ 2392.494 1864.281 48.000 43.000
+ -20856708.82643 -16235450.48242 20907432.109 20907436.347 20907430.850
+ -1584.981 -1235.050 56.000 50.000
+ -25659726.58444 -19950079.11642 20165542.896 20165546.418 20165541.395
+ -1388.982 -1082.324 57.000 51.000
+ -24552381.14143 -19086844.81142 20745180.657 20745185.281 20745179.978
+ 224.517 174.948 56.000 50.000
+ -13103321.81743 -10199184.58942 22835583.171 22835587.855 22835581.117
+ -1789.042 -1394.059 51.000 44.000
+ -7840023.05343 -6069106.98742 24156813.803 24156818.413 24156811.999
+ 2935.836 2287.664 47.000 42.000
+ -10365048.86343 -8021628.01942 22871741.611 22871743.693 22871740.120
+ -2020.259 -1574.228 50.000 44.000
+ -1547772.96043 -1193756.49442 25001353.359 25001364.181 25001351.977
+ 1810.401 1410.702 43.000 37.000
+ -600929.56243 -433193.63142 25200097.648 25200109.300 25200097.842
+ 2754.869 2146.651 43.000 37.000
+ 04 2 1 11 8 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -9779835.32643 -7616238.96842 23486595.180 23486601.604 23486594.459
+ 2390.196 1862.490 48.000 43.000
+ -20808898.26843 -16198195.51542 20916530.176 20916534.253 20916529.282
+ -1602.323 -1248.563 56.000 50.000
+ -25617802.32744 -19917410.85142 20173520.562 20173524.496 20173519.234
+ -1405.922 -1095.524 57.000 51.000
+ -24558802.39444 -19091848.38442 20743959.236 20743963.480 20743958.601
+ 203.684 158.715 57.000 50.000
+ -13049507.31743 -10157251.22642 22845823.270 22845828.411 22845821.952
+ -1798.461 -1401.398 51.000 44.000
+ -7928127.45043 -6137759.69842 24140048.161 24140053.027 24140047.986
+ 2938.020 2289.366 48.000 42.000
+ -10304456.48043 -7974413.17942 22883272.090 22883275.576 22883270.394
+ -2019.239 -1573.433 50.000 43.000
+ -1602065.90243 -1236062.58242 24991021.923 24991028.245 24991020.823
+ 1808.557 1409.265 44.000 36.000
+ -683692.36443 -497683.72442 25184347.532 25184357.057 25184346.953
+ 2762.936 2152.937 44.000 37.000
+ 04 2 1 11 9 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -9851510.52343 -7672089.67942 23472954.514 23472962.530 23472954.570
+ 2388.371 1861.068 48.000 42.000
+ -20760566.71943 -16160534.57742 20925727.026 20925731.453 20925726.206
+ -1619.721 -1262.120 56.000 50.000
+ -25575368.35244 -19884345.39942 20181595.548 20181599.369 20181594.176
+ -1422.933 -1108.779 57.000 51.000
+ -24564596.91343 -19096363.59542 20742856.547 20742860.545 20742855.554
+ 182.767 142.416 56.000 50.000
+ -12995417.33243 -10115103.22642 22856116.698 22856121.052 22856114.746
+ -1807.406 -1408.368 50.000 44.000
+ -8016300.49543 -6206465.89142 24123268.762 24123274.636 24123268.265
+ 2940.259 2291.111 47.000 41.000
+ -10243890.43743 -7927218.86942 22894797.387 22894800.664 22894795.360
+ -2018.426 -1572.799 50.000 43.000
+ -1656303.09843 -1278325.27542 24980702.328 24980702.798 24980699.941
+ 1807.021 1408.068 45.000 35.000
+ -766689.68643 -562356.51342 25168553.978 25168564.799 25168552.504
+ 2770.871 2159.120 43.000 37.000
+ 04 2 1 11 9 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -9923115.67643 -7727885.82242 23459329.104 23459335.972 23459328.924
+ 2385.285 1858.664 49.000 42.000
+ -20711717.36343 -16122470.16242 20935023.119 20935027.420 20935022.093
+ -1637.084 -1275.650 56.000 50.000
+ -25532427.54244 -19850885.01442 20189766.336 20189770.669 20189765.193
+ -1440.024 -1122.097 57.000 51.000
+ -24569765.83744 -19100391.32942 20741872.793 20741876.771 20741872.271
+ 161.668 125.975 57.000 50.000
+ -12941052.65743 -10072741.16842 22866461.629 22866466.619 22866460.375
+ -1816.929 -1415.789 50.000 44.000
+ -8104541.68143 -6275225.19042 24106477.611 24106481.999 24106476.340
+ 2942.431 2292.803 47.000 42.000
+ -10183351.92743 -7880046.00142 22906318.211 22906321.030 22906316.611
+ -2017.701 -1572.234 51.000 44.000
+ -1710486.32543 -1320545.89442 24970391.757 24970397.076 24970389.292
+ 1804.914 1406.426 45.000 36.000
+ -849920.37243 -627211.22842 25152715.933 25152725.247 25152713.769
+ 2777.907 2164.603 44.000 38.000
+ 04 2 1 11 10 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -9994647.13743 -7783624.52342 23445717.475 23445722.842 23445715.626
+ 2383.402 1857.196 48.000 42.000
+ -20662351.70443 -16084003.42942 20944416.531 20944421.489 20944415.969
+ -1653.746 -1288.633 56.000 50.000
+ -25488981.36144 -19817030.83642 20198034.422 20198037.953 20198032.672
+ -1456.159 -1134.669 57.000 51.000
+ -24574308.39543 -19103930.99442 20741007.976 20741012.262 20741007.507
+ 141.395 110.178 56.000 50.000
+ -12886412.62043 -10030164.53242 22876859.600 22876864.885 22876858.323
+ -1825.595 -1422.541 50.000 44.000
+ -8192848.77043 -6344035.83542 24089672.307 24089677.643 24089671.944
+ 2945.216 2294.974 47.000 41.000
+ -10122840.57343 -7832894.29042 22917832.942 22917835.885 22917831.297
+ -2016.310 -1571.151 51.000 44.000
+ -1764615.55143 -1362724.48842 24960088.242 24960096.423 24960088.548
+ 1803.554 1405.367 42.000 36.000
+ -933382.14943 -692246.02242 25136832.790 25136841.961 25136831.459
+ 2786.118 2171.001 44.000 38.000
+ 04 2 1 11 10 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10066102.57543 -7839303.97242 23432120.082 23432124.985 23432119.426
+ 2380.608 1855.019 49.000 42.000
+ -20612472.31243 -16045136.37942 20953908.840 20953912.987 20953907.915
+ -1671.229 -1302.256 56.000 50.000
+ -25445032.09244 -19782784.64242 20206397.481 20206401.254 20206396.327
+ -1473.357 -1148.070 57.000 51.000
+ -24578225.14443 -19106982.99642 20740263.135 20740267.321 20740262.294
+ 120.071 93.562 56.000 50.000
+ -12831497.15843 -9987373.29642 22887309.284 22887314.256 22887307.732
+ -1835.188 -1430.017 51.000 44.000
+ -8281220.37243 -6412896.73542 24072856.456 24072862.169 24072855.347
+ 2946.580 2296.036 47.000 42.000
+ -10062357.24043 -7785764.42142 22929341.380 22929344.212 22929340.247
+ -2015.702 -1570.677 50.000 43.000
+ -1818691.36643 -1404861.38642 24949799.087 24949805.395 24949799.028
+ 1801.498 1403.765 43.000 35.000
+ -1017072.93843 -757459.32342 25120906.088 25120916.502 25120905.529
+ 2793.563 2176.802 44.000 38.000
+ 04 2 1 11 11 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10137474.66843 -7894918.48542 23418538.372 23418543.255 23418538.353
+ 2377.626 1852.696 49.000 42.000
+ -20562077.44343 -16005867.65542 20963498.955 20963503.015 20963497.799
+ -1688.434 -1315.663 56.000 50.000
+ -25400577.70344 -19748144.85042 20214856.871 20214860.760 20214855.267
+ -1490.233 -1161.220 57.000 51.000
+ -24581511.94143 -19109544.13442 20739637.181 20739641.695 20739636.335
+ 98.996 77.140 56.000 50.000
+ -12776301.93243 -9944364.06942 22897811.743 22897817.534 22897810.652
+ -1844.547 -1437.309 50.000 44.000
+ -8369651.20243 -6481803.80742 24056027.189 24056032.801 24056027.265
+ 2948.580 2297.595 47.000 41.000
+ -10001897.86943 -7738653.23042 22940847.284 22940850.731 22940846.682
+ -2014.979 -1570.113 51.000 44.000
+ -1872710.50543 -1446954.15242 24939519.111 24939524.606 24939519.468
+ 1799.780 1402.426 43.000 36.000
+ -1100986.43443 -822846.17742 25104936.422 25104947.176 25104935.967
+ 2800.630 2182.309 43.000 38.000
+ 04 2 1 11 11 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10208767.48943 -7950471.22142 23404970.686 23404978.127 23404970.897
+ 2374.380 1850.166 49.000 42.000
+ -20511176.16543 -15966204.32742 20973184.508 20973189.190 20973184.036
+ -1705.744 -1329.151 56.000 50.000
+ -25355627.02544 -19713118.33542 20223410.766 20223414.539 20223409.451
+ -1507.263 -1174.491 57.000 51.000
+ -24584176.00744 -19111620.02642 20739130.342 20739135.203 20739129.639
+ 77.773 60.602 57.000 50.000
+ -12720833.96643 -9901142.28542 22908367.673 22908371.956 22908366.202
+ -1853.994 -1444.671 50.000 44.000
+ -8458146.28543 -6550760.95542 24039188.204 24039193.646 24039187.241
+ 2950.239 2298.888 48.000 42.000
+ -9941469.57643 -7691566.26842 22952346.542 22952348.928 22952345.369
+ -2014.345 -1569.619 51.000 44.000
+ -1926680.49043 -1489008.60942 24929249.987 24929255.816 24929247.557
+ 1797.226 1400.436 43.000 36.000
+ -1185127.60543 -888410.42842 25088926.599 25088936.420 25088926.160
+ 2807.843 2187.930 45.000 38.000
+ 04 2 1 11 12 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10279973.95243 -8005956.67142 23391421.225 23391426.628 23391420.316
+ 2371.466 1847.896 50.000 43.000
+ -20459766.82543 -15926145.10842 20982967.934 20982971.960 20982966.928
+ -1722.755 -1342.406 56.000 50.000
+ -25310178.22244 -19677703.67042 20232059.803 20232063.601 20232058.036
+ -1523.925 -1187.474 57.000 51.000
+ -24586213.09744 -19113207.36842 20738743.196 20738747.298 20738742.657
+ 56.841 44.292 57.000 50.000
+ -12665088.63243 -9857704.40642 22918975.148 22918981.193 22918973.740
+ -1863.389 -1451.991 49.000 44.000
+ -8546699.87643 -6619763.66542 24022336.576 24022343.139 24022335.802
+ 2952.109 2300.345 47.000 42.000
+ -9881068.42943 -7644500.42742 22963839.831 22963842.382 22963838.760
+ -2013.444 -1568.917 51.000 44.000
+ -1980597.97143 -1531022.13442 24918989.749 24918995.136 24918989.707
+ 1795.772 1399.303 43.000 36.000
+ -1269490.15543 -954147.25442 25072872.179 25072882.432 25072870.945
+ 2815.169 2193.638 45.000 38.000
+ 04 2 1 11 12 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10351090.98443 -8061372.42242 23377887.594 23377894.978 23377886.912
+ 2369.763 1846.569 50.000 43.000
+ -20407851.63743 -15885691.72342 20992847.043 20992851.011 20992845.939
+ -1738.031 -1354.310 56.000 49.000
+ -25264233.26444 -19641902.39742 20240802.210 20240806.178 20240800.754
+ -1538.874 -1199.122 57.000 51.000
+ -24587623.43544 -19114306.33742 20738474.646 20738479.026 20738473.993
+ 37.446 29.179 57.000 50.000
+ -12609065.83843 -9814050.32242 22929636.755 22929642.093 22929635.755
+ -1871.186 -1458.067 50.000 44.000
+ -8635310.51543 -6688810.85142 24005475.299 24005480.062 24005473.760
+ 2955.333 2302.857 47.000 42.000
+ -9820694.99443 -7597456.19242 22975329.135 22975330.518 22975328.301
+ -2011.149 -1567.129 51.000 43.000
+ -2034463.74543 -1572995.38542 24908737.954 24908745.309 24908737.228
+ 1795.350 1398.974 43.000 36.000
+ -1354071.75243 -1020054.75442 25056776.432 25056785.410 25056776.036
+ 2823.944 2200.476 44.000 38.000
+ 04 2 1 11 13 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10422118.25143 -8116718.24142 23364371.586 23364377.342 23364370.490
+ 2365.638 1843.354 50.000 43.000
+ -20355435.09653 -15844847.66952 21002821.178 21002825.453 21002820.162
+ -1755.952 -1368.274 56.000 50.000
+ -25217796.75144 -19605718.08442 20249639.038 20249642.691 20249637.806
+ -1556.517 -1212.870 57.000 51.000
+ -24588409.74044 -19114919.03842 20738325.037 20738328.911 20738324.391
+ 15.467 12.052 57.000 50.000
+ -12552768.19943 -9770182.05642 22940349.221 22940353.645 22940347.810
+ -1881.693 -1466.254 50.000 44.000
+ -8723979.15443 -6757903.21042 23988601.127 23988606.646 23988600.231
+ 2956.077 2303.437 47.000 42.000
+ -9760351.86243 -7550435.58142 22986811.683 22986814.724 22986810.111
+ -2011.307 -1567.252 50.000 44.000
+ -2088280.36843 -1614930.32442 24898499.770 24898503.650 24898496.453
+ 1792.621 1396.848 42.000 36.000
+ -1438872.89243 -1086133.31442 25040639.802 25040650.261 25040639.394
+ 2829.786 2205.028 44.000 38.000
+ 04 2 1 11 13 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10493050.08743 -8171989.68842 23350873.979 23350880.063 23350872.878
+ 2362.067 1840.572 49.000 43.000
+ -20302517.75243 -15803613.37542 21012891.070 21012895.160 21012890.354
+ -1772.910 -1381.488 56.000 50.000
+ -25170868.36844 -19569150.50142 20258569.183 20258573.089 20258567.672
+ -1573.086 -1225.781 57.000 51.000
+ -24588569.73844 -19115043.71342 20738294.500 20738298.486 20738293.962
+ -5.768 -4.494 57.000 50.000
+ -12496192.69843 -9726097.27942 22951114.609 22951120.751 22951114.255
+ -1891.033 -1473.532 49.000 43.000
+ -8812701.79643 -6827037.65642 23971718.212 23971722.518 23971715.983
+ 2957.590 2304.616 47.000 41.000
+ -9700036.79843 -7503436.84342 22998289.280 22998292.319 22998287.983
+ -2010.706 -1566.784 51.000 44.000
+ -2142046.47243 -1656825.87842 24888267.102 24888274.296 24888267.666
+ 1790.627 1395.294 42.000 37.000
+ -1523888.81943 -1152379.29442 25024460.987 25024470.828 25024459.188
+ 2836.853 2210.535 44.000 38.000
+ 04 2 1 11 14 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10563886.83743 -8227187.04042 23337394.540 23337400.212 23337393.679
+ 2359.747 1838.764 50.000 43.000
+ -20249104.74243 -15761992.85242 21023055.085 21023059.789 21023054.356
+ -1788.767 -1393.844 56.000 50.000
+ -25123453.39244 -19532203.75542 20267592.117 20267596.039 20267590.672
+ -1588.649 -1237.908 57.000 51.000
+ -24588106.96644 -19114683.11742 20738382.311 20738386.602 20738381.731
+ -25.825 -20.123 57.000 50.000
+ -12439342.80143 -9681798.70742 22961933.731 22961938.965 22961931.861
+ -1899.768 -1480.339 50.000 44.000
+ -8901479.79143 -6896215.24142 23954823.948 23954829.797 23954822.909
+ 2960.108 2306.578 47.000 42.000
+ -9639753.10143 -7456462.54342 23009760.346 23009763.120 23009759.788
+ -2008.888 -1565.367 50.000 43.000
+ -2195765.65043 -1698684.85542 24878042.816 24878048.729 24878043.142
+ 1789.846 1394.685 42.000 37.000
+ -1609120.51343 -1218793.41442 25008241.850 25008252.165 25008240.569
+ 2844.557 2216.538 43.000 38.000
+ 04 2 1 11 14 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10634621.74543 -8282305.03242 23323933.167 23323939.203 23323932.923
+ 2355.797 1835.686 49.000 43.000
+ -20195194.87543 -15719985.16542 21033313.860 21033318.493 21033313.308
+ -1805.583 -1406.948 56.000 50.000
+ -25075550.28044 -19494876.64742 20276707.829 20276711.721 20276706.008
+ -1605.080 -1250.712 57.000 51.000
+ -24587017.95444 -19113834.53842 20738589.974 20738593.572 20738589.089
+ -46.995 -36.619 57.000 50.000
+ -12382214.62343 -9637283.26742 22972805.031 22972810.050 22972803.519
+ -1908.938 -1487.484 50.000 44.000
+ -8990307.97343 -6965431.93142 23937920.918 23937927.093 23937920.400
+ 2961.577 2307.722 49.000 42.000
+ -9579497.36343 -7409510.03342 23021226.072 23021229.854 23021226.277
+ -2008.332 -1564.934 50.000 43.000
+ -2249434.65443 -1740504.76742 24867832.152 24867838.091 24867830.134
+ 1788.039 1393.277 45.000 38.000
+ -1694562.06143 -1285371.04642 24991982.525 24991992.523 24991982.453
+ 2851.299 2221.791 45.000 38.000
+ 04 2 1 11 15 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10705254.68643 -8337343.57642 23310491.986 23310498.181 23310492.012
+ 2352.920 1833.444 49.000 43.000
+ -20140793.23743 -15677594.28442 21043666.568 21043670.607 21043665.550
+ -1821.292 -1419.188 56.000 49.000
+ -25027163.78044 -19457172.87642 20285915.028 20285919.073 20285913.777
+ -1620.616 -1262.818 57.000 51.000
+ -24585305.74643 -19112500.35542 20738915.614 20738919.522 20738914.805
+ -67.091 -52.279 56.000 50.000
+ -12324810.74443 -9592553.01642 22983729.469 22983734.054 22983727.426
+ -1917.702 -1494.313 50.000 44.000
+ -9079187.40443 -7034688.55642 23921007.688 23921011.874 23921006.447
+ 2963.718 2309.391 48.000 42.000
+ -9519272.43943 -7362581.53542 23032687.352 23032691.422 23032685.653
+ -2006.643 -1563.618 50.000 43.000
+ -2303056.83543 -1782288.19142 24857628.971 24857635.677 24857626.983
+ 1787.115 1392.557 45.000 39.000
+ -1780213.69743 -1352112.34842 24975682.001 24975694.384 24975682.300
+ 2858.593 2227.475 43.000 38.000
+ 04 2 1 11 15 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10775784.09143 -8392301.44242 23297071.002 23297076.084 23297071.885
+ 2349.352 1830.664 49.000 43.000
+ -20085903.67643 -15634823.20542 21054111.174 21054115.781 21054110.703
+ -1837.401 -1431.741 55.000 49.000
+ -24978297.57044 -19419095.30042 20295213.863 20295217.912 20295212.488
+ -1636.524 -1275.213 57.000 51.000
+ -24582972.10443 -19110681.94142 20739359.372 20739363.801 20739358.658
+ -87.898 -68.492 56.000 50.000
+ -12267132.30043 -9547608.80742 22994704.938 22994709.572 22994702.946
+ -1926.938 -1501.510 50.000 43.000
+ -9168117.70543 -7103984.84142 23904084.437 23904089.064 23904083.831
+ 2965.229 2310.568 47.000 42.000
+ -9459079.91543 -7315678.27442 23044141.752 23044144.542 23044141.001
+ -2005.675 -1562.864 50.000 43.000
+ -2356634.56843 -1824037.00842 24847431.430 24847439.819 24847430.857
+ 1785.567 1391.351 44.000 38.000
+ -1866074.95343 -1419016.95342 24959345.317 24959354.818 24959344.551
+ 2865.950 2233.208 44.000 38.000
+ 04 2 1 11 16 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10846200.70843 -8447171.42642 23283670.929 23283676.880 23283670.355
+ 2345.587 1827.730 50.000 43.000
+ -20030522.57843 -15591669.12442 21064650.198 21064654.447 21064649.463
+ -1853.759 -1444.487 55.000 49.000
+ -24928947.88644 -19380640.99442 20304604.827 20304609.088 20304603.542
+ -1652.668 -1287.793 57.000 51.000
+ -24580011.26743 -19108374.80142 20739922.958 20739927.258 20739922.313
+ -108.706 -84.706 56.000 50.000
+ -12209173.26743 -9502445.96042 23005733.986 23005739.340 23005732.283
+ -1936.210 -1508.735 51.000 44.000
+ -9257091.39443 -7173314.90642 23887152.692 23887158.453 23887151.885
+ 2967.015 2311.960 48.000 42.000
+ -9398913.81443 -7268795.61642 23055590.388 23055594.120 23055588.139
+ -2004.680 -1562.088 49.000 43.000
+ -2410162.22843 -1865746.77942 24837246.144 24837253.414 24837245.184
+ 1783.631 1389.842 44.000 38.000
+ -1952137.39543 -1486078.33442 24942965.536 24942977.867 24942967.187
+ 2872.458 2238.279 43.000 37.000
+ 04 2 1 11 16 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10916530.97443 -8501974.12342 23270287.935 23270293.408 23270286.851
+ 2342.203 1825.093 49.000 43.000
+ -19974681.27943 -15548156.43642 21075276.034 21075280.473 21075275.220
+ -1869.503 -1456.755 55.000 49.000
+ -24879145.78843 -19341834.16142 20314082.011 20314086.039 20314080.611
+ -1668.035 -1299.767 56.000 51.000
+ -24576452.86543 -19105602.02242 20740599.967 20740604.542 20740599.367
+ -129.079 -100.581 56.000 50.000
+ -12150962.70643 -9457087.12542 23016811.739 23016816.268 23016810.011
+ -1945.018 -1515.598 51.000 44.000
+ -9346135.79743 -7242700.08242 23870209.287 23870214.465 23870207.559
+ 2968.781 2313.336 48.000 42.000
+ -9338803.67543 -7221956.55242 23067030.242 23067031.749 23067028.451
+ -2003.161 -1560.905 50.000 43.000
+ -2463669.48143 -1907440.60442 24827061.984 24827068.766 24827060.694
+ 1782.768 1389.170 40.000 37.000
+ -2038427.91343 -1553317.49042 24926549.104 24926556.754 24926545.454
+ 2879.774 2243.980 46.000 37.000
+ 04 2 1 11 17 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -10986723.34743 -8556669.36742 23256931.129 23256935.771 23256929.804
+ 2337.385 1821.339 50.000 43.000
+ -19918334.38243 -15504249.77242 21085998.484 21086003.026 21085997.850
+ -1886.479 -1469.984 55.000 49.000
+ -24828845.38244 -19302639.02942 20323653.747 20323657.920 20323652.360
+ -1684.725 -1312.773 57.000 51.000
+ -24572249.07643 -19102326.34742 20741399.702 20741404.391 20741399.183
+ -150.707 -117.434 56.000 50.000
+ -12092452.35843 -9411494.70842 23027945.864 23027950.143 23027943.604
+ -1955.157 -1523.499 49.000 43.000
+ -9435201.13743 -7312101.57242 23853260.870 23853265.283 23853259.207
+ 2969.406 2313.823 49.000 42.000
+ -9278701.17143 -7175123.44542 23078466.595 23078468.799 23078465.774
+ -2003.052 -1560.820 49.000 43.000
+ -2517108.94543 -1949081.70242 24816894.551 24816900.424 24816892.453
+ 1780.526 1387.423 43.000 37.000
+ -2124896.38543 -1620695.29642 24910093.195 24910101.352 24910091.887
+ 2885.164 2248.180 45.000 37.000
+ 04 2 1 11 17 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11056805.69643 -8611278.87242 23243593.945 23243600.038 23243592.740
+ 2333.755 1818.510 50.000 43.000
+ -19861514.84443 -15459974.82642 21096811.331 21096815.455 21096810.179
+ -1902.166 -1482.207 56.000 49.000
+ -24778079.55344 -19263081.23442 20333313.994 20333318.353 20333312.833
+ -1700.330 -1324.932 57.000 51.000
+ -24567431.12043 -19098572.10342 20742316.746 20742321.254 20742316.076
+ -171.239 -133.433 56.000 50.000
+ -12033672.89243 -9365692.59642 23039129.951 23039134.220 23039128.875
+ -1964.199 -1530.545 49.000 43.000
+ -9524316.27343 -7381541.85842 23836302.250 23836305.537 23836301.047
+ 2970.944 2315.021 48.000 42.000
+ -9218637.30543 -7128320.43842 23089896.078 23089899.163 23089894.451
+ -2001.898 -1559.920 49.000 43.000
+ -2570511.41843 -1990693.90842 24806731.832 24806738.700 24806731.201
+ 1779.130 1386.335 43.000 38.000
+ -2211571.06643 -1688233.83142 24893598.330 24893607.043 24893596.457
+ 2892.204 2253.665 44.000 37.000
+ 04 2 1 11 18 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11126761.91443 -8665790.10642 23230282.466 23230287.230 23230281.265
+ 2329.725 1815.370 50.000 43.000
+ -19804212.22543 -15415323.45142 21107715.559 21107719.833 21107714.574
+ -1918.219 -1494.716 55.000 49.000
+ -24726837.47544 -19223152.33642 20343065.740 20343069.371 20343064.080
+ -1716.128 -1337.242 57.000 51.000
+ -24561986.29143 -19094329.38142 20743353.460 20743357.435 20743352.240
+ -192.121 -149.705 56.000 50.000
+ -11974611.08543 -9319670.41542 23050369.890 23050374.703 23050367.540
+ -1973.598 -1537.868 50.000 43.000
+ -9613466.39943 -7451009.44142 23819337.346 23819341.247 23819337.223
+ 2972.022 2315.861 48.000 42.000
+ -9158599.08743 -7081537.42042 23101320.341 23101323.352 23101319.491
+ -2001.024 -1559.239 48.000 42.000
+ -2623864.91543 -2032267.98242 24796578.772 24796585.088 24796576.856
+ 1777.454 1385.029 44.000 38.000
+ -2298436.56543 -1755921.05442 24877069.047 24877077.493 24877067.871
+ 2898.735 2258.755 45.000 37.000
+ 04 2 1 11 18 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11196591.46743 -8720202.64142 23216993.448 23216999.607 23216993.297
+ 2324.848 1811.570 50.000 43.000
+ -19746431.33543 -15370299.39342 21118711.013 21118715.269 21118710.106
+ -1934.438 -1507.354 55.000 49.000
+ -24675123.89044 -19182856.02942 20352906.212 20352910.070 20352904.760
+ -1732.100 -1349.688 57.000 51.000
+ -24555917.62943 -19089600.55542 20744507.928 20744512.542 20744507.008
+ -213.152 -166.092 56.000 50.000
+ -11915269.42443 -9273430.19842 23061661.609 23061668.363 23061660.254
+ -1983.203 -1545.353 49.000 43.000
+ -9702652.23743 -7520504.84142 23802365.497 23802371.043 23802364.942
+ 2972.952 2316.586 48.000 43.000
+ -9098589.12343 -7034776.41242 23112740.302 23112742.625 23112739.364
+ -2000.094 -1558.515 49.000 42.000
+ -2677172.36143 -2073806.18242 24786435.919 24786441.238 24786434.518
+ 1775.413 1383.439 45.000 38.000
+ -2385492.89643 -1823757.00142 24860502.427 24860509.927 24860501.575
+ 2904.384 2263.156 45.000 37.000
+ 04 2 1 11 19 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11266299.79443 -8774520.72242 23203728.372 23203735.730 23203727.891
+ 2321.627 1809.060 50.000 43.000
+ -19688183.33543 -15324911.36142 21129794.702 21129799.094 21129794.101
+ -1949.361 -1518.982 55.000 49.000
+ -24622949.31444 -19142200.50642 20362834.568 20362838.355 20362833.363
+ -1746.744 -1361.099 57.000 51.000
+ -24549233.99843 -19084392.53242 20745779.907 20745784.223 20745778.903
+ -232.992 -181.552 56.000 50.000
+ -11855656.34543 -9226978.50842 23073005.972 23073009.875 23073004.939
+ -1991.432 -1551.765 49.000 43.000
+ -9791880.40343 -7590033.21442 23785386.773 23785391.143 23785386.777
+ 2975.006 2318.186 49.000 42.000
+ -9038615.70243 -6988043.88642 23124153.657 23124156.370 23124153.236
+ -1998.136 -1556.989 49.000 43.000
+ -2730442.49343 -2115315.31842 24776298.208 24776304.597 24776296.417
+ 1775.225 1383.292 45.000 38.000
+ -2472745.92743 -1891746.24142 24843897.598 24843907.702 24843896.636
+ 2911.735 2268.884 44.000 37.000
+ 04 2 1 11 19 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11335876.94643 -8828736.60742 23190488.084 23190493.985 23190487.974
+ 2317.830 1806.101 50.000 43.000
+ -19629463.74543 -15279155.84642 21140968.829 21140973.373 21140967.932
+ -1964.464 -1530.751 55.000 49.000
+ -24570309.24344 -19101182.26142 20372852.042 20372855.477 20372850.086
+ -1761.814 -1372.842 57.000 50.000
+ -24541929.23743 -19078700.51942 20747169.482 20747173.965 20747168.885
+ -253.262 -197.347 56.000 50.000
+ -11795765.04043 -9180310.01942 23084402.505 23084407.951 23084400.537
+ -2000.705 -1558.991 48.000 42.000
+ -9881142.37343 -7659587.93842 23768400.141 23768404.189 23768399.017
+ 2976.456 2319.316 48.000 42.000
+ -8978672.19743 -6941334.66842 23135560.727 23135563.576 23135559.626
+ -1997.004 -1556.107 50.000 43.000
+ -2783669.37943 -2156790.70442 24766170.902 24766175.487 24766167.331
+ 1774.103 1382.418 44.000 38.000
+ -2560186.76043 -1959881.80042 24827258.834 24827267.342 24827257.425
+ 2918.428 2274.100 45.000 38.000
+ 04 2 1 11 20 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11405321.73843 -8882849.34142 23177273.013 23177279.943 23177272.671
+ 2312.255 1801.757 49.000 43.000
+ -19570277.15043 -15233036.43942 21152232.131 21152236.267 21152231.047
+ -1981.126 -1543.734 55.000 49.000
+ -24517207.73344 -19059804.45742 20382956.245 20382960.680 20382954.905
+ -1778.113 -1385.542 57.000 50.000
+ -24534005.86243 -19072526.46042 20748677.256 20748681.731 20748676.503
+ -274.870 -214.184 56.000 50.000
+ -11735597.11843 -9133425.94342 23095852.752 23095856.602 23095851.753
+ -2010.719 -1566.794 48.000 42.000
+ -9970438.23443 -7729169.07542 23751408.509 23751411.882 23751407.536
+ 2976.633 2319.454 48.000 42.000
+ -8918760.55743 -6894650.28342 23146961.842 23146963.782 23146960.454
+ -1997.036 -1556.132 50.000 43.000
+ -2836855.17443 -2198234.16642 24756048.965 24756056.179 24756048.668
+ 1771.636 1380.496 45.000 39.000
+ -2647814.81243 -2028163.29242 24810583.781 24810591.991 24810582.631
+ 2923.645 2278.165 45.000 38.000
+ 04 2 1 11 20 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11474634.99043 -8936859.57442 23164084.135 23164088.112 23164082.917
+ 2308.501 1798.832 50.000 43.000
+ -19510629.64943 -15186557.88942 21163582.541 21163586.808 21163581.804
+ -1995.474 -1554.915 55.000 49.000
+ -24463650.98443 -19018071.92142 20393147.963 20393151.725 20393146.343
+ -1792.436 -1396.703 56.000 50.000
+ -24525468.23443 -19065873.76642 20750301.777 20750306.564 20750301.308
+ -294.467 -229.455 56.000 50.000
+ -11675156.55943 -9086329.43942 23107353.615 23107359.744 23107351.881
+ -2018.742 -1573.046 48.000 43.000
+ -10059770.27543 -7798778.41142 23734408.546 23734412.256 23734408.163
+ 2978.480 2320.894 49.000 42.000
+ -8858884.65843 -6847993.75342 23158356.177 23158359.877 23158354.731
+ -1995.028 -1554.567 50.000 43.000
+ -2890004.83043 -2239649.41542 24745934.871 24745941.029 24745933.662
+ 1771.304 1380.237 44.000 39.000
+ -2735631.57143 -2096591.82942 24793871.343 24793881.185 24793871.954
+ 2930.725 2283.682 44.000 38.000
+ 04 2 1 11 21 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11543806.44343 -8990759.30942 23150921.010 23150925.565 23150920.170
+ 2303.509 1794.942 50.000 43.000
+ -19450516.74543 -15139716.68742 21175021.836 21175026.131 21175020.657
+ -2011.429 -1567.347 55.000 49.000
+ -24409633.72944 -18975980.54942 20403427.053 20403431.090 20403425.738
+ -1808.023 -1408.849 57.000 50.000
+ -24516309.60043 -19058737.17042 20752044.955 20752049.203 20752044.305
+ -315.432 -245.791 56.000 50.000
+ -11614436.07743 -9039014.82342 23118908.888 23118914.391 23118907.509
+ -2028.429 -1580.594 49.000 43.000
+ -10149129.17543 -7868408.65942 23717404.301 23717409.657 23717402.362
+ 2979.189 2321.446 49.000 43.000
+ -8799037.17843 -6801359.36942 23169743.233 23169746.114 23169742.487
+ -1994.319 -1554.015 49.000 42.000
+ -2943111.48243 -2281031.12842 24735829.408 24735833.634 24735826.875
+ 1769.483 1378.818 44.000 38.000
+ -2823627.54943 -2165160.00542 24777128.456 24777136.960 24777127.368
+ 2936.577 2288.242 46.000 39.000
+ 04 2 1 11 21 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11612837.96443 -9044549.99842 23137783.873 23137790.031 23137784.028
+ 2298.918 1791.365 50.000 43.000
+ -19389946.07043 -15092518.77642 21186547.915 21186552.330 21186547.279
+ -2026.338 -1578.965 56.000 49.000
+ -24355163.41444 -18933536.14242 20413792.625 20413796.641 20413791.146
+ -1822.834 -1420.390 57.000 50.000
+ -24506535.77843 -19051121.20642 20753905.146 20753909.119 20753904.543
+ -335.697 -261.582 56.000 50.000
+ -11553440.59443 -8991485.91942 23130516.928 23130521.027 23130515.353
+ -2037.657 -1587.785 50.000 43.000
+ -10238518.02343 -7938062.25642 23700392.944 23700398.200 23700391.907
+ 2980.608 2322.552 49.000 42.000
+ -8739223.19543 -6754751.05842 23181126.485 23181127.585 23181125.475
+ -1993.040 -1553.018 50.000 42.000
+ -2996180.31543 -2322383.44042 24725729.631 24725735.873 24725729.077
+ 1768.911 1378.372 43.000 38.000
+ -2911805.17943 -2233869.74742 24760346.450 24760357.052 24760346.949
+ 2942.483 2292.844 45.000 38.000
+ 04 2 1 11 22 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11681727.73043 -9098230.24742 23124675.384 23124680.636 23124674.179
+ 2294.226 1787.709 51.000 44.000
+ -19328921.18443 -15044966.93042 21198160.641 21198165.011 21198160.031
+ -2041.319 -1590.638 56.000 49.000
+ -24300243.60943 -18890741.48442 20424243.178 20424247.302 20424241.963
+ -1837.649 -1431.934 56.000 50.000
+ -24496148.67243 -19043027.36042 20755881.423 20755885.858 20755880.750
+ -355.995 -277.399 56.000 50.000
+ -11492171.50843 -8943743.80142 23142175.042 23142179.903 23142173.592
+ -2046.244 -1594.476 49.000 42.000
+ -10327936.27243 -8007738.75842 23683377.012 23683381.816 23683377.041
+ 2981.666 2323.376 48.000 42.000
+ -8679443.92443 -6708169.82242 23192500.616 23192504.277 23192499.544
+ -1991.661 -1551.944 49.000 41.000
+ -3049213.44443 -2363707.85942 24715637.348 24715644.545 24715637.295
+ 1767.440 1377.226 44.000 38.000
+ -3000163.43343 -2302720.21942 24743534.286 24743542.663 24743532.225
+ 2948.911 2297.853 46.000 39.000
+ 04 2 1 11 22 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11750468.78043 -9151794.60142 23111593.534 23111599.459 23111593.102
+ 2289.636 1784.132 51.000 44.000
+ -19267440.90643 -14997060.23942 21209860.088 21209864.104 21209859.165
+ -2056.188 -1602.224 56.000 49.000
+ -24244872.54644 -18847595.19242 20434780.416 20434784.143 20434778.952
+ -1852.402 -1443.430 57.000 50.000
+ -24485144.99843 -19034453.07242 20757975.557 20757979.479 20757974.735
+ -376.257 -293.187 56.000 50.000
+ -11430624.69143 -8895785.26342 23153887.684 23153892.601 23153886.877
+ -2055.413 -1601.620 49.000 43.000
+ -10417378.03443 -8077433.56642 23666357.679 23666362.293 23666357.128
+ 2982.476 2324.007 49.000 43.000
+ -8619695.47843 -6661612.58342 23203871.400 23203874.492 23203869.398
+ -1990.394 -1550.956 49.000 42.000
+ -3102207.28543 -2405001.67742 24705552.017 24705560.323 24705552.086
+ 1766.404 1376.419 43.000 38.000
+ -3088695.50243 -2371706.12742 24726687.332 24726695.827 24726685.637
+ 2954.537 2302.237 48.000 40.000
+ 04 2 1 11 23 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11819061.02143 -9205243.01942 23098541.415 23098546.513 23098539.853
+ 2283.442 1779.305 51.000 44.000
+ -19205510.82443 -14948803.04442 21221644.693 21221649.028 21221644.161
+ -2072.267 -1614.753 55.000 49.000
+ -24189055.50044 -18804101.38242 20445402.127 20445405.604 20445400.488
+ -1868.459 -1455.942 57.000 50.000
+ -24473528.66943 -19025401.39142 20760185.910 20760190.403 20760185.251
+ -397.875 -310.032 56.000 50.000
+ -11368803.33343 -8847612.84942 23165651.393 23165655.409 23165650.702
+ -2065.738 -1609.666 49.000 43.000
+ -10506844.39443 -8147147.57542 23649333.428 23649338.314 23649332.605
+ 2982.261 2323.840 49.000 43.000
+ -8559980.85643 -6615081.72942 23215234.431 23215237.388 23215233.340
+ -1990.312 -1550.892 49.000 41.000
+ -3155165.28843 -2446267.55042 24695475.703 24695482.782 24695474.154
+ 1764.442 1374.890 45.000 39.000
+ -3177402.19543 -2440828.06942 24709805.472 24709815.378 24709805.024
+ 2959.370 2306.003 46.000 39.000
+ 04 2 1 11 23 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11887500.42243 -9258572.32442 23085517.637 23085522.400 23085517.543
+ 2278.825 1775.708 51.000 44.000
+ -19143132.48743 -14900196.56842 21233514.924 21233519.343 21233514.143
+ -2086.677 -1625.982 55.000 49.000
+ -24132793.69643 -18760261.01142 20456108.201 20456111.971 20456106.687
+ -1882.779 -1467.100 56.000 50.000
+ -24461299.19043 -19015871.93042 20762513.175 20762517.735 20762512.739
+ -417.815 -325.570 56.000 50.000
+ -11306706.28543 -8799225.58842 23177467.708 23177472.218 23177465.956
+ -2074.464 -1616.465 49.000 43.000
+ -10596332.42843 -8216878.46742 23632304.170 23632309.126 23632303.472
+ 2983.190 2324.564 50.000 43.000
+ -8500298.85543 -6568576.28142 23226592.547 23226593.779 23226592.570
+ -1988.735 -1549.664 49.000 42.000
+ -3208087.24343 -2487505.35542 24685405.118 24685411.269 24685404.050
+ 1763.400 1374.078 46.000 39.000
+ -3266279.86643 -2510083.24742 24692891.362 24692901.570 24692890.497
+ 2965.473 2310.758 45.000 39.000
+ 04 2 1 11 24 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -11955785.57743 -9311781.44642 23072522.842 23072528.582 23072522.586
+ 2273.704 1771.717 50.000 43.000
+ -19080310.47143 -14851244.36242 21245470.136 21245474.072 21245469.110
+ -2101.356 -1637.420 55.000 49.000
+ -24076091.38644 -18716077.38442 20466898.430 20466902.386 20466896.724
+ -1897.146 -1478.295 57.000 50.000
+ -24448459.33443 -19005866.85142 20764956.382 20764960.615 20764955.810
+ -437.879 -341.204 56.000 50.000
+ -11244335.58943 -8750625.07942 23189337.036 23189340.596 23189335.208
+ -2083.375 -1623.409 48.000 42.000
+ -10685842.18443 -8286626.27242 23615271.193 23615275.304 23615270.155
+ 2984.423 2325.524 50.000 43.000
+ -8440651.39343 -6522097.75442 23237942.901 23237946.453 23237942.860
+ -1987.572 -1548.757 50.000 42.000
+ -3260975.47943 -2528716.88242 24675340.376 24675348.080 24675339.437
+ 1762.786 1373.599 44.000 39.000
+ -3355328.28543 -2579471.46942 24675947.091 24675957.011 24675945.649
+ 2971.241 2315.253 46.000 40.000
+ 04 2 1 11 24 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12023912.58743 -9364867.33642 23059558.721 23059564.139 23059558.638
+ 2268.066 1767.324 50.000 43.000
+ -19017046.32143 -14801947.64242 21257508.811 21257513.005 21257507.872
+ -2116.034 -1648.858 55.000 49.000
+ -24018949.77643 -18671551.44842 20477771.619 20477775.519 20477770.243
+ -1911.986 -1489.859 56.000 50.000
+ -24435008.77843 -18995385.90242 20767515.740 20767520.488 20767515.500
+ -458.505 -357.277 56.000 50.000
+ -11181690.26343 -8701810.58842 23201258.414 23201264.391 23201257.436
+ -2092.654 -1630.639 47.000 42.000
+ -10775370.66043 -8356388.68042 23598234.636 23598238.156 23598233.421
+ 2984.607 2325.668 50.000 43.000
+ -8381037.49243 -6475645.35342 23249287.422 23249288.694 23249285.795
+ -1986.637 -1548.029 49.000 42.000
+ -3313829.58043 -2569901.80742 24665282.352 24665288.012 24665280.822
+ 1761.278 1372.424 44.000 39.000
+ -3444543.58043 -2648989.69442 24658969.049 24658979.783 24658970.169
+ 2976.358 2319.240 47.000 40.000
+ 04 2 1 11 25 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12091877.93143 -9417827.26042 23046624.623 23046630.614 23046624.580
+ 2261.653 1762.327 50.000 43.000
+ -18953342.38943 -14752308.22942 21269631.048 21269635.507 21269629.904
+ -2131.859 -1661.189 55.000 49.000
+ -23961371.04043 -18626684.88942 20488728.826 20488732.745 20488727.176
+ -1927.543 -1501.981 56.000 50.000
+ -24420948.11043 -18984429.54042 20770191.962 20770195.729 20770191.110
+ -479.854 -373.912 56.000 50.000
+ -11118769.89743 -8652781.79042 23213230.827 23213236.137 23213228.725
+ -2102.895 -1638.619 47.000 41.000
+ -10864915.72243 -8426163.98342 23581194.464 23581198.435 23581194.106
+ 2984.138 2325.302 50.000 43.000
+ -8321456.55643 -6429218.65442 23260624.434 23260625.550 23260622.363
+ -1986.593 -1547.994 49.000 42.000
+ -3366649.56543 -2611060.11142 24655232.466 24655237.425 24655231.024
+ 1759.132 1370.752 45.000 39.000
+ -3533923.26143 -2718636.02842 24641960.879 24641972.425 24641960.593
+ 2980.649 2322.584 45.000 39.000
+ 04 2 1 11 25 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12159681.04243 -9470660.78242 23033723.256 23033729.038 23033721.705
+ 2257.271 1758.912 51.000 44.000
+ -18889203.92143 -14702330.22142 21281836.064 21281840.355 21281834.940
+ -2145.384 -1671.728 55.000 49.000
+ -23903359.91143 -18581481.40542 20499767.766 20499771.889 20499766.335
+ -1940.980 -1512.452 56.000 50.000
+ -24406280.91943 -18973000.56742 20772982.645 20772986.784 20772982.176
+ -499.248 -389.024 56.000 50.000
+ -11055577.41143 -8603540.91142 23225257.020 23225260.915 23225255.733
+ -2111.288 -1645.159 49.000 42.000
+ -10954478.01943 -8495952.73042 23564151.673 23564155.109 23564150.627
+ 2985.382 2326.272 50.000 43.000
+ -8261911.12443 -6382819.62042 23271956.041 23271959.727 23271955.927
+ -1984.673 -1546.498 49.000 42.000
+ -3419438.80743 -2652194.44742 24645185.536 24645191.535 24645184.037
+ 1758.887 1370.561 44.000 39.000
+ -3623467.23743 -2788410.40842 24624922.407 24624932.111 24624920.825
+ 2987.370 2327.821 46.000 39.000
+ 04 2 1 11 26 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12227312.36243 -9523360.45242 23020852.716 23020858.074 23020852.895
+ 2251.257 1754.226 51.000 44.000
+ -18824626.99843 -14652010.56242 21294124.529 21294128.873 21294124.101
+ -2159.910 -1683.047 55.000 49.000
+ -23844912.20443 -18535937.73342 20510890.133 20510893.985 20510888.627
+ -1955.613 -1523.854 56.000 50.000
+ -24391001.37543 -18961094.43142 20775890.337 20775894.716 20775889.545
+ -519.735 -404.988 56.000 49.000
+ -10992106.05843 -8554082.74742 23237334.624 23237340.587 23237333.995
+ -2120.539 -1652.368 50.000 43.000
+ -11044048.99143 -8565748.22742 23547107.565 23547110.117 23547105.441
+ 2985.563 2326.413 51.000 44.000
+ -8202394.47143 -6336443.00142 23283279.995 23283284.292 23283279.711
+ -1983.389 -1545.498 48.000 42.000
+ -3472191.09943 -2693300.08142 24635146.980 24635153.268 24635145.156
+ 1757.698 1369.635 44.000 38.000
+ -3713166.19443 -2858305.50142 24607853.491 24607860.989 24607851.973
+ 2992.443 2331.774 46.000 39.000
+ 04 2 1 11 26 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12294775.99943 -9575929.45242 23008014.247 23008020.653 23008013.113
+ 2246.447 1750.478 50.000 44.000
+ -18759621.28343 -14601356.78042 21306495.341 21306499.136 21306494.058
+ -2173.384 -1693.546 55.000 49.000
+ -23786037.30143 -18490061.18242 20522093.459 20522097.383 20522092.288
+ -1968.959 -1534.254 56.000 50.000
+ -24375117.62843 -18948717.49142 20778912.465 20778917.500 20778912.258
+ -538.941 -419.954 56.000 49.000
+ -10928363.23743 -8504413.05342 23249464.976 23249470.262 23249462.987
+ -2128.664 -1658.699 49.000 43.000
+ -11133633.91243 -8635554.58942 23530058.188 23530062.068 23530057.438
+ 2986.868 2327.430 50.000 43.000
+ -8142913.60943 -6290094.30142 23294599.821 23294603.904 23294597.867
+ -1981.555 -1544.069 49.000 42.000
+ -3524914.55243 -2734383.14342 24625116.205 24625119.619 24625113.936
+ 1757.690 1369.629 44.000 38.000
+ -3803024.82343 -2928325.04942 24590752.503 24590761.086 24590752.796
+ 2998.600 2336.571 45.000 39.000
+ 04 2 1 11 27 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12362068.40743 -9628365.00342 22995210.426 22995215.036 22995209.013
+ 2240.491 1745.837 51.000 44.000
+ -18694189.36243 -14550370.88342 21318946.578 21318950.700 21318945.355
+ -2187.834 -1704.806 55.000 49.000
+ -23726737.18443 -18443853.28742 20533377.809 20533381.830 20533376.579
+ -1983.358 -1545.474 56.000 50.000
+ -24358630.12443 -18935870.09542 20782050.994 20782054.810 20782049.972
+ -559.260 -435.787 56.000 49.000
+ -10864348.38143 -8454531.41042 23261645.390 23261652.060 23261645.112
+ -2137.894 -1665.891 48.000 42.000
+ -11223230.31843 -8705369.92142 23513009.063 23513013.789 23513007.642
+ 2987.059 2327.578 50.000 43.000
+ -8083468.28043 -6243773.27042 23305911.080 23305914.264 23305911.118
+ -1980.437 -1543.198 49.000 42.000
+ -3577608.68543 -2775443.35642 24615088.158 24615093.199 24615085.578
+ 1756.187 1368.457 43.000 37.000
+ -3893039.88043 -2998466.50342 24573623.891 24573633.704 24573622.989
+ 3003.175 2340.136 45.000 39.000
+ 04 2 1 11 27 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12429184.04343 -9680662.82442 22982436.362 22982443.716 22982436.640
+ 2233.785 1740.612 50.000 44.000
+ -18628331.14543 -14499052.80742 21331478.947 21331483.014 21331477.918
+ -2202.806 -1716.472 56.000 49.000
+ -23667011.64844 -18397313.89842 20544743.816 20544747.267 20544742.006
+ -1998.358 -1557.162 57.000 50.000
+ -24341537.40743 -18922551.09842 20785303.164 20785307.164 20785302.322
+ -580.198 -452.102 56.000 49.000
+ -10800059.14543 -8404435.98142 23273880.527 23273885.007 23273878.930
+ -2147.909 -1673.695 48.000 42.000
+ -11312833.50043 -8775190.50342 23495958.252 23495962.875 23495956.617
+ 2986.432 2327.090 50.000 43.000
+ -8024055.60843 -6197477.68442 23317217.884 23317221.811 23317215.910
+ -1980.531 -1543.271 50.000 42.000
+ -3630271.53943 -2816479.23042 24605065.981 24605071.506 24605062.820
+ 1755.270 1367.743 43.000 37.000
+ -3983206.63043 -3068726.14042 24556465.391 24556473.194 24556464.092
+ 3007.382 2343.415 45.000 39.000
+ 04 2 1 11 28 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12496119.57043 -9732820.29942 22969700.625 22969706.319 22969699.608
+ 2227.968 1736.079 51.000 45.000
+ -18562049.63143 -14447404.88442 21344092.072 21344096.091 21344090.645
+ -2216.530 -1727.166 55.000 49.000
+ -23606863.13044 -18350444.91642 20556189.995 20556193.195 20556188.170
+ -2011.996 -1567.789 57.000 50.000
+ -24323840.55543 -18908761.34442 20788670.663 20788675.170 20788669.936
+ -600.048 -467.570 56.000 49.000
+ -10735495.96943 -8354127.05142 23286166.604 23286170.229 23286165.294
+ -2156.770 -1680.600 50.000 42.000
+ -11402441.51643 -8845014.85842 23478905.656 23478910.473 23478904.897
+ 2987.070 2327.587 49.000 43.000
+ -7964675.50343 -6151207.45442 23328517.168 23328520.599 23328516.053
+ -1978.718 -1541.858 50.000 42.000
+ -3682903.98543 -2857491.42042 24595051.032 24595054.993 24595048.819
+ 1753.964 1366.725 44.000 37.000
+ -4073522.46643 -3139101.92742 24539277.974 24539286.990 24539277.818
+ 3013.032 2347.817 45.000 40.000
+ 04 2 1 11 28 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12562874.51743 -9784837.05842 22956997.435 22957002.469 22956996.504
+ 2222.355 1731.705 51.000 44.000
+ -18495349.73943 -14395430.95842 21356783.956 21356788.826 21356783.226
+ -2229.872 -1737.562 55.000 49.000
+ -23546296.36543 -18303250.02642 20567714.747 20567718.420 20567713.285
+ -2025.444 -1578.268 56.000 50.000
+ -24305542.84743 -18894503.40242 20792152.217 20792156.751 20792151.494
+ -619.602 -482.807 56.000 49.000
+ -10670661.07143 -8303606.37842 23298503.326 23298509.926 23298503.064
+ -2165.339 -1687.277 49.000 42.000
+ -11492054.79143 -8914843.31442 23461853.011 23461857.576 23461850.651
+ 2987.432 2327.869 49.000 44.000
+ -7905330.40043 -6104964.51642 23339810.813 23339814.231 23339809.974
+ -1977.359 -1540.799 50.000 42.000
+ -3735508.68443 -2898481.98942 24585041.360 24585043.716 24585038.791
+ 1753.235 1366.157 45.000 37.000
+ -4163987.28643 -3209593.83142 24522064.273 24522072.840 24522061.814
+ 3018.304 2351.925 47.000 40.000
+ 04 2 1 11 29 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12629444.23243 -9836709.48742 22944329.419 22944335.360 22944328.657
+ 2216.048 1726.791 51.000 44.000
+ -18428232.75243 -14343132.02742 21369555.824 21369560.778 21369555.262
+ -2243.994 -1748.567 55.000 49.000
+ -23485312.18644 -18255729.87642 20579319.965 20579323.386 20579318.509
+ -2039.604 -1589.302 57.000 50.000
+ -24286643.87743 -18879776.94142 20795749.239 20795753.301 20795748.605
+ -639.842 -498.578 56.000 49.000
+ -10605553.16343 -8252872.98742 23310893.562 23310900.203 23310892.273
+ -2174.717 -1694.585 49.000 42.000
+ -11581669.68243 -8984673.03242 23444798.817 23444804.176 23444798.961
+ 2987.476 2327.903 49.000 44.000
+ -7846018.35543 -6058747.35542 23351097.084 23351101.753 23351095.626
+ -1976.424 -1540.071 49.000 42.000
+ -3788084.66543 -2939450.19942 24575035.947 24575040.119 24575033.927
+ 1751.403 1364.730 45.000 38.000
+ -4254596.88143 -3280198.57342 24504821.763 24504829.353 24504820.335
+ 3022.688 2355.341 47.000 40.000
+ 04 2 1 11 29 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12695830.72043 -9888439.13942 22931696.569 22931700.827 22931695.929
+ 2210.175 1722.214 51.000 44.000
+ -18360706.65843 -14290514.31242 21382406.485 21382410.557 21382405.235
+ -2257.352 -1758.975 55.000 49.000
+ -23423918.09243 -18207890.31442 20591002.858 20591006.276 20591001.133
+ -2052.818 -1599.598 56.000 50.000
+ -24267150.02943 -18864586.93542 20799458.644 20799462.776 20799457.943
+ -659.257 -513.707 56.000 49.000
+ -10540177.41543 -8201930.90742 23323333.313 23323339.531 23323332.071
+ -2183.140 -1701.148 48.000 42.000
+ -11671289.42443 -9054506.53042 23427745.463 23427750.155 23427744.229
+ 2987.708 2328.084 50.000 43.000
+ -7786744.56743 -6012559.97542 23362376.886 23362380.194 23362376.097
+ -1974.894 -1538.878 49.000 41.000
+ -3840637.82643 -2980400.60742 24565035.146 24565039.267 24565033.034
+ 1751.518 1364.819 45.000 38.000
+ -4345353.66143 -3350917.98842 24487550.465 24487558.019 24487550.406
+ 3028.036 2359.509 47.000 40.000
+ 04 2 1 11 30 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12762023.11243 -9940017.54042 22919099.247 22919105.882 22919099.072
+ 2203.634 1717.117 50.000 44.000
+ -18292766.13043 -14237573.64742 21395335.049 21395338.683 21395334.097
+ -2271.071 -1769.666 55.000 49.000
+ -23362108.76643 -18159727.19542 20602764.519 20602768.212 20602762.914
+ -2066.847 -1610.530 56.000 50.000
+ -24247054.39443 -18848928.01142 20803282.535 20803286.833 20803281.770
+ -679.375 -529.383 56.000 49.000
+ -10474526.45043 -8150774.38142 23335826.992 23335832.266 23335825.376
+ -2192.545 -1708.477 49.000 43.000
+ -11760904.23143 -9124336.19542 23410693.100 23410697.048 23410691.941
+ 2987.519 2327.937 50.000 44.000
+ -7727500.85543 -5966396.06742 23373649.634 23373654.286 23373648.151
+ -1974.011 -1538.190 49.000 42.000
+ -3893160.47243 -3021327.24442 24555038.138 24555043.697 24555036.638
+ 1750.533 1364.052 46.000 38.000
+ -4436247.40943 -3421744.12542 24470253.765 24470261.468 24470253.511
+ 3032.478 2362.970 47.000 40.000
+ 04 2 1 11 30 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12828022.21943 -9991445.32742 22906540.029 22906546.084 22906540.310
+ 2197.343 1712.215 50.000 44.000
+ -18224418.13443 -14184315.48342 21408340.812 21408345.079 21408339.835
+ -2284.274 -1779.954 55.000 48.000
+ -23299890.33543 -18111245.28942 20614604.261 20614608.021 20614602.746
+ -2079.974 -1620.759 56.000 50.000
+ -24226362.12343 -18832804.17042 20807220.437 20807224.748 20807219.828
+ -698.896 -544.594 56.000 50.000
+ -10408604.16743 -8099406.42142 23348371.634 23348376.764 23348370.183
+ -2201.201 -1715.221 49.000 43.000
+ -11850515.75043 -9194163.28942 23393640.008 23393644.351 23393638.640
+ 2987.735 2328.105 50.000 44.000
+ -7668290.94243 -5920258.47142 23384917.511 23384920.509 23384915.920
+ -1972.473 -1536.992 49.000 42.000
+ -3945657.49143 -3062233.88442 24545047.115 24545054.380 24545047.312
+ 1750.050 1363.675 42.000 39.000
+ -4527279.54543 -3492678.08942 24452931.180 24452939.191 24452930.345
+ 3037.550 2366.922 47.000 39.000
+ 04 2 1 11 31 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12893826.10543 -10042721.01942 22894017.984 22894023.768 22894018.378
+ 2191.221 1707.445 50.000 44.000
+ -18155666.63643 -14130742.90242 21421423.877 21421428.087 21421422.581
+ -2297.256 -1790.070 55.000 48.000
+ -23237266.55743 -18062447.53642 20626520.632 20626525.056 20626519.608
+ -2093.050 -1630.948 56.000 50.000
+ -24205075.77743 -18816217.41742 20811271.087 20811275.347 20811270.217
+ -718.218 -559.650 56.000 49.000
+ -10342412.13643 -8047828.28542 23360967.658 23360972.757 23360967.310
+ -2209.929 -1722.022 49.000 43.000
+ -11940123.47743 -9263987.40942 23376588.897 23376592.085 23376587.074
+ 2987.939 2328.264 50.000 44.000
+ -7609116.23743 -5874148.35442 23396177.424 23396181.792 23396176.047
+ -1970.704 -1535.613 47.000 41.000
+ -3998130.58843 -3103121.89042 24535062.884 24535068.410 24535060.544
+ 1749.975 1363.617 43.000 39.000
+ -4618448.55643 -3563718.73542 24435582.875 24435590.511 24435581.070
+ 3042.491 2370.772 47.000 39.000
+ 04 2 1 11 31 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -12959427.97843 -10093839.28442 22881534.682 22881541.640 22881535.599
+ 2183.423 1701.369 51.000 44.000
+ -18086510.64243 -14076855.13242 21434583.462 21434587.863 21434582.760
+ -2311.744 -1801.359 55.000 48.000
+ -23174236.07343 -18013332.86042 20638515.388 20638519.537 20638514.133
+ -2107.644 -1642.320 56.000 50.000
+ -24183192.57743 -18799165.58042 20815434.879 20815439.160 20815434.161
+ -739.249 -576.038 56.000 49.000
+ -10275946.56343 -7996037.00342 23373616.144 23373621.791 23373615.368
+ -2220.038 -1729.900 48.000 42.000
+ -12029721.20343 -9333803.76742 23359537.865 23359541.232 23359537.164
+ 2986.580 2327.205 50.000 44.000
+ -7549972.35243 -5828062.22342 23407431.851 23407433.894 23407431.806
+ -1970.625 -1535.552 48.000 41.000
+ -4050576.06143 -3143988.38942 24525080.803 24525088.673 24525079.101
+ 1747.535 1361.716 41.000 39.000
+ -4709747.72943 -3634860.79242 24418207.762 24418215.717 24418205.211
+ 3045.276 2372.942 45.000 39.000
+ 04 2 1 11 32 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13024826.93643 -10144799.44042 22869090.135 22869095.053 22869090.051
+ 2176.183 1695.727 51.000 45.000
+ -18016955.12743 -14022656.04642 21447820.036 21447823.640 21447818.743
+ -2325.448 -1812.037 55.000 48.000
+ -23110803.48343 -17963904.85642 20650586.219 20650590.333 20650584.963
+ -2121.296 -1652.958 56.000 50.000
+ -24160716.13443 -18781651.47942 20819712.669 20819716.705 20819711.736
+ -759.270 -591.639 56.000 49.000
+ -10209210.15743 -7944034.66142 23386315.422 23386320.750 23386315.338
+ -2229.061 -1736.931 48.000 42.000
+ -12119309.13943 -9403612.47542 23342489.732 23342493.464 23342488.924
+ 2985.697 2326.517 50.000 44.000
+ -7490861.63843 -5782001.91742 23418680.834 23418682.980 23418678.356
+ -1970.017 -1535.078 48.000 41.000
+ -4102997.12143 -3184835.87442 24515106.096 24515112.810 24515106.157
+ 1746.528 1360.931 44.000 39.000
+ -4801176.82843 -3706104.09042 24400808.821 24400819.275 24400806.940
+ 3049.490 2376.226 46.000 39.000
+ 04 2 1 11 32 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13090025.52743 -10195603.46542 22856683.580 22856689.355 22856683.563
+ 2169.864 1690.803 51.000 45.000
+ -17947008.28643 -13968152.02042 21461130.075 21461134.405 21461129.187
+ -2338.268 -1822.027 55.000 48.000
+ -23046976.54143 -17914169.56342 20662731.855 20662736.006 20662730.627
+ -2134.263 -1663.062 56.000 50.000
+ -24137653.02743 -18763680.23042 20824101.510 20824105.427 20824100.441
+ -778.686 -606.768 56.000 49.000
+ -10142208.15243 -7891825.38242 23399065.109 23399070.855 23399063.855
+ -2238.006 -1743.901 48.000 42.000
+ -12208890.44043 -9473416.03442 23325443.483 23325446.789 23325443.540
+ 2985.707 2326.525 50.000 44.000
+ -7431788.83743 -5735971.17542 23429921.927 23429924.028 23429920.872
+ -1968.555 -1533.939 48.000 41.000
+ -4155399.47643 -3225668.78242 24505135.455 24505142.844 24505133.881
+ 1746.155 1360.640 44.000 40.000
+ -4892738.50243 -3777450.65742 24383387.414 24383393.669 24383385.798
+ 3054.179 2379.880 46.000 40.000
+ 04 2 1 11 33 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13155013.42643 -10246243.32142 22844316.600 22844322.084 22844316.065
+ 2163.581 1685.907 52.000 45.000
+ -17876666.14543 -13913339.99442 21474515.968 21474520.438 21474515.202
+ -2350.522 -1831.575 55.000 48.000
+ -22982750.83143 -17864123.54642 20674953.866 20674958.017 20674952.163
+ -2146.555 -1672.640 56.000 50.000
+ -24113997.61643 -18745247.45242 20828602.794 20828606.862 20828601.994
+ -797.473 -621.407 56.000 49.000
+ -10074934.09243 -7839404.10842 23411867.351 23411873.856 23411866.416
+ -2246.034 -1750.156 48.000 43.000
+ -12298456.20343 -9543207.49042 23308400.010 23308403.932 23308397.666
+ 2986.186 2326.898 50.000 44.000
+ -7372747.04343 -5689964.59742 23441157.272 23441160.812 23441155.692
+ -1966.441 -1532.292 48.000 41.000
+ -4207776.67843 -3266482.06742 24495169.492 24495173.983 24495167.269
+ 1746.082 1360.583 44.000 40.000
+ -4984423.10843 -3848893.01742 24365939.717 24365948.054 24365938.588
+ 3059.236 2383.820 47.000 40.000
+ 04 2 1 11 33 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13219792.07943 -10296720.12842 22831989.592 22831994.806 22831988.277
+ 2155.748 1679.804 51.000 45.000
+ -17805935.91043 -13858225.54142 21487975.633 21487979.794 21487974.375
+ -2364.199 -1842.233 54.000 48.000
+ -22918133.27743 -17813772.19542 20687249.983 20687254.179 20687248.730
+ -2160.433 -1683.454 56.000 50.000
+ -24089755.72643 -18726357.67342 20833215.462 20833219.920 20833215.023
+ -817.847 -637.283 56.000 49.000
+ -10007392.57043 -7786774.44442 23424720.920 23424725.674 23424718.177
+ -2255.908 -1757.850 49.000 43.000
+ -12388008.74943 -9612988.63042 23291357.426 23291362.629 23291356.753
+ 2984.834 2325.845 50.000 44.000
+ -7313740.61543 -5643985.57242 23452387.127 23452389.580 23452386.263
+ -1966.314 -1532.193 48.000 41.000
+ -4260133.80743 -3307279.73142 24485204.720 24485211.156 24485202.887
+ 1744.857 1359.629 43.000 40.000
+ -5076232.51043 -3920432.65742 24348468.167 24348476.496 24348467.492
+ 3062.508 2386.370 47.000 40.000
+ 04 2 1 11 34 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13284355.39243 -10347029.13442 22819703.829 22819708.457 22819702.959
+ 2148.267 1673.974 52.000 45.000
+ -17734817.01743 -13802808.24642 21501508.816 21501513.269 21501508.080
+ -2377.363 -1852.491 54.000 48.000
+ -22853122.95443 -17763114.79042 20699621.034 20699625.428 20699619.554
+ -2173.921 -1693.964 56.000 50.000
+ -24064925.45143 -18707009.41542 20837940.399 20837945.046 20837939.945
+ -837.856 -652.875 56.000 49.000
+ -9939580.60743 -7733934.00442 23437624.085 23437631.144 23437622.055
+ -2265.273 -1765.148 49.000 42.000
+ -12477542.72443 -9682755.31242 23274320.232 23274323.818 23274319.480
+ 2983.744 2324.995 50.000 44.000
+ -7254766.05043 -5598031.39042 23463608.340 23463612.936 23463608.148
+ -1965.568 -1531.611 48.000 42.000
+ -4312468.27543 -3348059.76142 24475246.395 24475252.453 24475245.089
+ 1743.898 1358.882 43.000 39.000
+ -5168160.58243 -3992064.78142 24330974.635 24330982.837 24330973.248
+ 3066.111 2389.177 46.000 41.000
+ 04 2 1 11 34 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13348703.25043 -10397170.25242 22807457.250 22807463.770 22807458.015
+ 2141.435 1668.651 51.000 45.000
+ -17663315.82643 -13747093.04842 21515115.193 21515119.569 21515114.368
+ -2389.700 -1862.104 54.000 48.000
+ -22787725.51543 -17712155.74242 20712066.055 20712070.140 20712064.531
+ -2186.103 -1703.457 56.000 50.000
+ -24039511.27743 -18687206.17242 20842776.207 20842780.971 20842775.908
+ -856.604 -667.484 55.000 49.000
+ -9871501.80843 -7680885.63742 23450579.616 23450585.910 23450579.579
+ -2273.589 -1771.628 49.000 41.000
+ -12567058.97343 -9752508.17242 23257285.893 23257289.322 23257284.950
+ 2983.755 2325.004 50.000 44.000
+ -7195826.18643 -5552104.24842 23474825.019 23474827.736 23474822.989
+ -1964.013 -1530.400 48.000 42.000
+ -4364783.42743 -3388824.69342 24465291.204 24465297.048 24465289.741
+ 1743.496 1358.568 44.000 39.000
+ -5260207.63643 -4063789.58742 24313459.306 24313466.036 24313457.475
+ 3070.653 2392.717 47.000 41.000
+ 04 2 1 11 35 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13412833.40843 -10447141.72942 22795255.055 22795259.371 22795254.311
+ 2133.994 1662.852 51.000 45.000
+ -17591435.99043 -13691082.80442 21528793.214 21528797.773 21528792.541
+ -2402.113 -1871.776 54.000 48.000
+ -22721944.28543 -17660897.63542 20724583.855 20724587.321 20724582.269
+ -2198.871 -1713.406 56.000 50.000
+ -24013515.55343 -18666949.77242 20847723.664 20847727.801 20847722.782
+ -876.040 -682.628 56.000 49.000
+ -9803157.28043 -7627630.20942 23463584.310 23463589.077 23463582.988
+ -2282.499 -1778.571 48.000 41.000
+ -12656556.31043 -9822246.31842 23240255.659 23240258.122 23240253.941
+ 2982.951 2324.377 51.000 44.000
+ -7136921.60143 -5506204.56142 23486033.177 23486037.505 23486032.420
+ -1962.944 -1529.567 47.000 41.000
+ -4417080.88343 -3429575.84442 24455339.734 24455345.654 24455337.705
+ 1743.191 1358.331 45.000 40.000
+ -5352372.18643 -4135605.94342 24295919.506 24295928.819 24295918.996
+ 3074.288 2395.549 46.000 40.000
+ 04 2 1 11 35 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13476738.49343 -10496937.84442 22783094.466 22783098.530 22783093.204
+ 2126.482 1656.999 52.000 45.000
+ -17519175.87243 -13634776.24242 21542544.177 21542548.507 21542543.127
+ -2414.749 -1881.622 54.000 48.000
+ -22655777.23843 -17609338.87742 20737174.969 20737178.926 20737173.253
+ -2211.783 -1723.467 56.000 50.000
+ -23986935.05743 -18646237.70842 20852782.102 20852786.013 20852781.260
+ -895.613 -697.880 56.000 49.000
+ -9734542.75543 -7574164.41742 23476642.284 23476646.852 23476641.380
+ -2291.469 -1785.560 48.000 41.000
+ -12746028.22643 -9891964.64142 23223229.514 23223233.520 23223229.421
+ 2982.144 2323.749 51.000 44.000
+ -7078047.25743 -5460328.47742 23497238.210 23497239.059 23497237.062
+ -1961.938 -1528.783 49.000 42.000
+ -4469356.52043 -3470310.01742 24445391.273 24445397.634 24445389.837
+ 1742.551 1357.832 45.000 40.000
+ -5444647.00043 -4207508.23942 24278361.248 24278368.313 24278359.009
+ 3077.588 2398.121 46.000 40.000
+ 04 2 1 11 36 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13540420.73043 -10546560.30442 22770975.544 22770981.241 22770974.556
+ 2118.936 1651.119 51.000 45.000
+ -17446543.62643 -13578179.71642 21556365.528 21556369.697 21556364.260
+ -2427.424 -1891.499 54.000 48.000
+ -22589232.13043 -17557485.54542 20749837.943 20749841.825 20749836.540
+ -2224.554 -1733.419 56.000 50.000
+ -23959776.86043 -18625075.48142 20857950.132 20857954.000 20857949.320
+ -914.996 -712.984 56.000 49.000
+ -9665663.98243 -7520492.71342 23489748.787 23489753.678 23489747.122
+ -2300.401 -1792.520 48.000 42.000
+ -12835477.90143 -9961665.65342 23206208.593 23206211.619 23206206.446
+ 2981.328 2323.113 51.000 44.000
+ -7019208.45143 -5414480.08042 23508434.314 23508435.450 23508434.050
+ -1960.747 -1527.855 49.000 42.000
+ -4521616.25843 -3511031.82242 24435447.909 24435454.027 24435446.151
+ 1741.615 1357.103 46.000 40.000
+ -5537034.62543 -4279498.44042 24260779.824 24260787.136 24260778.215
+ 3081.400 2401.091 46.000 40.000
+ 04 2 1 11 36 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13603872.91743 -10596003.49842 22758901.108 22758906.486 22758900.518
+ 2111.373 1645.226 51.000 45.000
+ -17373538.08543 -13521292.30442 21570258.002 21570262.149 21570257.092
+ -2439.478 -1900.892 54.000 48.000
+ -22522307.47843 -17505336.46142 20762573.234 20762576.932 20762571.937
+ -2236.967 -1743.091 56.000 49.000
+ -23932038.25443 -18603460.99442 20863228.723 20863233.291 20863227.844
+ -933.934 -727.741 56.000 49.000
+ -9596517.12543 -7466612.11042 23502907.165 23502912.514 23502906.127
+ -2309.148 -1799.336 48.000 42.000
+ -12924898.86843 -10031344.30742 23189190.633 23189195.085 23189189.898
+ 2980.339 2322.342 50.000 44.000
+ -6960401.23043 -5368656.29142 23519625.639 23519627.559 23519623.614
+ -1959.312 -1526.737 49.000 42.000
+ -4573856.12243 -3551738.15342 24425505.986 24425512.307 24425504.738
+ 1741.179 1356.763 47.000 40.000
+ -5629528.21943 -4351571.21442 24243178.406 24243186.213 24243178.258
+ 3084.988 2403.887 46.000 40.000
+ 04 2 1 11 37 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13667095.15243 -10645267.51542 22746870.174 22746875.473 22746869.552
+ 2103.684 1639.234 51.000 45.000
+ -17300165.10943 -13464118.57342 21584220.653 21584225.171 21584219.389
+ -2451.640 -1910.369 54.000 48.000
+ -22455008.64043 -17452895.79642 20775379.348 20775383.713 20775378.129
+ -2249.415 -1752.791 56.000 49.000
+ -23903723.66743 -18581397.69242 20868616.139 20868620.829 20868615.507
+ -953.331 -742.855 56.000 49.000
+ -9527105.48943 -7412525.17742 23516115.516 23516122.301 23516114.252
+ -2317.802 -1806.079 48.000 42.000
+ -13014292.15743 -10101001.37842 23172179.694 23172183.844 23172179.627
+ 2979.359 2321.578 50.000 44.000
+ -6901627.91043 -5322858.90542 23530807.820 23530812.791 23530807.387
+ -1958.501 -1526.105 48.000 42.000
+ -4626079.89543 -3592431.90842 24415568.746 24415573.628 24415567.667
+ 1740.944 1356.580 46.000 40.000
+ -5722128.34243 -4423726.98942 24225558.077 24225564.909 24225557.197
+ 3088.295 2406.464 48.000 40.000
+ 04 2 1 11 37 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13730083.88343 -10694349.57842 22734884.046 22734888.944 22734883.412
+ 2095.602 1632.937 52.000 45.000
+ -17226427.68243 -13406660.86742 21598252.357 21598256.435 21598251.286
+ -2464.108 -1920.084 54.000 48.000
+ -22387337.93943 -17400165.38042 20788257.130 20788260.515 20788255.633
+ -2261.872 -1762.498 56.000 49.000
+ -23874834.53243 -18558886.68542 20874113.777 20874118.295 20874112.821
+ -972.697 -757.946 56.000 49.000
+ -9457429.08043 -7358231.95642 23529375.152 23529380.625 23529373.627
+ -2326.884 -1813.156 48.000 42.000
+ -13103655.15343 -10170634.83842 23155174.191 23155179.664 23155173.667
+ 2978.222 2320.692 50.000 44.000
+ -6842888.06443 -5277087.63242 23541987.306 23541989.744 23541985.483
+ -1957.581 -1525.388 48.000 42.000
+ -4678288.53843 -3633113.88542 24405633.627 24405639.274 24405632.064
+ 1739.523 1355.472 46.000 39.000
+ -5814831.35543 -4495962.95842 24207917.513 24207924.796 24207916.226
+ 3091.449 2408.921 48.000 41.000
+ 04 2 1 11 38 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13792834.01543 -10743245.72442 22722942.995 22722947.692 22722942.764
+ 2087.877 1626.917 52.000 46.000
+ -17152326.21943 -13348919.47742 21612353.680 21612358.114 21612353.118
+ -2476.019 -1929.365 54.000 48.000
+ -22319295.59343 -17347145.36142 20801206.074 20801209.056 20801204.234
+ -2274.140 -1772.057 56.000 49.000
+ -23845370.14443 -18535927.42542 20879720.742 20879725.057 20879720.486
+ -991.688 -772.744 56.000 49.000
+ -9387486.19943 -7303731.06842 23542684.076 23542691.937 23542683.390
+ -2335.850 -1820.143 48.000 42.000
+ -13192983.47843 -10240241.28942 23138175.846 23138180.297 23138175.066
+ 2976.918 2319.676 50.000 44.000
+ -6784179.10843 -5231340.38542 23553159.518 23553160.701 23553157.524
+ -1956.554 -1524.587 49.000 41.000
+ -4730479.29843 -3673781.93042 24395702.131 24395706.784 24395700.352
+ 1739.272 1355.277 45.000 39.000
+ -5907632.63443 -4568275.47742 24190257.933 24190264.770 24190256.242
+ 3094.868 2411.585 48.000 40.000
+ 04 2 1 11 38 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13855343.57643 -10791954.41142 22711048.031 22711052.544 22711047.479
+ 2080.300 1621.013 52.000 46.000
+ -17077864.84443 -13290897.65142 21626522.690 21626527.591 21626522.190
+ -2487.357 -1938.200 54.000 48.000
+ -22250885.12443 -17293838.50342 20814223.333 20814227.286 20814222.076
+ -2285.963 -1781.270 56.000 49.000
+ -23815333.00843 -18512521.87742 20885436.775 20885440.901 20885435.944
+ -1010.230 -787.192 56.000 49.000
+ -9317278.29843 -7249023.66142 23556044.449 23556050.660 23556044.732
+ -2344.456 -1826.849 49.000 42.000
+ -13282276.02943 -10309819.87642 23121184.995 23121188.568 23121183.393
+ 2976.347 2319.231 50.000 44.000
+ -6725501.91443 -5185617.94842 23564324.818 23564328.334 23564324.207
+ -1954.971 -1523.354 49.000 42.000
+ -4782654.50643 -3714437.86042 24385771.881 24385778.691 24385771.926
+ 1739.340 1355.330 45.000 40.000
+ -6000530.58343 -4640663.32942 24172579.003 24172586.792 24172578.200
+ 3098.472 2414.394 48.000 40.000
+ 04 2 1 11 39 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13917611.64143 -10840474.91942 22699198.328 22699203.630 22699198.257
+ 2072.154 1614.665 52.000 46.000
+ -17003048.49043 -13232599.22542 21640759.388 21640764.729 21640758.362
+ -2499.184 -1947.416 53.000 47.000
+ -22182111.15843 -17240248.39042 20827310.554 20827314.224 20827309.384
+ -2297.861 -1790.541 56.000 49.000
+ -23784727.07143 -18488673.10542 20891260.975 20891265.594 20891260.053
+ -1028.911 -801.749 56.000 49.000
+ -9246807.75143 -7194111.61042 23569455.396 23569461.849 23569453.735
+ -2352.792 -1833.344 48.000 42.000
+ -13371532.66843 -10379370.46442 23104199.709 23104203.130 23104199.294
+ 2974.821 2318.042 51.000 44.000
+ -6666858.22443 -5139921.56242 23575483.347 23575487.811 23575483.837
+ -1953.865 -1522.492 48.000 42.000
+ -4834815.93843 -3755083.05142 24375845.929 24375851.991 24375845.214
+ 1738.780 1354.893 46.000 40.000
+ -6093524.37043 -4713125.86942 24154882.932 24154890.651 24154882.365
+ 3101.949 2417.103 47.000 41.000
+ 04 2 1 11 39 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -13979634.58443 -10888804.42142 22687396.040 22687400.948 22687395.054
+ 2063.417 1607.857 52.000 46.000
+ -16927879.67443 -13174026.14542 21655064.252 21655068.424 21655062.687
+ -2511.567 -1957.065 54.000 47.000
+ -22112975.62643 -17186376.55142 20840466.476 20840470.340 20840465.153
+ -2310.363 -1800.283 56.000 49.000
+ -23753553.39643 -18464381.93542 20897192.288 20897197.062 20897191.980
+ -1048.538 -817.042 55.000 49.000
+ -9176074.53043 -7138994.88342 23582914.857 23582920.584 23582915.206
+ -2362.031 -1840.544 49.000 42.000
+ -13460750.63943 -10448890.94042 23087223.176 23087224.054 23087222.106
+ 2973.426 2316.955 52.000 44.000
+ -6608246.96343 -5094250.49542 23586637.234 23586640.430 23586636.426
+ -1953.084 -1521.884 49.000 42.000
+ -4886963.98643 -3795717.84142 24365922.758 24365928.294 24365921.971
+ 1737.872 1354.186 46.000 39.000
+ -6186610.39143 -4785660.25642 24137168.564 24137175.409 24137169.253
+ 3104.552 2419.131 48.000 41.000
+ 04 2 1 11 40 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14041411.05343 -10936941.87742 22675640.798 22675645.231 22675640.051
+ 2055.407 1601.616 52.000 45.000
+ -16852363.08643 -13115182.06742 21669434.229 21669438.731 21669433.228
+ -2522.783 -1965.805 54.000 47.000
+ -22043482.81343 -17132226.30742 20853690.014 20853694.202 20853689.305
+ -2322.164 -1809.478 56.000 49.000
+ -23721815.40643 -18439651.03742 20903232.229 20903236.846 20903231.704
+ -1067.076 -831.488 56.000 49.000
+ -9105080.65943 -7083675.02542 23596425.913 23596431.341 23596423.336
+ -2370.505 -1847.147 49.000 42.000
+ -13549929.29843 -10518380.75142 23070251.472 23070255.745 23070249.666
+ 2972.029 2315.867 51.000 44.000
+ -6549670.00543 -5048606.15142 23597785.172 23597788.882 23597785.433
+ -1951.900 -1520.961 48.000 41.000
+ -4939101.05543 -3836344.06042 24356000.436 24356006.950 24355998.996
+ 1737.709 1354.059 45.000 39.000
+ -6279787.52343 -4858265.65042 24119437.191 24119445.670 24119435.659
+ 3107.702 2421.586 47.000 41.000
+ 04 2 1 11 40 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14102933.51443 -10984881.41342 22663932.458 22663937.538 22663931.865
+ 2046.928 1595.009 52.000 45.000
+ -16776497.05843 -13056065.70642 21683871.482 21683875.975 21683870.644
+ -2534.156 -1974.667 54.000 48.000
+ -21973630.53943 -17077795.95742 20866982.800 20866986.797 20866981.690
+ -2334.016 -1818.714 56.000 49.000
+ -23689509.96643 -18414477.97942 20909379.841 20909384.452 20909379.282
+ -1085.835 -846.105 56.000 49.000
+ -9033822.05643 -7028148.89042 23609985.863 23609991.558 23609984.087
+ -2379.302 -1854.001 47.000 42.000
+ -13639061.71843 -10587834.55142 23053289.945 23053294.627 23053289.575
+ 2970.615 2314.765 50.000 45.000
+ -6491122.19643 -5002984.47742 23608925.538 23608927.904 23608926.276
+ -1950.893 -1520.176 48.000 41.000
+ -4991222.84643 -3876958.35242 24346084.278 24346089.416 24346081.683
+ 1737.655 1354.017 45.000 39.000
+ -6373048.57743 -4930936.40742 24101689.978 24101700.120 24101689.897
+ 3110.486 2423.755 48.000 42.000
+ 04 2 1 11 41 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14164203.98443 -11032624.57842 22652273.621 22652277.885 22652272.897
+ 2038.180 1588.192 52.000 45.000
+ -16700289.55143 -12996683.25642 21698373.075 21698377.690 21698372.411
+ -2545.886 -1983.807 54.000 48.000
+ -21903426.51243 -17023091.51942 20880342.492 20880346.300 20880341.124
+ -2345.891 -1827.967 55.000 49.000
+ -23656643.98843 -18388868.12842 20915634.087 20915638.318 20915633.497
+ -1104.787 -860.873 56.000 49.000
+ -8962304.07043 -6972420.67342 23623595.013 23623599.809 23623594.453
+ -2388.121 -1860.873 47.000 41.000
+ -13728150.75343 -10657254.52642 23036337.179 23036341.249 23036336.363
+ 2968.972 2313.485 51.000 45.000
+ -6432608.37443 -4957389.31242 23620060.453 23620065.396 23620058.803
+ -1949.741 -1519.279 48.000 41.000
+ -5043334.80543 -3917565.00642 24336167.229 24336172.224 24336166.143
+ 1737.107 1353.590 46.000 40.000
+ -6466395.84943 -5003674.39142 24083927.189 24083934.556 24083926.433
+ 3113.071 2425.770 48.000 41.000
+ 04 2 1 11 41 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14225213.07243 -11080164.07542 22640663.915 22640668.222 22640663.776
+ 2029.554 1581.471 53.000 45.000
+ -16623737.43943 -12937032.27242 21712940.502 21712944.720 21712939.644
+ -2557.276 -1992.682 54.000 47.000
+ -21832866.85143 -16968109.97242 20893769.683 20893773.296 20893768.154
+ -2357.714 -1837.180 55.000 49.000
+ -23623213.05943 -18362818.05842 20921996.210 20922000.282 20921995.795
+ -1123.536 -875.482 56.000 49.000
+ -8890520.91543 -6916485.82442 23637254.589 23637260.345 23637253.454
+ -2396.994 -1867.787 47.000 41.000
+ -13817187.85843 -10726634.04142 23019394.313 23019398.033 23019393.263
+ 2967.214 2312.115 51.000 45.000
+ -6374121.54243 -4911815.18842 23631190.133 23631192.304 23631189.208
+ -1948.792 -1518.539 48.000 41.000
+ -5095431.27943 -3958159.57642 24326253.059 24326258.929 24326251.766
+ 1736.551 1353.157 46.000 40.000
+ -6559820.22943 -5076472.47342 24066148.874 24066157.902 24066146.738
+ 3115.596 2427.737 48.000 41.000
+ 04 2 1 11 42 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14285966.05343 -11127504.01142 22629102.696 22629107.921 22629101.978
+ 2020.650 1574.532 52.000 45.000
+ -16546851.59143 -12877121.24342 21727571.102 21727576.170 21727570.652
+ -2568.597 -2001.504 53.000 47.000
+ -21761962.16743 -16912859.56342 20907261.975 20907265.685 20907260.313
+ -2369.402 -1846.287 55.000 49.000
+ -23589227.03243 -18336335.44642 20928462.882 20928467.527 20928462.341
+ -1142.412 -890.191 56.000 49.000
+ -8818481.14143 -6860351.02142 23650963.758 23650969.019 23650962.910
+ -2405.934 -1874.754 48.000 42.000
+ -13906178.74043 -10795977.53742 23002460.022 23002463.658 23002459.095
+ 2965.367 2310.676 52.000 45.000
+ -6315669.38543 -4866268.06542 23642313.493 23642315.160 23642313.144
+ -1947.912 -1517.853 48.000 41.000
+ -5147520.78943 -3998748.73542 24316340.956 24316344.549 24316339.478
+ 1736.006 1352.732 47.000 40.000
+ -6653326.81443 -5149334.59042 24048354.291 24048363.646 24048354.495
+ 3118.053 2429.652 48.000 41.000
+ 04 2 1 11 42 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14346457.30343 -11174640.00142 22617591.048 22617596.654 22617591.226
+ 2011.806 1567.641 52.000 45.000
+ -16469632.60543 -12816950.62842 21742265.499 21742270.323 21742265.257
+ -2579.606 -2010.082 54.000 47.000
+ -21690712.39743 -16857340.26442 20920820.703 20920824.446 20920818.703
+ -2380.723 -1855.109 55.000 49.000
+ -23554684.92243 -18309419.52542 20935036.520 20935040.457 20935035.483
+ -1160.591 -904.357 56.000 49.000
+ -8746182.40343 -6804014.40342 23664720.170 23664726.079 23664719.185
+ -2414.193 -1881.189 47.000 42.000
+ -13995118.59443 -10865281.25842 22985534.313 22985538.802 22985533.523
+ 2963.786 2309.444 52.000 45.000
+ -6257249.08743 -4820745.79742 23653429.455 23653434.495 23653428.410
+ -1946.874 -1517.045 47.000 41.000
+ -5199601.04943 -4039330.68442 24306429.710 24306433.994 24306427.895
+ 1735.942 1352.682 47.000 40.000
+ -6746910.06043 -5222256.43542 24030546.771 24030553.466 24030546.341
+ 3120.583 2431.623 48.000 41.000
+ 04 2 1 11 43 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14406679.63043 -11221566.43642 22606131.368 22606136.500 22606130.672
+ 2003.146 1560.893 52.000 46.000
+ -16392079.39643 -12756519.57442 21757023.897 21757028.280 21757022.972
+ -2590.515 -2018.583 54.000 47.000
+ -21619116.03343 -16801550.89242 20934444.727 20934448.595 20934443.248
+ -2392.061 -1863.944 55.000 49.000
+ -23519584.76543 -18282068.75942 20941715.489 20941719.927 20941714.894
+ -1179.048 -918.739 55.000 49.000
+ -8673621.48043 -6747473.47542 23678529.086 23678534.888 23678527.618
+ -2422.764 -1887.868 47.000 42.000
+ -14084001.03643 -10934540.25542 22968621.803 22968624.148 22968620.292
+ 2961.896 2307.971 52.000 45.000
+ -6198856.58343 -4775245.14242 23664540.977 23664545.946 23664540.147
+ -1945.596 -1516.049 47.000 40.000
+ -5251668.62043 -4079902.73042 24296521.714 24296528.220 24296520.998
+ 1735.782 1352.557 46.000 40.000
+ -6840563.46943 -5295232.95642 24012724.514 24012731.263 24012723.254
+ 3123.095 2433.581 48.000 41.000
+ 04 2 1 11 43 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14466636.33543 -11268285.87542 22594722.035 22594727.385 22594721.748
+ 1993.912 1553.698 53.000 46.000
+ -16314201.20543 -12695835.28342 21771843.222 21771848.149 21771842.358
+ -2601.533 -2027.168 53.000 47.000
+ -21547181.95243 -16745498.35842 20948133.076 20948137.547 20948131.606
+ -2403.707 -1873.018 55.000 49.000
+ -23483934.60643 -18254289.42242 20948499.669 20948504.238 20948499.360
+ -1197.687 -933.262 56.000 49.000
+ -8600805.13243 -6690733.50442 23692385.168 23692391.455 23692384.633
+ -2431.656 -1894.797 47.000 42.000
+ -14172830.19643 -11003757.72742 22951717.353 22951721.677 22951716.532
+ 2959.868 2306.391 51.000 45.000
+ -6140497.61743 -4729770.63542 23675646.590 23675650.675 23675645.395
+ -1944.952 -1515.547 47.000 41.000
+ -5303730.42643 -4120470.32742 24286613.108 24286618.709 24286613.236
+ 1735.042 1351.981 45.000 39.000
+ -6934290.12243 -5368266.56742 23994888.549 23994896.024 23994888.406
+ 3125.174 2435.201 48.000 41.000
+ 04 2 1 11 44 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14526322.33443 -11314794.38442 22583363.862 22583369.762 22583363.571
+ 1985.966 1547.506 53.000 46.000
+ -16235998.94243 -12634898.47442 21786724.954 21786729.074 21786723.989
+ -2611.134 -2034.650 53.000 47.000
+ -21474910.33143 -16689182.81242 20961886.381 20961889.572 20961884.872
+ -2413.651 -1880.767 55.000 49.000
+ -23447734.06543 -18226081.21342 20955388.043 20955392.653 20955387.427
+ -1214.807 -946.603 55.000 49.000
+ -8527731.46943 -6633793.06142 23706291.934 23706296.832 23706289.824
+ -2439.116 -1900.610 49.000 42.000
+ -14261601.60943 -11072930.19542 22934824.229 22934828.421 22934823.217
+ 2959.126 2305.812 51.000 45.000
+ -6082169.32543 -4684320.06942 23686746.805 23686749.233 23686746.399
+ -1942.531 -1513.660 47.000 41.000
+ -5355784.66043 -4161031.99542 24276708.586 24276711.937 24276707.938
+ 1736.234 1352.910 46.000 40.000
+ -7028085.26643 -5441353.53742 23977041.088 23977048.552 23977040.682
+ 3128.418 2437.728 48.000 41.000
+ 04 2 1 11 44 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14585732.31643 -11361087.82542 22572057.450 22572063.399 22572057.697
+ 1975.578 1539.411 52.000 46.000
+ -16157473.25743 -12573709.65142 21801667.748 21801671.904 21801666.831
+ -2622.896 -2043.815 53.000 47.000
+ -21402301.51543 -16632604.51742 20975703.156 20975707.078 20975702.002
+ -2426.005 -1890.393 55.000 49.000
+ -23410982.70143 -18197443.79442 20962380.932 20962386.072 20962380.968
+ -1234.207 -961.720 55.000 49.000
+ -8454398.85743 -6576650.82142 23720245.489 23720253.363 23720244.851
+ -2448.676 -1908.059 49.000 42.000
+ -14350310.46643 -11142053.92042 22917943.605 22917947.525 22917943.205
+ 2955.826 2303.241 52.000 45.000
+ -6023869.36143 -4638891.53642 23697841.723 23697843.815 23697840.804
+ -1942.938 -1513.978 48.000 41.000
+ -5407829.64943 -4201586.49942 24266805.223 24266811.183 24266804.204
+ 1734.353 1351.444 47.000 40.000
+ -7121943.68743 -5514489.82942 23959180.388 23959186.651 23959178.167
+ 3129.545 2438.606 48.000 42.000
+ 04 2 1 11 45 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14644869.20143 -11407168.45742 22560805.167 22560810.267 22560804.219
+ 1966.420 1532.275 53.000 46.000
+ -16078632.91543 -12512275.64742 21816670.478 21816675.416 21816669.693
+ -2633.522 -2052.095 53.000 47.000
+ -21329363.87743 -16575769.99442 20989582.766 20989586.255 20989581.587
+ -2436.944 -1898.917 55.000 49.000
+ -23373688.38143 -18168383.29042 20969478.745 20969483.751 20969477.999
+ -1252.385 -975.884 55.000 49.000
+ -8380813.54743 -6519311.64942 23734248.881 23734254.636 23734246.626
+ -2457.289 -1914.771 48.000 42.000
+ -14438960.15443 -11211131.53842 22901073.969 22901078.441 22901072.375
+ 2953.691 2301.577 51.000 45.000
+ -5965603.07943 -4593489.25342 23708928.148 23708932.122 23708928.243
+ -1941.821 -1513.107 48.000 41.000
+ -5459871.29043 -4242138.37142 24256902.133 24256907.424 24256901.040
+ 1734.708 1351.720 46.000 40.000
+ -7215867.94943 -5587677.42342 23941307.202 23941312.552 23941304.904
+ 3131.691 2440.279 48.000 42.000
+ 04 2 1 11 45 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14703723.99543 -11453029.29142 22549605.823 22549610.274 22549605.310
+ 1956.154 1524.276 53.000 46.000
+ -15999475.40443 -12450594.48342 21831734.151 21831738.470 21831733.199
+ -2644.966 -2061.012 53.000 47.000
+ -21256094.08243 -16518676.64442 21003525.853 21003529.427 21003524.465
+ -2448.898 -1908.232 55.000 49.000
+ -23335847.20943 -18138896.66742 20976680.044 20976684.153 20976678.985
+ -1271.420 -990.717 55.000 49.000
+ -8306970.29843 -6461771.47142 23748301.643 23748306.338 23748300.458
+ -2466.900 -1922.260 49.000 41.000
+ -14527542.74443 -11280156.88042 22884217.483 22884221.505 22884215.610
+ 2950.479 2299.075 51.000 45.000
+ -5907364.13243 -4548108.30842 23720012.025 23720015.048 23720010.092
+ -1941.924 -1513.187 48.000 41.000
+ -5511904.09943 -4282683.33542 24247001.695 24247006.379 24246999.452
+ 1733.260 1350.592 47.000 40.000
+ -7309849.50043 -5660909.65542 23923422.600 23923430.118 23923421.376
+ 3132.561 2440.957 48.000 42.000
+ 04 2 1 11 46 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14762298.28543 -11498671.54442 22538459.248 22538463.640 22538458.542
+ 1947.202 1517.300 53.000 46.000
+ -15920007.80043 -12388671.71142 21846855.950 21846860.620 21846855.457
+ -2654.679 -2068.581 53.000 47.000
+ -21182498.91043 -16461329.75942 21017531.021 21017534.158 21017529.296
+ -2459.190 -1916.252 55.000 49.000
+ -23297465.55043 -18108988.90142 20983983.711 20983988.100 20983983.112
+ -1288.940 -1004.369 56.000 49.000
+ -8232873.96443 -6404034.11642 23762400.484 23762408.495 23762399.732
+ -2474.251 -1927.988 47.000 40.000
+ -14616060.00343 -11349131.31442 22867372.007 22867378.091 22867370.765
+ 2948.866 2297.818 51.000 45.000
+ -5849156.52443 -4502751.75242 23731088.815 23731091.736 23731087.177
+ -1940.262 -1511.892 48.000 41.000
+ -5563933.63343 -4323225.76542 24237098.941 24237104.059 24237096.897
+ 1733.674 1350.915 46.000 40.000
+ -7403889.73843 -5734187.61942 23905526.961 23905533.994 23905524.859
+ 3134.958 2442.824 49.000 42.000
+ 04 2 1 11 46 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14820583.74543 -11544088.73142 22527367.210 22527372.642 22527366.841
+ 1938.971 1510.886 52.000 46.000
+ -15840227.94243 -12326505.60742 21862038.037 21862042.162 21862036.670
+ -2663.509 -2075.461 53.000 47.000
+ -21108575.68743 -16403727.25542 21031597.696 21031601.342 21031596.276
+ -2468.499 -1923.506 55.000 49.000
+ -23258539.97943 -18078657.29542 20991391.078 20991395.458 20991390.355
+ -1305.573 -1017.330 56.000 49.000
+ -8158519.76743 -6346095.81642 23776549.247 23776557.641 23776548.844
+ -2481.637 -1933.743 45.000 40.000
+ -14704504.30843 -11418048.89342 22850542.987 22850547.053 22850541.592
+ 2947.806 2296.992 51.000 45.000
+ -5790974.33943 -4457415.02842 23742160.507 23742162.839 23742157.344
+ -1938.042 -1510.162 48.000 40.000
+ -5615954.65143 -4363761.59542 24227201.112 24227205.628 24227198.175
+ 1735.062 1351.996 47.000 40.000
+ -7497980.24543 -5807504.76142 23887621.663 23887627.919 23887621.140
+ 3138.211 2445.359 49.000 42.000
+ 04 2 1 11 47 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14878583.84943 -11589283.56242 22516330.681 22516334.975 22516330.165
+ 1929.070 1503.171 53.000 46.000
+ -15760145.37543 -12264103.62842 21877276.829 21877281.737 21877275.803
+ -2673.878 -2083.541 53.000 47.000
+ -21034333.30043 -16345876.04642 21045725.015 21045729.134 21045723.729
+ -2479.552 -1932.118 55.000 49.000
+ -23219078.91443 -18047908.42542 20998899.859 20998904.622 20998899.439
+ -1323.792 -1031.526 55.000 49.000
+ -8083914.56943 -6287961.97442 23790745.824 23790753.265 23790745.463
+ -2490.427 -1940.592 45.000 40.000
+ -14792879.82743 -11486912.86942 22833724.242 22833729.352 22833723.282
+ 2945.272 2295.017 51.000 45.000
+ -5732823.87943 -4412103.00642 23753224.146 23753230.670 23753222.993
+ -1937.224 -1509.525 47.000 41.000
+ -5667973.80743 -4404295.93542 24217300.662 24217305.647 24217300.129
+ 1734.531 1351.583 46.000 40.000
+ -7592124.70643 -5880863.93742 23869706.464 23869713.606 23869705.145
+ 3139.592 2446.435 48.000 41.000
+ 04 2 1 11 47 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14936294.72343 -11634253.00542 22505347.998 22505353.603 22505347.923
+ 1918.784 1495.156 52.000 46.000
+ -15679762.10543 -12201467.34342 21892573.701 21892578.076 21892572.192
+ -2684.454 -2091.782 53.000 47.000
+ -20959773.44743 -16287777.45742 21059913.469 21059917.358 21059911.860
+ -2490.629 -1940.750 55.000 49.000
+ -23179083.55943 -18016743.22442 21006511.468 21006515.112 21006510.489
+ -1342.120 -1045.808 56.000 49.000
+ -8009058.39043 -6229632.54642 23804991.169 23804997.654 23804990.504
+ -2499.371 -1947.562 45.000 40.000
+ -14881183.10343 -11555720.56942 22816922.262 22816925.421 22816920.623
+ 2942.169 2292.599 52.000 45.000
+ -5674703.73443 -4366814.59542 23764285.858 23764287.789 23764285.109
+ -1936.940 -1509.304 47.000 40.000
+ -5719990.94543 -4444828.69742 24207403.837 24207406.919 24207402.204
+ 1733.807 1351.018 46.000 40.000
+ -7686319.17543 -5954262.07642 23851780.747 23851790.373 23851781.176
+ 3140.697 2447.296 47.000 41.000
+ 04 2 1 11 48 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -14993711.01743 -11678992.91442 22494422.097 22494427.138 22494421.777
+ 1908.764 1487.349 52.000 46.000
+ -15599078.97343 -12138597.39842 21907927.198 21907931.557 21907925.932
+ -2694.663 -2099.737 53.000 47.000
+ -20884896.23443 -16229431.57842 21074162.456 21074166.026 21074160.865
+ -2501.425 -1949.162 55.000 49.000
+ -23138553.59743 -17985161.44242 21014223.556 21014228.230 21014222.566
+ -1360.169 -1059.872 55.000 49.000
+ -7933949.15543 -6171105.93042 23819285.401 23819290.477 23819284.049
+ -2508.130 -1954.387 46.000 41.000
+ -14969409.34943 -11624468.23742 22800133.094 22800136.601 22800131.688
+ 2939.226 2290.306 52.000 46.000
+ -5616610.98043 -4321547.51242 23775340.038 23775341.174 23775338.486
+ -1936.220 -1508.743 48.000 40.000
+ -5772004.06643 -4485358.33842 24197504.018 24197508.436 24197502.897
+ 1733.492 1350.773 47.000 40.000
+ -7780558.53143 -6027695.20242 23833847.233 23833856.684 23833847.111
+ 3141.827 2448.177 47.000 41.000
+ 04 2 1 11 48 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15050830.86143 -11723501.83842 22483553.373 22483557.106 22483552.565
+ 1899.357 1480.018 53.000 46.000
+ -15518100.05543 -12075496.97242 21923336.939 21923341.617 21923336.080
+ -2703.872 -2106.913 53.000 47.000
+ -20809705.34743 -16170841.26842 21088470.529 21088474.673 21088469.404
+ -2511.163 -1956.750 55.000 49.000
+ -23097492.19643 -17953165.55842 21022037.356 21022041.953 21022036.724
+ -1377.098 -1073.063 55.000 49.000
+ -7858588.54343 -6112383.45542 23833626.746 23833631.432 23833624.282
+ -2515.694 -1960.281 47.000 41.000
+ -15057557.21643 -11693154.83442 22783359.118 22783363.014 22783357.982
+ 2937.318 2288.819 52.000 46.000
+ -5558546.22243 -4276302.28242 23786389.848 23786393.901 23786388.309
+ -1934.800 -1507.636 47.000 40.000
+ -5824014.26943 -4525885.71042 24187607.259 24187612.055 24187606.445
+ 1734.003 1351.171 47.000 41.000
+ -7874840.55443 -6101161.58442 23815907.424 23815913.847 23815905.683
+ 3143.600 2449.558 48.000 41.000
+ 04 2 1 11 49 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15107651.50043 -11767777.61642 22472740.507 22472744.862 22472740.217
+ 1888.544 1471.593 54.000 46.000
+ -15436828.53443 -12012168.54242 21938802.361 21938806.603 21938801.361
+ -2714.187 -2114.951 53.000 47.000
+ -20734203.35143 -16112008.54042 21102838.087 21102842.042 21102837.082
+ -2522.366 -1965.480 55.000 49.000
+ -23055901.49143 -17920757.22842 21029952.110 21029956.061 21029950.855
+ -1395.499 -1087.402 56.000 49.000
+ -7782977.50743 -6053465.82142 23848012.307 23848019.889 23848012.218
+ -2525.195 -1967.684 45.000 41.000
+ -15145624.57843 -11761778.70142 22766599.157 22766604.525 22766598.736
+ 2933.861 2286.125 51.000 45.000
+ -5500509.32343 -4231078.75742 23797432.604 23797437.714 23797431.535
+ -1934.533 -1507.428 47.000 41.000
+ -5876022.48143 -4566411.54542 24177709.813 24177715.180 24177709.181
+ 1733.213 1350.556 47.000 41.000
+ -7969162.72343 -6174659.24142 23797958.261 23797965.480 23797957.055
+ 3144.304 2450.107 48.000 41.000
+ 04 2 1 11 49 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15164172.15643 -11811819.63142 22461984.973 22461989.682 22461985.000
+ 1879.264 1464.362 53.000 46.000
+ -15355269.53143 -11948616.09842 21954321.930 21954327.121 21954321.384
+ -2723.171 -2121.951 53.000 47.000
+ -20658394.97543 -16052937.08042 21117264.303 21117267.566 21117262.769
+ -2531.812 -1972.840 55.000 48.000
+ -23013785.88143 -17887939.88642 21037965.520 21037970.672 21037965.079
+ -1412.281 -1100.479 55.000 49.000
+ -7707118.78443 -5994355.16842 23862449.003 23862455.407 23862448.533
+ -2532.483 -1973.363 47.000 41.000
+ -15233611.14043 -11830339.60642 22749856.084 22749860.655 22749855.593
+ 2931.850 2284.558 51.000 45.000
+ -5442501.73843 -4185878.04142 23808471.528 23808476.134 23808469.341
+ -1932.850 -1506.117 47.000 40.000
+ -5928031.41543 -4606937.90942 24167812.476 24167818.306 24167812.264
+ 1733.802 1351.015 47.000 41.000
+ -8063524.15943 -6248187.51542 23780001.292 23780008.408 23780000.232
+ 3146.258 2451.630 49.000 42.000
+ 04 2 1 11 50 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15220384.91543 -11855621.71942 22451287.708 22451292.816 22451287.684
+ 1867.582 1455.259 53.000 46.000
+ -15273421.23443 -11884838.23742 21969897.375 21969902.401 21969895.908
+ -2734.241 -2130.577 53.000 47.000
+ -20582277.77043 -15993624.96742 21131748.802 21131752.353 21131747.387
+ -2543.447 -1981.907 54.000 48.000
+ -22971142.41043 -17854711.21842 21046081.129 21046085.483 21046080.349
+ -1431.331 -1115.323 55.000 49.000
+ -7631007.69843 -5935047.85342 23876933.237 23876938.147 23876932.678
+ -2542.202 -1980.937 48.000 42.000
+ -15321509.37443 -11898831.69642 22733130.263 22733133.209 22733129.387
+ 2927.340 2281.044 52.000 45.000
+ -5384518.09743 -4140696.01942 23819505.268 23819510.172 23819503.418
+ -1933.570 -1506.678 46.000 40.000
+ -5980036.34643 -4647461.14042 24157915.896 24157921.933 24157913.683
+ 1732.313 1349.854 45.000 40.000
+ -8157916.67143 -6321740.00642 23762038.967 23762046.349 23762038.562
+ 3145.709 2451.202 49.000 42.000
+ 04 2 1 11 50 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15276292.93343 -11899186.35342 22440648.906 22440653.462 22440648.276
+ 1858.369 1448.080 53.000 46.000
+ -15191292.81443 -11820842.09442 21985526.207 21985531.004 21985525.060
+ -2742.323 -2136.875 53.000 47.000
+ -20505860.23943 -15934078.83742 21146289.889 21146294.578 21146289.057
+ -2552.225 -1988.747 54.000 48.000
+ -22927979.44343 -17821077.75042 21054295.055 21054299.241 21054293.916
+ -1447.455 -1127.887 56.000 49.000
+ -7554651.25143 -5875549.37442 23891462.938 23891468.944 23891462.006
+ -2549.496 -1986.620 48.000 41.000
+ -15409322.91443 -11967257.78542 22716420.633 22716423.615 22716419.677
+ 2925.654 2279.730 52.000 46.000
+ -5326564.01143 -4095537.01342 23830534.985 23830537.081 23830533.473
+ -1931.400 -1504.987 48.000 41.000
+ -6032043.73843 -4687986.30842 24148018.957 24148025.590 24148018.268
+ 1733.485 1350.768 45.000 40.000
+ -8252343.48543 -6395319.22142 23744068.645 23744075.230 23744067.644
+ 3148.178 2453.126 48.000 41.000
+ 04 2 1 11 51 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15331887.64143 -11942506.86642 22430069.484 22430074.278 22430069.192
+ 1848.163 1440.127 53.000 46.000
+ -15108881.68743 -11756625.65142 22001208.700 22001212.917 22001207.230
+ -2751.399 -2143.947 53.000 47.000
+ -20429139.61343 -15874296.52442 21160889.923 21160893.314 21160888.631
+ -2562.237 -1996.548 55.000 48.000
+ -22884293.60543 -17787036.85142 21062607.656 21062612.211 21062606.795
+ -1464.598 -1141.245 55.000 49.000
+ -7478044.51443 -5815855.84142 23906039.717 23906044.400 23906038.513
+ -2557.506 -1992.862 47.000 41.000
+ -15497043.77243 -12035611.66042 22699727.180 22699730.588 22699725.992
+ 2922.791 2277.499 52.000 46.000
+ -5268633.33043 -4050396.27142 23841559.496 23841560.640 23841556.880
+ -1930.310 -1504.138 48.000 41.000
+ -6084048.80743 -4728509.65942 24138125.493 24138129.753 24138123.703
+ 1733.604 1350.860 48.000 41.000
+ -8346796.10843 -6468918.53542 23726096.367 23726104.038 23726094.665
+ 3148.989 2453.758 48.000 42.000
+ 04 2 1 11 51 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15387176.14043 -11985588.75842 22419548.981 22419553.398 22419548.552
+ 1837.539 1431.849 53.000 46.000
+ -15026200.88843 -11692199.08442 22016941.929 22016946.814 22016941.513
+ -2760.905 -2151.354 53.000 47.000
+ -20352127.93643 -15814287.41842 21175544.125 21175548.548 21175543.030
+ -2572.296 -2004.386 54.000 48.000
+ -22840096.81943 -17752597.80542 21071018.034 21071022.613 21071017.125
+ -1482.079 -1154.867 55.000 49.000
+ -7401197.91243 -5755975.39642 23920664.221 23920669.613 23920663.260
+ -2566.060 -1999.527 48.000 41.000
+ -15584679.12143 -12103898.90642 22683051.216 22683054.241 22683049.905
+ 2919.448 2274.895 52.000 46.000
+ -5210735.75643 -4005281.29642 23852575.268 23852577.774 23852574.430
+ -1929.767 -1503.714 48.000 40.000
+ -6136061.33243 -4769038.81142 24128226.571 24128232.207 24128224.916
+ 1733.419 1350.716 47.000 41.000
+ -8441281.28843 -6542543.22042 23708116.587 23708123.881 23708115.863
+ 3149.577 2454.216 48.000 41.000
+ 04 2 1 11 52 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15442146.29043 -12028422.58142 22409087.053 22409093.072 22409086.459
+ 1827.332 1423.895 52.000 46.000
+ -14943244.05243 -11627557.41442 22032728.397 22032733.114 22032726.886
+ -2769.458 -2158.019 53.000 47.000
+ -20274818.49943 -15754046.28942 21190256.022 21190259.738 21190254.069
+ -2581.632 -2011.661 55.000 48.000
+ -22795381.98343 -17717755.09042 21079526.695 21079531.475 21079526.177
+ -1498.727 -1167.839 55.000 49.000
+ -7324102.71743 -5695901.25542 23935334.392 23935342.298 23935333.878
+ -2573.559 -2005.371 47.000 40.000
+ -15672217.25243 -12172110.39742 22666393.297 22666395.970 22666391.623
+ 2916.549 2272.636 53.000 46.000
+ -5152861.10243 -3960184.18842 23863588.322 23863592.885 23863588.146
+ -1928.392 -1502.643 48.000 40.000
+ -6188072.46543 -4809566.88742 24118327.698 24118334.930 24118328.049
+ 1733.882 1351.077 47.000 41.000
+ -8535786.53343 -6616183.54542 23690132.611 23690139.212 23690132.037
+ 3150.809 2455.176 49.000 41.000
+ 04 2 1 11 52 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15496796.26543 -12071006.92542 22398688.828 22398693.523 22398687.576
+ 1816.894 1415.762 53.000 46.000
+ -14860015.44543 -11562703.99042 22048566.225 22048571.148 22048565.225
+ -2778.192 -2164.825 53.000 47.000
+ -20197215.23443 -15693576.20442 21205023.380 21205027.010 21205022.012
+ -2591.089 -2019.030 54.000 48.000
+ -22750152.77643 -17682511.56742 21088133.490 21088138.834 21088132.728
+ -1515.613 -1180.997 55.000 49.000
+ -7246760.95243 -5635634.98942 23950052.133 23950058.240 23950051.288
+ -2581.656 -2011.680 46.000 40.000
+ -15759657.04343 -12240245.25942 22649754.561 22649756.973 22649752.501
+ 2913.502 2270.261 53.000 46.000
+ -5095010.19543 -3915105.59642 23874596.945 23874600.453 23874594.943
+ -1927.168 -1501.689 47.000 40.000
+ -6240083.91743 -4850095.21542 24108432.801 24108436.539 24108431.868
+ 1734.363 1351.452 48.000 41.000
+ -8630310.07743 -6689838.17842 23672144.426 23672151.682 23672144.096
+ 3151.658 2455.837 49.000 41.000
+ 04 2 1 11 53 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15551129.74343 -12113344.66242 22388347.836 22388353.998 22388347.978
+ 1805.828 1407.139 53.000 47.000
+ -14776524.70743 -11497646.30842 22064453.589 22064457.855 22064453.266
+ -2787.251 -2171.884 53.000 47.000
+ -20119326.85343 -15632883.94542 21219844.965 21219849.364 21219843.586
+ -2600.938 -2026.705 54.000 48.000
+ -22704417.81843 -17646873.94942 21096836.677 21096841.293 21096836.085
+ -1532.843 -1194.423 55.000 48.000
+ -7169179.69643 -5575182.14142 23964814.530 23964822.227 23964815.302
+ -2589.764 -2017.998 45.000 39.000
+ -15847002.37343 -12308306.50742 22633131.489 22633135.729 22633130.574
+ 2909.906 2267.459 52.000 46.000
+ -5037189.05743 -3870050.21342 23885600.939 23885602.699 23885599.226
+ -1926.691 -1501.318 48.000 40.000
+ -6292102.38443 -4890628.99842 24098533.985 24098536.884 24098530.547
+ 1734.105 1351.251 49.000 40.000
+ -8724855.50543 -6763509.82842 23654154.543 23654159.655 23654153.414
+ 3151.981 2456.089 50.000 41.000
+ 04 2 1 11 53 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15605137.40143 -12155428.50742 22378071.851 22378076.065 22378071.710
+ 1795.095 1398.775 54.000 47.000
+ -14692768.54843 -11432381.79442 22080392.372 22080396.838 22080391.925
+ -2795.887 -2178.613 53.000 47.000
+ -20041149.70843 -15571966.68742 21234721.921 21234726.173 21234720.290
+ -2610.356 -2034.044 54.000 48.000
+ -22658172.92443 -17610838.99042 21105636.877 21105641.596 21105636.202
+ -1549.692 -1207.552 55.000 48.000
+ -7091353.20043 -5514538.15342 23979627.292 23979632.791 23979625.983
+ -2597.828 -2024.281 46.000 39.000
+ -15934244.48943 -12376287.34142 22616530.384 22616534.053 22616529.474
+ 2906.558 2264.850 53.000 46.000
+ -4979390.63943 -3825012.50342 23896597.591 23896601.481 23896596.334
+ -1925.901 -1500.702 46.000 40.000
+ -6344122.25643 -4931163.89442 24088633.775 24088638.392 24088632.714
+ 1734.263 1351.374 48.000 40.000
+ -8819412.98043 -6837190.86642 23636160.639 23636165.604 23636158.464
+ 3152.435 2456.443 50.000 42.000
+ 04 2 1 11 54 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15658816.46843 -12197256.30642 22367856.963 22367861.853 22367855.848
+ 1783.553 1389.782 53.000 46.000
+ -14608750.33943 -11366913.08442 22096379.797 22096385.407 22096379.666
+ -2805.171 -2185.847 52.000 47.000
+ -19962686.45543 -15510826.48942 21249653.110 21249656.673 21249651.450
+ -2620.298 -2041.791 54.000 48.000
+ -22611420.67743 -17574408.67942 21114533.660 21114538.181 21114532.428
+ -1567.052 -1221.079 55.000 48.000
+ -7013282.49343 -5453703.88542 23994482.633 23994488.888 23994482.872
+ -2606.857 -2031.317 45.000 38.000
+ -16021380.84743 -12444185.76442 22599948.738 22599952.889 22599947.606
+ 2902.542 2261.721 52.000 46.000
+ -4921614.70843 -3779992.30342 23907596.240 23907595.876 23907593.252
+ -1925.527 -1500.411 49.000 40.000
+ -6396143.90543 -4971700.16742 24078734.260 24078738.184 24078733.823
+ 1733.836 1351.041 48.000 40.000
+ -8913979.98243 -6910879.31542 23618163.749 23618171.798 23618163.501
+ 3152.181 2456.245 49.000 42.000
+ 04 2 1 11 54 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15712169.00343 -12238829.67142 22357704.469 22357708.773 22357703.752
+ 1772.729 1381.347 53.000 46.000
+ -14524477.50943 -11301245.96742 22112417.194 22112420.865 22112415.702
+ -2813.555 -2192.380 52.000 46.000
+ -19883944.12543 -15449468.82742 21264636.647 21264640.834 21264635.547
+ -2629.670 -2049.093 54.000 48.000
+ -22564168.03343 -17537588.45542 21123525.594 21123530.210 21123524.672
+ -1583.641 -1234.006 55.000 49.000
+ -6934972.85343 -5392683.43042 24009384.070 24009388.086 24009384.355
+ -2614.501 -2037.273 46.000 38.000
+ -16108413.35843 -12512003.26342 22583387.314 22583391.486 22583386.120
+ 2899.083 2259.026 52.000 46.000
+ -4863865.13243 -3734992.69342 23918582.290 23918585.014 23918581.608
+ -1924.914 -1499.933 46.000 40.000
+ -6448172.12243 -5012241.54742 24068834.150 24068839.647 24068833.133
+ 1734.121 1351.263 48.000 41.000
+ -9008558.03943 -6984576.37842 23600166.785 23600172.293 23600165.292
+ 3152.500 2456.494 48.000 41.000
+ 04 2 1 11 55 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15765189.60043 -12280144.37842 22347614.979 22347619.452 22347614.120
+ 1762.358 1373.266 54.000 46.000
+ -14439951.00043 -11235381.18042 22128501.882 22128506.290 22128501.096
+ -2821.379 -2198.477 52.000 46.000
+ -19804922.94443 -15387893.87742 21279674.111 21279678.121 21279672.549
+ -2638.171 -2055.718 54.000 48.000
+ -22516414.74343 -17500378.11542 21132612.977 21132617.367 21132612.065
+ -1599.622 -1246.459 55.000 48.000
+ -6856422.43943 -5331475.35042 24024330.342 24024338.436 24024330.851
+ -2621.879 -2043.022 45.000 38.000
+ -16195337.39943 -12579736.25142 22566845.629 22566850.435 22566844.700
+ 2895.967 2256.598 52.000 46.000
+ -4806139.22943 -3690011.52342 23929567.724 23929571.152 23929566.611
+ -1923.390 -1498.745 46.000 39.000
+ -6500205.15143 -5052786.66642 24058930.944 24058935.728 24058931.512
+ 1734.937 1351.899 47.000 41.000
+ -9103141.66743 -7058277.77342 23582167.274 23582174.735 23582166.713
+ 3153.237 2457.068 48.000 42.000
+ 04 2 1 11 55 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15817874.59443 -12321197.58042 22337589.611 22337593.299 22337588.914
+ 1750.580 1364.088 54.000 46.000
+ -14355172.75143 -11169320.24042 22144635.017 22144639.405 22144633.199
+ -2830.022 -2205.212 53.000 46.000
+ -19725624.36343 -15326102.77242 21294763.758 21294768.546 21294762.454
+ -2647.904 -2063.302 54.000 48.000
+ -22468162.44943 -17462778.93942 21141794.753 21141799.614 21141794.101
+ -1616.687 -1259.756 55.000 48.000
+ -6777631.35943 -5270079.74142 24039325.102 24039332.736 24039323.635
+ -2630.504 -2049.743 45.000 37.000
+ -16282149.37243 -12647381.90442 22550326.325 22550330.003 22550325.602
+ 2891.912 2253.438 53.000 46.000
+ -4748435.51743 -3645047.63642 23940547.369 23940552.038 23940545.635
+ -1923.125 -1498.539 46.000 39.000
+ -6552242.44743 -5093335.14542 24049028.152 24049035.571 24049027.255
+ 1734.607 1351.642 47.000 41.000
+ -9197726.71843 -7131980.28142 23564168.511 23564175.801 23564167.665
+ 3152.769 2456.703 49.000 42.000
+ 04 2 1 11 56 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15870226.97343 -12361991.59342 22327626.131 22327631.283 22327625.485
+ 1739.120 1355.158 53.000 46.000
+ -14270152.07443 -11103070.39042 22160813.226 22160818.272 22160812.723
+ -2838.284 -2211.650 52.000 46.000
+ -19646056.98143 -15264102.21342 21309905.692 21309908.775 21309904.548
+ -2656.919 -2070.326 55.000 48.000
+ -22419419.43843 -17424797.39642 21151070.738 21151074.910 21151069.703
+ -1633.307 -1272.707 55.000 48.000
+ -6698606.36743 -5208501.88442 24054362.683 24054368.798 24054362.794
+ -2638.562 -2056.022 43.000 37.000
+ -16368852.94843 -12714943.10142 22533827.288 22533831.005 22533826.305
+ 2887.868 2250.287 53.000 46.000
+ -4690759.37843 -3600105.23642 23951525.160 23951528.335 23951523.307
+ -1922.647 -1498.166 48.000 40.000
+ -6604290.19243 -5133891.74742 24039124.788 24039131.159 24039124.227
+ 1734.825 1351.812 47.000 41.000
+ -9292315.99143 -7205686.07942 23546169.902 23546176.442 23546168.554
+ 3152.731 2456.674 49.000 42.000
+ 04 2 1 11 56 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15922238.63043 -12402520.10042 22317728.673 22317733.897 22317728.652
+ 1727.574 1346.162 53.000 47.000
+ -14184886.33043 -11036629.57642 22177039.222 22177043.365 22177038.206
+ -2846.652 -2218.170 52.000 46.000
+ -19566217.81843 -15201889.87542 21325098.234 21325102.024 21325097.144
+ -2666.208 -2077.565 54.000 48.000
+ -22370182.73343 -17386431.15442 21160440.019 21160444.416 21160438.948
+ -1649.776 -1285.540 55.000 48.000
+ -6619342.58343 -5146737.94042 24069446.320 24069454.579 24069445.121
+ -2646.409 -2062.137 43.000 37.000
+ -16455439.82243 -12782413.36042 22517349.444 22517353.704 22517348.766
+ 2883.822 2247.134 53.000 46.000
+ -4633104.73343 -3555179.59042 23962495.435 23962500.220 23962493.579
+ -1921.965 -1497.635 48.000 40.000
+ -6656343.31743 -5174452.53742 24029221.108 24029222.883 24029219.452
+ 1734.807 1351.798 49.000 42.000
+ -9386901.03243 -7279388.58642 23528170.863 23528176.164 23528169.465
+ 3152.435 2456.443 49.000 42.000
+ 04 2 1 11 57 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -15973908.04643 -12442781.93742 22307896.940 22307901.741 22307896.383
+ 1715.977 1337.125 54.000 47.000
+ -14099380.29843 -10970001.52942 22193310.070 22193315.084 22193309.300
+ -2854.698 -2224.440 52.000 46.000
+ -19486110.73843 -15139468.77642 21340341.274 21340345.973 21340339.788
+ -2675.228 -2084.593 53.000 48.000
+ -22320456.10643 -17347683.15042 21169902.380 21169907.149 21169901.789
+ -1666.300 -1298.415 55.000 48.000
+ -6539842.28343 -5084789.73542 24084573.667 24084582.220 24084575.766
+ -2654.315 -2068.297 43.000 36.000
+ -16541908.85643 -12849791.80342 22500895.568 22500899.294 22500894.690
+ 2879.786 2243.989 53.000 46.000
+ -4575472.40543 -3510271.31742 23973462.475 23973466.741 23973460.409
+ -1921.163 -1497.010 47.000 40.000
+ -6708403.49443 -5215018.85342 24019311.584 24019316.633 24019311.184
+ 1734.864 1351.842 48.000 41.000
+ -9481480.30243 -7353086.58242 23510172.443 23510177.383 23510172.120
+ 3151.847 2455.985 48.000 42.000
+ 04 2 1 11 57 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16025232.74943 -12482775.17942 22298130.199 22298134.164 22298129.517
+ 1705.436 1328.911 54.000 47.000
+ -14013637.19343 -10903188.75542 22209626.805 22209631.100 22209625.460
+ -2861.580 -2229.802 52.000 46.000
+ -19405738.70643 -15076841.21242 21355636.496 21355640.423 21355635.208
+ -2683.005 -2090.653 54.000 48.000
+ -22270242.40643 -17308555.61342 21179457.783 21179462.368 21179457.002
+ -1681.361 -1310.151 54.000 48.000
+ -6460106.59443 -5022658.06942 24099749.131 24099755.957 24099746.562
+ -2661.430 -2073.841 44.000 36.000
+ -16628258.05843 -12917076.86442 22484463.679 22484467.793 22484463.096
+ 2876.725 2241.604 53.000 47.000
+ -4517862.30343 -3465380.39642 23984426.674 23984428.173 23984424.057
+ -1919.514 -1495.725 48.000 41.000
+ -6760471.73043 -5255591.41042 24009404.623 24009408.969 24009403.155
+ 1736.205 1352.887 48.000 41.000
+ -9576050.95143 -7426777.86942 23492176.411 23492181.778 23492175.318
+ 3152.762 2456.698 49.000 42.000
+ 04 2 1 11 58 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16076209.28043 -12522497.11842 22288429.632 22288433.572 22288428.817
+ 1693.690 1319.758 54.000 47.000
+ -13927659.34943 -10836193.07942 22225987.594 22225992.074 22225986.133
+ -2869.482 -2235.960 51.000 45.000
+ -19325103.36443 -15014008.47542 21370980.601 21370984.691 21370979.496
+ -2691.993 -2097.657 54.000 48.000
+ -22219543.24443 -17269049.78542 21189105.456 21189110.312 21189104.651
+ -1697.515 -1322.739 54.000 48.000
+ -6380135.46043 -4960342.93742 24114966.216 24114972.338 24114966.404
+ -2669.307 -2079.979 44.000 36.000
+ -16714483.85343 -12984265.77142 22468055.210 22468059.729 22468054.533
+ 2872.410 2238.242 53.000 47.000
+ -4460272.91243 -3420505.58242 23995383.591 23995386.118 23995382.125
+ -1919.139 -1495.433 47.000 40.000
+ -6812547.71643 -5296170.02942 23999493.259 23999499.540 23999493.113
+ 1736.347 1352.998 46.000 41.000
+ -9670608.81643 -7500459.19842 23474182.149 23474188.646 23474181.167
+ 3152.027 2456.125 49.000 42.000
+ 04 2 1 11 58 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16126833.96343 -12561944.88442 22278795.750 22278800.262 22278794.769
+ 1681.407 1310.187 53.000 47.000
+ -13841449.29943 -10769016.44842 22242392.572 22242397.321 22242392.324
+ -2877.805 -2242.445 52.000 46.000
+ -19244206.44443 -14950971.91042 21386375.558 21386378.234 21386373.679
+ -2700.933 -2104.623 54.000 47.000
+ -22168360.34543 -17229167.03342 21198845.201 21198850.061 21198844.496
+ -1714.395 -1335.892 55.000 48.000
+ -6299928.75243 -4897844.23142 24130229.207 24130234.944 24130227.448
+ -2677.877 -2086.657 44.000 35.000
+ -16800582.88243 -13051355.89342 22451671.233 22451675.098 22451670.364
+ 2867.609 2234.501 53.000 47.000
+ -4402702.86143 -3375645.80642 24006340.781 24006342.660 24006340.422
+ -1918.878 -1495.230 48.000 40.000
+ -6864630.68443 -5336754.07242 23989583.166 23989587.177 23989581.216
+ 1735.914 1352.660 46.000 40.000
+ -9765150.15643 -7574127.65142 23456190.744 23456197.118 23456190.388
+ 3150.843 2455.202 49.000 43.000
+ 04 2 1 11 59 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16177108.97443 -12601120.16442 22269229.109 22269233.609 22269228.331
+ 1670.207 1301.460 54.000 47.000
+ -13755014.68343 -10701664.82842 22258841.057 22258845.679 22258840.303
+ -2884.699 -2247.817 52.000 46.000
+ -19163055.14943 -14887737.13342 21401817.142 21401821.328 21401816.368
+ -2708.982 -2110.895 54.000 47.000
+ -22116700.93743 -17188912.96742 21208676.419 21208680.327 21208675.321
+ -1729.634 -1347.767 55.000 48.000
+ -6219492.31543 -4835166.58942 24145535.920 24145541.730 24145536.292
+ -2684.838 -2092.081 46.000 36.000
+ -16886557.40543 -13118348.99442 22435312.078 22435314.828 22435310.955
+ 2863.897 2231.608 53.000 47.000
+ -4345156.34743 -3330804.40042 24017290.268 24017293.661 24017289.170
+ -1917.544 -1494.190 47.000 41.000
+ -6916725.59743 -5377347.43342 23979670.538 23979674.902 23979668.607
+ 1736.767 1353.325 48.000 41.000
+ -9859676.66343 -7647784.53042 23438203.850 23438209.225 23438203.144
+ 3150.790 2455.161 49.000 43.000
+ 04 2 1 11 59 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16227030.91543 -12640020.32542 22259728.407 22259733.606 22259727.958
+ 1658.160 1292.073 53.000 47.000
+ -13668357.96043 -10634140.14542 22275331.137 22275336.015 22275330.209
+ -2892.274 -2253.720 52.000 46.000
+ -19081651.43043 -14824305.65342 21417308.425 21417311.976 21417307.062
+ -2717.660 -2117.657 54.000 47.000
+ -22064566.88343 -17148289.04442 21218596.254 21218601.244 21218596.188
+ -1745.687 -1360.275 54.000 48.000
+ -6138826.26943 -4772309.96142 24160885.939 24160894.541 24160884.544
+ -2693.001 -2098.442 46.000 36.000
+ -16972403.98443 -13185242.40442 22418974.917 22418978.513 22418973.713
+ 2859.330 2228.049 53.000 47.000
+ -4287632.17143 -3285980.45742 24028237.645 24028240.342 24028235.758
+ -1917.227 -1493.943 48.000 41.000
+ -6968832.34443 -5417950.02942 23969753.812 23969759.072 23969751.763
+ 1737.151 1353.624 47.000 41.000
+ -9954184.50643 -7721426.89142 23420219.591 23420225.502 23420218.383
+ 3149.880 2454.452 50.000 43.000
+ 04 2 1 12 0 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16276592.67543 -12678639.82842 22250297.986 22250301.707 22250297.671
+ 1646.216 1282.766 54.000 47.000
+ -13581478.33943 -10566441.77042 22291864.167 22291869.089 22291863.251
+ -2899.523 -2259.368 52.000 46.000
+ -18999993.61543 -14760676.19242 21432846.717 21432850.692 21432846.102
+ -2726.064 -2124.206 53.000 47.000
+ -22011956.68743 -17107294.10442 21228608.888 21228612.287 21228607.650
+ -1761.305 -1372.445 55.000 48.000
+ -6057927.40643 -4709271.95842 24176282.004 24176285.745 24176281.185
+ -2700.015 -2103.908 46.000 36.000
+ -17058116.18343 -13252031.10342 22402664.181 22402667.766 22402663.436
+ 2854.945 2224.632 53.000 47.000
+ -4230125.80543 -3241170.33542 24039179.877 24039183.366 24039179.131
+ -1916.270 -1493.197 47.000 40.000
+ -7020947.14943 -5458558.89842 23959837.677 23959842.391 23959835.100
+ 1737.671 1354.029 48.000 41.000
+ -10048666.43043 -7795049.05242 23402240.376 23402245.373 23402238.441
+ 3149.045 2453.801 49.000 43.000
+ 04 2 1 12 0 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16325795.95843 -12716980.00442 22240934.607 22240939.045 22240934.107
+ 1634.289 1273.472 54.000 47.000
+ -13494382.77243 -10498575.13442 22308437.492 22308442.393 22308436.506
+ -2906.540 -2264.836 52.000 46.000
+ -18918088.24743 -14696853.83042 21448433.263 21448437.293 21448431.613
+ -2734.156 -2130.511 54.000 47.000
+ -21958876.98243 -17065933.30942 21238708.652 21238712.964 21238708.438
+ -1776.950 -1384.636 54.000 48.000
+ -5976800.48943 -4646056.27642 24191719.947 24191723.862 24191716.364
+ -2708.061 -2110.177 46.000 36.000
+ -17143695.21443 -13318716.03242 22386379.253 22386382.939 22386378.110
+ 2850.464 2221.141 53.000 47.000
+ -4172640.54743 -3196376.68942 24050118.729 24050123.082 24050118.016
+ -1915.764 -1492.803 47.000 41.000
+ -7073074.63943 -5499177.65642 23949917.405 23949921.561 23949916.509
+ 1737.767 1354.104 47.000 41.000
+ -10143123.43143 -7868651.79242 23384265.633 23384271.141 23384264.730
+ 3148.089 2453.056 49.000 43.000
+ 04 2 1 12 1 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16374635.03243 -12755036.38642 22231639.993 22231645.340 22231639.732
+ 1622.468 1264.261 54.000 47.000
+ -13407071.58943 -10430540.47842 22325052.309 22325057.006 22325051.496
+ -2913.560 -2270.306 52.000 46.000
+ -18835934.96643 -14632838.28842 21464066.881 21464070.430 21464065.269
+ -2741.932 -2136.570 53.000 47.000
+ -21905327.47143 -17024206.43742 21248899.014 21248903.738 21248898.325
+ -1792.309 -1396.604 54.000 48.000
+ -5895443.64243 -4582661.45242 24207199.453 24207207.288 24207198.409
+ -2715.135 -2115.690 46.000 36.000
+ -17229135.83843 -13385293.11342 22370120.143 22370124.398 22370119.341
+ 2846.189 2217.810 53.000 47.000
+ -4115173.07443 -3151596.90142 24061055.332 24061059.094 24061052.522
+ -1914.845 -1492.087 48.000 41.000
+ -7125212.03343 -5539804.12442 23939995.373 23940001.425 23939993.870
+ 1738.741 1354.863 48.000 41.000
+ -10237549.48143 -7942230.42542 23366295.858 23366301.523 23366294.803
+ 3147.597 2452.673 49.000 43.000
+ 04 2 1 12 1 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16423110.34743 -12792809.31942 22222416.155 22222421.047 22222415.952
+ 1609.479 1254.139 54.000 47.000
+ -13319551.28143 -10362342.87342 22341707.802 22341712.172 22341706.621
+ -2921.014 -2276.115 52.000 46.000
+ -18753539.57843 -14568634.08542 21479746.066 21479749.769 21479744.513
+ -2750.759 -2143.448 54.000 47.000
+ -21851314.03043 -16982118.06342 21259177.569 21259182.051 21259176.131
+ -1808.463 -1409.192 54.000 48.000
+ -5813860.88043 -4519090.59442 24222724.930 24222733.560 24222723.442
+ -2723.467 -2122.182 45.000 37.000
+ -17314438.44143 -13451762.64442 22353887.886 22353891.884 22353887.376
+ 2840.792 2213.604 53.000 47.000
+ -4057725.82143 -3106832.85042 24071987.842 24071988.995 24071985.842
+ -1914.915 -1492.141 47.000 40.000
+ -7177362.99843 -5580441.16342 23930071.104 23930077.006 23930069.515
+ 1738.220 1354.457 47.000 41.000
+ -10331944.47543 -8015784.84542 23348332.451 23348340.134 23348331.398
+ 3145.702 2451.196 48.000 43.000
+ 04 2 1 12 2 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16471214.00543 -12830292.65542 22213262.651 22213266.137 22213262.206
+ 1597.158 1244.539 54.000 47.000
+ -13231819.38643 -10293980.39042 22358402.398 22358406.669 22358401.235
+ -2928.078 -2281.619 52.000 46.000
+ -18670899.07043 -14504238.88542 21495471.713 21495475.565 21495470.919
+ -2758.833 -2149.740 54.000 47.000
+ -21796833.80543 -16939665.95142 21269544.455 21269548.791 21269543.641
+ -1823.879 -1421.204 54.000 48.000
+ -5732047.82343 -4455340.25442 24238294.183 24238300.599 24238292.848
+ -2731.045 -2128.087 46.000 38.000
+ -17399595.05443 -13518118.41242 22337682.790 22337686.631 22337681.979
+ 2835.945 2209.827 53.000 47.000
+ -4000292.89743 -3062079.95242 24082914.568 24082919.093 24082914.352
+ -1914.295 -1491.658 46.000 40.000
+ -7229522.40143 -5621084.78742 23920145.176 23920150.774 23920144.732
+ 1738.577 1354.735 47.000 41.000
+ -10426300.12943 -8089308.62042 23330376.094 23330384.665 23330375.771
+ 3144.443 2450.215 48.000 43.000
+ 04 2 1 12 2 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16518950.63943 -12867489.99742 22204178.491 22204182.829 22204177.686
+ 1585.049 1235.103 54.000 47.000
+ -13143886.51643 -10225461.31442 22375135.252 22375139.128 22375133.232
+ -2934.610 -2286.709 51.000 45.000
+ -18588023.58043 -14439660.57942 21511242.518 21511245.924 21511241.243
+ -2766.545 -2155.749 53.000 47.000
+ -21741896.88943 -16896857.98942 21279998.207 21280003.504 21279997.720
+ -1838.882 -1432.895 54.000 48.000
+ -5650012.77943 -4391416.96542 24253904.900 24253910.558 24253903.420
+ -2738.319 -2133.755 46.000 38.000
+ -17484610.56543 -13584364.23642 22321505.281 22321508.792 22321504.201
+ 2831.379 2206.269 54.000 47.000
+ -3942881.23143 -3017343.60642 24093841.096 24093844.551 24093840.974
+ -1913.419 -1490.976 48.000 40.000
+ -7281697.95043 -5661740.99342 23910216.589 23910221.830 23910214.533
+ 1739.567 1355.507 46.000 41.000
+ -10520620.56843 -8162804.94542 23312428.867 23312435.833 23312427.560
+ 3143.268 2449.300 49.000 44.000
+ 04 2 1 12 3 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16566314.14743 -12904396.56942 22195164.792 22195169.679 22195164.566
+ 1572.088 1225.004 54.000 47.000
+ -13055752.15343 -10156785.23242 22391906.986 22391910.841 22391905.962
+ -2941.574 -2292.135 52.000 45.000
+ -18504911.70743 -14374898.08542 21527058.110 21527061.500 21527056.553
+ -2774.812 -2162.191 53.000 47.000
+ -21686502.34443 -16853693.41942 21290540.707 21290544.627 21290539.334
+ -1854.553 -1445.106 55.000 48.000
+ -5567752.99343 -4327318.56142 24269556.667 24269564.478 24269555.493
+ -2746.241 -2139.928 44.000 38.000
+ -17569478.63343 -13650495.17042 22305355.266 22305359.445 22305354.426
+ 2825.961 2202.048 54.000 47.000
+ -3885486.37943 -2972620.39042 24104761.396 24104767.192 24104762.081
+ -1913.498 -1491.037 47.000 41.000
+ -7333886.53943 -5702407.36842 23900285.469 23900290.500 23900283.181
+ 1739.211 1355.229 46.000 41.000
+ -10614898.86943 -8236268.45142 23294487.451 23294495.097 23294486.940
+ 3141.308 2447.772 49.000 44.000
+ 04 2 1 12 3 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16613302.98843 -12941011.20642 22186223.878 22186227.418 22186223.203
+ 1560.049 1215.623 54.000 47.000
+ -12967420.69343 -10087955.55042 22408715.782 22408719.731 22408714.459
+ -2947.597 -2296.829 52.000 45.000
+ -18421567.29043 -14309954.38942 21542918.086 21542922.053 21542916.994
+ -2781.951 -2167.754 53.000 47.000
+ -21630653.95643 -16810175.21242 21301167.242 21301172.258 21301167.115
+ -1869.025 -1456.383 54.000 48.000
+ -5485270.63343 -4263046.73242 24285254.096 24285261.704 24285253.455
+ -2752.969 -2145.171 44.000 38.000
+ -17654198.02943 -13716510.25442 22289233.998 22289237.078 22289232.410
+ 2821.586 2198.638 53.000 47.000
+ -3828109.02443 -2927910.82042 24115682.171 24115684.383 24115679.615
+ -1912.085 -1489.936 48.000 41.000
+ -7386089.44043 -5743084.91242 23890351.880 23890356.790 23890350.990
+ 1740.391 1356.149 47.000 41.000
+ -10709133.37143 -8309697.81242 23276556.001 23276563.060 23276554.200
+ 3140.528 2447.165 49.000 44.000
+ 04 2 1 12 4 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16659912.77643 -12977330.49542 22177354.257 22177358.077 22177353.514
+ 1547.689 1205.991 54.000 47.000
+ -12878893.36243 -10018973.25342 22425562.247 22425566.393 22425561.321
+ -2953.841 -2301.694 52.000 45.000
+ -18337990.97543 -14244829.98542 21558822.098 21558825.876 21558820.833
+ -2789.357 -2173.525 53.000 47.000
+ -21574352.75743 -16766304.15942 21311880.688 21311885.933 21311880.320
+ -1883.918 -1467.988 54.000 47.000
+ -5402564.82243 -4198600.74542 24300993.221 24300999.747 24300990.830
+ -2760.257 -2150.850 44.000 37.000
+ -17738764.21643 -13782405.94742 22273141.038 22273145.185 22273140.581
+ 2816.559 2194.721 53.000 47.000
+ -3770746.94643 -2883213.12742 24126596.780 24126599.602 24126595.441
+ -1911.244 -1489.281 47.000 40.000
+ -7438305.49743 -5783772.68942 23880416.495 23880420.585 23880415.750
+ 1741.149 1356.739 48.000 41.000
+ -10803319.24543 -8383089.29842 23258633.017 23258639.850 23258630.766
+ 3138.826 2445.838 50.000 44.000
+ 04 2 1 12 4 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16706143.43343 -13013354.36042 22168556.789 22168560.693 22168555.881
+ 1534.628 1195.814 54.000 47.000
+ -12790175.71043 -9949842.65042 22442443.358 22442448.610 22442443.450
+ -2960.495 -2306.879 51.000 45.000
+ -18254187.73343 -14179528.75342 21574769.565 21574773.187 21574767.708
+ -2797.241 -2179.668 53.000 47.000
+ -21517603.93243 -16722084.31742 21322679.864 21322685.034 21322679.177
+ -1899.150 -1479.857 54.000 47.000
+ -5319638.98543 -4133983.34042 24316774.575 24316778.633 24316771.826
+ -2768.009 -2156.890 45.000 37.000
+ -17823176.77343 -13848181.93542 22257078.378 22257082.039 22257076.971
+ 2811.148 2190.505 54.000 47.000
+ -3713401.72443 -2838528.57742 24137510.693 24137513.859 24137510.029
+ -1911.264 -1489.297 48.000 41.000
+ -7490537.44843 -5824472.82642 23870475.391 23870481.300 23870475.086
+ 1741.279 1356.841 47.000 41.000
+ -10897455.28143 -8456441.94742 23240718.438 23240726.054 23240718.551
+ 3137.067 2444.468 49.000 44.000
+ 04 2 1 12 5 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16751993.69043 -13049081.78642 22159831.172 22159835.778 22159830.773
+ 1521.665 1185.713 54.000 47.000
+ -12701272.62343 -9880567.55642 22459361.183 22459366.952 22459360.283
+ -2966.808 -2311.798 51.000 45.000
+ -18170161.52943 -14114053.79342 21590759.035 21590762.364 21590757.482
+ -2804.826 -2185.579 53.000 47.000
+ -21460411.67443 -16677518.94742 21333563.062 21333568.081 21333562.797
+ -1914.032 -1491.453 54.000 47.000
+ -5236495.76443 -4069196.53142 24332594.343 24332598.363 24332593.530
+ -2775.354 -2162.613 43.000 36.000
+ -17907434.90243 -13913837.59642 22241044.482 22241047.888 22241043.789
+ 2805.630 2186.205 54.000 47.000
+ -3656074.45543 -2793858.01442 24148419.730 24148421.729 24148417.926
+ -1910.832 -1488.960 47.000 40.000
+ -7542786.96043 -5865186.67642 23860533.811 23860538.077 23860532.667
+ 1741.608 1357.097 48.000 42.000
+ -10991539.91843 -8529754.54542 23222815.349 23222822.074 23222815.796
+ 3134.966 2442.831 50.000 44.000
+ 04 2 1 12 5 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16797457.37843 -13084508.00142 22151180.166 22151184.419 22151179.892
+ 1509.502 1176.235 54.000 47.000
+ -12612183.30743 -9811147.33642 22476314.666 22476318.719 22476313.759
+ -2972.212 -2316.009 51.000 45.000
+ -18085911.27143 -14048404.24442 21606791.756 21606795.262 21606789.913
+ -2811.523 -2190.797 53.000 47.000
+ -21402774.98243 -16632607.25642 21344531.688 21344535.825 21344530.692
+ -1928.262 -1502.542 54.000 47.000
+ -5153132.17143 -4004238.05142 24348457.072 24348461.476 24348456.651
+ -2782.039 -2167.822 43.000 35.000
+ -17991532.24843 -13979367.97442 22225041.213 22225044.489 22225040.264
+ 2800.959 2182.565 54.000 47.000
+ -3598760.86043 -2749198.14642 24159324.442 24159328.690 24159323.872
+ -1909.597 -1487.998 46.000 39.000
+ -7595050.52843 -5905911.47642 23850588.667 23850591.503 23850587.226
+ 1742.848 1358.063 49.000 42.000
+ -11085566.49243 -8603021.91442 23204923.431 23204930.585 23204922.887
+ 3133.801 2441.923 51.000 44.000
+ 04 2 1 12 6 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16842535.61243 -13119633.86042 22142601.930 22142605.682 22142601.443
+ 1495.407 1165.252 54.000 47.000
+ -12522914.58843 -9741587.32342 22493302.256 22493306.994 22493300.719
+ -2979.419 -2321.625 51.000 45.000
+ -18001442.88943 -13982584.71842 21622865.259 21622868.486 21622863.602
+ -2820.040 -2197.434 53.000 46.000
+ -21344700.35543 -16587354.31742 21355583.026 21355587.650 21355582.291
+ -1943.898 -1514.726 54.000 47.000
+ -5069553.12843 -3939111.64142 24364362.190 24364369.444 24364361.495
+ -2790.450 -2174.377 42.000 36.000
+ -18075469.79043 -14044773.81642 22209068.156 22209072.215 22209067.350
+ 2794.367 2177.429 54.000 47.000
+ -3541463.80443 -2704551.12342 24170228.895 24170232.084 24170227.528
+ -1910.423 -1488.641 47.000 39.000
+ -7647332.45043 -5946650.57242 23840639.202 23840644.299 23840638.856
+ 1742.266 1357.610 49.000 42.000
+ -11179535.10443 -8676244.11542 23187042.590 23187046.959 23187040.681
+ 3130.498 2439.349 51.000 44.000
+ 04 2 1 12 6 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16887221.96843 -13154454.35742 22134098.127 22134102.673 22134097.240
+ 1482.446 1155.153 54.000 47.000
+ -12433465.82443 -9671887.02042 22510323.409 22510328.351 22510322.771
+ -2985.198 -2326.128 51.000 45.000
+ -17916755.29443 -13916594.38342 21638980.655 21638984.298 21638978.826
+ -2827.020 -2202.873 53.000 47.000
+ -21286186.71543 -16541759.29842 21366717.574 21366722.590 21366717.079
+ -1958.309 -1525.955 54.000 47.000
+ -4985755.61743 -3873815.02342 24380310.964 24380314.280 24380308.368
+ -2797.396 -2179.789 44.000 36.000
+ -18159240.86043 -14110049.95142 22193126.984 22193130.329 22193126.470
+ 2788.938 2173.198 54.000 48.000
+ -3484178.99243 -2659913.60442 24181129.918 24181133.965 24181127.521
+ -1909.878 -1488.217 47.000 40.000
+ -7699629.40943 -5987401.39542 23830686.698 23830693.433 23830685.449
+ 1742.932 1358.129 48.000 42.000
+ -11273439.13043 -8749415.99442 23169172.623 23169177.106 23169171.228
+ 3128.420 2437.730 50.000 43.000
+ 04 2 1 12 7 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16931518.61243 -13188971.17842 22125668.744 22125672.793 22125668.012
+ 1468.854 1144.562 54.000 47.000
+ -12343844.73143 -9602052.43742 22527378.418 22527382.199 22527377.736
+ -2991.487 -2331.029 51.000 45.000
+ -17831855.27143 -13850438.52242 21655136.405 21655140.686 21655134.752
+ -2834.766 -2208.908 53.000 47.000
+ -21227241.50643 -16495827.98242 21377934.999 21377938.896 21377933.871
+ -1973.112 -1537.490 54.000 47.000
+ -4901745.35343 -3808352.57442 24396296.556 24396303.986 24396296.814
+ -2804.992 -2185.708 44.000 36.000
+ -18242847.46243 -14175197.92842 22177217.181 22177221.107 22177216.111
+ 2782.869 2168.469 54.000 48.000
+ -3426910.35243 -2615288.76242 24192027.569 24192030.172 24192026.906
+ -1909.781 -1488.141 46.000 39.000
+ -7751945.77743 -6028167.31042 23820731.672 23820736.121 23820729.133
+ 1742.922 1358.121 47.000 42.000
+ -11367279.83043 -8822538.54442 23151314.456 23151320.451 23151314.188
+ 3125.559 2435.501 50.000 43.000
+ 04 2 1 12 7 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -16975416.57143 -13223177.35842 22117315.715 22117319.073 22117314.940
+ 1456.378 1134.840 55.000 47.000
+ -12254047.95943 -9532080.94742 22544465.535 22544470.977 22544464.739
+ -2996.296 -2334.776 51.000 45.000
+ -17746739.03743 -13784114.17642 21671334.063 21671337.840 21671332.232
+ -2841.049 -2213.804 53.000 47.000
+ -21167861.02143 -16449557.48942 21389234.008 21389238.646 21389233.394
+ -1986.743 -1548.111 53.000 47.000
+ -4817516.67943 -3742719.97842 24412323.872 24412328.867 24412323.974
+ -2811.365 -2190.674 44.000 35.000
+ -18326280.44843 -14240210.62542 22161340.692 22161344.200 22161340.281
+ 2777.869 2164.573 54.000 48.000
+ -3369650.90943 -2570671.04642 24202922.396 24202925.867 24202920.984
+ -1908.759 -1487.345 45.000 39.000
+ -7804275.25343 -6068943.46842 23810772.786 23810779.218 23810772.632
+ 1744.430 1359.296 47.000 42.000
+ -11461047.48143 -8895604.15442 23133471.227 23133476.334 23133469.469
+ 3124.099 2434.363 49.000 43.000
+ 04 2 1 12 8 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17018918.70743 -13257075.10242 22109037.297 22109041.763 22109036.739
+ 1443.422 1124.744 54.000 48.000
+ -12164084.15043 -9461979.32142 22561584.753 22561590.236 22561584.279
+ -3001.547 -2338.868 50.000 45.000
+ -17661414.56143 -13717627.57442 21687570.909 21687574.270 21687569.100
+ -2847.568 -2218.884 53.000 47.000
+ -21108053.65943 -16402954.37242 21400615.658 21400620.085 21400614.532
+ -2000.703 -1558.989 54.000 47.000
+ -4733076.36243 -3676922.48942 24428393.490 24428401.094 24428390.257
+ -2817.794 -2195.684 45.000 35.000
+ -18409542.60043 -14305090.19842 22145496.438 22145499.847 22145495.527
+ 2772.510 2160.397 54.000 48.000
+ -3312405.27643 -2526064.09942 24213817.474 24213820.854 24213815.574
+ -1907.984 -1486.741 47.000 39.000
+ -7856624.22143 -6109734.82142 23800812.479 23800816.943 23800810.413
+ 1745.451 1360.092 48.000 42.000
+ -11554744.59643 -8968614.81542 23115640.799 23115646.557 23115639.696
+ 3122.041 2432.759 49.000 43.000
+ 04 2 1 12 8 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17062021.20443 -13290661.42342 22100835.017 22100839.566 22100834.625
+ 1430.821 1114.925 54.000 47.000
+ -12073954.84643 -9391748.72842 22578736.707 22578741.985 22578735.009
+ -3006.331 -2342.595 50.000 45.000
+ -17575882.60943 -13650979.30142 21703846.383 21703850.974 21703845.199
+ -2853.601 -2223.585 53.000 47.000
+ -21047820.66643 -16356019.59942 21412077.303 21412081.772 21412076.347
+ -2014.022 -1569.368 54.000 47.000
+ -4648423.88743 -3610959.61242 24444502.802 24444509.889 24444497.348
+ -2824.895 -2201.217 43.000 34.000
+ -18492629.71243 -14369833.38342 22129685.770 22129689.153 22129684.598
+ 2767.343 2156.371 55.000 48.000
+ -3255171.26943 -2481466.23442 24224708.156 24224710.909 24224707.142
+ -1907.108 -1486.058 47.000 39.000
+ -7908991.15243 -6150540.18342 23790847.473 23790850.840 23790845.888
+ 1746.508 1360.915 49.000 42.000
+ -11648366.08843 -9041566.53242 23097824.718 23097830.318 23097824.321
+ 3120.029 2431.191 50.000 43.000
+ 04 2 1 12 9 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17104725.08843 -13323937.14142 22092708.265 22092712.928 22092707.912
+ 1416.854 1104.042 54.000 47.000
+ -11983666.81243 -9321394.45942 22595916.855 22595922.174 22595916.282
+ -3012.071 -2347.068 50.000 45.000
+ -17490149.28543 -13584174.11942 21720161.178 21720165.432 21720159.548
+ -2861.083 -2229.415 53.000 47.000
+ -20987168.49343 -16308758.19642 21423618.622 21423623.392 21423618.224
+ -2028.658 -1580.772 53.000 47.000
+ -4563563.88743 -3544835.11042 24460649.066 24460655.026 24460649.245
+ -2832.577 -2207.203 42.000 34.000
+ -18575542.82043 -14434440.98242 22113907.245 22113911.282 22113906.363
+ 2760.795 2151.269 54.000 48.000
+ -3197951.86043 -2436879.71842 24235597.372 24235601.025 24235595.327
+ -1907.488 -1486.354 47.000 39.000
+ -7961380.03243 -6191362.62642 23780877.460 23780881.576 23780876.288
+ 1746.897 1361.218 48.000 42.000
+ -11741912.51643 -9114459.75942 23080024.357 23080030.723 23080023.534
+ 3116.870 2428.730 50.000 43.000
+ 04 2 1 12 9 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17147023.27043 -13356896.71642 22084659.968 22084664.379 22084659.279
+ 1403.814 1093.881 54.000 47.000
+ -11893218.60143 -9250915.37842 22613128.925 22613134.047 22613128.165
+ -3016.839 -2350.784 50.000 44.000
+ -17404212.55443 -13517210.43642 21736513.828 21736518.263 21736512.573
+ -2867.284 -2234.247 53.000 46.000
+ -20926095.65743 -16261168.98742 21435240.988 21435246.072 21435240.120
+ -2042.046 -1591.205 53.000 47.000
+ -4478492.91643 -3478546.15342 24476838.974 24476843.004 24476840.515
+ -2838.429 -2211.763 42.000 33.000
+ -18658274.64643 -14498907.32142 22098164.069 22098168.179 22098162.730
+ 2755.318 2147.001 54.000 48.000
+ -3140741.97343 -2392300.60942 24246482.587 24246487.698 24246480.764
+ -1906.235 -1485.378 47.000 40.000
+ -8013786.16543 -6232198.50342 23770905.193 23770908.447 23770904.100
+ 1747.768 1361.897 49.000 42.000
+ -11835376.09543 -9187288.42542 23062239.064 23062244.768 23062238.716
+ 3114.607 2426.966 50.000 44.000
+ 04 2 1 12 10 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17188916.05643 -13389540.40842 22076687.845 22076692.813 22076687.119
+ 1389.670 1082.860 54.000 47.000
+ -11802616.06143 -9180316.03842 22630370.423 22630375.110 22630369.708
+ -3022.763 -2355.400 50.000 44.000
+ -17318077.52443 -13450092.23642 21752905.293 21752908.928 21752903.429
+ -2874.527 -2239.891 52.000 46.000
+ -20864607.60343 -16213256.24542 21446941.795 21446946.075 21446941.665
+ -2056.510 -1602.475 54.000 47.000
+ -4393214.82143 -3412095.77442 24493067.577 24493072.764 24493065.307
+ -2846.048 -2217.700 43.000 32.000
+ -18740825.28643 -14563232.47342 22082455.180 22082458.801 22082454.316
+ 2748.530 2141.712 54.000 48.000
+ -3083543.68543 -2347730.54942 24257368.569 24257372.565 24257366.170
+ -1906.484 -1485.572 45.000 39.000
+ -8066213.04243 -6273050.58142 23760929.345 23760932.027 23760926.300
+ 1747.926 1362.020 49.000 42.000
+ -11928756.44443 -9260052.24642 23044468.920 23044474.759 23044467.568
+ 3110.998 2424.154 50.000 44.000
+ 04 2 1 12 10 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17230401.76243 -13421866.89442 22068792.998 22068797.586 22068792.360
+ 1375.606 1071.901 54.000 47.000
+ -11711863.09243 -9109599.47142 22647640.657 22647645.775 22647639.326
+ -3027.761 -2359.294 50.000 44.000
+ -17231747.38843 -13382822.01642 21769333.600 21769337.410 21769331.772
+ -2881.264 -2245.141 53.000 47.000
+ -20802707.80443 -16165022.66042 21458720.933 21458725.915 21458720.400
+ -2070.499 -1613.376 53.000 47.000
+ -4307731.32443 -3345485.42842 24509334.795 24509343.014 24509332.526
+ -2853.248 -2223.310 43.000 34.000
+ -18823192.56443 -14627414.74042 22066781.825 22066784.489 22066780.245
+ 2742.226 2136.799 54.000 48.000
+ -3026357.09243 -2303169.62942 24268249.130 24268255.188 24268248.503
+ -1906.877 -1485.878 45.000 39.000
+ -8118661.45043 -6313919.39042 23750948.671 23750952.487 23750947.392
+ 1748.167 1362.208 48.000 42.000
+ -12022050.64143 -9332748.93242 23026715.494 23026721.863 23026715.056
+ 3108.001 2421.819 50.000 44.000
+ 04 2 1 12 11 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17271474.50443 -13453871.61142 22060977.311 22060981.663 22060976.768
+ 1361.867 1061.195 54.000 48.000
+ -11620959.08843 -9038765.22642 22664938.536 22664943.498 22664937.837
+ -3032.953 -2363.340 51.000 44.000
+ -17145221.06943 -13315398.92442 21785799.163 21785802.124 21785797.712
+ -2887.629 -2250.100 53.000 46.000
+ -20740395.91943 -16116467.96842 21470578.536 21470583.420 21470577.467
+ -2084.227 -1624.073 53.000 47.000
+ -4222040.07543 -3278713.18742 24525640.040 24525648.788 24525639.531
+ -2860.364 -2228.855 44.000 35.000
+ -18905370.57943 -14691449.54542 22051143.264 22051147.066 22051142.435
+ 2735.850 2131.831 54.000 48.000
+ -2969178.05643 -2258614.55842 24279130.856 24279134.875 24279129.201
+ -1906.140 -1485.304 47.000 40.000
+ -8171128.39143 -6354802.64942 23740963.525 23740968.968 23740962.956
+ 1748.626 1362.566 48.000 42.000
+ -12115252.13043 -9405373.39142 23008980.267 23008985.011 23008978.304
+ 3104.824 2419.343 50.000 44.000
+ 04 2 1 12 11 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17312132.69743 -13485553.28642 22053240.159 22053244.571 22053239.825
+ 1348.339 1050.654 54.000 47.000
+ -11529908.50243 -8967816.75542 22682265.103 22682270.019 22682263.963
+ -3037.487 -2366.873 51.000 44.000
+ -17058501.88343 -13247825.53342 21802300.619 21802304.456 21802299.613
+ -2894.040 -2255.096 53.000 46.000
+ -20677675.58443 -16067595.00842 21482513.377 21482518.575 21482512.751
+ -2097.491 -1634.408 53.000 47.000
+ -4136143.00343 -3211780.54142 24541986.104 24541992.660 24541984.899
+ -2866.218 -2233.417 43.000 36.000
+ -18987357.26543 -14755335.25342 22035541.993 22035545.091 22035541.033
+ 2729.701 2127.040 55.000 48.000
+ -2912006.91343 -2214065.65042 24290010.467 24290015.953 24290009.124
+ -1905.408 -1484.733 48.000 41.000
+ -8223614.57043 -6395700.92842 23730975.335 23730979.811 23730975.063
+ 1749.789 1363.472 48.000 41.000
+ -12208358.69443 -9477923.88542 22991261.803 22991268.045 22991261.502
+ 3102.084 2417.208 51.000 44.000
+ 04 2 1 12 12 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17352376.56243 -13516912.09542 22045582.193 22045586.437 22045581.567
+ 1334.657 1039.992 54.000 47.000
+ -11438716.35043 -8896757.97142 22699618.694 22699623.682 22699618.266
+ -3041.959 -2370.358 51.000 44.000
+ -16971594.70643 -13180105.66342 21818838.709 21818842.688 21818837.209
+ -2899.780 -2259.569 53.000 46.000
+ -20614552.20043 -16018407.98742 21494525.474 21494530.225 21494524.386
+ -2110.735 -1644.728 53.000 47.000
+ -4050043.62843 -3144690.32842 24558368.463 24558377.821 24558368.445
+ -2873.329 -2238.958 44.000 37.000
+ -19069152.35243 -14819071.65642 22019976.693 22019980.080 22019975.480
+ 2723.458 2122.175 54.000 48.000
+ -2854845.19043 -2169524.07842 24300888.899 24300891.909 24300887.503
+ -1905.348 -1484.687 48.000 41.000
+ -8276122.67843 -6436616.25342 23720982.592 23720988.558 23720981.614
+ 1750.586 1364.093 47.000 41.000
+ -12301369.59643 -9550399.83642 22973562.773 22973568.421 22973561.270
+ 3098.746 2414.607 51.000 44.000
+ 04 2 1 12 12 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17392204.64343 -13547946.93042 22038002.984 22038007.158 22038002.010
+ 1321.135 1029.456 54.000 47.000
+ -11347386.94643 -8825592.24342 22716998.418 22717003.424 22716997.807
+ -3046.161 -2373.632 50.000 44.000
+ -16884502.87843 -13112241.91342 21835412.369 21835415.603 21835410.515
+ -2905.705 -2264.186 53.000 46.000
+ -20551029.84243 -15968910.07342 21506613.142 21506618.060 21506612.593
+ -2123.686 -1654.820 53.000 47.000
+ -3963744.08143 -3077444.10942 24574794.232 24574799.402 24574791.335
+ -2879.546 -2243.802 46.000 38.000
+ -19150754.24943 -14882657.53442 22004448.017 22004451.898 22004446.755
+ 2717.085 2117.209 54.000 48.000
+ -2797693.38543 -2124990.21942 24311763.948 24311766.596 24311763.614
+ -1904.381 -1483.933 47.000 40.000
+ -8328654.74043 -6477550.26342 23710986.604 23710990.341 23710986.069
+ 1751.743 1364.995 47.000 42.000
+ -12394282.41743 -9622799.35942 22955881.597 22955887.731 22955881.296
+ 3095.770 2412.288 50.000 44.000
+ 04 2 1 12 13 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17431612.05543 -13578653.97742 22030504.113 22030508.194 22030503.468
+ 1305.588 1017.341 54.000 47.000
+ -11255921.16243 -8754320.26342 22734404.039 22734409.355 22734403.097
+ -3052.085 -2378.248 50.000 44.000
+ -16797226.42643 -13044234.29442 21852020.271 21852024.422 21852018.780
+ -2913.048 -2269.907 53.000 46.000
+ -20487108.91643 -15919101.59342 21518777.113 21518781.925 21518775.972
+ -2138.204 -1666.133 53.000 47.000
+ -3877243.09143 -3010040.92842 24591253.698 24591259.604 24591251.369
+ -2887.485 -2249.988 46.000 39.000
+ -19232157.72443 -14946088.79142 21988957.467 21988961.460 21988956.580
+ 2709.176 2111.046 55.000 48.000
+ -2740548.27643 -2080461.59742 24322637.973 24322640.025 24322636.529
+ -1905.658 -1484.928 47.000 39.000
+ -8381207.72443 -6518500.58142 23700986.298 23700992.177 23700986.001
+ 1751.047 1364.452 48.000 42.000
+ -12487091.31743 -9695117.88942 22938220.748 22938227.684 22938219.930
+ 3090.521 2408.198 50.000 44.000
+ 04 2 1 12 13 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17470599.17443 -13609033.51242 22023085.126 22023088.979 22023084.301
+ 1291.801 1006.598 54.000 47.000
+ -11164324.42743 -8682946.24142 22751834.822 22751837.762 22751833.971
+ -3056.307 -2381.538 50.000 44.000
+ -16709770.27743 -12976086.65342 21868663.102 21868666.182 21868661.478
+ -2918.844 -2274.424 53.000 46.000
+ -20422795.08143 -15868986.94342 21531016.464 21531020.167 21531015.260
+ -2151.090 -1676.174 53.000 47.000
+ -3790544.49443 -2942483.77242 24607753.210 24607758.748 24607751.374
+ -2894.018 -2255.079 47.000 40.000
+ -19313362.76343 -15009365.41942 21973504.710 21973508.498 21973503.674
+ 2702.677 2105.982 55.000 48.000
+ -2683411.96443 -2035939.85242 24333510.352 24333514.354 24333508.733
+ -1905.256 -1484.615 46.000 40.000
+ -8433784.55243 -6559469.49842 23690981.643 23690987.439 23690980.456
+ 1752.270 1365.405 49.000 42.000
+ -12579795.77043 -9767355.04942 22920579.844 22920585.750 22920578.933
+ 3087.446 2405.802 50.000 44.000
+ 04 2 1 12 14 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17509159.73443 -13639080.67342 22015747.642 22015751.354 22015746.838
+ 1278.382 996.142 54.000 47.000
+ -11072596.00043 -8611469.61442 22769289.487 22769294.172 22769288.840
+ -3059.650 -2384.143 49.000 44.000
+ -16622133.13043 -12907797.98342 21885339.666 21885342.795 21885337.532
+ -2923.919 -2278.378 53.000 46.000
+ -20358087.37943 -15818565.38742 21543329.461 21543334.466 21543329.080
+ -2163.279 -1685.672 53.000 47.000
+ -3703645.68643 -2874770.59942 24624288.244 24624295.370 24624287.622
+ -2899.430 -2259.296 46.000 40.000
+ -19394362.60943 -15072482.16242 21958090.922 21958095.160 21958090.240
+ 2696.677 2101.307 55.000 48.000
+ -2626279.76043 -1991421.29342 24344382.896 24344387.199 24344381.136
+ -1904.277 -1483.852 46.000 39.000
+ -8486381.91843 -6600454.39042 23680972.971 23680976.843 23680971.822
+ 1753.784 1366.585 49.000 43.000
+ -12672388.69043 -9839505.30642 22902959.544 22902966.279 22902958.536
+ 3084.658 2403.630 50.000 44.000
+ 04 2 1 12 14 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17547295.62443 -13668796.92542 22008489.979 22008494.429 22008489.236
+ 1264.072 984.991 54.000 47.000
+ -10980743.24743 -8539896.07942 22786769.304 22786773.638 22786767.557
+ -3063.900 -2387.454 50.000 44.000
+ -16534321.48343 -12839373.32842 21902049.347 21902053.095 21902048.611
+ -2930.075 -2283.175 52.000 46.000
+ -20292993.07743 -15767842.58342 21555716.753 21555721.809 21555715.730
+ -2176.230 -1695.764 53.000 47.000
+ -3616551.69143 -2806905.35542 24640862.137 24640868.718 24640859.975
+ -2906.438 -2264.757 47.000 40.000
+ -19475158.76743 -15135440.19042 21942715.889 21942719.892 21942715.212
+ 2689.767 2095.922 55.000 48.000
+ -2569155.29243 -1946908.75242 24355253.379 24355255.872 24355252.437
+ -1904.141 -1483.746 46.000 38.000
+ -8539003.84343 -6641458.44142 23670958.856 23670962.712 23670957.300
+ 1754.538 1367.172 49.000 43.000
+ -12764871.12843 -9911569.46742 22885361.653 22885366.676 22885359.484
+ 3080.943 2400.735 50.000 44.000
+ 04 2 1 12 15 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17585000.50343 -13698177.31942 22001314.977 22001319.763 22001314.441
+ 1249.559 973.682 54.000 47.000
+ -10888765.34043 -8468225.02742 22804271.526 22804276.110 22804270.434
+ -3067.997 -2390.647 50.000 44.000
+ -16446333.71643 -12770811.43742 21918793.759 21918796.285 21918791.716
+ -2935.877 -2287.696 53.000 46.000
+ -20227511.05543 -15716817.66242 21568177.250 21568182.291 21568176.386
+ -2189.265 -1705.921 53.000 47.000
+ -3529259.76043 -2738885.87942 24657472.841 24657480.437 24657471.177
+ -2912.963 -2269.841 46.000 40.000
+ -19555744.44443 -15198234.20642 21927380.923 21927384.474 21927379.766
+ 2682.616 2090.350 55.000 48.000
+ -2512033.75543 -1902398.53142 24366122.409 24366124.907 24366121.960
+ -1904.158 -1483.759 45.000 38.000
+ -8591646.82943 -6682478.89942 23660941.336 23660945.759 23660939.600
+ 1755.264 1367.738 48.000 42.000
+ -12857235.86043 -9983541.91142 22867784.604 22867790.203 22867782.547
+ 3076.912 2397.594 51.000 44.000
+ 04 2 1 12 15 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17622259.54443 -13727210.31342 21994224.836 21994229.432 21994223.994
+ 1235.811 962.970 54.000 48.000
+ -10796652.42343 -8396448.77142 22821798.319 22821804.886 22821798.087
+ -3071.332 -2393.246 49.000 43.000
+ -16358159.34143 -12702104.14742 21935571.347 21935575.959 21935569.872
+ -2940.985 -2291.677 52.000 46.000
+ -20161631.58343 -15665483.03442 21580713.281 21580718.591 21580712.043
+ -2201.264 -1715.271 53.000 47.000
+ -3441758.33243 -2670703.13242 24674123.568 24674132.220 24674122.451
+ -2918.761 -2274.359 46.000 40.000
+ -19636104.23643 -15260852.20142 21912089.178 21912092.539 21912088.069
+ 2676.059 2085.241 55.000 48.000
+ -2454901.62643 -1857879.96642 24376993.495 24376999.119 24376993.640
+ -1903.807 -1483.486 44.000 38.000
+ -8644298.28543 -6723505.96542 23650922.304 23650926.310 23650919.459
+ 1756.424 1368.642 49.000 42.000
+ -12949466.81343 -10055410.12142 22850233.343 22850239.572 22850231.940
+ 3073.367 2394.831 51.000 44.000
+ 04 2 1 12 16 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17659104.14343 -13755920.35142 21987213.216 21987218.272 21987212.956
+ 1221.155 951.549 54.000 48.000
+ -10704441.25043 -8324595.96942 22839346.994 22839352.961 22839344.967
+ -3075.465 -2396.466 49.000 44.000
+ -16269834.52743 -12633279.62042 21952380.331 21952382.977 21952378.127
+ -2946.704 -2296.133 52.000 46.000
+ -20095391.42443 -15613867.35242 21593318.955 21593324.055 21593317.587
+ -2214.091 -1725.266 53.000 47.000
+ -3354082.35643 -2602384.39842 24690809.319 24690816.174 24690808.348
+ -2925.965 -2279.973 46.000 39.000
+ -19716269.01743 -15323318.23842 21896834.606 21896837.714 21896833.466
+ 2668.806 2079.589 55.000 48.000
+ -2397792.11443 -1813379.05542 24387863.032 24387865.949 24387859.834
+ -1903.256 -1483.057 44.000 38.000
+ -8696992.34643 -6764566.21342 23640894.683 23640898.174 23640893.346
+ 1757.016 1369.103 49.000 42.000
+ -13041594.18543 -10127197.61742 22832702.515 22832707.468 22832701.682
+ 3069.321 2391.679 51.000 45.000
+ 04 2 1 12 16 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17695510.91043 -13784289.23942 21980285.741 21980289.577 21980285.391
+ 1205.706 939.511 54.000 48.000
+ -10612114.07443 -8252652.77442 22856916.095 22856920.618 22856915.823
+ -3080.112 -2400.087 49.000 44.000
+ -16181340.53843 -12564323.28942 21969218.784 21969222.755 21969218.055
+ -2953.244 -2301.229 52.000 46.000
+ -20028772.61543 -15561956.62642 21605996.243 21606001.396 21605995.400
+ -2227.397 -1735.634 53.000 47.000
+ -3266211.92643 -2533914.08942 24707530.523 24707537.402 24707529.895
+ -2933.023 -2285.472 45.000 39.000
+ -19796214.94143 -15385613.74242 21881621.190 21881624.643 21881620.215
+ 2660.657 2073.239 55.000 48.000
+ -2340683.28443 -1768878.68642 24398729.290 24398733.020 24398726.891
+ -1903.838 -1483.510 43.000 38.000
+ -8749708.01143 -6805643.29642 23630863.126 23630869.028 23630862.246
+ 1756.927 1369.034 48.000 43.000
+ -13133593.49443 -10198885.33542 22815195.733 22815200.276 22815194.538
+ 3064.028 2387.554 51.000 45.000
+ 04 2 1 12 17 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17731482.30043 -13812318.85942 21973440.252 21973444.947 21973439.791
+ 1191.912 928.763 54.000 48.000
+ -10519678.54843 -8180625.14942 22874506.720 22874511.884 22874505.263
+ -3082.778 -2402.165 50.000 44.000
+ -16092684.57343 -12495240.71442 21986090.401 21986094.345 21986088.976
+ -2957.675 -2304.682 52.000 46.000
+ -19961782.98043 -15509756.92842 21618743.962 21618748.212 21618742.701
+ -2238.974 -1744.655 53.000 47.000
+ -3178153.14143 -2465297.07242 24724285.410 24724296.098 24724285.617
+ -2938.634 -2289.845 45.000 38.000
+ -19875944.08643 -15447740.32842 21866449.123 21866452.707 21866448.418
+ 2654.186 2068.197 55.000 48.000
+ -2283579.34743 -1724382.15342 24409595.673 24409600.848 24409596.896
+ -1903.097 -1482.933 45.000 38.000
+ -8802450.27943 -6846741.12142 23620826.753 23620830.540 23620824.587
+ 1758.838 1370.523 48.000 43.000
+ -13225466.47543 -10270474.59142 22797713.141 22797718.245 22797710.723
+ 3060.543 2384.839 51.000 45.000
+ 04 2 1 12 17 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17767014.36543 -13840006.15142 21966679.222 21966682.880 21966678.672
+ 1177.373 917.434 55.000 48.000
+ -10427136.08443 -8108514.18542 22892116.070 22892121.409 22892115.159
+ -3086.193 -2404.826 50.000 44.000
+ -16003867.11643 -12426032.32642 22002992.335 22002995.267 22002989.737
+ -2963.090 -2308.901 52.000 45.000
+ -19894423.73343 -15457269.23942 21631562.228 21631566.432 21631561.266
+ -2251.085 -1754.092 53.000 47.000
+ -3089905.23343 -2396532.66142 24741081.413 24741088.553 24741079.246
+ -2944.550 -2294.454 46.000 39.000
+ -19955452.11743 -15509694.61542 21851319.872 21851322.980 21851318.583
+ 2646.793 2062.436 55.000 49.000
+ -2226477.84843 -1679887.48542 24420462.936 24420467.372 24420460.714
+ -1903.127 -1482.956 46.000 38.000
+ -8855217.07543 -6887858.07042 23610784.577 23610788.659 23610783.335
+ 1759.520 1371.055 48.000 42.000
+ -13317208.05043 -10341961.47142 22780254.222 22780259.730 22780253.539
+ 3056.138 2381.406 51.000 44.000
+ 04 2 1 12 18 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17802104.61843 -13867349.18742 21960001.120 21960005.512 21960000.839
+ 1162.914 906.167 54.000 48.000
+ -10334489.02143 -8036321.71742 22909746.942 22909751.902 22909744.754
+ -3089.353 -2407.288 50.000 44.000
+ -15914890.00143 -12356699.52742 22019923.806 22019927.009 22019921.630
+ -2967.949 -2312.687 52.000 46.000
+ -19826697.46943 -15404495.56142 21644449.648 21644454.711 21644449.327
+ -2263.047 -1763.413 53.000 47.000
+ -3001469.12243 -2327621.59242 24757910.324 24757919.484 24757906.539
+ -2950.726 -2299.267 46.000 38.000
+ -20034735.56243 -15571473.90042 21836232.474 21836235.359 21836231.419
+ 2639.709 2056.916 55.000 49.000
+ -2169377.71743 -1635393.88842 24431328.065 24431331.214 24431326.616
+ -1902.673 -1482.602 46.000 38.000
+ -8908008.16543 -6928993.94642 23600739.715 23600743.862 23600739.287
+ 1760.792 1372.046 48.000 43.000
+ -13408814.53843 -10413343.07542 22762822.513 22762827.883 22762821.556
+ 3051.863 2378.075 51.000 45.000
+ 04 2 1 12 18 30.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17836754.67643 -13894349.20042 21953407.673 21953411.528 21953407.129
+ 1147.418 894.092 54.000 48.000
+ -10241744.68443 -7964053.43342 22927394.545 22927400.660 22927394.011
+ -3093.287 -2410.353 50.000 44.000
+ -15825759.58743 -12287247.27742 22036884.711 22036887.897 22036882.828
+ -2973.710 -2317.177 52.000 45.000
+ -19758611.18943 -15351441.34442 21657406.392 21657410.555 21657405.161
+ -2275.691 -1773.266 53.000 46.000
+ -2912849.85243 -2258567.84242 24774774.779 24774781.806 24774772.869
+ -2956.941 -2304.110 46.000 38.000
+ -20113795.48543 -15633079.00942 21821187.777 21821191.177 21821186.567
+ 2631.393 2050.436 55.000 49.000
+ -2112281.91343 -1590903.67542 24442192.771 24442197.101 24442192.525
+ -1903.235 -1483.040 46.000 39.000
+ -8960828.15343 -6970152.31642 23590687.951 23590693.085 23590688.098
+ 1760.860 1372.099 49.000 43.000
+ -13500286.44543 -10484619.83642 22745415.357 22745420.825 22745414.864
+ 3046.497 2373.894 52.000 45.000
+ 04 2 1 12 19 0.0000000 0 9G 4G29G 7G26G 8G 9G28G 5G24
+ -17870958.30543 -13921001.35642 21946898.896 21946902.903 21946898.741
+ 1132.519 882.482 55.000 48.000
+ -10148901.69643 -7891708.29942 22945062.531 22945067.831 22945062.452
+ -3096.639 -2412.965 50.000 44.000
+ -15736473.98243 -12217674.10042 22053875.577 22053877.861 22053873.362
+ -2979.003 -2321.301 52.000 45.000
+ -19690163.79643 -15298105.73842 21670431.222 21670436.044 21670430.617
+ -2287.602 -1782.547 53.000 46.000
+ -2824044.38243 -2189369.00542 24791674.389 24791680.026 24791671.612
+ -2963.380 -2309.127 46.000 37.000
+ -20192624.91943 -15694504.52442 21806186.291 21806190.209 21806185.704
+ 2623.712 2044.451 55.000 48.000
+ -2055185.57643 -1546413.07642 24453058.334 24453061.094 24453057.884
+ -1903.128 -1482.957 45.000 39.000
+ -9013672.66343 -7011329.80542 23580632.178 23580635.469 23580631.173
+ 1761.810 1372.839 48.000 42.000
+ -13591616.50443 -10555786.06342 22728036.619 22728042.076 22728035.556
+ 3041.730 2370.179 52.000 45.000
+ 04 2 1 12 19 30.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -17904712.13043 -13947303.01542 21940475.661 21940479.900 21940475.023
+ 1117.201 870.546 55.000 48.000
+ -940781.26853 -712967.30652 24658811.180 24658817.433 24658811.230
+ 3579.367 2789.117 41.000 35.000
+ -10055962.03143 -7819287.82242 22962748.249 22962753.841 22962747.545
+ -3100.012 -2415.594 49.000 43.000
+ -15647034.37743 -12147980.91742 22070895.870 22070898.845 22070893.158
+ -2984.311 -2325.437 52.000 45.000
+ -19621357.34043 -15244490.35742 21683524.958 21683529.816 21683524.066
+ -2300.080 -1792.270 53.000 46.000
+ -2735053.14443 -2120025.45542 24808608.451 24808613.125 24808606.376
+ -2969.586 -2313.963 43.000 36.000
+ -20271220.17943 -15755747.56042 21791230.763 21791233.563 21791229.585
+ 2615.512 2038.061 55.000 49.000
+ -1998086.93443 -1501920.67742 24463924.068 24463928.792 24463922.948
+ -1903.844 -1483.515 46.000 39.000
+ -9066540.82643 -7052525.74042 23570570.952 23570575.307 23570570.707
+ 1762.216 1373.155 49.000 43.000
+ -13682800.27943 -10626838.29342 22710684.426 22710689.927 22710683.648
+ 3036.609 2366.189 52.000 45.000
+ 04 2 1 12 20 0.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -17938021.40643 -13973258.26142 21934137.312 21934142.047 21934136.451
+ 1102.865 859.375 55.000 48.000
+ -1048259.93643 -796716.64542 24638357.138 24638365.066 24638358.263
+ 3585.412 2793.828 42.000 36.000
+ -9962936.12243 -7746800.13742 22980451.290 22980456.295 22980449.608
+ -3102.170 -2417.275 50.000 43.000
+ -15557450.39043 -12078175.22142 22087942.598 22087945.118 22087940.922
+ -2988.390 -2328.615 52.000 45.000
+ -19552202.19143 -15190603.26342 21696684.980 21696689.469 21696684.750
+ -2310.898 -1800.700 52.000 46.000
+ -2645884.49043 -2050543.59842 24825578.555 24825583.673 24825571.368
+ -2975.326 -2318.436 39.000 35.000
+ -20349585.66343 -15816811.55442 21776317.974 21776321.577 21776316.973
+ 2608.351 2032.481 55.000 49.000
+ -1940992.66743 -1457431.67542 24474789.776 24474794.091 24474787.321
+ -1903.360 -1483.138 45.000 38.000
+ -9119440.26643 -7093746.02742 23560506.203 23560508.314 23560505.003
+ 1763.851 1374.429 49.000 43.000
+ -13773841.39343 -10697779.37142 22693360.560 22693365.023 22693358.769
+ 3032.293 2362.826 52.000 45.000
+ 04 2 1 12 20 30.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -17970877.51343 -13998860.40542 21927885.407 21927889.336 21927884.738
+ 1087.137 847.120 55.000 48.000
+ -1155890.11043 -880584.09142 24617876.941 24617885.644 24617875.436
+ 3589.691 2797.162 44.000 37.000
+ -9869820.69543 -7674242.70042 22998169.610 22998175.562 22998169.289
+ -3105.762 -2420.074 50.000 43.000
+ -15467718.07943 -12008253.95642 22105018.712 22105019.995 22105016.640
+ -2994.012 -2332.996 53.000 45.000
+ -19482695.19443 -15136442.00242 21709911.163 21709916.858 21709910.415
+ -2323.192 -1810.279 52.000 46.000
+ -2556533.52343 -1980919.69642 24842578.185 24842588.419 24842575.429
+ -2982.014 -2323.647 37.000 34.000
+ -20427712.25843 -15877689.39942 21761451.154 21761454.278 21761450.179
+ 2599.689 2025.732 55.000 49.000
+ -1883895.76643 -1412940.63642 24485653.073 24485655.973 24485653.558
+ -1903.929 -1483.581 45.000 37.000
+ -9172364.64043 -7134985.77042 23550434.003 23550438.429 23550433.868
+ 1764.087 1374.613 49.000 43.000
+ -13864730.35843 -10768601.88542 22676064.268 22676069.516 22676063.392
+ 3026.695 2358.464 52.000 45.000
+ 04 2 1 12 21 0.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18003278.65343 -14024108.01742 21921718.911 21921723.390 21921718.540
+ 1072.706 835.875 54.000 48.000
+ -1263668.98643 -964567.36342 24597368.703 24597376.049 24597366.678
+ 3595.212 2801.464 45.000 37.000
+ -9776618.93743 -7601617.99842 23015905.759 23015911.593 23015906.292
+ -3107.971 -2421.795 49.000 43.000
+ -15377839.82943 -11938218.97342 22122120.860 22122124.234 22122119.840
+ -2998.190 -2336.252 52.000 45.000
+ -19412839.41243 -15082008.95442 21723205.178 21723209.377 21723203.540
+ -2334.122 -1818.796 53.000 46.000
+ -7193261.26953 -5593954.47052 24859620.144 24859622.897 24859614.780
+ -2987.302 -2327.768 39.000 34.000
+ -20505597.33243 -15938379.04942 21746630.299 21746633.166 21746629.113
+ 2592.383 2020.039 55.000 49.000
+ -1826795.50643 -1368446.93542 24496520.516 24496521.068 24496517.746
+ -1903.315 -1483.102 46.000 38.000
+ -9225314.33243 -7176245.19442 23540359.265 23540362.091 23540357.949
+ 1765.517 1375.728 49.000 43.000
+ -13955463.87843 -10839303.29342 22658798.236 22658803.434 22658797.317
+ 3022.141 2354.915 52.000 45.000
+ 04 2 1 12 21 30.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18035226.61643 -14049002.49942 21915639.997 21915643.802 21915639.148
+ 1057.629 824.126 55.000 48.000
+ -1371597.66543 -1048667.37342 24576830.828 24576837.959 24576827.566
+ 3600.438 2805.536 44.000 37.000
+ -9683337.47443 -7528931.18342 23033656.967 23033661.480 23033655.300
+ -3110.354 -2423.652 49.000 43.000
+ -15287821.76043 -11868075.02542 22139251.700 22139254.532 22139249.945
+ -3002.685 -2339.754 53.000 45.000
+ -19342641.94443 -15027309.66642 21736562.049 21736566.691 21736561.519
+ -2345.238 -1827.458 52.000 46.000
+ -7103553.22843 -5524052.31542 24876688.327 24876694.899 24876689.011
+ -2992.564 -2331.868 38.000 34.000
+ -20583242.07143 -15998881.42242 21731855.096 21731858.440 21731853.614
+ 2584.408 2013.824 55.000 49.000
+ -1769695.19843 -1323953.21142 24507384.034 24507390.000 24507383.531
+ -1903.219 -1483.028 45.000 38.000
+ -9278292.95543 -7217527.19642 23530277.352 23530280.015 23530275.996
+ 1766.710 1376.657 50.000 43.000
+ -14046043.05443 -10909884.40442 22641561.306 22641566.771 22641560.193
+ 3016.924 2350.850 51.000 45.000
+ 04 2 1 12 22 0.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18066715.75543 -14073539.45742 21909648.006 21909651.847 21909646.920
+ 1042.737 812.522 55.000 48.000
+ -1479670.38143 -1132879.64342 24556264.912 24556273.437 24556261.830
+ 3605.637 2809.587 45.000 38.000
+ -9589976.15843 -7456182.15342 23051423.579 23051428.859 23051422.149
+ -3112.667 -2425.455 50.000 43.000
+ -15197662.57043 -11797821.13442 22156406.973 22156410.424 22156405.985
+ -3006.768 -2342.936 51.000 45.000
+ -19272102.47243 -14972343.87742 21749986.360 21749990.066 21749985.779
+ -2356.235 -1836.027 53.000 46.000
+ -7013667.13243 -5454011.43342 24893790.921 24893802.267 24893791.263
+ -2999.195 -2337.035 36.000 34.000
+ -20660640.28343 -16059191.69542 21717126.622 21717130.067 21717125.688
+ 2576.605 2007.744 55.000 49.000
+ -1712590.44043 -1279456.02342 24518253.869 24518257.233 24518250.564
+ -1902.039 -1482.108 46.000 38.000
+ -9331297.50643 -7258829.39142 23520190.082 23520194.259 23520189.394
+ 1768.064 1377.712 49.000 43.000
+ -14136460.58243 -10980339.55242 22624355.318 22624360.847 22624354.222
+ 3012.052 2347.054 51.000 45.000
+ 04 2 1 12 22 30.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18097748.04243 -14097720.42842 21903742.180 21903746.339 21903741.924
+ 1026.799 800.103 55.000 48.000
+ -1587887.73943 -1217204.61542 24535671.033 24535678.735 24535669.163
+ 3609.635 2812.703 46.000 39.000
+ -9496541.77643 -7383376.18942 23069204.220 23069208.155 23069202.457
+ -3115.737 -2427.847 50.000 44.000
+ -15107368.46243 -11727462.09342 22173589.856 22173592.986 22173588.204
+ -3012.100 -2347.091 51.000 45.000
+ -19201227.98443 -14917117.02842 21763473.387 21763477.358 21763472.073
+ -2367.901 -1845.118 52.000 46.000
+ -6923608.15443 -5383835.79442 24910928.986 24910939.162 24910929.774
+ -3004.829 -2341.425 35.000 33.000
+ -20737792.72743 -16119310.46642 21702444.699 21702448.161 21702443.935
+ 2567.499 2000.649 55.000 49.000
+ -1655484.34743 -1234957.85242 24529117.663 24529123.111 24529117.480
+ -1903.515 -1483.258 44.000 38.000
+ -9384331.92443 -7300154.85242 23510097.665 23510102.373 23510096.963
+ 1768.333 1377.922 49.000 43.000
+ -14226717.15143 -11050669.28742 22607179.693 22607185.268 22607178.135
+ 3005.964 2342.310 51.000 45.000
+ 04 2 1 12 23 0.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18128334.10843 -14121553.69642 21897921.020 21897926.022 21897920.764
+ 1011.182 787.934 55.000 48.000
+ -1696259.88143 -1301650.18842 24515048.003 24515056.069 24515046.988
+ 3613.677 2815.852 46.000 39.000
+ -9403050.04043 -7310525.52442 23086992.835 23086998.107 23086993.080
+ -3118.371 -2429.899 49.000 43.000
+ -15016954.42343 -11657009.61442 22190795.016 22190799.210 22190792.983
+ -3016.650 -2350.636 51.000 45.000
+ -19130034.36443 -14861641.51842 21777020.416 21777025.601 21777020.283
+ -2379.343 -1854.033 52.000 46.000
+ -6833390.21043 -5313536.34242 24928099.984 24928103.058 24928096.655
+ -3010.596 -2345.919 41.000 34.000
+ -20814709.70643 -16179245.75842 21687807.657 21687811.646 21687806.579
+ 2559.056 1994.070 55.000 49.000
+ -1598389.06043 -1190468.04542 24539984.944 24539988.301 24539984.322
+ -1903.846 -1483.516 47.000 38.000
+ -9437409.03243 -7341513.58242 23499997.219 23500001.414 23499997.126
+ 1769.062 1378.490 48.000 43.000
+ -14316822.11043 -11120880.87342 22590033.584 22590038.800 22590032.719
+ 3000.027 2337.683 51.000 45.000
+ 04 2 1 12 23 30.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18158439.16743 -14145012.16342 21892192.896 21892197.400 21892192.435
+ 995.536 775.742 55.000 48.000
+ -1804751.55643 -1386188.90642 24494401.898 24494410.892 24494401.389
+ 3618.490 2819.603 46.000 39.000
+ -9309471.19743 -7237606.99442 23104801.738 23104806.509 23104801.074
+ -3120.618 -2431.650 50.000 43.000
+ -14926390.09843 -11586440.02542 22208028.172 22208032.193 22208027.485
+ -3021.296 -2354.257 51.000 45.000
+ -19058492.00043 -14805894.26442 21790634.944 21790639.942 21790633.724
+ -2390.427 -1862.670 52.000 46.000
+ 24945299.878
+ -3016.281 -2350.349 35.000
+ -20891355.55543 -16238969.78142 21673221.864 21673226.232 21673220.942
+ 2550.354 1987.289 55.000 49.000
+ -1541271.24143 -1145960.70642 24550852.731 24550857.808 24550851.745
+ -1904.123 -1483.732 46.000 38.000
+ -9490496.12343 -7382880.10142 23489895.448 23489900.578 23489894.462
+ 1769.685 1378.975 49.000 43.000
+ -14406739.35343 -11190946.19342 22572923.631 22572928.602 22572922.192
+ 2994.094 2333.060 51.000 46.000
+ 04 2 1 12 24 0.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18188083.60043 -14168111.69842 21886551.695 21886555.672 21886551.272
+ 980.022 763.654 55.000 48.000
+ -1913381.85143 -1470835.64742 24473730.975 24473739.265 24473729.123
+ 3622.716 2822.896 47.000 40.000
+ -9215830.33643 -7164640.14142 23122621.372 23122624.980 23122619.907
+ -3122.939 -2433.459 50.000 44.000
+ -14835699.52143 -11515772.04842 22225285.600 22225290.963 22225284.738
+ -3025.982 -2357.908 50.000 45.000
+ -18986626.11943 -14749894.92342 21804310.231 21804315.267 21804309.741
+ -2401.475 -1871.279 52.000 46.000
+ 24962537.651
+ -3022.462 -2355.165 38.000
+ -20967749.38843 -16298497.42342 21658684.729 21658688.603 21658683.866
+ 2541.577 1980.450 55.000 49.000
+ -1484151.91743 -1101452.15642 24561722.651 24561725.000 24561721.053
+ -1904.457 -1483.992 45.000 37.000
+ -9543615.42843 -7424271.72142 23479787.105 23479790.459 23479785.555
+ 1770.686 1379.755 49.000 43.000
+ -14496488.14743 -11260880.26942 22555845.119 22555849.227 22555844.018
+ 2988.129 2328.412 53.000 46.000
+ 04 2 1 12 24 30.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18217261.23843 -14190847.49442 21880999.066 21881003.430 21880998.919
+ 965.006 751.953 55.000 48.000
+ -2022144.26243 -1555585.35542 24453033.241 24453041.199 24453031.622
+ 3627.666 2826.753 46.000 40.000
+ -9122126.57843 -7091624.27142 23140452.438 23140456.704 23140452.221
+ -3124.403 -2434.600 50.000 43.000
+ -14744881.44243 -11445004.73442 22242568.443 22242572.248 22242566.728
+ -3029.116 -2360.350 51.000 45.000
+ -18914436.14243 -14693643.03342 21818048.390 21818053.610 21818047.875
+ -2411.583 -1879.155 52.000 46.000
+ 24979808.494
+ -3027.225 -2358.877 41.000
+ -21043884.60843 -16357823.55542 21644197.381 21644201.079 21644196.390
+ 2533.593 1974.228 55.000 49.000
+ -1427026.74643 -1056939.04342 24572593.755 24572598.545 24572591.562
+ -1904.371 -1483.925 45.000 37.000
+ -9596763.17643 -7465685.49142 23469674.631 23469677.345 23469672.519
+ 1772.089 1380.849 50.000 43.000
+ -14586060.95743 -11330677.21242 22538800.258 22538804.981 22538798.272
+ 2982.764 2324.232 53.000 46.000
+ 04 2 1 12 25 0.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18245971.84143 -14213219.36242 21875536.161 21875540.103 21875535.396
+ 949.220 739.652 55.000 48.000
+ -2131037.40343 -1640436.91642 24432311.905 24432318.879 24432310.193
+ 3631.688 2829.887 46.000 40.000
+ -9028364.51043 -7018562.97842 23158294.686 23158299.716 23158294.139
+ -3126.450 -2436.195 49.000 43.000
+ -14653939.26943 -11374140.72142 22259874.065 22259877.748 22259872.983
+ -3033.784 -2363.987 50.000 44.000
+ -18841926.60343 -14637142.13042 21831846.005 21831850.147 21831845.596
+ -2422.340 -1887.538 52.000 46.000
+ 24997105.298
+ -3033.434 -2363.715 39.000
+ -21119759.97043 -16416947.20842 21629758.476 21629762.006 21629757.496
+ 2524.783 1967.363 55.000 49.000
+ -1369896.22943 -1012421.83342 24583466.078 24583468.908 24583462.780
+ -1904.552 -1484.066 44.000 37.000
+ -9649941.00943 -7507122.73042 23459553.253 23459558.208 23459552.419
+ 1773.019 1381.573 49.000 43.000
+ -14675455.91643 -11400335.56842 22521788.388 22521792.434 22521787.192
+ 2976.687 2319.496 53.000 46.000
+ 04 2 1 12 25 30.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18274210.09043 -14235223.16542 21870162.727 21870166.989 21870161.912
+ 932.720 726.795 55.000 48.000
+ -2240055.22743 -1725385.63642 24411564.957 24411572.749 24411562.381
+ 3635.378 2832.762 46.000 40.000
+ -8934543.66243 -6945455.87342 23176147.822 23176153.374 23176146.766
+ -3128.929 -2438.126 49.000 43.000
+ -14562872.16443 -11303179.35142 22277203.982 22277208.468 22277202.510
+ -3037.847 -2367.153 50.000 45.000
+ -18769097.49843 -14580392.21542 21845703.769 21845709.148 21845703.021
+ -2433.333 -1896.104 51.000 45.000
+ 25014438.902
+ -3039.684 -2368.585 38.000
+ -21195369.49443 -16475863.71142 21615370.232 21615374.322 21615369.224
+ 2515.232 1959.921 55.000 49.000
+ -1312756.57543 -967897.45942 24594338.291 24594340.778 24594337.654
+ -1905.333 -1484.675 46.000 37.000
+ -9703145.25943 -7548580.55142 23449429.000 23449433.908 23449428.289
+ 1773.365 1381.843 49.000 43.000
+ -14764666.19843 -11469850.01742 22504811.952 22504817.259 22504809.932
+ 2970.007 2314.291 52.000 46.000
+ 04 2 1 12 26 0.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18301976.80543 -14256859.53942 21864878.371 21864883.187 21864877.765
+ 917.981 715.310 55.000 48.000
+ -2349197.55643 -1810431.39642 24390795.517 24390805.709 24390794.527
+ 3640.430 2836.699 46.000 40.000
+ -8840669.73343 -6872307.40142 23194011.921 23194016.893 23194011.327
+ -3129.562 -2438.620 49.000 43.000
+ -14471684.69143 -11232124.19042 22294555.679 22294560.427 22294554.536
+ -3041.131 -2369.712 50.000 44.000
+ -18695954.42143 -14523397.65042 21859622.498 21859628.087 21859622.327
+ -2442.854 -1903.522 51.000 45.000
+ 25031802.957
+ -3044.290 -2372.174 37.000
+ -21270712.89743 -16534572.84342 21601032.898 21601037.078 21601032.191
+ 2507.377 1953.800 55.000 49.000
+ -1255609.46043 -923367.22542 24605214.339 24605215.722 24605211.763
+ -1904.739 -1484.212 47.000 38.000
+ -9756378.68843 -7590061.09742 23439300.118 23439302.462 23439297.926
+ 1775.316 1383.363 50.000 43.000
+ -14853691.40243 -11539220.25142 22487870.565 22487875.808 22487869.625
+ 2964.685 2310.144 52.000 46.000
+ 04 2 1 12 26 30.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18329270.37243 -14278127.22042 21859684.962 21859688.973 21859684.291
+ 902.161 702.983 55.000 48.000
+ -2458461.81343 -1895572.16842 24370003.403 24370011.446 24370001.931
+ 3644.047 2839.517 46.000 40.000
+ -8746745.86443 -6799120.02742 23211886.024 23211889.774 23211884.312
+ -3131.326 -2439.994 50.000 43.000
+ -14380379.35743 -11160977.20342 22311930.752 22311934.759 22311929.277
+ -3045.284 -2372.948 50.000 44.000
+ -18622501.00943 -14466161.27442 21873601.376 21873606.481 21873600.364
+ -2453.241 -1911.616 52.000 45.000
+ 25049195.757
+ -3050.570 -2377.067 39.000
+ -21345787.55243 -16593072.56042 21586746.912 21586750.497 21586746.048
+ 2498.237 1946.678 56.000 49.000
+ -1198454.39343 -878830.84742 24616089.026 24616093.747 24616090.087
+ -1905.018 -1484.430 46.000 39.000
+ -9809642.19243 -7631565.07642 23429162.925 23429166.493 23429163.080
+ 1776.240 1384.083 49.000 43.000
+ -14942528.24643 -11608443.71142 22470965.288 22470971.075 22470964.131
+ 2958.369 2305.223 52.000 46.000
+ 04 2 1 12 27 0.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18356089.12243 -14299024.92242 21854581.174 21854585.057 21854580.440
+ 885.560 690.047 55.000 48.000
+ -2567845.46043 -1980805.98342 24349187.336 24349196.531 24349185.650
+ 3647.655 2842.329 46.000 40.000
+ -8652775.40843 -6725896.34542 23229766.989 23229771.440 23229766.824
+ -3133.480 -2441.673 49.000 43.000
+ -14288958.95943 -11089740.55542 22329326.982 22329331.956 22329326.102
+ -3049.560 -2376.280 49.000 44.000
+ -18548740.83143 -14408685.84042 21887636.725 21887643.279 21887635.934
+ -2464.128 -1920.100 51.000 45.000
+ 25066621.042
+ -3054.458 -2380.097 37.000
+ -21420591.05943 -16651360.99942 21572512.666 21572515.451 21572511.606
+ 2488.560 1939.138 56.000 49.000
+ -1141291.04243 -834287.98742 24626964.608 24626971.724 24626965.036
+ -1906.111 -1485.281 42.000 38.000
+ -9862935.94643 -7673092.65942 23419021.328 23419024.420 23419021.686
+ 1776.500 1384.286 49.000 43.000
+ -15031173.94943 -11677518.23342 22454096.887 22454102.064 22454095.440
+ 2951.334 2299.741 52.000 46.000
+ 04 2 1 12 27 30.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18382431.53343 -14319551.45242 21849568.298 21849572.523 21849567.941
+ 870.176 678.059 55.000 48.000
+ -2677346.16843 -2066131.00542 24328351.181 24328357.773 24328349.435
+ 3651.893 2845.631 46.000 40.000
+ -8558761.89743 -6652639.10542 23247657.700 23247662.894 23247655.899
+ -3134.299 -2442.311 49.000 43.000
+ -14197425.83743 -11018416.04342 22346745.455 22346749.225 22346743.987
+ -3052.818 -2378.819 50.000 44.000
+ -18474677.44243 -14350974.14642 21901731.137 21901736.030 21901730.451
+ -2473.686 -1927.547 52.000 45.000
+ 25084080.627
+ -3060.448 -2384.765 39.000
+ -21495120.96543 -16709436.23742 21558329.887 21558332.676 21558328.894
+ 2479.762 1932.282 56.000 49.000
+ -1084119.31043 -789738.63542 24637845.419 24637850.403 24637845.115
+ -1905.982 -1485.181 43.000 37.000
+ -9916260.08643 -7714643.88242 23408875.376 23408880.260 23408873.377
+ 1777.941 1385.409 49.000 43.000
+ -15119625.52343 -11746441.48642 22437265.110 22437270.285 22437263.743
+ 2945.156 2294.927 52.000 46.000
+ 04 2 1 12 28 0.0000000 0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18408294.62643 -14339704.49342 21844647.675 21844651.249 21844646.568
+ 854.595 665.918 56.000 48.000
+ -2786959.27643 -2151543.63142 24307491.102 24307500.350 24307490.473
+ 3656.085 2848.897 46.000 40.000
+ -8464706.42543 -6579349.18342 23265554.865 23265560.418 23265553.928
+ -3135.131 -2442.959 49.000 43.000
+ -14105780.76843 -10947004.32242 22364185.150 22364188.925 22364184.286
+ -3056.069 -2381.352 50.000 44.000
+ -18400312.45243 -14293027.43642 21915882.023 21915887.000 21915881.303
+ -2483.344 -1935.073 52.000 45.000
+ 25101566.925
+ -3065.286 -2388.534 40.000
+ -21569372.97343 -16767294.94142 21544199.900 21544203.275 21544198.947
+ 2470.852 1925.339 56.000 49.000
+ -1026936.73943 -745180.84142 24648727.688 24648731.611 24648726.240
+ -1905.801 -1485.040 45.000 38.000
+ -9969613.27243 -7756217.75342 23398721.733 23398725.233 23398720.921
+ 1779.365 1386.518 49.000 42.000
+ -15207878.14043 -11815209.70442 22420470.356 22420476.349 22420469.361
+ 2938.772 2289.952 52.000 46.000
+ 04 2 1 12 28 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18433676.85843 -14359482.83342 21839816.600 21839820.695 21839815.982
+ 838.232 653.168 55.000 48.000
+ -2896682.69843 -2237042.21442 24286611.961 24286620.600 24286610.682
+ 3659.403 2851.483 46.000 40.000
+ -8370612.57043 -6506029.35742 23283459.887 23283465.216 23283459.487
+ -3136.984 -2444.403 49.000 43.000
+ -14014026.32543 -10875507.37642 22381645.761 22381649.931 22381644.488
+ -3060.153 -2384.535 50.000 44.000
+ -18325649.63143 -14234848.66042 21930090.565 21930094.992 21930090.474
+ -2493.564 -1943.037 52.000 45.000
+ -21643344.74943 -16824935.27742 21530123.471 21530127.168 21530122.492
+ 2461.203 1917.821 56.000 49.000
+ -969742.91843 -700614.24742 24659612.946 24659615.242 24659610.893
+ -1906.508 -1485.591 46.000 38.000
+ -10022995.99143 -7797814.62842 23388563.013 23388568.944 23388562.169
+ 1780.026 1387.033 48.000 43.000
+ -15295928.90243 -11883820.64542 22403715.358 22403720.728 22403713.607
+ 2931.838 2284.549 52.000 46.000
+ 04 2 1 12 29 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18458581.00143 -14378888.64442 21835077.433 21835081.518 21835077.242
+ 822.534 640.936 55.000 48.000
+ -3006518.27243 -2322628.17942 24265710.986 24265718.545 24265709.482
+ 3663.279 2854.503 45.000 40.000
+ -8276487.97143 -6432685.56042 23301370.957 23301377.345 23301369.200
+ -3137.355 -2444.692 48.000 42.000
+ -13922169.21443 -10803930.42842 22399125.000 22399130.601 22399124.257
+ -3063.306 -2386.992 50.000 44.000
+ -18250696.90043 -14176443.97142 21944353.215 21944358.108 21944353.146
+ -2502.878 -1950.294 52.000 45.000
+ -21717038.08243 -16882358.63842 21516100.472 21516103.572 21516099.487
+ 2452.145 1910.762 56.000 49.000
+ -912541.69043 -656041.89742 24670496.761 24670500.754 24670494.413
+ -1906.521 -1485.601 44.000 38.000
+ -10076412.78243 -7839438.05342 23378399.622 23378402.617 23378399.189
+ 1781.609 1388.267 50.000 43.000
+ -15383778.96043 -11952275.17542 22386997.317 22387003.928 22386996.809
+ 2925.224 2279.395 52.000 46.000
+ 04 2 1 12 29 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18482999.09743 -14397915.71142 21830430.680 21830435.389 21830430.427
+ 805.662 627.789 55.000 48.000
+ -3116456.42143 -2408294.05542 24244789.951 24244798.195 24244788.226
+ 3666.008 2856.630 45.000 40.000
+ -8182329.09743 -6359315.06042 23319288.926 23319295.884 23319288.155
+ -3139.262 -2446.178 47.000 42.000
+ -13830205.49543 -10732270.40642 22416625.220 22416629.833 22416623.786
+ -3067.096 -2389.945 50.000 44.000
+ -18175450.92743 -14117810.78642 21958671.796 21958676.893 21958671.320
+ -2513.204 -1958.341 51.000 45.000
+ -21790443.98343 -16939558.03842 21502131.322 21502135.016 21502130.497
+ 2441.929 1902.802 56.000 49.000
+ -855326.17343 -611458.37642 24681382.553 24681388.106 24681381.201
+ -1907.654 -1486.484 43.000 37.000
+ -10129857.59143 -7881083.30542 23368229.692 23368232.471 23368228.013
+ 1781.893 1388.488 50.000 43.000
+ -15471418.60243 -12020565.75242 22370320.718 22370326.146 22370319.110
+ 2917.647 2273.491 52.000 46.000
+ 04 2 1 12 30 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18506933.48543 -14416565.85342 21825876.511 21825880.589 21825875.855
+ 790.209 615.747 55.000 48.000
+ -3226498.51143 -2494040.94042 24223850.053 24223857.993 24223848.591
+ 3670.113 2859.828 45.000 40.000
+ -8088143.20643 -6285923.53442 23337212.333 23337218.756 23337210.972
+ -3139.426 -2446.306 46.000 42.000
+ -13738141.37743 -10660532.15042 22434144.551 22434149.341 22434143.138
+ -3070.008 -2392.214 50.000 44.000
+ -18099919.35643 -14058955.05942 21973045.162 21973050.113 21973044.348
+ -2522.029 -1965.217 51.000 45.000
+ -21863563.73343 -16996534.45942 21488217.410 21488220.808 21488216.390
+ 2432.946 1895.802 56.000 49.000
+ -798099.61043 -566866.27242 24692273.984 24692279.754 24692274.482
+ -1907.265 -1486.180 43.000 36.000
+ -10183334.54843 -7922753.61842 23358052.222 23358056.280 23358051.264
+ 1783.341 1389.616 49.000 43.000
+ -15558848.86243 -12088693.18042 22353683.139 22353689.014 22353682.118
+ 2911.288 2268.536 53.000 46.000
+ 04 2 1 12 30 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18530381.20943 -14434836.78742 21821414.358 21821418.721 21821414.045
+ 773.624 602.824 55.000 48.000
+ -3336640.41843 -2579865.60042 24202889.301 24202897.797 24202888.669
+ 3672.986 2862.067 44.000 39.000
+ -7993931.82843 -6212512.12742 23355139.933 23355146.207 23355140.005
+ -3140.936 -2447.482 47.000 41.000
+ -13645977.59643 -10588716.25042 22451682.707 22451686.917 22451682.051
+ -3073.670 -2395.067 50.000 44.000
+ -18024104.12043 -13999878.29642 21987472.474 21987478.293 21987471.933
+ -2531.807 -1972.837 51.000 45.000
+ -21936393.13743 -17053284.63342 21474358.505 21474361.457 21474357.275
+ 2422.889 1887.965 56.000 49.000
+ -740860.09143 -522264.09442 24703168.404 24703172.452 24703167.414
+ -1908.168 -1486.884 45.000 37.000
+ -10236842.58843 -7964448.13642 23347869.598 23347873.721 23347867.531
+ 1784.276 1390.345 49.000 43.000
+ -15646065.22643 -12156653.92642 22337086.975 22337092.087 22337085.481
+ 2903.736 2262.651 53.000 47.000
+ 04 2 1 12 31 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18553339.91043 -14452726.66542 21817045.371 21817049.521 21817044.812
+ 757.078 589.931 55.000 48.000
+ -3446878.60443 -2665765.27242 24181912.574 24181919.464 24181911.299
+ 3676.011 2864.424 44.000 39.000
+ -7899697.17943 -6139082.62042 23373072.561 23373079.047 23373071.902
+ -3141.540 -2447.953 47.000 42.000
+ -13553715.66143 -10516823.85742 22469240.021 22469244.560 22469238.451
+ -3076.868 -2397.559 50.000 44.000
+ -17948007.61843 -13940582.37342 22001953.459 22001958.512 22001952.453
+ -2541.154 -1980.120 51.000 45.000
+ -22008928.83343 -17109805.94842 21460555.345 21460558.741 21460554.520
+ 2412.922 1880.199 56.000 49.000
+ -683606.27243 -477650.73742 24714060.762 24714066.540 24714058.759
+ -1908.440 -1487.096 43.000 36.000
+ -10290380.64643 -8006166.06242 23337682.343 23337684.697 23337681.002
+ 1785.357 1391.187 50.000 43.000
+ -15733063.31143 -12224444.58842 22320531.368 22320537.044 22320530.226
+ 2896.228 2256.801 53.000 47.000
+ 04 2 1 12 31 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18575809.93143 -14470235.74842 21812770.000 21812773.942 21812769.285
+ 741.237 577.587 55.000 48.000
+ -3557212.35043 -2751739.41342 24160917.991 24160923.273 24160915.298
+ 3680.113 2867.621 44.000 38.000
+ -7805444.36343 -6065638.94642 23391008.590 23391015.469 23391008.191
+ -3141.520 -2447.938 48.000 42.000
+ -13461359.85743 -10444858.32242 22486814.788 22486818.161 22486813.725
+ -3079.532 -2399.635 50.000 44.000
+ -17871635.41543 -13881071.59842 22016486.411 22016491.434 22016485.608
+ -2550.019 -1987.028 51.000 45.000
+ -22081170.16244 -17166097.88242 21446808.909 21446811.671 21446807.755
+ 2403.562 1872.905 57.000 50.000
+ -626339.28543 -433027.14342 24724958.654 24724962.677 24724957.156
+ -1908.750 -1487.338 43.000 37.000
+ -10343950.71043 -8047908.94142 23327487.098 23327492.008 23327486.000
+ 1786.626 1392.176 49.000 43.000
+ -15819842.13643 -12292064.40342 22304017.903 22304023.226 22304017.060
+ 2889.381 2251.466 53.000 47.000
+ 04 2 1 12 32 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18597786.68843 -14487360.48742 21808587.759 21808591.286 21808586.924
+ 724.771 564.757 55.000 48.000
+ -3667635.52843 -2837783.26142 24139903.008 24139910.636 24139902.012
+ 3682.563 2869.530 42.000 38.000
+ -7711173.20043 -5992180.95042 23408948.892 23408952.888 23408947.118
+ -3142.144 -2448.424 48.000 41.000
+ -13368909.22943 -10372818.89342 22504407.763 22504412.146 22504406.694
+ -3082.980 -2402.322 50.000 44.000
+ -17794987.53943 -13821346.02942 22031071.167 22031077.415 22031071.250
+ -2559.122 -1994.121 51.000 44.000
+ -22153111.29743 -17222155.90342 21433118.003 21433121.652 21433117.498
+ 2393.419 1865.002 56.000 50.000
+ -569055.69743 -388390.57242 24735862.488 24735865.645 24735860.526
+ -1909.194 -1487.684 42.000 37.000
+ -10397550.01243 -8089674.58742 23317288.909 23317292.548 23317286.599
+ 1787.530 1392.881 50.000 43.000
+ -15906395.51143 -12359508.54542 22287546.934 22287553.140 22287545.881
+ 2881.627 2245.424 52.000 47.000
+ 04 2 1 12 32 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18619271.25143 -14504101.67742 21804499.281 21804503.281 21804498.698
+ 707.727 551.476 55.000 48.000
+ -3778147.82143 -2923896.51842 24118871.979 24118882.176 24118872.243
+ 3685.060 2871.475 41.000 37.000
+ -7616889.32743 -5918713.05042 23426889.153 23426896.127 23426888.770
+ -3143.181 -2449.232 48.000 41.000
+ -13276368.51243 -10300709.26942 22522016.728 22522021.396 22522015.581
+ -3086.432 -2405.012 50.000 44.000
+ -17718070.03643 -13761410.34942 22045709.199 22045714.243 22045708.341
+ -2568.519 -2001.443 51.000 45.000
+ -22224752.07344 -17277979.87642 21419485.836 21419488.777 21419484.463
+ 2382.761 1856.697 57.000 50.000
+ -511757.05743 -343742.33542 24746762.672 24746768.104 24746761.928
+ -1910.814 -1488.946 39.000 36.000
+ -10451181.09143 -8131465.00542 23307082.963 23307086.162 23307081.199
+ 1787.958 1393.214 50.000 43.000
+ -15992722.58243 -12426776.34542 22271119.424 22271125.683 22271119.021
+ 2873.373 2238.992 53.000 47.000
+ 04 2 1 12 33 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18640263.58843 -14520459.31742 21800504.562 21800508.571 21800503.421
+ 691.821 539.081 55.000 48.000
+ -3888748.03543 -3010078.29442 24097828.194 24097833.877 24097825.488
+ 3687.885 2873.677 43.000 37.000
+ -7522597.10843 -5845238.65442 23444833.458 23444838.562 23444832.056
+ -3142.906 -2449.018 48.000 42.000
+ -13183741.40243 -10228532.32242 22539643.604 22539647.377 22539642.066
+ -3088.831 -2406.881 49.000 43.000
+ -17640887.73643 -13701268.33142 22060396.572 22060400.520 22060395.107
+ -2576.888 -2007.965 51.000 45.000
+ -22296091.53443 -17333569.06242 21405910.511 21405913.489 21405909.364
+ 2373.207 1849.252 56.000 50.000
+ -454444.40443 -299083.22542 24757671.722 24757673.139 24757669.329
+ -1910.523 -1488.719 41.000 36.000
+ -10504845.40843 -8173281.30942 23296870.244 23296875.073 23296870.220
+ 1789.739 1394.602 49.000 43.000
+ -16078821.73243 -12493866.55242 22254735.207 22254741.212 22254734.238
+ 2866.456 2233.602 53.000 47.000
+ 04 2 1 12 33 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18660760.30443 -14536430.77142 21796603.786 21796607.904 21796603.353
+ 674.043 525.228 55.000 48.000
+ -3999431.37843 -3096324.87442 24076765.591 24076771.413 24076764.583
+ 3689.992 2875.318 43.000 37.000
+ -7428297.90543 -5771758.83242 23462777.430 23462783.006 23462775.381
+ -3144.261 -2450.073 48.000 41.000
+ -13091028.32743 -10156288.39342 22557286.281 22557290.072 22557285.649
+ -3092.736 -2409.924 50.000 44.000
+ -17563442.19543 -13640921.20442 22075132.827 22075138.391 22075132.237
+ -2586.809 -2015.695 50.000 44.000
+ -22367124.96843 -17388919.78042 21392392.468 21392395.899 21392391.551
+ 2361.751 1840.325 56.000 50.000
+ -397115.22143 -254411.17742 24768579.469 24768582.568 24768578.416
+ -1912.179 -1490.010 41.000 36.000
+ -10558541.49843 -8215122.37642 23286652.532 23286656.114 23286650.380
+ 1789.363 1394.309 50.000 43.000
+ -16164687.70143 -12560775.05642 22238395.293 22238400.594 22238394.418
+ 2857.351 2226.507 53.000 47.000
+ 04 2 1 12 34 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18680756.08343 -14552011.87342 21792798.956 21792803.380 21792798.482
+ 658.154 512.847 55.000 48.000
+ -4110191.22143 -3182631.07542 24055687.982 24055696.288 24055685.894
+ 3693.412 2877.983 44.000 37.000
+ -7333990.56743 -5698272.66442 23480722.490 23480731.208 23480723.179
+ -3143.357 -2449.369 48.000 42.000
+ -12998227.57043 -10083976.14542 22574945.931 22574949.240 22574944.039
+ -3094.688 -2411.445 50.000 44.000
+ -17485732.92543 -13580368.57542 22089920.279 22089926.092 22089919.924
+ -2594.640 -2021.797 50.000 44.000
+ -22437845.89343 -17444026.98542 21378934.901 21378938.242 21378933.909
+ 2352.222 1832.900 56.000 50.000
+ -339764.89843 -209722.63542 24779492.361 24779496.994 24779492.080
+ -1912.056 -1489.914 42.000 37.000
+ -10612265.41443 -8256985.14842 23276429.389 23276432.923 23276428.052
+ 1791.199 1395.739 50.000 43.000
+ -16250313.56343 -12627496.47042 22222102.654 22222106.770 22222101.248
+ 2850.149 2220.895 54.000 47.000
+ 04 2 1 12 34 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18700256.03543 -14567206.61742 21789088.400 21789091.900 21789087.769
+ 641.777 500.086 55.000 48.000
+ -4221030.91543 -3268999.53342 24034594.112 24034601.493 24034592.744
+ 3695.566 2879.662 42.000 37.000
+ -7239684.65743 -5624787.62542 23498669.341 23498675.373 23498666.969
+ -3143.648 -2449.596 48.000 42.000
+ -12905347.72343 -10011602.27342 22592620.482 22592624.474 22592619.088
+ -3097.190 -2413.395 50.000 44.000
+ -17407769.70743 -13519618.06142 22104757.708 22104762.072 22104756.156
+ -2602.837 -2028.185 51.000 44.000
+ -22508258.02643 -17498893.57442 21365535.886 21365539.486 21365534.924
+ 2341.927 1824.878 56.000 50.000
+ -282399.44943 -165022.34442 24790408.791 24790414.745 24790407.005
+ -1912.493 -1490.254 43.000 37.000
+ -10666023.65043 -8298874.64342 23266199.884 23266202.134 23266197.093
+ 1792.618 1396.845 50.000 43.000
+ -16335702.86843 -12694033.55742 22205852.533 22205857.905 22205851.505
+ 2842.385 2214.845 53.000 47.000
+ 04 2 1 12 35 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18719244.25243 -14582002.61042 21785474.779 21785478.744 21785474.284
+ 622.992 485.448 55.000 48.000
+ -4331933.26643 -3355416.81042 24013490.083 24013499.355 24013489.946
+ 3696.233 2880.182 44.000 38.000
+ -7145368.89743 -5551294.89442 23516617.919 23516622.517 23516615.659
+ -3145.478 -2451.022 49.000 42.000
+ -12812376.64743 -9939157.30342 22610312.689 22610316.221 22610311.191
+ -3101.896 -2417.062 50.000 44.000
+ -17329541.67643 -13458661.20142 22119643.849 22119648.089 22119642.583
+ -2613.411 -2036.424 51.000 44.000
+ -22578344.04443 -17553506.04642 21352199.014 21352202.809 21352198.344
+ 2329.377 1815.099 56.000 50.000
+ -225003.64343 -120298.34342 24801329.718 24801334.597 24801328.548
+ -1915.308 -1492.448 42.000 37.000
+ -10719801.76143 -8340779.61242 23255965.386 23255969.739 23255964.565
+ 1791.530 1395.997 49.000 43.000
+ -16420837.75543 -12760372.39642 22189652.249 22189657.032 22189650.853
+ 2832.220 2206.925 53.000 47.000
+ 04 2 1 12 35 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18737743.04543 -14596417.23042 21781954.090 21781958.658 21781954.019
+ 608.890 474.460 55.000 48.000
+ -4442919.30543 -3441899.30742 23992371.781 23992377.807 23992370.254
+ 3701.365 2884.181 45.000 38.000
+ -7051069.98743 -5477815.30142 23534562.987 23534568.490 23534561.011
+ -3142.646 -2448.815 49.000 42.000
+ -12719340.20743 -9866661.42442 22628016.858 22628021.440 22628016.116
+ -3101.755 -2416.952 50.000 44.000
+ -17251075.96543 -13397519.12742 22134575.727 22134579.602 22134574.679
+ -2618.950 -2040.740 51.000 44.000
+ -22648125.30643 -17607881.05242 21338920.202 21338923.617 21338919.082
+ 2321.377 1808.865 56.000 50.000
+ -167600.82943 -75568.91442 24812256.329 24812259.567 24812253.166
+ -1913.139 -1490.758 43.000 37.000
+ -10773623.43443 -8382718.55542 23245724.224 23245726.620 23245721.792
+ 1795.264 1398.907 49.000 43.000
+ -16505738.76643 -12826528.98442 22173495.802 22173501.326 22173495.166
+ 2826.636 2202.574 53.000 47.000
+ 04 2 1 12 36 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18755739.12043 -14610440.12542 21778530.092 21778534.158 21778529.517
+ 591.967 461.273 55.000 48.000
+ -4553974.01043 -3528435.31242 23971238.150 23971245.545 23971237.128
+ 3703.380 2885.751 46.000 38.000
+ -6956778.51143 -5404341.51542 23552505.284 23552510.440 23552504.462
+ -3142.573 -2448.758 49.000 42.000
+ -12626228.48143 -9794106.86042 22645735.296 22645739.134 22645734.517
+ -3104.412 -2419.022 50.000 44.000
+ -17172363.67743 -13336184.92842 22149554.131 22149558.790 22149554.049
+ -2627.351 -2047.286 51.000 44.000
+ -22717587.10443 -17662007.11842 21325702.403 21325705.505 21325700.807
+ 2310.455 1800.354 56.000 50.000
+ -110177.94343 -30823.86342 24823180.084 24823186.453 24823179.682
+ -1914.272 -1491.640 41.000 37.000
+ -10827476.80143 -8424682.17742 23235475.244 23235480.357 23235473.990
+ 1796.032 1399.505 49.000 43.000
+ -16590390.55543 -12892491.37642 22157387.520 22157392.504 22157386.625
+ 2817.995 2195.840 53.000 47.000
+ 04 2 1 12 36 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18773228.60543 -14624068.26842 21775202.421 21775205.849 21775201.333
+ 574.078 447.334 56.000 48.000
+ -4665091.80043 -3615020.44342 23950092.761 23950099.923 23950091.277
+ 3704.306 2886.472 46.000 39.000
+ -6862495.31943 -5330874.15642 23570445.564 23570452.521 23570445.015
+ -3143.140 -2449.200 48.000 42.000
+ -12533041.16943 -9721493.40042 22663468.152 22663472.219 22663466.851
+ -3107.714 -2421.595 50.000 44.000
+ -17093405.92343 -13274659.45042 22164579.241 22164584.573 22164578.688
+ -2636.355 -2054.302 51.000 45.000
+ -22786724.21243 -17715880.17942 21312545.458 21312549.048 21312544.425
+ 2298.731 1791.219 56.000 50.000
+ -52732.30243 13938.89842 24834115.032 24834115.293 24834113.748
+ -1915.805 -1492.835 44.000 36.000
+ -10881359.60843 -8466668.73842 23225222.211 23225225.522 23225221.603
+ 1796.136 1399.586 50.000 44.000
+ -16674787.65443 -12958255.29742 22141326.757 22141332.123 22141325.707
+ 2808.597 2188.517 53.000 47.000
+ 04 2 1 12 37 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18790215.22543 -14637304.58142 21771969.331 21771973.329 21771968.565
+ 558.076 434.864 55.000 48.000
+ -4776275.04543 -3701656.58442 23928935.203 23928941.672 23928933.849
+ 3707.514 2888.972 46.000 39.000
+ -6768228.09343 -5257419.25542 23588385.069 23588390.125 23588384.330
+ -3141.725 -2448.097 48.000 42.000
+ -12439785.29343 -9648826.52442 22681214.616 22681217.738 22681212.768
+ -3109.453 -2422.950 50.000 44.000
+ -17014211.11443 -13212949.26442 22179649.914 22179654.825 22179649.409
+ -2643.462 -2059.840 51.000 45.000
+ -22855539.13143 -17769502.18942 21299450.973 21299453.869 21299449.829
+ 2288.711 1783.411 56.000 50.000
+ 4731.97043 58716.26842 24845047.821 24845052.469 24845047.203
+ -1915.405 -1492.523 42.000 36.000
+ -10935276.52943 -8508681.89842 23214962.674 23214965.413 23214960.925
+ 1798.016 1401.051 50.000 43.000
+ -16758931.67643 -13023822.02442 22125314.500 22125319.979 22125313.937
+ 2800.778 2182.424 53.000 47.000
+ 04 2 1 12 37 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18806694.60843 -14650145.64042 21768833.548 21768837.637 21768832.827
+ 540.619 421.262 55.000 48.000
+ -4887517.59743 -3788338.98242 23907765.565 23907773.372 23907764.870
+ 3708.682 2889.882 46.000 39.000
+ -6673976.85743 -5183976.79842 23606319.546 23606327.350 23606319.021
+ -3141.642 -2448.033 48.000 42.000
+ -12346460.11243 -9576105.63342 22698974.209 22698977.932 22698973.682
+ -3112.224 -2425.110 50.000 44.000
+ -16934779.66443 -13151054.66742 22194764.648 22194769.036 22194763.868
+ -2651.720 -2066.275 51.000 44.000
+ -22924026.01943 -17822868.57842 21286418.108 21286421.222 21286417.059
+ 2277.205 1774.445 56.000 50.000
+ 62218.49443 103510.92842 24855989.443 24855993.018 24855987.064
+ -1916.950 -1493.727 44.000 37.000
+ -10989224.64443 -8550719.37642 23204696.640 23204698.753 23204694.417
+ 1798.592 1401.500 50.000 43.000
+ -16842816.52443 -13089186.79142 22109352.434 22109357.270 22109351.017
+ 2791.596 2175.270 53.000 47.000
+ 04 2 1 12 38 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18822665.91443 -14662590.78742 21765794.449 21765798.763 21765793.930
+ 524.348 408.583 55.000 48.000
+ -4998816.97243 -3875065.63442 23886587.061 23886594.914 23886586.117
+ 3711.147 2891.803 46.000 40.000
+ -6579745.09843 -5110549.54642 23624253.161 23624258.525 23624252.014
+ -3140.381 -2447.050 48.000 41.000
+ -12253068.08643 -9503332.67242 22716745.688 22716749.253 22716743.518
+ -3113.769 -2426.313 49.000 43.000
+ -16855115.25643 -13088978.55242 22209923.586 22209929.034 22209923.494
+ -2659.046 -2071.984 50.000 44.000
+ -22992182.67843 -17875977.65842 21273448.591 21273451.600 21273447.526
+ 2266.775 1766.318 56.000 50.000
+ 119727.79743 148323.27242 24866930.957 24866935.267 24866929.900
+ -1917.059 -1493.812 39.000 36.000
+ -11043204.52743 -8592781.59442 23194423.732 23194428.577 23194422.539
+ 1800.225 1402.773 50.000 44.000
+ -16926439.30943 -13154347.35642 22093439.321 22093444.403 22093439.064
+ 2783.366 2168.857 54.000 47.000
+ 04 2 1 12 38 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18838127.51443 -14674638.76442 21762851.978 21762855.897 21762851.263
+ 506.673 394.810 55.000 48.000
+ -5110169.92543 -3961834.02342 23865397.598 23865403.157 23865397.091
+ 3712.241 2892.655 48.000 40.000
+ -6485535.25143 -5037139.35442 23642179.716 23642184.970 23642178.850
+ -3140.120 -2446.847 48.000 42.000
+ -12159611.03843 -9430509.03542 22734529.543 22734534.283 22734529.205
+ -3116.518 -2428.455 49.000 43.000
+ -16775221.01743 -13026723.35942 22225127.759 22225132.513 22225127.061
+ -2667.226 -2078.358 50.000 44.000
+ -23060006.07143 -17928827.04842 21260541.765 21260545.784 21260540.833
+ 2254.930 1757.088 56.000 50.000
+ 177260.45743 193153.91542 24877880.845 24877883.362 24877879.634
+ -1918.829 -1495.191 40.000 35.000
+ -11097216.06743 -8634868.50442 23184145.865 23184150.362 23184144.426
+ 1800.610 1403.073 51.000 44.000
+ -17009796.92843 -13219301.29142 22077576.880 22077581.178 22077575.477
+ 2773.785 2161.391 54.000 47.000
+ 04 2 1 12 39 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18853079.66543 -14686289.77242 21760006.759 21760010.983 21760006.291
+ 489.938 381.770 55.000 48.000
+ -5221574.50343 -4048642.63542 23844196.925 23844204.095 23844197.176
+ 3714.342 2894.292 46.000 40.000
+ -6391351.42743 -4963749.43442 23660102.916 23660109.291 23660100.938
+ -3139.018 -2445.988 47.000 42.000
+ -12066092.07543 -9357637.17242 22752325.942 22752329.571 22752324.584
+ -3118.139 -2429.719 49.000 43.000
+ -16695101.55443 -12964292.65242 22240373.765 22240379.123 22240373.246
+ -2674.289 -2083.861 51.000 44.000
+ -23127494.75243 -17981415.62742 21247698.985 21247702.705 21247698.096
+ 2244.182 1748.713 56.000 50.000
+ 234815.96043 238002.25642 24888831.718 24888836.030 24888830.118
+ -1918.437 -1494.886 39.000 34.000
+ -11151259.87543 -8676980.53542 23173862.938 23173864.973 23173860.727
+ 1802.086 1404.223 51.000 44.000
+ -17092887.11243 -13284046.84842 22061765.386 22061770.025 22061764.423
+ 2765.177 2154.683 54.000 47.000
+ 04 2 1 12 39 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18867517.69643 -14697540.16542 21757259.423 21757262.919 21757258.522
+ 472.431 368.128 55.000 48.000
+ -5333024.53643 -4135486.66542 23822989.566 23822995.816 23822988.357
+ 3715.578 2895.256 47.000 40.000
+ -6297193.10943 -4890379.42042 23678020.420 23678026.067 23678020.006
+ -3138.473 -2445.563 47.000 41.000
+ -11972510.21643 -9284716.27342 22770134.085 22770138.417 22770133.575
+ -3120.638 -2431.666 49.000 43.000
+ -16614756.96643 -12901686.51942 22255662.991 22255668.967 22255662.467
+ -2682.134 -2089.974 51.000 44.000
+ -23194642.93843 -18033738.87842 21234921.300 21234924.819 21234920.152
+ 2232.268 1739.430 56.000 50.000
+ 292398.47143 282871.74742 24899789.114 24899795.146 24899787.557
+ -1920.237 -1496.288 38.000 34.000
+ -11205332.86443 -8719115.31142 23163571.417 23163575.750 23163570.581
+ 1802.684 1404.689 50.000 44.000
+ -17175703.25743 -13348578.86942 22046005.207 22046010.390 22046004.757
+ 2755.707 2147.304 54.000 47.000
+ 04 2 1 12 40 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18881445.84243 -14708393.25042 21754609.241 21754613.044 21754608.686
+ 455.550 354.974 55.000 48.000
+ -5444522.72443 -4222368.23742 23801771.095 23801777.678 23801769.573
+ 3717.083 2896.428 46.000 40.000
+ -6203069.01043 -4817036.05342 23695932.001 23695937.102 23695930.845
+ -3137.142 -2444.526 47.000 41.000
+ -11878872.87243 -9211752.16642 22787952.618 22787955.895 22787950.499
+ -3122.136 -2432.833 48.000 43.000
+ -16534196.16343 -12838911.90742 22270993.666 22270997.734 22270992.248
+ -2689.035 -2095.352 51.000 44.000
+ -23261453.50244 -18085799.04842 21222207.946 21222210.726 21222206.698
+ 2221.184 1730.793 57.000 50.000
+ 350003.02143 327758.40342 24910751.265 24910756.553 24910751.466
+ -1920.998 -1496.881 40.000 34.000
+ -11259440.46643 -8761277.06242 23153276.316 23153280.280 23153274.443
+ 1803.977 1405.696 51.000 43.000
+ -17258247.83843 -13412899.28342 22030298.023 22030302.747 22030296.675
+ 2746.723 2140.304 54.000 47.000
+ 04 2 1 12 40 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18894858.58043 -14718844.70642 21752056.323 21752060.289 21752055.793
+ 439.151 342.196 55.000 48.000
+ -5556061.55943 -4309281.47642 23780547.175 23780552.901 23780545.159
+ 3719.298 2898.154 47.000 40.000
+ -6108977.59043 -4743718.14142 23713837.091 23713842.100 23713834.661
+ -3135.162 -2442.983 47.000 40.000
+ -11785177.79643 -9138743.05042 22805782.760 22805784.615 22805779.943
+ -3123.500 -2433.896 49.000 43.000
+ -16453418.09843 -12775968.00642 22286365.137 22286370.240 22286363.640
+ -2695.501 -2100.390 50.000 44.000
+ -23327919.32543 -18137590.59642 21209559.506 21209563.001 21209558.570
+ 2210.427 1722.411 56.000 50.000
+ 407634.51343 372665.96942 24921721.652 24921724.860 24921718.652
+ -1920.756 -1496.693 41.000 34.000
+ -11313578.41043 -8803462.45342 23142973.071 23142976.648 23142972.731
+ 1805.770 1407.094 50.000 44.000
+ -17340513.48543 -13477002.34642 22014643.807 22014648.412 22014642.481
+ 2738.173 2133.641 54.000 47.000
+ 04 2 1 12 41 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18907757.18943 -14728895.55842 21749602.251 21749606.080 21749601.598
+ 421.275 328.266 56.000 48.000
+ -5667640.43943 -4396225.91842 23759314.512 23759319.660 23759312.452
+ 3719.633 2898.415 47.000 40.000
+ -6014923.79143 -4670429.56942 23731735.371 23731740.857 23731733.011
+ -3134.525 -2442.487 46.000 40.000
+ -11691429.32143 -9065692.32042 22823621.282 22823624.990 22823619.903
+ -3126.020 -2435.860 48.000 42.000
+ -16372428.66143 -12712859.40542 22301777.511 22301782.152 22301776.005
+ -2703.172 -2106.368 50.000 44.000
+ -23394039.87744 -18189113.09442 21196977.273 21196980.775 21196976.422
+ 2198.139 1712.835 57.000 50.000
+ 465291.35543 417593.40242 24932691.848 24932692.848 24932688.920
+ -1922.449 -1498.012 41.000 34.000
+ -11367748.96343 -8845673.24542 23132665.143 23132669.495 23132663.768
+ 1806.048 1407.310 50.000 43.000
+ -17422499.24643 -13540887.31842 21999041.540 21999046.556 21999041.246
+ 2728.082 2125.778 54.000 47.000
+ 04 2 1 12 41 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18920139.03543 -14738543.72942 21747245.973 21747249.586 21747244.901
+ 403.876 314.709 55.000 48.000
+ -5779254.87143 -4483198.07842 23738073.585 23738079.121 23738072.616
+ 3720.568 2899.144 46.000 40.000
+ -5920909.23743 -4597171.55942 23749624.766 23749631.032 23749624.593
+ -3133.508 -2441.694 46.000 40.000
+ -11597628.08843 -8992600.51342 22841473.046 22841477.217 22841470.864
+ -3127.724 -2437.187 49.000 43.000
+ -16291229.85643 -12649587.65942 22317229.176 22317233.985 22317227.603
+ -2710.366 -2111.973 50.000 44.000
+ -23459811.50943 -18240363.71642 21184460.719 21184464.764 21184460.007
+ 2186.372 1703.666 56.000 50.000
+ -3220257.96952 24943665.588 24943668.604
+ -1923.397 -1498.751 39.000 32.000
+ -11421950.85243 -8887908.45742 23122351.200 23122354.866 23122348.562
+ 1807.036 1408.080 50.000 44.000
+ -17504200.33743 -13604550.47142 21983494.589 21983499.305 21983493.600
+ 2718.429 2118.256 54.000 47.000
+ 04 2 1 12 42 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18932001.66543 -14747787.32042 21744988.738 21744992.356 21744988.022
+ 387.530 301.971 56.000 48.000
+ -5890900.36643 -4570194.42442 23716826.940 23716834.250 23716826.211
+ 3722.598 2900.726 45.000 40.000
+ -5826935.39743 -4523945.27342 23767508.714 23767513.078 23767508.009
+ -3131.028 -2439.762 47.000 41.000
+ -11503774.85643 -8919468.14842 22859330.803 22859335.942 22859329.077
+ -3128.498 -2437.791 48.000 42.000
+ -16209823.45943 -12586154.15342 22332719.609 22332725.875 22332719.321
+ -2716.298 -2116.596 50.000 44.000
+ -23525229.95743 -18291339.12142 21172012.754 21172016.109 21172011.486
+ 2175.431 1695.141 56.000 50.000
+ -4145570.72753 -3175286.28642 24954647.782 24954658.427 24954646.094
+ -1923.010 -1498.449 38.000 33.000
+ -11476182.21643 -8930166.62242 23112031.055 23112035.483 23112030.052
+ 1808.983 1409.597 50.000 44.000
+ -17585612.25643 -13667988.28842 21968002.697 21968007.546 21968001.119
+ 2709.697 2111.452 54.000 47.000
+ 04 2 1 12 42 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18943349.38643 -14756629.67542 21742829.367 21742832.626 21742828.778
+ 369.693 288.072 55.000 48.000
+ -6002579.47543 -4657216.99542 23695577.096 23695582.355 23695574.141
+ 3723.106 2901.122 47.000 40.000
+ -5733010.67343 -4450757.27142 23785381.714 23785387.134 23785381.229
+ -3129.886 -2438.872 48.000 41.000
+ -11409876.94943 -8846300.98242 22877199.749 22877202.210 22877198.835
+ -3130.603 -2439.431 49.000 42.000
+ -16128218.53243 -12522565.93642 22348248.530 22348253.135 22348248.567
+ -2723.364 -2122.102 50.000 44.000
+ -23590298.11643 -18342041.57442 21159630.835 21159633.812 21159629.397
+ 2163.140 1685.564 56.000 50.000
+ -4087832.25453 -3130295.34252 24965636.850 24965643.444 24965636.405
+ -1925.454 -1500.354 37.000 33.000
+ -11530448.61643 -8972452.12242 23101704.660 23101707.545 23101703.161
+ 1809.485 1409.988 50.000 44.000
+ -17666737.41243 -13731202.66242 21952564.939 21952569.968 21952563.807
+ 2699.348 2103.388 54.000 47.000
+ 04 2 1 12 43 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18954176.50743 -14765066.38442 21740768.407 21740772.495 21740767.705
+ 353.008 275.071 55.000 48.000
+ -6114284.40943 -4744259.67542 23674320.867 23674326.882 23674318.108
+ 3724.538 2902.237 47.000 40.000
+ -5639133.19243 -4377606.05742 23803245.651 23803251.262 23803244.820
+ -3127.722 -2437.186 47.000 41.000
+ -11315931.75343 -8773096.97742 22895076.739 22895079.317 22895074.600
+ -3131.456 -2440.095 48.000 42.000
+ -16046413.73043 -12458821.96642 22363815.539 22363821.452 22363813.294
+ -2729.473 -2126.862 50.000 43.000
+ -23655008.61244 -18392465.32942 21147316.974 21147319.871 21147315.652
+ 2151.765 1676.700 57.000 50.000
+ -4030063.99943 -3085281.26742 24976627.782 24976635.380 24976627.927
+ -1925.335 -1500.261 37.000 34.000
+ -11584745.56643 -9014761.41142 23091372.529 23091376.784 23091371.046
+ 1811.109 1411.254 51.000 44.000
+ -17747568.13643 -13794187.61042 21937183.338 21937187.854 21937182.244
+ 2690.208 2096.266 54.000 47.000
+ 04 2 1 12 43 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18964481.23343 -14773096.01342 21738807.643 21738811.743 21738807.554
+ 334.621 260.744 55.000 48.000
+ -6226011.46943 -4831319.61442 23653059.033 23653065.858 23653057.792
+ 3724.260 2902.021 47.000 41.000
+ -5545304.97343 -4304493.24242 23821100.152 23821105.318 23821099.444
+ -3127.010 -2436.631 47.000 41.000
+ -11221940.50543 -8699857.09342 22912963.038 22912966.704 22912962.624
+ -3133.835 -2441.949 49.000 43.000
+ -15964411.79743 -12394924.40442 22379418.926 22379423.960 22379418.530
+ -2736.793 -2132.566 50.000 43.000
+ -23719358.25243 -18442607.89742 21135071.392 21135074.774 21135070.154
+ 2138.801 1666.598 56.000 50.000
+ -3972264.44053 -3040242.70452 24987627.116 24987634.098 24987624.105
+ -1927.219 -1501.729 37.000 33.000
+ -11639071.91343 -9057093.60942 23081033.395 23081037.518 23081033.260
+ 1811.274 1411.382 50.000 44.000
+ -17828100.12543 -13856939.77342 21921857.873 21921863.249 21921857.283
+ 2679.225 2087.708 54.000 47.000
+ 04 2 1 12 44 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18974264.19743 -14780719.09442 21736946.073 21736949.963 21736945.348
+ 317.051 247.053 55.000 48.000
+ -6337758.97943 -4918395.47142 23631793.052 23631799.475 23631790.915
+ 3724.858 2902.487 46.000 41.000
+ -5451530.54043 -4231422.33042 23838946.539 23838951.742 23838946.163
+ -3125.161 -2435.190 48.000 41.000
+ -11127906.74443 -8626584.06242 22930857.373 22930859.194 22930855.996
+ -3135.492 -2443.240 49.000 43.000
+ -15882217.55043 -12330876.98542 22395061.045 22395066.156 22395060.551
+ -2743.366 -2137.688 50.000 43.000
+ -23783345.89943 -18492468.39042 21122894.902 21122898.078 21122893.811
+ 2126.448 1656.972 56.000 50.000
+ -3914434.48653 -2995180.38452 24998635.556 24998640.795 24998634.424
+ -1929.049 -1503.155 40.000 34.000
+ -11693429.02343 -9099449.78042 23070689.381 23070694.845 23070689.068
+ 1811.917 1411.883 50.000 44.000
+ -17908332.09343 -13919458.16242 21906590.936 21906595.843 21906590.058
+ 2668.906 2079.667 54.000 47.000
+ 04 2 1 12 44 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18983526.81743 -14787936.70442 21735183.631 21735187.116 21735183.279
+ 299.633 233.480 56.000 48.000
+ -6449526.29643 -5005486.76142 23610524.326 23610532.047 23610523.263
+ 3725.387 2902.899 46.000 41.000
+ -5357814.86243 -4158397.22042 23856778.826 23856784.333 23856778.282
+ -3123.550 -2433.935 47.000 41.000
+ -11033834.82843 -8553281.28842 22948757.653 22948762.649 22948757.708
+ -3136.877 -2444.320 49.000 42.000
+ -15799836.85843 -12266684.29242 22410737.517 22410742.764 22410737.116
+ -2749.723 -2142.641 50.000 43.000
+ -23846971.37243 -18542046.67442 21110787.071 21110790.816 21110786.190
+ 2114.305 1647.510 56.000 50.000
+ -3856575.92743 -2950095.87342 25009645.601 25009650.423 25009644.028
+ -1930.516 -1504.298 41.000 35.000
+ -11747819.30743 -9141831.80842 23060339.963 23060344.087 23060338.440
+ 1813.085 1412.794 50.000 44.000
+ -17988263.26243 -13981742.15742 21891380.595 21891385.219 21891379.528
+ 2658.741 2071.746 54.000 48.000
+ 04 2 1 12 45 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18992264.28543 -14794745.10642 21733520.852 21733524.471 21733519.827
+ 283.494 220.904 55.000 48.000
+ -6561306.70243 -5092588.29142 23589253.702 23589261.109 23589251.578
+ 3727.265 2904.362 47.000 41.000
+ -5264157.11643 -4085417.23842 23874601.962 23874606.265 23874600.561
+ -3119.669 -2430.911 48.000 41.000
+ -10939722.92343 -8479947.37442 22966667.600 22966670.654 22966665.782
+ -3136.960 -2444.384 49.000 42.000
+ -15717269.45443 -12202346.10442 22426449.997 22426454.905 22426449.346
+ -2754.346 -2146.244 50.000 43.000
+ -23910228.22343 -18591337.71642 21098750.061 21098753.494 21098748.790
+ 2103.420 1639.028 56.000 50.000
+ -3798684.15453 -2904985.45852 25020658.896 25020664.421 25020657.421
+ -1929.812 -1503.750 38.000 33.000
+ -11802238.90343 -9184236.66142 23049983.486 23049987.956 23049982.901
+ 1815.448 1414.635 50.000 44.000
+ -18067886.81043 -14043786.44042 21876228.293 21876233.694 21876227.432
+ 2649.984 2064.923 54.000 48.000
+ 04 2 1 12 45 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19000479.96843 -14801146.92442 21731957.147 21731960.988 21731956.464
+ 264.873 206.395 55.000 48.000
+ -6673101.11143 -5179700.73542 23567980.561 23567986.947 23567978.911
+ 3726.263 2903.581 48.000 41.000
+ -5170564.22743 -4012487.80542 23892411.364 23892416.941 23892410.557
+ -3118.847 -2430.270 46.000 40.000
+ -10845577.30543 -8406587.19442 22984583.062 22984586.750 22984579.507
+ -3138.978 -2445.957 49.000 42.000
+ -15634522.74043 -12137868.20742 22442196.336 22442200.274 22442195.279
+ -2761.589 -2151.887 50.000 43.000
+ -23973118.10944 -18640342.81542 21086782.551 21086785.708 21086781.586
+ 2089.856 1628.459 57.000 50.000
+ -3740763.02443 -2859852.12842 25031683.753 25031688.214 25031680.900
+ -1931.093 -1504.748 42.000 35.000
+ -11856691.65343 -9226667.35642 23039622.676 23039626.019 23039621.961
+ 1815.407 1414.603 51.000 44.000
+ -18147203.67143 -14105591.75442 21861134.990 21861140.316 21861134.023
+ 2638.484 2055.961 54.000 48.000
+ 04 2 1 12 46 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19008169.26643 -14807138.56242 21730493.878 21730497.874 21730493.154
+ 247.293 192.696 55.000 48.000
+ -6784903.19343 -5266819.14742 23546704.477 23546710.459 23546702.264
+ 3726.645 2903.879 48.000 41.000
+ -5077035.67643 -3939608.52542 23910208.874 23910216.163 23910208.721
+ -3116.601 -2428.520 46.000 40.000
+ -10751396.19043 -8333199.34942 23002504.185 23002508.353 23002502.271
+ -3140.099 -2446.830 49.000 42.000
+ -15551596.70743 -12073250.57542 22457976.414 22457980.834 22457976.381
+ -2767.252 -2156.300 49.000 43.000
+ -24035634.84744 -18689057.14742 21074885.798 21074889.224 21074884.921
+ 2077.468 1618.806 57.000 50.000
+ -3682807.98843 -2814692.42742 25042712.669 25042715.970 25042710.360
+ -1932.495 -1505.840 42.000 36.000
+ -11911174.07343 -9269121.16342 23029255.196 23029258.776 23029253.349
+ 1816.438 1415.406 51.000 44.000
+ -18226207.10943 -14167152.83842 21846101.305 21846106.109 21846100.542
+ 2627.969 2047.768 54.000 47.000
+ 04 2 1 12 46 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19015331.45043 -14812719.46642 21729131.095 21729135.125 21729130.539
+ 230.697 179.764 55.000 48.000
+ -6896709.60943 -5353940.94042 23525428.381 23525435.766 23525426.955
+ 3727.464 2904.517 48.000 41.000
+ -4983573.97343 -3866781.32442 23927995.446 23927999.656 23927994.268
+ -3113.395 -2426.022 46.000 40.000
+ -10657181.70743 -8259785.50142 23020432.049 23020436.057 23020432.010
+ -3140.235 -2446.936 48.000 42.000
+ -15468494.68143 -12008495.79842 22473789.615 22473794.872 22473788.005
+ -2771.805 -2159.848 48.000 42.000
+ -24097776.00844 -18737478.82442 21063060.755 21063064.259 21063059.937
+ 2065.897 1609.790 57.000 50.000
+ -3624818.49843 -2769505.83742 25053748.027 25053749.073 25053744.541
+ -1932.807 -1506.083 41.000 35.000
+ -11965685.96743 -9311597.91842 23018881.733 23018885.375 23018880.630
+ 1818.381 1416.920 51.000 44.000
+ -18304894.25843 -14228467.46942 21831126.796 21831132.118 21831126.114
+ 2618.345 2040.269 54.000 47.000
+ 04 2 1 12 47 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19021968.39243 -14817891.08942 21727868.468 21727872.384 21727867.575
+ 212.952 165.937 56.000 48.000
+ -7008520.01943 -5441065.85342 23504152.352 23504156.763 23504150.561
+ 3727.398 2904.466 48.000 41.000
+ -4890184.82943 -3794010.63542 23945767.224 23945772.254 23945767.580
+ -3111.307 -2424.395 47.000 40.000
+ -10562938.44143 -8186349.21742 23038366.433 23038370.451 23038365.320
+ -3141.518 -2447.936 48.000 42.000
+ -15385222.88443 -11943608.74942 22489635.749 22489641.780 22489634.705
+ -2778.157 -2164.798 49.000 43.000
+ -24159541.72844 -18785607.95042 21051306.992 21051310.546 21051306.216
+ 2052.941 1599.694 57.000 50.000
+ -3566796.70743 -2724294.16442 25064786.867 25064792.519 25064782.358
+ -1934.548 -1507.440 38.000 35.000
+ -12020229.90643 -9354099.66642 23008502.294 23008505.530 23008500.328
+ 1819.106 1417.485 51.000 45.000
+ -18383264.47643 -14289535.13542 21816213.876 21816218.790 21816213.277
+ 2607.512 2031.828 54.000 47.000
+ 04 2 1 12 47 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19028076.54043 -14822650.67942 21726705.810 21726709.453 21726704.987
+ 194.740 151.745 55.000 48.000
+ -7120328.51043 -5528189.25842 23482875.972 23482880.885 23482874.882
+ 3726.601 2903.845 47.000 41.000
+ -4796868.21543 -3721296.50142 23963525.034 23963531.315 23963524.206
+ -3109.390 -2422.901 46.000 40.000
+ -10468665.50643 -8112889.82442 23056307.092 23056310.120 23056305.518
+ -3143.021 -2449.107 50.000 42.000
+ -15301781.86243 -11878589.82842 22505514.619 22505519.616 22505513.551
+ -2784.219 -2169.521 49.000 42.000
+ -24220926.56843 -18833440.29042 21039625.921 21039629.384 21039624.661
+ 2039.740 1589.408 56.000 50.000
+ -3508739.36243 -2679054.83242 25075832.890 25075843.210 25075832.683
+ -1936.283 -1508.792 39.000 35.000
+ -12074803.08743 -9396624.19442 22998117.142 22998120.616 22998116.086
+ 1819.547 1417.829 51.000 44.000
+ -18461312.02843 -14350351.37442 21801362.065 21801367.115 21801360.668
+ 2596.077 2022.917 54.000 48.000
+ 04 2 1 12 48 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19033656.44243 -14826998.64442 21725643.855 21725647.972 21725643.320
+ 177.210 138.086 55.000 48.000
+ -7232133.61543 -5615310.04042 23461599.754 23461606.318 23461598.400
+ 3726.804 2904.003 47.000 41.000
+ -4703628.45943 -3648642.20842 23981265.970 23981272.396 23981266.125
+ -3106.523 -2420.667 46.000 40.000
+ -10374366.45643 -8039410.06842 23074251.377 23074255.522 23074250.302
+ -3143.521 -2449.497 49.000 42.000
+ -15218176.78543 -11813443.07142 22521424.389 22521427.933 22521423.647
+ -2789.315 -2173.492 50.000 43.000
+ -24281929.75744 -18880975.23742 21028017.484 21028020.841 21028016.597
+ 2027.168 1579.611 57.000 50.000
+ -3450647.46743 -2633788.44742 25086891.509 25086893.556 25086890.106
+ -1936.554 -1509.003 43.000 35.000
+ -12129406.79043 -9439172.51142 22987726.961 22987730.573 22987725.085
+ 1820.747 1418.764 51.000 44.000
+ -18539035.31043 -14410914.93642 21786570.993 21786575.955 21786570.164
+ 2585.466 2014.649 54.000 47.000
+ 04 2 1 12 48 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19038706.10943 -14830933.42642 21724683.138 21724686.278 21724682.268
+ 158.468 123.482 55.000 48.000
+ -7343930.71243 -5702424.55942 23440324.388 23440329.917 23440322.611
+ 3725.337 2902.860 47.000 41.000
+ -4610466.93843 -3576048.89842 23998993.534 23999000.548 23998993.605
+ -3104.889 -2419.394 45.000 40.000
+ -10280041.88943 -7965910.45542 23092200.449 23092200.853 23092199.854
+ -3145.556 -2451.082 49.000 42.000
+ -15134409.43043 -11748169.85442 22537364.220 22537369.178 22537364.411
+ -2795.715 -2178.479 49.000 43.000
+ -24342547.10844 -18928209.52642 21016482.704 21016485.793 21016481.301
+ 2013.191 1568.720 57.000 51.000
+ -3392518.72743 -2588493.40842 25097951.315 25097957.886 25097949.755
+ -1939.198 -1511.063 42.000 35.000
+ -12184039.86743 -9481743.70342 22977330.728 22977334.015 22977328.919
+ 1820.578 1418.632 51.000 45.000
+ -18616430.19743 -14471222.60342 21771843.895 21771848.498 21771842.912
+ 2573.382 2005.233 54.000 48.000
+ 04 2 1 12 49 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19043225.27643 -14834454.84342 21723822.679 21723827.020 21723822.064
+ 141.943 110.605 55.000 48.000
+ -7455717.18943 -5789530.80342 23419051.913 23419058.525 23419050.239
+ 3726.258 2903.578 46.000 41.000
+ -4517386.84743 -3503519.07242 24016709.194 24016714.140 24016706.228
+ -3101.000 -2416.364 45.000 40.000
+ -10185693.90543 -7892392.54542 23110154.250 23110159.782 23110152.999
+ -3145.251 -2450.845 49.000 42.000
+ -15050483.66243 -11682773.21842 22553335.262 22553340.831 22553334.657
+ -2799.853 -2181.704 49.000 43.000
+ -24402776.73344 -18975141.69442 21005021.192 21005024.443 21005020.260
+ 2001.263 1559.426 57.000 51.000
+ -3334352.86943 -2543169.43542 25109020.482 25109024.823 25109019.975
+ -1939.314 -1511.154 42.000 35.000
+ -12238702.43843 -9524337.88142 22966928.197 22966931.442 22966925.977
+ 1822.692 1420.279 51.000 45.000
+ -18693493.79243 -14531272.12042 21757179.541 21757184.249 21757178.411
+ 2563.457 1997.499 55.000 48.000
+ 04 2 1 12 49 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19047214.70843 -14837563.48442 21723064.158 21723067.267 21723063.264
+ 124.524 97.032 55.000 48.000
+ -7567491.51843 -5876627.59442 23397782.132 23397789.090 23397780.956
+ 3726.033 2903.402 47.000 41.000
+ -4424392.49143 -3431056.03342 24034404.333 24034409.400 24034404.008
+ -3098.164 -2414.154 45.000 40.000
+ -10091326.16543 -7818859.26442 23128112.300 23128114.108 23128111.604
+ -3145.491 -2451.032 49.000 42.000
+ -14966404.70843 -11617257.20342 22569335.272 22569338.546 22569335.367
+ -2804.787 -2185.548 50.000 43.000
+ -24462617.84944 -19021771.12942 20993633.467 20993636.972 20993632.465
+ 1988.481 1549.466 57.000 51.000
+ -3276151.44443 -2497817.72242 25120094.895 25120099.691 25120094.837
+ -1939.871 -1511.588 41.000 34.000
+ -12293395.38843 -9566955.73142 22956519.913 22956523.683 22956518.470
+ 1824.009 1421.306 51.000 45.000
+ -18770224.68243 -14591062.38742 21742577.504 21742582.635 21742576.135
+ 2552.524 1988.980 54.000 48.000
+ 04 2 1 12 50 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19050672.71743 -14840258.02542 21722405.509 21722409.573 21722404.825
+ 105.983 82.584 55.000 48.000
+ -7679249.31343 -5963711.49242 23376516.081 23376522.061 23376514.121
+ 3724.650 2902.325 48.000 41.000
+ -4331485.70143 -3358661.22342 24052083.436 24052089.846 24052081.843
+ -3095.458 -2412.045 45.000 40.000
+ -9996939.48443 -7745311.23442 23146073.273 23146076.349 23146070.602
+ -3146.749 -2452.012 49.000 42.000
+ -14882174.75743 -11551623.54642 22585363.668 22585367.298 22585363.872
+ -2810.397 -2189.920 49.000 43.000
+ -24522066.65344 -19068094.86642 20982320.923 20982324.222 20982319.812
+ 1974.647 1538.686 57.000 51.000
+ -3217912.37443 -2452436.69142 25131179.459 25131181.107 25131178.740
+ -1942.300 -1513.480 43.000 36.000
+ -12348117.84843 -9609596.58842 22946106.572 22946110.265 22946105.693
+ 1824.267 1421.507 51.000 45.000
+ -18846618.86943 -14650590.29242 21728039.821 21728044.890 21728039.516
+ 2540.500 1979.610 55.000 48.000
+ 04 2 1 12 50 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19053598.38743 -14842537.74442 21721849.400 21721852.764 21721848.345
+ 88.183 68.714 56.000 48.000
+ -7790987.39543 -6050780.01942 23355252.345 23355259.092 23355250.444
+ 3723.838 2901.692 47.000 41.000
+ -4238668.78443 -3286336.43942 24069745.885 24069751.624 24069744.154
+ -3093.142 -2410.240 45.000 40.000
+ -9902535.38343 -7671749.61442 23164037.652 23164042.178 23164037.128
+ -3147.642 -2452.708 48.000 42.000
+ -14797796.90543 -11485874.62642 22601420.400 22601424.729 22601420.016
+ -2815.750 -2194.091 49.000 42.000
+ -24581120.14744 -19114110.56742 20971083.466 20971086.937 20971082.258
+ 1961.341 1528.318 57.000 51.000
+ -3159634.86643 -2407025.64642 25142267.870 25142274.901 25142269.424
+ -1944.121 -1514.899 42.000 36.000
+ -12402869.55243 -9652260.21142 22935688.397 22935691.836 22935686.812
+ 1825.018 1422.092 51.000 44.000
+ -18922672.79643 -14709853.06442 21713567.943 21713572.736 21713566.766
+ 2528.909 1970.578 55.000 48.000
+ 04 2 1 12 51 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19055990.19843 -14844401.48342 21721393.547 21721397.637 21721393.220
+ 71.021 55.341 55.000 48.000
+ -7902701.57343 -6137829.95442 23333993.231 23333999.940 23333992.136
+ 3723.501 2901.429 47.000 41.000
+ -4145943.65643 -3214083.18842 24087390.065 24087397.794 24087389.099
+ -3089.072 -2407.069 45.000 40.000
+ -9808115.00143 -7598175.29842 23182005.522 23182010.184 23182003.688
+ -3147.466 -2452.571 48.000 42.000
+ -14713273.67843 -11420012.44042 22617504.336 22617509.787 22617503.520
+ -2819.684 -2197.156 49.000 43.000
+ -24639775.20844 -19159815.80842 20959921.822 20959924.989 20959920.673
+ 1948.625 1518.409 57.000 51.000
+ -3101317.25043 -2361583.49142 25153365.912 25153372.776 25153364.215
+ -1944.402 -1515.118 41.000 36.000
+ -12457649.20043 -9694945.62742 22925264.374 22925266.837 22925263.086
+ 1826.609 1423.332 52.000 45.000
+ -18998382.86043 -14768847.87942 21699160.413 21699165.729 21699159.592
+ 2518.002 1962.079 55.000 48.000
+ 04 2 1 12 51 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19057846.71143 -14845848.08942 21721040.649 21721044.368 21721039.979
+ 52.349 40.791 55.000 48.000
+ -8014388.03143 -6224858.26342 23312739.687 23312747.092 23312739.308
+ 3721.470 2899.847 46.000 41.000
+ -4053312.46343 -3141903.13242 24105017.358 24105024.001 24105016.269
+ -3086.866 -2405.350 45.000 40.000
+ -9713679.27643 -7524589.03942 23199976.209 23199980.781 23199974.610
+ -3148.969 -2453.742 48.000 41.000
+ -14628607.92443 -11354039.17642 22633615.571 22633620.697 22633615.465
+ -2825.163 -2201.426 49.000 43.000
+ -24698028.65544 -19205208.10542 20948836.258 20948839.767 20948835.588
+ 1934.461 1507.372 57.000 51.000
+ -3042958.32643 -2316109.08642 25164470.249 25164476.462 25164468.772
+ -1946.490 -1516.745 41.000 34.000
+ -12512455.92443 -9737652.13542 22914833.951 22914837.743 22914832.525
+ 1826.632 1423.350 51.000 45.000
+ -19073744.87143 -14827571.49242 21684819.090 21684824.168 21684818.539
+ 2505.584 1952.403 55.000 48.000
+ 04 2 1 12 52 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19059172.82743 -14846881.41642 21720788.361 21720792.131 21720787.574
+ 35.433 27.610 55.000 48.000
+ -8126049.07843 -6311866.76742 23291492.621 23291499.448 23291490.474
+ 3721.634 2899.974 47.000 41.000
+ -3960783.11443 -3069802.44342 24122627.268 24122632.050 24122626.131
+ -3082.816 -2402.194 47.000 40.000
+ -9619235.67743 -7450996.66342 23217948.934 23217952.378 23217946.503
+ -3148.109 -2453.072 48.000 42.000
+ -14543808.42143 -11287961.70542 22649753.782 22649757.173 22649753.337
+ -2828.850 -2204.299 51.000 43.000
+ -24755883.47144 -19250289.77342 20937827.209 20937830.296 20937825.966
+ 1921.907 1497.590 57.000 51.000
+ -2984563.06443 -2270606.28842 25175582.604 25175590.242 25175581.386
+ -1947.000 -1517.143 41.000 34.000
+ -12567294.96443 -9780383.83142 22904399.199 22904402.581 22904396.946
+ 1828.659 1424.929 51.000 45.000
+ -19148761.64543 -14886026.08742 21670544.270 21670549.121 21670543.532
+ 2494.801 1944.001 55.000 48.000
+ 04 2 1 12 52 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19059960.81643 -14847495.41842 21720638.364 21720642.316 21720637.865
+ 16.372 12.757 55.000 48.000
+ -8237674.27943 -6398847.34342 23270250.940 23270257.765 23270249.436
+ 3719.184 2898.065 47.000 41.000
+ -3868351.22843 -2997777.70242 24140214.457 24140221.112 24140213.747
+ -3080.286 -2400.223 45.000 40.000
+ -9524778.74243 -7377393.86642 23235922.386 23235928.008 23235920.086
+ -3149.907 -2454.473 48.000 42.000
+ -14458871.32843 -11221777.01342 22665915.667 22665921.025 22665914.849
+ -2834.337 -2208.574 49.000 43.000
+ -24813330.05544 -19295053.34242 20926895.691 20926898.579 20926894.457
+ 1907.050 1486.013 57.000 51.000
+ -2926123.74143 -2225069.18042 25186702.404 25186707.906 25186702.701
+ -1949.639 -1519.199 41.000 34.000
+ -12622158.80243 -9823134.83542 22893957.812 22893962.027 22893957.601
+ 1828.190 1424.564 51.000 45.000
+ -19223423.04743 -14944203.76242 21656336.320 21656341.749 21656335.750
+ 2481.757 1933.837 55.000 48.000
+ 04 2 1 12 53 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19060215.50643 -14847693.86742 21720589.847 21720593.672 21720589.438
+ -.712 -.555 55.000 48.000
+ -8349265.85943 -6485801.73142 23249014.937 23249021.434 23249013.042
+ 3718.809 2897.773 47.000 40.000
+ -3776024.90143 -2925835.19842 24157785.372 24157790.529 24157783.804
+ -3075.865 -2396.778 47.000 40.000
+ -9430315.67043 -7303786.29342 23253897.362 23253903.087 23253896.094
+ -3149.451 -2454.118 48.000 42.000
+ -14373805.37143 -11155491.91442 22682102.341 22682107.818 22682102.013
+ -2837.834 -2211.299 49.000 43.000
+ -24870371.16644 -19339500.96342 20916040.587 20916044.167 20916039.704
+ 1894.220 1476.016 57.000 51.000
+ -2867645.00043 -2179501.40142 25197832.668 25197837.200 25197830.407
+ -1950.797 -1520.101 41.000 35.000
+ -12677052.48443 -9865909.11042 22883511.982 22883516.210 22883511.898
+ 1829.970 1425.951 51.000 45.000
+ -19297731.17743 -15002106.15442 21642196.766 21642201.323 21642195.569
+ 2470.739 1925.251 55.000 48.000
+ 04 2 1 12 53 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19059929.85343 -14847471.26342 21720644.325 21720647.660 21720643.322
+ -18.656 -14.537 55.000 48.000
+ -8460813.89843 -6572722.18442 23227788.852 23227795.296 23227786.867
+ 3717.298 2896.596 47.000 41.000
+ -3683800.19643 -2853971.90242 24175334.234 24175341.515 24175333.659
+ -3072.578 -2394.217 47.000 41.000
+ -9335841.69743 -7230170.21142 23271874.733 23271879.670 23271872.470
+ -3149.279 -2453.984 46.000 41.000
+ -14288607.26143 -11089103.83442 22698315.533 22698320.924 22698315.415
+ -2842.207 -2214.707 49.000 43.000
+ -24926997.91944 -19383625.69842 20905265.158 20905268.327 20905264.004
+ 1880.514 1465.335 57.000 51.000
+ -2809119.75143 -2133897.30542 25208969.982 25208972.925 25208966.266
+ -1951.701 -1520.806 42.000 34.000
+ -12731969.07143 -9908701.22442 22873062.035 22873065.260 22873061.063
+ 1830.835 1426.625 51.000 45.000
+ -19371676.46043 -15059725.82442 21628125.050 21628129.526 21628124.358
+ 2458.687 1915.860 55.000 48.000
+ 04 2 1 12 54 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19059112.08043 -14846834.02342 21720799.378 21720803.352 21720798.822
+ -35.787 -27.886 55.000 48.000
+ -8572324.10743 -6659613.15642 23206568.727 23206574.820 23206566.216
+ 3716.442 2895.929 48.000 41.000
+ -3591688.70243 -2782196.83442 24192863.594 24192869.931 24192862.220
+ -3068.214 -2390.816 47.000 41.000
+ -9241367.57843 -7156554.03342 23289853.644 23289857.879 23289851.965
+ -3149.038 -2453.796 47.000 42.000
+ -14203289.51243 -11022622.54142 22714550.206 22714556.679 22714550.727
+ -2845.520 -2217.288 48.000 42.000
+ -24983216.71844 -19427432.55642 20894566.932 20894570.307 20894565.904
+ 1867.494 1455.190 57.000 51.000
+ -2750556.09143 -2088263.32842 25220115.687 25220120.789 25220117.810
+ -1952.404 -1521.354 41.000 34.000
+ -12786918.10143 -9951518.61442 22862606.104 22862609.252 22862604.432
+ 1832.351 1427.806 51.000 45.000
+ -19445264.89243 -15117067.43542 21614121.257 21614126.093 21614120.490
+ 2447.216 1906.922 55.000 48.000
+ 04 2 1 12 54 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19057755.89543 -14845777.23842 21721057.643 21721061.860 21721056.907
+ -54.635 -42.573 55.000 48.000
+ -8683787.30743 -6746467.51442 23185358.599 23185363.401 23185356.631
+ 3714.197 2894.179 48.000 41.000
+ -3499686.94843 -2710507.27142 24210369.838 24210376.259 24210368.812
+ -3065.410 -2388.631 46.000 41.000
+ -9146888.93743 -7082934.31842 23307833.340 23307836.903 23307830.739
+ -3149.753 -2454.353 48.000 42.000
+ -14117849.20843 -10956045.74342 22730809.527 22730815.290 22730808.437
+ -2850.484 -2221.156 47.000 42.000
+ -25039019.01344 -19470914.86242 20883948.581 20883951.673 20883947.374
+ 1852.686 1443.651 57.000 51.000
+ -2691947.48143 -2042594.32242 25231265.421 25231270.467 25231266.257
+ -1955.186 -1523.521 41.000 34.000
+ -12841892.49643 -9994355.78542 22852144.192 22852147.113 22852143.184
+ 1832.568 1427.975 51.000 45.000
+ -19518487.62543 -15174124.07842 21600187.827 21600192.455 21600186.783
+ 2434.216 1896.792 55.000 48.000
+ 04 2 1 12 55 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19055862.34743 -14844301.72642 21721418.239 21721422.059 21721417.143
+ -72.385 -56.404 55.000 48.000
+ -8795202.06343 -6833284.12542 23164156.259 23164163.691 23164155.447
+ 3712.475 2892.838 49.000 42.000
+ -3407799.33043 -2638906.64642 24227856.088 24227861.937 24227854.509
+ -3061.351 -2385.468 46.000 41.000
+ -9052409.38143 -7009313.89242 23325811.391 23325815.273 23325809.791
+ -3149.628 -2454.255 47.000 41.000
+ -14032291.59843 -10889377.54942 22747091.675 22747097.278 22747091.176
+ -2854.086 -2223.963 48.000 42.000
+ -25094404.04744 -19514072.03442 20873408.654 20873411.965 20873407.593
+ 1838.927 1432.930 57.000 51.000
+ -2633294.98243 -1996891.13742 25242425.207 25242428.650 25242425.239
+ -1956.105 -1524.238 38.000 33.000
+ -12896894.07643 -10037214.12642 22841678.420 22841681.414 22841677.576
+ 1833.521 1428.718 51.000 45.000
+ -19591343.50043 -15230894.85642 21586323.920 21586328.705 21586322.768
+ 2422.101 1887.351 55.000 48.000
+ 04 2 1 12 55 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19053430.50143 -14842406.77542 21721880.780 21721884.952 21721880.043
+ -90.003 -70.132 55.000 48.000
+ -8906564.47143 -6920059.95142 23142963.314 23142969.245 23142962.717
+ 3711.153 2891.808 48.000 42.000
+ -3316027.85243 -2567396.52442 24245319.854 24245325.566 24245318.507
+ -3057.114 -2382.167 47.000 41.000
+ -8957929.97243 -6935693.58242 23343789.526 23343794.808 23343788.189
+ -3149.650 -2454.273 47.000 41.000
+ -13946619.54643 -10822620.16942 22763393.129 22763399.255 22763392.369
+ -2857.719 -2226.794 47.000 42.000
+ -25149368.76044 -19556901.69342 20862949.556 20862952.437 20862948.408
+ 1825.000 1422.078 57.000 51.000
+ -2574597.25143 -1951152.63942 25253598.562 25253605.701 25253598.225
+ -1957.044 -1524.969 40.000 34.000
+ -12951921.66943 -10080092.74142 22831206.855 22831210.687 22831205.193
+ 1834.706 1429.641 51.000 45.000
+ -19663828.75843 -15287376.84242 21572529.947 21572534.933 21572529.160
+ 2409.865 1877.817 55.000 49.000
+ 04 2 1 12 56 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19050459.84543 -14840091.96042 21722446.324 21722450.124 21722445.800
+ -107.541 -83.798 55.000 48.000
+ -9017870.94143 -7006792.18542 23121783.360 23121789.754 23121781.801
+ 3709.732 2890.700 49.000 42.000
+ -3224375.10343 -2495978.93042 24262760.572 24262769.000 24262759.063
+ -3052.623 -2378.667 47.000 41.000
+ -8863452.40043 -6862074.72042 23361767.902 23361771.771 23361767.515
+ -3148.656 -2453.498 47.000 40.000
+ -13860836.03743 -10755775.95642 22779717.955 22779723.317 22779717.024
+ -2860.798 -2229.193 48.000 42.000
+ -25203910.89944 -19599402.06142 20852569.840 20852573.560 20852569.361
+ 1811.492 1411.552 57.000 51.000
+ -2515853.91543 -1905378.68042 25264777.293 25264777.558 25264775.871
+ -1958.384 -1526.013 42.000 34.000
+ -13006975.02843 -10122991.44742 22820730.460 22820733.960 22820728.801
+ 1835.987 1430.639 51.000 45.000
+ -19735939.93543 -15343567.33542 21558808.047 21558813.045 21558806.915
+ 2397.913 1868.504 56.000 49.000
+ 04 2 1 12 56 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19046951.53943 -14837358.20842 21723113.623 21723117.740 21723113.155
+ -126.139 -98.290 55.000 48.000
+ -9129119.90843 -7093479.61642 23100613.127 23100620.044 23100611.920
+ 3706.928 2888.515 49.000 42.000
+ -3132845.15343 -2424657.02542 24280178.668 24280185.455 24280177.589
+ -3049.084 -2375.910 47.000 41.000
+ -8768979.88343 -6788459.78742 23379745.865 23379751.033 23379744.293
+ -3148.842 -2453.643 47.000 41.000
+ -13774946.14243 -10688848.82442 22796063.056 22796068.018 22796062.022
+ -2864.910 -2232.397 49.000 42.000
+ -25258029.64344 -19641572.51542 20842271.919 20842274.995 20842270.874
+ 1796.764 1400.076 57.000 51.000
+ -2457065.60343 -1859569.65542 25275963.834 25275965.851 25275962.734
+ -1960.677 -1527.800 41.000 35.000
+ -13062055.15843 -10165911.01842 22810249.284 22810253.186 22810248.200
+ 1836.135 1430.755 52.000 45.000
+ -19807676.03943 -15399465.56642 21545157.305 21545161.682 21545156.305
+ 2384.750 1858.247 56.000 49.000
+ 04 2 1 12 57 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19042904.46843 -14834204.63542 21723883.622 21723887.451 21723883.482
+ -144.154 -112.328 55.000 48.000
+ -9240307.64043 -7180119.33442 23079455.179 23079461.284 23079454.716
+ 3704.951 2886.975 48.000 42.000
+ -3041440.29443 -2353432.58442 24297571.595 24297577.333 24297570.532
+ -3044.953 -2372.691 46.000 40.000
+ -8674513.61143 -6714849.71542 23397721.542 23397727.034 23397721.224
+ -3149.268 -2453.975 46.000 40.000
+ -13688952.51443 -10621840.86642 22812425.903 22812431.588 22812425.909
+ -2868.253 -2235.002 48.000 42.000
+ -25311721.89144 -19683410.63242 20832054.686 20832057.831 20832053.564
+ 1782.420 1388.899 57.000 51.000
+ -2398231.47743 -1813724.97342 25287157.613 25287164.415 25287153.520
+ -1962.021 -1528.847 40.000 34.000
+ -13117160.96643 -10208850.59742 22799763.247 22799766.001 22799761.533
+ 1837.136 1431.535 52.000 45.000
+ -19879033.32343 -15455068.61442 21531578.266 21531582.517 21531577.435
+ 2371.984 1848.299 56.000 49.000
+ 04 2 1 12 57 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19038317.01943 -14830629.99142 21724757.381 21724760.407 21724756.588
+ -162.040 -126.265 55.000 48.000
+ -9351429.20443 -7266707.47942 23058308.944 23058316.260 23058308.539
+ 3702.751 2885.261 48.000 42.000
+ -2950161.26943 -2282306.22042 24314942.346 24314949.716 24314942.202
+ -3040.704 -2369.380 47.000 41.000
+ -8580053.67143 -6641244.59042 23415697.877 23415701.761 23415695.850
+ -3148.573 -2453.433 47.000 41.000
+ -13602857.09243 -10554753.58642 22828810.151 22828815.524 22828809.699
+ -2871.724 -2237.707 49.000 42.000
+ -25364983.43644 -19724913.14342 20821919.310 20821922.850 20821918.284
+ 1768.033 1377.688 57.000 51.000
+ -2339349.30043 -1767842.86442 25298364.322 25298371.184 25298361.627
+ -1963.775 -1530.214 40.000 35.000
+ -13172291.03443 -10251809.07742 22789272.096 22789275.980 22789270.595
+ 1837.907 1432.135 52.000 45.000
+ -19950007.58243 -15510373.19742 21518072.276 21518076.943 21518071.367
+ 2359.250 1838.377 55.000 49.000
+ 04 2 1 12 58 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19033189.88843 -14826634.81542 21725732.213 21725736.172 21725731.900
+ -180.368 -140.546 55.000 48.000
+ -9462482.42843 -7353242.38742 23037177.475 23037181.478 23037175.328
+ 3700.362 2883.399 49.000 42.000
+ -2859011.64943 -2211280.69642 24332287.254 24332294.005 24332286.140
+ -3036.674 -2366.239 46.000 40.000
+ -8485602.89043 -6567646.58142 23433672.102 23433673.950 23433669.197
+ -3148.046 -2453.023 48.000 40.000
+ -13516664.23443 -10487590.38742 22845211.488 22845216.816 22845211.737
+ -2874.948 -2240.219 48.000 42.000
+ -25417812.99144 -19766079.03242 20811866.096 20811869.643 20811865.208
+ 1753.432 1366.311 57.000 51.000
+ -2280419.50543 -1721923.66942 25309578.312 25309581.305 25309578.258
+ -1965.558 -1531.604 41.000 34.000
+ -13227445.82243 -10294786.82242 22778776.979 22778779.508 22778775.346
+ 1838.594 1432.671 52.000 45.000
+ -20020596.71743 -15565377.68742 21504639.299 21504644.408 21504638.073
+ 2346.212 1828.217 55.000 49.000
+ 04 2 1 12 58 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19027524.18243 -14822219.96442 21726810.730 21726814.292 21726809.674
+ -197.194 -153.658 55.000 48.000
+ -9573465.49243 -7439722.60942 23016057.066 23016063.175 23016055.442
+ 3698.514 2881.959 48.000 42.000
+ -2767995.72743 -2140359.36442 24349607.004 24349613.802 24349607.143
+ -3031.032 -2361.843 47.000 40.000
+ -8391164.47043 -6494058.22142 23451642.481 23451644.950 23451641.459
+ -3147.016 -2452.220 47.000 40.000
+ -13430378.69043 -10420354.95842 22861633.285 22861637.953 22861632.477
+ -2877.009 -2241.825 49.000 42.000
+ -25470209.93144 -19806907.82042 20801895.635 20801898.636 20801894.309
+ 1739.899 1355.765 57.000 51.000
+ -2221443.01343 -1675968.00442 25320801.728 25320805.045 25320799.174
+ -1966.215 -1532.115 43.000 35.000
+ -13282626.78243 -10337784.95742 22768275.066 22768278.898 22768274.115
+ 1840.298 1433.998 51.000 45.000
+ -20090799.58643 -15620081.18842 21491280.241 21491284.455 21491278.969
+ 2334.183 1818.844 55.000 49.000
+ 04 2 1 12 59 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19021316.17743 -14817382.54642 21727992.039 21727995.870 21727991.562
+ -216.324 -168.564 55.000 48.000
+ -9684371.54243 -7526142.83842 22994951.259 22994959.056 22994949.401
+ 3694.992 2879.215 48.000 42.000
+ -2677112.46843 -2069541.36442 24366902.400 24366907.878 24366900.648
+ -3027.606 -2359.173 47.000 40.000
+ -8296736.57243 -6420478.02042 23469612.077 23469614.953 23469610.788
+ -3147.528 -2452.619 47.000 40.000
+ -13344000.26443 -10353047.16142 22878070.339 22878074.756 22878067.591
+ -2881.162 -2245.061 48.000 42.000
+ -25522168.40344 -19847394.94142 20792007.967 20792011.225 20792006.991
+ 1724.119 1343.469 57.000 51.000
+ -2162415.51143 -1629972.59242 25332033.644 25332037.837 25332032.792
+ -1968.817 -1534.143 43.000 36.000
+ -13337829.75543 -10380800.24042 22757769.999 22757773.995 22757769.012
+ 1840.012 1433.776 51.000 45.000
+ -20160609.59243 -15674478.56742 21477995.449 21478000.434 21477994.628
+ 2320.050 1807.831 55.000 49.000
+ 04 2 1 12 59 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19014568.26943 -14812124.42842 21729275.781 21729279.615 21729275.251
+ -234.115 -182.427 55.000 48.000
+ -9795200.04543 -7612502.63942 22973862.516 22973868.104 22973860.522
+ 3692.580 2877.335 48.000 42.000
+ -2586367.07643 -1998830.81142 24384170.347 24384176.655 24384168.195
+ -3022.845 -2355.464 47.000 40.000
+ -8202323.37943 -6346909.33342 23487577.261 23487581.462 23487576.312
+ -3147.316 -2452.454 46.000 40.000
+ -13257534.88443 -10285671.63042 22894522.391 22894529.082 22894521.173
+ -2883.677 -2247.021 47.000 42.000
+ -25573688.57244 -19887540.53142 20782204.345 20782207.068 20782203.123
+ 1709.789 1332.303 57.000 51.000
+ -2103339.41243 -1583939.34742 25343273.919 25343281.466 25343271.987
+ -1969.819 -1534.924 39.000 35.000
+ -13393057.05943 -10423834.49142 22747261.746 22747264.895 22747260.358
+ 1841.151 1434.663 52.000 45.000
+ -20230026.54943 -15728569.67642 21464786.418 21464790.918 21464785.197
+ 2307.130 1797.764 56.000 49.000
+ 04 2 1 13 0 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -19007278.77543 -14806444.29742 21730663.732 21730666.842 21730663.178
+ -251.758 -196.175 55.000 48.000
+ -9905946.14143 -7698798.23042 22952788.145 22952793.716 22952786.238
+ 3690.450 2875.675 48.000 42.000
+ -2495760.57943 -1928228.47342 24401413.286 24401418.284 24401412.578
+ -3017.578 -2351.359 47.000 40.000
+ -8107925.20643 -6273352.33442 23505539.747 23505545.283 23505539.307
+ -3146.302 -2451.664 46.000 40.000
+ -13170984.44043 -10218229.79342 22910993.207 22910998.922 22910992.305
+ -2886.116 -2248.921 47.000 42.000
+ -25624766.70544 -19927341.67142 20772483.930 20772487.429 20772483.103
+ 1695.403 1321.093 57.000 51.000
+ -2044212.24843 -1537866.28542 25354526.370 25354534.471 25354525.505
+ -1971.343 -1536.111 40.000 35.000
+ -13448306.84143 -10466886.25042 22736747.496 22736751.119 22736746.478
+ 1842.303 1435.561 51.000 45.000
+ -20299046.13443 -15782351.13642 21451651.999 21451656.820 21451651.224
+ 2294.248 1787.726 56.000 49.000
+ 04 2 1 13 0 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18999448.34643 -14800342.65342 21732153.176 21732157.143 21732152.291
+ -269.817 -210.247 55.000 48.000
+ -10016607.23843 -7785027.56942 22931729.555 22931735.182 22931727.370
+ 3687.109 2873.072 48.000 43.000
+ -2405296.30543 -1857736.96842 24418627.400 24418632.511 24418627.441
+ -3013.041 -2347.824 47.000 39.000
+ -8013544.59343 -6199809.05342 23523500.889 23523505.855 23523498.898
+ -3145.446 -2450.997 46.000 40.000
+ -13084353.19643 -10150724.99942 22927479.620 22927484.346 22927478.088
+ -2888.709 -2250.942 48.000 42.000
+ -25675401.45944 -19966797.32342 20762848.631 20762851.946 20762847.707
+ 1680.680 1309.621 57.000 51.000
+ -1985034.59453 -1491753.88352 25365785.122 25365794.183 25365785.450
+ -1973.416 -1537.727 37.000 34.000
+ -13503579.81443 -10509956.08842 22726229.329 22726233.996 22726228.354
+ 1843.098 1436.180 51.000 46.000
+ -20367666.40343 -15835821.44142 21438593.634 21438599.066 21438593.309
+ 2280.879 1777.308 55.000 49.000
+ 04 2 1 13 1 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18991076.40743 -14793819.05842 21733746.508 21733750.004 21733746.064
+ -288.579 -224.867 55.000 48.000
+ -10127179.54343 -7871187.73042 22910688.508 22910693.339 22910686.586
+ 3683.802 2870.495 48.000 42.000
+ -2314976.35343 -1787357.92642 24435814.132 24435820.656 24435813.771
+ -3008.597 -2344.361 46.000 39.000
+ -7919182.52543 -6126280.18942 23541456.162 23541462.078 23541455.725
+ -3145.385 -2450.949 45.000 40.000
+ -12997643.81143 -10083159.31142 22943979.300 22943984.986 22943977.646
+ -2891.999 -2253.506 48.000 42.000
+ -25725589.91044 -20005905.20942 20753298.054 20753301.245 20753297.230
+ 1664.995 1297.399 57.000 51.000
+ -1925805.10843 -1445601.11742 25377059.068 25377064.719 25377059.994
+ -1975.824 -1539.603 40.000 35.000
+ -13558874.85743 -10553043.11642 22715706.922 22715711.150 22715705.872
+ 1843.071 1436.159 52.000 46.000
+ -20435883.78843 -15888977.81742 21425613.225 21425617.612 21425611.973
+ 2266.733 1766.285 56.000 49.000
+ 04 2 1 13 1 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18982161.87743 -14786872.65442 21735442.651 21735446.630 21735442.142
+ -306.484 -238.819 55.000 48.000
+ -10237659.17043 -7957275.65642 22889665.278 22889670.146 22889663.869
+ 3680.901 2868.235 49.000 43.000
+ -2224802.38843 -1717092.64042 24452972.272 24452981.450 24452970.363
+ -3003.517 -2340.403 45.000 39.000
+ -7824840.08043 -6052766.62842 23559410.162 23559413.903 23559409.067
+ -3144.580 -2450.322 47.000 40.000
+ -12910858.95843 -10015534.83842 22960493.850 22960498.144 22960491.914
+ -2894.268 -2255.274 48.000 42.000
+ -25775328.93344 -20044662.88542 20743832.934 20743836.485 20743832.123
+ 1650.205 1285.874 57.000 51.000
+ -1866522.72043 -1399407.14442 25388337.222 25388346.300 25388337.652
+ -1976.799 -1540.363 38.000 35.000
+ -13614190.96343 -10596146.54742 22705180.608 22705184.429 22705179.172
+ 1843.903 1436.807 51.000 45.000
+ -20503694.92643 -15941817.64242 21412708.595 21412713.485 21412707.446
+ 2253.310 1755.826 56.000 49.000
+ 04 2 1 13 2 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18972706.95343 -14779505.18142 21737242.130 21737245.999 21737241.537
+ -324.404 -252.782 55.000 48.000
+ -10348045.08143 -8043290.55142 22868660.285 22868664.350 22868658.199
+ 3678.090 2866.044 49.000 43.000
+ -2134779.53643 -1646945.08042 24470104.911 24470111.184 24470103.665
+ -2998.449 -2336.454 46.000 39.000
+ -7730520.84343 -5979271.17742 23577358.866 23577364.734 23577356.710
+ -3143.688 -2449.627 47.000 41.000
+ -12824004.09543 -9947855.79242 22977020.605 22977025.863 22977020.992
+ -2896.559 -2257.059 47.000 41.000
+ -25824618.44344 -20083070.29742 20734453.840 20734456.973 20734452.769
+ 1635.095 1274.100 57.000 51.000
+ -1807188.87843 -1353173.10842 25399629.746 25399633.999 25399630.269
+ -1979.199 -1542.233 40.000 34.000
+ -13669529.78543 -10639267.72042 22694649.509 22694653.597 22694648.129
+ 1844.743 1437.462 51.000 45.000
+ -20571099.21843 -15994340.43842 21399881.978 21399887.113 21399880.945
+ 2239.717 1745.234 56.000 49.000
+ 04 2 1 13 2 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18962709.54043 -14771714.96942 21739144.126 21739148.441 21739143.578
+ -342.663 -267.010 55.000 48.000
+ -10458331.39143 -8129227.85242 22847671.178 22847677.835 22847670.352
+ 3674.541 2863.279 48.000 43.000
+ -2044907.83143 -1576915.30842 24487206.457 24487214.704 24487205.647
+ -2993.451 -2332.559 45.000 38.000
+ -7636224.40943 -5905793.47842 23595301.766 23595307.054 23595301.426
+ -3143.097 -2449.166 46.000 40.000
+ -12737080.37643 -9880123.11342 22993562.595 22993567.651 22993561.282
+ -2898.814 -2258.816 48.000 41.000
+ -25873454.17844 -20121124.11542 20725160.351 20725163.576 20725159.352
+ 1619.977 1262.320 57.000 51.000
+ -1747801.11643 -1306896.98242 25410932.226 25410936.908 25410930.681
+ -1980.576 -1543.306 41.000 34.000
+ -13724888.57243 -10682404.41542 22684115.122 22684120.023 22684114.661
+ 1845.283 1437.883 51.000 45.000
+ -20638091.74643 -16046542.37842 21387133.562 21387138.503 21387132.602
+ 2225.912 1734.477 56.000 49.000
+ 04 2 1 13 3 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18952171.65543 -14763503.62842 21741149.629 21741153.488 21741149.133
+ -360.851 -281.182 55.000 48.000
+ -10568517.36443 -8215086.96142 22826704.505 22826710.302 22826703.000
+ 3670.754 2860.328 48.000 43.000
+ -1955191.81943 -1507006.87442 24504280.049 24504287.370 24504278.175
+ -2988.597 -2328.777 45.000 38.000
+ -7541954.55743 -5832336.49642 23613242.241 23613246.032 23613240.434
+ -3142.446 -2448.659 47.000 40.000
+ -12650093.17443 -9812340.94442 23010115.638 23010120.910 23010115.368
+ -2901.272 -2260.731 48.000 41.000
+ -25921836.22844 -20158824.41042 20715953.648 20715956.809 20715952.604
+ 1604.602 1250.339 57.000 51.000
+ -1688360.79643 -1260579.89442 25422244.090 25422247.038 25422242.260
+ -1982.790 -1545.031 41.000 34.000
+ -13780269.31343 -10725558.22942 22673577.155 22673580.435 22673575.312
+ 1845.821 1438.302 51.000 45.000
+ -20704671.51843 -16098422.69042 21374463.914 21374468.870 21374462.999
+ 2211.856 1723.524 56.000 49.000
+ 04 2 1 13 3 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18941093.76443 -14754871.49942 21743257.794 21743261.575 21743257.339
+ -378.228 -294.723 55.000 48.000
+ -10678599.78243 -8300865.38342 22805757.005 22805762.229 22805756.112
+ 3667.697 2857.946 50.000 43.000
+ -1865634.58543 -1437222.15542 24521322.640 24521329.259 24521323.386
+ -2982.639 -2324.134 46.000 38.000
+ -7447713.20943 -5758901.69942 23631175.083 23631181.007 23631175.059
+ -3140.722 -2447.316 46.000 40.000
+ -12563046.37643 -9744512.34442 23026680.163 23026686.004 23026679.438
+ -2902.421 -2261.627 48.000 41.000
+ -25969762.65644 -20196169.68042 20706833.273 20706837.008 20706832.523
+ 1590.012 1238.970 57.000 51.000
+ -1628868.13543 -1214222.03742 25433565.677 25433570.597 25433566.389
+ -1983.592 -1545.656 42.000 34.000
+ -13835672.18043 -10768729.26942 22663034.384 22663038.286 22663032.892
+ 1847.175 1439.357 51.000 45.000
+ -20770836.39243 -16149979.71542 21361873.649 21361878.339 21361872.763
+ 2198.599 1713.194 56.000 49.000
+ 04 2 1 13 4 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18929471.40743 -14745815.11242 21745469.773 21745473.451 21745469.022
+ -396.398 -308.881 55.000 48.000
+ -10788571.07543 -8386557.21642 22784829.912 22784835.530 22784828.503
+ 3663.790 2854.901 49.000 43.000
+ -1776234.26343 -1367559.71742 24538333.828 24538342.845 24538334.217
+ -2977.458 -2320.097 45.000 38.000
+ -7353497.72343 -5685487.13242 23649104.243 23649109.276 23649101.679
+ -3140.139 -2446.861 47.000 40.000
+ -12475938.82243 -9676636.39442 23043256.426 23043263.979 23043254.845
+ -2904.478 -2263.230 48.000 41.000
+ -26017226.92144 -20233154.81742 20697801.456 20697804.776 20697800.204
+ 1574.389 1226.797 57.000 51.000
+ -1569317.94253 -1167819.33552 25444897.084 25444900.995 25444897.276
+ -1985.794 -1547.372 40.000 34.000
+ -13891092.27543 -10811913.74242 22652488.404 22652490.902 22652486.581
+ 1847.671 1439.744 51.000 45.000
+ -20836579.44343 -16201208.03742 21349362.924 21349367.572 21349361.817
+ 2184.418 1702.144 56.000 49.000
+ 04 2 1 13 4 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18917307.25443 -14736336.54742 21747784.010 21747788.071 21747783.607
+ -414.860 -323.267 55.000 48.000
+ -10898430.36243 -8472161.76642 22763924.746 22763930.437 22763922.730
+ 3659.673 2851.693 49.000 44.000
+ -1686995.64543 -1298023.27042 24555315.260 24555323.119 24555314.439
+ -2972.288 -2316.068 44.000 38.000
+ -7259312.00143 -5612095.70242 23667027.025 23667031.712 23667025.464
+ -3139.181 -2446.115 46.000 40.000
+ -12388776.26443 -9608717.58642 23059843.459 23059848.363 23059843.078
+ -2906.541 -2264.837 47.000 41.000
+ -26064229.22544 -20269779.98342 20688857.182 20688860.365 20688856.212
+ 1558.594 1214.489 57.000 51.000
+ -1509712.24843 -1121373.25642 25456239.950 25456240.427 25456237.912
+ -1987.748 -1548.894 38.000 33.000
+ -13946531.50043 -10855113.10742 22641938.459 22641941.722 22641937.605
+ 1847.753 1439.807 52.000 45.000
+ -20901900.29143 -16252107.37742 21336932.155 21336937.499 21336931.462
+ 2169.842 1690.786 56.000 49.000
+ 04 2 1 13 5 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18904601.90843 -14726436.26642 21750201.863 21750205.515 21750201.285
+ -431.922 -336.562 55.000 48.000
+ -11008174.96243 -8557676.94642 22743039.923 22743046.047 22743038.790
+ 3656.709 2849.384 49.000 44.000
+ -1597922.12043 -1228615.46842 24572266.643 24572273.534 24572267.411
+ -2965.859 -2311.059 44.000 38.000
+ -7165158.39243 -5538729.33142 23684943.916 23684948.376 23684942.047
+ -3137.342 -2444.682 46.000 40.000
+ -12301562.70343 -9540759.04042 23076438.545 23076445.276 23076437.777
+ -2907.338 -2265.458 47.000 40.000
+ -26110768.16044 -20306044.08842 20680000.875 20680004.409 20679999.934
+ 1544.174 1203.252 57.000 51.000
+ 25467594.152
+ -1988.779 -1549.698 40.000
+ -14001990.07643 -10898327.56642 22631385.107 22631389.225 22631383.679
+ 1849.659 1441.293 52.000 46.000
+ -20966796.68043 -16302675.96342 21324582.923 21324587.937 21324582.232
+ 2156.666 1680.519 56.000 49.000
+ 04 2 1 13 5 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18891354.51943 -14716113.61842 21752723.028 21752726.910 21752722.393
+ -450.607 -351.122 55.000 48.000
+ -11117800.53343 -8643099.37842 22722179.114 22722186.012 22722178.160
+ 3651.986 2845.703 50.000 44.000
+ -1509014.79943 -1159337.16042 24589185.832 24589193.496 24589184.160
+ -2960.853 -2307.158 44.000 38.000
+ -7071037.40843 -5465388.35742 23702854.252 23702857.285 23702852.340
+ -3137.174 -2444.551 46.000 39.000
+ -12214300.42743 -9472762.54842 23093045.180 23093050.741 23093043.381
+ -2909.509 -2267.150 47.000 40.000
+ -26156840.43244 -20341944.55642 20671233.997 20671237.106 20671232.678
+ 1527.895 1190.568 57.000 51.000
+ -2255950.99452 25478955.378 25478962.840
+ -1991.833 -1552.078 40.000 31.000
+ -14057466.60443 -10941555.99942 22620828.967 22620831.606 22620826.917
+ 1849.575 1441.227 52.000 45.000
+ -21031264.97243 -16352910.96742 21312315.373 21312320.129 21312314.318
+ 2141.743 1668.891 56.000 49.000
+ 04 2 1 13 6 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18877565.22643 -14705368.70542 21755347.273 21755350.281 21755346.153
+ -468.859 -365.345 55.000 48.000
+ -11227303.80043 -8728426.50442 22701341.537 22701347.394 22701339.980
+ 3647.862 2842.490 50.000 44.000
+ -1420276.31843 -1090190.47242 24606071.994 24606078.876 24606071.982
+ -2955.276 -2302.812 44.000 38.000
+ -6976950.66443 -5392074.07142 23720758.456 23720761.097 23720756.009
+ -3135.652 -2443.365 46.000 39.000
+ -12126992.70243 -9404730.64042 23109659.147 23109664.344 23109658.388
+ -2911.117 -2268.403 47.000 41.000
+ -26202444.12044 -20377479.88842 20662555.623 20662559.030 20662554.777
+ 1512.043 1178.215 57.000 51.000
+ 25490332.289
+ -1993.981 -1553.751 37.000
+ -14112961.01743 -10984798.37842 22610268.019 22610271.055 22610266.193
+ 1849.807 1441.408 52.000 46.000
+ -21095302.61443 -16402810.40142 21300130.062 21300134.015 21300128.646
+ 2127.205 1657.562 56.000 49.000
+ 04 2 1 13 6 30.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18863234.50343 -14694201.90142 21758073.671 21758077.228 21758072.986
+ -486.789 -379.316 55.000 48.000
+ -11336681.63043 -8813655.90242 22680527.948 22680532.528 22680526.989
+ 3643.823 2839.343 50.000 44.000
+ -1331709.58243 -1021177.58142 24622926.307 24622932.099 24622924.914
+ -2949.557 -2298.356 44.000 38.000
+ -6882900.04543 -5318787.91342 23738655.775 23738660.551 23738653.902
+ -3134.399 -2442.389 45.000 39.000
+ -12039643.13543 -9336666.10242 23126282.137 23126286.863 23126281.640
+ -2912.403 -2269.405 48.000 41.000
+ -26247577.25644 -20412648.56542 20653967.019 20653970.591 20653966.208
+ 1496.522 1166.121 57.000 51.000
+ 25501716.137
+ -1995.558 -1554.980 37.000
+ -14168472.94343 -11028054.41142 22599704.936 22599707.674 22599703.269
+ 1850.732 1442.129 52.000 45.000
+ -21158907.48743 -16452372.61842 21288025.495 21288029.955 21288024.733
+ 2112.886 1646.405 56.000 49.000
+ 04 2 1 13 7 0.0000000 0 9G 4G17G29G 7G26G 9G28G 5G24
+ -18848360.62743 -14682611.85942 21760904.417 21760908.372 21760903.924
+ -505.098 -393.583 55.000 48.000
+ -11445929.02243 -8898783.66242 22659737.857 22659743.878 22659737.291
+ 3639.195 2835.736 50.000 44.000
+ -1243315.18843 -952298.96542 24639746.436 24639752.095 24639744.190
+ -2943.704 -2293.795 44.000 37.000
+ -6788885.23443 -5245529.68142 23756545.313 23756550.819 23756544.279
+ -3133.467 -2441.662 44.000 39.000
+ -11952253.19943 -9268570.12842 23142911.409 23142916.679 23142910.435
+ -2913.740 -2270.447 48.000 41.000
+ -26292235.96044 -20447447.55542 20645468.858 20645472.202 20645467.859
+ 1480.570 1153.691 57.000 51.000
+ -2786252.72153 -2116080.58852 25513115.483 25513125.022 25513116.976
+ -1997.069 -1556.158 38.000 32.000
+ -14224000.09843 -11071322.30342 22589137.342 22589140.969 22589136.124
+ 1850.942 1442.292 52.000 46.000
+ -21222074.59343 -16501593.71142 21276005.343 21276010.062 21276004.506
+ 2098.101 1634.884 56.000 49.000
+ 04 2 1 13 7 30.0000000 0 8G 4G17G29G 7G26G 9G 5G24
+ -18832946.26243 -14670600.65042 21763837.095 21763840.964 21763836.970
+ -522.725 -407.318 54.000 48.000
+ -11555044.97243 -8983809.00342 22638974.352 22638979.910 22638972.892
+ 3634.959 2832.436 50.000 44.000
+ -1155097.78643 -883558.27942 24656533.420 24656540.545 24656532.656
+ -2937.482 -2288.947 44.000 37.000
+ -6694910.14843 -5172302.41242 23774427.745 23774433.099 23774427.531
+ -3131.741 -2440.318 44.000 39.000
+ -11864828.52043 -9200447.06842 23159546.887 23159554.086 23159545.791
+ -2914.669 -2271.171 47.000 41.000
+ -26336420.49244 -20481877.06342 20637060.895 20637064.159 20637060.014
+ 1465.038 1141.588 57.000 51.000
+ -14279544.28243 -11114603.46542 22578568.456 22578571.728 22578567.132
+ 1851.895 1443.035 52.000 46.000
+ -21284804.03343 -16550473.77142 21264068.764 21264072.887 21264067.772
+ 2083.723 1623.680 56.000 49.000
+ 04 2 1 13 8 0.0000000 0 8G 4G17G29G 7G26G 9G 5G24
+ -18816990.50143 -14658167.58842 21766874.244 21766877.835 21766873.288
+ -540.966 -421.532 55.000 48.000
+ -11664024.69943 -9068728.18442 22618235.597 22618240.771 22618234.274
+ 3630.198 2828.726 50.000 44.000
+ -1067058.78443 -814956.60542 24673288.639 24673296.280 24673286.365
+ -2931.843 -2284.553 44.000 38.000
+ -6600975.11643 -5099106.35042 23792305.944 23792307.696 23792303.714
+ -3130.447 -2439.309 45.000 39.000
+ -11777371.13043 -9132298.52642 23176189.403 23176196.772 23176188.940
+ -2915.645 -2271.931 47.000 41.000
+ -26380127.68344 -20515934.61042 20628743.561 20628746.748 20628742.638
+ 1448.703 1128.859 57.000 51.000
+ -14335103.65543 -11157896.45742 22567995.709 22567998.824 22567994.492
+ 1852.032 1443.142 52.000 46.000
+ -21347091.78743 -16599009.64942 21252215.311 21252219.539 21252214.337
+ 2068.645 1611.931 56.000 49.000
+ 04 2 1 13 8 30.0000000 0 8G 4G17G29G 7G26G 9G 5G24
+ -18800494.69143 -14645313.70542 21770013.211 21770016.443 21770012.938
+ -558.421 -435.133 55.000 48.000
+ -11772866.53043 -9153539.93542 22597523.418 22597529.598 22597522.886
+ 3626.005 2825.458 49.000 43.000
+ -979201.82243 -746496.76842 24690005.709 24690013.839 24690004.352
+ -2925.250 -2279.415 44.000 37.000
+ -6507082.89843 -5025943.66542 23810171.560 23810173.771 23810169.136
+ -3128.408 -2437.720 44.000 38.000
+ -11689885.50843 -9064127.98542 23192837.912 23192843.719 23192837.462
+ -2916.273 -2272.420 47.000 41.000
+ -26423356.82544 -20549619.65542 20620517.523 20620520.607 20620516.638
+ 1433.212 1116.789 57.000 51.000
+ -14390679.08543 -11201201.96142 22557418.923 22557423.189 22557418.678
+ 1852.973 1443.875 52.000 46.000
+ -21408936.64643 -16647200.43242 21240447.315 21240451.459 21240445.989
+ 2054.348 1600.791 56.000 49.000
+ 04 2 1 13 9 0.0000000 0 8G 4G17G29G 7G26G 9G 5G24
+ -18783457.19343 -14632037.73342 21773255.636 21773258.370 21773254.785
+ -576.951 -449.572 55.000 48.000
+ -11881564.56243 -9238239.63042 22576839.919 22576844.197 22576837.657
+ 3620.718 2821.339 50.000 44.000
+ -891527.02543 -678178.87442 24706690.598 24706696.650 24706688.877
+ -2919.531 -2274.959 44.000 37.000
+ -6413232.94243 -4952813.91042 23828030.961 23828034.502 23828029.246
+ -3127.656 -2437.134 45.000 39.000
+ -11602372.87943 -8995936.41642 23209491.071 23209496.949 23209490.069
+ -2917.579 -2273.438 47.000 41.000
+ -26466103.64944 -20582928.86942 20612383.177 20612386.131 20612382.134
+ 1416.708 1103.928 57.000 51.000
+ -14446268.28343 -11244518.20042 22546841.895 22546844.927 22546840.412
+ 1853.099 1443.973 52.000 46.000
+ -21470333.88143 -16695042.39942 21228762.988 21228767.839 21228761.959
+ 2038.939 1588.784 56.000 49.000
+ 04 2 1 13 9 30.0000000 0 9G 4G17G29G 7G26G 9G 5G24G 6
+ -18765877.79443 -14618339.49942 21776600.345 21776603.905 21776600.056
+ -594.429 -463.191 55.000 48.000
+ -11990115.26943 -9322824.51542 22556182.105 22556187.629 22556181.605
+ 3616.264 2817.868 50.000 44.000
+ -804036.48043 -610004.53642 24723339.416 24723346.412 24723338.161
+ -2913.021 -2269.886 44.000 37.000
+ -6319426.26343 -4879717.84442 23845882.033 23845886.643 23845880.928
+ -3125.823 -2435.706 45.000 39.000
+ -11514836.10243 -8927726.03042 23226148.355 23226154.898 23226147.903
+ -2917.727 -2273.553 47.000 41.000
+ -26508365.74844 -20615860.37842 20604340.556 20604343.919 20604339.690
+ 1400.802 1091.534 57.000 51.000
+ -14501869.92043 -11287844.13142 22536261.517 22536264.882 22536259.761
+ 1853.910 1444.605 52.000 46.000
+ -21531280.47943 -16742533.22542 21217165.192 21217170.009 21217164.141
+ 2024.300 1577.377 56.000 49.000
+ -1703198.30053 -1273882.45052 25209029.045 25209033.536 25209026.720
+ 2802.492 2183.760 43.000 36.000
+ 04 2 1 13 10 0.0000000 0 9G 4G17G29G 7G26G 9G 5G24G 6
+ -18747760.64443 -14604222.23442 21780048.052 21780051.395 21780047.012
+ -612.476 -477.254 54.000 48.000
+ -12098519.00643 -9407294.87642 22535553.736 22535558.879 22535553.048
+ 3611.240 2813.953 50.000 44.000
+ -716736.22643 -541978.51042 24739952.805 24739959.690 24739950.850
+ -2906.489 -2264.797 44.000 37.000
+ -6225668.27243 -4806659.76842 23863722.326 23863729.590 23863720.879
+ -3124.234 -2434.468 44.000 39.000
+ -11427282.18943 -8859502.29042 23242810.134 23242815.159 23242809.683
+ -2918.551 -2274.195 48.000 41.000
+ -26550145.04644 -20648415.67542 20596390.271 20596393.908 20596389.548
+ 1384.843 1079.098 57.000 51.000
+ -14557487.62543 -11331182.58242 22525677.953 22525680.378 22525676.621
+ 1854.551 1445.105 53.000 46.000
+ -21591777.69643 -16789673.89242 21205652.835 21205657.816 21205652.391
+ 2009.369 1565.742 56.000 49.000
+ -1787184.61143 -1339326.08142 25193042.265 25193051.970 25193042.651
+ 2797.043 2179.514 41.000 36.000
+ 04 2 1 13 10 30.0000000 0 9G 4G17G29G 7G26G 9G 5G24G 6
+ -18729100.73343 -14589682.04442 21783598.979 21783602.223 21783598.427
+ -631.204 -491.847 55.000 48.000
+ -12206766.88543 -9491643.78642 22514954.502 22514960.690 22514952.490
+ 3605.295 2809.321 49.000 43.000
+ -629623.25943 -474098.42942 24756529.570 24756534.371 24756527.012
+ -2900.966 -2260.493 43.000 36.000
+ -6131954.86843 -4733636.44542 23881554.424 23881561.516 23881553.313
+ -3123.043 -2433.540 43.000 39.000
+ -11339708.77643 -8791263.36642 23259474.612 23259480.239 23259474.290
+ -2919.838 -2275.198 48.000 41.000
+ -26591433.96944 -20680588.86442 20588533.402 20588536.876 20588532.247
+ 1367.751 1065.780 57.000 51.000
+ -14613115.08643 -11374528.63442 22515090.374 22515095.457 22515089.937
+ 1854.075 1444.734 51.000 46.000
+ -21651817.59643 -16836458.19942 21194228.031 21194232.422 21194226.888
+ 1993.325 1553.240 56.000 49.000
+ -1870998.61543 -1404635.44142 25177095.139 25177103.481 25177093.555
+ 2790.913 2174.737 38.000 34.000
+ 04 2 1 13 11 0.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18709902.09443 -14574722.06042 21787251.873 21787255.971 21787251.332
+ -648.959 -505.682 54.000 48.000
+ -12314859.40043 -9575871.63742 22494385.413 22494390.193 22494382.741
+ 3600.222 2805.368 49.000 43.000
+ -542703.95643 -406369.23642 24773068.576 24773078.709 24773066.870
+ -2894.265 -2255.271 43.000 36.000
+ -6038291.37143 -4660652.01742 23899379.868 23899386.215 23899378.636
+ -3121.306 -2432.186 45.000 39.000
+ -11252123.08443 -8723014.88642 23276140.811 23276145.708 23276140.012
+ -2919.501 -2274.936 46.000 40.000
+ -1624006.93953 -1262234.88552 25108740.603 25108745.145 25108739.729
+ 2089.412 1628.113 45.000 35.000
+ -26632234.29044 -20712381.32642 20580769.148 20580772.605 20580768.141
+ 1351.831 1053.375 57.000 51.000
+ -14668755.68943 -11417884.94042 22504503.622 22504507.475 22504501.879
+ 1854.944 1445.411 52.000 46.000
+ -21711401.24643 -16882887.00042 21182889.621 21182893.567 21182888.423
+ 1978.385 1541.599 56.000 49.000
+ 04 2 1 13 11 30.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18690163.69743 -14559341.49342 21791008.066 21791011.531 21791007.262
+ -666.952 -519.703 54.000 48.000
+ -12422791.55143 -9659974.54642 22473846.514 22473852.101 22473845.424
+ 3594.871 2801.198 50.000 43.000
+ -455978.95543 -338791.42242 24789572.842 24789579.019 24789571.124
+ -2887.582 -2250.064 43.000 36.000
+ -5944677.67543 -4587706.38042 23917194.774 23917199.073 23917192.536
+ -3119.680 -2430.919 45.000 39.000
+ -11164526.62243 -8654757.97642 23292810.184 23292816.602 23292810.136
+ -2920.137 -2275.431 47.000 40.000
+ -1686748.76943 -1311124.55842 25096799.655 25096805.912 25096797.527
+ 2092.989 1630.901 44.000 35.000
+ -26672542.58444 -20743790.39342 20573099.030 20573101.997 20573098.074
+ 1335.269 1040.469 57.000 51.000
+ -14724407.35343 -11461249.86342 22493913.374 22493917.466 22493912.083
+ 1855.122 1445.550 52.000 46.000
+ -21770524.49043 -16928957.04342 21171638.454 21171643.050 21171637.448
+ 1962.896 1529.529 56.000 49.000
+ 04 2 1 13 12 0.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18669876.99343 -14543533.67042 21794868.983 21794872.331 21794868.008
+ -686.194 -534.697 54.000 48.000
+ -12530551.21043 -9743943.03842 22453339.901 22453346.191 22453338.927
+ 3588.200 2796.000 50.000 43.000
+ -369441.85243 -271359.99842 24806040.221 24806046.374 24806037.218
+ -2882.243 -2245.904 42.000 36.000
+ -5851106.33743 -4514793.77242 23935000.991 23935004.888 23934999.035
+ -3119.376 -2430.682 45.000 39.000
+ -11076913.85243 -8586488.34642 23309483.395 23309488.830 23309482.554
+ -2921.370 -2276.392 47.000 40.000
+ -1749581.31543 -1360084.96042 25084841.949 25084845.238 25084843.650
+ 2095.153 1632.587 41.000 34.000
+ -26712348.12544 -20774807.70242 20565524.149 20565527.435 20565523.218
+ 1317.569 1026.677 57.000 51.000
+ -14780060.58643 -11504615.99242 22483323.003 22483326.207 22483321.376
+ 1854.204 1444.834 52.000 46.000
+ -21829176.28343 -16974659.71342 21160477.356 21160482.466 21160476.489
+ 1946.244 1516.554 56.000 49.000
+ 04 2 1 13 12 30.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18649061.54243 -14527313.83842 21798829.639 21798833.382 21798828.935
+ -702.911 -547.723 55.000 48.000
+ -12638153.85443 -9827789.20042 22432864.012 22432870.406 22432862.593
+ 3583.838 2792.601 50.000 43.000
+ -283113.72243 -204091.42442 24822467.136 24822475.972 24822467.141
+ -2874.450 -2239.831 42.000 37.000
+ -5757597.63643 -4441929.97142 23952795.294 23952798.689 23952793.928
+ -3116.091 -2428.123 46.000 39.000
+ -10989306.79943 -8518223.18342 23326153.213 23326161.426 23326153.120
+ -2920.360 -2275.605 46.000 40.000
+ -1812523.68243 -1409130.98842 25072866.019 25072870.448 25072866.769
+ 2099.716 1636.142 44.000 34.000
+ -26751667.70844 -20805446.34242 20558041.699 20558044.879 20558040.840
+ 1302.235 1014.729 57.000 51.000
+ -14835733.76943 -11547997.68342 22472729.055 22472732.070 22472728.130
+ 1855.782 1446.064 53.000 46.000
+ -21887372.92243 -17020007.72042 21149402.866 21149407.665 21149402.122
+ 1932.002 1505.456 56.000 49.000
+ 04 2 1 13 13 0.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18627708.36743 -14510675.00442 21802892.975 21802896.621 21802892.668
+ -720.845 -561.697 54.000 48.000
+ -12745586.76243 -9911503.09042 22412421.734 22412425.766 22412419.590
+ 3578.176 2788.189 51.000 44.000
+ -196987.72743 -136980.39542 24838857.265 24838866.860 24838856.097
+ -2867.281 -2234.245 42.000 36.000
+ -5664143.75943 -4369108.85442 23970577.509 23970582.635 23970575.752
+ -3114.177 -2426.631 44.000 39.000
+ -10901699.41243 -8449957.77042 23342826.338 23342831.282 23342824.946
+ -2920.300 -2275.558 47.000 40.000
+ -1875566.97143 -1458255.62542 25060869.172 25060875.930 25060868.465
+ 2102.843 1638.579 43.000 35.000
+ -26790490.15544 -20835697.60442 20550654.430 20550657.413 20550653.375
+ 1285.785 1001.910 57.000 51.000
+ -14891417.45643 -11591387.56042 22462132.751 22462135.794 22462131.112
+ 1856.245 1446.425 53.000 46.000
+ -21945102.93743 -17064992.12442 21138417.369 21138421.927 21138416.479
+ 1916.472 1493.355 56.000 49.000
+ 04 2 1 13 13 30.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18605814.55143 -14493614.89242 21807058.545 21807062.588 21807058.350
+ -738.834 -575.715 54.000 47.000
+ -12852843.03343 -9995079.35342 22392010.549 22392015.780 22392009.831
+ 3572.038 2783.406 50.000 44.000
+ -111062.53243 -70025.81842 24855209.257 24855215.130 24855208.906
+ -2860.992 -2229.344 42.000 36.000
+ -5570742.61943 -4296328.84642 23988349.253 23988357.477 23988347.032
+ -3111.813 -2424.789 42.000 38.000
+ -10814091.24943 -8381691.74142 23359494.371 23359502.695 23359495.895
+ -2920.256 -2275.524 45.000 40.000
+ -1938707.85343 -1507456.30842 25048851.680 25048858.695 25048851.659
+ 2106.033 1641.065 41.000 34.000
+ -26828810.03644 -20865557.25942 20543362.192 20543365.451 20543361.195
+ 1268.771 988.653 57.000 51.000
+ -14947107.06643 -11634782.05542 22451535.233 22451539.132 22451533.799
+ 1856.250 1446.429 52.000 46.000
+ -22002359.83443 -17109607.87542 21127521.602 21127526.325 21127520.797
+ 1900.545 1480.944 56.000 49.000
+ 04 2 1 13 14 0.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18583382.13743 -14476135.08842 21811327.562 21811331.133 21811327.366
+ -756.969 -589.846 54.000 48.000
+ -12959920.85843 -10078516.54142 22371633.633 22371639.429 22371631.932
+ 3565.935 2778.651 50.000 44.000
+ -25341.95743 -3230.70042 24871520.986 24871526.118 24871520.755
+ -2854.661 -2224.411 42.000 35.000
+ -5477396.92643 -4223592.09242 24006112.386 24006121.759 24006112.455
+ -3110.100 -2423.454 43.000 38.000
+ -10726487.23543 -8313428.96142 23376167.146 23376173.014 23376166.834
+ -2920.179 -2275.464 46.000 40.000
+ -2001948.38443 -1556734.56142 25036819.211 25036824.328 25036819.431
+ 2109.518 1643.780 43.000 34.000
+ -26866627.30344 -20895025.26542 20536165.717 20536169.213 20536164.819
+ 1251.954 975.549 57.000 51.000
+ -15002803.86143 -11678182.15942 22440936.364 22440939.988 22440935.415
+ 1856.529 1446.646 53.000 46.000
+ -22059143.17643 -17153854.61442 21116716.411 21116720.600 21116715.164
+ 1884.601 1468.520 56.000 49.000
+ 04 2 1 13 14 30.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18560414.06843 -14458237.89442 21815698.378 21815701.980 21815697.844
+ -774.261 -603.320 54.000 47.000
+ -13066819.38143 -10161814.03542 22351292.351 22351297.174 22351290.317
+ 3560.298 2774.258 51.000 44.000
+ 60169.18043 63401.26442 24887792.256 24887798.630 24887789.318
+ -2846.952 -2218.404 40.000 35.000
+ -5384110.81643 -4150901.69342 24023867.582 24023870.675 24023866.626
+ -3108.347 -2422.088 44.000 38.000
+ -10638892.96443 -8245173.77042 23392834.481 23392842.882 23392835.435
+ -2919.480 -2274.919 45.000 40.000
+ -2065291.13643 -1606092.52842 25024765.576 25024768.510 25024764.231
+ 2113.109 1646.578 43.000 35.000
+ -26903942.50744 -20924102.05442 20529065.032 20529068.244 20529064.136
+ 1235.577 962.787 57.000 51.000
+ -15058509.46443 -11721589.12742 22430335.135 22430339.642 22430334.426
+ 1857.228 1447.191 53.000 46.000
+ -22115453.04043 -17197732.41742 21106000.536 21106005.511 21105999.959
+ 1869.233 1456.545 56.000 49.000
+ 04 2 1 13 15 0.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18536912.52543 -14439925.00242 21820170.478 21820174.235 21820170.177
+ -791.803 -616.989 54.000 47.000
+ -13173536.58143 -10244970.23242 22330984.991 22330988.558 22330983.137
+ 3554.560 2769.787 51.000 44.000
+ 145466.73843 129866.83642 24904025.161 24904030.246 24904021.094
+ -2838.730 -2211.997 40.000 34.000
+ -5290887.22043 -4078260.04942 24041606.831 24041610.718 24041604.299
+ -3105.948 -2420.219 45.000 38.000
+ -10551312.98243 -8176929.74342 23409501.175 23409508.055 23409501.169
+ -2918.899 -2274.467 44.000 40.000
+ -2128738.14143 -1655531.67942 25012693.436 25012692.541 25012692.077
+ 2116.850 1649.494 46.000 35.000
+ -26940755.15944 -20952787.24342 20522059.876 20522063.089 20522058.716
+ 1219.118 949.962 57.000 51.000
+ -15114224.77743 -11765003.65542 22419734.300 22419737.197 22419732.927
+ 1857.801 1447.637 53.000 47.000
+ -22171288.53143 -17241240.56542 21095375.481 21095380.283 21095374.481
+ 1853.664 1444.414 56.000 50.000
+ 04 2 1 13 15 30.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18512873.65543 -14421193.42342 21824745.116 21824748.888 21824744.677
+ -809.987 -631.159 54.000 48.000
+ -13280064.56343 -10327978.98842 22310713.073 22310717.622 22310711.586
+ 3547.907 2764.603 51.000 44.000
+ 230553.30243 196167.99042 24920217.695 24920223.828 24920217.214
+ -2832.808 -2207.383 41.000 34.000
+ -5197722.93543 -4005664.59942 24059334.445 24059338.942 24059333.811
+ -3104.778 -2419.307 42.000 38.000
+ -10463746.16043 -8108695.96542 23426164.828 23426170.723 23426163.472
+ -2918.494 -2274.151 44.000 39.000
+ -2192284.86743 -1705048.58842 25000598.565 25000603.511 25000598.521
+ 2119.951 1651.910 45.000 36.000
+ -26977059.09544 -20981076.03042 20515151.276 20515154.561 20515150.189
+ 1201.980 936.608 57.000 51.000
+ -15169944.94043 -11808421.97242 22409131.019 22409133.814 22409129.400
+ 1857.723 1447.576 53.000 47.000
+ -22226642.52443 -17284373.52742 21084842.313 21084846.588 21084841.129
+ 1837.362 1431.711 56.000 49.000
+ 04 2 1 13 16 0.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18488298.50043 -14402043.94242 21829421.564 21829425.233 21829420.829
+ -827.803 -645.041 54.000 48.000
+ -13386400.25743 -10410837.91042 22290477.532 22290483.005 22290476.052
+ 3541.326 2759.475 51.000 44.000
+ 315426.33043 262302.71542 24936365.220 24936373.952 24936363.312
+ -2825.175 -2201.435 39.000 33.000
+ -5104619.54943 -3933116.59342 24077052.178 24077056.376 24077051.838
+ -3102.348 -2417.414 43.000 38.000
+ -10376195.85843 -8040475.08142 23442825.261 23442832.577 23442825.083
+ -2917.776 -2273.592 45.000 40.000
+ -2255932.27343 -1754643.85442 24988486.683 24988493.387 24988485.155
+ 2123.252 1654.482 43.000 35.000
+ -27012852.82244 -21008967.24742 20508340.440 20508343.128 20508339.307
+ 1184.621 923.081 57.000 51.000
+ -15225669.49643 -11851843.70242 22398526.272 22398530.023 22398525.044
+ 1857.556 1447.446 53.000 47.000
+ -22281512.93244 -17327129.66742 21074400.994 21074404.693 21074399.666
+ 1820.977 1418.943 57.000 50.000
+ 04 2 1 13 16 30.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18463188.64043 -14382477.83042 21834200.293 21834204.132 21834199.598
+ -845.499 -658.830 54.000 48.000
+ -13492541.54843 -10493545.33942 22270279.538 22270284.900 22270278.151
+ 3535.173 2754.680 51.000 45.000
+ 400082.31053 328268.29752 24952477.669 24952484.327 24952474.491
+ -2817.842 -2195.721 42.000 34.000
+ -5011579.55443 -3860617.98642 24094758.395 24094762.221 24094757.712
+ -3099.843 -2415.462 44.000 38.000
+ -10288666.44143 -7972270.48542 23459481.461 23459488.789 23459480.817
+ -2916.898 -2272.907 45.000 40.000
+ -2319681.67243 -1804318.60142 24976356.959 24976359.361 24976354.894
+ 2127.496 1657.789 43.000 35.000
+ -27048135.83544 -21036460.51442 20501626.077 20501628.936 20501625.055
+ 1168.099 910.207 57.000 51.000
+ -15281399.19443 -11895269.43642 22387921.769 22387924.309 22387920.322
+ 1858.300 1448.026 53.000 47.000
+ -22335898.58143 -17369508.07742 21064051.422 21064055.736 21064050.631
+ 1805.195 1406.645 56.000 50.000
+ 04 2 1 13 17 0.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18437544.12943 -14362495.09042 21839080.384 21839083.441 21839079.757
+ -863.434 -672.806 54.000 48.000
+ -13598484.16543 -10576097.97242 22250119.027 22250123.581 22250118.062
+ 3528.457 2749.447 51.000 45.000
+ 484519.85743 394063.68942 24968544.223 24968551.003 24968542.094
+ -2810.328 -2189.866 39.000 33.000
+ -4918603.47843 -3788169.13442 24112451.083 24112455.579 24112448.518
+ -3097.862 -2413.918 44.000 38.000
+ -10201160.01143 -7904083.79342 23476133.134 23476141.142 23476132.967
+ -2915.983 -2272.194 45.000 40.000
+ -2383532.33143 -1854072.28542 24964205.751 24964210.277 24964205.715
+ 2130.668 1660.261 44.000 37.000
+ -27082905.37644 -21063553.66542 20495009.058 20495012.775 20495008.396
+ 1150.839 896.758 57.000 51.000
+ -15337132.04543 -11938697.62942 22377315.632 22377319.272 22377313.969
+ 1858.174 1447.928 53.000 47.000
+ -22389796.44144 -17411506.39142 21053794.950 21053799.149 21053793.603
+ 1788.766 1393.844 57.000 50.000
+ 04 2 1 13 17 30.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18411367.47443 -14342097.69742 21844060.754 21844065.468 21844060.471
+ -881.571 -686.938 54.000 48.000
+ -13704226.62643 -10658494.62642 22229997.377 22230002.856 22229996.786
+ 3521.352 2743.911 51.000 45.000
+ 568734.77843 459685.60442 24984570.818 24984574.556 24984566.586
+ -2803.998 -2184.933 41.000 33.000
+ -4825694.60143 -3715772.68542 24130129.782 24130136.366 24130127.151
+ -3095.912 -2412.399 42.000 38.000
+ -10113681.72343 -7835919.02642 23492779.770 23492786.414 23492779.727
+ -2915.616 -2271.908 46.000 40.000
+ -2447486.51343 -1903906.69142 24952034.134 24952038.912 24952033.513
+ 2133.252 1662.274 44.000 36.000
+ -27117161.60744 -21090246.83442 20488490.718 20488493.934 20488489.632
+ 1133.284 883.078 57.000 51.000
+ -15392869.39143 -11982129.32942 22366709.668 22366712.021 22366708.501
+ 1857.868 1447.689 54.000 47.000
+ -22443206.48244 -17453124.58542 21043631.567 21043635.690 21043630.452
+ 1772.050 1380.818 57.000 50.000
+ 04 2 1 13 18 0.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18384654.15343 -14321282.13342 21849144.604 21849148.389 21849144.049
+ -898.725 -700.305 54.000 48.000
+ -13809760.19343 -10740728.52042 22209914.398 22209919.906 22209912.818
+ 3514.796 2738.802 51.000 45.000
+ 652730.16543 525136.40842 25000554.600 25000561.853 25000552.747
+ -2795.346 -2178.192 39.000 33.000
+ -4732849.04843 -3643425.59042 24147797.335 24147803.247 24147795.850
+ -3093.014 -2410.141 43.000 38.000
+ -10026229.35143 -7767774.45442 23509422.501 23509428.088 23509420.684
+ -2914.005 -2270.653 46.000 40.000
+ -2511539.43843 -1953818.01742 24939847.224 24939848.821 24939846.419
+ 2137.268 1665.404 44.000 36.000
+ -27150897.74344 -21116534.73442 20482070.888 20482074.470 20482069.959
+ 1116.461 869.970 57.000 51.000
+ -15448605.63743 -12025560.17442 22356103.162 22356106.529 22356101.541
+ 1858.401 1448.105 53.000 47.000
+ -22496120.66643 -17494356.39142 21033562.108 21033566.455 21033560.978
+ 1756.132 1368.415 56.000 50.000
+ 04 2 1 13 18 30.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18357407.79743 -14300051.21042 21854328.795 21854333.616 21854328.616
+ -916.322 -714.017 54.000 48.000
+ -13915084.19943 -10822799.10842 22189872.677 22189876.867 22189870.874
+ 3508.018 2733.521 51.000 45.000
+ 736500.87443 590412.20542 25016495.560 25016505.462 25016494.399
+ -2787.558 -2172.123 38.000 33.000
+ -4640070.96243 -3571131.00042 24165451.019 24165458.201 24165451.142
+ -3090.900 -2408.493 41.000 38.000
+ -9938809.02743 -7699654.84742 23526055.486 23526064.392 23526056.328
+ -2912.787 -2269.704 45.000 40.000
+ -2575693.93143 -2003808.44742 24927638.511 24927643.527 24927637.593
+ 2140.559 1667.968 45.000 37.000
+ -27184114.92044 -21142418.25442 20475750.007 20475753.367 20475748.772
+ 1099.432 856.700 57.000 51.000
+ -15504343.01843 -12068991.90442 22345497.305 22345500.618 22345495.671
+ 1858.648 1448.297 54.000 47.000
+ -22548539.74444 -17535202.40342 21023587.003 21023591.136 21023585.856
+ 1739.794 1355.684 57.000 50.000
+ 04 2 1 13 19 0.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18329631.32143 -14278407.20742 21859615.522 21859619.347 21859614.480
+ -935.744 -729.151 54.000 48.000
+ -14020197.51743 -10904705.53042 22169869.427 22169875.611 22169868.581
+ 3499.210 2726.657 50.000 44.000
+ -3906217.37253 -3027290.44252 25032391.017 25032399.068 25032388.231
+ -2781.811 -2167.645 38.000 33.000
+ -4547363.60843 -3498891.59742 24183095.013 24183101.107 24183092.368
+ -3089.917 -2407.727 42.000 38.000
+ -9851425.91143 -7631564.25542 23542686.095 23542692.277 23542685.504
+ -2913.549 -2270.298 46.000 40.000
+ -2639952.55143 -2053880.03242 24915410.366 24915415.386 24915409.991
+ 2142.640 1669.590 45.000 37.000
+ -27216813.57544 -21167897.72642 20469527.891 20469531.098 20469526.783
+ 1080.325 841.812 57.000 51.000
+ -15560082.77943 -12112425.48742 22334890.434 22334892.848 22334888.633
+ 1857.004 1447.016 54.000 47.000
+ -22600463.96044 -17575662.81542 21013706.182 21013710.671 21013705.114
+ 1721.495 1341.425 57.000 50.000
+ 04 2 1 13 19 30.0000000 0 9G 4G17G29G 7G26G30G 9G 5G24
+ -18301327.63443 -14256352.39242 21865001.497 21865004.695 21865000.869
+ -952.536 -742.236 54.000 48.000
+ -14125099.01043 -10986446.90242 22149907.859 22149913.176 22149906.418
+ 3492.638 2721.536 51.000 44.000
+ -3822908.96343 -2962374.84342 25048247.475 25048253.070 25048248.923
+ -2773.301 -2161.014 39.000 33.000
+ -4454730.55843 -3426710.03842 24200724.824 24200728.667 24200722.632
+ -3086.732 -2405.246 43.000 38.000
+ -9764085.20343 -7563506.69242 23559306.851 23559314.636 23559306.090
+ -2910.865 -2268.206 47.000 40.000
+ -2704317.45443 -2104034.46442 24903161.440 24903166.492 24903162.131
+ 2146.867 1672.883 45.000 37.000
+ -27248994.08944 -21192973.45242 20463403.814 20463407.166 20463402.962
+ 1063.538 828.731 57.000 51.000
+ -15615826.64843 -12155862.27642 22324282.281 22324285.217 22324280.981
+ 1857.731 1447.583 53.000 47.000
+ -22651892.90144 -17615737.29442 21003919.967 21003924.212 21003918.758
+ 1705.613 1329.049 57.000 50.000
+ 04 2 1 13 20 0.0000000 0 10G 4G17G29G 7G26G30G 9G 5G24G 6
+ -18272491.23943 -14233882.48242 21870488.213 21870492.134 21870488.038
+ -970.783 -756.454 54.000 48.000
+ -14229778.41343 -11068015.20842 22129987.711 22129993.535 22129986.731
+ 3485.027 2715.605 50.000 45.000
+ -3739829.61543 -2897637.79242 25064054.632 25064055.568 25064056.880
+ -2766.013 -2155.335 40.000 33.000
+ -4362166.57543 -3354582.28842 24218336.386 24218341.531 24218335.077
+ -3084.830 -2403.764 41.000 37.000
+ -9676783.44043 -7495479.47742 23575920.821 23575926.738 23575919.944
+ -2910.002 -2267.534 47.000 41.000
+ -2768782.58743 -2154267.04442 24890894.548 24890899.996 24890894.544
+ 2149.779 1675.152 45.000 37.000
+ -27280648.50944 -21217639.23842 20457380.359 20457383.665 20457379.349
+ 1045.916 814.999 57.000 52.000
+ -15671567.46443 -12199296.66642 22313674.492 22313678.514 22313672.942
+ 1857.492 1447.396 53.000 47.000
+ -22702817.91544 -17655419.10442 20994228.731 20994233.112 20994227.740
+ 1688.547 1315.751 57.000 50.000
+ 24880366.689
+ 2678.441 2087.097 43.000
+ 04 2 1 13 20 30.0000000 0 10G 4G17G29G 7G26G30G 9G 5G24G 6
+ -18243123.16943 -14210998.27742 21876077.650 21876080.696 21876076.961
+ -987.255 -769.290 54.000 48.000
+ -14334233.14343 -11149408.44242 22110110.614 22110116.997 22110109.186
+ 3478.475 2710.500 51.000 45.000
+ -2833081.22842 25079818.048 25079833.232
+ -2757.153 -2148.431 38.000 32.000
+ -4269673.24543 -3282509.66242 24235937.159 24235944.856 24235935.846
+ -3081.885 -2401.469 39.000 36.000
+ -9589524.25243 -7427485.46242 23592523.655 23592532.499 23592523.634
+ -2907.250 -2265.390 46.000 40.000
+ -2833348.62543 -2204578.21942 24878607.018 24878611.658 24878606.825
+ 2154.382 1678.739 45.000 36.000
+ -27311775.51444 -21241894.05242 20451457.253 20451460.236 20451456.192
+ 1029.247 802.011 57.000 51.000
+ -15727304.44043 -12242728.08142 22303068.370 22303071.751 22303066.557
+ 1858.255 1447.991 53.000 47.000
+ -22753237.00944 -17694706.69242 20984634.769 20984638.968 20984633.601
+ 1672.626 1303.345 57.000 50.000
+ -1430583.81353 -1103412.44852 24865091.165 24865096.998 24865088.571
+ 2673.251 2083.053 44.000 37.000
+ 04 2 1 13 21 0.0000000 0 10G 4G17G29G 7G26G30G 9G 5G24G 6
+ -18213227.76143 -14187703.15342 21881766.417 21881769.991 21881765.366
+ -1005.044 -783.151 54.000 48.000
+ -14438462.76943 -11230626.28442 22090276.818 22090281.719 22090275.353
+ 3470.742 2704.474 51.000 45.000
+ -3574371.11453 -2768709.29052 25095540.615 25095550.790 25095537.869
+ -2749.375 -2142.370 39.000 33.000
+ -4177255.56843 -3210495.85442 24253523.861 24253530.100 24253522.526
+ -3078.527 -2398.852 41.000 36.000
+ -9502313.91243 -7359529.49842 23609119.891 23609127.753 23609119.674
+ -2906.023 -2264.433 46.000 40.000
+ -2898018.96143 -2254970.69542 24866299.666 24866306.297 24866299.036
+ 2157.468 1681.144 45.000 37.000
+ -27342376.94144 -21265739.32142 20445633.487 20445637.042 20445632.735
+ 1011.531 788.206 57.000 51.000
+ -15783040.20143 -12286158.53242 22292461.875 22292465.655 22292461.053
+ 1858.043 1447.826 53.000 47.000
+ -22803151.42244 -17733601.02142 20975135.706 20975140.694 20975135.197
+ 1655.629 1290.101 57.000 50.000
+ -1510677.22043 -1165822.81942 24849849.649 24849855.513 24849849.018
+ 2667.066 2078.233 45.000 37.000
+ 04 2 1 13 21 30.0000000 0 10G 4G17G29G 7G26G30G 9G 5G24G 6
+ -18182788.90443 -14163984.57942 21887558.126 21887561.976 21887557.474
+ -1022.627 -796.852 54.000 47.000
+ -14542447.12643 -11311653.00642 22070489.389 22070493.836 22070487.276
+ 3462.832 2698.311 51.000 45.000
+ -2704510.52252 25111215.928 25111225.122
+ -2741.438 -2136.185 37.000 32.000
+ -4084897.37343 -3138528.45442 24271101.836 24271104.945 24271097.667
+ -3076.827 -2397.527 42.000 37.000
+ -9415138.61943 -7291600.85242 23625709.107 23625716.227 23625707.120
+ -2904.336 -2263.119 45.000 40.000
+ -2962776.89343 -2305431.37442 24853979.495 24853983.268 24853978.753
+ 2161.141 1684.006 46.000 38.000
+ -27372434.16944 -21289160.55042 20439913.867 20439917.344 20439912.910
+ 993.682 774.298 57.000 51.000
+ -15838757.38843 -12329574.52142 22281859.074 22281862.914 22281858.179
+ 1857.829 1447.659 53.000 47.000
+ -22852542.15244 -17772087.28242 20965737.171 20965742.005 20965736.263
+ 1638.511 1276.762 57.000 50.000
+ -1590571.11143 -1228077.71342 24834648.341 24834650.428 24834645.898
+ 2660.710 2073.280 46.000 37.000
+ 04 2 1 13 22 0.0000000 0 10G 4G17G29G 7G26G30G 9G 5G24G 6
+ -18151840.04043 -14139868.58642 21893447.559 21893451.809 21893446.597
+ -1040.554 -810.821 54.000 47.000
+ -14646215.29443 -11392511.26442 22050741.711 22050747.135 22050740.699
+ 3454.847 2692.089 51.000 45.000
+ -2640511.84952 25126847.034 25126858.769
+ -2734.381 -2130.686 38.000 32.000
+ -3992632.39443 -3066633.69842 24288656.988 24288661.413 24288655.814
+ -3074.449 -2395.674 40.000 36.000
+ -9328033.70743 -7223727.04642 23642286.525 23642290.010 23642284.436
+ -2902.768 -2261.897 47.000 40.000
+ -3027655.06143 -2355985.75842 24841631.333 24841636.173 24841630.839
+ 2164.415 1686.557 45.000 38.000
+ -27401978.06644 -21312181.77042 20434292.114 20434295.353 20434291.107
+ 975.791 760.357 57.000 51.000
+ -15894487.91643 -12373000.90342 22271255.834 22271257.770 22271253.479
+ 1857.376 1447.306 54.000 47.000
+ -22901439.88344 -17810189.39642 20956432.195 20956436.903 20956431.372
+ 1621.356 1263.394 57.000 50.000
+ -1670297.76843 -1290202.23842 24819476.104 24819479.700 24819473.842
+ 2653.763 2067.867 44.000 37.000
+ 04 2 1 13 22 30.0000000 0 10G 4G17G29G 7G26G30G 9G 5G24G 6
+ -18120361.35943 -14115339.74942 21899437.755 21899441.797 21899436.939
+ -1057.505 -824.030 54.000 47.000
+ -14749743.08943 -11473182.23142 22031042.154 22031046.396 22031040.231
+ 3447.534 2686.390 52.000 45.000
+ 25142432.352
+ -2725.814 -2124.011 37.000
+ -3900441.37343 -2994796.53042 24306200.826 24306205.433 24306200.531
+ -3070.928 -2392.931 42.000 36.000
+ -9240981.70643 -7155894.45642 23658851.688 23658857.180 23658850.371
+ -2899.984 -2259.728 46.000 40.000
+ -3092633.03743 -2406617.85542 24829267.918 24829271.867 24829267.014
+ 2168.112 1689.438 46.000 39.000
+ -27430986.50144 -21334785.75742 20428772.092 20428775.036 20428770.999
+ 958.632 746.986 57.000 51.000
+ -15950209.70943 -12416420.47942 22260650.562 22260654.083 22260649.745
+ 1857.851 1447.676 53.000 47.000
+ -22949821.72044 -17847889.51742 20947225.633 20947230.349 20947224.771
+ 1604.687 1250.405 57.000 50.000
+ -1749836.09043 -1352180.03042 24804338.366 24804344.811 24804337.069
+ 2648.637 2063.873 44.000 37.000
+ 04 2 1 13 23 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -18088360.15043 -14090403.75042 21905527.087 21905531.282 21905526.936
+ -1075.603 -838.132 54.000 47.000
+ -14853033.42343 -11553668.16642 22011385.782 22011390.999 22011384.755
+ 3438.882 2679.648 52.000 46.000
+ -3808331.59243 -2923022.72642 24323726.081 24323732.944 24323725.303
+ -3069.380 -2391.725 40.000 37.000
+ -9153991.89243 -7088110.32742 23675404.972 23675411.719 23675404.548
+ -2898.692 -2258.721 46.000 40.000
+ -3157717.19043 -2457332.76242 24816882.088 24816886.553 24816881.246
+ 2171.169 1691.820 46.000 39.000
+ -27459464.24244 -21356976.20842 20423352.877 20423356.123 20423351.987
+ 940.275 732.682 57.000 51.000
+ -16005928.73843 -12459837.88542 22250048.183 22250050.717 22250047.072
+ 1857.142 1447.124 53.000 47.000
+ -22997691.77644 -17885190.83342 20938116.249 20938120.370 20938115.111
+ 1587.016 1236.636 57.000 50.000
+ -1829191.64043 -1414015.48542 24789236.500 24789242.947 24789236.459
+ 2641.804 2058.548 44.000 37.000
+ 04 2 1 13 23 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -18055832.35143 -14065057.42642 21911717.093 21911721.324 21911716.423
+ -1092.934 -851.637 54.000 47.000
+ -14956077.67243 -11633962.34042 21991778.162 21991782.122 21991775.907
+ 3430.696 2673.270 53.000 46.000
+ -8442559.48743 -6534109.37742 24341241.940 24341246.286 24341238.915
+ -3065.610 -2388.787 41.000 36.000
+ -9067062.11443 -7020372.96042 23691946.664 23691954.993 23691945.175
+ -2896.385 -2256.923 46.000 40.000
+ -3222902.87543 -2508126.74142 24804479.556 24804482.057 24804477.898
+ 2174.498 1694.414 47.000 39.000
+ -27487404.68444 -21378747.98742 20418035.752 20418039.294 20418034.904
+ 922.389 718.745 57.000 51.000
+ -16061639.32643 -12503248.72642 22239446.909 22239450.241 22239445.577
+ 1856.877 1446.917 53.000 47.000
+ -23045042.84344 -17922087.75242 20929105.330 20929109.922 20929104.726
+ 1569.801 1223.222 57.000 50.000
+ -1908358.92643 -1475704.19242 24774170.245 24774177.907 24774170.949
+ 2635.667 2053.766 43.000 37.000
+ 04 2 1 13 24 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -18022781.31843 -14039303.37942 21918006.771 21918010.827 21918006.289
+ -1110.107 -865.018 54.000 47.000
+ -15058874.99043 -11714064.09442 21972215.216 21972220.621 21972214.583
+ 3422.684 2667.026 52.000 46.000
+ -8350608.29443 -6462459.07142 24358739.015 24358743.163 24358734.685
+ -3063.059 -2386.799 39.000 36.000
+ -8980197.94443 -6952686.73642 23708477.931 23708483.993 23708477.317
+ -2894.060 -2255.112 46.000 40.000
+ -3288192.51943 -2559001.67642 24792054.873 24792057.400 24792054.128
+ 2178.250 1697.338 46.000 39.000
+ -27514809.05744 -21400102.05342 20412820.922 20412824.317 20412820.102
+ 904.814 705.050 57.000 51.000
+ -16117342.87843 -12546654.07342 22228847.064 22228849.512 22228845.174
+ 1856.972 1446.991 53.000 47.000
+ -23091875.10243 -17958580.39942 20920193.574 20920197.846 20920192.634
+ 1552.684 1209.884 56.000 50.000
+ -1987340.11043 -1537247.88842 24759142.632 24759149.419 24759141.228
+ 2629.773 2049.174 45.000 38.000
+ 04 2 1 13 24 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17989208.92243 -14013143.08442 21924395.216 21924399.066 21924394.733
+ -1127.779 -878.789 53.000 47.000
+ -15161422.88243 -11793971.48642 21952701.203 21952707.600 21952699.919
+ 3413.920 2660.197 52.000 46.000
+ -8258740.27843 -6390873.68542 24376220.586 24376225.728 24376216.945
+ -3061.221 -2385.367 40.000 35.000
+ -8893403.00543 -6885054.44842 23724992.758 23725001.352 23724991.653
+ -2891.998 -2253.505 45.000 39.000
+ -3353586.98243 -2609958.30642 24779610.139 24779614.888 24779608.792
+ 2181.581 1699.933 46.000 40.000
+ -27541676.64744 -21421037.84042 20407708.382 20407711.550 20407707.505
+ 886.476 690.761 57.000 51.000
+ -16173039.29443 -12590053.86042 22218247.039 22218251.168 22218246.414
+ 1856.423 1446.563 53.000 47.000
+ -23138187.36444 -17994667.86442 20911380.561 20911385.103 20911379.673
+ 1534.965 1196.077 57.000 50.000
+ -2066135.49943 -1598646.80242 24744148.123 24744154.763 24744146.898
+ 2622.968 2043.871 44.000 39.000
+ 04 2 1 13 25 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17955110.41943 -13986572.82642 21930883.908 21930888.369 21930883.422
+ -1145.099 -892.285 53.000 47.000
+ -15263711.77643 -11873677.07642 21933236.286 21933241.473 21933235.145
+ 3405.738 2653.822 52.000 46.000
+ -8166950.61443 -6319349.28842 24393688.684 24393692.242 24393687.029
+ -3058.125 -2382.954 43.000 36.000
+ -8806674.43243 -6817473.85342 23741498.920 23741505.232 23741498.125
+ -2889.268 -2251.378 46.000 39.000
+ -3419080.58343 -2660992.24442 24767148.284 24767150.869 24767147.596
+ 2185.158 1702.720 47.000 39.000
+ -27567999.85244 -21441549.43542 20402699.298 20402702.304 20402698.100
+ 868.890 677.057 57.000 51.000
+ -16228722.23243 -12633443.14642 22207651.739 22207654.831 22207650.735
+ 1856.113 1446.322 53.000 47.000
+ -23183971.98944 -18030344.18242 20902668.268 20902672.815 20902667.427
+ 1517.711 1182.632 57.000 50.000
+ -2144738.79343 -1659896.02242 24729191.247 24729196.879 24729190.327
+ 2617.290 2039.447 45.000 38.000
+ 04 2 1 13 25 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17920494.73143 -13959599.56642 21937471.816 21937475.424 21937471.486
+ -1161.940 -905.408 54.000 47.000
+ -15365746.47443 -11953184.59742 21913819.928 21913825.127 21913818.274
+ 3397.257 2647.213 52.000 46.000
+ -8075248.60243 -6247893.12342 24411138.209 24411144.979 24411137.616
+ -3054.713 -2380.296 43.000 37.000
+ -8720023.51043 -6749953.77742 23757986.240 23757994.184 23757987.439
+ -2886.570 -2249.275 44.000 39.000
+ -3484681.67143 -2712109.91342 24754663.624 24754666.875 24754662.964
+ 2189.310 1705.956 46.000 39.000
+ -27593785.37044 -21461642.05242 20397792.274 20397795.664 20397791.116
+ 851.071 663.172 57.000 51.000
+ -16284398.63143 -12676827.33342 22197057.019 22197060.176 22197055.645
+ 1856.239 1446.420 54.000 47.000
+ -23229235.08043 -18065614.10342 20894054.666 20894059.365 20894053.943
+ 1500.609 1169.306 56.000 50.000
+ -2223157.71343 -1721001.56042 24714267.780 24714272.856 24714266.750
+ 2611.400 2034.857 45.000 38.000
+ 04 2 1 13 26 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17885358.93543 -13932221.02442 21944157.419 21944161.257 21944156.584
+ -1179.997 -919.478 54.000 47.000
+ -15467519.21243 -12032487.98342 21894452.891 21894458.200 21894451.832
+ 3387.979 2639.984 51.000 46.000
+ -7983631.00543 -6176502.83342 24428572.201 24428579.165 24428571.690
+ -3052.170 -2378.314 43.000 36.000
+ -8633448.61043 -6682492.90342 23774460.208 23774468.161 23774459.773
+ -2884.406 -2247.589 44.000 38.000
+ -3550385.96143 -2763308.01542 24742159.928 24742164.902 24742160.040
+ 2191.523 1707.680 45.000 39.000
+ -27619027.70844 -21481311.41342 20392988.752 20392992.192 20392987.860
+ 832.383 648.610 57.000 51.000
+ -16340063.50943 -12720202.53642 22186464.262 22186467.419 22186462.729
+ 1855.378 1445.749 54.000 47.000
+ -23273970.21844 -18100472.63242 20885542.091 20885546.430 20885541.219
+ 1482.305 1155.043 57.000 50.000
+ -2301387.53343 -1781959.77142 24699379.201 24699387.828 24699380.172
+ 2604.501 2029.481 43.000 38.000
+ 04 2 1 13 26 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17849702.49543 -13904436.79042 21950942.709 21950946.426 21950942.309
+ -1196.779 -932.555 54.000 47.000
+ -15569025.04943 -12111583.39442 21875136.887 21875142.096 21875135.701
+ 3379.571 2633.432 51.000 45.000
+ -7892097.64243 -6105178.29142 24445990.613 24445998.519 24445989.154
+ -3049.330 -2376.101 44.000 38.000
+ -8546951.21343 -6615092.43842 23790921.014 23790928.028 23790919.461
+ -2881.438 -2245.276 45.000 38.000
+ -3616192.27343 -2814585.58842 24729637.728 24729643.463 24729637.574
+ 2195.782 1710.999 44.000 38.000
+ -27643724.02944 -21500555.30642 20388289.181 20388292.683 20388288.191
+ 814.698 634.830 57.000 51.000
+ -16395714.56243 -12763566.97442 22175874.085 22175878.000 22175873.233
+ 1855.298 1445.687 54.000 47.000
+ -23318173.97243 -18134917.10142 20877130.033 20877134.465 20877129.044
+ 1465.103 1141.639 56.000 50.000
+ -2379426.41443 -1842769.17942 24684531.502 24684536.884 24684529.266
+ 2598.728 2024.983 45.000 38.000
+ 04 2 1 13 27 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17813529.43843 -13876249.99342 21957825.287 21957829.885 21957825.329
+ -1214.566 -946.415 53.000 47.000
+ -15670263.36143 -12190470.34042 21855871.131 21855877.288 21855870.075
+ 3369.846 2625.854 51.000 46.000
+ -7800652.03143 -6033921.95742 24463392.896 24463398.519 24463392.454
+ -3046.746 -2374.088 43.000 37.000
+ -8460537.18843 -6547756.94742 23807366.274 23807371.388 23807364.011
+ -2879.072 -2243.433 45.000 38.000
+ -3682103.21643 -2865944.69542 24717095.960 24717098.160 24717095.328
+ 2198.605 1713.199 45.000 38.000
+ -27667875.63044 -21519374.73942 20383693.250 20383697.052 20383692.454
+ 795.802 620.105 57.000 52.000
+ -16451353.62743 -12806922.06942 22165286.093 22165289.796 22165285.182
+ 1854.236 1444.859 54.000 47.000
+ -23361847.15543 -18168948.13342 20868819.296 20868823.985 20868818.464
+ 1446.693 1127.293 56.000 50.000
+ -2457276.72043 -1903431.72242 24669716.374 24669722.025 24669714.721
+ 2591.543 2019.384 45.000 38.000
+ 04 2 1 13 27 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17776848.42243 -13847667.38842 21964806.516 21964809.934 21964805.733
+ -1230.984 -959.208 54.000 47.000
+ -15771238.30143 -12269152.05942 21836656.999 21836662.084 21836655.800
+ 3361.640 2619.460 51.000 46.000
+ -7709303.20843 -5962741.13742 24480775.632 24480782.456 24480772.708
+ -3042.943 -2371.124 44.000 37.000
+ -8374216.99443 -6480494.54642 23823793.658 23823800.250 23823791.745
+ -2875.449 -2240.610 45.000 38.000
+ -3748126.79143 -2917391.60642 24704530.209 24704534.607 24704531.322
+ 2202.872 1716.524 45.000 38.000
+ -27691488.70644 -21537774.54642 20379200.324 20379203.576 20379199.196
+ 778.361 606.515 58.000 52.000
+ -16506987.46343 -12850273.09442 22154699.611 22154703.273 22154698.302
+ 1854.568 1445.118 54.000 47.000
+ -23404995.88944 -18202570.50942 20860608.845 20860612.869 20860607.713
+ 1429.814 1114.141 57.000 50.000
+ -2534945.72243 -1963953.00442 24654935.957 24654941.227 24654935.779
+ 2586.296 2015.296 44.000 38.000
+ 04 2 1 13 28 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17739642.15043 -13818675.49042 21971886.405 21971890.168 21971885.875
+ -1248.507 -972.862 54.000 47.000
+ -15871928.29443 -12347611.75642 21817496.460 21817500.715 21817494.836
+ 3351.788 2611.783 52.000 46.000
+ -7618034.00243 -5891622.37242 24498143.841 24498149.492 24498142.772
+ -3040.685 -2369.365 45.000 37.000
+ -8287975.21843 -6413293.28542 23840203.953 23840211.037 23840202.670
+ -2873.268 -2238.910 44.000 38.000
+ -3814244.66643 -2968911.98342 24691949.876 24691951.832 24691949.152
+ 2205.932 1718.908 45.000 38.000
+ -27714543.88544 -21555739.62542 20374813.058 20374816.240 20374811.847
+ 759.398 591.739 57.000 52.000
+ -16562597.27843 -12893605.40442 22144117.300 22144120.416 22144116.497
+ 1853.459 1444.254 54.000 47.000
+ -23447599.80944 -18235768.35342 20852500.974 20852505.665 20852500.227
+ 1411.230 1099.660 57.000 50.000
+ -2612414.85843 -2024318.51242 24640194.335 24640200.663 24640192.811
+ 2579.165 2009.739 45.000 39.000
+ 04 2 1 13 28 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17701920.45143 -13789281.96542 21979065.272 21979068.327 21979064.455
+ -1265.013 -985.724 54.000 47.000
+ -15972338.21943 -12425853.19942 21798388.908 21798393.826 21798387.148
+ 3343.092 2605.007 51.000 46.000
+ -7526853.47143 -5820572.64342 24515494.989 24515499.283 24515493.076
+ -3036.878 -2366.398 44.000 36.000
+ -8201823.13543 -6346161.92542 23856596.570 23856603.880 23856596.000
+ -2869.299 -2235.817 43.000 37.000
+ -3880465.30043 -3020512.40042 24679347.127 24679352.550 24679346.831
+ 2209.901 1722.001 44.000 39.000
+ -27737048.04944 -21573275.34142 20370530.093 20370533.698 20370529.310
+ 741.877 578.086 57.000 52.000
+ -16618190.29743 -12936924.63442 22133538.467 22133541.394 22133537.021
+ 1853.715 1444.453 54.000 47.000
+ -23489665.14943 -18268546.52042 20844496.494 20844501.044 20844495.627
+ 1394.142 1086.344 56.000 50.000
+ -2689692.17843 -2084534.50242 24625489.562 24625494.492 24625489.070
+ 2573.414 2005.258 46.000 39.000
+ 04 2 1 13 29 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17663687.39343 -13759489.97442 21986340.296 21986344.714 21986339.517
+ -1282.827 -999.605 54.000 47.000
+ -16072467.57943 -12503876.01542 21779334.059 21779340.199 21779333.169
+ 3332.847 2597.024 51.000 46.000
+ -7435765.93743 -5749595.39142 24532828.490 24532831.020 24532824.385
+ -3034.835 -2364.806 44.000 36.000
+ -8115766.62543 -6279105.04442 23872974.712 23872980.768 23872974.075
+ -2866.915 -2233.960 44.000 37.000
+ -3946791.69243 -3072195.23342 24666726.742 24666730.537 24666725.611
+ 2212.471 1724.003 44.000 39.000
+ -27759003.00944 -21590383.10542 20366352.537 20366355.766 20366351.507
+ 722.562 563.035 57.000 51.000
+ -16673768.57643 -12980232.37542 22122962.186 22122965.357 22122961.131
+ 1852.354 1443.393 54.000 47.000
+ -23531193.36644 -18300906.15242 20836593.929 20836598.507 20836593.027
+ 1375.174 1071.564 57.000 50.000
+ -2766780.26343 -2144603.06542 24610818.510 24610825.747 24610819.023
+ 2566.299 1999.714 45.000 39.000
+ 04 2 1 13 29 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17624939.65443 -13729296.93442 21993714.071 21993717.529 21993712.785
+ -1298.407 -1011.746 54.000 47.000
+ -16172308.39143 -12581673.99942 21760336.298 21760340.545 21760334.440
+ 3324.778 2590.736 52.000 46.000
+ -7344767.90743 -5678687.86242 24550144.133 24550151.072 24550142.075
+ -3030.041 -2361.071 43.000 35.000
+ -8029804.14243 -6212121.44942 23889331.737 23889337.514 23889331.473
+ -2861.704 -2229.899 44.000 38.000
+ -4013219.40543 -3123957.00942 24654084.738 24654089.548 24654084.347
+ 2217.805 1728.160 44.000 39.000
+ -27780403.13744 -21607058.53542 20362280.347 20362283.307 20362279.238
+ 705.794 549.969 57.000 51.000
+ -16729326.32443 -13023524.12742 22112389.857 22112392.877 22112388.396
+ 1853.380 1444.192 54.000 47.000
+ -23572177.81144 -18332842.07142 20828794.846 20828799.303 20828793.980
+ 1358.867 1058.857 57.000 50.000
+ -2843674.31043 -2204520.41642 24596188.600 24596193.112 24596186.993
+ 2561.822 1996.225 45.000 38.000
+ 04 2 1 13 30 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17585686.98143 -13698710.44142 22001183.979 22001187.362 22001183.219
+ -1316.911 -1026.164 54.000 47.000
+ -16271865.60143 -12659250.99442 21741390.969 21741395.146 21741389.741
+ 3313.692 2582.098 52.000 46.000
+ -7253868.77543 -5607857.36342 24567441.950 24567445.858 24567440.268
+ -3028.306 -2359.719 43.000 36.000
+ -7943946.80843 -6145219.77042 23905669.626 23905677.019 23905670.687
+ -2860.126 -2228.670 44.000 38.000
+ -4079756.80243 -3175804.29142 24641423.367 24641426.585 24641422.489
+ 2219.635 1729.586 44.000 39.000
+ -27801255.46244 -21623307.10142 20358312.260 20358315.121 20358311.130
+ 685.845 534.425 57.000 51.000
+ -16784871.19743 -13066805.83342 22101820.304 22101823.091 22101818.567
+ 1851.152 1442.456 54.000 47.000
+ -23612625.35144 -18364359.61542 20821098.001 20821102.276 20821097.133
+ 1339.187 1043.522 57.000 50.000
+ -2920382.23643 -2264292.78242 24581588.540 24581596.690 24581589.341
+ 2553.794 1989.969 44.000 38.000
+ 04 2 1 13 30 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17545920.24443 -13667723.38942 22008750.650 22008754.003 22008750.137
+ -1334.545 -1039.905 53.000 47.000
+ -16371125.69643 -12736596.48442 21722502.350 21722507.039 21722500.511
+ 3303.393 2574.072 52.000 46.000
+ -7163059.22443 -5537096.69542 24584723.197 24584727.102 24584721.127
+ -3025.733 -2357.714 43.000 36.000
+ -7858187.14943 -6078394.22542 23921988.876 23921995.965 23921988.561
+ -2856.956 -2226.199 43.000 37.000
+ -4146393.73343 -3227729.13242 24628742.512 24628747.602 24628742.665
+ 2222.471 1731.796 43.000 38.000
+ -27821548.59044 -21639119.93442 20354450.409 20354453.751 20354449.334
+ 666.948 519.700 57.000 51.000
+ -16840392.29843 -13110069.02642 22091255.059 22091257.566 22091253.323
+ 1850.035 1441.586 54.000 47.000
+ -23652523.59344 -18395449.14142 20813505.493 20813510.066 20813504.670
+ 1320.569 1029.015 57.000 50.000
+ -2996893.42843 -2323911.80942 24567029.339 24567037.090 24567029.962
+ 2546.917 1984.611 44.000 37.000
+ 04 2 1 13 31 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17505642.42643 -13636338.07442 22016415.656 22016418.758 22016414.688
+ -1351.517 -1053.130 54.000 47.000
+ -16470086.50243 -12813708.75142 21703670.423 21703675.849 21703668.560
+ 3293.157 2566.096 52.000 46.000
+ -7072341.84743 -5466407.87442 24601986.169 24601991.140 24601985.735
+ -3022.970 -2355.561 41.000 35.000
+ -7772529.70743 -6011648.30142 23938289.210 23938297.493 23938289.439
+ -2853.598 -2223.583 43.000 37.000
+ -4213131.86243 -3279732.83342 24616042.794 24616046.969 24616041.364
+ 2226.401 1734.858 43.000 38.000
+ -27841282.64344 -21654497.12342 20350695.289 20350698.598 20350694.286
+ 648.124 505.032 57.000 51.000
+ -16895890.48543 -13153314.35542 22080693.491 22080696.754 22080692.446
+ 1849.215 1440.947 54.000 47.000
+ -23691872.56144 -18426110.66342 20806018.156 20806022.292 20806016.912
+ 1302.103 1014.626 57.000 50.000
+ -3073208.99143 -2383378.43242 24552508.786 24552514.254 24552506.625
+ 2540.115 1979.310 44.000 38.000
+ 04 2 1 13 31 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17464855.81643 -13604556.30042 22024176.529 22024180.120 22024176.191
+ -1367.701 -1065.741 53.000 47.000
+ -16568745.74943 -12890586.03042 21684896.027 21684901.674 21684895.077
+ 3283.866 2558.857 52.000 47.000
+ -6981718.48643 -5395792.35642 24619229.508 24619235.410 24619230.969
+ -3018.880 -2352.374 41.000 35.000
+ -7686977.95943 -5944984.74142 23954569.540 23954577.017 23954567.045
+ -2849.874 -2220.681 42.000 36.000
+ -4279971.95743 -3331815.98342 24603324.026 24603328.107 24603323.663
+ 2229.999 1737.662 44.000 37.000
+ -27860457.69944 -21669438.73242 20347046.393 20347049.852 20347045.478
+ 629.996 490.906 57.000 52.000
+ -16951365.40243 -13196541.55042 22070137.111 22070140.128 22070135.750
+ 1848.946 1440.737 54.000 47.000
+ -23730671.27044 -18456343.40942 20798634.696 20798638.803 20798633.705
+ 1284.330 1000.777 57.000 50.000
+ -3149329.86343 -2442693.34542 24538021.105 24538028.002 24538019.641
+ 2534.413 1974.867 40.000 36.000
+ 04 2 1 13 32 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17423564.36543 -13572381.14842 22032034.550 22032038.433 22032033.721
+ -1385.044 -1079.255 53.000 47.000
+ -16667102.89943 -12967227.92042 21666179.441 21666184.596 21666177.756
+ 3273.104 2550.471 52.000 47.000
+ -6891193.27843 -5325253.28742 24636458.017 24636458.426 24636454.351
+ -3016.596 -2350.594 41.000 33.000
+ -7601537.75343 -5878408.15842 23970828.560 23970838.406 23970828.816
+ -2846.330 -2217.919 42.000 36.000
+ -4346917.15643 -3383981.02742 24590583.710 24590589.438 24590583.192
+ 2232.669 1739.742 44.000 38.000
+ -27879075.32044 -21683945.97342 20343503.530 20343506.970 20343502.554
+ 610.984 476.091 57.000 52.000
+ -17006818.89343 -13239752.04542 22059584.607 22059588.201 22059583.400
+ 1847.739 1439.797 54.000 48.000
+ -23768921.21244 -18486148.54842 20791355.979 20791360.225 20791354.842
+ 1265.541 986.136 57.000 50.000
+ -3225258.56143 -2501858.46442 24523573.809 24523580.761 24523573.499
+ 2527.308 1969.331 42.000 37.000
+ 04 2 1 13 32 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17381772.29343 -13539815.89442 22039986.988 22039990.666 22039986.524
+ -1402.161 -1092.593 53.000 47.000
+ -16765157.22943 -13043633.82842 21647520.432 21647525.619 21647519.433
+ 3262.991 2542.590 53.000 47.000
+ -6800769.78543 -5254793.43342 24653664.024 24653670.947 24653665.445
+ -3013.168 -2347.923 42.000 33.000
+ -7516214.62243 -5811922.77442 23987067.230 23987070.755 23987065.637
+ -2842.781 -2215.154 43.000 35.000
+ -4413970.11943 -3436230.04642 24577824.995 24577828.623 24577824.493
+ 2236.229 1742.516 45.000 38.000
+ -27897137.12844 -21698020.11842 20340066.208 20340070.045 20340065.401
+ 592.047 461.335 57.000 51.000
+ -17062252.58343 -13282947.10942 22049035.613 22049039.476 22049034.750
+ 1846.700 1438.987 54.000 48.000
+ -23806623.45244 -18515526.89542 20784181.080 20784185.864 20784180.295
+ 1246.698 971.453 57.000 50.000
+ -3300997.40843 -2560875.70142 24509162.167 24509167.565 24509159.732
+ 2520.410 1963.956 43.000 37.000
+ 04 2 1 13 33 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17339472.78143 -13506855.23442 22048036.114 22048039.710 22048035.597
+ -1418.628 -1105.424 54.000 47.000
+ -16862897.16343 -13119794.75142 21628921.087 21628925.358 21628919.564
+ 3252.566 2534.467 52.000 47.000
+ -6710440.78443 -5184407.11542 24670853.406 24670858.189 24670852.833
+ -3009.342 -2344.942 42.000 33.000
+ -7431003.40043 -5745524.55342 24003278.969 24003286.664 24003280.120
+ -2838.344 -2211.697 42.000 34.000
+ -4481122.71043 -3488556.70442 24565045.201 24565049.530 24565045.692
+ 2240.243 1745.644 44.000 38.000
+ -27914633.89444 -21711653.96942 20336736.746 20336740.237 20336735.709
+ 573.834 447.143 57.000 51.000
+ -17117657.69143 -13326119.90742 22038492.623 22038495.977 22038491.299
+ 1846.437 1438.782 54.000 48.000
+ -23843768.14644 -18544470.79942 20777113.334 20777117.169 20777112.191
+ 1228.843 957.540 57.000 50.000
+ -3376538.16943 -2619738.53842 24494786.902 24494791.458 24494785.408
+ 2514.811 1959.593 43.000 37.000
+ 04 2 1 13 33 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17296671.96243 -13473503.95442 22056181.601 22056184.579 22056180.827
+ -1435.228 -1118.359 54.000 47.000
+ -16960324.00543 -13195711.70942 21610381.145 21610386.034 21610379.929
+ 3242.193 2526.384 52.000 47.000
+ -6620212.11943 -5114099.09542 24688021.762 24688031.220 24688021.806
+ -3005.782 -2342.168 41.000 34.000
+ -7345911.23043 -5679219.12342 24019473.422 24019479.590 24019469.368
+ -2834.886 -2209.002 42.000 35.000
+ -4548379.52843 -3540964.56642 24552248.386 24552250.634 24552246.334
+ 2243.396 1748.101 43.000 38.000
+ -27931569.34644 -21724850.43642 20333514.015 20333517.635 20333513.207
+ 555.050 432.506 57.000 51.000
+ -17173037.53143 -13369273.02142 22027954.443 22027957.821 22027953.082
+ 1845.500 1438.052 55.000 48.000
+ -23880358.10144 -18572982.44342 20770149.999 20770154.341 20770148.939
+ 1210.227 943.034 57.000 50.000
+ -3451885.13643 -2678450.38942 24480448.783 24480452.284 24480446.749
+ 2508.283 1954.506 42.000 37.000
+ 04 2 1 13 34 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17253368.26543 -13439760.80742 22064421.529 22064425.050 22064421.108
+ -1451.678 -1131.178 53.000 47.000
+ -17057431.50343 -13271379.82942 21591902.468 21591907.526 21591900.903
+ 3231.502 2518.054 53.000 47.000
+ -6530081.47943 -5043867.54942 24705172.753 24705181.704 24705173.737
+ -3002.718 -2339.780 39.000 33.000
+ -7260938.26243 -5613006.56642 24035643.840 24035652.180 24035642.908
+ -2830.270 -2205.405 40.000 34.000
+ -4615737.77943 -3593451.46542 24539430.784 24539433.726 24539428.159
+ 2246.972 1750.887 43.000 38.000
+ -27947939.48544 -21737606.39942 20330399.029 20330402.392 20330398.219
+ 536.294 417.891 57.000 51.000
+ -17228388.54343 -13412403.66842 22017421.695 22017424.891 22017420.199
+ 1844.630 1437.374 54.000 48.000
+ -23916388.84443 -18601058.33342 20763293.247 20763297.674 20763292.565
+ 1191.658 928.565 56.000 50.000
+ -3527035.23743 -2737008.82542 24466147.081 24466153.208 24466146.631
+ 2501.776 1949.436 43.000 37.000
+ 04 2 1 13 34 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17209563.99743 -13405627.60442 22072756.979 22072760.666 22072756.501
+ -1468.699 -1144.441 53.000 47.000
+ -17154216.80043 -13346796.88242 21573484.860 21573489.416 21573483.172
+ 3220.593 2509.553 52.000 47.000
+ -6440050.83743 -4973713.82142 24722308.403 24722311.744 24722304.766
+ -2999.476 -2337.254 41.000 34.000
+ -7176087.56343 -5546889.29642 24051791.331 24051793.396 24051788.355
+ -2826.580 -2202.530 41.000 34.000
+ -4683197.98943 -3646017.83042 24526592.707 24526595.953 24526592.218
+ 2249.960 1753.216 46.000 38.000
+ -27963743.94344 -21749921.56442 20327391.769 20327394.915 20327390.899
+ 517.234 403.039 57.000 51.000
+ -17283710.05643 -13455511.31942 22006894.172 22006897.560 22006892.763
+ 1843.363 1436.387 55.000 48.000
+ -23951859.41043 -18628697.71842 20756543.710 20756548.073 20756542.869
+ 1172.831 913.894 56.000 50.000
+ -3601988.71143 -2795414.03042 24451884.114 24451892.684 24451883.024
+ 2495.141 1944.266 40.000 36.000
+ 04 2 1 13 35 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17165262.53043 -13371106.98842 22081187.634 22081190.714 22081186.798
+ -1485.176 -1157.280 53.000 47.000
+ -17250678.81743 -13421962.02342 21555128.431 21555133.330 21555127.103
+ 3209.738 2501.095 53.000 47.000
+ -6350123.22243 -4903640.39942 24739419.726 24739425.309 24739415.945
+ -2995.765 -2334.362 40.000 33.000
+ -7091364.50243 -5480871.42742 24067910.950 24067920.083 24067912.249
+ -2822.269 -2199.171 40.000 34.000
+ -4750762.51243 -3698665.48442 24513737.218 24513738.795 24513735.365
+ 2253.577 1756.034 46.000 39.000
+ -27978983.94644 -21761796.90642 20324491.562 20324495.011 20324490.768
+ 498.451 388.403 57.000 52.000
+ -17339003.75843 -13498597.30842 21996371.576 21996375.445 21996370.889
+ 1842.514 1435.725 54.000 48.000
+ -23986770.81643 -18655901.39242 20749900.293 20749904.849 20749899.024
+ 1154.263 899.426 56.000 50.000
+ -3676747.64343 -2853667.63342 24437655.839 24437663.649 24437656.229
+ 2488.606 1939.174 39.000 35.000
+ 04 2 1 13 35 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17120463.18243 -13336198.41642 22089712.510 22089716.349 22089712.179
+ -1501.944 -1170.346 53.000 47.000
+ -17346811.86743 -13496870.83742 21536834.936 21536839.740 21536833.526
+ 3198.620 2492.431 53.000 47.000
+ -6260297.03843 -4833645.93642 24756513.568 24756516.660 24756510.874
+ -2992.706 -2331.979 42.000 33.000
+ -7006769.31943 -5414953.26842 24084010.901 24084019.024 24084010.774
+ -2817.707 -2195.616 40.000 34.000
+ -4818428.70943 -3751392.33342 24500857.868 24500862.802 24500858.359
+ 2256.914 1758.634 45.000 39.000
+ -27993656.22944 -21773229.86242 20321699.237 20321702.878 20321698.562
+ 479.286 373.470 57.000 52.000
+ -17394266.15343 -13541658.90442 21985855.909 21985859.094 21985854.609
+ 1841.174 1434.681 55.000 48.000
+ -24021119.01243 -18682666.20142 20743363.884 20743368.453 20743363.127
+ 1135.161 884.541 56.000 50.000
+ -3751309.50843 -2911767.68942 24423465.800 24423473.759 24423467.202
+ 2482.192 1934.176 41.000 36.000
+ 04 2 1 13 36 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17075168.60143 -13300903.93742 22098331.074 22098335.268 22098330.719
+ -1517.977 -1182.839 53.000 46.000
+ -17442613.84143 -13571521.68242 21518603.785 21518609.307 21518603.248
+ 3187.923 2484.096 53.000 47.000
+ -6170574.58443 -4763732.30142 24773587.419 24773595.256 24773585.813
+ -2989.164 -2329.219 44.000 35.000
+ -6922305.81143 -5349137.68942 24100085.394 24100093.343 24100085.402
+ -2813.593 -2192.410 39.000 33.000
+ -4886197.92243 -3804199.47642 24487962.789 24487967.404 24487962.179
+ 2260.841 1761.694 45.000 39.000
+ -28007761.11944 -21784220.69542 20319015.583 20319019.068 20319014.599
+ 460.850 359.104 57.000 52.000
+ -17449497.40943 -13584696.21942 21975346.089 21975349.341 21975344.615
+ 1840.727 1434.333 55.000 48.000
+ -24054903.45744 -18708991.73442 20736934.921 20736939.514 20736934.068
+ 1116.882 870.298 57.000 50.000
+ -3825675.17053 -2969714.87452 24409317.104 24409323.643 24409315.980
+ 2476.172 1929.485 41.000 37.000
+ 04 2 1 13 36 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -17029371.89343 -13265218.19042 22107045.694 22107049.525 22107045.455
+ -1536.920 -1197.600 53.000 46.000
+ -17538072.67543 -13645905.14342 21500439.267 21500443.446 21500437.717
+ 3174.106 2473.329 53.000 47.000
+ -6080948.20743 -4693893.64342 24790643.609 24790648.297 24790641.251
+ -2987.728 -2328.100 43.000 35.000
+ -11564228.36353 -8966220.33152 24116131.021 24116142.246 24116132.305
+ -2810.974 -2190.369 38.000 33.000
+ -4954061.54043 -3857080.18142 24475049.035 24475052.556 24475047.071
+ 2261.638 1762.315 43.000 38.000
+ -28021289.12944 -21794762.01542 20316441.320 20316444.583 20316440.267
+ 439.304 342.315 57.000 52.000
+ -17504687.70543 -13627701.63342 21964843.397 21964846.531 21964842.099
+ 1836.998 1431.427 55.000 48.000
+ -24088114.40844 -18734870.38542 20730615.250 20730619.832 20730614.271
+ 1095.448 853.596 57.000 50.000
+ -3899836.13043 -3027502.52042 24395202.512 24395211.739 24395202.448
+ 2467.597 1922.803 40.000 37.000
+ 04 2 1 13 37 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -16983089.11743 -13229153.68542 22115853.790 22115857.765 22115853.291
+ -1550.821 -1208.432 53.000 47.000
+ -17633199.59243 -13720029.95942 21482336.759 21482341.877 21482335.683
+ 3165.392 2466.539 53.000 47.000
+ -5991433.45743 -4624141.94042 24807676.361 24807682.427 24807675.545
+ -2982.005 -2323.640 43.000 34.000
+ -8900614.77552 24132153.886 24132159.295
+ -2804.185 -2185.079 40.000 32.000
+ -5022034.23243 -3910045.90242 24462112.073 24462116.696 24462112.994
+ 2267.782 1767.103 43.000 38.000
+ -28034254.20044 -21804864.67842 20313974.298 20313977.509 20313973.233
+ 422.805 329.458 57.000 52.000
+ -17559850.80543 -13670685.85842 21954346.233 21954349.700 21954345.058
+ 1838.314 1432.452 55.000 48.000
+ -24120764.98544 -18760312.37742 20724402.288 20724406.242 20724401.113
+ 1079.044 840.814 57.000 50.000
+ -3973806.58043 -3085141.75942 24381128.827 24381135.078 24381127.589
+ 2462.568 1918.884 42.000 37.000
+ 04 2 1 13 37 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -16936320.81943 -13192710.85542 22124753.503 22124756.992 22124753.235
+ -1567.340 -1221.304 53.000 46.000
+ -17727990.29143 -13793892.80142 21464299.939 21464303.731 21464297.974
+ 3153.572 2457.329 54.000 47.000
+ -5902030.19043 -4554477.11542 24824689.930 24824694.279 24824688.659
+ -2978.170 -2320.652 42.000 33.000
+ -11395985.23753 -8835122.03642 24148145.516 24148154.612 24148147.166
+ -2799.599 -2181.506 39.000 33.000
+ -5090114.78043 -3963095.64542 24449159.597 24449163.123 24449158.155
+ 2270.573 1769.278 45.000 38.000
+ -28046654.36644 -21814527.15642 20311614.275 20311617.656 20311613.264
+ 403.514 314.426 57.000 52.000
+ -17614984.38443 -13713647.06942 21943854.460 21943858.350 21943853.241
+ 1836.863 1431.322 55.000 48.000
+ -24152852.56844 -18785315.67442 20718295.914 20718300.214 20718295.020
+ 1059.697 825.738 57.000 50.000
+ -4047585.55943 -3142631.78842 24367091.221 24367095.154 24367090.012
+ 2455.503 1913.379 45.000 37.000
+ 04 2 1 13 38 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -16889061.60043 -13155885.47942 22133746.692 22133749.826 22133745.905
+ -1584.050 -1234.325 53.000 47.000
+ -17822434.49143 -13867485.64042 21446326.662 21446331.574 21446325.750
+ 3141.773 2448.135 53.000 47.000
+ -5812732.38043 -4484894.38942 24841682.196 24841687.150 24841678.893
+ -2975.291 -2318.408 40.000 33.000
+ -11312076.90453 -8769739.08352 24164113.588 24164119.992 24164108.842
+ -2794.945 -2177.879 37.000 32.000
+ -5158296.25943 -4016224.01842 24436182.951 24436187.042 24436183.418
+ 2273.966 1771.922 44.000 38.000
+ -28058481.88044 -21823743.41642 20309363.649 20309367.231 20309362.748
+ 384.262 299.425 57.000 52.000
+ -17670080.86043 -13756579.36842 21933369.946 21933374.053 21933368.551
+ 1835.408 1430.188 55.000 48.000
+ -24184368.99944 -18809873.91042 20712298.406 20712303.394 20712297.356
+ 1040.486 810.768 57.000 50.000
+ -4121165.98643 -3199967.11742 24353088.125 24353091.076 24353086.795
+ 2448.923 1908.252 44.000 38.000
+ 04 2 1 13 38 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -16841310.54943 -13118676.87642 22142833.547 22142836.928 22142833.132
+ -1599.789 -1246.589 53.000 47.000
+ -17916526.57243 -13940804.10542 21428421.412 21428426.361 21428419.565
+ 3130.747 2439.543 53.000 47.000
+ -5723538.26153 -4415392.52652 24858653.861 24858663.489 24858653.011
+ -2971.622 -2315.550 40.000 32.000
+ -11228309.55753 -8704465.97652 24180056.778 24180064.490 24180055.839
+ -2789.705 -2173.796 40.000 32.000
+ -5226576.14143 -4069429.05542 24423192.460 24423194.575 24423187.899
+ 2277.719 1774.846 43.000 38.000
+ -28069733.30044 -21832510.76342 20307222.908 20307225.843 20307221.707
+ 365.723 284.979 58.000 52.000
+ -17725136.56143 -13799479.90542 21922893.111 21922896.770 21922892.119
+ 1834.728 1429.658 55.000 48.000
+ -24215310.54644 -18833984.19142 20706410.804 20706415.111 20706409.809
+ 1021.936 796.314 57.000 50.000
+ -4194545.09243 -3257145.54642 24339124.194 24339128.676 24339122.164
+ 2442.853 1903.522 45.000 39.000
+ 04 2 1 13 39 0.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -16793061.86143 -13081080.50042 22152014.775 22152018.399 22152014.811
+ -1615.555 -1258.874 54.000 47.000
+ -18010255.46243 -14013839.55642 21410585.338 21410590.785 21410583.800
+ 3119.124 2430.486 52.000 47.000
+ -5634441.32343 -4345966.36542 24875610.423 24875615.613 24875609.367
+ -2967.022 -2311.965 40.000 34.000
+ -11144678.34643 -8639298.95842 24195971.154 24195977.254 24195972.746
+ -2784.602 -2169.820 40.000 32.000
+ -5294946.82943 -4122704.88442 24410176.857 24410184.176 24410178.057
+ 2281.638 1777.900 41.000 38.000
+ -28080400.13744 -21840822.59642 20305192.844 20305195.990 20305191.959
+ 346.800 270.234 58.000 52.000
+ -17780142.55343 -13842341.69942 21912425.999 21912429.237 21912424.365
+ 1833.668 1428.832 55.000 48.000
+ -24245668.16944 -18857639.46642 20700633.498 20700638.029 20700632.620
+ 1003.248 781.752 57.000 50.000
+ -4267715.16843 -3314161.10842 24325199.586 24325205.362 24325199.023
+ 2436.195 1898.334 44.000 38.000
+ 04 2 1 13 39 30.0000000 0 9G 4G17G 7G26G30G 9G 5G24G 6
+ -16744336.06043 -13043112.33842 22161286.164 22161291.258 22161286.101
+ -1632.531 -1272.102 53.000 46.000
+ -18103636.67143 -14086604.08942 21392815.693 21392820.705 21392814.722
+ 3106.356 2420.537 53.000 47.000
+ -5545461.30153 -4276631.34952 24892540.370 24892548.954 24892538.779
+ -2963.679 -2309.360 37.000 33.000
+ -8574254.71152 24211853.322 24211863.938
+ -2784.420 -2169.678 36.000 32.000
+ -5363426.83543 -4176065.88042 24397149.093 24397152.287 24397148.646
+ 2284.568 1780.183 45.000 38.000
+ -28090500.83144 -21848693.27542 20303270.952 20303274.258 20303270.000
+ 326.706 254.576 58.000 52.000
+ -17835116.88843 -13885178.82242 21901964.560 21901967.800 21901963.170
+ 1831.419 1427.080 55.000 48.000
+ -24275459.48944 -18880853.46742 20694965.086 20694969.351 20694963.977
+ 983.018 765.988 57.000 50.000
+ -4340695.09543 -3371028.44242 24311311.971 24311316.216 24311310.460
+ 2429.158 1892.850 45.000 38.000
+ 04 2 1 13 40 0.0000000 0 8G 4G17G 7G30G 9G 5G24G 6
+ -16695127.50543 -13004768.01442 22170650.465 22170655.427 22170649.975
+ -1648.483 -1284.532 53.000 46.000
+ -18196659.55643 -14159089.40342 21375113.517 21375118.151 21375112.467
+ 3094.559 2411.345 53.000 47.000
+ -5456591.39753 -4207382.12152 24909454.342 24909459.991 24909454.254
+ -2960.616 -2306.973 40.000 33.000
+ -5432008.96843 -4229506.47242 24384096.764 24384101.723 24384096.909
+ 2287.384 1782.377 46.000 39.000
+ -28100027.42644 -21856116.61042 20301458.029 20301461.241 20301456.981
+ 307.872 239.900 58.000 52.000
+ -17890051.12143 -13927984.69842 21891510.390 21891514.383 21891509.674
+ 1830.291 1426.201 55.000 48.000
+ -24304675.82243 -18903619.42742 20689404.455 20689409.277 20689403.561
+ 964.084 751.234 56.000 50.000
+ -4413477.28343 -3427741.77242 24297461.579 24297468.357 24297461.626
+ 2422.583 1887.727 43.000 39.000
+ 04 2 1 13 40 30.0000000 0 7G 4G17G30G 9G 5G24G 6
+ -16645436.68043 -12966047.87942 22180106.605 22180110.682 22180106.308
+ -1664.830 -1297.270 53.000 46.000
+ -18289319.59943 -14231291.98842 21357481.159 21357485.974 21357479.416
+ 3082.076 2401.618 53.000 47.000
+ -5500691.95043 -4283025.64242 24371028.199 24371030.919 24371027.636
+ 2290.905 1785.121 45.000 39.000
+ -28108978.08944 -21863091.16342 20299754.436 20299758.032 20299753.538
+ 288.306 224.654 57.000 52.000
+ -17944943.05543 -13970757.61242 21881065.711 21881068.696 21881064.110
+ 1828.634 1424.910 55.000 48.000
+ -24333314.70544 -18925935.42642 20683955.396 20683959.596 20683954.482
+ 944.514 735.985 57.000 50.000
+ -4486060.50143 -3484300.02342 24283649.830 24283655.427 24283649.354
+ 2415.986 1882.586 45.000 39.000
+ 04 2 1 13 41 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -16595267.59743 -12926955.09542 22189653.857 22189657.650 22189653.538
+ -1680.932 -1309.817 53.000 46.000
+ -18381615.96543 -14303211.17942 21339917.525 21339922.682 21339916.225
+ 3069.791 2392.045 53.000 47.000
+ -5569478.14043 -4336625.21642 24357937.733 24357941.827 24357937.376
+ 2293.661 1787.268 45.000 39.000
+ -28117354.33244 -21869618.12142 20298160.911 20298164.357 20298159.674
+ 268.927 209.554 57.000 52.000
+ -17999794.11843 -14013498.67542 21870626.861 21870630.766 21870626.256
+ 1826.990 1423.629 54.000 48.000
+ -24361377.37344 -18947802.42542 20678614.785 20678619.042 20678613.990
+ 925.086 720.846 57.000 50.000
+ -4558447.00443 -3540705.05242 24269875.751 24269880.620 24269874.910
+ 2409.073 1877.200 45.000 39.000
+ 25158954.836
+ 1858.032 1447.817 42.000
+ 04 2 1 13 41 30.0000000 0 7G 4G17G30G 9G 5G24G 6
+ -16544619.65243 -12887489.17342 22199292.601 22199295.071 22199291.958
+ -1695.956 -1321.524 54.000 46.000
+ -18473542.97343 -14374842.57442 21322424.593 21322429.478 21322423.010
+ 3058.242 2383.046 54.000 47.000
+ -5638364.91443 -4390303.19142 24344829.230 24344833.338 24344828.367
+ 2298.148 1790.765 44.000 39.000
+ -28125153.23444 -21875695.20042 20296676.901 20296680.207 20296675.705
+ 250.586 195.262 57.000 52.000
+ -18054600.59943 -14056205.01542 21860198.310 21860201.525 21860196.964
+ 1826.460 1423.216 55.000 48.000
+ -24388860.10244 -18969217.52542 20673385.102 20673389.255 20673384.197
+ 906.646 706.477 57.000 50.000
+ -4630634.31543 -3596954.85342 24256138.765 24256143.942 24256136.655
+ 2402.960 1872.436 45.000 39.000
+ 04 2 1 13 42 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -16493491.66343 -12847649.18942 22209021.362 22209025.355 22209020.505
+ -1712.675 -1334.552 53.000 46.000
+ -18565094.44543 -14446181.34542 21305002.869 21305007.915 21305001.476
+ 3044.991 2372.720 54.000 48.000
+ -5707349.11943 -4444057.03442 24331703.140 24331707.300 24331702.695
+ 2300.107 1792.291 45.000 39.000
+ -28132371.08344 -21881319.51042 20295303.319 20295306.449 20295302.448
+ 230.594 179.684 57.000 52.000
+ -18109358.37343 -14098873.38942 21849778.165 21849781.440 21849776.943
+ 1824.109 1421.384 55.000 48.000
+ -24415758.79144 -18990177.52342 20668266.724 20668270.848 20668265.785
+ 886.482 690.765 57.000 50.000
+ -4702619.47943 -3653047.10342 24242440.882 24242444.181 24242438.045
+ 2395.632 1866.726 43.000 39.000
+ 25137657.225
+ 1872.099 1458.778 41.000
+ 04 2 1 13 42 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -16441889.53843 -12807439.75142 22218840.535 22218843.814 22218840.012
+ -1728.049 -1346.532 53.000 46.000
+ -18656271.32443 -14517228.22742 21287652.032 21287657.509 21287651.250
+ 3032.834 2363.247 53.000 48.000
+ -5776435.12543 -4497890.22542 24318554.765 24318561.135 24318555.747
+ 2304.293 1795.553 45.000 39.000
+ -28139011.86144 -21886494.15342 20294039.410 20294042.808 20294038.356
+ 211.564 164.855 57.000 51.000
+ -18164070.82743 -14141506.45942 21839366.166 21839369.952 21839365.612
+ 1822.825 1420.383 55.000 48.000
+ -24442076.69744 -19010684.96942 20663258.249 20663262.563 20663257.348
+ 867.444 675.930 57.000 50.000
+ -4774406.74743 -3708985.16842 24228780.293 24228785.788 24228778.635
+ 2389.448 1861.908 45.000 39.000
+ 25126954.416
+ 1878.627 1463.865 41.000
+ 04 2 1 13 43 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -16389812.30543 -12766860.08642 22228750.327 22228753.605 22228749.961
+ -1743.964 -1358.933 53.000 46.000
+ -18747067.56243 -14587978.49642 21270374.688 21270379.547 21270373.133
+ 3019.874 2353.148 54.000 48.000
+ -5845619.72843 -4551800.27442 24305389.930 24305393.672 24305389.142
+ 2307.664 1798.180 46.000 39.000
+ -28145072.02344 -21891216.37042 20292886.151 20292889.594 20292885.026
+ 192.157 149.733 57.000 51.000
+ -18218733.73243 -14184100.91242 21828965.057 21828968.037 21828963.794
+ 1821.093 1419.034 55.000 48.000
+ -24467809.75744 -19030736.69242 20658361.706 20658365.792 20658360.821
+ 847.897 660.699 57.000 50.000
+ -4845993.04243 -3764766.66042 24215156.973 24215162.424 24215155.888
+ 2382.719 1856.664 44.000 39.000
+ -1125299.23853 -842880.61852 25116208.849 25116214.025 25116203.436
+ 1884.800 1468.675 40.000 35.000
+ 04 2 1 13 43 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -16337262.70243 -12725912.34042 22238749.895 22238754.450 22238749.659
+ -1759.226 -1370.825 52.000 46.000
+ -18837480.72343 -14658430.27542 21253169.202 21253174.136 21253168.406
+ 3007.482 2343.492 54.000 48.000
+ -5914903.79643 -4605787.81042 24292205.652 24292210.137 24292205.191
+ 2311.188 1800.926 44.000 39.000
+ -28150552.07044 -21895486.55442 20291843.499 20291846.688 20291842.612
+ 173.211 134.970 57.000 51.000
+ -18273346.99743 -14226656.69142 21818572.295 21818575.216 21818570.780
+ 1819.817 1418.039 55.000 48.000
+ -24492957.60244 -19050332.39342 20653575.896 20653580.410 20653575.035
+ 828.707 645.746 57.000 50.000
+ -4917379.32043 -3820392.29042 24201571.717 24201577.767 24201570.716
+ 2376.324 1851.681 44.000 39.000
+ -1181964.38843 -887035.19442 25105426.011 25105432.494 25105425.482
+ 1892.614 1474.764 41.000 36.000
+ 04 2 1 13 44 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -16284241.66243 -12684597.22742 22248840.209 22248843.894 22248839.427
+ -1774.778 -1382.944 53.000 46.000
+ -18927506.55943 -14728580.22742 21236037.922 21236042.749 21236036.547
+ 2994.797 2333.608 53.000 48.000
+ -5984286.20143 -4659851.99842 24279002.022 24279007.274 24279001.669
+ 2314.717 1803.676 45.000 39.000
+ -28155450.56744 -21899303.57542 20290911.217 20290914.621 20290910.558
+ 153.894 119.917 57.000 51.000
+ -18327908.36143 -14269172.02442 21808189.429 21808192.394 21808188.289
+ 1818.188 1416.770 55.000 48.000
+ -24517518.73844 -19069470.92342 20648902.315 20648906.696 20648901.292
+ 809.303 630.626 57.000 50.000
+ -4988564.54043 -3875861.23542 24188026.686 24188031.986 24188025.135
+ 2369.957 1846.720 45.000 39.000
+ -1238827.20143 -931343.78242 25094605.766 25094612.002 25094603.219
+ 1899.056 1479.784 44.000 36.000
+ 04 2 1 13 44 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -16230751.57243 -12642916.64142 22259018.729 22259022.321 22259017.656
+ -1790.419 -1395.132 53.000 46.000
+ -19017142.62343 -14798426.46042 21218980.880 21218985.787 21218978.978
+ 2981.730 2323.426 53.000 48.000
+ -6053767.67743 -4713993.32742 24265781.882 24265784.517 24265780.426
+ 2318.239 1806.420 46.000 39.000
+ -28159767.62944 -21902667.52842 20290090.000 20290093.335 20290088.838
+ 134.554 104.847 57.000 52.000
+ -18382417.99443 -14311647.04442 21797816.352 21797819.650 21797815.538
+ 1816.485 1415.443 55.000 48.000
+ -24541492.63344 -19088151.86242 20644340.017 20644344.700 20644339.222
+ 789.717 615.364 57.000 50.000
+ -5059549.46243 -3931174.10842 24174519.125 24174523.201 24174518.141
+ 2363.137 1841.405 46.000 39.000
+ -1295886.34743 -975805.35042 25083744.556 25083754.920 25083744.457
+ 1905.517 1484.818 42.000 36.000
+ 04 2 1 13 45 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -16176796.30843 -12600873.57942 22269285.749 22269289.479 22269285.519
+ -1806.159 -1407.397 53.000 46.000
+ -19106387.58643 -14867967.95742 21201997.826 21202002.722 21201996.865
+ 2968.496 2313.114 54.000 48.000
+ -6123349.73143 -4768213.09342 24252541.593 24252541.547 24252539.641
+ 2321.399 1808.882 47.000 39.000
+ -28163504.68544 -21905579.53742 20289378.647 20289382.026 20289377.540
+ 115.150 89.727 57.000 51.000
+ -18436875.74643 -14354081.64342 21787454.221 21787456.409 21787452.677
+ 1814.590 1413.966 55.000 48.000
+ -24564880.12244 -19106375.86642 20639889.913 20639893.722 20639888.596
+ 769.957 599.966 57.000 50.000
+ -5130335.96043 -3986332.35542 24161049.631 24161052.350 24161047.799
+ 2356.619 1836.326 46.000 39.000
+ -1353141.34343 -1020419.57742 25072851.753 25072859.498 25072847.311
+ 1912.278 1490.087 43.000 34.000
+ 04 2 1 13 45 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -16122376.54343 -12558468.56242 22279641.999 22279645.678 22279641.745
+ -1821.996 -1419.737 52.000 46.000
+ -19195237.22143 -14937201.40542 21185090.408 21185095.180 21185089.274
+ 2954.685 2302.352 54.000 48.000
+ -6193031.27643 -4822510.34942 24239279.879 24239284.287 24239277.959
+ 2324.038 1810.939 46.000 39.000
+ -28166660.27644 -21908038.45042 20288777.656 20288781.565 20288777.223
+ 95.140 74.135 57.000 51.000
+ -18491279.73043 -14396474.33942 21777100.907 21777103.903 21777099.769
+ 1812.196 1412.101 55.000 48.000
+ -24587678.87944 -19124141.11242 20635551.181 20635555.323 20635550.070
+ 749.797 584.257 57.000 50.000
+ -5200922.74843 -4041335.00542 24147615.837 24147621.147 24147614.617
+ 2349.229 1830.568 45.000 39.000
+ -1410589.45243 -1065184.21642 25061918.248 25061925.659 25061916.191
+ 1917.774 1494.369 42.000 35.000
+ 04 2 1 13 46 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -16067489.24543 -12515699.23642 22290086.574 22290090.651 22290086.179
+ -1837.682 -1431.960 53.000 46.000
+ -19283683.16343 -15006120.28242 21168260.051 21168264.284 21168258.778
+ 2941.066 2291.740 54.000 48.000
+ -6262806.94243 -4876880.93142 24226002.499 24226006.347 24226001.177
+ 2326.781 1813.076 46.000 40.000
+ -28169229.02244 -21910040.08242 20288289.238 20288293.039 20288288.324
+ 75.374 58.733 57.000 52.000
+ -18545623.86443 -14438820.39142 21766760.248 21766762.652 21766758.490
+ 1810.003 1410.392 55.000 48.000
+ -24609883.29643 -19141443.23342 20631325.326 20631330.144 20631324.707
+ 729.753 568.639 56.000 50.000
+ -5271305.11043 -4096178.39742 24134223.713 24134227.890 24134221.903
+ 2342.354 1825.211 46.000 40.000
+ -1468223.41743 -1110093.68042 25050950.002 25050959.041 25050948.644
+ 1923.748 1499.024 43.000 36.000
+ 04 2 1 13 46 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -16012140.73643 -12472570.52342 22300618.957 22300623.113 22300618.156
+ -1852.936 -1443.846 52.000 46.000
+ -19371726.70643 -15074725.60042 21151505.929 21151509.807 21151504.624
+ 2927.685 2281.313 54.000 48.000
+ -6332681.03043 -4931328.23642 24212705.087 24212710.207 24212703.477
+ 2330.812 1816.217 46.000 39.000
+ -28171215.04744 -21911587.65242 20287911.475 20287914.900 20287910.611
+ 56.129 43.737 57.000 52.000
+ -18599911.35743 -14481122.31842 21756429.052 21756431.840 21756427.559
+ 1808.280 1409.049 55.000 49.000
+ -24631496.71844 -19158284.84942 20627212.746 20627217.231 20627211.830
+ 710.309 553.488 57.000 50.000
+ -5341487.37843 -4150865.82542 24120867.948 24120872.116 24120865.392
+ 2335.292 1819.708 46.000 40.000
+ -1526045.75443 -1155149.95342 25039948.992 25039955.603 25039946.439
+ 1930.376 1504.189 43.000 36.000
+ 04 2 1 13 47 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15956332.56643 -12429083.63342 22311238.863 22311242.983 22311238.521
+ -1868.432 -1455.921 52.000 46.000
+ -19459364.29643 -15143014.60242 21134829.013 21134833.395 21134828.054
+ 2913.864 2270.543 55.000 48.000
+ -6402652.94243 -4985851.75742 24199389.355 24199392.733 24199389.449
+ 2333.648 1818.427 45.000 39.000
+ -28172617.69044 -21912680.62942 20287644.375 20287648.097 20287643.544
+ 36.398 28.362 57.000 51.000
+ -18654140.51443 -14523378.77542 21746109.628 21746112.988 21746108.284
+ 1806.008 1407.279 55.000 49.000
+ -24652518.08444 -19174665.11342 20623212.763 20623216.892 20623211.977
+ 690.243 537.852 57.000 50.000
+ -5411469.17743 -4205397.06042 24107548.949 24107555.498 24107549.445
+ 2328.497 1814.413 46.000 40.000
+ -1584053.73243 -1200350.89442 25028911.117 25028918.142 25028909.186
+ 1936.113 1508.659 43.000 36.000
+ 04 2 1 13 47 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15900063.95743 -12385237.95942 22321946.563 22321950.685 22321946.575
+ -1883.862 -1467.944 53.000 46.000
+ -19546590.26043 -15210982.85042 21118230.534 21118235.202 21118228.752
+ 2900.062 2259.789 55.000 48.000
+ -6472720.10943 -5040449.49242 24186056.948 24186060.704 24186057.505
+ 2336.839 1820.914 47.000 39.000
+ -28173434.17344 -21913316.86442 20287489.171 20287492.790 20287488.174
+ 16.872 13.147 57.000 51.000
+ -18708307.22743 -14565586.57842 21735801.956 21735804.932 21735800.610
+ 1803.909 1405.643 55.000 49.000
+ -24672943.80444 -19190581.24442 20619326.185 20619330.003 20619324.928
+ 670.435 522.417 57.000 50.000
+ -5481247.98643 -4259770.11642 24094271.480 24094277.362 24094270.901
+ 2321.856 1809.238 46.000 40.000
+ -1642243.04643 -1245693.08942 25017836.261 25017842.130 25017833.975
+ 1942.455 1513.601 43.000 36.000
+ 04 2 1 13 48 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15843340.22143 -12341037.63542 22332740.759 22332743.920 22332739.099
+ -1898.348 -1479.232 52.000 46.000
+ -19633404.37543 -15278630.18142 21101709.773 21101714.843 21101708.580
+ 2886.673 2249.356 54.000 48.000
+ -6542885.09343 -5095123.50342 24172705.240 24172709.995 24172706.416
+ 2340.124 1823.473 46.000 39.000
+ -28173667.06244 -21913498.35042 20287445.031 20287448.111 20287443.989
+ -2.115 -1.648 57.000 52.000
+ -18762413.94843 -14607747.64742 21725506.021 21725508.836 21725504.591
+ 1802.437 1404.496 55.000 49.000
+ -24692775.89044 -19206034.80442 20615551.743 20615556.150 20615551.034
+ 650.996 507.270 57.000 50.000
+ -5550826.85943 -4313987.39942 24081031.078 24081036.281 24081030.036
+ 2315.952 1804.638 46.000 40.000
+ -1700614.33943 -1291177.08442 25006727.300 25006736.536 25006727.840
+ 1948.612 1518.399 43.000 36.000
+ 04 2 1 13 48 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15786161.90443 -12296483.11142 22343621.477 22343625.638 22343620.830
+ -1913.935 -1491.378 52.000 46.000
+ -19719802.31743 -15345953.21842 21085269.162 21085273.937 21085267.424
+ 2872.449 2238.272 54.000 48.000
+ -6613146.63743 -5149872.69742 24159334.506 24159339.108 24159334.362
+ 2343.073 1825.771 46.000 39.000
+ -28173314.93544 -21913223.97742 20287512.025 20287515.513 20287511.002
+ -22.048 -17.180 57.000 52.000
+ -18816457.92143 -14649859.81042 21715221.925 21715224.488 21715220.735
+ 1799.817 1402.455 55.000 49.000
+ -24712012.29644 -19221024.19842 20611891.185 20611895.542 20611890.237
+ 630.802 491.534 57.000 50.000
+ -5620204.75643 -4368048.03042 24067828.691 24067834.128 24067827.749
+ 2308.818 1799.079 46.000 40.000
+ -1759164.71943 -1336800.63442 24995585.869 24995595.652 24995583.755
+ 1953.858 1522.487 43.000 36.000
+ 04 2 1 13 49 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15728530.14243 -12251575.24442 22354588.652 22354592.084 22354588.280
+ -1928.406 -1502.654 53.000 45.000
+ -19805779.92643 -15412948.71942 21068907.978 21068912.585 21068906.613
+ 2858.990 2227.784 54.000 49.000
+ -6683503.55343 -5204696.22142 24145946.315 24145949.219 24145946.521
+ 2346.850 1828.714 46.000 39.000
+ -28172376.78644 -21912492.96342 20287690.603 20287693.939 20287689.749
+ -40.897 -31.868 57.000 52.000
+ -18870437.05243 -14691921.45542 21704949.645 21704952.581 21704948.273
+ 1798.363 1401.322 55.000 49.000
+ -24730651.71443 -19235548.40042 20608344.042 20608348.581 20608343.075
+ 611.586 476.561 56.000 50.000
+ -5689380.77943 -4421951.39942 24054665.376 24054669.879 24054664.502
+ 2302.787 1794.379 46.000 40.000
+ -1817891.21143 -1382561.40142 24984411.522 24984418.947 24984407.998
+ 1960.759 1527.864 44.000 36.000
+ 04 2 1 13 49 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15670446.77743 -12206315.46542 22365641.190 22365645.042 22365640.630
+ -1943.790 -1514.641 52.000 46.000
+ -19891334.05543 -15479614.23942 21052627.653 21052632.136 21052626.176
+ 2844.460 2216.462 54.000 48.000
+ -6753955.32443 -5259593.68942 24132539.795 24132543.120 24132538.644
+ 2349.756 1830.979 46.000 39.000
+ -28170852.15344 -21911304.94542 20287980.471 20287984.210 20287979.510
+ -60.923 -47.472 57.000 52.000
+ -18924350.11243 -14733931.61742 21694689.703 21694693.662 21694688.519
+ 1795.734 1399.273 55.000 49.000
+ -24748693.06543 -19249606.57942 20604911.315 20604915.503 20604910.118
+ 591.149 460.635 56.000 50.000
+ -5758354.74743 -4475697.28842 24041539.536 24041545.564 24041538.707
+ 2295.490 1788.694 46.000 40.000
+ -1876791.21543 -1428457.38342 24973201.485 24973209.724 24973201.411
+ 1965.982 1531.934 43.000 37.000
+ 04 2 1 13 50 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15611915.42043 -12160706.61442 22376779.463 22376782.814 22376779.239
+ -1958.277 -1525.930 53.000 45.000
+ -19976463.10843 -15545948.52442 21036427.645 21036432.387 21036426.270
+ 2830.632 2205.687 54.000 48.000
+ -6824503.23043 -5314566.05242 24119114.481 24119117.290 24119113.709
+ 2353.516 1833.909 46.000 40.000
+ -28168742.55044 -21909661.11642 20288381.768 20288385.518 20288380.846
+ -79.770 -62.158 57.000 52.000
+ -18978197.12943 -14775890.32442 21684443.121 21684446.836 21684442.079
+ 1794.022 1397.939 55.000 49.000
+ -24766137.17844 -19263199.38242 20601591.453 20601596.064 20601590.441
+ 571.730 445.504 57.000 50.000
+ -5827128.43743 -4529287.11542 24028451.416 24028457.958 24028450.840
+ 2289.530 1784.049 45.000 40.000
+ -1935864.20143 -1474488.12942 24961961.195 24961968.553 24961959.633
+ 1972.079 1536.685 43.000 37.000
+ 04 2 1 13 50 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15552933.79643 -12114746.90442 22388002.692 22388007.468 22388003.027
+ -1973.253 -1537.600 52.000 45.000
+ -20061159.82043 -15611945.92842 21020310.844 21020315.190 21020309.184
+ 2816.236 2194.470 54.000 48.000
+ -6895142.97143 -5369609.99342 24105671.936 24105676.255 24105669.346
+ 2356.199 1835.999 46.000 39.000
+ -28166043.49444 -21907557.96642 20288895.631 20288899.073 20288894.525
+ -99.503 -77.535 57.000 52.000
+ -19031972.77043 -14817793.41842 21674209.971 21674213.645 21674209.148
+ 1791.636 1396.080 55.000 48.000
+ -24782979.15244 -19276322.98242 20598387.024 20598390.900 20598386.246
+ 551.638 429.848 57.000 50.000
+ -5895697.70843 -4582717.63242 24015404.306 24015408.724 24015402.843
+ 2282.580 1778.634 46.000 40.000
+ -1995103.89843 -1520648.80642 24950688.123 24950695.848 24950687.126
+ 1977.374 1540.811 44.000 38.000
+ 04 2 1 13 51 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15493508.41043 -12068441.39642 22399311.407 22399315.071 22399311.287
+ -1988.332 -1549.350 52.000 45.000
+ -20145425.41243 -15677607.39442 21004275.430 21004280.124 21004273.661
+ 2801.427 2182.930 54.000 48.000
+ -6965878.58743 -5424728.66642 24092211.097 24092215.774 24092209.936
+ 2359.405 1838.497 46.000 39.000
+ -28162759.44144 -21904998.97042 20289520.879 20289524.147 20289519.656
+ -119.267 -92.935 57.000 52.000
+ -19085680.10943 -14859643.28942 21663990.331 21663993.405 21663988.750
+ 1789.026 1394.046 55.000 49.000
+ -24799222.62944 -19288980.22842 20595295.631 20595299.742 20595294.574
+ 531.374 414.058 57.000 50.000
+ -5964066.88243 -4635992.25242 24002394.728 24002399.811 24002393.132
+ 2275.573 1773.174 46.000 40.000
+ -2054512.57843 -1566941.12542 24939383.291 24939391.504 24939381.799
+ 1982.716 1544.974 44.000 37.000
+ 04 2 1 13 51 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15433638.07243 -12021789.18842 22410704.176 22410708.006 22410704.008
+ -2002.905 -1560.705 52.000 45.000
+ -20229253.55143 -15742927.98642 20988323.429 20988327.747 20988322.196
+ 2787.020 2171.704 54.000 48.000
+ -7036706.62243 -5479919.31942 24078732.742 24078738.288 24078732.322
+ 2362.484 1840.897 46.000 39.000
+ -28158886.94444 -21901981.44942 20290257.786 20290261.196 20290256.812
+ -138.791 -108.149 58.000 52.000
+ -19139314.96043 -14901436.67542 21653783.654 21653787.430 21653782.393
+ 1786.629 1392.178 55.000 49.000
+ -24814863.62744 -19301168.00242 20592319.274 20592323.385 20592318.269
+ 511.430 398.517 57.000 50.000
+ -6032232.91043 -4689108.54442 23989422.206 23989427.770 23989420.119
+ 2268.952 1768.015 45.000 40.000
+ -2114084.83443 -1613360.95842 24928046.613 24928054.408 24928045.636
+ 1988.626 1549.579 44.000 37.000
+ 04 2 1 13 52 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15373328.89243 -11974795.00642 22422180.833 22422184.648 22422179.923
+ -2017.557 -1572.122 52.000 45.000
+ -20312645.12443 -15807908.40142 20972454.760 20972458.880 20972453.708
+ 2772.465 2160.362 55.000 49.000
+ -7107630.82743 -5535184.91742 24065237.380 24065239.560 24065236.128
+ 2365.800 1843.480 46.000 39.000
+ -28154429.96644 -21898508.49042 20291105.765 20291109.241 20291104.859
+ -158.323 -123.368 57.000 52.000
+ -19192879.68643 -14943175.42942 21643590.515 21643594.300 21643589.128
+ 1784.237 1390.315 55.000 49.000
+ -24829905.73643 -19312889.12042 20589456.686 20589460.881 20589455.751
+ 491.404 382.912 56.000 50.000
+ -6100199.99343 -4742069.84142 23976489.707 23976493.166 23976486.909
+ 2262.210 1762.761 46.000 40.000
+ -2173822.75643 -1659909.80742 24916678.973 24916686.208 24916678.028
+ 1994.037 1553.795 45.000 38.000
+ 04 2 1 13 52 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15312578.44643 -11927457.00642 22433741.330 22433745.034 22433740.442
+ -2032.786 -1583.989 52.000 45.000
+ -20395592.75143 -15872542.89342 20956670.255 20956674.424 20956668.624
+ 2757.037 2148.340 55.000 49.000
+ -7178646.30243 -5590521.60842 24051723.231 24051726.914 24051722.654
+ 2368.401 1845.507 46.000 39.000
+ -28149383.77244 -21894576.40542 20292065.798 20292069.416 20292064.887
+ -178.532 -139.116 57.000 52.000
+ -19246368.36343 -14984854.90942 21633411.863 21633415.615 21633410.737
+ 1781.087 1387.860 55.000 49.000
+ -24844343.71843 -19324139.48042 20586709.131 20586713.377 20586708.082
+ 470.654 366.743 56.000 50.000
+ -6167963.69943 -4794872.64842 23963592.582 23963598.505 23963592.359
+ 2254.941 1757.097 45.000 40.000
+ -2233719.38643 -1706582.31742 24905280.318 24905288.824 24905279.286
+ 1998.470 1557.249 44.000 38.000
+ 04 2 1 13 53 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15251387.90743 -11879776.05942 22445385.187 22445389.561 22445384.754
+ -2047.121 -1595.159 52.000 45.000
+ -20478092.12343 -15936828.07942 20940971.033 20940975.487 20940969.484
+ 2742.283 2136.844 55.000 49.000
+ -7249751.74443 -5645928.43642 24038192.664 24038196.478 24038192.134
+ 2371.603 1848.002 47.000 40.000
+ -28143747.69644 -21890184.67142 20293138.272 20293141.955 20293137.377
+ -197.722 -154.069 57.000 52.000
+ -19299778.68543 -15026473.33442 21623248.304 21623251.586 21623247.078
+ 1778.837 1386.107 56.000 49.000
+ -24858176.35243 -19334918.14342 20584077.118 20584081.332 20584076.122
+ 450.854 351.315 56.000 50.000
+ -6235523.26543 -4847516.35842 23950734.695 23950741.595 23950735.034
+ 2248.364 1751.972 44.000 39.000
+ -2293771.68543 -1753376.19542 24893851.601 24893859.271 24893850.617
+ 2004.299 1561.791 42.000 37.000
+ 04 2 1 13 53 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15189764.51343 -11831757.82242 22457112.476 22457115.667 22457111.623
+ -2061.212 -1606.139 52.000 45.000
+ -20560145.50843 -16000765.75042 20925356.946 20925361.665 20925355.410
+ 2727.658 2125.448 55.000 49.000
+ -7320951.95543 -5701409.08442 24024643.232 24024646.884 24024643.689
+ 2374.996 1850.646 46.000 40.000
+ -28137527.03944 -21885337.41242 20294322.528 20294325.701 20294321.203
+ -217.018 -169.105 58.000 51.000
+ -19353114.81443 -15068033.94842 21613099.357 21613102.375 21613098.048
+ 1776.606 1384.368 56.000 49.000
+ -24871408.20744 -19345228.66542 20581559.102 20581563.570 20581558.294
+ 431.123 335.940 57.000 50.000
+ -6302883.82843 -4900005.04942 23937918.414 23937924.806 23937917.156
+ 2242.197 1747.166 44.000 39.000
+ -2353982.56043 -1800293.64942 24882395.162 24882403.501 24882393.924
+ 2009.167 1565.585 43.000 38.000
+ 04 2 1 13 54 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15127706.07843 -11783400.59342 22468921.450 22468924.806 22468920.719
+ -2075.441 -1617.227 52.000 45.000
+ -20641745.49143 -16064350.12242 20909829.234 20909833.483 20909827.404
+ 2712.926 2113.968 55.000 49.000
+ -7392242.43643 -5756960.11942 24011077.951 24011080.445 24011077.857
+ 2378.375 1853.279 47.000 40.000
+ -28130717.48344 -21880031.27742 20295618.266 20295621.429 20295617.331
+ -236.285 -184.118 58.000 52.000
+ -19406370.94443 -15109532.22242 21602964.370 21602967.864 21602963.182
+ 1774.270 1382.548 56.000 49.000
+ -24884034.18644 -19355067.07942 20579156.337 20579160.604 20579155.623
+ 411.240 320.447 57.000 50.000
+ -6370041.27443 -4952335.44542 23925139.354 23925144.579 23925138.248
+ 2235.771 1742.159 45.000 40.000
+ -2414345.78143 -1847329.76642 24870908.978 24870916.290 24870906.744
+ 2014.746 1569.932 45.000 39.000
+ 04 2 1 13 54 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15065216.36943 -11734707.31542 22480812.492 22480817.062 22480811.616
+ -2089.897 -1628.491 51.000 45.000
+ -20722890.86943 -16127580.25542 20894387.272 20894391.798 20894386.159
+ 2697.479 2101.932 55.000 49.000
+ -7463624.20343 -5812582.23742 23997494.468 23997497.626 23997493.011
+ 2381.251 1855.520 47.000 40.000
+ -28123320.50644 -21874267.40942 20297025.786 20297029.147 20297024.769
+ -256.108 -199.565 57.000 52.000
+ -19459547.34043 -15150968.36542 21592845.178 21592848.623 21592844.153
+ 1771.540 1380.421 56.000 49.000
+ -24896055.38144 -19364434.23342 20576868.813 20576873.181 20576867.833
+ 390.915 304.609 57.000 50.000
+ -6436997.29843 -5004508.90842 23912399.196 23912402.343 23912397.591
+ 2228.853 1736.768 47.000 40.000
+ -2474860.40743 -1894483.87842 24859393.324 24859399.424 24859391.099
+ 2019.934 1573.975 45.000 39.000
+ 04 2 1 13 55 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -15002297.59843 -11685679.69542 22492785.473 22492789.561 22492785.087
+ -2104.255 -1639.679 51.000 45.000
+ -20803578.45543 -16190453.65742 20879032.847 20879037.019 20879031.992
+ 2681.936 2089.820 55.000 49.000
+ -7535097.27843 -5868275.55042 23983893.327 23983897.371 23983893.074
+ 2384.369 1857.950 47.000 40.000
+ -28115336.33544 -21868045.98842 20298544.651 20298548.328 20298543.922
+ -275.793 -214.904 57.000 52.000
+ -19512642.91043 -15192341.53142 21582741.816 21582745.166 21582740.561
+ 1768.521 1378.068 56.000 49.000
+ -24907471.58043 -19373329.96342 20574696.033 20574700.496 20574695.054
+ 370.535 288.729 56.000 50.000
+ -6503752.38743 -5056525.76842 23899693.889 23899699.791 23899693.317
+ 2221.717 1731.208 45.000 39.000
+ -2535524.42643 -1941754.38642 24847848.084 24847855.051 24847846.209
+ 2024.619 1577.625 45.000 38.000
+ 04 2 1 13 55 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14938952.14043 -11636319.60942 22504840.609 22504843.688 22504839.038
+ -2118.541 -1650.811 52.000 45.000
+ -20883805.39043 -16252968.12742 20863766.340 20863770.666 20863765.066
+ 2666.487 2077.782 55.000 49.000
+ -7606661.38643 -5924039.79142 23970274.882 23970278.377 23970274.579
+ 2387.028 1860.022 47.000 41.000
+ -28106765.27544 -21861367.25542 20300176.135 20300179.527 20300175.064
+ -295.415 -230.193 57.000 52.000
+ -19565656.46043 -15233650.77342 21572653.874 21572656.814 21572652.437
+ 1765.777 1375.930 56.000 49.000
+ -24918282.44644 -19381754.00942 20572638.985 20572643.362 20572638.043
+ 350.268 272.936 57.000 50.000
+ -6570306.57343 -5108386.09542 23887030.825 23887034.281 23887028.351
+ 2215.252 1726.170 46.000 40.000
+ -2596335.79443 -1989139.71342 24836276.912 24836283.159 24836275.291
+ 2029.669 1581.560 44.000 38.000
+ 04 2 1 13 56 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14875177.37043 -11586624.99042 22516974.980 22516979.941 22516974.939
+ -2132.815 -1661.934 51.000 45.000
+ -20963564.13843 -16315117.76942 20848588.607 20848593.068 20848587.295
+ 2650.929 2065.659 55.000 49.000
+ -7678311.18543 -5979870.82042 23956640.335 23956644.267 23956639.683
+ 2389.856 1862.225 47.000 41.000
+ -28097602.79644 -21854227.67242 20301919.425 20301923.133 20301918.575
+ -315.136 -245.560 57.000 52.000
+ -19618581.62543 -15274891.14042 21562582.152 21562585.199 21562580.982
+ 1762.872 1373.666 56.000 49.000
+ -24928483.10444 -19389702.56542 20570698.033 20570702.551 20570697.125
+ 329.967 257.117 57.000 50.000
+ -6636655.31243 -5160086.35142 23874402.819 23874409.124 23874402.556
+ 2208.338 1720.783 45.000 39.000
+ -2657287.50143 -2036634.45842 24824677.102 24824685.538 24824674.998
+ 2034.111 1585.022 44.000 38.000
+ 04 2 1 13 56 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14810982.06543 -11536602.68142 22529191.280 22529195.539 22529190.851
+ -2147.112 -1673.074 51.000 45.000
+ -21042858.13343 -16376905.27042 20833498.730 20833503.835 20833498.013
+ 2634.979 2053.230 55.000 49.000
+ -7750052.99343 -6035773.53842 23942988.895 23942992.743 23942987.056
+ 2392.550 1864.325 48.000 41.000
+ -28087855.53544 -21846632.41842 20303774.594 20303777.954 20303773.523
+ -334.921 -260.977 57.000 52.000
+ -19671423.65443 -15316066.73442 21552526.174 21552529.583 21552525.042
+ 1759.607 1371.122 55.000 49.000
+ -24938079.58044 -19397180.32942 20568872.000 20568876.022 20568871.003
+ 309.533 241.195 57.000 50.000
+ -6702805.45943 -5211631.84542 23861816.201 23861820.817 23861814.792
+ 2201.262 1715.269 46.000 39.000
+ -2718383.77843 -2084241.78242 24813051.283 24813058.012 24813050.250
+ 2038.533 1588.467 45.000 38.000
+ 04 2 1 13 57 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14746364.00843 -11486250.95542 22541488.365 22541492.196 22541487.450
+ -2160.820 -1683.756 51.000 45.000
+ -21121680.02943 -16438324.90342 20818500.123 20818505.243 20818498.959
+ 2619.594 2041.242 55.000 49.000
+ -7821881.97043 -6091744.16742 23929320.424 23929322.707 23929319.579
+ 2395.604 1866.704 48.000 41.000
+ -28077519.47444 -21838578.36242 20305741.195 20305745.005 20305740.371
+ -354.392 -276.150 57.000 51.000
+ -19724176.87243 -15357173.12242 21542488.139 21542491.021 21542486.720
+ 1757.001 1369.092 55.000 49.000
+ -24947066.99344 -19404183.49542 20567161.819 20567166.042 20567160.905
+ 289.419 225.521 57.000 50.000
+ -6768752.74443 -5263019.28242 23849265.821 23849271.709 23849265.020
+ 2194.872 1710.290 46.000 39.000
+ -2779618.05643 -2131956.64942 24801399.122 24801405.294 24801398.136
+ 2043.638 1592.445 46.000 39.000
+ 04 2 1 13 57 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14681328.52543 -11435573.96942 22553863.563 22553868.408 22553863.017
+ -2174.562 -1694.464 51.000 45.000
+ -21200030.08743 -16499376.86642 20803590.359 20803595.359 20803589.149
+ 2603.925 2029.032 55.000 49.000
+ -7893800.87143 -6147784.86742 23915634.874 23915638.095 23915634.708
+ 2398.847 1869.231 48.000 41.000
+ -28066597.86144 -21830068.03042 20307819.574 20307823.154 20307818.613
+ -373.554 -291.081 57.000 51.000
+ -19776842.81643 -15398211.50542 21532466.471 21532469.280 21532464.950
+ 1754.266 1366.960 56.000 49.000
+ -24955448.12544 -19410714.24342 20565566.961 20565570.758 20565566.038
+ 269.447 209.959 57.000 50.000
+ -6834500.45343 -5314251.19742 23836754.769 23836760.378 23836754.458
+ 2188.627 1705.424 45.000 40.000
+ -2840991.18043 -2179779.69842 24789720.285 24789725.894 24789718.587
+ 2048.399 1596.155 46.000 39.000
+ 04 2 1 13 58 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14615889.11543 -11384582.22242 22566317.312 22566321.722 22566316.204
+ -2188.706 -1705.485 51.000 45.000
+ -21277916.71543 -16560067.71642 20788769.064 20788773.272 20788767.993
+ 2587.847 2016.504 55.000 49.000
+ -7965820.51743 -6203904.09142 23901928.466 23901933.339 23901927.776
+ 2401.765 1871.505 47.000 41.000
+ -28055102.40444 -21821110.54942 20310007.216 20310010.604 20310006.205
+ -393.343 -306.501 57.000 52.000
+ -19829431.44543 -15439189.64842 21522459.312 21522461.682 21522457.967
+ 1751.168 1364.546 56.000 49.000
+ -24963234.16943 -19416781.28542 20564084.699 20564089.386 20564083.924
+ 248.950 193.987 56.000 50.000
+ -6900060.06343 -5365336.55142 23824279.488 23824284.734 23824278.600
+ 2181.635 1699.975 46.000 40.000
+ -2902512.08643 -2227717.92642 24778013.420 24778020.624 24778011.607
+ 2052.773 1599.563 45.000 38.000
+ 04 2 1 13 58 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14550020.01943 -11333255.66442 22578851.504 22578855.548 22578850.741
+ -2202.477 -1716.216 51.000 45.000
+ -21355308.61143 -16620373.07042 20774042.297 20774046.575 20774041.005
+ 2571.644 2003.878 56.000 49.000
+ -8037912.28243 -6260079.49042 23888209.923 23888213.913 23888210.166
+ 2404.355 1873.523 46.000 40.000
+ -28043005.25544 -21811684.21242 20312309.227 20312312.801 20312308.258
+ -413.098 -321.894 57.000 52.000
+ -19881913.26543 -15480084.56342 21512471.686 21512474.789 21512470.756
+ 1747.810 1361.930 56.000 49.000
+ -24970396.63444 -19422362.41942 20562722.114 20562726.529 20562721.069
+ 228.558 178.097 57.000 50.000
+ -6965403.69343 -5416253.60942 23811845.742 23811849.927 23811843.865
+ 2174.777 1694.631 47.000 40.000
+ -2964150.46443 -2275747.69242 24766282.999 24766290.759 24766281.515
+ 2056.833 1602.727 44.000 38.000
+ 04 2 1 13 59 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14483737.36043 -11281606.84742 22591464.782 22591468.359 22591463.927
+ -2215.753 -1726.561 51.000 45.000
+ -21432217.15543 -16680301.77842 20759407.219 20759411.272 20759405.685
+ 2556.001 1991.689 56.000 49.000
+ -8110089.78643 -6316321.71342 23874476.455 23874477.589 23874474.100
+ 2408.080 1876.426 47.000 40.000
+ -28030320.60944 -21801800.08442 20314723.003 20314726.522 20314722.177
+ -432.106 -336.706 57.000 52.000
+ -19934300.77543 -15520906.00542 21502502.696 21502506.351 21502501.409
+ 1745.147 1359.855 55.000 49.000
+ -24976949.50843 -19427468.54742 20561475.058 20561479.567 20561474.212
+ 208.683 162.610 56.000 50.000
+ -7030545.70143 -5467013.57742 23799449.465 23799452.697 23799448.152
+ 2168.551 1689.780 46.000 39.000
+ -3025917.88243 -2323877.99642 24754529.393 24754536.719 24754527.171
+ 2061.470 1606.340 45.000 39.000
+ 04 2 1 13 59 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14417043.02743 -11229637.25642 22604155.693 22604159.546 22604155.205
+ -2230.330 -1737.919 51.000 45.000
+ -21508638.84443 -16739851.11842 20744864.119 20744868.417 20744862.835
+ 2538.949 1978.402 55.000 49.000
+ -8182352.39643 -6372630.22342 23860724.105 23860728.865 23860724.032
+ 2409.665 1877.661 46.000 40.000
+ -28017048.60344 -21791458.27442 20317248.638 20317252.170 20317247.813
+ -452.581 -352.660 57.000 52.000
+ -19986592.22343 -15561652.58942 21492552.227 21492555.220 21492550.667
+ 1741.019 1356.638 56.000 49.000
+ -24982892.01744 -19432099.06742 20560344.273 20560348.832 20560343.044
+ 187.559 146.150 57.000 50.000
+ -7095485.86243 -5517616.23642 23787091.499 23787097.177 23787089.504
+ 2161.100 1683.974 46.000 40.000
+ -3087811.85143 -2372106.91042 24742752.075 24742757.427 24742749.274
+ 2064.610 1608.787 46.000 39.000
+ 04 2 1 14 0 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14349940.56143 -11177349.64442 22616925.721 22616929.786 22616925.038
+ -2243.075 -1747.851 51.000 45.000
+ -21584572.42543 -16799020.11242 20730414.635 20730419.199 20730413.169
+ 2523.594 1966.437 55.000 49.000
+ -8254700.72143 -6429005.55142 23846957.587 23846960.951 23846958.094
+ 2413.289 1880.485 47.000 40.000
+ -28003190.42044 -21780659.70442 20319885.506 20319889.503 20319884.675
+ -471.456 -367.368 57.000 52.000
+ -20038787.52143 -15602324.25242 21482619.338 21482622.658 21482618.361
+ 1738.637 1354.782 56.000 49.000
+ -24988225.03843 -19436254.66042 20559329.703 20559333.785 20559328.703
+ 168.041 130.941 56.000 50.000
+ -7160225.58343 -5568062.68442 23774771.643 23774777.868 23774770.064
+ 2154.870 1679.119 46.000 40.000
+ -3149830.88843 -2420433.30142 24730949.441 24730955.908 24730946.468
+ 2070.002 1612.989 44.000 38.000
+ 04 2 1 14 0 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14282430.93543 -11124744.75442 22629771.880 22629774.920 22629771.553
+ -2257.391 -1759.006 51.000 44.000
+ -21660013.43943 -16857805.29042 20716058.508 20716063.317 20716057.183
+ 2506.237 1952.912 55.000 49.000
+ -8327132.77643 -6485446.08642 23833174.698 23833176.023 23833173.448
+ 2415.384 1882.117 48.000 40.000
+ -27988745.30044 -21769403.78142 20322634.936 20322637.951 20322633.694
+ -491.634 -383.091 57.000 52.000
+ -20090883.73743 -15642918.70742 21472706.065 21472709.448 21472704.688
+ 1734.469 1351.534 55.000 49.000
+ -24992947.24944 -19439934.29842 20558430.823 20558435.163 20558429.985
+ 146.908 114.474 57.000 50.000
+ -7224763.70843 -5618352.08542 23762490.267 23762495.172 23762490.623
+ 2147.467 1673.351 46.000 40.000
+ -3211971.63543 -2468854.52242 24719125.159 24719130.948 24719121.866
+ 2073.161 1615.450 45.000 37.000
+ 04 2 1 14 1 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14214515.93143 -11071823.98842 22642696.404 22642699.573 22642695.498
+ -2270.791 -1769.447 52.000 45.000
+ -21734958.53043 -16916204.03342 20701796.767 20701801.501 20701795.449
+ 2489.433 1939.818 55.000 49.000
+ -8399647.75243 -6541951.27442 23819375.101 23819378.615 23819375.548
+ 2418.002 1884.157 47.000 40.000
+ -27973713.59244 -21757690.77842 20325494.939 20325498.439 20325493.910
+ -511.283 -398.402 57.000 52.000
+ -20142879.14143 -15683434.60942 21462811.097 21462814.953 21462810.137
+ 1730.973 1348.810 56.000 49.000
+ -24997058.35644 -19443137.75742 20557648.659 20557652.793 20557647.643
+ 126.392 98.487 57.000 50.000
+ -7289100.12143 -5668484.30842 23750246.395 23750252.094 23750246.404
+ 2140.902 1668.235 46.000 40.000
+ -3274231.55843 -2517368.60442 24707275.469 24707282.344 24707273.613
+ 2076.724 1618.226 44.000 37.000
+ 04 2 1 14 1 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14146198.79943 -11018589.86742 22655696.809 22655700.198 22655695.657
+ -2283.763 -1779.555 52.000 45.000
+ -21809406.06943 -16974215.07942 20687630.236 20687634.093 20687628.832
+ 2473.522 1927.420 56.000 49.000
+ -8472246.38343 -6598521.64542 23805558.391 23805562.540 23805558.052
+ 2421.622 1886.978 46.000 40.000
+ -27958096.56244 -21745521.67942 20328466.880 20328470.356 20328465.945
+ -530.202 -413.144 57.000 52.000
+ -20194772.83943 -15723871.27242 21452936.692 21452939.766 21452935.061
+ 1728.217 1346.662 56.000 49.000
+ -25000559.13344 -19445865.63142 20556982.419 20556986.453 20556981.633
+ 106.659 83.111 57.000 50.000
+ -7353235.99243 -5718460.25642 23738042.209 23738047.433 23738040.840
+ 2134.757 1663.447 45.000 40.000
+ -3336609.08543 -2565974.25642 24695407.675 24695412.361 24695405.446
+ 2081.367 1621.844 46.000 37.000
+ 04 2 1 14 2 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14077483.26943 -10965045.31442 22668772.023 22668776.706 22668771.615
+ -2297.187 -1790.016 51.000 44.000
+ -21883354.22243 -17031836.99242 20673558.168 20673562.721 20673556.599
+ 2456.449 1914.116 55.000 49.000
+ -8544929.04543 -6655157.46542 23791728.034 23791732.077 23791727.592
+ 2424.119 1888.924 46.000 40.000
+ -27941895.77944 -21732897.70942 20331549.959 20331553.297 20331548.953
+ -549.964 -428.543 57.000 52.000
+ -20246564.92343 -15764228.75642 21443081.063 21443083.652 21443079.709
+ 1724.445 1343.723 56.000 49.000
+ -25003450.57643 -19448118.69842 20556432.154 20556436.414 20556430.904
+ 85.996 67.010 56.000 50.000
+ -7417172.80143 -5768281.11042 23725875.965 23725880.797 23725875.770
+ 2127.711 1657.957 47.000 40.000
+ -3399103.06243 -2614670.68842 24683512.491 24683519.470 24683510.966
+ 2084.820 1624.535 43.000 37.000
+ 04 2 1 14 2 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -14008368.22243 -10911189.44742 22681924.892 22681928.155 22681924.076
+ -2309.787 -1799.834 52.000 44.000
+ -21956797.31643 -17089065.34242 20659582.646 20659586.691 20659580.926
+ 2440.275 1901.513 55.000 49.000
+ -8617692.09443 -6711855.93342 23777881.858 23777884.621 23777881.466
+ 2427.645 1891.671 47.000 40.000
+ -27925108.63144 -21719816.83542 20334744.111 20334747.948 20334743.207
+ -568.654 -443.107 57.000 52.000
+ -20298250.71643 -15804503.40842 21433245.706 21433248.921 21433244.051
+ 1721.768 1341.637 56.000 49.000
+ -25005729.37644 -19449894.38142 20555998.686 20556002.584 20555997.464
+ 66.397 51.738 57.000 50.000
+ -7480907.66443 -5817944.62142 23713747.580 23713752.143 23713746.402
+ 2121.852 1653.391 47.000 40.000
+ -3461708.12743 -2663453.72442 24671599.472 24671608.183 24671599.693
+ 2089.331 1628.050 44.000 37.000
+ 04 2 1 14 3 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13938857.11443 -10857024.95242 22695151.674 22695155.753 22695150.894
+ -2323.479 -1810.503 51.000 44.000
+ -22029733.29943 -17145898.55142 20645703.219 20645707.359 20645701.699
+ 2422.653 1887.782 56.000 49.000
+ -8690536.12843 -6768617.51742 23764020.879 23764024.256 23764019.347
+ 2429.496 1893.114 47.000 41.000
+ -27907736.48944 -21706280.11642 20338050.115 20338053.835 20338049.112
+ -588.776 -458.786 57.000 52.000
+ -20349829.55043 -15844694.71942 21423429.927 21423433.466 21423429.261
+ 1717.514 1338.323 56.000 49.000
+ -25007396.51943 -19451193.44542 20555681.010 20555685.383 20555680.036
+ 45.328 35.321 56.000 50.000
+ -7544441.88843 -5867451.76042 23701657.224 23701662.863 23701657.209
+ 2114.460 1647.631 47.000 41.000
+ -3524422.77143 -2712322.13342 24659664.916 24659673.275 24659663.929
+ 2092.566 1630.571 43.000 38.000
+ 04 2 1 14 3 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13868953.52743 -10802554.63542 22708454.098 22708458.463 22708454.369
+ -2336.713 -1820.815 51.000 45.000
+ -22102160.59243 -17202335.38442 20631920.088 20631924.850 20631919.195
+ 2405.556 1874.459 55.000 49.000
+ -8763461.81843 -6825442.71142 23750142.989 23750146.145 23750143.338
+ 2432.090 1895.135 47.000 40.000
+ -27889781.23344 -21692289.02642 20341466.618 20341470.524 20341465.878
+ -608.354 -474.042 57.000 51.000
+ -20401301.16943 -15884802.47642 21413635.786 21413638.989 21413634.612
+ 1713.772 1335.407 56.000 49.000
+ -25008453.51544 -19452017.07342 20555480.225 20555484.042 20555479.263
+ 24.914 19.414 57.000 50.000
+ -7607776.89343 -5916803.66842 23689604.915 23689610.412 23689604.245
+ 2107.713 1642.374 47.000 41.000
+ -3587245.69543 -2761274.93742 24647711.886 24647717.570 24647708.448
+ 2095.806 1633.095 44.000 38.000
+ 04 2 1 14 4 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13798657.79943 -10747778.76742 22721831.593 22721834.933 22721830.437
+ -2349.389 -1830.693 51.000 44.000
+ -22174074.51943 -17258372.18542 20618235.787 20618240.263 20618234.650
+ 2388.978 1861.541 56.000 49.000
+ -8836466.36243 -6882329.33842 23736251.501 23736253.928 23736250.527
+ 2435.271 1897.614 48.000 40.000
+ -27871241.43244 -21677842.44642 20344994.891 20344998.289 20344993.856
+ -627.447 -488.920 57.000 51.000
+ -20452662.30943 -15924824.14942 21403861.996 21403864.879 21403860.606
+ 1710.463 1332.828 56.000 49.000
+ -25008898.41944 -19452363.74942 20555395.612 20555399.768 20555394.645
+ 4.965 3.869 57.000 50.000
+ -7670910.99443 -5965999.04842 23677590.207 23677595.067 23677589.275
+ 2101.504 1637.536 46.000 40.000
+ -3650172.41643 -2810308.63742 24635737.223 24635741.911 24635733.910
+ 2099.899 1636.285 43.000 37.000
+ 04 2 1 14 4 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13727972.93643 -10692699.66942 22735282.580 22735285.118 22735281.211
+ -2362.812 -1841.152 51.000 44.000
+ -22245473.26443 -17314007.55042 20604648.959 20604653.252 20604647.519
+ 2371.204 1847.691 55.000 49.000
+ -8909550.23343 -6939277.80542 23722342.747 23722346.837 23722342.881
+ 2437.265 1899.168 47.000 41.000
+ -27852118.64844 -21662941.59142 20348634.023 20348637.299 20348633.006
+ -647.308 -504.396 57.000 51.000
+ -20503911.84943 -15964758.85742 21394109.024 21394112.969 21394107.812
+ 1706.291 1329.577 56.000 50.000
+ -25008731.76543 -19452233.87742 20555427.048 20555431.229 20555425.971
+ -15.911 -12.398 56.000 50.000
+ -7733845.42243 -6015038.81342 23665613.789 23665620.918 23665613.416
+ 2094.394 1631.995 46.000 41.000
+ -3713201.69043 -2859422.21342 24623741.583 24623749.811 24623739.056
+ 2102.495 1638.308 42.000 37.000
+ 04 2 1 14 5 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13656901.01743 -10637318.97442 22748805.869 22748809.811 22748805.286
+ -2374.956 -1850.615 50.000 44.000
+ -22316353.55343 -17369238.92042 20591161.070 20591165.199 20591159.598
+ 2354.401 1834.598 56.000 49.000
+ -8982712.34243 -6996287.22042 23708421.847 23708424.354 23708420.074
+ 2440.516 1901.701 47.000 41.000
+ -27832412.85744 -21647586.44642 20352383.756 20352387.375 20352382.851
+ -666.183 -519.104 57.000 51.000
+ -20555047.84543 -16004605.08442 21384379.027 21384381.818 21384377.408
+ 1703.021 1327.029 56.000 50.000
+ -25007953.42743 -19451627.36942 20555575.139 20555579.884 20555574.236
+ -35.788 -27.887 56.000 50.000
+ -7796580.00443 -6063922.85542 23653677.693 23653681.861 23653676.604
+ 2088.337 1627.276 47.000 41.000
+ -3776330.52143 -2908613.40842 24611728.532 24611735.094 24611727.431
+ 2106.287 1641.263 44.000 37.000
+ 04 2 1 14 5 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13585445.67743 -10581639.51342 22762403.610 22762407.979 22762402.840
+ -2387.787 -1860.613 50.000 44.000
+ -22386714.01543 -17424065.23042 20577771.650 20577776.169 20577770.371
+ 2337.006 1821.044 55.000 49.000
+ -9055953.45143 -7053358.19242 23694483.122 23694486.065 23694482.726
+ 2442.903 1903.561 47.000 41.000
+ -27812126.08944 -21631778.59342 20356244.164 20356247.688 20356243.439
+ -685.483 -534.142 57.000 51.000
+ -20606070.21843 -16044362.77342 21374669.477 21374672.418 21374667.772
+ 1699.187 1324.042 56.000 50.000
+ -25006564.83743 -19450545.34542 20555839.007 20555843.688 20555838.247
+ -56.199 -43.791 56.000 50.000
+ -7859116.26243 -6112652.35742 23641776.986 23641781.948 23641776.377
+ 2081.758 1622.149 47.000 41.000
+ -3839557.71243 -2957881.22342 24599697.251 24599704.692 24599696.370
+ 2109.409 1643.695 46.000 38.000
+ 04 2 1 14 6 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13513605.10743 -10525659.86442 22776074.985 22776077.824 22776074.132
+ -2400.831 -1870.777 51.000 44.000
+ -22456547.94243 -17478481.25942 20564482.934 20564487.244 20564481.886
+ 2319.209 1807.176 56.000 49.000
+ -9129268.70543 -7110486.92242 23680532.795 23680533.654 23680532.003
+ 2445.266 1905.402 47.000 41.000
+ -27791254.99244 -21615515.42042 20360215.970 20360219.304 20360215.151
+ -705.250 -549.545 57.000 52.000
+ -20656973.15743 -16084027.39442 21364982.672 21364986.104 21364981.352
+ 1694.979 1320.763 56.000 50.000
+ -25004561.88243 -19448984.59042 20556220.858 20556224.943 20556219.938
+ -76.684 -59.754 56.000 50.000
+ -7921450.20243 -6161224.20142 23629913.783 23629919.615 23629914.276
+ 2074.553 1616.535 46.000 40.000
+ -3902876.69243 -3007220.54242 24587648.946 24587655.778 24587648.479
+ 2112.456 1646.070 45.000 37.000
+ 04 2 1 14 6 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13441386.16743 -10469385.40142 22789817.637 22789821.598 22789816.069
+ -2413.639 -1880.758 51.000 44.000
+ -22525856.87943 -17532488.20342 20551293.757 20551298.106 20551292.153
+ 2301.513 1793.387 56.000 50.000
+ -9202661.91143 -7167676.37742 23666565.469 23666569.196 23666564.603
+ 2447.703 1907.301 47.000 41.000
+ -27769804.59444 -21598800.84142 20364297.889 20364301.310 20364296.799
+ -724.680 -564.686 57.000 51.000
+ -20707759.76443 -16123601.37042 21355318.704 21355321.277 21355317.102
+ 1690.828 1317.528 56.000 50.000
+ -25001949.29044 -19446948.79242 20556717.549 20556721.813 20556716.690
+ -97.284 -75.806 57.000 50.000
+ -7983586.62743 -6209642.17042 23618089.602 23618094.758 23618088.518
+ 2068.009 1611.436 46.000 40.000
+ -3966289.29443 -3056632.80942 24575581.067 24575588.182 24575578.786
+ 2115.165 1648.181 43.000 36.000
+ 04 2 1 14 7 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13368787.50543 -10412815.04642 22803632.253 22803636.666 22803631.218
+ -2426.308 -1890.630 50.000 44.000
+ -22594634.64543 -17586081.24242 20538205.336 20538209.879 20538203.992
+ 2283.490 1779.343 55.000 50.000
+ -9276128.76243 -7224923.23542 23652585.082 23652589.517 23652585.141
+ 2449.773 1908.914 47.000 41.000
+ -27747771.81444 -21581632.46042 20368490.167 20368493.966 20368489.469
+ -744.249 -579.934 57.000 51.000
+ -20758424.28143 -16163080.20442 21345677.730 21345680.762 21345676.264
+ 1686.636 1314.262 56.000 50.000
+ -24998723.33244 -19444435.04942 20557332.067 20557335.884 20557330.963
+ -117.935 -91.897 57.000 50.000
+ -8045522.17143 -6257903.58342 23606304.778 23606309.356 23606303.692
+ 2061.287 1606.198 47.000 41.000
+ -4029789.36543 -3106113.28642 24563495.292 24563503.667 24563495.238
+ 2117.742 1650.189 42.000 35.000
+ 04 2 1 14 7 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13295818.17843 -10355955.87042 22817517.678 22817521.747 22817516.978
+ -2439.206 -1900.680 50.000 44.000
+ -22662884.98543 -17639263.30642 20525218.116 20525222.534 20525216.857
+ 2265.637 1765.431 56.000 50.000
+ -9349675.22643 -7282232.14542 23638588.975 23638592.752 23638588.629
+ 2452.158 1910.772 47.000 41.000
+ -27725164.24444 -21564016.18942 20372792.346 20372796.122 20372791.779
+ -763.780 -595.153 57.000 51.000
+ -20808972.01843 -16202468.04642 21336058.552 21336061.701 21336057.181
+ 1682.341 1310.915 56.000 50.000
+ -24994890.90943 -19441448.73442 20558060.555 20558064.950 20558060.044
+ -138.453 -107.885 56.000 50.000
+ -8107263.78243 -6306013.91342 23594555.834 23594561.990 23594554.411
+ 2054.097 1600.595 48.000 42.000
+ -4093381.34743 -3155665.37042 24551397.831 24551400.479 24551393.258
+ 2120.457 1652.304 44.000 36.000
+ 04 2 1 14 8 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13222474.05943 -10298804.62142 22831475.184 22831479.834 22831474.566
+ -2451.400 -1910.182 51.000 44.000
+ -22730598.97443 -17692027.42942 20512332.929 20512337.143 20512331.742
+ 2247.869 1751.586 56.000 50.000
+ -9423294.21143 -7339597.57842 23624581.538 23624584.524 23624580.805
+ 2454.807 1912.837 48.000 41.000
+ -27701976.25844 -21545947.64342 20377205.267 20377208.503 20377204.265
+ -782.846 -610.010 57.000 51.000
+ -20859394.94943 -16241758.63942 21326463.453 21326466.266 21326461.916
+ 1678.479 1307.906 56.000 50.000
+ -24990445.74243 -19437984.95942 20558906.589 20558910.892 20558905.862
+ -158.608 -123.591 56.000 50.000
+ -8168805.14643 -6353968.18242 23582845.087 23582850.668 23582844.453
+ 2047.704 1595.614 48.000 41.000
+ -4157056.24843 -3205282.04842 24539278.511 24539284.824 24539276.416
+ 2123.864 1654.959 45.000 38.000
+ 04 2 1 14 8 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13148758.60143 -10241364.03942 22845501.570 22845506.254 22845501.037
+ -2463.366 -1919.506 50.000 44.000
+ -22797775.08343 -17744372.42542 20499549.371 20499553.871 20499548.122
+ 2230.178 1737.801 56.000 50.000
+ -9496985.90343 -7397019.64942 23610558.074 23610562.095 23610557.458
+ 2457.499 1914.934 48.000 41.000
+ -27678209.53444 -21527428.13642 20381727.806 20381731.622 20381726.862
+ -801.898 -624.855 57.000 51.000
+ -20909692.35643 -16280951.42642 21316892.044 21316895.218 21316890.796
+ 1674.435 1304.755 56.000 50.000
+ -24985389.37543 -19434044.92242 20559868.829 20559873.236 20559867.942
+ -178.814 -139.335 56.000 50.000
+ -8230147.76243 -6401767.57842 23571170.752 23571177.626 23571170.012
+ 2041.365 1590.674 46.000 41.000
+ -4220812.39543 -3254962.04442 24527147.296 24527151.516 24527144.599
+ 2126.479 1656.997 46.000 38.000
+ 04 2 1 14 9 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13074675.33643 -10183636.84442 22859599.730 22859604.016 22859598.918
+ -2475.755 -1929.160 50.000 44.000
+ -22864411.70043 -17796297.04442 20486868.280 20486873.069 20486867.422
+ 2212.066 1723.688 56.000 50.000
+ -9570750.97043 -7454498.89542 23596521.620 23596523.744 23596521.013
+ 2459.841 1916.759 48.000 41.000
+ -27653866.16444 -21508459.29742 20386360.099 20386363.813 20386359.094
+ -821.078 -639.801 57.000 51.000
+ -20959863.95643 -16320046.18042 21307344.805 21307347.681 21307343.187
+ 1670.167 1301.429 56.000 50.000
+ -24979723.20543 -19429629.72042 20560947.610 20560951.430 20560946.076
+ -199.078 -155.126 56.000 50.000
+ -8291293.18743 -6449413.29642 23559535.418 23559542.583 23559535.683
+ 2034.790 1585.551 47.000 41.000
+ -4284648.49843 -3304704.35142 24514999.526 24515004.767 24514998.388
+ 2129.310 1659.203 47.000 39.000
+ 04 2 1 14 9 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -13000221.45143 -10125620.86442 22873768.422 22873772.971 22873767.601
+ -2487.871 -1938.601 50.000 44.000
+ -22930500.93943 -17847795.12442 20474292.196 20474296.723 20474290.859
+ 2193.707 1709.382 56.000 50.000
+ -9644583.27343 -7512030.51342 23582470.898 23582474.254 23582471.158
+ 2462.177 1918.579 48.000 41.000
+ -27628941.47644 -21489037.48342 20391103.272 20391106.632 20391102.122
+ -840.520 -654.951 57.000 51.000
+ -21009902.58143 -16359037.31242 21297822.647 21297825.766 21297821.238
+ 1665.689 1297.939 56.000 50.000
+ -24973442.28443 -19424735.48542 20562142.298 20562147.072 20562141.240
+ -219.688 -171.185 56.000 50.000
+ -8352236.34543 -6496901.42342 23547937.556 23547944.934 23547937.726
+ 2028.183 1580.402 47.000 41.000
+ -4348556.87043 -3354502.96942 24502837.292 24502844.052 24502835.259
+ 2131.421 1660.848 47.000 39.000
+ 04 2 1 14 10 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12925407.67443 -10067324.43142 22888005.198 22888008.727 22888005.520
+ -2500.228 -1948.230 50.000 44.000
+ -22996048.97243 -17898871.48742 20461818.787 20461823.098 20461817.787
+ 2175.358 1695.084 56.000 50.000
+ -9718490.54443 -7569620.58042 23568405.754 23568408.376 23568405.000
+ 2464.368 1920.287 47.000 41.000
+ -27603444.90644 -21469170.04642 20395954.901 20395958.731 20395953.908
+ -859.731 -669.920 57.000 51.000
+ -21059815.17543 -16397930.22942 21288324.847 21288327.814 21288323.560
+ 1661.171 1294.419 56.000 50.000
+ -24966555.21443 -19419368.92142 20563452.947 20563457.356 20563452.032
+ -240.104 -187.094 56.000 50.000
+ -8412986.20543 -6544238.93142 23536378.339 23536384.001 23536378.267
+ 2021.422 1575.134 47.000 41.000
+ -4412543.26743 -3404362.39142 24490660.576 24490666.492 24490658.530
+ 2133.572 1662.524 45.000 39.000
+ 04 2 1 14 10 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12850229.88443 -10008744.38442 22902310.608 22902314.162 22902310.195
+ -2512.060 -1957.449 50.000 44.000
+ -23061046.49543 -17949518.88642 20449450.830 20449454.540 20449449.216
+ 2157.355 1681.056 56.000 50.000
+ -9792465.43543 -7627263.31142 23554329.343 23554334.049 23554329.511
+ 2466.831 1922.206 47.000 41.000
+ -27577370.75244 -21448852.54642 20400916.735 20400920.297 20400915.712
+ -878.749 -684.739 57.000 51.000
+ -21109593.26243 -16436718.33542 21278851.952 21278855.222 21278850.748
+ 1656.989 1291.160 56.000 50.000
+ -24959055.79243 -19413525.20842 20564879.714 20564884.278 20564879.057
+ -260.208 -202.759 56.000 50.000
+ -8473536.36143 -6591420.82742 23524855.325 23524861.464 23524854.270
+ 2014.936 1570.080 47.000 42.000
+ -4476598.34143 -3454275.34042 24478470.538 24478477.229 24478469.635
+ 2136.280 1664.634 45.000 39.000
+ 04 2 1 14 11 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12774695.41243 -9949886.38542 22916685.074 22916689.518 22916684.061
+ -2523.762 -1966.568 50.000 44.000
+ -23125495.75443 -17999739.05942 20437186.178 20437190.975 20437184.801
+ 2138.931 1666.699 56.000 50.000
+ -9866512.05843 -7684961.95542 23540239.452 23540241.751 23540238.420
+ 2469.243 1924.085 48.000 41.000
+ -27550724.77944 -21428089.46942 20405987.157 20405991.046 20405986.293
+ -897.833 -699.610 57.000 51.000
+ -21159240.40443 -16475404.40642 21269404.450 21269407.858 21269403.173
+ 1652.579 1287.724 56.000 50.000
+ -24950949.45844 -19407208.57342 20566422.743 20566426.999 20566421.737
+ -280.543 -218.605 57.000 50.000
+ -8533891.97043 -6638451.13442 23513370.481 23513376.262 23513369.634
+ 2008.301 1564.910 48.000 42.000
+ -4540724.65843 -3504243.80142 24466268.341 24466274.534 24466265.626
+ 2138.593 1666.436 45.000 39.000
+ 04 2 1 14 11 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12698801.47343 -9890748.29242 22931127.107 22931130.955 22931126.561
+ -2535.577 -1975.774 50.000 44.000
+ -23189389.43643 -18049526.32642 20425027.669 20425031.894 20425026.109
+ 2120.476 1652.319 56.000 50.000
+ -9940624.70943 -7742712.02742 23526136.591 23526140.120 23526134.979
+ 2471.328 1925.710 48.000 41.000
+ -27523502.88644 -21406877.62842 20411167.385 20411171.055 20411166.409
+ -916.950 -714.506 57.000 51.000
+ -21208749.83143 -16513983.16542 21259983.051 21259986.334 21259981.813
+ 1648.048 1284.193 56.000 50.000
+ -24942231.46044 -19400415.32442 20568081.730 20568086.213 20568080.710
+ -300.752 -234.352 57.000 50.000
+ -8594048.57143 -6685326.37242 23501923.190 23501928.723 23501922.193
+ 2001.851 1559.884 48.000 42.000
+ -4604914.61843 -3554261.84342 24454054.047 24454058.868 24454052.764
+ 2140.682 1668.064 45.000 39.000
+ 04 2 1 14 12 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12622554.76343 -9831335.30942 22945636.353 22945640.255 22945637.082
+ -2547.511 -1985.073 50.000 43.000
+ -23252728.80443 -18098881.65542 20412974.617 20412978.649 20412973.221
+ 2102.000 1637.922 56.000 50.000
+ -10014806.72843 -7800516.15742 23512019.387 23512022.667 23512018.851
+ 2473.809 1927.643 48.000 42.000
+ -27495710.24444 -21385221.04742 20416456.533 20416459.981 20416455.452
+ -936.090 -729.421 57.000 51.000
+ -21258123.50043 -16552456.14842 21250587.820 21250591.017 21250586.630
+ 1643.444 1280.606 56.000 50.000
+ -24932906.35644 -19393149.00142 20569856.471 20569860.388 20569855.465
+ -321.082 -250.194 57.000 50.000
+ -8654010.32243 -6732049.77742 23490511.997 23490517.913 23490512.199
+ 1995.250 1554.740 48.000 42.000
+ -4669169.57343 -3604330.54742 24441826.380 24441832.858 24441824.234
+ 2142.728 1669.658 46.000 39.000
+ 04 2 1 14 12 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12545956.03143 -9771648.02342 22960213.081 22960216.495 22960212.561
+ -2559.388 -1994.328 50.000 44.000
+ -23315510.09643 -18147802.12242 20401027.940 20401031.943 20401026.575
+ 2083.092 1623.189 56.000 50.000
+ -10089055.53243 -7858372.32642 23497890.071 23497894.532 23497889.947
+ 2475.826 1929.215 49.000 42.000
+ -27467346.03344 -21363119.08742 20421853.908 20421857.504 20421852.792
+ -955.198 -744.310 57.000 51.000
+ -21307358.39443 -16590820.99742 21241218.639 21241221.740 21241217.233
+ 1638.651 1276.871 56.000 50.000
+ -24922973.00444 -19385408.72742 20571746.625 20571750.573 20571745.648
+ -341.407 -266.031 57.000 50.000
+ -8713775.98643 -6778620.38842 23479140.854 23479145.208 23479139.674
+ 1988.909 1549.799 48.000 42.000
+ -4733485.41443 -3654446.68742 24429587.320 24429593.952 24429585.958
+ 2144.797 1671.270 46.000 39.000
+ 04 2 1 14 13 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12469007.53243 -9711688.18242 22974855.712 22974860.153 22974854.861
+ -2570.405 -2002.913 51.000 43.000
+ -23377730.40743 -18196285.45542 20389187.660 20389191.902 20389186.154
+ 2064.931 1609.037 56.000 50.000
+ -10163370.17843 -7916279.82242 23483748.203 23483751.264 23483748.858
+ 2478.506 1931.303 48.000 42.000
+ -27438411.06544 -21340572.37742 20427360.015 20427364.112 20427359.122
+ -973.543 -758.605 57.000 51.000
+ -21356452.24043 -16629075.94142 21231876.224 21231879.313 21231875.047
+ 1634.552 1273.677 56.000 50.000
+ -24912431.65843 -19377194.68442 20573752.195 20573756.329 20573751.199
+ -361.319 -281.547 56.000 50.000
+ -8773345.69843 -6825038.31242 23467804.045 23467809.290 23467802.654
+ 1982.447 1544.764 48.000 41.000
+ -4797859.29043 -3704608.07042 24417336.337 24417342.687 24417334.970
+ 2147.170 1673.119 45.000 39.000
+ 04 2 1 14 13 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12391711.78843 -9651457.75742 22989564.668 22989567.578 22989563.515
+ -2582.225 -2012.123 51.000 44.000
+ -23439387.51743 -18244329.92642 20377454.472 20377458.757 20377453.142
+ 2045.758 1594.097 56.000 50.000
+ -10237749.92043 -7974238.02542 23469595.244 23469598.906 23469594.311
+ 2480.522 1932.874 48.000 42.000
+ -27408906.51344 -21317581.84142 20432974.307 20432978.203 20432973.395
+ -992.929 -773.711 57.000 51.000
+ -21405403.89443 -16667220.06542 21222560.631 21222564.079 21222559.689
+ 1629.315 1269.596 56.000 50.000
+ -24901283.06143 -19368507.45942 20575873.701 20575877.919 20575872.735
+ -381.745 -297.464 56.000 50.000
+ -8832720.01443 -6871303.99342 23456505.750 23456510.864 23456504.404
+ 1976.116 1539.831 48.000 42.000
+ -4862288.89743 -3754812.83342 24405076.264 24405083.148 24405074.743
+ 2148.734 1674.338 45.000 39.000
+ 04 2 1 14 14 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12314071.28843 -9590958.71542 23004339.606 23004341.322 23004338.124
+ -2593.678 -2021.048 51.000 44.000
+ -23500479.17443 -18291933.79442 20365829.229 20365832.970 20365827.975
+ 2026.937 1579.431 56.000 50.000
+ -10312194.13643 -8032246.49442 23455427.477 23455431.907 23455426.818
+ 2482.565 1934.466 48.000 42.000
+ -27378833.49044 -21294148.33842 20438697.027 20438700.965 20438696.089
+ -1011.950 -788.532 57.000 51.000
+ -21454211.80843 -16705252.18942 21213273.039 21213276.516 21213271.849
+ 1624.566 1265.896 56.000 50.000
+ -24889527.74644 -19359347.47142 20578110.703 20578115.189 20578109.776
+ -401.955 -313.212 57.000 50.000
+ -8891899.33143 -6917417.72642 23445243.229 23445248.609 23445243.119
+ 1969.424 1534.616 48.000 42.000
+ -4926771.79943 -3805059.16942 24392805.643 24392812.721 24392804.062
+ 2150.317 1675.572 45.000 39.000
+ 04 2 1 14 14 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12236088.04643 -9530192.58342 23019179.381 23019182.578 23019178.535
+ -2604.648 -2029.596 51.000 44.000
+ -23561002.11243 -18339094.50542 20354311.756 20354315.988 20354310.713
+ 2008.311 1564.918 56.000 50.000
+ -10386701.21443 -8090303.95542 23441250.703 23441255.202 23441250.459
+ 2485.067 1936.416 48.000 42.000
+ -27348192.34044 -21270272.13542 20444527.906 20444531.838 20444527.237
+ -1030.422 -802.926 57.000 51.000
+ -21502873.17443 -16743170.11442 21204013.572 21204016.618 21204012.144
+ 1619.905 1262.264 56.000 50.000
+ -24877165.27343 -19349714.37342 20580463.346 20580467.480 20580462.260
+ -421.805 -328.679 56.000 50.000
+ -8950883.29243 -6963379.20642 23434020.135 23434024.344 23434018.762
+ 1963.297 1529.842 48.000 42.000
+ -4991304.50643 -3855344.31242 24380525.064 24380530.670 24380523.991
+ 2152.144 1676.995 46.000 39.000
+ 04 2 1 14 15 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12157762.78843 -9469159.95642 23034084.133 23034086.116 23034083.056
+ -2616.242 -2038.630 51.000 44.000
+ -23620952.60743 -18385809.15142 20342903.738 20342907.600 20342902.240
+ 1989.053 1549.911 56.000 50.000
+ -10461268.77243 -8148408.53542 23427060.066 23427063.059 23427061.295
+ 2486.896 1937.841 48.000 42.000
+ -27316982.84544 -21245953.06242 20450467.059 20450470.686 20450466.047
+ -1049.522 -817.809 57.000 51.000
+ -21551384.98943 -16780971.52142 21194781.419 21194784.812 21194780.162
+ 1614.826 1258.306 56.000 50.000
+ -24864195.17344 -19339607.79942 20582931.379 20582935.557 20582930.734
+ -442.281 -344.634 57.000 50.000
+ -9009670.76343 -7009187.59242 23422832.115 23422837.172 23422830.909
+ 1956.257 1524.356 47.000 41.000
+ -5055882.67343 -3905664.86842 24368236.874 24368241.305 24368234.957
+ 2153.651 1678.170 46.000 39.000
+ 04 2 1 14 15 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12079103.36043 -9407866.94342 23049051.801 23049056.329 23049051.497
+ -2627.477 -2047.385 51.000 43.000
+ -23680333.72943 -18432080.13342 20331603.789 20331608.094 20331602.449
+ 1969.744 1534.865 56.000 50.000
+ -10535901.28643 -8206563.71342 23412859.958 23412861.137 23412858.148
+ 2488.956 1939.446 49.000 42.000
+ -27285211.30244 -21221196.03342 20456512.972 20456516.795 20456512.002
+ -1068.392 -832.513 57.000 51.000
+ -21599750.38343 -16818658.83642 21185578.015 21185581.130 21185576.960
+ 1609.729 1254.334 56.000 50.000
+ -24850623.37243 -19329032.37042 20585514.001 20585518.350 20585513.204
+ -462.430 -360.335 56.000 50.000
+ -9068267.45843 -7054847.33942 23411682.102 23411686.929 23411680.970
+ 1950.035 1519.508 47.000 42.000
+ -5120509.01743 -3956022.97442 24355939.563 24355944.990 24355936.584
+ 2155.033 1679.246 47.000 40.000
+ 04 2 1 14 16 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -12000105.90443 -9346310.51642 23064085.035 23064088.845 23064084.353
+ -2638.842 -2056.240 50.000 43.000
+ -23739136.54943 -18477900.48642 20320413.795 20320418.256 20320412.366
+ 1950.419 1519.807 56.000 50.000
+ -10610591.56243 -8264763.90942 23398646.333 23398649.343 23398646.317
+ 2490.587 1940.717 49.000 42.000
+ -27252872.59744 -21195997.06542 20462666.893 20462670.686 20462665.707
+ -1087.265 -847.219 57.000 51.000
+ -21647961.38444 -16856225.84842 21176404.061 21176407.266 21176402.716
+ 1604.562 1250.308 57.000 50.000
+ -24836443.99043 -19317983.49542 20588212.295 20588216.529 20588211.206
+ -482.638 -376.081 56.000 50.000
+ -9126667.53743 -7100353.85542 23400569.921 23400573.567 23400567.702
+ 1943.821 1514.666 47.000 42.000
+ -5185174.92643 -4006411.88642 24343634.047 24343638.601 24343632.951
+ 2156.203 1680.158 48.000 40.000
+ 04 2 1 14 16 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -11920777.66043 -9284496.33342 23079180.638 23079184.222 23079179.457
+ -2650.038 -2064.965 50.000 43.000
+ -23797363.59843 -18523272.18942 20309333.797 20309337.739 20309332.370
+ 1931.137 1504.782 56.000 50.000
+ -10685343.24343 -8323011.94642 23384420.019 23384424.785 23384420.398
+ 2492.922 1942.537 48.000 42.000
+ -27219972.45244 -21170360.60742 20468927.786 20468931.035 20468926.496
+ -1106.149 -861.934 57.000 51.000
+ -21696021.25944 -16893675.09842 21167258.692 21167261.615 21167257.408
+ 1599.311 1246.216 57.000 50.000
+ -24821662.35743 -19306465.33642 20591025.097 20591029.065 20591024.238
+ -502.905 -391.874 56.000 50.000
+ -9184875.75843 -7145710.87742 23389491.453 23389497.084 23389490.135
+ 1936.681 1509.102 48.000 42.000
+ -5249882.24443 -4056833.06442 24331320.792 24331325.285 24331316.824
+ 2157.328 1681.035 45.000 39.000
+ 04 2 1 14 17 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -11841117.58243 -9222423.58142 23094339.658 23094341.994 23094338.342
+ -2660.416 -2073.051 50.000 43.000
+ -23855009.09443 -18568190.73442 20298363.981 20298368.297 20298362.864
+ 1912.185 1490.014 56.000 50.000
+ -10760152.19943 -8381304.58642 23370183.996 23370188.906 23370182.835
+ 2494.893 1944.072 47.000 41.000
+ -27186508.89344 -21144285.12442 20475295.355 20475299.380 20475294.489
+ -1124.409 -876.163 57.000 51.000
+ -21743924.83744 -16931002.55542 21158142.814 21158145.924 21158141.372
+ 1594.501 1242.468 57.000 50.000
+ -24806275.86044 -19294475.85742 20593953.340 20593957.396 20593952.109
+ -522.616 -407.233 57.000 50.000
+ -9242889.39343 -7190916.25142 23378453.406 23378457.724 23378451.830
+ 1930.726 1504.462 47.000 42.000
+ -5314624.84043 -4107281.73042 24318999.499 24319004.807 24318997.655
+ 2159.183 1682.480 45.000 39.000
+ 04 2 1 14 17 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -11761129.33143 -9160095.09942 23109558.761 23109564.611 23109559.832
+ -2671.707 -2081.850 48.000 42.000
+ -23912072.18743 -18612655.45742 20287505.194 20287509.715 20287503.910
+ 1892.460 1474.644 56.000 50.000
+ -10835018.64143 -8439642.01842 23355937.628 23355941.408 23355937.661
+ 2496.591 1945.396 48.000 42.000
+ -27152484.19644 -21117772.39042 20481770.069 20481773.936 20481769.264
+ -1143.393 -890.955 57.000 51.000
+ -21791671.40944 -16968207.66942 21149056.528 21149059.692 21149055.405
+ 1589.036 1238.210 57.000 50.000
+ -24790286.35843 -19282016.50142 20596995.450 20596999.486 20596994.567
+ -542.884 -423.026 56.000 50.000
+ -9300709.92143 -7235971.18542 23367450.126 23367454.446 23367448.586
+ 1924.299 1499.454 47.000 42.000
+ -5379401.14843 -4157756.68842 24306672.806 24306676.514 24306672.512
+ 2159.721 1682.899 46.000 39.000
+ 04 2 1 14 18 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -11680814.07343 -9097511.83442 23124842.575 23124848.023 23124843.497
+ -2682.405 -2090.186 48.000 42.000
+ -23968549.07043 -18656663.39142 20276758.321 20276762.535 20276756.984
+ 1872.876 1459.384 56.000 50.000
+ -10909940.20143 -8498022.43142 23341681.407 23341684.617 23341680.057
+ 2498.323 1946.745 48.000 42.000
+ -27117898.35044 -21090822.39442 20488351.409 20488355.447 20488350.655
+ -1162.160 -905.579 57.000 51.000
+ -21839257.73244 -17005287.92042 21140001.565 21140004.871 21140000.148
+ 1583.712 1234.061 57.000 50.000
+ -24773693.48443 -19269086.98742 20600153.073 20600157.246 20600152.571
+ -563.062 -438.750 56.000 50.000
+ -9358336.45543 -7280874.94042 23356482.475 23356490.192 23356481.719
+ 1917.822 1494.407 46.000 41.000
+ -5444207.37543 -4208254.98842 24294339.339 24294346.941 24294338.025
+ 2160.780 1683.725 45.000 40.000
+ 04 2 1 14 18 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -11600175.04643 -9034676.27042 23140188.536 23140192.568 23140187.313
+ -2692.552 -2098.092 49.000 42.000
+ -24024438.41943 -18700213.50842 20266122.575 20266126.906 20266121.307
+ 1853.932 1444.622 56.000 50.000
+ -10984916.75243 -8556445.68642 23327412.894 23327417.143 23327413.351
+ 2500.983 1948.818 48.000 41.000
+ -27082753.22544 -21063436.59942 20495039.414 20495043.432 20495038.590
+ -1179.986 -919.470 57.000 51.000
+ -21886682.64144 -17042242.39542 21130977.081 21130980.070 21130975.797
+ 1578.995 1230.386 57.000 50.000
+ -24756498.58443 -19255688.36442 20603425.401 20603429.630 20603424.259
+ -582.462 -453.866 56.000 50.000
+ -9415770.04843 -7325628.35442 23345553.693 23345559.497 23345552.281
+ 1912.123 1489.966 47.000 41.000
+ -5509041.29543 -4258774.85542 24282002.569 24282008.531 24282000.915
+ 2162.326 1684.929 45.000 40.000
+ 04 2 1 14 19 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -11519219.31543 -8971593.91042 23155593.688 23155597.548 23155593.901
+ -2703.943 -2106.968 49.000 42.000
+ -24079742.72943 -18743307.74942 20255598.525 20255602.738 20255597.182
+ 1833.329 1428.568 56.000 50.000
+ -11059952.06043 -8614914.75242 23313134.242 23313138.807 23313134.286
+ 2501.810 1949.462 48.000 42.000
+ -27047054.80544 -21035619.66542 20501832.572 20501836.565 20501831.764
+ -1199.447 -934.634 57.000 51.000
+ -21933949.24944 -17079073.50942 21121982.123 21121985.648 21121981.053
+ 1572.608 1225.409 57.000 50.000
+ -24738707.33243 -19241825.05242 20606810.749 20606815.171 20606809.731
+ -603.273 -470.083 56.000 50.000
+ -9473016.01343 -7370235.54642 23334661.495 23334665.959 23334660.492
+ 1904.693 1484.176 48.000 42.000
+ -5573904.90543 -4309317.82842 24269660.045 24269666.414 24269658.689
+ 2162.081 1684.738 46.000 40.000
+ 04 2 1 14 19 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -11437943.71043 -8908262.30642 23171061.250 23171065.168 23171060.176
+ -2714.534 -2115.221 49.000 42.000
+ -24134454.09043 -18785939.95842 20245187.598 20245191.365 20245186.265
+ 1813.594 1413.190 56.000 50.000
+ -11135039.43443 -8673424.36342 23298845.588 23298849.143 23298846.017
+ 2503.416 1950.714 48.000 42.000
+ -27010798.85944 -21007368.30242 20508732.132 20508735.842 20508731.149
+ -1217.883 -949.000 57.000 51.000
+ -21981050.07844 -17115775.44842 21113019.129 21113022.519 21113018.299
+ 1567.131 1221.141 57.000 50.000
+ -24720314.54143 -19227493.00342 20610310.952 20610315.265 20610310.076
+ -623.205 -485.614 56.000 50.000
+ -9530068.77743 -7414692.21842 23323803.889 23323808.872 23323803.478
+ 1898.514 1479.362 48.000 42.000
+ -5638789.87443 -4359877.48142 24257312.865 24257318.280 24257311.175
+ 2163.186 1685.599 45.000 40.000
+ 04 2 1 14 20 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -11356352.42643 -8844684.70242 23186587.364 23186590.582 23186585.953
+ -2724.277 -2122.813 49.000 43.000
+ -24188571.83043 -18828109.60642 20234888.692 20234893.172 20234887.547
+ 1794.647 1398.426 56.000 50.000
+ -11210179.48143 -8731975.02742 23284546.976 23284550.348 23284546.497
+ 2506.276 1952.942 48.000 42.000
+ -26973988.16444 -20978684.66342 20515736.917 20515740.144 20515735.952
+ -1235.569 -962.781 57.000 51.000
+ -22027984.52044 -17152347.73942 21104088.297 21104091.011 21104086.913
+ 1562.305 1217.381 57.000 50.000
+ -24701322.43943 -19212693.96442 20613925.001 20613929.306 20613923.712
+ -642.373 -500.550 56.000 50.000
+ -9586930.34643 -7458999.89142 23312982.976 23312988.223 23312982.506
+ 1892.889 1474.978 47.000 42.000
+ -5703695.06343 -4410452.88342 24244962.472 24244966.393 24244960.436
+ 2164.679 1686.763 46.000 39.000
+ 04 2 1 14 20 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -11274447.34243 -8780862.59642 23202172.933 23202175.853 23202171.586
+ -2734.866 -2131.064 48.000 42.000
+ -24242093.32343 -18869814.64442 20224704.091 20224708.574 20224702.903
+ 1774.643 1382.839 56.000 50.000
+ -11285370.71543 -8790565.58642 23270239.218 23270241.916 23270237.858
+ 2507.806 1954.134 49.000 42.000
+ -26936623.49744 -20949569.35642 20522847.445 20522851.000 20522846.226
+ -1254.137 -977.250 57.000 51.000
+ -22074750.31944 -17188788.61242 21095188.857 21095191.782 21095187.726
+ 1556.651 1212.975 57.000 50.000
+ -24681731.82943 -19197428.54442 20617653.336 20617656.908 20617652.295
+ -662.417 -516.169 56.000 50.000
+ -9643600.77743 -7503158.60942 23302199.328 23302204.552 23302198.690
+ 1886.313 1469.854 48.000 42.000
+ -5768617.27243 -4461041.53642 24232606.042 24232613.552 24232605.691
+ 2165.037 1687.042 45.000 39.000
+ 04 2 1 14 21 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -11192233.45443 -8716799.87642 23217818.164 23217822.171 23217818.123
+ -2745.536 -2139.379 48.000 42.000
+ -24295019.10643 -18911055.49242 20214633.083 20214636.946 20214631.406
+ 1754.356 1367.031 56.000 50.000
+ -11360614.46843 -8849197.08942 23255920.675 23255923.925 23255919.752
+ 2509.110 1955.151 49.000 42.000
+ -26898709.01144 -20920025.62142 20530062.089 20530066.049 20530061.105
+ -1272.881 -991.855 57.000 51.000
+ -22121348.23444 -17225098.66942 21086321.618 21086324.501 21086320.290
+ 1550.531 1208.206 57.000 50.000
+ -24661546.01243 -19181699.33542 20621493.849 20621498.478 20621493.067
+ -682.719 -531.989 56.000 50.000
+ -9700082.95143 -7547170.65942 23291450.750 23291455.537 23291449.650
+ 1879.589 1464.615 48.000 42.000
+ -5833556.20243 -4511643.21242 24220250.170 24220256.059 24220247.056
+ 2164.994 1687.008 46.000 39.000
+ 04 2 1 14 21 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -11109710.38843 -8652496.24842 23233521.694 23233525.883 23233520.954
+ -2755.962 -2147.503 48.000 43.000
+ -24347343.90343 -18951828.04042 20204675.841 20204680.103 20204674.334
+ 1733.905 1351.095 56.000 50.000
+ -11435906.90243 -8907866.50942 23241592.677 23241598.542 23241592.404
+ 2510.409 1956.163 49.000 42.000
+ -26860243.02344 -20890052.14342 20537381.884 20537385.835 20537380.958
+ -1291.419 -1006.300 57.000 51.000
+ -22167773.36444 -17261274.09442 21077487.028 21077490.277 21077485.638
+ 1544.478 1203.489 57.000 50.000
+ -24640762.75343 -19165504.58542 20625449.054 20625453.475 20625448.169
+ -702.816 -547.649 56.000 50.000
+ -9756374.23343 -7591033.94242 23280740.077 23280744.413 23280739.779
+ 1873.253 1459.678 49.000 42.000
+ -5898506.18243 -4562253.52142 24207890.743 24207896.293 24207888.390
+ 2165.191 1687.162 46.000 39.000
+ 04 2 1 14 22 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -11026881.45343 -8587954.27442 23249282.607 23249287.517 23249281.933
+ -2766.560 -2155.761 48.000 42.000
+ -24399066.74743 -18992131.53342 20194833.172 20194837.482 20194831.981
+ 1713.283 1335.026 56.000 51.000
+ -11511247.86443 -8966573.75142 23227256.493 23227258.884 23227256.322
+ 2511.492 1957.007 50.000 42.000
+ -26821227.81444 -20859650.69442 20544806.143 20544810.364 20544805.168
+ -1310.336 -1021.041 57.000 51.000
+ -22214024.93244 -17297314.26942 21068685.821 21068688.843 21068684.448
+ 1538.119 1198.534 57.000 50.000
+ -24619384.10743 -19148845.89942 20629517.298 20629521.763 20629516.510
+ -723.245 -563.567 56.000 50.000
+ -9812476.23043 -7634749.73742 23270064.679 23270068.821 23270062.881
+ 1866.297 1454.257 49.000 42.000
+ -5963465.52743 -4612871.12242 24195528.445 24195534.729 24195527.713
+ 2164.685 1686.768 47.000 39.000
+ 04 2 1 14 22 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -10943748.00043 -8523175.01642 23265102.585 23265107.040 23265102.344
+ -2776.654 -2163.626 48.000 42.000
+ -24450184.48143 -19031963.51642 20185105.638 20185110.050 20185104.358
+ 1693.325 1319.474 56.000 51.000
+ -11586634.89743 -9025316.88242 23212909.936 23212912.782 23212909.533
+ 2513.018 1958.196 49.000 42.000
+ -26781663.57244 -20828821.43242 20552334.931 20552339.238 20552334.185
+ -1328.369 -1035.093 57.000 51.000
+ -22260099.60644 -17333216.59542 21059918.265 21059921.323 21059916.777
+ 1532.428 1194.100 57.000 50.000
+ -24597409.64743 -19131722.94342 20633699.440 20633703.098 20633697.962
+ -742.831 -578.829 56.000 50.000
+ -9868387.86243 -7678317.20342 23259423.751 23259428.107 23259422.345
+ 1859.988 1449.341 48.000 42.000
+ -6028429.78143 -4663492.53642 24183166.858 24183170.530 24183163.817
+ 2165.139 1687.121 47.000 39.000
+ 04 2 1 14 23 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -10860314.68043 -8458162.10642 23280979.172 23280983.752 23280979.257
+ -2785.713 -2170.685 48.000 42.000
+ -24500697.10943 -19071323.98542 20175493.904 20175497.565 20175492.351
+ 1673.730 1304.205 56.000 51.000
+ -11662069.28843 -9084096.93842 23198554.288 23198559.137 23198554.241
+ 2515.404 1960.055 49.000 42.000
+ -26741554.00744 -20797567.24842 20559967.902 20559971.451 20559966.818
+ -1345.919 -1048.768 57.000 51.000
+ -22305997.88944 -17368981.48242 21051183.974 21051186.982 21051182.569
+ 1527.125 1189.968 57.000 50.000
+ -24574842.57143 -19114138.20842 20637993.633 20637997.945 20637992.569
+ -761.934 -593.715 56.000 50.000
+ -9924111.93243 -7721738.50742 23248819.704 23248825.030 23248818.296
+ 1854.277 1444.891 48.000 42.000
+ -6093398.77043 -4714117.65042 24170802.542 24170810.104 24170801.975
+ 2165.911 1687.723 46.000 39.000
+ 04 2 1 14 23 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -10776581.62743 -8392915.60042 23296913.506 23296918.144 23296911.930
+ -2795.851 -2178.585 49.000 43.000
+ -24550600.34743 -19110209.59542 20165997.406 20166001.184 20165995.814
+ 1653.427 1288.385 56.000 51.000
+ -11737547.60443 -9142911.20642 23184192.322 23184195.761 23184191.235
+ 2516.817 1961.156 49.000 42.000
+ -26700898.36144 -20765887.53942 20567704.563 20567708.259 20567703.545
+ -1364.133 -1062.961 57.000 51.000
+ -22351715.74344 -17404605.78642 21042484.283 21042487.404 21042482.849
+ 1521.107 1185.278 57.000 50.000
+ -24551681.90143 -19096090.93442 20642401.079 20642405.156 20642400.058
+ -781.706 -609.121 56.000 50.000
+ -9979646.61043 -7765012.22042 23238252.670 23238257.073 23238251.505
+ 1848.259 1440.202 48.000 43.000
+ -6158367.35243 -4764742.41842 24158437.933 24158445.175 24158438.623
+ 2165.604 1687.484 45.000 39.000
+ 04 2 1 14 24 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -10692554.25343 -8327439.76042 23312904.152 23312908.208 23312904.147
+ -2806.704 -2187.042 49.000 42.000
+ -24599895.15043 -19148621.10542 20156616.529 20156620.950 20156615.384
+ 1632.274 1271.902 56.000 51.000
+ -11813071.72843 -9201761.16542 23169820.043 23169824.109 23169820.917
+ 2517.585 1961.755 48.000 42.000
+ -26659700.81744 -20733785.57542 20575544.218 20575547.772 20575543.034
+ -1382.745 -1077.464 57.000 51.000
+ -22397253.58144 -17440089.81142 21033818.264 21033821.553 21033816.986
+ 1514.393 1180.046 57.000 50.000
+ -24527931.25943 -19077583.93842 20646920.059 20646924.237 20646919.169
+ -801.994 -624.930 56.000 50.000
+ -10034995.03143 -7808140.80442 23227719.912 23227723.511 23227718.686
+ 1841.274 1434.759 48.000 42.000
+ -6223335.32743 -4815366.70542 24146077.280 24146082.475 24146076.315
+ 2164.932 1686.960 47.000 39.000
+ 04 2 1 14 24 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -10608232.41843 -8261734.47742 23328949.719 23328953.179 23328949.744
+ -2815.456 -2193.862 48.000 43.000
+ -24648576.73943 -19186554.79342 20147352.933 20147357.386 20147351.651
+ 1612.390 1256.408 56.000 51.000
+ -11888637.67143 -9260643.72042 23155440.630 23155444.570 23155440.659
+ 2519.590 1963.317 49.000 42.000
+ -26617960.37744 -20701260.57342 20583487.100 20583490.557 20583486.350
+ -1400.404 -1091.224 57.000 51.000
+ -22442607.11844 -17475430.22942 21025188.138 21025191.012 21025186.413
+ 1508.552 1175.495 57.000 50.000
+ -24503589.01643 -19058615.95942 20651552.305 20651556.530 20651551.552
+ -821.337 -640.003 56.000 50.000
+ -10090154.83343 -7851122.40742 23217223.901 23217225.921 23217222.472
+ 1835.489 1430.251 49.000 42.000
+ -6288297.36043 -4865986.37042 24133714.673 24133720.494 24133711.628
+ 2165.180 1687.153 46.000 39.000
+ 04 2 1 14 25 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -10523621.23443 -8195803.74842 23345051.128 23345054.996 23345050.473
+ -2824.630 -2201.010 48.000 42.000
+ -24696646.20943 -19224011.50442 20138205.744 20138209.712 20138204.629
+ 1592.376 1240.812 56.000 51.000
+ -11964247.16343 -9319560.18942 23141052.519 23141055.964 23141052.569
+ 2521.281 1964.634 49.000 42.000
+ -26575681.30544 -20668315.86342 20591532.473 20591536.136 20591531.137
+ -1417.881 -1104.842 57.000 51.000
+ -22487777.25644 -17510627.74342 21016592.780 21016595.557 21016591.135
+ 1502.920 1171.106 57.000 50.000
+ -24478659.17643 -19039190.11242 20656296.350 20656300.720 20656295.450
+ -840.470 -654.912 56.000 50.000
+ -10145129.35343 -7893959.63742 23206762.179 23206766.680 23206761.413
+ 1829.823 1425.836 49.000 42.000
+ -6353253.20243 -4916601.18342 24121353.305 24121358.545 24121352.748
+ 2164.427 1686.566 45.000 39.000
+ 04 2 1 14 25 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -10438720.36443 -8129647.27942 23361207.383 23361211.196 23361206.662
+ -2835.086 -2209.158 49.000 43.000
+ -24744098.56943 -19260987.35042 20129175.852 20129179.979 20129174.678
+ 1571.183 1224.298 56.000 51.000
+ -12039896.08943 -9378507.38842 23126658.149 23126660.668 23126656.576
+ 2521.906 1965.122 49.000 43.000
+ -26532862.24344 -20634950.38342 20599680.260 20599684.491 20599679.560
+ -1436.675 -1119.487 57.000 51.000
+ -22532759.00544 -17545678.44642 21008032.452 21008035.786 21008031.169
+ 1495.992 1165.708 57.000 50.000
+ -24453139.72943 -19019304.83042 20661152.469 20661156.820 20661151.480
+ -860.718 -670.689 56.000 50.000
+ -10199916.16543 -7936650.59642 23196336.588 23196339.113 23196335.612
+ 1822.891 1420.435 49.000 42.000
+ -6418197.12643 -4967206.73042 24108994.596 24109000.554 24108993.153
+ 2164.641 1686.733 45.000 39.000
+ 04 2 1 14 26 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -10353535.68543 -8063269.64942 23377417.414 23377420.511 23377417.727
+ -2844.261 -2216.307 49.000 43.000
+ -24790935.38043 -19297483.54542 20120263.031 20120267.329 20120261.678
+ 1550.345 1208.061 56.000 51.000
+ -12115586.79943 -9437487.17042 23112254.327 23112257.285 23112252.923
+ 2523.364 1966.258 49.000 43.000
+ -26489508.15244 -20601167.99942 20607930.696 20607934.491 20607929.852
+ -1454.136 -1133.093 57.000 51.000
+ -22577553.91944 -17580583.57342 20999508.153 20999511.553 20999506.850
+ 1489.620 1160.743 57.000 50.000
+ -24427035.16243 -18998963.61842 20666120.445 20666124.419 20666119.670
+ -880.282 -685.934 56.000 50.000
+ -10254519.08743 -7979198.27442 23185946.558 23185950.521 23185945.023
+ 1816.874 1415.746 49.000 42.000
+ -6483129.99243 -5017803.66242 24096640.212 24096644.860 24096638.541
+ 2163.701 1686.001 45.000 39.000
+ 04 2 1 14 26 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -10268065.64843 -7996669.68842 23393681.918 23393686.212 23393682.406
+ -2854.054 -2223.938 49.000 42.000
+ -24837150.74844 -19333495.50642 20111468.847 20111472.589 20111467.026
+ 1529.657 1191.941 57.000 51.000
+ -12191313.93343 -9496495.29742 23097844.119 23097847.802 23097842.978
+ 2523.816 1966.610 49.000 43.000
+ -26445616.45744 -20566966.69742 20616283.183 20616286.740 20616282.041
+ -1472.305 -1147.251 57.000 51.000
+ -22622155.82144 -17615338.30342 20991021.121 20991023.997 20991019.500
+ 1483.104 1155.665 57.000 50.000
+ -24400342.30043 -18978163.98742 20671199.555 20671204.155 20671198.873
+ -899.899 -701.220 56.000 50.000
+ -10308934.38643 -8021599.75442 23175590.947 23175595.674 23175589.502
+ 1810.447 1410.738 49.000 42.000
+ -6548044.78543 -5068386.54442 24084286.510 24084292.086 24084285.837
+ 2163.168 1685.585 45.000 39.000
+ 04 2 1 14 27 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -10182315.52043 -7929851.43842 23409999.065 23410004.374 23409999.563
+ -2863.534 -2231.325 49.000 42.000
+ -24882745.84443 -19369024.13642 20102791.777 20102796.154 20102790.407
+ 1509.294 1176.073 56.000 51.000
+ -12267079.21643 -9555533.16542 23083426.331 23083429.599 23083425.518
+ 2525.771 1968.133 51.000 43.000
+ -26401191.80044 -20532350.09842 20624736.925 20624740.465 20624735.642
+ -1489.832 -1160.908 57.000 51.000
+ -22666566.09844 -17649943.72042 20982570.061 20982572.774 20982569.059
+ 1476.986 1150.898 57.000 50.000
+ -24373065.61743 -18956909.43842 20676390.692 20676394.107 20676389.754
+ -919.044 -716.138 56.000 50.000
+ -10363165.57343 -8063857.77142 23165271.363 23165274.184 23165269.798
+ 1804.529 1406.126 49.000 42.000
+ -6612941.54443 -5118955.32942 24071934.544 24071941.464 24071934.270
+ 2162.765 1685.271 44.000 39.000
+ 04 2 1 14 27 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -10096286.89843 -7862816.19342 23426370.515 23426374.579 23426369.915
+ -2872.537 -2238.340 49.000 42.000
+ -24927717.46343 -19404066.93142 20094234.146 20094238.263 20094233.152
+ 1488.205 1159.640 56.000 51.000
+ -12342880.25943 -9614598.89542 23069002.603 23069004.848 23069001.010
+ 2527.179 1969.230 50.000 43.000
+ -26356234.55143 -20497318.49342 20633291.426 20633295.455 20633290.733
+ -1507.512 -1174.685 56.000 51.000
+ -22710781.25044 -17684397.08142 20974156.239 20974159.110 20974154.699
+ 1470.228 1145.632 57.000 50.000
+ -24345204.83143 -18935199.73442 20681691.875 20681696.340 20681690.984
+ -938.649 -731.415 56.000 50.000
+ -10417211.74943 -8105971.62442 23154986.044 23154988.900 23154985.315
+ 1798.175 1401.175 48.000 42.000
+ -6677816.28643 -5169506.97842 24059591.427 24059597.208 24059588.811
+ 2161.745 1684.477 45.000 39.000
+ 04 2 1 14 28 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -10009982.83943 -7795566.34242 23442793.472 23442798.712 23442792.947
+ -2882.042 -2245.747 49.000 42.000
+ -24972064.73643 -19438623.23342 20085795.443 20085799.424 20085793.972
+ 1467.193 1143.267 56.000 51.000
+ -12418716.56743 -9673692.09342 23054570.502 23054574.477 23054570.422
+ 2527.905 1969.796 50.000 43.000
+ -26310747.19344 -20461873.81842 20641947.685 20641951.826 20641946.919
+ -1525.747 -1188.894 57.000 51.000
+ -22754800.10844 -17718697.50242 20965779.239 20965782.358 20965778.340
+ 1463.402 1140.313 57.000 50.000
+ -24316761.93343 -18913036.43542 20687104.672 20687108.429 20687103.344
+ -958.389 -746.797 56.000 49.000
+ -10471074.16043 -8147942.30042 23144737.197 23144740.444 23144735.695
+ 1791.695 1396.126 49.000 43.000
+ -6742666.84443 -5220039.81842 24047250.637 24047255.000 24047249.398
+ 2160.507 1683.512 45.000 39.000
+ 04 2 1 14 28 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -9923405.63043 -7728103.62942 23459268.063 23459273.776 23459268.132
+ -2890.693 -2252.488 49.000 42.000
+ -25015785.65143 -19472691.45942 20077475.397 20077479.357 20077473.839
+ 1446.680 1127.283 56.000 51.000
+ -12494586.97043 -9732811.88342 23040132.872 23040136.451 23040131.780
+ 2529.358 1970.928 50.000 43.000
+ -26264731.33444 -20426017.32442 20650704.340 20650708.288 20650703.252
+ -1542.916 -1202.272 57.000 51.000
+ -22798620.85644 -17752843.54342 20957440.116 20957443.890 20957439.074
+ 1457.111 1135.411 57.000 50.000
+ -24287738.33843 -18890420.64142 20692627.242 20692631.398 20692626.318
+ -977.367 -761.585 56.000 49.000
+ -10524753.27443 -8189770.14342 23134520.776 23134525.630 23134520.006
+ 1785.852 1391.573 48.000 42.000
+ -6807490.51343 -5270551.66742 24034914.946 24034919.443 24034914.615
+ 2160.225 1683.292 46.000 40.000
+ 04 2 1 14 29 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -9836557.83143 -7660430.05442 23475796.101 23475798.056 23475794.563
+ -2899.207 -2259.122 49.000 42.000
+ -25058878.76944 -19506270.49442 20069275.277 20069279.062 20069273.949
+ 1425.983 1111.156 57.000 51.000
+ -12570490.04143 -9791957.12942 23025688.580 23025692.915 23025688.223
+ 2530.906 1972.134 50.000 43.000
+ -26218188.52344 -20389750.22342 20659561.256 20659565.005 20659560.420
+ -1559.912 -1215.516 57.000 51.000
+ -22842241.01744 -17786833.28542 20949140.162 20949143.124 20949138.961
+ 1450.837 1130.522 57.000 50.000
+ -24258135.13643 -18867353.21042 20698260.987 20698265.113 20698259.879
+ -996.252 -776.300 56.000 50.000
+ -10578249.25643 -8231455.28042 23124342.189 23124345.515 23124340.774
+ 1780.237 1387.198 49.000 43.000
+ -6872284.03143 -5321040.05942 24022586.154 24022590.533 24022584.180
+ 2159.294 1682.567 47.000 40.000
+ 04 2 1 14 29 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -9749441.32443 -7592547.09742 23492373.114 23492376.985 23492371.665
+ -2908.473 -2266.342 49.000 41.000
+ -25101341.50144 -19539358.31842 20061194.875 20061198.737 20061193.704
+ 1404.653 1094.535 57.000 51.000
+ -12646423.86243 -9851126.32642 23011238.420 23011242.643 23011236.437
+ 2531.332 1972.466 49.000 43.000
+ -26171119.74544 -20353073.26842 20668517.894 20668521.629 20668517.249
+ -1577.835 -1229.482 57.000 51.000
+ -22885657.74244 -17820664.50142 20940878.664 20940881.510 20940877.272
+ 1443.626 1124.903 58.000 51.000
+ -24227952.87743 -18843834.56242 20704004.492 20704008.361 20704003.454
+ -1015.827 -791.553 56.000 50.000
+ -10631561.92443 -8272997.59442 23114196.903 23114200.565 23114195.705
+ 1773.836 1382.210 49.000 43.000
+ -6937044.00143 -5371502.27242 24010261.620 24010266.441 24010258.643
+ 2157.894 1681.476 45.000 40.000
+ 04 2 1 14 30 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -9662059.26143 -7524457.24742 23509001.181 23509005.616 23509000.428
+ -2916.990 -2272.979 49.000 42.000
+ -25143172.81944 -19571954.13542 20053234.235 20053238.200 20053233.210
+ 1384.062 1078.490 57.000 51.000
+ -12722387.93443 -9910319.11442 22996783.859 22996786.450 22996783.176
+ 2532.764 1973.582 50.000 43.000
+ -26123527.57344 -20315988.48142 20677574.789 20677578.508 20677573.684
+ -1594.917 -1242.792 57.000 51.000
+ -22928870.49244 -17854336.78542 20932654.663 20932657.982 20932653.622
+ 1437.186 1119.885 57.000 51.000
+ -24197193.51443 -18819866.22742 20709857.615 20709861.599 20709856.759
+ -1034.753 -806.301 56.000 50.000
+ -10684692.65843 -8314398.15642 23104086.007 23104089.554 23104085.848
+ 1768.267 1377.870 49.000 43.000
+ -7001767.95243 -5421936.46542 23997944.935 23997949.537 23997942.769
+ 2157.065 1680.830 46.000 40.000
+ 04 2 1 14 30 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -9574412.69143 -7456161.24742 23525678.949 23525683.305 23525680.113
+ -2925.309 -2279.461 48.000 42.000
+ -25184369.55043 -19604055.46642 20045394.726 20045398.842 20045393.399
+ 1363.095 1062.152 56.000 51.000
+ -12798379.53343 -9969533.34742 22982322.286 22982326.148 22982322.041
+ 2533.924 1974.486 49.000 43.000
+ -26075412.39143 -20278496.14442 20686730.546 20686734.493 20686729.524
+ -1612.015 -1256.115 56.000 51.000
+ -22971875.62844 -17887847.28542 20924471.269 20924474.626 20924470.016
+ 1430.549 1114.714 57.000 51.000
+ -24165856.97443 -18795448.14142 20715820.911 20715824.975 20715819.743
+ -1053.625 -821.006 56.000 50.000
+ -10737640.35243 -8355656.05842 23094010.057 23094015.641 23094008.826
+ 1762.469 1373.352 48.000 43.000
+ -7066451.59143 -5472339.24842 23985636.264 23985642.448 23985635.417
+ 2155.688 1679.757 46.000 41.000
+ 04 2 1 14 31 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -9486507.24743 -7387663.52142 23542407.457 23542411.405 23542407.084
+ -2934.076 -2286.293 49.000 41.000
+ -25224933.43444 -19635663.66742 20037675.800 20037679.959 20037674.458
+ 1341.792 1045.552 57.000 51.000
+ -12874400.59243 -10028770.53942 22967857.028 22967860.615 22967856.523
+ 2534.772 1975.147 50.000 43.000
+ -26026779.09244 -20240600.08642 20695985.181 20695989.053 20695984.175
+ -1629.494 -1269.735 57.000 50.000
+ -23014674.22244 -17921196.83542 20916327.634 20916330.127 20916326.162
+ 1423.395 1109.139 58.000 51.000
+ -24133947.62343 -18770583.70942 20721892.501 20721896.932 20721891.784
+ -1072.917 -836.039 56.000 50.000
+ -10790408.61043 -8396774.15042 23083969.134 23083972.983 23083967.361
+ 1756.331 1368.570 48.000 42.000
+ -7131095.36943 -5522710.95342 23973334.738 23973339.879 23973333.084
+ 2154.323 1678.693 46.000 41.000
+ 04 2 1 14 31 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -9398341.52843 -7318962.98442 23559184.210 23559189.579 23559183.851
+ -2943.716 -2293.805 49.000 42.000
+ -25264859.13843 -19666774.58642 20030078.327 20030082.334 20030076.945
+ 1319.620 1028.275 56.000 51.000
+ -12950445.89343 -10088026.61242 22953385.744 22953390.052 22953385.815
+ 2534.635 1975.040 50.000 43.000
+ -25977625.62743 -20202298.70142 20705339.094 20705342.802 20705338.074
+ -1647.681 -1283.907 56.000 50.000
+ -23057260.40244 -17954380.87142 20908223.475 20908226.418 20908222.198
+ 1415.458 1102.954 57.000 51.000
+ -24101463.09043 -18745271.07342 20728074.378 20728078.340 20728073.471
+ -1092.867 -851.585 56.000 50.000
+ -10842994.17243 -8437749.88042 23073960.804 23073965.500 23073960.223
+ 1749.186 1363.002 47.000 43.000
+ -7195692.43543 -5573046.26242 23961042.457 23961047.584 23961040.566
+ 2151.930 1676.829 46.000 41.000
+ 04 2 1 14 32 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -9309923.52343 -7250065.89742 23576009.942 23576014.506 23576009.293
+ -2951.303 -2299.717 49.000 42.000
+ -25304150.26544 -19697391.02842 20022601.471 20022605.306 20022600.116
+ 1299.208 1012.370 57.000 51.000
+ -13026519.41143 -10147304.67342 22938909.051 22938912.924 22938909.196
+ 2536.323 1976.355 49.000 43.000
+ -25927959.18443 -20163597.59742 20714789.988 20714793.857 20714789.222
+ -1663.956 -1296.589 56.000 50.000
+ -23099637.34744 -17987401.87542 20900159.541 20900162.359 20900157.919
+ 1409.118 1098.014 57.000 51.000
+ -24068410.15443 -18719515.52742 20734364.181 20734368.554 20734363.463
+ -1111.128 -865.814 56.000 50.000
+ -10895402.64443 -8478587.61442 23063989.192 23063993.204 23063987.666
+ 1744.106 1359.044 48.000 43.000
+ -7260245.35543 -5623347.17942 23948758.858 23948764.246 23948756.848
+ 2151.130 1676.205 48.000 41.000
+ 04 2 1 14 32 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -9221250.14343 -7180969.77842 23592884.542 23592887.950 23592883.547
+ -2960.483 -2306.870 49.000 42.000
+ -25342800.10644 -19727507.76542 20015246.400 20015250.316 20015245.208
+ 1277.005 995.069 57.000 51.000
+ -13102614.40643 -10206599.47642 22924429.120 22924431.626 22924427.521
+ 2536.296 1976.335 49.000 43.000
+ -25877776.34844 -20124494.10542 20724339.595 20724343.637 20724338.918
+ -1681.816 -1310.506 57.000 50.000
+ -23141797.54044 -18020253.97942 20892136.836 20892139.846 20892135.486
+ 1401.194 1091.839 58.000 51.000
+ -24034784.53843 -18693313.73342 20740763.055 20740767.371 20740761.986
+ -1130.891 -881.214 56.000 50.000
+ -10947629.25243 -8519283.64142 23054050.651 23054054.590 23054049.678
+ 1737.237 1353.691 49.000 43.000
+ -7324745.80643 -5673607.20742 23936484.728 23936489.927 23936483.060
+ 2148.642 1674.266 48.000 42.000
+ 04 2 1 14 33 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -9132327.42043 -7111679.36442 23609805.255 23609808.904 23609805.212
+ -2968.804 -2313.354 48.000 42.000
+ -25380810.29844 -19757126.08042 20008013.522 20008017.463 20008012.230
+ 1255.911 978.632 57.000 51.000
+ -13178733.08743 -10265912.74242 22909943.532 22909947.947 22909942.081
+ 2537.254 1977.081 49.000 43.000
+ -25827082.37543 -20084992.32842 20733986.018 20733990.539 20733984.977
+ -1698.729 -1323.685 56.000 50.000
+ -23183742.84344 -18052938.63242 20884154.523 20884157.488 20884153.429
+ 1394.132 1086.337 57.000 51.000
+ -24000591.28243 -18666669.62742 20747269.561 20747273.992 20747268.638
+ -1149.693 -895.865 56.000 50.000
+ -10999677.90743 -8559841.01742 23044146.352 23044148.759 23044143.919
+ 1731.607 1349.304 48.000 42.000
+ -7389194.15343 -5723826.62542 23924219.093 23924224.737 23924218.092
+ 2146.989 1672.978 48.000 42.000
+ 04 2 1 14 33 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -9043156.59343 -7042195.61842 23626774.500 23626779.930 23626774.318
+ -2976.400 -2319.273 48.000 42.000
+ -25418178.48744 -19786244.13142 20000902.607 20000906.582 20000901.352
+ 1234.955 962.303 57.000 51.000
+ -13254872.89743 -10325242.45342 22895454.708 22895458.263 22895454.226
+ 2538.421 1977.990 50.000 44.000
+ -25775877.82043 -20045092.69642 20743729.710 20743733.996 20743729.200
+ -1715.240 -1336.551 56.000 50.000
+ -23225469.74944 -18085453.11342 20876213.761 20876216.941 20876212.710
+ 1387.394 1081.086 57.000 51.000
+ -23965830.65143 -18639583.40842 20753884.445 20753888.825 20753883.496
+ -1167.992 -910.124 56.000 50.000
+ -11051547.89443 -8600259.15642 23034276.380 23034279.626 23034275.655
+ 1726.086 1345.002 49.000 43.000
+ -7453586.52243 -5774002.42642 23911967.306 23911971.858 23911965.780
+ 2145.606 1671.901 48.000 42.000
+ 04 2 1 14 34 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -8953740.31643 -6972520.63342 23643789.735 23643793.289 23643789.503
+ -2984.380 -2325.491 48.000 41.000
+ -25454903.25143 -19814860.80542 19993913.938 19993917.969 19993912.597
+ 1213.606 945.667 56.000 51.000
+ -13331032.48643 -10384587.58442 22880961.683 22880966.308 22880962.285
+ 2539.198 1978.596 50.000 43.000
+ -25724164.57043 -20004796.68142 20753570.771 20753575.416 20753569.839
+ -1731.946 -1349.568 56.000 50.000
+ -23266976.29844 -18117795.87242 20868315.708 20868318.630 20868314.311
+ 1380.084 1075.390 57.000 51.000
+ -23930504.09743 -18612056.21242 20760606.543 20760610.864 20760605.857
+ -1186.743 -924.735 56.000 50.000
+ -11103239.74543 -8640538.49142 23024439.713 23024443.683 23024438.026
+ 1720.340 1340.525 49.000 43.000
+ -7517919.78843 -5824132.17242 23899723.927 23899729.146 23899722.526
+ 2143.555 1670.303 48.000 42.000
+ 04 2 1 14 34 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -8864081.38943 -6902656.56342 23660851.602 23660855.305 23660851.757
+ -2992.937 -2332.159 48.000 41.000
+ -25490983.23944 -19842975.06142 19987048.113 19987052.141 19987046.968
+ 1191.508 928.448 57.000 51.000
+ -13407210.77343 -10443947.27542 22866464.661 22866467.744 22866464.137
+ 2539.207 1978.603 49.000 43.000
+ -25671944.95343 -19964106.09542 20763507.839 20763512.057 20763507.023
+ -1749.433 -1363.194 56.000 50.000
+ -23308261.14744 -18149965.89042 20860459.348 20860462.572 20860458.344
+ 1372.083 1069.156 58.000 51.000
+ -23894613.42343 -18584089.44142 20767436.896 20767441.086 20767435.883
+ -1206.085 -939.806 56.000 50.000
+ -11154754.36143 -8680679.73442 23014636.551 23014639.340 23014634.590
+ 1713.941 1335.538 49.000 43.000
+ -7582191.29043 -5874213.78442 23887493.742 23887498.904 23887491.165
+ 2140.786 1668.145 48.000 41.000
+ 04 2 1 14 35 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -8774181.84643 -6832604.97742 23677958.853 23677963.208 23677959.080
+ -3001.138 -2338.549 48.000 41.000
+ -25526416.76843 -19870585.58142 19980305.127 19980309.299 19980303.846
+ 1169.968 911.663 56.000 51.000
+ -13483406.01643 -10503320.19342 22851966.603 22851969.576 22851965.014
+ 2539.720 1979.003 50.000 43.000
+ -25619220.47543 -19923022.10642 20773540.891 20773544.958 20773540.151
+ -1766.257 -1376.304 56.000 50.000
+ -23349321.38244 -18181960.88442 20852646.061 20852649.034 20852644.914
+ 1364.615 1063.336 58.000 51.000
+ -23858159.69443 -18555683.92042 20774373.460 20774377.499 20774372.492
+ -1224.859 -954.435 56.000 50.000
+ -11206091.67643 -8720682.82642 23004866.669 23004869.941 23004864.713
+ 1707.924 1330.850 49.000 43.000
+ -7646397.53443 -5924244.54142 23875275.572 23875281.371 23875274.960
+ 2138.642 1666.474 48.000 41.000
+ 04 2 1 14 35 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -8684045.01143 -6762368.49742 23695110.806 23695115.409 23695110.076
+ -3007.957 -2343.862 47.000 41.000
+ -25561203.46543 -19897692.07842 19973685.537 19973689.333 19973684.217
+ 1149.207 895.486 56.000 51.000
+ -13559617.60343 -10562705.82942 22837463.357 22837468.631 22837462.109
+ 2541.008 1980.006 49.000 43.000
+ -25565993.89943 -19881546.88142 20783669.838 20783674.218 20783668.902
+ -1782.145 -1388.684 56.000 50.000
+ -23390155.81244 -18213779.92442 20844875.408 20844878.476 20844874.003
+ 1357.800 1058.026 57.000 51.000
+ -23821145.02043 -18526841.30842 20781417.359 20781421.363 20781416.414
+ -1242.717 -968.351 56.000 50.000
+ -11257253.13143 -8760548.90742 22995131.275 22995134.628 22995130.792
+ 1702.954 1326.977 50.000 43.000
+ -7710536.53743 -5974222.89742 23863070.615 23863076.399 23863069.220
+ 2137.291 1665.422 48.000 42.000
+ 04 2 1 14 36 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -8593673.09843 -6691948.83442 23712307.669 23712313.090 23712305.897
+ -3016.472 -2350.498 47.000 41.000
+ -25595341.55044 -19924293.17442 19967189.390 19967193.332 19967188.057
+ 1127.010 878.190 57.000 51.000
+ -13635843.99543 -10622103.00942 22822958.226 22822963.119 22822957.946
+ 2541.026 1980.020 50.000 44.000
+ -25512267.16743 -19839681.91742 20793893.894 20793897.636 20793892.793
+ -1799.301 -1402.053 56.000 50.000
+ -23430762.68044 -18245421.64142 20837148.488 20837151.300 20837146.984
+ 1349.615 1051.648 58.000 51.000
+ -23783571.27943 -18497563.05742 20788567.328 20788571.638 20788566.522
+ -1261.856 -983.264 56.000 50.000
+ -11308239.03143 -8800278.16242 22985428.920 22985433.141 22985429.070
+ 1696.458 1321.915 50.000 43.000
+ -7774605.09343 -6024146.36942 23850878.879 23850884.211 23850876.240
+ 2134.140 1662.966 48.000 41.000
+ 04 2 1 14 36 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -8503069.79843 -6621348.86442 23729549.223 23729554.636 23729548.624
+ -3024.280 -2356.582 47.000 41.000
+ -25628831.26444 -19950389.03442 19960816.594 19960820.351 19960815.155
+ 1105.104 861.120 57.000 51.000
+ -13712084.87043 -10681511.47842 22808449.727 22808454.049 22808449.201
+ 2541.122 1980.095 50.000 44.000
+ -25458043.45243 -19797429.69942 20804212.040 20804216.306 20804211.103
+ -1816.155 -1415.186 56.000 50.000
+ -23471140.75844 -18276885.08242 20829464.585 20829467.684 20829463.282
+ 1341.779 1045.542 57.000 51.000
+ -23745441.19243 -18467851.29142 20795823.012 20795827.090 20795822.041
+ -1280.676 -997.929 56.000 50.000
+ -11359051.02143 -8839871.89542 22975759.949 22975763.700 22975759.770
+ 1690.616 1317.363 49.000 43.000
+ -7838601.70543 -6074013.75342 23838700.059 23838705.688 23838698.849
+ 2131.634 1661.014 48.000 42.000
+ 04 2 1 14 37 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -8412234.79343 -6550568.34142 23746835.454 23746838.208 23746834.083
+ -3031.032 -2361.843 47.000 41.000
+ -25661668.40844 -19975976.40542 19954567.830 19954571.667 19954566.377
+ 1084.111 844.762 57.000 51.000
+ -13788335.96743 -10740927.89042 22793940.039 22793943.551 22793938.275
+ 2542.402 1981.092 50.000 44.000
+ -25403321.84543 -19754789.50442 20814625.309 20814629.624 20814624.433
+ -1831.957 -1427.499 56.000 50.000
+ -23511285.18144 -18308166.46242 20821825.441 20821828.375 20821824.271
+ 1334.621 1039.964 58.000 51.000
+ -23706753.41743 -18437704.96142 20803185.500 20803189.429 20803184.430
+ -1298.374 -1011.720 56.000 50.000
+ -11409686.81443 -8879328.33442 22966123.985 22966128.314 22966123.416
+ 1685.321 1313.237 49.000 43.000
+ -7902520.52243 -6123820.53642 23826537.508 23826541.839 23826536.265
+ 2129.607 1659.434 48.000 42.000
+ 04 2 1 14 37 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -8321174.22843 -6479612.06742 23764163.603 23764166.921 23764161.249
+ -3038.750 -2367.857 47.000 41.000
+ -25693855.09043 -20001056.91642 19948442.706 19948446.908 19948441.445
+ 1062.267 827.741 56.000 51.000
+ -13864599.31543 -10800353.83942 22779427.646 22779432.037 22779427.011
+ 2542.406 1981.095 50.000 43.000
+ -25348107.86843 -19711765.65742 20825132.299 20825136.481 20825131.124
+ -1848.448 -1440.349 56.000 50.000
+ -23551197.50644 -18339266.98042 20814230.220 20814233.499 20814228.926
+ 1326.747 1033.829 57.000 51.000
+ -23667513.08943 -18407128.07542 20810652.737 20810656.608 20810651.551
+ -1316.902 -1026.157 56.000 49.000
+ -11460150.45243 -8918650.63042 22956521.160 22956524.502 22956520.517
+ 1679.189 1308.459 49.000 43.000
+ -7966362.17843 -6173567.18442 23814388.712 23814395.409 23814386.935
+ 2126.995 1657.399 48.000 42.000
+ 04 2 1 14 38 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -8229886.43943 -6408478.74342 23781535.574 23781539.943 23781534.621
+ -3046.363 -2373.789 47.000 41.000
+ -25725386.42744 -20025626.77642 19942442.454 19942446.321 19942441.435
+ 1040.287 810.613 57.000 51.000
+ -13940869.59143 -10859785.19342 22764912.675 22764917.304 22764911.975
+ 2542.671 1981.302 49.000 43.000
+ -25292399.81343 -19668356.80742 20835733.172 20835737.097 20835732.258
+ -1864.947 -1453.205 56.000 50.000
+ -23590871.89344 -18370182.09542 20806679.971 20806683.621 20806678.854
+ 1318.723 1027.576 57.000 51.000
+ -23627717.89443 -18376118.83142 20818224.784 20818229.103 20818223.894
+ -1335.469 -1040.625 55.000 49.000
+ -11510438.44043 -8957836.03642 22946950.741 22946954.866 22946949.785
+ 1673.572 1304.082 49.000 43.000
+ -8030119.49543 -6223248.11442 23802255.444 23802260.477 23802253.733
+ 2124.201 1655.222 48.000 42.000
+ 04 2 1 14 38 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -8138378.35743 -6337173.73642 23798949.300 23798952.714 23798948.931
+ -3053.986 -2379.729 47.000 41.000
+ -25756265.29643 -20049688.21542 19936566.566 19936570.632 19936564.996
+ 1018.228 793.424 56.000 51.000
+ -14017149.75443 -10919224.23342 22750397.757 22750400.928 22750397.915
+ 2542.731 1981.349 50.000 44.000
+ -25236203.98143 -19624567.86542 20846426.966 20846430.931 20846425.725
+ -1881.424 -1466.045 56.000 50.000
+ -23630310.33344 -18400913.35042 20799175.813 20799178.625 20799174.221
+ 1310.506 1021.174 57.000 51.000
+ -23587373.84743 -18344681.90042 20825902.048 20825906.732 20825901.401
+ -1354.089 -1055.134 55.000 49.000
+ -11560555.62743 -8996888.37042 22937414.483 22937418.838 22937412.569
+ 1667.535 1299.378 49.000 43.000
+ -8093793.76843 -6272864.34942 23790138.643 23790143.802 23790137.892
+ 2121.075 1652.786 47.000 41.000
+ 04 2 1 14 39 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -8046648.54143 -6265695.95842 23816403.862 23816409.704 23816402.616
+ -3061.213 -2385.361 45.000 40.000
+ -25786486.78543 -20073237.41242 19930815.353 19930819.463 19930814.172
+ 996.329 776.360 56.000 51.000
+ -14093434.17143 -10978666.61042 22735881.994 22735884.854 22735881.045
+ 2542.761 1981.372 51.000 44.000
+ -25179518.43043 -19580397.32042 20857213.752 20857217.581 20857212.791
+ -1897.573 -1478.628 56.000 50.000
+ -23669506.65544 -18431455.93842 20791717.065 20791719.930 20791715.751
+ 1302.481 1014.920 58.000 51.000
+ -23546478.57843 -18312815.45542 20833684.569 20833688.639 20833683.525
+ -1372.340 -1069.356 55.000 49.000
+ -11610498.52643 -9035804.89042 22927911.775 22927914.861 22927909.767
+ 1661.973 1295.044 50.000 43.000
+ -8157378.21743 -6322410.58442 23778038.717 23778044.411 23778036.776
+ 2118.170 1650.522 47.000 41.000
+ 04 2 1 14 39 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -7954700.24243 -6194047.94342 23833900.752 23833906.107 23833899.697
+ -3069.053 -2391.470 46.000 40.000
+ -25816050.65943 -20096274.18642 19925189.646 19925193.758 19925188.246
+ 974.173 759.096 56.000 51.000
+ -14169722.56243 -11038112.09042 22721364.472 22721367.579 22721363.776
+ 2542.565 1981.219 51.000 44.000
+ -25122346.37243 -19535847.68242 20868093.684 20868097.519 20868092.306
+ -1914.254 -1491.626 56.000 50.000
+ -23708460.19844 -18461809.34942 20784304.715 20784307.435 20784303.055
+ 1293.956 1008.277 58.000 51.000
+ -23505034.79843 -18280521.59242 20841571.102 20841575.205 20841570.028
+ -1390.953 -1083.859 56.000 49.000
+ -11660268.77743 -9074586.85642 22918439.900 22918443.459 22918438.759
+ 1655.613 1290.088 49.000 43.000
+ -8220870.95143 -6371885.35542 23765956.455 23765961.036 23765954.219
+ 2114.439 1647.615 47.000 41.000
+ 04 2 1 14 40 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -7862540.24743 -6122234.95342 23851437.791 23851442.832 23851438.456
+ -3076.165 -2397.012 45.000 40.000
+ -25844960.17144 -20118801.06242 19919688.277 19919692.203 19919686.978
+ 952.113 741.906 57.000 51.000
+ -14246017.45743 -11097562.62942 22706846.291 22706848.742 22706845.734
+ 2542.565 1981.219 50.000 44.000
+ -25064694.01143 -19490923.77742 20879064.530 20879068.193 20879063.221
+ -1930.255 -1504.095 56.000 50.000
+ -23747172.87844 -18491975.07242 20776937.345 20776940.264 20776936.153
+ 1285.834 1001.949 57.000 51.000
+ -23463048.31943 -18247804.85042 20849560.608 20849564.703 20849559.651
+ -1409.111 -1098.008 56.000 49.000
+ -11709870.91943 -9113237.85242 22909001.012 22909004.568 22908999.717
+ 1650.040 1285.745 50.000 43.000
+ -8284273.04343 -6421289.52542 23753891.249 23753895.302 23753890.083
+ 2111.405 1645.251 47.000 41.000
+ 04 2 1 14 40 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -7770164.47343 -6050253.82242 23869015.963 23869022.470 23869014.630
+ -3083.272 -2402.550 45.000 39.000
+ -25873207.79444 -20140812.18542 19914313.285 19914317.063 19914311.905
+ 930.714 725.232 57.000 51.000
+ -14322310.92743 -11157012.07442 22692328.010 22692331.577 22692327.162
+ 2543.157 1981.681 51.000 44.000
+ -25006557.05643 -19445622.27542 20890127.182 20890131.704 20890126.288
+ -1945.788 -1516.198 56.000 50.000
+ -23785635.97244 -18521946.31642 20769618.011 20769621.257 20769616.741
+ 1278.138 995.952 57.000 51.000
+ -23420514.49643 -18214661.61042 20857654.731 20857658.838 20857653.791
+ -1426.746 -1111.750 56.000 49.000
+ -11759298.96143 -9151753.17842 22899594.432 22899599.253 22899593.257
+ 1644.849 1281.701 49.000 43.000
+ -8347575.09643 -6470615.72742 23741844.674 23741850.379 23741843.354
+ 2108.665 1643.116 46.000 40.000
+ 04 2 1 14 41 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -7677579.94043 -5978109.99342 23886634.345 23886638.439 23886633.254
+ -3089.867 -2407.688 44.000 39.000
+ -25900796.74544 -20162310.05142 19909063.256 19909067.054 19909061.723
+ 908.277 707.748 57.000 51.000
+ -14398605.83343 -11216462.63242 22677809.927 22677813.405 22677809.282
+ 2542.817 1981.416 51.000 44.000
+ -24947942.23243 -19399948.40342 20901281.149 20901285.622 20901280.283
+ -1962.013 -1528.841 56.000 50.000
+ -23823851.96844 -18551725.01342 20762345.998 20762348.734 20762344.414
+ 1269.450 989.182 57.000 51.000
+ -23377439.54543 -18181096.70842 20865851.455 20865855.528 20865850.147
+ -1445.132 -1126.077 55.000 49.000
+ -11808557.89743 -9190136.73142 22890221.284 22890224.804 22890221.147
+ 1638.792 1276.981 49.000 43.000
+ -8410778.33843 -6519864.95942 23729817.773 23729822.816 23729815.295
+ 2104.688 1640.017 47.000 40.000
+ 04 2 1 14 41 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -7584788.85643 -5905805.25342 23904292.581 23904296.499 23904291.789
+ -3095.727 -2412.255 45.000 39.000
+ -25927725.82044 -20183293.73242 19903938.668 19903942.442 19903937.598
+ 887.229 691.347 57.000 51.000
+ -14474900.31943 -11275912.88042 22663292.268 22663294.622 22663290.860
+ 2543.725 1982.123 52.000 44.000
+ -24888851.27943 -19353903.52142 20912526.054 20912529.776 20912524.695
+ -1976.977 -1540.501 56.000 50.000
+ -23861818.60144 -18581309.40342 20755120.892 20755123.979 20755119.601
+ 1261.999 983.376 58.000 51.000
+ -23333824.65743 -18147111.07942 20874150.810 20874155.650 20874149.707
+ -1462.110 -1139.306 56.000 49.000
+ -11857648.00243 -9228388.72942 22880879.592 22880883.873 22880879.077
+ 1634.181 1273.388 49.000 43.000
+ -8473879.43643 -6569034.57242 23717810.756 23717814.547 23717808.420
+ 2102.336 1638.184 48.000 41.000
+ 04 2 1 14 42 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -7491794.61343 -5833342.17342 23921989.019 23921992.479 23921988.441
+ -3103.169 -2418.054 45.000 39.000
+ -25953995.26644 -20203763.41642 19898939.635 19898943.795 19898938.276
+ 864.527 673.657 57.000 51.000
+ -14551193.86643 -11335362.40642 22648772.193 22648776.722 22648772.053
+ 2543.058 1981.604 51.000 44.000
+ -24829287.62143 -19307490.29942 20923860.863 20923864.636 20923859.775
+ -1993.421 -1553.315 56.000 50.000
+ -23899535.15144 -18610698.91742 20747943.709 20747946.852 20747942.404
+ 1252.970 976.340 57.000 51.000
+ -23289673.02543 -18112707.21242 20882552.546 20882557.117 20882551.786
+ -1480.766 -1153.844 55.000 49.000
+ -11906570.86943 -9266510.42942 22871570.274 22871572.911 22871568.902
+ 1628.052 1268.612 50.000 43.000
+ -8536876.64143 -6618123.23542 23705823.880 23705827.878 23705820.848
+ 2098.087 1634.873 48.000 41.000
+ 04 2 1 14 42 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -7398597.23043 -5760720.82442 23939723.832 23939727.973 23939721.862
+ -3109.293 -2422.826 44.000 38.000
+ -25979601.30744 -20223716.16142 19894067.312 19894071.062 19894065.703
+ 843.138 656.991 57.000 51.000
+ -14627482.27143 -11394807.91642 22634255.656 22634258.918 22634254.947
+ 2543.536 1981.976 51.000 44.000
+ -24769250.77243 -19260708.34942 20935285.486 20935289.030 20935284.511
+ -2008.304 -1564.912 56.000 50.000
+ -23936996.37644 -18639889.47742 20740815.120 20740818.146 20740813.975
+ 1245.189 970.277 57.000 51.000
+ -23244983.63743 -18077884.31142 20891056.987 20891060.995 20891055.932
+ -1497.898 -1167.193 56.000 49.000
+ -11955324.42043 -9304500.16742 22862293.001 22862296.242 22862290.992
+ 1623.071 1264.731 50.000 44.000
+ -8599764.51743 -6667126.70142 23693853.478 23693861.531 23693854.021
+ 2095.148 1632.583 46.000 41.000
+ 04 2 1 14 43 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -7305198.27843 -5687942.43542 23957497.234 23957502.363 23957496.991
+ -3116.924 -2428.772 46.000 38.000
+ -26004542.33644 -20243150.71442 19889321.025 19889324.520 19889319.457
+ 819.938 638.913 57.000 51.000
+ -14703763.29243 -11454247.66142 22619739.675 22619743.036 22619738.722
+ 2542.248 1980.972 51.000 45.000
+ -24708742.12943 -19213558.76542 20946799.341 20946803.202 20946798.438
+ -2025.088 -1577.991 56.000 49.000
+ -23974199.34444 -18668878.79342 20733735.545 20733738.674 20733734.202
+ 1235.494 962.723 57.000 51.000
+ -23199757.40243 -18042643.09342 20899663.219 20899667.558 20899662.117
+ -1516.732 -1181.869 55.000 49.000
+ -12003908.49643 -9342357.86742 22853046.382 22853051.071 22853045.312
+ 1616.250 1259.416 50.000 43.000
+ -8662539.23243 -6716041.98542 23681909.385 23681913.252 23681907.604
+ 2090.126 1628.670 46.000 41.000
+ 04 2 1 14 43 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -7211603.06443 -5615011.08842 23975307.410 23975311.331 23975307.748
+ -3123.184 -2433.650 46.000 38.000
+ -26028820.49244 -20262068.73842 19884700.892 19884704.747 19884699.477
+ 797.908 621.746 57.000 51.000
+ -14780038.24643 -11513682.67942 22605225.101 22605228.376 22605224.939
+ 2541.968 1980.754 51.000 45.000
+ -24647767.08143 -19166045.75842 20958402.746 20958406.972 20958401.642
+ -2040.550 -1590.039 56.000 49.000
+ -24011145.30944 -18697667.85042 20726704.973 20726708.182 20726703.676
+ 1226.990 956.096 57.000 51.000
+ -23153999.39343 -18006987.49742 20908370.651 20908374.777 20908369.960
+ -1534.372 -1195.614 56.000 49.000
+ -12052326.48643 -9380086.14742 22843832.832 22843837.656 22843831.706
+ 1610.861 1255.216 49.000 43.000
+ -8725200.40043 -6764868.79442 23669985.434 23669989.891 23669984.456
+ 2086.379 1625.750 47.000 41.000
+ 04 2 1 14 44 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -7117814.64443 -5541929.17342 23993155.428 23993159.199 23993153.627
+ -3129.968 -2438.936 46.000 39.000
+ -26052435.43844 -20280469.97942 19880206.927 19880211.130 19880205.782
+ 775.448 604.245 57.000 51.000
+ -14856305.97943 -11573112.05842 22590712.636 22590716.312 22590712.476
+ 2541.454 1980.354 52.000 45.000
+ -24586328.00143 -19118171.16842 20970094.351 20970098.321 20970093.579
+ -2056.178 -1602.217 56.000 50.000
+ -24047832.65644 -18726255.38542 20719723.634 20719726.850 20719722.252
+ 1218.021 949.107 57.000 51.000
+ -23107711.83443 -17970919.26542 20917178.554 20917183.313 20917177.658
+ -1552.262 -1209.555 55.000 49.000
+ -12100579.42143 -9417685.80142 22834650.318 22834654.422 22834648.670
+ 1605.170 1250.782 49.000 43.000
+ -8787745.79543 -6813605.41842 23658083.276 23658089.002 23658081.365
+ 2082.177 1622.476 46.000 41.000
+ 04 2 1 14 44 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -7023832.59143 -5468696.39142 24011038.321 24011044.323 24011037.688
+ -3135.632 -2443.350 46.000 38.000
+ -26075383.55544 -20298351.60842 19875840.404 19875844.075 19875838.935
+ 753.996 587.529 57.000 51.000
+ -14932562.08143 -11632532.35542 22576201.473 22576204.443 22576200.664
+ 2541.888 1980.692 51.000 45.000
+ -24524424.51743 -19069934.70642 20981873.970 20981878.449 20981873.127
+ -2070.862 -1613.659 55.000 50.000
+ -24084256.08244 -18754637.26642 20712792.363 20712795.674 20712791.337
+ 1210.015 942.869 57.000 51.000
+ -23060893.95543 -17934437.80442 20926088.499 20926092.367 20926087.313
+ -1569.174 -1222.733 56.000 49.000
+ -12148664.93543 -9455155.00042 22825500.926 22825503.940 22825499.853
+ 1600.419 1247.080 50.000 43.000
+ -8850169.49543 -6862247.20942 23646204.771 23646208.612 23646202.842
+ 2078.882 1619.908 48.000 40.000
+ 04 2 1 14 45 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -6929662.18443 -5395316.83442 24028958.991 24028962.293 24028958.264
+ -3142.046 -2448.347 46.000 38.000
+ -26097666.74844 -20315715.12142 19871599.587 19871603.248 19871598.433
+ 731.876 570.293 57.000 51.000
+ -15008807.58043 -11691944.40942 22561692.189 22561695.797 22561691.807
+ 2541.424 1980.330 51.000 45.000
+ -24462061.45443 -19021340.12842 20993741.323 20993745.333 20993740.465
+ -2086.149 -1625.571 56.000 50.000
+ -24120416.62644 -18782814.30742 20705911.442 20705914.580 20705910.166
+ 1201.161 935.970 58.000 51.000
+ -23013550.33843 -17897546.66742 20935097.240 20935101.306 20935096.366
+ -1586.608 -1236.318 56.000 49.000
+ -12196586.29743 -9492496.29042 22816380.866 22816385.444 22816381.793
+ 1594.895 1242.775 50.000 43.000
+ -8912471.03843 -6910793.82342 23634348.542 23634354.513 23634348.298
+ 2074.952 1616.846 47.000 41.000
+ 04 2 1 14 45 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -6835304.23243 -5321791.22442 24046914.647 24046918.867 24046914.481
+ -3148.488 -2453.367 46.000 39.000
+ -26119282.81044 -20332558.78642 19867486.187 19867490.328 19867485.139
+ 709.465 552.830 57.000 51.000
+ -15085039.31143 -11751345.73942 22547184.994 22547189.147 22547184.639
+ 2540.803 1979.846 50.000 44.000
+ -24399239.62443 -18972388.07242 21005696.116 21005700.257 21005695.266
+ -2101.671 -1637.666 56.000 50.000
+ -24156310.46044 -18810783.52142 20699081.237 20699084.356 20699079.829
+ 1192.032 928.856 58.000 51.000
+ -22965681.18543 -17860246.02642 20944206.723 20944210.435 20944205.367
+ -1604.375 -1250.162 56.000 49.000
+ -12244342.60243 -9529708.95142 22807294.082 22807297.877 22807292.183
+ 1589.258 1238.383 50.000 44.000
+ -8974646.04143 -6959241.82042 23622517.167 23622522.218 23622516.616
+ 2070.341 1613.253 48.000 41.000
+ 04 2 1 14 46 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -6740764.04943 -5248123.56342 24064905.120 24064908.446 24064904.026
+ -3153.724 -2457.447 47.000 38.000
+ -26140233.92444 -20348884.30742 19863499.594 19863503.303 19863498.310
+ 687.537 535.743 57.000 51.000
+ -15161258.65643 -11810737.43742 22532681.123 22532684.505 22532680.900
+ 2540.620 1979.704 51.000 44.000
+ -24335964.43243 -18923082.74642 21017737.005 21017741.236 21017736.104
+ -2116.399 -1649.142 55.000 49.000
+ -24191938.80344 -18838545.85542 20692301.214 20692304.398 20692300.176
+ 1183.409 922.137 58.000 51.000
+ -22917291.21143 -17822539.55342 20953414.768 20953418.741 20953413.957
+ -1621.315 -1263.362 56.000 49.000
+ -12291937.38443 -9566795.78042 22798237.061 22798240.921 22798236.434
+ 1584.197 1234.439 50.000 44.000
+ -9036694.33843 -7007591.07242 23610710.336 23610713.022 23610708.063
+ 2066.376 1610.163 48.000 41.000
+ 04 2 1 14 46 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -6646040.26643 -5174312.85442 24082930.340 24082934.052 24082930.018
+ -3160.233 -2462.519 46.000 39.000
+ -26160515.45944 -20364688.08142 19859639.969 19859643.944 19859638.652
+ 664.936 518.132 57.000 51.000
+ -15237460.06543 -11870115.14442 22518180.715 22518184.258 22518180.036
+ 2539.922 1979.160 51.000 45.000
+ -24272234.41043 -18873423.01142 21029864.400 21029868.199 21029863.427
+ -2131.728 -1661.087 55.000 49.000
+ -24227295.22844 -18866096.31042 20685573.193 20685576.085 20685571.904
+ 1174.125 914.903 58.000 51.000
+ -22868378.57843 -17784425.81242 20962723.075 20962726.536 20962721.996
+ -1639.071 -1277.198 56.000 49.000
+ -12339367.26743 -9603754.11442 22789211.149 22789214.738 22789209.788
+ 1578.261 1229.814 49.000 43.000
+ -9098608.89043 -7055836.13442 23598928.431 23598932.952 23598926.875
+ 2061.781 1606.583 48.000 41.000
+ 04 2 1 14 47 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -6551136.17843 -5100361.67542 24100991.265 24100994.615 24100990.359
+ -3166.573 -2467.459 46.000 39.000
+ -26180127.76244 -20379970.37742 19855908.218 19855911.922 19855906.786
+ 642.502 500.651 57.000 51.000
+ -15313642.73643 -11929478.25942 22503682.736 22503687.610 22503682.288
+ 2538.893 1978.358 50.000 45.000
+ -24208052.93543 -18823411.48742 21042077.790 21042081.640 21042076.832
+ -2146.922 -1672.926 55.000 49.000
+ -24262378.65044 -18893434.03242 20678897.249 20678899.952 20678895.531
+ 1164.845 907.671 58.000 51.000
+ -22818946.31243 -17745907.15742 20972129.723 20972133.028 20972128.485
+ -1656.505 -1290.783 56.000 49.000
+ -12386633.72443 -9640585.08242 22780216.182 22780220.954 22780216.060
+ 1573.049 1225.752 49.000 44.000
+ -9160387.85243 -7103975.52242 23587170.841 23587176.103 23587169.271
+ 2056.927 1602.800 47.000 41.000
+ 04 2 1 14 47 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -6456054.83143 -5026272.34042 24119084.671 24119086.131 24119083.509
+ -3171.886 -2471.599 45.000 38.000
+ -26199070.96644 -20394731.29442 19852303.310 19852307.063 19852301.943
+ 620.899 483.817 57.000 51.000
+ -15389805.65543 -11988825.98442 22489189.594 22489194.282 22489188.309
+ 2538.876 1978.345 51.000 44.000
+ -24143422.84743 -18773050.39142 21054376.476 21054380.348 21054375.411
+ -2161.130 -1683.997 55.000 49.000
+ -24297187.78244 -18920558.02042 20672272.929 20672276.067 20672271.611
+ 1156.357 901.057 58.000 51.000
+ -22768997.13643 -17706985.72342 20981633.988 20981638.429 20981633.364
+ -1672.942 -1303.591 56.000 49.000
+ -12433737.87543 -9677289.59742 22771252.382 22771257.421 22771252.365
+ 1568.012 1221.828 50.000 44.000
+ -9222028.76043 -7152007.31642 23575441.115 23575445.548 23575440.455
+ 2053.166 1599.870 47.000 41.000
+ 04 2 1 14 48 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -6360800.60943 -4952048.28542 24137209.849 24137212.664 24137209.378
+ -3178.027 -2476.385 46.000 38.000
+ -26217346.41644 -20408971.88742 19848825.591 19848829.176 19848823.911
+ 597.610 465.670 57.000 51.000
+ -15465949.09543 -12048158.52342 22474700.209 22474703.344 22474700.343
+ 2537.415 1977.206 51.000 45.000
+ -24078348.30443 -18722342.97242 21066759.913 21066763.794 21066758.803
+ -2176.934 -1696.312 55.000 49.000
+ -24331722.31644 -18947468.03542 20665701.150 20665704.261 20665699.967
+ 1146.196 893.140 58.000 51.000
+ -22718534.66543 -17667664.31742 20991236.961 20991240.972 20991235.705
+ -1690.938 -1317.614 55.000 49.000
+ -12480682.15943 -9713869.52242 22762319.538 22762323.166 22762318.762
+ 1561.801 1216.988 50.000 44.000
+ -9283530.45943 -7199930.65342 23563737.507 23563741.718 23563735.970
+ 2047.366 1595.350 47.000 41.000
+ 04 2 1 14 48 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -6265373.65943 -4877689.63242 24155369.137 24155372.409 24155368.561
+ -3183.868 -2480.936 46.000 39.000
+ -26234951.00844 -20422689.73642 19845475.392 19845479.377 19845474.082
+ 575.617 448.533 57.000 51.000
+ -15542068.83843 -12107472.60242 22460215.073 22460218.955 22460215.409
+ 2537.056 1976.927 51.000 45.000
+ -24012829.44243 -18671289.33442 21079227.450 21079231.750 21079226.477
+ -2191.405 -1707.588 55.000 49.000
+ -24365977.91944 -18974160.70342 20659182.556 20659185.663 20659181.366
+ 1137.183 886.117 58.000 51.000
+ -22667558.73043 -17627942.79742 21000936.985 21000941.084 21000936.315
+ -1707.790 -1330.745 56.000 49.000
+ -12527464.76643 -9750323.48842 22753415.856 22753420.976 22753415.359
+ 1556.717 1213.026 48.000 43.000
+ -9344887.63243 -7247741.35942 23552061.396 23552067.475 23552058.490
+ 2042.733 1591.740 47.000 41.000
+ 04 2 1 14 49 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -6169778.48943 -4803199.95842 24173560.966 24173565.413 24173560.379
+ -3189.085 -2485.001 46.000 39.000
+ -26251886.45844 -20435886.18142 19842252.571 19842256.470 19842251.216
+ 553.773 431.511 57.000 51.000
+ -15618165.24643 -12166768.48842 22445735.228 22445738.235 22445733.947
+ 2536.551 1976.533 52.000 45.000
+ -23946870.74743 -18619892.96642 21091779.238 21091782.876 21091778.420
+ -2205.492 -1718.565 55.000 49.000
+ -24399954.59444 -19000636.03342 20652716.543 20652719.908 20652715.646
+ 1128.324 879.213 57.000 51.000
+ -22616073.38643 -17587824.33842 21010734.550 21010738.572 21010733.477
+ -1724.201 -1343.533 56.000 49.000
+ -12574088.31343 -9786653.50542 22744544.422 22744550.254 22744543.329
+ 1551.749 1209.155 49.000 43.000
+ -9406099.17243 -7295438.63142 23540414.372 23540418.921 23540413.371
+ 2038.302 1588.287 48.000 42.000
+ 04 2 1 14 49 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -6074016.43743 -4728580.23242 24191784.042 24191787.236 24191782.211
+ -3194.551 -2489.260 45.000 39.000
+ -26268151.30544 -20448560.07842 19839157.764 19839161.318 19839156.372
+ 531.260 413.969 57.000 51.000
+ -15694235.75343 -12226044.19242 22431258.631 22431262.896 22431257.907
+ 2535.427 1975.657 51.000 45.000
+ -23880473.83743 -18568155.13242 21104413.804 21104418.023 21104412.705
+ -2220.277 -1730.086 55.000 49.000
+ -24433649.17644 -19026891.54242 20646305.566 20646308.353 20646303.934
+ 1118.592 871.630 58.000 51.000
+ -22564079.70343 -17547309.77542 21020628.541 21020632.969 21020627.648
+ -1741.297 -1356.855 56.000 49.000
+ -12620552.33543 -9822859.20942 22735703.764 22735706.201 22735701.769
+ 1546.400 1204.987 49.000 43.000
+ -9467161.25043 -7343019.39642 23528794.833 23528798.258 23528792.781
+ 2033.038 1584.185 48.000 41.000
+ 04 2 1 14 50 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -5978090.63043 -4653832.92242 24210037.863 24210042.251 24210037.991
+ -3199.631 -2493.219 46.000 39.000
+ -26283745.67044 -20460711.52342 19836189.853 19836193.959 19836188.565
+ 508.845 396.503 57.000 51.000
+ -15770279.34443 -12285298.91142 22416788.359 22416791.816 22416787.264
+ 2534.732 1975.116 51.000 45.000
+ -23813641.68143 -18516078.15042 21117132.056 21117135.930 21117130.965
+ -2234.621 -1741.263 55.000 49.000
+ -24467059.98844 -19052925.93842 20639947.367 20639950.434 20639946.069
+ 1109.234 864.338 58.000 51.000
+ -22511580.50043 -17506401.31042 21030618.909 21030622.929 21030618.015
+ -1758.020 -1369.886 55.000 49.000
+ -12666858.05443 -9858941.57942 22726891.817 22726894.732 22726891.048
+ 1541.190 1200.927 50.000 43.000
+ -9528071.43543 -7390481.83742 23517204.094 23517207.101 23517201.335
+ 2028.064 1580.310 49.000 42.000
+ 04 2 1 14 50 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -5882002.00743 -4578958.70942 24228323.884 24228327.488 24228322.423
+ -3206.460 -2498.540 45.000 39.000
+ -26298667.76744 -20472339.12542 19833350.301 19833354.261 19833349.008
+ 485.715 378.479 57.000 51.000
+ -15846292.70843 -12344530.09042 22402324.113 22402326.774 22402323.308
+ 2532.968 1973.741 52.000 45.000
+ -23746375.29443 -18463662.79842 21129932.221 21129935.948 21129931.225
+ -2249.797 -1753.088 55.000 49.000
+ -24500183.73744 -19078736.64842 20633643.879 20633647.283 20633643.011
+ 1098.861 856.255 58.000 51.000
+ -22458576.30543 -17465099.34042 21040705.113 21040709.501 21040704.209
+ -1775.658 -1383.630 55.000 49.000
+ -12713004.61643 -9894899.92842 22718110.262 22718114.499 22718110.067
+ 1535.213 1196.270 50.000 44.000
+ -9588825.25943 -7437822.39842 23505642.252 23505647.413 23505640.062
+ 2022.048 1575.622 48.000 42.000
+ 04 2 1 14 51 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -5785756.03143 -4503961.90742 24246637.722 24246641.837 24246637.137
+ -3210.252 -2501.495 44.000 39.000
+ -26312920.19344 -20483444.91242 19830638.150 19830642.313 19830636.942
+ 464.343 361.826 57.000 51.000
+ -15922277.27243 -12403738.82142 22387864.130 22387868.176 22387864.204
+ 2532.809 1973.617 51.000 45.000
+ -23678680.42343 -18410913.57942 21142813.900 21142818.301 21142812.918
+ -2263.184 -1763.520 55.000 49.000
+ -24533021.51944 -19104324.53442 20627395.388 20627398.457 20627393.992
+ 1090.269 849.560 58.000 51.000
+ -22405072.41343 -17423407.99942 21050886.603 21050890.639 21050885.746
+ -1791.392 -1395.890 55.000 49.000
+ -12758995.78943 -9930737.19842 22709358.929 22709362.808 22709357.842
+ 1530.563 1192.646 50.000 44.000
+ -9649422.72543 -7485041.14442 23494110.860 23494115.908 23494109.414
+ 2017.599 1572.155 48.000 42.000
+ 04 2 1 14 51 30.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -5689350.55243 -4428840.79542 24264983.279 24264987.971 24264983.435
+ -3216.005 -2505.978 45.000 38.000
+ -26326498.37344 -20494025.30642 19828054.228 19828058.458 19828052.892
+ 441.379 343.932 57.000 51.000
+ -15998226.65843 -12462920.15742 22373411.281 22373414.940 22373411.247
+ 2531.042 1972.241 51.000 45.000
+ -23610554.89443 -18357828.76842 21155777.806 21155782.102 21155777.005
+ -2277.948 -1775.024 55.000 49.000
+ -24565566.67944 -19129684.39442 20621202.432 20621205.148 20621200.960
+ 1079.977 841.540 58.000 51.000
+ -22351066.33043 -17381325.34142 21061163.953 21061167.839 21061162.966
+ -1808.545 -1409.256 55.000 49.000
+ -12804827.47343 -9966450.16442 22700636.380 22700641.060 22700636.023
+ 1525.148 1188.427 49.000 43.000
+ -9709856.17443 -7532132.09842 23482610.700 23482614.727 23482609.334
+ 2011.734 1567.585 48.000 41.000
+ 04 2 1 14 52 0.0000000 0 8G 4G17G30G 9G 5G24G 6G10
+ -5592791.18143 -4353599.76842 24283357.050 24283361.830 24283357.543
+ -3220.558 -2509.526 43.000 38.000
+ -26339404.88844 -20504082.32942 19825598.654 19825602.404 19825597.121
+ 419.358 326.772 57.000 51.000
+ -16074142.49143 -12522075.34242 22358965.837 22358968.860 22358964.761
+ 2530.185 1971.573 52.000 45.000
+ -23542004.50143 -18304412.90442 21168822.660 21168826.597 21168821.582
+ -2291.776 -1785.799 55.000 49.000
+ -24597820.39944 -19154817.16142 20615064.756 20615067.561 20615063.342
+ 1070.620 834.249 58.000 51.000
+ -22296563.34843 -17338855.49742 21071535.121 21071539.522 21071534.614
+ -1824.732 -1421.869 55.000 49.000
+ -12850503.53443 -10002041.87042 22691945.362 22691949.088 22691944.278
+ 1520.350 1184.688 50.000 44.000
+ -9770125.87343 -7579095.45842 23471141.555 23471146.653 23471138.912
+ 2006.514 1563.517 47.000 41.000
+ 04 2 1 14 52 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -5496079.39843 -4278239.99042 24301761.509 24301766.330 24301761.000
+ -3226.165 -2513.895 44.000 38.000
+ -26351638.88644 -20513615.31242 19823270.280 19823274.277 19823269.123
+ 396.342 308.838 57.000 51.000
+ -1786347.38553 -1324119.64652 25005434.784 25005443.510 25005435.080
+ 3767.245 2935.516 39.000 35.000
+ -16150021.88443 -12581202.15442 22344526.381 22344528.913 22344525.595
+ 2528.446 1970.218 52.000 45.000
+ -23473030.70243 -18250667.11142 21181948.520 21181952.085 21181947.309
+ -2306.332 -1797.142 55.000 49.000
+ -24629779.40044 -19179720.27442 20608982.955 20608986.008 20608981.370
+ 1060.155 826.095 58.000 51.000
+ -22241564.93043 -17295999.58642 21082001.332 21082005.088 21082000.349
+ -1841.662 -1435.061 55.000 49.000
+ -12896023.80343 -10037512.19542 22683282.748 22683286.447 22683281.944
+ 1514.578 1180.191 50.000 44.000
+ -9830228.00443 -7625928.24942 23459704.562 23459709.605 23459702.627
+ 2000.240 1558.629 48.000 41.000
+ 04 2 1 14 53 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -5399220.40643 -4202765.49042 24320193.943 24320198.316 24320191.777
+ -3231.103 -2517.742 43.000 38.000
+ -26363202.51444 -20522625.93542 19821070.094 19821073.749 19821068.605
+ 374.175 291.565 57.000 51.000
+ -1899338.42343 -1412164.34942 24983933.406 24983940.611 24983931.935
+ 3765.106 2933.849 41.000 36.000
+ -16225865.69743 -12640301.23742 22330094.097 22330096.011 22330092.252
+ 2527.637 1969.587 52.000 45.000
+ -23403638.67143 -18196595.41542 21195152.657 21195157.325 21195151.959
+ -2320.047 -1807.829 55.000 49.000
+ -24661444.55344 -19204394.41942 20602956.967 20602960.237 20602955.809
+ 1050.483 818.558 58.000 51.000
+ -22186075.77743 -17252761.29242 21092560.923 21092564.383 21092559.512
+ -1857.898 -1447.713 56.000 49.000
+ -12941391.40343 -10072863.56642 22674650.147 22674654.494 22674648.279
+ 1509.456 1176.199 50.000 44.000
+ -9890162.09143 -7672630.05742 23448299.789 23448302.902 23448297.600
+ 1995.075 1554.604 47.000 41.000
+ 04 2 1 14 53 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -5302213.78143 -4127175.90642 24338652.903 24338656.210 24338653.346
+ -3236.688 -2522.094 43.000 38.000
+ -26374092.78144 -20531111.85642 19818997.649 19819001.353 19818996.245
+ 351.159 273.630 57.000 51.000
+ -2012263.13843 -1500157.38142 24962445.569 24962451.224 24962445.640
+ 3762.477 2931.800 40.000 36.000
+ -16301669.45443 -12699369.10842 22315668.835 22315672.331 22315667.174
+ 2525.527 1967.943 52.000 45.000
+ -23333828.29943 -18142197.75442 21208437.429 21208441.542 21208436.414
+ -2334.517 -1819.104 55.000 49.000
+ -24692810.92644 -19228835.74842 20596988.313 20596991.783 20596987.118
+ 1040.004 810.393 58.000 51.000
+ -22130095.01843 -17209139.92742 21103213.146 21103217.537 21103212.450
+ -1874.821 -1460.899 55.000 49.000
+ -12986604.07943 -10108094.19742 22666044.876 22666049.157 22666044.429
+ 1503.937 1171.899 50.000 44.000
+ -9949922.35143 -7719196.44042 23436927.808 23436932.185 23436925.492
+ 1988.424 1549.421 48.000 42.000
+ 04 2 1 14 54 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -5205060.10043 -4051471.77642 24357139.977 24357145.318 24357139.828
+ -3240.256 -2524.875 42.000 38.000
+ -26384307.86344 -20539071.66242 19817053.844 19817057.407 19817052.227
+ 329.652 256.872 57.000 51.000
+ -2125117.33643 -1588095.46842 24940969.271 24940974.765 24940968.274
+ 3760.808 2930.500 41.000 36.000
+ -16377429.57143 -12758402.96642 22301251.015 22301254.213 22301250.984
+ 2525.005 1967.536 52.000 45.000
+ -23263600.28843 -18087474.65542 21221801.371 21221805.718 21221800.678
+ -2347.310 -1829.073 55.000 49.000
+ -24723874.98044 -19253041.50442 20591077.161 20591079.886 20591075.725
+ 1030.821 803.237 58.000 51.000
+ -22073623.43843 -17165136.10942 21113959.971 21113963.582 21113958.928
+ -1890.098 -1472.804 56.000 49.000
+ -13031660.59143 -10143203.13542 22657471.511 22657475.167 22657470.132
+ 1499.792 1168.669 50.000 44.000
+ -10009504.27743 -7765623.87442 23425589.433 23425594.502 23425588.219
+ 1983.677 1545.722 49.000 43.000
+ 04 2 1 14 54 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -5107765.69943 -3975657.97642 24375654.936 24375659.633 24375653.018
+ -3244.980 -2528.556 41.000 38.000
+ -26393851.56444 -20546508.30842 19815237.512 19815241.210 19815236.237
+ 307.031 239.245 57.000 51.000
+ -2237902.22743 -1675979.52042 24919507.697 24919512.547 24919505.573
+ 3758.348 2928.583 41.000 37.000
+ -16453148.09843 -12817404.41942 22286843.237 22286846.508 22286843.000
+ 2523.344 1966.242 53.000 45.000
+ -23192961.30043 -18032431.31142 21235243.452 21235247.540 21235242.557
+ -2361.412 -1840.061 55.000 49.000
+ -24754638.36944 -19277012.97342 20585223.053 20585225.982 20585221.705
+ 1020.447 795.154 58.000 51.000
+ -22016666.99443 -17120754.46842 21124798.045 21124802.057 21124796.867
+ -1906.513 -1485.594 55.000 49.000
+ -13076565.37243 -10178193.84042 22648926.968 22648930.491 22648926.410
+ 1494.367 1164.442 51.000 44.000
+ -10068908.62843 -7811912.91742 23414283.801 23414289.438 23414283.840
+ 1977.072 1540.576 47.000 42.000
+ 04 2 1 14 55 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -5010332.04343 -3899735.71542 24394194.843 24394200.807 24394194.561
+ -3250.691 -2533.006 42.000 38.000
+ -26402722.72844 -20553420.90042 19813549.749 19813553.086 19813548.151
+ 283.926 221.241 57.000 51.000
+ -2350614.82943 -1763807.28342 24898057.865 24898065.805 24898056.884
+ 3755.252 2926.170 40.000 36.000
+ -16528822.50743 -12876371.47842 22272442.970 22272446.261 22272442.141
+ 2521.233 1964.597 52.000 46.000
+ -23121913.09843 -17977069.10142 21248763.523 21248767.800 21248762.276
+ -2375.569 -1851.093 54.000 48.000
+ -24785098.14044 -19300747.85842 20579426.379 20579429.789 20579425.343
+ 1009.785 786.845 58.000 51.000
+ -21959227.41943 -17075996.36442 21135728.531 21135732.358 21135727.674
+ -1923.187 -1498.587 55.000 49.000
+ -13121318.33343 -10213066.26542 22640410.432 22640415.129 22640409.427
+ 1488.746 1160.062 50.000 44.000
+ -10128131.41943 -7858060.49642 23403014.492 23403018.802 23403013.902
+ 1970.763 1535.659 48.000 42.000
+ 04 2 1 14 55 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -4912761.74043 -3823706.95242 24412761.633 24412768.302 24412762.202
+ -3254.392 -2535.890 43.000 38.000
+ -26410921.71244 -20559809.71642 19811989.195 19811993.082 19811987.952
+ 262.111 204.242 57.000 51.000
+ -2463252.12943 -1851576.37842 24876624.309 24876629.117 24876622.168
+ 3753.396 2924.724 41.000 36.000
+ -16604450.90443 -12935302.66742 22258050.982 22258054.350 22258050.379
+ 2520.174 1963.772 52.000 46.000
+ -23050458.34843 -17921390.10242 21262360.245 21262365.019 21262359.427
+ -2388.570 -1861.223 54.000 48.000
+ -24815252.23144 -19324244.55442 20573688.444 20573691.717 20573687.121
+ 1000.043 779.254 58.000 51.000
+ -21901306.78543 -17030863.41042 21146749.615 21146754.409 21146749.067
+ -1938.731 -1510.699 55.000 49.000
+ -13165920.11643 -10247820.86542 22631921.384 22631927.345 22631921.609
+ 1484.207 1156.525 49.000 44.000
+ -10187169.68143 -7904064.28942 23391780.595 23391785.744 23391779.070
+ 1964.767 1530.987 49.000 43.000
+ 04 2 1 14 56 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -4815054.82043 -3747571.69142 24431353.933 24431360.905 24431354.553
+ -3259.240 -2539.667 42.000 38.000
+ -26418446.08544 -20565672.85642 19810557.388 19810561.311 19810556.107
+ 239.536 186.651 57.000 51.000
+ -2575810.45343 -1939283.90742 24855203.760 24855210.309 24855204.241
+ 3750.580 2922.530 41.000 36.000
+ -16680029.26243 -12994194.86942 22243668.605 22243671.970 22243668.068
+ 2518.418 1962.404 52.000 45.000
+ -22978597.51243 -17865394.66942 21276035.469 21276039.815 21276034.644
+ -2402.118 -1871.780 54.000 48.000
+ -24845096.29144 -19347499.66142 20568009.492 20568012.456 20568008.028
+ 989.566 771.090 58.000 51.000
+ -21842905.00343 -16985355.53842 21157863.972 21157867.891 21157863.017
+ -1954.715 -1523.154 55.000 49.000
+ -13210369.20043 -10282456.47642 22623464.066 22623467.881 22623464.015
+ 1478.905 1152.393 50.000 43.000
+ -10246018.58643 -7949920.50342 23380582.910 23380585.864 23380580.822
+ 1958.481 1526.089 49.000 42.000
+ 04 2 1 14 56 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -4717217.21143 -3671334.64842 24449974.637 24449978.302 24449974.653
+ -3263.657 -2543.109 44.000 38.000
+ -26425299.36744 -20571013.07242 19809253.488 19809257.418 19809251.954
+ 216.892 169.007 57.000 51.000
+ -2688290.64643 -2026930.60342 24833800.944 24833807.304 24833799.874
+ 3747.325 2919.994 41.000 36.000
+ -16755559.16743 -13053049.32142 22229295.669 22229299.074 22229294.862
+ 2516.545 1960.944 52.000 45.000
+ -22906336.29943 -17809087.25542 21289786.287 21289790.913 21289785.296
+ -2415.586 -1882.275 55.000 48.000
+ -24874631.89044 -19370514.41242 20562388.773 20562391.942 20562387.430
+ 979.062 762.905 58.000 51.000
+ -21784027.84243 -16939477.23342 21169067.862 21169071.607 21169066.931
+ -1970.723 -1535.628 55.000 49.000
+ -13254669.44043 -10316976.10242 22615034.389 22615037.498 22615033.132
+ 1473.999 1148.571 50.000 44.000
+ -10304678.18443 -7995629.23042 23369418.608 23369423.679 23369418.668
+ 1951.675 1520.786 49.000 43.000
+ 04 2 1 14 57 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -4619250.50243 -3594996.97942 24468616.636 24468620.858 24468617.118
+ -3267.122 -2545.809 43.000 39.000
+ -26431480.88644 -20575829.82842 19808076.755 19808080.672 19808075.356
+ 195.255 152.147 57.000 51.000
+ -2800689.11943 -2114513.62742 24812410.564 24812419.365 24812410.667
+ 3745.945 2918.918 39.000 36.000
+ -16831038.05643 -13111864.02042 22214932.719 22214935.736 22214931.962
+ 2515.698 1960.284 52.000 46.000
+ -22833676.76843 -17752469.45942 21303613.695 21303617.198 21303612.468
+ -2428.173 -1892.083 55.000 48.000
+ -24903856.58144 -19393286.90242 20556827.179 20556830.905 20556826.090
+ 969.351 755.338 57.000 51.000
+ -21724676.88143 -16893229.72842 21180361.991 21180365.325 21180360.885
+ -1985.827 -1547.398 55.000 48.000
+ -13298820.89243 -10351379.78642 22606633.028 22606636.849 22606632.364
+ 1469.554 1145.107 50.000 44.000
+ -10363144.97543 -8041187.73342 23358292.962 23358297.620 23358292.878
+ 1946.209 1516.526 49.000 43.000
+ 04 2 1 14 57 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -4521156.99343 -3518560.52342 24487283.629 24487287.645 24487282.791
+ -3272.076 -2549.670 44.000 38.000
+ -26436990.52244 -20580123.04442 19807028.550 19807032.273 19807027.142
+ 172.273 134.239 57.000 51.000
+ -2913003.31743 -2202030.97742 24791037.868 24791044.276 24791036.179
+ 3742.771 2916.445 37.000 36.000
+ -16906464.05643 -13170637.50742 22200578.922 22200582.746 22200578.733
+ 2512.922 1958.121 52.000 46.000
+ -22760621.59443 -17695543.37442 21317514.854 21317518.987 21317513.685
+ -2441.887 -1902.769 54.000 48.000
+ -24932767.56144 -19415814.94442 20551325.850 20551329.147 20551324.668
+ 958.201 746.650 58.000 51.000
+ -21664854.26443 -16846614.72042 21191745.181 21191749.792 21191744.236
+ -2002.116 -1560.090 55.000 48.000
+ -13342824.01343 -10385667.89442 22598258.403 22598262.889 22598257.466
+ 1464.056 1140.823 50.000 44.000
+ -10421415.82943 -8086593.56942 23347204.588 23347208.179 23347203.709
+ 1939.008 1510.915 50.000 43.000
+ 04 2 1 14 58 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -4422937.46243 -3442025.88542 24505974.448 24505979.259 24505973.734
+ -3275.887 -2552.639 46.000 39.000
+ -26441826.89644 -20583891.63742 19806108.484 19806111.991 19806107.199
+ 150.040 116.914 57.000 51.000
+ -3025229.41653 -2289479.67252 24769679.300 24769691.270 24769678.541
+ 3739.905 2914.212 37.000 35.000
+ -16981833.74243 -13229367.10542 22186237.532 22186240.973 22186236.537
+ 2511.462 1956.983 53.000 46.000
+ -22687172.00443 -17638309.96342 21331492.374 21331496.480 21331491.237
+ -2454.700 -1912.753 54.000 48.000
+ -24961361.79144 -19438096.16742 20545884.711 20545887.915 20545883.397
+ 948.027 738.722 58.000 51.000
+ -21604560.80843 -16799632.80742 21203219.038 21203223.049 21203218.252
+ -2017.546 -1572.114 55.000 48.000
+ -13386677.86743 -10419839.70642 22589913.208 22589918.258 22589911.949
+ 1459.443 1137.228 50.000 44.000
+ -10479486.12843 -8131843.09842 23336153.528 23336159.794 23336153.080
+ 1932.241 1505.642 48.000 43.000
+ 04 2 1 14 58 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -4324596.44543 -3365396.55442 24524687.875 24524691.888 24524686.963
+ -3279.777 -2555.670 44.000 38.000
+ -26445992.27044 -20587137.37242 19805315.803 19805319.311 19805314.491
+ 127.739 99.537 57.000 51.000
+ -3137367.37853 -2376859.70252 24748342.584 24748349.077 24748342.263
+ 3737.156 2912.070 37.000 35.000
+ -17057147.18443 -13288052.87342 22171905.782 22171909.002 22171904.760
+ 2509.722 1955.628 53.000 46.000
+ -22613332.82643 -17580772.96442 21345543.594 21345547.233 21345542.565
+ -2467.624 -1922.824 54.000 48.000
+ -24989639.45644 -19460130.71342 20540503.487 20540507.072 20540502.217
+ 937.506 730.524 58.000 51.000
+ -21543801.21143 -16752287.68042 21214781.185 21214785.359 21214780.212
+ -2032.887 -1584.068 55.000 48.000
+ -13430385.10043 -10453897.26742 22581596.206 22581600.811 22581595.366
+ 1454.638 1133.484 50.000 44.000
+ -10537354.99843 -8176935.68442 23325142.662 23325147.079 23325140.346
+ 1925.661 1500.515 49.000 42.000
+ 04 2 1 14 59 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -4226135.25943 -3288673.57942 24543424.003 24543428.684 24543423.028
+ -3283.754 -2558.769 44.000 38.000
+ -26449485.63344 -20589859.46442 19804650.949 19804654.471 19804649.434
+ 105.488 82.198 57.000 51.000
+ -3249413.27653 -2464167.96952 24727022.148 24727031.377 24727021.864
+ 3733.819 2909.469 39.000 35.000
+ -17132401.56243 -13346692.63342 22157585.565 22157589.175 22157584.904
+ 2507.709 1954.059 53.000 46.000
+ -22539105.51643 -17522933.53642 21359668.015 21359672.510 21359667.288
+ -2480.446 -1932.815 54.000 48.000
+ -25017597.30044 -19481916.05442 20535183.485 20535186.848 20535182.292
+ 926.847 722.218 58.000 51.000
+ -21482576.66543 -16704580.24542 21226432.235 21226436.110 21226430.943
+ -2048.132 -1595.947 55.000 48.000
+ -13473945.29443 -10487840.23642 22573307.868 22573310.676 22573306.769
+ 1449.857 1129.759 50.000 44.000
+ -10595018.53743 -8221868.27142 23314169.149 23314173.065 23314167.844
+ 1918.783 1495.156 49.000 43.000
+ 04 2 1 14 59 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -4127554.46943 -3211857.43642 24562182.918 24562188.530 24562183.355
+ -3287.902 -2562.001 43.000 38.000
+ -26452305.67744 -20592056.88242 19804114.251 19804118.166 19804112.965
+ 82.983 64.662 57.000 51.000
+ -3361362.98853 -2551401.33552 24705719.018 24705725.125 24705717.272
+ 3730.666 2907.012 38.000 34.000
+ -17207593.31743 -13405283.58142 22143276.549 22143280.294 22143275.767
+ 2505.640 1952.447 52.000 46.000
+ -22464491.25543 -17464792.58042 21373866.838 21373870.955 21373865.856
+ -2493.384 -1942.897 54.000 48.000
+ -25045231.52544 -19503449.22142 20529924.887 20529928.147 20529923.839
+ 915.923 713.706 58.000 51.000
+ -21420887.56143 -16656510.82342 21238171.015 21238175.349 21238169.842
+ -2063.897 -1608.231 55.000 48.000
+ -13517357.33643 -10521667.77542 22565045.214 22565049.598 22565044.620
+ 1444.829 1125.841 50.000 44.000
+ -10652471.86343 -8266637.05342 23303235.656 23303240.750 23303234.721
+ 1911.914 1489.803 49.000 43.000
+ 04 2 1 15 0 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -4028859.00643 -3134951.91942 24580964.821 24580968.543 24580964.498
+ -3291.294 -2564.645 45.000 39.000
+ -26454455.10644 -20593731.75342 19803704.910 19803708.880 19803703.662
+ 60.879 47.438 57.000 51.000
+ -3473216.53143 -2638559.70942 24684435.667 24684438.124 24684431.897
+ 3726.734 2903.949 40.000 34.000
+ -17282723.10243 -13463826.25342 22128979.461 22128983.346 22128979.244
+ 2503.683 1950.922 53.000 46.000
+ -22389495.19943 -17406354.12942 21388138.383 21388142.627 21388137.524
+ -2505.713 -1952.504 54.000 48.000
+ -25072542.35344 -19524730.39842 20524727.835 20524731.120 20524726.770
+ 905.371 705.484 58.000 51.000
+ -21358739.26043 -16608083.58042 21249997.292 21250001.759 21249996.372
+ -2078.738 -1619.796 55.000 48.000
+ -13560624.43743 -10555382.36342 22556813.258 22556816.859 22556812.695
+ 1440.198 1122.232 50.000 44.000
+ -10709714.62943 -8311241.77042 23292343.106 23292347.261 23292341.719
+ 1905.125 1484.513 49.000 43.000
+ 04 2 1 15 0 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -3930053.66543 -3057960.76342 24599767.560 24599770.294 24599767.981
+ -3295.046 -2567.568 45.000 38.000
+ -26455936.43044 -20594886.01742 19803423.190 19803426.642 19803421.884
+ 38.425 29.942 57.000 51.000
+ -3584974.18043 -2725643.38742 24663169.951 24663172.197 24663165.815
+ 3723.964 2901.790 41.000 35.000
+ -17357791.15443 -13522320.82742 22114694.148 22114697.972 22114694.102
+ 2501.473 1949.200 52.000 46.000
+ -22314122.32043 -17347622.04242 21402481.068 21402485.791 21402480.256
+ -2518.422 -1962.407 54.000 48.000
+ -25099530.56544 -19545760.18042 20519592.336 20519595.288 20519591.056
+ 894.419 696.950 58.000 51.000
+ -21296136.25143 -16559302.01642 21261910.520 21261914.569 21261909.466
+ -2094.119 -1631.781 55.000 48.000
+ -13603749.56943 -10588986.33242 22548605.911 22548610.000 22548605.444
+ 1435.330 1118.439 50.000 44.000
+ -10766746.21243 -8355681.93642 23281489.733 23281494.222 23281488.488
+ 1897.926 1478.903 49.000 44.000
+ 04 2 1 15 1 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -3831135.87143 -2980882.01742 24618591.773 24618594.573 24618589.535
+ -3299.013 -2570.659 44.000 38.000
+ -26456745.43544 -20595516.39142 19803269.462 19803273.181 19803267.865
+ 15.639 12.186 57.000 51.000
+ -3696628.34943 -2812646.40442 24641921.695 24641924.023 24641918.448
+ 3719.664 2898.439 40.000 34.000
+ -17432790.94543 -13580762.20442 22100422.715 22100426.848 22100422.503
+ 2498.690 1947.031 52.000 46.000
+ -22238370.87843 -17288594.97642 21416896.038 21416900.393 21416895.128
+ -2531.331 -1972.466 54.000 48.000
+ -25126189.45844 -19566533.35842 20514519.109 20514522.268 20514517.671
+ 883.057 688.096 58.000 51.000
+ -21233076.27643 -16510164.37742 21273910.161 21273914.533 21273909.255
+ -2109.687 -1643.912 55.000 48.000
+ -13646728.64643 -10622476.49642 22540427.245 22540432.143 22540426.296
+ 1430.121 1114.380 50.000 44.000
+ -10823559.07643 -8399951.67042 23270678.915 23270684.400 23270678.338
+ 1889.774 1472.551 48.000 43.000
+ 04 2 1 15 1 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -3732112.17743 -2903720.70842 24637436.399 24637437.984 24637433.072
+ -3302.462 -2573.347 45.000 37.000
+ -26456886.42444 -20595626.23942 19803242.248 19803246.107 19803240.948
+ -6.350 -4.948 57.000 51.000
+ -3808180.95943 -2899570.31342 24620691.560 24620697.445 24620691.058
+ 3717.030 2896.387 42.000 34.000
+ -17507724.82243 -13639152.21942 22086163.261 22086166.507 22086162.478
+ 2496.760 1945.527 52.000 46.000
+ -22162247.65143 -17229278.20542 21431381.604 21431386.551 21431380.914
+ -2543.524 -1981.967 53.000 48.000
+ -25152521.06044 -19587051.50242 20509508.447 20509511.550 20509507.110
+ 872.292 679.708 58.000 51.000
+ -21169565.70643 -16460675.63342 21285996.129 21286000.089 21285995.078
+ -2124.389 -1655.368 55.000 48.000
+ -13689566.29743 -10655856.45742 22532275.310 22532281.192 22532274.906
+ 1425.650 1110.896 50.000 44.000
+ -10880154.25843 -8444051.76942 23259909.893 23259913.902 23259909.361
+ 1883.098 1467.349 49.000 43.000
+ 04 2 1 15 2 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -3632982.11243 -2826476.55742 24656298.292 24656303.858 24656296.938
+ -3305.628 -2575.814 44.000 37.000
+ -26456357.16744 -20595213.81842 19803343.147 19803346.910 19803341.865
+ -28.549 -22.246 57.000 51.000
+ -3919626.49943 -2986410.82542 24599483.021 24599489.844 24599481.346
+ 3713.170 2893.379 42.000 35.000
+ -17582587.84943 -13697487.03142 22071917.553 22071920.473 22071917.223
+ 2494.478 1943.749 53.000 46.000
+ -22085752.67243 -17169671.75142 21445938.818 21445942.563 21445937.541
+ -2555.590 -1991.369 54.000 48.000
+ -25178520.49044 -19607310.80142 20504560.823 20504563.963 20504559.742
+ 861.456 671.264 58.000 51.000
+ -21105604.30043 -16410835.58842 21298167.304 21298171.581 21298166.411
+ -2139.243 -1666.942 55.000 48.000
+ -13732260.41443 -10689124.57042 22524151.784 22524154.733 22524150.912
+ 1421.014 1107.284 51.000 44.000
+ -10936525.85543 -8487977.64542 23249182.460 23249187.968 23249181.332
+ 1875.771 1461.640 49.000 43.000
+ 04 2 1 15 2 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -3533748.92843 -2749152.05442 24675181.466 24675186.410 24675180.203
+ -3309.656 -2578.953 45.000 37.000
+ -26455158.91044 -20594280.09242 19803571.079 19803574.979 19803569.736
+ -51.247 -39.933 57.000 51.000
+ -4030964.02543 -3073167.16342 24578296.613 24578302.870 24578294.628
+ 3709.434 2890.468 44.000 35.000
+ -17657379.08943 -13755765.92342 22057684.572 22057688.032 22057684.258
+ 2491.626 1941.527 53.000 46.000
+ -22008889.60643 -17109778.47242 21460565.207 21460569.635 21460564.423
+ -2568.376 -2001.332 54.000 48.000
+ -25204186.59244 -19627310.36042 20499676.892 20499680.054 20499675.676
+ 849.873 662.239 58.000 51.000
+ -21041195.55143 -16360646.97342 21310424.315 21310428.303 21310423.345
+ -2154.538 -1678.861 55.000 48.000
+ -13774812.30443 -10722281.87942 22516054.504 22516058.367 22516052.953
+ 1416.083 1103.441 50.000 44.000
+ -10992671.88243 -8531727.78142 23238498.061 23238502.778 23238496.059
+ 1867.512 1455.204 49.000 43.000
+ 04 2 1 15 3 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -3434397.65443 -2671735.46342 24694089.038 24694090.774 24694088.353
+ -3313.736 -2582.132 44.000 37.000
+ -26453274.64744 -20592811.82342 19803929.749 19803933.513 19803928.271
+ -74.277 -57.878 57.000 51.000
+ -4142173.36443 -3159823.62942 24557134.349 24557140.469 24557131.703
+ 3704.520 2886.639 45.000 35.000
+ -17732079.11243 -13813973.73142 22043469.769 22043473.483 22043469.500
+ 2488.376 1938.994 53.000 46.000
+ -21931643.88443 -17049587.04042 21475264.207 21475268.706 21475263.634
+ -2581.194 -2011.320 53.000 48.000
+ -25229500.13644 -19647035.20142 20494860.033 20494863.041 20494858.717
+ 837.946 652.945 58.000 51.000
+ -20976324.45643 -16310098.08142 21322768.365 21322773.055 21322767.607
+ -2170.017 -1690.922 55.000 48.000
+ -13817205.36143 -10755315.41042 22507987.234 22507991.403 22507985.885
+ 1410.529 1099.114 51.000 44.000
+ -11048572.07143 -8575286.33442 23227861.078 23227865.802 23227859.127
+ 1858.865 1448.466 49.000 43.000
+ 04 2 1 15 3 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -3334966.71243 -2594256.85942 24713009.195 24713013.110 24713009.824
+ -3315.424 -2583.447 44.000 37.000
+ -26450741.10944 -20590837.61042 19804411.557 19804415.558 19804410.419
+ -95.138 -74.133 57.000 51.000
+ -4253288.42843 -3246406.61542 24535989.852 24535995.763 24535989.468
+ 3702.346 2884.945 45.000 36.000
+ -17806722.41543 -13872137.33642 22029266.020 22029269.505 22029265.573
+ 2487.289 1938.147 53.000 46.000
+ -21854054.78343 -16989128.03442 21490029.061 21490033.586 21490028.226
+ -2591.784 -2019.572 53.000 47.000
+ -25254495.48844 -19666512.09842 20490103.357 20490106.664 20490102.137
+ 827.992 645.189 58.000 52.000
+ -20911029.70943 -16259219.07042 21335193.487 21335198.099 21335192.615
+ -2183.394 -1701.346 54.000 48.000
+ -13859476.54143 -10788253.97742 22499942.538 22499946.864 22499942.644
+ 1407.117 1096.455 51.000 45.000
+ -11104259.79343 -8618679.30442 23217264.263 23217269.017 23217262.922
+ 1852.470 1443.483 49.000 43.000
+ 04 2 1 15 4 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -3235438.21643 -2516702.19042 24731949.225 24731951.151 24731948.130
+ -3318.121 -2585.549 43.000 36.000
+ -26447538.71744 -20588342.21842 19805020.924 19805024.681 19805019.556
+ -117.043 -91.202 57.000 51.000
+ -4364286.31143 -3332898.29142 24514868.640 24514872.218 24514866.564
+ 3698.593 2882.021 46.000 36.000
+ -17881286.44843 -13930239.17442 22015077.563 22015079.901 22015076.246
+ 2484.900 1936.286 53.000 46.000
+ -21776104.64043 -16928387.68942 21504863.345 21504866.591 21504861.866
+ -2603.518 -2028.715 54.000 47.000
+ -25279150.25544 -19685723.61142 20485411.761 20485414.885 20485410.350
+ 816.916 636.558 58.000 51.000
+ -20845293.13243 -16207995.77542 21347702.958 21347707.418 21347701.854
+ -2197.736 -1712.521 54.000 48.000
+ -13901606.14343 -10821082.23742 22491926.607 22491930.208 22491925.533
+ 1402.881 1093.154 51.000 45.000
+ -11159711.84043 -8661888.64242 23206711.095 23206715.904 23206709.848
+ 1845.210 1437.826 50.000 43.000
+ 04 2 1 15 4 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -3135817.47643 -2439075.67842 24750906.473 24750909.582 24750907.411
+ -3322.151 -2588.689 43.000 36.000
+ -26443670.62544 -20585328.10742 19805757.188 19805761.069 19805755.886
+ -140.137 -109.198 57.000 51.000
+ -4475167.71543 -3419299.19642 24493767.650 24493772.138 24493766.302
+ 3694.096 2878.516 46.000 37.000
+ -17955772.36243 -13988280.14742 22000903.062 22000906.164 22000903.026
+ 2481.406 1933.563 53.000 46.000
+ -21697799.07743 -16867370.39642 21519763.706 21519767.891 21519762.694
+ -2616.228 -2038.619 54.000 47.000
+ -25303465.72244 -19704670.73042 20480784.585 20480787.802 20480783.198
+ 804.752 627.079 58.000 51.000
+ -20779120.41443 -16156432.62742 21360295.337 21360299.645 21360294.466
+ -2213.054 -1724.458 55.000 48.000
+ -13943597.72143 -10853802.92842 22483935.137 22483939.686 22483934.267
+ 1397.465 1088.934 50.000 44.000
+ -11214928.19043 -8704914.34942 23196204.401 23196208.066 23196202.657
+ 1836.394 1430.956 51.000 43.000
+ 04 2 1 15 5 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -3036119.27143 -2361388.74342 24769876.407 24769882.461 24769875.722
+ -3325.916 -2591.623 42.000 36.000
+ -26439150.52544 -20581805.93342 19806617.395 19806621.043 19806616.141
+ -162.750 -126.818 57.000 51.000
+ -4585943.28943 -3505617.62642 24472687.312 24472692.211 24472685.939
+ 3689.557 2874.979 45.000 37.000
+ -18030190.92343 -14046268.62942 21986741.502 21986744.415 21986740.883
+ 2478.291 1931.136 53.000 46.000
+ -21619153.83943 -16806088.41442 21534729.999 21534734.013 21534728.574
+ -2628.428 -2048.126 54.000 47.000
+ -25327452.38644 -19723361.64042 20476219.954 20476223.163 20476218.684
+ 792.933 617.870 58.000 51.000
+ -20712526.95743 -16104541.64542 21372967.669 21372971.911 21372966.748
+ -2228.025 -1736.123 54.000 48.000
+ -13985464.67043 -10886426.49742 22475968.113 22475973.426 22475967.226
+ 1392.455 1085.030 51.000 45.000
+ -11269918.72743 -8747764.12842 23185739.551 23185743.385 23185738.528
+ 1828.043 1424.449 50.000 43.000
+ 04 2 1 15 5 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -2936315.18043 -2283619.29942 24788870.504 24788873.616 24788867.472
+ -3328.536 -2593.664 44.000 36.000
+ -26433947.66344 -20577751.74542 19807607.491 19807610.900 19807606.121
+ -184.892 -144.072 57.000 51.000
+ -4696578.98043 -3591827.08142 24451633.147 24451638.591 24451631.272
+ 3685.287 2871.652 46.000 38.000
+ -18104508.93043 -14104178.76242 21972599.414 21972601.905 21972598.751
+ 2475.426 1928.903 53.000 46.000
+ -21540140.63643 -16744519.71242 21549765.026 21549769.024 21549764.013
+ -2639.919 -2057.080 53.000 47.000
+ -25351077.40344 -19741770.74842 20471724.432 20471727.618 20471723.369
+ 781.396 608.880 58.000 51.000
+ -20645484.05543 -16052300.45142 21385725.624 21385730.203 21385724.702
+ -2242.251 -1747.208 54.000 48.000
+ -14027176.39143 -10918929.10542 22468030.445 22468034.617 22468029.260
+ 1387.803 1081.405 51.000 44.000
+ -11324649.27543 -8790411.27642 23175325.436 23175330.058 23175323.945
+ 1819.908 1418.110 49.000 43.000
+ 04 2 1 15 6 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -2836424.68143 -2205782.64442 24807879.349 24807880.613 24807878.680
+ -3330.158 -2594.928 45.000 36.000
+ -26428080.09844 -20573179.60842 19808723.907 19808727.666 19808722.518
+ -205.615 -160.219 57.000 51.000
+ -4807089.81843 -3677939.22742 24430603.705 24430608.919 24430603.218
+ 3682.602 2869.560 45.000 38.000
+ -18178741.87243 -14162022.61842 21958473.048 21958476.004 21958472.274
+ 2473.888 1927.705 53.000 46.000
+ -21460779.78843 -16682680.12242 21564867.023 21564871.389 21564866.044
+ -2650.079 -2064.997 53.000 47.000
+ -25374356.01544 -19759909.93242 20467294.659 20467297.847 20467293.509
+ 771.131 600.881 58.000 51.000
+ -20578011.66143 -15999724.57942 21398565.129 21398569.486 21398564.375
+ -2255.347 -1757.413 55.000 48.000
+ -14068751.01543 -10951324.87942 22460119.424 22460122.449 22460118.179
+ 1384.459 1078.799 51.000 44.000
+ -11379134.61943 -8832867.36042 23164957.098 23164962.065 23164954.362
+ 1813.167 1412.857 49.000 44.000
+ 04 2 1 15 6 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -2736450.43843 -2127880.63342 24826904.395 24826903.693 24826902.239
+ -3333.416 -2597.467 44.000 36.000
+ -26421549.06544 -20568090.47942 19809966.772 19809970.313 19809965.464
+ -228.400 -177.974 57.000 51.000
+ -4917473.73143 -3763952.46342 24409598.288 24409602.866 24409597.154
+ 3677.413 2865.517 46.000 38.000
+ -18252888.14543 -14219798.93242 21944364.140 21944366.276 21944363.533
+ 2470.474 1925.045 54.000 46.000
+ -21381074.55843 -16620572.17842 21580033.897 21580038.897 21580032.970
+ -2662.177 -2074.424 53.000 47.000
+ -25397287.20044 -19777778.39242 20462930.934 20462934.248 20462929.751
+ 758.863 591.322 58.000 51.000
+ -20510112.70643 -15946816.34242 21411486.403 21411490.199 21411485.006
+ -2269.942 -1768.786 55.000 48.000
+ -14110189.55843 -10983614.62842 22452234.929 22452237.691 22452233.076
+ 1379.338 1074.809 51.000 45.000
+ -11433372.10743 -8875130.29642 23154635.754 23154639.979 23154633.368
+ 1804.200 1405.870 49.000 44.000
+ 04 2 1 15 7 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -2636394.85943 -2049915.21842 24845942.451 24845944.967 24845940.225
+ -3336.711 -2600.034 43.000 35.000
+ -26414355.32044 -20562484.94842 19811335.419 19811339.283 19811334.145
+ -250.691 -195.344 57.000 51.000
+ -5027728.39843 -3849865.02342 24388617.429 24388622.043 24388615.645
+ 3673.489 2862.459 46.000 38.000
+ -18326945.80843 -14277506.20042 21930270.241 21930274.449 21930270.395
+ 2467.128 1922.437 54.000 47.000
+ -21301027.96743 -16558198.24442 21595266.901 21595271.078 21595265.750
+ -2673.812 -2083.490 53.000 47.000
+ -25419868.48844 -19795374.20442 20458633.851 20458637.094 20458632.567
+ 746.957 582.044 58.000 51.000
+ -20441789.76343 -15893577.71042 21424487.412 21424491.970 21424486.291
+ -2284.558 -1780.175 54.000 48.000
+ -14151492.81943 -11015798.97342 22444373.793 22444377.960 22444373.463
+ 1374.617 1071.130 51.000 45.000
+ -11487358.86043 -8917197.87542 23144362.182 23144366.647 23144360.826
+ 1795.398 1399.011 50.000 44.000
+ 04 2 1 15 7 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -2536258.08243 -1971886.52042 24864997.502 24865002.183 24864996.485
+ -3339.209 -2601.981 41.000 35.000
+ -26406497.32944 -20556361.82742 19812830.632 19812834.679 19812829.492
+ -273.489 -213.108 57.000 51.000
+ -5137849.86443 -3935673.79342 24367662.131 24367666.293 24367660.528
+ 3667.921 2858.120 46.000 38.000
+ -18400910.66243 -14335141.15242 21916195.426 21916198.562 21916194.847
+ 2463.523 1919.628 53.000 47.000
+ -21220640.56843 -16495558.73042 21610564.343 21610567.944 21610563.252
+ -2685.675 -2092.734 53.000 47.000
+ -25442095.76644 -19812694.16242 20454404.004 20454407.359 20454402.920
+ 734.562 572.386 58.000 51.000
+ -20373043.20943 -15840008.97842 21437569.052 21437573.016 21437568.161
+ -2299.062 -1791.477 54.000 48.000
+ -14192659.33643 -11047876.75042 22436538.929 22436544.459 22436539.571
+ 1369.492 1067.137 50.000 44.000
+ -11541089.64043 -8959065.97042 23134138.472 23134142.502 23134136.488
+ 1786.250 1391.883 50.000 44.000
+ 04 2 1 15 8 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -2436045.43843 -1893798.72742 24884068.256 24884071.038 24884071.292
+ -3342.063 -2604.205 43.000 34.000
+ -26397979.31244 -20549724.40242 19814451.995 19814455.750 19814450.865
+ -294.813 -229.724 57.000 51.000
+ -5247838.34543 -4021378.92442 24346732.128 24346735.138 24346731.254
+ 3663.983 2855.052 46.000 38.000
+ -18474783.70043 -14392704.56142 21902138.040 21902141.059 21902137.184
+ 2460.914 1917.595 53.000 47.000
+ -21139918.38143 -16432658.35142 21625925.305 21625929.064 21625924.036
+ -2696.288 -2101.004 53.000 47.000
+ -25463970.48444 -19829739.39542 20450241.433 20450245.036 20450240.330
+ 723.252 563.573 58.000 51.000
+ -20303878.73443 -15786114.59842 21450731.169 21450734.912 21450729.814
+ -2312.322 -1801.809 55.000 47.000
+ -14233692.75443 -11079850.84542 22428731.365 22428735.307 22428729.872
+ 1365.621 1064.120 50.000 45.000
+ -11594564.84443 -9000734.92642 23123961.047 23123966.545 23123959.305
+ 1778.327 1385.709 49.000 43.000
+ 04 2 1 15 8 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -2335759.72243 -1815654.01042 24903151.826 24903152.994 24903152.153
+ -3344.902 -2606.417 43.000 34.000
+ -26388802.04344 -20542573.27442 19816198.294 19816202.054 19816196.969
+ -317.250 -247.208 57.000 51.000
+ -5357691.45243 -4106978.60042 24325828.928 24325832.214 24325825.008
+ 3659.521 2851.575 46.000 38.000
+ -18548563.23243 -14450195.09442 21888097.858 21888102.058 21888097.677
+ 2457.379 1914.841 53.000 47.000
+ -21058864.48543 -16369499.49342 21641349.142 21641353.319 21641347.914
+ -2707.475 -2109.721 53.000 47.000
+ -25485491.23044 -19846508.80542 20446146.428 20446149.669 20446145.000
+ 711.101 554.105 58.000 51.000
+ -20234299.26843 -15731896.84942 21463971.455 21463975.513 21463970.339
+ -2326.591 -1812.928 54.000 47.000
+ -14274593.81443 -11111721.79142 22420948.000 22420952.545 22420947.034
+ 1360.905 1060.445 50.000 45.000
+ -11647781.98743 -9042202.81242 23113834.795 23113839.099 23113832.865
+ 1769.294 1378.671 50.000 43.000
+ 04 2 1 15 9 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -2235398.43843 -1737450.32342 24922248.926 24922250.629 24922247.768
+ -3346.681 -2607.803 42.000 34.000
+ -26378961.89244 -20534905.61142 19818070.703 19818074.768 19818069.444
+ -338.773 -263.979 57.000 51.000
+ -5467402.86743 -4192467.86842 24304950.193 24304954.323 24304949.329
+ 3654.619 2847.755 46.000 38.000
+ -18622242.66143 -14507607.63442 21874078.101 21874081.001 21874076.917
+ 2454.491 1912.590 54.000 47.000
+ -20977477.63043 -16306081.19142 21656835.986 21656840.964 21656835.845
+ -2718.139 -2118.030 53.000 47.000
+ -25506651.63644 -19862997.43242 20442119.698 20442123.013 20442118.206
+ 699.604 545.146 58.000 51.000
+ -20164302.89343 -15677354.24242 21477291.453 21477295.454 21477290.062
+ -2339.926 -1823.319 54.000 47.000
+ -14315358.75843 -11143486.65142 22413190.942 22413195.017 22413189.551
+ 1356.960 1057.371 50.000 45.000
+ -11700733.53343 -9083463.76142 23103758.312 23103761.497 23103757.083
+ 1760.950 1372.169 50.000 43.000
+ 04 2 1 15 9 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -6861226.51153 -5341991.67052 24941358.680 24941361.618 24941357.570
+ -3349.572 -2610.056 39.000 32.000
+ -26368462.25044 -20526724.06342 19820068.732 19820072.511 19820067.327
+ -361.146 -281.412 57.000 51.000
+ -5576972.59143 -4277846.70042 24284097.908 24284102.801 24284096.494
+ 3649.299 2843.610 44.000 38.000
+ -18695822.71743 -14564942.73442 21860075.932 21860079.057 21860075.018
+ 2450.544 1909.515 53.000 47.000
+ -20895763.05243 -16242407.52442 21672386.199 21672390.600 21672385.360
+ -2729.637 -2126.990 53.000 47.000
+ -25527452.26344 -19879205.71142 20438161.369 20438164.601 20438159.967
+ 687.009 535.332 58.000 51.000
+ -20093894.63743 -15622490.69042 21490689.642 21490693.558 21490688.680
+ -2354.096 -1834.360 55.000 47.000
+ -14355990.84043 -11175147.98342 22405459.467 22405463.205 22405459.013
+ 1351.782 1053.337 51.000 45.000
+ -11753419.20843 -9124517.49442 23093732.910 23093736.199 23093730.819
+ 1751.478 1364.788 49.000 43.000
+ 04 2 1 15 10 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -6760729.87353 -5263682.52052 24960481.987 24960487.594 24960480.722
+ -3350.477 -2610.761 39.000 32.000
+ -26357307.87544 -20518032.33142 19822191.508 19822194.810 19822190.150
+ -382.773 -298.265 57.000 51.000
+ -5686401.47143 -4363115.80242 24263273.964 24263279.322 24263272.291
+ 3646.135 2841.144 43.000 37.000
+ -18769304.91743 -14622201.57642 21846092.845 21846095.980 21846091.809
+ 2447.822 1907.394 54.000 47.000
+ -20813727.51843 -16178483.75942 21687997.273 21688001.254 21687996.161
+ -2739.792 -2134.903 53.000 47.000
+ -25547894.92944 -19895135.06242 20434271.422 20434274.397 20434270.015
+ 675.448 526.323 58.000 51.000
+ -20023081.02743 -15567311.27342 21504165.546 21504169.053 21504164.563
+ -2367.183 -1844.558 55.000 47.000
+ -14396494.46443 -11206709.22942 22397751.904 22397755.238 22397751.363
+ 1348.092 1050.461 51.000 45.000
+ -11805840.22843 -9165364.98742 23083757.460 23083762.987 23083756.273
+ 1742.993 1358.176 50.000 43.000
+ 04 2 1 15 10 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -5185321.39752 24979619.548 24979623.103
+ -3352.922 -2612.666 40.000 32.000
+ -26345495.40644 -20508827.80042 19824439.329 19824442.981 19824438.248
+ -404.470 -315.171 57.000 51.000
+ -5795683.18343 -4448270.24342 24242480.668 24242483.067 24242478.266
+ 3640.337 2836.626 44.000 37.000
+ -18842682.66943 -14679379.03042 21832129.202 21832132.631 21832128.277
+ 2444.311 1904.658 54.000 47.000
+ -20731369.60343 -16114308.78542 21703669.547 21703673.702 21703668.649
+ -2750.464 -2143.219 53.000 47.000
+ -25567973.30044 -19910780.54342 20430450.395 20430453.748 20430449.081
+ 663.384 516.923 58.000 51.000
+ -19951860.09443 -15511814.47242 21517718.293 21517722.607 21517717.404
+ -2380.755 -1855.134 54.000 47.000
+ -14436865.70443 -11238167.32042 22390069.799 22390073.588 22390068.226
+ 1343.629 1046.984 52.000 45.000
+ -11857989.03043 -9206000.40842 23073834.058 23073837.855 23073832.727
+ 1733.829 1351.036 51.000 44.000
+ 04 2 1 15 11 0.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -5106911.43252 24998768.247 24998773.327
+ -3355.419 -2614.612 38.000 31.000
+ -26333027.72244 -20499112.72042 19826811.617 19826815.331 19826810.293
+ -426.750 -332.532 57.000 51.000
+ -5904817.52143 -4533309.83142 24221713.032 24221717.260 24221711.218
+ 3635.384 2832.767 44.000 38.000
+ -18915956.16343 -14736475.25342 21818185.851 21818189.361 21818185.570
+ 2440.509 1901.695 54.000 47.000
+ -20648694.20443 -16049886.43242 21719402.679 21719406.480 21719401.640
+ -2761.297 -2151.660 53.000 47.000
+ -25587687.49744 -19926142.25542 20426698.547 20426702.372 20426697.573
+ 650.891 507.188 58.000 51.000
+ -19880236.40343 -15456003.83542 21531348.084 21531352.001 21531347.039
+ -2394.340 -1865.719 54.000 47.000
+ -14477107.44043 -11269524.50042 22382411.989 22382415.270 22382410.445
+ 1339.175 1043.513 51.000 45.000
+ -11909864.84143 -9246423.13142 23063962.900 23063966.262 23063960.578
+ 1724.486 1343.755 50.000 44.000
+ 04 2 1 15 11 30.0000000 0 9G 4G17G21G30G 9G 5G24G 6G10
+ -5028453.22152 25017927.353 25017931.624
+ -3358.788 -2617.237 39.000 32.000
+ -26319904.19344 -20488886.59242 19829309.245 19829312.601 19829307.807
+ -448.542 -349.513 57.000 51.000
+ -6013800.11643 -4618231.19642 24200974.093 24200977.173 24200971.620
+ 3629.956 2828.537 44.000 38.000
+ -18989121.59343 -14793487.25542 21804262.620 21804266.397 21804262.562
+ 2436.769 1898.781 54.000 47.000
+ -20565702.76943 -15985217.80842 21735194.549 21735199.075 21735194.046
+ -2771.789 -2159.835 53.000 46.000
+ -25607034.30744 -19941217.68542 20423017.656 20423020.523 20423016.304
+ 638.474 497.512 58.000 51.000
+ -19808211.06443 -15399880.21542 21545053.351 21545057.615 21545052.372
+ -2407.575 -1876.032 54.000 47.000
+ -14517218.66043 -11300779.97042 22374778.804 22374782.917 22374777.792
+ 1334.660 1039.995 51.000 45.000
+ -11961463.15143 -9286629.55842 23054142.758 23054147.758 23054140.786
+ 1715.130 1336.465 49.000 44.000
+ 04 2 1 15 12 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26306125.51744 -20478149.95642 19831931.045 19831935.040 19831929.635
+ -470.324 -366.486 57.000 51.000
+ -6122628.37243 -4703032.30942 24180264.319 24180267.753 24180262.602
+ 3624.697 2824.439 45.000 38.000
+ -19062176.50143 -14850413.14642 21790361.217 21790364.565 21790360.541
+ 2433.214 1896.011 54.000 47.000
+ -20482397.87043 -15920304.92942 21751047.531 21751051.189 21751046.588
+ -2782.187 -2167.938 53.000 46.000
+ -25626011.53344 -19956005.13242 20419405.950 20419409.438 20419404.660
+ 626.298 488.024 58.000 51.000
+ -19735786.61943 -15343445.60442 21558834.549 21558839.488 21558833.961
+ -2421.059 -1886.539 53.000 47.000
+ -14557199.50243 -11331933.85942 22367170.548 22367174.040 22367169.666
+ 1330.427 1036.696 51.000 45.000
+ -12012780.69943 -9326617.21342 23044378.000 23044382.423 23044377.499
+ 1705.691 1329.110 50.000 44.000
+ 04 2 1 15 12 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26291695.55744 -20466905.81842 19834677.102 19834680.613 19834675.715
+ -492.289 -383.602 57.000 51.000
+ -6231302.76443 -4787713.52442 24159584.445 24159587.190 24159582.949
+ 3618.955 2819.965 46.000 39.000
+ -19135121.66643 -14907253.52142 21776480.167 21776483.191 21776479.500
+ 2429.310 1892.969 54.000 47.000
+ -20398785.34343 -15855152.33842 21766958.277 21766962.966 21766957.294
+ -2792.649 -2176.090 53.000 47.000
+ -25644620.19844 -19970505.39242 20415865.096 20415868.197 20415863.664
+ 613.711 478.216 58.000 51.000
+ -19662968.40443 -15286704.16242 21572692.074 21572696.997 21572690.459
+ -2434.048 -1896.661 54.000 47.000
+ -14597053.42343 -11362988.84242 22359586.910 22359591.146 22359586.176
+ 1325.935 1033.196 51.000 45.000
+ -12063817.52643 -9366386.17242 23034665.695 23034670.528 23034664.485
+ 1696.064 1321.608 50.000 43.000
+ 04 2 1 15 13 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26276611.56844 -20455152.04942 19837547.257 19837550.998 19837546.139
+ -514.489 -400.900 57.000 51.000
+ -6339816.71343 -4872269.73742 24138935.122 24138938.271 24138932.916
+ 3613.611 2815.801 46.000 39.000
+ -19207951.00343 -14964003.64342 21762621.325 21762624.336 21762620.218
+ 2425.065 1889.661 54.000 47.000
+ -20314864.13943 -15789759.22642 21782928.282 21782932.201 21782927.223
+ -2803.215 -2184.323 53.000 47.000
+ -25662854.08344 -19984713.61942 20412395.416 20412398.524 20412394.105
+ 600.792 468.150 58.000 51.000
+ -19589754.93043 -15229654.72742 21586624.805 21586628.687 21586623.620
+ -2447.656 -1907.264 54.000 47.000
+ -14636777.05643 -11393942.29742 22352027.334 22352031.707 22352026.144
+ 1321.222 1029.524 51.000 45.000
+ -12114567.11043 -9405931.29342 23025008.730 23025012.176 23025006.410
+ 1686.138 1313.874 50.000 43.000
+ 04 2 1 15 13 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26260879.07844 -20442892.96242 19840541.040 19840545.016 19840539.867
+ -535.647 -417.387 57.000 51.000
+ -6448172.48243 -4956702.71042 24118314.800 24118318.698 24118313.332
+ 3608.750 2812.013 45.000 39.000
+ -19280666.77043 -15020665.27142 21748784.177 21748786.909 21748783.672
+ 2421.434 1886.832 55.000 47.000
+ -20230641.78543 -15724131.45042 21798954.849 21798959.100 21798953.841
+ -2812.826 -2191.812 53.000 46.000
+ -25680716.24044 -19998632.18542 20408996.164 20408999.289 20408995.005
+ 588.786 458.794 58.000 51.000
+ -19516153.44743 -15172302.95242 21600630.014 21600635.173 21600629.193
+ -2460.259 -1917.085 53.000 47.000
+ -14676375.43843 -11424798.16042 22344492.795 22344494.885 22344490.535
+ 1317.483 1026.610 51.000 45.000
+ -12165030.83843 -9445253.64542 23015405.423 23015410.585 23015403.991
+ 1676.883 1306.662 49.000 44.000
+ 04 2 1 15 14 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26244498.66744 -20430128.99642 19843658.411 19843661.805 19843657.051
+ -557.229 -434.204 57.000 51.000
+ -6556367.42743 -5041010.36842 24097725.703 24097730.499 24097724.867
+ 3603.380 2807.829 46.000 39.000
+ -19353266.33943 -15077236.35242 21734968.742 21734971.998 21734967.473
+ 2417.556 1883.810 54.000 47.000
+ -20146120.46843 -15658270.71742 21815038.354 21815043.712 21815037.490
+ -2822.744 -2199.541 52.000 46.000
+ -25698204.09044 -20012259.07942 20405668.319 20405671.659 20405667.024
+ 576.313 449.075 58.000 51.000
+ -19442166.04643 -15114650.46042 21614709.830 21614713.581 21614708.498
+ -2473.058 -1927.058 53.000 47.000
+ -14715848.74143 -11455556.55942 22336980.322 22336983.972 22336979.169
+ 1313.293 1023.345 51.000 45.000
+ -12215205.29943 -9484350.59442 23005857.782 23005861.235 23005856.495
+ 1667.173 1299.096 50.000 44.000
+ 04 2 1 15 14 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26227467.37344 -20416857.85042 19846899.482 19846902.822 19846898.146
+ -578.812 -451.022 57.000 51.000
+ -6664394.78143 -5125187.44042 24077170.184 24077174.349 24077168.674
+ 3597.973 2803.615 46.000 39.000
+ -19425743.49543 -15133712.03242 21721176.443 21721179.754 21721175.996
+ 2413.572 1880.705 54.000 47.000
+ -20061299.38743 -15592176.40042 21831179.474 21831184.341 21831178.668
+ -2832.501 -2207.144 52.000 46.000
+ -25715311.80844 -20025589.76942 20402412.955 20402416.268 20402411.592
+ 563.584 439.156 58.000 52.000
+ -19367791.07243 -15056695.95242 21628862.788 21628867.492 21628862.279
+ -2485.846 -1937.023 54.000 47.000
+ -14755193.52143 -11486214.81942 22329493.518 22329498.023 22329492.503
+ 1309.153 1020.119 51.000 45.000
+ -12265083.68943 -9523216.86942 22996365.955 22996370.435 22996365.343
+ 1657.379 1291.464 50.000 44.000
+ 04 2 1 15 15 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26209790.68744 -20403083.80242 19850263.096 19850266.352 19850261.635
+ -599.685 -467.287 57.000 51.000
+ -6772256.23143 -5209235.23442 24056644.862 24056650.173 24056642.009
+ 3593.112 2799.828 44.000 38.000
+ -19498100.36143 -15190093.99742 21707407.485 21707411.027 21707406.615
+ 2410.148 1878.037 54.000 47.000
+ -19976185.64743 -15525854.05242 21847376.496 21847380.566 21847375.839
+ -2841.592 -2214.227 52.000 46.000
+ -25732041.77244 -20038626.10642 20399229.590 20399232.680 20399228.212
+ 551.632 429.843 58.000 52.000
+ -19293035.73643 -14998445.05642 21643089.079 21643092.721 21643087.356
+ -2497.913 -1946.426 54.000 47.000
+ -14794414.64343 -11516776.71242 22322028.975 22322034.286 22322028.467
+ 1305.606 1017.355 51.000 45.000
+ -12314667.62243 -9561853.66842 22986929.617 22986934.504 22986929.394
+ 1648.095 1284.230 49.000 43.000
+ 04 2 1 15 15 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26191465.73944 -20388804.61542 19853749.905 19853753.745 19853748.758
+ -621.647 -484.400 57.000 51.000
+ -6879945.61543 -5293148.97242 24036149.259 24036154.346 24036147.195
+ 3587.018 2795.079 42.000 37.000
+ -19570330.76243 -15246377.41842 21693662.115 21693666.252 21693661.904
+ 2405.296 1874.257 54.000 47.000
+ -19890778.07743 -15459302.73942 21863629.473 21863632.566 21863628.777
+ -2851.893 -2222.254 53.000 46.000
+ -25748388.25744 -20051363.62842 20396118.785 20396122.004 20396117.559
+ 538.408 419.539 58.000 52.000
+ -19217898.78043 -14939896.81242 21657386.337 21657390.728 21657385.481
+ -2510.968 -1956.598 54.000 47.000
+ -14833508.64043 -11547239.53942 22314589.950 22314593.663 22314589.421
+ 1300.963 1013.737 51.000 45.000
+ -12363949.99443 -9600255.48642 22977552.204 22977556.294 22977551.490
+ 1637.392 1275.890 50.000 43.000
+ 04 2 1 15 16 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26172498.77244 -20374025.14942 19857359.144 19857363.109 19857357.941
+ -642.662 -500.775 57.000 51.000
+ -6987465.51543 -5376930.59142 24015689.340 24015696.694 24015690.644
+ 3581.290 2790.616 42.000 37.000
+ -19642437.20643 -15302564.24742 21679941.011 21679944.237 21679939.856
+ 2401.718 1871.469 54.000 47.000
+ -19805084.36443 -15392528.45242 21879936.405 21879939.758 21879935.676
+ -2860.860 -2229.241 52.000 46.000
+ -25764354.27744 -20063804.68742 20393080.503 20393083.559 20393079.387
+ 526.116 409.961 58.000 52.000
+ -19142387.36543 -14881056.78442 21671755.310 21671759.996 21671754.552
+ -2522.999 -1965.973 53.000 47.000
+ -14872481.05843 -11577607.61842 22307173.738 22307178.028 22307172.879
+ 1297.416 1010.973 51.000 45.000
+ -12412932.97543 -9638424.04342 22968230.625 22968235.426 22968229.193
+ 1628.107 1268.655 50.000 44.000
+ 04 2 1 15 16 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26152888.99244 -20358744.79742 19861091.060 19861094.381 19861089.826
+ -664.476 -517.773 57.000 51.000
+ -7094811.72743 -5460576.86542 23995262.521 23995268.674 23995261.898
+ 3575.227 2785.891 42.000 37.000
+ -19714415.87343 -15358651.51042 21666243.804 21666247.601 21666243.201
+ 2397.104 1867.873 54.000 48.000
+ -19719106.10643 -15325532.43542 21896296.505 21896301.345 21896296.463
+ -2870.700 -2236.909 52.000 46.000
+ -25779936.25544 -20075946.49442 20390115.453 20390118.484 20390114.106
+ 512.940 399.693 58.000 52.000
+ -19066502.78243 -14821925.96942 21686195.921 21686200.308 21686195.286
+ -2535.759 -1975.916 53.000 47.000
+ -14911330.76943 -11607880.08842 22299781.000 22299784.860 22299779.662
+ 1292.975 1007.513 51.000 45.000
+ -12461612.17743 -9676355.85542 22958967.634 22958971.913 22958966.227
+ 1617.464 1260.362 50.000 44.000
+ 04 2 1 15 17 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26132638.64644 -20342965.29142 19864944.619 19864948.109 19864943.155
+ -686.076 -534.605 57.000 51.000
+ -7201982.24943 -5544086.23742 23974870.144 23974873.071 23974869.309
+ 3568.948 2780.998 44.000 38.000
+ -19786265.16543 -15414637.96042 21652571.186 21652574.625 21652570.615
+ 2392.423 1864.226 54.000 47.000
+ -19632846.78543 -15258317.42342 21912712.494 21912716.049 21912711.103
+ -2880.460 -2244.514 53.000 46.000
+ -25795133.01544 -20087788.12642 20387223.618 20387226.786 20387222.264
+ 499.719 389.391 58.000 52.000
+ -18990247.83343 -14762506.54542 21700706.899 21700711.459 21700706.169
+ -2548.479 -1985.828 54.000 47.000
+ -14950058.84443 -11638057.77042 22292411.757 22292416.030 22292411.225
+ 1288.490 1004.018 51.000 45.000
+ -12509985.26443 -9714049.14342 22949762.645 22949766.175 22949760.341
+ 1606.845 1252.087 49.000 43.000
+ 04 2 1 15 17 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26111746.15844 -20326685.43142 19868920.411 19868923.855 19868919.068
+ -706.946 -550.867 57.000 51.000
+ -7308971.99443 -5627454.78142 23954509.623 23954513.479 23954507.103
+ 3563.424 2776.694 45.000 38.000
+ -19857980.14943 -15470519.76642 21638924.168 21638928.261 21638923.769
+ 2388.397 1861.089 54.000 48.000
+ -19546306.53843 -15190883.48642 21929180.038 21929184.103 21929179.191
+ -2889.054 -2251.211 52.000 46.000
+ -25809939.93044 -20099325.99142 20384405.710 20384408.933 20384404.497
+ 487.296 379.711 58.000 52.000
+ -18913622.58243 -14702798.59342 21715288.565 21715292.287 21715286.862
+ -2560.199 -1994.960 54.000 47.000
+ -14988663.01043 -11668138.90742 22285065.662 22285070.408 22285064.557
+ 1285.070 1001.353 51.000 45.000
+ -12558046.70243 -9751499.58742 22940616.088 22940621.428 22940615.060
+ 1596.972 1244.394 49.000 43.000
+ 04 2 1 15 18 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26090215.99544 -20309908.67642 19873017.161 19873020.982 19873016.056
+ -728.203 -567.431 57.000 51.000
+ -7415781.74343 -5710683.06742 23934184.412 23934188.145 23934182.644
+ 3557.362 2771.970 45.000 39.000
+ -19929561.69443 -15526297.58842 21625302.614 21625306.025 21625302.496
+ 2383.705 1857.432 54.000 48.000
+ -19459491.53943 -15123235.46242 21945700.428 21945704.862 21945699.395
+ -2898.288 -2258.406 52.000 46.000
+ -25824358.63544 -20110561.35242 20381662.260 20381665.448 20381660.860
+ 474.199 369.506 58.000 52.000
+ -18836632.96843 -14642806.72942 21729938.794 21729942.874 21729937.896
+ -2572.206 -2004.316 54.000 47.000
+ -15027147.11843 -11698126.50042 22277742.264 22277746.618 22277741.442
+ 1280.895 998.100 52.000 45.000
+ -12605796.86643 -9788707.48242 22931530.344 22931534.256 22931528.196
+ 1586.508 1236.240 50.000 44.000
+ 04 2 1 15 18 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26068049.04644 -20292635.72442 19877235.651 19877239.072 19877233.998
+ -749.044 -583.671 57.000 51.000
+ -7522408.63243 -5793768.86642 23913892.847 23913898.304 23913891.921
+ 3551.593 2767.475 45.000 39.000
+ -20001006.91543 -15581969.18542 21611707.678 21611710.780 21611706.829
+ 2379.654 1854.276 55.000 48.000
+ -19372404.09043 -15055375.13242 21962272.492 21962276.720 21962271.678
+ -2906.930 -2265.140 52.000 46.000
+ -25838386.71044 -20121492.32442 20378993.046 20378995.818 20378991.458
+ 461.678 359.749 58.000 52.000
+ -18759281.09743 -14582532.57842 21744658.368 21744662.811 21744657.583
+ -2583.896 -2013.425 53.000 47.000
+ -15065511.36243 -11728020.70642 22270441.497 22270446.089 22270440.345
+ 1277.326 995.319 51.000 46.000
+ -12653232.49643 -9825670.28242 22922503.876 22922507.807 22922501.595
+ 1576.582 1228.505 50.000 44.000
+ 04 2 1 15 19 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26045247.46944 -20274868.25442 19881574.286 19881577.930 19881572.844
+ -770.336 -600.262 57.000 51.000
+ -7628850.91643 -5876710.82942 23893639.145 23893642.654 23893637.975
+ 3545.427 2762.670 46.000 39.000
+ -20072314.56743 -15637533.59042 21598138.112 21598141.566 21598136.875
+ 2374.789 1850.485 54.000 48.000
+ -19285048.05843 -14987305.51442 21978895.424 21978900.287 21978894.929
+ -2916.020 -2272.223 52.000 46.000
+ -25852023.22644 -20132118.18342 20376397.818 20376400.534 20376396.451
+ 448.443 349.436 58.000 52.000
+ -18681570.29843 -14521978.72942 21759446.708 21759450.751 21759445.505
+ -2595.994 -2022.852 53.000 47.000
+ -15103757.01643 -11757822.50142 22263163.665 22263167.585 22263163.555
+ 1273.310 992.190 51.000 45.000
+ -12700351.49643 -9862386.37142 22913537.643 22913540.827 22913535.349
+ 1565.780 1220.088 50.000 44.000
+ 04 2 1 15 19 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -26021809.97544 -20256605.26842 19886034.367 19886038.178 19886033.049
+ -791.619 -616.846 57.000 51.000
+ -7735103.70443 -5959505.12142 23873419.109 23873423.099 23873418.357
+ 3538.863 2757.556 45.000 39.000
+ -20143479.54143 -15692986.81942 21584595.189 21584598.865 21584594.430
+ 2369.879 1846.659 54.000 48.000
+ -19197423.92343 -14919026.98642 21995569.904 21995574.387 21995568.733
+ -2925.064 -2279.271 52.000 46.000
+ -25865263.44644 -20142435.24442 20373878.312 20373881.442 20373876.979
+ 434.930 338.906 58.000 52.000
+ -18603500.56343 -14461145.20142 21774302.837 21774306.931 21774301.837
+ -2608.042 -2032.240 53.000 47.000
+ -15141881.74943 -11787530.07442 22255909.030 22255912.712 22255908.429
+ 1269.061 988.879 52.000 45.000
+ -12747148.38243 -9898851.46242 22904631.511 22904635.646 22904629.999
+ 1554.741 1211.486 49.000 44.000
+ 04 2 1 15 20 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25997740.97644 -20237850.20142 19890614.552 19890618.255 19890613.406
+ -813.358 -633.785 57.000 51.000
+ -7841167.58943 -6042152.22242 23853234.787 23853240.143 23853235.091
+ 3531.710 2751.982 44.000 38.000
+ -20214502.53743 -15748329.42442 21571080.213 21571083.592 21571079.819
+ 2364.565 1842.518 54.000 48.000
+ -19109537.40143 -14850544.00842 22012294.505 22012298.934 22012292.892
+ -2934.345 -2286.502 52.000 46.000
+ -25878108.94644 -20152444.72942 20371433.878 20371437.110 20371432.648
+ 421.068 328.105 58.000 52.000
+ -18525077.50843 -14400036.34142 21789224.996 21789230.075 21789225.003
+ -2620.468 -2041.923 53.000 46.000
+ -15179889.08443 -11817146.16242 22248676.399 22248680.102 22248675.506
+ 1264.438 985.276 51.000 45.000
+ -12793623.11143 -9935065.50742 22895787.685 22895792.064 22895786.070
+ 1543.321 1202.588 50.000 44.000
+ 04 2 1 15 20 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25973040.27744 -20218602.89742 19895314.976 19895318.595 19895313.560
+ -833.932 -649.817 57.000 51.000
+ -7947038.41543 -6124648.88942 23833089.718 23833093.327 23833087.030
+ 3525.362 2747.035 44.000 38.000
+ -20285379.75843 -15803558.42342 21557593.347 21557596.476 21557592.492
+ 2359.911 1838.892 55.000 48.000
+ -19021389.93843 -14781857.71342 22029068.317 22029072.389 22029066.954
+ -2942.587 -2292.925 52.000 46.000
+ -25890556.61544 -20162144.21842 20369064.801 20369068.113 20369063.533
+ 408.238 318.108 58.000 52.000
+ -18446302.28943 -14338653.07742 21804216.640 21804220.794 21804215.835
+ -2631.598 -2050.596 54.000 47.000
+ -15217778.00243 -11846669.97242 22241466.935 22241469.802 22241465.648
+ 1260.903 982.522 52.000 46.000
+ -12839771.84643 -9971025.53742 22887006.879 22887009.651 22887005.577
+ 1532.845 1194.425 50.000 44.000
+ 04 2 1 15 21 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25947711.32844 -20198866.05442 19900134.764 19900138.604 19900133.305
+ -854.361 -665.736 57.000 51.000
+ -8052715.67343 -6206994.72342 23812977.716 23812984.583 23812976.873
+ 3520.068 2742.910 43.000 38.000
+ -20356110.64343 -15858673.40342 21544133.127 21544136.633 21544132.925
+ 2355.526 1835.475 54.000 48.000
+ -18932986.39343 -14712971.85542 22045890.627 22045895.553 22045889.708
+ -2950.644 -2299.203 52.000 46.000
+ -25902606.08344 -20171533.42442 20366772.272 20366775.545 20366770.944
+ 395.438 308.134 58.000 52.000
+ -18367179.31243 -14276998.83442 21819272.889 21819277.773 21819271.698
+ -2642.801 -2059.325 53.000 47.000
+ -15255550.79543 -11876103.28942 22234278.566 22234281.999 22234277.860
+ 1257.478 979.853 52.000 45.000
+ -12885593.55543 -10006730.76042 22878287.359 22878290.211 22878285.649
+ 1522.262 1186.178 50.000 44.000
+ 04 2 1 15 21 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25921754.41844 -20178639.88342 19905074.347 19905077.867 19905073.071
+ -876.231 -682.777 57.000 51.000
+ -8158195.99243 -6289187.10142 23792906.373 23792911.452 23792905.197
+ 3512.291 2736.850 44.000 38.000
+ -20426691.89443 -15913671.78242 21530702.394 21530705.776 21530701.757
+ 2349.796 1831.010 55.000 48.000
+ -18844328.51943 -14643887.83742 22062762.039 22062767.179 22062760.921
+ -2960.101 -2306.572 52.000 46.000
+ -25914254.75244 -20180610.31842 20364555.778 20364558.803 20364554.399
+ 381.033 296.909 58.000 52.000
+ -18287710.29143 -14215074.92242 21834395.275 21834400.050 21834393.943
+ -2655.446 -2069.179 53.000 46.000
+ -15293207.03943 -11905445.78142 22227113.018 22227115.629 22227111.575
+ 1252.774 976.188 52.000 45.000
+ -12931084.25943 -10042178.04742 22869630.266 22869634.302 22869628.177
+ 1510.376 1176.916 51.000 44.000
+ 04 2 1 15 22 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25895171.15744 -20157925.64542 19910133.119 19910136.360 19910131.605
+ -896.075 -698.240 57.000 51.000
+ -8263476.83243 -6371224.02742 23772870.899 23772876.025 23772869.182
+ 3507.049 2732.765 44.000 38.000
+ -20497121.19043 -15968551.75342 21517300.324 21517302.965 21517300.049
+ 2345.491 1827.655 55.000 48.000
+ -18755419.25143 -14574607.90942 22079681.153 22079685.060 22079679.723
+ -2967.412 -2312.269 52.000 46.000
+ -25925500.41944 -20189373.18242 20362415.637 20362418.738 20362414.381
+ 368.685 287.287 58.000 52.000
+ -18207897.91643 -14152883.48242 21849582.721 21849587.866 21849582.077
+ -2665.640 -2077.122 52.000 46.000
+ -15330747.02243 -11934697.69642 22219968.902 22219973.177 22219968.448
+ 1249.945 973.983 52.000 45.000
+ -12976241.12343 -10077365.20042 22861037.815 22861041.799 22861036.463
+ 1499.979 1168.815 51.000 44.000
+ 04 2 1 15 22 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25867962.68443 -20136724.23342 19915310.252 19915314.020 19915308.848
+ -917.127 -714.644 56.000 51.000
+ -8368555.51243 -6453103.42742 23752877.115 23752880.405 23752875.757
+ 3499.529 2726.906 45.000 39.000
+ -20567395.86443 -16023311.24142 21503927.317 21503930.332 21503926.724
+ 2340.234 1823.559 55.000 48.000
+ -18666261.50543 -14505134.36642 22096647.012 22096651.528 22096646.382
+ -2975.777 -2318.787 52.000 46.000
+ -25936341.32744 -20197820.64242 20360352.228 20360355.615 20360351.133
+ 354.863 276.517 58.000 52.000
+ -18127744.36043 -14090426.17842 21864835.587 21864839.818 21864834.568
+ -2677.104 -2086.055 53.000 46.000
+ -15368171.25943 -11963859.44042 22212847.647 22212850.724 22212847.419
+ 1245.796 970.750 52.000 45.000
+ -13021061.34743 -10112290.06242 22852508.843 22852512.269 22852505.758
+ 1488.656 1159.992 51.000 44.000
+ 04 2 1 15 23 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25840132.44344 -20115038.32442 19920606.437 19920610.172 19920605.206
+ -937.895 -730.827 57.000 51.000
+ -8473431.41743 -6534824.82842 23732920.203 23732924.179 23732919.070
+ 3492.572 2721.485 47.000 39.000
+ -20637515.23343 -16077949.70042 21490583.881 21490586.882 21490583.517
+ 2334.844 1819.359 54.000 48.000
+ -18576859.88143 -14435470.78342 22113660.573 22113664.361 22113658.867
+ -2984.015 -2325.206 52.000 46.000
+ -25946777.63744 -20205952.83542 20358366.734 20358369.753 20358365.344
+ 341.203 265.872 58.000 52.000
+ -18047253.93743 -14027706.37942 21880152.995 21880157.328 21880152.208
+ -2688.535 -2094.962 53.000 46.000
+ -15405481.87643 -11992932.63442 22205747.383 22205751.186 22205746.544
+ 1241.885 967.703 52.000 46.000
+ -13065543.83343 -10146951.71842 22844042.833 22844047.973 22844042.385
+ 1477.257 1151.109 49.000 44.000
+ 04 2 1 15 23 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25811678.73044 -20092866.59542 19926021.165 19926024.879 19926019.779
+ -959.086 -747.340 57.000 51.000
+ -8578099.25543 -6616384.08042 23713002.934 23713005.373 23713000.446
+ 3485.169 2715.716 47.000 40.000
+ -20707473.85343 -16132462.91342 21477271.049 21477274.330 21477270.535
+ 2329.065 1814.856 54.000 48.000
+ -18487214.20943 -14365617.03442 22130718.998 22130723.346 22130717.996
+ -2992.471 -2331.795 52.000 46.000
+ -25956804.59044 -20213766.05342 20356458.681 20356461.852 20356457.269
+ 327.088 254.874 58.000 52.000
+ -17966426.23543 -13964723.75742 21895533.731 21895538.294 21895532.263
+ -2700.185 -2104.040 53.000 46.000
+ -15442676.07143 -12021915.12142 22198670.171 22198673.515 22198668.683
+ 1237.596 964.361 52.000 46.000
+ -13109682.68043 -10181345.59042 22835644.422 22835647.569 22835642.371
+ 1465.308 1141.798 51.000 45.000
+ 04 2 1 15 24 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25782609.87844 -20070215.53742 19931552.420 19931556.550 19931551.232
+ -979.114 -762.946 57.000 51.000
+ -8682562.87843 -6697784.22042 23693123.434 23693126.580 23693121.176
+ 3478.458 2710.487 47.000 40.000
+ -20777275.78343 -16186854.01642 21463988.169 21463991.828 21463987.851
+ 2324.207 1811.070 55.000 48.000
+ -18397333.72343 -14295580.34142 22147821.852 22147826.920 22147821.421
+ -2999.927 -2337.605 51.000 46.000
+ -25966426.52344 -20221263.67142 20354627.092 20354630.826 20354626.080
+ 314.021 244.692 58.000 52.000
+ -17885270.33443 -13901485.38542 21910976.281 21910981.711 21910975.815
+ -2710.399 -2111.999 52.000 46.000
+ -15479760.90943 -12050812.39842 22191612.233 22191616.143 22191611.563
+ 1234.504 961.951 52.000 46.000
+ -13153481.62143 -10215474.63342 22827308.575 22827313.810 22827307.790
+ 1454.466 1133.350 50.000 45.000
+ 04 2 1 15 24 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25752920.19844 -20047080.71742 19937202.781 19937206.159 19937201.051
+ -999.779 -779.048 57.000 51.000
+ -8786812.96243 -6779017.98442 23673285.535 23673287.614 23673283.962
+ 3471.831 2705.323 47.000 40.000
+ -20846911.74243 -16241115.79142 21450737.292 21450740.231 21450736.461
+ 2318.737 1806.808 55.000 48.000
+ -18307214.56643 -14225357.65942 22164972.319 22164976.330 22164971.047
+ -3007.544 -2343.541 52.000 46.000
+ -25975635.04244 -20228439.14642 20352874.716 20352878.176 20352873.720
+ 300.303 234.002 58.000 51.000
+ -17803782.02443 -13837987.97242 21926483.677 21926488.288 21926482.363
+ -2721.546 -2120.685 52.000 46.000
+ -15516730.03343 -12079619.48342 22184576.984 22184581.675 22184577.131
+ 1230.606 958.914 52.000 45.000
+ -13196930.98643 -10249331.27442 22819042.624 22819045.108 22819040.603
+ 1442.631 1124.128 51.000 44.000
+ 04 2 1 15 25 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25722616.58243 -20023467.49742 19942968.757 19942972.549 19942967.606
+ -1020.939 -795.537 56.000 51.000
+ -8890851.78243 -6860087.11642 23653487.770 23653490.237 23653485.120
+ 3463.780 2699.049 47.000 40.000
+ -20916384.23143 -16295250.18542 21437517.043 21437520.012 21437516.627
+ 2312.385 1801.858 55.000 48.000
+ -18216864.51243 -14154955.04842 22182165.260 22182169.680 22182164.579
+ -3016.080 -2350.192 52.000 46.000
+ -25984433.42144 -20235295.03742 20351200.982 20351203.957 20351199.708
+ 285.781 222.686 58.000 51.000
+ -17721968.44143 -13774237.10642 21942053.143 21942056.714 21942050.856
+ -2733.031 -2129.634 52.000 46.000
+ -15553588.42343 -12108340.26942 22177563.837 22177567.388 22177562.339
+ 1226.190 955.473 51.000 46.000
+ -13240032.91643 -10282917.20742 22810839.314 22810842.956 22810837.328
+ 1430.349 1114.558 50.000 44.000
+ 04 2 1 15 25 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25691699.09944 -19999375.95042 19948852.858 19948856.064 19948851.375
+ -1040.530 -810.802 57.000 51.000
+ -8994675.66943 -6940988.77942 23633731.116 23633732.446 23633728.914
+ 3457.310 2694.008 47.000 39.000
+ -20985689.46043 -16349254.24642 21424328.532 21424331.881 21424328.106
+ 2307.620 1798.145 55.000 48.000
+ -18126285.23843 -14084373.83942 22199401.498 22199406.307 22199400.271
+ -3022.749 -2355.389 52.000 46.000
+ -25992818.39744 -20241828.79442 20349605.434 20349608.250 20349603.963
+ 272.847 212.608 58.000 51.000
+ -17639830.90943 -13710233.81942 21957682.846 21957687.500 21957681.729
+ -2743.139 -2137.511 52.000 46.000
+ -15590335.44343 -12136974.27242 22170571.631 22170574.596 22170570.316
+ 1223.273 953.200 52.000 46.000
+ -13282783.41643 -10316229.25942 22802704.008 22802708.138 22802702.918
+ 1419.364 1105.998 50.000 44.000
+ 04 2 1 15 26 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25660169.43344 -19974807.37342 19954852.551 19954855.947 19954850.996
+ -1060.843 -826.631 57.000 51.000
+ -9098282.45543 -7021721.26442 23614014.086 23614016.704 23614012.222
+ 3449.924 2688.252 47.000 39.000
+ -21054825.04843 -16403126.11542 21411172.247 21411175.714 21411171.549
+ 2301.981 1793.751 55.000 48.000
+ -18035479.60443 -14013616.23842 22216680.965 22216685.003 22216680.276
+ -3030.229 -2361.217 52.000 46.000
+ -26000788.27444 -20248039.09642 20348088.551 20348091.993 20348087.239
+ 259.075 201.877 58.000 51.000
+ -17557372.40643 -13645980.41842 21973374.336 21973378.283 21973372.991
+ -2753.638 -2145.692 52.000 46.000
+ -15626971.48643 -12165521.83242 22163599.031 22163603.099 22163598.254
+ 1219.650 950.377 52.000 46.000
+ -13325179.70343 -10349265.30242 22794635.117 22794639.266 22794634.584
+ 1407.464 1096.725 50.000 44.000
+ 04 2 1 15 26 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25628029.34244 -19949763.14042 19960968.742 19960972.085 19960967.113
+ -1081.705 -842.887 57.000 51.000
+ -9201669.63843 -7102282.63942 23594340.249 23594343.185 23594339.469
+ 3442.406 2682.394 46.000 39.000
+ -21123788.71543 -16456864.02042 21398049.173 21398052.249 21398048.459
+ 2295.759 1788.903 55.000 48.000
+ -17944450.71543 -13942684.66142 22234003.154 22234007.969 22234002.495
+ -3038.112 -2367.360 52.000 45.000
+ -26008341.84344 -20253924.99542 20346651.423 20346654.506 20346650.239
+ 244.684 190.663 58.000 52.000
+ -17474596.02043 -13581479.32342 21989125.403 21989130.891 21989125.182
+ -2764.787 -2154.379 53.000 46.000
+ -15663497.26043 -12193983.47242 22156649.669 22156652.586 22156648.075
+ 1215.518 947.157 52.000 46.000
+ -13367219.24743 -10382023.40142 22786636.563 22786639.771 22786634.766
+ 1395.186 1087.158 51.000 44.000
+ 04 2 1 15 27 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25595282.12744 -19924245.81942 19967200.016 19967203.629 19967198.616
+ -1101.437 -858.262 57.000 51.000
+ -9304836.42543 -7182672.27942 23574707.467 23574710.747 23574706.484
+ 3435.477 2676.995 46.000 39.000
+ -21192579.17243 -16510466.95642 21384958.877 21384962.123 21384958.245
+ 2290.399 1784.726 55.000 48.000
+ -17853202.56943 -13871582.23742 22251367.525 22251371.502 22251366.666
+ -3044.911 -2372.658 51.000 45.000
+ -26015478.37744 -20259485.93342 20345293.267 20345296.575 20345292.062
+ 231.277 180.216 58.000 52.000
+ -17391505.16743 -13516733.16842 22004937.503 22004941.809 22004936.491
+ -2774.623 -2162.044 52.000 46.000
+ -15699914.36843 -12222360.44142 22149719.411 22149722.907 22149718.400
+ 1212.291 944.642 52.000 46.000
+ -13408900.69043 -10414502.43642 22778704.683 22778708.531 22778703.063
+ 1383.864 1078.336 51.000 45.000
+ 04 2 1 15 27 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25561926.14744 -19898254.13442 19973547.343 19973550.931 19973545.871
+ -1121.511 -873.905 57.000 51.000
+ -9407776.85043 -7262885.52542 23555118.040 23555122.376 23555116.032
+ 3427.976 2671.150 46.000 40.000
+ -21261190.79243 -16563930.53442 21371902.477 21371905.575 21371901.671
+ 2284.475 1780.110 55.000 48.000
+ -17761735.23143 -13800309.03542 22268772.512 22268777.446 22268771.583
+ -3051.973 -2378.161 50.000 45.000
+ -26022192.83244 -20264717.97842 20344015.406 20344018.612 20344014.020
+ 217.246 169.283 58.000 51.000
+ -17308099.25943 -13451741.52842 22020808.918 22020813.416 22020807.958
+ -2785.163 -2170.257 52.000 46.000
+ -15736220.09643 -12250650.60542 22142809.871 22142813.463 22142809.181
+ 1208.986 942.067 52.000 46.000
+ -13450218.19343 -10446697.87042 22770842.131 22770846.340 22770840.041
+ 1371.686 1068.846 51.000 45.000
+ 04 2 1 15 28 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25527968.74444 -19871793.79742 19980009.558 19980012.839 19980007.941
+ -1141.645 -889.593 57.000 51.000
+ -9510494.23843 -7342924.99742 23535571.751 23535576.990 23535570.328
+ 3420.427 2665.268 46.000 40.000
+ -21329626.87343 -16617257.32242 21358879.669 21358882.963 21358878.956
+ 2278.610 1775.540 55.000 48.000
+ -17670057.09043 -13728871.57442 22286218.669 22286223.383 22286217.674
+ -3059.133 -2383.740 50.000 44.000
+ -26028489.47344 -20269624.44642 20342816.934 20342820.448 20342815.912
+ 203.183 158.324 58.000 51.000
+ -17224386.44443 -13386510.74242 22036739.493 22036743.912 22036738.079
+ -2795.014 -2177.933 52.000 46.000
+ -15772420.48443 -12278858.69342 22135921.177 22135925.394 22135920.313
+ 1205.103 939.041 52.000 45.000
+ -13491174.44743 -10478611.84642 22763048.623 22763052.300 22763047.630
+ 1359.491 1059.344 51.000 45.000
+ 04 2 1 15 28 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25493406.84643 -19844862.43642 19986585.944 19986589.677 19986584.648
+ -1162.336 -905.716 56.000 51.000
+ -9612981.26043 -7422784.95342 23516070.070 23516073.687 23516068.557
+ 3411.957 2658.668 47.000 40.000
+ -21397879.84443 -16670441.44742 21345891.320 21345894.223 21345890.582
+ 2271.776 1770.215 55.000 48.000
+ -17578166.06143 -13657268.21842 22303704.228 22303709.864 22303703.948
+ -3066.775 -2389.695 50.000 45.000
+ -26034361.54444 -20274200.08442 20341700.072 20341703.203 20341698.781
+ 188.443 146.839 58.000 52.000
+ -17140364.35843 -13321038.95842 22052727.815 22052733.033 22052727.196
+ -2806.280 -2186.712 52.000 46.000
+ -15808510.78443 -12306980.96042 22129052.730 22129057.445 22129052.399
+ 1200.850 935.727 52.000 45.000
+ -13531761.90243 -10510238.43542 22755324.139 22755328.241 22755323.418
+ 1346.557 1049.265 50.000 44.000
+ 04 2 1 15 29 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25458245.50644 -19817463.97742 19993277.047 19993280.823 19993275.678
+ -1182.085 -921.105 57.000 51.000
+ -9715238.69343 -7502466.01242 23496610.847 23496614.745 23496609.958
+ 3404.765 2653.064 47.000 40.000
+ -21465950.41143 -16723483.42942 21332937.448 21332941.406 21332936.605
+ 2265.792 1765.552 55.000 48.000
+ -17486068.39043 -13585503.82242 22321231.295 22321235.843 22321229.967
+ -3073.364 -2394.829 52.000 45.000
+ -26039810.65144 -20278446.13242 20340663.192 20340666.326 20340661.998
+ 174.565 136.025 58.000 52.000
+ -17056038.85243 -13255330.74742 22068774.344 22068778.490 22068773.456
+ -2815.945 -2194.243 52.000 46.000
+ -15844494.65543 -12335020.27942 22122206.268 22122209.098 22122205.110
+ 1197.538 933.146 52.000 45.000
+ -13571981.12543 -10541578.07442 22747671.817 22747675.069 22747669.872
+ 1334.347 1039.751 51.000 45.000
+ 04 2 1 15 29 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25422486.87344 -19789600.09542 20000081.768 20000085.646 20000080.698
+ -1201.820 -936.483 57.000 51.000
+ -9817264.76943 -7581966.78142 23477195.390 23477199.283 23477194.792
+ 3397.050 2647.052 47.000 40.000
+ -21533836.80443 -16776381.90742 21320019.472 21320022.570 21320018.906
+ 2259.862 1760.931 55.000 48.000
+ -17393767.54443 -13513581.10942 22338795.279 22338799.435 22338794.183
+ -3079.939 -2399.952 51.000 45.000
+ -26044835.70744 -20282361.75542 20339706.383 20339709.943 20339705.227
+ 160.546 125.101 58.000 51.000
+ -16971413.23543 -13189388.67242 22084878.473 22084882.926 22084877.546
+ -2825.614 -2201.777 52.000 45.000
+ -15880373.09443 -12362977.44442 22115377.938 22115381.550 22115376.703
+ 1194.313 930.634 51.000 45.000
+ -13611830.17843 -10572629.29042 22740088.376 22740093.002 22740087.260
+ 1322.357 1030.408 51.000 45.000
+ 04 2 1 15 30 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25386132.04544 -19761271.64542 20007000.017 20007003.228 20006998.522
+ -1220.763 -951.244 57.000 51.000
+ -9919056.11343 -7661284.65142 23457825.620 23457827.846 23457823.728
+ 3390.191 2641.707 47.000 40.000
+ -21601535.46043 -16829134.08142 21307137.127 21307139.666 21307136.489
+ 2254.479 1756.737 55.000 49.000
+ -17301265.53743 -13441501.63642 22356397.075 22356402.414 22356395.849
+ -3085.561 -2404.333 51.000 45.000
+ -26049434.34444 -20285945.10542 20338831.540 20338834.727 20338830.251
+ 147.234 114.728 58.000 51.000
+ -16886489.21743 -13123214.09742 22101038.934 22101042.515 22101037.503
+ -2834.827 -2208.956 52.000 45.000
+ -15916145.57843 -12390852.04842 22108571.570 22108574.808 22108570.139
+ 1191.762 928.646 52.000 45.000
+ -13651305.26943 -10603389.08642 22732576.301 22732580.382 22732574.614
+ 1310.556 1021.212 51.000 44.000
+ 04 2 1 15 30 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25349181.15144 -19732478.72942 20014031.078 20014035.309 20014029.989
+ -1241.250 -967.208 57.000 51.000
+ -10020608.79843 -7740416.54442 23438502.233 23438502.820 23438500.582
+ 3381.455 2634.900 48.000 40.000
+ -21669042.25543 -16881736.76442 21294290.937 21294293.575 21294290.379
+ 2247.336 1751.171 55.000 49.000
+ -17208563.46343 -13369266.27742 22374037.870 22374042.900 22374037.099
+ -3092.978 -2410.113 51.000 45.000
+ -26053603.07844 -20289193.46042 20338038.577 20338041.519 20338037.105
+ 132.079 102.919 58.000 52.000
+ -16801267.68743 -13056807.71542 22117256.677 22117260.947 22117255.116
+ -2845.263 -2217.088 52.000 45.000
+ -15951810.70543 -12418643.02642 22101783.980 22101788.321 22101783.418
+ 1187.586 925.392 52.000 46.000
+ -13690402.06743 -10633854.12642 22725137.136 22725140.614 22725135.440
+ 1297.329 1010.906 52.000 45.000
+ 04 2 1 15 31 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25311641.41643 -19703226.97942 20021175.061 20021178.472 20021173.520
+ -1261.628 -983.087 56.000 51.000
+ -10121925.35543 -7819364.44142 23419221.606 23419224.653 23419219.755
+ 3372.506 2627.927 48.000 40.000
+ -21736359.91143 -16934192.06642 21281480.605 21281482.979 21281479.930
+ 2240.332 1745.713 55.000 48.000
+ -17115669.53143 -13296881.41042 22391714.864 22391719.342 22391714.165
+ -3100.077 -2415.644 51.000 45.000
+ -26057345.67944 -20292109.76742 20337326.213 20337329.430 20337324.799
+ 117.220 91.340 58.000 52.000
+ -16715756.45343 -12990175.57042 22133527.384 22133532.286 22133526.452
+ -2855.804 -2225.302 51.000 45.000
+ -15987374.14243 -12446354.76942 22095016.811 22095020.573 22095015.848
+ 1183.320 922.068 52.000 46.000
+ -13729123.33843 -10664026.52342 22717767.905 22717772.569 22717766.024
+ 1283.929 1000.464 50.000 45.000
+ 04 2 1 15 31 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25273509.16144 -19673513.52142 20028431.138 20028434.837 20028429.602
+ -1280.985 -998.170 57.000 51.000
+ -10222998.31843 -7898122.51542 23399986.632 23399991.791 23399987.454
+ 3365.092 2622.150 47.000 40.000
+ -21803480.49743 -16986493.81342 21268707.675 21268711.324 21268707.162
+ 2233.960 1740.748 55.000 49.000
+ -17022580.97443 -13224344.90742 22409428.926 22409434.160 22409428.185
+ -3106.071 -2420.315 51.000 45.000
+ -26060655.18144 -20294688.59642 20336696.154 20336699.493 20336695.083
+ 103.081 80.323 58.000 51.000
+ -16629952.38743 -12923315.24842 22149855.707 22149860.643 22149854.694
+ -2865.117 -2232.559 52.000 45.000
+ -16022830.85443 -12473983.34542 22088269.736 22088273.331 22088268.852
+ 1180.165 919.609 52.000 46.000
+ -13767460.87143 -10693899.92942 22710473.103 22710476.946 22710472.079
+ 1271.485 990.768 51.000 45.000
+ 04 2 1 15 32 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25234791.16344 -19643343.64542 20035799.009 20035802.674 20035797.670
+ -1300.227 -1013.164 57.000 51.000
+ -10323829.80243 -7976692.44742 23380799.034 23380803.566 23380797.894
+ 3357.206 2616.005 47.000 40.000
+ -21870405.91943 -17038643.48842 21255972.447 21255976.011 21255972.209
+ 2227.602 1735.794 56.000 49.000
+ -16929305.59143 -13151662.82342 22427179.400 22427183.787 22427178.627
+ -3112.148 -2425.050 51.000 45.000
+ -26063534.24544 -20296932.02342 20336148.262 20336151.527 20336147.135
+ 88.953 69.314 58.000 51.000
+ -16543863.01343 -12856232.59842 22166238.207 22166242.292 22166237.712
+ -2874.384 -2239.780 52.000 45.000
+ -16058185.84343 -12501532.67742 22081541.634 22081545.806 22081541.046
+ 1177.058 917.188 52.000 46.000
+ -13805416.75143 -10723475.93842 22703250.410 22703254.976 22703247.732
+ 1258.901 980.962 51.000 45.000
+ 04 2 1 15 32 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25195487.13644 -19612717.12242 20043278.334 20043281.815 20043276.907
+ -1320.645 -1029.074 57.000 51.000
+ -10424415.50243 -8055070.85342 23361657.789 23361662.031 23361657.110
+ 3348.002 2608.833 46.000 40.000
+ -21937131.87043 -17090637.72442 21243275.121 21243278.175 21243274.915
+ 2220.074 1729.928 56.000 49.000
+ -16835844.22543 -13078835.81542 22444964.895 22444968.941 22444963.879
+ -3119.151 -2430.507 51.000 45.000
+ -26065979.55544 -20298837.44742 20335683.354 20335686.354 20335681.999
+ 73.561 57.320 58.000 52.000
+ -16457489.04843 -12788928.20442 22182675.386 22182679.789 22182674.342
+ -2884.509 -2247.669 52.000 45.000
+ -16093437.37143 -12529001.38042 22074833.650 22074837.464 22074833.090
+ 1172.626 913.735 52.000 46.000
+ -13842986.38343 -10752750.96642 22696100.727 22696105.546 22696099.411
+ 1245.244 970.320 52.000 45.000
+ 04 2 1 15 33 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25155599.95743 -19581636.19442 20050868.515 20050872.149 20050867.115
+ -1339.416 -1043.701 56.000 51.000
+ -10524753.97043 -8133256.59342 23342563.858 23342567.315 23342564.210
+ 3340.341 2602.863 46.000 40.000
+ -22003656.82843 -17142475.34042 21230615.864 21230618.912 21230615.197
+ 2214.031 1725.219 56.000 49.000
+ -16742200.71643 -13005866.87442 22462784.705 22462789.518 22462783.444
+ -3124.467 -2434.650 51.000 45.000
+ -26067990.81444 -20300404.66342 20335300.408 20335303.592 20335299.148
+ 59.779 46.581 58.000 52.000
+ -16370833.57743 -12721404.46242 22199164.413 22199168.581 22199163.366
+ -2893.271 -2254.497 51.000 45.000
+ -16128586.69443 -12556390.43442 22068144.767 22068148.748 22068144.307
+ 1169.827 911.554 52.000 46.000
+ -13880168.20543 -10781723.82042 22689025.373 22689030.197 22689024.385
+ 1232.864 960.673 51.000 45.000
+ 04 2 1 15 33 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25115131.57943 -19550102.38542 20058569.086 20058573.016 20058568.072
+ -1358.728 -1058.749 56.000 51.000
+ -10624842.46643 -8211247.56542 23323519.247 23323521.544 23323517.213
+ 3331.951 2596.325 47.000 41.000
+ -22069977.67743 -17194153.91942 21217994.947 21217998.766 21217994.471
+ 2207.246 1719.932 55.000 49.000
+ -16648377.67643 -12932758.03542 22480638.225 22480641.864 22480636.861
+ -3130.526 -2439.371 51.000 45.000
+ -26069565.59344 -20301631.76242 20335000.540 20335004.087 20334999.250
+ 45.188 35.211 58.000 51.000
+ -16283899.18743 -12653663.39642 22215707.619 22215712.035 22215705.833
+ -2902.509 -2261.695 51.000 45.000
+ -16163633.83343 -12583699.86142 22061475.598 22061479.575 22061474.464
+ 1166.567 909.013 52.000 46.000
+ -13916959.36343 -10810392.24742 22682024.061 22682028.880 22682023.097
+ 1219.785 950.482 51.000 45.000
+ 04 2 1 15 34 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25074086.87943 -19518119.49442 20066379.876 20066383.826 20066378.691
+ -1378.175 -1073.902 56.000 51.000
+ -10724681.67943 -8289044.29042 23304520.069 23304524.504 23304518.960
+ 3323.190 2589.499 47.000 41.000
+ -22136095.14843 -17245674.01542 21205413.166 21205416.907 21205412.910
+ 2200.164 1714.414 55.000 49.000
+ -16554381.01643 -12859513.90742 22498525.022 22498530.130 22498523.350
+ -3136.535 -2444.053 50.000 44.000
+ -26070705.77344 -20302520.21442 20334783.795 20334787.193 20334782.572
+ 30.407 23.694 58.000 52.000
+ -16196691.64943 -12585709.49342 22232302.390 22232305.970 22232301.105
+ -2911.878 -2268.996 52.000 45.000
+ -16198582.24243 -12610932.36342 22054825.213 22054828.452 22054824.835
+ 1163.032 906.259 53.000 46.000
+ -13953360.16143 -10838756.48542 22675097.390 22675101.273 22675096.098
+ 1206.406 940.057 51.000 45.000
+ 04 2 1 15 34 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -25032464.37543 -19485686.36842 20074300.334 20074304.148 20074298.908
+ -1397.321 -1088.821 56.000 51.000
+ -10824265.68443 -8366642.14942 23285570.324 23285573.000 23285568.377
+ 3314.865 2583.012 48.000 41.000
+ -22202002.99843 -17297030.76642 21192871.062 21192874.751 21192870.997
+ 2193.054 1708.873 56.000 49.000
+ -16460210.06243 -12786133.97142 22516444.800 22516450.145 22516443.739
+ -3142.137 -2448.418 50.000 44.000
+ -26071406.33044 -20303066.10342 20334650.662 20334653.455 20334649.272
+ 15.600 12.156 58.000 52.000
+ -16109209.97443 -12517541.95742 22248950.189 22248953.888 22248949.405
+ -2920.838 -2275.978 52.000 45.000
+ -16233428.63843 -12638085.39342 22048193.957 22048197.737 22048193.403
+ 1159.445 903.464 53.000 46.000
+ -13989364.70043 -10866811.97242 22668246.504 22668248.910 22668244.932
+ 1193.195 929.762 51.000 45.000
+ 04 2 1 15 35 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24990264.32643 -19452803.21642 20082330.641 20082334.558 20082329.578
+ -1415.621 -1103.081 56.000 51.000
+ -10923590.71343 -8444038.21442 23266668.486 23266670.876 23266667.530
+ 3307.294 2577.112 47.000 41.000
+ -22267696.99343 -17348220.88442 21180370.557 21180373.546 21180370.117
+ 2186.879 1704.062 56.000 49.000
+ -16365865.94443 -12712619.12142 22534397.686 22534403.368 22534397.356
+ -3146.908 -2452.136 50.000 44.000
+ -26071663.94044 -20303266.83842 20334601.752 20334604.620 20334600.172
+ 1.915 1.492 58.000 52.000
+ -16021454.63743 -12449161.18842 22265649.977 22265652.811 22265649.094
+ -2928.992 -2282.331 52.000 45.000
+ -16268171.66443 -12665157.86242 22041582.378 22041586.142 22041581.537
+ 1157.049 901.597 52.000 46.000
+ -14024968.64543 -10894555.29142 22661470.652 22661474.541 22661469.143
+ 1180.572 919.926 51.000 45.000
+ 04 2 1 15 35 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24947495.09643 -19419476.54542 20090469.355 20090473.307 20090468.265
+ -1434.751 -1117.988 56.000 51.000
+ -11022660.38343 -8521235.28342 23247816.324 23247819.948 23247815.527
+ 3298.186 2570.015 48.000 41.000
+ -22333180.66943 -17399247.11142 21167909.328 21167912.461 21167908.793
+ 2179.628 1698.411 56.000 49.000
+ -16271357.60043 -12638976.27342 22552383.146 22552387.390 22552380.500
+ -3152.645 -2456.606 50.000 44.000
+ -26071482.91944 -20303125.78642 20334635.776 20334638.894 20334634.495
+ -12.943 -10.085 58.000 52.000
+ -15933434.33243 -12380573.96742 22282399.670 22282403.180 22282398.928
+ -2937.942 -2289.305 52.000 45.000
+ -16302817.78343 -12692154.82742 22034990.105 22034993.271 22034989.203
+ 1153.706 898.992 53.000 46.000
+ -14060175.55443 -10921989.22342 22654771.151 22654775.421 22654769.488
+ 1167.235 909.534 52.000 45.000
+ 04 2 1 15 36 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24904156.88443 -19385706.51042 20098716.443 20098720.228 20098715.112
+ -1454.358 -1133.266 56.000 51.000
+ -11121470.83243 -8598230.38042 23229012.843 23229016.887 23229012.023
+ 3288.950 2562.818 48.000 41.000
+ -22398449.90243 -17450106.24542 21155489.191 21155492.113 21155488.714
+ 2171.714 1692.245 56.000 49.000
+ -16176686.40143 -12565206.53542 22570398.083 22570402.442 22570395.933
+ -3158.717 -2461.338 50.000 44.000
+ -26070860.62244 -20302640.88342 20334754.425 20334757.596 20334753.167
+ -28.451 -22.170 58.000 52.000
+ -15845150.24743 -12311781.21442 22299199.372 22299203.510 22299197.870
+ -2947.550 -2296.792 51.000 45.000
+ -16337365.71143 -12719075.25242 22028416.645 22028419.533 22028414.900
+ 1149.496 895.711 53.000 46.000
+ -14094981.35643 -10949110.60442 22648147.484 22648150.946 22648146.184
+ 1153.056 898.485 51.000 45.000
+ 04 2 1 15 36 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24860250.98443 -19351494.12942 20107071.432 20107075.120 20107070.218
+ -1472.795 -1147.632 56.000 51.000
+ -11220018.59443 -8675020.79042 23210259.545 23210261.822 23210259.402
+ 3280.749 2556.428 48.000 41.000
+ -22463500.96243 -17500795.38042 21143110.114 21143113.339 21143109.656
+ 2164.847 1686.894 56.000 49.000
+ -16081853.93443 -12491311.13442 22588443.797 22588448.914 22588443.384
+ -3163.513 -2465.075 50.000 44.000
+ -26069794.49244 -20301810.13242 20334957.272 20334960.299 20334955.947
+ -42.753 -33.314 58.000 52.000
+ -15756603.84443 -12242784.06042 22316049.060 22316053.839 22316047.776
+ -2955.637 -2303.094 51.000 45.000
+ -16371814.72043 -12745918.61242 22021859.938 22021863.645 22021858.995
+ 1146.818 893.624 52.000 46.000
+ -14129382.34643 -10975916.52442 22641601.284 22641605.954 22641599.310
+ 1139.952 888.274 51.000 46.000
+ 04 2 1 15 37 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24815779.32843 -19316840.89642 20115534.138 20115538.229 20115532.972
+ -1492.305 -1162.835 56.000 51.000
+ -11318301.40643 -8751604.75342 23191557.069 23191561.362 23191557.596
+ 3271.110 2548.917 49.000 41.000
+ -22528331.43343 -17551312.62642 21130772.754 21130776.626 21130772.600
+ 2156.855 1680.666 56.000 49.000
+ -15986863.37043 -12417292.54242 22606519.951 22606524.637 22606518.958
+ -3169.414 -2469.673 50.000 44.000
+ -26068282.83744 -20300632.22342 20335245.105 20335248.107 20335243.808
+ -58.241 -45.382 58.000 52.000
+ -15667797.81343 -12173584.59742 22332948.910 22332952.561 22332947.424
+ -2964.944 -2310.346 51.000 45.000
+ -16406165.21843 -12772685.23342 22015323.088 22015326.768 22015322.149
+ 1142.927 890.592 52.000 46.000
+ -14163376.30543 -11002405.28342 22635132.479 22635136.306 22635130.505
+ 1125.886 877.314 51.000 45.000
+ 04 2 1 15 37 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24770744.36443 -19281748.72842 20124104.048 20124107.726 20124102.597
+ -1510.809 -1177.254 56.000 51.000
+ -11416317.26143 -8827980.69842 23172905.391 23172909.155 23172903.961
+ 3262.538 2542.237 48.000 42.000
+ -22592938.83043 -17601656.05142 21118478.857 21118482.498 21118478.383
+ 2149.542 1674.968 56.000 49.000
+ -15891717.61743 -12343153.01942 22624625.620 22624630.795 22624625.887
+ -3174.418 -2473.572 51.000 44.000
+ -26066324.64644 -20299106.36242 20335617.619 20335620.618 20335616.152
+ -73.011 -56.892 58.000 51.000
+ -15578734.90143 -12104184.98042 22349895.943 22349900.626 22349894.506
+ -2973.297 -2316.855 51.000 45.000
+ -16440417.59343 -12799375.39342 22008805.474 22008808.836 22008804.554
+ 1139.959 888.280 52.000 46.000
+ -14196960.96643 -11028575.10142 22628740.908 22628745.301 22628739.941
+ 1112.314 866.738 52.000 45.000
+ 04 2 1 15 38 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24725149.87643 -19246220.56542 20132780.476 20132783.825 20132779.000
+ -1529.680 -1191.958 56.000 51.000
+ -11514065.39143 -8904148.01042 23154305.903 23154309.382 23154304.102
+ 3253.117 2534.896 48.000 42.000
+ -22657322.21943 -17651824.92142 21106227.571 21106230.567 21106226.865
+ 2141.843 1668.969 56.000 49.000
+ -15796421.44043 -12268896.26742 22642759.774 22642764.422 22642758.732
+ -3179.622 -2477.627 51.000 44.000
+ -26063920.00844 -20297232.62942 20336074.943 20336078.150 20336073.606
+ -88.172 -68.705 58.000 51.000
+ -15489419.05243 -12034588.25542 22366892.246 22366896.711 22366890.656
+ -2981.755 -2323.445 51.000 45.000
+ -16474573.73943 -12825990.57842 22002305.864 22002308.989 22002305.202
+ 1136.581 885.648 52.000 46.000
+ -14230135.45843 -11054425.31142 22622428.559 22622432.328 22622426.642
+ 1098.523 855.992 51.000 45.000
+ 04 2 1 15 38 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24678999.08443 -19210258.92342 20141562.443 20141566.502 20141561.358
+ -1547.462 -1205.814 56.000 51.000
+ -11611544.52143 -8980105.71342 23135754.481 23135759.868 23135753.138
+ 3245.071 2528.627 47.000 42.000
+ -22721479.82643 -17701817.85642 21094018.620 21094021.925 21094017.951
+ 2134.965 1663.609 56.000 49.000
+ -15700978.60743 -12194525.23842 22660922.983 22660926.924 22660922.285
+ -3183.757 -2480.850 51.000 44.000
+ -26061068.24344 -20295010.47642 20336618.028 20336620.919 20336616.767
+ -102.305 -79.718 58.000 51.000
+ -15399853.92943 -11964797.29142 22383936.773 22383941.875 22383935.369
+ -2989.466 -2329.454 52.000 45.000
+ -16508634.75743 -12852531.63542 21995824.104 21995827.956 21995823.029
+ 1133.894 883.554 52.000 46.000
+ -14262898.10243 -11079954.56542 22616194.302 22616198.546 22616192.210
+ 1085.383 845.753 51.000 45.000
+ 04 2 1 15 39 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24632291.76244 -19173863.61842 20150451.247 20150454.589 20150449.569
+ -1565.874 -1220.161 57.000 51.000
+ -11708750.04943 -9055850.21142 23117257.161 23117260.171 23117256.199
+ 3235.735 2521.352 48.000 42.000
+ -22785406.99043 -17751631.22942 21081853.593 21081856.937 21081853.072
+ 2127.421 1657.731 56.000 49.000
+ -15605389.66343 -12120040.35842 22679113.434 22679116.877 22679112.092
+ -3188.446 -2484.503 51.000 44.000
+ -26057766.11544 -20292437.40042 20337246.282 20337249.055 20337245.145
+ -117.248 -91.362 58.000 51.000
+ -15310039.82043 -11894812.30842 22401027.732 22401032.634 22401026.859
+ -2997.628 -2335.814 51.000 44.000
+ -16542598.95743 -12878997.24242 21989360.636 21989363.736 21989359.153
+ 1130.815 881.155 52.000 46.000
+ -14295244.40443 -11105159.43542 22610038.708 22610041.993 22610037.185
+ 1071.573 834.992 52.000 45.000
+ 04 2 1 15 39 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24585031.67643 -19137037.59442 20159444.234 20159448.069 20159442.769
+ -1584.131 -1234.388 56.000 51.000
+ -11805681.17243 -9131380.90142 23098810.885 23098815.679 23098809.937
+ 3226.874 2514.447 48.000 42.000
+ -22849102.48943 -17801264.08342 21069732.345 21069736.085 21069732.014
+ 2119.784 1651.780 56.000 49.000
+ -15509658.98143 -12045445.04542 22697329.021 22697333.971 22697329.618
+ -3192.947 -2488.011 50.000 44.000
+ -26054013.64144 -20289513.40442 20337960.350 20337963.639 20337959.108
+ -132.024 -102.876 58.000 51.000
+ -15219980.77943 -11824636.43842 22418166.132 22418169.759 22418164.566
+ -3005.458 -2341.915 52.000 45.000
+ -16576468.14243 -12905388.81742 21982916.142 21982919.336 21982914.962
+ 1127.773 878.784 53.000 46.000
+ -14327173.58343 -11130039.25142 22603962.223 22603966.755 22603960.655
+ 1057.869 824.314 51.000 45.000
+ 04 2 1 15 40 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24537221.99243 -19099783.30742 20168541.928 20168545.784 20168540.675
+ -1602.644 -1248.813 56.000 51.000
+ -11902336.57743 -9206696.75342 23080418.566 23080422.585 23080416.568
+ 3217.418 2507.079 48.000 42.000
+ -22912564.69243 -17850715.15142 21057655.855 21057659.150 21057655.681
+ 2111.606 1645.407 56.000 49.000
+ -15413790.21443 -11970742.14742 22715572.672 22715577.727 22715571.759
+ -3197.645 -2491.671 50.000 44.000
+ -26049810.52944 -20286238.27142 20338760.010 20338763.312 20338758.599
+ -147.401 -114.858 58.000 51.000
+ -15129680.21343 -11754272.38242 22435348.783 22435352.158 22435348.498
+ -3013.958 -2348.539 52.000 44.000
+ -16610243.30243 -12931707.13042 21976488.136 21976491.967 21976487.886
+ 1124.739 876.420 52.000 46.000
+ -14358683.91543 -11154592.70342 22597966.145 22597970.421 22597964.456
+ 1043.596 813.192 52.000 45.000
+ 04 2 1 15 40 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24488862.45943 -19062100.56142 20177744.603 20177748.168 20177743.359
+ -1621.061 -1263.164 56.000 51.000
+ -11998711.59343 -9281794.10542 23062078.633 23062080.484 23062077.265
+ 3207.733 2499.532 48.000 42.000
+ -22975788.57043 -17899980.51142 21045625.089 21045628.223 21045624.788
+ 2103.567 1639.143 56.000 49.000
+ -15317783.66343 -11895931.87442 22733842.105 22733845.760 22733841.330
+ -3202.518 -2495.468 49.000 44.000
+ -26045152.78044 -20282608.86442 20339646.599 20339649.597 20339645.207
+ -162.770 -126.834 58.000 51.000
+ -15039138.27743 -11683720.22142 22452579.098 22452582.674 22452578.402
+ -3021.925 -2354.747 52.000 44.000
+ -16643922.36543 -12957950.53942 21970079.226 21970082.973 21970077.991
+ 1121.057 873.551 52.000 46.000
+ -14389770.86543 -11178816.24842 22592050.634 22592054.235 22592048.766
+ 1029.263 802.023 52.000 45.000
+ 04 2 1 15 41 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24439960.16043 -19023994.88942 20187049.979 20187054.069 20187048.905
+ -1638.796 -1276.984 56.000 50.000
+ -12094808.22443 -9356674.54742 23043792.428 23043796.220 23043790.399
+ 3199.007 2492.733 49.000 42.000
+ -23038776.02343 -17949061.63942 21033638.898 21033641.989 21033638.226
+ 2095.991 1633.240 56.000 49.000
+ -15221646.82343 -11821020.07742 22752136.170 22752140.710 22752135.621
+ -3206.306 -2498.420 49.000 44.000
+ -26040043.47744 -20278627.60042 20340618.392 20340621.920 20340617.235
+ -177.446 -138.270 58.000 51.000
+ -14948361.62943 -11612985.14442 22469853.429 22469856.584 22469851.823
+ -3029.357 -2360.538 51.000 44.000
+ -16677510.01143 -12984122.72242 21963688.031 21963691.748 21963687.138
+ 1118.538 871.588 52.000 46.000
+ -14420436.43843 -11202711.43742 22586214.260 22586219.491 22586213.012
+ 1015.554 791.341 51.000 45.000
+ 04 2 1 15 41 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24390513.84343 -18985465.31442 20196459.654 20196463.274 20196458.106
+ -1657.219 -1291.339 56.000 50.000
+ -12190621.42543 -9431334.12842 23025559.633 23025563.211 23025558.249
+ 3189.025 2484.955 48.000 42.000
+ -23101521.19343 -17997953.96842 21021699.195 21021702.089 21021698.591
+ 2087.528 1626.645 56.000 49.000
+ -15125379.40043 -11746006.51942 22770454.966 22770459.675 22770454.548
+ -3211.107 -2502.161 49.000 44.000
+ -26034478.26744 -20274291.08442 20341677.750 20341680.714 20341676.481
+ -193.047 -150.426 58.000 51.000
+ -14857349.83443 -11542066.81542 22487171.581 22487175.724 22487170.498
+ -3037.652 -2367.001 51.000 44.000
+ -16711003.24243 -13010221.34042 21957313.675 21957318.748 21957312.939
+ 1115.026 868.851 52.000 46.000
+ -14450674.98543 -11226273.89242 22580461.151 22580464.433 22580458.602
+ 1000.846 779.880 52.000 45.000
+ 04 2 1 15 42 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24340527.85343 -18946515.20842 20205971.737 20205975.308 20205970.391
+ -1675.146 -1305.308 56.000 50.000
+ -12286150.57643 -9505772.37142 23007381.891 23007385.531 23007380.277
+ 3179.528 2477.554 49.000 42.000
+ -23164023.45543 -18046657.02442 21009805.024 21009808.191 21009804.368
+ 2079.373 1620.291 56.000 49.000
+ -15028986.20843 -11670894.95142 22788799.113 22788804.511 22788797.762
+ -3214.928 -2505.139 50.000 44.000
+ -26028457.96744 -20269599.94542 20342823.670 20342826.524 20342822.204
+ -208.282 -162.298 58.000 51.000
+ -14766107.72843 -11470969.06542 22504534.607 22504538.648 22504533.512
+ -3045.249 -2372.921 51.000 44.000
+ -16744404.42243 -13036248.24942 21950958.254 21950962.049 21950957.074
+ 1111.982 866.479 52.000 46.000
+ -14480486.27243 -11249503.40342 22574788.268 22574792.418 22574786.620
+ 986.720 768.873 51.000 45.000
+ 04 2 1 15 42 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24290003.55943 -18907145.64342 20215585.778 20215589.791 20215584.521
+ -1692.741 -1319.019 56.000 50.000
+ -12381392.88943 -9579987.09742 22989257.114 22989262.222 22989254.139
+ 3170.204 2470.289 49.000 42.000
+ -23226279.48643 -18095168.21642 20997957.798 20997961.120 20997957.534
+ 2071.389 1614.069 56.000 49.000
+ -14932468.96643 -11595686.73142 22807165.207 22807169.461 22807164.027
+ -3219.245 -2508.502 50.000 44.000
+ -26021980.02244 -20264552.20642 20344056.139 20344059.229 20344054.948
+ -223.189 -173.913 58.000 51.000
+ -14674636.69343 -11399692.93742 22521940.736 22521945.239 22521939.975
+ -3052.569 -2378.625 50.000 44.000
+ -16777712.78343 -13062202.80942 21944619.818 21944623.369 21944618.775
+ 1109.068 864.209 52.000 46.000
+ -14509867.01343 -11272397.42642 22569196.650 22569200.878 22569195.449
+ 972.540 757.823 52.000 45.000
+ 04 2 1 15 43 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24238946.19944 -18867360.70742 20225302.242 20225306.098 20225300.879
+ -1710.237 -1332.652 57.000 50.000
+ -12476349.06843 -9653978.88642 22971187.923 22971190.599 22971186.497
+ 3160.982 2463.103 50.000 42.000
+ -23288289.13043 -18143487.41642 20986157.964 20986161.324 20986157.335
+ 2063.276 1607.748 56.000 49.000
+ -14835833.60543 -11520386.46642 22825554.307 22825559.927 22825552.809
+ -3222.445 -2510.996 49.000 44.000
+ -26015046.41144 -20259149.40942 20345375.275 20345378.794 20345374.126
+ -238.180 -185.595 58.000 51.000
+ -14582942.08743 -11328242.61642 22539390.336 22539394.050 22539388.257
+ -3059.703 -2384.184 51.000 44.000
+ -16810931.34943 -13088087.40542 21938299.241 21938302.073 21938298.433
+ 1106.435 862.157 53.000 46.000
+ -14538817.98843 -11294956.57742 22563687.933 22563691.566 22563685.959
+ 958.373 746.784 52.000 45.000
+ 04 2 1 15 43 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24187354.85643 -18827159.68242 20235119.697 20235123.371 20235118.518
+ -1728.726 -1347.059 56.000 50.000
+ -12571013.02043 -9727742.96242 22953173.904 22953175.916 22953172.032
+ 3150.384 2454.845 49.000 42.000
+ -23350046.65443 -18191610.15142 20974406.552 20974409.206 20974405.655
+ 2054.143 1600.631 56.000 49.000
+ -14739079.36143 -11444993.56542 22843965.679 22843969.954 22843964.443
+ -3227.227 -2514.722 50.000 43.000
+ -26007652.04644 -20253387.57642 20346782.718 20346785.731 20346781.420
+ -254.349 -198.194 58.000 51.000
+ -14491023.17543 -11256617.53142 22556881.158 22556885.310 22556880.305
+ -3067.838 -2390.523 51.000 44.000
+ -16844057.09043 -13113899.66142 21931995.145 21931998.791 21931994.661
+ 1102.474 859.071 53.000 46.000
+ -14567333.52643 -11317176.42142 22558260.625 22558265.220 22558259.353
+ 943.018 734.819 51.000 45.000
+ 04 2 1 15 44 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24135234.42043 -18786546.37442 20245037.641 20245041.289 20245036.513
+ -1746.078 -1360.580 56.000 50.000
+ -12665385.78743 -9801280.13842 22935215.988 22935218.757 22935212.853
+ 3141.072 2447.589 49.000 42.000
+ -23411552.07243 -18239536.44242 20962702.282 20962705.125 20962701.487
+ 2046.057 1594.330 56.000 49.000
+ -14642211.99843 -11369512.53242 22862399.823 22862404.235 22862398.462
+ -3230.972 -2517.640 49.000 43.000
+ -25999798.77144 -20247268.15142 20348277.315 20348280.160 20348275.888
+ -269.312 -209.853 58.000 51.000
+ -14398885.12843 -11184821.65842 22574414.736 22574419.291 22574413.915
+ -3074.748 -2395.907 51.000 44.000
+ -16877092.81943 -13139641.77842 21925709.200 21925712.474 21925708.054
+ 1099.768 856.962 53.000 46.000
+ -14595413.98743 -11339057.25942 22552918.141 22552922.044 22552916.885
+ 928.909 723.825 52.000 45.000
+ 04 2 1 15 44 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24082584.63743 -18745520.59542 20255056.745 20255060.180 20255055.313
+ -1764.038 -1374.575 56.000 50.000
+ -12759462.27143 -9874586.45742 22917311.982 22917315.350 22917311.390
+ 3130.780 2439.569 48.000 42.000
+ -23472799.92243 -18287262.03342 20951047.178 20951049.662 20951046.340
+ 2037.112 1587.360 56.000 49.000
+ -14545231.64443 -11293943.45342 22880853.897 22880859.585 22880852.311
+ -3234.655 -2520.510 48.000 43.000
+ -25991482.56444 -20240788.00042 20349859.130 20349862.740 20349858.172
+ -285.251 -222.273 57.000 51.000
+ -14306527.60343 -11112854.74642 22591989.439 22591994.257 22591988.395
+ -3082.487 -2401.938 50.000 44.000
+ -16910036.07343 -13165311.83542 21919439.849 21919443.800 21919438.678
+ 1096.392 854.331 53.000 47.000
+ -14623053.99043 -11360594.89942 22547657.499 22547662.188 22547655.461
+ 913.622 711.913 51.000 45.000
+ 04 2 1 15 45 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -24029413.14743 -18704088.28342 20265174.798 20265178.713 20265173.390
+ -1781.929 -1388.516 56.000 50.000
+ -12853245.27043 -9947664.06542 22899467.159 22899469.938 22899466.012
+ 3120.428 2431.502 50.000 42.000
+ -23533792.96443 -18334789.06342 20939440.536 20939442.963 20939439.863
+ 2028.025 1580.279 56.000 49.000
+ -14448146.22943 -11218292.50142 22899328.849 22899333.685 22899327.278
+ -3238.703 -2523.665 48.000 43.000
+ -25982707.33344 -20233950.16342 20351529.419 20351532.421 20351527.955
+ -300.979 -234.529 58.000 51.000
+ -14213958.22343 -11040722.79742 22609605.120 22609609.489 22609604.023
+ -3090.145 -2407.905 51.000 44.000
+ -16942892.20843 -13190913.99042 21913187.229 21913191.197 21913186.108
+ 1092.914 851.621 52.000 46.000
+ -14650256.93943 -11381791.96042 22542481.928 22542485.659 22542480.479
+ 898.738 700.315 52.000 46.000
+ 04 2 1 15 45 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23975718.14343 -18662248.03842 20275392.578 20275396.546 20275391.234
+ -1798.625 -1401.526 56.000 50.000
+ -12946729.08043 -10020508.52942 22881677.112 22881681.446 22881676.289
+ 3110.988 2424.146 49.000 43.000
+ -23594524.59843 -18382112.40142 20927883.618 20927886.207 20927883.219
+ 2019.827 1573.891 56.000 49.000
+ -14350954.79643 -11142558.95642 22917822.367 22917828.080 22917820.939
+ -3241.560 -2525.891 48.000 42.000
+ -25973468.02344 -20226750.70342 20353287.520 20353290.729 20353286.227
+ -315.790 -246.070 58.000 51.000
+ -14121175.95243 -10968424.93942 22627260.774 22627266.192 22627259.248
+ -3096.457 -2412.824 50.000 44.000
+ -16975657.60643 -13216445.45342 21906952.665 21906956.465 21906951.136
+ 1090.624 849.837 52.000 47.000
+ -14677016.75543 -11402643.72642 22537389.475 22537393.813 22537387.214
+ 884.528 689.242 51.000 45.000
+ 04 2 1 15 46 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23921504.41244 -18620003.59542 20285709.469 20285713.223 20285708.170
+ -1815.061 -1414.333 57.000 50.000
+ -13039913.27043 -10093119.54742 22863943.551 22863948.435 22863943.271
+ 3101.876 2417.046 49.000 42.000
+ -23654994.20543 -18429231.56842 20916376.201 20916379.748 20916375.923
+ 2011.927 1567.735 56.000 50.000
+ -14253661.76643 -11066746.24442 22936337.806 22936342.555 22936336.561
+ -3244.170 -2527.925 48.000 42.000
+ -25963765.55644 -20219190.35242 20355133.952 20355137.404 20355132.736
+ -330.455 -257.497 58.000 51.000
+ -14028185.12043 -10895964.57542 22644956.441 22644960.847 22644955.844
+ -3102.535 -2417.560 50.000 44.000
+ -17008334.33343 -13241907.81942 21900734.249 21900738.453 21900733.094
+ 1088.418 848.118 53.000 47.000
+ -14703333.03343 -11423149.88542 22532381.839 22532385.471 22532379.887
+ 870.459 678.280 52.000 45.000
+ 04 2 1 15 46 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23866775.06943 -18577357.37342 20296123.992 20296127.921 20296122.447
+ -1832.499 -1427.921 56.000 50.000
+ -13132796.79043 -10165496.23142 22846269.651 22846271.220 22846267.194
+ 3091.472 2408.939 49.000 42.000
+ -23715200.12243 -18476145.25842 20904919.681 20904922.710 20904919.097
+ 2002.893 1560.696 56.000 50.000
+ -14156271.19243 -10990857.52842 22954870.715 22954875.684 22954869.376
+ -3247.405 -2530.445 49.000 42.000
+ -25953599.66944 -20211268.88342 20357068.829 20357071.567 20357067.286
+ -346.153 -269.730 58.000 51.000
+ -13934989.05743 -10823344.30842 22662691.096 22662695.895 22662690.096
+ -3109.488 -2422.978 50.000 43.000
+ -17040923.75043 -13267302.15742 21894531.927 21894536.781 21894531.471
+ 1085.337 845.717 52.000 46.000
+ -14729204.57443 -11443309.48742 22527457.255 22527462.190 22527456.022
+ 855.366 666.519 51.000 45.000
+ 04 2 1 15 47 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23811527.12644 -18534307.04842 20306637.701 20306640.987 20306636.100
+ -1849.851 -1441.442 57.000 50.000
+ -13225371.72643 -10237632.49342 22828652.844 22828654.441 22828651.240
+ 3081.170 2400.912 48.000 42.000
+ -23775133.99543 -18522846.96542 20893514.511 20893517.980 20893514.072
+ 1993.723 1553.550 56.000 50.000
+ -14058780.37343 -10914890.67742 22973422.271 22973426.295 22973420.834
+ -3250.859 -2533.137 49.000 42.000
+ -25942963.42444 -20202980.90842 20359092.599 20359095.691 20359091.219
+ -361.967 -282.052 58.000 51.000
+ -13841584.76943 -10750561.75442 22680465.087 22680468.949 22680464.054
+ -3116.476 -2428.423 49.000 43.000
+ -17073420.58643 -13292624.36242 21888349.319 21888353.129 21888347.759
+ 1082.183 843.259 53.000 47.000
+ -14754623.89843 -11463116.72442 22522619.959 22522624.874 22522618.697
+ 840.144 654.658 50.000 45.000
+ 04 2 1 15 47 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23755772.31444 -18490861.76042 20317247.232 20317250.663 20317245.868
+ -1866.611 -1454.502 57.000 50.000
+ -13317645.16843 -10309533.82442 22811094.647 22811096.179 22811092.405
+ 3071.281 2393.206 49.000 42.000
+ -23834802.35943 -18569341.78442 20882159.372 20882163.487 20882159.167
+ 1984.887 1546.665 56.000 50.000
+ -13961201.11943 -10838854.91442 22991992.667 22991995.336 22991991.312
+ -3253.806 -2535.433 50.000 42.000
+ -25931865.17744 -20194332.92842 20361204.066 20361207.467 20361202.951
+ -377.286 -293.989 58.000 51.000
+ -13747983.65143 -10677625.84442 22698276.330 22698281.367 22698276.050
+ -3122.923 -2433.446 49.000 43.000
+ -17105833.95643 -13317881.52742 21882180.312 21882184.340 21882179.282
+ 1079.392 841.085 52.000 47.000
+ -14779597.82243 -11482576.90842 22517867.557 22517873.075 22517866.590
+ 825.524 643.265 50.000 45.000
+ 04 2 1 15 48 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23699509.25643 -18447020.43742 20327953.226 20327957.405 20327952.297
+ -1884.431 -1468.388 56.000 50.000
+ -13409611.10143 -10381195.54442 22793593.434 22793595.367 22793592.147
+ 3059.708 2384.188 50.000 42.000
+ -23894198.81543 -18615624.72342 20870857.435 20870860.421 20870856.756
+ 1974.822 1538.822 56.000 50.000
+ -13863532.21543 -10762749.30742 23010577.279 23010582.479 23010577.101
+ -3257.544 -2538.346 49.000 42.000
+ -25920299.50844 -20185320.73042 20363405.360 20363408.388 20363403.899
+ -393.811 -306.866 58.000 51.000
+ -13654184.18143 -10604535.37042 22716125.131 22716130.064 22716125.409
+ -3130.528 -2439.372 49.000 43.000
+ -17138160.00143 -13343070.66242 21876028.677 21876032.708 21876028.754
+ 1075.596 838.127 53.000 47.000
+ -14804120.07343 -11501685.14342 22513202.183 22513205.940 22513200.488
+ 809.325 630.643 51.000 45.000
+ 04 2 1 15 48 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23642742.14943 -18402786.34742 20338756.078 20338760.205 20338754.777
+ -1899.929 -1480.464 56.000 50.000
+ -13501269.48143 -10452617.60542 22776151.596 22776153.801 22776151.180
+ 3050.581 2377.076 49.000 42.000
+ -23953322.51143 -18661695.12742 20859606.094 20859609.676 20859605.777
+ 1966.831 1532.595 56.000 50.000
+ -13765778.60643 -10686577.70242 23029179.539 23029182.182 23029178.022
+ -3259.183 -2539.623 49.000 42.000
+ -25908267.70744 -20175945.31042 20365695.104 20365697.980 20365693.685
+ -408.135 -318.027 58.000 51.000
+ -13560191.39343 -10531294.24042 22734012.750 22734018.484 22734010.292
+ -3135.568 -2443.300 49.000 43.000
+ -17170400.99743 -13368193.51242 21869892.589 21869897.211 21869892.393
+ 1074.021 836.899 52.000 47.000
+ -14828190.83843 -11520441.57042 22508620.750 22508625.608 22508620.309
+ 795.591 619.941 51.000 45.000
+ 04 2 1 15 49 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23585466.38643 -18358155.89342 20349655.096 20349659.395 20349654.013
+ -1917.112 -1493.853 56.000 50.000
+ -13592611.11743 -10523792.86342 22758769.716 22758773.510 22758768.083
+ 3039.926 2368.773 49.000 42.000
+ -24012163.92044 -18707545.58442 20848409.286 20848412.516 20848408.475
+ 1957.091 1525.006 57.000 50.000
+ -13667935.82443 -10610336.59042 23047798.411 23047802.731 23047796.878
+ -3262.527 -2542.229 50.000 42.000
+ -25895761.90244 -20166200.53642 20368074.908 20368077.915 20368073.454
+ -424.269 -330.599 58.000 51.000
+ -13466000.33243 -10457898.63342 22751936.750 22751941.641 22751935.599
+ -3142.527 -2448.722 49.000 43.000
+ -17202550.01143 -13393244.67942 21863775.788 21863780.133 21863775.238
+ 1070.612 834.243 53.000 47.000
+ -14851800.95743 -11538839.05042 22504129.123 22504132.746 22504127.642
+ 779.799 607.636 52.000 45.000
+ 04 2 1 15 49 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23527695.96343 -18313139.99542 20360648.409 20360652.745 20360647.129
+ -1934.431 -1507.349 56.000 50.000
+ -13683645.14443 -10594728.40342 22741446.037 22741448.088 22741444.977
+ 3028.823 2360.122 49.000 42.000
+ -24070731.58543 -18753182.72942 20837263.785 20837267.482 20837263.297
+ 1947.085 1517.209 56.000 50.000
+ -13570017.95443 -10534036.97842 23066431.298 23066435.735 23066430.556
+ -3265.813 -2544.789 49.000 42.000
+ -25882791.88644 -20156094.04042 20370542.735 20370546.077 20370541.604
+ -440.622 -343.342 58.000 51.000
+ -13371624.62143 -10384359.14742 22769895.806 22769900.007 22769894.438
+ -3149.225 -2453.941 49.000 43.000
+ -17234618.57943 -13418233.16042 21857673.371 21857677.303 21857672.504
+ 1067.124 831.525 53.000 47.000
+ -14874959.71443 -11556884.80042 22499721.979 22499725.286 22499720.228
+ 763.905 595.251 51.000 45.000
+ 04 2 1 15 50 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23469426.91043 -18267735.54542 20371736.935 20371740.623 20371735.557
+ -1950.745 -1520.061 56.000 50.000
+ -13774362.95043 -10665417.56542 22724182.879 22724185.350 22724181.780
+ 3018.615 2352.168 49.000 42.000
+ -24129016.36044 -18798599.43242 20826173.048 20826175.923 20826172.522
+ 1938.012 1510.139 57.000 50.000
+ -13472021.14943 -10457675.85042 23085079.010 23085084.936 23085077.432
+ -3267.893 -2546.410 49.000 42.000
+ -25869350.15144 -20145619.97242 20373100.612 20373103.766 20373099.324
+ -455.999 -355.324 58.000 51.000
+ -13277060.56743 -10310672.88842 22787890.774 22787895.009 22787890.690
+ -3155.444 -2458.787 50.000 43.000
+ -17266600.17343 -13443153.85942 21851587.949 21851591.215 21851586.279
+ 1064.581 829.544 53.000 47.000
+ -14897658.13043 -11574571.86442 22495402.273 22495405.262 22495400.723
+ 748.640 583.356 51.000 45.000
+ 04 2 1 15 50 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23410660.83643 -18221943.80842 20382919.749 20382923.506 20382918.229
+ -1967.334 -1532.987 56.000 50.000
+ -13864761.69843 -10735858.10442 22706980.378 22706984.069 22706978.366
+ 3007.622 2343.602 49.000 43.000
+ -24187014.93944 -18843793.13742 20815136.700 20815139.066 20815135.864
+ 1928.261 1502.541 57.000 50.000
+ -13373947.49843 -10381254.85542 23103741.548 23103746.425 23103739.760
+ -3270.675 -2548.578 49.000 42.000
+ -25855434.94344 -20134776.96242 20375748.788 20375751.747 20375747.347
+ -472.051 -367.832 58.000 51.000
+ -13182309.62143 -10236841.00342 22805921.192 22805925.733 22805920.055
+ -3161.679 -2463.646 50.000 43.000
+ -17298494.35843 -13468006.45242 21845518.551 21845522.139 21845517.499
+ 1061.412 827.074 53.000 47.000
+ -14919893.87643 -11591898.40342 22491170.420 22491175.590 22491169.533
+ 733.231 571.349 51.000 45.000
+ 04 2 1 15 51 0.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23351405.83343 -18175771.09442 20394195.156 20394199.603 20394194.165
+ -1983.540 -1545.615 56.000 50.000
+ -13954844.83843 -10806052.69942 22689837.699 22689840.952 22689836.739
+ 2997.012 2335.334 50.000 43.000
+ -24244729.97744 -18888765.90142 20804153.970 20804156.258 20804153.289
+ 1918.813 1495.179 57.000 50.000
+ -13275805.22943 -10304780.38442 23122417.770 23122419.657 23122417.666
+ -3272.711 -2550.164 49.000 42.000
+ -25841050.77344 -20123568.52442 20378486.197 20378489.041 20378484.672
+ -487.523 -379.888 58.000 51.000
+ -13087379.87343 -10162869.79642 22823986.499 22823989.345 22823985.801
+ -3167.487 -2468.172 50.000 43.000
+ -17330306.69643 -13492795.27742 21839464.829 21839468.396 21839464.114
+ 1058.784 825.026 53.000 47.000
+ -14941670.23443 -11608866.99342 22487026.711 22487030.621 22487025.374
+ 717.905 559.406 51.000 45.000
+ 04 2 1 15 51 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -23291664.23543 -18129219.20142 20405563.941 20405567.555 20405562.664
+ -1999.785 -1558.274 56.000 50.000
+ -14044610.09343 -10875999.60642 22672756.861 22672759.536 22672756.640
+ 2986.121 2326.848 50.000 43.000
+ -24302158.57444 -18933515.46342 20793225.270 20793228.091 20793224.775
+ 1909.060 1487.579 57.000 50.000
+ -13177596.90943 -10228254.43742 23141106.885 23141110.561 23141106.078
+ -3275.187 -2552.094 49.000 42.000
+ -25826196.51844 -20111993.79042 20381312.603 20381315.860 20381311.365
+ -503.413 -392.270 58.000 51.000
+ -12992273.02243 -10088760.58442 22842083.818 22842088.395 22842082.835
+ -3173.760 -2473.060 50.000 43.000
+ -17362036.92843 -13517520.11642 21833426.746 21833430.247 21833425.950
+ 1055.945 822.814 53.000 47.000
+ -14962984.98043 -11625475.86542 22482971.261 22482975.687 22482969.135
+ 702.419 547.339 51.000 45.000
+ 04 2 1 15 52 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -23231432.15243 -18082285.11942 20417025.503 20417029.604 20417024.042
+ -2016.003 -1570.911 56.000 50.000
+ -14134048.72343 -10945692.00442 22655737.572 22655739.821 22655736.469
+ 2975.842 2318.838 50.000 43.000
+ 24773161.345
+ 2065.041 1609.123 42.000
+ -24359291.86544 -18978034.91742 20782353.512 20782356.229 20782352.652
+ 1899.420 1480.068 57.000 50.000
+ -13079319.03843 -10151674.30642 23159808.108 23159812.804 23159806.969
+ -3277.036 -2553.534 49.000 42.000
+ -25810864.52744 -20100046.79642 20384230.122 20384233.695 20384229.119
+ -519.084 -404.481 58.000 51.000
+ -12896985.13443 -10014510.30642 22860217.238 22860220.992 22860216.458
+ -3179.400 -2477.454 50.000 43.000
+ -17393678.77243 -13542176.07042 21827405.576 21827408.664 21827404.562
+ 1053.232 820.700 53.000 47.000
+ -14983829.54943 -11641718.38342 22479003.727 22479008.243 22479002.760
+ 686.975 535.305 51.000 45.000
+ 04 2 1 15 52 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -23170721.01243 -18034977.73442 20428578.347 20428582.756 20428577.266
+ -2032.006 -1583.381 56.000 50.000
+ -14223167.80343 -11015135.38442 22638778.565 22638781.050 22638776.732
+ 2965.130 2310.491 49.000 43.000
+ 24761408.908
+ 2051.387 1598.483 43.000
+ -24416135.81044 -19022328.91242 20771536.014 20771539.141 20771535.383
+ 1889.692 1472.487 57.000 50.000
+ -12980982.80843 -10075048.70142 23178521.122 23178526.094 23178519.414
+ -3278.919 -2555.002 48.000 42.000
+ -25795062.60544 -20087733.61842 20387237.254 20387240.329 20387235.923
+ -534.805 -416.731 58.000 51.000
+ -12801527.87743 -9940128.05042 22878381.634 22878386.511 22878380.236
+ -3184.927 -2481.761 50.000 43.000
+ -17425241.20243 -13566770.16542 21821399.290 21821402.786 21821398.473
+ 1050.562 818.620 53.000 47.000
+ -15004210.79343 -11657599.86442 22475126.167 22475129.965 22475124.594
+ 671.408 523.175 51.000 45.000
+ 04 2 1 15 53 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -23109525.44143 -17987292.87442 20440223.774 20440227.918 20440222.368
+ -2047.899 -1595.765 56.000 50.000
+ -14311957.46343 -11084322.07342 22621881.655 22621885.224 22621880.189
+ 2954.198 2301.972 49.000 43.000
+ -770278.17653 -434782.75952 24749733.876 24749742.503 24749734.910
+ 2036.255 1586.692 41.000 36.000
+ -24472680.08344 -19066389.38742 20760775.781 20760779.027 20760775.365
+ 1879.746 1464.737 57.000 50.000
+ -12882583.15343 -9998373.67242 23197245.823 23197249.690 23197244.198
+ -3281.084 -2556.689 48.000 41.000
+ -25778782.25044 -20075047.63942 20390335.183 20390338.140 20390334.073
+ -550.681 -429.102 58.000 51.000
+ -12705895.28843 -9865609.18242 22896580.298 22896584.689 22896578.636
+ -3190.724 -2486.278 50.000 43.000
+ -17456716.57943 -13591296.41342 21815410.164 21815413.289 21815408.734
+ 1047.752 816.430 53.000 47.000
+ -15024119.02743 -11673112.76842 22471337.464 22471340.992 22471336.010
+ 655.703 510.937 51.000 45.000
+ 04 2 1 15 53 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -23047855.22843 -17939238.16242 20451959.111 20451963.070 20451957.907
+ -2063.573 -1607.979 56.000 50.000
+ -14400422.72843 -11153256.00542 22605046.929 22605050.647 22605045.038
+ 2943.386 2293.548 49.000 43.000
+ -831178.01243 -482237.15742 24738147.677 24738150.204 24738148.646
+ 2022.634 1576.078 42.000 35.000
+ -24528928.84344 -19110219.59742 20750072.048 20750075.068 20750071.656
+ 1869.998 1457.141 57.000 50.000
+ -12784129.77243 -9921656.79242 23215979.987 23215985.411 23215980.190
+ -3282.598 -2557.868 47.000 41.000
+ -25762029.58844 -20061993.63242 20393523.167 20393526.203 20393521.769
+ -566.371 -441.328 58.000 51.000
+ -12610097.16443 -9790961.35842 22914810.098 22914813.889 22914807.901
+ -3196.038 -2490.419 50.000 43.000
+ -17488111.89943 -13615760.29842 21809435.676 21809439.254 21809434.706
+ 1045.067 814.338 53.000 47.000
+ -15043559.15743 -11688260.92342 22467638.066 22467641.646 22467636.647
+ 640.222 498.874 51.000 45.000
+ 04 2 1 15 54 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22985711.32643 -17890814.33742 20463784.351 20463788.249 20463783.156
+ -2079.320 -1620.249 56.000 50.000
+ -14488559.61943 -11221934.05342 22588276.064 22588278.556 22588273.924
+ 2932.285 2284.897 49.000 43.000
+ -891641.64543 -529351.66042 24726642.192 24726646.572 24726641.922
+ 2008.417 1565.000 42.000 36.000
+ -24584877.78844 -19153816.18042 20739425.516 20739428.759 20739424.786
+ 1859.865 1449.245 57.000 50.000
+ -12685623.74143 -9844898.87342 23234726.405 23234730.955 23234725.119
+ -3284.135 -2559.066 47.000 41.000
+ -25744801.97444 -20048569.52742 20396801.456 20396804.774 20396800.028
+ -582.121 -453.601 58.000 51.000
+ -12514133.92043 -9716184.82742 22933071.040 22933074.711 22933069.362
+ -3201.425 -2494.617 50.000 43.000
+ -17519425.53943 -13640160.52442 21803476.725 21803480.042 21803475.975
+ 1042.461 812.307 53.000 47.000
+ -15062527.73143 -11703041.64642 22464028.805 22464032.549 22464027.045
+ 624.466 486.597 51.000 45.000
+ 04 2 1 15 54 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22923095.77243 -17842022.98042 20475700.171 20475704.282 20475698.858
+ -2095.397 -1632.777 56.000 50.000
+ -14576365.84243 -11290354.43642 22571567.204 22571570.193 22571565.112
+ 2920.993 2276.098 50.000 43.000
+ -951667.34243 -576124.96442 24715218.074 24715220.790 24715218.461
+ 1993.088 1553.056 41.000 35.000
+ -24640524.07744 -19197176.92942 20728836.442 20728839.558 20728835.448
+ 1849.466 1441.142 57.000 50.000
+ -12587067.44043 -9768101.77142 23253480.769 23253485.586 23253480.332
+ -3286.566 -2560.960 46.000 41.000
+ -25727097.75544 -20034774.04442 20400171.109 20400173.877 20400169.546
+ -598.440 -466.317 58.000 51.000
+ -12418007.63843 -9641281.26842 22951363.394 22951369.617 22951361.224
+ -3207.220 -2499.132 49.000 43.000
+ -17550657.10343 -13664496.79242 21797533.777 21797536.729 21797532.794
+ 1039.334 809.871 53.000 47.000
+ -15081022.69043 -11717453.27642 22460509.220 22460513.506 22460507.304
+ 608.261 473.970 51.000 45.000
+ 04 2 1 15 55 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22860011.01843 -17792866.00942 20487705.053 20487708.450 20487702.976
+ -2110.469 -1644.521 56.000 50.000
+ -14663839.18443 -11358515.44042 22554920.003 22554924.647 22554919.775
+ 2910.372 2267.822 49.000 43.000
+ -1011253.08443 -622555.41342 24703877.177 24703881.041 24703878.603
+ 1979.346 1542.348 41.000 35.000
+ -24695864.53044 -19240299.36042 20718305.276 20718308.613 20718304.836
+ 1839.704 1433.536 57.000 50.000
+ -12488463.30543 -9691267.40542 23272243.957 23272249.284 23272244.440
+ -3287.587 -2561.756 46.000 40.000
+ -25708916.40844 -20020606.77442 20403630.070 20403633.583 20403629.080
+ -613.789 -478.277 58.000 51.000
+ -12321720.45943 -9566252.37842 22969686.495 22969690.496 22969685.242
+ -3212.002 -2502.859 49.000 42.000
+ -17581806.46143 -13688768.99742 21791606.382 21791609.053 21791605.376
+ 1037.062 808.100 53.000 47.000
+ -15099041.73843 -11731494.10842 22457079.781 22457083.607 22457078.288
+ 592.899 461.999 51.000 45.000
+ 04 2 1 15 55 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22796459.91643 -17743345.64142 20499797.968 20499802.054 20499796.797
+ -2125.902 -1656.547 56.000 50.000
+ -14750978.02743 -11426415.78042 22538339.313 22538342.338 22538337.377
+ 2899.203 2259.119 50.000 43.000
+ -1070397.06543 -668641.66042 24692625.279 24692627.761 24692626.076
+ 1964.453 1530.743 44.000 35.000
+ -24750897.01244 -19283181.81142 20707832.776 20707836.125 20707832.471
+ 1829.473 1425.563 57.000 50.000
+ -12389814.35143 -9614398.13942 23291016.967 23291022.010 23291016.127
+ -3288.717 -2562.637 47.000 41.000
+ -25690257.08344 -20006067.05442 20407180.882 20407184.085 20407179.648
+ -629.690 -490.667 58.000 51.000
+ -12225275.17643 -9491100.23742 22988038.907 22988042.966 22988037.975
+ -3217.327 -2507.008 49.000 42.000
+ -17612874.05143 -13712977.50642 21785693.819 21785697.785 21785693.577
+ 1034.622 806.199 53.000 47.000
+ -15116583.19143 -11745162.74442 22453742.634 22453746.442 22453741.399
+ 577.010 449.618 51.000 45.000
+ 04 2 1 15 56 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22732447.13643 -17693465.52742 20511979.895 20511983.238 20511978.532
+ -2141.634 -1668.806 56.000 50.000
+ -14837782.58843 -11494055.66642 22521820.772 22521823.433 22521819.551
+ 2887.841 2250.266 51.000 44.000
+ -1129099.82043 -714384.14642 24681455.226 24681455.254 24681453.808
+ 1949.289 1518.926 45.000 35.000
+ -24805620.83344 -19325823.75142 20697419.535 20697422.583 20697418.717
+ 1818.741 1417.201 57.000 50.000
+ -12291125.22143 -9537497.56742 23309796.050 23309801.766 23309795.216
+ -3290.485 -2564.014 46.000 41.000
+ -25671120.64344 -19991155.55742 20410822.752 20410825.684 20410821.399
+ -646.107 -503.460 58.000 51.000
+ -12128675.78643 -9415828.02242 23006421.522 23006425.046 23006420.509
+ -3222.741 -2511.227 49.000 42.000
+ -17643861.85343 -13737123.83142 21779797.709 21779799.883 21779795.869
+ 1031.446 803.724 53.000 47.000
+ -15133647.18743 -11758459.36242 22450494.175 22450498.484 22450492.851
+ 560.535 436.781 51.000 45.000
+ 04 2 1 15 56 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22667972.54243 -17643225.55642 20524248.383 20524251.991 20524247.116
+ -2156.659 -1680.513 56.000 50.000
+ -14924247.64343 -11561430.99542 22505366.760 22505370.317 22505365.817
+ 2876.769 2241.638 51.000 44.000
+ -1187356.53343 -759779.00542 24670368.534 24670372.523 24670368.750
+ 1934.656 1507.524 44.000 36.000
+ -24860030.33244 -19368220.76542 20687065.734 20687068.728 20687064.925
+ 1808.519 1409.236 57.000 50.000
+ -12192395.67443 -9460565.49542 23328583.977 23328588.470 23328583.679
+ -3291.443 -2564.761 47.000 41.000
+ -25651503.76244 -19975869.68942 20414555.408 20414558.666 20414554.216
+ -661.730 -515.634 58.000 51.000
+ -12031921.90043 -9340435.43542 23024833.044 23024835.838 23024831.566
+ -3227.731 -2515.115 49.000 42.000
+ -17674766.94343 -13761205.72242 21773914.963 21773919.264 21773914.816
+ 1029.024 801.837 53.000 47.000
+ -15150229.18743 -11771380.37742 22447340.035 22447342.959 22447338.196
+ 544.966 424.649 51.000 45.000
+ 04 2 1 15 57 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22603044.84643 -17592632.50342 20536603.459 20536607.356 20536602.380
+ -2171.721 -1692.250 56.000 50.000
+ -15010377.57943 -11628545.18742 22488978.215 22488979.826 22488976.480
+ 2865.438 2232.809 51.000 44.000
+ -1245171.49343 -804829.69742 24659368.416 24659368.879 24659366.073
+ 1919.611 1495.801 46.000 37.000
+ -24914129.14444 -19410375.67842 20676770.883 20676773.884 20676770.290
+ 1798.096 1401.114 57.000 50.000
+ -12093634.63443 -9383608.87942 23347377.093 23347382.878 23347376.446
+ -3292.378 -2565.489 47.000 41.000
+ -25631411.59744 -19960213.46842 20418378.948 20418382.188 20418377.631
+ -677.614 -528.011 58.000 51.000
+ -11935022.23243 -9264929.25942 23043272.568 23043277.647 23043271.673
+ -3232.071 -2518.497 49.000 41.000
+ -17705595.58843 -13785228.03442 21768049.600 21768052.707 21768048.511
+ 1026.457 799.837 53.000 47.000
+ -15166333.49643 -11783929.18942 22444274.896 22444278.932 22444273.592
+ 529.066 412.259 52.000 46.000
+ 04 2 1 15 57 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22537658.07343 -17541681.72542 20549046.706 20549050.238 20549045.400
+ -2186.446 -1703.724 56.000 50.000
+ -15096161.92743 -11695390.09142 22472653.335 22472655.727 22472651.625
+ 2854.425 2224.227 51.000 44.000
+ -1302534.49343 -849528.18942 24648452.313 24648454.032 24648451.188
+ 1905.117 1484.507 46.000 38.000
+ -24967906.04444 -19452279.76142 20666537.411 20666540.767 20666536.889
+ 1787.929 1393.191 57.000 50.000
+ -11994836.08543 -9306623.03142 23366179.140 23366183.386 23366177.413
+ -3293.170 -2566.106 48.000 42.000
+ -25610834.92644 -19944179.71242 20422294.506 20422297.589 20422293.120
+ -693.178 -540.139 58.000 51.000
+ -11837970.50243 -9189304.60842 23061740.522 23061745.317 23061740.061
+ -3237.030 -2522.361 48.000 41.000
+ -17736339.22943 -13809184.11642 21762198.832 21762202.814 21762197.902
+ 1024.214 798.089 53.000 47.000
+ -15181949.86843 -11796097.78242 22441303.546 22441307.155 22441301.792
+ 513.141 399.850 52.000 46.000
+ 04 2 1 15 58 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22471825.62643 -17490383.67142 20561573.397 20561577.716 20561572.205
+ -2201.865 -1715.739 56.000 50.000
+ -15181609.15443 -11761972.29842 22456392.870 22456395.298 22456391.124
+ 2842.536 2214.963 51.000 44.000
+ -1359453.89143 -893880.97942 24637620.605 24637622.776 24637619.664
+ 1890.075 1472.786 47.000 38.000
+ -25021368.80744 -19493939.05442 20656364.098 20656366.860 20656363.523
+ 1776.942 1384.630 57.000 50.000
+ -11896013.07043 -9229618.11642 23384984.103 23384988.219 23384982.471
+ -3294.362 -2567.035 48.000 41.000
+ -25589783.68044 -19927776.16042 20426300.920 20426303.868 20426299.464
+ -709.538 -552.887 58.000 51.000
+ -11740779.25043 -9113571.21942 23080234.786 23080240.069 23080234.541
+ -3241.724 -2526.019 48.000 41.000
+ -17767008.24643 -13833082.04142 21756363.512 21756366.673 21756362.791
+ 1021.234 795.767 53.000 47.000
+ -15197086.80443 -11807892.78242 22438422.833 22438426.417 22438420.774
+ 496.668 387.014 52.000 45.000
+ 04 2 1 15 58 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22405541.86843 -17438733.95642 20574186.659 20574190.804 20574185.538
+ -2216.675 -1727.279 56.000 50.000
+ -15266709.31843 -11828284.06642 22440198.361 22440200.207 22440197.047
+ 2831.355 2206.251 51.000 44.000
+ -1415919.96943 -937880.57042 24626877.024 24626877.916 24626875.200
+ 1875.073 1461.096 47.000 38.000
+ -25074506.62444 -19535345.15142 20646252.413 20646255.001 20646251.753
+ 1765.986 1376.093 57.000 50.000
+ -11797159.87643 -9152589.68342 23403795.197 23403798.277 23403794.267
+ -3295.265 -2567.739 48.000 41.000
+ -25568248.76544 -19910995.73042 20430398.674 20430402.003 20430397.468
+ -725.648 -565.440 58.000 51.000
+ -11643442.75843 -9037724.65742 23098757.980 23098762.282 23098754.873
+ -3246.470 -2529.717 48.000 41.000
+ -17797594.55043 -13856915.51342 21750542.219 21750546.702 21750541.342
+ 1018.510 793.644 53.000 47.000
+ -15211734.35743 -11819306.46642 22435636.466 22435639.789 22435634.122
+ 480.356 374.303 52.000 46.000
+ 04 2 1 15 59 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22338812.69443 -17386737.15342 20586885.355 20586888.967 20586884.192
+ -2231.568 -1738.884 56.000 50.000
+ -15351463.64543 -11894326.35142 22424070.194 22424073.196 22424068.366
+ 2819.684 2197.156 50.000 44.000
+ -1471934.25843 -981528.11342 24616215.682 24616219.002 24616215.444
+ 1859.921 1449.289 46.000 38.000
+ -25127320.02244 -19576498.44742 20636202.521 20636205.180 20636201.484
+ 1755.208 1367.695 57.000 50.000
+ -11698282.59043 -9075542.48842 23422611.443 23422615.769 23422609.999
+ -3296.071 -2568.367 48.000 41.000
+ -25546232.51244 -19893840.21942 20434588.144 20434591.708 20434586.715
+ -741.730 -577.971 58.000 51.000
+ -11545966.51243 -8961769.20042 23117306.748 23117312.448 23117305.267
+ -3251.881 -2533.933 47.000 41.000
+ -17828101.48243 -13880687.14242 21744738.152 21744740.998 21744736.569
+ 1015.763 791.504 53.000 47.000
+ -15225894.29743 -11830340.17742 22432940.492 22432944.648 22432939.202
+ 463.937 361.509 51.000 45.000
+ 04 2 1 15 59 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22271642.65143 -17334396.82442 20599666.915 20599670.921 20599665.703
+ -2246.515 -1750.531 55.000 50.000
+ -15435872.01743 -11960099.06742 22408007.763 22408011.182 22408006.832
+ 2807.836 2187.924 50.000 44.000
+ -1527496.91643 -1024823.70842 24605642.809 24605646.858 24605643.513
+ 1844.720 1437.444 45.000 37.000
+ -25179808.25444 -19617398.37442 20626213.990 20626217.143 20626213.635
+ 1744.143 1359.072 57.000 50.000
+ -11599385.67743 -8998479.99742 23441429.324 23441435.094 23441429.881
+ -3297.001 -2569.092 47.000 42.000
+ -25523735.98744 -19876310.46842 20438869.119 20438872.348 20438867.781
+ -757.974 -590.629 58.000 51.000
+ -11448354.47043 -8885707.94442 23135882.242 23135887.179 23135881.890
+ -3255.814 -2536.998 48.000 41.000
+ -17858530.73443 -13904398.25242 21738947.649 21738950.302 21738946.086
+ 1012.974 789.330 54.000 47.000
+ -15239566.36843 -11840993.73742 22430339.287 22430342.921 22430337.798
+ 447.655 348.822 51.000 45.000
+ 04 2 1 16 0 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22204034.24943 -17281714.93942 20612532.960 20612536.518 20612531.456
+ -2260.725 -1761.604 56.000 50.000
+ -15519932.42843 -12025600.62942 22392011.537 22392014.375 22392010.418
+ 2796.579 2179.152 51.000 44.000
+ -1582606.37843 -1067766.15642 24595156.397 24595160.146 24595155.413
+ 1829.722 1425.757 46.000 38.000
+ -25231968.69844 -19658042.88942 20616288.210 20616291.139 20616287.669
+ 1733.490 1350.771 57.000 50.000
+ -11500471.77143 -8921404.27142 23460253.504 23460258.840 23460253.618
+ -3297.110 -2569.177 48.000 42.000
+ -25500758.48944 -19858405.94442 20443241.438 20443244.788 20443240.206
+ -773.613 -602.815 57.000 51.000
+ -11350609.25243 -8809542.87042 23154482.245 23154488.320 23154482.413
+ -3259.999 -2540.259 48.000 41.000
+ -17888882.42043 -13928048.91442 21733171.170 21733174.374 21733170.448
+ 1010.684 787.546 53.000 47.000
+ -15252749.23643 -11851266.09142 22427830.693 22427834.501 22427828.237
+ 431.547 336.270 52.000 45.000
+ 04 2 1 16 0 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22135988.54043 -17228692.30642 20625481.600 20625485.370 20625480.160
+ -2276.201 -1773.663 56.000 50.000
+ -15603641.35843 -12090828.32842 22376081.677 22376085.074 22376081.573
+ 2783.797 2169.192 51.000 44.000
+ -1637259.01643 -1110352.62742 24584757.059 24584759.619 24584755.505
+ 1813.401 1413.040 46.000 38.000
+ -25283796.67244 -19698428.32942 20606425.599 20606428.788 20606425.328
+ 1721.371 1341.328 57.000 50.000
+ -11401541.39243 -8844315.69942 23479079.637 23479083.355 23479078.229
+ -3298.553 -2570.301 48.000 42.000
+ -25477297.64044 -19840124.78842 20447706.176 20447709.305 20447704.811
+ -790.695 -616.126 58.000 51.000
+ -11252730.83543 -8733274.05042 23173108.662 23173114.156 23173107.259
+ -3265.460 -2544.514 48.000 41.000
+ -17919154.48443 -13951637.54042 21727410.456 21727414.153 21727409.974
+ 1007.223 784.849 53.000 47.000
+ -15265439.21943 -11861154.39742 22425416.366 22425419.071 22425414.336
+ 414.165 322.726 52.000 45.000
+ 04 2 1 16 1 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -22067513.31143 -17175334.97342 20638511.968 20638515.367 20638510.461
+ -2289.574 -1784.084 56.000 49.000
+ -15687001.91743 -12155784.57142 22360219.322 22360223.218 22360217.545
+ 2772.862 2160.672 51.000 44.000
+ -1691458.50743 -1152586.00342 24574442.489 24574445.244 24574441.496
+ 1799.406 1402.134 46.000 37.000
+ -25335294.79444 -19738556.73942 20596626.100 20596629.079 20596625.470
+ 1711.118 1333.339 57.000 50.000
+ -11302602.58643 -8767220.56842 23497906.195 23497910.480 23497905.358
+ -3297.929 -2569.815 47.000 41.000
+ -25453357.77744 -19821470.36942 20452261.609 20452264.743 20452260.350
+ -805.937 -628.003 58.000 51.000
+ -11154727.01443 -8656907.51242 23191758.603 23191763.735 23191757.066
+ -3268.779 -2547.100 49.000 41.000
+ -17949352.08043 -13975168.13442 21721664.941 21721667.823 21721663.341
+ 1005.483 783.493 54.000 47.000
+ -15277639.90243 -11870661.40142 22423093.979 22423098.247 22423092.693
+ 398.666 310.649 52.000 46.000
+ 04 2 1 16 1 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21998603.55143 -17121639.04042 20651625.728 20651628.480 20651623.756
+ -2304.554 -1795.756 56.000 50.000
+ -15770004.59243 -12220461.94242 22344424.334 22344428.043 22344423.471
+ 2760.371 2150.938 51.000 44.000
+ -1745195.30643 -1194458.83442 24564217.625 24564220.530 24564216.777
+ 1783.102 1389.430 46.000 38.000
+ -25386452.75444 -19778420.08842 20586890.917 20586893.877 20586890.303
+ 1699.235 1324.079 57.000 50.000
+ -11203650.10943 -8690114.78242 23516736.327 23516740.290 23516735.622
+ -3298.864 -2570.543 47.000 41.000
+ -25428930.80744 -19802436.38942 20456909.903 20456913.325 20456908.631
+ -822.678 -641.048 57.000 51.000
+ -11056592.27943 -8580438.92042 23210433.562 23210436.977 23210431.476
+ -3273.934 -2551.117 49.000 41.000
+ -17979467.55143 -13998634.73942 21715933.023 21715936.960 21715932.287
+ 1002.114 780.868 53.000 47.000
+ -15289341.89443 -11879779.80142 22420867.881 22420870.683 22420866.169
+ 381.402 297.196 52.000 46.000
+ 04 2 1 16 2 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21929271.30043 -17067613.90342 20664818.351 20664822.595 20664817.203
+ -2318.341 -1806.499 55.000 49.000
+ -15852656.97343 -12284866.35842 22328696.030 22328698.478 22328695.102
+ 2748.982 2142.064 51.000 44.000
+ -1798477.09243 -1235977.09842 24554076.192 24554080.206 24554076.895
+ 1767.768 1377.482 44.000 38.000
+ -25437277.03444 -19818023.42842 20577219.136 20577222.375 20577218.864
+ 1688.083 1315.389 57.000 50.000
+ -11104695.58943 -8613007.39942 23535566.485 23535570.933 23535565.774
+ -3298.950 -2570.610 46.000 40.000
+ -25404025.02044 -19783029.30042 20461649.692 20461652.679 20461648.294
+ -838.570 -653.431 58.000 51.000
+ -10958337.75043 -8503877.01842 23229130.232 23229134.825 23229128.988
+ -3277.537 -2553.925 50.000 41.000
+ -18009509.93343 -14022044.39142 21710215.814 21710220.202 21710215.657
+ 999.860 779.112 53.000 47.000
+ -15300552.80343 -11888515.55142 22418734.387 22418738.427 22418732.545
+ 365.074 284.473 52.000 46.000
+ 04 2 1 16 2 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21859512.88243 -17013256.67742 20678093.010 20678096.767 20678091.529
+ -2332.360 -1817.423 55.000 49.000
+ -15934950.63743 -12348991.25242 22313036.322 22313039.979 22313035.409
+ 2737.111 2132.814 52.000 44.000
+ -1851295.91343 -1277134.63442 24544027.892 24544030.544 24544027.166
+ 1753.280 1366.192 45.000 38.000
+ -25487758.68844 -19857359.79142 20567612.876 20567616.097 20567612.466
+ 1676.959 1306.721 57.000 50.000
+ -11005735.23743 -8535895.46642 23554398.750 23554402.236 23554397.062
+ -3298.688 -2570.406 47.000 40.000
+ -25378633.69944 -19763243.87242 20466481.029 20466484.737 20466479.845
+ -854.489 -665.835 57.000 51.000
+ -10859959.52743 -8427218.68642 23247851.394 23247854.055 23247850.248
+ -3281.319 -2556.872 50.000 42.000
+ -18039472.78943 -14045392.08242 21704515.422 21704518.286 21704514.279
+ 997.426 777.215 54.000 47.000
+ -15311264.45343 -11896862.26042 22416695.086 22416699.484 22416693.985
+ 348.692 271.708 52.000 45.000
+ 04 2 1 16 3 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21789332.40143 -16958570.58242 20691447.911 20691451.476 20691446.278
+ -2346.080 -1828.114 55.000 49.000
+ -16016885.46943 -12412836.52742 22297444.136 22297447.055 22297443.120
+ 2725.353 2123.652 50.000 44.000
+ -1903651.77043 -1317931.40042 24534063.687 24534067.619 24534062.121
+ 1737.784 1354.117 44.000 38.000
+ -25537896.59244 -19896428.29342 20558072.408 20558075.440 20558071.608
+ 1665.837 1298.055 57.000 51.000
+ -10906773.11743 -8458782.16942 23573230.820 23573235.338 23573229.098
+ -3298.566 -2570.311 47.000 40.000
+ -25352757.72244 -19743080.79542 20471405.178 20471408.506 20471403.967
+ -870.297 -678.153 57.000 51.000
+ -10761461.46743 -8350467.01042 23266594.404 23266598.691 23266592.262
+ -3284.753 -2559.548 49.000 42.000
+ -18069357.61443 -14068678.97142 21698827.749 21698832.112 21698826.833
+ 995.173 775.459 53.000 47.000
+ -15321476.92543 -11904820.01642 22414752.721 22414755.022 22414750.420
+ 332.428 259.035 52.000 45.000
+ 04 2 1 16 3 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21718735.49243 -16903560.00542 20704881.775 20704885.917 20704880.589
+ -2359.697 -1838.725 55.000 49.000
+ -16098462.28743 -12476402.82342 22281921.144 22281923.518 22281919.162
+ 2713.625 2114.513 51.000 44.000
+ -1955545.80143 -1358368.30542 24524187.283 24524192.858 24524185.835
+ 1722.624 1342.304 45.000 38.000
+ -25587690.86544 -19935229.03742 20548597.054 20548599.761 20548596.181
+ 1654.467 1289.195 57.000 51.000
+ -10807814.63143 -8381671.70642 23592062.339 23592067.949 23592061.239
+ -3298.333 -2570.130 47.000 40.000
+ -25326398.89344 -19722541.47042 20476421.359 20476424.516 20476420.070
+ -886.301 -690.624 57.000 51.000
+ -10662848.39443 -8273625.68542 23285360.329 23285364.518 23285359.343
+ -3288.689 -2562.615 49.000 42.000
+ -18099167.17443 -14091907.20342 21693155.393 21693159.102 21693154.578
+ 992.825 773.630 53.000 47.000
+ -15331191.52943 -11912389.80842 22412903.086 22412907.933 22412902.612
+ 315.920 246.171 51.000 45.000
+ 04 2 1 16 4 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21647724.67843 -16848226.89942 20718394.928 20718398.703 20718393.649
+ -2374.025 -1849.890 55.000 49.000
+ -16179679.20343 -12539688.70242 22266465.329 22266468.187 22266464.761
+ 2701.240 2104.862 51.000 44.000
+ -2006976.09943 -1398443.87542 24514402.556 24514405.150 24514400.426
+ 1706.728 1329.918 47.000 38.000
+ -25637138.88944 -19973759.97642 20539187.167 20539190.182 20539186.825
+ 1642.409 1279.799 57.000 50.000
+ -10708862.35043 -8304566.06342 23610892.687 23610896.238 23610890.540
+ -3298.264 -2570.076 47.000 40.000
+ -25299556.96844 -19701625.69842 20481528.885 20481532.191 20481527.599
+ -902.862 -703.529 57.000 51.000
+ -10564122.61443 -8196696.54342 23304147.587 23304150.858 23304146.373
+ -3292.837 -2565.847 49.000 42.000
+ -18128901.25243 -14115076.60142 21687497.490 21687500.722 21687496.479
+ 989.783 771.259 54.000 47.000
+ -15340406.69443 -11919570.42742 22411149.933 22411153.952 22411148.035
+ 298.807 232.837 52.000 45.000
+ 04 2 1 16 4 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21576299.62643 -16792571.02342 20731986.803 20731990.343 20731985.341
+ -2387.818 -1860.637 56.000 49.000
+ -16260531.55843 -12602690.49842 22251080.400 22251082.584 22251078.207
+ 2689.007 2095.330 52.000 44.000
+ -2057937.86843 -1438154.30742 24504703.390 24504708.231 24504703.259
+ 1690.746 1317.464 46.000 38.000
+ -25686234.74544 -20012016.50542 20529844.110 20529847.283 20529843.887
+ 1630.490 1270.512 57.000 50.000
+ -10609915.36343 -8227464.55342 23629718.407 23629724.869 23629719.989
+ -3298.188 -2570.017 45.000 39.000
+ -25272228.09244 -19680330.48742 20486729.348 20486732.932 20486728.133
+ -919.159 -716.228 57.000 51.000
+ -10465282.78143 -8119678.54142 23322955.791 23322960.139 23322954.598
+ -3296.630 -2568.802 49.000 41.000
+ -18158556.43443 -14138184.53742 21681854.368 21681857.346 21681853.007
+ 987.108 769.175 54.000 47.000
+ -15349117.67043 -11926358.17742 22409491.446 22409495.930 22409490.640
+ 281.821 219.601 51.000 45.000
+ 04 2 1 16 5 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21504468.34243 -16736598.62742 20745655.870 20745659.664 20745654.557
+ -2401.592 -1871.370 56.000 49.000
+ -16341022.50043 -12665410.67442 22235763.323 22235765.548 22235762.371
+ 2676.707 2085.746 52.000 45.000
+ -2108435.43143 -1477503.05042 24495094.016 24495097.278 24495093.406
+ 1675.151 1305.312 44.000 37.000
+ -25734981.09544 -20050000.68842 20520568.109 20520571.534 20520567.519
+ 1618.495 1261.165 57.000 50.000
+ -10510981.57443 -8150373.33042 23648546.851 23648551.367 23648547.196
+ -3297.885 -2569.780 46.000 40.000
+ -25244417.27444 -19658659.73242 20492021.930 20492025.259 20492020.561
+ -935.578 -729.022 58.000 51.000
+ -10366336.34143 -8042577.46642 23341784.912 23341789.147 23341783.171
+ -3300.385 -2571.728 49.000 41.000
+ -18188137.88843 -14161234.99942 21676225.010 21676228.513 21676224.346
+ 984.370 767.042 54.000 47.000
+ -15357328.35143 -11932756.09142 22407929.811 22407933.835 22407928.152
+ 264.839 206.368 52.000 46.000
+ 04 2 1 16 5 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21432230.41543 -16680309.34342 20759402.297 20759405.889 20759400.989
+ -2415.265 -1882.025 55.000 49.000
+ -16421147.02343 -12727845.31742 22220515.673 22220518.394 22220514.208
+ 2664.287 2076.068 52.000 45.000
+ -2158464.14143 -1516486.43442 24485575.254 24485576.488 24485574.128
+ 1659.598 1293.193 44.000 38.000
+ -25783372.29344 -20087708.12542 20511359.792 20511362.969 20511359.301
+ 1606.480 1251.803 57.000 50.000
+ -10412060.69243 -8073292.14442 23667370.997 23667378.706 23667369.400
+ -3297.706 -2569.641 46.000 40.000
+ -25216120.95744 -19636610.67142 20497406.511 20497409.816 20497405.032
+ -951.862 -741.711 57.000 51.000
+ -10267282.64143 -7965392.80342 23360633.957 23360638.910 23360633.362
+ -3304.205 -2574.705 48.000 41.000
+ -18217642.55543 -14184225.63942 21670611.005 21670613.446 21670609.961
+ 981.614 764.894 54.000 48.000
+ -15365034.05643 -11938760.51142 22406462.966 22406467.161 22406461.992
+ 247.846 193.127 51.000 46.000
+ 04 2 1 16 6 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21359590.13043 -16623706.52742 20773225.304 20773228.692 20773224.096
+ -2428.216 -1892.116 55.000 49.000
+ -16500905.42243 -12789994.67042 22205338.408 22205341.854 22205337.337
+ 2652.362 2066.776 52.000 45.000
+ -2208023.91043 -1555104.39842 24476143.401 24476147.930 24476142.570
+ 1644.143 1281.150 44.000 37.000
+ -25831407.11144 -20125137.85942 20502218.910 20502222.181 20502218.490
+ 1595.218 1243.027 57.000 51.000
+ -10313156.56243 -7996224.02542 23686191.328 23686198.193 23686191.486
+ -3296.536 -2568.729 46.000 40.000
+ -25187339.96044 -19614183.94442 20502883.505 20502886.855 20502881.913
+ -967.526 -753.916 58.000 51.000
+ -10168125.38843 -7888127.47442 23379502.295 23379508.167 23379502.591
+ -3306.920 -2576.821 47.000 41.000
+ -18247071.57243 -14207157.32342 21665010.336 21665013.648 21665009.504
+ 979.674 763.382 54.000 47.000
+ -15372234.84743 -11944371.51642 22405092.785 22405096.586 22405091.051
+ 231.421 180.328 51.000 45.000
+ 04 2 1 16 6 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21286551.44343 -16566793.27342 20787124.246 20787127.982 20787122.827
+ -2441.515 -1902.479 55.000 49.000
+ -16580296.90243 -12851858.13542 22190230.816 22190233.590 22190229.798
+ 2639.988 2057.133 52.000 45.000
+ -2257114.67743 -1593356.98542 24466799.597 24466802.945 24466799.615
+ 1628.322 1268.822 42.000 36.000
+ -25879084.31544 -20162288.93842 20493146.339 20493149.450 20493145.697
+ 1582.894 1233.424 57.000 51.000
+ -10214272.75443 -7919171.72542 23705009.355 23705014.866 23705008.968
+ -3296.011 -2568.320 47.000 40.000
+ -25158074.99244 -19591380.09142 20508451.981 20508455.540 20508450.823
+ -983.797 -766.595 57.000 51.000
+ -10068867.96343 -7810784.03642 23398390.849 23398395.474 23398389.759
+ -3310.499 -2579.610 47.000 41.000
+ -18276426.27643 -14230031.10142 21659424.140 21659428.162 21659423.282
+ 976.947 761.257 54.000 48.000
+ -15378930.49743 -11949588.88442 22403818.757 22403822.718 22403817.180
+ 214.453 167.106 52.000 46.000
+ 04 2 1 16 7 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21213113.71043 -16509569.07042 20801098.502 20801102.269 20801097.428
+ -2454.697 -1912.751 55.000 49.000
+ -16659315.79743 -12913431.26442 22175194.012 22175196.751 22175191.565
+ 2627.651 2047.520 51.000 45.000
+ -2305731.25343 -1631240.01642 24457551.459 24457553.479 24457549.437
+ 1612.741 1256.681 45.000 38.000
+ -25926397.55144 -20199156.40142 20484142.911 20484146.028 20484142.337
+ 1570.897 1224.076 57.000 51.000
+ -10115408.21243 -7842134.45942 23723822.937 23723826.934 23723821.310
+ -3295.163 -2567.659 47.000 40.000
+ -25128321.88644 -19568195.87342 20514113.802 20514117.641 20514112.773
+ -1000.033 -779.246 57.000 51.000
+ -9969508.71943 -7733361.28042 23417298.574 23417301.849 23417298.113
+ -3313.827 -2582.203 47.000 40.000
+ -18305702.92643 -14252844.06642 21653853.179 21653856.554 21653852.246
+ 974.518 759.365 54.000 48.000
+ -15385116.11043 -11954408.82742 22402642.500 22402646.235 22402640.644
+ 197.619 153.989 52.000 46.000
+ 04 2 1 16 7 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21139285.37743 -16452040.51842 20815147.925 20815151.447 20815146.754
+ -2468.102 -1923.196 55.000 49.000
+ -16737966.98743 -12974717.87142 22160226.005 22160229.670 22160225.362
+ 2614.874 2037.564 51.000 45.000
+ -2353877.93443 -1668756.89442 24448388.376 24448391.913 24448386.226
+ 1596.253 1243.834 45.000 39.000
+ -25973350.35844 -20235743.00442 20475207.812 20475211.130 20475207.665
+ 1558.425 1214.357 57.000 51.000
+ -10016571.27743 -7765118.70342 23742629.683 23742634.809 23742628.493
+ -3294.661 -2567.268 46.000 39.000
+ -25098086.59644 -19544635.93142 20519867.571 20519871.045 20519866.269
+ -1016.435 -792.027 57.000 51.000
+ -9870055.93443 -7655865.63442 23436221.931 23436227.822 23436222.872
+ -3317.339 -2584.939 46.000 40.000
+ -18334907.37043 -14275600.75342 21648296.001 21648298.894 21648294.398
+ 971.569 757.067 54.000 48.000
+ -15390796.18943 -11958834.84242 22401561.021 22401564.424 22401559.261
+ 180.216 140.428 52.000 46.000
+ 04 2 1 16 8 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -21065064.29543 -16394205.92242 20829271.991 20829275.691 20829270.358
+ -2480.574 -1932.915 55.000 49.000
+ -16816243.56243 -13035712.57042 22145331.756 22145333.951 22145330.580
+ 2602.922 2028.251 52.000 45.000
+ -2401548.66443 -1705902.87942 24439316.597 24439319.778 24439315.327
+ 1580.747 1231.751 46.000 39.000
+ -26019935.10244 -20272042.80642 20466343.562 20466346.254 20466343.001
+ 1546.697 1205.218 57.000 51.000
+ -9917759.70943 -7688122.70142 23761432.315 23761436.840 23761431.306
+ -3293.237 -2566.159 46.000 39.000
+ -25067363.62844 -19520695.97442 20525714.423 20525717.197 20525713.157
+ -1032.145 -804.269 58.000 51.000
+ -9770506.74343 -7578294.87842 23455166.322 23455171.422 23455167.236
+ -3319.839 -2586.887 46.000 40.000
+ -18364034.29843 -14298297.05042 21642753.270 21642757.010 21642752.068
+ 969.639 755.563 54.000 48.000
+ -15395964.57043 -11962862.13242 22400577.461 22400581.524 22400576.292
+ 163.745 127.594 52.000 46.000
+ 04 2 1 16 8 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20990468.75343 -16336079.54742 20843466.383 20843470.397 20843465.210
+ -2492.293 -1942.046 55.000 49.000
+ -16894159.51343 -13096426.27342 22130504.928 22130506.827 22130503.001
+ 2591.579 2019.412 52.000 45.000
+ -2448757.30643 -1742688.82242 24430332.983 24430336.896 24430332.864
+ 1566.449 1220.610 46.000 39.000
+ -26066164.70744 -20308065.88242 20457546.209 20457549.180 20457545.530
+ 1535.448 1196.453 57.000 51.000
+ -9818991.33443 -7611160.38442 23780228.311 23780233.239 23780227.929
+ -3291.115 -2564.505 45.000 39.000
+ -25036168.06544 -19496387.76442 20531650.562 20531653.780 20531649.384
+ -1047.296 -816.075 58.000 51.000
+ -9670878.57343 -7500662.57342 23474125.823 23474130.110 23474123.598
+ -3321.553 -2588.223 45.000 40.000
+ -18393099.11343 -14320944.95142 21637222.110 21637226.156 21637220.806
+ 968.251 754.481 54.000 48.000
+ -15400635.32643 -11966501.65542 22399688.806 22399691.758 22399687.006
+ 147.834 115.195 52.000 45.000
+ 04 2 1 16 9 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20915478.96843 -16277645.95742 20857736.650 20857740.563 20857735.380
+ -2506.261 -1952.931 55.000 49.000
+ -16971690.37343 -13156839.89242 22115750.956 22115753.166 22115749.795
+ 2577.929 2008.776 52.000 45.000
+ -2495480.37143 -1779096.40342 24421443.430 24421447.241 24421442.109
+ 1549.328 1207.268 45.000 40.000
+ -26112013.85044 -20343792.48842 20448821.230 20448824.276 20448820.547
+ 1521.873 1185.875 57.000 51.000
+ -9720245.99343 -7534215.99942 23799020.651 23799024.731 23799019.150
+ -3291.169 -2564.547 46.000 39.000
+ -25004476.89544 -19471693.36842 20537680.997 20537684.649 20537679.892
+ -1064.668 -829.611 57.000 51.000
+ -9571151.08443 -7422952.87942 23493103.102 23493109.638 23493102.000
+ -3326.113 -2591.776 46.000 40.000
+ -18422079.07043 -14343526.71442 21631707.307 21631711.009 21631706.065
+ 964.563 751.608 54.000 48.000
+ -15404784.53043 -11969734.77942 22398899.111 22398902.007 22398897.480
+ 129.464 100.881 52.000 46.000
+ 04 2 1 16 9 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20840106.51443 -16218914.18242 20872079.280 20872083.384 20872078.352
+ -2518.455 -1962.432 55.000 49.000
+ -17048843.48443 -13216959.17242 22101069.020 22101071.244 22101067.781
+ 2565.934 1999.429 52.000 45.000
+ -2541725.24843 -1815131.36342 24412640.033 24412645.389 24412641.017
+ 1533.181 1194.686 43.000 38.000
+ -26157488.96844 -20379227.65142 20440167.567 20440170.564 20440167.021
+ 1509.943 1176.579 57.000 51.000
+ -9621534.81543 -7457298.24142 23817804.034 23817808.100 23817803.590
+ -3289.295 -2563.087 45.000 39.000
+ -24972298.70444 -19446619.48042 20543804.983 20543807.804 20543803.036
+ -1080.365 -841.843 57.000 51.000
+ -9471335.31343 -7345174.40742 23512096.754 23512102.299 23512096.363
+ -3328.332 -2593.505 46.000 40.000
+ -18450982.84843 -14366049.13942 21626206.840 21626210.487 21626206.127
+ 962.557 750.044 54.000 48.000
+ -15408419.72443 -11972567.37242 22398207.292 22398210.377 22398206.101
+ 113.057 88.096 52.000 46.000
+ 04 2 1 16 10 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20764358.72443 -16159889.94642 20886493.981 20886497.654 20886492.329
+ -2530.620 -1971.912 55.000 49.000
+ -17125621.70243 -13276786.33542 22086458.318 22086461.762 22086457.030
+ 2553.592 1989.812 52.000 45.000
+ -2587494.82243 -1850796.00042 24403932.555 24403935.812 24403929.060
+ 1518.280 1183.075 43.000 37.000
+ -26202591.98544 -20414372.86342 20431585.036 20431587.935 20431584.225
+ 1497.762 1167.087 57.000 51.000
+ -9522865.04543 -7380412.76342 23836580.934 23836584.336 23836578.462
+ -3287.963 -2562.049 44.000 39.000
+ -24939637.68344 -19421169.35642 20550019.744 20550022.910 20550018.704
+ -1096.164 -854.154 58.000 51.000
+ -9371437.83843 -7267332.27442 23531107.629 23531111.948 23531107.033
+ -3330.634 -2595.299 46.000 40.000
+ -18479814.90943 -14388515.69342 21620720.552 21620724.480 21620719.972
+ 960.389 748.355 54.000 48.000
+ -15411544.32043 -11975002.10542 22397612.947 22397616.812 22397611.210
+ 96.297 75.037 52.000 46.000
+ 04 2 1 16 10 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20688236.75243 -16100574.12942 20900979.724 20900982.971 20900978.201
+ -2543.537 -1981.977 55.000 49.000
+ -17202021.64343 -13336318.73242 22071919.380 22071922.046 22071918.188
+ 2540.604 1979.691 52.000 45.000
+ -2632786.14743 -1886087.95342 24395312.078 24395317.406 24395311.541
+ 1502.096 1170.464 43.000 38.000
+ -26247318.62244 -20449224.79042 20423073.634 20423076.876 20423072.884
+ 1484.686 1156.898 57.000 51.000
+ -9424237.17643 -7303559.92942 23855347.469 23855352.764 23855345.920
+ -3286.911 -2561.229 44.000 39.000
+ -24906491.43844 -19395341.13142 20556327.121 20556330.752 20556325.890
+ -1112.832 -867.142 57.000 51.000
+ -9271458.69943 -7189426.47842 23550134.319 23550138.872 23550132.989
+ -3333.988 -2597.913 46.000 40.000
+ -18508573.22643 -14410924.79442 21615248.297 21615251.666 21615247.224
+ 957.491 746.097 54.000 48.000
+ -15414155.17543 -11977036.52742 22397116.227 22397120.266 22397114.132
+ 78.551 61.209 52.000 46.000
+ 04 2 1 16 11 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20611743.19943 -16040968.76142 20915536.016 20915539.628 20915534.432
+ -2556.024 -1991.707 55.000 49.000
+ -17278041.89943 -13395555.27742 22057454.208 22057457.304 22057452.335
+ 2527.614 1969.569 52.000 45.000
+ -2677598.31143 -1921006.47342 24386788.126 24386789.675 24386785.236
+ 1485.555 1157.575 45.000 39.000
+ -26291666.41944 -20483781.51342 20414634.047 20414637.755 20414633.873
+ 1471.827 1146.878 57.000 51.000
+ -9325653.62143 -7226741.61042 23874107.768 23874113.196 23874107.621
+ -3285.764 -2560.335 43.000 39.000
+ -24872860.37244 -19369135.12842 20562726.760 20562730.309 20562725.798
+ -1129.146 -879.854 57.000 51.000
+ -9171400.44243 -7111459.01842 23569173.011 23569180.470 23569171.786
+ -3336.858 -2600.149 45.000 40.000
+ -18537257.81243 -14433276.42742 21609789.881 21609792.458 21609788.806
+ 954.894 744.073 54.000 47.000
+ -15416251.34143 -11978669.90142 22396717.091 22396720.578 22396715.483
+ 61.136 47.638 52.000 46.000
+ 04 2 1 16 11 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20534880.25743 -15981075.55142 20930162.926 20930166.335 20930161.350
+ -2567.801 -2000.884 55.000 49.000
+ -17353679.79743 -13454493.88142 22043060.503 22043062.805 22043059.459
+ 2515.308 1959.980 52.000 45.000
+ -2721929.02143 -1955549.88142 24378350.922 24378353.574 24378348.690
+ 1470.088 1145.523 45.000 39.000
+ -26335631.88344 -20518040.31542 20406268.159 20406271.516 20406267.637
+ 1459.568 1137.326 57.000 51.000
+ -9227115.92743 -7149959.07142 23892858.052 23892866.479 23892857.923
+ -3283.447 -2558.530 41.000 39.000
+ -24838742.95944 -19342550.14742 20569219.564 20569222.919 20569218.221
+ -1144.867 -892.104 57.000 51.000
+ -9071264.11343 -7033430.75042 23588228.430 23588234.285 23588227.468
+ -3338.630 -2601.530 44.000 39.000
+ -18565867.44443 -14455569.67242 21604345.276 21604348.921 21604344.370
+ 952.978 742.580 54.000 48.000
+ -15417830.63643 -11979900.51542 22396416.159 22396420.674 22396414.316
+ 44.470 34.652 51.000 46.000
+ 04 2 1 16 12 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20457650.87743 -15920896.80442 20944858.856 20944862.667 20944857.337
+ -2580.885 -2011.079 55.000 49.000
+ -17428934.21243 -13513133.65542 22028739.836 22028743.113 22028738.810
+ 2501.742 1949.409 52.000 45.000
+ -2765777.38543 -1989717.49342 24370006.232 24370010.004 24370004.442
+ 1452.981 1132.193 43.000 39.000
+ -26379212.93844 -20551999.57142 20397975.322 20397978.145 20397974.788
+ 1445.836 1126.625 57.000 51.000
+ -9128626.88143 -7073214.42242 23911599.400 23911606.005 23911596.562
+ -3282.454 -2557.756 41.000 38.000
+ -24804139.36744 -19315586.32742 20575804.121 20575807.285 20575802.809
+ -1162.013 -905.465 57.000 51.000
+ -8971052.01843 -6955343.45742 23607298.681 23607303.167 23607297.344
+ -3342.069 -2604.210 45.000 39.000
+ -18594402.33743 -14477804.66742 21598915.369 21598918.805 21598914.337
+ 949.505 739.874 54.000 48.000
+ -15418892.09643 -11980727.60842 22396214.177 22396218.075 22396212.656
+ 26.238 20.445 52.000 46.000
+ 04 2 1 16 12 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20380059.52043 -15860435.98642 20959623.898 20959627.219 20959622.378
+ -2592.525 -2020.149 55.000 49.000
+ -17503805.30143 -13571474.74042 22014492.707 22014495.419 22014490.879
+ 2489.202 1939.638 52.000 46.000
+ -2809143.77243 -2023509.46342 24361754.256 24361757.737 24361754.212
+ 1437.137 1119.847 44.000 39.000
+ -26422408.60644 -20585658.52942 20389755.337 20389758.195 20389754.722
+ 1433.181 1116.764 57.000 51.000
+ -9030190.68743 -6996510.97342 23930331.200 23930337.829 23930330.335
+ -3280.384 -2556.143 42.000 38.000
+ -24769050.98944 -19288244.74242 20582481.058 20582484.631 20582479.942
+ -1177.907 -917.850 57.000 51.000
+ -8870768.15043 -6877200.22842 23626380.380 23626386.273 23626379.113
+ -3344.106 -2605.797 44.000 38.000
+ -18622863.83043 -14499982.45442 21593499.031 21593503.079 21593498.160
+ 947.383 738.221 54.000 48.000
+ -15419436.55043 -11981151.85542 22396111.397 22396114.346 22396109.481
+ 9.500 7.403 52.000 46.000
+ 04 2 1 16 13 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20302109.39243 -15799695.60842 20974457.188 20974460.712 20974456.083
+ -2604.472 -2029.459 55.000 49.000
+ -17578291.83343 -13629516.16042 22000318.528 22000320.152 22000317.303
+ 2476.252 1929.547 52.000 46.000
+ -2852027.18843 -2056925.10542 24353592.207 24353598.200 24353592.107
+ 1421.410 1107.592 44.000 39.000
+ -26465216.69444 -20619015.47142 20381609.161 20381612.324 20381608.409
+ 1420.199 1106.649 57.000 51.000
+ -8931810.09243 -6919850.83342 23949053.528 23949059.286 23949052.675
+ -3278.667 -2554.805 43.000 39.000
+ -24733477.99344 -19260525.54442 20589250.487 20589254.161 20589249.253
+ -1194.027 -930.411 57.000 51.000
+ -8770414.74543 -6799002.78342 23645477.085 23645482.645 23645475.366
+ -3346.269 -2607.482 44.000 38.000
+ -18651251.97743 -14522103.06942 21588097.384 21588100.553 21588096.563
+ 944.959 736.332 54.000 48.000
+ -15419462.95143 -11981172.41542 22396106.005 22396109.563 22396104.249
+ -7.863 -6.127 52.000 46.000
+ 04 2 1 16 13 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20223805.50943 -15738679.59142 20989358.440 20989361.731 20989356.513
+ -2615.994 -2038.437 55.000 49.000
+ -17652394.41943 -13687258.40742 21986216.566 21986219.627 21986215.811
+ 2463.689 1919.758 52.000 46.000
+ -2894428.94343 -2089965.42642 24345524.556 24345528.212 24345524.401
+ 1405.402 1095.118 46.000 40.000
+ -26507636.88244 -20652070.16042 20373536.508 20373539.939 20373536.039
+ 1407.606 1096.836 57.000 51.000
+ -8833489.55943 -6843237.48442 23967765.002 23967769.192 23967764.156
+ -3276.171 -2552.860 45.000 39.000
+ -24697422.39244 -19232430.28442 20596111.782 20596115.062 20596110.514
+ -1209.780 -942.686 57.000 51.000
+ -8669995.60643 -6720754.14542 23664587.002 23664591.835 23664585.159
+ -3348.295 -2609.061 44.000 38.000
+ -18679568.95443 -14544168.24242 21582709.069 21582712.282 21582707.854
+ 942.819 734.664 54.000 48.000
+ -15418972.44943 -11980790.20242 22396198.254 22396202.671 22396196.367
+ -24.969 -19.456 51.000 45.000
+ 04 2 1 16 14 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20145148.31943 -15677388.25442 21004326.039 21004329.666 21004324.581
+ -2627.481 -2047.388 55.000 49.000
+ -17726109.33643 -13744698.57542 21972189.049 21972191.742 21972188.219
+ 2450.906 1909.797 52.000 46.000
+ -2936345.35543 -2122627.55042 24337548.480 24337551.479 24337546.711
+ 1389.148 1082.453 44.000 39.000
+ -26549664.29644 -20684818.79442 20365539.327 20365542.034 20365538.588
+ 1394.565 1086.674 57.000 51.000
+ -8735228.96243 -6766670.85542 23986460.638 23986467.470 23986461.280
+ -3274.253 -2551.366 43.000 39.000
+ -24660881.80244 -19203957.10842 20603064.978 20603068.947 20603064.035
+ -1225.818 -955.183 57.000 51.000
+ -8569510.80443 -6642454.27542 23683709.495 23683712.584 23683708.392
+ -3350.186 -2610.534 45.000 38.000
+ -18707811.99543 -14566175.81942 21577334.564 21577337.733 21577333.379
+ 940.427 732.800 54.000 48.000
+ -15417961.73243 -11980002.63342 22396391.904 22396395.816 22396390.547
+ -42.119 -32.820 52.000 46.000
+ 04 2 1 16 14 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -20066142.48943 -15615825.25542 21019359.765 21019363.935 21019358.750
+ -2640.071 -2057.198 55.000 49.000
+ -17799436.94543 -13801836.93942 21958234.829 21958237.828 21958234.310
+ 2437.073 1899.018 52.000 46.000
+ -2977777.41443 -2154912.26942 24329663.834 24329667.455 24329662.959
+ 1372.321 1069.341 45.000 40.000
+ -26591298.59844 -20717261.10942 20357616.130 20357619.473 20357615.755
+ 1380.570 1075.769 57.000 51.000
+ -8637032.71843 -6690154.36742 24005148.637 24005153.014 24005146.570
+ -3272.736 -2550.184 43.000 39.000
+ -24623857.95844 -19175107.37242 20610111.011 20610114.235 20610109.762
+ -1242.829 -968.438 57.000 51.000
+ -8468964.31043 -6564106.37242 23702841.930 23702847.189 23702841.834
+ -3353.311 -2612.970 45.000 38.000
+ -18735982.78143 -14588127.08642 21571973.269 21571977.376 21571972.588
+ 937.213 730.296 54.000 48.000
+ -15416431.62143 -11978810.34442 22396683.279 22396686.318 22396681.580
+ -60.292 -46.981 52.000 46.000
+ 04 2 1 16 15 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -19986790.10443 -15553992.20142 21034460.561 21034463.897 21034459.356
+ -2651.293 -2065.942 55.000 49.000
+ -17872375.19943 -13858671.90742 21944355.474 21944358.632 21944354.710
+ 2424.312 1889.074 52.000 46.000
+ -3018723.46743 -2186818.29042 24321871.472 24321876.402 24321871.288
+ 1356.288 1056.848 45.000 40.000
+ -26632536.59844 -20749394.61642 20349769.159 20349772.116 20349768.564
+ 1367.456 1065.550 58.000 51.000
+ -8538902.63743 -6613689.46142 24023822.147 24023827.448 24023821.889
+ -3270.231 -2548.232 45.000 40.000
+ -24586350.13444 -19145880.51242 20617248.031 20617251.244 20617246.658
+ -1258.844 -980.917 57.000 51.000
+ -8368357.44243 -6485711.39242 23721988.193 23721991.474 23721986.854
+ -3355.093 -2614.358 46.000 38.000
+ -18764080.59543 -14610021.48842 21566626.704 21566630.578 21566625.667
+ 934.966 728.545 54.000 48.000
+ -15414380.54943 -11977212.11042 22397073.657 22397076.582 22397071.263
+ -77.453 -60.353 52.000 46.000
+ 04 2 1 16 15 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -19907089.03043 -15491887.44742 21049626.746 21049630.422 21049625.489
+ -2662.201 -2074.442 55.000 49.000
+ -17944917.52243 -13915198.35942 21930552.254 21930554.238 21930550.545
+ 2411.852 1879.365 53.000 46.000
+ -3059177.27643 -2218340.70642 24314173.664 24314176.936 24314172.136
+ 1340.735 1044.728 44.000 39.000
+ -26673370.52344 -20781213.26142 20341998.769 20342001.483 20341998.179
+ 1354.821 1055.705 57.000 51.000
+ -8440835.62043 -6537273.65242 24042484.389 24042488.710 24042483.368
+ -3267.559 -2546.150 46.000 40.000
+ -24548353.11844 -19116272.46742 20624478.472 20624482.174 20624477.512
+ -1274.348 -992.998 57.000 51.000
+ -8267686.88743 -6407266.80142 23741144.208 23741148.801 23741143.061
+ -3356.152 -2615.183 46.000 38.000
+ -18792099.75843 -14631854.60342 21561294.814 21561298.609 21561294.024
+ 933.105 727.095 54.000 48.000
+ -15411802.10143 -11975202.91642 22397563.691 22397567.078 22397562.374
+ -94.235 -73.430 52.000 46.000
+ 04 2 1 16 16 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -19827054.27443 -15429522.67942 21064856.691 21064860.931 21064855.435
+ -2673.855 -2083.523 55.000 48.000
+ -18017074.83143 -13971424.79342 21916820.253 21916822.896 21916818.975
+ 2398.426 1868.903 52.000 46.000
+ -3099149.84943 -2249488.20242 24306567.536 24306570.253 24306566.532
+ 1324.078 1031.749 45.000 39.000
+ -26713810.26144 -20812724.74542 20334303.241 20334306.363 20334302.575
+ 1341.055 1044.978 57.000 51.000
+ -8342846.58343 -6460918.61842 24061130.121 24061135.281 24061129.440
+ -3264.794 -2543.995 46.000 40.000
+ -24509879.03344 -19086292.68342 20631800.596 20631803.281 20631799.076
+ -1290.792 -1005.812 57.000 51.000
+ -8166967.10943 -6328783.90142 23760311.073 23760314.978 23760309.215
+ -3358.346 -2616.893 46.000 38.000
+ -18820052.40643 -14653635.88942 21555975.333 21555979.061 21555974.318
+ 930.301 724.910 54.000 48.000
+ -15408707.83543 -11972791.80942 22398152.451 22398156.401 22398151.119
+ -112.114 -87.361 52.000 46.000
+ 04 2 1 16 16 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -19746678.10643 -15366891.90242 21080151.971 21080155.640 21080150.732
+ -2684.741 -2092.006 55.000 48.000
+ -18088834.87843 -14027341.67742 21903164.628 21903167.287 21903163.993
+ 2385.501 1858.832 52.000 46.000
+ -3138629.94843 -2280251.89042 24299053.264 24299059.146 24299054.726
+ 1308.155 1019.342 43.000 39.000
+ -26753842.90344 -20843919.00842 20326685.500 20326688.261 20326684.833
+ 1327.598 1034.492 58.000 51.000
+ -8244927.32543 -6384617.96742 24079763.052 24079769.435 24079762.713
+ -3262.628 -2542.307 45.000 40.000
+ -24470917.46544 -19055933.04142 20639214.195 20639217.769 20639212.973
+ -1306.756 -1018.251 57.000 51.000
+ -8066189.43243 -6250255.81842 23779488.249 23779494.140 23779486.926
+ -3360.342 -2618.448 46.000 38.000
+ -18847927.87043 -14675357.01442 21550671.546 21550674.752 21550670.158
+ 927.989 723.108 54.000 48.000
+ -15405086.37943 -11969969.90542 22398841.416 22398844.039 22398839.887
+ -129.434 -100.858 52.000 46.000
+ 04 2 1 16 17 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -19665971.87143 -15304003.90742 21095510.070 21095513.605 21095508.750
+ -2695.578 -2100.450 54.000 48.000
+ -18160205.10443 -14082954.80542 21889583.799 21889586.294 21889582.429
+ 2372.617 1848.792 53.000 46.000
+ -3177624.97243 -2310637.59542 24291632.806 24291637.723 24291632.379
+ 1291.869 1006.651 42.000 39.000
+ -26793474.47244 -20874800.74842 20319143.353 20319146.821 20319142.987
+ 1314.391 1024.201 57.000 51.000
+ -8147088.44343 -6308379.94842 24098382.492 24098387.183 24098380.387
+ -3259.738 -2540.055 44.000 40.000
+ -24431477.06944 -19025200.28642 20646719.987 20646722.664 20646718.540
+ -1322.544 -1030.554 57.000 51.000
+ -7965364.51543 -6171690.95642 23798674.561 23798681.620 23798673.810
+ -3361.500 -2619.351 45.000 38.000
+ -18875734.28043 -14697024.33242 21545379.861 21545382.880 21545378.790
+ 925.823 721.420 54.000 48.000
+ -15400945.20943 -11966743.00442 22399630.285 22399633.993 22399628.538
+ -146.634 -114.260 52.000 46.000
+ 04 2 1 16 17 30.0000000 0 8G17G21G30G 9G 5G24G 6G10
+ -19584929.74843 -15240854.22442 21110931.406 21110935.459 21110930.392
+ -2706.978 -2109.333 55.000 48.000
+ -18231175.39243 -14138256.29642 21876078.001 21876081.023 21876076.606
+ 2359.085 1838.248 53.000 46.000
+ -26832693.88744 -20905361.33242 20311680.525 20311683.762 20311679.834
+ 1300.492 1013.370 57.000 51.000
+ -8049323.79443 -6232199.78042 24116984.937 24116991.525 24116984.830
+ -3257.553 -2538.353 44.000 40.000
+ -24391548.80544 -18994087.36842 20654317.481 20654321.198 20654316.159
+ -1339.027 -1043.398 57.000 50.000
+ -7864485.32643 -6093083.81342 23817870.504 23817875.344 23817870.627
+ -3363.205 -2620.679 45.000 39.000
+ -18903462.57543 -14718630.77242 21540102.835 21540106.534 21540102.427
+ 923.067 719.273 54.000 48.000
+ -15396274.62943 -11963103.59942 22400518.042 22400521.998 22400516.568
+ -164.431 -128.128 52.000 46.000
+ 04 2 1 16 18 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -19503564.15443 -15177452.46342 21126415.338 21126418.927 21126413.838
+ -2717.791 -2117.759 55.000 48.000
+ -18301753.77843 -14193252.41742 21862647.688 21862650.074 21862646.452
+ 2345.848 1827.934 53.000 46.000
+ -3254139.86453 -2370259.55652 24277072.020 24277077.507 24277070.832
+ 1258.601 980.728 40.000 37.000
+ -26871508.50444 -20935606.48142 20304294.281 20304297.289 20304293.704
+ 1286.809 1002.708 57.000 51.000
+ -7951645.31543 -6156086.74742 24135573.642 24135579.610 24135572.192
+ -3254.714 -2536.141 45.000 40.000
+ -24351142.50744 -18962601.96842 20662006.721 20662010.031 20662005.289
+ -1355.037 -1055.873 57.000 51.000
+ -7763563.88143 -6014443.74342 23837076.820 23837080.016 23837075.352
+ -3364.918 -2622.014 46.000 39.000
+ -18931122.14043 -14740183.63442 21534840.316 21534843.117 21534839.344
+ 920.649 717.389 55.000 48.000
+ -15391083.66843 -11959058.70742 22401506.279 22401510.118 22401504.451
+ -182.009 -141.825 52.000 46.000
+ 04 2 1 16 18 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -19421872.74643 -15113796.83242 21141960.754 21141964.134 21141959.003
+ -2728.785 -2126.326 54.000 48.000
+ -18371934.10143 -14247938.35442 21849293.271 21849295.269 21849291.790
+ 2332.445 1817.490 53.000 46.000
+ -3291662.02343 -2399497.60642 24269933.865 24269937.504 24269933.210
+ 1242.197 967.946 44.000 38.000
+ -26909910.51544 -20965530.12342 20296986.779 20296989.581 20296985.972
+ 1272.809 991.799 57.000 51.000
+ -7854050.23243 -6080038.70942 24154145.842 24154151.339 24154144.630
+ -3252.204 -2534.185 45.000 39.000
+ -24310253.12944 -18930740.13342 20669787.975 20669791.231 20669786.418
+ -1371.365 -1068.596 57.000 50.000
+ -7662596.96643 -5935768.21442 23856289.892 23856294.321 23856288.224
+ -3366.328 -2623.113 46.000 38.000
+ -18958707.56143 -14761678.73842 21529590.139 21529593.937 21529589.236
+ 917.952 715.287 54.000 48.000
+ -15385366.22043 -11954603.55142 22402595.231 22402598.176 22402593.361
+ -199.634 -155.559 52.000 46.000
+ 04 2 1 16 19 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -19339859.48343 -15049890.40342 21157567.239 21157570.345 21157565.820
+ -2738.267 -2133.714 54.000 48.000
+ -18441716.23343 -14302314.00542 21836013.733 21836015.850 21836012.009
+ 2320.155 1807.913 53.000 46.000
+ -3328692.31143 -2428352.31242 24262888.374 24262890.433 24262886.823
+ 1226.701 955.871 45.000 39.000
+ -26947898.88244 -20995131.44242 20289757.839 20289760.541 20289757.123
+ 1260.058 981.863 57.000 51.000
+ -7756541.92743 -6004058.29142 24172701.864 24172706.250 24172698.814
+ -3247.962 -2530.879 45.000 40.000
+ -24268881.88244 -18898502.80642 20677660.991 20677664.024 20677659.312
+ -1386.258 -1080.201 57.000 51.000
+ -7561587.50543 -5857059.55642 23875511.190 23875517.259 23875510.819
+ -3367.413 -2623.958 46.000 39.000
+ -18986219.69443 -14783116.74742 21524355.077 21524358.210 21524353.964
+ 916.584 714.221 54.000 48.000
+ -15379122.46543 -11949738.29042 22403782.231 22403786.005 22403781.156
+ -215.982 -168.298 52.000 46.000
+ 04 2 1 16 19 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -19257529.79843 -14985737.41842 21173234.001 21173237.536 21173232.411
+ -2750.292 -2143.085 55.000 48.000
+ -18511101.10543 -14356380.10942 21822809.714 21822812.751 21822808.559
+ 2305.527 1796.515 53.000 46.000
+ -3365232.44743 -2456825.12342 24255933.792 24255937.291 24255932.443
+ 1209.554 942.510 43.000 39.000
+ -26985473.80444 -21024410.59142 20282607.612 20282610.560 20282607.027
+ 1244.920 970.068 58.000 51.000
+ -7659125.21543 -5928149.22742 24191238.913 24191243.324 24191237.695
+ -3246.553 -2529.781 47.000 40.000
+ -24227031.38344 -18865892.03742 20685624.535 20685627.961 20685623.064
+ -1403.663 -1093.763 57.000 50.000
+ -7460539.98843 -5778321.26342 23894740.347 23894745.530 23894739.168
+ -3369.482 -2625.570 46.000 39.000
+ -19013660.83943 -14804499.44342 21519133.059 21519136.343 21519131.999
+ 912.882 711.337 54.000 48.000
+ -15372354.50343 -11944464.56142 22405070.399 22405073.274 22405068.677
+ -235.030 -183.140 52.000 45.000
+ 04 2 1 16 20 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -19174883.74443 -14921337.90342 21188961.299 21188964.350 21188959.495
+ -2759.562 -2150.308 54.000 48.000
+ -18580084.78443 -14410133.59542 21809681.953 21809684.830 21809681.282
+ 2293.360 1787.034 53.000 46.000
+ -3401278.58343 -2484912.97942 24249073.903 24249076.815 24249073.072
+ 1194.217 930.559 45.000 38.000
+ -27022630.03444 -21053363.48742 20275536.634 20275539.670 20275536.107
+ 1232.162 960.126 57.000 51.000
+ -7561799.45643 -5852311.03042 24209759.287 24209764.115 24209757.845
+ -3241.953 -2526.197 46.000 40.000
+ -24184698.95844 -18832905.75842 20693679.927 20693683.411 20693678.475
+ -1418.470 -1105.301 57.000 50.000
+ -7359453.67643 -5699552.71642 23913976.115 23913981.646 23913973.938
+ -3369.330 -2625.452 46.000 39.000
+ -19041027.91143 -14825824.42042 21513924.717 21513929.083 21513924.053
+ 911.570 710.314 54.000 48.000
+ -15365058.49743 -11938779.36242 22406458.298 22406462.803 22406456.674
+ -251.370 -195.873 51.000 46.000
+ 04 2 1 16 20 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -19091924.97343 -14856694.72342 21204747.628 21204751.323 21204745.879
+ -2769.900 -2158.364 54.000 48.000
+ -18648666.82043 -14463574.11542 21796631.748 21796633.919 21796630.728
+ 2280.181 1776.764 53.000 46.000
+ -3436830.97043 -2512616.12242 24242307.650 24242314.821 24242307.724
+ 1177.519 917.547 44.000 38.000
+ -27059366.09344 -21081988.97242 20268546.292 20268549.344 20268545.582
+ 1218.193 949.241 58.000 51.000
+ -7464567.81243 -5776546.18042 24228262.285 24228267.332 24228260.884
+ -3238.876 -2523.799 46.000 40.000
+ -24141885.44744 -18799544.59442 20701826.975 20701830.426 20701825.562
+ -1434.431 -1117.738 57.000 50.000
+ -7258331.00343 -5620755.83342 23933218.698 23933221.776 23933218.777
+ -3370.560 -2626.410 45.000 39.000
+ -19068321.30843 -14847091.98442 21508731.646 21508734.916 21508730.324
+ 909.209 708.475 54.000 48.000
+ -15357234.71043 -11932682.90842 22407947.408 22407950.771 22407945.833
+ -268.898 -209.531 52.000 46.000
+ 04 2 1 16 21 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -19008654.57843 -14791808.71842 21220593.633 21220597.065 21220592.172
+ -2780.680 -2166.764 54.000 48.000
+ -18716844.24643 -14516699.35642 21783658.118 21783661.067 21783657.449
+ 2266.059 1765.760 53.000 46.000
+ -3471887.16043 -2539932.60542 24235638.595 24235639.644 24235637.459
+ 1160.553 904.327 44.000 38.000
+ -27095677.81844 -21110283.81442 20261636.013 20261639.379 20261635.534
+ 1203.439 937.745 57.000 51.000
+ -7367430.91943 -5700855.14542 24246747.411 24246752.824 24246745.751
+ -3236.169 -2521.690 46.000 40.000
+ -24098589.17544 -18765807.24942 20710066.085 20710069.693 20710064.561
+ -1451.079 -1130.711 57.000 50.000
+ -7157172.51343 -5541931.03442 23952468.987 23952473.076 23952469.400
+ -3372.271 -2627.744 45.000 39.000
+ -19095538.97943 -14868300.53642 21503551.997 21503555.258 21503551.565
+ 906.199 706.129 54.000 48.000
+ -15348880.76543 -11926173.33942 22409537.787 22409540.553 22409535.502
+ -287.181 -223.777 52.000 46.000
+ 04 2 1 16 21 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -18925083.80543 -14726688.65042 21236496.173 21236500.249 21236494.357
+ -2790.595 -2174.490 54.000 48.000
+ -18784624.33943 -14569514.99742 21770760.292 21770762.352 21770758.681
+ 2252.787 1755.418 53.000 46.000
+ -3506454.57643 -2566868.21242 24229059.693 24229063.975 24229058.402
+ 1143.967 891.403 43.000 38.000
+ -27131571.37744 -21138252.81642 20254805.926 20254808.916 20254805.206
+ 1189.543 926.917 58.000 51.000
+ -7270399.30243 -5625246.16342 24265213.252 24265215.324 24265211.013
+ -3232.491 -2518.824 46.000 39.000
+ -24054818.90844 -18731700.54142 20718395.195 20718398.888 20718393.989
+ -1466.818 -1142.975 57.000 50.000
+ -7055988.58043 -5463086.44142 23971724.402 23971727.118 23971723.146
+ -3373.232 -2628.492 45.000 39.000
+ -19122689.13843 -14889456.48742 21498385.121 21498388.879 21498384.439
+ 904.024 704.434 54.000 48.000
+ -15340004.40543 -11919256.72142 22411226.703 22411230.511 22411225.268
+ -304.525 -237.292 52.000 46.000
+ 04 2 1 16 22 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -18841209.59943 -14661332.13342 21252457.525 21252460.926 21252455.825
+ -2801.063 -2182.646 54.000 48.000
+ -18852000.23643 -14622015.67342 21757939.341 21757941.766 21757938.004
+ 2238.753 1744.483 53.000 46.000
+ -3540526.85443 -2593418.01542 24222574.547 24222580.638 24222573.370
+ 1127.302 878.417 41.000 38.000
+ -27167038.78544 -21165889.75442 20248056.544 20248059.628 20248056.104
+ 1174.753 915.392 57.000 51.000
+ -7173469.75443 -5549716.72042 24283654.837 24283661.626 24283655.200
+ -3229.457 -2516.460 45.000 39.000
+ -24010569.30044 -18697220.31742 20726816.141 20726819.111 20726814.662
+ -1483.340 -1155.849 57.000 50.000
+ -6954775.25543 -5384218.90642 23990984.575 23990988.087 23990982.843
+ -3374.672 -2629.614 43.000 38.000
+ -19149765.75743 -14910555.11442 21493232.948 21493236.083 21493232.073
+ 900.983 702.065 54.000 48.000
+ -15330599.28843 -11911928.04642 22413015.931 22413019.677 22413015.015
+ -322.746 -251.490 52.000 46.000
+ 04 2 1 16 22 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -18757025.68143 -14595734.28042 21268477.492 21268480.648 21268475.409
+ -2810.744 -2190.190 54.000 48.000
+ -18918961.03043 -14674192.89142 21745197.071 21745199.538 21745195.656
+ 2225.641 1734.266 53.000 47.000
+ -3574093.95443 -2619574.21142 24216189.511 24216192.164 24216187.272
+ 1111.224 865.889 43.000 38.000
+ -27202068.38144 -21193185.53542 20241390.694 20241393.782 20241390.178
+ 1160.864 904.569 58.000 51.000
+ -7076635.09543 -5474261.19542 24302082.441 24302088.553 24302082.152
+ -3225.694 -2513.528 44.000 39.000
+ -23965831.33744 -18662359.56242 20735328.995 20735332.485 20735327.520
+ -1498.849 -1167.934 57.000 50.000
+ -6853525.10343 -5305322.69342 24010251.333 24010256.357 24010251.492
+ -3374.898 -2629.791 45.000 38.000
+ -19176759.02643 -14931588.78442 21488095.693 21488099.712 21488094.799
+ 898.997 700.517 54.000 48.000
+ -15320655.30743 -11904179.50042 22414908.388 22414911.721 22414905.917
+ -339.905 -264.861 52.000 46.000
+ 04 2 1 16 23 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -18672554.63943 -14529912.70242 21284551.182 21284554.765 21284550.218
+ -2820.215 -2197.570 54.000 48.000
+ -18985525.52143 -14726061.31042 21732529.954 21732532.081 21732528.714
+ 2212.575 1724.084 54.000 47.000
+ -3607175.04043 -2645351.70942 24209892.114 24209896.566 24209892.743
+ 1095.071 853.302 44.000 38.000
+ -27236677.77944 -21220153.89542 20234804.880 20234807.638 20234804.246
+ 1146.931 893.712 58.000 51.000
+ -6979917.47643 -5398896.87742 24320487.612 24320492.666 24320486.474
+ -3221.551 -2510.299 44.000 39.000
+ -23920624.98744 -18627133.83042 20743931.332 20743935.140 20743930.087
+ -1514.355 -1180.017 57.000 50.000
+ -6752259.62643 -5226414.54442 24029520.770 24029527.515 24029520.030
+ -3375.331 -2630.128 43.000 38.000
+ -19203688.62643 -14952572.85742 21482971.430 21482975.320 21482970.415
+ 896.888 698.874 54.000 48.000
+ -15310191.74243 -11896026.06742 22416899.022 22416903.369 22416897.284
+ -357.023 -278.200 52.000 45.000
+ 04 2 1 16 23 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -18587786.20443 -14463859.36942 21300682.037 21300686.300 21300680.646
+ -2830.233 -2205.376 54.000 48.000
+ -19051680.01143 -14777610.25642 21719941.208 21719943.927 21719940.515
+ 2198.633 1713.220 53.000 47.000
+ -3639756.26143 -2670739.66842 24203694.706 24203696.904 24203693.229
+ 1077.629 839.711 45.000 39.000
+ -27270851.64144 -21246782.87742 20228301.424 20228304.793 20228301.153
+ 1132.202 882.235 58.000 51.000
+ -6883305.71243 -5323615.05642 24338872.769 24338876.759 24338871.833
+ -3218.494 -2507.917 45.000 39.000
+ -23874937.48644 -18591533.17242 20752625.602 20752628.902 20752624.288
+ -1530.610 -1192.683 57.000 50.000
+ -6650967.81143 -5147485.82342 24048795.441 24048800.468 24048794.265
+ -3376.581 -2631.102 43.000 38.000
+ -19230541.00843 -14973496.77442 21477861.590 21477865.391 21477860.851
+ 894.185 696.768 54.000 48.000
+ -15299194.91843 -11887457.11942 22418992.009 22418995.639 22418990.258
+ -375.177 -292.346 52.000 45.000
+ 04 2 1 16 24 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -18502729.80043 -14397581.65342 21316867.694 21316871.236 21316866.403
+ -2840.117 -2213.078 54.000 48.000
+ -19117429.46943 -14828843.59842 21707430.099 21707432.305 21707428.545
+ 2184.738 1702.393 54.000 47.000
+ -3671843.28143 -2695742.58442 24197585.456 24197591.686 24197585.997
+ 1061.165 826.882 43.000 39.000
+ -27304594.12544 -21273075.71442 20221881.073 20221883.930 20221880.299
+ 1117.446 870.737 58.000 51.000
+ -6786808.76843 -5248422.69942 24357235.296 24357239.149 24357233.216
+ -3214.883 -2505.104 44.000 38.000
+ -23828775.52244 -18555562.79842 20761409.770 20761413.382 20761408.780
+ -1546.775 -1205.279 57.000 50.000
+ -6549658.37443 -5068543.39642 24068074.774 24068080.786 24068074.270
+ -3378.028 -2632.230 43.000 38.000
+ -19257322.41743 -14994365.38042 21472765.122 21472769.671 21472764.425
+ 891.428 694.619 54.000 48.000
+ -15287670.98543 -11878477.43242 22421184.777 22421188.854 22421183.813
+ -392.961 -306.203 52.000 45.000
+ 04 2 1 16 24 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -18417387.42643 -14331081.11142 21333108.003 21333110.862 21333106.352
+ -2849.920 -2220.717 54.000 48.000
+ -19182771.93343 -14879759.79242 21694995.290 21694998.074 21694993.897
+ 2170.899 1691.610 54.000 47.000
+ -3703435.01643 -2720359.51542 24191575.629 24191578.814 24191574.090
+ 1044.444 813.852 44.000 39.000
+ -27337902.34844 -21299030.15842 20215542.666 20215545.494 20215541.910
+ 1102.558 859.136 58.000 51.000
+ -6690428.01443 -5173320.86942 24375575.544 24375581.013 24375575.208
+ -3211.233 -2502.259 43.000 38.000
+ -23782138.70444 -18519222.39942 20770284.945 20770287.967 20770283.576
+ -1562.871 -1217.821 57.000 50.000
+ -6448331.97243 -4989587.79242 24087356.501 24087360.829 24087354.481
+ -3377.740 -2632.005 41.000 37.000
+ -19284031.68043 -15015177.75042 21467682.741 21467686.213 21467681.547
+ 888.732 692.518 54.000 48.000
+ -15275618.55643 -11869085.92742 22423478.746 22423482.184 22423477.378
+ -410.989 -320.251 52.000 45.000
+ 04 2 1 16 25 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -18331758.57843 -14264357.33442 21349402.429 21349405.330 21349400.956
+ -2859.275 -2228.006 54.000 47.000
+ -19247702.97643 -14930355.40042 21682638.906 21682641.790 21682637.420
+ 2157.151 1680.897 53.000 47.000
+ -3734527.48143 -2744587.42742 24185658.169 24185661.225 24185657.743
+ 1028.005 801.043 44.000 39.000
+ -27370770.64544 -21324641.81442 20209287.933 20209290.611 20209287.191
+ 1087.985 847.781 58.000 51.000
+ -6594162.53743 -5098308.87442 24393895.231 24393900.634 24393893.271
+ -3207.024 -2498.980 44.000 38.000
+ -23735024.15344 -18482509.74942 20779250.405 20779253.531 20779248.888
+ -1578.720 -1230.171 57.000 50.000
+ -6346987.22843 -4910617.89142 24106642.788 24106647.326 24106641.744
+ -3378.472 -2632.575 44.000 38.000
+ -19310665.02743 -15035930.98642 21462614.407 21462617.990 21462613.279
+ 886.289 690.615 54.000 48.000
+ -15263033.97343 -11859279.74942 22425872.379 22425877.359 22425871.378
+ -428.625 -333.993 51.000 45.000
+ 04 2 1 16 25 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -18245851.06243 -14197416.40142 21365749.905 21365753.552 21365748.697
+ -2867.921 -2234.744 54.000 47.000
+ -19312226.49843 -14980633.45042 21670361.104 21670362.881 21670359.983
+ 2144.064 1670.699 54.000 47.000
+ -3765125.00143 -2768429.69042 24179836.633 24179841.310 24179836.633
+ 1011.689 788.329 45.000 39.000
+ -27403201.74744 -21349912.78542 20203116.436 20203119.211 20203115.979
+ 1073.966 836.857 58.000 51.000
+ -6498019.32543 -5023392.15042 24412188.921 24412195.398 24412189.351
+ -3202.520 -2495.470 43.000 38.000
+ -23687437.00843 -18445428.84642 20788305.636 20788309.243 20788304.495
+ -1593.867 -1241.974 56.000 50.000
+ -6245630.86143 -4831638.90642 24125930.056 24125933.435 24125929.472
+ -3378.422 -2632.537 43.000 37.000
+ -19337227.09043 -15056628.69542 21457560.056 21457563.368 21457558.919
+ 884.461 689.190 54.000 48.000
+ -15249921.52143 -11849062.25742 22428368.751 22428372.234 22428367.168
+ -445.676 -347.280 52.000 45.000
+ 04 2 1 16 26 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -18159666.57043 -14130259.66242 21382150.140 21382153.639 21382149.138
+ -2877.711 -2242.372 54.000 47.000
+ -19376340.56043 -15030592.46542 21658160.335 21658162.868 21658159.194
+ 2130.050 1659.779 54.000 47.000
+ -3795226.02343 -2791885.06642 24174109.711 24174112.969 24174108.757
+ 994.728 775.113 45.000 40.000
+ -27435192.51844 -21374840.65342 20197028.547 20197031.841 20197028.095
+ 1058.674 824.941 58.000 51.000
+ -6401999.45643 -4948571.56942 24430462.262 24430468.832 24430460.277
+ -3198.684 -2492.481 44.000 38.000
+ -23639376.68543 -18407979.23642 20797451.382 20797454.694 20797449.976
+ -1610.162 -1254.672 56.000 50.000
+ -6144263.57343 -4752651.37942 24145221.171 24145223.370 24145219.368
+ -3379.105 -2633.069 44.000 38.000
+ -19363716.47843 -15077269.77642 21452519.391 21452522.925 21452518.312
+ 881.477 686.865 54.000 48.000
+ -15236279.70443 -11838432.26542 22430963.532 22430968.020 22430962.720
+ -463.801 -361.403 52.000 45.000
+ 04 2 1 16 26 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -18073203.56343 -14062885.88442 21398603.812 21398607.626 21398602.514
+ -2886.790 -2249.447 53.000 47.000
+ -19440039.54543 -15080228.01942 21646039.602 21646041.634 21646037.793
+ 2116.172 1648.965 54.000 47.000
+ -3824825.75843 -2814949.79742 24168474.279 24168479.399 24168474.837
+ 978.155 762.199 44.000 39.000
+ -27466736.33444 -21399420.24542 20191026.044 20191029.272 20191025.533
+ 1043.829 813.373 58.000 51.000
+ -6306100.84243 -4873845.45242 24448712.048 24448717.761 24448709.633
+ -3194.605 -2489.302 44.000 38.000
+ -23590839.28444 -18370157.88342 20806687.506 20806691.290 20806686.291
+ -1625.991 -1267.006 57.000 50.000
+ -6042883.09643 -4673653.60542 24164512.085 24164516.425 24164511.583
+ -3379.709 -2633.539 44.000 38.000
+ -19390128.36443 -15097850.45442 21447493.356 21447496.425 21447492.299
+ 878.944 684.891 55.000 48.000
+ -15222103.62943 -11827385.97842 22433662.301 22433665.433 22433660.759
+ -481.544 -375.229 52.000 45.000
+ 04 2 1 16 27 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -17986471.25743 -13995302.27642 21415108.572 21415112.048 21415107.115
+ -2895.742 -2256.422 54.000 47.000
+ -19503328.73943 -15129544.26842 21633995.347 21633997.988 21633994.554
+ 2102.838 1638.575 54.000 47.000
+ -3853929.51743 -2837628.05842 24162938.123 24162941.664 24162936.173
+ 961.817 749.468 44.000 39.000
+ -27497837.35344 -21423654.80442 20185107.754 20185110.775 20185107.305
+ 1029.195 801.970 58.000 51.000
+ -6210332.01643 -4799220.44842 24466935.372 24466940.405 24466934.635
+ -3190.036 -2485.742 44.000 38.000
+ -23541831.40144 -18331969.92642 20816013.396 20816017.105 20816012.070
+ -1641.591 -1279.162 57.000 50.000
+ -5941497.59843 -4594651.89842 24183803.357 24183809.066 24183801.418
+ -3379.520 -2633.392 44.000 38.000
+ -19416468.71943 -15118375.40242 21442481.089 21442484.649 21442479.731
+ 876.803 683.223 54.000 48.000
+ -15207399.45243 -11815928.16442 22436460.446 22436464.090 22436459.012
+ -498.977 -388.813 52.000 46.000
+ 04 2 1 16 27 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -17899470.40343 -13927509.39642 21431663.781 21431667.729 21431662.238
+ -2905.049 -2263.674 53.000 47.000
+ -19566205.39643 -15178539.05642 21622030.040 21622032.296 21622028.359
+ 2088.642 1627.513 53.000 47.000
+ -3882535.16243 -2859918.17342 24157493.833 24157497.597 24157492.629
+ 944.998 736.362 45.000 39.000
+ -27528491.49644 -21447541.15242 20179274.603 20179277.338 20179274.197
+ 1013.900 790.052 58.000 51.000
+ -6114693.35943 -4724696.87542 24485135.585 24485139.999 24485133.948
+ -3186.179 -2482.737 44.000 37.000
+ -23492351.66944 -18293414.28442 20825429.127 20825432.549 20825427.893
+ -1657.587 -1291.626 57.000 50.000
+ -5840106.69443 -4515645.98242 24203098.490 24203103.081 24203096.933
+ -3380.104 -2633.847 44.000 38.000
+ -19442735.35043 -15138842.90842 21437482.430 21437486.336 21437481.435
+ 873.906 680.966 54.000 48.000
+ -15192164.94643 -11804057.10642 22439359.217 22439362.944 22439357.033
+ -517.121 -402.951 52.000 46.000
+ 04 2 1 16 28 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -17812199.24643 -13859505.89442 21448271.029 21448275.023 21448270.127
+ -2913.780 -2270.478 53.000 47.000
+ -19628663.78843 -15227207.92542 21610144.379 21610146.918 21610143.346
+ 2075.031 1616.907 53.000 47.000
+ -3910637.48143 -2881816.11342 24152145.142 24152149.935 24152144.413
+ 928.265 723.323 44.000 39.000
+ -27558691.79644 -21471073.84842 20173527.766 20173530.325 20173527.049
+ 998.977 778.424 58.000 51.000
+ -6019181.97343 -4650272.47242 24503308.813 24503314.199 24503307.753
+ -3181.800 -2479.325 42.000 37.000
+ -23442395.63644 -18254487.48642 20834935.617 20834938.862 20834934.008
+ -1673.233 -1303.818 57.000 50.000
+ -5738707.29643 -4436633.44242 24222389.964 24222400.704 24222392.475
+ -3379.845 -2633.645 41.000 37.000
+ -19468922.80943 -15159248.72042 21432499.219 21432502.669 21432498.400
+ 871.517 679.104 54.000 48.000
+ -15176394.76643 -11791768.63942 22442360.345 22442364.069 22442358.297
+ -534.672 -416.627 52.000 46.000
+ 04 2 1 16 28 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -17724669.74743 -13791301.10342 21464927.699 21464931.589 21464925.940
+ -2922.150 -2277.000 53.000 47.000
+ -19690712.34443 -15275557.44142 21598337.000 21598340.258 21598335.750
+ 2061.349 1606.246 54.000 47.000
+ -3938245.78543 -2903329.10242 24146892.591 24146896.209 24146892.172
+ 911.606 710.342 45.000 39.000
+ -27588445.76344 -21494258.74942 20167865.646 20167868.601 20167864.949
+ 984.139 766.862 58.000 51.000
+ -5923809.41543 -4575956.25042 24521458.973 24521464.443 24521457.374
+ -3176.889 -2475.498 43.000 37.000
+ -23391973.37644 -18215197.40742 20844530.882 20844534.054 20844529.396
+ -1688.758 -1315.915 57.000 50.000
+ -5637310.83143 -4357623.20542 24241688.218 24241693.404 24241688.028
+ -3380.144 -2633.878 43.000 38.000
+ -19495040.26743 -15179599.99142 21427529.526 21427533.198 21427528.452
+ 869.220 677.314 55.000 48.000
+ -15160098.37943 -11779070.14142 22445462.105 22445465.437 22445460.819
+ -552.154 -430.250 52.000 46.000
+ 04 2 1 16 29 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -17636880.70243 -13722894.06442 21481633.450 21481637.030 21481632.385
+ -2930.637 -2283.613 54.000 47.000
+ -19752345.57743 -15323583.32542 21586608.292 21586612.066 21586607.617
+ 2047.589 1595.524 54.000 47.000
+ -3965354.99643 -2924453.16042 24141731.883 24141737.276 24141731.394
+ 895.454 697.756 44.000 38.000
+ -27617746.66444 -21517090.61042 20162289.676 20162292.727 20162289.038
+ 969.207 755.226 58.000 51.000
+ -5828573.62143 -4501746.61842 24539581.943 24539587.854 24539581.862
+ -3172.454 -2472.042 43.000 37.000
+ -23341080.57544 -18175540.67142 20854214.892 20854218.298 20854213.908
+ -1704.171 -1327.925 57.000 50.000
+ -5535914.66443 -4278613.18042 24260984.001 24260988.125 24260983.775
+ -3379.818 -2633.624 44.000 38.000
+ -19521082.69443 -15199892.79642 21422573.373 21422577.207 21422572.691
+ 866.886 675.496 55.000 48.000
+ -15143270.72643 -11765957.66742 22448663.335 22448667.080 22448662.334
+ -569.679 -443.906 52.000 46.000
+ 04 2 1 16 29 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -17548836.32243 -13654288.06342 21498387.866 21498391.031 21498386.704
+ -2939.020 -2290.145 54.000 47.000
+ -19813564.23243 -15371286.16142 21574959.530 21574961.934 21574958.174
+ 2033.810 1584.787 54.000 47.000
+ -3991966.22643 -2945189.21342 24136670.982 24136675.279 24136670.119
+ 878.766 684.753 47.000 40.000
+ -27646594.17444 -21539569.18442 20156800.548 20156803.125 20156799.846
+ 954.105 743.458 58.000 51.000
+ -5733478.31543 -4427646.44242 24557677.826 24557684.153 24557676.141
+ -3166.981 -2467.777 43.000 36.000
+ -23289719.97844 -18135519.41942 20863988.642 20863992.168 20863987.547
+ -1719.657 -1339.992 57.000 50.000
+ -5434522.18743 -4199606.04242 24280278.452 24280282.269 24280276.794
+ -3379.366 -2633.272 44.000 38.000
+ -19547051.47943 -15220128.19142 21417632.235 21417635.523 21417631.148
+ 864.533 673.662 55.000 48.000
+ -15125913.25543 -11752432.36042 22451966.674 22451969.967 22451964.867
+ -587.285 -457.625 52.000 45.000
+ 04 2 1 16 30 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -17460537.03743 -13585483.43942 21515190.347 21515193.607 21515189.214
+ -2946.544 -2296.008 53.000 47.000
+ -19874365.17243 -15418663.51142 21563389.531 21563392.184 21563388.269
+ 2020.762 1574.620 54.000 47.000
+ -4018076.92743 -2965535.18642 24131700.279 24131704.824 24131700.545
+ 863.046 672.503 45.000 39.000
+ -27674983.79844 -21561690.96142 20151397.988 20151400.888 20151397.370
+ 939.614 732.167 58.000 51.000
+ -5638523.02343 -4353655.36442 24575747.255 24575753.404 24575746.916
+ -3161.082 -2463.181 43.000 36.000
+ -23237889.63044 -18095132.14242 20873851.783 20873855.177 20873850.661
+ -1734.491 -1351.551 57.000 50.000
+ -5333132.99643 -4120601.44242 24299572.669 24299576.912 24299571.182
+ -3378.834 -2632.858 43.000 37.000
+ -19572943.58743 -15240303.82242 21412704.624 21412707.932 21412703.783
+ 862.686 672.223 55.000 48.000
+ -15108023.55843 -11738492.31242 22455370.755 22455374.188 22455368.600
+ -604.192 -470.799 52.000 45.000
+ 04 2 1 16 30 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -17371988.59643 -13516484.65542 21532040.437 21532043.974 21532039.081
+ -2955.185 -2302.741 53.000 47.000
+ -19934750.51143 -15465717.00842 21551899.156 21551900.727 21551897.175
+ 2006.448 1563.466 54.000 47.000
+ -4043689.98043 -2985493.42242 24126827.385 24126830.532 24126827.904
+ 846.254 659.419 46.000 39.000
+ -27702916.61944 -21583456.79342 20146082.194 20146085.443 20146081.802
+ 924.029 720.023 57.000 51.000
+ -5543713.00043 -4279777.46342 24593789.669 24593796.862 24593788.133
+ -3157.532 -2460.414 42.000 36.000
+ -23185593.09444 -18054381.59842 20883803.294 20883806.702 20883801.968
+ -1750.402 -1363.950 57.000 50.000
+ -5231751.69943 -4041603.00142 24318861.863 24318867.965 24318860.193
+ -3378.809 -2632.838 42.000 37.000
+ -19598761.94443 -15260422.01942 21407791.557 21407795.115 21407790.534
+ 859.883 670.039 55.000 48.000
+ -15089604.45043 -11724139.74242 22458875.802 22458878.916 22458873.830
+ -622.222 -484.848 52.000 45.000
+ 04 2 1 16 31 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -17283191.22843 -13447291.89942 21548938.207 21548940.935 21548936.917
+ -2963.362 -2309.113 53.000 47.000
+ -19994716.40443 -15512443.67842 21540487.829 21540489.483 21540486.583
+ 1992.583 1552.662 54.000 47.000
+ -4068801.99143 -3005061.26642 24122047.358 24122053.753 24122047.350
+ 829.249 646.168 45.000 39.000
+ -27730387.72444 -21604862.84542 20140855.016 20140857.826 20140854.351
+ 908.646 708.036 58.000 51.000
+ -5449047.58643 -4206012.28042 24611803.795 24611809.384 24611804.237
+ -3152.419 -2456.430 42.000 36.000
+ -23132828.30743 -18013266.18842 20893844.046 20893847.865 20893842.783
+ -1765.938 -1376.055 56.000 50.000
+ -5130377.30943 -3962609.95242 24338154.003 24338160.341 24338152.795
+ -3378.224 -2632.382 43.000 38.000
+ -19624503.15043 -15280480.08942 21402893.246 21402896.696 21402892.054
+ 857.475 668.162 54.000 48.000
+ -15070652.92743 -11709372.30242 22462482.571 22462485.586 22462481.002
+ -639.922 -498.640 52.000 45.000
+ 04 2 1 16 31 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -17194150.57243 -13377909.58842 21565881.560 21565885.333 21565880.461
+ -2972.226 -2316.020 53.000 47.000
+ -20054264.84443 -15558845.05642 21529155.759 21529158.048 21529154.485
+ 1977.807 1541.148 54.000 47.000
+ -4093415.98743 -3024240.97042 24117364.946 24117368.973 24117363.871
+ 811.783 632.558 45.000 39.000
+ -27757397.97544 -21625909.78942 20135714.994 20135717.781 20135714.526
+ 892.391 695.370 58.000 51.000
+ -5354531.77243 -4132363.65842 24629788.602 24629796.670 24629789.411
+ -3147.998 -2452.985 40.000 36.000
+ -23079598.72144 -17971788.59442 20903973.738 20903976.897 20903972.275
+ -1782.222 -1388.744 57.000 50.000
+ -5029014.39243 -3883625.84342 24357444.502 24357449.606 24357443.185
+ -3378.661 -2632.723 45.000 38.000
+ -19650169.81843 -15300480.08942 21398008.880 21398012.232 21398008.055
+ 854.115 665.544 54.000 48.000
+ -15051171.50443 -11694191.97242 22466189.840 22466192.197 22466188.494
+ -658.408 -513.045 52.000 45.000
+ 04 2 1 16 32 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -17104873.28143 -13308342.88342 21582871.261 21582875.310 21582870.170
+ -2979.756 -2321.888 54.000 47.000
+ -20113399.46943 -15604923.98842 21517902.542 21517904.835 21517901.279
+ 1964.365 1530.674 54.000 47.000
+ -4117535.23843 -3043035.20442 24112775.740 24112778.840 24112773.403
+ 795.621 619.964 45.000 39.000
+ -27783949.35744 -21646599.16842 20130662.350 20130665.645 20130661.770
+ 877.339 683.641 58.000 51.000
+ -5260171.76043 -4058836.41842 24647746.100 24647752.474 24647743.506
+ -3142.452 -2448.664 41.000 35.000
+ -23025909.03143 -17929952.46342 20914189.924 20914193.703 20914188.726
+ -1797.236 -1400.444 56.000 50.000
+ -4927668.61243 -3804655.09742 24376728.933 24376733.776 24376727.984
+ -3377.922 -2632.147 44.000 38.000
+ -19675765.24443 -15320424.58642 21393138.159 21393141.651 21393137.293
+ 852.067 663.948 54.000 48.000
+ -15031164.23243 -11678601.87942 22469997.047 22470000.213 22469994.188
+ -675.611 -526.450 52.000 45.000
+ 04 2 1 16 32 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -17015352.07743 -13238586.11742 21599905.982 21599909.648 21599904.328
+ -2989.119 -2329.184 52.000 47.000
+ -20172108.50043 -15650671.27942 21506730.745 21506733.273 21506729.852
+ 1948.898 1518.622 54.000 47.000
+ -4141149.36443 -3061435.82742 24108281.637 24108284.745 24108280.417
+ 777.853 606.119 44.000 40.000
+ -27810029.53544 -21666921.37542 20125699.438 20125702.342 20125698.848
+ 860.530 670.543 58.000 51.000
+ -5165959.14043 -3985424.02642 24665673.686 24665678.970 24665673.220
+ -3139.174 -2446.110 42.000 36.000
+ -22971749.39543 -17887750.15542 20924496.382 20924499.669 20924494.830
+ -1814.121 -1413.601 56.000 50.000
+ -4826331.29643 -3725690.94742 24396012.786 24396017.888 24396011.202
+ -3378.683 -2632.740 44.000 37.000
+ -19701278.79743 -15340305.28842 21388283.099 21388287.149 21388282.443
+ 848.033 660.805 54.000 48.000
+ -15010620.65343 -11662593.89242 22473905.623 22473909.099 22473904.212
+ -694.622 -541.264 51.000 45.000
+ 04 2 1 16 33 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -16925598.47043 -13168648.26142 21616985.725 21616989.515 21616984.230
+ -2995.692 -2334.305 52.000 47.000
+ -20230400.63843 -15696093.72042 21495638.333 21495640.557 21495637.341
+ 1936.035 1508.599 54.000 47.000
+ -4164267.28443 -3079449.77942 24103882.103 24103886.711 24103881.070
+ 762.490 594.148 44.000 39.000
+ -27835645.49244 -21686881.86542 20120824.966 20120828.097 20120824.294
+ 846.021 659.237 58.000 51.000
+ -5071904.96143 -3912135.09542 24683573.128 24683576.604 24683571.175
+ -3132.485 -2440.897 43.000 35.000
+ -22917129.78944 -17845189.42342 20934890.424 20934893.696 20934889.239
+ -1828.422 -1424.744 57.000 50.000
+ -4725013.36943 -3646741.88942 24415293.179 24415298.457 24415292.080
+ -3377.161 -2631.554 45.000 38.000
+ -19726718.90043 -15360128.77942 21383442.201 21383446.078 21383441.580
+ 846.686 659.755 54.000 48.000
+ -14989549.66843 -11646174.92542 22477915.639 22477919.149 22477914.585
+ -711.198 -554.180 52.000 45.000
+ 04 2 1 16 33 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -16835611.84243 -13098528.82942 21634109.042 21634113.526 21634108.681
+ -3003.600 -2340.467 52.000 47.000
+ -20288271.61443 -15741187.97042 21484625.803 21484627.621 21484624.672
+ 1921.862 1497.555 54.000 47.000
+ -4186885.29643 -3097074.17142 24099579.150 24099582.594 24099578.494
+ 745.571 580.964 45.000 39.000
+ -27860791.88644 -21706476.45742 20116039.740 20116042.753 20116039.292
+ 830.302 646.989 58.000 51.000
+ -4978008.03643 -3838968.70642 24701437.465 24701442.887 24701438.936
+ -3126.850 -2436.506 40.000 35.000
+ -22862047.00143 -17802267.77242 20945372.219 20945375.717 20945371.051
+ -1843.892 -1436.799 56.000 50.000
+ -4623713.01043 -3567806.51542 24434569.412 24434574.819 24434568.857
+ -3376.699 -2631.194 45.000 37.000
+ -19752081.67843 -15379892.00242 21378616.446 21378619.259 21378614.871
+ 844.039 657.693 55.000 48.000
+ -14967947.91943 -11629342.38842 22482026.645 22482029.319 22482025.447
+ -728.894 -567.969 52.000 45.000
+ 04 2 1 16 34 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -16745390.01343 -13028226.11542 21651278.565 21651282.111 21651277.146
+ -3011.193 -2346.384 53.000 47.000
+ -20345715.64543 -15785949.54042 21473693.847 21473696.870 21473693.225
+ 1907.954 1486.717 54.000 47.000
+ -4208998.08843 -3114304.91642 24095369.957 24095374.178 24095368.660
+ 729.118 568.144 45.000 39.000
+ -27885461.82244 -21725699.78642 20111345.092 20111348.289 20111344.606
+ 814.546 634.711 57.000 51.000
+ -4884265.38843 -3765922.49042 24719278.861 24719284.143 24719276.051
+ -3121.928 -2432.671 41.000 35.000
+ -22806497.06143 -17758982.10742 20955942.850 20955946.386 20955941.695
+ -1859.238 -1448.757 56.000 50.000
+ -4522426.93443 -3488882.27642 24453843.362 24453846.527 24453841.562
+ -3375.977 -2630.631 45.000 37.000
+ -19777361.57743 -15399590.64842 21373805.606 21373808.995 21373804.759
+ 841.431 655.661 55.000 49.000
+ -14945810.44243 -11612092.40042 22486238.540 22486242.489 22486237.146
+ -746.735 -581.871 51.000 45.000
+ 04 2 1 16 34 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -16654947.78243 -12957751.66242 21668489.467 21668492.124 21668487.877
+ -3017.851 -2351.572 53.000 47.000
+ -20402743.91943 -15830387.14442 21462842.135 21462844.660 21462841.192
+ 1894.633 1476.337 54.000 47.000
+ -4230617.66343 -3131151.32242 24091254.978 24091259.827 24091256.020
+ 712.558 555.240 45.000 38.000
+ -27909665.41544 -21744559.72842 20106739.492 20106742.507 20106738.853
+ 799.546 623.023 58.000 51.000
+ -4790691.07543 -3693007.48342 24737084.278 24737089.176 24737085.154
+ -3115.029 -2427.295 41.000 34.000
+ -22750492.78543 -17715342.40542 20966600.158 20966603.451 20966598.809
+ -1873.711 -1460.034 56.000 50.000
+ -4421168.78043 -3409979.81842 24473113.196 24473116.746 24473112.318
+ -3374.077 -2629.151 44.000 37.000
+ -19802570.10943 -15419233.65942 21369008.318 21369011.990 21369007.354
+ 839.801 654.390 55.000 49.000
+ -14923149.37543 -11594434.41142 22490550.961 22490553.758 22490549.602
+ -763.474 -594.915 51.000 45.000
+ 04 2 1 16 35 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -16564282.86243 -12887103.68742 21685741.904 21685745.938 21685740.574
+ -3025.653 -2357.652 53.000 47.000
+ -20459350.61843 -15874496.24242 21452070.445 21452072.794 21452069.709
+ 1879.970 1464.912 55.000 48.000
+ -4251738.96743 -3147609.46942 24087237.532 24087239.717 24087234.765
+ 696.092 542.409 45.000 39.000
+ -27933395.66244 -21763050.83242 20102223.681 20102226.647 20102222.947
+ 783.130 610.231 58.000 51.000
+ -4697281.76143 -3620221.04942 24754860.996 24754866.226 24754856.516
+ -3110.604 -2423.847 41.000 35.000
+ -22694029.84843 -17671345.31842 20977344.657 20977347.778 20977343.426
+ -1889.589 -1472.407 56.000 49.000
+ -4319935.11843 -3331096.39742 24492374.380 24492380.671 24492375.224
+ -3374.357 -2629.369 43.000 36.000
+ -19827701.61643 -15438816.63942 21364225.860 21364229.596 21364225.133
+ 836.590 651.888 55.000 49.000
+ -14899959.25643 -11576364.17942 22494963.711 22494966.631 22494962.396
+ -781.706 -609.121 51.000 45.000
+ 04 2 1 16 35 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -16473399.36943 -12816285.39042 21703035.799 21703039.752 21703035.245
+ -3033.572 -2363.822 52.000 46.000
+ -20515536.20843 -15918277.20442 21441378.874 21441380.556 21441377.420
+ 1865.509 1453.643 55.000 48.000
+ -4272362.87943 -3163680.00642 24083311.092 24083313.945 24083310.245
+ 678.660 528.826 43.000 37.000
+ -27956651.88444 -21781172.55742 20097798.197 20097801.043 20097797.663
+ 766.877 597.566 58.000 51.000
+ -4604040.98343 -3547565.92842 24772603.167 24772611.320 24772605.664
+ -3106.031 -2420.284 41.000 34.000
+ -22637110.36443 -17626992.46942 20988176.321 20988179.372 20988174.996
+ -1905.440 -1484.758 56.000 50.000
+ -4218728.95743 -3252234.43142 24511634.559 24511638.652 24511633.301
+ -3373.224 -2628.486 43.000 36.000
+ -19852757.04543 -15458340.32742 21359457.809 21359461.523 21359457.053
+ 833.377 649.385 55.000 48.000
+ -14876241.62943 -11557882.89142 22499476.759 22499480.515 22499475.939
+ -799.796 -623.218 51.000 45.000
+ 04 2 1 16 36 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -16382296.47643 -12745296.13542 21720372.857 21720376.211 21720371.371
+ -3040.809 -2369.461 52.000 46.000
+ -20571296.97643 -15961727.14942 21430767.337 21430769.785 21430766.050
+ 1851.215 1442.505 54.000 48.000
+ -4292486.06643 -3179360.43742 24079481.963 24079484.409 24079481.420
+ 662.077 515.904 44.000 37.000
+ -27979428.84844 -21798920.84042 20093464.058 20093467.026 20093463.262
+ 750.717 584.974 58.000 51.000
+ -4510967.15343 -3475040.84942 24790315.071 24790320.790 24790315.358
+ -3100.231 -2415.764 41.000 35.000
+ -22579731.48143 -17582281.66342 20999095.022 20999098.494 20999093.890
+ -1920.715 -1496.661 56.000 49.000
+ -4117548.68243 -3173392.64942 24530887.927 24530893.703 24530889.564
+ -3372.856 -2628.199 43.000 37.000
+ -19877732.51143 -15477801.71042 21354705.727 21354708.676 21354704.709
+ 830.878 647.437 55.000 48.000
+ -14851993.14243 -11538987.97642 22504091.474 22504096.409 22504089.932
+ -817.622 -637.108 51.000 45.000
+ 04 2 1 16 36 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -16290979.87743 -12674140.37142 21737749.303 21737753.706 21737747.687
+ -3047.665 -2374.804 52.000 46.000
+ -20626634.67443 -16004847.43242 21420236.775 21420239.773 21420236.019
+ 1837.277 1431.644 54.000 48.000
+ -4312111.58243 -3194653.04942 24075746.949 24075751.589 24075747.052
+ 645.890 503.291 44.000 38.000
+ -28001727.55044 -21816296.45542 20089220.328 20089223.438 20089219.896
+ 734.983 572.714 57.000 51.000
+ -4418065.16843 -3402649.69342 24807993.313 24807998.463 24807991.837
+ -3094.159 -2411.033 41.000 35.000
+ -22521896.84543 -17537215.72342 21010100.558 21010104.198 21010099.349
+ -1935.590 -1508.252 56.000 50.000
+ -4016398.54443 -3094574.34342 24550138.254 24550139.815 24550135.869
+ -3371.503 -2627.145 44.000 36.000
+ -19902630.40243 -15497202.65742 21349967.713 21349971.275 21349966.545
+ 828.417 645.520 55.000 49.000
+ -14827216.64143 -11519681.58942 22508806.535 22508810.149 22508805.259
+ -835.098 -650.726 52.000 45.000
+ 04 2 1 16 37 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -16199455.93543 -12602823.01642 21755166.117 21755169.720 21755164.656
+ -3054.997 -2380.517 52.000 46.000
+ -20681552.89343 -16047640.83642 21409786.427 21409789.400 21409785.303
+ 1822.754 1420.328 55.000 48.000
+ -4331242.72243 -3209560.41842 24072106.020 24072111.127 24072105.833
+ 628.413 489.672 45.000 39.000
+ -28023549.70844 -21833300.72942 20085067.880 20085070.675 20085067.414
+ 718.541 559.902 57.000 51.000
+ -4325340.72243 -3330396.88642 24825637.591 24825643.174 24825635.006
+ -3088.549 -2406.661 38.000 34.000
+ -22463611.26343 -17491798.38342 21021192.377 21021195.373 21021191.123
+ -1951.213 -1520.426 56.000 50.000
+ -3915283.92343 -3015783.70742 24569378.367 24569383.393 24569377.370
+ -3370.547 -2626.400 43.000 35.000
+ -19927453.81643 -15516545.57342 21345244.049 21345247.214 21345242.761
+ 825.396 643.166 55.000 49.000
+ -14801916.02243 -11499966.80742 22513621.229 22513624.435 22513619.725
+ -852.882 -664.583 52.000 45.000
+ 04 2 1 16 37 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -16107721.90843 -12531341.97242 21772623.468 21772626.169 21772621.470
+ -3061.682 -2385.726 53.000 46.000
+ -20736045.11143 -16090102.29142 21399416.712 21399419.167 21399415.682
+ 1809.041 1409.642 55.000 48.000
+ -4349874.22043 -3224078.50742 24068563.867 24068565.303 24068562.621
+ 612.372 477.173 47.000 39.000
+ -28044888.04344 -21849927.99542 20081007.441 20081010.186 20081006.837
+ 702.818 547.650 57.000 51.000
+ -4232790.19043 -3258279.57342 24843249.169 24843255.767 24843248.378
+ -3082.542 -2401.981 41.000 34.000
+ -22404870.08143 -17446026.05442 21032370.258 21032373.482 21032368.807
+ -1965.959 -1531.916 56.000 50.000
+ -3814200.64643 -2937017.47342 24588611.931 24588619.005 24588612.582
+ -3369.217 -2625.364 41.000 35.000
+ -19952196.57943 -15535825.64542 21340535.146 21340538.619 21340534.136
+ 823.058 641.344 55.000 48.000
+ -14776085.89143 -11479839.40842 22518536.018 22518539.577 22518534.704
+ -870.108 -678.006 52.000 45.000
+ 04 2 1 16 38 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -16015782.14743 -12459700.61042 21790117.844 21790121.421 21790116.386
+ -3068.377 -2390.943 52.000 46.000
+ -20790112.42743 -16132232.66442 21389128.208 21389130.623 21389126.701
+ 1794.931 1398.648 55.000 48.000
+ -4368007.71343 -3238208.43842 24065111.394 24065115.558 24065110.583
+ 595.911 464.346 45.000 39.000
+ -28065742.38644 -21866178.13742 20077038.903 20077042.176 20077038.453
+ 686.723 535.109 58.000 51.000
+ -4140417.25843 -3186300.65942 24860827.728 24860833.041 24860826.599
+ -3075.948 -2396.842 40.000 34.000
+ -22345675.63943 -17399900.52842 21043634.823 21043637.525 21043633.449
+ -1980.909 -1543.565 56.000 50.000
+ -3713152.14943 -2858278.37342 24607842.860 24607848.039 24607842.494
+ -3367.954 -2624.380 42.000 36.000
+ -19976859.75643 -15555043.70742 21335842.252 21335845.149 21335840.779
+ 820.502 639.352 55.000 48.000
+ -14749728.05143 -11459300.81242 22523552.284 22523555.693 22523550.450
+ -887.669 -691.690 52.000 45.000
+ 04 2 1 16 38 30.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -15923640.26043 -12387901.74242 21807652.366 21807655.998 21807650.768
+ -3074.597 -2395.790 52.000 46.000
+ -20843755.14743 -16174032.17942 21378920.582 21378922.533 21378919.690
+ 1781.136 1387.898 55.000 48.000
+ -4385644.11043 -3251951.12942 24061755.578 24061759.522 24061755.229
+ 579.776 451.774 45.000 39.000
+ -28086111.98644 -21882050.55442 20073162.410 20073165.697 20073162.066
+ 671.020 522.873 58.000 51.000
+ -4048224.69943 -3114462.28542 24878371.443 24878375.765 24878372.028
+ -3070.225 -2392.383 40.000 34.000
+ -22286030.05543 -17353423.45042 21054984.407 21054987.784 21054982.967
+ -1995.621 -1555.029 56.000 49.000
+ -3612141.00843 -2779568.44642 24627066.232 24627070.248 24627063.911
+ -3366.814 -2623.491 44.000 36.000
+ -20001443.77943 -15574200.09842 21331163.894 21331167.281 21331162.951
+ 818.209 637.565 55.000 48.000
+ -14722843.63443 -11438351.88742 22528668.041 22528672.208 22528666.725
+ -904.891 -705.110 52.000 45.000
+ 04 2 1 16 39 0.0000000 0 9G17G21G25G30G 9G 5G24G 6G10
+ -15831300.39643 -12315948.61442 21825224.117 21825227.686 21825222.835
+ -3081.172 -2400.913 53.000 46.000
+ -20896973.86943 -16215501.29342 21368793.192 21368795.286 21368791.955
+ 1766.994 1376.878 55.000 48.000
+ -4402784.81943 -3265307.54442 24058493.221 24058496.838 24058491.541
+ 563.080 438.764 45.000 39.000
+ -28105996.27444 -21897544.80642 20069378.849 20069381.900 20069378.411
+ 654.859 510.280 58.000 51.000
+ -3956216.00143 -3042767.14542 24895879.727 24895884.628 24895882.279
+ -3063.934 -2387.481 38.000 33.000
+ -22225935.31443 -17306596.39442 21066420.202 21066423.705 21066418.923
+ -2010.476 -1566.605 56.000 49.000
+ -3511170.09043 -2700889.80542 24646280.131 24646283.245 24646279.463
+ -3364.731 -2621.868 43.000 36.000
+ -20025949.47643 -15593295.45542 21326500.209 21326504.176 21326499.374
+ 815.779 635.672 55.000 49.000
+ -14695434.36043 -11416993.98542 22533883.490 22533887.813 22533882.317
+ -922.249 -718.635 51.000 45.000
+ 04 2 1 16 39 30.0000000 0 10G18G17G21G25G30G 9G 5G24G 6G10
+ -1599119.19353 -1187234.75152 24501411.146 24501414.679 24501409.221
+ 3560.182 2774.168 43.000 35.000
+ -15738765.62743 -12243843.61142 21842832.914 21842836.623 21842832.000
+ -3087.614 -2405.933 53.000 46.000
+ -20949768.78143 -16256640.16042 21358746.940 21358748.865 21358745.419
+ 1752.898 1365.895 55.000 48.000
+ -4419430.61843 -3278278.30342 24055325.888 24055330.188 24055326.472
+ 546.811 426.086 46.000 39.000
+ -28125394.00044 -21912659.90742 20065687.819 20065690.664 20065687.115
+ 638.614 497.621 58.000 51.000
+ -10166073.21953 -7881616.93652 24913353.049 24913355.470 24913352.523
+ -3058.151 -2382.975 38.000 32.000
+ -22165392.83043 -17259420.43442 21077941.245 21077944.764 21077940.137
+ -2025.389 -1578.225 56.000 49.000
+ -3410241.21543 -2622243.87542 24665485.370 24665488.175 24665484.823
+ -3363.402 -2620.833 43.000 36.000
+ -20050376.37543 -15612329.41942 21321852.448 21321855.404 21321851.095
+ 813.078 633.567 55.000 48.000
+ -14667500.82643 -11395227.58542 22539199.550 22539202.983 22539197.299
+ -939.702 -732.235 52.000 45.000
+ 04 2 1 16 40 0.0000000 0 10G18G17G21G25G30G 9G 5G24G 6G10
+ -1705972.91043 -1270497.22742 24481077.817 24481080.271 24481076.551
+ 3563.164 2776.491 44.000 36.000
+ -15646037.41943 -12171587.86742 21860478.926 21860481.574 21860477.296
+ -3093.843 -2410.787 53.000 46.000
+ -21002138.00043 -16297447.31342 21348781.449 21348783.633 21348779.728
+ 1738.763 1354.880 55.000 48.000
+ -4435580.36643 -3290862.53442 24052252.823 24052257.552 24052250.879
+ 530.487 413.366 45.000 40.000
+ -28144302.20244 -21927393.55942 20062089.319 20062092.516 20062088.903
+ 622.340 484.940 58.000 51.000
+ -10074437.19453 -7810212.16952 24930790.443 24930794.284 24930790.382
+ -3051.492 -2377.786 39.000 32.000
+ -22104402.25643 -17211895.32742 21089546.955 21089550.612 21089545.697
+ -2040.258 -1589.811 56.000 49.000
+ -3309355.08643 -2543631.34442 24684683.972 24684687.788 24684684.495
+ -3362.073 -2619.797 43.000 36.000
+ -20074722.93843 -15631300.76642 21317218.944 21317222.337 21317217.907
+ 810.474 631.538 54.000 48.000
+ -14639042.01643 -11373051.86342 22544614.422 22544618.561 22544613.177
+ -957.100 -745.792 51.000 45.000
+ 04 2 1 16 40 30.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -1812907.86843 -1353823.02242 24460727.165 24460731.564 24460726.908
+ 3565.995 2778.697 43.000 36.000
+ -15553120.20243 -12099184.85342 21878160.479 21878163.446 21878159.079
+ -3100.442 -2415.929 53.000 46.000
+ -21054082.51743 -16337923.52142 21338896.624 21338898.926 21338895.203
+ 1724.151 1343.494 55.000 48.000
+ -4451235.49943 -3303061.36442 24049274.638 24049277.850 24049272.202
+ 513.428 400.074 47.000 40.000
+ -28162720.88144 -21941745.76242 20058584.448 20058587.352 20058583.972
+ 605.599 471.895 58.000 52.000
+ -22042966.23943 -17164023.09842 21101238.055 21101241.222 21101236.475
+ -2055.463 -1601.659 56.000 49.000
+ -3208514.68143 -2465054.37942 24703874.418 24703877.744 24703871.742
+ -3361.058 -2619.006 43.000 35.000
+ -20098990.26543 -15650210.36542 21312601.416 21312604.869 21312600.480
+ 807.383 629.130 55.000 49.000
+ -14610059.81743 -11350468.29142 22550129.599 22550133.195 22550128.073
+ -974.918 -759.676 51.000 45.000
+ 04 2 1 16 41 0.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -1919912.06243 -1437202.76442 24440366.163 24440368.732 24440365.342
+ 3568.410 2780.579 43.000 36.000
+ -15460008.07743 -12026629.96842 21895879.085 21895881.735 21895877.248
+ -3106.606 -2420.732 53.000 46.000
+ -21105593.46843 -16378061.89542 21329093.728 21329096.563 21329092.497
+ 1710.271 1332.679 55.000 48.000
+ -4466387.93943 -3314868.45242 24046390.049 24046394.156 24046389.760
+ 497.222 387.446 46.000 40.000
+ -28180639.67444 -21955708.45242 20055174.533 20055177.743 20055173.892
+ 589.364 459.245 58.000 52.000
+ -21981077.64643 -17115798.22742 21113015.209 21113018.630 21113013.744
+ -2070.036 -1613.015 56.000 49.000
+ -3107713.08443 -2386507.65642 24723054.667 24723058.842 24723055.178
+ -3358.641 -2617.123 43.000 36.000
+ -20123169.38943 -15669051.20442 21308000.038 21308003.671 21307999.312
+ 804.877 627.177 55.000 49.000
+ -14580546.23043 -11327470.67142 22555745.769 22555749.717 22555744.467
+ -992.219 -773.158 51.000 45.000
+ 04 2 1 16 41 30.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -2026996.00143 -1520644.67742 24419988.366 24419992.306 24419986.399
+ 3571.100 2782.675 45.000 37.000
+ -15366716.83743 -11953935.49342 21913631.316 21913634.809 21913630.208
+ -3112.505 -2425.328 53.000 46.000
+ -21156683.53143 -16417872.31042 21319372.380 21319374.618 21319370.925
+ 1696.236 1321.742 55.000 48.000
+ -4481050.85143 -3326294.10742 24043599.128 24043604.746 24043597.811
+ 480.901 374.728 45.000 39.000
+ -28198069.89944 -21969290.43542 20051858.280 20051860.802 20051857.309
+ 573.072 446.550 58.000 52.000
+ -21918749.89843 -17067231.15742 21124875.175 21124879.257 21124874.120
+ -2084.636 -1624.392 55.000 49.000
+ -3006964.89943 -2308002.54142 24742226.364 24742230.264 24742226.784
+ -3357.121 -2615.938 43.000 35.000
+ -20147272.49843 -15687832.81942 21303413.072 21303416.852 21303412.060
+ 802.451 625.286 54.000 48.000
+ -14550514.52443 -11304069.33742 22561459.884 22561464.947 22561458.968
+ -1009.436 -786.573 51.000 45.000
+ 04 2 1 16 42 0.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -2134149.28643 -1604140.61442 24399596.023 24399600.862 24399594.270
+ 3572.964 2784.128 44.000 37.000
+ -15273240.93743 -11881097.13442 21931419.741 21931423.146 21931417.843
+ -3118.936 -2430.340 52.000 46.000
+ -21207344.08743 -16457348.04642 21309732.039 21309733.898 21309730.649
+ 1681.648 1310.375 55.000 48.000
+ -4495216.52443 -3337332.33542 24040905.094 24040908.304 24040903.736
+ 464.030 361.582 46.000 39.000
+ -28215002.00444 -21982484.28142 20048635.909 20048638.801 20048635.484
+ 556.171 433.380 58.000 52.000
+ -21855976.39043 -17018316.74242 21136820.714 21136824.773 21136819.937
+ -2099.717 -1636.143 55.000 49.000
+ -2906263.46643 -2229533.87942 24761390.488 24761396.388 24761389.855
+ -3355.402 -2614.599 43.000 35.000
+ -20171290.92643 -15706548.43042 21298843.261 21298846.465 21298842.279
+ 799.279 622.815 55.000 49.000
+ -14519957.06243 -11280258.31442 22567275.580 22567279.166 22567274.862
+ -1027.181 -800.401 51.000 45.000
+ 04 2 1 16 42 30.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -2241372.69243 -1687691.17742 24379192.639 24379198.353 24379191.355
+ 3575.087 2785.782 44.000 37.000
+ -15179587.24943 -11808120.23642 21949240.693 21949244.442 21949239.449
+ -3124.932 -2435.012 52.000 46.000
+ -21257578.60443 -16496491.80842 21300172.758 21300174.632 21300171.764
+ 1667.217 1299.130 55.000 48.000
+ -4508888.94843 -3347986.18842 24038302.344 24038306.681 24038302.161
+ 447.497 348.699 46.000 40.000
+ -28231438.18744 -21995291.68642 20045507.903 20045510.908 20045507.574
+ 539.519 420.404 58.000 52.000
+ -21792762.13443 -16969058.88742 21148850.303 21148853.809 21148849.025
+ -2114.661 -1647.788 55.000 49.000
+ -2805614.32243 -2151105.92742 24780542.407 24780549.120 24780541.440
+ -3354.088 -2613.575 43.000 35.000
+ -20195228.11543 -15725200.75042 21294287.965 21294291.221 21294286.722
+ 796.524 620.668 55.000 49.000
+ -14488878.13143 -11256040.95042 22573189.712 22573193.059 22573188.511
+ -1044.715 -814.064 51.000 45.000
+ 04 2 1 16 43 0.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -2348662.82243 -1771293.74342 24358776.710 24358781.234 24358775.674
+ 3576.932 2787.220 44.000 38.000
+ -15085757.92243 -11735006.48442 21967095.760 21967099.107 21967094.680
+ -3130.897 -2439.660 52.000 46.000
+ -21307386.47543 -16535303.11942 21290694.314 21290695.952 21290692.720
+ 1652.715 1287.830 55.000 48.000
+ -4522068.60543 -3358256.05142 24035793.750 24035798.344 24035793.899
+ 430.892 335.760 45.000 39.000
+ -28247376.59844 -22007711.21642 20042475.183 20042478.180 20042474.624
+ 522.609 407.228 58.000 52.000
+ -21729108.02043 -16919458.30242 21160963.182 21160966.967 21160961.840
+ -2129.421 -1659.289 56.000 49.000
+ -2705018.61043 -2072719.62342 24799685.214 24799693.948 24799681.936
+ -3352.359 -2612.228 44.000 35.000
+ -20219083.23643 -15743789.13542 21289748.308 21289751.548 21289747.448
+ 793.481 618.297 55.000 49.000
+ -14457277.79043 -11231417.29242 22579202.527 22579206.897 22579200.705
+ -1062.361 -827.814 51.000 44.000
+ 04 2 1 16 43 30.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -2456018.42343 -1854947.32042 24338347.494 24338352.157 24338345.508
+ 3580.178 2789.749 45.000 38.000
+ -14991757.20743 -11661759.17142 21984983.044 21984988.134 21984982.041
+ -3135.990 -2443.628 51.000 46.000
+ -21356768.65443 -16573782.71442 21281297.391 21281299.554 21281295.479
+ 1639.345 1277.412 55.000 48.000
+ -4534756.77443 -3368142.97742 24033381.408 24033383.960 24033379.759
+ 415.341 323.642 46.000 40.000
+ -28262817.14544 -22019742.80742 20039536.957 20039539.720 20039536.376
+ 506.694 394.826 58.000 52.000
+ -21665016.25843 -16869516.67142 21173159.497 21173162.950 21173158.623
+ -2143.296 -1670.101 56.000 49.000
+ -2604479.46943 -1994377.45142 24818815.862 24818823.354 24818815.441
+ -3350.230 -2610.569 39.000 34.000
+ -20242856.91043 -15762314.05042 21285224.544 21285228.038 21285223.531
+ 791.439 616.706 55.000 49.000
+ -14425157.99043 -11206388.85442 22585314.241 22585318.280 22585312.481
+ -1078.813 -840.633 50.000 44.000
+ 04 2 1 16 44 0.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -2563434.52943 -1938648.03442 24317906.233 24317910.357 24317906.327
+ 3581.291 2790.616 45.000 38.000
+ -14897585.38943 -11588378.54142 22002904.149 22002908.133 22002902.712
+ -3142.376 -2448.605 52.000 46.000
+ -21405722.14843 -16611928.26442 21271981.144 21271983.515 21271980.292
+ 1624.240 1265.642 55.000 48.000
+ -4546951.59043 -3377645.45942 24031060.921 24031063.603 24031060.436
+ 397.862 310.022 46.000 39.000
+ -28277755.97544 -22031383.46042 20036693.932 20036696.887 20036693.494
+ 489.176 381.176 58.000 52.000
+ -21600485.28143 -16819232.80342 21185439.464 21185442.507 21185438.143
+ -2158.762 -1682.152 55.000 49.000
+ -2503995.98343 -1916078.62242 24837938.071 24837944.245 24837935.676
+ -3349.125 -2609.708 40.000 34.000
+ -20266546.25243 -15780773.25642 21280716.490 21280719.978 21280715.437
+ 787.876 613.929 55.000 49.000
+ -14392516.96943 -11180954.25442 22591526.501 22591530.650 22591524.705
+ -1097.077 -854.865 50.000 45.000
+ 04 2 1 16 44 30.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -2670909.71543 -2022394.81342 24297452.834 24297459.105 24297452.649
+ 3583.731 2792.518 44.000 38.000
+ -14803246.69843 -11514867.86742 22020856.458 22020860.224 22020854.688
+ -3146.907 -2452.135 52.000 46.000
+ -21454248.72543 -16649741.16642 21262747.217 21262749.370 21262745.973
+ 1610.907 1255.252 55.000 48.000
+ -4558655.11443 -3386765.10242 24028833.132 24028835.856 24028831.572
+ 382.152 297.781 45.000 39.000
+ -28292192.92744 -22042633.03942 20033946.769 20033949.874 20033946.243
+ 473.272 368.783 58.000 52.000
+ -21535518.23643 -16768609.13942 21197802.254 21197805.912 21197800.986
+ -2172.292 -1692.695 55.000 49.000
+ -2403571.06043 -1837825.48442 24857048.680 24857054.452 24857047.752
+ -3345.804 -2607.120 39.000 34.000
+ -20290152.17743 -15799167.45442 21276224.952 21276227.702 21276223.470
+ 785.950 612.429 56.000 49.000
+ -14359356.71843 -11155115.09542 22597836.680 22597839.515 22597834.919
+ -1113.518 -867.676 51.000 45.000
+ 04 2 1 16 45 0.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -2778439.01643 -2106183.76242 24276993.045 24276996.709 24276991.460
+ 3585.143 2793.618 46.000 39.000
+ -14708741.13043 -11441227.17742 22038840.255 22038843.431 22038838.859
+ -3152.897 -2456.803 52.000 46.000
+ -21502345.30943 -16687219.00942 21253594.698 21253597.030 21253593.138
+ 1596.150 1243.753 55.000 48.000
+ -4569865.26043 -3395500.25442 24026699.560 24026703.737 24026698.830
+ 365.711 284.970 46.000 39.000
+ -28306124.06044 -22053488.47042 20031295.741 20031298.693 20031295.310
+ 456.003 355.327 58.000 52.000
+ -21470114.08643 -16717644.88142 21210248.541 21210251.732 21210247.164
+ -2187.282 -1704.375 56.000 49.000
+ -2303203.69843 -1759617.13642 24876144.885 24876151.058 24876146.374
+ -3344.412 -2606.035 39.000 34.000
+ -20313671.70243 -15817494.34142 21271748.463 21271752.146 21271747.488
+ 782.679 609.880 55.000 49.000
+ -14325675.32343 -11128869.84042 22604246.294 22604249.129 22604244.904
+ -1131.110 -881.384 51.000 45.000
+ 04 2 1 16 45 30.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -2886026.18943 -2190017.79242 24256520.522 24256523.639 24256519.524
+ 3586.294 2794.515 47.000 39.000
+ -14614078.72043 -11367464.26942 22056854.019 22056857.330 22056852.150
+ -3158.756 -2461.368 52.000 45.000
+ -21550018.70143 -16724367.08642 21244522.818 21244524.919 21244521.587
+ 1581.302 1232.183 55.000 48.000
+ -4580589.20943 -3403856.58742 24024660.117 24024661.500 24024657.698
+ 348.885 271.858 46.000 39.000
+ -28319555.12044 -22063954.23142 20028740.042 20028742.945 20028739.547
+ 438.666 341.818 58.000 52.000
+ -21404280.94643 -16666346.33842 21222776.003 21222779.223 21222774.744
+ -2202.291 -1716.071 55.000 49.000
+ -2202902.53343 -1681460.37342 24895234.722 24895238.118 24895233.985
+ -3342.851 -2604.819 41.000 34.000
+ -20337111.26343 -15835758.91142 21267288.405 21267291.652 21267287.595
+ 779.205 607.173 55.000 49.000
+ -14291480.45243 -11102224.45742 22610753.703 22610757.027 22610751.993
+ -1149.029 -895.347 51.000 45.000
+ 04 2 1 16 46 0.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -2993662.47143 -2273890.12242 24236036.654 24236041.146 24236035.490
+ 3588.498 2796.232 46.000 39.000
+ -14519256.08843 -11293576.50742 22074898.289 22074901.816 22074896.341
+ -3163.446 -2465.023 52.000 45.000
+ -21597262.83043 -16761180.67842 21235532.419 21235534.729 21235531.342
+ 1567.537 1221.457 55.000 48.000
+ -4590821.63143 -3411829.88142 24022711.011 24022715.921 24022710.177
+ 332.732 259.272 45.000 39.000
+ -28332478.49444 -22074024.39842 20026280.855 20026283.437 20026280.111
+ 422.197 328.985 58.000 52.000
+ -21338014.10943 -16614709.85042 21235386.326 21235389.698 21235384.881
+ -2216.253 -1726.950 55.000 49.000
+ -2102662.97143 -1603351.62542 24914308.272 24914313.204 24914309.156
+ -3340.586 -2603.054 41.000 34.000
+ -20360464.13143 -15853955.94642 21262844.580 21262847.530 21262843.741
+ 776.901 605.377 55.000 49.000
+ -14256766.83143 -11075174.87142 22617358.723 22617362.958 22617356.934
+ -1165.674 -908.317 51.000 45.000
+ 04 2 1 16 46 30.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -3101343.45143 -2357797.27942 24215545.699 24215549.655 24215545.127
+ 3590.085 2797.469 47.000 40.000
+ -14424274.17343 -11219564.61942 22092972.161 22092975.768 22092970.527
+ -3168.616 -2469.051 52.000 45.000
+ -21644075.75343 -16797658.26942 21226624.227 21226626.907 21226622.829
+ 1553.350 1210.403 55.000 48.000
+ -4600561.46143 -3419419.37442 24020857.834 24020861.865 24020857.392
+ 316.639 246.732 44.000 39.000
+ -28344891.30444 -22083696.72342 20023918.400 20023921.442 20023917.966
+ 405.334 315.845 58.000 52.000
+ -21271313.17543 -16562735.11142 21248079.007 21248082.316 21248077.724
+ -2230.278 -1737.879 56.000 49.000
+ -2002485.03343 -1525290.84442 24933374.527 24933375.426 24933370.718
+ -3338.403 -2601.353 41.000 34.000
+ -20383728.11743 -15872083.74242 21258417.346 21258420.722 21258416.489
+ 773.874 603.019 55.000 49.000
+ -14221533.29743 -11047720.14842 22624063.920 22624067.437 22624062.755
+ -1183.035 -921.845 51.000 45.000
+ 04 2 1 16 47 0.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -3209072.47243 -2441741.84942 24195046.222 24195049.445 24195043.927
+ 3591.541 2798.603 47.000 40.000
+ -14329141.74743 -11145435.44642 22111075.554 22111078.898 22111073.985
+ -3174.025 -2473.266 52.000 45.000
+ -21690463.35143 -16833804.41842 21217796.865 21217799.196 21217795.833
+ 1538.747 1199.024 55.000 48.000
+ -4609815.39043 -3426630.22742 24019097.825 24019100.249 24019096.015
+ 300.138 233.874 45.000 39.000
+ -28356797.97244 -22092974.66142 20021652.807 20021655.827 20021652.384
+ 388.043 302.371 58.000 52.000
+ -21204185.43043 -16510427.79642 21260853.188 21260856.462 21260851.654
+ -2245.135 -1749.456 55.000 49.000
+ -8204056.27953 -6357683.98752 24952424.665 24952429.075 24952421.476
+ -3336.240 -2599.667 41.000 33.000
+ -20406908.62143 -15890146.46042 21254006.242 21254009.372 21254005.598
+ 770.895 600.697 55.000 49.000
+ -14185786.47443 -11019865.46542 22630866.567 22630869.903 22630864.776
+ -1200.596 -935.529 51.000 45.000
+ 04 2 1 16 47 30.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -3316846.90243 -2525721.82942 24174536.404 24174539.216 24174535.552
+ 3593.456 2800.096 47.000 40.000
+ -14233861.39343 -11071191.01942 22129205.676 22129209.846 22129204.077
+ -3178.272 -2476.575 51.000 45.000
+ -21736425.46343 -16869619.02442 21209050.551 21209052.973 21209049.374
+ 1525.155 1188.432 55.000 48.000
+ -4618583.66943 -3433462.67342 24017428.138 24017433.966 24017427.609
+ 284.548 221.726 45.000 39.000
+ -28368197.19644 -22101857.19242 20019483.686 20019486.632 20019483.097
+ 371.675 289.617 58.000 52.000
+ -21136632.21643 -16457788.93742 21273707.947 21273711.202 21273706.733
+ -2258.710 -1760.034 56.000 49.000
+ -8104018.01443 -6279732.03542 24971459.668 24971465.361 24971460.341
+ -3333.425 -2597.474 39.000 33.000
+ -20430005.01243 -15908143.63842 21249611.209 21249614.554 21249610.403
+ 768.687 598.977 55.000 49.000
+ -14149527.24243 -10991611.49442 22637765.651 22637769.256 22637764.311
+ -1216.824 -948.174 52.000 44.000
+ 04 2 1 16 48 0.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -3424657.32843 -2609729.85942 24154022.087 24154024.592 24154020.022
+ 3594.784 2801.130 47.000 40.000
+ -14138429.65743 -10996828.63342 22147366.151 22147370.646 22147365.293
+ -3182.887 -2480.172 51.000 45.000
+ -21781955.70943 -16905097.12042 21200386.915 21200388.751 21200385.389
+ 1511.007 1177.408 55.000 48.000
+ -4626861.24243 -3439912.75142 24015853.586 24015857.372 24015852.967
+ 268.187 208.977 47.000 40.000
+ -28379081.55844 -22110338.53342 20017412.328 20017415.249 20017411.950
+ 354.799 276.467 58.000 52.000
+ -21068648.46243 -16404814.60242 21286644.531 21286648.100 21286643.495
+ -2272.684 -1770.922 55.000 49.000
+ -8004045.35753 -6201831.26352 24990483.478 24990490.864 24990483.124
+ -3330.993 -2595.579 39.000 32.000
+ -20453010.60643 -15926070.06342 21245233.626 21245236.462 21245232.493
+ 765.890 596.797 55.000 49.000
+ -14112750.34343 -10962954.18042 22644764.339 22644767.608 22644762.252
+ -1233.904 -961.484 51.000 44.000
+ 04 2 1 16 48 30.0000000 0 9G18G17G21G25G30G 5G24G 6G10
+ -3532505.91443 -2693767.62842 24133497.551 24133501.019 24133496.740
+ 3595.387 2801.600 46.000 40.000
+ -14042854.33443 -10922354.36142 22165553.831 22165558.065 22165553.029
+ -3188.450 -2484.506 51.000 45.000
+ -21827058.58743 -16940242.19042 21191803.504 21191805.969 21191802.002
+ 1496.316 1165.961 55.000 48.000
+ -4634653.48843 -3445984.64142 24014370.719 24014374.886 24014369.363
+ 251.612 196.061 45.000 39.000
+ -28389454.76944 -22118421.57342 20015438.740 20015441.423 20015438.139
+ 337.066 262.649 58.000 52.000
+ -21000240.87143 -16351510.00042 21299661.960 21299665.874 21299660.841
+ -2287.351 -1782.351 55.000 49.000
+ -7904144.86143 -6123986.68742 25009493.922 25009500.329 25009489.663
+ -3328.811 -2593.879 39.000 33.000
+ -20475929.60443 -15943929.03342 21240871.765 21240875.021 21240870.725
+ 762.368 594.053 55.000 49.000
+ -14075461.32243 -10933897.79042 22651860.865 22651863.554 22651859.379
+ -1251.719 -975.365 51.000 45.000
+ 04 2 1 16 49 0.0000000 0 10G18G17G21G25G15G30G 5G24G 6G10
+ -3640389.41943 -2777832.60242 24112967.539 24112971.220 24112966.276
+ 3596.547 2802.504 46.000 39.000
+ -13947137.45543 -10847769.77842 22183767.947 22183772.378 22183766.547
+ -3193.181 -2488.193 51.000 45.000
+ -21871733.83843 -16975054.04642 21183302.452 21183304.308 21183300.688
+ 1481.763 1154.621 55.000 48.000
+ -4641960.52443 -3451678.46242 24012981.219 24012983.658 24012980.682
+ 235.065 183.168 46.000 39.000
+ -1369614.18653 -1051355.97752 24979677.806 24979682.546 24979677.704
+ 2997.038 2335.354 42.000 36.000
+ -28399314.94044 -22126104.83742 20013562.159 20013565.370 20013561.476
+ 319.795 249.191 58.000 52.000
+ -20931410.20243 -16297875.73342 21312760.079 21312764.009 21312759.013
+ -2301.691 -1793.525 55.000 49.000
+ -7804317.59053 -6046199.14552 25028490.038 25028498.435 25028488.723
+ -3326.674 -2592.213 39.000 33.000
+ -20498761.01543 -15961719.74742 21236527.154 21236530.828 21236526.278
+ 759.316 591.675 55.000 49.000
+ -14037660.61543 -10904442.68042 22659053.944 22659056.510 22659051.920
+ -1268.814 -988.686 51.000 45.000
+ 04 2 1 16 49 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -3748303.41843 -2861921.33342 24092433.444 24092435.441 24092432.099
+ 3598.007 2803.642 46.000 39.000
+ -13851279.86043 -10773075.55142 22202009.503 22202013.901 22202008.401
+ -3197.452 -2491.521 51.000 45.000
+ -21915979.75543 -17009531.36142 21174882.294 21174885.001 21174881.023
+ 1467.969 1143.872 55.000 48.000
+ -4648781.20343 -3456993.30242 24011681.773 24011687.459 24011680.474
+ 219.293 170.878 45.000 40.000
+ -1459432.04143 -1121343.81242 24962586.121 24962592.337 24962584.590
+ 2990.531 2330.284 42.000 36.000
+ -28408659.07444 -22133385.99742 20011784.208 20011787.162 20011783.568
+ 303.021 236.120 58.000 52.000
+ -20862156.15643 -16243911.54342 21325939.199 21325942.657 21325937.782
+ -2315.381 -1804.193 55.000 49.000
+ -20521502.50743 -15979440.39442 21232199.911 21232202.749 21232198.868
+ 756.753 589.678 55.000 49.000
+ -13999346.99243 -10874587.90142 22666343.366 22666347.592 22666342.229
+ -1285.561 -1001.736 50.000 45.000
+ 04 2 1 16 50 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -3856249.15343 -2946034.78442 24071889.794 24071894.610 24071889.712
+ 3598.514 2804.037 44.000 39.000
+ -13755288.23743 -10698276.89442 22220275.444 22220279.885 22220273.794
+ -3202.028 -2495.087 51.000 45.000
+ -21959800.25043 -17043677.16342 21166543.761 21166545.994 21166542.554
+ 1453.426 1132.540 55.000 48.000
+ -4655120.15343 -3461932.76942 24010476.978 24010479.503 24010475.968
+ 203.285 158.404 46.000 40.000
+ -1549046.79843 -1191173.33042 24945530.779 24945538.692 24945530.712
+ 2983.447 2324.764 40.000 36.000
+ -28417490.16244 -22140267.38442 20010103.707 20010106.554 20010103.084
+ 285.724 222.642 58.000 52.000
+ -20792484.02043 -16189621.56542 21339197.158 21339200.746 21339195.385
+ -2329.445 -1815.152 54.000 49.000
+ -20544157.43043 -15997093.58142 21227889.122 21227891.435 21227887.680
+ 753.595 587.217 55.000 49.000
+ -13960525.48443 -10844337.35842 22673732.197 22673734.857 22673730.034
+ -1302.692 -1015.085 51.000 44.000
+ 04 2 1 16 50 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -3964220.54343 -3030168.23742 24051344.277 24051347.805 24051343.208
+ 3598.941 2804.370 45.000 39.000
+ -13659162.56643 -10623373.76842 22238568.090 22238571.188 22238566.174
+ -3207.253 -2499.158 51.000 45.000
+ -22003192.37943 -17077489.18442 21158286.410 21158288.494 21158285.175
+ 1438.576 1120.968 55.000 49.000
+ -4660975.23343 -3466495.14942 24009361.036 24009366.498 24009361.217
+ 186.579 145.386 46.000 40.000
+ -1638454.50353 -1260841.56252 24928516.644 24928526.880 24928518.323
+ 2976.267 2319.169 39.000 35.000
+ -28425803.94344 -22146745.68442 20008521.727 20008524.717 20008521.174
+ 267.767 208.650 58.000 52.000
+ -20722392.39443 -16135004.73942 21352534.489 21352538.941 21352533.172
+ -2344.140 -1826.602 54.000 48.000
+ -20566722.40743 -16014676.68842 21223594.944 21223597.946 21223594.227
+ 749.963 584.387 55.000 49.000
+ -13921194.34643 -10813689.70042 22681215.910 22681219.099 22681214.526
+ -1320.011 -1028.580 51.000 44.000
+ 04 2 1 16 51 0.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -4072215.86443 -3114320.33542 24030793.470 24030797.287 24030792.973
+ 3600.722 2805.757 44.000 39.000
+ -13562906.15443 -10548368.78342 22256885.560 22256889.611 22256883.880
+ -3210.423 -2501.628 51.000 45.000
+ -22046156.62143 -17110967.78242 21150110.286 21150113.061 21150108.838
+ 1425.373 1110.680 55.000 49.000
+ -4666348.22743 -3470681.94342 24008341.270 24008344.203 24008338.618
+ 171.479 133.620 46.000 40.000
+ -28433599.96744 -22152820.51942 20007037.850 20007040.924 20007037.383
+ 251.506 195.979 58.000 52.000
+ -20651883.82943 -16080063.00842 21365952.382 21365956.557 21365951.483
+ -2356.879 -1836.529 55.000 49.000
+ -20589197.48043 -16032189.73842 21219317.172 21219321.023 21219316.935
+ 747.992 582.851 55.000 49.000
+ -13881355.18143 -10782646.20042 22688797.045 22688801.372 22688795.191
+ -1336.114 -1041.128 51.000 44.000
+ 04 2 1 16 51 30.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -4180230.90843 -3198487.79542 24010236.724 24010241.276 24010237.206
+ 3600.460 2805.553 43.000 39.000
+ -13466520.70943 -10473263.25042 22275226.614 22275230.284 22275225.220
+ -3215.171 -2505.328 51.000 44.000
+ -22088692.23943 -17144112.37842 21142016.692 21142018.592 21142015.343
+ 1410.635 1099.196 56.000 49.000
+ -4671239.00043 -3474492.95142 24007409.331 24007413.096 24007408.803
+ 154.780 120.608 47.000 40.000
+ -28440876.31344 -22158490.41642 20005653.343 20005656.349 20005652.775
+ 233.684 182.091 58.000 52.000
+ -20580958.30743 -16024796.36842 21379449.284 21379452.787 21379448.027
+ -2371.157 -1847.655 55.000 49.000
+ -20611581.13343 -16049631.51842 21215058.666 21215061.855 21215057.412
+ 744.481 580.115 55.000 49.000
+ -13841007.86443 -10751206.72242 22696475.348 22696479.032 22696473.223
+ -1353.380 -1054.582 50.000 44.000
+ 04 2 1 16 52 0.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -4288264.33443 -3282669.59842 23989679.678 23989685.943 23989679.858
+ 3600.612 2805.672 43.000 39.000
+ -13370010.25443 -10398060.29742 22293591.554 22293596.151 22293590.611
+ -3219.603 -2508.781 50.000 45.000
+ -22130800.84743 -17176924.23542 21134003.350 21134005.502 21134001.881
+ 1395.985 1087.781 56.000 49.000
+ -4675649.65243 -3477929.84842 24006568.296 24006573.364 24006568.860
+ 138.451 107.884 46.000 39.000
+ -28447633.10444 -22163755.45042 20004367.371 20004370.867 20004366.914
+ 216.021 168.328 58.000 52.000
+ -20509619.08743 -15969207.37342 21393024.556 21393027.967 21393023.095
+ -2385.399 -1858.752 55.000 48.000
+ -20633874.00443 -16067002.54842 21210815.946 21210819.589 21210814.991
+ 741.020 577.418 55.000 49.000
+ -13800154.72143 -10719373.10442 22704248.918 22704253.407 22704247.574
+ -1370.558 -1067.967 50.000 44.000
+ 04 2 1 16 52 30.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -4396310.89643 -3366861.63342 23969117.662 23969123.872 23969118.267
+ 3602.552 2807.183 44.000 38.000
+ -13273374.58843 -10322759.77942 22311981.409 22311984.553 22311979.493
+ -3222.771 -2511.250 50.000 45.000
+ -22172479.78343 -17209401.28442 21126071.510 21126074.267 21126070.587
+ 1382.725 1077.448 55.000 49.000
+ -4679578.30243 -3480991.13842 24005822.935 24005825.849 24005821.990
+ 123.551 96.274 46.000 39.000
+ -28453866.40244 -22168612.57142 20003181.505 20003184.723 20003180.847
+ 199.550 155.494 58.000 52.000
+ -20437864.89443 -15913295.01942 21406678.230 21406682.275 21406677.414
+ -2398.056 -1868.615 54.000 48.000
+ -20656072.68343 -16084300.19542 21206592.355 21206595.132 21206591.274
+ 739.019 575.859 55.000 49.000
+ -13758793.81643 -10687143.81942 22712119.924 22712124.286 22712117.608
+ -1386.614 -1080.478 50.000 44.000
+ 04 2 1 16 53 0.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -4504372.91643 -3451065.71842 23948554.525 23948561.199 23948553.592
+ 3602.009 2806.760 42.000 38.000
+ -13176622.11943 -10247368.27042 22330391.601 22330396.167 22330391.088
+ -3226.848 -2514.427 51.000 44.000
+ -22213734.75243 -17241547.97942 21118221.706 21118223.987 21118220.258
+ 1368.221 1066.146 56.000 49.000
+ -4683031.60343 -3483682.03042 24005164.558 24005169.288 24005164.469
+ 107.309 83.617 47.000 40.000
+ -28459581.07944 -22173065.56942 20002094.343 20002097.110 20002093.660
+ 181.964 141.790 58.000 52.000
+ -20365703.20943 -15857065.13642 21420410.988 21420414.565 21420409.488
+ -2412.092 -1879.552 55.000 48.000
+ -20678182.35843 -16101528.52142 21202385.502 21202387.715 21202384.101
+ 735.606 573.199 56.000 49.000
+ -13716932.12443 -10654524.30542 22720085.229 22720089.834 22720083.495
+ -1403.498 -1093.635 50.000 44.000
+ 04 2 1 16 53 30.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -4612443.89443 -3535276.77442 23927991.558 23927995.489 23927989.999
+ 3602.601 2807.222 45.000 39.000
+ -13079751.34143 -10171884.53442 22348825.904 22348830.928 22348824.777
+ -3230.775 -2517.487 51.000 45.000
+ -22254561.58643 -17273361.06242 21110452.354 21110454.499 21110451.127
+ 1353.956 1055.031 55.000 49.000
+ -4686006.32243 -3485999.98542 24004599.599 24004602.568 24004598.575
+ 91.413 71.231 46.000 39.000
+ -28464771.86844 -22177110.34542 20001106.188 20001109.326 20001105.926
+ 164.420 128.119 58.000 52.000
+ -20293131.30743 -15800515.59442 21434221.096 21434224.233 21434219.745
+ -2425.674 -1890.135 55.000 48.000
+ -20700198.12143 -16118683.62342 21198194.430 21198198.763 21198193.877
+ 732.535 570.806 55.000 49.000
+ -13674566.61843 -10621512.21442 22728148.536 22728150.999 22728146.028
+ -1420.504 -1106.886 50.000 44.000
+ 04 2 1 16 54 0.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -4720521.97843 -3619493.38942 23907424.468 23907428.043 23907422.720
+ 3602.825 2807.396 45.000 39.000
+ -12982765.70643 -10096311.31042 22367281.848 22367285.787 22367280.344
+ -3234.660 -2520.514 51.000 44.000
+ -22294961.12243 -17304841.17642 21102764.153 21102766.994 21102762.957
+ 1339.584 1043.832 55.000 49.000
+ -4688504.05643 -3487946.27242 24004123.551 24004127.387 24004122.142
+ 75.206 58.602 46.000 39.000
+ -28469438.57444 -22180746.73942 20000218.460 20000221.127 20000217.801
+ 146.817 114.403 58.000 52.000
+ -20220151.45243 -15743648.17142 21448108.270 21448111.767 21448106.954
+ -2439.450 -1900.870 54.000 48.000
+ -20722120.21943 -16135765.74342 21194023.417 21194026.451 21194022.652
+ 729.215 568.219 55.000 49.000
+ -13631698.98343 -10588108.84942 22736305.161 22736308.157 22736303.216
+ -1437.047 -1119.777 50.000 44.000
+ 04 2 1 16 54 30.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -4828607.18543 -3703715.54142 23886857.043 23886860.672 23886856.034
+ 3602.314 2806.998 45.000 39.000
+ -12885670.84643 -10020652.98442 22385758.314 22385762.242 22385756.531
+ -3238.850 -2523.779 50.000 44.000
+ -22334937.07943 -17335991.21542 21095157.032 21095159.570 21095155.644
+ 1324.829 1032.334 55.000 49.000
+ -4690529.03143 -3489524.20542 24003739.438 24003741.731 24003737.499
+ 59.174 46.110 47.000 40.000
+ -28473583.32944 -22183976.41142 19999429.628 19999432.664 19999428.902
+ 128.849 100.402 58.000 52.000
+ -20146768.79743 -15686466.89042 21462073.014 21462076.341 21462071.205
+ -2453.379 -1911.724 55.000 48.000
+ -20743951.32943 -16152776.99042 21189868.983 21189872.549 21189867.961
+ 725.548 565.362 55.000 49.000
+ -13588333.42943 -10554317.51442 22744557.545 22744560.811 22744556.830
+ -1454.463 -1133.348 51.000 44.000
+ 04 2 1 16 55 0.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -4936693.05243 -3787938.22442 23866289.386 23866292.201 23866287.586
+ 3603.623 2808.018 46.000 39.000
+ -12788466.09343 -9944909.01742 22404254.625 22404260.696 22404254.131
+ -3241.467 -2525.818 50.000 44.000
+ -22374486.08443 -17366808.57542 21087631.342 21087633.353 21087629.743
+ 1311.846 1022.218 55.000 49.000
+ -4692078.79343 -3490731.80142 24003442.593 24003446.925 24003442.426
+ 44.631 34.777 46.000 40.000
+ -28477201.74744 -22186795.95842 19998741.033 19998744.194 19998740.463
+ 112.503 87.665 58.000 52.000
+ -20072981.71843 -15628970.48642 21476114.189 21476117.564 21476112.652
+ -2465.512 -1921.178 54.000 48.000
+ -20765687.21643 -16169714.03142 21185732.949 21185736.322 21185731.898
+ 723.593 563.839 56.000 49.000
+ -13544467.76843 -10520136.48142 22752904.947 22752908.409 22752903.675
+ -1470.114 -1145.543 51.000 44.000
+ 04 2 1 16 55 30.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -5044776.25243 -3872158.80542 23845721.820 23845724.712 23845719.963
+ 3602.285 2806.975 46.000 39.000
+ -12691153.23943 -9869080.83342 22422773.098 22422777.738 22422772.336
+ -3246.016 -2529.363 50.000 44.000
+ -22413607.23743 -17397292.54042 21080186.814 21080189.448 21080185.800
+ 1296.561 1010.307 55.000 49.000
+ -4693153.75243 -3491569.47742 24003237.671 24003244.447 24003237.681
+ 27.133 21.142 46.000 40.000
+ -28480292.15844 -22189204.06742 19998152.649 19998155.948 19998152.185
+ 93.919 73.184 58.000 52.000
+ -19998790.35143 -15571159.03842 21490231.965 21490235.602 21490231.036
+ -2480.101 -1932.546 54.000 48.000
+ -20787326.41243 -16186575.70642 21181615.055 21181618.038 21181613.909
+ 719.358 560.539 55.000 49.000
+ -13500102.58343 -10485566.18342 22761347.916 22761351.039 22761345.821
+ -1487.503 -1159.093 51.000 44.000
+ 04 2 1 16 56 0.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -5152857.54343 -3956377.90542 23825155.433 23825157.575 23825153.141
+ 3602.178 2806.892 46.000 40.000
+ -12593738.52643 -9793173.25642 22441311.128 22441315.670 22441310.300
+ -3249.677 -2532.216 50.000 44.000
+ -22452304.72243 -17427446.37842 21072823.410 21072825.247 21072822.107
+ 1282.291 999.188 56.000 49.000
+ -4693758.62343 -3492040.79942 24003123.240 24003128.390 24003121.785
+ 11.587 9.029 45.000 39.000
+ -28482857.24544 -22191202.83942 19997664.798 19997667.589 19997664.348
+ 76.072 59.277 58.000 52.000
+ -19924200.29043 -15513036.91442 21504426.219 21504429.296 21504425.003
+ -2493.567 -1943.039 54.000 48.000
+ -20808872.06543 -16203364.54542 21177515.116 21177518.331 21177513.820
+ 716.122 558.017 56.000 49.000
+ -13455242.46043 -10450610.23842 22769884.327 22769887.348 22769882.818
+ -1504.161 -1172.073 51.000 44.000
+ 04 2 1 16 56 30.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -5260930.49343 -4040590.49842 23804589.170 23804591.437 23804587.500
+ 3602.366 2807.038 46.000 39.000
+ -12496221.27343 -9717185.79342 22459869.199 22459871.619 22459867.212
+ -3252.438 -2534.367 50.000 44.000
+ -22490575.48143 -17457267.70242 21065540.169 21065542.095 21065539.046
+ 1268.491 988.434 56.000 49.000
+ -4693890.69943 -3492143.75442 24003099.335 24003103.264 24003097.144
+ -3.324 -2.590 45.000 40.000
+ -28484892.66144 -22192788.87242 19997277.420 19997280.401 19997276.963
+ 58.960 45.943 58.000 52.000
+ -19849210.00243 -15454602.92742 21518695.991 21518699.665 21518694.753
+ -2506.469 -1953.093 54.000 48.000
+ -20830319.99843 -16220077.20242 21173433.795 21173436.780 21173432.365
+ 713.282 555.804 56.000 49.000
+ -13409885.26143 -10415266.97242 22778515.775 22778518.619 22778514.693
+ -1520.106 -1184.498 51.000 44.000
+ 04 2 1 16 57 0.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -5368993.38843 -4124795.24942 23784024.933 23784026.813 23784023.345
+ 3601.731 2806.544 45.000 39.000
+ -12398605.20843 -9641121.32942 22478444.568 22478448.004 22478443.241
+ -3255.582 -2536.817 50.000 44.000
+ -22528420.86943 -17486757.57642 21058338.247 21058340.389 21058337.559
+ 1254.241 977.331 56.000 49.000
+ -4693552.58643 -3491880.35242 24003162.313 24003167.108 24003161.780
+ -19.056 -14.849 45.000 39.000
+ -28486398.98044 -22193962.62442 19996990.962 19996993.856 19996990.247
+ 41.268 32.157 58.000 52.000
+ -19773822.11243 -15395859.13542 21533042.312 21533045.509 21533040.897
+ -2519.595 -1963.321 54.000 48.000
+ -20851670.84743 -16236714.18942 21169370.632 21169373.816 21169369.670
+ 709.995 553.243 56.000 49.000
+ -13364033.29443 -10379538.16142 22787240.509 22787244.130 22787238.591
+ -1536.716 -1197.441 51.000 44.000
+ 04 2 1 16 57 30.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -5477042.96443 -4208989.63542 23763462.727 23763466.401 23763463.024
+ 3601.279 2806.191 45.000 40.000
+ -12300891.97143 -9564981.13642 22497039.294 22497040.987 22497037.398
+ -3258.815 -2539.336 50.000 44.000
+ -22565840.15843 -17515915.42142 21051217.969 21051219.845 21051216.429
+ 1240.174 966.369 56.000 49.000
+ -4692744.60243 -3491250.75142 24003316.197 24003321.353 24003315.110
+ -34.764 -27.089 46.000 40.000
+ -28487374.53444 -22194722.79642 19996805.224 19996808.014 19996804.647
+ 23.544 18.346 58.000 52.000
+ -19698038.07743 -15336806.64942 21547463.208 21547467.079 21547462.011
+ -2532.829 -1973.633 54.000 48.000
+ -20872923.13643 -16253274.34842 21165326.966 21165329.638 21165325.789
+ 706.634 550.624 56.000 49.000
+ -13317687.07043 -10343424.21642 22796060.025 22796064.037 22796058.309
+ -1553.218 -1210.300 51.000 44.000
+ 04 2 1 16 58 0.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -5585080.06443 -4293174.30442 23742904.616 23742907.947 23742904.348
+ 3600.950 2805.935 45.000 40.000
+ -12203087.98043 -9488770.23242 22515650.450 22515653.572 22515648.686
+ -3261.574 -2541.486 50.000 44.000
+ -22602837.59043 -17544744.53742 21044177.141 21044179.419 21044176.240
+ 1226.175 955.461 56.000 49.000
+ -4691471.38243 -3490258.65342 24003560.148 24003562.806 24003558.654
+ -50.253 -39.158 47.000 40.000
+ -28487822.05544 -22195071.52042 19996719.916 19996723.083 19996719.367
+ 6.008 4.682 58.000 52.000
+ -19621862.98443 -15277449.43542 21561959.208 21561962.436 21561957.568
+ -2545.659 -1983.630 54.000 48.000
+ -20894079.92443 -16269760.10642 21161300.038 21161303.446 21161299.146
+ 703.684 548.325 55.000 49.000
+ -13270851.51743 -10306928.96842 22804972.561 22804976.264 22804970.581
+ -1569.273 -1222.810 51.000 44.000
+ 04 2 1 16 58 30.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -5693094.68343 -4377341.44742 23722351.542 23722353.613 23722349.089
+ 3599.987 2805.185 46.000 40.000
+ -12105188.56943 -9412484.97842 22534280.253 22534283.290 22534278.965
+ -3265.119 -2544.248 50.000 44.000
+ -22639406.31143 -17573239.59942 21037218.066 21037220.428 21037217.490
+ 1211.777 944.242 56.000 49.000
+ -4689727.37643 -3488899.69742 24003891.919 24003893.907 24003890.028
+ -66.135 -51.534 46.000 39.000
+ -28487733.68044 -22195002.65942 19996736.944 19996739.911 19996736.366
+ -11.977 -9.333 58.000 52.000
+ -19545291.60043 -15217783.41742 21576529.906 21576533.586 21576528.393
+ -2558.988 -1994.017 54.000 48.000
+ -20915133.52443 -16286165.46742 21157294.260 21157296.968 21157293.013
+ 700.080 545.517 55.000 49.000
+ -13223520.82243 -10270047.90842 22813978.674 22813983.265 22813976.683
+ -1585.904 -1235.769 51.000 44.000
+ 04 2 1 16 59 0.0000000 0 8G18G17G21G25G30G 5G 6G10
+ -5801091.36643 -4461494.61242 23701798.155 23701801.588 23701797.580
+ 3599.507 2804.811 45.000 40.000
+ -12007204.12843 -9336133.47342 22552925.377 22552928.574 22552925.253
+ -3267.416 -2546.038 51.000 44.000
+ -22675554.65543 -17601407.10542 21030339.288 21030341.676 21030338.343
+ 1197.894 933.424 56.000 49.000
+ -4687521.25143 -3487180.65642 24004310.352 24004314.603 24004309.060
+ -81.327 -63.372 46.000 39.000
+ -28487116.49844 -22194521.73942 19996854.088 19996857.352 19996853.631
+ -29.427 -22.930 58.000 52.000
+ -19468333.33643 -15157815.95042 21591174.335 21591177.686 21591173.374
+ -2571.778 -2003.983 54.000 48.000
+ -20936090.72743 -16302495.71442 21153305.916 21153308.898 21153304.697
+ 696.951 543.079 56.000 49.000
+ -13175704.02843 -10232788.05842 22823078.148 22823082.576 22823077.531
+ -1602.030 -1248.335 51.000 44.000
+ 04 2 1 16 59 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -5909064.60543 -4545629.52842 23681252.136 23681254.246 23681251.932
+ 3598.968 2804.391 46.000 40.000
+ -11909134.26943 -9259715.40842 22571586.824 22571591.083 22571585.074
+ -3270.152 -2548.170 50.000 44.000
+ -22711279.69443 -17629244.76042 21023541.977 21023543.418 21023540.421
+ 1184.095 922.671 56.000 49.000
+ -4684850.99243 -3485099.93342 24004818.373 24004822.142 24004819.147
+ -96.345 -75.074 46.000 39.000
+ 24629264.243
+ 2846.459 2218.020 42.000
+ -28485966.72244 -22193625.81042 19997073.268 19997076.158 19997072.370
+ -46.873 -36.524 58.000 52.000
+ -19390986.91543 -15097546.01942 21605892.900 21605896.778 21605891.979
+ -2584.272 -2013.718 54.000 48.000
+ -20956948.08343 -16318748.17742 21149336.552 21149340.270 21149335.724
+ 693.903 540.704 55.000 49.000
+ -13127399.49343 -10195148.15742 22832271.164 22832274.127 22832269.605
+ -1617.986 -1260.768 51.000 44.000
+ 04 2 1 17 0 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -6017006.67443 -4629740.16242 23660712.113 23660714.646 23660710.740
+ 3597.154 2802.977 48.000 40.000
+ -11810976.80943 -9183229.06842 22590266.137 22590269.402 22590264.418
+ -3273.678 -2550.918 50.000 44.000
+ -22746577.17943 -17656749.26242 21016824.175 21016826.205 21016823.073
+ 1169.230 911.088 55.000 49.000
+ -4681713.30943 -3482655.00142 24005415.981 24005419.704 24005415.366
+ -112.791 -87.889 46.000 39.000
+ -1105391.21253 -851256.12452 24613043.737 24613049.405 24613042.667
+ 2837.255 2210.848 41.000 36.000
+ -28484278.91844 -22192310.63742 19997394.042 19997397.449 19997393.444
+ -65.538 -51.068 58.000 52.000
+ -19313249.89543 -15036971.72742 21620686.043 21620689.626 21620684.809
+ -2598.014 -2024.426 54.000 48.000
+ -20977700.20243 -16334918.64942 21145387.663 21145391.422 21145386.953
+ 689.722 537.446 55.000 49.000
+ -13078603.86143 -10157125.58842 22841556.331 22841559.111 22841554.140
+ -1634.935 -1273.975 51.000 44.000
+ 04 2 1 17 0 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -6124921.12543 -4713829.28342 23640176.695 23640179.038 23640174.908
+ 3596.414 2802.401 47.000 41.000
+ -11712740.93243 -9106681.62842 22608959.221 22608964.105 22608957.562
+ -3276.075 -2552.786 50.000 44.000
+ -22781454.34243 -17683926.24142 21010187.643 21010189.667 21010186.463
+ 1155.258 900.201 56.000 49.000
+ -4678116.39343 -3479852.22242 24006101.256 24006104.022 24006099.315
+ -127.752 -99.547 47.000 40.000
+ -1190408.74143 -917503.41742 24596865.868 24596871.080 24596863.770
+ 2829.743 2204.994 44.000 37.000
+ -28482059.15144 -22190580.94242 19997816.642 19997819.527 19997816.038
+ -83.125 -64.773 58.000 52.000
+ -19235130.39543 -14976099.40242 21635551.938 21635554.884 21635550.641
+ -2610.618 -2034.248 54.000 47.000
+ -20998352.76543 -16351011.55242 21141457.812 21141461.132 21141456.884
+ 686.515 534.947 55.000 49.000
+ -13029325.30743 -10118726.71042 22850933.378 22850936.911 22850932.070
+ -1650.820 -1286.353 51.000 44.000
+ 04 2 1 17 1 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -6232804.84843 -4797894.46342 23619646.875 23619648.961 23619645.859
+ 3595.757 2801.889 48.000 41.000
+ -11614428.87443 -9030074.82242 22627668.088 22627672.489 22627666.929
+ -3278.299 -2554.519 50.000 44.000
+ -22815911.10943 -17710775.63642 21003630.732 21003632.780 21003629.294
+ 1141.682 889.622 56.000 49.000
+ -4674060.89843 -3476692.09942 24006871.556 24006873.767 24006871.334
+ -142.732 -111.220 46.000 40.000
+ -1275196.61643 -983571.83742 24580729.701 24580735.093 24580729.974
+ 2822.591 2199.422 43.000 36.000
+ -28479306.41544 -22188435.94842 19998340.418 19998343.553 19998339.883
+ -100.469 -78.287 58.000 52.000
+ -19156630.32843 -14914930.52942 21650490.017 21650493.182 21650488.495
+ -2622.905 -2043.822 54.000 47.000
+ -21018904.83443 -16367026.14542 21137547.199 21137550.418 21137545.887
+ 683.495 532.593 56.000 49.000
+ -12979564.69043 -10079952.19942 22860402.438 22860405.772 22860400.844
+ -1666.540 -1298.602 51.000 44.000
+ 04 2 1 17 1 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -6340652.51043 -4881931.54842 23599123.484 23599125.351 23599123.384
+ 3593.782 2800.350 48.000 41.000
+ -11516040.39443 -8953408.47642 22646391.488 22646394.123 22646389.259
+ -3281.330 -2556.880 51.000 44.000
+ -22849945.12343 -17737295.62242 20997154.544 20997155.891 20997152.812
+ 1127.000 878.182 56.000 49.000
+ -4669545.75843 -3473173.78942 24007731.807 24007735.535 24007730.757
+ -158.607 -123.590 46.000 40.000
+ -1359751.28743 -1049458.50442 24564641.047 24564647.928 24564639.554
+ 2814.488 2193.108 43.000 37.000
+ -28476017.49244 -22185873.15042 19998966.110 19998969.288 19998965.622
+ -119.019 -92.742 58.000 52.000
+ -19077748.69343 -14853464.32842 21665500.591 21665504.437 21665499.320
+ -2636.181 -2054.167 53.000 47.000
+ -21039353.29743 -16382960.00742 21133655.113 21133659.311 21133654.419
+ 679.444 529.437 55.000 49.000
+ -12929321.17543 -10040801.41842 22869963.353 22869966.407 22869961.807
+ -1683.179 -1311.568 51.000 44.000
+ 04 2 1 17 2 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -6448458.36443 -4965936.05842 23578607.876 23578611.212 23578607.961
+ 3592.952 2799.703 48.000 40.000
+ -11417575.37543 -8876682.49442 22665128.522 22665132.084 22665127.581
+ -3283.362 -2558.464 50.000 44.000
+ -22883554.72143 -17763484.90742 20990758.719 20990760.011 20990757.824
+ 1113.297 867.504 56.000 49.000
+ -4664569.66643 -3469296.31342 24008678.712 24008682.781 24008677.628
+ -173.409 -135.124 46.000 40.000
+ -1444069.00443 -1115160.52642 24548594.306 24548601.203 24548593.241
+ 2807.272 2187.485 44.000 37.000
+ -28472189.06044 -22182889.95342 19999694.952 19999697.879 19999694.214
+ -136.558 -106.409 58.000 52.000
+ -18998484.38943 -14791699.95842 21680584.150 21680587.403 21680582.830
+ -2648.418 -2063.702 54.000 47.000
+ -21059694.79343 -16398810.53242 21129784.651 21129788.014 21129783.802
+ 676.269 526.963 55.000 49.000
+ -12878593.19643 -10001273.10042 22879616.448 22879619.934 22879615.425
+ -1699.005 -1323.900 51.000 44.000
+ 04 2 1 17 2 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -6556227.21843 -5049911.74942 23558101.084 23558105.097 23558100.403
+ 3591.799 2798.804 48.000 40.000
+ -11319044.20643 -8799904.95542 22683877.234 22683881.661 22683876.494
+ -3285.649 -2560.246 49.000 43.000
+ -22916747.73143 -17789349.59142 20984441.525 20984443.763 20984440.558
+ 1099.463 856.724 56.000 49.000
+ -4659141.54243 -3465066.62942 24009711.317 24009714.320 24009708.825
+ -188.547 -146.920 46.000 40.000
+ -1528156.66943 -1180683.27242 24532594.191 24532600.332 24532593.700
+ 2799.341 2181.305 45.000 37.000
+ -28467828.37844 -22179492.02042 20000524.702 20000527.596 20000524.117
+ -154.266 -120.207 58.000 52.000
+ -18918847.55243 -14729645.28942 21695738.183 21695742.167 21695737.225
+ -2660.810 -2073.358 54.000 47.000
+ -21079936.41543 -16414583.21942 21125932.765 21125935.924 21125931.794
+ 673.098 524.492 55.000 49.000
+ -12827390.20843 -9961374.67442 22889359.858 22889363.972 22889358.200
+ -1714.668 -1336.105 50.000 44.000
+ 04 2 1 17 3 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -6663949.86643 -5133851.43542 23537602.268 23537605.108 23537599.654
+ 3589.832 2797.272 49.000 40.000
+ -11220442.67143 -8723072.59042 22702640.545 22702644.966 22702639.101
+ -3287.916 -2562.012 49.000 43.000
+ -22949518.20443 -17814885.02042 20978206.108 20978208.278 20978204.558
+ 1085.185 845.599 56.000 49.000
+ -4653256.39043 -3460480.79442 24010830.889 24010835.520 24010831.556
+ -203.894 -158.878 47.000 40.000
+ -1612006.52743 -1246020.72742 24516636.835 24516643.136 24516635.246
+ 2791.342 2175.072 44.000 38.000
+ -28462928.27844 -22175673.75842 20001456.980 20001460.262 20001456.366
+ -172.550 -134.454 58.000 52.000
+ -18838833.55443 -14667296.72742 21710965.005 21710967.905 21710963.308
+ -2673.516 -2083.259 54.000 48.000
+ -21100070.73643 -16430272.31542 21122101.395 21122104.447 21122100.207
+ 669.210 521.462 55.000 49.000
+ -12775707.03943 -9921102.07142 22899194.560 22899198.350 22899192.508
+ -1731.050 -1348.870 50.000 44.000
+ 04 2 1 17 3 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -6771624.48843 -5217753.68142 23517112.044 23517114.537 23517111.502
+ 3588.278 2796.061 48.000 41.000
+ -11121773.83943 -8646187.77942 22721418.027 22721421.023 22721416.276
+ -3290.171 -2563.770 49.000 44.000
+ -22981867.17243 -17840092.00342 20972050.338 20972052.513 20972048.821
+ 1071.236 834.729 56.000 49.000
+ -4646916.13843 -3455540.37142 24012037.140 24012040.170 24012037.359
+ -218.574 -170.317 47.000 40.000
+ -1695618.57743 -1311172.87342 24500728.331 24500732.352 24500724.759
+ 2783.243 2168.761 47.000 38.000
+ -28457488.84344 -22171435.24042 20002492.272 20002495.301 20002491.765
+ -190.313 -148.296 58.000 52.000
+ -18758444.95243 -14604656.25742 21726262.509 21726265.305 21726260.911
+ -2685.870 -2092.886 54.000 48.000
+ -21120097.72643 -16445877.78142 21118290.489 21118294.274 21118289.652
+ 665.840 518.836 55.000 49.000
+ -12723545.73243 -9880456.89142 22909120.958 22909124.048 22909120.301
+ -1746.711 -1361.073 50.000 44.000
+ 04 2 1 17 4 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -6879251.53443 -5301618.87942 23496632.191 23496635.081 23496632.421
+ 3586.956 2795.031 49.000 40.000
+ -11023044.19243 -8569255.59142 22740205.822 22740209.280 22740203.375
+ -3291.897 -2565.114 49.000 43.000
+ -23013799.00843 -17864973.94742 20965974.007 20965975.709 20965972.568
+ 1057.725 824.201 56.000 49.000
+ -4640125.73143 -3450249.17042 24013330.283 24013332.715 24013329.420
+ -233.206 -181.719 46.000 40.000
+ -1778995.05943 -1376141.47842 24484861.368 24484866.554 24484859.708
+ 2775.153 2162.457 45.000 37.000
+ -28451513.34044 -22166778.99842 20003629.566 20003632.295 20003628.629
+ -207.954 -162.042 58.000 52.000
+ -18677687.33943 -14541728.25342 21741629.700 21741633.719 21741628.372
+ -2697.780 -2102.166 54.000 47.000
+ -21140020.28943 -16461401.86742 21114499.206 21114502.293 21114498.518
+ 662.523 516.252 55.000 49.000
+ -12670911.50143 -9839443.19842 22919136.346 22919140.847 22919135.003
+ -1762.056 -1373.031 50.000 44.000
+ 04 2 1 17 4 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -6986825.71243 -5385442.86242 23476161.331 23476162.204 23476158.476
+ 3585.657 2794.018 49.000 41.000
+ -10924253.77543 -8492276.05242 22759005.188 22759008.428 22759003.866
+ -3293.425 -2566.305 50.000 43.000
+ -23045312.01743 -17889529.53442 20959976.952 20959979.139 20959975.687
+ 1044.138 813.614 56.000 49.000
+ -4632884.68743 -3444606.81242 24014707.160 24014711.900 24014705.743
+ -247.750 -193.052 47.000 40.000
+ -1862132.90843 -1440924.10342 24469040.359 24469045.282 24469039.755
+ 2768.299 2157.116 47.000 37.000
+ -28444999.10444 -22161702.96642 20004868.993 20004871.800 20004868.394
+ -225.378 -175.619 58.000 52.000
+ -18596560.60843 -14478512.64042 21757067.750 21757071.286 21757065.947
+ -2709.496 -2111.295 53.000 47.000
+ -21159835.48543 -16476842.28942 21110728.816 21110731.925 21110728.023
+ 659.524 513.915 55.000 49.000
+ -12617803.82243 -9798060.58042 22929242.933 22929247.487 22929240.935
+ -1777.483 -1385.052 50.000 44.000
+ 04 2 1 17 5 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -7094344.20443 -5469223.45742 23455700.820 23455704.485 23455698.355
+ 3583.746 2792.529 48.000 41.000
+ -10825405.13943 -8415251.13642 22777815.262 22777819.189 22777813.242
+ -3294.939 -2567.485 50.000 43.000
+ -23076407.09543 -17913759.46842 20954059.501 20954062.085 20954058.405
+ 1030.372 802.887 56.000 49.000
+ -4625194.60543 -3438614.53842 24016171.274 24016176.241 24016170.033
+ -262.817 -204.792 47.000 40.000
+ -1945031.23243 -1505520.10042 24453265.697 24453270.783 24453264.437
+ 2760.427 2150.982 46.000 37.000
+ -28437945.74544 -22156206.83842 20006210.868 20006214.207 20006210.366
+ -243.240 -189.538 58.000 52.000
+ -18515066.49743 -14415010.74442 21772575.552 21772578.046 21772574.177
+ -2721.683 -2120.792 53.000 47.000
+ -21179542.74343 -16492198.59942 21106978.001 21106981.690 21106977.508
+ 656.082 511.233 55.000 49.000
+ -12564224.64043 -9756310.57242 22939438.672 22939442.135 22939436.775
+ -1792.878 -1397.048 50.000 44.000
+ 04 2 1 17 5 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -7201804.52943 -5552958.73042 23435251.738 23435253.551 23435249.190
+ 3582.353 2791.444 48.000 41.000
+ -10726501.09543 -8338183.05842 22796634.194 22796638.794 22796633.742
+ -3296.219 -2568.482 49.000 43.000
+ -23107084.88343 -17937664.23942 20948222.254 20948223.806 20948220.735
+ 1017.108 792.552 56.000 49.000
+ -4617057.31543 -3432273.84342 24017719.565 24017723.213 24017718.539
+ -276.710 -215.618 46.000 40.000
+ -2027689.18343 -1569928.75442 24437535.219 24437540.116 24437534.556
+ 2752.641 2144.915 46.000 37.000
+ -28430353.08344 -22150290.47842 20007655.786 20007658.748 20007655.142
+ -260.651 -203.105 58.000 52.000
+ -18433207.43043 -14351224.45342 21788152.713 21788155.225 21788151.290
+ -2733.277 -2129.826 53.000 47.000
+ -21199141.40043 -16507470.28142 21103249.023 21103252.144 21103248.361
+ 652.918 508.767 55.000 49.000
+ -12510175.55643 -9714194.39042 22949723.666 22949727.171 22949722.650
+ -1808.107 -1408.914 50.000 44.000
+ 04 2 1 17 6 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -7309203.02943 -5636645.80742 23414814.110 23414816.989 23414811.942
+ 3579.343 2789.098 48.000 41.000
+ -10627543.30943 -8261073.11342 22815466.219 22815469.882 22815465.507
+ -3298.823 -2570.511 49.000 43.000
+ -23137345.30243 -17961243.78242 20942463.580 20942465.428 20942462.360
+ 1002.245 780.970 56.000 49.000
+ -4608473.44743 -3425585.12542 24019352.413 24019357.115 24019352.945
+ -292.920 -228.249 46.000 40.000
+ -2110105.37543 -1634149.07542 24421851.811 24421857.638 24421850.872
+ 2743.024 2137.421 45.000 37.000
+ -28422220.03244 -22143953.03942 20009203.791 20009206.604 20009203.109
+ -279.586 -217.859 58.000 52.000
+ -18350984.87543 -14287154.95642 21803798.876 21803802.947 21803797.870
+ -2746.261 -2139.944 53.000 47.000
+ -21218630.15743 -16522656.32442 21099540.612 21099543.922 21099539.842
+ 648.205 505.095 56.000 49.000
+ -12455657.52143 -9671712.80342 22960099.059 22960102.559 22960096.671
+ -1824.508 -1421.694 51.000 44.000
+ 04 2 1 17 6 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -7416534.61543 -5720280.76542 23394388.728 23394391.838 23394389.800
+ 3576.239 2786.680 48.000 41.000
+ -10528531.73443 -8183921.21842 22834306.733 22834311.608 22834306.092
+ -3301.659 -2572.721 49.000 43.000
+ -23167186.44143 -17984496.60642 20936785.421 20936787.304 20936784.068
+ 987.285 769.313 56.000 49.000
+ -4599442.07443 -3418547.72142 24021071.109 24021075.640 24021069.928
+ -309.193 -240.930 45.000 40.000
+ -2192276.47743 -1698178.40442 24406215.973 24406220.107 24406215.426
+ 2734.684 2130.923 46.000 37.000
+ -28413543.81744 -22137192.35342 20010854.562 20010857.492 20010854.111
+ -298.750 -232.792 58.000 52.000
+ -18268398.20943 -14222801.72142 21819515.064 21819518.745 21819513.804
+ -2759.375 -2150.162 53.000 47.000
+ -21238005.77543 -16537754.21342 21095853.766 21095856.664 21095852.771
+ 643.606 501.511 56.000 49.000
+ -12400669.53643 -9628865.02542 22970562.504 22970565.817 22970560.621
+ -1841.314 -1434.790 51.000 44.000
+ 04 2 1 17 7 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -7523800.66743 -5803864.63942 23373977.053 23373981.324 23373975.835
+ 3573.631 2784.648 48.000 42.000
+ -10429473.50043 -8106732.97642 22853157.594 22853161.555 22853156.352
+ -3303.368 -2574.053 49.000 43.000
+ -23196613.93843 -18007427.09842 20931185.570 20931187.419 20931184.175
+ 973.474 758.551 56.000 49.000
+ -4589969.25543 -3411166.32542 24022875.486 24022878.540 24022873.959
+ -323.656 -252.199 46.000 40.000
+ -2274205.96943 -1762019.46842 24390625.955 24390632.559 24390624.746
+ 2726.441 2124.499 46.000 37.000
+ -28404328.65244 -22130011.70942 20012608.343 20012611.258 20012607.589
+ -316.708 -246.785 58.000 52.000
+ -18185454.20243 -14158170.02142 21835298.742 21835302.180 21835297.573
+ -2771.329 -2159.477 54.000 47.000
+ -21257272.14243 -16552766.96242 21092187.237 21092190.588 21092186.331
+ 639.835 498.573 56.000 49.000
+ -12345217.89543 -9585655.96042 22981115.489 22981117.838 22981114.340
+ -1856.765 -1446.830 51.000 44.000
+ 04 2 1 17 7 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -7630996.78543 -5887394.01842 23353578.615 23353582.126 23353577.769
+ 3571.735 2783.170 48.000 41.000
+ -10330369.23243 -8029508.88442 22872016.805 22872020.625 22872015.813
+ -3304.673 -2575.070 50.000 44.000
+ -23225626.39343 -18030034.16242 20925664.403 20925666.009 20925663.089
+ 959.576 747.722 56.000 49.000
+ -4580055.31843 -3403441.18842 24024762.488 24024764.909 24024759.201
+ -338.490 -263.758 46.000 39.000
+ -2355891.54643 -1825670.48042 24375080.681 24375084.732 24375078.754
+ 2718.273 2118.135 44.000 37.000
+ -28394572.73644 -22122409.70142 20014464.579 20014467.933 20014464.149
+ -334.798 -260.881 58.000 52.000
+ -18102153.36543 -14093260.28042 21851150.465 21851153.950 21851148.807
+ -2783.154 -2168.691 54.000 47.000
+ -21276426.95443 -16567692.78742 21088541.927 21088545.801 21088540.991
+ 636.138 495.692 56.000 49.000
+ -12289302.98143 -9542085.90042 22991754.431 22991758.833 22991753.125
+ -1872.059 -1458.747 50.000 44.000
+ 04 2 1 17 8 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -7738118.14443 -5970865.15342 23333193.700 23333197.201 23333193.377
+ 3569.461 2781.398 48.000 41.000
+ -10231219.72743 -7952249.52942 22890884.305 22890888.071 22890882.595
+ -3305.602 -2575.794 50.000 43.000
+ -23254223.34943 -18052317.46042 20920222.221 20920224.185 20920221.067
+ 946.406 737.459 56.000 49.000
+ -4569700.06943 -3395372.15142 24026731.440 24026738.231 24026731.822
+ -352.585 -274.741 45.000 39.000
+ -2437330.62843 -1889129.41742 24359582.986 24359589.159 24359581.253
+ 2710.522 2112.095 44.000 37.000
+ -28384274.07244 -22114384.77242 20016424.454 20016427.713 20016423.903
+ -352.317 -274.533 58.000 52.000
+ -18018496.01443 -14028072.74342 21867069.269 21867073.445 21867068.301
+ -2794.558 -2177.578 53.000 47.000
+ -21295467.63943 -16582529.67042 21084919.022 21084922.181 21084917.777
+ 632.827 493.112 56.000 49.000
+ -12232924.60043 -9498154.69242 23002483.355 23002486.918 23002482.331
+ -1887.019 -1470.404 50.000 44.000
+ 04 2 1 17 8 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -7845160.33443 -6054274.57542 23312824.728 23312828.138 23312823.280
+ 3566.437 2779.042 49.000 42.000
+ -10132025.42443 -7874955.27142 22909759.817 22909763.853 22909759.449
+ -3307.597 -2577.348 50.000 43.000
+ -23282403.19043 -18074275.73042 20914859.850 20914861.886 20914858.834
+ 931.934 726.182 56.000 49.000
+ -4558903.02043 -3386958.92342 24028785.161 24028790.097 24028783.137
+ -367.619 -286.456 44.000 39.000
+ -2518520.24943 -1952393.91742 24344131.115 24344140.631 24344131.858
+ 2702.295 2105.684 43.000 38.000
+ -28373430.42744 -22105935.18142 20018488.008 20018491.018 20018487.314
+ -371.024 -289.110 58.000 52.000
+ -17934482.38443 -13962607.58442 21883056.783 21883060.311 21883055.455
+ -2806.839 -2187.147 53.000 47.000
+ -21314391.59443 -16597275.59342 21081317.216 21081320.712 21081316.429
+ 628.471 489.718 55.000 49.000
+ -12176082.51643 -9453862.15742 23013299.845 23013303.201 23013298.300
+ -1902.822 -1482.718 50.000 44.000
+ 04 2 1 17 9 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -7952127.62743 -6137625.65642 23292469.620 23292473.234 23292468.787
+ 3564.545 2777.568 48.000 41.000
+ -10032796.27343 -7797633.86042 22928643.020 22928646.908 22928640.784
+ -3308.081 -2577.725 50.000 43.000
+ -23310174.05043 -18095915.31242 20909575.305 20909577.122 20909574.367
+ 919.011 716.112 56.000 49.000
+ -4547673.35743 -3378208.56042 24030923.060 24030926.422 24030921.772
+ -381.850 -297.545 44.000 39.000
+ -2599466.91543 -2015469.14742 24328729.649 24328735.816 24328727.302
+ 2694.338 2099.484 43.000 37.000
+ -28362048.90844 -22097066.47142 20020654.043 20020657.123 20020653.298
+ -388.241 -302.525 58.000 52.000
+ -17850121.87243 -13896872.14042 21899110.194 21899113.978 21899109.132
+ -2817.634 -2195.559 53.000 47.000
+ -21333205.43143 -16611935.72242 21077737.126 21077740.925 21077736.124
+ 625.443 487.358 55.000 49.000
+ -12118785.89943 -9409215.42742 23024202.676 23024207.054 23024201.663
+ -1917.309 -1494.007 50.000 44.000
+ 04 2 1 17 9 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -8059006.79143 -6220908.06542 23272129.933 23272134.698 23272128.739
+ 3562.437 2775.925 47.000 41.000
+ -9933524.24043 -7720279.00442 22947533.590 22947537.494 22947531.774
+ -3308.448 -2578.011 50.000 43.000
+ -23337526.55443 -18117228.90642 20904370.511 20904371.987 20904369.269
+ 905.967 705.948 56.000 49.000
+ -4536002.64043 -3369114.48642 24033143.885 24033148.171 24033143.356
+ -395.228 -307.970 45.000 39.000
+ -2680159.65943 -2078346.52242 24313374.036 24313379.153 24313371.067
+ 2687.180 2093.906 42.000 36.000
+ -28350119.01144 -22087770.44742 20022924.042 20022927.102 20022923.537
+ -405.648 -316.089 58.000 52.000
+ -17765406.19643 -13830859.93642 21915231.644 21915235.212 21915230.001
+ -2828.547 -2204.062 53.000 47.000
+ -21351898.08443 -16626501.40742 21074180.330 21074183.604 21074179.584
+ 622.262 484.879 56.000 49.000
+ -12061026.10943 -9364207.78642 23035194.727 23035197.732 23035193.230
+ -1931.748 -1505.258 50.000 44.000
+ 04 2 1 17 10 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -8165807.99543 -6304129.72542 23251807.574 23251811.125 23251805.741
+ 3558.150 2772.584 48.000 42.000
+ -9834224.41243 -7642902.52942 22966429.634 22966433.661 22966428.612
+ -3310.689 -2579.758 49.000 43.000
+ -23364474.14444 -18138226.98642 20899242.557 20899243.889 20899241.298
+ 891.001 694.286 57.000 49.000
+ -4523905.18143 -3359687.90642 24035447.357 24035449.826 24035445.041
+ -411.005 -320.264 46.000 39.000
+ -2760610.23243 -2141035.19642 24298065.147 24298069.280 24298061.901
+ 2676.902 2085.898 42.000 37.000
+ -28337653.37444 -22078056.96942 20025295.724 20025299.120 20025295.329
+ -424.918 -331.105 58.000 52.000
+ -17680350.06943 -13764582.44942 21931417.377 21931420.328 21931415.812
+ -2841.347 -2214.037 53.000 47.000
+ -21370481.65443 -16640982.10342 21070643.865 21070647.420 21070643.354
+ 617.063 480.828 56.000 49.000
+ -12002817.77643 -9318850.63642 23046270.662 23046274.375 23046270.310
+ -1948.140 -1518.031 50.000 44.000
+ 04 2 1 17 10 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -8272518.29743 -6387280.54942 23231500.220 23231504.954 23231498.643
+ 3556.556 2771.342 48.000 42.000
+ -9734889.24943 -7565498.50542 22985332.477 22985336.540 22985331.057
+ -3310.936 -2579.950 49.000 43.000
+ -23391007.78743 -18158902.51542 20894192.887 20894195.019 20894191.984
+ 878.439 684.498 56.000 50.000
+ -4511372.56043 -3349922.24942 24037831.017 24037834.512 24037830.883
+ -424.130 -330.491 46.000 39.000
+ -2840807.86043 -2203526.73942 24282803.774 24282807.194 24282803.273
+ 2669.638 2080.237 42.000 36.000
+ -28324641.87844 -22067918.15042 20027772.133 20027775.378 20027771.413
+ -441.999 -344.415 58.000 52.000
+ -17594946.13843 -13698033.94942 21947669.070 21947672.241 21947667.199
+ -2851.657 -2222.070 53.000 47.000
+ -21388945.22143 -16655369.28042 21067130.399 21067133.708 21067129.429
+ 614.324 478.694 56.000 49.000
+ -11944152.68943 -9273137.57142 23057435.822 23057438.721 23057433.605
+ -1962.144 -1528.943 51.000 44.000
+ 04 2 1 17 11 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -8379134.88243 -6470358.35742 23211211.855 23211215.963 23211211.028
+ 3552.632 2768.285 47.000 42.000
+ -9635521.42643 -7488069.02742 23004242.079 23004244.227 23004240.988
+ -3312.053 -2580.820 49.000 43.000
+ -23417128.46643 -18179256.25942 20889222.864 20889224.245 20889221.125
+ 864.547 673.673 56.000 49.000
+ -4498407.07843 -3339819.31242 24040297.712 24040302.697 24040298.754
+ -438.403 -341.613 47.000 39.000
+ -2920752.20243 -2265820.93942 24267589.923 24267593.853 24267588.259
+ 2661.417 2073.831 44.000 37.000
+ -28311084.68344 -22057354.09842 20030352.019 20030355.231 20030351.358
+ -460.332 -358.700 58.000 52.000
+ -17509196.89743 -13631216.36842 21963986.826 21963989.804 21963984.979
+ -2863.442 -2231.253 53.000 47.000
+ -21407288.21443 -16669662.50242 21063639.814 21063643.163 21063638.951
+ 610.066 475.376 56.000 49.000
+ -11885033.17343 -9227070.41542 23068684.053 23068688.560 23068683.879
+ -1977.603 -1540.989 50.000 44.000
+ 04 2 1 17 11 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -8485661.08643 -6553365.73642 23190939.432 23190945.234 23190937.896
+ 3549.292 2765.682 47.000 42.000
+ -9536129.40343 -7410620.70042 23023155.297 23023158.163 23023153.890
+ -3313.483 -2581.935 49.000 43.000
+ -23442843.21343 -18199293.70442 20884329.251 20884331.165 20884327.949
+ 850.349 662.610 56.000 50.000
+ -4485016.75843 -3329385.31142 24042846.930 24042850.853 24042846.278
+ -453.953 -353.730 46.000 39.000
+ -3000448.76943 -2327922.04342 24252424.529 24252431.103 24252423.487
+ 2651.839 2066.368 43.000 37.000
+ -28296987.99344 -22046369.66442 20033034.641 20033037.556 20033034.045
+ -478.905 -373.173 58.000 52.000
+ -17423110.37343 -13564135.97342 21980367.802 21980371.819 21980366.346
+ -2875.230 -2240.439 52.000 47.000
+ -21425516.20443 -16683866.10942 21060171.243 21060174.757 21060170.569
+ 605.630 471.919 56.000 49.000
+ -11825467.25143 -9180655.38442 23080020.033 23080023.547 23080017.970
+ -1992.960 -1552.956 50.000 44.000
+ 04 2 1 17 12 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -8592087.84743 -6636295.61942 23170687.224 23170691.760 23170687.509
+ 3545.936 2763.067 47.000 42.000
+ -9436709.54843 -7333150.69342 23042074.799 23042078.504 23042073.896
+ -3314.254 -2582.535 49.000 43.000
+ -23468146.91343 -18219010.85542 20879513.742 20879515.920 20879512.578
+ 836.734 652.001 56.000 50.000
+ -4471197.22743 -3318616.86042 24045475.230 24045479.789 24045475.050
+ -467.690 -364.434 45.000 39.000
+ -3079890.80143 -2389824.82942 24237308.470 24237313.894 24237306.330
+ 2644.107 2060.343 44.000 38.000
+ -28282345.71344 -22034960.09642 20035820.900 20035823.988 20035820.359
+ -497.042 -387.305 58.000 52.000
+ -17336683.09043 -13496790.06642 21996814.433 21996818.753 21996812.592
+ -2886.357 -2249.109 52.000 46.000
+ -21443622.60443 -16697974.97542 21056726.226 21056728.894 21056724.909
+ 601.608 468.785 56.000 49.000
+ -11765450.82643 -9133889.35242 23091439.776 23091443.941 23091439.441
+ -2007.877 -1564.579 49.000 44.000
+ 04 2 1 17 12 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -8698415.07743 -6719147.94742 23150454.085 23150458.557 23150453.543
+ 3542.409 2760.319 48.000 42.000
+ -9337266.85643 -7255662.91342 23060997.518 23061002.250 23060995.467
+ -3315.195 -2583.269 49.000 42.000
+ -23493042.93943 -18238410.32942 20874776.337 20874778.370 20874775.128
+ 822.966 641.272 56.000 50.000
+ -4456952.76843 -3307517.30142 24048188.898 24048190.659 24048186.583
+ -481.869 -375.482 47.000 39.000
+ -3159080.04143 -2451530.67142 24222238.293 24222243.071 24222237.154
+ 2635.187 2053.392 42.000 37.000
+ -28267160.37244 -22023127.36742 20038710.138 20038713.389 20038709.767
+ -515.277 -401.514 58.000 52.000
+ -17249919.51143 -13429182.08842 22013324.620 22013328.921 22013323.172
+ -2897.739 -2257.978 52.000 46.000
+ -21461609.09043 -16711990.40342 21053303.216 21053306.268 21053302.181
+ 597.499 465.584 56.000 49.000
+ -11704987.96143 -9086775.42542 23102945.909 23102949.890 23102944.534
+ -2022.898 -1576.284 50.000 43.000
+ 04 2 1 17 13 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -8804639.83843 -6801920.44842 23130240.745 23130244.578 23130239.574
+ 3538.333 2757.143 48.000 42.000
+ -9237803.66743 -7178159.10742 23079924.974 23079927.960 23079922.897
+ -3316.269 -2584.106 49.000 42.000
+ -23517532.37243 -18257492.97042 20870116.478 20870118.164 20870114.942
+ 808.902 630.313 56.000 50.000
+ -4442285.35643 -3296088.13342 24050977.576 24050980.999 24050976.470
+ -496.559 -386.929 46.000 39.000
+ -3238015.97943 -2513039.07442 24207216.280 24207223.760 24207215.428
+ 2626.387 2046.535 43.000 37.000
+ -28251432.04944 -22010871.54042 20041703.407 20041706.570 20041702.904
+ -533.911 -416.034 58.000 52.000
+ -17162822.51943 -13361314.30742 22029897.977 22029902.620 22029897.571
+ -2909.378 -2267.048 52.000 46.000
+ -21479474.95643 -16725911.84642 21049903.529 21049906.618 21049902.412
+ 592.807 461.928 56.000 49.000
+ -11644080.88443 -9039315.36242 23114537.561 23114540.025 23114535.495
+ -2038.099 -1588.129 50.000 44.000
+ 04 2 1 17 13 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -8910758.29843 -6884610.11542 23110047.160 23110049.751 23110045.495
+ 3535.035 2754.573 49.000 42.000
+ -9138321.42743 -7100640.47842 23098856.023 23098859.719 23098854.433
+ -3316.863 -2584.568 48.000 42.000
+ -23541615.37543 -18276258.92042 20865533.591 20865535.190 20865532.300
+ 795.573 619.927 56.000 50.000
+ -4427196.15843 -3284330.36042 24053848.159 24053854.621 24053848.669
+ -510.387 -397.704 45.000 39.000
+ -3316696.82643 -2574348.74742 24192244.978 24192250.563 24192242.873
+ 2617.897 2039.920 43.000 37.000
+ -28235159.91044 -21998191.96042 20044800.158 20044803.234 20044799.606
+ -551.872 -430.030 58.000 52.000
+ -17075392.93843 -13293187.35842 22046536.281 22046539.945 22046534.827
+ -2920.255 -2275.523 52.000 46.000
+ -21497218.57543 -16739738.02342 21046526.807 21046530.223 21046525.741
+ 588.950 458.922 56.000 49.000
+ -11582730.74343 -8991510.04542 23126211.644 23126215.725 23126209.674
+ -2052.700 -1599.506 50.000 44.000
+ 04 2 1 17 14 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -9016768.01143 -6967215.01342 23089875.147 23089876.529 23089874.090
+ 3531.432 2751.765 50.000 42.000
+ -9038822.96543 -7023109.21842 23117789.674 23117792.460 23117788.436
+ -3317.298 -2584.907 49.000 42.000
+ -23565293.17743 -18294709.12742 20861027.931 20861029.450 20861026.254
+ 782.091 609.422 56.000 50.000
+ -4411687.53943 -3272245.73742 24056800.454 24056805.005 24056799.480
+ -524.385 -408.612 46.000 39.000
+ -3395122.52343 -2635459.56842 24177318.430 24177326.797 24177318.590
+ 2609.987 2033.756 42.000 38.000
+ -28218344.42744 -21985088.99542 20047999.812 20048003.286 20047999.375
+ -570.036 -444.184 58.000 52.000
+ -16987633.72743 -13224803.55942 22063236.465 22063239.890 22063235.016
+ -2931.169 -2284.028 52.000 46.000
+ -21514839.58543 -16753468.66242 21043173.585 21043176.699 21043172.747
+ 584.823 455.706 56.000 49.000
+ -11520939.96343 -8943361.38942 23137969.302 23137973.610 23137967.682
+ -2067.280 -1610.867 49.000 43.000
+ 04 2 1 17 14 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -9122664.16643 -7049731.47042 23069723.098 23069726.805 23069721.924
+ 3528.486 2749.470 49.000 42.000
+ -8939308.33243 -6945565.35142 23136726.712 23136731.480 23136726.266
+ -3316.765 -2584.492 48.000 42.000
+ -23588564.33143 -18312842.46542 20856598.951 20856601.144 20856598.073
+ 769.495 599.606 56.000 50.000
+ -4395759.22943 -3259834.07642 24059830.509 24059835.488 24059829.816
+ -537.307 -418.681 45.000 39.000
+ -3473289.85043 -2696369.10642 24162447.272 24162451.223 24162445.353
+ 2601.589 2027.212 44.000 38.000
+ -28200983.53844 -21971561.04642 20051303.457 20051306.543 20051302.873
+ -587.309 -457.643 58.000 52.000
+ -16899545.00743 -13156163.01442 22079999.480 22080002.919 22079997.949
+ -2941.177 -2291.826 53.000 46.000
+ -21532334.91443 -16767101.36442 21039844.047 21039847.534 21039843.212
+ 581.526 453.137 56.000 49.000
+ -11458708.39143 -8894869.23442 23149812.183 23149815.415 23149810.333
+ -2081.098 -1621.635 50.000 43.000
+ 04 2 1 17 15 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -9228447.08043 -7132159.66942 23049592.814 23049596.652 23049592.068
+ 3523.726 2745.761 49.000 42.000
+ -8839783.05843 -6868013.19742 23155665.684 23155669.682 23155664.681
+ -3318.032 -2585.479 48.000 41.000
+ -23611433.29643 -18330662.41442 20852247.292 20852249.334 20852246.188
+ 755.171 588.445 56.000 50.000
+ -4379416.48843 -3247099.51042 24062940.732 24062945.966 24062941.090
+ -552.186 -430.275 45.000 39.000
+ -3551201.61343 -2757079.50142 24147620.189 24147625.600 24147618.713
+ 2592.007 2019.746 43.000 38.000
+ -28183080.54144 -21957610.67342 20054710.434 20054713.343 20054709.830
+ -606.140 -472.317 58.000 52.000
+ -16811132.51543 -13087270.17442 22096823.263 22096827.182 22096822.233
+ -2952.852 -2300.924 52.000 46.000
+ -21549706.93943 -16780637.98442 21036538.775 21036541.662 21036537.659
+ 576.608 449.305 56.000 49.000
+ -11396040.86743 -8846037.40142 23161736.340 23161740.128 23161735.445
+ -2096.532 -1633.661 49.000 43.000
+ 04 2 1 17 15 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -9334111.51143 -7214495.55942 23029486.266 23029488.638 23029483.951
+ 3520.549 2743.285 49.000 42.000
+ -8740247.13343 -6790452.73142 23174606.775 23174610.061 23174604.219
+ -3317.644 -2585.177 48.000 41.000
+ -23633898.89043 -18348168.05142 20847971.996 20847973.949 20847970.492
+ 742.408 578.500 56.000 50.000
+ -4362658.60643 -3234041.48242 24066129.409 24066134.421 24066129.331
+ -565.161 -440.385 45.000 38.000
+ -3628854.79443 -2817588.38042 24132842.618 24132848.009 24132841.693
+ 2584.467 2013.870 43.000 37.000
+ -28164633.32044 -21943236.23242 20058220.917 20058223.864 20058220.353
+ -623.694 -485.995 58.000 52.000
+ -16722395.80043 -13018124.69742 22113709.670 22113713.290 22113708.494
+ -2962.891 -2308.746 52.000 46.000
+ -21566952.49243 -16794076.06542 21033257.086 21033260.578 21033256.072
+ 573.137 446.600 56.000 50.000
+ -11332937.23743 -8796865.73742 23173745.564 23173749.708 23173743.315
+ -2110.327 -1644.411 50.000 43.000
+ 04 2 1 17 16 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -9439654.75543 -7296736.99742 23009402.118 23009404.384 23009399.567
+ 3516.083 2739.805 49.000 42.000
+ -8640703.24943 -6712886.07342 23193549.713 23193553.225 23193547.956
+ -3318.362 -2585.737 48.000 42.000
+ -23655962.27143 -18365360.27442 20843773.854 20843775.982 20843772.560
+ 728.747 567.855 56.000 50.000
+ -4345488.14443 -3220661.89542 24069397.289 24069401.490 24069398.155
+ -579.208 -451.331 46.000 38.000
+ -3706249.27143 -2877895.65642 24118116.396 24118118.809 24118113.126
+ 2576.059 2007.319 43.000 37.000
+ -28145642.37544 -21928438.10342 20061834.985 20061837.774 20061834.330
+ -642.113 -500.348 58.000 52.000
+ -16633337.85843 -12948728.91142 22130656.411 22130660.122 22130655.061
+ -2974.103 -2317.483 52.000 46.000
+ -21584071.50843 -16807415.53842 21029999.405 21030002.607 21029998.449
+ 568.424 442.928 56.000 50.000
+ -11269399.89243 -8747356.11442 23185835.630 23185839.262 23185833.747
+ -2125.103 -1655.924 49.000 43.000
+ 04 2 1 17 16 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -9545072.70143 -7378880.82042 22989340.771 22989344.101 22989339.942
+ 3512.155 2736.744 49.000 42.000
+ -8541152.69643 -6635314.23542 23212493.151 23212496.786 23212491.971
+ -3318.094 -2585.528 48.000 41.000
+ -23677623.34943 -18382239.01542 20839651.551 20839653.959 20839650.425
+ 715.587 557.600 56.000 50.000
+ -4327906.15343 -3206961.63942 24072744.122 24072748.299 24072742.536
+ -592.452 -461.651 46.000 39.000
+ -3783383.35643 -2938000.05942 24103438.153 24103441.201 24103437.168
+ 2567.046 2000.296 43.000 37.000
+ -28126106.91544 -21913215.67942 20065552.062 20065555.331 20065551.647
+ -660.010 -514.293 58.000 52.000
+ -16543959.66643 -12879083.58342 22147664.862 22147668.542 22147663.602
+ -2984.381 -2325.492 52.000 46.000
+ -21601062.01043 -16820654.88042 21026765.928 21026769.199 21026765.215
+ 564.478 439.853 56.000 50.000
+ -11205429.68843 -8697509.20542 23198008.474 23198013.523 23198007.863
+ -2139.374 -1667.045 49.000 43.000
+ 04 2 1 17 17 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -9650368.00543 -7460929.06242 22969304.998 22969307.104 22969303.800
+ 3507.846 2733.386 50.000 43.000
+ -8441602.57443 -6557742.72442 23231435.581 23231440.804 23231435.792
+ -3318.416 -2585.779 47.000 41.000
+ -23698888.41743 -18398809.17342 20835605.221 20835606.970 20835603.987
+ 702.181 547.154 56.000 50.000
+ -4309919.48443 -3192946.07242 24076166.363 24076170.553 24076164.868
+ -606.638 -472.705 46.000 39.000
+ -3860261.65143 -2997905.17342 24088809.907 24088812.237 24088807.847
+ 2558.760 1993.839 43.000 37.000
+ -28106032.22644 -21897573.07442 20069372.257 20069375.484 20069371.712
+ -678.292 -528.539 58.000 52.000
+ -16454268.77043 -12809194.58142 22164733.475 22164735.669 22164731.619
+ -2994.954 -2333.730 52.000 46.000
+ -21617928.10143 -16833797.27442 21023556.051 21023559.750 21023554.960
+ 560.067 436.416 56.000 50.000
+ -11141034.02743 -8647330.75842 23210263.365 23210265.743 23210261.861
+ -2153.536 -1678.080 49.000 43.000
+ 04 2 1 17 17 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -9755528.85343 -7542872.54542 22949293.473 22949295.086 22949291.053
+ 3503.510 2730.008 49.000 42.000
+ -8342046.47343 -6480166.54042 23250381.082 23250384.439 23250380.124
+ -3318.235 -2585.638 48.000 41.000
+ -23719749.49843 -18415064.53842 20831634.869 20831637.319 20831633.754
+ 689.087 536.951 56.000 50.000
+ -4291521.46543 -3178609.98442 24079666.917 24079670.893 24079665.766
+ -619.558 -482.772 46.000 39.000
+ -3936874.80643 -3057603.66942 24074227.023 24074234.193 24074225.587
+ 2550.081 1987.076 43.000 37.000
+ -28085409.87044 -21881503.72042 20073296.651 20073299.732 20073295.872
+ -696.169 -542.469 58.000 52.000
+ -16364259.04643 -12739057.13842 22181860.845 22181864.268 22181859.521
+ -3005.169 -2341.690 51.000 46.000
+ -21634660.52443 -16846835.52542 21020372.146 21020375.704 21020371.694
+ 555.840 433.122 56.000 50.000
+ -11076206.35743 -8596815.69242 23222599.708 23222602.793 23222598.106
+ -2167.837 -1689.224 49.000 43.000
+ 04 2 1 17 18 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -9860558.32543 -7624713.65142 22929307.155 22929307.156 22929305.582
+ 3498.731 2726.284 50.000 42.000
+ -8242492.70543 -6402592.18442 23269326.253 23269330.029 23269324.336
+ -3318.498 -2585.842 48.000 41.000
+ -23740214.06044 -18431010.91042 20827741.733 20827742.956 20827740.099
+ 675.532 526.389 57.000 50.000
+ -4272720.37543 -3163959.80642 24083245.156 24083248.100 24083244.623
+ -633.321 -493.497 47.000 40.000
+ -4013228.20543 -3117099.76242 24059699.352 24059702.950 24059696.907
+ 2540.903 1979.924 42.000 38.000
+ -28064245.91644 -21865012.33542 20077324.004 20077326.968 20077323.293
+ -714.474 -556.733 58.000 52.000
+ -16273938.58743 -12668677.57442 22199048.395 22199051.664 22199046.943
+ -3015.855 -2350.017 51.000 46.000
+ -21651264.30143 -16859773.51342 21017212.989 21017215.897 21017211.911
+ 551.290 429.577 56.000 50.000
+ -11010954.55243 -8545970.12442 23235016.807 23235020.704 23235014.774
+ -2182.058 -1700.305 49.000 43.000
+ 04 2 1 17 18 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -9965452.45743 -7706449.29542 22909346.759 22909347.462 22909344.947
+ 3494.329 2722.854 50.000 42.000
+ -8142942.28343 -6325020.44342 23288269.675 23288274.990 23288268.330
+ -3317.839 -2585.329 48.000 41.000
+ -23760281.99043 -18446648.24542 20823922.571 20823924.282 20823921.190
+ 662.628 516.333 56.000 50.000
+ -4253516.78343 -3148995.99442 24086899.432 24086903.790 24086898.088
+ -646.811 -504.008 46.000 40.000
+ -4089320.16743 -3176392.11342 24045219.161 24045224.136 24045216.727
+ 2532.575 1973.435 43.000 38.000
+ -28042539.52644 -21848098.27942 20081454.845 20081457.743 20081454.124
+ -732.327 -570.644 58.000 52.000
+ -16183308.44643 -12598056.71742 22216293.826 22216298.471 22216293.395
+ -3026.019 -2357.937 51.000 46.000
+ -21667737.32043 -16872609.62542 21014078.259 21014081.443 21014077.135
+ 547.169 426.365 56.000 50.000
+ -10945279.40143 -8494794.68042 23247514.732 23247516.723 23247512.369
+ -2195.951 -1711.131 49.000 43.000
+ 04 2 1 17 19 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -10070205.22043 -7788074.79642 22889412.093 22889413.697 22889411.051
+ 3489.576 2719.150 49.000 43.000
+ -8043394.34443 -6247450.61542 23307214.020 23307216.560 23307211.057
+ -3318.136 -2585.560 49.000 41.000
+ -23779951.44544 -18461975.08242 20820179.739 20820181.049 20820177.997
+ 649.290 505.940 57.000 50.000
+ -4233909.60243 -3133717.68042 24090630.605 24090633.971 24090629.140
+ -660.113 -514.374 46.000 39.000
+ -4165147.01543 -3235477.87842 24030789.721 24030794.002 24030787.290
+ 2523.185 1966.118 42.000 38.000
+ -28020288.10644 -21830759.51842 20085688.857 20085692.041 20085688.249
+ -750.687 -584.951 58.000 52.000
+ -16092368.18343 -12527194.19642 22233599.714 22233603.806 22233598.740
+ -3036.382 -2366.012 51.000 46.000
+ -21684075.86643 -16885340.94842 21010969.093 21010972.178 21010967.807
+ 542.457 422.694 56.000 50.000
+ -10879180.26543 -8443288.85542 23260091.643 23260095.721 23260089.456
+ -2210.317 -1722.325 48.000 42.000
+ 04 2 1 17 19 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -10174816.98143 -7869590.41042 22869505.234 22869508.290 22869504.243
+ 3483.945 2714.762 50.000 43.000
+ -7943854.00843 -6169886.75942 23326155.441 23326158.267 23326154.147
+ -3318.524 -2585.863 48.000 41.000
+ -23799225.91943 -18476994.11642 20816511.493 20816513.630 20816510.189
+ 635.386 495.106 56.000 50.000
+ -4213903.82243 -3118128.78042 24094438.443 24094442.347 24094437.453
+ -673.819 -525.054 46.000 39.000
+ -4240710.95043 -3294358.83742 24016411.831 24016416.273 24016410.104
+ 2513.734 1958.754 45.000 39.000
+ -27997494.77244 -21812998.48242 20090026.256 20090029.304 20090025.663
+ -769.377 -599.514 58.000 52.000
+ -16001123.09443 -12456094.14742 22250962.874 22250966.902 22250961.870
+ -3047.217 -2374.455 51.000 46.000
+ -21700281.77243 -16897968.91542 21007885.480 21007887.888 21007884.368
+ 537.406 418.758 56.000 49.000
+ -10812662.03843 -8391456.47842 23272749.968 23272752.849 23272749.077
+ -2224.769 -1733.586 49.000 42.000
+ 04 2 1 17 20 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -10279283.71543 -7950993.03342 22849624.898 22849628.266 22849625.593
+ 3479.696 2711.451 50.000 43.000
+ -7844322.90943 -6092330.05342 23345095.411 23345099.147 23345094.264
+ -3317.344 -2584.943 48.000 41.000
+ -23818106.04843 -18491705.85842 20812918.846 20812920.049 20812917.370
+ 622.868 485.352 56.000 50.000
+ -4193501.30243 -3102230.74842 24098319.350 24098321.750 24098318.945
+ -686.591 -535.006 45.000 39.000
+ -4316011.09743 -3353034.22042 24002081.585 24002084.985 24002079.744
+ 2505.637 1952.444 44.000 38.000
+ -27974159.46644 -21794815.13542 20094467.114 20094470.108 20094466.535
+ -786.814 -613.102 58.000 52.000
+ -15909575.17543 -12384758.11642 22268384.048 22268387.355 22268382.571
+ -3056.462 -2381.659 51.000 45.000
+ -21716353.87843 -16910492.62442 21004826.971 21004829.377 21004825.731
+ 533.509 415.721 56.000 49.000
+ -10745726.33343 -8339298.76642 23285486.153 23285490.422 23285486.918
+ -2238.005 -1743.900 49.000 42.000
+ 04 2 1 17 20 30.0000000 0 10G18G17G21G25G15G30G29G 5G 6G10
+ -10383602.44343 -8032280.32142 22829774.252 22829777.272 22829772.525
+ 3474.918 2707.728 50.000 43.000
+ -7744803.47443 -6014782.43542 23364033.131 23364037.208 23364032.254
+ -3317.173 -2584.810 49.000 42.000
+ -23836593.36043 -18506111.52542 20809400.850 20809402.425 20809399.487
+ 609.799 475.168 56.000 50.000
+ -4172704.45543 -3086025.42242 24102278.738 24102280.947 24102276.942
+ -699.653 -545.184 46.000 39.000
+ -4391047.16743 -3411503.81942 23987800.635 23987805.953 23987800.151
+ 2496.663 1945.452 43.000 38.000
+ -27950282.72544 -21776209.89342 20099010.702 20099013.550 20099010.034
+ -804.833 -627.142 58.000 52.000
+ -762295.71753 -561558.58352 25262038.488 25262044.835 25262036.409
+ 1648.497 1284.543 39.000 35.000
+ -15817726.80543 -12313187.96342 22285862.360 22285865.491 22285861.074
+ -3066.554 -2389.522 51.000 45.000
+ -21732291.30243 -16922911.38742 21001793.754 21001796.912 21001792.784
+ 529.083 412.272 56.000 49.000
+ -10678375.42143 -8286817.51942 23298303.902 23298307.342 23298302.170
+ -2251.825 -1754.669 49.000 42.000
+ 04 2 1 17 21 0.0000000 0 10G18G17G21G25G15G30G29G 5G 6G10
+ -10487770.19743 -8113449.97042 22809952.135 22809955.440 22809950.938
+ 3469.279 2703.334 50.000 43.000
+ -7645297.24243 -5937245.11242 23382968.304 23382974.045 23382967.329
+ -3317.338 -2584.939 48.000 42.000
+ -23854688.49544 -18520211.60742 20805957.120 20805959.157 20805955.957
+ 596.084 464.481 57.000 50.000
+ -4151514.70543 -3069513.92742 24106309.748 24106313.279 24106308.935
+ -713.303 -555.820 45.000 39.000
+ -4465817.96843 -3469766.74142 23973573.203 23973577.539 23973570.885
+ 2487.666 1938.441 44.000 39.000
+ -27925864.45744 -21757182.68942 20103657.264 20103660.186 20103656.450
+ -823.549 -641.726 58.000 52.000
+ -811706.04443 -600060.20842 25252634.487 25252640.160 25252636.828
+ 1644.376 1281.332 40.000 35.000
+ -15725579.99243 -12241385.27142 22303397.262 22303401.260 22303396.139
+ -3076.997 -2397.660 52.000 45.000
+ -21748092.73543 -16935224.18542 20998786.646 20998789.677 20998785.864
+ 523.925 408.253 56.000 49.000
+ -10610611.03243 -8234014.10442 23311199.469 23311202.160 23311197.779
+ -2266.088 -1765.783 49.000 42.000
+ 04 2 1 17 21 30.0000000 0 10G18G17G21G25G15G30G29G 5G 6G10
+ -10591781.90143 -8194498.01442 22790158.851 22790161.114 22790158.387
+ 3464.709 2699.773 50.000 43.000
+ -7545803.95543 -5859717.88142 23401900.993 23401906.504 23401899.661
+ -3315.875 -2583.799 47.000 41.000
+ -23872390.41944 -18534005.30942 20802589.358 20802590.402 20802587.683
+ 583.743 454.865 57.000 50.000
+ -4129932.02143 -3052696.26242 24110416.735 24110420.059 24110415.584
+ -725.478 -565.307 44.000 39.000
+ -4540320.69243 -3527820.77842 23959395.989 23959401.111 23959393.230
+ 2479.132 1931.791 44.000 39.000
+ -27900902.70344 -21737731.98542 20108407.390 20108410.269 20108406.649
+ -840.887 -655.237 58.000 52.000
+ -861004.64543 -638474.60942 25243255.486 25243258.478 25243254.306
+ 1641.884 1279.390 44.000 34.000
+ -15633134.51643 -12169349.83142 22320989.499 22320992.347 22320987.979
+ -3086.233 -2404.857 52.000 45.000
+ -21763754.94243 -16947428.49742 20995806.703 20995809.368 20995805.649
+ 520.002 405.196 56.000 49.000
+ -10542432.99143 -8180888.37442 23324173.011 23324176.123 23324170.787
+ -2279.179 -1775.984 49.000 42.000
+ 04 2 1 17 22 0.0000000 0 10G18G17G21G25G15G30G29G 5G 6G10
+ -10695637.12743 -8275424.12942 22770395.370 22770398.511 22770394.369
+ 3458.706 2695.096 50.000 43.000
+ -7446328.64043 -5782204.64442 23420831.127 23420834.831 23420829.913
+ -3315.932 -2583.843 48.000 41.000
+ -23889702.72444 -18547495.41842 20799294.341 20799296.033 20799292.796
+ 570.102 444.235 57.000 50.000
+ -4107961.34443 -3035576.26342 24114598.794 24114601.395 24114597.769
+ -739.179 -575.984 45.000 39.000
+ -4614557.65843 -3585667.69142 23945268.067 23945273.972 23945266.665
+ 2469.263 1924.101 44.000 39.000
+ -27875400.72144 -21717860.31742 20113260.588 20113262.961 20113259.738
+ -859.532 -669.765 58.000 52.000
+ -910191.37843 -676801.92242 25233894.520 25233899.358 25233893.487
+ 1637.346 1275.854 41.000 33.000
+ -15540396.12943 -12097086.15342 22338636.892 22338640.668 22338635.821
+ -3096.606 -2412.940 52.000 45.000
+ -21779279.87543 -16959525.83842 20992852.165 20992855.104 20992851.210
+ 514.810 401.151 56.000 49.000
+ -10473846.30943 -8127444.18742 23337225.559 23337227.644 23337223.189
+ -2293.444 -1787.099 49.000 42.000
+ 04 2 1 17 22 30.0000000 0 10G18G17G21G25G15G30G29G 5G 6G10
+ -10799332.69243 -8356225.82942 22750662.638 22750666.393 22750661.957
+ 3453.608 2691.123 50.000 43.000
+ -7346872.92643 -5704706.70142 23439758.080 23439760.828 23439756.578
+ -3315.011 -2583.125 49.000 41.000
+ -23906626.26144 -18560682.57542 20796074.057 20796075.575 20796072.873
+ 557.518 434.430 57.000 50.000
+ -4085604.29343 -3018155.18842 24118853.380 24118856.384 24118851.606
+ -751.777 -585.800 45.000 39.000
+ -4688527.95143 -3643306.82242 23931193.389 23931198.618 23931192.968
+ 2461.300 1917.896 44.000 39.000
+ -27849358.54544 -21697567.72142 20118215.632 20118218.703 20118215.282
+ -877.163 -683.504 58.000 52.000
+ -959263.04253 -715039.61052 25224555.485 25224564.634 25224553.334
+ 1633.854 1273.133 41.000 34.000
+ -15447366.55443 -12024595.57442 22356339.963 22356343.018 22356338.564
+ -3105.940 -2420.213 52.000 45.000
+ -21794666.09943 -16971515.10642 20989924.520 20989927.242 20989923.117
+ 510.414 397.725 56.000 49.000
+ -10404852.72543 -8073682.94342 23350354.123 23350358.764 23350352.588
+ -2306.624 -1797.369 49.000 42.000
+ 04 2 1 17 23 0.0000000 0 10G18G17G21G25G15G30G29G 5G 6G10
+ -10902867.00843 -8436901.88942 22730961.106 22730963.436 22730959.718
+ 3448.306 2686.992 50.000 43.000
+ -7247440.31843 -5627226.77342 23458679.146 23458682.468 23458677.752
+ -3314.230 -2582.517 49.000 41.000
+ -23923163.94943 -18573569.07542 20792926.385 20792928.325 20792925.309
+ 544.726 424.462 56.000 50.000
+ -4062864.81243 -3000436.13542 24123178.335 24123182.895 24123177.385
+ -764.310 -595.566 44.000 39.000
+ -4762232.58043 -3700738.93442 23917167.602 23917172.283 23917165.893
+ 2452.468 1911.014 45.000 39.000
+ -27822778.26244 -21676855.81542 20123274.151 20123276.824 20123273.381
+ -895.181 -697.544 58.000 52.000
+ -1008218.65743 -753186.72742 25215239.232 25215244.124 25215238.446
+ 1630.004 1270.133 40.000 34.000
+ -15354049.79943 -11951881.21742 22374096.856 22374101.005 22374096.448
+ -3115.351 -2427.546 51.000 45.000
+ -21809914.35743 -16983396.86342 20987022.330 20987026.034 20987021.667
+ 505.783 394.117 56.000 49.000
+ -10335455.92543 -8019607.51542 23363559.871 23363563.493 23363557.744
+ -2320.282 -1808.012 50.000 43.000
+ 04 2 1 17 23 30.0000000 0 10G18G17G21G25G15G30G29G 5G 6G10
+ -11006231.86043 -8517445.89842 22711291.134 22711294.647 22711290.055
+ 3442.780 2682.686 50.000 43.000
+ -7148027.83343 -5549762.49442 23477596.725 23477600.413 23477595.561
+ -3313.198 -2581.713 48.000 42.000
+ -23939311.48144 -18586151.56342 20789854.103 20789855.725 20789852.936
+ 532.006 414.550 57.000 50.000
+ -4039739.44043 -2982416.39042 24127578.671 24127583.858 24127577.806
+ -776.979 -605.438 43.000 39.000
+ -4835665.86643 -3757959.64042 23903194.401 23903197.527 23903192.505
+ 2443.592 1904.098 46.000 39.000
+ -27795655.11544 -21655720.90342 20128435.318 20128438.293 20128434.578
+ -912.865 -711.323 58.000 52.000
+ -1057049.95943 -791236.99142 25205948.773 25205953.823 25205948.235
+ 1625.780 1266.842 41.000 34.000
+ -15260442.77243 -11878940.68642 22391910.888 22391914.028 22391909.065
+ -3124.651 -2434.793 51.000 45.000
+ -21825018.50843 -16995166.33642 20984148.542 20984151.242 20984147.177
+ 501.339 390.654 56.000 49.000
+ -10265652.79943 -7965215.46942 23376842.015 23376844.504 23376841.342
+ -2333.201 -1818.079 49.000 42.000
+ 04 2 1 17 24 0.0000000 0 10G18G17G21G25G15G30G29G 5G 6G10
+ -11109426.75243 -8597857.46242 22691653.944 22691656.453 22691651.597
+ 3437.195 2678.334 50.000 43.000
+ -7048639.68943 -5472317.19442 23496509.729 23496513.400 23496508.584
+ -3312.412 -2581.100 48.000 42.000
+ -23955072.61344 -18598432.95642 20786854.931 20786856.667 20786853.564
+ 519.102 404.495 57.000 50.000
+ -4016232.81243 -2964099.54742 24132052.661 24132057.526 24132051.682
+ -789.701 -615.351 44.000 39.000
+ -4908829.75243 -3814970.43842 23889272.244 23889275.102 23889270.606
+ 2434.481 1896.998 46.000 39.000
+ -27767991.78744 -21634165.07342 20133699.238 20133702.818 20133698.595
+ -931.000 -725.454 58.000 52.000
+ -1105756.40253 -829190.06052 25196678.309 25196688.782 25196679.210
+ 1621.617 1263.598 37.000 32.000
+ -15166550.39643 -11805777.80042 22409776.802 22409781.403 22409775.709
+ -3134.271 -2442.289 50.000 45.000
+ -21839979.99843 -17006824.63042 20981301.306 20981304.669 20981300.651
+ 496.504 386.886 56.000 50.000
+ -10195447.90343 -7910510.35342 23390201.555 23390205.224 23390199.625
+ -2346.572 -1828.498 48.000 42.000
+ 04 2 1 17 24 30.0000000 0 10G18G17G21G25G15G30G29G 5G 6G10
+ -11212450.34943 -8678135.56242 22672048.986 22672050.346 22672047.634
+ 3431.432 2673.843 50.000 43.000
+ -6949279.13443 -5394893.39542 23515416.909 23515421.334 23515416.171
+ -3311.559 -2580.435 47.000 41.000
+ -23970449.94443 -18610415.28242 20783928.494 20783930.189 20783927.452
+ 506.203 394.444 56.000 50.000
+ -3992348.40843 -2945488.32742 24136598.905 24136601.981 24136596.712
+ -801.969 -624.911 45.000 39.000
+ -4981725.08243 -3871771.92542 23875400.232 23875403.669 23875399.448
+ 2425.632 1890.103 47.000 39.000
+ -27739790.19444 -21612189.81442 20139065.983 20139069.220 20139065.249
+ -948.935 -739.430 58.000 52.000
+ -867044.74552 25187436.035 25187442.570
+ 1616.989 1259.991 38.000 32.000
+ -15072376.06543 -11732395.23442 22427697.836 22427701.504 22427696.599
+ -3143.656 -2449.602 50.000 44.000
+ -21854798.92043 -17018371.83742 20978481.209 20978484.667 20978480.446
+ 491.750 383.182 56.000 50.000
+ -10124844.53943 -7855494.74142 23403637.521 23403640.520 23403635.334
+ -2359.895 -1838.879 49.000 42.000
+ 04 2 1 17 25 0.0000000 0 10G18G17G21G25G15G30G29G 5G 6G10
+ -11315300.10043 -8758278.18642 22652477.395 22652479.895 22652476.818
+ 3425.509 2669.228 50.000 43.000
+ -6849948.96443 -5317493.26342 23534317.831 23534321.280 23534316.791
+ -3310.411 -2579.541 46.000 41.000
+ -23985444.81144 -18622099.57442 20781075.250 20781076.765 20781073.933
+ 493.713 384.711 57.000 50.000
+ -3968089.37243 -2926585.16542 24141214.483 24141219.855 24141213.066
+ -814.788 -634.900 45.000 39.000
+ -5054352.06543 -3928364.31642 23861580.240 23861582.934 23861577.553
+ 2416.568 1883.040 47.000 39.000
+ -27711051.72344 -21589796.21042 20144534.516 20144537.729 20144533.948
+ -966.950 -753.467 58.000 51.000
+ -1202788.60453 -904799.44652 25178216.428 25178224.794 25178214.276
+ 1613.260 1257.086 39.000 32.000
+ -14977923.36943 -11658795.74542 22445671.606 22445675.587 22445670.308
+ -3153.022 -2456.900 50.000 44.000
+ -21869475.27043 -17029807.94942 20975688.700 20975691.461 20975687.616
+ 486.507 379.096 56.000 50.000
+ -10053845.92843 -7800171.14442 23417148.504 23417151.267 23417146.794
+ -2373.342 -1849.357 49.000 42.000
+ 04 2 1 17 25 30.0000000 0 10G18G17G21G25G15G30G29G 5G 6G10
+ -11417969.56343 -8838280.33442 22632940.366 22632942.506 22632940.055
+ 3419.162 2664.282 51.000 43.000
+ -6750647.94243 -5240115.85642 23553214.455 23553218.514 23553213.467
+ -3309.450 -2578.792 46.000 41.000
+ -24000055.49844 -18633484.49042 20778294.525 20778296.456 20778293.201
+ 480.777 374.631 57.000 50.000
+ -3943454.23643 -2907388.98242 24145901.691 24145906.259 24145901.450
+ -827.848 -645.076 44.000 39.000
+ -5126706.90443 -3984744.68142 23847810.696 23847813.080 23847807.975
+ 2407.259 1875.786 46.000 39.000
+ -27681773.50144 -21566982.01842 20150106.169 20150109.545 20150105.702
+ -984.996 -767.529 58.000 52.000
+ -1251105.85053 -942449.24052 25169020.546 25169021.205 25169018.290
+ 1608.021 1253.003 39.000 33.000
+ -14883191.34143 -11584978.58442 22463698.728 22463702.251 22463697.156
+ -3162.555 -2464.328 51.000 45.000
+ -21884004.65643 -17041129.55542 20972924.114 20972927.034 20972922.550
+ 481.684 375.338 56.000 50.000
+ -9982450.90343 -7744538.64942 23430734.057 23430737.210 23430733.141
+ -2386.434 -1859.559 49.000 42.000
+ 04 2 1 17 26 0.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -11520456.35543 -8918140.14142 22613437.390 22613440.470 22613436.384
+ 3413.385 2659.781 50.000 44.000
+ -6651378.51743 -5162763.07542 23572105.312 23572109.405 23572102.753
+ -3308.230 -2577.841 46.000 41.000
+ -24014283.76044 -18644571.42642 20775587.156 20775589.186 20775585.783
+ 468.055 364.718 57.000 50.000
+ -3918446.24443 -2887902.27442 24150659.435 24150664.787 24150658.724
+ -839.869 -654.443 44.000 39.000
+ -5198789.68543 -4040913.06342 23834093.875 23834098.720 23834092.304
+ 2398.465 1868.934 47.000 39.000
+ -27651956.60744 -21543748.08842 20155780.316 20155783.378 20155779.649
+ -1002.727 -781.346 58.000 52.000
+ -14788183.05643 -11510946.15442 22481778.779 22481781.491 22481776.960
+ -3171.347 -2471.179 51.000 45.000
+ -21898386.80243 -17052336.41542 20970186.984 20970190.061 20970185.979
+ 477.199 371.843 56.000 50.000
+ -9910662.43643 -7688599.59242 23444394.658 23444396.455 23444393.341
+ -2399.256 -1869.550 48.000 42.000
+ 04 2 1 17 26 30.0000000 0 9G18G17G21G25G15G30G 5G 6G10
+ -11622757.57343 -8997855.35542 22593970.303 22593972.670 22593968.969
+ 3406.819 2654.664 51.000 43.000
+ -6552143.09043 -5085436.74242 23590987.353 23590994.246 23590987.714
+ -3307.394 -2577.190 46.000 40.000
+ -24028130.94743 -18655361.42242 20772952.084 20772953.703 20772950.769
+ 455.114 354.634 56.000 50.000
+ -3893067.72143 -2868126.81142 24155490.753 24155494.965 24155489.836
+ -852.433 -664.233 45.000 39.000
+ -5270600.56843 -4096869.55742 23820428.488 23820432.488 23820425.699
+ 2389.170 1861.691 46.000 40.000
+ -27621602.25744 -21520095.35742 20161556.596 20161559.514 20161555.810
+ -1020.863 -795.478 58.000 51.000
+ -14692901.15443 -11436700.53742 22499909.531 22499913.986 22499907.948
+ -3180.576 -2478.371 51.000 45.000
+ -21912621.00543 -17063427.99942 20967478.529 20967481.393 20967477.160
+ 472.061 367.840 56.000 50.000
+ -9838482.98543 -7632355.86142 23458129.146 23458131.732 23458128.047
+ -2412.510 -1879.878 48.000 41.000
+ 04 2 1 17 27 0.0000000 0 10G18G17G21G25G15G30G29G 5G 6G10
+ -11724872.98143 -9077425.79142 22574538.984 22574540.269 22574537.393
+ 3400.168 2649.482 51.000 43.000
+ -6452945.94143 -5008140.27542 23609865.720 23609869.658 23609863.172
+ -3306.522 -2576.511 46.000 40.000
+ -24041601.11643 -18665857.63642 20770388.952 20770390.535 20770387.415
+ 442.077 344.476 56.000 50.000
+ -3867323.69243 -2848066.52542 24160390.101 24160394.399 24160388.567
+ -864.976 -674.007 46.000 40.000
+ -5342141.43043 -4152615.62842 23806814.281 23806819.231 23806812.747
+ 2379.556 1854.199 46.000 40.000
+ -27590713.39644 -21496026.12142 20167434.627 20167437.475 20167433.603
+ -1039.252 -809.807 58.000 51.000
+ -579230.89853 -441939.39252 25141595.421 25141597.790 25141593.650
+ 1593.625 1241.786 43.000 35.000
+ -14597350.55343 -11362245.53842 22518092.279 22518095.815 22518090.820
+ -3190.209 -2485.877 51.000 45.000
+ -21926708.65843 -17074405.38542 20964797.844 20964800.498 20964796.530
+ 466.356 363.394 56.000 50.000
+ -9765917.10343 -7575811.01942 23471939.931 23471943.770 23471937.579
+ -2426.029 -1890.412 49.000 42.000
+ 04 2 1 17 27 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -11826799.76343 -9156849.22342 22555142.508 22555145.564 22555142.120
+ 3395.046 2645.490 50.000 43.000
+ -6353788.91243 -4930875.05242 23628735.292 23628739.171 23628734.345
+ -3303.949 -2574.506 46.000 40.000
+ -24054695.27043 -18676060.86642 20767896.883 20767898.741 20767895.694
+ 430.841 335.720 56.000 50.000
+ -3841215.92843 -2827722.84042 24165357.682 24165363.434 24165356.519
+ -875.506 -682.212 45.000 40.000
+ -5413411.69343 -4208150.84842 23793251.890 23793256.695 23793248.575
+ 2371.830 1848.179 45.000 39.000
+ -27559290.61744 -21471540.84442 20173414.043 20173416.904 20173413.316
+ -1055.745 -822.658 58.000 51.000
+ -632267.24653 -465070.96852 25319627.080 25319632.222 25319624.844
+ 1474.162 1148.698 43.000 35.000
+ -626990.49143 -479154.58542 25132505.940 25132512.284 25132506.593
+ 1590.382 1239.259 41.000 36.000
+ -14501533.69743 -11287583.06342 22536325.597 22536329.977 22536324.729
+ -3197.617 -2491.650 51.000 45.000
+ -21940648.67243 -17085267.74142 20962144.599 20962147.622 20962143.879
+ 462.848 360.661 56.000 50.000
+ -9692967.11343 -7518966.85742 23485821.804 23485824.200 23485819.564
+ -2437.577 -1899.411 49.000 42.000
+ 04 2 1 17 28 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -11928533.07743 -9236121.90642 22535784.086 22535785.019 22535783.183
+ 3387.185 2639.365 50.000 43.000
+ -6254672.16543 -4853641.25542 23647596.780 23647600.428 23647594.199
+ -3303.742 -2574.344 45.000 40.000
+ -24067412.79543 -18685970.62242 20765476.870 20765478.434 20765475.571
+ 417.166 325.064 56.000 50.000
+ -3814744.98343 -2807096.13442 24170393.635 24170399.119 24170394.191
+ -888.783 -692.558 45.000 39.000
+ -5484409.40043 -4263473.70342 23779740.630 23779746.262 23779739.344
+ 2361.602 1840.209 46.000 39.000
+ -27527332.82844 -21446638.66542 20179495.360 20179498.009 20179494.713
+ -1074.737 -837.457 58.000 51.000
+ -676461.63143 -499508.11142 25311215.959 25311221.814 25311216.213
+ 1472.763 1147.608 41.000 34.000
+ -674603.42443 -516255.49842 25123444.755 25123450.515 25123445.164
+ 1584.366 1234.571 39.000 35.000
+ -14405451.26643 -11212713.63542 22554609.863 22554612.641 22554608.508
+ -3207.654 -2499.471 51.000 45.000
+ -21954438.50243 -17096013.06442 20959520.938 20959523.770 20959519.716
+ 456.556 355.758 56.000 50.000
+ -9619633.78343 -7461823.99242 23499775.983 23499779.749 23499775.730
+ -2451.301 -1910.105 49.000 42.000
+ 04 2 1 17 28 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12030066.13143 -9315238.53342 22516462.444 22516464.413 22516461.707
+ 3381.130 2634.647 50.000 44.000
+ -6155593.93643 -4776437.43342 23666450.004 23666453.683 23666449.135
+ -3301.550 -2572.636 45.000 40.000
+ -24079751.38743 -18695585.10242 20763129.014 20763130.367 20763127.792
+ 405.277 315.800 56.000 50.000
+ -3787909.52743 -2786185.40742 24175501.281 24175506.385 24175498.662
+ -900.566 -701.740 44.000 39.000
+ -5555130.42543 -4318580.98942 23766284.300 23766287.500 23766280.675
+ 2352.791 1833.344 47.000 39.000
+ -27494836.97044 -21421317.22042 20185679.176 20185682.383 20185678.371
+ -1091.973 -850.888 58.000 51.000
+ -720651.18843 -533941.40742 25302806.856 25302812.858 25302807.977
+ 1473.423 1148.122 39.000 35.000
+ -722062.79043 -553236.83442 25114414.506 25114418.251 25114415.114
+ 1579.768 1230.988 43.000 35.000
+ -14309101.86143 -11137636.17642 22572944.654 22572947.057 22572943.112
+ -3215.814 -2505.829 51.000 44.000
+ -21968073.17143 -17106637.48142 20956925.988 20956929.339 20956925.092
+ 452.076 352.267 56.000 50.000
+ -9545915.27943 -7404381.01642 23513805.179 23513808.090 23513804.193
+ -2463.333 -1919.480 49.000 42.000
+ 04 2 1 17 29 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12131400.37043 -9394200.24142 22497179.004 22497181.844 22497178.396
+ 3375.112 2629.957 51.000 44.000
+ -6056560.50343 -4699268.53642 23685294.912 23685299.553 23685293.950
+ -3300.003 -2571.431 45.000 40.000
+ -24091716.69143 -18704908.69842 20760851.846 20760853.817 20760850.676
+ 393.066 306.285 56.000 50.000
+ -3760716.38243 -2764995.97542 24180676.351 24180680.450 24180675.632
+ -911.901 -710.572 46.000 39.000
+ -5625578.81743 -4373475.81642 23752878.546 23752882.828 23752877.139
+ 2344.054 1826.536 46.000 39.000
+ -27461808.43344 -21395580.70642 20191963.720 20191967.204 20191963.451
+ -1109.388 -864.458 58.000 51.000
+ -764838.03043 -568372.62142 25294398.674 25294404.639 25294399.019
+ 1473.315 1148.038 42.000 35.000
+ -769370.37143 -590099.79442 25105411.941 25105414.851 25105410.273
+ 1574.613 1226.971 44.000 35.000
+ -14212492.51943 -11062356.18242 22591328.307 22591331.798 22591326.848
+ -3224.154 -2512.328 51.000 44.000
+ -21981556.30243 -17117143.81942 20954360.317 20954363.451 20954359.474
+ 447.364 348.595 56.000 50.000
+ -9471818.48743 -7346643.27742 23527904.331 23527907.647 23527902.815
+ -2475.783 -1929.181 48.000 42.000
+ 04 2 1 17 29 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12232532.75643 -9473004.67442 22477933.995 22477936.180 22477932.450
+ 3367.269 2623.846 51.000 43.000
+ -5957573.64443 -4622135.94542 23704133.136 23704136.251 23704131.075
+ -3299.382 -2570.947 45.000 40.000
+ -24103310.00943 -18713942.43342 20758646.128 20758647.724 20758644.542
+ 379.790 295.940 56.000 50.000
+ -3733167.96443 -2743529.68842 24185919.193 24185922.877 24185918.072
+ -924.391 -720.305 46.000 39.000
+ -5695753.89843 -4428157.66842 23739522.833 23739528.847 23739523.105
+ 2333.498 1818.310 46.000 39.000
+ -27428247.80344 -21369429.56542 20198350.926 20198353.689 20198349.986
+ -1128.057 -879.005 58.000 51.000
+ -809019.53043 -602799.66242 25285992.780 25285997.803 25285990.933
+ 1471.630 1146.725 43.000 36.000
+ -816523.21943 -626842.16742 25096438.607 25096444.181 25096438.235
+ 1568.502 1222.209 42.000 36.000
+ -14115625.67843 -10986875.52442 22609761.958 22609765.898 22609760.841
+ -3233.617 -2519.701 51.000 44.000
+ -21994886.78343 -17127531.19842 20951823.823 20951826.873 20951822.743
+ 441.362 343.918 56.000 50.000
+ -9397345.57543 -7288612.41642 23542075.635 23542078.638 23542073.649
+ -2489.082 -1939.544 48.000 41.000
+ 04 2 1 17 30 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12333457.23143 -9551647.09542 22458728.409 22458730.666 22458726.776
+ 3360.240 2618.369 50.000 43.000
+ -5858632.42643 -4545038.90142 23722959.285 23722964.190 23722958.013
+ -3297.756 -2569.680 44.000 39.000
+ -24114530.06144 -18722685.33142 20756510.735 20756512.708 20756509.645
+ 367.615 286.453 57.000 50.000
+ -3705263.70043 -2721786.10842 24191228.828 24191233.029 24191228.957
+ -936.415 -729.674 45.000 39.000
+ -5765652.86943 -4482624.35542 23726222.301 23726228.284 23726220.492
+ 2325.261 1811.892 47.000 39.000
+ -27394152.97844 -21342862.17242 20204838.409 20204841.833 20204837.969
+ -1145.548 -892.635 58.000 51.000
+ -853190.39243 -637218.48242 25277587.156 25277591.525 25277586.816
+ 1472.228 1147.191 42.000 34.000
+ -863515.66143 -663459.62142 25087497.455 25087502.516 25087496.378
+ 1563.244 1218.112 43.000 37.000
+ -14018500.86743 -10911193.85142 22628244.606 22628247.067 22628242.867
+ -3241.984 -2526.221 51.000 44.000
+ -22008060.69743 -17137796.58142 20949316.863 20949319.971 20949315.923
+ 436.312 339.983 56.000 50.000
+ -9322495.91343 -7230288.00942 23556318.118 23556323.593 23556315.880
+ -2501.418 -1949.157 47.000 42.000
+ 04 2 1 17 30 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12434173.23043 -9630127.06742 22439562.939 22439564.783 22439562.176
+ 3353.176 2612.864 51.000 44.000
+ -5759740.90143 -4467980.58042 23741779.067 23741782.945 23741776.585
+ -3296.185 -2568.456 45.000 39.000
+ -24125380.03643 -18731139.85242 20754446.308 20754447.663 20754444.932
+ 354.849 276.506 56.000 50.000
+ -3677008.12143 -2699768.79542 24196605.909 24196607.633 24196603.813
+ -948.268 -738.910 44.000 38.000
+ -5835277.33743 -4536877.13242 23712973.810 23712978.428 23712971.739
+ 2315.651 1804.403 46.000 40.000
+ -27359527.07444 -21315880.95042 20211427.824 20211430.819 20211427.069
+ -1163.635 -906.728 58.000 51.000
+ -897350.30543 -671628.67342 25269183.323 25269186.961 25269183.794
+ 1471.696 1146.776 42.000 35.000
+ -910347.28143 -699951.80142 25078584.385 25078588.232 25078585.034
+ 1557.324 1213.499 42.000 36.000
+ -13921122.86143 -10835314.89542 22646773.978 22646777.982 22646772.761
+ -3250.717 -2533.026 49.000 44.000
+ -22021079.27343 -17147940.92142 20946839.187 20946842.289 20946838.282
+ 430.764 335.660 56.000 50.000
+ -9247274.22443 -7171673.70242 23570633.845 23570637.450 23570632.208
+ -2514.211 -1959.125 48.000 42.000
+ 04 2 1 17 31 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12534678.48243 -9708442.82042 22420438.182 22420440.956 22420436.741
+ 3346.656 2607.784 52.000 45.000
+ -5660901.69043 -4390963.01542 23760586.211 23760590.690 23760585.390
+ -3293.060 -2566.021 44.000 39.000
+ -24135862.03343 -18739307.62742 20752451.145 20752453.547 20752450.361
+ 343.895 267.970 56.000 50.000
+ -3648404.39143 -2677480.19742 24202048.682 24202050.541 24202049.500
+ -958.698 -747.037 45.000 38.000
+ -5904628.04543 -4590916.62442 23699776.837 23699779.946 23699774.776
+ 2307.683 1798.195 47.000 40.000
+ -27324371.59144 -21288487.06942 20218117.359 20218120.665 20218116.723
+ -1180.247 -919.673 58.000 51.000
+ -941497.44443 -706028.93942 25260783.036 25260788.014 25260782.842
+ 1471.814 1146.868 44.000 36.000
+ -957016.02353 -736317.04452 25069701.391 25069709.086 25069701.673
+ 1553.525 1210.539 39.000 34.000
+ -13823494.61943 -10759240.95942 22665352.127 22665356.302 22665351.007
+ -3257.882 -2538.609 49.000 44.000
+ -22033942.25743 -17157964.02542 20944391.490 20944394.851 20944390.470
+ 426.611 332.424 56.000 50.000
+ -9171683.51143 -7112771.83842 23585018.347 23585022.722 23585018.366
+ -2525.374 -1967.824 48.000 42.000
+ 04 2 1 17 31 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12634967.55043 -9786590.11942 22401352.992 22401355.976 22401352.915
+ 3339.999 2602.597 52.000 45.000
+ -5562114.27343 -4313985.81342 23779385.071 23779388.922 23779383.474
+ -3291.452 -2564.768 43.000 39.000
+ -24145974.98443 -18747187.83642 20750526.851 20750528.688 20750525.551
+ 331.698 258.466 56.000 50.000
+ -3619452.30143 -2654920.13042 24207558.808 24207562.765 24207556.318
+ -970.118 -755.936 46.000 38.000
+ -5973702.13243 -4644740.56342 23686633.138 23686635.354 23686630.924
+ 2298.754 1791.237 47.000 40.000
+ -27288684.84844 -21260679.21442 20224908.555 20224911.475 20224908.051
+ -1197.764 -933.322 58.000 51.000
+ -985626.94743 -740415.48542 25252383.615 25252388.331 25252385.162
+ 1471.335 1146.495 42.000 35.000
+ -1003516.54643 -772551.11342 25060854.403 25060859.253 25060854.420
+ 1547.808 1206.084 43.000 36.000
+ -13725616.57443 -10682972.38342 22683977.888 22683981.363 22683976.195
+ -3266.051 -2544.975 49.000 44.000
+ -22046646.15643 -17167863.16842 20941973.862 20941977.242 20941972.879
+ 421.492 328.435 56.000 50.000
+ -9095723.64343 -7053582.34442 23599473.195 23599474.639 23599471.748
+ -2537.449 -1977.233 49.000 42.000
+ 04 2 1 17 32 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12735039.04843 -9864567.88042 22382310.619 22382313.032 22382309.318
+ 3332.081 2596.427 52.000 45.000
+ -5463381.83843 -4237051.46542 23798171.935 23798178.250 23798171.660
+ -3290.324 -2563.889 44.000 39.000
+ -24155721.79843 -18754782.74442 20748672.062 20748673.940 20748670.773
+ 318.866 248.467 56.000 50.000
+ -3590155.41943 -2632091.41342 24213134.057 24213137.463 24213132.237
+ -982.070 -765.249 46.000 39.000
+ -6042500.72443 -4698349.83342 23673540.000 23673544.402 23673538.842
+ 2288.448 1783.206 47.000 40.000
+ -27252469.39544 -21232459.38042 20231800.041 20231803.288 20231799.439
+ -1215.928 -947.476 58.000 51.000
+ -1029737.78243 -774787.55042 25243991.388 25243994.589 25243989.552
+ 1469.551 1145.105 42.000 36.000
+ -1049847.45543 -808653.07042 25052039.965 25052040.804 25052037.249
+ 1541.292 1201.007 45.000 37.000
+ -13627492.78343 -10606512.30842 22702651.109 22702653.668 22702648.856
+ -3274.819 -2551.807 51.000 44.000
+ -22059191.40343 -17177638.68542 20939586.937 20939589.419 20939585.640
+ 415.589 323.836 56.000 49.000
+ -9019398.47043 -6994108.18942 23613996.569 23614001.295 23613995.377
+ -2550.379 -1987.308 49.000 41.000
+ 04 2 1 17 32 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12834891.65643 -9942375.09342 22363309.474 22363311.100 22363308.640
+ 3324.860 2590.800 53.000 45.000
+ -5364707.49643 -4160162.36342 23816951.652 23816954.971 23816950.508
+ -3287.910 -2562.008 45.000 39.000
+ -24165105.11943 -18762094.42342 20746886.558 20746888.759 20746885.256
+ 306.986 239.210 56.000 50.000
+ -3560517.94243 -2608997.32042 24218770.358 24218777.380 24218770.500
+ -993.055 -773.809 44.000 38.000
+ -6111025.25543 -4751745.52542 23660499.767 23660505.806 23660499.216
+ 2279.662 1776.360 46.000 40.000
+ -27215727.68144 -21203829.47742 20238791.331 20238794.967 20238790.829
+ -1233.382 -961.077 58.000 51.000
+ -1073829.20643 -809144.46042 25235599.337 25235604.625 25235597.630
+ 1469.661 1145.190 38.000 35.000
+ -1096007.64143 -844622.04242 25043252.730 25043257.561 25043253.868
+ 1535.864 1196.777 42.000 37.000
+ -13529127.19743 -10529863.79142 22721369.548 22721372.292 22721367.588
+ -3282.534 -2557.819 50.000 44.000
+ -22071578.44543 -17187290.92142 20937229.466 20937232.398 20937228.833
+ 410.379 319.776 56.000 50.000
+ -8942711.86543 -6934352.39342 23628589.450 23628593.690 23628586.828
+ -2562.205 -1996.523 48.000 42.000
+ 04 2 1 17 33 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12934515.42043 -10020003.98342 22344351.641 22344353.623 22344350.754
+ 3317.276 2584.890 52.000 45.000
+ -5266086.61943 -4083314.94342 23835718.187 23835721.279 23835717.320
+ -3286.468 -2560.884 45.000 39.000
+ -24174120.00743 -18769119.02142 20745170.934 20745172.795 20745169.778
+ 294.713 229.646 56.000 50.000
+ -3530535.74443 -2585634.56642 24224479.686 24224481.470 24224478.916
+ -1004.655 -782.848 45.000 39.000
+ -6179268.52743 -4804922.07042 23647513.283 23647518.361 23647512.660
+ 2270.251 1769.027 46.000 39.000
+ -27178453.70844 -21174784.82742 20245884.415 20245887.933 20245883.870
+ -1250.919 -974.742 58.000 51.000
+ -1117891.61543 -843478.78042 25227216.937 25227218.987 25227215.268
+ 1468.136 1144.002 40.000 35.000
+ -1141987.53443 -880450.49342 25034505.744 25034508.676 25034505.711
+ 1529.765 1192.025 43.000 37.000
+ -13430515.33143 -10453023.38542 22740134.309 22740137.485 22740132.485
+ -3290.771 -2564.237 50.000 44.000
+ -22083799.42643 -17196813.76742 20934903.828 20934907.189 20934902.733
+ 404.994 315.580 56.000 50.000
+ -8865659.48943 -6874311.58142 23643252.073 23643257.936 23643250.931
+ -2574.295 -2005.944 48.000 42.000
+ 04 2 1 17 33 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13033917.14643 -10097459.84742 22325436.209 22325438.080 22325434.627
+ 3308.996 2578.438 52.000 45.000
+ -5167530.07643 -4006517.64542 23854473.860 23854476.713 23854472.838
+ -3285.147 -2559.855 46.000 39.000
+ -24182776.82243 -18775864.59242 20743523.563 20743525.609 20743522.571
+ 281.851 219.624 56.000 50.000
+ -3500220.37643 -2562012.25342 24230246.215 24230251.763 24230245.556
+ -1016.861 -792.359 45.000 39.000
+ -6247239.53943 -4857886.46742 23634579.240 23634582.590 23634577.529
+ 2260.395 1761.347 46.000 39.000
+ -27140657.85544 -21145333.51542 20253077.013 20253080.125 20253076.534
+ -1269.299 -989.064 58.000 51.000
+ -1161932.20443 -877796.02442 25218834.253 25218840.834 25218833.948
+ 1466.645 1142.840 39.000 35.000
+ -1187793.65143 -916143.50742 25025787.675 25025792.329 25025788.039
+ 1523.397 1187.063 43.000 38.000
+ -13331669.38743 -10376000.58542 22758943.848 22758946.391 22758942.181
+ -3299.579 -2571.100 50.000 43.000
+ -22095862.58843 -17206213.62942 20932608.132 20932611.560 20932607.415
+ 398.845 310.788 56.000 50.000
+ -8788253.10843 -6813994.92642 23657981.458 23657985.447 23657979.313
+ -2586.633 -2015.558 47.000 41.000
+ 04 2 1 17 34 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13133085.91343 -10174734.18542 22306564.417 22306566.603 22306562.303
+ 3302.118 2573.079 51.000 45.000
+ -5069032.06943 -3929765.96442 23873216.209 23873218.870 23873214.689
+ -3281.683 -2557.155 45.000 38.000
+ -24191069.31643 -18782326.27542 20741945.898 20741947.581 20741944.419
+ 270.828 211.035 56.000 50.000
+ -3469566.82943 -2538126.41842 24236080.856 24236084.571 24236079.982
+ -1027.088 -800.328 45.000 39.000
+ -6314930.66343 -4910632.75342 23621697.783 23621701.582 23621696.044
+ 2252.411 1755.125 46.000 39.000
+ -27102333.39544 -21115470.30742 20260370.188 20260373.044 20260369.288
+ -1285.818 -1001.936 58.000 51.000
+ -1205940.67943 -912088.22742 25210460.062 25210464.815 25210459.136
+ 1466.898 1143.037 38.000 35.000
+ -1233415.51343 -951692.99742 25017105.027 25017112.463 25017106.164
+ 1518.041 1182.889 44.000 36.000
+ -13232584.18543 -10298791.35742 22777799.534 22777803.296 22777798.494
+ -3306.525 -2576.513 49.000 44.000
+ -22107759.34843 -17215483.82742 20930344.467 20930347.272 20930343.457
+ 394.312 307.256 56.000 50.000
+ -8710487.51443 -6753398.34942 23672780.105 23672782.612 23672780.170
+ -2597.681 -2024.167 48.000 41.000
+ 04 2 1 17 34 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13232020.42943 -10251825.99242 22287737.391 22287740.666 22287736.168
+ 3294.253 2566.950 51.000 45.000
+ -4970596.40243 -3853062.88442 23891946.222 23891952.189 23891945.886
+ -3279.803 -2555.691 44.000 39.000
+ -24199000.91943 -18788506.74342 20740436.195 20740438.377 20740435.094
+ 258.499 201.428 56.000 50.000
+ -3438579.36443 -2513980.33542 24241976.865 24241979.749 24241976.248
+ -1038.150 -808.948 45.000 38.000
+ -6382343.47143 -4963162.19542 23608869.915 23608874.450 23608868.754
+ 2242.596 1747.477 47.000 39.000
+ -27063483.34744 -21085197.54642 20267762.876 20267766.099 20267762.419
+ -1303.648 -1015.830 58.000 51.000
+ -1249916.39843 -946355.00642 25202092.664 25202096.281 25202092.003
+ 1465.485 1141.936 42.000 36.000
+ -1278852.49343 -987098.44042 25008459.665 25008463.519 25008459.672
+ 1511.336 1177.664 43.000 36.000
+ -13133264.06743 -10221399.07342 22796698.746 22796703.264 22796697.956
+ -3314.249 -2582.532 49.000 44.000
+ -22119490.56343 -17224625.02642 20928112.008 20928115.524 20928111.181
+ 388.438 302.679 56.000 50.000
+ -8632366.88443 -6692525.13542 23687646.612 23687649.692 23687643.570
+ -2609.689 -2033.524 49.000 42.000
+ 04 2 1 17 35 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13330720.55543 -10328735.16142 22268954.716 22268958.293 22268954.777
+ 3285.468 2560.105 51.000 45.000
+ -4872227.35343 -3776411.65642 23910668.157 23910672.328 23910666.438
+ -3278.207 -2554.447 46.000 39.000
+ -24206575.82044 -18794409.25942 20738995.180 20738996.811 20738993.628
+ 245.963 191.659 57.000 50.000
+ -3407263.21443 -2489578.17042 24247935.648 24247940.103 24247935.572
+ -1049.889 -818.095 43.000 38.000
+ -6449480.43143 -5015476.69442 23596095.161 23596098.895 23596094.145
+ 2232.685 1739.755 48.000 40.000
+ -27024111.14444 -21054517.90942 20275255.258 20275258.413 20275254.565
+ -1321.769 -1029.950 58.000 51.000
+ -1293859.56743 -980596.40242 25193728.598 25193733.734 25193728.919
+ 1463.303 1140.236 40.000 36.000
+ -1324104.26243 -1022359.54742 24999850.355 24999851.322 24999849.782
+ 1504.655 1172.458 43.000 36.000
+ -13033714.17643 -10143827.73642 22815642.110 22815646.041 22815642.117
+ -3322.806 -2589.199 49.000 44.000
+ -22131057.80943 -17233638.46542 20925910.864 20925914.081 20925909.927
+ 382.191 297.811 56.000 50.000
+ -8553896.23843 -6631379.18142 23702579.443 23702580.731 23702577.709
+ -2622.144 -2043.229 49.000 42.000
+ 04 2 1 17 35 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13429180.74143 -10405457.35542 22250219.569 22250221.515 22250217.859
+ 3277.134 2553.611 51.000 45.000
+ -4773923.99643 -3699811.65742 23929372.296 23929377.258 23929371.262
+ -3276.261 -2552.931 45.000 39.000
+ -24213792.75444 -18800032.83842 20737621.379 20737623.396 20737620.200
+ 233.898 182.258 57.000 50.000
+ -3375618.37543 -2464919.89642 24253957.168 24253962.750 24253956.265
+ -1060.856 -826.641 42.000 38.000
+ -6516338.86743 -5067574.13042 23583371.496 23583377.082 23583369.739
+ 2223.031 1732.232 47.000 40.000
+ -26984215.58944 -21023430.46842 20282846.942 20282850.307 20282846.320
+ -1339.350 -1043.649 58.000 51.000
+ -1337765.19543 -1014808.54642 25185375.230 25185380.638 25185374.162
+ 1462.233 1139.402 42.000 36.000
+ -1369165.42143 -1057472.04742 24991275.278 24991276.266 24991273.251
+ 1497.733 1167.065 43.000 36.000
+ -12933934.64343 -10066077.45742 22834629.190 22834632.356 22834628.270
+ -3330.530 -2595.218 49.000 43.000
+ -22142457.49643 -17242521.32642 20923741.700 20923744.746 20923740.561
+ 376.390 293.291 56.000 50.000
+ -8475075.53143 -6569960.43042 23717577.518 23717581.862 23717576.602
+ -2633.854 -2052.354 48.000 42.000
+ 04 2 1 17 36 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13527398.70843 -10481990.81042 22231528.691 22231532.489 22231527.215
+ 3269.768 2547.871 51.000 44.000
+ -4675688.89643 -3623264.83942 23948066.030 23948071.059 23948065.342
+ -3273.672 -2550.913 45.000 39.000
+ -24220653.88243 -18805379.17142 20736316.038 20736317.601 20736314.754
+ 222.441 173.331 56.000 50.000
+ -3343647.73943 -2440007.69842 24260041.391 24260045.929 24260041.460
+ -1071.499 -834.934 44.000 39.000
+ -6582918.93443 -5119454.68442 23570701.562 23570706.187 23570699.603
+ 2214.358 1725.474 47.000 40.000
+ -26943798.31044 -20991936.49142 20290538.518 20290541.150 20290537.692
+ -1356.283 -1056.844 58.000 51.000
+ -1381631.36043 -1048989.96142 25177027.914 25177032.955 25177027.891
+ 1461.411 1138.762 44.000 36.000
+ -1414034.06743 -1092434.61642 24982735.814 24982737.200 24982736.928
+ 1491.580 1162.270 43.000 36.000
+ -12833928.68543 -9988150.74642 22853660.588 22853664.245 22853658.479
+ -3337.807 -2600.888 49.000 43.000
+ -22153689.24043 -17251273.33242 20921604.580 20921607.460 20921603.436
+ 371.336 289.353 56.000 50.000
+ -8395907.77843 -6508271.28442 23732643.366 23732645.158 23732641.932
+ -2645.125 -2061.136 48.000 41.000
+ 04 2 1 17 36 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13625369.39043 -10558331.58042 22212886.112 22212888.574 22212884.913
+ 3262.352 2542.092 52.000 45.000
+ -4577521.44743 -3546770.71442 23966745.964 23966750.248 23966744.191
+ -3270.415 -2548.375 45.000 39.000
+ -24227158.52343 -18810447.72242 20735078.188 20735079.865 20735076.910
+ 211.599 164.882 56.000 50.000
+ -3311351.39243 -2414841.74342 24266189.045 24266191.437 24266187.989
+ -1081.417 -842.662 45.000 38.000
+ -6649218.61343 -5171116.73642 23558085.642 23558090.351 23558083.017
+ 2205.648 1718.687 46.000 40.000
+ -26902858.10344 -20960035.03442 20298328.651 20298332.006 20298328.169
+ -1372.743 -1069.670 58.000 51.000
+ -1425453.20443 -1083136.81842 25168685.984 25168692.915 25168687.918
+ 1460.783 1138.272 41.000 35.000
+ -1458705.16543 -1127243.27642 24974235.850 24974235.967 24974233.307
+ 1486.506 1158.316 42.000 36.000
+ -12733696.44043 -9910047.71542 22872734.547 22872737.276 22872732.436
+ -3344.295 -2605.944 49.000 43.000
+ -22164749.60543 -17259891.79042 20919499.405 20919502.786 20919498.406
+ 366.477 285.566 56.000 50.000
+ -8316393.42943 -6446312.05942 23747773.009 23747776.409 23747771.135
+ -2655.538 -2069.250 47.000 41.000
+ 04 2 1 17 37 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13723095.77143 -10634481.99142 22194289.134 22194291.903 22194287.489
+ 3253.779 2535.412 52.000 45.000
+ -4479429.17543 -3470335.20042 23985413.821 23985417.789 23985412.709
+ -3268.419 -2546.820 46.000 39.000
+ -24233313.73243 -18815243.98342 20733906.696 20733908.685 20733905.662
+ 199.585 155.521 56.000 50.000
+ -3278737.98543 -2389428.68042 24272393.534 24272398.749 24272392.752
+ -1092.090 -850.979 45.000 38.000
+ -6715243.53343 -5222564.71542 23545521.663 23545526.174 23545519.146
+ 2196.417 1711.494 47.000 40.000
+ -26861402.06544 -20927731.64142 20306217.688 20306220.964 20306216.918
+ -1390.229 -1083.295 58.000 51.000
+ -1469234.41043 -1117251.93742 25160356.195 25160364.097 25160356.401
+ 1458.821 1136.744 42.000 35.000
+ -1503181.80643 -1161900.38642 24965770.880 24965774.465 24965768.244
+ 1479.169 1152.599 41.000 36.000
+ -12633246.44743 -9831774.99542 22891848.264 22891852.773 22891847.868
+ -3351.970 -2611.925 49.000 43.000
+ -22175643.57543 -17268380.59542 20917426.599 20917429.964 20917425.459
+ 360.468 280.884 56.000 50.000
+ -8236540.66843 -6384089.14442 23762968.515 23762972.561 23762966.749
+ -2667.113 -2078.270 48.000 41.000
+ 04 2 1 17 37 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13820568.64343 -10710434.86542 22175740.591 22175742.935 22175739.607
+ 3245.068 2528.624 52.000 45.000
+ -4381407.54343 -3393954.70642 24004066.952 24004070.882 24004066.560
+ -3266.185 -2545.079 47.000 39.000
+ -24239115.08143 -18819764.50642 20732803.033 20732804.758 20732801.625
+ 187.862 146.386 56.000 50.000
+ -3245803.81243 -2363765.70342 24278661.614 24278664.906 24278659.851
+ -1102.624 -859.187 44.000 38.000
+ -6780986.87743 -5273793.25642 23533009.917 23533015.196 23533009.326
+ 2186.907 1704.083 46.000 40.000
+ -26819424.96944 -20895022.22142 20314205.712 20314208.535 20314205.112
+ -1407.611 -1096.840 58.000 51.000
+ -1512966.05643 -1151328.54142 25152034.498 25152036.966 25152034.405
+ 1456.917 1135.260 40.000 34.000
+ -1547455.10843 -1196399.00342 24957346.720 24957350.822 24957345.263
+ 1472.523 1147.421 42.000 36.000
+ -12532575.13843 -9753329.82342 22911005.772 22911010.005 22911004.706
+ -3359.053 -2617.444 49.000 43.000
+ -22186363.69944 -17276733.92742 20915387.559 20915389.500 20915386.244
+ 354.728 276.411 57.000 50.000
+ -8156345.66243 -6321599.51042 23778231.136 23778233.710 23778229.082
+ -2678.603 -2087.223 48.000 41.000
+ 04 2 1 17 38 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13917786.81543 -10786189.28242 22157240.527 22157243.251 22157239.617
+ 3235.893 2521.475 52.000 45.000
+ -4283460.29343 -3317632.15942 24022705.110 24022708.724 24022703.160
+ -3264.237 -2543.561 46.000 39.000
+ -24244565.79343 -18824011.79942 20731765.524 20731767.339 20731764.382
+ 175.301 136.598 56.000 50.000
+ -3212553.29443 -2337856.21042 24284987.422 24284992.346 24284987.109
+ -1113.960 -868.021 44.000 38.000
+ -6846451.06143 -5324804.28042 23520552.967 23520557.844 23520552.619
+ 2177.039 1696.394 48.000 41.000
+ -26776930.02444 -20861909.29142 20322292.046 20322295.388 20322291.448
+ -1425.661 -1110.905 58.000 51.000
+ -1556647.66443 -1185366.16542 25143720.994 25143725.525 25143721.613
+ 1454.407 1133.304 41.000 34.000
+ -1591524.27343 -1230738.51642 24948960.127 24948965.516 24948959.865
+ 1464.776 1141.384 40.000 34.000
+ -12431687.21143 -9674715.84742 22930203.404 22930207.868 22930202.936
+ -3366.999 -2623.635 48.000 43.000
+ -22196910.98243 -17284952.57342 20913379.797 20913382.658 20913378.708
+ 348.193 271.319 56.000 50.000
+ -8075813.00343 -6258846.79442 23793555.726 23793558.800 23793554.365
+ -2690.503 -2096.496 48.000 42.000
+ 04 2 1 17 38 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14014748.03443 -10861743.46242 22138789.374 22138792.028 22138788.349
+ 3227.652 2515.054 52.000 45.000
+ -4185589.16543 -3241368.92742 24041329.341 24041334.477 24041327.711
+ -3261.125 -2541.136 46.000 40.000
+ -24249667.58343 -18827987.20242 20730795.130 20730796.652 20730793.508
+ 164.243 127.982 56.000 50.000
+ -3178989.25743 -2311702.41642 24291375.666 24291379.243 24291373.973
+ -1124.137 -875.951 41.000 37.000
+ -6911636.22943 -5375597.89342 23508148.542 23508153.756 23508147.602
+ 2168.049 1689.389 47.000 41.000
+ -26733918.71044 -20828393.99942 20330477.220 20330480.566 20330476.675
+ -1442.397 -1123.946 58.000 51.000
+ -1600277.38743 -1219363.29042 25135419.476 25135424.646 25135420.026
+ 1453.596 1132.672 42.000 34.000
+ -1635386.92843 -1264917.18442 24940614.298 24940618.992 24940612.749
+ 1458.532 1136.518 43.000 35.000
+ -12330585.23343 -9595935.09642 22949443.820 22949447.573 22949442.448
+ -3373.624 -2628.798 49.000 43.000
+ -22207284.66643 -17293035.95842 20911405.615 20911408.804 20911404.410
+ 342.823 267.135 56.000 50.000
+ -7994945.49143 -6195833.14942 23808943.144 23808947.735 23808940.428
+ -2701.151 -2104.793 47.000 41.000
+ 04 2 1 17 39 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14111445.85543 -10937092.39342 22120388.357 22120391.510 22120387.145
+ 3219.275 2508.526 52.000 45.000
+ -4087792.71543 -3165163.89842 24059939.365 24059944.363 24059937.798
+ -3258.286 -2538.924 46.000 40.000
+ -24254418.75944 -18831689.40942 20729890.817 20729892.371 20729889.266
+ 152.970 119.197 57.000 50.000
+ -3145111.36343 -2285304.08242 24297821.602 24297827.224 24297820.447
+ -1134.540 -884.057 42.000 37.000
+ -6976538.87043 -5426171.36642 23495797.989 23495802.554 23495796.835
+ 2158.933 1682.285 47.000 41.000
+ -26690388.99244 -20794474.74942 20338760.384 20338763.789 20338759.871
+ -1459.326 -1137.137 58.000 51.000
+ -1643848.92943 -1253315.08642 25127129.128 25127131.152 25127128.608
+ 1451.828 1131.295 44.000 36.000
+ -1679036.93043 -1298930.22242 24932306.862 24932311.074 24932304.354
+ 1451.844 1131.307 41.000 36.000
+ -12229269.00643 -9516987.37242 22968722.882 22968727.814 22968722.155
+ -3380.557 -2634.200 49.000 43.000
+ -22217480.34843 -17300980.63842 20909465.503 20909468.506 20909464.489
+ 337.163 262.724 56.000 50.000
+ -7913742.11343 -6132557.80642 23824396.030 23824400.209 23824394.338
+ -2712.197 -2113.400 48.000 41.000
+ 04 2 1 17 39 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14207884.39143 -11012239.29342 22102036.908 22102038.902 22102035.585
+ 3210.429 2501.633 52.000 45.000
+ -3990079.63743 -3089023.85342 24078534.409 24078537.084 24078533.694
+ -3255.446 -2536.711 47.000 39.000
+ -24258828.10943 -18835125.26042 20729052.002 20729053.155 20729050.256
+ 141.304 110.107 56.000 50.000
+ -3110929.20343 -2258668.67442 24304327.355 24304329.843 24304324.815
+ -1144.935 -892.157 42.000 38.000
+ -7041165.91443 -5476530.07342 23483501.514 23483503.888 23483499.855
+ 2149.789 1675.160 48.000 41.000
+ -26646349.25544 -20760158.09342 20347140.720 20347144.051 20347140.055
+ -1476.415 -1150.453 58.000 51.000
+ -1687367.05943 -1287225.22842 25118848.521 25118851.614 25118846.416
+ 1449.373 1129.382 43.000 37.000
+ -1722478.73043 -1332780.92942 24924040.277 24924042.750 24924039.046
+ 1444.512 1125.594 41.000 35.000
+ -12127747.80743 -9437879.93642 22988041.493 22988045.972 22988039.310
+ -3387.302 -2639.456 49.000 43.000
+ -22227504.03343 -17308791.28942 20907558.085 20907561.021 20907556.797
+ 331.296 258.153 56.000 50.000
+ -7832212.49143 -6069028.21742 23839911.414 23839914.553 23839910.084
+ -2722.752 -2121.625 48.000 41.000
+ 04 2 1 17 40 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14304057.28943 -11087179.19642 22083735.646 22083737.553 22083734.781
+ 3201.052 2494.326 52.000 45.000
+ -3892448.14343 -3012947.37942 24097112.949 24097117.199 24097111.981
+ -3253.288 -2535.030 46.000 39.000
+ -24262893.55743 -18838293.13142 20728278.032 20728279.687 20728276.544
+ 129.493 100.904 56.000 50.000
+ -3076441.71843 -2231795.29742 24310890.815 24310894.667 24310889.732
+ -1154.852 -899.885 44.000 39.000
+ -7105513.83543 -5526671.31042 23471255.012 23471259.134 23471252.994
+ 2140.110 1667.618 48.000 41.000
+ -26601797.19344 -20725442.21242 20355619.055 20355622.170 20355618.292
+ -1493.866 -1164.051 58.000 51.000
+ -1730825.92043 -1321089.18842 25110578.895 25110580.703 25110578.115
+ 1447.497 1127.920 44.000 36.000
+ -1765706.11343 -1366464.59042 24915813.433 24915818.443 24915814.618
+ 1436.980 1119.725 42.000 34.000
+ -12026020.66643 -9358612.03242 23007399.224 23007403.616 23007399.116
+ -3394.571 -2645.120 48.000 43.000
+ -22237351.18643 -17316464.39242 20905683.858 20905686.905 20905682.668
+ 324.971 253.224 56.000 50.000
+ -7750355.70343 -6005243.70942 23855487.986 23855491.492 23855486.580
+ -2734.031 -2130.414 47.000 41.000
+ 04 2 1 17 40 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14399958.37143 -11161907.29842 22065486.485 22065489.361 22065485.030
+ 3192.929 2487.997 52.000 45.000
+ -3794896.33643 -2936932.99442 24115675.387 24115681.548 24115674.756
+ -3249.344 -2531.956 46.000 39.000
+ -24266613.33843 -18841191.65742 20727570.109 20727571.852 20727568.728
+ 119.191 92.876 56.000 50.000
+ -3041648.11343 -2204683.44542 24317512.484 24317514.688 24317511.135
+ -1164.070 -907.067 45.000 39.000
+ -7169579.38043 -5576592.48242 23459063.259 23459069.098 23459062.115
+ 2131.666 1661.038 47.000 41.000
+ -26556730.61344 -20690325.40842 20364194.753 20364198.024 20364194.512
+ -1509.830 -1176.491 58.000 51.000
+ -1774219.42743 -1354902.22142 25102321.529 25102323.117 25102321.381
+ 1446.453 1127.106 44.000 36.000
+ -1399976.33942 24907630.211 24907629.659
+ 1430.800 1114.909 41.000 32.000
+ -11924086.96543 -9279183.18842 23026797.668 23026801.681 23026795.866
+ -3400.123 -2649.446 48.000 43.000
+ -22247017.24343 -17323996.38842 20903844.332 20903847.984 20903843.211
+ 320.103 249.431 56.000 50.000
+ -7668170.86743 -5941203.57642 23871127.235 23871130.709 23871125.552
+ -2744.092 -2138.253 47.000 41.000
+ 04 2 1 17 41 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14495588.11943 -11236423.95742 22047287.245 22047291.333 22047286.491
+ 3183.716 2480.818 51.000 45.000
+ -3697429.07443 -2860984.49342 24134222.642 24134227.705 24134220.195
+ -3247.007 -2530.135 45.000 39.000
+ -24269992.55043 -18843824.81242 20726927.229 20726928.998 20726925.949
+ 107.525 83.786 56.000 50.000
+ -3006554.21143 -2177337.55242 24324188.870 24324193.764 24324188.593
+ -1174.255 -915.004 43.000 39.000
+ -7233365.72643 -5626296.09642 23446925.594 23446929.546 23446923.888
+ 2122.135 1653.612 48.000 42.000
+ -26511154.14744 -20654811.29142 20372867.880 20372870.878 20372867.210
+ -1527.073 -1189.927 58.000 51.000
+ -1817548.52143 -1388665.12342 25094072.722 25094081.555 25094074.551
+ 1443.499 1124.804 42.000 35.000
+ -1851499.85443 -1433316.72842 24899487.152 24899492.501 24899487.379
+ 1422.805 1108.679 41.000 34.000
+ -11821952.40143 -9199597.83642 23046233.015 23046236.712 23046231.375
+ -3407.275 -2655.019 48.000 43.000
+ -22256504.47543 -17331389.03042 20902039.451 20902042.344 20902038.490
+ 313.909 244.604 56.000 50.000
+ -7585663.85843 -5876912.41842 23886827.883 23886831.438 23886826.852
+ -2754.898 -2146.674 47.000 41.000
+ 04 2 1 17 41 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14590941.29843 -11310725.10942 22029143.098 22029146.765 22029141.984
+ 3173.612 2472.944 52.000 45.000
+ -3600046.06543 -2785101.63342 24152754.120 24152758.898 24152754.018
+ -3245.025 -2528.591 45.000 39.000
+ -24273030.09843 -18846191.73242 20726349.334 20726350.751 20726347.873
+ 95.425 74.357 56.000 50.000
+ -2971160.76443 -2149758.27942 24330922.828 24330928.540 24330922.056
+ -1185.057 -923.421 41.000 38.000
+ -7296870.90343 -5675780.63342 23434840.315 23434845.449 23434840.236
+ 2111.944 1645.671 47.000 41.000
+ -26465067.37044 -20618899.52742 20381637.798 20381641.047 20381636.979
+ -1544.908 -1203.824 58.000 51.000
+ -1422374.48342 25085841.007 25085843.264
+ 1440.211 1122.242 39.000 32.000
+ -1894062.17643 -1466482.23042 24891390.653 24891391.179 24891388.208
+ 1414.639 1102.316 45.000 36.000
+ -11719617.79443 -9119856.58142 23065706.970 23065710.368 23065705.621
+ -3414.602 -2660.729 49.000 43.000
+ -22265809.95143 -17338640.04642 20900268.140 20900271.402 20900267.127
+ 306.993 239.215 56.000 50.000
+ -7502835.11843 -5812370.54342 23902589.285 23902593.991 23902587.528
+ -2766.505 -2155.718 46.000 40.000
+ 04 2 1 17 42 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14686017.04143 -11384810.06942 22011051.388 22011053.729 22011049.725
+ 3163.838 2465.328 52.000 45.000
+ -3502751.19043 -2709287.44742 24171270.333 24171271.558 24171268.478
+ -3242.489 -2526.615 47.000 39.000
+ -24275730.04243 -18848295.58342 20725835.431 20725837.044 20725833.962
+ 83.654 65.185 56.000 50.000
+ -2935472.73343 -2121949.45742 24337715.396 24337720.638 24337714.700
+ -1195.031 -931.193 42.000 38.000
+ -7360097.23643 -5725047.88542 23422808.577 23422812.593 23422808.943
+ 2102.204 1638.081 48.000 42.000
+ -26418473.73244 -20582592.80942 20390503.872 20390507.596 20390503.553
+ -1562.315 -1217.388 58.000 51.000
+ -1904000.02153 -1456029.88052 25077623.370 25077628.632 25077621.765
+ 1437.672 1120.264 41.000 33.000
+ -1936399.51643 -1499472.31242 24883333.004 24883336.742 24883331.481
+ 1406.892 1096.279 43.000 36.000
+ -11617088.03143 -9039963.24842 23085217.962 23085220.379 23085216.331
+ -3421.642 -2666.214 50.000 43.000
+ -22274934.72643 -17345750.24942 20898532.092 20898534.962 20898531.152
+ 300.325 234.019 56.000 50.000
+ -7419689.39643 -5747581.67342 23918410.256 23918416.547 23918406.779
+ -2777.576 -2164.345 44.000 40.000
+ 04 2 1 17 42 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14780809.90343 -11458674.61942 21993012.683 21993014.718 21993011.075
+ 3154.380 2457.958 52.000 46.000
+ -3405542.97143 -2633540.77442 24189768.198 24189771.421 24189766.658
+ -3239.170 -2524.028 46.000 39.000
+ -24278091.32043 -18850135.53042 20725385.664 20725387.791 20725384.821
+ 72.551 56.533 56.000 50.000
+ -2899489.75443 -2093910.83642 24344564.350 24344567.322 24344562.861
+ -1205.177 -939.099 43.000 38.000
+ -7423041.82443 -5774095.58742 23410831.864 23410836.113 23410830.860
+ 2092.836 1630.781 48.000 41.000
+ -26371371.73644 -20545889.96742 20399467.327 20399470.634 20399466.643
+ -1579.164 -1230.517 58.000 51.000
+ -1947116.71653 -1489627.30052 25069418.766 25069421.564 25069417.341
+ 1435.416 1118.506 41.000 35.000
+ -1978506.38643 -1532282.83042 24875319.739 24875323.669 24875320.186
+ 1399.099 1090.207 45.000 37.000
+ -11514362.94543 -8959917.70642 23104765.703 23104768.862 23104764.985
+ -3427.999 -2671.168 50.000 43.000
+ -22283874.81543 -17352716.54642 20896831.018 20896833.763 20896829.681
+ 294.324 229.343 56.000 50.000
+ -7336226.55343 -5682545.70742 23934293.144 23934296.868 23934293.659
+ -2787.921 -2172.406 45.000 39.000
+ 04 2 1 17 43 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14875321.19343 -11532319.76642 21975028.383 21975029.602 21975026.726
+ 3145.680 2451.179 53.000 46.000
+ -3308427.24943 -2557866.21742 24208247.552 24208251.763 24208245.316
+ -3235.488 -2521.159 44.000 38.000
+ -24280119.87243 -18851716.21542 20724999.567 20725001.611 20724998.449
+ 62.053 48.353 56.000 50.000
+ -2863219.02743 -2065647.99042 24351464.722 24351470.523 24351463.185
+ -1213.621 -945.679 42.000 38.000
+ -7485708.85443 -5822927.00542 23398906.084 23398910.253 23398905.296
+ 2084.269 1624.106 49.000 41.000
+ -26323767.10244 -20508795.46442 20408526.402 20408529.591 20408525.698
+ -1595.187 -1243.003 57.000 51.000
+ -1990160.66043 -1523167.99742 25061229.403 25061230.637 25061229.186
+ 1433.765 1117.219 44.000 36.000
+ -2020384.10643 -1564914.88342 24867350.932 24867354.452 24867348.577
+ 1392.105 1084.757 43.000 36.000
+ -11411449.14843 -8879725.12742 23124349.911 23124352.085 23124348.210
+ -3433.660 -2675.579 49.000 42.000
+ -22292633.27343 -17359541.31042 20895164.107 20895167.032 20895162.987
+ 288.971 225.172 56.000 50.000
+ -7252452.89843 -5617267.52942 23950236.059 23950238.066 23950234.086
+ -2797.665 -2179.999 45.000 39.000
+ 04 2 1 17 43 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14969545.36943 -11605741.18442 21957097.798 21957099.625 21957095.984
+ 3135.988 2443.627 53.000 46.000
+ -3211402.64943 -2482262.63342 24226708.607 24226714.566 24226710.052
+ -3232.680 -2518.971 43.000 38.000
+ -24281813.94044 -18853036.26542 20724677.406 20724678.977 20724676.321
+ 50.858 39.630 57.000 50.000
+ -2826659.85443 -2037160.34842 24358421.743 24358426.534 24358419.836
+ -1223.492 -953.370 42.000 38.000
+ -7548095.35243 -5871539.83742 23387034.047 23387037.748 23387033.666
+ 2074.976 1616.864 48.000 41.000
+ -26275658.18544 -20471308.01142 20417681.308 20417684.281 20417680.563
+ -1612.131 -1256.206 57.000 51.000
+ -2033126.50043 -1556647.80842 25053049.682 25053056.351 25053050.161
+ 1430.722 1114.848 40.000 36.000
+ -2062027.18143 -1597363.96542 24859427.097 24859430.106 24859426.384
+ 1384.529 1078.854 43.000 37.000
+ -11308346.72943 -8799385.58142 23143969.845 23143973.163 23143968.165
+ -3439.964 -2680.491 49.000 43.000
+ -22301206.02743 -17366221.37242 20893532.666 20893535.932 20893531.851
+ 282.656 220.251 56.000 50.000
+ -7168368.54143 -5551747.24542 23966236.085 23966240.329 23966233.242
+ -2807.876 -2187.955 45.000 39.000
+ 04 2 1 17 44 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -15063474.87643 -11678932.98942 21939223.082 21939225.344 21939222.294
+ 3125.909 2435.773 52.000 46.000
+ -3114465.98543 -2406727.57242 24245156.467 24245161.863 24245156.047
+ -3229.821 -2516.744 44.000 38.000
+ -24283170.52344 -18854093.32842 20724419.714 20724420.847 20724418.243
+ 39.567 30.831 57.000 50.000
+ -2789810.08943 -2008446.31142 24365434.193 24365438.547 24365433.127
+ -1233.519 -961.184 43.000 38.000
+ -7610196.52543 -5919930.34242 23375217.383 23375220.112 23375215.493
+ 2065.074 1609.149 48.000 42.000
+ -26227041.63544 -20433425.00142 20426932.622 20426935.911 20426931.979
+ -1629.085 -1269.417 57.000 51.000
+ -2076006.86443 -1590061.05842 25044890.445 25044895.850 25044887.953
+ 1427.949 1112.688 39.000 35.000
+ -2103428.25243 -1629624.54642 24851547.719 24851552.201 24851547.133
+ 1375.966 1072.181 45.000 38.000
+ -11205053.47943 -8718897.34142 23163624.787 23163628.744 23163622.867
+ -3446.297 -2685.426 48.000 43.000
+ -22309587.31943 -17372752.24542 20891937.849 20891940.934 20891936.747
+ 276.153 215.184 56.000 50.000
+ -7083971.21843 -5485983.11642 23982297.226 23982300.652 23982295.158
+ -2818.489 -2196.225 46.000 39.000
+ 04 2 1 17 44 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -15157114.24843 -11751898.72342 21921403.842 21921406.587 21921403.113
+ 3115.433 2427.610 53.000 46.000
+ -3017626.55143 -2331268.28342 24263585.341 24263588.729 24263582.610
+ -3227.825 -2515.188 44.000 38.000
+ -24284198.74643 -18854894.51642 20724223.710 20724225.226 20724222.345
+ 27.694 21.580 56.000 50.000
+ -2752680.66843 -1979514.34342 24372499.803 24372503.848 24372498.153
+ -1243.190 -968.719 44.000 38.000
+ -7672020.03243 -5968104.45242 23363451.071 23363456.891 23363449.290
+ 2055.283 1601.519 47.000 41.000
+ -26177926.81544 -20395153.72742 20436279.050 20436282.163 20436278.226
+ -1646.581 -1283.050 57.000 51.000
+ -2118807.03943 -1623411.87342 25036749.245 25036750.338 25036747.409
+ 1424.346 1109.880 43.000 35.000
+ -2144592.41243 -1661700.52842 24843713.057 24843717.956 24843713.368
+ 1367.128 1065.295 44.000 38.000
+ -11101579.43543 -8638268.21842 23183315.104 23183318.763 23183314.163
+ -3453.302 -2690.885 49.000 43.000
+ -22317783.83443 -17379139.13042 20890378.376 20890381.264 20890377.543
+ 269.072 209.666 56.000 50.000
+ -6999271.09143 -5419982.99742 23998416.013 23998417.487 23998412.650
+ -2829.604 -2204.886 46.000 39.000
+ 04 2 1 17 45 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -15250454.96943 -11824631.74142 21903642.133 21903644.259 21903640.826
+ 3106.218 2420.430 53.000 46.000
+ -2920880.23743 -2255881.55642 24281996.705 24281999.338 24281994.312
+ -3223.305 -2511.666 44.000 38.000
+ -24284894.72244 -18855436.81342 20724091.495 20724093.033 20724090.223
+ 17.549 13.675 57.000 50.000
+ -2715268.37643 -1950361.93842 24379618.432 24379624.126 24379617.511
+ -1251.798 -975.427 44.000 39.000
+ -7733560.47843 -6016058.01442 23351741.263 23351747.195 23351740.278
+ 2046.558 1594.720 48.000 42.000
+ -26128309.49544 -20356490.89842 20445720.249 20445724.007 20445720.059
+ -1662.289 -1295.290 57.000 51.000
+ -2161518.94043 -1656693.84842 25028619.192 25028623.905 25028618.539
+ 1421.918 1107.988 42.000 35.000
+ -2185511.38543 -1693585.41642 24835929.205 24835932.044 24835928.139
+ 1359.546 1059.386 47.000 38.000
+ -10997921.61743 -8557495.89942 23203040.528 23203044.827 23203040.071
+ -3458.273 -2694.758 49.000 43.000
+ -22325788.82243 -17385376.77542 20888855.190 20888858.042 20888853.799
+ 263.584 205.390 56.000 50.000
+ -6914265.23043 -5353744.67142 24014589.927 24014593.829 24014587.945
+ -2838.371 -2211.718 44.000 38.000
+ 04 2 1 17 45 30.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -15343501.04943 -11897135.17442 21885935.834 21885937.691 21885935.092
+ 3096.727 2413.034 53.000 46.000
+ -2824235.09043 -2180573.69342 24300387.408 24300390.143 24300386.390
+ -3219.843 -2508.968 43.000 38.000
+ -24285266.95644 -18855726.84242 20724020.873 20724022.138 20724019.494
+ 7.166 5.584 57.000 50.000
+ -2677582.21743 -1920996.09242 24386791.516 24386794.815 24386790.215
+ -1260.476 -982.189 44.000 39.000
+ -7794824.61643 -6063796.27342 23340083.120 23340088.060 23340081.097
+ 2037.761 1587.866 48.000 42.000
+ -26078197.77844 -20317442.81942 20455256.790 20455260.036 20455256.111
+ -1678.483 -1307.909 57.000 51.000
+ -2204146.75743 -1689910.28842 25020508.745 25020511.050 25020505.732
+ 1419.880 1106.400 40.000 35.000
+ -2226189.17143 -1725282.34442 24828186.163 24828190.499 24828186.337
+ 1352.118 1053.598 44.000 37.000
+ -10894089.47743 -8476587.74342 23222800.305 23222803.868 23222799.106
+ -3463.859 -2699.111 49.000 43.000
+ -22333607.77243 -17391469.46042 20887366.679 20887370.057 20887365.788
+ 257.543 200.683 56.000 50.000
+ -6828962.66743 -5287275.17542 24030823.400 24030825.822 24030821.874
+ -2848.358 -2219.500 45.000 38.000
+ 04 2 1 17 46 0.0000000 0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -15436241.57543 -11969400.50242 21868287.713 21868290.208 21868287.094
+ 3085.768 2404.494 53.000 46.000
+ -2727684.45343 -2105339.46142 24318759.212 24318763.036 24318759.105
+ -3216.783 -2506.584 43.000 38.000
+ -24285308.80844 -18855759.42642 20724012.767 20724014.240 20724011.443
+ -4.619 -3.599 57.000 50.000
+ -2639616.93043 -1891412.81742 24394015.732 24394019.581 24394014.303
+ -1270.538 -990.030 44.000 39.000
+ -7855804.49543 -6111313.03942 23328479.148 23328483.890 23328476.944
+ 2027.306 1579.719 48.000 42.000
+ -26027585.20844 -20278004.46542 20464887.820 20464891.385 20464887.322
+ -1696.030 -1321.582 57.000 51.000
+ -2246680.03843 -1723053.08942 25012412.215 25012418.343 25012411.520
+ 1415.432 1102.934 41.000 35.000
+ -2266614.75343 -1756782.80942 24820494.913 24820500.383 24820492.749
+ 1342.558 1046.149 44.000 37.000
+ -10790077.92443 -8395539.78542 23242592.846 23242596.238 23242592.386
+ -3470.693 -2704.436 49.000 43.000
+ -22341231.58143 -17397410.08642 20885915.998 20885919.237 20885914.888
+ 250.355 195.082 56.000 50.000
+ -6743358.05843 -5220570.26842 24047112.560 24047114.439 24047111.181
+ -2859.218 -2227.962 45.000 38.000
+ 04 2 1 17 46 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -15528678.63343 -12041429.36442 21850698.154 21850699.730 21850697.425
+ 3076.291 2397.110 53.000 46.000
+ -2631234.72443 -2030183.83042 24337113.099 24337118.538 24337112.455
+ -3213.380 -2503.932 43.000 38.000
+ -24285026.80344 -18855539.65342 20724066.396 20724067.747 20724065.043
+ -14.630 -11.400 57.000 50.000
+ -2601380.72243 -1861618.39942 24401290.269 24401295.151 24401289.833
+ -1278.900 -996.545 43.000 38.000
+ -7916505.21443 -6158612.26242 23316927.894 23316932.087 23316925.621
+ 2018.984 1573.234 47.000 41.000
+ -25976478.29344 -20238180.90542 20474613.417 20474616.569 20474612.765
+ -1711.692 -1333.786 58.000 51.000
+ -2289121.18843 -1756124.07642 25004336.373 25004341.695 25004336.435
+ 1413.479 1101.412 39.000 35.000
+ -2306790.76343 -1788088.77942 24812849.865 24812854.333 24812848.505
+ 1335.319 1040.508 43.000 37.000
+ -10685894.09843 -8314357.57642 23262417.502 23262421.316 23262417.680
+ -3475.428 -2708.126 48.000 43.000
+ -449846.92553 -303975.35052 24860689.455 24860688.642 24860687.395
+ 3424.215 2668.219 43.000 35.000
+ -22348664.00543 -17403201.57542 20884501.687 20884504.613 20884500.761
+ 244.828 190.775 56.000 50.000
+ -6657458.83943 -5153635.80342 24063458.936 24063460.894 24063457.781
+ -2868.114 -2234.894 46.000 38.000
+ 04 2 1 17 47 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -15620806.45343 -12113217.27042 21833166.602 21833168.672 21833165.344
+ 3065.562 2388.750 53.000 46.000
+ -2534884.53743 -1955105.77642 24355447.486 24355453.654 24355447.513
+ -3210.367 -2501.585 44.000 39.000
+ -24284419.95044 -18855066.76242 20724181.799 20724183.308 20724180.395
+ -25.893 -20.176 57.000 50.000
+ -2562872.95043 -1831612.35242 24408619.045 24408624.846 24408618.055
+ -1288.429 -1003.971 45.000 39.000
+ -7976924.03743 -6205691.81642 23305430.345 23305436.838 23305429.810
+ 2009.375 1565.747 47.000 41.000
+ -25924875.66144 -20197971.07642 20484433.092 20484436.074 20484432.522
+ -1728.675 -1347.019 58.000 51.000
+ -2331464.71653 -1789118.93452 24996279.877 24996280.346 24996279.522
+ 1409.642 1098.422 42.000 35.000
+ -2346711.55643 -1819195.87642 24805252.070 24805255.867 24805251.823
+ 1326.454 1033.601 43.000 37.000
+ -10581537.82643 -8233040.99242 23282276.877 23282279.711 23282275.934
+ -3481.717 -2713.026 49.000 42.000
+ -552503.09443 -383967.11442 24841153.377 24841153.809 24841152.677
+ 3419.193 2664.306 42.000 35.000
+ -22355900.93743 -17408840.73942 20883124.637 20883127.781 20883123.689
+ 237.700 185.221 56.000 50.000
+ -6571264.81943 -5086471.61042 24079860.932 24079863.040 24079859.345
+ -2878.334 -2242.858 45.000 38.000
+ 04 2 1 17 47 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -15712624.44243 -12184763.75642 21815693.749 21815695.823 21815693.115
+ 3055.365 2380.804 53.000 46.000
+ -2438637.88443 -1880108.38742 24373764.792 24373767.348 24373762.736
+ -3206.430 -2498.517 45.000 39.000
+ -24283492.06243 -18854343.70442 20724357.657 20724359.468 20724356.535
+ -36.349 -28.324 56.000 50.000
+ -2524098.90043 -1801398.78742 24415998.950 24416002.338 24415996.672
+ -1297.089 -1010.719 45.000 39.000
+ -8037063.31143 -6252553.52942 23293986.640 23293991.564 23293984.870
+ 1999.943 1558.397 47.000 41.000
+ -25872781.31244 -20157378.08642 20494346.093 20494349.183 20494345.391
+ -1744.730 -1359.530 57.000 51.000
+ -2373710.61643 -1822037.83942 24988240.825 24988242.843 24988239.818
+ 1406.457 1095.941 44.000 36.000
+ -2386377.16543 -1850104.13542 24797706.417 24797708.016 24797703.810
+ 1317.780 1026.842 44.000 38.000
+ -10477014.23943 -8151594.05342 23302166.186 23302171.203 23302163.337
+ -3486.968 -2717.118 47.000 42.000
+ -655024.90443 -463854.21142 24821643.384 24821647.963 24821641.231
+ 3415.261 2661.242 41.000 34.000
+ -22362943.89843 -17414328.76042 20881784.524 20881787.596 20881783.501
+ 231.470 180.366 56.000 50.000
+ -6484780.89143 -5019081.52642 24096318.338 24096322.365 24096315.838
+ -2887.505 -2250.004 45.000 38.000
+ 04 2 1 17 48 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -15804130.58743 -12256067.24142 21798280.870 21798283.112 21798280.173
+ 3044.229 2372.126 53.000 46.000
+ -2342496.66543 -1805193.15442 24392058.606 24392061.738 24392057.871
+ -3203.763 -2496.439 44.000 39.000
+ -24282245.35644 -18853372.21742 20724595.308 20724596.935 20724594.100
+ -47.506 -37.018 57.000 50.000
+ -2485062.00343 -1770980.44342 24423426.283 24423429.435 24423425.671
+ -1306.250 -1017.857 44.000 39.000
+ -8096924.06343 -6299198.21742 23282594.071 23282599.428 23282593.893
+ 1990.186 1550.794 47.000 41.000
+ -25820197.55644 -20116403.74642 20504352.085 20504355.808 20504351.661
+ -1761.516 -1372.610 57.000 51.000
+ -2415857.24243 -1854879.34742 24980218.202 24980223.704 24980219.188
+ 1403.104 1093.328 42.000 36.000
+ -2425785.57143 -1880811.96542 24790206.691 24790209.608 24790206.522
+ 1308.113 1019.309 43.000 38.000
+ -10372326.92143 -8070019.51942 23322087.358 23322091.716 23322086.540
+ -3492.948 -2721.778 46.000 41.000
+ -757410.42343 -543635.08742 24802161.426 24802162.570 24802159.443
+ 3409.655 2656.874 43.000 36.000
+ -22369792.38044 -17419665.23742 20880481.554 20880484.447 20880480.492
+ 224.288 174.770 57.000 50.000
+ -6398010.50343 -4951468.22042 24112829.088 24112833.187 24112828.841
+ -2897.727 -2257.969 45.000 38.000
+ 04 2 1 17 48 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -15895315.57443 -12327120.46642 21780929.523 21780931.091 21780927.947
+ 3034.315 2364.401 53.000 46.000
+ -2246456.26843 -1730356.50442 24410334.197 24410337.346 24410332.317
+ -3199.373 -2493.018 44.000 39.000
+ -24280675.54243 -18852148.95742 20724893.846 20724895.583 20724892.605
+ -57.357 -44.694 56.000 50.000
+ -2445758.53543 -1740354.39042 24430905.874 24430909.199 24430904.375
+ -1314.117 -1023.987 43.000 38.000
+ -8156499.84843 -6345620.88142 23271257.736 23271263.623 23271256.108
+ 1981.565 1544.077 47.000 41.000
+ -25767119.64444 -20075044.34142 20514453.136 20514456.092 20514452.515
+ -1777.100 -1384.753 58.000 51.000
+ -2457895.55443 -1887636.40642 24972218.840 24972224.861 24972218.058
+ 1400.176 1091.046 41.000 37.000
+ -2464927.65043 -1911312.28042 24782756.822 24782760.451 24782756.461
+ 1301.035 1013.794 42.000 37.000
+ -10267471.86543 -7988314.28442 23342040.087 23342044.651 23342039.044
+ -3497.499 -2725.324 45.000 41.000
+ -859650.77443 -623302.86942 24782705.979 24782707.117 24782704.648
+ 3405.887 2653.938 43.000 36.000
+ -22376438.86544 -17424844.30742 20879216.571 20879219.293 20879215.807
+ 218.518 170.274 57.000 50.000
+ -6310949.75543 -4883628.68142 24129397.300 24129400.888 24129396.053
+ -2906.285 -2264.638 45.000 39.000
+ 04 2 1 17 49 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -15986184.51543 -12397927.44342 21763637.568 21763639.434 21763636.255
+ 3023.554 2356.016 53.000 47.000
+ -2150525.93843 -1655605.58042 24428589.717 24428592.118 24428587.524
+ -3195.972 -2490.368 45.000 38.000
+ -24278792.39043 -18850681.53842 20725252.296 20725253.837 20725250.971
+ -68.162 -53.113 56.000 50.000
+ -2406199.57343 -1709529.24942 24438432.925 24438437.834 24438431.653
+ -1323.037 -1030.938 42.000 37.000
+ -8215799.37043 -6391828.25542 23259973.848 23259978.692 23259973.047
+ 1971.638 1536.341 47.000 41.000
+ -25713557.48344 -20033307.60142 20524645.314 20524648.591 20524644.990
+ -1793.794 -1397.761 57.000 51.000
+ -2499831.35643 -1920313.62242 24964238.316 24964245.507 24964239.883
+ 1396.059 1087.838 43.000 37.000
+ -2503809.27843 -1941609.58042 24775359.603 24775362.403 24775358.670
+ 1291.381 1006.271 41.000 37.000
+ -10162460.00443 -7906486.89642 23362023.692 23362027.866 23362023.707
+ -3503.212 -2729.775 45.000 41.000
+ -961751.68043 -702861.94342 24763274.166 24763277.584 24763272.233
+ 3400.501 2649.741 42.000 36.000
+ -22382890.42844 -17429871.48342 20877988.623 20877991.676 20877987.626
+ 211.817 165.052 57.000 50.000
+ -6223609.69843 -4815571.50942 24146018.059 24146020.907 24146017.023
+ -2915.962 -2272.178 47.000 39.000
+ 04 2 1 17 49 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16076726.90143 -12468479.95442 21746408.418 21746409.981 21746406.995
+ 3012.907 2347.720 54.000 47.000
+ -2054699.28843 -1580935.46242 24446825.080 24446830.329 24446823.729
+ -3192.562 -2487.711 44.000 38.000
+ -24276589.65844 -18848965.10742 20725671.699 20725672.911 20725670.427
+ -78.454 -61.133 57.000 50.000
+ -2366379.66643 -1678500.73242 24446007.192 24446015.139 24446008.830
+ -1331.032 -1037.168 40.000 36.000
+ -8274814.72443 -6437814.18742 23248744.305 23248747.844 23248743.091
+ 1962.228 1529.009 48.000 41.000
+ -25659504.60544 -19991188.49042 20534931.642 20534934.537 20534930.792
+ -1809.752 -1410.196 58.000 51.000
+ -2541654.07443 -1952902.72342 24956279.681 24956285.828 24956279.017
+ 1392.306 1084.914 42.000 37.000
+ -2542419.58643 -1971695.54342 24768007.827 24768013.914 24768009.219
+ 1282.192 999.111 41.000 36.000
+ -10057285.93043 -7824533.08942 23382037.220 23382041.157 23382036.190
+ -3508.253 -2733.704 45.000 41.000
+ -1063702.63043 -782304.23042 24743875.552 24743878.351 24743873.559
+ 3395.932 2646.181 44.000 36.000
+ -22389137.85743 -17434739.60942 20876799.978 20876802.886 20876798.977
+ 204.995 159.736 56.000 50.000
+ -6135984.60443 -4747292.20142 24162692.913 24162694.481 24162691.411
+ -2925.216 -2279.389 46.000 39.000
+ 04 2 1 17 50 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16166938.93643 -12538775.03842 21729241.048 21729242.940 21729239.907
+ 3001.808 2339.071 53.000 47.000
+ -1958976.20943 -1506346.07442 24465040.038 24465043.424 24465038.497
+ -3188.743 -2484.735 44.000 38.000
+ -24274067.48744 -18846999.77042 20726151.896 20726153.296 20726150.406
+ -89.146 -69.464 57.000 50.000
+ -3901720.40453 -2874870.15952 24453633.802 24453640.259 24453635.220
+ -1340.030 -1044.179 39.000 36.000
+ -8333544.75343 -6483577.80242 23237568.531 23237571.480 23237566.654
+ 1953.064 1521.868 48.000 41.000
+ -25604961.55644 -19948687.43142 20545310.824 20545314.056 20545310.044
+ -1826.055 -1422.900 57.000 51.000
+ -2583360.26243 -1985401.04842 24948344.484 24948350.464 24948344.668
+ 1388.481 1081.933 42.000 36.000
+ -2580754.90643 -2001567.16342 24760715.799 24760720.222 24760714.707
+ 1273.613 992.426 43.000 37.000
+ -9951951.10443 -7742454.00842 23402082.434 23402085.520 23402081.057
+ -3513.763 -2737.997 47.000 41.000
+ -1165499.67943 -861626.56342 24724505.021 24724507.350 24724503.753
+ 3390.870 2642.236 44.000 37.000
+ -22395178.96743 -17439446.96042 20875650.340 20875653.183 20875649.581
+ 198.160 154.410 56.000 50.000
+ -6048075.84143 -4678791.87542 24179420.980 24179425.518 24179417.830
+ -2934.490 -2286.615 46.000 39.000
+ 04 2 1 17 50 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16256832.58043 -12608822.04242 21712134.210 21712137.338 21712133.482
+ 2991.043 2330.683 53.000 47.000
+ -1863373.08943 -1431850.12642 24483232.547 24483236.108 24483232.288
+ -3184.580 -2481.491 44.000 38.000
+ -24271242.40344 -18844798.39642 20726689.083 20726690.331 20726687.899
+ -99.169 -77.274 57.000 50.000
+ -3861399.50043 -2843451.27942 24461309.073 24461315.283 24461308.769
+ -1347.975 -1050.370 40.000 36.000
+ -8392004.54143 -6529130.84442 23226443.046 23226448.973 23226442.007
+ 1944.297 1515.037 47.000 41.000
+ -25549944.90244 -19905817.32442 20555780.086 20555783.267 20555779.245
+ -1841.782 -1435.155 57.000 51.000
+ -2624962.02443 -2017817.92742 24940429.318 24940433.244 24940427.970
+ 1385.131 1079.323 43.000 37.000
+ -2618827.33043 -2031233.98042 24753472.150 24753476.703 24753468.703
+ 1264.802 985.560 44.000 37.000
+ -9846472.86043 -7660263.16542 23422154.166 23422157.034 23422152.499
+ -3518.453 -2741.652 47.000 41.000
+ -1267155.28343 -940838.63942 24705160.081 24705163.612 24705158.805
+ 3386.326 2638.695 43.000 37.000
+ -22401027.38143 -17444004.15542 20874537.015 20874540.117 20874536.484
+ 191.793 149.449 56.000 50.000
+ -5959901.10743 -4610084.28642 24196199.801 24196201.984 24196197.873
+ -2943.375 -2293.539 45.000 39.000
+ 04 2 1 17 51 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16346396.78643 -12678612.32942 21695091.457 21695093.666 21695090.142
+ 2980.370 2322.366 54.000 47.000
+ -1767883.27643 -1357442.51842 24501402.719 24501406.926 24501402.047
+ -3180.516 -2478.324 43.000 37.000
+ -24268108.16943 -18842356.12342 20727285.298 20727287.078 20727284.332
+ -109.166 -85.064 56.000 50.000
+ -3820832.04743 -2811840.29242 24469030.014 24469035.781 24469030.419
+ -1355.673 -1056.368 41.000 37.000
+ -8450186.07143 -6574467.04842 23215371.018 23215375.859 23215369.979
+ 1935.264 1507.998 48.000 41.000
+ -25494448.28144 -19862573.21442 20566340.801 20566343.855 20566340.161
+ -1857.405 -1447.328 57.000 50.000
+ -2666448.92243 -2050145.35842 24932533.517 24932537.100 24932532.773
+ 1381.523 1076.511 44.000 38.000
+ -2656626.40643 -2060687.74542 24746277.737 24746282.927 24746276.114
+ 1256.114 978.790 44.000 37.000
+ -9740845.81243 -7577956.37242 23442254.293 23442258.370 23442253.379
+ -3522.925 -2745.136 48.000 41.000
+ -1368659.07443 -1019932.48042 24685844.093 24685846.871 24685843.003
+ 3381.394 2634.852 44.000 38.000
+ -22406673.96343 -17448404.08842 20873462.864 20873465.876 20873461.932
+ 185.308 144.396 56.000 50.000
+ -5871455.02943 -4541165.24942 24213030.705 24213033.152 24213029.885
+ -2952.315 -2300.505 46.000 39.000
+ 04 2 1 17 51 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16435624.10443 -12748140.10842 21678112.428 21678114.642 21678110.791
+ 2968.847 2313.387 54.000 47.000
+ -1672503.49743 -1283120.64842 24519554.492 24519555.641 24519552.893
+ -3177.368 -2475.871 44.000 37.000
+ -24264662.16443 -18839670.91642 20727941.579 20727942.665 20727939.975
+ -119.793 -93.345 56.000 50.000
+ -3780015.39143 -2780035.15842 24476797.358 24476801.015 24476796.821
+ -1364.248 -1063.050 39.000 36.000
+ -8508085.34043 -6619583.30142 23204352.781 23204357.423 23204351.689
+ 1925.103 1500.080 47.000 41.000
+ -25438469.01944 -19818953.02542 20576993.256 20576996.129 20576992.415
+ -1873.827 -1460.125 57.000 50.000
+ -2707814.11943 -2082377.95542 24924663.819 24924666.689 24924661.741
+ 1377.000 1072.987 45.000 39.000
+ -2694145.17343 -2089923.09842 24739136.690 24739142.189 24739136.640
+ 1245.707 970.681 41.000 36.000
+ -9635068.39543 -7495532.39842 23462383.444 23462385.122 23462382.033
+ -3528.254 -2749.289 48.000 41.000
+ -1470003.89643 -1098902.42342 24666559.882 24666561.335 24666557.954
+ 3375.653 2630.379 45.000 38.000
+ -22412113.07143 -17452642.34642 20872427.949 20872430.824 20872426.657
+ 178.101 138.780 56.000 50.000
+ -5782735.57343 -4472033.19442 24229912.818 24229917.823 24229911.267
+ -2961.967 -2308.026 45.000 39.000
+ 04 2 1 17 52 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16524513.26143 -12817404.38942 21661196.707 21661198.996 21661195.547
+ 2957.351 2304.429 54.000 47.000
+ -1577236.22543 -1208886.35742 24537683.063 24537686.494 24537680.708
+ -3173.645 -2472.970 44.000 38.000
+ -24260906.88943 -18836744.71342 20728655.816 20728657.232 20728654.231
+ -130.253 -101.496 56.000 50.000
+ -3738954.01543 -2748039.27342 24484611.373 24484614.875 24484610.036
+ -1372.690 -1069.628 39.000 37.000
+ -8565703.52943 -6664480.53342 23193388.166 23193393.044 23193387.060
+ 1916.309 1493.228 47.000 41.000
+ -25382009.88744 -19774958.90942 20587736.826 20587740.611 20587736.318
+ -1889.929 -1472.672 57.000 51.000
+ -2749056.16843 -2114514.59742 24916814.371 24916817.379 24916813.472
+ 1372.604 1069.562 42.000 38.000
+ -2731381.91743 -2118938.71642 24732054.987 24732054.220 24732050.194
+ 1236.821 963.757 41.000 36.000
+ -9529144.36543 -7412994.20142 23482539.600 23482544.122 23482538.340
+ -3533.211 -2753.151 47.000 42.000
+ -1571188.29743 -1177747.43642 24647303.893 24647306.566 24647302.782
+ 3370.289 2626.199 44.000 38.000
+ -22417344.54943 -17456718.82342 20871432.266 20871435.309 20871431.173
+ 170.954 133.211 56.000 50.000
+ -5693746.50643 -4402691.07942 24246845.956 24246851.399 24246843.814
+ -2970.757 -2314.875 43.000 38.000
+ 04 2 1 17 52 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16613067.29643 -12886407.52542 21644345.266 21644348.009 21644344.374
+ 2946.086 2295.651 53.000 47.000
+ -1482088.80143 -1134745.54642 24555788.746 24555792.979 24555787.286
+ -3169.753 -2469.937 45.000 38.000
+ -24256850.25643 -18833583.69042 20729427.259 20729429.188 20729426.243
+ -140.356 -109.368 56.000 50.000
+ -3697656.36353 -2715859.31652 24492467.733 24492474.255 24492466.340
+ -1380.943 -1076.059 38.000 36.000
+ -8623046.80843 -6709163.57442 23182477.278 23182480.874 23182475.412
+ 1906.702 1485.742 47.000 42.000
+ -25325078.68744 -19730596.94542 20598570.834 20598574.227 20598570.042
+ -1905.729 -1484.984 57.000 51.000
+ -2790178.47343 -2146557.91742 24908987.511 24908993.705 24908988.142
+ 1368.344 1066.242 43.000 38.000
+ -2768340.23343 -2147737.39542 24725020.475 24725025.564 24725018.777
+ 1227.212 956.269 42.000 36.000
+ -9423082.30443 -7330348.46142 23502722.641 23502726.692 23502720.693
+ -3537.829 -2756.750 47.000 42.000
+ -1672215.81343 -1256470.09642 24628078.354 24628081.939 24628077.394
+ 3365.126 2622.176 44.000 38.000
+ -22422373.38143 -17460637.38142 20870475.325 20870478.377 20870474.187
+ 164.132 127.895 56.000 50.000
+ -5604496.23443 -4333145.41042 24263830.942 24263832.668 24263827.327
+ -2979.237 -2321.483 44.000 38.000
+ 04 2 1 17 53 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16701272.52243 -12955138.88042 21627560.892 21627563.157 21627559.414
+ 2934.806 2286.862 54.000 47.000
+ -1387051.26743 -1060690.35742 24573873.679 24573876.521 24573873.561
+ -3165.663 -2466.750 43.000 38.000
+ -24252482.73243 -18830180.42042 20730258.696 20730260.526 20730257.441
+ -150.353 -117.158 56.000 50.000
+ -3656114.37353 -2683489.01452 24500375.179 24500378.752 24500374.340
+ -1388.023 -1081.576 39.000 37.000
+ -8680104.29843 -6753623.91242 23171619.030 23171623.598 23171616.981
+ 1897.804 1478.808 48.000 42.000
+ -25267666.10544 -19685859.88042 20609495.741 20609499.344 20609495.407
+ -1921.421 -1497.211 57.000 50.000
+ -2831167.53043 -2178497.44542 24901188.220 24901192.467 24901188.966
+ 1364.527 1063.268 44.000 38.000
+ -2805006.63343 -2176308.65542 24718044.253 24718046.457 24718043.512
+ 1217.660 948.826 41.000 35.000
+ -9316873.63143 -7247588.47942 23522933.600 23522937.511 23522934.721
+ -3542.157 -2760.122 47.000 41.000
+ -1773072.58143 -1335059.79742 24608887.602 24608889.023 24608885.952
+ 3359.229 2617.581 45.000 38.000
+ -22427187.32943 -17464388.50842 20869559.162 20869562.216 20869558.039
+ 157.344 122.606 56.000 50.000
+ -5514976.41943 -4263389.70642 24280867.104 24280869.465 24280866.510
+ -2988.159 -2328.435 45.000 38.000
+ 04 2 1 17 53 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16789133.94543 -13023602.32942 21610841.115 21610843.903 21610839.882
+ 2922.303 2277.119 54.000 47.000
+ -1292132.84243 -986727.94742 24591933.498 24591940.089 24591933.729
+ -3162.777 -2464.501 43.000 38.000
+ -24247813.89243 -18826542.36242 20731146.844 20731149.067 20731146.029
+ -161.333 -125.714 56.000 50.000
+ -3614338.83943 -2650936.67242 24508322.563 24508329.565 24508322.858
+ -1396.898 -1088.492 41.000 38.000
+ -8736884.04043 -6797867.82642 23160814.615 23160819.731 23160813.138
+ 1887.343 1470.657 48.000 42.000
+ -25209781.63744 -19640755.11742 20620510.646 20620514.229 20620510.273
+ -1938.047 -1510.166 57.000 51.000
+ -2872028.71543 -2210337.23042 24893414.931 24893416.953 24893413.676
+ 1359.080 1059.023 44.000 39.000
+ -2841385.87143 -2204656.14942 24711117.498 24711126.215 24711116.771
+ 1207.359 940.799 40.000 34.000
+ -9210528.91443 -7164722.46942 23543171.209 23543175.335 23543169.379
+ -3547.810 -2764.527 48.000 41.000
+ -1873764.10243 -1413520.69042 24589723.259 24589728.440 24589724.353
+ 3353.293 2612.956 43.000 38.000
+ -22431792.83843 -17467977.21042 20868682.838 20868686.208 20868681.694
+ 149.369 116.391 56.000 50.000
+ -5425197.54843 -4193432.12642 24297951.344 24297954.073 24297949.951
+ -2997.734 -2335.897 45.000 38.000
+ 04 2 1 17 54 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16876646.90143 -13091794.24642 21594187.814 21594190.681 21594186.973
+ 2910.955 2268.277 53.000 47.000
+ -1197332.32043 -912857.43342 24609976.401 24609979.921 24609974.510
+ -3158.686 -2461.314 44.000 38.000
+ -24242842.68243 -18822668.69442 20732093.241 20732094.667 20732091.990
+ -171.098 -133.323 56.000 50.000
+ -3572330.32143 -2618202.77642 24516319.418 24516322.962 24516317.854
+ -1404.452 -1094.378 44.000 38.000
+ -8793383.97643 -6841893.69542 23150063.711 23150066.457 23150061.677
+ 1878.363 1463.659 48.000 42.000
+ -25151424.97544 -19595282.40642 20631616.099 20631619.315 20631615.409
+ -1953.369 -1522.106 57.000 50.000
+ -2912757.32943 -2242073.76842 24885660.448 24885666.100 24885659.258
+ 1355.422 1056.173 41.000 38.000
+ -2877473.59443 -2232776.47742 24704252.729 24704255.765 24704252.475
+ 1197.641 933.227 42.000 36.000
+ -9104048.18143 -7081750.47042 23563432.590 23563435.085 23563432.649
+ -3551.734 -2767.585 48.000 41.000
+ -1974285.32243 -1491848.88542 24570596.540 24570601.052 24570596.607
+ 3347.556 2608.485 44.000 38.000
+ -22436186.61143 -17471400.91842 20867846.624 20867850.132 20867845.812
+ 142.668 111.170 56.000 50.000
+ -5335159.97843 -4123272.98442 24315082.351 24315087.154 24315081.884
+ -3005.656 -2342.070 43.000 38.000
+ 04 2 1 17 54 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16963808.36843 -13159712.28242 21577601.324 21577603.859 21577600.740
+ 2899.728 2259.528 54.000 47.000
+ -1102651.89143 -839080.51042 24627993.303 24627996.132 24627992.204
+ -3153.607 -2457.356 44.000 37.000
+ -24237571.96743 -18818561.62842 20733096.382 20733097.943 20733095.006
+ -180.323 -140.511 56.000 50.000
+ -3530092.28143 -2585290.06342 24524355.028 24524361.889 24524356.230
+ -1411.588 -1099.939 43.000 38.000
+ -8849605.34943 -6885702.49742 23139364.566 23139369.163 23139361.984
+ 1869.763 1456.958 47.000 42.000
+ -25092598.76644 -19549443.81142 20642809.941 20642813.128 20642809.463
+ -1968.354 -1533.782 57.000 50.000
+ -2953351.44243 -2273705.53242 24877937.470 24877940.835 24877936.936
+ 1351.026 1052.748 43.000 38.000
+ -2913268.17143 -2260668.31742 24697440.325 24697443.388 24697436.287
+ 1189.135 926.599 39.000 35.000
+ -8997435.33743 -6998675.51642 23583720.679 23583725.425 23583718.261
+ -3555.471 -2770.497 48.000 41.000
+ -2074634.84243 -1570043.32242 24551499.928 24551504.057 24551498.881
+ 3342.415 2604.479 42.000 38.000
+ -22440368.33543 -17474659.40342 20867051.243 20867054.100 20867050.116
+ 136.125 106.071 56.000 50.000
+ -5244867.07343 -4052914.89542 24332267.287 24332269.825 24332265.838
+ -3014.355 -2348.848 45.000 38.000
+ 04 2 1 17 55 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17050615.85243 -13227354.48742 21561082.306 21561084.651 21561081.476
+ 2887.703 2250.158 54.000 47.000
+ -1008092.64443 -765397.97642 24645986.409 24645989.260 24645985.355
+ -3149.940 -2454.499 43.000 37.000
+ -24232003.28843 -18814222.38542 20734155.896 20734157.396 20734154.806
+ -190.553 -148.483 56.000 50.000
+ -3487626.88943 -2552200.16842 24532437.177 24532440.820 24532435.575
+ -1419.098 -1105.791 43.000 38.000
+ -8905548.43443 -6929294.45242 23128718.993 23128723.330 23128716.923
+ 1860.159 1449.475 47.000 42.000
+ -25033304.63344 -19503240.60942 20654093.841 20654096.437 20654093.017
+ -1984.252 -1546.170 57.000 50.000
+ -2993808.68443 -2305230.63142 24870239.831 24870242.670 24870240.016
+ 1346.090 1048.901 45.000 39.000
+ -2948766.57843 -2288329.36142 24690684.898 24690687.621 24690685.176
+ 1178.971 918.679 42.000 36.000
+ -8890692.46843 -6915499.23442 23604034.580 23604035.946 23604032.936
+ -3560.196 -2774.179 48.000 41.000
+ -2174809.46543 -1648101.42842 24532439.669 24532442.032 24532437.985
+ 3336.415 2599.804 44.000 38.000
+ -22444336.62643 -17477751.56742 20866295.673 20866298.915 20866294.723
+ 128.651 100.248 56.000 50.000
+ -5154321.33143 -3982359.77242 24349497.967 24349500.124 24349495.110
+ -3022.102 -2354.885 44.000 38.000
+ 04 2 1 17 55 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17137068.59043 -13294720.26742 21544631.744 21544633.738 21544630.289
+ 2875.389 2240.563 54.000 47.000
+ -913656.92043 -691811.68942 24663958.456 24663961.983 24663956.134
+ -3145.894 -2451.346 45.000 38.000
+ -24226139.90243 -18809653.50342 20735271.758 20735273.409 20735270.337
+ -200.903 -156.548 56.000 50.000
+ -3444938.70943 -2518936.64042 24540559.864 24540563.901 24540559.722
+ -1426.781 -1111.777 43.000 37.000
+ -8961214.75943 -6972670.78742 23118125.831 23118129.139 23118124.534
+ 1850.395 1441.866 48.000 42.000
+ -24973545.58744 -19456675.12242 20665465.320 20665468.211 20665464.603
+ -2000.257 -1558.642 57.000 50.000
+ -3034127.64943 -2336647.97842 24862567.383 24862571.612 24862567.373
+ 1341.345 1045.204 45.000 39.000
+ -2983967.76543 -2315758.84842 24683987.157 24683992.340 24683986.356
+ 1168.389 910.433 42.000 37.000
+ -8783823.91643 -6832225.01842 23624370.161 23624374.031 23624369.918
+ -3564.822 -2777.783 48.000 40.000
+ -2274808.23943 -1726022.54742 24513410.316 24513411.585 24513408.935
+ 3329.848 2594.687 43.000 38.000
+ -22448091.59043 -17480677.50842 20865581.066 20865584.420 20865580.057
+ 121.103 94.366 56.000 50.000
+ -5063526.54243 -3911610.61342 24366775.205 24366778.339 24366772.492
+ -3031.073 -2361.875 43.000 38.000
+ 04 2 1 17 56 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17223160.28943 -13361804.71942 21528248.614 21528250.766 21528247.492
+ 2864.345 2231.957 54.000 47.000
+ -819342.99943 -618320.35342 24681906.878 24681909.347 24681904.057
+ -3141.185 -2447.677 44.000 38.000
+ -24219980.37243 -18804853.85742 20736443.586 20736445.477 20736442.512
+ -209.491 -163.240 56.000 50.000
+ -3402027.38443 -2485499.21142 24548724.733 24548729.982 24548726.742
+ -1433.344 -1116.891 43.000 37.000
+ -9016601.61043 -7015829.34042 23107586.091 23107590.357 23107585.439
+ 1842.081 1435.388 48.000 42.000
+ -24913320.77144 -19409746.70642 20676925.535 20676929.024 20676925.007
+ -2014.601 -1569.819 57.000 50.000
+ -3074303.12643 -2367953.52442 24854923.190 24854926.433 24854922.866
+ 1337.521 1042.224 46.000 39.000
+ -3018866.12043 -2342952.40442 24677346.149 24677349.592 24677346.670
+ 1159.318 903.365 44.000 37.000
+ -8676828.98543 -6748852.33542 23644732.147 23644734.614 23644729.978
+ -3567.850 -2780.143 48.000 40.000
+ -2374625.55943 -1803802.21742 24494416.115 24494419.123 24494416.010
+ 3324.908 2590.837 42.000 37.000
+ -22451628.95243 -17483433.89642 20864908.207 20864911.571 20864907.129
+ 114.957 89.577 56.000 50.000
+ -4972482.34943 -3840667.08042 24384099.278 24384103.012 24384098.718
+ -3037.858 -2367.162 42.000 38.000
+ 04 2 1 17 56 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17308889.87343 -13428606.99542 21511934.884 21511937.531 21511933.719
+ 2851.548 2221.985 54.000 47.000
+ -725153.71643 -544926.09242 24699828.381 24699832.357 24699826.211
+ -3137.635 -2444.910 43.000 37.000
+ -24213527.75244 -18799825.82742 20737671.875 20737673.387 20737670.784
+ -220.035 -171.456 57.000 50.000
+ -3358897.20343 -2451891.31442 24556931.987 24556937.990 24556933.700
+ -1441.546 -1123.282 42.000 37.000
+ -9071710.56743 -7058771.34942 23097098.830 23097102.973 23097096.489
+ 1832.277 1427.748 48.000 42.000
+ -24852633.53844 -19362457.95642 20688474.257 20688477.297 20688473.517
+ -2030.735 -1582.391 57.000 50.000
+ -3114333.97443 -2399146.42842 24847305.138 24847308.659 24847303.915
+ 1332.126 1038.020 44.000 39.000
+ -3053460.88343 -2369909.40142 24670760.708 24670767.144 24670761.057
+ 1148.130 894.647 41.000 36.000
+ -8569712.18643 -6665384.69142 23665115.254 23665115.563 23665113.835
+ -3572.632 -2783.869 48.000 41.000
+ -2474260.35343 -1881439.70142 24475455.636 24475457.966 24475454.763
+ 3318.193 2585.605 41.000 37.000
+ -22454949.13843 -17486021.05142 20864276.819 20864279.504 20864275.822
+ 107.033 83.402 56.000 50.000
+ -4881193.15343 -3769532.63942 24401469.475 24401475.957 24401468.437
+ -3047.299 -2374.519 43.000 38.000
+ 04 2 1 17 57 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17394251.81143 -13495122.79242 21495690.670 21495693.284 21495689.743
+ 2839.252 2212.404 54.000 47.000
+ -631087.91343 -471628.09642 24717730.073 24717733.018 24717728.502
+ -3133.175 -2441.435 43.000 37.000
+ -24206781.58343 -18794569.05342 20738955.383 20738957.079 20738954.036
+ -229.847 -179.101 56.000 50.000
+ -3315548.77643 -2418113.30142 24565182.605 24565186.332 24565181.013
+ -1448.601 -1128.780 43.000 37.000
+ -9126539.96643 -7101495.52242 23086665.037 23086669.865 23086664.279
+ 1822.752 1420.326 47.000 42.000
+ -24791483.66944 -19314808.71142 20700110.222 20700113.998 20700109.593
+ -2046.013 -1594.296 57.000 50.000
+ -3154215.73843 -2430223.11442 24839715.530 24839719.144 24839714.273
+ 1327.131 1034.128 43.000 39.000
+ -3087747.34643 -2396626.11042 24664238.448 24664240.937 24664238.460
+ 1137.196 886.127 41.000 36.000
+ -8462473.68843 -6581822.23042 23685521.391 23685524.991 23685521.400
+ -3576.790 -2787.109 48.000 41.000
+ -2573707.87243 -1958931.22842 24456528.571 24456531.880 24456528.843
+ 3312.032 2580.804 41.000 37.000
+ -22458048.81143 -17488436.38442 20863686.452 20863689.703 20863685.506
+ 99.622 77.628 56.000 50.000
+ -4789659.11343 -3698207.43942 24418890.537 24418892.743 24418888.037
+ -3054.987 -2380.509 42.000 38.000
+ 04 2 1 17 57 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17479244.94343 -13561351.21042 21479517.601 21479519.731 21479516.785
+ 2826.461 2202.437 55.000 48.000
+ -537147.89743 -398428.09742 24735606.862 24735609.990 24735604.997
+ -3129.724 -2438.746 45.000 38.000
+ -24199744.81343 -18789085.83342 20740294.494 20740295.882 20740293.075
+ -239.933 -186.961 56.000 50.000
+ -3271986.18643 -2384168.37142 24573471.114 24573477.850 24573470.887
+ -1455.940 -1134.499 43.000 37.000
+ -9181091.10543 -7144002.87342 23076285.410 23076289.143 23076283.584
+ 1813.063 1412.776 48.000 42.000
+ -24729874.07443 -19266801.24242 20711834.040 20711837.907 20711833.468
+ -2061.862 -1606.646 56.000 50.000
+ -3193946.94343 -2461182.39942 24832154.976 24832157.794 24832155.147
+ 1321.305 1029.588 43.000 38.000
+ -3121723.96043 -2423101.37442 24657773.661 24657776.757 24657772.011
+ 1126.708 877.954 43.000 37.000
+ -8355117.41743 -6498167.98742 23705950.982 23705953.502 23705948.331
+ -3580.964 -2790.361 47.000 41.000
+ -2672966.44443 -2036275.49142 24437642.860 24437645.307 24437641.303
+ 3304.705 2575.095 42.000 37.000
+ -22460927.87143 -17490679.80342 20863138.301 20863141.609 20863137.441
+ 91.789 71.524 56.000 50.000
+ -4697884.05943 -3626694.40542 24436351.138 24436359.300 24436352.841
+ -3064.180 -2387.673 41.000 38.000
+ 04 2 1 17 58 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17563871.18643 -13627293.73242 21463413.488 21463416.163 21463412.744
+ 2814.874 2193.408 55.000 48.000
+ -443339.22543 -325330.45142 24753455.379 24753460.794 24753454.249
+ -3124.015 -2434.297 44.000 37.000
+ -24192423.71743 -18783381.06042 20741687.531 20741689.133 20741686.174
+ -248.490 -193.628 56.000 50.000
+ -3228216.58543 -2350062.18142 24581801.315 24581806.192 24581801.031
+ -1462.330 -1139.478 42.000 37.000
+ -9235368.80043 -7186297.13742 23065956.278 23065959.643 23065955.026
+ 1804.704 1406.263 48.000 42.000
+ -24667811.16843 -19218440.54142 20723644.496 20723647.957 20723643.544
+ -2076.133 -1617.766 56.000 50.000
+ -3233529.19543 -2492025.74442 24824621.488 24824626.954 24824621.617
+ 1317.150 1026.351 43.000 37.000
+ -3155392.70743 -2449336.77242 24651365.340 24651370.105 24651364.658
+ 1116.790 870.226 41.000 37.000
+ -8247650.15643 -6414427.26542 23726400.762 23726402.996 23726399.331
+ -3583.814 -2792.582 47.000 41.000
+ -2772038.01143 -2113474.15242 24418790.029 24418792.206 24418788.241
+ 3299.433 2570.987 44.000 38.000
+ -22463589.60743 -17492753.88442 20862631.810 20862635.247 20862631.081
+ 85.252 66.430 56.000 50.000
+ -4605874.87643 -3554998.97142 24453861.660 24453865.995 24453861.547
+ -3070.552 -2392.638 42.000 38.000
+ 04 2 1 17 58 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17648122.37543 -13692944.00742 21447381.366 21447383.427 21447379.665
+ 2802.326 2183.631 55.000 48.000
+ -349657.13543 -252331.42342 24771285.169 24771287.108 24771282.248
+ -3120.156 -2431.290 45.000 38.000
+ -24184814.51243 -18777451.79042 20743135.487 20743137.294 20743134.338
+ -258.227 -201.216 56.000 50.000
+ -3184237.18343 -2315792.47542 24590167.973 24590174.604 24590169.462
+ -1469.421 -1145.003 42.000 37.000
+ -9289367.79343 -7228374.25642 23055681.113 23055683.710 23055678.814
+ 1795.650 1399.208 48.000 42.000
+ -24605291.15444 -19169723.65542 20735541.925 20735544.760 20735541.470
+ -2091.417 -1629.675 57.000 50.000
+ -3272954.77943 -2522747.00642 24817118.287 24817122.845 24817118.024
+ 1312.003 1022.340 41.000 37.000
+ -3188745.52543 -2475325.92942 24645017.331 24645023.460 24645017.960
+ 1106.917 862.533 41.000 35.000
+ -8140069.07943 -6330597.85742 23746872.677 23746876.336 23746869.519
+ -3587.650 -2795.571 46.000 40.000
+ -2870914.29743 -2190520.54842 24399973.146 24399976.479 24399972.632
+ 3292.784 2565.806 43.000 38.000
+ -22466027.06943 -17494653.20242 20862168.453 20862171.505 20862167.331
+ 77.762 60.594 56.000 50.000
+ -4513628.52843 -3483118.71242 24471416.871 24471419.237 24471415.040
+ -3078.589 -2398.900 43.000 38.000
+ 04 2 1 17 59 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17731997.46343 -13758301.20542 21431420.142 21431422.878 21431419.015
+ 2789.507 2173.642 54.000 48.000
+ -256105.28943 -179433.88342 24789086.294 24789087.566 24789083.857
+ -3116.256 -2428.251 44.000 37.000
+ -24176920.69544 -18771300.72942 20744638.075 20744639.362 20744636.241
+ -267.833 -208.701 57.000 50.000
+ -3140052.79043 -2281363.10742 24598578.376 24598582.517 24598576.706
+ -1475.978 -1150.113 43.000 37.000
+ -9343090.60143 -7270236.14542 23045457.609 23045460.784 23045455.644
+ 1786.234 1391.871 49.000 42.000
+ -24542318.30644 -19120653.91142 20747525.222 20747528.633 20747524.705
+ -2106.663 -1641.555 57.000 50.000
+ -3312223.39243 -2553345.85642 24809647.754 24809651.149 24809648.321
+ 1306.758 1018.253 42.000 38.000
+ -3221782.09743 -2501068.69142 24638734.327 24638735.875 24638732.151
+ 1096.106 854.109 39.000 35.000
+ -8032379.15743 -6246683.62242 23767365.407 23767367.910 23767363.627
+ -3591.422 -2798.511 45.000 40.000
+ -2969594.92743 -2267414.51642 24381194.997 24381197.639 24381193.886
+ 3286.025 2560.539 43.000 38.000
+ -22468241.29243 -17496378.56142 20861746.900 20861749.976 20861745.784
+ 70.054 54.588 56.000 50.000
+ -4421150.09743 -3411057.62342 24489013.626 24489018.317 24489012.270
+ -3086.146 -2404.789 43.000 38.000
+ 04 2 1 17 59 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17815494.48343 -13823363.81542 21415531.434 21415533.543 21415530.000
+ 2777.289 2164.121 54.000 48.000
+ -162685.65343 -106639.36542 24806862.272 24806865.827 24806859.606
+ -3111.736 -2424.729 42.000 36.000
+ -24168745.11643 -18764930.13342 20746193.862 20746195.546 20746192.348
+ -276.878 -215.749 56.000 50.000
+ -3095667.49743 -2246777.15142 24607024.472 24607029.890 24607022.847
+ -1482.655 -1155.315 43.000 38.000
+ -9396538.64643 -7311883.94042 23035285.604 23035289.941 23035285.357
+ 1777.093 1384.748 48.000 42.000
+ -24478895.65844 -19071233.67342 20759594.080 20759597.047 20759593.592
+ -2121.410 -1653.047 57.000 50.000
+ -3351333.29143 -2583821.15242 24802204.084 24802209.525 24802203.596
+ 1300.894 1013.684 42.000 38.000
+ -3254501.07043 -2526563.98642 24632505.676 24632510.837 24632506.027
+ 1085.799 846.077 40.000 36.000
+ -7924583.79143 -6162687.25542 23787877.108 23787881.505 23787875.977
+ -3594.475 -2800.890 45.000 40.000
+ -3068078.20043 -2344154.69542 24362455.945 24362457.509 24362453.799
+ 3279.610 2555.540 45.000 38.000
+ -22470232.08143 -17497929.82842 20861368.225 20861370.985 20861367.213
+ 62.886 49.002 56.000 50.000
+ -4328443.19843 -3338818.45642 24506655.701 24506660.097 24506653.668
+ -3093.615 -2410.609 44.000 38.000
+ 04 2 1 18 0 0.0000000 0 11G18G17G21G25G15G30G26G 5G16G 6G10
+ -17898608.96843 -13888128.33642 21399714.973 21399717.202 21399713.794
+ 2764.421 2154.094 55.000 48.000
+ -69396.81843 -33946.80742 24824617.172 24824618.377 24824614.318
+ -3107.330 -2421.296 43.000 36.000
+ -24160287.03743 -18758339.40142 20747803.286 20747804.727 20747801.812
+ -286.490 -223.239 56.000 50.000
+ -3051081.71343 -2212034.97142 24615511.065 24615512.803 24615508.699
+ -1489.313 -1160.504 44.000 38.000
+ -9449709.75043 -7353315.94142 23025166.962 23025171.049 23025165.977
+ 1767.819 1377.521 48.000 43.000
+ -24415022.67543 -19021462.51542 20771748.301 20771751.979 20771748.189
+ -2136.366 -1664.701 56.000 50.000
+ -3390279.87343 -2614169.09242 24794791.992 24794795.639 24794791.435
+ 1296.078 1009.931 41.000 36.000
+ -7816682.90143 -6078608.62342 23808409.993 23808415.273 23808409.336
+ -3598.142 -2803.747 45.000 40.000
+ -3166359.00243 -2420737.06842 24343753.176 24343754.675 24343751.931
+ 3272.695 2550.152 44.000 38.000
+ -22471995.75643 -17499304.11442 20861032.406 20861035.694 20861031.578
+ 55.253 43.054 56.000 50.000
+ -4235507.79343 -3266401.27342 24524338.985 24524344.402 24524338.756
+ -3101.185 -2416.508 43.000 38.000
+ 04 2 1 18 0 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17981337.72543 -13952592.29542 21383972.140 21383974.711 21383970.981
+ 2751.203 2143.795 55.000 48.000
+ 23760.61143 38643.40242 24842342.202 24842345.639 24842340.875
+ -3103.131 -2418.024 41.000 35.000
+ -24151547.72143 -18751529.52242 20749465.725 20749467.453 20749464.624
+ -295.895 -230.567 56.000 50.000
+ -3006297.72143 -2177138.36542 24624030.098 24624035.479 24624028.850
+ -1496.165 -1165.843 43.000 38.000
+ -9502603.81743 -7394532.09242 23015103.004 23015105.248 23015100.993
+ 1758.711 1370.424 49.000 42.000
+ -24350701.03543 -18971341.75742 20783988.466 20783992.249 20783987.887
+ -2151.444 -1676.450 56.000 50.000
+ -3429060.00343 -2644387.36842 24787413.280 24787416.041 24787413.052
+ 1290.103 1005.275 43.000 37.000
+ -3318968.47053 -2576798.39752 24620238.041 24620243.851 24620234.778
+ 1062.871 828.211 38.000 35.000
+ -7708678.98643 -5994449.72942 23828964.209 23828966.014 23828962.204
+ -3601.619 -2806.456 45.000 40.000
+ -3264434.49343 -2497159.49642 24325090.434 24325092.144 24325089.240
+ 3266.025 2544.955 45.000 38.000
+ -22473530.81243 -17500500.25942 20860740.351 20860743.400 20860739.054
+ 47.411 36.944 56.000 50.000
+ -4142345.90443 -3193807.57642 24542069.533 24542072.262 24542067.172
+ -3108.649 -2422.324 44.000 39.000
+ 04 2 1 18 1 0.0000000 0 11G18G17G21G25G15G30G26G 5G16G 6G10
+ -18063677.82543 -14016753.40242 21368303.136 21368306.219 21368302.461
+ 2738.195 2133.658 55.000 48.000
+ 116785.61543 111130.40942 24860045.446 24860046.627 24860043.904
+ -3098.324 -2414.278 44.000 36.000
+ -24142528.61044 -18744501.62342 20751182.705 20751183.817 20751181.360
+ -305.261 -237.866 57.000 50.000
+ -2961318.20643 -2142089.37442 24632588.852 24632594.623 24632589.679
+ -1502.386 -1170.690 44.000 39.000
+ -9555221.26643 -7435532.68342 23005088.963 23005093.937 23005087.811
+ 1749.025 1362.877 48.000 42.000
+ -24285932.60943 -18920872.86042 20796313.391 20796317.155 20796313.022
+ -2166.388 -1688.094 56.000 50.000
+ -3467671.20843 -2674474.03342 24780065.061 24780070.111 24780064.505
+ 1284.427 1000.852 43.000 36.000
+ -7600574.43143 -5910212.42042 23849535.138 23849538.862 23849532.091
+ -3605.374 -2809.382 44.000 40.000
+ -3362301.74143 -2573419.63642 24306467.977 24306468.957 24306465.482
+ 3258.581 2539.154 46.000 39.000
+ -22474836.06443 -17501517.34042 20860492.102 20860495.195 20860491.091
+ 39.711 30.944 56.000 50.000
+ -4048960.19943 -3121039.48342 24559840.870 24559844.229 24559838.997
+ -3116.488 -2428.432 44.000 39.000
+ 04 2 1 18 1 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18145635.60743 -14080616.57842 21352707.614 21352709.985 21352706.631
+ 2724.595 2123.061 55.000 48.000
+ 209668.15143 183506.41742 24877719.610 24877722.391 24877718.938
+ -3094.402 -2411.222 45.000 37.000
+ -24133240.41144 -18737264.04842 20752949.454 20752951.304 20752948.471
+ -315.055 -245.497 57.000 50.000
+ -2916154.61143 -2106896.97142 24641184.684 24641190.747 24641185.697
+ -1509.416 -1176.168 44.000 38.000
+ -9607571.60543 -7476325.11842 22995128.547 22995131.238 22995126.839
+ 1739.429 1355.399 49.000 42.000
+ -24220728.61444 -18870064.55242 20808721.313 20808724.666 20808720.831
+ -2181.716 -1700.038 57.000 50.000
+ -3506120.14343 -2704434.19142 24772749.174 24772754.405 24772748.712
+ 1278.282 996.064 44.000 37.000
+ -4957553.29553 -3853617.68152 24608218.673 24608223.808 24608219.111
+ 1041.201 811.325 39.000 35.000
+ -7492380.88243 -5825905.76942 23870123.874 23870126.867 23870122.449
+ -3609.084 -2812.273 44.000 40.000
+ -3459967.28543 -2649522.60342 24287881.450 24287883.918 24287880.431
+ 3251.151 2533.364 45.000 39.000
+ -22475919.30843 -17502361.42142 20860285.863 20860288.911 20860284.662
+ 31.457 24.512 56.000 50.000
+ -3955362.37843 -3048106.13342 24577652.882 24577655.438 24577650.175
+ -3124.302 -2434.521 45.000 39.000
+ 04 2 1 18 2 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18227195.72843 -14144169.89842 21337187.596 21337189.850 21337186.252
+ 2712.486 2113.625 55.000 48.000
+ 302419.89743 255780.46142 24895370.252 24895372.367 24895368.861
+ -3089.119 -2407.106 44.000 37.000
+ -24123672.44444 -18729808.46742 20754770.978 20754771.870 20754769.479
+ -322.973 -251.667 57.000 50.000
+ -2870797.36243 -2071553.66142 24649812.843 24649820.507 24649815.491
+ -1514.858 -1180.409 42.000 38.000
+ -9659642.40343 -7516899.72942 22985219.543 22985223.902 22985218.930
+ 1731.405 1349.147 48.000 43.000
+ -24155078.19044 -18818908.36942 20821214.439 20821217.700 20821213.861
+ -2195.275 -1710.604 57.000 50.000
+ -3544391.47343 -2734255.99242 24765465.775 24765469.728 24765464.998
+ 1273.420 992.275 43.000 37.000
+ -4988638.61853 -3877839.99352 24602301.023 24602308.455 24602301.744
+ 1031.217 803.546 39.000 34.000
+ -7384088.00443 -5741521.71942 23890730.459 23890734.946 23890729.211
+ -3610.761 -2813.580 44.000 40.000
+ -3557416.04143 -2725456.66642 24269336.754 24269339.124 24269335.251
+ 3245.050 2528.610 45.000 38.000
+ -22476766.49843 -17503021.56842 20860124.506 20860127.735 20860123.588
+ 24.814 19.336 56.000 50.000
+ -3861542.26243 -2974999.55842 24595504.583 24595508.763 24595503.504
+ -3130.477 -2439.333 45.000 39.000
+ 04 2 1 18 2 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18308360.22343 -14207414.94342 21321742.078 21321744.282 21321740.764
+ 2699.010 2103.125 55.000 48.000
+ 395035.59643 327948.52642 24912993.619 24912997.205 24912992.321
+ -3084.618 -2403.598 43.000 36.000
+ -24113830.58244 -18722139.45942 20756643.552 20756644.795 20756642.054
+ -332.393 -259.007 57.000 50.000
+ -2825253.96243 -2036065.32842 24658479.199 24658485.212 24658479.904
+ -1521.006 -1185.199 39.000 37.000
+ -9711438.39143 -7557260.22142 22975362.758 22975366.735 22975362.764
+ 1722.193 1341.969 49.000 42.000
+ -24088987.79644 -18767409.36542 20833790.768 20833794.215 20833790.627
+ -2210.160 -1722.202 57.000 50.000
+ -3582487.10743 -2763940.90042 24758217.947 24758221.306 24758216.844
+ 1267.066 987.324 45.000 38.000
+ -5019389.36453 -3901801.62452 24596452.547 24596453.131 24596450.770
+ 1019.534 794.442 40.000 35.000
+ -7275703.22443 -5657066.06042 23911355.688 23911359.977 23911354.374
+ -3614.172 -2816.238 44.000 40.000
+ -3654649.37743 -2801222.87842 24250835.144 24250837.191 24250833.629
+ 3237.663 2522.854 45.000 38.000
+ -22477380.75343 -17503500.20742 20860007.374 20860010.712 20860006.552
+ 16.842 13.124 56.000 50.000
+ -3767506.63043 -2901725.05442 24613399.782 24613403.086 24613398.124
+ -3137.914 -2445.128 46.000 39.000
+ 04 2 1 18 3 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18389126.87843 -14270349.99342 21306372.673 21306374.640 21306371.115
+ 2685.553 2092.639 55.000 48.000
+ 487513.77443 400009.42142 24930592.367 24930595.281 24930592.618
+ -3080.467 -2400.364 44.000 36.000
+ -24103717.10043 -18714258.80342 20758567.718 20758569.258 20758566.688
+ -341.621 -266.198 56.000 50.000
+ -2779527.18843 -2000434.09542 24667183.531 24667186.753 24667183.170
+ -1527.306 -1190.108 43.000 38.000
+ -9762960.26143 -7597407.10842 22965558.480 22965561.885 22965557.146
+ 1712.829 1334.672 48.000 43.000
+ -24022459.90343 -18715569.44942 20846450.970 20846454.327 20846450.049
+ -2224.838 -1733.640 56.000 50.000
+ -3620405.14043 -2793487.41642 24751001.862 24751005.027 24751000.743
+ 1260.846 982.477 45.000 37.000
+ -5049803.74443 -3925501.08842 24590662.559 24590664.338 24590662.022
+ 1008.588 785.913 41.000 36.000
+ -7167229.36143 -5572540.97242 23931997.472 23932001.739 23931996.615
+ -3617.051 -2818.481 44.000 40.000
+ -3751665.05443 -2876819.43742 24232372.514 24232375.284 24232371.925
+ 3230.160 2517.008 46.000 38.000
+ -22477761.24443 -17503796.68642 20859935.332 20859938.554 20859934.559
+ 8.807 6.863 56.000 50.000
+ -3673258.81943 -2828285.17742 24631334.961 24631337.307 24631332.166
+ -3145.060 -2450.696 46.000 39.000
+ 04 2 1 18 3 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18469497.47743 -14332976.42742 21291078.939 21291080.983 21291077.509
+ 2671.982 2082.064 55.000 48.000
+ 579848.82943 471958.78342 24948163.866 24948167.335 24948162.862
+ -3076.052 -2396.924 44.000 37.000
+ -24093338.80744 -18706171.79942 20760543.368 20760544.076 20760541.735
+ -350.734 -273.299 57.000 50.000
+ -2733624.62643 -1964665.88342 24675918.058 24675922.892 24675917.766
+ -1533.352 -1194.820 43.000 37.000
+ -9814213.48643 -7637344.65242 22955804.963 22955810.758 22955803.114
+ 1703.561 1327.450 49.000 43.000
+ -23955501.49743 -18663394.06842 20859192.465 20859195.682 20859192.157
+ -2239.555 -1745.108 56.000 50.000
+ -3658147.77343 -2822897.23642 24743820.644 24743823.489 24743819.525
+ 1254.920 977.860 45.000 38.000
+ -5079884.00243 -3948940.21642 24584939.545 24584941.773 24584936.839
+ 996.867 776.779 40.000 35.000
+ -7058673.36143 -5487951.90242 23952655.652 23952658.774 23952654.059
+ -3620.261 -2820.982 45.000 40.000
+ -3848465.28343 -2952248.17842 24213953.415 24213951.793 24213953.369
+ 3222.616 2511.129 47.000 39.000
+ -22477911.64243 -17503913.87842 20859906.425 20859910.169 20859905.597
+ .778 .606 56.000 50.000
+ -3578805.78943 -2754685.40742 24649307.651 24649310.713 24649307.793
+ -3152.249 -2456.298 45.000 38.000
+ 04 2 1 18 4 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18549463.88343 -14395287.90342 21275861.542 21275863.820 21275860.451
+ 2658.661 2071.684 55.000 48.000
+ 672045.03743 543799.99842 24965709.404 24965712.260 24965707.164
+ -3071.262 -2393.191 43.000 37.000
+ -24082691.53044 -18697875.20742 20762568.671 20762570.158 20762567.607
+ -359.488 -280.120 57.000 50.000
+ -2687543.81943 -1928758.76042 24684687.986 24684691.380 24684686.609
+ -1539.185 -1199.365 43.000 38.000
+ -9865192.95943 -7677068.88942 22946105.146 22946107.304 22946102.802
+ 1694.588 1320.458 50.000 43.000
+ -23888109.19943 -18610880.59842 20872016.835 20872020.261 20872016.078
+ -2253.728 -1756.152 56.000 49.000
+ -3695707.12043 -2852164.27842 24736673.247 24736674.454 24736671.218
+ 1248.989 973.238 46.000 38.000
+ -5109622.23543 -3972112.92242 24579280.850 24579282.862 24579281.238
+ 985.863 768.205 42.000 35.000
+ -6950032.96043 -5403297.04542 23973328.186 23973332.227 23973328.096
+ -3622.873 -2823.018 45.000 40.000
+ -3945042.10743 -3027502.79742 24195575.219 24195575.665 24195573.399
+ 3215.313 2505.439 46.000 39.000
+ -22477825.19543 -17503846.52042 20859923.050 20859926.407 20859921.848
+ -6.937 -5.405 56.000 50.000
+ -3484145.20943 -2680923.90242 24667321.553 24667324.392 24667318.728
+ -3159.313 -2461.802 44.000 38.000
+ 04 2 1 18 4 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18629021.18343 -14457280.58842 21260722.034 21260724.779 21260720.723
+ 2645.366 2061.324 55.000 48.000
+ 764103.93443 615534.20342 24983226.734 24983229.005 24983222.888
+ -3066.354 -2389.367 43.000 36.000
+ -24071774.62744 -18689368.50842 20764646.395 20764647.503 20764644.977
+ -368.366 -287.038 57.000 50.000
+ -2641285.12343 -1892713.01242 24693492.505 24693494.469 24693490.727
+ -1544.552 -1203.547 44.000 38.000
+ -9915896.89243 -7716578.43742 22936456.046 22936459.776 22936454.853
+ 1686.056 1313.810 49.000 43.000
+ -23820282.86743 -18558028.91542 20884923.449 20884927.029 20884923.358
+ -2267.909 -1767.202 56.000 49.000
+ -3733078.42643 -2881284.79142 24729560.823 24729562.980 24729561.119
+ 1242.554 968.224 45.000 37.000
+ -5139013.89543 -3995015.48342 24573688.053 24573692.626 24573687.146
+ 973.921 758.899 42.000 35.000
+ -6841308.29543 -5318576.53642 23994018.025 23994022.645 23994016.928
+ -3625.513 -2825.075 45.000 40.000
+ -4041390.26443 -3102579.22642 24177240.353 24177240.798 24177238.574
+ 3208.023 2499.758 46.000 39.000
+ -22477498.39143 -17503591.86342 20859985.405 20859988.086 20859984.623
+ -14.737 -11.483 56.000 50.000
+ -3389277.20043 -2607000.78842 24685373.947 24685377.127 24685372.809
+ -3165.860 -2466.904 45.000 38.000
+ 04 2 1 18 5 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18708164.91943 -14518951.01442 21245661.866 21245663.941 21245660.467
+ 2631.900 2050.831 55.000 48.000
+ 856026.38843 687162.10142 25000716.021 25000721.120 25000715.597
+ -3060.779 -2385.022 42.000 35.000
+ -24060587.89444 -18680651.54142 20766774.854 20766776.580 20766773.531
+ -376.871 -293.666 57.000 50.000
+ -2594849.80143 -1856529.64542 24702328.757 24702331.247 24702326.151
+ -1550.079 -1207.854 45.000 37.000
+ -9966323.71743 -7755872.02942 22926860.517 22926863.440 22926858.432
+ 1676.876 1306.657 50.000 43.000
+ -23752022.71143 -18504839.18342 20897913.123 20897916.502 20897912.825
+ -2281.966 -1778.155 56.000 50.000
+ -3770257.43143 -2910255.44942 24722486.525 24722491.189 24722486.076
+ 1236.704 963.665 45.000 38.000
+ -5168054.74343 -4017644.72442 24568162.687 24568163.956 24568160.194
+ 962.622 750.095 42.000 36.000
+ -6732500.01543 -5233790.86742 24014724.847 24014728.041 24014722.611
+ -3627.610 -2826.709 45.000 40.000
+ -4137505.48843 -3177474.17642 24158951.499 24158951.224 24158948.573
+ 3200.467 2493.870 47.000 39.000
+ -22476928.12843 -17503147.49642 20860093.907 20860096.833 20860092.701
+ -22.463 -17.504 56.000 50.000
+ -3294202.32243 -2532916.44642 24703466.134 24703469.763 24703466.066
+ -3171.956 -2471.654 43.000 37.000
+ 04 2 1 18 5 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18786904.54143 -14580306.55142 21230677.938 21230680.130 21230677.085
+ 2618.219 2040.171 55.000 48.000
+ 947799.62543 758673.65742 25018181.514 25018186.101 25018180.718
+ -3056.304 -2381.535 41.000 35.000
+ -24049144.78044 -18671734.80742 20768952.522 20768954.045 20768951.277
+ -385.493 -300.384 57.000 50.000
+ -2548252.18843 -1820219.83242 24711194.620 24711198.688 24711191.673
+ -1555.686 -1212.223 45.000 38.000
+ -10016485.67543 -7794959.23642 22917313.649 22917318.034 22917312.858
+ 1668.010 1299.748 49.000 43.000
+ -23683342.59543 -18451322.20142 20910982.419 20910986.179 20910982.296
+ -2296.161 -1789.216 56.000 50.000
+ -3807253.20243 -2939083.36742 24715446.176 24715450.881 24715444.566
+ 1230.453 958.795 45.000 38.000
+ -5196754.41643 -4040008.05742 24562700.543 24562702.798 24562698.132
+ 950.837 740.912 42.000 36.000
+ -6623622.03443 -5148950.89142 24035443.127 24035446.971 24035441.586
+ -3630.223 -2828.745 45.000 40.000
+ -4233396.70843 -3252194.57542 24140702.255 24140702.716 24140699.626
+ 3192.671 2487.796 46.000 39.000
+ -22476124.94543 -17502521.63242 20860246.558 20860249.738 20860245.509
+ -30.445 -23.723 56.000 50.000
+ -3198934.76343 -2458681.99042 24721596.412 24721596.884 24721596.009
+ -3178.744 -2476.943 44.000 37.000
+ 04 2 1 18 6 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18865230.42343 -14641339.69242 21215772.801 21215775.778 21215771.817
+ 2603.532 2028.726 55.000 48.000
+ 1039430.30643 830074.14442 25035618.403 25035621.905 25035615.732
+ -3052.531 -2378.595 40.000 35.000
+ -24037439.94944 -18662614.14042 20771180.046 20771181.158 20771178.433
+ -394.948 -307.752 57.000 50.000
+ -2501487.75043 -1783780.01242 24720092.782 24720097.680 24720093.048
+ -1561.999 -1217.142 44.000 38.000
+ -10066375.95243 -7833834.75542 22907820.139 22907824.447 22907818.909
+ 1658.117 1292.039 49.000 43.000
+ -23614237.42643 -18397474.01742 20924132.769 20924136.654 20924132.026
+ -2310.966 -1800.753 56.000 49.000
+ -3844056.18143 -2967761.01542 24708443.511 24708444.234 24708441.820
+ 1223.113 953.075 45.000 38.000
+ -5225103.00643 -4062097.91342 24557306.886 24557310.443 24557305.580
+ 938.731 731.479 43.000 36.000
+ -6514670.22943 -5064053.38642 24056175.720 24056178.407 24056174.340
+ -3633.384 -2831.208 45.000 40.000
+ -4329054.28943 -3326732.91242 24122498.479 24122502.999 24122497.902
+ 3184.365 2481.323 45.000 39.000
+ -22475080.25243 -17501707.58242 20860445.398 20860448.673 20860444.664
+ -39.156 -30.511 56.000 50.000
+ -3103470.13843 -2384293.93442 24739761.936 24739765.440 24739759.495
+ -3185.873 -2482.498 43.000 37.000
+ 04 2 1 18 6 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18943138.16243 -14702047.01042 21200947.781 21200950.392 21200946.477
+ 2590.486 2018.561 55.000 48.000
+ 1130918.54343 901363.70542 25053028.538 25053028.102 25053025.574
+ -3046.638 -2374.004 40.000 34.000
+ -24025473.68844 -18653289.76642 20773457.108 20773458.294 20773455.798
+ -402.608 -313.720 57.000 50.000
+ -2454558.30543 -1747211.60542 24729021.087 24729027.324 24729023.616
+ -1566.118 -1220.352 42.000 37.000
+ -10115993.62843 -7872497.85242 22898378.832 22898381.611 22898377.146
+ 1650.123 1285.810 50.000 43.000
+ -23544708.09943 -18343295.32542 20937363.610 20937367.304 20937362.964
+ -2324.122 -1811.004 56.000 49.000
+ -3880662.59143 -2996285.45442 24701475.980 24701480.838 24701476.212
+ 1217.489 948.693 44.000 39.000
+ -5253096.89243 -4083911.28742 24551978.032 24551980.421 24551977.721
+ 927.902 723.040 43.000 36.000
+ -6405645.58543 -4979099.12742 24076921.785 24076925.212 24076920.131
+ -3634.953 -2832.431 45.000 40.000
+ -4424473.96143 -3401085.85842 24104340.084 24104343.416 24104340.002
+ 3177.085 2475.651 45.000 39.000
+ -22473791.45343 -17500703.31942 20860691.122 20860693.826 20860690.112
+ -46.381 -36.141 56.000 50.000
+ -3007809.34943 -2309753.09042 24757963.554 24757967.763 24757962.440
+ -3191.155 -2486.614 43.000 37.000
+ 04 2 1 18 7 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19020627.70743 -14762428.46242 21186201.984 21186204.551 21186200.680
+ 2575.358 2006.772 55.000 48.000
+ 1222261.19143 972539.78042 25070410.168 25070409.529 25070406.998
+ -3042.728 -2370.957 40.000 34.000
+ -24013250.13444 -18643764.89242 20775782.692 20775784.387 20775781.731
+ -412.138 -321.146 57.000 50.000
+ -2407468.81643 -1710518.50042 24737981.594 24737989.692 24737981.562
+ -1572.902 -1225.638 41.000 37.000
+ -10165341.70843 -7910950.87642 22888987.073 22888991.928 22888985.945
+ 1639.909 1277.851 49.000 43.000
+ -23474759.27143 -18288789.74242 20950674.953 20950678.135 20950674.164
+ -2339.110 -1822.683 56.000 49.000
+ -3917072.37343 -3024656.73642 24694549.293 24694552.114 24694547.807
+ 1209.925 942.799 44.000 38.000
+ -5280736.24743 -4105448.43642 24546717.883 24546722.147 24546717.331
+ 915.103 713.067 44.000 36.000
+ -6296553.06843 -4894091.97442 24097681.879 24097684.764 24097679.531
+ -3637.930 -2834.751 45.000 40.000
+ -4519655.53743 -3475253.29742 24086227.678 24086231.530 24086227.947
+ 3168.379 2468.867 45.000 39.000
+ -22472259.85043 -17499509.85942 20860982.067 20860985.482 20860981.117
+ -55.640 -43.356 56.000 50.000
+ -2911957.71043 -2235063.50042 24776205.465 24776207.886 24776203.033
+ -3198.580 -2492.400 43.000 37.000
+ 04 2 1 18 7 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19097697.28143 -14822482.66442 21171535.914 21171538.183 21171534.815
+ 2561.949 1996.324 55.000 48.000
+ -4988222.78753 -3866798.47852 25087763.109 25087765.982 25087761.521
+ -3037.253 -2366.691 38.000 33.000
+ -24000771.44943 -18634041.22042 20778157.308 20778159.040 20778156.324
+ -420.238 -327.458 56.000 50.000
+ -2360222.47243 -1673703.14342 24746972.513 24746978.032 24746972.171
+ -1577.343 -1229.098 42.000 36.000
+ -10214421.01443 -7949194.46842 22879647.192 22879652.408 22879646.759
+ 1631.577 1271.359 49.000 43.000
+ -23404393.37643 -18233959.16842 20964064.768 20964068.201 20964064.465
+ -2352.612 -1833.204 56.000 49.000
+ -3953283.48943 -3052873.20242 24687655.782 24687661.135 24687655.357
+ 1203.568 937.845 43.000 37.000
+ -5308019.14143 -4126707.82042 24541527.482 24541530.309 24541527.203
+ 903.880 704.322 45.000 37.000
+ -6187395.69143 -4809034.26942 24118453.755 24118458.384 24118452.578
+ -3639.952 -2836.326 46.000 40.000
+ -4614596.73943 -3549233.41642 24068161.195 24068163.257 24068160.509
+ 3160.626 2462.825 44.000 39.000
+ -22470484.70643 -17498126.62642 20861319.668 20861322.821 20861318.661
+ -63.324 -49.343 56.000 50.000
+ -2815918.04343 -2160227.39842 24794479.112 24794484.224 24794478.626
+ -3204.476 -2496.994 42.000 36.000
+ 04 2 1 18 8 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19174343.67543 -14882207.11542 21156950.851 21156952.971 21156949.545
+ 2548.464 1985.816 55.000 49.000
+ -4897174.42753 -3795851.72452 25105088.872 25105092.922 25105086.540
+ -3031.876 -2362.501 40.000 34.000
+ -23988039.33144 -18624120.07342 20780580.239 20780582.142 20780579.040
+ -427.915 -333.440 57.000 50.000
+ -2312821.92043 -1636767.65642 24755996.315 24755999.657 24755995.739
+ -1581.905 -1232.653 44.000 37.000
+ -10263231.96443 -7987228.93742 22870360.449 22870363.042 22870358.111
+ 1623.311 1264.918 50.000 43.000
+ -23333612.61243 -18178805.33042 20977534.221 20977537.530 20977533.604
+ -2365.525 -1843.266 56.000 49.000
+ -3989293.46443 -3080932.88242 24680804.728 24680808.892 24680804.033
+ 1197.775 933.331 44.000 38.000
+ -5334943.18643 -4147687.58842 24536404.019 24536406.942 24536401.747
+ 892.463 695.426 44.000 37.000
+ -6078175.61543 -4723927.73642 24139237.334 24139241.925 24139236.638
+ -3641.121 -2837.237 45.000 40.000
+ -4709294.79943 -3623024.07942 24050141.076 24050144.856 24050140.353
+ 3153.269 2457.093 45.000 39.000
+ -22468464.69343 -17496552.58842 20861704.722 20861707.372 20861703.788
+ -70.743 -55.124 56.000 50.000
+ -2719692.78243 -2085246.62542 24812789.952 24812794.264 24812788.476
+ -3209.913 -2501.231 41.000 35.000
+ 04 2 1 18 8 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19250563.13843 -14941598.88242 21142446.623 21142448.650 21142445.478
+ 2533.318 1974.014 55.000 49.000
+ -4806273.06143 -3725019.43442 25122386.252 25122391.592 25122383.987
+ -3026.917 -2358.637 40.000 35.000
+ -23975053.79444 -18614001.45742 20783051.519 20783053.021 20783050.213
+ -437.036 -340.547 57.000 50.000
+ -2265268.78443 -1599713.30842 24765041.327 24765047.656 24765041.995
+ -1587.492 -1237.007 41.000 36.000
+ -10311773.71043 -8025053.64542 22861122.297 22861126.487 22861121.344
+ 1613.333 1257.143 49.000 42.000
+ -23262417.70143 -18123328.78042 20991082.232 20991085.623 20991081.635
+ -2380.210 -1854.709 56.000 49.000
+ -4025098.31943 -3108832.75142 24673991.392 24673995.448 24673990.155
+ 1189.793 927.111 45.000 39.000
+ -5361504.60543 -4168384.80142 24531348.122 24531352.741 24531347.342
+ 879.271 685.146 42.000 37.000
+ -5968894.15943 -4638773.37542 24160032.835 24160036.208 24160032.007
+ -3643.654 -2839.211 46.000 40.000
+ -4803745.66443 -3696622.13642 24032167.025 24032170.713 24032166.212
+ 3144.124 2449.967 45.000 39.000
+ -22466197.00043 -17494785.54742 20862135.720 20862139.161 20862134.775
+ -79.771 -62.159 56.000 50.000
+ -2623283.13343 -2010122.24242 24831137.477 24831142.879 24831133.494
+ -3216.889 -2506.667 39.000 34.000
+ 04 2 1 18 9 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19326351.96143 -15000655.09142 21128024.859 21128026.662 21128023.373
+ 2519.458 1963.214 56.000 49.000
+ -4715517.97543 -3654301.18042 25139657.410 25139662.881 25139657.455
+ -3022.693 -2355.345 42.000 35.000
+ -23961815.48844 -18603685.88342 20785570.381 20785571.853 20785569.215
+ -445.099 -346.830 57.000 50.000
+ -2217564.41143 -1562541.04242 24774120.880 24774127.006 24774120.443
+ -1592.326 -1240.773 43.000 35.000
+ -10360045.42743 -8062667.94542 22851937.860 22851940.779 22851936.221
+ 1604.925 1250.591 50.000 43.000
+ -23190809.71543 -18067530.35142 21004708.638 21004712.344 21004707.931
+ -2393.453 -1865.028 56.000 49.000
+ -4060694.41743 -3136569.95842 24667216.241 24667221.787 24667215.771
+ 1183.484 922.195 44.000 39.000
+ -5387700.09243 -4188796.85142 24526364.349 24526366.345 24526364.361
+ 867.247 675.777 41.000 37.000
+ -5859552.74343 -4553572.26742 24180839.745 24180843.348 24180838.933
+ -3645.338 -2840.523 47.000 40.000
+ -4897945.25143 -3770024.37042 24014242.679 24014245.791 24014240.845
+ 3136.019 2443.651 45.000 39.000
+ -22463679.19943 -17492823.62242 20862615.259 20862618.270 20862614.006
+ -87.702 -68.339 56.000 50.000
+ -7252950.30753 -5617655.14052 24849515.354 24849523.670 24849513.434
+ -3222.536 -2511.067 38.000 34.000
+ 04 2 1 18 9 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19401709.88243 -15059375.53642 21113684.456 21113686.564 21113683.311
+ 2505.056 1951.992 56.000 49.000
+ -4624912.79043 -3583699.78442 25156900.366 25156903.532 25156895.845
+ -3017.393 -2351.215 41.000 34.000
+ -23948328.61643 -18593176.60942 20788137.059 20788138.522 20788135.758
+ -453.430 -353.322 56.000 50.000
+ -2169714.14143 -1525255.14742 24783228.637 24783232.778 24783226.882
+ -1597.006 -1244.420 44.000 36.000
+ -10408050.22543 -8100074.24942 22842802.340 22842806.633 22842799.917
+ 1595.865 1243.531 49.000 43.000
+ -23118793.34043 -18011413.70542 21018412.785 21018416.201 21018412.108
+ -2407.019 -1875.599 56.000 49.000
+ -4096082.00043 -3164144.65342 24660482.312 24660486.442 24660481.679
+ 1176.182 916.505 44.000 38.000
+ -5413529.67443 -4208923.77242 24521448.262 24521453.573 24521446.894
+ 855.254 666.432 41.000 36.000
+ -5750156.30743 -4468328.30742 24201656.993 24201661.846 24201656.288
+ -3646.993 -2841.813 46.000 40.000
+ -4991893.49443 -3843230.75542 23996362.569 23996368.168 23996362.289
+ 3128.075 2437.461 44.000 39.000
+ -22460912.58043 -17490667.81642 20863141.453 20863144.352 20863140.590
+ -96.067 -74.857 56.000 50.000
+ -7156179.34043 -5542249.20042 24867932.981 24867939.046 24867932.058
+ -3228.218 -2515.494 40.000 34.000
+ 04 2 1 18 10 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19476637.35643 -15117760.56042 21099426.373 21099428.652 21099424.850
+ 2490.435 1940.599 55.000 49.000
+ -4534460.58843 -3513217.52742 25174111.995 25174118.782 25174112.985
+ -3012.943 -2347.748 41.000 34.000
+ -23934597.19743 -18582476.77742 20790750.009 20790751.709 20790748.728
+ -461.680 -359.751 56.000 50.000
+ -2121723.24443 -1487859.62842 24792360.018 24792362.934 24792359.488
+ -1601.706 -1248.082 43.000 35.000
+ -10455791.02743 -8137274.84942 22833716.268 22833721.012 22833714.568
+ 1587.026 1236.644 49.000 43.000
+ -23046373.18643 -17954982.41442 21032194.489 21032197.119 21032193.520
+ -2420.603 -1886.184 56.000 49.000
+ -4131260.75143 -3191556.68042 24653789.928 24653794.090 24653787.933
+ 1169.073 910.966 46.000 39.000
+ -5438993.79243 -4228765.89642 24516601.524 24516608.477 24516599.476
+ 842.502 656.495 39.000 36.000
+ -5640709.78843 -4383045.30542 24222485.196 24222488.630 24222484.052
+ -3648.810 -2843.228 47.000 41.000
+ -5085590.20443 -3916241.14342 23978534.282 23978537.497 23978533.560
+ 3119.149 2430.506 46.000 40.000
+ -22457898.42543 -17488319.12142 20863715.261 20863717.792 20863714.181
+ -104.478 -81.411 56.000 50.000
+ -7059235.25243 -5466708.35842 24886383.146 24886384.811 24886380.572
+ -3234.024 -2520.019 42.000 34.000
+ 04 2 1 18 10 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19551127.40943 -15175804.74242 21085251.369 21085252.931 21085250.253
+ 2475.615 1929.051 56.000 49.000
+ -4444158.00443 -3442851.92242 25191295.262 25191300.376 25191293.451
+ -3007.774 -2343.720 42.000 33.000
+ -23920618.54743 -18571584.29442 20793410.149 20793411.557 20793408.733
+ -470.046 -366.270 56.000 50.000
+ -2073590.27943 -1450353.36242 24801520.693 24801522.500 24801516.582
+ -1606.570 -1251.873 43.000 35.000
+ -10503264.25143 -8174266.95942 22824682.855 22824687.079 22824681.466
+ 1577.869 1229.508 49.000 43.000
+ -22973547.43243 -17898235.08042 21046052.018 21046055.567 21046051.387
+ -2434.374 -1896.915 55.000 49.000
+ -4166224.29743 -3218800.96142 24647135.789 24647139.309 24647134.018
+ 1161.886 905.366 45.000 38.000
+ -5464085.58143 -4248317.89542 24511831.599 24511831.205 24511829.219
+ 830.415 647.077 42.000 37.000
+ -5531211.14343 -4297721.69542 24243322.179 24243325.569 24243320.628
+ -3650.930 -2844.880 47.000 40.000
+ -5179028.41443 -3989050.11642 23960753.567 23960757.025 23960752.618
+ 3110.175 2423.513 46.000 40.000
+ -22454631.13643 -17485773.17842 20864336.965 20864339.472 20864335.831
+ -113.182 -88.194 56.000 50.000
+ -6962116.42043 -5391031.31442 24904865.116 24904865.759 24904863.033
+ -3240.228 -2524.853 43.000 34.000
+ 04 2 1 18 11 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19625180.03743 -15233508.07542 21071159.443 21071160.922 21071158.148
+ 2460.364 1917.167 56.000 49.000
+ -4354008.26043 -3372605.44542 25208450.349 25208455.127 25208451.228
+ -3003.023 -2340.018 42.000 33.000
+ -23906397.23743 -18560502.73442 20796116.105 20796117.937 20796114.959
+ -478.839 -373.121 56.000 50.000
+ -2025320.74643 -1412740.78942 24810704.882 24810707.016 24810704.026
+ -1612.090 -1256.174 44.000 35.000
+ -10550473.11343 -8211053.07342 22815699.902 22815703.051 22815698.968
+ 1568.682 1222.350 50.000 43.000
+ -22900320.96643 -17841175.49842 21059986.775 21059990.398 21059985.926
+ -2448.232 -1907.713 56.000 49.000
+ -4200972.77243 -3245877.72242 24640522.654 24640525.975 24640522.869
+ 1153.661 898.957 45.000 39.000
+ -5488805.81043 -4267580.41442 24507124.642 24507127.387 24507124.990
+ 817.334 636.884 42.000 37.000
+ -5421665.84743 -4212361.73942 24264168.049 24264171.346 24264164.644
+ -3652.904 -2846.419 47.000 41.000
+ -5272208.22243 -4061657.72242 23943022.965 23943025.421 23943020.963
+ 3100.810 2416.215 46.000 40.000
+ -22451112.30743 -17483031.23142 20865006.374 20865009.185 20865005.509
+ -122.214 -95.232 56.000 50.000
+ -6864827.87143 -5315222.04242 24923377.252 24923380.276 24923376.379
+ -3246.549 -2529.778 42.000 34.000
+ 04 2 1 18 11 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19698789.79943 -15290866.30942 21057152.011 21057154.115 21057150.438
+ 2446.035 1906.001 56.000 49.000
+ -4264008.73743 -3302475.94342 25225577.658 25225584.398 25225578.291
+ -2997.593 -2335.787 42.000 33.000
+ -23891931.51443 -18549230.72442 20798868.701 20798870.694 20798867.659
+ -486.312 -378.944 56.000 50.000
+ -1976913.77043 -1375021.09742 24819917.389 24819922.624 24819916.556
+ -1616.146 -1259.334 43.000 36.000
+ -10597414.64043 -8247630.85342 22806766.676 22806769.295 22806764.406
+ 1560.019 1215.599 49.000 43.000
+ -22826692.65443 -17783802.79442 21073997.736 21074001.391 21073997.524
+ -2461.059 -1917.708 55.000 49.000
+ -4235500.21343 -3272782.23042 24633954.752 24633956.524 24633954.136
+ 1147.051 893.806 46.000 39.000
+ -5513148.48043 -4286548.68542 24502492.130 24502498.028 24502492.233
+ 804.895 627.191 43.000 37.000
+ -5312072.97743 -4126964.71342 24285022.674 24285025.433 24285020.637
+ -3654.042 -2847.305 47.000 41.000
+ -5365123.26643 -4134059.02742 23925342.026 23925343.974 23925341.573
+ 3092.765 2409.947 47.000 40.000
+ -22447337.11643 -17480089.51842 20865724.802 20865727.416 20865723.687
+ -130.271 -101.510 56.000 50.000
+ -6767368.95643 -5239280.04942 24941921.927 24941922.517 24941920.911
+ -3251.607 -2533.720 39.000 33.000
+ 04 2 1 18 12 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19771960.24343 -15347882.21942 21043227.646 21043230.455 21043226.778
+ 2430.967 1894.260 55.000 49.000
+ 25242670.790
+ -2992.900 -2332.130 38.000
+ -23877229.41344 -18537774.52142 20801667.063 20801668.369 20801665.326
+ -494.595 -385.399 57.000 50.000
+ -1928378.66643 -1337201.52642 24829152.427 24829154.840 24829149.262
+ -1620.287 -1262.561 44.000 36.000
+ -10644095.64243 -8284005.62242 22797884.020 22797887.934 22797883.200
+ 1550.976 1208.553 50.000 43.000
+ -22752671.07343 -17726123.64742 21088083.528 21088087.033 21088082.712
+ -2474.611 -1928.268 55.000 49.000
+ -4269810.79443 -3299517.71442 24627424.524 24627427.188 24627423.574
+ 1139.207 887.694 45.000 39.000
+ -5537118.15943 -4305226.35142 24497931.255 24497935.526 24497928.269
+ 791.925 617.084 43.000 36.000
+ -5202441.46243 -4041537.56742 24305884.994 24305886.278 24305882.831
+ -3655.597 -2848.517 47.000 40.000
+ -5457777.46343 -4206257.07142 23907709.246 23907711.679 23907708.831
+ 3083.392 2402.643 46.000 39.000
+ -22443310.67143 -17476952.03542 20866491.076 20866493.580 20866490.185
+ -139.042 -108.344 56.000 50.000
+ -6669748.27143 -5163211.97442 24960499.956 24960504.146 24960493.484
+ -3257.109 -2538.007 41.000 33.000
+ 04 2 1 18 12 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19844679.49443 -15404546.55942 21029390.022 21029392.393 21029388.524
+ 2417.049 1883.415 56.000 49.000
+ -4084472.23253 -3162577.24152 25259743.254 25259745.482 25259740.046
+ -2986.261 -2326.957 38.000 32.000
+ -23862282.77743 -18526127.76842 20804510.483 20804512.159 20804509.475
+ -501.641 -390.889 56.000 50.000
+ -1879708.15543 -1299276.47142 24838413.624 24838417.435 24838412.111
+ -1623.737 -1265.250 44.000 36.000
+ -10690506.76443 -8320170.10542 22789052.292 22789054.244 22789051.018
+ 1543.292 1202.565 50.000 43.000
+ -22678248.68243 -17668132.18442 21102245.526 21102248.919 21102245.222
+ -2486.780 -1937.751 55.000 49.000
+ -4303891.96843 -3326074.48142 24620939.457 24620942.190 24620938.207
+ 1132.808 882.708 45.000 39.000
+ -5560702.33343 -4323603.62042 24493441.556 24493450.069 24493441.982
+ 780.463 608.153 41.000 36.000
+ -5092763.64943 -3956074.36242 24326755.682 24326759.015 24326754.345
+ -3655.917 -2848.766 46.000 40.000
+ -5550157.98643 -4278241.87442 23890129.845 23890132.682 23890130.217
+ 3075.502 2396.495 46.000 40.000
+ -22439021.87743 -17473610.11142 20867307.018 20867309.871 20867306.143
+ -146.659 -114.280 56.000 50.000
+ -6571958.54353 -5087012.17952 24979102.725 24979109.883 24979104.844
+ -3262.044 -2541.852 39.000 33.000
+ 04 2 1 18 13 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19916954.58543 -15460864.79242 21015636.615 21015639.070 21015635.195
+ 2401.954 1871.652 56.000 49.000
+ -3994936.96753 -3092809.55452 25276778.018 25276785.274 25276777.092
+ -2981.688 -2323.393 37.000 32.000
+ -23847103.14143 -18514299.45942 20807399.277 20807400.765 20807398.087
+ -509.696 -397.166 56.000 50.000
+ -1830915.29043 -1261256.08442 24847699.380 24847702.252 24847699.595
+ -1628.569 -1269.015 45.000 37.000
+ -10736658.75543 -8356132.66442 22780268.759 22780272.444 22780268.449
+ 1534.237 1195.509 49.000 43.000
+ -22603437.82543 -17609838.00942 21116481.996 21116485.125 21116481.098
+ -2499.933 -1948.000 56.000 49.000
+ -4337751.57043 -3352458.55842 24614495.154 24614500.789 24614494.506
+ 1125.050 876.662 45.000 39.000
+ -5583909.36143 -4341687.03342 24489026.464 24489030.854 24489026.187
+ 767.400 597.974 45.000 37.000
+ -4983052.42043 -3870585.10642 24347632.425 24347636.907 24347631.253
+ -3657.340 -2849.875 46.000 40.000
+ -5642272.52143 -4350019.39642 23872601.848 23872604.385 23872600.316
+ 3066.111 2389.177 46.000 40.000
+ -22434479.68643 -17470070.73642 20868171.262 20868174.483 20868170.573
+ -155.402 -121.092 56.000 50.000
+ -6474012.52253 -5010690.57952 24997743.610 24997750.814 24997738.538
+ -3267.556 -2546.147 38.000 33.000
+ 04 2 1 18 13 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19988777.06243 -15516830.34642 21001968.956 21001971.305 21001967.645
+ 2386.294 1859.450 56.000 49.000
+ -3905554.76943 -3023161.08942 25293790.719 25293789.605 25293784.087
+ -2976.899 -2319.661 41.000 32.000
+ -23831685.56943 -18502285.75542 20810333.218 20810334.934 20810331.672
+ -518.230 -403.815 56.000 50.000
+ -1781996.18743 -1223137.28742 24857007.339 24857013.000 24857007.725
+ -1632.764 -1272.284 45.000 38.000
+ -10782545.52743 -8391888.56842 22771537.472 22771541.226 22771536.281
+ 1525.084 1188.377 50.000 43.000
+ -22528234.23943 -17551237.81842 21130792.427 21130796.041 21130791.573
+ -2513.523 -1958.589 55.000 49.000
+ -4371380.70043 -3378663.04742 24608097.718 24608100.057 24608097.265
+ 1116.854 870.276 46.000 39.000
+ -5606730.23943 -4359469.49342 24484683.295 24484687.069 24484681.885
+ 754.013 587.543 44.000 38.000
+ -4873303.97443 -3785066.86542 24368516.435 24368520.340 24368515.607
+ -3659.355 -2851.445 45.000 39.000
+ -5734111.64943 -4421582.32642 23855124.849 23855127.563 23855123.664
+ 3056.330 2381.556 47.000 40.000
+ -22429676.21043 -17466327.77042 20869085.722 20869089.045 20869084.446
+ -164.671 -128.315 56.000 50.000
+ -6375905.93943 -4934243.83742 25016415.005 25016414.435 25016413.997
+ -3273.154 -2550.510 40.000 33.000
+ 04 2 1 18 14 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20060146.62243 -15572442.98342 20988387.661 20988389.983 20988386.428
+ 2371.727 1848.099 55.000 49.000
+ -2953634.10342 25310768.871 25310773.538
+ -2971.090 -2315.135 40.000 32.000
+ -23816034.24644 -18490089.89542 20813312.223 20813313.060 20813310.245
+ -525.276 -409.306 57.000 50.000
+ -1732956.41043 -1184924.46242 24866339.641 24866342.984 24866337.701
+ -1636.126 -1274.903 45.000 37.000
+ -10828170.12943 -8427440.19442 22762854.759 22762859.197 22762854.405
+ 1516.753 1181.885 49.000 43.000
+ -22452642.72843 -17492335.34642 21145176.973 21145180.459 21145176.437
+ -2525.776 -1968.137 55.000 49.000
+ -4404779.20243 -3404687.86542 24601739.720 24601745.627 24601738.889
+ 1109.898 864.856 43.000 39.000
+ -5629165.21943 -4376951.27842 24480413.068 24480418.279 24480413.022
+ 741.623 577.888 43.000 38.000
+ -4763522.54243 -3699522.92142 24389407.170 24389410.625 24389405.792
+ -3659.656 -2851.680 44.000 39.000
+ -5825675.09143 -4492930.44742 23837701.291 23837704.975 23837699.474
+ 3047.824 2374.928 47.000 40.000
+ -22424612.62343 -17462382.11342 20870049.104 20870052.284 20870048.082
+ -172.744 -134.606 56.000 50.000
+ -6277643.59943 -4857675.81042 25035112.922 25035114.264 25035112.015
+ -3277.614 -2553.985 40.000 33.000
+ 04 2 1 18 14 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20131058.14843 -15627698.69842 20974893.590 20974896.217 20974892.572
+ 2355.915 1835.778 55.000 49.000
+ -3727256.38243 -2884227.19642 25327719.049 25327718.923 25327715.992
+ -2966.597 -2311.634 40.000 32.000
+ -23800148.05444 -18477711.02542 20816334.978 20816336.069 20816333.454
+ -533.676 -415.851 57.000 50.000
+ -1683795.91743 -1146617.54042 24875696.110 24875699.431 24875694.675
+ -1640.071 -1277.977 45.000 37.000
+ -10873530.39143 -8462785.82142 22754224.044 22754227.539 22754221.499
+ 1507.385 1174.586 50.000 43.000
+ -22376662.84543 -17433130.23942 21159635.904 21159639.416 21159635.049
+ -2539.149 -1978.558 56.000 49.000
+ -4437941.78643 -3430528.78542 24595429.273 24595434.076 24595429.006
+ 1101.295 858.152 43.000 39.000
+ -5651209.52243 -4394128.63842 24476219.947 24476224.275 24476219.029
+ 727.741 567.071 43.000 38.000
+ -4653707.71043 -3613952.96142 24410304.420 24410307.716 24410303.726
+ -3661.002 -2852.729 44.000 39.000
+ -5916957.30043 -4564059.41142 23820330.922 23820332.473 23820330.161
+ 3038.119 2367.365 47.000 40.000
+ -22419284.75843 -17458230.53042 20871062.811 20871066.091 20871061.843
+ -182.137 -141.925 56.000 50.000
+ -6179225.35943 -4780986.22542 25053841.687 25053843.164 25053839.567
+ -3282.950 -2558.143 41.000 34.000
+ 04 2 1 18 15 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20201515.25943 -15682600.32542 20961486.314 20961488.474 20961484.936
+ 2340.769 1823.976 56.000 49.000
+ -3638344.57943 -2814945.24542 25344637.790 25344639.814 25344638.544
+ -2961.421 -2307.601 39.000 33.000
+ -23784034.66643 -18465155.11942 20819401.013 20819402.156 20819399.741
+ -541.212 -421.724 56.000 50.000
+ -1634522.99843 -1108223.13542 24885070.929 24885076.134 24885068.992
+ -1644.813 -1281.672 44.000 37.000
+ -10918633.06243 -8497930.72742 22745641.057 22745644.419 22745639.187
+ 1498.625 1167.760 49.000 43.000
+ -22300302.81643 -17373628.92942 21174166.526 21174169.381 21174165.731
+ -2552.191 -1988.720 55.000 49.000
+ -4470872.33843 -3456188.91842 24589162.247 24589165.344 24589161.746
+ 1093.371 851.977 43.000 38.000
+ -5672866.96143 -4411004.54642 24472097.934 24472101.844 24472098.192
+ 714.858 557.032 41.000 37.000
+ -4543868.13243 -3528363.69942 24431205.298 24431210.133 24431204.382
+ -3661.911 -2853.437 43.000 38.000
+ -6007961.77643 -4634971.98542 23803013.955 23803014.064 23803012.802
+ 3028.397 2359.790 48.000 41.000
+ -22413697.65543 -17453876.94242 20872126.083 20872129.272 20872124.928
+ -190.870 -148.730 56.000 50.000
+ -6080659.93943 -4704182.04042 25072598.694 25072599.395 25072599.956
+ -3288.145 -2562.191 41.000 33.000
+ 04 2 1 18 15 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20271511.01643 -15737142.45642 20948166.680 20948169.261 20948165.399
+ 2325.906 1812.394 56.000 49.000
+ -2745785.20242 25361526.863 25361531.117
+ -2955.539 -2303.017 39.000 32.000
+ -23767690.59943 -18452419.46642 20822511.167 20822512.435 20822509.884
+ -548.137 -427.120 56.000 50.000
+ -1585135.92743 -1069739.70442 24894468.186 24894473.924 24894468.225
+ -1647.809 -1284.007 45.000 38.000
+ -10963473.66343 -8532871.42942 22737108.160 22737111.763 22737106.610
+ 1490.673 1161.563 50.000 43.000
+ -22223560.43943 -17313829.67042 21188770.550 21188773.427 21188769.930
+ -2564.081 -1997.985 56.000 49.000
+ -4503563.65643 -3481662.64442 24582941.651 24582947.074 24582940.804
+ 1086.126 846.332 44.000 39.000
+ -5694130.47743 -4427573.46142 24468051.736 24468055.942 24468050.746
+ 702.671 547.536 41.000 38.000
+ -4434001.53243 -3442753.39242 24452112.982 24452116.891 24452112.324
+ -3662.129 -2853.607 44.000 38.000
+ -6098680.96043 -4705662.22842 23785750.197 23785752.613 23785750.315
+ 3019.547 2352.894 47.000 41.000
+ -22407845.17143 -17449316.56042 20873239.935 20873242.835 20873238.762
+ -199.073 -155.122 56.000 50.000
+ -5981944.61343 -4627260.95342 25091383.581 25091383.196 25091379.797
+ -3292.596 -2565.659 39.000 33.000
+ 04 2 1 18 16 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20341047.09143 -15791326.39242 20934934.028 20934936.850 20934933.207
+ 2310.153 1800.119 56.000 49.000
+ -3460994.79553 -2676750.69952 25378382.710 25378384.410 25378379.841
+ -2950.643 -2299.202 37.000 33.000
+ -23751122.42143 -18439509.17242 20825663.982 20825665.346 20825662.697
+ -556.081 -433.310 56.000 50.000
+ -1535641.65143 -1031172.77442 24903887.363 24903888.329 24903885.704
+ -1651.426 -1286.825 44.000 37.000
+ -11008057.05743 -8567611.69842 22728625.136 22728626.560 22728623.342
+ 1481.697 1154.569 51.000 43.000
+ -22146442.02743 -17253737.38942 21203445.219 21203449.179 21203444.601
+ -2576.900 -2007.974 56.000 49.000
+ -4536017.33943 -3506951.19642 24576767.809 24576770.752 24576766.340
+ 1077.672 839.744 46.000 40.000
+ -5715002.24143 -4443837.12142 24464080.115 24464083.745 24464078.122
+ 689.241 537.071 42.000 38.000
+ -4324114.51543 -3357127.17242 24473024.236 24473027.055 24473021.188
+ -3663.307 -2854.525 44.000 38.000
+ -6189116.34943 -4776131.35242 23768539.798 23768543.428 23768539.288
+ 3009.827 2345.320 46.000 41.000
+ -22401730.13643 -17444551.60142 20874403.556 20874406.907 20874402.507
+ -208.222 -162.251 56.000 50.000
+ -5883086.22253 -4550228.46552 25110195.707 25110191.419 25110188.320
+ -3297.297 -2569.322 38.000 32.000
+ 04 2 1 18 16 30.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20410116.56043 -15845146.73742 20921790.743 20921793.187 20921789.672
+ 2294.680 1788.062 56.000 49.000
+ -3372557.37153 -2607838.46452 25395214.813 25395217.218 25395214.443
+ -2945.140 -2294.914 40.000 33.000
+ -23734327.02043 -18426421.83242 20828859.969 20828861.349 20828858.742
+ -563.395 -439.009 56.000 50.000
+ -1486038.15243 -992520.69342 24913327.919 24913330.612 24913325.806
+ -1655.406 -1289.927 45.000 37.000
+ -11052379.37043 -8602148.53942 22720190.258 22720193.708 22720189.293
+ 1473.121 1147.886 51.000 44.000
+ -22068945.45343 -17193350.45242 21218192.006 21218195.898 21218191.455
+ -2589.310 -2017.644 55.000 49.000
+ -4568226.49943 -3532049.22442 24570639.304 24570641.273 24570636.891
+ 1069.886 833.677 46.000 40.000
+ -5735475.43843 -4459790.29842 24460185.148 24460188.036 24460183.447
+ 675.886 526.664 43.000 38.000
+ -4214204.80143 -3271483.23742 24493939.126 24493943.226 24493937.292
+ -3663.492 -2854.669 43.000 37.000
+ -6279260.34743 -4846373.39842 23751386.309 23751388.152 23751385.309
+ 3000.196 2337.815 46.000 41.000
+ -22395346.75843 -17439577.53842 20875618.230 20875621.385 20875617.415
+ -217.049 -169.129 56.000 50.000
+ -4473082.77642 25129037.882 25129039.000
+ -3301.912 -2572.918 38.000 32.000
+ 04 2 1 18 17 0.0000000 0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20478721.89543 -15898605.42242 20908735.575 20908737.761 20908734.341
+ 2279.024 1775.863 56.000 49.000
+ -3284282.93853 -2539053.18252 25412012.213 25412017.634 25412010.575
+ -2939.718 -2290.689 37.000 32.000
+ -23717310.62543 -18413162.29642 20832097.493 20832099.697 20832096.612
+ -571.004 -444.938 56.000 50.000
+ -1436333.08843 -953789.50042 24922785.680 24922789.032 24922782.602
+ -1658.706 -1292.498 44.000 37.000
+ -11096446.07143 -8636486.20142 22711804.168 22711807.572 22711802.761
+ 1464.466 1141.142 50.000 44.000
+ -21991078.05343 -17132674.55842 21233010.228 21233013.318 21233009.542
+ -2601.869 -2027.430 55.000 48.000
+ -4600193.73943 -3556958.75142 24564554.551 24564558.052 24564552.730
+ 1061.368 827.040 45.000 39.000
+ -5755553.09043 -4475435.20942 24456365.200 24456365.438 24456363.299
+ 662.685 516.378 43.000 37.000
+ -4104280.28043 -3185827.79342 24514856.794 24514862.449 24514855.136
+ -3665.025 -2855.864 44.000 38.000
+ -6369115.46543 -4916390.33742 23734288.279 23734289.579 23734287.232
+ 2990.182 2330.012 47.000 41.000
+ -22388698.82243 -17434397.32242 20876883.434 20876886.185 20876882.250
+ -226.151 -176.221 56.000 50.000
+ -4395829.67452 25147901.991 25147908.189
+ -3307.141 -2576.993 36.000 32.000
+ 04 2 1 18 17 30.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20546856.68343 -15951697.45142 20895770.258 20895772.007 20895769.047
+ 2263.153 1763.496 56.000 49.000
+ -23700070.79843 -18399728.65842 20835378.540 20835379.857 20835377.548
+ -578.559 -450.825 56.000 50.000
+ -1386525.13243 -914978.09742 24932263.007 24932268.306 24932262.752
+ -1661.908 -1294.993 42.000 36.000
+ -11140253.52243 -8670621.85042 22703467.202 22703472.333 22703467.232
+ 1455.928 1134.489 50.000 43.000
+ -21912838.02743 -17071708.30142 21247899.046 21247901.465 21247898.337
+ -2614.360 -2037.164 56.000 48.000
+ -4631912.42243 -3581674.57642 24558517.681 24558523.091 24558518.270
+ 1052.838 820.393 46.000 40.000
+ -5775228.92543 -4490766.95042 24452620.706 24452623.814 24452620.119
+ 648.665 505.453 42.000 37.000
+ -3994338.90243 -3100159.19942 24535778.694 24535782.326 24535777.424
+ -3665.191 -2855.993 44.000 37.000
+ -6458674.85743 -4986176.87342 23717243.251 23717245.932 23717243.864
+ 2980.095 2322.152 46.000 41.000
+ -22381780.78343 -17429006.63842 20878199.441 20878202.940 20878198.748
+ -235.285 -183.339 56.000 50.000
+ 04 2 1 18 18 0.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20614516.13543 -16004419.08842 20882894.667 20882896.816 20882893.858
+ 2246.391 1750.435 56.000 49.000
+ -23682606.43843 -18386120.06142 20838701.492 20838703.731 20838700.544
+ -586.771 -457.224 56.000 50.000
+ -1336614.31843 -876086.58042 24941762.403 24941762.398 24941760.508
+ -1666.387 -1298.483 43.000 36.000
+ -11183799.72743 -8704553.91842 22695180.156 22695184.448 22695178.543
+ 1446.204 1126.912 49.000 43.000
+ -21834224.99043 -17010451.37842 21262858.277 21262861.492 21262858.025
+ -2627.630 -2047.504 55.000 48.000
+ -4663377.63843 -3606192.90242 24552529.885 24552533.109 24552530.189
+ 1043.547 813.154 45.000 39.000
+ -5794498.20443 -4505781.91842 24448952.336 24448955.531 24448951.064
+ 634.642 494.526 42.000 38.000
+ -3884380.09243 -3014477.05142 24556702.347 24556705.965 24556701.707
+ -3666.864 -2857.297 44.000 37.000
+ -6547932.99043 -5055728.64042 23700259.014 23700262.998 23700258.785
+ 2969.305 2313.744 46.000 41.000
+ -22374588.60343 -17423402.33942 20879568.519 20879571.628 20879567.467
+ -245.270 -191.119 56.000 50.000
+ 04 2 1 18 18 30.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20681702.56143 -16056772.13142 20870109.600 20870111.921 20870108.847
+ 2231.297 1738.673 56.000 49.000
+ -23664923.86943 -18372341.42442 20842066.822 20842068.101 20842065.646
+ -593.318 -462.326 56.000 50.000
+ -1286608.57043 -837121.08042 24951276.467 24951280.813 24951275.768
+ -1668.642 -1300.240 43.000 37.000
+ -11227090.37743 -8738286.85242 22686942.277 22686946.193 22686941.182
+ 1438.324 1120.772 49.000 43.000
+ -21755246.35243 -16948909.58942 21277887.450 21277890.944 21277886.915
+ -2639.054 -2056.406 55.000 48.000
+ -4694592.00643 -3630515.77242 24546590.123 24546594.451 24546590.428
+ 1035.969 807.249 45.000 39.000
+ -5813363.76043 -4520482.30342 24445362.856 24445367.862 24445361.937
+ 621.614 484.375 43.000 38.000
+ -3774411.45043 -2928787.21042 24577629.202 24577633.199 24577628.430
+ -3666.242 -2856.812 45.000 37.000
+ -6636892.21643 -5125047.48142 23683330.647 23683334.109 23683329.664
+ 2959.885 2306.404 46.000 41.000
+ -22367126.08043 -17417587.38642 20880988.204 20880991.611 20880987.270
+ -253.677 -197.670 56.000 50.000
+ 04 2 1 18 19 0.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20748415.19743 -16108755.98042 20857414.887 20857416.927 20857413.475
+ 2215.825 1726.617 56.000 49.000
+ -23647026.92043 -18358395.73742 20845472.196 20845474.166 20845471.129
+ -600.106 -467.615 56.000 50.000
+ -1236511.87243 -798084.69742 24960808.831 24960814.836 24960809.344
+ -1671.543 -1302.501 43.000 37.000
+ -11270127.61843 -8771822.31242 22678753.130 22678758.290 22678752.229
+ 1430.216 1114.454 50.000 43.000
+ -21675906.14243 -16887086.05142 21292985.635 21292988.619 21292985.173
+ -2650.773 -2065.537 55.000 48.000
+ -4725554.65843 -3654642.44942 24540697.773 24540700.588 24540697.083
+ 1027.775 800.864 45.000 39.000
+ -5831825.31643 -4534867.94942 24441849.335 24441852.717 24441848.556
+ 608.809 474.397 41.000 37.000
+ -3664436.97043 -2843092.85342 24598558.406 24598559.774 24598556.095
+ -3665.823 -2856.485 45.000 37.000
+ -6725551.54043 -5194132.64642 23666458.828 23666463.491 23666457.868
+ 2950.310 2298.943 46.000 41.000
+ -22359393.61143 -17411562.08442 20882460.003 20882463.221 20882458.925
+ -262.350 -204.428 56.000 50.000
+ 04 2 1 18 19 30.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20814647.97743 -16160365.91942 20844810.855 20844812.454 20844809.835
+ 2200.073 1714.343 56.000 49.000
+ -23628912.84643 -18344280.86142 20848919.883 20848921.020 20848918.502
+ -607.064 -473.037 56.000 50.000
+ -1186323.25443 -758976.70142 24970360.466 24970364.398 24970359.685
+ -1674.182 -1304.557 45.000 37.000
+ -11312908.07843 -8805157.71042 22670612.507 22670616.582 22670610.548
+ 1422.189 1108.199 50.000 44.000
+ -21596202.73043 -16824979.49942 21308152.130 21308155.377 21308151.905
+ -2662.485 -2074.664 55.000 48.000
+ -4756259.06543 -3678567.94342 24534855.947 24534858.523 24534855.738
+ 1019.652 794.534 46.000 39.000
+ -5849876.62343 -4548933.85942 24438415.724 24438419.745 24438414.907
+ 595.510 464.034 43.000 38.000
+ -3554455.05343 -2757392.67342 24619487.937 24619489.913 24619483.829
+ -3665.861 -2856.515 45.000 37.000
+ -6813904.05643 -5262978.72842 23649647.174 23649650.297 23649645.967
+ 2940.135 2291.014 47.000 41.000
+ -22351385.83143 -17405322.25242 20883983.742 20883986.806 20883982.535
+ -271.194 -211.320 56.000 50.000
+ 04 2 1 18 20 0.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20880404.66343 -16211604.87642 20832297.982 20832299.697 20832296.693
+ 2183.882 1701.726 56.000 49.000
+ -23610589.26343 -18330002.73542 20852406.283 20852407.458 20852405.170
+ -614.321 -478.692 56.000 50.000
+ -1136050.91543 -719803.44642 24979925.405 24979930.815 24979926.391
+ -1677.330 -1307.010 44.000 37.000
+ -11355438.14843 -8838298.00242 22662520.263 22662523.996 22662518.235
+ 1413.425 1101.370 50.000 44.000
+ -21516144.33143 -16762596.32542 21323387.052 21323390.598 21323386.229
+ -2674.671 -2084.159 55.000 48.000
+ -4786708.72243 -3702294.93942 24529059.312 24529064.788 24529059.811
+ 1010.495 787.399 45.000 38.000
+ -5867521.55243 -4562683.09742 24435052.777 24435062.163 24435053.942
+ 581.219 452.898 40.000 37.000
+ -3444474.05043 -2671693.25042 24640416.724 24640417.475 24640413.720
+ -3665.920 -2856.561 45.000 37.000
+ -6901952.74643 -5331588.06042 23632891.787 23632894.076 23632891.108
+ 2929.858 2283.006 47.000 41.000
+ -22343107.23743 -17398871.40342 20885559.341 20885562.203 20885558.252
+ -280.535 -218.599 56.000 50.000
+ 04 2 1 18 20 30.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20945679.43943 -16262468.31842 20819876.035 20819878.937 20819875.484
+ 2167.501 1688.962 56.000 50.000
+ -23592054.02343 -18315559.68142 20855933.342 20855934.996 20855932.039
+ -621.628 -484.385 56.000 50.000
+ -1085693.98443 -680564.29642 24989509.564 24989513.176 24989508.824
+ -1680.269 -1309.300 44.000 37.000
+ -11397714.92343 -8871240.90442 22654474.878 22654478.303 22654473.152
+ 1404.708 1094.578 50.000 44.000
+ -21435729.82043 -16699935.66742 21338689.545 21338692.920 21338688.582
+ -2686.616 -2093.467 54.000 48.000
+ -4816897.88943 -3725818.94142 24523315.907 24523321.084 24523316.440
+ 1001.645 780.503 45.000 39.000
+ -5884754.46043 -4576111.33442 24431778.142 24431780.793 24431776.902
+ 567.255 442.017 42.000 37.000
+ -3334492.38643 -2585993.28642 24661345.762 24661347.490 24661342.687
+ -3666.404 -2856.938 44.000 37.000
+ -6989691.63443 -5399955.99642 23616195.462 23616198.600 23616194.666
+ 2919.243 2274.735 47.000 41.000
+ -22334553.33543 -17392206.02242 20887186.706 20887189.859 20887185.702
+ -290.024 -225.993 56.000 50.000
+ 04 2 1 18 21 0.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21010468.36743 -16312953.17342 20807547.404 20807549.862 20807546.582
+ 2151.262 1676.308 56.000 50.000
+ -23573307.62743 -18300952.09342 20859500.755 20859502.190 20859499.446
+ -628.846 -490.010 56.000 50.000
+ -1035254.38943 -641260.67942 24999105.858 24999112.060 24999104.120
+ -1683.070 -1311.483 42.000 35.000
+ -11439737.92543 -8903986.08442 22646477.586 22646481.457 22646476.428
+ 1396.206 1087.953 50.000 44.000
+ -21354960.55443 -16636998.58342 21354059.001 21354062.230 21354058.700
+ -2698.599 -2102.804 54.000 48.000
+ -4846823.12643 -3749137.28142 24517622.241 24517625.597 24517620.646
+ 992.807 773.616 46.000 39.000
+ -5901572.48943 -4589216.26942 24428578.136 24428581.272 24428577.194
+ 553.398 431.219 43.000 38.000
+ -3224511.64743 -2500294.03742 24682273.994 24682276.013 24682272.437
+ -3666.115 -2856.713 45.000 37.000
+ -7077116.85943 -5468079.53242 23599559.474 23599560.980 23599557.879
+ 2908.517 2266.377 47.000 41.000
+ -22325721.62243 -17385324.17242 20888867.159 20888870.932 20888866.337
+ -299.272 -233.199 56.000 50.000
+ 04 2 1 18 21 30.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21074772.26443 -16363060.08842 20795310.577 20795313.092 20795309.604
+ 2135.223 1663.810 56.000 50.000
+ -23554353.76043 -18286182.82642 20863108.046 20863109.116 20863106.387
+ -635.402 -495.118 56.000 50.000
+ -984736.81643 -601896.35142 25008722.492 25008724.090 25008720.603
+ -1685.548 -1313.414 44.000 36.000
+ -11481510.10243 -8936535.80142 22638528.559 22638531.774 22638526.885
+ 1388.165 1081.687 50.000 44.000
+ -21273841.22043 -16573788.71842 21369495.848 21369499.265 21369495.404
+ -2709.979 -2111.672 55.000 48.000
+ -4876484.27143 -3772249.84742 24511976.853 24511980.536 24511977.185
+ 984.361 767.035 46.000 39.000
+ -5917975.63043 -4601997.90142 24425456.336 24425459.978 24425455.743
+ 539.489 420.381 44.000 38.000
+ -3114536.16043 -2414598.87842 24703201.504 24703204.448 24703199.052
+ -3665.695 -2856.386 44.000 37.000
+ -7164227.91543 -5535958.24542 23582982.425 23582985.403 23582981.466
+ 2898.217 2258.351 47.000 41.000
+ -22316613.10943 -17378226.63242 20890600.600 20890603.972 20890599.739
+ -308.384 -240.299 56.000 50.000
+ 04 2 1 18 22 0.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21138586.09743 -16412785.12842 20783167.627 20783169.895 20783166.439
+ 2119.320 1651.418 56.000 50.000
+ -23535191.25243 -18271250.99642 20866753.767 20866755.488 20866752.529
+ -641.899 -500.181 56.000 50.000
+ -934141.34743 -562471.26342 25018348.991 25018345.457 25018348.698
+ -1687.810 -1315.177 42.000 34.000
+ -11523029.39443 -8968888.47442 22630627.393 22630631.384 22630625.820
+ 1380.419 1075.651 50.000 44.000
+ -21192371.52543 -16510305.84142 21384998.941 21385002.437 21384998.315
+ -2721.029 -2120.282 55.000 48.000
+ -4905876.35343 -3795152.70442 24506384.154 24506388.169 24506383.742
+ 975.530 760.153 45.000 39.000
+ -5933959.32743 -4614452.75442 24422414.679 24422418.788 24422413.349
+ 526.259 410.072 44.000 38.000
+ -3004565.70543 -2328907.65942 24724128.168 24724130.508 24724127.176
+ -3665.452 -2856.196 44.000 37.000
+ -7251019.46343 -5603587.99242 23566466.360 23566469.105 23566464.615
+ 2888.166 2250.519 46.000 41.000
+ -22307223.74243 -17370910.24142 20892387.253 20892390.796 20892386.296
+ -317.348 -247.284 56.000 50.000
+ 04 2 1 18 22 30.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21201910.39243 -16462128.70942 20771117.074 20771119.651 20771116.173
+ 2103.094 1638.775 56.000 50.000
+ -23515825.03843 -18256160.43242 20870439.347 20870440.666 20870438.144
+ -648.529 -505.347 56.000 50.000
+ -883473.57343 -522989.85542 25027991.341 25027994.116 25027990.696
+ -1689.777 -1316.709 44.000 35.000
+ -11564299.33243 -9001046.85142 22622774.108 22622778.156 22622772.605
+ 1371.906 1069.018 50.000 44.000
+ -21110556.81443 -16446554.11642 21400567.801 21400571.142 21400567.002
+ -2732.522 -2129.238 55.000 48.000
+ -4934999.84743 -3817846.29142 24500842.467 24500845.986 24500841.543
+ 966.683 753.259 45.000 39.000
+ -5949524.61743 -4626581.53842 24419452.094 24419455.473 24419451.705
+ 511.998 398.959 44.000 38.000
+ -2894605.23343 -2243224.19842 24745052.323 24745055.541 24745050.016
+ -3664.683 -2855.597 44.000 37.000
+ -7337491.55143 -5670968.82542 23550010.395 23550015.197 23550009.504
+ 2877.291 2242.045 47.000 41.000
+ -22297555.14043 -17363376.26442 20894227.053 20894230.404 20894226.440
+ -326.601 -254.494 56.000 50.000
+ 04 2 1 18 23 0.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21264740.72943 -16511087.38842 20759160.926 20759163.300 20759159.900
+ 2085.650 1625.182 56.000 50.000
+ -23496253.85144 -18240910.14442 20874163.760 20874165.409 20874162.393
+ -656.232 -511.350 57.000 50.000
+ -832733.74043 -483452.27242 25037645.822 25037649.908 25037644.683
+ -1693.209 -1319.384 43.000 34.000
+ -11605318.11543 -9033009.49542 22614968.237 22614972.223 22614967.529
+ 1362.623 1061.784 50.000 43.000
+ -21028397.05143 -16382533.52142 21416202.063 21416205.358 21416201.241
+ -2744.827 -2138.826 54.000 48.000
+ -4963849.95143 -3840326.85342 24495351.419 24495356.317 24495350.443
+ 956.731 745.505 44.000 39.000
+ -5964667.04743 -4638380.77142 24416570.786 24416574.333 24416569.643
+ 497.375 387.565 44.000 37.000
+ -2784654.96943 -2157548.69342 24765976.402 24765979.464 24765973.799
+ -3665.090 -2855.914 44.000 37.000
+ -7423639.14643 -5738096.77542 23533619.088 23533621.064 23533617.906
+ 2865.718 2233.027 48.000 41.000
+ -22287603.72843 -17355621.91442 20896121.031 20896124.079 20896120.252
+ -336.951 -262.559 56.000 50.000
+ 04 2 1 18 23 30.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21327079.19643 -16559662.79642 20747298.296 20747300.376 20747296.966
+ 2069.738 1612.783 56.000 50.000
+ -23476483.89844 -18225504.97242 20877925.917 20877926.878 20877924.646
+ -662.351 -516.118 57.000 50.000
+ -781928.89943 -443864.12242 25047314.405 25047317.146 25047315.215
+ -1694.739 -1320.576 43.000 34.000
+ -11646091.20443 -9064780.71342 22607209.886 22607214.777 22607208.363
+ 1355.207 1056.005 51.000 44.000
+ -20945899.20643 -16318249.49242 21431900.870 21431904.137 21431900.600
+ -2755.541 -2147.175 54.000 48.000
+ -4992428.91643 -3862596.15542 24489914.210 24489917.043 24489912.483
+ 947.950 738.662 45.000 39.000
+ -5979389.24843 -4649852.57442 24413767.595 24413772.518 24413767.439
+ 483.843 377.021 42.000 37.000
+ -2674721.67943 -2071886.44242 24786894.688 24786899.699 24786893.211
+ -3664.427 -2855.398 44.000 37.000
+ -7509464.08743 -5804973.33042 23517287.231 23517289.011 23517285.182
+ 2855.588 2225.134 48.000 42.000
+ -22277372.70143 -17347649.68342 20898067.751 20898070.863 20898066.837
+ -345.741 -269.408 56.000 50.000
+ 04 2 1 18 24 0.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21388920.68343 -16607850.94542 20735530.256 20735532.605 20735528.890
+ 2053.347 1600.011 56.000 50.000
+ -23456513.96544 -18209943.97042 20881726.035 20881727.156 20881724.545
+ -668.702 -521.066 57.000 50.000
+ -404225.30042 25056997.268 25056994.673
+ -1696.861 -1322.229 44.000 32.000
+ -11686616.24643 -9096358.64542 22599498.535 22599501.529 22599497.635
+ 1346.821 1049.471 50.000 44.000
+ -20863063.08443 -16253701.87142 21447663.589 21447667.523 21447663.221
+ -2766.631 -2155.816 54.000 47.000
+ -5020731.83443 -3884650.35042 24484528.511 24484531.539 24484527.674
+ 938.946 731.646 47.000 39.000
+ -5993686.59443 -4660993.37142 24411048.478 24411051.613 24411046.194
+ 470.061 366.281 43.000 38.000
+ -2564804.99043 -1986237.10942 24807811.593 24807815.172 24807810.654
+ -3663.482 -2854.661 44.000 37.000
+ -7594960.79743 -5871594.13542 23501016.902 23501018.424 23501015.638
+ 2844.695 2216.645 48.000 42.000
+ -22266858.18343 -17339456.55342 20900068.836 20900071.970 20900068.033
+ -354.997 -276.621 56.000 50.000
+ 04 2 1 18 24 30.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21450262.89643 -16655650.05742 20723857.222 20723859.108 20723856.130
+ 2036.266 1586.701 56.000 50.000
+ -23436344.96243 -18194227.85442 20885563.951 20885565.484 20885562.629
+ -675.661 -526.489 56.000 50.000
+ -364537.17042 25066688.442 25066694.637
+ -1699.294 -1324.125 42.000 32.000
+ -11726893.20043 -9127743.27242 22591834.266 22591837.275 22591832.906
+ 1338.299 1042.830 50.000 44.000
+ -20779890.46643 -16188892.05442 21463491.095 21463494.834 21463490.377
+ -2778.080 -2164.738 53.000 47.000
+ -5048755.62043 -3906487.02542 24479194.209 24479199.732 24479193.640
+ 929.560 724.332 46.000 39.000
+ -6007556.78543 -4671801.28242 24408408.259 24408412.610 24408407.307
+ 454.994 354.541 44.000 39.000
+ -2454906.71443 -1900602.12942 24828724.726 24828728.155 24828721.306
+ -3662.771 -2854.107 43.000 36.000
+ -7680126.05143 -5937956.65442 23484810.771 23484813.023 23484810.230
+ 2833.128 2207.632 48.000 42.000
+ -22256058.27443 -17331041.04342 20902123.265 20902127.220 20902122.543
+ -364.829 -284.282 56.000 50.000
+ 04 2 1 18 25 0.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21511104.38943 -16703058.98942 20712279.316 20712281.747 20712278.300
+ 2019.689 1573.784 56.000 50.000
+ -23415978.79944 -18178358.10542 20889439.896 20889441.002 20889438.399
+ -682.076 -531.488 57.000 50.000
+ -629133.66343 -324802.77342 25076390.704 25076401.849 25076387.867
+ -1701.098 -1325.531 41.000 32.000
+ -11766923.38543 -9158935.61142 22584216.858 22584219.341 22584215.502
+ 1330.252 1036.560 51.000 44.000
+ -20696384.30443 -16123822.32442 21479381.516 21479385.044 21479381.007
+ -2789.049 -2173.285 53.000 47.000
+ -5076498.57943 -3928104.86842 24473917.189 24473919.321 24473915.948
+ 920.191 717.032 48.000 40.000
+ -6020998.11343 -4682274.98242 24405851.683 24405855.511 24405850.648
+ 441.021 343.653 45.000 39.000
+ -2345029.37543 -1814983.44442 24849631.502 24849636.837 24849631.911
+ -3662.090 -2853.577 41.000 35.000
+ -7764957.75643 -6004059.26942 23468667.701 23468669.401 23468666.112
+ 2822.139 2199.069 48.000 41.000
+ -22244972.22143 -17322402.56042 20904233.664 20904236.291 20904232.924
+ -374.303 -291.665 56.000 50.000
+ 04 2 1 18 25 30.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21571442.54543 -16750075.71542 20700797.438 20700799.874 20700796.109
+ 2002.577 1560.450 56.000 50.000
+ -23395417.25843 -18162336.12142 20893351.923 20893353.803 20893350.672
+ -688.880 -536.790 56.000 50.000
+ -578084.04843 -285023.84642 25086106.263 25086108.701 25086105.715
+ -1702.926 -1326.955 42.000 33.000
+ -11806707.31043 -9189936.07242 22576645.388 22576649.579 22576644.837
+ 1321.736 1029.924 51.000 44.000
+ -20612546.91443 -16058494.47942 21495336.383 21495338.487 21495335.843
+ -2800.393 -2182.124 54.000 47.000
+ -5103958.16643 -3949501.91342 24468689.527 24468692.759 24468689.199
+ 910.366 709.376 45.000 39.000
+ -6034008.51343 -4692412.94542 24403374.929 24403379.383 24403374.999
+ 426.061 331.996 42.000 38.000
+ -2235175.07943 -1729382.74542 24870537.171 24870542.461 24870535.637
+ -3661.399 -2853.038 41.000 35.000
+ -7849452.90643 -6069899.65342 23452588.870 23452590.615 23452587.193
+ 2810.638 2190.108 48.000 42.000
+ -22233598.55443 -17313539.95642 20906398.236 20906400.880 20906396.937
+ -384.127 -299.320 56.000 50.000
+ 04 2 1 18 26 0.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21631276.32743 -16796699.41942 20689411.258 20689413.718 20689410.177
+ 1985.744 1547.333 56.000 50.000
+ -23374662.13844 -18146163.28742 20897302.000 20897303.097 20897300.370
+ -695.383 -541.857 57.000 50.000
+ -2102400.24953 25095830.497 25095829.449
+ -1704.348 -1328.063 43.000
+ -11846246.61543 -9220745.90042 22569121.721 22569124.689 22569121.397
+ 1313.679 1023.646 50.000 44.000
+ -20528381.62143 -15992911.13242 21511352.194 21511355.378 21511351.662
+ -2811.246 -2190.581 54.000 47.000
+ -5131132.96143 -3970677.06242 24463519.057 24463522.544 24463517.449
+ 900.692 701.838 45.000 39.000
+ -6046587.00043 -4702214.40342 24400982.501 24400985.254 24400981.328
+ 411.534 320.676 43.000 37.000
+ -2125346.98143 -1643802.42042 24891437.351 24891440.386 24891436.678
+ -3660.644 -2852.450 40.000 35.000
+ -7933609.69743 -6135476.35242 23436574.390 23436577.277 23436573.748
+ 2799.199 2181.194 49.000 42.000
+ -22221936.85643 -17304452.92442 20908617.097 20908620.211 20908615.924
+ -393.844 -306.891 56.000 50.000
+ 04 2 1 18 26 30.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21690604.52543 -16842929.15742 20678121.706 20678123.939 20678120.785
+ 1969.003 1534.288 56.000 50.000
+ -23353716.45643 -18129841.97242 20901287.789 20901289.257 20901286.488
+ -701.411 -546.554 56.000 50.000
+ -1432942.68752 25105564.141 25105571.044
+ -1706.276 -1329.566 38.000 32.000
+ -11885543.30843 -9251366.69642 22561643.865 22561647.180 22561642.994
+ 1305.682 1017.415 50.000 44.000
+ -20443892.08343 -15927075.13442 21527429.896 21527433.060 21527429.423
+ -2821.760 -2198.774 54.000 47.000
+ -5158021.76843 -3991629.37142 24458402.038 24458405.197 24458402.011
+ 891.512 694.685 46.000 39.000
+ -6058733.16443 -4711678.89042 24398670.364 24398674.320 24398668.444
+ 397.727 309.917 42.000 37.000
+ -2015548.47543 -1558245.18842 24912331.219 24912337.466 24912332.518
+ -3659.636 -2851.664 40.000 35.000
+ -8017426.59243 -6200788.21442 23420624.432 23420626.639 23420624.146
+ 2788.075 2172.526 48.000 42.000
+ -22209987.11543 -17295141.43742 20910891.042 20910894.070 20910890.209
+ -403.265 -314.232 56.000 50.000
+ 04 2 1 18 27 0.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21749424.57043 -16888762.94342 20666928.611 20666930.812 20666927.645
+ 1951.669 1520.781 56.000 50.000
+ -23332580.51644 -18113372.39542 20905309.606 20905310.968 20905308.382
+ -708.162 -551.814 57.000 50.000
+ -2000043.88453 25115309.010 25115307.366
+ -1707.912 -1330.840 39.000
+ -11924596.55543 -9281797.79042 22554212.682 22554216.119 22554209.980
+ 1297.155 1010.770 51.000 44.000
+ -20359079.57943 -15860987.47542 21543568.904 21543572.378 21543568.308
+ -2832.867 -2207.429 54.000 47.000
+ -5184621.11443 -4012356.12742 24453339.288 24453342.500 24453339.280
+ 881.279 686.711 45.000 39.000
+ -6070443.72043 -4720803.98742 24396442.774 24396445.461 24396442.225
+ 382.397 297.972 44.000 38.000
+ -1905780.73443 -1472711.94442 24933221.534 24933223.080 24933217.236
+ -3658.269 -2850.599 41.000 34.000
+ -8100899.46343 -6265831.99642 23404739.718 23404741.811 23404740.109
+ 2776.100 2163.195 48.000 42.000
+ -22197746.76043 -17285603.49842 20913220.692 20913223.237 20913219.690
+ -413.295 -322.048 56.000 50.000
+ 04 2 1 18 27 30.0000000 0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21807733.69743 -16934198.60842 20655832.560 20655834.961 20655831.333
+ 1934.719 1507.573 56.000 50.000
+ -23311255.76043 -18096755.69342 20909367.591 20909368.981 20909366.663
+ -714.425 -556.695 56.000 50.000
+ -1948795.30653 -1353110.57552 25125060.514 25125066.877 25125060.422
+ -1707.160 -1330.254 36.000 32.000
+ -11963407.10543 -9312039.77242 22546825.562 22546829.885 22546824.773
+ 1289.314 1004.660 50.000 44.000
+ -20273946.49843 -15794650.00442 21559769.239 21559772.310 21559768.571
+ -2843.457 -2215.681 54.000 47.000
+ -5210928.62243 -4032855.46242 24448333.352 24448339.068 24448333.919
+ 871.615 679.181 45.000 39.000
+ -6081716.78843 -4729588.12942 24394295.869 24394299.693 24394295.458
+ 367.690 286.512 42.000 37.000
+ -1796045.99143 -1387204.38442 24954101.425 24954104.774 24954100.630
+ -3657.247 -2849.803 39.000 34.000
+ -8184025.90043 -6330605.83042 23388921.408 23388923.709 23388921.164
+ 2764.598 2154.232 47.000 41.000
+ -22185214.62843 -17275838.20242 20915605.274 20915608.208 20915604.131
+ -423.028 -329.632 56.000 50.000
+ 04 2 1 18 28 0.0000000 0 9G18G21G15G30G26G29G 5G16G 6
+ -21865530.87143 -16979235.34442 20644834.186 20644836.541 20644833.027
+ 1918.036 1494.574 56.000 50.000
+ -23289744.42143 -18079993.60242 20913460.651 20913462.390 20913459.529
+ -720.032 -561.064 56.000 50.000
+ -12001976.43443 -9342093.78342 22539486.745 22539489.338 22539485.697
+ 1281.751 998.767 51.000 44.000
+ -20188496.00943 -15728065.20142 21576030.368 21576033.120 21576029.745
+ -2853.551 -2223.546 54.000 47.000
+ -5236942.98643 -4053126.33742 24443384.858 24443385.458 24443382.594
+ 862.527 672.099 45.000 38.000
+ -6092551.38043 -4738030.68242 24392233.334 24392237.051 24392231.258
+ 354.129 275.945 41.000 36.000
+ -1301724.36342 24974974.852 24974980.825
+ -3655.648 -2848.557 36.000 32.000
+ -8266803.74043 -6395108.02542 23373169.378 23373172.080 23373167.082
+ 2753.491 2145.577 48.000 42.000
+ -22172390.24543 -17265845.17842 20918045.393 20918048.183 20918044.602
+ -432.322 -336.874 56.000 50.000
+ 04 2 1 18 28 30.0000000 0 9G18G21G15G30G26G29G 5G16G 6
+ -21922814.86543 -17023872.20142 20633933.882 20633935.665 20633932.343
+ 1901.303 1481.535 56.000 50.000
+ -23268048.67244 -18063087.81742 20917589.940 20917591.026 20917588.379
+ -725.833 -565.584 57.000 50.000
+ -12040305.96043 -9371960.95042 22532193.073 22532196.787 22532191.248
+ 1273.931 992.674 51.000 44.000
+ -20102731.63243 -15661235.80542 21592350.807 21592353.755 21592350.246
+ -2863.716 -2231.467 54.000 47.000
+ -5262662.61443 -4073167.59842 24438490.973 24438493.350 24438490.008
+ 852.718 664.456 45.000 38.000
+ -6102946.68443 -4746130.87542 24390255.740 24390260.858 24390256.054
+ 339.530 264.569 43.000 38.000
+ -9453786.46853 -7354274.96452 24995844.510 24995850.880 24995848.393
+ -3654.828 -2847.918 38.000 32.000
+ -8349231.31143 -6459337.30042 23357483.797 23357486.246 23357483.143
+ 2742.070 2136.678 49.000 42.000
+ -22159273.22343 -17255624.12842 20920541.324 20920544.219 20920540.435
+ -441.699 -344.181 56.000 50.000
+ 04 2 1 18 29 0.0000000 0 9G18G21G15G30G26G29G 5G16G 6
+ -21979582.93843 -17068107.05142 20623130.961 20623132.805 20623129.536
+ 1883.935 1468.001 56.000 50.000
+ -23246169.36843 -18046039.00442 20921753.167 20921754.497 20921751.599
+ -732.046 -570.425 56.000 50.000
+ -12078395.71243 -9401641.26642 22524945.160 22524948.875 22524944.250
+ 1265.986 986.482 51.000 44.000
+ -20016655.03243 -15594163.13742 21608730.732 21608733.544 21608730.022
+ -2874.126 -2239.579 54.000 47.000
+ -5288084.53843 -4092976.86342 24433652.389 24433655.284 24433652.277
+ 842.518 656.508 46.000 39.000
+ -6112900.18443 -4753886.82242 24388361.218 24388365.826 24388361.862
+ 324.710 253.021 43.000 37.000
+ -9344166.52453 -7268856.82652 25016704.529 25016702.267 25016699.474
+ -3653.590 -2846.953 36.000 31.000
+ -8431305.28443 -6523291.02642 23341865.455 23341867.614 23341864.691
+ 2730.121 2127.367 48.000 42.000
+ -22145861.54943 -17245173.46942 20923093.746 20923096.911 20923092.824
+ -451.779 -352.035 56.000 50.000
+ 04 2 1 18 29 30.0000000 0 8G18G21G15G30G26G29G16G 6
+ -22035835.96643 -17111940.56042 20612426.459 20612428.498 20612425.089
+ 1865.968 1454.001 56.000 50.000
+ -23224110.20343 -18028850.03142 20925951.116 20925952.127 20925949.414
+ -738.877 -575.748 56.000 50.000
+ -12116248.90743 -9431137.25242 22517741.321 22517744.745 22517739.474
+ 1257.146 979.594 50.000 44.000
+ -19930271.31643 -15526851.15842 21625168.198 21625172.153 21625167.582
+ -2885.142 -2248.162 53.000 47.000
+ -5313209.13343 -4112554.45442 24428871.434 24428875.944 24428870.047
+ 832.047 648.348 46.000 39.000
+ -6122412.45543 -4761298.98942 24386551.432 24386555.894 24386550.144
+ 309.646 241.283 43.000 37.000
+ -8513025.25943 -6586968.89042 23326314.164 23326316.838 23326313.732
+ 2717.405 2117.458 48.000 42.000
+ -22132156.46643 -17234494.18542 20925701.675 20925704.646 20925700.328
+ -462.251 -360.195 56.000 50.000
+ 04 2 1 18 30 0.0000000 0 8G18G21G15G30G26G29G16G 6
+ -22091567.94343 -17155368.06042 20601820.751 20601823.256 20601819.570
+ 1849.340 1441.044 56.000 50.000
+ -23201869.13643 -18011519.32742 20930183.035 20930184.359 20930181.884
+ -744.216 -579.908 56.000 50.000
+ -12153862.60643 -9460446.61742 22510583.296 22510587.099 22510581.620
+ 1249.506 973.641 50.000 44.000
+ -19843579.09243 -15459298.77942 21641665.491 21641668.483 21641664.875
+ -2894.630 -2255.556 53.000 47.000
+ -5338030.34343 -4131895.64042 24424146.556 24424150.872 24424147.276
+ 822.539 640.939 45.000 39.000
+ -6131478.40443 -4768363.29242 24384827.513 24384829.801 24384826.955
+ 294.836 229.742 45.000 37.000
+ -8594384.87643 -6650365.96742 23310832.985 23310833.419 23310830.597
+ 2706.296 2108.802 49.000 42.000
+ -22118152.95143 -17223582.36742 20928366.653 20928369.176 20928365.444
+ -471.621 -367.497 56.000 50.000
+ 04 2 1 18 30 30.0000000 0 8G18G21G15G30G26G29G16G 6
+ -22146775.94943 -17198387.26542 20591315.623 20591317.148 20591314.364
+ 1831.496 1427.140 56.000 50.000
+ -23179446.38843 -17994047.04242 20934450.340 20934451.287 20934448.691
+ -750.462 -584.775 56.000 50.000
+ -12191236.61343 -9489569.21042 22503471.799 22503475.929 22503470.041
+ 1241.884 967.702 51.000 44.000
+ -19756579.97443 -15391507.26042 21658221.305 21658223.980 21658220.192
+ -2905.123 -2263.732 53.000 47.000
+ -5362544.93043 -4150997.88742 24419483.412 24419485.769 24419483.021
+ 811.979 632.711 46.000 39.000
+ -6140094.97743 -4775077.50742 24383188.485 24383191.232 24383187.613
+ 279.461 217.762 46.000 39.000
+ -8675380.45343 -6713479.40142 23295419.126 23295420.936 23295417.554
+ 2693.723 2099.005 48.000 42.000
+ -22103848.92343 -17212436.37242 20931088.953 20931091.324 20931087.713
+ -481.980 -375.569 56.000 50.000
+ 04 2 1 18 31 0.0000000 0 8G18G21G15G30G26G29G16G 6
+ -22201465.09043 -17241002.15242 20580908.549 20580910.142 20580907.143
+ 1813.314 1412.972 56.000 50.000
+ -23156850.85443 -17976440.12842 20938749.553 20938750.892 20938748.305
+ -757.095 -589.944 56.000 50.000
+ -12228378.43243 -9518510.88342 22496403.831 22496408.876 22496402.598
+ 1233.357 961.057 51.000 45.000
+ -19669283.50243 -15323484.04442 21674832.058 21674836.342 21674832.000
+ -2915.715 -2271.986 52.000 46.000
+ -5386757.70543 -4169864.99742 24414873.860 24414880.038 24414874.602
+ 800.974 624.136 44.000 39.000
+ -6148267.54043 -4781445.73342 24381629.632 24381636.163 24381631.078
+ 264.511 206.112 44.000 38.000
+ -8756016.56843 -6776312.72442 23280074.822 23280077.485 23280073.860
+ 2680.903 2089.015 48.000 42.000
+ -22089250.20043 -17201060.74142 20933866.799 20933869.799 20933865.655
+ -492.522 -383.783 56.000 50.000
+ 04 2 1 18 31 30.0000000 0 8G18G21G15G30G26G29G16G 6
+ -22255629.04743 -17283207.81442 20570601.261 20570603.232 20570599.945
+ 1797.740 1400.836 56.000 50.000
+ -23134079.07444 -17958695.87642 20943083.165 20943084.474 20943081.738
+ -760.950 -592.948 57.000 50.000
+ -12265284.02943 -9547268.47342 22489381.335 22489384.336 22489379.532
+ 1227.322 956.355 51.000 44.000
+ -19581687.41943 -15255227.37042 21691501.427 21691504.871 21691500.688
+ -2923.761 -2278.255 53.000 47.000
+ -5410661.81743 -4188491.54442 24410327.119 24410329.749 24410324.920
+ 792.822 617.783 45.000 39.000
+ -6155989.74743 -4787463.03042 24380162.742 24380167.102 24380161.476
+ 250.299 195.038 43.000 37.000
+ -8836285.52343 -6838859.96042 23264800.817 23264802.300 23264798.700
+ 2670.404 2080.834 49.000 42.000
+ -22074350.66043 -17189450.71642 20936701.860 20936704.480 20936700.950
+ -500.691 -390.149 56.000 50.000
+ 04 2 1 18 32 0.0000000 0 8G18G21G15G30G26G29G16G 6
+ -22309267.86943 -17325004.27242 20560393.556 20560396.091 20560392.620
+ 1778.867 1386.130 56.000 50.000
+ -23111134.38544 -17940816.88742 20947449.600 20947450.595 20947448.254
+ -767.993 -598.436 57.000 50.000
+ -12301956.43843 -9575844.35942 22482402.734 22482407.485 22482401.394
+ 1218.151 949.208 51.000 45.000
+ -19493796.44643 -15186740.89842 21708226.962 21708230.712 21708226.427
+ -2934.957 -2286.979 53.000 47.000
+ -5434257.03643 -4206877.42042 24405836.453 24405839.643 24405835.995
+ 780.875 608.474 46.000 39.000
+ -6163262.09243 -4793129.73942 24378777.764 24378784.296 24378778.192
+ 234.786 182.950 44.000 37.000
+ -8916186.81843 -6901120.68742 23249595.559 23249598.107 23249595.409
+ 2656.889 2070.303 49.000 42.000
+ -22059151.34243 -17177607.09942 20939594.011 20939597.296 20939593.126
+ -511.994 -398.956 56.000 50.000
+ 04 2 1 18 32 30.0000000 0 8G18G21G15G30G26G29G16G 6
+ -22362378.53143 -17366389.17442 20550286.716 20550289.531 20550285.636
+ 1760.823 1372.070 56.000 50.000
+ -23088016.88244 -17922803.23742 20951848.543 20951849.617 20951847.565
+ -774.234 -603.299 57.000 50.000
+ -12338394.82543 -9604237.88442 22475468.380 22475472.239 22475466.819
+ 1209.887 942.769 51.000 44.000
+ -19405611.56943 -15118025.41442 21725007.795 21725012.025 21725006.940
+ -2945.254 -2295.003 53.000 47.000
+ -5457539.77843 -4225019.78742 24401406.070 24401409.366 24401405.588
+ 770.107 600.083 46.000 40.000
+ -6170081.37243 -4798443.47542 24377480.385 24377484.485 24377480.093
+ 218.933 170.597 45.000 38.000
+ -8995716.48743 -6963091.84342 23234462.200 23234464.041 23234461.169
+ 2643.884 2060.169 49.000 42.000
+ -22043649.43943 -17165527.69242 20942543.911 20942546.868 20942542.994
+ -522.565 -407.193 56.000 50.000
+ 04 2 1 18 33 0.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -22414960.38243 -17407362.01942 20540280.964 20540283.395 20540279.986
+ 1743.966 1358.935 56.000 50.000
+ -23064729.53344 -17904657.24442 20956280.348 20956281.189 20956278.673
+ -778.941 -606.967 57.000 50.000
+ -12374601.54943 -9632450.86742 22468578.445 22468581.852 22468577.386
+ 1202.871 937.302 51.000 44.000
+ -19317136.79443 -15049084.03042 21741843.372 21741847.953 21741843.212
+ -2953.972 -2301.796 53.000 47.000
+ -5480509.34443 -4242918.09742 24397035.113 24397037.638 24397033.687
+ 760.291 592.435 47.000 40.000
+ -6176447.57443 -4803404.16942 24376270.783 24376271.692 24376268.098
+ 204.354 159.237 45.000 38.000
+ -9074873.42943 -7024772.56742 23219398.367 23219398.717 23219397.865
+ 2632.266 2051.116 49.000 42.000
+ -22027845.27243 -17153212.76642 20945551.157 20945554.170 20945550.404
+ -531.855 -414.432 56.000 50.000
+ -1338530.59053 -985079.85052 25016573.902 25016579.121 25016574.867
+ 3833.612 2987.230 42.000 37.000
+ 04 2 1 18 33 30.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -22467009.57343 -17447919.81242 20530376.140 20530378.679 20530375.246
+ 1726.185 1345.079 56.000 50.000
+ -23041271.90843 -17886378.56742 20960743.841 20960744.852 20960742.646
+ -784.559 -611.345 56.000 50.000
+ -12410575.45743 -9660482.45242 22461732.998 22461736.431 22461731.607
+ 1195.428 931.502 51.000 44.000
+ -19228372.97443 -14979917.41942 21758735.044 21758738.224 21758735.104
+ -2963.365 -2309.115 53.000 46.000
+ -5503161.74043 -4260569.34442 24392723.958 24392728.522 24392724.697
+ 749.971 584.393 48.000 40.000
+ -6182357.11643 -4808008.99242 24375145.262 24375148.505 24375144.783
+ 189.199 147.428 43.000 38.000
+ -9153653.25143 -7086159.42242 23204407.822 23204411.427 23204406.674
+ 2619.816 2041.415 49.000 42.000
+ -22011735.96443 -17140660.06042 20948617.112 20948620.457 20948616.072
+ -541.863 -422.231 56.000 50.000
+ -1453527.21743 -1074687.51642 24994692.652 24994696.887 24994690.697
+ 3833.532 2987.168 42.000 38.000
+ 04 2 1 18 34 0.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -22518530.50843 -17488065.96842 20520572.400 20520574.479 20520571.297
+ 1708.310 1331.151 56.000 50.000
+ -23017651.18943 -17867972.81142 20965238.793 20965239.833 20965237.359
+ -790.369 -615.872 56.000 50.000
+ -12446322.95943 -9688337.61142 22454930.815 22454934.284 22454928.658
+ 1187.649 925.441 51.000 44.000
+ -19139328.17643 -14910531.85342 21775679.590 21775683.417 21775678.985
+ -2973.145 -2316.736 53.000 46.000
+ -5525500.72443 -4277976.28542 24388472.737 24388477.165 24388473.230
+ 739.226 576.020 48.000 40.000
+ -6187814.42143 -4812261.38042 24374105.336 24374109.756 24374105.062
+ 173.847 135.465 43.000 38.000
+ -9232058.74843 -7147254.59942 23189486.731 23189491.245 23189486.299
+ 2607.032 2031.454 48.000 42.000
+ -21995326.01143 -17127873.08942 20951739.581 20951742.390 20951738.621
+ -552.324 -430.382 56.000 50.000
+ -1568511.46843 -1164285.52442 24972812.339 24972816.232 24972811.010
+ 3832.546 2986.399 44.000 38.000
+ 04 2 1 18 34 30.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -22569512.44343 -17527792.12942 20510870.745 20510872.911 20510869.713
+ 1690.464 1317.245 56.000 50.000
+ -22993860.40943 -17849434.53742 20969765.694 20969766.880 20969764.652
+ -795.784 -620.091 56.000 50.000
+ -12481836.19543 -9716010.22742 22448172.243 22448176.505 22448171.331
+ 1179.912 919.412 50.000 44.000
+ -19049996.54543 -14840922.78942 21792679.249 21792682.940 21792679.283
+ -2982.431 -2323.972 53.000 47.000
+ -5547515.13043 -4295130.33942 24384283.902 24384286.104 24384282.748
+ 728.370 567.561 47.000 40.000
+ -6192808.89143 -4816153.18442 24373157.770 24373160.056 24373155.102
+ 158.649 123.623 45.000 39.000
+ -9310078.87243 -7208049.50242 23174640.496 23174641.269 23174638.730
+ 2594.390 2021.603 49.000 43.000
+ -21978605.48843 -17114844.11442 20954921.739 20954924.284 20954920.734
+ -562.454 -438.276 56.000 50.000
+ -1683472.07943 -1253865.11342 24950935.325 24950939.466 24950933.771
+ 3831.833 2985.844 44.000 38.000
+ 04 2 1 18 35 0.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -22619968.08143 -17567108.18942 20501269.581 20501271.630 20501268.259
+ 1673.003 1303.639 56.000 50.000
+ -22969914.56743 -17830775.43542 20974323.080 20974323.770 20974321.542
+ -800.883 -624.065 56.000 50.000
+ -12517130.53743 -9743512.26642 22441455.875 22441459.655 22441454.594
+ 1172.703 913.795 51.000 44.000
+ -18960394.89743 -14771103.32742 21809730.609 21809732.917 21809729.135
+ -2991.158 -2330.772 53.000 46.000
+ -5569217.49043 -4312041.25142 24380154.173 24380159.633 24380153.500
+ 718.085 559.547 47.000 40.000
+ -6197353.79243 -4819694.58242 24372291.466 24372295.928 24372290.995
+ 144.039 112.238 45.000 39.000
+ -9387725.39743 -7268553.27542 23159865.124 23159866.210 23159865.060
+ 2582.047 2011.985 49.000 43.000
+ -21961587.62843 -17101583.44242 20958159.744 20958162.856 20958158.845
+ -572.342 -445.981 56.000 50.000
+ -1798421.01543 -1343435.60142 24929060.594 24929065.614 24929059.542
+ 3831.516 2985.597 43.000 38.000
+ 04 2 1 18 35 30.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -22669881.00143 -17606001.34942 20491771.296 20491773.368 20491770.119
+ 1654.864 1289.504 56.000 50.000
+ -22945800.59643 -17811985.32442 20978911.226 20978912.313 20978910.375
+ -806.425 -628.383 56.000 50.000
+ -12552191.45443 -9770832.43542 22434783.681 22434787.837 22434782.323
+ 1164.929 907.737 51.000 44.000
+ -18870510.80643 -14701063.77142 21826834.284 21826837.124 21826834.111
+ -3000.655 -2338.173 53.000 46.000
+ -5590590.63943 -4328695.64342 24376085.549 24376089.529 24376085.498
+ 707.154 551.029 47.000 40.000
+ -6201432.36843 -4822872.70142 24371516.306 24371519.882 24371515.037
+ 128.195 99.892 43.000 38.000
+ -9464980.62943 -7328752.15542 23145164.137 23145165.950 23145162.499
+ 2568.638 2001.536 49.000 43.000
+ -21944256.11543 -17088078.37142 20961457.772 20961460.972 20961457.082
+ -582.799 -454.129 56.000 50.000
+ -1913340.70543 -1432983.30942 24907192.928 24907197.804 24907191.877
+ 3830.366 2984.701 44.000 38.000
+ 04 2 1 18 36 0.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -22719251.90043 -17644472.16442 20482376.276 20482378.308 20482375.136
+ 1636.646 1275.309 56.000 50.000
+ -22921522.65744 -17793067.44142 20983531.737 20983532.442 20983530.178
+ -811.937 -632.678 57.000 50.000
+ -12587022.76443 -9797973.68142 22428155.874 22428160.309 22428154.087
+ 1157.289 901.784 51.000 44.000
+ -18780349.58543 -14630808.28142 21843991.542 21843994.854 21843991.020
+ -3009.956 -2345.420 53.000 46.000
+ -5611635.15743 -4345093.98242 24372081.809 24372086.096 24372081.400
+ 696.407 542.655 47.000 40.000
+ -6205045.95743 -4825688.51842 24370826.144 24370830.892 24370826.745
+ 112.802 87.898 41.000 37.000
+ -9541844.98643 -7388646.45442 23130536.599 23130538.441 23130536.860
+ 2555.708 1991.461 49.000 42.000
+ -21926612.70343 -17074330.26042 20964815.374 20964818.367 20964814.692
+ -593.264 -462.284 56.000 50.000
+ -2028231.37343 -1522508.41042 24885328.226 24885335.045 24885327.775
+ 3829.322 2983.887 44.000 38.000
+ 04 2 1 18 36 30.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -22768084.01643 -17682523.14142 20473083.636 20473086.150 20473082.667
+ 1618.461 1261.138 56.000 50.000
+ -22897087.14843 -17774026.77642 20988180.977 20988182.336 20988180.034
+ -817.368 -636.910 56.000 50.000
+ -12621630.01543 -9824940.33142 22421570.436 22421574.837 22421568.441
+ 1149.616 895.805 51.000 45.000
+ -18689918.74343 -14560342.68642 21861200.946 21861203.182 21861199.871
+ -3019.064 -2352.517 53.000 46.000
+ -5632354.02043 -4361238.52342 24368139.502 24368142.947 24368139.180
+ 684.951 533.728 47.000 40.000
+ -6208197.83443 -4828144.50742 24370227.893 24370231.368 24370227.077
+ 97.060 75.631 42.000 37.000
+ -9618320.54743 -7448237.78742 23115984.532 23115987.142 23115983.117
+ 2542.390 1981.083 49.000 42.000
+ -21908661.11543 -17060342.01442 20968231.574 20968234.514 20968230.904
+ -603.766 -470.467 56.000 50.000
+ -2143095.19543 -1612012.58142 24863470.720 24863476.168 24863470.110
+ 3828.148 2982.972 43.000 38.000
+ 04 2 1 18 37 0.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -22816374.84543 -17720152.33942 20463894.359 20463896.582 20463893.266
+ 1601.085 1247.599 56.000 51.000
+ -22872494.07244 -17754863.33442 20992861.132 20992862.117 20992859.923
+ -821.974 -640.499 57.000 50.000
+ -12656013.10943 -9851732.31842 22415027.102 22415032.039 22415025.797
+ 1142.919 890.586 51.000 45.000
+ -18599219.66943 -14489668.08042 21878459.267 21878462.674 21878458.978
+ -3027.333 -2358.961 53.000 46.000
+ -5652743.93043 -4377126.75242 24364258.090 24364262.910 24364258.656
+ 674.489 525.576 46.000 40.000
+ -6210885.55143 -4830238.83842 24369717.024 24369719.814 24369715.575
+ 82.162 64.022 44.000 38.000
+ -9694403.64443 -7507523.29942 23101505.431 23101507.075 23101505.187
+ 2529.939 1971.381 48.000 42.000
+ -21890399.18243 -17046111.93942 20971706.753 20971709.827 20971705.734
+ -613.482 -478.038 56.000 50.000
+ -2257928.54843 -1701493.02142 24841618.199 24841624.343 24841616.757
+ 3828.183 2983.000 43.000 38.000
+ 04 2 1 18 37 30.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -22864122.17943 -17757358.03442 20454808.488 20454810.404 20454807.088
+ 1583.000 1233.506 56.000 51.000
+ -22847744.33143 -17735577.81042 20997570.496 20997572.283 20997569.456
+ -827.141 -644.525 56.000 50.000
+ -12690172.17543 -9878349.74842 22408527.262 22408531.034 22408526.312
+ 1135.655 884.926 51.000 45.000
+ -18508254.43043 -14418786.08242 21895769.687 21895773.393 21895768.796
+ -3036.120 -2365.808 53.000 46.000
+ -5672802.16743 -4392756.50342 24360443.538 24360445.992 24360441.889
+ 663.592 517.085 47.000 40.000
+ -6213107.13043 -4831969.93942 24369293.085 24369296.452 24369292.674
+ 66.932 52.155 43.000 38.000
+ -9770091.27743 -7566500.67642 23087102.918 23087104.894 23087101.619
+ 2516.651 1961.027 48.000 43.000
+ -21871824.98343 -17031638.53842 20975241.790 20975244.331 20975240.334
+ -623.821 -486.094 56.000 50.000
+ -2372728.23643 -1790947.22042 24819773.719 24819778.767 24819772.455
+ 3826.627 2981.787 44.000 38.000
+ 04 2 1 18 38 0.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -22911325.29343 -17794139.66042 20445825.790 20445827.882 20445824.675
+ 1564.329 1218.958 56.000 51.000
+ -22822840.42043 -17716172.16542 21002310.013 21002311.017 21002308.585
+ -832.633 -648.805 56.000 50.000
+ -12724109.00643 -9904794.01542 22402069.333 22402073.236 22402068.526
+ 1127.613 878.659 51.000 45.000
+ -18417026.72443 -14347699.57242 21913130.131 21913132.891 21913129.195
+ -3045.155 -2372.848 53.000 46.000
+ -5692527.85543 -4408127.17142 24356688.687 24356692.636 24356687.681
+ 652.012 508.061 46.000 40.000
+ -6214862.29843 -4833337.53942 24368958.020 24368961.738 24368958.040
+ 50.770 39.561 42.000 37.000
+ -9845381.95243 -7625168.71742 23072776.758 23072777.105 23072775.920
+ 2503.348 1950.661 49.000 43.000
+ -21852938.73443 -17016921.98942 20978834.936 20978837.964 20978833.809
+ -634.770 -494.626 56.000 50.000
+ -2487492.90543 -1880374.14042 24797935.966 24797939.858 24797933.563
+ 3824.977 2980.502 45.000 37.000
+ 04 2 1 18 38 30.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -22957984.39343 -17830497.38042 20436947.028 20436948.938 20436945.846
+ 1546.384 1204.975 56.000 51.000
+ -22797784.90443 -17696648.38142 21007077.577 21007078.736 21007076.385
+ -837.544 -652.632 56.000 49.000
+ -12757825.75843 -9931066.78442 22395653.324 22395656.979 22395651.857
+ 1120.425 873.058 51.000 45.000
+ -18325540.49743 -14276411.60642 21930539.329 21930542.000 21930537.496
+ -3053.758 -2379.552 53.000 46.000
+ -5711920.37343 -4423238.19742 24352998.510 24353003.439 24352998.368
+ 641.235 499.664 47.000 40.000
+ -6216150.92243 -4834341.60442 24368712.797 24368717.207 24368713.905
+ 35.131 27.375 43.000 37.000
+ -9920274.59343 -7683526.61942 23058524.665 23058526.292 23058522.724
+ 2490.035 1940.287 49.000 42.000
+ -21833740.64643 -17001962.44142 20982488.117 20982491.395 20982487.341
+ -644.907 -502.525 56.000 50.000
+ -2602221.19843 -1969772.71642 24776103.154 24776106.011 24776099.924
+ 3823.977 2979.722 45.000 37.000
+ 04 2 1 18 39 0.0000000 0 9G18G21G15G30G26G29G16G 6G23
+ -23004094.31843 -17866427.16542 20428172.562 20428174.544 20428171.321
+ 1528.170 1190.782 56.000 51.000
+ -22772575.80843 -17677004.92242 21011874.700 21011875.821 21011873.608
+ -842.576 -656.553 56.000 49.000
+ -12791320.00943 -9957166.17642 22389279.456 22389282.658 22389278.255
+ 1113.197 867.426 51.000 45.000
+ -18233795.14643 -14204921.71942 21947997.527 21948000.304 21947996.236
+ -3062.115 -2386.064 53.000 46.000
+ -5730974.42643 -4438085.52642 24349371.514 24349375.289 24349372.156
+ 629.638 490.627 46.000 40.000
+ -6216968.34443 -4834978.57642 24368558.325 24368562.616 24368558.411
+ 20.052 15.625 42.000 38.000
+ -9994763.39743 -7741569.81642 23044350.662 23044350.712 23044349.410
+ 2476.473 1929.719 49.000 43.000
+ -21814226.25443 -16986756.41542 20986201.830 20986205.042 20986200.503
+ -655.461 -510.749 56.000 50.000
+ -2716907.32343 -2059138.44642 24754278.299 24754283.286 24754276.250
+ 3822.354 2978.458 44.000 37.000
+ 04 2 1 18 39 30.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23049653.57643 -17901927.86642 20419502.933 20419504.824 20419501.934
+ 1509.750 1176.429 56.000 51.000
+ -1224496.54153 -949147.02352 22888877.598 22888878.648 22888876.942
+ 3353.716 2613.285 51.000 44.000
+ -22747214.40843 -17657242.78442 21016700.849 21016702.223 21016699.511
+ -847.582 -660.453 56.000 49.000
+ -12824592.49243 -9983092.77042 22382947.987 22382951.559 22382946.310
+ 1105.682 861.570 51.000 45.000
+ -18141793.07443 -14133231.78642 21965504.403 21965507.160 21965503.945
+ -3070.675 -2392.734 52.000 46.000
+ -5749687.73243 -4452667.29642 24345811.180 24345814.838 24345810.157
+ 618.595 482.022 47.000 40.000
+ -6217313.08443 -4835247.19642 24368492.481 24368495.039 24368491.826
+ 3.770 2.938 42.000 37.000
+ -10068845.69143 -7799296.26642 23030252.689 23030253.798 23030251.150
+ 2463.111 1919.307 49.000 43.000
+ -21794394.35943 -16971302.99242 20989975.804 20989978.925 20989974.767
+ -666.023 -518.979 56.000 50.000
+ -2831548.53143 -2148469.17542 24732464.535 24732466.297 24732462.393
+ 3820.844 2977.281 45.000 37.000
+ 04 2 1 18 40 0.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23094665.53743 -17937002.10242 20410937.231 20410939.179 20410935.936
+ 1491.360 1162.099 56.000 51.000
+ -1324989.15843 -1027452.92942 22869753.995 22869754.598 22869753.616
+ 3346.177 2607.411 50.000 44.000
+ -22721706.93043 -17637366.82242 21021554.746 21021556.533 21021553.149
+ -852.629 -664.386 56.000 49.000
+ -12857648.69443 -10008850.82042 22376657.204 22376660.467 22376655.671
+ 1098.429 855.919 51.000 45.000
+ -18049541.63543 -14061347.54342 21983059.052 21983062.955 21983058.507
+ -3079.139 -2399.329 52.000 46.000
+ -5768063.16543 -4466985.80242 24342315.388 24342317.270 24342314.276
+ 607.119 473.080 47.000 40.000
+ -6217188.72843 -4835150.23642 24368514.928 24368519.470 24368513.137
+ -11.846 -9.231 42.000 37.000
+ -10142523.56243 -7856707.58842 23016231.985 23016233.808 23016231.055
+ 2449.166 1908.441 49.000 43.000
+ -21774248.53543 -16955604.94942 20993808.914 20993812.082 20993807.971
+ -676.641 -527.253 55.000 50.000
+ -2946147.05043 -2237766.63042 24710656.563 24710658.904 24710655.580
+ 3819.199 2975.999 45.000 37.000
+ 04 2 1 18 40 30.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23139126.69343 -17971647.14242 20402476.366 20402478.600 20402475.430
+ 1472.708 1147.565 56.000 51.000
+ -1425254.56643 -1105581.78842 22850674.204 22850676.101 22850672.774
+ 3338.120 2601.132 50.000 44.000
+ -22696053.07643 -17617376.79542 21026436.661 21026438.027 21026434.981
+ -857.773 -668.394 56.000 49.000
+ -12890487.71743 -10034439.64642 22370408.535 22370412.639 22370406.710
+ 1090.909 850.059 51.000 45.000
+ -17957041.66543 -13989269.64542 22000661.187 22000664.974 22000660.594
+ -3087.641 -2405.954 52.000 46.000
+ -5786097.01443 -4481038.12742 24338882.741 24338886.350 24338882.592
+ 595.076 463.696 46.000 40.000
+ -6216592.01943 -4834685.25742 24368629.422 24368633.646 24368630.660
+ -27.972 -21.796 44.000 38.000
+ -10215792.86943 -7913800.55642 23002288.539 23002291.229 23002287.601
+ 2435.358 1897.681 49.000 43.000
+ -21753785.99343 -16939660.11342 20997703.098 20997706.416 20997702.048
+ -687.495 -535.710 56.000 50.000
+ -3060698.57343 -2327027.49442 24688856.676 24688860.520 24688857.329
+ 3817.550 2974.714 45.000 37.000
+ 04 2 1 18 41 0.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23183034.40243 -18005860.92542 20394121.227 20394123.130 20394120.108
+ 1455.172 1133.900 56.000 51.000
+ -1525289.06843 -1183530.73042 22831637.694 22831638.871 22831637.701
+ 3331.422 2595.913 51.000 45.000
+ -22670252.83543 -17597272.71242 21031345.971 21031347.352 21031344.986
+ -861.581 -671.362 56.000 49.000
+ -12923109.20443 -10059858.95742 22364200.971 22364205.333 22364199.731
+ 1084.593 845.137 51.000 45.000
+ -17864294.72743 -13916999.30242 22018310.659 22018314.092 22018309.810
+ -3094.875 -2411.591 52.000 46.000
+ -5803786.12543 -4494821.83842 24335516.523 24335519.921 24335515.752
+ 584.550 455.494 46.000 39.000
+ -6215520.76243 -4833850.50042 24368834.903 24368835.985 24368833.746
+ -42.838 -33.380 44.000 38.000
+ -10288650.07543 -7970572.40542 22988423.804 22988427.756 22988423.892
+ 2422.444 1887.619 48.000 43.000
+ -21733004.56943 -16923466.80142 21001657.984 21001661.052 21001656.743
+ -697.317 -543.364 56.000 50.000
+ -3175199.34043 -2416248.78242 24667068.061 24667071.841 24667067.300
+ 3816.621 2973.990 44.000 38.000
+ 04 2 1 18 41 30.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23226390.00743 -18039644.48942 20385870.720 20385873.149 20385869.735
+ 1435.714 1118.738 56.000 51.000
+ -1625092.43543 -1261299.56042 22812646.106 22812647.794 22812645.364
+ 3322.588 2589.030 51.000 45.000
+ -22644310.29643 -17577057.73942 21036283.126 21036284.508 21036281.685
+ -867.422 -675.913 56.000 49.000
+ -12955516.81443 -10085111.63142 22358033.827 22358037.431 22358032.283
+ 1076.561 838.879 51.000 45.000
+ -17771305.98043 -13844540.54542 22036006.414 22036009.415 22036005.692
+ -3103.907 -2418.629 53.000 46.000
+ -5821131.08343 -4508337.36342 24332214.207 24332220.223 24332214.584
+ 572.022 445.731 45.000 39.000
+ -6213976.01943 -4832646.78642 24369126.409 24369130.758 24369126.494
+ -59.691 -46.512 41.000 38.000
+ -10361095.24743 -8027023.18942 22974638.312 22974641.853 22974637.761
+ 2407.732 1876.155 49.000 43.000
+ -21711905.55643 -16907026.01142 21005672.507 21005676.124 21005671.618
+ -708.781 -552.297 56.000 50.000
+ -3289649.15343 -2505430.38542 24645288.604 24645292.785 24645288.232
+ 3813.694 2971.710 45.000 38.000
+ 04 2 1 18 42 0.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23269189.63343 -18072994.82942 20377726.696 20377728.641 20377725.070
+ 1417.370 1104.444 56.000 51.000
+ -1724659.58043 -1338884.32642 22793698.539 22793700.052 22793697.761
+ 3315.037 2583.146 51.000 45.000
+ -22618224.17943 -17556730.88742 21041246.823 21041248.373 21041245.589
+ -871.866 -679.376 56.000 49.000
+ -12987708.76143 -10110196.24642 22351907.140 22351911.380 22351906.640
+ 1069.531 833.401 51.000 45.000
+ -17678075.49443 -13771893.40642 22053747.272 22053750.908 22053746.528
+ -3111.730 -2424.725 53.000 46.000
+ -5838127.51443 -4521581.29342 24328983.111 24328985.439 24328980.133
+ 560.899 437.064 46.000 40.000
+ -6211954.17043 -4831071.31642 24369513.404 24369516.344 24369512.574
+ -75.054 -58.484 44.000 38.000
+ -10433123.49743 -8083149.08942 22960932.785 22960933.576 22960931.773
+ 2393.933 1865.402 49.000 43.000
+ -21690485.44443 -16890335.02042 21009749.097 21009752.141 21009747.958
+ -719.412 -560.581 56.000 50.000
+ -3404043.12043 -2594568.46642 24623519.705 24623524.758 24623517.923
+ 3812.212 2970.555 45.000 38.000
+ 04 2 1 18 42 30.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23311433.15543 -18105911.84542 20369687.539 20369689.894 20369686.325
+ 1398.709 1089.903 56.000 51.000
+ -1823989.53043 -1416284.26742 22774797.506 22774798.904 22774797.381
+ 3306.856 2576.771 51.000 45.000
+ -22591997.45043 -17536294.46442 21046237.618 21046238.685 21046236.316
+ -876.685 -683.131 56.000 49.000
+ -13019687.39643 -10135114.64842 22345823.095 22345825.552 22345820.850
+ 1062.302 827.768 52.000 45.000
+ -17584607.68343 -13699061.33142 22071533.237 22071536.781 22071532.779
+ -3119.665 -2430.908 52.000 45.000
+ -5854775.10743 -4534553.45542 24325813.492 24325818.508 24325813.415
+ 549.106 427.875 46.000 39.000
+ -6209455.48443 -4829124.29442 24369990.140 24369992.208 24369988.689
+ -91.529 -71.321 44.000 38.000
+ -10504733.85443 -8138949.36542 22947305.284 22947306.899 22947303.900
+ 2379.930 1854.491 50.000 43.000
+ -21668744.88143 -16873394.32042 21013885.939 21013889.322 21013885.016
+ -730.113 -568.919 56.000 50.000
+ -3518380.16643 -2683662.18742 24601761.407 24601765.811 24601761.909
+ 3810.129 2968.932 44.000 38.000
+ 04 2 1 18 43 0.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23353120.48343 -18138395.45542 20361754.850 20361756.927 20361753.798
+ 1380.631 1075.816 56.000 51.000
+ -1923081.14343 -1493498.48442 22755940.671 22755942.346 22755939.656
+ 3299.308 2570.889 51.000 45.000
+ -22565632.62843 -17515750.43742 21051254.712 21051255.681 21051253.446
+ -880.831 -686.362 56.000 49.000
+ -13051455.03043 -10159868.62842 22339777.672 22339780.323 22339775.755
+ 1055.707 822.629 52.000 45.000
+ -17490906.21543 -13626047.19142 22089364.526 22089367.723 22089363.943
+ -3126.909 -2436.552 52.000 45.000
+ -5871073.23943 -4547253.27842 24322711.361 24322715.310 24322712.002
+ 537.827 419.086 46.000 39.000
+ -6206480.52243 -4826806.13642 24370555.483 24370557.196 24370555.207
+ -106.696 -83.140 44.000 38.000
+ -10575925.19943 -8194423.12042 22933757.243 22933759.719 22933755.358
+ 2366.470 1844.003 50.000 43.000
+ -21646684.12643 -16856204.12542 21018084.151 21018086.839 21018083.359
+ -740.503 -577.015 56.000 50.000
+ -3632659.00643 -2772710.54342 24580015.751 24580020.578 24580013.459
+ 3808.259 2967.474 43.000 38.000
+ 04 2 1 18 43 30.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23394249.25343 -18170443.83442 20353928.113 20353930.264 20353927.189
+ 1361.624 1061.006 56.000 51.000
+ -2021930.36843 -1570523.82242 22737130.444 22737132.238 22737129.015
+ 3290.799 2564.259 51.000 45.000
+ -22539129.80843 -17495098.88342 21056298.279 21056299.047 21056297.053
+ -885.725 -690.175 56.000 49.000
+ -13083011.48543 -10184458.06842 22333771.529 22333776.606 22333770.732
+ 1048.468 816.988 51.000 45.000
+ -17396972.83943 -13552852.35042 22107239.431 22107242.468 22107238.345
+ -3135.002 -2442.859 51.000 45.000
+ -5887018.82843 -4559678.39442 24319678.042 24319680.781 24319677.487
+ 525.667 409.611 47.000 40.000
+ -6203026.54743 -4824114.71942 24371211.500 24371214.422 24371210.744
+ -123.250 -96.039 44.000 38.000
+ -10646694.16143 -8249567.76942 22920291.847 22920293.559 22920289.980
+ 2352.060 1832.774 50.000 43.000
+ -21624300.98443 -16838762.72042 21022343.688 21022346.621 21022342.659
+ -751.435 -585.534 56.000 50.000
+ -3746876.00343 -2861710.68942 24558280.817 24558284.742 24558279.792
+ 3806.042 2965.747 44.000 38.000
+ 04 2 1 18 44 0.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23434818.91143 -18202056.53342 20346208.072 20346210.239 20346206.879
+ 1343.029 1046.516 56.000 51.000
+ -2120534.74943 -1647358.38642 22718365.733 22718368.001 22718365.499
+ 3282.815 2558.038 51.000 45.000
+ -22512490.51943 -17474340.98842 21061367.654 21061368.360 21061365.995
+ -890.066 -693.558 56.000 49.000
+ -13114357.78343 -10208883.74142 22327807.781 22327810.784 22327806.570
+ 1041.572 811.615 52.000 45.000
+ -17302810.34743 -13479478.98242 22125157.707 22125160.339 22125157.453
+ -3142.585 -2448.767 51.000 45.000
+ -5902610.25843 -4571827.52142 24316711.595 24316715.484 24316711.216
+ 514.057 400.564 47.000 40.000
+ -6199092.78743 -4821049.41342 24371960.800 24371962.368 24371960.674
+ -138.801 -108.157 44.000 38.000
+ -10717038.42243 -8304381.47042 22906905.116 22906906.362 22906903.888
+ 2337.946 1821.776 50.000 43.000
+ -21601594.61643 -16821069.44842 21026664.042 21026667.337 21026662.857
+ -762.031 -593.790 56.000 50.000
+ -3861028.73943 -2950660.76242 24536557.837 24536562.755 24536557.219
+ 3803.776 2963.981 43.000 38.000
+ 04 2 1 18 44 30.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23474826.04843 -18233230.91042 20338595.185 20338596.992 20338593.898
+ 1325.013 1032.478 56.000 51.000
+ -2218890.23943 -1723999.00742 22699650.542 22699651.510 22699649.681
+ 3274.935 2551.897 52.000 45.000
+ -22485714.57643 -17453476.61342 21066462.393 21066463.994 21066461.303
+ -893.993 -696.618 56.000 49.000
+ -13145492.98643 -10233144.92142 22321881.708 22321885.974 22321880.458
+ 1035.004 806.497 51.000 45.000
+ -17208419.56443 -13405927.70842 22143120.056 22143122.640 22143119.648
+ -3149.320 -2454.015 51.000 45.000
+ -5917843.82743 -4583697.83042 24313812.581 24313815.874 24313811.663
+ 502.811 391.801 48.000 40.000
+ -6194676.34543 -4817608.00642 24372799.269 24372804.452 24372798.543
+ -154.310 -120.241 42.000 38.000
+ -10786953.90643 -8358861.04142 22893601.159 22893601.979 22893599.774
+ 2324.116 1810.999 51.000 44.000
+ -21578562.38843 -16803122.26142 21031046.961 21031050.293 21031046.273
+ -772.223 -601.732 56.000 50.000
+ -3975112.84143 -3039557.34942 24514850.751 24514853.222 24514848.114
+ 3802.318 2962.845 43.000 38.000
+ 04 2 1 18 45 0.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23514275.23943 -18263970.52242 20331088.061 20331089.962 20331086.963
+ 1305.265 1017.090 56.000 51.000
+ -2316999.70243 -1800447.92742 22680981.599 22680981.725 22680980.050
+ 3265.829 2544.802 52.000 45.000
+ -22458808.56343 -17432510.88842 21071582.902 21071583.835 21071581.620
+ -899.437 -700.860 56.000 49.000
+ -13176423.34343 -10257246.47442 22315996.517 22316000.619 22315995.262
+ 1027.296 800.490 51.000 45.000
+ -17113808.65843 -13332204.93242 22161123.487 22161126.879 22161123.466
+ -3157.800 -2460.623 51.000 45.000
+ -5932723.32943 -4595292.19842 24310980.005 24310984.024 24310981.213
+ 489.653 381.548 47.000 40.000
+ -6189781.57643 -4813793.89142 24373732.454 24373736.624 24373731.226
+ -171.482 -133.622 44.000 38.000
+ -10856443.81543 -8413009.02742 22880376.773 22880378.618 22880376.292
+ 2308.796 1799.062 50.000 43.000
+ -21555208.66143 -16784924.55842 21035491.680 21035494.299 21035490.656
+ -784.234 -611.091 56.000 50.000
+ -4089131.22243 -3128402.73342 24493153.970 24493155.609 24493150.536
+ 3798.984 2960.247 44.000 38.000
+ 04 2 1 18 45 30.0000000 0 11G18G22G21G25G15G30G26G29G16G 6G23
+ -23553157.70643 -18294268.52442 20323688.942 20323691.058 20323687.709
+ 1286.160 1002.203 56.000 51.000
+ -2414852.73543 -1876697.01642 22662359.566 22662361.379 22662358.576
+ 3257.072 2537.978 52.000 45.000
+ -22431766.37443 -17411439.05242 21076728.897 21076729.749 21076727.553
+ -904.114 -704.504 56.000 49.000
+ 25477514.020
+ -1701.907 -1326.161 42.000
+ -13207142.55443 -10281183.49542 22310151.415 22310154.168 22310150.058
+ 1020.132 794.908 52.000 45.000
+ -17018972.81943 -13258306.87742 22179169.429 22179172.887 22179169.246
+ -3165.456 -2466.589 50.000 44.000
+ -5947239.27143 -4606603.32342 24308219.476 24308221.639 24308219.100
+ 477.226 371.864 47.000 40.000
+ -6184399.85543 -4809600.29442 24374756.734 24374758.655 24374755.764
+ -187.909 -146.422 44.000 38.000
+ -10925497.92043 -8466817.42542 22867236.737 22867239.883 22867235.753
+ 2294.110 1787.618 50.000 44.000
+ -21531524.84243 -16766469.63342 21039998.333 21040001.208 21039997.037
+ -795.444 -619.826 56.000 50.000
+ -4203073.75543 -3217189.02242 24471470.654 24471473.911 24471468.972
+ 3796.297 2958.154 45.000 39.000
+ 04 2 1 18 46 0.0000000 0 11G18G22G21G25G15G30G26G29G16G 6G23
+ -23591478.81843 -18324129.10642 20316396.924 20316398.990 20316395.759
+ 1267.840 987.927 56.000 51.000
+ -2512453.58343 -1952749.59942 22643786.522 22643788.411 22643785.771
+ 3248.845 2531.568 52.000 45.000
+ -22404596.08643 -17390267.39942 21081898.779 21081899.802 21081897.667
+ -908.015 -707.544 56.000 49.000
+ -743000.60053 -597342.66052 25487224.022 25487227.755 25487221.600
+ -1699.366 -1324.181 41.000 35.000
+ -13237658.32943 -10304961.98742 22304343.801 22304347.139 22304342.327
+ 1013.605 789.822 51.000 45.000
+ -16923921.38443 -13184240.83742 22197257.897 22197261.783 22197257.324
+ -3172.169 -2471.820 51.000 45.000
+ -5961396.71343 -4617635.07142 24305523.305 24305529.874 24305522.748
+ 465.652 362.846 46.000 39.000
+ -6178537.00943 -4805031.79342 24375872.831 24375874.134 24375872.209
+ -203.902 -158.885 44.000 37.000
+ -10994120.99843 -8520289.95042 22854178.150 22854179.989 22854177.415
+ 2279.892 1776.539 51.000 44.000
+ -21507516.83843 -16747762.10242 21044566.711 21044569.746 21044565.835
+ -805.845 -627.931 56.000 50.000
+ -4316944.64343 -3305919.49542 24449800.611 24449804.586 24449799.187
+ 3794.337 2956.626 45.000 39.000
+ 04 2 1 18 46 30.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23629237.16443 -18353551.17842 20309211.239 20309213.617 20309210.177
+ 1249.524 973.655 56.000 51.000
+ -2609799.78443 -2028603.76642 22625262.273 22625263.341 22625262.024
+ 3240.883 2525.363 52.000 45.000
+ -22377298.93843 -17368996.89642 21087093.613 21087094.228 21087092.462
+ -911.732 -710.440 56.000 49.000
+ -13267971.19143 -10328582.36942 22298575.750 22298578.834 22298574.112
+ 1007.418 785.001 51.000 45.000
+ -16828657.11743 -13110008.93542 22215386.734 22215389.918 22215385.457
+ -3178.612 -2476.840 52.000 45.000
+ -5975193.77043 -4628386.00642 24302899.441 24302904.135 24302898.107
+ 454.241 353.954 47.000 40.000
+ -6172191.78143 -4800087.43342 24377079.022 24377082.108 24377077.881
+ -219.191 -170.798 42.000 37.000
+ -11062310.46443 -8573424.59642 22841201.266 22841204.188 22841200.453
+ 2266.109 1765.799 50.000 44.000
+ -21483183.63643 -16728801.17342 21049197.376 21049200.141 21049196.243
+ -816.206 -636.005 56.000 50.000
+ -4430741.20443 -3394592.05842 24428146.150 24428149.763 24428144.534
+ 3792.035 2954.832 45.000 39.000
+ 04 2 1 18 47 0.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23666426.68543 -18382530.00342 20302134.828 20302136.626 20302133.575
+ 1230.023 958.459 56.000 51.000
+ -2706883.51443 -2104253.40842 22606788.330 22606789.597 22606787.497
+ 3231.497 2518.050 52.000 45.000
+ -22349871.18543 -17347624.61242 21092312.857 21092313.949 21092311.605
+ -916.490 -714.148 56.000 49.000
+ -13298077.02643 -10352041.42842 22292845.612 22292850.189 22292845.041
+ 999.874 779.122 51.000 45.000
+ -16733177.44543 -13035609.17942 22233554.534 22233558.568 22233554.935
+ -3186.401 -2482.910 52.000 45.000
+ -5988623.55643 -4638850.78442 24300343.655 24300346.382 24300341.573
+ 441.372 343.926 47.000 40.000
+ -6165358.25443 -4794762.66442 24378381.594 24378381.903 24378378.263
+ -236.018 -183.910 44.000 37.000
+ -11130059.06943 -8626215.71442 22828309.181 22828311.022 22828308.785
+ 2250.789 1753.862 50.000 43.000
+ -21458519.15643 -16709582.10042 21053890.843 21053893.818 21053889.902
+ -827.876 -645.098 56.000 50.000
+ -4544455.78243 -3483200.75742 24406505.860 24406510.349 24406504.595
+ 3789.135 2952.573 46.000 40.000
+ 04 2 1 18 47 30.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23703051.31043 -18411068.65242 20295165.102 20295166.869 20295164.040
+ 1211.777 944.242 56.000 51.000
+ -2803707.55543 -2179700.69342 22588363.504 22588364.975 22588362.492
+ 3223.705 2511.978 52.000 45.000
+ -22322318.86143 -17326155.26742 21097555.988 21097557.279 21097554.730
+ -920.017 -716.896 56.000 49.000
+ -13327981.69343 -10375343.73442 22287154.996 22287160.646 22287154.298
+ 993.964 774.517 51.000 45.000
+ -16637490.11743 -12961047.63042 22251764.001 22251767.413 22251763.505
+ -3192.619 -2487.755 51.000 45.000
+ -6001689.35143 -4649031.90642 24297856.326 24297860.377 24297856.977
+ 429.801 334.910 46.000 40.000
+ -6158040.50743 -4789060.49642 24379772.351 24379774.924 24379771.911
+ -251.594 -196.047 43.000 38.000
+ -11197369.66543 -8678665.51942 22815501.090 22815503.635 22815499.767
+ 2236.977 1743.099 50.000 44.000
+ -21433527.51243 -16690108.09942 21058646.557 21058649.445 21058645.117
+ -838.062 -653.035 56.000 50.000
+ -4658090.93743 -3571747.56942 24384882.443 24384887.225 24384881.011
+ 3786.956 2950.875 47.000 39.000
+ 04 2 1 18 48 0.0000000 0 10G18G22G21G15G30G26G29G16G 6G23
+ -23739106.40143 -18439163.51042 20288304.098 20288305.794 20288302.992
+ 1192.294 929.060 56.000 51.000
+ -2900265.77743 -2254940.84342 22569988.413 22569990.037 22569987.910
+ 3214.166 2504.545 51.000 45.000
+ -22294639.87943 -17304587.22842 21102823.124 21102824.097 21102821.530
+ -924.753 -720.587 56.000 49.000
+ -13357682.96943 -10398487.55342 22281504.263 22281508.498 22281502.590
+ 986.734 768.884 51.000 45.000
+ -16541594.53843 -12886323.79342 22270012.485 22270015.886 22270011.628
+ -3200.058 -2493.552 51.000 45.000
+ -6014386.11543 -4658925.46742 24295441.435 24295444.666 24295439.027
+ 416.796 324.776 47.000 40.000
+ -6150234.28443 -4782977.70142 24381256.032 24381260.250 24381256.275
+ -268.166 -208.960 42.000 38.000
+ -11264236.44343 -8730769.50142 22802775.299 22802778.437 22802775.705
+ 2221.328 1730.905 49.000 44.000
+ -21408204.37543 -16670375.77942 21063464.774 21063468.001 21063464.077
+ -849.593 -662.020 56.000 50.000
+ -4771640.58043 -3660227.76042 24363274.117 24363278.472 24363272.823
+ 3783.396 2948.101 46.000 39.000
+ 04 2 1 18 48 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23774594.46143 -18466816.52442 20281550.784 20281553.022 20281549.672
+ 1174.153 914.924 56.000 51.000
+ -2996558.96543 -2329974.46042 22551664.972 22551666.344 22551663.379
+ 3205.719 2497.963 52.000 45.000
+ -22266838.93043 -17282924.15142 21108113.603 21108114.462 21108111.864
+ -928.167 -723.247 56.000 49.000
+ -13387185.06543 -10421476.16442 22275889.900 22275893.483 22275887.940
+ 980.681 764.167 51.000 45.000
+ -16445496.51843 -12811442.22242 22288298.572 22288303.226 22288298.204
+ -3205.841 -2498.058 51.000 45.000
+ -6026715.35043 -4668532.67242 24293095.031 24293099.617 24293094.489
+ 405.420 315.912 48.000 40.000
+ -6141941.67843 -4776515.95742 24382837.323 24382839.378 24382836.181
+ -284.070 -221.353 45.000 38.000
+ -1030615.98453 -755956.44352 24421004.522 24421007.800 24421001.972
+ 2800.957 2182.564 43.000 36.000
+ -11330660.38243 -8782528.40442 22790135.650 22790139.343 22790134.735
+ 2207.217 1719.909 50.000 44.000
+ -21382552.06343 -16650386.97342 21068346.848 21068349.891 21068346.090
+ -859.971 -670.107 56.000 50.000
+ -4885105.40143 -3748641.87642 24341683.186 24341687.228 24341681.216
+ 3780.905 2946.160 47.000 39.000
+ 04 2 1 18 49 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23809514.63243 -18494027.02442 20274905.452 20274907.748 20274904.478
+ 1154.547 899.647 56.000 51.000
+ -3092584.75743 -2404799.73242 22533392.222 22533392.266 22533390.288
+ 3196.191 2490.538 52.000 45.000
+ -22238917.82643 -17261167.44742 21113425.964 21113427.387 21113425.424
+ -932.833 -726.883 56.000 49.000
+ -13416489.37943 -10444310.65242 22270313.610 22270317.446 22270312.148
+ 973.303 758.418 51.000 45.000
+ -16349199.30243 -12736405.44042 22306623.407 22306627.285 22306622.895
+ -3213.284 -2503.858 51.000 45.000
+ -6038675.89543 -4677852.57042 24290818.918 24290822.947 24290817.262
+ 392.424 305.785 47.000 40.000
+ -6133162.43243 -4769674.95742 24384506.705 24384509.743 24384505.883
+ -300.839 -234.420 43.000 38.000
+ -1114446.81343 -821279.09942 24405051.155 24405055.113 24405051.635
+ 2788.015 2172.479 42.000 36.000
+ -11396639.73843 -8833940.89442 22777581.211 22777583.706 22777580.725
+ 2191.694 1707.814 50.000 44.000
+ -21356570.21143 -16630141.38042 21073290.799 21073294.055 21073290.120
+ -871.707 -679.252 56.000 49.000
+ -4998483.32443 -3836988.25842 24320107.491 24320110.828 24320105.300
+ 3777.701 2943.663 46.000 39.000
+ 04 2 1 18 49 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23843861.12743 -18520790.50742 20268369.908 20268371.923 20268368.671
+ 1135.968 885.170 56.000 51.000
+ -3188335.46243 -2479410.66042 22515170.514 22515170.991 22515169.565
+ 3187.736 2483.950 52.000 46.000
+ -22210872.18143 -17239313.69642 21118763.807 21118764.408 21118762.160
+ -936.231 -729.531 56.000 49.000
+ -13445591.57643 -10466987.65642 22264775.893 22264778.351 22264774.121
+ 967.500 753.896 52.000 45.000
+ -16252700.21843 -12661211.34042 22324987.506 22324990.968 22324987.780
+ -3219.321 -2508.562 52.000 45.000
+ -6050260.55143 -4686879.49642 24288614.128 24288619.196 24288613.008
+ 380.700 296.649 47.000 41.000
+ -6123890.37943 -4762449.98642 24386270.798 24386274.275 24386269.232
+ -316.252 -246.430 44.000 38.000
+ -1197888.83143 -886298.85742 24389174.276 24389176.338 24389171.569
+ 2775.545 2162.762 42.000 36.000
+ -11462167.07543 -8885001.15342 22765112.498 22765114.581 22765111.624
+ 2177.392 1696.669 51.000 44.000
+ -21330252.64743 -16609634.19642 21078298.878 21078301.637 21078297.834
+ -882.229 -687.451 56.000 49.000
+ -5111766.40043 -3925260.75742 24298550.160 24298553.576 24298548.131
+ 3775.240 2941.745 46.000 39.000
+ 04 2 1 18 50 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23877639.70143 -18547111.45242 20261942.210 20261944.105 20261940.589
+ 1116.635 870.105 56.000 51.000
+ -3283815.97543 -2553811.04342 22497001.010 22497002.577 22497000.585
+ 3178.293 2476.592 52.000 46.000
+ -22182710.41943 -17217369.45642 21124122.401 21124123.686 21124120.908
+ -940.441 -732.811 56.000 49.000
+ -13474499.71443 -10489513.43242 22259274.510 22259277.378 22259272.290
+ 960.502 748.443 52.000 45.000
+ -16156009.28743 -12585867.75542 22343387.469 22343389.891 22343387.102
+ -3226.049 -2513.804 51.000 45.000
+ -6061474.94843 -4695618.01342 24286479.545 24286483.470 24286479.939
+ 367.870 286.652 47.000 41.000
+ -6114131.82143 -4754845.87442 24388127.484 24388131.569 24388126.862
+ -333.096 -259.555 44.000 38.000
+ -1280946.72443 -951019.27142 24373366.837 24373371.478 24373366.402
+ 2762.580 2152.660 42.000 35.000
+ -11527247.19143 -8935712.92942 22752727.170 22752729.725 22752725.800
+ 2161.973 1684.654 50.000 44.000
+ -21303605.61943 -16588870.27942 21083369.530 21083372.871 21083368.837
+ -893.504 -696.237 56.000 49.000
+ -5224959.39943 -4013463.05742 24277010.952 24277014.839 24277011.447
+ 3772.098 2939.297 45.000 39.000
+ 04 2 1 18 50 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23910845.68543 -18572986.22742 20255623.394 20255624.894 20255621.921
+ 1097.244 854.995 56.000 51.000
+ -3379019.89643 -2627995.89442 22478884.825 22478885.520 22478884.031
+ 3168.874 2469.252 52.000 46.000
+ -22154430.11944 -17195332.85642 21129504.142 21129505.101 21129502.847
+ -944.703 -736.132 57.000 49.000
+ -13503211.11643 -10511885.92142 22253810.949 22253813.992 22253809.029
+ 953.711 743.151 52.000 45.000
+ -16059125.22143 -12510373.68742 22361823.114 22361827.180 22361822.342
+ -3232.689 -2518.978 51.000 44.000
+ -6072313.84343 -4704063.87742 24284417.325 24284422.462 24284416.113
+ 354.903 276.548 47.000 41.000
+ -6103882.17043 -4746859.13642 24390077.946 24390081.239 24390076.951
+ -349.937 -272.678 44.000 39.000
+ -1363613.89843 -1015435.22742 24357636.474 24357640.221 24357635.228
+ 2749.376 2142.371 43.000 35.000
+ -11591874.25643 -8986071.68742 22740429.386 22740431.581 22740427.637
+ 2146.673 1672.732 50.000 44.000
+ -21276624.45943 -16567846.00542 21088503.963 21088507.119 21088502.957
+ -905.183 -705.337 56.000 49.000
+ -5338055.83243 -4101590.09742 24255489.119 24255492.893 24255487.697
+ 3767.943 2936.059 45.000 39.000
+ 04 2 1 18 51 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23943479.66643 -18598415.28442 20249413.279 20249415.004 20249412.013
+ 1077.969 839.976 56.000 51.000
+ -3473946.06643 -2701964.31542 22460821.171 22460822.346 22460820.229
+ 3159.337 2461.821 53.000 46.000
+ -22126034.02643 -17173206.02242 21134907.813 21134909.137 21134906.284
+ -948.778 -739.307 56.000 49.000
+ -13531728.13843 -10534106.93542 22248384.427 22248387.724 22248382.905
+ 947.039 737.952 52.000 45.000
+ -15962052.09943 -12434732.29542 22380295.216 22380298.631 22380294.127
+ -3239.324 -2524.148 50.000 44.000
+ -6082776.66743 -4712216.71142 24282425.920 24282431.313 24282426.674
+ 342.124 266.590 47.000 41.000
+ -6093141.91143 -4738490.06942 24392120.285 24392125.955 24392119.205
+ -366.171 -285.328 44.000 38.000
+ -1445889.08443 -1079545.73542 24341982.096 24341983.772 24341980.403
+ 2735.643 2131.670 46.000 37.000
+ -11656047.49543 -9036076.80142 22728218.232 22728219.246 22728216.469
+ 2131.005 1660.523 50.000 44.000
+ -21249309.70343 -16546561.79842 21093701.964 21093705.126 21093700.786
+ -916.435 -714.105 56.000 49.000
+ -5451054.41943 -4189640.86742 24233985.842 24233990.703 24233984.617
+ 3764.815 2933.622 45.000 39.000
+ 04 2 1 18 51 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23975539.69343 -18623397.10842 20243312.354 20243314.166 20243311.015
+ 1059.161 825.320 56.000 51.000
+ -3568591.01343 -2775713.59742 22442809.968 22442812.222 22442809.611
+ 3150.044 2454.580 53.000 46.000
+ -22097522.25743 -17150989.05142 21140333.347 21140334.452 21140332.076
+ -952.361 -742.099 56.000 49.000
+ -13560050.49943 -10556176.27642 22242994.354 22242997.797 22242993.426
+ 940.875 733.149 51.000 45.000
+ -15864791.73643 -12358944.98742 22398803.712 22398807.506 22398802.870
+ -3245.074 -2528.629 50.000 44.000
+ -6092860.80843 -4720074.45742 24280508.187 24280512.254 24280507.956
+ 329.749 256.947 48.000 41.000
+ -6081909.39143 -4729737.45742 24394260.067 24394262.392 24394257.981
+ -382.489 -298.043 45.000 39.000
+ -1527768.78843 -1143348.10442 24326399.606 24326403.518 24326398.196
+ 2722.613 2121.517 45.000 37.000
+ -11719763.56943 -9085725.68542 22716093.112 22716095.216 22716091.141
+ 2116.394 1649.138 50.000 44.000
+ -21221659.51543 -16525016.19742 21098963.954 21098966.209 21098962.752
+ -927.188 -722.484 56.000 50.000
+ -5563951.73343 -4277612.74742 24212501.419 24212505.465 24212501.162
+ 3761.308 2930.889 44.000 39.000
+ 04 2 1 18 52 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24007025.33843 -18647931.35642 20237320.708 20237322.761 20237319.459
+ 1040.300 810.623 56.000 51.000
+ -3662952.78543 -2849242.24442 22424854.262 22424855.126 22424853.118
+ 3140.971 2447.510 53.000 46.000
+ -22068896.56643 -17128683.31542 21145780.273 21145781.890 21145778.919
+ -955.913 -744.867 56.000 49.000
+ -13588179.79943 -10578095.18142 22237641.290 22237644.127 22237640.134
+ 934.793 728.410 51.000 45.000
+ -15767347.43043 -12283014.34542 22417346.215 22417350.843 22417345.602
+ -3250.889 -2533.160 50.000 43.000
+ -6102565.33743 -4727636.42442 24278659.592 24278665.346 24278659.797
+ 317.360 247.294 46.000 40.000
+ -6070184.33043 -4720601.03342 24396491.039 24396492.709 24396488.518
+ -398.468 -310.494 44.000 38.000
+ -1609250.88843 -1206840.66042 24310893.547 24310896.275 24310892.501
+ 2709.966 2111.662 44.000 37.000
+ -11783020.91643 -9135017.12042 22704055.633 22704056.094 22704054.888
+ 2101.387 1637.444 50.000 44.000
+ -21193673.54843 -16503208.95242 21104289.255 21104292.129 21104288.385
+ -937.913 -730.841 56.000 49.000
+ -5676745.75343 -4365504.12942 24191039.218 24191042.236 24191036.917
+ 3758.506 2928.706 45.000 40.000
+ 04 2 1 18 52 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24037937.77843 -18672018.94942 20231437.999 20231440.146 20231436.831
+ 1021.030 795.608 56.000 51.000
+ -3757030.80443 -2922549.75742 22406951.388 22406953.394 22406950.890
+ 3131.374 2440.032 53.000 46.000
+ -22040160.21543 -17106291.34742 21151248.993 21151249.734 21151247.554
+ -959.508 -747.668 56.000 49.000
+ -13616118.79843 -10599865.79242 22232324.078 22232328.279 22232323.059
+ 928.367 723.403 51.000 45.000
+ -15669723.63143 -12206943.84742 22435923.035 22435926.337 22435922.624
+ -3256.990 -2537.914 50.000 43.000
+ -6111890.69743 -4734902.95142 24276886.862 24276888.202 24276885.764
+ 304.741 237.461 47.000 40.000
+ -6057968.07143 -4711081.84242 24398815.384 24398817.981 24398813.678
+ -415.309 -323.617 44.000 38.000
+ -1690334.65143 -1270022.79342 24295464.324 24295466.844 24295462.598
+ 2696.466 2101.142 44.000 38.000
+ -11845819.39843 -9183951.00342 22692105.861 22692106.338 22692103.898
+ 2085.810 1625.306 51.000 44.000
+ -21165352.86843 -16481140.89842 21109678.546 21109681.287 21109677.508
+ -949.484 -739.858 56.000 49.000
+ -5789435.66643 -4453314.39842 24169594.080 24169597.622 24169592.053
+ 3754.606 2925.667 46.000 40.000
+ 04 2 1 18 53 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24068275.27643 -18695658.53242 20225665.256 20225667.023 20225664.033
+ 1001.341 780.266 56.000 51.000
+ -3850821.40043 -2995633.32242 22389104.176 22389104.904 22389103.249
+ 3121.211 2432.112 53.000 46.000
+ -22011313.17043 -17083813.12542 21156737.872 21156739.357 21156736.747
+ -963.513 -750.789 56.000 49.000
+ -13643867.41243 -10621488.03842 22227043.432 22227048.151 22227042.185
+ 921.578 718.113 51.000 45.000
+ -15571921.95443 -12130734.73742 22454534.403 22454538.012 22454533.381
+ -3263.318 -2542.845 50.000 44.000
+ -6120833.97043 -4741871.71442 24275186.394 24275187.163 24275184.688
+ 291.471 227.120 49.000 41.000
+ -6045258.52643 -4701178.27442 24401232.823 24401235.920 24401231.027
+ -432.012 -336.633 44.000 38.000
+ -1771016.36243 -1332891.63542 24280109.876 24280114.465 24280109.283
+ 2682.158 2089.993 44.000 39.000
+ -11908155.71143 -9232524.76542 22680243.658 22680244.307 22680241.443
+ 2069.840 1612.862 51.000 44.000
+ -21136695.49143 -16458810.47642 21115131.571 21115134.512 21115130.371
+ -961.368 -749.118 56.000 49.000
+ -5902017.94143 -4541040.80142 24148170.034 24148174.111 24148169.186
+ 3750.571 2922.523 46.000 40.000
+ 04 2 1 18 53 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24098034.45243 -18718847.48142 20220001.938 20220003.899 20220000.845
+ 982.229 765.373 56.000 51.000
+ -3944319.95643 -3068489.30742 22371311.414 22371313.388 22371311.002
+ 3111.704 2424.704 52.000 46.000
+ -21982354.66143 -17061248.04942 21162248.806 21162249.815 21162247.287
+ -967.271 -753.718 56.000 49.000
+ -13671424.52043 -10642961.07842 22221800.059 22221804.408 22221799.041
+ 915.230 713.166 52.000 45.000
+ -15473942.90943 -12054387.42942 22473179.714 22473182.757 22473179.037
+ -3269.147 -2547.387 51.000 44.000
+ -6129391.53843 -4748539.91642 24273554.889 24273560.441 24273554.602
+ 278.809 217.254 46.000 41.000
+ -6032052.98543 -4690888.24342 24403748.154 24403749.901 24403746.716
+ -448.550 -349.519 46.000 38.000
+ -1851291.41543 -1395443.59542 24264835.895 24264838.469 24264834.273
+ 2668.915 2079.674 45.000 39.000
+ -11970025.63243 -9280735.09042 22668469.147 22668471.161 22668468.975
+ 2054.427 1600.852 51.000 44.000
+ -21107698.48443 -16436215.41142 21120649.580 21120652.666 21120648.723
+ -972.248 -757.596 56.000 49.000
+ -6014487.73243 -4628679.55042 24126768.595 24126771.177 24126767.104
+ 3747.055 2919.783 46.000 40.000
+ 04 2 1 18 54 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24127220.25043 -18741589.63642 20214448.235 20214450.357 20214447.075
+ 963.438 750.731 55.000 51.000
+ -4037529.40843 -3141120.02342 22353574.361 22353575.628 22353573.707
+ 3102.309 2417.384 53.000 46.000
+ -21953290.77443 -17038600.86742 21167779.562 21167781.071 21167778.097
+ -970.485 -756.222 56.000 49.000
+ -13698796.30943 -10664289.71342 22216592.057 22216596.434 22216589.731
+ 909.475 708.682 52.000 45.000
+ -15375794.52643 -11977908.15842 22491856.612 22491860.169 22491856.335
+ -3274.342 -2551.435 51.000 44.000
+ -6137567.10643 -4754910.48742 24272000.267 24272002.468 24271997.984
+ 266.152 207.391 46.000 40.000
+ -6018356.03343 -4680215.31742 24406352.586 24406357.156 24406352.481
+ -464.534 -361.974 44.000 38.000
+ -1931162.53143 -1457680.83642 24249636.306 24249639.111 24249634.655
+ 2655.842 2069.487 44.000 39.000
+ -12031432.15743 -9328584.33042 22656784.325 22656785.854 22656783.194
+ 2039.220 1589.003 51.000 44.000
+ -21078366.26743 -16413359.14442 21126231.410 21126234.266 21126230.298
+ -983.023 -765.992 56.000 49.000
+ -6126847.76743 -4716232.77942 24105386.466 24105389.382 24105385.723
+ 3743.604 2917.094 47.000 40.000
+ 04 2 1 18 54 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24155826.59543 -18763880.26842 20209004.481 20209006.734 20209003.349
+ 944.565 736.025 56.000 51.000
+ -4130442.34743 -3213519.68742 22335893.595 22335895.391 22335893.086
+ 3092.803 2409.976 53.000 46.000
+ -21924118.18143 -17015868.96442 21173330.903 21173332.375 21173329.410
+ -973.456 -758.537 56.000 49.000
+ -13725978.84743 -10685470.87242 22211418.825 22211421.910 22211417.348
+ 903.691 704.175 52.000 45.000
+ -15277474.74643 -11901295.32942 22510565.642 22510569.420 22510565.016
+ -3279.611 -2555.541 51.000 44.000
+ -6145354.20343 -4760978.33042 24270519.892 24270522.538 24270518.498
+ 253.896 197.841 48.000 41.000
+ -6004162.24443 -4669155.21642 24409054.544 24409057.044 24409054.082
+ -480.848 -374.687 44.000 39.000
+ -2010622.46743 -1519597.67042 24234513.718 24234518.898 24234513.455
+ 2642.400 2059.013 43.000 38.000
+ -12092368.56443 -9376067.23642 22645187.564 22645190.282 22645186.464
+ 2023.871 1577.042 50.000 44.000
+ -21048693.32343 -16390237.37542 21131877.809 21131880.811 21131876.774
+ -994.161 -774.671 56.000 49.000
+ -6239090.53043 -4803694.64342 24084027.018 24084030.649 24084025.219
+ 3740.165 2914.414 46.000 40.000
+ 04 2 1 18 55 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24183854.86843 -18785720.46042 20203671.247 20203672.952 20203669.892
+ 924.394 720.307 56.000 51.000
+ -4223058.36843 -3285687.99842 22318269.243 22318270.786 22318268.699
+ 3081.940 2401.512 52.000 46.000
+ -21894839.62943 -16993054.50942 21178901.769 21178903.930 21178900.784
+ -977.763 -761.893 56.000 49.000
+ -13752975.17743 -10706506.94542 22206281.440 22206284.827 22206280.707
+ 896.594 698.645 52.000 45.000
+ -15178988.29743 -11824552.63442 22529307.516 22529311.121 22529307.438
+ -3285.963 -2560.491 51.000 44.000
+ -6152753.44443 -4766743.95342 24269109.197 24269115.498 24269109.834
+ 239.866 186.909 46.000 40.000
+ -5989472.82943 -4657708.92342 24411849.004 24411851.939 24411848.951
+ -498.151 -388.170 42.000 38.000
+ -2089670.57643 -1581193.58442 24219473.015 24219475.414 24219473.197
+ 2627.838 2047.666 43.000 37.000
+ -12152834.72843 -9423183.72242 22633681.539 22633685.096 22633680.518
+ 2007.346 1564.166 51.000 44.000
+ -21018680.80643 -16366851.00442 21137589.541 21137592.185 21137587.995
+ -1006.460 -784.254 56.000 49.000
+ -6351215.56843 -4891064.79042 24062690.755 24062693.523 24062689.555
+ 3735.221 2910.562 46.000 39.000
+ 04 2 1 18 55 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24211305.18443 -18807110.29942 20198447.118 20198449.055 20198446.017
+ 905.670 705.717 55.000 51.000
+ -4315375.91743 -3357623.73342 22300702.442 22300702.670 22300701.654
+ 3072.507 2394.161 53.000 46.000
+ -21865457.73843 -16970159.52442 21184493.196 21184495.054 21184492.018
+ -980.800 -764.260 56.000 49.000
+ -13779787.28043 -10727399.47142 22201179.947 22201183.134 22201178.578
+ 890.830 694.153 52.000 46.000
+ -15080338.61343 -11747682.76042 22548079.169 22548083.731 22548078.589
+ -3290.810 -2564.267 51.000 45.000
+ -6159764.18743 -4772206.87142 24267776.308 24267779.911 24267775.242
+ 227.554 177.315 47.000 40.000
+ -5974288.32143 -4645876.82542 24414737.849 24414742.785 24414737.107
+ -514.494 -400.904 41.000 37.000
+ -2168305.20143 -1642467.27742 24204507.847 24204511.522 24204506.479
+ 2614.443 2037.228 43.000 37.000
+ -12212829.60943 -9469932.98042 22622265.561 22622267.431 22622265.055
+ 1992.135 1552.313 51.000 45.000
+ -20988328.81743 -16343200.11342 21143364.749 21143368.009 21143363.831
+ -1017.171 -792.601 55.000 49.000
+ -6463221.08943 -4978341.80642 24041376.203 24041382.419 24041376.373
+ 3731.502 2907.664 46.000 39.000
+ 04 2 1 18 56 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24238180.78843 -18828052.30842 20193332.742 20193335.002 20193331.678
+ 886.327 690.644 55.000 51.000
+ -4407395.73843 -3429327.47542 22283191.235 22283192.318 22283190.497
+ 3062.378 2386.269 53.000 47.000
+ -21835976.41143 -16947187.05742 21190103.566 21190104.793 21190102.314
+ -984.349 -767.025 56.000 49.000
+ -13806419.18543 -10748151.57642 22196111.905 22196114.880 22196110.313
+ 884.819 689.469 52.000 45.000
+ -14981531.71443 -11670690.36642 22566882.446 22566886.255 22566881.925
+ -3296.155 -2568.432 51.000 45.000
+ -6166388.14943 -4777368.42442 24266516.350 24266518.991 24266515.967
+ 214.160 166.878 48.000 41.000
+ -5958611.27943 -4633660.98642 24417720.964 24417725.853 24417720.410
+ -530.863 -413.659 43.000 38.000
+ -2246526.99743 -1703419.33842 24189623.661 24189626.979 24189621.471
+ 2600.668 2026.495 43.000 37.000
+ -12272354.45543 -9516315.97342 22610938.054 22610939.815 22610936.906
+ 1976.535 1540.157 51.000 45.000
+ -20957639.84243 -16319286.62142 21149204.446 21149208.062 21149203.675
+ -1028.596 -801.503 55.000 49.000
+ -6575107.87543 -5065526.27442 24020084.803 24020091.795 24020082.949
+ 3727.741 2904.733 46.000 40.000
+ 04 2 1 18 56 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24264472.25843 -18848539.14942 20188329.730 20188332.005 20188328.520
+ 866.661 675.320 55.000 51.000
+ -4499107.11243 -3500790.85542 22265738.978 22265740.093 22265737.959
+ 3051.733 2377.974 53.000 47.000
+ -21806388.52343 -16924131.56042 21195734.090 21195735.422 21195732.657
+ -988.013 -769.880 56.000 49.000
+ -13832863.38343 -10768757.42842 22191080.199 22191082.170 22191078.463
+ 878.205 684.316 52.000 46.000
+ -14882561.85243 -11593570.99042 22585715.129 22585718.435 22585715.087
+ -3301.764 -2572.803 51.000 44.000
+ -6172615.50843 -4782220.86942 24265330.640 24265334.959 24265329.786
+ 201.076 156.683 47.000 41.000
+ -5942432.79743 -4621054.35742 24420800.208 24420804.116 24420800.124
+ -547.832 -426.882 43.000 38.000
+ -2324325.14043 -1764041.29942 24174817.705 24174821.549 24174819.601
+ 2586.153 2015.184 43.000 37.000
+ -12331398.62643 -9562324.42942 22599702.350 22599704.147 22599700.940
+ 1960.067 1527.325 51.000 45.000
+ -20926604.64943 -16295103.35742 21155110.831 21155113.849 21155109.745
+ -1040.295 -810.619 56.000 49.000
+ -6686864.88543 -5152609.63642 23998818.124 23998822.402 23998816.303
+ 3723.123 2901.135 46.000 40.000
+ 04 2 1 18 57 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24290185.78543 -18868575.64042 20183436.582 20183438.734 20183435.570
+ 847.861 660.671 55.000 51.000
+ -4590515.01043 -3572017.77142 22248344.559 22248346.153 22248343.793
+ 3042.097 2370.465 53.000 47.000
+ -21776702.75243 -16900999.78942 21201382.909 21201384.380 21201381.761
+ -990.712 -771.983 56.000 49.000
+ -13859128.47443 -10789223.69542 22186081.580 22186084.571 22186080.462
+ 872.829 680.126 52.000 46.000
+ -14783438.95643 -11516332.35642 22604577.988 22604580.821 22604577.830
+ -3306.393 -2576.410 51.000 44.000
+ -6178452.12043 -4786768.87242 24264220.083 24264222.812 24264219.445
+ 188.508 146.889 46.000 40.000
+ -5925759.52243 -4608062.20842 24423973.927 24423977.107 24423973.291
+ -563.431 -439.037 45.000 39.000
+ -2401704.30843 -1824336.79042 24160093.534 24160096.053 24160092.987
+ 2572.834 2004.806 44.000 37.000
+ -12389967.60643 -9607962.59642 22588557.699 22588559.877 22588556.197
+ 1944.864 1515.478 51.000 45.000
+ -20895229.91143 -16270655.50642 21161081.697 21161084.298 21161080.549
+ -1051.042 -818.994 56.000 49.000
+ -6798496.95143 -5239595.62142 23977576.763 23977580.773 23977574.919
+ 3719.227 2898.099 47.000 41.000
+ 04 2 1 18 57 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24315319.82343 -18888160.58442 20178653.775 20178656.056 20178652.904
+ 827.972 645.173 55.000 51.000
+ -4681614.85343 -3643004.63942 22231009.032 22231009.921 22231008.193
+ 3031.277 2362.034 53.000 47.000
+ -21746917.99643 -16877790.87742 21207050.929 21207052.026 21207049.839
+ -994.614 -775.024 56.000 49.000
+ -13885213.56043 -10809549.71142 22181117.486 22181120.889 22181116.162
+ 866.306 675.044 52.000 46.000
+ -14684163.98243 -11438975.22542 22623469.705 22623471.857 22623468.881
+ -3311.975 -2580.760 50.000 44.000
+ -6183894.64343 -4791009.74942 24263185.021 24263188.325 24263182.983
+ 174.520 135.990 46.000 40.000
+ -5908589.26143 -4594682.76242 24427242.637 24427244.135 24427240.925
+ -580.957 -452.694 45.000 38.000
+ -2478660.53043 -1884302.71442 24145449.611 24145453.456 24145449.018
+ 2557.646 1992.971 42.000 37.000
+ -12448057.47343 -9653227.42742 22577503.636 22577504.870 22577501.718
+ 1928.072 1502.394 51.000 45.000
+ -20863512.88343 -16245940.93942 21167116.307 21167119.520 21167115.775
+ -1062.958 -828.279 55.000 49.000
+ -6909999.46643 -5326480.66242 23956358.874 23956362.389 23956357.078
+ 3714.218 2894.196 47.000 41.000
+ 04 2 1 18 58 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24339871.27443 -18907291.56742 20173981.855 20173983.854 20173980.812
+ 808.861 630.281 55.000 51.000
+ -4772402.12743 -3713747.96042 22213732.968 22213733.506 22213732.095
+ 3021.225 2354.201 54.000 47.000
+ -21717033.21343 -16854504.02842 21212737.935 21212738.897 21212736.628
+ -997.579 -777.334 56.000 49.000
+ -13911117.32643 -10829734.42742 22176188.226 22176191.483 22176186.423
+ 860.605 670.601 52.000 45.000
+ -14584737.22343 -11361499.81442 22642388.871 22642392.489 22642388.648
+ -3316.490 -2584.278 49.000 43.000
+ -6188939.54343 -4794940.83742 24262223.751 24262227.566 24262223.860
+ 161.735 126.027 46.000 40.000
+ -5890919.07043 -4580913.77242 24430603.828 24430606.989 24430603.448
+ -597.074 -465.252 44.000 38.000
+ -2555189.00443 -1943935.25042 24130886.711 24130890.237 24130885.374
+ 2544.086 1982.405 42.000 37.000
+ -12505663.96943 -9698115.59642 22566541.021 22566543.440 22566539.710
+ 1912.253 1490.067 51.000 45.000
+ -20831450.61743 -16220957.35642 21173217.800 21173220.998 21173217.030
+ -1074.335 -837.144 55.000 49.000
+ -7021367.56843 -5413260.96642 23935165.665 23935169.767 23935163.864
+ 3710.107 2890.992 47.000 41.000
+ 04 2 1 18 58 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24363843.87843 -18925971.50742 20169420.175 20169421.925 20169419.052
+ 789.678 615.334 56.000 51.000
+ -4862879.32243 -3784249.66142 22196515.495 22196516.152 22196514.360
+ 3010.954 2346.198 54.000 47.000
+ -21687054.43343 -16831143.93342 21218442.496 21218443.829 21218441.042
+ -1000.504 -779.613 56.000 49.000
+ -13936845.41443 -10849782.26442 22171292.166 22171294.957 22171290.136
+ 854.965 666.206 52.000 45.000
+ -14485166.16443 -11283911.97442 22661336.569 22661340.266 22661336.334
+ -3321.310 -2588.034 49.000 44.000
+ -6193590.13043 -4798564.64242 24261338.794 24261341.411 24261338.364
+ 148.840 115.979 46.000 40.000
+ -5872753.49443 -4566758.76242 24434061.050 24434064.069 24434059.218
+ -613.440 -478.005 45.000 38.000
+ -2631292.04943 -2003236.26642 24116405.872 24116409.137 24116404.400
+ 2529.905 1971.354 42.000 37.000
+ -12562789.96343 -9742629.35442 22555669.790 22555670.968 22555668.633
+ 1896.420 1477.730 51.000 45.000
+ -20799047.30843 -16195708.03442 21179384.497 21179387.163 21179383.317
+ -1085.529 -845.867 56.000 49.000
+ -7132603.55243 -5499938.32542 23913997.159 23914001.935 23913997.083
+ 3706.207 2887.954 47.000 41.000
+ 04 2 1 18 59 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24387234.80843 -18944198.18942 20164968.938 20164970.797 20164967.872
+ 769.818 599.858 55.000 51.000
+ -4953040.99743 -3854505.48842 22179358.043 22179359.407 22179357.505
+ 2999.944 2337.619 54.000 47.000
+ -21656979.53043 -16807708.93942 21224165.599 21224167.179 21224163.954
+ -1004.340 -782.602 56.000 49.000
+ -13962395.78643 -10869691.63242 22166430.364 22166433.820 22166428.982
+ 848.505 661.173 52.000 45.000
+ -14385450.60843 -11206211.54042 22680312.838 22680315.472 22680311.016
+ -3326.328 -2591.944 50.000 44.000
+ -6197841.98243 -4801877.77942 24260530.168 24260533.591 24260529.913
+ 134.974 105.174 46.000 40.000
+ -5854089.01143 -4552214.99642 24437610.806 24437615.097 24437610.925
+ -630.381 -491.206 43.000 38.000
+ -2706964.28843 -2062201.66842 24102005.762 24102009.477 24102003.758
+ 2515.116 1959.831 43.000 37.000
+ -12619430.51443 -9786764.85642 22544891.856 22544893.617 22544890.544
+ 1879.864 1464.829 51.000 45.000
+ -20766299.29543 -16170190.10942 21185615.627 21185618.773 21185614.589
+ -1097.569 -855.248 56.000 49.000
+ -7243701.91443 -5586508.43742 23892856.796 23892861.442 23892853.910
+ 3700.629 2883.607 46.000 41.000
+ 04 2 1 18 59 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24410043.94243 -18961971.52142 20160628.785 20160630.700 20160627.461
+ 750.530 584.829 56.000 51.000
+ -5042885.02043 -3924513.79242 22162261.957 22162262.975 22162260.447
+ 2989.643 2329.592 54.000 47.000
+ -21626810.13343 -16784200.31442 21229906.261 21229907.947 21229905.250
+ -1007.324 -784.928 56.000 49.000
+ -13987769.72443 -10889463.51442 22161601.496 22161604.802 22161600.191
+ 842.854 656.769 52.000 45.000
+ -14285593.52243 -11128400.82442 22699314.750 22699317.639 22699314.288
+ -3330.929 -2595.529 50.000 44.000
+ -6201693.98343 -4804879.32942 24259796.912 24259800.386 24259796.018
+ 121.778 94.892 46.000 40.000
+ -5834925.30743 -4537282.21042 24441257.599 24441259.129 24441257.266
+ -647.090 -504.226 43.000 37.000
+ -2782203.38443 -2120829.51042 24087687.422 24087691.386 24087686.438
+ 2500.521 1948.458 43.000 38.000
+ -12675584.14743 -9830520.93242 22534206.271 22534208.442 22534205.914
+ 1863.711 1452.242 52.000 45.000
+ -20733205.95643 -16144403.09242 21191913.182 21191916.182 21191912.269
+ -1108.866 -864.051 56.000 49.000
+ -7354660.27843 -5672969.45342 23871740.280 23871745.815 23871740.296
+ 3696.313 2880.244 46.000 41.000
+ 04 2 1 19 0 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24432270.80643 -18979291.13842 20156398.768 20156400.690 20156397.616
+ 730.961 569.580 55.000 51.000
+ -5132409.51143 -3994273.11542 22145226.111 22145226.266 22145224.888
+ 2978.608 2320.993 54.000 47.000
+ -21596547.88343 -16760619.33742 21235665.239 21235666.865 21235664.092
+ -1010.498 -787.401 56.000 49.000
+ -14012968.65643 -10909099.01242 22156807.273 22156810.327 22156805.608
+ 836.765 652.025 53.000 45.000
+ -14185598.08443 -11050482.29542 22718343.832 22718346.336 22718343.161
+ -3335.724 -2599.265 50.000 44.000
+ -6205145.37143 -4807568.68742 24259139.822 24259143.356 24259138.995
+ 108.154 84.276 46.000 39.000
+ -5815262.61243 -4521960.60942 24445001.800 24445004.885 24445000.863
+ -664.259 -517.604 45.000 39.000
+ -2857007.53243 -2179118.49342 24073456.889 24073455.680 24073453.140
+ 2485.886 1937.054 45.000 38.000
+ -12731249.33343 -9873896.38242 22523613.412 22523614.871 22523611.877
+ 1847.170 1439.353 51.000 45.000
+ -20699767.09943 -16118346.84742 21198276.487 21198279.410 21198275.759
+ -1120.573 -873.174 55.000 49.000
+ -7465476.62043 -5759319.79742 23850653.245 23850658.014 23850652.625
+ 3691.356 2876.381 47.000 41.000
+ 04 2 1 19 0 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24453917.14243 -18996158.39742 20152279.736 20152281.480 20152278.713
+ 711.483 554.402 56.000 51.000
+ -5221614.24543 -4063783.27942 22128250.083 22128251.376 22128249.490
+ 2967.960 2312.696 53.000 47.000
+ -21566195.57743 -16736968.18342 21241441.414 21241442.439 21241440.303
+ -1013.617 -789.831 56.000 49.000
+ -14037995.85543 -10928600.70442 22152044.646 22152047.584 22152042.382
+ 831.040 647.564 52.000 45.000
+ -14085469.04043 -10972459.65942 22737398.114 22737399.293 22737396.813
+ -3340.374 -2602.889 50.000 43.000
+ -6208196.89643 -4809946.49342 24258558.634 24258562.824 24258558.797
+ 94.794 73.865 46.000 40.000
+ -5795102.71643 -4506251.61642 24448835.907 24448839.029 24448834.720
+ -680.623 -530.355 43.000 38.000
+ -2931376.49643 -2237068.30542 24059301.198 24059302.411 24059299.807
+ 2471.213 1925.621 44.000 38.000
+ -12786426.31143 -9916891.42042 22513113.184 22513115.692 22513112.411
+ 1830.985 1426.742 51.000 45.000
+ -20665984.17943 -16092022.49442 21204705.182 21204708.087 21204704.186
+ -1132.235 -882.261 55.000 49.000
+ -7576150.44843 -5845559.09442 23829592.329 23829597.156 23829591.354
+ 3686.324 2872.460 46.000 40.000
+ 04 2 1 19 1 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24474979.93643 -19012570.94842 20148271.473 20148273.669 20148270.393
+ 692.010 539.229 55.000 51.000
+ -5310494.30743 -4133040.45842 22111336.866 22111337.980 22111335.694
+ 2957.077 2304.216 54.000 47.000
+ -21535752.12943 -16713246.01542 21247234.417 21247235.664 21247232.989
+ -1016.591 -792.149 56.000 49.000
+ -14062849.94943 -10947967.49242 22147314.569 22147317.720 22147313.045
+ 825.216 643.025 52.000 45.000
+ -13985206.65343 -10894333.11842 22756476.637 22756480.209 22756475.238
+ -3344.570 -2606.158 49.000 43.000
+ -6210844.79543 -4812009.77042 24258055.460 24258059.093 24258055.096
+ 81.240 63.304 46.000 40.000
+ -5774442.86143 -4490153.01942 24452768.764 24452769.354 24452768.018
+ -697.551 -543.546 45.000 38.000
+ -3005305.23543 -2294675.10642 24045231.138 24045236.725 24045231.299
+ 2456.606 1914.238 43.000 39.000
+ -12841110.84643 -9959502.74142 22502706.971 22502709.447 22502706.516
+ 1814.285 1413.729 51.000 45.000
+ -20631854.12543 -16065427.65142 21211200.081 21211203.131 21211199.052
+ -1143.792 -891.266 56.000 49.000
+ -7686676.74743 -5931683.45742 23808559.670 23808565.351 23808558.796
+ 3681.400 2868.623 47.000 41.000
+ 04 2 1 19 1 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24495459.61743 -19028529.12742 20144374.300 20144376.341 20144373.217
+ 673.333 524.675 55.000 51.000
+ -5399048.45743 -4202043.67042 22094484.862 22094486.414 22094484.822
+ 2946.608 2296.058 53.000 47.000
+ -21505219.09743 -16689454.04242 21253044.909 21253045.779 21253043.432
+ -1018.963 -793.997 56.000 49.000
+ -14087532.89343 -10967200.92042 22142617.402 22142619.410 22142615.965
+ 820.047 638.998 53.000 46.000
+ -13884814.41343 -10816105.38842 22775580.301 22775583.044 22775579.831
+ -3348.135 -2608.936 49.000 43.000
+ -6213088.73943 -4813758.26342 24257628.576 24257633.333 24257627.042
+ 68.398 53.297 46.000 40.000
+ -5753283.57243 -4473665.23842 24456794.417 24456797.341 24456793.413
+ -713.218 -555.754 44.000 38.000
+ -3078792.46343 -2351937.84142 24031248.759 24031252.139 24031248.096
+ 2442.594 1903.320 43.000 38.000
+ -12895302.00343 -10001729.61942 22492395.084 22492398.033 22492394.726
+ 1798.441 1401.383 52.000 45.000
+ -20597377.25343 -16038562.55642 21217760.514 21217763.732 21217759.604
+ -1154.669 -899.742 55.000 49.000
+ -7797053.73943 -6017691.47742 23787555.318 23787560.615 23787554.751
+ 3676.496 2864.802 46.000 40.000
+ 04 2 1 19 2 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24515358.31543 -19044034.58842 20140587.890 20140589.837 20140586.718
+ 653.499 509.220 56.000 51.000
+ -5487276.11043 -4270792.47442 22077696.073 22077697.428 22077695.888
+ 2935.294 2287.242 54.000 47.000
+ -21474599.97443 -16665594.98142 21258871.177 21258872.655 21258869.894
+ -1022.047 -796.400 56.000 49.000
+ -14112047.40943 -10986303.10142 22137952.011 22137955.112 22137950.666
+ 814.492 634.669 52.000 45.000
+ -13784297.03843 -10737780.15442 22794708.891 22794712.563 22794707.697
+ -3352.680 -2612.478 49.000 43.000
+ -6214929.17343 -4815192.37342 24257278.404 24257280.658 24257277.969
+ 54.616 42.558 46.000 40.000
+ -5731626.54243 -4456789.64642 24460915.480 24460918.969 24460915.321
+ -730.402 -569.144 45.000 39.000
+ -3151837.61343 -2408856.15642 24017349.558 24017351.861 24017348.316
+ 2427.360 1891.449 44.000 38.000
+ -12948999.59743 -10043571.89342 22482177.057 22482179.566 22482175.924
+ 1781.620 1388.275 52.000 45.000
+ -20562554.74343 -16011428.14542 21224386.983 21224390.229 21224386.016
+ -1166.498 -908.959 55.000 49.000
+ -7907280.84943 -6103582.71342 23766580.731 23766585.721 23766579.409
+ 3671.860 2861.190 47.000 40.000
+ 04 2 1 19 2 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24534674.36443 -19059086.04042 20136912.027 20136913.867 20136911.015
+ 633.837 493.899 55.000 51.000
+ -5575174.08743 -4339284.38642 22060970.226 22060970.892 22060969.357
+ 2923.999 2278.441 54.000 47.000
+ -21443894.62943 -16641668.72942 21264714.205 21264715.810 21264712.645
+ -1025.274 -798.915 56.000 49.000
+ -14136393.70243 -11005274.19842 22133320.018 22133322.728 22133318.619
+ 808.285 629.832 53.000 45.000
+ -13683656.14843 -10659358.67942 22813859.886 22813863.611 22813858.462
+ -3356.952 -2615.807 48.000 43.000
+ -6216364.05643 -4816310.45142 24257005.338 24257006.927 24257004.597
+ 41.062 31.996 47.000 40.000
+ -5709470.44243 -4439525.16142 24465132.357 24465136.258 24465131.942
+ -747.270 -582.288 45.000 40.000
+ -3224437.53443 -2465427.48442 24003533.896 24003536.737 24003532.213
+ 2412.251 1879.676 43.000 38.000
+ -13002201.16943 -10085027.66242 22472053.968 22472055.522 22472052.112
+ 1764.792 1375.162 52.000 45.000
+ -20527384.84643 -15984023.02842 21231079.722 21231083.088 21231078.956
+ -1178.495 -918.308 55.000 49.000
+ -8017354.54843 -6189354.38942 23745633.021 23745638.150 23745632.630
+ 3665.958 2856.591 45.000 40.000
+ 04 2 1 19 3 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24553405.19343 -19073681.48042 20133347.461 20133349.410 20133346.439
+ 614.078 478.502 55.000 51.000
+ -5662737.81043 -4407515.84442 22044308.120 22044307.874 22044306.864
+ 2912.581 2269.544 55.000 47.000
+ -21413101.55343 -16617674.11842 21270574.016 21270575.369 21270572.548
+ -1028.490 -801.421 56.000 49.000
+ -14160570.20543 -11024113.00342 22128718.807 22128722.074 22128717.990
+ 802.388 625.237 52.000 45.000
+ -13582892.20443 -10580841.33442 22833033.986 22833037.919 22833033.396
+ -3361.544 -2619.385 48.000 43.000
+ -6217389.77543 -4817109.69142 24256811.150 24256814.149 24256808.266
+ 26.986 21.028 46.000 40.000
+ -5686812.65543 -4421869.73042 24469441.986 24469447.245 24469441.074
+ -764.121 -595.419 44.000 39.000
+ -3296587.46243 -2521648.21542 23989804.085 23989807.073 23989802.912
+ 2396.783 1867.623 43.000 38.000
+ -13054902.49043 -10126093.62342 22462024.645 22462024.977 22462023.067
+ 1747.738 1361.874 52.000 45.000
+ -20491864.88443 -15956345.14342 21237839.539 21237842.383 21237838.202
+ -1190.489 -927.654 56.000 49.000
+ -8127269.96743 -6275002.74042 23724717.359 23724722.064 23724716.761
+ 3660.313 2852.192 46.000 41.000
+ 04 2 1 19 3 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24571554.62143 -19087823.87442 20129893.927 20129896.073 20129892.780
+ 595.271 463.848 55.000 51.000
+ -5749968.78043 -4475488.01042 22027707.800 22027708.647 22027707.061
+ 2902.125 2261.396 54.000 47.000
+ -21382225.83043 -16593615.11142 21276449.443 21276450.975 21276448.002
+ -1030.536 -803.015 56.000 49.000
+ -14184581.72943 -11042823.23342 22124149.412 22124152.733 22124147.819
+ 797.568 621.482 52.000 45.000
+ -13482011.60943 -10502233.08642 22852230.831 22852235.702 22852230.484
+ -3364.383 -2621.597 48.000 43.000
+ -6218008.82843 -4817592.05742 24256691.939 24256695.417 24256691.689
+ 13.578 10.580 46.000 40.000
+ -5663656.77543 -4403826.18242 24473850.707 24473853.603 24473850.275
+ -780.036 -607.820 46.000 39.000
+ -3368289.07343 -2577519.59142 23976159.555 23976162.850 23976157.939
+ 2382.429 1856.438 43.000 38.000
+ -13107105.64443 -10166771.39842 22452090.353 22452092.089 22452088.537
+ 1731.751 1349.416 51.000 45.000
+ -20455998.15943 -15928397.04942 21244664.392 21244667.388 21244663.663
+ -1201.468 -936.209 56.000 49.000
+ -8237028.36443 -6360528.72842 23703830.848 23703836.859 23703829.556
+ 3656.062 2848.879 46.000 41.000
+ 04 2 1 19 4 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24589116.17243 -19101508.18542 20126552.004 20126553.977 20126550.830
+ 575.267 448.260 55.000 51.000
+ -5836858.41643 -4543194.20042 22011172.849 22011173.957 22011172.162
+ 2890.225 2252.123 54.000 47.000
+ -21351262.44443 -16569487.79742 21282341.290 21282342.524 21282340.327
+ -1033.787 -805.548 56.000 49.000
+ -14208423.38143 -11061401.11042 22119612.141 22119615.821 22119610.792
+ 791.312 616.607 52.000 46.000
+ -13381011.00643 -10423531.33142 22871450.785 22871454.118 22871450.629
+ -3369.045 -2625.230 49.000 43.000
+ -6218214.22443 -4817752.07942 24256652.188 24256656.768 24256652.071
+ -.204 -.159 46.000 40.000
+ -5639996.82643 -4385389.83342 24478351.959 24478355.294 24478350.524
+ -797.048 -621.076 44.000 39.000
+ -3439534.11743 -2633035.22342 23962602.755 23962604.308 23962600.938
+ 2366.979 1844.399 44.000 38.000
+ -13158802.92543 -10207054.99442 22442252.550 22442254.226 22442251.881
+ 1714.417 1335.909 52.000 45.000
+ -20419777.97443 -15900173.52942 21251556.746 21251559.775 21251555.590
+ -1213.311 -945.437 55.000 49.000
+ -8346621.13043 -6445925.65942 23682976.942 23682982.548 23682976.032
+ 3650.127 2844.255 47.000 41.000
+ 04 2 1 19 4 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24606099.01143 -19114741.54942 20123320.362 20123322.377 20123319.014
+ 556.525 433.656 55.000 51.000
+ -5923414.23543 -4610640.27042 21994701.838 21994703.575 21994701.333
+ 2879.624 2243.863 54.000 47.000
+ -21320221.76043 -16545300.24642 21288248.586 21288249.585 21288247.292
+ -1035.939 -807.225 56.000 49.000
+ -14232105.43543 -11079854.62542 22115106.312 22115109.638 22115104.718
+ 786.847 613.128 53.000 46.000
+ -13279902.65343 -10344745.60742 22890691.702 22890694.210 22890691.827
+ -3371.886 -2627.444 49.000 43.000
+ -6218013.99743 -4817596.02342 24256691.276 24256695.277 24256691.089
+ -13.493 -10.514 46.000 40.000
+ -5615841.95743 -4366567.86442 24482947.710 24482951.750 24482946.112
+ -813.474 -633.876 44.000 39.000
+ -3510329.75043 -2688200.63442 23949131.594 23949132.494 23949129.089
+ 2352.536 1833.145 45.000 39.000
+ -13210002.02943 -10246950.39742 22432509.273 22432511.526 22432508.339
+ 1698.268 1323.326 51.000 45.000
+ -20383213.23143 -15871681.53042 21258514.735 21258517.867 21258513.444
+ -1224.459 -954.124 55.000 49.000
+ -8456055.31043 -6531199.00742 23662152.115 23662157.381 23662151.743
+ 3645.049 2840.298 46.000 42.000
+ 04 2 1 19 5 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24622498.17843 -19127520.10342 20120199.806 20120201.606 20120198.546
+ 536.293 417.891 55.000 51.000
+ -6009628.88743 -4677820.50042 21978296.245 21978297.033 21978295.291
+ 2867.510 2234.423 54.000 48.000
+ -21289099.71843 -16521049.30042 21294170.539 21294172.130 21294169.638
+ -1039.389 -809.913 56.000 49.000
+ -14255624.18743 -11098180.88842 22110629.703 22110633.175 22110628.614
+ 780.633 608.285 52.000 46.000
+ -13178684.19243 -10265874.06242 22909952.666 22909957.013 22909952.127
+ -3376.365 -2630.934 49.000 42.000
+ -6217402.14343 -4817119.26242 24256807.302 24256810.874 24256805.846
+ -27.865 -21.713 46.000 40.000
+ -5591187.00743 -4347356.23842 24487641.417 24487642.612 24487639.004
+ -830.911 -647.463 46.000 39.000
+ -3580668.53543 -2743010.08442 23935743.067 23935748.384 23935742.536
+ 2336.472 1820.628 42.000 39.000
+ -13260696.25143 -10286452.37642 22422862.540 22422863.832 22422861.560
+ 1680.813 1309.724 51.000 45.000
+ -20346298.35343 -15842916.68642 21265539.447 21265542.378 21265538.578
+ -1236.953 -963.859 55.000 49.000
+ -8565323.16943 -6616342.75242 23641359.539 23641364.623 23641359.209
+ 3638.595 2835.269 47.000 41.000
+ 04 2 1 19 5 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24638313.55443 -19139843.75542 20117190.193 20117191.920 20117189.006
+ 517.680 403.387 55.000 51.000
+ -6095500.04443 -4744733.08142 21961955.760 21961956.323 21961954.902
+ 2856.863 2226.127 54.000 48.000
+ -21257897.56743 -16496735.93142 21300108.892 21300109.762 21300107.294
+ -1041.073 -811.226 56.000 49.000
+ -14278980.52143 -11116380.58942 22106185.563 22106189.280 22106184.637
+ 776.126 604.774 52.000 46.000
+ -13077358.27343 -10186918.79242 22929234.710 22929238.115 22929233.918
+ -3379.095 -2633.061 50.000 43.000
+ -6216377.51743 -4816320.83542 24257002.060 24257005.582 24257000.436
+ -40.706 -31.719 46.000 40.000
+ -5566031.67743 -4327754.64642 24492427.003 24492430.970 24492426.646
+ -846.792 -659.838 45.000 39.000
+ -3650548.45043 -2797461.96242 23922446.966 23922449.650 23922445.454
+ 2322.048 1809.388 42.000 38.000
+ -13310884.09043 -10325559.78242 22413312.740 22413314.314 22413311.085
+ 1664.670 1297.145 51.000 45.000
+ -20309032.70043 -15813878.52642 21272630.736 21272633.813 21272629.808
+ -1247.798 -972.310 55.000 49.000
+ -8674422.33443 -6701355.06542 23620598.433 23620602.198 23620596.604
+ 3634.303 2831.924 47.000 41.000
+ 04 2 1 19 6 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24653546.35443 -19151713.44842 20114291.430 20114293.203 20114290.293
+ 497.902 387.976 55.000 51.000
+ -6181027.13143 -4811377.55342 21945680.811 21945681.096 21945679.596
+ 2844.909 2216.812 54.000 47.000
+ -21226617.49743 -16472361.84442 21306060.541 21306061.817 21306059.422
+ -1044.203 -813.665 56.000 49.000
+ -14302176.88243 -11134455.64842 22101771.613 22101775.269 22101770.739
+ 770.222 600.173 53.000 46.000
+ -12975929.11943 -10107883.07642 22948535.549 22948539.292 22948536.422
+ -3382.903 -2636.028 49.000 42.000
+ -6214940.36443 -4815200.97542 24257276.591 24257280.400 24257275.715
+ -54.711 -42.632 46.000 40.000
+ -5540377.61543 -4307764.46542 24497309.590 24497312.263 24497308.155
+ -863.723 -673.031 45.000 39.000
+ -3719968.66343 -2851555.62142 23909239.173 23909240.506 23909236.726
+ 2306.073 1796.940 46.000 39.000
+ -13360565.10143 -10364272.25342 22403858.560 22403861.095 22403857.002
+ 1647.303 1283.613 51.000 45.000
+ -20271417.42243 -15784567.91942 21279788.860 21279791.995 21279787.627
+ -1259.818 -981.676 55.000 49.000
+ -8783351.55343 -6786234.92642 23599869.841 23599874.394 23599868.344
+ 3627.869 2826.911 47.000 42.000
+ 04 2 1 19 6 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24668198.37843 -19163130.59542 20111503.306 20111505.198 20111502.188
+ 478.476 372.838 55.000 51.000
+ -6266209.62543 -4877753.50442 21929470.632 21929471.273 21929469.913
+ 2833.437 2207.873 54.000 47.000
+ -21195262.34643 -16447929.24742 21312027.122 21312028.397 21312025.945
+ -1046.637 -815.561 56.000 49.000
+ -14325216.20943 -11152408.33942 22097387.393 22097391.205 22097386.017
+ 765.088 596.172 52.000 46.000
+ -12874401.04143 -10028770.26242 22967855.077 22967858.524 22967855.862
+ -3386.114 -2638.530 49.000 42.000
+ -6213091.67843 -4813760.41742 24257628.192 24257630.557 24257627.766
+ -68.614 -53.465 48.000 40.000
+ -5514226.61443 -4287387.04442 24502285.697 24502290.530 24502285.213
+ -880.077 -685.774 45.000 39.000
+ -3788928.84443 -2905290.84542 23896115.409 23896117.066 23896113.873
+ 2290.523 1784.823 46.000 39.000
+ -13409739.56143 -10402590.01142 22394501.057 22394503.151 22394500.036
+ 1630.511 1270.528 52.000 45.000
+ -20233453.67743 -15754985.79442 21287012.825 21287016.503 21287012.025
+ -1271.420 -990.717 55.000 49.000
+ -8892110.33043 -6870982.00142 23579173.811 23579178.223 23579173.162
+ 3622.137 2822.444 48.000 42.000
+ 04 2 1 19 7 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24682264.94643 -19174091.54042 20108826.435 20108828.313 20108825.259
+ 459.220 357.834 55.000 51.000
+ -6351040.76643 -4943855.66942 21913327.526 21913328.328 21913326.631
+ 2821.797 2198.803 54.000 47.000
+ -21163828.75943 -16423435.53542 21318009.119 21318010.545 21318007.627
+ -1048.978 -817.385 56.000 49.000
+ -14348094.81543 -11170235.80342 22093033.996 22093037.991 22093032.358
+ 760.118 592.300 53.000 46.000
+ -12772772.26243 -9949579.00142 22987194.456 22987197.256 22987194.061
+ -3389.260 -2640.982 48.000 41.000
+ -6210825.37443 -4811994.44742 24258058.064 24258061.776 24258058.058
+ -82.291 -64.123 46.000 40.000
+ -5487573.72143 -4266618.55142 24507357.007 24507359.878 24507356.340
+ -896.552 -698.612 44.000 38.000
+ -3857422.06343 -2958662.16242 23883080.077 23883082.184 23883079.711
+ 2275.322 1772.978 45.000 39.000
+ -13458401.30143 -10440508.25042 22385241.079 22385243.290 22385240.047
+ 1613.623 1257.369 52.000 45.000
+ -20195136.32443 -15725128.11442 21294304.452 21294308.021 21294303.566
+ -1283.025 -999.760 55.000 49.000
+ -9000691.36943 -6955590.57742 23558513.127 23558516.210 23558511.907
+ 3616.796 2818.282 49.000 42.000
+ 04 2 1 19 7 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24695749.86043 -19184599.25242 20106260.298 20106262.142 20106258.934
+ 440.094 342.930 55.000 51.000
+ -6435521.98543 -5009685.17642 21897250.884 21897252.451 21897250.112
+ 2810.468 2189.975 54.000 47.000
+ -21132321.21543 -16398884.20342 21324004.892 21324006.035 21324003.271
+ -1051.208 -819.123 56.000 49.000
+ -14370817.70443 -11187941.92642 22088710.226 22088712.822 22088708.658
+ 755.094 588.385 53.000 46.000
+ -12671049.30443 -9870314.35842 23006551.674 23006555.351 23006552.436
+ -3392.068 -2643.170 47.000 41.000
+ -6208144.49143 -4809905.40442 24258570.310 24258574.935 24258568.131
+ -95.893 -74.722 46.000 41.000
+ -5460422.99443 -4245462.12442 24512524.357 24512526.127 24512523.470
+ -913.053 -711.470 45.000 38.000
+ -3925450.17943 -3011671.09942 23870135.973 23870138.470 23870133.910
+ 2260.209 1761.202 46.000 39.000
+ -13506552.42843 -10478028.60342 22376077.918 22376080.356 22376077.086
+ 1596.818 1244.274 52.000 45.000
+ -20156468.55043 -15694997.38442 21301662.906 21301665.693 21301661.828
+ -1294.501 -1008.702 55.000 49.000
+ -9109095.97043 -7040061.67942 23537883.717 23537887.434 23537882.661
+ 3610.923 2813.706 48.000 42.000
+ 04 2 1 19 8 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24708650.60043 -19194651.76042 20103805.011 20103807.267 20103804.260
+ 420.870 327.951 55.000 51.000
+ -6519648.85943 -5075238.56442 21881241.922 21881243.793 21881241.412
+ 2798.882 2180.947 54.000 47.000
+ -21100738.56043 -16374274.33542 21330014.903 21330015.807 21330013.247
+ -1053.413 -820.841 56.000 49.000
+ -14393383.56843 -11205525.69742 22084415.773 22084419.384 22084413.971
+ 750.144 584.528 53.000 46.000
+ -12569232.39043 -9790976.50042 23025927.407 23025931.481 23025926.952
+ -3394.903 -2645.379 48.000 41.000
+ -6205045.52643 -4807490.61542 24259160.632 24259162.736 24259159.323
+ -109.776 -85.540 48.000 41.000
+ -5432772.03343 -4223915.94242 24517785.434 24517787.754 24517784.574
+ -929.430 -724.231 45.000 38.000
+ -3993008.65843 -3064314.08542 23857279.647 23857282.012 23857278.280
+ 2244.744 1749.151 45.000 39.000
+ -13554189.01543 -10515148.02942 22367012.076 22367014.916 22367010.975
+ 1579.884 1231.078 51.000 45.000
+ -20117447.67143 -15664591.51042 21309087.628 21309091.273 21309087.087
+ -1305.918 -1017.598 55.000 49.000
+ -9217319.40343 -7124391.59942 23517289.273 23517292.128 23517287.082
+ 3605.097 2809.166 48.000 42.000
+ 04 2 1 19 8 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24720969.91843 -19204251.21342 20101461.016 20101462.814 20101459.923
+ 400.367 311.974 55.000 51.000
+ -6603422.02943 -5140516.35342 21865300.841 21865301.993 21865299.693
+ 2785.800 2170.753 54.000 47.000
+ -21069084.32443 -16349608.69842 21336038.269 21336039.520 21336037.075
+ -1056.866 -823.532 56.000 49.000
+ -14415796.12943 -11222990.00942 22080150.036 22080154.084 22080149.555
+ 743.891 579.655 53.000 46.000
+ -12467326.93943 -9711569.64242 23045320.469 23045324.060 23045320.800
+ -3398.919 -2648.508 49.000 42.000
+ -6201530.30043 -4804751.45342 24259826.143 24259833.226 24259826.615
+ -124.822 -97.264 46.000 40.000
+ -5404623.56643 -4201982.08542 24523142.830 24523145.873 24523141.935
+ -947.263 -738.127 45.000 38.000
+ -4060098.21043 -3116591.66642 23844512.347 23844516.266 23844510.988
+ 2227.861 1735.996 45.000 39.000
+ -13601312.52243 -10551867.64742 22358044.995 22358048.470 22358044.279
+ 1561.606 1216.836 51.000 45.000
+ -20078076.06343 -15633912.34342 21316581.053 21316583.008 21316579.739
+ -1318.831 -1027.660 55.000 49.000
+ -9325361.77843 -7208580.43142 23496729.163 23496733.515 23496728.471
+ 3597.722 2803.420 48.000 42.000
+ 04 2 1 19 9 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24732705.82243 -19213396.05742 20099227.843 20099229.419 20099226.513
+ 381.620 297.366 55.000 51.000
+ -6686837.25543 -5205515.21642 21849427.809 21849428.564 21849426.704
+ 2774.691 2162.097 54.000 48.000
+ -21037357.35343 -16324886.37542 21342075.730 21342077.103 21342074.543
+ -1058.609 -824.890 56.000 49.000
+ -14438054.41843 -11240334.09942 22075915.242 22075918.354 22075913.671
+ 739.623 576.330 53.000 46.000
+ -12365333.77443 -9632094.45142 23064727.298 23064730.723 23064727.221
+ -3401.051 -2650.170 48.000 42.000
+ -6197595.67343 -4801685.49842 24260577.852 24260578.523 24260576.244
+ -137.904 -107.458 48.000 40.000
+ -5375975.49543 -4179658.91942 24528593.472 24528596.991 24528593.080
+ -963.039 -750.420 45.000 39.000
+ -4126714.75743 -3168500.71642 23831835.662 23831838.756 23831834.312
+ 2212.962 1724.386 45.000 39.000
+ -13647919.29443 -10588184.60842 22349175.973 22349179.344 22349175.140
+ 1545.240 1204.083 51.000 45.000
+ -20038351.28443 -15602957.97142 21324139.479 21324143.152 21324138.533
+ -1329.913 -1036.296 55.000 49.000
+ -9433218.62343 -7292624.70342 23476205.089 23476208.847 23476203.334
+ 3592.043 2798.994 48.000 42.000
+ 04 2 1 19 9 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24743857.63343 -19222085.76242 20097105.611 20097107.506 20097104.497
+ 362.033 282.104 55.000 51.000
+ -6769891.53343 -5270232.82242 21833623.173 21833624.293 21833622.090
+ 2762.473 2152.576 54.000 48.000
+ -21005557.79643 -16300107.48842 21348126.999 21348128.370 21348125.747
+ -1061.201 -826.910 56.000 49.000
+ -14460158.55443 -11257558.07842 22071708.505 22071712.413 22071707.097
+ 734.212 572.113 53.000 46.000
+ -12263254.49743 -9552552.15142 23084153.104 23084157.475 23084152.395
+ -3404.026 -2652.488 49.000 42.000
+ -6193239.90043 -4798291.38342 24261405.735 24261408.039 24261406.238
+ -152.124 -118.538 47.000 40.000
+ -5346827.29143 -4156945.98442 24534139.585 24534143.952 24534138.752
+ -979.742 -763.435 44.000 39.000
+ -4192855.32943 -3220038.78142 23819250.170 23819253.888 23819249.054
+ 2196.687 1711.704 45.000 39.000
+ -13694006.85243 -10624096.98742 22340406.896 22340407.892 22340406.023
+ 1527.453 1190.223 52.000 45.000
+ -19998271.84343 -15571727.25042 21331766.404 21331770.164 21331765.512
+ -1341.894 -1045.632 55.000 49.000
+ -9540886.51743 -7376521.73942 23455715.887 23455720.621 23455714.941
+ 3585.847 2794.166 48.000 43.000
+ 04 2 1 19 10 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24754430.30543 -19230324.19842 20095093.591 20095095.471 20095092.470
+ 342.904 267.198 55.000 51.000
+ -6852587.80543 -5334671.46742 21817886.111 21817887.375 21817885.547
+ 2750.594 2143.320 54.000 48.000
+ -20973691.67043 -16275276.73542 21354190.743 21354192.189 21354189.364
+ -1063.204 -828.471 56.000 49.000
+ -14482114.52443 -11274666.59942 22067530.568 22067533.929 22067529.558
+ 729.481 568.427 53.000 46.000
+ -12161096.84743 -9472948.79042 23103592.408 23103597.113 23103592.670
+ -3406.660 -2654.540 48.000 42.000
+ -6188467.15543 -4794572.35642 24262313.091 24262316.093 24262312.525
+ -165.589 -129.030 46.000 40.000
+ -5317184.08943 -4133847.39442 24539781.840 24539784.883 24539781.811
+ -996.239 -776.290 46.000 39.000
+ -4258522.89643 -3271208.34242 23806754.607 23806755.453 23806751.246
+ 2181.139 1699.589 46.000 39.000
+ -13739578.87143 -10659607.65142 22331734.327 22331736.794 22331733.133
+ 1510.593 1177.085 52.000 45.000
+ -19957842.48843 -15540223.86242 21339460.366 21339463.354 21339459.567
+ -1353.371 -1054.575 55.000 49.000
+ -9648368.05543 -7460273.56542 23435263.493 23435268.106 23435262.156
+ 3579.832 2789.479 49.000 43.000
+ 04 2 1 19 10 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24764417.46343 -19238106.38242 20093193.214 20093194.731 20093192.010
+ 323.127 251.787 55.000 51.000
+ -6934917.45943 -5398824.42942 21802219.437 21802220.420 21802218.379
+ 2738.108 2133.591 55.000 48.000
+ -20941753.59443 -16250389.92442 21360268.321 21360269.798 21360267.073
+ -1065.896 -830.568 56.000 49.000
+ -14503916.92043 -11291655.44542 22063381.599 22063383.842 22063379.862
+ 724.160 564.281 53.000 46.000
+ -12058856.98643 -9393281.36742 23123048.922 23123052.198 23123049.098
+ -3409.581 -2656.816 48.000 42.000
+ -6183269.70843 -4790522.37042 24263303.503 24263306.252 24263302.796
+ -180.158 -140.383 47.000 41.000
+ -5287039.32343 -4110357.94842 24545519.622 24545520.136 24545516.847
+ -1013.065 -789.401 46.000 39.000
+ -4323708.80443 -3322002.54342 23794347.313 23794353.221 23794346.534
+ 2164.575 1686.682 44.000 39.000
+ -13784627.41043 -10694710.40542 22323162.787 22323164.470 22323161.575
+ 1492.914 1163.310 52.000 45.000
+ -19917056.21643 -15508442.35842 21347221.553 21347224.344 21347220.663
+ -1365.499 -1064.025 55.000 49.000
+ -9755654.18143 -7543873.11842 23414846.952 23414850.821 23414846.238
+ 3572.828 2784.022 49.000 43.000
+ 04 2 1 19 11 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24773826.28143 -19245437.92042 20091403.003 20091404.580 20091401.866
+ 304.099 236.960 55.000 51.000
+ -7016884.96443 -5462695.20242 21786621.726 21786622.249 21786621.105
+ 2726.277 2124.372 55.000 48.000
+ -20909750.69443 -16225452.59342 21366358.853 21366359.809 21366357.309
+ -1067.739 -832.004 56.000 49.000
+ -14525573.35943 -11308530.56442 22059260.824 22059264.124 22059259.851
+ 719.666 560.779 53.000 46.000
+ -11956544.29843 -9313557.19442 23142518.473 23142520.456 23142517.798
+ -3411.426 -2658.254 48.000 42.000
+ -6177653.45843 -4786146.07042 24264371.566 24264374.454 24264371.161
+ -194.168 -151.300 47.000 41.000
+ -5256399.96743 -4086483.11642 24551348.478 24551350.814 24551347.656
+ -1029.437 -802.159 46.000 38.000
+ -4388417.77443 -3372425.13942 23782035.394 23782038.909 23782032.933
+ 2149.187 1674.691 47.000 39.000
+ -13829157.71343 -10729409.34442 22314688.749 22314690.120 22314687.349
+ 1475.843 1150.008 52.000 45.000
+ -19875919.47543 -15476387.75642 21355049.308 21355052.475 21355048.433
+ -1376.982 -1072.973 55.000 49.000
+ -9862749.08843 -7627323.69442 23394467.370 23394470.787 23394466.448
+ 3566.738 2779.276 49.000 42.000
+ 04 2 1 19 11 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24782651.61443 -19252314.79042 20089723.298 20089725.067 20089722.368
+ 284.932 222.025 55.000 51.000
+ -7098483.27043 -5526278.28242 21771093.736 21771095.144 21771092.865
+ 2714.179 2114.945 54.000 48.000
+ -20877679.05143 -16200461.70042 21372461.575 21372462.980 21372460.605
+ -1069.718 -833.546 56.000 49.000
+ -14547079.81243 -11325288.81442 22055168.679 22055171.678 22055166.832
+ 714.850 557.026 53.000 46.000
+ -11854156.44043 -9233774.43842 23162002.356 23162005.583 23162000.336
+ -3413.590 -2659.940 49.000 42.000
+ -6171612.62043 -4781438.91542 24265520.043 24265525.578 24265521.247
+ -207.735 -161.871 47.000 41.000
+ -5225261.13043 -4062219.10642 24557273.326 24557275.770 24557272.111
+ -1045.548 -814.713 45.000 38.000
+ -4452642.67943 -3422470.53842 23769813.012 23769816.001 23769811.606
+ 2133.102 1662.157 44.000 39.000
+ -13873163.27643 -10763699.39242 22306314.655 22306316.344 22306313.063
+ 1458.476 1136.475 52.000 45.000
+ -19834426.80343 -15444055.81042 21362945.433 21362948.227 21362944.430
+ -1388.646 -1082.062 55.000 49.000
+ -9969645.22843 -7710619.36042 23374125.425 23374129.914 23374123.455
+ 3560.377 2774.320 48.000 42.000
+ 04 2 1 19 12 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24790898.06043 -19258740.57742 20088154.539 20088155.844 20088153.175
+ 265.298 206.726 55.000 51.000
+ -7179714.51443 -5589575.33742 21755636.060 21755637.110 21755635.237
+ 2701.555 2105.108 55.000 48.000
+ -20845544.04343 -16175421.42842 21378576.619 21378578.060 21378575.415
+ -1072.133 -835.428 56.000 49.000
+ -14568441.67543 -11341934.39342 22051103.117 22051105.970 22051101.450
+ 709.678 552.996 53.000 46.000
+ -11751700.29243 -9153938.44542 23181498.507 23181501.742 23181497.009
+ -3416.319 -2662.067 48.000 42.000
+ -6165150.27043 -4776403.30142 24266750.341 24266755.362 24266750.845
+ -222.347 -173.257 48.000 41.000
+ -5193627.17543 -4037569.30242 24563294.769 24563297.139 24563294.421
+ -1062.683 -828.065 46.000 39.000
+ -4516385.86843 -3472140.54242 23757683.849 23757686.526 23757682.246
+ 2116.863 1649.504 46.000 40.000
+ -13916646.96443 -10797582.77342 22298040.222 22298041.734 22298038.548
+ 1440.844 1122.736 53.000 46.000
+ -19792581.89243 -15411449.38742 21370908.286 21370911.255 21370906.992
+ -1400.617 -1091.390 55.000 49.000
+ -10076344.37443 -7793761.53542 23353821.601 23353824.858 23353819.137
+ 3553.482 2768.947 48.000 42.000
+ 04 2 1 19 12 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24798563.10343 -19264713.32442 20086695.671 20086697.418 20086694.319
+ 246.162 191.815 55.000 51.000
+ -7260573.47943 -5652582.30942 21740249.473 21740249.967 21740248.507
+ 2689.226 2095.501 55.000 48.000
+ -20813343.13543 -16150329.81242 21384704.002 21384705.640 21384702.924
+ -1074.138 -836.991 56.000 49.000
+ -14589657.10143 -11358465.87242 22047066.111 22047069.153 22047064.673
+ 705.026 549.371 53.000 46.000
+ -11649175.38143 -9074048.91042 23201008.687 23201011.267 23201008.824
+ -3418.488 -2663.757 49.000 42.000
+ -6158262.74243 -4771036.35242 24268061.099 24268065.301 24268060.810
+ -236.575 -184.344 47.000 41.000
+ -5161495.34143 -4012531.48642 24569406.913 24569409.324 24569406.978
+ -1079.814 -841.413 44.000 38.000
+ -4579642.46443 -3521431.36942 23745646.759 23745651.193 23745645.304
+ 2100.699 1636.908 46.000 40.000
+ -13959604.44943 -10831056.12942 22289864.441 22289866.791 22289863.288
+ 1423.322 1109.082 52.000 46.000
+ -19750381.46243 -15378565.93542 21378938.230 21378941.978 21378937.605
+ -1412.378 -1100.554 55.000 49.000
+ -10182841.05943 -7876745.95042 23333556.210 23333558.776 23333554.130
+ 3546.831 2763.764 48.000 42.000
+ 04 2 1 19 13 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24805648.03043 -19270234.03242 20085347.396 20085349.063 20085346.119
+ 226.270 176.314 55.000 51.000
+ -7341059.73343 -5715298.85442 21724932.963 21724933.852 21724931.989
+ 2676.380 2085.491 55.000 48.000
+ -20781079.00443 -16125188.92742 21390843.813 21390845.155 21390842.673
+ -1076.784 -839.052 56.000 49.000
+ -14610728.42943 -11374885.06842 22043056.067 22043059.583 22043054.125
+ 699.697 545.218 53.000 46.000
+ -11546585.93743 -8994109.09142 23220529.475 23220533.642 23220528.461
+ -3421.033 -2665.740 48.000 41.000
+ -6150950.60743 -4765338.58342 24269453.164 24269456.189 24269452.432
+ -251.031 -195.608 47.000 40.000
+ -5128867.47643 -3987107.14042 24575616.876 24575620.796 24575616.081
+ -1096.140 -854.135 45.000 39.000
+ -4642411.80043 -3570342.53542 23733702.880 23733706.393 23733701.091
+ 2083.908 1623.824 46.000 40.000
+ -14002035.68743 -10864119.44142 22281791.192 22281792.411 22281789.745
+ 1405.322 1095.056 53.000 46.000
+ -19707826.60343 -15345406.31342 21387036.750 21387039.678 21387035.438
+ -1424.711 -1110.164 55.000 49.000
+ -10289134.30543 -7959571.83042 23313329.246 23313332.630 23313327.864
+ 3539.378 2757.957 48.000 42.000
+ 04 2 1 19 13 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24812154.33843 -19275303.87142 20084109.162 20084110.870 20084107.973
+ 207.167 161.429 55.000 51.000
+ -7421171.73543 -5777723.78442 21709687.997 21709688.964 21709687.563
+ 2663.956 2075.810 55.000 48.000
+ -20748752.59243 -16099999.51842 21396995.342 21396996.266 21396994.164
+ -1078.630 -840.491 56.000 49.000
+ -14631656.96843 -11391192.98942 22039073.363 22039077.017 22039072.483
+ 695.111 541.645 52.000 46.000
+ -11443935.14743 -8914121.45842 23240063.774 23240068.476 23240063.904
+ -3422.759 -2667.085 48.000 41.000
+ -6143213.42943 -4759309.64042 24270924.206 24270929.155 24270924.170
+ -265.372 -206.783 47.000 40.000
+ -5095744.20943 -3961296.84942 24581919.946 24581924.049 24581917.925
+ -1112.004 -866.497 44.000 38.000
+ -4704692.35643 -3618872.84342 23721850.453 23721853.403 23721848.347
+ 2067.663 1611.166 46.000 40.000
+ -14043939.95643 -10896772.10242 22273817.478 22273818.547 22273815.718
+ 1387.943 1081.514 53.000 46.000
+ -19664917.45643 -15311970.62142 21395201.781 21395204.818 21395200.940
+ -1436.250 -1119.156 55.000 49.000
+ -10395222.00443 -8042237.55542 23293141.354 23293144.846 23293141.143
+ 3532.608 2752.682 48.000 42.000
+ 04 2 1 19 14 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24818083.80243 -19279924.21942 20082980.645 20082982.567 20082979.595
+ 188.140 146.603 55.000 51.000
+ -7500909.43943 -5839857.04842 21694514.750 21694515.773 21694513.935
+ 2651.716 2066.272 55.000 48.000
+ -20716366.85343 -16074763.87542 21403158.651 21403159.376 21403156.930
+ -1080.396 -841.867 56.000 49.000
+ -14652445.78443 -11407392.04242 22035117.157 22035120.340 22035115.866
+ 690.613 538.140 52.000 46.000
+ -11341227.36343 -8834089.41042 23259608.836 23259613.699 23259608.762
+ -3424.295 -2668.282 48.000 41.000
+ -6135052.52343 -4752950.49742 24272478.223 24272481.315 24272477.851
+ -278.773 -217.226 47.000 40.000
+ -5062127.88843 -3935102.33142 24588319.014 24588322.225 24588316.988
+ -1128.748 -879.544 47.000 38.000
+ -4766484.40143 -3667022.50442 23710090.494 23710097.222 23710088.862
+ 2051.649 1598.688 46.000 40.000
+ -14085317.85443 -10929014.61442 22265942.877 22265944.781 22265941.518
+ 1370.622 1068.017 52.000 46.000
+ -19621655.74243 -15278260.19342 21403434.080 21403437.193 21403433.277
+ -1447.867 -1128.208 55.000 49.000
+ -10501103.78843 -8124742.81542 23272993.248 23272996.360 23272991.006
+ 3525.929 2747.477 49.000 42.000
+ 04 2 1 19 14 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24823430.67643 -19284090.60442 20081963.596 20081964.923 20081962.194
+ 168.925 131.630 55.000 51.000
+ -7580265.05343 -5901692.57842 21679414.082 21679414.837 21679413.206
+ 2639.097 2056.439 55.000 48.000
+ -20683917.26943 -16049478.47542 21409333.404 21409334.202 21409332.128
+ -1082.373 -843.407 56.000 49.000
+ -14673090.48243 -11423478.79642 22031188.976 22031191.829 22031187.414
+ 686.202 534.703 53.000 46.000
+ -11238459.88243 -8754010.86242 23279164.577 23279167.045 23279163.880
+ -3426.028 -2669.632 48.000 41.000
+ -6126461.35943 -4746256.05942 24274112.853 24274117.786 24274112.232
+ -293.427 -228.644 47.000 41.000
+ -5028013.14343 -3908519.38042 24594809.828 24594810.771 24594806.631
+ -1145.102 -892.287 44.000 37.000
+ -4827780.47543 -3714785.65142 23698427.086 23698431.424 23698426.735
+ 2035.381 1586.011 46.000 40.000
+ -14126162.65543 -10960841.73042 22258170.160 22258172.187 22258169.090
+ 1352.930 1054.231 52.000 46.000
+ -19578035.45543 -15244270.36042 21411734.879 21411737.964 21411734.147
+ -1459.626 -1137.371 55.000 49.000
+ -10606771.55943 -8207081.32042 23252885.670 23252887.792 23252882.833
+ 3519.310 2742.319 49.000 43.000
+ 04 2 1 19 15 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24828201.85143 -19287808.38642 20081055.599 20081057.079 20081054.331
+ 149.118 116.196 55.000 51.000
+ -7659242.95943 -5963233.78342 21664384.652 21664385.748 21664384.094
+ 2625.925 2046.175 55.000 48.000
+ -20651410.75543 -16024148.72442 21415518.779 21415520.266 21415517.642
+ -1084.814 -845.310 56.000 49.000
+ -14693598.17543 -11439458.79742 22027285.915 22027289.702 22027284.171
+ 680.963 530.621 53.000 46.000
+ -11135641.37343 -8673892.53842 23298730.511 23298731.803 23298729.628
+ -3428.405 -2671.484 48.000 41.000
+ -6117445.56143 -4739230.69042 24275829.675 24275833.282 24275829.875
+ -307.817 -239.857 48.000 41.000
+ -4993406.59943 -3881553.23742 24601392.299 24601396.465 24601391.484
+ -1161.715 -905.232 41.000 37.000
+ -4888584.88243 -3762165.71942 23686856.956 23686859.985 23686856.094
+ 2018.278 1572.684 46.000 40.000
+ -14166479.18143 -10992257.20742 22250498.237 22250500.846 22250496.482
+ 1334.789 1040.095 52.000 46.000
+ -19534062.68243 -15210005.85642 21420102.510 21420105.941 21420101.512
+ -1471.943 -1146.968 55.000 49.000
+ -10712228.98143 -8289255.92142 23232816.905 23232820.607 23232816.141
+ 3511.214 2736.011 49.000 43.000
+ 04 2 1 19 15 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24832391.95443 -19291073.39042 20080258.123 20080259.946 20080256.888
+ 129.752 101.105 55.000 51.000
+ -7737835.40943 -6024474.63642 21649428.488 21649429.992 21649427.815
+ 2613.068 2036.157 54.000 48.000
+ -20618842.33943 -15998770.73742 21421716.924 21421717.549 21421715.358
+ -1086.824 -846.876 56.000 49.000
+ -14713964.08343 -11455328.31942 22023410.949 22023414.342 22023409.437
+ 676.230 526.932 53.000 46.000
+ -11032768.80143 -8593732.09242 23318307.170 23318310.047 23318306.391
+ -3430.256 -2672.927 49.000 41.000
+ -6107998.41043 -4731869.26442 24277626.035 24277627.859 24277626.207
+ -322.329 -251.165 47.000 40.000
+ -4958302.78343 -3854199.62742 24608074.139 24608077.030 24608073.846
+ -1178.402 -918.235 43.000 37.000
+ -4948889.91543 -3809156.65442 23675381.902 23675382.916 23675379.275
+ 2001.583 1559.675 46.000 39.000
+ -14206260.44743 -11023255.59642 22242927.415 22242929.931 22242926.364
+ 1316.916 1026.168 52.000 45.000
+ -19489731.26443 -15175461.89842 21428538.785 21428541.891 21428537.642
+ -1483.965 -1156.336 55.000 49.000
+ -10817467.90343 -8371260.26242 23212790.657 23212792.997 23212790.115
+ 3504.064 2730.439 49.000 43.000
+ 04 2 1 19 16 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24836006.96343 -19293890.26742 20079569.828 20079571.952 20079568.934
+ 110.646 86.218 55.000 51.000
+ -7816045.59643 -6085417.61342 21634546.379 21634547.051 21634545.224
+ 2600.286 2026.197 55.000 48.000
+ -20586218.15443 -15973349.28842 21427924.987 21427926.022 21427923.310
+ -1088.743 -848.371 56.000 49.000
+ -14734194.72643 -11471092.42342 22019560.605 22019564.512 22019559.952
+ 671.785 523.469 53.000 46.000
+ -10929850.06143 -8513535.67442 23337892.939 23337894.448 23337892.360
+ -3431.775 -2674.110 49.000 41.000
+ -6098124.50343 -4724175.33342 24279506.151 24279508.435 24279505.901
+ -336.648 -262.323 47.000 40.000
+ -4922707.31043 -3826462.89442 24614847.618 24614850.095 24614846.861
+ -1194.818 -931.027 45.000 37.000
+ -5008698.98043 -3855761.13542 23663998.254 23664001.933 23663998.041
+ 1984.958 1546.720 45.000 39.000
+ -14245510.55843 -11053840.09242 22235458.086 22235461.048 22235457.012
+ 1299.224 1012.382 51.000 45.000
+ -19445046.29643 -15140642.45142 21437041.986 21437044.919 21437041.023
+ -1495.732 -1165.505 55.000 48.000
+ -10922491.15843 -8453096.53542 23192804.824 23192808.937 23192803.576
+ 3496.979 2724.919 48.000 42.000
+ 04 2 1 19 16 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24839047.01743 -19296259.13042 20078991.664 20078993.482 20078990.398
+ 91.762 71.503 55.000 51.000
+ -7893871.47543 -6146061.13442 21619735.835 21619737.116 21619735.321
+ 2587.719 2016.404 55.000 48.000
+ -20553538.60543 -15947884.69842 21434143.627 21434144.520 21434142.026
+ -1090.204 -849.510 56.000 48.000
+ -14754290.88443 -11486751.74642 22015737.468 22015739.776 22015735.554
+ 667.601 520.208 53.000 46.000
+ -10826887.71943 -8433305.26242 23357484.976 23357487.131 23357484.160
+ -3432.820 -2674.925 48.000 41.000
+ -6087823.21443 -4716148.30242 24281465.446 24281468.692 24281463.905
+ -350.634 -273.221 47.000 39.000
+ -4886620.66043 -3798343.41942 24621715.081 24621718.592 24621714.861
+ -1210.648 -943.362 44.000 37.000
+ -5068010.19943 -3901977.62942 23652713.403 23652717.159 23652711.779
+ 1968.462 1533.866 46.000 40.000
+ -14284228.33143 -11084009.78342 22228090.992 22228093.424 22228090.180
+ 1281.717 998.741 52.000 46.000
+ -19400007.47743 -15105547.26842 21445612.445 21445615.627 21445611.603
+ -1507.275 -1174.500 54.000 48.000
+ -11027296.23743 -8534762.83142 23172860.640 23172863.795 23172859.305
+ 3490.104 2719.561 49.000 42.000
+ 04 2 1 19 17 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24841507.17843 -19298176.12342 20078523.480 20078525.275 20078522.228
+ 72.546 56.529 55.000 51.000
+ -7971305.55343 -6206399.35642 21605000.957 21605002.390 21605000.316
+ 2574.814 2006.349 55.000 48.000
+ -20520799.38343 -15922373.61242 21440373.471 21440374.509 21440372.202
+ -1092.085 -850.975 56.000 48.000
+ -14774248.12043 -11502302.81742 22011939.509 22011941.642 22011938.062
+ 663.141 516.733 53.000 46.000
+ -10723878.79343 -8353038.55842 23377087.068 23377090.638 23377086.647
+ -3434.217 -2676.013 48.000 41.000
+ -6077088.14543 -4707783.32642 24283507.096 24283511.282 24283505.716
+ -364.862 -284.308 45.000 39.000
+ -4850037.51143 -3769837.07542 24628677.271 24628679.971 24628676.446
+ -1227.527 -956.514 46.000 37.000
+ -5126816.30543 -3947800.57442 23641522.735 23641524.744 23641521.551
+ 1952.052 1521.079 46.000 40.000
+ -14322406.98143 -11113759.37242 22220825.769 22220828.891 22220825.116
+ 1263.826 984.799 52.000 46.000
+ -19354608.91443 -15070171.76542 21454251.824 21454254.858 21454250.776
+ -1519.052 -1183.677 55.000 48.000
+ -11131875.13343 -8616252.85342 23152961.140 23152964.459 23152959.356
+ 3482.454 2713.601 49.000 43.000
+ 04 2 1 19 17 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24843395.05043 -19299647.18042 20078164.172 20078165.747 20078162.972
+ 53.568 41.741 55.000 51.000
+ -8048352.95443 -6266436.26642 21590339.635 21590340.386 21590338.482
+ 2561.879 1996.269 55.000 48.000
+ -20488008.47143 -15896822.24542 21446613.339 21446614.371 21446612.032
+ -1093.722 -852.251 56.000 48.000
+ -14794074.30143 -11517751.76642 22008166.065 22008169.457 22008164.940
+ 658.824 513.369 53.000 46.000
+ -10620833.00143 -8272743.13742 23396695.719 23396698.608 23396696.143
+ -3435.351 -2676.897 48.000 41.000
+ -6065925.77343 -4699085.35942 24285632.509 24285635.191 24285632.669
+ -379.196 -295.477 46.000 40.000
+ -4812965.47643 -3740949.72542 24635730.658 24635735.213 24635730.164
+ -1243.755 -969.160 45.000 37.000
+ -5185122.57043 -3993234.02542 23630427.382 23630431.347 23630425.566
+ 1935.234 1507.975 45.000 40.000
+ -14360052.38343 -11143093.45242 22213662.111 22213663.856 22213660.704
+ 1246.091 970.980 52.000 46.000
+ -19308857.43543 -15034521.26042 21462957.493 21462961.021 21462956.705
+ -1530.842 -1192.864 54.000 48.000
+ -11236232.40543 -8697570.19242 23133101.973 23133105.462 23133100.515
+ 3474.902 2707.716 48.000 42.000
+ 04 2 1 19 18 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24844707.91243 -19300670.17842 20077913.970 20077915.925 20077912.971
+ 34.047 26.530 55.000 51.000
+ -8125008.94043 -6326168.17542 21575752.444 21575753.437 21575751.461
+ 2548.561 1985.892 55.000 49.000
+ -20455163.33943 -15871228.63642 21452863.271 21452864.652 21452862.208
+ -1095.834 -853.897 56.000 48.000
+ -14813767.71943 -11533097.26442 22004419.067 22004421.751 22004417.530
+ 654.111 509.697 53.000 46.000
+ -10517750.00243 -8192418.72942 23416311.109 23416314.783 23416310.363
+ -3437.069 -2678.235 47.000 41.000
+ -6054332.53243 -4690051.64142 24287838.342 24287841.526 24287837.744
+ -393.588 -306.692 47.000 40.000
+ -4775402.17843 -3711679.63042 24642879.210 24642883.165 24642878.997
+ -1260.412 -982.139 45.000 37.000
+ -5242924.42943 -4038274.42042 23619427.495 23619432.135 23619425.664
+ 1918.010 1494.553 46.000 40.000
+ -14397160.62143 -11172008.96542 22206600.848 22206603.470 22206599.307
+ 1227.954 956.847 52.000 46.000
+ -19262750.05543 -14998593.43742 21471731.926 21471735.141 21471730.746
+ -1542.893 -1202.254 55.000 48.000
+ -11340362.86343 -8778710.79642 23113287.217 23113290.384 23113285.736
+ 3467.255 2701.757 49.000 42.000
+ 04 2 1 19 18 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24845447.72443 -19301246.64642 20077773.594 20077775.173 20077772.257
+ 15.787 12.302 55.000 51.000
+ -8201272.54943 -6385594.34342 21561239.756 21561240.879 21561239.219
+ 2536.158 1976.227 55.000 49.000
+ -20422265.92443 -15845594.28042 21459123.669 21459124.810 21459122.580
+ -1096.731 -854.595 56.000 48.000
+ -14833330.55143 -11548341.00242 22000695.830 22000698.681 22000694.789
+ 650.607 506.966 53.000 46.000
+ -10414633.54243 -8112068.24442 23435934.659 23435937.004 23435933.932
+ -3437.086 -2678.249 47.000 41.000
+ -6042308.91643 -4680682.57442 24290126.019 24290129.958 24290124.919
+ -407.514 -317.543 46.000 40.000
+ -4737349.17143 -3682027.95742 24650120.294 24650123.089 24650117.848
+ -1276.031 -994.310 44.000 36.000
+ -5300221.31843 -4082921.33842 23608525.051 23608529.068 23608523.331
+ 1901.665 1481.817 46.000 40.000
+ -14433731.80843 -11200505.98442 22199641.470 22199643.562 22199640.792
+ 1210.742 943.435 52.000 46.000
+ -19216287.62943 -14962388.94542 21480573.620 21480576.603 21480572.445
+ -1554.076 -1210.968 55.000 48.000
+ -11444265.09543 -8859673.54842 23093514.257 23093518.530 23093513.853
+ 3460.192 2696.253 48.000 42.000
+ 04 2 1 19 19 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24845612.69343 -19301375.18342 20077741.947 20077743.926 20077740.860
+ -3.644 -2.839 55.000 51.000
+ -8277139.53843 -6444711.45842 21546802.794 21546803.840 21546801.612
+ 2522.638 1965.692 55.000 49.000
+ -20389314.58543 -15819917.90442 21465394.281 21465395.201 21465392.856
+ -1098.930 -856.309 55.000 48.000
+ -14852761.49643 -11563481.97042 21996998.931 21997002.028 21996997.458
+ 645.898 503.297 53.000 46.000
+ -10311484.01843 -8031691.98142 23455563.261 23455566.074 23455562.905
+ -3438.515 -2679.362 48.000 41.000
+ -6029851.97543 -4670975.83242 24292495.972 24292500.239 24292495.646
+ -421.908 -328.759 46.000 40.000
+ -4698804.83743 -3651993.38442 24657455.028 24657459.799 24657454.236
+ -1292.438 -1007.094 44.000 37.000
+ -5357009.06443 -4127171.50442 23597718.650 23597721.232 23597717.596
+ 1885.177 1468.969 46.000 40.000
+ -14469762.25943 -11228581.66042 22192785.497 22192786.851 22192784.430
+ 1192.416 929.155 52.000 46.000
+ -19169467.60243 -14925905.81742 21489482.936 21489486.297 21489482.056
+ -1566.128 -1220.359 55.000 48.000
+ -11547934.43743 -8940454.83042 23073787.494 23073791.446 23073785.734
+ 3452.270 2690.081 49.000 43.000
+ 04 2 1 19 19 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24845204.52043 -19301057.11242 20077819.868 20077821.573 20077818.486
+ -22.954 -17.886 55.000 51.000
+ -8352609.17043 -6503518.93642 21532441.260 21532442.505 21532440.273
+ 2509.190 1955.213 55.000 48.000
+ -20356311.10343 -15794200.90342 21471674.644 21471675.613 21471673.287
+ -1100.851 -857.806 56.000 48.000
+ -14872062.51943 -11578521.70042 21993325.232 21993328.899 21993324.356
+ 641.344 499.748 53.000 46.000
+ -10208304.69643 -7951292.51342 23475196.003 23475200.213 23475196.270
+ -3439.552 -2680.170 47.000 41.000
+ -6016962.06543 -4660931.74442 24294951.632 24294952.997 24294950.815
+ -436.517 -340.143 47.000 41.000
+ -4659770.34043 -3621576.90042 24664882.954 24664886.269 24664882.013
+ -1308.901 -1019.923 44.000 37.000
+ -5413286.84743 -4171024.34242 23587008.337 23587012.361 23587006.055
+ 1867.525 1455.214 47.000 40.000
+ -14505252.07343 -11256236.06042 22186031.847 22186033.888 22186030.331
+ 1174.209 914.968 52.000 46.000
+ -19122290.70443 -14889144.60042 21498460.037 21498463.337 21498459.775
+ -1578.298 -1229.842 54.000 48.000
+ -11651369.25043 -9021053.38442 23054103.645 23054108.526 23054103.431
+ 3444.318 2683.884 49.000 43.000
+ 04 2 1 19 20 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24844226.99843 -19300295.39242 20078005.715 20078007.647 20078004.590
+ -42.328 -32.983 55.000 51.000
+ -8427682.98043 -6562017.97642 21518155.080 21518156.455 21518154.629
+ 2495.500 1944.545 55.000 49.000
+ -20323259.99643 -15768446.79242 21477964.240 21477965.448 21477962.638
+ -1102.762 -859.295 56.000 48.000
+ -14891238.02343 -11593463.61942 21989676.464 21989679.699 21989675.128
+ 636.771 496.185 53.000 46.000
+ -10105101.77343 -7870874.66942 23494834.782 23494839.569 23494835.273
+ -3440.792 -2681.137 46.000 40.000
+ -6003642.11243 -4650552.56342 24297484.190 24297487.363 24297482.795
+ -451.484 -351.806 47.000 40.000
+ -4620249.87243 -3590781.68542 24672402.560 24672408.009 24672403.428
+ -1326.003 -1033.249 43.000 37.000
+ -5469056.58643 -4214481.28742 23576397.039 23576400.825 23576395.278
+ 1850.034 1441.585 47.000 40.000
+ -14540203.47843 -11283470.90942 22179380.974 22179382.919 22179379.447
+ 1155.863 900.672 53.000 46.000
+ -19074760.33443 -14852107.95342 21507504.849 21507507.933 21507503.974
+ -1590.575 -1239.409 55.000 48.000
+ -11754570.77443 -9101470.14942 23034465.474 23034469.139 23034463.622
+ 3435.621 2677.107 49.000 43.000
+ 04 2 1 19 20 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24842675.88443 -19299086.72142 20078301.023 20078302.676 20078299.758
+ -61.192 -47.682 55.000 51.000
+ -8502354.38943 -6620203.47342 21503946.077 21503946.963 21503944.889
+ 2482.278 1934.243 55.000 49.000
+ -20290157.12943 -15742652.34642 21484263.131 21484264.374 21484261.610
+ -1104.343 -860.527 55.000 48.000
+ -14910284.40343 -11608304.91942 21986051.671 21986056.348 21986051.003
+ 632.680 492.997 53.000 46.000
+ -10001873.14143 -7790436.77842 23514478.984 23514483.797 23514477.808
+ -3441.435 -2681.638 46.000 40.000
+ -5989886.81543 -4639834.12742 24300102.815 24300106.380 24300101.058
+ -465.544 -362.761 47.000 41.000
+ -4580239.28143 -3559604.58242 24680017.449 24680020.946 24680015.980
+ -1341.928 -1045.658 42.000 36.000
+ -5524311.98243 -4257537.40842 23565882.484 23565883.277 23565880.758
+ 1833.325 1428.565 48.000 41.000
+ -14574610.90343 -11310281.88342 22172833.291 22172835.156 22172832.116
+ 1137.909 886.682 52.000 46.000
+ -19026871.65643 -14814792.09742 21516617.704 21516620.750 21516616.979
+ -1602.184 -1248.455 54.000 48.000
+ -11857531.78343 -9181699.49442 23014872.999 23014875.824 23014871.512
+ 3428.091 2671.240 49.000 43.000
+ 04 2 1 19 21 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24840555.99743 -19297434.85142 20078704.263 20078706.066 20078703.093
+ -80.582 -62.791 55.000 51.000
+ -8576625.02643 -6678076.67442 21489812.557 21489813.759 21489811.774
+ 2468.438 1923.458 55.000 49.000
+ -20257006.88343 -15716820.98142 21490571.628 21490572.373 21490570.512
+ -1106.327 -862.073 55.000 48.000
+ -14929205.98343 -11623048.99242 21982451.057 21982454.778 21982449.724
+ 628.269 489.560 52.000 46.000
+ -9898624.67943 -7709983.44242 23534126.478 23534130.837 23534126.833
+ -3442.235 -2682.261 46.000 40.000
+ -5975699.08143 -4628778.71342 24302802.735 24302804.401 24302802.171
+ -480.727 -374.592 47.000 40.000
+ -4539742.81243 -3528048.89442 24687721.378 24687726.554 24687718.864
+ -1357.892 -1058.098 40.000 35.000
+ -5579054.73043 -4300194.09242 23555464.134 23555468.167 23555464.691
+ 1815.696 1414.828 47.000 40.000
+ -14608476.86743 -11336670.94242 22166388.271 22166390.505 22166386.499
+ 1119.432 872.285 52.000 46.000
+ -18978627.90243 -14777199.55942 21525798.665 21525801.432 21525797.679
+ -1614.588 -1258.120 55.000 48.000
+ -11960253.37343 -9261742.26542 22995325.775 22995329.702 22995324.263
+ 3419.532 2664.570 49.000 44.000
+ 04 2 1 19 21 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24837866.27343 -19295338.95142 20079216.194 20079218.017 20079215.082
+ -98.626 -76.851 55.000 51.000
+ -8650491.88943 -6735635.24842 21475755.923 21475756.707 21475755.074
+ 2456.007 1913.772 55.000 49.000
+ -20223808.27043 -15690951.93242 21496889.346 21496890.251 21496888.030
+ -1106.959 -862.565 56.000 48.000
+ -14948002.49443 -11637695.60142 21978874.633 21978878.267 21978872.587
+ 625.047 487.050 53.000 46.000
+ -9795357.88443 -7629515.79842 23553778.040 23553781.472 23553777.870
+ -3442.067 -2682.130 46.000 40.000
+ -5961077.20243 -4617384.99742 24305585.677 24305588.116 24305583.913
+ -494.214 -385.102 47.000 41.000
+ -4498759.69843 -3496114.01842 24695523.143 24695523.075 24695519.259
+ -1373.890 -1070.564 42.000 35.000
+ -5633282.13843 -4342449.21842 23545145.674 23545148.825 23545144.609
+ 1799.628 1402.307 47.000 40.000
+ -14641799.17043 -11362636.36642 22160047.536 22160049.529 22160046.486
+ 1102.258 858.902 52.000 46.000
+ -18930027.76543 -14739329.32042 21535046.839 21535050.097 21535046.172
+ -1625.486 -1266.612 55.000 48.000
+ -12062732.03943 -9341595.74142 22975824.359 22975829.266 22975823.528
+ 3412.396 2659.010 49.000 44.000
+ 04 2 1 19 22 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24834608.55543 -19292800.46142 20079835.948 20079837.835 20079834.901
+ -117.587 -91.626 55.000 51.000
+ -8723954.27143 -6792878.63942 21461776.485 21461777.734 21461775.404
+ 2442.435 1903.196 55.000 49.000
+ -20190563.05143 -15665046.56742 21503215.445 21503216.691 21503214.094
+ -1108.342 -863.643 55.000 48.000
+ -14966676.15743 -11652246.47842 21975321.116 21975324.506 21975319.891
+ 620.939 483.849 53.000 46.000
+ -9692076.48343 -7549036.78942 23573432.337 23573435.381 23573431.087
+ -3442.319 -2682.326 46.000 40.000
+ -5946021.76743 -4605653.47142 24308449.891 24308452.495 24308448.032
+ -508.347 -396.114 47.000 40.000
+ -4457291.91643 -3463801.46242 24703413.920 24703415.913 24703413.687
+ -1389.925 -1083.058 42.000 35.000
+ -5686993.69243 -4384302.38042 23534925.444 23534928.473 23534923.590
+ 1782.376 1388.864 47.000 40.000
+ -14674578.12943 -11388178.40642 22153809.775 22153811.848 22153808.963
+ 1084.055 844.718 53.000 46.000
+ -18881072.18743 -14701182.12242 21544362.604 21544365.556 21544361.520
+ -1637.256 -1275.784 54.000 48.000
+ -12164966.38943 -9421258.85642 22956370.263 22956373.101 22956369.600
+ 3404.452 2652.820 50.000 44.000
+ 04 2 1 19 22 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24830785.03143 -19289821.07742 20080563.539 20080565.647 20080562.306
+ -137.221 -106.925 55.000 51.000
+ -8797011.48343 -6849806.31242 21447874.619 21447875.132 21447873.311
+ 2427.978 1891.931 55.000 49.000
+ -20157273.30343 -15639106.50242 21509550.244 21509551.151 21509548.532
+ -1110.850 -865.597 56.000 48.000
+ -14985229.09243 -11666703.27742 21971790.940 21971793.768 21971789.560
+ 615.949 479.960 53.000 46.000
+ -9588784.16743 -7468549.25842 23593088.179 23593089.703 23593086.854
+ -3443.612 -2683.334 47.000 40.000
+ -5930533.48943 -4593584.63942 24311397.053 24311398.794 24311397.153
+ -523.908 -408.240 47.000 40.000
+ -4415340.98643 -3431112.42642 24711395.907 24711399.086 24711398.133
+ -1406.682 -1096.116 43.000 35.000
+ -5740188.88343 -4425753.16742 23524800.934 23524805.703 23524799.852
+ 1764.255 1374.744 46.000 40.000
+ -14706813.81543 -11413297.12042 22147676.411 22147677.770 22147675.182
+ 1065.083 829.935 53.000 46.000
+ -18831762.27443 -14662758.81242 21553746.187 21553748.957 21553745.439
+ -1650.006 -1285.719 54.000 48.000
+ -12266955.17643 -9500730.61342 22936962.271 22936964.934 22936960.856
+ 3395.073 2645.511 49.000 43.000
+ 04 2 1 19 23 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24826392.24643 -19286398.11942 20081399.554 20081401.352 20081398.390
+ -155.521 -121.185 55.000 51.000
+ -8869657.73643 -6906413.76042 21434049.869 21434051.286 21434049.420
+ 2415.047 1881.855 55.000 49.000
+ -20123935.67343 -15613129.12542 21515894.106 21515895.235 21515892.900
+ -1111.716 -866.272 55.000 48.000
+ -15003658.24643 -11681063.63542 21968283.483 21968286.585 21968282.020
+ 612.553 477.314 53.000 46.000
+ -9485479.59743 -7388052.20242 23612746.882 23612749.013 23612744.524
+ -3443.352 -2683.131 46.000 40.000
+ -5914607.95143 -4581175.16542 24314426.622 24314431.583 24314427.818
+ -537.856 -419.108 47.000 40.000
+ -4372903.61943 -3398044.38742 24719472.303 24719477.350 24719470.566
+ -1422.442 -1108.396 42.000 36.000
+ -5792862.11143 -4466797.25542 23514779.701 23514781.882 23514777.168
+ 1747.545 1361.723 48.000 40.000
+ -14738501.17443 -11437988.56642 22141646.156 22141648.316 22141644.780
+ 1047.361 816.125 53.000 46.000
+ -18782094.01043 -14624056.28242 21563197.863 21563201.101 21563196.848
+ -1661.278 -1294.502 54.000 48.000
+ -12368692.07843 -9580006.12342 22917601.483 22917604.487 22917600.090
+ 3387.504 2639.614 49.000 43.000
+ 04 2 1 19 23 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24821435.20543 -19282535.47942 20082342.815 20082344.539 20082341.762
+ -175.016 -136.376 55.000 51.000
+ -8941895.27843 -6962702.73042 21420303.639 21420304.678 21420302.748
+ 2400.752 1870.716 55.000 49.000
+ -20090555.01143 -15587118.21642 21522246.038 21522247.341 21522245.204
+ -1113.756 -867.862 55.000 48.000
+ -15021968.71543 -11695331.51042 21964799.078 21964802.169 21964797.892
+ 608.030 473.790 53.000 46.000
+ -9382169.09043 -7307550.52242 23632406.246 23632408.676 23632406.450
+ -3444.097 -2683.712 47.000 41.000
+ -5898248.72243 -4568427.67342 24317540.831 24317544.261 24317539.416
+ -552.906 -430.836 46.000 39.000
+ -4329984.82843 -3364601.09042 24727638.316 24727640.574 24727637.022
+ -1439.079 -1121.360 42.000 35.000
+ -5845016.08743 -4507436.70042 23504853.994 23504857.788 23504852.998
+ 1729.471 1347.640 47.000 40.000
+ -14769643.64443 -11462255.42942 22135719.694 22135721.474 22135719.013
+ 1028.725 801.604 53.000 46.000
+ -18732071.32843 -14585077.56642 21572717.131 21572719.738 21572716.097
+ -1673.598 -1304.102 55.000 48.000
+ -12470178.72343 -9659086.61342 22898289.153 22898293.830 22898287.547
+ 3378.311 2632.450 48.000 43.000
+ 04 2 1 19 24 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24815912.11143 -19278231.75842 20083393.818 20083395.542 20083392.742
+ -193.643 -150.891 55.000 51.000
+ -9013719.90243 -7018669.94742 21406636.094 21406636.744 21406635.384
+ 2387.248 1860.193 55.000 49.000
+ -20057129.45343 -15561072.32842 21528607.268 21528608.279 21528606.085
+ -1115.025 -868.851 56.000 48.000
+ -15040159.16343 -11709505.86942 21961337.290 21961341.298 21961336.368
+ 604.306 470.888 53.000 46.000
+ -9278852.91643 -7227044.42342 23652065.400 23652069.341 23652065.251
+ -3443.803 -2683.483 46.000 41.000
+ -5881452.88243 -4555339.96742 24320735.127 24320738.017 24320735.073
+ -567.308 -442.058 46.000 39.000
+ -4286582.65443 -3330781.22842 24735899.293 24735900.875 24735898.039
+ -1455.001 -1133.767 42.000 35.000
+ -5896646.75043 -4547668.40142 23495027.907 23495032.824 23495026.780
+ 1712.196 1334.179 46.000 40.000
+ -14800237.74443 -11486094.98342 22129897.213 22129899.670 22129895.896
+ 1010.649 787.519 52.000 46.000
+ -18681691.71343 -14545820.71242 21582303.766 21582306.568 21582302.844
+ -1685.354 -1313.263 55.000 48.000
+ -12571410.33543 -9737968.37342 22879025.265 22879030.038 22879023.872
+ 3370.063 2626.023 48.000 43.000
+ 04 2 1 19 24 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24809825.10943 -19273488.62942 20084552.405 20084553.909 20084551.075
+ -212.616 -165.675 55.000 51.000
+ -9085131.35043 -7074315.21142 21393046.836 21393047.735 21393046.037
+ 2373.135 1849.196 56.000 49.000
+ -20023661.08043 -15534993.06942 21534976.065 21534976.631 21534974.560
+ -1116.592 -870.072 56.000 48.000
+ -15058231.88943 -11723588.48142 21957898.316 21957901.903 21957897.396
+ 600.187 467.678 53.000 46.000
+ -9175535.11243 -7146537.06542 23671727.667 23671729.856 23671727.122
+ -3444.283 -2683.857 47.000 41.000
+ -5864221.59443 -4541912.97142 24324014.888 24324018.733 24324015.166
+ -581.875 -453.409 47.000 39.000
+ -4242699.43243 -3296586.55842 24744248.966 24744254.368 24744250.187
+ -1471.060 -1146.280 41.000 35.000
+ -5947754.05143 -4587492.25942 23485302.904 23485305.770 23485301.308
+ 1694.452 1320.352 46.000 40.000
+ -14830284.21143 -11509507.80742 22124179.909 22124182.281 22124178.793
+ 992.050 773.026 53.000 46.000
+ -18630956.60343 -14506286.86642 21591958.082 21591961.381 21591957.220
+ -1697.329 -1322.594 54.000 48.000
+ -12672386.08443 -9816650.72542 22859810.701 22859815.559 22859808.427
+ 3361.315 2619.206 49.000 43.000
+ 04 2 1 19 25 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24803173.84643 -19268305.81742 20085817.952 20085819.640 20085816.795
+ -230.959 -179.968 55.000 51.000
+ -9156126.52043 -7129636.10142 21379536.500 21379537.988 21379535.966
+ 2359.524 1838.590 55.000 49.000
+ -19990149.28843 -15508879.97742 21541352.656 21541353.871 21541351.744
+ -1117.750 -870.974 56.000 48.000
+ -15076186.19643 -11737578.82842 21954481.755 21954485.005 21954480.850
+ 596.729 464.984 53.000 46.000
+ -9072216.52443 -7066029.06842 23691388.459 23691391.313 23691387.824
+ -3443.764 -2683.452 47.000 41.000
+ -5846552.93343 -4528145.16542 24327378.521 24327381.338 24327377.670
+ -596.153 -464.535 48.000 40.000
+ -4198334.39943 -3262016.37442 24752691.967 24752693.206 24752690.113
+ -1486.996 -1158.698 41.000 34.000
+ -5998335.17543 -4626906.13942 23475678.075 23475680.219 23475677.050
+ 1677.225 1306.929 46.000 39.000
+ -14859780.89643 -11532492.23842 22118566.816 22118569.249 22118565.462
+ 974.073 759.018 53.000 46.000
+ -18579864.49843 -14466474.84042 21601680.654 21601683.784 21601679.826
+ -1708.946 -1331.646 54.000 48.000
+ -12773101.91743 -9895130.56942 22840643.922 22840649.547 22840643.489
+ 3353.217 2612.896 48.000 43.000
+ 04 2 1 19 25 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24795963.88843 -19262687.66242 20087189.981 20087191.490 20087188.769
+ -250.032 -194.830 55.000 51.000
+ -9226708.55643 -7184635.07042 21366105.658 21366106.828 21366104.656
+ 2345.403 1827.587 56.000 49.000
+ -19956599.20343 -15482737.05642 21547736.921 21547738.333 21547735.774
+ -1119.410 -872.267 55.000 48.000
+ -15094027.97043 -11751481.48742 21951087.028 21951090.590 21951085.531
+ 592.423 461.628 53.000 46.000
+ -8968904.70843 -6985526.36442 23711048.640 23711051.151 23711046.839
+ -3444.002 -2683.638 46.000 41.000
+ -5828451.29143 -4514040.00342 24330823.099 24330824.324 24330821.451
+ -611.106 -476.186 47.000 40.000
+ -4153493.30843 -3227075.20442 24761226.144 24761225.985 24761223.671
+ -1502.947 -1171.127 43.000 35.000
+ -6048393.60243 -4665912.71842 23466152.207 23466153.981 23466151.723
+ 1659.615 1293.206 47.000 40.000
+ -14888732.01043 -11555051.55242 22113058.003 22113059.346 22113056.367
+ 955.565 744.596 52.000 46.000
+ -18528420.25343 -14426388.42442 21611470.134 21611473.020 21611469.100
+ -1721.079 -1341.100 54.000 48.000
+ -12873560.46743 -9973409.93942 22821529.162 22821531.364 22821527.447
+ 3343.990 2605.706 49.000 43.000
+ 04 2 1 19 26 0.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24788190.20943 -19256630.23942 20088669.108 20088671.098 20088667.941
+ -269.212 -209.775 55.000 51.000
+ -9296869.72843 -7239306.09542 21352754.153 21352755.691 21352753.471
+ 2331.004 1816.367 56.000 49.000
+ -19923005.36443 -15456560.03442 21554130.290 21554131.449 21554128.574
+ -1121.339 -873.771 56.000 48.000
+ -15111752.37243 -11765292.69442 21947714.135 21947717.061 21947712.441
+ 588.070 458.236 53.000 46.000
+ -8865596.29943 -6905026.29842 23730704.972 23730708.381 23730705.475
+ -3444.513 -2684.036 46.000 40.000
+ -5809910.55643 -4499592.64542 24334350.239 24334352.633 24334350.402
+ -626.317 -488.039 47.000 40.000
+ -4108171.00743 -3191759.17642 24769850.144 24769851.017 24769849.330
+ -1519.831 -1184.284 41.000 34.000
+ -6097921.97143 -4704506.24942 23456726.037 23456729.955 23456725.336
+ 1641.277 1278.917 46.000 39.000
+ -14917130.63143 -11577180.35342 22107653.718 22107656.005 22107652.184
+ 936.629 729.841 53.000 46.000
+ -18476617.89643 -14386022.95142 21621328.217 21621330.937 21621326.755
+ -1733.470 -1350.756 55.000 48.000
+ -12973753.54643 -10051482.46042 22802462.584 22802466.720 22802462.015
+ 3334.121 2598.016 50.000 43.000
+ 04 2 1 19 26 30.0000000 0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24779857.62443 -19250137.30342 20090254.747 20090256.381 20090253.581
+ -286.987 -223.626 55.000 51.000
+ -9366612.09843 -7293650.76842 21339482.291 21339483.652 21339481.546
+ 2317.846 1806.114 55.000 49.000
+ -19889372.58943 -15430352.67542 21560529.703 21560531.300 21560528.491
+ -1121.529 -873.919 55.000 48.000
+ -15129364.25243 -11779016.21942 21944362.391 21944365.385 21944360.242
+ 585.331 456.102 53.000 46.000
+ -8762297.17443 -6824533.48042 23750363.305 23750366.400 23750363.025
+ -3443.236 -2683.041 46.000 40.000
+ -5790934.10943 -4484805.77842 24337961.779 24337963.546 24337961.141
+ -639.697 -498.465 47.000 40.000
+ -4062372.02243 -3156071.63642 24778565.797 24778565.711 24778563.344
+ -1534.389 -1195.628 41.000 34.000
+ -6146922.42543 -4742688.42742 23447404.064 23447406.604 23447401.182
+ 1624.729 1266.023 47.000 40.000
+ -14944979.75043 -11598880.95942 22102354.511 22102356.551 22102353.208
+ 919.216 716.272 53.000 46.000
+ -18424461.24443 -14345381.40242 21631253.205 21631255.669 21631252.351
+ -1744.406 -1359.277 55.000 48.000
+ -13073682.43943 -10129349.11842 22783447.339 22783450.580 22783445.649
+ 3326.695 2592.230 50.000 44.000
+ 04 2 1 19 27 0.0000000 0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24770967.15643 -19243209.65642 20091946.600 20091948.385 20091945.197
+ -306.014 -238.452 55.000 51.000
+ -9435933.89343 -7347667.72842 21326291.211 21326292.283 21326290.331
+ 2303.330 1794.803 56.000 49.000
+ -19855700.93743 -15404115.01642 21566937.429 21566938.851 21566935.939
+ -1123.309 -875.306 55.000 48.000
+ -407836.55853 -271349.87752 25206205.599 25206209.634 25206202.774
+ 3218.849 2508.194 42.000 34.000
+ -15146864.59543 -11792652.83142 21941032.167 21941035.657 21941031.227
+ 581.115 452.817 53.000 47.000
+ -8659010.15543 -6744050.08942 23770018.334 23770021.152 23770017.803
+ -3443.290 -2683.083 46.000 40.000
+ -5771521.48243 -4469679.02342 24341656.122 24341659.388 24341655.210
+ -654.510 -510.008 48.000 40.000
+ -4016097.17043 -3120013.34342 24787369.397 24787371.640 24787370.385
+ -1550.722 -1208.355 39.000 33.000
+ -6195393.85743 -4780458.36942 23438179.853 23438182.319 23438178.555
+ 1606.731 1251.998 47.000 40.000
+ -14972278.70643 -11620152.87542 22097159.484 22097160.935 22097158.304
+ 900.465 701.661 53.000 46.000
+ -18371950.33243 -14304463.81442 21641245.166 21641248.318 21641244.299
+ -1756.594 -1368.774 54.000 48.000
+ -13173344.85643 -10207008.12042 22764481.737 22764484.844 22764480.391
+ 3317.231 2584.855 50.000 44.000
+ 04 2 1 19 27 30.0000000 0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24761521.22143 -19235849.18142 20093744.262 20093745.650 20093742.900
+ -324.459 -252.825 55.000 51.000
+ -9504835.13243 -7401356.98542 21313179.457 21313180.758 21313178.717
+ 2289.405 1783.952 55.000 49.000
+ -19821992.91943 -15377849.02742 21573352.025 21573353.485 21573350.704
+ -1124.342 -876.111 55.000 48.000
+ -504459.34343 -346640.32742 25187820.270 25187816.585 25187818.930
+ 3221.711 2510.424 40.000 33.000
+ -15164255.73243 -11806204.34742 21937722.751 21937725.946 21937721.508
+ 577.577 450.060 53.000 47.000
+ -8555739.30843 -6663579.28642 23789670.028 23789673.032 23789668.482
+ -3442.368 -2682.365 45.000 40.000
+ -5751674.12943 -4454213.55442 24345432.526 24345437.352 24345431.199
+ -669.166 -521.428 46.000 40.000
+ -3969348.85343 -3083586.06142 24796264.702 24796269.263 24796264.899
+ -1566.123 -1220.355 38.000 34.000
+ -6243336.15543 -4817815.99842 23429056.296 23429059.547 23429055.699
+ 1588.902 1238.105 48.000 40.000
+ -14999028.37943 -11640996.78142 22092069.696 22092071.824 22092068.465
+ 882.170 687.405 53.000 46.000
+ -18319086.74343 -14263271.40542 21651305.229 21651308.140 21651303.987
+ -1768.303 -1377.898 54.000 48.000
+ -13272739.99743 -10284458.85742 22745568.073 22745570.785 22745566.934
+ 3308.379 2577.958 50.000 44.000
+ 04 2 1 19 28 0.0000000 0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24751515.46443 -19228052.48142 20095648.132 20095649.630 20095646.913
+ -342.676 -267.020 55.000 51.000
+ -9573308.69443 -7454712.98342 21300149.856 21300150.663 21300148.713
+ 2275.500 1773.117 56.000 49.000
+ -19788243.64543 -15351550.88942 21579773.931 21579774.878 21579772.561
+ -1125.528 -877.035 55.000 48.000
+ -601159.55843 -421991.09242 25169417.391 25169420.226 25169419.240
+ 3225.115 2513.077 39.000 33.000
+ -15181533.04543 -11819667.17342 21934435.281 21934438.221 21934434.210
+ 574.126 447.371 53.000 47.000
+ -8452481.48043 -6583118.66342 23809317.807 23809323.251 23809319.081
+ -3441.699 -2681.843 45.000 40.000
+ -5731386.17543 -4438404.76542 24349291.923 24349296.007 24349292.748
+ -683.360 -532.488 46.000 39.000
+ -3922122.70543 -3046786.43742 24805251.732 24805256.011 24805250.169
+ -1582.387 -1233.029 39.000 35.000
+ -6290742.72043 -4854756.19542 23420035.516 23420038.412 23420034.263
+ 1571.218 1224.326 47.000 40.000
+ -15025222.65443 -11661407.90142 22087084.832 22087086.491 22087083.745
+ 864.021 673.263 53.000 46.000
+ -18265864.92443 -14221799.86242 21661432.631 21661436.191 21661431.671
+ -1779.787 -1386.847 54.000 48.000
+ -13371860.09843 -10361695.29142 22726705.413 22726708.935 22726703.814
+ 3299.326 2570.903 50.000 44.000
+ 04 2 1 19 28 30.0000000 0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24740953.67543 -19219822.50942 20097658.008 20097659.785 20097656.716
+ -361.098 -281.375 55.000 51.000
+ -9641355.98243 -7507736.82742 21287200.871 21287201.623 21287199.988
+ 2261.405 1762.134 56.000 49.000
+ -19754456.64543 -15325223.35642 21586203.424 21586204.683 21586202.075
+ -1126.685 -877.936 55.000 48.000
+ -697938.55643 -497403.31142 25150998.791 25151001.436 25150998.367
+ 3227.041 2514.577 39.000 33.000
+ -15198700.71243 -11833044.56342 21931167.714 21931171.165 21931166.311
+ 570.761 444.749 53.000 47.000
+ -8349242.29643 -6502672.55742 23828965.876 23828967.933 23828965.223
+ -3440.439 -2680.861 46.000 40.000
+ -5710660.57943 -4422254.93942 24353237.883 24353241.522 24353236.518
+ -697.914 -543.829 48.000 40.000
+ -3874422.63843 -3009617.53742 24814329.942 24814334.211 24814328.214
+ -1597.807 -1245.044 42.000 36.000
+ -6337615.20143 -4891280.19242 23411115.106 23411118.444 23411113.795
+ 1553.620 1210.613 47.000 40.000
+ -15050864.21243 -11681388.33842 22082205.258 22082207.199 22082204.570
+ 845.628 658.931 53.000 46.000
+ -18212287.96643 -14180051.58742 21671628.393 21671631.293 21671627.287
+ -1791.562 -1396.022 55.000 48.000
+ -13470705.91243 -10438717.99042 22707895.352 22707898.687 22707894.315
+ 3290.515 2564.038 50.000 44.000
+ 04 2 1 19 29 0.0000000 0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24729841.96143 -19211164.02642 20099772.698 20099774.238 20099771.343
+ -379.602 -295.794 55.000 51.000
+ -9708980.39243 -7560431.16042 21274332.058 21274333.026 21274331.402
+ 2246.987 1750.899 56.000 49.000
+ -19720637.12243 -15298870.47742 21592638.937 21592640.539 21592638.083
+ -1127.962 -878.931 55.000 48.000
+ -794799.66243 -572879.50542 25132569.854 25132568.977 25132567.219
+ 3229.916 2516.818 41.000 32.000
+ -15215764.55843 -11846341.04842 21927920.839 21927923.963 21927919.445
+ 566.971 441.796 53.000 47.000
+ -8246029.16243 -6422246.75542 23848607.834 23848607.839 23848604.384
+ -3439.971 -2680.497 46.000 40.000
+ -5689501.89343 -4405767.61042 24357262.621 24357267.519 24357262.170
+ -712.615 -555.284 47.000 39.000
+ -3826254.50143 -2972083.91342 24823498.037 24823499.224 24823498.306
+ -1613.276 -1257.098 42.000 36.000
+ -6383957.25643 -4927390.86642 23402295.922 23402300.324 23402294.508
+ 1535.783 1196.714 46.000 41.000
+ -15075957.03343 -11700941.18642 22077429.676 22077432.008 22077429.203
+ 827.246 644.607 53.000 46.000
+ -18158360.87043 -14138030.48042 21681890.713 21681893.477 21681889.330
+ -1803.559 -1405.371 55.000 48.000
+ -13569280.08943 -10515529.01542 22689137.541 22689141.128 22689135.836
+ 3281.263 2556.828 50.000 44.000
+ 04 2 1 19 29 30.0000000 0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24718173.85743 -19202071.99142 20101992.848 20101994.367 20101991.692
+ -397.830 -309.997 55.000 51.000
+ -9776173.32543 -7612789.27542 21261546.233 21261546.904 21261545.080
+ 2232.764 1739.816 56.000 49.000
+ -19686778.49243 -15272487.13342 21599081.808 21599083.336 21599080.726
+ -1128.936 -879.690 55.000 48.000
+ -891734.25543 -648412.97542 25114123.797 25114120.280 25114119.935
+ 3233.055 2519.264 41.000 33.000
+ -15232718.54743 -11859551.93342 21924694.375 21924698.443 21924693.045
+ 563.661 439.216 53.000 46.000
+ -8142837.45643 -6341837.64342 23868243.253 23868245.321 23868243.661
+ -3439.036 -2679.768 47.000 40.000
+ -5667902.71143 -4388937.05642 24361373.459 24361375.765 24361374.275
+ -726.865 -566.388 47.000 40.000
+ -3777612.09543 -2934180.79942 24832752.108 24832757.920 24832750.861
+ -1629.034 -1269.377 40.000 35.000
+ -6429760.54543 -4963081.76542 23393580.021 23393583.849 23393579.440
+ 1518.004 1182.860 46.000 40.000
+ -15100493.68843 -11720060.65542 22072760.971 22072763.223 22072760.039
+ 808.909 630.319 52.000 46.000
+ -18104076.57543 -14095731.03542 21692220.501 21692223.733 21692219.146
+ -1815.106 -1414.368 54.000 48.000
+ -13667573.14943 -10592120.98242 22670433.082 22670436.482 22670432.265
+ 3272.037 2549.639 50.000 44.000
+ 04 2 1 19 30 0.0000000 0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24705955.48243 -19192551.17142 20104317.898 20104319.520 20104316.605
+ -416.657 -324.668 55.000 51.000
+ -9842937.29043 -7664813.13242 21248840.970 21248841.979 21248840.287
+ 2218.000 1728.312 56.000 49.000
+ -19652886.02943 -15246077.42142 21605531.612 21605532.816 21605530.511
+ -1130.486 -880.898 55.000 48.000
+ -988744.93443 -724005.69042 25095663.029 25095662.766 25095663.265
+ 3234.846 2520.659 43.000 34.000
+ -15249567.81543 -11872681.21742 21921488.546 21921491.685 21921486.525
+ 559.737 436.159 53.000 47.000
+ -8039673.91143 -6261450.47842 23887875.006 23887877.560 23887873.950
+ -3438.863 -2679.633 47.000 40.000
+ -5645867.38943 -4371766.65942 24365564.580 24365569.884 24365564.617
+ -741.882 -578.090 46.000 40.000
+ -3728500.82043 -2895912.31642 24842099.520 24842100.944 24842099.304
+ -1644.919 -1281.755 39.000 34.000
+ -6475028.27043 -4998355.31942 23384966.168 23384970.516 23384964.999
+ 1499.780 1168.660 47.000 41.000
+ -15124477.70243 -11738749.50142 22068196.248 22068199.328 22068195.420
+ 790.054 615.626 52.000 46.000
+ -18049439.55143 -14053156.73142 21702617.270 21702619.888 21702616.373
+ -1827.231 -1423.816 54.000 48.000
+ -13765587.07743 -10668495.46642 22651781.809 22651784.988 22651780.980
+ 3262.320 2542.068 51.000 44.000
+ 04 2 1 19 30 30.0000000 0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24693185.40743 -19182600.45742 20106747.861 20106749.749 20106746.683
+ -433.787 -338.016 55.000 51.000
+ -9909268.70243 -7716499.92842 21236218.291 21236219.331 21236217.448
+ 2204.820 1718.042 56.000 49.000
+ -19618957.89743 -15219639.90842 21611987.844 21611989.087 21611986.760
+ -1130.480 -880.893 55.000 48.000
+ -1085827.89943 -799654.70342 25077187.817 25077188.478 25077188.228
+ 3238.204 2523.276 43.000 34.000
+ -15266310.96243 -11885727.81242 21918302.077 21918304.900 21918300.452
+ 557.333 434.285 53.000 47.000
+ -7936538.87243 -6181085.50842 23907499.918 23907502.426 23907498.048
+ -3436.036 -2677.431 47.000 40.000
+ -5623393.47643 -4354254.50642 24369843.654 24369847.070 24369842.724
+ -755.324 -588.564 47.000 40.000
+ -3678919.30143 -2857277.34842 24851530.135 24851535.530 24851530.564
+ -1659.279 -1292.945 38.000 34.000
+ -6519756.87743 -5033208.77242 23376455.179 23376457.335 23376454.408
+ 1483.076 1155.644 47.000 41.000
+ -15147906.58343 -11757005.76342 22063738.290 22063740.882 22063737.110
+ 772.733 602.130 53.000 46.000
+ -17994447.77643 -14010305.99342 21713081.459 21713085.006 21713080.547
+ -1837.972 -1432.186 54.000 48.000
+ -13863317.48743 -10744649.02342 22633183.894 22633188.148 22633182.527
+ 3253.992 2535.578 51.000 44.000
+ 04 2 1 19 31 0.0000000 0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24679868.52743 -19172223.66442 20109282.075 20109283.850 20109280.992
+ -452.503 -352.600 55.000 51.000
+ -9975169.68043 -7767851.32142 21223677.752 21223678.697 21223677.109
+ 2190.090 1706.564 56.000 49.000
+ -19584998.75243 -15193178.23342 21618450.074 21618451.517 21618449.299
+ -1131.912 -882.009 55.000 48.000
+ -1182985.17443 -875361.61642 25058699.309 25058703.184 25058700.275
+ 3240.261 2524.879 42.000 34.000
+ -15282952.75743 -11898695.42842 21915135.695 21915138.842 21915133.978
+ 553.621 431.393 53.000 47.000
+ -7833438.40243 -6100747.47242 23927119.899 23927120.865 23927118.781
+ -3435.482 -2676.999 47.000 40.000
+ -5600484.58943 -4336403.41442 24374203.255 24374205.684 24374202.847
+ -770.361 -600.281 47.000 40.000
+ -2818279.76552 24861056.374 24861060.871
+ -1675.534 -1305.611 37.000 33.000
+ -6563949.14343 -5067644.30542 23368046.251 23368048.563 23368044.899
+ 1464.673 1141.304 48.000 41.000
+ -15170783.50243 -11774831.94042 22059384.874 22059387.213 22059383.895
+ 753.952 587.495 52.000 46.000
+ -17939105.18643 -13967181.90342 21723613.124 21723616.376 21723612.343
+ -1850.042 -1441.591 54.000 48.000
+ -13960765.89143 -10820582.82042 22614640.025 22614644.375 22614638.888
+ 3244.137 2527.899 50.000 44.000
+ 04 2 1 19 31 30.0000000 0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24666001.61643 -19161418.27542 20111920.743 20111922.662 20111919.695
+ -470.779 -366.841 55.000 51.000
+ -10040634.60643 -7818862.93342 21211220.050 21211221.349 21211219.210
+ 2175.447 1695.153 56.000 49.000
+ -19551004.53743 -15166689.22842 21624919.182 21624919.947 21624917.811
+ -1133.138 -882.965 55.000 48.000
+ -1280210.95443 -951121.94542 25040197.639 25040199.806 25040197.717
+ 3242.214 2526.401 43.000 34.000
+ -15299489.99843 -11911581.57742 21911988.505 21911991.833 21911987.098
+ 550.182 428.713 53.000 47.000
+ -7730370.86143 -6020435.07942 23946732.551 23946735.101 23946731.493
+ -3434.377 -2676.138 47.000 40.000
+ -5577136.37443 -4318210.01442 24378645.446 24378650.730 24378646.015
+ -784.868 -611.585 46.000 40.000
+ -2778917.03052 24870668.422 24870671.144
+ -1691.179 -1317.802 38.000 33.000
+ -6607599.64543 -5101657.68642 23359739.736 23359742.303 23359738.629
+ 1446.663 1127.270 48.000 41.000
+ -15193103.83243 -11792224.41542 22055137.068 22055140.042 22055136.629
+ 735.273 572.940 52.000 46.000
+ -17883407.57343 -13923781.16242 21734211.806 21734215.428 21734211.021
+ -1861.870 -1450.808 54.000 48.000
+ -14057925.71043 -10896291.75042 22596150.823 22596155.619 22596149.669
+ 3234.257 2520.200 50.000 44.000
+ 04 2 1 19 32 0.0000000 0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24651589.28543 -19150187.87842 20114663.457 20114665.021 20114662.185
+ -489.325 -381.292 55.000 51.000
+ -10105664.57043 -7869535.61842 21198845.687 21198846.591 21198844.787
+ 2160.513 1683.517 56.000 49.000
+ -19516978.18243 -15140175.18342 21631393.492 21631395.009 21631392.602
+ -1134.695 -884.178 55.000 48.000
+ -1377506.17843 -1026936.41742 25021683.797 25021684.582 25021683.587
+ 3244.309 2528.033 44.000 35.000
+ -15315926.41743 -11924389.15842 21908860.606 21908863.915 21908859.132
+ 546.200 425.610 53.000 47.000
+ -7627341.40343 -5940152.37342 23966338.606 23966341.152 23966337.989
+ -3433.455 -2675.419 48.000 40.000
+ -5553351.30543 -4299676.18142 24383172.326 24383174.958 24383170.312
+ -799.951 -623.338 46.000 40.000
+ -3527376.64553 -2739192.17142 24880370.961 24880378.656 24880368.288
+ -1706.971 -1330.107 39.000 33.000
+ -6650709.86943 -5135250.05942 23351534.654 23351539.111 23351533.004
+ 1428.191 1112.876 46.000 41.000
+ -15214869.69543 -11809184.82842 22050995.996 22050997.993 22050995.021
+ 716.319 558.171 53.000 46.000
+ -17827357.83243 -13880106.03742 21744878.322 21744881.153 21744876.773
+ -1874.153 -1460.379 54.000 48.000
+ -14154797.53043 -10971776.27042 22577716.274 22577721.132 22577715.891
+ 3224.412 2512.529 50.000 44.000
+ 04 2 1 19 32 30.0000000 0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24636631.30043 -19138532.29942 20117509.789 20117511.308 20117508.598
+ -508.033 -395.870 55.000 51.000
+ -10170257.11743 -7919867.45542 21186554.370 21186555.029 21186553.246
+ 2145.415 1671.752 56.000 49.000
+ -19482919.38543 -15113635.86342 21637874.974 21637876.743 21637873.814
+ -1136.153 -885.314 55.000 48.000
+ -1474868.43143 -1102803.09342 25003156.436 25003157.032 25003154.059
+ 3245.868 2529.248 45.000 34.000
+ -15332261.98643 -11937118.16142 21905752.044 21905754.566 21905750.471
+ 542.411 422.658 53.000 47.000
+ -7524351.54743 -5859900.55142 23985936.643 23985939.851 23985936.344
+ -3432.581 -2674.738 47.000 40.000
+ -5529128.67743 -4280801.37942 24387780.645 24387783.535 24387780.761
+ -815.079 -635.126 45.000 40.000
+ -3475931.85243 -2699105.35142 24890161.497 24890165.720 24890162.626
+ -1722.730 -1342.387 38.000 33.000
+ -6693277.83943 -5168419.91442 23343435.082 23343438.021 23343433.825
+ 1409.405 1098.238 46.000 41.000
+ -15236079.78643 -11825712.17542 22046960.312 22046962.234 22046958.989
+ 697.353 543.392 53.000 46.000
+ -17770955.16943 -13836155.91542 21755610.825 21755614.088 21755609.951
+ -1886.176 -1469.747 54.000 48.000
+ -14251378.25343 -11047033.96442 22559338.369 22559341.630 22559337.485
+ 3214.194 2504.567 50.000 44.000
+ 04 2 1 19 33 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24621129.08743 -19126452.64042 20120459.902 20120461.362 20120458.661
+ -526.245 -410.061 55.000 51.000
+ -10234411.24143 -7969857.66342 21174345.816 21174346.995 21174344.890
+ 2130.616 1660.220 56.000 49.000
+ -19448828.90943 -15087071.85242 21644362.625 21644363.906 21644361.346
+ -1137.377 -886.268 55.000 48.000
+ -1572296.16843 -1178720.81542 24984614.188 24984619.137 24984616.723
+ 3248.339 2531.173 43.000 34.000
+ -15348497.86243 -11949769.48042 21902662.214 21902665.157 21902661.949
+ 539.050 420.039 53.000 47.000
+ -7421403.98843 -5779681.66942 24005528.030 24005530.767 24005527.020
+ -3431.421 -2673.834 48.000 40.000
+ -5504468.48343 -4261585.65642 24392471.744 24392478.040 24392472.415
+ -829.715 -646.531 45.000 39.000
+ -6735302.58943 -5201166.45842 23335436.816 23335440.246 23335436.056
+ 1391.037 1083.925 46.000 41.000
+ -15256733.99943 -11841806.36942 22043029.423 22043031.030 22043028.376
+ 678.737 528.886 53.000 46.000
+ -17714200.00243 -13791931.11142 21766410.905 21766413.831 21766409.751
+ -1898.171 -1479.094 53.000 47.000
+ -14347665.63343 -11122063.07942 22541015.392 22541018.606 22541014.136
+ 3204.224 2496.798 50.000 44.000
+ 04 2 1 19 33 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24605085.12743 -19113950.85042 20123512.988 20123514.708 20123511.637
+ -543.003 -423.119 55.000 51.000
+ -10298126.55643 -8019505.94642 21162221.347 21162222.092 21162220.239
+ 2117.312 1649.854 56.000 49.000
+ -19414708.42243 -15060484.45642 21650855.648 21650856.901 21650853.950
+ -1137.004 -885.977 55.000 48.000
+ -1669788.93943 -1254689.21342 24966064.192 24966065.011 24966061.983
+ 3251.302 2533.482 42.000 34.000
+ -15364636.01243 -11962344.65042 21899592.204 21899594.541 21899590.623
+ 537.157 418.564 54.000 47.000
+ -7318502.20943 -5699498.44442 24025109.856 24025111.280 24025109.552
+ -3428.392 -2671.474 47.000 39.000
+ -5479371.84043 -4242029.80542 24397249.982 24397253.904 24397249.555
+ -842.857 -656.772 46.000 40.000
+ -6776784.38343 -5233489.94942 23327545.224 23327547.313 23327543.568
+ 1374.560 1071.086 48.000 42.000
+ -15276833.43543 -11857468.26642 22039204.532 22039206.770 22039203.542
+ 661.677 515.592 52.000 46.000
+ -17657093.70643 -13747432.70842 21777277.616 21777281.033 21777276.877
+ -1908.465 -1487.115 53.000 47.000
+ -14443658.84643 -11196862.97542 22522748.785 22522751.409 22522747.306
+ 3195.726 2490.176 50.000 44.000
+ 04 2 1 19 34 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24588501.84043 -19101028.79742 20126668.467 20126670.104 20126667.240
+ -561.687 -437.678 55.000 51.000
+ -10361403.12443 -8068812.34442 21150179.826 21150181.074 21150178.923
+ 2101.945 1637.879 56.000 49.000
+ -19380560.37643 -15033875.58142 21657353.500 21657354.933 21657351.989
+ -1138.657 -887.265 55.000 48.000
+ -1767346.76043 -1330708.20342 24947500.880 24947501.947 24947497.786
+ 3253.098 2534.882 44.000 35.000
+ -15380678.85443 -11974845.54542 21896539.346 21896541.641 21896537.302
+ 533.311 415.567 54.000 47.000
+ -7215650.17743 -5619354.01742 24044681.203 24044684.145 24044682.143
+ -3427.483 -2670.766 46.000 39.000
+ -5453840.22743 -4222135.05542 24402107.906 24402111.004 24402107.987
+ -858.408 -668.889 46.000 40.000
+ -6817723.75843 -5265390.76342 23319753.606 23319757.403 23319752.329
+ 1355.706 1056.394 47.000 42.000
+ -15296378.91243 -11872698.50142 22035485.082 22035486.842 22035483.956
+ 642.289 500.485 53.000 46.000
+ -17599638.07943 -13702662.08242 21788211.425 21788214.415 21788211.150
+ -1920.916 -1496.818 54.000 47.000
+ -14539357.18943 -11271433.09642 22504538.469 22504541.350 22504537.007
+ 3185.138 2481.926 51.000 45.000
+ 04 2 1 19 34 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24571376.14643 -19087684.09142 20129927.640 20129929.115 20129926.347
+ -579.922 -451.887 55.000 51.000
+ -10424234.60243 -8117771.91942 21138223.960 21138224.367 21138222.892
+ 2086.941 1626.188 56.000 49.000
+ -19346379.11243 -15007240.82342 21663858.274 21663859.209 21663856.935
+ -1139.963 -888.283 55.000 48.000
+ -1864962.47943 -1406772.39742 24928923.487 24928926.740 24928923.402
+ 3254.821 2536.224 44.000 36.000
+ -15396622.22043 -11987268.93642 21893505.046 21893507.566 21893503.371
+ 529.839 412.861 53.000 47.000
+ -7112845.19843 -5539246.25442 24064244.305 24064246.050 24064243.622
+ -3425.784 -2669.442 46.000 39.000
+ -5427868.63943 -4201897.44542 24407050.384 24407053.923 24407049.792
+ -872.949 -680.220 46.000 40.000
+ -6858114.37243 -5296863.95542 23312068.485 23312070.510 23312066.275
+ 1337.153 1041.937 47.000 42.000
+ -15315364.91843 -11887492.79242 22031871.878 22031874.118 22031870.740
+ 623.525 485.864 52.000 46.000
+ -17541828.11643 -13657615.36042 21799212.438 21799215.789 21799212.047
+ -1932.936 -1506.184 54.000 48.000
+ -14634753.16743 -11345767.60742 22486385.085 22486388.140 22486383.552
+ 3174.717 2473.805 51.000 45.000
+ 04 2 1 19 35 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24553716.04643 -19073922.96542 20133287.924 20133289.723 20133286.788
+ -597.799 -465.817 55.000 51.000
+ -10486626.53643 -8166388.98842 21126350.508 21126351.876 21126349.981
+ 2072.169 1614.677 56.000 49.000
+ -19312172.96743 -14980586.67642 21670367.339 21670368.351 21670366.350
+ -1140.893 -889.007 55.000 48.000
+ -1962641.68643 -1482886.08642 24910335.145 24910335.816 24910334.094
+ 3256.939 2537.875 43.000 36.000
+ -15412474.33043 -11999621.21542 21890488.084 21890491.400 21890486.450
+ 526.564 410.310 53.000 47.000
+ -7010096.76343 -5459182.53542 24083796.758 24083799.578 24083796.945
+ -3424.191 -2668.201 46.000 39.000
+ -5401464.19143 -4181322.54742 24412075.445 24412077.424 24412075.017
+ -887.550 -691.597 46.000 40.000
+ -6897962.47943 -5327914.44542 23304485.619 23304488.361 23304484.359
+ 1318.839 1027.667 48.000 42.000
+ -15333798.61343 -11901856.71642 22028364.846 22028365.936 22028362.543
+ 604.930 471.374 53.000 46.000
+ -17483671.33043 -13612298.39142 21810279.448 21810282.340 21810278.577
+ -1944.581 -1515.258 54.000 48.000
+ -14729851.77543 -11419870.41542 22468288.084 22468291.289 22468287.571
+ 3164.741 2466.032 51.000 45.000
+ 04 2 1 19 35 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24535516.49843 -19059741.49042 20136751.606 20136753.206 20136750.285
+ -615.305 -479.458 55.000 51.000
+ -10548571.38343 -8214657.68542 21114563.077 21114563.708 21114562.082
+ 2057.685 1603.391 56.000 49.000
+ -19277935.93043 -14953908.46242 21676882.311 21676883.812 21676880.881
+ -1141.346 -889.360 54.000 48.000
+ -2060376.24943 -1559042.88442 24891737.216 24891738.743 24891736.965
+ 3259.013 2539.491 44.000 37.000
+ -15428229.81343 -12011898.20742 21887490.098 21887493.335 21887488.786
+ 523.941 408.266 53.000 47.000
+ -6907400.94543 -5379159.83742 24103337.490 24103340.812 24103336.925
+ -3421.918 -2666.430 44.000 39.000
+ -5374620.42843 -4160405.31842 24417184.142 24417187.122 24417183.101
+ -901.817 -702.714 47.000 40.000
+ -6937260.93743 -5358536.59542 23297006.656 23297010.814 23297006.001
+ 1300.994 1013.761 48.000 42.000
+ -15351673.33343 -11915785.06342 22024962.073 22024964.441 22024961.561
+ 586.891 457.318 52.000 46.000
+ -17425161.75043 -13566706.52142 21821413.878 21821416.287 21821412.923
+ -1955.878 -1524.061 54.000 48.000
+ -14824644.60843 -11493734.94942 22450249.566 22450253.302 22450248.321
+ 3154.920 2458.379 51.000 45.000
+ 04 2 1 19 36 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24516781.59043 -19045142.85642 20140316.506 20140318.189 20140315.330
+ -633.176 -493.384 55.000 51.000
+ -10610070.19643 -8262578.82142 21102860.335 21102861.011 21102859.169
+ 2042.724 1591.733 56.000 49.000
+ -19243670.93543 -14927208.46142 21683402.765 21683404.068 21683401.514
+ -1142.378 -890.165 55.000 48.000
+ -2158166.87143 -1635243.33342 24873128.847 24873130.843 24873127.468
+ 3260.757 2540.850 45.000 38.000
+ -15443891.94443 -12024102.45342 21884509.204 21884512.801 21884508.020
+ 520.663 405.711 53.000 47.000
+ -6804762.84943 -5299182.10342 24122867.678 24122872.875 24122867.880
+ -3419.994 -2664.930 44.000 38.000
+ -5347340.13743 -4139147.94042 24422374.049 24422377.717 24422373.570
+ -916.514 -714.167 46.000 40.000
+ -6976011.18443 -5388731.60442 23289633.220 23289636.010 23289632.256
+ 1282.775 999.565 48.000 42.000
+ -15368991.38943 -11929279.65242 22021668.630 22021669.986 22021666.770
+ 568.207 442.759 53.000 46.000
+ -17366301.86043 -13520841.67642 21832614.226 21832617.240 21832613.287
+ -1967.524 -1533.135 54.000 47.000
+ -14919131.89543 -11567361.40242 22432268.997 22432273.249 22432267.899
+ 3144.720 2450.431 51.000 45.000
+ 04 2 1 19 36 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24497512.21743 -19030127.75242 20143983.244 20143985.020 20143982.180
+ -651.612 -507.750 55.000 51.000
+ -10671121.04743 -8310150.88942 21091242.136 21091243.451 21091241.492
+ 2027.133 1579.584 56.000 50.000
+ -19209377.71343 -14900486.46342 21689929.030 21689930.032 21689927.461
+ -1143.948 -891.388 55.000 48.000
+ -2256011.27743 -1711485.67942 24854510.000 24854510.969 24854509.199
+ 3261.728 2541.606 45.000 38.000
+ -15459460.92243 -12036234.11542 21881546.551 21881549.562 21881544.828
+ 517.069 402.911 53.000 47.000
+ -6702184.10043 -5219250.61442 24142389.371 24142393.451 24142389.083
+ -3418.832 -2664.025 45.000 39.000
+ -5319622.67543 -4117549.91842 24427650.739 24427650.961 24427649.324
+ -931.551 -725.884 47.000 40.000
+ -7014211.63143 -5418498.17342 23282364.009 23282367.831 23282362.768
+ 1263.815 984.791 48.000 42.000
+ -15385751.80843 -11942339.71742 22018478.155 22018480.550 22018477.123
+ 549.067 427.844 53.000 46.000
+ -17307091.53943 -13474703.77542 21843880.720 21843884.461 21843880.140
+ -1979.900 -1542.779 53.000 47.000
+ -15013310.91643 -11640747.63842 22414346.312 22414351.644 22414345.536
+ 3133.779 2441.906 50.000 45.000
+ 04 2 1 19 37 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24477710.95943 -19014698.19142 20147751.300 20147752.889 20147749.896
+ -669.434 -521.637 55.000 51.000
+ -10731724.18043 -8357374.09742 21079710.696 21079711.088 21079709.594
+ 2012.085 1567.858 56.000 50.000
+ -19175057.77843 -14873743.65442 21696459.764 21696460.925 21696458.156
+ -1145.000 -892.208 55.000 48.000
+ -2353909.02943 -1787769.62442 24835880.085 24835881.725 24835879.274
+ 3263.697 2543.141 45.000 38.000
+ -15474939.16343 -12048295.06842 21878601.423 21878604.057 21878599.830
+ 513.942 400.474 53.000 47.000
+ -6599668.44843 -5139368.31842 24161897.319 24161900.604 24161896.028
+ -3417.062 -2662.646 45.000 39.000
+ -5291469.64343 -4095612.49042 24433005.729 24433009.954 24433004.800
+ -946.204 -737.302 47.000 40.000
+ -7051863.02143 -5447836.91542 23275197.818 23275201.606 23275196.956
+ 1245.350 970.403 47.000 41.000
+ -15401955.99143 -11954966.35142 22015394.564 22015396.718 22015393.382
+ 530.362 413.269 53.000 46.000
+ -17247532.35143 -13428294.02542 21855214.872 21855218.192 21855214.063
+ -1991.525 -1551.838 53.000 47.000
+ -15107180.97843 -11713893.13242 22396485.038 22396488.460 22396482.929
+ 3123.265 2433.713 51.000 45.000
+ 04 2 1 19 37 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24457381.30343 -18998856.89242 20151619.740 20151621.641 20151618.441
+ -686.591 -535.006 55.000 51.000
+ -10791879.93743 -8404248.69842 21068263.111 21068263.900 21068262.257
+ 1997.622 1556.589 56.000 50.000
+ -19140713.65543 -14846981.99742 21702994.789 21702996.317 21702993.745
+ -1145.237 -892.392 55.000 48.000
+ -2451860.56543 -1864095.52442 24817238.123 24817243.275 24817238.772
+ 3265.720 2544.717 44.000 38.000
+ -15490329.36543 -12060287.42642 21875672.376 21875676.129 21875671.395
+ 511.449 398.532 53.000 47.000
+ -6497220.38443 -5059538.67842 24181393.371 24181396.903 24181393.544
+ -3414.051 -2660.299 46.000 39.000
+ -5262882.96243 -4073337.15042 24438446.778 24438450.101 24438445.459
+ -959.952 -748.014 47.000 40.000
+ -7088966.32943 -5476748.58142 23268137.154 23268142.815 23268135.849
+ 1227.415 956.427 47.000 42.000
+ -15417605.67643 -11967160.90742 22012416.978 22012418.632 22012415.734
+ 512.262 399.165 53.000 46.000
+ -17187626.67543 -13381614.28042 21866614.331 21866617.754 21866613.533
+ -2002.825 -1560.643 53.000 47.000
+ -15200741.76943 -11786797.63142 22378680.754 22378684.716 22378679.526
+ 3113.331 2425.972 51.000 45.000
+ 04 2 1 19 38 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24436523.03543 -18982603.68542 20155589.138 20155590.754 20155587.855
+ -704.900 -549.273 55.000 51.000
+ -10851586.00143 -8450772.87942 21056901.318 21056902.394 21056900.436
+ 1981.805 1544.264 56.000 50.000
+ -19106344.38243 -14820200.73442 21709536.180 21709535.913 21709534.423
+ -1146.992 -893.760 55.000 48.000
+ -2549862.57243 -1940460.69342 24798589.365 24798593.964 24798588.230
+ 3266.691 2545.474 44.000 39.000
+ -15505631.18743 -12072210.91242 21872760.569 21872763.866 21872759.488
+ 507.694 395.606 53.000 47.000
+ -6394840.71743 -4979762.30842 24200877.310 24200879.062 24200876.369
+ -3412.474 -2659.071 47.000 39.000
+ -5233861.44143 -4050722.94842 24443969.376 24443972.318 24443968.776
+ -975.200 -759.896 47.000 40.000
+ -7125519.37443 -5505231.47142 23261180.634 23261185.678 23261179.183
+ 1208.404 941.614 46.000 41.000
+ -15432699.40543 -11978922.26042 22009544.084 22009546.596 22009543.217
+ 492.894 384.073 53.000 46.000
+ -17127373.50943 -13334663.76242 21878080.716 21878083.484 21878080.051
+ -2015.243 -1570.319 54.000 47.000
+ -15293989.83743 -11859458.43642 22360936.072 22360939.164 22360934.186
+ 3102.059 2417.189 51.000 45.000
+ 04 2 1 19 38 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24415139.70143 -18965941.34042 20159658.252 20159660.036 20159656.861
+ -721.241 -562.006 55.000 51.000
+ -10910842.48643 -8496946.74742 21045625.491 21045626.104 21045624.324
+ 1968.003 1533.509 56.000 50.000
+ -19071952.25943 -14793401.67742 21716080.382 21716081.110 21716078.622
+ -1146.327 -893.242 55.000 48.000
+ -2647914.88043 -2016865.07342 24779930.601 24779935.471 24779930.744
+ 3269.874 2547.954 44.000 39.000
+ -15520847.03643 -12084067.40642 21869865.671 21869868.785 21869864.364
+ 506.027 394.307 53.000 47.000
+ -6292533.59343 -4900042.46542 24220345.615 24220346.613 24220343.970
+ -3408.726 -2656.150 47.000 39.000
+ -5204406.84943 -4027771.31442 24449572.611 24449576.302 24449572.976
+ -988.540 -770.291 45.000 40.000
+ -7161522.96843 -5533286.23942 23254331.783 23254335.276 23254329.909
+ 1191.408 928.370 47.000 42.000
+ -15447238.69343 -11990251.57842 22006777.275 22006779.105 22006776.486
+ 475.760 370.722 53.000 46.000
+ -17066774.77943 -13287443.97842 21889611.782 21889615.068 21889611.249
+ -2025.270 -1578.132 53.000 47.000
+ -15386924.71043 -11931875.20442 22343251.712 22343254.307 22343249.703
+ 3092.987 2410.120 51.000 45.000
+ 04 2 1 19 39 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24393226.52543 -18948866.12942 20163828.188 20163829.994 20163826.876
+ -739.535 -576.261 56.000 51.000
+ -10969642.27343 -8542764.74342 21034435.557 21034436.655 21034435.044
+ 1952.117 1521.130 56.000 50.000
+ -19037532.07643 -14766580.74442 21722630.159 21722630.514 21722628.696
+ -1147.971 -894.523 55.000 47.000
+ -2746009.80643 -2093302.67342 24761265.324 24761266.618 24761264.769
+ 3270.498 2548.440 45.000 38.000
+ -15535971.98443 -12095853.07442 21866987.798 21866990.404 21866986.334
+ 502.322 391.420 53.000 47.000
+ -6190295.35543 -4820376.29842 24239801.190 24239801.279 24239799.977
+ -3406.995 -2654.801 47.000 39.000
+ -5174513.54543 -4004477.81142 24455261.360 24455265.696 24455261.317
+ -1003.560 -781.995 46.000 40.000
+ -7196970.53443 -5560907.68442 23247584.299 23247587.993 23247584.413
+ 1172.135 913.352 46.000 41.000
+ -15461217.61243 -12001144.23342 22004117.591 22004118.993 22004116.848
+ 456.335 355.586 53.000 46.000
+ -17005824.93943 -13239950.59542 21901210.958 21901214.072 21901209.781
+ -2037.765 -1587.869 54.000 47.000
+ -15479538.33843 -12004041.64842 22325627.888 22325631.104 22325626.217
+ 3081.529 2401.191 52.000 45.000
+ 04 2 1 19 39 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24370791.34243 -18931384.15742 20168097.407 20168099.078 20168096.367
+ -756.113 -589.179 55.000 51.000
+ -11027990.29343 -8588230.71742 21023332.217 21023333.629 21023331.673
+ 1937.812 1509.983 56.000 50.000
+ -19003089.89343 -14739742.67542 21729183.878 21729184.974 21729182.786
+ -1148.127 -894.644 55.000 47.000
+ -2844151.78843 -2169776.97042 24742588.240 24742592.053 24742588.012
+ 3272.415 2549.934 45.000 38.000
+ -15551013.05243 -12107573.37642 21864125.121 21864128.482 21864123.976
+ 500.398 389.921 53.000 47.000
+ -6088134.53843 -4740770.49742 24259238.934 24259242.277 24259238.855
+ -3403.854 -2652.354 45.000 38.000
+ -5144187.86243 -3980847.41842 24461031.148 24461035.490 24461030.372
+ -1017.418 -792.793 45.000 39.000
+ -7231867.34143 -5588100.03742 23240945.145 23240949.075 23240944.735
+ 1154.379 899.516 48.000 42.000
+ -15474642.09543 -12011604.88242 22001562.805 22001565.273 22001561.545
+ 438.591 341.759 53.000 46.000
+ -16944530.49043 -13192188.68642 21912874.401 21912877.410 21912872.892
+ -2048.508 -1596.240 53.000 47.000
+ -15571834.72243 -12075960.89242 22308063.840 22308068.070 22308063.131
+ 3071.656 2393.498 51.000 45.000
+ 04 2 1 19 40 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24347830.15143 -18913492.31242 20172466.806 20172468.530 20172465.631
+ -773.954 -603.081 56.000 51.000
+ -11085879.94143 -8633339.51542 21012316.158 21012317.462 21012315.454
+ 1922.150 1497.779 56.000 50.000
+ -18968619.65643 -14712882.74542 21735743.256 21735744.007 21735742.236
+ -1149.387 -895.626 55.000 47.000
+ -2942333.59543 -2246282.24842 24723905.581 24723908.593 24723903.961
+ 3273.406 2550.706 43.000 39.000
+ -15565965.57743 -12119224.68942 21861279.818 21861283.157 21861278.428
+ 497.055 387.316 54.000 47.000
+ -5986047.98443 -4661222.53242 24278664.104 24278667.840 24278664.367
+ -3401.279 -2650.347 44.000 38.000
+ -5113424.33643 -3956875.86542 24466887.922 24466890.390 24466887.202
+ -1032.893 -804.852 46.000 39.000
+ -7266207.32943 -5614858.43342 23234411.527 23234413.112 23234409.651
+ 1135.500 884.805 48.000 42.000
+ -15487506.64243 -12021629.20542 21999115.507 21999116.959 21999114.131
+ 419.663 327.010 53.000 46.000
+ -16882886.34743 -13144154.30642 21924605.264 21924607.628 21924603.706
+ -2060.480 -1605.569 53.000 47.000
+ -15663806.28943 -12147627.02142 22290561.521 22290565.061 22290560.818
+ 3060.590 2384.875 51.000 45.000
+ 04 2 1 19 40 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24324336.98943 -18895185.94042 20176937.170 20176938.993 20176935.992
+ -791.343 -616.631 55.000 51.000
+ -11143302.51043 -8678084.35242 21001389.475 21001390.278 21001388.695
+ 1906.851 1485.858 56.000 50.000
+ -18934115.20043 -14685996.14642 21742309.496 21742310.576 21742308.049
+ -1150.248 -896.297 55.000 47.000
+ -3040545.94843 -2322811.30742 24705218.762 24705220.721 24705216.124
+ 3274.893 2551.865 44.000 39.000
+ -15580823.02943 -12130801.91342 21858452.798 21858455.778 21858451.125
+ 494.244 385.125 54.000 47.000
+ -5884030.49243 -4581728.39342 24298077.072 24298083.614 24298076.205
+ -3398.938 -2648.523 44.000 38.000
+ -5082216.07343 -3932557.73142 24472824.521 24472828.859 24472825.050
+ -1046.790 -815.680 45.000 39.000
+ -7299982.29743 -5641176.63242 23227981.367 23227987.334 23227980.758
+ 1116.937 870.341 47.000 42.000
+ -15499804.06743 -12031211.61442 21996774.849 21996777.117 21996773.439
+ 400.946 312.425 53.000 46.000
+ -16820885.54643 -13095842.00442 21936403.279 21936406.172 21936401.923
+ -2072.105 -1614.627 53.000 47.000
+ -15755443.65343 -12219032.72842 22273124.220 22273127.641 22273123.416
+ 3049.427 2376.177 51.000 45.000
+ 04 2 1 19 41 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24300335.62543 -18876483.57242 20181504.560 20181506.187 20181503.303
+ -809.232 -630.570 55.000 51.000
+ -11200279.36744 -8722481.88542 20990547.137 20990547.920 20990546.463
+ 1890.918 1473.443 57.000 50.000
+ -18899599.17143 -14659100.53542 21748877.810 21748878.895 21748876.394
+ -1151.627 -897.372 55.000 47.000
+ -3138809.04343 -2399379.94142 24686519.673 24686521.002 24686518.340
+ 3275.320 2552.197 45.000 38.000
+ -15595608.44643 -12142323.01242 21855639.217 21855641.962 21855637.574
+ 490.797 382.439 54.000 47.000
+ -5782106.90543 -4502307.42442 24317475.302 24317478.737 24317473.085
+ -3396.859 -2646.903 44.000 38.000
+ -5050585.44543 -3907910.45142 24478844.891 24478849.012 24478843.202
+ -1061.696 -827.295 45.000 40.000
+ -7333213.92843 -5667071.39642 23221660.054 23221662.540 23221658.488
+ 1097.864 855.478 48.000 42.000
+ -15511556.66843 -12040369.49042 21994538.875 21994540.445 21994537.336
+ 381.966 297.636 53.000 46.000
+ -16758550.85043 -13047269.51342 21948264.896 21948268.086 21948263.929
+ -2084.290 -1624.122 53.000 47.000
+ -15846766.93143 -12290193.71242 22255745.845 22255749.303 22255744.587
+ 3038.151 2367.390 51.000 45.000
+ 04 2 1 19 41 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24275819.00243 -18857379.69642 20186169.605 20186171.613 20186168.575
+ -825.773 -643.459 55.000 51.000
+ -11256800.26743 -8766524.12642 20979791.103 20979792.341 20979790.552
+ 1876.449 1462.168 56.000 50.000
+ -18865063.21243 -14632189.40142 21755449.480 21755450.649 21755447.921
+ -1151.495 -897.269 55.000 47.000
+ -3237112.02343 -2475979.63542 24667812.754 24667813.901 24667810.299
+ 3277.518 2553.910 43.000 38.000
+ -15610313.68243 -12153781.62142 21852840.647 21852843.121 21852838.900
+ 488.897 380.959 54.000 47.000
+ -5680270.42243 -4422954.32042 24336854.758 24336857.697 24336852.489
+ -3393.056 -2643.940 45.000 38.000
+ -5018523.77443 -3882927.34142 24484945.649 24484949.605 24484945.411
+ -1075.549 -838.090 46.000 40.000
+ -7365892.47343 -5692535.19142 23215441.263 23215443.277 23215439.340
+ 1079.995 841.555 48.000 42.000
+ -15522755.49643 -12049095.84442 21992406.793 21992409.745 21992406.000
+ 364.092 283.708 53.000 46.000
+ -16695873.43243 -12998429.97142 21960192.294 21960195.392 21960191.424
+ -2094.993 -1632.462 53.000 47.000
+ -15937765.19643 -12361101.43542 22238429.521 22238433.232 22238428.686
+ 3027.873 2359.382 51.000 45.000
+ 04 2 1 19 42 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24250786.10743 -18837873.54142 20190933.654 20190935.191 20190932.291
+ -842.973 -656.862 55.000 51.000
+ -11312861.32743 -8810208.05842 20969123.439 20969123.847 20969122.640
+ 1861.191 1450.279 56.000 50.000
+ -18830504.34443 -14605260.41242 21762025.872 21762027.070 21762024.541
+ -1152.197 -897.816 55.000 47.000
+ -3335450.57843 -2552607.05342 24649097.504 24649100.159 24649096.527
+ 3278.640 2554.784 44.000 38.000
+ -15624937.19043 -12165176.54942 21850058.372 21850060.598 21850056.814
+ 486.220 378.873 54.000 47.000
+ -5578520.72443 -4343668.85042 24356218.122 24356219.219 24356217.592
+ -3389.913 -2641.491 45.000 38.000
+ -4986028.76743 -3857606.57742 24491128.638 24491133.688 24491128.817
+ -1090.310 -849.592 46.000 39.000
+ -7398014.57943 -5717565.41742 23209326.175 23209332.250 23209327.317
+ 1061.471 827.120 46.000 41.000
+ -15533398.05443 -12057388.75742 21990382.643 21990384.247 21990381.002
+ 345.641 269.331 53.000 46.000
+ -16632851.23843 -12949321.77342 21972184.598 21972188.147 21972184.125
+ -2106.437 -1641.379 53.000 47.000
+ -16028433.69443 -12431752.19042 22221176.327 22221179.613 22221174.702
+ 3017.021 2350.925 51.000 45.000
+ 04 2 1 19 42 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24225238.86043 -18817966.58642 20195794.739 20195796.868 20195793.777
+ -859.603 -669.820 55.000 51.000
+ -11368461.44443 -8853532.80642 20958542.795 20958544.216 20958542.089
+ 1846.099 1438.519 56.000 50.000
+ -18795922.77543 -14578313.73142 21768606.793 21768607.319 21768604.765
+ -1152.581 -898.115 54.000 47.000
+ -3433822.85943 -2629260.77942 24630377.832 24630381.113 24630375.675
+ 3280.186 2555.989 43.000 38.000
+ -15639479.48243 -12176508.18942 21847290.230 21847292.905 21847289.141
+ 483.985 377.131 54.000 47.000
+ -5476860.16143 -4264452.82942 24375561.384 24375563.222 24375559.329
+ -3386.785 -2639.053 44.000 37.000
+ -4953100.80543 -3831948.44642 24497395.835 24497398.379 24497396.062
+ -1104.316 -860.506 46.000 39.000
+ -7429579.79143 -5742161.70342 23203322.005 23203324.918 23203320.556
+ 1043.523 813.135 48.000 42.000
+ -15543484.33743 -12065248.20142 21988463.164 21988465.346 21988462.314
+ 327.437 255.146 53.000 46.000
+ -16569484.60243 -12899945.18542 21984243.156 21984246.762 21984242.234
+ -2117.400 -1649.922 53.000 47.000
+ -16118770.31443 -12502144.33542 22203985.220 22203988.842 22203984.028
+ 3006.066 2342.389 51.000 45.000
+ 04 2 1 19 43 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24199181.03043 -18797661.77342 20200753.679 20200755.345 20200752.513
+ -877.264 -683.582 56.000 51.000
+ -11423602.33843 -8896499.72042 20948049.829 20948051.190 20948049.173
+ 1830.135 1426.079 56.000 50.000
+ -18761322.00743 -14551352.09542 21775191.089 21775192.089 21775189.468
+ -1153.920 -899.158 54.000 47.000
+ -3532229.88243 -2705941.57442 24611653.067 24611654.351 24611650.553
+ 3280.656 2556.355 43.000 38.000
+ -15653944.36143 -12187779.51342 21844537.757 21844540.508 21844536.352
+ 480.604 374.497 54.000 47.000
+ -5375293.80643 -4185310.22142 24394889.480 24394888.614 24394888.845
+ -3384.157 -2637.005 45.000 37.000
+ -4919742.86043 -3805955.24642 24503743.633 24503746.352 24503741.945
+ -1119.259 -872.150 45.000 39.000
+ -7460590.41143 -5766325.80442 23197419.536 23197423.489 23197419.573
+ 1024.443 798.267 48.000 42.000
+ -15553017.13643 -12072676.36342 21986649.325 21986650.355 21986647.711
+ 308.400 240.312 53.000 46.000
+ -16505776.83543 -12850302.78242 21996366.073 21996369.214 21996365.211
+ -2129.580 -1659.413 53.000 47.000
+ -16208775.96643 -12572278.58742 22186857.747 22186861.200 22186856.427
+ 2994.359 2333.267 51.000 45.000
+ 04 2 1 19 43 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24172611.64543 -18776958.35042 20205809.594 20205811.463 20205808.475
+ -894.391 -696.928 56.000 51.000
+ -11478280.44943 -8939106.01842 20937645.228 20937646.217 20937644.455
+ 1814.536 1413.924 56.000 50.000
+ -18726699.75943 -14524373.71442 21781779.245 21781780.350 21781777.868
+ -1154.696 -899.763 54.000 47.000
+ -3630667.17443 -2782645.92342 24592919.781 24592922.926 24592920.075
+ 3281.581 2557.076 44.000 38.000
+ -15668330.19743 -12198989.24442 21841800.408 21841803.658 21841799.014
+ 477.962 372.438 54.000 47.000
+ -5273821.26843 -4106240.69542 24414198.135 24414202.799 24414197.055
+ -3381.164 -2634.673 44.000 37.000
+ -4885952.80943 -3779625.35742 24510173.968 24510176.525 24510172.894
+ -1133.936 -883.586 46.000 39.000
+ -7491043.30643 -5790055.35242 23191624.558 23191629.223 23191624.290
+ 1005.576 783.566 48.000 42.000
+ -15561994.22543 -12079671.49442 21984940.040 21984943.306 21984939.330
+ 289.715 225.752 53.000 46.000
+ -16441725.85843 -12800392.93342 22008555.389 22008557.993 22008554.272
+ -2140.968 -1668.287 53.000 47.000
+ -16298445.95443 -12642151.28942 22169793.881 22169798.389 22169792.270
+ 2983.150 2324.532 51.000 46.000
+ 04 2 1 19 44 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24145532.99243 -18755858.08942 20210962.463 20210964.282 20210961.283
+ -911.430 -710.205 56.000 51.000
+ -11532495.21144 -8981351.27142 20927328.484 20927329.294 20927327.638
+ 1799.108 1401.902 57.000 50.000
+ -18692056.81443 -14497379.21042 21788370.582 21788372.207 21788369.758
+ -1155.363 -900.283 54.000 47.000
+ -3729133.22143 -2859372.71242 24574181.086 24574183.928 24574180.781
+ 3282.073 2557.459 43.000 38.000
+ -15682638.21043 -12210138.34542 21839077.860 21839080.324 21839076.173
+ 475.373 370.421 54.000 47.000
+ -5172445.35343 -4027246.49042 24433490.019 24433493.535 24433489.598
+ -3377.616 -2631.908 44.000 37.000
+ -4851731.39543 -3752959.31542 24516687.062 24516689.747 24516685.929
+ -1148.442 -894.890 46.000 40.000
+ -7520938.48543 -5813350.28542 23185937.504 23185940.080 23185935.484
+ 986.747 768.894 49.000 42.000
+ -15570416.29943 -12086234.15542 21983337.801 21983339.606 21983337.261
+ 271.150 211.286 53.000 46.000
+ -16377332.84143 -12750216.55242 22020809.137 22020811.925 22020808.132
+ -2152.334 -1677.143 53.000 47.000
+ -16387778.79643 -12711761.27742 22152794.705 22152798.624 22152793.657
+ 2971.834 2315.715 52.000 46.000
+ 04 2 1 19 44 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24117947.32543 -18734362.75542 20216211.840 20216213.712 20216210.888
+ -927.966 -723.090 56.000 51.000
+ -11586246.22044 -9023235.15742 20917100.103 20917100.670 20917099.111
+ 1784.004 1390.133 57.000 50.000
+ -18657393.82943 -14470369.08342 21794967.198 21794968.993 21794966.251
+ -1155.826 -900.644 54.000 47.000
+ -3827626.82043 -2936120.95742 24555440.194 24555442.458 24555438.940
+ 3283.591 2558.642 44.000 38.000
+ -15696870.04543 -12221228.08042 21836369.143 21836372.072 21836367.425
+ 473.094 368.645 53.000 47.000
+ -5071169.17343 -3948330.01242 24452761.092 24452764.752 24452760.815
+ -3373.960 -2629.060 43.000 36.000
+ -4817079.71543 -3725957.98542 24523278.450 24523283.382 24523279.022
+ -1163.287 -906.457 47.000 39.000
+ -7550276.18343 -5836210.81342 23180353.767 23180357.020 23180351.894
+ 968.657 754.798 47.000 42.000
+ -15578284.12643 -12092364.93042 21981840.723 21981842.740 21981839.543
+ 253.061 197.190 53.000 46.000
+ -16312598.83643 -12699774.48542 22033127.345 22033130.902 22033126.353
+ -2163.493 -1685.839 53.000 47.000
+ -16476773.16443 -12781107.52142 22135859.892 22135862.901 22135858.773
+ 2960.840 2307.148 52.000 46.000
+ 04 2 1 19 45 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24089856.54843 -18712473.83042 20221557.488 20221559.177 20221556.306
+ -944.588 -736.042 56.000 51.000
+ -11639532.43343 -9064756.87242 20906959.655 20906960.594 20906958.764
+ 1768.583 1378.117 56.000 50.000
+ -18622711.06843 -14443343.54842 21801567.608 21801568.680 21801566.583
+ -1156.299 -901.012 54.000 47.000
+ -3926146.01643 -3012889.18842 24536692.082 24536694.313 24536690.383
+ 3284.404 2559.276 45.000 38.000
+ -15711026.26443 -12232258.89842 21833675.743 21833678.352 21833673.973
+ 470.737 366.808 53.000 47.000
+ -4969994.84243 -3869492.85742 24472014.814 24472018.216 24472015.016
+ -3370.744 -2626.554 44.000 37.000
+ -4781998.23543 -3698621.79242 24529954.661 24529957.013 24529954.975
+ -1176.192 -916.513 45.000 39.000
+ -7579055.55343 -5858636.29642 23174876.294 23174881.544 23174874.455
+ 950.149 740.376 47.000 42.000
+ -15585598.03343 -12098064.07842 21980448.440 21980451.239 21980448.075
+ 234.706 182.888 53.000 46.000
+ -16247524.31143 -12649067.07342 22045510.643 22045513.589 22045509.493
+ -2174.783 -1694.636 53.000 47.000
+ -16565426.90743 -12850188.33542 22118989.583 22118992.918 22118988.202
+ 2949.555 2298.355 52.000 46.000
+ 04 2 1 19 45 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24061264.14943 -18690194.03242 20226998.363 20227000.120 20226997.406
+ -961.368 -749.118 56.000 51.000
+ -11692354.69344 -9105917.05842 20896908.138 20896909.236 20896907.404
+ 1753.108 1366.058 57.000 50.000
+ -18588010.94943 -14416304.49042 21808170.138 21808171.519 21808169.396
+ -1156.955 -901.523 54.000 47.000
+ -4024690.42943 -3089677.04642 24517940.968 24517942.463 24517937.777
+ 3285.143 2559.852 45.000 39.000
+ -15725109.58643 -12243232.90742 21830995.711 21830998.148 21830994.356
+ 468.307 364.914 54.000 47.000
+ -4868926.27743 -3790738.12842 24491247.478 24491250.242 24491247.035
+ -3367.125 -2623.734 44.000 37.000
+ -4746489.02043 -3670952.26842 24536712.209 24536717.674 24536713.437
+ -1190.427 -927.605 45.000 39.000
+ -7607278.20343 -5880627.98242 23169507.580 23169510.249 23169505.509
+ 931.335 725.716 48.000 42.000
+ -15592360.08743 -12103333.21742 21979162.267 21979164.149 21979160.888
+ 216.211 168.476 53.000 46.000
+ -16182111.63543 -12598096.15142 22057957.329 22057960.583 22057956.530
+ -2185.927 -1703.320 52.000 46.000
+ -16653739.93943 -12919003.66842 22102183.796 22102187.514 22102182.486
+ 2938.116 2289.441 52.000 46.000
+ 04 2 1 19 46 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24032166.48843 -18667520.51942 20232535.271 20232537.070 20232534.261
+ -978.340 -762.343 56.000 51.000
+ -11744706.69644 -9146710.81242 20886945.964 20886946.653 20886945.207
+ 1737.125 1353.604 57.000 50.000
+ -18553287.77243 -14389247.46142 21814777.965 21814779.521 21814776.549
+ -1157.787 -902.172 54.000 47.000
+ -4123253.06443 -3166479.08242 24499182.354 24499187.878 24499182.494
+ 3285.762 2560.334 44.000 39.000
+ -15739115.38743 -12254146.50642 21828331.016 21828333.304 21828329.021
+ 465.527 362.748 54.000 47.000
+ -4767960.55443 -3712063.55542 24510460.446 24510462.520 24510460.090
+ -3363.757 -2621.109 44.000 37.000
+ -4710547.25443 -3642945.73242 24543552.221 24543555.042 24543551.197
+ -1204.962 -938.931 45.000 39.000
+ -7634938.46943 -5902181.44842 23164242.005 23164247.194 23164242.652
+ 912.428 710.983 47.000 42.000
+ -15598565.09743 -12108168.29042 21977981.468 21977983.423 21977979.824
+ 197.546 153.932 53.000 46.000
+ -16116355.96843 -12546857.97942 22070471.116 22070474.115 22070469.775
+ -2197.627 -1712.437 52.000 47.000
+ -16741704.96343 -12987547.82242 22085444.699 22085448.542 22085443.428
+ 2926.265 2280.206 52.000 46.000
+ 04 2 1 19 46 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24002571.43943 -18644459.43342 20238167.063 20238168.574 20238165.825
+ -994.715 -775.102 56.000 51.000
+ -11796593.36743 -9187141.97142 20877071.771 20877073.043 20877070.989
+ 1721.848 1341.700 56.000 50.000
+ -18518547.91143 -14362177.44542 21821388.489 21821389.650 21821387.586
+ -1158.123 -902.433 54.000 47.000
+ -4221837.79143 -3243298.33342 24480421.542 24480426.591 24480421.567
+ 3286.799 2561.142 43.000 38.000
+ -15753050.57443 -12265005.08642 21825678.810 21825681.667 21825677.232
+ 463.385 361.079 54.000 47.000
+ -4667105.81243 -3633475.43842 24529650.306 24529656.268 24529651.345
+ -3359.644 -2617.904 43.000 37.000
+ -4674179.30243 -3614607.06342 24550472.148 24550476.403 24550471.696
+ -1219.293 -950.098 44.000 39.000
+ -7662041.78743 -5923300.90542 23159085.716 23159088.794 23159084.165
+ 894.280 696.842 49.000 42.000
+ -15604219.45043 -12112574.29042 21976905.345 21976907.128 21976904.356
+ 179.494 139.865 53.000 46.000
+ -16050263.86643 -12495357.65442 22083047.460 22083050.743 22083046.442
+ -2208.616 -1720.999 52.000 47.000
+ -16829326.07843 -13055824.00542 22068770.941 22068774.587 22068769.930
+ 2915.089 2271.498 52.000 46.000
+ 04 2 1 19 47 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23972480.72243 -18621012.11742 20243893.186 20243894.680 20243892.018
+ -1011.073 -787.849 56.000 51.000
+ -11848013.67044 -9227209.72742 20867287.570 20867287.951 20867286.430
+ 1706.349 1329.623 57.000 50.000
+ -18483791.47743 -14335094.50042 21828003.334 21828003.777 21828001.701
+ -1158.626 -902.825 55.000 47.000
+ -4320442.45443 -3320133.12942 24461657.711 24461662.914 24461657.228
+ 3287.261 2561.502 45.000 38.000
+ -15766915.52843 -12275808.94542 21823040.506 21823043.009 21823038.621
+ 461.109 359.306 54.000 47.000
+ -4566364.08143 -3554975.38542 24548821.853 24548827.171 24548820.847
+ -3356.313 -2615.309 43.000 37.000
+ -4637385.60843 -3585936.66042 24557474.707 24557478.601 24557474.100
+ -1233.143 -960.891 44.000 39.000
+ -7688587.65043 -5943986.00142 23154032.315 23154036.691 23154032.013
+ 875.606 682.290 46.000 42.000
+ -15609323.41243 -12116551.41042 21975934.019 21975936.011 21975932.908
+ 161.136 125.561 52.000 46.000
+ -15983835.75143 -12443595.49242 22095688.694 22095691.506 22095687.448
+ -2219.814 -1729.725 53.000 46.000
+ -16916601.08243 -13123830.48642 22052162.903 22052166.937 22052161.622
+ 2903.614 2262.556 52.000 46.000
+ 04 2 1 19 47 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23941892.40343 -18597177.05142 20249713.971 20249715.684 20249712.764
+ -1028.061 -801.086 56.000 51.000
+ -11898963.01243 -9266910.49542 20857591.804 20857592.363 20857591.138
+ 1690.201 1317.040 56.000 50.000
+ -18449014.95143 -14307995.89942 21834621.463 21834622.177 21834619.567
+ -1159.742 -903.695 55.000 47.000
+ -4419062.01943 -3396979.53442 24442891.813 24442895.556 24442890.524
+ 3287.400 2561.610 44.000 38.000
+ -15780707.87243 -12286556.21942 21820415.167 21820418.899 21820414.475
+ 458.384 357.182 54.000 47.000
+ -4465734.11143 -3476562.43042 24567970.998 24567977.364 24567972.842
+ -3352.626 -2612.436 42.000 35.000
+ -4600163.09643 -3556932.09842 24564559.348 24564560.130 24564557.855
+ -1247.658 -972.201 45.000 38.000
+ -7714572.17143 -5964233.64942 23149088.584 23149093.147 23149088.197
+ 856.595 667.477 48.000 41.000
+ -15613873.75943 -12120097.13342 21975068.312 21975069.467 21975067.141
+ 142.274 110.863 53.000 46.000
+ -15917068.56443 -12391569.10442 22108394.239 22108396.763 22108393.022
+ -2231.412 -1738.762 53.000 46.000
+ -17003524.60843 -13191563.09242 22035621.733 22035625.348 22035620.572
+ 2891.308 2252.967 52.000 46.000
+ 04 2 1 19 48 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23910810.77343 -18572957.59442 20255628.455 20255630.126 20255627.531
+ -1044.522 -813.913 56.000 51.000
+ -11949443.13243 -9306245.63742 20847985.915 20847986.701 20847985.189
+ 1674.556 1304.849 56.000 50.000
+ -18414221.21743 -14280883.89942 21841241.815 21841243.568 21841240.634
+ -1160.308 -904.136 54.000 47.000
+ -4517696.79043 -3473837.78342 24424122.597 24424126.452 24424122.102
+ 3287.865 2561.973 45.000 39.000
+ -15794430.81843 -12297249.41042 21817803.816 21817806.559 21817802.657
+ 455.991 355.318 54.000 47.000
+ -4365220.68943 -3398240.27942 24587099.431 24587103.174 24587100.291
+ -3348.833 -2609.480 42.000 37.000
+ -4562514.75143 -3527595.74942 24571720.431 24571725.462 24571719.600
+ -1262.210 -983.540 43.000 38.000
+ -7739997.64343 -5984045.71742 23144250.558 23144253.428 23144249.891
+ 837.815 652.843 47.000 42.000
+ -15617873.49743 -12123213.81042 21974306.719 21974308.780 21974305.525
+ 123.859 96.513 53.000 46.000
+ -15849965.48943 -12339280.99842 22121163.715 22121166.232 22121162.168
+ -2242.628 -1747.502 53.000 47.000
+ -17090097.15343 -13259022.20842 22019147.379 22019151.572 22019146.570
+ 2879.646 2243.880 52.000 46.000
+ 04 2 1 19 48 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23879237.42743 -18548354.97842 20261636.690 20261638.517 20261635.508
+ -1060.194 -826.125 56.000 51.000
+ -11999453.10943 -9345214.43842 20838469.310 20838470.190 20838468.150
+ 1659.482 1293.103 56.000 50.000
+ -18379410.57043 -14253758.71142 21847866.065 21847867.015 21847865.171
+ -1160.215 -904.064 55.000 47.000
+ -4616344.63843 -3550706.24642 24405351.130 24405354.011 24405350.501
+ 3288.901 2562.780 44.000 38.000
+ -15808084.98143 -12307889.02342 21815205.714 21815209.022 21815204.590
+ 454.363 354.049 54.000 47.000
+ -4264825.72043 -3320010.45442 24606203.872 24606205.769 24606202.559
+ -3344.714 -2606.271 43.000 36.000
+ -4524441.17343 -3497928.02942 24578965.894 24578970.490 24578966.377
+ -1275.820 -994.145 42.000 37.000
+ -7764863.67143 -6003421.85342 23139518.820 23139522.499 23139517.387
+ 819.910 638.891 47.000 42.000
+ -15621322.97343 -12125901.71942 21973650.372 21973651.786 21973649.777
+ 106.140 82.706 52.000 46.000
+ -15782527.15943 -12286731.66542 22133996.144 22133999.427 22133995.410
+ -2253.078 -1755.645 52.000 47.000
+ -17176316.75343 -13326206.30142 22002740.504 22002744.372 22002739.328
+ 2868.400 2235.117 52.000 46.000
+ 04 2 1 19 49 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23847173.97243 -18523370.45742 20267738.318 20267740.091 20267736.978
+ -1076.920 -839.158 56.000 51.000
+ -12048991.41943 -9383815.69742 20829042.315 20829043.241 20829041.266
+ 1643.336 1280.522 56.000 50.000
+ -18344582.54843 -14226619.98742 21854493.306 21854494.876 21854491.923
+ -1161.179 -904.815 55.000 47.000
+ -4715002.95543 -3627582.84742 24386575.964 24386580.051 24386575.618
+ 3288.936 2562.807 44.000 39.000
+ -15821670.41843 -12318475.06442 21812619.815 21812623.429 21812619.134
+ 451.712 351.983 54.000 47.000
+ -4164551.00643 -3241874.31442 24625286.456 24625288.095 24625284.910
+ -3340.085 -2602.664 44.000 36.000
+ -4485942.09243 -3467928.77542 24586292.922 24586295.881 24586292.464
+ -1290.279 -1005.412 43.000 37.000
+ -7789169.36643 -6022361.35042 23134893.554 23134897.256 23134892.606
+ 800.756 623.966 47.000 42.000
+ -15624221.74943 -12128160.50542 21973098.748 21973100.638 21973097.260
+ 87.435 68.131 52.000 46.000
+ -15714753.41743 -12233920.97542 22146893.054 22146896.140 22146892.875
+ -2264.675 -1764.682 52.000 46.000
+ -17262180.92643 -13393113.43042 21986401.656 21986404.387 21986399.982
+ 2856.278 2225.671 52.000 46.000
+ 04 2 1 19 49 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23814624.39043 -18498007.13842 20273932.169 20273933.894 20273931.157
+ -1092.590 -851.369 56.000 51.000
+ -12098059.40443 -9422050.47842 20819704.644 20819705.727 20819703.691
+ 1628.215 1268.739 56.000 50.000
+ -18309739.12343 -14199469.26442 21861123.946 21861125.385 21861122.429
+ -1161.264 -904.881 55.000 47.000
+ -4813671.79443 -3704467.67442 24367800.846 24367802.583 24367799.638
+ 3289.747 2563.439 45.000 38.000
+ -15835189.98443 -12329009.78342 21810047.316 21810050.630 21810045.865
+ 450.013 350.659 54.000 47.000
+ -4064400.64943 -3163835.06842 24644343.725 24644345.911 24644343.259
+ -3336.005 -2599.484 42.000 36.000
+ -4447020.28543 -3437600.13842 24593700.768 24593702.935 24593699.027
+ -1303.645 -1015.827 43.000 37.000
+ -7812916.64743 -6040865.72742 23130374.980 23130377.569 23130372.695
+ 782.728 609.918 48.000 42.000
+ -15626572.69743 -12129992.42642 21972650.425 21972652.702 21972649.077
+ 69.703 54.314 52.000 46.000
+ -15646646.99643 -12180851.03442 22159853.641 22159856.986 22159851.703
+ -2275.137 -1772.834 52.000 46.000
+ -17347689.85343 -13459743.74942 21970129.639 21970133.045 21970128.524
+ 2844.891 2216.798 52.000 46.000
+ 04 2 1 19 50 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23781590.49543 -18472266.43142 20280218.349 20280219.848 20280217.175
+ -1109.369 -864.443 56.000 51.000
+ -12146656.24443 -9459918.13042 20810457.292 20810457.983 20810456.386
+ 1611.846 1255.984 56.000 50.000
+ -18274881.33043 -14172307.34242 21867757.413 21867758.385 21867756.023
+ -1162.300 -905.688 55.000 47.000
+ -4912349.26643 -3781359.19542 24349023.626 24349026.580 24349022.822
+ 3289.270 2563.068 46.000 39.000
+ -15848644.55343 -12339493.85242 21807487.350 21807491.216 21807485.488
+ 447.164 348.439 54.000 47.000
+ -3964377.13443 -3085894.67542 24663377.244 24663380.806 24663377.015
+ -3331.931 -2596.310 41.000 36.000
+ -4407676.54743 -3406942.65642 24601187.878 24601190.268 24601187.051
+ -1319.132 -1027.895 43.000 37.000
+ -7836105.31243 -6058934.82142 23125962.996 23125966.425 23125960.874
+ 763.623 595.031 48.000 42.000
+ -15628376.38043 -12131397.90142 21972308.327 21972310.336 21972307.239
+ 50.862 39.633 53.000 46.000
+ -15578208.82943 -12127522.59442 22172876.790 22172879.911 22172876.029
+ -2286.890 -1781.992 53.000 46.000
+ -17432841.86743 -13526095.94442 21953925.884 21953929.546 21953924.339
+ 2832.179 2206.893 52.000 46.000
+ 04 2 1 19 50 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23748070.19443 -18446146.70642 20286597.083 20286598.729 20286595.708
+ -1125.455 -876.978 56.000 51.000
+ -12194777.24344 -9497414.99842 20801300.253 20801300.989 20801299.495
+ 1596.035 1243.664 57.000 50.000
+ -18240004.65043 -14145130.70642 21874393.994 21874394.791 21874392.703
+ -1162.835 -906.105 55.000 47.000
+ -5011029.68743 -3858253.02042 24330243.896 24330248.370 24330242.615
+ 3289.354 2563.133 44.000 39.000
+ -15862031.10443 -12349924.92342 21804939.919 21804943.277 21804938.483
+ 445.068 346.806 54.000 47.000
+ -3864478.58043 -3008051.65542 24682387.885 24682392.960 24682388.082
+ -3327.662 -2592.983 41.000 35.000
+ -4367907.42943 -3375953.79542 24608753.343 24608758.259 24608752.622
+ -1332.675 -1038.448 44.000 37.000
+ -7858731.29743 -6076565.46042 23121655.177 23121660.873 23121654.419
+ 744.852 580.404 48.000 42.000
+ -15629629.24143 -12132374.16442 21972069.311 21972072.515 21972067.625
+ 32.495 25.321 52.000 46.000
+ -15509435.55243 -12073933.03242 22185963.983 22185967.694 22185962.640
+ -2297.953 -1790.613 52.000 46.000
+ -17517631.05843 -13592165.42342 21937790.618 21937794.282 21937788.866
+ 2820.184 2197.546 52.000 46.000
+ 04 2 1 19 51 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23714068.82143 -18419652.12242 20293066.816 20293068.874 20293065.889
+ -1141.085 -889.157 56.000 51.000
+ -12242424.85444 -9534542.99342 20792233.266 20792233.639 20792232.093
+ 1580.678 1231.697 57.000 50.000
+ -18205112.69443 -14117942.16442 21881034.152 21881035.183 21881033.125
+ -1163.053 -906.275 55.000 47.000
+ -5109714.05343 -3935149.92442 24311465.542 24311468.978 24311464.206
+ 3289.606 2563.329 44.000 39.000
+ -15875353.41943 -12360305.93842 21802404.181 21802408.153 21802403.314
+ 443.159 345.319 54.000 47.000
+ -3764710.32443 -2930310.14742 24701372.447 24701379.614 24701372.678
+ -3322.899 -2589.272 40.000 34.000
+ -4327716.73543 -3344636.35242 24616402.778 24616405.840 24616401.628
+ -1346.588 -1049.289 45.000 37.000
+ -7880797.73443 -6093760.09542 23117457.243 23117460.648 23117456.006
+ 726.279 565.932 48.000 43.000
+ -15630335.14243 -12132924.21642 21971935.248 21971937.725 21971933.901
+ 14.726 11.475 52.000 46.000
+ -15440330.99243 -12020085.34442 22199113.725 22199117.835 22199113.167
+ -2308.699 -1798.986 52.000 46.000
+ -17602058.84743 -13657953.29342 21921724.200 21921727.984 21921723.257
+ 2808.314 2188.297 52.000 46.000
+ 04 2 1 19 51 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23679585.93343 -18392782.32942 20299629.243 20299630.696 20299627.899
+ -1157.475 -901.928 56.000 51.000
+ -12289595.99844 -9571299.71342 20783257.184 20783257.402 20783255.877
+ 1564.394 1219.008 57.000 50.000
+ -18170202.99943 -14090739.80142 21887676.765 21887678.400 21887675.284
+ -1164.069 -907.067 55.000 47.000
+ -5208397.79843 -4012046.32542 24292685.619 24292691.037 24292685.576
+ 3289.355 2563.134 44.000 39.000
+ -15888610.03043 -12370635.75742 21799882.903 21799885.624 21799880.855
+ 440.812 343.490 54.000 47.000
+ -3665072.22843 -2852670.11242 24720332.122 24720335.919 24720330.882
+ -3318.856 -2586.121 40.000 33.000
+ -4287102.93543 -3312989.23342 24624130.326 24624134.561 24624129.451
+ -1360.850 -1060.402 43.000 38.000
+ -7902302.19243 -6110516.81742 23113364.664 23113368.217 23113363.390
+ 707.500 551.299 48.000 43.000
+ -15630492.36143 -12133046.72942 21971906.301 21971907.887 21971904.025
+ -3.916 -3.051 53.000 46.000
+ -15370893.73743 -11965978.39842 22212327.504 22212330.469 22212326.409
+ -2320.175 -1807.928 52.000 46.000
+ -17686121.23943 -13723456.43042 21905728.842 21905731.676 21905726.924
+ 2796.060 2178.748 52.000 46.000
+ 04 2 1 19 52 0.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23644628.19043 -18365542.52242 20306281.053 20306282.790 20306279.915
+ -1173.007 -914.031 56.000 51.000
+ -12336294.45244 -9607688.11142 20774370.454 20774371.075 20774369.237
+ 1548.881 1206.920 57.000 50.000
+ -18135280.33943 -14063527.33442 21894322.030 21894324.366 21894321.387
+ -1164.066 -907.064 54.000 47.000
+ -5307083.75643 -4088944.47642 24273908.970 24273910.859 24273906.864
+ 3289.882 2563.544 46.000 39.000
+ -15901806.36843 -12380918.60942 21797371.133 21797374.726 21797369.911
+ 438.990 342.070 54.000 47.000
+ -9867251.30553 -7685536.88452 24739267.764 24739270.607 24739265.425
+ -3314.720 -2582.899 38.000 32.000
+ -4246071.31243 -3281016.54842 24631939.981 24631942.619 24631939.616
+ -1374.638 -1071.146 45.000 38.000
+ -7923249.31343 -6126839.26642 23109378.155 23109382.616 23109377.398
+ 689.191 537.032 47.000 43.000
+ -15630106.49743 -12132746.05842 21971979.160 21971981.588 21971978.178
+ -21.680 -16.893 53.000 46.000
+ -15301129.12743 -11911616.37142 22225603.261 22225606.665 22225602.062
+ -2330.722 -1816.147 52.000 46.000
+ -17769821.00343 -13788676.99842 21889799.916 21889804.073 21889798.776
+ 2784.101 2169.429 52.000 46.000
+ 04 2 1 19 52 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23609192.35343 -18337930.16942 20313024.708 20313026.160 20313023.539
+ -1189.249 -926.687 56.000 51.000
+ -12382514.77244 -9643703.92642 20765574.783 20765575.616 20765574.053
+ 1532.464 1194.128 57.000 50.000
+ -18100339.81243 -14036300.94842 21900971.454 21900972.533 21900969.760
+ -1165.115 -907.882 54.000 47.000
+ -5405764.84443 -4165838.81142 24255130.014 24255132.309 24255129.607
+ 3289.041 2562.889 46.000 39.000
+ -15914938.01843 -12391151.05042 21794871.965 21794874.794 21794870.303
+ 436.552 340.170 54.000 47.000
+ -9767884.40053 -7608108.16652 24758175.462 24758179.794 24758175.597
+ -3310.686 -2579.755 38.000 32.000
+ -4204617.62243 -3248715.01542 24639827.716 24639829.163 24639827.288
+ -1389.122 -1082.433 44.000 38.000
+ -7943633.89743 -6142723.34942 23105501.276 23105504.013 23105499.432
+ 669.938 522.030 49.000 43.000
+ -15629172.78443 -12132018.49642 21972157.380 21972158.174 21972155.908
+ -40.432 -31.505 53.000 46.000
+ -15231032.76643 -11856995.82742 22238942.270 22238945.015 22238940.958
+ -2342.205 -1825.095 52.000 46.000
+ -17853151.19143 -13853609.59542 21873942.543 21873946.388 21873942.135
+ 2771.410 2159.540 52.000 46.000
+ 04 2 1 19 53 0.0000000 0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23573285.73543 -18309950.97742 20319857.096 20319858.931 20319856.141
+ -1205.132 -939.064 56.000 51.000
+ -12428261.38644 -9679350.62542 20756869.590 20756870.617 20756868.686
+ 1516.511 1181.697 57.000 50.000
+ -18065386.96743 -14009064.96842 21907622.912 21907623.676 21907621.391
+ -1165.675 -908.318 54.000 47.000
+ -5504444.08243 -4242731.70442 24236351.756 24236354.721 24236350.415
+ 3288.655 2562.588 46.000 40.000
+ -15928010.88243 -12401337.68442 21792384.312 21792387.459 21792382.672
+ 434.239 338.368 53.000 47.000
+ -4162747.52243 -3216088.97242 24647795.377 24647797.134 24647795.188
+ -1402.988 -1093.237 45.000 37.000
+ -7963460.98643 -6158173.03842 23101727.078 23101730.606 23101725.594
+ 650.786 507.106 48.000 43.000
+ -15627696.99843 -12130868.53442 21972437.834 21972439.646 21972436.770
+ -58.623 -45.680 53.000 46.000
+ -15160610.50043 -11802121.34042 22252343.402 22252346.304 22252341.426
+ -2353.157 -1833.629 52.000 46.000
+ -17936115.21143 -13918256.87242 21858155.631 21858159.360 21858154.273
+ 2758.751 2149.676 52.000 46.000
+ 04 2 1 19 53 30.0000000 0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23536908.18543 -18281604.82542 20326779.903 20326781.462 20326778.576
+ -1220.123 -950.745 56.000 51.000
+ -12473531.36844 -9714625.92142 20748255.107 20748255.643 20748254.212
+ 1501.286 1169.833 57.000 51.000
+ -18030419.92443 -13981817.91042 21914276.319 21914277.535 21914275.416
+ -1165.545 -908.217 54.000 47.000
+ -5603117.50843 -4319620.07542 24217575.719 24217576.322 24217574.550
+ 3289.193 2563.008 46.000 39.000
+ -15941023.75743 -12411477.58042 21789908.210 21789911.270 21789906.786
+ 433.068 337.455 54.000 47.000
+ -7453581.28752 24795914.012 24795918.184
+ -3300.421 -2571.757 36.000 31.000
+ -4120459.67143 -3183137.39742 24655842.036 24655845.568 24655842.000
+ -1416.045 -1103.412 44.000 38.000
+ -7982728.67743 -6173186.82942 23098059.902 23098064.644 23098059.274
+ 633.081 493.310 48.000 43.000
+ -15625677.78443 -12129295.13142 21972821.991 21972823.497 21972820.493
+ -76.165 -59.349 53.000 46.000
+ -15089861.07543 -11746991.94442 22265806.449 22265810.315 22265804.707
+ -2363.507 -1841.694 51.000 46.000
+ -18018709.30943 -13982615.88842 21842438.611 21842441.985 21842437.497
+ 2747.158 2140.643 52.000 46.000
+ 04 2 1 19 54 0.0000000 0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23500058.78343 -18252890.99842 20333792.111 20333793.516 20333790.874
+ -1236.113 -963.205 56.000 51.000
+ -12518321.60044 -9749527.38842 20739731.852 20739732.587 20739731.023
+ 1485.057 1157.187 57.000 51.000
+ -17995435.88643 -13954557.62242 21920934.336 21920935.189 21920932.783
+ -1166.452 -908.924 54.000 47.000
+ -5701780.52443 -4396500.32342 24198801.993 24198801.481 24198798.903
+ 3288.605 2562.549 48.000 40.000
+ -15953974.67943 -12421569.20942 21787443.524 21787446.599 21787442.489
+ 430.687 335.600 54.000 47.000
+ -4077752.59243 -3149859.16942 24663969.513 24663972.976 24663968.568
+ -1430.519 -1114.690 45.000 38.000
+ -8001434.46043 -6187762.76342 23094501.475 23094504.034 23094500.592
+ 614.326 478.696 49.000 43.000
+ -15623113.44143 -12127296.95142 21973309.355 21973311.107 21973308.500
+ -94.519 -73.651 53.000 46.000
+ -15018782.67143 -11691606.18842 22279331.851 22279335.282 22279331.108
+ -2374.743 -1850.449 51.000 46.000
+ -18100929.30743 -14046683.40442 21826791.945 21826796.708 21826790.967
+ 2734.386 2130.690 52.000 46.000
+ 04 2 1 19 54 30.0000000 0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23462744.50343 -18223814.92942 20340892.846 20340894.503 20340891.584
+ -1251.275 -975.019 56.000 51.000
+ -12562635.92444 -9784058.01342 20731298.769 20731299.470 20731298.109
+ 1469.430 1145.010 57.000 50.000
+ -17960439.43243 -13927287.65042 21927593.851 21927594.597 21927592.200
+ -1166.469 -908.937 54.000 47.000
+ -5800435.26243 -4473374.16042 24180026.573 24180029.069 24180025.312
+ 3288.517 2562.481 47.000 39.000
+ -15966868.70943 -12431616.49842 21784989.373 21784993.305 21784988.583
+ 429.146 334.399 54.000 47.000
+ -4034631.13443 -3116258.09042 24672175.719 24672179.336 24672175.132
+ -1444.033 -1125.220 45.000 38.000
+ -8019582.82543 -6201904.33042 23091047.435 23091050.753 23091046.922
+ 596.018 464.430 48.000 43.000
+ -15620009.14243 -12124878.02142 21973900.597 21973902.381 21973899.516
+ -112.313 -87.517 52.000 46.000
+ -14947380.41143 -11635968.07142 22292919.434 22292922.773 22292918.685
+ -2385.247 -1858.634 51.000 46.000
+ -18182777.69543 -14110461.35042 21811217.403 21811220.813 21811215.999
+ 2722.361 2121.320 53.000 46.000
+ 04 2 1 19 55 0.0000000 0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23424962.34543 -18194374.27842 20348082.203 20348083.922 20348081.203
+ -1267.314 -987.517 56.000 51.000
+ -12606468.77343 -9818213.46742 20722957.582 20722958.633 20722956.708
+ 1452.902 1132.131 56.000 50.000
+ -17925425.79343 -13900004.30042 21934255.648 21934257.622 21934254.731
+ -1167.679 -909.880 54.000 47.000
+ -5899074.89743 -4550236.22942 24161255.809 24161259.091 24161254.927
+ 3287.337 2561.561 46.000 40.000
+ -15979701.71343 -12441616.22842 21782547.970 21782550.680 21782546.631
+ 426.542 332.370 54.000 47.000
+ -3991091.38343 -3082331.01342 24680459.907 24680463.847 24680460.103
+ -1458.496 -1136.490 42.000 37.000
+ -8037168.85743 -6215607.73742 23087699.793 23087703.613 23087699.709
+ 576.686 449.366 47.000 42.000
+ -15616360.67743 -12122035.07042 21974594.255 21974597.760 21974593.634
+ -130.806 -101.927 52.000 46.000
+ -14875650.23343 -11580074.44942 22306568.910 22306572.760 22306568.314
+ -2396.643 -1867.514 51.000 46.000
+ -18264247.81843 -14173944.55042 21795713.636 21795717.133 21795712.632
+ 2709.106 2110.992 52.000 46.000
+ 04 2 1 19 55 30.0000000 0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23386717.45443 -18164573.05342 20355359.852 20355361.841 20355358.873
+ -1282.889 -999.654 56.000 51.000
+ -12649822.70743 -9851995.73342 20714707.655 20714708.632 20714706.722
+ 1436.803 1119.587 56.000 50.000
+ -17890398.35143 -13872710.18742 21940922.383 21940922.653 21940920.652
+ -1168.169 -910.261 54.000 47.000
+ -5997700.47443 -4627087.29142 24142486.834 24142491.868 24142487.450
+ 3287.001 2561.299 47.000 40.000
+ -15992477.58543 -12451571.44742 21780117.036 21780119.788 21780115.447
+ 424.390 330.693 53.000 47.000
+ -3947137.30743 -3048081.08942 24688825.344 24688828.723 24688822.258
+ -1472.637 -1147.509 43.000 37.000
+ -8054195.67143 -6228875.40142 23084460.757 23084463.364 23084459.786
+ 557.937 434.756 48.000 42.000
+ -15612172.05243 -12118771.20942 21975392.156 21975394.223 21975390.257
+ -148.972 -116.082 53.000 46.000
+ -14803596.16743 -11523928.42242 22320280.648 22320284.166 22320279.431
+ -2407.577 -1876.034 52.000 46.000
+ -18345341.20943 -14237134.17642 21780282.973 21780286.284 21780281.155
+ 2696.430 2101.114 53.000 47.000
+ 04 2 1 19 56 0.0000000 0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23348014.45743 -18134414.86542 20362725.009 20362726.495 20362723.960
+ -1297.308 -1010.889 56.000 51.000
+ -12692699.81343 -9885406.45142 20706548.294 20706549.090 20706547.782
+ 1421.653 1107.782 56.000 50.000
+ -17855359.40243 -13845407.10842 21947589.449 21947591.014 21947588.101
+ -1167.639 -909.848 54.000 47.000
+ -6096312.51743 -4703927.85642 24123722.714 24123725.090 24123722.249
+ 3287.196 2561.451 47.000 40.000
+ -16005199.83743 -12461484.88142 21777695.869 21777698.768 21777694.569
+ 423.613 330.088 53.000 47.000
+ -3902772.41243 -3013511.07242 24697267.689 24697269.880 24697266.290
+ -1485.333 -1157.402 44.000 38.000
+ -8070666.19743 -6241709.56542 23081326.634 23081329.949 23081326.024
+ 540.116 420.870 48.000 43.000
+ -15607446.97243 -12115089.32642 21976291.148 21976293.369 21976290.047
+ -166.293 -129.579 53.000 46.000
+ -14731221.77443 -11467532.79342 22334053.318 22334056.974 22334052.217
+ -2417.321 -1883.627 52.000 46.000
+ -18426058.91743 -14300031.07142 21764922.651 21764926.208 21764921.158
+ 2684.790 2092.044 53.000 47.000
+ 04 2 1 19 56 30.0000000 0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23308851.66743 -18103898.39542 20370177.583 20370179.073 20370176.440
+ -1312.490 -1022.719 56.000 51.000
+ -12735095.92044 -9918442.36342 20698480.847 20698481.344 20698480.192
+ 1405.693 1095.345 57.000 51.000
+ -17820305.41843 -13818092.31042 21954260.191 21954260.934 21954258.746
+ -1168.049 -910.168 54.000 47.000
+ -6194905.04043 -4780753.20442 24104961.133 24104966.315 24104958.595
+ 3286.742 2561.098 46.000 40.000
+ -16017865.21143 -12471354.00042 21775286.318 21775288.613 21775284.962
+ 421.751 328.637 54.000 47.000
+ -3857993.55343 -2978618.50142 24705787.968 24705791.856 24705787.641
+ -1499.074 -1168.110 44.000 38.000
+ -8086576.88643 -6254107.50542 23078298.905 23078302.997 23078297.444
+ 521.498 406.362 48.000 43.000
+ -15602182.22643 -12110986.92742 21977292.897 21977295.036 21977291.546
+ -183.991 -143.370 53.000 46.000
+ -14658524.02443 -11410885.21942 22347886.635 22347890.500 22347885.793
+ -2428.024 -1891.967 51.000 46.000
+ -18506395.34743 -14362630.86342 21749635.245 21749638.378 21749633.904
+ 2672.024 2082.097 53.000 47.000
+ 04 2 1 19 57 0.0000000 0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23269232.92543 -18073026.64042 20377716.676 20377718.371 20377715.469
+ -1328.108 -1034.889 56.000 51.000
+ -12777011.65944 -9951103.95842 20690504.484 20690505.157 20690503.724
+ 1389.269 1082.547 57.000 51.000
+ -17785237.85343 -13790766.93542 21960933.245 21960934.246 21960932.278
+ -1169.064 -910.959 54.000 47.000
+ -6293477.29643 -4857562.73242 24086204.285 24086204.334 24086203.609
+ 3285.459 2560.098 46.000 39.000
+ -16030475.66543 -12481180.32242 21772886.212 21772889.150 21772884.532
+ 419.503 326.885 54.000 47.000
+ -3812802.85543 -2943405.00142 24714388.308 24714391.267 24714386.496
+ -1512.909 -1178.890 43.000 38.000
+ -8101929.10943 -6266070.28642 23075377.390 23075382.062 23075377.180
+ 502.541 391.590 48.000 43.000
+ -15596379.93943 -12106465.66442 21978396.913 21978398.741 21978395.952
+ -202.235 -157.586 52.000 46.000
+ -14585504.96543 -11353987.26542 22361782.240 22361784.566 22361781.724
+ -2439.196 -1900.672 52.000 46.000
+ -18586350.14343 -14424933.27942 21734420.087 21734423.386 21734418.658
+ 2658.871 2071.847 53.000 47.000
+ 04 2 1 19 57 30.0000000 0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23229158.32443 -18041799.66642 20385342.803 20385343.866 20385341.498
+ -1343.558 -1046.928 56.000 51.000
+ -12818444.87044 -9983389.56442 20682620.051 20682620.867 20682619.126
+ 1372.961 1069.840 57.000 51.000
+ -17750155.39243 -13763429.95042 21967609.136 21967610.033 21967608.212
+ -1169.837 -911.561 54.000 47.000
+ -6392025.34843 -4934353.41642 24067451.743 24067452.672 24067449.586
+ 3284.631 2559.453 47.000 40.000
+ -16043030.19543 -12490963.06142 21770497.080 21770499.819 21770495.864
+ 417.365 325.219 54.000 47.000
+ -3767199.81743 -2907870.20342 24723065.322 24723068.478 24723063.768
+ -1527.687 -1190.405 41.000 37.000
+ -8116721.52543 -6277596.83742 23072561.784 23072565.272 23072559.797
+ 483.871 377.042 48.000 42.000
+ -15590039.55943 -12101525.11942 21979603.494 21979605.808 21979602.316
+ -220.448 -171.778 52.000 46.000
+ -14512163.87643 -11296838.35342 22375739.129 22375741.376 22375738.409
+ -2450.239 -1909.277 52.000 45.000
+ -18665920.06343 -14486935.80042 21719277.778 21719282.131 21719276.566
+ 2645.759 2061.630 53.000 47.000
+ 04 2 1 19 58 0.0000000 0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23188634.58143 -18010222.71842 20393054.353 20393055.557 20393052.967
+ -1358.283 -1058.402 56.000 51.000
+ -12859399.31844 -10015302.10342 20674826.497 20674827.120 20674825.548
+ 1357.178 1057.541 57.000 50.000
+ -17715061.39043 -13736083.97142 21974286.941 21974288.030 21974285.682
+ -1170.023 -911.706 54.000 47.000
+ -6490551.32143 -5011126.91442 24048701.637 24048704.520 24048701.004
+ 3283.608 2558.656 47.000 39.000
+ -16055533.76643 -12500706.10342 21768117.547 21768120.860 21768116.344
+ 415.832 324.025 54.000 47.000
+ -3721189.45143 -2872018.01542 24731821.405 24731825.042 24731822.013
+ -1540.983 -1200.766 44.000 37.000
+ -8130958.50443 -6288690.60542 23069853.226 23069857.245 23069852.795
+ 465.432 362.674 49.000 43.000
+ -15583166.02043 -12096169.12342 21980911.460 21980913.717 21980910.234
+ -237.977 -185.437 53.000 46.000
+ -14438505.81643 -11239442.47542 22389755.004 22389758.427 22389753.892
+ -2460.603 -1917.353 51.000 45.000
+ -18745107.66443 -14548640.40842 21704209.319 21704212.966 21704208.317
+ 2633.023 2051.706 53.000 47.000
+ 04 2 1 19 58 30.0000000 0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23147659.75043 -17978294.27042 20400851.226 20400852.767 20400849.979
+ -1372.752 -1069.677 56.000 51.000
+ -12899871.06043 -10046838.51042 20667124.573 20667125.678 20667124.092
+ 1341.578 1045.385 56.000 50.000
+ -17679952.65143 -13708726.51542 21980968.176 21980969.464 21980967.001
+ -1170.015 -911.700 54.000 47.000
+ -6589049.56343 -5087878.77242 24029958.051 24029961.707 24029957.146
+ 3283.271 2558.393 47.000 40.000
+ -16067983.39343 -12510407.10542 21765748.733 21765751.374 21765747.183
+ 414.604 323.068 54.000 47.000
+ -3674768.93743 -2835846.22842 24740654.141 24740657.432 24740653.267
+ -1553.273 -1210.342 43.000 37.000
+ -8144636.90043 -6299349.07142 23067250.866 23067254.722 23067248.541
+ 447.089 348.381 48.000 43.000
+ -15575756.77643 -12090395.70042 21982321.675 21982323.895 21982320.229
+ -255.397 -199.011 53.000 46.000
+ -14364528.11943 -11181797.52842 22403832.585 22403836.733 22403831.262
+ -2470.584 -1925.130 51.000 46.000
+ -18823907.71643 -14610043.02342 21689214.330 21689217.897 21689213.219
+ 2620.663 2042.075 53.000 47.000
+ 04 2 1 19 59 0.0000000 0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23106236.87043 -17946016.69342 20408733.921 20408735.102 20408732.543
+ -1388.403 -1081.872 56.000 51.000
+ -12939860.50044 -10077999.09742 20659515.358 20659515.992 20659514.809
+ 1324.780 1032.296 57.000 51.000
+ -17644830.62143 -13681358.70842 21987652.417 21987652.838 21987650.210
+ -1171.151 -912.585 55.000 47.000
+ -6687518.97243 -5164608.16942 24011218.701 24011223.518 24011218.657
+ 3281.544 2557.047 45.000 40.000
+ -16080380.52043 -12520067.20242 21763388.932 21763392.977 21763388.115
+ 412.267 321.247 54.000 47.000
+ -3627940.28943 -2799356.41042 24749566.566 24749570.529 24749564.467
+ -1567.758 -1221.630 42.000 37.000
+ -8157757.81543 -6309573.16542 23064753.678 23064755.522 23064751.815
+ 427.850 333.390 48.000 42.000
+ -15567813.68643 -12084206.28742 21983832.992 21983835.497 21983832.081
+ -273.737 -213.301 52.000 46.000
+ -14290232.68943 -11123905.01242 22417970.652 22417973.531 22417969.775
+ -2481.932 -1933.973 51.000 45.000
+ -18902319.60143 -14671143.18042 21674292.699 21674296.817 21674291.856
+ 2607.042 2031.461 53.000 47.000
+ 04 2 1 19 59 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -23064369.42143 -17913392.69942 20416701.144 20416702.466 20416699.583
+ -1402.787 -1093.081 56.000 51.000
+ -12979368.15544 -10108784.26642 20651997.146 20651997.667 20651996.202
+ 1309.119 1020.093 57.000 51.000
+ -17609696.01343 -13653981.09642 21994336.856 21994338.584 21994336.097
+ -1171.134 -912.572 54.000 47.000
+ -6785958.45643 -5241314.26542 23992487.658 23992490.797 23992486.425
+ 3281.049 2556.662 46.000 40.000
+ -16092727.08043 -12529687.89742 21761040.036 21761042.939 21761038.529
+ 410.881 320.167 54.000 47.000
+ -3580705.47343 -2762550.07242 24758552.104 24758557.300 24758550.399
+ -1580.881 -1231.855 41.000 37.000
+ -1491823.58153 -1147142.29152 24425665.696 24425670.013 24425666.581
+ 3334.696 2598.464 41.000 37.000
+ -8170322.63343 -6319363.91642 23062363.231 23062365.975 23062362.397
+ 409.750 319.286 49.000 43.000
+ -15559338.99943 -12077602.63342 21985445.480 21985448.183 21985444.258
+ -291.068 -226.806 52.000 46.000
+ -14215621.53043 -11065766.45742 22432168.308 22432171.317 22432167.997
+ -2491.933 -1941.766 51.000 45.000
+ -18980342.73743 -14731940.40442 21659445.478 21659449.577 21659444.491
+ 2594.586 2021.755 53.000 47.000
+ 04 2 1 20 0 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -23022058.65843 -17880423.26342 20424752.231 20424753.797 20424751.371
+ -1417.833 -1104.805 56.000 51.000
+ -13018392.99344 -10139193.21342 20644571.025 20644571.922 20644570.387
+ 1292.626 1007.241 57.000 51.000
+ -17574547.88243 -13626592.93942 22001025.291 22001027.633 22001024.204
+ -1171.916 -913.181 53.000 47.000
+ -6884364.83843 -5317994.54242 23973761.001 23973764.815 23973761.047
+ 3279.503 2555.457 48.000 40.000
+ -16105022.89543 -12539269.03742 21758700.476 21758702.296 21758699.159
+ 409.031 318.725 54.000 47.000
+ -3533064.54443 -2725427.31542 24767620.144 24767624.818 24767619.795
+ -1594.739 -1242.654 41.000 37.000
+ -1591905.90643 -1225128.47542 24406622.271 24406625.137 24406620.595
+ 3338.128 2601.139 42.000 37.000
+ -8182330.76843 -6328720.91842 23060077.852 23060080.633 23060076.209
+ 390.926 304.618 49.000 43.000
+ -15550332.83143 -12070584.82642 21987159.658 21987161.423 21987158.394
+ -309.207 -240.940 53.000 46.000
+ -14140694.57643 -11007381.81642 22446426.661 22446429.803 22446425.311
+ -2502.781 -1950.219 51.000 45.000
+ -19057974.69343 -14792432.81042 21644672.522 21644676.068 21644671.379
+ 2581.227 2011.346 54.000 47.000
+ 04 2 1 20 0 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22979309.87843 -17847112.51442 20432887.168 20432888.747 20432886.002
+ -1432.256 -1116.044 56.000 51.000
+ -13056937.70744 -10169228.03942 20637236.402 20637237.040 20637235.695
+ 1276.832 994.934 57.000 51.000
+ -17539389.44243 -13599196.75042 22007716.648 22007717.731 22007715.550
+ -1172.147 -913.361 54.000 47.000
+ -6982739.08843 -5394649.80742 23955041.147 23955043.390 23955040.038
+ 3278.663 2554.802 46.000 40.000
+ -16117271.37743 -12548813.30342 21756369.361 21756372.209 21756368.176
+ 407.521 317.549 54.000 47.000
+ -3485021.71743 -2687991.35842 24776762.967 24776766.790 24776761.774
+ -1608.265 -1253.193 44.000 37.000
+ -1692089.36443 -1303193.47142 24387557.071 24387559.762 24387557.466
+ 3341.314 2603.621 42.000 36.000
+ -8193785.89443 -6337647.01942 23057897.997 23057901.143 23057897.169
+ 372.626 290.358 49.000 43.000
+ -15540799.36743 -12063156.16042 21988973.690 21988975.352 21988972.745
+ -326.459 -254.384 53.000 46.000
+ -14065456.06243 -10948754.39842 22460744.068 22460746.598 22460742.976
+ -2513.084 -1958.247 52.000 46.000
+ -19135216.99043 -14852621.59342 21629973.657 21629977.429 21629972.093
+ 2568.250 2001.234 53.000 47.000
+ 04 2 1 20 1 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22936118.61243 -17813456.97442 20441106.024 20441107.652 20441104.801
+ -1446.865 -1127.427 56.000 51.000
+ -13094995.15344 -10198883.18142 20629994.177 20629994.568 20629993.502
+ 1260.542 982.241 57.000 51.000
+ -17504213.91643 -13571787.25842 22014409.975 22014411.075 22014408.939
+ -1172.593 -913.709 54.000 47.000
+ -7081072.36043 -5471273.11642 23936328.927 23936331.593 23936328.701
+ 3277.087 2553.574 47.000 40.000
+ -16129466.57643 -12558316.04642 21754048.549 21754051.346 21754047.037
+ 405.690 316.122 54.000 47.000
+ -3436571.15843 -2650237.72442 24785982.733 24785985.667 24785980.942
+ -1621.579 -1263.568 43.000 38.000
+ -1792364.49443 -1381329.91342 24368476.508 24368479.377 24368475.310
+ 3344.167 2605.844 42.000 36.000
+ -8204681.63643 -6346137.20942 23055824.507 23055827.797 23055822.860
+ 354.038 275.874 48.000 43.000
+ -15530732.91843 -12055312.17342 21990889.283 21990891.436 21990888.330
+ -344.232 -268.233 53.000 46.000
+ -13989900.05543 -10889879.60042 22475122.138 22475125.421 22475120.718
+ -2523.562 -1966.412 51.000 45.000
+ -19212061.45543 -14912500.37642 21615351.164 21615354.647 21615349.490
+ 2554.905 1990.835 53.000 47.000
+ 04 2 1 20 1 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22892494.39343 -17779464.06342 20449407.324 20449409.210 20449406.120
+ -1461.786 -1139.054 56.000 51.000
+ -13132572.33444 -10228164.08542 20622843.582 20622844.189 20622842.769
+ 1244.158 969.474 57.000 51.000
+ -17469028.32843 -13544369.90542 22021105.976 22021107.091 22021104.593
+ -1173.420 -914.353 54.000 47.000
+ -7179369.35843 -5547868.17542 23917624.187 23917626.444 23917623.512
+ 3275.395 2552.256 46.000 41.000
+ -16141616.30143 -12567783.35642 21751737.154 21751739.796 21751735.605
+ 403.850 314.688 54.000 47.000
+ -3387721.14343 -2612172.86142 24795276.338 24795280.614 24795277.781
+ -1635.613 -1274.504 43.000 38.000
+ -1892735.87743 -1459541.34442 24349376.000 24349379.109 24349374.252
+ 3346.713 2607.828 43.000 36.000
+ -8215025.54243 -6354197.39342 23053855.474 23053859.689 23053854.863
+ 335.259 261.241 49.000 43.000
+ -15520141.66643 -12047059.25342 21992904.820 21992906.816 21992903.795
+ -362.147 -282.192 52.000 46.000
+ -13914034.77043 -10830763.80742 22489558.146 22489562.384 22489557.484
+ -2534.410 -1974.865 51.000 46.000
+ -19288513.77243 -14972073.59342 21600802.049 21600806.216 21600800.969
+ 2541.457 1980.356 52.000 47.000
+ 04 2 1 20 2 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22848437.11343 -17745133.70842 20457791.239 20457793.049 20457790.311
+ -1475.585 -1149.806 56.000 51.000
+ -13169666.36344 -10257068.51342 20615784.471 20615785.322 20615783.642
+ 1228.618 957.365 57.000 51.000
+ -17433830.29543 -13516942.88342 22027804.002 22027804.381 22027803.120
+ -1173.247 -914.218 54.000 47.000
+ -7277625.76143 -5624431.57042 23898925.591 23898928.909 23898925.181
+ 3274.265 2551.375 46.000 41.000
+ -16153718.91843 -12577213.96242 21749433.224 21749436.399 21749432.059
+ 402.826 313.890 54.000 47.000
+ -3338470.20243 -2573795.58442 24804651.031 24804652.621 24804649.508
+ -1648.666 -1284.675 44.000 38.000
+ -1993198.39543 -1537823.82342 24330260.531 24330261.057 24330257.827
+ 3350.547 2610.816 44.000 36.000
+ -8224815.82543 -6361826.19242 23051992.936 23051996.049 23051992.335
+ 317.686 247.548 49.000 43.000
+ -15509024.35843 -12038396.42242 21995020.198 21995022.324 21995019.354
+ -379.112 -295.412 53.000 46.000
+ -13837858.75743 -10771405.92042 22504054.071 22504057.305 22504052.756
+ -2544.222 -1982.511 51.000 46.000
+ -19364569.98043 -15031338.14842 21586329.666 21586332.554 21586328.072
+ 2529.127 1970.748 53.000 47.000
+ 04 2 1 20 2 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22803945.84943 -17710465.18342 20466257.815 20466259.279 20466256.594
+ -1489.984 -1161.026 56.000 51.000
+ -13206274.06244 -10285593.98142 20608818.307 20608818.824 20608817.712
+ 1212.515 944.817 57.000 51.000
+ -17398617.03643 -13489503.98142 22034505.353 22034506.286 22034503.711
+ -1173.724 -914.590 54.000 47.000
+ -7375836.09143 -5700959.09542 23880237.028 23880240.188 23880236.337
+ 3273.214 2550.556 47.000 41.000
+ -16165772.31043 -12586606.20742 21747139.825 21747143.056 21747138.710
+ 401.317 312.715 54.000 47.000
+ -3288816.75943 -2535104.60642 24814098.485 24814103.308 24814097.142
+ -1661.297 -1294.517 44.000 38.000
+ -2093746.66643 -1616173.10742 24311124.440 24311129.603 24311123.054
+ 3353.219 2612.898 44.000 37.000
+ -8234050.06743 -6369021.71942 23050236.398 23050238.806 23050233.836
+ 299.012 232.996 48.000 43.000
+ -15497379.50543 -12029322.52142 21997236.268 21997238.487 21997234.903
+ -396.612 -309.048 52.000 46.000
+ -13761370.10943 -10711804.39942 22518609.636 22518613.449 22518608.561
+ -2554.348 -1990.401 51.000 45.000
+ -19440225.60743 -15090290.57542 21571932.512 21571936.068 21571931.415
+ 2516.024 1960.538 53.000 47.000
+ 04 2 1 20 3 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22759026.34043 -17675462.95242 20474805.450 20474807.087 20474804.399
+ -1503.943 -1171.904 56.000 51.000
+ -13242398.71744 -10313743.05342 20601944.298 20601944.548 20601943.378
+ 1196.487 932.328 57.000 51.000
+ -17363391.73143 -13462055.69342 22041208.004 22041208.841 22041206.950
+ -1173.872 -914.705 54.000 47.000
+ -7474001.85143 -5777451.88442 23861556.695 23861559.471 23861556.694
+ 3272.101 2549.689 47.000 41.000
+ -16177780.44943 -12595963.18942 21744854.960 21744857.638 21744853.374
+ 400.079 311.750 54.000 47.000
+ -3238765.08643 -2496103.34342 24823623.271 24823627.408 24823623.061
+ -1674.700 -1304.961 44.000 38.000
+ -2194381.18043 -1694589.60842 24291975.932 24291977.558 24291974.038
+ 3356.011 2615.074 45.000 37.000
+ -8242732.15843 -6375786.98642 23048583.955 23048587.815 23048582.898
+ 280.595 218.645 49.000 43.000
+ -15485211.60143 -12019841.04242 21999551.547 21999553.680 21999550.338
+ -413.972 -322.575 52.000 46.000
+ -13684573.18343 -10651962.64042 22533223.895 22533227.019 22533223.201
+ -2564.535 -1998.339 51.000 45.000
+ -19515482.64343 -15148932.40142 21557611.422 21557615.261 21557610.116
+ 2502.245 1949.801 53.000 47.000
+ 04 2 1 20 3 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22713678.76343 -17640127.17142 20483435.137 20483436.690 20483434.040
+ -1518.998 -1183.635 56.000 51.000
+ -13278038.56944 -10341514.35542 20595162.347 20595162.557 20595161.330
+ 1179.490 919.083 57.000 51.000
+ -17328152.61943 -13434596.65142 22047913.391 22047915.243 22047912.292
+ -1175.209 -915.747 54.000 47.000
+ -7572119.30743 -5853907.02442 23842885.829 23842888.321 23842883.459
+ 3269.159 2547.397 46.000 41.000
+ -16189742.18143 -12605284.01642 21742578.456 21742581.344 21742577.551
+ 397.572 309.796 54.000 47.000
+ -3188314.70143 -2456791.39142 24833222.825 24833227.273 24833221.731
+ -1688.842 -1315.981 44.000 38.000
+ -2295097.85643 -1773070.13142 24272809.527 24272811.500 24272808.794
+ 3357.931 2616.570 45.000 38.000
+ -8250861.13043 -6382121.24342 23047036.910 23047040.834 23047035.401
+ 261.359 203.656 48.000 43.000
+ -15472520.10843 -12009951.57542 22001966.883 22001968.693 22001965.893
+ -432.149 -336.739 52.000 46.000
+ -13607467.45243 -10591880.25242 22547896.938 22547898.957 22547895.446
+ -2575.838 -2007.146 51.000 45.000
+ -19590338.08843 -15207261.29942 21543366.861 21543370.780 21543365.463
+ 2487.876 1938.605 52.000 47.000
+ 04 2 1 20 4 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22667908.65743 -17604462.14042 20492144.750 20492146.463 20492143.452
+ -1532.810 -1194.397 56.000 51.000
+ -13313195.80744 -10368909.59842 20588471.745 20588472.476 20588470.912
+ 1163.728 906.801 57.000 51.000
+ -17292902.32043 -13407128.89642 22054621.515 22054623.152 22054620.623
+ -1175.354 -915.860 54.000 47.000
+ -7670188.84443 -5930324.84742 23824224.525 23824226.693 23824223.983
+ 3268.098 2546.570 47.000 41.000
+ -16201660.65143 -12614571.12842 21740310.741 21740313.516 21740308.907
+ 396.361 308.853 54.000 47.000
+ -3137469.24743 -2417171.63642 24842900.368 24842903.084 24842899.542
+ -1701.856 -1326.121 45.000 39.000
+ -2395896.63443 -1851614.61642 24253629.000 24253629.696 24253627.868
+ 3361.394 2619.268 45.000 38.000
+ -8258440.11243 -6388026.94642 23045594.436 23045597.714 23045593.569
+ 243.236 189.535 48.000 43.000
+ -15459309.06043 -11999657.24642 22004480.790 22004481.755 22004480.144
+ -449.103 -349.950 53.000 46.000
+ -13530056.55043 -10531560.07442 22562627.615 22562630.812 22562626.788
+ -2585.667 -2014.805 51.000 45.000
+ -19664793.11243 -15265278.19142 21529199.188 21529202.733 21529197.723
+ 2474.876 1928.475 53.000 47.000
+ 04 2 1 20 4 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22621717.06243 -17568468.68242 20500934.359 20500936.508 20500933.295
+ -1546.308 -1204.915 56.000 51.000
+ -13347869.17444 -10395927.79442 20581873.647 20581874.446 20581872.963
+ 1148.139 894.654 57.000 51.000
+ -17257640.13943 -13379651.87242 22061332.333 22061332.562 22061330.950
+ -1175.215 -915.752 54.000 47.000
+ -7768207.00143 -6006702.63442 23805572.434 23805575.296 23805570.512
+ 3266.926 2545.657 47.000 41.000
+ -16213535.16643 -12623823.98942 21738050.912 21738054.130 21738049.628
+ 395.507 308.187 54.000 48.000
+ -3086228.89743 -2377244.10742 24852650.879 24852655.562 24852651.411
+ -1714.087 -1335.652 45.000 38.000
+ -2496773.66343 -1930220.07842 24234432.032 24234433.806 24234430.455
+ 3364.432 2621.635 46.000 38.000
+ -8265468.55843 -6393503.67142 23044257.166 23044260.104 23044255.475
+ 225.513 175.724 48.000 43.000
+ -15445578.57643 -11988958.17742 22007093.606 22007095.139 22007091.795
+ -465.802 -362.962 52.000 46.000
+ -13452340.28443 -10471001.94942 22577416.224 22577419.732 22577415.410
+ -2595.331 -2022.336 51.000 45.000
+ -19738845.02343 -15322980.97442 21515107.519 21515111.250 21515106.062
+ 2462.138 1918.549 53.000 47.000
+ 04 2 1 20 5 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22575103.85943 -17532146.69542 20509804.920 20509806.720 20509803.671
+ -1560.300 -1215.818 56.000 51.000
+ -13382055.63444 -10422566.57942 20575368.569 20575368.848 20575367.532
+ 1131.885 881.988 57.000 51.000
+ -17222362.79543 -13352163.03542 22068045.156 22068045.343 22068043.384
+ -1175.711 -916.138 53.000 47.000
+ -7866168.97843 -6083036.62142 23786930.860 23786933.068 23786928.909
+ 3265.026 2544.176 48.000 41.000
+ -16225363.62143 -12633040.95642 21735800.283 21735803.299 21735798.368
+ 394.003 307.015 54.000 48.000
+ -3034591.89243 -2337007.54342 24862475.400 24862478.495 24862475.937
+ -1727.389 -1346.017 43.000 37.000
+ -2597723.14143 -2008881.99942 24215221.998 24215222.560 24215220.047
+ 3366.530 2623.270 46.000 38.000
+ -8271944.43043 -6398549.80342 23043025.275 23043028.151 23043023.148
+ 207.383 161.597 48.000 43.000
+ -15431327.07243 -11977853.11842 22009805.648 22009807.306 22009804.100
+ -483.239 -376.550 52.000 46.000
+ -13374317.08743 -10410204.66242 22592263.785 22592266.735 22592262.137
+ -2605.555 -2030.302 50.000 45.000
+ -19812489.70143 -15380366.42142 21501093.100 21501096.369 21501092.103
+ 2448.421 1907.861 54.000 47.000
+ 04 2 1 20 5 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22528075.19143 -17495500.96742 20518754.034 20518755.929 20518752.706
+ -1574.672 -1227.017 56.000 50.000
+ -13415759.59544 -10448829.39442 20568954.651 20568955.119 20568953.873
+ 1115.297 869.063 57.000 51.000
+ -17187074.12243 -13324665.38042 22074760.220 22074761.583 22074759.056
+ -1176.596 -916.828 54.000 47.000
+ -7964076.71843 -6159328.36842 23768300.212 23768301.087 23768298.063
+ 3262.657 2542.330 47.000 41.000
+ -16237150.92943 -12642225.86342 21733557.279 21733559.817 21733555.765
+ 392.119 305.547 54.000 48.000
+ -2982563.89343 -2296466.29442 24872379.943 24872378.818 24872378.665
+ -1740.754 -1356.432 45.000 37.000
+ -2698747.27843 -2087602.08742 24195998.040 24196000.625 24195997.440
+ 3368.405 2624.731 45.000 38.000
+ -8277872.71543 -6403169.26042 23041896.253 23041901.796 23041894.626
+ 188.397 146.803 48.000 43.000
+ -15416560.14043 -11966346.42142 22012615.479 22012616.900 22012614.617
+ -501.034 -390.416 52.000 46.000
+ -13295992.44143 -10349172.48342 22607168.570 22607172.301 22607167.332
+ -2615.960 -2038.410 51.000 45.000
+ -19885730.29543 -15437437.00242 21487156.038 21487159.303 21487154.716
+ 2434.382 1896.921 54.000 47.000
+ 04 2 1 20 6 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22480629.68843 -17458530.44142 20527782.602 20527784.534 20527781.357
+ -1588.926 -1238.124 56.000 50.000
+ -13448977.11544 -10474713.16442 20562633.687 20562633.950 20562633.005
+ 1098.639 856.082 57.000 51.000
+ -17151770.83543 -13297156.33142 22081478.058 22081479.331 22081476.671
+ -1177.552 -917.573 54.000 47.000
+ -8061924.17543 -6235573.12842 23749678.404 23749681.353 23749678.308
+ 3259.977 2540.242 47.000 41.000
+ -16248894.03943 -12651376.32542 21731323.586 21731325.852 21731321.371
+ 390.292 304.124 55.000 48.000
+ -2930142.20143 -2255618.25542 24882350.731 24882355.673 24882348.903
+ -1754.457 -1367.109 44.000 37.000
+ -2799839.29343 -2166375.05842 24176760.514 24176764.741 24176760.485
+ 3370.321 2626.224 46.000 39.000
+ -8283250.36643 -6407359.63742 23040872.162 23040877.203 23040871.361
+ 169.514 132.089 47.000 43.000
+ -15401275.57743 -11954436.38742 22015523.961 22015526.376 22015522.570
+ -518.620 -404.119 52.000 46.000
+ -13217363.58543 -10287903.26242 22622131.367 22622134.223 22622130.027
+ -2626.700 -2046.779 51.000 45.000
+ -19958561.41543 -15494188.51242 21473296.795 21473300.092 21473295.734
+ 2420.414 1886.037 54.000 47.000
+ 04 2 1 20 6 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22432771.82043 -17421238.59042 20536889.301 20536891.357 20536888.324
+ -1602.241 -1248.499 56.000 50.000
+ -13481710.12344 -10500219.39242 20556404.621 20556405.081 20556403.858
+ 1082.873 843.797 57.000 51.000
+ -17116455.03343 -13269637.53242 22088199.026 22088199.878 22088197.503
+ -1177.512 -917.542 54.000 47.000
+ -8159711.39443 -6311770.95942 23731070.083 23731073.672 23731069.700
+ 3258.346 2538.971 46.000 41.000
+ -16260595.50743 -12660494.35042 21729095.269 21729099.055 21729094.170
+ 389.129 303.217 54.000 48.000
+ -2877330.18543 -2214466.10142 24892402.787 24892405.095 24892403.168
+ -1767.349 -1377.155 44.000 37.000
+ -2900998.58443 -2245200.47242 24157509.776 24157513.079 24157508.869
+ 3372.762 2628.126 45.000 39.000
+ -8288080.07643 -6411123.05242 23039954.669 23039957.221 23039953.602
+ 151.902 118.365 48.000 43.000
+ -15385476.74243 -11942125.61542 22018530.555 22018532.749 22018529.498
+ -535.260 -417.086 52.000 46.000
+ -13138433.87543 -10226399.62742 22637149.789 22637153.909 22637149.358
+ -2635.956 -2053.992 50.000 45.000
+ -20030983.96543 -15550621.64042 21459514.812 21459518.485 21459513.750
+ 2407.090 1875.655 54.000 47.000
+ 04 2 1 20 7 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22384503.82243 -17383627.15642 20546074.904 20546076.527 20546073.498
+ -1615.971 -1259.198 56.000 50.000
+ -13513958.11544 -10525347.68842 20550268.153 20550268.497 20550267.177
+ 1066.592 831.111 57.000 51.000
+ -17081125.97543 -13242108.39742 22094921.246 22094922.240 22094919.980
+ -1178.090 -917.992 54.000 47.000
+ -8257435.62343 -6387919.70142 23712473.669 23712478.140 23712473.234
+ 3256.376 2537.436 47.000 41.000
+ -16272255.67743 -12669580.19342 21726876.417 21726879.804 21726875.249
+ 387.875 302.240 53.000 48.000
+ -2824128.71143 -2173010.43642 24902527.885 24902528.292 24902526.441
+ -1779.998 -1387.011 44.000 37.000
+ -3002222.31943 -2324076.09942 24138248.613 24138251.208 24138248.735
+ 3374.747 2629.673 46.000 39.000
+ -8292362.20343 -6414459.79642 23039140.551 23039142.964 23039139.534
+ 133.345 103.905 49.000 43.000
+ -15369164.69443 -11929414.92842 22021634.371 22021636.965 22021633.213
+ -552.448 -430.479 52.000 46.000
+ -13059204.00243 -10164662.09042 22652227.517 22652230.719 22652226.528
+ -2646.125 -2061.915 50.000 44.000
+ -20102996.27143 -15606735.09742 21445811.201 21445815.066 21445810.211
+ 2393.328 1864.931 53.000 48.000
+ 04 2 1 20 7 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22335821.72043 -17345693.04442 20555338.846 20555340.589 20555337.724
+ -1628.843 -1269.228 56.000 50.000
+ -13545715.21444 -10550093.47342 20544225.020 20544225.241 20544224.192
+ 1051.114 819.050 57.000 51.000
+ -17045777.53543 -13214564.16542 22101647.242 22101649.770 22101646.195
+ -1177.961 -917.892 53.000 47.000
+ -8355088.52343 -6464012.87142 23693891.143 23693894.926 23693890.916
+ 3254.703 2536.132 47.000 41.000
+ -16283869.00243 -12678629.52842 21724666.366 21724669.320 21724665.493
+ 387.172 301.692 54.000 48.000
+ -2770532.78543 -2131247.43842 24912724.064 24912727.401 24912722.722
+ -1792.197 -1396.517 42.000 37.000
+ -3103501.33343 -2402994.79142 24118975.966 24118977.614 24118974.971
+ 3377.996 2632.205 47.000 39.000
+ -8296091.48943 -6417365.73942 23038431.129 23038432.494 23038430.527
+ 115.874 90.291 50.000 43.000
+ -15352334.60843 -11916300.59242 22024837.438 22024839.102 22024836.442
+ -568.980 -443.361 52.000 46.000
+ -12979669.04343 -10102686.81542 22667362.515 22667365.139 22667361.055
+ -2655.378 -2069.126 50.000 45.000
+ -20174590.86043 -15662523.07142 21432188.162 21432191.239 21432186.752
+ 2380.119 1854.638 54.000 48.000
+ 04 2 1 20 8 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22286741.47343 -17307448.68842 20564678.615 20564679.960 20564677.261
+ -1642.452 -1279.833 56.000 50.000
+ -13576994.63744 -10574467.03342 20538272.595 20538273.035 20538271.637
+ 1034.845 806.373 57.000 51.000
+ -17010423.30143 -13187015.42142 22108375.415 22108376.395 22108374.241
+ -1178.367 -918.208 54.000 47.000
+ -8452681.30243 -6540059.17242 23675319.150 23675324.489 23675318.632
+ 3252.395 2534.334 46.000 41.000
+ -16295449.56743 -12687653.34442 21722463.008 21722466.079 21722461.823
+ 385.611 300.476 54.000 48.000
+ -2716557.43743 -2089188.81042 24922996.504 24922999.363 24922996.470
+ -1805.185 -1406.638 44.000 37.000
+ -3204846.66143 -2481965.14242 24099689.567 24099691.787 24099686.979
+ 3379.334 2633.247 47.000 39.000
+ -8299282.45343 -6419852.20142 23037822.555 23037826.710 23037821.945
+ 97.612 76.061 49.000 43.000
+ -15335001.65743 -11902794.39742 22028135.770 22028137.753 22028134.251
+ -585.924 -456.564 52.000 46.000
+ -12899843.77043 -10040485.31942 22682553.195 22682555.741 22682551.537
+ -2665.441 -2076.967 50.000 45.000
+ -20245780.05543 -15717995.15442 21418640.542 21418644.119 21418638.858
+ 2366.415 1843.960 53.000 47.000
+ 04 2 1 20 8 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22237259.17543 -17268891.04742 20574094.501 20574096.156 20574093.107
+ -1655.628 -1290.100 56.000 50.000
+ -13607790.24744 -10598463.60442 20532412.407 20532412.761 20532411.609
+ 1018.822 793.887 57.000 51.000
+ -16975056.79243 -13159457.11142 22115105.731 22115106.829 22115104.606
+ -1178.671 -918.445 54.000 47.000
+ -8550205.47043 -6616052.01642 23656761.154 23656765.973 23656760.050
+ 3250.180 2532.608 46.000 41.000
+ -16306991.65543 -12696647.18342 21720267.475 21720269.660 21720264.998
+ 384.584 299.676 54.000 48.000
+ -2662197.42043 -2046830.42942 24933341.796 24933343.858 24933340.427
+ -1818.134 -1416.728 44.000 37.000
+ -3306249.27343 -2560980.14242 24080393.772 24080395.268 24080392.257
+ 3381.417 2634.870 46.000 39.000
+ -8301929.41643 -6421914.77442 23037318.977 23037323.300 23037318.695
+ 79.608 62.032 49.000 43.000
+ -15317160.75143 -11888892.40342 22031530.654 22031533.022 22031529.242
+ -602.604 -469.561 52.000 46.000
+ -12819722.96643 -9978053.56142 22697799.136 22697802.713 22697798.328
+ -2675.203 -2084.574 50.000 45.000
+ -20316556.18543 -15773145.36642 21405172.074 21405175.376 21405171.006
+ 2352.786 1833.340 53.000 47.000
+ 04 2 1 20 9 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22187374.27243 -17230019.68942 20583587.311 20583588.998 20583585.826
+ -1669.690 -1301.057 56.000 50.000
+ -13638099.14244 -10622080.91642 20526644.658 20526645.573 20526643.914
+ 1002.025 780.799 57.000 51.000
+ -16939674.54743 -13131886.54142 22121838.758 22121840.034 22121837.421
+ -1179.710 -919.254 53.000 46.000
+ -8647655.69443 -6691987.26442 23638217.170 23638222.244 23638216.656
+ 3246.926 2530.072 47.000 41.000
+ -16318492.86543 -12705609.16742 21718077.349 21718081.038 21718076.263
+ 382.464 298.024 54.000 48.000
+ -2607451.36143 -2004171.21142 24943757.304 24943764.404 24943756.352
+ -1831.351 -1427.027 42.000 37.000
+ -3407703.37443 -2640035.26142 24061089.010 24061091.394 24061088.049
+ 3382.660 2635.839 46.000 39.000
+ -8304030.61743 -6423552.08642 23036918.803 23036922.932 23036917.282
+ 60.764 47.349 49.000 43.000
+ -15298810.94443 -11874593.86242 22035022.571 22035024.732 22035021.536
+ -620.191 -483.266 52.000 46.000
+ -12739304.79943 -9915390.05842 22713102.403 22713105.295 22713101.274
+ -2685.525 -2092.617 51.000 45.000
+ -20386915.12743 -15827970.49842 21391783.377 21391786.953 21391782.200
+ 2338.333 1822.078 54.000 48.000
+ 04 2 1 20 9 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22137092.45743 -17190839.05142 20593155.420 20593157.360 20593154.357
+ -1682.424 -1310.980 56.000 50.000
+ -13667924.67144 -10645321.57642 20520969.064 20520969.967 20520968.190
+ 986.508 768.708 57.000 51.000
+ -16904280.14343 -13104306.49542 22128574.500 22128574.950 22128572.752
+ -1179.671 -919.224 53.000 46.000
+ -8745033.28043 -6767865.89042 23619687.429 23619690.910 23619686.157
+ 3244.929 2528.516 46.000 41.000
+ -16329957.16243 -12714542.37442 21715896.481 21715899.171 21715895.345
+ 381.887 297.574 54.000 48.000
+ -2552323.65243 -1961214.61142 24954249.980 24954254.496 24954248.305
+ -1843.576 -1436.553 45.000 37.000
+ -3509209.52043 -2719130.94442 24041773.348 24041772.920 24041771.129
+ 3384.838 2637.536 45.000 39.000
+ -8305590.12643 -6424767.28642 23036621.921 23036625.924 23036620.894
+ 43.170 33.639 49.000 43.000
+ -15279956.96943 -11859902.45742 22038610.239 22038612.860 22038609.206
+ -636.639 -496.082 52.000 46.000
+ -12658593.97243 -9852498.50942 22728461.686 22728464.335 22728460.685
+ -2694.738 -2099.796 51.000 45.000
+ -20456859.03543 -15882472.23242 21378473.736 21378476.710 21378472.156
+ 2325.056 1811.732 54.000 48.000
+ 04 2 1 20 10 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22086417.21543 -17151351.84542 20602798.631 20602800.601 20602797.492
+ -1695.834 -1321.429 56.000 50.000
+ -13697267.73444 -10668186.29242 20515385.368 20515385.858 20515384.336
+ 969.933 755.792 57.000 51.000
+ -16868874.41343 -13076717.62842 22135311.982 22135312.507 22135310.092
+ -1180.360 -919.761 53.000 46.000
+ -8842336.51943 -6843686.57842 23601170.919 23601173.628 23601170.073
+ 3242.192 2526.383 47.000 41.000
+ -16341386.08243 -12723448.01842 21713721.620 21713724.559 21713720.195
+ 380.334 296.364 54.000 48.000
+ -2496816.84743 -1917962.58842 24964813.077 24964815.894 24964811.410
+ -1856.567 -1446.675 44.000 37.000
+ -3610765.97643 -2798265.81142 24022447.375 24022448.141 24022446.037
+ 3386.061 2638.489 46.000 39.000
+ -8306609.80843 -6425561.84842 23036428.667 23036430.819 23036427.587
+ 24.830 19.348 49.000 43.000
+ -15260601.14243 -11844820.00142 22042294.118 22042296.275 22042293.218
+ -653.386 -509.132 52.000 46.000
+ -12577592.60843 -9789380.57242 22743874.760 22743878.344 22743874.538
+ -2704.533 -2107.428 50.000 44.000
+ -20526387.50643 -15936650.24542 21365243.139 21365246.330 21365241.873
+ 2310.338 1800.263 54.000 48.000
+ 04 2 1 20 10 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22035347.91943 -17111557.58842 20612516.648 20612519.022 20612515.626
+ -1708.049 -1330.947 56.000 50.000
+ -13726125.34244 -10690672.73042 20509893.988 20509894.542 20509892.967
+ 954.436 743.716 57.000 51.000
+ -16833453.76343 -13049117.12942 22142051.901 22142053.360 22142050.415
+ -1180.391 -919.785 53.000 46.000
+ -8939560.01743 -6919445.14142 23582670.743 23582673.554 23582669.548
+ 3240.045 2524.710 48.000 41.000
+ -16352776.51643 -12732323.67842 21711553.988 21711557.253 21711552.777
+ 379.631 295.816 54.000 48.000
+ -2440928.68743 -1874413.42542 24975448.767 24975451.589 24975447.023
+ -1868.668 -1456.105 45.000 37.000
+ -3712366.68443 -2877435.18442 24003112.329 24003116.025 24003111.277
+ 3388.094 2640.073 45.000 39.000
+ -8307087.21843 -6425933.85642 23036337.229 23036341.741 23036335.773
+ 7.775 6.058 49.000 43.000
+ -15240741.68143 -11829345.11342 22046072.820 22046074.732 22046072.176
+ -669.820 -521.938 52.000 46.000
+ -12496298.44143 -9726034.50042 22759345.039 22759348.742 22759342.997
+ -2714.230 -2114.984 49.000 43.000
+ -20595496.17843 -15990501.14642 21352091.744 21352095.289 21352090.440
+ 2297.135 1789.975 54.000 48.000
+ 04 2 1 20 11 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21983886.72443 -17071457.95542 20622309.523 20622311.665 20622308.334
+ -1722.492 -1342.201 56.000 50.000
+ -13754497.51144 -10712780.90142 20504494.734 20504495.487 20504493.917
+ 936.851 730.014 57.000 51.000
+ -16798018.06843 -13021504.90842 22148794.686 22148795.688 22148792.584
+ -1182.266 -921.246 53.000 46.000
+ -9036701.60043 -6995139.88342 23564186.020 23564187.389 23564184.807
+ 3235.881 2521.466 48.000 41.000
+ -16364129.03843 -12741169.79242 21709393.695 21709396.972 21709392.057
+ 377.041 293.798 54.000 48.000
+ -2384660.76943 -1830568.36042 24986153.369 24986159.900 24986153.742
+ -1882.834 -1467.143 43.000 37.000
+ -3814009.04543 -2956637.00342 23983769.813 23983772.858 23983769.116
+ 3388.184 2640.143 45.000 39.000
+ -8307023.34043 -6425884.10042 23036349.715 23036353.578 23036348.436
+ -11.713 -9.127 49.000 43.000
+ -15220380.37043 -11813479.16542 22049947.216 22049949.402 22049946.336
+ -687.847 -535.985 52.000 46.000
+ -12414712.76143 -9662461.26042 22774870.531 22774873.777 22774869.795
+ -2725.289 -2123.602 49.000 44.000
+ -20664183.74843 -16044023.91242 21339021.327 21339024.548 21339019.984
+ 2281.646 1777.906 54.000 48.000
+ 04 2 1 20 11 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21932036.54043 -17031055.21142 20632176.311 20632177.830 20632175.089
+ -1735.454 -1352.302 56.000 50.000
+ -13782384.68644 -10734511.15542 20499188.181 20499188.767 20499187.282
+ 920.817 717.520 57.000 51.000
+ -16762567.87943 -12993881.40342 22155540.647 22155542.429 22155539.265
+ -1182.547 -921.465 53.000 46.000
+ -9133759.33143 -7070769.28542 23545716.596 23545718.313 23545714.786
+ 3233.025 2519.240 49.000 42.000
+ -16375444.76643 -12749987.23242 21707240.598 21707243.433 21707239.069
+ 375.874 292.889 54.000 48.000
+ -2328014.72143 -1786428.61642 24996935.521 24996941.295 24996935.221
+ -1895.210 -1476.787 43.000 37.000
+ -3915690.59543 -3035869.35342 23964422.002 23964422.775 23964419.632
+ 3389.297 2641.011 46.000 40.000
+ -8306419.63843 -6425413.69542 23036464.602 23036469.115 23036462.668
+ -29.760 -23.190 49.000 43.000
+ -15199519.04943 -11797223.60642 22053916.872 22053919.091 22053915.847
+ -704.531 -548.985 52.000 45.000
+ -12332837.22843 -9598662.14842 22790451.479 22790454.387 22790449.538
+ -2734.558 -2130.824 50.000 44.000
+ -20732449.52643 -16097218.00442 21326030.542 21326033.717 21326028.933
+ 2267.782 1767.103 54.000 48.000
+ 04 2 1 20 12 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21879803.76743 -16990354.34742 20642116.033 20642117.435 20642114.645
+ -1747.005 -1361.302 56.000 50.000
+ -13809791.04644 -10755866.75042 20493972.752 20493973.523 20493971.941
+ 905.868 705.871 57.000 51.000
+ -16727106.60243 -12966249.25242 22162289.487 22162290.673 22162287.573
+ -1181.776 -920.864 53.000 46.000
+ -9230734.87743 -7146334.63942 23527262.886 23527264.425 23527259.599
+ 3231.651 2518.170 48.000 42.000
+ -16386728.06543 -12758779.41142 21705093.387 21705096.287 21705092.008
+ 376.002 292.989 54.000 48.000
+ -2270996.09143 -1741998.58142 25007783.947 25007788.141 25007783.347
+ -1906.091 -1485.266 42.000 36.000
+ -4017412.69843 -3115133.33142 23945064.383 23945065.580 23945062.742
+ 3391.975 2643.097 46.000 40.000
+ -8305281.08043 -6424526.51442 23036682.584 23036684.727 23036680.522
+ -46.232 -36.025 50.000 43.000
+ -15178163.55443 -11780582.96242 22057980.953 22057982.996 22057980.329
+ -719.656 -560.771 52.000 45.000
+ -12250677.18443 -9534641.35042 22806085.773 22806088.771 22806084.589
+ -2743.067 -2137.455 50.000 45.000
+ -20800296.29843 -16150085.60342 21313119.639 21313123.385 21313118.135
+ 2254.969 1757.119 54.000 48.000
+ 04 2 1 20 12 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21827184.77643 -16949352.53542 20652128.849 20652130.700 20652127.862
+ -1760.600 -1371.896 56.000 50.000
+ -13836710.86144 -10776843.21642 20488849.880 20488850.519 20488849.124
+ 888.856 692.615 57.000 51.000
+ -16691628.60243 -12938604.07342 22169040.659 22169041.475 22169039.239
+ -1183.194 -921.969 53.000 46.000
+ -9327619.95043 -7221829.49342 23508825.162 23508828.237 23508824.746
+ 3227.677 2515.073 49.000 42.000
+ -16397973.70843 -12767542.25042 21702953.360 21702956.874 21702951.738
+ 373.841 291.305 54.000 48.000
+ -2213600.25243 -1697274.63542 25018706.363 25018710.026 25018705.418
+ -1919.963 -1496.075 41.000 36.000
+ -4119166.53843 -3194422.03042 23925700.783 23925703.719 23925699.500
+ 3391.835 2642.988 47.000 40.000
+ -8303603.00143 -6423218.90942 23037000.298 23037003.556 23036999.376
+ -65.234 -50.832 49.000 43.000
+ -15156309.70143 -11763553.98842 22062140.185 22062142.001 22062138.563
+ -737.079 -574.347 52.000 46.000
+ -12168228.06543 -9470395.30742 22821775.265 22821778.543 22821774.546
+ -2753.577 -2145.644 50.000 45.000
+ -20867717.22843 -16202621.37242 21300290.039 21300293.207 21300288.414
+ 2239.833 1745.324 54.000 48.000
+ 04 2 1 20 13 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21774187.46344 -16908055.92442 20662214.355 20662215.573 20662213.253
+ -1773.176 -1381.695 57.000 50.000
+ -13863149.23444 -10797444.53242 20483819.219 20483819.771 20483818.297
+ 872.940 680.213 57.000 51.000
+ -16656138.17743 -12910949.20942 22175793.607 22175795.958 22175792.347
+ -1183.610 -922.293 53.000 46.000
+ -9424417.28743 -7297255.98342 23490405.976 23490408.293 23490406.428
+ 3224.502 2512.599 49.000 42.000
+ -16409187.05443 -12776279.91842 21700820.024 21700822.637 21700818.181
+ 372.880 290.556 54.000 48.000
+ -2155833.73143 -1652261.80142 25029699.564 25029702.461 25029698.393
+ -1932.008 -1505.461 43.000 36.000
+ -4220954.29543 -3273737.14742 23906331.857 23906333.322 23906330.393
+ 3393.173 2644.031 47.000 40.000
+ -8301391.25343 -6421495.47542 23037420.618 23037426.144 23037418.962
+ -83.076 -64.734 49.000 43.000
+ -15133963.78743 -11746141.60342 22066392.081 22066394.214 22066391.140
+ -753.416 -587.077 52.000 45.000
+ -12085495.94443 -9405928.75142 22837519.260 22837521.808 22837517.545
+ -2762.616 -2152.688 51.000 45.000
+ -20934715.96343 -16254828.16842 21287540.715 21287543.461 21287539.215
+ 2225.956 1734.511 55.000 48.000
+ 04 2 1 20 13 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21720811.81343 -16866464.50842 20672371.603 20672372.774 20672370.357
+ -1785.178 -1391.048 56.000 50.000
+ -13889104.36144 -10817669.29942 20478879.983 20478880.694 20478879.081
+ 857.277 668.008 57.000 51.000
+ -16620633.07243 -12883282.90542 22182550.042 22182552.246 22182548.598
+ -1183.648 -922.323 53.000 46.000
+ -9521122.23043 -7372610.48742 23472003.603 23472005.139 23472003.358
+ 3222.310 2510.891 49.000 42.000
+ -16420366.25043 -12784990.97842 21698691.937 21698694.819 21698690.674
+ 372.359 290.150 54.000 48.000
+ -2097695.50343 -1606959.37442 25040762.651 25040766.125 25040761.584
+ -1943.852 -1514.690 42.000 36.000
+ -4322771.00743 -3353074.86142 23886956.289 23886957.471 23886955.217
+ 3394.577 2645.125 47.000 40.000
+ -8298644.84943 -6419355.43142 23037944.656 23037948.697 23037943.381
+ -100.151 -78.040 49.000 43.000
+ -15111125.53043 -11728345.57242 22070738.192 22070739.817 22070736.908
+ -769.173 -599.355 52.000 45.000
+ -12002479.97343 -9341241.01442 22853315.525 22853319.310 22853315.187
+ -2772.291 -2160.227 50.000 45.000
+ -21001289.19443 -16306703.40042 21274872.141 21274875.472 21274870.629
+ 2212.115 1723.726 54.000 48.000
+ 04 2 1 20 14 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21667060.14844 -16824580.08942 20682600.323 20682601.418 20682598.757
+ -1797.723 -1400.823 57.000 50.000
+ -13914576.03644 -10837517.34542 20474032.896 20474033.460 20474031.951
+ 841.272 655.537 57.000 51.000
+ -16585112.86543 -12855604.84042 22189309.891 22189310.480 22189308.265
+ -1183.994 -922.593 53.000 46.000
+ -9617732.00843 -7447890.82042 23453619.102 23453621.311 23453618.247
+ 3219.056 2508.355 49.000 42.000
+ -16431511.42443 -12793675.52642 21696571.484 21696574.454 21696570.403
+ 371.196 289.244 54.000 48.000
+ -2039186.84743 -1561368.26242 25051895.384 25051898.811 25051897.084
+ -1956.127 -1524.255 42.000 35.000
+ -4424613.43943 -3432432.60042 23867575.843 23867579.725 23867574.758
+ 3395.340 2645.719 46.000 40.000
+ -8295364.52743 -6416799.34042 23038568.617 23038571.716 23038566.209
+ -117.917 -91.883 49.000 43.000
+ -15087796.25143 -11710166.92542 22075177.872 22075179.317 22075176.835
+ -785.459 -612.046 52.000 45.000
+ -11919181.09943 -9276332.83742 22869167.576 22869170.867 22869166.480
+ -2781.202 -2167.170 50.000 45.000
+ -21067435.60943 -16358246.04642 21262284.305 21262288.013 21262283.446
+ 2198.092 1712.799 54.000 48.000
+ 04 2 1 20 14 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21612934.78844 -16782404.48342 20692899.709 20692901.312 20692898.639
+ -1810.112 -1410.477 57.000 50.000
+ -13939564.53944 -10856988.89342 20469277.961 20469278.272 20469276.662
+ 825.156 642.979 57.000 51.000
+ -16549577.74143 -12827915.15642 22196072.035 22196073.090 22196070.314
+ -1184.484 -922.974 53.000 46.000
+ -9714244.75143 -7523095.54942 23435253.434 23435254.822 23435252.182
+ 3215.810 2505.826 49.000 42.000
+ -16442623.06543 -12802333.94142 21694456.606 21694459.881 21694455.742
+ 370.046 288.348 54.000 48.000
+ -1980309.29143 -1515489.72142 25063101.215 25063104.549 25063098.776
+ -1968.404 -1533.821 41.000 35.000
+ -4526479.07543 -3511808.40842 23848191.151 23848194.604 23848189.279
+ 3396.395 2646.541 46.000 40.000
+ -8291551.40343 -6413828.08042 23039294.853 23039297.525 23039292.414
+ -135.677 -105.722 49.000 43.000
+ -15063977.95843 -11691607.22742 22079709.672 22079712.083 22079708.648
+ -801.578 -624.606 52.000 45.000
+ -11835600.88743 -9211205.41642 22885072.546 22885075.874 22885071.205
+ -2790.577 -2174.475 51.000 45.000
+ -21133154.23943 -16409455.35542 21249778.824 21249782.322 21249777.793
+ 2183.790 1701.655 54.000 48.000
+ 04 2 1 20 15 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21558438.69144 -16739939.99342 20703270.223 20703271.435 20703269.013
+ -1823.014 -1420.530 57.000 50.000
+ -13964070.45444 -10876084.39842 20464614.396 20464615.157 20464613.658
+ 808.585 630.066 57.000 51.000
+ -16514027.32943 -12800213.55742 22202836.749 22202837.961 22202835.554
+ -1185.560 -923.813 53.000 46.000
+ -9810658.09143 -7598222.82842 23416905.927 23416908.712 23416904.785
+ 3211.716 2502.636 48.000 42.000
+ -16453701.93743 -12810966.81642 21692348.980 21692351.319 21692347.401
+ 368.451 287.105 54.000 48.000
+ -1921064.56343 -1469325.07042 25074374.799 25074378.732 25074374.530
+ -1981.440 -1543.979 41.000 36.000
+ -4628364.96543 -3591200.00342 23828802.134 23828804.960 23828799.526
+ 3396.134 2646.338 45.000 40.000
+ -8287207.05143 -6410442.87642 23040120.375 23040124.404 23040119.138
+ -153.929 -119.945 48.000 43.000
+ -15039672.45543 -11672667.88542 22084334.498 22084336.900 22084333.540
+ -818.862 -638.074 52.000 45.000
+ -11751740.77143 -9145859.88342 22901030.982 22901033.964 22901029.733
+ -2800.242 -2182.007 51.000 44.000
+ -21198444.28243 -16460330.70342 21237354.669 21237358.339 21237353.296
+ 2168.946 1690.088 54.000 48.000
+ 04 2 1 20 15 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21503573.74444 -16697188.08342 20713710.606 20713711.664 20713709.425
+ -1834.546 -1429.516 57.000 50.000
+ -13988093.50044 -10894803.64742 20460043.077 20460043.640 20460042.133
+ 793.085 617.988 57.000 51.000
+ -16478461.20443 -12772499.70642 22209605.203 22209605.911 22209603.360
+ -1185.431 -923.712 53.000 46.000
+ -9906969.40143 -7673270.61442 23398579.537 23398580.534 23398578.365
+ 3209.019 2500.534 50.000 43.000
+ -16464748.30043 -12819574.37142 21690247.040 21690249.596 21690245.337
+ 368.019 286.768 54.000 48.000
+ -1861453.92043 -1422875.32342 25085719.058 25085722.887 25085720.385
+ -1992.645 -1552.710 41.000 36.000
+ -4730268.35943 -3670605.23342 23809410.637 23809414.785 23809410.011
+ 3397.183 2647.156 45.000 40.000
+ -8282332.24143 -6406644.33542 23041049.145 23041051.491 23041046.911
+ -170.596 -132.932 48.000 43.000
+ -15014881.32543 -11653350.13642 22089052.694 22089054.443 22089051.551
+ -834.065 -649.921 52.000 45.000
+ -11667601.65943 -9080296.96842 22917041.697 22917044.596 22917039.903
+ -2808.994 -2188.826 50.000 44.000
+ -21263304.23143 -16510870.90542 21225012.284 21225015.340 21225011.056
+ 2155.401 1679.533 54.000 48.000
+ 04 2 1 20 16 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21448342.13244 -16654150.46842 20724220.733 20724222.014 20724219.458
+ -1847.212 -1439.386 57.000 50.000
+ -14011634.01244 -10913146.89242 20455563.316 20455564.095 20455562.571
+ 776.492 605.059 57.000 51.000
+ -16442878.67943 -12744773.08142 22216376.140 22216377.058 22216374.704
+ -1186.494 -924.541 53.000 46.000
+ -10003176.02043 -7748236.80242 23380272.078 23380274.068 23380270.084
+ 3204.887 2497.315 49.000 42.000
+ -16475762.25243 -12828156.66942 21688150.795 21688153.359 21688149.408
+ 366.409 285.514 54.000 48.000
+ -1801478.44043 -1376141.20042 25097130.553 25097135.627 25097130.616
+ -2005.108 -1562.422 40.000 36.000
+ -4832186.07143 -3750021.60942 23790017.206 23790020.410 23790016.702
+ 3397.296 2647.244 46.000 40.000
+ -8276927.96243 -6402433.22042 23042076.004 23042079.608 23042075.009
+ -188.742 -147.072 48.000 43.000
+ -14989606.02243 -11633655.10742 22093862.544 22093864.083 22093861.661
+ -850.606 -662.810 52.000 45.000
+ -11583184.73143 -9014517.55542 22933105.091 22933109.088 22933103.469
+ -2818.677 -2196.372 49.000 43.000
+ -21327732.82343 -16561074.98042 21212751.778 21212754.776 21212750.487
+ 2140.264 1667.738 54.000 48.000
+ 04 2 1 20 16 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21392749.47243 -16610831.51342 20734799.469 20734801.027 20734798.617
+ -1859.637 -1449.068 56.000 50.000
+ -14034695.19944 -10931116.64142 20451175.226 20451175.469 20451174.190
+ 760.266 592.415 58.000 51.000
+ -16407282.38843 -12717035.72942 22223149.848 22223151.168 22223148.072
+ -1187.220 -925.106 53.000 46.000
+ -10099278.55343 -7823121.86642 23361984.482 23361986.637 23361982.518
+ 3201.134 2494.390 49.000 42.000
+ -16486747.27543 -12836716.42642 21686060.205 21686063.413 21686058.963
+ 365.315 284.661 54.000 48.000
+ -1741142.50943 -1329126.19942 25108612.269 25108618.824 25108612.435
+ -2017.890 -1572.382 42.000 36.000
+ -4934118.12743 -3829449.17942 23770621.089 23770622.628 23770619.741
+ 3397.571 2647.458 46.000 40.000
+ -8270998.44143 -6397812.82442 23043205.973 23043208.555 23043203.785
+ -206.678 -161.048 50.000 43.000
+ -14963851.46943 -11613586.62042 22098763.391 22098764.828 22098762.224
+ -866.793 -675.423 52.000 45.000
+ -11498494.09743 -8948524.88442 22949221.781 22949225.532 22949220.777
+ -2827.837 -2203.509 50.000 44.000
+ -21391732.17843 -16610944.58842 21200572.976 21200576.145 21200571.734
+ 2125.879 1656.529 54.000 48.000
+ 04 2 1 20 17 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21336796.22044 -16567231.58142 20745447.021 20745448.869 20745445.769
+ -1870.675 -1457.669 57.000 50.000
+ -14057275.52044 -10948711.68842 20446877.894 20446878.360 20446877.046
+ 744.921 580.458 57.000 51.000
+ -16371670.60743 -12689286.30642 22229926.458 22229926.964 22229925.143
+ -1187.065 -924.986 53.000 46.000
+ -10195272.49843 -7897922.34942 23343717.328 23343718.030 23343716.078
+ 3198.161 2492.074 50.000 42.000
+ -16497701.78643 -12845252.40342 21683975.582 21683978.465 21683974.382
+ 364.963 284.387 54.000 48.000
+ -1680445.97643 -1281830.31442 25120163.662 25120165.112 25120162.072
+ -2028.822 -1580.900 42.000 35.000
+ -5036059.80343 -3908884.24042 23751220.920 23751224.097 23751220.177
+ 3398.581 2648.245 46.000 40.000
+ -8264543.01543 -6392782.63742 23044433.447 23044437.079 23044432.644
+ -223.503 -174.158 48.000 43.000
+ -14937617.41743 -11593144.51842 22103755.266 22103757.512 22103754.183
+ -882.163 -687.400 51.000 45.000
+ -11413529.44243 -8882318.68042 22965390.075 22965392.890 22965388.471
+ -2836.644 -2210.372 50.000 44.000
+ -21455299.36643 -16660477.44842 21188476.631 21188479.790 21188475.693
+ 2112.001 1645.715 54.000 48.000
+ 04 2 1 20 17 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21280484.95543 -16523352.67742 20756162.376 20756163.970 20756161.415
+ -1883.051 -1467.312 56.000 50.000
+ -14079375.01244 -10965932.06242 20442672.805 20442673.171 20442671.961
+ 728.459 567.630 58.000 51.000
+ -16336042.63743 -12661524.27842 22236706.267 22236707.544 22236704.510
+ -1188.102 -925.794 53.000 46.000
+ -10291155.14843 -7972636.11942 23325470.849 23325474.135 23325470.715
+ 3193.968 2488.806 49.000 42.000
+ -16508625.65243 -12853764.50542 21681896.914 21681899.920 21681895.294
+ 363.441 283.201 54.000 48.000
+ -1619389.97643 -1234254.33942 25131783.288 25131785.366 25131782.848
+ -2041.353 -1590.665 43.000 35.000
+ -5138007.89443 -3988324.30042 23731822.341 23731824.400 23731821.169
+ 3398.133 2647.896 46.000 40.000
+ -8257562.62543 -6387343.39042 23045762.227 23045765.491 23045760.335
+ -241.614 -188.271 49.000 43.000
+ -14910905.58343 -11572330.10142 22108838.536 22108840.807 22108836.988
+ -898.792 -700.357 51.000 45.000
+ -11328291.79243 -8815899.76842 22981609.219 22981613.930 22981608.600
+ -2846.044 -2217.697 49.000 44.000
+ -21518433.11243 -16709672.56142 21176462.706 21176466.144 21176461.117
+ 2097.161 1634.151 54.000 48.000
+ 04 2 1 20 18 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21223816.34843 -16479195.32042 20766946.444 20766947.487 20766945.019
+ -1895.075 -1476.682 56.000 50.000
+ -14100992.27244 -10982776.67042 20438558.972 20438559.558 20438558.111
+ 712.275 555.019 57.000 51.000
+ -16300396.30243 -12633747.92242 22243489.117 22243490.747 22243487.764
+ -1188.791 -926.331 53.000 46.000
+ -10386922.49643 -8047260.02542 23307246.721 23307249.316 23307245.426
+ 3190.078 2485.775 49.000 43.000
+ -16519517.73843 -12862251.84042 21679824.692 21679827.477 21679823.124
+ 362.258 282.279 54.000 48.000
+ -1557974.34443 -1186398.07242 25143468.031 25143474.475 25143469.681
+ -2053.862 -1600.412 39.000 35.000
+ -5239957.75343 -4067765.74042 23712421.581 23712423.397 23712420.982
+ 3398.335 2648.053 47.000 40.000
+ -8250056.91143 -6381494.77842 23047190.724 23047194.024 23047189.646
+ -259.161 -201.944 49.000 43.000
+ -14883716.02743 -11551143.45142 22114012.459 22114015.332 22114011.409
+ -915.009 -712.994 52.000 45.000
+ -11242780.78243 -8749267.82842 22997881.519 22997885.752 22997880.535
+ -2855.271 -2224.886 50.000 44.000
+ -21581130.58643 -16758527.72042 21164531.932 21164535.154 21164530.626
+ 2082.518 1622.741 54.000 48.000
+ 04 2 1 20 18 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21166796.41443 -16434764.21342 20777797.010 20777798.173 20777795.775
+ -1907.119 -1486.067 56.000 50.000
+ -14122131.39144 -10999248.69942 20434536.649 20434536.705 20434535.529
+ 696.017 542.351 57.000 51.000
+ -16264735.04043 -12605959.95042 22250275.760 22250276.434 22250274.585
+ -1189.596 -926.958 53.000 46.000
+ -10482575.77043 -8121795.04642 23289044.558 23289048.461 23289043.880
+ 3185.908 2482.526 49.000 43.000
+ -16530382.27143 -12870717.71242 21677756.620 21677760.007 21677755.602
+ 361.009 281.306 54.000 48.000
+ -1496204.41543 -1138265.72142 25155222.901 25155228.785 25155223.540
+ -2065.502 -1609.482 40.000 35.000
+ -5341910.25443 -4147209.22942 23693021.621 23693021.574 23693020.560
+ 3397.752 2647.599 48.000 40.000
+ -8242030.83343 -6375240.69442 23048716.726 23048720.804 23048715.504
+ -276.894 -215.761 48.000 43.000
+ -14856054.37143 -11529588.91742 22119276.648 22119278.817 22119274.910
+ -930.378 -724.970 51.000 45.000
+ -11157001.36843 -8682426.75942 23014205.359 23014209.065 23014204.758
+ -2864.486 -2232.067 50.000 44.000
+ -21643394.63943 -16807045.15042 21152683.306 21152686.352 21152682.151
+ 2067.666 1611.168 54.000 48.000
+ 04 2 1 20 19 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21109429.92743 -16390063.05642 20788713.164 20788714.561 20788711.942
+ -1917.700 -1494.312 56.000 50.000
+ -14142794.85544 -11015350.08742 20430604.324 20430604.630 20430603.404
+ 681.080 530.712 57.000 51.000
+ -16229060.95543 -12578161.97742 22257064.938 22257065.628 22257063.517
+ -1189.189 -926.641 53.000 46.000
+ -10578114.70943 -8196240.96942 23270863.926 23270868.667 23270862.326
+ 3182.958 2480.227 49.000 43.000
+ -16541221.47443 -12879163.83942 21675694.276 21675696.715 21675692.569
+ 361.103 281.379 54.000 48.000
+ -1434083.73643 -1089860.08242 25167045.790 25167048.905 25167043.545
+ -2076.445 -1618.009 41.000 34.000
+ -5443864.64343 -4226654.19442 23673618.988 23673621.436 23673617.152
+ 3398.765 2648.388 47.000 40.000
+ -8233487.85343 -6368583.85142 23050342.921 23050346.237 23050340.438
+ -292.877 -228.216 48.000 43.000
+ -14827924.56643 -11507669.59442 22124629.097 22124631.656 22124628.876
+ -945.198 -736.518 51.000 45.000
+ -11070957.05943 -8615379.26142 23030579.625 23030582.615 23030578.653
+ -2872.418 -2238.248 51.000 44.000
+ -21705226.49243 -16855225.80342 21140916.829 21140920.340 21140915.976
+ 2054.119 1600.612 54.000 48.000
+ 04 2 1 20 19 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21051708.71943 -16345085.50242 20799697.395 20799698.987 20799695.993
+ -1929.607 -1503.590 56.000 50.000
+ -14162972.55044 -11031072.96042 20426764.539 20426764.954 20426763.835
+ 664.831 518.050 57.000 51.000
+ -16193362.91343 -12550345.34942 22263857.529 22263858.497 22263855.915
+ -1190.009 -927.280 53.000 46.000
+ -10673526.29443 -8270587.64142 23252707.482 23252710.457 23252706.533
+ 3178.534 2476.780 49.000 43.000
+ -16552025.14243 -12887582.27342 21673638.217 21673641.455 21673636.965
+ 359.885 280.430 54.000 48.000
+ -1371603.27243 -1041174.07042 25178934.617 25178936.590 25178931.669
+ -2088.084 -1627.078 41.000 34.000
+ -5545807.60743 -4306090.25942 23654219.613 23654221.821 23654218.813
+ 3398.529 2648.204 47.000 40.000
+ -8224418.89343 -6361517.12442 23052068.172 23052071.309 23052066.012
+ -310.646 -242.062 48.000 43.000
+ -14799318.07343 -11485378.84142 22130072.931 22130075.296 22130072.277
+ -961.179 -748.971 51.000 45.000
+ -10984638.66843 -8548118.20342 23047005.078 23047007.972 23047004.354
+ -2881.143 -2245.046 51.000 44.000
+ -21766614.57443 -16903060.65642 21129234.889 21129238.944 21129233.732
+ 2039.227 1589.008 54.000 48.000
+ 04 2 1 20 20 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20993647.16143 -16299842.73542 20810746.108 20810747.745 20810744.596
+ -1941.166 -1512.597 56.000 50.000
+ -14182676.46944 -11046426.65342 20423014.817 20423015.523 20423013.987
+ 648.792 505.552 57.000 51.000
+ -16157651.88243 -12522518.58742 22270652.749 22270653.808 22270651.099
+ -1190.592 -927.734 52.000 46.000
+ -10768819.47743 -8344842.05542 23234573.792 23234576.813 23234573.925
+ 3174.414 2473.569 50.000 43.000
+ -16562805.15143 -12895982.27142 21671586.458 21671589.507 21671585.241
+ 358.783 279.571 54.000 47.000
+ -1308776.12943 -992217.94442 25190890.372 25190892.857 25190887.614
+ -2100.216 -1636.532 41.000 35.000
+ -5647747.57843 -4385523.99642 23634819.971 23634823.245 23634820.347
+ 3397.793 2647.631 46.000 40.000
+ -8214836.81943 -6354050.57342 23053892.058 23053895.208 23053891.469
+ -328.070 -255.639 49.000 43.000
+ -14770248.27343 -11462727.06542 22135605.001 22135607.329 22135604.192
+ -976.724 -761.084 51.000 45.000
+ -10898059.11043 -8480653.62442 23063480.164 23063484.196 23063479.069
+ -2890.352 -2252.222 50.000 44.000
+ -21827569.49443 -16950557.97742 21117635.836 21117638.871 21117634.611
+ 2024.496 1577.529 55.000 48.000
+ 04 2 1 20 20 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20935242.13443 -16254332.32942 20821860.170 20821861.739 20821858.790
+ -1952.310 -1521.280 56.000 50.000
+ -14201901.68844 -11061407.33342 20419356.711 20419357.049 20419355.790
+ 633.038 493.276 58.000 51.000
+ -16121922.92243 -12494677.86742 22277451.798 22277453.516 22277450.482
+ -1191.107 -928.135 52.000 46.000
+ -10863986.57643 -8418998.23342 23216465.089 23216467.399 23216463.142
+ 3170.376 2470.423 49.000 43.000
+ -16573556.82043 -12904360.20242 21669540.878 21669543.640 21669539.777
+ 358.199 279.116 54.000 48.000
+ -1245598.77943 -942988.90342 25202912.190 25202917.342 25202907.574
+ -2111.009 -1644.942 40.000 35.000
+ -5749676.39543 -4464949.04842 23615423.399 23615427.319 23615423.513
+ 3397.788 2647.627 46.000 40.000
+ -8204737.85643 -6346181.27342 23055814.905 23055817.339 23055812.619
+ -344.874 -268.733 49.000 43.000
+ -14740711.79643 -11439711.63842 22141224.828 22141227.115 22141223.356
+ -992.361 -773.268 51.000 45.000
+ -10811214.64743 -8412982.67042 23080006.106 23080009.031 23080004.984
+ -2898.961 -2258.931 49.000 43.000
+ -21888085.29543 -16997713.13942 21106120.148 21106123.472 21106119.191
+ 2010.061 1566.281 54.000 48.000
+ 04 2 1 20 21 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20876496.34643 -16208556.40142 20833038.991 20833040.742 20833037.806
+ -1963.542 -1530.033 56.000 50.000
+ -14220649.07444 -11076015.67742 20415789.170 20415789.413 20415788.353
+ 617.145 480.892 58.000 51.000
+ -16086175.43843 -12466822.70942 22284254.327 22284255.316 22284252.822
+ -1191.713 -928.607 53.000 46.000
+ -10959025.43143 -8493054.46142 23198379.869 23198383.008 23198378.195
+ 3166.023 2467.031 50.000 43.000
+ -16584280.51743 -12912716.32542 21667500.502 21667503.394 21667498.835
+ 357.249 278.376 54.000 48.000
+ -1182072.92843 -893488.28742 25215002.071 25215003.517 25215002.697
+ -2123.382 -1654.583 41.000 34.000
+ -5851591.34643 -4544363.27742 23596029.692 23596034.404 23596028.277
+ 3397.014 2647.024 47.000 40.000
+ -8194123.68443 -6337910.49742 23057834.527 23057837.142 23057831.995
+ -362.110 -282.164 49.000 43.000
+ -14710711.11043 -11416334.49542 22146934.684 22146936.693 22146934.088
+ -1007.485 -785.053 52.000 45.000
+ -10724106.90843 -8345106.52542 23096582.464 23096585.538 23096581.594
+ -2907.884 -2265.884 49.000 43.000
+ -21948161.19543 -17044525.51842 21094688.148 21094691.542 21094686.808
+ 1995.319 1554.794 54.000 48.000
+ 04 2 1 20 21 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20817411.88743 -16162516.57042 20844282.478 20844284.197 20844281.385
+ -1974.531 -1538.595 56.000 50.000
+ -14238918.62444 -11090251.68242 20412312.755 20412312.885 20412311.829
+ 601.663 468.828 58.000 51.000
+ -16050408.58743 -12438952.46742 22291060.221 22291062.488 22291059.247
+ -1191.854 -928.717 52.000 46.000
+ -11053933.01643 -8567008.43342 23180319.781 23180322.173 23180319.394
+ 3161.946 2463.854 50.000 43.000
+ -16594975.90543 -12921050.39942 21665464.861 21665467.877 21665464.073
+ 356.674 277.928 54.000 48.000
+ -1118199.72543 -843717.09742 25227158.195 25227156.287 25227157.101
+ -2133.766 -1662.675 40.000 33.000
+ -5953489.09643 -4623764.10142 23576640.344 23576642.082 23576638.557
+ 3396.910 2646.943 46.000 40.000
+ -8182995.13643 -6329238.91642 23059950.643 23059955.188 23059950.048
+ -378.813 -295.179 48.000 43.000
+ -14680247.63743 -11392596.73542 22152731.561 22152733.784 22152730.512
+ -1022.208 -796.526 52.000 45.000
+ -10636736.76443 -8277025.91642 23113208.039 23113211.863 23113206.666
+ -2916.017 -2272.221 49.000 43.000
+ -22007795.91643 -17090994.11942 21083340.515 21083343.216 21083339.056
+ 1981.024 1543.655 54.000 48.000
+ 04 2 1 20 22 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20757992.36243 -16116215.65342 20855589.388 20855591.302 20855588.373
+ -1985.993 -1547.527 56.000 50.000
+ -14256711.86244 -11104116.53242 20408926.556 20408926.956 20408925.666
+ 585.393 456.150 58.000 51.000
+ -16014623.58543 -12411068.07642 22297870.666 22297872.468 22297868.897
+ -1192.941 -929.564 52.000 46.000
+ -11148708.25043 -8640859.24842 23162283.723 23162286.624 23162282.149
+ 3157.151 2460.118 49.000 43.000
+ -16605644.35643 -12929363.47242 21663435.177 21663438.305 21663433.755
+ 355.437 276.964 54.000 48.000
+ -793677.34042 25239376.406 25239379.347
+ -2146.530 -1672.621 38.000 32.000
+ -6055367.97743 -4703150.23442 23557253.781 23557254.855 23557253.876
+ 3395.769 2646.054 47.000 40.000
+ -8171355.00743 -6320168.68442 23062166.143 23062170.072 23062164.263
+ -396.177 -308.709 49.000 43.000
+ -14649324.36843 -11368500.69442 22158616.776 22158617.907 22158614.620
+ -1038.313 -809.075 52.000 45.000
+ -10549106.84543 -8208742.88942 23129883.627 23129886.955 23129881.466
+ -2925.052 -2279.261 49.000 43.000
+ -22066989.69543 -17137119.13942 21072075.814 21072079.078 21072074.384
+ 1966.034 1531.975 55.000 48.000
+ 04 2 1 20 22 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20698244.09643 -16069658.57442 20866959.236 20866960.971 20866958.361
+ -1996.730 -1555.893 56.000 50.000
+ -14274032.85244 -11117613.40342 20405630.601 20405630.757 20405629.463
+ 569.729 443.945 58.000 51.000
+ -15978823.16743 -12383171.67842 22304682.104 22304683.592 22304681.142
+ -1193.477 -929.982 52.000 46.000
+ -11243352.04643 -8714607.65842 23144273.255 23144276.931 23144272.408
+ 3152.664 2456.621 49.000 43.000
+ -16616289.81043 -12937658.63342 21661408.648 21661412.511 21661407.697
+ 354.671 276.367 54.000 48.000
+ -4140264.82953 -3198573.13552 25251660.876 25251665.186 25251662.203
+ -2157.679 -1681.308 40.000 33.000
+ -6157228.27843 -4782521.89242 23537870.010 23537871.933 23537869.899
+ 3395.269 2645.664 48.000 40.000
+ -8159207.98143 -6310703.48242 23064476.549 23064480.643 23064474.920
+ -413.049 -321.856 48.000 43.000
+ -14617946.98743 -11344050.79342 22164586.975 22164589.425 22164585.660
+ -1052.908 -820.448 52.000 45.000
+ -10461222.04243 -8140261.26442 23146606.729 23146611.720 23146606.718
+ -2933.499 -2285.843 49.000 43.000
+ -22125745.27043 -17182902.69142 21060895.088 21060898.323 21060893.745
+ 1951.181 1520.401 55.000 48.000
+ 04 2 1 20 23 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20638162.07143 -16022841.41942 20878392.552 20878394.276 20878391.453
+ -2008.725 -1565.240 56.000 50.000
+ -14290874.58744 -11130736.82042 20402425.984 20402426.012 20402425.038
+ 552.955 430.874 58.000 51.000
+ -15942999.26543 -12355256.96942 22311500.508 22311501.712 22311498.708
+ -1194.939 -931.121 53.000 46.000
+ -11337854.13743 -8788245.63442 23126290.692 23126294.261 23126290.404
+ 3147.161 2452.333 50.000 43.000
+ -16626905.01243 -12945930.22442 21659389.358 21659392.797 21659387.559
+ 352.888 274.978 54.000 48.000
+ -4075362.30353 -3147999.80652 25264014.228 25264014.947 25264012.573
+ -2169.127 -1690.229 39.000 34.000
+ -6259059.60943 -4861870.98342 23518492.261 23518494.900 23518492.006
+ 3393.382 2644.194 48.000 41.000
+ -8146548.12243 -6300838.67242 23066887.164 23066890.402 23066885.006
+ -431.330 -336.101 48.000 43.000
+ -14586110.01943 -11319242.77342 22170644.578 22170648.315 22170643.845
+ -1069.432 -833.324 51.000 45.000
+ -10373076.21043 -8071576.22742 23163381.520 23163385.124 23163381.538
+ -2943.063 -2293.296 49.000 43.000
+ -22184054.17043 -17228338.17742 21049798.877 21049801.959 21049797.596
+ 1935.773 1508.395 54.000 48.000
+ 04 2 1 20 23 30.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20577755.28443 -15975771.20142 20889887.502 20889889.377 20889886.527
+ -2019.017 -1573.260 56.000 50.000
+ -14307244.12544 -11143492.30042 20399310.742 20399310.810 20399309.858
+ 537.686 418.976 57.000 51.000
+ -15907158.36443 -12327329.02142 22318320.072 22318321.395 22318318.909
+ -1195.113 -931.257 52.000 46.000
+ -11432218.76743 -8861776.51942 23108333.657 23108337.573 23108331.600
+ 3143.094 2449.164 50.000 43.000
+ -16637496.90843 -12954183.65042 21657373.410 21657376.619 21657372.267
+ 352.603 274.756 54.000 48.000
+ -4010122.47453 -3097163.64052 25276424.422 25276432.710 25276424.025
+ -2180.719 -1699.261 36.000 33.000
+ -6360865.36143 -4941200.12342 23499119.336 23499124.100 23499118.611
+ 3393.045 2643.931 48.000 41.000
+ -8133383.47843 -6290580.52042 23069392.496 23069395.181 23069391.596
+ -447.472 -348.679 49.000 43.000
+ -14553821.81743 -11294083.15642 22176789.585 22176791.967 22176788.408
+ -1084.064 -844.725 51.000 45.000
+ -10284677.22043 -8002693.94142 23180203.537 23180206.145 23180201.956
+ -2950.933 -2299.428 49.000 43.000
+ -22241922.14043 -17273430.08342 21038787.428 21038790.297 21038786.144
+ 1921.410 1497.203 55.000 48.000
+ 04 2 1 20 24 0.0000000 0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20517023.88143 -15928448.03642 20901444.780 20901446.178 20901443.407
+ -2029.846 -1581.698 56.000 50.000
+ -14323139.87944 -11155878.59442 20396286.026 20396285.973 20396284.873
+ 521.851 406.637 58.000 51.000
+ -15871297.36843 -12299385.41142 22325144.654 22325145.188 22325142.833
+ -1195.858 -931.837 53.000 46.000
+ -11526441.27743 -8935196.65742 23090403.599 23090405.026 23090402.201
+ 3138.232 2445.376 49.000 43.000
+ -16648063.43943 -12962417.30842 21655363.124 21655366.251 21655361.652
+ 351.638 274.004 54.000 48.000
+ -3046064.51452 25288904.294 25288909.590
+ -2191.411 -1707.593 39.000 32.000
+ -6462640.57543 -5020505.48642 23479751.892 23479753.638 23479751.677
+ 3391.913 2643.049 48.000 41.000
+ -8119713.46843 -6279928.57142 23071993.595 23071996.737 23071991.465
+ -464.323 -361.810 49.000 43.000
+ -14521082.59943 -11268572.08942 22183018.812 22183021.332 22183018.550
+ -1098.892 -856.279 51.000 45.000
+ -10196024.56243 -7933613.97742 23197073.358 23197077.794 23197072.375
+ -2959.405 -2306.030 48.000 43.000
+ -22299346.37343 -17318176.21242 21027859.848 21027862.956 21027858.647
+ 1906.517 1485.598 55.000 48.000
+ 04 2 1 20 24 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20455968.72043 -15880872.59242 20913062.791 20913064.677 20913061.930
+ -2040.914 -1590.322 56.000 50.000
+ -14338560.83944 -11167894.91642 20393351.000 20393351.643 20393350.291
+ 505.714 394.063 57.000 51.000
+ -15835415.15243 -12271425.26842 22331972.118 22331974.121 22331970.261
+ -1196.824 -932.590 52.000 46.000
+ -11620517.19843 -9008502.57942 23072500.818 23072503.539 23072499.814
+ 3133.066 2441.350 50.000 44.000
+ -16658603.16343 -12970630.08942 21653356.838 21653359.952 21653355.654
+ 350.482 273.103 54.000 48.000
+ -6564380.86043 -5099783.63242 23460391.455 23460393.352 23460390.145
+ 3390.488 2641.939 48.000 41.000
+ -8105538.08043 -6268882.82742 23074692.318 23074694.869 23074690.545
+ -481.201 -374.962 49.000 43.000
+ -14487892.59043 -11242709.76142 22189336.118 22189337.909 22189335.461
+ -1114.310 -868.293 52.000 45.000
+ -10107118.06143 -7864336.22242 23213990.777 23213994.521 23213991.065
+ -2967.947 -2312.686 47.000 43.000
+ -22356324.40243 -17362574.66142 21017017.205 21017020.502 21017016.054
+ 1891.513 1473.906 55.000 49.000
+ 04 2 1 20 25 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20394596.00943 -15833049.71142 20924742.331 20924743.359 20924740.912
+ -2050.843 -1598.059 56.000 50.000
+ -14353511.34744 -11179544.65442 20390506.173 20390506.582 20390505.462
+ 490.708 382.370 57.000 51.000
+ -15799514.34043 -12243450.63242 22338804.897 22338805.565 22338803.685
+ -1196.780 -932.556 53.000 46.000
+ -11714447.78043 -9081695.23842 23054626.396 23054630.291 23054625.903
+ 3128.625 2437.890 49.000 43.000
+ -16669119.93043 -12978824.97142 21651356.200 21651358.958 21651354.509
+ 350.415 273.051 54.000 48.000
+ -6666086.56443 -5179034.81942 23441037.640 23441040.182 23441034.905
+ 3389.706 2641.329 48.000 40.000
+ -8090862.52243 -6257447.33342 23077484.002 23077488.211 23077481.623
+ -497.358 -387.552 49.000 43.000
+ -14454257.60043 -11216500.68942 22195735.927 22195739.166 22195735.376
+ -1128.474 -879.330 52.000 45.000
+ -10017962.71443 -7794864.57042 23230957.119 23230960.551 23230956.366
+ -2975.562 -2318.620 48.000 42.000
+ -22412859.10343 -17406627.64642 21006258.949 21006262.155 21006257.850
+ 1877.364 1462.881 55.000 48.000
+ 04 2 1 20 25 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20332904.51543 -15784978.43042 20936481.179 20936482.924 20936479.965
+ -2061.544 -1606.398 56.000 49.000
+ -14367988.13344 -11190825.25942 20387751.617 20387751.740 20387750.665
+ 474.797 369.972 58.000 51.000
+ -15763590.57643 -12215458.11542 22345640.543 22345642.010 22345638.960
+ -1197.818 -933.365 53.000 46.000
+ -11808226.89843 -9154769.88642 23036781.503 23036784.847 23036780.938
+ 3123.505 2433.900 50.000 43.000
+ -16679610.48743 -12986999.42442 21649359.699 21649362.457 21649358.725
+ 349.410 272.268 54.000 48.000
+ -6767750.92743 -5258253.79742 23421690.737 23421693.631 23421690.653
+ 3388.368 2640.287 48.000 40.000
+ -8075684.64343 -6245620.45242 23080372.464 23080375.238 23080370.707
+ -514.112 -400.607 49.000 43.000
+ -14420176.01643 -11189943.62242 22202221.583 22202224.598 22202221.049
+ -1143.561 -891.086 52.000 46.000
+ -9928556.36443 -7725197.31842 23247971.919 23247974.661 23247969.783
+ -2984.231 -2325.375 48.000 43.000
+ -22468946.15143 -17450331.81042 20995586.129 20995588.919 20995584.717
+ 1862.343 1451.176 55.000 48.000
+ 04 2 1 20 26 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20270902.25443 -15736664.99142 20948280.230 20948281.608 20948278.712
+ -2071.528 -1614.178 56.000 49.000
+ -14381997.67144 -11201741.77242 20385085.680 20385085.712 20385084.618
+ 459.472 358.030 58.000 51.000
+ -15727649.51743 -12187452.13542 22352479.321 22352482.023 22352477.062
+ -1197.954 -933.471 52.000 45.000
+ -11901857.58843 -9227728.84942 23018963.353 23018967.914 23018963.632
+ 3118.876 2430.293 49.000 43.000
+ -16690080.38043 -12995157.78842 21647368.011 21647370.251 21647366.187
+ 349.011 271.957 54.000 48.000
+ -6869376.65943 -5337442.66242 23402353.565 23402353.465 23402351.829
+ 3387.085 2639.287 48.000 41.000
+ -8060011.81543 -6233407.85742 23083354.598 23083357.335 23083354.171
+ -530.298 -413.219 49.000 43.000
+ -14385655.82843 -11163044.78242 22208790.488 22208793.562 22208789.503
+ -1157.526 -901.968 52.000 46.000
+ -9838906.17943 -7655340.06642 23265030.548 23265034.867 23265029.751
+ -2991.902 -2331.352 48.000 43.000
+ -22524590.36343 -17493690.91542 20984997.372 20985000.449 20984996.043
+ 1847.616 1439.701 55.000 48.000
+ 04 2 1 20 26 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20208583.96843 -15688105.29542 20960138.652 20960140.644 20960137.248
+ -2082.448 -1622.687 56.000 49.000
+ -14395532.15744 -11212288.12242 20382509.779 20382510.337 20382508.996
+ 443.302 345.430 57.000 51.000
+ -15691682.98243 -12159426.29442 22359323.564 22359325.428 22359322.729
+ -1199.223 -934.459 52.000 46.000
+ -11995328.98843 -9300563.71742 23001176.398 23001181.198 23001175.721
+ 3113.088 2425.783 49.000 43.000
+ -16700521.67643 -13003293.86842 21645380.746 21645383.325 21645379.085
+ 347.660 270.904 54.000 48.000
+ -6970952.69143 -5416592.80942 23383024.153 23383025.086 23383021.828
+ 3385.082 2637.726 48.000 41.000
+ -8043837.35743 -6220804.39242 23086433.082 23086434.220 23086431.622
+ -547.597 -426.699 49.000 43.000
+ -14350690.69843 -11135799.25142 22215444.265 22215446.480 22215443.037
+ -1172.709 -913.799 52.000 45.000
+ -9749005.22843 -7585287.43042 23282138.289 23282142.667 23282137.169
+ -3000.821 -2338.302 48.000 43.000
+ -22579782.91343 -17536698.07642 20974494.360 20974497.692 20974493.179
+ 1832.122 1427.628 55.000 49.000
+ 04 2 1 20 27 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20145957.88743 -15639305.76542 20972055.912 20972057.577 20972054.615
+ -2093.151 -1631.027 56.000 49.000
+ -14408598.32644 -11222469.54642 20380023.511 20380023.877 20380022.565
+ 427.165 332.856 57.000 51.000
+ -15655695.65643 -12131384.25542 22366171.729 22366173.662 22366170.964
+ -1200.591 -935.525 53.000 46.000
+ -12088644.39843 -9373277.02542 22983418.293 22983423.347 22983418.711
+ 3107.397 2421.348 48.000 43.000
+ -16710940.56943 -13011412.49342 21643398.294 21643400.806 21643396.312
+ 346.348 269.882 55.000 48.000
+ -7072481.75643 -5495706.36942 23363702.792 23363704.749 23363701.646
+ 3382.764 2635.920 47.000 41.000
+ -8027168.82243 -6207815.94342 23089604.318 23089607.229 23089602.536
+ -564.628 -439.970 48.000 43.000
+ -14315288.62143 -11108213.23042 22222181.675 22222182.531 22222180.038
+ -1187.773 -925.537 52.000 45.000
+ -9658861.10843 -7515045.29542 23299292.588 23299296.772 23299291.911
+ -3009.446 -2345.023 49.000 43.000
+ -22634528.95543 -17579357.31342 20964076.387 20964079.507 20964075.274
+ 1816.949 1415.804 55.000 48.000
+ 04 2 1 20 27 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20083026.65443 -15590268.45142 20984031.607 20984033.366 20984030.132
+ -2103.072 -1638.757 56.000 49.000
+ -14421196.84544 -11232286.56442 20377625.965 20377626.455 20377625.191
+ 411.845 320.918 58.000 51.000
+ -15619687.05643 -12103325.63042 22373024.320 22373026.294 22373023.244
+ -1201.100 -935.922 53.000 46.000
+ -12181801.33943 -9445866.83942 22965692.995 22965696.544 22965692.021
+ 3102.213 2417.309 50.000 43.000
+ -16721337.11943 -13019513.70342 21641419.540 21641422.629 21641418.180
+ 345.909 269.539 54.000 48.000
+ -7173960.86643 -5574780.99242 23344392.076 23344394.957 23344391.119
+ 3381.468 2634.910 47.000 41.000
+ -8010007.87243 -6194443.79042 23092870.233 23092872.961 23092869.859
+ -580.467 -452.312 49.000 43.000
+ -14279451.88243 -11080288.51542 22229000.706 22229002.411 22228999.323
+ -1201.885 -936.534 52.000 45.000
+ -9568475.26143 -7444614.81942 23316491.918 23316495.463 23316491.352
+ -3017.190 -2351.057 48.000 43.000
+ -22688827.79743 -17621668.08242 20953743.975 20953746.928 20953742.681
+ 1802.291 1404.383 55.000 49.000
+ 04 2 1 20 28 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20019792.08443 -15540994.77542 20996064.657 20996066.138 20996063.478
+ -2113.406 -1646.810 56.000 49.000
+ -14433328.21944 -11241739.57642 20375317.532 20375317.911 20375316.566
+ 396.019 308.586 58.000 51.000
+ -15583656.73143 -12075250.07742 22379880.697 22379882.389 22379879.679
+ -1201.750 -936.428 53.000 45.000
+ -12274796.97243 -9518330.96342 22947996.117 22947999.453 22947995.229
+ 3096.655 2412.978 49.000 43.000
+ -16731711.30643 -13027597.49442 21639444.947 21639448.327 21639443.403
+ 344.949 268.791 54.000 48.000
+ -7275386.76943 -5653814.15342 23325091.199 23325093.605 23325090.573
+ 3379.430 2633.322 48.000 41.000
+ -7992356.30143 -6180689.33342 23096228.598 23096232.706 23096227.128
+ -597.247 -465.387 49.000 43.000
+ -14243182.72643 -11052026.85042 22235902.567 22235904.073 22235901.115
+ -1217.039 -948.342 51.000 45.000
+ -9477849.00543 -7373996.99242 23333737.962 23333741.173 23333736.542
+ -3025.128 -2357.242 48.000 42.000
+ -22742678.60343 -17663629.73442 20943496.604 20943499.313 20943495.068
+ 1787.167 1392.598 55.000 49.000
+ 04 2 1 20 28 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19956252.89643 -15491483.73342 21008155.542 21008157.536 21008154.377
+ -2122.470 -1653.873 56.000 49.000
+ -14444989.26744 -11250826.10142 20373098.316 20373099.021 20373097.493
+ 381.315 297.128 57.000 51.000
+ -15547600.25143 -12047154.15842 22386742.452 22386744.155 22386741.343
+ -1201.903 -936.548 53.000 46.000
+ -12367625.00743 -9590664.51342 22930331.399 22930334.619 22930331.292
+ 3091.868 2409.248 50.000 44.000
+ -16742059.33443 -13035660.89942 21637476.459 21637479.269 21637474.566
+ 345.077 268.891 54.000 48.000
+ -7376752.69543 -5732800.59942 23305802.292 23305803.615 23305800.500
+ 3378.300 2632.442 48.000 42.000
+ -7974212.00543 -6166550.93442 23099681.897 23099686.083 23099680.652
+ -612.758 -477.474 49.000 43.000
+ -14206479.46843 -11023426.92542 22242887.293 22242888.627 22242885.217
+ -1230.134 -958.546 51.000 45.000
+ -9386979.90843 -7303189.96242 23351029.550 23351033.400 23351028.843
+ -3032.580 -2363.049 47.000 42.000
+ -22796076.94243 -17705238.81642 20933334.713 20933337.866 20933333.449
+ 1772.899 1381.480 55.000 48.000
+ 04 2 1 20 29 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19892417.29843 -15441741.72442 21020303.249 21020305.158 21020302.091
+ -2132.566 -1661.740 56.000 49.000
+ -14456185.98144 -11259550.80442 20370967.267 20370968.363 20370966.920
+ 365.739 284.991 57.000 51.000
+ -15511522.67743 -12019041.79642 22393607.634 22393609.958 22393605.833
+ -1202.709 -937.176 53.000 45.000
+ -12460287.96143 -9662869.40842 22912698.412 22912701.679 22912696.969
+ 3086.294 2404.904 50.000 44.000
+ -16752386.80343 -13043708.29142 21635510.668 21635513.251 21635509.650
+ 344.119 268.145 54.000 48.000
+ -7478060.66743 -5811741.87542 23286525.407 23286525.891 23286523.491
+ 3376.289 2630.875 48.000 41.000
+ -7955581.85543 -6152033.95842 23103226.764 23103230.363 23103224.905
+ -628.793 -489.968 48.000 43.000
+ -14169349.45043 -10994494.45542 22249951.947 22249954.160 22249951.235
+ -1244.393 -969.657 51.000 45.000
+ -9295874.79743 -7232199.02142 23368367.253 23368369.920 23368365.448
+ -3040.511 -2369.229 49.000 43.000
+ -22849027.43443 -17746498.93042 20923259.015 20923262.057 20923257.817
+ 1757.811 1369.723 55.000 49.000
+ 04 2 1 20 29 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19828283.89143 -15391767.65542 21032507.090 21032509.210 21032506.175
+ -2142.457 -1669.447 56.000 49.000
+ -14466915.45044 -11267911.42742 20368925.968 20368926.487 20368924.989
+ 350.102 272.807 58.000 51.000
+ -15475419.58443 -11990909.53342 22400477.914 22400478.712 22400475.841
+ -1203.700 -937.948 53.000 45.000
+ -12552779.56543 -9734940.79542 22895097.799 22895101.099 22895095.749
+ 3080.386 2400.301 50.000 44.000
+ -16762689.81743 -13051736.61742 21633550.146 21633552.554 21633548.821
+ 343.282 267.492 54.000 48.000
+ -7579304.07043 -5890632.82442 23267258.411 23267261.330 23267258.605
+ 3373.739 2628.887 48.000 41.000
+ -7936463.85343 -6137136.80942 23106864.724 23106868.361 23106863.853
+ -645.305 -502.835 49.000 43.000
+ -14131791.12143 -10965228.23542 22257099.104 22257101.767 22257098.621
+ -1258.842 -980.916 51.000 45.000
+ -9204531.44843 -7161022.40942 23385748.559 23385752.390 23385747.489
+ -3048.412 -2375.386 49.000 43.000
+ -22901525.72343 -17787406.66842 20913268.720 20913271.906 20913267.394
+ 1742.633 1357.896 55.000 49.000
+ 04 2 1 20 30 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19763857.72643 -15341565.46842 21044767.035 21044768.890 21044766.060
+ -2153.176 -1677.799 56.000 49.000
+ -14477180.78444 -11275910.38042 20366972.880 20366973.031 20366972.015
+ 333.598 259.946 58.000 52.000
+ -15439292.83943 -11962758.84042 22407352.545 22407354.077 22407351.486
+ -1205.507 -939.356 53.000 45.000
+ -12645099.69943 -9806878.57242 22877529.433 22877532.816 22877528.275
+ 3073.507 2394.941 50.000 44.000
+ -16772970.88143 -13059747.83842 21631593.559 21631596.715 21631592.607
+ 341.378 266.009 54.000 48.000
+ -7680482.27743 -5969472.97942 23248004.558 23248005.646 23248002.959
+ 3370.546 2626.399 48.000 42.000
+ -7916862.06443 -6121862.71842 23110595.190 23110598.672 23110593.882
+ -662.227 -516.021 50.000 43.000
+ -14093809.25043 -10935631.98942 22264327.826 22264329.252 22264326.230
+ -1273.801 -992.572 52.000 45.000
+ -9112953.79243 -7089663.24842 23403175.406 23403178.300 23403174.707
+ -3057.227 -2382.255 49.000 43.000
+ -22953573.64843 -17827963.47942 20903364.144 20903367.265 20903362.909
+ 1726.483 1345.311 55.000 49.000
+ 04 2 1 20 30 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19699139.56743 -15291135.75442 21057083.227 21057084.475 21057081.774
+ -2163.414 -1685.777 56.000 49.000
+ -14486981.55644 -11283547.34342 20365107.851 20365108.035 20365106.744
+ 317.604 247.484 58.000 52.000
+ -15403140.72943 -11934588.41042 22414232.355 22414233.147 22414230.708
+ -1207.038 -940.549 53.000 45.000
+ -12737244.28843 -9878679.55842 22859995.019 22859998.668 22859992.803
+ 3067.239 2390.056 51.000 44.000
+ -16783228.90743 -13067741.11942 21629641.969 21629644.728 21629640.496
+ 340.169 265.067 54.000 48.000
+ -7781590.84243 -6048258.87242 23228765.495 23228765.732 23228763.092
+ 3367.826 2624.280 48.000 42.000
+ -7896776.99143 -6106212.04242 23114417.790 23114421.254 23114415.778
+ -678.868 -528.988 50.000 43.000
+ -14055404.76743 -10905706.42542 22271635.850 22271638.084 22271634.095
+ -1288.435 -1003.975 51.000 45.000
+ -9021142.10643 -7018121.72042 23420646.853 23420650.380 23420646.422
+ -3065.555 -2388.744 48.000 43.000
+ -23005169.38743 -17868167.93942 20893545.824 20893549.113 20893544.449
+ 1711.029 1333.269 55.000 49.000
+ 04 2 1 20 31 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19634134.17143 -15240482.21642 21069453.379 21069454.159 21069452.070
+ -2172.072 -1692.524 56.000 49.000
+ -14496320.26344 -11290824.25542 20363330.460 20363330.820 20363329.696
+ 303.211 236.268 57.000 52.000
+ -15366964.30343 -11906399.01742 22421117.023 22421117.322 22421115.096
+ -1206.734 -940.312 53.000 45.000
+ -12829212.71043 -9950343.26742 22842494.258 22842498.223 22842492.565
+ 3062.375 2386.266 51.000 44.000
+ -16793465.74743 -13075717.88942 21627693.817 21627696.744 21627692.630
+ 340.516 265.337 55.000 48.000
+ -7882628.45443 -6126989.46342 23209537.227 23209539.829 23209536.610
+ 3366.339 2623.121 48.000 42.000
+ -7876212.31643 -6090187.62642 23118330.242 23118334.260 23118328.478
+ -694.159 -540.903 49.000 43.000
+ -14016581.69943 -10875454.70342 22279022.154 22279025.996 22279021.438
+ -1301.391 -1014.071 50.000 45.000
+ -8929099.75043 -6946400.44942 23438161.623 23438165.759 23438160.759
+ -3072.303 -2394.002 48.000 43.000
+ -23056314.18643 -17908021.02142 20883813.196 20883816.625 20883811.876
+ 1696.959 1322.306 55.000 49.000
+ 04 2 1 20 31 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19568843.52443 -15189606.40842 21081877.311 21081878.737 21081876.342
+ -2181.317 -1699.727 56.000 49.000
+ -14505197.19344 -11297741.33842 20361641.292 20361641.899 20361640.388
+ 287.903 224.340 58.000 52.000
+ -15330762.67143 -11878189.97842 22428004.857 22428006.678 22428004.190
+ -1207.463 -940.880 52.000 45.000
+ -12921001.94343 -10021867.35742 22825027.282 22825030.523 22825026.938
+ 3056.328 2381.554 50.000 44.000
+ -16803681.29643 -13083678.06642 21625750.200 21625752.837 21625748.466
+ 339.905 264.861 55.000 48.000
+ -7983591.72143 -6205662.13342 23190324.283 23190327.357 23190322.882
+ 3363.902 2621.222 48.000 42.000
+ -7855169.43043 -6073790.59242 23122334.922 23122339.266 23122333.421
+ -709.680 -552.997 49.000 43.000
+ -13977342.10843 -10844878.42242 22286489.591 22286491.877 22286489.354
+ -1315.257 -1024.876 51.000 45.000
+ -8836827.82743 -6874500.31242 23455720.604 23455723.414 23455719.997
+ -3079.935 -2399.949 48.000 43.000
+ -23107007.06143 -17947521.95242 20874166.539 20874169.786 20874165.278
+ 1681.986 1310.638 55.000 49.000
+ 04 2 1 20 32 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19503267.96743 -15138508.59042 21094356.213 21094357.634 21094355.068
+ -2190.787 -1707.107 56.000 49.000
+ -14513611.29644 -11304297.78042 20360039.775 20360040.651 20360039.080
+ 272.475 212.318 57.000 52.000
+ -15294533.60743 -11849959.56542 22434899.221 22434901.010 22434897.566
+ -1208.569 -941.742 52.000 45.000
+ -13012607.23643 -10093248.11342 22807595.791 22807598.296 22807595.145
+ 3050.175 2376.760 51.000 44.000
+ -16813873.58243 -13091620.11442 21623810.409 21623813.240 21623809.153
+ 338.989 264.147 54.000 48.000
+ -8084475.31443 -6284272.73042 23171127.756 23171130.456 23171125.366
+ 3361.129 2619.061 48.000 42.000
+ -7833648.25543 -6057020.86342 23126430.717 23126434.565 23126428.287
+ -725.615 -565.414 49.000 43.000
+ -13937686.07043 -10813977.62142 22294036.217 22294038.785 22294035.032
+ -1329.203 -1035.742 51.000 45.000
+ -8744325.88043 -6802420.92642 23473322.162 23473327.427 23473322.145
+ -3087.474 -2405.824 48.000 43.000
+ -23157245.44743 -17986668.74142 20864607.223 20864610.077 20864605.747
+ 1666.672 1298.705 55.000 49.000
+ 04 2 1 20 32 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19437414.25043 -15087194.02042 21106887.680 21106889.122 21106886.733
+ -2199.696 -1714.049 56.000 49.000
+ -14521567.77444 -11310497.62942 20358526.016 20358526.420 20358525.135
+ 257.577 200.709 58.000 52.000
+ -15258280.31743 -11821710.29042 22441798.512 22441799.667 22441797.519
+ -1208.884 -941.987 52.000 45.000
+ -13104030.09743 -10164486.71042 22790199.508 22790201.742 22790197.623
+ 3044.346 2372.218 51.000 44.000
+ -16824046.54143 -13099547.10842 21621874.634 21621877.562 21621873.160
+ 338.747 263.959 54.000 48.000
+ -8185280.44343 -6362822.18242 23151944.143 23151947.108 23151943.790
+ 3358.855 2617.290 48.000 42.000
+ -7811654.82443 -6039883.12442 23130615.764 23130618.762 23130613.709
+ -740.797 -577.244 49.000 43.000
+ -13897620.14643 -10782757.44342 22301660.595 22301663.630 22301658.781
+ -1342.245 -1045.905 51.000 45.000
+ -8651599.62243 -6730166.73942 23490968.118 23490972.286 23490966.782
+ -3094.513 -2411.309 49.000 43.000
+ -23207033.16943 -18025464.35942 20855132.402 20855135.755 20855131.319
+ 1652.035 1287.300 55.000 49.000
+ 04 2 1 20 33 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19371279.58743 -15035660.54142 21119473.071 21119474.131 21119471.713
+ -2210.035 -1722.105 56.000 49.000
+ -14529062.16744 -11316337.41442 20357100.216 20357100.220 20357099.174
+ 241.258 187.993 58.000 52.000
+ -15221997.55543 -11793438.02742 22448702.195 22448704.102 22448700.759
+ -1210.351 -943.131 52.000 45.000
+ -13195262.87543 -10235577.18342 22772837.567 22772840.704 22772836.772
+ 3037.077 2366.554 51.000 44.000
+ -16834195.33243 -13107455.27242 21619943.160 21619946.630 21619942.071
+ 337.038 262.627 54.000 48.000
+ -8285998.94543 -6441304.13542 23132778.737 23132780.732 23132777.346
+ 3354.920 2614.223 48.000 42.000
+ -7789186.00843 -6022374.97042 23134890.214 23134894.426 23134889.143
+ -757.645 -590.373 48.000 43.000
+ -13857141.61343 -10751215.74542 22309364.300 22309364.960 22309363.560
+ -1356.997 -1057.400 51.000 45.000
+ -8558645.58643 -6657735.07742 23508657.048 23508660.868 23508655.965
+ -3103.039 -2417.952 48.000 43.000
+ -23256364.58643 -18063904.41042 20845745.245 20845748.328 20845743.704
+ 1636.043 1274.839 55.000 49.000
+ 04 2 1 20 33 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19304870.64543 -14983913.33542 21132109.899 21132111.374 21132108.665
+ -2218.508 -1728.707 56.000 49.000
+ -14536099.75044 -11321821.24342 20355760.776 20355760.867 20355760.014
+ 226.618 176.585 58.000 52.000
+ -15185689.03743 -11765145.70742 22455611.682 22455613.271 22455610.378
+ -1211.021 -943.653 52.000 45.000
+ -13286307.19243 -10306520.81042 22755512.471 22755515.081 22755512.068
+ 3031.302 2362.054 51.000 44.000
+ -16844324.15843 -13115347.87642 21618016.283 21618019.032 21618014.658
+ 336.868 262.495 54.000 48.000
+ -8386632.11943 -6519719.59342 23113628.388 23113632.657 23113628.293
+ 3352.763 2612.543 49.000 43.000
+ -7766248.02943 -6004501.23342 23139256.536 23139260.745 23139254.661
+ -772.813 -602.192 49.000 43.000
+ -13816257.13443 -10719357.72942 22317144.062 22317146.312 22317142.631
+ -1369.777 -1067.359 51.000 45.000
+ -8465469.62143 -6585130.48142 23526388.314 23526391.510 23526387.267
+ -3109.896 -2423.295 48.000 42.000
+ -23305243.41343 -18101991.80442 20836443.326 20836446.615 20836442.243
+ 1621.441 1263.461 55.000 49.000
+ 04 2 1 20 34 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19238187.10143 -14931952.15142 21144799.617 21144801.089 21144798.158
+ -2227.585 -1735.780 56.000 49.000
+ -14542678.19744 -11326947.30542 20354508.858 20354509.231 20354508.087
+ 211.314 164.660 58.000 52.000
+ -15149350.72343 -11736830.18342 22462526.726 22462528.387 22462525.790
+ -1212.026 -944.436 52.000 45.000
+ -13377157.25143 -10377313.08042 22738224.179 22738225.892 22738222.990
+ 3024.752 2356.950 51.000 44.000
+ -16854429.74843 -13123222.37942 21616092.706 21616095.730 21616091.527
+ 336.160 261.943 55.000 48.000
+ -8487173.72843 -6598063.69442 23094496.883 23094497.984 23094495.594
+ 3349.402 2609.924 49.000 43.000
+ -7742839.43443 -5986260.79742 23143710.342 23143713.758 23143708.763
+ -788.417 -614.351 49.000 43.000
+ -13774965.85843 -10687182.71542 22325001.129 22325003.492 22324999.801
+ -1383.471 -1078.029 51.000 44.000
+ -8372069.99943 -6512351.62542 23544161.472 23544164.102 23544160.005
+ -3117.286 -2429.054 47.000 42.000
+ -23353666.01443 -18139723.69342 20827228.955 20827232.405 20827227.735
+ 1606.205 1251.588 55.000 49.000
+ 04 2 1 20 34 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19171233.79143 -14879780.76342 21157540.040 21157541.804 21157538.966
+ -2235.804 -1742.185 56.000 49.000
+ -14548800.52344 -11331717.94942 20353343.774 20353343.990 20353342.984
+ 196.834 153.377 58.000 52.000
+ -15112984.31143 -11708492.73942 22469447.329 22469448.524 22469446.173
+ -1212.301 -944.650 52.000 45.000
+ -13467812.32143 -10447953.39642 22720972.849 22720975.463 22720971.696
+ 3018.899 2352.389 51.000 44.000
+ -16864514.35343 -13131080.51742 21614174.330 21614176.615 21614172.712
+ 336.302 262.053 55.000 48.000
+ -8587622.70643 -6676335.62642 23075381.579 23075383.725 23075380.327
+ 3347.055 2608.095 50.000 43.000
+ -7718964.31843 -5967656.83842 23148253.846 23148257.390 23148252.403
+ -803.012 -625.724 48.000 43.000
+ -13733272.24643 -10654694.20042 22332934.922 22332937.964 22332934.237
+ -1396.081 -1087.855 51.000 45.000
+ -8278450.51543 -6439401.42642 23561975.641 23561980.168 23561974.879
+ -3123.971 -2434.263 47.000 42.000
+ -23401634.09943 -18177101.41042 20818101.120 20818104.299 20818099.844
+ 1591.822 1240.381 55.000 49.000
+ 04 2 1 20 35 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19104015.17743 -14827402.63642 21170331.130 21170332.991 21170329.809
+ -2245.117 -1749.442 55.000 49.000
+ -14554470.00944 -11336135.72442 20352265.258 20352265.382 20352264.051
+ 181.395 141.347 58.000 52.000
+ -15076591.47543 -11680134.70942 22476372.688 22476374.132 22476371.024
+ -1213.384 -945.494 52.000 45.000
+ -13558272.38943 -10518441.76042 22703758.812 22703761.550 22703757.487
+ 3012.015 2347.025 51.000 44.000
+ -16874580.49143 -13138924.27242 21612258.802 21612261.128 21612257.312
+ 335.152 261.157 55.000 48.000
+ -8687978.24243 -6754534.74042 23056285.001 23056287.435 23056284.018
+ 3343.378 2605.230 50.000 43.000
+ -7694627.25643 -5948692.90142 23152885.335 23152888.859 23152884.324
+ -818.742 -637.981 49.000 43.000
+ -13691181.37743 -10621896.13442 22340945.308 22340947.084 22340944.178
+ -1409.464 -1098.284 51.000 45.000
+ -8184615.18943 -6366283.04342 23579832.508 23579837.158 23579831.124
+ -3131.561 -2440.177 47.000 42.000
+ -23449149.84543 -18214126.66042 20809058.842 20809062.348 20809057.909
+ 1576.315 1228.297 55.000 49.000
+ 04 2 1 20 35 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19036529.95043 -14774816.76542 21183173.454 21183175.146 21183172.174
+ -2254.097 -1756.439 56.000 49.000
+ -14559683.67244 -11340198.31942 20351272.899 20351273.578 20351272.120
+ 166.070 129.405 58.000 52.000
+ -15040167.82743 -11651752.67442 22483303.970 22483305.472 22483302.392
+ -1214.740 -946.551 52.000 45.000
+ -13648530.61543 -10588772.84442 22686583.126 22686585.954 22686582.738
+ 3004.966 2341.532 51.000 45.000
+ -16884624.25543 -13146750.59242 21610347.524 21610350.163 21610346.304
+ 334.237 260.444 55.000 48.000
+ -8788233.14643 -6832655.44742 23037206.908 23037209.462 23037205.749
+ 3340.076 2602.657 50.000 43.000
+ -7669826.22043 -5929367.44442 23157605.203 23157607.606 23157604.192
+ -834.444 -650.216 48.000 43.000
+ -13648691.59143 -10588787.22142 22349030.637 22349032.555 22349029.883
+ -1422.931 -1108.777 51.000 45.000
+ -8090561.66243 -6292994.65042 23597730.430 23597734.535 23597729.539
+ -3138.751 -2445.780 47.000 42.000
+ -23496208.79643 -18250795.96342 20800104.122 20800106.932 20800102.744
+ 1560.872 1216.264 55.000 49.000
+ 04 2 1 20 36 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18968780.73843 -14722025.19142 21196065.972 21196067.554 21196064.760
+ -2263.328 -1763.632 56.000 49.000
+ -14564442.71844 -11343906.66042 20350367.127 20350367.818 20350366.077
+ 150.365 117.168 58.000 52.000
+ -15003713.04443 -11623346.38742 22490240.415 22490242.459 22490238.668
+ -1216.401 -947.845 51.000 45.000
+ -13738585.02243 -10658945.12342 22669446.823 22669448.640 22669445.911
+ 2997.623 2335.810 51.000 45.000
+ -16894646.01343 -13154559.76042 21608440.464 21608443.135 21608438.958
+ 332.965 259.453 55.000 48.000
+ -8888384.73143 -6910695.64442 23018149.368 23018150.340 23018147.557
+ 3335.876 2599.384 50.000 43.000
+ -7644563.58043 -5909682.28742 23162411.223 23162414.762 23162409.980
+ -850.407 -662.655 48.000 43.000
+ -13605805.54243 -10555369.53742 22357191.043 22357193.758 22357189.406
+ -1437.014 -1119.751 50.000 45.000
+ -7996292.01643 -6219537.81242 23615668.801 23615672.326 23615667.578
+ -3146.647 -2451.933 47.000 42.000
+ -23542811.00543 -18287109.36842 20791235.939 20791239.037 20791234.931
+ 1545.083 1203.961 55.000 49.000
+ 04 2 1 20 36 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18900771.21943 -14669030.78642 21209007.335 21209009.063 21209006.249
+ -2271.052 -1769.651 56.000 49.000
+ -14568749.15044 -11347262.32342 20349547.787 20349548.340 20349546.785
+ 136.311 106.216 58.000 52.000
+ -14967227.22743 -11594915.91842 22497183.628 22497185.559 22497182.492
+ -1216.438 -947.874 52.000 46.000
+ -13828433.55743 -10728956.98342 22652348.963 22652351.711 22652347.832
+ 2991.804 2331.276 51.000 45.000
+ -16904646.39943 -13162352.29142 21606537.366 21606539.955 21606535.623
+ 333.210 259.644 55.000 48.000
+ -8988430.66343 -6988653.50542 22999109.867 22999112.957 22999108.866
+ 3333.353 2597.418 49.000 43.000
+ -7618842.17143 -5889639.65242 23167306.380 23167309.794 23167305.639
+ -864.665 -673.765 49.000 43.000
+ -13562526.47943 -10521645.61142 22365426.464 22365428.598 22365425.557
+ -1448.889 -1129.004 51.000 45.000
+ -7901808.69743 -6145914.50942 23633648.495 23633652.360 23633648.123
+ -3152.869 -2456.781 47.000 42.000
+ -23588957.00943 -18323067.28542 20782454.483 20782458.131 20782453.459
+ 1530.847 1192.868 55.000 49.000
+ 04 2 1 20 37 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18832506.00043 -14615837.13142 21221998.177 21221999.592 21221996.894
+ -2279.163 -1775.971 56.000 49.000
+ -14572605.94144 -11350267.61542 20348813.562 20348814.237 20348812.681
+ 121.657 94.798 57.000 52.000
+ -14930712.22543 -11566462.70542 22504133.508 22504133.733 22504131.486
+ -1217.050 -948.351 53.000 46.000
+ -13918075.61643 -10798807.93342 22635290.746 22635293.193 22635289.532
+ 2985.142 2326.085 51.000 45.000
+ -16914627.47543 -13170129.76642 21604637.541 21604640.792 21604636.191
+ 332.910 259.410 55.000 48.000
+ -9088370.14043 -7066528.43042 22980092.296 22980093.952 22980091.308
+ 3330.145 2594.918 49.000 43.000
+ -7592666.00443 -5869242.64642 23172287.088 23172290.673 23172286.133
+ -879.572 -685.381 48.000 42.000
+ -13518859.02243 -10487619.04342 22373737.421 22373739.165 22373735.600
+ -1461.270 -1138.652 51.000 45.000
+ -7807115.49143 -6072127.64242 23651668.853 23651672.856 23651667.469
+ -3159.247 -2461.751 47.000 42.000
+ -23634648.35743 -18358670.92942 20773759.914 20773763.514 20773758.740
+ 1516.039 1181.329 55.000 49.000
+ 04 2 1 20 37 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18763986.74043 -14562445.51842 21235037.455 21235038.238 21235036.125
+ -2288.445 -1783.204 56.000 49.000
+ -14576013.49944 -11352922.85342 20348165.134 20348165.817 20348164.344
+ 105.848 82.479 57.000 52.000
+ -14894166.55743 -11537985.59642 22511087.895 22511088.343 22511086.063
+ -1218.973 -949.849 53.000 46.000
+ -14007507.77543 -10868495.33642 22618273.550 22618274.366 22618272.113
+ 2977.239 2319.926 51.000 45.000
+ -16924588.42643 -13177891.55842 21602742.312 21602745.000 21602741.034
+ 331.441 258.266 55.000 48.000
+ -9188199.21943 -7144317.33242 22961095.565 22961096.340 22961094.448
+ 3325.470 2591.275 49.000 42.000
+ -7566036.40543 -5848492.31842 23177354.720 23177358.983 23177353.248
+ -895.409 -697.721 48.000 42.000
+ -13474804.64943 -10453290.96442 22382119.820 22382122.780 22382119.084
+ -1475.131 -1149.453 51.000 45.000
+ -7712213.16243 -5998177.84342 23669728.115 23669731.701 23669726.080
+ -3167.087 -2467.860 47.000 42.000
+ -23679884.03243 -18393919.49842 20765152.288 20765155.275 20765150.887
+ 1500.142 1168.942 55.000 49.000
+ 04 2 1 20 38 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18695215.62643 -14508857.65842 21248123.449 21248125.081 21248122.282
+ -2296.445 -1789.438 56.000 49.000
+ -14578972.65844 -11355228.69342 20347602.416 20347602.867 20347601.481
+ 91.270 71.119 58.000 52.000
+ -14857589.58843 -11509484.10242 22518048.166 22518049.243 22518046.677
+ -1219.677 -950.398 53.000 46.000
+ -14096727.34743 -10938017.08342 22601293.521 22601296.648 22601293.233
+ 2970.459 2314.643 51.000 45.000
+ -16934529.32343 -13185637.73242 21600851.013 21600853.143 21600849.586
+ 331.127 258.021 55.000 48.000
+ -9287914.80343 -7222017.79242 22942119.839 22942121.965 22942118.629
+ 3322.151 2588.689 49.000 43.000
+ -7538955.56543 -5827390.36742 23182508.316 23182512.121 23182507.597
+ -910.102 -709.170 48.000 42.000
+ -13430366.12843 -10418663.54642 22390576.749 22390578.373 22390575.176
+ -1487.437 -1159.042 51.000 45.000
+ -7617103.41143 -5924066.40542 23687826.274 23687830.768 23687825.179
+ -3173.732 -2473.038 46.000 42.000
+ -23724663.75443 -18428812.78342 20756630.845 20756634.174 20756629.527
+ 1485.189 1157.290 55.000 49.000
+ 04 2 1 20 38 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18626191.91643 -14455072.96842 21261258.579 21261260.046 21261257.783
+ -2305.560 -1796.540 56.000 49.000
+ -14581481.02644 -11357183.26742 20347124.918 20347125.573 20347124.029
+ 75.460 58.800 57.000 52.000
+ -14820977.29643 -11480955.06642 22525014.980 22525015.783 22525013.370
+ -1221.632 -951.921 53.000 46.000
+ -14185728.48243 -11007368.62242 22584357.918 22584360.668 22584357.742
+ 2962.292 2308.279 51.000 45.000
+ -16944446.62543 -13193365.51542 21598963.692 21598966.529 21598961.981
+ 329.444 256.710 55.000 48.000
+ -9387510.19343 -7299624.59642 22923167.704 22923169.281 22923165.678
+ 3317.168 2584.806 49.000 42.000
+ -7511422.03443 -5805935.70142 23187747.418 23187751.133 23187746.997
+ -925.900 -721.480 47.000 42.000
+ -13385542.41343 -10383735.99942 22399106.633 22399108.627 22399105.010
+ -1501.185 -1169.754 51.000 45.000
+ -7521784.36643 -5849791.89942 23705965.340 23705968.696 23705963.845
+ -3181.353 -2478.976 47.000 42.000
+ -23768983.89143 -18463347.94742 20748196.566 20748200.300 20748195.460
+ 1469.055 1144.718 55.000 49.000
+ 04 2 1 20 39 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18556921.73943 -14401096.23142 21274440.447 21274441.604 21274439.106
+ -2313.629 -1802.828 56.000 49.000
+ -14583543.39044 -11358790.30942 20346732.644 20346732.959 20346731.748
+ 60.819 47.391 58.000 52.000
+ -14784332.95543 -11452401.06042 22531987.684 22531989.390 22531986.350
+ -1222.621 -952.692 52.000 45.000
+ -14274511.71243 -11076550.37042 22567462.725 22567466.371 22567462.083
+ 2955.095 2302.671 51.000 45.000
+ -16954343.78543 -13201077.60642 21597079.460 21597083.086 21597078.175
+ 328.992 256.357 55.000 48.000
+ -9486986.03443 -7377138.23742 22904237.883 22904240.702 22904236.207
+ 3313.294 2581.788 49.000 43.000
+ -7483441.57443 -5784132.78342 23193072.773 23193076.852 23193070.633
+ -940.611 -732.944 49.000 42.000
+ -13340339.73143 -10348513.15342 22407708.184 22407710.597 22407706.708
+ -1513.581 -1179.414 51.000 45.000
+ -7426261.37943 -5775358.47042 23724142.597 23724146.846 23724141.531
+ -3187.979 -2484.139 47.000 43.000
+ -23812847.64043 -18497527.48942 20739849.796 20739853.067 20739848.444
+ 1453.981 1132.972 55.000 49.000
+ 04 2 1 20 39 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18487406.98343 -14346928.91242 21287668.187 21287669.952 21287667.363
+ -2320.726 -1808.358 56.000 49.000
+ -14585160.66044 -11360050.52442 20346424.901 20346425.151 20346423.855
+ 46.931 36.570 58.000 52.000
+ -14747655.10743 -11423820.96442 22538967.635 22538968.436 22538966.052
+ -1222.674 -952.733 52.000 46.000
+ -14363074.80843 -11145560.58042 22550609.135 22550613.293 22550608.666
+ 2948.800 2297.766 51.000 45.000
+ -16964220.57443 -13208773.82142 21595200.064 21595203.741 21595199.112
+ 329.356 256.641 54.000 48.000
+ -9586338.79943 -7454555.99142 22885333.066 22885333.796 22885330.931
+ 3310.136 2579.327 50.000 42.000
+ -7455016.38943 -5761983.30542 23198481.800 23198485.652 23198479.490
+ -954.462 -743.737 48.000 42.000
+ -13294760.27443 -10312996.72042 22416381.556 22416383.762 22416380.313
+ -1525.245 -1188.502 51.000 45.000
+ -7330535.92043 -5700767.26342 23742358.292 23742362.545 23742357.318
+ -3193.561 -2488.489 47.000 43.000
+ -23856254.75943 -18531351.21342 20731589.709 20731593.133 20731588.311
+ 1439.868 1121.975 55.000 49.000
+ 04 2 1 20 40 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18417651.39643 -14292573.92742 21300942.374 21300944.184 21300941.168
+ -2328.797 -1814.647 56.000 49.000
+ -14586334.83344 -11360965.46642 20346201.328 20346201.925 20346200.612
+ 32.101 25.014 58.000 52.000
+ -14710944.40943 -11395215.25242 22545952.501 22545955.171 22545951.540
+ -1223.901 -953.689 52.000 46.000
+ -14451415.51943 -11214397.51542 22533799.649 22533802.362 22533798.373
+ 2941.264 2291.894 51.000 45.000
+ -16974077.88143 -13216454.85342 21593324.928 21593327.916 21593323.323
+ 328.652 256.092 55.000 48.000
+ -9685566.61743 -7531876.36942 22866449.975 22866452.221 22866449.714
+ 3305.926 2576.046 49.000 42.000
+ -7426149.32443 -5739489.50642 23203973.866 23203979.026 23203973.311
+ -969.278 -755.281 48.000 43.000
+ -13248807.57343 -10277189.43642 22425125.543 22425128.748 22425124.812
+ -1537.486 -1198.041 51.000 45.000
+ -7234610.52643 -5626020.26142 23760613.061 23760616.285 23760612.183
+ -3200.400 -2493.818 48.000 42.000
+ -23899205.91243 -18564819.63942 20723415.975 20723419.122 20723414.956
+ 1424.470 1109.977 55.000 49.000
+ 04 2 1 20 40 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18347654.62743 -14238031.01642 21314262.531 21314264.234 21314261.136
+ -2337.459 -1821.397 56.000 49.000
+ -14587064.42644 -11361533.98042 20346062.403 20346062.692 20346061.281
+ 16.741 13.045 57.000 52.000
+ -14674197.38643 -11366581.23542 22552945.869 22552947.440 22552944.590
+ -1225.696 -955.088 52.000 45.000
+ -14539528.52543 -11283057.00242 22517031.488 22517034.946 22517031.276
+ 2932.948 2285.414 51.000 45.000
+ -16983912.79543 -13224118.44142 21591453.222 21591456.410 21591451.456
+ 327.168 254.936 55.000 48.000
+ -9784663.40443 -7609094.65042 22847591.725 22847593.301 22847591.226
+ 3300.805 2572.056 49.000 42.000
+ -7396839.92043 -5716651.04242 23209551.959 23209555.641 23209551.317
+ -984.507 -767.148 48.000 43.000
+ -13202481.45443 -10241091.18642 22433941.274 22433944.074 22433940.205
+ -1550.616 -1208.272 50.000 45.000
+ -7138484.19443 -5551116.69342 23778905.456 23778910.351 23778903.772
+ -3207.811 -2499.593 47.000 42.000
+ -23941698.16943 -18597930.48342 20715330.685 20715333.557 20715329.395
+ 1408.532 1097.557 55.000 49.000
+ 04 2 1 20 41 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18277422.50943 -14183304.71342 21327627.303 21327629.132 21327626.111
+ -2344.850 -1827.156 56.000 49.000
+ -14587353.61044 -11361759.31842 20346007.194 20346007.690 20346006.567
+ 2.286 1.781 58.000 52.000
+ -14637416.95443 -11337921.18742 22559944.890 22559946.600 22559944.272
+ -1226.573 -955.771 52.000 45.000
+ -14627414.27443 -11351539.41042 22500308.241 22500311.055 22500306.323
+ 2925.708 2279.772 51.000 45.000
+ -16993728.60543 -13231767.13542 21589585.297 21589588.301 21589583.722
+ 326.877 254.709 54.000 48.000
+ -9883629.24543 -7686210.89942 22828759.597 22828761.799 22828758.184
+ 3296.706 2568.862 50.000 43.000
+ -7367093.62143 -5693472.11842 23215213.315 23215216.403 23215212.288
+ -998.447 -778.011 49.000 43.000
+ -13155787.74443 -10204706.49142 22442826.959 22442829.423 22442826.656
+ -1562.669 -1217.664 51.000 45.000
+ -7042161.91543 -5476060.43542 23797235.049 23797239.587 23797233.317
+ -3214.245 -2504.606 47.000 42.000
+ -23983734.61443 -18630686.15542 20707331.398 20707334.160 20707330.118
+ 1393.566 1085.896 55.000 49.000
+ 04 2 1 20 41 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18206955.34843 -14128395.26042 21341036.652 21341037.997 21341035.582
+ -2353.082 -1833.570 56.000 49.000
+ -14587201.42144 -11361640.73242 20346036.101 20346036.893 20346035.561
+ -12.699 -9.895 58.000 52.000
+ -14600600.22843 -11309232.86142 22566951.175 22566952.423 22566949.876
+ -1228.006 -956.888 52.000 45.000
+ -14715068.20543 -11419841.17742 22483628.245 22483631.177 22483626.820
+ 2917.613 2273.465 51.000 45.000
+ -17003522.79943 -13239398.98942 21587721.388 21587724.200 21587719.935
+ 325.827 253.891 55.000 48.000
+ -9982458.88843 -7763221.02442 22809952.918 22809955.162 22809952.534
+ 3291.786 2565.028 50.000 43.000
+ -7336910.30643 -5669952.68942 23220956.460 23220960.026 23220955.046
+ -1013.474 -789.720 48.000 42.000
+ -13108726.75843 -10168035.61142 22451782.518 22451785.375 22451781.503
+ -1574.937 -1227.224 50.000 45.000
+ -6945643.21343 -5400851.13342 23815601.411 23815605.569 23815601.078
+ -3220.465 -2509.453 46.000 41.000
+ -24025312.82743 -18663084.75642 20699419.154 20699422.060 20699418.035
+ 1378.067 1073.818 55.000 49.000
+ 04 2 1 20 42 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18136255.31643 -14073304.34942 21354490.390 21354492.141 21354489.282
+ -2359.992 -1838.955 55.000 49.000
+ -14586608.72744 -11361178.89542 20346149.447 20346149.548 20346148.423
+ -26.534 -20.676 58.000 52.000
+ -14563745.87343 -11280515.22242 22573964.457 22573966.356 22573962.368
+ -1228.634 -957.377 52.000 45.000
+ -14802487.21843 -11487959.91542 22466993.147 22466995.477 22466991.694
+ 2910.656 2268.044 51.000 45.000
+ -17013295.16543 -13247013.83742 21585862.479 21585864.948 21585860.632
+ 325.900 253.948 55.000 48.000
+ -10081148.78743 -7840122.24542 22791174.032 22791175.837 22791171.394
+ 3287.902 2562.002 50.000 43.000
+ -7306291.94043 -5646094.23042 23226784.204 23226786.160 23226780.812
+ -1027.364 -800.543 49.000 43.000
+ -13061300.88243 -10131080.39942 22460807.322 22460809.899 22460805.772
+ -1586.424 -1236.174 51.000 45.000
+ -6848929.39343 -5325489.79042 23834005.406 23834009.692 23834004.708
+ -3226.481 -2514.141 46.000 41.000
+ -24066432.52543 -18695126.08042 20691593.800 20691597.354 20691592.818
+ 1363.583 1062.532 55.000 49.000
+ 04 2 1 20 42 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18065327.51443 -14018035.95142 21367987.500 21367989.524 21367986.428
+ -2367.796 -1845.036 55.000 49.000
+ -14585579.20944 -11360376.67842 20346345.264 20346345.406 20346344.286
+ -41.357 -32.226 58.000 52.000
+ -14526856.05443 -11251769.94542 22580984.236 22580985.045 22580982.422
+ -1230.112 -958.529 52.000 45.000
+ -14889671.13843 -11555895.44242 22450401.886 22450404.820 22450400.414
+ 2902.338 2261.562 51.000 45.000
+ -17023048.26343 -13254613.66742 21584005.830 21584008.650 21584004.496
+ 325.038 253.276 55.000 48.000
+ -10179698.54443 -7916914.26042 22772419.817 22772421.624 22772417.874
+ 3282.852 2558.066 49.000 43.000
+ -7275243.41543 -5621900.59242 23232691.385 23232694.248 23232690.104
+ -1041.910 -811.878 49.000 43.000
+ -13013515.32343 -10093844.91942 22469900.794 22469903.780 22469899.853
+ -1598.406 -1245.511 51.000 45.000
+ -6752024.96743 -5249979.89342 23852446.971 23852450.114 23852444.679
+ -3232.822 -2519.082 46.000 40.000
+ -24107096.17243 -18726812.03142 20683856.316 20683859.182 20683854.794
+ 1347.979 1050.373 55.000 49.000
+ 04 2 1 20 43 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17994173.82743 -13962591.54342 21381527.450 21381529.677 21381526.500
+ -2375.145 -1850.762 55.000 49.000
+ -14584113.92644 -11359234.90442 20346624.080 20346624.342 20346623.190
+ -55.733 -43.428 58.000 52.000
+ -14489929.74343 -11222996.22542 22588011.392 22588012.896 22588009.594
+ -1231.063 -959.270 52.000 45.000
+ -14976616.89643 -11623645.38942 22433856.554 22433860.229 22433856.094
+ 2894.494 2255.450 51.000 45.000
+ -17032781.51943 -13262198.04142 21582153.497 21582156.742 21582152.412
+ 324.420 252.795 54.000 48.000
+ -10278104.66343 -7993594.36942 22753692.981 22753695.094 22753692.607
+ 3278.226 2554.462 50.000 43.000
+ -7243766.62343 -5597373.23042 23238682.223 23238685.172 23238679.997
+ -1055.982 -822.843 49.000 43.000
+ -12965372.37243 -10056330.95242 22479062.790 22479064.585 22479061.225
+ -1610.255 -1254.744 51.000 45.000
+ -6654931.15943 -5174322.44942 23870922.670 23870926.456 23870921.182
+ -3239.086 -2523.963 46.000 40.000
+ -24147303.23043 -18758142.20642 20676204.937 20676208.251 20676203.800
+ 1332.938 1038.653 55.000 49.000
+ 04 2 1 20 43 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17922792.25043 -13906969.55942 21395111.106 21395113.093 21395109.924
+ -2382.682 -1856.635 55.000 49.000
+ -14582209.03844 -11357750.58442 20346986.303 20346986.941 20346985.678
+ -70.279 -54.763 58.000 52.000
+ -14452961.45143 -11194189.80242 22595045.433 22595047.876 22595044.260
+ -1232.437 -960.340 52.000 45.000
+ -15063316.99143 -11691203.91742 22417358.482 22417361.638 22417357.685
+ 2886.460 2249.190 51.000 46.000
+ -17042489.85443 -13269762.98942 21580306.518 21580309.570 21580304.934
+ 323.615 252.167 54.000 48.000
+ -10376359.04243 -8070156.23042 22734996.438 22734997.726 22734994.866
+ 3272.889 2550.303 50.000 43.000
+ -7211859.07543 -5572510.23942 23244754.250 23244754.604 23244751.742
+ -1070.422 -834.095 50.000 43.000
+ -12916869.75143 -10018536.71742 22488290.843 22488294.273 22488290.161
+ -1622.320 -1264.145 50.000 45.000
+ -6557644.96743 -5098515.09142 23889435.500 23889440.124 23889434.758
+ -3245.810 -2529.202 46.000 40.000
+ -24187048.82543 -18789112.79542 20668641.904 20668644.807 20668640.543
+ 1317.720 1026.795 55.000 49.000
+ 04 2 1 20 44 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17851193.10343 -13851178.04042 21408735.536 21408737.630 21408734.542
+ -2390.031 -1862.362 55.000 49.000
+ -14579874.28844 -11355931.30742 20347430.628 20347430.979 20347429.707
+ -84.702 -66.001 57.000 52.000
+ -14415958.69543 -11165356.50842 22602086.933 22602088.343 22602085.844
+ -1233.744 -961.359 51.000 45.000
+ -15149777.38843 -11758575.66142 22400905.355 22400909.048 22400903.803
+ 2878.386 2242.898 52.000 46.000
+ -17052181.53443 -13277314.97142 21578461.939 21578464.894 21578460.729
+ 323.016 251.701 55.000 48.000
+ -10474467.10543 -8146604.08042 22716327.137 22716329.151 22716326.444
+ 3268.074 2546.551 50.000 44.000
+ -7179531.44243 -5547319.91542 23250904.861 23250907.398 23250902.890
+ -1084.400 -844.987 48.000 43.000
+ -12868018.43943 -9980470.78642 22497588.481 22497590.132 22497586.995
+ -1634.042 -1273.279 51.000 45.000
+ -6460176.34243 -5022565.59642 23907983.450 23907987.616 23907982.078
+ -3251.850 -2533.909 47.000 41.000
+ -24226341.22643 -18819730.25442 20661164.540 20661167.622 20661163.305
+ 1302.364 1014.829 55.000 49.000
+ 04 2 1 20 44 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17779373.63743 -13795214.84142 21422402.384 21422404.315 21422401.679
+ -2397.283 -1868.013 55.000 48.000
+ -14577105.46044 -11353773.78642 20347957.587 20347958.011 20347956.815
+ -99.220 -77.314 58.000 52.000
+ -14378915.86443 -11136492.00442 22609135.922 22609137.958 22609134.858
+ -1235.081 -962.401 52.000 45.000
+ -15235989.92143 -11825754.26742 22384500.299 22384503.084 22384499.264
+ 2869.965 2236.336 52.000 46.000
+ -17061850.94543 -13284849.59142 21576622.989 21576625.156 21576620.953
+ 322.229 251.088 55.000 48.000
+ -10572420.11043 -8222931.11442 22697687.447 22697689.226 22697686.222
+ 3262.880 2542.504 50.000 44.000
+ -7146780.55643 -5521799.76442 23257138.112 23257140.789 23257137.443
+ -1098.490 -855.966 49.000 43.000
+ -12818815.81143 -9942131.08542 22506950.913 22506953.273 22506949.745
+ -1645.439 -1282.160 51.000 44.000
+ -6362521.59243 -4946471.07242 23926566.881 23926570.487 23926565.127
+ -3257.944 -2538.658 47.000 41.000
+ -24265175.01543 -18849990.34542 20653774.479 20653777.666 20653773.068
+ 1287.238 1003.043 55.000 49.000
+ 04 2 1 20 45 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17707333.97443 -13739080.06442 21436111.155 21436113.377 21436109.795
+ -2405.357 -1874.304 55.000 48.000
+ -14573901.36444 -11351277.09542 20348567.174 20348567.773 20348566.375
+ -114.455 -89.186 57.000 52.000
+ -14341829.68243 -11107593.72942 22616194.268 22616194.623 22616192.263
+ -1237.397 -964.205 52.000 45.000
+ -15321949.33843 -11892735.64742 22368142.533 22368145.143 22368141.490
+ 2860.713 2229.127 52.000 46.000
+ -17071495.45643 -13292364.80942 21574786.985 21574789.709 21574785.205
+ 320.586 249.807 55.000 48.000
+ -10670212.52343 -8299133.00242 22679077.561 22679080.681 22679076.025
+ 3256.829 2537.789 50.000 44.000
+ -7113606.36443 -5495949.76542 23263450.737 23263452.879 23263448.538
+ -1113.323 -867.524 48.000 43.000
+ -12769261.91643 -9903517.68442 22516380.034 22516383.081 22516379.733
+ -1657.990 -1291.940 50.000 44.000
+ -6264680.17443 -4870231.07842 23945184.472 23945188.816 23945183.807
+ -3264.929 -2544.100 47.000 41.000
+ -24303547.80943 -18879891.22142 20646473.143 20646475.700 20646471.593
+ 1270.863 990.283 55.000 49.000
+ 04 2 1 20 45 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17635083.17143 -13682780.76342 21449860.814 21449861.668 21449859.067
+ -2411.373 -1878.992 56.000 48.000
+ -14570270.01744 -11348447.48342 20349258.350 20349258.769 20349257.474
+ -127.694 -99.502 58.000 52.000
+ -14304706.06443 -11078666.26342 22623258.008 22623260.365 22623256.686
+ -1237.549 -964.324 52.000 45.000
+ -15407659.59643 -11959522.86242 22351831.654 22351835.448 22351831.263
+ 2853.273 2223.330 52.000 46.000
+ -17081121.78643 -13299865.86342 21572955.359 21572958.138 21572953.794
+ 321.022 250.147 55.000 48.000
+ -10767848.16943 -8375212.72542 22660497.950 22660499.918 22660496.268
+ 3252.374 2534.317 49.000 43.000
+ -7080018.03343 -5469777.06342 23269841.862 23269844.154 23269841.092
+ -1126.057 -877.447 49.000 43.000
+ -12719366.23943 -9864637.95042 22525875.020 22525878.027 22525874.264
+ -1668.344 -1300.008 51.000 44.000
+ -6166660.58843 -4793852.27542 23963838.184 23963841.434 23963838.318
+ -3269.789 -2547.887 48.000 41.000
+ -24341466.37743 -18909438.16342 20639256.707 20639259.790 20639255.729
+ 1256.784 979.312 55.000 49.000
+ 04 2 1 20 46 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17562622.69743 -13626318.07842 21463650.121 21463650.674 21463648.294
+ -2418.008 -1884.162 56.000 48.000
+ -14566211.69244 -11345285.16142 20350030.843 20350031.062 20350029.626
+ -141.633 -110.363 58.000 52.000
+ -14267543.66443 -11049708.58242 22630330.006 22630332.146 22630329.120
+ -1238.638 -965.172 52.000 45.000
+ -15493117.09243 -12026113.13242 22335570.648 22335573.588 22335569.419
+ 2844.984 2216.871 52.000 46.000
+ -17090728.40243 -13307351.55342 21571127.335 21571130.257 21571125.731
+ 320.668 249.871 55.000 48.000
+ -10865322.54643 -8451166.78842 22641949.716 22641952.590 22641948.387
+ 3247.444 2530.476 50.000 44.000
+ -7046016.76243 -5443282.58342 23276311.235 23276315.590 23276310.575
+ -1139.445 -887.879 48.000 43.000
+ -12669130.44543 -9825493.19642 22535433.706 22535437.251 22535433.623
+ -1679.411 -1308.632 50.000 44.000
+ -6068463.55043 -4717335.16642 23982524.953 23982527.835 23982523.521
+ -3275.452 -2552.300 48.000 41.000
+ -24378929.56843 -18938630.26042 20632127.975 20632131.351 20632126.733
+ 1241.978 967.775 55.000 49.000
+ 04 2 1 20 46 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17489948.37243 -13569688.75642 21477479.301 21477480.374 21477477.993
+ -2426.339 -1890.654 56.000 48.000
+ -14561721.01344 -11341785.93742 20350884.948 20350885.968 20350884.297
+ -157.184 -122.481 57.000 52.000
+ -14230334.59243 -11020714.53842 22637410.755 22637411.917 22637409.123
+ -1241.417 -967.338 51.000 44.000
+ -15578312.59943 -12092499.25642 22319358.196 22319360.869 22319357.202
+ 2835.102 2209.170 52.000 46.000
+ -17100308.64243 -13314816.68342 21569303.622 21569307.370 21569302.760
+ 318.532 248.207 55.000 48.000
+ -10962626.17043 -8526987.80242 22623433.360 22623435.176 22623432.812
+ 3239.993 2524.670 50.000 44.000
+ -7011598.33443 -5416463.05742 23282861.469 23282864.360 23282860.983
+ -1154.837 -899.873 49.000 43.000
+ -12618550.57043 -9786080.33342 22545059.241 22545061.639 22545058.481
+ -1692.077 -1318.501 50.000 44.000
+ -5970084.20443 -4640676.01142 24001244.907 24001247.707 24001243.739
+ -3282.680 -2557.932 47.000 40.000
+ -24415930.86643 -18967462.43742 20625086.626 20625089.841 20625085.597
+ 1225.477 954.917 55.000 49.000
+ 04 2 1 20 47 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17417070.82243 -13512901.07342 21491347.152 21491348.500 21491345.989
+ -2433.482 -1896.220 55.000 48.000
+ -14556807.59044 -11337957.30442 20351820.183 20351820.808 20351819.247
+ -171.710 -133.800 57.000 52.000
+ -14193086.81543 -10991690.33542 22644497.358 22644499.906 22644495.926
+ -1243.128 -968.671 50.000 44.000
+ -15663251.57643 -12158685.47442 22303194.749 22303197.377 22303193.652
+ 2825.964 2202.050 52.000 46.000
+ -17109870.58543 -13322267.56642 21567483.971 21567487.673 21567482.720
+ 317.539 247.433 55.000 48.000
+ -11059763.87343 -8602679.52242 22604949.226 22604951.417 22604948.114
+ 3234.020 2520.016 50.000 44.000
+ -6976773.24643 -5389326.66242 23289488.060 23289491.554 23289487.202
+ -1168.534 -910.546 48.000 42.000
+ -12567637.55443 -9746407.87442 22554748.467 22554751.096 22554747.855
+ -1703.535 -1327.430 50.000 44.000
+ -5871532.51343 -4563882.55442 24019998.518 24020002.046 24019997.846
+ -3288.944 -2562.813 47.000 41.000
+ -24452478.49043 -18995941.10642 20618131.938 20618135.097 20618130.904
+ 1209.841 942.733 55.000 49.000
+ 04 2 1 20 47 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17343987.19643 -13455952.82242 21505254.514 21505255.872 21505253.026
+ -2439.707 -1901.070 55.000 48.000
+ -14551467.33344 -11333796.07142 20352836.064 20352836.988 20352835.341
+ -185.370 -144.444 57.000 52.000
+ -14155794.26943 -10962631.24342 22651595.054 22651596.678 22651593.847
+ -1243.985 -969.339 51.000 45.000
+ -15747926.00743 -12224665.55142 22287081.480 22287084.376 22287081.079
+ 2817.796 2195.685 53.000 46.000
+ -17119408.71543 -13329699.89242 21565669.040 21565672.610 21565667.867
+ 317.278 247.230 55.000 48.000
+ -11156727.31443 -8678235.45642 22586497.362 22586500.031 22586496.387
+ 3229.002 2516.105 50.000 44.000
+ -6941538.84843 -5361871.30042 23296193.500 23296196.888 23296191.833
+ -1181.345 -920.528 49.000 43.000
+ -12516389.07343 -9706474.02842 22564500.910 22564503.851 22564499.401
+ -1714.111 -1335.671 51.000 44.000
+ -5772804.90343 -4486952.01842 24038785.939 24038788.614 24038785.309
+ -3294.013 -2566.763 47.000 41.000
+ -24488567.39143 -19024062.33142 20611264.633 20611267.537 20611263.313
+ 1195.184 931.312 55.000 49.000
+ 04 2 1 20 48 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17270702.42543 -13398847.83242 21519200.235 21519201.374 21519199.031
+ -2446.532 -1906.388 56.000 48.000
+ -14545703.90244 -11329305.09442 20353933.240 20353933.756 20353932.293
+ -199.575 -155.513 58.000 52.000
+ -14118458.58543 -10933538.53642 22658699.991 22658701.534 22658699.559
+ -1245.607 -970.603 51.000 45.000
+ -15832335.57743 -12290439.25742 22271018.833 22271021.874 22271018.632
+ 2809.014 2188.842 52.000 46.000
+ -17128925.10843 -13337115.27542 21563858.129 21563861.497 21563857.051
+ 316.473 246.602 55.000 49.000
+ -11253515.73843 -8753655.01742 22568078.908 22568081.230 22568077.929
+ 3222.935 2511.378 50.000 44.000
+ -6905899.83243 -5334100.67142 23302975.107 23302979.407 23302975.083
+ -1195.223 -931.342 49.000 43.000
+ -12464809.75143 -9666282.36642 22574316.675 22574318.798 22574315.107
+ -1725.180 -1344.296 50.000 44.000
+ -5673905.50343 -4409887.62442 24057607.018 24057610.086 24057604.699
+ -3299.736 -2571.223 47.000 41.000
+ -24524199.82743 -19051827.86942 20604483.814 20604486.827 20604482.861
+ 1179.844 919.359 55.000 49.000
+ 04 2 1 20 48 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17197219.07043 -13341588.10642 21533183.099 21533185.186 21533182.012
+ -2452.829 -1911.295 55.000 48.000
+ -14539518.75344 -11324485.50742 20355110.269 20355110.714 20355109.269
+ -213.389 -166.277 57.000 52.000
+ -14081079.22143 -10904411.78642 22665813.682 22665814.279 22665811.696
+ -1246.922 -971.627 51.000 44.000
+ -15916477.70143 -12356004.56342 22255006.919 22255010.121 22255006.511
+ 2800.200 2181.974 52.000 46.000
+ -17138419.86543 -13344513.80542 21562051.775 21562054.815 21562050.086
+ 316.021 246.250 55.000 49.000
+ -11350126.09443 -8828935.82142 22549694.413 22549696.837 22549692.950
+ 3217.173 2506.888 50.000 44.000
+ -6869858.76943 -5306016.74742 23309833.456 23309837.555 23309833.135
+ -1207.811 -941.151 48.000 42.000
+ -12412902.63843 -9625835.28942 22584193.844 22584196.030 22584191.816
+ -1735.786 -1352.560 50.000 44.000
+ -5574836.22743 -4332690.85742 24076460.373 24076462.922 24076458.292
+ -3305.305 -2575.562 47.000 41.000
+ -24559376.09043 -19079237.94142 20597790.185 20597793.234 20597788.802
+ 1164.802 907.638 55.000 49.000
+ 04 2 1 20 49 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17123536.65443 -13284173.27442 21547204.692 21547206.095 21547203.229
+ -2458.703 -1915.872 55.000 48.000
+ -14532910.79244 -11319336.45542 20356367.819 20356368.129 20356366.880
+ -226.635 -176.599 57.000 52.000
+ -14043652.45943 -10875248.10342 22672934.980 22672936.071 22672933.509
+ -1247.761 -972.281 51.000 44.000
+ -16000347.12943 -12421357.38242 22239047.928 22239050.974 22239046.956
+ 2791.684 2175.338 53.000 46.000
+ -17147889.83343 -13351893.02242 21560249.465 21560252.988 21560248.142
+ 315.905 246.160 55.000 49.000
+ -11446552.39543 -8904073.21142 22531345.183 22531348.345 22531344.004
+ 3211.744 2502.658 50.000 44.000
+ -6833415.35743 -5277619.31142 23316769.022 23316772.177 23316768.381
+ -1220.891 -951.344 48.000 42.000
+ -12360667.98843 -9585132.99242 22594132.131 22594136.410 22594131.744
+ -1745.768 -1360.339 49.000 44.000
+ -5475596.30743 -4255361.15442 24095343.535 24095347.936 24095341.922
+ -3310.321 -2579.471 46.000 40.000
+ -24594093.65143 -19106290.59042 20591183.616 20591186.940 20591182.460
+ 1150.224 896.278 55.000 49.000
+ 04 2 1 20 49 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17049664.08843 -13226610.26542 21561262.373 21561263.854 21561261.275
+ -2465.991 -1921.551 55.000 48.000
+ -14525887.67144 -11313863.90242 20357703.904 20357704.746 20357702.986
+ -241.417 -188.117 57.000 51.000
+ -14006184.26943 -10846052.14642 22680064.362 22680066.382 22680062.487
+ -1250.192 -974.175 51.000 44.000
+ -16083947.41243 -12486500.46842 22223138.979 22223142.175 22223138.078
+ 2781.704 2167.561 52.000 46.000
+ -17157341.36243 -13359257.86742 21558450.927 21558454.339 21558449.469
+ 314.212 244.841 55.000 49.000
+ -11542798.23443 -8979069.97542 22513030.170 22513032.851 22513029.365
+ 3204.790 2497.239 51.000 44.000
+ -6796578.41743 -5248915.23942 23323778.774 23323781.369 23323777.188
+ -1235.044 -962.372 48.000 42.000
+ -12308114.73143 -9544182.42542 22604134.072 22604137.350 22604133.580
+ -1757.637 -1369.587 50.000 44.000
+ -5376193.97143 -4177904.87242 24114259.226 24114262.809 24114257.342
+ -3316.535 -2584.313 46.000 40.000
+ -24628359.05343 -19132990.90542 20584663.168 20584666.737 20584661.793
+ 1134.124 883.733 55.000 49.000
+ 04 2 1 20 50 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16975597.04943 -13168895.71042 21575356.411 21575358.520 21575355.392
+ -2472.490 -1926.615 55.000 48.000
+ -14518443.94244 -11308063.60442 20359120.352 20359121.259 20359119.602
+ -255.507 -199.096 57.000 51.000
+ -13968667.30143 -10816818.18342 22687204.687 22687205.926 22687202.462
+ -1251.795 -975.425 51.000 44.000
+ -16167269.24543 -12551426.58642 22207283.701 22207286.679 22207282.567
+ 2772.475 2160.370 53.000 46.000
+ -17166767.38843 -13366602.83642 21556656.995 21556660.585 21556655.703
+ 313.393 244.202 55.000 49.000
+ -11638853.48643 -9053918.23542 22494751.595 22494754.167 22494750.089
+ 3198.269 2492.158 50.000 44.000
+ -6759343.81143 -5219901.29742 23330865.531 23330867.382 23330863.391
+ -1248.128 -972.567 48.000 43.000
+ -12255238.95543 -9502980.55342 22614195.981 22614198.803 22614194.519
+ -1768.163 -1377.789 50.000 44.000
+ -5276624.35943 -4100318.23742 24133207.284 24133211.594 24133205.600
+ -3321.985 -2588.560 46.000 40.000
+ -24662165.74643 -19159333.78242 20578229.691 20578233.032 20578228.657
+ 1118.984 871.936 55.000 49.000
+ 04 2 1 20 50 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16901340.47043 -13111033.46742 21589486.969 21589489.085 21589485.708
+ -2478.682 -1931.440 54.000 48.000
+ -14510584.23844 -11301939.17142 20360616.035 20360616.927 20360615.393
+ -269.281 -209.829 57.000 51.000
+ -13931103.72743 -10787547.90942 22694351.930 22694353.737 22694351.264
+ -1253.380 -976.660 51.000 44.000
+ -16250312.86143 -12616135.90142 22191480.335 22191483.370 22191479.839
+ 2763.065 2153.038 52.000 46.000
+ -17176170.21643 -13373929.73842 21554868.562 21554870.877 21554867.151
+ 312.695 243.658 55.000 49.000
+ -11734717.87243 -9128617.76542 22476509.160 22476511.735 22476509.046
+ 3192.045 2487.308 51.000 44.000
+ -6721716.86343 -5190581.63142 23338024.437 23338027.462 23338022.740
+ -1261.254 -982.795 48.000 42.000
+ -12202046.16843 -9461531.65442 22624318.432 22624320.439 22624316.917
+ -1778.683 -1385.987 50.000 44.000
+ -5176891.99243 -4022604.79442 24152184.122 24152188.950 24152184.341
+ -3327.499 -2592.856 45.000 40.000
+ -24695516.71943 -19185321.55442 20571883.036 20571886.614 20571882.427
+ 1103.711 860.035 55.000 49.000
+ 04 2 1 20 51 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16826897.52243 -13053026.00742 21603653.280 21603655.159 21603652.282
+ -2484.231 -1935.764 54.000 48.000
+ -14502310.01644 -11295491.73542 20362190.908 20362191.355 20362189.772
+ -282.550 -220.169 57.000 52.000
+ -13893492.97543 -10758240.87442 22701509.436 22701510.877 22701508.500
+ -1254.190 -977.291 51.000 45.000
+ -16333075.90343 -12680626.59642 22175731.703 22175734.589 22175730.523
+ 2754.433 2146.311 53.000 46.000
+ -17185550.08143 -13381238.74442 21553083.491 21553086.681 21553081.809
+ 312.485 243.495 55.000 49.000
+ -11830388.62243 -9203166.41042 22458304.328 22458306.646 22458303.435
+ 3185.992 2482.591 51.000 45.000
+ -6683700.44643 -5160958.48342 23345257.549 23345262.258 23345257.430
+ -1273.543 -992.371 47.000 42.000
+ -12148539.73043 -9419838.35342 22634500.284 22634502.938 22634499.850
+ -1788.684 -1393.780 50.000 44.000
+ -5076999.00543 -3944766.20042 24171193.623 24171198.907 24171192.960
+ -3331.872 -2596.264 45.000 40.000
+ -24728412.55143 -19210954.68042 20565623.614 20565626.526 20565622.389
+ 1089.139 848.680 56.000 49.000
+ 04 2 1 20 51 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16752269.27243 -12994874.14742 21617854.539 21617856.428 21617853.197
+ -2490.668 -1940.780 54.000 47.000
+ -14493621.63044 -11288721.57242 20363844.418 20363845.028 20363843.207
+ -296.551 -231.079 57.000 52.000
+ -13855833.22343 -10728895.65442 22708676.590 22708677.740 22708675.375
+ -1256.152 -978.820 51.000 45.000
+ -16415554.62243 -12744895.73242 22160036.311 22160039.107 22160035.112
+ 2744.631 2138.674 52.000 46.000
+ -17194905.59043 -13388528.77842 21551303.190 21551305.959 21551301.704
+ 311.366 242.623 55.000 49.000
+ -11925861.62443 -9277560.96642 22440136.740 22440138.123 22440135.151
+ 3179.022 2477.160 52.000 45.000
+ -6645296.14443 -5131033.08242 23352566.492 23352571.028 23352565.725
+ -1286.613 -1002.555 47.000 42.000
+ -12094721.03543 -9377901.72942 22644742.142 22644744.206 22644741.205
+ -1799.241 -1402.006 50.000 44.000
+ -4976946.25743 -3866803.11242 24190232.520 24190237.891 24190232.898
+ -3337.612 -2600.737 45.000 39.000
+ -24760852.41943 -19236232.50142 20559450.180 20559453.690 20559449.131
+ 1073.737 836.678 55.000 49.000
+ 04 2 1 20 52 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16677458.98943 -12936580.45742 21632090.330 21632091.856 21632088.681
+ -2496.510 -1945.332 54.000 47.000
+ -14484521.51444 -11281630.58342 20365575.757 20365576.259 20365574.793
+ -310.096 -241.633 57.000 51.000
+ -13818124.92243 -10699512.57642 22715851.617 22715852.926 22715850.882
+ -1257.493 -979.865 52.000 45.000
+ -16497747.27343 -12808941.96742 22144394.673 22144398.930 22144394.208
+ 2735.112 2131.256 52.000 47.000
+ -17204237.36943 -13395800.31742 21549526.882 21549530.060 21549525.644
+ 310.793 242.176 55.000 49.000
+ -12021134.48443 -9351799.58142 22422006.865 22422008.177 22422005.944
+ 3172.586 2472.145 52.000 45.000
+ -6606507.20043 -5100807.96742 23359949.050 23359952.082 23359946.466
+ -1299.301 -1012.442 48.000 43.000
+ -12040594.17743 -9335724.99342 22655040.467 22655045.236 22655039.728
+ -1809.181 -1409.751 49.000 43.000
+ -4876736.39643 -3788717.60842 24209303.177 24209307.449 24209301.894
+ -3342.319 -2604.404 46.000 39.000
+ -24792837.52043 -19261155.96042 20553364.041 20553367.313 20553362.805
+ 1058.769 825.015 56.000 49.000
+ 04 2 1 20 52 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16602471.34143 -12878148.54842 21646359.648 21646361.703 21646358.755
+ -2501.967 -1949.585 54.000 47.000
+ -14475013.24544 -11274221.55042 20367384.875 20367385.974 20367383.933
+ -323.269 -251.898 57.000 51.000
+ -13780369.18543 -10670092.57742 22723036.130 22723037.598 22723034.680
+ -1258.754 -980.847 51.000 44.000
+ -16579653.31843 -12872764.86642 22128809.397 22128812.786 22128808.303
+ 2725.754 2123.964 53.000 46.000
+ -17213547.14943 -13403054.71242 21547755.745 21547758.865 21547754.083
+ 310.395 241.866 55.000 49.000
+ -12116206.21143 -9425881.45342 22403915.312 22403916.676 22403914.855
+ 3166.165 2467.142 52.000 45.000
+ -6567338.30243 -5070286.78442 23367402.302 23367405.778 23367400.984
+ -1311.673 -1022.083 48.000 42.000
+ -11986163.90943 -9293311.82342 22665399.217 22665401.443 22665398.509
+ -1818.780 -1417.231 50.000 44.000
+ -4776373.45843 -3710512.80142 24228400.961 24228405.720 24228400.580
+ -3347.504 -2608.445 46.000 39.000
+ -24824370.17243 -19285726.86542 20547363.575 20547366.685 20547362.111
+ 1044.107 813.590 56.000 49.000
+ 04 2 1 20 53 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16527304.79043 -12819577.23742 21660662.803 21660665.806 21660662.125
+ -2508.768 -1954.884 54.000 47.000
+ -14465094.33144 -11266492.53442 20369272.601 20369273.511 20369271.903
+ -337.757 -263.187 57.000 51.000
+ -13742561.37943 -10640632.00842 22730229.931 22730233.394 22730229.121
+ -1261.495 -982.983 50.000 44.000
+ -16661265.97543 -12936359.15442 22113279.516 22113282.570 22113278.199
+ 2715.410 2115.904 53.000 47.000
+ -17222830.83143 -13410288.76742 21545988.758 21545992.077 21545987.801
+ 308.730 240.569 55.000 49.000
+ -12211069.79843 -9499801.13842 22385863.067 22385864.476 22385861.471
+ 3158.458 2461.136 52.000 45.000
+ -6527787.97843 -5039468.39242 23374929.427 23374932.353 23374926.700
+ -1324.999 -1032.467 48.000 42.000
+ -11931429.01543 -9250661.28342 22675815.321 22675816.902 22675814.623
+ -1829.766 -1425.792 50.000 44.000
+ -4675855.21543 -3632186.96942 24247528.764 24247533.834 24247527.002
+ -3353.325 -2612.980 46.000 39.000
+ -24855446.73243 -19309942.36842 20541449.901 20541453.008 20541448.544
+ 1028.019 801.054 56.000 49.000
+ 04 2 1 20 53 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16451964.15743 -12760870.27842 21675000.273 21675002.038 21674999.129
+ -2514.344 -1959.229 54.000 47.000
+ -14454768.65744 -11258446.56242 20371237.499 20371238.243 20371236.786
+ -351.115 -273.596 57.000 51.000
+ -13704703.18843 -10611132.15142 22737436.172 22737437.632 22737434.066
+ -1262.824 -984.019 52.000 45.000
+ -16742585.04843 -12999724.67742 22097803.945 22097807.308 22097803.736
+ 2705.676 2108.319 53.000 46.000
+ -17232090.49643 -13417504.10242 21544227.132 21544230.054 21544225.743
+ 308.087 240.068 55.000 49.000
+ -12305724.59343 -9573558.12742 22367850.918 22367852.570 22367849.737
+ 3151.596 2455.789 52.000 45.000
+ -6487861.19043 -5008356.63842 23382524.004 23382529.638 23382523.154
+ -1337.194 -1041.969 47.000 42.000
+ -11876394.79843 -9207777.47742 22686288.055 22686291.128 22686286.930
+ -1839.431 -1433.323 51.000 44.000
+ -4575186.01943 -3553743.53442 24266686.515 24266690.453 24266685.509
+ -3358.172 -2616.757 45.000 39.000
+ -24886069.82143 -19333804.52542 20535622.095 20535625.676 20535621.036
+ 1013.097 789.426 55.000 49.000
+ 04 2 1 20 54 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16376450.64743 -12702028.60742 21689370.200 21689372.458 21689368.746
+ -2520.400 -1963.948 54.000 47.000
+ -14444036.70944 -11250084.01342 20373279.784 20373280.439 20373278.866
+ -364.898 -284.336 57.000 51.000
+ -13666792.92443 -10581591.72242 22744649.496 22744651.730 22744647.667
+ -1265.005 -985.718 51.000 45.000
+ -16823606.93543 -13062858.62342 22082386.354 22082389.719 22082385.737
+ 2695.292 2100.228 53.000 47.000
+ -17241324.62043 -13424699.53742 21542470.299 21542472.469 21542468.516
+ 306.914 239.154 55.000 49.000
+ -12400166.11943 -9647148.92942 22349879.024 22349880.908 22349877.010
+ 3144.097 2449.946 52.000 45.000
+ -6447559.63843 -4976952.86042 23390192.819 23390197.712 23390192.548
+ -1349.949 -1051.908 47.000 42.000
+ -11821063.05443 -9164661.87842 22696817.394 22696819.307 22696816.105
+ -1849.828 -1441.424 50.000 44.000
+ -4474366.79543 -3475183.17942 24285873.710 24285876.285 24285871.135
+ -3363.779 -2621.126 46.000 39.000
+ -24916238.98543 -19357312.96742 20529880.967 20529884.291 20529880.348
+ 997.612 777.360 55.000 49.000
+ 04 2 1 20 54 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16300767.88343 -12643055.05042 21703772.283 21703774.529 21703770.957
+ -2524.974 -1967.512 54.000 47.000
+ -14432901.54144 -11241407.26742 20375398.848 20375399.156 20375397.919
+ -377.413 -294.088 57.000 51.000
+ -13628830.96243 -10552011.01242 22751873.534 22751874.889 22751872.007
+ -1265.740 -986.291 51.000 45.000
+ -16904330.16743 -13125759.85742 22067025.067 22067028.528 22067024.484
+ 2686.209 2093.150 53.000 47.000
+ -17250534.14443 -13431875.80742 21540716.719 21540720.356 21540715.722
+ 307.076 239.280 55.000 49.000
+ -12494393.10843 -9720572.57742 22331948.197 22331950.629 22331946.751
+ 3137.785 2445.027 51.000 45.000
+ -6406887.18143 -4945260.07642 23397933.061 23397938.390 23397932.811
+ -1361.323 -1060.771 47.000 42.000
+ -11765437.96443 -9121317.68242 22707401.676 22707405.140 22707401.752
+ -1858.394 -1448.099 50.000 44.000
+ -4373400.56243 -3396508.27742 24305083.540 24305089.653 24305083.821
+ -3367.834 -2624.286 44.000 39.000
+ -24945955.54343 -19380468.73242 20524226.265 20524229.535 20524225.389
+ 983.477 766.346 55.000 49.000
+ 04 2 1 20 55 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16224918.05043 -12583951.31642 21718206.055 21718207.687 21718205.024
+ -2531.425 -1972.539 54.000 47.000
+ -14421363.83144 -11232416.85942 20377594.447 20377594.957 20377593.553
+ -391.606 -305.147 57.000 51.000
+ -13590816.40843 -10522389.32842 22759107.697 22759109.208 22759107.016
+ -1268.303 -988.288 51.000 45.000
+ -16984751.69143 -13188426.00742 22051722.418 22051724.736 22051720.859
+ 2675.358 2084.695 53.000 47.000
+ -17259718.38243 -13439032.36842 21538969.505 21538972.488 21538967.798
+ 305.456 238.018 55.000 49.000
+ -12588401.39443 -9793825.79542 22314058.653 22314061.647 22314057.225
+ 3129.650 2438.688 52.000 45.000
+ -6365846.06943 -4913280.01642 23405743.995 23405749.482 23405742.645
+ -1374.813 -1071.283 47.000 42.000
+ -11709522.07643 -9077746.88742 22718042.892 22718045.341 22718042.099
+ -1868.913 -1456.296 50.000 44.000
+ -4272288.87243 -3317720.05542 24324326.407 24324328.976 24324323.975
+ -3372.999 -2628.311 42.000 39.000
+ -24975219.60543 -19403271.90342 20518657.739 20518660.878 20518656.453
+ 967.663 754.023 55.000 49.000
+ 04 2 1 20 55 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16148902.68143 -12524718.59442 21732671.443 21732673.524 21732669.960
+ -2536.187 -1976.250 54.000 47.000
+ -14409424.81044 -11223113.73442 20379866.306 20379866.680 20379865.598
+ -404.268 -315.014 57.000 51.000
+ -13552748.24443 -10492725.85942 22766351.704 22766353.216 22766350.203
+ -1269.507 -989.226 51.000 45.000
+ -17064868.37443 -13250854.59742 22036476.369 22036478.940 22036475.105
+ 2665.890 2077.317 53.000 47.000
+ -17268876.75643 -13446168.78242 21537226.588 21537229.783 21537225.330
+ 305.201 237.819 55.000 49.000
+ -12682187.70843 -9866906.04842 22296211.873 22296214.260 22296210.576
+ 3122.797 2433.348 52.000 45.000
+ -6324438.53543 -4881014.44842 23413623.294 23413627.565 23413621.530
+ -1385.963 -1079.971 48.000 42.000
+ -11653317.66743 -9033951.27642 22728738.573 22728740.721 22728736.907
+ -1877.829 -1463.243 51.000 44.000
+ -4171033.19743 -3238819.62142 24343593.537 24343599.713 24343594.550
+ -3377.273 -2631.641 45.000 39.000
+ -25004031.07843 -19425722.40442 20513175.123 20513178.020 20513173.800
+ 953.302 742.833 55.000 49.000
+ 04 2 1 20 56 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16072725.53243 -12465359.79842 21747167.466 21747168.701 21747166.291
+ -2541.579 -1980.451 54.000 47.000
+ -14397087.00644 -11213499.87342 20382214.240 20382214.593 20382213.085
+ -417.646 -325.438 57.000 51.000
+ -13514626.15843 -10463020.37642 22773605.763 22773608.031 22773604.670
+ -1271.320 -990.639 51.000 45.000
+ -17144678.58143 -13313044.37442 22021288.584 22021291.367 22021287.591
+ 2655.429 2069.165 53.000 47.000
+ -17278009.72643 -13453285.39742 21535488.889 21535491.696 21535486.984
+ 304.271 237.094 55.000 49.000
+ -12775749.76143 -9939811.54542 22278407.454 22278409.695 22278407.009
+ 3115.158 2427.396 51.000 45.000
+ -6282667.95543 -4848465.95242 23421573.952 23421575.932 23421572.249
+ -1398.151 -1089.468 48.000 42.000
+ -11596828.39543 -8989933.69042 22739487.999 22739490.007 22739486.190
+ -1887.256 -1470.589 50.000 44.000
+ -4069636.19143 -3159809.07742 24362889.676 24362893.139 24362887.924
+ -3381.890 -2635.239 44.000 39.000
+ -25032391.25143 -19447821.24442 20507778.872 20507781.268 20507777.257
+ 938.181 731.050 56.000 49.000
+ 04 2 1 20 56 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15996389.56443 -12405877.25842 21761693.771 21761695.608 21761692.413
+ -2547.482 -1985.051 55.000 47.000
+ -14384352.77944 -11203577.10942 20384637.261 20384637.989 20384636.351
+ -431.426 -336.176 57.000 51.000
+ -13476450.40543 -10433273.07542 22780870.627 22780872.488 22780869.372
+ -1273.698 -992.492 51.000 45.000
+ -17224180.40643 -13374993.85842 22006160.227 22006163.086 22006159.361
+ 2644.560 2060.696 53.000 47.000
+ -17287117.73443 -13460382.56342 21533756.265 21533758.666 21533754.570
+ 302.902 236.028 55.000 49.000
+ -12869085.48343 -10012540.68442 22260646.214 22260649.239 22260644.867
+ 3107.278 2421.256 52.000 45.000
+ -6240537.89143 -4815637.35642 23429590.631 23429593.471 23429588.915
+ -1410.518 -1099.105 49.000 42.000
+ -11540058.19343 -8945697.20242 22750291.236 22750293.646 22750290.457
+ -1897.439 -1478.524 51.000 44.000
+ -3968100.64243 -3080690.57442 24382212.203 24382215.356 24382211.251
+ -3387.182 -2639.362 45.000 40.000
+ -25060301.39943 -19469569.41642 20502467.496 20502470.100 20502466.051
+ 922.563 718.880 56.000 49.000
+ 04 2 1 20 57 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15919893.68743 -12346270.10642 21776250.247 21776251.930 21776248.870
+ -2552.472 -1988.939 54.000 47.000
+ -14371220.28944 -11193344.00942 20387136.530 20387136.769 20387135.545
+ -444.296 -346.205 57.000 51.000
+ -13438216.79743 -10403480.70642 22788146.080 22788148.682 22788145.023
+ -1275.403 -993.820 51.000 45.000
+ -17303367.77643 -13436698.30642 21991091.850 21991094.268 21991090.459
+ 2634.373 2052.758 54.000 47.000
+ -17296196.63643 -13467457.04342 21532027.845 21532031.713 21532026.361
+ 302.211 235.489 55.000 49.000
+ -12962188.09543 -10085088.19142 22242929.830 22242932.033 22242928.122
+ 3099.716 2415.363 52.000 45.000
+ -6198047.60243 -4782528.10242 23437675.619 23437679.306 23437675.555
+ -1422.397 -1108.361 48.000 42.000
+ -11483006.41743 -8901241.31442 22761147.084 22761150.268 22761145.956
+ -1906.603 -1485.665 50.000 44.000
+ -3866424.97643 -3001462.91042 24401560.943 24401563.297 24401557.909
+ -3391.722 -2642.900 46.000 40.000
+ -25087758.51943 -19490964.58042 20497242.845 20497245.344 20497241.348
+ 907.779 707.360 56.000 49.000
+ 04 2 1 20 57 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15843242.90043 -12286542.24942 21790836.669 21790838.619 21790835.557
+ -2557.897 -1993.166 54.000 47.000
+ -14357693.98244 -11182804.04542 20389710.352 20389710.678 20389709.519
+ -457.767 -356.701 57.000 51.000
+ -13399927.50843 -10373644.93342 22795432.155 22795434.037 22795431.021
+ -1277.696 -995.607 51.000 45.000
+ -17382240.90943 -13498157.90642 21976082.393 21976085.367 21976081.630
+ 2623.597 2044.361 53.000 47.000
+ -17305249.15043 -13474510.97342 21530305.733 21530308.345 21530303.966
+ 301.001 234.546 55.000 49.000
+ -13055057.33543 -10157453.83942 22225256.639 22225259.714 22225255.922
+ 3091.345 2408.840 52.000 45.000
+ -6155202.77943 -4749142.56742 23445828.763 23445832.380 23445826.234
+ -1434.251 -1117.598 49.000 43.000
+ -11425678.82243 -8856570.49642 22772056.718 22772059.428 22772054.531
+ -1915.793 -1492.826 50.000 44.000
+ -3764614.01043 -2922129.80742 24420932.898 24420936.918 24420932.035
+ -3396.250 -2646.428 45.000 40.000
+ -25114765.91943 -19512009.31342 20492102.743 20492106.055 20492101.612
+ 892.422 695.394 56.000 49.000
+ 04 2 1 20 58 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15766436.89443 -12226693.43942 21805452.287 21805454.121 21805451.073
+ -2563.025 -1997.162 54.000 47.000
+ -14343772.80944 -11171956.38942 20392359.356 20392359.988 20392358.611
+ -470.976 -366.994 57.000 51.000
+ -13361579.00943 -10343763.03642 22802729.858 22802732.651 22802728.539
+ -1279.614 -997.102 51.000 45.000
+ -17460794.62243 -13559368.60242 21961132.845 21961137.021 21961132.572
+ 2612.815 2035.960 53.000 47.000
+ -17314272.11743 -13481541.87542 21528588.530 21528591.630 21528587.173
+ 299.895 233.684 55.000 49.000
+ -13147687.64943 -10229633.31242 22207630.516 22207633.291 22207629.229
+ 3083.240 2402.525 52.000 45.000
+ -6112003.19343 -4715480.59142 23454049.718 23454053.384 23454047.443
+ -1446.247 -1126.946 49.000 43.000
+ -11368075.58643 -8811684.89842 22783017.248 22783020.763 22783016.334
+ -1924.947 -1499.959 49.000 44.000
+ -3662667.03243 -2842690.72742 24440334.680 24440338.073 24440331.747
+ -3400.648 -2649.855 46.000 40.000
+ -25141321.44343 -19532701.93742 20487049.650 20487052.804 20487048.470
+ 877.271 683.588 56.000 50.000
+ 04 2 1 20 58 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15689480.44743 -12166727.40742 21820096.766 21820098.621 21820095.561
+ -2567.080 -2000.322 54.000 47.000
+ -14329460.89944 -11160804.26242 20395083.142 20395083.473 20395082.224
+ -482.834 -376.234 57.000 51.000
+ -13323173.21143 -10313836.47242 22810038.912 22810040.683 22810036.768
+ -1280.448 -997.752 51.000 45.000
+ -17539028.71843 -13620330.25042 21946246.014 21946250.355 21946245.164
+ 2603.218 2028.482 53.000 47.000
+ -17323267.55743 -13488551.32142 21526876.788 21526879.537 21526875.619
+ 300.144 233.878 55.000 49.000
+ -13240078.11043 -10301625.89242 22190048.299 22190051.303 22190047.290
+ 3076.444 2397.229 52.000 45.000
+ -6068454.15943 -4681546.29742 23462336.119 23462340.814 23462334.388
+ -1456.799 -1135.168 47.000 42.000
+ -11310202.23143 -8766588.78842 22794031.031 22794033.468 22794029.677
+ -1932.850 -1506.117 49.000 43.000
+ -3560588.15043 -2763148.84042 24459759.591 24459763.185 24459757.517
+ -3404.303 -2652.704 46.000 40.000
+ -25167428.04643 -19553044.75042 20482081.321 20482084.974 20482080.160
+ 863.444 672.814 55.000 49.000
+ 04 2 1 20 59 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15612377.60343 -12106647.29142 21834769.009 21834770.291 21834767.664
+ -2572.774 -2004.759 54.000 47.000
+ -14314761.75744 -11149350.39142 20397880.052 20397880.526 20397879.324
+ -496.566 -386.934 57.000 51.000
+ -13284711.19643 -10283866.10542 22817357.028 22817359.008 22817355.484
+ -1283.007 -999.746 51.000 44.000
+ -17616942.48643 -13681042.28442 21931419.788 21931423.246 21931418.731
+ 2591.689 2019.498 53.000 47.000
+ -17332237.15543 -13495540.63542 21525169.881 21525172.840 21525168.281
+ 298.382 232.505 55.000 49.000
+ -13332227.73343 -10373430.80542 22172512.811 22172516.374 22172512.363
+ 3067.551 2390.299 52.000 46.000
+ -6024560.34643 -4647343.37042 23470689.394 23470693.773 23470686.223
+ -1468.842 -1144.552 48.000 42.000
+ -11252063.52343 -8721285.93142 22805094.152 22805096.784 22805092.680
+ -1942.385 -1513.547 49.000 43.000
+ -3458381.43643 -2683507.36142 24479207.861 24479211.838 24479208.092
+ -3409.139 -2656.472 46.000 39.000
+ -25193088.13243 -19573039.62942 20477198.633 20477202.000 20477197.410
+ 847.733 660.571 56.000 49.000
+ 04 2 1 20 59 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15535127.21943 -12046452.21342 21849469.240 21849471.408 21849467.881
+ -2577.133 -2008.155 54.000 47.000
+ -14299672.97144 -11137592.90642 20400751.448 20400751.954 20400750.562
+ -509.085 -396.690 57.000 51.000
+ -13246188.25343 -10253848.26342 22824687.783 22824690.289 22824686.299
+ -1284.841 -1001.175 51.000 44.000
+ -17694529.22543 -13741499.50142 21916655.679 21916658.886 21916654.621
+ 2581.083 2011.234 53.000 47.000
+ -17341176.41243 -13502506.30242 21523468.812 21523471.969 21523467.438
+ 297.863 232.101 55.000 49.000
+ -13424129.29643 -10445042.42142 22155024.434 22155028.033 22155023.832
+ 3059.517 2384.039 52.000 46.000
+ -5980320.33043 -4612870.67042 23479107.851 23479112.498 23479106.736
+ -1480.018 -1153.261 49.000 42.000
+ -11193658.25443 -8675775.37242 22816207.817 22816211.353 22816207.190
+ -1950.928 -1520.204 49.000 43.000
+ -3356044.78243 -2603764.61042 24498682.564 24498687.142 24498681.036
+ -3412.547 -2659.127 46.000 39.000
+ -25218298.24143 -19592683.87642 20472401.276 20472404.859 20472400.396
+ 833.207 649.252 56.000 50.000
+ 04 2 1 21 0 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15457734.06943 -11986145.89442 21864197.091 21864198.166 21864195.962
+ -2582.314 -2012.193 55.000 47.000
+ -14284198.65344 -11125535.00742 20403695.971 20403696.881 20403695.050
+ -522.422 -407.082 57.000 51.000
+ -13207605.71443 -10223783.99242 22832030.083 22832032.410 22832029.493
+ -1287.169 -1002.989 51.000 44.000
+ -17771788.65143 -13801701.67342 21901954.199 21901957.207 21901952.939
+ 2569.770 2002.418 53.000 47.000
+ -17350087.45443 -13509449.99042 21521772.583 21521776.268 21521771.624
+ 296.347 230.920 55.000 49.000
+ -13515782.36743 -10516460.41442 22137584.248 22137586.328 22137583.029
+ 3050.758 2377.214 52.000 45.000
+ -5935739.28543 -4578132.20842 23487591.872 23487595.834 23487589.564
+ -1491.815 -1162.453 49.000 42.000
+ -11134991.87143 -8630061.31742 22827372.064 22827375.447 22827371.783
+ -1959.997 -1527.270 49.000 43.000
+ -3253582.36843 -2523923.89142 24518180.428 24518185.125 24518180.001
+ -3417.572 -2663.043 46.000 39.000
+ -25243061.27643 -19611979.75342 20467689.100 20467692.227 20467688.198
+ 818.000 637.403 56.000 49.000
+ 04 2 1 21 0 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15380197.72543 -11925727.99042 21878951.517 21878953.396 21878951.008
+ -2586.297 -2015.296 54.000 47.000
+ -14268338.36544 -11113176.35542 20406714.348 20406714.773 20406713.319
+ -534.486 -416.482 57.000 51.000
+ -13168961.22643 -10193671.45142 22839383.510 22839384.636 22839382.369
+ -1288.607 -1004.109 51.000 44.000
+ -17848716.39743 -13861645.37942 21887315.393 21887317.680 21887314.258
+ 2559.226 1994.202 54.000 47.000
+ -17358967.94043 -13516369.87042 21520083.339 21520086.228 21520081.794
+ 296.037 230.678 55.000 49.000
+ -13607181.60743 -10587680.60542 22120191.044 22120193.269 22120189.609
+ 3043.004 2371.172 52.000 45.000
+ -5890818.20643 -4543128.79942 23496139.544 23496142.467 23496138.346
+ -1502.470 -1170.756 49.000 42.000
+ -11076065.40243 -8584144.63242 22838586.235 22838587.599 22838584.320
+ -1967.972 -1533.485 49.000 43.000
+ -3150994.28643 -2443985.22942 24537702.452 24537706.366 24537701.507
+ -3421.017 -2665.727 46.000 40.000
+ -25267375.83843 -19630926.17542 20463062.536 20463065.468 20463061.198
+ 803.687 626.250 56.000 50.000
+ 04 2 1 21 1 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15302525.56243 -11865204.25742 21893732.075 21893733.865 21893730.919
+ -2591.276 -2019.176 54.000 47.000
+ -14252098.31044 -11100521.78242 20409804.529 20409805.409 20409803.773
+ -547.672 -426.757 57.000 51.000
+ -13130258.30643 -10163513.35742 22846748.887 22846750.743 22846747.837
+ -1291.051 -1006.014 51.000 44.000
+ -17925314.41043 -13921332.15642 21872739.213 21872741.800 21872738.167
+ 2547.764 1985.271 54.000 47.000
+ -17367821.93643 -13523269.09442 21518398.851 21518401.744 21518397.174
+ 294.599 229.558 56.000 49.000
+ -13698328.69643 -10658704.32542 22102846.834 22102849.630 22102845.602
+ 3033.931 2364.102 53.000 46.000
+ -5845564.18943 -4507865.97142 23504751.462 23504756.017 23504749.984
+ -1514.075 -1179.799 48.000 42.000
+ -11016886.35043 -8538031.12042 22849847.008 22849848.831 22849846.274
+ -1976.672 -1540.264 49.000 43.000
+ -3048287.04843 -2363953.72942 24557246.166 24557251.294 24557245.913
+ -3425.641 -2669.331 46.000 40.000
+ -25291247.15443 -19649527.21042 20458520.045 20458522.925 20458518.609
+ 788.360 614.306 56.000 49.000
+ 04 2 1 21 1 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15224713.51443 -11804571.52442 21908539.659 21908541.442 21908538.486
+ -2595.874 -2022.759 54.000 47.000
+ -14235473.83344 -11087567.65442 20412968.237 20412968.606 20412967.308
+ -560.375 -436.656 57.000 51.000
+ -13091489.97043 -10133304.31042 22854126.738 22854128.901 22854124.821
+ -1293.239 -1007.719 51.000 44.000
+ -18001573.42543 -13980754.77442 21858227.025 21858230.764 21858226.103
+ 2536.372 1976.394 53.000 47.000
+ -17376642.33743 -13530142.15742 21516719.430 21516722.954 21516718.529
+ 293.560 228.748 55.000 49.000
+ -13789213.94343 -10729524.01142 22085552.451 22085553.996 22085550.418
+ 3025.182 2357.285 53.000 46.000
+ -5799973.52343 -4472340.80242 23513426.045 23513430.282 23513424.774
+ -1525.619 -1188.794 48.000 42.000
+ -10957450.86643 -8491717.79542 22861157.918 22861160.521 22861156.573
+ -1985.257 -1546.953 49.000 43.000
+ -2945455.92743 -2283825.69042 24576815.032 24576817.818 24576815.311
+ -3429.560 -2672.384 46.000 39.000
+ -25314669.17843 -19667778.14242 20454062.701 20454065.776 20454061.412
+ 773.436 602.677 55.000 49.000
+ 04 2 1 21 2 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15146767.39143 -11743834.31542 21923371.773 21923373.428 21923370.472
+ -2599.993 -2025.968 53.000 47.000
+ -14218470.56344 -11074318.36742 20416203.878 20416204.241 20416203.168
+ -572.686 -446.249 57.000 51.000
+ -13052659.16543 -10103046.58242 22861514.388 22861517.314 22861513.024
+ -1295.102 -1009.170 50.000 44.000
+ -18077494.80743 -14039914.30142 21843779.237 21843782.888 21843778.169
+ 2525.465 1967.895 53.000 47.000
+ -17385432.63743 -13536991.75442 21515046.415 21515050.670 21515045.653
+ 292.890 228.226 55.000 49.000
+ -13879838.28543 -10800140.38542 22068306.859 22068308.382 22068305.672
+ 3016.834 2350.780 52.000 46.000
+ -5754052.99943 -4436558.62342 23522165.131 23522169.425 23522163.820
+ -1535.929 -1196.828 47.000 42.000
+ -10897766.16743 -8445210.28442 22872514.435 22872517.263 22872513.662
+ -1993.414 -1553.310 49.000 43.000
+ -2842506.98843 -2203605.82442 24596405.287 24596410.021 24596403.823
+ -3433.380 -2675.361 45.000 39.000
+ -25337646.66843 -19685682.68942 20449690.258 20449693.512 20449689.019
+ 758.944 591.385 56.000 49.000
+ 04 2 1 21 2 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15068690.10843 -11682994.90042 21938230.203 21938231.016 21938228.442
+ -2604.998 -2029.868 54.000 47.000
+ -14201090.67144 -11060775.60342 20419511.105 20419511.385 20419510.231
+ -585.826 -456.488 57.000 51.000
+ -13013765.72343 -10072740.04442 22868916.779 22868918.729 22868915.210
+ -1297.531 -1011.063 51.000 44.000
+ -18153076.45643 -14098809.10442 21829396.919 21829399.848 21829396.106
+ 2513.523 1958.589 53.000 47.000
+ -17394192.75843 -13543817.84042 21513380.246 21513383.543 21513378.790
+ 291.319 227.002 55.000 49.000
+ -13970199.15443 -10870551.44842 22051111.785 22051113.856 22051110.914
+ 3007.366 2343.402 52.000 46.000
+ -5707805.99343 -4400522.03042 23530966.341 23530969.911 23530964.555
+ -1547.114 -1205.543 48.000 42.000
+ -10837835.49843 -8398511.08042 22883919.228 22883923.593 22883918.007
+ -2001.894 -1559.917 49.000 43.000
+ -2739442.70343 -2123296.09642 24616017.845 24616022.935 24616018.185
+ -3437.662 -2678.698 45.000 38.000
+ -25360180.65943 -19703241.64842 20445402.186 20445405.411 20445400.974
+ 743.602 579.430 56.000 50.000
+ 04 2 1 21 3 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14990481.19543 -11622052.93442 21953111.779 21953114.891 21953110.406
+ -2608.668 -2032.728 53.000 47.000
+ -14183333.26644 -11046938.67742 20422890.132 20422890.671 20422889.418
+ -597.645 -465.697 57.000 51.000
+ -12974806.33643 -10042382.10742 22876330.669 22876332.560 22876329.603
+ -1299.245 -1012.399 51.000 44.000
+ -18228313.32943 -14157435.25342 21815079.694 21815082.953 21815078.877
+ 2502.630 1950.101 54.000 47.000
+ -17402919.65643 -13550618.03542 21511719.460 21511722.270 21511718.128
+ 290.883 226.662 55.000 49.000
+ -14060290.89243 -10940752.81542 22033967.864 22033970.427 22033967.168
+ 2999.068 2336.936 52.000 46.000
+ -5661232.65743 -4364231.13642 23539829.415 23539833.101 23539826.945
+ -1557.338 -1213.510 48.000 42.000
+ -10777659.57643 -8351620.79342 22895371.161 22895373.683 22895368.368
+ -2009.347 -1565.725 49.000 43.000
+ -2636262.37843 -2042895.95742 24635653.442 24635658.500 24635651.569
+ -3440.634 -2681.013 45.000 38.000
+ -25382269.21743 -19720453.52142 20441198.683 20441201.978 20441197.455
+ 729.362 568.334 56.000 50.000
+ 04 2 1 21 3 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14912148.38643 -11561014.40442 21968019.087 21968020.394 21968017.104
+ -2613.733 -2036.675 54.000 47.000
+ -14165205.13044 -11032812.87042 20426339.951 20426340.588 20426339.231
+ -611.287 -476.327 57.000 51.000
+ -12935784.90243 -10011975.84242 22883756.274 22883757.769 22883755.251
+ -1302.515 -1014.947 51.000 45.000
+ -18303207.90543 -14215794.67942 21800828.148 21800831.184 21800827.035
+ 2489.952 1940.222 54.000 47.000
+ -17411618.13043 -13557396.07842 21510064.438 21510067.323 21510062.649
+ 288.571 224.861 56.000 49.000
+ -14150115.55343 -11010746.06042 22016874.734 22016877.126 22016873.432
+ 2988.751 2328.897 52.000 46.000
+ -5614340.85743 -4327692.08142 23548751.919 23548756.057 23548750.007
+ -1569.421 -1222.925 48.000 42.000
+ -10717246.34743 -8304545.58842 22906867.406 22906868.802 22906866.071
+ -2018.546 -1572.893 48.000 43.000
+ -2532973.05543 -1962410.84942 24655306.761 24655312.757 24655307.036
+ -3445.600 -2684.883 44.000 38.000
+ -25403918.20143 -19737322.86242 20437079.290 20437082.555 20437078.035
+ 713.548 556.011 56.000 50.000
+ 04 2 1 21 4 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14833685.10143 -11499874.21842 21982949.286 21982951.969 21982948.339
+ -2616.854 -2039.107 54.000 47.000
+ -14146699.90844 -11018393.22742 20429861.670 20429861.886 20429860.489
+ -622.773 -485.278 57.000 51.000
+ -12896693.24543 -9981514.85742 22891194.896 22891197.094 22891193.487
+ -1303.446 -1015.672 52.000 44.000
+ -18377749.46443 -14273879.01842 21786643.483 21786646.202 21786642.038
+ 2479.275 1931.902 54.000 47.000
+ -17420279.39943 -13564145.13242 21508416.235 21508418.748 21508415.002
+ 288.543 224.839 56.000 49.000
+ -14239661.86843 -11080522.41542 21999834.502 21999836.475 21999833.487
+ 2980.777 2322.683 52.000 46.000
+ -5567125.29243 -4290900.77442 23557736.902 23557739.976 23557735.435
+ -1578.532 -1230.025 48.000 42.000
+ -10656590.57443 -8257281.37942 22918408.629 22918411.841 22918407.472
+ -2025.507 -1578.317 48.000 42.000
+ -2429568.37843 -1881835.88142 24674985.703 24674990.910 24674984.237
+ -3448.458 -2687.110 45.000 39.000
+ -25425120.04043 -19753843.78542 20433044.784 20433047.522 20433043.478
+ 699.705 545.225 56.000 50.000
+ 04 2 1 21 4 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14755099.80843 -11438638.95442 21997903.742 21997905.845 21997902.687
+ -2622.225 -2043.292 54.000 47.000
+ -14127825.08444 -11003685.58342 20433453.349 20433453.699 20433452.491
+ -635.883 -495.493 57.000 51.000
+ -12857536.17243 -9951002.87642 22898646.390 22898649.112 22898645.053
+ -1307.003 -1018.444 51.000 44.000
+ -18451941.23243 -14331690.78842 21772525.174 21772528.386 21772523.965
+ 2466.499 1921.947 54.000 47.000
+ -17428908.76343 -13570869.32842 21506774.226 21506777.150 21506772.551
+ 286.437 223.198 56.000 49.000
+ -14328932.61743 -11150084.03642 21982846.682 21982848.965 21982845.505
+ 2970.404 2314.601 52.000 46.000
+ -5519594.65843 -4253863.95642 23566780.821 23566784.220 23566779.516
+ -1590.260 -1239.164 48.000 42.000
+ -10595701.02043 -8209835.02442 22929995.591 22929998.860 22929994.214
+ -2033.942 -1584.890 49.000 43.000
+ -2326056.17343 -1801177.12842 24694682.483 24694687.533 24694682.250
+ -3453.034 -2690.676 45.000 38.000
+ -25445881.29043 -19770021.38942 20429093.812 20429096.907 20429092.545
+ 683.892 532.903 56.000 49.000
+ 04 2 1 21 5 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14676397.49243 -11377312.50242 22012880.566 22012882.594 22012879.386
+ -2624.554 -2045.107 54.000 47.000
+ -14108584.76444 -10988693.14142 20437114.461 20437114.860 20437113.607
+ -646.712 -503.931 57.000 51.000
+ -12818314.98143 -9920440.95342 22906110.628 22906111.951 22906108.525
+ -1307.640 -1018.940 51.000 44.000
+ -18525782.96143 -14389229.81742 21758473.875 21758476.388 21758472.462
+ 2456.313 1914.010 54.000 47.000
+ -17437508.00143 -13577570.04842 21505137.854 21505140.599 21505136.239
+ 286.819 223.495 56.000 49.000
+ -14417927.06043 -11219430.35642 21965911.628 21965914.108 21965910.096
+ 2962.565 2308.492 53.000 46.000
+ -5471753.98743 -4216585.53842 23575885.079 23575889.979 23575882.530
+ -1599.309 -1246.215 47.000 41.000
+ -10534582.94843 -8162210.57042 22941626.802 22941627.976 22941625.772
+ -2040.193 -1589.761 49.000 43.000
+ -2222440.84243 -1720438.03742 24714402.585 24714406.331 24714400.123
+ -3454.586 -2691.885 45.000 39.000
+ -25466204.96543 -19785858.03342 20425226.456 20425229.888 20425225.028
+ 670.828 522.723 55.000 49.000
+ 04 2 1 21 5 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14597573.35843 -11315891.12942 22027879.977 22027882.131 22027879.256
+ -2628.877 -2048.475 54.000 47.000
+ -14088973.92744 -10973411.98042 20440846.034 20440846.843 20440845.562
+ -659.261 -513.710 57.000 51.000
+ -12779021.73443 -9889822.87342 22913587.157 22913589.759 22913585.764
+ -1310.502 -1021.170 51.000 44.000
+ -18599265.31043 -14446488.80742 21744490.269 21744493.635 21744488.997
+ 2443.928 1904.359 54.000 48.000
+ -17446069.91243 -13584241.67642 21503508.174 21503511.495 21503506.809
+ 285.393 222.384 55.000 49.000
+ -14506635.44043 -11288553.77442 21949031.378 21949034.193 21949030.520
+ 2952.784 2300.871 53.000 46.000
+ -5423599.45043 -4179062.54542 23585047.972 23585052.298 23585046.550
+ -1609.575 -1254.214 48.000 42.000
+ -10473232.48243 -8114405.05042 22953301.085 22953303.136 22953300.057
+ -2048.316 -1596.090 49.000 43.000
+ -2118717.51343 -1639614.74942 24734138.961 24734144.509 24734138.334
+ -3458.574 -2694.993 45.000 39.000
+ -25486085.04443 -19801349.02142 20421442.981 20421446.416 20421441.922
+ 655.946 511.127 55.000 49.000
+ 04 2 1 21 6 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14518633.01843 -11254379.20442 22042901.811 22042904.425 22042900.476
+ -2632.613 -2051.387 53.000 46.000
+ -14068997.73444 -10957846.12942 20444647.701 20444648.371 20444646.670
+ -671.256 -523.057 57.000 51.000
+ -12739659.54243 -9859151.06542 22921078.386 22921079.821 22921075.686
+ -1312.520 -1022.743 51.000 44.000
+ -18672389.48043 -14503468.69742 21730574.662 21730578.582 21730573.966
+ 2432.049 1895.103 54.000 48.000
+ -17454597.52743 -13590886.58542 21501886.060 21501888.837 21501884.104
+ 284.293 221.527 56.000 49.000
+ -14595057.98343 -11357454.46742 21932205.205 21932206.984 21932204.110
+ 2943.325 2293.500 53.000 46.000
+ -5375137.32843 -4141299.88242 23594270.938 23594274.705 23594269.721
+ -1619.801 -1262.182 48.000 42.000
+ -10411656.36943 -8066423.69742 22965019.472 22965022.295 22965017.401
+ -2055.459 -1601.656 48.000 43.000
+ -2014891.76743 -1558711.67442 24753895.733 24753901.625 24753895.169
+ -3462.044 -2697.697 46.000 39.000
+ -25505525.69043 -19816497.58342 20417744.215 20417747.213 20417742.510
+ 641.389 499.784 56.000 49.000
+ 04 2 1 21 6 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14439578.39843 -11192778.24042 22057945.754 22057947.421 22057944.292
+ -2637.338 -2055.068 53.000 46.000
+ -14048658.00744 -10941997.00342 20448517.829 20448518.561 20448517.060
+ -684.590 -533.447 57.000 51.000
+ -12700228.38943 -9828425.53942 22928581.172 22928583.045 22928580.230
+ -1315.935 -1025.404 51.000 44.000
+ -18745152.60943 -14560167.25342 21716728.623 21716731.601 21716727.739
+ 2418.914 1884.868 54.000 48.000
+ -17463090.16743 -13597504.25242 21500269.502 21500272.477 21500268.061
+ 282.135 219.845 56.000 49.000
+ -14683191.89243 -11426130.25242 21915433.797 21915435.649 21915432.536
+ 2932.479 2285.049 53.000 46.000
+ -5326370.47143 -4103299.75842 23603551.347 23603555.284 23603550.634
+ -1631.330 -1271.166 48.000 42.000
+ -10349857.40843 -8018268.69442 22976778.347 22976781.760 22976777.981
+ -2064.013 -1608.322 49.000 42.000
+ -1910965.51143 -1477730.30442 24773672.144 24773677.652 24773670.751
+ -3466.359 -2701.059 44.000 39.000
+ -25524527.86343 -19831304.48142 20414127.942 20414131.342 20414126.881
+ 625.562 487.451 56.000 50.000
+ 04 2 1 21 7 0.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14360412.49343 -11131090.56442 22073010.700 22073012.625 22073009.569
+ -2640.631 -2057.634 54.000 46.000
+ -14027956.98844 -10925866.35342 20452457.452 20452458.203 20452456.560
+ -695.849 -542.220 57.000 51.000
+ -12660727.32643 -9797645.51242 22936097.797 22936100.129 22936097.014
+ -1317.723 -1026.797 50.000 44.000
+ -18817552.59943 -14616582.83942 21702951.138 21702955.398 21702950.342
+ 2407.526 1875.994 54.000 48.000
+ -17471547.84543 -13604094.66842 21498660.131 21498663.113 21498658.778
+ 281.586 219.418 55.000 49.000
+ -14771034.46443 -11494579.02042 21898717.591 21898719.409 21898716.614
+ 2923.500 2278.052 53.000 46.000
+ -5277302.18243 -4065064.80142 23612888.805 23612892.551 23612887.446
+ -1640.472 -1278.290 48.000 42.000
+ -10287838.98743 -7969942.67942 22988581.541 22988583.547 22988580.519
+ -2071.125 -1613.864 49.000 42.000
+ -1806941.08543 -1396672.42642 24793468.016 24793472.357 24793466.697
+ -3469.014 -2703.128 45.000 39.000
+ -25543092.62443 -19845770.54042 20410595.248 20410598.693 20410594.006
+ 611.659 476.617 56.000 50.000
+ 04 2 1 21 7 30.0000000 0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14281134.60243 -11069315.60542 22088096.449 22088098.485 22088095.315
+ -2643.957 -2060.226 53.000 47.000
+ -14006894.06044 -10909453.69442 20456465.697 20456466.188 20456464.509
+ -707.639 -551.407 57.000 51.000
+ -12621152.75343 -9766808.22642 22943628.078 22943630.923 22943627.508
+ -1319.951 -1028.533 50.000 44.000
+ -18889584.55243 -14672711.64642 21689244.588 21689247.741 21689243.602
+ 2395.315 1866.479 55.000 48.000
+ -17479967.54243 -13610655.48442 21497057.837 21497060.880 21497056.560
+ 280.494 218.567 55.000 49.000
+ -14858580.34543 -11562796.59842 21882057.875 21882060.413 21882056.804
+ 2913.722 2270.433 53.000 46.000
+ -5227932.83043 -4026595.21942 23622282.181 23622287.694 23622279.947
+ -1650.226 -1285.890 47.000 42.000
+ -10225601.81043 -7921446.21442 23000424.516 23000426.885 23000423.094
+ -2077.637 -1618.938 49.000 42.000
+ -1702818.14843 -1315537.79642 24813281.589 24813286.908 24813280.618
+ -3471.807 -2705.304 44.000 39.000
+ -25561218.41143 -19859894.53742 20407146.249 20407148.861 20407144.888
+ 597.414 465.517 56.000 49.000
+ 04 2 1 21 8 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -14201749.64943 -11007457.24342 22103203.049 22103205.467 22103202.265
+ -2648.401 -2063.689 54.000 47.000
+ -13985473.25344 -10892762.16942 20460541.778 20460542.588 20460540.871
+ -720.522 -561.446 57.000 51.000
+ -12581506.27543 -9735914.90342 22951173.061 22951175.758 22951171.721
+ -1323.278 -1031.126 50.000 44.000
+ -18961247.96943 -14728553.28142 21675607.136 21675610.614 21675606.163
+ 2382.149 1856.220 54.000 48.000
+ -17488350.79943 -13617187.91142 21495462.672 21495465.941 21495461.063
+ 278.258 216.824 55.000 49.000
+ -271116.12753 -200968.25752 25180198.326 25180201.517 25180198.114
+ 3428.338 2671.432 44.000 37.000
+ -14945828.44943 -11630782.12842 21865455.232 21865457.927 21865454.458
+ 2902.857 2261.966 52.000 46.000
+ -5178267.50443 -3987894.99642 23631733.485 23631738.106 23631732.345
+ -1661.219 -1294.456 48.000 42.000
+ -10163150.84843 -7872783.16242 23012307.352 23012311.261 23012306.673
+ -2085.958 -1625.422 48.000 42.000
+ -1598600.60243 -1234329.42242 24833114.179 24833119.126 24833112.586
+ -3476.298 -2708.804 44.000 39.000
+ -25578908.07043 -19873678.69742 20403779.922 20403782.748 20403778.720
+ 581.810 453.358 56.000 49.000
+ 04 2 1 21 8 30.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -14122262.47643 -10945519.21542 22118329.019 22118330.462 22118327.916
+ -2650.741 -2065.512 53.000 46.000
+ -13963698.78144 -10875795.06042 20464684.832 20464686.064 20464684.256
+ -731.269 -569.820 57.000 51.000
+ -12541789.71343 -9704966.97742 22958732.074 22958734.285 22958730.034
+ -1324.424 -1032.019 51.000 44.000
+ -19032543.15043 -14784107.98542 21662040.160 21662043.391 21662039.232
+ 2370.901 1847.455 54.000 48.000
+ -17496699.75643 -13623693.60842 21493873.266 21493877.038 21493872.227
+ 278.388 216.926 55.000 49.000
+ -373981.54043 -281123.19342 25160623.559 25160626.993 25160624.827
+ 3428.550 2671.597 44.000 37.000
+ -15032778.77543 -11698535.63242 21848908.991 21848911.550 21848907.492
+ 2893.785 2254.897 52.000 46.000
+ -5128311.76843 -3948968.49042 23641239.670 23641244.317 23641239.235
+ -1669.378 -1300.814 48.000 41.000
+ -10100492.05643 -7823958.17542 23024231.399 23024234.442 23024229.002
+ -2091.675 -1629.877 48.000 42.000
+ -1494293.37343 -1153051.19542 24852963.682 24852968.382 24852961.776
+ -3477.802 -2709.975 43.000 39.000
+ -25596165.31643 -19887125.91342 20400496.167 20400498.908 20400494.590
+ 568.538 443.017 56.000 49.000
+ 04 2 1 21 9 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -14042666.82943 -10883496.67342 22133475.379 22133477.723 22133473.426
+ -2654.885 -2068.741 53.000 46.000
+ -13941564.73844 -10858547.76642 20468897.133 20468898.002 20468896.378
+ -743.696 -579.503 57.000 51.000
+ -12501994.47143 -9673957.73742 22966304.660 22966305.511 22966303.152
+ -1327.671 -1034.549 51.000 44.000
+ -19103459.75543 -14839367.69942 21648544.854 21648548.352 21648544.021
+ 2357.601 1837.092 54.000 48.000
+ -17505005.95643 -13630165.98342 21492293.088 21492296.212 21492291.568
+ 276.256 215.264 55.000 49.000
+ -476801.09643 -361242.42342 25141058.715 25141059.775 25141057.225
+ 3426.358 2669.889 45.000 37.000
+ -15119420.18743 -11766048.42542 21832422.354 21832424.171 21832421.093
+ 2882.959 2246.462 53.000 46.000
+ -5078060.60543 -3909811.76242 23650801.312 23650806.618 23650799.840
+ -1680.055 -1309.134 47.000 42.000
+ -10037620.32043 -7774967.24542 23036195.238 23036198.675 23036193.456
+ -2099.079 -1635.646 48.000 42.000
+ -1389890.50843 -1071698.44342 24872830.189 24872835.759 24872828.928
+ -3481.440 -2712.810 45.000 39.000
+ -25612983.05743 -19900230.66042 20397295.258 20397298.438 20397294.241
+ 553.474 431.278 56.000 49.000
+ 04 2 1 21 9 30.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13962971.93943 -10821396.78642 22148641.086 22148643.198 22148639.473
+ -2657.966 -2071.142 53.000 46.000
+ -13919079.42344 -10841026.75842 20473175.942 20473176.836 20473175.246
+ -755.250 -588.506 57.000 51.000
+ -12462126.46243 -9642891.80842 22973890.069 22973892.249 22973887.506
+ -1330.043 -1036.397 49.000 43.000
+ -19174001.63543 -14894335.41142 21635121.256 21635125.214 21635120.328
+ 2345.202 1827.430 54.000 48.000
+ -17513275.15543 -13636609.53342 21490719.379 21490722.933 21490717.915
+ 275.151 214.403 55.000 49.000
+ -579579.17943 -441329.26142 25121499.888 25121503.002 25121499.183
+ 3425.233 2669.013 45.000 37.000
+ -15205756.42743 -11833323.42242 21815992.878 21815995.633 21815991.783
+ 2872.908 2238.630 53.000 46.000
+ -5027523.52843 -3870432.23442 23660419.009 23660424.495 23660417.550
+ -1689.282 -1316.324 48.000 42.000
+ -9974545.32043 -7725817.93242 23048199.074 23048200.446 23048197.354
+ -2105.791 -1640.876 49.000 42.000
+ -1285400.38343 -990277.71842 24892715.192 24892720.136 24892714.484
+ -3484.203 -2714.963 46.000 38.000
+ -25629368.57843 -19912998.61042 20394177.351 20394180.568 20394175.999
+ 539.023 420.018 56.000 49.000
+ 04 2 1 21 10 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13883178.90643 -10759220.43842 22163825.282 22163827.620 22163823.872
+ -2660.916 -2073.441 53.000 46.000
+ -13896244.03444 -10823232.96342 20477522.025 20477522.370 20477520.544
+ -766.618 -597.365 57.000 51.000
+ -12422184.23543 -9611768.02042 22981491.862 22981492.739 22981490.736
+ -1332.156 -1038.044 50.000 43.000
+ -19244165.71843 -14949008.73542 21621769.585 21621773.119 21621769.218
+ 2332.862 1817.815 54.000 48.000
+ -17521506.07843 -13643023.26042 21489153.533 21489156.433 21489152.205
+ 274.079 213.568 56.000 49.000
+ -682312.82143 -521381.51842 25101951.239 25101953.194 25101949.537
+ 3424.080 2668.114 45.000 37.000
+ -15291783.95943 -11900357.86742 21799622.305 21799625.019 21799621.509
+ 2862.779 2230.737 53.000 47.000
+ -4976702.81443 -3830831.72442 23670090.095 23670093.346 23670088.526
+ -1697.986 -1323.106 48.000 41.000
+ -9911269.26643 -7676511.93942 23060240.045 23060241.718 23060240.612
+ -2112.117 -1645.805 49.000 42.000
+ -1180824.34343 -908790.01342 24912613.673 24912619.721 24912613.625
+ -3486.988 -2717.133 44.000 38.000
+ -25645322.21843 -19925430.02642 20391141.594 20391144.797 20391140.247
+ 525.002 409.092 56.000 49.000
+ 04 2 1 21 10 30.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13803291.60043 -10696970.63142 22179026.869 22179029.469 22179026.200
+ -2664.838 -2076.497 53.000 46.000
+ -13873061.82144 -10805168.91942 20481933.050 20481933.600 20481932.282
+ -778.892 -606.929 57.000 51.000
+ -12382168.16543 -9580586.70342 22989106.010 22989108.939 22989104.609
+ -1335.539 -1040.680 50.000 43.000
+ -19313950.87943 -15003386.79842 21608490.596 21608493.497 21608489.359
+ 2319.404 1807.328 55.000 48.000
+ -17529699.76743 -13649407.97042 21487594.192 21487597.294 21487592.661
+ 272.148 212.063 55.000 49.000
+ -785001.30143 -601398.57142 25082408.793 25082413.280 25082409.319
+ 3421.790 2666.330 44.000 37.000
+ -15377500.80243 -11967150.20842 21783311.121 21783313.340 21783309.807
+ 2851.595 2222.022 53.000 47.000
+ -4925602.81943 -3791013.57942 23679814.515 23679818.501 23679813.839
+ -1708.460 -1331.267 48.000 42.000
+ -9847796.88543 -7627052.97242 23072318.121 23072320.364 23072316.730
+ -2119.240 -1651.356 49.000 43.000
+ -1076166.05443 -827238.23642 24932530.030 24932535.373 24932529.975
+ -3490.434 -2719.819 43.000 38.000
+ -25660846.31543 -19937526.73342 20388187.706 20388190.350 20388186.265
+ 509.878 397.308 55.000 49.000
+ 04 2 1 21 11 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13723307.84243 -10634645.65842 22194247.480 22194249.642 22194246.245
+ -2667.005 -2078.186 53.000 46.000
+ -13849530.39644 -10786832.76242 20486410.934 20486411.490 20486409.906
+ -789.516 -615.207 57.000 51.000
+ -12342073.28443 -9549343.98342 22996736.287 22996737.818 22996735.511
+ -1337.108 -1041.902 50.000 44.000
+ -19383350.49743 -15057464.43742 21595284.599 21595286.868 21595283.314
+ 2307.552 1798.092 55.000 48.000
+ -17537851.42043 -13655759.92642 21486042.305 21486046.232 21486041.356
+ 271.602 211.638 55.000 49.000
+ -887638.03043 -681375.31842 25062878.133 25062881.412 25062877.207
+ 3420.640 2665.434 44.000 37.000
+ -15462900.04943 -12033695.08742 21767060.371 21767062.706 21767058.958
+ 2842.026 2214.566 54.000 47.000
+ -4874222.20043 -3750976.77042 23689592.039 23689596.367 23689590.721
+ -1716.623 -1337.628 47.000 41.000
+ -9784126.74943 -7577439.92342 23084434.349 23084437.667 23084433.792
+ -2124.954 -1655.808 49.000 43.000
+ -971423.24343 -745620.57042 24952462.338 24952467.624 24952460.425
+ -3492.180 -2721.179 44.000 38.000
+ -25675937.57243 -19949286.16042 20385315.540 20385318.550 20385314.345
+ 496.409 386.812 55.000 49.000
+ 04 2 1 21 11 30.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13643231.75943 -10572248.73542 22209486.300 22209487.940 22209484.631
+ -2670.568 -2080.962 53.000 46.000
+ -13825653.88644 -10768227.70142 20490954.444 20490954.943 20490953.554
+ -801.553 -624.587 57.000 51.000
+ -12301901.50743 -9518041.33642 23004380.775 23004383.254 23004378.749
+ -1340.189 -1044.303 51.000 44.000
+ -19452364.48343 -15111241.58142 21582150.714 21582154.292 21582149.950
+ 2294.115 1787.622 55.000 48.000
+ -17545962.50943 -13662080.26842 21484499.470 21484503.219 21484497.992
+ 269.767 210.208 55.000 49.000
+ -990223.04243 -761311.72642 25043357.220 25043358.669 25043356.560
+ 3418.822 2664.017 45.000 38.000
+ -15547981.03143 -12099991.97042 21750869.873 21750871.866 21750868.849
+ 2830.739 2205.771 54.000 47.000
+ -4822566.13143 -3710725.34042 23699422.015 23699426.830 23699420.615
+ -1726.374 -1345.226 47.000 42.000
+ -9720264.31143 -7527677.01742 23096587.004 23096589.768 23096585.988
+ -2131.794 -1661.138 49.000 43.000
+ -866600.09643 -663940.32042 24972409.423 24972414.959 24972408.200
+ -3495.828 -2724.022 45.000 38.000
+ -25690599.10343 -19960710.73742 20382525.479 20382528.671 20382524.339
+ 481.557 375.239 56.000 50.000
+ 04 2 1 21 12 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13563065.72443 -10509781.73442 22224740.879 22224742.710 22224739.816
+ -2673.445 -2083.204 53.000 46.000
+ -13801434.39644 -10749355.38442 20495563.212 20495564.057 20495562.478
+ -812.802 -633.352 57.000 51.000
+ -12261651.60543 -9486677.81742 23012039.674 23012042.961 23012038.469
+ -1342.774 -1046.317 50.000 44.000
+ -19520990.34543 -15164716.29342 21569091.571 21569095.431 21569090.892
+ 2281.102 1777.482 54.000 48.000
+ -17554032.51143 -13668368.60342 21482963.773 21482967.576 21482962.338
+ 268.393 209.137 55.000 49.000
+ -1092754.14643 -841206.14842 25023846.548 25023849.446 25023844.396
+ 3416.846 2662.477 45.000 38.000
+ -15632740.87443 -12166038.60042 21734740.863 21734742.795 21734739.262
+ 2820.108 2197.487 54.000 47.000
+ -4770637.67743 -3670261.65342 23709303.820 23709308.093 23709302.315
+ -1734.895 -1351.866 48.000 41.000
+ -9656212.79843 -7477766.77842 23108776.168 23108778.256 23108775.003
+ -2137.921 -1665.912 48.000 43.000
+ -761698.84243 -582199.21442 24992371.414 24992377.355 24992370.243
+ -3497.804 -2725.561 44.000 39.000
+ -25704832.01843 -19971801.33042 20379817.544 20379820.385 20379816.147
+ 467.534 364.312 56.000 50.000
+ 04 2 1 21 12 30.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13482812.22243 -10447246.57042 22240012.502 22240014.664 22240011.588
+ -2676.555 -2085.627 52.000 46.000
+ -13776873.65444 -10730217.16142 20500237.687 20500237.749 20500236.567
+ -824.419 -642.404 57.000 51.000
+ -12221323.01243 -9455252.98342 23019714.899 23019716.524 23019712.943
+ -1345.609 -1048.526 50.000 43.000
+ -19589225.91943 -15217886.88142 21556107.252 21556110.092 21556105.741
+ 2268.110 1767.358 54.000 48.000
+ -17562060.92343 -13674624.52642 21481436.260 21481439.104 21481434.778
+ 266.893 207.969 55.000 49.000
+ -1195229.16343 -921056.84342 25004347.340 25004350.033 25004346.634
+ 3414.911 2660.970 46.000 38.000
+ -15717176.50543 -12231832.60242 21718673.046 21718675.300 21718671.781
+ 2809.014 2188.842 54.000 47.000
+ -4718439.91843 -3629588.12942 23719236.097 23719240.354 23719235.259
+ -1744.652 -1359.469 47.000 42.000
+ -9591974.93343 -7427711.33542 23120999.024 23121001.985 23120998.688
+ -2144.302 -1670.885 48.000 42.000
+ -656721.36043 -500398.71142 25012348.542 25012355.035 25012348.062
+ -3500.493 -2727.657 45.000 38.000
+ -25718637.37643 -19982558.76342 20377190.240 20377193.648 20377189.238
+ 453.012 352.996 56.000 50.000
+ 04 2 1 21 13 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13402469.75343 -10384642.08442 22255300.975 22255303.636 22255300.253
+ -2680.490 -2088.693 52.000 46.000
+ -13751970.51744 -10710812.13042 20504976.088 20504976.633 20504974.958
+ -836.626 -651.916 57.000 51.000
+ -12180911.91943 -9423763.85842 23027404.110 23027406.037 23027402.571
+ -1349.240 -1051.356 51.000 43.000
+ -19657065.38243 -15270748.81342 21543196.947 21543201.483 21543196.433
+ 2253.871 1756.263 54.000 48.000
+ -17570043.97843 -13680845.10542 21479916.808 21479920.396 21479915.687
+ 264.538 206.134 55.000 49.000
+ -1297642.61443 -1000859.60642 24984857.794 24984860.428 24984856.186
+ 3411.997 2658.699 45.000 39.000
+ -15801281.87843 -12297369.26442 21702668.637 21702670.436 21702666.952
+ 2797.202 2179.638 54.000 47.000
+ -4665972.68843 -3588704.60742 23729221.301 23729223.996 23729220.332
+ -1754.027 -1366.774 48.000 41.000
+ -9527550.80743 -7377510.76042 23133258.673 23133262.388 23133257.095
+ -2151.203 -1676.262 48.000 42.000
+ -551666.54243 -418537.93442 25032340.316 25032345.247 25032339.569
+ -3503.827 -2730.255 45.000 38.000
+ -25732012.95843 -19992981.30642 20374645.017 20374647.933 20374643.671
+ 437.933 341.246 56.000 50.000
+ 04 2 1 21 13 30.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13322044.10643 -10321972.79342 22270605.569 22270607.875 22270604.484
+ -2682.333 -2090.130 52.000 46.000
+ -13726729.94244 -10691144.16342 20509779.370 20509779.778 20509778.333
+ -847.122 -660.095 57.000 51.000
+ -12140420.64243 -9392212.23742 23035109.810 23035111.898 23035108.434
+ -1351.267 -1052.935 51.000 44.000
+ -19724509.70343 -15323302.83942 21530363.403 21530367.136 21530362.524
+ 2241.360 1746.514 54.000 48.000
+ -17577984.24143 -13687032.35342 21478405.648 21478409.449 21478404.248
+ 263.855 205.601 55.000 49.000
+ -1399995.49043 -1080615.11942 24965380.784 24965384.346 24965380.320
+ 3410.421 2657.471 45.000 39.000
+ -15885057.46143 -12362648.94442 21686726.006 21686728.151 21686724.962
+ 2786.917 2171.624 54.000 47.000
+ -4613242.03343 -3547615.81042 23739255.838 23739259.624 23739254.597
+ -1762.141 -1373.097 48.000 42.000
+ -9462946.66743 -7327169.89542 23145552.622 23145556.593 23145551.178
+ -2156.602 -1680.469 49.000 42.000
+ -446539.60643 -336621.00342 25052344.264 25052351.211 25052344.590
+ -3505.626 -2731.657 43.000 37.000
+ -25744962.97643 -20003072.23542 20372180.381 20372183.987 20372179.405
+ 424.434 330.728 56.000 50.000
+ 04 2 1 21 14 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13241537.35043 -10259240.29642 22285925.060 22285927.593 22285923.576
+ -2684.433 -2091.766 52.000 45.000
+ -13701153.93344 -10671214.81942 20514646.713 20514646.638 20514645.341
+ -857.786 -668.405 57.000 51.000
+ -12099848.46943 -9360597.60842 23042829.871 23042832.868 23042828.516
+ -1353.485 -1054.664 50.000 44.000
+ -19791556.33143 -15375546.98242 21517605.425 21517608.388 21517604.067
+ 2228.607 1736.577 54.000 48.000
+ -17585881.21643 -13693185.86142 21476903.323 21476906.423 21476901.795
+ 262.834 204.806 55.000 49.000
+ -1502285.60543 -1160321.75242 24945914.586 24945918.494 24945913.893
+ 3408.765 2656.181 44.000 39.000
+ -15968500.37743 -12427669.39942 21670847.056 21670849.745 21670845.872
+ 2776.138 2163.224 53.000 47.000
+ -4560251.12943 -3506324.23842 23749337.430 23749343.186 23749338.099
+ -1770.365 -1379.505 47.000 41.000
+ -9398165.65543 -7276691.22542 23157879.256 23157882.007 23157877.625
+ -2162.007 -1684.681 47.000 42.000
+ -341342.65843 -254649.50842 25072363.222 25072367.572 25072361.849
+ -3507.357 -2733.005 43.000 37.000
+ -25757488.64543 -20012832.50742 20369796.956 20369800.287 20369795.817
+ 410.838 320.134 56.000 50.000
+ 04 2 1 21 14 30.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13160961.06243 -10196453.61742 22301258.017 22301260.781 22301257.681
+ -2687.221 -2093.938 52.000 45.000
+ -13675254.12144 -10651033.16442 20519574.489 20519575.360 20519573.577
+ -868.850 -677.026 57.000 51.000
+ -12059204.75943 -9328927.22942 23050564.319 23050567.256 23050562.587
+ -1356.168 -1056.754 50.000 43.000
+ -19858212.76843 -15427487.07342 21504920.885 21504924.167 21504919.923
+ 2215.224 1726.149 55.000 48.000
+ -17593743.95043 -13699312.68342 21475407.317 21475410.480 21475405.734
+ 261.330 203.634 55.000 49.000
+ -1604520.46143 -1239985.30442 24926459.992 24926465.698 24926459.775
+ 3406.379 2654.321 45.000 38.000
+ -16051617.46743 -12492435.96842 21655030.688 21655033.568 21655029.354
+ 2764.871 2154.445 54.000 47.000
+ -4507012.69943 -3464839.79042 23759470.518 23759473.773 23759468.470
+ -1779.181 -1386.375 48.000 41.000
+ -9333220.45643 -7226084.60642 23170238.274 23170241.988 23170238.014
+ -2167.628 -1689.061 48.000 42.000
+ -236087.57543 -172632.70042 25092393.556 25092399.608 25092391.748
+ -3509.607 -2734.759 43.000 37.000
+ -25769600.69843 -20022270.47942 20367492.370 20367495.629 20367491.097
+ 396.734 309.143 56.000 50.000
+ 04 2 1 21 15 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13080296.91843 -10133598.47242 22316608.862 22316611.437 22316607.277
+ -2690.119 -2096.197 53.000 46.000
+ -13649011.96644 -10630584.74442 20524568.435 20524569.154 20524567.328
+ -880.349 -685.986 57.000 51.000
+ -12018467.75643 -9297184.17042 23058316.283 23058319.362 23058314.719
+ -1359.299 -1059.194 50.000 44.000
+ -19924456.05543 -15479105.23142 21492315.268 21492317.816 21492313.862
+ 2201.279 1715.282 55.000 48.000
+ -17601551.22643 -13705396.29542 21473921.577 21473924.487 21473920.350
+ 259.364 202.102 55.000 49.000
+ -1706677.24543 -1319588.02642 24907020.541 24907024.471 24907019.274
+ 3403.764 2652.284 44.000 39.000
+ -16134385.22143 -12556930.32542 21639280.318 21639283.522 21639279.790
+ 2753.305 2145.432 54.000 47.000
+ -4453509.30743 -3423148.87742 23769651.629 23769655.246 23769650.805
+ -1787.993 -1393.241 47.000 41.000
+ -9268093.75743 -7175336.58142 23182632.828 23182635.168 23182631.288
+ -2173.909 -1693.955 48.000 42.000
+ -130755.96643 -90556.23742 25112435.210 25112443.381 25112436.547
+ -3512.411 -2736.944 42.000 36.000
+ -25781279.64643 -20031370.96642 20365269.642 20365273.174 20365268.404
+ 382.230 297.842 56.000 50.000
+ 04 2 1 21 15 30.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12999556.81843 -10070684.15042 22331973.904 22331975.675 22331972.702
+ -2692.810 -2098.293 53.000 46.000
+ -13622439.28544 -10609878.77742 20529624.731 20529625.719 20529624.146
+ -891.438 -694.627 57.000 51.000
+ -11977646.66243 -9265375.57442 23066085.055 23066086.932 23066083.502
+ -1362.426 -1061.631 51.000 44.000
+ -19990293.60143 -15530407.23042 21479786.583 21479789.567 21479785.472
+ 2187.535 1704.573 55.000 48.000
+ -17609312.10843 -13711443.74542 21472444.549 21472447.511 21472443.213
+ 257.696 200.802 56.000 49.000
+ -1808763.51343 -1399135.80042 24887593.100 24887597.953 24887592.397
+ 3401.434 2650.468 42.000 38.000
+ -16216810.75643 -12621158.01942 21623595.629 21623597.799 21623594.670
+ 2741.580 2136.296 54.000 47.000
+ -4399753.56243 -3381261.32742 23779879.754 23779884.969 23779878.910
+ -1796.044 -1399.515 47.000 41.000
+ -9202798.27043 -7124457.01542 23195056.232 23195060.073 23195055.423
+ -2179.571 -1698.367 47.000 42.000
+ -25359.46543 -8429.22042 25132493.595 25132498.070 25132492.951
+ -3514.471 -2738.549 42.000 36.000
+ -25792536.27843 -20040142.37442 20363127.801 20363130.928 20363126.737
+ 368.041 286.785 55.000 50.000
+ 04 2 1 21 16 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12918740.47543 -10007710.41542 22347351.865 22347354.752 22347351.121
+ -2694.623 -2099.706 52.000 45.000
+ -13595535.56644 -10588914.85842 20534744.422 20534745.268 20534743.779
+ -901.866 -702.753 57.000 51.000
+ -11936738.24443 -9233498.92942 23073868.393 23073869.722 23073867.408
+ -1364.609 -1063.332 49.000 43.000
+ -20055720.75743 -15581389.44742 21467336.398 21467339.690 21467335.143
+ 2174.466 1694.389 55.000 48.000
+ -17617023.58443 -13717452.70342 21470977.497 21470980.196 21470975.790
+ 256.713 200.036 55.000 49.000
+ -1910774.42443 -1478624.81442 24868179.355 24868186.807 24868179.601
+ 3399.834 2649.221 42.000 38.000
+ -16298888.78543 -12685114.92742 21607976.389 21607978.539 21607975.396
+ 2730.551 2127.702 54.000 47.000
+ -4345746.15143 -3339177.68942 23790157.591 23790161.289 23790156.425
+ -1803.710 -1405.488 47.000 41.000
+ -9137334.95143 -7073446.67442 23207514.547 23207517.735 23207513.669
+ -2184.434 -1702.156 48.000 42.000
+ 80102.25243 73748.56642 25152561.696 25152568.513 25152560.226
+ -3516.170 -2739.873 41.000 35.000
+ -25803369.51043 -20048583.86342 20361065.986 20361069.468 20361064.880
+ 354.380 276.140 56.000 50.000
+ 04 2 1 21 16 30.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12837854.45543 -9944682.38242 22362743.936 22362745.754 22362742.454
+ -2696.986 -2101.547 52.000 45.000
+ -13568307.16244 -10567697.93642 20539925.842 20539926.909 20539925.006
+ -912.702 -711.196 57.000 51.000
+ -11895746.27543 -9201557.18142 23081669.678 23081672.375 23081667.957
+ -1367.472 -1065.562 50.000 43.000
+ -20120739.89343 -15632053.72542 21454963.106 21454966.988 21454962.457
+ 2160.805 1683.744 55.000 49.000
+ -17624689.55643 -13723426.20442 21469518.429 21469521.064 21469517.046
+ 255.060 198.748 55.000 49.000
+ -2012712.31743 -1558056.98542 24848781.884 24848787.198 24848781.985
+ 3396.865 2646.908 41.000 37.000
+ -16380620.72843 -12748802.15942 21592423.994 21592426.118 21592422.565
+ 2718.902 2118.625 54.000 47.000
+ -4291494.53343 -3296903.72042 23800481.897 23800486.649 23800481.808
+ -1812.201 -1412.105 48.000 41.000
+ -9071711.20843 -7022311.32042 23220002.503 23220003.819 23220001.335
+ -2189.652 -1706.222 48.000 42.000
+ 185622.55243 155972.02242 25172640.455 25172649.044 25172638.753
+ -3518.226 -2741.475 41.000 35.000
+ -25813784.79143 -20056699.67542 20359084.388 20359087.442 20359082.858
+ 340.557 265.369 56.000 50.000
+ 04 2 1 21 17 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12756900.69743 -9881601.57642 22378149.221 22378150.824 22378147.868
+ -2700.048 -2103.933 52.000 45.000
+ -13540755.48044 -10546229.10942 20545168.962 20545169.616 20545168.081
+ -923.864 -719.894 57.000 51.000
+ -11854669.30343 -9169549.21742 23089486.751 23089488.870 23089484.993
+ -1370.884 -1068.221 51.000 44.000
+ -20185347.67243 -15682397.46242 21442669.417 21442672.384 21442668.247
+ 2146.577 1672.657 55.000 49.000
+ -17632308.51043 -13729363.07242 21468068.688 21468071.554 21468067.242
+ 253.013 197.153 56.000 49.000
+ -2114574.23643 -1637429.92642 24829401.468 24829404.634 24829398.649
+ 3394.109 2644.760 43.000 38.000
+ -16462003.22443 -12812217.10142 21576937.126 21576939.453 21576935.774
+ 2706.761 2109.164 54.000 47.000
+ -4237001.21643 -3254441.44742 23810851.516 23810855.487 23810850.215
+ -1820.576 -1418.631 47.000 41.000
+ -9005929.50443 -6971052.89542 23232520.128 23232522.468 23232519.513
+ -2195.522 -1710.796 48.000 42.000
+ 291200.04843 238240.06042 25192731.602 25192740.820 25192731.489
+ -3520.635 -2743.352 40.000 34.000
+ -25823782.69443 -20064490.25742 20357181.598 20357185.139 20357180.405
+ 326.241 254.214 56.000 50.000
+ 04 2 1 21 17 30.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12675873.65543 -9818463.66442 22393568.287 22393570.393 22393566.516
+ -2701.691 -2105.214 52.000 45.000
+ -13512875.51044 -10524504.47442 20550474.426 20550475.036 20550473.453
+ -934.332 -728.051 57.000 51.000
+ -11813499.64343 -9137469.00742 23097320.199 23097323.633 23097318.599
+ -1373.499 -1070.259 50.000 43.000
+ -20249534.58943 -15732413.25642 21430454.966 21430457.980 21430453.635
+ 2132.892 1661.994 55.000 49.000
+ -17639873.00443 -13735257.49842 21466629.644 21466632.275 21466627.920
+ 251.582 196.038 56.000 49.000
+ -2216350.79143 -1716736.33642 24810033.612 24810036.762 24810031.256
+ 3391.401 2642.650 42.000 38.000
+ -16543026.55743 -12875352.17342 21561518.817 21561521.484 21561518.218
+ 2695.140 2100.109 54.000 48.000
+ -4182262.11143 -3211787.62142 23821266.790 23821271.247 23821266.058
+ -1828.266 -1424.623 47.000 41.000
+ -8939985.86643 -6919668.29142 23245068.921 23245071.595 23245068.600
+ -2200.435 -1714.625 48.000 42.000
+ 396839.73843 320556.57342 25212837.571 25212840.354 25212834.699
+ -3522.119 -2744.508 40.000 33.000
+ -25833357.32043 -20071951.01142 20355359.791 20355362.991 20355358.662
+ 312.564 243.556 56.000 50.000
+ 04 2 1 21 18 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12594788.04843 -9755280.12242 22408997.964 22409001.056 22408996.746
+ -2703.408 -2106.552 52.000 45.000
+ -13484681.72744 -10502535.30842 20555839.452 20555840.338 20555838.572
+ -944.926 -736.306 57.000 51.000
+ -11772248.90543 -9105325.61342 23105170.813 23105172.067 23105169.717
+ -1376.361 -1072.489 50.000 43.000
+ -20313311.21743 -15782109.33642 21418318.621 21418321.512 21418317.396
+ 2119.195 1651.321 55.000 48.000
+ -17647395.08343 -13741118.87542 21465198.157 21465200.785 21465196.518
+ 250.180 194.945 56.000 49.000
+ -2318052.46543 -1795984.42342 24790679.365 24790684.290 24790678.603
+ 3388.723 2640.563 40.000 38.000
+ -16623700.41543 -12938214.92642 21546167.540 21546169.432 21546166.268
+ 2683.417 2090.974 55.000 48.000
+ -4127292.97743 -3168954.57542 23831728.416 23831733.535 23831726.218
+ -1835.926 -1430.592 48.000 42.000
+ -8873896.01143 -6868169.75142 23257646.234 23257648.959 23257644.917
+ -2205.372 -1718.472 48.000 42.000
+ 402909.93642 25232949.827 25232952.817
+ -3523.037 -2745.224 40.000 33.000
+ -25842522.43943 -20079092.67642 20353615.815 20353619.116 20353614.292
+ 298.725 232.773 56.000 50.000
+ 04 2 1 21 18 30.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12513635.63343 -9692044.52342 22424441.615 22424443.714 22424440.282
+ -2706.262 -2108.775 53.000 45.000
+ -13456165.81644 -10480315.13142 20561265.797 20561266.429 20561264.990
+ -955.880 -744.841 57.000 51.000
+ -11730906.20843 -9073110.58142 23113038.421 23113039.523 23113037.099
+ -1379.512 -1074.944 50.000 43.000
+ -20376664.89243 -15831475.85242 21406262.430 21406266.270 21406261.163
+ 2104.788 1640.095 55.000 49.000
+ -17654863.35143 -13746938.32642 21463776.625 21463779.880 21463775.163
+ 248.045 193.282 55.000 49.000
+ -2419666.55343 -1875164.23542 24771341.769 24771347.873 24771341.752
+ 3385.681 2638.193 42.000 38.000
+ -16704011.72343 -13000795.17042 21530884.307 21530886.616 21530883.352
+ 2671.008 2081.305 55.000 48.000
+ -4072086.47843 -3125936.53342 23842232.807 23842238.181 23842232.597
+ -1844.116 -1436.973 47.000 41.000
+ -8807652.59543 -6816551.55142 23270252.334 23270254.231 23270250.333
+ -2210.868 -1722.754 48.000 42.000
+ 608269.60453 485306.82452 25253070.453 25253072.885 25253066.155
+ -3525.151 -2746.871 40.000 32.000
+ -25851268.95443 -20085908.15342 20351951.357 20351954.744 20351950.135
+ 284.648 221.804 56.000 50.000
+ 04 2 1 21 19 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12432424.19343 -9628762.91042 22439895.266 22439897.862 22439894.377
+ -2708.265 -2110.336 52.000 45.000
+ -13427335.23144 -10457849.75242 20566752.241 20566752.934 20566751.343
+ -966.417 -753.052 57.000 51.000
+ -11689476.57243 -9040827.78542 23120921.461 23120923.615 23120919.177
+ -1382.629 -1077.373 50.000 43.000
+ -20439598.89443 -15880515.34542 21394286.184 21394290.069 21394285.040
+ 2090.608 1629.045 55.000 48.000
+ -17662282.55943 -13752719.54242 21462365.110 21462368.401 21462363.543
+ 246.294 191.917 56.000 49.000
+ -2521196.26243 -1954278.31642 24752023.394 24752027.315 24752022.801
+ 3382.743 2635.904 42.000 38.000
+ -16783963.26543 -13063095.07242 21515670.406 21515671.947 21515669.290
+ 2658.782 2071.778 55.000 48.000
+ -4016651.26843 -3082740.31742 23852783.684 23852785.427 23852781.630
+ -1851.847 -1442.998 48.000 41.000
+ -8741264.21743 -6764820.40242 23282884.118 23282888.278 23282883.996
+ -2215.529 -1726.386 47.000 42.000
+ -7163039.50853 -5570258.89552 25273200.111 25273210.180 25273202.504
+ -3527.006 -2748.316 38.000 32.000
+ -25859603.48243 -20092402.60242 20350365.715 20350368.352 20350364.132
+ 270.723 210.953 56.000 50.000
+ 04 2 1 21 19 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -12351150.33043 -9565432.67142 22455361.698 22455363.106 22455360.084
+ -2709.625 -2111.396 53.000 45.000
+ -13398186.94444 -10435136.81742 20572299.049 20572299.582 20572297.832
+ -976.409 -760.838 57.000 51.000
+ -11647954.04543 -9008472.62142 23128823.895 23128825.693 23128822.897
+ -1385.182 -1079.362 51.000 43.000
+ -20502106.02843 -15929222.22042 21382392.076 21382395.021 21382390.752
+ 2076.862 1618.334 55.000 49.000
+ -17669647.28343 -13758458.30442 21460963.232 21460966.846 21460961.742
+ 244.984 190.897 55.000 49.000
+ -2622634.38843 -2033321.00342 24732719.104 24732724.084 24732717.075
+ 3380.414 2634.089 40.000 37.000
+ -16863547.27743 -13125108.59342 21500526.053 21500527.838 21500524.829
+ 2647.076 2062.657 54.000 48.000
+ -3960985.56243 -3039364.46042 23863375.639 23863379.705 23863375.355
+ -1858.886 -1448.482 48.000 41.000
+ -8674729.20143 -6712974.95642 23295545.815 23295547.638 23295545.689
+ -2219.851 -1729.754 47.000 42.000
+ -25867522.49543 -20098573.27242 20348858.597 20348861.581 20348857.021
+ 257.432 200.596 56.000 50.000
+ 04 2 1 21 20 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12269821.89143 -9502059.89842 22470837.345 22470839.390 22470836.491
+ -2712.368 -2113.533 52.000 45.000
+ -13368728.70044 -10412182.35642 20577904.532 20577905.239 20577903.784
+ -987.573 -769.537 57.000 51.000
+ -11606343.78043 -8976049.08542 23136741.126 23136742.832 23136740.194
+ -1388.981 -1082.323 49.000 43.000
+ -20564189.74543 -15977599.15642 21370577.874 21370580.705 21370576.441
+ 2061.858 1606.643 55.000 49.000
+ -17676962.21643 -13764158.26942 21459571.219 21459574.239 21459569.867
+ 242.447 188.920 55.000 49.000
+ -2723984.22043 -2112294.94542 24713433.820 24713437.342 24713432.586
+ 3376.083 2630.714 43.000 37.000
+ -16942766.55743 -13186837.90342 21485450.845 21485453.410 21485450.105
+ 2633.948 2052.427 54.000 48.000
+ -3905097.99743 -2995815.73942 23874010.305 23874015.990 23874009.379
+ -1867.164 -1454.933 47.000 41.000
+ -8608056.08643 -6661021.91642 23308234.192 23308236.404 23308233.228
+ -2225.297 -1733.998 49.000 42.000
+ -6951312.29653 -5405276.93752 25313491.840 25313498.137 25313488.463
+ -3530.325 -2750.902 37.000 33.000
+ -25875032.66843 -20104425.36642 20347429.438 20347432.461 20347427.894
+ 243.088 189.419 56.000 50.000
+ 04 2 1 21 20 30.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12188434.95343 -9438641.53542 22486324.788 22486326.216 22486324.031
+ -2713.982 -2114.791 52.000 45.000
+ -13338956.46344 -10388983.22742 20583570.309 20583570.954 20583569.276
+ -997.833 -777.532 57.000 51.000
+ -11564638.67643 -8943551.65742 23144677.002 23144679.863 23144676.263
+ -1391.903 -1084.600 49.000 43.000
+ -20625841.90543 -16025639.81142 21358845.774 21358849.270 21358844.962
+ 2047.619 1595.547 55.000 49.000
+ -17684221.07643 -13769814.54342 21458190.688 21458193.173 21458189.139
+ 240.773 187.615 56.000 49.000
+ -2825237.46243 -2191193.58942 24694165.445 24694171.523 24694163.801
+ 3373.203 2628.470 41.000 37.000
+ -17021612.28543 -13248276.13242 21470447.322 21470449.629 21470446.041
+ 2621.783 2042.948 54.000 48.000
+ -3848985.55043 -2952091.79542 23884688.551 23884692.589 23884688.263
+ -1874.382 -1460.557 48.000 41.000
+ -8541242.06143 -6608959.09142 23320948.159 23320950.766 23320946.695
+ -2229.609 -1737.358 48.000 42.000
+ -6845379.93753 -5322732.37652 25333650.007 25333659.123 25333650.721
+ -3531.569 -2751.872 37.000 33.000
+ -25882129.28143 -20109955.20142 20346079.097 20346082.159 20346077.544
+ 229.527 178.852 56.000 50.000
+ 04 2 1 21 21 0.0000000 0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12106992.98543 -9375180.30142 22501822.396 22501824.989 22501821.483
+ -2715.878 -2116.268 51.000 44.000
+ -13308873.69944 -10365542.13242 20589294.594 20589295.569 20589293.720
+ -1008.205 -785.614 57.000 51.000
+ -11522839.68043 -8910981.07242 23152632.258 23152634.223 23152630.257
+ -1395.547 -1087.439 50.000 43.000
+ -20687061.57943 -16073343.46842 21347195.767 21347199.135 21347195.211
+ 2033.096 1584.231 55.000 49.000
+ -17691424.43343 -13775427.56642 21456819.005 21456822.507 21456817.624
+ 238.849 186.116 55.000 49.000
+ -2926393.22143 -2270016.24642 24674916.534 24674919.275 24674915.723
+ 3369.587 2625.652 43.000 38.000
+ -17100083.54843 -13309422.56342 21455514.481 21455516.702 21455513.106
+ 2609.306 2033.225 54.000 48.000
+ -3792652.73943 -2908196.15142 23895408.107 23895411.507 23895406.545
+ -1881.583 -1466.168 48.000 41.000
+ -8474291.63443 -6556789.99242 23333688.314 23333691.978 23333686.456
+ -2234.262 -1740.983 48.000 42.000
+ -6739403.96853 -5240153.85352 25353817.587 25353825.140 25353814.014
+ -3533.338 -2753.250 37.000 33.000
+ -25888815.11843 -20115164.95742 20344806.902 20344809.991 20344805.467
+ 215.757 168.122 56.000 50.000
+ 04 2 1 21 21 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -12025501.68743 -9311680.62142 22517329.959 22517332.322 22517328.501
+ -2716.501 -2116.754 51.000 45.000
+ -13278486.30744 -10341863.66442 20595077.458 20595078.247 20595076.549
+ -1017.408 -792.785 57.000 51.000
+ -11480949.52943 -8878339.44642 23160603.643 23160605.282 23160601.975
+ -1397.669 -1089.093 50.000 43.000
+ -20747850.09743 -16120711.16242 21335628.491 21335631.541 21335627.700
+ 2019.693 1573.787 55.000 49.000
+ -17698575.36143 -13780999.73542 21455458.432 21455461.632 21455457.281
+ 238.089 185.524 55.000 49.000
+ -3027452.99343 -2348764.19642 24655685.268 24655688.224 24655684.182
+ 3367.513 2624.036 43.000 38.000
+ -17178180.91743 -13370277.66242 21440652.781 21440655.390 21440651.679
+ 2597.588 2024.094 54.000 48.000
+ -3736106.29743 -2864134.01342 23906167.666 23906173.296 23906166.580
+ -1887.978 -1471.152 48.000 41.000
+ -8407211.77743 -6504519.99142 23346452.996 23346455.505 23346451.849
+ -2237.621 -1743.601 47.000 42.000
+ -25895095.05243 -20120058.41842 20343611.946 20343615.081 20343610.607
+ 203.241 158.370 56.000 50.000
+ 04 2 1 21 22 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11943958.32243 -9248140.37842 22532847.749 22532849.635 22532846.103
+ -2719.315 -2118.947 51.000 44.000
+ -13247791.19644 -10317945.41042 20600918.432 20600919.016 20600917.506
+ -1028.608 -801.513 57.000 51.000
+ -11438962.82243 -8845622.57242 23168592.754 23168595.197 23168591.985
+ -1401.655 -1092.199 49.000 43.000
+ -20808200.46843 -16167737.43442 21324143.978 21324147.785 21324142.843
+ 2004.035 1561.586 55.000 49.000
+ -17705668.25943 -13786526.69042 21454108.075 21454112.035 21454106.736
+ 235.309 183.358 55.000 49.000
+ -3128409.56043 -2427431.63742 24636473.264 24636476.381 24636472.806
+ 3363.131 2620.622 44.000 38.000
+ -17255896.91943 -13430835.58942 21425864.631 21425866.582 21425863.300
+ 2583.913 2013.439 55.000 48.000
+ -3679344.60743 -2819904.16342 23916970.311 23916974.069 23916968.977
+ -1895.816 -1477.259 48.000 41.000
+ -8340000.51943 -6452147.63942 23359242.473 23359245.521 23359240.747
+ -2242.872 -1747.692 47.000 41.000
+ -25900965.62343 -20124632.89942 20342494.872 20342497.716 20342493.366
+ 188.459 146.851 56.000 50.000
+ 04 2 1 21 22 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11862367.14343 -9184562.88042 22548373.098 22548376.376 22548372.565
+ -2721.147 -2120.374 51.000 45.000
+ -13216792.67344 -10293790.73842 20606817.244 20606817.587 20606816.326
+ -1039.064 -809.660 57.000 51.000
+ -11396880.85843 -8812831.50242 23176601.201 23176603.344 23176599.611
+ -1405.000 -1094.805 50.000 42.000
+ -20868112.76143 -16214422.35342 21312743.182 21312746.345 21312742.302
+ 1989.095 1549.944 55.000 49.000
+ -17712704.41543 -13792009.42942 21452770.003 21452773.076 21452768.328
+ 232.865 181.453 55.000 49.000
+ -3229262.84243 -2506018.62742 24617281.671 24617285.612 24617279.977
+ 3359.483 2617.779 44.000 38.000
+ -17333231.05943 -13491095.97142 21411147.827 21411150.344 21411146.764
+ 2570.793 2003.215 55.000 48.000
+ -3622373.01543 -2775510.73442 23927811.464 23927815.728 23927809.823
+ -1903.171 -1482.990 48.000 41.000
+ -8272663.14943 -6399677.00842 23372057.780 23372059.443 23372055.534
+ -2247.447 -1751.257 47.000 41.000
+ -25906430.26343 -20128891.07542 20341454.669 20341457.560 20341453.261
+ 174.726 136.150 56.000 50.000
+ 04 2 1 21 23 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11780732.79443 -9120951.74342 22563907.396 22563909.673 22563906.515
+ -2721.752 -2120.846 51.000 45.000
+ -13185495.71344 -10269403.51242 20612772.540 20612773.342 20612771.834
+ -1048.039 -816.654 57.000 50.000
+ -11354706.19043 -8779968.16442 23184626.975 23184628.688 23184625.919
+ -1407.311 -1096.606 50.000 43.000
+ -20927587.98443 -16260766.69242 21301425.487 21301428.668 21301424.600
+ 1975.283 1539.181 55.000 49.000
+ -17719686.16743 -13797449.77342 21451441.055 21451444.596 21451439.636
+ 231.973 180.758 55.000 49.000
+ -3330013.48043 -2584525.68442 24598109.849 24598113.369 24598109.069
+ 3356.744 2615.645 45.000 38.000
+ -17410183.77143 -13551059.12642 21396504.655 21396506.819 21396503.190
+ 2558.766 1993.844 55.000 48.000
+ -3565197.56543 -2730958.46942 23938691.422 23938696.235 23938690.804
+ -1909.248 -1487.726 48.000 41.000
+ -8205205.96743 -6347113.02642 23384892.776 23384897.090 23384892.587
+ -2250.465 -1753.609 47.000 42.000
+ -25911493.44843 -20132836.42542 20340491.078 20340494.438 20340489.831
+ 162.235 126.417 56.000 50.000
+ 04 2 1 21 23 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11699053.93543 -9057305.92242 22579450.923 22579453.363 22579448.431
+ -2723.654 -2122.328 51.000 44.000
+ -13153899.04944 -10244782.75542 20618785.675 20618785.953 20618784.567
+ -1058.431 -824.751 57.000 50.000
+ -11312434.53543 -8747029.26942 23192671.136 23192673.221 23192669.401
+ -1410.898 -1099.401 50.000 43.000
+ -20986620.33343 -16306765.94542 21290192.646 21290195.733 21290191.131
+ 1960.152 1527.391 56.000 49.000
+ -17726609.18843 -13802844.35142 21450124.182 21450127.200 21450122.368
+ 229.448 178.791 55.000 49.000
+ -3430655.74343 -2662948.22642 24578959.637 24578961.614 24578957.852
+ 3352.659 2612.462 45.000 38.000
+ -17486748.86443 -13610720.24742 21381934.245 21381936.890 21381933.371
+ 2545.420 1983.444 55.000 48.000
+ -3507817.92643 -2686247.12442 23949610.973 23949614.912 23949609.409
+ -1916.053 -1493.028 48.000 41.000
+ -8137628.60443 -6294455.39642 23397752.647 23397755.496 23397750.725
+ -2254.672 -1756.887 47.000 42.000
+ -25916152.88643 -20136467.16942 20339604.665 20339607.802 20339603.061
+ 148.330 115.582 56.000 50.000
+ 04 2 1 21 24 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11617330.67443 -8993625.49542 22595003.350 22595003.976 22595001.536
+ -2724.147 -2122.712 51.000 44.000
+ -13122002.58544 -10219928.38742 20624855.308 20624855.969 20624854.150
+ -1067.400 -831.740 57.000 50.000
+ -11270063.20543 -8714012.71842 23200732.715 23200736.328 23200731.780
+ -1413.355 -1101.315 49.000 43.000
+ -21045205.86443 -16352417.02642 21279043.730 21279047.004 21279042.395
+ 1946.060 1516.410 55.000 49.000
+ -17733470.87643 -13808191.13942 21448817.895 21448821.760 21448816.940
+ 228.360 177.943 55.000 49.000
+ -3531185.33843 -2741283.00942 24559828.835 24559830.901 24559827.950
+ 3349.944 2610.346 45.000 38.000
+ -17562921.79143 -13670075.77242 21367439.095 21367441.443 21367437.923
+ 2533.285 1973.988 55.000 48.000
+ -3450235.38343 -2641377.62342 23960568.067 23960572.558 23960568.014
+ -1921.910 -1497.592 48.000 41.000
+ -8069932.18943 -6241704.99842 23410634.394 23410639.252 23410633.169
+ -2257.745 -1759.282 47.000 41.000
+ -25920408.18143 -20139782.99042 20338794.842 20338797.945 20338793.457
+ 135.766 105.792 56.000 50.000
+ 04 2 1 21 24 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11535567.35243 -8929913.85242 22610561.995 22610564.722 22610559.695
+ -2726.280 -2124.374 51.000 44.000
+ -13089810.93444 -10194844.00242 20630981.472 20630981.692 20630980.186
+ -1078.130 -840.101 57.000 50.000
+ -11227593.67543 -8680919.62342 23208815.781 23208818.137 23208813.655
+ -1417.551 -1104.585 50.000 43.000
+ -21103344.88943 -16397720.17142 21267980.062 21267983.329 21267979.050
+ 1930.323 1504.148 55.000 49.000
+ -17740273.14143 -13813491.62642 21447523.805 21447527.347 21447522.209
+ 225.566 175.766 55.000 49.000
+ -3631602.24943 -2819529.97342 24540720.523 24540722.581 24540718.858
+ 3345.076 2606.553 45.000 38.000
+ -17638702.33643 -13729125.55242 21353018.666 21353021.058 21353017.430
+ 2519.250 1963.052 54.000 48.000
+ -3392455.25043 -2596354.17842 23971564.817 23971567.093 23971562.668
+ -1929.444 -1503.463 48.000 41.000
+ -8002122.18743 -6188866.06842 23423539.603 23423541.853 23423538.086
+ -2262.447 -1762.946 47.000 41.000
+ -25924263.00443 -20142786.76042 20338061.313 20338064.506 20338059.982
+ 121.590 94.745 56.000 50.000
+ 04 2 1 21 25 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11453765.41443 -8866172.14042 22626127.300 22626129.890 22626126.406
+ -2727.192 -2125.085 51.000 44.000
+ -13057325.14344 -10169530.42042 20637162.959 20637163.825 20637161.866
+ -1087.507 -847.408 57.000 50.000
+ -11185024.53543 -8647748.90942 23216916.071 23216918.024 23216914.727
+ -1420.346 -1106.763 50.000 43.000
+ -21161034.28243 -16442672.95742 21257002.418 21257005.370 21257001.450
+ 1915.628 1492.697 56.000 49.000
+ -17747014.05943 -13818744.30842 21446241.209 21446244.574 21446239.391
+ 223.904 174.471 55.000 49.000
+ -3731903.32943 -2897686.64942 24521633.454 24521636.749 24521631.622
+ 3341.597 2603.842 45.000 38.000
+ -17714086.83343 -13787866.71342 21338673.421 21338675.922 21338672.161
+ 2506.373 1953.018 55.000 48.000
+ -3334479.82143 -2551178.57542 23982595.290 23982600.982 23982592.131
+ -1935.547 -1508.218 47.000 40.000
+ -7934200.65343 -6135940.26342 23436462.633 23436467.262 23436461.553
+ -2265.435 -1765.274 46.000 41.000
+ -25927717.77443 -20145478.80042 20337403.798 20337406.989 20337402.274
+ 108.796 84.776 56.000 50.000
+ 04 2 1 21 25 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11371927.10843 -8802402.07842 22641701.361 22641703.616 22641700.770
+ -2728.523 -2126.122 51.000 44.000
+ -13024548.11744 -10143989.89542 20643400.117 20643400.751 20643399.171
+ -1097.510 -855.202 57.000 50.000
+ -11142355.82843 -8614500.60842 23225035.345 23225040.067 23225035.002
+ -1424.039 -1109.641 49.000 43.000
+ -21218272.83543 -16487274.44442 21246110.580 21246113.082 21246109.171
+ 1900.281 1480.738 56.000 49.000
+ -17753693.53743 -13823949.11642 21444969.934 21444972.972 21444968.329
+ 221.523 172.615 55.000 49.000
+ -3832087.15543 -2975752.00442 24502568.818 24502571.651 24502568.018
+ 3337.249 2600.454 45.000 38.000
+ -17789073.73443 -13846298.07542 21324403.662 21324406.382 21324402.797
+ 2492.816 1942.454 54.000 48.000
+ -3276312.90143 -2505853.74642 23993665.249 23993669.032 23993665.019
+ -1942.287 -1513.470 48.000 41.000
+ -7866171.63643 -6082930.67442 23449409.104 23449412.287 23449407.839
+ -2269.365 -1768.336 47.000 41.000
+ -25930774.71543 -20147860.84542 20336822.019 20336825.347 20336820.536
+ 95.191 74.175 56.000 50.000
+ 04 2 1 21 26 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11290054.52843 -8738605.31442 22657280.119 22657284.138 22657278.994
+ -2729.463 -2126.854 50.000 44.000
+ -12991481.88043 -10118224.01642 20649692.179 20649693.278 20649691.414
+ -1106.909 -862.526 56.000 50.000
+ -11099586.92943 -8581174.26142 23233173.950 23233176.249 23233172.383
+ -1427.247 -1112.140 49.000 42.000
+ -21275058.27643 -16531522.84942 21235304.569 21235307.502 21235303.490
+ 1885.437 1469.172 56.000 49.000
+ -17760310.97643 -13829105.58342 21443710.716 21443714.135 21443709.351
+ 219.688 171.185 55.000 49.000
+ -3932151.18643 -3053723.96942 24483527.124 24483530.534 24483526.714
+ 3333.605 2597.614 46.000 39.000
+ -17863660.10643 -13904417.32342 21310210.709 21310212.914 21310209.115
+ 2479.646 1932.192 55.000 48.000
+ -3217957.66343 -2460382.17442 24004769.547 24004773.952 24004767.567
+ -1948.047 -1517.959 48.000 40.000
+ -7798038.12143 -6029839.66442 23462375.788 23462378.145 23462373.368
+ -2272.642 -1770.890 47.000 41.000
+ -25933435.29143 -20149934.03242 20336315.869 20336319.136 20336314.326
+ 82.165 64.025 56.000 50.000
+ 04 2 1 21 26 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11208148.66243 -8674782.60042 22672867.416 22672869.960 22672865.967
+ -2731.086 -2128.119 51.000 44.000
+ -12958127.86644 -10092233.89242 20656039.681 20656040.307 20656038.600
+ -1116.874 -870.291 57.000 50.000
+ -11056716.55343 -8547768.81942 23241332.178 23241335.972 23241330.712
+ -1430.870 -1114.964 49.000 43.000
+ -21331388.21543 -16575416.31642 21224585.238 21224588.646 21224583.800
+ 1869.758 1456.954 56.000 49.000
+ -17766865.00943 -13834212.64442 21442463.105 21442466.986 21442461.883
+ 217.089 169.160 55.000 49.000
+ -4032092.70443 -3131600.47842 24464509.440 24464511.910 24464508.660
+ 3328.709 2593.799 45.000 38.000
+ -17937842.93143 -13962222.12042 21296094.275 21296096.669 21296093.296
+ 2465.755 1921.368 55.000 49.000
+ -3159416.68743 -2414765.84342 24015909.679 24015914.633 24015908.698
+ -1954.771 -1523.198 47.000 41.000
+ -7729802.70443 -5976669.25942 23475359.544 23475363.152 23475358.456
+ -2276.197 -1773.660 47.000 41.000
+ -25935700.33643 -20151699.01642 20335884.597 20335888.091 20335883.235
+ 68.755 53.575 56.000 50.000
+ 04 2 1 21 27 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11126212.26743 -8610936.11042 22688459.205 22688462.261 22688458.203
+ -2731.901 -2128.754 51.000 44.000
+ -12924489.00943 -10066021.81842 20662440.479 20662441.673 20662439.966
+ -1126.179 -877.542 56.000 50.000
+ -11013744.65443 -8514284.28442 23249509.239 23249513.234 23249506.455
+ -1434.420 -1117.730 49.000 42.000
+ -21387261.19343 -16618953.72142 21213952.932 21213956.236 21213951.770
+ 1854.622 1445.160 56.000 49.000
+ -17773355.51643 -13839270.20342 21441228.417 21441231.695 21441226.890
+ 215.164 167.660 55.000 49.000
+ -4131909.85443 -3209380.09842 24445514.654 24445517.255 24445513.906
+ 3324.985 2590.897 45.000 39.000
+ -18011620.31843 -14019711.00142 21282055.381 21282057.310 21282053.722
+ 2452.390 1910.953 55.000 49.000
+ -3100693.72243 -2369007.76942 24027084.039 24027088.911 24027082.585
+ -1960.682 -1527.804 47.000 40.000
+ -7661469.16243 -5923422.40742 23488364.174 23488366.881 23488362.188
+ -2279.631 -1776.336 48.000 42.000
+ -25937571.84243 -20153157.34142 20335528.233 20335531.975 20335527.217
+ 55.712 43.412 55.000 50.000
+ 04 2 1 21 27 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11044245.67443 -8547066.09742 22704058.142 22704059.609 22704056.901
+ -2732.320 -2129.080 51.000 44.000
+ -12890565.64344 -10039588.04442 20668896.476 20668897.201 20668895.095
+ -1135.116 -884.506 57.000 50.000
+ -10970668.76643 -8480718.69942 23257707.665 23257709.381 23257706.009
+ -1437.239 -1119.926 49.000 43.000
+ -21442673.36143 -16662132.04742 21203408.349 21203411.543 21203406.848
+ 1839.755 1433.575 56.000 49.000
+ -17779779.87443 -13844276.22542 21440005.625 21440009.192 21440004.422
+ 213.467 166.338 55.000 49.000
+ -4231598.71643 -3287059.71142 24426544.004 24426548.172 24426543.551
+ 3320.944 2587.749 46.000 38.000
+ -18084987.94343 -14076880.58042 21268093.434 21268095.518 21268092.092
+ 2439.186 1900.664 55.000 48.000
+ -3041790.14343 -2323108.92342 24038292.117 24038297.565 24038291.008
+ -1965.948 -1531.907 46.000 40.000
+ -7593038.87643 -5870100.17642 23501386.258 23501388.902 23501385.811
+ -2282.251 -1778.377 48.000 42.000
+ -25939049.57143 -20154308.82742 20335247.293 20335250.505 20335246.205
+ 43.094 33.580 56.000 50.000
+ 04 2 1 21 28 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10962252.71843 -8483175.53442 22719658.627 22719661.877 22719657.342
+ -2734.073 -2130.446 50.000 44.000
+ -12856361.66544 -10012935.61542 20675405.238 20675405.967 20675404.244
+ -1145.358 -892.487 57.000 50.000
+ -10927490.28643 -8447073.19242 23265923.654 23265925.820 23265922.479
+ -1441.672 -1123.381 50.000 43.000
+ -21497624.91343 -16704951.45542 21192950.874 21192954.547 21192949.905
+ 1823.469 1420.885 55.000 49.000
+ -17786139.41343 -13849231.73042 21438795.617 21438799.046 21438794.205
+ 210.365 163.921 55.000 49.000
+ -4331158.87443 -3364639.07042 24407598.558 24407600.939 24407597.456
+ 3315.953 2583.859 44.000 38.000
+ -18157945.23543 -14133730.41742 21254210.277 21254212.361 21254209.121
+ 2424.577 1889.281 55.000 49.000
+ -2982711.18343 -2277073.39542 24049534.516 24049540.317 24049533.299
+ -1972.796 -1537.244 46.000 40.000
+ -7524517.13143 -5816706.65642 23514425.064 23514426.652 23514422.772
+ -2286.041 -1781.331 48.000 41.000
+ -25940137.01243 -20155156.20142 20335040.562 20335043.746 20335039.424
+ 29.231 22.777 56.000 50.000
+ 04 2 1 21 28 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10880232.77243 -8419263.92142 22735267.799 22735269.069 22735266.223
+ -2734.027 -2130.411 50.000 44.000
+ -12821876.35644 -9986063.96442 20681967.535 20681968.373 20681966.607
+ -1153.937 -899.172 57.000 50.000
+ -10884205.80643 -8413345.06242 23274160.911 23274162.941 23274159.714
+ -1444.419 -1125.521 50.000 43.000
+ -21552110.92743 -16747408.10742 21182582.284 21182586.124 21182581.603
+ 1808.583 1409.285 55.000 49.000
+ -17792430.46543 -13854133.87042 21437598.489 21437601.576 21437597.249
+ 208.835 162.729 55.000 49.000
+ -4430585.27243 -3442114.19842 24388679.218 24388681.563 24388677.634
+ 3312.203 2580.937 45.000 39.000
+ -18230486.89543 -14190256.39742 21240405.893 21240407.837 21240404.423
+ 2411.291 1878.928 55.000 48.000
+ -2923457.05343 -2230901.39742 24060811.059 24060816.045 24060810.222
+ -1977.673 -1541.044 45.000 40.000
+ -7455903.99943 -5763241.92442 23527482.194 23527484.572 23527479.397
+ -2288.244 -1783.047 48.000 41.000
+ -25940832.93643 -20155698.49442 20334908.256 20334911.089 20334906.919
+ 16.974 13.226 56.000 50.000
+ 04 2 1 21 29 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10798187.80143 -8355332.83342 22750881.262 22750882.030 22750879.671
+ -2735.800 -2131.792 51.000 44.000
+ -12787111.97244 -9958974.84942 20688583.059 20688584.023 20688581.969
+ -1164.122 -907.108 57.000 50.000
+ -10840814.42843 -8379533.63742 23282417.400 23282419.914 23282414.760
+ -1448.684 -1128.845 49.000 43.000
+ -21606129.49943 -16789500.51542 21172303.184 21172306.912 21172302.191
+ 1792.142 1396.474 55.000 49.000
+ -17798652.38243 -13858982.14042 21436414.770 21436417.572 21436413.364
+ 205.486 160.119 55.000 49.000
+ -4529875.57643 -3519483.28442 24369785.366 24369788.229 24369783.846
+ 3306.596 2576.568 46.000 39.000
+ -18302610.63843 -14246456.72142 21226681.039 21226683.405 21226680.028
+ 2396.463 1867.374 55.000 48.000
+ -2864031.10243 -2184595.51242 24072119.538 24072124.319 24072117.869
+ -1984.154 -1546.094 45.000 40.000
+ -7387202.83243 -5709708.58842 23540555.359 23540558.841 23540554.091
+ -2292.131 -1786.076 48.000 41.000
+ -25941138.87343 -20155936.89742 20334849.390 20334853.424 20334848.577
+ 3.060 2.384 56.000 50.000
+ 04 2 1 21 29 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10716120.39443 -8291384.27042 22766497.941 22766499.806 22766496.973
+ -2735.684 -2131.702 51.000 44.000
+ -12752071.80343 -9931670.84342 20695250.904 20695252.069 20695249.962
+ -1172.204 -913.406 56.000 50.000
+ -10797316.82943 -8345639.44042 23290694.747 23290696.418 23290691.461
+ -1451.373 -1130.940 49.000 42.000
+ -21659679.97643 -16831228.17942 21162112.997 21162116.341 21162112.337
+ 1777.397 1384.985 55.000 49.000
+ -17804805.71043 -13863776.96742 21435243.891 21435247.098 21435242.249
+ 204.170 159.094 55.000 49.000
+ -4629028.74343 -3596745.49442 24350915.645 24350918.472 24350914.104
+ 3303.056 2573.810 45.000 39.000
+ -18374315.07243 -14302330.30942 21213036.503 21213038.652 21213035.508
+ 2383.370 1857.171 55.000 49.000
+ -2804437.70443 -2138159.17142 24083460.259 24083463.466 24083457.421
+ -1989.058 -1549.915 45.000 39.000
+ -7318417.85243 -5656109.96242 23553644.628 23553647.749 23553643.096
+ -2293.876 -1787.436 48.000 41.000
+ -25941057.50543 -20155873.50642 20334865.248 20334868.744 20334864.063
+ -8.886 -6.924 56.000 50.000
+ 04 2 1 21 30 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10634034.74043 -8227421.46042 22782116.518 22782120.869 22782116.002
+ -2736.184 -2132.091 50.000 44.000
+ -12716759.83343 -9904155.04342 20701970.058 20701971.670 20701969.376
+ -1181.365 -920.544 56.000 50.000
+ -10753714.05543 -8311663.30942 23298991.756 23298994.103 23298990.887
+ -1454.919 -1133.703 48.000 42.000
+ -21712762.23443 -16872590.98642 21152012.701 21152015.111 21152011.370
+ 1761.799 1372.830 56.000 49.000
+ -17810891.49143 -13868519.15042 21434085.562 21434089.130 21434084.049
+ 201.910 157.332 55.000 49.000
+ -4728044.23443 -3673900.42842 24332075.162 24332078.284 24332073.016
+ 3298.280 2570.088 46.000 39.000
+ -18445599.55943 -14357876.66542 21199471.437 21199473.963 21199470.302
+ 2369.335 1846.235 55.000 49.000
+ -2744681.92743 -2091596.26742 24094830.780 24094835.684 24094830.075
+ -1994.114 -1553.855 45.000 39.000
+ -7249554.07343 -5602449.93742 23566746.822 23566753.339 23566747.409
+ -2296.516 -1789.493 46.000 41.000
+ -25940592.26543 -20155510.99242 20334953.639 20334957.277 20334952.484
+ -21.566 -16.805 56.000 50.000
+ 04 2 1 21 30 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10551927.16743 -8163441.57642 22797742.860 22797744.353 22797741.610
+ -2737.708 -2133.279 51.000 44.000
+ -12681172.56344 -9876424.72442 20708742.747 20708743.204 20708741.618
+ -1191.509 -928.448 57.000 50.000
+ -10710000.23843 -8277600.64042 23307311.013 23307312.993 23307310.160
+ -1459.688 -1137.419 49.000 43.000
+ -21765368.90643 -16913583.21442 21142001.553 21142004.357 21142000.265
+ 1745.094 1359.814 56.000 49.000
+ -17816903.26343 -13873203.66942 21432941.381 21432945.097 21432940.126
+ 198.560 154.722 55.000 49.000
+ -4826914.20043 -3750941.94542 24313259.048 24313264.313 24313257.851
+ 3292.708 2565.746 46.000 39.000
+ -18516456.03743 -14413089.51042 21185987.839 21185990.193 21185986.770
+ 2354.083 1834.350 55.000 49.000
+ -2684761.27443 -2044904.91342 24106234.472 24106238.320 24106232.398
+ -2000.456 -1558.797 44.000 39.000
+ -7180608.83143 -5548726.45142 23579868.643 23579871.640 23579867.381
+ -2300.356 -1792.485 47.000 41.000
+ -25939739.06943 -20154846.18042 20335116.189 20335119.659 20335115.240
+ -35.447 -27.621 56.000 50.000
+ 04 2 1 21 31 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10469803.98943 -8099449.53042 22813369.842 22813373.207 22813369.834
+ -2738.722 -2134.069 50.000 44.000
+ -12645316.66344 -9848485.08742 20715565.678 20715566.624 20715564.672
+ -1200.570 -935.509 57.000 50.000
+ -10666179.15643 -8243454.39742 23315649.852 23315651.226 23315648.417
+ -1463.515 -1140.401 50.000 43.000
+ -21817502.46543 -16954206.78542 21132080.721 21132083.917 21132079.962
+ 1728.945 1347.230 56.000 49.000
+ -17822844.70043 -13877833.38442 21431811.393 21431814.069 21431809.752
+ 195.939 152.680 56.000 49.000
+ -4925640.78443 -3827871.80342 24294474.426 24294476.393 24294472.734
+ 3287.507 2561.694 46.000 40.000
+ -18586886.73643 -14467970.57642 21172585.738 21172587.762 21172584.246
+ 2339.590 1823.057 55.000 49.000
+ -2624683.50143 -1998091.09342 24117666.264 24117670.132 24117665.037
+ -2006.103 -1563.197 45.000 39.000
+ -7111590.00443 -5494945.59542 23593001.426 23593004.475 23593001.789
+ -2302.801 -1794.390 47.000 41.000
+ -25938504.10443 -20153883.88042 20335351.318 20335354.466 20335350.008
+ -48.424 -37.733 56.000 50.000
+ 04 2 1 21 31 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10387667.72843 -8035447.30142 22828998.961 22829003.192 22828998.857
+ -2738.567 -2133.948 50.000 44.000
+ -12609194.75444 -9820338.16642 20722439.883 20722440.223 20722438.635
+ -1208.991 -942.071 57.000 50.000
+ -10622250.80243 -8209224.55642 23324009.019 23324011.049 23324008.150
+ -1466.627 -1142.826 50.000 43.000
+ -21869161.65643 -16994460.71742 21122250.844 21122253.546 21122249.326
+ 1713.541 1335.227 56.000 49.000
+ -17828715.34343 -13882407.93142 21430693.529 21430696.943 21430692.278
+ 193.969 151.145 55.000 49.000
+ -5024222.19243 -3904688.49242 24275713.455 24275716.581 24275712.223
+ 3283.384 2558.481 45.000 39.000
+ -18656889.84743 -14522518.46642 21159264.451 21159266.641 21159263.174
+ 2325.804 1812.315 55.000 49.000
+ -2564452.33843 -1951157.80142 24129127.540 24129132.690 24129126.104
+ -2010.497 -1566.621 45.000 39.000
+ -7042501.26243 -5441110.26142 23606148.476 23606151.595 23606147.521
+ -2304.772 -1795.926 47.000 41.000
+ -25936889.38643 -20152625.67042 20335658.705 20335662.022 20335657.250
+ -60.613 -47.231 56.000 50.000
+ 04 2 1 21 32 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10305514.66243 -7971431.98542 22844633.810 22844636.715 22844631.889
+ -2738.553 -2133.937 50.000 44.000
+ -12572803.60744 -9791981.45042 20729364.484 20729365.126 20729363.622
+ -1217.433 -948.649 57.000 50.000
+ -10578208.26743 -8174905.75642 23332390.219 23332392.958 23332388.930
+ -1469.876 -1145.358 50.000 43.000
+ -21920339.31043 -17034339.42342 21112511.493 21112515.055 21112510.648
+ 1698.067 1323.169 56.000 49.000
+ -17834509.25343 -13886922.68742 21429591.306 21429594.862 21429589.870
+ 191.915 149.544 55.000 49.000
+ -5122650.72243 -3981386.05142 24256983.672 24256986.419 24256981.407
+ 3278.337 2554.548 46.000 40.000
+ -18726457.48743 -14576727.01842 21146025.593 21146028.335 21146024.555
+ 2311.823 1801.421 55.000 49.000
+ -2504065.74943 -1904103.36742 24140619.132 24140622.292 24140618.151
+ -2015.132 -1570.233 46.000 39.000
+ -6973340.29343 -5387218.63842 23619310.507 23619313.414 23619309.946
+ -2306.809 -1797.513 46.000 40.000
+ -25934891.13043 -20151068.60442 20336038.839 20336042.482 20336037.282
+ -72.818 -56.741 56.000 50.000
+ 04 2 1 21 32 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10223352.32543 -7907409.43042 22860268.691 22860271.027 22860267.096
+ -2738.705 -2134.056 50.000 43.000
+ -12536151.07844 -9763421.06142 20736339.061 20736340.211 20736338.278
+ -1225.859 -955.215 57.000 50.000
+ -10534057.69743 -8140502.73342 23340791.972 23340794.379 23340790.572
+ -1473.263 -1147.997 49.000 43.000
+ -21971039.31943 -17073845.94142 21102863.652 21102866.961 21102862.671
+ 1682.247 1310.842 56.000 49.000
+ -17840231.61743 -13891381.70242 21428502.373 21428505.752 21428500.793
+ 189.759 147.864 56.000 49.000
+ -5220929.95443 -4057967.27942 24238282.333 24238284.930 24238280.938
+ 3273.534 2550.806 46.000 40.000
+ -18795593.12943 -14630598.95242 21132870.114 21132872.240 21132868.609
+ 2297.485 1790.248 55.000 49.000
+ -2443532.75743 -1856934.85142 24152136.978 24152141.367 24152135.464
+ -2019.897 -1573.946 45.000 39.000
+ -6904115.99943 -5333277.68042 23632483.706 23632486.447 23632483.010
+ -2308.476 -1798.812 46.000 40.000
+ -25932516.86743 -20149218.54542 20336490.870 20336493.694 20336489.385
+ -85.087 -66.301 56.000 50.000
+ 04 2 1 21 33 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10141177.68843 -7843377.31442 22875906.231 22875907.805 22875905.537
+ -2739.485 -2134.664 50.000 44.000
+ -12499234.48743 -9734654.90642 20743364.066 20743364.858 20743363.381
+ -1235.162 -962.464 56.000 50.000
+ -10489793.25743 -8106011.02942 23349215.965 23349216.663 23349214.548
+ -1477.326 -1151.163 50.000 42.000
+ -22021255.08643 -17112975.13042 21093307.921 21093311.329 21093306.520
+ 1665.619 1297.885 56.000 49.000
+ -17845876.52743 -13895780.35142 21427428.651 21427431.674 21427427.170
+ 186.739 145.511 56.000 49.000
+ -5319052.69343 -4134426.55942 24219608.262 24219610.543 24219607.240
+ 3268.054 2546.536 45.000 39.000
+ -18864289.48443 -14684128.58642 21119797.022 21119800.035 21119795.705
+ 2282.399 1778.493 55.000 49.000
+ -2382851.53043 -1809650.83842 24163685.253 24163688.810 24163683.137
+ -2025.258 -1578.123 46.000 39.000
+ -6834826.60843 -5279285.98942 23645668.150 23645670.948 23645667.690
+ -2310.623 -1800.485 46.000 40.000
+ -25929763.19143 -20147072.84342 20337014.683 20337017.799 20337013.413
+ -98.226 -76.540 56.000 50.000
+ 04 2 1 21 33 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10058995.69843 -7779339.47142 22891543.280 22891546.950 22891542.493
+ -2739.657 -2134.798 50.000 43.000
+ -12462059.38443 -9705687.31142 20750438.340 20750439.119 20750437.834
+ -1243.729 -969.139 56.000 50.000
+ -10445417.78943 -8071432.77742 23357658.317 23357661.473 23357657.975
+ -1481.200 -1154.182 48.000 42.000
+ -22070988.05743 -17151728.10342 21083843.757 21083847.328 21083842.692
+ 1649.465 1285.297 56.000 49.000
+ -17851446.42143 -13900120.55042 21426368.501 21426371.607 21426367.156
+ 184.201 143.533 56.000 49.000
+ -5417019.71643 -4210764.52442 24200967.291 24200969.718 24200965.585
+ 3262.652 2542.326 48.000 40.000
+ -18932547.40843 -14737316.58042 21106807.980 21106810.768 21106806.957
+ 2267.693 1767.034 55.000 49.000
+ -2322028.36243 -1762256.17342 24175258.849 24175264.020 24175259.333
+ -2030.032 -1581.843 45.000 39.000
+ -6765478.72143 -5225248.74442 23658865.530 23658869.055 23658864.765
+ -2312.731 -1802.128 47.000 40.000
+ -25926635.08043 -20144635.36342 20337609.567 20337613.088 20337608.508
+ -110.724 -86.278 56.000 50.000
+ 04 2 1 21 34 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -9976805.04343 -7715294.84242 22907184.403 22907187.961 22907183.880
+ -2738.986 -2134.275 49.000 43.000
+ -12424624.53844 -9676517.32442 20757561.936 20757562.810 20757561.169
+ -1251.294 -975.034 57.000 50.000
+ -10400927.16043 -8036764.82842 23366126.230 23366129.163 23366125.263
+ -1484.095 -1156.438 49.000 43.000
+ -22120233.14743 -17190100.91542 21074473.228 21074476.182 21074472.081
+ 1634.250 1273.441 56.000 49.000
+ -17856937.27943 -13904399.16342 21425323.564 21425326.870 21425322.126
+ 182.579 142.269 56.000 49.000
+ -5514825.66243 -4286976.95842 24182356.106 24182357.003 24182354.593
+ 3257.785 2538.534 47.000 39.000
+ -19000361.43043 -14790158.67642 21093903.578 21093906.115 21093902.538
+ 2254.121 1756.458 55.000 49.000
+ -2261063.22143 -1714750.91942 24186860.098 24186865.308 24186859.935
+ -2033.582 -1584.609 45.000 39.000
+ -6696072.06743 -5171165.66842 23672072.819 23672076.602 23672071.229
+ -2313.515 -1802.739 47.000 41.000
+ -25923130.88143 -20141904.82942 20338276.686 20338280.215 20338275.274
+ -122.205 -95.225 56.000 50.000
+ 04 2 1 21 34 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -9894611.22743 -7651247.76842 22922825.475 22922828.809 22922824.643
+ -2739.899 -2134.986 50.000 43.000
+ -12386935.73044 -9647149.43542 20764734.007 20764734.869 20764733.362
+ -1260.792 -982.435 57.000 50.000
+ -10356324.72043 -8002009.73742 23374612.752 23374615.752 23374611.386
+ -1488.844 -1160.138 49.000 42.000
+ -22168992.11243 -17228094.92942 21065194.817 21065197.945 21065193.703
+ 1617.100 1260.078 56.000 50.000
+ -17862351.86343 -13908618.34642 21424292.823 21424297.134 21424291.814
+ 179.110 139.566 55.000 49.000
+ -5612471.71643 -4363064.79542 24163773.559 24163776.620 24163772.749
+ 3251.774 2533.850 46.000 39.000
+ -19067733.19143 -14842656.16342 21081083.184 21081085.844 21081082.123
+ 2238.184 1744.039 55.000 49.000
+ -2199963.08543 -1667140.47842 24198488.810 24198492.915 24198486.210
+ -2039.185 -1588.975 46.000 39.000
+ -6626613.28943 -5117042.00442 23685290.189 23685294.062 23685289.942
+ -2315.738 -1804.471 46.000 41.000
+ -25919256.00443 -20138885.45842 20339014.150 20339017.586 20339012.728
+ -135.507 -105.590 56.000 50.000
+ 04 2 1 21 35 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -9812412.15443 -7587196.59842 22938467.462 22938471.291 22938466.424
+ -2740.163 -2135.192 49.000 43.000
+ -12348990.92644 -9617582.07642 20771954.774 20771955.953 20771953.928
+ -1269.071 -988.886 57.000 50.000
+ -10311605.40143 -7967163.56342 23383123.419 23383125.371 23383121.883
+ -1492.642 -1163.098 50.000 43.000
+ -22217259.09043 -17265705.57742 21056009.923 21056012.933 21056008.741
+ 1600.686 1247.288 56.000 50.000
+ -17867685.15243 -13912774.17442 21423278.281 21423281.594 21423276.851
+ 176.387 137.444 56.000 49.000
+ -5709951.52443 -4439023.10042 24145223.438 24145227.441 24145222.469
+ 3246.390 2529.655 46.000 39.000
+ -19134656.11243 -14894803.89342 21068348.013 21068350.737 21068347.137
+ 2223.194 1732.359 55.000 49.000
+ -2138726.96743 -1619424.06742 24210140.769 24210144.573 24210139.944
+ -2043.446 -1592.295 46.000 39.000
+ -6557101.44743 -5062876.97742 23698518.535 23698521.778 23698517.796
+ -2317.872 -1806.134 47.000 41.000
+ -25915007.88143 -20135575.24042 20339822.312 20339825.950 20339821.178
+ -147.876 -115.228 56.000 50.000
+ 04 2 1 21 35 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -9730209.96243 -7523143.01742 22954110.136 22954113.440 22954109.698
+ -2740.616 -2135.545 50.000 43.000
+ -12310792.47044 -9587817.06942 20779223.917 20779224.895 20779222.997
+ -1278.054 -995.886 57.000 50.000
+ -10266768.73643 -7932225.94742 23391655.342 23391658.230 23391654.526
+ -1496.964 -1166.465 50.000 42.000
+ -22265032.96543 -17302931.99342 21046918.634 21046921.611 21046917.493
+ 1583.657 1234.018 56.000 50.000
+ -17872936.46343 -13916866.13542 21422279.056 21422282.596 21422277.757
+ 173.088 134.874 56.000 49.000
+ -5807262.74243 -4514850.02542 24126706.433 24126709.185 24126705.309
+ 3240.238 2524.861 47.000 40.000
+ -19201128.02843 -14946600.19842 21055699.115 21055701.720 21055698.092
+ 2207.636 1720.236 55.000 49.000
+ -2077358.29243 -1571604.38742 24221818.553 24221822.629 24221818.936
+ -2048.487 -1596.224 46.000 39.000
+ -6487539.61543 -5008673.01642 23711756.507 23711758.501 23711754.290
+ -2319.910 -1807.722 47.000 40.000
+ -25910388.40243 -20131975.66142 20340701.495 20340705.173 20340700.276
+ -160.754 -125.263 56.000 50.000
+ 04 2 1 21 36 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -9648008.83043 -7459090.23442 22969752.484 22969755.554 22969750.843
+ -2740.572 -2135.511 50.000 43.000
+ -12272345.25544 -9557858.22342 20786540.442 20786540.982 20786539.017
+ -1286.338 -1002.341 57.000 50.000
+ -10221817.15743 -7897198.77642 23400209.833 23400212.325 23400209.576
+ -1500.918 -1169.546 50.000 42.000
+ -22312314.52743 -17339774.78242 21037921.219 21037924.681 21037920.221
+ 1567.172 1221.173 56.000 50.000
+ -17878107.76543 -13920895.73742 21421294.622 21421298.588 21421293.487
+ 170.406 132.784 55.000 49.000
+ -5904405.88143 -4590545.97442 24108221.269 24108224.517 24108219.815
+ 3234.515 2520.401 47.000 40.000
+ -19267149.35243 -14998045.38942 21043135.817 21043138.220 21043134.838
+ 2192.593 1708.514 55.000 49.000
+ -2015862.90943 -1523685.96742 24233521.103 24233526.125 24233520.410
+ -2052.586 -1599.418 46.000 39.000
+ -6417933.89143 -4954434.84242 23725000.724 23725004.146 23724999.132
+ -2321.276 -1808.786 45.000 40.000
+ -25905401.89343 -20128090.08042 20341650.583 20341654.108 20341649.457
+ -172.909 -134.734 56.000 50.000
+ 04 2 1 21 36 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -9565807.80043 -7395037.54642 22985394.649 22985397.033 22985393.399
+ -2740.391 -2135.370 49.000 43.000
+ -12233649.01144 -9527705.33042 20793904.017 20793904.334 20793903.033
+ -1294.391 -1008.616 57.000 50.000
+ -10176747.30243 -7862079.48442 23408785.644 23408788.310 23408784.113
+ -1504.563 -1172.387 50.000 42.000
+ -22359099.67043 -17376230.75942 21029018.532 21029021.555 21029017.497
+ 1550.920 1208.509 56.000 50.000
+ -17883195.76143 -13924860.43042 21420327.403 21420330.564 21420325.549
+ 167.888 130.822 56.000 49.000
+ -6001376.11743 -4666107.22442 24089768.228 24089769.572 24089765.125
+ 3229.003 2516.106 47.000 40.000
+ -19332715.31443 -15049135.74942 21030658.684 21030661.460 21030657.617
+ 2177.719 1696.924 55.000 49.000
+ -1954241.52143 -1475669.32242 24245248.616 24245250.695 24245248.360
+ -2056.371 -1602.367 47.000 39.000
+ -6348284.83343 -4900162.91042 23738255.053 23738260.195 23738254.071
+ -2322.389 -1809.654 46.000 40.000
+ -25900047.62043 -20123917.93242 20342669.319 20342672.953 20342668.091
+ -184.895 -144.074 56.000 50.000
+ 04 2 1 21 37 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -9483611.31943 -7330988.41142 23001036.207 23001039.508 23001035.997
+ -2739.730 -2134.854 50.000 43.000
+ -12194707.72144 -9497361.48742 20801314.462 20801314.964 20801313.443
+ -1302.165 -1014.674 57.000 50.000
+ -10131560.83243 -7826869.30442 23417384.521 23417387.693 23417382.702
+ -1508.233 -1175.246 49.000 42.000
+ -22405388.69943 -17412300.15142 21020209.934 21020213.047 21020208.615
+ 1534.602 1195.794 56.000 50.000
+ -17888201.44543 -13928760.99742 21419374.878 21419377.574 21419372.933
+ 165.503 128.963 55.000 49.000
+ -6098173.10743 -4741533.44842 24071347.731 24071351.358 24071347.255
+ 3223.731 2511.998 47.000 40.000
+ -19397825.73043 -15099871.14342 21018268.734 21018271.203 21018267.359
+ 2162.680 1685.205 55.000 49.000
+ -1892499.29443 -1427558.55742 24256998.112 24257001.535 24256996.431
+ -2059.905 -1605.121 47.000 39.000
+ -6278597.51743 -4845861.15142 23751515.121 23751519.748 23751515.466
+ -2323.666 -1810.649 47.000 40.000
+ -25894329.31643 -20119462.12642 20343757.717 20343761.029 20343756.335
+ -196.623 -153.213 56.000 50.000
+ 04 2 1 21 37 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -9401416.45343 -7266940.51742 23016678.253 23016680.126 23016675.984
+ -2739.852 -2134.950 50.000 43.000
+ -12155519.29544 -9466825.07642 20808771.818 20808772.089 20808770.552
+ -1310.449 -1021.129 57.000 50.000
+ -10086252.70143 -7791564.30542 23426006.164 23426009.132 23426003.727
+ -1512.128 -1178.281 49.000 42.000
+ -22451175.47443 -17447978.17742 21011497.182 21011500.222 21011496.017
+ 1517.680 1182.608 56.000 50.000
+ -17893119.78343 -13932593.49142 21418438.116 21418441.818 21418436.658
+ 162.371 126.523 55.000 49.000
+ -6194790.10243 -4816819.44742 24052962.363 24052965.644 24052960.573
+ 3217.736 2507.327 47.000 41.000
+ -19462474.09643 -15150246.50142 21005966.980 21005969.318 21005965.924
+ 2147.133 1673.091 56.000 49.000
+ -1830635.12943 -1379352.75842 24268768.335 24268772.425 24268767.750
+ -2064.189 -1608.459 45.000 39.000
+ -6208870.76643 -4791528.65242 23764784.539 23764788.049 23764784.203
+ -2325.245 -1811.879 48.000 40.000
+ -25888244.18243 -20114720.47742 20344915.503 20344918.873 20344914.204
+ -209.108 -162.941 56.000 50.000
+ 04 2 1 21 38 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -9319229.58843 -7202898.85842 23032318.452 23032320.504 23032316.696
+ -2739.227 -2134.462 50.000 43.000
+ -12116090.26043 -9436101.17342 20816274.231 20816275.021 20816273.740
+ -1318.106 -1027.095 56.000 50.000
+ -10040826.85043 -7756167.59942 23434650.366 23434653.863 23434648.018
+ -1516.163 -1181.426 49.000 42.000
+ -22496462.86943 -17483267.07642 21002878.851 21002882.555 21002877.931
+ 1501.424 1169.941 56.000 50.000
+ -17897954.51243 -13936360.83342 21417518.608 21417521.287 21417516.936
+ 159.909 124.604 56.000 49.000
+ -6291229.40343 -4891966.93542 24034610.995 24034612.641 24034609.141
+ 3211.755 2502.666 48.000 41.000
+ -19526662.71543 -15200263.60642 20993752.301 20993754.776 20993751.200
+ 2132.089 1661.368 56.000 49.000
+ -1768656.76043 -1331057.97842 24280563.210 24280567.601 24280560.920
+ -2067.668 -1611.170 46.000 39.000
+ -6139112.05043 -4737171.26742 23778059.489 23778062.309 23778057.497
+ -2325.693 -1812.228 47.000 40.000
+ -25881798.61343 -20109697.97042 20346142.374 20346145.561 20346140.803
+ -220.616 -171.908 56.000 50.000
+ 04 2 1 21 38 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -9237051.48043 -7138864.02642 23047956.116 23047958.310 23047954.922
+ -2738.798 -2134.128 50.000 43.000
+ -12076422.16843 -9405190.99542 20823823.302 20823823.931 20823822.011
+ -1325.843 -1033.124 56.000 50.000
+ -9995281.63743 -7720677.87542 23443317.695 23443320.250 23443315.098
+ -1519.567 -1184.078 49.000 42.000
+ -22541248.59443 -17518165.05942 20994356.725 20994360.175 20994355.557
+ 1484.838 1157.017 56.000 50.000
+ -17902703.83843 -13940061.63242 21416614.586 21416617.934 21416613.307
+ 157.208 122.500 55.000 49.000
+ -6387487.81843 -4966973.51342 24016292.207 24016296.688 24016290.962
+ 3205.835 2498.053 46.000 41.000
+ -19590388.81843 -15249920.31842 20981625.531 20981627.524 20981624.366
+ 2116.827 1649.476 56.000 49.000
+ -1706566.54043 -1282676.03642 24292378.840 24292383.423 24292376.924
+ -2071.113 -1613.854 46.000 39.000
+ -6069323.77943 -4682790.84642 23791340.118 23791341.842 23791338.230
+ -2326.549 -1812.895 48.000 40.000
+ -25874993.53843 -20104395.32742 20347437.493 20347440.583 20347436.000
+ -232.358 -181.058 56.000 50.000
+ 04 2 1 21 39 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -9154880.54443 -7074834.77442 23063592.032 23063593.364 23063591.630
+ -2738.940 -2134.239 50.000 43.000
+ -12036513.68343 -9374093.50242 20831417.367 20831418.081 20831416.468
+ -1334.350 -1039.753 56.000 50.000
+ -9949613.29543 -7685092.20142 23452009.240 23452009.031 23452005.919
+ -1524.633 -1188.026 49.000 42.000
+ -22585527.91243 -17552668.44942 20985930.655 20985933.596 20985929.609
+ 1467.479 1143.490 56.000 50.000
+ -17907363.46743 -13943692.53442 21415728.204 21415731.525 21415726.618
+ 153.678 119.749 56.000 49.000
+ -6483559.65343 -5041834.69942 23998011.573 23998013.467 23998010.232
+ 3198.807 2492.577 47.000 41.000
+ -19653646.84943 -15299212.30342 20969587.606 20969590.053 20969586.433
+ 2100.680 1636.893 56.000 49.000
+ -1644364.32243 -1234206.81742 24304216.611 24304219.924 24304214.139
+ -2075.247 -1617.075 46.000 39.000
+ -5999505.66243 -4628387.18842 23804627.493 23804628.841 23804624.806
+ -2328.071 -1814.081 48.000 40.000
+ -25867827.34143 -20098811.28942 20348800.988 20348804.376 20348799.435
+ -244.906 -190.836 56.000 50.000
+ 04 2 1 21 39 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -9072721.28343 -7010814.63042 23079227.064 23079229.026 23079226.094
+ -2738.475 -2133.877 50.000 43.000
+ -11996369.13143 -9342812.05042 20839056.420 20839057.633 20839055.377
+ -1342.025 -1045.734 56.000 50.000
+ -9903823.60643 -7649411.99542 23460720.975 23460725.238 23460720.228
+ -1528.239 -1190.835 48.000 42.000
+ -22629301.33243 -17586777.61942 20977600.648 20977604.323 20977599.525
+ 1450.747 1130.452 56.000 50.000
+ -17911934.89843 -13947254.71542 21414857.892 21414861.594 21414856.953
+ 150.992 117.656 56.000 49.000
+ -6579445.04843 -5116550.58842 23979764.764 23979767.731 23979764.420
+ 3192.957 2488.018 47.000 41.000
+ -19716436.99443 -15348139.68742 20957639.182 20957641.780 20957637.698
+ 2085.295 1624.905 56.000 49.000
+ -1582055.61443 -1185654.61042 24316072.831 24316076.333 24316070.377
+ -2078.554 -1619.652 46.000 39.000
+ -5929662.99143 -4573964.37942 23817916.517 23817918.150 23817915.631
+ -2328.364 -1814.310 47.000 40.000
+ -25860304.13743 -20092949.07442 20350232.527 20350235.749 20350231.137
+ -256.606 -199.953 56.000 50.000
+ 04 2 1 21 40 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8990574.81943 -6946804.46742 23094858.485 23094861.242 23094857.300
+ -2737.456 -2133.082 50.000 43.000
+ -11955990.70943 -9311348.37242 20846740.316 20846741.279 20846739.558
+ -1349.260 -1051.371 56.000 50.000
+ -9857911.93743 -7613636.71442 23469458.372 23469460.981 23469457.070
+ -1531.939 -1193.719 48.000 42.000
+ -22672567.32943 -17620491.40042 20969367.361 20969370.991 20969366.321
+ 1434.363 1117.685 56.000 50.000
+ -17916417.10443 -13950747.36242 21414005.284 21414008.499 21414003.588
+ 148.465 115.687 56.000 49.000
+ -6675141.36943 -5191119.17042 23961553.503 23961557.153 23961552.478
+ 3186.966 2483.350 47.000 41.000
+ -19778756.80343 -15396700.57942 20945780.103 20945782.813 20945779.078
+ 2070.024 1613.006 56.000 50.000
+ -1519643.33143 -1137021.70242 24327949.029 24327953.673 24327947.086
+ -2081.524 -1621.967 46.000 39.000
+ -5859798.83143 -4519524.83642 23831210.725 23831214.029 23831209.614
+ -2328.331 -1814.284 46.000 40.000
+ -25852425.41943 -20086809.82942 20351731.678 20351735.212 20351730.403
+ -268.018 -208.845 56.000 50.000
+ 04 2 1 21 40 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8908438.01143 -6882801.81442 23110488.794 23110491.162 23110488.319
+ -2737.574 -2133.174 50.000 43.000
+ -11915375.62043 -9279700.27342 20854469.372 20854470.133 20854468.483
+ -1357.641 -1057.902 56.000 50.000
+ -9811872.92843 -7577762.25042 23478218.875 23478222.895 23478216.594
+ -1536.582 -1197.337 47.000 42.000
+ -22715319.54743 -17653804.83542 20961232.370 20961235.820 20961231.124
+ 1416.697 1103.920 56.000 50.000
+ -17920804.33043 -13954165.99542 21413170.317 21413173.630 21413169.137
+ 144.828 112.853 56.000 49.000
+ -6770641.51343 -5265534.86042 23943381.383 23943384.942 23943379.159
+ 3180.165 2478.051 46.000 41.000
+ -19840599.55743 -15444889.74742 20934011.991 20934014.464 20934010.913
+ 2053.606 1600.212 56.000 50.000
+ -1457125.89043 -1088306.86442 24339845.843 24339850.183 24339844.980
+ -2085.542 -1625.098 46.000 39.000
+ -5789911.46943 -4465067.22742 23844510.247 23844513.850 23844509.556
+ -2329.538 -1815.224 46.000 40.000
+ -25844188.21843 -20080391.24142 20353299.277 20353302.499 20353298.149
+ -280.354 -218.458 56.000 50.000
+ 04 2 1 21 41 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8826318.98043 -6818813.02442 23126115.441 23126119.083 23126113.923
+ -2736.836 -2132.599 50.000 43.000
+ -11874533.02443 -9247874.88842 20862241.306 20862242.420 20862240.472
+ -1365.105 -1063.718 56.000 50.000
+ -9765712.43543 -7541793.09942 23487002.049 23487007.719 23487000.594
+ -1540.290 -1200.226 46.000 41.000
+ -22757563.14243 -17686721.93942 20953193.297 20953196.856 20953192.229
+ 1399.729 1090.698 56.000 50.000
+ -17925102.52143 -13957515.25942 21412352.217 21412356.217 21412350.886
+ 141.951 110.611 56.000 49.000
+ -6865949.71943 -5339801.01142 23925243.144 23925248.898 23925242.261
+ 3173.548 2472.895 45.000 40.000
+ -19901969.79643 -15492710.72442 20922333.849 20922335.509 20922332.356
+ 2037.881 1587.959 56.000 50.000
+ -1394513.29343 -1039517.89142 24351761.105 24351765.723 24351759.848
+ -2088.696 -1627.555 46.000 40.000
+ -5720010.67543 -4410599.12242 23857812.708 23857815.361 23857811.337
+ -2329.830 -1815.452 47.000 40.000
+ -25835600.91743 -20073699.85442 20354933.524 20354936.662 20354932.272
+ -291.781 -227.362 56.000 50.000
+ 04 2 1 21 41 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8744214.97543 -6754835.94342 23141740.070 23141742.746 23141738.727
+ -2736.534 -2132.364 50.000 43.000
+ -11833459.81243 -9215869.81742 20870057.143 20870058.126 20870056.538
+ -1372.962 -1069.840 56.000 50.000
+ -9719425.19143 -7505725.17342 23495812.757 23495815.334 23495809.863
+ -1545.028 -1203.918 49.000 42.000
+ -22799291.42243 -17719237.50042 20945252.830 20945255.855 20945251.813
+ 1382.315 1077.129 56.000 50.000
+ -17929305.73643 -13960790.51442 21411552.915 21411555.922 21411551.295
+ 138.466 107.896 56.000 49.000
+ -6961058.87643 -5413912.04342 23907144.624 23907148.873 23907145.040
+ 3166.885 2467.703 46.000 41.000
+ -19962860.64543 -15540158.15242 20910745.700 20910748.377 20910744.874
+ 2021.642 1575.305 56.000 50.000
+ -1331803.78143 -990653.40842 24363694.026 24363698.738 24363693.645
+ -2091.894 -1630.047 46.000 39.000
+ -5650094.46943 -4356119.03542 23871116.687 23871120.195 23871115.924
+ -2330.746 -1816.166 46.000 40.000
+ -25826660.47243 -20066733.29242 20356634.555 20356638.130 20356632.988
+ -303.925 -236.825 56.000 50.000
+ 04 2 1 21 42 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8662130.88443 -6690874.38142 23157359.741 23157363.569 23157359.052
+ -2735.487 -2131.548 51.000 43.000
+ -11792161.50943 -9183689.34642 20877916.413 20877916.833 20877915.464
+ -1380.068 -1075.378 56.000 50.000
+ -9673013.93643 -7469560.60442 23504643.684 23504646.592 23504642.067
+ -1548.779 -1206.841 49.000 42.000
+ -22840506.46743 -17751353.14042 20937409.748 20937413.236 20937408.772
+ 1365.494 1064.021 56.000 50.000
+ -17933416.44143 -13963993.68342 21410770.896 21410773.708 21410769.206
+ 135.725 105.760 56.000 49.000
+ -7055969.93743 -5487868.72342 23889084.477 23889087.886 23889083.607
+ 3160.600 2462.805 46.000 41.000
+ -20023273.42043 -15587233.04642 20899250.195 20899252.666 20899248.890
+ 2006.034 1563.143 56.000 50.000
+ -1269003.74643 -941718.35342 24375645.046 24375648.823 24375643.093
+ -2094.358 -1631.967 46.000 39.000
+ -5580169.20743 -4301631.86842 23884423.121 23884428.007 23884421.300
+ -2330.998 -1816.362 46.000 41.000
+ -25817372.07643 -20059495.59542 20358402.253 20358405.570 20358400.734
+ -315.177 -245.592 56.000 50.000
+ 04 2 1 21 42 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8580066.43843 -6626928.12242 23172975.715 23172978.947 23172974.261
+ -2735.706 -2131.719 49.000 43.000
+ -11750638.38644 -9151333.68942 20885818.075 20885818.733 20885816.778
+ -1388.339 -1081.822 57.000 50.000
+ -9626476.35643 -7433297.59542 23513499.307 23513501.952 23513497.695
+ -1553.918 -1210.845 49.000 42.000
+ -22881204.99143 -17783066.29442 20929665.011 20929668.491 20929664.052
+ 1347.493 1049.995 56.000 50.000
+ -17937431.62843 -13967122.42542 21410006.680 21410009.556 21410005.104
+ 131.686 102.612 56.000 49.000
+ -7150678.62443 -5561667.70342 23871061.882 23871067.161 23871060.958
+ 3152.850 2456.766 47.000 41.000
+ -20083204.07443 -15633932.26242 20887845.413 20887848.414 20887844.496
+ 1989.042 1549.903 56.000 50.000
+ -1206114.53843 -892713.81542 24387613.027 24387616.630 24387610.049
+ -2098.274 -1635.019 46.000 39.000
+ -5510236.27743 -4247138.73642 23897730.006 23897734.594 23897729.292
+ -2331.028 -1816.385 46.000 40.000
+ -25807735.48443 -20051986.58142 20360235.831 20360239.547 20360234.863
+ -327.726 -255.371 56.000 50.000
+ 04 2 1 21 43 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8498023.22843 -6562998.39642 23188588.511 23188591.315 23188587.312
+ -2734.132 -2130.492 49.000 43.000
+ -11708892.45943 -9118804.41642 20893761.665 20893762.551 20893760.676
+ -1395.251 -1087.208 56.000 50.000
+ -9579811.67543 -7396935.56642 23522379.172 23522382.221 23522377.530
+ -1557.788 -1213.861 47.000 42.000
+ -22921385.56643 -17814375.85642 20922019.331 20922022.253 20922018.193
+ 1330.702 1036.911 56.000 50.000
+ -17941350.59043 -13970176.18642 21409260.652 21409263.890 21409259.013
+ 128.970 100.496 56.000 49.000
+ -7245182.64243 -5635307.21142 23853079.059 23853081.941 23853078.271
+ 3146.634 2451.923 47.000 41.000
+ -20142650.70143 -15680254.30542 20876533.500 20876535.990 20876532.178
+ 1973.427 1537.735 56.000 50.000
+ -1143139.28743 -843642.23142 24399595.640 24399600.227 24399593.160
+ -2100.591 -1636.824 45.000 39.000
+ -5440298.59143 -4192641.89042 23911039.542 23911043.297 23911039.386
+ -2331.089 -1816.433 46.000 40.000
+ -25797752.56643 -20044207.70342 20362135.529 20362139.502 20362134.259
+ -338.505 -263.770 56.000 50.000
+ 04 2 1 21 43 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8416004.10843 -6499087.46042 23204196.263 23204198.576 23204195.387
+ -2734.197 -2130.543 50.000 43.000
+ -11666927.27843 -9086104.30142 20901746.945 20901748.493 20901746.102
+ -1402.912 -1093.178 56.000 50.000
+ -9533020.57043 -7360475.02042 23531284.170 23531286.794 23531282.323
+ -1562.226 -1217.319 49.000 42.000
+ -22961047.96143 -17845281.63542 20914471.663 20914474.994 20914470.590
+ 1312.944 1023.073 56.000 50.000
+ -17945173.64343 -13973155.20542 21408533.215 21408536.658 21408531.275
+ 125.321 97.653 56.000 49.000
+ -7339480.80943 -5708786.30142 23835134.888 23835136.763 23835133.206
+ 3139.259 2446.176 47.000 41.000
+ -20201612.46543 -15726198.54142 20865313.250 20865315.728 20865312.301
+ 1956.831 1524.803 56.000 50.000
+ -1080082.38643 -794507.06342 24411596.146 24411599.590 24411593.614
+ -2103.558 -1639.136 45.000 39.000
+ -5370360.32943 -4138144.60842 23924348.910 23924352.379 23924347.583
+ -2331.494 -1816.748 46.000 39.000
+ -25787426.24743 -20036161.23542 20364100.675 20364103.950 20364099.433
+ -350.372 -273.017 56.000 50.000
+ 04 2 1 21 44 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8334006.69143 -6435193.43042 23219800.286 23219802.300 23219798.147
+ -2732.939 -2129.563 49.000 43.000
+ -11624740.59143 -9053231.58842 20909775.364 20909776.340 20909774.246
+ -1410.053 -1098.742 56.000 50.000
+ -9486098.43243 -7323912.38942 23540212.427 23540215.053 23540211.368
+ -1566.427 -1220.592 47.000 42.000
+ -23000186.69043 -17875779.37042 20907023.655 20907027.253 20907022.888
+ 1295.810 1009.722 56.000 50.000
+ -17948895.56543 -13976055.42842 21407825.220 21407828.092 21407823.618
+ 122.298 95.297 56.000 49.000
+ -7433566.65443 -5782099.96742 23817230.482 23817232.524 23817229.119
+ 3132.538 2440.939 47.000 41.000
+ -20260083.41643 -15771760.32642 20854186.942 20854188.995 20854185.600
+ 1940.807 1512.317 56.000 50.000
+ -1016942.82443 -745307.45642 24423609.901 24423614.951 24423607.762
+ -2105.976 -1641.020 44.000 39.000
+ -5300420.28143 -4083645.93142 23937657.122 23937661.645 23937655.229
+ -2331.353 -1816.639 46.000 39.000
+ -25776754.26343 -20027845.41842 20366131.465 20366135.016 20366129.992
+ -361.647 -281.803 55.000 50.000
+ 04 2 1 21 44 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8252033.50043 -6371318.28742 23235399.670 23235401.588 23235398.213
+ -2731.981 -2128.816 50.000 42.000
+ -11582335.88543 -9020188.98842 20917844.402 20917845.959 20917843.548
+ -1417.146 -1104.270 56.000 50.000
+ -9439045.79443 -7287248.05142 23549166.235 23549169.473 23549165.377
+ -1570.561 -1223.814 48.000 42.000
+ -23038801.44443 -17905868.80842 20899675.718 20899679.244 20899674.647
+ 1278.419 996.171 56.000 50.000
+ -17952516.71343 -13978877.13142 21407135.857 21407139.109 21407134.317
+ 119.066 92.779 56.000 49.000
+ -7527439.00243 -5855247.25142 23799368.262 23799370.242 23799366.398
+ 3125.443 2435.410 47.000 41.000
+ -20318062.75743 -15816939.04142 20843153.556 20843156.142 20843152.504
+ 1924.432 1499.557 56.000 50.000
+ -953725.06843 -696046.93242 24435639.306 24435645.410 24435638.788
+ -2108.631 -1643.089 44.000 39.000
+ -5230482.76843 -4029149.22342 23950966.268 23950970.411 23950965.647
+ -2330.930 -1816.309 45.000 39.000
+ -25765739.61443 -20019262.59642 20368227.811 20368231.099 20368226.224
+ -372.725 -290.435 56.000 50.000
+ 04 2 1 21 45 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8170088.17243 -6307464.84642 23250993.450 23250994.912 23250993.139
+ -2731.109 -2128.137 49.000 42.000
+ -11539717.06843 -8986979.54842 20925955.126 20925956.026 20925954.110
+ -1424.063 -1109.659 56.000 50.000
+ -9391864.02843 -7250483.10842 23558144.166 23558147.056 23558142.563
+ -1574.876 -1227.176 48.000 42.000
+ -23076892.76943 -17935550.37442 20892426.788 20892430.564 20892426.030
+ 1261.085 982.664 56.000 50.000
+ -17956038.08043 -13981621.07442 21406465.603 21406469.290 21406464.300
+ 115.757 90.200 55.000 49.000
+ -7621097.34343 -5928227.78542 23781544.167 23781548.220 23781543.051
+ 3118.355 2429.887 46.000 41.000
+ -20375550.32943 -15861734.55642 20832214.116 20832217.038 20832212.822
+ 1908.100 1486.831 56.000 50.000
+ -890433.96543 -646729.25242 24447683.651 24447689.221 24447681.934
+ -2110.936 -1644.885 44.000 39.000
+ -5160552.78743 -3974658.38742 23964272.266 23964276.583 23964271.795
+ -2330.683 -1816.117 45.000 39.000
+ -25754385.87643 -20010415.54742 20370388.071 20370391.733 20370386.846
+ -384.012 -299.230 56.000 50.000
+ 04 2 1 21 45 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8088169.64743 -6243632.29742 23266581.185 23266585.498 23266580.716
+ -2730.111 -2127.359 49.000 42.000
+ -11496883.54343 -8953602.80042 20934106.006 20934106.857 20934105.188
+ -1431.224 -1115.239 56.000 50.000
+ -9344549.82843 -7213614.96042 23567149.187 23567152.611 23567148.152
+ -1579.031 -1230.414 49.000 42.000
+ -23114456.72943 -17964821.01542 20885279.044 20885282.549 20885278.210
+ 1243.464 968.933 56.000 50.000
+ -17959455.92643 -13984284.35042 21405815.698 21405819.485 21405813.948
+ 112.256 87.472 56.000 49.000
+ -7714536.64743 -6001037.63242 23763764.197 23763768.098 23763763.155
+ 3110.985 2424.144 47.000 41.000
+ -20432541.42343 -15906143.20242 20821369.268 20821371.312 20821368.097
+ 1891.572 1473.952 56.000 50.000
+ -827069.98943 -597354.76142 24459743.279 24459745.963 24459740.594
+ -2112.930 -1646.439 45.000 39.000
+ -5090630.47843 -3920173.52042 23977579.681 23977582.416 23977579.899
+ -2330.317 -1815.831 46.000 39.000
+ -25742692.32543 -20001303.70942 20372613.250 20372616.808 20372611.970
+ -395.264 -307.998 56.000 50.000
+ 04 2 1 21 46 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -8006282.56843 -6179824.24442 23282164.037 23282166.604 23282164.067
+ -2728.497 -2126.101 48.000 42.000
+ -11453840.40243 -8920062.71942 20942296.705 20942297.874 20942295.928
+ -1437.915 -1120.453 56.000 50.000
+ -9297105.79243 -7176645.63542 23576177.752 23576181.880 23576175.349
+ -1583.385 -1233.806 49.000 42.000
+ -23151495.03743 -17993682.04942 20878230.832 20878234.358 20878230.120
+ 1226.102 955.404 56.000 50.000
+ -17962772.23243 -13986868.50742 21405184.374 21405187.930 21405182.762
+ 109.233 85.117 56.000 49.000
+ -7807757.62743 -6073677.36342 23746024.748 23746027.482 23746023.214
+ 3103.798 2418.544 46.000 41.000
+ -20489037.47743 -15950166.11042 20810618.436 20810620.668 20810617.148
+ 1875.233 1461.220 56.000 50.000
+ -763639.52343 -547928.48842 24471811.259 24471815.018 24471808.065
+ -2114.966 -1648.025 43.000 38.000
+ -5020721.98643 -3865699.44042 23990883.575 23990886.924 23990882.429
+ -2329.634 -1815.299 46.000 39.000
+ -25730663.85943 -19991930.89542 20374902.177 20374905.735 20374901.005
+ -406.119 -316.456 56.000 50.000
+ 04 2 1 21 46 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -7924424.60243 -6116038.88242 23297740.266 23297742.890 23297741.129
+ -2728.846 -2126.373 48.000 42.000
+ -11410586.29143 -8886358.25142 20950527.194 20950528.896 20950526.621
+ -1446.118 -1126.845 56.000 50.000
+ -9249527.64743 -7139571.81842 23585230.391 23585234.410 23585228.101
+ -1588.935 -1238.131 48.000 41.000
+ -23188002.70543 -18022129.60642 20871283.588 20871286.765 20871282.685
+ 1207.280 940.738 56.000 50.000
+ -17965982.43843 -13989369.99742 21404573.487 21404576.688 21404572.044
+ 104.436 81.379 56.000 49.000
+ -7900754.14843 -6146142.20042 23728328.303 23728331.139 23728326.968
+ 3095.140 2411.797 47.000 42.000
+ -20545032.68943 -15993798.74642 20799962.410 20799965.039 20799961.085
+ 1857.303 1447.249 56.000 50.000
+ -700141.71743 -498449.73442 24483895.220 24483899.839 24483893.139
+ -2118.872 -1651.069 43.000 38.000
+ -4950826.39743 -3811235.40742 24004184.535 24004187.737 24004181.273
+ -2330.392 -1815.890 45.000 39.000
+ -25718298.53443 -19982295.59742 20377255.178 20377258.757 20377254.068
+ -418.486 -326.093 56.000 50.000
+ 04 2 1 21 47 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -7842600.02043 -6052279.53542 23313311.904 23313314.915 23313311.065
+ -2727.310 -2125.177 48.000 42.000
+ -11367125.56644 -8852492.77942 20958798.378 20958799.093 20958797.193
+ -1452.596 -1131.893 57.000 50.000
+ -9201817.37543 -7102395.02642 23594310.416 23594312.908 23594308.591
+ -1593.060 -1241.345 48.000 42.000
+ -23223980.83343 -18050164.53342 20864437.317 20864440.931 20864436.373
+ 1189.968 927.248 56.000 50.000
+ -17969087.99643 -13991789.94342 21403982.464 21403985.977 21403981.033
+ 101.243 78.891 56.000 49.000
+ -7993526.31643 -6218432.21542 23710673.588 23710676.621 23710672.293
+ 3087.956 2406.199 48.000 42.000
+ -20600527.69343 -16037041.60642 20789402.228 20789404.793 20789401.211
+ 1840.982 1434.531 56.000 50.000
+ -636582.37043 -448923.02642 24495989.983 24495994.450 24495987.668
+ -2120.306 -1652.186 43.000 38.000
+ -4880949.30743 -3756785.81042 24017480.929 24017485.082 24017479.659
+ -2329.252 -1815.001 45.000 39.000
+ -25705600.61743 -19972401.13842 20379671.730 20379675.378 20379670.601
+ -429.202 -334.443 56.000 50.000
+ 04 2 1 21 47 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -7760808.58243 -5988546.02242 23328876.349 23328879.364 23328874.177
+ -2725.683 -2123.909 48.000 42.000
+ -11323458.66544 -8818466.65142 20967107.855 20967108.491 20967106.792
+ -1458.868 -1136.780 57.000 50.000
+ -9153972.82243 -7065113.59542 23603414.666 23603417.901 23603413.752
+ -1596.785 -1244.248 48.000 41.000
+ -23259426.32043 -18077784.41142 20857692.354 20857695.929 20857691.132
+ 1172.686 913.781 56.000 50.000
+ -17972086.37843 -13994126.35842 21403412.208 21403415.648 21403410.813
+ 98.250 76.558 56.000 49.000
+ -8086070.17943 -6290544.33442 23693063.645 23693066.936 23693062.471
+ 3080.712 2400.555 48.000 42.000
+ -20655519.09343 -16079892.05442 20778937.756 20778939.982 20778936.929
+ 1824.671 1421.822 56.000 50.000
+ -572962.98743 -399349.51842 24508096.767 24508100.595 24508094.598
+ -2121.890 -1653.421 43.000 38.000
+ -4811092.14243 -3702351.73942 24030774.017 24030777.933 24030772.979
+ -2328.082 -1814.090 46.000 40.000
+ -25692570.27943 -19962247.64842 20382151.449 20382154.882 20382149.849
+ -439.761 -342.671 56.000 50.000
+ 04 2 1 21 48 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -7679053.08943 -5924840.49842 23344433.807 23344436.903 23344432.294
+ -2724.598 -2123.063 48.000 42.000
+ -11279589.14944 -8784282.64042 20975455.985 20975456.717 20975455.073
+ -1465.536 -1141.976 57.000 50.000
+ -9105994.83743 -7027728.22242 23612544.205 23612547.281 23612542.531
+ -1601.432 -1247.869 47.000 41.000
+ -23294339.50643 -18104989.51142 20851048.351 20851051.887 20851047.226
+ 1155.069 900.054 56.000 50.000
+ -17974978.11543 -13996379.69142 21402861.879 21402865.344 21402860.231
+ 94.738 73.822 56.000 49.000
+ -8178384.90943 -6362477.90042 23675497.597 23675500.574 23675495.790
+ 3073.577 2394.995 48.000 42.000
+ -20710006.58543 -16122349.84542 20768568.997 20768572.169 20768568.063
+ 1807.996 1408.828 56.000 50.000
+ -509288.08243 -349732.75942 24520214.084 24520220.064 24520213.441
+ -2123.359 -1654.565 44.000 39.000
+ -4741259.25043 -3647936.56342 24044063.446 24044066.094 24044062.225
+ -2327.192 -1813.396 46.000 40.000
+ -25679210.99243 -19951837.83042 20384693.202 20384696.966 20384692.231
+ -450.695 -351.191 56.000 50.000
+ 04 2 1 21 48 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -7597332.70543 -5861162.34242 23359986.044 23359988.280 23359984.185
+ -2723.518 -2122.222 49.000 42.000
+ -11235516.40444 -8749940.26742 20983842.428 20983843.294 20983841.360
+ -1472.547 -1147.439 57.000 50.000
+ -9057880.11043 -6990236.31042 23621700.472 23621703.379 23621699.745
+ -1606.261 -1251.632 48.000 42.000
+ -23328716.51643 -18131776.81242 20844506.952 20844510.337 20844505.725
+ 1136.830 885.842 56.000 50.000
+ -17977759.51943 -13998547.04842 21402332.770 21402336.284 21402331.294
+ 90.843 70.787 56.000 49.000
+ -8270465.46043 -6434228.97642 23657975.595 23657977.649 23657973.637
+ 3065.161 2388.437 49.000 42.000
+ -20763985.68843 -16164411.48042 20758297.021 20758299.736 20758296.063
+ 1790.757 1395.395 55.000 50.000
+ -445558.10243 -300073.09942 24532340.489 24532346.395 24532340.389
+ -2125.266 -1656.051 43.000 38.000
+ -4671450.92143 -3593540.50642 24057346.879 24057351.468 24057345.904
+ -2326.484 -1812.845 45.000 40.000
+ -25665521.87343 -19941171.00342 20387298.126 20387302.170 20387297.123
+ -461.821 -359.860 56.000 50.000
+ 04 2 1 21 49 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -7515651.06543 -5797514.38542 23375529.184 23375532.254 23375528.105
+ -2721.760 -2120.852 49.000 42.000
+ -11191245.02843 -8715443.11942 20992267.466 20992268.094 20992266.349
+ -1478.859 -1152.358 56.000 49.000
+ -9009630.74543 -6952639.44542 23630882.013 23630885.401 23630880.394
+ -1610.387 -1254.847 48.000 42.000
+ -23362558.67243 -18158147.34242 20838066.382 20838070.369 20838065.514
+ 1119.424 872.278 56.000 50.000
+ -17980431.92443 -14000629.47542 21401823.612 21401827.543 21401822.488
+ 87.461 68.151 56.000 49.000
+ -8362311.86343 -6505797.62942 23640496.644 23640499.644 23640495.646
+ 3057.869 2382.755 48.000 41.000
+ -20817457.00343 -16206077.44442 20748122.067 20748124.394 20748120.912
+ 1774.162 1382.464 56.000 50.000
+ -381778.58843 -250374.84242 24544478.185 24544483.298 24544477.380
+ -2126.514 -1657.024 44.000 39.000
+ -4601672.62243 -3539167.87242 24070625.254 24070630.166 24070623.935
+ -2325.126 -1811.786 46.000 40.000
+ -25651507.34543 -19930250.61342 20389965.003 20389969.142 20389963.824
+ -472.188 -367.939 56.000 50.000
+ 04 2 1 21 49 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -7434008.52643 -5733896.87742 23391064.156 23391068.913 23391063.528
+ -2720.136 -2119.586 48.000 42.000
+ -11146775.88043 -8680791.86742 21000729.290 21000730.040 21000728.095
+ -1484.932 -1157.090 56.000 49.000
+ -8961244.90643 -6914936.25042 23640089.592 23640092.837 23640088.508
+ -1614.354 -1257.938 48.000 41.000
+ -23395863.84043 -18184099.44342 20831728.859 20831732.416 20831727.800
+ 1101.852 858.586 56.000 50.000
+ -17982993.10743 -14002625.22542 21401336.893 21401340.206 21401335.464
+ 84.077 65.515 56.000 49.000
+ -8453920.51243 -6577181.01442 23623064.044 23623068.386 23623062.594
+ 3050.402 2376.937 48.000 42.000
+ -20870417.61043 -16247345.45442 20738043.699 20738046.648 20738042.724
+ 1757.502 1369.482 55.000 50.000
+ -317951.34443 -200639.38242 24556624.787 24556629.176 24556622.217
+ -2127.603 -1657.872 43.000 38.000
+ -4531926.02643 -3484819.93642 24083898.801 24083901.091 24083896.182
+ -2323.629 -1810.620 46.000 39.000
+ -25637167.84943 -19919077.00542 20392693.862 20392697.526 20392692.924
+ -482.777 -376.190 56.000 50.000
+ 04 2 1 21 50 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -7352406.51543 -5670310.96042 23406592.993 23406595.756 23406590.953
+ -2719.594 -2119.164 48.000 41.000
+ -11102111.20143 -8645988.24842 21009228.114 21009229.771 21009227.509
+ -1492.215 -1162.765 56.000 49.000
+ -8912722.46043 -6877126.62742 23649323.017 23649326.408 23649321.157
+ -1619.935 -1262.287 48.000 42.000
+ -23428630.71343 -18209632.08842 20825493.488 20825497.326 20825492.680
+ 1083.227 844.073 56.000 50.000
+ -17985442.43943 -14004533.81242 21400870.497 21400874.117 21400869.233
+ 79.453 61.911 56.000 49.000
+ -8545289.34043 -6648377.50642 23605677.429 23605680.448 23605676.240
+ 3041.287 2369.834 48.000 41.000
+ -20922866.00643 -16288214.33842 20728063.439 20728065.786 20728062.322
+ 1739.517 1355.468 56.000 50.000
+ -254079.73043 -150869.35942 24568779.483 24568783.601 24568776.883
+ -2129.957 -1659.707 44.000 39.000
+ -4462214.24343 -3430499.10042 24097164.384 24097168.591 24097163.052
+ -2323.191 -1810.279 45.000 38.000
+ -25622505.49943 -19907651.81942 20395484.215 20395487.797 20395482.830
+ -494.372 -385.225 56.000 50.000
+ 04 2 1 21 50 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -7270841.92043 -5606754.20342 23422113.688 23422118.053 23422113.851
+ -2717.974 -2117.902 48.000 42.000
+ -11057248.21843 -8611030.10442 21017765.705 21017766.806 21017764.763
+ -1498.543 -1167.696 56.000 49.000
+ -8864057.83443 -6839206.18542 23658584.751 23658587.421 23658582.321
+ -1624.294 -1265.684 49.000 42.000
+ -23460853.41143 -18234740.70442 20819361.852 20819365.419 20819360.912
+ 1065.154 829.990 56.000 50.000
+ -17987773.79543 -14006350.47142 21400426.750 21400430.329 21400425.478
+ 75.873 59.122 56.000 49.000
+ -8636410.97243 -6719381.39042 23588337.228 23588340.845 23588335.333
+ 3033.417 2363.702 48.000 42.000
+ -20974795.54243 -16328678.92142 20718181.539 20718183.773 20718180.403
+ 1722.422 1342.147 56.000 50.000
+ -190162.20443 -101063.53042 24580941.109 24580947.000 24580939.631
+ -2131.151 -1660.637 42.000 38.000
+ -4392535.37143 -3376203.95442 24110420.375 24110428.194 24110422.702
+ -2321.777 -1809.177 42.000 37.000
+ -25607517.31843 -19895972.73442 20398336.528 20398339.834 20398335.283
+ -505.064 -393.556 56.000 50.000
+ 04 2 1 21 51 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -7189323.20743 -5543233.19842 23437627.431 23437629.747 23437626.750
+ -2716.557 -2116.798 49.000 41.000
+ -11012195.54443 -8575924.15042 21026339.074 21026340.243 21026338.319
+ -1504.787 -1172.561 56.000 49.000
+ -8815257.12843 -6801179.70142 23667869.846 23667873.261 23667868.852
+ -1628.815 -1269.206 49.000 42.000
+ -23492537.53043 -18259429.64842 20813333.014 20813335.995 20813331.580
+ 1047.347 816.115 56.000 50.000
+ -17989992.71243 -14008079.53442 21400004.982 21400008.338 21400003.258
+ 72.273 56.317 56.000 49.000
+ -8727289.75443 -6790196.05942 23571044.419 23571047.232 23571042.464
+ 3025.122 2357.238 48.000 42.000
+ -21026211.01143 -16368742.92342 20708397.451 20708399.802 20708396.099
+ 1705.425 1328.903 56.000 50.000
+ -126208.15043 -51229.28742 24593111.690 24593115.810 24593110.789
+ -2131.795 -1661.139 43.000 38.000
+ -4322898.92043 -3321941.86042 24123674.817 24123677.567 24123674.099
+ -2320.599 -1808.259 44.000 38.000
+ -25592211.76643 -19884046.35142 20401249.050 20401252.244 20401248.057
+ -515.317 -401.546 56.000 50.000
+ 04 2 1 21 51 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -7107850.66243 -5479748.16842 23453130.059 23453133.428 23453128.407
+ -2715.377 -2115.878 48.000 42.000
+ -10966954.07543 -8540671.08842 21034948.382 21034948.783 21034947.496
+ -1511.687 -1177.938 56.000 49.000
+ -8766318.61943 -6763045.86142 23677183.832 23677185.520 23677182.527
+ -1634.096 -1273.321 49.000 41.000
+ -23523680.57243 -18283696.97742 20807406.419 20807409.752 20807405.089
+ 1028.572 801.485 56.000 50.000
+ -17992097.22943 -14009719.44142 21399604.350 21399607.982 21399602.885
+ 67.698 52.752 56.000 49.000
+ -8817922.23743 -6860818.77442 23553796.960 23553800.176 23553795.407
+ 3016.384 2350.429 48.000 42.000
+ -21077109.79443 -16408404.31642 20698711.814 20698714.106 20698710.944
+ 1687.412 1314.866 56.000 50.000
+ -62219.60443 -1368.13742 24605288.705 24605292.868 24605286.761
+ -2134.193 -1663.007 43.000 38.000
+ -4253306.75343 -3267714.25442 24136917.824 24136922.900 24136916.783
+ -2319.047 -1807.050 44.000 39.000
+ -25576589.68143 -19871873.31642 20404221.970 20404225.475 20404220.533
+ -526.461 -410.229 56.000 50.000
+ 04 2 1 21 52 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -7026421.84443 -5416297.20642 23468626.354 23468628.724 23468625.641
+ -2713.516 -2114.428 49.000 42.000
+ -10921522.60643 -8505269.97042 21043593.585 21043594.647 21043592.596
+ -1517.636 -1182.573 56.000 49.000
+ -8717238.51843 -6724801.67442 23686522.458 23686526.606 23686522.155
+ -1638.382 -1276.661 47.000 41.000
+ -23554278.14443 -18307539.26342 20801583.730 20801587.347 20801582.777
+ 1010.794 787.632 56.000 50.000
+ -17994082.73943 -14011266.62042 21399226.807 21399229.983 21399225.278
+ 64.158 49.993 56.000 49.000
+ -8908302.48443 -6931244.95142 23536597.634 23536601.126 23536595.807
+ 3007.979 2343.880 47.000 41.000
+ -21127486.69143 -16447659.04742 20689125.257 20689127.884 20689124.017
+ 1670.409 1301.617 56.000 50.000
+ 1803.81343 48520.18242 24617471.313 24617477.156 24617471.291
+ -2134.719 -1663.417 43.000 38.000
+ -4183758.22543 -3213520.65742 24150151.456 24150155.489 24150150.436
+ -2317.570 -1805.899 44.000 39.000
+ -25560649.36443 -19859452.31042 20407255.594 20407258.872 20407254.217
+ -536.750 -418.247 56.000 50.000
+ 04 2 1 21 52 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -6945035.46843 -5352879.30642 23484113.238 23484116.744 23484110.421
+ -2711.763 -2113.062 49.000 42.000
+ -10875900.37443 -8469720.20342 21052275.290 21052276.193 21052274.097
+ -1523.558 -1187.188 56.000 49.000
+ -8668013.78243 -6686444.79642 23695890.299 23695894.076 23695888.444
+ -1642.958 -1280.227 48.000 41.000
+ -23584326.78343 -18330953.81042 20795865.748 20795869.735 20795864.698
+ 992.852 773.651 56.000 50.000
+ -17995945.55443 -14012718.19542 21398871.847 21398875.496 21398870.568
+ 60.344 47.021 56.000 49.000
+ -8998425.63643 -7001470.78042 23519446.730 23519452.542 23519446.610
+ 3000.099 2337.739 47.000 42.000
+ -21177337.42443 -16486503.77742 20679638.935 20679641.392 20679637.880
+ 1653.258 1288.253 56.000 50.000
+ 65861.64443 98435.30642 24629660.534 24629667.016 24629658.652
+ -2135.503 -1664.028 42.000 38.000
+ -4114253.44043 -3159361.15842 24163378.691 24163381.625 24163376.253
+ -2315.538 -1804.315 45.000 39.000
+ -25544390.13443 -19846782.80342 20410349.593 20410352.759 20410347.992
+ -546.907 -426.161 56.000 50.000
+ 04 2 1 21 53 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -6863700.58243 -5289501.54342 23499591.096 23499594.591 23499591.109
+ -2709.689 -2111.446 48.000 42.000
+ -10830097.05543 -8434029.33142 21060991.463 21060992.827 21060990.294
+ -1529.186 -1191.573 56.000 49.000
+ -8618651.44543 -6647980.71142 23705283.266 23705286.211 23705281.244
+ -1647.248 -1283.570 48.000 41.000
+ -23613833.10543 -18353945.77042 20790250.788 20790254.506 20790249.630
+ 974.996 759.737 56.000 50.000
+ -17997692.42943 -14014079.43442 21398539.471 21398542.861 21398538.125
+ 56.789 44.251 56.000 49.000
+ -9088296.86143 -7071500.32442 23502346.037 23502349.470 23502344.119
+ 2991.829 2331.295 47.000 42.000
+ -21226667.98643 -16524943.18342 20670251.800 20670254.395 20670250.583
+ 1636.256 1275.005 56.000 50.000
+ 129943.16643 148368.90542 24641852.982 24641860.410 24641852.920
+ -2135.693 -1664.176 41.000 37.000
+ -4044803.17743 -3105244.12742 24176596.165 24176598.470 24176594.428
+ -2313.430 -1802.673 45.000 39.000
+ -25527821.49143 -19833872.19342 20413502.144 20413505.658 20413501.108
+ -556.876 -433.929 56.000 50.000
+ 04 2 1 21 53 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -6782414.91743 -5226162.14742 23515058.854 23515061.808 23515058.052
+ -2708.746 -2110.711 48.000 42.000
+ -10784111.40143 -8398196.38842 21069741.799 21069743.340 21069740.999
+ -1536.014 -1196.894 56.000 49.000
+ -8569147.58543 -6609406.34442 23714703.789 23714706.255 23714702.560
+ -1652.624 -1287.759 49.000 42.000
+ -23642792.50043 -18376511.55842 20784740.344 20784743.805 20784739.080
+ 956.131 745.037 56.000 50.000
+ -17999318.88343 -14015346.82942 21398230.058 21398233.612 21398228.726
+ 52.059 40.565 56.000 49.000
+ -9177910.43443 -7141329.07442 23485293.748 23485296.627 23485292.313
+ 2982.644 2324.138 48.000 42.000
+ -21275473.42343 -16562973.39842 20660964.317 20660967.197 20660963.148
+ 1618.002 1260.781 56.000 50.000
+ 194048.80843 198321.32742 24654053.831 24654059.492 24654050.814
+ -2137.002 -1665.196 41.000 38.000
+ -3975406.83143 -3051169.10842 24189800.206 24189803.985 24189800.097
+ -2312.625 -1802.045 44.000 39.000
+ -25510941.98643 -19820719.35242 20416714.413 20416717.754 20416712.782
+ -567.982 -442.583 56.000 50.000
+ 04 2 1 21 54 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -6701180.85343 -5162862.94442 23530518.164 23530520.896 23530516.582
+ -2707.055 -2109.393 48.000 42.000
+ -10737945.83743 -8362223.25342 21078527.023 21078528.387 21078526.628
+ -1542.056 -1201.602 56.000 49.000
+ -8519502.05343 -6570721.58642 23724151.315 23724153.902 23724151.492
+ -1657.489 -1291.550 49.000 42.000
+ -23671204.00743 -18398650.41942 20779333.688 20779337.530 20779332.852
+ 937.755 730.718 56.000 50.000
+ -18000824.18743 -14016519.81942 21397943.588 21397947.096 21397942.026
+ 48.010 37.410 56.000 49.000
+ -9267264.39143 -7210955.54242 23468289.105 23468294.337 23468288.688
+ 2973.866 2317.298 48.000 42.000
+ -21323752.70343 -16600593.62242 20651777.269 20651779.620 20651776.150
+ 1600.302 1246.989 56.000 50.000
+ 258175.16743 248289.84842 24666257.874 24666264.463 24666257.532
+ -2138.123 -1666.070 42.000 38.000
+ -3906067.50443 -2997138.54742 24202996.754 24203000.328 24202994.560
+ -2310.611 -1800.476 43.000 39.000
+ -25493753.78943 -19807325.97142 20419985.281 20419988.350 20419984.021
+ -578.221 -450.562 56.000 50.000
+ 04 2 1 21 54 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -6619996.16043 -5099602.21842 23545966.409 23545969.851 23545965.088
+ -2705.173 -2107.927 48.000 42.000
+ -10691598.87243 -8326108.76042 21087346.874 21087348.284 21087345.855
+ -1547.805 -1206.082 56.000 49.000
+ -8469710.90943 -6531923.36142 23733626.010 23733628.260 23733624.196
+ -1661.920 -1295.002 49.000 42.000
+ -23699063.73543 -18420359.32042 20774032.001 20774035.711 20774030.968
+ 919.623 716.589 56.000 50.000
+ -18002203.88843 -14017594.93142 21397681.121 21397684.788 21397679.800
+ 44.077 34.346 56.000 49.000
+ -9356353.04143 -7280375.29442 23451335.965 23451339.952 23451336.100
+ 2964.986 2310.379 47.000 42.000
+ -21371500.79843 -16637799.93242 20642690.711 20642693.414 20642689.775
+ 1582.851 1233.390 56.000 50.000
+ 322322.20643 298274.48742 24678463.793 24678467.085 24678461.764
+ -2138.228 -1666.152 40.000 37.000
+ -3836785.03043 -2943152.28142 24216179.551 24216184.589 24216178.507
+ -2308.282 -1798.661 41.000 38.000
+ -25476255.63643 -19793691.06542 20423315.216 20423318.284 20423313.786
+ -588.221 -458.354 56.000 50.000
+ 04 2 1 21 55 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -6538863.94543 -5036382.40142 23561405.040 23561408.889 23561403.754
+ -2702.291 -2105.681 48.000 42.000
+ -10645074.41643 -8289855.96942 21096200.299 21096201.231 21096199.106
+ -1552.760 -1209.943 56.000 49.000
+ -8419775.73243 -6493012.90742 23743127.995 23743131.102 23743127.593
+ -1665.970 -1298.158 48.000 42.000
+ -23726372.45643 -18441638.86442 20768835.537 20768839.101 20768834.671
+ 902.064 702.907 56.000 50.000
+ -18003458.94143 -14018572.91842 21397441.918 21397446.147 21397440.649
+ 40.748 31.752 56.000 49.000
+ -9445175.81043 -7349587.85542 23434434.954 23434436.809 23434433.727
+ 2957.194 2304.307 48.000 42.000
+ -21418718.12843 -16674592.65642 20633705.741 20633708.330 20633704.493
+ 1566.029 1220.282 56.000 50.000
+ 386485.36243 348271.72042 24690672.065 24690680.998 24690672.504
+ -2138.124 -1666.071 40.000 37.000
+ -3767563.82643 -2889213.76242 24229354.231 24229356.409 24229351.295
+ -2305.281 -1796.323 41.000 37.000
+ -25458451.01243 -19779817.35142 20426703.197 20426706.686 20426701.731
+ -597.622 -465.679 56.000 50.000
+ 04 2 1 21 55 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -6457785.63743 -4973204.56042 23576834.070 23576837.318 23576833.464
+ -2702.157 -2105.577 49.000 42.000
+ -10598374.26543 -8253466.26742 21105086.626 21105088.226 21105085.875
+ -1559.926 -1215.527 56.000 49.000
+ -8369695.94543 -6453989.75642 23752658.209 23752660.744 23752656.777
+ -1671.928 -1302.801 47.000 41.000
+ -23753129.18443 -18462488.28342 20763743.466 20763747.431 20763742.670
+ 882.348 687.544 56.000 50.000
+ -18004588.19343 -14019452.89642 21397226.791 21397231.103 21397225.823
+ 35.175 27.409 56.000 49.000
+ -9533730.29143 -7418591.36142 23417582.655 23417586.941 23417581.369
+ 2946.908 2296.292 49.000 42.000
+ -21465402.93243 -16710970.43342 20624822.000 20624824.766 20624820.838
+ 1546.901 1205.377 55.000 50.000
+ 450661.45843 398279.05742 24702888.881 24702892.981 24702885.740
+ -2139.573 -1667.200 43.000 37.000
+ -3698406.92843 -2835325.34242 24242512.311 24242515.818 24242510.886
+ -2304.383 -1795.623 41.000 37.000
+ -25440341.86443 -19765706.35042 20430148.693 20430152.617 20430147.596
+ -608.986 -474.534 55.000 49.000
+ 04 2 1 21 56 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -6376762.68043 -4910069.86542 23592252.391 23592256.334 23592251.166
+ -2699.756 -2103.706 49.000 42.000
+ -10551500.93743 -8216941.63042 21114006.492 21114007.751 21114005.849
+ -1565.299 -1219.713 56.000 49.000
+ -8319471.46943 -6414853.86642 23762216.333 23762218.200 23762213.821
+ -1676.719 -1306.534 47.000 41.000
+ -23779333.27243 -18482907.07842 20758757.244 20758760.917 20758756.220
+ 864.318 673.495 56.000 50.000
+ -18005590.84243 -14020234.20742 21397036.941 21397040.239 21397035.474
+ 31.294 24.385 56.000 49.000
+ -9622014.50743 -7487384.27542 23400782.997 23400786.035 23400781.279
+ 2938.022 2289.368 48.000 42.000
+ -21511554.19143 -16746932.45842 20616039.872 20616042.405 20616038.897
+ 1529.437 1191.769 56.000 50.000
+ 514847.36943 448293.96142 24715100.229 24715107.014 24715100.345
+ -2139.953 -1667.496 44.000 38.000
+ -3629317.53143 -2781489.51742 24255658.914 24255661.447 24255656.418
+ -2302.094 -1793.839 41.000 37.000
+ -25421930.43443 -19751359.80542 20433652.113 20433656.328 20433651.119
+ -618.724 -482.122 56.000 50.000
+ 04 2 1 21 56 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -6295791.63743 -4846975.61842 23607661.336 23607663.704 23607659.119
+ -2697.431 -2101.894 49.000 42.000
+ -10504451.54943 -8180279.80642 21122959.562 21122960.967 21122958.547
+ -1570.596 -1223.841 56.000 49.000
+ -8269096.82643 -6375600.98042 23771800.506 23771803.921 23771799.334
+ -1681.039 -1309.900 46.000 40.000
+ -23804979.10543 -18502890.86742 20753877.097 20753880.899 20753876.011
+ 846.183 659.363 56.000 50.000
+ -18006460.81043 -14020912.11942 21396871.530 21396874.772 21396870.056
+ 27.347 21.309 56.000 49.000
+ -9710021.14943 -7555960.89742 23384035.899 23384037.916 23384034.240
+ 2929.441 2282.681 47.000 42.000
+ -21557165.41043 -16782473.67642 20607360.471 20607362.789 20607359.233
+ 1511.966 1178.155 56.000 50.000
+ 579044.88143 498317.93942 24727318.071 24727321.509 24727315.868
+ -2139.641 -1667.253 43.000 38.000
+ -3560293.20743 -2727704.42742 24268793.071 24268794.961 24268791.441
+ -2299.171 -1791.562 41.000 37.000
+ -25403213.73043 -19736775.37842 20437214.770 20437217.631 20437213.384
+ -628.333 -489.610 56.000 50.000
+ 04 2 1 21 57 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -6214880.89643 -4783928.35642 23623057.965 23623060.103 23623056.182
+ -2696.014 -2100.790 49.000 42.000
+ -10457235.19143 -8143487.87042 21131944.862 21131945.857 21131944.080
+ -1576.682 -1228.583 56.000 49.000
+ -8218578.81743 -6336236.37342 23781415.530 23781417.602 23781413.445
+ -1686.353 -1314.041 47.000 41.000
+ -23830072.90943 -18522444.50642 20749102.591 20749105.713 20749101.236
+ 827.207 644.577 56.000 50.000
+ -18007204.23043 -14021491.43342 21396729.735 21396733.339 21396728.345
+ 22.585 17.599 56.000 49.000
+ -9797755.22243 -7624325.11242 23367340.602 23367344.724 23367340.173
+ 2919.741 2275.123 48.000 42.000
+ -21602242.50143 -16817598.68542 20598782.401 20598785.033 20598781.416
+ 1493.636 1163.872 56.000 50.000
+ 643243.80443 548343.02942 24739534.092 24739539.470 24739531.957
+ -2139.965 -1667.505 44.000 38.000
+ -3491344.23743 -2673978.03742 24281914.568 24281918.245 24281914.081
+ -2297.034 -1789.897 42.000 37.000
+ -25384200.75143 -19721960.09042 20440832.624 20440835.994 20440831.293
+ -638.717 -497.701 56.000 50.000
+ 04 2 1 21 57 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -6134029.17943 -4720927.10742 23638443.844 23638446.108 23638442.057
+ -2694.324 -2099.473 49.000 41.000
+ -10409851.27643 -8106565.36842 21140961.681 21140963.132 21140960.927
+ -1582.638 -1233.224 56.000 49.000
+ -8167914.28043 -6296757.56142 23791056.302 23791059.262 23791054.992
+ -1691.623 -1318.148 49.000 41.000
+ -23854611.33743 -18541565.38142 20744432.666 20744436.015 20744431.589
+ 808.210 629.774 56.000 50.000
+ -18007817.53643 -14021969.36442 21396612.778 21396616.550 21396611.281
+ 17.866 13.922 56.000 49.000
+ -9885211.53743 -7692472.89442 23350697.912 23350701.878 23350695.572
+ 2910.150 2267.649 48.000 42.000
+ -21646781.38143 -16852304.31242 20590307.237 20590309.269 20590306.044
+ 1475.140 1149.460 56.000 50.000
+ 707443.81043 598368.96442 24751752.135 24751758.213 24751750.521
+ -2140.186 -1667.677 44.000 38.000
+ -3422470.62343 -2620310.35042 24295021.636 24295025.506 24295019.894
+ -2294.959 -1788.280 44.000 38.000
+ -25364890.86843 -19706913.45042 20444507.000 20444510.334 20444505.540
+ -649.015 -505.726 56.000 50.000
+ 04 2 1 21 58 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -6053235.72843 -4657971.21542 23653817.132 23653819.522 23653816.359
+ -2692.236 -2097.846 48.000 41.000
+ -10362299.65043 -8069512.18442 21150010.272 21150011.525 21150009.242
+ -1588.101 -1237.481 56.000 49.000
+ -8117100.64043 -6257162.57942 23800725.445 23800727.408 23800724.863
+ -1696.682 -1322.090 50.000 41.000
+ -23878591.43943 -18560251.19942 20739869.259 20739872.796 20739868.428
+ 789.844 615.463 56.000 50.000
+ -18008297.53943 -14022343.42042 21396521.416 21396525.193 21396519.801
+ 13.511 10.528 56.000 49.000
+ -9972385.54343 -7760400.70942 23334110.402 23334113.576 23334109.704
+ 2900.797 2260.361 48.000 43.000
+ -21690778.32843 -16886587.65442 20581934.370 20581937.136 20581933.145
+ 1457.250 1135.519 56.000 50.000
+ 771644.13843 648395.14442 24763967.556 24763972.960 24763965.975
+ -2140.325 -1667.786 41.000 37.000
+ -3353672.97943 -2566701.87542 24308113.509 24308116.544 24308111.342
+ -2292.361 -1786.255 44.000 38.000
+ -25345283.75643 -19691635.20142 20448237.928 20448241.595 20448236.645
+ -658.741 -513.305 56.000 50.000
+ 04 2 1 21 58 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -5972504.90743 -4595064.17542 23669181.331 23669181.876 23669179.765
+ -2690.092 -2096.175 49.000 41.000
+ -10314585.20943 -8032332.13142 21159090.094 21159091.489 21159089.378
+ -1593.143 -1241.410 56.000 49.000
+ -8066140.39643 -6217453.36042 23810423.415 23810426.865 23810423.598
+ -1701.143 -1325.566 49.000 41.000
+ -23902015.78243 -18578503.95642 20735411.371 20735415.329 20735410.373
+ 771.529 601.191 56.000 50.000
+ -18008646.20943 -14022615.13642 21396455.104 21396458.941 21396453.696
+ 9.509 7.410 56.000 49.000
+ -10059278.13143 -7828109.24942 23317574.797 23317578.452 23317573.417
+ 2891.865 2253.401 48.000 43.000
+ -21734235.13643 -16920450.10442 20573664.804 20573667.477 20573663.721
+ 1439.586 1121.755 56.000 50.000
+ 835838.46143 698416.62042 24776184.472 24776189.264 24776183.321
+ -2139.491 -1667.136 44.000 38.000
+ -3284957.46243 -2513157.39742 24321189.225 24321194.020 24321187.943
+ -2289.203 -1783.794 43.000 38.000
+ -25325384.54743 -19676129.34642 20452024.558 20452027.964 20452023.560
+ -668.173 -520.654 56.000 50.000
+ 04 2 1 21 59 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -5891834.06343 -4532203.85842 23684530.953 23684534.349 23684530.618
+ -2688.574 -2094.993 47.000 40.000
+ -10266706.20543 -7995023.84842 21168201.410 21168202.812 21168200.218
+ -1599.091 -1246.045 56.000 49.000
+ -8015029.39243 -6177626.65142 23820149.744 23820152.702 23820149.100
+ -1706.573 -1329.797 49.000 41.000
+ -23924879.37343 -18596319.76242 20731061.003 20731064.397 20731059.802
+ 752.351 586.247 56.000 50.000
+ -18008858.43443 -14022780.53142 21396415.145 21396418.938 21396413.525
+ 4.237 3.302 56.000 49.000
+ -10145883.15243 -7895593.67342 23301093.389 23301098.267 23301092.084
+ 2881.399 2245.246 48.000 42.000
+ -21777146.73943 -16953887.72742 20565499.332 20565501.674 20565498.246
+ 1420.846 1107.153 56.000 50.000
+ 900027.56743 748434.06442 24788399.438 24788403.318 24788397.981
+ -2139.966 -1667.506 44.000 38.000
+ -3216322.81343 -2459675.92842 24334250.179 24334253.200 24334248.405
+ -2286.960 -1782.047 43.000 38.000
+ -25305191.14243 -19660394.24642 20455867.584 20455871.109 20455866.250
+ -678.431 -528.647 56.000 50.000
+ 04 2 1 21 59 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -5811225.86443 -4469392.35242 23699870.809 23699873.317 23699869.057
+ -2685.568 -2092.650 47.000 40.000
+ -10218666.19843 -7957590.10642 21177343.003 21177344.336 21177342.061
+ -1603.639 -1249.589 56.000 49.000
+ -7963768.62643 -6137683.27542 23829903.873 23829907.168 23829903.090
+ -1710.919 -1333.184 48.000 41.000
+ -23947183.14343 -18613699.34642 20726816.355 20726820.328 20726815.641
+ 734.466 572.311 56.000 50.000
+ -18008934.69943 -14022839.98042 21396400.083 21396404.399 21396398.772
+ .573 .446 56.000 49.000
+ -10232199.68543 -7962853.32142 23284668.404 23284673.604 23284666.238
+ 2872.587 2238.379 48.000 42.000
+ -21819513.32443 -16986900.65942 20557437.020 20557439.586 20557435.936
+ 1403.502 1093.638 56.000 51.000
+ 964207.28443 798444.16442 24800612.404 24800616.672 24800610.107
+ -2138.735 -1666.547 44.000 38.000
+ -3147773.27343 -2406260.80242 24347292.930 24347298.294 24347291.839
+ -2283.162 -1779.087 43.000 38.000
+ -25284707.11943 -19644432.69442 20459765.674 20459769.150 20459764.336
+ -687.258 -535.526 56.000 50.000
+ 04 2 1 22 0 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -5730679.51943 -4406629.04242 23715197.790 23715200.291 23715198.018
+ -2683.526 -2091.059 47.000 40.000
+ -10170464.63443 -7920030.48042 21186515.621 21186516.613 21186514.796
+ -1608.817 -1253.624 56.000 49.000
+ -7912355.63143 -6097621.30042 23839688.026 23839691.156 23839685.123
+ -1715.684 -1336.897 47.000 41.000
+ -23968924.01943 -18630640.31242 20722679.651 20722683.379 20722678.471
+ 715.844 557.801 56.000 50.000
+ -18008871.60143 -14022790.83842 21396412.754 21396416.161 21396411.169
+ -3.806 -2.966 56.000 49.000
+ -10318223.16043 -8029884.61442 23268299.039 23268302.669 23268298.094
+ 2862.988 2230.900 48.000 43.000
+ -21861331.15343 -17019485.98542 20549479.644 20549482.094 20549478.488
+ 1385.325 1079.474 56.000 51.000
+ 1028376.77043 848446.31142 24812822.317 24812827.218 24812820.839
+ -2138.157 -1666.096 42.000 38.000
+ -3079309.45543 -2352912.43542 24360321.907 24360325.956 24360320.300
+ -2280.118 -1776.715 43.000 38.000
+ -25263932.01443 -19628244.32542 20463718.741 20463722.518 20463717.493
+ -696.724 -542.902 56.000 50.000
+ 04 2 1 22 0 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -5650201.10243 -4343918.68742 23730513.763 23730515.286 23730513.163
+ -2682.211 -2090.035 46.000 40.000
+ -10122108.61943 -7882350.50342 21195717.631 21195718.586 21195716.706
+ -1614.869 -1258.339 56.000 49.000
+ -7860794.87943 -6057444.16242 23849499.164 23849501.852 23849499.121
+ -1722.061 -1341.866 48.000 41.000
+ -23990106.44444 -18647146.12142 20718649.173 20718652.495 20718648.062
+ 696.243 542.527 57.000 50.000
+ -18008673.00143 -14022636.10342 21396450.128 21396453.939 21396448.668
+ -9.393 -7.319 55.000 49.000
+ -10403956.26443 -8096689.65942 23251984.603 23251988.298 23251983.045
+ 2852.507 2222.733 48.000 42.000
+ -21902604.07243 -17051646.71042 20541625.712 20541628.003 20541624.643
+ 1366.207 1064.577 56.000 51.000
+ 1092527.88443 898434.13142 24825029.744 24825036.309 24825028.089
+ -2138.685 -1666.508 42.000 38.000
+ -3010939.29843 -2299637.04242 24373334.000 24373336.010 24373331.936
+ -2277.723 -1774.849 44.000 38.000
+ -25242872.82943 -19611834.59542 20467726.255 20467729.811 20467724.973
+ -707.183 -551.052 56.000 50.000
+ 04 2 1 22 1 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -5569787.63343 -4281258.91342 23745815.018 23745818.519 23745814.180
+ -2679.857 -2088.200 46.000 40.000
+ -10073595.93943 -7844548.45242 21204949.184 21204950.427 21204948.517
+ -1620.009 -1262.345 56.000 49.000
+ -7809081.62643 -6017148.20042 23859340.246 23859342.417 23859337.755
+ -1726.566 -1345.376 48.000 40.000
+ -24010725.47343 -18663212.91442 20714725.337 20714728.868 20714724.097
+ 677.567 527.974 56.000 50.000
+ -18008333.60343 -14022371.66642 21396514.842 21396518.655 21396513.726
+ -14.002 -10.911 56.000 49.000
+ -10489392.48843 -8163263.33942 23235727.063 23235730.075 23235724.671
+ 2842.595 2215.009 48.000 42.000
+ -21943326.62543 -17083378.58142 20533876.086 20533878.541 20533875.124
+ 1347.854 1050.276 56.000 50.000
+ 1156661.93043 948408.67142 24837235.928 24837239.599 24837232.717
+ -2137.821 -1665.834 43.000 38.000
+ -2942661.03543 -2246433.27842 24386325.607 24386330.756 24386325.818
+ -2274.922 -1772.666 43.000 38.000
+ -25221527.25743 -19595201.70542 20471788.265 20471792.010 20471786.752
+ -716.573 -558.368 56.000 49.000
+ 04 2 1 22 1 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -5489439.12843 -4218649.78142 23761105.388 23761109.469 23761103.846
+ -2677.592 -2086.435 46.000 40.000
+ -10024927.49243 -7806625.01742 21214210.515 21214211.774 21214209.666
+ -1624.959 -1266.202 56.000 49.000
+ -7757214.19843 -5976732.07542 23869210.119 23869214.229 23869210.056
+ -1732.108 -1349.694 48.000 41.000
+ -24030779.22844 -18678839.24542 20710909.495 20710912.488 20710908.203
+ 658.917 513.442 57.000 50.000
+ -18007851.38443 -14021995.92942 21396606.557 21396610.125 21396605.193
+ -18.535 -14.443 56.000 49.000
+ -10574528.29043 -8229602.93142 23219525.460 23219528.843 23219525.057
+ 2832.760 2207.345 48.000 42.000
+ -21983496.46443 -17114679.76542 20526232.093 20526234.558 20526230.946
+ 1329.678 1036.113 56.000 51.000
+ 1220777.21743 998368.57242 24849434.955 24849441.635 24849434.362
+ -2136.828 -1665.061 43.000 38.000
+ -2874476.46843 -2193302.51542 24399299.774 24399306.087 24399298.051
+ -2271.024 -1769.629 43.000 38.000
+ -25199896.10343 -19578346.28642 20475904.555 20475908.037 20475903.341
+ -725.740 -565.512 56.000 49.000
+ 04 2 1 22 2 0.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -5409159.50543 -4156094.31042 23776381.089 23776384.724 23776380.251
+ -2674.807 -2084.265 47.000 40.000
+ -9976107.65443 -7768583.61342 21223500.555 21223501.787 21223499.725
+ -1629.865 -1270.025 56.000 49.000
+ -7705195.04743 -5936197.75442 23879109.484 23879110.871 23879106.531
+ -1736.912 -1353.438 48.000 40.000
+ -24050270.09043 -18694026.95942 20707200.077 20707203.666 20707199.132
+ 640.247 498.894 56.000 50.000
+ -18007227.86543 -14021510.08542 21396725.349 21396729.256 21396723.952
+ -23.210 -18.086 56.000 49.000
+ -10659364.12343 -8295708.79042 23203382.464 23203386.446 23203381.861
+ 2822.714 2199.517 49.000 42.000
+ -22023115.05143 -17145551.39842 20518692.927 20518695.459 20518691.830
+ 1311.418 1021.884 55.000 50.000
+ 1284868.00643 1048309.37942 24861632.012 24861636.772 24861630.750
+ -2136.028 -1664.437 44.000 39.000
+ -2806390.81043 -2140248.84142 24412256.783 24412260.111 24412254.823
+ -2267.827 -1767.138 42.000 37.000
+ -25177983.94143 -19561271.89942 20480074.201 20480077.667 20480073.066
+ -735.031 -572.751 56.000 49.000
+ 04 2 1 22 2 30.0000000 0 10G18G22G21G 3G15G31G14G 2G16G23
+ -5328947.57543 -4093591.58342 23791644.846 23791649.202 23791643.483
+ -2672.841 -2082.733 45.000 40.000
+ -9927136.29743 -7730424.15142 21232819.108 21232821.344 21232818.776
+ -1635.080 -1274.088 56.000 49.000
+ -7653021.80443 -5895543.30442 23889037.480 23889039.061 23889037.382
+ -1742.132 -1357.505 48.000 40.000
+ -24069195.05743 -18708773.70942 20703598.667 20703602.291 20703597.660
+ 621.325 484.149 56.000 50.000
+ -18006459.58543 -14020911.44742 21396871.527 21396875.009 21396870.133
+ -28.063 -21.867 56.000 49.000
+ -10743895.56743 -8361577.46542 23187295.277 23187299.847 23187296.087
+ 2812.666 2191.688 48.000 42.000
+ -22062178.97843 -17175990.83042 20511259.509 20511261.932 20511258.448
+ 1292.835 1007.404 56.000 51.000
+ 1348933.57143 1098230.53642 24873823.300 24873828.724 24873822.340
+ -2135.116 -1663.727 45.000 39.000
+ -2738404.78343 -2087272.79042 24425194.939 24425199.382 24425193.878
+ -2264.712 -1764.711 43.000 38.000
+ -25155790.44743 -19543978.29142 20484297.504 20484300.844 20484296.031
+ -744.473 -580.109 56.000 49.000
+ 04 2 1 22 3 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -5248808.98343 -4031146.01642 23806894.144 23806899.492 23806893.103
+ -2671.019 -2081.314 45.000 40.000
+ -9878019.36843 -7692151.25342 21242165.778 21242167.830 21242165.273
+ -1640.534 -1278.338 56.000 49.000
+ -7600698.05043 -5854771.62742 23898994.556 23898998.382 23898992.367
+ -1747.263 -1361.504 49.000 41.000
+ -24087557.72143 -18723082.30442 20700104.738 20700108.178 20700103.575
+ 601.831 468.959 56.000 50.000
+ -18005549.60343 -14020202.40642 21397044.439 21397048.528 21397043.104
+ -33.551 -26.144 56.000 49.000
+ -10828124.20443 -8427210.17142 23171268.205 23171271.364 23171266.404
+ 2801.805 2183.225 48.000 42.000
+ 25301746.882
+ 2344.930 1827.218 42.000
+ -22100691.38443 -17206000.50242 20503931.079 20503933.067 20503929.739
+ 1273.666 992.467 56.000 51.000
+ 1412966.95443 1148126.61742 24886006.729 24886013.130 24886006.270
+ -2134.665 -1663.375 44.000 38.000
+ -2670524.97343 -2034379.52542 24438111.283 24438116.667 24438110.833
+ -2261.814 -1762.452 42.000 38.000
+ -25133321.75743 -19526470.24942 20488573.197 20488577.098 20488571.961
+ -754.440 -587.875 55.000 49.000
+ 04 2 1 22 3 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -5168737.31443 -3968752.60142 23822130.778 23822136.062 23822131.781
+ -2668.252 -2079.157 45.000 39.000
+ -9828751.61343 -7653760.83342 21251541.299 21251543.308 21251540.512
+ -1645.254 -1282.016 56.000 49.000
+ -7548215.74243 -5813876.40442 23908981.434 23908983.904 23908980.980
+ -1752.475 -1365.565 48.000 41.000
+ -24105350.43143 -18736946.77242 20696718.398 20696722.291 20696717.310
+ 583.042 454.318 56.000 50.000
+ -18004489.62143 -14019376.46642 21397246.413 21397249.861 21397245.208
+ -38.471 -29.977 56.000 49.000
+ -10912040.63143 -8492599.59042 23155300.112 23155303.014 23155297.740
+ 2791.369 2175.093 49.000 43.000
+ -943302.26453 -690460.16752 25288331.315 25288339.421 25288329.011
+ 2353.673 1834.031 43.000 36.000
+ -22138643.72743 -17235573.76242 20496708.934 20496710.977 20496707.828
+ 1255.126 978.020 56.000 51.000
+ 1476972.18243 1198000.75342 24898186.495 24898193.262 24898185.411
+ -2133.327 -1662.333 43.000 38.000
+ -2602746.98543 -1981565.61342 24451008.389 24451014.225 24451008.293
+ -2258.144 -1759.593 42.000 38.000
+ -25110572.56243 -19508743.62142 20492902.220 20492905.811 20492900.937
+ -763.489 -594.926 56.000 49.000
+ 04 2 1 22 4 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -5088739.93743 -3906417.04342 23837356.361 23837359.648 23837355.815
+ -2664.773 -2076.446 45.000 40.000
+ -9779341.03743 -7615259.12342 21260944.201 21260945.701 21260943.367
+ -1649.029 -1284.958 56.000 49.000
+ -7495580.79643 -5772862.25542 23918996.904 23919000.231 23918995.676
+ -1756.790 -1368.927 47.000 40.000
+ -24122578.58443 -18750371.33842 20693440.305 20693444.050 20693439.262
+ 565.214 440.426 56.000 50.000
+ -18003284.52643 -14018437.45042 21397475.492 21397479.516 21397474.130
+ -42.290 -32.953 56.000 49.000
+ -10995648.64143 -8557748.69942 23139389.749 23139392.867 23139388.015
+ 2782.153 2167.911 49.000 43.000
+ -1014068.84843 -745602.95242 25274865.566 25274873.579 25274865.537
+ 2363.264 1841.504 40.000 36.000
+ -22176040.99243 -17264714.50342 20489592.505 20489594.634 20489591.295
+ 1237.697 964.439 56.000 51.000
+ 1540940.56843 1247846.18542 24910359.234 24910367.167 24910357.898
+ -2131.083 -1660.584 43.000 37.000
+ -2535079.69543 -1928837.94042 24463887.023 24463890.648 24463885.011
+ -2253.293 -1755.813 43.000 38.000
+ -25087550.76143 -19490804.58742 20497282.633 20497286.876 20497281.771
+ -771.492 -601.162 55.000 49.000
+ 04 2 1 22 4 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -5008814.02343 -3844137.22742 23852566.341 23852569.406 23852564.094
+ -2663.283 -2075.285 45.000 39.000
+ -9729785.42743 -7576644.39242 21270373.588 21270375.843 21270373.156
+ -1654.406 -1289.147 55.000 49.000
+ -7442789.07043 -5731725.90142 23929043.198 23929047.047 23929041.760
+ -1762.365 -1373.271 47.000 40.000
+ -24139237.73944 -18763352.52342 20690270.538 20690273.702 20690269.390
+ 545.655 425.186 57.000 50.000
+ -18001929.04343 -14017381.25642 21397734.022 21397737.408 21397732.494
+ -47.895 -37.321 56.000 49.000
+ -11078941.79043 -8622652.48342 23123539.105 23123543.550 23123538.182
+ 2770.984 2159.208 49.000 42.000
+ -1085099.98343 -800951.89442 25261348.886 25261353.655 25261348.149
+ 2371.887 1848.224 44.000 36.000
+ -22212877.89543 -17293418.59642 20482582.639 20482585.029 20482581.221
+ 1218.451 949.442 56.000 51.000
+ 1604873.18743 1297663.78442 24922527.689 24922530.869 24922526.070
+ -2130.718 -1660.300 44.000 38.000
+ -2467521.58043 -1876195.36042 24476743.886 24476746.220 24476741.338
+ -2249.782 -1753.077 43.000 38.000
+ -25064254.28743 -19472651.50942 20501716.351 20501720.284 20501715.153
+ -781.214 -608.738 56.000 49.000
+ 04 2 1 22 5 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -4928959.39343 -3781912.94242 23867760.417 23867763.952 23867759.421
+ -2661.029 -2073.529 44.000 39.000
+ -9680085.34643 -7537917.09442 21279831.441 21279833.194 21279831.051
+ -1659.288 -1292.952 55.000 49.000
+ -7389838.66043 -5690465.88542 23939119.680 23939123.184 23939118.536
+ -1767.802 -1377.508 46.000 40.000
+ -24155325.89044 -18775888.77442 20687208.956 20687212.244 20687207.816
+ 526.445 410.217 57.000 50.000
+ -18000420.77143 -14016206.00742 21398020.727 21398024.269 21398019.380
+ -53.148 -41.414 56.000 49.000
+ -11161916.43843 -8687308.07642 23107749.618 23107752.335 23107748.499
+ 2760.055 2150.692 49.000 43.000
+ -1156392.79643 -856504.71142 25247781.152 25247787.350 25247780.965
+ 2380.873 1855.226 42.000 36.000
+ -22249152.08443 -17321684.19842 20475679.889 20475682.120 20475678.768
+ 1199.453 934.639 56.000 51.000
+ 1668768.56743 1347452.32342 24934686.826 24934690.264 24934683.924
+ -2129.356 -1659.238 45.000 39.000
+ -2400074.29943 -1823639.12742 24489576.467 24489581.368 24489575.280
+ -2246.782 -1750.739 41.000 38.000
+ -25040683.72843 -19454284.87142 20506201.790 20506205.243 20506200.338
+ -790.521 -615.990 56.000 49.000
+ 04 2 1 22 5 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -4849183.93943 -3719750.31342 23882941.412 23882946.146 23882941.105
+ -2657.079 -2070.451 44.000 39.000
+ -9630249.23043 -7499083.78942 21289315.670 21289316.882 21289314.943
+ -1663.765 -1296.440 56.000 49.000
+ -7336735.85743 -5649087.16042 23949223.836 23949228.178 23949222.965
+ -1772.683 -1381.311 45.000 40.000
+ -24170849.49544 -18787985.11342 20684255.021 20684258.330 20684253.719
+ 507.825 395.708 57.000 50.000
+ -17998765.52343 -14014916.22742 21398335.728 21398339.560 21398334.651
+ -57.907 -45.122 56.000 49.000
+ -11244577.12843 -8751719.00542 23092019.298 23092023.514 23092018.796
+ 2749.889 2142.771 49.000 43.000
+ -1227952.33143 -912265.39342 25234163.774 25234168.882 25234164.175
+ 2389.402 1861.872 42.000 35.000
+ -22284869.58243 -17349516.02142 20468882.832 20468885.129 20468881.659
+ 1181.053 920.301 56.000 51.000
+ 1732617.15243 1397204.42842 24946835.307 24946840.241 24946834.235
+ -2127.895 -1658.100 45.000 38.000
+ -2332747.05943 -1771176.46342 24502387.671 24502394.181 24502386.527
+ -2242.868 -1747.689 42.000 38.000
+ -25016847.71043 -19435711.37642 20510737.388 20510741.228 20510736.253
+ -799.233 -622.779 56.000 49.000
+ 04 2 1 22 6 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -4769482.41243 -3657645.32742 23898107.499 23898112.967 23898107.509
+ -2655.261 -2069.035 45.000 39.000
+ -9580273.30343 -7460141.54142 21298825.677 21298826.798 21298824.905
+ -1668.053 -1299.781 56.000 49.000
+ -7283474.26143 -5607584.68142 23959360.365 23959364.465 23959358.127
+ -1777.845 -1385.334 47.000 40.000
+ -24185802.11543 -18799636.52942 20681409.731 20681413.155 20681408.332
+ 489.044 381.073 56.000 50.000
+ -17996956.24343 -14013506.42942 21398680.160 21398683.999 21398678.645
+ -62.764 -48.907 56.000 49.000
+ -11326915.47543 -8815878.78042 23076350.775 23076355.530 23076350.705
+ 2739.281 2134.505 49.000 43.000
+ -1299771.00043 -968228.00442 25220497.017 25220504.143 25220496.487
+ 2398.287 1868.795 43.000 36.000
+ -22320023.15543 -17376908.42042 20462192.987 20462196.065 20462191.924
+ 1162.506 905.849 55.000 51.000
+ 1796421.97243 1446922.42142 24958978.560 24958982.105 24958976.246
+ -2125.992 -1656.617 46.000 39.000
+ -2265536.54743 -1718804.72542 24515179.583 24515184.612 24515177.765
+ -2238.279 -1744.113 44.000 39.000
+ -24992742.24043 -19416927.91842 20515324.855 20515328.540 20515323.482
+ -807.858 -629.500 56.000 49.000
+ 04 2 1 22 6 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -4689856.86643 -3595599.54642 23913260.400 23913263.945 23913260.010
+ -2652.737 -2067.068 45.000 39.000
+ -9530160.30243 -7421092.47942 21308361.706 21308363.239 21308360.744
+ -1672.594 -1303.320 56.000 49.000
+ -7230054.55843 -5565959.02742 23969525.243 23969528.424 23969525.382
+ -1783.120 -1389.444 46.000 40.000
+ -24200184.35543 -18810843.49942 20678672.597 20678676.302 20678671.357
+ 469.975 366.214 56.000 50.000
+ -17994992.56243 -14011976.30742 21399053.336 21399057.431 21399051.892
+ -67.893 -52.904 55.000 49.000
+ -11408930.34743 -8879786.48442 23060744.813 23060748.374 23060743.583
+ 2728.379 2126.010 49.000 43.000
+ -1371848.48643 -1024392.25142 25206781.914 25206789.485 25206782.146
+ 2407.173 1875.719 42.000 36.000
+ -22354612.83943 -17403861.42842 20455611.214 20455613.459 20455610.311
+ 1143.764 891.245 56.000 51.000
+ 1860178.93143 1496603.10842 24971109.058 24971115.589 24971107.226
+ -2124.140 -1655.174 43.000 39.000
+ -2198446.49743 -1666526.83542 24527946.231 24527950.788 24527945.064
+ -2233.998 -1740.778 45.000 39.000
+ -24968370.26443 -19397936.78642 20519962.865 20519966.063 20519961.766
+ -816.663 -636.361 56.000 49.000
+ 04 2 1 22 7 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -4610309.03143 -3533614.29142 23928399.127 23928401.698 23928397.399
+ -2649.880 -2064.841 46.000 39.000
+ -9479912.40543 -7381938.30842 21317923.601 21317925.142 21317922.769
+ -1676.822 -1306.614 56.000 49.000
+ -7176476.62443 -5524210.06942 23979721.655 23979725.335 23979718.995
+ -1788.292 -1393.474 48.000 40.000
+ -24213996.16943 -18821605.97442 20676043.927 20676047.945 20676043.234
+ 451.219 351.599 56.000 50.000
+ -17992873.64643 -14010325.23642 21399457.081 21399461.088 21399455.549
+ -72.933 -56.831 56.000 49.000
+ -11490619.74943 -8943440.58342 23045199.709 23045203.312 23045198.518
+ 2717.791 2117.759 49.000 43.000
+ -1444183.01743 -1080756.83342 25193018.116 25193022.815 25193016.090
+ 2415.867 1882.494 43.000 36.000
+ -22388637.92443 -17430374.49142 20449136.660 20449138.803 20449135.136
+ 1125.072 876.679 56.000 51.000
+ 1923884.84743 1546244.02642 24983232.864 24983236.936 24983231.026
+ -2122.570 -1653.951 44.000 38.000
+ -2131479.58143 -1614344.90542 24540690.403 24540693.250 24540688.368
+ -2229.674 -1737.408 46.000 39.000
+ -24943733.87743 -19378739.63242 20524651.010 20524654.573 20524649.636
+ -825.290 -643.083 56.000 49.000
+ 04 2 1 22 7 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -4530841.10943 -3471691.29242 23943521.791 23943523.575 23943520.146
+ -2648.367 -2063.662 47.000 39.000
+ -9429532.57143 -7342681.32342 21327510.306 21327512.024 21327509.724
+ -1682.245 -1310.840 56.000 49.000
+ -7122741.62243 -5482338.73442 23989947.622 23989950.285 23989944.956
+ -1794.566 -1398.363 47.000 40.000
+ -24227238.52843 -18831924.72042 20673524.343 20673527.988 20673523.160
+ 431.174 335.980 56.000 50.000
+ -17990599.64543 -14008553.31042 21399889.565 21399893.656 21399888.226
+ -79.154 -61.678 56.000 49.000
+ -11571982.51643 -9006840.15142 23029716.126 23029720.259 23029715.832
+ 2705.843 2108.449 49.000 43.000
+ -1516774.00243 -1137321.20842 25179202.936 25179209.811 25179201.962
+ 2423.106 1888.134 43.000 36.000
+ -22422098.81443 -17456447.92042 20442769.193 20442771.361 20442768.017
+ 1105.258 861.240 56.000 51.000
+ 1987535.66243 1595842.00142 24995347.150 24995350.639 24995345.137
+ -2121.456 -1653.082 46.000 39.000
+ -2064639.64643 -1562261.90442 24553408.466 24553413.565 24553408.245
+ -2226.374 -1734.837 46.000 39.000
+ -24918836.31543 -19359338.96242 20529388.436 20529392.700 20529387.100
+ -834.970 -650.626 55.000 49.000
+ 04 2 1 22 8 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -4451452.93343 -3409830.46042 23958627.869 23958632.276 23958626.964
+ -2645.021 -2061.055 46.000 40.000
+ -9379021.63743 -7303322.19742 21337122.625 21337123.831 21337121.343
+ -1685.809 -1313.617 56.000 49.000
+ -7068848.07143 -5440343.82642 24000201.997 24000204.690 24000201.210
+ -1799.078 -1401.879 47.000 40.000
+ -24239910.14543 -18841798.73442 20671112.990 20671116.699 20671111.865
+ 413.029 321.841 56.000 50.000
+ -17988168.30243 -14006658.79042 21400352.492 21400356.307 21400351.011
+ -83.512 -65.074 56.000 49.000
+ -11653015.41843 -9069982.68942 23014296.810 23014300.664 23014296.361
+ 2695.529 2100.412 49.000 43.000
+ -1589619.02643 -1194083.55142 25165343.624 25165346.077 25165340.628
+ 2432.784 1895.676 42.000 36.000
+ -22454993.37643 -17482080.05642 20436509.095 20436512.030 20436508.268
+ 1087.183 847.156 55.000 51.000
+ 2051129.80243 1645395.79642 25007447.260 25007451.406 25007445.453
+ -2119.016 -1651.181 44.000 39.000
+ -1997928.46443 -1510279.25342 24566104.197 24566108.129 24566103.478
+ -2221.340 -1730.914 47.000 39.000
+ -24893678.43243 -19339735.44342 20534176.310 20534180.137 20534174.877
+ -842.829 -656.750 56.000 49.000
+ 04 2 1 22 8 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -4372142.12343 -3348029.93442 23973721.264 23973724.795 23973718.830
+ -2642.437 -2059.042 46.000 40.000
+ -9328377.56643 -7263859.31742 21346759.962 21346761.159 21346758.807
+ -1690.349 -1317.155 55.000 49.000
+ -7014791.48043 -5398221.89742 24010487.998 24010492.962 24010487.648
+ -1804.583 -1406.168 47.000 40.000
+ -24252006.72244 -18851224.66442 20668811.457 20668814.672 20668810.433
+ 393.690 306.771 57.000 50.000
+ -17985574.60543 -14004637.75442 21400846.165 21400850.079 21400844.686
+ -89.206 -69.511 56.000 49.000
+ -11733712.27643 -9132863.38742 22998940.983 22998942.970 22998939.912
+ 2684.252 2091.625 50.000 43.000
+ -1662713.00443 -1251039.88742 25151432.194 25151437.116 25151431.371
+ 2440.233 1901.480 42.000 36.000
+ -22487317.01743 -17507267.31042 20430358.424 20430360.939 20430357.207
+ 1067.910 832.138 55.000 51.000
+ 2114668.05243 1694906.08042 25019536.547 25019543.646 25019536.510
+ -2116.860 -1649.501 44.000 38.000
+ -1931344.76243 -1458395.92942 24578773.784 24578777.605 24578773.625
+ -2217.291 -1727.759 46.000 38.000
+ -24868258.25743 -19319927.53542 20539013.583 20539017.004 20539012.097
+ -851.549 -663.545 56.000 49.000
+ 04 2 1 22 9 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -4292911.16343 -3286291.61442 23988798.196 23988802.679 23988796.558
+ -2639.152 -2056.482 47.000 40.000
+ -9277604.56243 -7224295.97542 21356422.028 21356423.101 21356420.779
+ -1693.666 -1319.740 56.000 49.000
+ -6960574.20343 -5355974.76042 24020807.589 24020811.624 24020805.157
+ -1808.908 -1409.539 48.000 40.000
+ -24263530.32044 -18860204.11342 20666618.644 20666621.933 20666617.471
+ 375.471 292.575 57.000 50.000
+ -17982819.60043 -14002491.02642 21401370.297 21401374.039 21401368.998
+ -93.672 -72.991 56.000 49.000
+ -11814073.07543 -9195482.20242 22983648.252 22983651.249 22983647.667
+ 2673.728 2083.424 50.000 43.000
+ -1736055.99543 -1308190.27942 25137475.799 25137482.341 25137476.305
+ 2449.894 1909.008 43.000 37.000
+ -22519070.95143 -17532010.63642 20424315.861 20424318.237 20424314.748
+ 1049.761 817.996 56.000 51.000
+ 2178145.52843 1744368.98842 25031615.934 25031622.043 25031615.169
+ -2114.059 -1647.319 43.000 38.000
+ -1864893.45443 -1406615.72442 24591420.767 24591425.545 24591419.730
+ -2211.794 -1723.476 46.000 37.000
+ -24842579.94343 -19299918.48842 20543899.791 20543903.334 20543898.606
+ -859.334 -669.611 56.000 49.000
+ 04 2 1 22 9 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -4213764.91343 -3224619.30942 24003859.327 24003862.842 24003858.493
+ -2637.189 -2054.952 47.000 40.000
+ -9226707.21543 -7184635.73342 21366107.668 21366108.970 21366106.556
+ -1698.874 -1323.798 56.000 49.000
+ -6906198.78243 -5313604.35542 24031152.457 24031157.014 24031152.198
+ -1815.660 -1414.800 47.000 40.000
+ -24274483.65844 -18868739.20642 20664534.129 20664537.742 20664533.223
+ 355.326 276.877 57.000 50.000
+ -17979905.16043 -14000220.05942 21401925.083 21401928.828 21401923.508
+ -100.056 -77.966 56.000 49.000
+ -11894098.72843 -9257839.86242 22968419.373 22968423.409 22968418.989
+ 2661.420 2073.834 49.000 44.000
+ -1809649.92843 -1365536.22842 25123471.644 25123476.205 25123472.081
+ 2456.957 1914.512 42.000 36.000
+ -22550257.63643 -17556311.95342 20418381.482 20418383.792 20418380.385
+ 1029.861 802.489 56.000 51.000
+ 2241556.14643 1793779.79642 25043683.922 25043688.707 25043682.090
+ -2112.782 -1646.324 44.000 38.000
+ -1798580.08043 -1354943.00142 24604038.178 24604043.027 24604037.891
+ -2208.144 -1720.632 45.000 36.000
+ -24816648.59443 -19279712.26542 20548834.383 20548837.881 20548833.168
+ -868.813 -676.997 56.000 49.000
+ 04 2 1 22 10 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -4134699.50743 -3163009.97442 24018904.213 24018906.655 24018902.227
+ -2633.742 -2052.266 46.000 39.000
+ -9175682.93243 -7144876.58542 21375816.888 21375818.256 21375815.828
+ -1702.559 -1326.669 56.000 49.000
+ -6851660.02143 -5271106.66942 24041531.772 24041535.458 24041528.793
+ -1820.297 -1418.413 48.000 40.000
+ -24284861.93043 -18876826.19842 20662559.120 20662562.718 20662558.180
+ 336.811 262.450 56.000 50.000
+ -17976825.67543 -13997820.48942 21402511.043 21402514.543 21402509.589
+ -105.027 -81.839 56.000 49.000
+ -11973782.21043 -9319930.89442 22953256.399 22953260.117 22953256.225
+ 2650.824 2065.577 50.000 43.000
+ -1883488.00343 -1423072.40542 25109420.890 25109426.095 25109421.473
+ 2465.796 1921.399 42.000 36.000
+ -22580871.49943 -17580166.92042 20412555.347 20412558.319 20412554.478
+ 1011.340 788.057 56.000 51.000
+ 2304901.85343 1843140.01242 25055739.485 25055743.253 25055737.847
+ -2110.119 -1644.248 46.000 38.000
+ -1732402.49943 -1303376.07342 24616632.024 24616635.511 24616630.606
+ -2203.180 -1716.764 45.000 36.000
+ -24790461.30843 -19259306.61142 20553817.607 20553821.218 20553816.372
+ -876.663 -683.114 56.000 49.000
+ 04 2 1 22 10 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -4055719.51443 -3101467.20042 24033934.413 24033938.328 24033933.125
+ -2630.839 -2050.004 47.000 39.000
+ -9124537.20743 -7105022.80542 21385550.030 21385550.563 21385548.887
+ -1706.367 -1329.637 56.000 49.000
+ -6796961.46343 -5228484.51242 24051940.616 24051945.109 24051939.415
+ -1825.356 -1422.355 46.000 40.000
+ -24294668.75743 -18884467.90742 20660692.681 20660696.740 20660691.841
+ 317.867 247.689 56.000 50.000
+ -17973583.72043 -13995294.31942 21403127.554 21403131.830 21403126.194
+ -110.295 -85.944 56.000 49.000
+ -12053125.08643 -9381756.53642 22938157.943 22938163.073 22938157.252
+ 2639.367 2056.650 50.000 44.000
+ -1957572.15143 -1480800.33942 25095323.430 25095328.821 25095321.613
+ 2473.953 1927.756 41.000 35.000
+ -22610915.62443 -17603577.93142 20406838.248 20406840.944 20406837.280
+ 992.433 773.324 56.000 51.000
+ 2368176.04643 1892444.50342 25067778.414 25067784.370 25067776.301
+ -2107.339 -1642.082 45.000 38.000
+ -1666367.03243 -1251919.88142 24629198.604 24629206.646 24629196.540
+ -2198.203 -1712.885 45.000 35.000
+ -24764023.75343 -19238705.94342 20558848.830 20558852.085 20558847.605
+ -884.888 -689.523 56.000 49.000
+ 04 2 1 22 11 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3976821.35143 -3039988.20942 24048946.392 24048952.949 24048945.117
+ -2628.694 -2048.333 45.000 39.000
+ -9073267.17543 -7065072.16742 21395305.961 21395307.186 21395305.085
+ -1711.064 -1333.297 55.000 49.000
+ -6742098.25943 -5185734.04142 24062381.092 24062383.544 24062378.860
+ -1831.691 -1427.292 47.000 40.000
+ -24303899.33543 -18891660.59042 20658936.128 20658940.587 20658935.386
+ 298.058 232.253 56.000 50.000
+ -17970173.53543 -13992637.06342 21403776.654 21403780.738 21403775.440
+ -116.488 -90.770 56.000 49.000
+ -12132120.62443 -9443311.50242 22923126.122 22923128.935 22923123.788
+ 2627.305 2047.251 50.000 44.000
+ -2031896.35043 -1538715.30742 25081179.639 25081185.760 25081178.099
+ 2481.333 1933.506 42.000 35.000
+ -22640384.45443 -17626540.66342 20401230.989 20401233.083 20401229.865
+ 972.720 757.964 56.000 51.000
+ 2431380.45943 1941694.63442 25079807.998 25079811.436 25079806.404
+ -2105.656 -1640.771 46.000 38.000
+ -1600471.82043 -1200572.97142 24641736.759 24641741.958 24641737.238
+ -2194.069 -1709.664 43.000 35.000
+ -24737333.38143 -19217908.27542 20563927.565 20563931.153 20563926.239
+ -893.880 -696.530 56.000 49.000
+ 04 2 1 22 11 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3898009.08543 -2978576.12142 24063944.909 24063949.781 24063943.360
+ -2625.314 -2045.699 45.000 39.000
+ -9021877.55143 -7025028.33342 21405084.474 21405086.220 21405083.950
+ -1714.464 -1335.946 56.000 48.000
+ -6687073.15243 -5142857.39242 24072851.474 24072853.848 24072850.384
+ -1836.547 -1431.075 47.000 39.000
+ -24312556.45343 -18898406.42342 20657288.719 20657292.972 20657287.902
+ 279.086 217.470 56.000 50.000
+ -17966596.59943 -13989849.86742 21404457.621 21404461.260 21404456.271
+ -121.780 -94.893 56.000 49.000
+ -12210769.34043 -9504596.22442 22908159.809 22908162.845 22908157.949
+ 2616.007 2038.447 50.000 44.000
+ -2106461.74143 -1596818.25242 25066988.883 25066995.538 25066991.112
+ 2490.026 1940.280 40.000 35.000
+ -22669280.11843 -17649056.77142 20395732.378 20395734.526 20395730.944
+ 953.852 743.261 56.000 51.000
+ 2494509.50343 1990886.07442 25091818.873 25091826.166 25091818.655
+ -2102.440 -1638.265 45.000 38.000
+ -1534722.08343 -1149339.52042 24654250.429 24654252.696 24654249.463
+ -2188.675 -1705.461 42.000 35.000
+ -24710394.85143 -19196917.23642 20569053.960 20569057.774 20569052.663
+ -901.800 -702.701 56.000 49.000
+ 04 2 1 22 12 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3819280.41943 -2917229.22242 24078927.162 24078930.967 24078926.129
+ -2622.908 -2043.824 46.000 39.000
+ -8970367.33943 -6984890.54342 21414886.835 21414888.583 21414886.071
+ -1718.749 -1339.285 55.000 48.000
+ -6631882.88943 -5099852.06842 24083354.370 24083356.891 24083354.538
+ -1842.185 -1435.469 46.000 39.000
+ -24320637.38543 -18904703.28242 20655751.444 20655755.178 20655750.252
+ 260.014 202.608 56.000 50.000
+ -17962849.13143 -13986929.78842 21405170.633 21405174.785 21405169.250
+ -127.497 -99.348 56.000 49.000
+ -12289066.26043 -9565606.80842 22893259.368 22893263.442 22893258.697
+ 2604.177 2029.229 50.000 44.000
+ -2181263.77853 -1655105.60952 25052753.665 25052760.738 25052751.404
+ 2496.678 1945.463 39.000 34.000
+ -22697599.33543 -17671123.70142 20390343.282 20390345.492 20390342.072
+ 934.633 728.285 56.000 51.000
+ 2557563.11043 2040018.70742 25103818.054 25103823.777 25103817.602
+ -2100.270 -1636.574 46.000 38.000
+ -1469117.66243 -1098219.23542 24666732.138 24666740.218 24666731.385
+ -2184.153 -1701.937 40.000 35.000
+ -24683207.38143 -19175732.22442 20574227.448 20574231.413 20574226.416
+ -910.172 -709.225 56.000 49.000
+ 04 2 1 22 12 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3740642.06443 -2855952.66442 24093890.932 24093894.991 24093890.927
+ -2619.889 -2041.472 46.000 38.000
+ -8918743.51943 -6944664.21942 21424711.145 21424712.098 21424709.996
+ -1722.928 -1342.541 55.000 48.000
+ -6576532.23143 -5056721.75342 24093886.613 24093889.655 24093886.480
+ -1847.993 -1439.994 46.000 39.000
+ -24328146.93543 -18910554.90342 20654322.581 20654326.098 20654321.543
+ 240.470 187.379 56.000 50.000
+ -17958935.24643 -13983880.02842 21405915.657 21405919.116 21405914.219
+ -133.602 -104.105 56.000 49.000
+ -12367014.51843 -9626345.72942 22878427.705 22878430.078 22878426.162
+ 2592.156 2019.862 50.000 44.000
+ -2256305.78143 -1713579.93542 25038473.768 25038479.245 25038473.617
+ 2505.279 1952.165 41.000 36.000
+ -22725346.49443 -17692744.86942 20385062.907 20385065.557 20385061.946
+ 915.025 713.006 56.000 51.000
+ 2620533.07843 2089086.18342 25115801.802 25115808.349 25115801.708
+ -2097.656 -1634.537 46.000 37.000
+ -1403666.36143 -1047218.28342 24679189.322 24679191.569 24679187.281
+ -2179.790 -1698.538 43.000 35.000
+ -24655778.16743 -19154358.83042 20579447.210 20579450.914 20579445.818
+ -918.701 -715.871 56.000 49.000
+ 04 2 1 22 13 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3662089.88643 -2794743.27242 24108837.923 24108841.064 24108836.295
+ -2617.210 -2039.384 44.000 38.000
+ -8867003.24343 -6904347.15842 21434556.688 21434558.046 21434555.674
+ -1726.955 -1345.679 55.000 48.000
+ -6521016.17043 -5013462.58542 24104451.783 24104455.242 24104451.056
+ -1853.492 -1444.279 47.000 40.000
+ -24335080.35944 -18915957.59742 20653003.076 20653006.664 20653001.964
+ 221.118 172.300 57.000 50.000
+ -17954848.90143 -13980695.88142 21406692.903 21406697.038 21406691.461
+ -139.520 -108.717 56.000 49.000
+ -12444606.94943 -9686807.37942 22863662.264 22863665.944 22863661.080
+ 2580.080 2010.452 50.000 44.000
+ -2331581.35543 -1772236.19342 25024146.434 25024155.582 25024147.276
+ 2513.127 1958.281 37.000 35.000
+ -22752516.14743 -17713916.03142 20379893.038 20379895.379 20379891.760
+ 895.574 697.850 56.000 51.000
+ 2683421.89943 2138090.39642 25127769.294 25127770.859 25127767.692
+ -2095.479 -1632.841 46.000 37.000
+ -1338365.74343 -996334.76442 24691613.329 24691620.233 24691614.157
+ -2173.813 -1693.880 41.000 35.000
+ -24628104.04843 -19132794.60742 20584713.500 20584717.101 20584712.309
+ -926.959 -722.306 56.000 49.000
+ 04 2 1 22 13 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3583626.69743 -2733603.21742 24123771.016 24123772.715 24123769.525
+ -2613.946 -2036.841 45.000 38.000
+ -8815149.83543 -6863941.94042 21444423.870 21444425.183 21444423.009
+ -1730.454 -1348.406 55.000 48.000
+ -6465336.28743 -4970075.71642 24115048.348 24115051.331 24115045.262
+ -1858.900 -1448.493 47.000 40.000
+ -24341439.32443 -18920912.66242 20651792.861 20651796.566 20651791.823
+ 202.325 157.656 56.000 50.000
+ -17950590.64343 -13977377.78642 21407503.093 21407507.408 21407501.997
+ -144.971 -112.964 56.000 49.000
+ -12521843.24943 -9746991.52542 22848964.482 22848967.913 22848963.586
+ 2568.379 2001.334 50.000 44.000
+ -2407090.28543 -1831074.34742 25009780.646 25009785.437 25009779.790
+ 2520.650 1964.143 41.000 35.000
+ -22779109.43743 -17734638.08342 20374832.144 20374834.673 20374830.984
+ 876.723 683.161 55.000 51.000
+ 2746224.71443 2187027.63242 25139719.403 25139723.717 25139717.013
+ -2092.242 -1630.318 45.000 37.000
+ -1273220.21743 -945572.10942 24704013.031 24704014.512 24704010.882
+ -2169.053 -1690.171 43.000 36.000
+ -24600188.96843 -19111042.61942 20590025.373 20590029.323 20590024.312
+ -934.637 -728.288 56.000 49.000
+ 04 2 1 22 14 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3505254.20843 -2672533.81642 24138684.666 24138686.524 24138684.953
+ -2611.266 -2034.753 46.000 38.000
+ -8763185.79743 -6823450.51242 21454312.509 21454313.647 21454311.481
+ -1734.501 -1351.559 55.000 48.000
+ -6409493.18243 -4926561.68942 24125674.380 24125677.733 24125671.591
+ -1864.810 -1453.099 46.000 39.000
+ -24347224.71643 -18925420.78142 20650692.276 20650695.669 20650690.947
+ 182.905 142.523 56.000 50.000
+ -17946160.06443 -13973925.40642 21408346.446 21408350.410 21408345.102
+ -150.973 -117.641 56.000 49.000
+ -12598721.89343 -9806896.96742 22834335.704 22834337.849 22834334.573
+ 2556.059 1991.734 51.000 44.000
+ -2482832.00943 -1890093.86942 24995369.887 24995373.038 24995369.670
+ 2528.078 1969.931 42.000 35.000
+ -22805126.56743 -17754911.17642 20369881.175 20369883.843 20369879.988
+ 857.180 667.932 55.000 51.000
+ 2808938.06243 2235895.12642 25151653.291 25151659.359 25151651.581
+ -2089.008 -1627.798 45.000 37.000
+ -1208233.09843 -894932.87042 24716377.942 24716382.917 24716378.192
+ -2163.435 -1685.793 42.000 37.000
+ -24572035.49843 -19089104.87142 20595383.319 20595386.522 20595381.637
+ -942.828 -734.671 56.000 49.000
+ 04 2 1 22 14 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3426969.07943 -2611532.54742 24153582.616 24153585.893 24153579.944
+ -2608.691 -2032.746 46.000 38.000
+ -8711108.69043 -6782870.98042 21464222.580 21464223.576 21464221.595
+ -1738.404 -1354.600 55.000 48.000
+ -6353482.08843 -4882916.80942 24136332.965 24136337.358 24136331.685
+ -1870.327 -1457.398 47.000 40.000
+ -24352432.23943 -18929478.62242 20649700.849 20649705.014 20649699.719
+ 163.373 127.304 56.000 50.000
+ -17941551.85943 -13970334.61742 21409223.614 21409226.894 21409222.280
+ -157.275 -122.552 56.000 49.000
+ -12675236.46143 -9866518.72942 22819774.195 22819778.248 22819773.220
+ 2543.736 1982.132 50.000 44.000
+ -2558800.16843 -1949289.83442 24980913.753 24980919.418 24980911.967
+ 2535.210 1975.488 44.000 36.000
+ -22830562.79743 -17774731.62542 20365041.147 20365043.544 20365039.681
+ 837.699 652.752 55.000 51.000
+ 2871563.62343 2284694.19642 25163571.167 25163576.392 25163571.538
+ -2086.597 -1625.920 45.000 37.000
+ -1143402.39243 -844415.53442 24728715.423 24728718.914 24728712.670
+ -2158.860 -1682.228 41.000 36.000
+ -24543641.24343 -19066979.50642 20600785.872 20600790.146 20600784.455
+ -950.984 -741.026 55.000 49.000
+ 04 2 1 22 15 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3348772.72043 -2550600.35742 24168463.672 24168466.718 24168460.798
+ -2605.241 -2030.058 47.000 38.000
+ -8658920.49343 -6742204.88542 21474153.479 21474154.941 21474152.648
+ -1741.562 -1357.061 55.000 48.000
+ -6297303.20543 -4839141.13242 24147023.147 24147026.899 24147022.006
+ -1875.342 -1461.305 47.000 40.000
+ -24357062.27343 -18933086.46942 20648819.904 20648823.870 20648818.926
+ 144.509 112.604 56.000 50.000
+ -17936765.18643 -13966604.75942 21410134.644 21410138.302 21410133.216
+ -162.681 -126.764 56.000 49.000
+ -12751385.10243 -9925855.34142 22805283.820 22805287.462 22805282.007
+ 2531.866 1972.883 50.000 44.000
+ -2634993.35943 -2008661.12142 24966413.380 24966419.619 24966411.822
+ 2543.623 1982.044 44.000 36.000
+ -22855417.75043 -17794099.13042 20360311.117 20360313.579 20360309.952
+ 818.700 637.948 55.000 51.000
+ 2934098.05543 2333422.26142 25175471.315 25175476.111 25175469.518
+ -2082.956 -1623.082 44.000 37.000
+ -1078730.98443 -794022.31842 24741022.262 24741026.372 24741021.646
+ -2153.071 -1677.718 41.000 36.000
+ -24515008.39043 -19044668.21442 20606234.528 20606238.561 20606233.395
+ -958.481 -746.868 56.000 49.000
+ 04 2 1 22 15 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3270667.34943 -2489739.14342 24183325.518 24183328.863 24183324.304
+ -2602.252 -2027.729 46.000 39.000
+ -8606624.73943 -6701454.98242 21484105.262 21484106.611 21484104.574
+ -1745.170 -1359.873 55.000 48.000
+ -6240958.26343 -4795236.05842 24157746.210 24157748.694 24157744.381
+ -1881.125 -1465.812 48.000 40.000
+ -24361116.87243 -18936245.92142 20648048.299 20648052.100 20648047.329
+ 125.324 97.655 56.000 50.000
+ -17931800.73143 -13962736.38342 21411079.439 21411082.979 21411077.929
+ -168.763 -131.504 56.000 49.000
+ -12827167.63243 -9984906.66942 22790863.415 22790867.533 22790861.351
+ 2519.725 1963.422 50.000 44.000
+ -2711411.52043 -2068207.73242 24951873.752 24951875.762 24951870.342
+ 2550.822 1987.653 46.000 37.000
+ -22879692.93743 -17813014.87342 20355691.797 20355694.132 20355690.801
+ 799.287 622.821 55.000 51.000
+ 2996536.77743 2382075.73042 25187351.814 25187360.647 25187351.701
+ -2079.815 -1620.635 40.000 36.000
+ -1014223.41743 -743756.71042 24753298.644 24753301.883 24753295.998
+ -2148.073 -1673.823 41.000 37.000
+ -24486140.87643 -19022174.07342 20611728.387 20611731.902 20611726.840
+ -966.407 -753.044 56.000 49.000
+ 04 2 1 22 16 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3192656.00343 -2428951.19342 24198170.697 24198175.042 24198169.927
+ -2599.239 -2025.381 46.000 39.000
+ -8554224.95943 -6660624.01842 21494076.594 21494077.211 21494075.386
+ -1748.777 -1362.683 55.000 48.000
+ -6184448.65743 -4751202.67242 24168498.079 24168502.715 24168498.243
+ -1886.541 -1470.032 47.000 40.000
+ -24364597.53543 -18938958.15142 20647385.939 20647390.062 20647384.867
+ 106.025 82.617 56.000 50.000
+ -17926658.97743 -13958729.85242 21412057.761 21412061.412 21412056.262
+ -174.698 -136.128 56.000 49.000
+ -12902583.51643 -10043672.30442 22776512.374 22776515.825 22776511.576
+ 2507.138 1953.614 51.000 44.000
+ -2788054.46743 -2127929.48942 24937286.281 24937292.423 24937285.858
+ 2558.044 1993.281 45.000 38.000
+ -22903389.48743 -17831479.73242 20351182.918 20351185.068 20351181.674
+ 779.784 607.624 56.000 51.000
+ 3058875.46143 2430651.25642 25199215.738 25199222.754 25199214.559
+ -2076.777 -1618.268 43.000 37.000
+ -949883.73843 -693621.96342 24765540.785 24765543.858 24765537.514
+ -2142.089 -1669.160 41.000 37.000
+ -24457042.14643 -18999499.76642 20617265.431 20617269.798 20617264.211
+ -974.249 -759.155 56.000 49.000
+ 04 2 1 22 16 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3114736.68043 -2368234.89942 24212996.945 24213002.658 24212997.906
+ -2595.704 -2022.626 45.000 38.000
+ -8501720.26343 -6619711.30142 21504067.828 21504069.620 21504067.318
+ -1751.837 -1365.068 55.000 48.000
+ -6127771.73843 -4707038.94042 24179285.510 24179289.588 24179282.886
+ -1892.093 -1474.358 48.000 40.000
+ -24367502.19843 -18941221.55342 20646832.928 20646837.278 20646832.073
+ 87.267 68.000 56.000 50.000
+ -17921336.58543 -13954582.56942 21413070.537 21413074.390 21413069.257
+ -180.370 -140.548 56.000 49.000
+ -12977628.22543 -10102148.71842 22762232.737 22762235.298 22762229.647
+ 2495.163 1944.283 50.000 44.000
+ -2864918.06443 -2187823.18742 24922660.034 24922664.120 24922658.796
+ 2565.808 1999.331 46.000 38.000
+ -22926504.44943 -17849491.39542 20346783.921 20346786.501 20346782.864
+ 760.821 592.848 56.000 51.000
+ 3121113.74643 2479148.60042 25211059.235 25211064.945 25211057.271
+ -2072.929 -1615.269 43.000 37.000
+ -885712.00643 -643618.08942 24777750.259 24777757.331 24777751.123
+ -2136.012 -1664.425 42.000 37.000
+ -24427711.67443 -18976644.88142 20622846.847 20622851.137 20622845.498
+ -981.499 -764.804 55.000 49.000
+ 04 2 1 22 17 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -3036913.45343 -2307593.52142 24227806.741 24227812.149 24227805.617
+ -2592.798 -2020.362 46.000 39.000
+ -8449115.84943 -6578720.89242 21514077.805 21514079.269 21514077.313
+ -1755.597 -1367.998 55.000 48.000
+ -6070930.38743 -4662747.05242 24190102.087 24190105.144 24190100.869
+ -1898.042 -1478.994 49.000 41.000
+ -24369834.02243 -18943038.58442 20646389.874 20646393.523 20646388.590
+ 67.673 52.732 56.000 50.000
+ -17915835.31643 -13950295.89642 21414117.052 21414121.313 21414115.871
+ -186.849 -145.597 56.000 49.000
+ -13052302.72043 -10160336.64742 22748021.832 22748025.725 22748019.193
+ 2482.457 1934.382 50.000 44.000
+ -2942003.65643 -2247889.85042 24907991.768 24907995.270 24907991.187
+ 2572.801 2004.780 46.000 38.000
+ -22949040.37243 -17867051.86242 20342495.745 20342498.070 20342494.437
+ 741.045 577.438 56.000 51.000
+ 3183245.73743 2527563.10042 25222881.600 25222888.753 25222880.628
+ -2069.883 -1612.896 43.000 37.000
+ -821713.57443 -593749.30642 24789931.451 24789935.849 24789929.803
+ -2130.921 -1660.458 43.000 37.000
+ -24398154.52743 -18953613.37142 20628471.512 20628475.983 20628470.300
+ -989.479 -771.022 55.000 49.000
+ 04 2 1 22 17 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2959180.23243 -2247022.24942 24242600.390 24242603.799 24242599.164
+ -2589.514 -2017.803 47.000 39.000
+ -8396406.08543 -6537648.38342 21524108.391 21524110.234 21524107.024
+ -1758.619 -1370.352 55.000 48.000
+ -6013917.02243 -4618321.13342 24200950.743 24200956.313 24200950.575
+ -1903.004 -1482.860 47.000 40.000
+ -24371586.08743 -18944403.86042 20646056.155 20646059.936 20646055.136
+ 48.869 38.080 56.000 50.000
+ -17910146.75643 -13945863.28642 21415199.925 21415203.775 21415198.295
+ -192.634 -150.104 56.000 49.000
+ -13126597.66943 -10218228.81542 22733883.565 22733887.244 22733882.374
+ 2470.222 1924.848 50.000 44.000
+ -3019302.04443 -2308122.32842 24893283.482 24893286.746 24893281.925
+ 2580.348 2010.661 47.000 39.000
+ -22970989.75943 -17884155.28842 20338318.573 20338321.156 20338317.745
+ 721.994 562.593 55.000 51.000
+ 3245275.91143 2575898.25342 25234683.677 25234691.375 25234684.617
+ -2065.859 -1609.760 43.000 36.000
+ -757883.98743 -544012.03842 24802077.205 24802083.504 24802075.916
+ -2124.271 -1655.276 42.000 37.000
+ -24368365.39843 -18930401.09242 20634140.303 20634143.675 20634139.098
+ -996.570 -776.548 56.000 49.000
+ 04 2 1 22 18 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2881540.86843 -2186524.14342 24257372.793 24257376.545 24257372.603
+ -2586.876 -2015.747 46.000 38.000
+ -8343595.64043 -6496497.42042 21534158.373 21534159.250 21534157.554
+ -1762.412 -1373.308 55.000 48.000
+ -5956734.74543 -4573763.57542 24211832.362 24211835.020 24211831.783
+ -1909.348 -1487.804 48.000 39.000
+ -24372761.69843 -18945319.94942 20645832.909 20645836.443 20645831.444
+ 29.214 22.764 56.000 50.000
+ -17904273.08843 -13941286.43142 21416317.855 21416321.237 21416315.981
+ -199.269 -155.274 56.000 49.000
+ -13200514.18843 -10275826.11542 22719818.296 22719820.988 22719816.913
+ 2457.015 1914.557 51.000 44.000
+ -3096814.80143 -2368521.84542 24878532.379 24878537.894 24878531.780
+ 2587.042 2015.877 46.000 39.000
+ -22992355.41243 -17900803.85542 20334253.372 20334255.566 20334252.128
+ 702.099 547.090 56.000 51.000
+ 3307198.61043 2624149.62642 25246469.300 25246474.928 25246468.466
+ -2062.403 -1607.067 43.000 37.000
+ -694228.65143 -494410.54042 24814189.517 24814195.838 24814189.945
+ -2119.427 -1651.501 42.000 37.000
+ -24338349.37043 -18907012.01442 20639852.192 20639855.738 20639850.799
+ -1004.634 -782.832 55.000 49.000
+ 04 2 1 22 18 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2803996.25443 -2126099.84542 24272130.938 24272133.411 24272129.714
+ -2582.952 -2012.690 46.000 38.000
+ -8290686.37143 -6455269.46042 21544226.363 21544227.897 21544225.314
+ -1765.101 -1375.403 55.000 48.000
+ -5899383.55943 -4529074.40942 24222744.870 24222748.649 24222743.724
+ -1914.288 -1491.653 47.000 40.000
+ -24373361.30743 -18945787.20142 20645718.632 20645722.598 20645717.518
+ 10.587 8.250 56.000 50.000
+ -17898213.17143 -13936564.44842 21417470.452 21417474.751 21417469.310
+ -204.835 -159.612 56.000 49.000
+ -13274050.06243 -10333126.81342 22705823.883 22705829.227 22705823.393
+ 2445.057 1905.239 50.000 44.000
+ -3174540.05043 -2429086.93742 24863740.458 24863745.417 24863740.658
+ 2594.465 2021.661 46.000 39.000
+ -23013137.14743 -17916997.42342 20330298.583 20330301.019 20330297.313
+ 683.275 532.422 56.000 51.000
+ 3369011.07243 2672315.14842 25258230.618 25258238.546 25258230.345
+ -2058.264 -1603.842 43.000 36.000
+ -630749.98643 -444946.70942 24826268.982 24826273.246 24826268.290
+ -2112.723 -1646.278 42.000 37.000
+ -24308108.24643 -18883447.52742 20645607.110 20645610.509 20645605.676
+ -1011.653 -788.301 56.000 49.000
+ 04 2 1 22 19 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2726547.95243 -2065750.60742 24286867.539 24286870.632 24286867.375
+ -2580.061 -2010.437 45.000 39.000
+ -8237680.60043 -6413966.29642 21554313.130 21554314.583 21554311.615
+ -1768.632 -1378.155 55.000 48.000
+ -5841863.95943 -4484254.02342 24233691.816 24233694.881 24233690.142
+ -1920.365 -1496.388 47.000 39.000
+ -24373386.03243 -18945806.49442 20645713.888 20645717.676 20645712.646
+ -8.873 -6.914 56.000 50.000
+ -17891966.53143 -13931696.96542 21418659.530 21418663.412 21418657.971
+ -211.487 -164.795 56.000 49.000
+ -13347204.13143 -10390130.01342 22691903.140 22691907.965 22691902.495
+ 2431.915 1894.999 50.000 44.000
+ -3252476.76943 -2489816.80142 24848910.410 24848916.304 24848908.452
+ 2601.158 2026.876 44.000 38.000
+ -23033335.38743 -17932736.31942 20326455.087 20326457.364 20326453.698
+ 663.379 516.919 56.000 51.000
+ 3430709.90943 2720392.08142 25269973.528 25269979.112 25269973.093
+ -2055.039 -1601.329 43.000 36.000
+ -567451.10043 -395622.98242 24838314.009 24838320.068 24838313.330
+ -2107.094 -1641.891 41.000 37.000
+ -24277644.90043 -18859709.88242 20651403.558 20651407.612 20651402.670
+ -1019.257 -794.226 56.000 49.000
+ 04 2 1 22 19 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2649195.28043 -2005475.91742 24301587.580 24301592.673 24301586.567
+ -2576.168 -2007.404 44.000 39.000
+ -8184578.45043 -6372588.03342 21564418.155 21564419.377 21564417.225
+ -1770.983 -1379.987 55.000 48.000
+ -5784173.95343 -4439300.84342 24244668.722 24244670.310 24244669.383
+ -1925.283 -1500.220 45.000 38.000
+ -24372834.29143 -18945376.59242 20645818.334 20645822.786 20645817.488
+ -27.334 -21.299 56.000 50.000
+ -17885530.46643 -13926681.88442 21419884.522 21419888.446 21419882.901
+ -217.043 -169.124 56.000 49.000
+ -13419972.65443 -10446832.77142 22678056.422 22678059.565 22678054.438
+ 2419.767 1885.533 50.000 45.000
+ -3330620.89643 -2550708.28442 24834038.866 24834045.999 24834039.301
+ 2609.270 2033.197 44.000 38.000
+ -23052948.10343 -17948018.96342 20322722.542 20322724.825 20322721.523
+ 644.593 502.280 56.000 51.000
+ 3492294.08043 2768379.66742 25281692.708 25281698.616 25281691.502
+ -2050.712 -1597.957 42.000 36.000
+ -504333.06343 -346440.19842 24850325.620 24850330.779 24850324.454
+ -2100.488 -1636.744 42.000 37.000
+ -24246959.48743 -18835799.19842 20657242.858 20657246.911 20657241.619
+ -1025.880 -799.387 55.000 49.000
+ 04 2 1 22 20 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2571940.61143 -1945277.59042 24316289.886 24316294.321 24316289.155
+ -2572.917 -2004.870 46.000 39.000
+ -8131383.06043 -6331137.11942 21574540.222 21574542.110 21574539.816
+ -1774.188 -1382.484 55.000 48.000
+ -5726314.87343 -4394215.91742 24255679.207 24255685.336 24255678.094
+ -1931.191 -1504.824 46.000 38.000
+ -24371707.66443 -18944498.72942 20646033.094 20646037.115 20646031.851
+ -46.550 -36.273 56.000 50.000
+ -17878905.31343 -13921519.45242 21421145.312 21421148.945 21421143.625
+ -223.551 -174.195 56.000 49.000
+ -13492355.06143 -10503234.64742 22664281.736 22664286.371 22664280.484
+ 2406.745 1875.386 50.000 45.000
+ -3408972.57443 -2611761.51942 24819131.505 24819136.278 24819130.440
+ 2615.594 2038.125 45.000 39.000
+ -23071976.49643 -17962846.28942 20319101.578 20319104.346 20319100.517
+ 625.039 487.043 55.000 51.000
+ 3553759.22643 2816274.51642 25293387.469 25293390.399 25293384.787
+ -2045.881 -1594.193 41.000 35.000
+ -441399.73843 -297401.31342 24862303.015 24862305.819 24862301.812
+ -2094.117 -1631.779 41.000 36.000
+ -24216055.25043 -18811718.00342 20663124.011 20663128.171 20663122.563
+ -1033.411 -805.255 56.000 49.000
+ 04 2 1 22 20 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2494783.01343 -1885154.90242 24330972.436 24330975.360 24330970.982
+ -2570.492 -2002.981 46.000 39.000
+ -8078094.70643 -6289613.76042 21584680.862 21584682.515 21584680.066
+ -1777.899 -1385.376 55.000 48.000
+ -5668285.42243 -4348998.23542 24266722.490 24266727.241 24266722.003
+ -1937.307 -1509.590 47.000 39.000
+ -24370005.45544 -18943172.35742 20646357.690 20646361.123 20646356.553
+ -66.377 -51.722 57.000 50.000
+ -17872088.51943 -13916207.69242 21422442.240 21422446.089 21422440.802
+ -230.504 -179.613 56.000 49.000
+ -13564347.86243 -10559332.94642 22650582.088 22650585.071 22650581.289
+ 2393.174 1864.811 51.000 45.000
+ -3487528.29143 -2672973.74442 24804180.597 24804187.718 24804180.658
+ 2621.759 2042.929 43.000 38.000
+ -23090419.10343 -17977217.15642 20315592.121 20315594.855 20315591.065
+ 604.888 471.341 55.000 51.000
+ 3615104.26843 2864075.74842 25305060.866 25305066.149 25305061.347
+ -2042.148 -1591.284 42.000 35.000
+ -378651.98843 -248507.03942 24874244.948 24874248.406 24874243.079
+ -2088.105 -1627.095 43.000 36.000
+ -24184932.85043 -18787466.80742 20669046.297 20669050.166 20669045.053
+ -1041.113 -811.257 56.000 49.000
+ 04 2 1 22 21 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2417727.27143 -1825111.55842 24345634.877 24345638.620 24345632.915
+ -2567.232 -2000.440 45.000 39.000
+ -8024718.83743 -6248022.21342 21594838.395 21594839.906 21594837.489
+ -1780.974 -1387.772 55.000 48.000
+ -5610088.82243 -4303650.32142 24277797.878 24277802.638 24277795.718
+ -1943.246 -1514.218 46.000 39.000
+ -24367731.88643 -18941400.76842 20646789.944 20646793.705 20646788.990
+ -85.629 -66.724 56.000 50.000
+ -17865082.53643 -13910748.51742 21423775.410 21423779.431 21423773.903
+ -236.998 -184.674 56.000 49.000
+ -13635952.81843 -10615129.04242 22636956.484 22636960.385 22636955.025
+ 2380.049 1854.584 51.000 45.000
+ -3566289.99143 -2734346.45442 24789194.579 24789198.589 24789192.627
+ 2628.532 2048.207 45.000 39.000
+ -23108279.45243 -17991134.31842 20312193.567 20312195.795 20312192.366
+ 585.360 456.125 55.000 51.000
+ 3676322.71143 2911778.35742 25316711.435 25316714.980 25316709.077
+ -2038.472 -1588.420 42.000 35.000
+ -316095.74443 -199762.03742 24886145.538 24886152.614 24886146.129
+ -2081.978 -1622.320 42.000 36.000
+ -24153597.83243 -18763049.93942 20675008.987 20675012.791 20675007.804
+ -1048.323 -816.875 55.000 49.000
+ 04 2 1 22 21 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2340767.79743 -1765143.26342 24360280.394 24360284.177 24360278.647
+ -2564.269 -1998.132 45.000 38.000
+ -7971250.63843 -6206358.71642 21605012.685 21605014.569 21605012.015
+ -1784.262 -1390.334 55.000 48.000
+ -5551719.14143 -4258167.57342 24288904.806 24288908.073 24288903.869
+ -1949.005 -1518.705 46.000 39.000
+ -24364881.00743 -18939179.33542 20647332.382 20647336.271 20647331.344
+ -105.149 -81.934 56.000 50.000
+ -17857879.92243 -13905136.11542 21425146.070 21425150.156 21425144.880
+ -243.776 -189.955 56.000 49.000
+ -13707161.51143 -10670616.34742 22623405.025 22623408.921 22623404.529
+ 2366.643 1844.137 51.000 45.000
+ -3645249.57743 -2795873.38542 24774167.936 24774174.261 24774167.634
+ 2634.922 2053.186 45.000 39.000
+ -23125550.86943 -18004592.58042 20308906.743 20308909.109 20308905.505
+ 565.421 440.588 56.000 51.000
+ 3737418.32343 2959385.29442 25328336.868 25328343.202 25328336.961
+ -2035.356 -1585.992 43.000 35.000
+ -253727.21843 -151163.25442 24898018.007 24898019.464 24898012.966
+ -2076.216 -1617.831 43.000 36.000
+ -24122045.83843 -18738463.99642 20681013.425 20681016.982 20681012.269
+ -1055.831 -822.725 56.000 49.000
+ 04 2 1 22 22 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2263904.87643 -1705250.16842 24374907.067 24374908.013 24374905.070
+ -2560.259 -1995.007 45.000 37.000
+ -7917691.43443 -6164624.30742 21615205.155 21615206.510 21615203.973
+ -1786.698 -1392.232 55.000 48.000
+ -5493175.55743 -4212549.27342 24300045.571 24300050.755 24300043.868
+ -1954.475 -1522.967 45.000 38.000
+ -24361452.72243 -18936507.97642 20647984.643 20647988.697 20647983.622
+ -123.842 -96.500 56.000 50.000
+ -17850479.21943 -13899369.37342 21426554.423 21426558.643 21426552.988
+ -249.839 -194.680 56.000 49.000
+ -13777971.46043 -10725792.94442 22609931.922 22609934.463 22609930.392
+ 2353.719 1834.067 51.000 45.000
+ -3724404.21343 -2857552.29842 24759103.836 24759110.723 24759103.363
+ 2641.806 2058.550 44.000 38.000
+ -23142232.72943 -18017591.43942 20305732.303 20305734.863 20305731.323
+ 546.312 425.698 55.000 51.000
+ 3798388.80643 3006894.71842 25339939.984 25339946.262 25339939.816
+ -2030.172 -1581.952 43.000 35.000
+ -191548.10043 -102712.07042 24909849.402 24909851.875 24909847.966
+ -2069.515 -1612.609 41.000 35.000
+ -24090278.22043 -18713710.03742 20687058.733 20687062.565 20687057.249
+ -1062.355 -827.809 55.000 49.000
+ 04 2 1 22 22 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2187145.81243 -1645437.98042 24389513.333 24389516.470 24389513.411
+ -2557.101 -1992.546 45.000 38.000
+ -7864049.15943 -6122825.16542 21625413.421 21625414.927 21625412.614
+ -1789.408 -1394.344 55.000 48.000
+ -5434464.22643 -4166800.26142 24311218.564 24311223.416 24311216.347
+ -1959.789 -1527.108 45.000 38.000
+ -24357453.84543 -18933391.99342 20648745.614 20648749.526 20648744.398
+ -142.779 -111.256 56.000 50.000
+ -17842885.46543 -13893452.20142 21427999.504 21428003.420 21427997.955
+ -256.362 -199.762 56.000 49.000
+ -13848387.07543 -10780662.25542 22596531.677 22596535.164 22596530.800
+ 2340.549 1823.804 51.000 45.000
+ -3803758.47943 -2919386.76642 24744003.082 24744011.854 24744004.181
+ 2648.310 2063.618 44.000 39.000
+ -23158331.41543 -18030135.88042 20302669.092 20302671.411 20302667.714
+ 526.898 410.570 55.000 51.000
+ 3859225.31443 3054299.71642 25351517.500 25351520.181 25351515.044
+ -2025.540 -1578.343 44.000 35.000
+ -129567.33843 -54415.42442 24921639.839 24921647.766 24921640.737
+ -2062.624 -1607.239 40.000 35.000
+ -24058303.18543 -18688794.45642 20693142.675 20693146.844 20693141.586
+ -1069.262 -833.191 55.000 49.000
+ 04 2 1 22 23 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2110485.13843 -1585702.49042 24404102.450 24404104.239 24404100.119
+ -2553.594 -1989.813 45.000 38.000
+ -7810319.18843 -6080957.69342 21635637.507 21635639.060 21635636.332
+ -1792.594 -1396.826 55.000 48.000
+ -5375578.82643 -4120915.61642 24322421.727 24322429.881 24322421.552
+ -1965.833 -1531.818 43.000 38.000
+ -24352878.79643 -18929827.05242 20649616.097 20649620.360 20649615.249
+ -162.246 -126.425 56.000 50.000
+ -17835091.51543 -13887379.01942 21429482.470 21429486.733 21429481.310
+ -263.306 -205.173 56.000 49.000
+ -13918400.18543 -10835217.93942 22583208.943 22583211.741 22583207.834
+ 2326.771 1813.068 51.000 45.000
+ -3883304.64143 -2981370.75642 24728867.581 24728873.579 24728866.869
+ 2654.456 2068.407 46.000 39.000
+ -23173840.66043 -18042221.01542 20299717.412 20299720.198 20299716.266
+ 506.987 395.055 56.000 51.000
+ 3919931.07943 3101602.82942 25363070.186 25363077.324 25363068.393
+ -2021.378 -1575.100 45.000 34.000
+ -67781.20243 -6270.46942 24933400.677 24933405.437 24933397.667
+ -2056.566 -1602.519 40.000 35.000
+ -24026116.58643 -18663714.00942 20699268.192 20699272.385 20699267.421
+ -1076.528 -838.853 56.000 49.000
+ 04 2 1 22 23 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -2033926.44543 -1526046.48142 24418670.547 24418674.165 24418669.153
+ -2550.277 -1987.229 44.000 38.000
+ -7756506.46543 -6039025.73242 21645877.466 21645879.599 21645877.133
+ -1794.872 -1398.601 55.000 48.000
+ -5316522.27043 -4074897.63942 24333659.404 24333662.234 24333659.548
+ -1971.367 -1536.130 44.000 37.000
+ -24347731.30943 -18925816.05142 20650596.032 20650599.503 20650594.671
+ -180.903 -140.963 56.000 50.000
+ -17827099.44143 -13881151.46342 21431003.426 21431007.396 21431001.840
+ -269.489 -209.991 56.000 49.000
+ -13988011.99843 -10889460.92542 22569962.064 22569965.598 22569961.119
+ 2313.764 1802.933 51.000 45.000
+ -3963043.73743 -3043505.12142 24713694.223 24713699.227 24713691.961
+ 2661.577 2073.956 45.000 39.000
+ -23188763.54243 -18053849.24842 20296877.848 20296880.329 20296876.813
+ 487.930 380.205 56.000 51.000
+ 3980500.44643 3148799.67642 25374594.885 25374600.595 25374594.478
+ -2016.115 -1570.999 44.000 34.000
+ -6195.07943 41718.59842 24945120.517 24945124.142 24945117.870
+ -2049.016 -1596.636 40.000 34.000
+ -23993723.32743 -18638472.53242 20705432.422 20705436.345 20705431.040
+ -1082.980 -843.880 55.000 49.000
+ 04 2 1 22 24 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -1957468.32143 -1466468.82342 24433220.572 24433224.552 24433219.961
+ -2547.005 -1984.679 44.000 38.000
+ -7702610.22343 -5997028.70342 21656133.908 21656135.232 21656132.711
+ -1797.808 -1400.889 55.000 48.000
+ -5257292.69143 -4028744.78742 24344931.520 24344934.137 24344932.071
+ -1977.135 -1540.625 45.000 38.000
+ -24342009.70043 -18921357.68142 20651684.459 20651688.765 20651683.349
+ -200.280 -156.062 56.000 50.000
+ -17818905.94543 -13874766.94242 21432562.761 21432566.690 21432561.246
+ -276.420 -215.392 56.000 49.000
+ -14057218.35643 -10943387.97442 22556791.533 22556796.785 22556790.877
+ 2300.111 1792.294 51.000 45.000
+ -4042971.52743 -3105786.47442 24698484.053 24698489.120 24698482.623
+ 2667.206 2078.342 46.000 39.000
+ -23203097.82043 -18065018.82842 20294150.176 20294152.526 20294148.993
+ 468.156 364.797 55.000 51.000
+ 4040932.99743 3195889.95042 25386095.506 25386098.082 25386093.528
+ -2011.796 -1567.633 45.000 35.000
+ 55190.95143 89551.79442 24956802.908 24956807.520 24956802.514
+ -2043.138 -1592.055 39.000 34.000
+ -23961123.09943 -18613069.78542 20711635.884 20711640.017 20711634.497
+ -1090.015 -849.362 55.000 49.000
+ 04 2 1 22 24 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -1881116.26243 -1406973.85742 24447749.682 24447752.169 24447749.132
+ -2543.898 -1982.258 44.000 38.000
+ -7648636.92343 -5954971.62442 21666404.478 21666406.438 21666403.602
+ -1800.903 -1403.301 55.000 48.000
+ -5197894.66743 -3982460.67542 24356236.459 24356238.745 24356234.759
+ -1983.377 -1545.488 44.000 37.000
+ -24335719.45343 -18916456.22042 20652881.872 20652885.693 20652880.766
+ -219.683 -171.181 56.000 50.000
+ -17810514.68943 -13868228.33742 21434159.487 21434163.992 21434158.258
+ -283.521 -220.925 56.000 49.000
+ -14126022.07443 -10997001.27242 22543699.042 22543703.491 22543697.671
+ 2286.019 1781.314 51.000 45.000
+ -4123090.99743 -3168217.21942 24683238.690 24683243.970 24683237.915
+ 2672.911 2082.788 46.000 39.000
+ -23216848.22843 -18075733.44142 20291533.662 20291535.815 20291532.397
+ 448.142 349.202 56.000 51.000
+ 4101221.33543 3242867.77242 25397566.311 25397576.187 25397565.482
+ -2007.484 -1564.273 41.000 35.000
+ 116369.65143 137223.46342 24968443.073 24968445.804 24968443.693
+ -2035.881 -1586.401 38.000 34.000
+ -23928322.60343 -18587510.98342 20717877.641 20717881.627 20717876.441
+ -1097.103 -854.885 55.000 49.000
+ 04 2 1 22 25 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -1804863.60743 -1347556.31042 24462260.164 24462264.889 24462259.889
+ -2540.412 -1979.542 45.000 38.000
+ -7594580.27143 -5912849.59842 21676691.672 21676693.071 21676691.083
+ -1803.631 -1405.427 55.000 48.000
+ -5138320.03543 -3936039.01842 24367571.932 24367573.886 24367568.947
+ -1989.206 -1550.031 43.000 36.000
+ -24328852.98043 -18911105.75542 20654188.570 20654192.344 20654187.648
+ -238.743 -186.033 56.000 50.000
+ -17801916.45843 -13861528.45442 21435795.454 21435799.285 21435793.919
+ -290.264 -226.180 55.000 49.000
+ -14194413.12943 -11050293.01742 22530684.448 22530687.999 22530683.524
+ 2272.505 1770.783 51.000 45.000
+ -4203391.96543 -3230789.40642 24667955.807 24667960.792 24667955.479
+ 2679.431 2087.868 45.000 39.000
+ -23230006.95543 -18085987.00042 20289029.284 20289031.685 20289028.473
+ 428.475 333.877 55.000 51.000
+ 4161370.91843 3289737.53642 25409012.987 25409019.758 25409012.482
+ -2002.444 -1560.346 43.000 35.000
+ -4548913.01653 -3498061.78852 24980044.731 24980048.272 24980040.767
+ -2029.457 -1581.395 37.000 32.000
+ -23895315.68743 -18561791.32442 20724158.664 20724162.683 20724157.461
+ -1103.974 -860.239 55.000 49.000
+ 04 2 1 22 25 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -1728713.13243 -1288218.37842 24476750.240 24476756.059 24476750.008
+ -2536.441 -1976.447 45.000 38.000
+ -7540444.20443 -5870665.68842 21686993.492 21686994.895 21686992.463
+ -1805.752 -1407.079 55.000 48.000
+ -5078571.09043 -3889481.48642 24378941.823 24378945.275 24378941.551
+ -1994.547 -1554.192 42.000 37.000
+ -24321413.53743 -18905308.81242 20655604.132 20655608.202 20655603.120
+ -257.454 -200.613 56.000 50.000
+ -17793112.56343 -13854668.31542 21437470.888 21437474.581 21437469.582
+ -296.792 -231.266 56.000 49.000
+ -14262392.16243 -11103263.70042 22517749.416 22517752.429 22517748.448
+ 2259.257 1760.460 51.000 45.000
+ -4283874.67943 -3293503.16242 24652642.418 24652646.997 24652641.046
+ 2686.068 2093.040 47.000 39.000
+ -23242576.51843 -18095781.47842 20286637.404 20286639.972 20286636.370
+ 409.317 318.948 56.000 51.000
+ 4221376.67143 3336495.23442 25420432.629 25420436.680 25420431.589
+ -1997.678 -1556.632 42.000 35.000
+ -4488142.12953 -3450707.88952 24991610.998 24991614.616 24991612.732
+ -2021.924 -1575.525 38.000 33.000
+ -23862106.70643 -18535914.21642 20730478.430 20730482.155 20730476.790
+ -1110.223 -865.109 55.000 49.000
+ 04 2 1 22 26 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -1652667.99843 -1228962.51942 24491220.621 24491225.945 24491220.544
+ -2532.656 -1973.498 44.000 37.000
+ -7486232.78243 -5828423.05542 21697309.234 21697310.522 21697308.433
+ -1808.091 -1408.902 55.000 48.000
+ -5018650.43743 -3842790.12642 24390344.792 24390350.081 24390341.661
+ -1999.851 -1558.325 45.000 37.000
+ -24313404.14843 -18899067.76242 20657128.233 20657132.287 20657127.092
+ -276.087 -215.133 56.000 50.000
+ -17784104.11143 -13847648.77742 21439185.402 21439189.480 21439183.996
+ -303.290 -236.330 56.000 49.000
+ -14329959.67343 -11155913.72442 22504891.802 22504895.087 22504890.342
+ 2245.591 1749.811 52.000 45.000
+ -4364539.82743 -3356359.13142 24637291.493 24637297.341 24637290.336
+ 2691.951 2097.624 46.000 39.000
+ -23254559.36443 -18105118.76642 20284357.318 20284359.594 20284356.165
+ 389.968 303.871 55.000 51.000
+ 4281233.48543 3383136.93442 25431824.955 25431828.547 25431822.924
+ -1992.251 -1552.403 43.000 35.000
+ -4427582.23943 -3403518.46342 25003136.289 25003140.086 25003131.444
+ -2014.653 -1569.859 40.000 32.000
+ -23828699.83743 -18509882.91342 20736835.617 20736839.182 20736834.327
+ -1116.474 -869.980 55.000 49.000
+ 04 2 1 22 26 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -1576727.73343 -1169788.38842 24505672.094 24505678.389 24505670.926
+ -2529.016 -1970.662 44.000 37.000
+ -7431946.59443 -5786122.17642 21707639.733 21707640.858 21707638.831
+ -1810.246 -1410.581 55.000 48.000
+ -4958557.14443 -3795964.27442 24401781.304 24401783.073 24401780.594
+ -2005.076 -1562.397 43.000 37.000
+ -24304824.33343 -18892382.22342 20658760.743 20658764.913 20658759.764
+ -294.741 -229.668 56.000 50.000
+ -17774889.37643 -13840468.50342 21440938.884 21440943.077 21440937.481
+ -310.185 -241.702 56.000 49.000
+ -14397112.80643 -11208240.85742 22492113.545 22492115.848 22492111.923
+ 2232.022 1739.238 52.000 45.000
+ -4445384.39143 -3419354.87942 24621904.713 24621913.036 24621906.739
+ 2697.550 2101.987 45.000 39.000
+ -23265954.53043 -18113998.12742 20282188.911 20282191.408 20282187.929
+ 370.615 288.791 55.000 51.000
+ 4340939.99643 3429661.43942 25443185.063 25443191.726 25443184.122
+ -1987.050 -1548.351 41.000 35.000
+ -4367234.42153 -3356494.28052 25014619.563 25014625.737 25014611.501
+ -2008.288 -1564.900 36.000 32.000
+ -23795096.13843 -18483698.23242 20743230.026 20743233.980 20743228.503
+ -1122.866 -874.960 55.000 49.000
+ 04 2 1 22 27 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -1500888.88643 -1110693.28542 24520103.533 24520109.019 24520102.529
+ -2525.763 -1968.127 44.000 37.000
+ -7377582.59143 -5743760.65942 21717984.344 21717986.118 21717983.588
+ -1813.084 -1412.793 54.000 48.000
+ -4898286.39843 -3749000.14842 24413249.270 24413253.546 24413248.470
+ -2011.534 -1567.429 42.000 36.000
+ -24295670.45043 -18885249.36042 20660502.949 20660506.755 20660501.689
+ -314.092 -244.747 56.000 50.000
+ -17765462.87943 -13833123.20942 21442732.846 21442736.707 21442731.373
+ -317.540 -247.434 55.000 49.000
+ -14463845.11743 -11260240.07642 22479414.145 22479417.111 22479412.766
+ 2217.895 1728.230 52.000 45.000
+ -4526401.81943 -3482485.33442 24606489.646 24606496.308 24606489.811
+ 2703.792 2106.851 47.000 40.000
+ -23276757.71143 -18122416.19942 20280132.908 20280135.776 20280131.872
+ 350.655 273.238 56.000 51.000
+ 4400497.92843 3476070.11842 25454518.882 25454522.235 25454515.508
+ -1981.960 -1544.384 40.000 35.000
+ -4307096.86953 -3309633.95552 25026061.752 25026063.237 25026062.575
+ -2000.981 -1559.206 38.000 31.000
+ -23761292.93443 -18457358.09742 20749662.762 20749666.522 20749661.520
+ -1129.517 -880.143 56.000 49.000
+ 04 2 1 22 27 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G16G23
+ -1425159.46943 -1051683.45542 24534515.611 24534519.627 24534514.963
+ -2522.977 -1965.956 44.000 38.000
+ -7323150.02943 -5701345.70442 21728343.305 21728345.187 21728342.500
+ -1815.760 -1414.878 55.000 48.000
+ -4837845.93643 -3701903.82642 24424749.549 24424755.284 24424748.785
+ -2017.493 -1572.072 42.000 36.000
+ -24285951.13643 -18877675.89542 20662352.175 20662356.393 20662351.150
+ -333.550 -259.909 56.000 50.000
+ -17755831.17443 -13825618.01642 21444565.750 21444569.812 21444564.385
+ -324.678 -252.996 56.000 49.000
+ -14530162.51043 -11311915.98042 22466794.161 22466798.771 22466793.163
+ 2203.509 1717.020 52.000 45.000
+ -4607597.71843 -3545754.87642 24591039.119 24591044.409 24591038.845
+ 2709.318 2111.157 47.000 40.000
+ -23286976.89543 -18130379.20542 20278188.512 20278190.968 20278187.108
+ 330.878 257.827 55.000 51.000
+ 1309056.95353 1067155.00152 25465820.407 25465826.904 25465816.629
+ -1977.964 -1541.271 37.000 34.000
+ -3262945.05252 25037464.742 25037472.331
+ -1993.984 -1553.754 37.000 31.000
+ -23727299.74343 -18430869.91642 20756131.731 20756135.482 20756130.235
+ -1136.346 -885.464 56.000 49.000
+ 04 2 1 22 28 0.0000000 0 10G18G22G21G 3G15G31G25G14G 2G23
+ -1349533.01943 -992753.88842 24548904.108 24548910.447 24548902.654
+ -2519.527 -1963.268 41.000 37.000
+ -7268643.36143 -5658873.01642 21738715.670 21738716.798 21738714.682
+ -1818.363 -1416.906 55.000 48.000
+ -4777228.72543 -3654669.73742 24436286.181 24436291.315 24436284.678
+ -2023.711 -1576.918 42.000 36.000
+ -24275659.79143 -18869656.69742 20664311.041 20664314.712 20664309.820
+ -352.983 -275.052 56.000 50.000
+ -17745985.63343 -13817946.18842 21446438.876 21446443.540 21446437.408
+ -332.096 -258.776 56.000 49.000
+ -14596055.77343 -11363261.39342 22454254.933 22454258.522 22454254.186
+ 2188.976 1705.696 52.000 45.000
+ -4688962.94143 -3609156.30242 24575555.384 24575561.861 24575555.893
+ 2715.000 2115.584 47.000 40.000
+ -23296604.85743 -18137881.52142 20276356.174 20276358.833 20276355.161
+ 310.748 242.141 56.000 51.000
+ 1368302.08453 1113319.97452 25477097.163 25477102.278 25477095.481
+ -1972.315 -1536.869 41.000 36.000
+ -23693111.10043 -18404229.44542 20762636.664 20762641.097 20762635.547
+ -1143.280 -890.867 55.000 49.000
+ 04 2 1 22 28 30.0000000 0 10G18G22G21G 3G15G31G25G14G 2G23
+ -1274010.91143 -933905.58542 24563278.462 24563282.877 24563278.904
+ -2515.564 -1960.180 44.000 37.000
+ -7214064.90643 -5616344.39242 21749100.897 21749102.772 21749100.063
+ -1820.236 -1418.366 55.000 48.000
+ -4716435.30343 -3607298.29742 24447851.797 24447858.551 24447854.034
+ -2029.307 -1581.278 40.000 35.000
+ -24264798.23743 -18861193.18042 20666377.819 20666381.638 20666376.889
+ -371.325 -289.344 56.000 50.000
+ -17735926.20043 -13810107.69042 21448353.356 21448357.514 21448352.132
+ -338.715 -263.934 56.000 49.000
+ -14661524.06143 -11414275.65342 22441797.380 22441800.907 22441796.214
+ 2175.425 1695.136 52.000 45.000
+ -4770496.49043 -3672688.93542 24560040.355 24560045.390 24560040.422
+ 2720.665 2119.999 46.000 40.000
+ -23305642.85843 -18144924.13042 20274636.728 20274638.705 20274635.383
+ 291.602 227.222 56.000 51.000
+ 1427389.69943 1159362.22142 25488340.514 25488347.716 25488338.902
+ -1966.651 -1532.455 40.000 36.000
+ -23658729.87843 -18377438.91542 20769179.644 20769183.923 20769178.484
+ -1149.000 -895.325 55.000 49.000
+ 04 2 1 22 29 0.0000000 0 10G18G22G21G 3G15G31G25G14G 2G23
+ -1198597.96143 -875142.37542 24577628.814 24577632.529 24577627.557
+ -2513.178 -1958.320 43.000 37.000
+ -7159420.37343 -5573764.27642 21759499.337 21759501.692 21759498.685
+ -1823.547 -1420.946 54.000 48.000
+ -4655469.96943 -3559792.94342 24459453.672 24459457.552 24459452.453
+ -2036.335 -1586.754 39.000 34.000
+ -24253371.36643 -18852289.15642 20668552.506 20668556.065 20668551.406
+ -391.274 -304.889 56.000 50.000
+ -17725655.83043 -13802104.83342 21450307.994 21450312.018 21450306.680
+ -346.772 -270.212 56.000 49.000
+ -14726569.64843 -11464960.53742 22429419.211 22429422.648 22429417.830
+ 2160.188 1683.263 52.000 45.000
+ -4852200.10443 -3736354.04142 24544493.237 24544499.539 24544492.100
+ 2725.060 2123.423 46.000 40.000
+ -23314095.21543 -18151510.39042 20273028.220 20273030.451 20273026.983
+ 270.996 211.166 56.000 51.000
+ 1486313.20643 1205276.55842 25499554.765 25499558.493 25499550.899
+ -1962.453 -1529.184 39.000 35.000
+ -23624161.91043 -18350502.85442 20775757.834 20775761.819 20775756.772
+ -1156.303 -901.015 55.000 49.000
+ 04 2 1 22 29 30.0000000 0 10G18G22G21G 3G15G31G25G14G 2G23
+ -1123291.13343 -816461.82542 24591959.004 24591962.809 24591957.450
+ -2507.940 -1954.239 42.000 37.000
+ -7104707.19443 -5531130.67242 21769911.489 21769912.984 21769910.448
+ -1824.825 -1421.941 55.000 48.000
+ -4594328.85543 -3512150.62342 24471090.421 24471091.160 24471090.958
+ -2040.842 -1590.266 41.000 34.000
+ -24241376.06543 -18842942.20042 20670834.707 20670838.946 20670833.885
+ -409.232 -318.882 56.000 50.000
+ -17715169.65943 -13793933.82142 21452302.779 21452307.208 21452301.675
+ -353.139 -275.173 55.000 49.000
+ -14791186.50743 -11515311.35242 22417123.556 22417126.509 22417121.725
+ 2146.854 1672.873 52.000 45.000
+ -4934067.72543 -3800146.98942 24528914.033 24528918.469 24528912.998
+ 2731.639 2128.550 46.000 40.000
+ -23321958.17143 -18157637.38042 20271532.046 20271534.160 20271530.860
+ 252.380 196.660 56.000 51.000
+ 1545074.13243 1251064.16042 25510736.536 25510740.610 25510733.076
+ -1955.886 -1524.067 39.000 35.000
+ -23589404.95243 -18323419.54342 20782371.635 20782376.176 20782370.598
+ -1161.568 -905.118 55.000 49.000
+ 04 2 1 22 30 0.0000000 0 10G18G22G21G 3G15G31G25G14G 2G23
+ -1048091.19243 -757864.58842 24606269.234 24606273.044 24606268.678
+ -2504.948 -1951.907 43.000 37.000
+ -7049926.97243 -5488444.83342 21780335.597 21780337.547 21780334.759
+ -1827.406 -1423.953 55.000 48.000
+ -4533011.76743 -3464371.13342 24482759.744 24482761.521 24482756.447
+ -2047.014 -1595.076 42.000 34.000
+ -24228813.04243 -18833152.86642 20673225.592 20673229.650 20673224.417
+ -428.592 -333.968 56.000 50.000
+ -17704466.53143 -13785593.75042 21454339.888 21454344.219 21454338.623
+ -360.715 -281.077 56.000 49.000
+ -14855373.09243 -11565326.88342 22404909.161 22404912.570 22404908.042
+ 2131.903 1661.223 52.000 46.000
+ -5016097.52143 -3864066.29142 24513303.898 24513309.130 24513301.695
+ 2736.621 2132.432 46.000 40.000
+ -23329232.17943 -18163305.45142 20270147.679 20270150.125 20270146.612
+ 232.291 181.006 56.000 51.000
+ 1603669.95953 1296723.14852 25521884.993 25521894.793 25521884.916
+ -1950.694 -1520.021 37.000 34.000
+ -23554460.97143 -18296190.50142 20789021.284 20789025.662 20789019.961
+ -1168.145 -910.243 55.000 49.000
+ 04 2 1 22 30 30.0000000 0 9G18G22G21G 3G15G31G25G14G23
+ -972999.78643 -699351.93642 24620559.047 24620562.284 24620558.620
+ -2500.986 -1948.820 43.000 38.000
+ -6995082.63443 -5445709.02842 21790771.704 21790773.786 21790771.141
+ -1828.974 -1425.174 55.000 48.000
+ -4471520.32743 -3416455.83442 24494460.503 24494465.002 24494457.581
+ -2052.393 -1599.267 42.000 35.000
+ -24215684.77743 -18822923.08442 20675723.527 20675727.607 20675722.880
+ -446.843 -348.189 56.000 50.000
+ -17693546.56943 -13777084.70442 21456418.642 21456421.738 21456417.009
+ -367.440 -286.317 56.000 49.000
+ -14919129.07143 -11615006.88742 22392776.943 22392779.966 22392775.539
+ 2118.150 1650.506 52.000 46.000
+ -5098288.64343 -3928111.32042 24497663.967 24497668.983 24497663.386
+ 2742.616 2137.103 46.000 40.000
+ -23335919.00043 -18168515.97142 20268875.180 20268877.535 20268874.295
+ 213.310 166.216 56.000 51.000
+ -23519333.36043 -18268818.36342 20795706.079 20795710.266 20795705.041
+ -1173.679 -914.555 55.000 49.000
+ 04 2 1 22 31 0.0000000 0 9G18G22G21G 3G15G31G25G14G23
+ -898014.65343 -640922.06842 24634829.668 24634832.610 24634826.506
+ -2497.227 -1945.891 44.000 39.000
+ -6940172.76743 -5402922.16342 21801221.345 21801222.783 21801220.780
+ -1830.807 -1426.603 55.000 48.000
+ -4409851.45443 -3368402.30742 24506195.450 24506198.575 24506193.806
+ -2058.148 -1603.752 44.000 36.000
+ -24201989.09443 -18812251.15342 20678330.065 20678334.245 20678329.024
+ -465.387 -362.639 56.000 50.000
+ -17682405.82943 -13768403.63142 21458538.212 21458542.343 21458536.644
+ -374.504 -291.821 56.000 49.000
+ -14982449.53843 -11664347.51942 22380726.194 22380730.331 22380724.742
+ 2104.043 1639.514 51.000 45.000
+ -5180636.43543 -3992278.42242 24481993.258 24481996.697 24481992.541
+ 2748.178 2141.437 46.000 40.000
+ -23342015.93943 -18173266.84442 20267715.280 20267717.516 20267713.834
+ 193.964 151.141 56.000 51.000
+ -23484020.82143 -18241302.13142 20802425.730 20802430.137 20802424.610
+ -1179.519 -919.106 55.000 49.000
+ 04 2 1 22 31 30.0000000 0 9G18G22G21G 3G15G31G25G14G23
+ -823140.79843 -582578.95042 24649076.253 24649081.522 24649075.611
+ -2494.455 -1943.731 43.000 39.000
+ -6885203.21543 -5360088.78342 21811681.396 21811683.594 21811681.024
+ -1834.094 -1429.164 55.000 48.000
+ -4348009.93343 -3320214.18942 24517965.934 24517969.179 24517962.324
+ -2065.057 -1609.135 44.000 36.000
+ -24187731.76743 -18801141.57842 20681043.412 20681047.304 20681042.244
+ -485.370 -378.210 56.000 50.000
+ -17671047.84443 -13759553.28542 21460699.460 21460703.301 21460697.905
+ -383.065 -298.492 56.000 49.000
+ -15045337.31343 -11713350.99042 22368760.575 22368763.396 22368759.693
+ 2088.075 1627.071 52.000 46.000
+ -5263142.89843 -4056569.18642 24466292.312 24466297.593 24466292.096
+ 2752.027 2144.437 45.000 39.000
+ -23347527.80843 -18177561.81842 20266665.991 20266668.474 20266664.813
+ 173.195 134.957 56.000 51.000
+ -23448529.69843 -18213646.74142 20809180.093 20809183.450 20809178.754
+ -1186.882 -924.843 55.000 49.000
+ 04 2 1 22 32 0.0000000 0 9G18G22G21G 3G15G31G25G14G23
+ -748374.24143 -524319.39742 24663305.065 24663310.047 24663304.579
+ -2491.114 -1941.128 46.000 39.000
+ -6830170.61943 -5317206.27142 21822154.439 21822155.925 21822153.227
+ -1836.154 -1430.769 55.000 48.000
+ -4285990.70543 -3271887.65942 24529764.891 24529771.056 24529765.124
+ -2070.796 -1613.607 44.000 36.000
+ -24172908.80043 -18789591.25242 20683863.620 20683867.903 20683862.825
+ -504.164 -392.855 56.000 50.000
+ -17659466.61743 -13750528.97942 21462903.215 21462907.351 21462901.790
+ -390.381 -304.193 56.000 49.000
+ -15107785.84243 -11762012.18442 22356876.401 22356879.322 22356875.102
+ 2073.549 1615.752 52.000 46.000
+ -5345800.99743 -4120978.09842 24450562.636 24450568.918 24450561.808
+ 2756.993 2148.306 44.000 38.000
+ -23352450.23943 -18181397.49242 20265729.432 20265732.163 20265728.443
+ 153.660 119.735 56.000 51.000
+ -23412856.91443 -18185849.79342 20815968.462 20815972.062 20815967.023
+ -1192.708 -929.383 55.000 49.000
+ 04 2 1 22 32 30.0000000 0 9G18G22G21G 3G15G31G25G14G23
+ -673716.23643 -466144.43742 24677510.992 24677515.148 24677509.875
+ -2486.773 -1937.745 45.000 39.000
+ -6775077.12843 -5274276.32042 21832637.932 21832639.837 21832637.052
+ -1837.444 -1431.774 55.000 48.000
+ -4223794.70943 -3223423.35942 24541602.248 24541603.511 24541600.564
+ -2076.282 -1617.882 47.000 36.000
+ -24157521.96143 -18777601.53842 20686791.633 20686796.264 20686790.912
+ -522.217 -406.922 56.000 50.000
+ -17647661.84643 -13741330.49242 21465149.774 21465154.197 21465148.254
+ -397.088 -309.419 56.000 49.000
+ -15169793.95943 -11810330.21042 22345077.471 22345079.849 22345075.757
+ 2059.642 1604.916 52.000 46.000
+ -5428609.57243 -4185504.25742 24434806.121 24434810.936 24434805.389
+ 2762.786 2152.820 45.000 39.000
+ -23356784.54843 -18184774.88942 20264904.633 20264907.094 20264903.639
+ 134.803 105.041 56.000 51.000
+ -23377004.96143 -18157913.23742 20822790.630 20822794.170 20822789.411
+ -1198.041 -933.538 55.000 49.000
+ 04 2 1 22 33 0.0000000 0 9G18G22G21G 3G15G31G25G14G23
+ -599168.31543 -408055.26242 24691698.755 24691701.322 24691696.734
+ -2482.602 -1934.495 45.000 39.000
+ -6719925.64043 -5231301.17742 21843132.941 21843134.622 21843132.036
+ -1839.137 -1433.094 55.000 47.000
+ -4161423.31343 -3174822.25742 24553471.889 24553474.916 24553470.265
+ -2081.868 -1622.235 46.000 37.000
+ -24141573.58643 -18765174.26542 20689826.637 20689830.858 20689825.666
+ -540.677 -421.307 56.000 50.000
+ -17635633.52643 -13731957.80942 21467438.761 21467443.028 21467437.085
+ -404.477 -315.177 56.000 49.000
+ -15231361.29543 -11858304.76242 22333359.668 22333364.479 22333359.246
+ 2045.029 1593.529 51.000 45.000
+ -5511567.85643 -4250147.07742 24419020.076 24419023.922 24419018.883
+ 2767.897 2156.803 45.000 38.000
+ -23360532.36943 -18187695.27942 20264191.285 20264194.180 20264190.359
+ 115.459 89.968 56.000 51.000
+ -23340976.94443 -18129839.48742 20829646.598 20829650.063 20829645.025
+ -1203.614 -937.881 55.000 49.000
+ 04 2 1 22 33 30.0000000 0 9G18G22G21G 3G15G31G25G14G23
+ -524730.48143 -350051.86942 24705862.117 24705867.398 24705860.759
+ -2479.721 -1932.250 45.000 39.000
+ -6664716.61443 -5188281.19742 21853639.177 21853641.215 21853637.925
+ -1841.347 -1434.816 54.000 47.000
+ -4098875.64743 -3126083.94042 24565371.617 24565378.289 24565369.591
+ -2088.071 -1627.068 43.000 36.000
+ -24125063.99243 -18752309.67742 20692968.625 20692972.713 20692967.603
+ -559.678 -436.113 56.000 50.000
+ -17623379.93543 -13722409.58442 21469769.973 21469774.735 21469768.834
+ -412.324 -321.291 55.000 49.000
+ -15292485.38943 -11905933.94242 22321729.773 22321732.974 22321728.225
+ 2029.972 1581.796 52.000 46.000
+ -5594672.59743 -4314904.02542 24403203.622 24403210.275 24403202.879
+ 2772.520 2160.405 43.000 38.000
+ -23363693.38943 -18190158.42142 20263590.223 20263592.378 20263589.004
+ 95.517 74.429 56.000 51.000
+ -23304773.90943 -18101629.36442 20836535.824 20836539.470 20836534.530
+ -1209.720 -942.639 56.000 49.000
+ 04 2 1 22 34 0.0000000 0 9G18G22G21G 3G15G31G25G14G23
+ -450401.12043 -292133.02842 24720006.635 24720012.283 24720004.980
+ -2475.254 -1928.769 44.000 39.000
+ -6609449.31143 -5145215.80842 21864155.679 21864158.070 21864154.575
+ -1842.585 -1435.780 54.000 47.000
+ -4036149.68643 -3077206.69242 24577307.559 24577312.104 24577306.615
+ -2093.471 -1631.276 42.000 35.000
+ -24107991.93643 -18739006.80542 20696216.961 20696221.074 20696216.377
+ -577.982 -450.375 56.000 50.000
+ -17610897.91143 -13712683.36042 21472145.818 21472149.759 21472144.197
+ -419.394 -326.800 56.000 49.000
+ -15353162.26343 -11953214.64342 22310183.266 22310186.502 22310181.735
+ 2015.454 1570.484 52.000 46.000
+ -5677919.83443 -4379772.00242 24387364.313 24387367.379 24387362.987
+ 2777.768 2164.494 45.000 39.000
+ -23366265.83343 -18192162.93242 20263100.541 20263103.087 20263099.427
+ 76.450 59.571 56.000 51.000
+ -23268395.42843 -18073282.52942 20843458.067 20843461.948 20843457.025
+ -1214.992 -946.747 55.000 49.000
+ 04 2 1 22 34 30.0000000 0 9G18G22G21G 3G15G31G25G14G23
+ -376182.40843 -234300.37742 24734129.495 24734133.814 24734128.117
+ -2472.543 -1926.657 45.000 38.000
+ -6554127.02743 -5102107.57642 21874683.669 21874685.756 21874682.465
+ -1844.888 -1437.575 54.000 47.000
+ -3973247.38443 -3028192.00642 24589280.996 24589285.070 24589279.045
+ -2099.657 -1636.096 45.000 37.000
+ -24090360.00043 -18725267.67442 20699572.771 20699576.912 20699571.537
+ -597.001 -465.195 56.000 50.000
+ -17598188.05743 -13702779.60042 21474564.566 21474568.329 21474563.497
+ -427.383 -333.026 56.000 49.000
+ -15413392.06743 -12000146.98342 22298721.946 22298725.218 22298720.361
+ 2000.082 1558.505 53.000 46.000
+ -5761308.98343 -4444750.55842 24371494.574 24371499.923 24371493.121
+ 2782.184 2167.936 45.000 39.000
+ -23368252.22443 -18193710.77942 20262722.600 20262725.274 20262721.314
+ 56.519 44.041 56.000 51.000
+ -23231844.95443 -18044801.66942 20850414.035 20850417.741 20850412.825
+ -1221.138 -951.536 56.000 49.000
+ 04 2 1 22 35 0.0000000 0 9G18G22G21G 3G15G31G25G14G23
+ -302076.02343 -176555.26342 24748233.059 24748237.048 24748231.945
+ -2467.984 -1923.104 45.000 39.000
+ -6498752.31943 -5058958.48942 21885221.002 21885222.908 21885220.535
+ -1846.415 -1438.765 54.000 47.000
+ -3910169.82343 -2979040.70142 24601282.204 24601286.807 24601283.600
+ -2105.133 -1640.363 45.000 36.000
+ -24072170.73943 -18711094.25642 20703033.686 20703037.980 20703032.738
+ -615.284 -479.442 56.000 50.000
+ -17585250.62943 -13692698.50342 21477025.998 21477030.729 21477024.742
+ -434.780 -338.790 55.000 49.000
+ -15473174.27943 -12046730.53842 22287344.600 22287348.507 22287343.597
+ 1985.446 1547.101 52.000 46.000
+ -5844838.67043 -4509838.61242 24355599.786 24355603.360 24355597.927
+ 2786.915 2171.622 45.000 39.000
+ -23369654.27743 -18194803.29542 20262455.752 20262458.180 20262454.471
+ 37.365 29.116 55.000 51.000
+ -23195125.50643 -18016189.13842 20857401.176 20857404.843 20857399.746
+ -1226.446 -955.672 55.000 49.000
+ 04 2 1 22 35 30.0000000 0 9G18G22G21G 3G15G31G25G14G23
+ -228069.57943 -118888.02142 24762314.586 24762320.589 24762314.235
+ -2464.606 -1920.472 43.000 38.000
+ -6443313.32543 -5015759.31542 21895769.537 21895772.194 21895769.429
+ -1848.479 -1440.373 54.000 47.000
+ -3846904.13643 -2929742.86142 24613321.337 24613326.540 24613320.335
+ -2111.665 -1645.453 46.000 36.000
+ -24053412.23443 -18696477.28242 20706603.800 20706607.474 20706602.406
+ -634.094 -494.099 56.000 50.000
+ -17572071.45943 -13682429.04242 21479534.722 21479537.995 21479532.759
+ -442.778 -345.022 56.000 49.000
+ -15532494.15943 -12092953.83442 22276056.906 22276060.873 22276055.702
+ 1970.185 1535.209 53.000 46.000
+ -5928493.67143 -4575024.34442 24339679.221 24339685.267 24339678.742
+ 2791.394 2175.112 44.000 39.000
+ -23370459.22943 -18195430.53742 20262302.783 20262305.134 20262301.452
+ 17.515 13.648 56.000 51.000
+ -23158225.76043 -17987436.11242 20864423.221 20864426.790 20864421.848
+ -1232.353 -960.275 56.000 49.000
+ 04 2 1 22 36 0.0000000 0 9G18G22G21G 3G15G31G25G14G23
+ -154186.23543 -61316.72642 24776375.983 24776380.769 24776374.277
+ -2460.812 -1917.516 46.000 38.000
+ -6387834.57443 -4972529.15642 21906328.632 21906330.018 21906327.025
+ -1849.911 -1441.489 54.000 47.000
+ -3783473.05343 -2880316.20642 24625393.071 24625396.495 24625390.000
+ -2117.229 -1649.789 43.000 37.000
+ -24034108.84843 -18681435.71442 20710277.154 20710280.991 20710276.042
+ -652.601 -508.520 56.000 50.000
+ -17558672.26943 -13671988.15042 21482084.239 21482088.053 21482082.800
+ -450.345 -350.918 56.000 49.000
+ -15591373.01443 -12138833.48542 22264853.592 22264856.500 22264851.500
+ 1955.213 1523.543 53.000 46.000
+ -6012295.01043 -4640324.06742 24323732.945 24323739.088 24323731.739
+ 2795.871 2178.601 44.000 39.000
+ -23370690.99043 -18195611.14242 20262258.398 20262261.091 20262257.207
+ -1.866 -1.454 55.000 51.000
+ -23121170.34543 -17958561.79242 20871474.648 20871478.212 20871473.199
+ -1237.797 -964.517 55.000 49.000
+ 04 2 1 22 36 30.0000000 0 10G18G22G21G 3G15G31G25G14G 2G23
+ -80413.98743 -3831.94942 24790413.906 24790419.193 24790412.214
+ -2457.840 -1915.200 46.000 39.000
+ -6332304.52043 -4929259.01342 21916895.131 21916897.034 21916893.919
+ -1852.284 -1443.338 54.000 47.000
+ -3719864.13243 -2830750.91742 24637497.484 24637501.787 24637494.282
+ -2123.583 -1654.740 44.000 36.000
+ -24014248.80743 -18665960.39142 20714056.344 20714060.359 20714055.218
+ -671.700 -523.402 56.000 50.000
+ -17545039.13643 -13661364.96242 21484678.215 21484682.438 21484676.939
+ -458.705 -357.432 56.000 49.000
+ -15649796.26343 -12184358.11242 22253735.521 22253738.601 22253733.765
+ 1939.473 1511.278 52.000 46.000
+ -6096227.78643 -4705726.23142 24307760.705 24307767.712 24307759.840
+ 2799.473 2181.407 44.000 39.000
+ -23370337.11143 -18195335.39542 20262325.876 20262328.265 20262324.755
+ -21.920 -17.080 56.000 51.000
+ -85287.45853 -90732.47452 25663773.694 25663782.939 25663770.789
+ -1871.471 -1458.289 40.000 36.000
+ -23083948.14943 -17929557.51842 20878557.613 20878560.948 20878556.253
+ -1243.913 -969.283 55.000 49.000
+ 04 2 1 22 37 0.0000000 0 10G18G22G21G 3G15G31G25G14G 2G23
+ -6749.19743 53569.12442 24804431.094 24804435.223 24804430.659
+ -2452.725 -1911.214 45.000 38.000
+ -6276720.91043 -4885947.14342 21927472.395 21927473.997 21927471.318
+ -1853.120 -1443.990 54.000 47.000
+ -3656074.10743 -2781044.47242 24649633.614 24649641.848 24649632.580
+ -2128.834 -1658.832 41.000 36.000
+ -23993829.59843 -18650049.35442 20717941.886 20717946.136 20717940.851
+ -689.423 -537.213 56.000 50.000
+ -17531167.30143 -13650555.78242 21487318.009 21487322.367 21487316.710
+ -465.768 -362.936 56.000 49.000
+ -15707758.69943 -12229523.65142 22242704.877 22242709.086 22242703.741
+ 1924.912 1499.931 52.000 46.000
+ -6180286.00843 -4771226.14342 24291764.709 24291772.053 24291764.038
+ 2804.803 2185.561 43.000 38.000
+ -23369394.55743 -18194600.94842 20262505.097 20262507.707 20262503.932
+ -40.597 -31.634 56.000 51.000
+ -29245.98643 -47063.80742 25674436.328 25674443.850 25674434.378
+ -1864.004 -1452.471 40.000 36.000
+ -23046557.16643 -17900421.72142 20885672.900 20885676.804 20885671.664
+ -1248.571 -972.912 55.000 49.000
+ 04 2 1 22 37 30.0000000 0 10G18G22G21G 3G15G31G25G14G 2G23
+ 66799.34243 110879.56542 24818429.143 24818432.133 24818426.573
+ -2449.847 -1908.972 46.000 38.000
+ -6221093.23243 -4842600.94742 21938057.527 21938060.003 21938056.389
+ -1855.657 -1445.966 54.000 47.000
+ -3592111.09943 -2731203.27142 24661809.308 24661809.660 24661805.755
+ -2135.623 -1664.122 42.000 35.000
+ -23972860.81043 -18633710.06842 20721932.217 20721936.068 20721931.097
+ -708.696 -552.231 56.000 50.000
+ -17517064.05243 -13639566.26042 21490002.106 21490005.779 21490000.435
+ -474.557 -369.785 56.000 49.000
+ -15765267.09643 -12274335.41242 22231762.242 22231765.274 22231760.899
+ 1908.669 1487.275 53.000 46.000
+ -6264475.42943 -4836828.27842 24275746.071 24275750.963 24275745.378
+ 2808.121 2188.146 45.000 38.000
+ -23367872.61343 -18193415.02642 20262794.863 20262797.178 20262793.567
+ -60.899 -47.454 56.000 51.000
+ 26592.14543 -3553.64742 25685064.767 25685069.676 25685062.556
+ -1858.256 -1447.992 42.000 37.000
+ -23009007.62643 -17871162.36342 20892818.159 20892822.171 20892816.839
+ -1254.789 -977.758 55.000 49.000
+ 04 2 1 22 38 0.0000000 0 9G18G22G 3G15G31G25G14G 2G23
+ 140245.61443 168110.28642 24832403.284 24832408.374 24832402.421
+ -2446.190 -1906.122 46.000 38.000
+ -6165407.76543 -4799209.71942 21948654.281 21948656.241 21948653.643
+ -1856.929 -1446.958 54.000 47.000
+ -23951328.72143 -18616931.85142 20726029.056 20726033.878 20726028.293
+ -726.868 -566.391 56.000 50.000
+ -17502713.26943 -13628383.86742 21492733.181 21492736.714 21492731.375
+ -482.336 -375.846 56.000 49.000
+ -15822304.52143 -12318780.17742 22220907.754 22220911.481 22220906.825
+ 1893.601 1475.533 52.000 46.000
+ -6348778.65743 -4902519.07042 24259701.163 24259707.438 24259701.051
+ 2812.359 2191.449 44.000 38.000
+ -23365756.73243 -18191766.30042 20263197.176 20263199.632 20263196.312
+ -80.210 -62.501 56.000 51.000
+ 82239.71043 39807.99342 25695653.024 25695659.865 25695651.388
+ -1851.466 -1442.701 41.000 37.000
+ -22971285.88943 -17841768.83342 20899996.489 20900000.557 20899994.919
+ -1260.065 -981.869 55.000 49.000
+ 04 2 1 22 38 30.0000000 0 9G18G22G 3G15G31G25G14G 2G23
+ 213570.71243 225246.64242 24846356.075 24846362.106 24846355.045
+ -2442.106 -1902.940 44.000 38.000
+ -6109684.87043 -4755789.32142 21959258.521 21959260.347 21959257.644
+ -1858.356 -1448.070 54.000 47.000
+ -23929253.50943 -18599730.42642 20730230.088 20730234.669 20730229.177
+ -745.041 -580.551 56.000 50.000
+ -17488133.07643 -13617022.71542 21495507.595 21495511.761 21495505.993
+ -490.136 -381.924 56.000 49.000
+ -15878888.59243 -12362871.67442 22210140.261 22210143.941 22210139.310
+ 1878.221 1463.549 52.000 46.000
+ -6433212.65543 -4968311.76042 24243634.903 24243641.830 24243635.115
+ 2816.232 2194.466 45.000 38.000
+ -23363066.51843 -18189670.04142 20263709.430 20263711.798 20263708.054
+ -99.392 -77.448 56.000 51.000
+ 137675.26043 83004.44242 25706202.868 25706209.586 25706200.970
+ -1844.258 -1437.084 42.000 36.000
+ -22933412.81143 -17812257.38142 20907203.226 20907207.685 20907202.229
+ -1265.137 -985.821 55.000 49.000
+ 04 2 1 22 39 0.0000000 0 9G18G22G 3G15G31G25G14G 2G23
+ 286782.77643 282294.87742 24860289.787 24860294.887 24860290.193
+ -2438.901 -1900.442 44.000 38.000
+ -6053917.21743 -4712334.05142 21969870.737 21969872.545 21969869.706
+ -1860.008 -1449.357 54.000 47.000
+ -23906627.80243 -18582100.04242 20734535.717 20734539.919 20734534.697
+ -763.846 -595.205 56.000 50.000
+ -17473313.61943 -13605475.10942 21498327.654 21498331.401 21498326.226
+ -498.380 -388.348 56.000 49.000
+ -15935009.09743 -12406601.95142 22199461.049 22199464.069 22199459.972
+ 1862.469 1451.275 52.000 46.000
+ -6517766.46843 -5034197.85742 24227544.249 24227550.991 24227543.475
+ 2819.971 2197.380 44.000 39.000
+ -23359794.25543 -18187120.23642 20264331.993 20264334.448 20264331.003
+ -119.185 -92.871 56.000 51.000
+ 192905.38843 126040.78742 25716713.415 25716720.622 25716712.109
+ -1838.330 -1432.465 42.000 36.000
+ -22895381.48843 -17782622.60642 20914440.761 20914445.023 20914439.948
+ -1270.792 -990.227 55.000 49.000
+ 04 2 1 22 39 30.0000000 0 10G18G22G21G 3G15G31G25G14G 2G23
+ 359878.42243 339252.35542 24874198.759 24874204.195 24874196.438
+ -2434.523 -1897.031 45.000 37.000
+ -5998108.75943 -4668846.98842 21980490.694 21980492.667 21980489.826
+ -1860.714 -1449.907 54.000 47.000
+ 24710833.641
+ -2158.373 -1681.849 43.000
+ -23883455.93243 -18564044.07042 20738945.645 20738949.147 20738944.475
+ -781.298 -608.804 56.000 50.000
+ -17458256.53943 -13593742.34542 21501192.504 21501196.899 21501191.390
+ -505.644 -394.008 55.000 49.000
+ -15990667.16443 -12449971.89342 22188869.701 22188872.709 22188868.820
+ 1847.559 1439.656 52.000 46.000
+ -6602440.59643 -5100177.69842 24211432.319 24211438.570 24211432.835
+ 2824.608 2200.993 46.000 39.000
+ -23355943.44443 -18184119.61742 20265064.817 20265067.491 20265063.635
+ -137.795 -107.373 56.000 51.000
+ 247924.82843 168912.98642 25727181.355 25727189.596 25727180.829
+ -1830.509 -1426.371 39.000 35.000
+ -22857196.26443 -17752867.91742 20921707.024 20921710.977 20921705.521
+ -1275.252 -993.703 55.000 49.000
+ 04 2 1 22 40 0.0000000 0 10G18G22G21G 3G15G31G25G14G 2G23
+ 432858.41743 396119.81342 24888087.466 24888090.849 24888084.678
+ -2431.134 -1894.390 45.000 37.000
+ -5942259.86843 -4625328.41142 21991118.508 21991120.547 21991117.800
+ -1862.554 -1451.341 54.000 47.000
+ 24723175.259
+ -2164.477 -1686.605 42.000
+ -23859737.97043 -18545562.57542 20743458.921 20743463.072 20743458.040
+ -799.924 -623.317 56.000 50.000
+ -17442959.63943 -13581822.71242 21504103.638 21504107.420 21504102.086
+ -514.177 -400.657 55.000 49.000
+ -16045860.16743 -12492979.44642 22178366.723 22178370.089 22178365.298
+ 1831.782 1427.363 52.000 46.000
+ -6687231.36843 -5166248.39942 24195298.225 24195302.366 24195297.428
+ 2828.145 2203.749 47.000 39.000
+ -23351513.78843 -18180667.94442 20265907.624 20265910.162 20265906.466
+ -157.510 -122.735 56.000 51.000
+ 302732.51953 211620.25352 25737611.421 25737615.712 25737611.123
+ -1824.222 -1421.472 39.000 34.000
+ -22818857.68943 -17722993.72942 20929002.801 20929006.783 20929001.496
+ -1280.715 -997.960 55.000 49.000
+ 04 2 1 22 40 30.0000000 0 10G18G22G21G 3G15G31G25G14G 2G23
+ 505724.61543 452898.58642 24901954.052 24901958.880 24901954.061
+ -2429.130 -1892.828 46.000 37.000
+ -5886369.54943 -4581777.55542 22001753.932 22001756.313 22001752.927
+ -1865.778 -1453.853 54.000 47.000
+ 24735554.217
+ -2167.316 -1688.818 41.000
+ -23835473.40243 -18526655.15142 20748076.024 20748080.022 20748075.084
+ -820.127 -639.060 56.000 50.000
+ -17427420.18543 -13569714.08142 21507060.141 21507064.980 21507058.846
+ -524.201 -408.468 55.000 49.000
+ -16100584.59643 -12535621.87542 22167953.322 22167957.143 22167952.130
+ 1814.144 1413.619 52.000 46.000
+ -6772134.80743 -5232406.90842 24179140.908 24179144.501 24179139.869
+ 2829.840 2205.070 46.000 39.000
+ -23346504.16143 -18176764.35742 20266861.218 20266863.559 20266859.941
+ -178.861 -139.372 56.000 51.000
+ 357328.19543 254162.22442 25748002.355 25748007.134 25747998.513
+ -1817.918 -1416.559 43.000 35.000
+ -22780365.47643 -17692999.82942 20936327.769 20936331.905 20936326.494
+ -1287.782 -1003.466 55.000 49.000
+ 04 2 1 22 41 0.0000000 0 9G18G22G 3G15G31G25G14G 2G23
+ 578492.21943 509600.49342 24915799.879 24915803.450 24915798.174
+ -2423.822 -1888.692 45.000 37.000
+ -5830423.71643 -4538183.44242 22012400.373 22012402.325 22012399.436
+ -1865.509 -1453.643 54.000 47.000
+ -23810647.92343 -18507310.65642 20752799.958 20752804.565 20752798.844
+ -836.595 -651.892 56.000 49.000
+ -17411621.36343 -13557403.34542 21510066.818 21510071.514 21510065.638
+ -530.743 -413.566 55.000 49.000
+ -16154823.42243 -12577885.89542 22157631.423 22157635.621 22157630.642
+ 1800.038 1402.627 52.000 46.000
+ -6857132.90843 -5298639.20742 24162964.712 24162971.809 24162964.374
+ 2835.084 2209.156 45.000 39.000
+ -23340899.84543 -18172397.36842 20267927.581 20267930.072 20267926.461
+ -196.492 -153.111 56.000 51.000
+ 411725.12243 296549.38942 25758352.662 25758359.569 25758350.720
+ -1809.682 -1410.142 42.000 36.000
+ -22741705.84243 -17662875.47242 20943683.978 20943688.474 20943682.670
+ -1291.200 -1006.130 55.000 49.000
+ 04 2 1 22 41 30.0000000 0 9G18G22G 3G15G31G25G14G 2G23
+ 651136.56743 566206.33242 24929623.151 24929627.606 24929623.220
+ -2419.379 -1885.230 46.000 37.000
+ -5774447.58943 -4494565.72142 22023052.057 22023054.580 22023051.492
+ -1866.392 -1454.331 54.000 47.000
+ -23785287.10843 -18487549.02042 20757626.420 20757630.742 20757625.460
+ -854.219 -665.625 56.000 50.000
+ -17395586.18543 -13544908.43742 21513118.797 21513122.736 21513117.099
+ -538.457 -419.577 56.000 49.000
+ -16208599.11843 -12619789.06242 22147398.368 22147402.878 22147396.815
+ 1784.907 1390.837 52.000 46.000
+ -6942247.53343 -5364962.26242 24146767.843 24146775.004 24146768.284
+ 2838.840 2212.083 46.000 39.000
+ -23334725.75643 -18167586.40042 20269102.239 20269105.143 20269101.362
+ -215.225 -167.708 56.000 51.000
+ 465896.96843 338761.14042 25768659.957 25768669.165 25768661.154
+ -1802.049 -1404.194 41.000 35.000
+ -22702904.26843 -17632640.51542 20951067.911 20951072.121 20951066.756
+ -1295.756 -1009.680 55.000 48.000
+ 04 2 1 22 42 0.0000000 0 9G18G22G 3G15G31G25G14G 2G23
+ 723663.59843 622720.83342 24943425.052 24943428.625 24943425.537
+ -2415.684 -1882.351 46.000 37.000
+ -5718436.39343 -4450920.67542 22033710.808 22033712.425 22033709.514
+ -1867.784 -1455.416 54.000 47.000
+ -23759386.25043 -18467366.56942 20762555.143 20762559.377 20762553.900
+ -872.511 -679.879 56.000 49.000
+ -17379307.48743 -13532223.77742 21516215.944 21516220.738 21516214.704
+ -546.917 -426.169 55.000 49.000
+ -16261904.08343 -12661325.41442 22137255.928 22137258.974 22137254.322
+ 1768.879 1378.347 53.000 46.000
+ -7027469.82843 -5431369.25442 24130552.515 24130557.833 24130550.457
+ 2842.204 2214.704 46.000 40.000
+ -23327976.66343 -18162327.38142 20270386.934 20270389.198 20270385.647
+ -234.826 -182.981 56.000 51.000
+ 519847.66143 380800.60842 25778930.238 25778937.905 25778927.298
+ -1794.494 -1398.307 43.000 36.000
+ -22663956.34143 -17602291.51042 20958479.760 20958483.376 20958477.934
+ -1300.798 -1013.609 55.000 48.000
+ 04 2 1 22 42 30.0000000 0 9G18G22G 3G15G31G25G14G 2G23
+ 796077.44843 679147.07042 24957205.045 24957211.771 24957204.071
+ -2411.721 -1879.263 46.000 37.000
+ -5662386.50343 -4407245.48642 22044376.363 22044378.521 22044375.551
+ -1868.859 -1456.254 54.000 47.000
+ -23732942.11743 -18446760.78442 20767587.399 20767591.374 20767586.401
+ -890.277 -693.722 56.000 50.000
+ -17362779.63143 -13519344.96542 21519361.389 21519365.825 21519359.981
+ -554.874 -432.369 56.000 49.000
+ -16314732.13143 -12702490.14142 22127202.159 22127205.459 22127200.694
+ 1753.146 1366.088 53.000 46.000
+ -7112792.78443 -5497854.67842 24114316.146 24114320.652 24114315.643
+ 2846.020 2217.678 47.000 40.000
+ -23320648.86943 -18156617.42742 20271781.381 20271783.626 20271780.229
+ -253.710 -197.696 56.000 51.000
+ 573579.79443 422669.70542 25789153.679 25789160.292 25789150.775
+ -1787.342 -1392.734 43.000 36.000
+ -22624858.97643 -17571826.06242 20965919.699 20965923.415 20965918.038
+ -1305.605 -1017.354 55.000 48.000
+ 04 2 1 22 43 0.0000000 0 9G18G22G 3G15G31G25G14G 2G23
+ 868379.43843 735486.15742 24970964.849 24970968.568 24970963.267
+ -2408.437 -1876.704 46.000 38.000
+ -5606297.95343 -4363540.16842 22055049.673 22055051.962 22055048.856
+ -1870.673 -1457.667 53.000 47.000
+ -23705954.98743 -18425731.88742 20772722.893 20772726.759 20772721.966
+ -909.083 -708.376 56.000 49.000
+ -17346000.20643 -13506270.12442 21522554.413 21522558.897 21522553.184
+ -563.911 -439.411 56.000 49.000
+ -16367080.72043 -12743281.26042 22117240.598 22117243.932 22117239.255
+ 1736.411 1353.047 52.000 46.000
+ -7198213.05943 -5564415.91642 24098061.792 24098066.528 24098059.854
+ 2848.496 2219.607 47.000 40.000
+ -23312741.87643 -18150456.14742 20273285.579 20273288.395 20273284.706
+ -273.606 -213.199 56.000 51.000
+ 627092.18143 464367.61242 25799336.656 25799342.642 25799335.083
+ -1780.660 -1387.527 42.000 36.000
+ -22585612.52343 -17541244.43742 20973387.893 20973391.872 20973386.926
+ -1311.272 -1021.770 55.000 49.000
+ 04 2 1 22 43 30.0000000 0 9G18G22G 3G15G31G25G14G 2G23
+ 940563.76043 791733.58842 24984701.009 24984708.052 24984699.837
+ -2404.161 -1873.372 44.000 36.000
+ -5550177.00843 -4319809.60742 22065730.095 22065731.211 22065728.465
+ -1871.000 -1457.922 54.000 47.000
+ -23678431.44643 -18404285.00842 20777960.490 20777964.743 20777959.303
+ -926.196 -721.711 56.000 49.000
+ -17328973.24243 -13493002.40342 21525795.222 21525798.929 21525793.544
+ -571.521 -445.341 56.000 49.000
+ -16418953.39843 -12783701.54442 22107369.774 22107373.611 22107367.863
+ 1721.131 1341.141 53.000 46.000
+ -7283733.18943 -5631054.97142 24081786.064 24081792.613 24081786.108
+ 2852.536 2222.755 46.000 40.000
+ -23304261.87243 -18143848.36742 20274899.352 20274902.179 20274898.215
+ -291.971 -227.510 56.000 51.000
+ 680377.63443 505888.66742 25809477.391 25809482.022 25809473.758
+ -1772.008 -1380.785 40.000 35.000
+ -22546223.76943 -17510551.94142 20980883.513 20980887.594 20980882.148
+ -1315.113 -1024.763 55.000 48.000
+ 04 2 1 22 44 0.0000000 0 9G18G22G 3G15G31G25G14G 2G23
+ 1012636.17443 847893.77742 24998416.245 24998418.448 24998412.941
+ -2400.931 -1870.855 43.000 34.000
+ -5494018.96543 -4276050.13942 22076415.807 22076418.199 22076414.654
+ -1872.797 -1459.322 53.000 47.000
+ -23650367.29343 -18382416.87342 20783300.994 20783305.158 20783299.953
+ -944.769 -736.184 56.000 49.000
+ -17311691.95443 -13479536.49242 21529082.905 21529087.596 21529081.374
+ -580.500 -452.338 55.000 49.000
+ -16470342.92543 -12823745.35142 22097589.747 22097594.292 22097588.758
+ 1704.695 1328.334 52.000 46.000
+ -7369345.22943 -5697765.62742 24065493.970 24065501.699 24065493.252
+ 2854.890 2224.590 45.000 40.000
+ -23295204.16243 -18136790.42342 20276623.104 20276625.870 20276621.980
+ -311.886 -243.028 56.000 51.000
+ 733439.76743 547235.67042 25819571.232 25819578.068 25819571.425
+ -1764.990 -1375.317 40.000 35.000
+ -22506688.35943 -17479745.15742 20988406.447 20988411.296 20988405.449
+ -1320.522 -1028.978 55.000 48.000
+ 04 2 1 22 44 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G11G23
+ 1084592.62343 903963.69042 25012108.132 25012113.284 25012106.517
+ -2395.650 -1866.740 43.000 34.000
+ -5437829.19143 -4232265.94642 22087108.456 22087111.094 22087107.457
+ -1872.862 -1459.373 53.000 47.000
+ 24835764.305
+ -2217.265 -1727.739 43.000
+ -23621768.14743 -18360131.85842 20788743.122 20788747.473 20788742.097
+ -961.658 -749.344 56.000 49.000
+ -17294159.40343 -13465874.79642 21532418.853 21532423.674 21532417.962
+ -588.039 -458.212 55.000 49.000
+ -16521252.06143 -12863414.82242 22087902.996 22087906.186 22087901.875
+ 1689.566 1316.545 53.000 46.000
+ -7455050.58043 -5764549.01142 24049185.071 24049191.852 24049185.205
+ 2859.025 2227.812 46.000 40.000
+ -23285573.61243 -18129286.11042 20278456.073 20278458.349 20278454.710
+ -329.971 -257.120 56.000 51.000
+ 786272.44043 588403.92042 25829628.223 25829633.901 25829624.366
+ -1756.456 -1368.667 39.000 35.000
+ 25092187.126
+ 3020.838 2353.900 43.000
+ -22467012.14843 -17448828.65542 20995956.977 20995960.999 20995955.487
+ -1324.120 -1031.782 55.000 48.000
+ 04 2 1 22 45 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G11G23
+ 1156433.64543 959943.58342 25025777.882 25025786.172 25025774.431
+ -2392.455 -1864.251 41.000 34.000
+ -5381607.08843 -4188456.57442 22097807.506 22097809.374 22097806.632
+ -1874.469 -1460.625 54.000 47.000
+ 24848441.734
+ -2223.715 -1732.765 43.000
+ -23592633.93143 -18337429.91442 20794287.137 20794291.409 20794286.167
+ -979.837 -763.509 56.000 49.000
+ -17276372.96343 -13452015.28942 21535804.592 21535808.079 21535802.761
+ -596.872 -465.095 55.000 49.000
+ -16571677.73243 -12902707.56342 22078307.013 22078310.819 22078306.373
+ 1673.097 1303.712 53.000 46.000
+ -7540845.03743 -5831401.84742 24032860.384 24032866.429 24032859.648
+ 2861.462 2229.711 47.000 41.000
+ -23275369.75943 -18121335.06942 20280397.582 20280400.263 20280396.504
+ -349.464 -272.310 56.000 51.000
+ 838874.96853 629392.83652 25839636.784 25839643.342 25839636.970
+ -1749.473 -1363.226 39.000 35.000
+ 25074935.046
+ 3023.131 2355.686 44.000
+ -22427195.00143 -17417802.34242 21003534.030 21003538.147 21003532.569
+ -1329.336 -1035.846 55.000 48.000
+ 04 2 1 22 45 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G11G23
+ 1228155.70243 1015830.75842 25039427.725 25039433.122 25039426.602
+ -2388.444 -1861.125 43.000 35.000
+ -5325356.88343 -4144625.29642 22108511.237 22108513.670 22108510.807
+ -1875.191 -1461.188 53.000 47.000
+ 123862.76753 66201.16452 24861153.139 24861158.132 24861153.402
+ -2229.388 -1737.185 42.000 36.000
+ -23562969.44643 -18314314.76442 20799932.147 20799936.379 20799930.906
+ -997.447 -777.231 56.000 49.000
+ -17258334.76143 -13437959.57842 21539236.875 21539241.071 21539235.433
+ -605.262 -471.633 56.000 49.000
+ -16621621.59543 -12941624.88142 22068803.179 22068806.883 22068802.150
+ 1656.984 1291.156 53.000 46.000
+ -7626729.28343 -5898324.64742 24016517.945 24016522.195 24016517.336
+ 2864.454 2232.042 48.000 41.000
+ -23264596.70443 -18112940.49542 20282447.963 20282450.147 20282446.649
+ -368.387 -287.055 56.000 51.000
+ 891242.14153 670198.39252 25849602.133 25849611.345 25849600.363
+ -1741.460 -1356.982 40.000 35.000
+ 25057668.581
+ 3027.117 2358.792 45.000
+ -22387241.53143 -17386669.80242 21011137.043 21011140.933 21011135.264
+ -1333.791 -1039.318 55.000 48.000
+ 04 2 1 22 46 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G11G23
+ 1299768.76543 1071633.08342 25053054.854 25053059.342 25053053.921
+ -2385.582 -1858.895 43.000 35.000
+ -5269070.10943 -4100765.51842 22119222.876 22119224.805 22119221.091
+ -1877.229 -1462.776 53.000 46.000
+ 190845.21143 118395.15242 24873899.321 24873904.392 24873898.949
+ -2236.761 -1742.931 39.000 35.000
+ -23532766.40543 -18290779.97142 20805679.585 20805684.223 20805678.478
+ -1016.067 -791.740 55.000 49.000
+ -17240033.94543 -13423699.24442 21542719.319 21542723.815 21542718.464
+ -614.781 -479.050 56.000 49.000
+ -16671072.57943 -12980158.14042 22059393.629 22059396.651 22059391.718
+ 1639.558 1277.578 53.000 46.000
+ -7712691.29043 -5965308.03742 24000159.517 24000164.708 24000157.266
+ 2866.061 2233.294 47.000 41.000
+ -23253245.90843 -18104095.73042 20284607.941 20284610.080 20284606.525
+ -388.408 -302.655 56.000 51.000
+ 943381.77243 710826.63142 25859523.978 25859531.198 25859523.516
+ -1734.251 -1351.364 41.000 35.000
+ 25040384.753
+ 3028.398 2359.791 44.000
+ -22347143.64743 -17355424.73242 21018767.409 21018771.562 21018765.980
+ -1339.280 -1043.595 55.000 48.000
+ 04 2 1 22 46 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G11G23
+ 1371261.42643 1127341.53742 25066660.159 25066664.398 25066659.152
+ -2382.442 -1856.448 41.000 35.000
+ -5212758.90243 -4056886.70442 22129938.458 22129939.713 22129937.796
+ -1877.904 -1463.302 54.000 46.000
+ 257999.59153 170723.14052 24886674.997 24886685.003 24886675.513
+ -2241.726 -1746.799 39.000 34.000
+ -23502037.68243 -18266835.55042 20811527.324 20811531.774 20811526.029
+ -1033.510 -805.332 56.000 49.000
+ -17221480.62543 -13409242.14442 21546250.972 21546254.303 21546248.920
+ -623.222 -485.627 56.000 49.000
+ -16720040.55643 -13018315.01642 22050073.943 22050078.157 22050072.859
+ 1623.704 1265.224 52.000 46.000
+ -7798739.87543 -6032358.89142 23983784.969 23983789.518 23983783.299
+ 2869.215 2235.752 48.000 40.000
+ -23241329.66243 -18094810.35542 20286875.164 20286877.850 20286873.950
+ -407.068 -317.196 56.000 51.000
+ 995280.24043 751266.93142 25869399.311 25869408.570 25869398.594
+ -1726.318 -1345.183 40.000 35.000
+ -681984.37153 -136905.53552 25023080.462 25023087.270 25023079.441
+ 3032.084 2362.663 44.000 37.000
+ -22306913.97643 -17324076.97242 21026422.565 21026426.907 21026421.330
+ -1343.567 -1046.935 55.000 48.000
+ 04 2 1 22 47 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G11G23
+ 1442651.60843 1182970.17242 25080244.856 25080244.414 25080245.100
+ -2378.109 -1853.072 41.000 34.000
+ -5156406.24943 -4012975.57442 22140662.266 22140663.529 22140661.150
+ -1879.113 -1464.244 54.000 47.000
+ 325343.97143 223199.14942 24899495.046 24899498.905 24899492.785
+ -2248.181 -1751.829 40.000 35.000
+ -23470766.75343 -18242468.62942 20817477.870 20817482.560 20817476.872
+ -1051.441 -819.305 56.000 49.000
+ -17202655.68443 -13394573.39742 21549832.574 21549836.650 21549830.558
+ -632.048 -492.505 56.000 49.000
+ -16768505.86243 -13056080.20942 22040851.991 22040856.077 22040851.077
+ 1607.075 1252.266 53.000 46.000
+ -7884853.96443 -6099460.76042 23967398.326 23967403.930 23967397.346
+ 2871.584 2237.598 48.000 41.000
+ -23228830.74743 -18085070.95442 20289253.814 20289256.269 20289252.806
+ -426.336 -332.210 56.000 51.000
+ 1046953.70453 791531.96652 25879232.063 25879243.353 25879231.749
+ -1718.978 -1339.463 38.000 34.000
+ -772983.55143 -207814.04142 25005765.631 25005769.920 25005764.194
+ 3034.652 2364.664 46.000 37.000
+ -22266535.84443 -17292613.53242 21034106.011 21034110.883 21034104.698
+ -1348.335 -1050.651 55.000 48.000
+ 04 2 1 22 47 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G11G23
+ 1513915.88743 1238500.72842 25093805.583 25093813.535 25093804.682
+ -2373.786 -1849.703 41.000 34.000
+ -5100036.44243 -3969051.10942 22151389.342 22151391.143 22151388.498
+ -1879.252 -1464.352 54.000 47.000
+ 392854.98843 275804.93742 24912340.099 24912346.466 24912339.812
+ -2252.796 -1755.425 38.000 36.000
+ -23438978.44943 -18217698.56542 20823527.313 20823531.403 20823525.927
+ -1068.261 -832.411 56.000 49.000
+ -17183581.42143 -13379710.36542 21553462.201 21553466.387 21553460.600
+ -639.977 -498.683 55.000 49.000
+ -16816490.58143 -13093470.92442 22031720.857 22031725.278 22031719.846
+ 1591.480 1240.114 53.000 46.000
+ -7971054.56143 -6166630.02342 23950994.961 23951000.339 23950994.203
+ 2874.732 2240.051 49.000 41.000
+ -23215773.70143 -18074896.64942 20291738.285 20291740.875 20291737.168
+ -444.573 -346.420 56.000 51.000
+ 1098377.04653 831602.05252 25889018.583 25889026.932 25889018.875
+ -1709.663 -1332.205 40.000 33.000
+ -864080.36143 -278798.57542 24988430.668 24988435.206 24988431.065
+ 3038.077 2367.333 45.000 36.000
+ -22226033.97843 -17261053.67842 21041812.818 21041817.816 21041812.090
+ -1352.134 -1053.611 54.000 48.000
+ 04 2 1 22 48 0.0000000 0 10G18G22G 3G15G31G25G14G 2G11G23
+ 1585065.74143 1293942.02542 25107345.226 25107353.147 25107345.636
+ -2369.494 -1846.359 42.000 35.000
+ -5043639.21143 -3925105.26642 22162120.458 22162122.205 22162120.408
+ -1880.576 -1465.384 53.000 47.000
+ -23406663.24143 -18192517.92242 20829676.653 20829680.523 20829675.537
+ -1086.012 -846.243 56.000 49.000
+ -17164245.27943 -13364643.28142 21557141.598 21557145.746 21557140.545
+ -649.112 -505.801 56.000 49.000
+ -16863981.88043 -13130477.15442 22022683.329 22022687.376 22022682.314
+ 1574.624 1226.980 53.000 46.000
+ -8057327.52943 -6233855.70242 23934577.658 23934581.679 23934574.430
+ 2876.400 2241.351 47.000 41.000
+ -23202148.05743 -18064279.27842 20294331.366 20294333.825 20294330.372
+ -463.872 -361.459 56.000 51.000
+ 1149559.71543 871484.52042 25898761.009 25898764.777 25898759.884
+ -1702.362 -1326.516 40.000 34.000
+ -955262.46943 -349849.66942 24971079.625 24971081.754 24971077.127
+ 3040.656 2369.342 47.000 36.000
+ -22185398.49943 -17229389.70742 21049545.939 21049550.222 21049545.162
+ -1356.985 -1057.391 54.000 48.000
+ 04 2 1 22 48 30.0000000 0 10G18G22G 3G15G31G25G14G 2G11G23
+ 1656100.24243 1349293.37442 25120862.993 25120869.472 25120863.193
+ -2365.664 -1843.374 42.000 35.000
+ -4987216.16043 -3881139.30342 22172858.290 22172859.830 22172856.866
+ -1880.899 -1465.635 54.000 47.000
+ -23373822.89943 -18166928.08042 20835925.906 20835930.197 20835924.892
+ -1103.185 -859.625 56.000 50.000
+ -17144646.65243 -13349371.65142 21560871.347 21560875.466 21560869.700
+ -657.438 -512.289 55.000 49.000
+ -16910978.92143 -13167098.24142 22013740.571 22013744.254 22013739.324
+ 1558.557 1214.460 53.000 46.000
+ -8143670.97843 -6301136.31742 23918146.046 23918152.563 23918144.765
+ 2879.626 2243.864 47.000 41.000
+ -23187955.53143 -18053220.18342 20297032.185 20297034.418 20297030.922
+ -482.265 -375.791 56.000 51.000
+ 1200498.89443 911177.26642 25908454.236 25908455.527 25908452.748
+ -1693.635 -1319.715 39.000 32.000
+ -1046529.31643 -420966.71442 24953711.278 24953716.207 24953710.816
+ 3043.874 2371.850 46.000 37.000
+ -22144631.31343 -17197623.10242 21057303.750 21057308.040 21057302.676
+ -1360.999 -1060.519 54.000 48.000
+ 04 2 1 22 49 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ 1727018.61443 1404554.37142 25134358.990 25134366.259 25134357.513
+ -2362.029 -1840.542 43.000 34.000
+ -4930768.88243 -3837154.46542 22183599.757 22183600.915 22183598.759
+ -1882.410 -1466.813 54.000 46.000
+ 24951084.900
+ -2271.301 -1769.845 42.000
+ -23340460.28943 -18140931.28542 20842274.410 20842278.907 20842273.300
+ -1121.108 -873.591 56.000 49.000
+ -17124785.35143 -13333895.34042 21564650.586 21564654.822 21564649.212
+ -666.787 -519.574 55.000 49.000
+ -16957481.29643 -13203333.88842 22004891.361 22004894.697 22004890.315
+ 1541.422 1201.108 53.000 46.000
+ -8230083.09843 -6368470.42542 23901702.043 23901709.487 23901700.769
+ 2880.931 2244.881 48.000 41.000
+ -23173198.22743 -18041721.00142 20299840.346 20299842.822 20299839.227
+ -501.660 -390.904 56.000 51.000
+ -1137880.70843 -492149.69142 24936328.490 24936331.940 24936328.563
+ 3045.908 2373.435 47.000 37.000
+ -22103734.75143 -17165755.68742 21065086.210 21065090.780 21065085.280
+ -1365.731 -1064.206 54.000 48.000
+ 04 2 1 22 49 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ 1797821.80443 1459725.57042 25147829.986 25147838.360 25147827.934
+ -2358.107 -1837.486 40.000 34.000
+ -4874296.67243 -3793150.18242 22194346.330 22194348.896 22194345.086
+ -1883.065 -1467.323 54.000 46.000
+ 106005.39653 76039.08952 24964066.406 24964071.830 24964065.571
+ -2276.999 -1774.285 44.000 35.000
+ -23306575.32143 -18114527.45542 20848722.677 20848727.243 20848721.550
+ -1138.307 -886.992 56.000 49.000
+ -17104658.68543 -13318212.26842 21568480.439 21568485.086 21568479.056
+ -675.353 -526.249 55.000 49.000
+ -17003485.94643 -13239181.69042 21996136.909 21996140.889 21996135.468
+ 1525.141 1188.422 53.000 46.000
+ -8316559.82343 -6435854.86242 23885246.511 23885251.210 23885244.953
+ 2883.558 2246.928 48.000 41.000
+ -23157875.55743 -18029781.27542 20302756.030 20302758.634 20302754.952
+ -520.274 -405.408 56.000 51.000
+ -1229313.99243 -563396.48842 24918929.407 24918933.701 24918928.668
+ 3049.095 2375.918 46.000 37.000
+ -22062708.54643 -17133787.24842 21072893.500 21072897.983 21072892.242
+ -1369.885 -1067.443 55.000 48.000
+ 04 2 1 22 50 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ 1868508.04243 1514805.64342 25161285.241 25161290.296 25161284.089
+ -2354.808 -1834.915 42.000 34.000
+ -4817802.54343 -3749128.84842 22205096.802 22205098.035 22205095.776
+ -1883.729 -1467.841 54.000 46.000
+ 174399.30243 129332.90742 24977079.570 24977086.932 24977077.090
+ -2282.884 -1778.871 41.000 35.000
+ -23272171.82543 -18087719.57242 20855269.382 20855273.904 20855268.299
+ -1155.664 -900.517 56.000 49.000
+ -17084267.66643 -13302323.19142 21572360.801 21572364.996 21572358.914
+ -684.326 -533.241 55.000 49.000
+ -17048993.59343 -13274642.21142 21987477.186 21987480.883 21987475.724
+ 1508.399 1175.376 53.000 46.000
+ -8403100.28243 -6503288.95142 23868779.209 23868783.579 23868779.296
+ 2885.452 2248.404 48.000 41.000
+ -23141990.62243 -18017403.42042 20305778.738 20305781.408 20305777.776
+ -539.029 -420.022 56.000 51.000
+ -1320829.87543 -634707.64542 24901514.487 24901518.205 24901512.734
+ 3051.731 2377.972 47.000 38.000
+ -22021555.98543 -17101720.35242 21080724.661 21080728.757 21080723.153
+ -1373.993 -1070.644 55.000 48.000
+ 04 2 1 22 50 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ 1939079.14943 1569795.98542 25174710.839 25174722.493 25174710.502
+ -2351.238 -1832.133 40.000 34.000
+ -4761285.69943 -3705089.80242 22215851.808 22215853.286 22215851.160
+ -1884.535 -1468.469 54.000 46.000
+ 242969.90943 182764.43842 24990129.459 24990134.548 24990127.864
+ -2288.913 -1783.568 42.000 35.000
+ -23237249.57343 -18060507.47142 20861914.784 20861919.442 20861913.704
+ -1172.974 -914.006 55.000 49.000
+ -17063609.44643 -13286225.91642 21576292.242 21576296.472 21576290.800
+ -693.319 -540.248 55.000 49.000
+ -17094001.27743 -13309713.15342 21978912.444 21978915.717 21978911.290
+ 1491.618 1162.300 53.000 47.000
+ -8489700.56443 -6570769.66642 23852298.731 23852305.458 23852298.660
+ 2887.592 2250.072 48.000 41.000
+ -23125542.98743 -18004587.09942 20308908.655 20308911.310 20308907.630
+ -557.769 -434.625 56.000 51.000
+ -1412425.52643 -706080.92642 24884083.840 24884088.550 24884083.389
+ 3054.083 2379.805 46.000 37.000
+ -21980276.83743 -17069554.81742 21088580.095 21088584.307 21088578.802
+ -1378.343 -1074.033 55.000 48.000
+ 04 2 1 22 51 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G11G23
+ 2009535.59643 1624696.96942 25188119.472 25188127.139 25188117.117
+ -2346.928 -1828.775 38.000 33.000
+ -4704746.59743 -3661033.41342 22226611.405 22226612.345 22226609.799
+ -1885.097 -1468.907 54.000 46.000
+ 311717.31943 236333.74542 25003210.278 25003217.240 25003206.529
+ -2294.457 -1787.888 41.000 34.000
+ -23201809.81543 -18032892.12142 20868659.407 20868663.435 20868657.731
+ -1190.011 -927.281 56.000 49.000
+ -17042682.49243 -13269919.23242 21580274.877 21580279.030 21580273.279
+ -702.237 -547.198 56.000 49.000
+ -17138507.19943 -13344393.10942 21970443.061 21970446.857 21970441.960
+ 1474.956 1149.316 53.000 47.000
+ -8576357.08243 -6638294.20242 23835809.050 23835814.259 23835807.540
+ 2889.319 2251.417 48.000 41.000
+ -23108533.45843 -17991332.93642 20312145.354 20312148.235 20312144.393
+ -576.446 -449.179 56.000 51.000
+ -1485828.68653 -1167860.71252 25956210.055 25956220.262 25956208.771
+ -1652.144 -1287.385 39.000 34.000
+ -1504099.65543 -777515.30442 24866638.164 24866643.715 24866639.114
+ 3056.819 2381.937 45.000 37.000
+ -21938871.93343 -17037291.29942 21096458.906 21096462.933 21096457.519
+ -1382.452 -1077.235 54.000 48.000
+ 04 2 1 22 51 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G11G23
+ -4221804.10943 -3230892.50942 25201508.425 25201512.179 25201508.527
+ -2341.952 -1824.898 40.000 33.000
+ -4648187.55543 -3616961.47542 22237373.815 22237374.942 22237372.517
+ -1885.352 -1469.105 54.000 46.000
+ 380640.05243 290039.70342 25016327.950 25016332.218 25016326.539
+ -2300.121 -1792.302 43.000 35.000
+ -23165855.86643 -18004876.09342 20875500.948 20875505.207 20875499.949
+ -1206.733 -940.311 56.000 49.000
+ -17021486.87343 -13253403.19942 21584307.557 21584312.137 21584306.093
+ -710.647 -553.751 55.000 49.000
+ -17182511.35643 -13378682.08142 21962069.339 21962073.284 21962068.236
+ 1458.612 1136.581 53.000 47.000
+ -8663068.55043 -6705861.56742 23819308.759 23819313.961 23819306.627
+ 2891.609 2253.202 49.000 42.000
+ -23090964.43343 -17977642.80942 20315488.859 20315491.311 20315487.625
+ -594.680 -463.387 56.000 51.000
+ -1436390.67553 -1129337.57652 25965621.891 25965624.678 25965617.895
+ -1643.724 -1280.824 40.000 33.000
+ -1595852.02143 -849010.61342 24849177.562 24849182.300 24849175.966
+ 3060.032 2384.441 44.000 37.000
+ -21897343.94543 -17004931.86542 21104361.619 21104365.768 21104360.185
+ -1385.990 -1079.992 55.000 48.000
+ 04 2 1 22 52 0.0000000 0 11G18G22G21G 3G15G31G25G14G 2G11G23
+ -3176173.77852 25214867.856 25214874.219
+ -2339.415 -1822.921 38.000 32.000
+ -4591610.78043 -3572875.72742 22248139.804 22248141.390 22248138.237
+ -1886.507 -1470.005 54.000 46.000
+ 449736.61743 343881.03142 25029477.504 25029481.158 25029476.434
+ -2306.191 -1797.032 45.000 36.000
+ -23129390.63643 -17976461.66642 20882440.010 20882444.228 20882438.984
+ -1224.315 -954.012 55.000 49.000
+ -17000023.27943 -13236678.35442 21588392.219 21588396.067 21588390.658
+ -720.255 -561.238 55.000 49.000
+ -17226013.89043 -13412580.18642 21953790.929 21953794.631 21953789.670
+ 1441.488 1123.237 53.000 47.000
+ -8749833.73543 -6773470.79042 23802797.326 23802802.245 23802795.057
+ 2892.808 2254.136 48.000 42.000
+ -23072838.59043 -17963518.78942 20318938.073 20318940.660 20318936.830
+ -613.751 -478.247 56.000 51.000
+ -1387211.11143 -1091015.88442 25974978.147 25974985.328 25974981.116
+ -1635.197 -1274.179 38.000 32.000
+ -1687682.90543 -920567.20742 24831703.470 24831706.867 24831702.208
+ 3062.045 2386.009 46.000 38.000
+ -21855695.59343 -16972478.63742 21112286.421 21112291.245 21112285.409
+ -1390.578 -1083.567 54.000 48.000
+ 04 2 1 22 52 30.0000000 0 11G18G22G21G 3G15G31G25G14G 2G11G23
+ -4081469.77653 -3121541.26142 25228213.179 25228214.012 25228209.926
+ -2335.657 -1819.992 40.000 33.000
+ -4535010.26343 -3528771.47742 22258909.227 22258912.119 22258908.539
+ -1887.165 -1470.518 53.000 46.000
+ 519013.41843 397862.88342 25042659.000 25042664.053 25042657.414
+ -2312.251 -1801.754 43.000 36.000
+ -23092409.07443 -17947644.91242 20889477.487 20889481.567 20889476.090
+ -1241.325 -967.266 55.000 49.000
+ -16978283.76243 -13219738.51242 21592529.364 21592533.266 21592527.466
+ -729.285 -568.274 55.000 49.000
+ -17269006.89243 -13446081.25542 21945609.366 21945613.841 21945608.796
+ 1424.517 1110.013 53.000 47.000
+ -8836643.14243 -6841114.46442 23786278.180 23786284.864 23786277.254
+ 2894.137 2255.172 48.000 42.000
+ -23054150.35743 -17948956.55242 20322494.440 20322497.016 20322493.213
+ -632.374 -492.759 56.000 51.000
+ -1338285.26653 -1052891.90352 25984286.882 25984295.085 25984292.098
+ -1626.257 -1267.213 37.000 32.000
+ -1779584.69443 -992179.02542 24814217.212 24814220.619 24814214.923
+ 3064.504 2387.925 48.000 38.000
+ -21813921.39043 -16939927.35442 21120236.315 21120240.650 21120235.131
+ -1394.549 -1086.661 54.000 48.000
+ 04 2 1 22 53 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -3067002.53052 25241528.904 25241536.737
+ -2331.209 -1816.526 39.000 32.000
+ -4478396.03543 -3484656.54242 22269684.519 22269685.877 22269683.216
+ -1887.572 -1470.835 54.000 46.000
+ 588461.07743 451977.80942 25055875.241 25055879.389 25055872.034
+ -2318.015 -1806.245 42.000 36.000
+ -23054922.55543 -17918434.67942 20896610.548 20896615.329 20896609.574
+ -1258.061 -980.307 55.000 49.000
+ -16956276.49243 -13202590.02242 21596716.669 21596721.748 21596715.271
+ -738.174 -575.200 55.000 49.000
+ -17311498.27543 -13479191.43742 21937524.585 21937528.451 21937523.506
+ 1407.823 1097.005 53.000 47.000
+ -8923503.27943 -6908797.66442 23769748.418 23769754.820 23769748.379
+ 2895.894 2256.541 48.000 41.000
+ -23034910.44543 -17933964.43142 20326155.624 20326158.084 20326154.440
+ -650.663 -507.010 56.000 51.000
+ -1871565.13543 -1063852.17542 24796712.617 24796717.154 24796711.770
+ 3067.153 2389.989 46.000 39.000
+ -21772031.89943 -16907286.23442 21128207.750 21128212.081 21128206.395
+ -1398.389 -1089.654 54.000 48.000
+ 04 2 1 22 53 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -3941601.51453 -3012553.15052 25254827.186 25254827.769 25254825.804
+ -2327.293 -1813.475 41.000 33.000
+ -4421763.90343 -3440527.67242 22280460.133 22280462.552 22280459.248
+ -1887.883 -1471.078 53.000 46.000
+ 658084.52443 506229.68142 25069122.956 25069127.728 25069122.888
+ -2323.529 -1810.542 41.000 36.000
+ -23016927.69543 -17888828.34442 20903840.950 20903845.714 20903839.927
+ -1274.843 -993.384 55.000 49.000
+ -16933995.15343 -13185227.98842 21600956.720 21600961.674 21600955.341
+ -747.067 -582.130 55.000 49.000
+ -17353481.69743 -13511905.81842 21929535.389 21929539.178 21929534.063
+ 1391.078 1083.957 53.000 47.000
+ -9010406.22343 -6976514.22942 23753211.950 23753217.254 23753210.003
+ 2897.759 2257.994 48.000 40.000
+ -23015114.91843 -17918539.36442 20329922.642 20329925.336 20329921.407
+ -668.868 -521.196 56.000 51.000
+ -1963617.96943 -1135581.68242 24779195.320 24779201.715 24779194.612
+ 3069.266 2391.636 45.000 38.000
+ -21730023.32643 -16874552.31542 21136201.828 21136205.830 21136200.480
+ -1402.064 -1092.517 54.000 48.000
+ 04 2 1 22 54 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -3871839.22443 -2958193.00942 25268101.655 25268112.141 25268100.733
+ -2323.731 -1810.699 39.000 34.000
+ -4365114.07643 -3396384.98542 22291240.762 22291243.204 22291239.911
+ -1888.341 -1471.434 54.000 46.000
+ 727884.19543 560618.89542 25082405.599 25082411.538 25082404.846
+ -2329.124 -1814.902 41.000 36.000
+ -22978425.56943 -17858826.74242 20911167.569 20911172.104 20911166.422
+ -1291.552 -1006.404 55.000 49.000
+ -16911438.17343 -13167651.16242 21605249.394 21605254.058 21605248.344
+ -756.217 -589.260 55.000 49.000
+ -17394955.46043 -13544223.05642 21921643.031 21921646.744 21921641.727
+ 1374.254 1070.847 53.000 47.000
+ -9097348.68643 -7044261.59442 23736667.092 23736672.003 23736667.963
+ 2899.116 2259.051 49.000 40.000
+ -22994764.39843 -17902681.83442 20333795.112 20333798.016 20333794.108
+ -687.215 -535.492 56.000 51.000
+ -2055741.39943 -1207366.19542 24761664.400 24761668.692 24761664.398
+ 3072.456 2394.122 46.000 38.000
+ -21687896.29743 -16841726.10142 21144218.424 21144222.462 21144217.054
+ -1405.907 -1095.512 55.000 48.000
+ 04 2 1 22 54 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -3802192.09353 -2903922.68952 25281356.723 25281360.034 25281356.755
+ -2319.992 -1807.786 41.000 35.000
+ -4308448.81543 -3352230.30342 22302023.208 22302025.967 22302022.341
+ -1889.113 -1472.036 53.000 46.000
+ 797858.39943 615144.15442 25095721.871 25095727.445 25095719.904
+ -2335.460 -1819.839 42.000 36.000
+ -22939419.33543 -17828432.31542 20918590.458 20918594.979 20918589.626
+ -1308.605 -1019.692 56.000 49.000
+ -16888605.82743 -13149859.77042 21609594.435 21609599.157 21609593.352
+ -765.722 -596.666 55.000 49.000
+ -17435919.63743 -13576143.21242 21913848.144 21913851.749 21913846.563
+ 1356.967 1057.377 53.000 47.000
+ -9184329.32543 -7112038.72142 23720115.548 23720120.539 23720113.833
+ 2899.859 2259.630 49.000 40.000
+ -22973861.85143 -17886394.15142 20337772.844 20337775.425 20337771.775
+ -705.996 -550.127 56.000 51.000
+ -2147935.57143 -1279205.81942 24744121.278 24744125.598 24744121.241
+ 3074.435 2395.664 45.000 38.000
+ -21645653.40943 -16808809.60342 21152256.932 21152260.816 21152255.561
+ -1410.087 -1098.769 54.000 48.000
+ 04 2 1 22 55 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -3732662.68853 -2849744.08352 25294584.937 25294591.968 25294587.682
+ -2315.693 -1804.436 39.000 34.000
+ -4251771.05543 -3308065.86842 22312808.887 22312811.143 22312807.978
+ -1889.157 -1472.070 53.000 46.000
+ 868004.78743 669803.58542 25109069.826 25109074.824 25109068.059
+ -2341.014 -1824.167 43.000 36.000
+ -22899913.06643 -17797648.25742 20926107.958 20926112.598 20926107.392
+ -1324.981 -1032.453 55.000 49.000
+ -16865499.07543 -13131854.54742 21613991.448 21613995.737 21613989.925
+ -774.514 -603.517 55.000 49.000
+ -17476375.17143 -13607667.02342 21906150.011 21906152.485 21906148.154
+ 1340.262 1044.360 54.000 47.000
+ -9271347.53043 -7179845.11942 23703556.622 23703561.082 23703555.905
+ 2901.366 2260.805 49.000 41.000
+ -22952410.36543 -17869678.72142 20341854.805 20341857.699 20341853.745
+ -723.950 -564.117 56.000 51.000
+ -2240201.05243 -1351101.03742 24726563.248 24726568.253 24726563.545
+ 3076.841 2397.538 45.000 38.000
+ -21603298.02543 -16775805.46042 21160316.984 21160321.020 21160315.637
+ -1413.530 -1101.452 54.000 48.000
+ 04 2 1 22 55 30.0000000 0 9G22G21G 3G15G31G25G14G11G23
+ -4195078.02543 -3263889.54242 22323596.760 22323599.634 22323595.768
+ -1889.254 -1472.146 53.000 46.000
+ 938326.56143 724599.65842 25122452.783 25122458.430 25122450.386
+ -2345.911 -1827.982 44.000 36.000
+ -22859905.38643 -17766473.48142 20933721.783 20933725.815 20933720.503
+ -1341.236 -1045.119 55.000 49.000
+ -16842113.74843 -13113632.24742 21618441.767 21618445.996 21618440.345
+ -783.473 -610.498 55.000 49.000
+ -17516317.69143 -13638791.08542 21898548.811 21898551.787 21898547.499
+ 1323.572 1031.355 54.000 47.000
+ -9358396.98243 -7247675.85842 23686991.826 23686999.005 23686989.521
+ 2902.834 2261.949 49.000 41.000
+ -22930408.14043 -17852534.14942 20346041.852 20346044.632 20346040.717
+ -741.831 -578.050 56.000 51.000
+ -2332533.36643 -1423048.34042 24708991.985 24708996.962 24708990.855
+ 3079.557 2399.655 45.000 38.000
+ -21560828.12943 -16742712.06642 21168398.787 21168402.466 21168397.457
+ -1416.873 -1104.057 54.000 48.000
+ 04 2 1 22 56 0.0000000 0 9G22G21G 3G15G31G25G14G11G23
+ -4138383.57343 -3219712.09842 22334385.770 22334388.138 22334384.608
+ -1889.984 -1472.715 53.000 46.000
+ 1008809.97543 779521.69742 25135864.840 25135869.602 25135864.615
+ -2351.448 -1832.297 43.000 37.000
+ -22819411.03043 -17734919.47942 20941426.910 20941431.906 20941426.109
+ -1358.017 -1058.195 55.000 49.000
+ -16818461.72743 -13095202.15542 21622942.332 21622947.058 21622941.208
+ -792.882 -617.830 55.000 49.000
+ -17555758.95643 -13669524.56542 21891043.461 21891046.969 21891041.794
+ 1306.275 1017.877 54.000 47.000
+ -9445488.28643 -7315539.20042 23670418.422 23670423.561 23670417.443
+ 2903.869 2262.755 48.000 41.000
+ -22907869.63043 -17834971.68942 20350330.771 20350333.363 20350329.587
+ -760.237 -592.392 56.000 51.000
+ -2424944.14543 -1495056.75842 24691407.350 24691413.702 24691406.907
+ 3081.759 2401.371 45.000 38.000
+ -21518257.80143 -16709540.42142 21176499.478 21176504.182 21176498.243
+ -1420.669 -1107.015 54.000 48.000
+ 04 2 1 22 56 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ 25334146.821
+ -2303.875 -1795.227 42.000
+ -4081663.17443 -3175514.45642 22345179.603 22345181.869 22345178.166
+ -1890.921 -1473.445 53.000 46.000
+ 1079480.66543 834589.66242 25149312.698 25149317.852 25149312.203
+ -2357.993 -1837.397 43.000 36.000
+ -22778406.65843 -17702968.07042 20949230.378 20949234.594 20949229.025
+ -1375.015 -1071.440 55.000 49.000
+ -16794516.68043 -13076543.72142 21627498.842 21627503.710 21627497.555
+ -802.775 -625.539 55.000 49.000
+ -17594672.58243 -13699846.89342 21883637.977 21883641.501 21883636.745
+ 1288.534 1004.052 53.000 47.000
+ -9532593.14743 -7383413.11042 23653842.014 23653849.840 23653839.830
+ 2903.994 2262.852 47.000 41.000
+ -22884770.95643 -17816972.74142 20354726.458 20354728.882 20354725.216
+ -779.025 -607.032 56.000 51.000
+ -2517406.85043 -1567105.60542 24673813.711 24673818.019 24673812.372
+ 3083.223 2402.511 46.000 39.000
+ -21475563.00043 -16676271.78442 21184624.115 21184628.487 21184622.792
+ -1424.988 -1110.380 54.000 48.000
+ 04 2 1 22 57 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -1355739.62253 -1066762.37352 25347289.999 25347296.669 25347288.452
+ -2300.730 -1792.777 39.000 35.000
+ -4024930.78243 -3131307.44442 22355975.551 22355978.394 22355974.443
+ -1891.430 -1473.841 53.000 46.000
+ 1150324.89543 889792.85342 25162794.589 25162799.658 25162795.386
+ -2364.373 -1842.368 43.000 37.000
+ -22736907.56843 -17670631.15942 20957127.178 20957131.481 20957126.733
+ -1391.545 -1084.321 55.000 49.000
+ -16770290.86943 -13057666.51842 21632109.275 21632113.774 21632107.788
+ -812.240 -632.914 55.000 49.000
+ -17633070.68643 -13729767.51842 21876331.803 21876335.114 21876330.251
+ 1271.250 990.584 53.000 47.000
+ -9619721.78743 -7451305.55342 23637263.476 23637267.669 23637263.135
+ 2904.518 2263.261 48.000 41.000
+ -22861126.78743 -17798548.73642 20359225.443 20359228.266 20359224.301
+ -797.164 -621.167 56.000 51.000
+ -2609933.51643 -1639204.32542 24656205.877 24656209.244 24656204.840
+ 3085.256 2404.096 46.000 38.000
+ -21432758.18243 -16642917.42142 21192769.480 21192773.998 21192768.121
+ -1428.712 -1113.282 54.000 48.000
+ 04 2 1 22 57 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -1286784.66343 -1013031.39642 25360411.630 25360417.853 25360409.973
+ -2296.243 -1789.280 42.000 35.000
+ -3968188.14643 -3087092.45942 22366773.078 22366774.759 22366772.303
+ -1891.351 -1473.780 53.000 46.000
+ 1221341.21243 945130.13742 25176307.171 25176313.467 25176307.026
+ -2370.108 -1846.837 43.000 36.000
+ -22694916.50143 -17637910.88942 20965118.609 20965122.793 20965116.764
+ -1407.575 -1096.812 55.000 49.000
+ -16745784.21743 -13038570.47642 21636772.429 21636777.287 21636771.248
+ -821.264 -639.946 55.000 49.000
+ -17670953.34543 -13759286.49442 21869122.563 21869126.313 21869121.371
+ 1254.304 977.380 54.000 47.000
+ -9706872.63243 -7519215.31442 23620677.732 23620683.019 23620677.289
+ 2905.556 2264.070 48.000 41.000
+ -22836939.45343 -17779701.48442 20363828.199 20363831.066 20363827.129
+ -814.950 -635.026 56.000 51.000
+ -2702523.67443 -1711352.49942 24638586.360 24638589.178 24638585.550
+ 3087.780 2406.062 45.000 38.000
+ -21389845.52443 -16609479.02842 21200935.413 21200940.219 21200934.073
+ -1431.843 -1115.722 54.000 48.000
+ 04 2 1 22 58 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -1217945.58143 -959390.63942 25373512.039 25373517.295 25373509.260
+ -2293.651 -1787.260 41.000 35.000
+ -3911436.11843 -3042870.16142 22377572.357 22377574.946 22377571.830
+ -1892.856 -1474.953 52.000 46.000
+ 1292529.35143 1000601.32842 25189854.029 25189859.470 25189852.498
+ -2376.389 -1851.732 42.000 36.000
+ -22652435.76543 -17604809.05642 20973201.644 20973206.778 20973200.744
+ -1425.175 -1110.526 55.000 49.000
+ -16720995.76243 -13019254.83942 21641489.876 21641494.214 21641488.171
+ -831.993 -648.306 56.000 49.000
+ -17708319.56343 -13788403.05342 21862012.140 21862016.043 21862010.655
+ 1235.920 963.054 53.000 47.000
+ -9794042.93943 -7587140.23942 23604090.776 23604096.012 23604089.843
+ 2905.163 2263.763 48.000 41.000
+ -22812210.58543 -17760432.25542 20368533.928 20368536.882 20368532.968
+ -834.312 -650.113 56.000 51.000
+ -2795176.18743 -1783549.24642 24620956.587 24620958.035 24620952.957
+ 3088.322 2406.485 45.000 38.000
+ -21346826.43743 -16575957.69442 21209121.768 21209126.098 21209120.637
+ -1436.679 -1119.490 54.000 48.000
+ 04 2 1 22 58 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -1149221.98943 -905839.90842 25386590.839 25386596.526 25386588.937
+ -2290.056 -1784.459 41.000 36.000
+ -3854675.44943 -2998641.12742 22388374.686 22388376.246 22388373.020
+ -1893.499 -1475.454 53.000 46.000
+ 1363888.98743 1056206.15442 25203433.832 25203438.998 25203434.547
+ -2382.905 -1856.809 42.000 35.000
+ -22609467.39243 -17571327.25042 20981378.327 20981383.123 20981377.642
+ -1441.647 -1123.361 55.000 49.000
+ -16695924.64943 -12999718.94742 21646260.985 21646265.028 21646259.427
+ -841.675 -655.851 55.000 49.000
+ -17745168.34043 -13817116.40742 21855000.376 21855004.079 21854998.576
+ 1218.442 949.435 54.000 47.000
+ -9881229.91843 -7655078.14142 23587499.407 23587505.163 23587497.944
+ 2905.347 2263.907 47.000 41.000
+ -22786941.82243 -17740742.32942 20373342.405 20373345.651 20373341.412
+ -852.540 -664.317 56.000 51.000
+ -2887889.84743 -1855793.64242 24603312.734 24603315.367 24603311.619
+ 3090.001 2407.793 45.000 39.000
+ -21303702.12643 -16542354.37342 21217327.582 21217332.488 21217326.798
+ -1440.507 -1122.473 54.000 47.000
+ 04 2 1 22 59 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -1080611.50143 -852377.28442 25399645.057 25399652.393 25399643.116
+ -2285.456 -1780.875 41.000 35.000
+ -3797904.03043 -2954403.71442 22399177.275 22399180.447 22399175.923
+ -1893.036 -1475.093 52.000 46.000
+ 1435422.98643 1111946.81142 25217048.233 25217052.452 25217047.911
+ -2387.941 -1860.733 44.000 36.000
+ -22566010.49243 -17537464.77542 20989648.001 20989652.516 20989646.908
+ -1457.003 -1135.327 55.000 49.000
+ -16670566.92543 -12979959.71242 21651086.463 21651090.277 21651084.672
+ -850.359 -662.617 56.000 49.000
+ -17781495.84443 -13845423.58242 21848087.538 21848091.466 21848085.712
+ 1201.933 936.571 54.000 47.000
+ -9968427.64343 -7723024.41642 23570906.603 23570911.708 23570905.407
+ 2906.499 2264.804 47.000 42.000
+ -22761131.83743 -17720630.67942 20378254.064 20378256.768 20378252.834
+ -869.626 -677.631 56.000 51.000
+ -2980660.38143 -1928082.37942 24585660.392 24585662.941 24585659.841
+ 3092.817 2409.987 47.000 39.000
+ -21260470.75343 -16508667.62442 21225554.716 21225559.266 21225553.176
+ -1443.156 -1124.537 54.000 48.000
+ 04 2 1 22 59 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -1012116.56643 -799004.69042 25412680.599 25412685.912 25412677.174
+ -2281.435 -1777.741 41.000 35.000
+ -3741125.13543 -2910160.49442 22409981.706 22409984.661 22409980.912
+ -1892.790 -1474.901 53.000 46.000
+ 1507128.01243 1167820.73442 25230692.764 25230698.901 25230692.019
+ -2393.080 -1864.738 44.000 36.000
+ -22522069.43843 -17503225.03642 20998009.640 20998014.275 20998008.522
+ -1472.866 -1147.688 55.000 49.000
+ -16644924.13443 -12959978.35642 21655965.561 21655970.432 21655964.560
+ -859.667 -669.870 56.000 49.000
+ -17817303.76343 -13873325.87742 21841272.744 21841276.509 21841271.763
+ 1184.925 923.318 54.000 47.000
+ -10055636.04843 -7790978.98542 23554311.698 23554315.900 23554310.276
+ 2907.103 2265.275 47.000 42.000
+ -22734784.64043 -17700100.41542 20383267.640 20383270.623 20383266.717
+ -887.340 -691.434 56.000 51.000
+ -3073488.87543 -2000416.25742 24567995.751 24567998.141 24567994.033
+ 3095.256 2411.888 46.000 39.000
+ -21217136.22643 -16474900.50242 21233800.843 21233805.594 21233799.476
+ -1446.355 -1127.030 54.000 48.000
+ 04 2 1 23 0 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -943736.66243 -745721.67042 25425693.206 25425701.523 25425690.317
+ -2277.108 -1774.370 41.000 35.000
+ -3684338.95243 -2865911.57942 22420787.744 22420790.035 22420786.518
+ -1893.081 -1475.128 52.000 45.000
+ 1579004.22243 1223828.07042 25244369.655 25244375.505 25244368.186
+ -2398.749 -1869.155 45.000 37.000
+ -22477646.13343 -17468609.51642 21006463.031 21006467.828 21006461.949
+ -1488.681 -1160.011 55.000 49.000
+ -16618995.01843 -12939773.88942 21660899.842 21660904.424 21660898.384
+ -868.945 -677.100 55.000 49.000
+ -17852590.73343 -13900822.23542 21834558.279 21834561.929 21834556.965
+ 1167.560 909.787 54.000 47.000
+ -10142852.06843 -7858939.50142 23537715.277 23537721.141 23537714.211
+ 2907.370 2265.483 47.000 42.000
+ -22707901.53443 -17679152.56442 20388383.867 20388386.203 20388382.589
+ -904.842 -705.072 56.000 51.000
+ -3166373.67343 -2072794.01142 24550319.648 24550323.600 24550319.121
+ 3097.219 2413.417 45.000 39.000
+ -21173699.31743 -16441053.59842 21242066.477 21242071.478 21242065.535
+ -1449.502 -1129.482 54.000 48.000
+ 04 2 1 23 0 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -875470.93043 -692527.77142 25438685.549 25438686.756 25438686.249
+ -2274.154 -1772.068 43.000 34.000
+ -3627545.84343 -2821657.27342 22431595.356 22431597.630 22431594.429
+ -1893.630 -1475.556 52.000 46.000
+ 1651051.81143 1279968.91442 25258079.258 25258086.194 25258078.908
+ -2404.647 -1873.751 44.000 36.000
+ -22432742.27443 -17433619.54542 21015008.173 21015013.013 21015006.995
+ -1505.067 -1172.779 55.000 49.000
+ -16592778.23143 -12919345.26442 21665888.913 21665893.589 21665887.428
+ -879.016 -684.947 55.000 49.000
+ -17887355.29643 -13927911.53042 21827942.442 21827946.763 21827941.009
+ 1149.700 895.870 54.000 47.000
+ -10230072.05643 -7926903.14442 23521116.818 23521123.654 23521116.527
+ 2907.146 2265.309 48.000 42.000
+ -22680483.54243 -17657787.91342 20393600.963 20393603.710 20393599.800
+ -923.125 -719.318 56.000 51.000
+ -3259313.07943 -2145214.32942 24532633.257 24532637.320 24532632.513
+ 3098.410 2414.345 44.000 38.000
+ -21130160.58843 -16407127.35242 21250352.176 21250356.514 21250350.470
+ -1453.292 -1132.435 54.000 48.000
+ 04 2 1 23 1 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -807317.43643 -639421.25642 25451651.663 25451658.612 25451649.669
+ -2270.776 -1769.436 41.000 35.000
+ -3570744.44043 -2777396.50142 22442404.007 22442406.714 22442403.861
+ -1894.270 -1476.054 53.000 45.000
+ 1723272.14943 1336244.38242 25271823.505 25271830.022 25271821.501
+ -2410.941 -1878.655 44.000 36.000
+ -22387358.05843 -17398255.26242 21023644.610 21023648.781 21023643.505
+ -1521.377 -1185.488 55.000 49.000
+ -16566270.85543 -12898690.19542 21670933.354 21670937.469 21670932.094
+ -889.065 -692.778 56.000 49.000
+ -17921594.73043 -13954591.62642 21821426.874 21821430.359 21821425.885
+ 1131.770 881.899 54.000 47.000
+ -10317291.48243 -7994866.35142 23504519.351 23504525.396 23504518.999
+ 2906.518 2264.819 48.000 42.000
+ -22652530.48743 -17636006.33742 20398920.556 20398923.002 20398919.254
+ -941.337 -733.509 56.000 51.000
+ -3352303.75943 -2217674.58442 24514937.413 24514940.407 24514935.603
+ 3099.744 2415.385 44.000 37.000
+ -21086519.46143 -16373121.31542 21258656.986 21258661.144 21258655.457
+ -1457.034 -1135.351 54.000 48.000
+ 04 2 1 23 1 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -739280.68843 -586405.82842 25464598.521 25464610.746 25464596.726
+ -2266.439 -1766.056 40.000 34.000
+ -3513940.32243 -2733133.61142 22453214.017 22453216.236 22453212.841
+ -1894.003 -1475.846 52.000 45.000
+ 1795660.26343 1392650.54442 25285597.458 25285603.997 25285597.614
+ -2415.843 -1882.475 43.000 36.000
+ -22341500.27443 -17362521.96742 21032371.291 21032375.578 21032370.146
+ -1536.859 -1197.552 55.000 49.000
+ -16539476.86343 -12877811.79742 21676031.528 21676036.597 21676030.700
+ -898.156 -699.862 55.000 49.000
+ -17955312.92143 -13980865.56142 21815010.886 21815014.294 21815009.570
+ 1114.739 868.628 54.000 47.000
+ -10404512.34343 -8062830.67942 23487923.079 23487928.111 23487920.294
+ 2907.162 2265.321 48.000 42.000
+ -22624048.70043 -17613812.75542 20404340.155 20404342.915 20404339.252
+ -958.500 -746.883 56.000 51.000
+ -3445349.10943 -2290177.44442 24497232.240 24497236.245 24497231.473
+ 3101.447 2416.712 44.000 38.000
+ -21042781.73443 -16339040.01242 21266980.025 21266984.658 21266978.385
+ -1459.967 -1137.637 54.000 48.000
+ 04 2 1 23 2 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -671356.52943 -533478.02142 25477525.749 25477531.398 25477520.193
+ -2261.792 -1762.435 40.000 33.000
+ -3457129.95443 -2688865.85042 22464024.945 22464027.910 22464023.622
+ -1893.440 -1475.408 52.000 45.000
+ 1868219.78643 1449190.31742 25299404.642 25299411.618 25299405.247
+ -2421.126 -1886.592 44.000 36.000
+ -22295166.89543 -17326418.07942 21041188.107 21041192.721 21041187.296
+ -1552.120 -1209.444 55.000 49.000
+ -16512391.14043 -12856706.08242 21681185.931 21681190.599 21681184.960
+ -907.659 -707.267 55.000 49.000
+ -17988504.77843 -14006729.36942 21808695.142 21808698.372 21808693.740
+ 1098.021 855.601 54.000 47.000
+ -10491727.44443 -8130790.49542 23471326.024 23471332.212 23471323.919
+ 2907.231 2265.375 49.000 43.000
+ -22595035.60543 -17591205.16942 20409861.144 20409864.224 20409859.904
+ -975.689 -760.277 56.000 51.000
+ -3538443.74843 -2362718.73342 24479515.824 24479520.229 24479514.716
+ 3104.046 2418.737 43.000 38.000
+ -20998944.37143 -16304881.07042 21275321.614 21275326.522 21275320.326
+ -1462.592 -1139.682 54.000 48.000
+ 04 2 1 23 2 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -603546.80753 -480639.26052 25490427.716 25490435.541 25490425.352
+ -2258.476 -1759.851 37.000 33.000
+ -3400315.76143 -2644595.12042 22474835.790 22474838.801 22474835.044
+ -1893.764 -1475.660 53.000 45.000
+ 1940948.48843 1505861.91442 25313245.625 25313250.752 25313244.148
+ -2427.328 -1891.424 43.000 36.000
+ -22248361.88543 -17289946.68742 21050094.907 21050099.266 21050093.985
+ -1567.766 -1221.636 55.000 49.000
+ -16485014.64743 -12835373.79742 21686395.571 21686400.610 21686394.485
+ -917.218 -714.715 55.000 49.000
+ -18021171.57043 -14032184.03542 21802478.283 21802482.141 21802476.960
+ 1080.078 841.619 54.000 47.000
+ -10578935.87043 -8198745.12142 23454730.613 23454734.982 23454730.288
+ 2906.872 2265.095 49.000 43.000
+ -22565495.05543 -17568186.57642 20415482.560 20415485.657 20415481.519
+ -993.437 -774.107 56.000 51.000
+ -3631587.93243 -2435298.58042 24461793.122 24461795.492 24461791.931
+ 3105.756 2420.070 46.000 38.000
+ -20955010.40043 -16270646.84842 21283682.405 21283686.850 21283681.248
+ -1465.982 -1142.324 54.000 48.000
+ 04 2 1 23 3 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -535852.70253 -427890.78252 25503311.857 25503317.640 25503311.704
+ -2254.466 -1756.727 42.000 35.000
+ -3343499.85543 -2600323.03242 22485648.013 22485650.146 22485646.584
+ -1893.879 -1475.750 53.000 45.000
+ 2013844.90943 1562664.20342 25327117.901 25327123.965 25327116.197
+ -2432.753 -1895.652 44.000 37.000
+ -22201088.71543 -17253110.49842 21059090.368 21059095.298 21059089.196
+ -1583.571 -1233.951 55.000 49.000
+ -16457347.69943 -12813815.18542 21691660.865 21691664.988 21691659.445
+ -927.118 -722.430 56.000 49.000
+ -18053313.63043 -14057229.81442 21796361.963 21796365.867 21796360.521
+ 1062.477 827.904 54.000 47.000
+ -10666135.75643 -8266693.09942 23438136.670 23438143.442 23438136.567
+ 2906.558 2264.850 50.000 43.000
+ -22535429.90943 -17544759.20842 20421203.683 20421206.930 20421202.585
+ -1010.879 -787.698 56.000 51.000
+ -3724781.54243 -2507917.01842 24444058.866 24444061.000 24444057.159
+ 3107.405 2421.355 46.000 39.000
+ -20910982.23043 -16236339.21442 21292060.775 21292065.186 21292059.674
+ -1469.151 -1144.793 54.000 48.000
+ 04 2 1 23 3 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -468271.31143 -375230.04242 25516171.045 25516177.894 25516171.067
+ -2250.974 -1754.006 42.000 36.000
+ -3286680.33643 -2556048.16242 22496460.002 22496461.858 22496458.687
+ -1894.263 -1476.049 52.000 45.000
+ 2086910.76943 1619598.51842 25341022.433 25341026.679 25341021.272
+ -2438.962 -1900.490 44.000 37.000
+ -22153347.29043 -17215909.43142 21068175.427 21068180.222 21068174.105
+ -1599.228 -1246.152 55.000 49.000
+ -16429387.05843 -12792027.70942 21696981.114 21696985.942 21696979.818
+ -936.929 -730.074 55.000 49.000
+ -18084927.81843 -14081864.27442 21790346.369 21790350.232 21790344.787
+ 1044.955 814.251 54.000 47.000
+ -10753321.99643 -8334630.45342 23421545.745 23421552.116 23421544.711
+ 2905.834 2264.286 49.000 43.000
+ -22504839.40143 -17520922.47642 20427025.201 20427027.860 20427023.981
+ -1028.556 -801.472 56.000 51.000
+ -3818020.82043 -2580570.99142 24426314.425 24426317.872 24426313.330
+ 3108.660 2422.332 46.000 39.000
+ -20866858.59643 -16201957.20042 21300457.012 21300461.634 21300455.508
+ -1472.329 -1147.269 54.000 48.000
+ 04 2 1 23 4 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -400799.56043 -322654.76742 25529010.516 25529016.140 25529010.169
+ -2247.350 -1751.182 42.000 36.000
+ -3229855.08743 -2511768.81242 22507274.108 22507276.139 22507273.587
+ -1894.118 -1475.936 53.000 45.000
+ 2160148.68543 1676666.91742 25354959.110 25354963.811 25354956.573
+ -2443.736 -1904.210 45.000 37.000
+ -22105137.05043 -17178343.06042 21077349.648 21077354.658 21077348.722
+ -1614.611 -1258.138 55.000 49.000
+ -16401128.84943 -12770008.36842 21702358.858 21702363.295 21702357.335
+ -946.651 -737.650 56.000 49.000
+ -18116010.44143 -14106084.52242 21784431.473 21784434.780 21784430.228
+ 1027.309 800.501 54.000 47.000
+ -10840489.17243 -8402552.93042 23404958.940 23404964.946 23404959.072
+ 2905.464 2263.998 50.000 43.000
+ -22473722.29443 -17496675.40642 20432946.505 20432949.312 20432945.344
+ -1045.795 -814.905 56.000 51.000
+ -3911301.29043 -2653257.10342 24408563.221 24408567.729 24408561.255
+ 3110.529 2423.789 45.000 39.000
+ -20822637.64543 -16167499.36542 21308872.250 21308876.384 21308871.051
+ -1475.412 -1149.672 54.000 47.000
+ 04 2 1 23 4 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -333439.97643 -270166.90942 25541829.205 25541836.447 25541827.674
+ -2243.155 -1747.913 41.000 35.000
+ -3173026.73143 -2467487.04642 22518088.197 22518090.992 22518086.601
+ -1894.036 -1475.872 52.000 45.000
+ 2233556.01743 1733867.34442 25368927.289 25368933.268 25368925.225
+ -2449.827 -1908.956 44.000 36.000
+ -22056462.19943 -17140414.65242 21086612.288 21086616.552 21086611.442
+ -1630.026 -1270.150 55.000 49.000
+ -16372574.42043 -12747758.20742 21707792.867 21707797.578 21707791.313
+ -956.577 -745.385 55.000 49.000
+ -18146562.95643 -14129891.70042 21778617.324 21778620.984 21778616.463
+ 1009.793 786.852 54.000 47.000
+ -10927636.46143 -8470459.92242 23388374.682 23388380.759 23388374.163
+ 2904.631 2263.349 50.000 43.000
+ -22442082.74443 -17472021.23442 20438967.065 20438970.014 20438966.200
+ -1063.177 -828.450 56.000 51.000
+ -4004623.54343 -2725975.76742 24390804.906 24390808.588 24390802.755
+ 3111.564 2424.595 45.000 38.000
+ -20778322.65843 -16132968.24242 21317305.019 21317309.361 21317303.652
+ -1478.475 -1152.058 54.000 47.000
+ 04 2 1 23 5 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -266196.36743 -217769.41942 25554623.358 25554632.966 25554623.547
+ -2239.629 -1745.165 41.000 35.000
+ -3116200.49843 -2423206.93442 22528901.223 22528904.153 22528900.723
+ -1894.405 -1476.160 52.000 45.000
+ 2307127.35043 1791195.58942 25382927.926 25382933.702 25382926.752
+ -2455.014 -1912.998 43.000 35.000
+ -22007329.88343 -17102129.77442 21095961.825 21095966.538 21095961.079
+ -1645.584 -1282.273 55.000 49.000
+ -16343727.55943 -12725280.17742 21713281.733 21713286.594 21713280.568
+ -966.630 -753.218 55.000 49.000
+ -18176589.46543 -14153288.99942 21772903.975 21772907.188 21772901.808
+ 991.833 772.857 54.000 47.000
+ -11014765.33143 -8538352.55842 23371795.582 23371800.926 23371794.403
+ 2903.750 2262.662 50.000 44.000
+ -22409927.13843 -17446964.94142 20445086.139 20445089.004 20445084.950
+ -1080.714 -842.115 56.000 51.000
+ -4097991.36043 -2798729.91842 24373036.291 24373042.222 24373035.267
+ 3112.655 2425.445 42.000 37.000
+ -20733919.47743 -16098368.40242 21325754.472 21325759.082 21325752.999
+ -1481.852 -1154.690 54.000 47.000
+ 04 2 1 23 5 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -199064.16243 -165458.66542 25567400.878 25567405.382 25567399.403
+ -2235.646 -1742.062 43.000 36.000
+ -3059372.32643 -2378925.31542 22539715.539 22539718.387 22539715.447
+ -1893.979 -1475.828 52.000 45.000
+ 2380867.27643 1848655.19842 25396959.139 25396965.476 25396956.983
+ -2460.666 -1917.402 41.000 35.000
+ -21957737.75343 -17063486.61142 21105398.690 21105403.526 21105397.976
+ -1660.360 -1293.787 55.000 49.000
+ -16314582.76943 -12702569.99942 21718828.387 21718833.119 21718826.631
+ -976.084 -760.585 55.000 49.000
+ -18206084.46743 -14176272.15242 21767290.507 21767294.492 21767289.153
+ 974.593 759.423 54.000 47.000
+ -11101868.15243 -8606224.89442 23355220.613 23355225.781 23355219.154
+ 2903.363 2262.361 50.000 44.000
+ -22377252.58843 -17421504.26742 20451303.603 20451306.867 20451302.512
+ -1097.442 -855.150 56.000 51.000
+ -4191398.26743 -2871514.52842 24355259.980 24355266.666 24355260.244
+ 3114.537 2426.912 42.000 37.000
+ -20689424.35843 -16063696.92742 21334222.039 21334226.462 21334220.505
+ -1484.287 -1156.587 54.000 48.000
+ 04 2 1 23 6 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -132044.01043 -113235.31342 25580155.164 25580160.945 25580152.286
+ -2231.814 -1739.076 40.000 35.000
+ -3002543.94743 -2334643.52442 22550529.844 22550531.986 22550529.247
+ -1894.217 -1476.013 52.000 45.000
+ 2454774.02943 1906244.78742 25411022.611 25411030.275 25411021.996
+ -2465.625 -1921.266 39.000 34.000
+ -21907689.00643 -17024487.64142 21114923.014 21114927.733 21114921.822
+ -1675.657 -1305.707 55.000 49.000
+ -16285140.34943 -12679627.90142 21724431.383 21724435.068 21724429.816
+ -986.203 -768.470 55.000 49.000
+ -18235048.34843 -14198841.44042 21761779.323 21761782.630 21761777.493
+ 956.756 745.524 54.000 47.000
+ -11188943.40343 -8674075.74942 23338650.820 23338656.355 23338649.567
+ 2902.250 2261.494 50.000 44.000
+ -22344061.80943 -17395641.34142 20457620.297 20457623.284 20457618.931
+ -1114.766 -868.649 56.000 51.000
+ -4284843.75843 -2944329.18742 24337479.612 24337485.001 24337479.662
+ 3115.503 2427.665 43.000 38.000
+ -20644839.52943 -16028955.54442 21342706.096 21342710.247 21342704.957
+ -1487.372 -1158.991 54.000 48.000
+ 04 2 1 23 6 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ -65134.36743 -61098.03142 25592887.264 25592887.050 25592886.106
+ -2228.005 -1736.108 40.000 32.000
+ -2945713.92543 -2290360.46542 22561344.453 22561345.600 22561343.485
+ -1893.680 -1475.595 52.000 45.000
+ 2528849.36943 1963965.71742 25425120.096 25425128.473 25425117.504
+ -2471.904 -1926.159 40.000 35.000
+ -21857184.01943 -16985133.15342 21124533.360 21124538.353 21124532.392
+ -1690.460 -1317.241 55.000 49.000
+ -16255397.46043 -12656451.66742 21730090.725 21730095.286 21730089.256
+ -995.826 -775.968 55.000 49.000
+ -18263478.63943 -14220994.94042 21756368.102 21756373.188 21756367.460
+ 939.367 731.974 54.000 47.000
+ -11275986.04843 -8741901.18942 23322086.246 23322092.465 23322085.866
+ 2901.600 2260.987 49.000 43.000
+ -22310355.12143 -17369376.40842 20464034.198 20464037.086 20464032.948
+ -1131.494 -881.684 56.000 51.000
+ -4378324.64843 -3017171.42842 24319690.388 24319696.431 24319689.313
+ 3117.389 2429.134 44.000 38.000
+ -20600164.03543 -15994143.51842 21351207.210 21351211.760 21351206.438
+ -1490.100 -1161.117 54.000 47.000
+ 04 2 1 23 7 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ 25605598.042
+ -2223.718 -1732.767 39.000
+ -2888887.29443 -2246080.05842 22572157.575 22572161.484 22572157.420
+ -1893.587 -1475.522 51.000 45.000
+ 1027668.42953 794214.22152 25439248.379 25439254.786 25439244.778
+ -2476.617 -1929.831 40.000 34.000
+ -21806229.54343 -16945428.41542 21134230.420 21134235.116 21134229.095
+ -1705.391 -1328.876 55.000 49.000
+ -16225357.62843 -12633044.04842 21735807.204 21735811.743 21735805.855
+ -1005.679 -783.646 55.000 49.000
+ -18291379.17343 -14242735.63742 21751059.524 21751063.790 21751058.631
+ 921.719 718.223 54.000 47.000
+ -11362997.69443 -8809702.45842 23305528.507 23305534.174 23305527.568
+ 2900.379 2260.036 49.000 43.000
+ -22276138.60344 -17342714.20142 20470545.616 20470548.256 20470544.315
+ -1148.373 -894.836 57.000 51.000
+ -4471843.82543 -3090043.50742 24301895.039 24301899.867 24301893.894
+ 3118.856 2430.277 44.000 38.000
+ -20555403.39143 -15959265.14042 21359725.274 21359729.821 21359723.970
+ -1492.764 -1163.193 54.000 47.000
+ 04 2 1 23 7 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ 68345.14443 42911.77342 25618287.408 25618291.892 25618285.299
+ -2220.703 -1730.418 42.000 33.000
+ -2832062.61943 -2201801.15642 22582971.765 22582973.731 22582969.953
+ -1893.826 -1475.708 52.000 45.000
+ 1102072.22653 852191.04052 25453406.140 25453410.497 25453407.344
+ -2482.427 -1934.359 39.000 34.000
+ -21754825.78443 -16905373.58342 21144012.066 21144016.564 21144010.655
+ -1720.613 -1340.737 55.000 49.000
+ -16195018.20243 -12609402.98642 21741580.729 21741585.603 21741579.705
+ -1016.075 -791.747 55.000 49.000
+ -18318747.12543 -14264061.34442 21745851.107 21745855.483 21745850.297
+ 903.572 704.082 54.000 47.000
+ -11449972.91043 -8877475.32842 23288978.283 23288983.895 23288977.134
+ 2898.861 2258.853 49.000 43.000
+ -22241411.81943 -17315654.39642 20477153.597 20477156.759 20477152.654
+ -1165.739 -908.368 56.000 51.000
+ -4565397.38143 -3162942.39442 24284092.365 24284096.893 24284092.132
+ 3119.127 2430.489 45.000 38.000
+ -20510556.46343 -15924319.52842 21368259.390 21368263.670 21368258.132
+ -1496.167 -1165.844 54.000 47.000
+ 04 2 1 23 8 0.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ 94787.56742 25630956.901 25630956.359
+ -2217.825 -1728.175 40.000 32.000
+ -2775238.13143 -2157522.40842 22593784.276 22593787.837 22593784.122
+ -1894.448 -1476.193 52.000 45.000
+ 1176643.27253 910298.21752 25467595.933 25467605.561 25467599.159
+ -2488.993 -1939.475 41.000 33.000
+ -21702972.78543 -16864968.69642 21153878.896 21153884.167 21153878.205
+ -1736.274 -1352.941 55.000 49.000
+ -16164376.07443 -12585526.04242 21747411.411 21747415.798 21747410.068
+ -1026.738 -800.055 55.000 48.000
+ -18345579.79743 -14284969.94742 21740745.599 21740749.321 21740744.348
+ 885.031 689.635 54.000 47.000
+ -11536906.60943 -8945215.87742 23272435.329 23272440.203 23272434.186
+ 2896.804 2257.250 49.000 43.000
+ -22206174.58543 -17288196.83342 20483859.005 20483862.014 20483857.949
+ -1183.349 -922.090 56.000 51.000
+ -4658982.08643 -3235865.54142 24266284.084 24266288.896 24266283.443
+ 3119.414 2430.712 45.000 38.000
+ -20465622.17043 -15889305.83642 21376809.763 21376814.017 21376808.774
+ -1499.579 -1168.503 54.000 47.000
+ 04 2 1 23 8 30.0000000 0 10G18G22G21G 3G15G31G25G14G11G23
+ 201380.25953 146575.32652 25643603.603 25643607.265 25643592.970
+ -2211.720 -1723.418 38.000 32.000
+ -2718417.74543 -2113246.84242 22604597.827 22604600.147 22604597.049
+ -1893.644 -1475.567 52.000 45.000
+ 1251376.99843 968532.15742 25481818.656 25481823.660 25481817.883
+ -2493.444 -1942.943 41.000 34.000
+ -21650676.70443 -16824218.56042 21163831.124 21163835.412 21163830.025
+ -1750.273 -1363.849 55.000 48.000
+ -16133433.96943 -12561415.35342 21753300.453 21753304.630 21753298.771
+ -1036.167 -807.403 55.000 49.000
+ -18371880.23143 -14305463.82242 21735740.435 21735744.519 21735739.719
+ 868.058 676.409 53.000 47.000
+ -11623799.83943 -9012924.89042 23255900.145 23255904.077 23255897.821
+ 2895.926 2256.566 50.000 43.000
+ -22170432.34143 -17260345.76542 20490660.643 20490663.505 20490659.262
+ -1199.582 -934.739 56.000 51.000
+ -4752599.87043 -3308814.44842 24248469.047 24248473.452 24248468.344
+ 3121.322 2432.199 45.000 38.000
+ -20420605.04543 -15854227.60442 21385376.909 21385380.982 21385375.556
+ -1501.694 -1170.151 54.000 47.000
+ 04 2 1 23 9 0.0000000 0 9G22G21G 3G15G31G25G14G11G23
+ -2661601.84143 -2068974.78042 22615410.000 22615412.526 22615408.840
+ -1894.272 -1476.056 52.000 45.000
+ 1326273.40743 1026892.90942 25496071.270 25496076.095 25496069.623
+ -2499.817 -1947.909 40.000 33.000
+ -21597939.32943 -16783124.54942 21173866.247 21173871.505 21173865.017
+ -1765.719 -1375.885 54.000 48.000
+ -16102190.41343 -12537069.76942 21759244.833 21759250.017 21759243.471
+ -1046.926 -815.786 55.000 48.000
+ -18397647.41943 -14325542.17642 21730837.770 21730841.581 21730836.018
+ 849.412 661.879 54.000 47.000
+ -11710648.92243 -9080599.49242 23239373.081 23239377.668 23239372.716
+ 2893.614 2254.764 50.000 43.000
+ -22134186.61943 -17232102.36842 20497557.690 20497561.122 20497556.893
+ -1216.997 -948.309 56.000 51.000
+ -4846248.32643 -3381787.27842 24230647.559 24230653.994 24230647.419
+ 3121.924 2432.668 45.000 38.000
+ -20375505.51743 -15819085.16342 21393959.260 21393963.363 21393957.778
+ -1505.065 -1172.778 54.000 47.000
+ 04 2 1 23 9 30.0000000 0 9G22G21G 3G15G31G25G14G11G23
+ -2604784.65543 -2024701.71742 22626221.980 22626223.073 22626221.089
+ -1893.644 -1475.567 52.000 45.000
+ 1085384.90052 25510355.080 25510366.302
+ -2505.097 -1952.024 36.000 31.000
+ -21544757.08643 -16741683.88842 21183986.970 21183991.798 21183985.439
+ -1779.830 -1386.880 55.000 48.000
+ -16070638.63343 -12512484.01542 21765250.038 21765254.419 21765247.941
+ -1056.608 -823.331 55.000 49.000
+ -18422874.78943 -14345199.89242 21726037.255 21726041.045 21726034.998
+ 832.084 648.377 54.000 47.000
+ -11797444.99743 -9148232.78542 23222856.200 23222861.681 23222856.659
+ 2892.469 2253.872 50.000 43.000
+ -22097433.29043 -17203463.43742 20504551.822 20504555.043 20504550.760
+ -1233.259 -960.981 56.000 51.000
+ -4939920.12743 -3454778.28942 24212824.318 24212828.828 24212822.684
+ 3122.946 2433.464 46.000 39.000
+ -20330318.60643 -15783874.62542 21402557.273 21402562.361 21402556.189
+ -1507.370 -1174.574 54.000 47.000
+ 04 2 1 23 10 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -2547976.50043 -1980435.68242 22637031.119 22637035.066 22637031.068
+ -1893.518 -1475.468 52.000 45.000
+ -21491141.97443 -16699905.92142 21194189.279 21194194.084 21194188.773
+ -1794.324 -1398.174 55.000 48.000
+ -16038787.84443 -12487665.26842 21771310.489 21771315.212 21771308.788
+ -1066.669 -831.171 55.000 48.000
+ -18447571.58343 -14364444.17142 21721337.303 21721341.807 21721336.045
+ 814.338 634.549 54.000 47.000
+ -11884194.81643 -9215830.02542 23206348.172 23206353.716 23206346.484
+ 2890.984 2252.715 49.000 43.000
+ -22060184.04243 -17174438.07442 20511640.038 20511643.261 20511638.949
+ -1249.961 -973.995 56.000 51.000
+ -5033623.50343 -3527793.91842 24194992.735 24194997.908 24194992.643
+ 3123.998 2434.284 46.000 39.000
+ -20285055.03143 -15748604.35342 21411170.804 21411175.812 21411169.675
+ -1510.189 -1176.771 54.000 47.000
+ 04 2 1 23 10 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -2491169.43443 -1936170.51542 22647842.035 22647844.597 22647840.922
+ -1893.714 -1475.621 52.000 45.000
+ -21437088.04543 -16657786.02942 21204475.918 21204480.472 21204474.837
+ -1809.272 -1409.822 55.000 48.000
+ -16006628.90943 -12462606.40142 21777429.350 21777434.737 21777428.282
+ -1077.371 -839.510 54.000 48.000
+ -18471729.09543 -14383268.22942 21716740.357 21716744.791 21716739.120
+ 796.082 620.324 54.000 47.000
+ -11970886.66243 -9283382.10942 23189850.876 23189856.452 23189850.099
+ 2888.592 2250.851 49.000 43.000
+ -22022432.61043 -17145021.40542 20518824.254 20518827.364 20518823.186
+ -1266.888 -987.185 56.000 51.000
+ -5127348.54543 -3600826.38542 24177157.498 24177161.436 24177156.949
+ 3124.184 2434.429 47.000 39.000
+ -20239707.39243 -15713268.58542 21419800.271 21419804.668 21419798.435
+ -1513.226 -1179.137 54.000 47.000
+ 04 2 1 23 11 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -2434368.97243 -1891910.48242 22658650.333 22658652.055 22658649.745
+ -1893.334 -1475.325 51.000 45.000
+ -21382602.87743 -16615330.09842 21214843.966 21214848.916 21214842.674
+ -1823.369 -1420.807 55.000 48.000
+ -15974165.81843 -12437310.53842 21783607.614 21783612.294 21783606.286
+ -1087.164 -847.141 55.000 48.000
+ -18495351.84243 -14401675.58942 21712244.715 21712249.103 21712243.547
+ 778.510 606.631 54.000 47.000
+ -12057522.74543 -9350890.72842 23173364.022 23173370.394 23173363.666
+ 2886.760 2249.423 50.000 43.000
+ -21984185.67844 -17115218.62842 20526102.390 20526105.493 20526101.300
+ -1283.163 -999.867 57.000 51.000
+ -5221098.62443 -3673878.40342 24159317.785 24159321.698 24159316.136
+ 3125.405 2435.381 47.000 39.000
+ -20194281.60543 -15677871.91142 21428444.454 21428449.327 21428443.280
+ -1515.517 -1180.922 54.000 47.000
+ 04 2 1 23 11 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -2377571.05043 -1847652.43042 22669458.763 22669461.057 22669457.708
+ -1893.983 -1475.831 51.000 45.000
+ -21327684.31443 -16572536.46242 21225294.270 21225299.500 21225293.256
+ -1838.509 -1432.604 54.000 48.000
+ -15941393.40143 -12411773.63442 21789843.874 21789849.178 21789842.382
+ -1098.254 -855.782 55.000 48.000
+ -18518434.74343 -14419662.28942 21707853.015 21707856.337 21707851.118
+ 759.713 591.984 54.000 47.000
+ -12144095.75343 -9418350.18042 23156890.938 23156896.372 23156889.791
+ 2883.932 2247.220 50.000 44.000
+ -21945440.86744 -17085027.89542 20533475.350 20533478.202 20533474.380
+ -1300.490 -1013.369 57.000 51.000
+ -5314867.43143 -3746945.00942 24141474.335 24141478.329 24141473.200
+ 3125.188 2435.211 48.000 40.000
+ -20148774.05443 -15642411.53842 21437104.207 21437108.895 21437103.750
+ -1518.901 -1183.559 53.000 47.000
+ 04 2 1 23 12 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -2320780.86643 -1803400.39642 22680265.277 22680267.916 22680264.875
+ -1892.640 -1474.784 51.000 44.000
+ -21272339.63643 -16529410.78642 21235826.431 21235831.260 21235825.141
+ -1851.686 -1442.872 55.000 48.000
+ -15908315.68243 -12385998.84242 21796138.246 21796143.139 21796137.120
+ -1107.496 -862.984 55.000 48.000
+ -18540982.28943 -14437231.83742 21703561.976 21703565.432 21703560.682
+ 742.839 578.836 54.000 47.000
+ -12230607.33643 -9485761.76642 23140428.580 23140433.170 23140427.461
+ 2882.834 2246.364 51.000 44.000
+ -21906205.10744 -17054454.61042 20540941.755 20540944.719 20540940.571
+ -1315.766 -1025.272 57.000 51.000
+ -5408658.21643 -3820028.73742 24123626.471 24123631.021 24123623.429
+ 3126.826 2436.488 47.000 40.000
+ -20103190.51643 -15606891.93442 21445778.905 21445783.128 21445777.815
+ -1520.474 -1184.785 53.000 47.000
+ 04 2 1 23 12 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -2263997.27643 -1759153.51242 22691072.069 22691072.903 22691071.301
+ -1891.948 -1474.245 51.000 45.000
+ -21216569.96243 -16485953.94442 21246439.101 21246443.560 21246438.007
+ -1865.257 -1453.447 55.000 48.000
+ -15874930.56043 -12359984.51242 21802491.266 21802496.135 21802489.975
+ -1117.183 -870.532 54.000 48.000
+ -18562992.74343 -14454382.86542 21699373.361 21699377.738 21699372.300
+ 725.367 565.221 54.000 47.000
+ -12317053.24243 -9553122.19442 23123978.380 23123982.499 23123976.945
+ 2881.239 2245.121 50.000 44.000
+ -21866478.92044 -17023499.16442 20548501.276 20548504.205 20548500.482
+ -1331.586 -1037.599 57.000 51.000
+ -5502468.38343 -3893127.57542 24105773.629 24105780.492 24105773.465
+ 3127.993 2437.397 46.000 39.000
+ -20057530.47643 -15571312.73042 21454467.820 21454472.371 21454466.436
+ -1522.550 -1186.402 54.000 47.000
+ 04 2 1 23 13 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -2207217.42243 -1714909.53242 22701876.362 22701878.049 22701875.575
+ -1892.695 -1474.827 51.000 45.000
+ -21160374.08143 -16442164.99542 21257133.198 21257137.779 21257131.950
+ -1880.347 -1465.205 55.000 48.000
+ -15841233.65143 -12333727.23642 21808903.854 21808909.327 21808902.554
+ -1128.403 -879.275 54.000 48.000
+ -18584462.14143 -14471112.29442 21695288.469 21695292.374 21695287.267
+ 706.574 550.577 54.000 47.000
+ -12403426.76743 -9620426.21142 23107542.458 23107546.729 23107540.639
+ 2877.586 2242.275 51.000 44.000
+ -21826260.52744 -16992160.18542 20556154.737 20556157.759 20556153.459
+ -1348.850 -1051.052 57.000 51.000
+ -5596292.21143 -3966237.03342 24087919.243 24087924.918 24087918.252
+ 3127.431 2436.959 46.000 39.000
+ -20011791.20243 -15535671.78642 21463171.463 21463176.630 21463170.249
+ -1525.920 -1189.028 53.000 47.000
+ 04 2 1 23 13 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -2150447.95043 -1670673.65042 22712679.459 22712682.152 22712678.041
+ -1892.201 -1474.442 51.000 45.000
+ -21103761.04643 -16398050.99442 21267905.612 21267910.939 21267904.609
+ -1894.083 -1475.909 54.000 48.000
+ -15807230.68843 -12307231.48242 21815374.258 21815379.278 21815373.001
+ -1138.607 -887.226 54.000 48.000
+ -18605396.54243 -14487424.84742 21691304.292 21691308.573 21691303.070
+ 688.677 536.631 54.000 47.000
+ -12489731.32243 -9687676.49642 23091118.351 23091124.000 23091116.494
+ 2875.595 2240.723 50.000 43.000
+ -21785558.66043 -16960444.47742 20563899.730 20563902.905 20563898.847
+ -1364.859 -1063.526 56.000 51.000
+ -5690134.62443 -4039360.97242 24070063.913 24070067.938 24070062.550
+ 3128.350 2437.675 47.000 40.000
+ -19965980.02643 -15499974.80142 21471889.549 21471894.602 21471888.043
+ -1528.222 -1190.822 54.000 47.000
+ 04 2 1 23 14 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -2093684.95943 -1626442.81542 22723480.583 22723484.420 22723479.401
+ -1892.295 -1474.515 51.000 45.000
+ -21046728.86643 -16353610.38342 21278758.520 21278763.954 21278757.758
+ -1908.236 -1486.937 54.000 48.000
+ -15772916.79643 -12280493.42842 21821904.291 21821908.991 21821902.556
+ -1149.146 -895.438 54.000 48.000
+ -18625791.27743 -14503316.87542 21687423.535 21687427.380 21687422.049
+ 670.537 522.496 54.000 47.000
+ -12575959.07443 -9754866.93242 23074709.416 23074715.366 23074708.568
+ 2872.683 2238.454 50.000 44.000
+ -21744370.99044 -16928350.21842 20571737.847 20571740.689 20571736.658
+ -1381.200 -1076.260 57.000 51.000
+ -5783989.64343 -4112494.73942 24052203.727 24052207.487 24052202.035
+ 3128.525 2437.812 48.000 40.000
+ -19920093.47443 -15464219.09042 21480621.172 21480626.044 21480619.764
+ -1530.938 -1192.939 54.000 47.000
+ 04 2 1 23 14 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -2036928.74943 -1582217.25042 22734281.166 22734284.178 22734279.725
+ -1892.167 -1474.416 51.000 45.000
+ -20989280.12343 -16308845.17042 21289690.945 21289695.761 21289689.858
+ -1922.059 -1497.708 55.000 48.000
+ -15738291.16343 -12253512.47342 21828493.068 21828498.347 21828491.580
+ -1159.627 -903.605 55.000 48.000
+ -18645646.04243 -14518788.14742 21683645.605 21683649.285 21683643.992
+ 652.540 508.473 54.000 48.000
+ -12662107.19243 -9821995.30842 23058316.208 23058322.272 23058314.891
+ 2870.115 2236.453 50.000 44.000
+ -21702699.50444 -16895878.96242 20579667.721 20579670.450 20579666.675
+ -1397.308 -1088.811 57.000 51.000
+ -5877855.51243 -4185636.97942 24034341.767 24034344.031 24034340.914
+ 3128.834 2438.052 47.000 40.000
+ -19874132.40143 -15428405.31842 21489367.472 21489372.252 21489366.426
+ -1533.511 -1194.944 54.000 47.000
+ 04 2 1 23 15 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1980181.13543 -1537998.38742 22745079.707 22745082.855 22745079.662
+ -1891.810 -1474.138 51.000 45.000
+ -20931418.69343 -16263758.39142 21300701.687 21300706.772 21300700.626
+ -1935.908 -1508.500 54.000 48.000
+ -15703354.33743 -12226289.02942 21835141.751 21835146.463 21835140.124
+ -1170.077 -911.748 55.000 48.000
+ -18664962.02143 -14533839.59342 21679969.535 21679973.325 21679968.244
+ 634.593 494.488 54.000 48.000
+ -12748174.16543 -9889060.45142 23041938.403 23041944.216 23041937.832
+ 2867.293 2234.254 50.000 44.000
+ -21660547.72143 -16863033.44142 20587688.788 20587691.920 20587687.805
+ -1413.352 -1101.313 56.000 51.000
+ -5971731.99643 -4258787.45742 24016476.950 24016480.552 24016475.337
+ 3129.116 2438.272 48.000 40.000
+ -19828099.09443 -15392535.26642 21498127.398 21498131.437 21498126.272
+ -1535.876 -1196.786 53.000 47.000
+ 04 2 1 23 15 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1923441.40743 -1493785.67142 22755878.026 22755880.191 22755876.721
+ -1891.061 -1473.554 51.000 45.000
+ -20873146.04843 -16218351.19342 21311790.451 21311795.213 21311789.198
+ -1949.074 -1518.759 54.000 48.000
+ -15668104.68743 -12198821.81942 21841849.723 21841854.391 21841848.036
+ -1180.026 -919.501 55.000 48.000
+ -18683737.89743 -14548470.17042 21676396.833 21676400.662 21676395.285
+ 616.939 480.732 54.000 48.000
+ -12834155.73443 -9956059.04642 23025576.770 23025581.846 23025575.724
+ 2864.800 2232.312 51.000 44.000
+ -21617916.75344 -16829814.53442 20595801.243 20595804.411 20595800.208
+ -1428.873 -1113.407 57.000 51.000
+ -6065616.11843 -4331943.89442 23998611.064 23998616.294 23998610.309
+ 3129.848 2438.843 47.000 40.000
+ -19781993.19143 -15356608.64242 21506900.624 21506905.952 21506900.173
+ -1537.905 -1198.367 53.000 47.000
+ 04 2 1 23 16 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1866711.13043 -1449580.33342 22766673.278 22766675.937 22766671.840
+ -1890.902 -1473.430 51.000 45.000
+ -20814465.86843 -16172626.43242 21322957.003 21322962.035 21322955.754
+ -1962.770 -1529.431 54.000 48.000
+ -15632542.46443 -12171111.04942 21848616.419 21848621.883 21848615.176
+ -1190.615 -927.752 55.000 48.000
+ -18701974.46143 -14562680.51342 21672926.201 21672930.958 21672924.808
+ 598.892 466.669 54.000 48.000
+ -12920049.82643 -10022989.48942 23009232.838 23009237.126 23009231.539
+ 2861.794 2229.969 52.000 45.000
+ -21574809.72343 -16796224.67142 20604004.075 20604007.296 20604003.105
+ -1444.713 -1125.750 56.000 51.000
+ -6159507.47943 -4405105.93742 23980743.426 23980748.888 23980742.933
+ 3129.578 2438.632 47.000 39.000
+ -19735816.71443 -15320627.02542 21515688.275 21515692.882 21515686.614
+ -1540.338 -1200.263 53.000 47.000
+ 04 2 1 23 16 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1809990.29643 -1405382.34942 22777466.297 22777470.458 22777465.523
+ -1890.430 -1473.062 50.000 44.000
+ -20755380.70143 -16126586.09342 21334200.515 21334205.510 21334199.457
+ -1976.144 -1539.852 54.000 48.000
+ -15596667.06643 -12143156.24742 21855444.184 21855448.493 21855442.135
+ -1201.015 -935.856 55.000 48.000
+ -18719671.50743 -14576470.44742 21669558.733 21669563.223 21669557.186
+ 580.948 452.687 54.000 48.000
+ -13005853.41743 -10089849.40842 22992903.826 22992908.916 22992902.799
+ 2858.676 2227.540 51.000 44.000
+ -21531228.61944 -16762265.39542 20612297.490 20612300.397 20612296.231
+ -1460.610 -1138.138 57.000 51.000
+ -6253404.44843 -4478272.42342 23962875.616 23962880.822 23962873.835
+ 3130.123 2439.057 46.000 40.000
+ -19689570.34443 -15284590.93242 21524488.897 21524493.264 21524487.506
+ -1542.589 -1202.017 54.000 47.000
+ 04 2 1 23 17 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1753276.46743 -1361189.82642 22788259.069 22788261.267 22788259.021
+ -1890.130 -1472.828 51.000 45.000
+ -20695890.17643 -16080229.89342 21345521.640 21345526.288 21345520.250
+ -1989.580 -1550.322 54.000 48.000
+ -15560475.11743 -12114954.78942 21862330.923 21862335.984 21862329.432
+ -1211.456 -943.992 54.000 48.000
+ -18736825.95143 -14589837.58742 21666294.681 21666298.926 21666293.378
+ 562.860 438.592 54.000 48.000
+ -13091560.64743 -10156634.23142 22976593.840 22976598.866 22976592.441
+ 2855.483 2225.052 50.000 44.000
+ -21487172.57843 -16727936.03442 20620681.106 20620684.279 20620679.908
+ -1476.284 -1150.351 56.000 51.000
+ -6347302.60543 -4551439.78642 23945007.669 23945011.139 23945007.350
+ 3130.227 2439.138 47.000 40.000
+ -19643252.00043 -15248498.76042 21533302.551 21533307.162 21533301.004
+ -1545.000 -1203.896 53.000 47.000
+ 04 2 1 23 17 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1696575.76743 -1317007.53042 22799049.222 22799050.826 22799048.443
+ -1889.874 -1472.629 51.000 45.000
+ -20636002.59043 -16033564.29542 21356918.015 21356922.847 21356916.438
+ -2002.806 -1560.628 54.000 48.000
+ -15523971.68343 -12086510.60742 21869277.283 21869281.967 21869275.844
+ -1221.929 -952.152 54.000 48.000
+ -18753443.48343 -14602786.34542 21663132.410 21663136.487 21663131.111
+ 544.952 424.638 54.000 48.000
+ -13177174.33643 -10223346.20542 22960302.307 22960308.360 22960301.284
+ 2852.219 2222.508 51.000 44.000
+ -21442649.88744 -16693243.05342 20629153.612 20629156.560 20629152.506
+ -1491.790 -1162.434 57.000 51.000
+ -6441205.18643 -4624610.60342 23927138.876 23927143.644 23927138.196
+ 3130.269 2439.171 47.000 40.000
+ -19596868.33943 -15212355.69142 21542129.204 21542134.102 21542127.869
+ -1547.208 -1205.617 53.000 47.000
+ 04 2 1 23 18 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1639883.73943 -1272831.99642 22809836.987 22809839.463 22809836.046
+ -1889.394 -1472.255 51.000 45.000
+ -20575715.85643 -15986587.67242 21368389.921 21368395.692 21368388.905
+ -2016.005 -1570.913 54.000 48.000
+ -15487151.11343 -12057819.30542 21876283.866 21876288.792 21876281.887
+ -1232.422 -960.329 54.000 48.000
+ -18769519.15243 -14615312.86642 21660072.989 21660076.984 21660072.144
+ 526.931 410.596 54.000 48.000
+ -13262686.48743 -10289979.04542 22944029.905 22944035.127 22944029.642
+ 2848.767 2219.818 51.000 44.000
+ -21397657.64544 -16658184.19142 20637715.362 20637718.335 20637714.014
+ -1507.339 -1174.550 57.000 51.000
+ -6535106.05943 -4697780.08842 23909270.489 23909273.192 23909268.862
+ 3130.270 2439.171 48.000 40.000
+ -19550415.31243 -15176158.57942 21550968.840 21550973.581 21550967.827
+ -1549.473 -1207.381 53.000 47.000
+ 04 2 1 23 18 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1583202.67743 -1228665.00942 22820623.303 22820625.393 22820622.406
+ -1889.230 -1472.127 51.000 45.000
+ -20515034.65843 -15939303.68242 21379936.925 21379942.160 21379936.139
+ -2029.338 -1581.302 54.000 48.000
+ -15450015.26643 -12028882.33642 21883350.998 21883355.676 21883349.628
+ -1243.155 -968.692 54.000 48.000
+ -18785055.15843 -14627418.87842 21657116.944 21657120.874 21657115.168
+ 508.704 396.393 54.000 48.000
+ -13348096.25643 -10356532.12642 22927777.436 22927782.201 22927776.249
+ 2845.112 2216.970 51.000 44.000
+ -21352200.41644 -16622763.00442 20646365.384 20646368.783 20646364.260
+ -1523.054 -1186.795 57.000 51.000
+ -6629005.68543 -4770948.59442 23891401.412 23891405.520 23891401.374
+ 3129.985 2438.949 48.000 40.000
+ -19503895.98543 -15139909.80542 21559821.403 21559825.390 21559819.577
+ -1551.800 -1209.195 53.000 47.000
+ 04 2 1 23 19 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1526530.79743 -1184505.18042 22831407.525 22831410.700 22831406.444
+ -1889.241 -1472.136 51.000 45.000
+ -20453959.36443 -15891712.59642 21391559.183 21391564.856 21391558.420
+ -2042.702 -1591.716 54.000 48.000
+ -15412561.09643 -11999697.32042 21890477.949 21890482.458 21890476.840
+ -1254.069 -977.197 54.000 48.000
+ -18800049.11643 -14639102.51042 21654263.581 21654267.743 21654262.191
+ 490.494 382.203 54.000 48.000
+ -13433398.12743 -10423001.10942 22911544.322 22911548.620 22911543.441
+ 2841.261 2213.970 51.000 44.000
+ -21306278.14544 -16586979.44642 20655104.358 20655107.144 20655103.304
+ -1538.721 -1199.003 57.000 51.000
+ -6722900.19943 -4844113.13242 23873533.783 23873537.119 23873532.402
+ 3129.356 2438.459 47.000 40.000
+ -19457308.72343 -15103608.10142 21568685.969 21568691.573 21568685.049
+ -1554.276 -1211.124 53.000 47.000
+ 04 2 1 23 19 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1469870.20943 -1140354.14142 22842189.443 22842191.609 22842188.096
+ -1888.629 -1471.659 51.000 44.000
+ -20392494.45343 -15843817.92542 21403256.245 21403261.036 21403255.100
+ -2055.378 -1601.593 54.000 48.000
+ -15374789.73943 -11970265.13442 21897665.755 21897670.706 21897664.282
+ -1264.387 -985.237 54.000 48.000
+ -18814502.62143 -14650365.00442 21651513.355 21651517.529 21651511.945
+ 472.674 368.317 54.000 48.000
+ -13518590.35343 -10489384.64542 22895333.492 22895338.153 22895331.078
+ 2837.806 2211.277 51.000 44.000
+ -21259894.54744 -16550836.41642 20663930.660 20663933.914 20663929.675
+ -1553.873 -1210.810 57.000 51.000
+ -6816789.36743 -4917273.51042 23855666.779 23855670.215 23855666.838
+ 3129.297 2438.413 47.000 40.000
+ -19410656.05243 -15067255.41442 21577563.813 21577569.002 21577562.678
+ -1556.183 -1212.610 53.000 47.000
+ 04 2 1 23 20 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1413221.83343 -1096212.61642 22852969.991 22852973.978 22852969.638
+ -1889.136 -1472.054 51.000 44.000
+ -20330643.38343 -15795622.34142 21415026.213 21415031.145 21415025.153
+ -2069.141 -1612.318 55.000 48.000
+ -15336701.51843 -11940586.06142 21904914.181 21904918.422 21904912.117
+ -1275.961 -994.255 54.000 48.000
+ -18828416.50643 -14661207.02642 21648865.132 21648869.458 21648863.962
+ 453.582 353.441 54.000 48.000
+ -13603671.18143 -10555681.38042 22879142.272 22879148.074 22879141.179
+ 2833.166 2207.662 50.000 44.000
+ -21213052.86044 -16514336.43242 20672844.854 20672847.635 20672843.305
+ -1569.982 -1223.362 57.000 51.000
+ -6910672.26943 -4990429.00242 23837800.698 23837806.219 23837799.454
+ 3128.331 2437.661 46.000 40.000
+ -19363939.56643 -15030853.01542 21586453.733 21586458.752 21586452.544
+ -1559.098 -1214.881 53.000 47.000
+ 04 2 1 23 20 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1356581.96043 -1052077.73442 22863747.796 22863750.155 22863746.774
+ -1887.720 -1470.951 51.000 44.000
+ -20268405.04843 -15747124.99342 21426869.570 21426874.437 21426868.528
+ -2080.913 -1621.491 55.000 48.000
+ -15298292.00843 -11910656.62542 21912222.734 21912227.644 21912221.194
+ -1285.578 -1001.749 54.000 48.000
+ -18841786.83843 -14671625.49442 21646321.377 21646325.238 21646320.202
+ 436.777 340.346 54.000 48.000
+ -13688633.37243 -10621885.67842 22862974.027 22862979.528 22862973.152
+ 2830.275 2205.409 51.000 44.000
+ -21165751.14544 -16477477.98242 20681845.727 20681848.711 20681844.690
+ -1584.226 -1234.462 57.000 51.000
+ -7004543.22343 -5063575.19042 23819938.541 23819943.450 23819937.481
+ 3128.869 2438.080 48.000 41.000
+ -19317155.87543 -14994398.22942 21595356.342 21595361.697 21595355.636
+ -1560.441 -1215.928 53.000 47.000
+ 04 2 1 23 21 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1299955.67443 -1007953.43242 22874523.055 22874526.082 22874522.281
+ -1886.908 -1470.318 51.000 44.000
+ -20205786.58843 -15698331.43742 21438785.550 21438790.443 21438784.451
+ -2093.280 -1631.127 54.000 48.000
+ -15259565.31843 -11880480.03142 21919592.651 21919597.510 21919590.989
+ -1295.813 -1009.724 54.000 48.000
+ -18854618.37243 -14681624.12942 21643878.697 21643883.390 21643877.995
+ 419.140 326.603 53.000 47.000
+ -13773478.54343 -10687998.80142 22846829.313 22846834.298 22846828.567
+ 2826.496 2202.464 52.000 45.000
+ -21117996.47744 -16440266.58742 20690932.846 20690936.119 20690931.764
+ -1598.983 -1245.961 57.000 51.000
+ -7098405.12743 -5136714.33542 23802077.963 23802080.427 23802075.698
+ 3128.767 2438.000 48.000 41.000
+ -19270310.68243 -14957895.53142 21604271.080 21604275.138 21604269.521
+ -1562.177 -1217.281 53.000 46.000
+ 04 2 1 23 21 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1243344.26943 -963840.71942 22885297.142 22885299.909 22885295.576
+ -1886.879 -1470.295 52.000 45.000
+ -20142791.74443 -15649244.61142 21450772.406 21450778.111 21450771.636
+ -2106.162 -1641.165 54.000 47.000
+ -15220522.00043 -11850056.73142 21927021.805 21927027.274 21927020.483
+ -1306.922 -1018.381 54.000 48.000
+ -18866912.40843 -14691203.93442 21641539.337 21641543.724 21641538.356
+ 400.712 312.243 54.000 47.000
+ -13858204.79343 -10754019.25642 22830707.110 22830711.720 22830706.007
+ 2822.015 2198.973 52.000 45.000
+ -21069792.38544 -16402704.99242 20700105.949 20700109.092 20700104.899
+ -1614.503 -1258.054 57.000 51.000
+ -7192257.04443 -5209845.68242 23784218.487 23784222.975 23784217.134
+ 3128.083 2437.467 48.000 41.000
+ -19223405.76143 -14921346.29042 21613196.554 21613201.426 21613194.954
+ -1564.496 -1219.088 53.000 46.000
+ 04 2 1 23 22 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1186742.33143 -919735.40642 22896067.591 22896069.456 22896066.955
+ -1887.055 -1470.432 51.000 44.000
+ -20079417.51143 -15599862.15042 21462832.645 21462837.585 21462831.465
+ -2119.160 -1651.293 54.000 47.000
+ -15181155.43543 -11819381.53142 21934513.489 21934518.058 21934511.557
+ -1318.020 -1027.028 54.000 48.000
+ -18878662.98843 -14700360.26542 21639303.530 21639307.821 21639302.810
+ 382.201 297.819 54.000 48.000
+ -13942802.99643 -10819939.93742 22814607.823 22814613.987 22814606.765
+ 2817.495 2195.451 52.000 45.000
+ -21021135.18644 -16364790.32442 20709365.192 20709368.194 20709364.070
+ -1629.811 -1269.982 57.000 51.000
+ -7286091.51643 -5282963.45642 23766360.797 23766365.485 23766361.341
+ 3127.224 2436.798 48.000 41.000
+ -19176435.88043 -14884746.44242 21622134.410 21622140.074 21622133.175
+ -1567.057 -1221.083 53.000 47.000
+ 04 2 1 23 22 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1130155.37943 -875641.74342 22906834.949 22906838.760 22906834.155
+ -1885.553 -1469.262 51.000 45.000
+ -20015672.11443 -15550190.46742 21474962.761 21474968.059 21474962.145
+ -2130.652 -1660.248 54.000 47.000
+ -15141470.92043 -11788458.60242 21942065.361 21942070.206 21942063.650
+ -1327.704 -1034.574 54.000 48.000
+ -18889875.92643 -14709097.65042 21637169.975 21637174.609 21637168.708
+ 365.240 284.603 54.000 47.000
+ -14027275.74543 -10885762.86042 22798533.172 22798539.158 22798532.118
+ 2814.027 2192.748 52.000 45.000
+ -20972032.91044 -16326528.84542 20718709.115 20718712.416 20718707.874
+ -1643.743 -1280.839 57.000 51.000
+ -7379912.48343 -5356070.68042 23748507.649 23748513.281 23748506.936
+ 3127.370 2436.912 47.000 41.000
+ -19129407.34543 -14848100.87142 21631084.377 21631089.757 21631082.648
+ -1568.231 -1221.998 53.000 47.000
+ 04 2 1 23 23 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1073581.44643 -831558.21742 22917601.025 22917603.396 22917600.411
+ -1885.950 -1469.571 51.000 44.000
+ -19951556.12843 -15500230.02342 21487163.940 21487169.256 21487162.989
+ -2143.808 -1670.500 54.000 47.000
+ -15101465.48543 -11757285.59442 21949677.783 21949682.989 21949676.235
+ -1339.295 -1043.606 54.000 48.000
+ -18900548.92743 -14717414.30142 21635138.872 21635143.303 21635137.992
+ 346.373 269.901 54.000 48.000
+ -14111617.35143 -10951483.59342 22782483.343 22782488.833 22782483.096
+ 2808.850 2188.714 51.000 45.000
+ -20922485.38044 -16287920.41642 20728137.355 20728141.043 20728136.311
+ -1659.391 -1293.032 57.000 51.000
+ -7473715.43843 -5429163.88242 23730658.371 23730662.152 23730656.230
+ 3126.078 2435.905 47.000 41.000
+ -19082318.60143 -14811408.39242 21640045.266 21640050.750 21640044.396
+ -1571.003 -1224.158 53.000 47.000
+ 04 2 1 23 23 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -1017019.01343 -787483.67542 22928365.196 22928367.563 22928364.116
+ -1884.886 -1468.742 52.000 45.000
+ -19887070.40343 -15449981.47042 21499434.952 21499440.331 21499434.383
+ -2155.483 -1679.597 54.000 47.000
+ -15061137.11543 -11725860.94742 21957352.201 21957357.317 21957351.081
+ -1349.425 -1051.500 54.000 48.000
+ -18910680.52243 -14725309.08342 21633211.352 21633215.730 21633209.602
+ 328.981 256.349 54.000 48.000
+ -14195823.34943 -11017098.64242 22766459.197 22766464.981 22766458.425
+ 2804.822 2185.576 51.000 45.000
+ -20872493.33944 -16248965.61542 20737651.253 20737654.195 20737649.982
+ -1673.535 -1304.053 57.000 51.000
+ -7567497.03043 -5502240.42442 23712811.565 23712816.850 23712810.835
+ 3125.958 2435.811 46.000 41.000
+ -19035168.63743 -14774668.20742 21649017.670 21649022.457 21649016.119
+ -1572.427 -1225.268 53.000 47.000
+ 04 2 1 23 24 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -960469.10543 -743418.89342 22939126.082 22939128.982 22939125.515
+ -1884.881 -1468.738 52.000 45.000
+ -19822218.68543 -15399447.71942 21511776.105 21511780.795 21511775.092
+ -2167.951 -1689.312 54.000 47.000
+ -15020486.01843 -11694184.82742 21965087.783 21965092.690 21965086.574
+ -1360.601 -1060.208 54.000 48.000
+ -18920271.77243 -14732782.81142 21631386.409 21631390.394 21631384.789
+ 310.483 241.935 54.000 48.000
+ -14279891.24443 -11082606.06742 22750461.372 22750467.690 22750461.314
+ 2799.755 2181.627 50.000 44.000
+ -20822059.86444 -16209666.84242 20747247.986 20747251.241 20747247.072
+ -1688.635 -1315.819 57.000 51.000
+ -7661256.20743 -5575299.49042 23694968.961 23694973.988 23694969.975
+ 3124.814 2434.920 47.000 41.000
+ -18987958.96043 -14737881.49642 21658001.830 21658006.219 21658000.461
+ -1574.788 -1227.107 54.000 47.000
+ 04 2 1 23 24 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -903933.67243 -699365.38642 22949883.842 22949886.736 22949883.235
+ -1884.026 -1468.072 51.000 44.000
+ -19757005.31743 -15348632.16842 21524186.175 21524191.207 21524184.971
+ -2179.425 -1698.253 54.000 47.000
+ -14979513.55443 -11662258.29542 21972884.763 21972889.953 21972883.589
+ -1370.808 -1068.162 54.000 48.000
+ -18929324.57343 -14739836.98042 21629663.723 21629668.055 21629662.174
+ 293.260 228.514 55.000 48.000
+ -14363819.30143 -11148004.52442 22734492.147 22734496.560 22734489.961
+ 2795.584 2178.377 51.000 44.000
+ -20771188.87344 -16170027.14942 20756928.705 20756931.795 20756927.465
+ -1702.781 -1326.842 57.000 51.000
+ -7754992.88043 -5648341.02942 23677133.357 23677137.469 23677131.696
+ 3124.464 2434.647 48.000 41.000
+ -18940691.87343 -14701050.05942 21666995.936 21667001.013 21666994.901
+ -1576.347 -1228.322 53.000 47.000
+ 04 2 1 23 25 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -847414.37043 -655324.44242 22960638.443 22960643.397 22960638.395
+ -1883.902 -1467.975 50.000 44.000
+ -19691434.44343 -15297538.04542 21536663.705 21536668.944 21536662.986
+ -2191.715 -1707.830 54.000 47.000
+ -14938220.80443 -11630082.17442 21980742.634 21980747.592 21980741.101
+ -1381.914 -1076.816 54.000 48.000
+ -18937840.68243 -14746472.94642 21628042.846 21628047.031 21628041.408
+ 274.844 214.164 54.000 48.000
+ -14447606.49743 -11213293.24342 22718546.110 22718551.758 22718545.769
+ 2790.440 2174.369 51.000 44.000
+ -20719884.50944 -16130049.75642 20766691.712 20766694.834 20766690.753
+ -1717.484 -1338.299 57.000 51.000
+ -7848706.60343 -5721364.68342 23659300.160 23659305.495 23659299.949
+ 3123.415 2433.830 48.000 41.000
+ -18893369.57843 -14664175.59842 21676000.773 21676006.101 21675999.678
+ -1578.451 -1229.962 53.000 47.000
+ 04 2 1 23 25 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -790906.18543 -611292.18742 22971392.452 22971396.465 22971392.308
+ -1883.478 -1467.645 50.000 44.000
+ -19625503.93343 -15246163.67942 21549209.417 21549215.185 21549208.779
+ -2203.844 -1717.281 54.000 47.000
+ -14896602.03043 -11597652.01942 21988662.017 21988667.628 21988660.595
+ -1392.871 -1085.354 54.000 47.000
+ -18945815.07643 -14752686.78942 21626525.892 21626529.619 21626524.484
+ 256.583 199.935 54.000 48.000
+ -14531244.13443 -11278465.40742 22702630.868 22702636.266 22702629.759
+ 2785.126 2170.228 50.000 44.000
+ -20668143.60944 -16089732.20842 20776537.779 20776540.802 20776536.450
+ -1732.056 -1349.654 57.000 51.000
+ -7942390.26243 -5794364.91442 23641472.489 23641476.827 23641470.824
+ 3121.805 2432.575 48.000 41.000
+ -18845987.46943 -14627254.53242 21685017.356 21685022.680 21685015.985
+ -1580.592 -1231.630 53.000 46.000
+ 04 2 1 23 26 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -734412.02043 -567270.83542 22982143.043 22982146.889 22982142.539
+ -1883.235 -1467.456 50.000 44.000
+ -19559219.29543 -15194513.37042 21561823.774 21561828.651 21561822.472
+ -2215.672 -1726.498 54.000 47.000
+ -14854659.56943 -11564969.64242 21996644.637 21996649.098 21996642.700
+ -1403.807 -1093.875 54.000 48.000
+ -18953250.87743 -14758480.95242 21625110.163 21625114.659 21625109.300
+ 238.423 185.784 54.000 48.000
+ -14614732.07643 -11343520.92842 22686743.684 22686749.858 22686742.648
+ 2780.031 2166.258 51.000 44.000
+ -20615971.36043 -16049078.54442 20786465.595 20786468.796 20786464.431
+ -1746.520 -1360.925 56.000 51.000
+ -8036044.74143 -5867342.42642 23623649.960 23623653.897 23623649.309
+ 3120.929 2431.893 48.000 41.000
+ -18798548.99543 -14590289.54642 21694044.975 21694050.037 21694043.199
+ -1582.670 -1233.249 53.000 46.000
+ 04 2 1 23 26 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -677931.25643 -523259.93342 22992890.985 22992894.345 22992889.357
+ -1882.223 -1466.667 50.000 44.000
+ -19492582.32943 -15142588.52242 21574503.990 21574509.667 21574503.054
+ -2226.697 -1735.088 54.000 47.000
+ -14812392.27743 -11532034.15242 22004687.131 22004692.415 22004685.308
+ -1413.972 -1101.796 54.000 47.000
+ -18960147.53443 -14763855.01642 21623798.473 21623802.079 21623797.189
+ 221.204 172.367 54.000 48.000
+ -14698066.14343 -11408456.54542 22670885.194 22670891.448 22670884.727
+ 2775.426 2162.670 51.000 45.000
+ -20563369.43043 -16008090.06842 20796475.421 20796478.666 20796474.165
+ -1760.235 -1371.612 56.000 50.000
+ -8129667.49443 -5940295.21242 23605834.385 23605840.297 23605832.804
+ 3120.751 2431.754 47.000 41.000
+ -18751053.92443 -14553280.46542 21703083.539 21703088.057 21703082.133
+ -1583.746 -1234.088 53.000 47.000
+ 04 2 1 23 27 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -621463.66943 -479259.30242 23003637.039 23003640.170 23003635.947
+ -1881.682 -1466.246 50.000 44.000
+ -19425595.51743 -15090391.07042 21587251.293 21587256.609 21587250.113
+ -2238.220 -1744.067 54.000 47.000
+ -14769799.21543 -11498844.81442 22012791.584 22012797.747 22012790.660
+ -1424.882 -1110.298 54.000 47.000
+ -18966505.06143 -14768808.97042 21622587.945 21622592.428 21622587.023
+ 203.260 158.384 54.000 48.000
+ -14781242.86543 -11473269.56642 22655058.510 22655062.600 22655057.202
+ 2770.358 2158.721 52.000 45.000
+ -20510339.94443 -15966768.42642 20806566.105 20806569.827 20806565.175
+ -1774.316 -1382.584 56.000 50.000
+ -8223256.15943 -6013221.43242 23588024.820 23588028.461 23588023.930
+ 3119.395 2430.697 48.000 41.000
+ -18703502.62743 -14516227.55442 21712131.381 21712137.109 21712130.554
+ -1585.556 -1235.498 53.000 47.000
+ 04 2 1 23 27 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -565014.93543 -435273.35442 23014378.920 23014381.113 23014377.959
+ -1881.439 -1466.056 51.000 44.000
+ -19358267.18943 -15037927.49842 21600063.455 21600068.634 21600062.217
+ -2250.022 -1753.264 53.000 47.000
+ -14726885.61243 -11465405.70442 22020958.217 22020963.516 22020956.762
+ -1435.895 -1118.879 54.000 47.000
+ -18972329.38043 -14773347.43542 21621480.222 21621484.304 21621479.097
+ 185.001 144.157 55.000 48.000
+ -14864264.59443 -11537961.80842 22639259.568 22639264.323 22639258.235
+ 2764.582 2154.220 52.000 45.000
+ -20456890.74443 -15925119.73642 20816737.420 20816741.064 20816736.318
+ -1788.665 -1393.765 56.000 50.000
+ -8316814.40043 -6086123.94742 23570223.066 23570224.840 23570219.925
+ 3118.138 2429.718 49.000 41.000
+ -18655901.20443 -14479135.59942 21721190.521 21721194.647 21721188.993
+ -1587.669 -1237.145 53.000 47.000
+ 04 2 1 23 28 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -508578.99243 -391297.37442 23025117.269 23025120.581 23025116.905
+ -1881.307 -1465.953 50.000 44.000
+ -19290593.98843 -14985195.19442 21612941.385 21612946.582 21612940.230
+ -2261.853 -1762.483 54.000 47.000
+ -14683645.07643 -11431711.83042 22029187.141 22029192.024 22029185.654
+ -1447.180 -1127.673 54.000 47.000
+ -18977614.52943 -14777465.76842 21620475.061 21620478.668 21620473.398
+ 166.769 129.950 55.000 48.000
+ -14947121.86643 -11602525.89042 22623492.197 22623497.403 22623490.896
+ 2758.886 2149.781 52.000 45.000
+ -20403017.89143 -15883140.93242 20826989.286 20826992.614 20826988.208
+ -1803.113 -1405.023 56.000 50.000
+ -8410333.85443 -6158996.22242 23552425.660 23552431.502 23552424.688
+ 3116.391 2428.357 48.000 41.000
+ -18608243.88243 -14442000.08542 21730259.005 21730263.894 21730257.534
+ -1589.851 -1238.845 53.000 46.000
+ 04 2 1 23 28 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -452157.68043 -347332.80942 23035853.911 23035858.115 23035852.153
+ -1881.051 -1465.754 49.000 43.000
+ -19222580.68243 -14932197.88042 21625883.928 21625888.762 21625882.425
+ -2273.184 -1771.312 53.000 47.000
+ -14640078.95943 -11397764.26642 22037477.664 22037482.560 22037475.942
+ -1458.056 -1136.147 54.000 47.000
+ -18982362.90143 -14781165.83542 21619570.737 21619574.841 21619569.461
+ 148.931 116.050 54.000 48.000
+ -15029813.61243 -11666961.01042 22607756.668 22607761.617 22607755.370
+ 2753.265 2145.401 52.000 45.000
+ -20348725.74643 -15840835.39842 20837320.620 20837324.228 20837319.472
+ -1817.048 -1415.881 56.000 50.000
+ -8503814.64643 -6231838.38442 23534636.049 23534640.482 23534636.098
+ 3115.022 2427.290 48.000 42.000
+ -18560533.24943 -14404823.02842 21739338.072 21739343.655 21739337.177
+ -1591.545 -1240.165 53.000 46.000
+ 04 2 1 23 29 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -395748.54943 -303377.70842 23046587.880 23046591.670 23046587.284
+ -1880.277 -1465.151 49.000 43.000
+ -19154227.36943 -14878935.62242 21638890.841 21638896.646 21638889.966
+ -2284.232 -1779.921 53.000 47.000
+ -14596184.21543 -11363560.62842 22045830.121 22045835.668 22045828.642
+ -1468.746 -1144.477 53.000 47.000
+ -18986572.18443 -14784445.82942 21618769.752 21618774.492 21618768.344
+ 131.140 102.187 54.000 48.000
+ -15112334.18143 -11731262.73042 22592053.414 22592058.441 22592052.654
+ 2747.680 2141.049 53.000 45.000
+ -20294014.19144 -15798203.05542 20847732.395 20847735.576 20847731.097
+ -1830.826 -1426.618 57.000 50.000
+ -8597252.00143 -6304646.69942 23516855.553 23516861.314 23516855.576
+ 3113.752 2426.300 48.000 41.000
+ -18512767.06743 -14367602.69242 21748427.849 21748432.985 21748425.740
+ -1593.296 -1241.529 52.000 46.000
+ 04 2 1 23 29 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -339357.17243 -259436.46642 23057319.574 23057323.326 23057318.115
+ -1879.726 -1464.721 50.000 44.000
+ -19085542.40843 -14825414.92942 21651961.030 21651967.374 21651960.401
+ -2295.223 -1788.485 53.000 47.000
+ -14551965.71643 -11329104.71542 22054244.990 22054249.502 22054243.305
+ -1479.542 -1152.890 54.000 47.000
+ -18990248.27743 -14787310.34842 21618069.940 21618074.561 21618069.104
+ 113.386 88.353 54.000 48.000
+ -15194685.81243 -11795432.80942 22576382.441 22576387.359 22576381.455
+ 2742.019 2136.638 53.000 45.000
+ -20238890.97443 -15755249.93942 20858221.644 20858224.968 20858220.862
+ -1844.470 -1437.249 56.000 50.000
+ -8690649.72143 -6377424.14342 23499082.713 23499087.512 23499082.021
+ 3112.265 2425.142 48.000 41.000
+ -18464951.53043 -14330343.88242 21757527.120 21757531.249 21757525.866
+ -1594.847 -1242.738 53.000 46.000
+ 04 2 1 23 30 0.0000000 0 8G22G 3G15G31G25G14G11G23
+ -282977.96143 -215504.68642 23068048.939 23068051.394 23068047.967
+ -1878.659 -1463.890 50.000 44.000
+ -19016523.02343 -14771633.66442 21665095.377 21665100.672 21665094.151
+ -2305.586 -1796.560 53.000 47.000
+ -14507417.67143 -11294392.01242 22062721.963 22062727.550 22062720.579
+ -1489.830 -1160.906 53.000 47.000
+ -18993386.10743 -14789755.44142 21617473.578 21617477.668 21617472.130
+ 96.029 74.828 54.000 48.000
+ -15276859.53943 -11859464.26742 22560745.351 22560750.563 22560744.274
+ 2736.585 2132.404 53.000 46.000
+ -20183353.10643 -15711973.72042 20868790.162 20868793.557 20868788.962
+ -1857.526 -1447.423 56.000 50.000
+ -8783999.95643 -6450164.56442 23481319.991 23481322.939 23481318.878
+ 3111.548 2424.583 49.000 42.000
+ -18417081.50643 -14293042.62442 21766635.802 21766640.478 21766634.702
+ -1596.037 -1243.665 53.000 46.000
+ 04 2 1 23 30 30.0000000 0 8G22G 3G15G31G25G14G11G23
+ -226619.13843 -171588.80642 23078774.172 23078777.170 23078773.091
+ -1878.665 -1463.895 51.000 44.000
+ -18947180.00343 -14717600.20442 21678290.967 21678296.259 21678290.062
+ -2317.028 -1805.476 53.000 47.000
+ -14462547.87943 -11259428.60642 22071260.200 22071266.045 22071259.178
+ -1501.247 -1169.803 53.000 47.000
+ -18995994.15543 -14791787.72042 21616977.468 21616981.389 21616975.656
+ 77.879 60.685 54.000 48.000
+ -15358860.29443 -11923360.94342 22545141.353 22545146.159 22545140.083
+ 2730.216 2127.441 52.000 46.000
+ -20127410.99644 -15668382.50942 20879435.682 20879439.448 20879434.828
+ -1871.758 -1458.513 57.000 50.000
+ -8877308.59543 -6522872.58342 23463563.505 23463567.819 23463563.026
+ 3109.371 2422.886 49.000 42.000
+ -18369165.37943 -14255705.43642 21775754.592 21775758.960 21775753.594
+ -1598.200 -1245.351 53.000 46.000
+ 04 2 1 23 31 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ -170272.47943 -127682.38242 23089496.005 23089498.775 23089494.358
+ -1877.872 -1463.277 50.000 43.000
+ -18877507.90543 -14663310.32242 21691549.538 21691554.710 21691548.290
+ -2327.681 -1813.777 53.000 47.000
+ -14417347.61543 -11224207.67642 22079861.308 22079867.193 22079860.411
+ -1511.996 -1178.179 54.000 47.000
+ -18998064.74943 -14793401.20742 21616583.420 21616587.176 21616581.668
+ 60.245 46.944 54.000 48.000
+ -15440676.51243 -11987113.81142 22529571.923 22529577.090 22529570.607
+ 2724.294 2122.826 51.000 45.000
+ -20071058.69844 -15624471.66542 20890159.127 20890162.792 20890158.163
+ -1885.029 -1468.854 57.000 50.000
+ 25099787.215
+ 1783.867 1390.026 46.000
+ -8970565.72543 -6595540.45742 23445817.107 23445819.919 23445814.366
+ 3108.139 2421.926 48.000 42.000
+ -18321195.64743 -14218326.47742 21784881.840 21784887.366 21784880.681
+ -1599.667 -1246.494 52.000 46.000
+ 04 2 1 23 31 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ -113941.40443 -83788.13142 23100215.508 23100219.260 23100215.028
+ -1876.934 -1462.546 50.000 43.000
+ -18807513.16043 -14608769.02642 21704868.997 21704874.293 21704867.876
+ -2338.047 -1821.855 53.000 47.000
+ -14371820.08143 -11188731.73442 22088526.098 22088531.315 22088524.604
+ -1522.636 -1186.470 54.000 47.000
+ -18999601.85743 -14794598.98942 21616290.271 21616295.154 21616289.620
+ 42.899 33.428 54.000 48.000
+ -15522308.61243 -12050723.20942 22514037.220 22514042.630 22514035.785
+ 2718.435 2118.261 51.000 45.000
+ -20014302.46544 -15580246.07042 20900959.598 20900963.199 20900958.443
+ -1898.172 -1479.095 57.000 50.000
+ -1154372.57353 -770544.18752 25089608.558 25089616.250 25089607.532
+ 1782.509 1388.968 45.000 34.000
+ -9063772.57543 -6668169.14942 23428080.483 23428084.219 23428078.424
+ 3106.636 2420.755 48.000 41.000
+ -18273176.16943 -14180908.76642 21794020.581 21794026.007 21794019.534
+ -1600.903 -1247.457 53.000 46.000
+ 04 2 1 23 32 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ -57623.75043 -39904.33842 23110933.054 23110935.967 23110932.388
+ -1876.602 -1462.287 49.000 43.000
+ -18737196.40043 -14553976.81242 21718250.136 21718255.913 21718249.146
+ -2348.829 -1830.256 53.000 47.000
+ -14325962.71443 -11152998.78842 22097251.906 22097257.922 22097250.827
+ -1533.686 -1195.080 53.000 47.000
+ -19000603.63043 -14795379.63442 21616100.261 21616104.289 21616098.956
+ 24.826 19.345 54.000 48.000
+ -15603751.04443 -12114184.81442 22498539.320 22498544.690 22498538.558
+ 2711.961 2113.216 51.000 45.000
+ -19957141.91944 -15535705.41942 20911837.033 20911840.146 20911835.844
+ -1911.636 -1489.586 57.000 50.000
+ -1207803.82943 -812178.93742 25079443.461 25079441.396 25079441.173
+ 1780.512 1387.412 46.000 34.000
+ -9156924.97043 -6740755.39942 23410354.523 23410358.807 23410354.218
+ 3104.647 2419.205 49.000 42.000
+ -18225105.14743 -14143450.88442 21803168.287 21803173.242 21803166.766
+ -1602.804 -1248.938 53.000 46.000
+ 04 2 1 23 32 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ -1321.97143 3967.09842 23121644.734 23121647.365 23121643.730
+ -1876.458 -1462.175 48.000 42.000
+ -18666562.96343 -14498937.84142 21731690.784 21731696.532 21731690.072
+ -2359.891 -1838.876 53.000 47.000
+ -14279777.70443 -11117010.53942 22106039.554 22106046.067 22106038.622
+ -1544.971 -1203.873 53.000 47.000
+ -19001073.31443 -14795745.64942 21616010.249 21616014.985 21616009.172
+ 6.628 5.165 54.000 48.000
+ -15685003.19943 -12177498.17842 22483077.333 22483083.363 22483076.790
+ 2705.096 2107.867 52.000 46.000
+ -19899582.23244 -15490853.75142 20922790.457 20922793.586 20922789.257
+ -1925.370 -1500.288 57.000 50.000
+ -1261187.28143 -853776.41942 25069284.159 25069286.185 25069280.063
+ 1778.454 1385.808 44.000 34.000
+ -9250023.31343 -6813299.54242 23392636.839 23392642.523 23392636.400
+ 3102.140 2417.252 48.000 42.000
+ -18176985.59643 -14105955.19242 21812325.391 21812330.409 21812323.614
+ -1604.855 -1250.536 53.000 46.000
+ 04 2 1 23 33 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 54965.13143 47827.10342 23132357.437 23132360.861 23132355.747
+ -1875.706 -1461.589 49.000 43.000
+ -18595614.44743 -14443653.35242 21745191.677 21745197.828 21745191.482
+ -2369.764 -1846.569 53.000 47.000
+ -14233263.52843 -11080765.79242 22114891.576 22114897.492 22114890.823
+ -1555.524 -1212.097 53.000 47.000
+ -19001010.23843 -14795696.54442 21616022.214 21616026.976 21616020.881
+ -10.530 -8.205 54.000 48.000
+ -15766060.57043 -12240659.75342 22467653.219 22467658.397 22467652.833
+ 2699.029 2103.139 52.000 46.000
+ -19841624.76644 -15445692.12942 20933819.578 20933822.342 20933818.312
+ -1938.160 -1510.254 57.000 50.000
+ -1314522.25743 -895336.19942 25059134.090 25059138.568 25059133.838
+ 1777.212 1384.841 43.000 35.000
+ -9343064.40643 -6885799.07942 23374932.803 23374935.878 23374931.756
+ 3100.742 2416.163 48.000 41.000
+ -18128816.75243 -14068421.08942 21821490.906 21821496.848 21821489.678
+ -1606.044 -1251.463 52.000 46.000
+ 04 2 1 23 33 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 111234.50743 91673.26342 23143065.170 23143068.583 23143064.141
+ -1874.863 -1460.932 49.000 43.000
+ -18524356.52543 -14388127.76442 21758752.783 21758757.667 21758751.468
+ -2379.896 -1854.464 54.000 47.000
+ -14186423.07043 -11044266.79042 22123805.528 22123810.991 22123804.290
+ -1566.286 -1220.482 54.000 47.000
+ -19000418.01743 -14795235.10642 21616134.834 21616139.685 21616134.004
+ -28.112 -21.905 54.000 48.000
+ -15846922.99443 -12303669.42242 22452264.942 22452271.121 22452264.693
+ 2692.633 2098.156 52.000 46.000
+ -19783274.96644 -15400224.79542 20944923.069 20944926.015 20944922.054
+ -1951.016 -1520.272 57.000 50.000
+ -1367812.87343 -936861.39242 25048991.181 25048997.209 25048989.326
+ 1775.877 1383.800 42.000 35.000
+ -9436049.58543 -6958255.02542 23357239.769 23357242.039 23357237.097
+ 3099.024 2414.824 49.000 42.000
+ -18080602.06443 -14030851.27142 21830666.416 21830671.908 21830664.909
+ -1607.406 -1252.524 53.000 46.000
+ 04 2 1 23 34 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 167489.66043 135508.37942 23153770.078 23153774.062 23153768.734
+ -1874.656 -1460.771 50.000 43.000
+ -18452788.97343 -14332360.90242 21772371.106 21772376.505 21772369.747
+ -2390.410 -1862.657 53.000 46.000
+ -14139252.61343 -11007510.64342 22132781.913 22132787.258 22132780.705
+ -1577.589 -1229.290 54.000 47.000
+ -18999293.89943 -14794359.21542 21616349.104 21616353.648 21616347.706
+ -46.069 -35.898 54.000 48.000
+ -15927584.11543 -12366522.21942 22436915.553 22436922.141 22436913.838
+ 2685.683 2092.740 52.000 46.000
+ -19724531.83844 -15354450.96542 20956101.550 20956104.677 20956100.377
+ -1964.293 -1530.618 57.000 50.000
+ -1421056.06443 -978349.63842 25038859.855 25038865.770 25038858.519
+ 1774.187 1382.483 43.000 34.000
+ -9528972.70843 -7030662.65142 23339555.469 23339559.873 23339554.479
+ 3096.774 2413.071 49.000 42.000
+ -18032338.58643 -13993243.42542 21839850.058 21839855.460 21839849.307
+ -1609.220 -1253.938 53.000 46.000
+ 04 2 1 23 34 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 223729.56143 179331.59742 23164473.557 23164476.569 23164472.339
+ -1874.650 -1460.766 50.000 43.000
+ -18380915.35443 -14276355.55242 21786047.872 21786053.109 21786046.933
+ -2401.094 -1870.982 53.000 46.000
+ -14091752.80043 -10970497.86642 22141821.365 22141826.260 22141819.530
+ -1589.015 -1238.193 53.000 47.000
+ -18997639.55543 -14793070.16042 21616664.129 21616668.371 21616663.399
+ -64.181 -50.011 54.000 48.000
+ -16008041.40043 -12429216.19642 22421605.777 22421611.081 22421604.234
+ 2678.318 2087.001 53.000 46.000
+ -19665398.78044 -15308373.29942 20967354.271 20967357.241 20967352.863
+ -1977.652 -1541.027 57.000 50.000
+ -1474253.51843 -1019802.25342 25028737.868 25028741.637 25028736.355
+ 1772.672 1381.303 44.000 35.000
+ -9621832.75543 -7103021.08542 23321884.169 23321889.100 23321883.332
+ 3094.125 2411.006 48.000 42.000
+ -17984027.65543 -13955598.59642 21849044.644 21849049.014 21849042.471
+ -1611.258 -1255.526 53.000 46.000
+ 04 2 1 23 35 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 279951.69743 223140.95342 23175171.254 23175173.881 23175170.028
+ -1874.022 -1460.277 49.000 42.000
+ -18308741.36543 -14220116.15842 21799782.283 21799787.650 21799781.030
+ -2411.035 -1878.728 53.000 46.000
+ -14043925.98243 -10933230.28342 22150922.018 22150927.454 22150920.816
+ -1600.010 -1246.761 53.000 46.000
+ -18995458.24243 -14791370.48042 21617078.995 21617083.263 21617077.744
+ -81.788 -63.731 54.000 48.000
+ -16088294.21143 -12491750.85042 22406334.621 22406339.117 22406332.904
+ 2671.425 2081.630 53.000 46.000
+ -19605881.14944 -15261995.96942 20978680.088 20978683.062 20978678.843
+ -1990.609 -1551.124 57.000 50.000
+ -1527408.62843 -1061221.84842 25018624.443 25018630.436 25018621.777
+ 1770.722 1379.783 44.000 36.000
+ -9714630.54043 -7175331.04042 23304225.878 23304230.509 23304223.711
+ 3091.845 2409.230 49.000 42.000
+ -17935672.35143 -13917919.19542 21858244.892 21858251.231 21858243.857
+ -1612.915 -1256.817 52.000 46.000
+ 04 2 1 23 35 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 336160.75543 266940.13442 23185868.084 23185870.800 23185867.557
+ -1873.815 -1460.115 50.000 43.000
+ -18236265.38943 -14163641.44342 21813574.655 21813579.359 21813573.564
+ -2421.382 -1886.791 54.000 47.000
+ -13995767.40043 -10895704.17542 22160086.283 22160091.373 22160085.200
+ -1611.217 -1255.494 53.000 46.000
+ -18992745.95643 -14789257.05342 21617595.368 21617599.695 21617594.426
+ -99.833 -77.792 54.000 48.000
+ -16168334.94343 -12554120.23742 22391102.627 22391108.623 22391101.021
+ 2664.029 2075.867 52.000 46.000
+ -19545976.64044 -15215317.17142 20990079.395 20990082.768 20990078.333
+ -2003.719 -1561.339 57.000 50.000
+ -1580517.59443 -1102605.46042 25008515.282 25008522.329 25008512.503
+ 1768.952 1378.404 41.000 36.000
+ -9807359.14743 -7247587.08142 23286580.816 23286583.451 23286577.098
+ 3089.179 2407.152 50.000 42.000
+ -17887268.44543 -13880201.93342 21867456.065 21867461.585 21867454.868
+ -1614.787 -1258.275 52.000 46.000
+ 04 2 1 23 36 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 392350.74343 310724.47042 23196559.844 23196563.330 23196559.779
+ -1873.572 -1459.926 49.000 42.000
+ -18163495.82943 -14106937.95642 21827421.700 21827426.603 21827420.927
+ -2431.281 -1894.505 53.000 46.000
+ -13947282.76343 -10857924.01842 22169312.051 22169318.185 22169310.845
+ -1622.361 -1264.177 52.000 47.000
+ -18989509.46043 -14786735.14842 21618211.405 21618216.218 21618209.881
+ -117.507 -91.564 54.000 47.000
+ -16248166.07943 -12616326.29742 22375911.072 22375916.550 22375910.343
+ 2656.745 2070.191 52.000 46.000
+ -19485693.81244 -15168343.57942 21001550.752 21001554.160 21001549.561
+ -2016.580 -1571.361 57.000 50.000
+ -1633587.09343 -1143958.31942 24998418.526 24998422.415 24998417.587
+ 1767.733 1377.454 44.000 37.000
+ -9900022.33143 -7319792.15542 23268946.611 23268951.715 23268946.683
+ 3086.874 2405.356 49.000 42.000
+ -17838822.16143 -13842451.63642 21876676.295 21876681.066 21876674.718
+ -1616.361 -1259.502 52.000 46.000
+ 04 2 1 23 36 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 448531.61443 354501.68742 23207250.314 23207255.098 23207249.890
+ -1872.608 -1459.175 49.000 43.000
+ -18090425.88543 -14050000.41642 21841327.057 21841332.211 21841326.328
+ -2440.660 -1901.813 53.000 46.000
+ -13898461.97343 -10819881.90842 22178603.033 22178608.277 22178601.453
+ -1632.918 -1272.404 53.000 47.000
+ -18985739.70743 -14783797.72142 21618928.607 21618932.805 21618927.054
+ -134.573 -104.862 54.000 47.000
+ -16327774.62743 -12678358.91342 22360762.143 22360767.653 22360761.355
+ 2649.889 2064.849 52.000 46.000
+ -19425024.97743 -15121069.20542 21013095.902 21013099.386 21013094.896
+ -2028.752 -1580.846 56.000 50.000
+ -1686607.84943 -1185273.20542 24988330.382 24988333.524 24988327.673
+ 1766.556 1376.537 44.000 37.000
+ -9992608.27943 -7391937.04142 23251328.574 23251332.577 23251326.866
+ 3084.939 2403.849 50.000 42.000
+ -17790324.18443 -13804661.04642 21885904.443 21885910.030 21885903.372
+ -1617.347 -1260.270 52.000 46.000
+ 04 2 1 23 37 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 504693.26643 398263.91842 23217938.404 23217941.224 23217937.736
+ -1871.895 -1458.619 50.000 43.000
+ -18017069.04343 -13992839.30142 21855285.707 21855291.241 21855284.638
+ -2450.071 -1909.146 52.000 46.000
+ -13849315.25943 -10781585.81742 22187955.675 22187960.892 22187954.078
+ -1643.928 -1280.983 53.000 47.000
+ -18981447.79043 -14780453.40642 21619745.490 21619749.815 21619744.396
+ -151.974 -118.421 54.000 47.000
+ -16407167.71743 -12740223.64442 22345654.377 22345659.829 22345652.961
+ 2642.628 2059.191 52.000 46.000
+ -19363983.19943 -15073504.22142 21024711.543 21024715.145 21024710.590
+ -2041.154 -1590.510 56.000 50.000
+ -1739590.86843 -1226558.66242 24978245.476 24978251.748 24978245.606
+ 1765.194 1375.476 44.000 38.000
+ -10085125.23943 -7464028.16442 23233722.210 23233726.470 23233722.149
+ 3082.585 2402.014 50.000 42.000
+ -17741785.18343 -13766838.51142 21895140.937 21895146.753 21895139.156
+ -1618.881 -1261.466 52.000 45.000
+ 04 2 1 23 37 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 560838.91143 442013.68842 23228622.191 23228625.358 23228620.742
+ -1871.069 -1457.976 50.000 43.000
+ -17943424.56743 -13935454.07542 21869299.396 21869305.258 21869298.513
+ -2459.434 -1916.442 52.000 46.000
+ -13799839.06343 -10743032.99342 22197370.605 22197375.746 22197369.615
+ -1654.548 -1289.258 54.000 47.000
+ -18976631.05143 -14776700.15442 21620661.705 21620666.766 21620660.712
+ -169.221 -131.860 54.000 48.000
+ -16486339.01643 -12801915.56042 22330589.146 22330593.873 22330587.762
+ 2635.571 2053.692 53.000 46.000
+ -19302567.74643 -15025648.06342 21036398.558 21036402.093 21036397.396
+ -2053.183 -1599.883 56.000 50.000
+ -1792533.62143 -1267812.76242 24968172.457 24968177.520 24968169.668
+ 1764.461 1374.905 45.000 38.000
+ -10177567.69243 -7536061.26142 23216132.681 23216136.072 23216130.673
+ 3080.190 2400.148 50.000 42.000
+ -17693202.08543 -13728981.60942 21904386.960 21904391.637 21904385.776
+ -1620.045 -1262.373 53.000 46.000
+ 04 2 1 23 38 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 616969.98443 485752.09542 23239303.152 23239308.639 23239302.424
+ -1870.326 -1457.397 50.000 43.000
+ -17869494.09743 -13877845.99742 21883368.727 21883374.648 21883367.461
+ -2468.542 -1923.539 52.000 46.000
+ -13750031.77743 -10704222.19242 22206848.872 22206854.294 22206846.866
+ -1665.263 -1297.607 53.000 47.000
+ -18971289.12543 -14772537.65342 21621678.746 21621682.982 21621677.538
+ -186.349 -145.207 54.000 48.000
+ -16565283.78743 -12863430.95242 22315565.879 22315571.006 22315565.295
+ 2628.266 2047.999 52.000 46.000
+ -19240779.74444 -14977501.60942 21048156.864 21048159.692 21048155.308
+ -2065.191 -1609.240 57.000 50.000
+ -1845435.15943 -1309034.75242 24958103.901 24958110.441 24958104.039
+ 1763.151 1373.884 45.000 38.000
+ -10269932.18843 -7608033.58342 23198556.446 23198560.480 23198553.805
+ 3077.935 2398.391 49.000 42.000
+ -17644573.96843 -13691089.63542 21913639.221 21913644.882 21913637.925
+ -1621.203 -1263.275 51.000 45.000
+ 04 2 1 23 38 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 673085.44943 529478.36042 23249983.362 23249985.820 23249982.175
+ -1870.648 -1457.648 51.000 43.000
+ -17795281.81043 -13820018.31942 21897491.436 21897497.750 21897490.197
+ -2478.734 -1931.481 53.000 46.000
+ -13699894.40943 -10665154.18842 22216389.443 22216394.712 22216388.221
+ -1677.109 -1306.838 53.000 47.000
+ -18965423.90943 -14767967.39142 21622794.814 21622798.862 21622793.246
+ -204.742 -159.539 54.000 47.000
+ -16643999.92643 -12924768.18142 22300586.619 22300592.415 22300586.204
+ 2619.715 2041.336 53.000 46.000
+ -19178622.54743 -14929067.46542 21059984.834 21059988.248 21059983.586
+ -2078.295 -1619.451 56.000 50.000
+ -1898297.57143 -1350226.26542 24948043.990 24948050.976 24948043.383
+ 1761.262 1372.412 43.000 37.000
+ -10362217.55243 -7679944.24542 23180994.035 23180998.910 23180992.703
+ 3074.647 2395.829 49.000 42.000
+ -17595902.35443 -13653163.75742 21922901.754 21922907.368 21922901.099
+ -1623.470 -1265.041 52.000 45.000
+ 04 2 1 23 39 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 729185.26643 573192.40642 23260658.676 23260661.941 23260658.150
+ -1869.987 -1457.133 51.000 43.000
+ -17720790.79343 -13761973.44642 21911666.422 21911671.406 21911665.448
+ -2487.944 -1938.658 53.000 46.000
+ -13649427.02043 -10625829.00142 22225992.795 22225998.684 22225991.066
+ -1687.951 -1315.286 53.000 47.000
+ -18959036.48243 -14762990.22342 21624010.622 21624014.690 21624009.457
+ -221.882 -172.895 54.000 47.000
+ -16722484.49843 -12985924.97342 22285651.770 22285657.042 22285650.878
+ 2612.018 2035.339 53.000 46.000
+ -19116099.18343 -14880348.00542 21071882.824 21071885.722 21071881.513
+ -2090.494 -1628.956 56.000 50.000
+ -1951121.70143 -1391387.93342 24937992.740 24937999.508 24937991.750
+ 1759.952 1371.391 44.000 37.000
+ -10454421.83543 -7751791.72742 23163446.696 23163451.450 23163447.823
+ 3071.887 2393.678 49.000 42.000
+ -17547187.64143 -13615204.30042 21932172.431 21932177.963 21932171.269
+ -1624.810 -1266.086 52.000 45.000
+ 04 2 1 23 39 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 785271.49443 616895.89142 23271331.278 23271335.193 23271329.819
+ -1869.047 -1456.400 50.000 43.000
+ -17646021.97943 -13703712.10442 21925894.592 21925899.734 21925893.842
+ -2496.610 -1945.410 53.000 46.000
+ -13598627.54243 -10586245.07242 22235659.376 22235665.181 22235657.604
+ -1698.622 -1323.601 52.000 46.000
+ -18952125.92143 -14757605.40742 21625325.924 21625329.667 21625324.102
+ -238.884 -186.143 54.000 47.000
+ -16800732.45643 -13046897.40342 22270761.997 22270766.427 22270761.192
+ 2604.600 2029.558 54.000 47.000
+ -19053210.30143 -14831343.71842 21083850.029 21083853.450 21083848.879
+ -2102.017 -1637.935 56.000 50.000
+ -2003906.56143 -1432519.01142 24927949.032 24927953.914 24927947.464
+ 1759.201 1370.806 44.000 37.000
+ -10546541.05143 -7823572.92442 23145918.919 23145923.803 23145917.436
+ 3069.381 2391.725 49.000 43.000
+ -17498428.39843 -13577210.13542 21941450.189 21941456.544 21941449.272
+ -1625.738 -1266.809 51.000 45.000
+ 04 2 1 23 40 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 841340.45343 660585.89742 23282000.218 23282003.255 23281999.890
+ -1868.653 -1456.093 50.000 42.000
+ -17570982.21943 -13645239.63742 21940174.065 21940178.803 21940172.812
+ -2505.661 -1952.463 53.000 46.000
+ -13547499.66943 -10546405.23042 22245389.982 22245394.270 22245387.817
+ -1709.630 -1332.179 53.000 46.000
+ -18944696.83743 -14751816.56042 21626738.790 21626743.641 21626737.621
+ -256.174 -199.616 54.000 48.000
+ -16878744.37943 -13107685.91442 22255916.060 22255921.294 22255915.350
+ 2596.636 2023.353 53.000 47.000
+ -18989962.04643 -14782059.40042 21095885.723 21095889.030 21095884.443
+ -2114.120 -1647.366 56.000 50.000
+ -2056656.48643 -1473622.84042 24917910.151 24917919.510 24917909.389
+ 1757.573 1369.537 45.000 37.000
+ -10638576.72743 -7895289.01742 23128405.831 23128407.876 23128404.295
+ 3066.421 2389.419 50.000 43.000
+ -17449628.70343 -13539184.46342 21950736.049 21950741.797 21950735.353
+ -1627.199 -1267.947 51.000 45.000
+ 04 2 1 23 40 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 897394.92343 704264.61642 23292667.686 23292671.184 23292667.150
+ -1868.350 -1455.857 50.000 43.000
+ -17495671.35743 -13586555.92242 21954504.990 21954509.816 21954503.723
+ -2514.937 -1959.691 52.000 46.000
+ -13496040.47043 -10506307.21342 22255181.574 22255187.175 22255179.929
+ -1721.030 -1341.062 52.000 46.000
+ -18936747.27143 -14745622.13342 21628251.557 21628256.552 21628250.693
+ -273.790 -213.343 54.000 48.000
+ -16956514.23643 -13168285.78542 22241117.055 22241122.408 22241116.365
+ 2588.056 2016.667 53.000 47.000
+ -18926354.37543 -14732495.01842 21107989.669 21107993.184 21107988.631
+ -2126.387 -1656.925 56.000 50.000
+ -2109369.16543 -1514697.69542 24907878.816 24907886.412 24907878.286
+ 1756.527 1368.722 45.000 38.000
+ -10730523.78743 -7966936.05642 23110908.323 23110912.198 23110906.640
+ 3063.447 2387.102 50.000 43.000
+ -17400785.80643 -13501125.12442 21960031.336 21960036.492 21960030.321
+ -1628.954 -1269.315 51.000 45.000
+ 04 2 1 23 41 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 953434.55643 747931.77442 23303331.131 23303336.117 23303329.624
+ -1867.511 -1455.203 48.000 42.000
+ -17420093.54043 -13527664.19542 21968886.484 21968892.621 21968885.518
+ -2523.339 -1966.238 52.000 46.000
+ -13444250.62043 -10465951.56242 22265036.811 22265042.684 22265035.605
+ -1731.543 -1349.254 53.000 46.000
+ -18928279.21343 -14739023.68642 21629862.690 21629868.073 21629862.037
+ -290.785 -226.586 54.000 47.000
+ -17034039.51343 -13228695.07142 22226364.729 22226369.674 22226363.796
+ 2580.311 2010.632 53.000 47.000
+ -18862390.36943 -14682652.97142 21120161.842 21120165.145 21120160.592
+ -2137.852 -1665.859 56.000 50.000
+ -2162046.31543 -1555744.87642 24897855.944 24897859.177 24897853.036
+ 1755.373 1367.823 46.000 38.000
+ -10822381.00443 -8038513.08942 23093428.333 23093432.099 23093426.105
+ 3060.591 2384.876 50.000 43.000
+ -17351900.95243 -13463033.08042 21969334.036 21969339.027 21969332.728
+ -1629.812 -1269.983 51.000 45.000
+ 04 2 1 23 41 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 1009461.66143 791589.16542 23313992.853 23313996.876 23313991.648
+ -1867.325 -1455.058 50.000 42.000
+ -17344249.19643 -13468564.77842 21983320.175 21983325.943 21983318.903
+ -2532.405 -1973.302 52.000 46.000
+ -13392127.98143 -10425336.59142 22274955.717 22274961.603 22274954.082
+ -1742.855 -1358.069 53.000 46.000
+ -18919291.26243 -14732020.13142 21631573.507 21631578.345 21631572.272
+ -308.193 -240.150 54.000 48.000
+ -17111314.36243 -13288909.22142 22211659.906 22211665.050 22211658.086
+ 2571.771 2003.977 53.000 47.000
+ -18798070.42144 -14632533.57342 21132401.757 21132405.149 21132400.342
+ -2149.738 -1675.120 57.000 50.000
+ -2214686.55943 -1596763.22842 24887836.926 24887844.301 24887834.162
+ 1754.298 1366.985 44.000 37.000
+ -10914143.70143 -8110016.47042 23075965.882 23075970.779 23075964.570
+ 3057.308 2382.318 50.000 43.000
+ -17302972.25143 -13424906.89442 21978644.192 21978649.754 21978644.174
+ -1631.554 -1271.341 51.000 45.000
+ 04 2 1 23 42 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 1065472.61643 835233.98742 23324651.775 23324655.204 23324650.254
+ -1866.292 -1454.253 49.000 42.000
+ -17268144.69143 -13409262.64842 21997802.023 21997808.129 21997800.700
+ -2540.768 -1979.819 52.000 46.000
+ -13339675.97543 -10384464.97442 22284937.516 22284942.934 22284935.746
+ -1753.429 -1366.308 53.000 47.000
+ -18909788.17743 -14724615.17742 21633382.429 21633386.699 21633381.219
+ -324.798 -253.089 54.000 47.000
+ -17188339.44043 -13348928.73942 22197002.208 22197007.170 22197001.207
+ 2563.749 1997.726 53.000 46.000
+ -18733400.79843 -14582141.70142 21144707.808 21144711.430 21144706.819
+ -2160.958 -1683.863 56.000 50.000
+ -2267293.96843 -1637756.03542 24877827.288 24877832.985 24877826.620
+ 1753.461 1366.333 44.000 38.000
+ -11005813.63643 -8181447.54142 23058521.835 23058525.285 23058520.267
+ 3054.679 2380.269 50.000 43.000
+ -17254003.56343 -13386749.53742 21987964.191 21987968.942 21987962.581
+ -1632.477 -1272.060 52.000 45.000
+ 04 2 1 23 42 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 1121467.57443 878866.35242 23335307.619 23335309.018 23335306.811
+ -1866.963 -1454.776 50.000 42.000
+ -17191783.03843 -13349760.14342 22012333.559 22012338.790 22012331.996
+ -2550.504 -1987.406 52.000 46.000
+ -13286894.74443 -10343336.80042 22294980.503 22294987.005 22294978.825
+ -1765.705 -1375.874 53.000 46.000
+ -18899770.90643 -14716809.55942 21635288.799 21635292.921 21635287.198
+ -343.262 -267.477 54.000 47.000
+ -17265111.82843 -13408751.35542 22182392.936 22182398.052 22182392.355
+ 2553.952 1990.092 53.000 46.000
+ -18668384.01243 -14531479.30542 21157080.388 21157083.944 21157079.067
+ -2173.786 -1693.859 56.000 50.000
+ -2319869.25243 -1678723.77942 24867823.575 24867827.020 24867820.784
+ 1751.102 1364.495 45.000 38.000
+ -11097388.50343 -8252804.57642 23041096.020 23041100.074 23041095.595
+ 3050.171 2376.757 51.000 43.000
+ -17204995.15043 -13348561.21842 21997289.994 21997294.204 21997288.694
+ -1635.065 -1274.077 52.000 45.000
+ 04 2 1 23 43 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 1177448.95243 922488.11742 23345959.777 23345963.557 23345959.327
+ -1865.817 -1453.883 48.000 42.000
+ -17115165.37343 -13290058.14242 22026913.301 22026918.930 22026912.596
+ -2558.152 -1993.365 52.000 46.000
+ -13233781.86743 -10301950.21542 22305087.911 22305093.818 22305086.910
+ -1776.075 -1383.954 53.000 46.000
+ -18889238.38143 -14708602.45242 21637292.972 21637297.146 21637291.413
+ -359.750 -280.325 54.000 47.000
+ -17341626.08643 -13468372.83542 22167832.423 22167838.105 22167832.049
+ 2546.046 1983.932 53.000 46.000
+ -18603020.33243 -14480546.61942 21169518.444 21169521.788 21169517.181
+ -2184.603 -1702.288 56.000 50.000
+ -2372410.99643 -1719665.38342 24857823.647 24857830.765 24857822.892
+ 1750.970 1364.392 44.000 37.000
+ -11188863.82443 -8324084.02142 23023688.045 23023693.072 23023686.406
+ 3047.514 2374.686 51.000 43.000
+ -17155945.07143 -13310340.44542 22006623.325 22006629.030 22006622.292
+ -1635.671 -1274.549 52.000 45.000
+ 04 2 1 23 43 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 1233415.53143 966098.35242 23356610.174 23356614.692 23356609.963
+ -1865.027 -1453.268 49.000 43.000
+ -17038295.99843 -13230160.01342 22041541.225 22041546.807 22041540.312
+ -2566.208 -1999.642 53.000 46.000
+ -13180338.83643 -10260306.35542 22315258.273 22315263.786 22315256.465
+ -1786.718 -1392.248 53.000 46.000
+ -18878193.01343 -14699995.71142 21639394.253 21639399.440 21639393.243
+ -376.480 -293.361 54.000 47.000
+ -17417880.47743 -13527791.82042 22153322.042 22153326.960 22153320.736
+ 2537.751 1977.468 53.000 46.000
+ -18537313.92443 -14429346.86942 21182021.979 21182025.547 21182021.055
+ -2195.579 -1710.841 56.000 50.000
+ -2424921.39643 -1760582.57842 24847832.756 24847836.960 24847830.544
+ 1750.186 1363.781 44.000 38.000
+ -11280238.60543 -8395285.13342 23006300.083 23006304.852 23006299.805
+ 3044.304 2372.185 50.000 43.000
+ -17106854.84543 -13272088.37742 22015964.820 22015970.325 22015964.388
+ -1636.690 -1275.343 52.000 45.000
+ 04 2 1 23 44 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 1289368.38143 1009697.88242 23367257.365 23367262.272 23367256.698
+ -1864.859 -1453.137 48.000 43.000
+ -16961176.92143 -13170067.29842 22056216.646 22056221.812 22056215.730
+ -2574.884 -2006.403 52.000 46.000
+ -13126564.78943 -10218404.57342 22325491.108 22325496.805 22325489.497
+ -1798.069 -1401.093 53.000 46.000
+ -18866635.16243 -14690989.64842 21641594.013 21641598.757 21641593.177
+ -393.885 -306.923 54.000 47.000
+ -17493871.08643 -13587005.25742 22138861.227 22138866.214 22138860.295
+ 2528.482 1970.246 53.000 47.000
+ -18471266.42744 -14377881.32842 21194590.543 21194593.769 21194589.661
+ -2207.357 -1720.018 57.000 50.000
+ -2477400.23743 -1801475.17142 24837846.450 24837849.475 24837844.797
+ 1748.731 1362.648 44.000 38.000
+ -11371509.85743 -8466405.57142 22988932.613 22988936.299 22988931.759
+ 3040.651 2369.338 51.000 43.000
+ -17057724.07943 -13233804.72842 22025314.854 22025320.614 22025313.400
+ -1638.396 -1276.672 52.000 45.000
+ 04 2 1 23 44 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 1345304.54243 1053284.37342 23377902.942 23377907.477 23377901.807
+ -1864.496 -1452.854 50.000 43.000
+ -16883814.25543 -13109784.78742 22070937.983 22070944.167 22070937.006
+ -2582.724 -2012.512 52.000 45.000
+ -13072462.90143 -10176247.33242 22335785.846 22335792.001 22335784.460
+ -1808.792 -1409.448 52.000 46.000
+ -18854569.11843 -14681587.58642 21643890.153 21643894.715 21643888.419
+ -410.768 -320.079 54.000 47.000
+ -17569597.69243 -13646012.98142 22124451.377 22124456.316 22124450.569
+ 2519.814 1963.491 54.000 47.000
+ -18404883.52043 -14326154.43042 21207222.489 21207226.090 21207221.598
+ -2218.314 -1728.556 56.000 49.000
+ -2529851.14743 -1842346.06242 24827863.846 24827870.025 24827863.745
+ 1747.926 1362.020 45.000 38.000
+ -11462678.60643 -8537446.13542 22971584.155 22971587.452 22971582.741
+ 3037.183 2366.636 51.000 43.000
+ -17008556.05043 -13195492.04242 22034670.223 22034675.956 22034668.960
+ -1639.636 -1277.638 51.000 45.000
+ 04 2 1 23 45 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 1401227.16243 1096860.37642 23388544.429 23388547.950 23388544.724
+ -1863.898 -1452.388 49.000 43.000
+ -16806207.86743 -13049312.35642 22085706.060 22085711.798 22085704.690
+ -2590.996 -2018.958 52.000 45.000
+ -13018029.94843 -10133832.12642 22346145.177 22346150.419 22346144.006
+ -1820.048 -1418.219 53.000 46.000
+ -18841992.84143 -14671787.93742 21646283.094 21646287.418 21646281.344
+ -427.851 -333.390 53.000 47.000
+ -17645053.83643 -13704809.95142 22110091.811 22110097.096 22110090.767
+ 2510.523 1956.252 54.000 47.000
+ -18338164.66043 -14274165.75242 21219918.934 21219922.554 21219917.746
+ -2229.646 -1737.386 56.000 49.000
+ -2582272.02743 -1883193.47942 24817888.450 24817893.756 24817886.291
+ 1746.977 1361.281 44.000 39.000
+ -11553739.29943 -8608402.50742 22954255.994 22954259.101 22954254.414
+ 3033.419 2363.703 51.000 43.000
+ -16959347.89143 -13157148.06442 22044034.507 22044040.704 22044033.428
+ -1640.995 -1278.697 52.000 45.000
+ 04 2 1 23 45 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 1457138.16543 1140427.28742 23399182.953 23399188.646 23399181.328
+ -1864.340 -1452.732 49.000 43.000
+ -16728359.22543 -12988651.15942 22100519.925 22100526.424 22100518.892
+ -2599.716 -2025.753 52.000 45.000
+ -12963264.74543 -10091157.99742 22356566.306 22356571.645 22356564.862
+ -1831.903 -1427.457 53.000 47.000
+ -18828906.19143 -14661590.58542 21648773.916 21648778.240 21648772.711
+ -445.569 -347.197 54.000 47.000
+ -17720235.33143 -13763392.90942 22095785.697 22095790.765 22095784.568
+ 2500.576 1948.501 54.000 47.000
+ -18271111.11943 -14221916.28442 21232679.032 21232682.060 21232678.066
+ -2241.443 -1746.579 56.000 49.000
+ -2634662.11843 -1924016.91042 24807919.295 24807925.047 24807919.678
+ 1744.658 1359.474 45.000 38.000
+ -11644688.62643 -8679272.09242 22936948.399 22936952.687 22936947.403
+ 3029.022 2360.277 50.000 43.000
+ -16910098.36943 -13118771.87942 22053407.462 22053412.251 22053406.140
+ -1643.154 -1280.380 52.000 45.000
+ 04 2 1 23 46 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 1513034.81543 1183983.01842 23409821.011 23409824.466 23409820.401
+ -1862.808 -1451.539 50.000 43.000
+ -16650273.93643 -12927805.56542 22115379.088 22115385.907 22115377.842
+ -2606.388 -2030.952 52.000 45.000
+ -12908169.93943 -10048227.05042 22367050.965 22367055.871 22367049.176
+ -1841.774 -1435.148 53.000 46.000
+ -18815312.93443 -14650998.48242 21651360.104 21651364.811 21651358.677
+ -461.297 -359.452 53.000 47.000
+ -17795141.17843 -13821761.07742 22081532.048 22081537.276 22081530.797
+ 2492.461 1942.177 54.000 47.000
+ -18203728.01143 -14169410.00642 21245501.747 21245504.807 21245500.600
+ -2251.337 -1754.288 56.000 49.000
+ -2687024.61543 -1964818.87442 24797955.767 24797959.488 24797953.258
+ 1745.028 1359.762 44.000 38.000
+ -11735526.58543 -8750054.90542 22919662.102 22919665.576 22919661.231
+ 3026.212 2358.087 50.000 43.000
+ -16860810.34643 -13080365.69142 22062786.628 22062791.621 22062785.602
+ -1643.286 -1280.482 53.000 45.000
+ 04 2 1 23 46 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 1568916.99943 1227527.48242 23420456.276 23420458.332 23420454.572
+ -1862.322 -1451.160 50.000 43.000
+ -16571955.44443 -12866778.25542 22130282.795 22130288.977 22130281.490
+ -2614.265 -2037.090 51.000 45.000
+ -12852745.89843 -10005039.56542 22377597.215 22377602.794 22377595.718
+ -1852.796 -1443.737 52.000 46.000
+ -18801214.75843 -14640012.93842 21654043.510 21654047.570 21654042.345
+ -478.239 -372.654 54.000 47.000
+ -17869768.82443 -13879912.46242 22067330.215 22067335.818 22067329.094
+ 2483.194 1934.956 53.000 47.000
+ -18136018.41743 -14116649.33042 21258386.553 21258389.615 21258385.363
+ -2262.202 -1762.755 56.000 49.000
+ -2739360.96343 -2005600.44942 24787996.130 24788000.454 24787992.806
+ 1744.450 1359.312 42.000 37.000
+ -11826251.50443 -8820749.62742 22902397.426 22902402.338 22902397.088
+ 3022.379 2355.101 50.000 43.000
+ -16811484.45043 -13041929.98242 22072172.898 22072178.623 22072171.479
+ -1644.444 -1281.385 52.000 45.000
+ 04 2 1 23 47 0.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -933048.38953 -707518.48452 25238473.589 25238481.453 25238471.758
+ 3422.406 2666.810 43.000 36.000
+ 1624768.83843 1271048.30242 23431082.669 23431085.820 23431082.528
+ -1860.216 -1449.519 50.000 43.000
+ -16493422.81243 -12805584.08042 22145226.963 22145234.018 22145226.124
+ -2620.286 -2041.781 51.000 45.000
+ -12797008.81443 -9961608.13142 22388204.004 22388210.100 22388202.437
+ -1862.079 -1450.971 53.000 46.000
+ -18786629.00443 -14628647.45942 21656819.095 21656823.651 21656818.164
+ -493.308 -384.396 54.000 47.000
+ -17944131.30343 -13937857.22642 22053179.713 22053185.498 22053178.866
+ 2475.273 1928.784 53.000 47.000
+ -18068000.96443 -14063648.76642 21271329.842 21271333.056 21271328.706
+ -2271.338 -1769.874 56.000 49.000
+ -2791687.56843 -2046374.43442 24778038.873 24778042.119 24778035.997
+ 1745.030 1359.764 43.000 37.000
+ -11916876.94743 -8891366.83842 22885152.313 22885156.559 22885151.394
+ 3020.197 2353.400 51.000 44.000
+ -16762136.85943 -13003477.37342 22081563.866 22081568.305 22081562.178
+ -1644.116 -1281.129 52.000 45.000
+ 04 2 1 23 47 30.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1035599.85743 -787428.75242 25218959.549 25218966.131 25218956.694
+ 3415.594 2661.502 44.000 37.000
+ 1680627.30843 1314574.27342 23441713.547 23441715.440 23441711.111
+ -1862.666 -1451.428 50.000 43.000
+ -16414642.31543 -12744196.77542 22160218.495 22160225.517 22160217.744
+ -2630.521 -2049.757 51.000 45.000
+ -12740921.99243 -9917904.19142 22398876.886 22398883.174 22398875.263
+ -1875.700 -1461.584 53.000 46.000
+ -18771520.24243 -14616874.44142 21659694.371 21659699.057 21659693.165
+ -512.856 -399.628 54.000 47.000
+ -18018188.54443 -13995564.13342 22039086.915 22039092.271 22039085.879
+ 2463.136 1919.327 53.000 47.000
+ -17999641.65143 -14010381.81842 21284337.986 21284341.532 21284337.045
+ -2284.669 -1780.261 56.000 49.000
+ -2843968.59043 -2087112.89042 24768088.831 24768094.466 24768088.104
+ 1741.497 1357.011 43.000 38.000
+ -12007364.16043 -8961876.32842 22867933.681 22867937.550 22867932.527
+ 3013.582 2348.246 51.000 44.000
+ -16712731.16143 -12964979.47942 22090964.622 22090970.223 22090963.659
+ -1648.179 -1284.295 52.000 45.000
+ 04 2 1 23 48 0.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1138030.32543 -867244.72842 25199468.694 25199475.674 25199466.367
+ 3411.390 2658.226 44.000 37.000
+ 1736469.69443 1358087.73942 23452338.898 23452342.693 23452338.078
+ -1862.021 -1450.925 49.000 43.000
+ -16335639.79543 -12682636.45242 22175252.905 22175257.911 22175251.615
+ -2637.834 -2055.455 51.000 45.000
+ -12684508.61143 -9873945.79642 22409612.466 22409618.638 22409611.173
+ -1886.740 -1470.187 53.000 46.000
+ -18755912.66343 -14604712.72942 21662664.429 21662668.686 21662662.700
+ -529.289 -412.433 54.000 47.000
+ -18091960.68643 -14053048.89042 22025048.087 22025053.673 22025047.286
+ 2453.589 1911.888 53.000 47.000
+ -17930966.00943 -13956868.37442 21297406.547 21297410.251 21297405.435
+ -2295.292 -1788.539 56.000 49.000
+ -2896227.93843 -2127834.45542 24758145.357 24758151.054 24758141.803
+ 1740.790 1356.460 45.000 38.000
+ -12097733.84443 -9032294.26442 22850736.773 22850740.628 22850736.347
+ 3009.490 2345.057 51.000 44.000
+ -16663290.39843 -12926454.25842 22100373.857 22100378.580 22100372.659
+ -1649.559 -1285.371 52.000 45.000
+ 04 2 1 23 48 30.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1240333.31443 -946961.33642 25179999.468 25180007.896 25179998.870
+ 3407.713 2655.361 42.000 37.000
+ 1792300.98743 1401592.53842 23462963.720 23462966.586 23462963.479
+ -1860.948 -1450.089 49.000 42.000
+ -16256413.50643 -12620901.76242 22190329.085 22190334.920 22190328.370
+ -2644.759 -2060.851 52.000 45.000
+ -12627764.11943 -9829729.38742 22420410.335 22420415.990 22420408.433
+ -1896.920 -1478.119 52.000 46.000
+ -18739803.01843 -14592159.80442 21665729.424 21665734.449 21665728.207
+ -545.386 -424.976 54.000 47.000
+ -18165439.90743 -14110305.41142 22011065.398 22011070.840 22011064.811
+ 2444.357 1904.694 53.000 47.000
+ -17861972.01043 -13903106.87042 21310535.455 21310539.257 21310534.609
+ -2305.060 -1796.151 56.000 49.000
+ -2948461.19643 -2168535.68742 24748205.344 24748210.672 24748203.486
+ 1740.829 1356.490 44.000 38.000
+ -12187979.01843 -9102615.17542 22833563.504 22833566.868 22833562.315
+ 3005.989 2342.329 52.000 44.000
+ -16613810.17843 -12887898.31842 22109788.945 22109794.371 22109787.547
+ -1649.849 -1285.597 51.000 45.000
+ 04 2 1 23 49 0.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1342508.67143 -1026578.50042 25160554.832 25160564.223 25160554.457
+ 3403.573 2652.135 41.000 36.000
+ 1848119.49043 1445087.38842 23473586.195 23473590.225 23473585.788
+ -1860.643 -1449.852 50.000 43.000
+ -16176968.28343 -12558996.46742 22205446.507 22205453.904 22205445.957
+ -2652.033 -2066.519 51.000 45.000
+ -12570690.56043 -9785256.56642 22431270.643 22431276.035 22431269.479
+ -1908.255 -1486.952 52.000 46.000
+ -18723194.34843 -14579218.02442 21668889.711 21668895.115 21668888.647
+ -562.232 -438.103 53.000 47.000
+ -18238624.72843 -14167332.52542 21997139.172 21997144.708 21997137.793
+ 2434.177 1896.761 53.000 47.000
+ -17792663.59543 -13849100.36742 21323724.839 21323728.320 21323723.830
+ -2315.757 -1804.486 56.000 49.000
+ -3000670.93743 -2209218.59842 24738271.461 24738275.901 24738269.606
+ 1739.568 1355.508 45.000 38.000
+ -12278098.93243 -9172838.48142 22816413.829 22816419.270 22816412.743
+ 3001.552 2338.872 51.000 44.000
+ -16564292.25843 -12849312.96942 22119212.016 22119217.695 22119210.315
+ -1651.444 -1286.839 51.000 45.000
+ 04 2 1 23 49 30.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1444552.96943 -1106093.59642 25141138.768 25141145.454 25141135.614
+ 3399.128 2648.671 42.000 37.000
+ 1903927.10143 1488573.76042 23484206.160 23484209.483 23484203.721
+ -1860.304 -1449.587 49.000 43.000
+ -16097305.47443 -12496921.63542 22220607.270 22220612.514 22220605.762
+ -2659.350 -2072.221 52.000 45.000
+ -12513286.38643 -9740526.10542 22442194.724 22442200.613 22442193.761
+ -1919.305 -1495.562 53.000 46.000
+ -18706086.39043 -14565887.19642 21672145.712 21672150.123 21672144.885
+ -578.755 -450.978 54.000 47.000
+ -18311510.23943 -14224126.40742 21983269.602 21983274.791 21983268.728
+ 2424.233 1889.013 54.000 47.000
+ -17723042.05043 -13794849.85742 21336973.387 21336976.553 21336972.507
+ -2326.087 -1812.535 56.000 49.000
+ -3052856.56243 -2249882.70942 24728340.266 24728346.151 24728338.293
+ 1739.106 1355.148 45.000 38.000
+ -12368089.75343 -9242961.19242 22799289.649 22799292.929 22799287.733
+ 2997.292 2335.552 51.000 44.000
+ -16514735.27343 -12810697.19642 22128642.368 22128648.392 22128641.015
+ -1652.621 -1287.757 51.000 45.000
+ 04 2 1 23 50 0.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1546470.23143 -1185509.68042 25121744.725 25121753.808 25121742.404
+ 3394.497 2645.063 42.000 37.000
+ 1959718.39243 1532047.38842 23494823.515 23494826.103 23494822.335
+ -1859.830 -1449.218 50.000 43.000
+ -16017434.40543 -12434684.52342 22235805.343 22235811.565 22235804.673
+ -2666.213 -2077.568 51.000 45.000
+ -12455557.84343 -9695542.91242 22453180.114 22453186.054 22453178.707
+ -1930.032 -1503.921 52.000 46.000
+ -18688486.57543 -14552173.09642 21675494.926 21675499.217 21675494.171
+ -595.378 -463.931 54.000 47.000
+ -18384098.97043 -14280689.03642 21969456.515 21969461.001 21969455.648
+ 2414.167 1881.169 54.000 47.000
+ -17653115.95943 -13740362.05042 21350279.642 21350283.555 21350278.781
+ -2336.321 -1820.510 56.000 49.000
+ -3105024.50343 -2290533.12542 24718413.724 24718418.594 24718412.210
+ 1738.234 1354.468 45.000 38.000
+ -12457955.20943 -9312986.20942 22782188.494 22782191.894 22782186.709
+ 2992.973 2332.187 52.000 44.000
+ -16465145.20743 -12772055.66442 22138078.766 22138084.722 22138077.322
+ -1653.953 -1288.794 51.000 45.000
+ 04 2 1 23 50 30.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1648253.23843 -1264821.15942 25102375.059 25102384.943 25102372.914
+ 3390.684 2642.091 41.000 37.000
+ 2015498.95443 1575512.68542 23505437.148 23505441.246 23505437.169
+ -1858.938 -1448.523 50.000 42.000
+ -15937352.11243 -12372282.82242 22251044.483 22251050.445 22251044.133
+ -2672.811 -2082.710 51.000 45.000
+ -12397499.54443 -9650302.77442 22464228.410 22464235.061 22464226.694
+ -1940.616 -1512.168 52.000 46.000
+ -18670390.66143 -14538072.42542 21678938.298 21678943.233 21678937.282
+ -611.488 -476.484 54.000 47.000
+ -18456382.60043 -14337013.93242 21955701.718 21955706.522 21955700.805
+ 2404.538 1873.666 55.000 47.000
+ -17582882.45043 -13685634.69942 21363644.781 21363648.563 21363644.021
+ -2346.130 -1828.153 56.000 49.000
+ -3157169.88143 -2331165.88142 24708489.657 24708494.944 24708488.652
+ 1738.025 1354.305 44.000 38.000
+ -12547687.45843 -9382907.43642 22765112.978 22765116.345 22765111.343
+ 2988.914 2329.024 51.000 44.000
+ -16415516.72743 -12733384.19342 22147522.448 22147529.006 22147521.566
+ -1654.585 -1289.287 51.000 45.000
+ 04 2 1 23 51 0.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1749897.21243 -1344024.26542 25083031.276 25083040.930 25083031.296
+ 3385.354 2637.938 42.000 37.000
+ 2071271.86443 1618972.02442 23516050.475 23516054.989 23516049.299
+ -1859.244 -1448.761 49.000 43.000
+ -15857058.64443 -12309716.56342 22266324.223 22266329.915 22266323.069
+ -2680.172 -2088.446 52.000 45.000
+ -12339108.75043 -9604803.52042 22475339.830 22475345.015 22475338.620
+ -1952.196 -1521.192 52.000 46.000
+ -18651797.26343 -14523584.10642 21682476.680 21682481.243 21682475.230
+ -628.200 -489.506 54.000 47.000
+ -18528355.31343 -14393096.55542 21942005.500 21942010.648 21942004.101
+ 2393.658 1865.188 55.000 48.000
+ -17512341.06743 -13630667.43742 21377068.828 21377072.042 21377067.539
+ -2356.680 -1836.374 56.000 49.000
+ -3209290.35343 -2371779.22242 24698573.403 24698577.507 24698569.097
+ 1736.964 1353.478 42.000 36.000
+ -12637281.02743 -9452720.60342 22748064.074 22748067.507 22748063.059
+ 2983.945 2325.152 51.000 44.000
+ -16365847.04143 -12694680.60142 22156975.200 22156980.803 22156973.849
+ -1656.369 -1290.677 51.000 45.000
+ 04 2 1 23 51 30.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1851407.48843 -1423123.22442 25063716.240 25063726.360 25063714.862
+ 3381.917 2635.260 41.000 37.000
+ 2127030.37343 1662420.11642 23526661.472 23526666.713 23526660.688
+ -1858.557 -1448.226 49.000 42.000
+ -15776564.45643 -12246993.91042 22281641.373 22281648.099 22281640.076
+ -2686.597 -2093.452 52.000 45.000
+ -12280392.80243 -9559050.92342 22486512.701 22486518.308 22486511.318
+ -1962.716 -1529.389 51.000 45.000
+ -18632715.08043 -14508714.91942 21686108.052 21686112.729 21686106.546
+ -644.423 -502.148 54.000 47.000
+ -18600020.70443 -14448939.69942 21928367.814 21928372.944 21928366.932
+ 2383.465 1857.245 54.000 47.000
+ -17441501.71043 -13575467.99842 21390548.598 21390552.657 21390547.395
+ -2366.400 -1843.948 56.000 49.000
+ -3261394.11243 -2412379.59242 24688655.392 24688661.004 24688653.506
+ 1736.380 1353.023 41.000 36.000
+ -12726741.12643 -9522429.75542 22731040.417 22731044.054 22731039.170
+ 2979.644 2321.801 51.000 44.000
+ -16316143.40443 -12655950.56842 22166433.736 22166439.798 22166431.845
+ -1657.570 -1291.613 51.000 45.000
+ 04 2 1 23 52 0.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1952776.51043 -1502112.12942 25044427.728 25044433.828 25044425.085
+ 3376.158 2630.772 41.000 37.000
+ 2182780.21343 1705861.48542 23537269.844 23537273.821 23537269.462
+ -1858.717 -1448.351 49.000 42.000
+ -15695866.75543 -12184112.66942 22296998.572 22297003.267 22296997.182
+ -2693.732 -2099.012 52.000 45.000
+ -12221346.23443 -9513040.69842 22497748.268 22497755.518 22497747.479
+ -1974.161 -1538.307 51.000 45.000
+ -18613139.93543 -14493461.61042 21689833.150 21689837.957 21689831.448
+ -661.379 -515.360 54.000 47.000
+ -18671370.42543 -14504536.86142 21914790.143 21914795.957 21914789.233
+ 2372.564 1848.751 54.000 48.000
+ -17370361.63443 -13520034.22542 21404086.379 21404089.862 21404084.803
+ -2376.841 -1852.084 55.000 49.000
+ -3313476.29543 -2452963.11642 24678745.026 24678749.683 24678743.220
+ 1735.136 1352.054 42.000 36.000
+ -12816059.54943 -9592028.50442 22714043.037 22714046.734 22714043.274
+ 2974.260 2317.605 51.000 44.000
+ -16266400.46943 -12617189.91042 22175899.616 22175904.946 22175898.406
+ -1659.282 -1292.947 51.000 45.000
+ 04 2 1 23 52 30.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -2054008.49543 -1580994.20442 25025165.954 25025170.483 25025162.552
+ 3371.326 2627.007 40.000 36.000
+ 2238516.04543 1749291.89442 23547876.175 23547880.496 23547875.510
+ -1858.306 -1448.031 49.000 42.000
+ -15614974.45743 -12121079.79842 22312391.184 22312397.011 22312390.342
+ -2700.212 -2104.061 51.000 44.000
+ -12161975.20543 -9466777.63742 22509046.778 22509053.756 22509046.181
+ -1985.021 -1546.770 51.000 45.000
+ -18593079.18643 -14477829.90542 21693651.056 21693654.976 21693649.349
+ -677.557 -527.966 54.000 47.000
+ -18742407.18443 -14559890.17142 21901272.648 21901277.645 21901271.996
+ 2362.007 1840.525 55.000 48.000
+ -17298929.00743 -13464372.48842 21417679.459 21417683.011 21417678.334
+ -2386.579 -1859.672 56.000 49.000
+ -3365543.13143 -2493534.68142 24668837.255 24668842.999 24668835.332
+ 1734.812 1351.802 43.000 37.000
+ -12905239.92043 -9661519.69042 22697072.943 22697076.856 22697072.646
+ 2969.642 2314.007 51.000 44.000
+ -16216624.05643 -12578403.15542 22185372.251 22185377.677 22185370.182
+ -1660.334 -1293.767 51.000 45.000
+ 04 2 1 23 53 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 2294239.14643 1792712.42342 23558479.505 23558484.251 23558478.453
+ -1856.929 -1446.958 48.000 42.000
+ -15533889.41243 -12057896.72942 22327821.168 22327827.762 22327820.509
+ -2705.424 -2108.122 51.000 44.000
+ -12102278.52943 -9420260.82542 22520407.502 22520412.610 22520405.633
+ -1994.978 -1554.528 52.000 45.000
+ -18572533.10343 -14461820.01742 21697560.715 21697565.571 21697559.251
+ -692.738 -539.796 53.000 47.000
+ -18813126.64443 -14614996.23042 21887814.881 21887820.364 21887814.320
+ 2352.548 1833.154 54.000 48.000
+ -17227205.21243 -13408483.87242 21431328.242 21431331.707 21431327.245
+ -2395.194 -1866.385 56.000 49.000
+ -3417594.36743 -2534094.09642 24658932.393 24658938.101 24658930.264
+ 1735.109 1352.033 43.000 37.000
+ -12994278.69143 -9730900.53242 22680129.357 22680132.150 22680128.203
+ 2965.972 2311.147 52.000 44.000
+ -16166813.07043 -12539589.45442 22194850.271 22194854.918 22194848.215
+ -1660.523 -1293.914 51.000 45.000
+ 04 2 1 23 53 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 2349957.42243 1836129.16842 23569082.421 23569085.994 23569081.958
+ -1857.519 -1447.417 48.000 42.000
+ -15452607.19243 -11994560.03842 22343289.048 22343294.969 22343287.869
+ -2712.881 -2113.933 50.000 44.000
+ -12042249.30143 -9373484.88742 22531829.941 22531836.345 22531829.192
+ -2006.729 -1563.685 52.000 45.000
+ -18551495.97643 -14445427.50242 21701563.685 21701568.883 21701562.480
+ -709.596 -552.932 54.000 47.000
+ -18883518.26443 -14669846.82542 21874419.694 21874425.557 21874418.998
+ 2340.618 1823.858 54.000 48.000
+ -17155185.55543 -13352364.70742 21445032.766 21445036.648 21445031.576
+ -2405.760 -1874.618 55.000 49.000
+ -3469623.27643 -2574636.13842 24649030.553 24649037.077 24649030.070
+ 1733.834 1351.039 43.000 37.000
+ -13083166.29143 -9800163.59542 22663215.180 22663218.399 22663213.599
+ 2960.080 2306.556 52.000 44.000
+ -16116960.20243 -12500743.13442 22204337.201 22204342.805 22204336.058
+ -1662.567 -1295.507 52.000 45.000
+ 04 2 1 23 54 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 2405661.47043 1879534.82042 23579683.275 23579689.170 23579681.860
+ -1856.659 -1446.747 48.000 42.000
+ -15371140.38243 -11931079.50242 22358791.360 22358798.443 22358790.530
+ -2718.397 -2118.231 51.000 45.000
+ -11981897.46443 -9326457.55842 22543315.600 22543321.563 22543314.634
+ -2017.162 -1571.814 53.000 46.000
+ -18529978.83543 -14428660.94842 21705658.188 21705663.283 21705657.295
+ -725.459 -565.293 54.000 47.000
+ -18953588.66643 -14724447.11742 21861086.344 21861091.762 21861084.585
+ 2330.412 1815.905 54.000 48.000
+ -17082882.32043 -13296024.58142 21458791.973 21458795.608 21458790.920
+ -2414.853 -1881.704 55.000 49.000
+ -3521639.89143 -2615168.60742 24639133.197 24639138.229 24639130.890
+ 1733.551 1350.819 44.000 38.000
+ -13171909.64943 -9869314.24842 22646326.936 22646330.506 22646326.258
+ 2955.693 2303.137 52.000 44.000
+ -16067075.11543 -12461871.69042 22213829.528 22213835.445 22213828.230
+ -1663.470 -1296.210 51.000 45.000
+ 04 2 1 23 54 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 2461358.62443 1922935.10742 23590280.738 23590285.616 23590279.949
+ -1856.785 -1446.845 47.000 42.000
+ -15289484.97743 -11867452.00242 22374330.032 22374337.069 22374328.553
+ -2725.236 -2123.560 51.000 45.000
+ -11921216.33743 -9279173.62742 22554862.569 22554868.443 22554860.660
+ -2028.563 -1580.698 52.000 45.000
+ -18507976.18443 -14411516.07842 21709845.486 21709850.190 21709844.207
+ -741.763 -577.997 54.000 47.000
+ -19023327.37943 -14778788.97042 21847815.132 21847820.443 21847813.927
+ 2318.669 1806.755 54.000 48.000
+ -17010290.87443 -13239459.87242 21472605.465 21472609.276 21472604.535
+ -2424.819 -1889.469 55.000 49.000
+ -3573638.20843 -2655686.77642 24629238.828 24629244.704 24629237.116
+ 1732.678 1350.139 43.000 38.000
+ -13260499.13143 -9938345.00542 22629469.255 22629474.574 22629468.272
+ 2949.999 2298.701 52.000 45.000
+ -16017150.73143 -12422969.62342 22223330.062 22223336.484 22223328.249
+ -1665.076 -1297.462 51.000 44.000
+ 04 2 1 23 55 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 2517047.50643 1966328.95242 23600879.695 23600883.406 23600879.039
+ -1856.937 -1446.964 48.000 42.000
+ -15207645.75043 -11803681.27142 22389903.757 22389910.232 22389902.499
+ -2732.074 -2128.889 51.000 45.000
+ -11860207.96043 -9231634.71842 22566472.286 22566477.443 22566470.851
+ -2040.253 -1589.807 51.000 45.000
+ -18485491.40143 -14393995.51642 21714123.928 21714129.149 21714122.660
+ -758.656 -591.160 54.000 47.000
+ -19092733.32243 -14832871.51042 21834607.618 21834612.939 21834606.744
+ 2306.862 1797.555 54.000 48.000
+ -16937415.64743 -13182674.03542 21486473.309 21486477.218 21486472.011
+ -2434.934 -1897.351 55.000 49.000
+ -3625620.46143 -2696192.42542 24619345.810 24619352.780 24619343.713
+ 1731.460 1349.190 42.000 38.000
+ -13348934.43443 -10007255.62742 22612640.663 22612645.804 22612640.302
+ 2944.298 2294.258 52.000 45.000
+ -15967188.83443 -12384038.35942 22232837.004 22232843.591 22232836.031
+ -1667.201 -1299.118 51.000 44.000
+ 04 2 1 23 55 30.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 2572723.51543 2009712.73942 23611474.061 23611477.991 23611473.301
+ -1855.062 -1445.503 48.000 42.000
+ -15125630.61643 -11739773.47342 22405510.724 22405517.120 22405509.709
+ -2736.333 -2132.207 51.000 45.000
+ -11798877.52543 -9183844.86442 22578142.399 22578149.661 22578141.412
+ -2049.288 -1596.848 52.000 45.000
+ -18462531.14043 -14376104.45142 21718493.658 21718497.875 21718491.862
+ -772.798 -602.180 53.000 47.000
+ -19161808.51443 -14886696.32842 21821463.968 21821468.326 21821462.397
+ 2297.441 1790.214 55.000 48.000
+ -16864264.37343 -13125673.10142 21500393.732 21500397.267 21500392.206
+ -2442.482 -1903.233 55.000 49.000
+ -3677592.44043 -2736690.12042 24609458.122 24609460.865 24609454.741
+ 1732.731 1350.180 44.000 38.000
+ -13437218.42343 -10076048.33942 22595840.681 22595845.229 22595839.652
+ 2940.588 2291.367 52.000 45.000
+ -15917194.59143 -12345081.84942 22242350.859 22242357.238 22242349.908
+ -1666.443 -1298.527 51.000 44.000
+ 04 2 1 23 56 0.0000000 0 9G22G 3G15G31G25G14G20G11G23
+ 2628391.65343 2053090.39642 23622068.196 23622071.212 23622066.481
+ -1854.956 -1445.420 49.000 41.000
+ -15043437.80443 -11675727.21642 22421151.305 22421158.401 22421150.094
+ -2742.102 -2136.703 51.000 44.000
+ -11737220.63943 -9135800.61042 22589875.512 22589881.509 22589874.196
+ -2060.024 -1605.213 52.000 45.000
+ -18439092.39443 -14357840.53542 21722953.712 21722958.347 21722951.741
+ -788.555 -614.458 53.000 47.000
+ -19230545.19743 -14940257.37242 21808383.141 21808388.129 21808382.266
+ 2286.270 1781.509 55.000 48.000
+ -16790834.91943 -13068455.40142 21514367.003 21514370.529 21514365.711
+ -2451.593 -1910.332 55.000 49.000
+ -3729550.03543 -2777176.56642 24599568.582 24599575.173 24599568.368
+ 1732.392 1349.916 44.000 38.000
+ -13525343.55543 -10144717.26642 22579071.572 22579075.528 22579069.857
+ 2935.486 2287.392 52.000 45.000
+ -15867163.40943 -12306096.58142 22251872.190 22251877.660 22251871.297
+ -1667.625 -1299.448 51.000 44.000
+ 04 2 1 23 56 30.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ 24872057.103
+ 3332.487 2596.743 43.000
+ 2684050.66043 2096460.94942 23632660.086 23632663.389 23632658.904
+ -1854.710 -1445.228 49.000 42.000
+ -14961071.86843 -11611546.05142 22436824.923 22436832.878 22436823.157
+ -2748.028 -2141.320 50.000 44.000
+ -11675239.40543 -9087503.62242 22601670.853 22601676.468 22601669.723
+ -2071.159 -1613.890 52.000 45.000
+ -18415178.43243 -14339206.32742 21727503.941 21727508.905 21727503.180
+ -804.825 -627.136 53.000 47.000
+ -19298941.83443 -14993553.42742 21795367.561 21795373.009 21795366.404
+ 2274.408 1772.266 54.000 48.000
+ -16717131.53743 -13011024.25742 21528391.856 21528395.548 21528390.878
+ -2461.054 -1917.704 55.000 49.000
+ -3781495.54343 -2817653.62042 24589682.169 24589689.750 24589682.098
+ 1731.676 1349.358 43.000 38.000
+ -13613309.10243 -10213261.83942 22562332.323 22562335.530 22562330.805
+ 2929.895 2283.035 52.000 45.000
+ -15817096.76543 -12267083.69542 22261398.833 22261405.042 22261397.731
+ -1669.258 -1300.720 51.000 44.000
+ 04 2 1 23 57 0.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -778554.62253 -549295.48252 24853048.076 24853055.662 24853046.988
+ 3327.024 2592.486 43.000 35.000
+ 2739704.22243 2139827.28342 23643248.865 23643255.008 23643247.464
+ -1855.326 -1445.708 48.000 42.000
+ -14878532.50043 -11547229.74542 22452533.065 22452537.871 22452531.342
+ -2754.708 -2146.526 51.000 44.000
+ -11612930.80043 -9038951.54442 22613527.091 22613532.979 22613525.376
+ -2082.988 -1623.107 51.000 45.000
+ -18390787.50843 -14320200.45742 21732145.939 21732150.491 21732144.815
+ -821.410 -640.060 53.000 47.000
+ -19366992.13743 -15046579.61642 21782417.994 21782423.173 21782417.031
+ 2262.147 1762.712 54.000 48.000
+ -16643153.21343 -12953378.86642 21542469.774 21542473.524 21542468.741
+ -2470.837 -1925.327 55.000 49.000
+ -3833426.39843 -2858119.20742 24579801.857 24579807.885 24579800.694
+ 1730.802 1348.677 44.000 38.000
+ -13701109.64943 -10281677.84642 22545624.091 22545627.897 22545623.025
+ 2923.527 2278.073 52.000 45.000
+ -15766991.33343 -12228040.55442 22270934.219 22270940.443 22270932.478
+ -1671.195 -1302.230 51.000 44.000
+ 04 2 1 23 57 30.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -878289.05843 -627010.63642 24834067.749 24834077.961 24834069.198
+ 3321.571 2588.237 42.000 35.000
+ 2795344.30943 2183183.08442 23653837.096 23653840.808 23653837.135
+ -1854.706 -1445.225 48.000 41.000
+ -14795831.37943 -11482787.40242 22468269.754 22468275.816 22468268.773
+ -2759.562 -2150.308 51.000 44.000
+ -11550303.69743 -8990151.26742 22625444.768 22625451.391 22625443.890
+ -2092.891 -1630.824 52.000 45.000
+ -18365929.94843 -14300830.97442 21736875.530 21736880.898 21736874.951
+ -836.458 -651.785 53.000 47.000
+ -19434701.42743 -15099340.08042 21769533.543 21769538.466 21769532.347
+ 2251.225 1754.201 55.000 48.000
+ -16568911.34143 -12895528.11042 21556597.549 21556601.025 21556596.142
+ -2479.254 -1931.886 55.000 48.000
+ -3885351.76143 -2898580.55142 24569920.433 24569926.421 24569919.506
+ 1730.741 1348.629 44.000 39.000
+ -13788751.19843 -10349969.95842 22528946.641 22528950.205 22528946.334
+ 2918.548 2274.193 52.000 45.000
+ -15716855.74043 -12188973.92442 22280474.915 22280480.109 22280473.266
+ -1671.738 -1302.653 51.000 44.000
+ 04 2 1 23 58 0.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -977860.64443 -704598.87142 24815121.342 24815129.937 24815118.696
+ 3316.040 2583.927 43.000 34.000
+ 2850979.85443 2226535.37642 23664424.833 23664428.194 23664424.700
+ -1854.518 -1445.079 48.000 42.000
+ -14712962.56543 -11418214.38342 22484038.993 22484045.273 22484038.570
+ -2765.499 -2154.934 51.000 44.000
+ -11487349.77743 -8941096.34342 22637424.403 22637431.456 22637423.886
+ -2103.886 -1639.392 51.000 45.000
+ -18340598.53543 -14281092.26142 21741696.810 21741701.643 21741695.424
+ -852.461 -664.255 53.000 47.000
+ -19502057.90243 -15151825.62842 21756716.084 21756720.773 21756714.918
+ 2239.283 1744.896 55.000 48.000
+ -16494399.62543 -12837467.09742 21570776.693 21570780.501 21570775.572
+ -2488.323 -1938.953 55.000 48.000
+ -3937263.22443 -2939031.06642 24560043.743 24560050.073 24560041.539
+ 1730.130 1348.153 45.000 39.000
+ -13876222.42643 -10418129.35842 22512301.519 22512304.948 22512300.601
+ 2912.636 2269.586 52.000 45.000
+ -15666681.01743 -12149876.79742 22290023.295 22290027.605 22290020.885
+ -1673.215 -1303.804 52.000 44.000
+ 04 2 1 23 58 30.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1077272.21843 -782062.43942 24796202.914 24796211.436 24796202.892
+ 3311.113 2580.088 44.000 35.000
+ 2906606.98643 2269881.09542 23675010.178 23675014.118 23675009.620
+ -1854.066 -1444.727 48.000 42.000
+ -14629933.53043 -11353516.52342 22499839.361 22499845.554 22499837.712
+ -2770.309 -2158.682 51.000 44.000
+ -11424073.97543 -8891790.62342 22649465.623 22649472.333 22649465.137
+ -2114.663 -1647.789 50.000 45.000
+ -18314799.65943 -14260989.29042 21746605.564 21746611.352 21746604.208
+ -868.024 -676.382 53.000 47.000
+ -19569063.30643 -15204037.60842 21743965.359 21743970.264 21743964.202
+ 2227.387 1735.626 55.000 48.000
+ -16419625.22943 -12779201.38842 21585005.821 21585009.526 21585004.762
+ -2496.870 -1945.613 55.000 48.000
+ -3989166.22943 -2979474.98842 24550165.629 24550172.052 24550164.664
+ 1729.793 1347.891 44.000 39.000
+ -13963525.44343 -10486157.67842 22495688.627 22495691.156 22495687.206
+ 2907.094 2265.268 53.000 45.000
+ -15616471.83543 -12110752.83042 22299576.974 22299582.880 22299576.097
+ -1674.396 -1304.724 51.000 44.000
+ 04 2 1 23 59 0.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1176518.94843 -859397.50742 24777318.134 24777328.052 24777314.639
+ 3305.884 2576.014 45.000 36.000
+ 2962228.99043 2313222.83442 23685595.008 23685599.799 23685594.211
+ -1853.838 -1444.549 48.000 42.000
+ -14546744.04543 -11288693.63342 22515669.703 22515676.788 22515669.186
+ -2775.232 -2162.518 51.000 44.000
+ -11360473.54443 -8842231.93542 22661569.120 22661574.953 22661567.734
+ -2125.084 -1655.910 50.000 44.000
+ -18288532.03043 -14240521.06642 21751604.347 21751609.828 21751602.869
+ -883.154 -688.172 53.000 47.000
+ -19635711.18643 -15255971.01242 21731282.669 21731287.369 21731281.700
+ 2215.835 1726.625 55.000 48.000
+ -16344587.77443 -12720730.69542 21599285.761 21599288.859 21599284.357
+ -2505.348 -1952.219 55.000 48.000
+ -4041058.31543 -3019910.42042 24540291.916 24540296.295 24540290.234
+ 1729.929 1347.997 46.000 39.000
+ -14050654.70343 -10554050.59842 22479107.156 22479111.488 22479106.637
+ 2901.601 2260.988 52.000 45.000
+ -15566225.03143 -12071599.53942 22309138.643 22309144.167 22309137.301
+ -1675.414 -1305.517 50.000 44.000
+ 04 2 1 23 59 30.0000000 0 10G 1G22G 3G15G31G25G14G20G11G23
+ -1275602.21543 -936605.22242 24758461.963 24758470.902 24758461.078
+ 3299.480 2571.023 45.000 36.000
+ 3017843.09743 2356558.42442 23696177.011 23696183.347 23696178.128
+ -1854.087 -1444.743 48.000 41.000
+ -14463400.49543 -11223750.71242 22531529.964 22531535.674 22531529.089
+ -2781.222 -2167.186 51.000 44.000
+ -11296552.03943 -8792423.03542 22673733.247 22673738.752 22673731.979
+ -2136.688 -1664.952 52.000 45.000
+ -18261800.47043 -14219691.32642 21756690.895 21756696.487 21756689.755
+ -899.543 -700.942 53.000 47.000
+ -19702001.63443 -15307625.90142 21718667.414 21718672.815 21718666.573
+ 2203.110 1716.709 55.000 48.000
+ -16269292.81943 -12662059.36442 21613613.299 21613616.966 21613612.268
+ -2514.686 -1959.495 55.000 48.000
+ -4092943.23643 -3060340.25342 24530418.359 24530423.961 24530416.091
+ 1728.646 1346.997 45.000 39.000
+ -14137610.83443 -10621808.61342 22462560.474 22462564.842 22462558.883
+ 2894.987 2255.834 52.000 45.000
+ -15515943.63643 -12032419.29542 22318706.860 22318712.749 22318705.100
+ -1677.320 -1307.002 50.000 44.000
diff --git a/trunk/apps/RinexPlot/goRP b/trunk/apps/RinexPlot/goRP
new file mode 100755
index 0000000..4980cf3
--- /dev/null
+++ b/trunk/apps/RinexPlot/goRP
@@ -0,0 +1 @@
+perl RinexPlot.pl --Rinex alic0320.04o --autoview off --AO L4 --AO M5 --sat G08 --sat G30 --obs L4 --obs M5 --refresh
diff --git a/trunk/apps/RinexPlot/goRP.bat b/trunk/apps/RinexPlot/goRP.bat
new file mode 100755
index 0000000..fd34887
--- /dev/null
+++ b/trunk/apps/RinexPlot/goRP.bat
@@ -0,0 +1 @@
+call RinexPlot --Rinex alic0320.04o --autoview off --AO L4 --AO M5 --sat G08 --sat G30 --obs L4 --obs M5 --refresh --keepdata %*
diff --git a/trunk/apps/RinexPlot/goRP1 b/trunk/apps/RinexPlot/goRP1
new file mode 100755
index 0000000..e4c4097
--- /dev/null
+++ b/trunk/apps/RinexPlot/goRP1
@@ -0,0 +1,2 @@
+perl RinexPlot.pl --Rinex RSW214B.obs --autoview off --AO L4 --AO M5 --sat G01 --sat G02 --sat G13 --sat G03 --sat G16 --sat G20 --sat G27 --sat G31 --obs L4 --refresh --log rp.log --lines off --points
+
diff --git a/trunk/apps/RinexPlot/goRP1.bat b/trunk/apps/RinexPlot/goRP1.bat
new file mode 100755
index 0000000..ecbb956
--- /dev/null
+++ b/trunk/apps/RinexPlot/goRP1.bat
@@ -0,0 +1,2 @@
+call RinexPlot --Rinex RSW214B.obs --autoview off --AO L4 --AO M5 --sat G01 --sat G02 --sat G13 --sat G03 --sat G16 --sat G20 --sat G27 --sat G31 --obs L4 --refresh --log rp.log --lines off --points %*
+
diff --git a/trunk/apps/RinexPlot/positions.txt b/trunk/apps/RinexPlot/positions.txt
new file mode 100644
index 0000000..9f507e3
--- /dev/null
+++ b/trunk/apps/RinexPlot/positions.txt
@@ -0,0 +1,151 @@
+ajac 4696989.550 723994.369 4239678.490
+albh -2341332.886 -3539049.513 4745791.371
+algo 918129.499 -4346071.239 4561977.824
+alic -4052051.830 4212836.100 -2545105.836
+ankr 4121948.591 2652187.949 4069023.681
+aoml 982296.803 -5664607.228 2752614.479
+areq 1942826.728 -5804070.256 -1796893.968
+artu 1843956.907 3016203.039 5291261.706
+asc1 6118526.077 -1572344.698 -876451.166
+auck -5105681.003 461564.048 -3782181.752
+bahr 3633909.050 4425275.467 2799861.271
+bili -2321892.971 560096.878 5894691.764
+bogt 1744399.096 -6116037.813 512731.625
+bor1 3738358.598 1148173.582 5021815.705
+braz 4115014.087 -4550641.532 -1741444.061
+brmu 2304703.582 -4874817.178 3395186.895
+brst 4231162.677 -332746.825 4745130.837
+brus 4027893.852 307045.689 4919475.037
+bucu 4093760.981 2007793.635 4445129.877
+bzrg 4312657.614 864634.517 4603844.341
+cagl 4893378.933 772649.625 4004182.063
+cas1 -901776.162 2409383.419 -5816748.420
+chat -4590670.912 -275482.993 -4404596.777
+chur -236438.708 -3307616.791 5430049.174
+coco -741950.006 6190961.630 -1337768.586
+cord 2345503.864 -4910842.804 -3316365.439
+cro1 2607771.157 -5488076.781 1932767.685
+darw -4091358.781 4684606.724 -1408580.460
+dav1 486854.548 2285099.302 -5914955.683
+drag 4432980.874 3149431.992 3322110.339
+drao -2059164.684 -3621108.394 4814432.379
+ebre 4833520.246 41536.947 4147461.448
+eisl -1884951.760 -5357595.877 -2892890.504
+fair -2281621.431 -1453595.793 5756961.909
+flin -766174.416 -3611375.303 5184056.250
+fort 4985386.627 -3954998.587 -428426.482
+gala -33796.116 -6377522.655 -82120.899
+geno 4507892.447 707621.329 4441603.426
+glsv 3512889.114 2068979.763 4888903.141
+gode 1130773.867 -4831253.583 3994200.409
+gold -2353614.180 -4641385.388 3676976.454
+gope 3979316.259 1050312.340 4857067.020
+gras 4581691.012 556114.680 4389360.696
+graz 4194423.959 1162702.549 4647245.328
+guam -5071312.800 3568363.492 1488904.316
+hers 4033470.220 23672.752 4924301.231
+hflk 4248505.175 855575.595 4667172.195
+hob2 -3950071.361 2522415.185 -4311638.362
+hofn 2679690.006 -727951.336 5722789.146
+hrao 5085352.489 2668395.670 -2768731.676
+iisc 1337937.267 6070315.399 1427876.262
+ineg -1260435.744 -5788547.698 2360340.250
+irkt -968332.190 3794425.411 5018167.758
+joze 3664940.315 1409153.741 5009571.323
+jplm -2493304.198 -4655215.451 3565497.383
+karr -2713832.258 5303935.087 -2269515.012
+kely 1575559.280 -1941827.932 5848076.502
+kerg 1406337.336 3918161.100 -4816167.355
+kiru 2251420.923 862817.135 5885476.614
+kit3 1944945.356 4556652.193 4004325.976
+kokb -5543838.118 -2054587.260 2387809.705
+kosg 3899225.245 396731.809 5015078.351
+kour 3839591.421 -5059567.553 579956.935
+kstu -174281.721 3571333.012 5264196.061
+kunm -1281255.473 5640746.079 2682880.117
+lama 3524523.073 1329693.519 5129846.289
+lhas -106937.669 5549269.591 3139215.762
+lpgs 2780102.969 -4437418.863 -3629404.583
+mac1 -3464038.501 1334172.763 -5169224.323
+madr 4849202.453 -360329.122 4114913.104
+mag0 -2825810.143 1581232.927 5477005.540
+mali 4865366.487 4110737.445 -331121.710
+mars 4630532.881 433946.163 4350142.640
+mate 4641949.707 1393045.271 4133287.343
+mdo1 -1329998.678 -5328393.387 3236504.199
+mdvo 2844672.112 2161066.397 5266365.554
+medi 4461400.895 919593.423 4449504.682
+mets 2892570.923 1311843.330 5512634.057
+mkea -5464105.097 -2495166.895 2148290.939
+monp -2386246.845 -4802359.598 3444902.121
+nalk -2296299.073 -1484805.432 5743080.059
+narg 2745499.094 -4483636.553 -3599054.668
+narl -740290.505 -5457071.387 3207243.611
+naus -3939181.976 3467075.383 -3613221.035
+nbah 3633910.911 4425277.706 2799862.677
+nbej -2148743.914 4426641.465 4044656.101
+necu 1272867.278 -6252772.267 -23801.890
+neng 3981776.718 -89239.153 4965284.609
+nico 4359415.849 2874116.974 3650777.712
+nklg 6287385.842 1071574.385 39132.745
+nlib -130934.482 -4762291.737 4226854.669
+nnzl -4780787.779 436877.834 -4185258.356
+noum -5739971.535 1387563.663 -2402123.551
+nrc1 1112777.321 -4341475.826 4522955.775
+nsaf 5066234.148 2719228.693 -2754393.396
+nsko -3067861.658 4067639.206 3824294.132
+nssp 3478646.842 3418805.729 4097987.116
+nstl -18061.024 -4991815.851 3957051.070
+ntah -5246403.708 -3077285.772 -1913839.569
+ntus -1508022.690 6195576.699 148799.482
+nusn 1112168.441 -4842861.714 3985487.203
+nya1 1202433.960 252632.229 6237772.513
+nyal 1202430.643 252626.646 6237767.533
+ohig 1525872.480 -2432481.304 -5676146.082
+onsa 3370658.663 711877.023 5349786.877
+penc 4052449.626 1417680.986 4701407.038
+pert -2368686.968 4881316.517 -3341796.161
+petp -3576239.756 1401003.444 5075177.505
+pie1 -1640916.793 -5014781.204 3575447.142
+pimo -3186294.170 5286624.093 1601158.176
+pin1 -2369510.474 -4761207.148 3511396.175
+pol2 1239971.586 4530790.055 4302578.777
+pots 3800689.768 882077.259 5028791.246
+ramo 4514722.017 3133507.725 3228024.574
+reyk 2587384.489 -1043033.504 5716563.979
+riog 1429907.727 -3495354.740 -5122698.672
+sant 1769693.337 -5044574.148 -3468321.048
+sele 1046790.836 4540257.051 4342920.758
+sey1 3602870.766 5238174.329 -516275.514
+sfer 5105519.055 -555146.005 3769803.246
+shao -2831733.268 4675666.039 3275369.521
+sofi 4319372.228 1868687.631 4292063.865
+stjo 2612631.229 -3426807.026 4686757.805
+suth 5041274.808 1916053.992 -3397076.074
+syog 1766207.841 1460290.350 -5932297.680
+thti -5246415.202 -3077260.424 -1913842.475
+tidb -4460996.129 2682557.076 -3674443.694
+tixi -1264873.036 1569455.795 6031003.458
+tow2 -5054582.693 3275504.449 -2091539.703
+trab 3705250.492 3084421.557 4162044.636
+tro1 2102928.617 721619.379 5958196.191
+trom 2102940.337 721569.379 5958192.113
+tskb -3957199.240 3310199.668 3737711.708
+upad 4389531.283 923253.642 4519256.346
+urum 193030.873 4606851.324 4393311.421
+usno 1112189.893 -4842955.037 3985352.249
+usud -3855262.998 3427432.519 3741020.362
+vene 4379724.871 957495.734 4521605.129
+vill 4849833.786 -335049.186 4116014.840
+wes2 1492233.378 -4458089.484 4296046.006
+whit -2218337.816 -2201205.112 5543057.583
+wsrt 3828735.985 443304.827 5064884.632
+wtzr 4075580.685 931853.660 4801568.054
+wuhn -2267749.162 5009154.325 3221290.762
+yar1 -2389025.536 5043316.872 -3078530.731
+yell -1224452.501 -2689216.107 5633638.279
+yssk -3465320.798 2638269.400 4644085.493
+zeck 3451174.880 3060335.313 4391955.568
+zimm 4331297.182 567555.730 4633133.845
+zwen 2886325.543 2155998.399 5245816.145
+EURO -740305.8910 -5457067.8902 3207248.3730 Ref site for GSTSS test data
diff --git a/trunk/apps/Rinextools/EditRinex b/trunk/apps/Rinextools/EditRinex
new file mode 100755
index 0000000..7c173b9
Binary files /dev/null and b/trunk/apps/Rinextools/EditRinex differ
diff --git a/trunk/apps/Rinextools/EditRinex.cpp b/trunk/apps/Rinextools/EditRinex.cpp
new file mode 100644
index 0000000..68d9ec2
--- /dev/null
+++ b/trunk/apps/Rinextools/EditRinex.cpp
@@ -0,0 +1,330 @@
+//------------------------------------------------------------------------------------
+// EditRinex.cpp Edit a Rinex observation file using the RinexEditor in gpstk.
+//
+// EditRinex is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/EditRinex.cpp#1 $"
+
+/**
+ * @file EditRinex.cpp
+ * Edit a Rinex observation file using the RinexEditor in gpstk.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "RinexUtilities.hpp"
+
+#include "RinexEditor.hpp"
+
+#include <string>
+#include <vector>
+#include <iostream>
+#include <fstream>
+#include <time.h>
+
+using namespace gpstk;
+using namespace std;
+
+//------------------------------------------------------------------------------------
+// Instantiate an editor
+RinexEditor REC;
+
+//------------------------------------------------------------------------------------
+// data input from command line
+string LogFile("EditRinex.log");
+bool Verbose=false,Debug=false;
+string Title;
+// timer
+clock_t totaltime;
+// log file
+ofstream oflog;
+
+//------------------------------------------------------------------------------------
+// prototypes
+int GetCommandLine(int argc, char **argv);
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& Verbose, bool& Debug);
+
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+ totaltime = clock();
+
+ int iret;
+ DayTime last;
+
+ // Title and description
+ Title = "EditRinex, part of the GPSTK ToolKit, Ver 3.0 9/4/03, Run ";
+ time_t timer;
+ struct tm *tblock;
+
+ timer = time(NULL);
+ tblock = localtime(&timer);
+ last.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+ tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+ Title += last.printf("%04Y/%02m/%02d %02H:%02M:%02S\n");
+ cout << Title;
+
+ // define extended types
+ iret = RegisterARLUTExtendedTypes();
+ if(iret) goto quit;
+
+ // get command line
+ iret=GetCommandLine(argc, argv);
+ if(iret) goto quit;
+
+ iret=REC.EditFile();
+ if(iret) goto quit;
+
+ quit:
+ // compute run time
+ totaltime = clock()-totaltime;
+ oflog << "EditRinex timing: " << setprecision(3)
+ << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+
+ return iret;
+}
+catch(gpstk::FFStreamError& e) {
+ cerr << e;
+ return 1;
+}
+catch(gpstk::Exception& e) {
+ cerr << e;
+ return 1;
+}
+catch (...) {
+ cerr << "Unknown error. Abort." << endl;
+ return 1;
+}
+ return 0;
+} // end main()
+
+//------------------------------------------------------------------------------------
+int GetCommandLine(int argc, char **argv)
+{
+ bool help=false;
+ int i,j,iret=0;
+try {
+ // required options
+
+ // optional options
+ // this only so it will show up in help page...
+ CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+ 'f',""," -f<file> file containing more options");
+
+ CommandOption dashl(CommandOption::hasArgument, CommandOption::stdType,
+ 'l',""," -l<file> Output log file name");
+ dashl.setMaxCount(1);
+
+ CommandOptionNoArg dashh('h', "help",
+ " [-h|--help] print syntax and quit.");
+
+ CommandOptionNoArg dashd('d', "debug",
+ " [-d|--debug] print extended output info.");
+
+ CommandOptionNoArg dashv('v', "verbose",
+ " [-v|--verbose] print extended output info."
+ "\n [-<REC...>] Rinex editing commands - see the following");
+
+ // ... other options
+ CommandOptionRest Rest("");
+
+ CommandOptionParser Par(
+ " Prgm EditRinex will open and read one RINEX file, apply editing commands,\n"
+ " and write the modified RINEX data to another RINEX file(s).\n"
+ " Input is on the command line, or of the same format in a file (-f<file>).\n");
+
+ // allow user to put all options in a file
+ // could also scan for debug here
+ vector<string> Args;
+ for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args,Verbose,Debug);
+ argc = Args.size();
+ if(argc==0) Args.push_back(string("-h"));
+
+ //if(Debug) {
+ //cout << "List passed to REditCommandLine:\n";
+ //for(i=0; i<argc; i++) cout << i << " " << Args[i] << endl;
+ // strip out the REditCmds
+ //}
+
+ REC.REVerbose = Verbose;
+ REC.REDebug = Debug;
+ REC.AddCommandLine(Args);
+
+ //if(Debug) {
+ //deque<REditCmd>::iterator it=REC.Cmds.begin();
+ //cout << "\nHere is the list of RE cmds\n";
+ //while(it != REC.Cmds.end()) { it->Dump(cout,string("")); ++it; }
+ //cout << "End of list of RE cmds" << endl;
+ //}
+
+ // open the log file first
+ oflog.open(LogFile.c_str(),ios_base::out);
+ if(!oflog) {
+ cerr << "Failed to open log file " << LogFile << endl;
+ return -1;
+ }
+ cout << "EditRinex output directed to log file " << LogFile << endl;
+ REC.oflog = &oflog;
+ oflog << Title;
+
+ // preprocess the commands
+ iret = REC.ParseCommands();
+ if(iret) {
+ cerr << "EditRinex Error: no " << (iret==-1 ? "input" : "output")
+ << " file specified\n";
+ oflog << "EditRinex Error: no " << (iret==-1 ? "input" : "output")
+ << " file specified\n";
+ }
+ //if(Debug) {
+ //cout << "\nHere is the parsed list of RE cmds\n";
+ //it=REC.Cmds.begin();
+ //while(it != REC.Cmds.end()) { it->Dump(cout,string("")); ++it; }
+ //cout << "End of sorted list of RE cmds" << endl;
+ //}
+
+ // pass the rest
+ argc = Args.size()+1;
+ char **CArgs=new char*[argc];
+ if(!CArgs) { cerr << "Failed to allocate CArgs\n"; return -1; }
+ CArgs[0] = argv[0];
+ for(j=1; j<argc; j++) {
+ CArgs[j] = new char[Args[j-1].size()+1];
+ if(!CArgs[j]) { cerr << "Failed to allocate CArgs[j]\n"; return -1; }
+ strcpy(CArgs[j],Args[j-1].c_str());
+ }
+
+ //if(Debug) {
+ //cout << "List passed to parse\n";
+ //for(i=0; i<argc; i++) cout << i << " " << CArgs[i] << endl;
+ //}
+ Par.parseOptions(argc, CArgs);
+
+ if(iret != 0 || dashh.getCount() > 0) { // iret from ParseCommands
+ Par.displayUsage(cout,false);
+ DisplayRinexEditUsage(cout);
+ help = true; //return 1;
+ }
+
+ if (Par.hasErrors())
+ {
+ cerr << "\nErrors found in command line input:\n";
+ oflog << "\nErrors found in command line input:\n";
+ Par.dumpErrors(oflog);
+ oflog << "...end of Errors\n\n";
+ help = true;
+ }
+
+ // get values found on command line
+ vector<string> values;
+
+ // f never appears because we intercept it above
+ //if(dashf.getCount()) { cout << "Option f "; dashf.dumpValue(cout); }
+
+ //if(dashl.getCount()) {
+ // values = dashl.getValue();
+ // if(help) cout << "Output log file is: " << values[0] << endl;
+ // LogFile = values[0];
+ //}
+
+ if(dashh.getCount() && help)
+ oflog << "Option h appears " << dashh.getCount() << " times\n";
+ if(dashv.getCount() && help) {
+ Verbose = true;
+ if(help) oflog << "Option v appears " << dashv.getCount() << " times\n";
+ }
+ if(dashd.getCount() && help) {
+ Debug = true;
+ if(help) oflog << "Option d appears " << dashd.getCount() << " times\n";
+ }
+
+ if(Rest.getCount() && help) {
+ oflog << "Remaining options:" << endl;
+ values = Rest.getValue();
+ for (i=0; i<values.size(); i++) oflog << values[i] << endl;
+ }
+ if(Verbose && help) {
+ oflog << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+ for(j=0; j<Args.size(); j++) oflog << Args[j] << endl;
+ }
+ if(help) return 1;
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "EditRinex:GetCommandLine caught an exception\n" << e;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "EditRinex:GetCommandLine caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& ver, bool& deb)
+{
+ if(arg[0]=='-' && arg[1]=='f') {
+ string filename(arg);
+ filename.erase(0,2);
+ ifstream infile(filename.c_str());
+ if(!infile) {
+ cerr << "Error: could not open options file "
+ << filename << endl;
+ }
+ else {
+ char c;
+ string buffer;
+ while( infile >> buffer) {
+ if(buffer[0] == '#') { // skip to end of line
+ while(infile.get(c)) { if(c=='\n') break; }
+ }
+ else PreProcessArgs(buffer.c_str(),Args,ver,deb);
+ }
+ }
+ }
+ else if((arg[0]=='-' && arg[1]=='d') || string(arg)==string("--debug")) {
+ deb = true;
+ }
+ else if((arg[0]=='-' && arg[1]=='v') || string(arg)==string("--verbose")) {
+ ver = true;
+ }
+ else if((arg[0]=='-' && arg[1]=='l')) {
+ LogFile = string(&arg[2]);
+ }
+ else Args.push_back(arg);
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/Rinextools/Jamfile b/trunk/apps/Rinextools/Jamfile
new file mode 100644
index 0000000..5bdfd20
--- /dev/null
+++ b/trunk/apps/Rinextools/Jamfile
@@ -0,0 +1,18 @@
+#
+# $Id: //depot/sgl/gpstk/dev/apps/Rinextools/Jamfile#3 $
+#
+
+SubDir TOP apps Rinextools ;
+
+# make local library
+SEARCH_SOURCE += $(TOP)/src ;
+Library toolslib : RinexUtilities.cpp RinexEditor.cpp ;
+
+LinkLibraries RinexDump ResCor EditRinex RinSum : toolslib ;
+GPSLinkLibraries NavMerge RinexDump ResCor EditRinex RinSum : gpstk ;
+
+GPSMain NavMerge : NavMerge.cpp ;
+GPSMain RinexDump : RinexDump.cpp ;
+GPSMain RinSum : RinSum.cpp ;
+GPSMain EditRinex : EditRinex.cpp ;
+GPSMain ResCor : ResCor.cpp ;
diff --git a/trunk/apps/Rinextools/Makefile.am b/trunk/apps/Rinextools/Makefile.am
new file mode 100644
index 0000000..a1976f4
--- /dev/null
+++ b/trunk/apps/Rinextools/Makefile.am
@@ -0,0 +1,13 @@
+INCLUDES = -I../../src
+LDADD = ./libtoolslib.la ../../src/libgpstk.la
+
+noinst_LTLIBRARIES = libtoolslib.la
+libtoolslib_la_SOURCES = RinexUtilities.cpp RinexEditor.cpp
+
+noinst_PROGRAMS = NavMerge RinexDump ResCor EditRinex RinSum
+
+NavMerge_SOURCES = NavMerge.cpp
+RinexDump_SOURCES = RinexDump.cpp
+RinSum_SOURCES = RinSum.cpp
+EditRinex_SOURCES = EditRinex.cpp
+ResCor_SOURCES = ResCor.cpp
diff --git a/trunk/apps/Rinextools/Makefile.in b/trunk/apps/Rinextools/Makefile.in
new file mode 100644
index 0000000..1b3ff3a
--- /dev/null
+++ b/trunk/apps/Rinextools/Makefile.in
@@ -0,0 +1,482 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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@
+noinst_PROGRAMS = NavMerge$(EXEEXT) RinexDump$(EXEEXT) ResCor$(EXEEXT) \
+ EditRinex$(EXEEXT) RinSum$(EXEEXT)
+subdir = apps/Rinextools
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libtoolslib_la_LIBADD =
+am_libtoolslib_la_OBJECTS = RinexUtilities.lo RinexEditor.lo
+libtoolslib_la_OBJECTS = $(am_libtoolslib_la_OBJECTS)
+PROGRAMS = $(noinst_PROGRAMS)
+am_EditRinex_OBJECTS = EditRinex.$(OBJEXT)
+EditRinex_OBJECTS = $(am_EditRinex_OBJECTS)
+EditRinex_LDADD = $(LDADD)
+EditRinex_DEPENDENCIES = ./libtoolslib.la ../../src/libgpstk.la
+am_NavMerge_OBJECTS = NavMerge.$(OBJEXT)
+NavMerge_OBJECTS = $(am_NavMerge_OBJECTS)
+NavMerge_LDADD = $(LDADD)
+NavMerge_DEPENDENCIES = ./libtoolslib.la ../../src/libgpstk.la
+am_ResCor_OBJECTS = ResCor.$(OBJEXT)
+ResCor_OBJECTS = $(am_ResCor_OBJECTS)
+ResCor_LDADD = $(LDADD)
+ResCor_DEPENDENCIES = ./libtoolslib.la ../../src/libgpstk.la
+am_RinSum_OBJECTS = RinSum.$(OBJEXT)
+RinSum_OBJECTS = $(am_RinSum_OBJECTS)
+RinSum_LDADD = $(LDADD)
+RinSum_DEPENDENCIES = ./libtoolslib.la ../../src/libgpstk.la
+am_RinexDump_OBJECTS = RinexDump.$(OBJEXT)
+RinexDump_OBJECTS = $(am_RinexDump_OBJECTS)
+RinexDump_LDADD = $(LDADD)
+RinexDump_DEPENDENCIES = ./libtoolslib.la ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libtoolslib_la_SOURCES) $(EditRinex_SOURCES) \
+ $(NavMerge_SOURCES) $(ResCor_SOURCES) $(RinSum_SOURCES) \
+ $(RinexDump_SOURCES)
+DIST_SOURCES = $(libtoolslib_la_SOURCES) $(EditRinex_SOURCES) \
+ $(NavMerge_SOURCES) $(ResCor_SOURCES) $(RinSum_SOURCES) \
+ $(RinexDump_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ./libtoolslib.la ../../src/libgpstk.la
+noinst_LTLIBRARIES = libtoolslib.la
+libtoolslib_la_SOURCES = RinexUtilities.cpp RinexEditor.cpp
+NavMerge_SOURCES = NavMerge.cpp
+RinexDump_SOURCES = RinexDump.cpp
+RinSum_SOURCES = RinSum.cpp
+EditRinex_SOURCES = EditRinex.cpp
+ResCor_SOURCES = ResCor.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apps/Rinextools/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu apps/Rinextools/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libtoolslib.la: $(libtoolslib_la_OBJECTS) $(libtoolslib_la_DEPENDENCIES)
+ $(CXXLINK) $(libtoolslib_la_LDFLAGS) $(libtoolslib_la_OBJECTS) $(libtoolslib_la_LIBADD) $(LIBS)
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+EditRinex$(EXEEXT): $(EditRinex_OBJECTS) $(EditRinex_DEPENDENCIES)
+ @rm -f EditRinex$(EXEEXT)
+ $(CXXLINK) $(EditRinex_LDFLAGS) $(EditRinex_OBJECTS) $(EditRinex_LDADD) $(LIBS)
+NavMerge$(EXEEXT): $(NavMerge_OBJECTS) $(NavMerge_DEPENDENCIES)
+ @rm -f NavMerge$(EXEEXT)
+ $(CXXLINK) $(NavMerge_LDFLAGS) $(NavMerge_OBJECTS) $(NavMerge_LDADD) $(LIBS)
+ResCor$(EXEEXT): $(ResCor_OBJECTS) $(ResCor_DEPENDENCIES)
+ @rm -f ResCor$(EXEEXT)
+ $(CXXLINK) $(ResCor_LDFLAGS) $(ResCor_OBJECTS) $(ResCor_LDADD) $(LIBS)
+RinSum$(EXEEXT): $(RinSum_OBJECTS) $(RinSum_DEPENDENCIES)
+ @rm -f RinSum$(EXEEXT)
+ $(CXXLINK) $(RinSum_LDFLAGS) $(RinSum_OBJECTS) $(RinSum_LDADD) $(LIBS)
+RinexDump$(EXEEXT): $(RinexDump_OBJECTS) $(RinexDump_DEPENDENCIES)
+ @rm -f RinexDump$(EXEEXT)
+ $(CXXLINK) $(RinexDump_LDFLAGS) $(RinexDump_OBJECTS) $(RinexDump_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/EditRinex.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/NavMerge.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ResCor.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RinSum.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RinexDump.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RinexEditor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RinexUtilities.Plo at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(LTLIBRARIES) $(PROGRAMS)
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ clean-noinstPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES clean-noinstPROGRAMS \
+ ctags distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-exec install-exec-am install-info \
+ install-info-am install-man install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/Rinextools/NavMerge b/trunk/apps/Rinextools/NavMerge
new file mode 100755
index 0000000..28a3638
Binary files /dev/null and b/trunk/apps/Rinextools/NavMerge differ
diff --git a/trunk/apps/Rinextools/NavMerge.cpp b/trunk/apps/Rinextools/NavMerge.cpp
new file mode 100755
index 0000000..19133c5
--- /dev/null
+++ b/trunk/apps/Rinextools/NavMerge.cpp
@@ -0,0 +1,251 @@
+// NavMerge will merge any number of Rinex nav files into a unique superset,
+// and either write them out to a new Rinex file (if an output file is given),
+// or write a summary of the data to the screen. NavMerge also finds
+// and fixes full week number when it is inconsistent with epoch.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/NavMerge.cpp#3 $"
+
+/**
+ * @file NavMerge.cpp
+ * Read, summarize and optionally merge, Rinex navigation files.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavStream.hpp"
+#include "BCEphemerisStore.hpp"
+#include "DayTime.hpp"
+
+//------------------------------------------------------------------------------------
+
+using namespace std;
+
+// Returns 0 when successful.
+int main(int argc, char *argv[])
+{
+ if (argc<2)
+ {
+ cout
+ << "Usage: NavMerge [options] <Rinex nav file(s)...>\n"
+ << " Options are:\n"
+ << " -o<file> Write all data to an output Rinex nav file.\n"
+ << " If omitted, a data summary is written to the screen.\n"
+ << " -tb<timetag> Output only if epoch is within 4 hours of the interval (tb,te).\n"
+ << " -te<timetag> If te or tb is missing, they are made equal.\n"
+ << " Timetags have the form year,mon,day,HH,min,sec OR GPSweek,sow\n"
+ << " NavMerge will also correct the output data when the GPS full week number is\n"
+ << " inconsistent with the epoch time.\n";
+ return -1;
+ }
+
+ try
+ {
+ int i;
+ string filename,outfile,YMDformat("%Y,%m,%d,%H,%M,%f"),GPSformat("%F,%g");
+ gpstk::DayTime tb,te;
+ te = tb = gpstk::DayTime::BEGINNING_OF_TIME;
+
+ i = 1;
+ while(i < argc) {
+ filename = argv[i]; // filename is used as a temp here
+ if(filename[0]=='-' && (filename[1]=='o' || filename[1]=='O')) {
+ outfile = filename.substr(2);
+ cout << "Output file name is " << outfile << endl;
+ argv[i][0] = '\0';
+ }
+ else if(filename[0]=='-' && (filename[1]=='t' || filename[1]=='T')) {
+ if(filename[2]=='b' || filename[2]=='B') {
+ filename = filename.substr(3);
+ if(gpstk::StringUtils::numWords(filename,',') == 2)
+ tb.setToString(filename,GPSformat);
+ else if(gpstk::StringUtils::numWords(filename,',') == 6)
+ tb.setToString(filename,YMDformat);
+ else
+ cout << "Unable to understand timetag option: " << argv[i] << endl;
+ }
+ else if(filename[2]=='e' || filename[2]=='E') {
+ filename = filename.substr(3);
+ if(gpstk::StringUtils::numWords(filename,',') == 2)
+ te.setToString(filename,GPSformat);
+ else if(gpstk::StringUtils::numWords(filename,',') == 6)
+ te.setToString(filename,YMDformat);
+ else
+ cout << "Unable to understand timetag option: " << argv[i] << endl;
+ }
+ argv[i][0] = '\0';
+ }
+ i++;
+ }
+ if(te != gpstk::DayTime::BEGINNING_OF_TIME &&
+ tb == gpstk::DayTime::BEGINNING_OF_TIME) tb = te;
+ else
+ if(tb != gpstk::DayTime::BEGINNING_OF_TIME &&
+ te == gpstk::DayTime::BEGINNING_OF_TIME) te = tb;
+ if(tb > te) { gpstk::DayTime tt=tb; tb=te; te=tt; }
+
+ gpstk::RinexNavHeader rnh,rnhout;
+ gpstk::RinexNavData rne;
+ gpstk::BCEphemerisStore EphStore;
+ gpstk::RinexNavStream RNFileOut;
+
+ if(outfile != string("")) {
+ RNFileOut.open(outfile.c_str(),ios::out);
+ RNFileOut.exceptions(fstream::failbit);
+ rnhout.version = 2.1;
+ rnhout.valid |= gpstk::RinexNavHeader::versionValid;
+ rnhout.fileType = string("NAVIGATION");
+ rnhout.fileProgram = string("NavMerge");
+ rnhout.fileAgency = string("GPSTK");
+ rnhout.valid |= gpstk::RinexNavHeader::runByValid;
+ rnhout.commentList.clear();
+ rnhout.valid |= gpstk::RinexNavHeader::commentValid;
+ rnhout.valid |= gpstk::RinexNavHeader::endValid;
+ }
+
+ int na=1,n=0,nf;
+ while(na < argc) {
+ filename = argv[na];
+ if(filename == string("")) { na++; continue; }
+
+ try {
+ gpstk::RinexNavStream RNFileIn(filename.c_str());
+ if(!RNFileIn) {
+ cout << "Could not open file " << filename << endl;
+ na++;
+ continue;
+ }
+ RNFileIn.exceptions(fstream::failbit);
+
+ RNFileIn >> rnh;
+ if(rnh.valid & gpstk::RinexNavHeader::ionAlphaValid) {
+ for(i=0; i<4; i++) rnhout.ionAlpha[i]=rnh.ionAlpha[i];
+ rnhout.valid |= gpstk::RinexNavHeader::ionAlphaValid;
+ }
+ if(rnh.valid & gpstk::RinexNavHeader::ionBetaValid) {
+ for(i=0; i<4; i++) rnhout.ionBeta[i]=rnh.ionBeta[i];
+ rnhout.valid |= gpstk::RinexNavHeader::ionBetaValid;
+ }
+ if(rnh.valid & gpstk::RinexNavHeader::deltaUTCValid) {
+ rnhout.A0 = rnh.A0;
+ rnhout.A1 = rnh.A1;
+ rnhout.UTCRefWeek = rnh.UTCRefWeek;
+ rnhout.UTCRefTime = rnh.UTCRefTime;
+ rnhout.valid |= gpstk::RinexNavHeader::deltaUTCValid;
+ }
+ if(rnh.valid & gpstk::RinexNavHeader::leapSecondsValid) {
+ rnhout.leapSeconds = rnh.leapSeconds;
+ rnhout.valid |= gpstk::RinexNavHeader::leapSecondsValid;
+ }
+
+ nf = 0;
+ while (RNFileIn >> rne)
+ {
+ nf++;
+ n++;
+ // check that week number (associated with HOW)
+ // is consistent with TOC.
+ // (NB. in Rinex nav file, the week number is
+ // associated with the TOE; gpstk::RinexNavData
+ // converts it to associate with the HOW)
+ int wkTOC,wk;
+ wk = rne.weeknum; // 'weeknum' associated with HOW
+ wkTOC = rne.time.GPSfullweek(); // 'time' comes from epoch line
+ if(ABS(wk-wkTOC) > 1) { // HOW and TOC should be w/in 1 week
+ double dt = double(wk-wkTOC)/1024.0;
+ dt += (dt < 0.0 ? -0.5 : 0.5);
+ wk -= int(dt) * 1024;
+ if(ABS(wk-wkTOC) > 1) {
+ cout << "WARNING: Ephemeris in " << filename
+ << " for satellite G"
+ << setw(2) << setfill('0') << rne.PRNID << setfill(' ')
+ << " at time " << rne.time
+ << " has inconsistent week number " << rne.weeknum << endl;
+ }
+ else {
+ cout << "NavMerge corrected the week in G"
+ << setw(2) << setfill('0') << rne.PRNID << setfill(' ')
+ << " " << rne.time
+ << " " << filename << endl;
+ rne.weeknum = wk;
+ }
+ }
+ // if healthy, add to the store
+ if(rne.health == 0) EphStore.addEphemeris(rne);
+ }
+ }
+ catch(gpstk::Exception& e) {
+ cout << "Exception: " << e << endl;
+ }
+ na++;
+ cout << "Read " << setw(4) << nf << " ephemerides from file "
+ << filename << endl;
+ }
+ cout << "Read " << setw(4) << n << " total ephemerides." << endl;
+
+ // pull out all the ephemerides
+ list<gpstk::EngEphemeris> EphList;
+ i = EphStore.addToList(EphList);
+
+ if(outfile != string("")) {
+ // write the output header
+ RNFileOut << rnhout;
+
+ // write out all the ephemerides
+ list<gpstk::EngEphemeris>::iterator it=EphList.begin();
+ n=0;
+ while(it != EphList.end()) {
+ rne = gpstk::RinexNavData(*it);
+ if(tb == gpstk::DayTime::BEGINNING_OF_TIME ||
+ (rne.time - tb > -14400.0 && rne.time - te < 14400.0))
+ {
+ n++;
+ RNFileOut << rne;
+ }
+ it++;
+ }
+ cout << "Wrote " << setw(3) << n << " unique ephemerides to file "
+ << outfile << endl;
+ }
+ else {
+ EphStore.dump(1);
+ }
+
+ return 0;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e;
+ return 1;
+ }
+ catch (...)
+ {
+ cout << "unknown error. Done." << endl;
+ return 1;
+ }
+
+ return 0;
+}
diff --git a/trunk/apps/Rinextools/README b/trunk/apps/Rinextools/README
new file mode 100644
index 0000000..c6e415a
--- /dev/null
+++ b/trunk/apps/Rinextools/README
@@ -0,0 +1,45 @@
+Rinex tools (/apps/Rinextools)
+
+ This directory contains 4 standalone programs which are useful in
+manipulating Rinex observation files. They are:
+ RinexDump dumps Rinex observation data in columns in a flat file, useful
+ for plotting
+ RinSum summarizes a Rinex observation file
+ EditRinex reads and edits a Rinex observation file, writing out the a
+ new, edited one.
+ ResCor reads a Rinex file(s) and computes any of several residuals and
+ corrections from the data, and then writes them to an output
+ Rinex observation file.
+ NavMerge reads any number of Rinex navigation files and either prints a
+ summary on the screen, or, if an output file is specified,
+ writes a unique superset of all the ephemeris data to that file.
+ It will also correct the week number in the ephemeris if it is
+ inconsistent with the time on the epoch line.
+
+ In addition there is the RinexEditor module, which implements a class that
+may be called within other programs to edit the Rinex data. The EditRinex program is really just a shell that calls the RinexEditor, while ResCor is a more complicated program that also calls the RinexEditor but also modifies the data (i.e. computes the residuals and corrections) before writing it out.
+
+ All of these programs are run from the command line, and input and outputs are all flat files. To see the command line syntax, run the program with either no arguments, or with arguments but including --help.
+
+ Examples are not included here; however, examples are available elsewhere. RinSum is very easy to run; try typing
+
+ RinSum -i<file>
+
+at the command line for any Rinex observation file <file>. Note, also, that the
+discontinuity corrector uses EditRinex to apply its corrections, and that an
+example of this is found in /apps/cycleslips/examples. Finally, the RinexPlot utility (/apps/RinexPlot) makes extensive use of the other utility programs
+here; it is actually a Perl script and runs these programs from the command
+line.
+
+Brian Tolman
+btolman at arlut.utexas.edu
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/Rinextools/ResCor b/trunk/apps/Rinextools/ResCor
new file mode 100755
index 0000000..3d52e2c
Binary files /dev/null and b/trunk/apps/Rinextools/ResCor differ
diff --git a/trunk/apps/Rinextools/ResCor.cpp b/trunk/apps/Rinextools/ResCor.cpp
new file mode 100644
index 0000000..d09d9c5
--- /dev/null
+++ b/trunk/apps/Rinextools/ResCor.cpp
@@ -0,0 +1,2063 @@
+//------------------------------------------------------------------------------------
+// ResCor.cpp 'Residuals and Corrections'
+// Open and read a single Rinex observation file, apply editing commands
+// using the RinexEditor package, compute any of several residuals and corrections
+// and register extended Rinex observation types for them, and then write
+// the edited data, along with the new extended observation types,
+// to an output Rinex observation file. Input is all on the command line.
+//
+// ResCor is implemented by deriving a special class from class RinexEditor and
+// using its virtual functions to implement all the changes necessary to define
+// and compute the residuals and corrections.
+//
+// ResCor is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/ResCor.cpp#6 $"
+
+/**
+ * @file ResCor.cpp
+ * Compute residuals and corrections to Rinex observation data.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+// ToDo
+// catch exceptions -- elsewhere and on reading header and obs
+// allow user to specify trop model, both for RAIM and for TR output
+//
+//------------------------------------------------------------------------------------
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "SP3Stream.hpp"
+#include "SP3EphemerisStore.hpp"
+#include "BCEphemerisStore.hpp"
+#include "EphemerisRange.hpp"
+#include "TropModel.hpp"
+#include "RAIMSolution.hpp"
+#include "WGS84Geoid.hpp" // for obliquity
+#include "Stats.hpp"
+#include "geometry.hpp" // DEG_TO_RAD
+#include "icd_200_constants.hpp" // PI,C_GPS_M,OSC_FREQ,L1_MULT,L2_MULT
+
+#include "RinexEditor.hpp"
+#include "RinexUtilities.hpp"
+#include "Position.hpp"
+
+#include <time.h>
+#include <string>
+#include <vector>
+#include <map>
+#include <algorithm>
+#include <iostream>
+#include <fstream>
+#include <sstream>
+
+//------------------------------------------------------------------------------------
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+//------------------------------------------------------------------------------------
+ // prgm data
+string PrgmName("ResCor");
+string PrgmVers("3.5 8/16/04");
+
+// data used in program
+const double CFF=C_GPS_M/OSC_FREQ;
+const double F1=L1_MULT; // 154.0;
+const double F2=L2_MULT; // 120.0;
+const double f12=F1*F1;
+const double f22=F2*F2;
+const double wl1=CFF/F1;
+const double wl2=CFF/F2;
+const double wl1r=F1/(F1+F2);
+const double wl2r=F2/(F1+F2);
+const double wl1p=wl1*F1/(F1-F2);
+const double wl2p=-wl2*F2/(F1-F2);
+const double if1r=f12/(f12-f22);
+const double if2r=-f22/(f12-f22);
+const double if1p=wl1*f12/(f12-f22);
+const double if2p=-wl2*f22/(f12-f22);
+const double gf1r=-1;
+const double gf2r=1;
+const double gf1p=wl1;
+const double gf2p=-wl2;
+const double alpha=f12/f22 - 1.0;
+const double FL1=F1*10.23e6; // Hz
+const double TECUperM=FL1*FL1*1.e-16/40.28;
+
+clock_t totaltime;
+string Title;
+ // input flags and data
+bool Debug,Verbose,Callow,Cforce;
+double IonoHt;
+RinexPrn SVonly;
+string ErrFile,LogFile;
+ofstream logof,oferr; // don't call it oflog - RinexEditor has that
+ // Rinex headers, input and output, saved
+RinexObsHeader rhead, rheadout;
+ // ephemeris
+string NavDir;
+vector<string> NavFiles;
+SP3EphemerisStore SP3EphList;
+BCEphemerisStore BCEphList;
+SimpleTropModel ggtm;
+ // for use with current position and in RefPosMap (RAIM and/or RefPosFile)
+typedef struct ReferencePositionFileData {
+ Position RxPos; // XYZT
+ int NPRN;
+ double clk,PDOP,GDOP,RMS;
+} RefPosData;
+RefPosData CurrRef; // current reference position
+ // reference and RAIM solution
+string RefPosFile,KnownPos;
+bool doRAIM,editRAIM,outRef,headRAIM,HaveRAIM;
+bool RefPosInput,KnownPosInput,KnownLLH,RefPosFlat;
+vector<RinexPrn> Sats;
+vector<double> PRange;
+RAIMSolution RAIMSol;
+Stats<double> ARSX,ARSY,ARSZ; // average solution, for header output
+ // computation
+int inC1,inP1,inP2,inL1,inL2; // indexes in rhead of C1, C1/P1, P2, L1 and L2
+int inEP,inPS; // flags for input of ephemeris, Rx position
+int inD1,inD2,inS1,inS2;
+DayTime CurrentTime(DayTime::BEGINNING_OF_TIME), PrgmEpoch;
+// these 3 vectors parallel
+vector<string> OTlist; // list of OT to be computed
+vector<RinexObsHeader::RinexObsType> OTList;
+vector<int> OTindex;
+int otC1,otP1,otP2,otL1,otL2; // indexes in rheadout of C1, C1/P1, P2, L1 and L2
+int otD1,otD2,otS1,otS2;
+bool DoSVX;
+WGS84Geoid WGS84;
+// compute non-dispersive range, ionospheric delay, multipath (L1 and L2)
+bool DoXR;
+double XRM0[4],XRM1[4],XRM2[4],XRM3[4];
+double *XRM[4]={XRM0,XRM1,XRM2,XRM3};
+double XRdat[4],XRsol[4];
+ // structure for holding raw range and phase data during computation
+typedef struct range_and_phase_data {
+ double L1,L2,P1,P2;
+ int LL1,LL2;
+} RCData;
+ // map of <sat,RCData>
+RCData DataStore;
+map<RinexPrn,RCData> DataStoreMap;
+ // debiasing output data
+map<RinexObsHeader::RinexObsType,map<RinexPrn,double> > AllBiases; // (OT,SV)
+ // reference position as function of time (from input)
+map<DayTime,RefPosData> RefPosMap;
+
+string Rxhelp=
+"\n --RxFlat <fn> : fn is a file with reference receiver positions and times:\n"
+" The first line in the file (other than comments, marked by # in column 1)\n"
+" is the format for each line of the file, using the specifications in\n"
+" DayTime::setToString() and Position::setToString().\n"
+" The second line is a pattern made up of characters T, P and X indicating the\n"
+" content of both the lines in the file and the format: (white-space-delimited)\n"
+" words on each line are either part of the time(T) or position(P) specification,\n"
+" or are to be ignored(X). For example, the file begins with these six lines:\n"
+" # format:\n"
+" t= %F %g p= %x %y %z\n"
+" # pattern:\n"
+" XTTXPPP\n"
+" # data:\n"
+" t= 1281 259200 p= -2701232.4 6123085.7 1419837.5";
+
+//------------------------------------------------------------------------------------
+// inherit RinexEditor so that callback routines can be defined by Prgm ResCor
+class RCRinexEditor : public RinexEditor
+{
+ public:
+ /// Constructor.
+ RCRinexEditor() throw() {};
+
+ /// destructor
+ virtual ~RCRinexEditor() {}
+
+ /// after reading input header and before calling
+ /// RinexEditor::EditHeader (pass input header)
+ virtual int BeforeEditHeader(const RinexObsHeader& rhin);
+
+ /// after calling RinexEditor::EditHeader (pass output header)
+ virtual int AfterEditHeader(const RinexObsHeader& rhout);
+
+ /// after reading input obs and before calling
+ /// RinexEditor::EditObs (pass input obs)
+ virtual int BeforeEditObs(const RinexObsData& roin);
+
+ /// before writing out header (pass output header)
+ virtual int BeforeWritingHeader(RinexObsHeader& rhout);
+
+ /// before writing out filled header
+ virtual int BeforeWritingFilledHeader(RinexObsHeader& rhout);
+
+ /// just before writing output obs (pass output obs)
+ virtual int BeforeWritingObs(RinexObsData& roout);
+
+}; // end class RCRinexEditor
+
+// RinexEditor data input from command line
+RCRinexEditor REC;
+
+//------------------------------------------------------------------------------------
+// prototypes
+int GetCommandLine(int argc, char **argv);
+int PrepareInput(void);
+int LoopOverObs(void);
+void SaveData(const RinexObsData& rod, const RinexObsHeader& rh,
+ int xL1, int xL2, int xP1, int xP2);
+int UpdateRxPosition(void);
+void ComputeNewOTs(RinexObsData& rod);
+void CloseOutputFile(void);
+void PreProcessArgs(const char *arg, vector<string>& Args);
+int setBiasLimit(RinexObsHeader::RinexObsType& ot, double lim);
+double removeBias(const RinexObsHeader::RinexObsType& ot, const RinexPrn& prn,
+ bool& reset, DayTime& tt, double delta);
+
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+ totaltime = clock();
+ int iret;
+
+ // Title and description
+ Title = PrgmName + ", part of the GPSTK ToolKit, Ver " + PrgmVers + ", Run ";
+ time_t timer;
+ struct tm *tblock;
+ timer = time(NULL);
+ tblock = localtime(&timer);
+ PrgmEpoch.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+ tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+ Title += PrgmEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S");
+ Title += "\n";
+ cout << Title;
+
+ // define extended types
+ iret = RegisterARLUTExtendedTypes();
+ if(iret) goto quit;
+
+ // Set defaults, define command line and parse it.
+ // Send REdit cmds to REC. Check validity of input.
+ iret = GetCommandLine(argc, argv);
+ if(iret) goto quit;
+
+ // Initialize, read ephemerides, set flags and prepare for processing
+ iret = PrepareInput();
+ if(iret) goto quit;
+
+ // Edit the file, including callbacks
+ iret = REC.EditFile();
+ if(Debug) logof << "EditFile returned " << iret << endl;
+ if(iret) goto quit;
+
+ quit:
+ // compute run time
+ totaltime = clock()-totaltime;
+ logof << "ResCor timing: " << setprecision(3)
+ << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+
+ logof.close();
+ cout << "End ResCor" << endl;
+ return iret;
+}
+catch(gpstk::FFStreamError& e) {
+ cerr << e;
+}
+catch(gpstk::Exception& e) {
+ cerr << e;
+}
+catch (...) {
+ cerr << "Unknown error. Abort." << endl;
+}
+ return 1;
+} // end main()
+
+//------------------------------------------------------------------------------------
+// Set defaults, define command line and parse it. Send REdit cmds to REC.
+// Check validity of input
+int GetCommandLine(int argc, char **argv)
+{
+ bool help=false;
+ int i,j,iret;
+try {
+ // defaults
+ Debug = Verbose = false;
+
+ doRAIM = false;
+ KnownPosInput = RefPosInput = false;
+ outRef = true;
+ editRAIM = true;
+ headRAIM = false;
+
+ IonoHt = 400.0; // km
+
+ Callow = true;
+ Cforce = false;
+
+ ErrFile = string("rc.err");
+ LogFile = string("rc.log");
+
+ // -------------------------------------------------
+ // required options
+
+ // optional options
+
+ // this only so it will show up in help page...
+ CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+ 'f',"","\nConfiguration input:\n -f<file> File containing more options");
+
+ // ephemeris
+ CommandOption dashn(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"nav"," --nav <file> Navigation (Rinex Nav OR SP3) file(s)");
+
+ CommandOption dashnd(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"navdir"," --navdir <dir> Directory of navigation file(s)");
+ dashnd.setMaxCount(1);
+
+ // reference position(s)
+ CommandOption dashRx1(CommandOption::hasArgument,CommandOption::stdType,0,"RxLLH",
+ "Reference position input: (there are six ways to input the reference "
+ "position(s):\n --RxLLH <l,l,h> 1.Receiver position (static) in geodetic "
+ "lat, lon(E), ht (deg,deg,m)");
+ dashRx1.setMaxCount(1);
+
+ CommandOption dashRx2(CommandOption::hasArgument, CommandOption::stdType,0,"RxXYZ",
+ " --RxXYZ <x,y,z> 2.Receiver position (static) in ECEF coordinates (m)");
+ dashRx2.setMaxCount(1);
+
+ CommandOptionNoArg dashRx3(0,"Rxhere",
+ " --Rxhere 3.Reference site positions(time) from this file"
+ " (i.e. -IF<RinexFile>)");
+ dashRx3.setMaxCount(1);
+
+ CommandOption dashRx4(CommandOption::hasArgument, CommandOption::stdType,0,
+ "RxRinex"," --RxRinex <fn> 4.Reference site positions(time) from another "
+ "Rinex file named <fn>");
+ dashRx4.setMaxCount(1);
+
+ CommandOption dashRx5(CommandOption::hasArgument,CommandOption::stdType,0,"RxFlat",
+ " --RxFlat <fn> 5.Reference site positions and times given in a flat file"
+ " named <fn>");
+ dashRx5.setMaxCount(1);
+
+ CommandOptionNoArg dashRxhelp(0,"Rxhelp"," --Rxhelp "
+ "(Enter --Rxhelp for a description of the -RxFlat file format)");
+ dashRxhelp.setMaxCount(1);
+
+ CommandOptionNoArg dashRx6(0,"RAIM",
+ " --RAIM 6.Reference site positions computed via RAIM"
+ " (requires P1,P2,EP)");
+ dashRx6.setMaxCount(1);
+
+ CommandOptionNoArg dashred(0,"noRAIMedit",
+ " (NB the following two options apply only if --RAIM is found)\n"
+ " --noRAIMedit Do not edit data based on RAIM solution");
+ dashred.setMaxCount(1);
+
+ CommandOptionNoArg dashrh(0,"RAIMhead",
+ " --RAIMhead Output average RAIM solution to Rinex header "
+ "(if -HDf also appears)");
+ dashrh.setMaxCount(1);
+
+ CommandOptionNoArg dashro(0,"noRefout",
+ " --noRefout Do not output reference solution to Rinex");
+ dashro.setMaxCount(1);
+
+ // residual and correction computation, processing options
+ CommandOption dashdb(CommandOption::hasArgument, CommandOption::stdType,0,"debias",
+ "Residual/Correction computation:\n"
+ " --debias <OT,l> Debias new output type <OT>; "
+ "trigger a bias reset with limit <l>");
+
+ CommandOptionNoArg dashca(0,"Callow",
+ " --Callow Allow C1 to replace P1 when P1 is not available");
+ dashca.setMaxCount(1);
+
+ CommandOptionNoArg dashcf(0,"Cforce",
+ " --Cforce Force C/A code pseudorange C1 to replace P1");
+ dashcf.setMaxCount(1);
+
+ CommandOption dashih(CommandOption::hasArgument, CommandOption::stdType,0,"IonoHt",
+ " --IonoHt <ht> Height of ionosphere in km (default 400) "
+ "(needed for LA,LO,VR,VP)");
+ dashih.setMaxCount(1);
+
+ CommandOption dashSV(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"SVonly"," --SVonly <prn> Process this satellite ONLY");
+ dashSV.setMaxCount(1);
+
+ // output files
+ CommandOption dashLog(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Log","Output files:\n --Log <file> Output log file name (rc.log)");
+ dashLog.setMaxCount(1);
+
+ CommandOption dashErr(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Err"," --Err <file> Output error file name (rc.err)");
+ dashErr.setMaxCount(1);
+
+ // help
+ CommandOptionNoArg dashVerb(0,"verbose",
+ "Help:\n --verbose Print extended output");
+ dashVerb.setMaxCount(1);
+
+ CommandOptionNoArg dashDebug(0,"debug",
+ " --debug Print debugging information.");
+ dashDebug.setMaxCount(1);
+
+ CommandOptionNoArg dashh('h', "help"," --help [or -h] Print syntax and quit.");
+
+ // ... other options
+ CommandOptionRest Rest("");
+
+ CommandOptionParser Par(
+ "Prgm ResCor will open and read a single Rinex observation file, "
+ "apply editing commands\n"
+ " using the RinexEditor package, compute any of several residuals "
+ "and corrections and\n"
+ " register extended Rinex observation types for them, and then write "
+ "the edited data,\n"
+ " along with the new extended observation types, to an output Rinex "
+ "observation file.\n"
+ "\nRequired arguments:\n"
+ " -IF and -OF (RinexEditor commands, see below) are required arguments.\n");
+
+ // -------------------------------------------------
+ // allow user to put all options in a file
+ // could also scan for debug here
+ vector<string> Args;
+ for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args);
+ argc = Args.size();
+ if(argc==0) Args.push_back(string("--help"));
+
+ //if(Debug) {
+ //cout << "List after PreProcessArgs\n";
+ //for(i=0; i<argc; i++) cout << i << " " << Args[i] << endl;
+ //}
+
+ // add PRGM and RUNBY strings to the header
+ REC.REVerbose = Verbose;
+ REC.REDebug = Debug;
+ Args.push_back(string("-HDp") + PrgmName + string(" v.") + PrgmVers.substr(0,4));
+ Args.push_back(string("-HDrARL:UT/SGL/GPSTK"));
+
+ if(Debug) {
+ cout << "List passed to REditCommandLine:\n";
+ for(i=0; i<argc; i++) cout << i << " " << Args[i] << endl;
+ }
+
+ // Add RE cmds; this will strip out the REditCmds from Args
+ REC.AddCommandLine(Args);
+ if(Debug) {
+ cout << "List after REC.AddCommandLine(Args)\n";
+ argc = Args.size();
+ for(i=0; i<argc; i++) cout << i << " " << Args[i] << endl;
+
+ //deque<REditCmd>::iterator it=REC.Cmds.begin();
+ //cout << "\nHere is the list of RE cmds\n";
+ //while(it != REC.Cmds.end()) { it->Dump(cout,string("")); ++it; }
+ //cout << "End of list of RE cmds" << endl;
+ }
+
+ // preprocess the commands
+ // Return 0 ok, -1 no input file name, -2 no output file name
+ iret = REC.ParseCommands();
+ //if(Debug) {
+ //cout << "\nHere is the parsed list of RE cmds\n";
+ //it=REC.Cmds.begin();
+ //while(it != REC.Cmds.end()) { it->Dump(cout,string("")); ++it; }
+ //cout << "End of sorted list of RE cmds" << endl << endl;
+
+ // pass the rest to the regular command line processor
+ //}
+
+ // -------------------------------------------------------------------
+ argc = Args.size()+1;
+ char **CArgs=new char*[argc];
+ if(!CArgs) { cerr << "Failed to allocate CArgs\n"; return -1; }
+ CArgs[0] = argv[0];
+ for(j=1; j<argc; j++) {
+ CArgs[j] = new char[Args[j-1].size()+1];
+ if(!CArgs[j]) { cerr << "Failed to allocate CArgs[j]\n"; return -1; }
+ strcpy(CArgs[j],Args[j-1].c_str());
+ }
+
+ //if(Debug) {
+ //cout << "List passed to parser\n";
+ //for(i=0; i<argc; i++) cout << i << " " << CArgs[i] << endl;
+ //}
+
+ Par.parseOptions(argc, CArgs);
+ delete[] CArgs;
+
+ // -------------------------------------------------
+ // was help requested?
+ if(dashh.getCount() > 0) help=true;
+ if(dashRxhelp.getCount() > 0) help=true;
+ // if errors on the command line, dump them and turn on help
+ if(!help && (iret<0 || Par.hasErrors())) {
+ cout << "Errors found in command line input:\n";
+ if(iret==-1 || iret==-3) cout << "Input file name required: use -IF<name>\n";
+ if(iret==-2 || iret==-3) cout << "Output file name required: use -OF<name>\n";
+ Par.dumpErrors(cout);
+ cout << "...end of Errors\n\n";
+ help = true;
+ }
+ // display syntax page
+ if(help) {
+ Par.displayUsage(cout,false);
+ if(dashRxhelp.getCount()) cout << Rxhelp;
+ cout << endl;
+ DisplayRinexEditUsage(cout);
+ DisplayExtendedRinexObsTypes(cout);
+ cout << "End of list of extended observation types\n";
+ if(iret < 0) return iret;
+ }
+
+ // -------------------------------------------------
+ // get values found on command line
+ vector<string> values;
+ //dashf intercepted above
+ //dashh Handled above (first)
+ //if(dashDebug.getCount()) Debug=true; done by PreProcessArgs
+ //if(dashVerb.getCount()) Verbose=true; done by PreProcessArgs
+
+ // now do the rest
+ // ephemeris input
+ if(dashnd.getCount()) {
+ values = dashnd.getValue();
+ NavDir = values[0];
+ if(help) cout << "Nav Directory is " << NavDir << endl;
+ }
+ if(dashn.getCount()) {
+ values = dashn.getValue();
+ NavFiles = values;
+ if(help) {
+ cout << "Nav files are:";
+ for(i=0; i<NavFiles.size(); i++) cout << " " << NavFiles[i];
+ cout << endl;
+ }
+ }
+
+ // reference position
+ if(dashRx1.getCount()) {
+ values = dashRx1.getValue();
+ KnownPos = values[0];
+ KnownLLH = true;
+ KnownPosInput = true;
+ if(help) cout << "Get reference position from explicit input (LLH) "
+ << KnownPos << endl;
+ }
+ if(dashRx2.getCount()) {
+ values = dashRx2.getValue();
+ KnownPos = values[0];
+ KnownLLH = false;
+ KnownPosInput = true;
+ if(help) cout << "Get reference position from explicit input (XYZ) "
+ << KnownPos << endl;
+ }
+ if(dashRx3.getCount()) { // get ref from this input file
+ RefPosInput = true;
+ if(help) cout << "Get reference position from this input file" << endl;
+ }
+ if(dashRx4.getCount()) {
+ values = dashRx4.getValue();
+ RefPosFile = values[0];
+ RefPosFlat = false;
+ if(help) cout << "Get reference position from Rinex file " << RefPosFile<<endl;
+ }
+ if(dashRx5.getCount()) {
+ values = dashRx5.getValue();
+ RefPosFile = values[0];
+ RefPosFlat = true;
+ if(help) cout << "Get reference position from flat file " << RefPosFile << endl;
+ }
+ if(dashRx6.getCount()) {
+ doRAIM = true;
+ if(help) cout << "Compute a RAIM solution" << endl;
+ }
+
+ // RAIM options
+ if(dashred.getCount()) {
+ if(doRAIM) {
+ editRAIM = false;
+ if(help) cout << "Do not edit data based on RAIM solution" << endl;
+ }
+ else if(help) cout << "Ignore --noRAIMedit: --RAIM was not set" << endl;
+ }
+ if(dashro.getCount()) {
+ outRef = false;
+ if(help) cout << "Do not output Reference solution to Rinex" << endl;
+ }
+ if(dashrh.getCount()) {
+ if(doRAIM) {
+ headRAIM = true;
+ if(help) cout << "Output average RAIM solution to header" << endl;
+ }
+ else if(help) cout << "Ignore --RAIMhead: --RAIM was not set" << endl;
+ }
+
+ if(dashdb.getCount()) {
+ values = dashdb.getValue();
+ vector<string> subfield;
+ string::size_type pos;
+ for(i=0; i<values.size(); i++ ) {
+ string argbias=values[i];
+ subfield.clear();
+ while(argbias.size() > 0) {
+ pos = argbias.find(",");
+ if(pos==string::npos) pos=argbias.size();
+ if(pos==0) subfield.push_back(" ");
+ else subfield.push_back(argbias.substr(0,pos));
+ if(pos >= argbias.size()) break;
+ argbias.erase(0,pos+1);
+ }
+ RinexObsHeader::RinexObsType OT;
+ OT = RinexObsHeader::convertObsType(subfield[0]);
+ double limit=StringUtils::asDouble(subfield[1]);
+ int iret=setBiasLimit(OT,limit);
+ if(iret) {
+ cout << "Error: '--debias <OT,lim>' input is invalid: "
+ << values[i] << endl;
+ cerr << "Error: '--debias <OT,lim>' input is invalid: "
+ << values[i] << endl;
+ }
+ else if(Debug)
+ cout << "Set bias limit for " << RinexObsHeader::convertObsType(OT)
+ << " to " << fixed << setprecision(3) << limit
+ << " (" << values[i] << ")" << endl;
+ }
+ }
+ if(dashca.getCount()) {
+ Callow = true;
+ if(help) cout << "Allow C1 to be P1 when P1 not available\n";
+ }
+ if(dashcf.getCount()) {
+ Cforce = true;
+ if(help) cout << "Force C1 to replace P1 when C1 available\n";
+ }
+ if(dashih.getCount()) {
+ values = dashih.getValue();
+ IonoHt = StringUtils::asDouble(values[0]);
+ if(help) cout << "Set ionosphere height to " << values[0] << " km" << endl;
+ }
+ if(dashSV.getCount()) {
+ values = dashSV.getValue();
+ RinexPrn p=StringUtils::asData<RinexPrn>(values[0]);
+ SVonly = p;
+ if(help) cout << "Process only satellite : " << p << endl;
+ }
+ if(dashLog.getCount()) {
+ values = dashLog.getValue();
+ LogFile = values[0];
+ if(help) cout << "Log file is " << LogFile << endl;
+ }
+ if(dashErr.getCount()) {
+ values = dashErr.getValue();
+ ErrFile = values[0];
+ if(help) cout << "Err file is " << ErrFile << endl;
+ }
+
+ if(Rest.getCount() && help) {
+ cout << "Remaining options:" << endl;
+ values = Rest.getValue();
+ for (i=0; i<values.size(); i++) cout << values[i] << endl;
+ }
+
+ //if(Verbose && help) {
+ // cout << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+ // for(j=0; j<Args.size(); j++) cout << Args[j] << endl;
+ //}
+
+ // -------------------------------------------------
+ // now process some of the input
+ try {
+ logof.clear();
+ logof.exceptions(ios_base::badbit | ios_base::failbit);
+ logof.open(LogFile.c_str(),ios::out);
+ if(logof.fail()) {
+ cout << "Failed to open log file " << LogFile << endl;
+ return -1;
+ }
+ else {
+ cout << "Opened log file " << LogFile << endl;
+ logof << Title;
+ }
+ REC.oflog = &logof;
+ }
+ catch(ios_base::failure& e) {
+ cout << "Exception " << e.what() << endl;
+ return -1;
+ }
+
+ // check for multiple inputs
+ if(KnownPosInput || !RefPosFile.empty() || doRAIM || RefPosInput) {
+ i = 0;
+ if(KnownPosInput) i++;
+ if(!RefPosFile.empty()) i++;
+ if(doRAIM) i++;
+ if(RefPosInput) i++;
+ if(i > 1) {
+ ostringstream stst;
+ stst << "ERROR: multiple inputs inconsistent:";
+ if(KnownPosInput) stst << (KnownLLH ? " --RxLLH" : " --RxXYZ");
+ if(!RefPosFile.empty()) stst << (RefPosFlat ? " --RxFlat" : " --RxRinex");
+ if(doRAIM) stst << " --RAIM";
+ if(RefPosInput) stst << " --RxHere";
+ stst << endl;
+ logof << stst.str();
+ cerr << stst.str();
+ return -1; // fail? or take default
+ }
+ else if(help) logof << "Position input ok\n";
+ }
+ // print config to log
+ if(Verbose) {
+ logof << "-------- Here is the program configuration:\n";
+ logof << "Input Rinex observation file name is: "
+ << REC.InputFileName() << endl;
+ logof << "Input Directory is " << REC.InputDirectory() << endl;
+ logof << "Output Rinex obs file name is: " << REC.OutputFileName() << endl;
+ logof << "Output Directory is " << REC.OutputDirectory() << endl;
+ if(REC.BeginTimeLimit() > DayTime::BEGINNING_OF_TIME)
+ logof << "Begin time limit is " << REC.BeginTimeLimit() << endl;
+ if(REC.EndTimeLimit() < DayTime::END_OF_TIME)
+ logof << "End time limit is " << REC.EndTimeLimit() << endl;
+ if(REC.Decimation() != 0) logof << "Decmimation time interval is "
+ << setprecision(2) << REC.Decimation() << " seconds." << endl;
+ logof << "Tolerance in time-comparisions is " << setprecision(8)
+ << REC.Tolerance() << " seconds." << endl;
+ logof << "Log file name is " << LogFile << " (this file)" << endl;
+ logof << "Err file name is " << ErrFile << endl;
+ if(SVonly.prn > 0) logof << "Process only satellite : " << SVonly << endl;
+
+ if(!NavDir.empty()) logof << "Nav Directory is " << NavDir << endl;
+ if(NavFiles.size()) {
+ logof << "Nav files:";
+ for(i=0; i<NavFiles.size(); i++) logof << " " << NavFiles[i];
+ logof << endl;
+ }
+ if(KnownPosInput) logof << "Get reference position from explicit input ("
+ << (KnownLLH ? "LLH" : "XYZ") << ") : " << KnownPos << endl;
+ if(doRAIM) logof << "Compute a RAIM solution" << endl;
+ if(RefPosInput) logof << "Get reference position from in-line headers in "
+ << "the input Rinex file" << endl;
+ if(!RefPosFile.empty())
+ logof << "Get reference position from a " << (RefPosFlat ? "flat" : "Rinex")
+ << " file: " << RefPosFile << endl;
+ if(!editRAIM) logof << "Do not ";
+ logof << "Edit data based on RAIM solution" << endl;
+ if(!outRef) logof << "Do not ";
+ logof << "Output Reference solution to Rinex" << endl;
+ if(!headRAIM) logof << "Do not ";
+ logof << "Output average RAIM solution to header" << endl;
+ if(Callow) logof << "Allow C1 to be P1 when P1 not available\n";
+ if(Cforce) logof << "Force C1 to replace P1 when C1 available\n";
+ logof << "Ionosphere height is " << IonoHt << " km" << endl;
+ if(AllBiases.size()) {
+ logof << "The list of de-biasing limits is:\n";
+ map<RinexObsHeader::RinexObsType,map<RinexPrn,double> >::iterator it;
+ for(it=AllBiases.begin(); it!=AllBiases.end(); it++) {
+ map<RinexPrn,double>::iterator jt;
+ for(jt=it->second.begin(); jt!=it->second.end(); jt++) {
+ logof << " Bias limit(" << RinexObsHeader::convertObsType(it->first)
+ << ") = " << fixed << setprecision(3) << jt->second << endl;
+ }
+ }
+ }
+ logof << "-------- End of the program configuration.\n";
+ logof << endl;
+ }
+
+ if(help) return 1;
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "ResCor:GetCommandLine caught an exception " << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "ResCor:GetCommandLine caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+// Initialize, read ephemerides, set flags and prepare for processing
+int PrepareInput(void)
+{
+try {
+ int iret,i;
+
+ // set all input/output indexes to 'undefined'
+ inC1 = inP1 = inP2 = inL1 = inL2 = inEP = inPS = inD1 = inD2 = inS1 = inS2 = -1;
+ otC1 = otP1 = otP2 = otL1 = otL2 = otD1 = otD2 = otS1 = otS2 = -1;
+
+ // --------------------------------------------------------------------
+ // ephemeris
+ // add Nav directory to nav file names
+ if(!NavDir.empty() && NavFiles.size()>0) {
+ for(i=0; i<NavFiles.size(); i++)
+ NavFiles[i] = NavDir + string("/") + NavFiles[i];
+ }
+
+ // open nav files and read EphemerisStore -- set inEP and inPS
+ iret = FillEphemerisStore(NavFiles, SP3EphList, BCEphList);
+ if(SP3EphList.size()) {
+ if(Verbose) SP3EphList.dump(1,logof);
+ inEP = 1;
+ }
+ else if(Verbose) logof << "SP3 Ephemeris list is empty\n";
+
+ if(BCEphList.size()) {
+ BCEphList.SearchNear();
+ if(Verbose) BCEphList.dump(0,logof);
+ inEP = 1;
+ }
+ else if(Verbose) logof << "BC Ephemeris list is empty\n";
+
+ // --------------------------------------------------------------------
+ // position:
+ // if KnownPosInput, position is input
+ // if !RefPosFile.empty(), open file
+ // if RefPosInput, use the aux headers in input file
+ // if(doRAIM) set up RAIMsolution - including input of RMS, etc?
+ if(KnownPosInput) { // parse the string to get position
+ vector<string> subfield;
+ string::size_type pos;
+ while(KnownPos.size() > 0) {
+ pos = KnownPos.find(",");
+ if(pos==string::npos) pos=KnownPos.size();
+ if(pos==0) subfield.push_back(" ");
+ else subfield.push_back(KnownPos.substr(0,pos));
+ if(pos >= KnownPos.size()) break;
+ KnownPos.erase(0,pos+1);
+ };
+
+ CurrRef.clk = 0;
+ CurrRef.NPRN = 0;
+ CurrRef.PDOP = 0;
+ CurrRef.GDOP = 0;
+ CurrRef.RMS = 0;
+ if(KnownLLH) {
+ CurrRef.RxPos.setGeodetic(asDouble(subfield[0]), asDouble(subfield[1]),
+ asDouble(subfield[2]));
+ CurrRef.RxPos.transformTo(Position::Cartesian);
+ }
+ else {
+ CurrRef.RxPos.setECEF(asDouble(subfield[0]), asDouble(subfield[1]),
+ asDouble(subfield[2]));
+ }
+
+ // output
+ logof << "Reference position comes from explicit input of "
+ << "position components:\n";
+ logof << " " << subfield[0] << " " << subfield[1] << " " << subfield[2] << endl;
+ logof << " =" << fixed
+ << " " << setw(13) << setprecision(3) << CurrRef.RxPos.X()
+ << " " << setw(13) << setprecision(3) << CurrRef.RxPos.Y()
+ << " " << setw(13) << setprecision(3) << CurrRef.RxPos.Z()
+ << endl;
+ logof << " = " << fixed
+ << setw(12) << setprecision(8) << CurrRef.RxPos.geodeticLatitude() << "N "
+ << setw(12) << setprecision(8) << CurrRef.RxPos.longitude() << "E "
+ << setw(9) << setprecision(3) << CurrRef.RxPos.height() << "m" << endl;
+ inPS = 1;
+ }
+ else if(!RefPosFile.empty()) {
+ DayTime timetag;
+ //logof << "Reference position from a file (" << RefPosFile << ")\n";
+ // make sure it exists first
+ ifstream inf(RefPosFile.c_str());
+ if(!inf) {
+ logof << "Error: could not open positions file " << RefPosFile << endl;
+ oferr << "Error: could not open positions file " << RefPosFile << endl;
+ return -1;
+ }
+ // fill the map<DayTime,RefPosData> RefPosMap;
+ RefPosMap.clear();
+ if(isRinexObsFile(RefPosFile)) {
+ if(Verbose) {
+ logof << "Reference position will come from input Rinex obs file "
+ << RefPosFile << endl;
+ if(RefPosFlat)
+ logof << " WARNING -- Reference position file is Rinex, not flat!\n";
+ }
+
+ inf.close();
+ RinexObsHeader header;
+ RinexObsData robs;
+ RinexObsStream rostream(RefPosFile.c_str());
+ rostream.exceptions(fstream::failbit);
+
+ rostream >> header;
+ //timetag = header.firstObs;
+ while(rostream >> robs) {
+ if(robs.epochFlag == 4) {
+ // TD: check this; often the in-line header has a bad epoch
+ // But if it has XYZT and DIAG, then GPSTk probably wrote it....
+ timetag = robs.time;
+ CurrRef.NPRN = 0;
+ CurrRef.clk = CurrRef.PDOP = CurrRef.GDOP = CurrRef.RMS = 0.0;
+ for(i=0; i<robs.auxHeader.commentList.size(); i++) {
+ string s=robs.auxHeader.commentList[i];
+ string t=stripFirstWord(s);
+ if(t == string("XYZT")) {
+ double x=asDouble(stripFirstWord(s));
+ double y=asDouble(stripFirstWord(s));
+ double z=asDouble(stripFirstWord(s));
+ CurrRef.RxPos.setECEF(x,y,z);
+ CurrRef.clk = asDouble(stripFirstWord(s));
+ }
+ else if(t==string("DIAG")) {
+ CurrRef.NPRN = asInt(stripFirstWord(s));
+ CurrRef.PDOP = asDouble(stripFirstWord(s));
+ CurrRef.GDOP = asDouble(stripFirstWord(s));
+ CurrRef.RMS = asDouble(stripFirstWord(s));
+ }
+ }
+ RefPosMap[timetag] = CurrRef;
+ }
+ }
+ rostream.close();
+
+ if(Debug) {
+ logof << "Here is the reference position map\n";
+ map<DayTime,RefPosData>::const_iterator it;
+ for(it=RefPosMap.begin(); it != RefPosMap.end(); it++) {
+ logof << " " << it->first << " " << fixed
+ << " " << setw(13) << setprecision(3) << it->second.RxPos.X()
+ << " " << setw(13) << setprecision(3) << it->second.RxPos.Y()
+ << " " << setw(13) << setprecision(3) << it->second.RxPos.Z()
+ << endl;
+ }
+ }
+ inPS = 1;
+ }
+ else { // flat file input
+ if(Verbose) {
+ logof << "Reference position will come from input flat file "
+ << RefPosFile << endl;
+ if(!RefPosFlat)
+ logof << " WARNING -- Reference position file is flat, not Rinex!\n";
+ }
+
+ bool ok,have=false,havefmt=false,havepat=false;
+ string line,format,pattern,lineT,lineP,word,fword,fmtT,fmtP;
+ Position pos;
+ CurrRef.NPRN = 0;
+ CurrRef.clk = CurrRef.PDOP = CurrRef.GDOP = CurrRef.RMS = 0.0;
+ while(!inf.eof() && inf.good()) {
+ ok = true;
+ while(line.size() > 0) {
+ if(Debug) logof << "echo: " << line << endl;
+ if(line[0] == '#') break; // skip comments
+ if(!have) {
+ if(!havefmt) {
+ format = line;
+ havefmt = true;
+ if(Debug) logof << "Format is " << format << endl;
+ }
+ else if(!havepat) {
+ pattern = line;
+ havepat = true;
+ if(Debug) logof << "Pattern is " << pattern << endl;
+ }
+ have = havefmt & havepat;
+ break;
+ }
+ fmtT = fmtP = lineT = lineP = string("");
+ for(i=0; i<StringUtils::numWords(line); i++) {
+ word = StringUtils::words(line,i,1);
+ fword = StringUtils::words(format,i,1);
+ if(pattern[i] == 'X') continue;
+ else if(pattern[i] == 'T') {
+ lineT += string(" ") + word;
+ fmtT += string(" ") + fword;
+ }
+ else if(pattern[i] == 'P') {
+ lineP += string(" ") + word;
+ fmtP += string(" ") + fword;
+ }
+ }
+ try {
+ timetag.setToString(lineT,fmtT);
+ }
+ catch(Exception& dte) {
+ logof << "ERROR: reading the receiver position flat file threw"
+ << " a DayTime exception:\n"
+ << " This is the time format: " << fmtT << endl;
+ ok = have = havefmt = false;
+ break;
+ }
+ try {
+ pos.setToString(lineP,fmtP);
+ pos.transformTo(Position::Cartesian);
+ CurrRef.RxPos = pos;
+ }
+ catch(Exception& ge) {
+ logof << "ERROR: reading the receiver position flat file threw"
+ << " a Position exception:\n"
+ << " This is the position format: " << fmtP << endl;
+ ok = have = havefmt = havepat = false;
+ }
+ if(ok) {
+ if(Debug)logof << "Result: t= " << timetag << " p= " << pos << endl;
+ RefPosMap[timetag] = CurrRef;
+ }
+ break;
+ }
+ if(!ok) break;
+ getline(inf,line);
+ }
+ inf.close();
+ if(!have) {
+ logof << "ERROR in reading receiver position file: ";
+ if(!havefmt) logof << "format ";
+ if(!havepat) {
+ if(!havefmt) logof << "and pattern ";
+ else logof << "pattern ";
+ }
+ logof << ((havepat || havefmt) ? "was " : "were ")
+ << "wrong or not found!\n";
+ logof << Rxhelp << endl;
+ logof << " [The input format is " << format << "]" << endl;
+ logof << " [The input pattern is " << pattern << "]" << endl;
+ return -2;
+ }
+ inPS = 1;
+ } // end flat file input
+ }
+ else if(doRAIM) {
+ // if(Debug) RAIMSol.Debug = true; // write to cout ...
+ RAIMSol.Algebraic = false;
+ //RAIMSol.MaxNIterations = PIC.NIter; // TD add to command line?
+ //RAIMSol.Convergence = PIC.Conv;
+ // set inPS below, when you know you can do RAIM
+ logof << "Reference position will come from RAIM\n";
+ }
+ else if(RefPosInput) {
+ logof << "Reference position will come from the input file\n";
+ inPS = 1;
+ }
+
+ // reset average RAIM solution
+ if(headRAIM) {
+ ARSX.Reset();
+ ARSY.Reset();
+ ARSZ.Reset();
+ }
+
+ // --------------------------------------------------------------------
+ // misc
+ // IonoHt used in meters
+ IonoHt *= 1000.0;
+
+ // search for SX,Y,Z input and set DoSX flag, also XR,XI,X1,X2 and DoXR
+ DoSVX = DoXR = false;
+ for(i=0; i<OTlist.size(); i++) {
+ if(OTlist[i]==string("SX")
+ || OTlist[i]==string("SY")
+ || OTlist[i]==string("SZ")) DoSVX = true;
+ if(OTlist[i]==string("XR") || OTlist[i]==string("XI")
+ || OTlist[i]==string("X1") || OTlist[i]==string("X2")) DoXR = true;
+ }
+
+ if(DoXR) {
+ int j;
+ // transformation matrix is constant
+ XRM0[0] = alpha+1; XRM0[1] = -1; XRM0[2] = 0; XRM0[3] = 0;
+ XRM1[0] = 1; XRM1[1] = -1; XRM1[2] = 0; XRM1[3] = 0;
+ XRM2[0] = -alpha-2; XRM2[1] = 2; XRM2[2] = alpha; XRM2[3] = 0;
+ XRM3[0] = -2*(alpha+1); XRM3[1] = alpha+2; XRM3[2] = 0; XRM3[3] = alpha;
+ for(i=0; i<4; i++) for(j=0; j<4; j++) XRM[i][j] /= alpha;
+ if(Debug) {
+ logof << "XRM matrix is:\n" << fixed;
+ for(i=0; i<4; i++) {
+ for(j=0; j<4; j++) {
+ logof << " " << setw(20) << setprecision(4) << XRM[i][j];
+ }
+ logof << endl;
+ }
+ }
+ }
+
+ if(Debug) logof << "Return from PrepareInput" << endl;
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "ResCor:PrepareInput caught an exception " << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "ResCor:PrepareInput caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+// after reading input header and before calling REC.EditHeader (pass input header)
+int RCRinexEditor::BeforeEditHeader(const RinexObsHeader& rhin)
+{
+ int i;
+
+ // save the header for later use by SaveData and ComputeNewOTs
+ rhead = rhin;
+
+ // -----------------------------------------------------------------------
+ // get indexes of input obs types, for dependence checking and fast access
+ for(i=0; i<rhin.obsTypeList.size(); i++) {
+ if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("C1")) inC1=i;
+ if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("L1")) inL1=i;
+ if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("L2")) inL2=i;
+ if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("P1")) inP1=i;
+ if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("P2")) inP2=i;
+ if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("D1")) inD1=i;
+ if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("D2")) inD2=i;
+ if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("S1")) inS1=i;
+ if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("S2")) inS2=i;
+ }
+
+ // redefine inP1 based on inC1, Callow and Cforce
+ if(Callow && inC1 > -1 && inP1 == -1) inP1=inC1;
+ if(Cforce && inC1 > -1) inP1=inC1;
+
+ // -----------------------------------------------------------------------
+ // Check dependences of input and output data types
+ // -----------------------------------------------------------------------
+ // check that we can do RAIM
+ if(doRAIM) {
+ if(inP1>-1 && inP2>-1) inPS=1;
+ else {
+ ostringstream stst;
+ stst << "Error: cannot compute RAIM solution: missing";
+ if(inP1 == -1) stst << " P1";
+ if(inP2 == -1) stst << " P2";
+ if(inEP == -1) stst << " EP";
+ stst << "; abort.\n";
+ logof << stst.str();
+ oferr << stst.str();
+ return -2;
+ }
+ }
+
+ // -----------------------------------------------------------------------
+ // Define bit flags for input data types
+ unsigned int InputData=0;
+ if(Verbose) logof << "Input data:\n";
+ if(inP1 > -1) {
+ InputData |= 0x08;
+ if(Verbose) logof << " P1(" << inP1 << ")";
+ }
+ if(inP2 > -1) {
+ InputData |= 0x10;
+ if(Verbose) logof << " P2(" << inP2 << ")";
+ }
+ if(inL1 > -1) {
+ InputData |= 0x02;
+ if(Verbose) logof << " L1(" << inL1 << ")";
+ }
+ if(inL2 > -1) {
+ InputData |= 0x04;
+ if(Verbose) logof << " L2(" << inL2 << ")";
+ }
+ if(inEP > -1) {
+ InputData |= RinexObsHeader::RinexObsType::EPdepend;
+ if(Verbose) logof << " EP";
+ }
+ if(inPS > -1) {
+ InputData |= 0x40;
+ if(Verbose) logof << " PS";
+ }
+ if(Verbose) logof << "(" << hex << InputData << ")" << dec << endl;
+
+ // -----------------------------------------------------------------------
+ // NB OTlist comes from PreProcessArgs, manually looking for -AO<OT> commands
+ // create list OTList of RinexObsTypes here, for use later
+ // check dependencies of requested output OTs
+ if(Verbose) logof << "Here is the list of added OTs:";
+ for(i=0; i<OTlist.size(); i++) {
+ if(Verbose) logof << " " << OTlist[i];
+ OTList.push_back(RinexObsHeader::convertObsType(OTlist[i]));
+ }
+ if(Verbose) logof << endl;
+ bool ok=true;
+ for(i=0; i<OTList.size(); i++) {
+ if((InputData & OTList[i].depend) != OTList[i].depend) {
+ ostringstream stst;
+ ok = false;
+ stst << "ResCor Error: Abort: Output OT " << OTlist[i]
+ << " requires missing input:";
+ unsigned int test=(InputData & OTList[i].depend);
+ test ^= OTList[i].depend;
+ if(test & rhin.obsTypeList[inL1].depend) stst << " L1";
+ if(test & rhin.obsTypeList[inL2].depend) stst << " L2";
+ if(test & rhin.obsTypeList[inP1].depend) stst << " P1";
+ if(test & rhin.obsTypeList[inP2].depend) stst << " P2";
+ if(test & RinexObsHeader::RinexObsType::EPdepend) stst << " EP";
+ if(test & RinexObsHeader::RinexObsType::PSdepend) stst << " PS";
+ stst << endl;
+ logof << stst.str();
+ oferr << stst.str();
+ }
+ }
+ if(!ok) return -3;
+
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+// after calling REC.EditHeader (pass output header)
+int RCRinexEditor::AfterEditHeader(const RinexObsHeader& rhout)
+{
+ int i,j;
+
+ // save header for later use by SaveData
+ rheadout = rhout;
+
+ // -----------------------------------------------------------------------
+ // define indexes of raw data in output header
+ for(i=0; i<rhout.obsTypeList.size(); i++) {
+ if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("C1")) otC1=i;
+ if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("L1")) otL1=i;
+ if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("L2")) otL2=i;
+ if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("P1")) otP1=i;
+ if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("P2")) otP2=i;
+ if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("D1")) otD1=i;
+ if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("D2")) otD2=i;
+ if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("S1")) otS1=i;
+ if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("S2")) otS2=i;
+ }
+
+ // redefine otP1 based on otC1, inP1, inC1, Callow and Cforce
+ if(Callow && otC1 > -1 && inC1 > -1 && inP1 == -1) otP1=otC1;
+ if(Cforce && otC1 > -1) otP1=otC1;
+
+ // -----------------------------------------------------------------------
+ // create a list of indexes parallel to OTlist and OTList
+ for(j=0; j<OTList.size(); j++) {
+ for(i=0; i<rhout.obsTypeList.size(); i++) {
+ if(rhout.obsTypeList[i] == OTList[j]) OTindex.push_back(i);
+ }
+ }
+
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+// after reading input obs and before calling EditObs (pass input obs)
+int RCRinexEditor::BeforeEditObs(const RinexObsData& roin)
+{
+ if(Debug) logof << "\n----------------------------- " << roin.time
+ << " ------------------------" << endl;
+
+ // -----------------------------------------------------------------------
+ // in-line header info
+ // note that often these have a bad (all zeros) epoch
+ if(roin.epochFlag != 0 && roin.epochFlag != 1) {
+ if(Debug) logof << "Found in-line header (dump comments only)" << endl;
+ //roin.auxHeader.dump(logof);
+ for(int i=0; i<roin.auxHeader.commentList.size(); i++) {
+ string s=roin.auxHeader.commentList[i];
+ if(Debug) logof << s << endl;
+ if(RefPosInput) {
+ string t=stripFirstWord(s);
+ if(t == string("XYZT")) {
+ double x=asDouble(stripFirstWord(s));
+ double y=asDouble(stripFirstWord(s));
+ double z=asDouble(stripFirstWord(s));
+ CurrRef.RxPos.setECEF(x,y,z);
+ CurrRef.clk = asDouble(stripFirstWord(s));
+ }
+ else if(t==string("DIAG")) {
+ CurrRef.NPRN = asInt(stripFirstWord(s));
+ CurrRef.PDOP = asDouble(stripFirstWord(s));
+ CurrRef.GDOP = asDouble(stripFirstWord(s));
+ CurrRef.RMS = asDouble(stripFirstWord(s));
+//logof << "Found position:\n" << CurrRef.RxPos.printf("%.4x %.4y %.4z\n");
+ }
+ }
+ }
+ return 0;
+ }
+
+ // --------------------------------------------------------------------
+ // Save the time tag (wait to define until after in-line header info)
+ CurrentTime = roin.time;
+
+ // --------------------------------------------------------------------
+ // save the raw data, if they're not in the output
+ DataStoreMap.clear();
+ if((inL1>-1 && otL1==-1) || (inL2>-1 && otL2==-1) ||
+ (inP1>-1 && (otP1==-1 || (Cforce && otC1==-1))) || (inP2>-1 && otP2==-1)) {
+ SaveData(roin, rhead, inL1, inL2, inP1, inP2);
+ }
+
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+// before writing out header (pass output header)
+int RCRinexEditor::BeforeWritingHeader(RinexObsHeader& rhout)
+{
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+// before writing out filled header (pass output header)
+int RCRinexEditor::BeforeWritingFilledHeader(RinexObsHeader& rhout)
+{
+ if(headRAIM) {
+ // put average RAIM position in header
+ rhout.antennaPosition[0] = ARSX.Average();
+ rhout.antennaPosition[1] = ARSY.Average();
+ rhout.antennaPosition[2] = ARSZ.Average();
+ rhout.valid |= RinexObsHeader::antennaPositionValid;
+ if(Verbose) logof << "Average RAIM solution (" << ARSX.N()
+ << ") at time " << CurrentTime << " : "
+ << " " << fixed << setw(16) << setprecision(6) << ARSX.Average()
+ << " +/- " << scientific << setw(8) << setprecision(2) << ARSX.StdDev()
+ << ", " << fixed << setw(16) << setprecision(6) << ARSY.Average()
+ << " +/- " << scientific << setw(8) << setprecision(2) << ARSY.StdDev()
+ << ", " << fixed << setw(16) << setprecision(6) << ARSZ.Average()
+ << " +/- " << scientific << setw(8) << setprecision(2) << ARSZ.StdDev()
+ << endl;
+ }
+
+ if(Verbose) logof << "\nHere is the output header after optional records filled\n";
+ rhout.dump(logof);
+
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+// just before writing output obs (pass output obs)
+// return value of BeforeWritingObs determines what is written:
+// if return <0 abort
+// 0 write nothing
+// 1 write the obs data structure (note that if epochFlag==4,
+// this will result in in-line header information only)
+// 2 write both header data (in auxHeader) and obs data
+int RCRinexEditor::BeforeWritingObs(RinexObsData& roout)
+{
+ int i;
+ // what to do with other epochFlags (in-line header information, etc)
+ if(roout.epochFlag != 0 && roout.epochFlag != 1) return 0;
+
+ // save the data, if they're in the output
+ if(otL1>-1 || otL2>-1 || otP1>-1 || otP2>-1)
+ SaveData(roout, rheadout, otL1, otL2, otP1, otP2);
+
+ // update the receiver position (via RAIM or file input)
+ if(UpdateRxPosition()) {
+ logof << "Failed to update Rx position at time " << CurrentTime << endl;
+ cerr << "Failed to update Rx position at time " << CurrentTime << endl;
+ return -1;
+ }
+
+ // compute new OTs, and add to obs
+ ComputeNewOTs(roout);
+
+ // write RAIM position solution to in-line header
+ if(outRef && (HaveRAIM || !RefPosFile.empty())) {
+ ostringstream stst1,stst2;
+ roout.auxHeader.clear();
+ stst1 << "XYZT";
+ stst1 << fixed << " " << setw(13) << setprecision(3) << CurrRef.RxPos.X();
+ stst1 << fixed << " " << setw(13) << setprecision(3) << CurrRef.RxPos.Y();
+ stst1 << fixed << " " << setw(13) << setprecision(3) << CurrRef.RxPos.Z();
+ stst1 << fixed << " " << setw(13) << setprecision(3) << CurrRef.clk;
+ roout.auxHeader.commentList.push_back(stst1.str());
+ if(Verbose)
+ logof << "RAIM output: " << roout.time.printf("%02M:%04.1f ") << stst1.str();
+
+ //for(Nsvs=0,i=0; i<Sats.size(); i++) if(Sats[i].prn > 0) Nsvs++;
+ //PDOP = RSS(RAIMSol.Covariance(0,0),
+ // RAIMSol.Covariance(1,1),RAIMSol.Covariance(2,2));
+ //GDOP = RSS(PDOP, RAIMSol.Covariance(3,3));
+ //rms = RAIMSol.RMSResidual;
+ stst2 << "DIAG";
+ stst2 << " " << setw(2) << CurrRef.NPRN
+ << " " << fixed << setw(5) << setprecision(2) << CurrRef.PDOP
+ << " " << fixed << setw(5) << setprecision(2) << CurrRef.GDOP
+ << " " << fixed << setw(9) << setprecision(3) << CurrRef.RMS
+ << " (N,P-,G-Dop,RMS)";
+ roout.auxHeader.commentList.push_back(stst2.str());
+ if(Verbose) logof << " " << stst2.str() << endl;
+ roout.auxHeader.valid |= RinexObsHeader::commentValid;
+
+ return 4; // write both header (with epochFlag=4) and obs data
+ }
+
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+void SaveData(const RinexObsData& rod, const RinexObsHeader& rhd,
+ int xL1, int xL2, int xP1, int xP2)
+{
+ RinexPrn sat;
+ RinexObsData::RinexObsTypeMap otmap;
+ RinexObsData::RinexPrnMap::const_iterator it;
+ RinexObsData::RinexObsTypeMap::const_iterator jt;
+ map<RinexPrn,RCData>::const_iterator kt;
+
+ for(it=rod.obs.begin(); it != rod.obs.end(); ++it) { // loop over satellites
+ sat = it->first;
+ otmap = it->second;
+ // find the saved input data for this sat, if any
+ kt = DataStoreMap.find(sat);
+ if(kt != DataStoreMap.end()) DataStore=kt->second;
+
+ if(xL1>-1 && (jt=otmap.find(rhd.obsTypeList[xL1])) != otmap.end()) {
+ DataStore.L1 = jt->second.data;
+ DataStore.LL1 = int(jt->second.lli);
+ }
+ if(xL2>-1 && (jt=otmap.find(rhd.obsTypeList[xL2])) != otmap.end()) {
+ DataStore.L2 = jt->second.data;
+ DataStore.LL2 = int(jt->second.lli);
+ }
+ if(xP1>-1 && (jt=otmap.find(rhd.obsTypeList[xP1])) != otmap.end()) {
+ DataStore.P1 = jt->second.data;
+ }
+ if(xP2>-1 && (jt=otmap.find(rhd.obsTypeList[xP2])) != otmap.end()) {
+ DataStore.P2 = jt->second.data;
+ }
+ DataStoreMap[sat] = DataStore;
+ } // end loop over sats
+}
+
+//------------------------------------------------------------------------------------
+// fill global data CurrRef
+int UpdateRxPosition(void)
+{
+ int iret,i;
+ // compute a RAIM solution, add it to average
+ HaveRAIM = false;
+ map<RinexPrn,RCData>::const_iterator kt;
+ if(doRAIM) {
+ Sats.clear();
+ PRange.clear();
+ //map<RinexPrn,RCData> DataStoreMap;
+ for(kt=DataStoreMap.begin(); kt != DataStoreMap.end(); kt++) {
+ if(kt->second.P1 == 0 || kt->second.P2 == 0) continue;
+ Sats.push_back(kt->first);
+ PRange.push_back(if1r*kt->second.P1+if2r*kt->second.P2);
+ }
+
+ if(SP3EphList.size() > 0)
+ iret = RAIMSol.Compute(CurrentTime, Sats, PRange, SP3EphList, &ggtm);
+ else if(BCEphList.size() > 0)
+ iret = RAIMSol.Compute(CurrentTime, Sats, PRange, BCEphList, &ggtm);
+ else iret = -4;
+ // 2 failed to find a good solution (RMS residual or slope exceed limits)
+ // 1 solution is suspect (slope is large)
+ // 0 ok
+ // -1 failed to converge
+ // -2 singular problem
+ // -3 not enough good data to form a RAIM solution
+ // (the 4 satellite solution might be returned - check isValid())
+ // -4 ephemeris not found for one or more satellites
+ HaveRAIM = (iret==0 || iret==1);
+ if(HaveRAIM) {
+ if(Verbose) { // output results and return value
+ int Nsvs;
+ for(Nsvs=0,i=0; i<Sats.size(); i++) if(Sats[i].prn > 0) Nsvs++;
+ logof << "RPF " << setw(2) << Sats.size()-Nsvs
+ << " " << setw(4) << CurrentTime.GPSfullweek() << fixed
+ << " " << setw(10) << setprecision(3) << CurrentTime.GPSsecond()
+ << " " << setw(2) << Nsvs
+ << " " << setw(16) << setprecision(6) << RAIMSol.Solution(0)
+ << " " << setw(16) << setprecision(6) << RAIMSol.Solution(1)
+ << " " << setw(16) << setprecision(6) << RAIMSol.Solution(2)
+ << " " << setw(16) << setprecision(6) << RAIMSol.Solution(3)
+ << " " << setw(16) << setprecision(6) << RAIMSol.RMSResidual
+ << " " << fixed << setw(7) << setprecision(1) << RAIMSol.MaxSlope
+ << " " << RAIMSol.NIterations
+ << " " << scientific
+ << setw(8) << setprecision(2) << RAIMSol.Convergence;
+ for(i=0; i<Sats.size(); i++) logof << " " << setw(3) << Sats[i].prn;
+ logof << " (" << iret << ")" << (RAIMSol.isValid() ? " V":" NV") << endl;
+ }
+
+ CurrRef.RxPos.setECEF(RAIMSol.Solution(0),RAIMSol.Solution(1),
+ RAIMSol.Solution(2));
+ CurrRef.clk = RAIMSol.Solution(3);
+ CurrRef.NPRN = RAIMSol.Nsvs;
+ CurrRef.PDOP = RSS(RAIMSol.Covariance(0,0),RAIMSol.Covariance(1,1),
+ RAIMSol.Covariance(2,2));
+ CurrRef.GDOP = RSS(CurrRef.PDOP, RAIMSol.Covariance(3,3));
+ CurrRef.RMS = RAIMSol.RMSResidual;
+ if(headRAIM) { // add to average
+ ARSX.Add(CurrRef.RxPos.X());
+ ARSY.Add(CurrRef.RxPos.Y());
+ ARSZ.Add(CurrRef.RxPos.Z());
+ }
+ inPS = 1;
+ }
+ else { // RAIM failed
+ if(Verbose) {
+ logof << "RAIM failed at " << CurrentTime << " : returned '";
+ if(iret == 2) logof << "failed to find a good solution "
+ << "(RMS residual or slope exceed limits)'";
+ if(iret == -1) logof << "failed to converge'";
+ if(iret == -2) logof << "singular problem'";
+ if(iret == -3) logof << "not enough good data to form a RAIM solution'";
+ if(iret == -4) {
+ logof << "ephemeris not found for satellite'";
+ for(i=0; i<Sats.size(); i++) {
+ if(Sats[i].prn < 0) {
+ Sats[i].prn *= -1;
+ logof << " " << Sats[i];
+ }
+ }
+ }
+ logof << "'." << endl;
+ }
+ inPS=-1;
+ }
+ }
+ else if(!RefPosFile.empty()) { // update RxPos from map
+ map<DayTime,RefPosData>::iterator ite;
+ ite = RefPosMap.lower_bound(CurrentTime);
+ if(ite == RefPosMap.end()) {
+ if(Verbose) logof << "No Rx position found at " << CurrentTime << endl;
+ inPS = -1;
+ }
+ else {
+ //CurrRef = ite->second;
+ CurrRef.RxPos = ite->second.RxPos;
+ CurrRef.clk = ite->second.clk;
+ CurrRef.NPRN = ite->second.NPRN;
+ CurrRef.PDOP = ite->second.PDOP;
+ CurrRef.GDOP = ite->second.GDOP;
+ CurrRef.RMS = ite->second.RMS;
+ inPS = 1;
+ }
+ }
+
+ if(Verbose && inPS > -1) {
+ logof << "RxPos " << CurrentTime
+ << " " << CurrentTime.printf("%04F %10.3g") << fixed
+ << " " << setw(13) << setprecision(3) << CurrRef.RxPos.X()
+ << " " << setw(13) << setprecision(3) << CurrRef.RxPos.Y()
+ << " " << setw(13) << setprecision(3) << CurrRef.RxPos.Z()
+ << endl;
+ }
+
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+void ComputeNewOTs(RinexObsData& rod)
+{
+ bool HaveR,HaveP,HaveEphRange,ok,reset,HaveEphThisSat;
+ double rho,IPPLat,IPPLon,Obliq,Trop,Tgd;
+ RinexObsData::RinexPrnMap::iterator it; // for loop over sats
+ map<RinexPrn,RCData>::const_iterator kt; // for DataStoreMap
+ vector<RinexPrn> SVDelete;
+ RinexPrn sat;
+ //RinexObsData::RinexObsTypeMap otmap;
+ CorrectedEphemerisRange CER;
+
+ if(Debug) {
+ logof << "Obs data before mods\n";
+ rod.dump(logof);
+ }
+
+ // loop over sats
+ for(it=rod.obs.begin(); it != rod.obs.end(); ++it) {
+ sat = it->first;
+ //otmap = it->second;
+
+ // delete this satellite if it is excluded, or if RAIM has marked it
+ if( (SVonly.prn > 0 && sat != SVonly) || (editRAIM && HaveRAIM &&
+ find(Sats.begin(),Sats.end(),RinexPrn(-sat.prn,sat.system)) != Sats.end())) {
+ SVDelete.push_back(sat);
+ continue;
+ }
+
+ // --------------------------------------------------------
+ // find the saved input data for this sat
+ kt = DataStoreMap.find(sat);
+ HaveR = HaveP = false;
+ if(kt != DataStoreMap.end()) { // have data
+ HaveR = (kt->second.P1 != 0.0 && kt->second.P2 != 0.0);
+ HaveP = (kt->second.L1 != 0.0 && kt->second.L2 != 0.0);
+ }
+ if(doRAIM && !HaveRAIM) inPS=-1;
+
+ // --------------------------------------------------------
+ // compute ephemeris range and ionospheric pierce point
+ if(inEP > -1) HaveEphThisSat=true;
+ HaveEphRange = (HaveEphThisSat && inPS > -1);
+ rho = IPPLat = IPPLon = Obliq = Tgd = 0;
+ if(HaveEphRange) {
+ Xvt xvt;
+ xvt.x[0] = CurrRef.RxPos.X();
+ xvt.x[1] = CurrRef.RxPos.Y();
+ xvt.x[2] = CurrRef.RxPos.Z();
+ try {
+ if(SP3EphList.size() > 0)
+ rho = CER.ComputeAtReceiveTime(CurrentTime, xvt, sat.prn,
+ SP3EphList);
+ else if(BCEphList.size() > 0)
+ rho = CER.ComputeAtReceiveTime(CurrentTime, xvt, sat.prn,
+ BCEphList);
+ else
+ throw gpstk::EphemerisStore::NoEphemerisFound("No ephemeris in store");
+ }
+ catch(gpstk::EphemerisStore::NoEphemerisFound& e) {
+ if(Verbose)
+ logof << "ComputeNewOTs failed to find ephemeris for satellite "
+ << sat << " at time " << CurrentTime << endl;
+ HaveEphThisSat = false;
+ HaveEphRange = false;
+ }
+ if(HaveEphRange) {
+ Position IPP=CurrRef.RxPos.getIonosphericPiercePoint(
+ CER.elevation,CER.azimuth, IonoHt);
+ IPPLat = IPP.geodeticLatitude();
+ IPPLon = IPP.longitude();
+ // Leick, GPS Satellite Surveying, 2nd ed., eq 9.40
+ //Obliq = (96-CER.elevation)/90.0;
+ //Obliq = Obliq * Obliq * Obliq;
+ //Obliq = 1.0/(1 + 2*Obliq);
+ Obliq = WGS84.a()*cos(CER.elevation*DEG_TO_RAD)/(WGS84.a()+IonoHt);
+ Obliq = SQRT(1.0-Obliq*Obliq);
+ // NB other trop models may require a different call,
+ // and will throw(InvalidTropModel) here
+ Trop = ggtm.correction(CER.elevation);
+ if(BCEphList.size() > 0) {
+ const EngEphemeris& eph = BCEphList.findEphemeris(sat.prn,CurrentTime);
+ Tgd = C_GPS_M * eph.getTgd();
+ }
+ }
+ }
+
+ // --------------------------------------------------------
+ // compute XR,XI,X1,X2
+ if(DoXR && HaveR && HaveP) {
+ XRdat[0] = wl1 * kt->second.L1;
+ XRdat[1] = wl2 * kt->second.L2;
+ XRdat[2] = kt->second.P1;
+ XRdat[3] = kt->second.P2;
+ for(int i=0; i<4; i++) {
+ XRsol[i] = 0.0;
+ for(int j=0; j<4; j++) {
+ XRsol[i] += XRM[i][j] * XRdat[j];
+ }
+ }
+ }
+
+ // --------------------------------------------------------
+ // get satellite position (if not found above)
+ if(DoSVX && HaveEphThisSat && inPS == -1) {
+ unsigned long ref;
+ try {
+ if(SP3EphList.size())
+ CER.svPosVel = SP3EphList.getPrnXvt(sat.prn,CurrentTime);
+ else
+ CER.svPosVel = BCEphList.getPrnXvt(sat.prn,CurrentTime);
+ }
+ catch(EphemerisStore::NoEphemerisFound& e) {
+ HaveEphThisSat = false;
+ }
+ }
+
+ // --------------------------------------------------------
+ // now loop over new output OTs, compute and debias them
+ RinexObsData::RinexObsTypeMap::iterator jt;
+ for(int i=0; i<OTList.size(); i++) {
+ jt = it->second.find(OTList[i]);
+ if(jt == it->second.end()) continue; // this would be an error, no?
+ jt->second.data = 0.0; // default = marked bad
+ ok = false;
+ if(OTlist[i] == string("ER")) {
+ ok = HaveEphRange;
+ if(ok) jt->second.data = rho;
+ }
+ else if(OTlist[i] == string("RI")) {
+ ok = HaveR;
+ if(ok) jt->second.data = (kt->second.P2 - kt->second.P1)/alpha;
+ }
+ else if(OTlist[i] == string("PI")) {
+ ok = HaveP;
+ if(ok) jt->second.data = (wl1*kt->second.L1 - wl2*kt->second.L2)/alpha;
+ }
+ else if(OTlist[i] == string("TR")) {
+ ok = HaveEphRange;
+ if(ok) jt->second.data = Trop;
+ }
+ else if(OTlist[i] == string("RL")) {
+ ok = HaveEphThisSat;
+ if(ok) jt->second.data = CER.relativity;
+ }
+ else if(OTlist[i] == string("SC")) {
+ ok = HaveEphThisSat;
+ if(ok) jt->second.data = CER.svclkbias;
+ }
+ else if(OTlist[i] == string("EL")) {
+ ok = HaveEphRange;
+ if(ok) jt->second.data = CER.elevation;
+ }
+ else if(OTlist[i] == string("AZ")) {
+ ok = HaveEphRange;
+ if(ok) jt->second.data = CER.azimuth;
+ }
+ else if(OTlist[i] == string("SR")) {
+ ok = HaveR;
+ if(ok) jt->second.data =
+ (kt->second.P2 - kt->second.P1)*TECUperM/alpha - Tgd;
+ }
+ else if(OTlist[i] == string("SP")) {
+ ok = HaveP;
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+ (wl1*kt->second.L1 - wl2*kt->second.L2)*TECUperM/alpha);
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("VR")) {
+ ok = (HaveR && HaveEphRange);
+ if(ok) jt->second.data =
+ ((kt->second.P2 - kt->second.P1)*TECUperM/alpha - Tgd)*Obliq;
+ }
+ else if(OTlist[i] == string("VP")) {
+ ok = (HaveP && HaveEphRange);
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+ ((wl1*kt->second.L1 - wl2*kt->second.L2)*TECUperM/alpha-Tgd)*Obliq);
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("LA")) {
+ ok = HaveEphRange;
+ if(ok) jt->second.data = IPPLat;
+ }
+ else if(OTlist[i] == string("LO")) {
+ ok = HaveEphRange;
+ if(ok) jt->second.data = IPPLon;
+ }
+ else if(OTlist[i] == string("P3")) {
+ ok = HaveR;
+ if(ok) jt->second.data = if1r*kt->second.P1 + if2r*kt->second.P2;
+ }
+ else if(OTlist[i] == string("L3")) {
+ ok = HaveP;
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+ if1p*kt->second.L1 + if2p*kt->second.L2);
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("P4")) {
+ ok = HaveR;
+ if(ok) jt->second.data = gf1r*kt->second.P1 + gf2r*kt->second.P2;
+ }
+ else if(OTlist[i] == string("L4")) {
+ ok = HaveP;
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+ gf1p*kt->second.L1 + gf2p*kt->second.L2);
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("P5")) {
+ ok = HaveR;
+ if(ok) jt->second.data = wl1r*kt->second.P1 + wl2r*kt->second.P2;
+ }
+ else if(OTlist[i] == string("L5")) {
+ ok = HaveP;
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+ wl1p*kt->second.L1 + wl2p*kt->second.L2);
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("MP") || OTlist[i] == string("M3")) {
+ ok = (HaveP && HaveR);
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+ if1r*kt->second.P1 + if2r*kt->second.P2
+ - (if1p*kt->second.L1 + if2p*kt->second.L2));
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("M1")) {
+ ok = (kt->second.P1 != 0 && kt->second.L1 != 0);
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+ kt->second.P1 - wl1*kt->second.L1);
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("M2")) {
+ ok = (kt->second.P2 != 0 && kt->second.L2 != 0);
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+ kt->second.P2 - wl2*kt->second.L2);
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ // M3 is MP
+ else if(OTlist[i] == string("M4")) {
+ ok = (HaveP && HaveR);
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+ gf1r*kt->second.P1 + gf2r*kt->second.P2
+ - (gf1p*kt->second.L1 + gf2p*kt->second.L2));
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("M5")) {
+ ok = (HaveP && HaveR);
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+ wl1r*kt->second.P1 + wl2r*kt->second.P2
+ - (wl1p*kt->second.L1 + wl2p*kt->second.L2));
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("XR")) {
+ ok = HaveR && HaveP;
+ if(ok) {
+ jt->second.data = XRsol[0];
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("XI")) {
+ ok = HaveR && HaveP;
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,XRsol[1]);
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("X1")) {
+ ok = HaveR && HaveP;
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,XRsol[2]);
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("X2")) {
+ ok = HaveR && HaveP;
+ if(ok) {
+ jt->second.data = removeBias(OTList[i], sat, reset, rod.time,XRsol[3]);
+ if(reset) jt->second.lli |= 1;
+ }
+ }
+ else if(OTlist[i] == string("SX")) {
+ ok = HaveP && HaveEphThisSat;
+ if(ok) jt->second.data = CER.svPosVel.x[0];
+ }
+ else if(OTlist[i] == string("SY")) {
+ ok = HaveP && HaveEphThisSat;
+ if(ok) jt->second.data = CER.svPosVel.x[1];
+ }
+ else if(OTlist[i] == string("SZ")) {
+ ok = HaveP && HaveEphThisSat;
+ if(ok) jt->second.data = CER.svPosVel.x[2];
+ }
+ else ok = false;
+
+ if(!ok) continue;
+
+ // --------------------------------------------------------
+ // set LLI flag, if it depends on phase, and if phase LLI is set
+ unsigned int test=0;
+ if(inL1 > -1) test=rhead.obsTypeList[inL1].depend;
+ else if(otL1 > -1) test=rhead.obsTypeList[otL1].depend;
+ if((OTList[i].depend & test) && (kt->second.LL1 & 0x01))
+ jt->second.lli |= 1;
+ test = 0;
+ if(inL2 > -1) test=rhead.obsTypeList[inL2].depend;
+ else if(otL2 > -1) test=rhead.obsTypeList[otL2].depend;
+ if((OTList[i].depend & test) && (kt->second.LL2 & 0x01))
+ jt->second.lli |= 1;
+
+ //if(ok && Verbose) ; // TD output here
+
+ } // end loop over new output OTs
+
+ // --------------------------------------------------------
+ // delete this satellite if there is no good data in it
+ for(jt=it->second.begin(); jt != it->second.end(); jt++) {
+ if(jt->second.data != 0.0) break;
+ }
+ if(jt == it->second.end()) SVDelete.push_back(sat);
+
+ } // end loop over sats
+
+ // delete satellites
+ for(int i=0; i<SVDelete.size(); i++) {
+ rod.obs.erase(SVDelete[i]);
+ rod.numSvs--;
+ }
+
+ if(Debug) {
+ logof << "Obs data after mods\n";
+ rod.dump(logof);
+ }
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+// NB PreProcessArgs pulls out a list of -AO<OT>s,
+// along with --debug --verbose and of course the -f<file> option.
+void PreProcessArgs(const char *arg, vector<string>& Args)
+{
+try {
+ if(arg[0]=='-' && arg[1]=='f') {
+ string filename(arg);
+ filename.erase(0,2);
+ if(Debug) cout << "Found a file of options: " << filename << endl;
+ ifstream infile(filename.c_str());
+ if(!infile) {
+ cout << "Error: could not open options file " << filename << endl;
+ }
+ else {
+ char c;
+ string buffer;
+ while( infile >> buffer) {
+ if(buffer[0] == '#') { // skip to end of line
+ while(infile.get(c)) { if(c=='\n') break; }
+ }
+ else PreProcessArgs(buffer.c_str(),Args);
+ }
+ }
+ }
+ else if(string(arg)==string("--verbose")) {
+ Verbose = true;
+ //cout << "Found the verbose switch" << endl;
+ }
+ else if(string(arg)==string("--debug")) {
+ Debug = true;
+ //cout << "Found the debug switch" << endl;
+ }
+ else if(arg[0]=='-' && arg[1]=='A' && arg[2]=='O') { // add obs type
+ OTlist.push_back(string(&arg[3]));
+ Args.push_back(arg);
+ }
+ else Args.push_back(arg);
+}
+catch(gpstk::Exception& e) {
+ cerr << "ResCor:PreProcessArgs caught an exception " << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "ResCor:PreProcessArgs caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+// define the bias limit, assign it to the invalid (-1,GPS) satellite
+int setBiasLimit(RinexObsHeader::RinexObsType& ot, double lim)
+{
+ if(RinexObsHeader::convertObsType(ot)==string("UN") || lim <= 0.0) return -1;
+ RinexPrn p; // invalid: -1,GPS ... let this hold the LIMIT in the map
+ map<RinexObsHeader::RinexObsType,map<RinexPrn,double> >::iterator it;
+ if( (it=AllBiases.find(ot)) == AllBiases.end()) { // not found
+ map<RinexPrn,double> bm;
+ bm[p] = lim;
+ AllBiases[ot] = bm;
+ if(Verbose) logof << "Set bias for " << RinexObsHeader::convertObsType(ot)
+ << "," << p << " to " << fixed << setprecision(3) << lim << endl;
+ }
+ else { // found
+ it->second[p] = lim;
+ if(Verbose) logof << "Re-Set bias for " << RinexObsHeader::convertObsType(ot)
+ << "," << p << " to " << fixed << setprecision(3) << lim << endl;
+ }
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+// set bias, if necessary, and return raw-bias
+double removeBias(const RinexObsHeader::RinexObsType& ot, const RinexPrn& sv,
+ bool& rset, DayTime& tt, double raw)
+{
+ rset = false;
+ // is the input valid?
+ if(RinexObsHeader::convertObsType(ot)==string("UN") || sv.prn==-1) return raw;
+
+ // get the map<RinexPrn,double> for this OT
+ map<RinexObsHeader::RinexObsType,map<RinexPrn,double> >::iterator it;
+ if( (it=AllBiases.find(ot)) == AllBiases.end()) return raw; // did not find OT
+ // it->second is the right map<RinexPrn,double>
+
+ // get the limit
+ RinexPrn p;
+ map<RinexPrn,double>::iterator jt;
+ jt = it->second.find(p); // p is (-1,GPS) here, so bias=limit
+ if(jt == it->second.end()) return raw; // should never happen - throw?
+ double limit=jt->second;
+
+ // now find the current bias for the input satellite
+ double bias;
+ if( (jt=it->second.find(sv)) == it->second.end()) { // sat not found, define bias
+ bias = it->second[sv] = raw-0.001;
+ if(Verbose) logof << "Did not find a bias for "
+ << RinexObsHeader::convertObsType(ot) << "," << sv
+ << " at time " << tt.printf("%4F %10.3g = %4Y/%02m/%02d %02H:%02M:%02S")
+ << ", set it to " << fixed << setprecision(3) << bias << endl;
+ rset = true;
+ }
+ else { // found the sat
+ bias = jt->second;
+ // logof << "Found bias for " << RinexObsHeader::convertObsType(ot)
+ // << "," << sv << " = " << fixed << setprecision(3) << bias << endl;
+ if(fabs(raw-jt->second) > limit) {
+ if(Verbose) logof << "Bias limit for " << RinexObsHeader::convertObsType(ot)
+ << "," << sv << " was exceeded at time "
+ << tt.printf("%4F %10.3g = %4Y/%02m/%02d %02H:%02M:%02S")
+ << " (" << fixed << setprecision(3) << raw-jt->second
+ << " > " << setprecision(3) << limit
+ << "), set it to " << fixed << setprecision(3) << raw-0.001 << endl;
+ bias = it->second[sv] = raw-0.001;
+ rset = true;
+ }
+ }
+
+ return raw-bias;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/Rinextools/RinSum b/trunk/apps/Rinextools/RinSum
new file mode 100755
index 0000000..9c12e61
Binary files /dev/null and b/trunk/apps/Rinextools/RinSum differ
diff --git a/trunk/apps/Rinextools/RinSum.cpp b/trunk/apps/Rinextools/RinSum.cpp
new file mode 100644
index 0000000..4eb0338
--- /dev/null
+++ b/trunk/apps/Rinextools/RinSum.cpp
@@ -0,0 +1,662 @@
+// RinSum.cpp Read and summarize Rinex obs files
+// RinSum is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinSum.cpp#1 $"
+
+/**
+ * @file RinSum.cpp
+ * Read and summarize Rinex observation files.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "MathBase.hpp"
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexNavBase.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+
+#include <string>
+#include <vector>
+#include <iostream>
+#include <fstream>
+#include <algorithm>
+#include <time.h>
+
+using namespace gpstk;
+using namespace std;
+
+//------------------------------------------------------------------------------------
+// data input from command line
+vector<string> InputFiles;
+string InputDirectory;
+string OutputFile;
+ostream* pout;
+DayTime BegTime(DayTime::BEGINNING_OF_TIME);
+DayTime EndTime(DayTime::END_OF_TIME);
+bool ReplaceHeader=false;
+bool TimeSortTable=false;
+bool GPSTimeOutput=false;
+bool Debug=false;
+
+//------------------------------------------------------------------------------------
+// data used for computation
+const int ndtmax=15;
+double dt,bestdt[ndtmax];
+int ndt[ndtmax]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
+int nepochs,ncommentblocks;
+
+//------------------------------------------------------------------------------------
+// class used to store PRN/Obs table
+class TableData {
+public:
+ RinexPrn prn;
+ vector<int> nobs;
+ DayTime begin,end;
+ TableData(const RinexPrn& p, const int& n)
+ { prn=p; nobs=vector<int>(n); };
+ // needed for find()
+ inline bool operator==(const TableData& d) {return d.prn == prn;}
+};
+ // for sort()
+class TablePRNLessThan {
+public:
+ bool operator()(const TableData& d1, const TableData& d2)
+ { return d1.prn < d2.prn; }
+};
+class TableBegLessThan {
+public:
+ bool operator()(const TableData& d1, const TableData& d2)
+ { return d1.begin < d2.begin; }
+};
+
+//------------------------------------------------------------------------------------
+// prototypes
+int GetCommandLine(int argc, char **argv);
+int RegisterARLUTExtendedTypes(void);
+bool isRinexObsFile(const string& file);
+bool isRinexNavFile(const string& file);
+
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+ int iret,i,j,k,n;
+ DayTime last,prev(DayTime::BEGINNING_OF_TIME),ftime(DayTime::BEGINNING_OF_TIME);
+
+ // Title and description
+ string Title;
+ Title = "RINSUM, part of the GPS ToolKit, Ver 2.0 9/2/03, Run ";
+ time_t timer;
+ struct tm *tblock;
+ timer = time(NULL);
+ tblock = localtime(&timer);
+ last.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+ tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+ Title += last.printf("%04Y/%02m/%02d %02H:%02M:%02S\n");
+ cout << Title;
+
+ iret=GetCommandLine(argc, argv);
+ if(iret) return iret;
+
+ iret = RegisterARLUTExtendedTypes();
+ if(iret) return iret;
+
+ // open the output file and write to it
+ if(!OutputFile.empty()) {
+ pout = new ofstream(OutputFile.c_str(),ios::out);
+ if(pout->fail()) {
+ cerr << "Could not open output file " << OutputFile << endl;
+ pout = &cout;
+ }
+ else {
+ pout->exceptions(ios::failbit);
+ *pout << Title;
+ }
+ }
+ else pout = &cout;
+
+ // now open the input files, read the headers and data
+ RinexObsHeader rheader;
+ RinexObsData robs;
+ for(i=0; i<InputFiles.size(); i++) {
+ string filename;
+ if(!InputDirectory.empty()) filename = InputDirectory + "/";
+ filename += InputFiles[i];
+ RinexObsStream InStream(filename.c_str());
+ if(!InStream) {
+ *pout << "File " << filename << " could not be opened.\n";
+ continue;
+ }
+ InStream.exceptions(ios::failbit);
+ if(!isRinexObsFile(filename)) {
+ *pout << "File " << filename << " is not a Rinex observation file\n";
+ if(isRinexNavFile(filename)) {
+ *pout << "File " << filename << " is a Rinex navigation file\n";
+ }
+ continue;
+ }
+
+ // obs file
+ *pout << "+++++++++++++ RinSum summary of Rinex obs file "
+ << filename << " +++++++++++++\n";
+
+ // input header
+ try {
+ InStream >> rheader;
+ }
+ catch(gpstk::FFStreamError& e) {
+ cerr << "Caught an FFStreamError while reading header: "
+ << e.getText(0) << endl;
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "Caught a gpstk exception while reading header: "
+ << e.getText(0) << endl;
+ }
+
+ *pout << "Rinex header:\n";
+ rheader.dump(*pout);
+
+ if(!rheader.isValid()) {
+ *pout << "Abort: header is invalid\n";
+ *pout << "\n+++++++++++++ End of RinSum summary of "
+ << filename << " +++++++++++++\n";
+ continue;
+ }
+
+ //RinexObsStream out(argv[2], ios::out);
+ //out << rheader;
+
+ nepochs = ncommentblocks = 0;
+ n = rheader.obsTypeList.size();
+ vector<TableData> table;
+ vector<int> totals(n);
+
+ // input obs
+ while(InStream >> robs)
+ {
+ if(Debug) *pout << "Epoch: " << robs.time
+ << ", Flag " << robs.epochFlag
+ << ", Nprn " << robs.obs.size()
+ << ", clk " << robs.clockOffset << endl;
+ if(robs.epochFlag > 1) {
+ ncommentblocks++;
+ //*pout << "inline header info:\n";
+ //robs.auxHeader.dump(*pout);
+ continue;
+ }
+ last = robs.time;
+ if(last < BegTime) continue;
+ if(last > EndTime) break;
+ if(ftime == DayTime::BEGINNING_OF_TIME) ftime=last;
+ nepochs++;
+ RinexObsData::RinexPrnMap::const_iterator it;
+ RinexObsData::RinexObsTypeMap::const_iterator jt;
+ for(it=robs.obs.begin(); it != robs.obs.end(); ++it) {
+ vector<TableData>::iterator ptab;
+ ptab = find(table.begin(),table.end(),TableData(it->first,n));
+ if(ptab == table.end()) {
+ table.push_back(TableData(it->first,n));
+ ptab = find(table.begin(),table.end(),TableData(it->first,n));
+ ptab->begin = last;
+ }
+ ptab->end = last;
+ if(Debug) *pout << "Prn " << setw(2) << it->first;
+ for(jt=it->second.begin(); jt!=it->second.end(); jt++) {
+ for(k=0; k<n; k++) if(rheader.obsTypeList[k] == jt->first) break;
+ if(jt->second.data != 0) {
+ ptab->nobs[k]++; // per obs
+ totals[k]++;
+ }
+ if(Debug) *pout << " " << RinexObsHeader::convertObsType(jt->first)
+ << " " << setw(13) << setprecision(3) << jt->second.data << " "
+ << jt->second.lli << " " << jt->second.ssi;
+ }
+ if(Debug) *pout << endl;
+ }
+
+ //out << robs;
+
+ if(prev.year() != 1) {
+ dt = last-prev;
+ for(i=0; i<ndtmax; i++) {
+ if(ndt[i] <= 0) { bestdt[i]=dt; ndt[i]=1; break; }
+ if(ABS(dt-bestdt[i]) < 0.0001) { ndt[i]++; break; }
+ if(i == ndtmax-1) {
+ k = 0;
+ int nleast=ndt[k];
+ for(j=1; j<ndtmax; j++) if(ndt[j] <= nleast) {
+ k=j; nleast=ndt[j];
+ }
+ ndt[k]=1; bestdt[k]=dt;
+ }
+ }
+ }
+ prev = last;
+ }
+ InStream.close();
+
+ // compute interval
+ for(i=1,j=0; i<ndtmax; i++) if(ndt[i]>ndt[j]) j=i;
+ dt = bestdt[j];
+
+ // warnings
+ if((rheader.valid & RinexObsHeader::intervalValid)
+ && ABS(dt-rheader.interval) > 1.e-3)
+ *pout << "\n WARNING: Computed interval is " << setprecision(2)
+ << dt << " sec, while input header has " << setprecision(2)
+ << rheader.interval << " sec.\n";
+ if(ABS(ftime-rheader.firstObs) > 1.e-8)
+ *pout << "\n WARNING: Computed first time does not agree with header\n";
+ if((rheader.valid & RinexObsHeader::lastTimeValid)
+ && ABS(last-rheader.lastObs) > 1.e-8)
+ *pout << "\n WARNING: Computed last time does not agree with header\n";
+
+ // summary info
+ *pout << "\n Computed interval is "
+ << fixed << setw(5) << setprecision(2) << dt << endl;
+ if(GPSTimeOutput) {
+ *pout << " Computed first epoch is " << ftime.printf("%4F %14.7g") << endl;
+ *pout << " Computed last epoch is " << last.printf("%4F %14.7g") << endl;
+ }
+ else {
+ *pout << " Computed first epoch is "
+ << ftime.printf("%04Y/%02m/%02d %02H:%02M:%010.7f") << endl;
+ *pout << " Computed last epoch is "
+ << last.printf("%04Y/%02m/%02d %02H:%02M:%010.7f") << endl;
+ }
+ i = 1+int(0.5+(last-ftime)/dt);
+ *pout << " There were " << nepochs << " epochs ("
+ << setprecision(2) << double(nepochs*100)/i
+ << "% of " << i << " possible epochs in this timespan) and "
+ << ncommentblocks << " inline header blocks.\n";
+
+ // sort table
+ sort(table.begin(),table.end(),TablePRNLessThan());
+ if(TimeSortTable) sort(table.begin(),table.end(),TableBegLessThan());
+
+ // output table
+ // header
+ *pout << "\n Summary of data available in this file: "
+ << "(Totals are based on times and interval)\n";
+ *pout << "PRN/OT: ";
+ for(k=0; k<n; k++)
+ *pout << setw(6) << RinexObsHeader::convertObsType(rheader.obsTypeList[k]);
+ *pout << " Total Begin - End time\n";
+ table.begin()->prn.setfill('0');
+ // loop
+ vector<TableData>::iterator tit;
+ for(tit=table.begin(); tit!=table.end(); ++tit) {
+ *pout << "PRN " << tit->prn << " ";
+ for(k=0; k<n; k++) *pout << setw(6) << tit->nobs[k];
+ // compute total based on times
+ *pout << setw(6) << 1+int(0.5+(tit->end-tit->begin)/dt);
+ if(GPSTimeOutput) {
+ *pout << " " << tit->begin.printf("%4F %10.3g")
+ << " - " << tit->end.printf("%4F %10.3g") << endl;
+ }
+ else {
+ *pout << " " << tit->begin.printf("%04Y/%02m/%02d %02H:%02M:%06.3f")
+ << " - " << tit->end.printf("%04Y/%02m/%02d %02H:%02M:%06.3f") << endl;
+ }
+ }
+ *pout << "TOTAL "; for(k=0; k<n; k++) *pout << setw(6) << totals[k];
+ *pout << endl;
+
+ // look for 'empty' obs types
+ for(k=0; k<n; k++) {
+ if(totals[k] <= 0) *pout << "\n WARNING: ObsType "
+ << rheader.obsTypeList[k].type
+ << " should be deleted from header.\n";
+ }
+
+ if(ReplaceHeader) {
+ // modify the header
+ rheader.version = 2.1; rheader.valid |= RinexObsHeader::versionValid;
+ rheader.interval = dt; rheader.valid |= RinexObsHeader::intervalValid;
+ rheader.lastObs = last; rheader.valid |= RinexObsHeader::lastTimeValid;
+ // now the table
+ rheader.numSVs = table.size(); rheader.valid |= RinexObsHeader::numSatsValid;
+ rheader.numObsForPrn.clear();
+ for(tit=table.begin(); tit!=table.end(); ++tit) { // tit defined above
+ rheader.numObsForPrn.insert(
+ map<RinexPrn, vector<int> >::value_type(tit->prn,tit->nobs) );
+ }
+ rheader.valid |= RinexObsHeader::prnObsValid;
+ //*pout << "\nNew header\n";
+ //rheader.dump(*pout);
+
+ // now re-open the file and replace the header
+#ifdef _MSC_VER
+ char newname[L_tmpnam];
+ if(!tmpnam(newname)) {
+ cerr << "Could not create temporary file name - abort\n";
+ return -1;
+ }
+#else
+ char newname[]="RinSumTemp.XXXXXX";
+ if(mkstemp(newname)==-1) {
+ cerr << "Could not create temporary file name - abort\n";
+ return -1;
+ }
+#endif
+
+ RinexObsHeader rhjunk;
+ RinexObsStream ROutStr(newname, ios::out);
+ RinexObsStream InAgain(filename.c_str());
+ InAgain.exceptions(ios::failbit);
+
+ InAgain >> rhjunk;
+ ROutStr << rheader;
+ while(InAgain >> robs) {
+ last = robs.time;
+ if(last < BegTime) continue;
+ if(last > EndTime) break;
+ ROutStr << robs;
+ }
+ InAgain.close();
+ ROutStr.close();
+ // delete original file and rename the temporary
+ iret = remove(filename.c_str());
+ if(iret) *pout << "RinSum: Error: Could not remove existing file: "
+ << filename << endl;
+ else {
+ iret = rename(newname,filename.c_str());
+ if(iret) *pout << "RinSum: ERROR!! Could not rename new file " << newname
+ << " using old name " << filename << endl;
+ else *pout << "\nRinSum: Replaced original header with complete one,"
+ << " using temporary file name "
+ << newname << endl;
+ }
+ }
+
+ *pout << "\n+++++++++++++ End of RinSum summary of " << filename
+ << " +++++++++++++\n";
+ }
+
+ if(pout != &cout) delete pout;
+
+ return 0;
+}
+catch(gpstk::FFStreamError& e) {
+ cerr << e;
+ return 1;
+}
+catch(gpstk::Exception& e) {
+ cerr << e;
+ return 1;
+}
+catch (...) {
+ cerr << "Unknown error. Abort." << endl;
+ return 1;
+}
+ return 0;
+} // end main()
+
+//------------------------------------------------------------------------------------
+int GetCommandLine(int argc, char **argv)
+{
+ bool help=false;
+ int j;
+try {
+ // required options
+ //RequiredOption dashi(CommandOption::hasArgument, CommandOption::stdType,
+ CommandOption dashi(CommandOption::hasArgument, CommandOption::stdType,
+ 'i',"input"," [-i|--input] <file> Input file name(s)");
+ //dashi.setMaxCount(1);
+
+ // optional options
+ // this only so it will show up in help page...
+ CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+ 'f',""," -f<file> file containing more options");
+
+ CommandOption dasho(CommandOption::hasArgument, CommandOption::stdType,
+ 'o',"output"," [-o|--output] <file> Output file name");
+ dasho.setMaxCount(1);
+
+ CommandOption dashp(CommandOption::hasArgument, CommandOption::stdType,
+ 'p',"path"," [-p|--path] <path> Path for input file(s)");
+ dashp.setMaxCount(1);
+
+ CommandOptionNoArg dashr('R', "Replace",
+ " [-R|--Replace] Replace header with full one.");
+ //"\n *** NB the preceding option DELETES the original file.");
+ //dashr.setMaxCount(1);
+
+ CommandOptionNoArg dashs('s', "sort",
+ " [-s|--sort] Sort the PRN/Obs table on begin time.");
+
+ CommandOptionNoArg dashg('g', "gps",
+ " [-g|--gps] Print times in the PRN/Obs table as GPS times.");
+
+ // time
+ CommandOptionWithTimeArg dasheb(0,"EpochBeg","%Y,%m,%d,%H,%M,%f",
+ " --EpochBeg <arg> Start time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+ CommandOptionWithTimeArg dashgb(0,"GPSBeg","%F,%g",
+ " --GPSBeg <arg> Start time, arg is of the form GPSweek,GPSsow");
+
+ CommandOptionWithTimeArg dashee(0,"EpochEnd","%Y,%m,%d,%H,%M,%f",
+ " --EpochEnd <arg> End time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+ CommandOptionWithTimeArg dashge(0,"GPSEnd","%F,%g",
+ " --GPSEnd <arg> End time, arg is of the form GPSweek,GPSsow\n");
+
+ // allow ONLY one start time (use startmutex(true) if one is required)
+ CommandOptionMutex startmutex(false);
+ startmutex.addOption(&dasheb);
+ startmutex.addOption(&dashgb);
+ CommandOptionMutex stopmutex(false);
+ stopmutex.addOption(&dashee);
+ stopmutex.addOption(&dashge);
+
+ // help and debug
+ CommandOptionNoArg dashh('h', "help",
+ " [-h|--help] print syntax and quit.");
+ CommandOptionNoArg dashd('d', "debug",
+ " [-d|--debug] print debugging info.");
+
+ // ... other options
+ CommandOptionRest Rest("filename(s)");
+
+ CommandOptionParser Par(
+ " Prgm RINSUM reads a Rinex file and summarizes it content.\n");
+
+ // allow user to put all options in a file
+ // could also scan for debug here
+ char **CArgs=argv;
+ vector<string> Args;
+ for(j=1; j<argc; j++) {
+ if(argv[j][0]=='-' && argv[j][1]=='f') {
+ string filename(argv[j]);
+ filename.erase(0,2);
+ ifstream infile(filename.c_str());
+ if(!infile) {
+ cerr << "Error: could not open options file "
+ << filename << endl;
+ }
+ else {
+ char c;
+ string buffer;
+ while( infile >> buffer) {
+ if(buffer[0] == '#') { // skip to end of line
+ while(infile.get(c)) { if(c=='\n') break; }
+ }
+ else Args.push_back(buffer);
+ }
+ }
+ }
+ else Args.push_back(argv[j]);
+ }
+
+ if(Args.size()==0) Args.push_back(string("-h"));
+
+ argc = Args.size()+1;
+ CArgs = new char * [argc];
+ if(!CArgs) { cerr << "Failed to allocate CArgs\n"; return -1; }
+ CArgs[0] = argv[0];
+ for(j=1; j<argc; j++) {
+ CArgs[j] = new char[Args[j-1].size()+1];
+ if(!CArgs[j]) { cerr << "Failed to allocate CArgs[j]\n"; return -1; }
+ strcpy(CArgs[j],Args[j-1].c_str());
+ }
+
+ Par.parseOptions(argc, CArgs);
+
+ // get help option first
+ if(dashh.getCount() > 0) {
+ Par.displayUsage(cout,false);
+ help = true; //return 1;
+ }
+
+ if (Par.hasErrors())
+ {
+ cerr << "\nErrors found in command line input:\n";
+ Par.dumpErrors(cerr);
+ cerr << "...end of Errors\n\n";
+ Par.displayUsage(cout,false);
+ help = true; // return -1;
+ }
+
+ // get values found on command line
+ vector<string> values;
+ // f never appears because we intercept it above
+ //if(dashf.getCount()) { cout << "Option f "; dashf.dumpValue(cout); }
+
+ if(dashi.getCount()) {
+ InputFiles = dashi.getValue();
+ if(help) {
+ cout << "Input files are:\n";
+ for(int i=0; i<InputFiles.size(); i++)
+ cout << " " << InputFiles[i] << endl;
+ }
+ }
+ if(dasho.getCount()) {
+ values = dasho.getValue();
+ OutputFile = values[0];
+ if(help) cout << "Output file is " << OutputFile << endl;
+ }
+ if(dashp.getCount()) {
+ values = dashp.getValue();
+ InputDirectory = values[0];
+ if(help) {
+ cout << "Path options are:\n";
+ for(int i=0; i<values.size(); i++) cout << " " << values[i] << endl;
+ }
+ }
+
+ if(dashr.getCount()) {
+ ReplaceHeader=true;
+ if(help) cout << "Option R appears " << dashr.getCount() << " times\n";
+ }
+ if(dashs.getCount()) {
+ TimeSortTable=true;
+ if(help) cout << "Option s appears " << dashs.getCount() << " times\n";
+ }
+ if(dashg.getCount()) {
+ GPSTimeOutput=true;
+ if(help) cout << "Print times in PRN/Obs table as GPS times\n";
+ }
+ if(dasheb.getCount()) {
+ values = dasheb.getValue();
+ BegTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+ if(help) {
+ cout << "EpochBeg options are:\n";
+ for(int i=0; i<values.size(); i++) cout << values[i] << endl;
+ cout << "BegTime is " << BegTime << endl;
+ }
+ }
+ if(dashee.getCount()) {
+ values = dashee.getValue();
+ EndTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+ if(help) {
+ cout << "EpochEnd options are:\n";
+ for(int i=0; i<values.size(); i++) cout << values[i] << endl;
+ cout << "EndTime is " << EndTime << endl;
+ }
+ }
+ if(dashgb.getCount()) {
+ values = dashgb.getValue();
+ BegTime.setToString(values[0], "%F,%g");
+ if(help) {
+ cout << "GPSBeg options are:\n";
+ for(int i=0; i<values.size(); i++) cout << values[i] << endl;
+ cout << "BegTime is " << BegTime << endl;
+ }
+ }
+ if(dashge.getCount()) {
+ values = dashge.getValue();
+ EndTime.setToString(values[0], "%F,%g");
+ if(help) {
+ cout << "GPSEnd options are:\n";
+ for(int i=0; i<values.size(); i++) cout << values[i] << endl;
+ cout << "EndTime is " << EndTime << endl;
+ }
+ }
+ if(dashh.getCount() && help)
+ cout << "Option h appears " << dashh.getCount() << " times\n";
+ if(dashd.getCount()) {
+ Debug = true;
+ if(help) cout << "Option d appears " << dashd.getCount() << " times\n";
+ }
+
+ if(Rest.getCount())
+ {
+ values = Rest.getValue();
+ if(help) cout << "Input files (w/o -i) are:\n";
+ for (int i=0; i<values.size(); i++) {
+ if(help) cout << " " << values[i] << endl;
+ InputFiles.push_back(values[i]);
+ }
+ }
+
+ if(Debug && help) {
+ cout << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+ for(j=0; j<Args.size(); j++) cout << Args[j] << endl;
+ }
+ if(help) return 1;
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "RinSum:GetCommandLine caught an exception\n" << e;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "RinSum:GetCommandLine caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/Rinextools/RinexDump b/trunk/apps/Rinextools/RinexDump
new file mode 100755
index 0000000..d9f6db8
Binary files /dev/null and b/trunk/apps/Rinextools/RinexDump differ
diff --git a/trunk/apps/Rinextools/RinexDump.cpp b/trunk/apps/Rinextools/RinexDump.cpp
new file mode 100644
index 0000000..1db2445
--- /dev/null
+++ b/trunk/apps/Rinextools/RinexDump.cpp
@@ -0,0 +1,242 @@
+//------------------------------------------------------------------------------------
+// RinexDump.cpp Read a RINEX file and dump the observation data for the given
+// satellite(s), one satellite per file.
+// Input is on the command line, of the form
+// RinexDump <file> <satellite> <obstype(s)>
+// Any number of obstypes may appear; if none appear, all are dumped.
+// One satellite ID (e.g. G27) may appear; if none appears, all satellites are
+// dumped (lots of output!).
+// The output file(s) are ASCII column-delimited with week and seconds-of-week
+// in the first two columns, followed by 'observation LLI SSI' for each
+// observation type. The name of the output file(s) is of the form RDump<sat>.dat
+//
+// RinexDump is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexDump.cpp#2 $"
+
+/**
+ * @file RinexDump.cpp
+ * Dump Rinex observation data to a flat file.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "DayTime.hpp"
+
+#include "RinexUtilities.hpp"
+
+#include <vector>
+//#include <time.h>
+
+using namespace std;
+using namespace gpstk;
+
+//------------------------------------------------------------------------------------
+// find the index of first occurance of item t (of type T) in vector<T> v;
+// i.e. v[index]=t Return -1 if t is not found.
+template<class T> int index(const std::vector<T> v, const T& t)
+{
+ for(int i=0; i<v.size(); i++) {
+ if(v[i] == t) return i;
+ }
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+// Returns 0 on success. Input and output files should diff without error.
+int main(int argc, char *argv[])
+{
+ //clock_t totaltime=clock();
+
+ if (argc < 2) {
+ cout << "Read a Rinex file and dump the observation data\n"
+ " for the given satellite(s).\n"
+ " Usage: RinexDump [-n] <file> [<satellite(s)> <obstype(s)>]\n"
+ " Output is to the screen with one line per satellite/epoch,\n"
+ " columns <week> <sow> <sat> <obs LLI SSI> for each obs type\n"
+ " (1st line echos input, 2nd is column labels).\n"
+ " If <satellite> and/or <obstype> are missing, all are dumped.\n"
+ " Option -n make output purely numeric.\n";
+ return -1;
+ }
+
+ bool AllNumeric = false;
+ int j0=1;
+ if(string(argv[1]) == "-n") {
+ j0 = 2;
+ AllNumeric = true;
+ }
+
+try {
+ int j;
+ bool DumpAll=(argc-j0+1==2),DumpAllObs=false,DumpAllSat=false,lineout;
+ RinexObsHeader::RinexObsType ot;
+ RinexPrn sat;
+ vector<RinexObsHeader::RinexObsType> otlist;
+ vector<RinexPrn> satlist;
+ RinexObsStream RinFile(argv[j0]);
+ RinexObsHeader header;
+ RinexObsData obsdata;
+
+ sat.setfill('0');
+ RegisterARLUTExtendedTypes();
+ //cout << "Registered Obs types are:\n";
+ //for(j=0; j<RinexObsHeader::RegisteredRinexObsTypes.size(); j++)
+ // cout << "ROT[" << j << "] = " << RinexObsHeader::RegisteredRinexObsTypes[j]
+ // << endl;
+
+ // parse command line input
+ if(!DumpAll) {
+ for(j=j0+1; j<argc; j++) {
+ sat = StringUtils::asData<RinexPrn>(string(argv[j]));
+ ot = RinexObsHeader::convertObsType(argv[j]);
+ if(RinexObsHeader::convertObsType(ot) == string("UN")) {
+ if(sat.prn == -1) {
+ cout << "Error: input argument " << argv[j]
+ << " is not recognized as either satellite or observation type\n";
+ continue;
+ }
+ else { satlist.push_back(sat); }
+ }
+ else { otlist.push_back(ot); }
+ }
+
+ if(otlist.size() == 0) DumpAllObs=true;
+ if(satlist.size() == 0) DumpAllSat=true;
+ }
+ else DumpAllObs=DumpAllSat=true;
+
+ // does the file exist?
+ if(!RinFile) {
+ cerr << "Error: input file " << argv[j0] << " does not exist.\n";
+ return -1;
+ }
+ RinFile.exceptions(fstream::failbit);
+
+ // is it a Rinex Obs file? ... read the header
+ try { RinFile >> header; } catch(gpstk::Exception& e) {
+ cerr << "Error: input file " << argv[j0] << " is not a Rinex obs file\n";
+ return -2;
+ }
+ //cout << "Rinex header:\n";
+ //header.dump(cout);
+
+ if(DumpAllObs) for(j=0; j<header.obsTypeList.size(); j++)
+ otlist.push_back(header.obsTypeList[j]);
+
+ // echo input
+ cout << "# Rinexdump file: " << argv[j0];
+ cout << " Satellites:";
+ if(satlist.size()>0) for(j=0; j<satlist.size(); j++) {
+ cout << " " << satlist[j];
+ }
+ else cout << " ALL";
+ cout << " Observations:";
+ if(!DumpAllObs) for(j=0; j<otlist.size(); j++)
+ cout << " " << RinexObsHeader::convertObsType(otlist[j]);
+ else cout << " ALL";
+ cout << endl;
+
+ // dump the column headers
+ cout << "# Week GPS_sow Sat";
+ for(j=0; j<otlist.size(); j++) {
+ cout << " " << RinexObsHeader::convertObsType(otlist[j]) << " L S";
+ }
+ cout << endl;
+
+ cout << fixed;
+ while(RinFile >> obsdata)
+ {
+ RinexObsData::RinexPrnMap::const_iterator it;
+ RinexObsData::RinexObsTypeMap::const_iterator jt;
+ if(obsdata.epochFlag != 0 && obsdata.epochFlag != 1) // not regular data
+ continue;
+ //else if(obsdata.epochFlag > 1 && obsdata.epochFlag < 6) { // header records
+ // obsdata.auxHeader.dump(cout);
+ //}
+
+ // loop over satellites
+ for(it=obsdata.obs.begin(); it != obsdata.obs.end(); ++it) {
+ if(!DumpAll && !DumpAllSat && index(satlist, it->first) == -1) continue;
+ // loop over obs
+ lineout = false; // set true only when data exists to output
+ for(j=0; j<otlist.size(); j++) {
+ if((jt=it->second.find(otlist[j])) == it->second.end()) {
+ cout << " " << setw(13) << setprecision(3)
+ << 0.0 << " " << 0 << " " << 0;
+ }
+ else {
+ if(!lineout) { // output a line
+ // time tag
+ cout << setw(4) << obsdata.time.GPSfullweek()
+ << setw(11) << setprecision(3) << obsdata.time.GPSsecond();
+ // satellite
+ cout << " ";
+ if(AllNumeric)
+ cout << setw(3) << it->first.prn;
+ else
+ cout << it->first;
+ lineout = true;
+ }
+ cout << " " << setw(13) << setprecision(3) << jt->second.data
+ << " " << jt->second.lli << " " << jt->second.ssi;
+ }
+ }
+ if(lineout) cout << endl;
+ }
+ }
+
+ //totaltime = clock()-totaltime;
+ //cerr << "RinexDump timing: " << setprecision(3)
+ //<< double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+ return 0;
+}
+catch(gpstk::FFStreamError& e)
+{
+ cout << e;
+ return 1;
+}
+catch(gpstk::Exception& e)
+{
+ cout << e;
+ return 1;
+}
+catch (...)
+{
+ cout << "unknown error. Done." << endl;
+ return 1;
+}
+ return -1;
+} // main()
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/Rinextools/RinexEditor.cpp b/trunk/apps/Rinextools/RinexEditor.cpp
new file mode 100644
index 0000000..01bb371
--- /dev/null
+++ b/trunk/apps/Rinextools/RinexEditor.cpp
@@ -0,0 +1,1290 @@
+//------------------------------------------------------------------------------------
+// RinexEditor.cpp
+//
+// RinexEditor is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexEditor.cpp#4 $"
+
+/**
+ * @file RinexEditor.cpp
+ * Edit Rinex observation files.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+// TD Do better at catching exceptions
+
+//------------------------------------------------------------------------------------
+#include <vector>
+#include <algorithm>
+#include <time.h>
+
+#include "MathBase.hpp"
+#include "DayTime.hpp"
+#include "StringUtils.hpp"
+#include "RinexObsStream.hpp"
+
+#include "RinexEditor.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+//------------------------------------------------------------------------------------
+string RinexEditVersion("3.0 9/8/2003");
+
+//------------------------------------------------------------------------------------
+// find the index of first occurance of item t (of type T) in vector<T> v;
+// i.e. v[index]=t Return -1 if t is not found.
+template<class T> int index(const std::vector<T> v, const T& t)
+{
+ for(int i=0; i<v.size(); i++) {
+ if(v[i] == t) return i;
+ }
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+// REditCmd member functions
+//------------------------------------------------------------------------------------
+// constructor from a string, pass by value to avoid changing original
+REditCmd::REditCmd(string s)
+{
+ type = INVALID;
+
+ //*oflog << "\nREC: raw cmd is " << s << endl;
+ // ignore leading '-'s
+ while(s.size() && (s[0]=='-' || (s[0]==' '||s[0]=='\t'))) s.erase(0,1);
+ if(s.size() < 2) return;
+
+ // separate type and the rest
+ string tag=s.substr(0,2);
+ field = s.substr(2,s.size()-2);
+ //*oflog << "REC: tag and field are " << tag << " " << field << endl;
+
+ // first identify the type
+ if(tag=="IF") type = IF;
+ else if(tag=="OF") type = OF;
+ else if(tag=="ID") type = ID;
+ else if(tag=="OD") type = OD;
+ else if(tag=="HD") type = HD;
+ else if(tag=="AO") type = AO;
+ else if(tag=="TN") type = TN;
+ else if(tag=="TB") type = TB;
+ else if(tag=="TE") type = TE;
+ else if(tag=="TT") type = TT;
+ else if(tag=="DA") type = DA;
+ else if(tag=="DO") type = DO;
+ else if(tag=="DS") type = DS;
+ else if(tag=="DD") type = DD;
+ else if(tag=="SD") type = SD;
+ else if(tag=="SS") type = SS;
+ else if(tag=="SL") type = SL;
+ else if(tag=="BZ") type = BZ;
+ else if(tag=="BD") type = BD;
+ else if(tag=="BS") type = BS;
+ else if(tag=="BL") type = BL;
+ //else its not an RE command
+
+ // defaults
+ bias = -99.99;
+ SV = RinexPrn(33,systemGPS);
+ sign = 0;
+ inOT = -1;
+ time = DayTime::BEGINNING_OF_TIME;
+
+ // bail if invalid
+ if(type==INVALID) return;
+
+ // BZ needs nothing more
+ if(type==BZ) return;
+
+ // break field into subfields
+ vector<string> subfield;
+ string::size_type pos;
+ while(field.size() > 0) {
+ pos = field.find(",");
+ if(pos==string::npos) pos=field.size();
+ if(pos==0) subfield.push_back(" ");
+ else subfield.push_back(field.substr(0,pos));
+ if(pos >= field.size()) break;
+ field.erase(0,pos+1);
+ };
+
+ //if(REDebug) *oflog << "REC: subfields are:";
+ //if(REDebug) for(int i=0; i<subfield.size(); i++) *oflog << " " << subfield[i];
+ //if(REDebug) *oflog << endl;
+
+ // TN just needs time spacing
+ if(type==TN) {
+ bias = StringUtils::asDouble(subfield[0]);
+ // validate?
+ //if(REDebug) *oflog << "REC: TN returns" << endl;
+ return;
+ }
+
+ // TT just needs delta time
+ if(type==TT) {
+ bias = StringUtils::asDouble(subfield[0]);
+ // validate?
+ //if(REDebug) *oflog << "REC: TT returns" << endl;
+ return;
+ }
+
+ // get (optional) sign
+ if(type==DA || type==DS || type==DD || type==SL || type==BD) {
+ if(subfield[0][0]=='+') { sign=+1; subfield[0].erase(0,1); }
+ if(subfield[0][0]=='-') { sign=-1; subfield[0].erase(0,1); }
+ }
+ //if(REDebug) *oflog << "REC: sign is " << sign << endl;
+
+ // field = filename, OT, or header info
+ if(type==IF || type==OF || type==ID || type==OD || type==HD
+ || type==AO || type==DO) {
+ field = subfield[0];
+ //if(REDebug) *oflog << "REC: field is " << field << endl;
+ if(type==HD) { // inOT = int(first character)
+ char c=field[0];
+ inOT = int(toupper(c));
+ //if(REDebug) *oflog << "REC: HD inOT is " << char(inOT) << endl;
+ if(inOT!='F' && inOT!='P' && inOT!='R' && inOT!='O' && inOT!='A' &&
+ inOT!='M' && inOT!='N' && inOT!='C' && inOT!='D')
+ { type=INVALID; return; }
+ field.erase(0,1);
+ }
+ if(type!=OF || subfield.size()==1) return;
+ subfield.erase(subfield.begin());
+ }
+ else field = string(" ");
+
+ // get an SV
+ if(type >= DS) {
+ SV = StringUtils::asData<RinexPrn>(subfield[0]);
+ //if(REDebug) *oflog << "REC: PRN is " << SV << endl;
+ // default (incl. error) is GPS
+ // let prn==-1 denote 'delete all SV of this system'
+ if((type==DS || type==SL) && SV.prn == -1) ; // ok
+ else if(SV.system == systemGPS && (SV.prn<=0 || SV.prn>32))
+ { type=INVALID; return; }
+ if(type==DS && subfield.size()==1) return;
+ subfield.erase(subfield.begin());
+ }
+
+ // get an OT
+ if(type >= DD) {
+ field = subfield[0];
+ // TD have a bool valid(string) function or bool valid(RinexObsType)
+ RinexObsHeader::RinexObsType rot=RinexObsHeader::convertObsType(field);
+ if(rot.type==string("UN")) { type=INVALID; return; }
+ //if(REDebug) *oflog << "REC: processed OT is " << rot.type << endl;
+ subfield.erase(subfield.begin());
+ }
+
+ // get a time
+ if(subfield.size()==2 || subfield.size()==3) {
+ time.setGPSfullweek(StringUtils::asInt(subfield[0]),
+ StringUtils::asDouble(subfield[1]));
+ }
+ if(subfield.size()==6 || subfield.size()==7) {
+ time.setYMDHMS(StringUtils::asInt(subfield[0]), StringUtils::asInt(subfield[1]),
+ StringUtils::asInt(subfield[2]), StringUtils::asInt(subfield[3]),
+ StringUtils::asInt(subfield[4]), StringUtils::asDouble(subfield[5]));
+ }
+ //if(REDebug) *oflog << "REC: time is "
+ //<< time.printf("%4Y/%2m/%2d %2H:%2M:%.4f") << endl;
+ // test validity?
+
+ // bias
+ if(type >= SD) {
+ //if(REDebug) *oflog << "REC: bias field is " << subfield.back() << endl;
+ bias = StringUtils::asDouble(subfield.back().c_str());
+ //if(REDebug) *oflog << "REC: bias is " << bias << endl;
+ }
+
+} // end REditCmd::REditCmd(string)
+
+//------------------------------------------------------------------------------------
+REditCmd::~REditCmd(void)
+{
+}
+
+//------------------------------------------------------------------------------------
+void REditCmd::Dump(ostream& os, string msg)
+{
+ string label[]={"INVALID","IF","OF","ID","OD","HD","TN","TB","TT","TE","AO",
+ "DA","DO","DS","DD","SD","SS","SL","BD","BS","BL","BZ" };
+ if(msg.size()) os << msg;
+ os << " type=" << label[type] << ", sign=" << sign << ", SV="
+ << StringUtils::asString(SV)
+ << ", inOT=" << inOT
+ << ", field=" << field
+ << ", bias=" << fixed << setprecision(3) << bias
+ << ", time = " << time.printf("%4Y/%2m/%2d %2H:%2M:%.4f") << endl;
+}
+
+//------------------------------------------------------------------------------------
+// RinexEditor member functions
+//------------------------------------------------------------------------------------
+RinexEditor::RinexEditor(void)
+{
+ Decimate = 0.0;
+ TimeTol = 0.001;
+ BegTime = DayTime::BEGINNING_OF_TIME;
+ EndTime = DayTime::END_OF_TIME;
+ REVerbose = REDebug = BiasZeroData = FillOptionalHeader = HDDeleteOldComments
+ = false;
+ Skip = false;
+ IVLast = IVInterval = IVTable = false;
+ for(int i=0; i<9; i++) ndt[i]=-1;
+ oflog = &cout;
+}
+
+//------------------------------------------------------------------------------------
+RinexEditor::~RinexEditor(void)
+{
+ Cmds.erase(Cmds.begin(),Cmds.end());
+ OneTimeCmds.erase(OneTimeCmds.begin(),OneTimeCmds.end());
+ CurrentCmds.erase(CurrentCmds.begin(),CurrentCmds.end());
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok, -1 no input file name, -2 no output file name
+int RinexEditor::ParseCommands(void)
+{
+ bool flag;
+ int iret=0;
+ // first scan command list for BZ,HDf,TN,TT,TB,TE,IF,OF,ID,OD
+ for(int i=0; i<Cmds.size(); i++) {
+ switch(Cmds[i].type) {
+ case REditCmd::TN:
+ Decimate = Cmds[i].bias;
+ IVInterval = true;
+ //if(REDebug) Cmds[i].Dump(*oflog,string("set TN with this cmd"));
+ Cmds[i].type = REditCmd::INVALID;
+ break;
+ case REditCmd::TT:
+ TimeTol = Cmds[i].bias;
+ if(REDebug) Cmds[i].Dump(*oflog,string("set TT with this cmd"));
+ Cmds[i].type = REditCmd::INVALID;
+ break;
+ case REditCmd::TB:
+ BegTime = Cmds[i].time;
+ IVTable = true;
+ //if(REDebug) Cmds[i].Dump(*oflog,string("set TB with this cmd"));
+ Cmds[i].type = REditCmd::INVALID;
+ break;
+ case REditCmd::TE:
+ EndTime = Cmds[i].time;
+ IVLast = IVTable = true;
+ //if(REDebug) Cmds[i].Dump(*oflog,string("set TE with this cmd"));
+ Cmds[i].type = REditCmd::INVALID;
+ break;
+ case REditCmd::IF:
+ InputFile = Cmds[i].field;
+ //if(REDebug) Cmds[i].Dump(*oflog,string("set IF with this cmd"));
+ Cmds[i].type = REditCmd::INVALID;
+ break;
+ case REditCmd::OF:
+ if(Cmds[i].time == DayTime::BEGINNING_OF_TIME) {
+ OutputFile = Cmds[i].field;
+ //if(REDebug) Cmds[i].Dump(*oflog,string("set OF with this cmd"));
+ Cmds[i].type = REditCmd::INVALID;
+ }
+ break;
+ case REditCmd::ID:
+ InputDir = Cmds[i].field;
+ //if(REDebug) Cmds[i].Dump(*oflog,string("set ID with this cmd"));
+ Cmds[i].type = REditCmd::INVALID;
+ break;
+ case REditCmd::OD:
+ OutputDir = Cmds[i].field;
+ //if(REDebug) Cmds[i].Dump(*oflog,string("set OD with this cmd"));
+ Cmds[i].type = REditCmd::INVALID;
+ break;
+ case REditCmd::BZ:
+ BiasZeroData = true;
+ //if(REDebug) Cmds[i].Dump(*oflog,string("set BZ with this cmd"));
+ Cmds[i].type = REditCmd::INVALID;
+ break;
+ case REditCmd::HD:
+ flag = true;
+ switch(Cmds[i].inOT) {
+ case int('F'): FillOptionalHeader=true; break;
+ case int('D'): HDDeleteOldComments=true; break;
+ case int('P'): HDProgram=Cmds[i].field; break;
+ case int('R'): HDRunBy=Cmds[i].field; break;
+ case int('O'): HDObserver=Cmds[i].field; break;
+ case int('A'): HDAgency=Cmds[i].field; break;
+ case int('M'): HDMarker=Cmds[i].field; break;
+ case int('N'): HDNumber=Cmds[i].field; break;
+ case int('C'): HDComments.push_back(Cmds[i].field); break;
+ default: flag=false; break;
+ }
+ if(flag) {
+ //if(REDebug) Cmds[i].Dump(*oflog,string("set HD rec with this cmd"));
+ Cmds[i].type = REditCmd::INVALID;
+ }
+ break;
+ default: break;
+ }
+ }
+
+ // require an input file name
+ if(InputFile.empty()) iret -= 1;
+ else if(!InputDir.empty()) InputFile = InputDir + string("/") + InputFile;
+
+ // now iterate over the list in reverse, deleting INVALID commands.
+ deque<REditCmd>::iterator jt,it=Cmds.begin();
+ while(it != Cmds.end()) {
+ if(it->type == REditCmd::INVALID) {
+ //if(REDebug) it->Dump(*oflog,string("Erase this INVALID command:"));
+ it = Cmds.erase(it);
+ }
+ else it++;
+ }
+
+ // sort on time
+ sort(Cmds.begin(),Cmds.end(),REditCmdLessThan());
+
+ // iterate over the command list, make sure first OF command has no time tag
+ it = Cmds.begin();
+ if(OutputFile.empty()) {
+ while(it != Cmds.end()) {
+ if(it->type==REditCmd::OF) {
+ if(OutputFile.empty()) {
+ OutputFile = it->field;
+ //if(REDebug) it->Dump(*oflog,string("Let this command set begin time"));
+ BegTime = it->time;
+ it->time = DayTime::BEGINNING_OF_TIME;
+ }
+ }
+ else { IVLast=true; break; }
+ it++;
+ }
+ }
+ if(OutputFile.empty()) { // error
+ iret -= 2;
+ }
+ else if(!OutputDir.empty()) OutputFile = OutputDir + string("/") + OutputFile;
+
+ if(iret) return iret;
+
+ // iterate again, ensure that - commands have corresponding +
+ deque<REditCmd> newCmds;
+ it = Cmds.begin();
+ while(it != Cmds.end()) {
+ if(it->sign == -1) {
+ if(REDebug) it->Dump(*oflog,string("This one needs a +"));
+ flag=false;
+ if(it != Cmds.begin()) {
+ jt = it;
+ bool last=((--jt)==Cmds.begin());
+ while(1) {
+ if(jt->type==it->type && jt->SV==it->SV && jt->field==it->field) {
+ if(REDebug) jt->Dump(*oflog,string("Is this the one ?"));
+ flag = true;
+ break;
+ }
+ if(last) break;
+ last = (--jt==Cmds.begin());
+ }
+ }
+ if(!flag) {
+ REditCmd re(*it);
+ re.sign = 1;
+ re.time = BegTime;
+ newCmds.push_back(re);
+ if(REDebug) re.Dump(*oflog,string("Add this new command:"));
+ }
+ }
+ it++;
+ }
+
+ // add new commands and sort again
+ it = newCmds.begin();
+ while(it != newCmds.end()) {
+ if(REDebug) it->Dump(*oflog,string("this is a new command:"));
+ Cmds.push_back(*it);
+ it++;
+ }
+ sort(Cmds.begin(),Cmds.end(),REditCmdLessThan());
+
+ if(REDebug)
+ for(it=Cmds.begin(); it != Cmds.end(); it++)
+ it->Dump(*oflog,string("final"));
+
+ // have to set the IVTable flag...
+ if(!IVTable) for(it=Cmds.begin(); it != Cmds.end(); it++) {
+ if(it->type==REditCmd::DS || it->type==REditCmd::DA || it->type==REditCmd::DS ||
+ it->type==REditCmd::DO || it->type==REditCmd::AO || it->type==REditCmd::DD)
+ { IVTable = true; break; }
+ }
+
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+// leading -'s are ok
+void RinexEditor::AddCommand(string cmd)
+{
+ REditCmd r(cmd);
+ if(r.valid()) Cmds.push_back(r);
+}
+
+//------------------------------------------------------------------------------------
+// Adds valid commands to C and removes from args; leading -'s are ok
+void RinexEditor::AddCommandLine(vector<string>& args)
+{
+ if(args.size()==0) return;
+ //if(REDebug) *oflog << "\nBefore stripping RE cmds, there are (" << args.size()
+ //<< ") tokens." << endl;
+ vector<string>::iterator it=args.begin();
+ while(it != args.end()) {
+ REditCmd r(*it);
+ if(r.valid()) {
+ Cmds.push_back(r);
+ //if(REDebug) *oflog << "Erase command " << *it << endl;
+ it = args.erase(it);
+ }
+ else {
+ //if(REDebug) *oflog << "Its not an RE command: " << *it << endl;
+ it++;
+ }
+ }
+ //if(REDebug) *oflog << "\nAfter stripping RE cmds, tokens (" << args.size()
+ //<< ") are:" << endl;
+ //if(REDebug) for(unsigned int j=0; j<args.size(); j++) *oflog << args[j] << endl;
+}
+
+//------------------------------------------------------------------------------------
+// NB does not fill optional records, even when -HDf (EditObs will).
+int RinexEditor::EditHeader(RinexObsHeader& RHInput, RinexObsHeader& RHOutput)
+{
+ // save the input header
+ RHIn = RHOutput = RHInput;
+ // get the obstypes
+ ObsTypes = RHInput.obsTypeList;
+ // iterate over the list (in reverse), applying, then deleting, AO, DO
+ // and DS<SV> commands
+ deque<REditCmd>::iterator it=Cmds.begin();
+ while(it != Cmds.end()) {
+ if(it->type==REditCmd::AO || it->type==REditCmd::DO) {
+ //if(REDebug) it->Dump(*oflog,string("Apply and Erase this AO/DO command:"));
+ RinexObsHeader::RinexObsType rot=RinexObsHeader::convertObsType(it->field);
+ vector<RinexObsHeader::RinexObsType>::iterator jt;
+ jt = find(ObsTypes.begin(),ObsTypes.end(),rot);
+ if(jt != ObsTypes.end() && it->type==REditCmd::DO) {
+ ObsTypes.erase(jt);
+ }
+ if(jt == ObsTypes.end() && it->type==REditCmd::AO) {
+ ObsTypes.push_back(rot);
+ }
+ it = Cmds.erase(it);
+ }
+ else if(it->type==REditCmd::DS
+ && it->time==DayTime::BEGINNING_OF_TIME) {
+ //if(REDebug) it->Dump(*oflog,string("Apply and Erase this DS command:"));
+ if(index(DelSV,it->SV) == -1) DelSV.push_back(it->SV);
+ it = Cmds.erase(it);
+ }
+ else it++;
+ }
+
+ RHOutput.obsTypeList = ObsTypes;
+
+ // fill records in output header
+ DayTime currtime;
+ time_t timer;
+ struct tm *tblock;
+ timer = time(NULL);
+ tblock = localtime(&timer);
+ currtime.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+ tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+ RHOutput.date = currtime.printf("%04Y/%02m/%02d %02H:%02M:%02S");
+ { // figure out system -- anything else will be up to caller
+ bool gps,glo,tra,geo;
+ if(find(DelSV.begin(),DelSV.end(),RinexPrn(-1,systemGPS)) != DelSV.end())
+ gps=false; else gps=true;
+ if(find(DelSV.begin(),DelSV.end(),RinexPrn(-1,systemGlonass)) != DelSV.end())
+ glo=false; else glo=true;
+ if(find(DelSV.begin(),DelSV.end(),RinexPrn(-1,systemTransit)) != DelSV.end())
+ tra=false; else tra=true;
+ if(find(DelSV.begin(),DelSV.end(),RinexPrn(-1,systemGeosync)) != DelSV.end())
+ geo=false; else geo=true;
+ if(!glo && !tra && !geo) RHOutput.system = systemGPS;
+ if(!gps && !tra && !geo) RHOutput.system = systemGlonass;
+ if(!gps && !glo && !geo) RHOutput.system = systemTransit;
+ if(!gps && !glo && !tra) RHOutput.system = systemGeosync;
+ }
+ if(HDDeleteOldComments) {
+ RHOutput.commentList.clear();
+ RHOutput.valid ^= RinexObsHeader::commentValid;
+ }
+ if(!HDProgram.empty()) RHOutput.fileProgram = HDProgram;
+ if(!HDRunBy.empty()) RHOutput.fileAgency = HDRunBy;
+ if(!HDObserver.empty()) RHOutput.observer = HDObserver;
+ if(!HDAgency.empty()) RHOutput.agency = HDAgency;
+ if(!HDMarker.empty()) RHOutput.markerName = HDMarker;
+ if(!HDNumber.empty()) RHOutput.markerNumber = HDNumber;
+ if(HDComments.size()) RHOutput.commentList.insert(RHOutput.commentList.end(),
+ HDComments.begin(),HDComments.end());
+ RHOutput.commentList.push_back(string("Edited by GPSTK Rinex Editor ver ") +
+ RinexEditVersion+string(" on ") + RHOutput.date);
+ RHOutput.valid |= RinexObsHeader::commentValid;
+
+ // invalidate header records
+ if(IVTable && (RHOutput.valid & RinexObsHeader::numSatsValid))
+ RHOutput.valid ^= RinexObsHeader::numSatsValid;
+ if(IVTable && (RHOutput.valid & RinexObsHeader::prnObsValid))
+ RHOutput.valid ^= RinexObsHeader::prnObsValid;
+ if(IVLast && (RHOutput.valid & RinexObsHeader::lastTimeValid))
+ RHOutput.valid ^= RinexObsHeader::lastTimeValid;
+ if(IVInterval && (RHOutput.valid & RinexObsHeader::intervalValid))
+ RHOutput.valid ^= RinexObsHeader::intervalValid;
+
+ RHOut = RHOutput; // save this header; if(FillOptionalHeader) mod RHOut in EditObs
+
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+// will fill header (after writing) when -HDf found.
+// Return -2 error
+// -1 quit
+// 0 DO NOT write the output obs ROOut
+// 1 DO NOT write the output obs ROOut, but close and re-open the output file
+// 2 DO write the output obs ROOut
+// 3 DO write the output obs ROOut, but first close and re-open output file
+int RinexEditor::EditObs(RinexObsData& ROIn, RinexObsData& ROOut)
+{
+ // check that stored input header is valid...but do only once!
+ //if(!RHIn.valid() || !RHOut.valid()) return -2;
+ bool NewFile=false;
+
+ // test time limits
+ // TD some comment blocks have blank epochs...
+ if(ROIn.time-BegTime < -TimeTol) return 0;
+ if(ROIn.time-EndTime > TimeTol) return -1;
+
+ // when embedded comments found, just copy and go on
+ if(ROIn.epochFlag != 0 && ROIn.epochFlag != 1) {
+ ROOut = ROIn;
+ return 2;
+ }
+
+ // decimate the data // TD consider clock bias?
+ if(Decimate > 0.0) {
+ // if BegTime is unset, make it the first of the week
+ if(BegTime == DayTime::BEGINNING_OF_TIME)
+ BegTime.setGPSfullweek(ROIn.time.GPSfullweek(),0.0);
+ double dt=ABS(ROIn.time - BegTime);
+ dt -= Decimate*long(0.5+dt/Decimate);
+ if(ABS(dt) > TimeTol) return 0;
+ }
+
+ // TD allow callback to fill new obs types here...
+
+ // scan command list, updating current, onetime command lists,
+ // delete-SV list, Skip, NewFile
+ // delete the command after processing it
+ double dt;
+ while(Cmds.size() > 0) {
+ dt = Cmds[0].time - ROIn.time;
+ if(dt < -TimeTol || ABS(dt) < TimeTol) { // commands in present and past
+ if(REDebug) Cmds[0].Dump(*oflog,
+ Cmds[0].time.printf("%4Y/%2m/%2d %2H:%2M:%.4f")
+ + string(": Process (now) : "));
+ switch(Cmds[0].type) {
+ case REditCmd::DA:
+ if(Cmds[0].sign > 0) Skip=true;
+ if(Cmds[0].sign < 0) Skip=false;
+ break;
+ case REditCmd::OF:
+ OutputFile = Cmds[0].field;
+ if(!OutputDir.empty()) OutputFile = OutputDir + string("/")
+ + OutputFile;
+ NewFile = true;
+ break;
+ case REditCmd::DS:
+ if(Cmds[0].sign > 0 && index(DelSV,Cmds[0].SV) == -1)
+ DelSV.push_back(Cmds[0].SV);
+ if(Cmds[0].sign < 0)
+ DelSV.erase(find(DelSV.begin(),DelSV.end(),Cmds[0].SV));
+ if(Cmds[0].sign == 0 && ABS(dt) < TimeTol)
+ OneTimeCmds.push_back(Cmds[0]);
+ if(Cmds[0].sign != 0 && REDebug) {
+ *oflog << "DS: DelSV is";
+ for(int itemp=0; itemp<DelSV.size(); itemp++)
+ *oflog << " " << DelSV[itemp];
+ *oflog << endl;
+ }
+ break;
+ case REditCmd::DD:
+ case REditCmd::SS:
+ case REditCmd::SL:
+ case REditCmd::SD:
+ case REditCmd::BD:
+ if(Cmds[0].sign > 0) CurrentCmds.push_back(Cmds[0]);
+ if(Cmds[0].sign < 0) CurrentCmds.erase(find(CurrentCmds.begin(),
+ CurrentCmds.end(),Cmds[0]));
+ if(Cmds[0].sign == 0 && ABS(dt) < TimeTol)
+ OneTimeCmds.push_back(Cmds[0]);
+ break;
+ default:
+ if(REDebug) Cmds[0].Dump(*oflog,
+ Cmds[0].time.printf("%4Y/%2m/%2d %2H:%2M:%.4f")
+ + string(": This command not implemented! : "));
+ break;
+ } // end switch(type)
+
+ // delete this command
+ if(REDebug) Cmds[0].Dump(*oflog,
+ Cmds[0].time.printf("%4Y/%2m/%2d %2H:%2M:%.4f")
+ + string(": Delete (old) : "));
+ Cmds.pop_front();
+ }
+ else break; // this command (and all others) is in future
+ }
+
+ // clear out anything old
+ ROOut.obs.clear();
+
+ // if not writing out, return here
+ if(Skip && !NewFile) return 0;
+ if(Skip && NewFile) return 1;
+
+ // copy data over to new obs structure
+ RinexObsData::RinexDatum datum; // place holder and zero
+ datum.data = 0.0;
+ datum.lli = datum.ssi = 0;
+ RinexObsData::RinexObsTypeMap otmap; // place holder for ROOut.obs.second
+
+ for(int j=0; j<RHOut.obsTypeList.size(); j++) // loop over obstypes (out) in otmap
+ otmap.insert(std::map<RinexObsHeader::RinexObsType,
+ RinexObsData::RinexDatum>::value_type(RHOut.obsTypeList[j],datum) );
+
+ // loop over prns, create otmap and then insert it with the correct prn
+ int nsvs=0;
+ RinexObsData::RinexPrnMap::iterator it;
+ RinexObsData::RinexObsTypeMap::iterator jt,kt;
+ for(it=ROIn.obs.begin(); it != ROIn.obs.end(); ++it) {
+ // loop over prn=it->first, ObsTypeMap=it->second
+ if(find(DelSV.begin(),DelSV.end(),it->first) != DelSV.end()) {
+ if(REDebug) *oflog << "Deleted sat " << it->first
+ << " at " << ROIn.time << endl;
+ continue;
+ }
+ RinexPrn p(-1,it->first.system);
+ if(find(DelSV.begin(),DelSV.end(),p) != DelSV.end()) continue;
+ for(int j=0; j<RHOut.obsTypeList.size(); j++) { // loop over obstypes
+ jt = otmap.find(RHOut.obsTypeList[j]); // jt points to ObsTypeMap output
+ kt = it->second.find(RHOut.obsTypeList[j]); // kt points to ObsTypeMap input
+ if(kt==it->second.end()) // not found
+ jt->second = datum;
+ else
+ jt->second = kt->second;
+ }
+ // TD should test for all zero data -> delete this SV.
+ ROOut.obs.insert(std::map<RinexPrn,
+ RinexObsData::RinexObsTypeMap>::value_type(it->first,otmap) );
+ }
+
+ ROOut.time = ROIn.time;
+ if(!NewFile) {
+ PrevEpoch = CurrEpoch;
+ CurrEpoch = ROOut.time;
+ }
+ ROOut.clockOffset = ROIn.clockOffset;
+ ROOut.epochFlag = ROIn.epochFlag;
+
+ // apply current commands
+ vector<REditCmd>::iterator cit;
+ RinexObsData::RinexPrnMap::reverse_iterator roit;
+ for(cit=CurrentCmds.begin(); cit != CurrentCmds.end(); cit++) {
+ if(REDebug) cit->Dump(*oflog,string("Current : "));
+ // modify all satellites in this system
+ if(cit->type == REditCmd::SL && cit->SV.prn == -1) {
+ for(roit=ROOut.obs.rbegin(); roit!=ROOut.obs.rend(); roit++) {
+ if(cit->SV.system == roit->first.system) {
+ jt = (roit->second).find(RinexObsHeader::convertObsType(cit->field));
+ if(jt != roit->second.end()) jt->second.lli = int(cit->bias);
+ }
+ }
+ }
+ it = ROOut.obs.find(cit->SV);
+ if(it != ROOut.obs.end()) {
+ jt = (it->second).find(RinexObsHeader::convertObsType(cit->field));
+ if(jt != it->second.end()) {
+ if(cit->type == REditCmd::DD) jt->second.data = 0.0;
+ if(cit->type == REditCmd::BD) {
+ if(BiasZeroData || ABS(jt->second.data) > 0.001)
+ jt->second.data += cit->bias;
+ }
+ if(cit->type == REditCmd::SL) jt->second.lli = int(cit->bias);
+ }
+ }
+ }
+
+ // apply one-time commands
+ vector<REditCmd>::reverse_iterator irt;
+ for(irt=OneTimeCmds.rbegin(); irt != OneTimeCmds.rend(); irt++) {
+ if(REDebug) irt->Dump(*oflog,string("1-time : "));
+ // delete all satellites in this system
+ if((irt->type == REditCmd::DS || irt->type == REditCmd::SL)
+ && irt->SV.prn == -1) {
+ for(roit=ROOut.obs.rbegin(); roit!=ROOut.obs.rend(); roit++) {
+ if(irt->SV.system == roit->first.system) {
+ if(irt->type == REditCmd::DS) ROOut.obs.erase(roit->first);
+ if(irt->type == REditCmd::SL) {
+ jt=(roit->second).find(RinexObsHeader::convertObsType(irt->field));
+ if(jt != roit->second.end()) jt->second.lli = int(irt->bias);
+ }
+ }
+ }
+ }
+ else {
+ it = ROOut.obs.find(irt->SV);
+ if(it != ROOut.obs.end()) {
+ if(irt->type == REditCmd::DS) { // delete SV altogether
+ ROOut.obs.erase(it);
+ }
+ else {
+ jt = (it->second).find(RinexObsHeader::convertObsType(irt->field));
+ if(jt != it->second.end()) {
+ if(irt->type == REditCmd::DD) jt->second.data = 0.0;
+ if(irt->type == REditCmd::SD) jt->second.data = irt->bias;
+ if(irt->type == REditCmd::SS) jt->second.ssi = int(irt->bias);
+ if(irt->type == REditCmd::SL) jt->second.lli = int(irt->bias);
+ if(irt->type == REditCmd::BD) {
+ if(BiasZeroData || ABS(jt->second.data) > 0.001)
+ jt->second.data += irt->bias;
+ }
+ if(irt->type == REditCmd::BS) jt->second.ssi += int(irt->bias);
+ if(irt->type == REditCmd::BL) jt->second.lli += int(irt->bias);
+ }
+ }
+ }
+ }
+ OneTimeCmds.pop_back();
+ }
+
+ ROOut.numSvs = ROOut.obs.size();
+
+ // update estimate of dt
+ if(FillOptionalHeader) {
+ if(PrevEpoch.year() != 1) {
+ dt = CurrEpoch-PrevEpoch;
+ for(int i=0; i<9; i++) {
+ if(ndt[i] <= 0) { bestdt[i]=dt; ndt[i]=1; break; }
+ if(ABS(dt-bestdt[i]) < 0.0001) { ndt[i]++; break; }
+ if(i == 8) {
+ int k = 0;
+ int nleast=ndt[k];
+ for(int j=1; j<9; j++) if(ndt[j] <= nleast) {
+ k=j; nleast=ndt[j];
+ }
+ ndt[k]=1; bestdt[k]=dt;
+ }
+ }
+ }
+ }
+
+ if(NewFile) return 3;
+ return 2;
+}
+
+//------------------------------------------------------------------------------------
+string GetTempFileName(void)
+{
+#ifdef _MSC_VER
+ char newname[L_tmpnam];
+ if(!tmpnam(newname)) {
+#else
+ char newname[]="RETemp.XXXXXX";
+ if(mkstemp(newname)==-1) {
+#endif
+ return string("");
+ }
+ return string(newname);
+}
+
+//------------------------------------------------------------------------------------
+// assumes TempFile has been written with RHOut, and info is in config
+// Return 0 or -1 if could not open/delete files
+int RinexEditor::FillHeaderAndReplaceFile(string& TempFile, string& TrueOutputFile)
+{
+ int i,j;
+ // compute interval
+ for(i=1,j=0; i<9; i++) if(ndt[i]>ndt[j]) j=i;
+ double dt = bestdt[j];
+ // modify the header
+ RHOut.version = 2.1; RHOut.valid |= RinexObsHeader::versionValid;
+ RHOut.interval = dt; RHOut.valid |= RinexObsHeader::intervalValid;
+ RHOut.lastObs = CurrEpoch; RHOut.valid |= RinexObsHeader::lastTimeValid;
+ // now the table
+ RHOut.numSVs = table.size(); RHOut.valid |= RinexObsHeader::numSatsValid;
+ RHOut.numObsForPrn.clear();
+ vector<TableData>::iterator tit;
+ for(tit=table.begin(); tit!=table.end(); ++tit) {
+ RHOut.numObsForPrn.insert(map<RinexPrn,
+ vector<int> >::value_type(tit->prn,tit->nobs));
+ }
+ RHOut.valid |= RinexObsHeader::prnObsValid;
+
+ // callback
+ i = BeforeWritingFilledHeader(RHOut);
+ if(i) return -2;
+
+ // here you need to validate the RHOut header
+
+ // now re-open the file and replace the header
+ RinexObsHeader rhjunk;
+ RinexObsStream ROutStr(TrueOutputFile.c_str(), ios::out);
+ RinexObsStream InAgain(TempFile.c_str());
+ InAgain.exceptions(ios::failbit);
+
+//*oflog << "Opened " << TempFile << " for input and " << TrueOutputFile << " for output.\n";
+ InAgain >> rhjunk;
+ ROutStr << RHOut;
+
+ RinexObsData robs;
+ while(InAgain >> robs) {
+ if(robs.time < BegTime) continue;
+ if(robs.time > EndTime) break;
+ ROutStr << robs;
+ }
+ InAgain.close();
+ ROutStr.close();
+
+ // delete the temporary
+ if( remove(TempFile.c_str()) != 0) {
+ //*oflog << "Error: Could not remove existing file: " << TempFile << endl;
+ return -1;
+ }
+
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+// Return -1 failed to open file
+// -2 failed to read input file correctly
+// -3 input file not obs
+// -4 failed to fill header and replace original file
+// -5 could not create temporary file
+// -6 callback to BeforeEditHeader returned error
+// -7 callback to AfterEditHeader returned error
+// -8 callback to BeforeEditObs returned error
+// -9 callback to BeforeWritingHeader returned error
+// -10 callback to BeforeWritingObs returned error
+// will replace header after filling using temp file
+int RinexEditor::EditFile(void)
+{
+ int iret,Noutput;
+ RinexObsHeader rhin,rhout;
+ RinexObsData roin,roout;
+ string TrueOutputFile,TempFile;
+
+ if(REVerbose) *oflog << "EditFile: Reading " << InputFile
+ << ", and Writing " << OutputFile << endl;
+
+ // open input file
+ RinexObsStream ROFin(InputFile.c_str());
+ if(!ROFin) {
+ if(REVerbose) *oflog << "RinexEditor::EditFile could not open input file "
+ << InputFile << endl;
+ cerr << "RinexEditor::EditFile could not open input file " << InputFile << endl;
+ if(REVerbose) *oflog << "RinexEditor::EditFile could not open input file "
+ << InputFile << endl;
+ return -1;
+ }
+ ROFin.exceptions(ios::failbit);
+ if(REDebug) *oflog << "Opened input file " << InputFile << endl;
+
+ // read header
+ try {
+ ROFin >> rhin;
+ }
+ catch(gpstk::FFStreamError& e) {
+ cerr << "Caught an FFStreamError while reading header:\n" << e.getText(0)
+ << endl;
+ if(REVerbose) *oflog << "Caught an FFStreamError while reading header:\n"
+ << e.getText(0) << endl;
+ return -2;
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "Caught an exception while reading header:\n" << e.getText(0) << endl;
+ if(REVerbose) *oflog << "Caught an exception while reading header:\n"
+ << e.getText(0) << endl;
+ return -2;
+ }
+ if(REDebug) *oflog << "Read input header" << endl;
+
+ // check its type
+ if(rhin.fileType[0] != 'O') {
+ cerr << "Input file type is not Observation\n" << endl;
+ if(REVerbose) *oflog << "Input file type is not Observation\n" << endl;
+ return -3;
+ }
+ if(REVerbose) {
+ *oflog << "Input header:\n";
+ rhin.dump(*oflog);
+ }
+
+ // callback before editing input header
+ iret = BeforeEditHeader(rhin);
+ if(iret) return -6;
+
+ // edit header
+ EditHeader(rhin,rhout);
+ if(REVerbose) *oflog << "Edit header done" << endl;
+
+ // callback after calling EditHeader (pass output header)
+ iret = AfterEditHeader(rhout);
+ if(iret) return -7;
+
+ // if header is to be filled, write to a temporary file
+ TrueOutputFile = OutputFile;
+ if(FillOptionalHeader) {
+//*oflog << "FillOptionalHeader" << endl;
+ OutputFile = GetTempFileName();
+//*oflog << "Got temp file name " << OutputFile << endl;
+ if(OutputFile.empty()) {
+ cerr << "Could not create temporary file name - abort\n";
+ if(REVerbose) *oflog << "Could not create temporary file name - abort\n";
+ return -5;
+ }
+ if(!OutputDir.empty()) OutputFile = OutputDir + string("/") + OutputFile;
+ TempFile = OutputFile;
+ }
+
+ // open output file
+//*oflog << "Open output file " << OutputFile << endl;
+ RinexObsStream ROFout(OutputFile.c_str(), ios::out);
+ if(!ROFout) {
+ cerr << "RinexEditor::EditFile could not open output file "
+ << OutputFile << endl;
+ if(REVerbose) *oflog << "RinexEditor::EditFile could not open output file "
+ << OutputFile << endl;
+ return -1;
+ }
+ ROFout.exceptions(ios::failbit);
+
+ // loop over epochs, reading input and writing to output
+ Noutput = 0;
+//*oflog << "Start loop over output epochs" << endl;
+ while (1) {
+
+ // read next observation epoch
+ try {
+ ROFin >> roin;
+ }
+ catch(gpstk::FFStreamError& e) {
+ cerr << "RinexEditor::EditFile caught an FFStreamError while reading obs:\n"
+ << e << endl;
+ if(REVerbose) *oflog
+ << "RinexEditor::EditFile caught an FFStreamError while reading obs:\n"
+ << e << endl;
+ return -2;
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "RinexEditor::EditFile caught an exception while reading obs:\n"
+ << e << endl;
+ if(REVerbose) *oflog
+ << "RinexEditor::EditFile caught an exception while reading obs:\n"
+ << e << endl;
+ return -2;
+ }
+ if(!ROFin) iret = -1;
+ else {
+ if(REDebug) {
+ *oflog << "Epoch: " << roin.time << ", Flag " << roin.epochFlag
+ << ", clk " << roin.clockOffset << endl;
+ roin.dump(*oflog);
+ }
+
+ // callback after reading input obs
+ // and before calling EditObs (pass input obs)
+ iret = BeforeEditObs(roin);
+ if(iret) { iret=-8; break; }
+
+ iret = EditObs(roin,roout);
+ // Return -2 error
+ // -1 quit (EOF or time limit reached)
+ // 0 DO NOT write the output obs ROOut
+ // 1 DO NOT write the output obs ROOut,
+ // but close and re-open the output file
+ // 2 DO write the output obs ROOut
+ // 3 DO write the output obs ROOut,
+ // but first close and re-open the output file
+ }
+ if(REDebug) {
+ *oflog << "EditObs returned " << iret << endl;
+ roout.dump(*oflog);
+ }
+
+ if(iret == -2) break; // error => abort
+
+ if(iret == -1 || iret == 1 || iret == 3) { // new output file
+ // close this output file
+ ROFout.close();
+ // fill the optional header records
+ if(FillOptionalHeader) {
+ if(Noutput > 0) {
+ if(FillHeaderAndReplaceFile(TempFile,TrueOutputFile) != 0) {
+ cerr << "Failed to fill header and replace file - abort\n";
+ if(REVerbose)
+ *oflog << "Failed to fill header and replace file - abort\n";
+ return -4;
+ }
+ else if(REVerbose) *oflog << "Added header to " << TempFile
+ << " and put in " << TrueOutputFile << endl;
+ }
+
+ if(iret != -1) { // not EOF => going on to another file
+ TrueOutputFile = OutputFile;
+ OutputFile = GetTempFileName();
+ if(OutputFile.empty()) {
+ cerr << "Could not create temporary file name - abort\n";
+ if(REVerbose)
+ *oflog << "Could not create temporary file name - abort\n";
+ return -5;
+ }
+ if(!OutputDir.empty())
+ OutputFile = OutputDir + string("/") + OutputFile;
+ TempFile = OutputFile;
+ if(REVerbose) *oflog << "New temp file is " << TempFile
+ << ", and true output file is " << TrueOutputFile << endl;
+ }
+
+ } // end if FillOptionalHeader
+ else {
+ TrueOutputFile = OutputFile;
+ }
+
+ if(iret == -1) { // quit
+ if(REVerbose)
+ *oflog << "Finished processing obs file " << InputFile << endl;
+ iret = 0;
+ break;
+ }
+
+ // open the new output file
+ ROFout.open(OutputFile.c_str(), ios::out);
+ Noutput = 0;
+ if(REVerbose) *oflog << "New output file " << TrueOutputFile
+ << " (really " << OutputFile << ") at time " << roin.time << endl;
+
+ } // end if new output file
+
+ // write to output
+ if(iret > 1) { // not EOF nor error
+ if(Noutput == 0) {
+ rhout.firstObs = roout.time;
+ // callback before writing out header (pass output header)
+ iret = BeforeWritingHeader(rhout);
+ if(iret) return -9;
+
+ ROFout << rhout;
+ if(REVerbose) {
+ *oflog << "Dump output header (iret is " << iret << "):\n";
+ rhout.dump(*oflog);
+ }
+ // prepare for next file
+ RHOut = rhout;
+ table.clear();
+ for(int i=0; i<9; i++) ndt[i]=-1;
+ }
+
+ // callback just before writing output obs (pass reference to output obs)
+ // return value of BeforeWritingObs determines what is written:
+ // if return <0 abort
+ // 0 write nothing
+ // 1 write the obs data structure (note that the caller may set
+ // roout.epochFlag to determine what is output : 0,1 are data,
+ // while 2,3,4 or 5, is for in-line header auxHeader only)
+ // >1 write BOTH header data (in auxHeader, setting
+ // epochFlag=return) AND obs data
+ roout.auxHeader.clear();
+ iret = BeforeWritingObs(roout);
+ if(iret < 0) return -10;
+ if(iret > 1) { // write auxiliary header info first
+ int flag=roout.epochFlag, nsvs=roout.numSvs;
+ roout.epochFlag = iret;
+ roout.numSvs = roout.auxHeader.NumberHeaderRecordsToBeWritten();
+ // write out the header records
+ ROFout << roout;
+ Noutput++;
+ // prepare to write obs
+ roout.epochFlag = flag;
+ roout.numSvs = nsvs;
+ }
+
+ // add count of valid obs to table for header
+ // -- have to do it here b/c BeforeWritingObs has just filled it
+ if(FillOptionalHeader) {
+ int k,n=RHOut.obsTypeList.size();
+ RinexObsData::RinexPrnMap::const_iterator pit;
+ RinexObsData::RinexObsTypeMap::const_iterator pjt;
+ for(pit=roout.obs.begin(); pit != roout.obs.end(); ++pit) {
+ vector<TableData>::iterator ptab;
+ ptab = find(table.begin(),table.end(),TableData(pit->first,n));
+ if(ptab == table.end()) {
+ table.push_back(TableData(pit->first,n));
+ ptab = find(table.begin(),table.end(),TableData(pit->first,n));
+ }
+ for(pjt=pit->second.begin(); pjt!=pit->second.end(); pjt++) {
+ for(k=0; k<n; k++) if(RHOut.obsTypeList[k] == pjt->first) break;
+ if(pjt->second.data != 0.0) ptab->nobs[k]++;
+ }
+ }
+ }
+
+ // now write out the obs
+ if(REDebug) {
+ *oflog << "Write this obs to output:\n";
+ roout.dump(*oflog);
+ }
+ ROFout << roout;
+ Noutput++;
+ }
+
+ } // end while loop over epochs
+
+ return iret;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+void DisplayRinexEditUsage(ostream& os)
+{
+ os << "\nRinex Editor commands:\n";
+ os << " ==============================================================="
+ << "===============\n";
+ os << " Commands begin with a '-' or '/', followed by an identifier, "
+ << "then data fields.\n";
+ os << " Fields beyond the initial 2- or 3-character identifier are comma "
+ << "delimited.\n";
+ os << " <SV> gives a satellite; SV=<PRN><System(optional)> "
+ << "eg. 19G or 19 = PRN 19 GPS.\n";
+ os << " <System> is a single character (G=GPS, R=GLONASS, T=Transit, "
+ << "S=Geosynchronous).\n";
+ os << " <OT> gives a Rinex observation type, e.g. L1 or P2 (case sensitive).\n";
+ os << " <time> gives a time; time=<week,sow> OR "
+ << "time=<year,mon,day,hour,min,second>.\n";
+ os << "\n";
+ os << " File I/O:\n";
+ os << " =========\n";
+ os << " -IF<file> Input Rinex observation file name (required)\n";
+ os << " -ID<dir> Directory in which to find input file\n";
+ os << " -OF<file> Output Rinex file name (required, or -OF<file>,<time>)\n";
+ os << " -OF<f>,<time> At time=<time>, close output file and open another "
+ << "named <f>\n";
+ os << " -OD<dir> Directory in which to put output file(s)\n";
+ os << "\n";
+ os << " Output Rinex header fields:\n";
+ os << " ===========================\n";
+ os << " -HDf If present, fill optional records in the output Rinex "
+ << "header\n";
+ os << " (NB EditObs() and EditFile() will do this, but NOT "
+ << "EditHeader().)\n";
+ os << " -HDp<program> Set output Rinex header 'program' field\n";
+ os << " -HDr<run_by> Set output Rinex header 'run by' field\n";
+ os << " -HDo<observer> Set output Rinex header 'observer' field\n";
+ os << " -HDa<agency> Set output Rinex header 'agency' field\n";
+ os << " -HDm<marker> Set output Rinex header 'marker' field\n";
+ os << " -HDn<number> Set output Rinex header 'number' field\n";
+ os << " -HDc<comment> Add comment to output Rinex header "
+ << "(more than one allowed).\n";
+ os << " -HDdc Delete all comments in output Rinex header\n";
+ os << " (NB -HDdc cannot delete comments created by *subsequent* "
+ << "-HDc commands)\n";
+ os << "\n";
+ os << " -AO<OT> Add observation type OT to header and observation data\n";
+ os << "\n";
+ os << " General edit commands:\n";
+ os << " ======================\n";
+ os << " -TB<time> Begin time: reject data before this time "
+ << "(also used for decimation)\n";
+ os << " -TE<time> End time: reject data after this time\n";
+ os << " -TT<dt> Tolerance in comparing times, in seconds (default=1ms)\n";
+ os << " -TN<dt> Decimate data to epochs = Begin + integer*dt "
+ << "(within tolerance)\n";
+ os << "\n";
+ os << " Specific edit commands:\n";
+ os << " =======================\n";
+ os << " (Generally each '+' command (e.g DA+,<time>) has a corresponding "
+ << "'-' command,\n";
+ os << " and vice-versa; if not, End-of-file or Begin-of-file is assumed.\n";
+ os << " Note commands at one time are applied AFTER other commands of the "
+ << "same type.)\n";
+ os << "\n";
+ os << " Delete commands:\n";
+ os << " -DA+<time> Delete all data beginning at this time\n";
+ os << " -DA-<time> Stop deleting data at this time\n";
+ os << " -DO<OT> Delete observation type OT entirely "
+ << "(including in header)\n";
+ os << " -DS<SV> Delete all data for satellite SV entirely "
+ << "(SV may be system only)\n";
+ os << " -DS<SV>,<time> Delete all data for satellite SV at this single time "
+ << "(only)\n";
+ os << " -DS+<SV>,<time> Delete all data for satellite SV beginning at this time\n";
+ os << " -DS-<SV>,<time> Stop deleting all data for satellite SV at this time\n";
+ os << " (NB DS commands with SV=system (only) delete all satellites of that "
+ << "system.)\n";
+ os << " -DD<SV,OT,t> Delete a single Rinex data(SV,OT,t) at time <t>\n";
+ os << " -DD+<SV,OT,t> Delete all (SV,OT) data, beginning at time <t>\n";
+ os << " -DD-<SV,OT,t> Stop deleting all (SV,OT) data at time <t>\n";
+ os << " (NB deleting data for one OT means setting it to zero - here and in "
+ << "Rinex)\n";
+ os << "\n";
+ os << " Set commands:\n";
+ os << " -SD<SV,OT,t,d> Set data(SV,OT,t) to <d> at time <t>\n";
+ os << " -SS<SV,OT,t,s> Set ssi(SV,OT,t) to <s> at time <t>\n";
+ os << " -SL+<SV,OT,t,l> Set all lli(SV,OT,t) to <l> at time <t>\n";
+ os << " -SL-<SV,OT,t,l> Stop setting lli(SV,OT,t) to <l> at time <t>"
+ << " (',<l>' is optional)\n";
+ os << " -SL<SV,OT,t,l> Set lli(SV,OT,t) to <l> at the single time <t> (only)\n";
+ os << " (NB SL commands with SV=system (only) modify all satellites of that "
+ << "system.)\n";
+ os << "\n";
+ os << " Bias commands:\n";
+ os << " (NB. BD commands apply only when data is non-zero, "
+ << "unless -BZ appears)\n";
+ os << " -BZ Apply bias data commands (BD) even when data is zero\n";
+ os << " -BD<SV,OT,t,d> Add the value of <d> to data(SV,OT,t) at time <t>\n";
+ os << " -BD+<SV,OT,t,d> Add value of <d> to data(SV,OT) beginning at time <t>\n";
+ os << " -BD-<SV,OT,t,d> Stop adding <d> to data(SV,OT) at time <t> (',<d>' optional)\n";
+ os << " -BS<SV,OT,t,s> Add the value of <s> to ssi(SV,OT,t) at time <t>\n";
+ os << " -BL<SV,OT,t,l> Add the value of <l> to lli(SV,OT,t) at time <t>\n";
+ os << "\n End of Rinex Editor commands.\n";
+ os << " ====================================================================="
+ << "=========\n";
+ os << endl;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/Rinextools/RinexEditor.hpp b/trunk/apps/Rinextools/RinexEditor.hpp
new file mode 100644
index 0000000..d9ad0ca
--- /dev/null
+++ b/trunk/apps/Rinextools/RinexEditor.hpp
@@ -0,0 +1,287 @@
+//------------------------------------------------------------------------------------
+// RinexEditor.hpp Edit Rinex files, specifically, class REditCmd encapsulates
+// commands passed to the Rinex Editor
+// RinexEditor is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexEditor.hpp#2 $"
+
+/**
+ * @file RinexEditor.hpp
+ * Edit Rinex observation files.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef RINEX_EDITING_COMMANDS_INCLUDE
+#define RINEX_EDITING_COMMANDS_INCLUDE
+
+//------------------------------------------------------------------------------------
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "DayTime.hpp"
+
+#include <fstream>
+#include <string>
+#include <vector>
+#include <deque>
+
+//------------------------------------------------------------------------------------
+namespace gpstk {
+
+ /** @addtogroup rinexutils */
+ //@{
+
+ // forward declarations
+class RinexEditor;
+class REditCmdLessThan;
+class TableData;
+class TablePRNLessThan;
+
+//------------------------------------------------------------------------------------
+/// Class REditCmd encapsulates commands passed to the Rinex Editor
+/// (class RinexEditor).
+class REditCmd {
+ friend class RinexEditor;
+ friend class REditCmdLessThan;
+ friend bool operator==(const REditCmd& x, const REditCmd& y);
+private:
+ /// The command types: input file, output file, etc.
+ enum TYPE {
+ //(order matters)
+ INVALID=0,IF,OF,ID,OD,HD,TN,TB,TE,TT,AO,DA,DO,DS,DD,SD,SS,SL,BD,BS,BL,BZ
+ };
+ /// The type of this command
+ TYPE type;
+ /// Satellite identifier for data to which this command will apply.
+ RinexPrn SV;
+ /// Time associated with this command.
+ DayTime time;
+ /// Sign associated with this command.
+ int sign;
+ /// String associated with this command.
+ std::string field;
+ /// integer associated with this command.
+ int inOT;
+ /// bias associated with this command.
+ double bias;
+public:
+ /// Default constructor (type is set INVALID).
+ REditCmd(void) { type=INVALID; }
+ /// Destructor
+ ~REditCmd(void);
+ /// Constructor from a string which contains the editing command.
+ REditCmd(std::string s);
+ /// Is this a valid command?
+ inline bool valid(void) { return (type!=INVALID); }
+ /// Print the command on an ostream, with an optional message.
+ void Dump(std::ostream& os, std::string msg);
+};
+
+ /// operator==(REditCmd), defined so algorithm find() can be called.
+inline bool operator==(const REditCmd& x, const REditCmd& y)
+ { return (x.type==y.type && x.SV==y.SV && x.time==y.time && x.sign==y.sign
+ && x.field==y.field && x.inOT==y.inOT && x.bias==y.bias); }
+
+/// class REditCmdLessThan, for use with algorithm sort().
+class REditCmdLessThan {
+public:
+ /// return true if c1 is less than c2.
+ bool operator()(const REditCmd& c1, const REditCmd& c2)
+ { return c1.time < c2.time; }
+};
+
+//------------------------------------------------------------------------------------
+/// class RinexEditor encapsulates the process of editing a Rinex observation dataset
+/// (header and observations), including the editing commands that have been input
+/// from the user.
+class RinexEditor {
+private:
+ /// input and output file names.
+ std::string InputFile,OutputFile;
+ /// directories for the input and output files.
+ std::string InputDir,OutputDir;
+ /// start and stop times, for windowing the data.
+ DayTime BegTime,EndTime;
+ /// tolerance to be used in comparing time tags.
+ double TimeTol;
+ /// time step interval if the data is to be decimated.
+ double Decimate;
+ /// flag to indicate how to handle data with value 'zero'.
+ bool BiasZeroData;
+ /// flag used when data is omitted from output
+ bool Skip;
+ /// vector of Rinex observation types in header.
+ std::vector<RinexObsHeader::RinexObsType> ObsTypes;
+ /// vector of satellites to be deleted.
+ std::vector<RinexPrn> DelSV;
+ /// input and output Rinex headers.
+ RinexObsHeader RHIn,RHOut;
+ /// flag for editing the Rinex header.
+ bool FillOptionalHeader,HDDeleteOldComments;
+ /// flags indicating validity of optional records in the input header.
+ bool IVLast,IVInterval,IVTable;
+ /// content of the PROGRAM header record.
+ std::string HDProgram;
+ /// content of the RUN BY header record.
+ std::string HDRunBy;
+ /// content of the OBSERVER header record.
+ std::string HDObserver;
+ /// content of the AGENCY header record.
+ std::string HDAgency;
+ /// content of the MARKER header record.
+ std::string HDMarker;
+ /// content of the NUMBER header record.
+ std::string HDNumber;
+ /// comments in the Rinex header.
+ std::vector<std::string> HDComments;
+ /// times for computing start and stop times, to go in the Rinex header.
+ DayTime CurrEpoch,PrevEpoch;
+ /// an integer array for computing the time interval, to go in the Rinex header.
+ int ndt[9];
+ /// a double array for computing the time interval, to go in the Rinex header.
+ double bestdt[9];
+ /// storage for the PRN/OBS table, to go in the Rinex header.
+ std::vector<TableData> table;
+
+ /// Rinex Editing commands that will have to be saved.
+ std::deque<REditCmd> Cmds;
+ /// Rinex Editing commands for use during processing.
+ std::vector<REditCmd> OneTimeCmds;
+ /// Rinex Editing commands for use in the current timestep.
+ std::vector<REditCmd> CurrentCmds;
+
+public:
+ /// flag to control debugging and analysis output.
+ bool REVerbose,REDebug;
+ /// the output log file stream.
+ std::ostream *oflog;
+
+ /// Default constructor
+ RinexEditor(void);
+ /// Destructor
+ virtual ~RinexEditor(void);
+ /// pretty print configuration
+ std::ostream& operator<<(const std::ostream& os);
+ /// Add the Rinex Editing command structures to the user's command line.
+ void AddCommandLine(std::vector<std::string>& args);
+ /// Add a Rinex Editing command to this Editor.
+ void AddCommand(std::string cmd);
+ /// Parse the command line for Rinex Editing commands.
+ int ParseCommands(void);
+ /// Edit the input header to produce the output header.
+ int EditHeader(RinexObsHeader& RHIn, RinexObsHeader& RHOut);
+ /// Edit the input observation to produce the output observation.
+ int EditObs(RinexObsData& ROIn, RinexObsData& ROOut);
+ /// Edit a Rinex observation file, using the stored Rinex Editing commands.
+ int EditFile(void);
+ /// used to add optional records to the header.
+ int FillHeaderAndReplaceFile(std::string& TempFile,std::string& TrueOutputFile);
+
+ /// This function is called after reading input header and before
+ /// calling EditHeader (pass input header).
+ virtual int BeforeEditHeader(const RinexObsHeader& rhin) { return 0; }
+
+ /// This function is called after calling EditHeader (pass it the output header).
+ virtual int AfterEditHeader(const RinexObsHeader& rhout) { return 0; }
+
+ /// This function is called after reading the input observation and before
+ /// calling EditObs (pass it the input observation).
+ virtual int BeforeEditObs(const RinexObsData& roin) { return 0; }
+
+ /// This function is called before writing out the header (pass it
+ /// the output header).
+ virtual int BeforeWritingHeader(RinexObsHeader& rhout) { return 0; }
+
+ /// This function is called before writing out the header that has been
+ /// filled with optional records
+ virtual int BeforeWritingFilledHeader(RinexObsHeader& rhout) { return 0; }
+
+ /** Callback, just before writing output obs (pass output obs)
+ * Return value of BeforeWritingObs determines what is written:
+ * if return <0 write nothing and abort
+ * 0 write nothing
+ * 1 write the obs data roout ONLY (note that the caller may set
+ * roout.epochFlag to determine what is output : 0,1 are data,
+ * while 2,3,4 or 5, are for in-line header (roout.auxHeader)
+ * only -- see the Rinex or RinexObsData documentation)
+ * >1 write BOTH header data (in roout.auxHeader), first setting
+ * roout.epochFlag = the return value), AND the obs data
+ * in roout, using the original value of roout.epochFlag
+ */
+ virtual int BeforeWritingObs(RinexObsData& roout) { return 0; }
+
+ /// member access of the decimation time interval.
+ double Decimation(void) { return Decimate; }
+ /// member access of the time comparison tolerance.
+ double Tolerance(void) { return TimeTol; }
+ /// member access of the start time.
+ DayTime BeginTimeLimit(void) { return BegTime; }
+ /// member access of the end time.
+ DayTime EndTimeLimit(void) { return EndTime; }
+ /// member access of the input file name.
+ std::string InputFileName(void) { return InputFile; }
+ /// member access of the output file name.
+ std::string OutputFileName(void) { return OutputFile; }
+ /// member access input directory.
+ std::string InputDirectory(void) { return InputDir; }
+ /// member access output directory.
+ std::string OutputDirectory(void) { return OutputDir; }
+};
+
+//------------------------------------------------------------------------------------
+/// class TableData is used to store the information in the PRN/Obs table in the
+/// Rinex observation header.
+class TableData { // class used to store PRN/Obs table
+public:
+ /// satellite identifier.
+ RinexPrn prn;
+ /// vector of the number of observations, parallel to the obs types in the header.
+ std::vector<int> nobs;
+ /// constructor, given a satellite id and the number of observation types.
+ TableData(const RinexPrn& p, const int& n) { prn=p; nobs=std::vector<int>(n); };
+ /// operator==(), needed for find() (compares prn only).
+ inline bool operator==(const TableData& d) {return d.prn == prn;}
+};
+
+/// class define for use with sort(TableData).
+class TablePRNLessThan {
+public:
+ /// return true is d1 is less than d2 (compares prn only).
+ bool operator()(const TableData& d1, const TableData& d2)
+ { return d1.prn < d2.prn; }
+};
+
+ //@}
+
+} // end namespace gpstk
+
+//------------------------------------------------------------------------------------
+/// Pretty print the Rinex Editing command syntax, for use by the calling program.
+void DisplayRinexEditUsage(std::ostream& os);
+
+//------------------------------------------------------------------------------------
+#endif // nothing below this
diff --git a/trunk/apps/Rinextools/RinexUtilities.cpp b/trunk/apps/Rinextools/RinexUtilities.cpp
new file mode 100644
index 0000000..85377ab
--- /dev/null
+++ b/trunk/apps/Rinextools/RinexUtilities.cpp
@@ -0,0 +1,237 @@
+//------------------------------------------------------------------------------------
+// RinexUtilities.cpp Several miscellaneous utilities for use with Rinex data.
+// RinexUtilities is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexUtilities.cpp#4 $"
+
+/**
+ * @file RinexUtilities.cpp
+ * Miscellaneous utilities for use with Rinex data.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexObsHeader.hpp"
+
+#include "RinexUtilities.hpp"
+
+#include <iostream>
+
+using namespace std;
+using namespace gpstk;
+
+//------------------------------------------------------------------------------
+int RegisterARLUTExtendedTypes(void)
+{
+ unsigned int EPPS = //0x60
+ RinexObsHeader::RinexObsType::EPdepend | RinexObsHeader::RinexObsType::PSdepend;
+ unsigned int L1L2 = //0x06
+ RinexObsHeader::RinexObsType::L1depend | RinexObsHeader::RinexObsType::L2depend;
+ unsigned int P1P2 = //0x18
+ RinexObsHeader::RinexObsType::P1depend | RinexObsHeader::RinexObsType::P2depend;
+ unsigned int EPEP=RinexObsHeader::RinexObsType::EPdepend;//0x20
+ unsigned int PELL=EPPS | L1L2;//0x66
+ unsigned int PEPP=EPPS | P1P2;//0x78
+ unsigned int PsLs=L1L2 | P1P2;//0x1E
+ unsigned int L1P1 = //0x0A
+ RinexObsHeader::RinexObsType::L1depend | RinexObsHeader::RinexObsType::P1depend;
+ unsigned int L2P2 = //0x14
+ RinexObsHeader::RinexObsType::L2depend | RinexObsHeader::RinexObsType::P2depend;
+ int j;
+ j = RegisterExtendedRinexObsType("ER","Ephemeris range", "meters", EPPS);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("RI","Iono Delay, Range", "meters", P1P2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("PI","Iono Delay, Phase", "meters", L1L2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("TR","Tropospheric Delay", "meters", EPPS);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("RL","Relativity Correct.", "meters", EPEP);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("SC","SV Clock Bias", "meters", EPEP);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("EL","Elevation Angle", "degrees",EPPS);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("AZ","Azimuth Angle", "degrees",EPPS);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("SR","Slant TEC (PR)", "TECU", P1P2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("SP","Slant TEC (Ph)", "TECU", L1L2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("VR","Vertical TEC (PR)", "TECU", PEPP);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("VP","Vertical TEC (Ph)", "TECU", PELL);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("LA","Lat Iono Intercept", "degrees",EPPS);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("LO","Lon Iono Intercept", "degrees",EPPS);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("P3","TFC(IF) Pseudorange", "meters", P1P2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("L3","TFC(IF) Phase", "meters", L1L2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("P4","GeoFree Pseudorange", "meters", P1P2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("L4","GeoFree Phase", "meters", L1L2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("P5","WideLane Pseudorange","meters", P1P2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("L5","WideLane Phase", "meters", L1L2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("MP","Multipath (=M3)", "meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("M1","L1 Range minus Phase","meters", L1P1);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("M2","L2 Range minus Phase","meters", L2P2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("M3","IF Range minus Phase","meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("M4","GF Range minus Phase","meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("M5","WL Range minus Phase","meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("XR","Non-dispersive Range","meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("XI","Ionospheric delay", "meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("X1","Range Error L1", "meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("X2","Range Error L2", "meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("SX","Satellite ECEF-X", "meters", EPEP);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("SY","Satellite ECEF-Y", "meters", EPEP);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("SZ","Satellite ECEF-Z", "meters", EPEP);
+ if(j) return j;
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+bool isSP3File(const string& file)
+{
+ SP3Header header;
+ SP3Stream strm(file.c_str());
+ strm.exceptions(fstream::failbit);
+ try { strm >> header; } catch(gpstk::Exception& e) { return false; }
+ strm.close();
+ return true;
+}
+//------------------------------------------------------------------------------------
+bool isRinexNavFile(const string& file)
+{
+ RinexNavHeader header;
+ RinexNavStream rnstream(file.c_str());
+ rnstream.exceptions(fstream::failbit);
+ try { rnstream >> header; } catch(gpstk::Exception& e) { return false; }
+ rnstream.close();
+ return true;
+}
+//------------------------------------------------------------------------------------
+bool isRinexObsFile(const string& file)
+{
+ RinexObsHeader header;
+ RinexObsStream rostream(file.c_str());
+ rostream.exceptions(fstream::failbit);
+ try { rostream >> header; } catch(gpstk::Exception& e) { return false; }
+ rostream.close();
+ return true;
+}
+//------------------------------------------------------------------------------------
+int FillEphemerisStore(const vector<string>& files, SP3EphemerisStore& PE,
+ BCEphemerisStore& BCE)
+{
+try {
+ int nread=0;
+ RinexNavHeader rnh;
+ RinexNavData rne;
+ for(int i=0; i<files.size(); i++) {
+ if(files[i].empty()) throw Exception("File name is empty");
+ RinexNavStream strm(files[i].c_str());
+ if(!strm) throw Exception("Could not open file " + files[i]);
+ strm.close();
+ if(isRinexNavFile(files[i])) {
+ RinexNavStream RNFileIn(files[i].c_str());
+ RNFileIn.exceptions(fstream::failbit);
+ try {
+ RNFileIn >> rnh;
+ //if(Verbose) {
+ // logof << "Input Rinex Nav file header\n";
+ // rnh.dump(logof);
+ //}
+ while (RNFileIn >> rne)
+ {
+ if(rne.health == 0)
+ BCE.addEphemeris(rne);
+ }
+ nread++;
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "Caught Exception while reading Rinex Nav file " << files[i]
+ << " :\n" << e << endl;
+ continue;
+ }
+ }
+ else if(isSP3File(files[i])) {
+ try {
+ PE.loadFile(files[i]);
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "Caught Exception while reading SP3 Nav file " << files[i]
+ << " :\n" << e << endl;
+ continue;
+ }
+ nread++;
+ }
+ else throw Exception("File " + files[i] + " is neither BCE nor PE file.");
+ }
+ return nread;
+}
+catch(gpstk::Exception& e) {
+ cerr << "RinexUtilities:FillEphemerisStore caught an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "RinexUtilities:FillEphemerisStore caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/Rinextools/RinexUtilities.hpp b/trunk/apps/Rinextools/RinexUtilities.hpp
new file mode 100644
index 0000000..de9d79a
--- /dev/null
+++ b/trunk/apps/Rinextools/RinexUtilities.hpp
@@ -0,0 +1,90 @@
+//------------------------------------------------------------------------------------
+// RinexUtilities.hpp Several miscellaneous utilities for use with Rinex data.
+// RinexUtilities is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexUtilities.hpp#3 $"
+
+/**
+ * @file RinexUtilities.hpp
+ * Miscellaneous utilities for use with Rinex data.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef GPSTK_RINEX_UTILITIES_INCLUDE
+#define GPSTK_RINEX_UTILITIES_INCLUDE
+
+//------------------------------------------------------------------------------------
+#include "BCEphemerisStore.hpp"
+#include "SP3EphemerisStore.hpp"
+#include "Xvt.hpp"
+
+#include <string>
+#include <vector>
+
+//------------------------------------------------------------------------------------
+/** @defgroup rinexutils Rinex Utilities */
+//@{
+ /** Register commonly used extended Rinex observation types.
+ * @return 0 ok, or the return value of RegisterExtendedRinexObsType().
+ */
+int RegisterARLUTExtendedTypes(void);
+
+ /** Determine if the given file is an SP3 format file.
+ * @param file the filename
+ * @return true if the file is SP3 format.
+ */
+bool isSP3File(const std::string& file);
+
+ /** Determine if the given file is a Rinex navigation file.
+ * @param file the filename
+ * @return true if the file is a Rinex navigation file.
+ */
+bool isRinexNavFile(const std::string& file);
+
+ /** Determine if the given file is a Rinex observation file.
+ * @param file the filename
+ * @return true if the file is a Rinex observation file.
+ */
+bool isRinexObsFile(const std::string& file);
+
+ /** Open the files and add to the appropriate EphemerisStore.
+ * @param files vector of the filenames.
+ * @param PE an SP3EphemerisStore into which to put SP3 ephemeris data.
+ * @param BCE a BCEphemerisStore into which to put broadcast
+ * (Rinex Nav) ephemeris data.
+ * @return the number of files successfully read.
+ * Throws on errors.
+ */
+int FillEphemerisStore(const std::vector<std::string>& files,
+ gpstk::SP3EphemerisStore& PE,
+ gpstk::BCEphemerisStore& BCE);
+
+//@}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+#endif
diff --git a/trunk/apps/Rinextools/toolslib.a b/trunk/apps/Rinextools/toolslib.a
new file mode 100644
index 0000000..9b4f2db
Binary files /dev/null and b/trunk/apps/Rinextools/toolslib.a differ
diff --git a/trunk/apps/bindings/DayTime.i b/trunk/apps/bindings/DayTime.i
new file mode 100644
index 0000000..c1f53f2
--- /dev/null
+++ b/trunk/apps/bindings/DayTime.i
@@ -0,0 +1,283 @@
+%module DayTime
+%{
+/* Includes the header in the wrapper code */
+#include "../../src/DayTime.hpp"
+%}
+
+%rename(DayTime_printString) DayTime::printf(const char *fmt) const;
+
+class DayTime {
+
+public:
+ enum TimeFrame
+ {
+ Unknown, /**< unknown time frame */
+ UTC, /**< Coordinated Universal Time (e.g., from NTP) */
+ LocalSystem,/**< time from a local system clock */
+ GPS_Tx, /**< GPS transmit Time (paper clock) (e.g., 15 smooth) */
+ GPS_Rx, /**< GPS receive time (paper clock) */
+ // (e.g., rx data if clock bias is applied)
+ GPS_SV, /**< SV time frame (e.g., 211 1.5s/6packs) */
+ GPS_Receiver/**< Receiver time (e.g., 30s, raw 1.5s) */
+ };
+
+ // ----------- Part 1: constants --------------
+
+ static const long FACTOR;
+ static const double JD_TO_MJD;
+ static const long MJD_JDAY;
+ static const long GPS_EPOCH_JDAY;
+ static const long GPS_EPOCH_MJD;
+ static const long UNIX_MJD;
+ static const long HALFWEEK;
+ static const long FULLWEEK;
+ static const long SEC_DAY;
+ static const long MS_PER_DAY;
+ static const double ONE_NSEC_TOLERANCE;
+ static const double ONE_USEC_TOLERANCE;
+ static const double ONE_MSEC_TOLERANCE;
+ static const double ONE_SEC_TOLERANCE;
+ static const double ONE_MIN_TOLERANCE;
+ static const double ONE_HOUR_TOLERANCE;
+ static double DAYTIME_TOLERANCE;
+
+
+ static const long BEGIN_LIMIT_JDAY;
+ static const long END_LIMIT_JDAY;
+
+ static const DayTime BEGINNING_OF_TIME;
+ static const DayTime END_OF_TIME;
+
+ static bool DAYTIME_TEST_VALID;
+
+ // ----------- Part 2: member functions: tolerance ------------
+ static double setDayTimeTolerance(const double tol)
+ throw();
+ static double getDayTimeTolerance()
+ throw();
+
+ DayTime& setTolerance(const double tol) throw();
+
+ // --------- Part 3: member functions: constructors ---------
+ DayTime();
+
+ DayTime(short GPSWeek,
+ double GPSSecond,
+ TimeFrame f = Unknown);
+
+ DayTime(unsigned long fullZcount,
+ TimeFrame f = Unknown);
+
+ DayTime(short year,
+ short month,
+ short day,
+ short hour,
+ short minute,
+ double second,
+ TimeFrame f = Unknown);
+
+ DayTime(double MJD,
+ TimeFrame f = Unknown);
+
+ DayTime(short year,
+ short doy,
+ double sod,
+ TimeFrame f = Unknown);
+
+ // --------- Part 4: member functions: assignment and copy ----------
+
+ DayTime(const DayTime &right);
+
+ DayTime& operator=(const DayTime& right);
+
+ // ------------- Part 5: member functions: arithmetic ----------------
+
+ double operator-(const DayTime& right) const;
+
+ DayTime operator+(double sec) const;
+
+ DayTime operator-(double sec) const;
+
+ DayTime& addSeconds(double seconds);
+
+ DayTime& addSeconds(long seconds);
+
+ DayTime& addMilliSeconds(long msec);
+
+ DayTime& addMicroSeconds(long usec);
+
+ // ----------- Part 6: member functions: comparisons ------------
+
+ bool operator==(const DayTime &right) const;
+
+ bool operator!=(const DayTime &right) const;
+
+ bool operator<(const DayTime &right) const;
+
+ bool operator>(const DayTime &right) const;
+
+ bool operator<=(const DayTime &right) const;
+
+ bool operator>=(const DayTime &right) const;
+
+
+ // ----------- Part 7: member functions: time frame ------------
+
+ DayTime& setAllButTimeFrame(const DayTime& right);
+
+ DayTime& setTimeFrame(TimeFrame f);
+
+ TimeFrame getTimeFrame() const;
+
+ // ----------- Part 8: member functions: get --------------
+
+ double JD() const
+ throw();
+
+ double MJD() const
+ throw();
+
+ short year() const
+ throw();
+
+ short month() const;
+
+ short day() const;
+
+ /// Get day of week
+ short dayOfWeek() const;
+
+ /// Get year, month and day of month
+ void getYMD(int& yy, int& mm, int& dd) const;
+
+ short hour() const;
+ short minute() const;
+ double second() const;
+ double secOfDay() const;
+ short GPS10bitweek() const;
+ long GPSzcount() const;
+ long GPSzcountFloor() const;
+ double GPSsecond() const;
+ double GPSsow() const;
+ short GPSday() const;
+ short GPSfullweek() const;
+ short GPSyear() const;
+ short DOYyear() const;
+ short DOY() const;
+ double DOYsecond() const;
+ double MJDdate() const;
+ long double getMJDasLongDouble() const;
+ struct timeval unixTime() const;
+ unsigned long fullZcount() const;
+ unsigned long fullZcountFloor() const;
+
+ // ----------- Part 9: member functions: set ------------
+
+ DayTime& setYMDHMS(short year,
+ short month,
+ short day,
+ short hour,
+ short min,
+ double sec,
+ TimeFrame f = Unknown);
+
+ DayTime& setGPS(short week,
+ double sow,
+ TimeFrame f = Unknown);
+
+ DayTime& setGPS(short week,
+ long zcount,
+ TimeFrame f = Unknown);
+
+ DayTime& setGPS(short week,
+ double sow,
+ short year,
+ TimeFrame f = Unknown);
+
+ DayTime& setGPS(unsigned long Zcount,
+ TimeFrame f = Unknown);
+
+ DayTime& setGPSfullweek(short fullweek,
+ double sow,
+ TimeFrame f = Unknown);
+
+ DayTime& setGPSZcount(const GPSZcount& z,
+ TimeFrame f = Unknown);
+
+ DayTime& setYDoySod(short year,
+ short day_of_year,
+ double sec_of_day,
+ TimeFrame f = Unknown);
+
+ DayTime& setMJD(long double mjd,
+ TimeFrame f = Unknown);
+
+ DayTime& setMJDdate(long double mjd,
+ TimeFrame f = Unknown);
+
+ DayTime& setMJD(double mjd,
+ TimeFrame f = Unknown);
+
+ DayTime& setMJDdate(double mjd,
+ TimeFrame f = Unknown);
+
+ DayTime& setUnix(const struct timeval& t,
+ TimeFrame f = Unknown);
+
+ DayTime& setANSI(const time_t& t,
+ TimeFrame f = Unknown);
+
+ DayTime& setSystemTime();
+
+ DayTime& setLocalTime();
+
+ DayTime& setYMD(int yy,
+ int mm,
+ int dd,
+ TimeFrame f = Unknown);
+
+ DayTime& setHMS(int hh,
+ int mm,
+ double sec,
+ TimeFrame f = Unknown);
+
+ DayTime& setSecOfDay(double sod,
+ TimeFrame f = Unknown);
+
+ DayTime& setYDoy(int yy,
+ int doy,
+ TimeFrame f = Unknown);
+
+ DayTime& setToString(const std::string& str,
+ const std::string& fmt);
+
+ std::string printf(const char *fmt) const;
+
+ std::string printf(const std::string& fmt) const;
+
+ std::string asString() const;
+
+ void dump(std::ostream& s) const;
+
+ // ----------- Part 11: functions: fundamental conversions ----------
+
+ static void convertJDtoCalendar(long jd,
+ int& iyear,
+ int& imonth,
+ int& iday);
+
+ static long convertCalendarToJD(int iyear,
+ int imonth,
+ int iday);
+
+ static void convertSODtoTime(double sod,
+ int& hh,
+ int& mm,
+ double& sec);
+
+ static double convertTimeToSOD(int hh,
+ int mm,
+ double sec);
+};
+
+%rename(DayTime_printf) DayTime::printf;
\ No newline at end of file
diff --git a/trunk/apps/bindings/Exception.i b/trunk/apps/bindings/Exception.i
new file mode 100644
index 0000000..2cab1fb
--- /dev/null
+++ b/trunk/apps/bindings/Exception.i
@@ -0,0 +1,16 @@
+%module Exception
+
+%{
+/* Includes the header in the wrapper code */
+#include "../../src/Exception.hpp"
+%}
+
+%include "../../src/Exception.hpp"
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/FFTextStream.i b/trunk/apps/bindings/FFTextStream.i
new file mode 100644
index 0000000..543fa5a
--- /dev/null
+++ b/trunk/apps/bindings/FFTextStream.i
@@ -0,0 +1,17 @@
+%module FFTextStream
+
+%{
+/* Includes the header in the wrapper code */
+#include "../../src/FFTextStream.hpp"
+%}
+
+%include "../../src/FFTextStream.hpp"
+
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/GPSZcount.i b/trunk/apps/bindings/GPSZcount.i
new file mode 100644
index 0000000..3e39140
--- /dev/null
+++ b/trunk/apps/bindings/GPSZcount.i
@@ -0,0 +1,17 @@
+%module GPSZcount
+%{
+/* Includes the header in the wrapper code */
+#include "../../src/GPSZcount.hpp"
+%}
+
+%include "../../src/GPSZcount.hpp"
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/README b/trunk/apps/bindings/README
new file mode 100644
index 0000000..ebb8198
--- /dev/null
+++ b/trunk/apps/bindings/README
@@ -0,0 +1,67 @@
+GPSTk Bindings
+--------------
+
+Ben Harris
+Applied Research Laboratories,
+The University of Texas at Austin
+January 2005
+
+
+This application provides GPSTk functionality to other languages.
+These interfaces, referred to as bindings, are in an alpha stage.
+Only the most minimal capablity is available (the DayTime class).
+The code is provided should the user community wish to experiment with this
+interface as well.
+
+There are three subdirectory with working bindings for the indicated
+programing language:
+
+ - tcl
+ - python
+ - octave
+
+The remainder--java and perl--are not functional.
+
+Each contains bindings for the named language. The bindings are
+built using the Makefile in each directory. Depending on your
+installation, the Makefile will likely have to hand edited to match your
+system's setup. For example, to build Tcl/Tk bindings, you have to
+know where tk.h is installed on the system and provide that as an include
+directory for g++.
+
+The Tcl and Python ports are based on the open source SWIG utility.
+What is SWIG? To quote the website (http://www.swig.org/Doc1.3/Preface.html#Preface)
+
+
+ "SWIG (Simplified Wrapper and Interface Generator) is a software
+ development tool for building scripting language interfaces to C and C++
+ programs. Originally developed in 1995, SWIG was first used by scientists
+ in the Theoretical Physics Division at Los Alamos National Laboratory for
+ building user interfaces to simulation codes running on the Connection
+ Machine 5 supercomputer. In this environment, scientists needed to work
+ with huge amounts of simulation data, complex hardware, and a constantly
+ changing code base. The use of a scripting language interface provided a
+ simple yet highly flexible foundation for solving these types of
+ problems. SWIG simplifies development by largely automating the task of
+ scripting language integration--allowing developers and users to focus on
+ more important problems.
+
+ Although SWIG was originally developed for scientific applications, it has
+ since evolved into a general purpose tool that is used in a wide variety of
+ applications--in fact almost anything where C/C++ programming is involved."
+
+
+Thanks to Bryce Deary of ARINC for the suggestion to use SWIG to provide
+the interface to the GPSTk. He proposed the idea at a conference, the 2004
+ION GNSS meeting in Long Beach.
+
+The Octave port is based only on Octave's development utility mkoctfile. This
+may be replaced in the near term with an SWIG-like tool used by VTK
+(the Visualization Toolkit). The utility called Octaviz is created in this
+fashion.
+
+
+(c) University of Texas at Austin, 2005
+
+
+
diff --git a/trunk/apps/bindings/RinexObsStream.i b/trunk/apps/bindings/RinexObsStream.i
new file mode 100644
index 0000000..41e26ea
--- /dev/null
+++ b/trunk/apps/bindings/RinexObsStream.i
@@ -0,0 +1,34 @@
+%module RinexObsStream
+
+%{
+/* Includes the header in the wrapper code */
+%include "../../src/RinexObsStream.hpp"
+%}
+
+class RinexObsStream : public FFTextStream
+{
+ public:
+
+ RinexObsStream(): headerRead(false);
+
+ RinexObsStream(const char* fn, std::ios::openmode mode=std::ios::in)
+ : FFTextStream(fn, mode), headerRead(false);
+
+ virtual ~RinexObsStream() {}
+
+ virtual void open(const char* fn, std::ios::openmode mode);
+
+ bool headerRead;
+
+ RinexObsHeader header;
+ };
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/common.i b/trunk/apps/bindings/common.i
new file mode 100644
index 0000000..98cf58a
--- /dev/null
+++ b/trunk/apps/bindings/common.i
@@ -0,0 +1,49 @@
+/* Directives common to all interfaces. */
+
+/* Math operators */
+%rename(__add__) operator+;
+%rename(__sub__) operator-;
+%rename(__mul__) operator*;
+%rename(operator_assignment) operator=;
+
+/* Logical operators */
+%rename(operator_equal_to) operator==;
+%rename(operator_not_equal_to) operator!=;
+%rename(operator_less_than) operator<;
+%rename(operator_greater_than) operator>;
+%rename(operator_less_than_equal_to) operator <=;
+%rename(operator_greater_than_equal_to) operator >=;
+
+/* Stream operators */
+%rename(istream) operator<<;
+%rename(ostream) operator>>;
+
+/* Increment/decrement operators */
+%ignore operator++;
+%ignore operator--;
+%ignore operator+=;
+%ignore operator-=;
+
+/* stdio support */
+%include "cstring.i"
+
+/* Standadard ANSI C++ library support (e.g., STL) support */
+%rename(std_string) std::string;
+%include "std_common.i"
+%include "std_map.i"
+%include "std_pair.i"
+%include "std_string.i"
+%include "std_vector.i"
+
+
+
+namespace std {
+ %template(vectori) vector<int>;
+ %template(vectord) vector<double>;
+};
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/gpstk.i b/trunk/apps/bindings/gpstk.i
new file mode 100644
index 0000000..4a43f38
--- /dev/null
+++ b/trunk/apps/bindings/gpstk.i
@@ -0,0 +1,15 @@
+%module gpstk
+
+%import common.i
+
+%include Exception.i
+%include GPSZcount.i
+%include DayTime.i
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/java/Makefile b/trunk/apps/bindings/java/Makefile
new file mode 100644
index 0000000..675fd67
--- /dev/null
+++ b/trunk/apps/bindings/java/Makefile
@@ -0,0 +1,51 @@
+#
+# $Id: //depot/sgl/gpstk/dev/apps/bindings/java/Makefile#1 $
+#
+# This simple makefile builds a Java interface to the GPSTk from code
+# generated the SWIG utility (http://www.swig.org/).
+#
+#
+# What you do need:
+# - A C/C++ compiler.
+# - Development kit for Java
+# - The sed utility
+# - the swig utility
+#
+# Not all GPSTk functionality is present in these bindings.
+# Two reasons: First, this is a work in progress and should be considered
+# incomplete. Second, not all of the GPSTk's functionality _can_ be mapped
+# into other languages such as Java.
+#
+# Examples of usage of this interface are in the examples subdirectory.
+#
+# Reminder for later: $@ is target, $< is rhs, $^ is rhs
+
+all : libgpstk.so
+
+gpstk_wrap.cxx: ../gpstk.i ../common.i ../Exception.i ../GPSZcount.i \
+ ../DayTime.i
+ swig -java -c++ -noexcept -I.. gpstk.i
+
+gpstk_wrap_mod.cxx: gpstk_wrap.cxx
+ sed 's/DayTime.hpp\"/DayTime.hpp\"\nusing namespace gpstk;/' gpstk_wrap.cxx > gpstk_wrap_mod.cxx
+
+gpstk_wrap_mod.o: gpstk_wrap_mod.cxx
+ g++ -fPIC -c gpstk_wrap_mod.cxx -I.. \
+ -I/usr/local/jdk1.5.0_01/include \
+ -I/usr/local/jdk1.5.0_01/include/linux
+
+libgpstk.so: gpstk_wrap_mod.o
+ g++ -shared gpstk_wrap_mod.o -o libgpstk.so -lgpstk
+
+clean:
+ rm *.class
+ rm *.java
+ rm *_wrap*
+ rm *gpstk*.so
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/java/examples/example1.java b/trunk/apps/bindings/java/examples/example1.java
new file mode 100644
index 0000000..7af2ee5
--- /dev/null
+++ b/trunk/apps/bindings/java/examples/example1.java
@@ -0,0 +1,11 @@
+class example1 {
+ public static void main(String argv[]) {
+
+ System.loadLibrary("gpstk");
+
+ DayTime dt = new DayTime();
+ System.out.println("Hello wierdos");
+ System.out.println(dt.JD());
+
+ }
+}
diff --git a/trunk/apps/bindings/octave/Makefile b/trunk/apps/bindings/octave/Makefile
new file mode 100644
index 0000000..533a353
--- /dev/null
+++ b/trunk/apps/bindings/octave/Makefile
@@ -0,0 +1,29 @@
+#
+# $Id: //depot/sgl/gpstk/dev/apps/bindings/octave/Makefile#1 $
+#
+# To use these routines the GPSTk shared library either needs to be
+# installed as a system shared library, or the environment variable
+# LD_LIBRARY_PATH needs to set to the directory where the shared
+# library file resides
+#
+
+all : readRinexObsFast.oct readRinexObsGeom.oct \
+ calculatePosition.oct
+
+readRinexObsFast.oct: readRinexObsFast.cpp
+ $(make_oct)
+
+readRinexObsGeom.oct: readRinexObsGeom.cpp
+ $(make_oct)
+
+calculatePosition.oct: calculatePosition.cpp
+ $(make_oct)
+
+define make_oct
+ @echo "making oct file: $@"
+ @echo "mkoctfile $(CXXFLAGS) -o $@ $^ $(LDLIBS)"
+ mkoctfile -I../src -L../src -lgpstk -o $@ $^ $(LDLIBS)
+ chmod 755 $@
+ for file in $^ ; do $(RM) $$file.o ; done
+endef
+
diff --git a/trunk/apps/bindings/octave/calculatePosition.cpp b/trunk/apps/bindings/octave/calculatePosition.cpp
new file mode 100644
index 0000000..5063161
--- /dev/null
+++ b/trunk/apps/bindings/octave/calculatePosition.cpp
@@ -0,0 +1,203 @@
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <string>
+#include <vector>
+
+#include <octave/oct.h>
+#include "oct-map.h"
+
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+#include "RinexNavBase.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavStream.hpp"
+#include "TropModel.hpp"
+#include "BCEphemerisStore.hpp"
+#include "RAIMSolution.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+DEFUN_DLD (calculatePosition, args, , "\n[pvt, editedObs]=calculatePosition(obsfile, navfile)\n\n\tReads named RINEX obs, nav files and returns a list of position\n\tsolutions and edited observations.\n")
+{
+ using ::Matrix;
+ Matrix pvtMatrix, editedMatrix;
+ int numObsTypes=-1, numPrns;
+ long nepochs = 0;
+
+ BCEphemerisStore bcestore;
+ RAIMSolution raimSolver;
+
+ //raimSolver.Solution(0)=3.9817800e+06;
+ //aimSolver.Solution(1)=-8.9237618e+04;
+ //raimSolver.Solution(2)=4.9652914e+06;
+
+
+ ZeroTropModel tropModel;
+
+ if (args.length() != 2)
+ {
+ print_usage("calculatePosition");
+
+ octave_value_list retval;
+ retval(0) = octave_value( Matrix());
+ retval(1) = octave_value( Matrix());
+ return retval;
+ }
+
+ try
+ {
+ // Read nav file and build unique list of ephemeredes
+ RinexNavStream rnffs(args(1).string_value().data());
+ RinexNavHeader rnh;
+ RinexNavData rne;
+
+ rnffs >> rnh;
+
+ while (rnffs >> rne)
+ {
+ bcestore.addEphemeris(rne);
+ }
+
+ string obsfilename=args(0).string_value();
+
+ RinexObsStream roffs(obsfilename.data());
+ roffs.exceptions(ios::failbit);
+ RinexObsHeader roh;
+ RinexObsData rod;
+
+ roffs >> roh;
+
+ long nepochs = 0;
+
+ // Scan through file the first time to get a count of epochs
+ while (roffs >> rod)
+ {
+ // Apply any editing criteria.
+ if (rod.epochFlag == 0 || rod.epochFlag == 1)
+ nepochs++;
+ }
+
+ pvtMatrix.resize(nepochs,3,0); // Will have to resize _again_ after solutions.
+
+ // Second scan
+ RinexObsStream roffs2(obsfilename.data());
+ roffs2.exceptions(ios::failbit);
+ int currentRec = 0;
+ roffs2 >> roh;
+
+ while (roffs2>>rod) // Loop through each epoch
+ {
+ // Apply editing criteria (again)
+ if (rod.epochFlag == 0 || rod.epochFlag == 1) // Begin usable data
+ {
+ vector<RinexPrn> prnVec;
+ vector<double> rangeVec;
+
+ RinexObsData::RinexPrnMap::const_iterator it;
+ for (it = rod.obs.begin(); it!= rod.obs.end(); it++)
+ {
+ RinexObsData::RinexObsTypeMap otmap;
+ RinexObsData::RinexObsTypeMap::const_iterator mit;
+ RinexObsData::RinexDatum meas;
+ otmap = (*it).second;
+ mit = otmap.find(RinexObsHeader::P1);
+
+ if (mit!=otmap.end())
+ {
+ prnVec.push_back((*it).first);
+ rangeVec.push_back((*mit).second.data);
+ }
+
+ }
+ bcestore.dump();
+ raimSolver.RMSLimit = 3e6;
+ cout << raimSolver.Compute(rod.time,prnVec,rangeVec, bcestore, \
+ &tropModel);
+ cout << raimSolver.RMSResidual;
+
+ if (raimSolver.isValid())
+ {
+ pvtMatrix(nepochs,0)=raimSolver.Solution[0];
+ pvtMatrix(nepochs,1)=raimSolver.Solution[1];
+ pvtMatrix(nepochs,2)=raimSolver.Solution[2];
+ cout << raimSolver.Solution[0] << "," ;
+ cout << raimSolver.Solution[0] << "," ;
+ cout << raimSolver.Solution[0] << endl ;
+
+ nepochs++;
+ } else cout << "Not valid!";
+
+ } // End usable data
+
+ } // End loop through each epoch
+
+
+ // exit(0);
+ }
+ catch(FFStreamError& e)
+ {
+ }
+ catch(Exception& e)
+ {
+ }
+ catch (...)
+ {
+ }
+
+ //pvtMatrix.resize(nepochs-1,3,0); // Will have to resize _again_ after solutions.
+
+ octave_value_list retval;
+ retval(0) = octave_value( pvtMatrix);
+ retval(1) = octave_value( editedMatrix);
+
+ return retval;
+}
+
+
+
+
+
diff --git a/trunk/apps/bindings/octave/readRinexObsFast.cpp b/trunk/apps/bindings/octave/readRinexObsFast.cpp
new file mode 100644
index 0000000..1570858
--- /dev/null
+++ b/trunk/apps/bindings/octave/readRinexObsFast.cpp
@@ -0,0 +1,332 @@
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <string>
+
+#include <octave/oct.h>
+#include "oct-map.h"
+
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+using namespace std;
+
+DEFUN_DLD (readRinexObsFast, args, , "Reads RINEX obs file and returns it as a matrix.")
+{
+ Matrix obsMatrix;
+ int numObsTypes=-1, numPrns;
+
+ Octave_map headerStruct;
+
+ if (args.length() != 1)
+ {
+ print_usage("readRinexObsFast");
+ return octave_value(headerStruct); //
+ }
+
+ try
+ {
+ std::string obsfilename=args(0).string_value();
+
+ gpstk::RinexObsStream roffs(obsfilename.data());
+ roffs.exceptions(ios::failbit);
+ gpstk::RinexObsHeader roh;
+ gpstk::RinexObsData rod;
+
+ roffs >> roh;
+
+ if (roh.isValid())
+ {
+ if (roh.valid & gpstk::RinexObsHeader::versionValid)
+ headerStruct["rinex_version_type"](0) = (roh.version);
+
+ if (roh.valid & gpstk::RinexObsHeader::runByValid)
+ {
+ headerStruct["pgm"](0) = roh.fileProgram;
+ headerStruct["run_by"](0) = roh.fileAgency;
+ headerStruct["date"](0) = roh.date;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::markerNameValid)
+ {
+ headerStruct["marker_name"](0) = roh.markerName;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::markerNumberValid)
+ {
+ headerStruct["marker_number"](0) = roh.markerNumber;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::commentValid)
+ {
+ vector<string>::iterator i;
+ i = roh.commentList.begin();
+ int n = 0;
+ for (;
+ i!=roh.commentList.end();
+ i++,n++)
+ headerStruct["comment"](n) = *i;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::observerValid)
+ headerStruct["observer"](0) = roh.observer;
+
+ if (roh.valid & gpstk::RinexObsHeader::receiverValid)
+ {
+ headerStruct["receiver_number" ](0) = roh.recNo;
+ headerStruct["receiver_type" ](0) = roh.recType;
+ headerStruct["receiver_version"](0) = roh.recVers;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::antennaTypeValid)
+ {
+ headerStruct["antenna_number"](0) = roh.antNo;
+ headerStruct["antenna_type" ](0) = roh.antType;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::antennaPositionValid)
+ {
+ ColumnVector aPos(3);
+ aPos(0) = roh.antennaPosition[0];
+ aPos(1) = roh.antennaPosition[1];
+ aPos(2) = roh.antennaPosition[2];
+ headerStruct["antenna_position"](0) = aPos;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::antennaOffsetValid)
+ {
+ ColumnVector aOff(3);
+ aOff(0) = roh.antennaOffset[0];
+ aOff(1) = roh.antennaOffset[1];
+ aOff(2) = roh.antennaOffset[2];
+ headerStruct["antenna_offset"](0) = aOff;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::waveFactValid)
+ {
+ ColumnVector waveFact(2);
+ waveFact(0) = static_cast<short> (roh.wavelengthFactor[0]);
+ waveFact(1) = static_cast<short> (roh.wavelengthFactor[1]);
+ headerStruct["wavelength_factor"](0) = waveFact;
+ }
+
+ // The extraWaveFactList code is untested for lack of
+ // real datafiles (externally generated) to test it.
+ // This generates a single matrix with all wave factor info
+ // in it.
+ // Column, Contents
+ // 1 PRN
+ // 2 System number
+ // 3 L1 wave factor
+ // 4 L2 wave factor
+ if (!roh.extraWaveFactList.empty())
+ {
+ Matrix waveFactors(0,0);
+ int nprnsTot = 0;
+ vector<gpstk::RinexObsHeader::ExtraWaveFact>::iterator i;
+ for (i=roh.extraWaveFactList.begin();
+ i!=roh.extraWaveFactList.end();
+ i++)
+ {
+ int nprns = (*i).prnList.size();
+ waveFactors.resize(nprnsTot+nprns, 4);
+ for (int j=0; j<nprns; j++)
+ {
+ waveFactors(nprnsTot+j,0) = (*i).prnList[j].prn;
+ waveFactors(nprnsTot+j,1) = (*i).prnList[j].system;
+ waveFactors(nprnsTot+j,2) = (*i).wavelengthFactor[0];
+ waveFactors(nprnsTot+j,3) = (*i).wavelengthFactor[1];
+ }
+ nprnsTot += nprns;
+ }
+
+ headerStruct["wave_factors_by_prn"](0) = waveFactors;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::obsTypeValid)
+ {
+ std::string obsList;
+ for (int i=0; i<roh.obsTypeList.size(); i++)
+ {
+ obsList += roh.obsTypeList[i].type + string(" ");
+ }
+ headerStruct["obs_types"](0)=obsList;
+
+ numObsTypes = roh.obsTypeList.size();
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::intervalValid)
+ {
+ headerStruct["interval"](0) = static_cast<double> (roh.interval);
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::firstTimeValid)
+ {
+ ColumnVector firstTime(3);
+ firstTime(0)=static_cast<short> (roh.firstObs.DOYyear());
+ firstTime(1)=static_cast<short> (roh.firstObs.DOYday());
+ firstTime(2)=static_cast<double> (roh.firstObs.DOYsecond());
+ headerStruct["time_of_first_obs"](0) = firstTime;
+ }
+
+ // Untested.
+ if (roh.valid & gpstk::RinexObsHeader::lastTimeValid)
+ {
+ ColumnVector lastTime(3);
+ lastTime(0)=static_cast<short> (roh.lastObs.DOYyear());
+ lastTime(1)=static_cast<short> (roh.lastObs.DOYday());
+ lastTime(2)=static_cast<double> (roh.lastObs.DOYsecond());
+ headerStruct["time_of_last_obs"](0) = lastTime;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::receiverOffsetValid)
+ {
+ headerStruct["receiver_offset"](0)=static_cast<int> (roh.receiverOffset);
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::leapSecondsValid)
+ {
+ headerStruct["leap_seconds"](0)=static_cast<int> (roh.leapSeconds); }
+
+ if (roh.valid & gpstk::RinexObsHeader::numSatsValid)
+ {
+ headerStruct["numSVs"](0)=static_cast<short> (roh.numSVs);
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::prnObsValid)
+ {
+ Matrix prnObs(roh.numObsForPrn.size(),numObsTypes+2);
+ map<gpstk::RinexPrn::RinexPrn, vector<int> >::iterator i;
+ int row=0;
+ for (i=roh.numObsForPrn.begin(),row=0;
+ i!=roh.numObsForPrn.end();
+ i++,row++)
+ {
+ prnObs(row,0) = (*i).first.prn;
+ prnObs(row,1) = (*i).first.system;
+ if (numObsTypes==-1)
+ numObsTypes = (*i).second.size();
+ for (int j=0;j<numObsTypes;j++)
+ prnObs(row,j+2)=(*i).second[j];
+ }
+ headerStruct["num_of_obs_for_prn"](0)=prnObs;
+ }
+
+ }
+
+ long nrecs = 0;
+
+ // First scan, just to get the total number of records (prn-epochs)
+ while (roffs >> rod)
+ {
+ // Apply any editing criteria.
+ if (rod.epochFlag == 0 || rod.epochFlag == 1)
+ nrecs = nrecs + rod.numSvs;
+ }
+
+ obsMatrix.resize(nrecs,numObsTypes+4,0);
+ // Second scan
+ gpstk::RinexObsStream roffs2(obsfilename.data());
+ roffs2.exceptions(ios::failbit);
+ int currentRec = 0;
+ roffs2 >> roh;
+
+ while (roffs2>>rod) // Loop through each epoch
+ {
+ // Apply editing criteria (again)
+ if (rod.epochFlag == 0 || rod.epochFlag == 1) // Begin usable data
+ {
+ short year = rod.time.DOYyear();
+ short doy = rod.time.DOYday();
+ double sod = rod.time.DOYsecond();
+
+ gpstk::RinexObsData::RinexPrnMap::iterator it;
+ for (it=rod.obs.begin(); it!=rod.obs.end(); it++) // PRN loop
+ {
+ obsMatrix(currentRec,0)=year;
+ obsMatrix(currentRec,1)=doy;
+ obsMatrix(currentRec,2)=sod;
+ obsMatrix(currentRec,3)=it->first.prn;
+ // What to do with system information? sigh...a new matrix?
+
+ gpstk::RinexObsData::RinexObsTypeMap::iterator jt;
+
+ int column = 4; // First column of observations
+
+ for (jt = it->second.begin();
+ jt != it->second.end();
+ jt++,column++) // Loop through obs types for this PRN
+ {
+ obsMatrix(currentRec,column)=jt->second.data;
+ // What can we do with lli and ssi? build a new matrix?
+ } // End loop through obs types for this PRN
+ currentRec++;
+ } // End loop PRNs for this epoch
+
+ } // End usable data
+
+ } // End loop through each epoch
+ // exit(0);
+ }
+ catch(gpstk::FFStreamError& e)
+ {
+ // cout << e;
+ // exit(1);
+ }
+ catch(gpstk::Exception& e)
+ {
+ //cout << e;
+ // exit(1);
+ }
+ catch (...)
+ {
+ //cout << "unknown error. Done." << endl;
+ // exit(1);
+ }
+
+ octave_value_list retval;
+ retval(0) = octave_value( headerStruct);
+ retval(1) = octave_value( obsMatrix);
+
+ return retval;
+}
diff --git a/trunk/apps/bindings/octave/readRinexObsGeom.cpp b/trunk/apps/bindings/octave/readRinexObsGeom.cpp
new file mode 100644
index 0000000..e95a713
--- /dev/null
+++ b/trunk/apps/bindings/octave/readRinexObsGeom.cpp
@@ -0,0 +1,397 @@
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <string>
+
+#include <octave/oct.h>
+#include "oct-map.h"
+
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexNavBase.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavStream.hpp"
+#include "BCEphemerisStore.hpp"
+
+using namespace std;
+
+DEFUN_DLD (readRinexObsGeom, args, , "\n[header, obs, azel]=readRinexObsGeom(obsfile,navfile)\n\nReads RINEX obs file and returns it as a matrix.\nAlso computes azimuth and elevation for each obs.\n")
+{
+
+ Matrix obsMatrix, azelMatrix;
+ gpstk::BCEphemerisStore bcestore;
+ int numObsTypes=-1, numPrns;
+
+ Octave_map headerStruct;
+
+ if (args.length() != 2)
+ {
+ print_usage("readRinexObsGeom");
+ octave_value_list retval;
+ retval(0) = octave_value(Matrix());
+ retval(1) = octave_value(Matrix());
+ retval(2) = octave_value(Matrix());
+
+ return retval;
+ }
+
+ try
+ {
+ // Read nav file and build unique list of ephemeredes
+ gpstk::RinexNavStream rnffs(args(1).string_value().data());
+ gpstk::RinexNavHeader rnh;
+ gpstk::RinexNavData rne;
+
+ rnffs >> rnh;
+
+ while (rnffs >> rne)
+ {
+ bcestore.addEphemeris(rne);
+ }
+
+ bcestore.SearchNear(); // This is unrealistic but necessary just
+ // to get an ephemeris almost 100% of the time
+ //bcestore.dump(1);
+
+ std::string obsfilename=args(0).string_value();
+
+ gpstk::RinexObsStream roffs(obsfilename.data());
+ roffs.exceptions(ios::failbit);
+ gpstk::RinexObsHeader roh;
+ gpstk::RinexObsData rod;
+
+ roffs >> roh;
+
+ if (roh.isValid())
+ {
+ if (roh.valid & gpstk::RinexObsHeader::versionValid)
+ headerStruct["rinex_version_type"](0) = (roh.version);
+
+ if (roh.valid & gpstk::RinexObsHeader::runByValid)
+ {
+ headerStruct["pgm"](0) = roh.fileProgram;
+ headerStruct["run_by"](0) = roh.fileAgency;
+ headerStruct["date"](0) = roh.date;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::markerNameValid)
+ {
+ headerStruct["marker_name"](0) = roh.markerName;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::markerNumberValid)
+ {
+ headerStruct["marker_number"](0) = roh.markerNumber;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::commentValid)
+ {
+ vector<string>::iterator i;
+ i = roh.commentList.begin();
+ int n = 0;
+ for (;
+ i!=roh.commentList.end();
+ i++,n++)
+ headerStruct["comment"](n) = *i;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::observerValid)
+ headerStruct["observer"](0) = roh.observer;
+
+ if (roh.valid & gpstk::RinexObsHeader::receiverValid)
+ {
+ headerStruct["receiver_number" ](0) = roh.recNo;
+ headerStruct["receiver_type" ](0) = roh.recType;
+ headerStruct["receiver_version"](0) = roh.recVers;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::antennaTypeValid)
+ {
+ headerStruct["antenna_number"](0) = roh.antNo;
+ headerStruct["antenna_type" ](0) = roh.antType;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::antennaPositionValid)
+ {
+ ColumnVector aPos(3);
+ aPos(0) = roh.antennaPosition[0];
+ aPos(1) = roh.antennaPosition[1];
+ aPos(2) = roh.antennaPosition[2];
+ headerStruct["antenna_position"](0) = aPos;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::antennaOffsetValid)
+ {
+ ColumnVector aOff(3);
+ aOff(0) = roh.antennaOffset[0];
+ aOff(1) = roh.antennaOffset[1];
+ aOff(2) = roh.antennaOffset[2];
+ headerStruct["antenna_offset"](0) = aOff;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::waveFactValid)
+ {
+ ColumnVector waveFact(2);
+ waveFact(0) = static_cast<short> (roh.wavelengthFactor[0]);
+ waveFact(1) = static_cast<short> (roh.wavelengthFactor[1]);
+ headerStruct["wavelength_factor"](0) = waveFact;
+ }
+
+ // The extraWaveFactList code is untested for lack of
+ // real datafiles (externally generated) to test it.
+ // This generates a single matrix with all wave factor info
+ // in it.
+ // Column, Contents
+ // 1 PRN
+ // 2 System number
+ // 3 L1 wave factor
+ // 4 L2 wave factor
+ if (!roh.extraWaveFactList.empty())
+ {
+ Matrix waveFactors(0,0);
+ int nprnsTot = 0;
+ vector<gpstk::RinexObsHeader::ExtraWaveFact>::iterator i;
+ for (i=roh.extraWaveFactList.begin();
+ i!=roh.extraWaveFactList.end();
+ i++)
+ {
+ int nprns = (*i).prnList.size();
+ waveFactors.resize(nprnsTot+nprns, 4);
+ for (int j=0; j<nprns; j++)
+ {
+ waveFactors(nprnsTot+j,0) = (*i).prnList[j].prn;
+ waveFactors(nprnsTot+j,1) = (*i).prnList[j].system;
+ waveFactors(nprnsTot+j,2) = (*i).wavelengthFactor[0];
+ waveFactors(nprnsTot+j,3) = (*i).wavelengthFactor[1];
+ }
+ nprnsTot += nprns;
+ }
+
+ headerStruct["wave_factors_by_prn"](0) = waveFactors;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::obsTypeValid)
+ {
+ std::string obsList;
+ for (int i=0; i<roh.obsTypeList.size(); i++)
+ {
+ obsList += roh.obsTypeList[i].type + string(" ");
+ }
+ headerStruct["obs_types"](0)=obsList;
+
+ numObsTypes = roh.obsTypeList.size();
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::intervalValid)
+ {
+ headerStruct["interval"](0) = static_cast<double> (roh.interval);
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::firstTimeValid)
+ {
+ ColumnVector firstTime(3);
+ firstTime(0)=static_cast<short> (roh.firstObs.DOYyear());
+ firstTime(1)=static_cast<short> (roh.firstObs.DOYday());
+ firstTime(2)=static_cast<double> (roh.firstObs.DOYsecond());
+ headerStruct["time_of_first_obs"](0) = firstTime;
+ }
+
+ // Untested.
+ if (roh.valid & gpstk::RinexObsHeader::lastTimeValid)
+ {
+ ColumnVector lastTime(3);
+ lastTime(0)=static_cast<short> (roh.lastObs.DOYyear());
+ lastTime(1)=static_cast<short> (roh.lastObs.DOYday());
+ lastTime(2)=static_cast<double> (roh.lastObs.DOYsecond());
+ headerStruct["time_of_last_obs"](0) = lastTime;
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::receiverOffsetValid)
+ {
+ headerStruct["receiver_offset"](0)=static_cast<int> (roh.receiverOffset);
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::leapSecondsValid)
+ {
+ headerStruct["leap_seconds"](0)=static_cast<int> (roh.leapSeconds); }
+
+ if (roh.valid & gpstk::RinexObsHeader::numSatsValid)
+ {
+ headerStruct["numSVs"](0)=static_cast<short> (roh.numSVs);
+ }
+
+ if (roh.valid & gpstk::RinexObsHeader::prnObsValid)
+ {
+ Matrix prnObs(roh.numObsForPrn.size(),numObsTypes+2);
+ map<gpstk::RinexPrn::RinexPrn, vector<int> >::iterator i;
+ int row=0;
+ for (i=roh.numObsForPrn.begin(),row=0;
+ i!=roh.numObsForPrn.end();
+ i++,row++)
+ {
+ prnObs(row,0) = (*i).first.prn;
+ prnObs(row,1) = (*i).first.system;
+ if (numObsTypes==-1)
+ numObsTypes = (*i).second.size();
+ for (int j=0;j<numObsTypes;j++)
+ prnObs(row,j+2)=(*i).second[j];
+ }
+ headerStruct["num_of_obs_for_prn"](0)=prnObs;
+ }
+
+ }
+
+ long nrecs = 0;
+
+ // First scan, just to get the total number of records (prn-epochs)
+ while (roffs >> rod)
+ {
+ // Apply any editing criteria.
+ if (rod.epochFlag == 0 || rod.epochFlag == 1)
+ nrecs = nrecs + rod.numSvs;
+ }
+
+ obsMatrix.resize(nrecs,numObsTypes+4,0);
+ azelMatrix.resize(nrecs,2); // First col is az, second is el
+
+ // Second scan
+ gpstk::RinexObsStream roffs2(obsfilename.data());
+ roffs2.exceptions(ios::failbit);
+ int currentRec = 0;
+ roffs2 >> roh;
+
+ while (roffs2>>rod) // Loop through each epoch
+ {
+ // Apply editing criteria (again)
+ if (rod.epochFlag == 0 || rod.epochFlag == 1) // Begin usable data
+ {
+ short year = rod.time.DOYyear();
+ short doy = rod.time.DOYday();
+ double sod = rod.time.DOYsecond();
+
+ short iodc;
+ gpstk::Xvt svpos;
+ short prn;
+
+ gpstk::RinexObsData::RinexPrnMap::iterator it;
+ for (it=rod.obs.begin(); it!=rod.obs.end(); it++) // PRN loop
+ {
+ obsMatrix(currentRec,0)=year;
+ obsMatrix(currentRec,1)=doy;
+ obsMatrix(currentRec,2)=sod;
+ prn = it->first.prn;
+ obsMatrix(currentRec,3)= prn;
+ // What to do with system information? sigh...a new matrix?
+
+
+ // Compute topocentric coords for this satellite
+ // i.e., azimuth and elevation
+ if (roh.valid & gpstk::RinexObsHeader::antennaPositionValid)
+ {
+ //cout << " prn " << prn << " epoch " << rod.time << endl;
+ // cout << bcestore.getInitialTime() << endl;
+ // cout << bcestore.getFinalTime() << endl;
+
+ try {
+ svpos = bcestore.getPrnXvt(prn,rod.time,iodc);
+ azelMatrix(currentRec,0)=roh.antennaPosition.azAngle(svpos.x);
+ azelMatrix(currentRec,1)=roh.antennaPosition.elvAngle(svpos.x);
+ }
+ //catch (gpstk::EphemerisStore::NoEphemerisFound& x)
+ //{
+ // cout << "No ephemeris found!" << endl;
+ //}
+ catch (...) {}
+ }
+
+ gpstk::RinexObsData::RinexObsTypeMap::iterator jt;
+
+ int column = 4; // First column of observations
+
+ for (jt = it->second.begin();
+ jt != it->second.end();
+ jt++,column++) // Loop through obs types for this PRN
+ {
+ obsMatrix(currentRec,column)=jt->second.data;
+ // What can we do with lli and ssi? build a new matrix?
+ } // End loop through obs types for this PRN
+ currentRec++;
+ } // End loop PRNs for this epoch
+
+ } // End usable data
+
+ } // End loop through each epoch
+ // exit(0);
+ }
+ catch(gpstk::FFStreamError& e)
+ {
+ // cout << e;
+ // exit(1);
+ }
+ catch(gpstk::Exception& e)
+ {
+ //cout << e;
+ // exit(1);
+ }
+ catch (...)
+ {
+ //cout << "unknown error. Done." << endl;
+ // exit(1);
+ }
+
+ octave_value_list retval;
+ retval(0) = octave_value( headerStruct);
+ retval(1) = octave_value( obsMatrix);
+ retval(2) = octave_value( azelMatrix);
+
+ return retval;
+}
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/perl/Makefile b/trunk/apps/bindings/perl/Makefile
new file mode 100644
index 0000000..db0dc21
--- /dev/null
+++ b/trunk/apps/bindings/perl/Makefile
@@ -0,0 +1,50 @@
+#
+# $Id:$
+#
+# This simple makefile builds a Perl interface to the GPSTk from code
+# generated the SWIG utility (http://www.swig.org/).
+#
+# You shouldn't need to install SWIG to compile this interface as
+# distributed, unless you change the interface definition (.i files).
+#
+# What you do need:
+# - A C/C++ compiler.
+# - Development headers of Perl
+# - Knowledge of which directory contains "perl.h", "Extern.h" and "XSUB.h"
+# - The sed utility
+#
+# Not all GPSTk functionality is present in these bindings.
+# Two reasons: First, this is a work in progress and should be considered
+# incomplete. Second, not all of the GPSTk's functionality _can_ be mapped
+# into other languages such as perl.
+#
+# Examples of usage of this interface are in the examples subdirectory.
+#
+# Reminder for later: $@ is target, $< is rhs, $^ is rhs
+
+all : gpstk-perl.so
+
+gpstk_wrap.cxx: ../gpstk.i ../common.i ../Exception.i ../GPSZcount.i \
+ ../DayTime.i ../FFTextStream.i ../RinexObsStream.i
+ swig -perl5 -c++ -I.. \
+ gpstk.i
+
+gpstk_wrap_mod.cxx: gpstk_wrap.cxx
+ sed 's/DayTime.hpp\"/DayTime.hpp\"\nusing namespace gpstk;/' gpstk_wrap.cxx > gpstk_wrap_mod.cxx
+
+gpstk_wrap_mod.o: gpstk_wrap_mod.cxx
+ g++ -fpic -c gpstk_wrap_mod.cxx -I.. -I /usr/lib/perl/5.8.4/CORE \
+ -Dbool=char `perl -e 'use Config; print $Config{ccflags}'`
+
+gpstk-perl.so: gpstk_wrap_mod.o
+ g++ -shared gpstk_wrap_mod.o -o gpstk-perl.so -lgpstk
+
+clean:
+ rm *_wrap*
+ rm *gpstk*.so
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/python/DayTimeException.i b/trunk/apps/bindings/python/DayTimeException.i
new file mode 100644
index 0000000..5772dba
--- /dev/null
+++ b/trunk/apps/bindings/python/DayTimeException.i
@@ -0,0 +1,5 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+// Two gpstk::Exception classes under DayTime
+
+NEW_EXCEPTION_CLASS(DayTimeException, gpstk::Exception);
+NEW_EXCEPTION_CLASS(FormatException, gpstk::Exception);
diff --git a/trunk/apps/bindings/python/Developer.txt b/trunk/apps/bindings/python/Developer.txt
new file mode 100644
index 0000000..1243925
--- /dev/null
+++ b/trunk/apps/bindings/python/Developer.txt
@@ -0,0 +1,45 @@
+Developer's Notes for GPSTk binding for Python through SWIG 1.3.25
+
+Supervisors
+Ben Harris, David Munton
+
+Student
+Rob Chang
+
+Date: August 1, 2005
+------------------------------------------------------------------
+
+We need the typedef's between %{ }% because SWIG does not write the class prefix (<classname>::) in front of nested objects.
+
+All operator overloads either require renaming or ignoring. See common.i.
+
+The overload for operator<< is more confusing. Some classes list operator<< as friend functions and the overloaded functions for them are in the global scope. Since the function parameters in Python are all the same (PyObjects), some operator<<'s end up with the same signature. When such ambiguity occurs, I rename the operator<< for both classes to <classname>_streamRead. Right now the pairs that conflict are:
+Exception and DayTimeExceptions
+Triple and Xvt
+
+Typecasting operators (operator GPSZcount, for example) also require renaming.
+
+Constant bracket operators require renaming.
+
+Order matters. If class B inherits from class A, then A.hpp needs to be %included or %imported before B.
+
+Some functions are declared in .hpp but never implemented in .cpp. %ignore them.
+
+Using pydoc.py doesn't always work. Sometimes it will return the following:
+make: *** [gpstkPython.html] Segmentation fault
+Just run ./pydoc.py -w gpstkPython again and it should create gpstkPython.html.
+
+In RinexObsData.hpp, there are two typedefs: RinexPrnMap and RinexObsTypeMap. I created templates for them so those two data types are available in Python. To create a map template, you must also declare a pair template of the same types. In this particular case, I had to use a BOGUS_TEMPLATE so the RinexPrnMap template will compile. I have no idea why that is. I reached that by accident.
+
+Examples 1 and 3 have try+catch blocks. But they only catch an Exception and print "Hey, exception" as opposed to the C++ version where they print specific information about the exception raised.
+
+Many operator<< are not wrapped. I don't know why. I added streamRead.i and streamRead.cpp to separately implement DayTime_streamRead for example3.
+
+----------------
+gpstkPythonUtils
+----------------
+This file holds two groups of functions that I wrote.
+
+SWIG has a std_ios.i file built-in. But it uses integer type for openmode. SWIG parser picks that up; therefore, calling ios.out in Python returns an integer value. RinexObsStream constructor insists on having a pointer to "openmode".
+
+SWIG never wrapped RinexObsStream operators << and >> because it was never explicited defined. RinexObsStream inherits from FFTextStream which inherits from FFStream which inherits from fstream. SWIG cannot wrap fstream because there's no fstream.hpp. Therefore I wrote functions to perform the fstream read/write.
diff --git a/trunk/apps/bindings/python/ExtraWaveFact.i b/trunk/apps/bindings/python/ExtraWaveFact.i
new file mode 100644
index 0000000..d4f702a
--- /dev/null
+++ b/trunk/apps/bindings/python/ExtraWaveFact.i
@@ -0,0 +1,11 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+// RinexObsHeader::ExtraWaveFact
+// Requires the following in gpstk.i:
+
+
+
+struct ExtraWaveFact
+{
+ std::vector < RinexPrn > prnList;
+ short wavelengthFactor[2];
+};
diff --git a/trunk/apps/bindings/python/Makefile b/trunk/apps/bindings/python/Makefile
new file mode 100644
index 0000000..83c9593
--- /dev/null
+++ b/trunk/apps/bindings/python/Makefile
@@ -0,0 +1,44 @@
+#
+# This simple makefile builds a Python interface to the GPSTk from code
+# generated the SWIG utility (http://www.swig.org/).
+#
+# You shouldn't need to install SWIG to compile this interface as
+# distributed, unless you change the interface definition (.i files).
+#
+# What you do need:
+# - A C/C++ compiler.
+# - Development headers of Python
+#
+# Not all GPSTk functionality is present in these bindings.
+# Two reasons: First, this is a work in progress and should be considered
+# incomplete. Second, not all of the GPSTk's functionality _can_ be mapped
+# into other languages such as Python.
+#
+# Examples of usage of this interface are in the examples subdirectory.
+#
+# Reminder for later: $@ is target, $< is rhs, $^ is rhs
+#
+# See Developer.txt for more info about how to further extend this interface.
+# Note that swig version 1.3.25 and gpstk are both required to be installed
+# for this makefile to work.
+#
+
+all : _gpstkPython.so gpstkPython.html
+
+gpstkPython_wrap.cxx: common.i ExtraWaveFact.i gpstkPythonUtils.i RinexObsType.i DayTimeException.i gpstkPython.i RinexDatum.i sensorType.i streamRead.i gpstkPythonUtils.cpp streamRead.cpp
+ swig -python -c++ -I/usr/local/lib gpstkPython.i
+
+gpstkPython_wrap.o: gpstkPython_wrap.cxx
+ g++ -c gpstkPython_wrap.cxx -I/usr/include/python2.3
+
+_gpstkPython.so: gpstkPython_wrap.o
+ g++ -shared gpstkPython_wrap.o -o _gpstkPython.so -lgpstk
+
+gpstkPython.html: _gpstkPython.so
+ ./pydoc.py -w gpstkPython
+
+clean:
+ rm gpstkPython.py*
+ rm *_wrap*
+ rm *gpstk*.so
+ rm gpstkPython.html
diff --git a/trunk/apps/bindings/python/RinexDatum.i b/trunk/apps/bindings/python/RinexDatum.i
new file mode 100644
index 0000000..c376103
--- /dev/null
+++ b/trunk/apps/bindings/python/RinexDatum.i
@@ -0,0 +1,10 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+// RinexObsData::RinexDatum wrap
+
+struct RinexDatum
+{
+ RinexDatum();
+ double data;
+ short lli;
+ short ssi;
+};
diff --git a/trunk/apps/bindings/python/RinexObsType.i b/trunk/apps/bindings/python/RinexObsType.i
new file mode 100644
index 0000000..9c4723a
--- /dev/null
+++ b/trunk/apps/bindings/python/RinexObsType.i
@@ -0,0 +1,20 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+// Wrapping RinexObsHeader::RinexObsType separately
+
+struct RinexObsType
+{
+ std::string type;
+ std::string description;
+ std::string units;
+ unsigned int depend;
+ RinexObsType();
+ RinexObsType(std::string t, std::string d, std::string u,
+ unsigned int dep=0);
+ static const unsigned int C1depend;
+ static const unsigned int L1depend;
+ static const unsigned int L2depend;
+ static const unsigned int P1depend;
+ static const unsigned int P2depend;
+ static const unsigned int EPdepend;
+ static const unsigned int PSdepend;
+};
diff --git a/trunk/apps/bindings/python/common.i b/trunk/apps/bindings/python/common.i
new file mode 100644
index 0000000..69125f8
--- /dev/null
+++ b/trunk/apps/bindings/python/common.i
@@ -0,0 +1,56 @@
+/* Directives common to all interfaces. */
+
+/* Math operators */
+%rename(__add__) operator+;
+%rename(__sub__) operator-;
+%rename(__mul__) operator*;
+%rename(operator_assignment) operator=;
+%rename(class_operator_assignment) *::operator=;
+
+/* Logical operators */
+%rename(operator_equal_to) operator==;
+%rename(operator_not_equal_to) operator!=;
+%rename(operator_less_than) operator<;
+%rename(operator_greater_than) operator>;
+%rename(operator_less_than_equal_to) operator <=;
+%rename(operator_greater_than_equal_to) operator >=;
+
+/* Stream operators */
+%rename(streamRead) operator<<;
+%rename(streamWrite) operator>>;
+
+/* Increment/decrement operators */
+%ignore operator++;
+%ignore operator--;
+%ignore operator+=;
+%ignore operator-=;
+%ignore *::operator++;
+%ignore *::operator--;
+
+/* stdio support */
+%include "cstring.i"
+
+/* indexing operator */
+%rename(operator_bracket) operator[];
+%rename(class_operator_bracket) *::operator[];
+
+/* Standadard ANSI C++ library support (e.g., STL) support */
+%rename(std_string) std::string;
+%include "std_common.i"
+%include "std_map.i"
+%include "std_pair.i"
+%include "std_string.i"
+%include "std_vector.i"
+
+
+
+namespace std {
+ %template(vectori) vector<int>;
+ %template(vectord) vector<double>;
+};
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/python/examples/example1.html b/trunk/apps/bindings/python/examples/example1.html
new file mode 100644
index 0000000..856b143
--- /dev/null
+++ b/trunk/apps/bindings/python/examples/example1.html
@@ -0,0 +1,38 @@
+<h1>Example: A Basic GPSTk Application in Python</h1>
+
+<p>This example serves as an introdcution to using the GPSTk in Python. The code associated with the example can be found in the file <em>example1.py</em>. Its purpose is to illustrate the most basic concepts required for effective use of the GPSTk.</p>
+
+<pre>
+ 1 #!/usr/bin/python
+
+ 2 from gpstkPython import *
+
+ 3 try:
+ 4 time = DayTime()
+
+ 5 print 'Hello world!'
+ 6 print 'The current GPS week is', time.GPSfullweek()
+ 7 print 'The day of the GPS week is', time.GPSday()
+ 8 print 'The seconds of the GPS week is', time.GPSsecond()
+
+ 9 except Exception:
+ 10 print 'Error'
+</pre>
+
+<p>Line 2 imports Python module "gpstkPython" which contains the GPSTk class DayTime. As you might expect, DayTime is a class that represents time. As time is an integral concept to GPS, this class plays an important part in the foundation of the GPSTk.</p>
+
+<p>Line 3 establishes a try-catch block, so that if a GPSTk-derived exception is thrown it is caught and displayed, in lines 9-10.
+<p>Lines 4 through 8 demonstrate use of the DayTime class. Note that the default constructor represents the current system time.</p>
+
+<p>To execute the above code in Linux would look like the following.</p>
+
+<pre>
+bash-3.00$ ./example1.py
+Hello world!
+The current GPS week is 1334
+The day of the GPS week is 2
+The seconds of the GPS week is 242457.693899
+</pre>
+
+<p>More example code can be found in the source distribution under <em>gpstk/examples</em>, <em>gpstk/tests</em> and <em>gpstk/apps</em>. </p>
+
diff --git a/trunk/apps/bindings/python/examples/example1.py b/trunk/apps/bindings/python/examples/example1.py
new file mode 100755
index 0000000..4b2b691
--- /dev/null
+++ b/trunk/apps/bindings/python/examples/example1.py
@@ -0,0 +1,20 @@
+#!/usr/bin/python
+
+import sys
+sys.path.append("..")
+from gpstkPython import *
+
+try:
+ time = DayTime()
+
+ print 'Hello world!'
+ print 'The current GPS week is', time.GPSfullweek()
+
+ print 'The day of the GPS week is', time.GPSday()
+
+ print 'The seconds of the GPS week is', time.GPSsecond()
+
+except Exception:
+ print 'Error'
+
+
diff --git a/trunk/apps/bindings/python/examples/example2.html b/trunk/apps/bindings/python/examples/example2.html
new file mode 100644
index 0000000..75ceefe
--- /dev/null
+++ b/trunk/apps/bindings/python/examples/example2.html
@@ -0,0 +1,29 @@
+<h1>Example: Reading and Writing a RINEX Observation File</h1>
+
+<p>This example demonstrates the basic I/O processing of RINEX files.</p>
+
+<p>
+<pre>
+ 1 #!/usr/bin/python
+
+ 2 from gpstkPython import *
+
+ 3 rin = RinexObsStream('bahr1620.04o')
+ 4 rout = RinexObsStream('bahr1620.04o.new', ios_out_trunc())
+
+ 5 head = RinexObsHeader()
+ 6 write(rin, head)
+ 7 rout.header = rin.header
+ 8 read(rout, rout.header)
+
+ 9 data = RinexObsData()
+ 10 while write(rin, data):
+ 11 read(rout, data)
+</pre>
+</p>
+
+<p>Line 3 and 4 instantiate RinexObsStream object, for input and output, respectively. Note by example that the simpler constructor defaults to input-only behavior. All of the complexity of reading and writing RINEX observation classes has been <em>encapsulated</em> by the RinexObsStream class.</p>
+
+<p>Lines 5 through 8 demonstrate reading and writing of the RINEX observation file header.</p>
+
+<p>The observations are read into a RinexObsData object, epoch by epoch in lines 9 through 11. The C++ streaming operators have been renamed to read() and write(). Note that the streaming operator serves as a loop control variable as well as a method of "filling" a RinexObsData object. The RinexObsData class contains the epoch time stamp, and a map of satellites to observations.</p>
diff --git a/trunk/apps/bindings/python/examples/example2.py b/trunk/apps/bindings/python/examples/example2.py
new file mode 100755
index 0000000..97fd102
--- /dev/null
+++ b/trunk/apps/bindings/python/examples/example2.py
@@ -0,0 +1,17 @@
+#!/usr/bin/python
+
+import sys
+sys.path.append("..")
+from gpstkPython import *
+
+rin = RinexObsStream('../../../../examples/bahr1620.04o')
+rout = RinexObsStream('bahr1620.04o.new', ios_out_trunc())
+head = RinexObsHeader()
+
+write(rin, head)
+rout.header = rin.header
+read(rout, rout.header)
+
+data = RinexObsData()
+while write(rin, data):
+ read(rout, data)
diff --git a/trunk/apps/bindings/python/examples/example3.html b/trunk/apps/bindings/python/examples/example3.html
new file mode 100644
index 0000000..e74d7c4
--- /dev/null
+++ b/trunk/apps/bindings/python/examples/example3.html
@@ -0,0 +1,61 @@
+<h1>Example: Extracting Observables from a RINEX Observation File.</h1>
+
+<p>In this example, observations recorded in a RINEX observation file are combined to create a quantity that is dominated by multipath error. The following code is excerpted from the GPSTk distribution file example3.py. This example extends example 2 which merely reads and writes a RINEX observation file. For the sake of brevity, discussion of classes used in that previous example have been omitted. Furthermore, some segments of code such as comments have been omitted. </p>
+
+<pre>
+
+ 12 gamma = (L1_FREQ / L2_FREQ) * (L1_FREQ / L2_FREQ);
+
+ 14 try:
+ 15 print "Reading bahr1620.04o."
+
+ 18 roffs = RinexObsStream("bahr1620.04o")
+ 19 roh = RinexObsHeader()
+ 20 roe = RinexObsData()
+ 21 dataobj = RinexDatum()
+
+ 24 write(roffs, roh)
+
+ 27 roh.dump(cout)
+
+ 30 while write(roffs, roe):
+ 31 junk = DayTime_streamRead(cout, roe.time)
+
+ 34 prn = RinexPrn(myprn, systemGPS)
+
+ 37 pointer = RinexPrnMap_find(roe, prn)
+
+ 39 if RinexPrnMap_compare(pointer, RinexPrnMap_end(roe)):
+ 40 print " PRN ", str(myprn), " not in view."
+ 41 else:
+ 42 dataobj = getPseudoRangeCode(roe, prn, RinexObsHeader.P1)
+ 43 dataobj2 = getPseudoRangeCode(pointer, RinexObsHeader.P1)
+ 44 if dataobj.data != dataobj2.data:
+ 45 print "dataobj.data != dataobj2.data"
+
+ 47 P1 = dataobj.data
+
+ 49 dataobj = getPseudoRangeCode(roe, prn, RinexObsHeader.P2)
+ 50 P2 = dataobj.data
+
+ 52 dataobj = getPseudoRangeCode(roe, prn, RinexObsHeader.L1)
+ 53 L1 = dataobj.data
+
+ 56 mu = P1 -L1*(C_GPS_M/L1_FREQ) -2*(P1 -P2)/(1-gamma)
+ 57 print " PRN", myprn, "biased multipath", mu
+
+</pre>
+
+<p>In line 12, a commonly used GPS constant is defined in terms of constants defined by the ICD-GPS-200.</p>
+
+<p> Line 21 creates a structure dataobj that can represent any RINEX measurement. This structure will be used repeatedly in lines 42 through 53 to represent the RINEX data types P1, P2 and L1.</p>
+
+<p>Line 30 demonstrates how a GPSTk streaming operator can also be used to control a loop. With each loop, an epoch of observations are extracted from the RINEX observation file.</p>
+
+<p>In line 34, an identifier is created to match the satellite of interest. Note that although a GPS PRN identifier was used, the identifier associated with another system such as Transit could have been employed.</p>
+
+<p>In line 37, the epoch of observations is searched for data associated with the satellite of interest. Note the use of the STL iterator class and search function find().</p>
+
+<p>If the satellite is found, then lines 42 through 52 show how to traverse the "map" data structures within the RinexObsData to extract the observation values. The STL data structure map is used extensively here and elsewhere in the GPSTk. The robustness of this code section could be improved by dynamically checking if P1, P2 and L1 exist before actually accessing those map entries .</p>
+
+<p>Lines 56 and 57 show the computation and output of the multipath-related combination of observables.</p>
diff --git a/trunk/apps/bindings/python/examples/example3.py b/trunk/apps/bindings/python/examples/example3.py
new file mode 100755
index 0000000..05b6026
--- /dev/null
+++ b/trunk/apps/bindings/python/examples/example3.py
@@ -0,0 +1,63 @@
+#!/usr/bin/python
+
+import sys
+sys.path.append("..")
+from gpstkPython import *
+
+#if sys.argc < 2:
+# print "Required argument is a RINEX obs file."
+
+#print "Name your PRN of interest (by number: 1 through 32: "
+myprn = 5
+
+gamma = (L1_FREQ / L2_FREQ) * (L1_FREQ / L2_FREQ);
+
+try:
+ print "Reading bahr1620.04o."
+
+ # Declare RINEX observation file streams and data objects
+ roffs = RinexObsStream("../../../../examples/bahr1620.04o")
+ roh = RinexObsHeader()
+ roe = RinexObsData()
+ dataobj = RinexDatum()
+
+ # Read the RinexHeader (this could be skipped).
+ write(roffs, roh)
+
+ # Print RINEX header to terminal screen
+ roh.dump(cout)
+
+ # Loop through epochs and process data for each.
+ while write(roffs, roe):
+ junk = DayTime_streamRead(cout, roe.time)
+
+ # Make a GPSTk RinexPrn object for your PRN so you can search for it.
+ prn = RinexPrn(myprn, systemGPS)
+
+ # Check to see if your PRN is in view at this epoch (search for it)
+ pointer = RinexPrnMap_find(roe, prn)
+
+ if RinexPrnMap_compare(pointer, RinexPrnMap_end(roe)):
+ print " PRN ", str(myprn), " not in view."
+ else:
+ dataobj = getPseudoRangeCode(roe, prn, RinexObsHeader.P1)
+ dataobj2 = getPseudoRangeCode(pointer, RinexObsHeader.P1)
+ if dataobj.data != dataobj2.data:
+ print "dataobj.data != dataobj2.data"
+
+ P1 = dataobj.data
+
+ dataobj = getPseudoRangeCode(roe, prn, RinexObsHeader.P2)
+ P2 = dataobj.data
+
+ dataobj = getPseudoRangeCode(roe, prn, RinexObsHeader.L1)
+ L1 = dataobj.data
+
+ # Compute multipath
+ mu = P1 -L1*(C_GPS_M/L1_FREQ) -2*(P1 -P2)/(1-gamma)
+ print " PRN", myprn, "biased multipath", mu
+
+ print "Read", roffs.recordNumber, "epochs. Cheers."
+
+except Exception:
+ print "Exception"
diff --git a/trunk/apps/bindings/python/gpstkPython.html b/trunk/apps/bindings/python/gpstkPython.html
new file mode 100644
index 0000000..27ab78c
--- /dev/null
+++ b/trunk/apps/bindings/python/gpstkPython.html
@@ -0,0 +1,25524 @@
+
+<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module gpstkPython</title>
+</head><body bgcolor="#f0f0f8">
+
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
+<tr bgcolor="#7799ee">
+<td valign=bottom> <br>
+<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>gpstkPython</strong></big></big></font></td
+><td align=right valign=bottom
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/export/depot/sgl/gpstk/dev/apps/bindings/python/gpstkPython.py">/export/depot/sgl/gpstk/dev/apps/bindings/python/gpstkPython.py</a></font></td></tr></table>
+ <p><tt># This file was created automatically by SWIG.<br>
+# Don't modify this file, modify the SWIG interface instead.<br>
+# This file is compatible with both classic and new-style classes.</tt></p>
+<p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#aa55cc">
+<td colspan=3 valign=bottom> <br>
+<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
+
+<tr><td bgcolor="#aa55cc"><tt> </tt></td><td> </td>
+<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="_gpstkPython.html">_gpstkPython</a><br>
+</td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ee77aa">
+<td colspan=3 valign=bottom> <br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
+
+<tr><td bgcolor="#ee77aa"><tt> </tt></td><td> </td>
+<td width="100%"><dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#exception">exception</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#bad_exception">bad_exception</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#bad_exceptionPtr">bad_exceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#exceptionPtr">exceptionPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#logic_error">logic_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#domain_error">domain_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#domain_errorPtr">domain_errorPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#invalid_argument">invalid_argument</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#invalid_argumentPtr">invalid_argumentPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#length_error">length_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#length_errorPtr">length_errorPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#logic_errorPtr">logic_errorPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#out_of_range">out_of_range</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#out_of_rangePtr">out_of_rangePtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#runtime_error">runtime_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#overflow_error">overflow_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#overflow_errorPtr">overflow_errorPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#range_error">range_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#range_errorPtr">range_errorPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#runtime_errorPtr">runtime_errorPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#underflow_error">underflow_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#underflow_errorPtr">underflow_errorPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AlmOrbit">AlmOrbit</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AlmOrbitPtr">AlmOrbitPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AlmanacStore">AlmanacStore</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AlmanacStorePtr">AlmanacStorePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#BCEphemerisStorePtr">BCEphemerisStorePtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexEphemerisStore">RinexEphemerisStore</a>(<a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>, <a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>)
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexEphemerisStorePtr">RinexEphemerisStorePtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#BOGUS_TEMPLATE">BOGUS_TEMPLATE</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#BOGUS_TEMPLATEPtr">BOGUS_TEMPLATEPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ClockModel">ClockModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ClockModelPtr">ClockModelPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EpochClockModel">EpochClockModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EpochClockModelPtr">EpochClockModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#LinearClockModel">LinearClockModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#LinearClockModelPtr">LinearClockModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObsClockModelPtr">ObsClockModelPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#CodeBuffer">CodeBuffer</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#CodeBufferPtr">CodeBufferPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#CorrectedEphemerisRange">CorrectedEphemerisRange</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#CorrectedEphemerisRangePtr">CorrectedEphemerisRangePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#DayTime">DayTime</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#DayTimePtr">DayTimePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EngNav">EngNav</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EngAlmanac">EngAlmanac</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EngAlmanacPtr">EngAlmanacPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EngEphemeris">EngEphemeris</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EngEphemerisPtr">EngEphemerisPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EngNavPtr">EngNavPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ExceptionLocation">ExceptionLocation</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ExceptionLocationPtr">ExceptionLocationPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ExtraWaveFact">ExtraWaveFact</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ExtraWaveFactPtr">ExtraWaveFactPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FFData">FFData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FFDataPtr">FFDataPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsBasePtr">RinexObsBasePtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsData">RinexObsData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsDataPtr">RinexObsDataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsHeaderPtr">RinexObsHeaderPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FFStream">FFStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FFStreamPtr">FFStreamPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#FFTextStream">FFTextStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FFTextStreamPtr">FFTextStreamPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#FICAStream">FICAStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICAStreamPtr">FICAStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#MSCStream">MSCStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#MSCStreamPtr">MSCStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexMetStream">RinexMetStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexMetStreamPtr">RinexMetStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexNavStream">RinexNavStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexNavStreamPtr">RinexNavStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsStream">RinexObsStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsStreamPtr">RinexObsStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SMODFStream">SMODFStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SMODFStreamPtr">SMODFStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3Stream">SP3Stream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3StreamPtr">SP3StreamPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICData">FICData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICDataPtr">FICDataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICHeader">FICHeader</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICHeaderPtr">FICHeaderPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICStream">FICStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICStreamPtr">FICStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileHunter">FileHunter</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileHunterPtr">FileHunterPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileStore_RinexNavHeaderPtr">FileStore_RinexNavHeaderPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileStore_SP3HeaderPtr">FileStore_SP3HeaderPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3EphemerisStore">SP3EphemerisStore</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3EphemerisStorePtr">SP3EphemerisStorePtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GPSZcount">GPSZcount</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GPSZcountPtr">GPSZcountPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GenXSequence">GenXSequence</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GenXSequencePtr">GenXSequencePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GeoidModel">GeoidModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GeoidModelPtr">GeoidModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#IonoModel">IonoModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#IonoModelPtr">IonoModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#IonoModelStore">IonoModelStore</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#IonoModelStorePtr">IonoModelStorePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ORDEpoch">ORDEpoch</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ORDEpochPtr">ORDEpochPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObsEpoch">ObsEpoch</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObsEpochPtr">ObsEpochPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObsRngDev">ObsRngDev</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObsRngDevPtr">ObsRngDevPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#Observation">Observation</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObservationPtr">ObservationPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObservationPlus">ObservationPlus</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObservationPlusPtr">ObservationPlusPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RAIMSolution">RAIMSolution</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RAIMSolutionPtr">RAIMSolutionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexDatum">RinexDatum</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexDatumPtr">RinexDatumPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexMetData">RinexMetData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexMetDataPtr">RinexMetDataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexMetHeaderPtr">RinexMetHeaderPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexNavData">RinexNavData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexNavDataPtr">RinexNavDataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexNavHeader">RinexNavHeader</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexNavHeaderPtr">RinexNavHeaderPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsType">RinexObsType</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsTypePtr">RinexObsTypePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsTypeMap">RinexObsTypeMap</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsTypeMapPtr">RinexObsTypeMapPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexPrn">RinexPrn</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexPrnPtr">RinexPrnPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexPrnMap">RinexPrnMap</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexPrnMapPtr">RinexPrnMapPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RungeKutta4">RungeKutta4</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RungeKutta4Ptr">RungeKutta4Ptr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RxObsData">RxObsData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RxObsDataPtr">RxObsDataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3Data">SP3Data</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3DataPtr">SP3DataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3Header">SP3Header</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3HeaderPtr">SP3HeaderPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SVPCodeGen">SVPCodeGen</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SVPCodeGenPtr">SVPCodeGenPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SatID">SatID</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SatIDPtr">SatIDPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#Triple">Triple</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ECEF">ECEF</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ECEFPtr">ECEFPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#Geodetic">Geodetic</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GeodeticPtr">GeodeticPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#Position">Position</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#PositionPtr">PositionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#TriplePtr">TriplePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#TropModel">TropModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GGHeightTropModel">GGHeightTropModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GGHeightTropModelPtr">GGHeightTropModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GGTropModel">GGTropModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GGTropModelPtr">GGTropModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#NBTropModel">NBTropModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#NBTropModelPtr">NBTropModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SimpleTropModel">SimpleTropModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SimpleTropModelPtr">SimpleTropModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#TropModelPtr">TropModelPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#ZeroTropModel">ZeroTropModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ZeroTropModelPtr">ZeroTropModelPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WxObsData">WxObsData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WxObsDataPtr">WxObsDataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WxObservation">WxObservation</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WxObservationPtr">WxObservationPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#X1Sequence">X1Sequence</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#X1SequencePtr">X1SequencePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#X2Sequence">X2Sequence</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#X2SequencePtr">X2SequencePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#Xvt">Xvt</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#XvtPtr">XvtPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ios_base">ios_base</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ios">ios</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#iosPtr">iosPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#istream">istream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#iostream">iostream</a>(<a href="gpstkPython.html#istream">istream</a>, <a href="gpstkPython.html#ostream">ostream</a>)
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#iostreamPtr">iostreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#istreamPtr">istreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ostream">ostream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#Exception">Exception</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AccessError">AccessError</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AccessErrorPtr">AccessErrorPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#ObjectNotFound">ObjectNotFound</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObjectNotFoundPtr">ObjectNotFoundPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AssertionFailure">AssertionFailure</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AssertionFailurePtr">AssertionFailurePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ConfigurationException">ConfigurationException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ConfigurationExceptionPtr">ConfigurationExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#DayTimeException">DayTimeException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#DayTimeExceptionPtr">DayTimeExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ExceptionPtr">ExceptionPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#FileHunterException">FileHunterException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileHunterExceptionPtr">FileHunterExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileMissingException">FileMissingException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileMissingExceptionPtr">FileMissingExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FormatException">FormatException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FormatExceptionPtr">FormatExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GeometryException">GeometryException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GeometryExceptionPtr">GeometryExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#IndexOutOfBoundsException">IndexOutOfBoundsException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#IndexOutOfBoundsExceptionPtr">IndexOutOfBoundsExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidArgumentException">InvalidArgumentException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidArgumentExceptionPtr">InvalidArgumentExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidParameter">InvalidParameter</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidParameterPtr">InvalidParameterPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidRequest">InvalidRequest</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidRequestPtr">InvalidRequestPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidValue">InvalidValue</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidValuePtr">InvalidValuePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#NoGeoidException">NoGeoidException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#NoGeoidExceptionPtr">NoGeoidExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#OutOfMemory">OutOfMemory</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#OutOfMemoryPtr">OutOfMemoryPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SystemPipeException">SystemPipeException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SystemPipeExceptionPtr">SystemPipeExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SystemQueueException">SystemQueueException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SystemQueueExceptionPtr">SystemQueueExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SystemSemaphoreException">SystemSemaphoreException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SystemSemaphoreExceptionPtr">SystemSemaphoreExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WrongBlockFormat">WrongBlockFormat</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WrongBlockFormatPtr">WrongBlockFormatPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WrongBlockNumber">WrongBlockNumber</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WrongBlockNumberPtr">WrongBlockNumberPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ostreamPtr">ostreamPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ios_basePtr">ios_basePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#sensorPosType">sensorPosType</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#sensorPosTypePtr">sensorPosTypePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#sensorType">sensorType</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#sensorTypePtr">sensorTypePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#vectord">vectord</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#vectordPtr">vectordPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#vectori">vectori</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#vectoriPtr">vectoriPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+</dl>
+ <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AccessError">class <strong>AccessError</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#AccessError">AccessError</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="AccessError-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AccessError></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AccessError-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="AccessError-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AccessError-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="AccessError-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="AccessError-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="AccessError-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AccessError-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AccessError-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="AccessError-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AccessErrorPtr">class <strong>AccessErrorPtr</strong></a>(<a href="gpstkPython.html#AccessError">AccessError</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#AccessErrorPtr">AccessErrorPtr</a></dd>
+<dd><a href="gpstkPython.html#AccessError">AccessError</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="AccessErrorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#AccessError">AccessError</a>:<br>
+<dl><dt><a name="AccessErrorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AccessError></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#AccessError">AccessError</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="AccessErrorPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="AccessErrorPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="AccessErrorPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AccessErrorPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AccessErrorPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AlmOrbit">class <strong>AlmOrbit</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="AlmOrbit-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AlmOrbit></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AlmOrbit-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AlmOrbit-getFullWeek"><strong>getFullWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-getPRNID"><strong>getPRNID</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-getSVHealth"><strong>getSVHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-getTimestamp"><strong>getTimestamp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-getToaTime"><strong>getToaTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-getTransmitTime"><strong>getTransmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-svXvt"><strong>svXvt</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'AlmOrbit' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AlmOrbitPtr">class <strong>AlmOrbitPtr</strong></a>(<a href="gpstkPython.html#AlmOrbit">AlmOrbit</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#AlmOrbitPtr">AlmOrbitPtr</a></dd>
+<dd><a href="gpstkPython.html#AlmOrbit">AlmOrbit</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="AlmOrbitPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#AlmOrbit">AlmOrbit</a>:<br>
+<dl><dt><a name="AlmOrbitPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AlmOrbit></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-getFullWeek"><strong>getFullWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-getPRNID"><strong>getPRNID</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-getSVHealth"><strong>getSVHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-getTimestamp"><strong>getTimestamp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-getToaTime"><strong>getToaTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-getTransmitTime"><strong>getTransmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-svXvt"><strong>svXvt</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#AlmOrbit">AlmOrbit</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'AlmOrbit' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AlmanacStore">class <strong>AlmanacStore</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="AlmanacStore-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AlmanacStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AlmanacStore-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="AlmanacStore-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AlmanacStore-addAlmanac"><strong>addAlmanac</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStore-findAlmanac"><strong>findAlmanac</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStore-findAlmanacs"><strong>findAlmanacs</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStore-getPrnHealth"><strong>getPrnHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStore-getPrnXvt"><strong>getPrnXvt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStore-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'AlmanacStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AlmanacStorePtr">class <strong>AlmanacStorePtr</strong></a>(<a href="gpstkPython.html#AlmanacStore">AlmanacStore</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#AlmanacStorePtr">AlmanacStorePtr</a></dd>
+<dd><a href="gpstkPython.html#AlmanacStore">AlmanacStore</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="AlmanacStorePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#AlmanacStore">AlmanacStore</a>:<br>
+<dl><dt><a name="AlmanacStorePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AlmanacStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-addAlmanac"><strong>addAlmanac</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-findAlmanac"><strong>findAlmanac</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-findAlmanacs"><strong>findAlmanacs</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-getPrnHealth"><strong>getPrnHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-getPrnXvt"><strong>getPrnXvt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#AlmanacStore">AlmanacStore</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'AlmanacStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AssertionFailure">class <strong>AssertionFailure</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#AssertionFailure">AssertionFailure</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="AssertionFailure-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AssertionFailure></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AssertionFailure-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AssertionFailure-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="AssertionFailure-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="AssertionFailure-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="AssertionFailure-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AssertionFailure-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AssertionFailure-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AssertionFailurePtr">class <strong>AssertionFailurePtr</strong></a>(<a href="gpstkPython.html#AssertionFailure">AssertionFailure</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#AssertionFailurePtr">AssertionFailurePtr</a></dd>
+<dd><a href="gpstkPython.html#AssertionFailure">AssertionFailure</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="AssertionFailurePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#AssertionFailure">AssertionFailure</a>:<br>
+<dl><dt><a name="AssertionFailurePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AssertionFailure></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#AssertionFailure">AssertionFailure</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="AssertionFailurePtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="AssertionFailurePtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="AssertionFailurePtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AssertionFailurePtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AssertionFailurePtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="BCEphemerisStore">class <strong>BCEphemerisStore</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="BCEphemerisStore-SearchNear"><strong>SearchNear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-SearchPast"><strong>SearchPast</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_BCEphemerisStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-addEphemeris"><strong>addEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-addToList"><strong>addToList</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-edit"><strong>edit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-findEphemeris"><strong>findEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-findNearEphemeris"><strong>findNearEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-findUserEphemeris"><strong>findUserEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-getFinalTime"><strong>getFinalTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-getInitialTime"><strong>getInitialTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-getPrnHealth"><strong>getPrnHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-getPrnXvt"><strong>getPrnXvt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-ubeSize"><strong>ubeSize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-wiper"><strong>wiper</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'BCEphemerisStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="BCEphemerisStorePtr">class <strong>BCEphemerisStorePtr</strong></a>(<a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#BCEphemerisStorePtr">BCEphemerisStorePtr</a></dd>
+<dd><a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="BCEphemerisStorePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>:<br>
+<dl><dt><a name="BCEphemerisStorePtr-SearchNear"><strong>SearchNear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-SearchPast"><strong>SearchPast</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_BCEphemerisStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-addEphemeris"><strong>addEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-addToList"><strong>addToList</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-edit"><strong>edit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-findEphemeris"><strong>findEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-findNearEphemeris"><strong>findNearEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-findUserEphemeris"><strong>findUserEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-getFinalTime"><strong>getFinalTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-getInitialTime"><strong>getInitialTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-getPrnHealth"><strong>getPrnHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-getPrnXvt"><strong>getPrnXvt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-ubeSize"><strong>ubeSize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-wiper"><strong>wiper</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'BCEphemerisStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="BOGUS_TEMPLATE">class <strong>BOGUS_TEMPLATE</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="BOGUS_TEMPLATE-__contains__"><strong>__contains__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_BOGUS_TEMPLATE></font>)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__iter__"><strong>__iter__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-count"><strong>count</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-erase"><strong>erase</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-has_key"><strong>has_key</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-items"><strong>items</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-keys"><strong>keys</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-values"><strong>values</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'BOGUS_TEMPLATE' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="BOGUS_TEMPLATEPtr">class <strong>BOGUS_TEMPLATEPtr</strong></a>(<a href="gpstkPython.html#BOGUS_TEMPLATE">BOGUS_TEMPLATE</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#BOGUS_TEMPLATEPtr">BOGUS_TEMPLATEPtr</a></dd>
+<dd><a href="gpstkPython.html#BOGUS_TEMPLATE">BOGUS_TEMPLATE</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#BOGUS_TEMPLATE">BOGUS_TEMPLATE</a>:<br>
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__contains__"><strong>__contains__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_BOGUS_TEMPLATE></font>)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__iter__"><strong>__iter__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-count"><strong>count</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-erase"><strong>erase</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-has_key"><strong>has_key</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-items"><strong>items</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-keys"><strong>keys</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-values"><strong>values</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#BOGUS_TEMPLATE">BOGUS_TEMPLATE</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'BOGUS_TEMPLATE' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ClockModel">class <strong>ClockModel</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ClockModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ClockModel-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ClockModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ClockModel-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ClockModel-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ClockModelPtr">class <strong>ClockModelPtr</strong></a>(<a href="gpstkPython.html#ClockModel">ClockModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ClockModelPtr">ClockModelPtr</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ClockModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><a name="ClockModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ClockModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ClockModelPtr-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ClockModelPtr-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="CodeBuffer">class <strong>CodeBuffer</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="CodeBuffer-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_CodeBuffer></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="CodeBuffer-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-__ixor__"><strong>__ixor__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="CodeBuffer-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-getBit"><strong>getBit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-getCurrentTime"><strong>getCurrentTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-getPRNID"><strong>getPRNID</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-getPYFlag"><strong>getPYFlag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-updateBufferStatus"><strong>updateBufferStatus</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'CodeBuffer' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="CodeBufferPtr">class <strong>CodeBufferPtr</strong></a>(<a href="gpstkPython.html#CodeBuffer">CodeBuffer</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#CodeBufferPtr">CodeBufferPtr</a></dd>
+<dd><a href="gpstkPython.html#CodeBuffer">CodeBuffer</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="CodeBufferPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#CodeBuffer">CodeBuffer</a>:<br>
+<dl><dt><a name="CodeBufferPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_CodeBuffer></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-__ixor__"><strong>__ixor__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-getBit"><strong>getBit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-getCurrentTime"><strong>getCurrentTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-getPRNID"><strong>getPRNID</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-getPYFlag"><strong>getPYFlag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-updateBufferStatus"><strong>updateBufferStatus</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#CodeBuffer">CodeBuffer</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'CodeBuffer' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ConfigurationException">class <strong>ConfigurationException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ConfigurationException">ConfigurationException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ConfigurationException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ConfigurationException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ConfigurationException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ConfigurationException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="ConfigurationException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="ConfigurationException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ConfigurationException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ConfigurationException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ConfigurationException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ConfigurationExceptionPtr">class <strong>ConfigurationExceptionPtr</strong></a>(<a href="gpstkPython.html#ConfigurationException">ConfigurationException</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ConfigurationExceptionPtr">ConfigurationExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#ConfigurationException">ConfigurationException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ConfigurationException">ConfigurationException</a>:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ConfigurationException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ConfigurationException">ConfigurationException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="CorrectedEphemerisRange">class <strong>CorrectedEphemerisRange</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="CorrectedEphemerisRange-ComputeAtReceiveTime"><strong>ComputeAtReceiveTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRange-ComputeAtTransmitTime"><strong>ComputeAtTransmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRange-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_CorrectedEphemerisRange></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRange-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRange-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>azimuth</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_azimuth_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_azimuth_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>cosines</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_cosines_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_cosines_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>elevation</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_elevation_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_elevation_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rawrange</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_rawrange_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_rawrange_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>relativity</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_relativity_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_relativity_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svPosVel</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_svPosVel_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_svPosVel_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svclkbias</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_svclkbias_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_svclkbias_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svclkdrift</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_svclkdrift_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_svclkdrift_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>transmit</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_transmit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_transmit_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'azimuth': <built-in function CorrectedEphemerisRange_azimuth_get>, 'cosines': <built-in function CorrectedEphemerisRange_cosines_get>, 'elevation': <built-in function CorrectedEphemerisRange_elevation_get>, 'rawrange': <built-in function CorrectedEphemerisRange_rawrange_get>, 'relativity': <built-in function CorrectedEphemerisRange_relativity_get>, 'svPosVel': <built-in function CorrectedEphemerisRange_svPo [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'azimuth': <built-in function CorrectedEphemerisRange_azimuth_set>, 'cosines': <built-in function CorrectedEphemerisRange_cosines_set>, 'elevation': <built-in function CorrectedEphemerisRange_elevation_set>, 'rawrange': <built-in function CorrectedEphemerisRange_rawrange_set>, 'relativity': <built-in function CorrectedEphemerisRange_relativity_set>, 'svPosVel': <built-in function CorrectedEphemerisRange_svPo [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'CorrectedEphemerisRange' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="CorrectedEphemerisRangePtr">class <strong>CorrectedEphemerisRangePtr</strong></a>(<a href="gpstkPython.html#CorrectedEphemerisRange">CorrectedEphemerisRange</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#CorrectedEphemerisRangePtr">CorrectedEphemerisRangePtr</a></dd>
+<dd><a href="gpstkPython.html#CorrectedEphemerisRange">CorrectedEphemerisRange</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="CorrectedEphemerisRangePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#CorrectedEphemerisRange">CorrectedEphemerisRange</a>:<br>
+<dl><dt><a name="CorrectedEphemerisRangePtr-ComputeAtReceiveTime"><strong>ComputeAtReceiveTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRangePtr-ComputeAtTransmitTime"><strong>ComputeAtTransmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRangePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_CorrectedEphemerisRange></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRangePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#CorrectedEphemerisRange">CorrectedEphemerisRange</a>:<br>
+<dl><dt><strong>azimuth</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_azimuth_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_azimuth_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>cosines</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_cosines_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_cosines_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>elevation</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_elevation_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_elevation_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rawrange</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_rawrange_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_rawrange_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>relativity</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_relativity_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_relativity_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svPosVel</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_svPosVel_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_svPosVel_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svclkbias</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_svclkbias_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_svclkbias_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svclkdrift</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_svclkdrift_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_svclkdrift_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>transmit</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_transmit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_transmit_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#CorrectedEphemerisRange">CorrectedEphemerisRange</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'azimuth': <built-in function CorrectedEphemerisRange_azimuth_get>, 'cosines': <built-in function CorrectedEphemerisRange_cosines_get>, 'elevation': <built-in function CorrectedEphemerisRange_elevation_get>, 'rawrange': <built-in function CorrectedEphemerisRange_rawrange_get>, 'relativity': <built-in function CorrectedEphemerisRange_relativity_get>, 'svPosVel': <built-in function CorrectedEphemerisRange_svPo [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'azimuth': <built-in function CorrectedEphemerisRange_azimuth_set>, 'cosines': <built-in function CorrectedEphemerisRange_cosines_set>, 'elevation': <built-in function CorrectedEphemerisRange_elevation_set>, 'rawrange': <built-in function CorrectedEphemerisRange_rawrange_set>, 'relativity': <built-in function CorrectedEphemerisRange_relativity_set>, 'svPosVel': <built-in function CorrectedEphemerisRange_svPo [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'CorrectedEphemerisRange' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="DayTime">class <strong>DayTime</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="DayTime-DOY"><strong>DOY</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-DOYday"><strong>DOYday</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-DOYsecond"><strong>DOYsecond</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-DOYyear"><strong>DOYyear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPS10bitweek"><strong>GPS10bitweek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSday"><strong>GPSday</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSfullweek"><strong>GPSfullweek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSsecond"><strong>GPSsecond</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSsow"><strong>GPSsow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSyear"><strong>GPSyear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSzcount"><strong>GPSzcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSzcountFloor"><strong>GPSzcountFloor</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-JD"><strong>JD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-MJD"><strong>MJD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-MJDdate"><strong>MJDdate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-Operator_GPSZcount"><strong>Operator_GPSZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_DayTime></font>)</dt></dl>
+
+<dl><dt><a name="DayTime-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__ge__"><strong>__ge__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="DayTime-__gt__"><strong>__gt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__iadd__"><strong>__iadd__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="DayTime-__isub__"><strong>__isub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__le__"><strong>__le__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__lt__"><strong>__lt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="DayTime-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-addMicroSeconds"><strong>addMicroSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-addMilliSeconds"><strong>addMilliSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-addSeconds"><strong>addSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-asString"><strong>asString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-day"><strong>day</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-dayOfWeek"><strong>dayOfWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-fullZcount"><strong>fullZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-fullZcountFloor"><strong>fullZcountFloor</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-getMJDasLongDouble"><strong>getMJDasLongDouble</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-getTimeFrame"><strong>getTimeFrame</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-getTolerance"><strong>getTolerance</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-getYMD"><strong>getYMD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-hour"><strong>hour</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-minute"><strong>minute</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-month"><strong>month</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-printf"><strong>printf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-printf_std_string"><strong>printf_std_string</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-secOfDay"><strong>secOfDay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-second"><strong>second</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setANSI"><strong>setANSI</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setAllButTimeFrame"><strong>setAllButTimeFrame</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setGPS"><strong>setGPS</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setGPSZcount"><strong>setGPSZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setGPSfullweek"><strong>setGPSfullweek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setHMS"><strong>setHMS</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setLocalTime"><strong>setLocalTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setMJD"><strong>setMJD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setMJDdate"><strong>setMJDdate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setSecOfDay"><strong>setSecOfDay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setSystemTime"><strong>setSystemTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setTimeFrame"><strong>setTimeFrame</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setToString"><strong>setToString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setTolerance"><strong>setTolerance</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setUnix"><strong>setUnix</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setYDoy"><strong>setYDoy</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setYDoySod"><strong>setYDoySod</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setYMD"><strong>setYMD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setYMDHMS"><strong>setYMDHMS</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-unixTime"><strong>unixTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-year"><strong>year</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="DayTime-convertCalendarToJD"><strong>convertCalendarToJD</strong></a> = DayTime_convertCalendarToJD(...)</dt></dl>
+
+<dl><dt><a name="DayTime-convertJDtoCalendar"><strong>convertJDtoCalendar</strong></a> = DayTime_convertJDtoCalendar(...)</dt></dl>
+
+<dl><dt><a name="DayTime-convertSODtoTime"><strong>convertSODtoTime</strong></a> = DayTime_convertSODtoTime(...)</dt></dl>
+
+<dl><dt><a name="DayTime-convertTimeToSOD"><strong>convertTimeToSOD</strong></a> = DayTime_convertTimeToSOD(...)</dt></dl>
+
+<dl><dt><a name="DayTime-getDayTimeTolerance"><strong>getDayTimeTolerance</strong></a> = DayTime_getDayTimeTolerance(...)</dt></dl>
+
+<dl><dt><a name="DayTime-setDayTimeTolerance"><strong>setDayTimeTolerance</strong></a> = DayTime_setDayTimeTolerance(...)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>BEGINNING_OF_TIME</strong> = <Swig Object at _6cf42cb7_p_gpstk__DayTime></dl>
+
+<dl><dt><strong>BEGIN_LIMIT_JDAY</strong> = 0</dl>
+
+<dl><dt><strong>END_LIMIT_JDAY</strong> = 3442448</dl>
+
+<dl><dt><strong>END_OF_TIME</strong> = <Swig Object at _88f42cb7_p_gpstk__DayTime></dl>
+
+<dl><dt><strong>FACTOR</strong> = 1000</dl>
+
+<dl><dt><strong>FULLWEEK</strong> = 604800</dl>
+
+<dl><dt><strong>GPS_EPOCH_JDAY</strong> = 2444245</dl>
+
+<dl><dt><strong>GPS_EPOCH_MJD</strong> = 44244</dl>
+
+<dl><dt><strong>GPS_Receiver</strong> = 6</dl>
+
+<dl><dt><strong>GPS_Rx</strong> = 4</dl>
+
+<dl><dt><strong>GPS_SV</strong> = 5</dl>
+
+<dl><dt><strong>GPS_Tx</strong> = 3</dl>
+
+<dl><dt><strong>HALFWEEK</strong> = 302400</dl>
+
+<dl><dt><strong>JD_TO_MJD</strong> = 2400000.5</dl>
+
+<dl><dt><strong>LocalSystem</strong> = 2</dl>
+
+<dl><dt><strong>MJD_JDAY</strong> = 2400001</dl>
+
+<dl><dt><strong>MS_PER_DAY</strong> = 86400000</dl>
+
+<dl><dt><strong>ONE_HOUR_TOLERANCE</strong> = 3600.0</dl>
+
+<dl><dt><strong>ONE_MIN_TOLERANCE</strong> = 60.0</dl>
+
+<dl><dt><strong>ONE_MSEC_TOLERANCE</strong> = 0.001</dl>
+
+<dl><dt><strong>ONE_NSEC_TOLERANCE</strong> = 1.0000000000000001e-09</dl>
+
+<dl><dt><strong>ONE_SEC_TOLERANCE</strong> = 1.0</dl>
+
+<dl><dt><strong>ONE_USEC_TOLERANCE</strong> = 9.9999999999999995e-07</dl>
+
+<dl><dt><strong>SEC_DAY</strong> = 86400</dl>
+
+<dl><dt><strong>UNIX_MJD</strong> = 40587</dl>
+
+<dl><dt><strong>UTC</strong> = 1</dl>
+
+<dl><dt><strong>Unknown</strong> = 0</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'convertCalendarToJD': <function <lambda>>, 'convertJDtoCalendar': <function <lambda>>, 'convertSODtoTime': <function <lambda>>, 'convertTimeToSOD': <function <lambda>>, 'getDayTimeTolerance': <function <lambda>>, 'setDayTimeTolerance': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'DayTime' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="DayTimeException">class <strong>DayTimeException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#DayTimeException">DayTimeException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="DayTimeException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_DayTimeException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="DayTimeException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="DayTimeException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="DayTimeException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="DayTimeException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="DayTimeException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="DayTimeException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="DayTimeException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="DayTimeException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="DayTimeExceptionPtr">class <strong>DayTimeExceptionPtr</strong></a>(<a href="gpstkPython.html#DayTimeException">DayTimeException</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#DayTimeExceptionPtr">DayTimeExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#DayTimeException">DayTimeException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="DayTimeExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#DayTimeException">DayTimeException</a>:<br>
+<dl><dt><a name="DayTimeExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_DayTimeException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#DayTimeException">DayTimeException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="DayTimeExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="DayTimeExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="DayTimeExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="DayTimeExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="DayTimeExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="DayTimePtr">class <strong>DayTimePtr</strong></a>(<a href="gpstkPython.html#DayTime">DayTime</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#DayTimePtr">DayTimePtr</a></dd>
+<dd><a href="gpstkPython.html#DayTime">DayTime</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="DayTimePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#DayTime">DayTime</a>:<br>
+<dl><dt><a name="DayTimePtr-DOY"><strong>DOY</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-DOYday"><strong>DOYday</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-DOYsecond"><strong>DOYsecond</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-DOYyear"><strong>DOYyear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPS10bitweek"><strong>GPS10bitweek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSday"><strong>GPSday</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSfullweek"><strong>GPSfullweek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSsecond"><strong>GPSsecond</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSsow"><strong>GPSsow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSyear"><strong>GPSyear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSzcount"><strong>GPSzcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSzcountFloor"><strong>GPSzcountFloor</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-JD"><strong>JD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-MJD"><strong>MJD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-MJDdate"><strong>MJDdate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-Operator_GPSZcount"><strong>Operator_GPSZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_DayTime></font>)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__ge__"><strong>__ge__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__gt__"><strong>__gt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__iadd__"><strong>__iadd__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__isub__"><strong>__isub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__le__"><strong>__le__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__lt__"><strong>__lt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-addMicroSeconds"><strong>addMicroSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-addMilliSeconds"><strong>addMilliSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-addSeconds"><strong>addSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-asString"><strong>asString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-day"><strong>day</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-dayOfWeek"><strong>dayOfWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-fullZcount"><strong>fullZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-fullZcountFloor"><strong>fullZcountFloor</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-getMJDasLongDouble"><strong>getMJDasLongDouble</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-getTimeFrame"><strong>getTimeFrame</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-getTolerance"><strong>getTolerance</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-getYMD"><strong>getYMD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-hour"><strong>hour</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-minute"><strong>minute</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-month"><strong>month</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-printf"><strong>printf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-printf_std_string"><strong>printf_std_string</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-secOfDay"><strong>secOfDay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-second"><strong>second</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setANSI"><strong>setANSI</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setAllButTimeFrame"><strong>setAllButTimeFrame</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setGPS"><strong>setGPS</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setGPSZcount"><strong>setGPSZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setGPSfullweek"><strong>setGPSfullweek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setHMS"><strong>setHMS</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setLocalTime"><strong>setLocalTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setMJD"><strong>setMJD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setMJDdate"><strong>setMJDdate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setSecOfDay"><strong>setSecOfDay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setSystemTime"><strong>setSystemTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setTimeFrame"><strong>setTimeFrame</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setToString"><strong>setToString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setTolerance"><strong>setTolerance</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setUnix"><strong>setUnix</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setYDoy"><strong>setYDoy</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setYDoySod"><strong>setYDoySod</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setYMD"><strong>setYMD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setYMDHMS"><strong>setYMDHMS</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-unixTime"><strong>unixTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-year"><strong>year</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#DayTime">DayTime</a>:<br>
+<dl><dt><a name="DayTimePtr-convertCalendarToJD"><strong>convertCalendarToJD</strong></a> = DayTime_convertCalendarToJD(...)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-convertJDtoCalendar"><strong>convertJDtoCalendar</strong></a> = DayTime_convertJDtoCalendar(...)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-convertSODtoTime"><strong>convertSODtoTime</strong></a> = DayTime_convertSODtoTime(...)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-convertTimeToSOD"><strong>convertTimeToSOD</strong></a> = DayTime_convertTimeToSOD(...)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-getDayTimeTolerance"><strong>getDayTimeTolerance</strong></a> = DayTime_getDayTimeTolerance(...)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setDayTimeTolerance"><strong>setDayTimeTolerance</strong></a> = DayTime_setDayTimeTolerance(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#DayTime">DayTime</a>:<br>
+<dl><dt><strong>BEGINNING_OF_TIME</strong> = <Swig Object at _6cf42cb7_p_gpstk__DayTime></dl>
+
+<dl><dt><strong>BEGIN_LIMIT_JDAY</strong> = 0</dl>
+
+<dl><dt><strong>END_LIMIT_JDAY</strong> = 3442448</dl>
+
+<dl><dt><strong>END_OF_TIME</strong> = <Swig Object at _88f42cb7_p_gpstk__DayTime></dl>
+
+<dl><dt><strong>FACTOR</strong> = 1000</dl>
+
+<dl><dt><strong>FULLWEEK</strong> = 604800</dl>
+
+<dl><dt><strong>GPS_EPOCH_JDAY</strong> = 2444245</dl>
+
+<dl><dt><strong>GPS_EPOCH_MJD</strong> = 44244</dl>
+
+<dl><dt><strong>GPS_Receiver</strong> = 6</dl>
+
+<dl><dt><strong>GPS_Rx</strong> = 4</dl>
+
+<dl><dt><strong>GPS_SV</strong> = 5</dl>
+
+<dl><dt><strong>GPS_Tx</strong> = 3</dl>
+
+<dl><dt><strong>HALFWEEK</strong> = 302400</dl>
+
+<dl><dt><strong>JD_TO_MJD</strong> = 2400000.5</dl>
+
+<dl><dt><strong>LocalSystem</strong> = 2</dl>
+
+<dl><dt><strong>MJD_JDAY</strong> = 2400001</dl>
+
+<dl><dt><strong>MS_PER_DAY</strong> = 86400000</dl>
+
+<dl><dt><strong>ONE_HOUR_TOLERANCE</strong> = 3600.0</dl>
+
+<dl><dt><strong>ONE_MIN_TOLERANCE</strong> = 60.0</dl>
+
+<dl><dt><strong>ONE_MSEC_TOLERANCE</strong> = 0.001</dl>
+
+<dl><dt><strong>ONE_NSEC_TOLERANCE</strong> = 1.0000000000000001e-09</dl>
+
+<dl><dt><strong>ONE_SEC_TOLERANCE</strong> = 1.0</dl>
+
+<dl><dt><strong>ONE_USEC_TOLERANCE</strong> = 9.9999999999999995e-07</dl>
+
+<dl><dt><strong>SEC_DAY</strong> = 86400</dl>
+
+<dl><dt><strong>UNIX_MJD</strong> = 40587</dl>
+
+<dl><dt><strong>UTC</strong> = 1</dl>
+
+<dl><dt><strong>Unknown</strong> = 0</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'convertCalendarToJD': <function <lambda>>, 'convertJDtoCalendar': <function <lambda>>, 'convertSODtoTime': <function <lambda>>, 'convertTimeToSOD': <function <lambda>>, 'getDayTimeTolerance': <function <lambda>>, 'setDayTimeTolerance': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'DayTime' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ECEF">class <strong>ECEF</strong></a>(<a href="gpstkPython.html#Triple">Triple</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ECEF">ECEF</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ECEF-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ECEF></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ECEF-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ECEF-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ECEF-asGeodetic"><strong>asGeodetic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'theArray': <built-in function Triple_theArray_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="ECEF-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="ECEF-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ECEF-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ECEFPtr">class <strong>ECEFPtr</strong></a>(<a href="gpstkPython.html#ECEF">ECEF</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ECEFPtr">ECEFPtr</a></dd>
+<dd><a href="gpstkPython.html#ECEF">ECEF</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ECEFPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ECEF">ECEF</a>:<br>
+<dl><dt><a name="ECEFPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ECEF></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ECEFPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ECEFPtr-asGeodetic"><strong>asGeodetic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ECEF">ECEF</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'theArray': <built-in function Triple_theArray_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="ECEFPtr-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="ECEFPtr-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ECEFPtr-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EngAlmanac">class <strong>EngAlmanac</strong></a>(<a href="gpstkPython.html#EngNav">EngNav</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EngAlmanac">EngAlmanac</a></dd>
+<dd><a href="gpstkPython.html#EngNav">EngNav</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EngAlmanac-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EngAlmanac></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EngAlmanac-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="EngAlmanac-addSubframe"><strong>addSubframe</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getA"><strong>getA</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getAf0"><strong>getAf0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getAf1"><strong>getAf1</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getAhalf"><strong>getAhalf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getAlmOrbElem"><strong>getAlmOrbElem</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getAlmOrbElems"><strong>getAlmOrbElems</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getAlmWeek"><strong>getAlmWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getEcc"><strong>getEcc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getFullWeek"><strong>getFullWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getIOffset"><strong>getIOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getIon"><strong>getIon</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getM0"><strong>getM0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getOmega0"><strong>getOmega0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getOmegadot"><strong>getOmegadot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getSVHealth"><strong>getSVHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getToa"><strong>getToa</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getUTC"><strong>getUTC</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getW"><strong>getW</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getXmitTime"><strong>getXmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-svXvt"><strong>svXvt</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'convert10bit': <function <lambda>>, 'convert8bit': <function <lambda>>, 'getSubframePattern': <function <lambda>>, 'subframeConvert': <function <lambda>>, 'subframeParity': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><a name="EngAlmanac-convert10bit"><strong>convert10bit</strong></a> = EngNav_convert10bit(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-convert8bit"><strong>convert8bit</strong></a> = EngNav_convert8bit(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getSubframePattern"><strong>getSubframePattern</strong></a> = EngNav_getSubframePattern(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-subframeConvert"><strong>subframeConvert</strong></a> = EngNav_subframeConvert(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-subframeParity"><strong>subframeParity</strong></a> = EngNav_subframeParity(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'EngNav' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EngAlmanacPtr">class <strong>EngAlmanacPtr</strong></a>(<a href="gpstkPython.html#EngAlmanac">EngAlmanac</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EngAlmanacPtr">EngAlmanacPtr</a></dd>
+<dd><a href="gpstkPython.html#EngAlmanac">EngAlmanac</a></dd>
+<dd><a href="gpstkPython.html#EngNav">EngNav</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EngAlmanacPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#EngAlmanac">EngAlmanac</a>:<br>
+<dl><dt><a name="EngAlmanacPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EngAlmanac></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-addSubframe"><strong>addSubframe</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getA"><strong>getA</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getAf0"><strong>getAf0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getAf1"><strong>getAf1</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getAhalf"><strong>getAhalf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getAlmOrbElem"><strong>getAlmOrbElem</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getAlmOrbElems"><strong>getAlmOrbElems</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getAlmWeek"><strong>getAlmWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getEcc"><strong>getEcc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getFullWeek"><strong>getFullWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getIOffset"><strong>getIOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getIon"><strong>getIon</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getM0"><strong>getM0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getOmega0"><strong>getOmega0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getOmegadot"><strong>getOmegadot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getSVHealth"><strong>getSVHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getToa"><strong>getToa</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getUTC"><strong>getUTC</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getW"><strong>getW</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getXmitTime"><strong>getXmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-svXvt"><strong>svXvt</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngAlmanac">EngAlmanac</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'convert10bit': <function <lambda>>, 'convert8bit': <function <lambda>>, 'getSubframePattern': <function <lambda>>, 'subframeConvert': <function <lambda>>, 'subframeParity': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><a name="EngAlmanacPtr-convert10bit"><strong>convert10bit</strong></a> = EngNav_convert10bit(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-convert8bit"><strong>convert8bit</strong></a> = EngNav_convert8bit(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getSubframePattern"><strong>getSubframePattern</strong></a> = EngNav_getSubframePattern(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-subframeConvert"><strong>subframeConvert</strong></a> = EngNav_subframeConvert(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-subframeParity"><strong>subframeParity</strong></a> = EngNav_subframeParity(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'EngNav' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EngEphemeris">class <strong>EngEphemeris</strong></a>(<a href="gpstkPython.html#EngNav">EngNav</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EngEphemeris">EngEphemeris</a></dd>
+<dd><a href="gpstkPython.html#EngNav">EngNav</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EngEphemeris-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EngEphemeris></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EngEphemeris-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="EngEphemeris-addSubframe"><strong>addSubframe</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getA"><strong>getA</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getASAlert"><strong>getASAlert</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getAccFlag"><strong>getAccFlag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getAccuracy"><strong>getAccuracy</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getAf0"><strong>getAf0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getAf1"><strong>getAf1</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getAf2"><strong>getAf2</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getAhalf"><strong>getAhalf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCic"><strong>getCic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCis"><strong>getCis</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCodeFlags"><strong>getCodeFlags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCrc"><strong>getCrc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCrs"><strong>getCrs</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCuc"><strong>getCuc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCus"><strong>getCus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getDn"><strong>getDn</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getEcc"><strong>getEcc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getEphemerisEpoch"><strong>getEphemerisEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getEpochTime"><strong>getEpochTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getFitInt"><strong>getFitInt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getFitInterval"><strong>getFitInterval</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getFullWeek"><strong>getFullWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getHOWTime"><strong>getHOWTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getHealth"><strong>getHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getI0"><strong>getI0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getIDot"><strong>getIDot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getIODC"><strong>getIODC</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getIODE"><strong>getIODE</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getL2Pdata"><strong>getL2Pdata</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getM0"><strong>getM0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getOmega0"><strong>getOmega0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getOmegaDot"><strong>getOmegaDot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getPRNID"><strong>getPRNID</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTLMMessage"><strong>getTLMMessage</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTLMPreamble"><strong>getTLMPreamble</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTgd"><strong>getTgd</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTimestamp"><strong>getTimestamp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getToc"><strong>getToc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getToe"><strong>getToe</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTot"><strong>getTot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTracker"><strong>getTracker</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTransmitTime"><strong>getTransmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getW"><strong>getW</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-setAccuracy"><strong>setAccuracy</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-setSF1"><strong>setSF1</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-setSF2"><strong>setSF2</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-setSF3"><strong>setSF3</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-svClockBias"><strong>svClockBias</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-svClockDrift"><strong>svClockDrift</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-svRelativity"><strong>svRelativity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-svXvt"><strong>svXvt</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'convert10bit': <function <lambda>>, 'convert8bit': <function <lambda>>, 'getSubframePattern': <function <lambda>>, 'subframeConvert': <function <lambda>>, 'subframeParity': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><a name="EngEphemeris-convert10bit"><strong>convert10bit</strong></a> = EngNav_convert10bit(...)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-convert8bit"><strong>convert8bit</strong></a> = EngNav_convert8bit(...)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getSubframePattern"><strong>getSubframePattern</strong></a> = EngNav_getSubframePattern(...)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-subframeConvert"><strong>subframeConvert</strong></a> = EngNav_subframeConvert(...)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-subframeParity"><strong>subframeParity</strong></a> = EngNav_subframeParity(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'EngNav' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EngEphemerisPtr">class <strong>EngEphemerisPtr</strong></a>(<a href="gpstkPython.html#EngEphemeris">EngEphemeris</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EngEphemerisPtr">EngEphemerisPtr</a></dd>
+<dd><a href="gpstkPython.html#EngEphemeris">EngEphemeris</a></dd>
+<dd><a href="gpstkPython.html#EngNav">EngNav</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EngEphemerisPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#EngEphemeris">EngEphemeris</a>:<br>
+<dl><dt><a name="EngEphemerisPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EngEphemeris></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-addSubframe"><strong>addSubframe</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getA"><strong>getA</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getASAlert"><strong>getASAlert</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getAccFlag"><strong>getAccFlag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getAccuracy"><strong>getAccuracy</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getAf0"><strong>getAf0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getAf1"><strong>getAf1</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getAf2"><strong>getAf2</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getAhalf"><strong>getAhalf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCic"><strong>getCic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCis"><strong>getCis</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCodeFlags"><strong>getCodeFlags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCrc"><strong>getCrc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCrs"><strong>getCrs</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCuc"><strong>getCuc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCus"><strong>getCus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getDn"><strong>getDn</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getEcc"><strong>getEcc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getEphemerisEpoch"><strong>getEphemerisEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getEpochTime"><strong>getEpochTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getFitInt"><strong>getFitInt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getFitInterval"><strong>getFitInterval</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getFullWeek"><strong>getFullWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getHOWTime"><strong>getHOWTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getHealth"><strong>getHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getI0"><strong>getI0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getIDot"><strong>getIDot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getIODC"><strong>getIODC</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getIODE"><strong>getIODE</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getL2Pdata"><strong>getL2Pdata</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getM0"><strong>getM0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getOmega0"><strong>getOmega0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getOmegaDot"><strong>getOmegaDot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getPRNID"><strong>getPRNID</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTLMMessage"><strong>getTLMMessage</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTLMPreamble"><strong>getTLMPreamble</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTgd"><strong>getTgd</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTimestamp"><strong>getTimestamp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getToc"><strong>getToc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getToe"><strong>getToe</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTot"><strong>getTot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTracker"><strong>getTracker</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTransmitTime"><strong>getTransmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getW"><strong>getW</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-setAccuracy"><strong>setAccuracy</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-setSF1"><strong>setSF1</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-setSF2"><strong>setSF2</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-setSF3"><strong>setSF3</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-svClockBias"><strong>svClockBias</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-svClockDrift"><strong>svClockDrift</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-svRelativity"><strong>svRelativity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-svXvt"><strong>svXvt</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngEphemeris">EngEphemeris</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'convert10bit': <function <lambda>>, 'convert8bit': <function <lambda>>, 'getSubframePattern': <function <lambda>>, 'subframeConvert': <function <lambda>>, 'subframeParity': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><a name="EngEphemerisPtr-convert10bit"><strong>convert10bit</strong></a> = EngNav_convert10bit(...)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-convert8bit"><strong>convert8bit</strong></a> = EngNav_convert8bit(...)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getSubframePattern"><strong>getSubframePattern</strong></a> = EngNav_getSubframePattern(...)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-subframeConvert"><strong>subframeConvert</strong></a> = EngNav_subframeConvert(...)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-subframeParity"><strong>subframeParity</strong></a> = EngNav_subframeParity(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'EngNav' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EngNav">class <strong>EngNav</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="EngNav-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EngNav></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EngNav-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="EngNav-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="EngNav-convert10bit"><strong>convert10bit</strong></a> = EngNav_convert10bit(...)</dt></dl>
+
+<dl><dt><a name="EngNav-convert8bit"><strong>convert8bit</strong></a> = EngNav_convert8bit(...)</dt></dl>
+
+<dl><dt><a name="EngNav-getSubframePattern"><strong>getSubframePattern</strong></a> = EngNav_getSubframePattern(...)</dt></dl>
+
+<dl><dt><a name="EngNav-subframeConvert"><strong>subframeConvert</strong></a> = EngNav_subframeConvert(...)</dt></dl>
+
+<dl><dt><a name="EngNav-subframeParity"><strong>subframeParity</strong></a> = EngNav_subframeParity(...)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'convert10bit': <function <lambda>>, 'convert8bit': <function <lambda>>, 'getSubframePattern': <function <lambda>>, 'subframeConvert': <function <lambda>>, 'subframeParity': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'EngNav' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EngNavPtr">class <strong>EngNavPtr</strong></a>(<a href="gpstkPython.html#EngNav">EngNav</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EngNavPtr">EngNavPtr</a></dd>
+<dd><a href="gpstkPython.html#EngNav">EngNav</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EngNavPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><a name="EngNavPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EngNav></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EngNavPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><a name="EngNavPtr-convert10bit"><strong>convert10bit</strong></a> = EngNav_convert10bit(...)</dt></dl>
+
+<dl><dt><a name="EngNavPtr-convert8bit"><strong>convert8bit</strong></a> = EngNav_convert8bit(...)</dt></dl>
+
+<dl><dt><a name="EngNavPtr-getSubframePattern"><strong>getSubframePattern</strong></a> = EngNav_getSubframePattern(...)</dt></dl>
+
+<dl><dt><a name="EngNavPtr-subframeConvert"><strong>subframeConvert</strong></a> = EngNav_subframeConvert(...)</dt></dl>
+
+<dl><dt><a name="EngNavPtr-subframeParity"><strong>subframeParity</strong></a> = EngNav_subframeParity(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'convert10bit': <function <lambda>>, 'convert8bit': <function <lambda>>, 'getSubframePattern': <function <lambda>>, 'subframeConvert': <function <lambda>>, 'subframeParity': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'EngNav' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EpochClockModel">class <strong>EpochClockModel</strong></a>(<a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EpochClockModel">EpochClockModel</a></dd>
+<dd><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EpochClockModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EpochClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EpochClockModel-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="EpochClockModel-addEpoch"><strong>addEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><a name="EpochClockModel-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-getElevationMask"><strong>getElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-getPRNMode"><strong>getPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-getPRNModeMap"><strong>getPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-getPRNStatus"><strong>getPRNStatus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-getPRNStatusMap"><strong>getPRNStatusMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-getSigmaMultiplier"><strong>getSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-setElevationMask"><strong>setElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-setPRNMode"><strong>setPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-setPRNModeMap"><strong>setPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-setSigmaMultiplier"><strong>setSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-simpleOrdClock"><strong>simpleOrdClock</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><strong>ALWAYS</strong> = 2</dl>
+
+<dl><dt><strong>ELEVATION</strong> = 3</dl>
+
+<dl><dt><strong>HEALTHY</strong> = 1</dl>
+
+<dl><dt><strong>IGNORE</strong> = 0</dl>
+
+<dl><dt><strong>MANUAL</strong> = 1</dl>
+
+<dl><dt><strong>SIGMA</strong> = 4</dl>
+
+<dl><dt><strong>SVHEALTH</strong> = 2</dl>
+
+<dl><dt><strong>USED</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><a name="EpochClockModel-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EpochClockModelPtr">class <strong>EpochClockModelPtr</strong></a>(<a href="gpstkPython.html#EpochClockModel">EpochClockModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EpochClockModelPtr">EpochClockModelPtr</a></dd>
+<dd><a href="gpstkPython.html#EpochClockModel">EpochClockModel</a></dd>
+<dd><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EpochClockModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#EpochClockModel">EpochClockModel</a>:<br>
+<dl><dt><a name="EpochClockModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EpochClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-addEpoch"><strong>addEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EpochClockModel">EpochClockModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><a name="EpochClockModelPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-getElevationMask"><strong>getElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-getPRNMode"><strong>getPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-getPRNModeMap"><strong>getPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-getPRNStatus"><strong>getPRNStatus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-getPRNStatusMap"><strong>getPRNStatusMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-getSigmaMultiplier"><strong>getSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-setElevationMask"><strong>setElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-setPRNMode"><strong>setPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-setPRNModeMap"><strong>setPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-setSigmaMultiplier"><strong>setSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-simpleOrdClock"><strong>simpleOrdClock</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><strong>ALWAYS</strong> = 2</dl>
+
+<dl><dt><strong>ELEVATION</strong> = 3</dl>
+
+<dl><dt><strong>HEALTHY</strong> = 1</dl>
+
+<dl><dt><strong>IGNORE</strong> = 0</dl>
+
+<dl><dt><strong>MANUAL</strong> = 1</dl>
+
+<dl><dt><strong>SIGMA</strong> = 4</dl>
+
+<dl><dt><strong>SVHEALTH</strong> = 2</dl>
+
+<dl><dt><strong>USED</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><a name="EpochClockModelPtr-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="Exception">class <strong>Exception</strong></a>(<a href="gpstkPython.html#ostream">ostream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="Exception-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Exception></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="Exception-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Exception-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="Exception-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="Exception-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="Exception-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="Exception-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="Exception-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="Exception-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ExceptionLocation">class <strong>ExceptionLocation</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ExceptionLocation-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ExceptionLocation></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ExceptionLocation-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocation-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ExceptionLocation-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocation-getFileName"><strong>getFileName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocation-getFunctionName"><strong>getFunctionName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocation-getLineNumber"><strong>getLineNumber</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ExceptionLocation' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ExceptionLocationPtr">class <strong>ExceptionLocationPtr</strong></a>(<a href="gpstkPython.html#ExceptionLocation">ExceptionLocation</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ExceptionLocationPtr">ExceptionLocationPtr</a></dd>
+<dd><a href="gpstkPython.html#ExceptionLocation">ExceptionLocation</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ExceptionLocationPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ExceptionLocation">ExceptionLocation</a>:<br>
+<dl><dt><a name="ExceptionLocationPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ExceptionLocation></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ExceptionLocationPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ExceptionLocationPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocationPtr-getFileName"><strong>getFileName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocationPtr-getFunctionName"><strong>getFunctionName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocationPtr-getLineNumber"><strong>getLineNumber</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ExceptionLocation">ExceptionLocation</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ExceptionLocation' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ExceptionPtr">class <strong>ExceptionPtr</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ExceptionPtr">ExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="ExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Exception></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="ExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ExtraWaveFact">class <strong>ExtraWaveFact</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ExtraWaveFact-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ExtraWaveFact></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ExtraWaveFact-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ExtraWaveFact-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>prnList</strong></dt>
+<dd><dl><dt><a name="ExtraWaveFact-<em>get</em>"><strong><em>get</em></strong></a> = ExtraWaveFact_prnList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ExtraWaveFact-<em>set</em>"><strong><em>set</em></strong></a> = ExtraWaveFact_prnList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>wavelengthFactor</strong></dt>
+<dd><dl><dt><a name="ExtraWaveFact-<em>get</em>"><strong><em>get</em></strong></a> = ExtraWaveFact_wavelengthFactor_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ExtraWaveFact-<em>set</em>"><strong><em>set</em></strong></a> = ExtraWaveFact_wavelengthFactor_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'prnList': <built-in function ExtraWaveFact_prnList_get>, 'wavelengthFactor': <built-in function ExtraWaveFact_wavelengthFactor_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'prnList': <built-in function ExtraWaveFact_prnList_set>, 'wavelengthFactor': <built-in function ExtraWaveFact_wavelengthFactor_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ExtraWaveFact' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ExtraWaveFactPtr">class <strong>ExtraWaveFactPtr</strong></a>(<a href="gpstkPython.html#ExtraWaveFact">ExtraWaveFact</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ExtraWaveFactPtr">ExtraWaveFactPtr</a></dd>
+<dd><a href="gpstkPython.html#ExtraWaveFact">ExtraWaveFact</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ExtraWaveFactPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ExtraWaveFact">ExtraWaveFact</a>:<br>
+<dl><dt><a name="ExtraWaveFactPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ExtraWaveFact></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ExtraWaveFactPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#ExtraWaveFact">ExtraWaveFact</a>:<br>
+<dl><dt><strong>prnList</strong></dt>
+<dd><dl><dt><a name="ExtraWaveFactPtr-<em>get</em>"><strong><em>get</em></strong></a> = ExtraWaveFact_prnList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ExtraWaveFactPtr-<em>set</em>"><strong><em>set</em></strong></a> = ExtraWaveFact_prnList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>wavelengthFactor</strong></dt>
+<dd><dl><dt><a name="ExtraWaveFactPtr-<em>get</em>"><strong><em>get</em></strong></a> = ExtraWaveFact_wavelengthFactor_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ExtraWaveFactPtr-<em>set</em>"><strong><em>set</em></strong></a> = ExtraWaveFact_wavelengthFactor_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ExtraWaveFact">ExtraWaveFact</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'prnList': <built-in function ExtraWaveFact_prnList_get>, 'wavelengthFactor': <built-in function ExtraWaveFact_wavelengthFactor_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'prnList': <built-in function ExtraWaveFact_prnList_set>, 'wavelengthFactor': <built-in function ExtraWaveFact_wavelengthFactor_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ExtraWaveFact' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FFData">class <strong>FFData</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FFData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FFData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FFData-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="FFData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FFData-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFData-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFData-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFData-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFData-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FFDataPtr">class <strong>FFDataPtr</strong></a>(<a href="gpstkPython.html#FFData">FFData</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FFDataPtr">FFDataPtr</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FFDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="FFDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FFData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FFDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FFDataPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFDataPtr-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFDataPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFDataPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFDataPtr-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FFStream">class <strong>FFStream</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FFStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FFStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FFStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FFStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FFStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="FFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="FFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="FFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FFStreamPtr">class <strong>FFStreamPtr</strong></a>(<a href="gpstkPython.html#FFStream">FFStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FFStreamPtr">FFStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FFStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="FFStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FFStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FFStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FFStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="FFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="FFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="FFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FFTextStream">class <strong>FFTextStream</strong></a>(<a href="gpstkPython.html#FFStream">FFStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FFTextStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FFTextStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FFTextStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FFTextStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FFTextStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFTextStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="FFTextStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="FFTextStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="FFTextStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="FFTextStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="FFTextStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FFTextStreamPtr">class <strong>FFTextStreamPtr</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FFTextStreamPtr">FFTextStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FFTextStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="FFTextStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FFTextStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FFTextStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FFTextStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFTextStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="FFTextStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICAStream">class <strong>FICAStream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FICAStream">FICAStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FICAStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICAStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICAStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FICAStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICAStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="FICAStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="FICAStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="FICAStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="FICAStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="FICAStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="FICAStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICAStreamPtr">class <strong>FICAStreamPtr</strong></a>(<a href="gpstkPython.html#FICAStream">FICAStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FICAStreamPtr">FICAStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#FICAStream">FICAStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FICAStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FICAStream">FICAStream</a>:<br>
+<dl><dt><a name="FICAStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICAStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICAStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICAStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FICAStream">FICAStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="FICAStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="FICAStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="FICAStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="FICAStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="FICAStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="FICAStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICData">class <strong>FICData</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FICData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FICData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICData-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICData-generateUniqueKey"><strong>generateUniqueKey</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICData-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICData-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICData-operator_AlmOrbit"><strong>operator_AlmOrbit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICData-operator_EngEphemeris"><strong>operator_EngEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICData-prettyDump"><strong>prettyDump</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>blockNum</strong></dt>
+<dd><dl><dt><a name="FICData-<em>get</em>"><strong><em>get</em></strong></a> = FICData_blockNum_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICData-<em>set</em>"><strong><em>set</em></strong></a> = FICData_blockNum_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>c</strong></dt>
+<dd><dl><dt><a name="FICData-<em>get</em>"><strong><em>get</em></strong></a> = FICData_c_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICData-<em>set</em>"><strong><em>set</em></strong></a> = FICData_c_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>f</strong></dt>
+<dd><dl><dt><a name="FICData-<em>get</em>"><strong><em>get</em></strong></a> = FICData_f_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICData-<em>set</em>"><strong><em>set</em></strong></a> = FICData_f_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>i</strong></dt>
+<dd><dl><dt><a name="FICData-<em>get</em>"><strong><em>get</em></strong></a> = FICData_i_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICData-<em>set</em>"><strong><em>set</em></strong></a> = FICData_i_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'blockNum': <built-in function FICData_blockNum_get>, 'c': <built-in function FICData_c_get>, 'f': <built-in function FICData_f_get>, 'i': <built-in function FICData_i_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'blockNum': <built-in function FICData_blockNum_set>, 'c': <built-in function FICData_c_set>, 'f': <built-in function FICData_f_set>, 'i': <built-in function FICData_i_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FICData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>blockString</strong> = 'BLK '</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICDataPtr">class <strong>FICDataPtr</strong></a>(<a href="gpstkPython.html#FICData">FICData</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FICDataPtr">FICDataPtr</a></dd>
+<dd><a href="gpstkPython.html#FICData">FICData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FICDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FICData">FICData</a>:<br>
+<dl><dt><a name="FICDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICDataPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICDataPtr-generateUniqueKey"><strong>generateUniqueKey</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICDataPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICDataPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICDataPtr-operator_AlmOrbit"><strong>operator_AlmOrbit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICDataPtr-operator_EngEphemeris"><strong>operator_EngEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICDataPtr-prettyDump"><strong>prettyDump</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FICData">FICData</a>:<br>
+<dl><dt><strong>blockNum</strong></dt>
+<dd><dl><dt><a name="FICDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = FICData_blockNum_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = FICData_blockNum_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>c</strong></dt>
+<dd><dl><dt><a name="FICDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = FICData_c_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = FICData_c_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>f</strong></dt>
+<dd><dl><dt><a name="FICDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = FICData_f_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = FICData_f_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>i</strong></dt>
+<dd><dl><dt><a name="FICDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = FICData_i_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = FICData_i_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FICData">FICData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'blockNum': <built-in function FICData_blockNum_get>, 'c': <built-in function FICData_c_get>, 'f': <built-in function FICData_f_get>, 'i': <built-in function FICData_i_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'blockNum': <built-in function FICData_blockNum_set>, 'c': <built-in function FICData_c_set>, 'f': <built-in function FICData_f_set>, 'i': <built-in function FICData_i_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FICData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>blockString</strong> = 'BLK '</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICHeader">class <strong>FICHeader</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FICHeader-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICHeader-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FICHeader-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICHeader-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICHeader-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="FICHeader-<em>get</em>"><strong><em>get</em></strong></a> = FICHeader_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICHeader-<em>set</em>"><strong><em>set</em></strong></a> = FICHeader_header_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'header': <built-in function FICHeader_header_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'header': <built-in function FICHeader_header_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FICHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>headerSize</strong> = 40</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICHeaderPtr">class <strong>FICHeaderPtr</strong></a>(<a href="gpstkPython.html#FICHeader">FICHeader</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FICHeaderPtr">FICHeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#FICHeader">FICHeader</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FICHeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FICHeader">FICHeader</a>:<br>
+<dl><dt><a name="FICHeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICHeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICHeaderPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICHeaderPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FICHeader">FICHeader</a>:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="FICHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = FICHeader_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = FICHeader_header_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FICHeader">FICHeader</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'header': <built-in function FICHeader_header_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'header': <built-in function FICHeader_header_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FICHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>headerSize</strong> = 40</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICStream">class <strong>FICStream</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FICStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FICStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FICStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICStreamPtr">class <strong>FICStreamPtr</strong></a>(<a href="gpstkPython.html#FICStream">FICStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FICStreamPtr">FICStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#FICStream">FICStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FICStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FICStream">FICStream</a>:<br>
+<dl><dt><a name="FICStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FICStream">FICStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FICStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileHunter">class <strong>FileHunter</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FileHunter-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileHunter></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileHunter-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FileHunter-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileHunter-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunter-find"><strong>find</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunter-newHunt"><strong>newHunt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunter-setFilter"><strong>setFilter</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>DAY</strong> = 1</dl>
+
+<dl><dt><strong>HOUR</strong> = 2</dl>
+
+<dl><dt><strong>MINUTE</strong> = 3</dl>
+
+<dl><dt><strong>WEEK</strong> = 0</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileHunter' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileHunterException">class <strong>FileHunterException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileHunterException">FileHunterException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileHunterException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileHunterException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileHunterException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileHunterException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="FileHunterException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="FileHunterException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="FileHunterException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileHunterException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileHunterException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="FileHunterException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileHunterExceptionPtr">class <strong>FileHunterExceptionPtr</strong></a>(<a href="gpstkPython.html#FileHunterException">FileHunterException</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileHunterExceptionPtr">FileHunterExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#FileHunterException">FileHunterException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileHunterExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileHunterException">FileHunterException</a>:<br>
+<dl><dt><a name="FileHunterExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileHunterException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileHunterException">FileHunterException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="FileHunterExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="FileHunterExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="FileHunterExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileHunterExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileHunterExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileHunterPtr">class <strong>FileHunterPtr</strong></a>(<a href="gpstkPython.html#FileHunter">FileHunter</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileHunterPtr">FileHunterPtr</a></dd>
+<dd><a href="gpstkPython.html#FileHunter">FileHunter</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileHunterPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileHunter">FileHunter</a>:<br>
+<dl><dt><a name="FileHunterPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileHunter></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileHunterPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileHunterPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterPtr-find"><strong>find</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterPtr-newHunt"><strong>newHunt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterPtr-setFilter"><strong>setFilter</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileHunter">FileHunter</a>:<br>
+<dl><dt><strong>DAY</strong> = 1</dl>
+
+<dl><dt><strong>HOUR</strong> = 2</dl>
+
+<dl><dt><strong>MINUTE</strong> = 3</dl>
+
+<dl><dt><strong>WEEK</strong> = 0</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileHunter' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileMissingException">class <strong>FileMissingException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileMissingException">FileMissingException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileMissingException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileMissingException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileMissingException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileMissingException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="FileMissingException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="FileMissingException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="FileMissingException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileMissingException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileMissingException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="FileMissingException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileMissingExceptionPtr">class <strong>FileMissingExceptionPtr</strong></a>(<a href="gpstkPython.html#FileMissingException">FileMissingException</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileMissingExceptionPtr">FileMissingExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#FileMissingException">FileMissingException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileMissingExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileMissingException">FileMissingException</a>:<br>
+<dl><dt><a name="FileMissingExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileMissingException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileMissingException">FileMissingException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="FileMissingExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="FileMissingExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="FileMissingExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileMissingExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileMissingExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileStore_RinexNavHeader">class <strong>FileStore_RinexNavHeader</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FileStore_RinexNavHeader-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileStore_RinexNavHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileStore_RinexNavHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileStore_RinexNavHeaderPtr">class <strong>FileStore_RinexNavHeaderPtr</strong></a>(<a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileStore_RinexNavHeaderPtr">FileStore_RinexNavHeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>:<br>
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileStore_RinexNavHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileStore_RinexNavHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileStore_SP3Header">class <strong>FileStore_SP3Header</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FileStore_SP3Header-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileStore_SP3Header></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileStore_SP3Header' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileStore_SP3HeaderPtr">class <strong>FileStore_SP3HeaderPtr</strong></a>(<a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileStore_SP3HeaderPtr">FileStore_SP3HeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileStore_SP3HeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>:<br>
+<dl><dt><a name="FileStore_SP3HeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileStore_SP3Header></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileStore_SP3Header' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FormatException">class <strong>FormatException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FormatException">FormatException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FormatException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FormatException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FormatException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FormatException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FormatException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="FormatException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="FormatException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="FormatException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FormatException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FormatException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="FormatException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FormatExceptionPtr">class <strong>FormatExceptionPtr</strong></a>(<a href="gpstkPython.html#FormatException">FormatException</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FormatExceptionPtr">FormatExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#FormatException">FormatException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FormatExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FormatException">FormatException</a>:<br>
+<dl><dt><a name="FormatExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FormatException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FormatException">FormatException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="FormatExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="FormatExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="FormatExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FormatExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FormatExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GGHeightTropModel">class <strong>GGHeightTropModel</strong></a>(<a href="gpstkPython.html#TropModel">TropModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GGHeightTropModel">GGHeightTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GGHeightTropModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GGHeightTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-setHeights"><strong>setHeights</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-setReceiverHeight"><strong>setReceiverHeight</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="GGHeightTropModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GGHeightTropModelPtr">class <strong>GGHeightTropModelPtr</strong></a>(<a href="gpstkPython.html#GGHeightTropModel">GGHeightTropModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GGHeightTropModelPtr">GGHeightTropModelPtr</a></dd>
+<dd><a href="gpstkPython.html#GGHeightTropModel">GGHeightTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GGHeightTropModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#GGHeightTropModel">GGHeightTropModel</a>:<br>
+<dl><dt><a name="GGHeightTropModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GGHeightTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-setHeights"><strong>setHeights</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-setReceiverHeight"><strong>setReceiverHeight</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#GGHeightTropModel">GGHeightTropModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="GGHeightTropModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GGTropModel">class <strong>GGTropModel</strong></a>(<a href="gpstkPython.html#TropModel">TropModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GGTropModel">GGTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GGTropModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GGTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GGTropModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="GGTropModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GGTropModel-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModel-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModel-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModel-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModel-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="GGTropModel-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GGTropModelPtr">class <strong>GGTropModelPtr</strong></a>(<a href="gpstkPython.html#GGTropModel">GGTropModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GGTropModelPtr">GGTropModelPtr</a></dd>
+<dd><a href="gpstkPython.html#GGTropModel">GGTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GGTropModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#GGTropModel">GGTropModel</a>:<br>
+<dl><dt><a name="GGTropModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GGTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#GGTropModel">GGTropModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="GGTropModelPtr-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GPSZcount">class <strong>GPSZcount</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="GPSZcount-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GPSZcount></font>)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__ge__"><strong>__ge__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GPSZcount-__gt__"><strong>__gt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__iadd__"><strong>__iadd__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__isub__"><strong>__isub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__le__"><strong>__le__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__lt__"><strong>__lt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GPSZcount-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-addWeeks"><strong>addWeeks</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-addZcounts"><strong>addZcounts</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-getFullZcount"><strong>getFullZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-getTotalZcounts"><strong>getTotalZcounts</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-getWeek"><strong>getWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-getZcount"><strong>getZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-inSameTimeBlock"><strong>inSameTimeBlock</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-operator_std_string"><strong>operator_std_string</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-setFullZcount"><strong>setFullZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-setWeek"><strong>setWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-setZcount"><strong>setZcount</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>ZCOUNT_DAY</strong> = 57600</dl>
+
+<dl><dt><strong>ZCOUNT_HOUR</strong> = 2400</dl>
+
+<dl><dt><strong>ZCOUNT_MINUTE</strong> = 40</dl>
+
+<dl><dt><strong>ZCOUNT_WEEK</strong> = 403200</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'GPSZcount' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GPSZcountPtr">class <strong>GPSZcountPtr</strong></a>(<a href="gpstkPython.html#GPSZcount">GPSZcount</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GPSZcountPtr">GPSZcountPtr</a></dd>
+<dd><a href="gpstkPython.html#GPSZcount">GPSZcount</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GPSZcountPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#GPSZcount">GPSZcount</a>:<br>
+<dl><dt><a name="GPSZcountPtr-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GPSZcount></font>)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__ge__"><strong>__ge__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__gt__"><strong>__gt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__iadd__"><strong>__iadd__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__isub__"><strong>__isub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__le__"><strong>__le__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__lt__"><strong>__lt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-addWeeks"><strong>addWeeks</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-addZcounts"><strong>addZcounts</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-getFullZcount"><strong>getFullZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-getTotalZcounts"><strong>getTotalZcounts</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-getWeek"><strong>getWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-getZcount"><strong>getZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-inSameTimeBlock"><strong>inSameTimeBlock</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-operator_std_string"><strong>operator_std_string</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-setFullZcount"><strong>setFullZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-setWeek"><strong>setWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-setZcount"><strong>setZcount</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#GPSZcount">GPSZcount</a>:<br>
+<dl><dt><strong>ZCOUNT_DAY</strong> = 57600</dl>
+
+<dl><dt><strong>ZCOUNT_HOUR</strong> = 2400</dl>
+
+<dl><dt><strong>ZCOUNT_MINUTE</strong> = 40</dl>
+
+<dl><dt><strong>ZCOUNT_WEEK</strong> = 403200</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'GPSZcount' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GenXSequence">class <strong>GenXSequence</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="GenXSequence-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GenXSequence></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GenXSequence-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="GenXSequence-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GenXSequence-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GenXSequence-setLengthOfSequence"><strong>setLengthOfSequence</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'GenXSequence' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GenXSequencePtr">class <strong>GenXSequencePtr</strong></a>(<a href="gpstkPython.html#GenXSequence">GenXSequence</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GenXSequencePtr">GenXSequencePtr</a></dd>
+<dd><a href="gpstkPython.html#GenXSequence">GenXSequence</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GenXSequencePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#GenXSequence">GenXSequence</a>:<br>
+<dl><dt><a name="GenXSequencePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GenXSequence></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GenXSequencePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GenXSequencePtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GenXSequencePtr-setLengthOfSequence"><strong>setLengthOfSequence</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#GenXSequence">GenXSequence</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'GenXSequence' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="Geodetic">class <strong>Geodetic</strong></a>(<a href="gpstkPython.html#Triple">Triple</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#Geodetic">Geodetic</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="Geodetic-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Geodetic></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="Geodetic-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Geodetic-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="Geodetic-asECEF"><strong>asECEF</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-getAltitude"><strong>getAltitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-getLatitude"><strong>getLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-getLongitude"><strong>getLongitude</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'theArray': <built-in function Triple_theArray_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="Geodetic-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="Geodetic-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Geodetic-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GeodeticPtr">class <strong>GeodeticPtr</strong></a>(<a href="gpstkPython.html#Geodetic">Geodetic</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GeodeticPtr">GeodeticPtr</a></dd>
+<dd><a href="gpstkPython.html#Geodetic">Geodetic</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GeodeticPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Geodetic">Geodetic</a>:<br>
+<dl><dt><a name="GeodeticPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Geodetic></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-asECEF"><strong>asECEF</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-getAltitude"><strong>getAltitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-getLatitude"><strong>getLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-getLongitude"><strong>getLongitude</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Geodetic">Geodetic</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'theArray': <built-in function Triple_theArray_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="GeodeticPtr-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="GeodeticPtr-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="GeodeticPtr-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GeoidModel">class <strong>GeoidModel</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="GeoidModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GeoidModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GeoidModel-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="GeoidModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GeoidModel-a"><strong>a</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-a_km"><strong>a_km</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-angVelocity"><strong>angVelocity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-c"><strong>c</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-c_km"><strong>c_km</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-eccSquared"><strong>eccSquared</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-eccentricity"><strong>eccentricity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-flattening"><strong>flattening</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-gm"><strong>gm</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-gm_km"><strong>gm_km</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'GeoidModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GeoidModelPtr">class <strong>GeoidModelPtr</strong></a>(<a href="gpstkPython.html#GeoidModel">GeoidModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GeoidModelPtr">GeoidModelPtr</a></dd>
+<dd><a href="gpstkPython.html#GeoidModel">GeoidModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GeoidModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#GeoidModel">GeoidModel</a>:<br>
+<dl><dt><a name="GeoidModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GeoidModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-a"><strong>a</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-a_km"><strong>a_km</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-angVelocity"><strong>angVelocity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-c"><strong>c</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-c_km"><strong>c_km</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-eccSquared"><strong>eccSquared</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-eccentricity"><strong>eccentricity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-flattening"><strong>flattening</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-gm"><strong>gm</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-gm_km"><strong>gm_km</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#GeoidModel">GeoidModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'GeoidModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GeometryException">class <strong>GeometryException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GeometryException">GeometryException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GeometryException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GeometryException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GeometryException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="GeometryException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GeometryException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="GeometryException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="GeometryException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="GeometryException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="GeometryException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="GeometryException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="GeometryException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GeometryExceptionPtr">class <strong>GeometryExceptionPtr</strong></a>(<a href="gpstkPython.html#GeometryException">GeometryException</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GeometryExceptionPtr">GeometryExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#GeometryException">GeometryException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GeometryExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#GeometryException">GeometryException</a>:<br>
+<dl><dt><a name="GeometryExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GeometryException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#GeometryException">GeometryException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="GeometryExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="GeometryExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="GeometryExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="GeometryExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="GeometryExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="IndexOutOfBoundsException">class <strong>IndexOutOfBoundsException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#IndexOutOfBoundsException">IndexOutOfBoundsException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="IndexOutOfBoundsException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_IndexOutOfBoundsException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="IndexOutOfBoundsExceptionPtr">class <strong>IndexOutOfBoundsExceptionPtr</strong></a>(<a href="gpstkPython.html#IndexOutOfBoundsException">IndexOutOfBoundsException</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#IndexOutOfBoundsExceptionPtr">IndexOutOfBoundsExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#IndexOutOfBoundsException">IndexOutOfBoundsException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#IndexOutOfBoundsException">IndexOutOfBoundsException</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_IndexOutOfBoundsException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#IndexOutOfBoundsException">IndexOutOfBoundsException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidArgumentException">class <strong>InvalidArgumentException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidArgumentException">InvalidArgumentException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidArgumentException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidArgumentException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidArgumentException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidArgumentException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidArgumentException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidArgumentException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidArgumentException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidArgumentExceptionPtr">class <strong>InvalidArgumentExceptionPtr</strong></a>(<a href="gpstkPython.html#InvalidArgumentException">InvalidArgumentException</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidArgumentExceptionPtr">InvalidArgumentExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#InvalidArgumentException">InvalidArgumentException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#InvalidArgumentException">InvalidArgumentException</a>:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidArgumentException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#InvalidArgumentException">InvalidArgumentException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidParameter">class <strong>InvalidParameter</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidParameter">InvalidParameter</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidParameter-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidParameter></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidParameter-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidParameter-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidParameter-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidParameter-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidParameter-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidParameter-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidParameter-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidParameterPtr">class <strong>InvalidParameterPtr</strong></a>(<a href="gpstkPython.html#InvalidParameter">InvalidParameter</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidParameterPtr">InvalidParameterPtr</a></dd>
+<dd><a href="gpstkPython.html#InvalidParameter">InvalidParameter</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidParameterPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#InvalidParameter">InvalidParameter</a>:<br>
+<dl><dt><a name="InvalidParameterPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidParameter></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#InvalidParameter">InvalidParameter</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidParameterPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidParameterPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidParameterPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidParameterPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidParameterPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidRequest">class <strong>InvalidRequest</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidRequest">InvalidRequest</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidRequest-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidRequest></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidRequest-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidRequest-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidRequest-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidRequest-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidRequest-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidRequest-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidRequest-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidRequestPtr">class <strong>InvalidRequestPtr</strong></a>(<a href="gpstkPython.html#InvalidRequest">InvalidRequest</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidRequestPtr">InvalidRequestPtr</a></dd>
+<dd><a href="gpstkPython.html#InvalidRequest">InvalidRequest</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidRequestPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#InvalidRequest">InvalidRequest</a>:<br>
+<dl><dt><a name="InvalidRequestPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidRequest></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#InvalidRequest">InvalidRequest</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidRequestPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidRequestPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidRequestPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidRequestPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidRequestPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidValue">class <strong>InvalidValue</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidValue">InvalidValue</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidValue-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidValue></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidValue-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidValue-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidValue-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidValue-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidValue-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidValue-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidValue-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidValue-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidValuePtr">class <strong>InvalidValuePtr</strong></a>(<a href="gpstkPython.html#InvalidValue">InvalidValue</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidValuePtr">InvalidValuePtr</a></dd>
+<dd><a href="gpstkPython.html#InvalidValue">InvalidValue</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidValuePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#InvalidValue">InvalidValue</a>:<br>
+<dl><dt><a name="InvalidValuePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidValue></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#InvalidValue">InvalidValue</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidValuePtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidValuePtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidValuePtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidValuePtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidValuePtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="IonoModel">class <strong>IonoModel</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="IonoModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_IonoModel></font>)</dt></dl>
+
+<dl><dt><a name="IonoModel-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="IonoModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="IonoModel-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IonoModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="IonoModel-getCorrection"><strong>getCorrection</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IonoModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>L1</strong> = 0</dl>
+
+<dl><dt><strong>L2</strong> = 1</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'IonoModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="IonoModelPtr">class <strong>IonoModelPtr</strong></a>(<a href="gpstkPython.html#IonoModel">IonoModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#IonoModelPtr">IonoModelPtr</a></dd>
+<dd><a href="gpstkPython.html#IonoModel">IonoModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="IonoModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#IonoModel">IonoModel</a>:<br>
+<dl><dt><a name="IonoModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_IonoModel></font>)</dt></dl>
+
+<dl><dt><a name="IonoModelPtr-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="IonoModelPtr-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IonoModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="IonoModelPtr-getCorrection"><strong>getCorrection</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IonoModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#IonoModel">IonoModel</a>:<br>
+<dl><dt><strong>L1</strong> = 0</dl>
+
+<dl><dt><strong>L2</strong> = 1</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'IonoModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="IonoModelStore">class <strong>IonoModelStore</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="IonoModelStore-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_IonoModelStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="IonoModelStore-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="IonoModelStore-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="IonoModelStore-addIonoModel"><strong>addIonoModel</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IonoModelStore-getCorrection"><strong>getCorrection</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'IonoModelStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="IonoModelStorePtr">class <strong>IonoModelStorePtr</strong></a>(<a href="gpstkPython.html#IonoModelStore">IonoModelStore</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#IonoModelStorePtr">IonoModelStorePtr</a></dd>
+<dd><a href="gpstkPython.html#IonoModelStore">IonoModelStore</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="IonoModelStorePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#IonoModelStore">IonoModelStore</a>:<br>
+<dl><dt><a name="IonoModelStorePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_IonoModelStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="IonoModelStorePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="IonoModelStorePtr-addIonoModel"><strong>addIonoModel</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IonoModelStorePtr-getCorrection"><strong>getCorrection</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#IonoModelStore">IonoModelStore</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'IonoModelStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="LinearClockModel">class <strong>LinearClockModel</strong></a>(<a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#LinearClockModel">LinearClockModel</a></dd>
+<dd><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="LinearClockModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_LinearClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="LinearClockModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="LinearClockModel-addEpoch"><strong>addEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-reset"><strong>reset</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><a name="LinearClockModel-getElevationMask"><strong>getElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-getPRNMode"><strong>getPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-getPRNModeMap"><strong>getPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-getPRNStatus"><strong>getPRNStatus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-getPRNStatusMap"><strong>getPRNStatusMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-getSigmaMultiplier"><strong>getSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-setElevationMask"><strong>setElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-setPRNMode"><strong>setPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-setPRNModeMap"><strong>setPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-setSigmaMultiplier"><strong>setSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-simpleOrdClock"><strong>simpleOrdClock</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><strong>ALWAYS</strong> = 2</dl>
+
+<dl><dt><strong>ELEVATION</strong> = 3</dl>
+
+<dl><dt><strong>HEALTHY</strong> = 1</dl>
+
+<dl><dt><strong>IGNORE</strong> = 0</dl>
+
+<dl><dt><strong>MANUAL</strong> = 1</dl>
+
+<dl><dt><strong>SIGMA</strong> = 4</dl>
+
+<dl><dt><strong>SVHEALTH</strong> = 2</dl>
+
+<dl><dt><strong>USED</strong> = 0</dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="LinearClockModelPtr">class <strong>LinearClockModelPtr</strong></a>(<a href="gpstkPython.html#LinearClockModel">LinearClockModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#LinearClockModelPtr">LinearClockModelPtr</a></dd>
+<dd><a href="gpstkPython.html#LinearClockModel">LinearClockModel</a></dd>
+<dd><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="LinearClockModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#LinearClockModel">LinearClockModel</a>:<br>
+<dl><dt><a name="LinearClockModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_LinearClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-addEpoch"><strong>addEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-reset"><strong>reset</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#LinearClockModel">LinearClockModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><a name="LinearClockModelPtr-getElevationMask"><strong>getElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-getPRNMode"><strong>getPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-getPRNModeMap"><strong>getPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-getPRNStatus"><strong>getPRNStatus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-getPRNStatusMap"><strong>getPRNStatusMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-getSigmaMultiplier"><strong>getSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-setElevationMask"><strong>setElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-setPRNMode"><strong>setPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-setPRNModeMap"><strong>setPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-setSigmaMultiplier"><strong>setSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-simpleOrdClock"><strong>simpleOrdClock</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><strong>ALWAYS</strong> = 2</dl>
+
+<dl><dt><strong>ELEVATION</strong> = 3</dl>
+
+<dl><dt><strong>HEALTHY</strong> = 1</dl>
+
+<dl><dt><strong>IGNORE</strong> = 0</dl>
+
+<dl><dt><strong>MANUAL</strong> = 1</dl>
+
+<dl><dt><strong>SIGMA</strong> = 4</dl>
+
+<dl><dt><strong>SVHEALTH</strong> = 2</dl>
+
+<dl><dt><strong>USED</strong> = 0</dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="MSCStream">class <strong>MSCStream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#MSCStream">MSCStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="MSCStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_MSCStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="MSCStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="MSCStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="MSCStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="MSCStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="MSCStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="MSCStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="MSCStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="MSCStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="MSCStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="MSCStreamPtr">class <strong>MSCStreamPtr</strong></a>(<a href="gpstkPython.html#MSCStream">MSCStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#MSCStreamPtr">MSCStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#MSCStream">MSCStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="MSCStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#MSCStream">MSCStream</a>:<br>
+<dl><dt><a name="MSCStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_MSCStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="MSCStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#MSCStream">MSCStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="MSCStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="MSCStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="MSCStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="MSCStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="MSCStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="MSCStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="MSCStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="NBTropModel">class <strong>NBTropModel</strong></a>(<a href="gpstkPython.html#TropModel">TropModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#NBTropModel">NBTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="NBTropModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_NBTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="NBTropModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="NBTropModel-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-setDayOfYear"><strong>setDayOfYear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-setReceiverHeight"><strong>setReceiverHeight</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-setReceiverLatitude"><strong>setReceiverLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="NBTropModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="NBTropModelPtr">class <strong>NBTropModelPtr</strong></a>(<a href="gpstkPython.html#NBTropModel">NBTropModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#NBTropModelPtr">NBTropModelPtr</a></dd>
+<dd><a href="gpstkPython.html#NBTropModel">NBTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="NBTropModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#NBTropModel">NBTropModel</a>:<br>
+<dl><dt><a name="NBTropModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_NBTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-setDayOfYear"><strong>setDayOfYear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-setReceiverHeight"><strong>setReceiverHeight</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-setReceiverLatitude"><strong>setReceiverLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#NBTropModel">NBTropModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="NBTropModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="NoGeoidException">class <strong>NoGeoidException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#NoGeoidException">NoGeoidException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="NoGeoidException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_NoGeoidException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="NoGeoidException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="NoGeoidException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="NoGeoidException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="NoGeoidException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="NoGeoidException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="NoGeoidException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="NoGeoidException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="NoGeoidExceptionPtr">class <strong>NoGeoidExceptionPtr</strong></a>(<a href="gpstkPython.html#NoGeoidException">NoGeoidException</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#NoGeoidExceptionPtr">NoGeoidExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#NoGeoidException">NoGeoidException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#NoGeoidException">NoGeoidException</a>:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_NoGeoidException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#NoGeoidException">NoGeoidException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ORDEpoch">class <strong>ORDEpoch</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ORDEpoch-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ORDEpoch></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ORDEpoch-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ORDEpoch-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ORDEpoch-applyClockModel"><strong>applyClockModel</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ORDEpoch-removeORD"><strong>removeORD</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>clockOffset</strong></dt>
+<dd><dl><dt><a name="ORDEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_clockOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_clockOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ords</strong></dt>
+<dd><dl><dt><a name="ORDEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_ords_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_ords_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="ORDEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>validClock</strong></dt>
+<dd><dl><dt><a name="ORDEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_validClock_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_validClock_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'clockOffset': <built-in function ORDEpoch_clockOffset_get>, 'ords': <built-in function ORDEpoch_ords_get>, 'time': <built-in function ORDEpoch_time_get>, 'validClock': <built-in function ORDEpoch_validClock_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'clockOffset': <built-in function ORDEpoch_clockOffset_set>, 'ords': <built-in function ORDEpoch_ords_set>, 'time': <built-in function ORDEpoch_time_set>, 'validClock': <built-in function ORDEpoch_validClock_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ORDEpoch' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ORDEpochPtr">class <strong>ORDEpochPtr</strong></a>(<a href="gpstkPython.html#ORDEpoch">ORDEpoch</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ORDEpochPtr">ORDEpochPtr</a></dd>
+<dd><a href="gpstkPython.html#ORDEpoch">ORDEpoch</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ORDEpochPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ORDEpoch">ORDEpoch</a>:<br>
+<dl><dt><a name="ORDEpochPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ORDEpoch></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ORDEpochPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ORDEpochPtr-applyClockModel"><strong>applyClockModel</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ORDEpochPtr-removeORD"><strong>removeORD</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#ORDEpoch">ORDEpoch</a>:<br>
+<dl><dt><strong>clockOffset</strong></dt>
+<dd><dl><dt><a name="ORDEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_clockOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_clockOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ords</strong></dt>
+<dd><dl><dt><a name="ORDEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_ords_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_ords_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="ORDEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>validClock</strong></dt>
+<dd><dl><dt><a name="ORDEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_validClock_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_validClock_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ORDEpoch">ORDEpoch</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'clockOffset': <built-in function ORDEpoch_clockOffset_get>, 'ords': <built-in function ORDEpoch_ords_get>, 'time': <built-in function ORDEpoch_time_get>, 'validClock': <built-in function ORDEpoch_validClock_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'clockOffset': <built-in function ORDEpoch_clockOffset_set>, 'ords': <built-in function ORDEpoch_ords_set>, 'time': <built-in function ORDEpoch_time_set>, 'validClock': <built-in function ORDEpoch_validClock_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ORDEpoch' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObjectNotFound">class <strong>ObjectNotFound</strong></a>(<a href="gpstkPython.html#AccessError">AccessError</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObjectNotFound">ObjectNotFound</a></dd>
+<dd><a href="gpstkPython.html#AccessError">AccessError</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObjectNotFound-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObjectNotFound></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="ObjectNotFound-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="ObjectNotFound-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ObjectNotFound-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ObjectNotFound-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ObjectNotFound-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObjectNotFoundPtr">class <strong>ObjectNotFoundPtr</strong></a>(<a href="gpstkPython.html#ObjectNotFound">ObjectNotFound</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObjectNotFoundPtr">ObjectNotFoundPtr</a></dd>
+<dd><a href="gpstkPython.html#ObjectNotFound">ObjectNotFound</a></dd>
+<dd><a href="gpstkPython.html#AccessError">AccessError</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObjectNotFoundPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObjectNotFound">ObjectNotFound</a>:<br>
+<dl><dt><a name="ObjectNotFoundPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObjectNotFound></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObjectNotFound">ObjectNotFound</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="ObjectNotFoundPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="ObjectNotFoundPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ObjectNotFoundPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ObjectNotFoundPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ObjectNotFoundPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObsClockModel">class <strong>ObsClockModel</strong></a>(<a href="gpstkPython.html#ClockModel">ClockModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObsClockModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObsClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObsClockModel-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObsClockModel-addEpoch"><strong>addEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-getElevationMask"><strong>getElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-getPRNMode"><strong>getPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-getPRNModeMap"><strong>getPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-getPRNStatus"><strong>getPRNStatus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-getPRNStatusMap"><strong>getPRNStatusMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-getSigmaMultiplier"><strong>getSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-setElevationMask"><strong>setElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-setPRNMode"><strong>setPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-setPRNModeMap"><strong>setPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-setSigmaMultiplier"><strong>setSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-simpleOrdClock"><strong>simpleOrdClock</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>ALWAYS</strong> = 2</dl>
+
+<dl><dt><strong>ELEVATION</strong> = 3</dl>
+
+<dl><dt><strong>HEALTHY</strong> = 1</dl>
+
+<dl><dt><strong>IGNORE</strong> = 0</dl>
+
+<dl><dt><strong>MANUAL</strong> = 1</dl>
+
+<dl><dt><strong>SIGMA</strong> = 4</dl>
+
+<dl><dt><strong>SVHEALTH</strong> = 2</dl>
+
+<dl><dt><strong>USED</strong> = 0</dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><a name="ObsClockModel-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObsClockModelPtr">class <strong>ObsClockModelPtr</strong></a>(<a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObsClockModelPtr">ObsClockModelPtr</a></dd>
+<dd><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObsClockModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><a name="ObsClockModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObsClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-addEpoch"><strong>addEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-getElevationMask"><strong>getElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-getPRNMode"><strong>getPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-getPRNModeMap"><strong>getPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-getPRNStatus"><strong>getPRNStatus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-getPRNStatusMap"><strong>getPRNStatusMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-getSigmaMultiplier"><strong>getSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-setElevationMask"><strong>setElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-setPRNMode"><strong>setPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-setPRNModeMap"><strong>setPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-setSigmaMultiplier"><strong>setSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-simpleOrdClock"><strong>simpleOrdClock</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><strong>ALWAYS</strong> = 2</dl>
+
+<dl><dt><strong>ELEVATION</strong> = 3</dl>
+
+<dl><dt><strong>HEALTHY</strong> = 1</dl>
+
+<dl><dt><strong>IGNORE</strong> = 0</dl>
+
+<dl><dt><strong>MANUAL</strong> = 1</dl>
+
+<dl><dt><strong>SIGMA</strong> = 4</dl>
+
+<dl><dt><strong>SVHEALTH</strong> = 2</dl>
+
+<dl><dt><strong>USED</strong> = 0</dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><a name="ObsClockModelPtr-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObsEpoch">class <strong>ObsEpoch</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ObsEpoch-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObsEpoch></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObsEpoch-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ObsEpoch-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObsEpoch-insertObservation"><strong>insertObservation</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>dt</strong></dt>
+<dd><dl><dt><a name="ObsEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ObsEpoch_dt_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObsEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ObsEpoch_dt_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="ObsEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ObsEpoch_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObsEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ObsEpoch_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>t</strong></dt>
+<dd><dl><dt><a name="ObsEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ObsEpoch_t_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObsEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ObsEpoch_t_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'dt': <built-in function ObsEpoch_dt_get>, 'obs': <built-in function ObsEpoch_obs_get>, 't': <built-in function ObsEpoch_t_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'dt': <built-in function ObsEpoch_dt_set>, 'obs': <built-in function ObsEpoch_obs_set>, 't': <built-in function ObsEpoch_t_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ObsEpoch' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObsEpochPtr">class <strong>ObsEpochPtr</strong></a>(<a href="gpstkPython.html#ObsEpoch">ObsEpoch</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObsEpochPtr">ObsEpochPtr</a></dd>
+<dd><a href="gpstkPython.html#ObsEpoch">ObsEpoch</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObsEpochPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsEpoch">ObsEpoch</a>:<br>
+<dl><dt><a name="ObsEpochPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObsEpoch></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObsEpochPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObsEpochPtr-insertObservation"><strong>insertObservation</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#ObsEpoch">ObsEpoch</a>:<br>
+<dl><dt><strong>dt</strong></dt>
+<dd><dl><dt><a name="ObsEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObsEpoch_dt_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObsEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObsEpoch_dt_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="ObsEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObsEpoch_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObsEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObsEpoch_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>t</strong></dt>
+<dd><dl><dt><a name="ObsEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObsEpoch_t_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObsEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObsEpoch_t_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsEpoch">ObsEpoch</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'dt': <built-in function ObsEpoch_dt_get>, 'obs': <built-in function ObsEpoch_obs_get>, 't': <built-in function ObsEpoch_t_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'dt': <built-in function ObsEpoch_dt_set>, 'obs': <built-in function ObsEpoch_obs_set>, 't': <built-in function ObsEpoch_t_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ObsEpoch' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObsRngDev">class <strong>ObsRngDev</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ObsRngDev-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObsRngDev></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObsRngDev-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObsRngDev-applyClockOffset"><strong>applyClockOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getAzimuth"><strong>getAzimuth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getElevation"><strong>getElevation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getHealth"><strong>getHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getIODC"><strong>getIODC</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getIono"><strong>getIono</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getORD"><strong>getORD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getPRN"><strong>getPRN</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getTime"><strong>getTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getTrop"><strong>getTrop</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ObsRngDev' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObsRngDevPtr">class <strong>ObsRngDevPtr</strong></a>(<a href="gpstkPython.html#ObsRngDev">ObsRngDev</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObsRngDevPtr">ObsRngDevPtr</a></dd>
+<dd><a href="gpstkPython.html#ObsRngDev">ObsRngDev</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObsRngDevPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsRngDev">ObsRngDev</a>:<br>
+<dl><dt><a name="ObsRngDevPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObsRngDev></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-applyClockOffset"><strong>applyClockOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getAzimuth"><strong>getAzimuth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getElevation"><strong>getElevation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getHealth"><strong>getHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getIODC"><strong>getIODC</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getIono"><strong>getIono</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getORD"><strong>getORD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getPRN"><strong>getPRN</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getTime"><strong>getTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getTrop"><strong>getTrop</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsRngDev">ObsRngDev</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ObsRngDev' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="Observation">class <strong>Observation</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Observation-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Observation></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="Observation-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Observation-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>SNR</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_SNR_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_SNR_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>carrier</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_carrier_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_carrier_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>channel</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_channel_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_channel_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>code</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_code_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_code_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>doppler</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_doppler_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_doppler_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>phase</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_phase_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_phase_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>range</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_range_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_range_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'SNR': <built-in function Observation_SNR_get>, 'carrier': <built-in function Observation_carrier_get>, 'channel': <built-in function Observation_channel_get>, 'code': <built-in function Observation_code_get>, 'doppler': <built-in function Observation_doppler_get>, 'phase': <built-in function Observation_phase_get>, 'range': <built-in function Observation_range_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'SNR': <built-in function Observation_SNR_set>, 'carrier': <built-in function Observation_carrier_set>, 'channel': <built-in function Observation_channel_set>, 'code': <built-in function Observation_code_set>, 'doppler': <built-in function Observation_doppler_set>, 'phase': <built-in function Observation_phase_set>, 'range': <built-in function Observation_range_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Observation' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>cfL1</strong> = 0</dl>
+
+<dl><dt><strong>cfL2</strong> = 1</dl>
+
+<dl><dt><strong>cfL5</strong> = 2</dl>
+
+<dl><dt><strong>cfOther</strong> = 3</dl>
+
+<dl><dt><strong>rcCA</strong> = 0</dl>
+
+<dl><dt><strong>rcOther</strong> = 4</dl>
+
+<dl><dt><strong>rcPY</strong> = 1</dl>
+
+<dl><dt><strong>rcRC</strong> = 3</dl>
+
+<dl><dt><strong>rcZ</strong> = 2</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObservationPlus">class <strong>ObservationPlus</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ObservationPlus-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObservationPlus></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObservationPlus-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ObservationPlus-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="ObservationPlus-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlus-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rxId</strong></dt>
+<dd><dl><dt><a name="ObservationPlus-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_rxId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlus-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_rxId_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svId</strong></dt>
+<dd><dl><dt><a name="ObservationPlus-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_svId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlus-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_svId_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="ObservationPlus-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlus-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_time_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'obs': <built-in function ObservationPlus_obs_get>, 'rxId': <built-in function ObservationPlus_rxId_get>, 'svId': <built-in function ObservationPlus_svId_get>, 'time': <built-in function ObservationPlus_time_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'obs': <built-in function ObservationPlus_obs_set>, 'rxId': <built-in function ObservationPlus_rxId_set>, 'svId': <built-in function ObservationPlus_svId_set>, 'time': <built-in function ObservationPlus_time_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ObservationPlus' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObservationPlusPtr">class <strong>ObservationPlusPtr</strong></a>(<a href="gpstkPython.html#ObservationPlus">ObservationPlus</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObservationPlusPtr">ObservationPlusPtr</a></dd>
+<dd><a href="gpstkPython.html#ObservationPlus">ObservationPlus</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObservationPlusPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObservationPlus">ObservationPlus</a>:<br>
+<dl><dt><a name="ObservationPlusPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObservationPlus></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObservationPlusPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#ObservationPlus">ObservationPlus</a>:<br>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rxId</strong></dt>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_rxId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_rxId_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svId</strong></dt>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_svId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_svId_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_time_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObservationPlus">ObservationPlus</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'obs': <built-in function ObservationPlus_obs_get>, 'rxId': <built-in function ObservationPlus_rxId_get>, 'svId': <built-in function ObservationPlus_svId_get>, 'time': <built-in function ObservationPlus_time_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'obs': <built-in function ObservationPlus_obs_set>, 'rxId': <built-in function ObservationPlus_rxId_set>, 'svId': <built-in function ObservationPlus_svId_set>, 'time': <built-in function ObservationPlus_time_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ObservationPlus' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObservationPtr">class <strong>ObservationPtr</strong></a>(<a href="gpstkPython.html#Observation">Observation</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObservationPtr">ObservationPtr</a></dd>
+<dd><a href="gpstkPython.html#Observation">Observation</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObservationPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Observation">Observation</a>:<br>
+<dl><dt><a name="ObservationPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Observation></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObservationPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Observation">Observation</a>:<br>
+<dl><dt><strong>SNR</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_SNR_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_SNR_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>carrier</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_carrier_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_carrier_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>channel</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_channel_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_channel_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>code</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_code_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_code_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>doppler</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_doppler_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_doppler_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>phase</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_phase_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_phase_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>range</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_range_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_range_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Observation">Observation</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'SNR': <built-in function Observation_SNR_get>, 'carrier': <built-in function Observation_carrier_get>, 'channel': <built-in function Observation_channel_get>, 'code': <built-in function Observation_code_get>, 'doppler': <built-in function Observation_doppler_get>, 'phase': <built-in function Observation_phase_get>, 'range': <built-in function Observation_range_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'SNR': <built-in function Observation_SNR_set>, 'carrier': <built-in function Observation_carrier_set>, 'channel': <built-in function Observation_channel_set>, 'code': <built-in function Observation_code_set>, 'doppler': <built-in function Observation_doppler_set>, 'phase': <built-in function Observation_phase_set>, 'range': <built-in function Observation_range_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Observation' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>cfL1</strong> = 0</dl>
+
+<dl><dt><strong>cfL2</strong> = 1</dl>
+
+<dl><dt><strong>cfL5</strong> = 2</dl>
+
+<dl><dt><strong>cfOther</strong> = 3</dl>
+
+<dl><dt><strong>rcCA</strong> = 0</dl>
+
+<dl><dt><strong>rcOther</strong> = 4</dl>
+
+<dl><dt><strong>rcPY</strong> = 1</dl>
+
+<dl><dt><strong>rcRC</strong> = 3</dl>
+
+<dl><dt><strong>rcZ</strong> = 2</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="OutOfMemory">class <strong>OutOfMemory</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#OutOfMemory">OutOfMemory</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="OutOfMemory-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_OutOfMemory></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="OutOfMemory-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="OutOfMemory-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="OutOfMemory-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="OutOfMemory-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="OutOfMemory-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="OutOfMemory-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="OutOfMemory-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="OutOfMemoryPtr">class <strong>OutOfMemoryPtr</strong></a>(<a href="gpstkPython.html#OutOfMemory">OutOfMemory</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#OutOfMemoryPtr">OutOfMemoryPtr</a></dd>
+<dd><a href="gpstkPython.html#OutOfMemory">OutOfMemory</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="OutOfMemoryPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#OutOfMemory">OutOfMemory</a>:<br>
+<dl><dt><a name="OutOfMemoryPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_OutOfMemory></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#OutOfMemory">OutOfMemory</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="OutOfMemoryPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="OutOfMemoryPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="OutOfMemoryPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="OutOfMemoryPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="OutOfMemoryPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="Position">class <strong>Position</strong></a>(<a href="gpstkPython.html#Triple">Triple</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#Position">Position</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="Position-X"><strong>X</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-Y"><strong>Y</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-Z"><strong>Z</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Position></font>)</dt></dl>
+
+<dl><dt><a name="Position-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="Position-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Position-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="Position-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-asECEF"><strong>asECEF</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-asGeodetic"><strong>asGeodetic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-asString"><strong>asString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-azimuth"><strong>azimuth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-elevation"><strong>elevation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-geocentricLatitude"><strong>geocentricLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-geodeticLatitude"><strong>geodeticLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getAltitude"><strong>getAltitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getCoordinateSystem"><strong>getCoordinateSystem</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getGeocentricLatitude"><strong>getGeocentricLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getGeodeticLatitude"><strong>getGeodeticLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getHeight"><strong>getHeight</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getIonosphericPiercePoint"><strong>getIonosphericPiercePoint</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getLongitude"><strong>getLongitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getPhi"><strong>getPhi</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getRadius"><strong>getRadius</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getSystemName"><strong>getSystemName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getTheta"><strong>getTheta</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getX"><strong>getX</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getY"><strong>getY</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getZ"><strong>getZ</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-height"><strong>height</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-longitude"><strong>longitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-phi"><strong>phi</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-printf"><strong>printf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-printf_const"><strong>printf_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-radius"><strong>radius</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-radiusEarth"><strong>radiusEarth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setECEF"><strong>setECEF</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setGeocentric"><strong>setGeocentric</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setGeodetic"><strong>setGeodetic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setGeoidModel"><strong>setGeoidModel</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setSpherical"><strong>setSpherical</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setToString"><strong>setToString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setTolerance"><strong>setTolerance</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-theta"><strong>theta</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-transformTo"><strong>transformTo</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="Position-convertCartesianToGeocentric"><strong>convertCartesianToGeocentric</strong></a> = Position_convertCartesianToGeocentric(...)</dt></dl>
+
+<dl><dt><a name="Position-convertCartesianToGeodetic"><strong>convertCartesianToGeodetic</strong></a> = Position_convertCartesianToGeodetic(...)</dt></dl>
+
+<dl><dt><a name="Position-convertCartesianToSpherical"><strong>convertCartesianToSpherical</strong></a> = Position_convertCartesianToSpherical(...)</dt></dl>
+
+<dl><dt><a name="Position-convertGeocentricToCartesian"><strong>convertGeocentricToCartesian</strong></a> = Position_convertGeocentricToCartesian(...)</dt></dl>
+
+<dl><dt><a name="Position-convertGeocentricToGeodetic"><strong>convertGeocentricToGeodetic</strong></a> = Position_convertGeocentricToGeodetic(...)</dt></dl>
+
+<dl><dt><a name="Position-convertGeodeticToCartesian"><strong>convertGeodeticToCartesian</strong></a> = Position_convertGeodeticToCartesian(...)</dt></dl>
+
+<dl><dt><a name="Position-convertGeodeticToGeocentric"><strong>convertGeodeticToGeocentric</strong></a> = Position_convertGeodeticToGeocentric(...)</dt></dl>
+
+<dl><dt><a name="Position-convertSphericalToCartesian"><strong>convertSphericalToCartesian</strong></a> = Position_convertSphericalToCartesian(...)</dt></dl>
+
+<dl><dt><a name="Position-getPositionTolerance"><strong>getPositionTolerance</strong></a> = Position_getPositionTolerance(...)</dt></dl>
+
+<dl><dt><a name="Position-setPositionTolerance"><strong>setPositionTolerance</strong></a> = Position_setPositionTolerance(...)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>Cartesian</strong> = 3</dl>
+
+<dl><dt><strong>Geocentric</strong> = 2</dl>
+
+<dl><dt><strong>Geodetic</strong> = 1</dl>
+
+<dl><dt><strong>ONE_CM_TOLERANCE</strong> = 0.01</dl>
+
+<dl><dt><strong>ONE_MM_TOLERANCE</strong> = 0.001</dl>
+
+<dl><dt><strong>ONE_UM_TOLERANCE</strong> = 9.9999999999999995e-07</dl>
+
+<dl><dt><strong>Spherical</strong> = 4</dl>
+
+<dl><dt><strong>Unknown</strong> = 0</dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'convertCartesianToGeocentric': <function <lambda>>, 'convertCartesianToGeodetic': <function <lambda>>, 'convertCartesianToSpherical': <function <lambda>>, 'convertGeocentricToCartesian': <function <lambda>>, 'convertGeocentricToGeodetic': <function <lambda>>, 'convertGeodeticToCartesian': <function <lambda>>, 'convertGeodeticToGeocentric': <function <lambda>&g [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="Position-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="Position-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Position-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="PositionPtr">class <strong>PositionPtr</strong></a>(<a href="gpstkPython.html#Position">Position</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#PositionPtr">PositionPtr</a></dd>
+<dd><a href="gpstkPython.html#Position">Position</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="PositionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Position">Position</a>:<br>
+<dl><dt><a name="PositionPtr-X"><strong>X</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-Y"><strong>Y</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-Z"><strong>Z</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Position></font>)</dt></dl>
+
+<dl><dt><a name="PositionPtr-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="PositionPtr-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="PositionPtr-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-asECEF"><strong>asECEF</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-asGeodetic"><strong>asGeodetic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-asString"><strong>asString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-azimuth"><strong>azimuth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-elevation"><strong>elevation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-geocentricLatitude"><strong>geocentricLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-geodeticLatitude"><strong>geodeticLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getAltitude"><strong>getAltitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getCoordinateSystem"><strong>getCoordinateSystem</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getGeocentricLatitude"><strong>getGeocentricLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getGeodeticLatitude"><strong>getGeodeticLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getHeight"><strong>getHeight</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getIonosphericPiercePoint"><strong>getIonosphericPiercePoint</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getLongitude"><strong>getLongitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getPhi"><strong>getPhi</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getRadius"><strong>getRadius</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getSystemName"><strong>getSystemName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getTheta"><strong>getTheta</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getX"><strong>getX</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getY"><strong>getY</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getZ"><strong>getZ</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-height"><strong>height</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-longitude"><strong>longitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-phi"><strong>phi</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-printf"><strong>printf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-printf_const"><strong>printf_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-radius"><strong>radius</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-radiusEarth"><strong>radiusEarth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setECEF"><strong>setECEF</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setGeocentric"><strong>setGeocentric</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setGeodetic"><strong>setGeodetic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setGeoidModel"><strong>setGeoidModel</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setSpherical"><strong>setSpherical</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setToString"><strong>setToString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setTolerance"><strong>setTolerance</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-theta"><strong>theta</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-transformTo"><strong>transformTo</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#Position">Position</a>:<br>
+<dl><dt><a name="PositionPtr-convertCartesianToGeocentric"><strong>convertCartesianToGeocentric</strong></a> = Position_convertCartesianToGeocentric(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertCartesianToGeodetic"><strong>convertCartesianToGeodetic</strong></a> = Position_convertCartesianToGeodetic(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertCartesianToSpherical"><strong>convertCartesianToSpherical</strong></a> = Position_convertCartesianToSpherical(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertGeocentricToCartesian"><strong>convertGeocentricToCartesian</strong></a> = Position_convertGeocentricToCartesian(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertGeocentricToGeodetic"><strong>convertGeocentricToGeodetic</strong></a> = Position_convertGeocentricToGeodetic(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertGeodeticToCartesian"><strong>convertGeodeticToCartesian</strong></a> = Position_convertGeodeticToCartesian(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertGeodeticToGeocentric"><strong>convertGeodeticToGeocentric</strong></a> = Position_convertGeodeticToGeocentric(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertSphericalToCartesian"><strong>convertSphericalToCartesian</strong></a> = Position_convertSphericalToCartesian(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getPositionTolerance"><strong>getPositionTolerance</strong></a> = Position_getPositionTolerance(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setPositionTolerance"><strong>setPositionTolerance</strong></a> = Position_setPositionTolerance(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Position">Position</a>:<br>
+<dl><dt><strong>Cartesian</strong> = 3</dl>
+
+<dl><dt><strong>Geocentric</strong> = 2</dl>
+
+<dl><dt><strong>Geodetic</strong> = 1</dl>
+
+<dl><dt><strong>ONE_CM_TOLERANCE</strong> = 0.01</dl>
+
+<dl><dt><strong>ONE_MM_TOLERANCE</strong> = 0.001</dl>
+
+<dl><dt><strong>ONE_UM_TOLERANCE</strong> = 9.9999999999999995e-07</dl>
+
+<dl><dt><strong>Spherical</strong> = 4</dl>
+
+<dl><dt><strong>Unknown</strong> = 0</dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'convertCartesianToGeocentric': <function <lambda>>, 'convertCartesianToGeodetic': <function <lambda>>, 'convertCartesianToSpherical': <function <lambda>>, 'convertGeocentricToCartesian': <function <lambda>>, 'convertGeocentricToGeodetic': <function <lambda>>, 'convertGeodeticToCartesian': <function <lambda>>, 'convertGeodeticToGeocentric': <function <lambda>&g [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="PositionPtr-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="PositionPtr-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="PositionPtr-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RAIMSolution">class <strong>RAIMSolution</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RAIMSolution-Compute"><strong>Compute</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RAIMSolution-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RAIMSolution></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RAIMSolution-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RAIMSolution-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RAIMSolution-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>Algebraic</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Algebraic_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Algebraic_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Convergence</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Convergence_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Convergence_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ConvergenceLimit</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_ConvergenceLimit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_ConvergenceLimit_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Covariance</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Covariance_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Covariance_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Debug</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Debug_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Debug_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>MaxNIterations</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_MaxNIterations_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_MaxNIterations_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>MaxSlope</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_MaxSlope_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_MaxSlope_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>NIterations</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_NIterations_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_NIterations_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>NSatsReject</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_NSatsReject_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_NSatsReject_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Nsvs</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Nsvs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Nsvs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>RMSLimit</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_RMSLimit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_RMSLimit_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>RMSResidual</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_RMSResidual_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_RMSResidual_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ResidualCriterion</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_ResidualCriterion_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_ResidualCriterion_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ReturnAtOnce</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_ReturnAtOnce_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_ReturnAtOnce_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>SlopeLimit</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_SlopeLimit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_SlopeLimit_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Solution</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Solution_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Solution_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Valid</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pDebugStream</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_pDebugStream_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_pDebugStream_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'Algebraic': <built-in function RAIMSolution_Algebraic_get>, 'Convergence': <built-in function RAIMSolution_Convergence_get>, 'ConvergenceLimit': <built-in function RAIMSolution_ConvergenceLimit_get>, 'Covariance': <built-in function RAIMSolution_Covariance_get>, 'Debug': <built-in function RAIMSolution_Debug_get>, 'MaxNIterations': <built-in function RAIMSolution_MaxNIterations_get>, 'MaxSlope': <buil [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'Algebraic': <built-in function RAIMSolution_Algebraic_set>, 'Convergence': <built-in function RAIMSolution_Convergence_set>, 'ConvergenceLimit': <built-in function RAIMSolution_ConvergenceLimit_set>, 'Covariance': <built-in function RAIMSolution_Covariance_set>, 'Debug': <built-in function RAIMSolution_Debug_set>, 'MaxNIterations': <built-in function RAIMSolution_MaxNIterations_set>, 'MaxSlope': <buil [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RAIMSolution' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RAIMSolutionPtr">class <strong>RAIMSolutionPtr</strong></a>(<a href="gpstkPython.html#RAIMSolution">RAIMSolution</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RAIMSolutionPtr">RAIMSolutionPtr</a></dd>
+<dd><a href="gpstkPython.html#RAIMSolution">RAIMSolution</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RAIMSolutionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RAIMSolution">RAIMSolution</a>:<br>
+<dl><dt><a name="RAIMSolutionPtr-Compute"><strong>Compute</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RAIMSolutionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RAIMSolution></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RAIMSolutionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RAIMSolutionPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RAIMSolution">RAIMSolution</a>:<br>
+<dl><dt><strong>Algebraic</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Algebraic_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Algebraic_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Convergence</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Convergence_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Convergence_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ConvergenceLimit</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_ConvergenceLimit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_ConvergenceLimit_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Covariance</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Covariance_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Covariance_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Debug</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Debug_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Debug_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>MaxNIterations</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_MaxNIterations_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_MaxNIterations_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>MaxSlope</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_MaxSlope_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_MaxSlope_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>NIterations</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_NIterations_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_NIterations_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>NSatsReject</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_NSatsReject_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_NSatsReject_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Nsvs</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Nsvs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Nsvs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>RMSLimit</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_RMSLimit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_RMSLimit_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>RMSResidual</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_RMSResidual_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_RMSResidual_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ResidualCriterion</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_ResidualCriterion_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_ResidualCriterion_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ReturnAtOnce</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_ReturnAtOnce_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_ReturnAtOnce_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>SlopeLimit</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_SlopeLimit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_SlopeLimit_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Solution</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Solution_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Solution_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Valid</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pDebugStream</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_pDebugStream_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_pDebugStream_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RAIMSolution">RAIMSolution</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'Algebraic': <built-in function RAIMSolution_Algebraic_get>, 'Convergence': <built-in function RAIMSolution_Convergence_get>, 'ConvergenceLimit': <built-in function RAIMSolution_ConvergenceLimit_get>, 'Covariance': <built-in function RAIMSolution_Covariance_get>, 'Debug': <built-in function RAIMSolution_Debug_get>, 'MaxNIterations': <built-in function RAIMSolution_MaxNIterations_get>, 'MaxSlope': <buil [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'Algebraic': <built-in function RAIMSolution_Algebraic_set>, 'Convergence': <built-in function RAIMSolution_Convergence_set>, 'ConvergenceLimit': <built-in function RAIMSolution_ConvergenceLimit_set>, 'Covariance': <built-in function RAIMSolution_Covariance_set>, 'Debug': <built-in function RAIMSolution_Debug_set>, 'MaxNIterations': <built-in function RAIMSolution_MaxNIterations_set>, 'MaxSlope': <buil [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RAIMSolution' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexDatum">class <strong>RinexDatum</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexDatum-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexDatum></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexDatum-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexDatum-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>data</strong></dt>
+<dd><dl><dt><a name="RinexDatum-<em>get</em>"><strong><em>get</em></strong></a> = RinexDatum_data_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexDatum-<em>set</em>"><strong><em>set</em></strong></a> = RinexDatum_data_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lli</strong></dt>
+<dd><dl><dt><a name="RinexDatum-<em>get</em>"><strong><em>get</em></strong></a> = RinexDatum_lli_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexDatum-<em>set</em>"><strong><em>set</em></strong></a> = RinexDatum_lli_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ssi</strong></dt>
+<dd><dl><dt><a name="RinexDatum-<em>get</em>"><strong><em>get</em></strong></a> = RinexDatum_ssi_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexDatum-<em>set</em>"><strong><em>set</em></strong></a> = RinexDatum_ssi_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'data': <built-in function RinexDatum_data_get>, 'lli': <built-in function RinexDatum_lli_get>, 'ssi': <built-in function RinexDatum_ssi_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'data': <built-in function RinexDatum_data_set>, 'lli': <built-in function RinexDatum_lli_set>, 'ssi': <built-in function RinexDatum_ssi_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexDatum' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexDatumPtr">class <strong>RinexDatumPtr</strong></a>(<a href="gpstkPython.html#RinexDatum">RinexDatum</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexDatumPtr">RinexDatumPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexDatum">RinexDatum</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexDatumPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexDatum">RinexDatum</a>:<br>
+<dl><dt><a name="RinexDatumPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexDatum></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexDatumPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexDatum">RinexDatum</a>:<br>
+<dl><dt><strong>data</strong></dt>
+<dd><dl><dt><a name="RinexDatumPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexDatum_data_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexDatumPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexDatum_data_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lli</strong></dt>
+<dd><dl><dt><a name="RinexDatumPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexDatum_lli_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexDatumPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexDatum_lli_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ssi</strong></dt>
+<dd><dl><dt><a name="RinexDatumPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexDatum_ssi_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexDatumPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexDatum_ssi_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexDatum">RinexDatum</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'data': <built-in function RinexDatum_data_get>, 'lli': <built-in function RinexDatum_lli_get>, 'ssi': <built-in function RinexDatum_ssi_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'data': <built-in function RinexDatum_data_set>, 'lli': <built-in function RinexDatum_lli_set>, 'ssi': <built-in function RinexDatum_ssi_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexDatum' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexEphemerisStore">class <strong>RinexEphemerisStore</strong></a>(<a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>, <a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexEphemerisStore">RinexEphemerisStore</a></dd>
+<dd><a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a></dd>
+<dd><a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexEphemerisStore-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexEphemerisStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>:<br>
+<dl><dt><a name="RinexEphemerisStore-SearchNear"><strong>SearchNear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-SearchPast"><strong>SearchPast</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-addEphemeris"><strong>addEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-addToList"><strong>addToList</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-edit"><strong>edit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-findEphemeris"><strong>findEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-findNearEphemeris"><strong>findNearEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-findUserEphemeris"><strong>findUserEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-getFinalTime"><strong>getFinalTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-getInitialTime"><strong>getInitialTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-getPrnHealth"><strong>getPrnHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-getPrnXvt"><strong>getPrnXvt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-ubeSize"><strong>ubeSize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-wiper"><strong>wiper</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'BCEphemerisStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>:<br>
+<dl><dt><a name="RinexEphemerisStore-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexEphemerisStorePtr">class <strong>RinexEphemerisStorePtr</strong></a>(<a href="gpstkPython.html#RinexEphemerisStore">RinexEphemerisStore</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexEphemerisStorePtr">RinexEphemerisStorePtr</a></dd>
+<dd><a href="gpstkPython.html#RinexEphemerisStore">RinexEphemerisStore</a></dd>
+<dd><a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a></dd>
+<dd><a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexEphemerisStorePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexEphemerisStore">RinexEphemerisStore</a>:<br>
+<dl><dt><a name="RinexEphemerisStorePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexEphemerisStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexEphemerisStore">RinexEphemerisStore</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>:<br>
+<dl><dt><a name="RinexEphemerisStorePtr-SearchNear"><strong>SearchNear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-SearchPast"><strong>SearchPast</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-addEphemeris"><strong>addEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-addToList"><strong>addToList</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-edit"><strong>edit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-findEphemeris"><strong>findEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-findNearEphemeris"><strong>findNearEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-findUserEphemeris"><strong>findUserEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-getFinalTime"><strong>getFinalTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-getInitialTime"><strong>getInitialTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-getPrnHealth"><strong>getPrnHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-getPrnXvt"><strong>getPrnXvt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-ubeSize"><strong>ubeSize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-wiper"><strong>wiper</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'BCEphemerisStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>:<br>
+<dl><dt><a name="RinexEphemerisStorePtr-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexMetData">class <strong>RinexMetData</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexMetData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexMetData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexMetData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexMetData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexMetData-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexMetData-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>data</strong></dt>
+<dd><dl><dt><a name="RinexMetData-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetData_data_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetData-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetData_data_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="RinexMetData-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetData_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetData-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetData_time_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'data': <built-in function RinexMetData_data_get>, 'time': <built-in function RinexMetData_time_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'data': <built-in function RinexMetData_data_set>, 'time': <built-in function RinexMetData_time_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexMetData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>maxObsPerContinuationLine</strong> = 10</dl>
+
+<dl><dt><strong>maxObsPerLine</strong> = 8</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexMetDataPtr">class <strong>RinexMetDataPtr</strong></a>(<a href="gpstkPython.html#RinexMetData">RinexMetData</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexMetDataPtr">RinexMetDataPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexMetData">RinexMetData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexMetDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexMetData">RinexMetData</a>:<br>
+<dl><dt><a name="RinexMetDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexMetData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexMetDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexMetDataPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexMetDataPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexMetData">RinexMetData</a>:<br>
+<dl><dt><strong>data</strong></dt>
+<dd><dl><dt><a name="RinexMetDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetData_data_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetData_data_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="RinexMetDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetData_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetData_time_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexMetData">RinexMetData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'data': <built-in function RinexMetData_data_get>, 'time': <built-in function RinexMetData_time_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'data': <built-in function RinexMetData_data_set>, 'time': <built-in function RinexMetData_time_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexMetData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>maxObsPerContinuationLine</strong> = 10</dl>
+
+<dl><dt><strong>maxObsPerLine</strong> = 8</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexMetHeader">class <strong>RinexMetHeader</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexMetHeader-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexMetHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexMetHeader-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexMetHeader-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexMetHeader-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexMetHeader-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="RinexMetHeader-bitString"><strong>bitString</strong></a> = RinexMetHeader_bitString(...)</dt></dl>
+
+<dl><dt><a name="RinexMetHeader-bitsAsString"><strong>bitsAsString</strong></a> = RinexMetHeader_bitsAsString(...)</dt></dl>
+
+<dl><dt><a name="RinexMetHeader-convertObsType"><strong>convertObsType</strong></a> = RinexMetHeader_convertObsType(...)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>commentList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_commentList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_commentList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>date</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_date_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_date_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileAgency</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_fileAgency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_fileAgency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileProgram</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_fileProgram_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_fileProgram_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileType</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_fileType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_fileType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerName</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_markerName_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_markerName_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerNumber</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_markerNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_markerNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsTypeList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_obsTypeList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_obsTypeList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>sensorPosList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_sensorPosList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_sensorPosList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>sensorTypeList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_sensorTypeList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_sensorTypeList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>valid</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_version_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>HR</strong> = 2</dl>
+
+<dl><dt><strong>PR</strong> = 0</dl>
+
+<dl><dt><strong>TD</strong> = 1</dl>
+
+<dl><dt><strong>ZD</strong> = 4</dl>
+
+<dl><dt><strong>ZT</strong> = 5</dl>
+
+<dl><dt><strong>ZW</strong> = 3</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'bitString': <function <lambda>>, 'bitsAsString': <function <lambda>>, 'commentList': <built-in function RinexMetHeader_commentList_get>, 'convertObsType': <function <lambda>>, 'date': <built-in function RinexMetHeader_date_get>, 'fileAgency': <built-in function RinexMetHeader_fileAgency_get>, 'fileProgram': <built-in function RinexMetHeader_fileProgram_get>, 'fileType': <built- [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'commentList': <built-in function RinexMetHeader_commentList_set>, 'date': <built-in function RinexMetHeader_date_set>, 'fileAgency': <built-in function RinexMetHeader_fileAgency_set>, 'fileProgram': <built-in function RinexMetHeader_fileProgram_set>, 'fileType': <built-in function RinexMetHeader_fileType_set>, 'markerName': <built-in function RinexMetHeader_markerName_set>, 'markerNumber': <built-in f [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexMetHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>allValid20</strong> = -2147483413</dl>
+
+<dl><dt><strong>allValid21</strong> = -2147483413</dl>
+
+<dl><dt><strong>commentString</strong> = 'COMMENT'</dl>
+
+<dl><dt><strong>commentValid</strong> = 4</dl>
+
+<dl><dt><strong>endOfHeader</strong> = 'END OF HEADER'</dl>
+
+<dl><dt><strong>endValid</strong> = -2147483648</dl>
+
+<dl><dt><strong>markerNameString</strong> = 'MARKER NAME'</dl>
+
+<dl><dt><strong>markerNameValid</strong> = 8</dl>
+
+<dl><dt><strong>markerNumberString</strong> = 'MARKER NUMBER'</dl>
+
+<dl><dt><strong>markerNumberValid</strong> = 16</dl>
+
+<dl><dt><strong>maxObsPerLine</strong> = 9</dl>
+
+<dl><dt><strong>obsTypeString</strong> = '# / TYPES OF OBSERV'</dl>
+
+<dl><dt><strong>obsTypeValid</strong> = 32</dl>
+
+<dl><dt><strong>runByString</strong> = 'PGM / RUN BY / DATE'</dl>
+
+<dl><dt><strong>runByValid</strong> = 2</dl>
+
+<dl><dt><strong>sensorPosString</strong> = 'SENSOR POS XYZ/H'</dl>
+
+<dl><dt><strong>sensorPosValid</strong> = 128</dl>
+
+<dl><dt><strong>sensorTypeString</strong> = 'SENSOR MOD/TYPE/ACC'</dl>
+
+<dl><dt><strong>sensorTypeValid</strong> = 64</dl>
+
+<dl><dt><strong>versionString</strong> = 'RINEX VERSION / TYPE'</dl>
+
+<dl><dt><strong>versionValid</strong> = 1</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexMetHeaderPtr">class <strong>RinexMetHeaderPtr</strong></a>(<a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexMetHeaderPtr">RinexMetHeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexMetHeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a>:<br>
+<dl><dt><a name="RinexMetHeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexMetHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexMetHeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexMetHeaderPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexMetHeaderPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a>:<br>
+<dl><dt><a name="RinexMetHeaderPtr-bitString"><strong>bitString</strong></a> = RinexMetHeader_bitString(...)</dt></dl>
+
+<dl><dt><a name="RinexMetHeaderPtr-bitsAsString"><strong>bitsAsString</strong></a> = RinexMetHeader_bitsAsString(...)</dt></dl>
+
+<dl><dt><a name="RinexMetHeaderPtr-convertObsType"><strong>convertObsType</strong></a> = RinexMetHeader_convertObsType(...)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a>:<br>
+<dl><dt><strong>commentList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_commentList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_commentList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>date</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_date_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_date_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileAgency</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_fileAgency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_fileAgency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileProgram</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_fileProgram_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_fileProgram_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileType</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_fileType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_fileType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerName</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_markerName_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_markerName_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerNumber</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_markerNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_markerNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsTypeList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_obsTypeList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_obsTypeList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>sensorPosList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_sensorPosList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_sensorPosList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>sensorTypeList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_sensorTypeList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_sensorTypeList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>valid</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_version_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a>:<br>
+<dl><dt><strong>HR</strong> = 2</dl>
+
+<dl><dt><strong>PR</strong> = 0</dl>
+
+<dl><dt><strong>TD</strong> = 1</dl>
+
+<dl><dt><strong>ZD</strong> = 4</dl>
+
+<dl><dt><strong>ZT</strong> = 5</dl>
+
+<dl><dt><strong>ZW</strong> = 3</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'bitString': <function <lambda>>, 'bitsAsString': <function <lambda>>, 'commentList': <built-in function RinexMetHeader_commentList_get>, 'convertObsType': <function <lambda>>, 'date': <built-in function RinexMetHeader_date_get>, 'fileAgency': <built-in function RinexMetHeader_fileAgency_get>, 'fileProgram': <built-in function RinexMetHeader_fileProgram_get>, 'fileType': <built- [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'commentList': <built-in function RinexMetHeader_commentList_set>, 'date': <built-in function RinexMetHeader_date_set>, 'fileAgency': <built-in function RinexMetHeader_fileAgency_set>, 'fileProgram': <built-in function RinexMetHeader_fileProgram_set>, 'fileType': <built-in function RinexMetHeader_fileType_set>, 'markerName': <built-in function RinexMetHeader_markerName_set>, 'markerNumber': <built-in f [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexMetHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>allValid20</strong> = -2147483413</dl>
+
+<dl><dt><strong>allValid21</strong> = -2147483413</dl>
+
+<dl><dt><strong>commentString</strong> = 'COMMENT'</dl>
+
+<dl><dt><strong>commentValid</strong> = 4</dl>
+
+<dl><dt><strong>endOfHeader</strong> = 'END OF HEADER'</dl>
+
+<dl><dt><strong>endValid</strong> = -2147483648</dl>
+
+<dl><dt><strong>markerNameString</strong> = 'MARKER NAME'</dl>
+
+<dl><dt><strong>markerNameValid</strong> = 8</dl>
+
+<dl><dt><strong>markerNumberString</strong> = 'MARKER NUMBER'</dl>
+
+<dl><dt><strong>markerNumberValid</strong> = 16</dl>
+
+<dl><dt><strong>maxObsPerLine</strong> = 9</dl>
+
+<dl><dt><strong>obsTypeString</strong> = '# / TYPES OF OBSERV'</dl>
+
+<dl><dt><strong>obsTypeValid</strong> = 32</dl>
+
+<dl><dt><strong>runByString</strong> = 'PGM / RUN BY / DATE'</dl>
+
+<dl><dt><strong>runByValid</strong> = 2</dl>
+
+<dl><dt><strong>sensorPosString</strong> = 'SENSOR POS XYZ/H'</dl>
+
+<dl><dt><strong>sensorPosValid</strong> = 128</dl>
+
+<dl><dt><strong>sensorTypeString</strong> = 'SENSOR MOD/TYPE/ACC'</dl>
+
+<dl><dt><strong>sensorTypeValid</strong> = 64</dl>
+
+<dl><dt><strong>versionString</strong> = 'RINEX VERSION / TYPE'</dl>
+
+<dl><dt><strong>versionValid</strong> = 1</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexMetStream">class <strong>RinexMetStream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexMetStream">RinexMetStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexMetStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexMetStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexMetStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexMetStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexMetStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="RinexMetStream-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetStream_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStream-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetStream_header_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>headerRead</strong></dt>
+<dd><dl><dt><a name="RinexMetStream-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetStream_headerRead_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStream-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetStream_headerRead_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'header': <built-in function RinexMetStream_header_get>, 'headerRead': <built-in function RinexMetStream_headerRead_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'header': <built-in function RinexMetStream_header_set>, 'headerRead': <built-in function RinexMetStream_headerRead_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="RinexMetStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="RinexMetStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="RinexMetStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="RinexMetStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="RinexMetStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="RinexMetStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexMetStreamPtr">class <strong>RinexMetStreamPtr</strong></a>(<a href="gpstkPython.html#RinexMetStream">RinexMetStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexMetStreamPtr">RinexMetStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexMetStream">RinexMetStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexMetStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexMetStream">RinexMetStream</a>:<br>
+<dl><dt><a name="RinexMetStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexMetStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexMetStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexMetStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexMetStream">RinexMetStream</a>:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetStream_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetStream_header_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>headerRead</strong></dt>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetStream_headerRead_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetStream_headerRead_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexMetStream">RinexMetStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'header': <built-in function RinexMetStream_header_get>, 'headerRead': <built-in function RinexMetStream_headerRead_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'header': <built-in function RinexMetStream_header_set>, 'headerRead': <built-in function RinexMetStream_headerRead_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="RinexMetStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="RinexMetStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexNavData">class <strong>RinexNavData</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexNavData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexNavData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexNavData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexNavData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexNavData-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavData-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavData-operator_EngEphemeris"><strong>operator_EngEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavData-toList"><strong>toList</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>Ahalf</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Ahalf_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Ahalf_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cic</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cic_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cic_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cis</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cis_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cis_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Crc</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Crc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Crc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Crs</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Crs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Crs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cuc</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cuc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cuc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cus</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cus_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cus_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>HOWtime</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_HOWtime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_HOWtime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>IODC</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_IODC_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_IODC_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>IODE</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_IODE_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_IODE_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>L2Pdata</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_L2Pdata_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_L2Pdata_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>M0</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_M0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_M0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>OMEGA0</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_OMEGA0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_OMEGA0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>OMEGAdot</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_OMEGAdot_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_OMEGAdot_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>PRNID</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_PRNID_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_PRNID_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Tgd</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Tgd_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Tgd_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Toc</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Toc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Toc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Toe</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Toe_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Toe_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>accuracy</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_accuracy_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_accuracy_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>af0</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_af0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_af0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>af1</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_af1_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_af1_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>af2</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_af2_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_af2_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>codeflgs</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_codeflgs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_codeflgs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>dn</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_dn_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_dn_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ecc</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_ecc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_ecc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fitint</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_fitint_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_fitint_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>health</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_health_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_health_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>i0</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_i0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_i0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>idot</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_idot_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_idot_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>w</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_w_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_w_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>weeknum</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_weeknum_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_weeknum_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'Ahalf': <built-in function RinexNavData_Ahalf_get>, 'Cic': <built-in function RinexNavData_Cic_get>, 'Cis': <built-in function RinexNavData_Cis_get>, 'Crc': <built-in function RinexNavData_Crc_get>, 'Crs': <built-in function RinexNavData_Crs_get>, 'Cuc': <built-in function RinexNavData_Cuc_get>, 'Cus': <built-in function RinexNavData_Cus_get>, 'HOWtime': <built-in function RinexNavData_HOWtime_g [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'Ahalf': <built-in function RinexNavData_Ahalf_set>, 'Cic': <built-in function RinexNavData_Cic_set>, 'Cis': <built-in function RinexNavData_Cis_set>, 'Crc': <built-in function RinexNavData_Crc_set>, 'Crs': <built-in function RinexNavData_Crs_set>, 'Cuc': <built-in function RinexNavData_Cuc_set>, 'Cus': <built-in function RinexNavData_Cus_set>, 'HOWtime': <built-in function RinexNavData_HOWtime_s [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexNavData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexNavDataPtr">class <strong>RinexNavDataPtr</strong></a>(<a href="gpstkPython.html#RinexNavData">RinexNavData</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexNavDataPtr">RinexNavDataPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexNavData">RinexNavData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexNavDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexNavData">RinexNavData</a>:<br>
+<dl><dt><a name="RinexNavDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexNavData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexNavDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexNavDataPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavDataPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavDataPtr-operator_EngEphemeris"><strong>operator_EngEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavDataPtr-toList"><strong>toList</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexNavData">RinexNavData</a>:<br>
+<dl><dt><strong>Ahalf</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Ahalf_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Ahalf_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cic</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cic_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cic_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cis</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cis_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cis_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Crc</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Crc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Crc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Crs</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Crs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Crs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cuc</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cuc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cuc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cus</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cus_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cus_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>HOWtime</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_HOWtime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_HOWtime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>IODC</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_IODC_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_IODC_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>IODE</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_IODE_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_IODE_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>L2Pdata</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_L2Pdata_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_L2Pdata_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>M0</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_M0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_M0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>OMEGA0</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_OMEGA0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_OMEGA0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>OMEGAdot</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_OMEGAdot_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_OMEGAdot_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>PRNID</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_PRNID_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_PRNID_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Tgd</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Tgd_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Tgd_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Toc</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Toc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Toc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Toe</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Toe_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Toe_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>accuracy</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_accuracy_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_accuracy_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>af0</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_af0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_af0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>af1</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_af1_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_af1_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>af2</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_af2_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_af2_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>codeflgs</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_codeflgs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_codeflgs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>dn</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_dn_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_dn_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ecc</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_ecc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_ecc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fitint</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_fitint_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_fitint_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>health</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_health_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_health_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>i0</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_i0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_i0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>idot</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_idot_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_idot_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>w</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_w_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_w_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>weeknum</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_weeknum_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_weeknum_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexNavData">RinexNavData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'Ahalf': <built-in function RinexNavData_Ahalf_get>, 'Cic': <built-in function RinexNavData_Cic_get>, 'Cis': <built-in function RinexNavData_Cis_get>, 'Crc': <built-in function RinexNavData_Crc_get>, 'Crs': <built-in function RinexNavData_Crs_get>, 'Cuc': <built-in function RinexNavData_Cuc_get>, 'Cus': <built-in function RinexNavData_Cus_get>, 'HOWtime': <built-in function RinexNavData_HOWtime_g [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'Ahalf': <built-in function RinexNavData_Ahalf_set>, 'Cic': <built-in function RinexNavData_Cic_set>, 'Cis': <built-in function RinexNavData_Cis_set>, 'Crc': <built-in function RinexNavData_Crc_set>, 'Crs': <built-in function RinexNavData_Crs_set>, 'Cuc': <built-in function RinexNavData_Cuc_set>, 'Cus': <built-in function RinexNavData_Cus_set>, 'HOWtime': <built-in function RinexNavData_HOWtime_s [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexNavData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexNavHeader">class <strong>RinexNavHeader</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexNavHeader-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexNavHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexNavHeader-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexNavHeader-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexNavHeader-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavHeader-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>A0</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_A0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_A0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>A1</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_A1_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_A1_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>UTCRefTime</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_UTCRefTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_UTCRefTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>UTCRefWeek</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_UTCRefWeek_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_UTCRefWeek_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>commentList</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_commentList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_commentList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>date</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_date_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_date_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileAgency</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_fileAgency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_fileAgency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileProgram</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_fileProgram_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_fileProgram_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileType</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_fileType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_fileType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ionAlpha</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_ionAlpha_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_ionAlpha_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ionBeta</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_ionBeta_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_ionBeta_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>leapSeconds</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_leapSeconds_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_leapSeconds_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>valid</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_version_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'A0': <built-in function RinexNavHeader_A0_get>, 'A1': <built-in function RinexNavHeader_A1_get>, 'UTCRefTime': <built-in function RinexNavHeader_UTCRefTime_get>, 'UTCRefWeek': <built-in function RinexNavHeader_UTCRefWeek_get>, 'commentList': <built-in function RinexNavHeader_commentList_get>, 'date': <built-in function RinexNavHeader_date_get>, 'fileAgency': <built-in function RinexNavHeader_fileAgenc [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'A0': <built-in function RinexNavHeader_A0_set>, 'A1': <built-in function RinexNavHeader_A1_set>, 'UTCRefTime': <built-in function RinexNavHeader_UTCRefTime_set>, 'UTCRefWeek': <built-in function RinexNavHeader_UTCRefWeek_set>, 'commentList': <built-in function RinexNavHeader_commentList_set>, 'date': <built-in function RinexNavHeader_date_set>, 'fileAgency': <built-in function RinexNavHeader_fileAgenc [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexNavHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>allValid20</strong> = -2147483645</dl>
+
+<dl><dt><strong>allValid21</strong> = -2147483645</dl>
+
+<dl><dt><strong>commentString</strong> = 'COMMENT'</dl>
+
+<dl><dt><strong>commentValid</strong> = 4</dl>
+
+<dl><dt><strong>deltaUTCString</strong> = 'DELTA-UTC: A0,A1,T,W'</dl>
+
+<dl><dt><strong>deltaUTCValid</strong> = 32</dl>
+
+<dl><dt><strong>endOfHeader</strong> = 'END OF HEADER'</dl>
+
+<dl><dt><strong>endValid</strong> = -2147483648</dl>
+
+<dl><dt><strong>ionAlphaString</strong> = 'ION ALPHA'</dl>
+
+<dl><dt><strong>ionAlphaValid</strong> = 8</dl>
+
+<dl><dt><strong>ionBetaString</strong> = 'ION BETA'</dl>
+
+<dl><dt><strong>ionBetaValid</strong> = 16</dl>
+
+<dl><dt><strong>leapSecondsString</strong> = 'LEAP SECONDS'</dl>
+
+<dl><dt><strong>leapSecondsValid</strong> = 64</dl>
+
+<dl><dt><strong>runByString</strong> = 'PGM / RUN BY / DATE'</dl>
+
+<dl><dt><strong>runByValid</strong> = 2</dl>
+
+<dl><dt><strong>versionString</strong> = 'RINEX VERSION / TYPE'</dl>
+
+<dl><dt><strong>versionValid</strong> = 1</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexNavHeaderPtr">class <strong>RinexNavHeaderPtr</strong></a>(<a href="gpstkPython.html#RinexNavHeader">RinexNavHeader</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexNavHeaderPtr">RinexNavHeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexNavHeader">RinexNavHeader</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexNavHeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexNavHeader">RinexNavHeader</a>:<br>
+<dl><dt><a name="RinexNavHeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexNavHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexNavHeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexNavHeaderPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavHeaderPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexNavHeader">RinexNavHeader</a>:<br>
+<dl><dt><strong>A0</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_A0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_A0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>A1</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_A1_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_A1_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>UTCRefTime</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_UTCRefTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_UTCRefTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>UTCRefWeek</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_UTCRefWeek_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_UTCRefWeek_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>commentList</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_commentList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_commentList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>date</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_date_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_date_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileAgency</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_fileAgency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_fileAgency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileProgram</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_fileProgram_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_fileProgram_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileType</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_fileType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_fileType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ionAlpha</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_ionAlpha_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_ionAlpha_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ionBeta</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_ionBeta_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_ionBeta_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>leapSeconds</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_leapSeconds_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_leapSeconds_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>valid</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_version_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexNavHeader">RinexNavHeader</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'A0': <built-in function RinexNavHeader_A0_get>, 'A1': <built-in function RinexNavHeader_A1_get>, 'UTCRefTime': <built-in function RinexNavHeader_UTCRefTime_get>, 'UTCRefWeek': <built-in function RinexNavHeader_UTCRefWeek_get>, 'commentList': <built-in function RinexNavHeader_commentList_get>, 'date': <built-in function RinexNavHeader_date_get>, 'fileAgency': <built-in function RinexNavHeader_fileAgenc [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'A0': <built-in function RinexNavHeader_A0_set>, 'A1': <built-in function RinexNavHeader_A1_set>, 'UTCRefTime': <built-in function RinexNavHeader_UTCRefTime_set>, 'UTCRefWeek': <built-in function RinexNavHeader_UTCRefWeek_set>, 'commentList': <built-in function RinexNavHeader_commentList_set>, 'date': <built-in function RinexNavHeader_date_set>, 'fileAgency': <built-in function RinexNavHeader_fileAgenc [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexNavHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>allValid20</strong> = -2147483645</dl>
+
+<dl><dt><strong>allValid21</strong> = -2147483645</dl>
+
+<dl><dt><strong>commentString</strong> = 'COMMENT'</dl>
+
+<dl><dt><strong>commentValid</strong> = 4</dl>
+
+<dl><dt><strong>deltaUTCString</strong> = 'DELTA-UTC: A0,A1,T,W'</dl>
+
+<dl><dt><strong>deltaUTCValid</strong> = 32</dl>
+
+<dl><dt><strong>endOfHeader</strong> = 'END OF HEADER'</dl>
+
+<dl><dt><strong>endValid</strong> = -2147483648</dl>
+
+<dl><dt><strong>ionAlphaString</strong> = 'ION ALPHA'</dl>
+
+<dl><dt><strong>ionAlphaValid</strong> = 8</dl>
+
+<dl><dt><strong>ionBetaString</strong> = 'ION BETA'</dl>
+
+<dl><dt><strong>ionBetaValid</strong> = 16</dl>
+
+<dl><dt><strong>leapSecondsString</strong> = 'LEAP SECONDS'</dl>
+
+<dl><dt><strong>leapSecondsValid</strong> = 64</dl>
+
+<dl><dt><strong>runByString</strong> = 'PGM / RUN BY / DATE'</dl>
+
+<dl><dt><strong>runByValid</strong> = 2</dl>
+
+<dl><dt><strong>versionString</strong> = 'RINEX VERSION / TYPE'</dl>
+
+<dl><dt><strong>versionValid</strong> = 1</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexNavStream">class <strong>RinexNavStream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexNavStream">RinexNavStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexNavStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexNavStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexNavStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexNavStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexNavStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="RinexNavStream-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavStream_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStream-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavStream_header_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>headerRead</strong></dt>
+<dd><dl><dt><a name="RinexNavStream-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavStream_headerRead_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStream-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavStream_headerRead_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'header': <built-in function RinexNavStream_header_get>, 'headerRead': <built-in function RinexNavStream_headerRead_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'header': <built-in function RinexNavStream_header_set>, 'headerRead': <built-in function RinexNavStream_headerRead_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="RinexNavStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="RinexNavStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="RinexNavStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="RinexNavStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="RinexNavStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="RinexNavStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexNavStreamPtr">class <strong>RinexNavStreamPtr</strong></a>(<a href="gpstkPython.html#RinexNavStream">RinexNavStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexNavStreamPtr">RinexNavStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexNavStream">RinexNavStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexNavStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexNavStream">RinexNavStream</a>:<br>
+<dl><dt><a name="RinexNavStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexNavStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexNavStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexNavStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexNavStream">RinexNavStream</a>:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavStream_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavStream_header_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>headerRead</strong></dt>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavStream_headerRead_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavStream_headerRead_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexNavStream">RinexNavStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'header': <built-in function RinexNavStream_header_get>, 'headerRead': <built-in function RinexNavStream_headerRead_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'header': <built-in function RinexNavStream_header_set>, 'headerRead': <built-in function RinexNavStream_headerRead_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="RinexNavStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="RinexNavStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsBase">class <strong>RinexObsBase</strong></a>(<a href="gpstkPython.html#FFData">FFData</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsBase-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsBase></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsBase-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="RinexObsBase-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="RinexObsBase-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBase-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBase-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBase-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBase-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsBasePtr">class <strong>RinexObsBasePtr</strong></a>(<a href="gpstkPython.html#RinexObsBase">RinexObsBase</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsBasePtr">RinexObsBasePtr</a></dd>
+<dd><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsBasePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexObsBase">RinexObsBase</a>:<br>
+<dl><dt><a name="RinexObsBasePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsBase></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsBasePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexObsBase">RinexObsBase</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="RinexObsBasePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBasePtr-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBasePtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBasePtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBasePtr-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsData">class <strong>RinexObsData</strong></a>(<a href="gpstkPython.html#RinexObsBase">RinexObsBase</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsData">RinexObsData</a></dd>
+<dd><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexObsData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsData-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsData-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>auxHeader</strong></dt>
+<dd><dl><dt><a name="RinexObsData-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_auxHeader_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsData-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_auxHeader_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>clockOffset</strong></dt>
+<dd><dl><dt><a name="RinexObsData-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_clockOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsData-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_clockOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>epochFlag</strong></dt>
+<dd><dl><dt><a name="RinexObsData-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_epochFlag_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsData-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_epochFlag_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numSvs</strong></dt>
+<dd><dl><dt><a name="RinexObsData-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_numSvs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsData-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_numSvs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="RinexObsData-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsData-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="RinexObsData-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsData-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_time_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'auxHeader': <built-in function RinexObsData_auxHeader_get>, 'clockOffset': <built-in function RinexObsData_clockOffset_get>, 'epochFlag': <built-in function RinexObsData_epochFlag_get>, 'numSvs': <built-in function RinexObsData_numSvs_get>, 'obs': <built-in function RinexObsData_obs_get>, 'time': <built-in function RinexObsData_time_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'auxHeader': <built-in function RinexObsData_auxHeader_set>, 'clockOffset': <built-in function RinexObsData_clockOffset_set>, 'epochFlag': <built-in function RinexObsData_epochFlag_set>, 'numSvs': <built-in function RinexObsData_numSvs_set>, 'obs': <built-in function RinexObsData_obs_set>, 'time': <built-in function RinexObsData_time_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="RinexObsData-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsData-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsData-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsDataPtr">class <strong>RinexObsDataPtr</strong></a>(<a href="gpstkPython.html#RinexObsData">RinexObsData</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsDataPtr">RinexObsDataPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexObsData">RinexObsData</a></dd>
+<dd><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexObsData">RinexObsData</a>:<br>
+<dl><dt><a name="RinexObsDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsDataPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsDataPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexObsData">RinexObsData</a>:<br>
+<dl><dt><strong>auxHeader</strong></dt>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_auxHeader_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_auxHeader_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>clockOffset</strong></dt>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_clockOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_clockOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>epochFlag</strong></dt>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_epochFlag_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_epochFlag_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numSvs</strong></dt>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_numSvs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_numSvs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_time_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexObsData">RinexObsData</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'auxHeader': <built-in function RinexObsData_auxHeader_get>, 'clockOffset': <built-in function RinexObsData_clockOffset_get>, 'epochFlag': <built-in function RinexObsData_epochFlag_get>, 'numSvs': <built-in function RinexObsData_numSvs_get>, 'obs': <built-in function RinexObsData_obs_get>, 'time': <built-in function RinexObsData_time_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'auxHeader': <built-in function RinexObsData_auxHeader_set>, 'clockOffset': <built-in function RinexObsData_clockOffset_set>, 'epochFlag': <built-in function RinexObsData_epochFlag_set>, 'numSvs': <built-in function RinexObsData_numSvs_set>, 'obs': <built-in function RinexObsData_obs_set>, 'time': <built-in function RinexObsData_time_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="RinexObsDataPtr-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsDataPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsDataPtr-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsHeader">class <strong>RinexObsHeader</strong></a>(<a href="gpstkPython.html#RinexObsBase">RinexObsBase</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a></dd>
+<dd><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsHeader-NumberHeaderRecordsToBeWritten"><strong>NumberHeaderRecordsToBeWritten</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-ParseHeaderRecord"><strong>ParseHeaderRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-WriteHeaderRecords"><strong>WriteHeaderRecords</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="RinexObsHeader-convertObsType"><strong>convertObsType</strong></a> = RinexObsHeader_convertObsType(...)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>agency</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_agency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_agency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antNo</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antNo_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antNo_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antType</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antennaOffset</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antennaOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antennaOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antennaPosition</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antennaPosition_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antennaPosition_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>commentList</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_commentList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_commentList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>date</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_date_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_date_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>extraWaveFactList</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_extraWaveFactList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_extraWaveFactList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileAgency</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_fileAgency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_fileAgency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileProgram</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_fileProgram_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_fileProgram_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileType</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_fileType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_fileType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>firstObs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_firstObs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_firstObs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>firstSystem</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_firstSystem_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_firstSystem_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>interval</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_interval_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_interval_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastObs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_lastObs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_lastObs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastPRN</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_lastPRN_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_lastPRN_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastSystem</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_lastSystem_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_lastSystem_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>leapSeconds</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_leapSeconds_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_leapSeconds_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerName</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_markerName_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_markerName_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerNumber</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_markerNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_markerNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numObs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_numObs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_numObs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numObsForPrn</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_numObsForPrn_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_numObsForPrn_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numSVs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_numSVs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_numSVs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsTypeList</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_obsTypeList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_obsTypeList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>observer</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_observer_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_observer_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recNo</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_recNo_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_recNo_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recType</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_recType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_recType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recVers</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_recVers_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_recVers_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>receiverOffset</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_receiverOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_receiverOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>system</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_system_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_system_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>valid</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_version_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>wavelengthFactor</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_wavelengthFactor_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_wavelengthFactor_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>C1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _40f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>D1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _70f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>D2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _80f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>L1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _20f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>L2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _30f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>P1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _50f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>P2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _60f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>S1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _90f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>S2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _a0f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>StandardRinexObsTypes</strong> = <Swig Object at _a0f72cb7_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t></dl>
+
+<dl><dt><strong>T1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _b0f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>T2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _c0f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>UN</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _10f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'agency': <built-in function RinexObsHeader_agency_get>, 'antNo': <built-in function RinexObsHeader_antNo_get>, 'antType': <built-in function RinexObsHeader_antType_get>, 'antennaOffset': <built-in function RinexObsHeader_antennaOffset_get>, 'antennaPosition': <built-in function RinexObsHeader_antennaPosition_get>, 'commentList': <built-in function RinexObsHeader_commentList_get>, 'convertObsType': <fu [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'agency': <built-in function RinexObsHeader_agency_set>, 'antNo': <built-in function RinexObsHeader_antNo_set>, 'antType': <built-in function RinexObsHeader_antType_set>, 'antennaOffset': <built-in function RinexObsHeader_antennaOffset_set>, 'antennaPosition': <built-in function RinexObsHeader_antennaPosition_set>, 'commentList': <built-in function RinexObsHeader_commentList_set>, 'date': <built-in fun [...]
+
+<dl><dt><strong>allValid20</strong> = -2147471381</dl>
+
+<dl><dt><strong>allValid21</strong> = -2147471381</dl>
+
+<dl><dt><strong>antennaOffsetString</strong> = 'ANTENNA: DELTA H/E/N'</dl>
+
+<dl><dt><strong>antennaOffsetValid</strong> = 512</dl>
+
+<dl><dt><strong>antennaPositionString</strong> = 'APPROX POSITION XYZ'</dl>
+
+<dl><dt><strong>antennaPositionValid</strong> = 256</dl>
+
+<dl><dt><strong>antennaTypeString</strong> = 'ANT # / TYPE'</dl>
+
+<dl><dt><strong>antennaTypeValid</strong> = 128</dl>
+
+<dl><dt><strong>commentString</strong> = 'COMMENT'</dl>
+
+<dl><dt><strong>commentValid</strong> = 4</dl>
+
+<dl><dt><strong>endOfHeader</strong> = 'END OF HEADER'</dl>
+
+<dl><dt><strong>endValid</strong> = -2147483648</dl>
+
+<dl><dt><strong>firstTimeString</strong> = 'TIME OF FIRST OBS'</dl>
+
+<dl><dt><strong>firstTimeValid</strong> = 8192</dl>
+
+<dl><dt><strong>intervalString</strong> = 'INTERVAL'</dl>
+
+<dl><dt><strong>intervalValid</strong> = 4096</dl>
+
+<dl><dt><strong>lastTimeString</strong> = 'TIME OF LAST OBS'</dl>
+
+<dl><dt><strong>lastTimeValid</strong> = 16384</dl>
+
+<dl><dt><strong>leapSecondsString</strong> = 'LEAP SECONDS'</dl>
+
+<dl><dt><strong>leapSecondsValid</strong> = 1048576</dl>
+
+<dl><dt><strong>markerNameString</strong> = 'MARKER NAME'</dl>
+
+<dl><dt><strong>markerNameValid</strong> = 8</dl>
+
+<dl><dt><strong>markerNumberString</strong> = 'MARKER NUMBER'</dl>
+
+<dl><dt><strong>markerNumberValid</strong> = 16</dl>
+
+<dl><dt><strong>numObsString</strong> = '# / TYPES OF OBSERV'</dl>
+
+<dl><dt><strong>numSatsString</strong> = '# OF SATELLITES'</dl>
+
+<dl><dt><strong>numSatsValid</strong> = 2097152</dl>
+
+<dl><dt><strong>obsTypeValid</strong> = 2048</dl>
+
+<dl><dt><strong>observerString</strong> = 'OBSERVER / AGENCY'</dl>
+
+<dl><dt><strong>observerValid</strong> = 32</dl>
+
+<dl><dt><strong>prnObsString</strong> = 'PRN / # OF OBS'</dl>
+
+<dl><dt><strong>prnObsValid</strong> = 4194304</dl>
+
+<dl><dt><strong>receiverOffsetString</strong> = 'RCV CLOCK OFFS APPL'</dl>
+
+<dl><dt><strong>receiverOffsetValid</strong> = 32768</dl>
+
+<dl><dt><strong>receiverString</strong> = 'REC # / TYPE / VERS'</dl>
+
+<dl><dt><strong>receiverValid</strong> = 64</dl>
+
+<dl><dt><strong>runByString</strong> = 'PGM / RUN BY / DATE'</dl>
+
+<dl><dt><strong>runByValid</strong> = 2</dl>
+
+<dl><dt><strong>versionString</strong> = 'RINEX VERSION / TYPE'</dl>
+
+<dl><dt><strong>versionValid</strong> = 1</dl>
+
+<dl><dt><strong>waveFactString</strong> = 'WAVELENGTH FACT L1/2'</dl>
+
+<dl><dt><strong>waveFactValid</strong> = 1024</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="RinexObsHeader-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsHeaderPtr">class <strong>RinexObsHeaderPtr</strong></a>(<a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsHeaderPtr">RinexObsHeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a></dd>
+<dd><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsHeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a>:<br>
+<dl><dt><a name="RinexObsHeaderPtr-NumberHeaderRecordsToBeWritten"><strong>NumberHeaderRecordsToBeWritten</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-ParseHeaderRecord"><strong>ParseHeaderRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-WriteHeaderRecords"><strong>WriteHeaderRecords</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a>:<br>
+<dl><dt><a name="RinexObsHeaderPtr-convertObsType"><strong>convertObsType</strong></a> = RinexObsHeader_convertObsType(...)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a>:<br>
+<dl><dt><strong>agency</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_agency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_agency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antNo</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antNo_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antNo_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antType</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antennaOffset</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antennaOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antennaOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antennaPosition</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antennaPosition_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antennaPosition_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>commentList</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_commentList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_commentList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>date</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_date_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_date_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>extraWaveFactList</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_extraWaveFactList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_extraWaveFactList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileAgency</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_fileAgency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_fileAgency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileProgram</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_fileProgram_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_fileProgram_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileType</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_fileType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_fileType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>firstObs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_firstObs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_firstObs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>firstSystem</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_firstSystem_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_firstSystem_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>interval</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_interval_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_interval_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastObs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_lastObs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_lastObs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastPRN</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_lastPRN_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_lastPRN_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastSystem</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_lastSystem_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_lastSystem_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>leapSeconds</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_leapSeconds_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_leapSeconds_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerName</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_markerName_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_markerName_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerNumber</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_markerNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_markerNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numObs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_numObs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_numObs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numObsForPrn</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_numObsForPrn_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_numObsForPrn_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numSVs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_numSVs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_numSVs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsTypeList</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_obsTypeList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_obsTypeList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>observer</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_observer_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_observer_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recNo</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_recNo_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_recNo_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recType</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_recType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_recType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recVers</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_recVers_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_recVers_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>receiverOffset</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_receiverOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_receiverOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>system</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_system_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_system_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>valid</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_version_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>wavelengthFactor</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_wavelengthFactor_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_wavelengthFactor_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a>:<br>
+<dl><dt><strong>C1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _40f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>D1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _70f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>D2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _80f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>L1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _20f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>L2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _30f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>P1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _50f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>P2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _60f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>S1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _90f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>S2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _a0f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>StandardRinexObsTypes</strong> = <Swig Object at _a0f72cb7_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t></dl>
+
+<dl><dt><strong>T1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _b0f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>T2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _c0f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>UN</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _10f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'agency': <built-in function RinexObsHeader_agency_get>, 'antNo': <built-in function RinexObsHeader_antNo_get>, 'antType': <built-in function RinexObsHeader_antType_get>, 'antennaOffset': <built-in function RinexObsHeader_antennaOffset_get>, 'antennaPosition': <built-in function RinexObsHeader_antennaPosition_get>, 'commentList': <built-in function RinexObsHeader_commentList_get>, 'convertObsType': <fu [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'agency': <built-in function RinexObsHeader_agency_set>, 'antNo': <built-in function RinexObsHeader_antNo_set>, 'antType': <built-in function RinexObsHeader_antType_set>, 'antennaOffset': <built-in function RinexObsHeader_antennaOffset_set>, 'antennaPosition': <built-in function RinexObsHeader_antennaPosition_set>, 'commentList': <built-in function RinexObsHeader_commentList_set>, 'date': <built-in fun [...]
+
+<dl><dt><strong>allValid20</strong> = -2147471381</dl>
+
+<dl><dt><strong>allValid21</strong> = -2147471381</dl>
+
+<dl><dt><strong>antennaOffsetString</strong> = 'ANTENNA: DELTA H/E/N'</dl>
+
+<dl><dt><strong>antennaOffsetValid</strong> = 512</dl>
+
+<dl><dt><strong>antennaPositionString</strong> = 'APPROX POSITION XYZ'</dl>
+
+<dl><dt><strong>antennaPositionValid</strong> = 256</dl>
+
+<dl><dt><strong>antennaTypeString</strong> = 'ANT # / TYPE'</dl>
+
+<dl><dt><strong>antennaTypeValid</strong> = 128</dl>
+
+<dl><dt><strong>commentString</strong> = 'COMMENT'</dl>
+
+<dl><dt><strong>commentValid</strong> = 4</dl>
+
+<dl><dt><strong>endOfHeader</strong> = 'END OF HEADER'</dl>
+
+<dl><dt><strong>endValid</strong> = -2147483648</dl>
+
+<dl><dt><strong>firstTimeString</strong> = 'TIME OF FIRST OBS'</dl>
+
+<dl><dt><strong>firstTimeValid</strong> = 8192</dl>
+
+<dl><dt><strong>intervalString</strong> = 'INTERVAL'</dl>
+
+<dl><dt><strong>intervalValid</strong> = 4096</dl>
+
+<dl><dt><strong>lastTimeString</strong> = 'TIME OF LAST OBS'</dl>
+
+<dl><dt><strong>lastTimeValid</strong> = 16384</dl>
+
+<dl><dt><strong>leapSecondsString</strong> = 'LEAP SECONDS'</dl>
+
+<dl><dt><strong>leapSecondsValid</strong> = 1048576</dl>
+
+<dl><dt><strong>markerNameString</strong> = 'MARKER NAME'</dl>
+
+<dl><dt><strong>markerNameValid</strong> = 8</dl>
+
+<dl><dt><strong>markerNumberString</strong> = 'MARKER NUMBER'</dl>
+
+<dl><dt><strong>markerNumberValid</strong> = 16</dl>
+
+<dl><dt><strong>numObsString</strong> = '# / TYPES OF OBSERV'</dl>
+
+<dl><dt><strong>numSatsString</strong> = '# OF SATELLITES'</dl>
+
+<dl><dt><strong>numSatsValid</strong> = 2097152</dl>
+
+<dl><dt><strong>obsTypeValid</strong> = 2048</dl>
+
+<dl><dt><strong>observerString</strong> = 'OBSERVER / AGENCY'</dl>
+
+<dl><dt><strong>observerValid</strong> = 32</dl>
+
+<dl><dt><strong>prnObsString</strong> = 'PRN / # OF OBS'</dl>
+
+<dl><dt><strong>prnObsValid</strong> = 4194304</dl>
+
+<dl><dt><strong>receiverOffsetString</strong> = 'RCV CLOCK OFFS APPL'</dl>
+
+<dl><dt><strong>receiverOffsetValid</strong> = 32768</dl>
+
+<dl><dt><strong>receiverString</strong> = 'REC # / TYPE / VERS'</dl>
+
+<dl><dt><strong>receiverValid</strong> = 64</dl>
+
+<dl><dt><strong>runByString</strong> = 'PGM / RUN BY / DATE'</dl>
+
+<dl><dt><strong>runByValid</strong> = 2</dl>
+
+<dl><dt><strong>versionString</strong> = 'RINEX VERSION / TYPE'</dl>
+
+<dl><dt><strong>versionValid</strong> = 1</dl>
+
+<dl><dt><strong>waveFactString</strong> = 'WAVELENGTH FACT L1/2'</dl>
+
+<dl><dt><strong>waveFactValid</strong> = 1024</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="RinexObsHeaderPtr-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsStream">class <strong>RinexObsStream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsStream">RinexObsStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexObsStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="RinexObsStream-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsStream_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStream-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsStream_header_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>headerRead</strong></dt>
+<dd><dl><dt><a name="RinexObsStream-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsStream_headerRead_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStream-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsStream_headerRead_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'header': <built-in function RinexObsStream_header_get>, 'headerRead': <built-in function RinexObsStream_headerRead_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'header': <built-in function RinexObsStream_header_set>, 'headerRead': <built-in function RinexObsStream_headerRead_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="RinexObsStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="RinexObsStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="RinexObsStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="RinexObsStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="RinexObsStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="RinexObsStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsStreamPtr">class <strong>RinexObsStreamPtr</strong></a>(<a href="gpstkPython.html#RinexObsStream">RinexObsStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsStreamPtr">RinexObsStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexObsStream">RinexObsStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexObsStream">RinexObsStream</a>:<br>
+<dl><dt><a name="RinexObsStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexObsStream">RinexObsStream</a>:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsStream_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsStream_header_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>headerRead</strong></dt>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsStream_headerRead_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsStream_headerRead_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexObsStream">RinexObsStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'header': <built-in function RinexObsStream_header_get>, 'headerRead': <built-in function RinexObsStream_headerRead_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'header': <built-in function RinexObsStream_header_set>, 'headerRead': <built-in function RinexObsStream_headerRead_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="RinexObsStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="RinexObsStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsType">class <strong>RinexObsType</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexObsType-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsType></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsType-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexObsType-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>depend</strong></dt>
+<dd><dl><dt><a name="RinexObsType-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_depend_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsType-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_depend_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>description</strong></dt>
+<dd><dl><dt><a name="RinexObsType-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_description_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsType-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_description_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>type</strong></dt>
+<dd><dl><dt><a name="RinexObsType-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_type_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsType-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_type_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>units</strong></dt>
+<dd><dl><dt><a name="RinexObsType-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_units_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsType-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_units_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>C1depend</strong> = 1</dl>
+
+<dl><dt><strong>EPdepend</strong> = 32</dl>
+
+<dl><dt><strong>L1depend</strong> = 2</dl>
+
+<dl><dt><strong>L2depend</strong> = 4</dl>
+
+<dl><dt><strong>P1depend</strong> = 8</dl>
+
+<dl><dt><strong>P2depend</strong> = 16</dl>
+
+<dl><dt><strong>PSdepend</strong> = 64</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'depend': <built-in function RinexObsType_depend_get>, 'description': <built-in function RinexObsType_description_get>, 'type': <built-in function RinexObsType_type_get>, 'units': <built-in function RinexObsType_units_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'depend': <built-in function RinexObsType_depend_set>, 'description': <built-in function RinexObsType_description_set>, 'type': <built-in function RinexObsType_type_set>, 'units': <built-in function RinexObsType_units_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexObsType' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsTypeMap">class <strong>RinexObsTypeMap</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexObsTypeMap-__contains__"><strong>__contains__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsTypeMap></font>)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__iter__"><strong>__iter__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-count"><strong>count</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-erase"><strong>erase</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-has_key"><strong>has_key</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-items"><strong>items</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-keys"><strong>keys</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-values"><strong>values</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexObsTypeMap' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsTypeMapPtr">class <strong>RinexObsTypeMapPtr</strong></a>(<a href="gpstkPython.html#RinexObsTypeMap">RinexObsTypeMap</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsTypeMapPtr">RinexObsTypeMapPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexObsTypeMap">RinexObsTypeMap</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsTypeMapPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexObsTypeMap">RinexObsTypeMap</a>:<br>
+<dl><dt><a name="RinexObsTypeMapPtr-__contains__"><strong>__contains__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsTypeMap></font>)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__iter__"><strong>__iter__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-count"><strong>count</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-erase"><strong>erase</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-has_key"><strong>has_key</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-items"><strong>items</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-keys"><strong>keys</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-values"><strong>values</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexObsTypeMap">RinexObsTypeMap</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexObsTypeMap' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsTypePtr">class <strong>RinexObsTypePtr</strong></a>(<a href="gpstkPython.html#RinexObsType">RinexObsType</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsTypePtr">RinexObsTypePtr</a></dd>
+<dd><a href="gpstkPython.html#RinexObsType">RinexObsType</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsTypePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexObsType">RinexObsType</a>:<br>
+<dl><dt><a name="RinexObsTypePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsType></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsTypePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexObsType">RinexObsType</a>:<br>
+<dl><dt><strong>depend</strong></dt>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_depend_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_depend_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>description</strong></dt>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_description_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_description_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>type</strong></dt>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_type_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_type_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>units</strong></dt>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_units_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_units_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexObsType">RinexObsType</a>:<br>
+<dl><dt><strong>C1depend</strong> = 1</dl>
+
+<dl><dt><strong>EPdepend</strong> = 32</dl>
+
+<dl><dt><strong>L1depend</strong> = 2</dl>
+
+<dl><dt><strong>L2depend</strong> = 4</dl>
+
+<dl><dt><strong>P1depend</strong> = 8</dl>
+
+<dl><dt><strong>P2depend</strong> = 16</dl>
+
+<dl><dt><strong>PSdepend</strong> = 64</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'depend': <built-in function RinexObsType_depend_get>, 'description': <built-in function RinexObsType_description_get>, 'type': <built-in function RinexObsType_type_get>, 'units': <built-in function RinexObsType_units_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'depend': <built-in function RinexObsType_depend_set>, 'description': <built-in function RinexObsType_description_set>, 'type': <built-in function RinexObsType_type_set>, 'units': <built-in function RinexObsType_units_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexObsType' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexPrn">class <strong>RinexPrn</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexPrn-System"><strong>System</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrn-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexPrn></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexPrn-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexPrn-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexPrn-getfill"><strong>getfill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrn-setfill"><strong>setfill</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>prn</strong></dt>
+<dd><dl><dt><a name="RinexPrn-<em>get</em>"><strong><em>get</em></strong></a> = RinexPrn_prn_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexPrn-<em>set</em>"><strong><em>set</em></strong></a> = RinexPrn_prn_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>system</strong></dt>
+<dd><dl><dt><a name="RinexPrn-<em>get</em>"><strong><em>get</em></strong></a> = RinexPrn_system_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexPrn-<em>set</em>"><strong><em>set</em></strong></a> = RinexPrn_system_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'prn': <built-in function RinexPrn_prn_get>, 'system': <built-in function RinexPrn_system_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'prn': <built-in function RinexPrn_prn_set>, 'system': <built-in function RinexPrn_system_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexPrn' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexPrnMap">class <strong>RinexPrnMap</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexPrnMap-__contains__"><strong>__contains__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexPrnMap></font>)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__iter__"><strong>__iter__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-count"><strong>count</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-erase"><strong>erase</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-has_key"><strong>has_key</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-items"><strong>items</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-keys"><strong>keys</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-values"><strong>values</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexPrnMap' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexPrnMapPtr">class <strong>RinexPrnMapPtr</strong></a>(<a href="gpstkPython.html#RinexPrnMap">RinexPrnMap</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexPrnMapPtr">RinexPrnMapPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexPrnMap">RinexPrnMap</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexPrnMapPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexPrnMap">RinexPrnMap</a>:<br>
+<dl><dt><a name="RinexPrnMapPtr-__contains__"><strong>__contains__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexPrnMap></font>)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__iter__"><strong>__iter__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-count"><strong>count</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-erase"><strong>erase</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-has_key"><strong>has_key</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-items"><strong>items</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-keys"><strong>keys</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-values"><strong>values</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexPrnMap">RinexPrnMap</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexPrnMap' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexPrnPtr">class <strong>RinexPrnPtr</strong></a>(<a href="gpstkPython.html#RinexPrn">RinexPrn</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexPrnPtr">RinexPrnPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexPrn">RinexPrn</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexPrnPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexPrn">RinexPrn</a>:<br>
+<dl><dt><a name="RinexPrnPtr-System"><strong>System</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexPrn></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexPrnPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexPrnPtr-getfill"><strong>getfill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnPtr-setfill"><strong>setfill</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexPrn">RinexPrn</a>:<br>
+<dl><dt><strong>prn</strong></dt>
+<dd><dl><dt><a name="RinexPrnPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexPrn_prn_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexPrnPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexPrn_prn_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>system</strong></dt>
+<dd><dl><dt><a name="RinexPrnPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexPrn_system_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexPrnPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexPrn_system_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexPrn">RinexPrn</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'prn': <built-in function RinexPrn_prn_get>, 'system': <built-in function RinexPrn_system_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'prn': <built-in function RinexPrn_prn_set>, 'system': <built-in function RinexPrn_system_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexPrn' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RungeKutta4">class <strong>RungeKutta4</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RungeKutta4-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RungeKutta4></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RungeKutta4-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="RungeKutta4-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RungeKutta4-derivative"><strong>derivative</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RungeKutta4-getState"><strong>getState</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RungeKutta4-getTime"><strong>getTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RungeKutta4-integrateTo"><strong>integrateTo</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RungeKutta4' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RungeKutta4Ptr">class <strong>RungeKutta4Ptr</strong></a>(<a href="gpstkPython.html#RungeKutta4">RungeKutta4</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RungeKutta4Ptr">RungeKutta4Ptr</a></dd>
+<dd><a href="gpstkPython.html#RungeKutta4">RungeKutta4</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RungeKutta4Ptr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RungeKutta4">RungeKutta4</a>:<br>
+<dl><dt><a name="RungeKutta4Ptr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RungeKutta4></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RungeKutta4Ptr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RungeKutta4Ptr-derivative"><strong>derivative</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RungeKutta4Ptr-getState"><strong>getState</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RungeKutta4Ptr-getTime"><strong>getTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RungeKutta4Ptr-integrateTo"><strong>integrateTo</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RungeKutta4">RungeKutta4</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RungeKutta4' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RxObsData">class <strong>RxObsData</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RxObsData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RxObsData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RxObsData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RxObsData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RxObsData-insertEpoch"><strong>insertEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RxObsData-insertObservation"><strong>insertObservation</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>epochs</strong></dt>
+<dd><dl><dt><a name="RxObsData-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_epochs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsData-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_epochs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>firstTime</strong></dt>
+<dd><dl><dt><a name="RxObsData-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_firstTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsData-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_firstTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastTime</strong></dt>
+<dd><dl><dt><a name="RxObsData-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_lastTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsData-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_lastTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>prnList</strong></dt>
+<dd><dl><dt><a name="RxObsData-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_prnList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsData-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_prnList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rxId</strong></dt>
+<dd><dl><dt><a name="RxObsData-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_rxId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsData-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_rxId_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'epochs': <built-in function RxObsData_epochs_get>, 'firstTime': <built-in function RxObsData_firstTime_get>, 'lastTime': <built-in function RxObsData_lastTime_get>, 'prnList': <built-in function RxObsData_prnList_get>, 'rxId': <built-in function RxObsData_rxId_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'epochs': <built-in function RxObsData_epochs_set>, 'firstTime': <built-in function RxObsData_firstTime_set>, 'lastTime': <built-in function RxObsData_lastTime_set>, 'prnList': <built-in function RxObsData_prnList_set>, 'rxId': <built-in function RxObsData_rxId_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RxObsData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RxObsDataPtr">class <strong>RxObsDataPtr</strong></a>(<a href="gpstkPython.html#RxObsData">RxObsData</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RxObsDataPtr">RxObsDataPtr</a></dd>
+<dd><a href="gpstkPython.html#RxObsData">RxObsData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RxObsDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RxObsData">RxObsData</a>:<br>
+<dl><dt><a name="RxObsDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RxObsData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RxObsDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RxObsDataPtr-insertEpoch"><strong>insertEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RxObsDataPtr-insertObservation"><strong>insertObservation</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RxObsData">RxObsData</a>:<br>
+<dl><dt><strong>epochs</strong></dt>
+<dd><dl><dt><a name="RxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_epochs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_epochs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>firstTime</strong></dt>
+<dd><dl><dt><a name="RxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_firstTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_firstTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastTime</strong></dt>
+<dd><dl><dt><a name="RxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_lastTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_lastTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>prnList</strong></dt>
+<dd><dl><dt><a name="RxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_prnList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_prnList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rxId</strong></dt>
+<dd><dl><dt><a name="RxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_rxId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_rxId_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RxObsData">RxObsData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'epochs': <built-in function RxObsData_epochs_get>, 'firstTime': <built-in function RxObsData_firstTime_get>, 'lastTime': <built-in function RxObsData_lastTime_get>, 'prnList': <built-in function RxObsData_prnList_get>, 'rxId': <built-in function RxObsData_rxId_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'epochs': <built-in function RxObsData_epochs_set>, 'firstTime': <built-in function RxObsData_firstTime_set>, 'lastTime': <built-in function RxObsData_lastTime_set>, 'prnList': <built-in function RxObsData_prnList_set>, 'rxId': <built-in function RxObsData_rxId_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RxObsData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SMODFStream">class <strong>SMODFStream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SMODFStream">SMODFStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SMODFStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SMODFStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SMODFStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SMODFStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SMODFStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>format</strong></dt>
+<dd><dl><dt><a name="SMODFStream-<em>get</em>"><strong><em>get</em></strong></a> = SMODFStream_format_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStream-<em>set</em>"><strong><em>set</em></strong></a> = SMODFStream_format_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'format': <built-in function SMODFStream_format_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'format': <built-in function SMODFStream_format_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<dl><dt><strong>icd211</strong> = 2</dl>
+
+<dl><dt><strong>legacy</strong> = 1</dl>
+
+<dl><dt><strong>undefined</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="SMODFStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="SMODFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="SMODFStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="SMODFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="SMODFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="SMODFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SMODFStreamPtr">class <strong>SMODFStreamPtr</strong></a>(<a href="gpstkPython.html#SMODFStream">SMODFStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SMODFStreamPtr">SMODFStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#SMODFStream">SMODFStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SMODFStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SMODFStream">SMODFStream</a>:<br>
+<dl><dt><a name="SMODFStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SMODFStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SMODFStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SMODFStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#SMODFStream">SMODFStream</a>:<br>
+<dl><dt><strong>format</strong></dt>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = SMODFStream_format_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = SMODFStream_format_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SMODFStream">SMODFStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'format': <built-in function SMODFStream_format_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'format': <built-in function SMODFStream_format_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<dl><dt><strong>icd211</strong> = 2</dl>
+
+<dl><dt><strong>legacy</strong> = 1</dl>
+
+<dl><dt><strong>undefined</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="SMODFStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="SMODFStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3Data">class <strong>SP3Data</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="SP3Data-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3Data></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3Data-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SP3Data-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SP3Data-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3Data-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>clk</strong></dt>
+<dd><dl><dt><a name="SP3Data-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_clk_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Data-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_clk_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>flag</strong></dt>
+<dd><dl><dt><a name="SP3Data-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_flag_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Data-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_flag_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>id</strong></dt>
+<dd><dl><dt><a name="SP3Data-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_id_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Data-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_id_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="SP3Data-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Data-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>x</strong></dt>
+<dd><dl><dt><a name="SP3Data-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_x_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Data-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_x_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'clk': <built-in function SP3Data_clk_get>, 'flag': <built-in function SP3Data_flag_get>, 'id': <built-in function SP3Data_id_get>, 'time': <built-in function SP3Data_time_get>, 'x': <built-in function SP3Data_x_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'clk': <built-in function SP3Data_clk_set>, 'flag': <built-in function SP3Data_flag_set>, 'id': <built-in function SP3Data_id_set>, 'time': <built-in function SP3Data_time_set>, 'x': <built-in function SP3Data_x_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SP3Data' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3DataPtr">class <strong>SP3DataPtr</strong></a>(<a href="gpstkPython.html#SP3Data">SP3Data</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SP3DataPtr">SP3DataPtr</a></dd>
+<dd><a href="gpstkPython.html#SP3Data">SP3Data</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SP3DataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SP3Data">SP3Data</a>:<br>
+<dl><dt><a name="SP3DataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3Data></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3DataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SP3DataPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3DataPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#SP3Data">SP3Data</a>:<br>
+<dl><dt><strong>clk</strong></dt>
+<dd><dl><dt><a name="SP3DataPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_clk_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3DataPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_clk_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>flag</strong></dt>
+<dd><dl><dt><a name="SP3DataPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_flag_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3DataPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_flag_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>id</strong></dt>
+<dd><dl><dt><a name="SP3DataPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_id_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3DataPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_id_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="SP3DataPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3DataPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>x</strong></dt>
+<dd><dl><dt><a name="SP3DataPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_x_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3DataPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_x_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SP3Data">SP3Data</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'clk': <built-in function SP3Data_clk_get>, 'flag': <built-in function SP3Data_flag_get>, 'id': <built-in function SP3Data_id_get>, 'time': <built-in function SP3Data_time_get>, 'x': <built-in function SP3Data_x_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'clk': <built-in function SP3Data_clk_set>, 'flag': <built-in function SP3Data_flag_set>, 'id': <built-in function SP3Data_id_set>, 'time': <built-in function SP3Data_time_set>, 'x': <built-in function SP3Data_x_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SP3Data' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3EphemerisStore">class <strong>SP3EphemerisStore</strong></a>(<a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SP3EphemerisStore">SP3EphemerisStore</a></dd>
+<dd><a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SP3EphemerisStore-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3EphemerisStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>:<br>
+<dl><dt><a name="SP3EphemerisStore-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileStore_SP3Header' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3EphemerisStorePtr">class <strong>SP3EphemerisStorePtr</strong></a>(<a href="gpstkPython.html#SP3EphemerisStore">SP3EphemerisStore</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SP3EphemerisStorePtr">SP3EphemerisStorePtr</a></dd>
+<dd><a href="gpstkPython.html#SP3EphemerisStore">SP3EphemerisStore</a></dd>
+<dd><a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SP3EphemerisStorePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SP3EphemerisStore">SP3EphemerisStore</a>:<br>
+<dl><dt><a name="SP3EphemerisStorePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3EphemerisStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SP3EphemerisStore">SP3EphemerisStore</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>:<br>
+<dl><dt><a name="SP3EphemerisStorePtr-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileStore_SP3Header' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3Header">class <strong>SP3Header</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="SP3Header-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3Header></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3Header-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SP3Header-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SP3Header-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3Header-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>agency</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_agency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_agency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>comments</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_comments_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_comments_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>coordSystem</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_coordSystem_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_coordSystem_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>dataUsed</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_dataUsed_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_dataUsed_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>epochInterval</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_epochInterval_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_epochInterval_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numberOfEpochs</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_numberOfEpochs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_numberOfEpochs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>orbitType</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_orbitType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_orbitType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pvFlag</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_pvFlag_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_pvFlag_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svList</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_svList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_svList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_version_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'agency': <built-in function SP3Header_agency_get>, 'comments': <built-in function SP3Header_comments_get>, 'coordSystem': <built-in function SP3Header_coordSystem_get>, 'dataUsed': <built-in function SP3Header_dataUsed_get>, 'epochInterval': <built-in function SP3Header_epochInterval_get>, 'numberOfEpochs': <built-in function SP3Header_numberOfEpochs_get>, 'orbitType': <built-in function SP3Header_orb [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'agency': <built-in function SP3Header_agency_set>, 'comments': <built-in function SP3Header_comments_set>, 'coordSystem': <built-in function SP3Header_coordSystem_set>, 'dataUsed': <built-in function SP3Header_dataUsed_set>, 'epochInterval': <built-in function SP3Header_epochInterval_set>, 'numberOfEpochs': <built-in function SP3Header_numberOfEpochs_set>, 'orbitType': <built-in function SP3Header_orb [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SP3Header' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3HeaderPtr">class <strong>SP3HeaderPtr</strong></a>(<a href="gpstkPython.html#SP3Header">SP3Header</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SP3HeaderPtr">SP3HeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#SP3Header">SP3Header</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SP3HeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SP3Header">SP3Header</a>:<br>
+<dl><dt><a name="SP3HeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3Header></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3HeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SP3HeaderPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3HeaderPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#SP3Header">SP3Header</a>:<br>
+<dl><dt><strong>agency</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_agency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_agency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>comments</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_comments_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_comments_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>coordSystem</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_coordSystem_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_coordSystem_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>dataUsed</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_dataUsed_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_dataUsed_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>epochInterval</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_epochInterval_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_epochInterval_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numberOfEpochs</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_numberOfEpochs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_numberOfEpochs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>orbitType</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_orbitType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_orbitType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pvFlag</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_pvFlag_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_pvFlag_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svList</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_svList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_svList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_version_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SP3Header">SP3Header</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'agency': <built-in function SP3Header_agency_get>, 'comments': <built-in function SP3Header_comments_get>, 'coordSystem': <built-in function SP3Header_coordSystem_get>, 'dataUsed': <built-in function SP3Header_dataUsed_get>, 'epochInterval': <built-in function SP3Header_epochInterval_get>, 'numberOfEpochs': <built-in function SP3Header_numberOfEpochs_get>, 'orbitType': <built-in function SP3Header_orb [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'agency': <built-in function SP3Header_agency_set>, 'comments': <built-in function SP3Header_comments_set>, 'coordSystem': <built-in function SP3Header_coordSystem_set>, 'dataUsed': <built-in function SP3Header_dataUsed_set>, 'epochInterval': <built-in function SP3Header_epochInterval_set>, 'numberOfEpochs': <built-in function SP3Header_numberOfEpochs_set>, 'orbitType': <built-in function SP3Header_orb [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SP3Header' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3Stream">class <strong>SP3Stream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SP3Stream">SP3Stream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SP3Stream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3Stream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3Stream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SP3Stream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>currentEpoch</strong></dt>
+<dd><dl><dt><a name="SP3Stream-<em>get</em>"><strong><em>get</em></strong></a> = SP3Stream_currentEpoch_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Stream-<em>set</em>"><strong><em>set</em></strong></a> = SP3Stream_currentEpoch_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'currentEpoch': <built-in function SP3Stream_currentEpoch_get>, 'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'currentEpoch': <built-in function SP3Stream_currentEpoch_set>, 'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="SP3Stream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3Stream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="SP3Stream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Stream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="SP3Stream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="SP3Stream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Stream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="SP3Stream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Stream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="SP3Stream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Stream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3StreamPtr">class <strong>SP3StreamPtr</strong></a>(<a href="gpstkPython.html#SP3Stream">SP3Stream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SP3StreamPtr">SP3StreamPtr</a></dd>
+<dd><a href="gpstkPython.html#SP3Stream">SP3Stream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SP3StreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SP3Stream">SP3Stream</a>:<br>
+<dl><dt><a name="SP3StreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3Stream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3StreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#SP3Stream">SP3Stream</a>:<br>
+<dl><dt><strong>currentEpoch</strong></dt>
+<dd><dl><dt><a name="SP3StreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Stream_currentEpoch_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3StreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Stream_currentEpoch_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SP3Stream">SP3Stream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'currentEpoch': <built-in function SP3Stream_currentEpoch_get>, 'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'currentEpoch': <built-in function SP3Stream_currentEpoch_set>, 'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="SP3StreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3StreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="SP3StreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3StreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="SP3StreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="SP3StreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3StreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="SP3StreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3StreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="SP3StreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3StreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SVPCodeGen">class <strong>SVPCodeGen</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="SVPCodeGen-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SVPCodeGen></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SVPCodeGen-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SVPCodeGen-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SVPCodeGen-getCurrentSixSeconds"><strong>getCurrentSixSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SVPCodeGen-getCurrentZCount"><strong>getCurrentZCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SVPCodeGen-increment4ZCounts"><strong>increment4ZCounts</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SVPCodeGen' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SVPCodeGenPtr">class <strong>SVPCodeGenPtr</strong></a>(<a href="gpstkPython.html#SVPCodeGen">SVPCodeGen</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SVPCodeGenPtr">SVPCodeGenPtr</a></dd>
+<dd><a href="gpstkPython.html#SVPCodeGen">SVPCodeGen</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SVPCodeGenPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SVPCodeGen">SVPCodeGen</a>:<br>
+<dl><dt><a name="SVPCodeGenPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SVPCodeGen></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SVPCodeGenPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SVPCodeGenPtr-getCurrentSixSeconds"><strong>getCurrentSixSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SVPCodeGenPtr-getCurrentZCount"><strong>getCurrentZCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SVPCodeGenPtr-increment4ZCounts"><strong>increment4ZCounts</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SVPCodeGen">SVPCodeGen</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SVPCodeGen' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SatID">class <strong>SatID</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="SatID-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SatID></font>)</dt></dl>
+
+<dl><dt><a name="SatID-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SatID-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SatID-__lt__"><strong>__lt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatID-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatID-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SatID-getfill"><strong>getfill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatID-setfill"><strong>setfill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatID-systemCode"><strong>systemCode</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>id</strong></dt>
+<dd><dl><dt><a name="SatID-<em>get</em>"><strong><em>get</em></strong></a> = SatID_id_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SatID-<em>set</em>"><strong><em>set</em></strong></a> = SatID_id_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>system</strong></dt>
+<dd><dl><dt><a name="SatID-<em>get</em>"><strong><em>get</em></strong></a> = SatID_system_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SatID-<em>set</em>"><strong><em>set</em></strong></a> = SatID_system_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'id': <built-in function SatID_id_get>, 'system': <built-in function SatID_system_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'id': <built-in function SatID_id_set>, 'system': <built-in function SatID_system_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SatID' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>systemGPS</strong> = 1</dl>
+
+<dl><dt><strong>systemGeosync</strong> = 4</dl>
+
+<dl><dt><strong>systemGlonass</strong> = 2</dl>
+
+<dl><dt><strong>systemMixed</strong> = 5</dl>
+
+<dl><dt><strong>systemTransit</strong> = 3</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SatIDPtr">class <strong>SatIDPtr</strong></a>(<a href="gpstkPython.html#SatID">SatID</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SatIDPtr">SatIDPtr</a></dd>
+<dd><a href="gpstkPython.html#SatID">SatID</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SatIDPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SatID">SatID</a>:<br>
+<dl><dt><a name="SatIDPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SatID></font>)</dt></dl>
+
+<dl><dt><a name="SatIDPtr-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SatIDPtr-__lt__"><strong>__lt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatIDPtr-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatIDPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SatIDPtr-getfill"><strong>getfill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatIDPtr-setfill"><strong>setfill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatIDPtr-systemCode"><strong>systemCode</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#SatID">SatID</a>:<br>
+<dl><dt><strong>id</strong></dt>
+<dd><dl><dt><a name="SatIDPtr-<em>get</em>"><strong><em>get</em></strong></a> = SatID_id_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SatIDPtr-<em>set</em>"><strong><em>set</em></strong></a> = SatID_id_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>system</strong></dt>
+<dd><dl><dt><a name="SatIDPtr-<em>get</em>"><strong><em>get</em></strong></a> = SatID_system_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SatIDPtr-<em>set</em>"><strong><em>set</em></strong></a> = SatID_system_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SatID">SatID</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'id': <built-in function SatID_id_get>, 'system': <built-in function SatID_system_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'id': <built-in function SatID_id_set>, 'system': <built-in function SatID_system_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SatID' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>systemGPS</strong> = 1</dl>
+
+<dl><dt><strong>systemGeosync</strong> = 4</dl>
+
+<dl><dt><strong>systemGlonass</strong> = 2</dl>
+
+<dl><dt><strong>systemMixed</strong> = 5</dl>
+
+<dl><dt><strong>systemTransit</strong> = 3</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SimpleTropModel">class <strong>SimpleTropModel</strong></a>(<a href="gpstkPython.html#TropModel">TropModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SimpleTropModel">SimpleTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SimpleTropModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SimpleTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="SimpleTropModel-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SimpleTropModelPtr">class <strong>SimpleTropModelPtr</strong></a>(<a href="gpstkPython.html#SimpleTropModel">SimpleTropModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SimpleTropModelPtr">SimpleTropModelPtr</a></dd>
+<dd><a href="gpstkPython.html#SimpleTropModel">SimpleTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SimpleTropModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SimpleTropModel">SimpleTropModel</a>:<br>
+<dl><dt><a name="SimpleTropModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SimpleTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SimpleTropModel">SimpleTropModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="SimpleTropModelPtr-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SystemPipeException">class <strong>SystemPipeException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SystemPipeException">SystemPipeException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SystemPipeException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SystemPipeException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SystemPipeException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SystemPipeException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="SystemPipeException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="SystemPipeException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="SystemPipeException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemPipeException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemPipeException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SystemPipeExceptionPtr">class <strong>SystemPipeExceptionPtr</strong></a>(<a href="gpstkPython.html#SystemPipeException">SystemPipeException</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SystemPipeExceptionPtr">SystemPipeExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#SystemPipeException">SystemPipeException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SystemPipeException">SystemPipeException</a>:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SystemPipeException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SystemPipeException">SystemPipeException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SystemQueueException">class <strong>SystemQueueException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SystemQueueException">SystemQueueException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SystemQueueException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SystemQueueException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SystemQueueException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SystemQueueException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="SystemQueueException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="SystemQueueException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="SystemQueueException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemQueueException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemQueueException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SystemQueueExceptionPtr">class <strong>SystemQueueExceptionPtr</strong></a>(<a href="gpstkPython.html#SystemQueueException">SystemQueueException</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SystemQueueExceptionPtr">SystemQueueExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#SystemQueueException">SystemQueueException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SystemQueueException">SystemQueueException</a>:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SystemQueueException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SystemQueueException">SystemQueueException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SystemSemaphoreException">class <strong>SystemSemaphoreException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SystemSemaphoreException">SystemSemaphoreException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SystemSemaphoreException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SystemSemaphoreException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="SystemSemaphoreException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="SystemSemaphoreException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="SystemSemaphoreException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemSemaphoreException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemSemaphoreException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SystemSemaphoreExceptionPtr">class <strong>SystemSemaphoreExceptionPtr</strong></a>(<a href="gpstkPython.html#SystemSemaphoreException">SystemSemaphoreException</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SystemSemaphoreExceptionPtr">SystemSemaphoreExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#SystemSemaphoreException">SystemSemaphoreException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SystemSemaphoreException">SystemSemaphoreException</a>:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SystemSemaphoreException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SystemSemaphoreException">SystemSemaphoreException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="Triple">class <strong>Triple</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Triple-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Triple></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="Triple-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Triple-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="Triple-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="Triple-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Triple-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'theArray': <built-in function Triple_theArray_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="TriplePtr">class <strong>TriplePtr</strong></a>(<a href="gpstkPython.html#Triple">Triple</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#TriplePtr">TriplePtr</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="TriplePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="TriplePtr-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Triple></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="TriplePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="TriplePtr-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="TriplePtr-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="TriplePtr-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'theArray': <built-in function Triple_theArray_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="TropModel">class <strong>TropModel</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="TropModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_TropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="TropModel-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TropModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="TropModel-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModel-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModel-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModel-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModel-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModel-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="TropModelPtr">class <strong>TropModelPtr</strong></a>(<a href="gpstkPython.html#TropModel">TropModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#TropModelPtr">TropModelPtr</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="TropModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="TropModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_TropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="TropModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="TropModelPtr-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModelPtr-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModelPtr-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModelPtr-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModelPtr-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModelPtr-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WrongBlockFormat">class <strong>WrongBlockFormat</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#WrongBlockFormat">WrongBlockFormat</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="WrongBlockFormat-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WrongBlockFormat></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="WrongBlockFormat-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="WrongBlockFormat-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="WrongBlockFormat-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockFormat-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockFormat-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WrongBlockFormatPtr">class <strong>WrongBlockFormatPtr</strong></a>(<a href="gpstkPython.html#WrongBlockFormat">WrongBlockFormat</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#WrongBlockFormatPtr">WrongBlockFormatPtr</a></dd>
+<dd><a href="gpstkPython.html#WrongBlockFormat">WrongBlockFormat</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="WrongBlockFormatPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#WrongBlockFormat">WrongBlockFormat</a>:<br>
+<dl><dt><a name="WrongBlockFormatPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WrongBlockFormat></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#WrongBlockFormat">WrongBlockFormat</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="WrongBlockFormatPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="WrongBlockFormatPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="WrongBlockFormatPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockFormatPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockFormatPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WrongBlockNumber">class <strong>WrongBlockNumber</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#WrongBlockNumber">WrongBlockNumber</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="WrongBlockNumber-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WrongBlockNumber></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="WrongBlockNumber-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="WrongBlockNumber-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="WrongBlockNumber-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockNumber-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockNumber-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WrongBlockNumberPtr">class <strong>WrongBlockNumberPtr</strong></a>(<a href="gpstkPython.html#WrongBlockNumber">WrongBlockNumber</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#WrongBlockNumberPtr">WrongBlockNumberPtr</a></dd>
+<dd><a href="gpstkPython.html#WrongBlockNumber">WrongBlockNumber</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="WrongBlockNumberPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#WrongBlockNumber">WrongBlockNumber</a>:<br>
+<dl><dt><a name="WrongBlockNumberPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WrongBlockNumber></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#WrongBlockNumber">WrongBlockNumber</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="WrongBlockNumberPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="WrongBlockNumberPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="WrongBlockNumberPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockNumberPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockNumberPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WxObsData">class <strong>WxObsData</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="WxObsData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WxObsData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WxObsData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="WxObsData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WxObsData-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WxObsData-getMostRecent"><strong>getMostRecent</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WxObsData-getWxObservation"><strong>getWxObservation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WxObsData-insertObservation"><strong>insertObservation</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>firstTime</strong></dt>
+<dd><dl><dt><a name="WxObsData-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_firstTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsData-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_firstTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastTime</strong></dt>
+<dd><dl><dt><a name="WxObsData-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_lastTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsData-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_lastTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="WxObsData-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsData-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rxId</strong></dt>
+<dd><dl><dt><a name="WxObsData-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_rxId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsData-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_rxId_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'firstTime': <built-in function WxObsData_firstTime_get>, 'lastTime': <built-in function WxObsData_lastTime_get>, 'obs': <built-in function WxObsData_obs_get>, 'rxId': <built-in function WxObsData_rxId_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'firstTime': <built-in function WxObsData_firstTime_set>, 'lastTime': <built-in function WxObsData_lastTime_set>, 'obs': <built-in function WxObsData_obs_set>, 'rxId': <built-in function WxObsData_rxId_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'WxObsData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WxObsDataPtr">class <strong>WxObsDataPtr</strong></a>(<a href="gpstkPython.html#WxObsData">WxObsData</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#WxObsDataPtr">WxObsDataPtr</a></dd>
+<dd><a href="gpstkPython.html#WxObsData">WxObsData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="WxObsDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#WxObsData">WxObsData</a>:<br>
+<dl><dt><a name="WxObsDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WxObsData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WxObsDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WxObsDataPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WxObsDataPtr-getMostRecent"><strong>getMostRecent</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WxObsDataPtr-getWxObservation"><strong>getWxObservation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WxObsDataPtr-insertObservation"><strong>insertObservation</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#WxObsData">WxObsData</a>:<br>
+<dl><dt><strong>firstTime</strong></dt>
+<dd><dl><dt><a name="WxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_firstTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_firstTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastTime</strong></dt>
+<dd><dl><dt><a name="WxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_lastTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_lastTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="WxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rxId</strong></dt>
+<dd><dl><dt><a name="WxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_rxId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_rxId_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#WxObsData">WxObsData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'firstTime': <built-in function WxObsData_firstTime_get>, 'lastTime': <built-in function WxObsData_lastTime_get>, 'obs': <built-in function WxObsData_obs_get>, 'rxId': <built-in function WxObsData_rxId_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'firstTime': <built-in function WxObsData_firstTime_set>, 'lastTime': <built-in function WxObsData_lastTime_set>, 'obs': <built-in function WxObsData_obs_set>, 'rxId': <built-in function WxObsData_rxId_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'WxObsData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WxObservation">class <strong>WxObservation</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="WxObservation-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WxObservation></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WxObservation-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="WxObservation-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WxObservation-isAllValid"><strong>isAllValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>humidity</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_humidity_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_humidity_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>humiditySource</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_humiditySource_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_humiditySource_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pressure</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_pressure_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_pressure_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pressureSource</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_pressureSource_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_pressureSource_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>t</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_t_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_t_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>temperature</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_temperature_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_temperature_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>temperatureSource</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_temperatureSource_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_temperatureSource_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'humidity': <built-in function WxObservation_humidity_get>, 'humiditySource': <built-in function WxObservation_humiditySource_get>, 'pressure': <built-in function WxObservation_pressure_get>, 'pressureSource': <built-in function WxObservation_pressureSource_get>, 't': <built-in function WxObservation_t_get>, 'temperature': <built-in function WxObservation_temperature_get>, 'temperatureSource': <built-i [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'humidity': <built-in function WxObservation_humidity_set>, 'humiditySource': <built-in function WxObservation_humiditySource_set>, 'pressure': <built-in function WxObservation_pressure_set>, 'pressureSource': <built-in function WxObservation_pressureSource_set>, 't': <built-in function WxObservation_t_set>, 'temperature': <built-in function WxObservation_temperature_set>, 'temperatureSource': <built-i [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'WxObservation' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>defWx</strong> = 1</dl>
+
+<dl><dt><strong>noWx</strong> = 0</dl>
+
+<dl><dt><strong>obsWx</strong> = 2</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WxObservationPtr">class <strong>WxObservationPtr</strong></a>(<a href="gpstkPython.html#WxObservation">WxObservation</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#WxObservationPtr">WxObservationPtr</a></dd>
+<dd><a href="gpstkPython.html#WxObservation">WxObservation</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="WxObservationPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#WxObservation">WxObservation</a>:<br>
+<dl><dt><a name="WxObservationPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WxObservation></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WxObservationPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WxObservationPtr-isAllValid"><strong>isAllValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#WxObservation">WxObservation</a>:<br>
+<dl><dt><strong>humidity</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_humidity_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_humidity_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>humiditySource</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_humiditySource_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_humiditySource_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pressure</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_pressure_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_pressure_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pressureSource</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_pressureSource_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_pressureSource_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>t</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_t_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_t_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>temperature</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_temperature_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_temperature_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>temperatureSource</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_temperatureSource_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_temperatureSource_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#WxObservation">WxObservation</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'humidity': <built-in function WxObservation_humidity_get>, 'humiditySource': <built-in function WxObservation_humiditySource_get>, 'pressure': <built-in function WxObservation_pressure_get>, 'pressureSource': <built-in function WxObservation_pressureSource_get>, 't': <built-in function WxObservation_t_get>, 'temperature': <built-in function WxObservation_temperature_get>, 'temperatureSource': <built-i [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'humidity': <built-in function WxObservation_humidity_set>, 'humiditySource': <built-in function WxObservation_humiditySource_set>, 'pressure': <built-in function WxObservation_pressure_set>, 'pressureSource': <built-in function WxObservation_pressureSource_set>, 't': <built-in function WxObservation_t_set>, 'temperature': <built-in function WxObservation_temperature_set>, 'temperatureSource': <built-i [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'WxObservation' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>defWx</strong> = 1</dl>
+
+<dl><dt><strong>noWx</strong> = 0</dl>
+
+<dl><dt><strong>obsWx</strong> = 2</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="X1Sequence">class <strong>X1Sequence</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="X1Sequence-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_X1Sequence></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="X1Sequence-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="X1Sequence-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="X1Sequence-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="X1Sequence-allocateMemory"><strong>allocateMemory</strong></a> = X1Sequence_allocateMemory(...)</dt></dl>
+
+<dl><dt><a name="X1Sequence-deAllocateMemory"><strong>deAllocateMemory</strong></a> = X1Sequence_deAllocateMemory(...)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'allocateMemory': <function <lambda>>, 'deAllocateMemory': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'X1Sequence' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="X1SequencePtr">class <strong>X1SequencePtr</strong></a>(<a href="gpstkPython.html#X1Sequence">X1Sequence</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#X1SequencePtr">X1SequencePtr</a></dd>
+<dd><a href="gpstkPython.html#X1Sequence">X1Sequence</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="X1SequencePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#X1Sequence">X1Sequence</a>:<br>
+<dl><dt><a name="X1SequencePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_X1Sequence></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="X1SequencePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="X1SequencePtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#X1Sequence">X1Sequence</a>:<br>
+<dl><dt><a name="X1SequencePtr-allocateMemory"><strong>allocateMemory</strong></a> = X1Sequence_allocateMemory(...)</dt></dl>
+
+<dl><dt><a name="X1SequencePtr-deAllocateMemory"><strong>deAllocateMemory</strong></a> = X1Sequence_deAllocateMemory(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#X1Sequence">X1Sequence</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'allocateMemory': <function <lambda>>, 'deAllocateMemory': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'X1Sequence' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="X2Sequence">class <strong>X2Sequence</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="X2Sequence-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_X2Sequence></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="X2Sequence-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="X2Sequence-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="X2Sequence-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="X2Sequence-setEOWX2Epoch"><strong>setEOWX2Epoch</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="X2Sequence-allocateMemory"><strong>allocateMemory</strong></a> = X2Sequence_allocateMemory(...)</dt></dl>
+
+<dl><dt><a name="X2Sequence-deAllocateMemory"><strong>deAllocateMemory</strong></a> = X2Sequence_deAllocateMemory(...)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'allocateMemory': <function <lambda>>, 'deAllocateMemory': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'X2Sequence' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="X2SequencePtr">class <strong>X2SequencePtr</strong></a>(<a href="gpstkPython.html#X2Sequence">X2Sequence</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#X2SequencePtr">X2SequencePtr</a></dd>
+<dd><a href="gpstkPython.html#X2Sequence">X2Sequence</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="X2SequencePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#X2Sequence">X2Sequence</a>:<br>
+<dl><dt><a name="X2SequencePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_X2Sequence></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="X2SequencePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="X2SequencePtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="X2SequencePtr-setEOWX2Epoch"><strong>setEOWX2Epoch</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#X2Sequence">X2Sequence</a>:<br>
+<dl><dt><a name="X2SequencePtr-allocateMemory"><strong>allocateMemory</strong></a> = X2Sequence_allocateMemory(...)</dt></dl>
+
+<dl><dt><a name="X2SequencePtr-deAllocateMemory"><strong>deAllocateMemory</strong></a> = X2Sequence_deAllocateMemory(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#X2Sequence">X2Sequence</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'allocateMemory': <function <lambda>>, 'deAllocateMemory': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'X2Sequence' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="Xvt">class <strong>Xvt</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Xvt-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Xvt></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="Xvt-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Xvt-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="Xvt-preciseRho"><strong>preciseRho</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>ddtime</strong></dt>
+<dd><dl><dt><a name="Xvt-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_ddtime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Xvt-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_ddtime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>dtime</strong></dt>
+<dd><dl><dt><a name="Xvt-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_dtime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Xvt-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_dtime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>v</strong></dt>
+<dd><dl><dt><a name="Xvt-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_v_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Xvt-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_v_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>x</strong></dt>
+<dd><dl><dt><a name="Xvt-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_x_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Xvt-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_x_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'ddtime': <built-in function Xvt_ddtime_get>, 'dtime': <built-in function Xvt_dtime_get>, 'v': <built-in function Xvt_v_get>, 'x': <built-in function Xvt_x_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'ddtime': <built-in function Xvt_ddtime_set>, 'dtime': <built-in function Xvt_dtime_set>, 'v': <built-in function Xvt_v_set>, 'x': <built-in function Xvt_x_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Xvt' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="XvtPtr">class <strong>XvtPtr</strong></a>(<a href="gpstkPython.html#Xvt">Xvt</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#XvtPtr">XvtPtr</a></dd>
+<dd><a href="gpstkPython.html#Xvt">Xvt</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="XvtPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Xvt">Xvt</a>:<br>
+<dl><dt><a name="XvtPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Xvt></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="XvtPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="XvtPtr-preciseRho"><strong>preciseRho</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Xvt">Xvt</a>:<br>
+<dl><dt><strong>ddtime</strong></dt>
+<dd><dl><dt><a name="XvtPtr-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_ddtime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="XvtPtr-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_ddtime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>dtime</strong></dt>
+<dd><dl><dt><a name="XvtPtr-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_dtime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="XvtPtr-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_dtime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>v</strong></dt>
+<dd><dl><dt><a name="XvtPtr-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_v_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="XvtPtr-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_v_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>x</strong></dt>
+<dd><dl><dt><a name="XvtPtr-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_x_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="XvtPtr-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_x_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Xvt">Xvt</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'ddtime': <built-in function Xvt_ddtime_get>, 'dtime': <built-in function Xvt_dtime_get>, 'v': <built-in function Xvt_v_get>, 'x': <built-in function Xvt_x_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'ddtime': <built-in function Xvt_ddtime_set>, 'dtime': <built-in function Xvt_dtime_set>, 'v': <built-in function Xvt_v_set>, 'x': <built-in function Xvt_x_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Xvt' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ZeroTropModel">class <strong>ZeroTropModel</strong></a>(<a href="gpstkPython.html#TropModel">TropModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ZeroTropModel">ZeroTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ZeroTropModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ZeroTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="ZeroTropModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ZeroTropModelPtr">class <strong>ZeroTropModelPtr</strong></a>(<a href="gpstkPython.html#ZeroTropModel">ZeroTropModel</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ZeroTropModelPtr">ZeroTropModelPtr</a></dd>
+<dd><a href="gpstkPython.html#ZeroTropModel">ZeroTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ZeroTropModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ZeroTropModel">ZeroTropModel</a>:<br>
+<dl><dt><a name="ZeroTropModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ZeroTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ZeroTropModel">ZeroTropModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="ZeroTropModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="bad_exception">class <strong>bad_exception</strong></a>(<a href="gpstkPython.html#exception">exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="bad_exception-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_bad_exception></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="bad_exception-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="bad_exception-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="bad_exception-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="bad_exceptionPtr">class <strong>bad_exceptionPtr</strong></a>(<a href="gpstkPython.html#bad_exception">bad_exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#bad_exceptionPtr">bad_exceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#bad_exception">bad_exception</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="bad_exceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#bad_exception">bad_exception</a>:<br>
+<dl><dt><a name="bad_exceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_bad_exception></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="bad_exceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#bad_exception">bad_exception</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="bad_exceptionPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="domain_error">class <strong>domain_error</strong></a>(<a href="gpstkPython.html#logic_error">logic_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#domain_error">domain_error</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="domain_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_domain_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="domain_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="domain_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="domain_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="domain_errorPtr">class <strong>domain_errorPtr</strong></a>(<a href="gpstkPython.html#domain_error">domain_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#domain_errorPtr">domain_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#domain_error">domain_error</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="domain_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#domain_error">domain_error</a>:<br>
+<dl><dt><a name="domain_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_domain_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="domain_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#domain_error">domain_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="domain_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="exception">class <strong>exception</strong></a></font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="exception-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_exception></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="exception-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="exception-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="exception-what"><strong>what</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="exceptionPtr">class <strong>exceptionPtr</strong></a>(<a href="gpstkPython.html#exception">exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="exceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="exceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_exception></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="exceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="exceptionPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="invalid_argument">class <strong>invalid_argument</strong></a>(<a href="gpstkPython.html#logic_error">logic_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#invalid_argument">invalid_argument</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="invalid_argument-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_invalid_argument></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="invalid_argument-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="invalid_argument-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="invalid_argument-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="invalid_argumentPtr">class <strong>invalid_argumentPtr</strong></a>(<a href="gpstkPython.html#invalid_argument">invalid_argument</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#invalid_argumentPtr">invalid_argumentPtr</a></dd>
+<dd><a href="gpstkPython.html#invalid_argument">invalid_argument</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="invalid_argumentPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#invalid_argument">invalid_argument</a>:<br>
+<dl><dt><a name="invalid_argumentPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_invalid_argument></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="invalid_argumentPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#invalid_argument">invalid_argument</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="invalid_argumentPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ios">class <strong>ios</strong></a>(<a href="gpstkPython.html#ios_base">ios_base</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ios-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ios></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ios-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ios-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ios-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ios-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ios-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ios-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="iosPtr">class <strong>iosPtr</strong></a>(<a href="gpstkPython.html#ios">ios</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#iosPtr">iosPtr</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="iosPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="iosPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ios></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="iosPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="iosPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="iosPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="iosPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="iosPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ios_base">class <strong>ios_base</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ios_base-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ios_base></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ios_base-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ios_base-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ios_base-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="ios_base-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ios_base-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ios_basePtr">class <strong>ios_basePtr</strong></a>(<a href="gpstkPython.html#ios_base">ios_base</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ios_basePtr">ios_basePtr</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ios_basePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ios_basePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ios_base></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ios_basePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ios_basePtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ios_basePtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="iostream">class <strong>iostream</strong></a>(<a href="gpstkPython.html#istream">istream</a>, <a href="gpstkPython.html#ostream">ostream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#iostream">iostream</a></dd>
+<dd><a href="gpstkPython.html#istream">istream</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="iostream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_iostream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="iostream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="iostream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#istream">istream</a>:<br>
+<dl><dt><a name="iostream-__rshift__"><strong>__rshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-gcount"><strong>gcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-get"><strong>get</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-getline"><strong>getline</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-ignore"><strong>ignore</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-peek"><strong>peek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-putback"><strong>putback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-read"><strong>read</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-readsome"><strong>readsome</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-seekg"><strong>seekg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-sync"><strong>sync</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-tellg"><strong>tellg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-unget"><strong>unget</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="iostream-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="iostream-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="iostream-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="iostream-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="iostream-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="iostreamPtr">class <strong>iostreamPtr</strong></a>(<a href="gpstkPython.html#iostream">iostream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#iostreamPtr">iostreamPtr</a></dd>
+<dd><a href="gpstkPython.html#iostream">iostream</a></dd>
+<dd><a href="gpstkPython.html#istream">istream</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="iostreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#iostream">iostream</a>:<br>
+<dl><dt><a name="iostreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_iostream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="iostreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#iostream">iostream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#istream">istream</a>:<br>
+<dl><dt><a name="iostreamPtr-__rshift__"><strong>__rshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-gcount"><strong>gcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-get"><strong>get</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-getline"><strong>getline</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-ignore"><strong>ignore</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-peek"><strong>peek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-putback"><strong>putback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-read"><strong>read</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-readsome"><strong>readsome</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-seekg"><strong>seekg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-sync"><strong>sync</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-tellg"><strong>tellg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-unget"><strong>unget</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="iostreamPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="iostreamPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="iostreamPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="iostreamPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="istream">class <strong>istream</strong></a>(<a href="gpstkPython.html#ios">ios</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#istream">istream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="istream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_istream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="istream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="istream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="istream-__rshift__"><strong>__rshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="istream-gcount"><strong>gcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-get"><strong>get</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-getline"><strong>getline</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-ignore"><strong>ignore</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-peek"><strong>peek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-putback"><strong>putback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-read"><strong>read</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-readsome"><strong>readsome</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-seekg"><strong>seekg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-sync"><strong>sync</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-tellg"><strong>tellg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-unget"><strong>unget</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="istream-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="istream-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="istream-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="istream-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="istreamPtr">class <strong>istreamPtr</strong></a>(<a href="gpstkPython.html#istream">istream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#istreamPtr">istreamPtr</a></dd>
+<dd><a href="gpstkPython.html#istream">istream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="istreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#istream">istream</a>:<br>
+<dl><dt><a name="istreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_istream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="istreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="istreamPtr-__rshift__"><strong>__rshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="istreamPtr-gcount"><strong>gcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-get"><strong>get</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-getline"><strong>getline</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-ignore"><strong>ignore</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-peek"><strong>peek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-putback"><strong>putback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-read"><strong>read</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-readsome"><strong>readsome</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-seekg"><strong>seekg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-sync"><strong>sync</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-tellg"><strong>tellg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-unget"><strong>unget</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#istream">istream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="istreamPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="istreamPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="istreamPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="istreamPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="length_error">class <strong>length_error</strong></a>(<a href="gpstkPython.html#logic_error">logic_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#length_error">length_error</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="length_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_length_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="length_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="length_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="length_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="length_errorPtr">class <strong>length_errorPtr</strong></a>(<a href="gpstkPython.html#length_error">length_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#length_errorPtr">length_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#length_error">length_error</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="length_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#length_error">length_error</a>:<br>
+<dl><dt><a name="length_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_length_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="length_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#length_error">length_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="length_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="logic_error">class <strong>logic_error</strong></a>(<a href="gpstkPython.html#exception">exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="logic_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_logic_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="logic_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="logic_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="logic_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="logic_errorPtr">class <strong>logic_errorPtr</strong></a>(<a href="gpstkPython.html#logic_error">logic_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#logic_errorPtr">logic_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="logic_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#logic_error">logic_error</a>:<br>
+<dl><dt><a name="logic_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_logic_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="logic_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#logic_error">logic_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="logic_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ostream">class <strong>ostream</strong></a>(<a href="gpstkPython.html#ios">ios</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ostream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ostream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ostream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ostream-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ostream-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ostream-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ostream-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ostream-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ostream-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ostreamPtr">class <strong>ostreamPtr</strong></a>(<a href="gpstkPython.html#ostream">ostream</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ostreamPtr">ostreamPtr</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ostreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="ostreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ostream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ostreamPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ostreamPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ostreamPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ostreamPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ostreamPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="out_of_range">class <strong>out_of_range</strong></a>(<a href="gpstkPython.html#logic_error">logic_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#out_of_range">out_of_range</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="out_of_range-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_out_of_range></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="out_of_range-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="out_of_range-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="out_of_range-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="out_of_rangePtr">class <strong>out_of_rangePtr</strong></a>(<a href="gpstkPython.html#out_of_range">out_of_range</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#out_of_rangePtr">out_of_rangePtr</a></dd>
+<dd><a href="gpstkPython.html#out_of_range">out_of_range</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="out_of_rangePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#out_of_range">out_of_range</a>:<br>
+<dl><dt><a name="out_of_rangePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_out_of_range></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="out_of_rangePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#out_of_range">out_of_range</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="out_of_rangePtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="overflow_error">class <strong>overflow_error</strong></a>(<a href="gpstkPython.html#runtime_error">runtime_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#overflow_error">overflow_error</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="overflow_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_overflow_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="overflow_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="overflow_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="overflow_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="overflow_errorPtr">class <strong>overflow_errorPtr</strong></a>(<a href="gpstkPython.html#overflow_error">overflow_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#overflow_errorPtr">overflow_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#overflow_error">overflow_error</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="overflow_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#overflow_error">overflow_error</a>:<br>
+<dl><dt><a name="overflow_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_overflow_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="overflow_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#overflow_error">overflow_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="overflow_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="range_error">class <strong>range_error</strong></a>(<a href="gpstkPython.html#runtime_error">runtime_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#range_error">range_error</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="range_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_range_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="range_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="range_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="range_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="range_errorPtr">class <strong>range_errorPtr</strong></a>(<a href="gpstkPython.html#range_error">range_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#range_errorPtr">range_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#range_error">range_error</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="range_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#range_error">range_error</a>:<br>
+<dl><dt><a name="range_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_range_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="range_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#range_error">range_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="range_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="runtime_error">class <strong>runtime_error</strong></a>(<a href="gpstkPython.html#exception">exception</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="runtime_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_runtime_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="runtime_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="runtime_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="runtime_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="runtime_errorPtr">class <strong>runtime_errorPtr</strong></a>(<a href="gpstkPython.html#runtime_error">runtime_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#runtime_errorPtr">runtime_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="runtime_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#runtime_error">runtime_error</a>:<br>
+<dl><dt><a name="runtime_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_runtime_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="runtime_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#runtime_error">runtime_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="runtime_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="sensorPosType">class <strong>sensorPosType</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="sensorPosType-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_sensorPosType></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="sensorPosType-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="sensorPosType-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>height</strong></dt>
+<dd><dl><dt><a name="sensorPosType-<em>get</em>"><strong><em>get</em></strong></a> = sensorPosType_height_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorPosType-<em>set</em>"><strong><em>set</em></strong></a> = sensorPosType_height_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsType</strong></dt>
+<dd><dl><dt><a name="sensorPosType-<em>get</em>"><strong><em>get</em></strong></a> = sensorPosType_obsType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorPosType-<em>set</em>"><strong><em>set</em></strong></a> = sensorPosType_obsType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>position</strong></dt>
+<dd><dl><dt><a name="sensorPosType-<em>get</em>"><strong><em>get</em></strong></a> = sensorPosType_position_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorPosType-<em>set</em>"><strong><em>set</em></strong></a> = sensorPosType_position_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'height': <built-in function sensorPosType_height_get>, 'obsType': <built-in function sensorPosType_obsType_get>, 'position': <built-in function sensorPosType_position_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'height': <built-in function sensorPosType_height_set>, 'obsType': <built-in function sensorPosType_obsType_set>, 'position': <built-in function sensorPosType_position_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'sensorPosType' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="sensorPosTypePtr">class <strong>sensorPosTypePtr</strong></a>(<a href="gpstkPython.html#sensorPosType">sensorPosType</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#sensorPosTypePtr">sensorPosTypePtr</a></dd>
+<dd><a href="gpstkPython.html#sensorPosType">sensorPosType</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="sensorPosTypePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#sensorPosType">sensorPosType</a>:<br>
+<dl><dt><a name="sensorPosTypePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_sensorPosType></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="sensorPosTypePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#sensorPosType">sensorPosType</a>:<br>
+<dl><dt><strong>height</strong></dt>
+<dd><dl><dt><a name="sensorPosTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorPosType_height_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorPosTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorPosType_height_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsType</strong></dt>
+<dd><dl><dt><a name="sensorPosTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorPosType_obsType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorPosTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorPosType_obsType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>position</strong></dt>
+<dd><dl><dt><a name="sensorPosTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorPosType_position_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorPosTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorPosType_position_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#sensorPosType">sensorPosType</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'height': <built-in function sensorPosType_height_get>, 'obsType': <built-in function sensorPosType_obsType_get>, 'position': <built-in function sensorPosType_position_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'height': <built-in function sensorPosType_height_set>, 'obsType': <built-in function sensorPosType_obsType_set>, 'position': <built-in function sensorPosType_position_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'sensorPosType' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="sensorType">class <strong>sensorType</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="sensorType-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_sensorType></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="sensorType-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="sensorType-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>accuracy</strong></dt>
+<dd><dl><dt><a name="sensorType-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_accuracy_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorType-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_accuracy_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>model</strong></dt>
+<dd><dl><dt><a name="sensorType-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_model_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorType-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_model_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsType</strong></dt>
+<dd><dl><dt><a name="sensorType-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_obsType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorType-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_obsType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>type</strong></dt>
+<dd><dl><dt><a name="sensorType-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_type_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorType-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_type_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'accuracy': <built-in function sensorType_accuracy_get>, 'model': <built-in function sensorType_model_get>, 'obsType': <built-in function sensorType_obsType_get>, 'type': <built-in function sensorType_type_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'accuracy': <built-in function sensorType_accuracy_set>, 'model': <built-in function sensorType_model_set>, 'obsType': <built-in function sensorType_obsType_set>, 'type': <built-in function sensorType_type_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'sensorType' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="sensorTypePtr">class <strong>sensorTypePtr</strong></a>(<a href="gpstkPython.html#sensorType">sensorType</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#sensorTypePtr">sensorTypePtr</a></dd>
+<dd><a href="gpstkPython.html#sensorType">sensorType</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="sensorTypePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#sensorType">sensorType</a>:<br>
+<dl><dt><a name="sensorTypePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_sensorType></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="sensorTypePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#sensorType">sensorType</a>:<br>
+<dl><dt><strong>accuracy</strong></dt>
+<dd><dl><dt><a name="sensorTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_accuracy_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_accuracy_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>model</strong></dt>
+<dd><dl><dt><a name="sensorTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_model_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_model_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsType</strong></dt>
+<dd><dl><dt><a name="sensorTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_obsType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_obsType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>type</strong></dt>
+<dd><dl><dt><a name="sensorTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_type_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_type_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#sensorType">sensorType</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'accuracy': <built-in function sensorType_accuracy_get>, 'model': <built-in function sensorType_model_get>, 'obsType': <built-in function sensorType_obsType_get>, 'type': <built-in function sensorType_type_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'accuracy': <built-in function sensorType_accuracy_set>, 'model': <built-in function sensorType_model_set>, 'obsType': <built-in function sensorType_obsType_set>, 'type': <built-in function sensorType_type_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'sensorType' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="underflow_error">class <strong>underflow_error</strong></a>(<a href="gpstkPython.html#runtime_error">runtime_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#underflow_error">underflow_error</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="underflow_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_underflow_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="underflow_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="underflow_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="underflow_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="underflow_errorPtr">class <strong>underflow_errorPtr</strong></a>(<a href="gpstkPython.html#underflow_error">underflow_error</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#underflow_errorPtr">underflow_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#underflow_error">underflow_error</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="underflow_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#underflow_error">underflow_error</a>:<br>
+<dl><dt><a name="underflow_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_underflow_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="underflow_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#underflow_error">underflow_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="underflow_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="vectord">class <strong>vectord</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="vectord-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_vectord></font>)</dt></dl>
+
+<dl><dt><a name="vectord-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-__delslice__"><strong>__delslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="vectord-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-__getslice__"><strong>__getslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="vectord-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="vectord-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-__setslice__"><strong>__setslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-append"><strong>append</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-assign"><strong>assign</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-back"><strong>back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-capacity"><strong>capacity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-front"><strong>front</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-pop"><strong>pop</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-pop_back"><strong>pop_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-push_back"><strong>push_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-reserve"><strong>reserve</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-resize"><strong>resize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'vectord' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="vectordPtr">class <strong>vectordPtr</strong></a>(<a href="gpstkPython.html#vectord">vectord</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#vectordPtr">vectordPtr</a></dd>
+<dd><a href="gpstkPython.html#vectord">vectord</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="vectordPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#vectord">vectord</a>:<br>
+<dl><dt><a name="vectordPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_vectord></font>)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__delslice__"><strong>__delslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="vectordPtr-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__getslice__"><strong>__getslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="vectordPtr-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__setslice__"><strong>__setslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-append"><strong>append</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-assign"><strong>assign</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-back"><strong>back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-capacity"><strong>capacity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-front"><strong>front</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-pop"><strong>pop</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-pop_back"><strong>pop_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-push_back"><strong>push_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-reserve"><strong>reserve</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-resize"><strong>resize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#vectord">vectord</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'vectord' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="vectori">class <strong>vectori</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="vectori-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_vectori></font>)</dt></dl>
+
+<dl><dt><a name="vectori-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-__delslice__"><strong>__delslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="vectori-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-__getslice__"><strong>__getslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="vectori-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="vectori-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-__setslice__"><strong>__setslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-append"><strong>append</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-assign"><strong>assign</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-back"><strong>back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-capacity"><strong>capacity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-front"><strong>front</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-pop"><strong>pop</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-pop_back"><strong>pop_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-push_back"><strong>push_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-reserve"><strong>reserve</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-resize"><strong>resize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'vectori' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="vectoriPtr">class <strong>vectoriPtr</strong></a>(<a href="gpstkPython.html#vectori">vectori</a>)</font></td></tr>
+
+<tr><td bgcolor="#ffc8d8"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#vectoriPtr">vectoriPtr</a></dd>
+<dd><a href="gpstkPython.html#vectori">vectori</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="vectoriPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#vectori">vectori</a>:<br>
+<dl><dt><a name="vectoriPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_vectori></font>)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__delslice__"><strong>__delslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__getslice__"><strong>__getslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__setslice__"><strong>__setslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-append"><strong>append</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-assign"><strong>assign</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-back"><strong>back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-capacity"><strong>capacity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-front"><strong>front</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-pop"><strong>pop</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-pop_back"><strong>pop_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-push_back"><strong>push_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-reserve"><strong>reserve</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-resize"><strong>resize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#vectori">vectori</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'vectori' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table></td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#eeaa77">
+<td colspan=3 valign=bottom> <br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
+
+<tr><td bgcolor="#eeaa77"><tt> </tt></td><td> </td>
+<td width="100%"><dl><dt><a name="-AutonomousPRSolution"><strong>AutonomousPRSolution</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTimeException_streamRead"><strong>DayTimeException_streamRead</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_convertCalendarToJD"><strong>DayTime_convertCalendarToJD</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_convertJDtoCalendar"><strong>DayTime_convertJDtoCalendar</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_convertSODtoTime"><strong>DayTime_convertSODtoTime</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_convertTimeToSOD"><strong>DayTime_convertTimeToSOD</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_getDayTimeTolerance"><strong>DayTime_getDayTimeTolerance</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_setDayTimeTolerance"><strong>DayTime_setDayTimeTolerance</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_streamRead"><strong>DayTime_streamRead</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DisplayExtendedRinexObsTypes"><strong>DisplayExtendedRinexObsTypes</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-EngNav_convert10bit"><strong>EngNav_convert10bit</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-EngNav_convert8bit"><strong>EngNav_convert8bit</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-EngNav_getSubframePattern"><strong>EngNav_getSubframePattern</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-EngNav_subframeConvert"><strong>EngNav_subframeConvert</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-EngNav_subframeParity"><strong>EngNav_subframeParity</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Exception_streamRead"><strong>Exception_streamRead</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertCartesianToGeocentric"><strong>Position_convertCartesianToGeocentric</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertCartesianToGeodetic"><strong>Position_convertCartesianToGeodetic</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertCartesianToSpherical"><strong>Position_convertCartesianToSpherical</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertGeocentricToCartesian"><strong>Position_convertGeocentricToCartesian</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertGeocentricToGeodetic"><strong>Position_convertGeocentricToGeodetic</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertGeodeticToCartesian"><strong>Position_convertGeodeticToCartesian</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertGeodeticToGeocentric"><strong>Position_convertGeodeticToGeocentric</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertSphericalToCartesian"><strong>Position_convertSphericalToCartesian</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_getPositionTolerance"><strong>Position_getPositionTolerance</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_setPositionTolerance"><strong>Position_setPositionTolerance</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-PrepareAutonomousSolution"><strong>PrepareAutonomousSolution</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RegisterExtendedRinexObsType"><strong>RegisterExtendedRinexObsType</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RelativityCorrection"><strong>RelativityCorrection</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexMetHeader_bitString"><strong>RinexMetHeader_bitString</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexMetHeader_bitsAsString"><strong>RinexMetHeader_bitsAsString</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexMetHeader_convertObsType"><strong>RinexMetHeader_convertObsType</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexObsHeader_convertObsType"><strong>RinexObsHeader_convertObsType</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexPrnMap_compare"><strong>RinexPrnMap_compare</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexPrnMap_end"><strong>RinexPrnMap_end</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexPrnMap_find"><strong>RinexPrnMap_find</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Triple_streamRead"><strong>Triple_streamRead</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-X1Sequence_allocateMemory"><strong>X1Sequence_allocateMemory</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-X1Sequence_deAllocateMemory"><strong>X1Sequence_deAllocateMemory</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-X2Sequence_allocateMemory"><strong>X2Sequence_allocateMemory</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-X2Sequence_deAllocateMemory"><strong>X2Sequence_deAllocateMemory</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Xvt_streamRead"><strong>Xvt_streamRead</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-__eq__"><strong>__eq__</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-__lshift__"><strong>__lshift__</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-__lt__"><strong>__lt__</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-__mul__"><strong>__mul__</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-__ne__"><strong>__ne__</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-__rshift__"><strong>__rshift__</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-accuracy2ura"><strong>accuracy2ura</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-endl"><strong>endl</strong></a>(...)</dt><dd><tt>swig_ptr: _d0ce06b7_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t</tt></dd></dl>
+ <dl><dt><a name="-ends"><strong>ends</strong></a>(...)</dt><dd><tt>swig_ptr: _30cf06b7_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t</tt></dd></dl>
+ <dl><dt><a name="-flush"><strong>flush</strong></a>(...)</dt><dd><tt>swig_ptr: _60cf06b7_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t</tt></dd></dl>
+ <dl><dt><a name="-getPseudoRangeCode"><strong>getPseudoRangeCode</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-ios_base_sync_with_stdio"><strong>ios_base_sync_with_stdio</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-ios_base_xalloc"><strong>ios_base_xalloc</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-ios_in"><strong>ios_in</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-ios_out"><strong>ios_out</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-ios_out_trunc"><strong>ios_out_trunc</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-range"><strong>range</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-read"><strong>read</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-streamRead"><strong>streamRead</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-streamWrite"><strong>streamWrite</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-ura2accuracy"><strong>ura2accuracy</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-write"><strong>write</strong></a>(...)</dt></dl>
+</td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#55aa55">
+<td colspan=3 valign=bottom> <br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
+
+<tr><td bgcolor="#55aa55"><tt> </tt></td><td> </td>
+<td width="100%"><strong>C_GPS_M</strong> = 299792458.0<br>
+<strong>L1_FREQ</strong> = 1575420000.0<br>
+<strong>L1_MULT</strong> = 154.0<br>
+<strong>L2_FREQ</strong> = 1227600000.0<br>
+<strong>L2_MULT</strong> = 120.0<br>
+<strong>LENGTH_OF_EOW_OVERLAP</strong> = 34<br>
+<strong>MAX_WORD</strong> = 140<br>
+<strong>MAX_X2_COUNT</strong> = 61380185<br>
+<strong>MAX_X2_TEST</strong> = 61380148<br>
+<strong>OSC_FREQ</strong> = 10230000.0<br>
+<strong>OVERLAP_WORD_POSITION</strong> = 1451897<br>
+<strong>PI</strong> = 3.1415926535898002<br>
+<strong>REL_CONST</strong> = -4.442807633e-10<br>
+<strong>RSVCLK</strong> = 10229999.995449999<br>
+<strong>SQRT_PI</strong> = 1.7724538999999999<br>
+<strong>SV_ACCURACY_MAX_INDEX</strong> = <Swig Object at _206149b7_p_double><br>
+<strong>SV_ACCURACY_MAX_INDEX_VALUE</strong> = 15<br>
+<strong>SV_ACCURACY_MIN_INDEX</strong> = <Swig Object at _a06049b7_p_double><br>
+<strong>TWO_PI</strong> = 6.2831853071796004<br>
+<strong>cerr</strong> = <gpstkPython.ostreamPtr; proxy of C++ std::basic...td__basic_ostreamTchar_std__char_traitsTchar_t_t><br>
+<strong>cin</strong> = <Swig Object at _00c80ab7_p_std__basic_istreamTchar_std__char_traitsTchar_t_t><br>
+<strong>clog</strong> = <gpstkPython.ostreamPtr; proxy of C++ std::basic...td__basic_ostreamTchar_std__char_traitsTchar_t_t><br>
+<strong>cout</strong> = <gpstkPython.ostreamPtr; proxy of C++ std::basic...td__basic_ostreamTchar_std__char_traitsTchar_t_t><br>
+<strong>cvar</strong> = <Swig global variables><br>
+<strong>endl_cb_ptr</strong> = <Swig Object at _d0ce06b7_p_f_r_std__basic_ostre...td__basic_ostreamTchar_std__char_traitsTchar_t_t><br>
+<strong>ends_cb_ptr</strong> = <Swig Object at _30cf06b7_p_f_r_std__basic_ostre...td__basic_ostreamTchar_std__char_traitsTchar_t_t><br>
+<strong>flush_cb_ptr</strong> = <Swig Object at _60cf06b7_p_f_r_std__basic_ostre...td__basic_ostreamTchar_std__char_traitsTchar_t_t><br>
+<strong>systemGPS</strong> = 1<br>
+<strong>systemGeosync</strong> = 4<br>
+<strong>systemGlonass</strong> = 2<br>
+<strong>systemMixed</strong> = 5<br>
+<strong>systemTransit</strong> = 3</td></tr></table>
+</body></html>
\ No newline at end of file
diff --git a/trunk/apps/bindings/python/gpstkPython.i b/trunk/apps/bindings/python/gpstkPython.i
new file mode 100644
index 0000000..99914a1
--- /dev/null
+++ b/trunk/apps/bindings/python/gpstkPython.i
@@ -0,0 +1,321 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+
+
+%module gpstkPython
+%{
+#include <iostream>
+#include <fstream>
+#include <valarray>
+#include <string>
+#include <map>
+#include <ios>
+
+#include "../../../src/DayTime.hpp"
+#include "../../../src/FFStream.hpp"
+#include "../../../src/RinexObsBase.hpp"
+#include "../../../src/Triple.hpp"
+#include "../../../src/RinexObsHeader.hpp"
+#include "../../../src/Exception.hpp"
+#include "../../../src/GPSZcount.hpp"
+#include "../../../src/RinexObsStream.hpp"
+#include "../../../src/ECEF.hpp"
+#include "../../../src/Geodetic.hpp"
+#include "../../../src/geometry.hpp"
+#include "../../../src/Xvt.hpp"
+#include "../../../src/RinexObsData.hpp"
+#include "../../../src/Position.hpp"
+#include "../../../src/RAIMSolution.hpp"
+#include "../../../src/AlmanacStore.hpp"
+#include "../../../src/AlmOrbit.hpp"
+#include "../../../src/ValidType.hpp"
+#include "../../../src/X1Sequence.hpp"
+// mergePCodeWords.h must be present in directory for X2Sequence
+#include "../../../src/X2Sequence.hpp"
+#include "../../../src/CodeBuffer.hpp"
+#include "../../../src/SatID.hpp"
+#include "../../../src/GenXSequence.hpp"
+#include "../../../src/SVPCodeGen.hpp"
+#include "../../../src/EphemerisRange.hpp"
+#include "../../../src/EngEphemeris.hpp"
+#include "../../../src/EngAlmanac.hpp"
+#include "../../../src/EngNav.hpp"
+#include "../../../src/ObservationStore.hpp"
+#include "../../../src/IonoModel.hpp"
+#include "../../../src/IonoModelStore.hpp"
+#include "../../../src/TropModel.hpp"
+#include "../../../src/ClockModel.hpp"
+#include "../../../src/ObsClockModel.hpp"
+#include "../../../src/EpochClockModel.hpp"
+#include "../../../src/LinearClockModel.hpp"
+#include "../../../src/ObsRngDev.hpp"
+#include "../../../src/ORDEpoch.hpp"
+#include "../../../src/RungeKutta4.hpp"
+#include "../../../src/Stats.hpp"
+#include "../../../src/RinexEphemerisStore.hpp"
+#include "../../../src/SP3EphemerisStore.hpp"
+#include "../../../src/FileHunter.hpp"
+//#include "../../../src/FileStore.hpp"
+#include "../../../src/RinexNavHeader.hpp"
+//#include "../../../src/TabularEphemerisStore.hpp"
+//#include "../../../src/EphemerisStore.hpp"
+#include "../../../src/BCEphemerisStore.hpp"
+#include "../../../src/SP3Header.hpp"
+//#include "../../../src/SP3Base.hpp"
+//#include "../../../src/RinexNavBase.hpp"
+#include "../../../src/FFData.hpp"
+#include "../../../src/FICStream.hpp"
+#include "../../../src/FICAStream.hpp"
+#include "../../../src/MSCStream.hpp"
+#include "../../../src/RinexMetStream.hpp"
+#include "../../../src/RinexNavStream.hpp"
+#include "../../../src/SMODFStream.hpp"
+#include "../../../src/SP3Stream.hpp"
+#include "../../../src/FFTextStream.hpp"
+
+#include "../../../src/FICData.hpp"
+#include "../../../src/FICHeader.hpp"
+#include "../../../src/RinexMetData.hpp"
+#include "../../../src/RinexMetHeader.hpp"
+#include "../../../src/RinexNavData.hpp"
+#include "../../../src/SP3Data.hpp"
+#include "../../../src/icd_200_constants.hpp"
+
+#include "gpstkPythonUtils.cpp"
+#include "streamRead.cpp"
+
+using namespace std;
+using namespace gpstk;
+
+// RinexObsType and ExtraWaveFact are defined under scope of RinexObsHeader
+// SWIG doesn't support nested C++ structs so the wrap file will call
+// RinexObsType in global space
+// This is to define RinexObsType and ExtraWaveFact in the global space
+typedef RinexObsHeader::RinexObsType RinexObsType;
+typedef RinexObsHeader::ExtraWaveFact ExtraWaveFact;
+
+// Same technique for nested classes in DayTime.hpp
+typedef DayTime::DayTimeException DayTimeException;
+typedef DayTime::FormatException FormatException;
+
+typedef RinexObsData::RinexDatum RinexDatum;
+
+// Originally from gpstkPython2.i
+typedef AlmanacStore::NoAlmanacFound NoAlmanacFound;
+typedef EngAlmanac::SVNotPresentException SVNotPresentException;
+typedef TropModel::InvalidTropModel InvalidTropModel;
+typedef IonoModelStore::NoIonoModelFound NoIonoModelFound;
+typedef IonoModel::InvalidIonoModel InvalidIonoModel;
+
+typedef RinexMetHeader::RinexMetType RinexMetType;
+typedef RinexMetHeader::sensorType sensorType;
+typedef RinexMetHeader::sensorPosType sensorPosType;
+typedef EphemerisStore::NoEphemerisFound NoEphemerisFound;
+typedef RinexObsData::RinexPrnMap RinexPrnMap;
+%}
+
+
+
+// Include some .i files that help parsing
+%include "common.i"
+%include "std_string.i"
+%include "std_vector.i"
+%include "std_ios.i"
+%include "std_iostream.i"
+//%include "std_map.i"
+%include "../../../src/icd_200_constants.hpp"
+%include "gpstkPythonUtils.i"
+
+
+
+// FFData, FFStream, FFTextStream are all included up here to make the import's easier
+%include "../../../src/FFData.hpp"
+%include "../../../src/FFStream.hpp"
+%include "../../../src/FFTextStream.hpp"
+
+
+
+// Import .hpp files for SWIG's reference
+// Order matters for some of these files
+// Ordered through trial and error
+// If you import a class, you can't use it in Python
+// but this provides the class definitions for the other
+// classes.
+%import "../../../src/FFStreamError.hpp"
+%import "../../../src/FFBinaryStream.hpp"
+%import "../../../src/FICStreamBase.hpp"
+%import "../../../src/EphemerisStore.hpp"
+%import "../../../src/TabularEphemerisStore.hpp"
+%import "../../../src/FileStore.hpp"
+%import "../../../src/RinexNavBase.hpp"
+%import "../../../src/SP3Base.hpp"
+%import "../../../src/FICBase.hpp"
+%import "../../../src/RinexMetBase.hpp"
+
+
+// Include the files for SWIG to parse
+// Order matters to some
+
+// Exception
+// Redefinition problem, similar to Triple & Xvt, also at operator<<
+// Exception+DayTimeException and Triple+Xvt pairs don't
+// redefine each other's operator<<'s
+// Fixing method, see Xvt
+%rename (Exception_streamRead) operator<<;
+%include "../../../src/Exception.hpp"
+%rename (streamRead) operator<<;
+
+//
+// Code Generation Group
+//
+%include "../../../src/ValidType.hpp"
+// X1Sequence() constructor throws an exception
+%include "../../../src/X1Sequence.hpp"
+// X2Sequence() constructor throws an exception
+%include "../../../src/X2Sequence.hpp"
+// CodeBuffer has two operator[]
+%rename (operator_bracket_const) gpstk::CodeBuffer::operator[](int
+const) const;
+%include "../../../src/CodeBuffer.hpp"
+%include "../../../src/SatID.hpp"
+%include "../../../src/GenXSequence.hpp"
+%include "../../../src/SVPCodeGen.hpp"
+%include "../../../src/ObservationStore.hpp"
+
+//
+// Ephemeris Group
+//
+%include "../../../src/AlmanacStore.hpp"
+%include "../../../src/AlmOrbit.hpp"
+
+//
+// Error Modelling Group
+//
+%include "../../../src/IonoModel.hpp"
+%include "../../../src/IonoModelStore.hpp"
+%include "../../../src/TropModel.hpp"
+%include "../../../src/ClockModel.hpp"
+%include "../../../src/ObsClockModel.hpp"
+%include "../../../src/EpochClockModel.hpp"
+%include "../../../src/LinearClockModel.hpp"
+
+//
+// File Group
+//
+// SP3EphemerisStore.hpp contains classes that base off template classes
+%include "../../../src/BCEphemerisStore.hpp"
+%template (FileStore_RinexNavHeader) gpstk::FileStore<RinexNavHeader >;
+%template(FileStore_SP3Header) gpstk::FileStore<SP3Header >;
+%include "../../../src/RinexEphemerisStore.hpp"
+%include "../../../src/SP3EphemerisStore.hpp"
+%include "../../../src/FileHunter.hpp"
+%include "../../../src/FICStream.hpp"
+%include "../../../src/FICAStream.hpp"
+%include "../../../src/MSCStream.hpp"
+%include "../../../src/RinexMetStream.hpp"
+%include "../../../src/RinexNavStream.hpp"
+%include "../../../src/SMODFStream.hpp"
+%include "../../../src/SP3Stream.hpp"
+
+//
+// File Support Group
+//
+%include "../../../src/RinexObsStream.hpp"
+%include "../../../src/RinexObsBase.hpp"
+%include "RinexObsType.i"
+%include "ExtraWaveFact.i"
+%include "../../../src/RinexObsHeader.hpp"
+%include "RinexDatum.i"
+
+// Template declarations for RinexObsTypeMap and RinexPrnMap
+// They are typedefs in RinexObsData.hpp
+// A third template, BOGUS_TEMPLATE has to be there so...
+// the RinexPrnMap declaration will compile.
+// I do not know why that is.
+%include "../../../src/RinexObsData.hpp"
+%template() std::pair<RinexObsType, RinexDatum>;
+%template (RinexObsTypeMap) std::map<RinexObsType, RinexDatum >;
+%template() std::pair<RinexPrn, RinexObsData::RinexObsTypeMap>;
+%template (RinexPrnMap) std::map<RinexPrn, RinexObsData::RinexObsTypeMap>;
+%template() std::pair<RinexPrn, int>;
+%template (BOGUS_TEMPLATE) std::map<RinexPrn, int>;
+
+%include "../../../src/SP3Header.hpp"
+%include "../../../src/RinexNavHeader.hpp"
+%rename (operator_EngEphemeris) operator EngEphemeris;
+%rename (operator_AlmOrbit) operator gpstk::AlmOrbit;
+%include "../../../src/FICData.hpp"
+%include "../../../src/FICHeader.hpp"
+%include "../../../src/RinexMetData.hpp"
+%include "../../../src/RinexMetHeader.hpp"
+%include "sensorType.i"
+%include "../../../src/RinexNavData.hpp"
+%include "../../../src/SP3Data.hpp"
+
+//
+// Math Group
+//
+%include "../../../src/RungeKutta4.hpp"
+
+//
+// Position Group
+//
+// Triple
+// Rename below to solve "shadowed by..." warning
+%rename (operator_bracket_const) gpstk::Triple::operator[](size_t const) const;
+// Under Triple.hpp, friend std::ostream operator<< will
+// clash with Xvt's def of operator<<, result in redefine
+%rename (Triple_streamRead) operator<<;
+%include "../../../src/Triple.hpp"
+%rename (streamRead) operator<<;
+// Position
+%rename (printf_const) printf(std::string const &) const;
+%include "../../../src/Position.hpp"
+// ECEF
+%include "../../../src/ECEF.hpp"
+// GeoidModel
+%include "../../../src/GeoidModel.hpp"
+// Xvt
+// The %rename directive below solves the redefinition conflict with Triple.hpp
+%rename (Xvt_streamRead) operator<<;
+%include "../../../src/Xvt.hpp"
+// The %rename directive below restores the usual naming scheme
+%rename (streamRead) operator<<;
+// Geodetic
+%include "../../../src/Geodetic.hpp"
+// RAIM Solution
+%include "../../../src/RAIMSolution.hpp"
+
+//
+// Orbit Group
+//
+%include "../../../src/EphemerisRange.hpp"
+%include "../../../src/EngNav.hpp"
+// get6bitHealth() is declared in hpp file, but not implemented in cpp file
+%ignore get6bitHealth;
+%include "../../../src/EngAlmanac.hpp"
+// same situation with getEphkey()
+%ignore getEphkey;
+%include "../../../src/EngEphemeris.hpp"
+
+//
+// Time Group
+//
+// GPSZcount
+%rename (operator_std_string) operator std::string() const;
+%include "../../../src/GPSZcount.hpp"
+// DayTime
+%rename (Operator_GPSZcount) operator gpstk::GPSZcount() const;
+%rename (printf_std_string) printf(std::string const &) const;
+%rename (DayTimeException_streamRead) operator<<;
+%include "DayTimeException.i"
+%rename (streamRead) operator<<;
+%include "../../../src/DayTime.hpp"
+
+//
+// QA Group
+//
+// QA that is not in ObservationStore.hpp
+%include "../../../src/ObsRngDev.hpp"
+%include "../../../src/ORDEpoch.hpp"
+
+%include "streamRead.i"
diff --git a/trunk/apps/bindings/python/gpstkPythonUtils.cpp b/trunk/apps/bindings/python/gpstkPythonUtils.cpp
new file mode 100644
index 0000000..e5bc67a
--- /dev/null
+++ b/trunk/apps/bindings/python/gpstkPythonUtils.cpp
@@ -0,0 +1,67 @@
+// GPSTk wrap for Python through SWIG
+// These are functions I wrote to make the binding work better
+
+#include <iostream>
+#include <ios>
+#include <fstream>
+#include "FFData.hpp"
+#include "FFStream.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+
+std::ios::openmode ios_out()
+{
+ return std::ios::out;
+}
+
+std::ios::openmode ios_in()
+{
+ std::ios::openmode result;
+ result = std::ios::in;
+ return result;
+}
+
+std::ios::openmode ios_out_trunc()
+{
+ std::ios::openmode result;
+ result = std::ios::out|std::ios::trunc;
+ return result;
+}
+
+bool read(FFStream& s, const FFData& d)
+{
+ return s << d;
+}
+
+bool write(FFStream& s, FFData& d)
+{
+ return s >> d;
+}
+
+RinexObsData::RinexPrnMap::iterator RinexPrnMap_find(RinexObsData& roe, RinexPrn prn)
+{
+ RinexObsData::RinexPrnMap::iterator result = roe.obs.find(prn);
+ return result;
+}
+
+RinexObsData::RinexPrnMap::iterator RinexPrnMap_end(RinexObsData& roe)
+{
+ return roe.obs.end();
+}
+
+RinexObsData::RinexDatum getPseudoRangeCode(RinexObsData roe, RinexPrn prn, RinexObsHeader::RinexObsType type)
+{
+ return roe.obs[prn][type];
+}
+
+RinexObsData::RinexDatum getPseudoRangeCode(RinexObsData::RinexPrnMap::iterator ptr, RinexObsHeader::RinexObsType type)
+{
+ RinexObsData::RinexDatum x;
+ x = (*ptr).second[type];
+ return x;
+}
+
+bool RinexPrnMap_compare(RinexObsData::RinexPrnMap::iterator x, RinexObsData::RinexPrnMap::iterator y)
+{
+ return x == y;
+}
diff --git a/trunk/apps/bindings/python/gpstkPythonUtils.i b/trunk/apps/bindings/python/gpstkPythonUtils.i
new file mode 100644
index 0000000..3cb55ef
--- /dev/null
+++ b/trunk/apps/bindings/python/gpstkPythonUtils.i
@@ -0,0 +1,14 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+
+// Wrap for gpstkPythonUtils.cpp
+
+std::ios::openmode ios_out();
+std::ios::openmode ios_in();
+std::ios::openmode ios_out_trunc();
+bool read(FFStream& s, const FFData& d);
+bool write(FFStream& s, FFData& d);
+RinexObsData::RinexPrnMap::iterator RinexPrnMap_find(RinexObsData& roe, RinexPrn prn);
+RinexObsData::RinexPrnMap::iterator RinexPrnMap_end(RinexObsData& roe);
+RinexObsData::RinexDatum getPseudoRangeCode(RinexObsData roe, RinexPrn prn, RinexObsType type);
+RinexObsData::RinexDatum getPseudoRangeCode(RinexObsData::RinexPrnMap::iterator ptr, RinexObsHeader::RinexObsType type);
+bool RinexPrnMap_compare(RinexObsData::RinexPrnMap::iterator x, RinexObsData::RinexPrnMap::iterator y);
diff --git a/trunk/apps/bindings/python/gpstkPython_wrap.cxx b/trunk/apps/bindings/python/gpstkPython_wrap.cxx
new file mode 100644
index 0000000..43a2af6
--- /dev/null
+++ b/trunk/apps/bindings/python/gpstkPython_wrap.cxx
@@ -0,0 +1,76622 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.25
+ *
+ * This file is not intended to be easily readable and contains a number of
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG
+ * interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+#define SWIGPYTHON
+
+#ifdef __cplusplus
+template<class T> class SwigValueWrapper {
+ T *tt;
+public:
+ SwigValueWrapper() : tt(0) { }
+ SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+ SwigValueWrapper(const T& t) : tt(new T(t)) { }
+ ~SwigValueWrapper() { delete tt; }
+ SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
+ operator T&() const { return *tt; }
+ T *operator&() { return tt; }
+private:
+ SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};
+#endif
+
+/***********************************************************************
+ *
+ * This section contains generic SWIG labels for method/variable
+ * declarations/attributes, and other compiler dependent labels.
+ *
+ ************************************************************************/
+
+/* template workaround for compilers that cannot correctly implement the C++ standard */
+#ifndef SWIGTEMPLATEDISAMBIGUATOR
+# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
+# define SWIGTEMPLATEDISAMBIGUATOR template
+# else
+# define SWIGTEMPLATEDISAMBIGUATOR
+# endif
+#endif
+
+/* inline attribute */
+#ifndef SWIGINLINE
+# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
+# define SWIGINLINE inline
+# else
+# define SWIGINLINE
+# endif
+#endif
+
+/* attribute recognised by some compilers to avoid 'unused' warnings */
+#ifndef SWIGUNUSED
+# if defined(__GNUC__) || defined(__ICC)
+# define SWIGUNUSED __attribute__ ((unused))
+# else
+# define SWIGUNUSED
+# endif
+#endif
+
+/* internal SWIG method */
+#ifndef SWIGINTERN
+# define SWIGINTERN static SWIGUNUSED
+#endif
+
+/* internal inline SWIG method */
+#ifndef SWIGINTERNINLINE
+# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
+#endif
+
+/* exporting methods for Windows DLLs */
+#ifndef SWIGEXPORT
+# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+# if defined(STATIC_LINKED)
+# define SWIGEXPORT
+# else
+# define SWIGEXPORT __declspec(dllexport)
+# endif
+# else
+# define SWIGEXPORT
+# endif
+#endif
+
+/* calling conventions for Windows */
+#ifndef SWIGSTDCALL
+# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+# define SWIGSTDCALL __stdcall
+# else
+# define SWIGSTDCALL
+# endif
+#endif
+
+
+
+#include <Python.h>
+
+/***********************************************************************
+ * swigrun.swg
+ *
+ * This file contains generic CAPI SWIG runtime support for pointer
+ * type checking.
+ *
+ ************************************************************************/
+
+/* This should only be incremented when either the layout of swig_type_info changes,
+ or for whatever reason, the runtime changes incompatibly */
+#define SWIG_RUNTIME_VERSION "2"
+
+/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
+#ifdef SWIG_TYPE_TABLE
+# define SWIG_QUOTE_STRING(x) #x
+# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
+# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
+#else
+# define SWIG_TYPE_TABLE_NAME
+#endif
+
+/*
+ You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
+ creating a static or dynamic library from the swig runtime code.
+ In 99.9% of the cases, swig just needs to declare them as 'static'.
+
+ But only do this if is strictly necessary, ie, if you have problems
+ with your compiler or so.
+*/
+
+#ifndef SWIGRUNTIME
+# define SWIGRUNTIME SWIGINTERN
+#endif
+
+#ifndef SWIGRUNTIMEINLINE
+# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
+#endif
+
+#include <string.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*swig_converter_func)(void *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+/* Structure to store inforomation on one type */
+typedef struct swig_type_info {
+ const char *name; /* mangled name of this type */
+ const char *str; /* human readable name of this type */
+ swig_dycast_func dcast; /* dynamic cast function down a hierarchy */
+ struct swig_cast_info *cast; /* linked list of types that can cast into this type */
+ void *clientdata; /* language specific type data */
+} swig_type_info;
+
+/* Structure to store a type and conversion function used for casting */
+typedef struct swig_cast_info {
+ swig_type_info *type; /* pointer to type that is equivalent to this type */
+ swig_converter_func converter; /* function to cast the void pointers */
+ struct swig_cast_info *next; /* pointer to next cast in linked list */
+ struct swig_cast_info *prev; /* pointer to the previous cast */
+} swig_cast_info;
+
+/* Structure used to store module information
+ * Each module generates one structure like this, and the runtime collects
+ * all of these structures and stores them in a circularly linked list.*/
+typedef struct swig_module_info {
+ swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */
+ size_t size; /* Number of types in this module */
+ struct swig_module_info *next; /* Pointer to next element in circularly linked list */
+ swig_type_info **type_initial; /* Array of initially generated type structures */
+ swig_cast_info **cast_initial; /* Array of initially generated casting structures */
+ void *clientdata; /* Language specific module data */
+} swig_module_info;
+
+
+/*
+ Compare two type names skipping the space characters, therefore
+ "char*" == "char *" and "Class<int>" == "Class<int >", etc.
+
+ Return 0 when the two name types are equivalent, as in
+ strncmp, but skipping ' '.
+*/
+SWIGRUNTIME int
+SWIG_TypeNameComp(const char *f1, const char *l1,
+ const char *f2, const char *l2) {
+ for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
+ while ((*f1 == ' ') && (f1 != l1)) ++f1;
+ while ((*f2 == ' ') && (f2 != l2)) ++f2;
+ if (*f1 != *f2) return (int)(*f1 - *f2);
+ }
+ return (l1 - f1) - (l2 - f2);
+}
+
+/*
+ Check type equivalence in a name list like <name1>|<name2>|...
+ Return 0 if not equal, 1 if equal
+*/
+SWIGRUNTIME int
+SWIG_TypeEquiv(const char *nb, const char *tb) {
+ int equiv = 0;
+ const char* te = tb + strlen(tb);
+ const char* ne = nb;
+ while (!equiv && *ne) {
+ for (nb = ne; *ne; ++ne) {
+ if (*ne == '|') break;
+ }
+ equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
+ if (*ne) ++ne;
+ }
+ return equiv;
+}
+
+/*
+ Check type equivalence in a name list like <name1>|<name2>|...
+ Return 0 if equal, -1 if nb < tb, 1 if nb > tb
+*/
+SWIGRUNTIME int
+SWIG_TypeCompare(const char *nb, const char *tb) {
+ int equiv = 0;
+ const char* te = tb + strlen(tb);
+ const char* ne = nb;
+ while (!equiv && *ne) {
+ for (nb = ne; *ne; ++ne) {
+ if (*ne == '|') break;
+ }
+ equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
+ if (*ne) ++ne;
+ }
+ return equiv;
+}
+
+
+/* think of this as a c++ template<> or a scheme macro */
+#define SWIG_TypeCheck_Template(comparison, ty) \
+ if (ty) { \
+ swig_cast_info *iter = ty->cast; \
+ while (iter) { \
+ if (comparison) { \
+ if (iter == ty->cast) return iter; \
+ /* Move iter to the top of the linked list */ \
+ iter->prev->next = iter->next; \
+ if (iter->next) \
+ iter->next->prev = iter->prev; \
+ iter->next = ty->cast; \
+ iter->prev = 0; \
+ if (ty->cast) ty->cast->prev = iter; \
+ ty->cast = iter; \
+ return iter; \
+ } \
+ iter = iter->next; \
+ } \
+ } \
+ return 0
+
+/*
+ Check the typename
+*/
+SWIGRUNTIME swig_cast_info *
+SWIG_TypeCheck(const char *c, swig_type_info *ty) {
+ SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
+}
+
+/* Same as previous function, except strcmp is replaced with a pointer comparison */
+SWIGRUNTIME swig_cast_info *
+SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
+ SWIG_TypeCheck_Template(iter->type == from, into);
+}
+
+/*
+ Cast a pointer up an inheritance hierarchy
+*/
+SWIGRUNTIMEINLINE void *
+SWIG_TypeCast(swig_cast_info *ty, void *ptr) {
+ return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
+}
+
+/*
+ Dynamic pointer casting. Down an inheritance hierarchy
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
+ swig_type_info *lastty = ty;
+ if (!ty || !ty->dcast) return ty;
+ while (ty && (ty->dcast)) {
+ ty = (*ty->dcast)(ptr);
+ if (ty) lastty = ty;
+ }
+ return lastty;
+}
+
+/*
+ Return the name associated with this type
+*/
+SWIGRUNTIMEINLINE const char *
+SWIG_TypeName(const swig_type_info *ty) {
+ return ty->name;
+}
+
+/*
+ Return the pretty name associated with this type,
+ that is an unmangled type name in a form presentable to the user.
+*/
+SWIGRUNTIME const char *
+SWIG_TypePrettyName(const swig_type_info *type) {
+ /* The "str" field contains the equivalent pretty names of the
+ type, separated by vertical-bar characters. We choose
+ to print the last name, as it is often (?) the most
+ specific. */
+ if (type->str != NULL) {
+ const char *last_name = type->str;
+ const char *s;
+ for (s = type->str; *s; s++)
+ if (*s == '|') last_name = s+1;
+ return last_name;
+ }
+ else
+ return type->name;
+}
+
+/*
+ Set the clientdata field for a type
+*/
+SWIGRUNTIME void
+SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
+ if (!ti->clientdata) {
+ swig_cast_info *cast = ti->cast;
+ /* if (ti->clientdata == clientdata) return; */
+ ti->clientdata = clientdata;
+
+ while (cast) {
+ if (!cast->converter)
+ SWIG_TypeClientData(cast->type, clientdata);
+ cast = cast->next;
+ }
+ }
+}
+
+/*
+ Search for a swig_type_info structure only by mangled name
+ Search is a O(log #types)
+
+ We start searching at module start, and finish searching when start == end.
+ Note: if start == end at the beginning of the function, we go all the way around
+ the circular list.
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_MangledTypeQueryModule(swig_module_info *start,
+ swig_module_info *end,
+ const char *name) {
+ swig_module_info *iter = start;
+ do {
+ if (iter->size) {
+ register size_t l = 0;
+ register size_t r = iter->size - 1;
+ do {
+ /* since l+r >= 0, we can (>> 1) instead (/ 2) */
+ register size_t i = (l + r) >> 1;
+ const char *iname = iter->types[i]->name;
+ if (iname) {
+ register int compare = strcmp(name, iname);
+ if (compare == 0) {
+ return iter->types[i];
+ } else if (compare < 0) {
+ if (i) {
+ r = i - 1;
+ } else {
+ break;
+ }
+ } else if (compare > 0) {
+ l = i + 1;
+ }
+ } else {
+ break; /* should never happen */
+ }
+ } while (l <= r);
+ }
+ iter = iter->next;
+ } while (iter != end);
+ return 0;
+}
+
+/*
+ Search for a swig_type_info structure for either a mangled name or a human readable name.
+ It first searches the mangled names of the types, which is a O(log #types)
+ If a type is not found it then searches the human readable names, which is O(#types).
+
+ We start searching at module start, and finish searching when start == end.
+ Note: if start == end at the beginning of the function, we go all the way around
+ the circular list.
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeQueryModule(swig_module_info *start,
+ swig_module_info *end,
+ const char *name) {
+ /* STEP 1: Search the name field using binary search */
+ swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
+ if (ret) {
+ return ret;
+ } else {
+ /* STEP 2: If the type hasn't been found, do a complete search
+ of the str field (the human readable name) */
+ swig_module_info *iter = start;
+ do {
+ register size_t i = 0;
+ for (; i < iter->size; ++i) {
+ if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
+ return iter->types[i];
+ }
+ iter = iter->next;
+ } while (iter != end);
+ }
+
+ /* neither found a match */
+ return 0;
+}
+
+
+/*
+ Pack binary data into a string
+*/
+SWIGRUNTIME char *
+SWIG_PackData(char *c, void *ptr, size_t sz) {
+ static const char hex[17] = "0123456789abcdef";
+ register const unsigned char *u = (unsigned char *) ptr;
+ register const unsigned char *eu = u + sz;
+ for (; u != eu; ++u) {
+ register unsigned char uu = *u;
+ *(c++) = hex[(uu & 0xf0) >> 4];
+ *(c++) = hex[uu & 0xf];
+ }
+ return c;
+}
+
+/*
+ Unpack binary data from a string
+*/
+SWIGRUNTIME const char *
+SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
+ register unsigned char *u = (unsigned char *) ptr;
+ register const unsigned char *eu = u + sz;
+ for (; u != eu; ++u) {
+ register char d = *(c++);
+ register unsigned char uu = 0;
+ if ((d >= '0') && (d <= '9'))
+ uu = ((d - '0') << 4);
+ else if ((d >= 'a') && (d <= 'f'))
+ uu = ((d - ('a'-10)) << 4);
+ else
+ return (char *) 0;
+ d = *(c++);
+ if ((d >= '0') && (d <= '9'))
+ uu |= (d - '0');
+ else if ((d >= 'a') && (d <= 'f'))
+ uu |= (d - ('a'-10));
+ else
+ return (char *) 0;
+ *u = uu;
+ }
+ return c;
+}
+
+/*
+ Pack 'void *' into a string buffer.
+*/
+SWIGRUNTIME char *
+SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
+ char *r = buff;
+ if ((2*sizeof(void *) + 2) > bsz) return 0;
+ *(r++) = '_';
+ r = SWIG_PackData(r,&ptr,sizeof(void *));
+ if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
+ strcpy(r,name);
+ return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
+ if (*c != '_') {
+ if (strcmp(c,"NULL") == 0) {
+ *ptr = (void *) 0;
+ return name;
+ } else {
+ return 0;
+ }
+ }
+ return SWIG_UnpackData(++c,ptr,sizeof(void *));
+}
+
+SWIGRUNTIME char *
+SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
+ char *r = buff;
+ size_t lname = (name ? strlen(name) : 0);
+ if ((2*sz + 2 + lname) > bsz) return 0;
+ *(r++) = '_';
+ r = SWIG_PackData(r,ptr,sz);
+ if (lname) {
+ strncpy(r,name,lname+1);
+ } else {
+ *r = 0;
+ }
+ return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
+ if (*c != '_') {
+ if (strcmp(c,"NULL") == 0) {
+ memset(ptr,0,sz);
+ return name;
+ } else {
+ return 0;
+ }
+ }
+ return SWIG_UnpackData(++c,ptr,sz);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/* -----------------------------------------------------------------------------
+ * SWIG API. Portion that goes into the runtime
+ * ----------------------------------------------------------------------------- */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* -----------------------------------------------------------------------------
+ * for internal method declarations
+ * ----------------------------------------------------------------------------- */
+
+#ifndef SWIGINTERN
+# define SWIGINTERN static SWIGUNUSED
+#endif
+
+#ifndef SWIGINTERNINLINE
+# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
+#endif
+
+/*
+ Exception handling in wrappers
+*/
+#define SWIG_fail goto fail
+#define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg)
+#define SWIG_append_errmsg(msg) SWIG_Python_AddErrMesg(msg,0)
+#define SWIG_preppend_errmsg(msg) SWIG_Python_AddErrMesg(msg,1)
+#define SWIG_type_error(type,obj) SWIG_Python_TypeError(type,obj)
+#define SWIG_null_ref(type) SWIG_Python_NullRef(type)
+
+/*
+ Contract support
+*/
+#define SWIG_contract_assert(expr, msg) \
+ if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else
+
+/* -----------------------------------------------------------------------------
+ * Constant declarations
+ * ----------------------------------------------------------------------------- */
+
+/* Constant Types */
+#define SWIG_PY_INT 1
+#define SWIG_PY_FLOAT 2
+#define SWIG_PY_STRING 3
+#define SWIG_PY_POINTER 4
+#define SWIG_PY_BINARY 5
+
+/* Constant information structure */
+typedef struct swig_const_info {
+ int type;
+ char *name;
+ long lvalue;
+ double dvalue;
+ void *pvalue;
+ swig_type_info **ptype;
+} swig_const_info;
+
+
+/* -----------------------------------------------------------------------------
+ * Alloc. memory flags
+ * ----------------------------------------------------------------------------- */
+#define SWIG_OLDOBJ 1
+#define SWIG_NEWOBJ SWIG_OLDOBJ + 1
+#define SWIG_PYSTR SWIG_NEWOBJ + 1
+
+#ifdef __cplusplus
+}
+#endif
+
+
+/***********************************************************************
+ * pyrun.swg
+ *
+ * This file contains the runtime support for Python modules
+ * and includes code for managing global variables and pointer
+ * type checking.
+ *
+ * Author : David Beazley (beazley at cs.uchicago.edu)
+ ************************************************************************/
+
+/* Common SWIG API */
+#define SWIG_ConvertPtr(obj, pp, type, flags) SWIG_Python_ConvertPtr(obj, pp, type, flags)
+#define SWIG_NewPointerObj(p, type, flags) SWIG_Python_NewPointerObj(p, type, flags)
+#define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags)
+
+
+/* Python-specific SWIG API */
+#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags)
+#define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type)
+
+/* Runtime API */
+#define SWIG_GetModule(clientdata) SWIG_Python_GetModule()
+#define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer)
+
+/* -----------------------------------------------------------------------------
+ * Pointer declarations
+ * ----------------------------------------------------------------------------- */
+/*
+ Use SWIG_NO_COBJECT_TYPES to force the use of strings to represent
+ C/C++ pointers in the python side. Very useful for debugging, but
+ not always safe.
+*/
+#if !defined(SWIG_NO_COBJECT_TYPES) && !defined(SWIG_COBJECT_TYPES)
+# define SWIG_COBJECT_TYPES
+#endif
+
+/* Flags for pointer conversion */
+#define SWIG_POINTER_EXCEPTION 0x1
+#define SWIG_POINTER_DISOWN 0x2
+
+
+/* Add PyOS_snprintf for old Pythons */
+#if PY_VERSION_HEX < 0x02020000
+#define PyOS_snprintf snprintf
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* -----------------------------------------------------------------------------
+ * Create a new pointer string
+ * ----------------------------------------------------------------------------- */
+#ifndef SWIG_BUFFER_SIZE
+#define SWIG_BUFFER_SIZE 1024
+#endif
+
+#if defined(SWIG_COBJECT_TYPES)
+#if !defined(SWIG_COBJECT_PYTHON)
+/* -----------------------------------------------------------------------------
+ * Implements a simple Swig Object type, and use it instead of PyCObject
+ * ----------------------------------------------------------------------------- */
+
+typedef struct {
+ PyObject_HEAD
+ void *ptr;
+ const char *desc;
+} PySwigObject;
+
+/* Declarations for objects of type PySwigObject */
+
+SWIGRUNTIME int
+PySwigObject_print(PySwigObject *v, FILE *fp, int flags)
+{
+ char result[SWIG_BUFFER_SIZE];
+ flags = flags;
+ if (SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result))) {
+ fputs("<Swig Object at ", fp); fputs(result, fp); fputs(">", fp);
+ return 0;
+ } else {
+ return 1;
+ }
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_repr(PySwigObject *v)
+{
+ char result[SWIG_BUFFER_SIZE];
+ return SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result)) ?
+ PyString_FromFormat("<Swig Object at %s>", result) : 0;
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_str(PySwigObject *v)
+{
+ char result[SWIG_BUFFER_SIZE];
+ return SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result)) ?
+ PyString_FromString(result) : 0;
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_long(PySwigObject *v)
+{
+ return PyLong_FromVoidPtr(v->ptr);
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_format(const char* fmt, PySwigObject *v)
+{
+ PyObject *res = NULL;
+ PyObject *args = PyTuple_New(1);
+ if (args && (PyTuple_SetItem(args, 0, PySwigObject_long(v)) == 0)) {
+ PyObject *ofmt = PyString_FromString(fmt);
+ if (ofmt) {
+ res = PyString_Format(ofmt,args);
+ Py_DECREF(ofmt);
+ }
+ Py_DECREF(args);
+ }
+ return res;
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_oct(PySwigObject *v)
+{
+ return PySwigObject_format("%o",v);
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_hex(PySwigObject *v)
+{
+ return PySwigObject_format("%x",v);
+}
+
+SWIGRUNTIME int
+PySwigObject_compare(PySwigObject *v, PySwigObject *w)
+{
+ int c = strcmp(v->desc, w->desc);
+ if (c) {
+ return (c > 0) ? 1 : -1;
+ } else {
+ void *i = v->ptr;
+ void *j = w->ptr;
+ return (i < j) ? -1 : ((i > j) ? 1 : 0);
+ }
+}
+
+SWIGRUNTIME void
+PySwigObject_dealloc(PySwigObject *self)
+{
+ PyObject_DEL(self);
+}
+
+SWIGRUNTIME PyTypeObject*
+PySwigObject_type(void) {
+ static char pyswigobject_type__doc__[] =
+ "Swig object carries a C/C++ instance pointer";
+
+ static PyNumberMethods PySwigObject_as_number = {
+ (binaryfunc)0, /*nb_add*/
+ (binaryfunc)0, /*nb_subtract*/
+ (binaryfunc)0, /*nb_multiply*/
+ (binaryfunc)0, /*nb_divide*/
+ (binaryfunc)0, /*nb_remainder*/
+ (binaryfunc)0, /*nb_divmod*/
+ (ternaryfunc)0,/*nb_power*/
+ (unaryfunc)0, /*nb_negative*/
+ (unaryfunc)0, /*nb_positive*/
+ (unaryfunc)0, /*nb_absolute*/
+ (inquiry)0, /*nb_nonzero*/
+ 0, /*nb_invert*/
+ 0, /*nb_lshift*/
+ 0, /*nb_rshift*/
+ 0, /*nb_and*/
+ 0, /*nb_xor*/
+ 0, /*nb_or*/
+ (coercion)0, /*nb_coerce*/
+ (unaryfunc)PySwigObject_long, /*nb_int*/
+ (unaryfunc)PySwigObject_long, /*nb_long*/
+ (unaryfunc)0, /*nb_float*/
+ (unaryfunc)PySwigObject_oct, /*nb_oct*/
+ (unaryfunc)PySwigObject_hex, /*nb_hex*/
+#if PY_VERSION_HEX >= 0x02000000
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
+#endif
+ };
+
+ static PyTypeObject pyswigobject_type
+#if !defined(__cplusplus)
+ ;
+ static int type_init = 0;
+ if (!type_init) {
+ PyTypeObject tmp
+#endif
+ = {
+ PyObject_HEAD_INIT(&PyType_Type)
+ 0, /*ob_size*/
+ (char *)"PySwigObject", /*tp_name*/
+ sizeof(PySwigObject), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ /* methods */
+ (destructor)PySwigObject_dealloc, /*tp_dealloc*/
+ (printfunc)PySwigObject_print, /*tp_print*/
+ (getattrfunc)0, /*tp_getattr*/
+ (setattrfunc)0, /*tp_setattr*/
+ (cmpfunc)PySwigObject_compare, /*tp_compare*/
+ (reprfunc)PySwigObject_repr, /*tp_repr*/
+ &PySwigObject_as_number, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ (hashfunc)0, /*tp_hash*/
+ (ternaryfunc)0, /*tp_call*/
+ (reprfunc)PySwigObject_str, /*tp_str*/
+ /* Space for future expansion */
+ 0,0,0,0,
+ pyswigobject_type__doc__, /* Documentation string */
+#if PY_VERSION_HEX >= 0x02000000
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+#endif
+#if PY_VERSION_HEX >= 0x02010000
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+#endif
+#if PY_VERSION_HEX >= 0x02020000
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
+#endif
+#if PY_VERSION_HEX >= 0x02030000
+ 0, /* tp_del */
+#endif
+#ifdef COUNT_ALLOCS
+ 0,0,0,0 /* tp_alloc -> tp_next */
+#endif
+ };
+#if !defined(__cplusplus)
+ pyswigobject_type = tmp;
+ type_init = 1;
+ }
+#endif
+ return &pyswigobject_type;
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_FromVoidPtrAndDesc(void *ptr, const char *desc)
+{
+ PySwigObject *self = PyObject_NEW(PySwigObject, PySwigObject_type());
+ if (self) {
+ self->ptr = ptr;
+ self->desc = desc;
+ }
+ return (PyObject *)self;
+}
+
+SWIGRUNTIMEINLINE void *
+PySwigObject_AsVoidPtr(PyObject *self)
+{
+ return ((PySwigObject *)self)->ptr;
+}
+
+SWIGRUNTIMEINLINE const char *
+PySwigObject_GetDesc(PyObject *self)
+{
+ return ((PySwigObject *)self)->desc;
+}
+
+SWIGRUNTIMEINLINE int
+PySwigObject_Check(PyObject *op) {
+ return ((op)->ob_type == PySwigObject_type())
+ || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0);
+}
+
+/* -----------------------------------------------------------------------------
+ * Implements a simple Swig Packed type, and use it instead of string
+ * ----------------------------------------------------------------------------- */
+
+typedef struct {
+ PyObject_HEAD
+ void *pack;
+ const char *desc;
+ size_t size;
+} PySwigPacked;
+
+SWIGRUNTIME int
+PySwigPacked_print(PySwigPacked *v, FILE *fp, int flags)
+{
+ char result[SWIG_BUFFER_SIZE];
+ flags = flags;
+ fputs("<Swig Packed ", fp);
+ if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
+ fputs("at ", fp);
+ fputs(result, fp);
+ }
+ fputs(v->desc,fp);
+ fputs(">", fp);
+ return 0;
+}
+
+SWIGRUNTIME PyObject *
+PySwigPacked_repr(PySwigPacked *v)
+{
+ char result[SWIG_BUFFER_SIZE];
+ if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
+ return PyString_FromFormat("<Swig Packed at %s%s>", result, v->desc);
+ } else {
+ return PyString_FromFormat("<Swig Packed %s>", v->desc);
+ }
+}
+
+SWIGRUNTIME PyObject *
+PySwigPacked_str(PySwigPacked *v)
+{
+ char result[SWIG_BUFFER_SIZE];
+ if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
+ return PyString_FromFormat("%s%s", result, v->desc);
+ } else {
+ return PyString_FromFormat("%s", v->desc);
+ }
+}
+
+SWIGRUNTIME int
+PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w)
+{
+ int c = strcmp(v->desc, w->desc);
+ if (c) {
+ return (c > 0) ? 1 : -1;
+ } else {
+ size_t i = v->size;
+ size_t j = w->size;
+ int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
+ return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size);
+ }
+}
+
+SWIGRUNTIME void
+PySwigPacked_dealloc(PySwigPacked *self)
+{
+ free(self->pack);
+ PyObject_DEL(self);
+}
+
+SWIGRUNTIME PyTypeObject*
+PySwigPacked_type(void) {
+ static char pyswigpacked_type__doc__[] =
+ "Swig object carries a C/C++ instance pointer";
+ static PyTypeObject pyswigpacked_type
+#if !defined(__cplusplus)
+ ;
+ static int type_init = 0;
+ if (!type_init) {
+ PyTypeObject tmp
+#endif
+ = {
+ PyObject_HEAD_INIT(&PyType_Type)
+ 0, /*ob_size*/
+ (char *)"PySwigPacked", /*tp_name*/
+ sizeof(PySwigPacked), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ /* methods */
+ (destructor)PySwigPacked_dealloc, /*tp_dealloc*/
+ (printfunc)PySwigPacked_print, /*tp_print*/
+ (getattrfunc)0, /*tp_getattr*/
+ (setattrfunc)0, /*tp_setattr*/
+ (cmpfunc)PySwigPacked_compare, /*tp_compare*/
+ (reprfunc)PySwigPacked_repr, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ (hashfunc)0, /*tp_hash*/
+ (ternaryfunc)0, /*tp_call*/
+ (reprfunc)PySwigPacked_str, /*tp_str*/
+ /* Space for future expansion */
+ 0,0,0,0,
+ pyswigpacked_type__doc__, /* Documentation string */
+#if PY_VERSION_HEX >= 0x02000000
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+#endif
+#if PY_VERSION_HEX >= 0x02010000
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+#endif
+#if PY_VERSION_HEX >= 0x02020000
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
+#endif
+#if PY_VERSION_HEX >= 0x02030000
+ 0, /* tp_del */
+#endif
+#ifdef COUNT_ALLOCS
+ 0,0,0,0 /* tp_alloc -> tp_next */
+#endif
+ };
+#if !defined(__cplusplus)
+ pyswigpacked_type = tmp;
+ type_init = 1;
+ }
+#endif
+ return &pyswigpacked_type;
+}
+
+SWIGRUNTIME PyObject *
+PySwigPacked_FromDataAndDesc(void *ptr, size_t size, const char *desc)
+{
+ PySwigPacked *self = PyObject_NEW(PySwigPacked, PySwigPacked_type());
+ if (self == NULL) {
+ return NULL;
+ } else {
+ void *pack = malloc(size);
+ if (pack) {
+ memcpy(pack, ptr, size);
+ self->pack = pack;
+ self->desc = desc;
+ self->size = size;
+ return (PyObject *) self;
+ }
+ return NULL;
+ }
+}
+
+SWIGRUNTIMEINLINE const char *
+PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
+{
+ PySwigPacked *self = (PySwigPacked *)obj;
+ if (self->size != size) return 0;
+ memcpy(ptr, self->pack, size);
+ return self->desc;
+}
+
+SWIGRUNTIMEINLINE const char *
+PySwigPacked_GetDesc(PyObject *self)
+{
+ return ((PySwigPacked *)self)->desc;
+}
+
+SWIGRUNTIMEINLINE int
+PySwigPacked_Check(PyObject *op) {
+ return ((op)->ob_type == PySwigPacked_type())
+ || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0);
+}
+
+#else
+/* -----------------------------------------------------------------------------
+ * Use the old Python PyCObject instead of PySwigObject
+ * ----------------------------------------------------------------------------- */
+
+#define PySwigObject_GetDesc(obj) PyCObject_GetDesc(obj)
+#define PySwigObject_Check(obj) PyCObject_Check(obj)
+#define PySwigObject_AsVoidPtr(obj) PyCObject_AsVoidPtr(obj)
+#define PySwigObject_FromVoidPtrAndDesc(p, d) PyCObject_FromVoidPtrAndDesc(p, d, NULL)
+
+#endif
+
+#endif
+
+/* -----------------------------------------------------------------------------
+ * errors manipulation
+ * ----------------------------------------------------------------------------- */
+
+SWIGRUNTIME void
+SWIG_Python_TypeError(const char *type, PyObject *obj)
+{
+ if (type) {
+#if defined(SWIG_COBJECT_TYPES)
+ if (obj && PySwigObject_Check(obj)) {
+ const char *otype = (const char *) PySwigObject_GetDesc(obj);
+ if (otype) {
+ PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received",
+ type, otype);
+ return;
+ }
+ } else
+#endif
+ {
+ const char *otype = (obj ? obj->ob_type->tp_name : 0);
+ if (otype) {
+ PyObject *str = PyObject_Str(obj);
+ const char *cstr = str ? PyString_AsString(str) : 0;
+ if (cstr) {
+ PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
+ type, otype, cstr);
+ } else {
+ PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
+ type, otype);
+ }
+ Py_XDECREF(str);
+ return;
+ }
+ }
+ PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);
+ } else {
+ PyErr_Format(PyExc_TypeError, "unexpected type is received");
+ }
+}
+
+SWIGRUNTIMEINLINE void
+SWIG_Python_NullRef(const char *type)
+{
+ if (type) {
+ PyErr_Format(PyExc_TypeError, "null reference of type '%s' was received",type);
+ } else {
+ PyErr_Format(PyExc_TypeError, "null reference was received");
+ }
+}
+
+SWIGRUNTIME int
+SWIG_Python_AddErrMesg(const char* mesg, int infront)
+{
+ if (PyErr_Occurred()) {
+ PyObject *type = 0;
+ PyObject *value = 0;
+ PyObject *traceback = 0;
+ PyErr_Fetch(&type, &value, &traceback);
+ if (value) {
+ PyObject *old_str = PyObject_Str(value);
+ Py_XINCREF(type);
+ PyErr_Clear();
+ if (infront) {
+ PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str));
+ } else {
+ PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
+ }
+ Py_DECREF(old_str);
+ }
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+SWIGRUNTIME int
+SWIG_Python_ArgFail(int argnum)
+{
+ if (PyErr_Occurred()) {
+ /* add information about failing argument */
+ char mesg[256];
+ PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum);
+ return SWIG_Python_AddErrMesg(mesg, 1);
+ } else {
+ return 0;
+ }
+}
+
+
+/* -----------------------------------------------------------------------------
+ * pointers/data manipulation
+ * ----------------------------------------------------------------------------- */
+
+/* Convert a pointer value */
+SWIGRUNTIME int
+SWIG_Python_ConvertPtr(PyObject *obj, void **ptr, swig_type_info *ty, int flags) {
+ swig_cast_info *tc;
+ const char *c = 0;
+ static PyObject *SWIG_this = 0;
+ int newref = 0;
+ PyObject *pyobj = 0;
+ void *vptr;
+
+ if (!obj) return 0;
+ if (obj == Py_None) {
+ *ptr = 0;
+ return 0;
+ }
+
+#ifdef SWIG_COBJECT_TYPES
+ if (!(PySwigObject_Check(obj))) {
+ if (!SWIG_this)
+ SWIG_this = PyString_FromString("this");
+ pyobj = obj;
+ obj = PyObject_GetAttr(obj,SWIG_this);
+ newref = 1;
+ if (!obj) goto type_error;
+ if (!PySwigObject_Check(obj)) {
+ Py_DECREF(obj);
+ goto type_error;
+ }
+ }
+ vptr = PySwigObject_AsVoidPtr(obj);
+ c = (const char *) PySwigObject_GetDesc(obj);
+ if (newref) { Py_DECREF(obj); }
+ goto type_check;
+#else
+ if (!(PyString_Check(obj))) {
+ if (!SWIG_this)
+ SWIG_this = PyString_FromString("this");
+ pyobj = obj;
+ obj = PyObject_GetAttr(obj,SWIG_this);
+ newref = 1;
+ if (!obj) goto type_error;
+ if (!PyString_Check(obj)) {
+ Py_DECREF(obj);
+ goto type_error;
+ }
+ }
+ c = PyString_AS_STRING(obj);
+ /* Pointer values must start with leading underscore */
+ c = SWIG_UnpackVoidPtr(c, &vptr, ty->name);
+ if (newref) { Py_DECREF(obj); }
+ if (!c) goto type_error;
+#endif
+
+type_check:
+ if (ty) {
+ tc = SWIG_TypeCheck(c,ty);
+ if (!tc) goto type_error;
+ *ptr = SWIG_TypeCast(tc,vptr);
+ } else {
+ *ptr = vptr;
+ }
+ if ((pyobj) && (flags & SWIG_POINTER_DISOWN)) {
+ PyObject_SetAttrString(pyobj,(char*)"thisown",Py_False);
+ }
+ return 0;
+
+type_error:
+ PyErr_Clear();
+ if (pyobj && !obj) {
+ obj = pyobj;
+ if (PyCFunction_Check(obj)) {
+ /* here we get the method pointer for callbacks */
+ char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+ c = doc ? strstr(doc, "swig_ptr: ") : 0;
+ if (c) {
+ c = ty ? SWIG_UnpackVoidPtr(c + 10, &vptr, ty->name) : 0;
+ if (!c) goto type_error;
+ goto type_check;
+ }
+ }
+ }
+ if (flags & SWIG_POINTER_EXCEPTION) {
+ if (ty) {
+ SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
+ } else {
+ SWIG_Python_TypeError("C/C++ pointer", obj);
+ }
+ }
+ return -1;
+}
+
+/* Convert a pointer value, signal an exception on a type mismatch */
+SWIGRUNTIME void *
+SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) {
+ void *result;
+ if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {
+ PyErr_Clear();
+ if (flags & SWIG_POINTER_EXCEPTION) {
+ SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
+ SWIG_Python_ArgFail(argnum);
+ }
+ }
+ return result;
+}
+
+/* Convert a packed value value */
+SWIGRUNTIME int
+SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty, int flags) {
+ swig_cast_info *tc;
+ const char *c = 0;
+
+#if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON)
+ c = PySwigPacked_UnpackData(obj, ptr, sz);
+#else
+ if ((!obj) || (!PyString_Check(obj))) goto type_error;
+ c = PyString_AS_STRING(obj);
+ /* Pointer values must start with leading underscore */
+ c = SWIG_UnpackDataName(c, ptr, sz, ty->name);
+#endif
+ if (!c) goto type_error;
+ if (ty) {
+ tc = SWIG_TypeCheck(c,ty);
+ if (!tc) goto type_error;
+ }
+ return 0;
+
+type_error:
+ PyErr_Clear();
+ if (flags & SWIG_POINTER_EXCEPTION) {
+ if (ty) {
+ SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
+ } else {
+ SWIG_Python_TypeError("C/C++ packed data", obj);
+ }
+ }
+ return -1;
+}
+
+/* Create a new array object */
+SWIGRUNTIME PyObject *
+SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int own) {
+ PyObject *robj = 0;
+ if (!type) {
+ if (!PyErr_Occurred()) {
+ PyErr_Format(PyExc_TypeError, "Swig: null type passed to NewPointerObj");
+ }
+ return robj;
+ }
+ if (!ptr) {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+#ifdef SWIG_COBJECT_TYPES
+ robj = PySwigObject_FromVoidPtrAndDesc((void *) ptr, (char *)type->name);
+#else
+ {
+ char result[SWIG_BUFFER_SIZE];
+ robj = SWIG_PackVoidPtr(result, ptr, type->name, sizeof(result)) ?
+ PyString_FromString(result) : 0;
+ }
+#endif
+ if (!robj || (robj == Py_None)) return robj;
+ if (type->clientdata) {
+ PyObject *inst;
+ PyObject *args = Py_BuildValue((char*)"(O)", robj);
+ Py_DECREF(robj);
+ inst = PyObject_CallObject((PyObject *) type->clientdata, args);
+ Py_DECREF(args);
+ if (inst) {
+ if (own) {
+ PyObject_SetAttrString(inst,(char*)"thisown",Py_True);
+ }
+ robj = inst;
+ }
+ }
+ return robj;
+}
+
+SWIGRUNTIME PyObject *
+SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
+ PyObject *robj = 0;
+ if (!ptr) {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+#if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON)
+ robj = PySwigPacked_FromDataAndDesc((void *) ptr, sz, (char *)type->name);
+#else
+ {
+ char result[SWIG_BUFFER_SIZE];
+ robj = SWIG_PackDataName(result, ptr, sz, type->name, sizeof(result)) ?
+ PyString_FromString(result) : 0;
+ }
+#endif
+ return robj;
+}
+
+/* -----------------------------------------------------------------------------*
+ * Get type list
+ * -----------------------------------------------------------------------------*/
+
+#ifdef SWIG_LINK_RUNTIME
+void *SWIG_ReturnGlobalTypeList(void *);
+#endif
+
+SWIGRUNTIME swig_module_info *
+SWIG_Python_GetModule(void) {
+ static void *type_pointer = (void *)0;
+ /* first check if module already created */
+ if (!type_pointer) {
+#ifdef SWIG_LINK_RUNTIME
+ type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
+#else
+ type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
+ (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);
+ if (PyErr_Occurred()) {
+ PyErr_Clear();
+ type_pointer = (void *)0;
+ }
+ }
+#endif
+ return (swig_module_info *) type_pointer;
+}
+
+SWIGRUNTIME void
+SWIG_Python_SetModule(swig_module_info *swig_module) {
+ static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */
+
+ PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
+ swig_empty_runtime_method_table);
+ PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, NULL);
+ if (pointer && module) {
+ PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
+ }
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+#define SWIGTYPE_p_DayTimeException swig_types[0]
+#define SWIGTYPE_p_EndOfFile swig_types[1]
+#define SWIGTYPE_p_ExtraWaveFact swig_types[2]
+#define SWIGTYPE_p_FFStreamError swig_types[3]
+#define SWIGTYPE_p_FileSpec swig_types[4]
+#define SWIGTYPE_p_FileSpec__FileSpecSortType swig_types[5]
+#define SWIGTYPE_p_FileSpec__FileSpecType swig_types[6]
+#define SWIGTYPE_p_FilterPair swig_types[7]
+#define SWIGTYPE_p_FormatException swig_types[8]
+#define SWIGTYPE_p_InvalidIonoModel swig_types[9]
+#define SWIGTYPE_p_InvalidTropModel swig_types[10]
+#define SWIGTYPE_p_MatrixTdouble_t swig_types[11]
+#define SWIGTYPE_p_NoAlmanacFound swig_types[12]
+#define SWIGTYPE_p_NoEphemerisFound swig_types[13]
+#define SWIGTYPE_p_NoIonoModelFound swig_types[14]
+#define SWIGTYPE_p_ORDMap swig_types[15]
+#define SWIGTYPE_p_PRNModeMap swig_types[16]
+#define SWIGTYPE_p_PRNStatusMap swig_types[17]
+#define SWIGTYPE_p_RinexDatum swig_types[18]
+#define SWIGTYPE_p_RinexMetMap swig_types[19]
+#define SWIGTYPE_p_RinexMetType swig_types[20]
+#define SWIGTYPE_p_RinexObsType swig_types[21]
+#define SWIGTYPE_p_RinexObsTypeMap swig_types[22]
+#define SWIGTYPE_p_RinexPrnMap swig_types[23]
+#define SWIGTYPE_p_SVBitsMap swig_types[24]
+#define SWIGTYPE_p_SVNotPresentException swig_types[25]
+#define SWIGTYPE_p_StatsTdouble_t swig_types[26]
+#define SWIGTYPE_p_StringUtils__StringException swig_types[27]
+#define SWIGTYPE_p_VectorTbool_t swig_types[28]
+#define SWIGTYPE_p_VectorTdouble_t swig_types[29]
+#define SWIGTYPE_p_allocator_type swig_types[30]
+#define SWIGTYPE_p_bool swig_types[31]
+#define SWIGTYPE_p_char swig_types[32]
+#define SWIGTYPE_p_char_type swig_types[33]
+#define SWIGTYPE_p_codeType swig_types[34]
+#define SWIGTYPE_p_difference_type swig_types[35]
+#define SWIGTYPE_p_double swig_types[36]
+#define SWIGTYPE_p_f_enum_std__ios_base__event_r_std__ios_base_int__void swig_types[37]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t swig_types[38]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError swig_types[39]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t swig_types[40]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter swig_types[41]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory swig_types[42]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber swig_types[43]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t swig_types[44]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t swig_types[45]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue swig_types[46]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat swig_types[47]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound swig_types[48]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException swig_types[49]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException swig_types[50]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException swig_types[51]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException swig_types[52]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException swig_types[53]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException swig_types[54]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception swig_types[55]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException swig_types[56]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException swig_types[57]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException swig_types[58]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException swig_types[59]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException swig_types[60]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException swig_types[61]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest swig_types[62]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure swig_types[63]
+#define SWIGTYPE_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t swig_types[64]
+#define SWIGTYPE_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t swig_types[65]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t swig_types[66]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError swig_types[67]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t swig_types[68]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter swig_types[69]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory swig_types[70]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber swig_types[71]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue swig_types[72]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat swig_types[73]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound swig_types[74]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException swig_types[75]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException swig_types[76]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException swig_types[77]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException swig_types[78]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException swig_types[79]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException swig_types[80]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException swig_types[81]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception swig_types[82]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException swig_types[83]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException swig_types[84]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException swig_types[85]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException swig_types[86]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException swig_types[87]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest swig_types[88]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure swig_types[89]
+#define SWIGTYPE_p_f_r_std__ios_base__r_std__ios_base swig_types[90]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__AccessError swig_types[91]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__InvalidParameter swig_types[92]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__WrongBlockNumber swig_types[93]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__OutOfMemory swig_types[94]
+#define SWIGTYPE_p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t swig_types[95]
+#define SWIGTYPE_p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t swig_types[96]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException swig_types[97]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__WrongBlockFormat swig_types[98]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__ConfigurationException swig_types[99]
+#define SWIGTYPE_p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t swig_types[100]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__InvalidValue swig_types[101]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__ObjectNotFound swig_types[102]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__Exception swig_types[103]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__SystemPipeException swig_types[104]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__FileHunterException swig_types[105]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__GeometryException swig_types[106]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__NoGeoidException swig_types[107]
+#define SWIGTYPE_p_f_r_std__ios_base__r_DayTimeException swig_types[108]
+#define SWIGTYPE_p_f_r_std__ios_base__r_FormatException swig_types[109]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException swig_types[110]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__InvalidRequest swig_types[111]
+#define SWIGTYPE_p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t swig_types[112]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__InvalidArgumentException swig_types[113]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__FileMissingException swig_types[114]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__SystemQueueException swig_types[115]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__AssertionFailure swig_types[116]
+#define SWIGTYPE_p_first_type swig_types[117]
+#define SWIGTYPE_p_float swig_types[118]
+#define SWIGTYPE_p_fmtflags swig_types[119]
+#define SWIGTYPE_p_gpstk__AccessError swig_types[120]
+#define SWIGTYPE_p_gpstk__AlmOrbit swig_types[121]
+#define SWIGTYPE_p_gpstk__AlmanacStore swig_types[122]
+#define SWIGTYPE_p_gpstk__AssertionFailure swig_types[123]
+#define SWIGTYPE_p_gpstk__BCEphemerisStore swig_types[124]
+#define SWIGTYPE_p_gpstk__ClockModel swig_types[125]
+#define SWIGTYPE_p_gpstk__CodeBuffer swig_types[126]
+#define SWIGTYPE_p_gpstk__ConfigurationException swig_types[127]
+#define SWIGTYPE_p_gpstk__CorrectedEphemerisRange swig_types[128]
+#define SWIGTYPE_p_gpstk__DayTime swig_types[129]
+#define SWIGTYPE_p_gpstk__ECEF swig_types[130]
+#define SWIGTYPE_p_gpstk__EngAlmanac swig_types[131]
+#define SWIGTYPE_p_gpstk__EngEphemeris swig_types[132]
+#define SWIGTYPE_p_gpstk__EngNav swig_types[133]
+#define SWIGTYPE_p_gpstk__EphemerisStore swig_types[134]
+#define SWIGTYPE_p_gpstk__EpochClockModel swig_types[135]
+#define SWIGTYPE_p_gpstk__Exception swig_types[136]
+#define SWIGTYPE_p_gpstk__ExceptionLocation swig_types[137]
+#define SWIGTYPE_p_gpstk__FFBinaryStream swig_types[138]
+#define SWIGTYPE_p_gpstk__FFData swig_types[139]
+#define SWIGTYPE_p_gpstk__FFStream swig_types[140]
+#define SWIGTYPE_p_gpstk__FFTextStream swig_types[141]
+#define SWIGTYPE_p_gpstk__FICAStream swig_types[142]
+#define SWIGTYPE_p_gpstk__FICBase swig_types[143]
+#define SWIGTYPE_p_gpstk__FICData swig_types[144]
+#define SWIGTYPE_p_gpstk__FICHeader swig_types[145]
+#define SWIGTYPE_p_gpstk__FICStream swig_types[146]
+#define SWIGTYPE_p_gpstk__FICStreamBase swig_types[147]
+#define SWIGTYPE_p_gpstk__FileHunter swig_types[148]
+#define SWIGTYPE_p_gpstk__FileHunterException swig_types[149]
+#define SWIGTYPE_p_gpstk__FileMissingException swig_types[150]
+#define SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t swig_types[151]
+#define SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t swig_types[152]
+#define SWIGTYPE_p_gpstk__GGHeightTropModel swig_types[153]
+#define SWIGTYPE_p_gpstk__GGTropModel swig_types[154]
+#define SWIGTYPE_p_gpstk__GPSZcount swig_types[155]
+#define SWIGTYPE_p_gpstk__GenXSequence swig_types[156]
+#define SWIGTYPE_p_gpstk__Geodetic swig_types[157]
+#define SWIGTYPE_p_gpstk__GeoidModel swig_types[158]
+#define SWIGTYPE_p_gpstk__GeometryException swig_types[159]
+#define SWIGTYPE_p_gpstk__IndexOutOfBoundsException swig_types[160]
+#define SWIGTYPE_p_gpstk__InvalidArgumentException swig_types[161]
+#define SWIGTYPE_p_gpstk__InvalidParameter swig_types[162]
+#define SWIGTYPE_p_gpstk__InvalidRequest swig_types[163]
+#define SWIGTYPE_p_gpstk__InvalidValue swig_types[164]
+#define SWIGTYPE_p_gpstk__IonoModel swig_types[165]
+#define SWIGTYPE_p_gpstk__IonoModelStore swig_types[166]
+#define SWIGTYPE_p_gpstk__LinearClockModel swig_types[167]
+#define SWIGTYPE_p_gpstk__MSCStream swig_types[168]
+#define SWIGTYPE_p_gpstk__MatrixTdouble_t swig_types[169]
+#define SWIGTYPE_p_gpstk__NBTropModel swig_types[170]
+#define SWIGTYPE_p_gpstk__NoGeoidException swig_types[171]
+#define SWIGTYPE_p_gpstk__ORDEpoch swig_types[172]
+#define SWIGTYPE_p_gpstk__ObjectNotFound swig_types[173]
+#define SWIGTYPE_p_gpstk__ObsClockModel swig_types[174]
+#define SWIGTYPE_p_gpstk__ObsEpoch swig_types[175]
+#define SWIGTYPE_p_gpstk__ObsRngDev swig_types[176]
+#define SWIGTYPE_p_gpstk__Observation swig_types[177]
+#define SWIGTYPE_p_gpstk__ObservationPlus swig_types[178]
+#define SWIGTYPE_p_gpstk__OutOfMemory swig_types[179]
+#define SWIGTYPE_p_gpstk__Position swig_types[180]
+#define SWIGTYPE_p_gpstk__RAIMSolution swig_types[181]
+#define SWIGTYPE_p_gpstk__RinexEphemerisStore swig_types[182]
+#define SWIGTYPE_p_gpstk__RinexMetBase swig_types[183]
+#define SWIGTYPE_p_gpstk__RinexMetData swig_types[184]
+#define SWIGTYPE_p_gpstk__RinexMetHeader swig_types[185]
+#define SWIGTYPE_p_gpstk__RinexMetStream swig_types[186]
+#define SWIGTYPE_p_gpstk__RinexNavBase swig_types[187]
+#define SWIGTYPE_p_gpstk__RinexNavData swig_types[188]
+#define SWIGTYPE_p_gpstk__RinexNavHeader swig_types[189]
+#define SWIGTYPE_p_gpstk__RinexNavStream swig_types[190]
+#define SWIGTYPE_p_gpstk__RinexObsBase swig_types[191]
+#define SWIGTYPE_p_gpstk__RinexObsData swig_types[192]
+#define SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator swig_types[193]
+#define SWIGTYPE_p_gpstk__RinexObsHeader swig_types[194]
+#define SWIGTYPE_p_gpstk__RinexObsStream swig_types[195]
+#define SWIGTYPE_p_gpstk__RinexPrn swig_types[196]
+#define SWIGTYPE_p_gpstk__RungeKutta4 swig_types[197]
+#define SWIGTYPE_p_gpstk__RxObsData swig_types[198]
+#define SWIGTYPE_p_gpstk__SMODFStream swig_types[199]
+#define SWIGTYPE_p_gpstk__SP3Base swig_types[200]
+#define SWIGTYPE_p_gpstk__SP3Data swig_types[201]
+#define SWIGTYPE_p_gpstk__SP3EphemerisStore swig_types[202]
+#define SWIGTYPE_p_gpstk__SP3Header swig_types[203]
+#define SWIGTYPE_p_gpstk__SP3Stream swig_types[204]
+#define SWIGTYPE_p_gpstk__SVPCodeGen swig_types[205]
+#define SWIGTYPE_p_gpstk__SatID swig_types[206]
+#define SWIGTYPE_p_gpstk__SimpleTropModel swig_types[207]
+#define SWIGTYPE_p_gpstk__StringUtils__StringException swig_types[208]
+#define SWIGTYPE_p_gpstk__SystemPipeException swig_types[209]
+#define SWIGTYPE_p_gpstk__SystemQueueException swig_types[210]
+#define SWIGTYPE_p_gpstk__SystemSemaphoreException swig_types[211]
+#define SWIGTYPE_p_gpstk__TabularEphemerisStore swig_types[212]
+#define SWIGTYPE_p_gpstk__Triple swig_types[213]
+#define SWIGTYPE_p_gpstk__TropModel swig_types[214]
+#define SWIGTYPE_p_gpstk__ValidTypeTchar_t swig_types[215]
+#define SWIGTYPE_p_gpstk__ValidTypeTdouble_t swig_types[216]
+#define SWIGTYPE_p_gpstk__ValidTypeTfloat_t swig_types[217]
+#define SWIGTYPE_p_gpstk__ValidTypeTint_t swig_types[218]
+#define SWIGTYPE_p_gpstk__ValidTypeTlong_t swig_types[219]
+#define SWIGTYPE_p_gpstk__ValidTypeTshort_t swig_types[220]
+#define SWIGTYPE_p_gpstk__ValidTypeTunsigned_char_t swig_types[221]
+#define SWIGTYPE_p_gpstk__ValidTypeTunsigned_int_t swig_types[222]
+#define SWIGTYPE_p_gpstk__ValidTypeTunsigned_long_t swig_types[223]
+#define SWIGTYPE_p_gpstk__ValidTypeTunsigned_short_t swig_types[224]
+#define SWIGTYPE_p_gpstk__WrongBlockFormat swig_types[225]
+#define SWIGTYPE_p_gpstk__WrongBlockNumber swig_types[226]
+#define SWIGTYPE_p_gpstk__WxObsData swig_types[227]
+#define SWIGTYPE_p_gpstk__WxObservation swig_types[228]
+#define SWIGTYPE_p_gpstk__X1Sequence swig_types[229]
+#define SWIGTYPE_p_gpstk__X2Sequence swig_types[230]
+#define SWIGTYPE_p_gpstk__Xvt swig_types[231]
+#define SWIGTYPE_p_gpstk__ZeroTropModel swig_types[232]
+#define SWIGTYPE_p_int swig_types[233]
+#define SWIGTYPE_p_int_type swig_types[234]
+#define SWIGTYPE_p_iostate swig_types[235]
+#define SWIGTYPE_p_key_type swig_types[236]
+#define SWIGTYPE_p_long swig_types[237]
+#define SWIGTYPE_p_long_double swig_types[238]
+#define SWIGTYPE_p_long_long swig_types[239]
+#define SWIGTYPE_p_mapped_type swig_types[240]
+#define SWIGTYPE_p_off_type swig_types[241]
+#define SWIGTYPE_p_openmode swig_types[242]
+#define SWIGTYPE_p_p_void swig_types[243]
+#define SWIGTYPE_p_pos_type swig_types[244]
+#define SWIGTYPE_p_second_type swig_types[245]
+#define SWIGTYPE_p_seekdir swig_types[246]
+#define SWIGTYPE_p_sensorPosType swig_types[247]
+#define SWIGTYPE_p_sensorType swig_types[248]
+#define SWIGTYPE_p_short swig_types[249]
+#define SWIGTYPE_p_size_t swig_types[250]
+#define SWIGTYPE_p_size_type swig_types[251]
+#define SWIGTYPE_p_state_type swig_types[252]
+#define SWIGTYPE_p_std__bad_exception swig_types[253]
+#define SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t swig_types[254]
+#define SWIGTYPE_p_std__basic_iostreamTchar_std__char_traitsTchar_t_t swig_types[255]
+#define SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t swig_types[256]
+#define SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type swig_types[257]
+#define SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type swig_types[258]
+#define SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type swig_types[259]
+#define SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t swig_types[260]
+#define SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type swig_types[261]
+#define SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type swig_types[262]
+#define SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t swig_types[263]
+#define SWIGTYPE_p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t swig_types[264]
+#define SWIGTYPE_p_std__domain_error swig_types[265]
+#define SWIGTYPE_p_std__exception swig_types[266]
+#define SWIGTYPE_p_std__invalid_argument swig_types[267]
+#define SWIGTYPE_p_std__ios__openmode swig_types[268]
+#define SWIGTYPE_p_std__ios_base swig_types[269]
+#define SWIGTYPE_p_std__length_error swig_types[270]
+#define SWIGTYPE_p_std__listTdouble_t swig_types[271]
+#define SWIGTYPE_p_std__listTgpstk__EngEphemeris_t swig_types[272]
+#define SWIGTYPE_p_std__locale swig_types[273]
+#define SWIGTYPE_p_std__logic_error swig_types[274]
+#define SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t swig_types[275]
+#define SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type swig_types[276]
+#define SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type swig_types[277]
+#define SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type swig_types[278]
+#define SWIGTYPE_p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t swig_types[279]
+#define SWIGTYPE_p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t swig_types[280]
+#define SWIGTYPE_p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t swig_types[281]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type swig_types[282]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type swig_types[283]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t swig_types[284]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type swig_types[285]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type swig_types[286]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t swig_types[287]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t swig_types[288]
+#define SWIGTYPE_p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t swig_types[289]
+#define SWIGTYPE_p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t swig_types[290]
+#define SWIGTYPE_p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t swig_types[291]
+#define SWIGTYPE_p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t swig_types[292]
+#define SWIGTYPE_p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t swig_types[293]
+#define SWIGTYPE_p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t swig_types[294]
+#define SWIGTYPE_p_std__out_of_range swig_types[295]
+#define SWIGTYPE_p_std__overflow_error swig_types[296]
+#define SWIGTYPE_p_std__range_error swig_types[297]
+#define SWIGTYPE_p_std__runtime_error swig_types[298]
+#define SWIGTYPE_p_std__setTshort_t swig_types[299]
+#define SWIGTYPE_p_std__string swig_types[300]
+#define SWIGTYPE_p_std__underflow_error swig_types[301]
+#define SWIGTYPE_p_std__valarrayTdouble_t swig_types[302]
+#define SWIGTYPE_p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t swig_types[303]
+#define SWIGTYPE_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t swig_types[304]
+#define SWIGTYPE_p_std__vectorTchar_std__allocatorTchar_t_t swig_types[305]
+#define SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t swig_types[306]
+#define SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type swig_types[307]
+#define SWIGTYPE_p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t swig_types[308]
+#define SWIGTYPE_p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t swig_types[309]
+#define SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t swig_types[310]
+#define SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t__allocator_type swig_types[311]
+#define SWIGTYPE_p_std__vectorTlong_std__allocatorTlong_t_t swig_types[312]
+#define SWIGTYPE_p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t swig_types[313]
+#define SWIGTYPE_p_std__vectorTsensorType_std__allocatorTsensorType_t_t swig_types[314]
+#define SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t swig_types[315]
+#define SWIGTYPE_p_time_t swig_types[316]
+#define SWIGTYPE_p_timeval swig_types[317]
+#define SWIGTYPE_p_traits_type swig_types[318]
+#define SWIGTYPE_p_unsigned_int swig_types[319]
+#define SWIGTYPE_p_unsigned_long swig_types[320]
+#define SWIGTYPE_p_unsigned_long_long swig_types[321]
+#define SWIGTYPE_p_unsigned_short swig_types[322]
+#define SWIGTYPE_p_value_type swig_types[323]
+#define SWIGTYPE_ptrdiff_t swig_types[324]
+#define SWIGTYPE_size_t swig_types[325]
+#define SWIGTYPE_std__ptrdiff_t swig_types[326]
+#define SWIGTYPE_std__size_t swig_types[327]
+static swig_type_info *swig_types[328];
+static swig_module_info swig_module = {swig_types, 328, 0, 0, 0, 0};
+#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
+#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
+
+/* -------- TYPES TABLE (END) -------- */
+
+
+/*-----------------------------------------------
+ @(target):= _gpstkPython.so
+ ------------------------------------------------*/
+#define SWIG_init init_gpstkPython
+
+#define SWIG_name "_gpstkPython"
+
+#include <iostream>
+#include <fstream>
+#include <valarray>
+#include <string>
+#include <map>
+#include <ios>
+
+#include "../../../src/DayTime.hpp"
+#include "../../../src/FFStream.hpp"
+#include "../../../src/RinexObsBase.hpp"
+#include "../../../src/Triple.hpp"
+#include "../../../src/RinexObsHeader.hpp"
+#include "../../../src/Exception.hpp"
+#include "../../../src/GPSZcount.hpp"
+#include "../../../src/RinexObsStream.hpp"
+#include "../../../src/ECEF.hpp"
+#include "../../../src/Geodetic.hpp"
+#include "../../../src/geometry.hpp"
+#include "../../../src/Xvt.hpp"
+#include "../../../src/RinexObsData.hpp"
+#include "../../../src/Position.hpp"
+#include "../../../src/RAIMSolution.hpp"
+#include "../../../src/AlmanacStore.hpp"
+#include "../../../src/AlmOrbit.hpp"
+#include "../../../src/ValidType.hpp"
+#include "../../../src/X1Sequence.hpp"
+// mergePCodeWords.h must be present in directory for X2Sequence
+#include "../../../src/X2Sequence.hpp"
+#include "../../../src/CodeBuffer.hpp"
+#include "../../../src/SatID.hpp"
+#include "../../../src/GenXSequence.hpp"
+#include "../../../src/SVPCodeGen.hpp"
+#include "../../../src/EphemerisRange.hpp"
+#include "../../../src/EngEphemeris.hpp"
+#include "../../../src/EngAlmanac.hpp"
+#include "../../../src/EngNav.hpp"
+#include "../../../src/ObservationStore.hpp"
+#include "../../../src/IonoModel.hpp"
+#include "../../../src/IonoModelStore.hpp"
+#include "../../../src/TropModel.hpp"
+#include "../../../src/ClockModel.hpp"
+#include "../../../src/ObsClockModel.hpp"
+#include "../../../src/EpochClockModel.hpp"
+#include "../../../src/LinearClockModel.hpp"
+#include "../../../src/ObsRngDev.hpp"
+#include "../../../src/ORDEpoch.hpp"
+#include "../../../src/RungeKutta4.hpp"
+#include "../../../src/Stats.hpp"
+#include "../../../src/RinexEphemerisStore.hpp"
+#include "../../../src/SP3EphemerisStore.hpp"
+#include "../../../src/FileHunter.hpp"
+//#include "../../../src/FileStore.hpp"
+#include "../../../src/RinexNavHeader.hpp"
+//#include "../../../src/TabularEphemerisStore.hpp"
+//#include "../../../src/EphemerisStore.hpp"
+#include "../../../src/BCEphemerisStore.hpp"
+#include "../../../src/SP3Header.hpp"
+//#include "../../../src/SP3Base.hpp"
+//#include "../../../src/RinexNavBase.hpp"
+#include "../../../src/FFData.hpp"
+#include "../../../src/FICStream.hpp"
+#include "../../../src/FICAStream.hpp"
+#include "../../../src/MSCStream.hpp"
+#include "../../../src/RinexMetStream.hpp"
+#include "../../../src/RinexNavStream.hpp"
+#include "../../../src/SMODFStream.hpp"
+#include "../../../src/SP3Stream.hpp"
+#include "../../../src/FFTextStream.hpp"
+
+#include "../../../src/FICData.hpp"
+#include "../../../src/FICHeader.hpp"
+#include "../../../src/RinexMetData.hpp"
+#include "../../../src/RinexMetHeader.hpp"
+#include "../../../src/RinexNavData.hpp"
+#include "../../../src/SP3Data.hpp"
+#include "../../../src/icd_200_constants.hpp"
+
+#include "gpstkPythonUtils.cpp"
+#include "streamRead.cpp"
+
+using namespace std;
+using namespace gpstk;
+
+// RinexObsType and ExtraWaveFact are defined under scope of RinexObsHeader
+// SWIG doesn't support nested C++ structs so the wrap file will call
+// RinexObsType in global space
+// This is to define RinexObsType and ExtraWaveFact in the global space
+typedef RinexObsHeader::RinexObsType RinexObsType;
+typedef RinexObsHeader::ExtraWaveFact ExtraWaveFact;
+
+// Same technique for nested classes in DayTime.hpp
+typedef DayTime::DayTimeException DayTimeException;
+typedef DayTime::FormatException FormatException;
+
+typedef RinexObsData::RinexDatum RinexDatum;
+
+// Originally from gpstkPython2.i
+typedef AlmanacStore::NoAlmanacFound NoAlmanacFound;
+typedef EngAlmanac::SVNotPresentException SVNotPresentException;
+typedef TropModel::InvalidTropModel InvalidTropModel;
+typedef IonoModelStore::NoIonoModelFound NoIonoModelFound;
+typedef IonoModel::InvalidIonoModel InvalidIonoModel;
+
+typedef RinexMetHeader::RinexMetType RinexMetType;
+typedef RinexMetHeader::sensorType sensorType;
+typedef RinexMetHeader::sensorPosType sensorPosType;
+typedef EphemerisStore::NoEphemerisFound NoEphemerisFound;
+typedef RinexObsData::RinexPrnMap RinexPrnMap;
+
+
+
+#if defined(__SUNPRO_CC)
+#define SWIG_STD_NOASSIGN_STL
+#define SWIG_STD_NOINSERT_TEMPLATE_STL
+#endif
+
+
+
+#include <string>
+#include <stdexcept>
+
+
+#include <utility>
+
+
+#include <iostream>
+
+
+#if PY_VERSION_HEX < 0x02000000
+#define PySequence_Size PySequence_Length
+#endif
+#include <stdexcept>
+
+
+#define SWIG_MemoryError 1
+#define SWIG_IOError 2
+#define SWIG_RuntimeError 3
+#define SWIG_IndexError 4
+#define SWIG_TypeError 5
+#define SWIG_DivisionByZero 6
+#define SWIG_OverflowError 7
+#define SWIG_SyntaxError 8
+#define SWIG_ValueError 9
+#define SWIG_SystemError 10
+#define SWIG_UnknownError 99
+
+
+SWIGINTERN void SWIG_exception_(int code, const char *msg) {
+ switch(code) {
+ case SWIG_MemoryError:
+ PyErr_SetString(PyExc_MemoryError,msg);
+ break;
+ case SWIG_IOError:
+ PyErr_SetString(PyExc_IOError,msg);
+ break;
+ case SWIG_RuntimeError:
+ PyErr_SetString(PyExc_RuntimeError,msg);
+ break;
+ case SWIG_IndexError:
+ PyErr_SetString(PyExc_IndexError,msg);
+ break;
+ case SWIG_TypeError:
+ PyErr_SetString(PyExc_TypeError,msg);
+ break;
+ case SWIG_DivisionByZero:
+ PyErr_SetString(PyExc_ZeroDivisionError,msg);
+ break;
+ case SWIG_OverflowError:
+ PyErr_SetString(PyExc_OverflowError,msg);
+ break;
+ case SWIG_SyntaxError:
+ PyErr_SetString(PyExc_SyntaxError,msg);
+ break;
+ case SWIG_ValueError:
+ PyErr_SetString(PyExc_ValueError,msg);
+ break;
+ case SWIG_SystemError:
+ PyErr_SetString(PyExc_SystemError,msg);
+ break;
+ default:
+ PyErr_SetString(PyExc_RuntimeError,msg);
+ break;
+ }
+}
+
+#define SWIG_exception(a,b) { SWIG_exception_(a,b); SWIG_fail; }
+
+
+#include <stdexcept>
+
+
+#include <algorithm>
+
+
+#include <map>
+#include <algorithm>
+#include <stdexcept>
+
+
+#include <string>
+
+
+#include <vector>
+
+
+#include <limits.h>
+
+
+SWIGINTERN int
+ SWIG_CheckLongInRange(long value, long min_value, long max_value,
+ const char *errmsg)
+{
+ if (value < min_value) {
+ if (errmsg) {
+ PyErr_Format(PyExc_OverflowError,
+ "value %ld is less than '%s' minimum %ld",
+ value, errmsg, min_value);
+ }
+ return 0;
+ } else if (value > max_value) {
+ if (errmsg) {
+ PyErr_Format(PyExc_OverflowError,
+ "value %ld is greater than '%s' maximum %ld",
+ value, errmsg, max_value);
+ }
+ return 0;
+ }
+ return 1;
+}
+
+
+SWIGINTERN int
+ SWIG_AsVal_long(PyObject * obj, long* val)
+{
+ if (PyInt_Check(obj)) {
+ if (val) *val = PyInt_AS_LONG(obj);
+ return 1;
+ }
+ if (PyLong_Check(obj)) {
+ long v = PyLong_AsLong(obj);
+ if (!PyErr_Occurred()) {
+ if (val) *val = v;
+ return 1;
+ } else {
+ if (!val) PyErr_Clear();
+ return 0;
+ }
+ }
+ if (val) {
+ SWIG_type_error("long", obj);
+ }
+ return 0;
+ }
+
+
+#if INT_MAX != LONG_MAX
+SWIGINTERN int
+ SWIG_AsVal_int(PyObject *obj, int *val)
+{
+ const char* errmsg = val ? "int" : (char*)0;
+ long v;
+ if (SWIG_AsVal_long(obj, &v)) {
+ if (SWIG_CheckLongInRange(v, INT_MIN,INT_MAX, errmsg)) {
+ if (val) *val = (int)(v);
+ return 1;
+ } else {
+ return 0;
+ }
+ } else {
+ PyErr_Clear();
+ }
+ if (val) {
+ SWIG_type_error(errmsg, obj);
+ }
+ return 0;
+}
+#else
+SWIGINTERNINLINE int
+ SWIG_AsVal_int(PyObject *obj, int *val)
+{
+ return SWIG_AsVal_long(obj,(long*)val);
+}
+#endif
+
+
+ /*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_int PyInt_FromLong
+/*@@*/
+
+
+namespace swig {
+ template <class Type>
+ struct noconst_traits {
+ typedef Type noconst_type;
+ };
+
+ template <class Type>
+ struct noconst_traits<const Type> {
+ typedef Type noconst_type;
+ };
+
+ /*
+ type categories
+ */
+ struct pointer_category { };
+ struct value_category { };
+
+ /*
+ General traits that provides type_name and type_info
+ */
+ template <class Type> struct traits { };
+
+ template <class Type>
+ inline const char* type_name() {
+ return traits<typename noconst_traits<Type >::noconst_type >::type_name();
+ }
+
+ template <class Type>
+ struct traits_info {
+ static swig_type_info *type_query(std::string name) {
+ name += " *";
+ return SWIG_TypeQuery(name.c_str());
+ }
+ static swig_type_info *type_info() {
+ static swig_type_info *info = type_query(type_name<Type>());
+ return info;
+ }
+ };
+
+ template <class Type>
+ inline swig_type_info *type_info() {
+ return traits_info<Type>::type_info();
+ }
+
+ /*
+ Partial specialization for pointers
+ */
+ template <class Type> struct traits <Type *> {
+ typedef pointer_category category;
+ static std::string make_ptr_name(const char* name) {
+ std::string ptrname = name;
+ ptrname += " *";
+ return ptrname;
+ }
+ static const char* type_name() {
+ static std::string name = make_ptr_name(swig::type_name<Type>());
+ return name.c_str();
+ }
+ };
+
+ template <class Type, class Category>
+ struct traits_as { };
+
+ template <class Type, class Category>
+ struct traits_check { };
+
+}
+
+
+namespace swig {
+ /*
+ Traits that provides the from method
+ */
+ template <class Type> struct traits_from_ptr {
+ static PyObject *from(Type *val, int owner = 0) {
+ return SWIG_NewPointerObj(val, type_info<Type>(), owner);
+ }
+ };
+
+ template <class Type> struct traits_from {
+ static PyObject *from(const Type& val) {
+ return traits_from_ptr<Type>::from(new Type(val), 1);
+ }
+ };
+
+ template <class Type> struct traits_from<Type *> {
+ static PyObject *from(Type* val) {
+ return traits_from_ptr<Type>::from(val, 0);
+ }
+ };
+
+ template <class Type>
+ inline PyObject *from(const Type& val) {
+ return traits_from<Type>::from(val);
+ }
+
+ template <class Type>
+ inline PyObject *from_ptr(Type* val, int owner) {
+ return traits_from_ptr<Type>::from(val, owner);
+ }
+
+ /*
+ Traits that provides the asval/as/check method
+ */
+ template <class Type>
+ struct traits_asptr {
+ static int asptr(PyObject *obj, Type **val) {
+ Type *p;
+ int res = (SWIG_ConvertPtr(obj, (void**)&p, type_info<Type>(), 0) != -1)
+ ? SWIG_OLDOBJ : 0;
+ if (res) {
+ if (val) {
+ *val = p;
+ }
+ } else {
+ SWIG_type_error(type_name<Type>(), obj);
+ }
+ return res;
+ }
+ };
+
+ template <class Type>
+ inline int asptr(PyObject *obj, Type **vptr) {
+ return traits_asptr<Type>::asptr(obj, vptr);
+ }
+
+ template <class Type>
+ struct traits_asval {
+ static bool asval(PyObject *obj, Type *val) {
+ if (val) {
+ Type *p = 0;
+ int res = traits_asptr<Type>::asptr(obj, &p);
+ if ((res != 0) && p) {
+ typedef typename noconst_traits<Type>::noconst_type noconst_type;
+ *(const_cast<noconst_type*>(val)) = *p;
+ if (res == SWIG_NEWOBJ) delete p;
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ return traits_asptr<Type>::asptr(obj, (Type **)(0)) ? true : false;
+ }
+ }
+ };
+
+ template <class Type> struct traits_asval<Type*> {
+ static bool asval(PyObject *obj, Type **val) {
+ if (val) {
+ typedef typename noconst_traits<Type>::noconst_type noconst_type;
+ noconst_type *p = 0;
+ int res = traits_asptr<noconst_type>::asptr(obj, &p);
+ if (res) {
+ *(const_cast<noconst_type**>(val)) = p;
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ return traits_asptr<Type>::asptr(obj, (Type **)(0)) ? true : false;
+ }
+ }
+ };
+
+ template <class Type>
+ inline bool asval(PyObject *obj, Type *val) {
+ return traits_asval<Type>::asval(obj, val) ? true : false;
+ }
+
+ template <class Type>
+ struct traits_as<Type, value_category> {
+ static Type as(PyObject *obj, bool throw_error) {
+ Type v;
+ if (!obj || !asval(obj, &v)) {
+ if (!PyErr_Occurred()) {
+ SWIG_type_error(swig::type_name<Type>(), obj);
+ }
+ if (throw_error) throw std::invalid_argument("bad type");
+ }
+ return v;
+ }
+ };
+
+ template <class Type>
+ struct traits_as<Type, pointer_category> {
+ static Type as(PyObject *obj, bool throw_error) {
+ Type *v = 0;
+ int res = (obj ? traits_asptr<Type>::asptr(obj, &v) : 0);
+ if (res && v) {
+ if (res == SWIG_NEWOBJ) {
+ Type r(*v);
+ delete v;
+ return r;
+ } else {
+ return *v;
+ }
+ } else {
+ // Uninitialized return value, no Type() constructor required.
+ static Type *v_def = (Type*) malloc(sizeof(Type));
+ if (!PyErr_Occurred()) {
+ SWIG_type_error(swig::type_name<Type>(), obj);
+ }
+ if (throw_error) throw std::invalid_argument("bad type");
+ memset(v_def,0,sizeof(Type));
+ return *v_def;
+ }
+ }
+ };
+
+ template <class Type>
+ struct traits_as<Type*, pointer_category> {
+ static Type* as(PyObject *obj, bool throw_error) {
+ Type *v = 0;
+ int res = (obj ? traits_asptr<Type>::asptr(obj, &v) : 0);
+ if (res) {
+ return v;
+ } else {
+ if (!PyErr_Occurred()) {
+ SWIG_type_error(swig::type_name<Type>(), obj);
+ }
+ if (throw_error) throw std::invalid_argument("bad type");
+ return 0;
+ }
+ }
+ };
+
+ template <class Type>
+ inline Type as(PyObject *obj, bool te = false) {
+ return traits_as<Type, typename traits<Type>::category>::as(obj, te);
+ }
+
+ template <class Type>
+ struct traits_check<Type, value_category> {
+ static bool check(PyObject *obj) {
+ return obj && asval(obj, (Type *)(0));
+ }
+ };
+
+ template <class Type>
+ struct traits_check<Type, pointer_category> {
+ static bool check(PyObject *obj) {
+ return obj && asptr(obj, (Type **)(0));
+ }
+ };
+
+ template <class Type>
+ inline bool check(PyObject *obj) {
+ return traits_check<Type, typename traits<Type>::category>::check(obj);
+ }
+}
+
+
+namespace swig {
+ template <> struct traits<int > {
+ typedef value_category category;
+ static const char* type_name() { return"int"; }
+ };
+ template <> struct traits_asval<int > {
+ typedef int value_type;
+ static int asval(PyObject *obj, value_type *val) {
+ return SWIG_AsVal_int(obj, val);
+ }
+ };
+ template <> struct traits_from<int > {
+ typedef int value_type;
+ static PyObject *from(const value_type& val) {
+ return SWIG_From_int(val);
+ }
+ };
+}
+
+
+ namespace swig {
+ struct PyObject_var {
+ PyObject* ptr;
+ PyObject_var(PyObject* obj = 0) : ptr(obj) { }
+ ~PyObject_var() { if (ptr) Py_DECREF(ptr); }
+ operator PyObject*() { return ptr; }
+ PyObject* operator->() const { return ptr; }
+ };
+ }
+
+
+namespace swig {
+ inline size_t
+ check_index(ptrdiff_t i, size_t size, bool insert = false) {
+ if ( i < 0 ) {
+ if ((size_t) (-i) <= size)
+ return (size_t) (i + size);
+ } else if ( (size_t) i < size ) {
+ return (size_t) i;
+ } else if (insert && ((size_t) i == size)) {
+ return size;
+ }
+
+ throw std::out_of_range("index out of range");
+ }
+
+ inline size_t
+ slice_index(ptrdiff_t i, size_t size) {
+ if ( i < 0 ) {
+ if ((size_t) (-i) <= size) {
+ return (size_t) (i + size);
+ } else {
+ throw std::out_of_range("index out of range");
+ }
+ } else {
+ return ( (size_t) i < size ) ? ((size_t) i) : size;
+ }
+ }
+
+ template <class Sequence, class Difference>
+ inline typename Sequence::iterator
+ getpos(Sequence* self, Difference i) {
+ typename Sequence::iterator pos = self->begin();
+ std::advance(pos, check_index(i,self->size()));
+ return pos;
+ }
+
+ template <class Sequence, class Difference>
+ inline typename Sequence::const_iterator
+ cgetpos(const Sequence* self, Difference i) {
+ typename Sequence::const_iterator pos = self->begin();
+ std::advance(pos, check_index(i,self->size()));
+ return pos;
+ }
+
+ template <class Sequence, class Difference>
+ inline Sequence*
+ getslice(const Sequence* self, Difference i, Difference j) {
+ typename Sequence::size_type size = self->size();
+ typename Sequence::size_type ii = swig::check_index(i, size);
+ typename Sequence::size_type jj = swig::slice_index(j, size);
+
+ if (jj > ii) {
+ typename Sequence::const_iterator vb = self->begin();
+ typename Sequence::const_iterator ve = self->begin();
+ std::advance(vb,ii);
+ std::advance(ve,jj);
+ return new Sequence(vb, ve);
+ } else {
+ return new Sequence();
+ }
+ }
+
+ template <class Sequence, class Difference, class InputSeq>
+ inline void
+ setslice(Sequence* self, Difference i, Difference j, const InputSeq& v) {
+ typename Sequence::size_type size = self->size();
+ typename Sequence::size_type ii = swig::check_index(i, size, true);
+ typename Sequence::size_type jj = swig::slice_index(j, size);
+ if (jj < ii) jj = ii;
+ typename Sequence::iterator sb = self->begin();
+ typename InputSeq::const_iterator vmid = v.begin();
+ std::advance(sb,ii);
+ std::advance(vmid, jj - ii);
+ self->insert(std::copy(v.begin(), vmid, sb), vmid, v.end());
+ }
+
+ template <class Sequence, class Difference>
+ inline void
+ delslice(Sequence* self, Difference i, Difference j) {
+ typename Sequence::size_type size = self->size();
+ typename Sequence::size_type ii = swig::check_index(i, size, true);
+ typename Sequence::size_type jj = swig::slice_index(j, size);
+ if (jj > ii) {
+ typename Sequence::iterator sb = self->begin();
+ typename Sequence::iterator se = self->begin();
+ std::advance(sb,ii);
+ std::advance(se,jj);
+ self->erase(sb,se);
+ }
+ }
+}
+
+
+#include <iterator>
+namespace swig
+{
+ template <class T>
+ struct PySequence_Ref
+ {
+ PySequence_Ref(PyObject* seq, int index)
+ : _seq(seq), _index(index)
+ {
+ }
+
+ operator T () const
+ {
+ swig::PyObject_var item = PySequence_GetItem(_seq, _index);
+ try {
+ return swig::as<T>(item, true);
+ } catch (std::exception& e) {
+ char msg[1024];
+ PyOS_snprintf(msg, sizeof(msg), "in sequence element %d ", _index);
+ if (!PyErr_Occurred()) {
+ SWIG_type_error(swig::type_name<T>(), item);
+ }
+ SWIG_append_errmsg(msg);
+ SWIG_append_errmsg(e.what());
+ throw;
+ }
+ }
+
+ PySequence_Ref& operator=(const T& v)
+ {
+ PySequence_SetItem(_seq, _index, swig::from<T>(v));
+ return *this;
+ }
+
+ private:
+ PyObject* _seq;
+ int _index;
+ };
+
+ template <class T>
+ struct PySequence_ArrowProxy
+ {
+ PySequence_ArrowProxy(const T& x): m_value(x) {}
+ const T* operator->() const { return &m_value; }
+ operator const T*() const { return &m_value; }
+ T m_value;
+ };
+
+ template <class T, class Reference >
+ struct PySequence_Iter
+ {
+ typedef PySequence_Iter<T, Reference > self;
+
+ typedef std::random_access_iterator_tag iterator_category;
+ typedef Reference reference;
+ typedef T value_type;
+ typedef T* pointer;
+ typedef int difference_type;
+
+ PySequence_Iter()
+ {
+ }
+
+ PySequence_Iter(PyObject* seq, int index)
+ : _seq(seq), _index(index)
+ {
+ }
+
+ reference operator*() const
+ {
+ return reference(_seq, _index);
+ }
+
+ PySequence_ArrowProxy<T>
+ operator->() const {
+ return PySequence_ArrowProxy<T>(operator*());
+ }
+
+ bool operator==(const self& ri) const
+ {
+ return (_index == ri._index) && (_seq == ri._seq);
+ }
+
+ bool operator!=(const self& ri) const
+ {
+ return !(operator==(ri));
+ }
+
+ self& operator ++ ()
+ {
+ ++_index;
+ return *this;
+ }
+
+ self& operator -- ()
+ {
+ --_index;
+ return *this;
+ }
+
+ self& operator += (difference_type n)
+ {
+ _index += n;
+ return *this;
+ }
+
+ self operator +(difference_type n) const
+ {
+ return self(_seq, _index + n);
+ }
+
+ self& operator -= (difference_type n)
+ {
+ _index -= n;
+ return *this;
+ }
+
+ self operator -(difference_type n) const
+ {
+ return self(_seq, _index - n);
+ }
+
+ difference_type operator - (const self& ri) const
+ {
+ return _index - ri._index;
+ }
+
+ reference
+ operator[](difference_type n) const
+ {
+ return reference(_seq, _index + n);
+ }
+
+ private:
+ PyObject* _seq;
+ int _index;
+ };
+
+ template <class T>
+ struct PySequence_Cont
+ {
+ typedef PySequence_Ref<T> reference;
+ typedef const PySequence_Ref<T> const_reference;
+ typedef T value_type;
+ typedef T* pointer;
+ typedef int difference_type;
+ typedef int size_type;
+ typedef const pointer const_pointer;
+ typedef PySequence_Iter<T, reference> iterator;
+ typedef PySequence_Iter<T, const_reference> const_iterator;
+
+ PySequence_Cont(PyObject* seq) : _seq(0)
+ {
+ if (!PySequence_Check(seq)) {
+ throw std::invalid_argument("a sequence is expected");
+ }
+ _seq = seq;
+ Py_INCREF(_seq);
+ }
+
+ ~PySequence_Cont()
+ {
+ if (_seq) Py_DECREF(_seq);
+ }
+
+ size_type size() const
+ {
+ return PySequence_Size(_seq);
+ }
+
+ bool empty() const
+ {
+ return size() == 0;
+ }
+
+ iterator begin()
+ {
+ return iterator(_seq, 0);
+ }
+
+ const_iterator begin() const
+ {
+ return const_iterator(_seq, 0);
+ }
+
+ iterator end()
+ {
+ return iterator(_seq, size());
+ }
+
+ const_iterator end() const
+ {
+ return const_iterator(_seq, size());
+ }
+
+ reference operator[](difference_type n)
+ {
+ return reference(_seq, n);
+ }
+
+ const_reference operator[](difference_type n) const
+ {
+ return const_reference(_seq, n);
+ }
+
+ bool check(bool set_err = true) const
+ {
+ int s = size();
+ for (int i = 0; i < s; ++i) {
+ swig::PyObject_var item = PySequence_GetItem(_seq, i);
+ if (!swig::check<value_type>(item)) {
+ if (set_err) {
+ char msg[1024];
+ PyOS_snprintf(msg, sizeof(msg), "in sequence element %d", i);
+ SWIG_type_error(swig::type_name<value_type>(), item);
+ SWIG_append_errmsg(msg);
+ }
+ return 0;
+ }
+ }
+ return 1;
+ }
+
+ private:
+ PyObject* _seq;
+ };
+
+}
+
+
+ namespace swig {
+ template <class PySeq, class Seq>
+ inline void
+ assign(const PySeq& pyseq, Seq* seq) {
+#ifdef SWIG_STD_NOASSIGN_STL
+ typedef typename PySeq::value_type value_type;
+ typename PySeq::const_iterator it = pyseq.begin();
+ for (;it != pyseq.end(); ++it) {
+ seq->insert(seq->end(),(value_type)(*it));
+ }
+#else
+ seq->assign(pyseq.begin(), pyseq.end());
+#endif
+ }
+
+ template <class Seq, class T = typename Seq::value_type >
+ struct traits_asptr_stdseq {
+ typedef Seq sequence;
+ typedef T value_type;
+
+ static int asptr(PyObject *obj, sequence **seq) {
+ if (PySequence_Check(obj)) {
+ try {
+ PySequence_Cont<value_type> pyseq(obj);
+ if (seq) {
+ sequence *pseq = new sequence();
+ assign(pyseq, pseq);
+ *seq = pseq;
+ return SWIG_NEWOBJ;
+ } else {
+ return pyseq.check();
+ }
+ } catch (std::exception& e) {
+ if (seq) {
+ if (!PyErr_Occurred())
+ PyErr_SetString(PyExc_TypeError, e.what());
+ }
+ return 0;
+ }
+ } else {
+ sequence *p;
+ if (SWIG_ConvertPtr(obj,(void**)&p,
+ swig::type_info<sequence>(),0) != -1) {
+ if (seq) *seq = p;
+ return 1;
+ }
+ }
+ if (seq) {
+ PyErr_Format(PyExc_TypeError, "a %s is expected",
+ swig::type_name<sequence>());
+ }
+ return 0;
+ }
+ };
+
+ template <class Seq, class T = typename Seq::value_type >
+ struct traits_from_stdseq {
+ typedef Seq sequence;
+ typedef T value_type;
+ typedef typename Seq::size_type size_type;
+ typedef typename sequence::const_iterator const_iterator;
+
+ static PyObject *from(const sequence& seq) {
+ size_type size = seq.size();
+ if (size <= (size_type)INT_MAX) {
+ PyObject *obj = PyTuple_New((int)size);
+ int i = 0;
+ for (const_iterator it = seq.begin();
+ it != seq.end(); ++it, ++i) {
+ PyTuple_SetItem(obj,i,swig::from<value_type>(*it));
+ }
+ return obj;
+ } else {
+ PyErr_SetString(PyExc_OverflowError,
+ "sequence size not valid in python");
+ return NULL;
+ }
+ }
+ };
+ }
+
+
+ namespace swig {
+ template <class T>
+ struct traits_asptr<std::vector<T> > {
+ static int asptr(PyObject *obj, std::vector<T> **vec) {
+ return traits_asptr_stdseq<std::vector<T> >::asptr(obj, vec);
+ }
+ };
+
+ template <class T>
+ struct traits_from<std::vector<T> > {
+ static PyObject *from(const std::vector<T>& vec) {
+ return traits_from_stdseq<std::vector<T> >::from(vec);
+ }
+ };
+ }
+
+
+ namespace swig {
+ template <> struct traits<std::vector<int, std::allocator<int > > > {
+ typedef pointer_category category;
+ static const char* type_name() {
+ return "std::vector<" "int" "," "std::allocator<int >" " >";
+ }
+ };
+ }
+
+
+SWIGINTERNINLINE PyObject*
+ SWIG_From_bool(bool value)
+{
+ PyObject *obj = value ? Py_True : Py_False;
+ Py_INCREF(obj);
+ return obj;
+}
+
+
+SWIGINTERNINLINE PyObject*
+ SWIG_From_unsigned_SS_long(unsigned long value)
+{
+ return (value > LONG_MAX) ?
+ PyLong_FromUnsignedLong(value)
+ : PyInt_FromLong((long)(value));
+}
+
+
+SWIGINTERN int
+ SWIG_AsVal_unsigned_SS_long(PyObject *obj, unsigned long *val)
+{
+ if (PyInt_Check(obj)) {
+ long v = PyInt_AS_LONG(obj);
+ if (v >= 0) {
+ if (val) *val = v;
+ return 1;
+ }
+ }
+ if (PyLong_Check(obj)) {
+ unsigned long v = PyLong_AsUnsignedLong(obj);
+ if (!PyErr_Occurred()) {
+ if (val) *val = v;
+ return 1;
+ } else {
+ if (!val) PyErr_Clear();
+ return 0;
+ }
+ }
+ if (val) {
+ SWIG_type_error("unsigned long", obj);
+ }
+ return 0;
+}
+
+
+SWIGINTERNINLINE unsigned long
+SWIG_As_unsigned_SS_long(PyObject* obj)
+{
+ unsigned long v;
+ if (!SWIG_AsVal_unsigned_SS_long(obj, &v)) {
+ /*
+ this is needed to make valgrind/purify happier.
+ */
+ memset((void*)&v, 0, sizeof(unsigned long));
+ }
+ return v;
+}
+
+
+SWIGINTERNINLINE int
+SWIG_Check_unsigned_SS_long(PyObject* obj)
+{
+ return SWIG_AsVal_unsigned_SS_long(obj, (unsigned long*)0);
+}
+
+
+SWIGINTERNINLINE int
+SWIG_As_int(PyObject* obj)
+{
+ int v;
+ if (!SWIG_AsVal_int(obj, &v)) {
+ /*
+ this is needed to make valgrind/purify happier.
+ */
+ memset((void*)&v, 0, sizeof(int));
+ }
+ return v;
+}
+
+
+SWIGINTERNINLINE int
+SWIG_Check_int(PyObject* obj)
+{
+ return SWIG_AsVal_int(obj, (int*)0);
+}
+
+static bool std_vector_Sl_int_Sg____nonzero__(std::vector<int > const *self){
+ return !(self->empty());
+ }
+static std::vector<int >::size_type std_vector_Sl_int_Sg____len__(std::vector<int > const *self){
+ return self->size();
+ }
+static std::vector<int >::value_type std_vector_Sl_int_Sg__pop(std::vector<int > *self){
+ if (self->size() == 0)
+ throw std::out_of_range("pop from empty container");
+ std::vector<int,std::allocator<int > >::value_type x = self->back();
+ self->pop_back();
+ return x;
+ }
+
+SWIGINTERNINLINE long
+SWIG_As_long(PyObject* obj)
+{
+ long v;
+ if (!SWIG_AsVal_long(obj, &v)) {
+ /*
+ this is needed to make valgrind/purify happier.
+ */
+ memset((void*)&v, 0, sizeof(long));
+ }
+ return v;
+}
+
+
+SWIGINTERNINLINE int
+SWIG_Check_long(PyObject* obj)
+{
+ return SWIG_AsVal_long(obj, (long*)0);
+}
+
+static std::vector<int,std::allocator<int > > *std_vector_Sl_int_Sg____getslice__(std::vector<int > *self,std::vector<int >::difference_type i,std::vector<int >::difference_type j){
+ return swig::getslice(self, i, j);
+ }
+static void std_vector_Sl_int_Sg____setslice__(std::vector<int > *self,std::vector<int >::difference_type i,std::vector<int >::difference_type j,std::vector<int,std::allocator<int > > const &v){
+ swig::setslice(self, i, j, v);
+ }
+static void std_vector_Sl_int_Sg____delslice__(std::vector<int > *self,std::vector<int >::difference_type i,std::vector<int >::difference_type j){
+ swig::delslice(self, i, j);
+ }
+static void std_vector_Sl_int_Sg____delitem__(std::vector<int > *self,std::vector<int >::difference_type i){
+ self->erase(swig::getpos(self,i));
+ }
+static std::vector<int >::value_type const &std_vector_Sl_int_Sg____getitem__(std::vector<int > const *self,std::vector<int >::difference_type i){
+ return *(swig::cgetpos(self, i));
+ }
+static void std_vector_Sl_int_Sg____setitem__(std::vector<int > *self,std::vector<int >::difference_type i,std::vector<int >::value_type const &x){
+ *(swig::getpos(self,i)) = x;
+ }
+static void std_vector_Sl_int_Sg__append(std::vector<int > *self,std::vector<int >::value_type const &x){
+ self->push_back(x);
+ }
+
+SWIGINTERN int
+ SWIG_AsVal_double(PyObject *obj, double *val)
+{
+ if (PyFloat_Check(obj)) {
+ if (val) *val = PyFloat_AS_DOUBLE(obj);
+ return 1;
+ }
+ if (PyInt_Check(obj)) {
+ if (val) *val = PyInt_AS_LONG(obj);
+ return 1;
+ }
+ if (PyLong_Check(obj)) {
+ double v = PyLong_AsDouble(obj);
+ if (!PyErr_Occurred()) {
+ if (val) *val = v;
+ return 1;
+ } else {
+ if (!val) PyErr_Clear();
+ return 0;
+ }
+ }
+ if (val) {
+ SWIG_type_error("double", obj);
+ }
+ return 0;
+}
+
+
+ /*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_double PyFloat_FromDouble
+/*@@*/
+
+
+namespace swig {
+ template <> struct traits<double > {
+ typedef value_category category;
+ static const char* type_name() { return"double"; }
+ };
+ template <> struct traits_asval<double > {
+ typedef double value_type;
+ static int asval(PyObject *obj, value_type *val) {
+ return SWIG_AsVal_double(obj, val);
+ }
+ };
+ template <> struct traits_from<double > {
+ typedef double value_type;
+ static PyObject *from(const value_type& val) {
+ return SWIG_From_double(val);
+ }
+ };
+}
+
+
+ namespace swig {
+ template <> struct traits<std::vector<double, std::allocator<double > > > {
+ typedef pointer_category category;
+ static const char* type_name() {
+ return "std::vector<" "double" "," "std::allocator<double >" " >";
+ }
+ };
+ }
+
+
+SWIGINTERNINLINE double
+SWIG_As_double(PyObject* obj)
+{
+ double v;
+ if (!SWIG_AsVal_double(obj, &v)) {
+ /*
+ this is needed to make valgrind/purify happier.
+ */
+ memset((void*)&v, 0, sizeof(double));
+ }
+ return v;
+}
+
+
+SWIGINTERNINLINE int
+SWIG_Check_double(PyObject* obj)
+{
+ return SWIG_AsVal_double(obj, (double*)0);
+}
+
+static bool std_vector_Sl_double_Sg____nonzero__(std::vector<double > const *self){
+ return !(self->empty());
+ }
+static std::vector<double >::size_type std_vector_Sl_double_Sg____len__(std::vector<double > const *self){
+ return self->size();
+ }
+static std::vector<double >::value_type std_vector_Sl_double_Sg__pop(std::vector<double > *self){
+ if (self->size() == 0)
+ throw std::out_of_range("pop from empty container");
+ std::vector<double,std::allocator<double > >::value_type x = self->back();
+ self->pop_back();
+ return x;
+ }
+static std::vector<double,std::allocator<double > > *std_vector_Sl_double_Sg____getslice__(std::vector<double > *self,std::vector<double >::difference_type i,std::vector<double >::difference_type j){
+ return swig::getslice(self, i, j);
+ }
+static void std_vector_Sl_double_Sg____setslice__(std::vector<double > *self,std::vector<double >::difference_type i,std::vector<double >::difference_type j,std::vector<double,std::allocator<double > > const &v){
+ swig::setslice(self, i, j, v);
+ }
+static void std_vector_Sl_double_Sg____delslice__(std::vector<double > *self,std::vector<double >::difference_type i,std::vector<double >::difference_type j){
+ swig::delslice(self, i, j);
+ }
+static void std_vector_Sl_double_Sg____delitem__(std::vector<double > *self,std::vector<double >::difference_type i){
+ self->erase(swig::getpos(self,i));
+ }
+static std::vector<double >::value_type const &std_vector_Sl_double_Sg____getitem__(std::vector<double > const *self,std::vector<double >::difference_type i){
+ return *(swig::cgetpos(self, i));
+ }
+static void std_vector_Sl_double_Sg____setitem__(std::vector<double > *self,std::vector<double >::difference_type i,std::vector<double >::value_type const &x){
+ *(swig::getpos(self,i)) = x;
+ }
+static void std_vector_Sl_double_Sg__append(std::vector<double > *self,std::vector<double >::value_type const &x){
+ self->push_back(x);
+ }
+
+#include <stdexcept>
+
+
+SWIGINTERN PyObject *
+SWIG_FromCharPtr(const char* cptr)
+{
+ if (cptr) {
+ size_t size = strlen(cptr);
+ if (size > INT_MAX) {
+ return SWIG_NewPointerObj((char*)(cptr),
+ SWIG_TypeQuery("char *"), 0);
+ } else {
+ if (size != 0) {
+ return PyString_FromStringAndSize(cptr, size);
+ } else {
+ return PyString_FromString(cptr);
+ }
+ }
+ }
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+
+/* returns SWIG_OLDOBJ if the input is a raw char*, SWIG_PYSTR if is a PyString */
+SWIGINTERN int
+SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize)
+{
+ static swig_type_info* pchar_info = 0;
+ char* vptr = 0;
+ if (!pchar_info) pchar_info = SWIG_TypeQuery("char *");
+ if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_info, 0) != -1) {
+ if (cptr) *cptr = vptr;
+ if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0;
+ return SWIG_OLDOBJ;
+ } else {
+ PyErr_Clear();
+ if (PyString_Check(obj)) {
+ if (cptr) {
+ *cptr = PyString_AS_STRING(obj);
+ if (psize) {
+ *psize = PyString_GET_SIZE(obj) + 1;
+ }
+ }
+ return SWIG_PYSTR;
+ }
+ }
+ if (cptr) {
+ SWIG_type_error("char *", obj);
+ }
+ return 0;
+}
+
+
+ SWIGINTERN int
+ SWIG_AsPtr_std_string(PyObject* obj, std::string **val)
+ {
+ static swig_type_info* string_info = SWIG_TypeQuery("std::string *");
+ std::string *vptr;
+ if (SWIG_ConvertPtr(obj, (void**)&vptr, string_info, 0) != -1) {
+ if (val) *val = vptr;
+ return SWIG_OLDOBJ;
+ } else {
+ PyErr_Clear();
+ char* buf = 0 ; size_t size = 0;
+ if (SWIG_AsCharPtrAndSize(obj, &buf, &size)) {
+ if (buf) {
+ if (val) *val = new std::string(buf, size - 1);
+ return SWIG_NEWOBJ;
+ }
+ } else {
+ PyErr_Clear();
+ }
+ if (val) {
+ PyErr_SetString(PyExc_TypeError,"a string is expected");
+ }
+ return 0;
+ }
+ }
+
+
+#include <ios>
+
+
+SWIGINTERN int
+ SWIG_AsVal_bool(PyObject *obj, bool *val)
+{
+ if (obj == Py_True) {
+ if (val) *val = true;
+ return 1;
+ }
+ if (obj == Py_False) {
+ if (val) *val = false;
+ return 1;
+ }
+ int res = 0;
+ if (SWIG_AsVal_int(obj, &res)) {
+ if (val) *val = res ? true : false;
+ return 1;
+ } else {
+ PyErr_Clear();
+ }
+ if (val) {
+ SWIG_type_error("bool", obj);
+ }
+ return 0;
+}
+
+
+SWIGINTERNINLINE bool
+SWIG_As_bool(PyObject* obj)
+{
+ bool v;
+ if (!SWIG_AsVal_bool(obj, &v)) {
+ /*
+ this is needed to make valgrind/purify happier.
+ */
+ memset((void*)&v, 0, sizeof(bool));
+ }
+ return v;
+}
+
+
+SWIGINTERNINLINE int
+SWIG_Check_bool(PyObject* obj)
+{
+ return SWIG_AsVal_bool(obj, (bool*)0);
+}
+
+
+SWIGINTERNINLINE PyObject*
+ SWIG_From_char(char c)
+{
+ return PyString_FromStringAndSize(&c,1);
+}
+
+
+SWIGINTERN int
+SWIG_AsCharArray(PyObject *obj, char *val, size_t size)
+{
+ char* cptr; size_t csize;
+ if (SWIG_AsCharPtrAndSize(obj, &cptr, &csize)) {
+ /* in C you can do:
+
+ char x[5] = "hello";
+
+ ie, assing the array using an extra '0' char.
+ */
+ if ((csize == size + 1) && !(cptr[csize-1])) --csize;
+ if (csize <= size) {
+ if (val) {
+ if (csize) memcpy(val, cptr, csize);
+ if (csize < size) memset(val + csize, 0, size - csize);
+ }
+ return 1;
+ }
+ }
+ if (val) {
+ PyErr_Format(PyExc_TypeError,
+ "a char array of maximum size %lu is expected",
+ (unsigned long) size);
+ }
+ return 0;
+}
+
+
+SWIGINTERN int
+ SWIG_AsVal_char(PyObject *obj, char *val)
+{
+ const char* errmsg = val ? "char" : (char*)0;
+ long v;
+ if (SWIG_AsVal_long(obj, &v)) {
+ if (SWIG_CheckLongInRange(v, CHAR_MIN,CHAR_MAX, errmsg)) {
+ if (val) *val = (char)(v);
+ return 1;
+ } else {
+ return 0;
+ }
+ } else {
+ PyErr_Clear();
+ return SWIG_AsCharArray(obj, val, 1);
+ }
+ }
+
+
+SWIGINTERNINLINE char
+SWIG_As_char(PyObject* obj)
+{
+ char v;
+ if (!SWIG_AsVal_char(obj, &v)) {
+ /*
+ this is needed to make valgrind/purify happier.
+ */
+ memset((void*)&v, 0, sizeof(char));
+ }
+ return v;
+}
+
+
+SWIGINTERNINLINE int
+SWIG_Check_char(PyObject* obj)
+{
+ return SWIG_AsVal_char(obj, (char*)0);
+}
+
+
+#include <iostream>
+
+extern std::istream std::cin;
+extern std::ostream std::cout;
+extern std::ostream std::cerr;
+extern std::ostream std::clog;
+
+SWIGINTERN int
+ SWIG_AsVal_short(PyObject *obj, short *val)
+{
+ const char* errmsg = val ? "short" : (char*)0;
+ long v;
+ if (SWIG_AsVal_long(obj, &v)) {
+ if (SWIG_CheckLongInRange(v, SHRT_MIN, SHRT_MAX, errmsg)) {
+ if (val) *val = (short)(v);
+ return 1;
+ } else {
+ return 0;
+ }
+ } else {
+ PyErr_Clear();
+ }
+ if (val) {
+ SWIG_type_error(errmsg, obj);
+ }
+ return 0;
+}
+
+
+SWIGINTERNINLINE short
+SWIG_As_short(PyObject* obj)
+{
+ short v;
+ if (!SWIG_AsVal_short(obj, &v)) {
+ /*
+ this is needed to make valgrind/purify happier.
+ */
+ memset((void*)&v, 0, sizeof(short));
+ }
+ return v;
+}
+
+
+SWIGINTERNINLINE int
+SWIG_Check_short(PyObject* obj)
+{
+ return SWIG_AsVal_short(obj, (short*)0);
+}
+
+
+SWIGINTERNINLINE int
+ SWIG_CheckUnsignedLongInRange(unsigned long value,
+ unsigned long max_value,
+ const char *errmsg)
+{
+ if (value > max_value) {
+ if (errmsg) {
+ PyErr_Format(PyExc_OverflowError,
+ "value %lu is greater than '%s' minimum %lu",
+ value, errmsg, max_value);
+ }
+ return 0;
+ }
+ return 1;
+ }
+
+
+SWIGINTERN int
+ SWIG_AsVal_unsigned_SS_short(PyObject *obj, unsigned short *val)
+{
+ const char* errmsg = val ? "unsigned short" : (char*)0;
+ unsigned long v;
+ if (SWIG_AsVal_unsigned_SS_long(obj, &v)) {
+ if (SWIG_CheckUnsignedLongInRange(v, USHRT_MAX, errmsg)) {
+ if (val) *val = (unsigned short)(v);
+ return 1;
+ } else {
+ return 0;
+ }
+ } else {
+ PyErr_Clear();
+ }
+ if (val) {
+ SWIG_type_error(errmsg, obj);
+ }
+ return 0;
+}
+
+
+SWIGINTERNINLINE unsigned short
+SWIG_As_unsigned_SS_short(PyObject* obj)
+{
+ unsigned short v;
+ if (!SWIG_AsVal_unsigned_SS_short(obj, &v)) {
+ /*
+ this is needed to make valgrind/purify happier.
+ */
+ memset((void*)&v, 0, sizeof(unsigned short));
+ }
+ return v;
+}
+
+
+SWIGINTERNINLINE int
+SWIG_Check_unsigned_SS_short(PyObject* obj)
+{
+ return SWIG_AsVal_unsigned_SS_short(obj, (unsigned short*)0);
+}
+
+
+#if UINT_MAX != ULONG_MAX
+SWIGINTERN int
+ SWIG_AsVal_unsigned_SS_int(PyObject *obj, unsigned int *val)
+{
+ const char* errmsg = val ? "unsigned int" : (char*)0;
+ unsigned long v;
+ if (SWIG_AsVal_unsigned_SS_long(obj, &v)) {
+ if (SWIG_CheckUnsignedLongInRange(v, INT_MAX, errmsg)) {
+ if (val) *val = (unsigned int)(v);
+ return 1;
+ }
+ } else {
+ PyErr_Clear();
+ }
+ if (val) {
+ SWIG_type_error(errmsg, obj);
+ }
+ return 0;
+}
+#else
+SWIGINTERNINLINE unsigned int
+ SWIG_AsVal_unsigned_SS_int(PyObject *obj, unsigned int *val)
+{
+ return SWIG_AsVal_unsigned_SS_long(obj,(unsigned long *)val);
+}
+#endif
+
+
+SWIGINTERNINLINE unsigned int
+SWIG_As_unsigned_SS_int(PyObject* obj)
+{
+ unsigned int v;
+ if (!SWIG_AsVal_unsigned_SS_int(obj, &v)) {
+ /*
+ this is needed to make valgrind/purify happier.
+ */
+ memset((void*)&v, 0, sizeof(unsigned int));
+ }
+ return v;
+}
+
+
+SWIGINTERNINLINE int
+SWIG_Check_unsigned_SS_int(PyObject* obj)
+{
+ return SWIG_AsVal_unsigned_SS_int(obj, (unsigned int*)0);
+}
+
+
+SWIGINTERN int
+ SWIG_AsVal_long_SS_long(PyObject *obj, long long *val)
+{
+ if (PyLong_Check(obj)) {
+ long long v = PyLong_AsLongLong(obj);
+ if (!PyErr_Occurred()) {
+ if (val) *val = v;
+ return 1;
+ } else {
+ if (!val) PyErr_Clear();
+ return 0;
+ }
+ }
+ if (PyInt_Check(obj)) {
+ if (val) *val = PyInt_AS_LONG(obj);
+ return 1;
+ }
+ if (val) {
+ SWIG_type_error("long long", obj);
+ }
+ return 0;
+}
+
+
+SWIGINTERNINLINE long long
+SWIG_As_long_SS_long(PyObject* obj)
+{
+ long long v;
+ if (!SWIG_AsVal_long_SS_long(obj, &v)) {
+ /*
+ this is needed to make valgrind/purify happier.
+ */
+ memset((void*)&v, 0, sizeof(long long));
+ }
+ return v;
+}
+
+
+SWIGINTERNINLINE int
+SWIG_Check_long_SS_long(PyObject* obj)
+{
+ return SWIG_AsVal_long_SS_long(obj, (long long*)0);
+}
+
+
+SWIGINTERN int
+ SWIG_AsVal_unsigned_SS_long_SS_long(PyObject *obj, unsigned long long *val)
+{
+ unsigned long v;
+ if (PyLong_Check(obj)) {
+ unsigned long long v = PyLong_AsUnsignedLongLong(obj);
+ if (!PyErr_Occurred()) {
+ if (val) *val = v;
+ return 1;
+ } else {
+ if (!val) PyErr_Clear();
+ return 0;
+ }
+ }
+ if (SWIG_AsVal_unsigned_SS_long(obj,&v)) {
+ if (val) *val = v;
+ return 1;
+ } else {
+ PyErr_Clear();
+ }
+ if (val) {
+ SWIG_type_error("unsigned long long", obj);
+ }
+ return 0;
+}
+
+
+SWIGINTERNINLINE unsigned long long
+SWIG_As_unsigned_SS_long_SS_long(PyObject* obj)
+{
+ unsigned long long v;
+ if (!SWIG_AsVal_unsigned_SS_long_SS_long(obj, &v)) {
+ /*
+ this is needed to make valgrind/purify happier.
+ */
+ memset((void*)&v, 0, sizeof(unsigned long long));
+ }
+ return v;
+}
+
+
+SWIGINTERNINLINE int
+SWIG_Check_unsigned_SS_long_SS_long(PyObject* obj)
+{
+ return SWIG_AsVal_unsigned_SS_long_SS_long(obj, (unsigned long long*)0);
+}
+
+
+#include <float.h>
+SWIGINTERN int
+ SWIG_CheckDoubleInRange(double value, double min_value,
+ double max_value, const char* errmsg)
+{
+ if (value < min_value) {
+ if (errmsg) {
+ PyErr_Format(PyExc_OverflowError,
+ "value %g is less than %s minimum %g",
+ value, errmsg, min_value);
+ }
+ return 0;
+ } else if (value > max_value) {
+ if (errmsg) {
+ PyErr_Format(PyExc_OverflowError,
+ "value %g is greater than %s maximum %g",
+ value, errmsg, max_value);
+ }
+ return 0;
+ }
+ return 1;
+}
+
+
+SWIGINTERN int
+ SWIG_AsVal_float(PyObject *obj, float *val)
+{
+ const char* errmsg = val ? "float" : (char*)0;
+ double v;
+ if (SWIG_AsVal_double(obj, &v)) {
+ if (SWIG_CheckDoubleInRange(v, -FLT_MAX, FLT_MAX, errmsg)) {
+ if (val) *val = (float)(v);
+ return 1;
+ } else {
+ return 0;
+ }
+ } else {
+ PyErr_Clear();
+ }
+ if (val) {
+ SWIG_type_error(errmsg, obj);
+ }
+ return 0;
+}
+
+
+SWIGINTERNINLINE float
+SWIG_As_float(PyObject* obj)
+{
+ float v;
+ if (!SWIG_AsVal_float(obj, &v)) {
+ /*
+ this is needed to make valgrind/purify happier.
+ */
+ memset((void*)&v, 0, sizeof(float));
+ }
+ return v;
+}
+
+
+SWIGINTERNINLINE int
+SWIG_Check_float(PyObject* obj)
+{
+ return SWIG_AsVal_float(obj, (float*)0);
+}
+
+static std::basic_ostream<char,std::char_traits<char > > &std_basic_ostream_Sl_char_Sg__operator_Sl__Sl___SWIG_17(std::basic_ostream<char > *self,std::basic_string<char,std::char_traits<char >,std::allocator<char > > const &s){
+ *self << s;
+ return *self;
+ }
+
+SWIGINTERNINLINE int
+SWIG_AsCharPtr(PyObject *obj, char **val)
+{
+ if (SWIG_AsCharPtrAndSize(obj, val, (size_t*)(0))) {
+ return 1;
+ }
+ if (val) {
+ PyErr_Clear();
+ SWIG_type_error("char *", obj);
+ }
+ return 0;
+}
+
+
+ /*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_short PyInt_FromLong
+/*@@*/
+
+
+ /*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_long PyInt_FromLong
+/*@@*/
+
+
+#if UINT_MAX < LONG_MAX
+/*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_unsigned_SS_int SWIG_From_long
+/*@@*/
+#else
+/*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_unsigned_SS_int SWIG_From_unsigned_SS_long
+/*@@*/
+#endif
+
+
+SWIGINTERNINLINE PyObject *
+SWIG_FromCharArray(const char* carray, size_t size)
+{
+ if (size > INT_MAX) {
+ return SWIG_NewPointerObj((char *)(carray),
+ SWIG_TypeQuery("char *"), 0);
+ } else {
+ return PyString_FromStringAndSize(carray, (int)(size));
+ }
+}
+
+
+SWIGINTERNINLINE PyObject*
+ SWIG_From_std_string(const std::string& s)
+ {
+ return SWIG_FromCharArray(s.data(), s.size());
+ }
+
+
+ /*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_float PyFloat_FromDouble
+/*@@*/
+
+
+ namespace swig {
+ template <> struct traits<RinexObsType > {
+ typedef pointer_category category;
+ static const char* type_name() { return"RinexObsType"; }
+ };
+ }
+
+
+ namespace swig {
+ template <> struct traits<RinexDatum > {
+ typedef pointer_category category;
+ static const char* type_name() { return"RinexDatum"; }
+ };
+ }
+
+
+ namespace swig {
+ template <class T, class U >
+ struct traits_asptr<std::pair<T,U> > {
+ static int asptr(PyObject *obj, std::pair<T,U> **val) {
+ typedef std::pair<T,U> value_type;
+ if (PySequence_Check(obj) && (PySequence_Size(obj) == 2)) {
+ swig::PyObject_var first = PySequence_GetItem(obj,0);
+ swig::PyObject_var second = PySequence_GetItem(obj,1);
+ T *pfirst = 0;
+ U *psecond = 0;
+ if (val) {
+ *val = new std::pair<T,U>;
+ pfirst = &((*val)->first);
+ psecond = &((*val)->second);
+ }
+ if (swig::asval(first,pfirst) && swig::asval(second,psecond)) {
+ return SWIG_NEWOBJ;
+ } else {
+ delete *val;
+ }
+ } else {
+ value_type *p;
+ if (SWIG_ConvertPtr(obj,(void**)&p,
+ swig::type_info<value_type>(),0) != -1) {
+ if (val) *val = p;
+ return SWIG_OLDOBJ;
+ }
+ }
+ if (val) {
+ PyErr_Format(PyExc_TypeError, "a %s is expected",
+ swig::type_name<value_type>());
+ }
+ return 0;
+ }
+ };
+
+ template <class T, class U >
+ struct traits_from<std::pair<T,U> > {
+ static PyObject *from(const std::pair<T,U>& val) {
+ PyObject* obj = PyTuple_New(2);
+ PyTuple_SetItem(obj,0,swig::from(val.first));
+ PyTuple_SetItem(obj,1,swig::from(val.second));
+ return obj;
+ }
+ };
+ }
+
+
+ namespace swig {
+ template <> struct traits<std::pair<RinexObsType,RinexDatum > > {
+ typedef pointer_category category;
+ static const char* type_name() {
+ return "std::pair<" "RinexObsType" "," "RinexDatum" " >";
+ }
+ };
+ }
+
+
+ namespace swig {
+ template <class PySeq, class K, class T >
+ inline void
+ assign(const PySeq& pyseq, std::map<K,T > *map) {
+ typedef typename std::map<K,T>::value_type value_type;
+ typename PySeq::const_iterator it = pyseq.begin();
+ for (;it != pyseq.end(); ++it) {
+ map->insert(value_type(it->first, it->second));
+ }
+ }
+
+ template <class K, class T>
+ struct traits_asptr<std::map<K,T> > {
+ typedef std::map<K,T> map_type;
+ static int asptr(PyObject *obj, map_type **val) {
+ if (PyDict_Check(obj)) {
+ PyObject_var items = PyMapping_Items(obj);
+ return traits_asptr_stdseq<std::map<K,T>, std::pair<K, T> >
+ ::asptr(items, val);
+ }
+ if (val) {
+ PyErr_SetString(PyExc_TypeError, "a dictionary is expected");
+ }
+ return 0;
+ }
+ };
+
+ template <class K, class T >
+ struct traits_from<std::map<K,T> > {
+ typedef std::map<K,T> map_type;
+ typedef typename map_type::const_iterator const_iterator;
+ typedef typename map_type::size_type size_type;
+
+ static PyObject *from(const map_type& map) {
+ size_type size = map.size();
+ int pysize = (size <= (size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject *obj = PyDict_New();
+ for (const_iterator i= map.begin(); i!= map.end(); ++i) {
+ PyDict_SetItem(obj,
+ swig::from(i->first),
+ swig::from(i->second));
+ }
+ return obj;
+ }
+ };
+ }
+
+
+ namespace swig {
+ template <> struct traits<std::map<RinexObsType, RinexDatum, std::less<RinexObsType >, std::allocator<std::pair<RinexObsType const,RinexDatum > > > > {
+ typedef pointer_category category;
+ static const char* type_name() {
+ return "std::map<" "RinexObsType" "," "RinexDatum" "," "std::less<RinexObsType >" "," "std::allocator<std::pair<RinexObsType const,RinexDatum > >" " >";
+ }
+ };
+ }
+
+static bool std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____nonzero__(std::map<RinexObsType,RinexDatum > const *self){
+ return !(self->empty());
+ }
+static std::map<RinexObsType,RinexDatum >::size_type std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____len__(std::map<RinexObsType,RinexDatum > const *self){
+ return self->size();
+ }
+static std::map<RinexObsType,RinexDatum >::mapped_type std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____getitem__(std::map<RinexObsType,RinexDatum > const *self,std::map<RinexObsType,RinexDatum >::key_type const &key){
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::const_iterator i = self->find(key);
+ if (i != self->end())
+ return i->second;
+ else
+ throw std::out_of_range("key not found");
+ }
+static void std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____setitem__(std::map<RinexObsType,RinexDatum > *self,std::map<RinexObsType,RinexDatum >::key_type const &key,std::map<RinexObsType,RinexDatum >::mapped_type const &x){
+ self->insert(std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::value_type(key,x));
+ }
+static void std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____delitem__(std::map<RinexObsType,RinexDatum > *self,std::map<RinexObsType,RinexDatum >::key_type const &key){
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::iterator i = self->find(key);
+ if (i != self->end())
+ self->erase(i);
+ else
+ throw std::out_of_range("key not found");
+ }
+static bool std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__has_key(std::map<RinexObsType,RinexDatum > const *self,std::map<RinexObsType,RinexDatum >::key_type const &key){
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::const_iterator i = self->find(key);
+ return i != self->end();
+ }
+static PyObject *std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__keys(std::map<RinexObsType,RinexDatum > *self){
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type size = self->size();
+ int pysize = (size <= (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject* keyList = PyList_New(pysize);
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::const_iterator i = self->begin();
+ for (int j = 0; j < pysize; ++i, ++j) {
+ PyList_SetItem(keyList, j, swig::from(i->first));
+ }
+ return keyList;
+ }
+static PyObject *std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__values(std::map<RinexObsType,RinexDatum > *self){
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type size = self->size();
+ int pysize = (size <= (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject* valList = PyTuple_New(pysize);
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::const_iterator i = self->begin();
+ for (int j = 0; j < pysize; ++i, ++j) {
+ PyTuple_SetItem(valList, j, swig::from(i->second));
+ }
+ return valList;
+ }
+static PyObject *std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__items(std::map<RinexObsType,RinexDatum > *self){
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type size = self->size();
+ int pysize = (size <= (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject* itemList = PyTuple_New(pysize);
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::const_iterator i = self->begin();
+ for (int j = 0; j < pysize; ++i, ++j) {
+ PyTuple_SetItem(itemList, j, swig::from(*i));
+ }
+ return itemList;
+ }
+static bool std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____contains__(std::map<RinexObsType,RinexDatum > *self,std::map<RinexObsType,RinexDatum >::key_type const &key){
+ return self->find(key) != self->end();
+ }
+static PyObject *std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____iter__(std::map<RinexObsType,RinexDatum > *self){
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type size = self->size();
+ int pysize = (size <= (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject* keyTuple = PyTuple_New(pysize);
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::const_iterator i = self->begin();
+ for (int j = 0; j < pysize; ++i, ++j) {
+ PyTuple_SetItem(keyTuple, j, swig::from(i->first));
+ }
+#if PY_VERSION_HEX >= 0x02020000
+ PyObject* iter = PyObject_GetIter(keyTuple);
+ Py_DECREF(keyTuple);
+ return iter;
+#else
+ return keyTuple;
+#endif
+ }
+static bool std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____nonzero__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *self){
+ return !(self->empty());
+ }
+static std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::size_type std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____len__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *self){
+ return self->size();
+ }
+static std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::mapped_type std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____getitem__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *self,std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type const &key){
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::const_iterator i = self->find(key);
+ if (i != self->end())
+ return i->second;
+ else
+ throw std::out_of_range("key not found");
+ }
+static void std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____setitem__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self,std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type const &key,std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::mapped_type const &x){
+ self->insert(std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::value_type(key,x));
+ }
+static void std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____delitem__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self,std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type const &key){
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::iterator i = self->find(key);
+ if (i != self->end())
+ self->erase(i);
+ else
+ throw std::out_of_range("key not found");
+ }
+static bool std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__has_key(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *self,std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type const &key){
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::const_iterator i = self->find(key);
+ return i != self->end();
+ }
+static PyObject *std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__keys(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self){
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type size = self->size();
+ int pysize = (size <= (std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject* keyList = PyList_New(pysize);
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::const_iterator i = self->begin();
+ for (int j = 0; j < pysize; ++i, ++j) {
+ PyList_SetItem(keyList, j, swig::from(i->first));
+ }
+ return keyList;
+ }
+static PyObject *std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__values(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self){
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type size = self->size();
+ int pysize = (size <= (std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject* valList = PyTuple_New(pysize);
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::const_iterator i = self->begin();
+ for (int j = 0; j < pysize; ++i, ++j) {
+ PyTuple_SetItem(valList, j, swig::from(i->second));
+ }
+ return valList;
+ }
+static PyObject *std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__items(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self){
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type size = self->size();
+ int pysize = (size <= (std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject* itemList = PyTuple_New(pysize);
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::const_iterator i = self->begin();
+ for (int j = 0; j < pysize; ++i, ++j) {
+ PyTuple_SetItem(itemList, j, swig::from(*i));
+ }
+ return itemList;
+ }
+static bool std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____contains__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self,std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type const &key){
+ return self->find(key) != self->end();
+ }
+static PyObject *std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____iter__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self){
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type size = self->size();
+ int pysize = (size <= (std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject* keyTuple = PyTuple_New(pysize);
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::const_iterator i = self->begin();
+ for (int j = 0; j < pysize; ++i, ++j) {
+ PyTuple_SetItem(keyTuple, j, swig::from(i->first));
+ }
+#if PY_VERSION_HEX >= 0x02020000
+ PyObject* iter = PyObject_GetIter(keyTuple);
+ Py_DECREF(keyTuple);
+ return iter;
+#else
+ return keyTuple;
+#endif
+ }
+
+ namespace swig {
+ template <> struct traits<RinexPrn > {
+ typedef pointer_category category;
+ static const char* type_name() { return"RinexPrn"; }
+ };
+ }
+
+
+ namespace swig {
+ template <> struct traits<std::pair<RinexPrn,int > > {
+ typedef pointer_category category;
+ static const char* type_name() {
+ return "std::pair<" "RinexPrn" "," "int" " >";
+ }
+ };
+ }
+
+
+ namespace swig {
+ template <> struct traits<std::map<RinexPrn, int, std::less<RinexPrn >, std::allocator<std::pair<RinexPrn const,int > > > > {
+ typedef pointer_category category;
+ static const char* type_name() {
+ return "std::map<" "RinexPrn" "," "int" "," "std::less<RinexPrn >" "," "std::allocator<std::pair<RinexPrn const,int > >" " >";
+ }
+ };
+ }
+
+static bool std_map_Sl_RinexPrn_Sc_int_Sg____nonzero__(std::map<RinexPrn,int > const *self){
+ return !(self->empty());
+ }
+static std::map<RinexPrn,int >::size_type std_map_Sl_RinexPrn_Sc_int_Sg____len__(std::map<RinexPrn,int > const *self){
+ return self->size();
+ }
+static std::map<RinexPrn,int >::mapped_type std_map_Sl_RinexPrn_Sc_int_Sg____getitem__(std::map<RinexPrn,int > const *self,std::map<RinexPrn,int >::key_type const &key){
+ std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::const_iterator i = self->find(key);
+ if (i != self->end())
+ return i->second;
+ else
+ throw std::out_of_range("key not found");
+ }
+static void std_map_Sl_RinexPrn_Sc_int_Sg____setitem__(std::map<RinexPrn,int > *self,std::map<RinexPrn,int >::key_type const &key,std::map<RinexPrn,int >::mapped_type const &x){
+ self->insert(std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::value_type(key,x));
+ }
+static void std_map_Sl_RinexPrn_Sc_int_Sg____delitem__(std::map<RinexPrn,int > *self,std::map<RinexPrn,int >::key_type const &key){
+ std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::iterator i = self->find(key);
+ if (i != self->end())
+ self->erase(i);
+ else
+ throw std::out_of_range("key not found");
+ }
+static bool std_map_Sl_RinexPrn_Sc_int_Sg__has_key(std::map<RinexPrn,int > const *self,std::map<RinexPrn,int >::key_type const &key){
+ std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::const_iterator i = self->find(key);
+ return i != self->end();
+ }
+static PyObject *std_map_Sl_RinexPrn_Sc_int_Sg__keys(std::map<RinexPrn,int > *self){
+ std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type size = self->size();
+ int pysize = (size <= (std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject* keyList = PyList_New(pysize);
+ std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::const_iterator i = self->begin();
+ for (int j = 0; j < pysize; ++i, ++j) {
+ PyList_SetItem(keyList, j, swig::from(i->first));
+ }
+ return keyList;
+ }
+static PyObject *std_map_Sl_RinexPrn_Sc_int_Sg__values(std::map<RinexPrn,int > *self){
+ std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type size = self->size();
+ int pysize = (size <= (std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject* valList = PyTuple_New(pysize);
+ std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::const_iterator i = self->begin();
+ for (int j = 0; j < pysize; ++i, ++j) {
+ PyTuple_SetItem(valList, j, swig::from(i->second));
+ }
+ return valList;
+ }
+static PyObject *std_map_Sl_RinexPrn_Sc_int_Sg__items(std::map<RinexPrn,int > *self){
+ std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type size = self->size();
+ int pysize = (size <= (std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject* itemList = PyTuple_New(pysize);
+ std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::const_iterator i = self->begin();
+ for (int j = 0; j < pysize; ++i, ++j) {
+ PyTuple_SetItem(itemList, j, swig::from(*i));
+ }
+ return itemList;
+ }
+static bool std_map_Sl_RinexPrn_Sc_int_Sg____contains__(std::map<RinexPrn,int > *self,std::map<RinexPrn,int >::key_type const &key){
+ return self->find(key) != self->end();
+ }
+static PyObject *std_map_Sl_RinexPrn_Sc_int_Sg____iter__(std::map<RinexPrn,int > *self){
+ std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type size = self->size();
+ int pysize = (size <= (std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type) INT_MAX) ? (int) size : -1;
+ if (pysize < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "map size not valid in python");
+ return NULL;
+ }
+ PyObject* keyTuple = PyTuple_New(pysize);
+ std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::const_iterator i = self->begin();
+ for (int j = 0; j < pysize; ++i, ++j) {
+ PyTuple_SetItem(keyTuple, j, swig::from(i->first));
+ }
+#if PY_VERSION_HEX >= 0x02020000
+ PyObject* iter = PyObject_GetIter(keyTuple);
+ Py_DECREF(keyTuple);
+ return iter;
+#else
+ return keyTuple;
+#endif
+ }
+
+ /*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_unsigned_SS_char PyInt_FromLong
+/*@@*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_new_vectori__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_vectori")) goto fail;
+ result = (std::vector<int > *)new std::vector<int >();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_vectori__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = 0 ;
+ std::vector<int > *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_vectori",&obj0)) goto fail;
+ {
+ std::vector<int,std::allocator<int > > *ptr = (std::vector<int,std::allocator<int > > *)0;
+ res1 = swig::asptr(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::vector<int >", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::vector<int >");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::vector<int > *)new std::vector<int >((std::vector<int > const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_empty(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectori_empty",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((std::vector<int > const *)arg1)->empty();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_size(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::size_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectori_size",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::vector<int > const *)arg1)->size();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_clear(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectori_clear",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->clear();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_swap(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int > *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectori_swap",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::vector<int >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->swap(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_get_allocator(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ SwigValueWrapper<std::allocator<int > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectori_get_allocator",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::vector<int > const *)arg1)->get_allocator();
+
+ {
+ std::vector<int >::allocator_type * resultptr;
+ resultptr = new std::vector<int >::allocator_type((std::vector<int >::allocator_type &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t__allocator_type, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_vectori__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int >::size_type arg1 ;
+ std::vector<int > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_vectori",&obj0)) goto fail;
+ {
+ arg1 = (std::vector<int >::size_type)(SWIG_As_unsigned_SS_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (std::vector<int > *)new std::vector<int >(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_pop_back(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectori_pop_back",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->pop_back();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_resize__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::size_type arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectori_resize",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<int >::size_type)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->resize(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_vectori__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int >::size_type arg1 ;
+ std::vector<int >::value_type *arg2 = 0 ;
+ std::vector<int > *result;
+ std::vector<int >::value_type temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_vectori",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (std::vector<int >::size_type)(SWIG_As_unsigned_SS_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ temp2 = (std::vector<int >::value_type)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ result = (std::vector<int > *)new std::vector<int >(arg1,(int const &)*arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_vectori(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_vectori__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_Check_unsigned_SS_long(argv[0]);
+ if (_v) {
+ return _wrap_new_vectori__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
+ if (_v) {
+ return _wrap_new_vectori__SWIG_1(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_unsigned_SS_long(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_new_vectori__SWIG_3(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_vectori'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_push_back(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::value_type *arg2 = 0 ;
+ std::vector<int >::value_type temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectori_push_back",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (std::vector<int >::value_type)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ (arg1)->push_back((int const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_front(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::value_type *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectori_front",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::vector<int >::value_type const &_result_ref = ((std::vector<int > const *)arg1)->front();
+ result = (std::vector<int >::value_type *) &_result_ref;
+ }
+
+ {
+ resultobj = SWIG_From_int((int)(*result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_back(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::value_type *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectori_back",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::vector<int >::value_type const &_result_ref = ((std::vector<int > const *)arg1)->back();
+ result = (std::vector<int >::value_type *) &_result_ref;
+ }
+
+ {
+ resultobj = SWIG_From_int((int)(*result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_assign(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::size_type arg2 ;
+ std::vector<int >::value_type *arg3 = 0 ;
+ std::vector<int >::value_type temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:vectori_assign",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<int >::size_type)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ temp3 = (std::vector<int >::value_type)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ (arg1)->assign(arg2,(int const &)*arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_resize__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::size_type arg2 ;
+ std::vector<int >::value_type *arg3 = 0 ;
+ std::vector<int >::value_type temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:vectori_resize",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<int >::size_type)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ temp3 = (std::vector<int >::value_type)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ (arg1)->resize(arg2,(int const &)*arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_resize(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_vectori_resize__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_vectori_resize__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'vectori_resize'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_reserve(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::size_type arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectori_reserve",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<int >::size_type)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->reserve(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_capacity(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::size_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectori_capacity",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::vector<int > const *)arg1)->capacity();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori___nonzero__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectori___nonzero__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)std_vector_Sl_int_Sg____nonzero__((std::vector<int > const *)arg1);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori___len__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::size_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectori___len__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = std_vector_Sl_int_Sg____len__((std::vector<int > const *)arg1);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_pop(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::value_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectori_pop",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ try {
+ result = (std::vector<int >::value_type)std_vector_Sl_int_Sg__pop(arg1);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori___getslice__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::difference_type arg2 ;
+ std::vector<int >::difference_type arg3 ;
+ std::vector<int,std::allocator<int > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:vectori___getslice__",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<int >::difference_type)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (std::vector<int >::difference_type)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ try {
+ result = (std::vector<int,std::allocator<int > > *)std_vector_Sl_int_Sg____getslice__(arg1,arg2,arg3);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori___setslice__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::difference_type arg2 ;
+ std::vector<int >::difference_type arg3 ;
+ std::vector<int,std::allocator<int > > *arg4 = 0 ;
+ int res4 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:vectori___setslice__",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<int >::difference_type)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (std::vector<int >::difference_type)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ std::vector<int,std::allocator<int > > *ptr = (std::vector<int,std::allocator<int > > *)0;
+ res4 = swig::asptr(obj3, &ptr);
+ if (!res4) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::vector<int,std::allocator<int > >", obj3);
+ } else if (!ptr) {
+ SWIG_null_ref("std::vector<int,std::allocator<int > >");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ arg4 = ptr;
+ }
+ {
+ try {
+ std_vector_Sl_int_Sg____setslice__(arg1,arg2,arg3,(std::vector<int,std::allocator<int > > const &)*arg4);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ catch (std::invalid_argument& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_TypeError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ if (res4 == SWIG_NEWOBJ) delete arg4;
+ return resultobj;
+ fail:
+ if (res4 == SWIG_NEWOBJ) delete arg4;
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori___delslice__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::difference_type arg2 ;
+ std::vector<int >::difference_type arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:vectori___delslice__",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<int >::difference_type)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (std::vector<int >::difference_type)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ try {
+ std_vector_Sl_int_Sg____delslice__(arg1,arg2,arg3);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori___delitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::difference_type arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectori___delitem__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<int >::difference_type)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ try {
+ std_vector_Sl_int_Sg____delitem__(arg1,arg2);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori___getitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::difference_type arg2 ;
+ std::vector<int >::value_type *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectori___getitem__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<int >::difference_type)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ try {
+ {
+ std::vector<int >::value_type const &_result_ref = std_vector_Sl_int_Sg____getitem__((std::vector<int > const *)arg1,arg2);
+ result = (std::vector<int >::value_type *) &_result_ref;
+ }
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ {
+ resultobj = SWIG_From_int((int)(*result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori___setitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::difference_type arg2 ;
+ std::vector<int >::value_type *arg3 = 0 ;
+ std::vector<int >::value_type temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:vectori___setitem__",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<int >::difference_type)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ temp3 = (std::vector<int >::value_type)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ try {
+ std_vector_Sl_int_Sg____setitem__(arg1,arg2,(int const &)*arg3);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectori_append(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ std::vector<int >::value_type *arg2 = 0 ;
+ std::vector<int >::value_type temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectori_append",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (std::vector<int >::value_type)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ std_vector_Sl_int_Sg__append(arg1,(int const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_vectori(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_vectori",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * vectori_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_vectord__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_vectord")) goto fail;
+ result = (std::vector<double > *)new std::vector<double >();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_vectord__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = 0 ;
+ std::vector<double > *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_vectord",&obj0)) goto fail;
+ {
+ std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
+ res1 = swig::asptr(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::vector<double >", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::vector<double >");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::vector<double > *)new std::vector<double >((std::vector<double > const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_empty(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectord_empty",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((std::vector<double > const *)arg1)->empty();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_size(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::size_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectord_size",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::vector<double > const *)arg1)->size();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_clear(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectord_clear",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->clear();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_swap(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double > *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectord_swap",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::vector<double >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->swap(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_get_allocator(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ SwigValueWrapper<std::allocator<double > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectord_get_allocator",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::vector<double > const *)arg1)->get_allocator();
+
+ {
+ std::vector<double >::allocator_type * resultptr;
+ resultptr = new std::vector<double >::allocator_type((std::vector<double >::allocator_type &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_vectord__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double >::size_type arg1 ;
+ std::vector<double > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_vectord",&obj0)) goto fail;
+ {
+ arg1 = (std::vector<double >::size_type)(SWIG_As_unsigned_SS_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (std::vector<double > *)new std::vector<double >(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_pop_back(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectord_pop_back",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->pop_back();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_resize__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::size_type arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectord_resize",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<double >::size_type)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->resize(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_vectord__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double >::size_type arg1 ;
+ std::vector<double >::value_type *arg2 = 0 ;
+ std::vector<double > *result;
+ std::vector<double >::value_type temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_vectord",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (std::vector<double >::size_type)(SWIG_As_unsigned_SS_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ temp2 = (std::vector<double >::value_type)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ result = (std::vector<double > *)new std::vector<double >(arg1,(double const &)*arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_vectord(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_vectord__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_Check_unsigned_SS_long(argv[0]);
+ if (_v) {
+ return _wrap_new_vectord__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
+ if (_v) {
+ return _wrap_new_vectord__SWIG_1(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_unsigned_SS_long(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_new_vectord__SWIG_3(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_vectord'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_push_back(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::value_type *arg2 = 0 ;
+ std::vector<double >::value_type temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectord_push_back",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (std::vector<double >::value_type)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ (arg1)->push_back((double const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_front(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::value_type *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectord_front",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::vector<double >::value_type const &_result_ref = ((std::vector<double > const *)arg1)->front();
+ result = (std::vector<double >::value_type *) &_result_ref;
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(*result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_back(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::value_type *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectord_back",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::vector<double >::value_type const &_result_ref = ((std::vector<double > const *)arg1)->back();
+ result = (std::vector<double >::value_type *) &_result_ref;
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(*result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_assign(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::size_type arg2 ;
+ std::vector<double >::value_type *arg3 = 0 ;
+ std::vector<double >::value_type temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:vectord_assign",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<double >::size_type)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ temp3 = (std::vector<double >::value_type)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ (arg1)->assign(arg2,(double const &)*arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_resize__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::size_type arg2 ;
+ std::vector<double >::value_type *arg3 = 0 ;
+ std::vector<double >::value_type temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:vectord_resize",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<double >::size_type)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ temp3 = (std::vector<double >::value_type)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ (arg1)->resize(arg2,(double const &)*arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_resize(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_vectord_resize__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_vectord_resize__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'vectord_resize'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_reserve(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::size_type arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectord_reserve",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<double >::size_type)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->reserve(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_capacity(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::size_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectord_capacity",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::vector<double > const *)arg1)->capacity();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord___nonzero__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectord___nonzero__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)std_vector_Sl_double_Sg____nonzero__((std::vector<double > const *)arg1);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord___len__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::size_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectord___len__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = std_vector_Sl_double_Sg____len__((std::vector<double > const *)arg1);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_pop(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::value_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:vectord_pop",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ try {
+ result = (std::vector<double >::value_type)std_vector_Sl_double_Sg__pop(arg1);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord___getslice__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::difference_type arg2 ;
+ std::vector<double >::difference_type arg3 ;
+ std::vector<double,std::allocator<double > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:vectord___getslice__",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<double >::difference_type)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (std::vector<double >::difference_type)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ try {
+ result = (std::vector<double,std::allocator<double > > *)std_vector_Sl_double_Sg____getslice__(arg1,arg2,arg3);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord___setslice__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::difference_type arg2 ;
+ std::vector<double >::difference_type arg3 ;
+ std::vector<double,std::allocator<double > > *arg4 = 0 ;
+ int res4 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:vectord___setslice__",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<double >::difference_type)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (std::vector<double >::difference_type)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
+ res4 = swig::asptr(obj3, &ptr);
+ if (!res4) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::vector<double,std::allocator<double > >", obj3);
+ } else if (!ptr) {
+ SWIG_null_ref("std::vector<double,std::allocator<double > >");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ arg4 = ptr;
+ }
+ {
+ try {
+ std_vector_Sl_double_Sg____setslice__(arg1,arg2,arg3,(std::vector<double,std::allocator<double > > const &)*arg4);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ catch (std::invalid_argument& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_TypeError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ if (res4 == SWIG_NEWOBJ) delete arg4;
+ return resultobj;
+ fail:
+ if (res4 == SWIG_NEWOBJ) delete arg4;
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord___delslice__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::difference_type arg2 ;
+ std::vector<double >::difference_type arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:vectord___delslice__",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<double >::difference_type)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (std::vector<double >::difference_type)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ try {
+ std_vector_Sl_double_Sg____delslice__(arg1,arg2,arg3);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord___delitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::difference_type arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectord___delitem__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<double >::difference_type)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ try {
+ std_vector_Sl_double_Sg____delitem__(arg1,arg2);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord___getitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::difference_type arg2 ;
+ std::vector<double >::value_type *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectord___getitem__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<double >::difference_type)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ try {
+ {
+ std::vector<double >::value_type const &_result_ref = std_vector_Sl_double_Sg____getitem__((std::vector<double > const *)arg1,arg2);
+ result = (std::vector<double >::value_type *) &_result_ref;
+ }
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ {
+ resultobj = SWIG_From_double((double)(*result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord___setitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::difference_type arg2 ;
+ std::vector<double >::value_type *arg3 = 0 ;
+ std::vector<double >::value_type temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:vectord___setitem__",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::vector<double >::difference_type)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ temp3 = (std::vector<double >::value_type)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ try {
+ std_vector_Sl_double_Sg____setitem__(arg1,arg2,(double const &)*arg3);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_vectord_append(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ std::vector<double >::value_type *arg2 = 0 ;
+ std::vector<double >::value_type temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:vectord_append",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (std::vector<double >::value_type)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ std_vector_Sl_double_Sg__append(arg1,(double const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_vectord(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_vectord",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * vectord_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_exception(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::exception *arg1 = (std::exception *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_exception",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_exception_what(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::exception *arg1 = (std::exception *) 0 ;
+ char *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:exception_what",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (char *)((std::exception const *)arg1)->what();
+
+ resultobj = SWIG_FromCharPtr(result);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_exception(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::exception *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_exception")) goto fail;
+ result = (std::exception *)new std::exception();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__exception, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * exception_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__exception, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_bad_exception(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::bad_exception *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_bad_exception")) goto fail;
+ result = (std::bad_exception *)new std::bad_exception();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__bad_exception, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_bad_exception(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::bad_exception *arg1 = (std::bad_exception *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_bad_exception",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__bad_exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * bad_exception_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__bad_exception, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_logic_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ std::logic_error *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_logic_error",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::logic_error *)new std::logic_error((std::string const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__logic_error, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_logic_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::logic_error *arg1 = (std::logic_error *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_logic_error",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__logic_error, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * logic_error_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__logic_error, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_domain_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ std::domain_error *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_domain_error",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::domain_error *)new std::domain_error((std::string const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__domain_error, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_domain_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::domain_error *arg1 = (std::domain_error *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_domain_error",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__domain_error, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * domain_error_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__domain_error, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_invalid_argument(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ std::invalid_argument *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_invalid_argument",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::invalid_argument *)new std::invalid_argument((std::string const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__invalid_argument, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_invalid_argument(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::invalid_argument *arg1 = (std::invalid_argument *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_invalid_argument",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__invalid_argument, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * invalid_argument_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__invalid_argument, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_length_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ std::length_error *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_length_error",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::length_error *)new std::length_error((std::string const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__length_error, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_length_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::length_error *arg1 = (std::length_error *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_length_error",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__length_error, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * length_error_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__length_error, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_out_of_range(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ std::out_of_range *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_out_of_range",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::out_of_range *)new std::out_of_range((std::string const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__out_of_range, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_out_of_range(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::out_of_range *arg1 = (std::out_of_range *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_out_of_range",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__out_of_range, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * out_of_range_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__out_of_range, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_runtime_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ std::runtime_error *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_runtime_error",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::runtime_error *)new std::runtime_error((std::string const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__runtime_error, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_runtime_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::runtime_error *arg1 = (std::runtime_error *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_runtime_error",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__runtime_error, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * runtime_error_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__runtime_error, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_range_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ std::range_error *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_range_error",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::range_error *)new std::range_error((std::string const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__range_error, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_range_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::range_error *arg1 = (std::range_error *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_range_error",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__range_error, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * range_error_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__range_error, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_overflow_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ std::overflow_error *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_overflow_error",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::overflow_error *)new std::overflow_error((std::string const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__overflow_error, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_overflow_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::overflow_error *arg1 = (std::overflow_error *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_overflow_error",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__overflow_error, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * overflow_error_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__overflow_error, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_underflow_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ std::underflow_error *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_underflow_error",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::underflow_error *)new std::underflow_error((std::string const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__underflow_error, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_underflow_error(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::underflow_error *arg1 = (std::underflow_error *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_underflow_error",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__underflow_error, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * underflow_error_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__underflow_error, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static int _wrap_ios_base_boolalpha_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_boolalpha is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_boolalpha_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::boolalpha));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_dec_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_dec is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_dec_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::dec));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_fixed_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_fixed is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_fixed_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::fixed));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_hex_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_hex is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_hex_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::hex));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_internal_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_internal is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_internal_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::internal));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_left_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_left is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_left_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::left));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_oct_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_oct is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_oct_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::oct));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_right_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_right is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_right_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::right));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_scientific_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_scientific is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_scientific_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::scientific));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_showbase_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_showbase is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_showbase_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::showbase));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_showpoint_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_showpoint is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_showpoint_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::showpoint));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_showpos_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_showpos is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_showpos_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::showpos));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_skipws_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_skipws is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_skipws_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::skipws));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_unitbuf_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_unitbuf is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_unitbuf_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::unitbuf));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_uppercase_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_uppercase is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_uppercase_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::uppercase));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_adjustfield_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_adjustfield is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_adjustfield_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::adjustfield));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_basefield_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_basefield is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_basefield_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::basefield));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_floatfield_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_floatfield is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_floatfield_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::floatfield));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_badbit_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_badbit is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_badbit_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::iostate)(std::ios_base::badbit));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_eofbit_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_eofbit is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_eofbit_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::iostate)(std::ios_base::eofbit));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_failbit_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_failbit is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_failbit_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::iostate)(std::ios_base::failbit));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_goodbit_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_goodbit is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_goodbit_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::iostate)(std::ios_base::goodbit));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_app_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_app is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_app_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::openmode)(std::ios_base::app));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_ate_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_ate is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_ate_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::openmode)(std::ios_base::ate));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_binary_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_binary is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_binary_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::openmode)(std::ios_base::binary));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_ios_base_in_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_ios_base_in is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_ios_base_in_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::openmode)(std::ios_base::in));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_out_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_out is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_out_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::openmode)(std::ios_base::out));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_trunc_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_trunc is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_trunc_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::openmode)(std::ios_base::trunc));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_beg_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_beg is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_beg_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::seekdir)(std::ios_base::beg));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_cur_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_cur is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_cur_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::seekdir)(std::ios_base::cur));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_ios_base_end_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable ios_base_end is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_ios_base_end_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((std::ios_base::seekdir)(std::ios_base::end));
+ }
+ return pyobj;
+}
+
+
+static PyObject *_wrap_ios_base_register_callback(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ std::ios_base::event_callback arg2 = (std::ios_base::event_callback) 0 ;
+ int arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:ios_base_register_callback",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_enum_std__ios_base__event_r_std__ios_base_int__void, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ arg3 = (int)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ (arg1)->register_callback(arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_flags__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ std::ios_base::fmtflags result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_base_flags",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::ios_base::fmtflags)((std::ios_base const *)arg1)->flags();
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_flags__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ std::ios_base::fmtflags arg2 ;
+ std::ios_base::fmtflags result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_flags",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::ios_base::fmtflags)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (std::ios_base::fmtflags)(arg1)->flags(arg2);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_flags(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ios_base_flags__SWIG_0(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_ios_base_flags__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_base_flags'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_setf__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ std::ios_base::fmtflags arg2 ;
+ std::ios_base::fmtflags result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_setf",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::ios_base::fmtflags)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (std::ios_base::fmtflags)(arg1)->setf(arg2);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_setf__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ std::ios_base::fmtflags arg2 ;
+ std::ios_base::fmtflags arg3 ;
+ std::ios_base::fmtflags result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:ios_base_setf",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::ios_base::fmtflags)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (std::ios_base::fmtflags)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (std::ios_base::fmtflags)(arg1)->setf(arg2,arg3);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_setf(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_ios_base_setf__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_ios_base_setf__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_base_setf'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_unsetf(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ std::ios_base::fmtflags arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_unsetf",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::ios_base::fmtflags)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->unsetf(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_precision__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ std::streamsize result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_base_precision",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::ios_base const *)arg1)->precision();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_precision__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ std::streamsize arg2 ;
+ std::streamsize result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_precision",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (arg1)->precision(arg2);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_precision(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ios_base_precision__SWIG_0(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_ios_base_precision__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_base_precision'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_width__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ std::streamsize result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_base_width",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::ios_base const *)arg1)->width();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_width__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ std::streamsize arg2 ;
+ std::streamsize result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_width",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (arg1)->width(arg2);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_width(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ios_base_width__SWIG_0(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_ios_base_width__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_base_width'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_sync_with_stdio__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ bool arg1 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_base_sync_with_stdio",&obj0)) goto fail;
+ {
+ arg1 = (bool)(SWIG_As_bool(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (bool)std::ios_base::sync_with_stdio(arg1);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_sync_with_stdio__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ bool result;
+
+ if(!PyArg_ParseTuple(args,(char *)":ios_base_sync_with_stdio")) goto fail;
+ result = (bool)std::ios_base::sync_with_stdio();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_sync_with_stdio(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[2];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_ios_base_sync_with_stdio__SWIG_1(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_Check_bool(argv[0]);
+ if (_v) {
+ return _wrap_ios_base_sync_with_stdio__SWIG_0(self,args);
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_base_sync_with_stdio'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_imbue(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ std::locale *arg2 = 0 ;
+ std::locale result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_imbue",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__locale, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::locale");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (arg1)->imbue((std::locale const &)*arg2);
+
+ {
+ std::locale * resultptr;
+ resultptr = new std::locale((std::locale &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__locale, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_getloc(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ std::locale result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_base_getloc",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::ios_base const *)arg1)->getloc();
+
+ {
+ std::locale * resultptr;
+ resultptr = new std::locale((std::locale &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__locale, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_xalloc(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ int result;
+
+ if(!PyArg_ParseTuple(args,(char *)":ios_base_xalloc")) goto fail;
+ result = (int)std::ios_base::xalloc();
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_iword(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ int arg2 ;
+ long *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_iword",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ long &_result_ref = (arg1)->iword(arg2);
+ result = (long *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_long, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_pword(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ int arg2 ;
+ void **result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_pword",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ void *&_result_ref = (arg1)->pword(arg2);
+ result = (void **) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_p_void, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ios_base(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios_base *arg1 = (std::ios_base *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ios_base",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ios_base_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__ios_base, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ios_rdstate(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::ios_base::iostate result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_rdstate",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::ios_base::iostate)((std::basic_ios<char > const *)arg1)->rdstate();
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_clear__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::ios_base::iostate arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_clear",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::ios_base::iostate)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->clear(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_clear__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_clear",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->clear();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_clear(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ios_clear__SWIG_1(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_ios_clear__SWIG_0(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_clear'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_setstate(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::ios_base::iostate arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_setstate",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::ios_base::iostate)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->setstate(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_good(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_good",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((std::basic_ios<char > const *)arg1)->good();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_eof(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_eof",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((std::basic_ios<char > const *)arg1)->eof();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_fail(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_fail",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((std::basic_ios<char > const *)arg1)->fail();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_bad(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_bad",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((std::basic_ios<char > const *)arg1)->bad();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_exceptions__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::ios_base::iostate result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_exceptions",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::ios_base::iostate)((std::basic_ios<char > const *)arg1)->exceptions();
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_exceptions__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::ios_base::iostate arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_exceptions",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::ios_base::iostate)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->exceptions(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_exceptions(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ios_exceptions__SWIG_0(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_ios_exceptions__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_exceptions'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ios(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_streambuf<char,std::char_traits<char > > *arg1 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+ std::basic_ios<char > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_ios",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::basic_ios<char > *)new std::basic_ios<char >(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ios(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ios",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_tie__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_tie",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::basic_ostream<char,std::char_traits<char > > *)((std::basic_ios<char > const *)arg1)->tie();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_tie__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *arg2 = (std::basic_ostream<char,std::char_traits<char > > *) 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_tie",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ result = (std::basic_ostream<char,std::char_traits<char > > *)(arg1)->tie(arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_tie(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ios_tie__SWIG_0(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ios_tie__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_tie'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_rdbuf__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::basic_streambuf<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_rdbuf",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::basic_streambuf<char,std::char_traits<char > > *)((std::basic_ios<char > const *)arg1)->rdbuf();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_rdbuf__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::basic_streambuf<char,std::char_traits<char > > *arg2 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+ std::basic_streambuf<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_rdbuf",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ result = (std::basic_streambuf<char,std::char_traits<char > > *)(arg1)->rdbuf(arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_rdbuf(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ios_rdbuf__SWIG_0(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ios_rdbuf__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_rdbuf'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_copyfmt(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::basic_ios<char > *arg2 = 0 ;
+ std::basic_ios<char > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_copyfmt",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::basic_ios<char >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ios<char > &_result_ref = (arg1)->copyfmt((std::basic_ios<char > const &)*arg2);
+ result = (std::basic_ios<char > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_fill__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::basic_ios<char >::char_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ios_fill",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::basic_ios<char >::char_type)((std::basic_ios<char > const *)arg1)->fill();
+
+ {
+ resultobj = SWIG_From_char((char)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_fill__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::basic_ios<char >::char_type arg2 ;
+ std::basic_ios<char >::char_type result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_fill",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::basic_ios<char >::char_type)(SWIG_As_char(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (std::basic_ios<char >::char_type)(arg1)->fill(arg2);
+
+ {
+ resultobj = SWIG_From_char((char)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_fill(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ios_fill__SWIG_0(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_char(argv[1]);
+ if (_v) {
+ return _wrap_ios_fill__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_fill'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_imbue(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::locale *arg2 = 0 ;
+ std::locale result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_imbue",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__locale, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::locale");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (arg1)->imbue((std::locale const &)*arg2);
+
+ {
+ std::locale * resultptr;
+ resultptr = new std::locale((std::locale &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__locale, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_narrow(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ std::basic_ios<char >::char_type arg2 ;
+ char arg3 ;
+ char result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:ios_narrow",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::basic_ios<char >::char_type)(SWIG_As_char(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (char)(SWIG_As_char(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (char)((std::basic_ios<char > const *)arg1)->narrow(arg2,arg3);
+
+ {
+ resultobj = SWIG_From_char((char)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_widen(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+ char arg2 ;
+ std::basic_ios<char >::char_type result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ios_widen",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (char)(SWIG_As_char(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (std::basic_ios<char >::char_type)((std::basic_ios<char > const *)arg1)->widen(arg2);
+
+ {
+ resultobj = SWIG_From_char((char)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ios_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static int _wrap_cin_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable cin is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_cin_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&std::cin), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return pyobj;
+}
+
+
+static int _wrap_cout_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable cout is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_cout_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&std::cout), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return pyobj;
+}
+
+
+static int _wrap_cerr_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable cerr is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_cerr_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&std::cerr), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return pyobj;
+}
+
+
+static int _wrap_clog_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable clog is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_clog_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&std::clog), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return pyobj;
+}
+
+
+static PyObject *_wrap_new_ostream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_streambuf<char,std::char_traits<char > > *arg1 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+ std::basic_ostream<char > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_ostream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::basic_ostream<char > *)new std::basic_ostream<char >(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ostream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ostream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ std::basic_ostream<char,std::char_traits<char > > &(*arg2)(std::basic_ostream<char,std::char_traits<char > > &) = (std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(*arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ std::basic_ios<char,std::char_traits<char > > &(*arg2)(std::basic_ios<char,std::char_traits<char > > &) = (std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(*arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ std::ios_base &(*arg2)(std::ios_base &) = (std::ios_base &(*)(std::ios_base &)) 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_r_std__ios_base__r_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(*arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ long arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ unsigned long arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ bool arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (bool)(SWIG_As_bool(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_6(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ short arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_7(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ unsigned short arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned short)(SWIG_As_unsigned_SS_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_8(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ int arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_9(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ unsigned int arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_10(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ long long arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long long)(SWIG_As_long_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_11(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ unsigned long long arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned long long)(SWIG_As_unsigned_SS_long_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_12(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ double arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_13(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ float arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (float)(SWIG_As_float(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_14(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ long double arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ long double * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("long double");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_15(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ void *arg2 = (void *) 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ if ((SWIG_ConvertPtr(obj1,(void **)(&arg2),0,SWIG_POINTER_EXCEPTION|0))== -1) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<((void const *)arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_16(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ std::basic_streambuf<char,std::char_traits<char > > *arg2 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_17(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ std::basic_string<char,std::char_traits<char >,std::allocator<char > > *arg2 = 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::basic_string<char,std::char_traits<char >,std::allocator<char > >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = std_basic_ostream_Sl_char_Sg__operator_Sl__Sl___SWIG_17(arg1,(std::basic_string<char,std::char_traits<char >,std::allocator<char > > const &)*arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift__(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_f_r_std__ios_base__r_std__ios_base, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_2(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_14(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_16(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_17(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, 0, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_15(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_short(argv[1]);
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_7(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_6(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_int(argv[1]);
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_9(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_8(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_long(argv[1]);
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_3(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_11(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_long_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_10(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_float(argv[1]);
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_13(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_12(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_bool(argv[1]);
+ if (_v) {
+ return _wrap_ostream___lshift____SWIG_5(self,args);
+ }
+ }
+ }
+
+ Py_INCREF(Py_NotImplemented);
+ return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap_ostream_put(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ std::basic_ostream<char >::char_type arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream_put",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::basic_ostream<char >::char_type)(SWIG_As_char(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->put(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream_write(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ std::basic_ostream<char >::char_type *arg2 = (std::basic_ostream<char >::char_type *) 0 ;
+ std::streamsize arg3 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:ostream_write",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->write((std::basic_ostream<char >::char_type const *)arg2,arg3);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream_flush(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ostream_flush",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->flush();
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream_tellp(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ std::basic_ostream<char >::pos_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ostream_tellp",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (arg1)->tellp();
+
+ {
+ std::basic_ostream<char >::pos_type * resultptr;
+ resultptr = new std::basic_ostream<char >::pos_type((std::basic_ostream<char >::pos_type &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream_seekp__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ std::basic_ostream<char >::pos_type arg2 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ostream_seekp",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::basic_ostream<char >::pos_type * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::basic_ostream<char >::pos_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->seekp(arg2);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream_seekp__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+ std::basic_ostream<char >::off_type arg2 ;
+ std::ios_base::seekdir arg3 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:ostream_seekp",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::basic_ostream<char >::off_type * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::basic_ostream<char >::off_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ {
+ arg3 = (std::ios_base::seekdir)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->seekp(arg2,arg3);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ostream_seekp(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_ostream_seekp__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_ostream_seekp__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ostream_seekp'");
+ return NULL;
+}
+
+
+static PyObject * ostream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_istream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_streambuf<char,std::char_traits<char > > *arg1 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+ std::basic_istream<char > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_istream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::basic_istream<char > *)new std::basic_istream<char >(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_istream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_istream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char,std::char_traits<char > > &(*arg2)(std::basic_istream<char,std::char_traits<char > > &) = (std::basic_istream<char,std::char_traits<char > > &(*)(std::basic_istream<char,std::char_traits<char > > &)) 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_ios<char,std::char_traits<char > > &(*arg2)(std::basic_ios<char,std::char_traits<char > > &) = (std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::ios_base &(*arg2)(std::ios_base &) = (std::ios_base &(*)(std::ios_base &)) 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_r_std__ios_base__r_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ bool *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_bool, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("bool");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ short *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_short, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("short");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ unsigned short *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_unsigned_short, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("unsigned short");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_6(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ int *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_7(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ unsigned int *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_unsigned_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("unsigned int");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_8(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ long *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("long");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_9(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ unsigned long *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_unsigned_long, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("unsigned long");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_10(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ long long *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_long_long, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("long long");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_11(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ unsigned long long *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_unsigned_long_long, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("unsigned long long");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_12(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ float *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_float, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("float");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_13(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ double *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("double");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_14(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ long double *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("long double");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_15(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ void **arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_p_void, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("void");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_16(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_streambuf<char,std::char_traits<char > > *arg2 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift__(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_f_r_std__ios_base__r_std__ios_base, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_2(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_bool, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_3(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_short, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_unsigned_short, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_5(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_int, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_6(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_unsigned_int, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_7(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_8(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_unsigned_long, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_9(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_long, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_10(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_unsigned_long_long, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_11(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_float, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_12(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_13(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_14(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_p_void, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_15(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream___rshift____SWIG_16(self,args);
+ }
+ }
+ }
+
+ Py_INCREF(Py_NotImplemented);
+ return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap_istream_gcount(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::streamsize result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:istream_gcount",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::basic_istream<char > const *)arg1)->gcount();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_get__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::int_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:istream_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::basic_istream<char >::int_type)(arg1)->get();
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_get__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::char_type *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream_get",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::basic_istream<char >::char_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->get(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_get__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::char_type *arg2 = (std::basic_istream<char >::char_type *) 0 ;
+ std::streamsize arg3 ;
+ std::basic_istream<char >::char_type arg4 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:istream_get",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (std::basic_istream<char >::char_type)(SWIG_As_char(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->get(arg2,arg3,arg4);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_get__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::char_type *arg2 = (std::basic_istream<char >::char_type *) 0 ;
+ std::streamsize arg3 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:istream_get",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->get(arg2,arg3);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_get__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_streambuf<char,std::char_traits<char > > *arg2 = 0 ;
+ std::basic_istream<char >::char_type arg3 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:istream_get",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::basic_streambuf<char,std::char_traits<char > >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (std::basic_istream<char >::char_type)(SWIG_As_char(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->get(*arg2,arg3);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_get__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_streambuf<char,std::char_traits<char > > *arg2 = 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream_get",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::basic_streambuf<char,std::char_traits<char > >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->get(*arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_get(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream_get__SWIG_0(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream_get__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream_get__SWIG_5(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_char(argv[2]);
+ if (_v) {
+ return _wrap_istream_get__SWIG_4(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_AsCharPtr(argv[1], (char **)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[2]);
+ if (_v) {
+ return _wrap_istream_get__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_AsCharPtr(argv[1], (char **)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_char(argv[3]);
+ if (_v) {
+ return _wrap_istream_get__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'istream_get'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_getline__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::char_type *arg2 = (std::basic_istream<char >::char_type *) 0 ;
+ std::streamsize arg3 ;
+ std::basic_istream<char >::char_type arg4 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:istream_getline",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (std::basic_istream<char >::char_type)(SWIG_As_char(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->getline(arg2,arg3,arg4);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_getline__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::char_type *arg2 = (std::basic_istream<char >::char_type *) 0 ;
+ std::streamsize arg3 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:istream_getline",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->getline(arg2,arg3);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_getline(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_AsCharPtr(argv[1], (char **)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[2]);
+ if (_v) {
+ return _wrap_istream_getline__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_AsCharPtr(argv[1], (char **)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_char(argv[3]);
+ if (_v) {
+ return _wrap_istream_getline__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'istream_getline'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_ignore__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::streamsize arg2 ;
+ std::basic_istream<char >::int_type arg3 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:istream_ignore",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (std::basic_istream<char >::int_type)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->ignore(arg2,arg3);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_ignore__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::streamsize arg2 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream_ignore",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->ignore(arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_ignore__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:istream_ignore",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->ignore();
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_ignore(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream_ignore__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_istream_ignore__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_istream_ignore__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'istream_ignore'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_peek(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::int_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:istream_peek",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::basic_istream<char >::int_type)(arg1)->peek();
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_read(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::char_type *arg2 = (std::basic_istream<char >::char_type *) 0 ;
+ std::streamsize arg3 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:istream_read",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->read(arg2,arg3);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_readsome(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::char_type *arg2 = (std::basic_istream<char >::char_type *) 0 ;
+ std::streamsize arg3 ;
+ std::streamsize result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:istream_readsome",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (arg1)->readsome(arg2,arg3);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_putback(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::char_type arg2 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream_putback",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (std::basic_istream<char >::char_type)(SWIG_As_char(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->putback(arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_unget(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:istream_unget",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->unget();
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_sync(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:istream_sync",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int)(arg1)->sync();
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_tellg(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::pos_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:istream_tellg",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (arg1)->tellg();
+
+ {
+ std::basic_istream<char >::pos_type * resultptr;
+ resultptr = new std::basic_istream<char >::pos_type((std::basic_istream<char >::pos_type &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_seekg__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::pos_type arg2 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:istream_seekg",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::basic_istream<char >::pos_type * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::basic_istream<char >::pos_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->seekg(arg2);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_seekg__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+ std::basic_istream<char >::off_type arg2 ;
+ std::ios_base::seekdir arg3 ;
+ std::basic_istream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:istream_seekg",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::basic_istream<char >::off_type * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::basic_istream<char >::off_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ {
+ arg3 = (std::ios_base::seekdir)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->seekg(arg2,arg3);
+ result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_istream_seekg(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_istream_seekg__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_istream_seekg__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'istream_seekg'");
+ return NULL;
+}
+
+
+static PyObject * istream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_iostream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_streambuf<char,std::char_traits<char > > *arg1 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+ std::basic_iostream<char > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_iostream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::basic_iostream<char > *)new std::basic_iostream<char >(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_iostreamTchar_std__char_traitsTchar_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_iostream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_iostream<char > *arg1 = (std::basic_iostream<char > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_iostream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * iostream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__basic_iostreamTchar_std__char_traitsTchar_t_t, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_endl(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char,std::char_traits<char > > *arg1 = 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:endl",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::basic_ostream<char,std::char_traits<char > >");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = std::SWIGTEMPLATEDISAMBIGUATOR endl<char,std::char_traits<char > >(*arg1);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ends(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char,std::char_traits<char > > *arg1 = 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ends",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::basic_ostream<char,std::char_traits<char > >");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = std::SWIGTEMPLATEDISAMBIGUATOR ends<char,std::char_traits<char > >(*arg1);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_flush(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::basic_ostream<char,std::char_traits<char > > *arg1 = 0 ;
+ std::basic_ostream<char,std::char_traits<char > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:flush",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::basic_ostream<char,std::char_traits<char > >");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ std::basic_ostream<char,std::char_traits<char > > &_result_ref = std::SWIGTEMPLATEDISAMBIGUATOR flush<char,std::char_traits<char > >(*arg1);
+ result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static int _wrap_PI_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable PI is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_PI_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::PI));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_TWO_PI_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable TWO_PI is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_TWO_PI_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::TWO_PI));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_SQRT_PI_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable SQRT_PI is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_SQRT_PI_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::SQRT_PI));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_REL_CONST_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable REL_CONST is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_REL_CONST_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::REL_CONST));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_OSC_FREQ_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable OSC_FREQ is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_OSC_FREQ_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::OSC_FREQ));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_C_GPS_M_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable C_GPS_M is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_C_GPS_M_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::C_GPS_M));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RSVCLK_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RSVCLK is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RSVCLK_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::RSVCLK));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_L1_FREQ_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable L1_FREQ is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_L1_FREQ_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::L1_FREQ));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_L2_FREQ_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable L2_FREQ is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_L2_FREQ_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::L2_FREQ));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_L1_MULT_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable L1_MULT is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_L1_MULT_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::L1_MULT));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_L2_MULT_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable L2_MULT is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_L2_MULT_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::L2_MULT));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_SV_ACCURACY_MAX_INDEX_VALUE_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable SV_ACCURACY_MAX_INDEX_VALUE is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_SV_ACCURACY_MAX_INDEX_VALUE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((int)(gpstk::SV_ACCURACY_MAX_INDEX_VALUE));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_SV_ACCURACY_MIN_INDEX_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable SV_ACCURACY_MIN_INDEX is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_SV_ACCURACY_MIN_INDEX_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(gpstk::SV_ACCURACY_MIN_INDEX), SWIGTYPE_p_double, 0);
+ return pyobj;
+}
+
+
+static int _wrap_SV_ACCURACY_MAX_INDEX_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable SV_ACCURACY_MAX_INDEX is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_SV_ACCURACY_MAX_INDEX_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(gpstk::SV_ACCURACY_MAX_INDEX), SWIGTYPE_p_double, 0);
+ return pyobj;
+}
+
+
+static PyObject *_wrap_accuracy2ura(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ short result;
+ double temp1 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:accuracy2ura",&obj0)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ result = (short)gpstk::accuracy2ura((double const &)*arg1);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ura2accuracy(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short *arg1 = 0 ;
+ double result;
+ short temp1 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ura2accuracy",&obj0)) goto fail;
+ {
+ temp1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ result = (double)gpstk::ura2accuracy((short const &)*arg1);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_out(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios::openmode result;
+
+ if(!PyArg_ParseTuple(args,(char *)":ios_out")) goto fail;
+ result = ios_out();
+
+ {
+ std::ios::openmode * resultptr;
+ resultptr = new std::ios::openmode((std::ios::openmode &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__ios__openmode, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_in(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios::openmode result;
+
+ if(!PyArg_ParseTuple(args,(char *)":ios_in")) goto fail;
+ result = ios_in();
+
+ {
+ std::ios::openmode * resultptr;
+ resultptr = new std::ios::openmode((std::ios::openmode &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__ios__openmode, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ios_out_trunc(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ios::openmode result;
+
+ if(!PyArg_ParseTuple(args,(char *)":ios_out_trunc")) goto fail;
+ result = ios_out_trunc();
+
+ {
+ std::ios::openmode * resultptr;
+ resultptr = new std::ios::openmode((std::ios::openmode &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__ios__openmode, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_read(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ FFStream *arg1 = 0 ;
+ FFData *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:read",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("FFStream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("FFData");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)read(*arg1,(FFData const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_write(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ FFStream *arg1 = 0 ;
+ FFData *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:write",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("FFStream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("FFData");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)write(*arg1,*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_find(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsData *arg1 = 0 ;
+ RinexPrn arg2 ;
+ RinexObsData::RinexPrnMap::iterator result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap_find",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("RinexObsData");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ RinexPrn * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("RinexPrn");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = RinexPrnMap_find(*arg1,arg2);
+
+ {
+ RinexObsData::RinexPrnMap::iterator * resultptr;
+ resultptr = new RinexObsData::RinexPrnMap::iterator((RinexObsData::RinexPrnMap::iterator &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_end(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsData *arg1 = 0 ;
+ RinexObsData::RinexPrnMap::iterator result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_end",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("RinexObsData");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = RinexPrnMap_end(*arg1);
+
+ {
+ RinexObsData::RinexPrnMap::iterator * resultptr;
+ resultptr = new RinexObsData::RinexPrnMap::iterator((RinexObsData::RinexPrnMap::iterator &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_getPseudoRangeCode__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsData arg1 ;
+ RinexPrn arg2 ;
+ RinexObsType arg3 ;
+ RinexObsData::RinexDatum result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:getPseudoRangeCode",&obj0,&obj1,&obj2)) goto fail;
+ {
+ RinexObsData * argp;
+ SWIG_Python_ConvertPtr(obj0, (void **)&argp, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("RinexObsData");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *argp;
+ }
+ {
+ RinexPrn * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("RinexPrn");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ {
+ RinexObsType * argp;
+ SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("RinexObsType");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *argp;
+ }
+ result = getPseudoRangeCode(arg1,arg2,arg3);
+
+ {
+ RinexObsData::RinexDatum * resultptr;
+ resultptr = new RinexObsData::RinexDatum((RinexObsData::RinexDatum &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_RinexDatum, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_getPseudoRangeCode__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsData::RinexPrnMap::iterator arg1 ;
+ RinexObsHeader::RinexObsType arg2 ;
+ RinexObsData::RinexDatum result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:getPseudoRangeCode",&obj0,&obj1)) goto fail;
+ {
+ RinexObsData::RinexPrnMap::iterator * argp;
+ SWIG_Python_ConvertPtr(obj0, (void **)&argp, SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("RinexObsData::RinexPrnMap::iterator");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *argp;
+ }
+ {
+ RinexObsHeader::RinexObsType * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("RinexObsHeader::RinexObsType");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = getPseudoRangeCode(arg1,arg2);
+
+ {
+ RinexObsData::RinexDatum * resultptr;
+ resultptr = new RinexObsData::RinexDatum((RinexObsData::RinexDatum &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_RinexDatum, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_getPseudoRangeCode(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_getPseudoRangeCode__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexObsData, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_getPseudoRangeCode__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'getPseudoRangeCode'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_compare(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsData::RinexPrnMap::iterator arg1 ;
+ RinexObsData::RinexPrnMap::iterator arg2 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap_compare",&obj0,&obj1)) goto fail;
+ {
+ RinexObsData::RinexPrnMap::iterator * argp;
+ SWIG_Python_ConvertPtr(obj0, (void **)&argp, SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("RinexObsData::RinexPrnMap::iterator");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *argp;
+ }
+ {
+ RinexObsData::RinexPrnMap::iterator * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("RinexObsData::RinexPrnMap::iterator");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = (bool)RinexPrnMap_compare(arg1,arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_FFData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFData *arg1 = (gpstk::FFData *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FFData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFData_putRecord(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFData *arg1 = (gpstk::FFData *) 0 ;
+ gpstk::FFStream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FFData_putRecord",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::FFStream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ ((gpstk::FFData const *)arg1)->putRecord(*arg2);
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(gpstk::StringUtils::StringException &_e) {
+ {
+ gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+ if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFData_getRecord(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFData *arg1 = (gpstk::FFData *) 0 ;
+ gpstk::FFStream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FFData_getRecord",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::FFStream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ (arg1)->getRecord(*arg2);
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(gpstk::StringUtils::StringException &_e) {
+ {
+ gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+ if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFData_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFData *arg1 = (gpstk::FFData *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FFData_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::FFData const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFData_isHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFData *arg1 = (gpstk::FFData *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FFData_isHeader",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::FFData const *)arg1)->isHeader();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFData_isData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFData *arg1 = (gpstk::FFData *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FFData_isData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::FFData const *)arg1)->isData();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::FFData *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::FFData");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::FFData const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(gpstk::StringUtils::StringException &_e) {
+ {
+ gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+ if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamWrite(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::istream *arg1 = 0 ;
+ gpstk::FFData *arg2 = 0 ;
+ std::istream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamWrite",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::istream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::FFData");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ std::istream &_result_ref = operator >>(*arg1,*arg2);
+ result = (std::istream *) &_result_ref;
+ }
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(gpstk::StringUtils::StringException &_e) {
+ {
+ gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+ if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * FFData_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__FFData, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_FFStream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FFStream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FFStream__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFStream *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_FFStream")) goto fail;
+ result = (gpstk::FFStream *)new gpstk::FFStream();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FFStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FFStream__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ std::ios::openmode arg2 ;
+ gpstk::FFStream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_FFStream",&obj0,&obj1)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = (gpstk::FFStream *)new gpstk::FFStream((char const *)arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FFStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FFStream__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ gpstk::FFStream *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FFStream",&obj0)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ result = (gpstk::FFStream *)new gpstk::FFStream((char const *)arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FFStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FFStream(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_FFStream__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ return _wrap_new_FFStream__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_FFStream__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FFStream'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_open(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+ char *arg2 = (char *) 0 ;
+ std::ios::openmode arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:FFStream_open",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *argp;
+ }
+ (arg1)->open((char const *)arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_conditionalThrow(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FFStream_conditionalThrow",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ (arg1)->conditionalThrow();
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_mostRecentException_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+ FFStreamError arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FFStream_mostRecentException_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ FFStreamError * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_FFStreamError, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("FFStreamError");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ if (arg1) (arg1)->mostRecentException = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_mostRecentException_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+ FFStreamError result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FFStream_mostRecentException_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((arg1)->mostRecentException);
+
+ {
+ FFStreamError * resultptr;
+ resultptr = new FFStreamError((FFStreamError &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_FFStreamError, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_recordNumber_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+ unsigned int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FFStream_recordNumber_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->recordNumber = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_recordNumber_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+ unsigned int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FFStream_recordNumber_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned int) ((arg1)->recordNumber);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_filename_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FFStream_filename_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->filename = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_filename_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FFStream_filename_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->filename);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * FFStream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__FFStream, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_FFTextStream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFTextStream *arg1 = (gpstk::FFTextStream *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FFTextStream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFTextStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FFTextStream__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFTextStream *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_FFTextStream")) goto fail;
+ result = (gpstk::FFTextStream *)new gpstk::FFTextStream();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FFTextStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FFTextStream__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ std::ios::openmode arg2 ;
+ gpstk::FFTextStream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_FFTextStream",&obj0,&obj1)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = (gpstk::FFTextStream *)new gpstk::FFTextStream((char const *)arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FFTextStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FFTextStream__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ gpstk::FFTextStream *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FFTextStream",&obj0)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ result = (gpstk::FFTextStream *)new gpstk::FFTextStream((char const *)arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FFTextStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FFTextStream(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_FFTextStream__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ return _wrap_new_FFTextStream__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_FFTextStream__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FFTextStream'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFTextStream_open(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFTextStream *arg1 = (gpstk::FFTextStream *) 0 ;
+ char *arg2 = (char *) 0 ;
+ std::ios::openmode arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:FFTextStream_open",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFTextStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *argp;
+ }
+ (arg1)->open((char const *)arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFTextStream_lineNumber_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFTextStream *arg1 = (gpstk::FFTextStream *) 0 ;
+ unsigned int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FFTextStream_lineNumber_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFTextStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->lineNumber = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFTextStream_lineNumber_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFTextStream *arg1 = (gpstk::FFTextStream *) 0 ;
+ unsigned int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FFTextStream_lineNumber_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFTextStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned int) ((arg1)->lineNumber);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFTextStream_formattedGetLine__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFTextStream *arg1 = (gpstk::FFTextStream *) 0 ;
+ std::string *arg2 = 0 ;
+ bool arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:FFTextStream_formattedGetLine",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFTextStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (bool const)(SWIG_As_bool(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ (arg1)->formattedGetLine(*arg2,arg3);
+ }
+ catch(EndOfFile &_e) {
+ {
+ EndOfFile * temp = new EndOfFile(_e);
+ if (SWIGTYPE_p_EndOfFile->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_EndOfFile->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_EndOfFile,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"EndOfFile");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_EndOfFile,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(gpstk::StringUtils::StringException &_e) {
+ {
+ gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+ if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFTextStream_formattedGetLine__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FFTextStream *arg1 = (gpstk::FFTextStream *) 0 ;
+ std::string *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FFTextStream_formattedGetLine",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFTextStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ (arg1)->formattedGetLine(*arg2);
+ }
+ catch(EndOfFile &_e) {
+ {
+ EndOfFile * temp = new EndOfFile(_e);
+ if (SWIGTYPE_p_EndOfFile->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_EndOfFile->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_EndOfFile,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"EndOfFile");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_EndOfFile,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(gpstk::StringUtils::StringException &_e) {
+ {
+ gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+ if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FFTextStream_formattedGetLine(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FFTextStream, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__string, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_FFTextStream_formattedGetLine__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FFTextStream, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__string, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_bool(argv[2]);
+ if (_v) {
+ return _wrap_FFTextStream_formattedGetLine__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'FFTextStream_formattedGetLine'");
+ return NULL;
+}
+
+
+static PyObject * FFTextStream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__FFTextStream, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ExceptionLocation__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ std::string *arg2 = 0 ;
+ unsigned long *arg3 = 0 ;
+ gpstk::ExceptionLocation *result;
+ int res1 = 0 ;
+ int res2 = 0 ;
+ unsigned long temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_ExceptionLocation",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ {
+ temp3 = (unsigned long)(SWIG_As_unsigned_SS_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation((std::string const &)*arg1,(std::string const &)*arg2,(unsigned long const &)*arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ExceptionLocation, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ExceptionLocation__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ std::string *arg2 = 0 ;
+ gpstk::ExceptionLocation *result;
+ int res1 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_ExceptionLocation",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation((std::string const &)*arg1,(std::string const &)*arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ExceptionLocation, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ExceptionLocation__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ gpstk::ExceptionLocation *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_ExceptionLocation",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation((std::string const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ExceptionLocation, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ExceptionLocation__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ExceptionLocation *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_ExceptionLocation")) goto fail;
+ result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ExceptionLocation, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ExceptionLocation(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_ExceptionLocation__SWIG_3(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_ExceptionLocation__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_ExceptionLocation__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[2]);
+ if (_v) {
+ return _wrap_new_ExceptionLocation__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_ExceptionLocation'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ExceptionLocation(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ExceptionLocation",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ExceptionLocation_getFileName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ExceptionLocation_getFileName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::ExceptionLocation const *)arg1)->getFileName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ExceptionLocation_getFunctionName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ExceptionLocation_getFunctionName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::ExceptionLocation const *)arg1)->getFunctionName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ExceptionLocation_getLineNumber(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+ unsigned long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ExceptionLocation_getLineNumber",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned long)((gpstk::ExceptionLocation const *)arg1)->getLineNumber();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ExceptionLocation_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ExceptionLocation_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::ExceptionLocation const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::ExceptionLocation *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ExceptionLocation");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::ExceptionLocation const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ExceptionLocation_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__ExceptionLocation, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Exception__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_Exception")) goto fail;
+ result = (gpstk::Exception *)new gpstk::Exception();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Exception__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ unsigned long *arg2 = 0 ;
+ gpstk::Exception::Severity *arg3 = 0 ;
+ gpstk::Exception *result;
+ int res1 = 0 ;
+ unsigned long temp2 ;
+ gpstk::Exception::Severity temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_Exception",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ {
+ temp2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ result = (gpstk::Exception *)new gpstk::Exception((std::string const &)*arg1,(unsigned long const &)*arg2,(enum gpstk::Exception::Severity const &)*arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Exception__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ unsigned long *arg2 = 0 ;
+ gpstk::Exception *result;
+ int res1 = 0 ;
+ unsigned long temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_Exception",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ {
+ temp2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ result = (gpstk::Exception *)new gpstk::Exception((std::string const &)*arg1,(unsigned long const &)*arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Exception__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ gpstk::Exception *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_Exception",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (gpstk::Exception *)new gpstk::Exception((std::string const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Exception__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::Exception *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_Exception",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::Exception *)new gpstk::Exception((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Exception(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_Exception__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_Exception__SWIG_4(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_Exception__SWIG_3(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_Exception__SWIG_2(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_Exception__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_Exception'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_Exception(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_Exception",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ gpstk::Exception *arg2 = 0 ;
+ gpstk::Exception *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::Exception &_result_ref = (arg1)->operator =((gpstk::Exception const &)*arg2);
+ result = (gpstk::Exception *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_terminate(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Exception_terminate",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->terminate();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getErrorId(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ unsigned long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Exception_getErrorId",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned long)((gpstk::Exception const *)arg1)->getErrorId();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_setErrorId(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ unsigned long *arg2 = 0 ;
+ gpstk::Exception *result;
+ unsigned long temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_setErrorId",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ gpstk::Exception &_result_ref = (arg1)->setErrorId((unsigned long const &)*arg2);
+ result = (gpstk::Exception *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_addLocation(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ gpstk::ExceptionLocation *arg2 = 0 ;
+ gpstk::Exception *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_addLocation",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ExceptionLocation");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::Exception &_result_ref = (arg1)->addLocation((gpstk::ExceptionLocation const &)*arg2);
+ result = (gpstk::Exception *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getLocation__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ size_t *arg2 = 0 ;
+ gpstk::ExceptionLocation result;
+ size_t temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_getLocation",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (size_t)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ result = ((gpstk::Exception const *)arg1)->getLocation((size_t const &)*arg2);
+
+ {
+ gpstk::ExceptionLocation * resultptr;
+ resultptr = new gpstk::ExceptionLocation((gpstk::ExceptionLocation const &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ExceptionLocation, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getLocation__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ gpstk::ExceptionLocation result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Exception_getLocation",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::Exception const *)arg1)->getLocation();
+
+ {
+ gpstk::ExceptionLocation * resultptr;
+ resultptr = new gpstk::ExceptionLocation((gpstk::ExceptionLocation const &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ExceptionLocation, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getLocation(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_getLocation__SWIG_1(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_Exception_getLocation__SWIG_0(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Exception_getLocation'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getLocationCount(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ size_t result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Exception_getLocationCount",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::Exception const *)arg1)->getLocationCount();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_isRecoverable(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Exception_isRecoverable",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::Exception const *)arg1)->isRecoverable();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_setSeverity(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ gpstk::Exception::Severity *arg2 = 0 ;
+ gpstk::Exception *result;
+ gpstk::Exception::Severity temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_setSeverity",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (gpstk::Exception::Severity)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ gpstk::Exception &_result_ref = (arg1)->setSeverity((enum gpstk::Exception::Severity const &)*arg2);
+ result = (gpstk::Exception *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_addText(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ std::string *arg2 = 0 ;
+ gpstk::Exception *result;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_addText",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ {
+ gpstk::Exception &_result_ref = (arg1)->addText((std::string const &)*arg2);
+ result = (gpstk::Exception *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 0);
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getText__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ size_t *arg2 = 0 ;
+ std::string result;
+ size_t temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_getText",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (size_t)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ result = ((gpstk::Exception const *)arg1)->getText((size_t const &)*arg2);
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getText__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Exception_getText",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::Exception const *)arg1)->getText();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getText(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_getText__SWIG_1(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_Exception_getText__SWIG_0(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Exception_getText'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getTextCount(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ size_t result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Exception_getTextCount",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::Exception const *)arg1)->getTextCount();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Exception_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::Exception const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::Exception const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::Exception *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::Exception const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * Exception_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__Exception, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_InvalidParameter__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidParameter *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_InvalidParameter")) goto fail;
+ result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidParameter__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidParameter *arg1 = 0 ;
+ gpstk::InvalidParameter *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidParameter",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidParameter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::InvalidParameter");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter((gpstk::InvalidParameter const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidParameter__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::InvalidParameter *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidParameter",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidParameter__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::InvalidParameter *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_InvalidParameter",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidParameter__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::InvalidParameter *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_InvalidParameter",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidParameter__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::InvalidParameter *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidParameter",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidParameter(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_InvalidParameter__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__InvalidParameter, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidParameter__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidParameter__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_InvalidParameter__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_InvalidParameter__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_InvalidParameter__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_InvalidParameter'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_InvalidParameter(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_InvalidParameter",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidParameter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_InvalidParameter_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:InvalidParameter_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidParameter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::InvalidParameter const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_InvalidParameter_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) 0 ;
+ gpstk::InvalidParameter *arg2 = 0 ;
+ gpstk::InvalidParameter *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:InvalidParameter_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidParameter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidParameter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::InvalidParameter");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::InvalidParameter &_result_ref = (arg1)->operator =((gpstk::InvalidParameter const &)*arg2);
+ result = (gpstk::InvalidParameter *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::InvalidParameter *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidParameter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::InvalidParameter");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidParameter const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * InvalidParameter_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__InvalidParameter, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_InvalidRequest__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidRequest *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_InvalidRequest")) goto fail;
+ result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidRequest__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidRequest *arg1 = 0 ;
+ gpstk::InvalidRequest *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidRequest",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidRequest, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::InvalidRequest");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest((gpstk::InvalidRequest const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidRequest__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::InvalidRequest *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidRequest",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidRequest__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::InvalidRequest *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_InvalidRequest",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidRequest__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::InvalidRequest *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_InvalidRequest",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidRequest__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::InvalidRequest *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidRequest",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidRequest(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_InvalidRequest__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__InvalidRequest, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidRequest__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidRequest__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_InvalidRequest__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_InvalidRequest__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_InvalidRequest__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_InvalidRequest'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_InvalidRequest(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_InvalidRequest",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidRequest, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_InvalidRequest_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:InvalidRequest_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidRequest, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::InvalidRequest const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_InvalidRequest_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) 0 ;
+ gpstk::InvalidRequest *arg2 = 0 ;
+ gpstk::InvalidRequest *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:InvalidRequest_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidRequest, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidRequest, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::InvalidRequest");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::InvalidRequest &_result_ref = (arg1)->operator =((gpstk::InvalidRequest const &)*arg2);
+ result = (gpstk::InvalidRequest *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::InvalidRequest *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidRequest, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::InvalidRequest");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidRequest const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * InvalidRequest_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__InvalidRequest, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_AssertionFailure__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AssertionFailure *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_AssertionFailure")) goto fail;
+ result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AssertionFailure__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AssertionFailure *arg1 = 0 ;
+ gpstk::AssertionFailure *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_AssertionFailure",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AssertionFailure, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::AssertionFailure");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure((gpstk::AssertionFailure const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AssertionFailure__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::AssertionFailure *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_AssertionFailure",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AssertionFailure__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::AssertionFailure *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_AssertionFailure",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AssertionFailure__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::AssertionFailure *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_AssertionFailure",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AssertionFailure__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::AssertionFailure *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_AssertionFailure",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AssertionFailure(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_AssertionFailure__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__AssertionFailure, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_AssertionFailure__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_AssertionFailure__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_AssertionFailure__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_AssertionFailure__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_AssertionFailure__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_AssertionFailure'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_AssertionFailure(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_AssertionFailure",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AssertionFailure, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AssertionFailure_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:AssertionFailure_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AssertionFailure, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::AssertionFailure const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AssertionFailure_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) 0 ;
+ gpstk::AssertionFailure *arg2 = 0 ;
+ gpstk::AssertionFailure *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:AssertionFailure_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AssertionFailure, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__AssertionFailure, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::AssertionFailure");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::AssertionFailure &_result_ref = (arg1)->operator =((gpstk::AssertionFailure const &)*arg2);
+ result = (gpstk::AssertionFailure *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::AssertionFailure *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__AssertionFailure, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::AssertionFailure");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::AssertionFailure const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * AssertionFailure_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__AssertionFailure, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_AccessError__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AccessError *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_AccessError")) goto fail;
+ result = (gpstk::AccessError *)new gpstk::AccessError();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AccessError__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AccessError *arg1 = 0 ;
+ gpstk::AccessError *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_AccessError",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AccessError, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::AccessError");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::AccessError *)new gpstk::AccessError((gpstk::AccessError const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AccessError__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::AccessError *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_AccessError",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::AccessError *)new gpstk::AccessError((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AccessError__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::AccessError *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_AccessError",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::AccessError *)new gpstk::AccessError(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AccessError__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::AccessError *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_AccessError",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::AccessError *)new gpstk::AccessError(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AccessError__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::AccessError *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_AccessError",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::AccessError *)new gpstk::AccessError(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AccessError(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_AccessError__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__AccessError, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_AccessError__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_AccessError__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_AccessError__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_AccessError__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_AccessError__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_AccessError'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_AccessError(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AccessError *arg1 = (gpstk::AccessError *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_AccessError",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AccessError, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AccessError_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AccessError *arg1 = (gpstk::AccessError *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:AccessError_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AccessError, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::AccessError const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AccessError_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AccessError *arg1 = (gpstk::AccessError *) 0 ;
+ gpstk::AccessError *arg2 = 0 ;
+ gpstk::AccessError *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:AccessError_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AccessError, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__AccessError, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::AccessError");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::AccessError &_result_ref = (arg1)->operator =((gpstk::AccessError const &)*arg2);
+ result = (gpstk::AccessError *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::AccessError *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__AccessError, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::AccessError");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::AccessError const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * AccessError_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__AccessError, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_IndexOutOfBoundsException__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IndexOutOfBoundsException *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_IndexOutOfBoundsException")) goto fail;
+ result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_IndexOutOfBoundsException__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IndexOutOfBoundsException *arg1 = 0 ;
+ gpstk::IndexOutOfBoundsException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_IndexOutOfBoundsException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::IndexOutOfBoundsException");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException((gpstk::IndexOutOfBoundsException const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_IndexOutOfBoundsException__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::IndexOutOfBoundsException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_IndexOutOfBoundsException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_IndexOutOfBoundsException__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::IndexOutOfBoundsException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_IndexOutOfBoundsException",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_IndexOutOfBoundsException__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::IndexOutOfBoundsException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_IndexOutOfBoundsException",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_IndexOutOfBoundsException__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::IndexOutOfBoundsException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_IndexOutOfBoundsException",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_IndexOutOfBoundsException(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_IndexOutOfBoundsException__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_IndexOutOfBoundsException__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_IndexOutOfBoundsException__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_IndexOutOfBoundsException__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_IndexOutOfBoundsException__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_IndexOutOfBoundsException__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_IndexOutOfBoundsException'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_IndexOutOfBoundsException(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_IndexOutOfBoundsException",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_IndexOutOfBoundsException_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:IndexOutOfBoundsException_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::IndexOutOfBoundsException const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_IndexOutOfBoundsException_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) 0 ;
+ gpstk::IndexOutOfBoundsException *arg2 = 0 ;
+ gpstk::IndexOutOfBoundsException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:IndexOutOfBoundsException_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::IndexOutOfBoundsException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::IndexOutOfBoundsException &_result_ref = (arg1)->operator =((gpstk::IndexOutOfBoundsException const &)*arg2);
+ result = (gpstk::IndexOutOfBoundsException *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_6(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::IndexOutOfBoundsException *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::IndexOutOfBoundsException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::IndexOutOfBoundsException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * IndexOutOfBoundsException_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__IndexOutOfBoundsException, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_InvalidArgumentException__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidArgumentException *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_InvalidArgumentException")) goto fail;
+ result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidArgumentException__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidArgumentException *arg1 = 0 ;
+ gpstk::InvalidArgumentException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidArgumentException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidArgumentException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::InvalidArgumentException");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException((gpstk::InvalidArgumentException const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidArgumentException__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::InvalidArgumentException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidArgumentException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidArgumentException__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::InvalidArgumentException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_InvalidArgumentException",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidArgumentException__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::InvalidArgumentException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_InvalidArgumentException",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidArgumentException__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::InvalidArgumentException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidArgumentException",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidArgumentException(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_InvalidArgumentException__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__InvalidArgumentException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidArgumentException__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidArgumentException__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_InvalidArgumentException__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_InvalidArgumentException__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_InvalidArgumentException__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_InvalidArgumentException'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_InvalidArgumentException(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_InvalidArgumentException",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidArgumentException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_InvalidArgumentException_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:InvalidArgumentException_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidArgumentException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::InvalidArgumentException const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_InvalidArgumentException_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) 0 ;
+ gpstk::InvalidArgumentException *arg2 = 0 ;
+ gpstk::InvalidArgumentException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:InvalidArgumentException_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidArgumentException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidArgumentException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::InvalidArgumentException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::InvalidArgumentException &_result_ref = (arg1)->operator =((gpstk::InvalidArgumentException const &)*arg2);
+ result = (gpstk::InvalidArgumentException *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_7(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::InvalidArgumentException *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidArgumentException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::InvalidArgumentException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidArgumentException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * InvalidArgumentException_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__InvalidArgumentException, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ConfigurationException__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ConfigurationException *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_ConfigurationException")) goto fail;
+ result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ConfigurationException__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ConfigurationException *arg1 = 0 ;
+ gpstk::ConfigurationException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_ConfigurationException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ConfigurationException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::ConfigurationException");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException((gpstk::ConfigurationException const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ConfigurationException__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::ConfigurationException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_ConfigurationException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ConfigurationException__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::ConfigurationException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_ConfigurationException",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ConfigurationException__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::ConfigurationException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_ConfigurationException",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ConfigurationException__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::ConfigurationException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_ConfigurationException",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ConfigurationException(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_ConfigurationException__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ConfigurationException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_ConfigurationException__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_ConfigurationException__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_ConfigurationException__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_ConfigurationException__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_ConfigurationException__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_ConfigurationException'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ConfigurationException(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ConfigurationException",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ConfigurationException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ConfigurationException_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ConfigurationException_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ConfigurationException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::ConfigurationException const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ConfigurationException_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) 0 ;
+ gpstk::ConfigurationException *arg2 = 0 ;
+ gpstk::ConfigurationException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ConfigurationException_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ConfigurationException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ConfigurationException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ConfigurationException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::ConfigurationException &_result_ref = (arg1)->operator =((gpstk::ConfigurationException const &)*arg2);
+ result = (gpstk::ConfigurationException *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_8(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::ConfigurationException *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ConfigurationException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ConfigurationException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::ConfigurationException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ConfigurationException_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__ConfigurationException, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FileMissingException__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileMissingException *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_FileMissingException")) goto fail;
+ result = (gpstk::FileMissingException *)new gpstk::FileMissingException();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileMissingException__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileMissingException *arg1 = 0 ;
+ gpstk::FileMissingException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FileMissingException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileMissingException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::FileMissingException");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::FileMissingException *)new gpstk::FileMissingException((gpstk::FileMissingException const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileMissingException__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::FileMissingException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FileMissingException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::FileMissingException *)new gpstk::FileMissingException((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileMissingException__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::FileMissingException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_FileMissingException",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::FileMissingException *)new gpstk::FileMissingException(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileMissingException__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::FileMissingException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_FileMissingException",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::FileMissingException *)new gpstk::FileMissingException(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileMissingException__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::FileMissingException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FileMissingException",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::FileMissingException *)new gpstk::FileMissingException(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileMissingException(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_FileMissingException__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileMissingException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_FileMissingException__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_FileMissingException__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_FileMissingException__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_FileMissingException__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_FileMissingException__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FileMissingException'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_FileMissingException(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FileMissingException",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileMissingException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileMissingException_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FileMissingException_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileMissingException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::FileMissingException const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileMissingException_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) 0 ;
+ gpstk::FileMissingException *arg2 = 0 ;
+ gpstk::FileMissingException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FileMissingException_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileMissingException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FileMissingException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::FileMissingException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::FileMissingException &_result_ref = (arg1)->operator =((gpstk::FileMissingException const &)*arg2);
+ result = (gpstk::FileMissingException *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_9(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::FileMissingException *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FileMissingException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::FileMissingException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::FileMissingException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * FileMissingException_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__FileMissingException, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SystemSemaphoreException__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemSemaphoreException *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_SystemSemaphoreException")) goto fail;
+ result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemSemaphoreException__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemSemaphoreException *arg1 = 0 ;
+ gpstk::SystemSemaphoreException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_SystemSemaphoreException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::SystemSemaphoreException");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException((gpstk::SystemSemaphoreException const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemSemaphoreException__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::SystemSemaphoreException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_SystemSemaphoreException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemSemaphoreException__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::SystemSemaphoreException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_SystemSemaphoreException",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemSemaphoreException__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::SystemSemaphoreException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_SystemSemaphoreException",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemSemaphoreException__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::SystemSemaphoreException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_SystemSemaphoreException",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemSemaphoreException(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_SystemSemaphoreException__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SystemSemaphoreException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_SystemSemaphoreException__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_SystemSemaphoreException__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_SystemSemaphoreException__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_SystemSemaphoreException__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_SystemSemaphoreException__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SystemSemaphoreException'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_SystemSemaphoreException(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_SystemSemaphoreException",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SystemSemaphoreException_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SystemSemaphoreException_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::SystemSemaphoreException const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SystemSemaphoreException_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) 0 ;
+ gpstk::SystemSemaphoreException *arg2 = 0 ;
+ gpstk::SystemSemaphoreException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SystemSemaphoreException_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SystemSemaphoreException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::SystemSemaphoreException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::SystemSemaphoreException &_result_ref = (arg1)->operator =((gpstk::SystemSemaphoreException const &)*arg2);
+ result = (gpstk::SystemSemaphoreException *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_10(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::SystemSemaphoreException *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SystemSemaphoreException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::SystemSemaphoreException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::SystemSemaphoreException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * SystemSemaphoreException_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__SystemSemaphoreException, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SystemPipeException__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemPipeException *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_SystemPipeException")) goto fail;
+ result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemPipeException__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemPipeException *arg1 = 0 ;
+ gpstk::SystemPipeException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_SystemPipeException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemPipeException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::SystemPipeException");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException((gpstk::SystemPipeException const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemPipeException__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::SystemPipeException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_SystemPipeException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemPipeException__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::SystemPipeException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_SystemPipeException",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemPipeException__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::SystemPipeException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_SystemPipeException",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemPipeException__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::SystemPipeException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_SystemPipeException",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemPipeException(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_SystemPipeException__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SystemPipeException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_SystemPipeException__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_SystemPipeException__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_SystemPipeException__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_SystemPipeException__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_SystemPipeException__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SystemPipeException'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_SystemPipeException(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_SystemPipeException",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemPipeException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SystemPipeException_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SystemPipeException_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemPipeException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::SystemPipeException const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SystemPipeException_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) 0 ;
+ gpstk::SystemPipeException *arg2 = 0 ;
+ gpstk::SystemPipeException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SystemPipeException_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemPipeException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SystemPipeException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::SystemPipeException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::SystemPipeException &_result_ref = (arg1)->operator =((gpstk::SystemPipeException const &)*arg2);
+ result = (gpstk::SystemPipeException *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_11(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::SystemPipeException *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SystemPipeException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::SystemPipeException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::SystemPipeException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * SystemPipeException_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__SystemPipeException, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SystemQueueException__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemQueueException *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_SystemQueueException")) goto fail;
+ result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemQueueException__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemQueueException *arg1 = 0 ;
+ gpstk::SystemQueueException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_SystemQueueException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemQueueException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::SystemQueueException");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException((gpstk::SystemQueueException const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemQueueException__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::SystemQueueException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_SystemQueueException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemQueueException__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::SystemQueueException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_SystemQueueException",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemQueueException__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::SystemQueueException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_SystemQueueException",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemQueueException__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::SystemQueueException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_SystemQueueException",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemQueueException(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_SystemQueueException__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SystemQueueException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_SystemQueueException__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_SystemQueueException__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_SystemQueueException__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_SystemQueueException__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_SystemQueueException__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SystemQueueException'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_SystemQueueException(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_SystemQueueException",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemQueueException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SystemQueueException_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SystemQueueException_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemQueueException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::SystemQueueException const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SystemQueueException_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) 0 ;
+ gpstk::SystemQueueException *arg2 = 0 ;
+ gpstk::SystemQueueException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SystemQueueException_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemQueueException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SystemQueueException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::SystemQueueException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::SystemQueueException &_result_ref = (arg1)->operator =((gpstk::SystemQueueException const &)*arg2);
+ result = (gpstk::SystemQueueException *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_12(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::SystemQueueException *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SystemQueueException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::SystemQueueException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::SystemQueueException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * SystemQueueException_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__SystemQueueException, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_OutOfMemory__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::OutOfMemory *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_OutOfMemory")) goto fail;
+ result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_OutOfMemory__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::OutOfMemory *arg1 = 0 ;
+ gpstk::OutOfMemory *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_OutOfMemory",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__OutOfMemory, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::OutOfMemory");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory((gpstk::OutOfMemory const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_OutOfMemory__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::OutOfMemory *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_OutOfMemory",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_OutOfMemory__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::OutOfMemory *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_OutOfMemory",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_OutOfMemory__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::OutOfMemory *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_OutOfMemory",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_OutOfMemory__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::OutOfMemory *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_OutOfMemory",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_OutOfMemory(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_OutOfMemory__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__OutOfMemory, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_OutOfMemory__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_OutOfMemory__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_OutOfMemory__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_OutOfMemory__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_OutOfMemory__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_OutOfMemory'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_OutOfMemory(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_OutOfMemory",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__OutOfMemory, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_OutOfMemory_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:OutOfMemory_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__OutOfMemory, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::OutOfMemory const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_OutOfMemory_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) 0 ;
+ gpstk::OutOfMemory *arg2 = 0 ;
+ gpstk::OutOfMemory *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:OutOfMemory_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__OutOfMemory, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__OutOfMemory, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::OutOfMemory");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::OutOfMemory &_result_ref = (arg1)->operator =((gpstk::OutOfMemory const &)*arg2);
+ result = (gpstk::OutOfMemory *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_13(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::OutOfMemory *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__OutOfMemory, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::OutOfMemory");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::OutOfMemory const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * OutOfMemory_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__OutOfMemory, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ObjectNotFound__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObjectNotFound *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_ObjectNotFound")) goto fail;
+ result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObjectNotFound__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObjectNotFound *arg1 = 0 ;
+ gpstk::ObjectNotFound *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_ObjectNotFound",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObjectNotFound, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::ObjectNotFound");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound((gpstk::ObjectNotFound const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObjectNotFound__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::ObjectNotFound *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_ObjectNotFound",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObjectNotFound__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::ObjectNotFound *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_ObjectNotFound",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObjectNotFound__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::ObjectNotFound *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_ObjectNotFound",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObjectNotFound__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::ObjectNotFound *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_ObjectNotFound",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObjectNotFound(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_ObjectNotFound__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObjectNotFound, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_ObjectNotFound__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_ObjectNotFound__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_ObjectNotFound__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_ObjectNotFound__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_ObjectNotFound__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_ObjectNotFound'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ObjectNotFound(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ObjectNotFound",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObjectNotFound, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObjectNotFound_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObjectNotFound_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObjectNotFound, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::ObjectNotFound const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObjectNotFound_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) 0 ;
+ gpstk::ObjectNotFound *arg2 = 0 ;
+ gpstk::ObjectNotFound *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObjectNotFound_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObjectNotFound, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObjectNotFound, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ObjectNotFound");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::ObjectNotFound &_result_ref = (arg1)->operator =((gpstk::ObjectNotFound const &)*arg2);
+ result = (gpstk::ObjectNotFound *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_14(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::ObjectNotFound *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObjectNotFound, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ObjectNotFound");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::ObjectNotFound const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ExceptionLocation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__InvalidParameter, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_2(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__InvalidRequest, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_3(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__AssertionFailure, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ObjectNotFound, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_14(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_6(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__InvalidArgumentException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_7(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ConfigurationException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_8(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__FileMissingException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_9(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__SystemSemaphoreException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_10(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__SystemPipeException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_11(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__SystemQueueException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_12(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__OutOfMemory, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_13(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__AccessError, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_5(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_streamRead__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Exception_streamRead'");
+ return NULL;
+}
+
+
+static PyObject * ObjectNotFound_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__ObjectNotFound, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_InvalidValue__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidValue *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_InvalidValue")) goto fail;
+ result = (gpstk::InvalidValue *)new gpstk::InvalidValue();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidValue__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidValue *arg1 = 0 ;
+ gpstk::InvalidValue *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidValue",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidValue, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::InvalidValue");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::InvalidValue *)new gpstk::InvalidValue((gpstk::InvalidValue const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidValue__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::InvalidValue *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidValue",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::InvalidValue *)new gpstk::InvalidValue((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidValue__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::InvalidValue *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_InvalidValue",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::InvalidValue *)new gpstk::InvalidValue(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidValue__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::InvalidValue *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_InvalidValue",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::InvalidValue *)new gpstk::InvalidValue(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidValue__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::InvalidValue *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidValue",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::InvalidValue *)new gpstk::InvalidValue(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidValue(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_InvalidValue__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__InvalidValue, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidValue__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidValue__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_InvalidValue__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_InvalidValue__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_InvalidValue__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_InvalidValue'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_InvalidValue(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidValue *arg1 = (gpstk::InvalidValue *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_InvalidValue",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidValue, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_InvalidValue_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidValue *arg1 = (gpstk::InvalidValue *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:InvalidValue_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidValue, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::InvalidValue const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_InvalidValue_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::InvalidValue *arg1 = (gpstk::InvalidValue *) 0 ;
+ gpstk::InvalidValue *arg2 = 0 ;
+ gpstk::InvalidValue *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:InvalidValue_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidValue, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidValue, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::InvalidValue");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::InvalidValue &_result_ref = (arg1)->operator =((gpstk::InvalidValue const &)*arg2);
+ result = (gpstk::InvalidValue *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::InvalidValue *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidValue, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::InvalidValue");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidValue const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * InvalidValue_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__InvalidValue, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_X1Sequence(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::X1Sequence *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_X1Sequence")) goto fail;
+ result = (gpstk::X1Sequence *)new gpstk::X1Sequence();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__X1Sequence, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_X1Sequence(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::X1Sequence *arg1 = (gpstk::X1Sequence *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_X1Sequence",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__X1Sequence, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_X1Sequence_allocateMemory(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+
+ if(!PyArg_ParseTuple(args,(char *)":X1Sequence_allocateMemory")) goto fail;
+ gpstk::X1Sequence::allocateMemory();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_X1Sequence_deAllocateMemory(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+
+ if(!PyArg_ParseTuple(args,(char *)":X1Sequence_deAllocateMemory")) goto fail;
+ gpstk::X1Sequence::deAllocateMemory();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_X1Sequence_class_operator_bracket__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::X1Sequence *arg1 = (gpstk::X1Sequence *) 0 ;
+ int arg2 ;
+ unsigned long *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:X1Sequence_class_operator_bracket",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__X1Sequence, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ unsigned long &_result_ref = (arg1)->operator [](arg2);
+ result = (unsigned long *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_unsigned_long, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_X1Sequence_class_operator_bracket__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::X1Sequence *arg1 = (gpstk::X1Sequence *) 0 ;
+ int arg2 ;
+ unsigned long *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:X1Sequence_class_operator_bracket",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__X1Sequence, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ unsigned long const &_result_ref = ((gpstk::X1Sequence const *)arg1)->operator [](arg2);
+ result = (unsigned long *) &_result_ref;
+ }
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(*result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_X1Sequence_class_operator_bracket(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__X1Sequence, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_X1Sequence_class_operator_bracket__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__X1Sequence, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_X1Sequence_class_operator_bracket__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'X1Sequence_class_operator_bracket'");
+ return NULL;
+}
+
+
+static PyObject * X1Sequence_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__X1Sequence, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static int _wrap_LENGTH_OF_EOW_OVERLAP_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable LENGTH_OF_EOW_OVERLAP is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_LENGTH_OF_EOW_OVERLAP_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::LENGTH_OF_EOW_OVERLAP));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_OVERLAP_WORD_POSITION_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable OVERLAP_WORD_POSITION is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_OVERLAP_WORD_POSITION_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::OVERLAP_WORD_POSITION));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_MAX_X2_TEST_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable MAX_X2_TEST is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_MAX_X2_TEST_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::MAX_X2_TEST));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_MAX_X2_COUNT_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable MAX_X2_COUNT is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_MAX_X2_COUNT_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::MAX_X2_COUNT));
+ }
+ return pyobj;
+}
+
+
+static PyObject *_wrap_new_X2Sequence(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::X2Sequence *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_X2Sequence")) goto fail;
+ result = (gpstk::X2Sequence *)new gpstk::X2Sequence();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__X2Sequence, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_X2Sequence(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::X2Sequence *arg1 = (gpstk::X2Sequence *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_X2Sequence",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__X2Sequence, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_X2Sequence_allocateMemory(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+
+ if(!PyArg_ParseTuple(args,(char *)":X2Sequence_allocateMemory")) goto fail;
+ gpstk::X2Sequence::allocateMemory();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_X2Sequence_deAllocateMemory(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+
+ if(!PyArg_ParseTuple(args,(char *)":X2Sequence_deAllocateMemory")) goto fail;
+ gpstk::X2Sequence::deAllocateMemory();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_X2Sequence_class_operator_bracket(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::X2Sequence *arg1 = (gpstk::X2Sequence *) 0 ;
+ long arg2 ;
+ unsigned long result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:X2Sequence_class_operator_bracket",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__X2Sequence, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (unsigned long)(arg1)->operator [](arg2);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_X2Sequence_setEOWX2Epoch(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::X2Sequence *arg1 = (gpstk::X2Sequence *) 0 ;
+ bool arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:X2Sequence_setEOWX2Epoch",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__X2Sequence, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (bool const)(SWIG_As_bool(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->setEOWX2Epoch(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * X2Sequence_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__X2Sequence, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_CodeBuffer(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ int arg1 ;
+ gpstk::CodeBuffer *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_CodeBuffer",&obj0)) goto fail;
+ {
+ arg1 = (int const)(SWIG_As_int(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::CodeBuffer *)new gpstk::CodeBuffer(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__CodeBuffer, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_CodeBuffer(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_CodeBuffer",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+ gpstk::CodeBuffer *arg2 = 0 ;
+ gpstk::CodeBuffer *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CodeBuffer_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::CodeBuffer");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::CodeBuffer &_result_ref = (arg1)->operator =((gpstk::CodeBuffer const &)*arg2);
+ result = (gpstk::CodeBuffer *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__CodeBuffer, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_updateBufferStatus__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ codeType arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:CodeBuffer_updateBufferStatus",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ codeType * argp;
+ SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_codeType, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("codeType");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *argp;
+ }
+ (arg1)->updateBufferStatus((gpstk::DayTime const &)*arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_updateBufferStatus__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+ codeType arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CodeBuffer_updateBufferStatus",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ codeType * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_codeType, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("codeType");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ (arg1)->updateBufferStatus(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_updateBufferStatus(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__CodeBuffer, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_codeType, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_CodeBuffer_updateBufferStatus__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__CodeBuffer, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_codeType, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_CodeBuffer_updateBufferStatus__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'CodeBuffer_updateBufferStatus'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_getCurrentTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:CodeBuffer_getCurrentTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ gpstk::DayTime const &_result_ref = (arg1)->getCurrentTime();
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_getPYFlag(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+ codeType result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:CodeBuffer_getPYFlag",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (arg1)->getPYFlag();
+
+ {
+ codeType * resultptr;
+ resultptr = new codeType((codeType &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_codeType, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_getPRNID(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:CodeBuffer_getPRNID",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int)(arg1)->getPRNID();
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_class_operator_bracket(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+ int arg2 ;
+ unsigned long *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CodeBuffer_class_operator_bracket",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ unsigned long &_result_ref = (arg1)->operator [](arg2);
+ result = (unsigned long *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_unsigned_long, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_operator_bracket_const(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+ int arg2 ;
+ unsigned long *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CodeBuffer_operator_bracket_const",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int const)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ unsigned long const &_result_ref = ((gpstk::CodeBuffer const *)arg1)->operator [](arg2);
+ result = (unsigned long *) &_result_ref;
+ }
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(*result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_getBit(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+ long arg2 ;
+ unsigned long result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CodeBuffer_getBit",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long const)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (unsigned long)(arg1)->getBit(arg2);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer___ixor__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+ gpstk::CodeBuffer *arg2 = 0 ;
+ gpstk::CodeBuffer *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CodeBuffer___ixor__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::CodeBuffer");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::CodeBuffer &_result_ref = (arg1)->operator ^=((gpstk::CodeBuffer const &)*arg2);
+ result = (gpstk::CodeBuffer *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__CodeBuffer, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * CodeBuffer_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__CodeBuffer, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SatID__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SatID *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_SatID")) goto fail;
+ result = (gpstk::SatID *)new gpstk::SatID();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SatID, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SatID__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ int arg1 ;
+ gpstk::SatID::System arg2 ;
+ gpstk::SatID *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_SatID",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (int)(SWIG_As_int(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (gpstk::SatID::System)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::SatID *)new gpstk::SatID(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SatID, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SatID(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_SatID__SWIG_0(self,args);
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_int(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_new_SatID__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SatID'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_SatID_setfill(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+ char arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SatID_setfill",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (char)(SWIG_As_char(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->setfill(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SatID_getfill(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+ char result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SatID_getfill",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (char)(arg1)->getfill();
+
+ {
+ resultobj = SWIG_From_char((char)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SatID_systemCode(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+ char result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SatID_systemCode",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (char)((gpstk::SatID const *)arg1)->systemCode();
+
+ {
+ resultobj = SWIG_From_char((char)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SatID___eq__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+ gpstk::SatID *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SatID___eq__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::SatID");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::SatID const *)arg1)->operator ==((gpstk::SatID const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SatID___ne__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+ gpstk::SatID *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SatID___ne__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::SatID");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::SatID const *)arg1)->operator !=((gpstk::SatID const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SatID___lt__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+ gpstk::SatID *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SatID___lt__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::SatID");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::SatID const *)arg1)->operator <((gpstk::SatID const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SatID_id_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+ int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SatID_id_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->id = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SatID_id_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SatID_id_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int) ((arg1)->id);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SatID_system_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+ gpstk::SatID::System arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SatID_system_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::SatID::System)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->system = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SatID_system_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+ gpstk::SatID::System result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SatID_system_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::SatID::System) ((arg1)->system);
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static int _wrap_SatID_fillchar_set(PyObject *_val) {
+ {
+ char temp = (char)(SWIG_As_char(_val));
+ if (PyErr_Occurred()) {
+ SWIG_append_errmsg("C/C++ variable 'gpstk::SatID::fillchar (char)'");
+ return 1;
+ }
+ gpstk::SatID::fillchar = temp;
+ }
+ return 0;
+}
+
+
+static PyObject *_wrap_SatID_fillchar_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_char((char)(gpstk::SatID::fillchar));
+ }
+ return pyobj;
+}
+
+
+static PyObject *_wrap_delete_SatID(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_SatID",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * SatID_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__SatID, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap___lshift____SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::SatID *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__lshift__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::SatID");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = gpstk::operator <<(*arg1,(gpstk::SatID const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___rshift____SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::istream *arg1 = 0 ;
+ gpstk::SatID *arg2 = 0 ;
+ std::istream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__rshift__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::istream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::SatID");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::istream &_result_ref = gpstk::operator >>(*arg1,*arg2);
+ result = (std::istream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static int _wrap_MAX_WORD_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable MAX_WORD is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_MAX_WORD_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((int)(gpstk::MAX_WORD));
+ }
+ return pyobj;
+}
+
+
+static PyObject *_wrap_new_GenXSequence(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ unsigned int arg1 ;
+ unsigned int arg2 ;
+ int arg3 ;
+ int arg4 ;
+ gpstk::GenXSequence *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:new_GenXSequence",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ arg1 = (unsigned int const)(SWIG_As_unsigned_SS_int(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (unsigned int const)(SWIG_As_unsigned_SS_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (int const)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (int const)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ result = (gpstk::GenXSequence *)new gpstk::GenXSequence(arg1,arg2,arg3,arg4);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GenXSequence, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_GenXSequence(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GenXSequence *arg1 = (gpstk::GenXSequence *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_GenXSequence",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GenXSequence, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GenXSequence_class_operator_bracket(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GenXSequence *arg1 = (gpstk::GenXSequence *) 0 ;
+ int arg2 ;
+ unsigned long result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GenXSequence_class_operator_bracket",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GenXSequence, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (unsigned long)(arg1)->operator [](arg2);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GenXSequence_setLengthOfSequence(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GenXSequence *arg1 = (gpstk::GenXSequence *) 0 ;
+ int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GenXSequence_setLengthOfSequence",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GenXSequence, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->setLengthOfSequence(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * GenXSequence_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__GenXSequence, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SVPCodeGen(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ int arg1 ;
+ gpstk::DayTime *arg2 = 0 ;
+ gpstk::SVPCodeGen *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_SVPCodeGen",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (int const)(SWIG_As_int(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::SVPCodeGen *)new gpstk::SVPCodeGen(arg1,(gpstk::DayTime const &)*arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SVPCodeGen, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_SVPCodeGen(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SVPCodeGen *arg1 = (gpstk::SVPCodeGen *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_SVPCodeGen",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SVPCodeGen, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SVPCodeGen_getCurrentSixSeconds(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SVPCodeGen *arg1 = (gpstk::SVPCodeGen *) 0 ;
+ gpstk::CodeBuffer *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SVPCodeGen_getCurrentSixSeconds",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SVPCodeGen, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::CodeBuffer");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->getCurrentSixSeconds(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SVPCodeGen_increment4ZCounts(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SVPCodeGen *arg1 = (gpstk::SVPCodeGen *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SVPCodeGen_increment4ZCounts",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SVPCodeGen, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->increment4ZCounts();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SVPCodeGen_getCurrentZCount(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SVPCodeGen *arg1 = (gpstk::SVPCodeGen *) 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SVPCodeGen_getCurrentZCount",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SVPCodeGen, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ gpstk::DayTime const &_result_ref = (arg1)->getCurrentZCount();
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * SVPCodeGen_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__SVPCodeGen, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Observation(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_Observation")) goto fail;
+ result = (gpstk::Observation *)new gpstk::Observation();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Observation, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_range_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Observation_range_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->range = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_range_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Observation_range_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->range);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_phase_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Observation_phase_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->phase = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_phase_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Observation_phase_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->phase);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_doppler_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Observation_doppler_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->doppler = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_doppler_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Observation_doppler_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->doppler);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_SNR_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ float arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Observation_SNR_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (float)(SWIG_As_float(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->SNR = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_SNR_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ float result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Observation_SNR_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (float) ((arg1)->SNR);
+
+ {
+ resultobj = SWIG_From_float((float)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_channel_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Observation_channel_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->channel = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_channel_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Observation_channel_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->channel);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_code_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ gpstk::Observation::RangingCode arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Observation_code_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::Observation::RangingCode)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->code = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_code_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ gpstk::Observation::RangingCode result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Observation_code_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::Observation::RangingCode) ((arg1)->code);
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_carrier_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ gpstk::Observation::CarrierFrequency arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Observation_carrier_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::Observation::CarrierFrequency)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->carrier = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Observation_carrier_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ gpstk::Observation::CarrierFrequency result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Observation_carrier_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::Observation::CarrierFrequency) ((arg1)->carrier);
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::Observation *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Observation");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::Observation const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_Observation(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_Observation",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * Observation_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__Observation, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ObservationPlus_obs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+ gpstk::Observation *arg2 = (gpstk::Observation *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObservationPlus_obs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->obs = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_obs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+ gpstk::Observation *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObservationPlus_obs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::Observation *)& ((arg1)->obs);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Observation, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_time_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObservationPlus_time_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->time = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_time_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObservationPlus_time_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->time);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_rxId_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+ unsigned int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObservationPlus_rxId_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->rxId = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_rxId_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+ unsigned int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObservationPlus_rxId_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned int) ((arg1)->rxId);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_svId_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObservationPlus_svId_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->svId = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_svId_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObservationPlus_svId_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->svId);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObservationPlus(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObservationPlus *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_ObservationPlus")) goto fail;
+ result = (gpstk::ObservationPlus *)new gpstk::ObservationPlus();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObservationPlus, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ObservationPlus(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ObservationPlus",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ObservationPlus_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__ObservationPlus, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ObsEpoch(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsEpoch *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_ObsEpoch")) goto fail;
+ result = (gpstk::ObsEpoch *)new gpstk::ObsEpoch();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsEpoch, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_insertObservation__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+ gpstk::ObservationPlus *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsEpoch_insertObservation",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ObservationPlus");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->insertObservation((gpstk::ObservationPlus const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_insertObservation__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+ gpstk::Observation *arg2 = 0 ;
+ short arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:ObsEpoch_insertObservation",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Observation");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short const)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ (arg1)->insertObservation((gpstk::Observation const &)*arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_insertObservation(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObsEpoch, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ObservationPlus, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_ObsEpoch_insertObservation__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObsEpoch, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Observation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ return _wrap_ObsEpoch_insertObservation__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ObsEpoch_insertObservation'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_t_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsEpoch_t_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->t = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_t_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsEpoch_t_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->t);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_dt_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsEpoch_dt_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->dt = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_dt_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsEpoch_dt_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->dt);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_obs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+ gpstk::ObsMap *arg2 = (gpstk::ObsMap *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsEpoch_obs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->obs = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_obs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+ gpstk::ObsMap *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsEpoch_obs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::ObsMap *)& ((arg1)->obs);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::ObsEpoch *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ObsEpoch");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::ObsEpoch const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ObsEpoch(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ObsEpoch",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ObsEpoch_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__ObsEpoch, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RxObsData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RxObsData")) goto fail;
+ result = (gpstk::RxObsData *)new gpstk::RxObsData();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RxObsData, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_insertObservation__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ gpstk::ObservationPlus *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_insertObservation",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ObservationPlus");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->insertObservation((gpstk::ObservationPlus const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_insertObservation__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ gpstk::Observation *arg2 = 0 ;
+ DayTime *arg3 = 0 ;
+ short arg4 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:RxObsData_insertObservation",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Observation");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short const)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ (arg1)->insertObservation((gpstk::Observation const &)*arg2,(DayTime const &)*arg3,arg4);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_insertObservation(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RxObsData, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ObservationPlus, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_RxObsData_insertObservation__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RxObsData, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Observation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[3]);
+ if (_v) {
+ return _wrap_RxObsData_insertObservation__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RxObsData_insertObservation'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_insertEpoch(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ gpstk::ObsEpoch *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_insertEpoch",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ObsEpoch");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->insertEpoch((gpstk::ObsEpoch const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_firstTime_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_firstTime_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->firstTime = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_firstTime_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RxObsData_firstTime_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->firstTime);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_lastTime_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_lastTime_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->lastTime = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_lastTime_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RxObsData_lastTime_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->lastTime);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_rxId_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ unsigned int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_rxId_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->rxId = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_rxId_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ unsigned int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RxObsData_rxId_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned int) ((arg1)->rxId);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_prnList_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ std::set<short > arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_prnList_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::set<short > * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__setTshort_t, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::set<short >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ if (arg1) (arg1)->prnList = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_prnList_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ std::set<short > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RxObsData_prnList_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((arg1)->prnList);
+
+ {
+ std::set<short > * resultptr;
+ resultptr = new std::set<short >((std::set<short > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__setTshort_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_epochs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ gpstk::ObsEpochMap *arg2 = (gpstk::ObsEpochMap *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_epochs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->epochs = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_epochs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ gpstk::ObsEpochMap *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RxObsData_epochs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::ObsEpochMap *)& ((arg1)->epochs);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::RxObsData *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::RxObsData");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::RxObsData const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RxObsData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RxObsData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RxObsData_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RxObsData, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_WxObservation__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_WxObservation")) goto fail;
+ result = (gpstk::WxObservation *)new gpstk::WxObservation();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WxObservation, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WxObservation__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ DayTime *arg1 = 0 ;
+ double arg2 ;
+ double arg3 ;
+ double arg4 ;
+ gpstk::WxObservation *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:new_WxObservation",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ result = (gpstk::WxObservation *)new gpstk::WxObservation((DayTime const &)*arg1,arg2,arg3,arg4);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WxObservation, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WxObservation(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_WxObservation__SWIG_0(self,args);
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ return _wrap_new_WxObservation__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_WxObservation'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_t_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_t_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->t = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_t_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_t_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->t);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_temperature_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ float arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_temperature_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (float)(SWIG_As_float(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->temperature = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_temperature_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ float result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_temperature_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (float) ((arg1)->temperature);
+
+ {
+ resultobj = SWIG_From_float((float)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_pressure_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ float arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_pressure_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (float)(SWIG_As_float(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->pressure = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_pressure_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ float result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_pressure_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (float) ((arg1)->pressure);
+
+ {
+ resultobj = SWIG_From_float((float)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_humidity_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ float arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_humidity_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (float)(SWIG_As_float(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->humidity = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_humidity_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ float result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_humidity_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (float) ((arg1)->humidity);
+
+ {
+ resultobj = SWIG_From_float((float)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_temperatureSource_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ enum gpstk::WxObservation::EWxSrc arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_temperatureSource_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (enum gpstk::WxObservation::EWxSrc)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->temperatureSource = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_temperatureSource_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ enum gpstk::WxObservation::EWxSrc result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_temperatureSource_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (enum gpstk::WxObservation::EWxSrc) ((arg1)->temperatureSource);
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_pressureSource_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ enum gpstk::WxObservation::EWxSrc arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_pressureSource_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (enum gpstk::WxObservation::EWxSrc)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->pressureSource = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_pressureSource_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ enum gpstk::WxObservation::EWxSrc result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_pressureSource_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (enum gpstk::WxObservation::EWxSrc) ((arg1)->pressureSource);
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_humiditySource_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ enum gpstk::WxObservation::EWxSrc arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_humiditySource_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (enum gpstk::WxObservation::EWxSrc)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->humiditySource = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_humiditySource_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ enum gpstk::WxObservation::EWxSrc result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_humiditySource_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (enum gpstk::WxObservation::EWxSrc) ((arg1)->humiditySource);
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_isAllValid(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_isAllValid",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::WxObservation const *)arg1)->isAllValid();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::WxObservation *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::WxObservation");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::WxObservation const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_WxObservation(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_WxObservation",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * WxObservation_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__WxObservation, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_WxObsData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_WxObsData")) goto fail;
+ result = (gpstk::WxObsData *)new gpstk::WxObsData();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WxObsData, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_firstTime_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_firstTime_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->firstTime = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_firstTime_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WxObsData_firstTime_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->firstTime);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_lastTime_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_lastTime_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->lastTime = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_lastTime_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WxObsData_lastTime_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->lastTime);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_rxId_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ unsigned int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_rxId_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->rxId = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_rxId_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ unsigned int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WxObsData_rxId_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned int) ((arg1)->rxId);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_obs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ gpstk::WxObsMap *arg2 = (gpstk::WxObsMap *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_obs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->obs = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_obs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ gpstk::WxObsMap *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WxObsData_obs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::WxObsMap *)& ((arg1)->obs);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_getMostRecent(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ DayTime *arg2 = 0 ;
+ gpstk::WxObservation result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_getMostRecent",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = ((gpstk::WxObsData const *)arg1)->getMostRecent((DayTime const &)*arg2);
+
+ {
+ gpstk::WxObservation * resultptr;
+ resultptr = new gpstk::WxObservation((gpstk::WxObservation &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__WxObservation, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_insertObservation(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ gpstk::WxObservation *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_insertObservation",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::WxObservation");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->insertObservation((gpstk::WxObservation const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_flush(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ DayTime *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_flush",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->flush((DayTime const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_getWxObservation__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ DayTime *arg2 = 0 ;
+ unsigned int arg3 ;
+ bool arg4 ;
+ gpstk::WxObservation result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:WxObsData_getWxObservation",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (unsigned int)(SWIG_As_unsigned_SS_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (bool)(SWIG_As_bool(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::WxObsData const *)arg1)->getWxObservation((DayTime const &)*arg2,arg3,arg4);
+ }
+ catch(gpstk::ObjectNotFound &_e) {
+ {
+ gpstk::ObjectNotFound * temp = new gpstk::ObjectNotFound(_e);
+ if (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::ObjectNotFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::WxObservation * resultptr;
+ resultptr = new gpstk::WxObservation((gpstk::WxObservation &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__WxObservation, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_getWxObservation__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ DayTime *arg2 = 0 ;
+ unsigned int arg3 ;
+ gpstk::WxObservation result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:WxObsData_getWxObservation",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (unsigned int)(SWIG_As_unsigned_SS_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::WxObsData const *)arg1)->getWxObservation((DayTime const &)*arg2,arg3);
+ }
+ catch(gpstk::ObjectNotFound &_e) {
+ {
+ gpstk::ObjectNotFound * temp = new gpstk::ObjectNotFound(_e);
+ if (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::ObjectNotFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::WxObservation * resultptr;
+ resultptr = new gpstk::WxObservation((gpstk::WxObservation &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__WxObservation, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_getWxObservation__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ DayTime *arg2 = 0 ;
+ gpstk::WxObservation result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_getWxObservation",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::WxObsData const *)arg1)->getWxObservation((DayTime const &)*arg2);
+ }
+ catch(gpstk::ObjectNotFound &_e) {
+ {
+ gpstk::ObjectNotFound * temp = new gpstk::ObjectNotFound(_e);
+ if (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::ObjectNotFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::WxObservation * resultptr;
+ resultptr = new gpstk::WxObservation((gpstk::WxObservation &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__WxObservation, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_getWxObservation(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WxObsData, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_WxObsData_getWxObservation__SWIG_2(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WxObsData, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_int(argv[2]);
+ if (_v) {
+ return _wrap_WxObsData_getWxObservation__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WxObsData, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_int(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_bool(argv[3]);
+ if (_v) {
+ return _wrap_WxObsData_getWxObservation__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'WxObsData_getWxObservation'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_WxObsData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_WxObsData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * WxObsData_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__WxObsData, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_AlmanacStore_getPrnXvt(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ Xvt result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:AlmanacStore_getPrnXvt",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::AlmanacStore const *)arg1)->getPrnXvt(arg2,(gpstk::DayTime const &)*arg3);
+ }
+ catch(NoAlmanacFound &_e) {
+ {
+ NoAlmanacFound * temp = new NoAlmanacFound(_e);
+ if (SWIGTYPE_p_NoAlmanacFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoAlmanacFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoAlmanacFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"NoAlmanacFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoAlmanacFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ Xvt * resultptr;
+ resultptr = new Xvt((Xvt &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Xvt, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_getPrnHealth(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:AlmanacStore_getPrnHealth",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = (short)((gpstk::AlmanacStore const *)arg1)->getPrnHealth(arg2,(gpstk::DayTime const &)*arg3);
+ }
+ catch(NoAlmanacFound &_e) {
+ {
+ NoAlmanacFound * temp = new NoAlmanacFound(_e);
+ if (SWIGTYPE_p_NoAlmanacFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoAlmanacFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoAlmanacFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"NoAlmanacFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoAlmanacFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_addAlmanac__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+ AlmOrbit *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:AlmanacStore_addAlmanac",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("AlmOrbit");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)(arg1)->addAlmanac((AlmOrbit const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_addAlmanac__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+ EngAlmanac *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:AlmanacStore_addAlmanac",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("EngAlmanac");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)(arg1)->addAlmanac((EngAlmanac const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_addAlmanac(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__AlmanacStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__AlmOrbit, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_AlmanacStore_addAlmanac__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__AlmanacStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__EngAlmanac, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_AlmanacStore_addAlmanac__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'AlmanacStore_addAlmanac'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_findAlmanac(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ AlmOrbit result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:AlmanacStore_findAlmanac",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::AlmanacStore const *)arg1)->findAlmanac(arg2,(gpstk::DayTime const &)*arg3);
+ }
+ catch(NoAlmanacFound &_e) {
+ {
+ NoAlmanacFound * temp = new NoAlmanacFound(_e);
+ if (SWIGTYPE_p_NoAlmanacFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoAlmanacFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoAlmanacFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"NoAlmanacFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoAlmanacFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ AlmOrbit * resultptr;
+ resultptr = new AlmOrbit((AlmOrbit &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__AlmOrbit, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_findAlmanacs(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ SwigValueWrapper<std::map<short,gpstk::AlmOrbit,std::less<short >,std::allocator<std::pair<short const,gpstk::AlmOrbit > > > > result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:AlmanacStore_findAlmanacs",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = ((gpstk::AlmanacStore const *)arg1)->findAlmanacs((gpstk::DayTime const &)*arg2);
+
+ {
+ AlmOrbits * resultptr;
+ resultptr = new AlmOrbits((AlmOrbits &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_size(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+ size_t result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:AlmanacStore_size",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::AlmanacStore const *)arg1)->size();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AlmanacStore(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmanacStore *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_AlmanacStore")) goto fail;
+ result = (gpstk::AlmanacStore *)new gpstk::AlmanacStore();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AlmanacStore, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_AlmanacStore(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_AlmanacStore",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * AlmanacStore_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__AlmanacStore, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_AlmOrbit__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmOrbit *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_AlmOrbit")) goto fail;
+ result = (gpstk::AlmOrbit *)new gpstk::AlmOrbit();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AlmOrbit, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AlmOrbit__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short arg1 ;
+ double arg2 ;
+ double arg3 ;
+ double arg4 ;
+ double arg5 ;
+ double arg6 ;
+ double arg7 ;
+ double arg8 ;
+ double arg9 ;
+ double arg10 ;
+ long arg11 ;
+ long arg12 ;
+ short arg13 ;
+ short arg14 ;
+ gpstk::AlmOrbit *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+ PyObject * obj9 = 0 ;
+ PyObject * obj10 = 0 ;
+ PyObject * obj11 = 0 ;
+ PyObject * obj12 = 0 ;
+ PyObject * obj13 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOOOOO:new_AlmOrbit",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11,&obj12,&obj13)) goto fail;
+ {
+ arg1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (double)(SWIG_As_double(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ arg6 = (double)(SWIG_As_double(obj5));
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ arg7 = (double)(SWIG_As_double(obj6));
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ arg8 = (double)(SWIG_As_double(obj7));
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ {
+ arg9 = (double)(SWIG_As_double(obj8));
+ if (SWIG_arg_fail(9)) SWIG_fail;
+ }
+ {
+ arg10 = (double)(SWIG_As_double(obj9));
+ if (SWIG_arg_fail(10)) SWIG_fail;
+ }
+ {
+ arg11 = (long)(SWIG_As_long(obj10));
+ if (SWIG_arg_fail(11)) SWIG_fail;
+ }
+ {
+ arg12 = (long)(SWIG_As_long(obj11));
+ if (SWIG_arg_fail(12)) SWIG_fail;
+ }
+ {
+ arg13 = (short)(SWIG_As_short(obj12));
+ if (SWIG_arg_fail(13)) SWIG_fail;
+ }
+ {
+ arg14 = (short)(SWIG_As_short(obj13));
+ if (SWIG_arg_fail(14)) SWIG_fail;
+ }
+ result = (gpstk::AlmOrbit *)new gpstk::AlmOrbit(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AlmOrbit, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_AlmOrbit(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[15];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 14); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_AlmOrbit__SWIG_0(self,args);
+ }
+ if (argc == 14) {
+ int _v;
+ _v = SWIG_Check_short(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[4]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[5]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[6]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[7]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[8]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[9]);
+ if (_v) {
+ _v = SWIG_Check_long(argv[10]);
+ if (_v) {
+ _v = SWIG_Check_long(argv[11]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[12]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[13]);
+ if (_v) {
+ return _wrap_new_AlmOrbit__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_AlmOrbit'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_svXvt(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+ DayTime *arg2 = 0 ;
+ Xvt result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:AlmOrbit_svXvt",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = ((gpstk::AlmOrbit const *)arg1)->svXvt((DayTime const &)*arg2);
+
+ {
+ Xvt * resultptr;
+ resultptr = new Xvt((Xvt &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Xvt, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_getPRNID(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:AlmOrbit_getPRNID",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::AlmOrbit const *)arg1)->getPRNID();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_getFullWeek(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:AlmOrbit_getFullWeek",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::AlmOrbit const *)arg1)->getFullWeek();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_getTransmitTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+ DayTime result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:AlmOrbit_getTransmitTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::AlmOrbit const *)arg1)->getTransmitTime();
+
+ {
+ DayTime * resultptr;
+ resultptr = new DayTime((DayTime &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_getToaTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+ DayTime result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:AlmOrbit_getToaTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::AlmOrbit const *)arg1)->getToaTime();
+
+ {
+ DayTime * resultptr;
+ resultptr = new DayTime((DayTime &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_getTimestamp(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+ DayTime result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:AlmOrbit_getTimestamp",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::AlmOrbit const *)arg1)->getTimestamp();
+
+ {
+ DayTime * resultptr;
+ resultptr = new DayTime((DayTime &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_getSVHealth(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:AlmOrbit_getSVHealth",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::AlmOrbit const *)arg1)->getSVHealth();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_AlmOrbit(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_AlmOrbit",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * AlmOrbit_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__AlmOrbit, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_IonoModel__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IonoModel *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_IonoModel")) goto fail;
+ result = (gpstk::IonoModel *)new gpstk::IonoModel();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IonoModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_IonoModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IonoModel *arg1 = (gpstk::IonoModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_IonoModel",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_IonoModel__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 ;
+ double *arg2 ;
+ gpstk::IonoModel *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_IonoModel",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ result = (gpstk::IonoModel *)new gpstk::IonoModel((double const (*))arg1,(double const (*))arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IonoModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_IonoModel__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ EngAlmanac *arg1 = 0 ;
+ gpstk::IonoModel *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_IonoModel",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("EngAlmanac");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::IonoModel *)new gpstk::IonoModel((EngAlmanac const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IonoModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_IonoModel(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_IonoModel__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EngAlmanac, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_IonoModel__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_IonoModel__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_IonoModel'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_IonoModel_isValid(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IonoModel *arg1 = (gpstk::IonoModel *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:IonoModel_isValid",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::IonoModel const *)arg1)->isValid();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_IonoModel_getCorrection__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IonoModel *arg1 = (gpstk::IonoModel *) 0 ;
+ DayTime *arg2 = 0 ;
+ Geodetic *arg3 = 0 ;
+ double arg4 ;
+ double arg5 ;
+ gpstk::IonoModel::Frequency arg6 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOO:IonoModel_getCorrection",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Geodetic");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (double)(SWIG_As_double(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ arg6 = (gpstk::IonoModel::Frequency)(SWIG_As_int(obj5));
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::IonoModel const *)arg1)->getCorrection((DayTime const &)*arg2,(Geodetic const &)*arg3,arg4,arg5,arg6);
+ }
+ catch(InvalidIonoModel &_e) {
+ {
+ InvalidIonoModel * temp = new InvalidIonoModel(_e);
+ if (SWIGTYPE_p_InvalidIonoModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidIonoModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidIonoModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidIonoModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidIonoModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_IonoModel_getCorrection__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IonoModel *arg1 = (gpstk::IonoModel *) 0 ;
+ DayTime *arg2 = 0 ;
+ Geodetic *arg3 = 0 ;
+ double arg4 ;
+ double arg5 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:IonoModel_getCorrection",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Geodetic");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (double)(SWIG_As_double(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::IonoModel const *)arg1)->getCorrection((DayTime const &)*arg2,(Geodetic const &)*arg3,arg4,arg5);
+ }
+ catch(InvalidIonoModel &_e) {
+ {
+ InvalidIonoModel * temp = new InvalidIonoModel(_e);
+ if (SWIGTYPE_p_InvalidIonoModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidIonoModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidIonoModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidIonoModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidIonoModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_IonoModel_getCorrection(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[7];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__IonoModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Geodetic, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[4]);
+ if (_v) {
+ return _wrap_IonoModel_getCorrection__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 6) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__IonoModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Geodetic, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[4]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[5]);
+ if (_v) {
+ return _wrap_IonoModel_getCorrection__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'IonoModel_getCorrection'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_IonoModel___eq__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IonoModel *arg1 = (gpstk::IonoModel *) 0 ;
+ gpstk::IonoModel *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:IonoModel___eq__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::IonoModel");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::IonoModel const *)arg1)->operator ==((gpstk::IonoModel const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_IonoModel___ne__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IonoModel *arg1 = (gpstk::IonoModel *) 0 ;
+ gpstk::IonoModel *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:IonoModel___ne__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::IonoModel");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::IonoModel const *)arg1)->operator !=((gpstk::IonoModel const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * IonoModel_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__IonoModel, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_IonoModelStore(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IonoModelStore *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_IonoModelStore")) goto fail;
+ result = (gpstk::IonoModelStore *)new gpstk::IonoModelStore();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IonoModelStore, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_IonoModelStore(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IonoModelStore *arg1 = (gpstk::IonoModelStore *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_IonoModelStore",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_IonoModelStore_getCorrection__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IonoModelStore *arg1 = (gpstk::IonoModelStore *) 0 ;
+ DayTime *arg2 = 0 ;
+ Geodetic *arg3 = 0 ;
+ double arg4 ;
+ double arg5 ;
+ gpstk::IonoModel::Frequency arg6 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOO:IonoModelStore_getCorrection",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Geodetic");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (double)(SWIG_As_double(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ arg6 = (gpstk::IonoModel::Frequency)(SWIG_As_int(obj5));
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::IonoModelStore const *)arg1)->getCorrection((DayTime const &)*arg2,(Geodetic const &)*arg3,arg4,arg5,arg6);
+ }
+ catch(NoIonoModelFound &_e) {
+ {
+ NoIonoModelFound * temp = new NoIonoModelFound(_e);
+ if (SWIGTYPE_p_NoIonoModelFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoIonoModelFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoIonoModelFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"NoIonoModelFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoIonoModelFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_IonoModelStore_getCorrection__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IonoModelStore *arg1 = (gpstk::IonoModelStore *) 0 ;
+ DayTime *arg2 = 0 ;
+ Geodetic *arg3 = 0 ;
+ double arg4 ;
+ double arg5 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:IonoModelStore_getCorrection",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Geodetic");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (double)(SWIG_As_double(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::IonoModelStore const *)arg1)->getCorrection((DayTime const &)*arg2,(Geodetic const &)*arg3,arg4,arg5);
+ }
+ catch(NoIonoModelFound &_e) {
+ {
+ NoIonoModelFound * temp = new NoIonoModelFound(_e);
+ if (SWIGTYPE_p_NoIonoModelFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoIonoModelFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoIonoModelFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"NoIonoModelFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoIonoModelFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_IonoModelStore_getCorrection(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[7];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__IonoModelStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Geodetic, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[4]);
+ if (_v) {
+ return _wrap_IonoModelStore_getCorrection__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 6) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__IonoModelStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Geodetic, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[4]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[5]);
+ if (_v) {
+ return _wrap_IonoModelStore_getCorrection__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'IonoModelStore_getCorrection'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_IonoModelStore_addIonoModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::IonoModelStore *arg1 = (gpstk::IonoModelStore *) 0 ;
+ DayTime *arg2 = 0 ;
+ gpstk::IonoModel *arg3 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:IonoModelStore_addIonoModel",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::IonoModel");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (bool)(arg1)->addIonoModel((DayTime const &)*arg2,(gpstk::IonoModel const &)*arg3);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * IonoModelStore_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__IonoModelStore, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_TropModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_TropModel",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_isValid(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:TropModel_isValid",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)(arg1)->isValid();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_correction__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:TropModel_correction",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::TropModel const *)arg1)->correction(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_correction__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+ Position *arg2 = 0 ;
+ Position *arg3 = 0 ;
+ DayTime *arg4 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:TropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Position");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = (double)(arg1)->correction((Position const &)*arg2,(Position const &)*arg3,(DayTime const &)*arg4);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_correction__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+ Xvt *arg2 = 0 ;
+ Xvt *arg3 = 0 ;
+ DayTime *arg4 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:TropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("Xvt");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Xvt");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = (double)(arg1)->correction((Xvt const &)*arg2,(Xvt const &)*arg3,(DayTime const &)*arg4);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_correction(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_TropModel_correction__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_TropModel_correction__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_TropModel_correction__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'TropModel_correction'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_dry_zenith_delay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:TropModel_dry_zenith_delay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::TropModel const *)arg1)->dry_zenith_delay();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_wet_zenith_delay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:TropModel_wet_zenith_delay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::TropModel const *)arg1)->wet_zenith_delay();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_dry_mapping_function(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:TropModel_dry_mapping_function",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::TropModel const *)arg1)->dry_mapping_function(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_wet_mapping_function(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:TropModel_wet_mapping_function",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::TropModel const *)arg1)->wet_mapping_function(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_setWeather__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ double *arg4 = 0 ;
+ double temp2 ;
+ double temp3 ;
+ double temp4 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:TropModel_setWeather",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ temp4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ arg4 = &temp4;
+ }
+ try {
+ (arg1)->setWeather((double const &)*arg2,(double const &)*arg3,(double const &)*arg4);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_setWeather__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+ gpstk::WxObservation *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:TropModel_setWeather",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::WxObservation");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ (arg1)->setWeather((gpstk::WxObservation const &)*arg2);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_setWeather(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_TropModel_setWeather__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ return _wrap_TropModel_setWeather__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'TropModel_setWeather'");
+ return NULL;
+}
+
+
+static PyObject * TropModel_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__TropModel, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ZeroTropModel_correction__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ZeroTropModel_correction",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::ZeroTropModel const *)arg1)->correction(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_correction__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+ Position *arg2 = 0 ;
+ Position *arg3 = 0 ;
+ DayTime *arg4 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:ZeroTropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Position");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = (double)(arg1)->correction((Position const &)*arg2,(Position const &)*arg3,(DayTime const &)*arg4);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_correction__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+ Xvt *arg2 = 0 ;
+ Xvt *arg3 = 0 ;
+ DayTime *arg4 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:ZeroTropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("Xvt");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Xvt");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = (double)(arg1)->correction((Xvt const &)*arg2,(Xvt const &)*arg3,(DayTime const &)*arg4);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_correction(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ZeroTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_ZeroTropModel_correction__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ZeroTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_ZeroTropModel_correction__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ZeroTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_ZeroTropModel_correction__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ZeroTropModel_correction'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_dry_zenith_delay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ZeroTropModel_dry_zenith_delay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::ZeroTropModel const *)arg1)->dry_zenith_delay();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_wet_zenith_delay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ZeroTropModel_wet_zenith_delay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::ZeroTropModel const *)arg1)->wet_zenith_delay();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_dry_mapping_function(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ZeroTropModel_dry_mapping_function",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::ZeroTropModel const *)arg1)->dry_mapping_function(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_wet_mapping_function(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ZeroTropModel_wet_mapping_function",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::ZeroTropModel const *)arg1)->wet_mapping_function(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ZeroTropModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ZeroTropModel *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_ZeroTropModel")) goto fail;
+ result = (gpstk::ZeroTropModel *)new gpstk::ZeroTropModel();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ZeroTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ZeroTropModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ZeroTropModel",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ZeroTropModel_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__ZeroTropModel, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SimpleTropModel__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SimpleTropModel *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_SimpleTropModel")) goto fail;
+ result = (gpstk::SimpleTropModel *)new gpstk::SimpleTropModel();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SimpleTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SimpleTropModel__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = 0 ;
+ gpstk::SimpleTropModel *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_SimpleTropModel",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::WxObservation");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::SimpleTropModel *)new gpstk::SimpleTropModel((gpstk::WxObservation const &)*arg1);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SimpleTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SimpleTropModel__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ gpstk::SimpleTropModel *result;
+ double temp1 ;
+ double temp2 ;
+ double temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_SimpleTropModel",&obj0,&obj1,&obj2)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ try {
+ result = (gpstk::SimpleTropModel *)new gpstk::SimpleTropModel((double const &)*arg1,(double const &)*arg2,(double const &)*arg3);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SimpleTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SimpleTropModel(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_SimpleTropModel__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_SimpleTropModel__SWIG_1(self,args);
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_new_SimpleTropModel__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SimpleTropModel'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_dry_zenith_delay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SimpleTropModel_dry_zenith_delay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::SimpleTropModel const *)arg1)->dry_zenith_delay();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_wet_zenith_delay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SimpleTropModel_wet_zenith_delay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::SimpleTropModel const *)arg1)->wet_zenith_delay();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_dry_mapping_function(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SimpleTropModel_dry_mapping_function",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::SimpleTropModel const *)arg1)->dry_mapping_function(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_wet_mapping_function(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SimpleTropModel_wet_mapping_function",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::SimpleTropModel const *)arg1)->wet_mapping_function(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_setWeather__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ double *arg4 = 0 ;
+ double temp2 ;
+ double temp3 ;
+ double temp4 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:SimpleTropModel_setWeather",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ temp4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ arg4 = &temp4;
+ }
+ try {
+ (arg1)->setWeather((double const &)*arg2,(double const &)*arg3,(double const &)*arg4);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_setWeather__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+ gpstk::WxObservation *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SimpleTropModel_setWeather",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::WxObservation");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ (arg1)->setWeather((gpstk::WxObservation const &)*arg2);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_setWeather(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SimpleTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_SimpleTropModel_setWeather__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SimpleTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ return _wrap_SimpleTropModel_setWeather__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'SimpleTropModel_setWeather'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_SimpleTropModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_SimpleTropModel",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * SimpleTropModel_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__SimpleTropModel, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_GGTropModel__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGTropModel *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_GGTropModel")) goto fail;
+ result = (gpstk::GGTropModel *)new gpstk::GGTropModel();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GGTropModel__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = 0 ;
+ gpstk::GGTropModel *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_GGTropModel",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::WxObservation");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::GGTropModel *)new gpstk::GGTropModel((gpstk::WxObservation const &)*arg1);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GGTropModel__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ gpstk::GGTropModel *result;
+ double temp1 ;
+ double temp2 ;
+ double temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_GGTropModel",&obj0,&obj1,&obj2)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ try {
+ result = (gpstk::GGTropModel *)new gpstk::GGTropModel((double const &)*arg1,(double const &)*arg2,(double const &)*arg3);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GGTropModel(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_GGTropModel__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_GGTropModel__SWIG_1(self,args);
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_new_GGTropModel__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_GGTropModel'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_dry_zenith_delay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GGTropModel_dry_zenith_delay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::GGTropModel const *)arg1)->dry_zenith_delay();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_wet_zenith_delay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GGTropModel_wet_zenith_delay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::GGTropModel const *)arg1)->wet_zenith_delay();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_dry_mapping_function(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GGTropModel_dry_mapping_function",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::GGTropModel const *)arg1)->dry_mapping_function(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_wet_mapping_function(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GGTropModel_wet_mapping_function",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::GGTropModel const *)arg1)->wet_mapping_function(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_setWeather__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ double *arg4 = 0 ;
+ double temp2 ;
+ double temp3 ;
+ double temp4 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:GGTropModel_setWeather",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ temp4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ arg4 = &temp4;
+ }
+ try {
+ (arg1)->setWeather((double const &)*arg2,(double const &)*arg3,(double const &)*arg4);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_setWeather__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+ gpstk::WxObservation *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GGTropModel_setWeather",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::WxObservation");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ (arg1)->setWeather((gpstk::WxObservation const &)*arg2);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_setWeather(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_GGTropModel_setWeather__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ return _wrap_GGTropModel_setWeather__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'GGTropModel_setWeather'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_GGTropModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_GGTropModel",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * GGTropModel_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__GGTropModel, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_GGHeightTropModel__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_GGHeightTropModel")) goto fail;
+ result = (gpstk::GGHeightTropModel *)new gpstk::GGHeightTropModel();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGHeightTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GGHeightTropModel__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WxObservation *arg1 = 0 ;
+ gpstk::GGHeightTropModel *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_GGHeightTropModel",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::WxObservation");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::GGHeightTropModel *)new gpstk::GGHeightTropModel((gpstk::WxObservation const &)*arg1);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGHeightTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GGHeightTropModel__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ gpstk::GGHeightTropModel *result;
+ double temp1 ;
+ double temp2 ;
+ double temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_GGHeightTropModel",&obj0,&obj1,&obj2)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ try {
+ result = (gpstk::GGHeightTropModel *)new gpstk::GGHeightTropModel((double const &)*arg1,(double const &)*arg2,(double const &)*arg3);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGHeightTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GGHeightTropModel__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ double arg4 ;
+ double arg5 ;
+ double arg6 ;
+ gpstk::GGHeightTropModel *result;
+ double temp1 ;
+ double temp2 ;
+ double temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOO:new_GGHeightTropModel",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ arg4 = (double const)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (double const)(SWIG_As_double(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ arg6 = (double const)(SWIG_As_double(obj5));
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::GGHeightTropModel *)new gpstk::GGHeightTropModel((double const &)*arg1,(double const &)*arg2,(double const &)*arg3,arg4,arg5,arg6);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGHeightTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GGHeightTropModel(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[7];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_GGHeightTropModel__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_GGHeightTropModel__SWIG_1(self,args);
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_new_GGHeightTropModel__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 6) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[4]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[5]);
+ if (_v) {
+ return _wrap_new_GGHeightTropModel__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_GGHeightTropModel'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_correction__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GGHeightTropModel_correction",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::GGHeightTropModel const *)arg1)->correction(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_correction__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+ Position *arg2 = 0 ;
+ Position *arg3 = 0 ;
+ DayTime *arg4 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:GGHeightTropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Position");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = (double)(arg1)->correction((Position const &)*arg2,(Position const &)*arg3,(DayTime const &)*arg4);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_correction__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+ Xvt *arg2 = 0 ;
+ Xvt *arg3 = 0 ;
+ DayTime *arg4 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:GGHeightTropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("Xvt");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Xvt");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = (double)(arg1)->correction((Xvt const &)*arg2,(Xvt const &)*arg3,(DayTime const &)*arg4);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_correction(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGHeightTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_GGHeightTropModel_correction__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGHeightTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_GGHeightTropModel_correction__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGHeightTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_GGHeightTropModel_correction__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'GGHeightTropModel_correction'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_dry_zenith_delay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GGHeightTropModel_dry_zenith_delay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::GGHeightTropModel const *)arg1)->dry_zenith_delay();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_wet_zenith_delay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GGHeightTropModel_wet_zenith_delay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::GGHeightTropModel const *)arg1)->wet_zenith_delay();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_dry_mapping_function(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GGHeightTropModel_dry_mapping_function",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::GGHeightTropModel const *)arg1)->dry_mapping_function(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_wet_mapping_function(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GGHeightTropModel_wet_mapping_function",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::GGHeightTropModel const *)arg1)->wet_mapping_function(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_setWeather__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ double *arg4 = 0 ;
+ double temp2 ;
+ double temp3 ;
+ double temp4 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:GGHeightTropModel_setWeather",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ temp4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ arg4 = &temp4;
+ }
+ try {
+ (arg1)->setWeather((double const &)*arg2,(double const &)*arg3,(double const &)*arg4);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_setWeather__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+ gpstk::WxObservation *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GGHeightTropModel_setWeather",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::WxObservation");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ (arg1)->setWeather((gpstk::WxObservation const &)*arg2);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_setWeather(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGHeightTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_GGHeightTropModel_setWeather__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGHeightTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ return _wrap_GGHeightTropModel_setWeather__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'GGHeightTropModel_setWeather'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_setHeights(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ double *arg4 = 0 ;
+ double temp2 ;
+ double temp3 ;
+ double temp4 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:GGHeightTropModel_setHeights",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ temp4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ arg4 = &temp4;
+ }
+ (arg1)->setHeights((double const &)*arg2,(double const &)*arg3,(double const &)*arg4);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_setReceiverHeight(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+ double *arg2 = 0 ;
+ double temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GGHeightTropModel_setReceiverHeight",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ (arg1)->setReceiverHeight((double const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_GGHeightTropModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_GGHeightTropModel",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * GGHeightTropModel_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__GGHeightTropModel, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_NBTropModel__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_NBTropModel")) goto fail;
+ result = (gpstk::NBTropModel *)new gpstk::NBTropModel();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NBTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_NBTropModel__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ int *arg2 = 0 ;
+ gpstk::NBTropModel *result;
+ double temp1 ;
+ int temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_NBTropModel",&obj0,&obj1)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ result = (gpstk::NBTropModel *)new gpstk::NBTropModel((double const &)*arg1,(int const &)*arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NBTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_NBTropModel__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ int *arg2 = 0 ;
+ gpstk::WxObservation *arg3 = 0 ;
+ gpstk::NBTropModel *result;
+ double temp1 ;
+ int temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_NBTropModel",&obj0,&obj1,&obj2)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::WxObservation");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::NBTropModel *)new gpstk::NBTropModel((double const &)*arg1,(int const &)*arg2,(gpstk::WxObservation const &)*arg3);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NBTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_NBTropModel__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ int *arg2 = 0 ;
+ double *arg3 = 0 ;
+ double *arg4 = 0 ;
+ double *arg5 = 0 ;
+ gpstk::NBTropModel *result;
+ double temp1 ;
+ int temp2 ;
+ double temp3 ;
+ double temp4 ;
+ double temp5 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:new_NBTropModel",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ temp4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ arg4 = &temp4;
+ }
+ {
+ temp5 = (double)(SWIG_As_double(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ arg5 = &temp5;
+ }
+ try {
+ result = (gpstk::NBTropModel *)new gpstk::NBTropModel((double const &)*arg1,(int const &)*arg2,(double const &)*arg3,(double const &)*arg4,(double const &)*arg5);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NBTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_NBTropModel__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ double *arg2 = 0 ;
+ int *arg3 = 0 ;
+ gpstk::NBTropModel *result;
+ double temp1 ;
+ double temp2 ;
+ int temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_NBTropModel",&obj0,&obj1,&obj2)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (int)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ result = (gpstk::NBTropModel *)new gpstk::NBTropModel((double const &)*arg1,(double const &)*arg2,(int const &)*arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NBTropModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_NBTropModel(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[6];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_NBTropModel__SWIG_0(self,args);
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_new_NBTropModel__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_NBTropModel__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_NBTropModel__SWIG_4(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[4]);
+ if (_v) {
+ return _wrap_new_NBTropModel__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_NBTropModel'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_correction__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_correction",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::NBTropModel const *)arg1)->correction(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_correction__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ Position *arg2 = 0 ;
+ Position *arg3 = 0 ;
+ DayTime *arg4 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:NBTropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Position");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = (double)(arg1)->correction((Position const &)*arg2,(Position const &)*arg3,(DayTime const &)*arg4);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_correction__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ Xvt *arg2 = 0 ;
+ Xvt *arg3 = 0 ;
+ DayTime *arg4 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:NBTropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("Xvt");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Xvt");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = (double)(arg1)->correction((Xvt const &)*arg2,(Xvt const &)*arg3,(DayTime const &)*arg4);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_correction(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NBTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_NBTropModel_correction__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NBTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_NBTropModel_correction__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NBTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_NBTropModel_correction__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'NBTropModel_correction'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_dry_zenith_delay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:NBTropModel_dry_zenith_delay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::NBTropModel const *)arg1)->dry_zenith_delay();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_wet_zenith_delay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:NBTropModel_wet_zenith_delay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::NBTropModel const *)arg1)->wet_zenith_delay();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_dry_mapping_function(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_dry_mapping_function",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::NBTropModel const *)arg1)->dry_mapping_function(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_wet_mapping_function(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ double arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_wet_mapping_function",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::NBTropModel const *)arg1)->wet_mapping_function(arg2);
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setWeather__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ gpstk::WxObservation *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_setWeather",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::WxObservation");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ (arg1)->setWeather((gpstk::WxObservation const &)*arg2);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setWeather__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ double *arg4 = 0 ;
+ double temp2 ;
+ double temp3 ;
+ double temp4 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:NBTropModel_setWeather",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ temp4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ arg4 = &temp4;
+ }
+ try {
+ (arg1)->setWeather((double const &)*arg2,(double const &)*arg3,(double const &)*arg4);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setWeather__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:NBTropModel_setWeather",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ (arg1)->setWeather();
+ }
+ catch(InvalidTropModel &_e) {
+ {
+ InvalidTropModel * temp = new InvalidTropModel(_e);
+ if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setWeather(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NBTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_NBTropModel_setWeather__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NBTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_NBTropModel_setWeather__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NBTropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ return _wrap_NBTropModel_setWeather__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'NBTropModel_setWeather'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setReceiverHeight(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ double *arg2 = 0 ;
+ double temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_setReceiverHeight",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ (arg1)->setReceiverHeight((double const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setReceiverLatitude(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ double *arg2 = 0 ;
+ double temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_setReceiverLatitude",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ (arg1)->setReceiverLatitude((double const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setDayOfYear(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ int *arg2 = 0 ;
+ int temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_setDayOfYear",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ (arg1)->setDayOfYear((int const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_NBTropModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_NBTropModel",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * NBTropModel_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__NBTropModel, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ClockModel_getOffset(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ClockModel *arg1 = (gpstk::ClockModel *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ClockModel_getOffset",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (double)((gpstk::ClockModel const *)arg1)->getOffset((gpstk::DayTime const &)*arg2);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ClockModel_isOffsetValid(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ClockModel *arg1 = (gpstk::ClockModel *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ClockModel_isOffsetValid",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::ClockModel const *)arg1)->isOffsetValid((gpstk::DayTime const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ClockModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ClockModel *arg1 = (gpstk::ClockModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ClockModel",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ClockModel_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__ClockModel, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ObsClockModel_addEpoch(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ ORDEpoch *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_addEpoch",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("ORDEpoch");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ (arg1)->addEpoch((ORDEpoch const &)*arg2);
+ }
+ catch(gpstk::InvalidValue &_e) {
+ {
+ gpstk::InvalidValue * temp = new gpstk::InvalidValue(_e);
+ if (SWIGTYPE_p_gpstk__InvalidValue->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidValue->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidValue");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_setPRNModeMap(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ gpstk::ObsClockModel::PRNModeMap *arg2 = 0 ;
+ gpstk::ObsClockModel *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_setPRNModeMap",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ObsClockModel::PRNModeMap");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::ObsClockModel &_result_ref = (arg1)->setPRNModeMap((std::map<short,gpstk::ObsClockModel::PRNMode,std::less<short >,std::allocator<std::pair<short const,gpstk::ObsClockModel::PRNMode > > > const &)*arg2);
+ result = (gpstk::ObsClockModel *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsClockModel, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_setPRNMode__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ short arg2 ;
+ gpstk::ObsClockModel::PRNMode arg3 ;
+ gpstk::ObsClockModel *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:ObsClockModel_setPRNMode",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::ObsClockModel::PRNMode)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ gpstk::ObsClockModel &_result_ref = (arg1)->setPRNMode(arg2,arg3);
+ result = (gpstk::ObsClockModel *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsClockModel, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_setPRNMode__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ gpstk::ObsClockModel::PRNMode arg2 ;
+ gpstk::ObsClockModel *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_setPRNMode",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::ObsClockModel::PRNMode)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::ObsClockModel &_result_ref = (arg1)->setPRNMode(arg2);
+ result = (gpstk::ObsClockModel *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsClockModel, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_setPRNMode(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObsClockModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_ObsClockModel_setPRNMode__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObsClockModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_ObsClockModel_setPRNMode__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ObsClockModel_setPRNMode'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_setSigmaMultiplier(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ double arg2 ;
+ gpstk::ObsClockModel *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_setSigmaMultiplier",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::ObsClockModel &_result_ref = (arg1)->setSigmaMultiplier(arg2);
+ result = (gpstk::ObsClockModel *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsClockModel, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_setElevationMask(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ double arg2 ;
+ gpstk::ObsClockModel *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_setElevationMask",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::ObsClockModel &_result_ref = (arg1)->setElevationMask(arg2);
+ result = (gpstk::ObsClockModel *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsClockModel, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_getPRNStatusMap(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ gpstk::ObsClockModel::PRNStatusMap *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsClockModel_getPRNStatusMap",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ gpstk::ObsClockModel::PRNStatusMap const &_result_ref = ((gpstk::ObsClockModel const *)arg1)->getPRNStatusMap();
+ result = (gpstk::ObsClockModel::PRNStatusMap *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_getPRNStatus(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ short arg2 ;
+ gpstk::ObsClockModel::PRNStatus result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_getPRNStatus",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::ObsClockModel::PRNStatus)((gpstk::ObsClockModel const *)arg1)->getPRNStatus(arg2);
+ }
+ catch(gpstk::ObjectNotFound &_e) {
+ {
+ gpstk::ObjectNotFound * temp = new gpstk::ObjectNotFound(_e);
+ if (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::ObjectNotFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_getPRNModeMap(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ gpstk::ObsClockModel::PRNModeMap *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsClockModel_getPRNModeMap",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ gpstk::ObsClockModel::PRNModeMap const &_result_ref = ((gpstk::ObsClockModel const *)arg1)->getPRNModeMap();
+ result = (gpstk::ObsClockModel::PRNModeMap *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_getPRNMode(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ short arg2 ;
+ gpstk::ObsClockModel::PRNMode result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_getPRNMode",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::ObsClockModel::PRNMode)((gpstk::ObsClockModel const *)arg1)->getPRNMode(arg2);
+ }
+ catch(gpstk::ObjectNotFound &_e) {
+ {
+ gpstk::ObjectNotFound * temp = new gpstk::ObjectNotFound(_e);
+ if (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::ObjectNotFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_getSigmaMultiplier(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsClockModel_getSigmaMultiplier",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::ObsClockModel const *)arg1)->getSigmaMultiplier();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_getElevationMask(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsClockModel_getElevationMask",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::ObsClockModel const *)arg1)->getElevationMask();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_simpleOrdClock(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ ORDEpoch *arg2 = 0 ;
+ Stats<double > result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_simpleOrdClock",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("ORDEpoch");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (arg1)->simpleOrdClock((ORDEpoch const &)*arg2);
+ }
+ catch(gpstk::InvalidValue &_e) {
+ {
+ gpstk::InvalidValue * temp = new gpstk::InvalidValue(_e);
+ if (SWIGTYPE_p_gpstk__InvalidValue->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidValue->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidValue");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ Stats<double > * resultptr;
+ resultptr = new Stats<double >((Stats<double > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_StatsTdouble_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_dump__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ std::ostream *arg2 = 0 ;
+ short arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:ObsClockModel_dump",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ ((gpstk::ObsClockModel const *)arg1)->dump(*arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_dump__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::ObsClockModel const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_dump(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObsClockModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_ObsClockModel_dump__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObsClockModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ return _wrap_ObsClockModel_dump__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ObsClockModel_dump'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_6(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::ObsClockModel *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ObsClockModel");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::ObsClockModel const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ObsClockModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ObsClockModel",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ObsClockModel_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__ObsClockModel, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_EpochClockModel_isOffsetValid__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EpochClockModel *arg1 = (gpstk::EpochClockModel *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EpochClockModel_isOffsetValid",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EpochClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (bool)((gpstk::EpochClockModel const *)arg1)->isOffsetValid((gpstk::DayTime const &)*arg2);
+ }
+ catch(gpstk::InvalidArgumentException &_e) {
+ {
+ gpstk::InvalidArgumentException * temp = new gpstk::InvalidArgumentException(_e);
+ if (SWIGTYPE_p_gpstk__InvalidArgumentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidArgumentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidArgumentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidArgumentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidArgumentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EpochClockModel_isOffsetValid__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EpochClockModel *arg1 = (gpstk::EpochClockModel *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EpochClockModel_isOffsetValid",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EpochClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::EpochClockModel const *)arg1)->isOffsetValid();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EpochClockModel_isOffsetValid(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EpochClockModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_EpochClockModel_isOffsetValid__SWIG_1(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EpochClockModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_EpochClockModel_isOffsetValid__SWIG_0(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'EpochClockModel_isOffsetValid'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_EpochClockModel_addEpoch(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EpochClockModel *arg1 = (gpstk::EpochClockModel *) 0 ;
+ ORDEpoch *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EpochClockModel_addEpoch",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EpochClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("ORDEpoch");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ (arg1)->addEpoch((ORDEpoch const &)*arg2);
+ }
+ catch(gpstk::InvalidValue &_e) {
+ {
+ gpstk::InvalidValue * temp = new gpstk::InvalidValue(_e);
+ if (SWIGTYPE_p_gpstk__InvalidValue->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidValue->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidValue");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_EpochClockModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EpochClockModel *arg1 = (gpstk::EpochClockModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_EpochClockModel",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EpochClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * EpochClockModel_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__EpochClockModel, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_LinearClockModel__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ double arg2 ;
+ gpstk::ObsClockModel::PRNMode arg3 ;
+ gpstk::LinearClockModel *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_LinearClockModel",&obj0,&obj1,&obj2)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::ObsClockModel::PRNMode)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::LinearClockModel *)new gpstk::LinearClockModel(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__LinearClockModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_LinearClockModel__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ double arg2 ;
+ gpstk::LinearClockModel *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_LinearClockModel",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::LinearClockModel *)new gpstk::LinearClockModel(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__LinearClockModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_LinearClockModel__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ gpstk::LinearClockModel *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_LinearClockModel",&obj0)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::LinearClockModel *)new gpstk::LinearClockModel(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__LinearClockModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_LinearClockModel__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::LinearClockModel *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_LinearClockModel")) goto fail;
+ result = (gpstk::LinearClockModel *)new gpstk::LinearClockModel();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__LinearClockModel, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_LinearClockModel(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_LinearClockModel__SWIG_3(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ return _wrap_new_LinearClockModel__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_new_LinearClockModel__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_LinearClockModel__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_LinearClockModel'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_getOffset(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:LinearClockModel_getOffset",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (double)((gpstk::LinearClockModel const *)arg1)->getOffset((gpstk::DayTime const &)*arg2);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_isOffsetValid(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:LinearClockModel_isOffsetValid",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::LinearClockModel const *)arg1)->isOffsetValid((gpstk::DayTime const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_addEpoch(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+ ORDEpoch *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:LinearClockModel_addEpoch",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("ORDEpoch");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ (arg1)->addEpoch((ORDEpoch const &)*arg2);
+ }
+ catch(gpstk::InvalidValue &_e) {
+ {
+ gpstk::InvalidValue * temp = new gpstk::InvalidValue(_e);
+ if (SWIGTYPE_p_gpstk__InvalidValue->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidValue->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidValue");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_reset(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:LinearClockModel_reset",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->reset();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_dump__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+ std::ostream *arg2 = 0 ;
+ short arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:LinearClockModel_dump",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ ((gpstk::LinearClockModel const *)arg1)->dump(*arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_dump__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:LinearClockModel_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::LinearClockModel const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_dump(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__LinearClockModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_LinearClockModel_dump__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__LinearClockModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ return _wrap_LinearClockModel_dump__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'LinearClockModel_dump'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_7(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::LinearClockModel *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::LinearClockModel");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::LinearClockModel const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_LinearClockModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_LinearClockModel",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * LinearClockModel_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__LinearClockModel, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_BCEphemerisStore(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_BCEphemerisStore")) goto fail;
+ result = (gpstk::BCEphemerisStore *)new gpstk::BCEphemerisStore();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__BCEphemerisStore, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_BCEphemerisStore(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_BCEphemerisStore",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_getPrnXvt__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ Xvt result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_getPrnXvt",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::BCEphemerisStore const *)arg1)->getPrnXvt(arg2,(gpstk::DayTime const &)*arg3);
+ }
+ catch(NoEphemerisFound &_e) {
+ {
+ NoEphemerisFound * temp = new NoEphemerisFound(_e);
+ if (SWIGTYPE_p_NoEphemerisFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoEphemerisFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"NoEphemerisFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ Xvt * resultptr;
+ resultptr = new Xvt((Xvt &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Xvt, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_getPrnHealth(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_getPrnHealth",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = (short)((gpstk::BCEphemerisStore const *)arg1)->getPrnHealth(arg2,(gpstk::DayTime const &)*arg3);
+ }
+ catch(NoEphemerisFound &_e) {
+ {
+ NoEphemerisFound * temp = new NoEphemerisFound(_e);
+ if (SWIGTYPE_p_NoEphemerisFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoEphemerisFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"NoEphemerisFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_dump__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ short arg2 ;
+ std::ostream *arg3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_dump",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ ((gpstk::BCEphemerisStore const *)arg1)->dump(arg2,*arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_dump__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:BCEphemerisStore_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::BCEphemerisStore const *)arg1)->dump(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_dump__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_dump",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ ((gpstk::BCEphemerisStore const *)arg1)->dump();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_dump(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__BCEphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_BCEphemerisStore_dump__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__BCEphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ return _wrap_BCEphemerisStore_dump__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__BCEphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_BCEphemerisStore_dump__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'BCEphemerisStore_dump'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_getInitialTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ gpstk::DayTime result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_getInitialTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::BCEphemerisStore const *)arg1)->getInitialTime();
+
+ {
+ gpstk::DayTime * resultptr;
+ resultptr = new gpstk::DayTime((gpstk::DayTime &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_getFinalTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ gpstk::DayTime result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_getFinalTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::BCEphemerisStore const *)arg1)->getFinalTime();
+
+ {
+ gpstk::DayTime * resultptr;
+ resultptr = new gpstk::DayTime((gpstk::DayTime &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_addEphemeris(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ EngEphemeris *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:BCEphemerisStore_addEphemeris",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("EngEphemeris");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (bool)(arg1)->addEphemeris((EngEphemeris const &)*arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_wiper(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ DayTime *arg2 = 0 ;
+ unsigned int result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:BCEphemerisStore_wiper",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (unsigned int)(arg1)->wiper((DayTime const &)*arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_edit(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ DayTime *arg2 = 0 ;
+ DayTime *arg3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_edit",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ (arg1)->edit((DayTime const &)*arg2,(DayTime const &)*arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_clear(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_clear",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->clear();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_getPrnXvt__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ short *arg4 = 0 ;
+ Xvt result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:BCEphemerisStore_getPrnXvt",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_short, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("short");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::BCEphemerisStore const *)arg1)->getPrnXvt(arg2,(gpstk::DayTime const &)*arg3,*arg4);
+ }
+ catch(NoEphemerisFound &_e) {
+ {
+ NoEphemerisFound * temp = new NoEphemerisFound(_e);
+ if (SWIGTYPE_p_NoEphemerisFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoEphemerisFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"NoEphemerisFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ Xvt * resultptr;
+ resultptr = new Xvt((Xvt &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Xvt, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_getPrnXvt(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__BCEphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_BCEphemerisStore_getPrnXvt__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__BCEphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_short, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_BCEphemerisStore_getPrnXvt__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'BCEphemerisStore_getPrnXvt'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_ubeSize(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ unsigned int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_ubeSize",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned int)((gpstk::BCEphemerisStore const *)arg1)->ubeSize();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_size(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ unsigned int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_size",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned int)((gpstk::BCEphemerisStore const *)arg1)->size();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_findEphemeris(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ EngEphemeris *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_findEphemeris",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ EngEphemeris const &_result_ref = ((gpstk::BCEphemerisStore const *)arg1)->findEphemeris(arg2,(gpstk::DayTime const &)*arg3);
+ result = (EngEphemeris *) &_result_ref;
+ }
+ }
+ catch(NoEphemerisFound &_e) {
+ {
+ NoEphemerisFound * temp = new NoEphemerisFound(_e);
+ if (SWIGTYPE_p_NoEphemerisFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoEphemerisFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"NoEphemerisFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_findUserEphemeris(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ EngEphemeris *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_findUserEphemeris",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ EngEphemeris const &_result_ref = ((gpstk::BCEphemerisStore const *)arg1)->findUserEphemeris(arg2,(gpstk::DayTime const &)*arg3);
+ result = (EngEphemeris *) &_result_ref;
+ }
+ }
+ catch(NoEphemerisFound &_e) {
+ {
+ NoEphemerisFound * temp = new NoEphemerisFound(_e);
+ if (SWIGTYPE_p_NoEphemerisFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoEphemerisFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"NoEphemerisFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_findNearEphemeris(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ EngEphemeris *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_findNearEphemeris",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ EngEphemeris const &_result_ref = ((gpstk::BCEphemerisStore const *)arg1)->findNearEphemeris(arg2,(gpstk::DayTime const &)*arg3);
+ result = (EngEphemeris *) &_result_ref;
+ }
+ }
+ catch(NoEphemerisFound &_e) {
+ {
+ NoEphemerisFound * temp = new NoEphemerisFound(_e);
+ if (SWIGTYPE_p_NoEphemerisFound->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoEphemerisFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"NoEphemerisFound");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_addToList(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ std::list<EngEphemeris > *arg2 = 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:BCEphemerisStore_addToList",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__listTgpstk__EngEphemeris_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::list<EngEphemeris >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (int)((gpstk::BCEphemerisStore const *)arg1)->addToList(*arg2);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_SearchNear(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_SearchNear",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->SearchNear();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_SearchPast(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_SearchPast",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->SearchPast();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * BCEphemerisStore_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__BCEphemerisStore, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_FileStore_RinexNavHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FileStore_RinexNavHeader",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_RinexNavHeader_getFileNames(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+ SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FileStore_RinexNavHeader_getFileNames",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::FileStore<RinexNavHeader > const *)arg1)->getFileNames();
+
+ {
+ std::vector<std::string,std::allocator<std::string > > * resultptr;
+ resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_RinexNavHeader_addFile(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+ std::string *arg2 = 0 ;
+ RinexNavHeader *arg3 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:FileStore_RinexNavHeader_addFile",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("RinexNavHeader");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ (arg1)->addFile((std::string const &)*arg2,(RinexNavHeader const &)*arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_RinexNavHeader_getHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+ std::string *arg2 = 0 ;
+ RinexNavHeader *result;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FileStore_RinexNavHeader_getHeader",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ {
+ RinexNavHeader const &_result_ref = (arg1)->getHeader((std::string const &)*arg2);
+ result = (RinexNavHeader *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavHeader, 0);
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_RinexNavHeader_loadFile(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+ std::string *arg2 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FileStore_RinexNavHeader_loadFile",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ try {
+ (arg1)->loadFile((std::string const &)*arg2);
+ }
+ catch(gpstk::FileMissingException &_e) {
+ {
+ gpstk::FileMissingException * temp = new gpstk::FileMissingException(_e);
+ if (SWIGTYPE_p_gpstk__FileMissingException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileMissingException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileMissingException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_RinexNavHeader_loadFiles(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+ std::vector<std::string,std::allocator<std::string > > *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FileStore_RinexNavHeader_loadFiles",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::vector<std::string,std::allocator<std::string > >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->loadFiles((std::vector<std::string,std::allocator<std::string > > const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_RinexNavHeader_size(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+ unsigned int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FileStore_RinexNavHeader_size",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned int)((gpstk::FileStore<RinexNavHeader > const *)arg1)->size();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * FileStore_RinexNavHeader_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_FileStore_SP3Header(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FileStore_SP3Header",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_SP3Header_getFileNames(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+ SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FileStore_SP3Header_getFileNames",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::FileStore<SP3Header > const *)arg1)->getFileNames();
+
+ {
+ std::vector<std::string,std::allocator<std::string > > * resultptr;
+ resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_SP3Header_addFile(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+ std::string *arg2 = 0 ;
+ SP3Header *arg3 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:FileStore_SP3Header_addFile",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("SP3Header");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ (arg1)->addFile((std::string const &)*arg2,(SP3Header const &)*arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_SP3Header_getHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+ std::string *arg2 = 0 ;
+ SP3Header *result;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FileStore_SP3Header_getHeader",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ {
+ SP3Header const &_result_ref = (arg1)->getHeader((std::string const &)*arg2);
+ result = (SP3Header *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3Header, 0);
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_SP3Header_loadFile(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+ std::string *arg2 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FileStore_SP3Header_loadFile",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ try {
+ (arg1)->loadFile((std::string const &)*arg2);
+ }
+ catch(gpstk::FileMissingException &_e) {
+ {
+ gpstk::FileMissingException * temp = new gpstk::FileMissingException(_e);
+ if (SWIGTYPE_p_gpstk__FileMissingException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileMissingException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileMissingException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_SP3Header_loadFiles(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+ std::vector<std::string,std::allocator<std::string > > *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FileStore_SP3Header_loadFiles",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::vector<std::string,std::allocator<std::string > >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->loadFiles((std::vector<std::string,std::allocator<std::string > > const &)*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_SP3Header_size(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+ unsigned int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FileStore_SP3Header_size",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned int)((gpstk::FileStore<SP3Header > const *)arg1)->size();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * FileStore_SP3Header_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexEphemerisStore(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexEphemerisStore *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexEphemerisStore")) goto fail;
+ result = (gpstk::RinexEphemerisStore *)new gpstk::RinexEphemerisStore();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexEphemerisStore, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexEphemerisStore(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexEphemerisStore *arg1 = (gpstk::RinexEphemerisStore *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexEphemerisStore",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexEphemerisStore_dump__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexEphemerisStore *arg1 = (gpstk::RinexEphemerisStore *) 0 ;
+ short arg2 ;
+ std::ostream *arg3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:RinexEphemerisStore_dump",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ ((gpstk::RinexEphemerisStore const *)arg1)->dump(arg2,*arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexEphemerisStore_dump__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexEphemerisStore *arg1 = (gpstk::RinexEphemerisStore *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexEphemerisStore_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::RinexEphemerisStore const *)arg1)->dump(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexEphemerisStore_dump__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexEphemerisStore *arg1 = (gpstk::RinexEphemerisStore *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexEphemerisStore_dump",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ ((gpstk::RinexEphemerisStore const *)arg1)->dump();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexEphemerisStore_dump(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexEphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_RinexEphemerisStore_dump__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexEphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ return _wrap_RinexEphemerisStore_dump__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexEphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_RinexEphemerisStore_dump__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RinexEphemerisStore_dump'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexEphemerisStore_loadFile(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexEphemerisStore *arg1 = (gpstk::RinexEphemerisStore *) 0 ;
+ std::string *arg2 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexEphemerisStore_loadFile",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ try {
+ (arg1)->loadFile((std::string const &)*arg2);
+ }
+ catch(gpstk::FileMissingException &_e) {
+ {
+ gpstk::FileMissingException * temp = new gpstk::FileMissingException(_e);
+ if (SWIGTYPE_p_gpstk__FileMissingException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileMissingException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileMissingException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject * RinexEphemerisStore_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexEphemerisStore, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SP3EphemerisStore(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3EphemerisStore *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_SP3EphemerisStore")) goto fail;
+ result = (gpstk::SP3EphemerisStore *)new gpstk::SP3EphemerisStore();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3EphemerisStore, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_SP3EphemerisStore(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3EphemerisStore *arg1 = (gpstk::SP3EphemerisStore *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_SP3EphemerisStore",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3EphemerisStore_dump__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3EphemerisStore *arg1 = (gpstk::SP3EphemerisStore *) 0 ;
+ short arg2 ;
+ std::ostream *arg3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:SP3EphemerisStore_dump",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ ((gpstk::SP3EphemerisStore const *)arg1)->dump(arg2,*arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3EphemerisStore_dump__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3EphemerisStore *arg1 = (gpstk::SP3EphemerisStore *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3EphemerisStore_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::SP3EphemerisStore const *)arg1)->dump(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3EphemerisStore_dump__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3EphemerisStore *arg1 = (gpstk::SP3EphemerisStore *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3EphemerisStore_dump",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ ((gpstk::SP3EphemerisStore const *)arg1)->dump();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3EphemerisStore_dump(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SP3EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_SP3EphemerisStore_dump__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SP3EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ return _wrap_SP3EphemerisStore_dump__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SP3EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_SP3EphemerisStore_dump__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'SP3EphemerisStore_dump'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3EphemerisStore_loadFile(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3EphemerisStore *arg1 = (gpstk::SP3EphemerisStore *) 0 ;
+ std::string *arg2 = 0 ;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3EphemerisStore_loadFile",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ try {
+ (arg1)->loadFile((std::string const &)*arg2);
+ }
+ catch(gpstk::FileMissingException &_e) {
+ {
+ gpstk::FileMissingException * temp = new gpstk::FileMissingException(_e);
+ if (SWIGTYPE_p_gpstk__FileMissingException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileMissingException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileMissingException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject * SP3EphemerisStore_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__SP3EphemerisStore, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FileHunterException__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunterException *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_FileHunterException")) goto fail;
+ result = (gpstk::FileHunterException *)new gpstk::FileHunterException();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunterException__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunterException *arg1 = 0 ;
+ gpstk::FileHunterException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FileHunterException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunterException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::FileHunterException");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::FileHunterException *)new gpstk::FileHunterException((gpstk::FileHunterException const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunterException__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::FileHunterException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FileHunterException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::FileHunterException *)new gpstk::FileHunterException((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunterException__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::FileHunterException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_FileHunterException",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::FileHunterException *)new gpstk::FileHunterException(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunterException__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::FileHunterException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_FileHunterException",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::FileHunterException *)new gpstk::FileHunterException(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunterException__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::FileHunterException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FileHunterException",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::FileHunterException *)new gpstk::FileHunterException(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunterException(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_FileHunterException__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunterException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_FileHunterException__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_FileHunterException__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_FileHunterException__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_FileHunterException__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_FileHunterException__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FileHunterException'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_FileHunterException(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunterException *arg1 = (gpstk::FileHunterException *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FileHunterException",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunterException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunterException_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunterException *arg1 = (gpstk::FileHunterException *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FileHunterException_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunterException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::FileHunterException const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunterException_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunterException *arg1 = (gpstk::FileHunterException *) 0 ;
+ gpstk::FileHunterException *arg2 = 0 ;
+ gpstk::FileHunterException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FileHunterException_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunterException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FileHunterException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::FileHunterException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::FileHunterException &_result_ref = (arg1)->operator =((gpstk::FileHunterException const &)*arg2);
+ result = (gpstk::FileHunterException *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_8(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::FileHunterException *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FileHunterException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::FileHunterException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::FileHunterException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * FileHunterException_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__FileHunterException, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FileHunter__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ gpstk::FileHunter *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FileHunter",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ try {
+ result = (gpstk::FileHunter *)new gpstk::FileHunter((std::string const &)*arg1);
+ }
+ catch(gpstk::FileHunterException &_e) {
+ {
+ gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+ if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunter, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunter__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ FileSpec *arg1 = 0 ;
+ gpstk::FileHunter *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FileHunter",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_FileSpec, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("FileSpec");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::FileHunter *)new gpstk::FileHunter((FileSpec const &)*arg1);
+ }
+ catch(gpstk::FileHunterException &_e) {
+ {
+ gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+ if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunter, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunter(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[2];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_FileSpec, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_FileHunter__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_FileHunter__SWIG_0(self,args);
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FileHunter'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_newHunt__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+ std::string *arg2 = 0 ;
+ gpstk::FileHunter *result;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FileHunter_newHunt",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ try {
+ {
+ gpstk::FileHunter &_result_ref = (arg1)->newHunt((std::string const &)*arg2);
+ result = (gpstk::FileHunter *) &_result_ref;
+ }
+ }
+ catch(gpstk::FileHunterException &_e) {
+ {
+ gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+ if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunter, 0);
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_newHunt__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+ FileSpec *arg2 = 0 ;
+ gpstk::FileHunter *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FileHunter_newHunt",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_FileSpec, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("FileSpec");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::FileHunter &_result_ref = (arg1)->newHunt((FileSpec const &)*arg2);
+ result = (gpstk::FileHunter *) &_result_ref;
+ }
+ }
+ catch(gpstk::FileHunterException &_e) {
+ {
+ gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+ if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunter, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_newHunt(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_FileSpec, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_FileHunter_newHunt__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+ if (_v) {
+ return _wrap_FileHunter_newHunt__SWIG_0(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'FileHunter_newHunt'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_setFilter(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+ FileSpec::FileSpecType arg2 ;
+ std::vector<std::string,std::allocator<std::string > > *arg3 = 0 ;
+ gpstk::FileHunter *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:FileHunter_setFilter",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ FileSpec::FileSpecType * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_FileSpec__FileSpecType, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("FileSpec::FileSpecType");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("std::vector<std::string,std::allocator<std::string > >");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::FileHunter &_result_ref = (arg1)->setFilter(arg2,(std::vector<std::string,std::allocator<std::string > > const &)*arg3);
+ result = (gpstk::FileHunter *) &_result_ref;
+ }
+ }
+ catch(gpstk::FileHunterException &_e) {
+ {
+ gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+ if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunter, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_find__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ gpstk::DayTime *arg3 = 0 ;
+ FileSpec::FileSpecSortType arg4 ;
+ enum gpstk::FileHunter::FileChunking arg5 ;
+ SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:FileHunter_find",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ FileSpec::FileSpecSortType * argp;
+ SWIG_Python_ConvertPtr(obj3, (void **)&argp, SWIGTYPE_p_FileSpec__FileSpecSortType, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("FileSpec::FileSpecSortType");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ arg4 = *argp;
+ }
+ {
+ arg5 = (enum gpstk::FileHunter::FileChunking)(SWIG_As_int(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::FileHunter const *)arg1)->find((gpstk::DayTime const &)*arg2,(gpstk::DayTime const &)*arg3,arg4,arg5);
+ }
+ catch(gpstk::FileHunterException &_e) {
+ {
+ gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+ if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ std::vector<std::string,std::allocator<std::string > > * resultptr;
+ resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_find__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ gpstk::DayTime *arg3 = 0 ;
+ FileSpec::FileSpecSortType arg4 ;
+ SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:FileHunter_find",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ FileSpec::FileSpecSortType * argp;
+ SWIG_Python_ConvertPtr(obj3, (void **)&argp, SWIGTYPE_p_FileSpec__FileSpecSortType, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("FileSpec::FileSpecSortType");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ arg4 = *argp;
+ }
+ try {
+ result = ((gpstk::FileHunter const *)arg1)->find((gpstk::DayTime const &)*arg2,(gpstk::DayTime const &)*arg3,arg4);
+ }
+ catch(gpstk::FileHunterException &_e) {
+ {
+ gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+ if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ std::vector<std::string,std::allocator<std::string > > * resultptr;
+ resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_find__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ gpstk::DayTime *arg3 = 0 ;
+ SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:FileHunter_find",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::FileHunter const *)arg1)->find((gpstk::DayTime const &)*arg2,(gpstk::DayTime const &)*arg3);
+ }
+ catch(gpstk::FileHunterException &_e) {
+ {
+ gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+ if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ std::vector<std::string,std::allocator<std::string > > * resultptr;
+ resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_find__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FileHunter_find",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::FileHunter const *)arg1)->find((gpstk::DayTime const &)*arg2);
+ }
+ catch(gpstk::FileHunterException &_e) {
+ {
+ gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+ if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ std::vector<std::string,std::allocator<std::string > > * resultptr;
+ resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_find__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+ SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FileHunter_find",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = ((gpstk::FileHunter const *)arg1)->find();
+ }
+ catch(gpstk::FileHunterException &_e) {
+ {
+ gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+ if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ std::vector<std::string,std::allocator<std::string > > * resultptr;
+ resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_find(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[6];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_FileHunter_find__SWIG_4(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_FileHunter_find__SWIG_3(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_FileHunter_find__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_FileSpec__FileSpecSortType, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_FileHunter_find__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_FileSpec__FileSpecSortType, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[4]);
+ if (_v) {
+ return _wrap_FileHunter_find__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'FileHunter_find'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FileHunter_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::FileHunter const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_FileHunter(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FileHunter",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * FileHunter_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__FileHunter, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FICStream__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICStream *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_FICStream")) goto fail;
+ result = (gpstk::FICStream *)new gpstk::FICStream();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FICStream__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ std::ios::openmode arg2 ;
+ gpstk::FICStream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_FICStream",&obj0,&obj1)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = (gpstk::FICStream *)new gpstk::FICStream((char const *)arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FICStream__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ gpstk::FICStream *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FICStream",&obj0)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ result = (gpstk::FICStream *)new gpstk::FICStream((char const *)arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FICStream(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_FICStream__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ return _wrap_new_FICStream__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_FICStream__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FICStream'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_FICStream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICStream *arg1 = (gpstk::FICStream *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FICStream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICStream_open(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICStream *arg1 = (gpstk::FICStream *) 0 ;
+ char *arg2 = (char *) 0 ;
+ std::ios::openmode arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:FICStream_open",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *argp;
+ }
+ (arg1)->open((char const *)arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * FICStream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__FICStream, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FICAStream__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICAStream *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_FICAStream")) goto fail;
+ result = (gpstk::FICAStream *)new gpstk::FICAStream();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICAStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FICAStream__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ std::ios::openmode arg2 ;
+ gpstk::FICAStream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_FICAStream",&obj0,&obj1)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = (gpstk::FICAStream *)new gpstk::FICAStream((char const *)arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICAStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FICAStream__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ gpstk::FICAStream *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FICAStream",&obj0)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ result = (gpstk::FICAStream *)new gpstk::FICAStream((char const *)arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICAStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FICAStream(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_FICAStream__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ return _wrap_new_FICAStream__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_FICAStream__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FICAStream'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_FICAStream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICAStream *arg1 = (gpstk::FICAStream *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FICAStream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICAStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICAStream_open(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICAStream *arg1 = (gpstk::FICAStream *) 0 ;
+ char *arg2 = (char *) 0 ;
+ std::ios::openmode arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:FICAStream_open",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICAStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *argp;
+ }
+ (arg1)->open((char const *)arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * FICAStream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__FICAStream, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_MSCStream__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::MSCStream *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_MSCStream")) goto fail;
+ result = (gpstk::MSCStream *)new gpstk::MSCStream();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__MSCStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_MSCStream__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ std::ios::openmode arg2 ;
+ gpstk::MSCStream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_MSCStream",&obj0,&obj1)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = (gpstk::MSCStream *)new gpstk::MSCStream((char const *)arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__MSCStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_MSCStream__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ gpstk::MSCStream *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_MSCStream",&obj0)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ result = (gpstk::MSCStream *)new gpstk::MSCStream((char const *)arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__MSCStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_MSCStream(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_MSCStream__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ return _wrap_new_MSCStream__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_MSCStream__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_MSCStream'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_MSCStream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::MSCStream *arg1 = (gpstk::MSCStream *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_MSCStream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__MSCStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * MSCStream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__MSCStream, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexMetStream__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetStream *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexMetStream")) goto fail;
+ result = (gpstk::RinexMetStream *)new gpstk::RinexMetStream();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexMetStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexMetStream__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ std::ios::openmode arg2 ;
+ gpstk::RinexMetStream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_RinexMetStream",&obj0,&obj1)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = (gpstk::RinexMetStream *)new gpstk::RinexMetStream((char const *)arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexMetStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexMetStream__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ gpstk::RinexMetStream *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_RinexMetStream",&obj0)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ result = (gpstk::RinexMetStream *)new gpstk::RinexMetStream((char const *)arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexMetStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexMetStream(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_RinexMetStream__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ return _wrap_new_RinexMetStream__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_RinexMetStream__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexMetStream'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexMetStream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetStream *arg1 = (gpstk::RinexMetStream *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexMetStream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetStream_open(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetStream *arg1 = (gpstk::RinexMetStream *) 0 ;
+ char *arg2 = (char *) 0 ;
+ std::ios::openmode arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:RinexMetStream_open",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *argp;
+ }
+ (arg1)->open((char const *)arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetStream_header_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetStream *arg1 = (gpstk::RinexMetStream *) 0 ;
+ RinexMetHeader *arg2 = (RinexMetHeader *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetStream_header_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->header = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetStream_header_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetStream *arg1 = (gpstk::RinexMetStream *) 0 ;
+ RinexMetHeader *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetStream_header_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (RinexMetHeader *)& ((arg1)->header);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexMetHeader, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetStream_headerRead_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetStream *arg1 = (gpstk::RinexMetStream *) 0 ;
+ bool arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetStream_headerRead_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (bool)(SWIG_As_bool(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->headerRead = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetStream_headerRead_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetStream *arg1 = (gpstk::RinexMetStream *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetStream_headerRead_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool) ((arg1)->headerRead);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexMetStream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexMetStream, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexNavStream__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavStream *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexNavStream")) goto fail;
+ result = (gpstk::RinexNavStream *)new gpstk::RinexNavStream();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexNavStream__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ std::ios::openmode arg2 ;
+ gpstk::RinexNavStream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_RinexNavStream",&obj0,&obj1)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = (gpstk::RinexNavStream *)new gpstk::RinexNavStream((char const *)arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexNavStream__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ gpstk::RinexNavStream *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_RinexNavStream",&obj0)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ result = (gpstk::RinexNavStream *)new gpstk::RinexNavStream((char const *)arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexNavStream(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_RinexNavStream__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ return _wrap_new_RinexNavStream__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_RinexNavStream__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexNavStream'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexNavStream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavStream *arg1 = (gpstk::RinexNavStream *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexNavStream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavStream_open(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavStream *arg1 = (gpstk::RinexNavStream *) 0 ;
+ char *arg2 = (char *) 0 ;
+ std::ios::openmode arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:RinexNavStream_open",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *argp;
+ }
+ (arg1)->open((char const *)arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavStream_header_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavStream *arg1 = (gpstk::RinexNavStream *) 0 ;
+ RinexNavHeader *arg2 = (RinexNavHeader *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavStream_header_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->header = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavStream_header_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavStream *arg1 = (gpstk::RinexNavStream *) 0 ;
+ RinexNavHeader *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavStream_header_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (RinexNavHeader *)& ((arg1)->header);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavHeader, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavStream_headerRead_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavStream *arg1 = (gpstk::RinexNavStream *) 0 ;
+ bool arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavStream_headerRead_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (bool)(SWIG_As_bool(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->headerRead = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavStream_headerRead_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavStream *arg1 = (gpstk::RinexNavStream *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavStream_headerRead_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool) ((arg1)->headerRead);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexNavStream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexNavStream, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SMODFStream__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SMODFStream *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_SMODFStream")) goto fail;
+ result = (gpstk::SMODFStream *)new gpstk::SMODFStream();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SMODFStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SMODFStream__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ std::ios::openmode arg2 ;
+ gpstk::SMODFStream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_SMODFStream",&obj0,&obj1)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = (gpstk::SMODFStream *)new gpstk::SMODFStream((char const *)arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SMODFStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SMODFStream__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ gpstk::SMODFStream *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_SMODFStream",&obj0)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ result = (gpstk::SMODFStream *)new gpstk::SMODFStream((char const *)arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SMODFStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SMODFStream(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_SMODFStream__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ return _wrap_new_SMODFStream__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_SMODFStream__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SMODFStream'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_SMODFStream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SMODFStream *arg1 = (gpstk::SMODFStream *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_SMODFStream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SMODFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SMODFStream_open(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SMODFStream *arg1 = (gpstk::SMODFStream *) 0 ;
+ char *arg2 = (char *) 0 ;
+ std::ios::openmode arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:SMODFStream_open",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SMODFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *argp;
+ }
+ (arg1)->open((char const *)arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SMODFStream_format_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SMODFStream *arg1 = (gpstk::SMODFStream *) 0 ;
+ gpstk::SMODFStream::FileFormat arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SMODFStream_format_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SMODFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::SMODFStream::FileFormat)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->format = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SMODFStream_format_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SMODFStream *arg1 = (gpstk::SMODFStream *) 0 ;
+ gpstk::SMODFStream::FileFormat result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SMODFStream_format_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SMODFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::SMODFStream::FileFormat) ((arg1)->format);
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * SMODFStream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__SMODFStream, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SP3Stream__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Stream *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_SP3Stream")) goto fail;
+ result = (gpstk::SP3Stream *)new gpstk::SP3Stream();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3Stream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SP3Stream__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ std::ios::openmode arg2 ;
+ gpstk::SP3Stream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_SP3Stream",&obj0,&obj1)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = (gpstk::SP3Stream *)new gpstk::SP3Stream((char const *)arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3Stream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SP3Stream__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ gpstk::SP3Stream *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_SP3Stream",&obj0)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ result = (gpstk::SP3Stream *)new gpstk::SP3Stream((char const *)arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3Stream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_SP3Stream(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_SP3Stream__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ return _wrap_new_SP3Stream__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_SP3Stream__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SP3Stream'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_SP3Stream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Stream *arg1 = (gpstk::SP3Stream *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_SP3Stream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Stream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Stream_currentEpoch_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Stream *arg1 = (gpstk::SP3Stream *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Stream_currentEpoch_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Stream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->currentEpoch = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Stream_currentEpoch_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Stream *arg1 = (gpstk::SP3Stream *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Stream_currentEpoch_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Stream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->currentEpoch);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * SP3Stream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__SP3Stream, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexObsStream__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsStream *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexObsStream")) goto fail;
+ result = (gpstk::RinexObsStream *)new gpstk::RinexObsStream();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsStream__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ std::ios::openmode arg2 ;
+ gpstk::RinexObsStream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_RinexObsStream",&obj0,&obj1)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ result = (gpstk::RinexObsStream *)new gpstk::RinexObsStream((char const *)arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsStream__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ char *arg1 = (char *) 0 ;
+ gpstk::RinexObsStream *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_RinexObsStream",&obj0)) goto fail;
+ if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+ SWIG_arg_fail(1);SWIG_fail;
+ }
+ result = (gpstk::RinexObsStream *)new gpstk::RinexObsStream((char const *)arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsStream, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsStream(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_RinexObsStream__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ return _wrap_new_RinexObsStream__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_RinexObsStream__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexObsStream'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexObsStream(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsStream *arg1 = (gpstk::RinexObsStream *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexObsStream",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsStream_open(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsStream *arg1 = (gpstk::RinexObsStream *) 0 ;
+ char *arg2 = (char *) 0 ;
+ std::ios::openmode arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:RinexObsStream_open",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ {
+ std::ios::openmode * argp;
+ SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::ios::openmode");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *argp;
+ }
+ (arg1)->open((char const *)arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsStream_headerRead_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsStream *arg1 = (gpstk::RinexObsStream *) 0 ;
+ bool arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsStream_headerRead_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (bool)(SWIG_As_bool(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->headerRead = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsStream_headerRead_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsStream *arg1 = (gpstk::RinexObsStream *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsStream_headerRead_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool) ((arg1)->headerRead);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsStream_header_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsStream *arg1 = (gpstk::RinexObsStream *) 0 ;
+ RinexObsHeader *arg2 = (RinexObsHeader *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsStream_header_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->header = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsStream_header_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsStream *arg1 = (gpstk::RinexObsStream *) 0 ;
+ RinexObsHeader *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsStream_header_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (RinexObsHeader *)& ((arg1)->header);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsHeader, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexObsStream_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexObsStream, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_RinexObsBase(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsBase *arg1 = (gpstk::RinexObsBase *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexObsBase",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsBase, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexObsBase_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexObsBase, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_RinexObsType_type_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsType *arg1 = (RinexObsType *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsType_type_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->type = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_type_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsType *arg1 = (RinexObsType *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsType_type_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->type);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_description_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsType *arg1 = (RinexObsType *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsType_description_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->description = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_description_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsType *arg1 = (RinexObsType *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsType_description_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->description);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_units_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsType *arg1 = (RinexObsType *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsType_units_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->units = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_units_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsType *arg1 = (RinexObsType *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsType_units_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->units);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_depend_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsType *arg1 = (RinexObsType *) 0 ;
+ unsigned int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsType_depend_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->depend = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_depend_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsType *arg1 = (RinexObsType *) 0 ;
+ unsigned int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsType_depend_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned int) ((arg1)->depend);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsType__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsType *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexObsType")) goto fail;
+ result = (RinexObsType *)new RinexObsType();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_RinexObsType, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsType__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ std::string arg2 ;
+ std::string arg3 ;
+ unsigned int arg4 ;
+ RinexObsType *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:new_RinexObsType",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj2, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj2);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg4 = (unsigned int)(SWIG_As_unsigned_SS_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ result = (RinexObsType *)new RinexObsType(arg1,arg2,arg3,arg4);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_RinexObsType, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsType__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ std::string arg2 ;
+ std::string arg3 ;
+ RinexObsType *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_RinexObsType",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj2, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj2);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (RinexObsType *)new RinexObsType(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_RinexObsType, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsType(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_RinexObsType__SWIG_0(self,args);
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_RinexObsType__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_int(argv[3]);
+ if (_v) {
+ return _wrap_new_RinexObsType__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexObsType'");
+ return NULL;
+}
+
+
+static int _wrap_RinexObsType_C1depend_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_C1depend is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_C1depend_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::C1depend));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsType_L1depend_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_L1depend is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_L1depend_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::L1depend));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsType_L2depend_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_L2depend is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_L2depend_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::L2depend));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsType_P1depend_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_P1depend is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_P1depend_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::P1depend));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsType_P2depend_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_P2depend is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_P2depend_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::P2depend));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsType_EPdepend_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_EPdepend is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_EPdepend_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::EPdepend));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsType_PSdepend_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_PSdepend is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_PSdepend_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::PSdepend));
+ }
+ return pyobj;
+}
+
+
+static PyObject *_wrap_delete_RinexObsType(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsType *arg1 = (RinexObsType *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexObsType",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexObsType_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_RinexObsType, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ExtraWaveFact_prnList_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ ExtraWaveFact *arg1 = (ExtraWaveFact *) 0 ;
+ std::vector<gpstk::RinexPrn,std::allocator<gpstk::RinexPrn > > *arg2 = (std::vector<gpstk::RinexPrn,std::allocator<gpstk::RinexPrn > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ExtraWaveFact_prnList_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_ExtraWaveFact, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->prnList = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ExtraWaveFact_prnList_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ ExtraWaveFact *arg1 = (ExtraWaveFact *) 0 ;
+ std::vector<gpstk::RinexPrn,std::allocator<gpstk::RinexPrn > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ExtraWaveFact_prnList_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_ExtraWaveFact, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<gpstk::RinexPrn,std::allocator<gpstk::RinexPrn > > *)& ((arg1)->prnList);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ExtraWaveFact_wavelengthFactor_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ ExtraWaveFact *arg1 = (ExtraWaveFact *) 0 ;
+ short *arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ExtraWaveFact_wavelengthFactor_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_ExtraWaveFact, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_short, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ short *inp = (short *)(arg2);
+ if (inp) {
+ short *dest = (short *)(arg1->wavelengthFactor);
+ size_t ii = 0;
+ for (; ii < 2; ++ii) dest[ii] = inp[ii];
+ } else {
+ SWIG_null_ref("short");
+ }
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ExtraWaveFact_wavelengthFactor_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ ExtraWaveFact *arg1 = (ExtraWaveFact *) 0 ;
+ short *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ExtraWaveFact_wavelengthFactor_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_ExtraWaveFact, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short *)(short *) ((arg1)->wavelengthFactor);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_short, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ExtraWaveFact(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ ExtraWaveFact *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_ExtraWaveFact")) goto fail;
+ result = (ExtraWaveFact *)new ExtraWaveFact();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_ExtraWaveFact, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ExtraWaveFact(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ ExtraWaveFact *arg1 = (ExtraWaveFact *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ExtraWaveFact",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_ExtraWaveFact, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ExtraWaveFact_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_ExtraWaveFact, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_RinexPrn_prn_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+ int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrn_prn_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->prn = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrn_prn_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrn_prn_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int) ((arg1)->prn);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrn_system_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+ gpstk::RinexSystem arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrn_system_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::RinexSystem)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->system = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrn_system_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+ gpstk::RinexSystem result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrn_system_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::RinexSystem) ((arg1)->system);
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static int _wrap_RinexPrn_fillchar_set(PyObject *_val) {
+ {
+ char temp = (char)(SWIG_As_char(_val));
+ if (PyErr_Occurred()) {
+ SWIG_append_errmsg("C/C++ variable 'gpstk::RinexPrn::fillchar (char)'");
+ return 1;
+ }
+ gpstk::RinexPrn::fillchar = temp;
+ }
+ return 0;
+}
+
+
+static PyObject *_wrap_RinexPrn_fillchar_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_char((char)(gpstk::RinexPrn::fillchar));
+ }
+ return pyobj;
+}
+
+
+static PyObject *_wrap_new_RinexPrn__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexPrn *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexPrn")) goto fail;
+ result = (gpstk::RinexPrn *)new gpstk::RinexPrn();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexPrn, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexPrn__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ int arg1 ;
+ gpstk::RinexSystem arg2 ;
+ gpstk::RinexPrn *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_RinexPrn",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (int)(SWIG_As_int(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (gpstk::RinexSystem)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::RinexPrn *)new gpstk::RinexPrn(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexPrn, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexPrn(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_RinexPrn__SWIG_0(self,args);
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_int(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_new_RinexPrn__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexPrn'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrn_setfill(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+ char arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrn_setfill",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (char)(SWIG_As_char(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->setfill(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrn_getfill(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+ char result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrn_getfill",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (char)(arg1)->getfill();
+
+ {
+ resultobj = SWIG_From_char((char)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrn_System(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+ char result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrn_System",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (char)((gpstk::RinexPrn const *)arg1)->System();
+
+ {
+ resultobj = SWIG_From_char((char)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexPrn(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexPrn",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexPrn_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexPrn, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexObsHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexObsHeader")) goto fail;
+ result = (gpstk::RinexObsHeader *)new gpstk::RinexObsHeader();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsHeader, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_clear(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_clear",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->clear();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static int _wrap_RinexObsHeader_versionString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_versionString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_versionString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::versionString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_runByString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_runByString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_runByString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::runByString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_commentString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_commentString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_commentString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::commentString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_markerNameString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_markerNameString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_markerNameString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::markerNameString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_markerNumberString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_markerNumberString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_markerNumberString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::markerNumberString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_observerString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_observerString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_observerString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::observerString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_receiverString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_receiverString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_receiverString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::receiverString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_antennaTypeString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_antennaTypeString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaTypeString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::antennaTypeString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_antennaPositionString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_antennaPositionString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaPositionString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::antennaPositionString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_antennaOffsetString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_antennaOffsetString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaOffsetString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::antennaOffsetString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_waveFactString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_waveFactString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_waveFactString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::waveFactString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_numObsString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_numObsString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numObsString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::numObsString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_intervalString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_intervalString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_intervalString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::intervalString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_firstTimeString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_firstTimeString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_firstTimeString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::firstTimeString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_lastTimeString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_lastTimeString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastTimeString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::lastTimeString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_receiverOffsetString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_receiverOffsetString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_receiverOffsetString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::receiverOffsetString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_leapSecondsString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_leapSecondsString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_leapSecondsString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::leapSecondsString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_numSatsString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_numSatsString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numSatsString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::numSatsString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_prnObsString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_prnObsString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_prnObsString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::prnObsString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_endOfHeader_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_endOfHeader is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_endOfHeader_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::endOfHeader));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_UN_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_UN is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_UN_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::UN), SWIGTYPE_p_RinexObsType, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_L1_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_L1 is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_L1_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::L1), SWIGTYPE_p_RinexObsType, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_L2_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_L2 is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_L2_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::L2), SWIGTYPE_p_RinexObsType, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_C1_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_C1 is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_C1_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::C1), SWIGTYPE_p_RinexObsType, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_P1_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_P1 is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_P1_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::P1), SWIGTYPE_p_RinexObsType, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_P2_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_P2 is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_P2_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::P2), SWIGTYPE_p_RinexObsType, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_D1_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_D1 is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_D1_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::D1), SWIGTYPE_p_RinexObsType, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_D2_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_D2 is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_D2_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::D2), SWIGTYPE_p_RinexObsType, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_S1_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_S1 is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_S1_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::S1), SWIGTYPE_p_RinexObsType, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_S2_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_S2 is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_S2_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::S2), SWIGTYPE_p_RinexObsType, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_T1_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_T1 is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_T1_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::T1), SWIGTYPE_p_RinexObsType, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_T2_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_T2 is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_T2_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::T2), SWIGTYPE_p_RinexObsType, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_StandardRinexObsTypes_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_StandardRinexObsTypes is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_StandardRinexObsTypes_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::StandardRinexObsTypes), SWIGTYPE_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t, 0);
+ return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_RegisteredRinexObsTypes_set(PyObject *_val) {
+ {
+ std::vector<RinexObsType,std::allocator<RinexObsType > > * temp;
+ if ((SWIG_ConvertPtr(_val, (void **)(&temp), SWIGTYPE_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t, SWIG_POINTER_EXCEPTION)) == -1) {
+ SWIG_append_errmsg("C/C++ variable 'gpstk::RinexObsHeader::RegisteredRinexObsTypes'");
+ return 1;
+ }
+ gpstk::RinexObsHeader::RegisteredRinexObsTypes = *((std::vector<RinexObsType,std::allocator<RinexObsType > > *) temp);
+ }
+ return 0;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_RegisteredRinexObsTypes_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::RegisteredRinexObsTypes), SWIGTYPE_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t, 0);
+ return pyobj;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_version_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_version_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->version = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_version_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_version_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->version);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_fileType_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_fileType_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->fileType = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_fileType_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_fileType_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->fileType);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_system_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::RinexSystem arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_system_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::RinexSystem)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->system = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_system_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::RinexSystem result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_system_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::RinexSystem) ((arg1)->system);
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_fileProgram_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_fileProgram_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->fileProgram = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_fileProgram_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_fileProgram_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->fileProgram);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_fileAgency_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_fileAgency_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->fileAgency = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_fileAgency_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_fileAgency_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->fileAgency);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_date_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_date_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->date = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_date_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_date_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->date);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_commentList_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::vector<std::string,std::allocator<std::string > > *arg2 = (std::vector<std::string,std::allocator<std::string > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_commentList_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->commentList = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_commentList_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::vector<std::string,std::allocator<std::string > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_commentList_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<std::string,std::allocator<std::string > > *)& ((arg1)->commentList);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_markerName_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_markerName_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->markerName = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_markerName_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_markerName_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->markerName);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_markerNumber_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_markerNumber_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->markerNumber = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_markerNumber_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_markerNumber_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->markerNumber);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_observer_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_observer_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->observer = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_observer_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_observer_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->observer);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_agency_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_agency_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->agency = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_agency_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_agency_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->agency);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_recNo_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_recNo_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->recNo = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_recNo_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_recNo_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->recNo);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_recType_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_recType_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->recType = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_recType_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_recType_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->recType);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_recVers_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_recVers_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->recVers = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_recVers_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_recVers_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->recVers);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antNo_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_antNo_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->antNo = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antNo_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_antNo_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->antNo);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antType_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_antType_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->antType = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antType_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_antType_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->antType);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaPosition_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::Triple *arg2 = (gpstk::Triple *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_antennaPosition_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->antennaPosition = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaPosition_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::Triple *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_antennaPosition_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::Triple *)& ((arg1)->antennaPosition);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaOffset_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::Triple *arg2 = (gpstk::Triple *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_antennaOffset_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->antennaOffset = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaOffset_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::Triple *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_antennaOffset_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::Triple *)& ((arg1)->antennaOffset);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_wavelengthFactor_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ short *arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_wavelengthFactor_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_short, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ short *inp = (short *)(arg2);
+ if (inp) {
+ short *dest = (short *)(arg1->wavelengthFactor);
+ size_t ii = 0;
+ for (; ii < 2; ++ii) dest[ii] = inp[ii];
+ } else {
+ SWIG_null_ref("short");
+ }
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_wavelengthFactor_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ short *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_wavelengthFactor_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short *)(short *) ((arg1)->wavelengthFactor);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_short, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_extraWaveFactList_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::vector<ExtraWaveFact,std::allocator<ExtraWaveFact > > *arg2 = (std::vector<ExtraWaveFact,std::allocator<ExtraWaveFact > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_extraWaveFactList_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->extraWaveFactList = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_extraWaveFactList_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::vector<ExtraWaveFact,std::allocator<ExtraWaveFact > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_extraWaveFactList_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<ExtraWaveFact,std::allocator<ExtraWaveFact > > *)& ((arg1)->extraWaveFactList);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_obsTypeList_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::vector<RinexObsType,std::allocator<RinexObsType > > *arg2 = (std::vector<RinexObsType,std::allocator<RinexObsType > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_obsTypeList_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->obsTypeList = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_obsTypeList_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::vector<RinexObsType,std::allocator<RinexObsType > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_obsTypeList_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<RinexObsType,std::allocator<RinexObsType > > *)& ((arg1)->obsTypeList);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_interval_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_interval_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->interval = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_interval_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_interval_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->interval);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_firstObs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::DayTime *arg2 = (gpstk::DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_firstObs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->firstObs = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_firstObs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_firstObs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::DayTime *)& ((arg1)->firstObs);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_firstSystem_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::RinexSystem arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_firstSystem_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::RinexSystem)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->firstSystem = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_firstSystem_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::RinexSystem result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_firstSystem_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::RinexSystem) ((arg1)->firstSystem);
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastObs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::DayTime *arg2 = (gpstk::DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_lastObs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->lastObs = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastObs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_lastObs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::DayTime *)& ((arg1)->lastObs);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastSystem_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::RinexSystem arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_lastSystem_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::RinexSystem)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->lastSystem = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastSystem_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::RinexSystem result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_lastSystem_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::RinexSystem) ((arg1)->lastSystem);
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_receiverOffset_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_receiverOffset_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->receiverOffset = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_receiverOffset_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_receiverOffset_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int) ((arg1)->receiverOffset);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_leapSeconds_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_leapSeconds_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->leapSeconds = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_leapSeconds_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_leapSeconds_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int) ((arg1)->leapSeconds);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numSVs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_numSVs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->numSVs = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numSVs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_numSVs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->numSVs);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numObsForPrn_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::map<gpstk::RinexPrn,std::vector<int,std::allocator<int > >,std::less<gpstk::RinexPrn >,std::allocator<std::pair<gpstk::RinexPrn const,std::vector<int,std::allocator<int > > > > > *arg2 = (std::map<gpstk::RinexPrn,std::vector<int,std::allocator<int > >,std::less<gpstk::RinexPrn >,std::allocator<std::pair<gpstk::RinexPrn const,std::vector<int,std::allocator<int > > > > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_numObsForPrn_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->numObsForPrn = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numObsForPrn_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::map<gpstk::RinexPrn,std::vector<int,std::allocator<int > >,std::less<gpstk::RinexPrn >,std::allocator<std::pair<gpstk::RinexPrn const,std::vector<int,std::allocator<int > > > > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_numObsForPrn_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::map<gpstk::RinexPrn,std::vector<int,std::allocator<int > >,std::less<gpstk::RinexPrn >,std::allocator<std::pair<gpstk::RinexPrn const,std::vector<int,std::allocator<int > > > > > *)& ((arg1)->numObsForPrn);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_valid_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ unsigned long arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_valid_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->valid = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_valid_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ unsigned long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_valid_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned long) ((arg1)->valid);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numObs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_numObs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->numObs = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numObs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_numObs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int) ((arg1)->numObs);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastPRN_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::RinexPrn *arg2 = (gpstk::RinexPrn *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_lastPRN_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->lastPRN = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastPRN_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::RinexPrn *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_lastPRN_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::RinexPrn *)& ((arg1)->lastPRN);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexPrn, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexObsHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexObsHeader",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_isHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_isHeader",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::RinexObsHeader const *)arg1)->isHeader();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::RinexObsHeader const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_convertObsType__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ RinexObsType result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_convertObsType",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ try {
+ result = gpstk::RinexObsHeader::convertObsType((std::string const &)*arg1);
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ RinexObsType * resultptr;
+ resultptr = new RinexObsType((RinexObsType &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_RinexObsType, 1);
+ }
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_convertObsType__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexObsType *arg1 = 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_convertObsType",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("RinexObsType");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ try {
+ result = gpstk::RinexObsHeader::convertObsType((RinexObsType const &)*arg1);
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_convertObsType(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[2];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_RinexObsHeader_convertObsType__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_RinexObsHeader_convertObsType__SWIG_0(self,args);
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RinexObsHeader_convertObsType'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_ParseHeaderRecord(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ std::string *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_ParseHeaderRecord",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ (arg1)->ParseHeaderRecord(*arg2);
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_NumberHeaderRecordsToBeWritten(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_NumberHeaderRecordsToBeWritten",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int)((gpstk::RinexObsHeader const *)arg1)->NumberHeaderRecordsToBeWritten();
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_WriteHeaderRecords(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ gpstk::FFStream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_WriteHeaderRecords",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::FFStream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ ((gpstk::RinexObsHeader const *)arg1)->WriteHeaderRecords(*arg2);
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(gpstk::StringUtils::StringException &_e) {
+ {
+ gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+ if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_isValid(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_isValid",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::RinexObsHeader const *)arg1)->isValid();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexObsHeader_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexObsHeader, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap___eq____SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader::RinexObsType *arg1 = 0 ;
+ gpstk::RinexObsHeader::RinexObsType *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__eq__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::RinexObsHeader::RinexObsType");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::RinexObsHeader::RinexObsType");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)gpstk::operator ==((RinexObsType const &)*arg1,(RinexObsType const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___lt____SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsHeader::RinexObsType *arg1 = 0 ;
+ gpstk::RinexObsHeader::RinexObsType *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__lt__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::RinexObsHeader::RinexObsType");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::RinexObsHeader::RinexObsType");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)gpstk::operator <((RinexObsType const &)*arg1,(RinexObsType const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___lshift____SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::RinexObsHeader::RinexObsType arg2 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__lshift__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ gpstk::RinexObsHeader::RinexObsType * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("gpstk::RinexObsHeader::RinexObsType");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ {
+ std::ostream &_result_ref = gpstk::operator <<(*arg1,arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RegisterExtendedRinexObsType__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ std::string arg2 ;
+ std::string arg3 ;
+ unsigned int arg4 ;
+ int result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:RegisterExtendedRinexObsType",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj2, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj2);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg4 = (unsigned int)(SWIG_As_unsigned_SS_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ result = (int)gpstk::RegisterExtendedRinexObsType(arg1,arg2,arg3,arg4);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RegisterExtendedRinexObsType__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ std::string arg2 ;
+ std::string arg3 ;
+ int result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:RegisterExtendedRinexObsType",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj2, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj2);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (int)gpstk::RegisterExtendedRinexObsType(arg1,arg2,arg3);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RegisterExtendedRinexObsType__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ std::string arg2 ;
+ int result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RegisterExtendedRinexObsType",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (int)gpstk::RegisterExtendedRinexObsType(arg1,arg2);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RegisterExtendedRinexObsType__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RegisterExtendedRinexObsType",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (int)gpstk::RegisterExtendedRinexObsType(arg1);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RegisterExtendedRinexObsType(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_RegisterExtendedRinexObsType__SWIG_3(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+ if (_v) {
+ return _wrap_RegisterExtendedRinexObsType__SWIG_2(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
+ if (_v) {
+ return _wrap_RegisterExtendedRinexObsType__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_int(argv[3]);
+ if (_v) {
+ return _wrap_RegisterExtendedRinexObsType__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RegisterExtendedRinexObsType'");
+ return NULL;
+}
+
+
+static PyObject *_wrap___eq____SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexPrn *arg1 = 0 ;
+ gpstk::RinexPrn *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__eq__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::RinexPrn");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::RinexPrn");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)gpstk::operator ==((gpstk::RinexPrn const &)*arg1,(gpstk::RinexPrn const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___eq__(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___eq____SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___eq____SWIG_1(self,args);
+ }
+ }
+ }
+
+ Py_INCREF(Py_NotImplemented);
+ return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap___ne__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexPrn *arg1 = 0 ;
+ gpstk::RinexPrn *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__ne__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::RinexPrn");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::RinexPrn");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)gpstk::operator !=((gpstk::RinexPrn const &)*arg1,(gpstk::RinexPrn const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___lt____SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexPrn *arg1 = 0 ;
+ gpstk::RinexPrn *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__lt__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::RinexPrn");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::RinexPrn");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)gpstk::operator <((gpstk::RinexPrn const &)*arg1,(gpstk::RinexPrn const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___lt__(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___lt____SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___lt____SWIG_1(self,args);
+ }
+ }
+ }
+
+ Py_INCREF(Py_NotImplemented);
+ return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap___lshift____SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::RinexPrn *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__lshift__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::RinexPrn");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = gpstk::operator <<(*arg1,(gpstk::RinexPrn const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___rshift____SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::istream *arg1 = 0 ;
+ gpstk::RinexPrn *arg2 = 0 ;
+ std::istream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__rshift__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::istream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::RinexPrn");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::istream &_result_ref = gpstk::operator >>(*arg1,*arg2);
+ result = (std::istream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___rshift__(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__SatID, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___rshift____SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___rshift____SWIG_1(self,args);
+ }
+ }
+ }
+
+ Py_INCREF(Py_NotImplemented);
+ return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap_DisplayExtendedRinexObsTypes(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DisplayExtendedRinexObsTypes",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ gpstk::DisplayExtendedRinexObsTypes(*arg1);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexDatum(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexDatum *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexDatum")) goto fail;
+ result = (RinexDatum *)new RinexDatum();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_RinexDatum, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexDatum_data_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexDatum *arg1 = (RinexDatum *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexDatum_data_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->data = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexDatum_data_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexDatum *arg1 = (RinexDatum *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexDatum_data_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->data);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexDatum_lli_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexDatum *arg1 = (RinexDatum *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexDatum_lli_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->lli = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexDatum_lli_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexDatum *arg1 = (RinexDatum *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexDatum_lli_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->lli);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexDatum_ssi_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexDatum *arg1 = (RinexDatum *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexDatum_ssi_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->ssi = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexDatum_ssi_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexDatum *arg1 = (RinexDatum *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexDatum_ssi_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->ssi);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexDatum(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ RinexDatum *arg1 = (RinexDatum *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexDatum",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexDatum_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_RinexDatum, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_RinexObsData_time_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ gpstk::DayTime *arg2 = (gpstk::DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_time_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->time = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_time_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_time_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::DayTime *)& ((arg1)->time);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_epochFlag_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_epochFlag_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->epochFlag = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_epochFlag_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_epochFlag_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->epochFlag);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_numSvs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_numSvs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->numSvs = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_numSvs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_numSvs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->numSvs);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_clockOffset_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_clockOffset_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->clockOffset = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_clockOffset_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_clockOffset_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->clockOffset);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_obs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ gpstk::RinexObsData::RinexPrnMap *arg2 = (gpstk::RinexObsData::RinexPrnMap *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_obs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->obs = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_obs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ gpstk::RinexObsData::RinexPrnMap *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_obs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::RinexObsData::RinexPrnMap *)& ((arg1)->obs);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_auxHeader_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ gpstk::RinexObsHeader *arg2 = (gpstk::RinexObsHeader *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_auxHeader_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->auxHeader = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_auxHeader_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ gpstk::RinexObsHeader *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_auxHeader_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::RinexObsHeader *)& ((arg1)->auxHeader);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsHeader, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexObsData")) goto fail;
+ result = (gpstk::RinexObsData *)new gpstk::RinexObsData();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsData, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexObsData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexObsData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_isData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_isData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::RinexObsData const *)arg1)->isData();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::RinexObsData const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexObsData_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexObsData, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexObsTypeMap__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexObsTypeMap")) goto fail;
+ result = (std::map<RinexObsType,RinexDatum > *)new std::map<RinexObsType,RinexDatum >();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsTypeMap__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = 0 ;
+ std::map<RinexObsType,RinexDatum > *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_RinexObsTypeMap",&obj0)) goto fail;
+ {
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > > *ptr = (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > > *)0;
+ res1 = swig::asptr(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::map<RinexObsType,RinexDatum >", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::map<RinexObsType,RinexDatum >");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::map<RinexObsType,RinexDatum > *)new std::map<RinexObsType,RinexDatum >((std::map<RinexObsType,RinexDatum > const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsTypeMap(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[2];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_RinexObsTypeMap__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = swig::asptr(argv[0], (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >**)(0));
+ if (_v) {
+ return _wrap_new_RinexObsTypeMap__SWIG_1(self,args);
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexObsTypeMap'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_empty(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_empty",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((std::map<RinexObsType,RinexDatum > const *)arg1)->empty();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_size(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ std::map<RinexObsType,RinexDatum >::size_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_size",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::map<RinexObsType,RinexDatum > const *)arg1)->size();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_clear(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_clear",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->clear();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_swap(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ std::map<RinexObsType,RinexDatum > *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap_swap",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexObsType,RinexDatum >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->swap(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_get_allocator(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ SwigValueWrapper<std::allocator<std::pair<RinexObsType const,RinexDatum > > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_get_allocator",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::map<RinexObsType,RinexDatum > const *)arg1)->get_allocator();
+
+ {
+ std::map<RinexObsType,RinexDatum >::allocator_type * resultptr;
+ resultptr = new std::map<RinexObsType,RinexDatum >::allocator_type((std::map<RinexObsType,RinexDatum >::allocator_type &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_erase(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+ std::map<RinexObsType,RinexDatum >::size_type result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap_erase",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (arg1)->erase((RinexObsType const &)*arg2);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_count(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+ std::map<RinexObsType,RinexDatum >::size_type result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap_count",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = ((std::map<RinexObsType,RinexDatum > const *)arg1)->count((RinexObsType const &)*arg2);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___nonzero__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap___nonzero__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____nonzero__((std::map<RinexObsType,RinexDatum > const *)arg1);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___len__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ std::map<RinexObsType,RinexDatum >::size_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap___len__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____len__((std::map<RinexObsType,RinexDatum > const *)arg1);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___getitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+ std::map<RinexObsType,RinexDatum >::mapped_type result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap___getitem__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ try {
+ result = std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____getitem__((std::map<RinexObsType,RinexDatum > const *)arg1,(RinexObsType const &)*arg2);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ {
+ std::map<RinexObsType,RinexDatum >::mapped_type * resultptr;
+ resultptr = new std::map<RinexObsType,RinexDatum >::mapped_type((std::map<RinexObsType,RinexDatum >::mapped_type &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___setitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+ std::map<RinexObsType,RinexDatum >::mapped_type *arg3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:RinexObsTypeMap___setitem__",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("std::map<RinexObsType,RinexDatum >::mapped_type");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ try {
+ std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____setitem__(arg1,(RinexObsType const &)*arg2,(RinexDatum const &)*arg3);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___delitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap___delitem__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ try {
+ std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____delitem__(arg1,(RinexObsType const &)*arg2);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_has_key(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap_has_key",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__has_key((std::map<RinexObsType,RinexDatum > const *)arg1,(RinexObsType const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_keys(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ PyObject *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_keys",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (PyObject *)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__keys(arg1);
+
+ resultobj = result;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_values(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ PyObject *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_values",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (PyObject *)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__values(arg1);
+
+ resultobj = result;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_items(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ PyObject *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_items",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (PyObject *)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__items(arg1);
+
+ resultobj = result;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___contains__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap___contains__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____contains__(arg1,(RinexObsType const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___iter__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ PyObject *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap___iter__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (PyObject *)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____iter__(arg1);
+
+ resultobj = result;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexObsTypeMap(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexObsTypeMap",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexObsTypeMap_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexPrnMap__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexPrnMap")) goto fail;
+ result = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *)new std::map<RinexPrn,RinexObsData::RinexObsTypeMap >();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexPrnMap__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_RinexPrnMap",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *)new std::map<RinexPrn,RinexObsData::RinexObsTypeMap >((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexPrnMap(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[2];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_RinexPrnMap__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_RinexPrnMap__SWIG_1(self,args);
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexPrnMap'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_empty(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_empty",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1)->empty();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_size(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::size_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_size",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1)->size();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_clear(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_clear",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->clear();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_swap(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap_swap",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->swap(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_get_allocator(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ SwigValueWrapper<std::allocator<std::pair<gpstk::RinexPrn const,std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > > > > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_get_allocator",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1)->get_allocator();
+
+ {
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::allocator_type * resultptr;
+ resultptr = new std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::allocator_type((std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::allocator_type &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_erase(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::size_type result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap_erase",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (arg1)->erase((gpstk::RinexPrn const &)*arg2);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_count(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::size_type result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap_count",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = ((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1)->count((gpstk::RinexPrn const &)*arg2);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___nonzero__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap___nonzero__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____nonzero__((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___len__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::size_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap___len__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____len__((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___getitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::mapped_type result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap___getitem__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ try {
+ result = std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____getitem__((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1,(gpstk::RinexPrn const &)*arg2);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ {
+ resultobj = swig::from((std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___setitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::mapped_type *arg3 = 0 ;
+ int res3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:RinexPrnMap___setitem__",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > > *ptr = (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > > *)0;
+ res3 = swig::asptr(obj2, &ptr);
+ if (!res3) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::mapped_type", obj2);
+ } else if (!ptr) {
+ SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::mapped_type");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = ptr;
+ }
+ {
+ try {
+ std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____setitem__(arg1,(gpstk::RinexPrn const &)*arg2,(std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > > const &)*arg3);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ if (res3 == SWIG_NEWOBJ) delete arg3;
+ return resultobj;
+ fail:
+ if (res3 == SWIG_NEWOBJ) delete arg3;
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___delitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap___delitem__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ try {
+ std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____delitem__(arg1,(gpstk::RinexPrn const &)*arg2);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_has_key(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap_has_key",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__has_key((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1,(gpstk::RinexPrn const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_keys(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ PyObject *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_keys",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (PyObject *)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__keys(arg1);
+
+ resultobj = result;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_values(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ PyObject *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_values",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (PyObject *)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__values(arg1);
+
+ resultobj = result;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_items(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ PyObject *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_items",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (PyObject *)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__items(arg1);
+
+ resultobj = result;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___contains__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap___contains__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____contains__(arg1,(gpstk::RinexPrn const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___iter__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ PyObject *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap___iter__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (PyObject *)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____iter__(arg1);
+
+ resultobj = result;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexPrnMap(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexPrnMap",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexPrnMap_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_BOGUS_TEMPLATE__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_BOGUS_TEMPLATE")) goto fail;
+ result = (std::map<RinexPrn,int > *)new std::map<RinexPrn,int >();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_BOGUS_TEMPLATE__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = 0 ;
+ std::map<RinexPrn,int > *result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_BOGUS_TEMPLATE",&obj0)) goto fail;
+ {
+ std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > > *ptr = (std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > > *)0;
+ res1 = swig::asptr(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::map<RinexPrn,int >", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::map<RinexPrn,int >");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ result = (std::map<RinexPrn,int > *)new std::map<RinexPrn,int >((std::map<RinexPrn,int > const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, 1);
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_BOGUS_TEMPLATE(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[2];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_BOGUS_TEMPLATE__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = swig::asptr(argv[0], (std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >**)(0));
+ if (_v) {
+ return _wrap_new_BOGUS_TEMPLATE__SWIG_1(self,args);
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_BOGUS_TEMPLATE'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_empty(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_empty",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((std::map<RinexPrn,int > const *)arg1)->empty();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_size(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ std::map<RinexPrn,int >::size_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_size",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::map<RinexPrn,int > const *)arg1)->size();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_clear(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_clear",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ (arg1)->clear();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_swap(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ std::map<RinexPrn,int > *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE_swap",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,int >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->swap(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_get_allocator(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ SwigValueWrapper<std::allocator<std::pair<gpstk::RinexPrn const,int > > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_get_allocator",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((std::map<RinexPrn,int > const *)arg1)->get_allocator();
+
+ {
+ std::map<RinexPrn,int >::allocator_type * resultptr;
+ resultptr = new std::map<RinexPrn,int >::allocator_type((std::map<RinexPrn,int >::allocator_type &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_erase(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+ std::map<RinexPrn,int >::size_type result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE_erase",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (arg1)->erase((gpstk::RinexPrn const &)*arg2);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_count(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+ std::map<RinexPrn,int >::size_type result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE_count",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = ((std::map<RinexPrn,int > const *)arg1)->count((gpstk::RinexPrn const &)*arg2);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___nonzero__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE___nonzero__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)std_map_Sl_RinexPrn_Sc_int_Sg____nonzero__((std::map<RinexPrn,int > const *)arg1);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___len__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ std::map<RinexPrn,int >::size_type result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE___len__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = std_map_Sl_RinexPrn_Sc_int_Sg____len__((std::map<RinexPrn,int > const *)arg1);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___getitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+ std::map<RinexPrn,int >::mapped_type result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE___getitem__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ try {
+ result = (std::map<RinexPrn,int >::mapped_type)std_map_Sl_RinexPrn_Sc_int_Sg____getitem__((std::map<RinexPrn,int > const *)arg1,(gpstk::RinexPrn const &)*arg2);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___setitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+ std::map<RinexPrn,int >::mapped_type *arg3 = 0 ;
+ std::map<RinexPrn,int >::mapped_type temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:BOGUS_TEMPLATE___setitem__",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ temp3 = (std::map<RinexPrn,int >::mapped_type)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ try {
+ std_map_Sl_RinexPrn_Sc_int_Sg____setitem__(arg1,(gpstk::RinexPrn const &)*arg2,(int const &)*arg3);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___delitem__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE___delitem__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ try {
+ std_map_Sl_RinexPrn_Sc_int_Sg____delitem__(arg1,(gpstk::RinexPrn const &)*arg2);
+ }
+ catch (std::out_of_range& e) {
+ if (!PyErr_Occurred()) {
+ SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+ } else {
+ SWIG_fail;
+ }
+ }
+ /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/ catch (std::exception& e) {
+ SWIG_exception(SWIG_SystemError, e.what() );
+ }
+ catch (...) {
+ SWIG_exception(SWIG_UnknownError, "unknown exception");
+ }
+ /*@@*/
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_has_key(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE_has_key",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)std_map_Sl_RinexPrn_Sc_int_Sg__has_key((std::map<RinexPrn,int > const *)arg1,(gpstk::RinexPrn const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_keys(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ PyObject *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_keys",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (PyObject *)std_map_Sl_RinexPrn_Sc_int_Sg__keys(arg1);
+
+ resultobj = result;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_values(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ PyObject *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_values",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (PyObject *)std_map_Sl_RinexPrn_Sc_int_Sg__values(arg1);
+
+ resultobj = result;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_items(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ PyObject *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_items",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (PyObject *)std_map_Sl_RinexPrn_Sc_int_Sg__items(arg1);
+
+ resultobj = result;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___contains__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE___contains__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)std_map_Sl_RinexPrn_Sc_int_Sg____contains__(arg1,(gpstk::RinexPrn const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___iter__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ PyObject *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE___iter__",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (PyObject *)std_map_Sl_RinexPrn_Sc_int_Sg____iter__(arg1);
+
+ resultobj = result;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_BOGUS_TEMPLATE(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_BOGUS_TEMPLATE",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * BOGUS_TEMPLATE_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SP3Header(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_SP3Header")) goto fail;
+ result = (gpstk::SP3Header *)new gpstk::SP3Header();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3Header, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_SP3Header(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_SP3Header",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_isHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_isHeader",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::SP3Header const *)arg1)->isHeader();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::SP3Header const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_version_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ char arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_version_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (char)(SWIG_As_char(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->version = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_version_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ char result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_version_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (char) ((arg1)->version);
+
+ {
+ resultobj = SWIG_From_char((char)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_pvFlag_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ char arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_pvFlag_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (char)(SWIG_As_char(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->pvFlag = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_pvFlag_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ char result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_pvFlag_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (char) ((arg1)->pvFlag);
+
+ {
+ resultobj = SWIG_From_char((char)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_time_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_time_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->time = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_time_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_time_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->time);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_epochInterval_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_epochInterval_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->epochInterval = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_epochInterval_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_epochInterval_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->epochInterval);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_numberOfEpochs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_numberOfEpochs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->numberOfEpochs = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_numberOfEpochs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_numberOfEpochs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int) ((arg1)->numberOfEpochs);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_dataUsed_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_dataUsed_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->dataUsed = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_dataUsed_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_dataUsed_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->dataUsed);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_coordSystem_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_coordSystem_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->coordSystem = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_coordSystem_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_coordSystem_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->coordSystem);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_orbitType_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_orbitType_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->orbitType = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_orbitType_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_orbitType_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->orbitType);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_agency_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_agency_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->agency = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_agency_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_agency_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->agency);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_svList_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::map<short,short,std::less<short >,std::allocator<std::pair<short const,short > > > *arg2 = (std::map<short,short,std::less<short >,std::allocator<std::pair<short const,short > > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_svList_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->svList = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_svList_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::map<short,short,std::less<short >,std::allocator<std::pair<short const,short > > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_svList_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::map<short,short,std::less<short >,std::allocator<std::pair<short const,short > > > *)& ((arg1)->svList);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_comments_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::vector<std::string,std::allocator<std::string > > *arg2 = (std::vector<std::string,std::allocator<std::string > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_comments_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->comments = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_comments_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+ std::vector<std::string,std::allocator<std::string > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_comments_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<std::string,std::allocator<std::string > > *)& ((arg1)->comments);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * SP3Header_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__SP3Header, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexNavHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexNavHeader")) goto fail;
+ result = (gpstk::RinexNavHeader *)new gpstk::RinexNavHeader();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavHeader, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexNavHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexNavHeader",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_isHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_isHeader",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::RinexNavHeader const *)arg1)->isHeader();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::RinexNavHeader const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_valid_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ unsigned long arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_valid_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->valid = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_valid_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ unsigned long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_valid_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned long) ((arg1)->valid);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_version_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_version_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->version = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_version_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_version_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->version);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_fileType_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_fileType_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->fileType = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_fileType_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_fileType_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->fileType);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_fileProgram_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_fileProgram_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->fileProgram = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_fileProgram_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_fileProgram_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->fileProgram);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_fileAgency_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_fileAgency_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->fileAgency = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_fileAgency_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_fileAgency_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->fileAgency);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_date_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_date_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->date = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_date_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_date_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->date);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_commentList_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ std::vector<std::string,std::allocator<std::string > > *arg2 = (std::vector<std::string,std::allocator<std::string > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_commentList_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->commentList = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_commentList_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ std::vector<std::string,std::allocator<std::string > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_commentList_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<std::string,std::allocator<std::string > > *)& ((arg1)->commentList);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_ionAlpha_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ double *arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_ionAlpha_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ double *inp = (double *)(arg2);
+ if (inp) {
+ double *dest = (double *)(arg1->ionAlpha);
+ size_t ii = 0;
+ for (; ii < 4; ++ii) dest[ii] = inp[ii];
+ } else {
+ SWIG_null_ref("double");
+ }
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_ionAlpha_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ double *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_ionAlpha_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double *)(double *) ((arg1)->ionAlpha);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_double, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_ionBeta_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ double *arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_ionBeta_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ double *inp = (double *)(arg2);
+ if (inp) {
+ double *dest = (double *)(arg1->ionBeta);
+ size_t ii = 0;
+ for (; ii < 4; ++ii) dest[ii] = inp[ii];
+ } else {
+ SWIG_null_ref("double");
+ }
+ }
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_ionBeta_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ double *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_ionBeta_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double *)(double *) ((arg1)->ionBeta);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_double, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_A0_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_A0_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->A0 = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_A0_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_A0_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->A0);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_A1_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_A1_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->A1 = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_A1_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_A1_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->A1);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_UTCRefTime_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ long arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_UTCRefTime_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->UTCRefTime = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_UTCRefTime_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_UTCRefTime_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (long) ((arg1)->UTCRefTime);
+
+ {
+ resultobj = SWIG_From_long((long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_UTCRefWeek_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ long arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_UTCRefWeek_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->UTCRefWeek = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_UTCRefWeek_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_UTCRefWeek_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (long) ((arg1)->UTCRefWeek);
+
+ {
+ resultobj = SWIG_From_long((long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_leapSeconds_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ long arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_leapSeconds_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->leapSeconds = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_leapSeconds_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+ long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_leapSeconds_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (long) ((arg1)->leapSeconds);
+
+ {
+ resultobj = SWIG_From_long((long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static int _wrap_RinexNavHeader_versionString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_versionString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_versionString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::versionString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_runByString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_runByString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_runByString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::runByString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_commentString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_commentString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_commentString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::commentString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_ionAlphaString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_ionAlphaString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_ionAlphaString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::ionAlphaString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_ionBetaString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_ionBetaString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_ionBetaString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::ionBetaString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_deltaUTCString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_deltaUTCString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_deltaUTCString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::deltaUTCString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_leapSecondsString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_leapSecondsString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_leapSecondsString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::leapSecondsString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_endOfHeader_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_endOfHeader is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_endOfHeader_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::endOfHeader));
+ }
+ return pyobj;
+}
+
+
+static PyObject * RinexNavHeader_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexNavHeader, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_WrongBlockNumber__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WrongBlockNumber *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_WrongBlockNumber")) goto fail;
+ result = (gpstk::WrongBlockNumber *)new gpstk::WrongBlockNumber();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockNumber__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WrongBlockNumber *arg1 = 0 ;
+ gpstk::WrongBlockNumber *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_WrongBlockNumber",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockNumber, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::WrongBlockNumber");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::WrongBlockNumber *)new gpstk::WrongBlockNumber((gpstk::WrongBlockNumber const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockNumber__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::WrongBlockNumber *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_WrongBlockNumber",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::WrongBlockNumber *)new gpstk::WrongBlockNumber((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockNumber__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::WrongBlockNumber *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_WrongBlockNumber",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::WrongBlockNumber *)new gpstk::WrongBlockNumber(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockNumber__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::WrongBlockNumber *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_WrongBlockNumber",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::WrongBlockNumber *)new gpstk::WrongBlockNumber(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockNumber__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::WrongBlockNumber *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_WrongBlockNumber",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::WrongBlockNumber *)new gpstk::WrongBlockNumber(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockNumber(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_WrongBlockNumber__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WrongBlockNumber, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_WrongBlockNumber__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_WrongBlockNumber__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_WrongBlockNumber__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_WrongBlockNumber__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_WrongBlockNumber__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_WrongBlockNumber'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_WrongBlockNumber(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WrongBlockNumber *arg1 = (gpstk::WrongBlockNumber *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_WrongBlockNumber",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockNumber, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WrongBlockNumber_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WrongBlockNumber *arg1 = (gpstk::WrongBlockNumber *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WrongBlockNumber_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockNumber, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::WrongBlockNumber const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WrongBlockNumber_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WrongBlockNumber *arg1 = (gpstk::WrongBlockNumber *) 0 ;
+ gpstk::WrongBlockNumber *arg2 = 0 ;
+ gpstk::WrongBlockNumber *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WrongBlockNumber_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockNumber, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WrongBlockNumber, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::WrongBlockNumber");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::WrongBlockNumber &_result_ref = (arg1)->operator =((gpstk::WrongBlockNumber const &)*arg2);
+ result = (gpstk::WrongBlockNumber *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_9(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::WrongBlockNumber *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WrongBlockNumber, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::WrongBlockNumber");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::WrongBlockNumber const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * WrongBlockNumber_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__WrongBlockNumber, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_WrongBlockFormat__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WrongBlockFormat *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_WrongBlockFormat")) goto fail;
+ result = (gpstk::WrongBlockFormat *)new gpstk::WrongBlockFormat();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockFormat__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WrongBlockFormat *arg1 = 0 ;
+ gpstk::WrongBlockFormat *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_WrongBlockFormat",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockFormat, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::WrongBlockFormat");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::WrongBlockFormat *)new gpstk::WrongBlockFormat((gpstk::WrongBlockFormat const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockFormat__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::WrongBlockFormat *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_WrongBlockFormat",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::WrongBlockFormat *)new gpstk::WrongBlockFormat((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockFormat__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::WrongBlockFormat *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_WrongBlockFormat",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::WrongBlockFormat *)new gpstk::WrongBlockFormat(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockFormat__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::WrongBlockFormat *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_WrongBlockFormat",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::WrongBlockFormat *)new gpstk::WrongBlockFormat(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockFormat__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::WrongBlockFormat *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_WrongBlockFormat",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::WrongBlockFormat *)new gpstk::WrongBlockFormat(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockFormat(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_WrongBlockFormat__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WrongBlockFormat, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_WrongBlockFormat__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_WrongBlockFormat__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_WrongBlockFormat__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_WrongBlockFormat__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_WrongBlockFormat__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_WrongBlockFormat'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_WrongBlockFormat(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WrongBlockFormat *arg1 = (gpstk::WrongBlockFormat *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_WrongBlockFormat",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockFormat, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WrongBlockFormat_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WrongBlockFormat *arg1 = (gpstk::WrongBlockFormat *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:WrongBlockFormat_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockFormat, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::WrongBlockFormat const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_WrongBlockFormat_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::WrongBlockFormat *arg1 = (gpstk::WrongBlockFormat *) 0 ;
+ gpstk::WrongBlockFormat *arg2 = 0 ;
+ gpstk::WrongBlockFormat *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:WrongBlockFormat_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockFormat, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WrongBlockFormat, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::WrongBlockFormat");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::WrongBlockFormat &_result_ref = (arg1)->operator =((gpstk::WrongBlockFormat const &)*arg2);
+ result = (gpstk::WrongBlockFormat *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_10(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::WrongBlockFormat *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WrongBlockFormat, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::WrongBlockFormat");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::WrongBlockFormat const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * WrongBlockFormat_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__WrongBlockFormat, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FICData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_FICData")) goto fail;
+ result = (gpstk::FICData *)new gpstk::FICData();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICData, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_FICData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FICData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_isValid(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FICData_isValid",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::FICData const *)arg1)->isValid();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_isData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FICData_isData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::FICData const *)arg1)->isData();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FICData_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::FICData const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_prettyDump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FICData_prettyDump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::FICData const *)arg1)->prettyDump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_operator_EngEphemeris(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ EngEphemeris result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FICData_operator_EngEphemeris",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::FICData const *)arg1)->operator EngEphemeris();
+
+ {
+ EngEphemeris * resultptr;
+ resultptr = new EngEphemeris((EngEphemeris &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__EngEphemeris, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_operator_AlmOrbit(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ gpstk::AlmOrbit result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FICData_operator_AlmOrbit",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::FICData const *)arg1)->operator gpstk::AlmOrbit();
+
+ {
+ gpstk::AlmOrbit * resultptr;
+ resultptr = new gpstk::AlmOrbit((gpstk::AlmOrbit &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__AlmOrbit, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_generateUniqueKey(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FICData_generateUniqueKey",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = ((gpstk::FICData const *)arg1)->generateUniqueKey();
+ }
+ catch(gpstk::WrongBlockNumber &_e) {
+ {
+ gpstk::WrongBlockNumber * temp = new gpstk::WrongBlockNumber(_e);
+ if (SWIGTYPE_p_gpstk__WrongBlockNumber->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__WrongBlockNumber->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__WrongBlockNumber,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::WrongBlockNumber");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__WrongBlockNumber,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(gpstk::WrongBlockFormat &_e) {
+ {
+ gpstk::WrongBlockFormat * temp = new gpstk::WrongBlockFormat(_e);
+ if (SWIGTYPE_p_gpstk__WrongBlockFormat->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__WrongBlockFormat->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__WrongBlockFormat,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::WrongBlockFormat");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__WrongBlockFormat,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static int _wrap_FICData_blockString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable FICData_blockString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_FICData_blockString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::FICData::blockString));
+ }
+ return pyobj;
+}
+
+
+static PyObject *_wrap_FICData_blockNum_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ long arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FICData_blockNum_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->blockNum = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_blockNum_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FICData_blockNum_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (long) ((arg1)->blockNum);
+
+ {
+ resultobj = SWIG_From_long((long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_f_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ std::vector<double,std::allocator<double > > *arg2 = (std::vector<double,std::allocator<double > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FICData_f_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->f = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_f_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ std::vector<double,std::allocator<double > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FICData_f_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<double,std::allocator<double > > *)& ((arg1)->f);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_i_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ std::vector<long,std::allocator<long > > *arg2 = (std::vector<long,std::allocator<long > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FICData_i_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTlong_std__allocatorTlong_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->i = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_i_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ std::vector<long,std::allocator<long > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FICData_i_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<long,std::allocator<long > > *)& ((arg1)->i);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTlong_std__allocatorTlong_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_c_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ std::vector<char,std::allocator<char > > *arg2 = (std::vector<char,std::allocator<char > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FICData_c_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTchar_std__allocatorTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->c = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICData_c_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+ std::vector<char,std::allocator<char > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FICData_c_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<char,std::allocator<char > > *)& ((arg1)->c);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTchar_std__allocatorTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * FICData_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__FICData, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FICHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICHeader *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_FICHeader")) goto fail;
+ result = (gpstk::FICHeader *)new gpstk::FICHeader();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICHeader, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_FICHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICHeader *arg1 = (gpstk::FICHeader *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FICHeader",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICHeader_isHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICHeader *arg1 = (gpstk::FICHeader *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FICHeader_isHeader",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::FICHeader const *)arg1)->isHeader();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICHeader_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICHeader *arg1 = (gpstk::FICHeader *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FICHeader_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::FICHeader const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICHeader_header_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICHeader *arg1 = (gpstk::FICHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FICHeader_header_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->header = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FICHeader_header_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::FICHeader *arg1 = (gpstk::FICHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FICHeader_header_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->header);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static int _wrap_FICHeader_headerSize_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable FICHeader_headerSize is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_FICHeader_headerSize_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((int)(gpstk::FICHeader::headerSize));
+ }
+ return pyobj;
+}
+
+
+static PyObject * FICHeader_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__FICHeader, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexMetData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetData *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexMetData")) goto fail;
+ result = (gpstk::RinexMetData *)new gpstk::RinexMetData();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexMetData, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetData_isData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetData_isData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::RinexMetData const *)arg1)->isData();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetData_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetData_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::RinexMetData const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetData_time_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetData_time_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->time = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetData_time_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetData_time_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->time);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetData_data_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+ gpstk::RinexMetData::RinexMetMap *arg2 = (gpstk::RinexMetData::RinexMetMap *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetData_data_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->data = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetData_data_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+ gpstk::RinexMetData::RinexMetMap *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetData_data_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::RinexMetData::RinexMetMap *)& ((arg1)->data);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static int _wrap_RinexMetData_maxObsPerLine_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexMetData_maxObsPerLine is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexMetData_maxObsPerLine_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((int)(gpstk::RinexMetData::maxObsPerLine));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexMetData_maxObsPerContinuationLine_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexMetData_maxObsPerContinuationLine is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexMetData_maxObsPerContinuationLine_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((int)(gpstk::RinexMetData::maxObsPerContinuationLine));
+ }
+ return pyobj;
+}
+
+
+static PyObject *_wrap_delete_RinexMetData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexMetData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexMetData_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexMetData, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexMetHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexMetHeader")) goto fail;
+ result = (gpstk::RinexMetHeader *)new gpstk::RinexMetHeader();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexMetHeader, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexMetHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexMetHeader",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_isHeader(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_isHeader",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::RinexMetHeader const *)arg1)->isHeader();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::RinexMetHeader const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_convertObsType__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string *arg1 = 0 ;
+ gpstk::RinexMetHeader::RinexMetType result;
+ int res1 = 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_convertObsType",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res1) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = ptr;
+ }
+ try {
+ result = (gpstk::RinexMetHeader::RinexMetType)gpstk::RinexMetHeader::convertObsType((std::string const &)*arg1);
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_From_int((result));
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return resultobj;
+ fail:
+ if (res1 == SWIG_NEWOBJ) delete arg1;
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_convertObsType__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader::RinexMetType *arg1 = 0 ;
+ std::string result;
+ gpstk::RinexMetHeader::RinexMetType temp1 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_convertObsType",&obj0)) goto fail;
+ {
+ temp1 = (gpstk::RinexMetHeader::RinexMetType)(SWIG_As_int(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ try {
+ result = gpstk::RinexMetHeader::convertObsType((enum gpstk::RinexMetHeader::RinexMetType const &)*arg1);
+ }
+ catch(FFStreamError &_e) {
+ {
+ FFStreamError * temp = new FFStreamError(_e);
+ if (SWIGTYPE_p_FFStreamError->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_convertObsType(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[2];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_Check_int(argv[0]);
+ if (_v) {
+ return _wrap_RinexMetHeader_convertObsType__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_RinexMetHeader_convertObsType__SWIG_0(self,args);
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RinexMetHeader_convertObsType'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_valid_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ unsigned long arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_valid_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->valid = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_valid_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ unsigned long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_valid_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned long) ((arg1)->valid);
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_bitsAsString(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader::validBits arg1 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_bitsAsString",&obj0)) goto fail;
+ {
+ arg1 = (gpstk::RinexMetHeader::validBits)(SWIG_As_int(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = gpstk::RinexMetHeader::bitsAsString(arg1);
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_bitString__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ unsigned long arg1 ;
+ char arg2 ;
+ std::string arg3 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:RinexMetHeader_bitString",&obj0,&obj1,&obj2)) goto fail;
+ {
+ arg1 = (unsigned long)(SWIG_As_unsigned_SS_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (char)(SWIG_As_char(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj2, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj2);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = gpstk::RinexMetHeader::bitString(arg1,arg2,arg3);
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_bitString__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ unsigned long arg1 ;
+ char arg2 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_bitString",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (unsigned long)(SWIG_As_unsigned_SS_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (char)(SWIG_As_char(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = gpstk::RinexMetHeader::bitString(arg1,arg2);
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_bitString__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ unsigned long arg1 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_bitString",&obj0)) goto fail;
+ {
+ arg1 = (unsigned long)(SWIG_As_unsigned_SS_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = gpstk::RinexMetHeader::bitString(arg1);
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_bitString(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_Check_unsigned_SS_long(argv[0]);
+ if (_v) {
+ return _wrap_RinexMetHeader_bitString__SWIG_2(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_unsigned_SS_long(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_char(argv[1]);
+ if (_v) {
+ return _wrap_RinexMetHeader_bitString__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_unsigned_SS_long(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_char(argv[1]);
+ if (_v) {
+ _v = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
+ if (_v) {
+ return _wrap_RinexMetHeader_bitString__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RinexMetHeader_bitString'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_version_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_version_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->version = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_version_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_version_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->version);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_fileType_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_fileType_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->fileType = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_fileType_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_fileType_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->fileType);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_fileProgram_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_fileProgram_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->fileProgram = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_fileProgram_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_fileProgram_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->fileProgram);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_fileAgency_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_fileAgency_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->fileAgency = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_fileAgency_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_fileAgency_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->fileAgency);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_date_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_date_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->date = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_date_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_date_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->date);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_commentList_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::vector<std::string,std::allocator<std::string > > *arg2 = (std::vector<std::string,std::allocator<std::string > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_commentList_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->commentList = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_commentList_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::vector<std::string,std::allocator<std::string > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_commentList_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<std::string,std::allocator<std::string > > *)& ((arg1)->commentList);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_markerName_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_markerName_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->markerName = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_markerName_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_markerName_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->markerName);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_markerNumber_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_markerNumber_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->markerNumber = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_markerNumber_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_markerNumber_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->markerNumber);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_obsTypeList_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::vector<gpstk::RinexMetHeader::RinexMetType,std::allocator<gpstk::RinexMetHeader::RinexMetType > > *arg2 = (std::vector<gpstk::RinexMetHeader::RinexMetType,std::allocator<gpstk::RinexMetHeader::RinexMetType > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_obsTypeList_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->obsTypeList = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_obsTypeList_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::vector<gpstk::RinexMetHeader::RinexMetType,std::allocator<gpstk::RinexMetHeader::RinexMetType > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_obsTypeList_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<gpstk::RinexMetHeader::RinexMetType,std::allocator<gpstk::RinexMetHeader::RinexMetType > > *)& ((arg1)->obsTypeList);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_sensorTypeList_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::vector<sensorType,std::allocator<sensorType > > *arg2 = (std::vector<sensorType,std::allocator<sensorType > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_sensorTypeList_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTsensorType_std__allocatorTsensorType_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->sensorTypeList = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_sensorTypeList_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::vector<sensorType,std::allocator<sensorType > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_sensorTypeList_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<sensorType,std::allocator<sensorType > > *)& ((arg1)->sensorTypeList);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTsensorType_std__allocatorTsensorType_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_sensorPosList_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::vector<sensorPosType,std::allocator<sensorPosType > > *arg2 = (std::vector<sensorPosType,std::allocator<sensorPosType > > *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_sensorPosList_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->sensorPosList = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_sensorPosList_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+ std::vector<sensorPosType,std::allocator<sensorPosType > > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_sensorPosList_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::vector<sensorPosType,std::allocator<sensorPosType > > *)& ((arg1)->sensorPosList);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static int _wrap_RinexMetHeader_maxObsPerLine_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_maxObsPerLine is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_maxObsPerLine_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_int((int)(gpstk::RinexMetHeader::maxObsPerLine));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_versionString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_versionString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_versionString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::versionString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_runByString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_runByString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_runByString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::runByString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_commentString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_commentString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_commentString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::commentString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_markerNameString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_markerNameString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_markerNameString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::markerNameString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_markerNumberString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_markerNumberString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_markerNumberString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::markerNumberString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_obsTypeString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_obsTypeString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_obsTypeString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::obsTypeString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_sensorTypeString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_sensorTypeString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_sensorTypeString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::sensorTypeString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_sensorPosString_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_sensorPosString is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_sensorPosString_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::sensorPosString));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_endOfHeader_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_endOfHeader is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_endOfHeader_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::endOfHeader));
+ }
+ return pyobj;
+}
+
+
+static PyObject * RinexMetHeader_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexMetHeader, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_sensorType_model_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorType *arg1 = (sensorType *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:sensorType_model_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->model = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_model_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorType *arg1 = (sensorType *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:sensorType_model_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->model);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_type_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorType *arg1 = (sensorType *) 0 ;
+ std::string *arg2 = (std::string *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:sensorType_type_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->type = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_type_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorType *arg1 = (sensorType *) 0 ;
+ std::string *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:sensorType_type_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::string *)& ((arg1)->type);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_accuracy_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorType *arg1 = (sensorType *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:sensorType_accuracy_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->accuracy = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_accuracy_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorType *arg1 = (sensorType *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:sensorType_accuracy_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->accuracy);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_obsType_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorType *arg1 = (sensorType *) 0 ;
+ RinexMetType arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:sensorType_obsType_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ RinexMetType * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_RinexMetType, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("RinexMetType");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ if (arg1) (arg1)->obsType = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_obsType_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorType *arg1 = (sensorType *) 0 ;
+ RinexMetType result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:sensorType_obsType_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((arg1)->obsType);
+
+ {
+ RinexMetType * resultptr;
+ resultptr = new RinexMetType((RinexMetType &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_RinexMetType, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_sensorType(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorType *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_sensorType")) goto fail;
+ result = (sensorType *)new sensorType();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_sensorType, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_sensorType(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorType *arg1 = (sensorType *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_sensorType",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * sensorType_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_sensorType, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_sensorPosType_position_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorPosType *arg1 = (sensorPosType *) 0 ;
+ gpstk::Triple *arg2 = (gpstk::Triple *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:sensorPosType_position_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->position = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_sensorPosType_position_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorPosType *arg1 = (sensorPosType *) 0 ;
+ gpstk::Triple *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:sensorPosType_position_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::Triple *)& ((arg1)->position);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_sensorPosType_height_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorPosType *arg1 = (sensorPosType *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:sensorPosType_height_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->height = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_sensorPosType_height_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorPosType *arg1 = (sensorPosType *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:sensorPosType_height_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->height);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_sensorPosType_obsType_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorPosType *arg1 = (sensorPosType *) 0 ;
+ RinexMetType arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:sensorPosType_obsType_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ RinexMetType * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_RinexMetType, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("RinexMetType");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ if (arg1) (arg1)->obsType = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_sensorPosType_obsType_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorPosType *arg1 = (sensorPosType *) 0 ;
+ RinexMetType result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:sensorPosType_obsType_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((arg1)->obsType);
+
+ {
+ RinexMetType * resultptr;
+ resultptr = new RinexMetType((RinexMetType &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_RinexMetType, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_sensorPosType(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorPosType *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_sensorPosType")) goto fail;
+ result = (sensorPosType *)new sensorPosType();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_sensorPosType, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_sensorPosType(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ sensorPosType *arg1 = (sensorPosType *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_sensorPosType",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * sensorPosType_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_sensorPosType, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexNavData__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RinexNavData")) goto fail;
+ result = (gpstk::RinexNavData *)new gpstk::RinexNavData();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavData, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexNavData__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ EngEphemeris *arg1 = 0 ;
+ gpstk::RinexNavData *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_RinexNavData",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("EngEphemeris");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::RinexNavData *)new gpstk::RinexNavData((EngEphemeris const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavData, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexNavData(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[2];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_RinexNavData__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EngEphemeris, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_RinexNavData__SWIG_1(self,args);
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexNavData'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexNavData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexNavData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_isData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_isData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::RinexNavData const *)arg1)->isData();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::RinexNavData const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_operator_EngEphemeris(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ EngEphemeris result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_operator_EngEphemeris",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::RinexNavData const *)arg1)->operator EngEphemeris();
+
+ {
+ EngEphemeris * resultptr;
+ resultptr = new EngEphemeris((EngEphemeris &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__EngEphemeris, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_toList(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ std::list<double > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_toList",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::RinexNavData const *)arg1)->toList();
+
+ {
+ std::list<double > * resultptr;
+ resultptr = new std::list<double >((std::list<double > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__listTdouble_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_time_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_time_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->time = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_time_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_time_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->time);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_PRNID_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_PRNID_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->PRNID = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_PRNID_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_PRNID_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->PRNID);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_HOWtime_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ long arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_HOWtime_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->HOWtime = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_HOWtime_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_HOWtime_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (long) ((arg1)->HOWtime);
+
+ {
+ resultobj = SWIG_From_long((long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_weeknum_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_weeknum_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->weeknum = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_weeknum_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_weeknum_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->weeknum);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_codeflgs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_codeflgs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->codeflgs = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_codeflgs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_codeflgs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->codeflgs);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_accuracy_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_accuracy_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->accuracy = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_accuracy_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_accuracy_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->accuracy);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_health_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_health_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->health = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_health_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_health_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->health);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_L2Pdata_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_L2Pdata_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->L2Pdata = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_L2Pdata_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_L2Pdata_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->L2Pdata);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_IODC_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_IODC_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->IODC = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_IODC_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_IODC_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->IODC);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_IODE_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_IODE_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->IODE = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_IODE_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_IODE_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->IODE);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Toc_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Toc_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Toc = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Toc_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Toc_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->Toc);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_af0_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_af0_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->af0 = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_af0_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_af0_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->af0);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_af1_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_af1_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->af1 = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_af1_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_af1_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->af1);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_af2_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_af2_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->af2 = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_af2_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_af2_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->af2);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Tgd_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Tgd_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Tgd = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Tgd_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Tgd_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->Tgd);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cuc_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Cuc_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Cuc = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cuc_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Cuc_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->Cuc);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cus_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Cus_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Cus = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cus_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Cus_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->Cus);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Crc_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Crc_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Crc = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Crc_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Crc_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->Crc);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Crs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Crs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Crs = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Crs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Crs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->Crs);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cic_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Cic_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Cic = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cic_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Cic_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->Cic);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cis_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Cis_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Cis = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cis_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Cis_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->Cis);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Toe_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Toe_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Toe = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Toe_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Toe_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->Toe);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_M0_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_M0_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->M0 = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_M0_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_M0_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->M0);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_dn_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_dn_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->dn = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_dn_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_dn_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->dn);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_ecc_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_ecc_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->ecc = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_ecc_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_ecc_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->ecc);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Ahalf_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Ahalf_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Ahalf = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Ahalf_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Ahalf_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->Ahalf);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_OMEGA0_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_OMEGA0_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->OMEGA0 = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_OMEGA0_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_OMEGA0_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->OMEGA0);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_i0_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_i0_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->i0 = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_i0_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_i0_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->i0);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_w_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_w_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->w = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_w_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_w_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->w);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_OMEGAdot_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_OMEGAdot_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->OMEGAdot = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_OMEGAdot_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_OMEGAdot_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->OMEGAdot);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_idot_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_idot_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->idot = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_idot_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_idot_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->idot);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_fitint_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_fitint_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->fitint = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_fitint_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_fitint_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->fitint);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RinexNavData_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexNavData, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SP3Data(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_SP3Data")) goto fail;
+ result = (gpstk::SP3Data *)new gpstk::SP3Data();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3Data, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_SP3Data(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_SP3Data",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_isData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Data_isData",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::SP3Data const *)arg1)->isData();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Data_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::SP3Data const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_flag_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ char arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Data_flag_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (char)(SWIG_As_char(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->flag = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_flag_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ char result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Data_flag_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (char) ((arg1)->flag);
+
+ {
+ resultobj = SWIG_From_char((char)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_id_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ short arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Data_id_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->id = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_id_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Data_id_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short) ((arg1)->id);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_x_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ Triple *arg2 = (Triple *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Data_x_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->x = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_x_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ Triple *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Data_x_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (Triple *)& ((arg1)->x);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_clk_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Data_clk_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->clk = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_clk_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Data_clk_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->clk);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_time_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:SP3Data_time_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->time = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_time_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:SP3Data_time_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->time);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * SP3Data_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__SP3Data, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_RungeKutta4_integrateTo__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+ double arg2 ;
+ double arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:RungeKutta4_integrateTo",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ (arg1)->integrateTo(arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_integrateTo__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RungeKutta4_integrateTo",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->integrateTo(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_integrateTo__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+ double arg2 ;
+ Matrix<double > *arg3 = 0 ;
+ double arg4 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:RungeKutta4_integrateTo",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_MatrixTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Matrix<double >");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ (arg1)->integrateTo(arg2,*arg3,arg4);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_integrateTo__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+ double arg2 ;
+ Matrix<double > *arg3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:RungeKutta4_integrateTo",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_MatrixTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("Matrix<double >");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ (arg1)->integrateTo(arg2,*arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_integrateTo(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RungeKutta4, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_RungeKutta4_integrateTo__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RungeKutta4, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_MatrixTdouble_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_RungeKutta4_integrateTo__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RungeKutta4, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_RungeKutta4_integrateTo__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RungeKutta4, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_MatrixTdouble_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ return _wrap_RungeKutta4_integrateTo__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RungeKutta4_integrateTo'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_derivative(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+ long double arg2 ;
+ gpstk::Matrix<double > *arg3 = 0 ;
+ gpstk::Matrix<double > *arg4 = 0 ;
+ gpstk::Matrix<double > *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:RungeKutta4_derivative",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ long double * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("long double");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__MatrixTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::Matrix<double >");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__MatrixTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::Matrix<double >");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ gpstk::Matrix<double > &_result_ref = (arg1)->derivative(arg2,(gpstk::Matrix<double > const &)*arg3,*arg4);
+ result = (gpstk::Matrix<double > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__MatrixTdouble_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_getTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RungeKutta4_getTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)(arg1)->getTime();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_getState(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+ Matrix<double > *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RungeKutta4_getState",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ Matrix<double > const &_result_ref = (arg1)->getState();
+ result = (Matrix<double > *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_MatrixTdouble_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RungeKutta4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RungeKutta4",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RungeKutta4_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RungeKutta4, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_GeometryException__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeometryException *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_GeometryException")) goto fail;
+ result = (gpstk::GeometryException *)new gpstk::GeometryException();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GeometryException__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeometryException *arg1 = 0 ;
+ gpstk::GeometryException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_GeometryException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeometryException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::GeometryException");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::GeometryException *)new gpstk::GeometryException((gpstk::GeometryException const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GeometryException__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::GeometryException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_GeometryException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::GeometryException *)new gpstk::GeometryException((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GeometryException__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::GeometryException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_GeometryException",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::GeometryException *)new gpstk::GeometryException(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GeometryException__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::GeometryException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_GeometryException",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::GeometryException *)new gpstk::GeometryException(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GeometryException__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::GeometryException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_GeometryException",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::GeometryException *)new gpstk::GeometryException(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GeometryException(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_GeometryException__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GeometryException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_GeometryException__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_GeometryException__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_GeometryException__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_GeometryException__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_GeometryException__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_GeometryException'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_GeometryException(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeometryException *arg1 = (gpstk::GeometryException *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_GeometryException",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeometryException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GeometryException_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeometryException *arg1 = (gpstk::GeometryException *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GeometryException_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeometryException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::GeometryException const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GeometryException_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeometryException *arg1 = (gpstk::GeometryException *) 0 ;
+ gpstk::GeometryException *arg2 = 0 ;
+ gpstk::GeometryException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GeometryException_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeometryException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeometryException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GeometryException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::GeometryException &_result_ref = (arg1)->operator =((gpstk::GeometryException const &)*arg2);
+ result = (gpstk::GeometryException *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_streamRead__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::GeometryException *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeometryException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GeometryException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::GeometryException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * GeometryException_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__GeometryException, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Triple__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_Triple")) goto fail;
+ result = (gpstk::Triple *)new gpstk::Triple();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Triple__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Triple *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_Triple",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::Triple *)new gpstk::Triple((gpstk::Triple const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Triple__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ double arg2 ;
+ double arg3 ;
+ gpstk::Triple *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_Triple",&obj0,&obj1,&obj2)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::Triple *)new gpstk::Triple(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Triple(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_Triple__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_Triple__SWIG_1(self,args);
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_new_Triple__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_Triple'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_Triple(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_Triple",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_class_operator_assignment__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ gpstk::Triple *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::Triple &_result_ref = (arg1)->operator =((gpstk::Triple const &)*arg2);
+ result = (gpstk::Triple *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_class_operator_assignment__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ std::valarray<double > *arg2 = 0 ;
+ gpstk::Triple *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__valarrayTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::valarray<double >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::Triple &_result_ref = (arg1)->operator =((std::valarray<double > const &)*arg2);
+ result = (gpstk::Triple *) &_result_ref;
+ }
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_class_operator_assignment(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Triple_class_operator_assignment__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__valarrayTdouble_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Triple_class_operator_assignment__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Triple_class_operator_assignment'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_dot(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_dot",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (double)((gpstk::Triple const *)arg1)->dot((gpstk::Triple const &)*arg2);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_cross(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ gpstk::Triple result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_cross",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = ((gpstk::Triple const *)arg1)->cross((gpstk::Triple const &)*arg2);
+
+ {
+ gpstk::Triple * resultptr;
+ resultptr = new gpstk::Triple((gpstk::Triple &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Triple, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_mag(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Triple_mag",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::Triple const *)arg1)->mag();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_cosVector(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_cosVector",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (double)((gpstk::Triple const *)arg1)->cosVector((gpstk::Triple const &)*arg2);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_slantRange(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_slantRange",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (double)((gpstk::Triple const *)arg1)->slantRange((gpstk::Triple const &)*arg2);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_elvAngle(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_elvAngle",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (double)((gpstk::Triple const *)arg1)->elvAngle((gpstk::Triple const &)*arg2);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_azAngle(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_azAngle",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::Triple const *)arg1)->azAngle((gpstk::Triple const &)*arg2);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_class_operator_bracket(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ size_t arg2 ;
+ double *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_class_operator_bracket",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (size_t const)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ double &_result_ref = (arg1)->operator [](arg2);
+ result = (double *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_double, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_operator_bracket_const(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ size_t arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_operator_bracket_const",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (size_t const)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (double)((gpstk::Triple const *)arg1)->operator [](arg2);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple___sub__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ gpstk::Triple result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple___sub__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = ((gpstk::Triple const *)arg1)->operator -((gpstk::Triple const &)*arg2);
+
+ {
+ gpstk::Triple * resultptr;
+ resultptr = new gpstk::Triple((gpstk::Triple &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Triple, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple___add__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ gpstk::Triple result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple___add__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = ((gpstk::Triple const *)arg1)->operator +((gpstk::Triple const &)*arg2);
+
+ {
+ gpstk::Triple * resultptr;
+ resultptr = new gpstk::Triple((gpstk::Triple &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Triple, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_size(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ size_t result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Triple_size",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::Triple const *)arg1)->size();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_streamRead__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::Triple const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_streamRead(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GeometryException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Triple_streamRead__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Triple_streamRead__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Triple_streamRead'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_theArray_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ std::valarray<double > arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Triple_theArray_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::valarray<double > * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__valarrayTdouble_t, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("std::valarray<double >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ if (arg1) (arg1)->theArray = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Triple_theArray_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+ std::valarray<double > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Triple_theArray_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((arg1)->theArray);
+
+ {
+ std::valarray<double > * resultptr;
+ resultptr = new std::valarray<double >((std::valarray<double > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__valarrayTdouble_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * Triple_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__Triple, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_Position_getSystemName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getSystemName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (arg1)->getSystemName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static int _wrap_Position_ONE_MM_TOLERANCE_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable Position_ONE_MM_TOLERANCE is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_Position_ONE_MM_TOLERANCE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::Position::ONE_MM_TOLERANCE));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_Position_ONE_CM_TOLERANCE_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable Position_ONE_CM_TOLERANCE is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_Position_ONE_CM_TOLERANCE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::Position::ONE_CM_TOLERANCE));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_Position_ONE_UM_TOLERANCE_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable Position_ONE_UM_TOLERANCE is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_Position_ONE_UM_TOLERANCE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::Position::ONE_UM_TOLERANCE));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_Position_POSITION_TOLERANCE_set(PyObject *_val) {
+ {
+ double temp = (double)(SWIG_As_double(_val));
+ if (PyErr_Occurred()) {
+ SWIG_append_errmsg("C/C++ variable 'gpstk::Position::POSITION_TOLERANCE (double)'");
+ return 1;
+ }
+ gpstk::Position::POSITION_TOLERANCE = temp;
+ }
+ return 0;
+}
+
+
+static PyObject *_wrap_Position_POSITION_TOLERANCE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::Position::POSITION_TOLERANCE));
+ }
+ return pyobj;
+}
+
+
+static PyObject *_wrap_Position_setPositionTolerance(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_setPositionTolerance",&obj0)) goto fail;
+ {
+ arg1 = (double const)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (double)gpstk::Position::setPositionTolerance(arg1);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getPositionTolerance(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double result;
+
+ if(!PyArg_ParseTuple(args,(char *)":Position_getPositionTolerance")) goto fail;
+ result = (double)gpstk::Position::getPositionTolerance();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_setTolerance(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double arg2 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_setTolerance",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double const)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::Position &_result_ref = (arg1)->setTolerance(arg2);
+ result = (gpstk::Position *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_Position")) goto fail;
+ result = (gpstk::Position *)new gpstk::Position();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ gpstk::Position::CoordinateSystem arg4 ;
+ GeoidModel *arg5 = (GeoidModel *) 0 ;
+ gpstk::Position *result;
+ double temp1 ;
+ double temp2 ;
+ double temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:new_Position",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ arg4 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ try {
+ result = (gpstk::Position *)new gpstk::Position((double const &)*arg1,(double const &)*arg2,(double const &)*arg3,arg4,arg5);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ gpstk::Position::CoordinateSystem arg4 ;
+ gpstk::Position *result;
+ double temp1 ;
+ double temp2 ;
+ double temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:new_Position",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ arg4 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::Position *)new gpstk::Position((double const &)*arg1,(double const &)*arg2,(double const &)*arg3,arg4);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ gpstk::Position *result;
+ double temp1 ;
+ double temp2 ;
+ double temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_Position",&obj0,&obj1,&obj2)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ try {
+ result = (gpstk::Position *)new gpstk::Position((double const &)*arg1,(double const &)*arg2,(double const &)*arg3);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 ;
+ gpstk::Position::CoordinateSystem arg2 ;
+ GeoidModel *arg3 = (GeoidModel *) 0 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_Position",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ try {
+ result = (gpstk::Position *)new gpstk::Position((double const (*))arg1,arg2,arg3);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 ;
+ gpstk::Position::CoordinateSystem arg2 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_Position",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::Position *)new gpstk::Position((double const (*))arg1,arg2);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_6(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_Position",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (gpstk::Position *)new gpstk::Position((double const (*))arg1);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_7(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Position::CoordinateSystem arg2 ;
+ GeoidModel *arg3 = (GeoidModel *) 0 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_Position",&obj0,&obj1,&obj2)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ try {
+ result = (gpstk::Position *)new gpstk::Position((gpstk::Triple const &)*arg1,arg2,arg3);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_8(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Position::CoordinateSystem arg2 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_Position",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::Position *)new gpstk::Position((gpstk::Triple const &)*arg1,arg2);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_9(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_Position",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::Position *)new gpstk::Position((gpstk::Triple const &)*arg1);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_10(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ Xvt *arg1 = 0 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_Position",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("Xvt");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::Position *)new gpstk::Position((Xvt const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Position(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[6];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_Position__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_Position__SWIG_6(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_Position__SWIG_9(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_Position__SWIG_10(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_new_Position__SWIG_5(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_new_Position__SWIG_8(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_Position__SWIG_4(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_Position__SWIG_7(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_new_Position__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[3]);
+ if (_v) {
+ return _wrap_new_Position__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[3]);
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_Position__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_Position'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_Position(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_Position",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position___sub__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ gpstk::Position *arg2 = 0 ;
+ gpstk::Position result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position___sub__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::Position const *)arg1)->operator -((gpstk::Position const &)*arg2);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::Position * resultptr;
+ resultptr = new gpstk::Position((gpstk::Position &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position___add__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ gpstk::Position *arg2 = 0 ;
+ gpstk::Position result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position___add__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::Position const *)arg1)->operator +((gpstk::Position const &)*arg2);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::Position * resultptr;
+ resultptr = new gpstk::Position((gpstk::Position &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___mul____SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ gpstk::Position *arg2 = 0 ;
+ gpstk::Position result;
+ double temp1 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__mul__",&obj0,&obj1)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = operator *((double const &)*arg1,(gpstk::Position const &)*arg2);
+
+ {
+ gpstk::Position * resultptr;
+ resultptr = new gpstk::Position((gpstk::Position &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___mul____SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = 0 ;
+ double *arg2 = 0 ;
+ gpstk::Position result;
+ double temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__mul__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ result = operator *((gpstk::Position const &)*arg1,(double const &)*arg2);
+
+ {
+ gpstk::Position * resultptr;
+ resultptr = new gpstk::Position((gpstk::Position &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___mul____SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ int *arg1 = 0 ;
+ gpstk::Position *arg2 = 0 ;
+ gpstk::Position result;
+ int temp1 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__mul__",&obj0,&obj1)) goto fail;
+ {
+ temp1 = (int)(SWIG_As_int(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = operator *((int const &)*arg1,(gpstk::Position const &)*arg2);
+
+ {
+ gpstk::Position * resultptr;
+ resultptr = new gpstk::Position((gpstk::Position &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___mul____SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = 0 ;
+ int *arg2 = 0 ;
+ gpstk::Position result;
+ int temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__mul__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ temp2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ result = operator *((gpstk::Position const &)*arg1,(int const &)*arg2);
+
+ {
+ gpstk::Position * resultptr;
+ resultptr = new gpstk::Position((gpstk::Position &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___mul__(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap___mul____SWIG_3(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap___mul____SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_int(argv[0]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___mul____SWIG_2(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___mul____SWIG_0(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded '__mul__'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position___eq__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ gpstk::Position *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position___eq__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::Position const *)arg1)->operator ==((gpstk::Position const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position___ne__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ gpstk::Position *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position___ne__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::Position const *)arg1)->operator !=((gpstk::Position const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_transformTo(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ gpstk::Position::CoordinateSystem arg2 ;
+ gpstk::Position result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_transformTo",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (arg1)->transformTo(arg2);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::Position * resultptr;
+ resultptr = new gpstk::Position((gpstk::Position &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_asGeodetic__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ gpstk::Position result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_asGeodetic",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (arg1)->asGeodetic();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::Position * resultptr;
+ resultptr = new gpstk::Position((gpstk::Position &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_asGeodetic__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ GeoidModel *arg2 = (GeoidModel *) 0 ;
+ gpstk::Position result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_asGeodetic",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ try {
+ result = (arg1)->asGeodetic(arg2);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::Position * resultptr;
+ resultptr = new gpstk::Position((gpstk::Position &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_asGeodetic(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_Position_asGeodetic__SWIG_0(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_Position_asGeodetic__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Position_asGeodetic'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_asECEF(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ gpstk::Position result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_asECEF",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (arg1)->asECEF();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::Position * resultptr;
+ resultptr = new gpstk::Position((gpstk::Position &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_X(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_X",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->X();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_Y(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_Y",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->Y();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_Z(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_Z",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->Z();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_geodeticLatitude(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_geodeticLatitude",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->geodeticLatitude();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_geocentricLatitude(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_geocentricLatitude",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->geocentricLatitude();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_theta(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_theta",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->theta();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_phi(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_phi",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->phi();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_longitude(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_longitude",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->longitude();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_radius(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_radius",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->radius();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_height(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_height",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->height();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getCoordinateSystem(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ gpstk::Position::CoordinateSystem result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getCoordinateSystem",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::Position::CoordinateSystem)((gpstk::Position const *)arg1)->getCoordinateSystem();
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getGeodeticLatitude(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getGeodeticLatitude",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->getGeodeticLatitude();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getGeocentricLatitude(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getGeocentricLatitude",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->getGeocentricLatitude();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getLongitude(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getLongitude",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->getLongitude();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getAltitude(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getAltitude",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->getAltitude();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getHeight(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getHeight",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->getHeight();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getX(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getX",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->getX();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getY(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getY",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->getY();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getZ(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getZ",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->getZ();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getTheta(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getTheta",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->getTheta();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getPhi(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getPhi",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->getPhi();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getRadius(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_getRadius",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->getRadius();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_setGeoidModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ GeoidModel *arg2 = (GeoidModel *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_setGeoidModel",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ try {
+ (arg1)->setGeoidModel((GeoidModel const *)arg2);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_setGeodetic__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double arg2 ;
+ double arg3 ;
+ double arg4 ;
+ GeoidModel *arg5 = (GeoidModel *) 0 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:Position_setGeodetic",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double const)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double const)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double const)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ try {
+ {
+ gpstk::Position &_result_ref = (arg1)->setGeodetic(arg2,arg3,arg4,(GeoidModel const *)arg5);
+ result = (gpstk::Position *) &_result_ref;
+ }
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_setGeodetic__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double arg2 ;
+ double arg3 ;
+ double arg4 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_setGeodetic",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double const)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double const)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double const)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::Position &_result_ref = (arg1)->setGeodetic(arg2,arg3,arg4);
+ result = (gpstk::Position *) &_result_ref;
+ }
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_setGeodetic(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[6];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ return _wrap_Position_setGeodetic__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_Position_setGeodetic__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Position_setGeodetic'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_setGeocentric(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double arg2 ;
+ double arg3 ;
+ double arg4 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_setGeocentric",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double const)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double const)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double const)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::Position &_result_ref = (arg1)->setGeocentric(arg2,arg3,arg4);
+ result = (gpstk::Position *) &_result_ref;
+ }
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_setSpherical(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double arg2 ;
+ double arg3 ;
+ double arg4 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_setSpherical",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double const)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double const)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double const)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::Position &_result_ref = (arg1)->setSpherical(arg2,arg3,arg4);
+ result = (gpstk::Position *) &_result_ref;
+ }
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_setECEF__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double arg2 ;
+ double arg3 ;
+ double arg4 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_setECEF",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double const)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double const)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double const)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ gpstk::Position &_result_ref = (arg1)->setECEF(arg2,arg3,arg4);
+ result = (gpstk::Position *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_setECEF__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double *arg2 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_setECEF",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ gpstk::Position &_result_ref = (arg1)->setECEF((double const (*))arg2);
+ result = (gpstk::Position *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_setECEF__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ gpstk::Position *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_setECEF",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::Position &_result_ref = (arg1)->setECEF((gpstk::Triple const &)*arg2);
+ result = (gpstk::Position *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_setECEF(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_Position_setECEF__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Position_setECEF__SWIG_2(self,args);
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ return _wrap_Position_setECEF__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Position_setECEF'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_setToString(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ std::string *arg2 = 0 ;
+ std::string *arg3 = 0 ;
+ gpstk::Position *result;
+ int res2 = 0 ;
+ int res3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:Position_setToString",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ res3 = SWIG_AsPtr_std_string(obj2, &ptr);
+ if (!res3) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj2);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = ptr;
+ }
+ try {
+ {
+ gpstk::Position &_result_ref = (arg1)->setToString((std::string const &)*arg2,(std::string const &)*arg3);
+ result = (gpstk::Position *) &_result_ref;
+ }
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(DayTime::FormatException &_e) {
+ {
+ DayTime::FormatException * temp = new DayTime::FormatException(_e);
+ if (SWIGTYPE_p_FormatException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FormatException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FormatException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTime::FormatException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FormatException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(StringUtils::StringException &_e) {
+ {
+ StringUtils::StringException * temp = new StringUtils::StringException(_e);
+ if (SWIGTYPE_p_StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ if (res3 == SWIG_NEWOBJ) delete arg3;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ if (res3 == SWIG_NEWOBJ) delete arg3;
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_printf(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ char *arg2 = (char *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_printf",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ try {
+ result = ((gpstk::Position const *)arg1)->printf((char const *)arg2);
+ }
+ catch(StringUtils::StringException &_e) {
+ {
+ StringUtils::StringException * temp = new StringUtils::StringException(_e);
+ if (SWIGTYPE_p_StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_printf_const(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ std::string *arg2 = 0 ;
+ std::string result;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_printf_const",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ try {
+ result = ((gpstk::Position const *)arg1)->printf((std::string const &)*arg2);
+ }
+ catch(StringUtils::StringException &_e) {
+ {
+ StringUtils::StringException * temp = new StringUtils::StringException(_e);
+ if (SWIGTYPE_p_StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_asString(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_asString",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = ((gpstk::Position const *)arg1)->asString();
+ }
+ catch(StringUtils::StringException &_e) {
+ {
+ StringUtils::StringException * temp = new StringUtils::StringException(_e);
+ if (SWIGTYPE_p_StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertSphericalToCartesian(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_convertSphericalToCartesian",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ gpstk::Position::convertSphericalToCartesian((gpstk::Triple const &)*arg1,*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertCartesianToSpherical(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_convertCartesianToSpherical",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ gpstk::Position::convertCartesianToSpherical((gpstk::Triple const &)*arg1,*arg2);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertCartesianToGeodetic(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ double arg3 ;
+ double arg4 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_convertCartesianToGeodetic",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double const)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double const)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ gpstk::Position::convertCartesianToGeodetic((gpstk::Triple const &)*arg1,*arg2,arg3,arg4);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertGeodeticToCartesian(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ double arg3 ;
+ double arg4 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_convertGeodeticToCartesian",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double const)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double const)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ gpstk::Position::convertGeodeticToCartesian((gpstk::Triple const &)*arg1,*arg2,arg3,arg4);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertCartesianToGeocentric(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_convertCartesianToGeocentric",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ gpstk::Position::convertCartesianToGeocentric((gpstk::Triple const &)*arg1,*arg2);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertGeocentricToCartesian(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_convertGeocentricToCartesian",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ gpstk::Position::convertGeocentricToCartesian((gpstk::Triple const &)*arg1,*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertGeocentricToGeodetic(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ double arg3 ;
+ double arg4 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_convertGeocentricToGeodetic",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double const)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double const)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ gpstk::Position::convertGeocentricToGeodetic((gpstk::Triple const &)*arg1,*arg2,arg3,arg4);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertGeodeticToGeocentric(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Triple *arg2 = 0 ;
+ double arg3 ;
+ double arg4 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_convertGeodeticToGeocentric",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double const)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double const)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ gpstk::Position::convertGeodeticToGeocentric((gpstk::Triple const &)*arg1,*arg2,arg3,arg4);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_11(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::Position *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::Position const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_range(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = 0 ;
+ gpstk::Position *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:range",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)range((gpstk::Position const &)*arg1,(gpstk::Position const &)*arg2);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_radiusEarth__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ double arg2 ;
+ double arg3 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:Position_radiusEarth",&obj0,&obj1,&obj2)) goto fail;
+ {
+ arg1 = (double const)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double const)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double const)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (double)gpstk::Position::radiusEarth(arg1,arg2,arg3);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_radiusEarth__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Position_radiusEarth",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::Position const *)arg1)->radiusEarth();
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_radiusEarth(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_Position_radiusEarth__SWIG_1(self,args);
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_Position_radiusEarth__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Position_radiusEarth'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_elevation(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ gpstk::Position *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_elevation",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (double)((gpstk::Position const *)arg1)->elevation((gpstk::Position const &)*arg2);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_azimuth(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ gpstk::Position *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Position_azimuth",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (double)((gpstk::Position const *)arg1)->azimuth((gpstk::Position const &)*arg2);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Position_getIonosphericPiercePoint(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+ double arg2 ;
+ double arg3 ;
+ double arg4 ;
+ gpstk::Position result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_getIonosphericPiercePoint",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double const)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double const)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double const)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::Position const *)arg1)->getIonosphericPiercePoint(arg2,arg3,arg4);
+ }
+ catch(gpstk::GeometryException &_e) {
+ {
+ gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+ if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::Position * resultptr;
+ resultptr = new gpstk::Position((gpstk::Position &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * Position_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__Position, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ECEF__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ECEF *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_ECEF")) goto fail;
+ result = (gpstk::ECEF *)new gpstk::ECEF();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ECEF, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ECEF__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ECEF *arg1 = 0 ;
+ gpstk::ECEF *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_ECEF",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::ECEF *)new gpstk::ECEF((gpstk::ECEF const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ECEF, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ECEF__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ gpstk::ECEF *result;
+ double temp1 ;
+ double temp2 ;
+ double temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_ECEF",&obj0,&obj1,&obj2)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ result = (gpstk::ECEF *)new gpstk::ECEF((double const &)*arg1,(double const &)*arg2,(double const &)*arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ECEF, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ECEF__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::ECEF *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_ECEF",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::ECEF *)new gpstk::ECEF((gpstk::Triple const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ECEF, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ECEF(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_ECEF__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_ECEF__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_ECEF__SWIG_3(self,args);
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_new_ECEF__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_ECEF'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ECEF(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ECEF *arg1 = (gpstk::ECEF *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ECEF",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ECEF_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ECEF *arg1 = (gpstk::ECEF *) 0 ;
+ gpstk::ECEF *arg2 = 0 ;
+ gpstk::ECEF *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ECEF_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::ECEF &_result_ref = (arg1)->operator =((gpstk::ECEF const &)*arg2);
+ result = (gpstk::ECEF *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ECEF, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ECEF_asGeodetic(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ECEF *arg1 = (gpstk::ECEF *) 0 ;
+ GeoidModel *arg2 = (GeoidModel *) 0 ;
+ gpstk::Geodetic result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ECEF_asGeodetic",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ result = (arg1)->asGeodetic(arg2);
+
+ {
+ gpstk::Geodetic * resultptr;
+ resultptr = new gpstk::Geodetic((gpstk::Geodetic &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Geodetic, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ECEF_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__ECEF, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_GeoidModel_a(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_a",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::GeoidModel const *)arg1)->a();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_a_km(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_a_km",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::GeoidModel const *)arg1)->a_km();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_flattening(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_flattening",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::GeoidModel const *)arg1)->flattening();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_eccentricity(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_eccentricity",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::GeoidModel const *)arg1)->eccentricity();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_eccSquared(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_eccSquared",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::GeoidModel const *)arg1)->eccSquared();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_angVelocity(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_angVelocity",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::GeoidModel const *)arg1)->angVelocity();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_gm(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_gm",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::GeoidModel const *)arg1)->gm();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_gm_km(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_gm_km",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::GeoidModel const *)arg1)->gm_km();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_c(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_c",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::GeoidModel const *)arg1)->c();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_c_km(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_c_km",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::GeoidModel const *)arg1)->c_km();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_GeoidModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_GeoidModel",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * GeoidModel_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__GeoidModel, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Xvt(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_Xvt")) goto fail;
+ result = (gpstk::Xvt *)new gpstk::Xvt();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Xvt, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_x_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+ gpstk::ECEF *arg2 = (gpstk::ECEF *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Xvt_x_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->x = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_x_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+ gpstk::ECEF *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Xvt_x_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::ECEF *)& ((arg1)->x);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ECEF, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_v_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+ gpstk::Triple *arg2 = (gpstk::Triple *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Xvt_v_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->v = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_v_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+ gpstk::Triple *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Xvt_v_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::Triple *)& ((arg1)->v);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_dtime_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Xvt_dtime_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->dtime = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_dtime_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Xvt_dtime_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->dtime);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_ddtime_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Xvt_ddtime_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->ddtime = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_ddtime_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Xvt_ddtime_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->ddtime);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_preciseRho__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+ gpstk::ECEF *arg2 = 0 ;
+ gpstk::GeoidModel *arg3 = 0 ;
+ double arg4 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:Xvt_preciseRho",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ result = (double)((gpstk::Xvt const *)arg1)->preciseRho((gpstk::ECEF const &)*arg2,(gpstk::GeoidModel const &)*arg3,arg4);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_preciseRho__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+ gpstk::ECEF *arg2 = 0 ;
+ gpstk::GeoidModel *arg3 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:Xvt_preciseRho",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (double)((gpstk::Xvt const *)arg1)->preciseRho((gpstk::ECEF const &)*arg2,(gpstk::GeoidModel const &)*arg3);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_preciseRho(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_Xvt_preciseRho__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ return _wrap_Xvt_preciseRho__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Xvt_preciseRho'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_Xvt(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_Xvt",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * Xvt_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__Xvt, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_Xvt_streamRead(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::Xvt *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Xvt_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Xvt");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::Xvt const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NoGeoidException *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_NoGeoidException")) goto fail;
+ result = (gpstk::NoGeoidException *)new gpstk::NoGeoidException();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NoGeoidException *arg1 = 0 ;
+ gpstk::NoGeoidException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_NoGeoidException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NoGeoidException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::NoGeoidException");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::NoGeoidException *)new gpstk::NoGeoidException((gpstk::NoGeoidException const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::NoGeoidException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_NoGeoidException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::NoGeoidException *)new gpstk::NoGeoidException((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::NoGeoidException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_NoGeoidException",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (gpstk::NoGeoidException *)new gpstk::NoGeoidException(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::NoGeoidException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_NoGeoidException",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (gpstk::NoGeoidException *)new gpstk::NoGeoidException(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ gpstk::NoGeoidException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_NoGeoidException",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (gpstk::NoGeoidException *)new gpstk::NoGeoidException(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_NoGeoidException__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NoGeoidException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_NoGeoidException__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_NoGeoidException__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_NoGeoidException__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_NoGeoidException__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_NoGeoidException__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_NoGeoidException'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_NoGeoidException(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NoGeoidException *arg1 = (gpstk::NoGeoidException *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_NoGeoidException",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NoGeoidException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NoGeoidException_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NoGeoidException *arg1 = (gpstk::NoGeoidException *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:NoGeoidException_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NoGeoidException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::NoGeoidException const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_NoGeoidException_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::NoGeoidException *arg1 = (gpstk::NoGeoidException *) 0 ;
+ gpstk::NoGeoidException *arg2 = 0 ;
+ gpstk::NoGeoidException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:NoGeoidException_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NoGeoidException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__NoGeoidException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::NoGeoidException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::NoGeoidException &_result_ref = (arg1)->operator =((gpstk::NoGeoidException const &)*arg2);
+ result = (gpstk::NoGeoidException *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_12(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::NoGeoidException *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__NoGeoidException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::NoGeoidException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::NoGeoidException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * NoGeoidException_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__NoGeoidException, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Geodetic__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Geodetic *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_Geodetic")) goto fail;
+ result = (gpstk::Geodetic *)new gpstk::Geodetic();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Geodetic *arg1 = 0 ;
+ gpstk::Geodetic *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_Geodetic",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Geodetic");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::Geodetic *)new gpstk::Geodetic((gpstk::Geodetic const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ gpstk::GeoidModel *arg4 = (gpstk::GeoidModel *) 0 ;
+ gpstk::Geodetic *result;
+ double temp1 ;
+ double temp2 ;
+ double temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:new_Geodetic",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ result = (gpstk::Geodetic *)new gpstk::Geodetic((double const &)*arg1,(double const &)*arg2,(double const &)*arg3,arg4);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double *arg1 = 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ gpstk::Geodetic *result;
+ double temp1 ;
+ double temp2 ;
+ double temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_Geodetic",&obj0,&obj1,&obj2)) goto fail;
+ {
+ temp1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = &temp1;
+ }
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ result = (gpstk::Geodetic *)new gpstk::Geodetic((double const &)*arg1,(double const &)*arg2,(double const &)*arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::GeoidModel *arg2 = (gpstk::GeoidModel *) 0 ;
+ gpstk::Geodetic *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_Geodetic",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ result = (gpstk::Geodetic *)new gpstk::Geodetic((gpstk::Triple const &)*arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Triple *arg1 = 0 ;
+ gpstk::Geodetic *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_Geodetic",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Triple");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::Geodetic *)new gpstk::Geodetic((gpstk::Triple const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic__SWIG_6(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ECEF *arg1 = 0 ;
+ gpstk::GeoidModel *arg2 = (gpstk::GeoidModel *) 0 ;
+ gpstk::Geodetic *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_Geodetic",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ try {
+ result = (gpstk::Geodetic *)new gpstk::Geodetic((gpstk::ECEF const &)*arg1,arg2);
+ }
+ catch(gpstk::NoGeoidException &_e) {
+ {
+ gpstk::NoGeoidException * temp = new gpstk::NoGeoidException(_e);
+ if (SWIGTYPE_p_gpstk__NoGeoidException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__NoGeoidException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__NoGeoidException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::NoGeoidException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__NoGeoidException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_Geodetic__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Geodetic, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_Geodetic__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_Geodetic__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_Geodetic__SWIG_6(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_Geodetic__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_new_Geodetic__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_Geodetic__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_Geodetic'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_Geodetic(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Geodetic *arg1 = (gpstk::Geodetic *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_Geodetic",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Geodetic_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Geodetic *arg1 = (gpstk::Geodetic *) 0 ;
+ gpstk::Geodetic *arg2 = 0 ;
+ gpstk::Geodetic *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:Geodetic_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::Geodetic");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::Geodetic &_result_ref = (arg1)->operator =((gpstk::Geodetic const &)*arg2);
+ result = (gpstk::Geodetic *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Geodetic_asECEF(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Geodetic *arg1 = (gpstk::Geodetic *) 0 ;
+ gpstk::ECEF result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Geodetic_asECEF",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = ((gpstk::Geodetic const *)arg1)->asECEF();
+ }
+ catch(gpstk::NoGeoidException &_e) {
+ {
+ gpstk::NoGeoidException * temp = new gpstk::NoGeoidException(_e);
+ if (SWIGTYPE_p_gpstk__NoGeoidException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__NoGeoidException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__NoGeoidException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::NoGeoidException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__NoGeoidException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::ECEF * resultptr;
+ resultptr = new gpstk::ECEF((gpstk::ECEF &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ECEF, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Geodetic_getLatitude(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Geodetic *arg1 = (gpstk::Geodetic *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Geodetic_getLatitude",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::Geodetic const *)arg1)->getLatitude();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Geodetic_getLongitude(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Geodetic *arg1 = (gpstk::Geodetic *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Geodetic_getLongitude",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::Geodetic const *)arg1)->getLongitude();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_Geodetic_getAltitude(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Geodetic *arg1 = (gpstk::Geodetic *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:Geodetic_getAltitude",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::Geodetic const *)arg1)->getAltitude();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * Geodetic_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__Geodetic, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RAIMSolution(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_RAIMSolution")) goto fail;
+ try {
+ result = (gpstk::RAIMSolution *)new gpstk::RAIMSolution();
+ }
+ catch(gpstk::Exception &_e) {
+ {
+ gpstk::Exception * temp = new gpstk::Exception(_e);
+ if (SWIGTYPE_p_gpstk__Exception->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__Exception->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__Exception,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::Exception");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__Exception,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RAIMSolution, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Compute(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ DayTime *arg2 = 0 ;
+ std::vector<gpstk::RinexPrn > *arg3 = 0 ;
+ std::vector<double > *arg4 = 0 ;
+ gpstk::EphemerisStore *arg5 = 0 ;
+ gpstk::TropModel *arg6 = (gpstk::TropModel *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOO:RAIMSolution_Compute",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("std::vector<gpstk::RinexPrn >");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("std::vector<double >");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ try {
+ result = (int)(arg1)->Compute((DayTime const &)*arg2,*arg3,*arg4,(gpstk::EphemerisStore const &)*arg5,arg6);
+ }
+ catch(gpstk::Exception &_e) {
+ {
+ gpstk::Exception * temp = new gpstk::Exception(_e);
+ if (SWIGTYPE_p_gpstk__Exception->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__Exception->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__Exception,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::Exception");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__Exception,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_isValid(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_isValid",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)((gpstk::RAIMSolution const *)arg1)->isValid();
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_RMSLimit_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_RMSLimit_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->RMSLimit = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_RMSLimit_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_RMSLimit_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->RMSLimit);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_SlopeLimit_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_SlopeLimit_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->SlopeLimit = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_SlopeLimit_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_SlopeLimit_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->SlopeLimit);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Algebraic_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ bool arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Algebraic_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (bool)(SWIG_As_bool(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Algebraic = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Algebraic_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Algebraic_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool) ((arg1)->Algebraic);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_ResidualCriterion_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ bool arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_ResidualCriterion_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (bool)(SWIG_As_bool(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->ResidualCriterion = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_ResidualCriterion_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_ResidualCriterion_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool) ((arg1)->ResidualCriterion);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_ReturnAtOnce_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ bool arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_ReturnAtOnce_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (bool)(SWIG_As_bool(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->ReturnAtOnce = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_ReturnAtOnce_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_ReturnAtOnce_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool) ((arg1)->ReturnAtOnce);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_NSatsReject_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_NSatsReject_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->NSatsReject = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_NSatsReject_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_NSatsReject_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int) ((arg1)->NSatsReject);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Debug_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ bool arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Debug_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (bool)(SWIG_As_bool(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Debug = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Debug_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Debug_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool) ((arg1)->Debug);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_pDebugStream_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ std::ostream *arg2 = (std::ostream *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_pDebugStream_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->pDebugStream = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_pDebugStream_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_pDebugStream_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (std::ostream *) ((arg1)->pDebugStream);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_MaxNIterations_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_MaxNIterations_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->MaxNIterations = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_MaxNIterations_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_MaxNIterations_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int) ((arg1)->MaxNIterations);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_ConvergenceLimit_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_ConvergenceLimit_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->ConvergenceLimit = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_ConvergenceLimit_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_ConvergenceLimit_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->ConvergenceLimit);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Valid_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ bool arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Valid_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (bool)(SWIG_As_bool(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Valid = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Valid_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Valid_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool) ((arg1)->Valid);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Solution_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ Vector<double > arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Solution_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ Vector<double > * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_VectorTdouble_t, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("Vector<double >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ if (arg1) (arg1)->Solution = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Solution_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ Vector<double > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Solution_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((arg1)->Solution);
+
+ {
+ Vector<double > * resultptr;
+ resultptr = new Vector<double >((Vector<double > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_VectorTdouble_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Covariance_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ Matrix<double > arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Covariance_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ Matrix<double > * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_MatrixTdouble_t, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("Matrix<double >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ if (arg1) (arg1)->Covariance = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Covariance_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ Matrix<double > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Covariance_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((arg1)->Covariance);
+
+ {
+ Matrix<double > * resultptr;
+ resultptr = new Matrix<double >((Matrix<double > &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_MatrixTdouble_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_RMSResidual_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_RMSResidual_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->RMSResidual = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_RMSResidual_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_RMSResidual_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->RMSResidual);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_MaxSlope_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_MaxSlope_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->MaxSlope = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_MaxSlope_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_MaxSlope_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->MaxSlope);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_NIterations_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_NIterations_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->NIterations = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_NIterations_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_NIterations_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int) ((arg1)->NIterations);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Convergence_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Convergence_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Convergence = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Convergence_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Convergence_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->Convergence);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Nsvs_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ int arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Nsvs_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->Nsvs = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Nsvs_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Nsvs_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (int) ((arg1)->Nsvs);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_RAIMSolution(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_RAIMSolution",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * RAIMSolution_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__RAIMSolution, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_PrepareAutonomousSolution(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ DayTime *arg1 = 0 ;
+ std::vector<gpstk::RinexPrn > *arg2 = 0 ;
+ std::vector<double > *arg3 = 0 ;
+ gpstk::EphemerisStore *arg4 = 0 ;
+ Matrix<double > *arg5 = 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:PrepareAutonomousSolution",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::vector<gpstk::RinexPrn >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("std::vector<double >");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_MatrixTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("Matrix<double >");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ result = (int)gpstk::PrepareAutonomousSolution((DayTime const &)*arg1,*arg2,*arg3,(gpstk::EphemerisStore const &)*arg4,*arg5);
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_AutonomousPRSolution(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ DayTime *arg1 = 0 ;
+ Vector<bool > *arg2 = 0 ;
+ Matrix<double > arg3 ;
+ gpstk::TropModel *arg4 = (gpstk::TropModel *) 0 ;
+ bool arg5 ;
+ int *arg6 = 0 ;
+ double *arg7 = 0 ;
+ Vector<double > *arg8 = 0 ;
+ Matrix<double > *arg9 = 0 ;
+ Vector<double > *arg10 = 0 ;
+ Vector<double > *arg11 = 0 ;
+ int result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+ PyObject * obj9 = 0 ;
+ PyObject * obj10 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOO:AutonomousPRSolution",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_VectorTbool_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("Vector<bool >");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ Matrix<double > * argp;
+ SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_MatrixTdouble_t, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("Matrix<double >");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = *argp;
+ }
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ {
+ arg5 = (bool const)(SWIG_As_bool(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ if (arg7 == NULL) {
+ SWIG_null_ref("double");
+ }
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_VectorTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ if (arg8 == NULL) {
+ SWIG_null_ref("Vector<double >");
+ }
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj8, (void **)&arg9, SWIGTYPE_p_MatrixTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(9)) SWIG_fail;
+ if (arg9 == NULL) {
+ SWIG_null_ref("Matrix<double >");
+ }
+ if (SWIG_arg_fail(9)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj9, (void **)&arg10, SWIGTYPE_p_VectorTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(10)) SWIG_fail;
+ if (arg10 == NULL) {
+ SWIG_null_ref("Vector<double >");
+ }
+ if (SWIG_arg_fail(10)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj10, (void **)&arg11, SWIGTYPE_p_VectorTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(11)) SWIG_fail;
+ if (arg11 == NULL) {
+ SWIG_null_ref("Vector<double >");
+ }
+ if (SWIG_arg_fail(11)) SWIG_fail;
+ }
+ try {
+ result = (int)gpstk::AutonomousPRSolution((DayTime const &)*arg1,(Vector<bool > const &)*arg2,arg3,arg4,arg5,*arg6,*arg7,*arg8,*arg9,*arg10,*arg11);
+ }
+ catch(gpstk::Exception &_e) {
+ {
+ gpstk::Exception * temp = new gpstk::Exception(_e);
+ if (SWIGTYPE_p_gpstk__Exception->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__Exception->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__Exception,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::Exception");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__Exception,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_int((int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_CorrectedEphemerisRange(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_CorrectedEphemerisRange")) goto fail;
+ result = (gpstk::CorrectedEphemerisRange *)new gpstk::CorrectedEphemerisRange();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__CorrectedEphemerisRange, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_ComputeAtReceiveTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ DayTime *arg2 = 0 ;
+ gpstk::Position *arg3 = 0 ;
+ int arg4 ;
+ gpstk::EphemerisStore *arg5 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:CorrectedEphemerisRange_ComputeAtReceiveTime",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (int const)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ result = (double)(arg1)->ComputeAtReceiveTime((DayTime const &)*arg2,(gpstk::Position const &)*arg3,arg4,(gpstk::EphemerisStore const &)*arg5);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_ComputeAtTransmitTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ DayTime *arg2 = 0 ;
+ double *arg3 = 0 ;
+ gpstk::Position *arg4 = 0 ;
+ int arg5 ;
+ gpstk::EphemerisStore *arg6 = 0 ;
+ double result;
+ double temp3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOO:CorrectedEphemerisRange_ComputeAtTransmitTime",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ temp3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = &temp3;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::Position");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (int const)(SWIG_As_int(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ result = (double)(arg1)->ComputeAtTransmitTime((DayTime const &)*arg2,(double const &)*arg3,(gpstk::Position const &)*arg4,arg5,(gpstk::EphemerisStore const &)*arg6);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_rawrange_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_rawrange_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->rawrange = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_rawrange_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_rawrange_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->rawrange);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_svclkbias_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_svclkbias_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->svclkbias = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_svclkbias_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_svclkbias_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->svclkbias);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_svclkdrift_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_svclkdrift_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->svclkdrift = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_svclkdrift_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_svclkdrift_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->svclkdrift);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_relativity_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_relativity_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->relativity = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_relativity_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_relativity_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->relativity);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_elevation_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_elevation_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->elevation = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_elevation_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_elevation_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->elevation);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_azimuth_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_azimuth_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->azimuth = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_azimuth_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_azimuth_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->azimuth);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_transmit_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ DayTime *arg2 = (DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_transmit_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->transmit = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_transmit_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_transmit_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (DayTime *)& ((arg1)->transmit);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_cosines_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ gpstk::Triple *arg2 = (gpstk::Triple *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_cosines_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->cosines = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_cosines_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ gpstk::Triple *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_cosines_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::Triple *)& ((arg1)->cosines);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_svPosVel_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ gpstk::Xvt *arg2 = (gpstk::Xvt *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_svPosVel_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->svPosVel = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_svPosVel_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ gpstk::Xvt *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_svPosVel_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::Xvt *)& ((arg1)->svPosVel);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Xvt, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_CorrectedEphemerisRange(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_CorrectedEphemerisRange",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * CorrectedEphemerisRange_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__CorrectedEphemerisRange, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_RelativityCorrection(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Xvt *arg1 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:RelativityCorrection",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Xvt");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (double)gpstk::RelativityCorrection((gpstk::Xvt const &)*arg1);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_EngNav(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngNav *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_EngNav")) goto fail;
+ result = (gpstk::EngNav *)new gpstk::EngNav();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngNav, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_EngNav(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngNav *arg1 = (gpstk::EngNav *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_EngNav",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngNav, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngNav_subframeParity(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ long *arg1 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngNav_subframeParity",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool)gpstk::EngNav::subframeParity((long const (*))arg1);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngNav_subframeConvert(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ long *arg1 ;
+ long arg2 ;
+ double *arg3 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:EngNav_subframeConvert",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long const)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ result = (bool)gpstk::EngNav::subframeConvert((long const (*))arg1,arg2,arg3);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngNav_convert8bit(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ long arg1 ;
+ double *arg2 = (double *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngNav_convert8bit",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (long const)(SWIG_As_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ result = (bool)gpstk::EngNav::convert8bit(arg1,arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngNav_convert10bit(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ long arg1 ;
+ double *arg2 = (double *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngNav_convert10bit",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (long const)(SWIG_As_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ result = (bool)gpstk::EngNav::convert10bit(arg1,arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngNav_getSubframePattern(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ long *arg1 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngNav_getSubframePattern",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)gpstk::EngNav::getSubframePattern((long const (*))arg1);
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * EngNav_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__EngNav, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_EngAlmanac(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_EngAlmanac")) goto fail;
+ result = (gpstk::EngAlmanac *)new gpstk::EngAlmanac();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngAlmanac, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_EngAlmanac(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_EngAlmanac",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_addSubframe(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ long *arg2 ;
+ long arg3 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:EngAlmanac_addSubframe",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ arg3 = (long const)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = (bool)(arg1)->addSubframe((long const (*))arg2,arg3);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_isData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_isData",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::EngAlmanac const *)arg1)->isData(arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getEcc(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getEcc",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getEcc(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getIOffset(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getIOffset",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getIOffset(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getOmegadot(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getOmegadot",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getOmegadot(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getSVHealth(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ short result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getSVHealth",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (short)((gpstk::EngAlmanac const *)arg1)->getSVHealth(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getAhalf(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getAhalf",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getAhalf(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getA(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getA",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getA(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getOmega0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getOmega0",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getOmega0(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getW(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getW",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getW(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getM0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getM0",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getM0(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getAf0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getAf0",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getAf0(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getAf1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getAf1",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getAf1(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getToa__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngAlmanac_getToa",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getToa();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getToa__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getToa",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getToa(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getToa(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EngAlmanac, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_EngAlmanac_getToa__SWIG_0(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EngAlmanac, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ return _wrap_EngAlmanac_getToa__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'EngAlmanac_getToa'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getXmitTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getXmitTime",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngAlmanac const *)arg1)->getXmitTime(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getFullWeek(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ short result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getFullWeek",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (short)((gpstk::EngAlmanac const *)arg1)->getFullWeek(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getIon(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ double *arg2 ;
+ double *arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:EngAlmanac_getIon",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ try {
+ ((gpstk::EngAlmanac const *)arg1)->getIon(arg2,arg3);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getUTC(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ double *arg2 = 0 ;
+ double *arg3 = 0 ;
+ double *arg4 = 0 ;
+ long *arg5 = 0 ;
+ int *arg6 = 0 ;
+ int *arg7 = 0 ;
+ int *arg8 = 0 ;
+ double *arg9 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:EngAlmanac_getUTC",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("double");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("double");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("double");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("long");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ if (arg7 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ if (arg8 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj8, (void **)&arg9, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(9)) SWIG_fail;
+ if (arg9 == NULL) {
+ SWIG_null_ref("double");
+ }
+ if (SWIG_arg_fail(9)) SWIG_fail;
+ }
+ try {
+ ((gpstk::EngAlmanac const *)arg1)->getUTC(*arg2,*arg3,*arg4,*arg5,*arg6,*arg7,*arg8,*arg9);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getAlmWeek(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngAlmanac_getAlmWeek",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::EngAlmanac const *)arg1)->getAlmWeek();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getAlmOrbElem(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ gpstk::AlmOrbit result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getAlmOrbElem",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::EngAlmanac const *)arg1)->getAlmOrbElem(arg2);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::AlmOrbit * resultptr;
+ resultptr = new gpstk::AlmOrbit((gpstk::AlmOrbit &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__AlmOrbit, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getAlmOrbElems(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ SwigValueWrapper<std::map<short,gpstk::AlmOrbit,std::less<short >,std::allocator<std::pair<short const,gpstk::AlmOrbit > > > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngAlmanac_getAlmOrbElems",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::EngAlmanac const *)arg1)->getAlmOrbElems();
+
+ {
+ gpstk::AlmOrbits * resultptr;
+ resultptr = new gpstk::AlmOrbits((gpstk::AlmOrbits &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_svXvt(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+ short arg2 ;
+ DayTime *arg3 = 0 ;
+ gpstk::Xvt result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:EngAlmanac_svXvt",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::EngAlmanac const *)arg1)->svXvt(arg2,(DayTime const &)*arg3);
+ }
+ catch(SVNotPresentException &_e) {
+ {
+ SVNotPresentException * temp = new SVNotPresentException(_e);
+ if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::Xvt * resultptr;
+ resultptr = new gpstk::Xvt((gpstk::Xvt &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Xvt, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * EngAlmanac_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__EngAlmanac, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_EngEphemeris(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_EngEphemeris")) goto fail;
+ result = (gpstk::EngEphemeris *)new gpstk::EngEphemeris();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_EngEphemeris(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_EngEphemeris",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_addSubframe(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ long *arg2 ;
+ long arg3 ;
+ short arg4 ;
+ short arg5 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:EngEphemeris_addSubframe",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ {
+ arg3 = (long const)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (short)(SWIG_As_short(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ try {
+ result = (bool)(arg1)->addSubframe((long const (*))arg2,arg3,arg4,arg5);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_isData(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short arg2 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_isData",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (bool)((gpstk::EngEphemeris const *)arg1)->isData(arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_setAccuracy(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double *arg2 = 0 ;
+ double temp2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_setAccuracy",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ temp2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = &temp2;
+ }
+ try {
+ (arg1)->setAccuracy((double const &)*arg2);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getFitInterval(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getFitInterval",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (short)((gpstk::EngEphemeris const *)arg1)->getFitInterval();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTLMPreamble(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ unsigned char result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getTLMPreamble",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned char)((gpstk::EngEphemeris const *)arg1)->getTLMPreamble();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_char((unsigned char)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTLMMessage(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short arg2 ;
+ unsigned int result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_getTLMMessage",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (unsigned int)((gpstk::EngEphemeris const *)arg1)->getTLMMessage(arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getEphemerisEpoch(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ DayTime result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getEphemerisEpoch",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = ((gpstk::EngEphemeris const *)arg1)->getEphemerisEpoch();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ DayTime * resultptr;
+ resultptr = new DayTime((DayTime &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getEpochTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ DayTime result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getEpochTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = ((gpstk::EngEphemeris const *)arg1)->getEpochTime();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ DayTime * resultptr;
+ resultptr = new DayTime((DayTime &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTransmitTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ DayTime result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getTransmitTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = ((gpstk::EngEphemeris const *)arg1)->getTransmitTime();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ DayTime * resultptr;
+ resultptr = new DayTime((DayTime &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTimestamp(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ DayTime result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getTimestamp",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = ((gpstk::EngEphemeris const *)arg1)->getTimestamp();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ DayTime * resultptr;
+ resultptr = new DayTime((DayTime &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getPRNID(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getPRNID",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (short)((gpstk::EngEphemeris const *)arg1)->getPRNID();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTracker(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getTracker",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (short)((gpstk::EngEphemeris const *)arg1)->getTracker();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getHOWTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short arg2 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_getHOWTime",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getHOWTime(arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getASAlert(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short arg2 ;
+ short result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_getASAlert",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (short)((gpstk::EngEphemeris const *)arg1)->getASAlert(arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getFullWeek(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getFullWeek",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (short)((gpstk::EngEphemeris const *)arg1)->getFullWeek();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCodeFlags(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCodeFlags",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (short)((gpstk::EngEphemeris const *)arg1)->getCodeFlags();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getAccuracy(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getAccuracy",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getAccuracy();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getAccFlag(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getAccFlag",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (short)((gpstk::EngEphemeris const *)arg1)->getAccFlag();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getHealth(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getHealth",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (short)((gpstk::EngEphemeris const *)arg1)->getHealth();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getL2Pdata(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getL2Pdata",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (short)((gpstk::EngEphemeris const *)arg1)->getL2Pdata();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getIODC(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getIODC",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (short)((gpstk::EngEphemeris const *)arg1)->getIODC();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getIODE(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getIODE",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (short)((gpstk::EngEphemeris const *)arg1)->getIODE();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getToc(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getToc",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getToc();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getAf0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getAf0",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getAf0();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getAf1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getAf1",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getAf1();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getAf2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getAf2",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getAf2();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTgd(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getTgd",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getTgd();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCus(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCus",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getCus();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCrs(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCrs",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getCrs();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCis(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCis",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getCis();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCrc(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCrc",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getCrc();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCuc(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCuc",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getCuc();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCic(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCic",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getCic();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getToe(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getToe",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getToe();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getM0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getM0",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getM0();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getDn(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getDn",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getDn();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getEcc(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getEcc",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getEcc();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getAhalf(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getAhalf",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getAhalf();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getA(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getA",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getA();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getOmega0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getOmega0",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getOmega0();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getI0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getI0",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getI0();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getW(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getW",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getW();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getOmegaDot(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getOmegaDot",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getOmegaDot();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getIDot(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getIDot",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->getIDot();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_svXvt(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ DayTime *arg2 = 0 ;
+ gpstk::Xvt result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_svXvt",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::EngEphemeris const *)arg1)->svXvt((DayTime const &)*arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::Xvt * resultptr;
+ resultptr = new gpstk::Xvt((gpstk::Xvt &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Xvt, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_svRelativity(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ DayTime *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_svRelativity",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->svRelativity((DayTime const &)*arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_svClockBias(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ DayTime *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_svClockBias",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->svClockBias((DayTime const &)*arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_svClockDrift(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ DayTime *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_svClockDrift",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (double)((gpstk::EngEphemeris const *)arg1)->svClockDrift((DayTime const &)*arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getFitInt(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getFitInt",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (short)((gpstk::EngEphemeris const *)arg1)->getFitInt();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTot(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getTot",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = (long)((gpstk::EngEphemeris const *)arg1)->getTot();
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_long((long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_setSF1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ unsigned int arg2 ;
+ double arg3 ;
+ short arg4 ;
+ short arg5 ;
+ short arg6 ;
+ short arg7 ;
+ short arg8 ;
+ short arg9 ;
+ short arg10 ;
+ double arg11 ;
+ double arg12 ;
+ double arg13 ;
+ double arg14 ;
+ double arg15 ;
+ short arg16 ;
+ short arg17 ;
+ gpstk::EngEphemeris *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+ PyObject * obj9 = 0 ;
+ PyObject * obj10 = 0 ;
+ PyObject * obj11 = 0 ;
+ PyObject * obj12 = 0 ;
+ PyObject * obj13 = 0 ;
+ PyObject * obj14 = 0 ;
+ PyObject * obj15 = 0 ;
+ PyObject * obj16 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOOOOOOOO:EngEphemeris_setSF1",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11,&obj12,&obj13,&obj14,&obj15,&obj16)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (short)(SWIG_As_short(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ arg6 = (short)(SWIG_As_short(obj5));
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ arg7 = (short)(SWIG_As_short(obj6));
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ arg8 = (short)(SWIG_As_short(obj7));
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ {
+ arg9 = (short)(SWIG_As_short(obj8));
+ if (SWIG_arg_fail(9)) SWIG_fail;
+ }
+ {
+ arg10 = (short)(SWIG_As_short(obj9));
+ if (SWIG_arg_fail(10)) SWIG_fail;
+ }
+ {
+ arg11 = (double)(SWIG_As_double(obj10));
+ if (SWIG_arg_fail(11)) SWIG_fail;
+ }
+ {
+ arg12 = (double)(SWIG_As_double(obj11));
+ if (SWIG_arg_fail(12)) SWIG_fail;
+ }
+ {
+ arg13 = (double)(SWIG_As_double(obj12));
+ if (SWIG_arg_fail(13)) SWIG_fail;
+ }
+ {
+ arg14 = (double)(SWIG_As_double(obj13));
+ if (SWIG_arg_fail(14)) SWIG_fail;
+ }
+ {
+ arg15 = (double)(SWIG_As_double(obj14));
+ if (SWIG_arg_fail(15)) SWIG_fail;
+ }
+ {
+ arg16 = (short)(SWIG_As_short(obj15));
+ if (SWIG_arg_fail(16)) SWIG_fail;
+ }
+ {
+ arg17 = (short)(SWIG_As_short(obj16));
+ if (SWIG_arg_fail(17)) SWIG_fail;
+ }
+ {
+ gpstk::EngEphemeris &_result_ref = (arg1)->setSF1(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15,arg16,arg17);
+ result = (gpstk::EngEphemeris *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_setSF2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ unsigned int arg2 ;
+ double arg3 ;
+ short arg4 ;
+ short arg5 ;
+ double arg6 ;
+ double arg7 ;
+ double arg8 ;
+ double arg9 ;
+ double arg10 ;
+ double arg11 ;
+ double arg12 ;
+ double arg13 ;
+ short arg14 ;
+ gpstk::EngEphemeris *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+ PyObject * obj9 = 0 ;
+ PyObject * obj10 = 0 ;
+ PyObject * obj11 = 0 ;
+ PyObject * obj12 = 0 ;
+ PyObject * obj13 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOOOOO:EngEphemeris_setSF2",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11,&obj12,&obj13)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (short)(SWIG_As_short(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ arg6 = (double)(SWIG_As_double(obj5));
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ arg7 = (double)(SWIG_As_double(obj6));
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ arg8 = (double)(SWIG_As_double(obj7));
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ {
+ arg9 = (double)(SWIG_As_double(obj8));
+ if (SWIG_arg_fail(9)) SWIG_fail;
+ }
+ {
+ arg10 = (double)(SWIG_As_double(obj9));
+ if (SWIG_arg_fail(10)) SWIG_fail;
+ }
+ {
+ arg11 = (double)(SWIG_As_double(obj10));
+ if (SWIG_arg_fail(11)) SWIG_fail;
+ }
+ {
+ arg12 = (double)(SWIG_As_double(obj11));
+ if (SWIG_arg_fail(12)) SWIG_fail;
+ }
+ {
+ arg13 = (double)(SWIG_As_double(obj12));
+ if (SWIG_arg_fail(13)) SWIG_fail;
+ }
+ {
+ arg14 = (short)(SWIG_As_short(obj13));
+ if (SWIG_arg_fail(14)) SWIG_fail;
+ }
+ {
+ gpstk::EngEphemeris &_result_ref = (arg1)->setSF2(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14);
+ result = (gpstk::EngEphemeris *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_setSF3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ unsigned int arg2 ;
+ double arg3 ;
+ short arg4 ;
+ double arg5 ;
+ double arg6 ;
+ double arg7 ;
+ double arg8 ;
+ double arg9 ;
+ double arg10 ;
+ double arg11 ;
+ double arg12 ;
+ gpstk::EngEphemeris *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+ PyObject * obj9 = 0 ;
+ PyObject * obj10 = 0 ;
+ PyObject * obj11 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOOO:EngEphemeris_setSF3",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (double)(SWIG_As_double(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ arg6 = (double)(SWIG_As_double(obj5));
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ arg7 = (double)(SWIG_As_double(obj6));
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ arg8 = (double)(SWIG_As_double(obj7));
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ {
+ arg9 = (double)(SWIG_As_double(obj8));
+ if (SWIG_arg_fail(9)) SWIG_fail;
+ }
+ {
+ arg10 = (double)(SWIG_As_double(obj9));
+ if (SWIG_arg_fail(10)) SWIG_fail;
+ }
+ {
+ arg11 = (double)(SWIG_As_double(obj10));
+ if (SWIG_arg_fail(11)) SWIG_fail;
+ }
+ {
+ arg12 = (double)(SWIG_As_double(obj11));
+ if (SWIG_arg_fail(12)) SWIG_fail;
+ }
+ {
+ gpstk::EngEphemeris &_result_ref = (arg1)->setSF3(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12);
+ result = (gpstk::EngEphemeris *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_dump__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::EngEphemeris const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_dump__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_dump",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ ((gpstk::EngEphemeris const *)arg1)->dump();
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_dump(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EngEphemeris, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_EngEphemeris_dump__SWIG_1(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EngEphemeris, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_EngEphemeris_dump__SWIG_0(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'EngEphemeris_dump'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_13(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::EngEphemeris *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::EngEphemeris");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::EngEphemeris const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * EngEphemeris_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__EngEphemeris, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static int _wrap_GPSZcount_ZCOUNT_MINUTE_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable GPSZcount_ZCOUNT_MINUTE is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_GPSZcount_ZCOUNT_MINUTE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::GPSZcount::ZCOUNT_MINUTE));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_GPSZcount_ZCOUNT_HOUR_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable GPSZcount_ZCOUNT_HOUR is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_GPSZcount_ZCOUNT_HOUR_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::GPSZcount::ZCOUNT_HOUR));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_GPSZcount_ZCOUNT_DAY_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable GPSZcount_ZCOUNT_DAY is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_GPSZcount_ZCOUNT_DAY_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::GPSZcount::ZCOUNT_DAY));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_GPSZcount_ZCOUNT_WEEK_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable GPSZcount_ZCOUNT_WEEK is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_GPSZcount_ZCOUNT_WEEK_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::GPSZcount::ZCOUNT_WEEK));
+ }
+ return pyobj;
+}
+
+
+static PyObject *_wrap_new_GPSZcount__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short arg1 ;
+ long arg2 ;
+ gpstk::GPSZcount *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_GPSZcount",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::GPSZcount *)new gpstk::GPSZcount(arg1,arg2);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GPSZcount__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ long arg1 ;
+ gpstk::GPSZcount *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_GPSZcount",&obj0)) goto fail;
+ {
+ arg1 = (long)(SWIG_As_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::GPSZcount *)new gpstk::GPSZcount(arg1);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GPSZcount__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_GPSZcount")) goto fail;
+ try {
+ result = (gpstk::GPSZcount *)new gpstk::GPSZcount();
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_GPSZcount(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_GPSZcount",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GPSZcount__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = 0 ;
+ gpstk::GPSZcount *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_GPSZcount",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (gpstk::GPSZcount *)new gpstk::GPSZcount((gpstk::GPSZcount const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_GPSZcount(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_GPSZcount__SWIG_2(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_GPSZcount__SWIG_3(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_Check_long(argv[0]);
+ if (_v) {
+ return _wrap_new_GPSZcount__SWIG_1(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_short(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_long(argv[1]);
+ if (_v) {
+ return _wrap_new_GPSZcount__SWIG_0(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_GPSZcount'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_getWeek(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GPSZcount_getWeek",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::GPSZcount const *)arg1)->getWeek();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_getZcount(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GPSZcount_getZcount",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (long)((gpstk::GPSZcount const *)arg1)->getZcount();
+
+ {
+ resultobj = SWIG_From_long((long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_getFullZcount(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GPSZcount_getFullZcount",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (long)((gpstk::GPSZcount const *)arg1)->getFullZcount();
+
+ {
+ resultobj = SWIG_From_long((long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_getTotalZcounts(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GPSZcount_getTotalZcounts",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::GPSZcount const *)arg1)->getTotalZcounts();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_setWeek(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ short arg2 ;
+ gpstk::GPSZcount *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_setWeek",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->setWeek(arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_setZcount(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long arg2 ;
+ gpstk::GPSZcount *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_setZcount",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->setZcount(arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_setFullZcount(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long arg2 ;
+ gpstk::GPSZcount *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_setFullZcount",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->setFullZcount(arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+ if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_addWeeks(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ short arg2 ;
+ gpstk::GPSZcount *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_addWeeks",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->addWeeks(arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_addZcounts(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long arg2 ;
+ gpstk::GPSZcount *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_addZcounts",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->addZcounts(arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___add__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long arg2 ;
+ gpstk::GPSZcount result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___add__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::GPSZcount const *)arg1)->operator +(arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::GPSZcount * resultptr;
+ resultptr = new gpstk::GPSZcount((gpstk::GPSZcount &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__GPSZcount, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___sub____SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long arg2 ;
+ gpstk::GPSZcount result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___sub__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = ((gpstk::GPSZcount const *)arg1)->operator -(arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::GPSZcount * resultptr;
+ resultptr = new gpstk::GPSZcount((gpstk::GPSZcount &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__GPSZcount, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___sub____SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___sub__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (double)((gpstk::GPSZcount const *)arg1)->operator -((gpstk::GPSZcount const &)*arg2);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___sub__(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_GPSZcount___sub____SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_long(argv[1]);
+ if (_v) {
+ return _wrap_GPSZcount___sub____SWIG_0(self,args);
+ }
+ }
+ }
+
+ Py_INCREF(Py_NotImplemented);
+ return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap_GPSZcount___iadd__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long arg2 ;
+ gpstk::GPSZcount *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___iadd__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->operator +=(arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___isub__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long arg2 ;
+ gpstk::GPSZcount *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___isub__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->operator -=(arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+ if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ gpstk::GPSZcount *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->operator =((gpstk::GPSZcount const &)*arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___lt__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___lt__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::GPSZcount const *)arg1)->operator <((gpstk::GPSZcount const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___gt__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___gt__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::GPSZcount const *)arg1)->operator >((gpstk::GPSZcount const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___eq__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___eq__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::GPSZcount const *)arg1)->operator ==((gpstk::GPSZcount const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___ne__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___ne__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::GPSZcount const *)arg1)->operator !=((gpstk::GPSZcount const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___le__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___le__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::GPSZcount const *)arg1)->operator <=((gpstk::GPSZcount const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___ge__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___ge__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::GPSZcount const *)arg1)->operator >=((gpstk::GPSZcount const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_operator_std_string(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:GPSZcount_operator_std_string",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::GPSZcount const *)arg1)->operator std::string();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_inSameTimeBlock__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ unsigned long arg3 ;
+ unsigned long arg4 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:GPSZcount_inSameTimeBlock",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (unsigned long)(SWIG_As_unsigned_SS_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (unsigned long)(SWIG_As_unsigned_SS_long(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ result = (bool)(arg1)->inSameTimeBlock((gpstk::GPSZcount const &)*arg2,arg3,arg4);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_inSameTimeBlock__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ unsigned long arg3 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:GPSZcount_inSameTimeBlock",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (unsigned long)(SWIG_As_unsigned_SS_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (bool)(arg1)->inSameTimeBlock((gpstk::GPSZcount const &)*arg2,arg3);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_inSameTimeBlock(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[2]);
+ if (_v) {
+ return _wrap_GPSZcount_inSameTimeBlock__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[3]);
+ if (_v) {
+ return _wrap_GPSZcount_inSameTimeBlock__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'GPSZcount_inSameTimeBlock'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_dump__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ std::ostream *arg2 = 0 ;
+ short arg3 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:GPSZcount_dump",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ ((gpstk::GPSZcount const *)arg1)->dump(*arg2,arg3);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_dump__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ ((gpstk::GPSZcount const *)arg1)->dump(*arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_dump(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_GPSZcount_dump__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ return _wrap_GPSZcount_dump__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'GPSZcount_dump'");
+ return NULL;
+}
+
+
+static PyObject * GPSZcount_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__GPSZcount, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap___lshift____SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__lshift__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = gpstk::operator <<(*arg1,(gpstk::GPSZcount const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ DayTimeException *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_DayTimeException")) goto fail;
+ result = (DayTimeException *)new DayTimeException();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ DayTimeException *arg1 = 0 ;
+ DayTimeException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_DayTimeException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_DayTimeException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("DayTimeException");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (DayTimeException *)new DayTimeException((DayTimeException const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ DayTimeException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_DayTimeException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (DayTimeException *)new DayTimeException((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ DayTimeException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_DayTimeException",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (DayTimeException *)new DayTimeException(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ DayTimeException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTimeException",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (DayTimeException *)new DayTimeException(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ DayTimeException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_DayTimeException",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (DayTimeException *)new DayTimeException(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_DayTimeException__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_DayTimeException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_DayTimeException__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_DayTimeException__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_DayTimeException__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_DayTimeException__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_DayTimeException__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_DayTimeException'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_DayTimeException(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ DayTimeException *arg1 = (DayTimeException *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_DayTimeException",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_DayTimeException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTimeException_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ DayTimeException *arg1 = (DayTimeException *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTimeException_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_DayTimeException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((DayTimeException const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTimeException_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ DayTimeException *arg1 = (DayTimeException *) 0 ;
+ DayTimeException *arg2 = 0 ;
+ DayTimeException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTimeException_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_DayTimeException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_DayTimeException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTimeException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ DayTimeException &_result_ref = (arg1)->operator =((DayTimeException const &)*arg2);
+ result = (DayTimeException *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTimeException_streamRead__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ DayTimeException *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTimeException_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_DayTimeException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("DayTimeException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(DayTimeException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * DayTimeException_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_DayTimeException, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FormatException__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ FormatException *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_FormatException")) goto fail;
+ result = (FormatException *)new FormatException();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FormatException__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ FormatException *arg1 = 0 ;
+ FormatException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FormatException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_FormatException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("FormatException");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (FormatException *)new FormatException((FormatException const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FormatException__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::Exception *arg1 = 0 ;
+ FormatException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FormatException",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::Exception");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (FormatException *)new FormatException((gpstk::Exception const &)*arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FormatException__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ FormatException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_FormatException",&obj0,&obj1,&obj2)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (FormatException *)new FormatException(arg1,arg2,arg3);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FormatException__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ unsigned long arg2 ;
+ FormatException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_FormatException",&obj0,&obj1)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (FormatException *)new FormatException(arg1,arg2);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FormatException__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::string arg1 ;
+ FormatException *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_FormatException",&obj0)) goto fail;
+ {
+ std::string *ptr = (std::string *)0;
+ int res = SWIG_AsPtr_std_string(obj0, &ptr);
+ if (!res) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj0);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *ptr;
+ if (res == SWIG_NEWOBJ) delete ptr;
+ }
+ result = (FormatException *)new FormatException(arg1);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_FormatException(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_FormatException__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_FormatException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_FormatException__SWIG_1(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_FormatException__SWIG_2(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ return _wrap_new_FormatException__SWIG_5(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_new_FormatException__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_FormatException__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FormatException'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_FormatException(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ FormatException *arg1 = (FormatException *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_FormatException",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_FormatException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FormatException_getName(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ FormatException *arg1 = (FormatException *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:FormatException_getName",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_FormatException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((FormatException const *)arg1)->getName();
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_FormatException_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ FormatException *arg1 = (FormatException *) 0 ;
+ FormatException *arg2 = 0 ;
+ FormatException *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:FormatException_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_FormatException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_FormatException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("FormatException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ FormatException &_result_ref = (arg1)->operator =((FormatException const &)*arg2);
+ result = (FormatException *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTimeException_streamRead__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ FormatException *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTimeException_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_FormatException, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("FormatException");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(FormatException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTimeException_streamRead(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_DayTimeException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_DayTimeException_streamRead__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_FormatException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_DayTimeException_streamRead__SWIG_1(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTimeException_streamRead'");
+ return NULL;
+}
+
+
+static PyObject * FormatException_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_FormatException, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static int _wrap_DayTime_FACTOR_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_FACTOR is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_FACTOR_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::DayTime::FACTOR));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_JD_TO_MJD_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_JD_TO_MJD is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_JD_TO_MJD_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::DayTime::JD_TO_MJD));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_MJD_JDAY_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_MJD_JDAY is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_MJD_JDAY_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::DayTime::MJD_JDAY));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_GPS_EPOCH_JDAY_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_GPS_EPOCH_JDAY is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_GPS_EPOCH_JDAY_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::DayTime::GPS_EPOCH_JDAY));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_GPS_EPOCH_MJD_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_GPS_EPOCH_MJD is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_GPS_EPOCH_MJD_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::DayTime::GPS_EPOCH_MJD));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_UNIX_MJD_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_UNIX_MJD is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_UNIX_MJD_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::DayTime::UNIX_MJD));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_HALFWEEK_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_HALFWEEK is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_HALFWEEK_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::DayTime::HALFWEEK));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_FULLWEEK_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_FULLWEEK is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_FULLWEEK_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::DayTime::FULLWEEK));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_SEC_DAY_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_SEC_DAY is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_SEC_DAY_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::DayTime::SEC_DAY));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_MS_PER_DAY_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_MS_PER_DAY is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_MS_PER_DAY_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::DayTime::MS_PER_DAY));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_ONE_NSEC_TOLERANCE_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_ONE_NSEC_TOLERANCE is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_ONE_NSEC_TOLERANCE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::DayTime::ONE_NSEC_TOLERANCE));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_ONE_USEC_TOLERANCE_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_ONE_USEC_TOLERANCE is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_ONE_USEC_TOLERANCE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::DayTime::ONE_USEC_TOLERANCE));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_ONE_MSEC_TOLERANCE_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_ONE_MSEC_TOLERANCE is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_ONE_MSEC_TOLERANCE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::DayTime::ONE_MSEC_TOLERANCE));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_ONE_SEC_TOLERANCE_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_ONE_SEC_TOLERANCE is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_ONE_SEC_TOLERANCE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::DayTime::ONE_SEC_TOLERANCE));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_ONE_MIN_TOLERANCE_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_ONE_MIN_TOLERANCE is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_ONE_MIN_TOLERANCE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::DayTime::ONE_MIN_TOLERANCE));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_ONE_HOUR_TOLERANCE_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_ONE_HOUR_TOLERANCE is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_ONE_HOUR_TOLERANCE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::DayTime::ONE_HOUR_TOLERANCE));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_DAYTIME_TOLERANCE_set(PyObject *_val) {
+ {
+ double temp = (double)(SWIG_As_double(_val));
+ if (PyErr_Occurred()) {
+ SWIG_append_errmsg("C/C++ variable 'gpstk::DayTime::DAYTIME_TOLERANCE (double)'");
+ return 1;
+ }
+ gpstk::DayTime::DAYTIME_TOLERANCE = temp;
+ }
+ return 0;
+}
+
+
+static PyObject *_wrap_DayTime_DAYTIME_TOLERANCE_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_double((double)(gpstk::DayTime::DAYTIME_TOLERANCE));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_BEGIN_LIMIT_JDAY_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_BEGIN_LIMIT_JDAY is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_BEGIN_LIMIT_JDAY_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::DayTime::BEGIN_LIMIT_JDAY));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_END_LIMIT_JDAY_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_END_LIMIT_JDAY is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_END_LIMIT_JDAY_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_long((long)(gpstk::DayTime::END_LIMIT_JDAY));
+ }
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_BEGINNING_OF_TIME_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_BEGINNING_OF_TIME is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_BEGINNING_OF_TIME_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::DayTime::BEGINNING_OF_TIME), SWIGTYPE_p_gpstk__DayTime, 0);
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_END_OF_TIME_set(PyObject *) {
+ PyErr_SetString(PyExc_TypeError,"Variable DayTime_END_OF_TIME is read-only.");
+ return 1;
+}
+
+
+static PyObject *_wrap_DayTime_END_OF_TIME_get(void) {
+ PyObject *pyobj = NULL;
+
+ pyobj = SWIG_NewPointerObj((void *)(&gpstk::DayTime::END_OF_TIME), SWIGTYPE_p_gpstk__DayTime, 0);
+ return pyobj;
+}
+
+
+static int _wrap_DayTime_DAYTIME_TEST_VALID_set(PyObject *_val) {
+ {
+ bool temp = (bool)(SWIG_As_bool(_val));
+ if (PyErr_Occurred()) {
+ SWIG_append_errmsg("C/C++ variable 'gpstk::DayTime::DAYTIME_TEST_VALID (bool)'");
+ return 1;
+ }
+ gpstk::DayTime::DAYTIME_TEST_VALID = temp;
+ }
+ return 0;
+}
+
+
+static PyObject *_wrap_DayTime_DAYTIME_TEST_VALID_get(void) {
+ PyObject *pyobj = NULL;
+
+ {
+ pyobj = SWIG_From_bool((bool)(gpstk::DayTime::DAYTIME_TEST_VALID));
+ }
+ return pyobj;
+}
+
+
+static PyObject *_wrap_DayTime_setDayTimeTolerance(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_setDayTimeTolerance",&obj0)) goto fail;
+ {
+ arg1 = (double const)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ result = (double)gpstk::DayTime::setDayTimeTolerance(arg1);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_getDayTimeTolerance(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double result;
+
+ if(!PyArg_ParseTuple(args,(char *)":DayTime_getDayTimeTolerance")) goto fail;
+ result = (double)gpstk::DayTime::getDayTimeTolerance();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setTolerance(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setTolerance",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double const)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setTolerance(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_getTolerance(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_getTolerance",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)(arg1)->getTolerance();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_DayTime")) goto fail;
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime();
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short arg1 ;
+ double arg2 ;
+ gpstk::DayTime::TimeFrame arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_DayTime",&obj0,&obj1,&obj2)) goto fail;
+ {
+ arg1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short arg1 ;
+ double arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTime",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short arg1 ;
+ double arg2 ;
+ short arg3 ;
+ gpstk::DayTime::TimeFrame arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:new_DayTime",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ arg1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3,arg4);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short arg1 ;
+ double arg2 ;
+ short arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_DayTime",&obj0,&obj1,&obj2)) goto fail;
+ {
+ arg1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short arg1 ;
+ long arg2 ;
+ short arg3 ;
+ gpstk::DayTime::TimeFrame arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:new_DayTime",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ arg1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3,arg4);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_6(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short arg1 ;
+ long arg2 ;
+ short arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_DayTime",&obj0,&obj1,&obj2)) goto fail;
+ {
+ arg1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_7(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ unsigned long arg1 ;
+ gpstk::DayTime::TimeFrame arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTime",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (unsigned long)(SWIG_As_unsigned_SS_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_8(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ unsigned long arg1 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_DayTime",&obj0)) goto fail;
+ {
+ arg1 = (unsigned long)(SWIG_As_unsigned_SS_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_9(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = 0 ;
+ gpstk::DayTime::TimeFrame arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTime",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime((gpstk::GPSZcount const &)*arg1,arg2);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_10(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::GPSZcount *arg1 = 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_DayTime",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime((gpstk::GPSZcount const &)*arg1);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_11(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short arg1 ;
+ short arg2 ;
+ short arg3 ;
+ short arg4 ;
+ short arg5 ;
+ double arg6 ;
+ gpstk::DayTime::TimeFrame arg7 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOO:new_DayTime",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) goto fail;
+ {
+ arg1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (short)(SWIG_As_short(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ arg6 = (double)(SWIG_As_double(obj5));
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ arg7 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj6));
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_12(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short arg1 ;
+ short arg2 ;
+ short arg3 ;
+ short arg4 ;
+ short arg5 ;
+ double arg6 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOO:new_DayTime",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+ {
+ arg1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (short)(SWIG_As_short(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ arg6 = (double)(SWIG_As_double(obj5));
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3,arg4,arg5,arg6);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_13(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ long double arg1 ;
+ gpstk::DayTime::TimeFrame arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTime",&obj0,&obj1)) goto fail;
+ {
+ long double * argp;
+ SWIG_Python_ConvertPtr(obj0, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("long double");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *argp;
+ }
+ {
+ arg2 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_14(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ long double arg1 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_DayTime",&obj0)) goto fail;
+ {
+ long double * argp;
+ SWIG_Python_ConvertPtr(obj0, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("long double");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ arg1 = *argp;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_15(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ gpstk::DayTime::TimeFrame arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTime",&obj0,&obj1)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_16(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_DayTime",&obj0)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_17(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short arg1 ;
+ short arg2 ;
+ double arg3 ;
+ gpstk::DayTime::TimeFrame arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:new_DayTime",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ arg1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3,arg4);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_18(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ short arg1 ;
+ short arg2 ;
+ double arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:new_DayTime",&obj0,&obj1,&obj2)) goto fail;
+ {
+ arg1 = (short)(SWIG_As_short(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_19(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ timeval *arg1 = 0 ;
+ gpstk::DayTime::TimeFrame arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTime",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_timeval, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("timeval");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime((timeval const &)*arg1,arg2);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_20(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ timeval *arg1 = 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_DayTime",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_timeval, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("timeval");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime((timeval const &)*arg1);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_DayTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_DayTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_21(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:new_DayTime",&obj0)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ try {
+ result = (gpstk::DayTime *)new gpstk::DayTime((gpstk::DayTime const &)*arg1);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[8];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_DayTime__SWIG_0(self,args);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_10(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_14(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_timeval, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_20(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_21(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_Check_unsigned_SS_long(argv[0]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_8(self,args);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_16(self,args);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_9(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_timeval, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_19(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_13(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_short(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_2(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_unsigned_SS_long(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_7(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_15(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_short(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_18(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_short(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_6(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_short(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_4(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ _v = SWIG_Check_short(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ _v = SWIG_Check_short(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[3]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_17(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ _v = SWIG_Check_short(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[3]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_5(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ _v = SWIG_Check_short(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[3]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 6) {
+ int _v;
+ _v = SWIG_Check_short(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[4]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[5]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_12(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 7) {
+ int _v;
+ _v = SWIG_Check_short(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[4]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[5]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[6]);
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_11(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_DayTime'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_class_operator_assignment(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_class_operator_assignment",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::DayTime &_result_ref = (arg1)->operator =((gpstk::DayTime const &)*arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___sub____SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___sub__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (double)((gpstk::DayTime const *)arg1)->operator -((gpstk::DayTime const &)*arg2);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___add__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double arg2 ;
+ gpstk::DayTime result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___add__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = ((gpstk::DayTime const *)arg1)->operator +(arg2);
+
+ {
+ gpstk::DayTime * resultptr;
+ resultptr = new gpstk::DayTime((gpstk::DayTime &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___sub____SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double arg2 ;
+ gpstk::DayTime result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___sub__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = ((gpstk::DayTime const *)arg1)->operator -(arg2);
+
+ {
+ gpstk::DayTime * resultptr;
+ resultptr = new gpstk::DayTime((gpstk::DayTime &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___sub__(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_DayTime___sub____SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_DayTime___sub____SWIG_1(self,args);
+ }
+ }
+ }
+
+ Py_INCREF(Py_NotImplemented);
+ return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap_DayTime___iadd__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___iadd__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->operator +=(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___isub__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___isub__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->operator -=(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_addSeconds__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_addSeconds",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->addSeconds(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_addSeconds__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ long arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_addSeconds",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->addSeconds(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_addSeconds(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_long(argv[1]);
+ if (_v) {
+ return _wrap_DayTime_addSeconds__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_DayTime_addSeconds__SWIG_0(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_addSeconds'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_addMilliSeconds(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ long arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_addMilliSeconds",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->addMilliSeconds(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_addMicroSeconds(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ long arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_addMicroSeconds",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (long)(SWIG_As_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->addMicroSeconds(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___eq__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___eq__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::DayTime const *)arg1)->operator ==((gpstk::DayTime const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___ne__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___ne__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::DayTime const *)arg1)->operator !=((gpstk::DayTime const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___lt__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___lt__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::DayTime const *)arg1)->operator <((gpstk::DayTime const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___gt__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___gt__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::DayTime const *)arg1)->operator >((gpstk::DayTime const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___le__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___le__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::DayTime const *)arg1)->operator <=((gpstk::DayTime const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___ge__(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___ge__",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ result = (bool)((gpstk::DayTime const *)arg1)->operator >=((gpstk::DayTime const &)*arg2);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setAllButTimeFrame(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setAllButTimeFrame",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setAllButTimeFrame((gpstk::DayTime const &)*arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setTimeFrame(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime::TimeFrame arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setTimeFrame",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setTimeFrame(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_getTimeFrame(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime::TimeFrame result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_getTimeFrame",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::DayTime::TimeFrame)((gpstk::DayTime const *)arg1)->getTimeFrame();
+
+ resultobj = SWIG_From_int((result));
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_JD(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_JD",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::DayTime const *)arg1)->JD();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_MJD(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_MJD",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::DayTime const *)arg1)->MJD();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_year(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_year",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->year();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_month(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_month",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->month();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_day(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_day",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->day();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_dayOfWeek(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_dayOfWeek",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->dayOfWeek();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_getYMD(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ int *arg2 = 0 ;
+ int *arg3 = 0 ;
+ int *arg4 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_getYMD",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ ((gpstk::DayTime const *)arg1)->getYMD(*arg2,*arg3,*arg4);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_hour(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_hour",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->hour();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_minute(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_minute",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->minute();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_second(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_second",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::DayTime const *)arg1)->second();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_secOfDay(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_secOfDay",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::DayTime const *)arg1)->secOfDay();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPS10bitweek(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPS10bitweek",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->GPS10bitweek();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSzcount(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSzcount",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (long)((gpstk::DayTime const *)arg1)->GPSzcount();
+
+ {
+ resultobj = SWIG_From_long((long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSzcountFloor(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSzcountFloor",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (long)((gpstk::DayTime const *)arg1)->GPSzcountFloor();
+
+ {
+ resultobj = SWIG_From_long((long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSsecond(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSsecond",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::DayTime const *)arg1)->GPSsecond();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSsow(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSsow",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::DayTime const *)arg1)->GPSsow();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSday(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSday",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->GPSday();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSfullweek(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSfullweek",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->GPSfullweek();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSyear(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSyear",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->GPSyear();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_DOYyear(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_DOYyear",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->DOYyear();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_DOYday(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_DOYday",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->DOYday();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_DOY(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_DOY",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::DayTime const *)arg1)->DOY();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_DOYsecond(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_DOYsecond",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::DayTime const *)arg1)->DOYsecond();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_MJDdate(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_MJDdate",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::DayTime const *)arg1)->MJDdate();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_getMJDasLongDouble(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ long double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_getMJDasLongDouble",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (long double)((gpstk::DayTime const *)arg1)->getMJDasLongDouble();
+
+ {
+ long double * resultptr;
+ resultptr = new long double((long double &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_long_double, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_unixTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ timeval result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_unixTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = ((gpstk::DayTime const *)arg1)->unixTime();
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ timeval * resultptr;
+ resultptr = new timeval((timeval &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_timeval, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_fullZcount(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ unsigned long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_fullZcount",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned long)((gpstk::DayTime const *)arg1)->fullZcount();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_fullZcountFloor(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ unsigned long result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_fullZcountFloor",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (unsigned long)((gpstk::DayTime const *)arg1)->fullZcountFloor();
+
+ {
+ resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_Operator_GPSZcount(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::GPSZcount result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_Operator_GPSZcount",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::DayTime const *)arg1)->operator gpstk::GPSZcount();
+
+ {
+ gpstk::GPSZcount * resultptr;
+ resultptr = new gpstk::GPSZcount((gpstk::GPSZcount &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__GPSZcount, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYMDHMS__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ short arg3 ;
+ short arg4 ;
+ short arg5 ;
+ short arg6 ;
+ double arg7 ;
+ gpstk::DayTime::TimeFrame arg8 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOO:DayTime_setYMDHMS",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (short)(SWIG_As_short(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ arg6 = (short)(SWIG_As_short(obj5));
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ arg7 = (double)(SWIG_As_double(obj6));
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ arg8 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj7));
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setYMDHMS(arg2,arg3,arg4,arg5,arg6,arg7,arg8);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYMDHMS__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ short arg3 ;
+ short arg4 ;
+ short arg5 ;
+ short arg6 ;
+ double arg7 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOO:DayTime_setYMDHMS",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (short)(SWIG_As_short(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ arg6 = (short)(SWIG_As_short(obj5));
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ arg7 = (double)(SWIG_As_double(obj6));
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setYMDHMS(arg2,arg3,arg4,arg5,arg6,arg7);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYMDHMS(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[9];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 8); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 7) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[4]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[5]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[6]);
+ if (_v) {
+ return _wrap_DayTime_setYMDHMS__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 8) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[4]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[5]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[6]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[7]);
+ if (_v) {
+ return _wrap_DayTime_setYMDHMS__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setYMDHMS'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ double arg3 ;
+ gpstk::DayTime::TimeFrame arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setGPS",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ double arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setGPS",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ long arg3 ;
+ gpstk::DayTime::TimeFrame arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setGPS",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (long)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ long arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setGPS",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (long)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ long arg3 ;
+ short arg4 ;
+ gpstk::DayTime::TimeFrame arg5 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:DayTime_setGPS",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (long)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4,arg5);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ long arg3 ;
+ short arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setGPS",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (long)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_6(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ double arg3 ;
+ short arg4 ;
+ gpstk::DayTime::TimeFrame arg5 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:DayTime_setGPS",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4,arg5);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_7(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ double arg3 ;
+ short arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setGPS",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (short)(SWIG_As_short(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_8(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ unsigned long arg2 ;
+ gpstk::DayTime::TimeFrame arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setGPS",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_9(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ unsigned long arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setGPS",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[6];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_9(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_long(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_unsigned_SS_long(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_8(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_long(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[3]);
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_5(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_long(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[3]);
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[3]);
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_7(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[3]);
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_long(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[4]);
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_4(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[4]);
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_6(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setGPS'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSfullweek__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ double arg3 ;
+ gpstk::DayTime::TimeFrame arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setGPSfullweek",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPSfullweek(arg2,arg3,arg4);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSfullweek__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ double arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setGPSfullweek",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPSfullweek(arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSfullweek__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ long arg3 ;
+ gpstk::DayTime::TimeFrame arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setGPSfullweek",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (long)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPSfullweek(arg2,arg3,arg4);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSfullweek__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ long arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setGPSfullweek",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (long)(SWIG_As_long(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPSfullweek(arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSfullweek(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_long(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setGPSfullweek__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setGPSfullweek__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_long(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[3]);
+ if (_v) {
+ return _wrap_DayTime_setGPSfullweek__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[3]);
+ if (_v) {
+ return _wrap_DayTime_setGPSfullweek__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setGPSfullweek'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSZcount__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ gpstk::DayTime::TimeFrame arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setGPSZcount",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPSZcount((gpstk::GPSZcount const &)*arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSZcount__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setGPSZcount",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::GPSZcount");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setGPSZcount((gpstk::GPSZcount const &)*arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSZcount(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPSZcount__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setGPSZcount__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setGPSZcount'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYDoySod__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ short arg3 ;
+ double arg4 ;
+ gpstk::DayTime::TimeFrame arg5 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:DayTime_setYDoySod",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setYDoySod(arg2,arg3,arg4,arg5);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYDoySod__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ short arg2 ;
+ short arg3 ;
+ double arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setYDoySod",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setYDoySod(arg2,arg3,arg4);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYDoySod(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[6];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ return _wrap_DayTime_setYDoySod__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[4]);
+ if (_v) {
+ return _wrap_DayTime_setYDoySod__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setYDoySod'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJD__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ long double arg2 ;
+ gpstk::DayTime::TimeFrame arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setMJD",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ long double * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("long double");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ {
+ arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setMJD(arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJD__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ long double arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setMJD",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ long double * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("long double");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setMJD(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJDdate__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ long double arg2 ;
+ gpstk::DayTime::TimeFrame arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setMJDdate",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ long double * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("long double");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ {
+ arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setMJDdate(arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJDdate__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ long double arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setMJDdate",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ long double * argp;
+ SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (argp == NULL) {
+ SWIG_null_ref("long double");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = *argp;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setMJDdate(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJD__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double arg2 ;
+ gpstk::DayTime::TimeFrame arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setMJD",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setMJD(arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJD__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setMJD",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setMJD(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJD(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_DayTime_setMJD__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_DayTime_setMJD__SWIG_3(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setMJD__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setMJD__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setMJD'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJDdate__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double arg2 ;
+ gpstk::DayTime::TimeFrame arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setMJDdate",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setMJDdate(arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJDdate__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setMJDdate",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setMJDdate(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJDdate(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_DayTime_setMJDdate__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_DayTime_setMJDdate__SWIG_3(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setMJDdate__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setMJDdate__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setMJDdate'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setUnix__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ timeval *arg2 = 0 ;
+ gpstk::DayTime::TimeFrame arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setUnix",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_timeval, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("timeval");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setUnix((timeval const &)*arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setUnix__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ timeval *arg2 = 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setUnix",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_timeval, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("timeval");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setUnix((timeval const &)*arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setUnix(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_timeval, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_DayTime_setUnix__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_timeval, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setUnix__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setUnix'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setANSI__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ time_t *arg2 = 0 ;
+ gpstk::DayTime::TimeFrame arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setANSI",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_time_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("time_t");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setANSI((time_t const &)*arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setANSI__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ time_t *arg2 = 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setANSI",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_time_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("time_t");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setANSI((time_t const &)*arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setANSI(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_time_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_DayTime_setANSI__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_time_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setANSI__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setANSI'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setSystemTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_setSystemTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setSystemTime();
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setLocalTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_setLocalTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setLocalTime();
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYMD__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ int arg4 ;
+ gpstk::DayTime::TimeFrame arg5 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:DayTime_setYMD",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (int)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (int)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setYMD(arg2,arg3,arg4,arg5);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYMD__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ int arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setYMD",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (int)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (int)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setYMD(arg2,arg3,arg4);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYMD(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[6];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[3]);
+ if (_v) {
+ return _wrap_DayTime_setYMD__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[4]);
+ if (_v) {
+ return _wrap_DayTime_setYMD__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setYMD'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setHMS__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ double arg4 ;
+ gpstk::DayTime::TimeFrame arg5 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOO:DayTime_setHMS",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (int)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ arg5 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj4));
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setHMS(arg2,arg3,arg4,arg5);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setHMS__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ double arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setHMS",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (int)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (double)(SWIG_As_double(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setHMS(arg2,arg3,arg4);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setHMS(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[6];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ return _wrap_DayTime_setHMS__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[3]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[4]);
+ if (_v) {
+ return _wrap_DayTime_setHMS__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setHMS'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setSecOfDay__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double arg2 ;
+ gpstk::DayTime::TimeFrame arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setSecOfDay",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setSecOfDay(arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setSecOfDay__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ double arg2 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setSecOfDay",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setSecOfDay(arg2);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setSecOfDay(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[4];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ return _wrap_DayTime_setSecOfDay__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setSecOfDay__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setSecOfDay'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYDoy__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ gpstk::DayTime::TimeFrame arg4 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setYDoy",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (int)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3));
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setYDoy(arg2,arg3,arg4);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYDoy__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setYDoy",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (int)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setYDoy(arg2,arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYDoy(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[5];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ return _wrap_DayTime_setYDoy__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[2]);
+ if (_v) {
+ _v = SWIG_Check_int(argv[3]);
+ if (_v) {
+ return _wrap_DayTime_setYDoy__SWIG_0(self,args);
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setYDoy'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setToString(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ std::string *arg2 = 0 ;
+ std::string *arg3 = 0 ;
+ gpstk::DayTime *result;
+ int res2 = 0 ;
+ int res3 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setToString",&obj0,&obj1,&obj2)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ {
+ std::string *ptr = (std::string *)0;
+ res3 = SWIG_AsPtr_std_string(obj2, &ptr);
+ if (!res3) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj2);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ arg3 = ptr;
+ }
+ try {
+ {
+ gpstk::DayTime &_result_ref = (arg1)->setToString((std::string const &)*arg2,(std::string const &)*arg3);
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(FormatException &_e) {
+ {
+ FormatException * temp = new FormatException(_e);
+ if (SWIGTYPE_p_FormatException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_FormatException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FormatException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"FormatException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FormatException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+ catch(gpstk::StringUtils::StringException &_e) {
+ {
+ gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+ if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ if (res3 == SWIG_NEWOBJ) delete arg3;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ if (res3 == SWIG_NEWOBJ) delete arg3;
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_printf(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ char *arg2 = (char *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_printf",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+ SWIG_arg_fail(2);SWIG_fail;
+ }
+ try {
+ result = ((gpstk::DayTime const *)arg1)->printf((char const *)arg2);
+ }
+ catch(gpstk::StringUtils::StringException &_e) {
+ {
+ gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+ if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_printf_std_string(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ std::string *arg2 = 0 ;
+ std::string result;
+ int res2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_printf_std_string",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ std::string *ptr = (std::string *)0;
+ res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+ if (!res2) {
+ if (!PyErr_Occurred())
+ SWIG_type_error("std::string", obj1);
+ } else if (!ptr) {
+ SWIG_null_ref("std::string");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ arg2 = ptr;
+ }
+ try {
+ result = ((gpstk::DayTime const *)arg1)->printf((std::string const &)*arg2);
+ }
+ catch(gpstk::StringUtils::StringException &_e) {
+ {
+ gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+ if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return resultobj;
+ fail:
+ if (res2 == SWIG_NEWOBJ) delete arg2;
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_asString(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ std::string result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:DayTime_asString",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ try {
+ result = ((gpstk::DayTime const *)arg1)->asString();
+ }
+ catch(gpstk::StringUtils::StringException &_e) {
+ {
+ gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+ if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ {
+ resultobj = SWIG_From_std_string((std::string)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_dump(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+ std::ostream *arg2 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_dump",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ try {
+ ((gpstk::DayTime const *)arg1)->dump(*arg2);
+ }
+ catch(DayTimeException &_e) {
+ {
+ DayTimeException * temp = new DayTimeException(_e);
+ if (SWIGTYPE_p_DayTimeException->clientdata) {
+ PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ } else {
+ PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+ /*
+ PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+ */
+ }
+ SWIG_fail;
+ }
+ }
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_convertJDtoCalendar(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ long arg1 ;
+ int *arg2 = 0 ;
+ int *arg3 = 0 ;
+ int *arg4 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_convertJDtoCalendar",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ arg1 = (long)(SWIG_As_long(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ gpstk::DayTime::convertJDtoCalendar(arg1,*arg2,*arg3,*arg4);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_convertCalendarToJD(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ int arg1 ;
+ int arg2 ;
+ int arg3 ;
+ long result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_convertCalendarToJD",&obj0,&obj1,&obj2)) goto fail;
+ {
+ arg1 = (int)(SWIG_As_int(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (int)(SWIG_As_int(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (long)gpstk::DayTime::convertCalendarToJD(arg1,arg2,arg3);
+
+ {
+ resultobj = SWIG_From_long((long)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_convertSODtoTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ int *arg2 = 0 ;
+ int *arg3 = 0 ;
+ double *arg4 = 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_convertSODtoTime",&obj0,&obj1,&obj2,&obj3)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("int");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("double");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ gpstk::DayTime::convertSODtoTime(arg1,*arg2,*arg3,*arg4);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_convertTimeToSOD(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ int arg1 ;
+ int arg2 ;
+ double arg3 ;
+ double result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_convertTimeToSOD",&obj0,&obj1,&obj2)) goto fail;
+ {
+ arg1 = (int)(SWIG_As_int(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (int)(SWIG_As_int(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (double)(SWIG_As_double(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ result = (double)gpstk::DayTime::convertTimeToSOD(arg1,arg2,arg3);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * DayTime_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__DayTime, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap___lshift____SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:__lshift__",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = gpstk::operator <<(*arg1,(gpstk::DayTime const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap___lshift__(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__SatID, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___lshift____SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___lshift____SWIG_2(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___lshift____SWIG_3(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___lshift____SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap___lshift____SWIG_5(self,args);
+ }
+ }
+ }
+
+ Py_INCREF(Py_NotImplemented);
+ return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_0(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsRngDev *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_ObsRngDev")) goto fail;
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_1(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ gpstk::ECEF *arg4 = 0 ;
+ gpstk::EphemerisStore *arg5 = 0 ;
+ gpstk::GeoidModel *arg6 = 0 ;
+ bool arg7 ;
+ gpstk::ObsRngDev *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ arg7 = (bool)(SWIG_As_bool(obj6));
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,arg7);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_2(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ gpstk::ECEF *arg4 = 0 ;
+ gpstk::EphemerisStore *arg5 = 0 ;
+ gpstk::GeoidModel *arg6 = 0 ;
+ gpstk::ObsRngDev *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_3(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ gpstk::ECEF *arg4 = 0 ;
+ gpstk::EphemerisStore *arg5 = 0 ;
+ gpstk::GeoidModel *arg6 = 0 ;
+ gpstk::IonoModelStore *arg7 = 0 ;
+ gpstk::IonoModel::Frequency arg8 ;
+ bool arg9 ;
+ gpstk::ObsRngDev *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ if (arg7 == NULL) {
+ SWIG_null_ref("gpstk::IonoModelStore");
+ }
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ arg8 = (gpstk::IonoModel::Frequency)(SWIG_As_int(obj7));
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ {
+ arg9 = (bool)(SWIG_As_bool(obj8));
+ if (SWIG_arg_fail(9)) SWIG_fail;
+ }
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,(gpstk::IonoModelStore const &)*arg7,arg8,arg9);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_4(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ gpstk::ECEF *arg4 = 0 ;
+ gpstk::EphemerisStore *arg5 = 0 ;
+ gpstk::GeoidModel *arg6 = 0 ;
+ gpstk::IonoModelStore *arg7 = 0 ;
+ gpstk::IonoModel::Frequency arg8 ;
+ gpstk::ObsRngDev *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ if (arg7 == NULL) {
+ SWIG_null_ref("gpstk::IonoModelStore");
+ }
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ arg8 = (gpstk::IonoModel::Frequency)(SWIG_As_int(obj7));
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,(gpstk::IonoModelStore const &)*arg7,arg8);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_5(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ gpstk::ECEF *arg4 = 0 ;
+ gpstk::EphemerisStore *arg5 = 0 ;
+ gpstk::GeoidModel *arg6 = 0 ;
+ gpstk::TropModel *arg7 = 0 ;
+ bool arg8 ;
+ gpstk::ObsRngDev *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ if (arg7 == NULL) {
+ SWIG_null_ref("gpstk::TropModel");
+ }
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ arg8 = (bool)(SWIG_As_bool(obj7));
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,(gpstk::TropModel const &)*arg7,arg8);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_6(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ gpstk::ECEF *arg4 = 0 ;
+ gpstk::EphemerisStore *arg5 = 0 ;
+ gpstk::GeoidModel *arg6 = 0 ;
+ gpstk::TropModel *arg7 = 0 ;
+ gpstk::ObsRngDev *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ if (arg7 == NULL) {
+ SWIG_null_ref("gpstk::TropModel");
+ }
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,(gpstk::TropModel const &)*arg7);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_7(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ gpstk::ECEF *arg4 = 0 ;
+ gpstk::EphemerisStore *arg5 = 0 ;
+ gpstk::GeoidModel *arg6 = 0 ;
+ gpstk::TropModel *arg7 = 0 ;
+ gpstk::IonoModelStore *arg8 = 0 ;
+ gpstk::IonoModel::Frequency arg9 ;
+ bool arg10 ;
+ gpstk::ObsRngDev *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+ PyObject * obj9 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ if (arg7 == NULL) {
+ SWIG_null_ref("gpstk::TropModel");
+ }
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ if (arg8 == NULL) {
+ SWIG_null_ref("gpstk::IonoModelStore");
+ }
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ {
+ arg9 = (gpstk::IonoModel::Frequency)(SWIG_As_int(obj8));
+ if (SWIG_arg_fail(9)) SWIG_fail;
+ }
+ {
+ arg10 = (bool)(SWIG_As_bool(obj9));
+ if (SWIG_arg_fail(10)) SWIG_fail;
+ }
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,(gpstk::TropModel const &)*arg7,(gpstk::IonoModelStore const &)*arg8,arg9,arg10);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_8(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ short arg2 ;
+ gpstk::DayTime *arg3 = 0 ;
+ gpstk::ECEF *arg4 = 0 ;
+ gpstk::EphemerisStore *arg5 = 0 ;
+ gpstk::GeoidModel *arg6 = 0 ;
+ gpstk::TropModel *arg7 = 0 ;
+ gpstk::IonoModelStore *arg8 = 0 ;
+ gpstk::IonoModel::Frequency arg9 ;
+ gpstk::ObsRngDev *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ if (arg3 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ if (arg7 == NULL) {
+ SWIG_null_ref("gpstk::TropModel");
+ }
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ if (arg8 == NULL) {
+ SWIG_null_ref("gpstk::IonoModelStore");
+ }
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ {
+ arg9 = (gpstk::IonoModel::Frequency)(SWIG_As_int(obj8));
+ if (SWIG_arg_fail(9)) SWIG_fail;
+ }
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,(gpstk::TropModel const &)*arg7,(gpstk::IonoModelStore const &)*arg8,arg9);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_9(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ double arg2 ;
+ short arg3 ;
+ gpstk::DayTime *arg4 = 0 ;
+ gpstk::ECEF *arg5 = 0 ;
+ gpstk::EphemerisStore *arg6 = 0 ;
+ gpstk::GeoidModel *arg7 = 0 ;
+ bool arg8 ;
+ gpstk::ObsRngDev *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ if (arg7 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ arg8 = (bool)(SWIG_As_bool(obj7));
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,arg3,(gpstk::DayTime const &)*arg4,(gpstk::ECEF const &)*arg5,(gpstk::EphemerisStore const &)*arg6,*arg7,arg8);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_10(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ double arg2 ;
+ short arg3 ;
+ gpstk::DayTime *arg4 = 0 ;
+ gpstk::ECEF *arg5 = 0 ;
+ gpstk::EphemerisStore *arg6 = 0 ;
+ gpstk::GeoidModel *arg7 = 0 ;
+ gpstk::ObsRngDev *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ if (arg7 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,arg3,(gpstk::DayTime const &)*arg4,(gpstk::ECEF const &)*arg5,(gpstk::EphemerisStore const &)*arg6,*arg7);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_11(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ double arg2 ;
+ short arg3 ;
+ gpstk::DayTime *arg4 = 0 ;
+ gpstk::ECEF *arg5 = 0 ;
+ gpstk::EphemerisStore *arg6 = 0 ;
+ gpstk::GeoidModel *arg7 = 0 ;
+ gpstk::TropModel *arg8 = 0 ;
+ bool arg9 ;
+ gpstk::ObsRngDev *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+ PyObject * obj8 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ if (arg7 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ if (arg8 == NULL) {
+ SWIG_null_ref("gpstk::TropModel");
+ }
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ {
+ arg9 = (bool)(SWIG_As_bool(obj8));
+ if (SWIG_arg_fail(9)) SWIG_fail;
+ }
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,arg3,(gpstk::DayTime const &)*arg4,(gpstk::ECEF const &)*arg5,(gpstk::EphemerisStore const &)*arg6,(gpstk::GeoidModel const &)*arg7,(gpstk::TropModel const &)*arg8,arg9);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_12(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ double arg1 ;
+ double arg2 ;
+ short arg3 ;
+ gpstk::DayTime *arg4 = 0 ;
+ gpstk::ECEF *arg5 = 0 ;
+ gpstk::EphemerisStore *arg6 = 0 ;
+ gpstk::GeoidModel *arg7 = 0 ;
+ gpstk::TropModel *arg8 = 0 ;
+ gpstk::ObsRngDev *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+ PyObject * obj2 = 0 ;
+ PyObject * obj3 = 0 ;
+ PyObject * obj4 = 0 ;
+ PyObject * obj5 = 0 ;
+ PyObject * obj6 = 0 ;
+ PyObject * obj7 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) goto fail;
+ {
+ arg1 = (double)(SWIG_As_double(obj0));
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ arg3 = (short)(SWIG_As_short(obj2));
+ if (SWIG_arg_fail(3)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ if (arg4 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(4)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ if (arg5 == NULL) {
+ SWIG_null_ref("gpstk::ECEF");
+ }
+ if (SWIG_arg_fail(5)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ if (arg6 == NULL) {
+ SWIG_null_ref("gpstk::EphemerisStore");
+ }
+ if (SWIG_arg_fail(6)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ if (arg7 == NULL) {
+ SWIG_null_ref("gpstk::GeoidModel");
+ }
+ if (SWIG_arg_fail(7)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ if (arg8 == NULL) {
+ SWIG_null_ref("gpstk::TropModel");
+ }
+ if (SWIG_arg_fail(8)) SWIG_fail;
+ }
+ result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,arg3,(gpstk::DayTime const &)*arg4,(gpstk::ECEF const &)*arg5,(gpstk::EphemerisStore const &)*arg6,(gpstk::GeoidModel const &)*arg7,(gpstk::TropModel const &)*arg8);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[11];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 10); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 0) {
+ return _wrap_new_ObsRngDev__SWIG_0(self,args);
+ }
+ if (argc == 6) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_ObsRngDev__SWIG_2(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 7) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_ObsRngDev__SWIG_6(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 7) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_bool(argv[6]);
+ if (_v) {
+ return _wrap_new_ObsRngDev__SWIG_1(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 7) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_ObsRngDev__SWIG_10(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 8) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__IonoModelStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[7]);
+ if (_v) {
+ return _wrap_new_ObsRngDev__SWIG_4(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 8) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_bool(argv[7]);
+ if (_v) {
+ return _wrap_new_ObsRngDev__SWIG_5(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 8) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[7], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_new_ObsRngDev__SWIG_12(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 8) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_bool(argv[7]);
+ if (_v) {
+ return _wrap_new_ObsRngDev__SWIG_9(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 9) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[7], &ptr, SWIGTYPE_p_gpstk__IonoModelStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[8]);
+ if (_v) {
+ return _wrap_new_ObsRngDev__SWIG_8(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 9) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__IonoModelStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[7]);
+ if (_v) {
+ _v = SWIG_Check_bool(argv[8]);
+ if (_v) {
+ return _wrap_new_ObsRngDev__SWIG_3(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 9) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_double(argv[1]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[2]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[7], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_bool(argv[8]);
+ if (_v) {
+ return _wrap_new_ObsRngDev__SWIG_11(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 10) {
+ int _v;
+ _v = SWIG_Check_double(argv[0]);
+ if (_v) {
+ _v = SWIG_Check_short(argv[1]);
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[7], &ptr, SWIGTYPE_p_gpstk__IonoModelStore, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ _v = SWIG_Check_int(argv[8]);
+ if (_v) {
+ _v = SWIG_Check_bool(argv[9]);
+ if (_v) {
+ return _wrap_new_ObsRngDev__SWIG_7(self,args);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_ObsRngDev'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ObsRngDev(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ObsRngDev",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getTime(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getTime",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ gpstk::DayTime const &_result_ref = ((gpstk::ObsRngDev const *)arg1)->getTime();
+ result = (gpstk::DayTime *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getPRN(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+ short result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getPRN",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (short)((gpstk::ObsRngDev const *)arg1)->getPRN();
+
+ {
+ resultobj = SWIG_From_short((short)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getAzimuth(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+ SwigValueWrapper<gpstk::ValidType<float > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getAzimuth",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::ObsRngDev const *)arg1)->getAzimuth();
+
+ {
+ gpstk::vfloat * resultptr;
+ resultptr = new gpstk::vfloat((gpstk::vfloat &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ValidTypeTfloat_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getElevation(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+ SwigValueWrapper<gpstk::ValidType<float > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getElevation",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::ObsRngDev const *)arg1)->getElevation();
+
+ {
+ gpstk::vfloat * resultptr;
+ resultptr = new gpstk::vfloat((gpstk::vfloat &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ValidTypeTfloat_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getHealth(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+ SwigValueWrapper<gpstk::ValidType<short > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getHealth",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::ObsRngDev const *)arg1)->getHealth();
+
+ {
+ gpstk::vshort * resultptr;
+ resultptr = new gpstk::vshort((gpstk::vshort &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ValidTypeTshort_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getIODC(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+ SwigValueWrapper<gpstk::ValidType<short > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getIODC",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::ObsRngDev const *)arg1)->getIODC();
+
+ {
+ gpstk::vshort * resultptr;
+ resultptr = new gpstk::vshort((gpstk::vshort &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ValidTypeTshort_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getORD(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getORD",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double)((gpstk::ObsRngDev const *)arg1)->getORD();
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getIono(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+ SwigValueWrapper<gpstk::ValidType<double > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getIono",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::ObsRngDev const *)arg1)->getIono();
+
+ {
+ gpstk::vdouble * resultptr;
+ resultptr = new gpstk::vdouble((gpstk::vdouble &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ValidTypeTdouble_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getTrop(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+ SwigValueWrapper<gpstk::ValidType<double > > result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getTrop",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = ((gpstk::ObsRngDev const *)arg1)->getTrop();
+
+ {
+ gpstk::vdouble * resultptr;
+ resultptr = new gpstk::vdouble((gpstk::vdouble &)(result));
+ resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ValidTypeTdouble_t, 1);
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_14(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::ObsRngDev *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ObsRngDev");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::ObsRngDev const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_applyClockOffset(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ObsRngDev_applyClockOffset",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ (arg1)->applyClockOffset(arg2);
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ObsRngDev_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__ObsRngDev, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ORDEpoch_removeORD(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+ short arg2 ;
+ gpstk::ORDEpoch *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ORDEpoch_removeORD",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (short)(SWIG_As_short(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::ORDEpoch &_result_ref = (arg1)->removeORD(arg2);
+ result = (gpstk::ORDEpoch *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ORDEpoch, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_applyClockModel(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+ gpstk::ClockModel *arg2 = 0 ;
+ gpstk::ORDEpoch *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ORDEpoch_applyClockModel",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ClockModel, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ClockModel");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ gpstk::ORDEpoch &_result_ref = (arg1)->applyClockModel((gpstk::ClockModel const &)*arg2);
+ result = (gpstk::ORDEpoch *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ORDEpoch, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_clockOffset_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+ double arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ORDEpoch_clockOffset_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (double)(SWIG_As_double(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->clockOffset = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_clockOffset_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+ double result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ORDEpoch_clockOffset_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (double) ((arg1)->clockOffset);
+
+ {
+ resultobj = SWIG_From_double((double)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_validClock_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+ bool arg2 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ORDEpoch_validClock_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ {
+ arg2 = (bool)(SWIG_As_bool(obj1));
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ if (arg1) (arg1)->validClock = arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_validClock_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+ bool result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ORDEpoch_validClock_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (bool) ((arg1)->validClock);
+
+ {
+ resultobj = SWIG_From_bool((bool)(result));
+ }
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_ords_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+ gpstk::ORDEpoch::ORDMap *arg2 = (gpstk::ORDEpoch::ORDMap *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ORDEpoch_ords_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->ords = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_ords_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+ gpstk::ORDEpoch::ORDMap *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ORDEpoch_ords_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::ORDEpoch::ORDMap *)& ((arg1)->ords);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_time_set(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+ gpstk::DayTime *arg2 = (gpstk::DayTime *) 0 ;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:ORDEpoch_time_set",&obj0,&obj1)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg1) (arg1)->time = *arg2;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_time_get(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+ gpstk::DayTime *result;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:ORDEpoch_time_get",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ result = (gpstk::DayTime *)& ((arg1)->time);
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_15(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::ORDEpoch *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::ORDEpoch");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::ORDEpoch const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_streamRead(PyObject *self, PyObject *args) {
+ int argc;
+ PyObject *argv[3];
+ int ii;
+
+ argc = PyObject_Length(args);
+ for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+ argv[ii] = PyTuple_GetItem(args,ii);
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__FFData, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_0(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__InvalidValue, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_1(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Observation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_2(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ObsEpoch, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_3(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__RxObsData, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_4(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_5(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__LinearClockModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_7(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ObsClockModel, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_6(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__FileHunterException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_8(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WrongBlockNumber, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_9(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WrongBlockFormat, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_10(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_11(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__NoGeoidException, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_12(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__EngEphemeris, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_13(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ObsRngDev, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_14(self,args);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ {
+ void *ptr = 0;
+ if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ORDEpoch, 0) == -1) {
+ _v = 0;
+ PyErr_Clear();
+ } else {
+ _v = (ptr != 0);
+ }
+ }
+ if (_v) {
+ return _wrap_streamRead__SWIG_15(self,args);
+ }
+ }
+ }
+
+ PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'streamRead'");
+ return NULL;
+}
+
+
+static PyObject *_wrap_new_ORDEpoch(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ORDEpoch *result;
+
+ if(!PyArg_ParseTuple(args,(char *)":new_ORDEpoch")) goto fail;
+ result = (gpstk::ORDEpoch *)new gpstk::ORDEpoch();
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ORDEpoch, 1);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject *_wrap_delete_ORDEpoch(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+ PyObject * obj0 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"O:delete_ORDEpoch",&obj0)) goto fail;
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ delete arg1;
+
+ Py_INCREF(Py_None); resultobj = Py_None;
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyObject * ORDEpoch_swigregister(PyObject *, PyObject *args) {
+ PyObject *obj;
+ if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+ SWIG_TypeClientData(SWIGTYPE_p_gpstk__ORDEpoch, obj);
+ Py_INCREF(obj);
+ return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_DayTime_streamRead(PyObject *, PyObject *args) {
+ PyObject *resultobj = NULL;
+ std::ostream *arg1 = 0 ;
+ gpstk::DayTime *arg2 = 0 ;
+ std::ostream *result;
+ PyObject * obj0 = 0 ;
+ PyObject * obj1 = 0 ;
+
+ if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_streamRead",&obj0,&obj1)) goto fail;
+ {
+ SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ if (arg1 == NULL) {
+ SWIG_null_ref("std::ostream");
+ }
+ if (SWIG_arg_fail(1)) SWIG_fail;
+ }
+ {
+ SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ if (arg2 == NULL) {
+ SWIG_null_ref("gpstk::DayTime");
+ }
+ if (SWIG_arg_fail(2)) SWIG_fail;
+ }
+ {
+ std::ostream &_result_ref = DayTime_streamRead(*arg1,*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+ return resultobj;
+ fail:
+ return NULL;
+}
+
+
+static PyMethodDef SwigMethods[] = {
+ { (char *)"vectori_empty", _wrap_vectori_empty, METH_VARARGS, NULL},
+ { (char *)"vectori_size", _wrap_vectori_size, METH_VARARGS, NULL},
+ { (char *)"vectori_clear", _wrap_vectori_clear, METH_VARARGS, NULL},
+ { (char *)"vectori_swap", _wrap_vectori_swap, METH_VARARGS, NULL},
+ { (char *)"vectori_get_allocator", _wrap_vectori_get_allocator, METH_VARARGS, NULL},
+ { (char *)"vectori_pop_back", _wrap_vectori_pop_back, METH_VARARGS, NULL},
+ { (char *)"new_vectori", _wrap_new_vectori, METH_VARARGS, NULL},
+ { (char *)"vectori_push_back", _wrap_vectori_push_back, METH_VARARGS, NULL},
+ { (char *)"vectori_front", _wrap_vectori_front, METH_VARARGS, NULL},
+ { (char *)"vectori_back", _wrap_vectori_back, METH_VARARGS, NULL},
+ { (char *)"vectori_assign", _wrap_vectori_assign, METH_VARARGS, NULL},
+ { (char *)"vectori_resize", _wrap_vectori_resize, METH_VARARGS, NULL},
+ { (char *)"vectori_reserve", _wrap_vectori_reserve, METH_VARARGS, NULL},
+ { (char *)"vectori_capacity", _wrap_vectori_capacity, METH_VARARGS, NULL},
+ { (char *)"vectori___nonzero__", _wrap_vectori___nonzero__, METH_VARARGS, NULL},
+ { (char *)"vectori___len__", _wrap_vectori___len__, METH_VARARGS, NULL},
+ { (char *)"vectori_pop", _wrap_vectori_pop, METH_VARARGS, NULL},
+ { (char *)"vectori___getslice__", _wrap_vectori___getslice__, METH_VARARGS, NULL},
+ { (char *)"vectori___setslice__", _wrap_vectori___setslice__, METH_VARARGS, NULL},
+ { (char *)"vectori___delslice__", _wrap_vectori___delslice__, METH_VARARGS, NULL},
+ { (char *)"vectori___delitem__", _wrap_vectori___delitem__, METH_VARARGS, NULL},
+ { (char *)"vectori___getitem__", _wrap_vectori___getitem__, METH_VARARGS, NULL},
+ { (char *)"vectori___setitem__", _wrap_vectori___setitem__, METH_VARARGS, NULL},
+ { (char *)"vectori_append", _wrap_vectori_append, METH_VARARGS, NULL},
+ { (char *)"delete_vectori", _wrap_delete_vectori, METH_VARARGS, NULL},
+ { (char *)"vectori_swigregister", vectori_swigregister, METH_VARARGS, NULL},
+ { (char *)"vectord_empty", _wrap_vectord_empty, METH_VARARGS, NULL},
+ { (char *)"vectord_size", _wrap_vectord_size, METH_VARARGS, NULL},
+ { (char *)"vectord_clear", _wrap_vectord_clear, METH_VARARGS, NULL},
+ { (char *)"vectord_swap", _wrap_vectord_swap, METH_VARARGS, NULL},
+ { (char *)"vectord_get_allocator", _wrap_vectord_get_allocator, METH_VARARGS, NULL},
+ { (char *)"vectord_pop_back", _wrap_vectord_pop_back, METH_VARARGS, NULL},
+ { (char *)"new_vectord", _wrap_new_vectord, METH_VARARGS, NULL},
+ { (char *)"vectord_push_back", _wrap_vectord_push_back, METH_VARARGS, NULL},
+ { (char *)"vectord_front", _wrap_vectord_front, METH_VARARGS, NULL},
+ { (char *)"vectord_back", _wrap_vectord_back, METH_VARARGS, NULL},
+ { (char *)"vectord_assign", _wrap_vectord_assign, METH_VARARGS, NULL},
+ { (char *)"vectord_resize", _wrap_vectord_resize, METH_VARARGS, NULL},
+ { (char *)"vectord_reserve", _wrap_vectord_reserve, METH_VARARGS, NULL},
+ { (char *)"vectord_capacity", _wrap_vectord_capacity, METH_VARARGS, NULL},
+ { (char *)"vectord___nonzero__", _wrap_vectord___nonzero__, METH_VARARGS, NULL},
+ { (char *)"vectord___len__", _wrap_vectord___len__, METH_VARARGS, NULL},
+ { (char *)"vectord_pop", _wrap_vectord_pop, METH_VARARGS, NULL},
+ { (char *)"vectord___getslice__", _wrap_vectord___getslice__, METH_VARARGS, NULL},
+ { (char *)"vectord___setslice__", _wrap_vectord___setslice__, METH_VARARGS, NULL},
+ { (char *)"vectord___delslice__", _wrap_vectord___delslice__, METH_VARARGS, NULL},
+ { (char *)"vectord___delitem__", _wrap_vectord___delitem__, METH_VARARGS, NULL},
+ { (char *)"vectord___getitem__", _wrap_vectord___getitem__, METH_VARARGS, NULL},
+ { (char *)"vectord___setitem__", _wrap_vectord___setitem__, METH_VARARGS, NULL},
+ { (char *)"vectord_append", _wrap_vectord_append, METH_VARARGS, NULL},
+ { (char *)"delete_vectord", _wrap_delete_vectord, METH_VARARGS, NULL},
+ { (char *)"vectord_swigregister", vectord_swigregister, METH_VARARGS, NULL},
+ { (char *)"delete_exception", _wrap_delete_exception, METH_VARARGS, NULL},
+ { (char *)"exception_what", _wrap_exception_what, METH_VARARGS, NULL},
+ { (char *)"new_exception", _wrap_new_exception, METH_VARARGS, NULL},
+ { (char *)"exception_swigregister", exception_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_bad_exception", _wrap_new_bad_exception, METH_VARARGS, NULL},
+ { (char *)"delete_bad_exception", _wrap_delete_bad_exception, METH_VARARGS, NULL},
+ { (char *)"bad_exception_swigregister", bad_exception_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_logic_error", _wrap_new_logic_error, METH_VARARGS, NULL},
+ { (char *)"delete_logic_error", _wrap_delete_logic_error, METH_VARARGS, NULL},
+ { (char *)"logic_error_swigregister", logic_error_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_domain_error", _wrap_new_domain_error, METH_VARARGS, NULL},
+ { (char *)"delete_domain_error", _wrap_delete_domain_error, METH_VARARGS, NULL},
+ { (char *)"domain_error_swigregister", domain_error_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_invalid_argument", _wrap_new_invalid_argument, METH_VARARGS, NULL},
+ { (char *)"delete_invalid_argument", _wrap_delete_invalid_argument, METH_VARARGS, NULL},
+ { (char *)"invalid_argument_swigregister", invalid_argument_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_length_error", _wrap_new_length_error, METH_VARARGS, NULL},
+ { (char *)"delete_length_error", _wrap_delete_length_error, METH_VARARGS, NULL},
+ { (char *)"length_error_swigregister", length_error_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_out_of_range", _wrap_new_out_of_range, METH_VARARGS, NULL},
+ { (char *)"delete_out_of_range", _wrap_delete_out_of_range, METH_VARARGS, NULL},
+ { (char *)"out_of_range_swigregister", out_of_range_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_runtime_error", _wrap_new_runtime_error, METH_VARARGS, NULL},
+ { (char *)"delete_runtime_error", _wrap_delete_runtime_error, METH_VARARGS, NULL},
+ { (char *)"runtime_error_swigregister", runtime_error_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_range_error", _wrap_new_range_error, METH_VARARGS, NULL},
+ { (char *)"delete_range_error", _wrap_delete_range_error, METH_VARARGS, NULL},
+ { (char *)"range_error_swigregister", range_error_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_overflow_error", _wrap_new_overflow_error, METH_VARARGS, NULL},
+ { (char *)"delete_overflow_error", _wrap_delete_overflow_error, METH_VARARGS, NULL},
+ { (char *)"overflow_error_swigregister", overflow_error_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_underflow_error", _wrap_new_underflow_error, METH_VARARGS, NULL},
+ { (char *)"delete_underflow_error", _wrap_delete_underflow_error, METH_VARARGS, NULL},
+ { (char *)"underflow_error_swigregister", underflow_error_swigregister, METH_VARARGS, NULL},
+ { (char *)"ios_base_register_callback", _wrap_ios_base_register_callback, METH_VARARGS, NULL},
+ { (char *)"ios_base_flags", _wrap_ios_base_flags, METH_VARARGS, NULL},
+ { (char *)"ios_base_setf", _wrap_ios_base_setf, METH_VARARGS, NULL},
+ { (char *)"ios_base_unsetf", _wrap_ios_base_unsetf, METH_VARARGS, NULL},
+ { (char *)"ios_base_precision", _wrap_ios_base_precision, METH_VARARGS, NULL},
+ { (char *)"ios_base_width", _wrap_ios_base_width, METH_VARARGS, NULL},
+ { (char *)"ios_base_sync_with_stdio", _wrap_ios_base_sync_with_stdio, METH_VARARGS, NULL},
+ { (char *)"ios_base_imbue", _wrap_ios_base_imbue, METH_VARARGS, NULL},
+ { (char *)"ios_base_getloc", _wrap_ios_base_getloc, METH_VARARGS, NULL},
+ { (char *)"ios_base_xalloc", _wrap_ios_base_xalloc, METH_VARARGS, NULL},
+ { (char *)"ios_base_iword", _wrap_ios_base_iword, METH_VARARGS, NULL},
+ { (char *)"ios_base_pword", _wrap_ios_base_pword, METH_VARARGS, NULL},
+ { (char *)"delete_ios_base", _wrap_delete_ios_base, METH_VARARGS, NULL},
+ { (char *)"ios_base_swigregister", ios_base_swigregister, METH_VARARGS, NULL},
+ { (char *)"ios_rdstate", _wrap_ios_rdstate, METH_VARARGS, NULL},
+ { (char *)"ios_clear", _wrap_ios_clear, METH_VARARGS, NULL},
+ { (char *)"ios_setstate", _wrap_ios_setstate, METH_VARARGS, NULL},
+ { (char *)"ios_good", _wrap_ios_good, METH_VARARGS, NULL},
+ { (char *)"ios_eof", _wrap_ios_eof, METH_VARARGS, NULL},
+ { (char *)"ios_fail", _wrap_ios_fail, METH_VARARGS, NULL},
+ { (char *)"ios_bad", _wrap_ios_bad, METH_VARARGS, NULL},
+ { (char *)"ios_exceptions", _wrap_ios_exceptions, METH_VARARGS, NULL},
+ { (char *)"new_ios", _wrap_new_ios, METH_VARARGS, NULL},
+ { (char *)"delete_ios", _wrap_delete_ios, METH_VARARGS, NULL},
+ { (char *)"ios_tie", _wrap_ios_tie, METH_VARARGS, NULL},
+ { (char *)"ios_rdbuf", _wrap_ios_rdbuf, METH_VARARGS, NULL},
+ { (char *)"ios_copyfmt", _wrap_ios_copyfmt, METH_VARARGS, NULL},
+ { (char *)"ios_fill", _wrap_ios_fill, METH_VARARGS, NULL},
+ { (char *)"ios_imbue", _wrap_ios_imbue, METH_VARARGS, NULL},
+ { (char *)"ios_narrow", _wrap_ios_narrow, METH_VARARGS, NULL},
+ { (char *)"ios_widen", _wrap_ios_widen, METH_VARARGS, NULL},
+ { (char *)"ios_swigregister", ios_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_ostream", _wrap_new_ostream, METH_VARARGS, NULL},
+ { (char *)"delete_ostream", _wrap_delete_ostream, METH_VARARGS, NULL},
+ { (char *)"ostream___lshift__", _wrap_ostream___lshift__, METH_VARARGS, NULL},
+ { (char *)"ostream_put", _wrap_ostream_put, METH_VARARGS, NULL},
+ { (char *)"ostream_write", _wrap_ostream_write, METH_VARARGS, NULL},
+ { (char *)"ostream_flush", _wrap_ostream_flush, METH_VARARGS, NULL},
+ { (char *)"ostream_tellp", _wrap_ostream_tellp, METH_VARARGS, NULL},
+ { (char *)"ostream_seekp", _wrap_ostream_seekp, METH_VARARGS, NULL},
+ { (char *)"ostream_swigregister", ostream_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_istream", _wrap_new_istream, METH_VARARGS, NULL},
+ { (char *)"delete_istream", _wrap_delete_istream, METH_VARARGS, NULL},
+ { (char *)"istream___rshift__", _wrap_istream___rshift__, METH_VARARGS, NULL},
+ { (char *)"istream_gcount", _wrap_istream_gcount, METH_VARARGS, NULL},
+ { (char *)"istream_get", _wrap_istream_get, METH_VARARGS, NULL},
+ { (char *)"istream_getline", _wrap_istream_getline, METH_VARARGS, NULL},
+ { (char *)"istream_ignore", _wrap_istream_ignore, METH_VARARGS, NULL},
+ { (char *)"istream_peek", _wrap_istream_peek, METH_VARARGS, NULL},
+ { (char *)"istream_read", _wrap_istream_read, METH_VARARGS, NULL},
+ { (char *)"istream_readsome", _wrap_istream_readsome, METH_VARARGS, NULL},
+ { (char *)"istream_putback", _wrap_istream_putback, METH_VARARGS, NULL},
+ { (char *)"istream_unget", _wrap_istream_unget, METH_VARARGS, NULL},
+ { (char *)"istream_sync", _wrap_istream_sync, METH_VARARGS, NULL},
+ { (char *)"istream_tellg", _wrap_istream_tellg, METH_VARARGS, NULL},
+ { (char *)"istream_seekg", _wrap_istream_seekg, METH_VARARGS, NULL},
+ { (char *)"istream_swigregister", istream_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_iostream", _wrap_new_iostream, METH_VARARGS, NULL},
+ { (char *)"delete_iostream", _wrap_delete_iostream, METH_VARARGS, NULL},
+ { (char *)"iostream_swigregister", iostream_swigregister, METH_VARARGS, NULL},
+ { (char *)"endl", _wrap_endl, METH_VARARGS, (char *)"swig_ptr: endl_cb_ptr"},
+ { (char *)"ends", _wrap_ends, METH_VARARGS, (char *)"swig_ptr: ends_cb_ptr"},
+ { (char *)"flush", _wrap_flush, METH_VARARGS, (char *)"swig_ptr: flush_cb_ptr"},
+ { (char *)"accuracy2ura", _wrap_accuracy2ura, METH_VARARGS, NULL},
+ { (char *)"ura2accuracy", _wrap_ura2accuracy, METH_VARARGS, NULL},
+ { (char *)"ios_out", _wrap_ios_out, METH_VARARGS, NULL},
+ { (char *)"ios_in", _wrap_ios_in, METH_VARARGS, NULL},
+ { (char *)"ios_out_trunc", _wrap_ios_out_trunc, METH_VARARGS, NULL},
+ { (char *)"read", _wrap_read, METH_VARARGS, NULL},
+ { (char *)"write", _wrap_write, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_find", _wrap_RinexPrnMap_find, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_end", _wrap_RinexPrnMap_end, METH_VARARGS, NULL},
+ { (char *)"getPseudoRangeCode", _wrap_getPseudoRangeCode, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_compare", _wrap_RinexPrnMap_compare, METH_VARARGS, NULL},
+ { (char *)"delete_FFData", _wrap_delete_FFData, METH_VARARGS, NULL},
+ { (char *)"FFData_putRecord", _wrap_FFData_putRecord, METH_VARARGS, NULL},
+ { (char *)"FFData_getRecord", _wrap_FFData_getRecord, METH_VARARGS, NULL},
+ { (char *)"FFData_dump", _wrap_FFData_dump, METH_VARARGS, NULL},
+ { (char *)"FFData_isHeader", _wrap_FFData_isHeader, METH_VARARGS, NULL},
+ { (char *)"FFData_isData", _wrap_FFData_isData, METH_VARARGS, NULL},
+ { (char *)"streamWrite", _wrap_streamWrite, METH_VARARGS, NULL},
+ { (char *)"FFData_swigregister", FFData_swigregister, METH_VARARGS, NULL},
+ { (char *)"delete_FFStream", _wrap_delete_FFStream, METH_VARARGS, NULL},
+ { (char *)"new_FFStream", _wrap_new_FFStream, METH_VARARGS, NULL},
+ { (char *)"FFStream_open", _wrap_FFStream_open, METH_VARARGS, NULL},
+ { (char *)"FFStream_conditionalThrow", _wrap_FFStream_conditionalThrow, METH_VARARGS, NULL},
+ { (char *)"FFStream_mostRecentException_set", _wrap_FFStream_mostRecentException_set, METH_VARARGS, NULL},
+ { (char *)"FFStream_mostRecentException_get", _wrap_FFStream_mostRecentException_get, METH_VARARGS, NULL},
+ { (char *)"FFStream_recordNumber_set", _wrap_FFStream_recordNumber_set, METH_VARARGS, NULL},
+ { (char *)"FFStream_recordNumber_get", _wrap_FFStream_recordNumber_get, METH_VARARGS, NULL},
+ { (char *)"FFStream_filename_set", _wrap_FFStream_filename_set, METH_VARARGS, NULL},
+ { (char *)"FFStream_filename_get", _wrap_FFStream_filename_get, METH_VARARGS, NULL},
+ { (char *)"FFStream_swigregister", FFStream_swigregister, METH_VARARGS, NULL},
+ { (char *)"delete_FFTextStream", _wrap_delete_FFTextStream, METH_VARARGS, NULL},
+ { (char *)"new_FFTextStream", _wrap_new_FFTextStream, METH_VARARGS, NULL},
+ { (char *)"FFTextStream_open", _wrap_FFTextStream_open, METH_VARARGS, NULL},
+ { (char *)"FFTextStream_lineNumber_set", _wrap_FFTextStream_lineNumber_set, METH_VARARGS, NULL},
+ { (char *)"FFTextStream_lineNumber_get", _wrap_FFTextStream_lineNumber_get, METH_VARARGS, NULL},
+ { (char *)"FFTextStream_formattedGetLine", _wrap_FFTextStream_formattedGetLine, METH_VARARGS, NULL},
+ { (char *)"FFTextStream_swigregister", FFTextStream_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_ExceptionLocation", _wrap_new_ExceptionLocation, METH_VARARGS, NULL},
+ { (char *)"delete_ExceptionLocation", _wrap_delete_ExceptionLocation, METH_VARARGS, NULL},
+ { (char *)"ExceptionLocation_getFileName", _wrap_ExceptionLocation_getFileName, METH_VARARGS, NULL},
+ { (char *)"ExceptionLocation_getFunctionName", _wrap_ExceptionLocation_getFunctionName, METH_VARARGS, NULL},
+ { (char *)"ExceptionLocation_getLineNumber", _wrap_ExceptionLocation_getLineNumber, METH_VARARGS, NULL},
+ { (char *)"ExceptionLocation_dump", _wrap_ExceptionLocation_dump, METH_VARARGS, NULL},
+ { (char *)"ExceptionLocation_swigregister", ExceptionLocation_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_Exception", _wrap_new_Exception, METH_VARARGS, NULL},
+ { (char *)"delete_Exception", _wrap_delete_Exception, METH_VARARGS, NULL},
+ { (char *)"Exception_class_operator_assignment", _wrap_Exception_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"Exception_terminate", _wrap_Exception_terminate, METH_VARARGS, NULL},
+ { (char *)"Exception_getErrorId", _wrap_Exception_getErrorId, METH_VARARGS, NULL},
+ { (char *)"Exception_setErrorId", _wrap_Exception_setErrorId, METH_VARARGS, NULL},
+ { (char *)"Exception_addLocation", _wrap_Exception_addLocation, METH_VARARGS, NULL},
+ { (char *)"Exception_getLocation", _wrap_Exception_getLocation, METH_VARARGS, NULL},
+ { (char *)"Exception_getLocationCount", _wrap_Exception_getLocationCount, METH_VARARGS, NULL},
+ { (char *)"Exception_isRecoverable", _wrap_Exception_isRecoverable, METH_VARARGS, NULL},
+ { (char *)"Exception_setSeverity", _wrap_Exception_setSeverity, METH_VARARGS, NULL},
+ { (char *)"Exception_addText", _wrap_Exception_addText, METH_VARARGS, NULL},
+ { (char *)"Exception_getText", _wrap_Exception_getText, METH_VARARGS, NULL},
+ { (char *)"Exception_getTextCount", _wrap_Exception_getTextCount, METH_VARARGS, NULL},
+ { (char *)"Exception_getName", _wrap_Exception_getName, METH_VARARGS, NULL},
+ { (char *)"Exception_dump", _wrap_Exception_dump, METH_VARARGS, NULL},
+ { (char *)"Exception_swigregister", Exception_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_InvalidParameter", _wrap_new_InvalidParameter, METH_VARARGS, NULL},
+ { (char *)"delete_InvalidParameter", _wrap_delete_InvalidParameter, METH_VARARGS, NULL},
+ { (char *)"InvalidParameter_getName", _wrap_InvalidParameter_getName, METH_VARARGS, NULL},
+ { (char *)"InvalidParameter_class_operator_assignment", _wrap_InvalidParameter_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"InvalidParameter_swigregister", InvalidParameter_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_InvalidRequest", _wrap_new_InvalidRequest, METH_VARARGS, NULL},
+ { (char *)"delete_InvalidRequest", _wrap_delete_InvalidRequest, METH_VARARGS, NULL},
+ { (char *)"InvalidRequest_getName", _wrap_InvalidRequest_getName, METH_VARARGS, NULL},
+ { (char *)"InvalidRequest_class_operator_assignment", _wrap_InvalidRequest_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"InvalidRequest_swigregister", InvalidRequest_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_AssertionFailure", _wrap_new_AssertionFailure, METH_VARARGS, NULL},
+ { (char *)"delete_AssertionFailure", _wrap_delete_AssertionFailure, METH_VARARGS, NULL},
+ { (char *)"AssertionFailure_getName", _wrap_AssertionFailure_getName, METH_VARARGS, NULL},
+ { (char *)"AssertionFailure_class_operator_assignment", _wrap_AssertionFailure_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"AssertionFailure_swigregister", AssertionFailure_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_AccessError", _wrap_new_AccessError, METH_VARARGS, NULL},
+ { (char *)"delete_AccessError", _wrap_delete_AccessError, METH_VARARGS, NULL},
+ { (char *)"AccessError_getName", _wrap_AccessError_getName, METH_VARARGS, NULL},
+ { (char *)"AccessError_class_operator_assignment", _wrap_AccessError_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"AccessError_swigregister", AccessError_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_IndexOutOfBoundsException", _wrap_new_IndexOutOfBoundsException, METH_VARARGS, NULL},
+ { (char *)"delete_IndexOutOfBoundsException", _wrap_delete_IndexOutOfBoundsException, METH_VARARGS, NULL},
+ { (char *)"IndexOutOfBoundsException_getName", _wrap_IndexOutOfBoundsException_getName, METH_VARARGS, NULL},
+ { (char *)"IndexOutOfBoundsException_class_operator_assignment", _wrap_IndexOutOfBoundsException_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"IndexOutOfBoundsException_swigregister", IndexOutOfBoundsException_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_InvalidArgumentException", _wrap_new_InvalidArgumentException, METH_VARARGS, NULL},
+ { (char *)"delete_InvalidArgumentException", _wrap_delete_InvalidArgumentException, METH_VARARGS, NULL},
+ { (char *)"InvalidArgumentException_getName", _wrap_InvalidArgumentException_getName, METH_VARARGS, NULL},
+ { (char *)"InvalidArgumentException_class_operator_assignment", _wrap_InvalidArgumentException_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"InvalidArgumentException_swigregister", InvalidArgumentException_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_ConfigurationException", _wrap_new_ConfigurationException, METH_VARARGS, NULL},
+ { (char *)"delete_ConfigurationException", _wrap_delete_ConfigurationException, METH_VARARGS, NULL},
+ { (char *)"ConfigurationException_getName", _wrap_ConfigurationException_getName, METH_VARARGS, NULL},
+ { (char *)"ConfigurationException_class_operator_assignment", _wrap_ConfigurationException_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"ConfigurationException_swigregister", ConfigurationException_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_FileMissingException", _wrap_new_FileMissingException, METH_VARARGS, NULL},
+ { (char *)"delete_FileMissingException", _wrap_delete_FileMissingException, METH_VARARGS, NULL},
+ { (char *)"FileMissingException_getName", _wrap_FileMissingException_getName, METH_VARARGS, NULL},
+ { (char *)"FileMissingException_class_operator_assignment", _wrap_FileMissingException_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"FileMissingException_swigregister", FileMissingException_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_SystemSemaphoreException", _wrap_new_SystemSemaphoreException, METH_VARARGS, NULL},
+ { (char *)"delete_SystemSemaphoreException", _wrap_delete_SystemSemaphoreException, METH_VARARGS, NULL},
+ { (char *)"SystemSemaphoreException_getName", _wrap_SystemSemaphoreException_getName, METH_VARARGS, NULL},
+ { (char *)"SystemSemaphoreException_class_operator_assignment", _wrap_SystemSemaphoreException_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"SystemSemaphoreException_swigregister", SystemSemaphoreException_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_SystemPipeException", _wrap_new_SystemPipeException, METH_VARARGS, NULL},
+ { (char *)"delete_SystemPipeException", _wrap_delete_SystemPipeException, METH_VARARGS, NULL},
+ { (char *)"SystemPipeException_getName", _wrap_SystemPipeException_getName, METH_VARARGS, NULL},
+ { (char *)"SystemPipeException_class_operator_assignment", _wrap_SystemPipeException_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"SystemPipeException_swigregister", SystemPipeException_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_SystemQueueException", _wrap_new_SystemQueueException, METH_VARARGS, NULL},
+ { (char *)"delete_SystemQueueException", _wrap_delete_SystemQueueException, METH_VARARGS, NULL},
+ { (char *)"SystemQueueException_getName", _wrap_SystemQueueException_getName, METH_VARARGS, NULL},
+ { (char *)"SystemQueueException_class_operator_assignment", _wrap_SystemQueueException_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"SystemQueueException_swigregister", SystemQueueException_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_OutOfMemory", _wrap_new_OutOfMemory, METH_VARARGS, NULL},
+ { (char *)"delete_OutOfMemory", _wrap_delete_OutOfMemory, METH_VARARGS, NULL},
+ { (char *)"OutOfMemory_getName", _wrap_OutOfMemory_getName, METH_VARARGS, NULL},
+ { (char *)"OutOfMemory_class_operator_assignment", _wrap_OutOfMemory_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"OutOfMemory_swigregister", OutOfMemory_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_ObjectNotFound", _wrap_new_ObjectNotFound, METH_VARARGS, NULL},
+ { (char *)"delete_ObjectNotFound", _wrap_delete_ObjectNotFound, METH_VARARGS, NULL},
+ { (char *)"ObjectNotFound_getName", _wrap_ObjectNotFound_getName, METH_VARARGS, NULL},
+ { (char *)"ObjectNotFound_class_operator_assignment", _wrap_ObjectNotFound_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"Exception_streamRead", _wrap_Exception_streamRead, METH_VARARGS, NULL},
+ { (char *)"ObjectNotFound_swigregister", ObjectNotFound_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_InvalidValue", _wrap_new_InvalidValue, METH_VARARGS, NULL},
+ { (char *)"delete_InvalidValue", _wrap_delete_InvalidValue, METH_VARARGS, NULL},
+ { (char *)"InvalidValue_getName", _wrap_InvalidValue_getName, METH_VARARGS, NULL},
+ { (char *)"InvalidValue_class_operator_assignment", _wrap_InvalidValue_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"InvalidValue_swigregister", InvalidValue_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_X1Sequence", _wrap_new_X1Sequence, METH_VARARGS, NULL},
+ { (char *)"delete_X1Sequence", _wrap_delete_X1Sequence, METH_VARARGS, NULL},
+ { (char *)"X1Sequence_allocateMemory", _wrap_X1Sequence_allocateMemory, METH_VARARGS, NULL},
+ { (char *)"X1Sequence_deAllocateMemory", _wrap_X1Sequence_deAllocateMemory, METH_VARARGS, NULL},
+ { (char *)"X1Sequence_class_operator_bracket", _wrap_X1Sequence_class_operator_bracket, METH_VARARGS, NULL},
+ { (char *)"X1Sequence_swigregister", X1Sequence_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_X2Sequence", _wrap_new_X2Sequence, METH_VARARGS, NULL},
+ { (char *)"delete_X2Sequence", _wrap_delete_X2Sequence, METH_VARARGS, NULL},
+ { (char *)"X2Sequence_allocateMemory", _wrap_X2Sequence_allocateMemory, METH_VARARGS, NULL},
+ { (char *)"X2Sequence_deAllocateMemory", _wrap_X2Sequence_deAllocateMemory, METH_VARARGS, NULL},
+ { (char *)"X2Sequence_class_operator_bracket", _wrap_X2Sequence_class_operator_bracket, METH_VARARGS, NULL},
+ { (char *)"X2Sequence_setEOWX2Epoch", _wrap_X2Sequence_setEOWX2Epoch, METH_VARARGS, NULL},
+ { (char *)"X2Sequence_swigregister", X2Sequence_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_CodeBuffer", _wrap_new_CodeBuffer, METH_VARARGS, NULL},
+ { (char *)"delete_CodeBuffer", _wrap_delete_CodeBuffer, METH_VARARGS, NULL},
+ { (char *)"CodeBuffer_class_operator_assignment", _wrap_CodeBuffer_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"CodeBuffer_updateBufferStatus", _wrap_CodeBuffer_updateBufferStatus, METH_VARARGS, NULL},
+ { (char *)"CodeBuffer_getCurrentTime", _wrap_CodeBuffer_getCurrentTime, METH_VARARGS, NULL},
+ { (char *)"CodeBuffer_getPYFlag", _wrap_CodeBuffer_getPYFlag, METH_VARARGS, NULL},
+ { (char *)"CodeBuffer_getPRNID", _wrap_CodeBuffer_getPRNID, METH_VARARGS, NULL},
+ { (char *)"CodeBuffer_class_operator_bracket", _wrap_CodeBuffer_class_operator_bracket, METH_VARARGS, NULL},
+ { (char *)"CodeBuffer_operator_bracket_const", _wrap_CodeBuffer_operator_bracket_const, METH_VARARGS, NULL},
+ { (char *)"CodeBuffer_getBit", _wrap_CodeBuffer_getBit, METH_VARARGS, NULL},
+ { (char *)"CodeBuffer___ixor__", _wrap_CodeBuffer___ixor__, METH_VARARGS, NULL},
+ { (char *)"CodeBuffer_swigregister", CodeBuffer_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_SatID", _wrap_new_SatID, METH_VARARGS, NULL},
+ { (char *)"SatID_setfill", _wrap_SatID_setfill, METH_VARARGS, NULL},
+ { (char *)"SatID_getfill", _wrap_SatID_getfill, METH_VARARGS, NULL},
+ { (char *)"SatID_systemCode", _wrap_SatID_systemCode, METH_VARARGS, NULL},
+ { (char *)"SatID___eq__", _wrap_SatID___eq__, METH_VARARGS, NULL},
+ { (char *)"SatID___ne__", _wrap_SatID___ne__, METH_VARARGS, NULL},
+ { (char *)"SatID___lt__", _wrap_SatID___lt__, METH_VARARGS, NULL},
+ { (char *)"SatID_id_set", _wrap_SatID_id_set, METH_VARARGS, NULL},
+ { (char *)"SatID_id_get", _wrap_SatID_id_get, METH_VARARGS, NULL},
+ { (char *)"SatID_system_set", _wrap_SatID_system_set, METH_VARARGS, NULL},
+ { (char *)"SatID_system_get", _wrap_SatID_system_get, METH_VARARGS, NULL},
+ { (char *)"delete_SatID", _wrap_delete_SatID, METH_VARARGS, NULL},
+ { (char *)"SatID_swigregister", SatID_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_GenXSequence", _wrap_new_GenXSequence, METH_VARARGS, NULL},
+ { (char *)"delete_GenXSequence", _wrap_delete_GenXSequence, METH_VARARGS, NULL},
+ { (char *)"GenXSequence_class_operator_bracket", _wrap_GenXSequence_class_operator_bracket, METH_VARARGS, NULL},
+ { (char *)"GenXSequence_setLengthOfSequence", _wrap_GenXSequence_setLengthOfSequence, METH_VARARGS, NULL},
+ { (char *)"GenXSequence_swigregister", GenXSequence_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_SVPCodeGen", _wrap_new_SVPCodeGen, METH_VARARGS, NULL},
+ { (char *)"delete_SVPCodeGen", _wrap_delete_SVPCodeGen, METH_VARARGS, NULL},
+ { (char *)"SVPCodeGen_getCurrentSixSeconds", _wrap_SVPCodeGen_getCurrentSixSeconds, METH_VARARGS, NULL},
+ { (char *)"SVPCodeGen_increment4ZCounts", _wrap_SVPCodeGen_increment4ZCounts, METH_VARARGS, NULL},
+ { (char *)"SVPCodeGen_getCurrentZCount", _wrap_SVPCodeGen_getCurrentZCount, METH_VARARGS, NULL},
+ { (char *)"SVPCodeGen_swigregister", SVPCodeGen_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_Observation", _wrap_new_Observation, METH_VARARGS, NULL},
+ { (char *)"Observation_range_set", _wrap_Observation_range_set, METH_VARARGS, NULL},
+ { (char *)"Observation_range_get", _wrap_Observation_range_get, METH_VARARGS, NULL},
+ { (char *)"Observation_phase_set", _wrap_Observation_phase_set, METH_VARARGS, NULL},
+ { (char *)"Observation_phase_get", _wrap_Observation_phase_get, METH_VARARGS, NULL},
+ { (char *)"Observation_doppler_set", _wrap_Observation_doppler_set, METH_VARARGS, NULL},
+ { (char *)"Observation_doppler_get", _wrap_Observation_doppler_get, METH_VARARGS, NULL},
+ { (char *)"Observation_SNR_set", _wrap_Observation_SNR_set, METH_VARARGS, NULL},
+ { (char *)"Observation_SNR_get", _wrap_Observation_SNR_get, METH_VARARGS, NULL},
+ { (char *)"Observation_channel_set", _wrap_Observation_channel_set, METH_VARARGS, NULL},
+ { (char *)"Observation_channel_get", _wrap_Observation_channel_get, METH_VARARGS, NULL},
+ { (char *)"Observation_code_set", _wrap_Observation_code_set, METH_VARARGS, NULL},
+ { (char *)"Observation_code_get", _wrap_Observation_code_get, METH_VARARGS, NULL},
+ { (char *)"Observation_carrier_set", _wrap_Observation_carrier_set, METH_VARARGS, NULL},
+ { (char *)"Observation_carrier_get", _wrap_Observation_carrier_get, METH_VARARGS, NULL},
+ { (char *)"delete_Observation", _wrap_delete_Observation, METH_VARARGS, NULL},
+ { (char *)"Observation_swigregister", Observation_swigregister, METH_VARARGS, NULL},
+ { (char *)"ObservationPlus_obs_set", _wrap_ObservationPlus_obs_set, METH_VARARGS, NULL},
+ { (char *)"ObservationPlus_obs_get", _wrap_ObservationPlus_obs_get, METH_VARARGS, NULL},
+ { (char *)"ObservationPlus_time_set", _wrap_ObservationPlus_time_set, METH_VARARGS, NULL},
+ { (char *)"ObservationPlus_time_get", _wrap_ObservationPlus_time_get, METH_VARARGS, NULL},
+ { (char *)"ObservationPlus_rxId_set", _wrap_ObservationPlus_rxId_set, METH_VARARGS, NULL},
+ { (char *)"ObservationPlus_rxId_get", _wrap_ObservationPlus_rxId_get, METH_VARARGS, NULL},
+ { (char *)"ObservationPlus_svId_set", _wrap_ObservationPlus_svId_set, METH_VARARGS, NULL},
+ { (char *)"ObservationPlus_svId_get", _wrap_ObservationPlus_svId_get, METH_VARARGS, NULL},
+ { (char *)"new_ObservationPlus", _wrap_new_ObservationPlus, METH_VARARGS, NULL},
+ { (char *)"delete_ObservationPlus", _wrap_delete_ObservationPlus, METH_VARARGS, NULL},
+ { (char *)"ObservationPlus_swigregister", ObservationPlus_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_ObsEpoch", _wrap_new_ObsEpoch, METH_VARARGS, NULL},
+ { (char *)"ObsEpoch_insertObservation", _wrap_ObsEpoch_insertObservation, METH_VARARGS, NULL},
+ { (char *)"ObsEpoch_t_set", _wrap_ObsEpoch_t_set, METH_VARARGS, NULL},
+ { (char *)"ObsEpoch_t_get", _wrap_ObsEpoch_t_get, METH_VARARGS, NULL},
+ { (char *)"ObsEpoch_dt_set", _wrap_ObsEpoch_dt_set, METH_VARARGS, NULL},
+ { (char *)"ObsEpoch_dt_get", _wrap_ObsEpoch_dt_get, METH_VARARGS, NULL},
+ { (char *)"ObsEpoch_obs_set", _wrap_ObsEpoch_obs_set, METH_VARARGS, NULL},
+ { (char *)"ObsEpoch_obs_get", _wrap_ObsEpoch_obs_get, METH_VARARGS, NULL},
+ { (char *)"delete_ObsEpoch", _wrap_delete_ObsEpoch, METH_VARARGS, NULL},
+ { (char *)"ObsEpoch_swigregister", ObsEpoch_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RxObsData", _wrap_new_RxObsData, METH_VARARGS, NULL},
+ { (char *)"RxObsData_insertObservation", _wrap_RxObsData_insertObservation, METH_VARARGS, NULL},
+ { (char *)"RxObsData_insertEpoch", _wrap_RxObsData_insertEpoch, METH_VARARGS, NULL},
+ { (char *)"RxObsData_firstTime_set", _wrap_RxObsData_firstTime_set, METH_VARARGS, NULL},
+ { (char *)"RxObsData_firstTime_get", _wrap_RxObsData_firstTime_get, METH_VARARGS, NULL},
+ { (char *)"RxObsData_lastTime_set", _wrap_RxObsData_lastTime_set, METH_VARARGS, NULL},
+ { (char *)"RxObsData_lastTime_get", _wrap_RxObsData_lastTime_get, METH_VARARGS, NULL},
+ { (char *)"RxObsData_rxId_set", _wrap_RxObsData_rxId_set, METH_VARARGS, NULL},
+ { (char *)"RxObsData_rxId_get", _wrap_RxObsData_rxId_get, METH_VARARGS, NULL},
+ { (char *)"RxObsData_prnList_set", _wrap_RxObsData_prnList_set, METH_VARARGS, NULL},
+ { (char *)"RxObsData_prnList_get", _wrap_RxObsData_prnList_get, METH_VARARGS, NULL},
+ { (char *)"RxObsData_epochs_set", _wrap_RxObsData_epochs_set, METH_VARARGS, NULL},
+ { (char *)"RxObsData_epochs_get", _wrap_RxObsData_epochs_get, METH_VARARGS, NULL},
+ { (char *)"delete_RxObsData", _wrap_delete_RxObsData, METH_VARARGS, NULL},
+ { (char *)"RxObsData_swigregister", RxObsData_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_WxObservation", _wrap_new_WxObservation, METH_VARARGS, NULL},
+ { (char *)"WxObservation_t_set", _wrap_WxObservation_t_set, METH_VARARGS, NULL},
+ { (char *)"WxObservation_t_get", _wrap_WxObservation_t_get, METH_VARARGS, NULL},
+ { (char *)"WxObservation_temperature_set", _wrap_WxObservation_temperature_set, METH_VARARGS, NULL},
+ { (char *)"WxObservation_temperature_get", _wrap_WxObservation_temperature_get, METH_VARARGS, NULL},
+ { (char *)"WxObservation_pressure_set", _wrap_WxObservation_pressure_set, METH_VARARGS, NULL},
+ { (char *)"WxObservation_pressure_get", _wrap_WxObservation_pressure_get, METH_VARARGS, NULL},
+ { (char *)"WxObservation_humidity_set", _wrap_WxObservation_humidity_set, METH_VARARGS, NULL},
+ { (char *)"WxObservation_humidity_get", _wrap_WxObservation_humidity_get, METH_VARARGS, NULL},
+ { (char *)"WxObservation_temperatureSource_set", _wrap_WxObservation_temperatureSource_set, METH_VARARGS, NULL},
+ { (char *)"WxObservation_temperatureSource_get", _wrap_WxObservation_temperatureSource_get, METH_VARARGS, NULL},
+ { (char *)"WxObservation_pressureSource_set", _wrap_WxObservation_pressureSource_set, METH_VARARGS, NULL},
+ { (char *)"WxObservation_pressureSource_get", _wrap_WxObservation_pressureSource_get, METH_VARARGS, NULL},
+ { (char *)"WxObservation_humiditySource_set", _wrap_WxObservation_humiditySource_set, METH_VARARGS, NULL},
+ { (char *)"WxObservation_humiditySource_get", _wrap_WxObservation_humiditySource_get, METH_VARARGS, NULL},
+ { (char *)"WxObservation_isAllValid", _wrap_WxObservation_isAllValid, METH_VARARGS, NULL},
+ { (char *)"delete_WxObservation", _wrap_delete_WxObservation, METH_VARARGS, NULL},
+ { (char *)"WxObservation_swigregister", WxObservation_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_WxObsData", _wrap_new_WxObsData, METH_VARARGS, NULL},
+ { (char *)"WxObsData_firstTime_set", _wrap_WxObsData_firstTime_set, METH_VARARGS, NULL},
+ { (char *)"WxObsData_firstTime_get", _wrap_WxObsData_firstTime_get, METH_VARARGS, NULL},
+ { (char *)"WxObsData_lastTime_set", _wrap_WxObsData_lastTime_set, METH_VARARGS, NULL},
+ { (char *)"WxObsData_lastTime_get", _wrap_WxObsData_lastTime_get, METH_VARARGS, NULL},
+ { (char *)"WxObsData_rxId_set", _wrap_WxObsData_rxId_set, METH_VARARGS, NULL},
+ { (char *)"WxObsData_rxId_get", _wrap_WxObsData_rxId_get, METH_VARARGS, NULL},
+ { (char *)"WxObsData_obs_set", _wrap_WxObsData_obs_set, METH_VARARGS, NULL},
+ { (char *)"WxObsData_obs_get", _wrap_WxObsData_obs_get, METH_VARARGS, NULL},
+ { (char *)"WxObsData_getMostRecent", _wrap_WxObsData_getMostRecent, METH_VARARGS, NULL},
+ { (char *)"WxObsData_insertObservation", _wrap_WxObsData_insertObservation, METH_VARARGS, NULL},
+ { (char *)"WxObsData_flush", _wrap_WxObsData_flush, METH_VARARGS, NULL},
+ { (char *)"WxObsData_getWxObservation", _wrap_WxObsData_getWxObservation, METH_VARARGS, NULL},
+ { (char *)"delete_WxObsData", _wrap_delete_WxObsData, METH_VARARGS, NULL},
+ { (char *)"WxObsData_swigregister", WxObsData_swigregister, METH_VARARGS, NULL},
+ { (char *)"AlmanacStore_getPrnXvt", _wrap_AlmanacStore_getPrnXvt, METH_VARARGS, NULL},
+ { (char *)"AlmanacStore_getPrnHealth", _wrap_AlmanacStore_getPrnHealth, METH_VARARGS, NULL},
+ { (char *)"AlmanacStore_addAlmanac", _wrap_AlmanacStore_addAlmanac, METH_VARARGS, NULL},
+ { (char *)"AlmanacStore_findAlmanac", _wrap_AlmanacStore_findAlmanac, METH_VARARGS, NULL},
+ { (char *)"AlmanacStore_findAlmanacs", _wrap_AlmanacStore_findAlmanacs, METH_VARARGS, NULL},
+ { (char *)"AlmanacStore_size", _wrap_AlmanacStore_size, METH_VARARGS, NULL},
+ { (char *)"new_AlmanacStore", _wrap_new_AlmanacStore, METH_VARARGS, NULL},
+ { (char *)"delete_AlmanacStore", _wrap_delete_AlmanacStore, METH_VARARGS, NULL},
+ { (char *)"AlmanacStore_swigregister", AlmanacStore_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_AlmOrbit", _wrap_new_AlmOrbit, METH_VARARGS, NULL},
+ { (char *)"AlmOrbit_svXvt", _wrap_AlmOrbit_svXvt, METH_VARARGS, NULL},
+ { (char *)"AlmOrbit_getPRNID", _wrap_AlmOrbit_getPRNID, METH_VARARGS, NULL},
+ { (char *)"AlmOrbit_getFullWeek", _wrap_AlmOrbit_getFullWeek, METH_VARARGS, NULL},
+ { (char *)"AlmOrbit_getTransmitTime", _wrap_AlmOrbit_getTransmitTime, METH_VARARGS, NULL},
+ { (char *)"AlmOrbit_getToaTime", _wrap_AlmOrbit_getToaTime, METH_VARARGS, NULL},
+ { (char *)"AlmOrbit_getTimestamp", _wrap_AlmOrbit_getTimestamp, METH_VARARGS, NULL},
+ { (char *)"AlmOrbit_getSVHealth", _wrap_AlmOrbit_getSVHealth, METH_VARARGS, NULL},
+ { (char *)"delete_AlmOrbit", _wrap_delete_AlmOrbit, METH_VARARGS, NULL},
+ { (char *)"AlmOrbit_swigregister", AlmOrbit_swigregister, METH_VARARGS, NULL},
+ { (char *)"delete_IonoModel", _wrap_delete_IonoModel, METH_VARARGS, NULL},
+ { (char *)"new_IonoModel", _wrap_new_IonoModel, METH_VARARGS, NULL},
+ { (char *)"IonoModel_isValid", _wrap_IonoModel_isValid, METH_VARARGS, NULL},
+ { (char *)"IonoModel_getCorrection", _wrap_IonoModel_getCorrection, METH_VARARGS, NULL},
+ { (char *)"IonoModel___eq__", _wrap_IonoModel___eq__, METH_VARARGS, NULL},
+ { (char *)"IonoModel___ne__", _wrap_IonoModel___ne__, METH_VARARGS, NULL},
+ { (char *)"IonoModel_swigregister", IonoModel_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_IonoModelStore", _wrap_new_IonoModelStore, METH_VARARGS, NULL},
+ { (char *)"delete_IonoModelStore", _wrap_delete_IonoModelStore, METH_VARARGS, NULL},
+ { (char *)"IonoModelStore_getCorrection", _wrap_IonoModelStore_getCorrection, METH_VARARGS, NULL},
+ { (char *)"IonoModelStore_addIonoModel", _wrap_IonoModelStore_addIonoModel, METH_VARARGS, NULL},
+ { (char *)"IonoModelStore_swigregister", IonoModelStore_swigregister, METH_VARARGS, NULL},
+ { (char *)"delete_TropModel", _wrap_delete_TropModel, METH_VARARGS, NULL},
+ { (char *)"TropModel_isValid", _wrap_TropModel_isValid, METH_VARARGS, NULL},
+ { (char *)"TropModel_correction", _wrap_TropModel_correction, METH_VARARGS, NULL},
+ { (char *)"TropModel_dry_zenith_delay", _wrap_TropModel_dry_zenith_delay, METH_VARARGS, NULL},
+ { (char *)"TropModel_wet_zenith_delay", _wrap_TropModel_wet_zenith_delay, METH_VARARGS, NULL},
+ { (char *)"TropModel_dry_mapping_function", _wrap_TropModel_dry_mapping_function, METH_VARARGS, NULL},
+ { (char *)"TropModel_wet_mapping_function", _wrap_TropModel_wet_mapping_function, METH_VARARGS, NULL},
+ { (char *)"TropModel_setWeather", _wrap_TropModel_setWeather, METH_VARARGS, NULL},
+ { (char *)"TropModel_swigregister", TropModel_swigregister, METH_VARARGS, NULL},
+ { (char *)"ZeroTropModel_correction", _wrap_ZeroTropModel_correction, METH_VARARGS, NULL},
+ { (char *)"ZeroTropModel_dry_zenith_delay", _wrap_ZeroTropModel_dry_zenith_delay, METH_VARARGS, NULL},
+ { (char *)"ZeroTropModel_wet_zenith_delay", _wrap_ZeroTropModel_wet_zenith_delay, METH_VARARGS, NULL},
+ { (char *)"ZeroTropModel_dry_mapping_function", _wrap_ZeroTropModel_dry_mapping_function, METH_VARARGS, NULL},
+ { (char *)"ZeroTropModel_wet_mapping_function", _wrap_ZeroTropModel_wet_mapping_function, METH_VARARGS, NULL},
+ { (char *)"new_ZeroTropModel", _wrap_new_ZeroTropModel, METH_VARARGS, NULL},
+ { (char *)"delete_ZeroTropModel", _wrap_delete_ZeroTropModel, METH_VARARGS, NULL},
+ { (char *)"ZeroTropModel_swigregister", ZeroTropModel_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_SimpleTropModel", _wrap_new_SimpleTropModel, METH_VARARGS, NULL},
+ { (char *)"SimpleTropModel_dry_zenith_delay", _wrap_SimpleTropModel_dry_zenith_delay, METH_VARARGS, NULL},
+ { (char *)"SimpleTropModel_wet_zenith_delay", _wrap_SimpleTropModel_wet_zenith_delay, METH_VARARGS, NULL},
+ { (char *)"SimpleTropModel_dry_mapping_function", _wrap_SimpleTropModel_dry_mapping_function, METH_VARARGS, NULL},
+ { (char *)"SimpleTropModel_wet_mapping_function", _wrap_SimpleTropModel_wet_mapping_function, METH_VARARGS, NULL},
+ { (char *)"SimpleTropModel_setWeather", _wrap_SimpleTropModel_setWeather, METH_VARARGS, NULL},
+ { (char *)"delete_SimpleTropModel", _wrap_delete_SimpleTropModel, METH_VARARGS, NULL},
+ { (char *)"SimpleTropModel_swigregister", SimpleTropModel_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_GGTropModel", _wrap_new_GGTropModel, METH_VARARGS, NULL},
+ { (char *)"GGTropModel_dry_zenith_delay", _wrap_GGTropModel_dry_zenith_delay, METH_VARARGS, NULL},
+ { (char *)"GGTropModel_wet_zenith_delay", _wrap_GGTropModel_wet_zenith_delay, METH_VARARGS, NULL},
+ { (char *)"GGTropModel_dry_mapping_function", _wrap_GGTropModel_dry_mapping_function, METH_VARARGS, NULL},
+ { (char *)"GGTropModel_wet_mapping_function", _wrap_GGTropModel_wet_mapping_function, METH_VARARGS, NULL},
+ { (char *)"GGTropModel_setWeather", _wrap_GGTropModel_setWeather, METH_VARARGS, NULL},
+ { (char *)"delete_GGTropModel", _wrap_delete_GGTropModel, METH_VARARGS, NULL},
+ { (char *)"GGTropModel_swigregister", GGTropModel_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_GGHeightTropModel", _wrap_new_GGHeightTropModel, METH_VARARGS, NULL},
+ { (char *)"GGHeightTropModel_correction", _wrap_GGHeightTropModel_correction, METH_VARARGS, NULL},
+ { (char *)"GGHeightTropModel_dry_zenith_delay", _wrap_GGHeightTropModel_dry_zenith_delay, METH_VARARGS, NULL},
+ { (char *)"GGHeightTropModel_wet_zenith_delay", _wrap_GGHeightTropModel_wet_zenith_delay, METH_VARARGS, NULL},
+ { (char *)"GGHeightTropModel_dry_mapping_function", _wrap_GGHeightTropModel_dry_mapping_function, METH_VARARGS, NULL},
+ { (char *)"GGHeightTropModel_wet_mapping_function", _wrap_GGHeightTropModel_wet_mapping_function, METH_VARARGS, NULL},
+ { (char *)"GGHeightTropModel_setWeather", _wrap_GGHeightTropModel_setWeather, METH_VARARGS, NULL},
+ { (char *)"GGHeightTropModel_setHeights", _wrap_GGHeightTropModel_setHeights, METH_VARARGS, NULL},
+ { (char *)"GGHeightTropModel_setReceiverHeight", _wrap_GGHeightTropModel_setReceiverHeight, METH_VARARGS, NULL},
+ { (char *)"delete_GGHeightTropModel", _wrap_delete_GGHeightTropModel, METH_VARARGS, NULL},
+ { (char *)"GGHeightTropModel_swigregister", GGHeightTropModel_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_NBTropModel", _wrap_new_NBTropModel, METH_VARARGS, NULL},
+ { (char *)"NBTropModel_correction", _wrap_NBTropModel_correction, METH_VARARGS, NULL},
+ { (char *)"NBTropModel_dry_zenith_delay", _wrap_NBTropModel_dry_zenith_delay, METH_VARARGS, NULL},
+ { (char *)"NBTropModel_wet_zenith_delay", _wrap_NBTropModel_wet_zenith_delay, METH_VARARGS, NULL},
+ { (char *)"NBTropModel_dry_mapping_function", _wrap_NBTropModel_dry_mapping_function, METH_VARARGS, NULL},
+ { (char *)"NBTropModel_wet_mapping_function", _wrap_NBTropModel_wet_mapping_function, METH_VARARGS, NULL},
+ { (char *)"NBTropModel_setWeather", _wrap_NBTropModel_setWeather, METH_VARARGS, NULL},
+ { (char *)"NBTropModel_setReceiverHeight", _wrap_NBTropModel_setReceiverHeight, METH_VARARGS, NULL},
+ { (char *)"NBTropModel_setReceiverLatitude", _wrap_NBTropModel_setReceiverLatitude, METH_VARARGS, NULL},
+ { (char *)"NBTropModel_setDayOfYear", _wrap_NBTropModel_setDayOfYear, METH_VARARGS, NULL},
+ { (char *)"delete_NBTropModel", _wrap_delete_NBTropModel, METH_VARARGS, NULL},
+ { (char *)"NBTropModel_swigregister", NBTropModel_swigregister, METH_VARARGS, NULL},
+ { (char *)"ClockModel_getOffset", _wrap_ClockModel_getOffset, METH_VARARGS, NULL},
+ { (char *)"ClockModel_isOffsetValid", _wrap_ClockModel_isOffsetValid, METH_VARARGS, NULL},
+ { (char *)"delete_ClockModel", _wrap_delete_ClockModel, METH_VARARGS, NULL},
+ { (char *)"ClockModel_swigregister", ClockModel_swigregister, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_addEpoch", _wrap_ObsClockModel_addEpoch, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_setPRNModeMap", _wrap_ObsClockModel_setPRNModeMap, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_setPRNMode", _wrap_ObsClockModel_setPRNMode, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_setSigmaMultiplier", _wrap_ObsClockModel_setSigmaMultiplier, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_setElevationMask", _wrap_ObsClockModel_setElevationMask, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_getPRNStatusMap", _wrap_ObsClockModel_getPRNStatusMap, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_getPRNStatus", _wrap_ObsClockModel_getPRNStatus, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_getPRNModeMap", _wrap_ObsClockModel_getPRNModeMap, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_getPRNMode", _wrap_ObsClockModel_getPRNMode, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_getSigmaMultiplier", _wrap_ObsClockModel_getSigmaMultiplier, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_getElevationMask", _wrap_ObsClockModel_getElevationMask, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_simpleOrdClock", _wrap_ObsClockModel_simpleOrdClock, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_dump", _wrap_ObsClockModel_dump, METH_VARARGS, NULL},
+ { (char *)"delete_ObsClockModel", _wrap_delete_ObsClockModel, METH_VARARGS, NULL},
+ { (char *)"ObsClockModel_swigregister", ObsClockModel_swigregister, METH_VARARGS, NULL},
+ { (char *)"EpochClockModel_isOffsetValid", _wrap_EpochClockModel_isOffsetValid, METH_VARARGS, NULL},
+ { (char *)"EpochClockModel_addEpoch", _wrap_EpochClockModel_addEpoch, METH_VARARGS, NULL},
+ { (char *)"delete_EpochClockModel", _wrap_delete_EpochClockModel, METH_VARARGS, NULL},
+ { (char *)"EpochClockModel_swigregister", EpochClockModel_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_LinearClockModel", _wrap_new_LinearClockModel, METH_VARARGS, NULL},
+ { (char *)"LinearClockModel_getOffset", _wrap_LinearClockModel_getOffset, METH_VARARGS, NULL},
+ { (char *)"LinearClockModel_isOffsetValid", _wrap_LinearClockModel_isOffsetValid, METH_VARARGS, NULL},
+ { (char *)"LinearClockModel_addEpoch", _wrap_LinearClockModel_addEpoch, METH_VARARGS, NULL},
+ { (char *)"LinearClockModel_reset", _wrap_LinearClockModel_reset, METH_VARARGS, NULL},
+ { (char *)"LinearClockModel_dump", _wrap_LinearClockModel_dump, METH_VARARGS, NULL},
+ { (char *)"delete_LinearClockModel", _wrap_delete_LinearClockModel, METH_VARARGS, NULL},
+ { (char *)"LinearClockModel_swigregister", LinearClockModel_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_BCEphemerisStore", _wrap_new_BCEphemerisStore, METH_VARARGS, NULL},
+ { (char *)"delete_BCEphemerisStore", _wrap_delete_BCEphemerisStore, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_getPrnHealth", _wrap_BCEphemerisStore_getPrnHealth, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_dump", _wrap_BCEphemerisStore_dump, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_getInitialTime", _wrap_BCEphemerisStore_getInitialTime, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_getFinalTime", _wrap_BCEphemerisStore_getFinalTime, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_addEphemeris", _wrap_BCEphemerisStore_addEphemeris, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_wiper", _wrap_BCEphemerisStore_wiper, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_edit", _wrap_BCEphemerisStore_edit, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_clear", _wrap_BCEphemerisStore_clear, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_getPrnXvt", _wrap_BCEphemerisStore_getPrnXvt, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_ubeSize", _wrap_BCEphemerisStore_ubeSize, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_size", _wrap_BCEphemerisStore_size, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_findEphemeris", _wrap_BCEphemerisStore_findEphemeris, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_findUserEphemeris", _wrap_BCEphemerisStore_findUserEphemeris, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_findNearEphemeris", _wrap_BCEphemerisStore_findNearEphemeris, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_addToList", _wrap_BCEphemerisStore_addToList, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_SearchNear", _wrap_BCEphemerisStore_SearchNear, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_SearchPast", _wrap_BCEphemerisStore_SearchPast, METH_VARARGS, NULL},
+ { (char *)"BCEphemerisStore_swigregister", BCEphemerisStore_swigregister, METH_VARARGS, NULL},
+ { (char *)"delete_FileStore_RinexNavHeader", _wrap_delete_FileStore_RinexNavHeader, METH_VARARGS, NULL},
+ { (char *)"FileStore_RinexNavHeader_getFileNames", _wrap_FileStore_RinexNavHeader_getFileNames, METH_VARARGS, NULL},
+ { (char *)"FileStore_RinexNavHeader_addFile", _wrap_FileStore_RinexNavHeader_addFile, METH_VARARGS, NULL},
+ { (char *)"FileStore_RinexNavHeader_getHeader", _wrap_FileStore_RinexNavHeader_getHeader, METH_VARARGS, NULL},
+ { (char *)"FileStore_RinexNavHeader_loadFile", _wrap_FileStore_RinexNavHeader_loadFile, METH_VARARGS, NULL},
+ { (char *)"FileStore_RinexNavHeader_loadFiles", _wrap_FileStore_RinexNavHeader_loadFiles, METH_VARARGS, NULL},
+ { (char *)"FileStore_RinexNavHeader_size", _wrap_FileStore_RinexNavHeader_size, METH_VARARGS, NULL},
+ { (char *)"FileStore_RinexNavHeader_swigregister", FileStore_RinexNavHeader_swigregister, METH_VARARGS, NULL},
+ { (char *)"delete_FileStore_SP3Header", _wrap_delete_FileStore_SP3Header, METH_VARARGS, NULL},
+ { (char *)"FileStore_SP3Header_getFileNames", _wrap_FileStore_SP3Header_getFileNames, METH_VARARGS, NULL},
+ { (char *)"FileStore_SP3Header_addFile", _wrap_FileStore_SP3Header_addFile, METH_VARARGS, NULL},
+ { (char *)"FileStore_SP3Header_getHeader", _wrap_FileStore_SP3Header_getHeader, METH_VARARGS, NULL},
+ { (char *)"FileStore_SP3Header_loadFile", _wrap_FileStore_SP3Header_loadFile, METH_VARARGS, NULL},
+ { (char *)"FileStore_SP3Header_loadFiles", _wrap_FileStore_SP3Header_loadFiles, METH_VARARGS, NULL},
+ { (char *)"FileStore_SP3Header_size", _wrap_FileStore_SP3Header_size, METH_VARARGS, NULL},
+ { (char *)"FileStore_SP3Header_swigregister", FileStore_SP3Header_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RinexEphemerisStore", _wrap_new_RinexEphemerisStore, METH_VARARGS, NULL},
+ { (char *)"delete_RinexEphemerisStore", _wrap_delete_RinexEphemerisStore, METH_VARARGS, NULL},
+ { (char *)"RinexEphemerisStore_dump", _wrap_RinexEphemerisStore_dump, METH_VARARGS, NULL},
+ { (char *)"RinexEphemerisStore_loadFile", _wrap_RinexEphemerisStore_loadFile, METH_VARARGS, NULL},
+ { (char *)"RinexEphemerisStore_swigregister", RinexEphemerisStore_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_SP3EphemerisStore", _wrap_new_SP3EphemerisStore, METH_VARARGS, NULL},
+ { (char *)"delete_SP3EphemerisStore", _wrap_delete_SP3EphemerisStore, METH_VARARGS, NULL},
+ { (char *)"SP3EphemerisStore_dump", _wrap_SP3EphemerisStore_dump, METH_VARARGS, NULL},
+ { (char *)"SP3EphemerisStore_loadFile", _wrap_SP3EphemerisStore_loadFile, METH_VARARGS, NULL},
+ { (char *)"SP3EphemerisStore_swigregister", SP3EphemerisStore_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_FileHunterException", _wrap_new_FileHunterException, METH_VARARGS, NULL},
+ { (char *)"delete_FileHunterException", _wrap_delete_FileHunterException, METH_VARARGS, NULL},
+ { (char *)"FileHunterException_getName", _wrap_FileHunterException_getName, METH_VARARGS, NULL},
+ { (char *)"FileHunterException_class_operator_assignment", _wrap_FileHunterException_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"FileHunterException_swigregister", FileHunterException_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_FileHunter", _wrap_new_FileHunter, METH_VARARGS, NULL},
+ { (char *)"FileHunter_newHunt", _wrap_FileHunter_newHunt, METH_VARARGS, NULL},
+ { (char *)"FileHunter_setFilter", _wrap_FileHunter_setFilter, METH_VARARGS, NULL},
+ { (char *)"FileHunter_find", _wrap_FileHunter_find, METH_VARARGS, NULL},
+ { (char *)"FileHunter_dump", _wrap_FileHunter_dump, METH_VARARGS, NULL},
+ { (char *)"delete_FileHunter", _wrap_delete_FileHunter, METH_VARARGS, NULL},
+ { (char *)"FileHunter_swigregister", FileHunter_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_FICStream", _wrap_new_FICStream, METH_VARARGS, NULL},
+ { (char *)"delete_FICStream", _wrap_delete_FICStream, METH_VARARGS, NULL},
+ { (char *)"FICStream_open", _wrap_FICStream_open, METH_VARARGS, NULL},
+ { (char *)"FICStream_swigregister", FICStream_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_FICAStream", _wrap_new_FICAStream, METH_VARARGS, NULL},
+ { (char *)"delete_FICAStream", _wrap_delete_FICAStream, METH_VARARGS, NULL},
+ { (char *)"FICAStream_open", _wrap_FICAStream_open, METH_VARARGS, NULL},
+ { (char *)"FICAStream_swigregister", FICAStream_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_MSCStream", _wrap_new_MSCStream, METH_VARARGS, NULL},
+ { (char *)"delete_MSCStream", _wrap_delete_MSCStream, METH_VARARGS, NULL},
+ { (char *)"MSCStream_swigregister", MSCStream_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RinexMetStream", _wrap_new_RinexMetStream, METH_VARARGS, NULL},
+ { (char *)"delete_RinexMetStream", _wrap_delete_RinexMetStream, METH_VARARGS, NULL},
+ { (char *)"RinexMetStream_open", _wrap_RinexMetStream_open, METH_VARARGS, NULL},
+ { (char *)"RinexMetStream_header_set", _wrap_RinexMetStream_header_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetStream_header_get", _wrap_RinexMetStream_header_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetStream_headerRead_set", _wrap_RinexMetStream_headerRead_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetStream_headerRead_get", _wrap_RinexMetStream_headerRead_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetStream_swigregister", RinexMetStream_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RinexNavStream", _wrap_new_RinexNavStream, METH_VARARGS, NULL},
+ { (char *)"delete_RinexNavStream", _wrap_delete_RinexNavStream, METH_VARARGS, NULL},
+ { (char *)"RinexNavStream_open", _wrap_RinexNavStream_open, METH_VARARGS, NULL},
+ { (char *)"RinexNavStream_header_set", _wrap_RinexNavStream_header_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavStream_header_get", _wrap_RinexNavStream_header_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavStream_headerRead_set", _wrap_RinexNavStream_headerRead_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavStream_headerRead_get", _wrap_RinexNavStream_headerRead_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavStream_swigregister", RinexNavStream_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_SMODFStream", _wrap_new_SMODFStream, METH_VARARGS, NULL},
+ { (char *)"delete_SMODFStream", _wrap_delete_SMODFStream, METH_VARARGS, NULL},
+ { (char *)"SMODFStream_open", _wrap_SMODFStream_open, METH_VARARGS, NULL},
+ { (char *)"SMODFStream_format_set", _wrap_SMODFStream_format_set, METH_VARARGS, NULL},
+ { (char *)"SMODFStream_format_get", _wrap_SMODFStream_format_get, METH_VARARGS, NULL},
+ { (char *)"SMODFStream_swigregister", SMODFStream_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_SP3Stream", _wrap_new_SP3Stream, METH_VARARGS, NULL},
+ { (char *)"delete_SP3Stream", _wrap_delete_SP3Stream, METH_VARARGS, NULL},
+ { (char *)"SP3Stream_currentEpoch_set", _wrap_SP3Stream_currentEpoch_set, METH_VARARGS, NULL},
+ { (char *)"SP3Stream_currentEpoch_get", _wrap_SP3Stream_currentEpoch_get, METH_VARARGS, NULL},
+ { (char *)"SP3Stream_swigregister", SP3Stream_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RinexObsStream", _wrap_new_RinexObsStream, METH_VARARGS, NULL},
+ { (char *)"delete_RinexObsStream", _wrap_delete_RinexObsStream, METH_VARARGS, NULL},
+ { (char *)"RinexObsStream_open", _wrap_RinexObsStream_open, METH_VARARGS, NULL},
+ { (char *)"RinexObsStream_headerRead_set", _wrap_RinexObsStream_headerRead_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsStream_headerRead_get", _wrap_RinexObsStream_headerRead_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsStream_header_set", _wrap_RinexObsStream_header_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsStream_header_get", _wrap_RinexObsStream_header_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsStream_swigregister", RinexObsStream_swigregister, METH_VARARGS, NULL},
+ { (char *)"delete_RinexObsBase", _wrap_delete_RinexObsBase, METH_VARARGS, NULL},
+ { (char *)"RinexObsBase_swigregister", RinexObsBase_swigregister, METH_VARARGS, NULL},
+ { (char *)"RinexObsType_type_set", _wrap_RinexObsType_type_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsType_type_get", _wrap_RinexObsType_type_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsType_description_set", _wrap_RinexObsType_description_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsType_description_get", _wrap_RinexObsType_description_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsType_units_set", _wrap_RinexObsType_units_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsType_units_get", _wrap_RinexObsType_units_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsType_depend_set", _wrap_RinexObsType_depend_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsType_depend_get", _wrap_RinexObsType_depend_get, METH_VARARGS, NULL},
+ { (char *)"new_RinexObsType", _wrap_new_RinexObsType, METH_VARARGS, NULL},
+ { (char *)"delete_RinexObsType", _wrap_delete_RinexObsType, METH_VARARGS, NULL},
+ { (char *)"RinexObsType_swigregister", RinexObsType_swigregister, METH_VARARGS, NULL},
+ { (char *)"ExtraWaveFact_prnList_set", _wrap_ExtraWaveFact_prnList_set, METH_VARARGS, NULL},
+ { (char *)"ExtraWaveFact_prnList_get", _wrap_ExtraWaveFact_prnList_get, METH_VARARGS, NULL},
+ { (char *)"ExtraWaveFact_wavelengthFactor_set", _wrap_ExtraWaveFact_wavelengthFactor_set, METH_VARARGS, NULL},
+ { (char *)"ExtraWaveFact_wavelengthFactor_get", _wrap_ExtraWaveFact_wavelengthFactor_get, METH_VARARGS, NULL},
+ { (char *)"new_ExtraWaveFact", _wrap_new_ExtraWaveFact, METH_VARARGS, NULL},
+ { (char *)"delete_ExtraWaveFact", _wrap_delete_ExtraWaveFact, METH_VARARGS, NULL},
+ { (char *)"ExtraWaveFact_swigregister", ExtraWaveFact_swigregister, METH_VARARGS, NULL},
+ { (char *)"RinexPrn_prn_set", _wrap_RinexPrn_prn_set, METH_VARARGS, NULL},
+ { (char *)"RinexPrn_prn_get", _wrap_RinexPrn_prn_get, METH_VARARGS, NULL},
+ { (char *)"RinexPrn_system_set", _wrap_RinexPrn_system_set, METH_VARARGS, NULL},
+ { (char *)"RinexPrn_system_get", _wrap_RinexPrn_system_get, METH_VARARGS, NULL},
+ { (char *)"new_RinexPrn", _wrap_new_RinexPrn, METH_VARARGS, NULL},
+ { (char *)"RinexPrn_setfill", _wrap_RinexPrn_setfill, METH_VARARGS, NULL},
+ { (char *)"RinexPrn_getfill", _wrap_RinexPrn_getfill, METH_VARARGS, NULL},
+ { (char *)"RinexPrn_System", _wrap_RinexPrn_System, METH_VARARGS, NULL},
+ { (char *)"delete_RinexPrn", _wrap_delete_RinexPrn, METH_VARARGS, NULL},
+ { (char *)"RinexPrn_swigregister", RinexPrn_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RinexObsHeader", _wrap_new_RinexObsHeader, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_clear", _wrap_RinexObsHeader_clear, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_version_set", _wrap_RinexObsHeader_version_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_version_get", _wrap_RinexObsHeader_version_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_fileType_set", _wrap_RinexObsHeader_fileType_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_fileType_get", _wrap_RinexObsHeader_fileType_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_system_set", _wrap_RinexObsHeader_system_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_system_get", _wrap_RinexObsHeader_system_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_fileProgram_set", _wrap_RinexObsHeader_fileProgram_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_fileProgram_get", _wrap_RinexObsHeader_fileProgram_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_fileAgency_set", _wrap_RinexObsHeader_fileAgency_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_fileAgency_get", _wrap_RinexObsHeader_fileAgency_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_date_set", _wrap_RinexObsHeader_date_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_date_get", _wrap_RinexObsHeader_date_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_commentList_set", _wrap_RinexObsHeader_commentList_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_commentList_get", _wrap_RinexObsHeader_commentList_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_markerName_set", _wrap_RinexObsHeader_markerName_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_markerName_get", _wrap_RinexObsHeader_markerName_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_markerNumber_set", _wrap_RinexObsHeader_markerNumber_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_markerNumber_get", _wrap_RinexObsHeader_markerNumber_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_observer_set", _wrap_RinexObsHeader_observer_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_observer_get", _wrap_RinexObsHeader_observer_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_agency_set", _wrap_RinexObsHeader_agency_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_agency_get", _wrap_RinexObsHeader_agency_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_recNo_set", _wrap_RinexObsHeader_recNo_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_recNo_get", _wrap_RinexObsHeader_recNo_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_recType_set", _wrap_RinexObsHeader_recType_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_recType_get", _wrap_RinexObsHeader_recType_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_recVers_set", _wrap_RinexObsHeader_recVers_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_recVers_get", _wrap_RinexObsHeader_recVers_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_antNo_set", _wrap_RinexObsHeader_antNo_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_antNo_get", _wrap_RinexObsHeader_antNo_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_antType_set", _wrap_RinexObsHeader_antType_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_antType_get", _wrap_RinexObsHeader_antType_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_antennaPosition_set", _wrap_RinexObsHeader_antennaPosition_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_antennaPosition_get", _wrap_RinexObsHeader_antennaPosition_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_antennaOffset_set", _wrap_RinexObsHeader_antennaOffset_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_antennaOffset_get", _wrap_RinexObsHeader_antennaOffset_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_wavelengthFactor_set", _wrap_RinexObsHeader_wavelengthFactor_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_wavelengthFactor_get", _wrap_RinexObsHeader_wavelengthFactor_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_extraWaveFactList_set", _wrap_RinexObsHeader_extraWaveFactList_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_extraWaveFactList_get", _wrap_RinexObsHeader_extraWaveFactList_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_obsTypeList_set", _wrap_RinexObsHeader_obsTypeList_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_obsTypeList_get", _wrap_RinexObsHeader_obsTypeList_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_interval_set", _wrap_RinexObsHeader_interval_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_interval_get", _wrap_RinexObsHeader_interval_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_firstObs_set", _wrap_RinexObsHeader_firstObs_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_firstObs_get", _wrap_RinexObsHeader_firstObs_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_firstSystem_set", _wrap_RinexObsHeader_firstSystem_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_firstSystem_get", _wrap_RinexObsHeader_firstSystem_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_lastObs_set", _wrap_RinexObsHeader_lastObs_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_lastObs_get", _wrap_RinexObsHeader_lastObs_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_lastSystem_set", _wrap_RinexObsHeader_lastSystem_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_lastSystem_get", _wrap_RinexObsHeader_lastSystem_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_receiverOffset_set", _wrap_RinexObsHeader_receiverOffset_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_receiverOffset_get", _wrap_RinexObsHeader_receiverOffset_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_leapSeconds_set", _wrap_RinexObsHeader_leapSeconds_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_leapSeconds_get", _wrap_RinexObsHeader_leapSeconds_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_numSVs_set", _wrap_RinexObsHeader_numSVs_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_numSVs_get", _wrap_RinexObsHeader_numSVs_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_numObsForPrn_set", _wrap_RinexObsHeader_numObsForPrn_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_numObsForPrn_get", _wrap_RinexObsHeader_numObsForPrn_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_valid_set", _wrap_RinexObsHeader_valid_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_valid_get", _wrap_RinexObsHeader_valid_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_numObs_set", _wrap_RinexObsHeader_numObs_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_numObs_get", _wrap_RinexObsHeader_numObs_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_lastPRN_set", _wrap_RinexObsHeader_lastPRN_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_lastPRN_get", _wrap_RinexObsHeader_lastPRN_get, METH_VARARGS, NULL},
+ { (char *)"delete_RinexObsHeader", _wrap_delete_RinexObsHeader, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_isHeader", _wrap_RinexObsHeader_isHeader, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_dump", _wrap_RinexObsHeader_dump, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_convertObsType", _wrap_RinexObsHeader_convertObsType, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_ParseHeaderRecord", _wrap_RinexObsHeader_ParseHeaderRecord, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_NumberHeaderRecordsToBeWritten", _wrap_RinexObsHeader_NumberHeaderRecordsToBeWritten, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_WriteHeaderRecords", _wrap_RinexObsHeader_WriteHeaderRecords, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_isValid", _wrap_RinexObsHeader_isValid, METH_VARARGS, NULL},
+ { (char *)"RinexObsHeader_swigregister", RinexObsHeader_swigregister, METH_VARARGS, NULL},
+ { (char *)"RegisterExtendedRinexObsType", _wrap_RegisterExtendedRinexObsType, METH_VARARGS, NULL},
+ { (char *)"__eq__", _wrap___eq__, METH_VARARGS, NULL},
+ { (char *)"__ne__", _wrap___ne__, METH_VARARGS, NULL},
+ { (char *)"__lt__", _wrap___lt__, METH_VARARGS, NULL},
+ { (char *)"__rshift__", _wrap___rshift__, METH_VARARGS, NULL},
+ { (char *)"DisplayExtendedRinexObsTypes", _wrap_DisplayExtendedRinexObsTypes, METH_VARARGS, NULL},
+ { (char *)"new_RinexDatum", _wrap_new_RinexDatum, METH_VARARGS, NULL},
+ { (char *)"RinexDatum_data_set", _wrap_RinexDatum_data_set, METH_VARARGS, NULL},
+ { (char *)"RinexDatum_data_get", _wrap_RinexDatum_data_get, METH_VARARGS, NULL},
+ { (char *)"RinexDatum_lli_set", _wrap_RinexDatum_lli_set, METH_VARARGS, NULL},
+ { (char *)"RinexDatum_lli_get", _wrap_RinexDatum_lli_get, METH_VARARGS, NULL},
+ { (char *)"RinexDatum_ssi_set", _wrap_RinexDatum_ssi_set, METH_VARARGS, NULL},
+ { (char *)"RinexDatum_ssi_get", _wrap_RinexDatum_ssi_get, METH_VARARGS, NULL},
+ { (char *)"delete_RinexDatum", _wrap_delete_RinexDatum, METH_VARARGS, NULL},
+ { (char *)"RinexDatum_swigregister", RinexDatum_swigregister, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_time_set", _wrap_RinexObsData_time_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_time_get", _wrap_RinexObsData_time_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_epochFlag_set", _wrap_RinexObsData_epochFlag_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_epochFlag_get", _wrap_RinexObsData_epochFlag_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_numSvs_set", _wrap_RinexObsData_numSvs_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_numSvs_get", _wrap_RinexObsData_numSvs_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_clockOffset_set", _wrap_RinexObsData_clockOffset_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_clockOffset_get", _wrap_RinexObsData_clockOffset_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_obs_set", _wrap_RinexObsData_obs_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_obs_get", _wrap_RinexObsData_obs_get, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_auxHeader_set", _wrap_RinexObsData_auxHeader_set, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_auxHeader_get", _wrap_RinexObsData_auxHeader_get, METH_VARARGS, NULL},
+ { (char *)"new_RinexObsData", _wrap_new_RinexObsData, METH_VARARGS, NULL},
+ { (char *)"delete_RinexObsData", _wrap_delete_RinexObsData, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_isData", _wrap_RinexObsData_isData, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_dump", _wrap_RinexObsData_dump, METH_VARARGS, NULL},
+ { (char *)"RinexObsData_swigregister", RinexObsData_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RinexObsTypeMap", _wrap_new_RinexObsTypeMap, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap_empty", _wrap_RinexObsTypeMap_empty, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap_size", _wrap_RinexObsTypeMap_size, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap_clear", _wrap_RinexObsTypeMap_clear, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap_swap", _wrap_RinexObsTypeMap_swap, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap_get_allocator", _wrap_RinexObsTypeMap_get_allocator, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap_erase", _wrap_RinexObsTypeMap_erase, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap_count", _wrap_RinexObsTypeMap_count, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap___nonzero__", _wrap_RinexObsTypeMap___nonzero__, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap___len__", _wrap_RinexObsTypeMap___len__, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap___getitem__", _wrap_RinexObsTypeMap___getitem__, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap___setitem__", _wrap_RinexObsTypeMap___setitem__, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap___delitem__", _wrap_RinexObsTypeMap___delitem__, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap_has_key", _wrap_RinexObsTypeMap_has_key, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap_keys", _wrap_RinexObsTypeMap_keys, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap_values", _wrap_RinexObsTypeMap_values, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap_items", _wrap_RinexObsTypeMap_items, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap___contains__", _wrap_RinexObsTypeMap___contains__, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap___iter__", _wrap_RinexObsTypeMap___iter__, METH_VARARGS, NULL},
+ { (char *)"delete_RinexObsTypeMap", _wrap_delete_RinexObsTypeMap, METH_VARARGS, NULL},
+ { (char *)"RinexObsTypeMap_swigregister", RinexObsTypeMap_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RinexPrnMap", _wrap_new_RinexPrnMap, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_empty", _wrap_RinexPrnMap_empty, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_size", _wrap_RinexPrnMap_size, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_clear", _wrap_RinexPrnMap_clear, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_swap", _wrap_RinexPrnMap_swap, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_get_allocator", _wrap_RinexPrnMap_get_allocator, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_erase", _wrap_RinexPrnMap_erase, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_count", _wrap_RinexPrnMap_count, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap___nonzero__", _wrap_RinexPrnMap___nonzero__, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap___len__", _wrap_RinexPrnMap___len__, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap___getitem__", _wrap_RinexPrnMap___getitem__, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap___setitem__", _wrap_RinexPrnMap___setitem__, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap___delitem__", _wrap_RinexPrnMap___delitem__, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_has_key", _wrap_RinexPrnMap_has_key, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_keys", _wrap_RinexPrnMap_keys, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_values", _wrap_RinexPrnMap_values, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_items", _wrap_RinexPrnMap_items, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap___contains__", _wrap_RinexPrnMap___contains__, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap___iter__", _wrap_RinexPrnMap___iter__, METH_VARARGS, NULL},
+ { (char *)"delete_RinexPrnMap", _wrap_delete_RinexPrnMap, METH_VARARGS, NULL},
+ { (char *)"RinexPrnMap_swigregister", RinexPrnMap_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_BOGUS_TEMPLATE", _wrap_new_BOGUS_TEMPLATE, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE_empty", _wrap_BOGUS_TEMPLATE_empty, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE_size", _wrap_BOGUS_TEMPLATE_size, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE_clear", _wrap_BOGUS_TEMPLATE_clear, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE_swap", _wrap_BOGUS_TEMPLATE_swap, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE_get_allocator", _wrap_BOGUS_TEMPLATE_get_allocator, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE_erase", _wrap_BOGUS_TEMPLATE_erase, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE_count", _wrap_BOGUS_TEMPLATE_count, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE___nonzero__", _wrap_BOGUS_TEMPLATE___nonzero__, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE___len__", _wrap_BOGUS_TEMPLATE___len__, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE___getitem__", _wrap_BOGUS_TEMPLATE___getitem__, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE___setitem__", _wrap_BOGUS_TEMPLATE___setitem__, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE___delitem__", _wrap_BOGUS_TEMPLATE___delitem__, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE_has_key", _wrap_BOGUS_TEMPLATE_has_key, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE_keys", _wrap_BOGUS_TEMPLATE_keys, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE_values", _wrap_BOGUS_TEMPLATE_values, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE_items", _wrap_BOGUS_TEMPLATE_items, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE___contains__", _wrap_BOGUS_TEMPLATE___contains__, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE___iter__", _wrap_BOGUS_TEMPLATE___iter__, METH_VARARGS, NULL},
+ { (char *)"delete_BOGUS_TEMPLATE", _wrap_delete_BOGUS_TEMPLATE, METH_VARARGS, NULL},
+ { (char *)"BOGUS_TEMPLATE_swigregister", BOGUS_TEMPLATE_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_SP3Header", _wrap_new_SP3Header, METH_VARARGS, NULL},
+ { (char *)"delete_SP3Header", _wrap_delete_SP3Header, METH_VARARGS, NULL},
+ { (char *)"SP3Header_isHeader", _wrap_SP3Header_isHeader, METH_VARARGS, NULL},
+ { (char *)"SP3Header_dump", _wrap_SP3Header_dump, METH_VARARGS, NULL},
+ { (char *)"SP3Header_version_set", _wrap_SP3Header_version_set, METH_VARARGS, NULL},
+ { (char *)"SP3Header_version_get", _wrap_SP3Header_version_get, METH_VARARGS, NULL},
+ { (char *)"SP3Header_pvFlag_set", _wrap_SP3Header_pvFlag_set, METH_VARARGS, NULL},
+ { (char *)"SP3Header_pvFlag_get", _wrap_SP3Header_pvFlag_get, METH_VARARGS, NULL},
+ { (char *)"SP3Header_time_set", _wrap_SP3Header_time_set, METH_VARARGS, NULL},
+ { (char *)"SP3Header_time_get", _wrap_SP3Header_time_get, METH_VARARGS, NULL},
+ { (char *)"SP3Header_epochInterval_set", _wrap_SP3Header_epochInterval_set, METH_VARARGS, NULL},
+ { (char *)"SP3Header_epochInterval_get", _wrap_SP3Header_epochInterval_get, METH_VARARGS, NULL},
+ { (char *)"SP3Header_numberOfEpochs_set", _wrap_SP3Header_numberOfEpochs_set, METH_VARARGS, NULL},
+ { (char *)"SP3Header_numberOfEpochs_get", _wrap_SP3Header_numberOfEpochs_get, METH_VARARGS, NULL},
+ { (char *)"SP3Header_dataUsed_set", _wrap_SP3Header_dataUsed_set, METH_VARARGS, NULL},
+ { (char *)"SP3Header_dataUsed_get", _wrap_SP3Header_dataUsed_get, METH_VARARGS, NULL},
+ { (char *)"SP3Header_coordSystem_set", _wrap_SP3Header_coordSystem_set, METH_VARARGS, NULL},
+ { (char *)"SP3Header_coordSystem_get", _wrap_SP3Header_coordSystem_get, METH_VARARGS, NULL},
+ { (char *)"SP3Header_orbitType_set", _wrap_SP3Header_orbitType_set, METH_VARARGS, NULL},
+ { (char *)"SP3Header_orbitType_get", _wrap_SP3Header_orbitType_get, METH_VARARGS, NULL},
+ { (char *)"SP3Header_agency_set", _wrap_SP3Header_agency_set, METH_VARARGS, NULL},
+ { (char *)"SP3Header_agency_get", _wrap_SP3Header_agency_get, METH_VARARGS, NULL},
+ { (char *)"SP3Header_svList_set", _wrap_SP3Header_svList_set, METH_VARARGS, NULL},
+ { (char *)"SP3Header_svList_get", _wrap_SP3Header_svList_get, METH_VARARGS, NULL},
+ { (char *)"SP3Header_comments_set", _wrap_SP3Header_comments_set, METH_VARARGS, NULL},
+ { (char *)"SP3Header_comments_get", _wrap_SP3Header_comments_get, METH_VARARGS, NULL},
+ { (char *)"SP3Header_swigregister", SP3Header_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RinexNavHeader", _wrap_new_RinexNavHeader, METH_VARARGS, NULL},
+ { (char *)"delete_RinexNavHeader", _wrap_delete_RinexNavHeader, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_isHeader", _wrap_RinexNavHeader_isHeader, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_dump", _wrap_RinexNavHeader_dump, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_valid_set", _wrap_RinexNavHeader_valid_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_valid_get", _wrap_RinexNavHeader_valid_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_version_set", _wrap_RinexNavHeader_version_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_version_get", _wrap_RinexNavHeader_version_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_fileType_set", _wrap_RinexNavHeader_fileType_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_fileType_get", _wrap_RinexNavHeader_fileType_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_fileProgram_set", _wrap_RinexNavHeader_fileProgram_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_fileProgram_get", _wrap_RinexNavHeader_fileProgram_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_fileAgency_set", _wrap_RinexNavHeader_fileAgency_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_fileAgency_get", _wrap_RinexNavHeader_fileAgency_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_date_set", _wrap_RinexNavHeader_date_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_date_get", _wrap_RinexNavHeader_date_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_commentList_set", _wrap_RinexNavHeader_commentList_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_commentList_get", _wrap_RinexNavHeader_commentList_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_ionAlpha_set", _wrap_RinexNavHeader_ionAlpha_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_ionAlpha_get", _wrap_RinexNavHeader_ionAlpha_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_ionBeta_set", _wrap_RinexNavHeader_ionBeta_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_ionBeta_get", _wrap_RinexNavHeader_ionBeta_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_A0_set", _wrap_RinexNavHeader_A0_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_A0_get", _wrap_RinexNavHeader_A0_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_A1_set", _wrap_RinexNavHeader_A1_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_A1_get", _wrap_RinexNavHeader_A1_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_UTCRefTime_set", _wrap_RinexNavHeader_UTCRefTime_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_UTCRefTime_get", _wrap_RinexNavHeader_UTCRefTime_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_UTCRefWeek_set", _wrap_RinexNavHeader_UTCRefWeek_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_UTCRefWeek_get", _wrap_RinexNavHeader_UTCRefWeek_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_leapSeconds_set", _wrap_RinexNavHeader_leapSeconds_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_leapSeconds_get", _wrap_RinexNavHeader_leapSeconds_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavHeader_swigregister", RinexNavHeader_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_WrongBlockNumber", _wrap_new_WrongBlockNumber, METH_VARARGS, NULL},
+ { (char *)"delete_WrongBlockNumber", _wrap_delete_WrongBlockNumber, METH_VARARGS, NULL},
+ { (char *)"WrongBlockNumber_getName", _wrap_WrongBlockNumber_getName, METH_VARARGS, NULL},
+ { (char *)"WrongBlockNumber_class_operator_assignment", _wrap_WrongBlockNumber_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"WrongBlockNumber_swigregister", WrongBlockNumber_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_WrongBlockFormat", _wrap_new_WrongBlockFormat, METH_VARARGS, NULL},
+ { (char *)"delete_WrongBlockFormat", _wrap_delete_WrongBlockFormat, METH_VARARGS, NULL},
+ { (char *)"WrongBlockFormat_getName", _wrap_WrongBlockFormat_getName, METH_VARARGS, NULL},
+ { (char *)"WrongBlockFormat_class_operator_assignment", _wrap_WrongBlockFormat_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"WrongBlockFormat_swigregister", WrongBlockFormat_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_FICData", _wrap_new_FICData, METH_VARARGS, NULL},
+ { (char *)"delete_FICData", _wrap_delete_FICData, METH_VARARGS, NULL},
+ { (char *)"FICData_isValid", _wrap_FICData_isValid, METH_VARARGS, NULL},
+ { (char *)"FICData_isData", _wrap_FICData_isData, METH_VARARGS, NULL},
+ { (char *)"FICData_dump", _wrap_FICData_dump, METH_VARARGS, NULL},
+ { (char *)"FICData_prettyDump", _wrap_FICData_prettyDump, METH_VARARGS, NULL},
+ { (char *)"FICData_operator_EngEphemeris", _wrap_FICData_operator_EngEphemeris, METH_VARARGS, NULL},
+ { (char *)"FICData_operator_AlmOrbit", _wrap_FICData_operator_AlmOrbit, METH_VARARGS, NULL},
+ { (char *)"FICData_generateUniqueKey", _wrap_FICData_generateUniqueKey, METH_VARARGS, NULL},
+ { (char *)"FICData_blockNum_set", _wrap_FICData_blockNum_set, METH_VARARGS, NULL},
+ { (char *)"FICData_blockNum_get", _wrap_FICData_blockNum_get, METH_VARARGS, NULL},
+ { (char *)"FICData_f_set", _wrap_FICData_f_set, METH_VARARGS, NULL},
+ { (char *)"FICData_f_get", _wrap_FICData_f_get, METH_VARARGS, NULL},
+ { (char *)"FICData_i_set", _wrap_FICData_i_set, METH_VARARGS, NULL},
+ { (char *)"FICData_i_get", _wrap_FICData_i_get, METH_VARARGS, NULL},
+ { (char *)"FICData_c_set", _wrap_FICData_c_set, METH_VARARGS, NULL},
+ { (char *)"FICData_c_get", _wrap_FICData_c_get, METH_VARARGS, NULL},
+ { (char *)"FICData_swigregister", FICData_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_FICHeader", _wrap_new_FICHeader, METH_VARARGS, NULL},
+ { (char *)"delete_FICHeader", _wrap_delete_FICHeader, METH_VARARGS, NULL},
+ { (char *)"FICHeader_isHeader", _wrap_FICHeader_isHeader, METH_VARARGS, NULL},
+ { (char *)"FICHeader_dump", _wrap_FICHeader_dump, METH_VARARGS, NULL},
+ { (char *)"FICHeader_header_set", _wrap_FICHeader_header_set, METH_VARARGS, NULL},
+ { (char *)"FICHeader_header_get", _wrap_FICHeader_header_get, METH_VARARGS, NULL},
+ { (char *)"FICHeader_swigregister", FICHeader_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RinexMetData", _wrap_new_RinexMetData, METH_VARARGS, NULL},
+ { (char *)"RinexMetData_isData", _wrap_RinexMetData_isData, METH_VARARGS, NULL},
+ { (char *)"RinexMetData_dump", _wrap_RinexMetData_dump, METH_VARARGS, NULL},
+ { (char *)"RinexMetData_time_set", _wrap_RinexMetData_time_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetData_time_get", _wrap_RinexMetData_time_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetData_data_set", _wrap_RinexMetData_data_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetData_data_get", _wrap_RinexMetData_data_get, METH_VARARGS, NULL},
+ { (char *)"delete_RinexMetData", _wrap_delete_RinexMetData, METH_VARARGS, NULL},
+ { (char *)"RinexMetData_swigregister", RinexMetData_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RinexMetHeader", _wrap_new_RinexMetHeader, METH_VARARGS, NULL},
+ { (char *)"delete_RinexMetHeader", _wrap_delete_RinexMetHeader, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_isHeader", _wrap_RinexMetHeader_isHeader, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_dump", _wrap_RinexMetHeader_dump, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_convertObsType", _wrap_RinexMetHeader_convertObsType, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_valid_set", _wrap_RinexMetHeader_valid_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_valid_get", _wrap_RinexMetHeader_valid_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_bitsAsString", _wrap_RinexMetHeader_bitsAsString, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_bitString", _wrap_RinexMetHeader_bitString, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_version_set", _wrap_RinexMetHeader_version_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_version_get", _wrap_RinexMetHeader_version_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_fileType_set", _wrap_RinexMetHeader_fileType_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_fileType_get", _wrap_RinexMetHeader_fileType_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_fileProgram_set", _wrap_RinexMetHeader_fileProgram_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_fileProgram_get", _wrap_RinexMetHeader_fileProgram_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_fileAgency_set", _wrap_RinexMetHeader_fileAgency_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_fileAgency_get", _wrap_RinexMetHeader_fileAgency_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_date_set", _wrap_RinexMetHeader_date_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_date_get", _wrap_RinexMetHeader_date_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_commentList_set", _wrap_RinexMetHeader_commentList_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_commentList_get", _wrap_RinexMetHeader_commentList_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_markerName_set", _wrap_RinexMetHeader_markerName_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_markerName_get", _wrap_RinexMetHeader_markerName_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_markerNumber_set", _wrap_RinexMetHeader_markerNumber_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_markerNumber_get", _wrap_RinexMetHeader_markerNumber_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_obsTypeList_set", _wrap_RinexMetHeader_obsTypeList_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_obsTypeList_get", _wrap_RinexMetHeader_obsTypeList_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_sensorTypeList_set", _wrap_RinexMetHeader_sensorTypeList_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_sensorTypeList_get", _wrap_RinexMetHeader_sensorTypeList_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_sensorPosList_set", _wrap_RinexMetHeader_sensorPosList_set, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_sensorPosList_get", _wrap_RinexMetHeader_sensorPosList_get, METH_VARARGS, NULL},
+ { (char *)"RinexMetHeader_swigregister", RinexMetHeader_swigregister, METH_VARARGS, NULL},
+ { (char *)"sensorType_model_set", _wrap_sensorType_model_set, METH_VARARGS, NULL},
+ { (char *)"sensorType_model_get", _wrap_sensorType_model_get, METH_VARARGS, NULL},
+ { (char *)"sensorType_type_set", _wrap_sensorType_type_set, METH_VARARGS, NULL},
+ { (char *)"sensorType_type_get", _wrap_sensorType_type_get, METH_VARARGS, NULL},
+ { (char *)"sensorType_accuracy_set", _wrap_sensorType_accuracy_set, METH_VARARGS, NULL},
+ { (char *)"sensorType_accuracy_get", _wrap_sensorType_accuracy_get, METH_VARARGS, NULL},
+ { (char *)"sensorType_obsType_set", _wrap_sensorType_obsType_set, METH_VARARGS, NULL},
+ { (char *)"sensorType_obsType_get", _wrap_sensorType_obsType_get, METH_VARARGS, NULL},
+ { (char *)"new_sensorType", _wrap_new_sensorType, METH_VARARGS, NULL},
+ { (char *)"delete_sensorType", _wrap_delete_sensorType, METH_VARARGS, NULL},
+ { (char *)"sensorType_swigregister", sensorType_swigregister, METH_VARARGS, NULL},
+ { (char *)"sensorPosType_position_set", _wrap_sensorPosType_position_set, METH_VARARGS, NULL},
+ { (char *)"sensorPosType_position_get", _wrap_sensorPosType_position_get, METH_VARARGS, NULL},
+ { (char *)"sensorPosType_height_set", _wrap_sensorPosType_height_set, METH_VARARGS, NULL},
+ { (char *)"sensorPosType_height_get", _wrap_sensorPosType_height_get, METH_VARARGS, NULL},
+ { (char *)"sensorPosType_obsType_set", _wrap_sensorPosType_obsType_set, METH_VARARGS, NULL},
+ { (char *)"sensorPosType_obsType_get", _wrap_sensorPosType_obsType_get, METH_VARARGS, NULL},
+ { (char *)"new_sensorPosType", _wrap_new_sensorPosType, METH_VARARGS, NULL},
+ { (char *)"delete_sensorPosType", _wrap_delete_sensorPosType, METH_VARARGS, NULL},
+ { (char *)"sensorPosType_swigregister", sensorPosType_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RinexNavData", _wrap_new_RinexNavData, METH_VARARGS, NULL},
+ { (char *)"delete_RinexNavData", _wrap_delete_RinexNavData, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_isData", _wrap_RinexNavData_isData, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_dump", _wrap_RinexNavData_dump, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_operator_EngEphemeris", _wrap_RinexNavData_operator_EngEphemeris, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_toList", _wrap_RinexNavData_toList, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_time_set", _wrap_RinexNavData_time_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_time_get", _wrap_RinexNavData_time_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_PRNID_set", _wrap_RinexNavData_PRNID_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_PRNID_get", _wrap_RinexNavData_PRNID_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_HOWtime_set", _wrap_RinexNavData_HOWtime_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_HOWtime_get", _wrap_RinexNavData_HOWtime_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_weeknum_set", _wrap_RinexNavData_weeknum_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_weeknum_get", _wrap_RinexNavData_weeknum_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_codeflgs_set", _wrap_RinexNavData_codeflgs_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_codeflgs_get", _wrap_RinexNavData_codeflgs_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_accuracy_set", _wrap_RinexNavData_accuracy_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_accuracy_get", _wrap_RinexNavData_accuracy_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_health_set", _wrap_RinexNavData_health_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_health_get", _wrap_RinexNavData_health_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_L2Pdata_set", _wrap_RinexNavData_L2Pdata_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_L2Pdata_get", _wrap_RinexNavData_L2Pdata_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_IODC_set", _wrap_RinexNavData_IODC_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_IODC_get", _wrap_RinexNavData_IODC_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_IODE_set", _wrap_RinexNavData_IODE_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_IODE_get", _wrap_RinexNavData_IODE_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Toc_set", _wrap_RinexNavData_Toc_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Toc_get", _wrap_RinexNavData_Toc_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_af0_set", _wrap_RinexNavData_af0_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_af0_get", _wrap_RinexNavData_af0_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_af1_set", _wrap_RinexNavData_af1_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_af1_get", _wrap_RinexNavData_af1_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_af2_set", _wrap_RinexNavData_af2_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_af2_get", _wrap_RinexNavData_af2_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Tgd_set", _wrap_RinexNavData_Tgd_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Tgd_get", _wrap_RinexNavData_Tgd_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Cuc_set", _wrap_RinexNavData_Cuc_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Cuc_get", _wrap_RinexNavData_Cuc_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Cus_set", _wrap_RinexNavData_Cus_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Cus_get", _wrap_RinexNavData_Cus_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Crc_set", _wrap_RinexNavData_Crc_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Crc_get", _wrap_RinexNavData_Crc_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Crs_set", _wrap_RinexNavData_Crs_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Crs_get", _wrap_RinexNavData_Crs_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Cic_set", _wrap_RinexNavData_Cic_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Cic_get", _wrap_RinexNavData_Cic_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Cis_set", _wrap_RinexNavData_Cis_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Cis_get", _wrap_RinexNavData_Cis_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Toe_set", _wrap_RinexNavData_Toe_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Toe_get", _wrap_RinexNavData_Toe_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_M0_set", _wrap_RinexNavData_M0_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_M0_get", _wrap_RinexNavData_M0_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_dn_set", _wrap_RinexNavData_dn_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_dn_get", _wrap_RinexNavData_dn_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_ecc_set", _wrap_RinexNavData_ecc_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_ecc_get", _wrap_RinexNavData_ecc_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Ahalf_set", _wrap_RinexNavData_Ahalf_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_Ahalf_get", _wrap_RinexNavData_Ahalf_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_OMEGA0_set", _wrap_RinexNavData_OMEGA0_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_OMEGA0_get", _wrap_RinexNavData_OMEGA0_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_i0_set", _wrap_RinexNavData_i0_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_i0_get", _wrap_RinexNavData_i0_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_w_set", _wrap_RinexNavData_w_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_w_get", _wrap_RinexNavData_w_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_OMEGAdot_set", _wrap_RinexNavData_OMEGAdot_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_OMEGAdot_get", _wrap_RinexNavData_OMEGAdot_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_idot_set", _wrap_RinexNavData_idot_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_idot_get", _wrap_RinexNavData_idot_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_fitint_set", _wrap_RinexNavData_fitint_set, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_fitint_get", _wrap_RinexNavData_fitint_get, METH_VARARGS, NULL},
+ { (char *)"RinexNavData_swigregister", RinexNavData_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_SP3Data", _wrap_new_SP3Data, METH_VARARGS, NULL},
+ { (char *)"delete_SP3Data", _wrap_delete_SP3Data, METH_VARARGS, NULL},
+ { (char *)"SP3Data_isData", _wrap_SP3Data_isData, METH_VARARGS, NULL},
+ { (char *)"SP3Data_dump", _wrap_SP3Data_dump, METH_VARARGS, NULL},
+ { (char *)"SP3Data_flag_set", _wrap_SP3Data_flag_set, METH_VARARGS, NULL},
+ { (char *)"SP3Data_flag_get", _wrap_SP3Data_flag_get, METH_VARARGS, NULL},
+ { (char *)"SP3Data_id_set", _wrap_SP3Data_id_set, METH_VARARGS, NULL},
+ { (char *)"SP3Data_id_get", _wrap_SP3Data_id_get, METH_VARARGS, NULL},
+ { (char *)"SP3Data_x_set", _wrap_SP3Data_x_set, METH_VARARGS, NULL},
+ { (char *)"SP3Data_x_get", _wrap_SP3Data_x_get, METH_VARARGS, NULL},
+ { (char *)"SP3Data_clk_set", _wrap_SP3Data_clk_set, METH_VARARGS, NULL},
+ { (char *)"SP3Data_clk_get", _wrap_SP3Data_clk_get, METH_VARARGS, NULL},
+ { (char *)"SP3Data_time_set", _wrap_SP3Data_time_set, METH_VARARGS, NULL},
+ { (char *)"SP3Data_time_get", _wrap_SP3Data_time_get, METH_VARARGS, NULL},
+ { (char *)"SP3Data_swigregister", SP3Data_swigregister, METH_VARARGS, NULL},
+ { (char *)"RungeKutta4_integrateTo", _wrap_RungeKutta4_integrateTo, METH_VARARGS, NULL},
+ { (char *)"RungeKutta4_derivative", _wrap_RungeKutta4_derivative, METH_VARARGS, NULL},
+ { (char *)"RungeKutta4_getTime", _wrap_RungeKutta4_getTime, METH_VARARGS, NULL},
+ { (char *)"RungeKutta4_getState", _wrap_RungeKutta4_getState, METH_VARARGS, NULL},
+ { (char *)"delete_RungeKutta4", _wrap_delete_RungeKutta4, METH_VARARGS, NULL},
+ { (char *)"RungeKutta4_swigregister", RungeKutta4_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_GeometryException", _wrap_new_GeometryException, METH_VARARGS, NULL},
+ { (char *)"delete_GeometryException", _wrap_delete_GeometryException, METH_VARARGS, NULL},
+ { (char *)"GeometryException_getName", _wrap_GeometryException_getName, METH_VARARGS, NULL},
+ { (char *)"GeometryException_class_operator_assignment", _wrap_GeometryException_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"GeometryException_swigregister", GeometryException_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_Triple", _wrap_new_Triple, METH_VARARGS, NULL},
+ { (char *)"delete_Triple", _wrap_delete_Triple, METH_VARARGS, NULL},
+ { (char *)"Triple_class_operator_assignment", _wrap_Triple_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"Triple_dot", _wrap_Triple_dot, METH_VARARGS, NULL},
+ { (char *)"Triple_cross", _wrap_Triple_cross, METH_VARARGS, NULL},
+ { (char *)"Triple_mag", _wrap_Triple_mag, METH_VARARGS, NULL},
+ { (char *)"Triple_cosVector", _wrap_Triple_cosVector, METH_VARARGS, NULL},
+ { (char *)"Triple_slantRange", _wrap_Triple_slantRange, METH_VARARGS, NULL},
+ { (char *)"Triple_elvAngle", _wrap_Triple_elvAngle, METH_VARARGS, NULL},
+ { (char *)"Triple_azAngle", _wrap_Triple_azAngle, METH_VARARGS, NULL},
+ { (char *)"Triple_class_operator_bracket", _wrap_Triple_class_operator_bracket, METH_VARARGS, NULL},
+ { (char *)"Triple_operator_bracket_const", _wrap_Triple_operator_bracket_const, METH_VARARGS, NULL},
+ { (char *)"Triple___sub__", _wrap_Triple___sub__, METH_VARARGS, NULL},
+ { (char *)"Triple___add__", _wrap_Triple___add__, METH_VARARGS, NULL},
+ { (char *)"Triple_size", _wrap_Triple_size, METH_VARARGS, NULL},
+ { (char *)"Triple_streamRead", _wrap_Triple_streamRead, METH_VARARGS, NULL},
+ { (char *)"Triple_theArray_set", _wrap_Triple_theArray_set, METH_VARARGS, NULL},
+ { (char *)"Triple_theArray_get", _wrap_Triple_theArray_get, METH_VARARGS, NULL},
+ { (char *)"Triple_swigregister", Triple_swigregister, METH_VARARGS, NULL},
+ { (char *)"Position_getSystemName", _wrap_Position_getSystemName, METH_VARARGS, NULL},
+ { (char *)"Position_setPositionTolerance", _wrap_Position_setPositionTolerance, METH_VARARGS, NULL},
+ { (char *)"Position_getPositionTolerance", _wrap_Position_getPositionTolerance, METH_VARARGS, NULL},
+ { (char *)"Position_setTolerance", _wrap_Position_setTolerance, METH_VARARGS, NULL},
+ { (char *)"new_Position", _wrap_new_Position, METH_VARARGS, NULL},
+ { (char *)"delete_Position", _wrap_delete_Position, METH_VARARGS, NULL},
+ { (char *)"Position___sub__", _wrap_Position___sub__, METH_VARARGS, NULL},
+ { (char *)"Position___add__", _wrap_Position___add__, METH_VARARGS, NULL},
+ { (char *)"__mul__", _wrap___mul__, METH_VARARGS, NULL},
+ { (char *)"Position___eq__", _wrap_Position___eq__, METH_VARARGS, NULL},
+ { (char *)"Position___ne__", _wrap_Position___ne__, METH_VARARGS, NULL},
+ { (char *)"Position_transformTo", _wrap_Position_transformTo, METH_VARARGS, NULL},
+ { (char *)"Position_asGeodetic", _wrap_Position_asGeodetic, METH_VARARGS, NULL},
+ { (char *)"Position_asECEF", _wrap_Position_asECEF, METH_VARARGS, NULL},
+ { (char *)"Position_X", _wrap_Position_X, METH_VARARGS, NULL},
+ { (char *)"Position_Y", _wrap_Position_Y, METH_VARARGS, NULL},
+ { (char *)"Position_Z", _wrap_Position_Z, METH_VARARGS, NULL},
+ { (char *)"Position_geodeticLatitude", _wrap_Position_geodeticLatitude, METH_VARARGS, NULL},
+ { (char *)"Position_geocentricLatitude", _wrap_Position_geocentricLatitude, METH_VARARGS, NULL},
+ { (char *)"Position_theta", _wrap_Position_theta, METH_VARARGS, NULL},
+ { (char *)"Position_phi", _wrap_Position_phi, METH_VARARGS, NULL},
+ { (char *)"Position_longitude", _wrap_Position_longitude, METH_VARARGS, NULL},
+ { (char *)"Position_radius", _wrap_Position_radius, METH_VARARGS, NULL},
+ { (char *)"Position_height", _wrap_Position_height, METH_VARARGS, NULL},
+ { (char *)"Position_getCoordinateSystem", _wrap_Position_getCoordinateSystem, METH_VARARGS, NULL},
+ { (char *)"Position_getGeodeticLatitude", _wrap_Position_getGeodeticLatitude, METH_VARARGS, NULL},
+ { (char *)"Position_getGeocentricLatitude", _wrap_Position_getGeocentricLatitude, METH_VARARGS, NULL},
+ { (char *)"Position_getLongitude", _wrap_Position_getLongitude, METH_VARARGS, NULL},
+ { (char *)"Position_getAltitude", _wrap_Position_getAltitude, METH_VARARGS, NULL},
+ { (char *)"Position_getHeight", _wrap_Position_getHeight, METH_VARARGS, NULL},
+ { (char *)"Position_getX", _wrap_Position_getX, METH_VARARGS, NULL},
+ { (char *)"Position_getY", _wrap_Position_getY, METH_VARARGS, NULL},
+ { (char *)"Position_getZ", _wrap_Position_getZ, METH_VARARGS, NULL},
+ { (char *)"Position_getTheta", _wrap_Position_getTheta, METH_VARARGS, NULL},
+ { (char *)"Position_getPhi", _wrap_Position_getPhi, METH_VARARGS, NULL},
+ { (char *)"Position_getRadius", _wrap_Position_getRadius, METH_VARARGS, NULL},
+ { (char *)"Position_setGeoidModel", _wrap_Position_setGeoidModel, METH_VARARGS, NULL},
+ { (char *)"Position_setGeodetic", _wrap_Position_setGeodetic, METH_VARARGS, NULL},
+ { (char *)"Position_setGeocentric", _wrap_Position_setGeocentric, METH_VARARGS, NULL},
+ { (char *)"Position_setSpherical", _wrap_Position_setSpherical, METH_VARARGS, NULL},
+ { (char *)"Position_setECEF", _wrap_Position_setECEF, METH_VARARGS, NULL},
+ { (char *)"Position_setToString", _wrap_Position_setToString, METH_VARARGS, NULL},
+ { (char *)"Position_printf", _wrap_Position_printf, METH_VARARGS, NULL},
+ { (char *)"Position_printf_const", _wrap_Position_printf_const, METH_VARARGS, NULL},
+ { (char *)"Position_asString", _wrap_Position_asString, METH_VARARGS, NULL},
+ { (char *)"Position_convertSphericalToCartesian", _wrap_Position_convertSphericalToCartesian, METH_VARARGS, NULL},
+ { (char *)"Position_convertCartesianToSpherical", _wrap_Position_convertCartesianToSpherical, METH_VARARGS, NULL},
+ { (char *)"Position_convertCartesianToGeodetic", _wrap_Position_convertCartesianToGeodetic, METH_VARARGS, NULL},
+ { (char *)"Position_convertGeodeticToCartesian", _wrap_Position_convertGeodeticToCartesian, METH_VARARGS, NULL},
+ { (char *)"Position_convertCartesianToGeocentric", _wrap_Position_convertCartesianToGeocentric, METH_VARARGS, NULL},
+ { (char *)"Position_convertGeocentricToCartesian", _wrap_Position_convertGeocentricToCartesian, METH_VARARGS, NULL},
+ { (char *)"Position_convertGeocentricToGeodetic", _wrap_Position_convertGeocentricToGeodetic, METH_VARARGS, NULL},
+ { (char *)"Position_convertGeodeticToGeocentric", _wrap_Position_convertGeodeticToGeocentric, METH_VARARGS, NULL},
+ { (char *)"range", _wrap_range, METH_VARARGS, NULL},
+ { (char *)"Position_radiusEarth", _wrap_Position_radiusEarth, METH_VARARGS, NULL},
+ { (char *)"Position_elevation", _wrap_Position_elevation, METH_VARARGS, NULL},
+ { (char *)"Position_azimuth", _wrap_Position_azimuth, METH_VARARGS, NULL},
+ { (char *)"Position_getIonosphericPiercePoint", _wrap_Position_getIonosphericPiercePoint, METH_VARARGS, NULL},
+ { (char *)"Position_swigregister", Position_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_ECEF", _wrap_new_ECEF, METH_VARARGS, NULL},
+ { (char *)"delete_ECEF", _wrap_delete_ECEF, METH_VARARGS, NULL},
+ { (char *)"ECEF_class_operator_assignment", _wrap_ECEF_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"ECEF_asGeodetic", _wrap_ECEF_asGeodetic, METH_VARARGS, NULL},
+ { (char *)"ECEF_swigregister", ECEF_swigregister, METH_VARARGS, NULL},
+ { (char *)"GeoidModel_a", _wrap_GeoidModel_a, METH_VARARGS, NULL},
+ { (char *)"GeoidModel_a_km", _wrap_GeoidModel_a_km, METH_VARARGS, NULL},
+ { (char *)"GeoidModel_flattening", _wrap_GeoidModel_flattening, METH_VARARGS, NULL},
+ { (char *)"GeoidModel_eccentricity", _wrap_GeoidModel_eccentricity, METH_VARARGS, NULL},
+ { (char *)"GeoidModel_eccSquared", _wrap_GeoidModel_eccSquared, METH_VARARGS, NULL},
+ { (char *)"GeoidModel_angVelocity", _wrap_GeoidModel_angVelocity, METH_VARARGS, NULL},
+ { (char *)"GeoidModel_gm", _wrap_GeoidModel_gm, METH_VARARGS, NULL},
+ { (char *)"GeoidModel_gm_km", _wrap_GeoidModel_gm_km, METH_VARARGS, NULL},
+ { (char *)"GeoidModel_c", _wrap_GeoidModel_c, METH_VARARGS, NULL},
+ { (char *)"GeoidModel_c_km", _wrap_GeoidModel_c_km, METH_VARARGS, NULL},
+ { (char *)"delete_GeoidModel", _wrap_delete_GeoidModel, METH_VARARGS, NULL},
+ { (char *)"GeoidModel_swigregister", GeoidModel_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_Xvt", _wrap_new_Xvt, METH_VARARGS, NULL},
+ { (char *)"Xvt_x_set", _wrap_Xvt_x_set, METH_VARARGS, NULL},
+ { (char *)"Xvt_x_get", _wrap_Xvt_x_get, METH_VARARGS, NULL},
+ { (char *)"Xvt_v_set", _wrap_Xvt_v_set, METH_VARARGS, NULL},
+ { (char *)"Xvt_v_get", _wrap_Xvt_v_get, METH_VARARGS, NULL},
+ { (char *)"Xvt_dtime_set", _wrap_Xvt_dtime_set, METH_VARARGS, NULL},
+ { (char *)"Xvt_dtime_get", _wrap_Xvt_dtime_get, METH_VARARGS, NULL},
+ { (char *)"Xvt_ddtime_set", _wrap_Xvt_ddtime_set, METH_VARARGS, NULL},
+ { (char *)"Xvt_ddtime_get", _wrap_Xvt_ddtime_get, METH_VARARGS, NULL},
+ { (char *)"Xvt_preciseRho", _wrap_Xvt_preciseRho, METH_VARARGS, NULL},
+ { (char *)"delete_Xvt", _wrap_delete_Xvt, METH_VARARGS, NULL},
+ { (char *)"Xvt_swigregister", Xvt_swigregister, METH_VARARGS, NULL},
+ { (char *)"Xvt_streamRead", _wrap_Xvt_streamRead, METH_VARARGS, NULL},
+ { (char *)"new_NoGeoidException", _wrap_new_NoGeoidException, METH_VARARGS, NULL},
+ { (char *)"delete_NoGeoidException", _wrap_delete_NoGeoidException, METH_VARARGS, NULL},
+ { (char *)"NoGeoidException_getName", _wrap_NoGeoidException_getName, METH_VARARGS, NULL},
+ { (char *)"NoGeoidException_class_operator_assignment", _wrap_NoGeoidException_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"NoGeoidException_swigregister", NoGeoidException_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_Geodetic", _wrap_new_Geodetic, METH_VARARGS, NULL},
+ { (char *)"delete_Geodetic", _wrap_delete_Geodetic, METH_VARARGS, NULL},
+ { (char *)"Geodetic_class_operator_assignment", _wrap_Geodetic_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"Geodetic_asECEF", _wrap_Geodetic_asECEF, METH_VARARGS, NULL},
+ { (char *)"Geodetic_getLatitude", _wrap_Geodetic_getLatitude, METH_VARARGS, NULL},
+ { (char *)"Geodetic_getLongitude", _wrap_Geodetic_getLongitude, METH_VARARGS, NULL},
+ { (char *)"Geodetic_getAltitude", _wrap_Geodetic_getAltitude, METH_VARARGS, NULL},
+ { (char *)"Geodetic_swigregister", Geodetic_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_RAIMSolution", _wrap_new_RAIMSolution, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Compute", _wrap_RAIMSolution_Compute, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_isValid", _wrap_RAIMSolution_isValid, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_RMSLimit_set", _wrap_RAIMSolution_RMSLimit_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_RMSLimit_get", _wrap_RAIMSolution_RMSLimit_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_SlopeLimit_set", _wrap_RAIMSolution_SlopeLimit_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_SlopeLimit_get", _wrap_RAIMSolution_SlopeLimit_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Algebraic_set", _wrap_RAIMSolution_Algebraic_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Algebraic_get", _wrap_RAIMSolution_Algebraic_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_ResidualCriterion_set", _wrap_RAIMSolution_ResidualCriterion_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_ResidualCriterion_get", _wrap_RAIMSolution_ResidualCriterion_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_ReturnAtOnce_set", _wrap_RAIMSolution_ReturnAtOnce_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_ReturnAtOnce_get", _wrap_RAIMSolution_ReturnAtOnce_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_NSatsReject_set", _wrap_RAIMSolution_NSatsReject_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_NSatsReject_get", _wrap_RAIMSolution_NSatsReject_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Debug_set", _wrap_RAIMSolution_Debug_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Debug_get", _wrap_RAIMSolution_Debug_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_pDebugStream_set", _wrap_RAIMSolution_pDebugStream_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_pDebugStream_get", _wrap_RAIMSolution_pDebugStream_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_MaxNIterations_set", _wrap_RAIMSolution_MaxNIterations_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_MaxNIterations_get", _wrap_RAIMSolution_MaxNIterations_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_ConvergenceLimit_set", _wrap_RAIMSolution_ConvergenceLimit_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_ConvergenceLimit_get", _wrap_RAIMSolution_ConvergenceLimit_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Valid_set", _wrap_RAIMSolution_Valid_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Valid_get", _wrap_RAIMSolution_Valid_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Solution_set", _wrap_RAIMSolution_Solution_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Solution_get", _wrap_RAIMSolution_Solution_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Covariance_set", _wrap_RAIMSolution_Covariance_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Covariance_get", _wrap_RAIMSolution_Covariance_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_RMSResidual_set", _wrap_RAIMSolution_RMSResidual_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_RMSResidual_get", _wrap_RAIMSolution_RMSResidual_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_MaxSlope_set", _wrap_RAIMSolution_MaxSlope_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_MaxSlope_get", _wrap_RAIMSolution_MaxSlope_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_NIterations_set", _wrap_RAIMSolution_NIterations_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_NIterations_get", _wrap_RAIMSolution_NIterations_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Convergence_set", _wrap_RAIMSolution_Convergence_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Convergence_get", _wrap_RAIMSolution_Convergence_get, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Nsvs_set", _wrap_RAIMSolution_Nsvs_set, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_Nsvs_get", _wrap_RAIMSolution_Nsvs_get, METH_VARARGS, NULL},
+ { (char *)"delete_RAIMSolution", _wrap_delete_RAIMSolution, METH_VARARGS, NULL},
+ { (char *)"RAIMSolution_swigregister", RAIMSolution_swigregister, METH_VARARGS, NULL},
+ { (char *)"PrepareAutonomousSolution", _wrap_PrepareAutonomousSolution, METH_VARARGS, NULL},
+ { (char *)"AutonomousPRSolution", _wrap_AutonomousPRSolution, METH_VARARGS, NULL},
+ { (char *)"new_CorrectedEphemerisRange", _wrap_new_CorrectedEphemerisRange, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_ComputeAtReceiveTime", _wrap_CorrectedEphemerisRange_ComputeAtReceiveTime, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_ComputeAtTransmitTime", _wrap_CorrectedEphemerisRange_ComputeAtTransmitTime, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_rawrange_set", _wrap_CorrectedEphemerisRange_rawrange_set, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_rawrange_get", _wrap_CorrectedEphemerisRange_rawrange_get, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_svclkbias_set", _wrap_CorrectedEphemerisRange_svclkbias_set, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_svclkbias_get", _wrap_CorrectedEphemerisRange_svclkbias_get, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_svclkdrift_set", _wrap_CorrectedEphemerisRange_svclkdrift_set, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_svclkdrift_get", _wrap_CorrectedEphemerisRange_svclkdrift_get, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_relativity_set", _wrap_CorrectedEphemerisRange_relativity_set, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_relativity_get", _wrap_CorrectedEphemerisRange_relativity_get, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_elevation_set", _wrap_CorrectedEphemerisRange_elevation_set, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_elevation_get", _wrap_CorrectedEphemerisRange_elevation_get, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_azimuth_set", _wrap_CorrectedEphemerisRange_azimuth_set, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_azimuth_get", _wrap_CorrectedEphemerisRange_azimuth_get, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_transmit_set", _wrap_CorrectedEphemerisRange_transmit_set, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_transmit_get", _wrap_CorrectedEphemerisRange_transmit_get, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_cosines_set", _wrap_CorrectedEphemerisRange_cosines_set, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_cosines_get", _wrap_CorrectedEphemerisRange_cosines_get, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_svPosVel_set", _wrap_CorrectedEphemerisRange_svPosVel_set, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_svPosVel_get", _wrap_CorrectedEphemerisRange_svPosVel_get, METH_VARARGS, NULL},
+ { (char *)"delete_CorrectedEphemerisRange", _wrap_delete_CorrectedEphemerisRange, METH_VARARGS, NULL},
+ { (char *)"CorrectedEphemerisRange_swigregister", CorrectedEphemerisRange_swigregister, METH_VARARGS, NULL},
+ { (char *)"RelativityCorrection", _wrap_RelativityCorrection, METH_VARARGS, NULL},
+ { (char *)"new_EngNav", _wrap_new_EngNav, METH_VARARGS, NULL},
+ { (char *)"delete_EngNav", _wrap_delete_EngNav, METH_VARARGS, NULL},
+ { (char *)"EngNav_subframeParity", _wrap_EngNav_subframeParity, METH_VARARGS, NULL},
+ { (char *)"EngNav_subframeConvert", _wrap_EngNav_subframeConvert, METH_VARARGS, NULL},
+ { (char *)"EngNav_convert8bit", _wrap_EngNav_convert8bit, METH_VARARGS, NULL},
+ { (char *)"EngNav_convert10bit", _wrap_EngNav_convert10bit, METH_VARARGS, NULL},
+ { (char *)"EngNav_getSubframePattern", _wrap_EngNav_getSubframePattern, METH_VARARGS, NULL},
+ { (char *)"EngNav_swigregister", EngNav_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_EngAlmanac", _wrap_new_EngAlmanac, METH_VARARGS, NULL},
+ { (char *)"delete_EngAlmanac", _wrap_delete_EngAlmanac, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_addSubframe", _wrap_EngAlmanac_addSubframe, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_isData", _wrap_EngAlmanac_isData, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getEcc", _wrap_EngAlmanac_getEcc, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getIOffset", _wrap_EngAlmanac_getIOffset, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getOmegadot", _wrap_EngAlmanac_getOmegadot, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getSVHealth", _wrap_EngAlmanac_getSVHealth, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getAhalf", _wrap_EngAlmanac_getAhalf, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getA", _wrap_EngAlmanac_getA, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getOmega0", _wrap_EngAlmanac_getOmega0, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getW", _wrap_EngAlmanac_getW, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getM0", _wrap_EngAlmanac_getM0, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getAf0", _wrap_EngAlmanac_getAf0, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getAf1", _wrap_EngAlmanac_getAf1, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getToa", _wrap_EngAlmanac_getToa, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getXmitTime", _wrap_EngAlmanac_getXmitTime, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getFullWeek", _wrap_EngAlmanac_getFullWeek, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getIon", _wrap_EngAlmanac_getIon, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getUTC", _wrap_EngAlmanac_getUTC, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getAlmWeek", _wrap_EngAlmanac_getAlmWeek, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getAlmOrbElem", _wrap_EngAlmanac_getAlmOrbElem, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_getAlmOrbElems", _wrap_EngAlmanac_getAlmOrbElems, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_svXvt", _wrap_EngAlmanac_svXvt, METH_VARARGS, NULL},
+ { (char *)"EngAlmanac_swigregister", EngAlmanac_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_EngEphemeris", _wrap_new_EngEphemeris, METH_VARARGS, NULL},
+ { (char *)"delete_EngEphemeris", _wrap_delete_EngEphemeris, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_addSubframe", _wrap_EngEphemeris_addSubframe, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_isData", _wrap_EngEphemeris_isData, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_setAccuracy", _wrap_EngEphemeris_setAccuracy, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getFitInterval", _wrap_EngEphemeris_getFitInterval, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getTLMPreamble", _wrap_EngEphemeris_getTLMPreamble, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getTLMMessage", _wrap_EngEphemeris_getTLMMessage, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getEphemerisEpoch", _wrap_EngEphemeris_getEphemerisEpoch, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getEpochTime", _wrap_EngEphemeris_getEpochTime, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getTransmitTime", _wrap_EngEphemeris_getTransmitTime, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getTimestamp", _wrap_EngEphemeris_getTimestamp, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getPRNID", _wrap_EngEphemeris_getPRNID, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getTracker", _wrap_EngEphemeris_getTracker, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getHOWTime", _wrap_EngEphemeris_getHOWTime, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getASAlert", _wrap_EngEphemeris_getASAlert, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getFullWeek", _wrap_EngEphemeris_getFullWeek, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getCodeFlags", _wrap_EngEphemeris_getCodeFlags, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getAccuracy", _wrap_EngEphemeris_getAccuracy, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getAccFlag", _wrap_EngEphemeris_getAccFlag, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getHealth", _wrap_EngEphemeris_getHealth, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getL2Pdata", _wrap_EngEphemeris_getL2Pdata, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getIODC", _wrap_EngEphemeris_getIODC, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getIODE", _wrap_EngEphemeris_getIODE, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getToc", _wrap_EngEphemeris_getToc, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getAf0", _wrap_EngEphemeris_getAf0, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getAf1", _wrap_EngEphemeris_getAf1, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getAf2", _wrap_EngEphemeris_getAf2, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getTgd", _wrap_EngEphemeris_getTgd, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getCus", _wrap_EngEphemeris_getCus, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getCrs", _wrap_EngEphemeris_getCrs, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getCis", _wrap_EngEphemeris_getCis, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getCrc", _wrap_EngEphemeris_getCrc, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getCuc", _wrap_EngEphemeris_getCuc, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getCic", _wrap_EngEphemeris_getCic, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getToe", _wrap_EngEphemeris_getToe, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getM0", _wrap_EngEphemeris_getM0, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getDn", _wrap_EngEphemeris_getDn, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getEcc", _wrap_EngEphemeris_getEcc, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getAhalf", _wrap_EngEphemeris_getAhalf, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getA", _wrap_EngEphemeris_getA, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getOmega0", _wrap_EngEphemeris_getOmega0, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getI0", _wrap_EngEphemeris_getI0, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getW", _wrap_EngEphemeris_getW, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getOmegaDot", _wrap_EngEphemeris_getOmegaDot, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getIDot", _wrap_EngEphemeris_getIDot, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_svXvt", _wrap_EngEphemeris_svXvt, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_svRelativity", _wrap_EngEphemeris_svRelativity, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_svClockBias", _wrap_EngEphemeris_svClockBias, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_svClockDrift", _wrap_EngEphemeris_svClockDrift, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getFitInt", _wrap_EngEphemeris_getFitInt, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_getTot", _wrap_EngEphemeris_getTot, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_setSF1", _wrap_EngEphemeris_setSF1, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_setSF2", _wrap_EngEphemeris_setSF2, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_setSF3", _wrap_EngEphemeris_setSF3, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_dump", _wrap_EngEphemeris_dump, METH_VARARGS, NULL},
+ { (char *)"EngEphemeris_swigregister", EngEphemeris_swigregister, METH_VARARGS, NULL},
+ { (char *)"delete_GPSZcount", _wrap_delete_GPSZcount, METH_VARARGS, NULL},
+ { (char *)"new_GPSZcount", _wrap_new_GPSZcount, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_getWeek", _wrap_GPSZcount_getWeek, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_getZcount", _wrap_GPSZcount_getZcount, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_getFullZcount", _wrap_GPSZcount_getFullZcount, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_getTotalZcounts", _wrap_GPSZcount_getTotalZcounts, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_setWeek", _wrap_GPSZcount_setWeek, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_setZcount", _wrap_GPSZcount_setZcount, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_setFullZcount", _wrap_GPSZcount_setFullZcount, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_addWeeks", _wrap_GPSZcount_addWeeks, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_addZcounts", _wrap_GPSZcount_addZcounts, METH_VARARGS, NULL},
+ { (char *)"GPSZcount___add__", _wrap_GPSZcount___add__, METH_VARARGS, NULL},
+ { (char *)"GPSZcount___sub__", _wrap_GPSZcount___sub__, METH_VARARGS, NULL},
+ { (char *)"GPSZcount___iadd__", _wrap_GPSZcount___iadd__, METH_VARARGS, NULL},
+ { (char *)"GPSZcount___isub__", _wrap_GPSZcount___isub__, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_class_operator_assignment", _wrap_GPSZcount_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"GPSZcount___lt__", _wrap_GPSZcount___lt__, METH_VARARGS, NULL},
+ { (char *)"GPSZcount___gt__", _wrap_GPSZcount___gt__, METH_VARARGS, NULL},
+ { (char *)"GPSZcount___eq__", _wrap_GPSZcount___eq__, METH_VARARGS, NULL},
+ { (char *)"GPSZcount___ne__", _wrap_GPSZcount___ne__, METH_VARARGS, NULL},
+ { (char *)"GPSZcount___le__", _wrap_GPSZcount___le__, METH_VARARGS, NULL},
+ { (char *)"GPSZcount___ge__", _wrap_GPSZcount___ge__, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_operator_std_string", _wrap_GPSZcount_operator_std_string, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_inSameTimeBlock", _wrap_GPSZcount_inSameTimeBlock, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_dump", _wrap_GPSZcount_dump, METH_VARARGS, NULL},
+ { (char *)"GPSZcount_swigregister", GPSZcount_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_DayTimeException", _wrap_new_DayTimeException, METH_VARARGS, NULL},
+ { (char *)"delete_DayTimeException", _wrap_delete_DayTimeException, METH_VARARGS, NULL},
+ { (char *)"DayTimeException_getName", _wrap_DayTimeException_getName, METH_VARARGS, NULL},
+ { (char *)"DayTimeException_class_operator_assignment", _wrap_DayTimeException_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"DayTimeException_swigregister", DayTimeException_swigregister, METH_VARARGS, NULL},
+ { (char *)"new_FormatException", _wrap_new_FormatException, METH_VARARGS, NULL},
+ { (char *)"delete_FormatException", _wrap_delete_FormatException, METH_VARARGS, NULL},
+ { (char *)"FormatException_getName", _wrap_FormatException_getName, METH_VARARGS, NULL},
+ { (char *)"FormatException_class_operator_assignment", _wrap_FormatException_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"DayTimeException_streamRead", _wrap_DayTimeException_streamRead, METH_VARARGS, NULL},
+ { (char *)"FormatException_swigregister", FormatException_swigregister, METH_VARARGS, NULL},
+ { (char *)"DayTime_setDayTimeTolerance", _wrap_DayTime_setDayTimeTolerance, METH_VARARGS, NULL},
+ { (char *)"DayTime_getDayTimeTolerance", _wrap_DayTime_getDayTimeTolerance, METH_VARARGS, NULL},
+ { (char *)"DayTime_setTolerance", _wrap_DayTime_setTolerance, METH_VARARGS, NULL},
+ { (char *)"DayTime_getTolerance", _wrap_DayTime_getTolerance, METH_VARARGS, NULL},
+ { (char *)"delete_DayTime", _wrap_delete_DayTime, METH_VARARGS, NULL},
+ { (char *)"new_DayTime", _wrap_new_DayTime, METH_VARARGS, NULL},
+ { (char *)"DayTime_class_operator_assignment", _wrap_DayTime_class_operator_assignment, METH_VARARGS, NULL},
+ { (char *)"DayTime___add__", _wrap_DayTime___add__, METH_VARARGS, NULL},
+ { (char *)"DayTime___sub__", _wrap_DayTime___sub__, METH_VARARGS, NULL},
+ { (char *)"DayTime___iadd__", _wrap_DayTime___iadd__, METH_VARARGS, NULL},
+ { (char *)"DayTime___isub__", _wrap_DayTime___isub__, METH_VARARGS, NULL},
+ { (char *)"DayTime_addSeconds", _wrap_DayTime_addSeconds, METH_VARARGS, NULL},
+ { (char *)"DayTime_addMilliSeconds", _wrap_DayTime_addMilliSeconds, METH_VARARGS, NULL},
+ { (char *)"DayTime_addMicroSeconds", _wrap_DayTime_addMicroSeconds, METH_VARARGS, NULL},
+ { (char *)"DayTime___eq__", _wrap_DayTime___eq__, METH_VARARGS, NULL},
+ { (char *)"DayTime___ne__", _wrap_DayTime___ne__, METH_VARARGS, NULL},
+ { (char *)"DayTime___lt__", _wrap_DayTime___lt__, METH_VARARGS, NULL},
+ { (char *)"DayTime___gt__", _wrap_DayTime___gt__, METH_VARARGS, NULL},
+ { (char *)"DayTime___le__", _wrap_DayTime___le__, METH_VARARGS, NULL},
+ { (char *)"DayTime___ge__", _wrap_DayTime___ge__, METH_VARARGS, NULL},
+ { (char *)"DayTime_setAllButTimeFrame", _wrap_DayTime_setAllButTimeFrame, METH_VARARGS, NULL},
+ { (char *)"DayTime_setTimeFrame", _wrap_DayTime_setTimeFrame, METH_VARARGS, NULL},
+ { (char *)"DayTime_getTimeFrame", _wrap_DayTime_getTimeFrame, METH_VARARGS, NULL},
+ { (char *)"DayTime_JD", _wrap_DayTime_JD, METH_VARARGS, NULL},
+ { (char *)"DayTime_MJD", _wrap_DayTime_MJD, METH_VARARGS, NULL},
+ { (char *)"DayTime_year", _wrap_DayTime_year, METH_VARARGS, NULL},
+ { (char *)"DayTime_month", _wrap_DayTime_month, METH_VARARGS, NULL},
+ { (char *)"DayTime_day", _wrap_DayTime_day, METH_VARARGS, NULL},
+ { (char *)"DayTime_dayOfWeek", _wrap_DayTime_dayOfWeek, METH_VARARGS, NULL},
+ { (char *)"DayTime_getYMD", _wrap_DayTime_getYMD, METH_VARARGS, NULL},
+ { (char *)"DayTime_hour", _wrap_DayTime_hour, METH_VARARGS, NULL},
+ { (char *)"DayTime_minute", _wrap_DayTime_minute, METH_VARARGS, NULL},
+ { (char *)"DayTime_second", _wrap_DayTime_second, METH_VARARGS, NULL},
+ { (char *)"DayTime_secOfDay", _wrap_DayTime_secOfDay, METH_VARARGS, NULL},
+ { (char *)"DayTime_GPS10bitweek", _wrap_DayTime_GPS10bitweek, METH_VARARGS, NULL},
+ { (char *)"DayTime_GPSzcount", _wrap_DayTime_GPSzcount, METH_VARARGS, NULL},
+ { (char *)"DayTime_GPSzcountFloor", _wrap_DayTime_GPSzcountFloor, METH_VARARGS, NULL},
+ { (char *)"DayTime_GPSsecond", _wrap_DayTime_GPSsecond, METH_VARARGS, NULL},
+ { (char *)"DayTime_GPSsow", _wrap_DayTime_GPSsow, METH_VARARGS, NULL},
+ { (char *)"DayTime_GPSday", _wrap_DayTime_GPSday, METH_VARARGS, NULL},
+ { (char *)"DayTime_GPSfullweek", _wrap_DayTime_GPSfullweek, METH_VARARGS, NULL},
+ { (char *)"DayTime_GPSyear", _wrap_DayTime_GPSyear, METH_VARARGS, NULL},
+ { (char *)"DayTime_DOYyear", _wrap_DayTime_DOYyear, METH_VARARGS, NULL},
+ { (char *)"DayTime_DOYday", _wrap_DayTime_DOYday, METH_VARARGS, NULL},
+ { (char *)"DayTime_DOY", _wrap_DayTime_DOY, METH_VARARGS, NULL},
+ { (char *)"DayTime_DOYsecond", _wrap_DayTime_DOYsecond, METH_VARARGS, NULL},
+ { (char *)"DayTime_MJDdate", _wrap_DayTime_MJDdate, METH_VARARGS, NULL},
+ { (char *)"DayTime_getMJDasLongDouble", _wrap_DayTime_getMJDasLongDouble, METH_VARARGS, NULL},
+ { (char *)"DayTime_unixTime", _wrap_DayTime_unixTime, METH_VARARGS, NULL},
+ { (char *)"DayTime_fullZcount", _wrap_DayTime_fullZcount, METH_VARARGS, NULL},
+ { (char *)"DayTime_fullZcountFloor", _wrap_DayTime_fullZcountFloor, METH_VARARGS, NULL},
+ { (char *)"DayTime_Operator_GPSZcount", _wrap_DayTime_Operator_GPSZcount, METH_VARARGS, NULL},
+ { (char *)"DayTime_setYMDHMS", _wrap_DayTime_setYMDHMS, METH_VARARGS, NULL},
+ { (char *)"DayTime_setGPS", _wrap_DayTime_setGPS, METH_VARARGS, NULL},
+ { (char *)"DayTime_setGPSfullweek", _wrap_DayTime_setGPSfullweek, METH_VARARGS, NULL},
+ { (char *)"DayTime_setGPSZcount", _wrap_DayTime_setGPSZcount, METH_VARARGS, NULL},
+ { (char *)"DayTime_setYDoySod", _wrap_DayTime_setYDoySod, METH_VARARGS, NULL},
+ { (char *)"DayTime_setMJD", _wrap_DayTime_setMJD, METH_VARARGS, NULL},
+ { (char *)"DayTime_setMJDdate", _wrap_DayTime_setMJDdate, METH_VARARGS, NULL},
+ { (char *)"DayTime_setUnix", _wrap_DayTime_setUnix, METH_VARARGS, NULL},
+ { (char *)"DayTime_setANSI", _wrap_DayTime_setANSI, METH_VARARGS, NULL},
+ { (char *)"DayTime_setSystemTime", _wrap_DayTime_setSystemTime, METH_VARARGS, NULL},
+ { (char *)"DayTime_setLocalTime", _wrap_DayTime_setLocalTime, METH_VARARGS, NULL},
+ { (char *)"DayTime_setYMD", _wrap_DayTime_setYMD, METH_VARARGS, NULL},
+ { (char *)"DayTime_setHMS", _wrap_DayTime_setHMS, METH_VARARGS, NULL},
+ { (char *)"DayTime_setSecOfDay", _wrap_DayTime_setSecOfDay, METH_VARARGS, NULL},
+ { (char *)"DayTime_setYDoy", _wrap_DayTime_setYDoy, METH_VARARGS, NULL},
+ { (char *)"DayTime_setToString", _wrap_DayTime_setToString, METH_VARARGS, NULL},
+ { (char *)"DayTime_printf", _wrap_DayTime_printf, METH_VARARGS, NULL},
+ { (char *)"DayTime_printf_std_string", _wrap_DayTime_printf_std_string, METH_VARARGS, NULL},
+ { (char *)"DayTime_asString", _wrap_DayTime_asString, METH_VARARGS, NULL},
+ { (char *)"DayTime_dump", _wrap_DayTime_dump, METH_VARARGS, NULL},
+ { (char *)"DayTime_convertJDtoCalendar", _wrap_DayTime_convertJDtoCalendar, METH_VARARGS, NULL},
+ { (char *)"DayTime_convertCalendarToJD", _wrap_DayTime_convertCalendarToJD, METH_VARARGS, NULL},
+ { (char *)"DayTime_convertSODtoTime", _wrap_DayTime_convertSODtoTime, METH_VARARGS, NULL},
+ { (char *)"DayTime_convertTimeToSOD", _wrap_DayTime_convertTimeToSOD, METH_VARARGS, NULL},
+ { (char *)"DayTime_swigregister", DayTime_swigregister, METH_VARARGS, NULL},
+ { (char *)"__lshift__", _wrap___lshift__, METH_VARARGS, NULL},
+ { (char *)"new_ObsRngDev", _wrap_new_ObsRngDev, METH_VARARGS, NULL},
+ { (char *)"delete_ObsRngDev", _wrap_delete_ObsRngDev, METH_VARARGS, NULL},
+ { (char *)"ObsRngDev_getTime", _wrap_ObsRngDev_getTime, METH_VARARGS, NULL},
+ { (char *)"ObsRngDev_getPRN", _wrap_ObsRngDev_getPRN, METH_VARARGS, NULL},
+ { (char *)"ObsRngDev_getAzimuth", _wrap_ObsRngDev_getAzimuth, METH_VARARGS, NULL},
+ { (char *)"ObsRngDev_getElevation", _wrap_ObsRngDev_getElevation, METH_VARARGS, NULL},
+ { (char *)"ObsRngDev_getHealth", _wrap_ObsRngDev_getHealth, METH_VARARGS, NULL},
+ { (char *)"ObsRngDev_getIODC", _wrap_ObsRngDev_getIODC, METH_VARARGS, NULL},
+ { (char *)"ObsRngDev_getORD", _wrap_ObsRngDev_getORD, METH_VARARGS, NULL},
+ { (char *)"ObsRngDev_getIono", _wrap_ObsRngDev_getIono, METH_VARARGS, NULL},
+ { (char *)"ObsRngDev_getTrop", _wrap_ObsRngDev_getTrop, METH_VARARGS, NULL},
+ { (char *)"ObsRngDev_applyClockOffset", _wrap_ObsRngDev_applyClockOffset, METH_VARARGS, NULL},
+ { (char *)"ObsRngDev_swigregister", ObsRngDev_swigregister, METH_VARARGS, NULL},
+ { (char *)"ORDEpoch_removeORD", _wrap_ORDEpoch_removeORD, METH_VARARGS, NULL},
+ { (char *)"ORDEpoch_applyClockModel", _wrap_ORDEpoch_applyClockModel, METH_VARARGS, NULL},
+ { (char *)"ORDEpoch_clockOffset_set", _wrap_ORDEpoch_clockOffset_set, METH_VARARGS, NULL},
+ { (char *)"ORDEpoch_clockOffset_get", _wrap_ORDEpoch_clockOffset_get, METH_VARARGS, NULL},
+ { (char *)"ORDEpoch_validClock_set", _wrap_ORDEpoch_validClock_set, METH_VARARGS, NULL},
+ { (char *)"ORDEpoch_validClock_get", _wrap_ORDEpoch_validClock_get, METH_VARARGS, NULL},
+ { (char *)"ORDEpoch_ords_set", _wrap_ORDEpoch_ords_set, METH_VARARGS, NULL},
+ { (char *)"ORDEpoch_ords_get", _wrap_ORDEpoch_ords_get, METH_VARARGS, NULL},
+ { (char *)"ORDEpoch_time_set", _wrap_ORDEpoch_time_set, METH_VARARGS, NULL},
+ { (char *)"ORDEpoch_time_get", _wrap_ORDEpoch_time_get, METH_VARARGS, NULL},
+ { (char *)"streamRead", _wrap_streamRead, METH_VARARGS, NULL},
+ { (char *)"new_ORDEpoch", _wrap_new_ORDEpoch, METH_VARARGS, NULL},
+ { (char *)"delete_ORDEpoch", _wrap_delete_ORDEpoch, METH_VARARGS, NULL},
+ { (char *)"ORDEpoch_swigregister", ORDEpoch_swigregister, METH_VARARGS, NULL},
+ { (char *)"DayTime_streamRead", _wrap_DayTime_streamRead, METH_VARARGS, NULL},
+ { NULL, NULL, 0, NULL }
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+static void *_p_gpstk__RinexObsHeaderTo_p_gpstk__RinexObsBase(void *x) {
+ return (void *)((gpstk::RinexObsBase *) ((gpstk::RinexObsHeader *) x));
+}
+static void *_p_gpstk__RinexObsDataTo_p_gpstk__RinexObsBase(void *x) {
+ return (void *)((gpstk::RinexObsBase *) ((gpstk::RinexObsData *) x));
+}
+static void *_p_gpstk__ECEFTo_p_gpstk__Triple(void *x) {
+ return (void *)((gpstk::Triple *) ((gpstk::ECEF *) x));
+}
+static void *_p_gpstk__PositionTo_p_gpstk__Triple(void *x) {
+ return (void *)((gpstk::Triple *) ((gpstk::Position *) x));
+}
+static void *_p_gpstk__GeodeticTo_p_gpstk__Triple(void *x) {
+ return (void *)((gpstk::Triple *) ((gpstk::Geodetic *) x));
+}
+static void *_p_gpstk__FICDataTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) (gpstk::FICBase *) ((gpstk::FICData *) x));
+}
+static void *_p_gpstk__RinexNavBaseTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) ((gpstk::RinexNavBase *) x));
+}
+static void *_p_gpstk__FICBaseTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) ((gpstk::FICBase *) x));
+}
+static void *_p_gpstk__RinexObsDataTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) (gpstk::RinexObsBase *) ((gpstk::RinexObsData *) x));
+}
+static void *_p_gpstk__FICHeaderTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) (gpstk::FICBase *) ((gpstk::FICHeader *) x));
+}
+static void *_p_gpstk__SP3HeaderTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) (gpstk::SP3Base *) ((gpstk::SP3Header *) x));
+}
+static void *_p_gpstk__RinexObsHeaderTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) (gpstk::RinexObsBase *) ((gpstk::RinexObsHeader *) x));
+}
+static void *_p_gpstk__SP3DataTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) (gpstk::SP3Base *) ((gpstk::SP3Data *) x));
+}
+static void *_p_gpstk__RinexObsBaseTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) ((gpstk::RinexObsBase *) x));
+}
+static void *_p_gpstk__RinexMetDataTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) (gpstk::RinexMetBase *) ((gpstk::RinexMetData *) x));
+}
+static void *_p_gpstk__RinexMetHeaderTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) (gpstk::RinexMetBase *) ((gpstk::RinexMetHeader *) x));
+}
+static void *_p_gpstk__RinexNavHeaderTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) (gpstk::RinexNavBase *) ((gpstk::RinexNavHeader *) x));
+}
+static void *_p_gpstk__RinexNavDataTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) (gpstk::RinexNavBase *) ((gpstk::RinexNavData *) x));
+}
+static void *_p_gpstk__SP3BaseTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) ((gpstk::SP3Base *) x));
+}
+static void *_p_gpstk__RinexMetBaseTo_p_gpstk__FFData(void *x) {
+ return (void *)((gpstk::FFData *) ((gpstk::RinexMetBase *) x));
+}
+static void *_p_gpstk__ZeroTropModelTo_p_gpstk__TropModel(void *x) {
+ return (void *)((gpstk::TropModel *) ((gpstk::ZeroTropModel *) x));
+}
+static void *_p_gpstk__SimpleTropModelTo_p_gpstk__TropModel(void *x) {
+ return (void *)((gpstk::TropModel *) ((gpstk::SimpleTropModel *) x));
+}
+static void *_p_gpstk__GGTropModelTo_p_gpstk__TropModel(void *x) {
+ return (void *)((gpstk::TropModel *) ((gpstk::GGTropModel *) x));
+}
+static void *_p_gpstk__GGHeightTropModelTo_p_gpstk__TropModel(void *x) {
+ return (void *)((gpstk::TropModel *) ((gpstk::GGHeightTropModel *) x));
+}
+static void *_p_gpstk__NBTropModelTo_p_gpstk__TropModel(void *x) {
+ return (void *)((gpstk::TropModel *) ((gpstk::NBTropModel *) x));
+}
+static void *_p_gpstk__AccessErrorTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AccessError *) x));
+}
+static void *_p_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_istream<char > *) ((std::basic_iostream<char,std::char_traits<char > > *) x));
+}
+static void *_p_gpstk__InvalidParameterTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidParameter *) x));
+}
+static void *_p_gpstk__OutOfMemoryTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::OutOfMemory *) x));
+}
+static void *_p_gpstk__WrongBlockNumberTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockNumber *) x));
+}
+static void *_p_std__basic_iosTchar_std__char_traitsTchar_t_tTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) ((std::basic_ios<char,std::char_traits<char > > *) x));
+}
+static void *_p_std__basic_istreamTchar_std__char_traitsTchar_t_tTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *) ((std::basic_istream<char,std::char_traits<char > > *) x));
+}
+static void *_p_std__basic_ostreamTchar_std__char_traitsTchar_t_tTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *) ((std::basic_ostream<char,std::char_traits<char > > *) x));
+}
+static void *_p_gpstk__InvalidValueTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidValue *) x));
+}
+static void *_p_gpstk__WrongBlockFormatTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockFormat *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__SystemSemaphoreExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemSemaphoreException *) x));
+}
+static void *_p_gpstk__FileMissingExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileMissingException *) x));
+}
+static void *_p_gpstk__ConfigurationExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::ConfigurationException *) x));
+}
+static void *_p_gpstk__InvalidArgumentExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidArgumentException *) x));
+}
+static void *_p_gpstk__IndexOutOfBoundsExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::IndexOutOfBoundsException *) x));
+}
+static void *_p_gpstk__ExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *) ((gpstk::Exception *) x));
+}
+static void *_p_gpstk__SystemPipeExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemPipeException *) x));
+}
+static void *_p_gpstk__SystemQueueExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemQueueException *) x));
+}
+static void *_p_gpstk__FileHunterExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileHunterException *) x));
+}
+static void *_p_gpstk__GeometryExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::GeometryException *) x));
+}
+static void *_p_gpstk__NoGeoidExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::NoGeoidException *) x));
+}
+static void *_p_DayTimeExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((DayTimeException *) x));
+}
+static void *_p_FormatExceptionTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((FormatException *) x));
+}
+static void *_p_gpstk__InvalidRequestTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidRequest *) x));
+}
+static void *_p_gpstk__AssertionFailureTo_p_std__ios_base(void *x) {
+ return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AssertionFailure *) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__AccessErrorTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AccessError &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_istream<char > *) ((std::basic_iostream<char,std::char_traits<char > > &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__InvalidParameterTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidParameter &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__OutOfMemoryTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::OutOfMemory &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__WrongBlockNumberTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockNumber &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_tTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) ((std::basic_ios<char,std::char_traits<char > > &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *) ((std::basic_istream<char,std::char_traits<char > > &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *) ((std::basic_ostream<char,std::char_traits<char > > &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__InvalidValueTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidValue &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__WrongBlockFormatTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockFormat &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__ObjectNotFoundTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__SystemSemaphoreExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemSemaphoreException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__FileMissingExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileMissingException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__ConfigurationExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::ConfigurationException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__InvalidArgumentExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidArgumentException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::IndexOutOfBoundsException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__ExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *) ((gpstk::Exception &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__SystemPipeExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemPipeException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__SystemQueueExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemQueueException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__FileHunterExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileHunterException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__GeometryExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::GeometryException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__NoGeoidExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::NoGeoidException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_DayTimeExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((DayTimeException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_FormatExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((FormatException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__InvalidRequestTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidRequest &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__AssertionFailureTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+ return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AssertionFailure &(*)(std::ios_base &)) x));
+}
+static void *_p_gpstk__AccessErrorTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::AccessError *) x));
+}
+static void *_p_gpstk__InvalidParameterTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::InvalidParameter *) x));
+}
+static void *_p_gpstk__OutOfMemoryTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::OutOfMemory *) x));
+}
+static void *_p_gpstk__WrongBlockNumberTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::WrongBlockNumber *) x));
+}
+static void *_p_gpstk__InvalidValueTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::InvalidValue *) x));
+}
+static void *_p_gpstk__WrongBlockFormatTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::WrongBlockFormat *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) (gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__SystemQueueExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::SystemQueueException *) x));
+}
+static void *_p_gpstk__SystemPipeExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::SystemPipeException *) x));
+}
+static void *_p_gpstk__SystemSemaphoreExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::SystemSemaphoreException *) x));
+}
+static void *_p_gpstk__FileMissingExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::FileMissingException *) x));
+}
+static void *_p_gpstk__ConfigurationExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::ConfigurationException *) x));
+}
+static void *_p_gpstk__InvalidArgumentExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::InvalidArgumentException *) x));
+}
+static void *_p_gpstk__IndexOutOfBoundsExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::IndexOutOfBoundsException *) x));
+}
+static void *_p_gpstk__FileHunterExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::FileHunterException *) x));
+}
+static void *_p_gpstk__GeometryExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::GeometryException *) x));
+}
+static void *_p_gpstk__NoGeoidExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::NoGeoidException *) x));
+}
+static void *_p_DayTimeExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((DayTimeException *) x));
+}
+static void *_p_FormatExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((FormatException *) x));
+}
+static void *_p_gpstk__InvalidRequestTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::InvalidRequest *) x));
+}
+static void *_p_gpstk__AssertionFailureTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::AssertionFailure *) x));
+}
+static void *_p_std__logic_errorTo_p_std__exception(void *x) {
+ return (void *)((std::exception *) ((std::logic_error *) x));
+}
+static void *_p_std__runtime_errorTo_p_std__exception(void *x) {
+ return (void *)((std::exception *) ((std::runtime_error *) x));
+}
+static void *_p_std__range_errorTo_p_std__exception(void *x) {
+ return (void *)((std::exception *) (std::runtime_error *) ((std::range_error *) x));
+}
+static void *_p_std__overflow_errorTo_p_std__exception(void *x) {
+ return (void *)((std::exception *) (std::runtime_error *) ((std::overflow_error *) x));
+}
+static void *_p_std__underflow_errorTo_p_std__exception(void *x) {
+ return (void *)((std::exception *) (std::runtime_error *) ((std::underflow_error *) x));
+}
+static void *_p_std__bad_exceptionTo_p_std__exception(void *x) {
+ return (void *)((std::exception *) ((std::bad_exception *) x));
+}
+static void *_p_std__domain_errorTo_p_std__exception(void *x) {
+ return (void *)((std::exception *) (std::logic_error *) ((std::domain_error *) x));
+}
+static void *_p_std__length_errorTo_p_std__exception(void *x) {
+ return (void *)((std::exception *) (std::logic_error *) ((std::length_error *) x));
+}
+static void *_p_std__out_of_rangeTo_p_std__exception(void *x) {
+ return (void *)((std::exception *) (std::logic_error *) ((std::out_of_range *) x));
+}
+static void *_p_std__invalid_argumentTo_p_std__exception(void *x) {
+ return (void *)((std::exception *) (std::logic_error *) ((std::invalid_argument *) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessErrorTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::AccessError &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) ((std::basic_iostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameterTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::InvalidParameter &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemoryTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::OutOfMemory &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumberTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::WrongBlockNumber &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValueTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::InvalidValue &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormatTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::WrongBlockFormat &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFoundTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::SystemQueueException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::SystemPipeException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::SystemSemaphoreException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::FileMissingException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::ConfigurationException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::InvalidArgumentException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::IndexOutOfBoundsException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) ((gpstk::Exception &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::FileHunterException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::GeometryException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::NoGeoidException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((DayTimeException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((FormatException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequestTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::InvalidRequest &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailureTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::AssertionFailure &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_istream<char,std::char_traits<char > > &(*)(std::basic_istream<char,std::char_traits<char > > &)) ((std::basic_iostream<char,std::char_traits<char > > &(*)(std::basic_istream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_gpstk__TabularEphemerisStoreTo_p_gpstk__EphemerisStore(void *x) {
+ return (void *)((gpstk::EphemerisStore *) ((gpstk::TabularEphemerisStore *) x));
+}
+static void *_p_gpstk__BCEphemerisStoreTo_p_gpstk__EphemerisStore(void *x) {
+ return (void *)((gpstk::EphemerisStore *) ((gpstk::BCEphemerisStore *) x));
+}
+static void *_p_gpstk__RinexEphemerisStoreTo_p_gpstk__EphemerisStore(void *x) {
+ return (void *)((gpstk::EphemerisStore *) (gpstk::BCEphemerisStore *) ((gpstk::RinexEphemerisStore *) x));
+}
+static void *_p_gpstk__SP3EphemerisStoreTo_p_gpstk__EphemerisStore(void *x) {
+ return (void *)((gpstk::EphemerisStore *) (gpstk::TabularEphemerisStore *) ((gpstk::SP3EphemerisStore *) x));
+}
+static void *_p_gpstk__RinexEphemerisStoreTo_p_gpstk__BCEphemerisStore(void *x) {
+ return (void *)((gpstk::BCEphemerisStore *) ((gpstk::RinexEphemerisStore *) x));
+}
+static void *_p_gpstk__SP3EphemerisStoreTo_p_gpstk__TabularEphemerisStore(void *x) {
+ return (void *)((gpstk::TabularEphemerisStore *) ((gpstk::SP3EphemerisStore *) x));
+}
+static void *_p_gpstk__AccessErrorTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::AccessError *) x));
+}
+static void *_p_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) ((std::basic_iostream<char,std::char_traits<char > > *) x));
+}
+static void *_p_gpstk__InvalidParameterTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::InvalidParameter *) x));
+}
+static void *_p_gpstk__OutOfMemoryTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::OutOfMemory *) x));
+}
+static void *_p_gpstk__WrongBlockNumberTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::WrongBlockNumber *) x));
+}
+static void *_p_gpstk__InvalidValueTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::InvalidValue *) x));
+}
+static void *_p_gpstk__WrongBlockFormatTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::WrongBlockFormat *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__SystemQueueExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::SystemQueueException *) x));
+}
+static void *_p_gpstk__SystemPipeExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::SystemPipeException *) x));
+}
+static void *_p_gpstk__SystemSemaphoreExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::SystemSemaphoreException *) x));
+}
+static void *_p_gpstk__FileMissingExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::FileMissingException *) x));
+}
+static void *_p_gpstk__ConfigurationExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::ConfigurationException *) x));
+}
+static void *_p_gpstk__InvalidArgumentExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::InvalidArgumentException *) x));
+}
+static void *_p_gpstk__IndexOutOfBoundsExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::IndexOutOfBoundsException *) x));
+}
+static void *_p_gpstk__ExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) ((gpstk::Exception *) x));
+}
+static void *_p_gpstk__FileHunterExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::FileHunterException *) x));
+}
+static void *_p_gpstk__GeometryExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::GeometryException *) x));
+}
+static void *_p_gpstk__NoGeoidExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::NoGeoidException *) x));
+}
+static void *_p_DayTimeExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((DayTimeException *) x));
+}
+static void *_p_FormatExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((FormatException *) x));
+}
+static void *_p_gpstk__InvalidRequestTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::InvalidRequest *) x));
+}
+static void *_p_gpstk__AssertionFailureTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::AssertionFailure *) x));
+}
+static void *_p_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_std__basic_istreamTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_istream<char,std::char_traits<char > > *) ((std::basic_iostream<char,std::char_traits<char > > *) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessErrorTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AccessError &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_istream<char > *) ((std::basic_iostream<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameterTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidParameter &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemoryTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::OutOfMemory &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumberTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockNumber &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) ((std::basic_istream<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) ((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValueTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidValue &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormatTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockFormat &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFoundTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemPipeException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemSemaphoreException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileMissingException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::ConfigurationException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidArgumentException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::IndexOutOfBoundsException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *) ((gpstk::Exception &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemQueueException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileHunterException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::GeometryException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::NoGeoidException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((DayTimeException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((FormatException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequestTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidRequest &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailureTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AssertionFailure &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_gpstk__EngEphemerisTo_p_gpstk__EngNav(void *x) {
+ return (void *)((gpstk::EngNav *) ((gpstk::EngEphemeris *) x));
+}
+static void *_p_gpstk__EngAlmanacTo_p_gpstk__EngNav(void *x) {
+ return (void *)((gpstk::EngNav *) ((gpstk::EngAlmanac *) x));
+}
+static void *_p_gpstk__RinexMetDataTo_p_gpstk__RinexMetBase(void *x) {
+ return (void *)((gpstk::RinexMetBase *) ((gpstk::RinexMetData *) x));
+}
+static void *_p_gpstk__RinexMetHeaderTo_p_gpstk__RinexMetBase(void *x) {
+ return (void *)((gpstk::RinexMetBase *) ((gpstk::RinexMetHeader *) x));
+}
+static void *_p_gpstk__EpochClockModelTo_p_gpstk__ObsClockModel(void *x) {
+ return (void *)((gpstk::ObsClockModel *) ((gpstk::EpochClockModel *) x));
+}
+static void *_p_gpstk__LinearClockModelTo_p_gpstk__ObsClockModel(void *x) {
+ return (void *)((gpstk::ObsClockModel *) ((gpstk::LinearClockModel *) x));
+}
+static void *_p_gpstk__ObsClockModelTo_p_gpstk__ClockModel(void *x) {
+ return (void *)((gpstk::ClockModel *) ((gpstk::ObsClockModel *) x));
+}
+static void *_p_gpstk__EpochClockModelTo_p_gpstk__ClockModel(void *x) {
+ return (void *)((gpstk::ClockModel *) (gpstk::ObsClockModel *) ((gpstk::EpochClockModel *) x));
+}
+static void *_p_gpstk__LinearClockModelTo_p_gpstk__ClockModel(void *x) {
+ return (void *)((gpstk::ClockModel *) (gpstk::ObsClockModel *) ((gpstk::LinearClockModel *) x));
+}
+static void *_p_gpstk__FICStreamTo_p_gpstk__FICStreamBase(void *x) {
+ return (void *)((gpstk::FICStreamBase *) ((gpstk::FICStream *) x));
+}
+static void *_p_gpstk__FICAStreamTo_p_gpstk__FICStreamBase(void *x) {
+ return (void *)((gpstk::FICStreamBase *) ((gpstk::FICAStream *) x));
+}
+static void *_p_gpstk__AccessErrorTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AccessError *) x));
+}
+static void *_p_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_istream<char > *) ((std::basic_iostream<char,std::char_traits<char > > *) x));
+}
+static void *_p_gpstk__InvalidParameterTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidParameter *) x));
+}
+static void *_p_gpstk__OutOfMemoryTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::OutOfMemory *) x));
+}
+static void *_p_gpstk__WrongBlockNumberTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockNumber *) x));
+}
+static void *_p_std__basic_istreamTchar_std__char_traitsTchar_t_tTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) ((std::basic_istream<char,std::char_traits<char > > *) x));
+}
+static void *_p_std__basic_ostreamTchar_std__char_traitsTchar_t_tTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) ((std::basic_ostream<char,std::char_traits<char > > *) x));
+}
+static void *_p_gpstk__InvalidValueTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidValue *) x));
+}
+static void *_p_gpstk__WrongBlockFormatTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockFormat *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__SystemPipeExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemPipeException *) x));
+}
+static void *_p_gpstk__SystemSemaphoreExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemSemaphoreException *) x));
+}
+static void *_p_gpstk__FileMissingExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileMissingException *) x));
+}
+static void *_p_gpstk__ConfigurationExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::ConfigurationException *) x));
+}
+static void *_p_gpstk__InvalidArgumentExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidArgumentException *) x));
+}
+static void *_p_gpstk__IndexOutOfBoundsExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::IndexOutOfBoundsException *) x));
+}
+static void *_p_gpstk__ExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *) ((gpstk::Exception *) x));
+}
+static void *_p_gpstk__SystemQueueExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemQueueException *) x));
+}
+static void *_p_gpstk__FileHunterExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileHunterException *) x));
+}
+static void *_p_gpstk__GeometryExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::GeometryException *) x));
+}
+static void *_p_gpstk__NoGeoidExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::NoGeoidException *) x));
+}
+static void *_p_DayTimeExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((DayTimeException *) x));
+}
+static void *_p_FormatExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((FormatException *) x));
+}
+static void *_p_gpstk__InvalidRequestTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidRequest *) x));
+}
+static void *_p_gpstk__AssertionFailureTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+ return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AssertionFailure *) x));
+}
+static void *_p_std__range_errorTo_p_std__runtime_error(void *x) {
+ return (void *)((std::runtime_error *) ((std::range_error *) x));
+}
+static void *_p_std__overflow_errorTo_p_std__runtime_error(void *x) {
+ return (void *)((std::runtime_error *) ((std::overflow_error *) x));
+}
+static void *_p_std__underflow_errorTo_p_std__runtime_error(void *x) {
+ return (void *)((std::runtime_error *) ((std::underflow_error *) x));
+}
+static void *_p_std__domain_errorTo_p_std__logic_error(void *x) {
+ return (void *)((std::logic_error *) ((std::domain_error *) x));
+}
+static void *_p_std__length_errorTo_p_std__logic_error(void *x) {
+ return (void *)((std::logic_error *) ((std::length_error *) x));
+}
+static void *_p_std__out_of_rangeTo_p_std__logic_error(void *x) {
+ return (void *)((std::logic_error *) ((std::out_of_range *) x));
+}
+static void *_p_std__invalid_argumentTo_p_std__logic_error(void *x) {
+ return (void *)((std::logic_error *) ((std::invalid_argument *) x));
+}
+static void *_p_gpstk__RinexEphemerisStoreTo_p_gpstk__FileStoreTgpstk__RinexNavHeader_t(void *x) {
+ return (void *)((gpstk::FileStore<gpstk::RinexNavHeader > *) ((gpstk::RinexEphemerisStore *) x));
+}
+static void *_p_gpstk__SP3EphemerisStoreTo_p_gpstk__FileStoreTgpstk__SP3Header_t(void *x) {
+ return (void *)((gpstk::FileStore<gpstk::SP3Header > *) ((gpstk::SP3EphemerisStore *) x));
+}
+static void *_p_gpstk__RinexNavHeaderTo_p_gpstk__RinexNavBase(void *x) {
+ return (void *)((gpstk::RinexNavBase *) ((gpstk::RinexNavHeader *) x));
+}
+static void *_p_gpstk__RinexNavDataTo_p_gpstk__RinexNavBase(void *x) {
+ return (void *)((gpstk::RinexNavBase *) ((gpstk::RinexNavData *) x));
+}
+static void *_p_gpstk__FFBinaryStreamTo_p_gpstk__FFStream(void *x) {
+ return (void *)((gpstk::FFStream *) ((gpstk::FFBinaryStream *) x));
+}
+static void *_p_gpstk__FICStreamTo_p_gpstk__FFStream(void *x) {
+ return (void *)((gpstk::FFStream *) (gpstk::FFBinaryStream *) ((gpstk::FICStream *) x));
+}
+static void *_p_gpstk__FICAStreamTo_p_gpstk__FFStream(void *x) {
+ return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::FICAStream *) x));
+}
+static void *_p_gpstk__MSCStreamTo_p_gpstk__FFStream(void *x) {
+ return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::MSCStream *) x));
+}
+static void *_p_gpstk__SP3StreamTo_p_gpstk__FFStream(void *x) {
+ return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::SP3Stream *) x));
+}
+static void *_p_gpstk__RinexObsStreamTo_p_gpstk__FFStream(void *x) {
+ return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::RinexObsStream *) x));
+}
+static void *_p_gpstk__FFTextStreamTo_p_gpstk__FFStream(void *x) {
+ return (void *)((gpstk::FFStream *) ((gpstk::FFTextStream *) x));
+}
+static void *_p_gpstk__RinexMetStreamTo_p_gpstk__FFStream(void *x) {
+ return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::RinexMetStream *) x));
+}
+static void *_p_gpstk__RinexNavStreamTo_p_gpstk__FFStream(void *x) {
+ return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::RinexNavStream *) x));
+}
+static void *_p_gpstk__SMODFStreamTo_p_gpstk__FFStream(void *x) {
+ return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::SMODFStream *) x));
+}
+static void *_p_gpstk__FICAStreamTo_p_gpstk__FFTextStream(void *x) {
+ return (void *)((gpstk::FFTextStream *) ((gpstk::FICAStream *) x));
+}
+static void *_p_gpstk__MSCStreamTo_p_gpstk__FFTextStream(void *x) {
+ return (void *)((gpstk::FFTextStream *) ((gpstk::MSCStream *) x));
+}
+static void *_p_gpstk__SP3StreamTo_p_gpstk__FFTextStream(void *x) {
+ return (void *)((gpstk::FFTextStream *) ((gpstk::SP3Stream *) x));
+}
+static void *_p_gpstk__RinexObsStreamTo_p_gpstk__FFTextStream(void *x) {
+ return (void *)((gpstk::FFTextStream *) ((gpstk::RinexObsStream *) x));
+}
+static void *_p_gpstk__RinexMetStreamTo_p_gpstk__FFTextStream(void *x) {
+ return (void *)((gpstk::FFTextStream *) ((gpstk::RinexMetStream *) x));
+}
+static void *_p_gpstk__RinexNavStreamTo_p_gpstk__FFTextStream(void *x) {
+ return (void *)((gpstk::FFTextStream *) ((gpstk::RinexNavStream *) x));
+}
+static void *_p_gpstk__SMODFStreamTo_p_gpstk__FFTextStream(void *x) {
+ return (void *)((gpstk::FFTextStream *) ((gpstk::SMODFStream *) x));
+}
+static void *_p_gpstk__FICStreamTo_p_gpstk__FFBinaryStream(void *x) {
+ return (void *)((gpstk::FFBinaryStream *) ((gpstk::FICStream *) x));
+}
+static void *_p_gpstk__SP3DataTo_p_gpstk__SP3Base(void *x) {
+ return (void *)((gpstk::SP3Base *) ((gpstk::SP3Data *) x));
+}
+static void *_p_gpstk__SP3HeaderTo_p_gpstk__SP3Base(void *x) {
+ return (void *)((gpstk::SP3Base *) ((gpstk::SP3Header *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_gpstk__AccessError(void *x) {
+ return (void *)((gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__FICDataTo_p_gpstk__FICBase(void *x) {
+ return (void *)((gpstk::FICBase *) ((gpstk::FICData *) x));
+}
+static void *_p_gpstk__FICHeaderTo_p_gpstk__FICBase(void *x) {
+ return (void *)((gpstk::FICBase *) ((gpstk::FICHeader *) x));
+}
+static swig_type_info _swigt__p_DayTimeException = {"_p_DayTimeException", "DayTimeException *", 0, 0, 0};
+static swig_type_info _swigt__p_EndOfFile = {"_p_EndOfFile", "EndOfFile *", 0, 0, 0};
+static swig_type_info _swigt__p_ExtraWaveFact = {"_p_ExtraWaveFact", "ExtraWaveFact *", 0, 0, 0};
+static swig_type_info _swigt__p_FFStreamError = {"_p_FFStreamError", "FFStreamError *", 0, 0, 0};
+static swig_type_info _swigt__p_FileSpec = {"_p_FileSpec", "FileSpec *", 0, 0, 0};
+static swig_type_info _swigt__p_FileSpec__FileSpecSortType = {"_p_FileSpec__FileSpecSortType", "FileSpec::FileSpecSortType *", 0, 0, 0};
+static swig_type_info _swigt__p_FileSpec__FileSpecType = {"_p_FileSpec__FileSpecType", "FileSpec::FileSpecType *", 0, 0, 0};
+static swig_type_info _swigt__p_FilterPair = {"_p_FilterPair", "FilterPair *", 0, 0, 0};
+static swig_type_info _swigt__p_FormatException = {"_p_FormatException", "FormatException *", 0, 0, 0};
+static swig_type_info _swigt__p_InvalidIonoModel = {"_p_InvalidIonoModel", "InvalidIonoModel *", 0, 0, 0};
+static swig_type_info _swigt__p_InvalidTropModel = {"_p_InvalidTropModel", "InvalidTropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_MatrixTdouble_t = {"_p_MatrixTdouble_t", "Matrix<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_NoAlmanacFound = {"_p_NoAlmanacFound", "NoAlmanacFound *", 0, 0, 0};
+static swig_type_info _swigt__p_NoEphemerisFound = {"_p_NoEphemerisFound", "NoEphemerisFound *", 0, 0, 0};
+static swig_type_info _swigt__p_NoIonoModelFound = {"_p_NoIonoModelFound", "NoIonoModelFound *", 0, 0, 0};
+static swig_type_info _swigt__p_ORDMap = {"_p_ORDMap", "ORDMap *", 0, 0, 0};
+static swig_type_info _swigt__p_PRNModeMap = {"_p_PRNModeMap", "PRNModeMap *", 0, 0, 0};
+static swig_type_info _swigt__p_PRNStatusMap = {"_p_PRNStatusMap", "PRNStatusMap *", 0, 0, 0};
+static swig_type_info _swigt__p_RinexDatum = {"_p_RinexDatum", "RinexDatum *", 0, 0, 0};
+static swig_type_info _swigt__p_RinexMetMap = {"_p_RinexMetMap", "RinexMetMap *", 0, 0, 0};
+static swig_type_info _swigt__p_RinexMetType = {"_p_RinexMetType", "RinexMetType *", 0, 0, 0};
+static swig_type_info _swigt__p_RinexObsType = {"_p_RinexObsType", "RinexObsType *|gpstk::RinexObsHeader::RinexObsType *", 0, 0, 0};
+static swig_type_info _swigt__p_RinexObsTypeMap = {"_p_RinexObsTypeMap", "RinexObsTypeMap *", 0, 0, 0};
+static swig_type_info _swigt__p_RinexPrnMap = {"_p_RinexPrnMap", "RinexPrnMap *", 0, 0, 0};
+static swig_type_info _swigt__p_SVBitsMap = {"_p_SVBitsMap", "SVBitsMap *", 0, 0, 0};
+static swig_type_info _swigt__p_SVNotPresentException = {"_p_SVNotPresentException", "SVNotPresentException *", 0, 0, 0};
+static swig_type_info _swigt__p_StatsTdouble_t = {"_p_StatsTdouble_t", "Stats<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_StringUtils__StringException = {"_p_StringUtils__StringException", "StringUtils::StringException *", 0, 0, 0};
+static swig_type_info _swigt__p_VectorTbool_t = {"_p_VectorTbool_t", "Vector<bool > *", 0, 0, 0};
+static swig_type_info _swigt__p_VectorTdouble_t = {"_p_VectorTdouble_t", "Vector<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_allocator_type = {"_p_allocator_type", "allocator_type *", 0, 0, 0};
+static swig_type_info _swigt__p_bool = {"_p_bool", "bool *", 0, 0, 0};
+static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, 0};
+static swig_type_info _swigt__p_char_type = {"_p_char_type", "char_type *", 0, 0, 0};
+static swig_type_info _swigt__p_codeType = {"_p_codeType", "codeType *", 0, 0, 0};
+static swig_type_info _swigt__p_difference_type = {"_p_difference_type", "difference_type *", 0, 0, 0};
+static swig_type_info _swigt__p_double = {"_p_double", "double *", 0, 0, 0};
+static swig_type_info _swigt__p_f_enum_std__ios_base__event_r_std__ios_base_int__void = {"_p_f_enum_std__ios_base__event_r_std__ios_base_int__void", "void (*)(enum std::ios_base::event,std::ios_base &,int)|std::ios_base::event_callback", 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t", "std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)", 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t", "std::basic_istream<char,std::char_traits<char > > &(*)(std::basic_istream<char,std::char_traits<char > > &)", 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t", "std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)", 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_std__ios_base = {"_p_f_r_std__ios_base__r_std__ios_base", "std::ios_base &(*)(std::ios_base &)", 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__AccessError = {"_p_f_r_std__ios_base__r_gpstk__AccessError", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__InvalidParameter = {"_p_f_r_std__ios_base__r_gpstk__InvalidParameter", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockNumber = {"_p_f_r_std__ios_base__r_gpstk__WrongBlockNumber", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__OutOfMemory = {"_p_f_r_std__ios_base__r_gpstk__OutOfMemory", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException = {"_p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockFormat = {"_p_f_r_std__ios_base__r_gpstk__WrongBlockFormat", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__ConfigurationException = {"_p_f_r_std__ios_base__r_gpstk__ConfigurationException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__InvalidValue = {"_p_f_r_std__ios_base__r_gpstk__InvalidValue", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__ObjectNotFound = {"_p_f_r_std__ios_base__r_gpstk__ObjectNotFound", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__Exception = {"_p_f_r_std__ios_base__r_gpstk__Exception", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__SystemPipeException = {"_p_f_r_std__ios_base__r_gpstk__SystemPipeException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__FileHunterException = {"_p_f_r_std__ios_base__r_gpstk__FileHunterException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__GeometryException = {"_p_f_r_std__ios_base__r_gpstk__GeometryException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__NoGeoidException = {"_p_f_r_std__ios_base__r_gpstk__NoGeoidException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_DayTimeException = {"_p_f_r_std__ios_base__r_DayTimeException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_FormatException = {"_p_f_r_std__ios_base__r_FormatException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException = {"_p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__InvalidRequest = {"_p_f_r_std__ios_base__r_gpstk__InvalidRequest", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__InvalidArgumentException = {"_p_f_r_std__ios_base__r_gpstk__InvalidArgumentException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__FileMissingException = {"_p_f_r_std__ios_base__r_gpstk__FileMissingException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__SystemQueueException = {"_p_f_r_std__ios_base__r_gpstk__SystemQueueException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__AssertionFailure = {"_p_f_r_std__ios_base__r_gpstk__AssertionFailure", 0, 0, 0, 0};
+static swig_type_info _swigt__p_first_type = {"_p_first_type", "first_type *", 0, 0, 0};
+static swig_type_info _swigt__p_float = {"_p_float", "float *", 0, 0, 0};
+static swig_type_info _swigt__p_fmtflags = {"_p_fmtflags", "fmtflags *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__AccessError = {"_p_gpstk__AccessError", "gpstk::AccessError *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__AlmOrbit = {"_p_gpstk__AlmOrbit", "gpstk::AlmOrbit *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__AlmanacStore = {"_p_gpstk__AlmanacStore", "gpstk::AlmanacStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__AssertionFailure = {"_p_gpstk__AssertionFailure", "gpstk::AssertionFailure *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__BCEphemerisStore = {"_p_gpstk__BCEphemerisStore", "gpstk::BCEphemerisStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ClockModel = {"_p_gpstk__ClockModel", "gpstk::ClockModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__CodeBuffer = {"_p_gpstk__CodeBuffer", "gpstk::CodeBuffer *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ConfigurationException = {"_p_gpstk__ConfigurationException", "gpstk::ConfigurationException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__CorrectedEphemerisRange = {"_p_gpstk__CorrectedEphemerisRange", "gpstk::CorrectedEphemerisRange *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__DayTime = {"_p_gpstk__DayTime", "gpstk::DayTime *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ECEF = {"_p_gpstk__ECEF", "gpstk::ECEF *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__EngAlmanac = {"_p_gpstk__EngAlmanac", "gpstk::EngAlmanac *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__EngEphemeris = {"_p_gpstk__EngEphemeris", "gpstk::EngEphemeris *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__EngNav = {"_p_gpstk__EngNav", "gpstk::EngNav *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__EphemerisStore = {"_p_gpstk__EphemerisStore", "gpstk::EphemerisStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__EpochClockModel = {"_p_gpstk__EpochClockModel", "gpstk::EpochClockModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__Exception = {"_p_gpstk__Exception", "gpstk::Exception *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ExceptionLocation = {"_p_gpstk__ExceptionLocation", "gpstk::ExceptionLocation *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FFBinaryStream = {"_p_gpstk__FFBinaryStream", "gpstk::FFBinaryStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FFData = {"_p_gpstk__FFData", "gpstk::FFData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FFStream = {"_p_gpstk__FFStream", "gpstk::FFStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FFTextStream = {"_p_gpstk__FFTextStream", "gpstk::FFTextStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FICAStream = {"_p_gpstk__FICAStream", "gpstk::FICAStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FICBase = {"_p_gpstk__FICBase", "gpstk::FICBase *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FICData = {"_p_gpstk__FICData", "gpstk::FICData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FICHeader = {"_p_gpstk__FICHeader", "gpstk::FICHeader *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FICStream = {"_p_gpstk__FICStream", "gpstk::FICStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FICStreamBase = {"_p_gpstk__FICStreamBase", "gpstk::FICStreamBase *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FileHunter = {"_p_gpstk__FileHunter", "gpstk::FileHunter *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FileHunterException = {"_p_gpstk__FileHunterException", "gpstk::FileHunterException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FileMissingException = {"_p_gpstk__FileMissingException", "gpstk::FileMissingException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FileStoreTgpstk__RinexNavHeader_t = {"_p_gpstk__FileStoreTgpstk__RinexNavHeader_t", "gpstk::FileStore<RinexNavHeader > *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FileStoreTgpstk__SP3Header_t = {"_p_gpstk__FileStoreTgpstk__SP3Header_t", "gpstk::FileStore<SP3Header > *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__GGHeightTropModel = {"_p_gpstk__GGHeightTropModel", "gpstk::GGHeightTropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__GGTropModel = {"_p_gpstk__GGTropModel", "gpstk::GGTropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__GPSZcount = {"_p_gpstk__GPSZcount", "gpstk::GPSZcount *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__GenXSequence = {"_p_gpstk__GenXSequence", "gpstk::GenXSequence *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__Geodetic = {"_p_gpstk__Geodetic", "gpstk::Geodetic *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__GeoidModel = {"_p_gpstk__GeoidModel", "gpstk::GeoidModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__GeometryException = {"_p_gpstk__GeometryException", "gpstk::GeometryException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__IndexOutOfBoundsException = {"_p_gpstk__IndexOutOfBoundsException", "gpstk::IndexOutOfBoundsException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__InvalidArgumentException = {"_p_gpstk__InvalidArgumentException", "gpstk::InvalidArgumentException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__InvalidParameter = {"_p_gpstk__InvalidParameter", "gpstk::InvalidParameter *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__InvalidRequest = {"_p_gpstk__InvalidRequest", "gpstk::InvalidRequest *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__InvalidValue = {"_p_gpstk__InvalidValue", "gpstk::InvalidValue *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__IonoModel = {"_p_gpstk__IonoModel", "gpstk::IonoModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__IonoModelStore = {"_p_gpstk__IonoModelStore", "gpstk::IonoModelStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__LinearClockModel = {"_p_gpstk__LinearClockModel", "gpstk::LinearClockModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__MSCStream = {"_p_gpstk__MSCStream", "gpstk::MSCStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__MatrixTdouble_t = {"_p_gpstk__MatrixTdouble_t", "gpstk::Matrix<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__NBTropModel = {"_p_gpstk__NBTropModel", "gpstk::NBTropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__NoGeoidException = {"_p_gpstk__NoGeoidException", "gpstk::NoGeoidException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ORDEpoch = {"_p_gpstk__ORDEpoch", "gpstk::ORDEpoch *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ObjectNotFound = {"_p_gpstk__ObjectNotFound", "gpstk::ObjectNotFound *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ObsClockModel = {"_p_gpstk__ObsClockModel", "gpstk::ObsClockModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ObsEpoch = {"_p_gpstk__ObsEpoch", "gpstk::ObsEpoch *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ObsRngDev = {"_p_gpstk__ObsRngDev", "gpstk::ObsRngDev *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__Observation = {"_p_gpstk__Observation", "gpstk::Observation *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ObservationPlus = {"_p_gpstk__ObservationPlus", "gpstk::ObservationPlus *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__OutOfMemory = {"_p_gpstk__OutOfMemory", "gpstk::OutOfMemory *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__Position = {"_p_gpstk__Position", "gpstk::Position *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RAIMSolution = {"_p_gpstk__RAIMSolution", "gpstk::RAIMSolution *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexEphemerisStore = {"_p_gpstk__RinexEphemerisStore", "gpstk::RinexEphemerisStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexMetBase = {"_p_gpstk__RinexMetBase", "gpstk::RinexMetBase *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexMetData = {"_p_gpstk__RinexMetData", "gpstk::RinexMetData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexMetHeader = {"_p_gpstk__RinexMetHeader", "gpstk::RinexMetHeader *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexMetStream = {"_p_gpstk__RinexMetStream", "gpstk::RinexMetStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexNavBase = {"_p_gpstk__RinexNavBase", "gpstk::RinexNavBase *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexNavData = {"_p_gpstk__RinexNavData", "gpstk::RinexNavData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexNavHeader = {"_p_gpstk__RinexNavHeader", "gpstk::RinexNavHeader *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexNavStream = {"_p_gpstk__RinexNavStream", "gpstk::RinexNavStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexObsBase = {"_p_gpstk__RinexObsBase", "gpstk::RinexObsBase *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexObsData = {"_p_gpstk__RinexObsData", "gpstk::RinexObsData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexObsData__RinexPrnMap__iterator = {"_p_gpstk__RinexObsData__RinexPrnMap__iterator", "RinexObsData::RinexPrnMap::iterator *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexObsHeader = {"_p_gpstk__RinexObsHeader", "gpstk::RinexObsHeader *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexObsStream = {"_p_gpstk__RinexObsStream", "gpstk::RinexObsStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexPrn = {"_p_gpstk__RinexPrn", "gpstk::RinexPrn *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RungeKutta4 = {"_p_gpstk__RungeKutta4", "gpstk::RungeKutta4 *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RxObsData = {"_p_gpstk__RxObsData", "gpstk::RxObsData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SMODFStream = {"_p_gpstk__SMODFStream", "gpstk::SMODFStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SP3Base = {"_p_gpstk__SP3Base", "gpstk::SP3Base *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SP3Data = {"_p_gpstk__SP3Data", "gpstk::SP3Data *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SP3EphemerisStore = {"_p_gpstk__SP3EphemerisStore", "gpstk::SP3EphemerisStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SP3Header = {"_p_gpstk__SP3Header", "gpstk::SP3Header *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SP3Stream = {"_p_gpstk__SP3Stream", "gpstk::SP3Stream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SVPCodeGen = {"_p_gpstk__SVPCodeGen", "gpstk::SVPCodeGen *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SatID = {"_p_gpstk__SatID", "gpstk::SatID *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SimpleTropModel = {"_p_gpstk__SimpleTropModel", "gpstk::SimpleTropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__StringUtils__StringException = {"_p_gpstk__StringUtils__StringException", "gpstk::StringUtils::StringException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SystemPipeException = {"_p_gpstk__SystemPipeException", "gpstk::SystemPipeException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SystemQueueException = {"_p_gpstk__SystemQueueException", "gpstk::SystemQueueException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SystemSemaphoreException = {"_p_gpstk__SystemSemaphoreException", "gpstk::SystemSemaphoreException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__TabularEphemerisStore = {"_p_gpstk__TabularEphemerisStore", "gpstk::TabularEphemerisStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__Triple = {"_p_gpstk__Triple", "gpstk::Triple *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__TropModel = {"_p_gpstk__TropModel", "gpstk::TropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTchar_t = {"_p_gpstk__ValidTypeTchar_t", "gpstk::ValidType<char > *|gpstk::vchar *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTdouble_t = {"_p_gpstk__ValidTypeTdouble_t", "gpstk::ValidType<double > *|gpstk::vdouble *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTfloat_t = {"_p_gpstk__ValidTypeTfloat_t", "gpstk::ValidType<float > *|gpstk::vfloat *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTint_t = {"_p_gpstk__ValidTypeTint_t", "gpstk::ValidType<int > *|gpstk::vint *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTlong_t = {"_p_gpstk__ValidTypeTlong_t", "gpstk::ValidType<long > *|gpstk::vlong *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTshort_t = {"_p_gpstk__ValidTypeTshort_t", "gpstk::ValidType<short > *|gpstk::vshort *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTunsigned_char_t = {"_p_gpstk__ValidTypeTunsigned_char_t", "gpstk::ValidType<unsigned char > *|gpstk::vuchar *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTunsigned_int_t = {"_p_gpstk__ValidTypeTunsigned_int_t", "gpstk::ValidType<unsigned int > *|gpstk::vuint *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTunsigned_long_t = {"_p_gpstk__ValidTypeTunsigned_long_t", "gpstk::ValidType<unsigned long > *|gpstk::vulong *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTunsigned_short_t = {"_p_gpstk__ValidTypeTunsigned_short_t", "gpstk::ValidType<unsigned short > *|gpstk::vushort *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__WrongBlockFormat = {"_p_gpstk__WrongBlockFormat", "gpstk::WrongBlockFormat *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__WrongBlockNumber = {"_p_gpstk__WrongBlockNumber", "gpstk::WrongBlockNumber *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__WxObsData = {"_p_gpstk__WxObsData", "gpstk::WxObsData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__WxObservation = {"_p_gpstk__WxObservation", "gpstk::WxObservation *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__X1Sequence = {"_p_gpstk__X1Sequence", "gpstk::X1Sequence *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__X2Sequence = {"_p_gpstk__X2Sequence", "gpstk::X2Sequence *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__Xvt = {"_p_gpstk__Xvt", "gpstk::Xvt *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ZeroTropModel = {"_p_gpstk__ZeroTropModel", "gpstk::ZeroTropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, 0};
+static swig_type_info _swigt__p_int_type = {"_p_int_type", "int_type *", 0, 0, 0};
+static swig_type_info _swigt__p_iostate = {"_p_iostate", "iostate *", 0, 0, 0};
+static swig_type_info _swigt__p_key_type = {"_p_key_type", "key_type *", 0, 0, 0};
+static swig_type_info _swigt__p_long = {"_p_long", "long *", 0, 0, 0};
+static swig_type_info _swigt__p_long_double = {"_p_long_double", "long double *", 0, 0, 0};
+static swig_type_info _swigt__p_long_long = {"_p_long_long", "long long *", 0, 0, 0};
+static swig_type_info _swigt__p_mapped_type = {"_p_mapped_type", "mapped_type *", 0, 0, 0};
+static swig_type_info _swigt__p_off_type = {"_p_off_type", "off_type *", 0, 0, 0};
+static swig_type_info _swigt__p_openmode = {"_p_openmode", "openmode *", 0, 0, 0};
+static swig_type_info _swigt__p_p_void = {"_p_p_void", "void **", 0, 0, 0};
+static swig_type_info _swigt__p_pos_type = {"_p_pos_type", "pos_type *", 0, 0, 0};
+static swig_type_info _swigt__p_second_type = {"_p_second_type", "second_type *", 0, 0, 0};
+static swig_type_info _swigt__p_seekdir = {"_p_seekdir", "seekdir *", 0, 0, 0};
+static swig_type_info _swigt__p_sensorPosType = {"_p_sensorPosType", "sensorPosType *", 0, 0, 0};
+static swig_type_info _swigt__p_sensorType = {"_p_sensorType", "sensorType *", 0, 0, 0};
+static swig_type_info _swigt__p_short = {"_p_short", "short *", 0, 0, 0};
+static swig_type_info _swigt__p_size_t = {"_p_size_t", "size_t *|std::streamsize *", 0, 0, 0};
+static swig_type_info _swigt__p_size_type = {"_p_size_type", "size_type *", 0, 0, 0};
+static swig_type_info _swigt__p_state_type = {"_p_state_type", "state_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__bad_exception = {"_p_std__bad_exception", "std::bad_exception *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_iosTchar_std__char_traitsTchar_t_t = {"_p_std__basic_iosTchar_std__char_traitsTchar_t_t", "std::basic_ios<char > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t = {"_p_std__basic_iostreamTchar_std__char_traitsTchar_t_t", "std::basic_iostream<char > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t = {"_p_std__basic_istreamTchar_std__char_traitsTchar_t_t", "std::basic_istream<char,std::char_traits<char > > *|std::istream *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type = {"_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type", "char *|std::basic_istream<char >::char_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type = {"_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type", "streamoff *|std::basic_istream<char >::off_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type = {"_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type", "streampos *|std::basic_istream<char >::pos_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t = {"_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t", "std::basic_ostream<char,std::char_traits<char > > *|std::ostream *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type = {"_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type", "streamoff *|std::basic_ostream<char >::off_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type = {"_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type", "streampos *|std::basic_ostream<char >::pos_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_streambufTchar_std__char_traitsTchar_t_t = {"_p_std__basic_streambufTchar_std__char_traitsTchar_t_t", "std::basic_streambuf<char,std::char_traits<char > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t = {"_p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t", "std::basic_string<char,std::char_traits<char >,std::allocator<char > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__domain_error = {"_p_std__domain_error", "std::domain_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__exception = {"_p_std__exception", "std::exception *", 0, 0, 0};
+static swig_type_info _swigt__p_std__invalid_argument = {"_p_std__invalid_argument", "std::invalid_argument *", 0, 0, 0};
+static swig_type_info _swigt__p_std__ios__openmode = {"_p_std__ios__openmode", "std::ios::openmode *", 0, 0, 0};
+static swig_type_info _swigt__p_std__ios_base = {"_p_std__ios_base", "std::ios_base *", 0, 0, 0};
+static swig_type_info _swigt__p_std__length_error = {"_p_std__length_error", "std::length_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__listTdouble_t = {"_p_std__listTdouble_t", "std::list<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__listTgpstk__EngEphemeris_t = {"_p_std__listTgpstk__EngEphemeris_t", "std::list<EngEphemeris > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__locale = {"_p_std__locale", "std::locale *", 0, 0, 0};
+static swig_type_info _swigt__p_std__logic_error = {"_p_std__logic_error", "std::logic_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t = {"_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t", "std::map<RinexObsType,RinexDatum > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type = {"_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type", "std::allocator<std::pair<RinexObsType const,RinexDatum > > *|std::map<RinexObsType,RinexDatum >::allocator_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type = {"_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type", "RinexObsType *|std::map<RinexObsType,RinexDatum >::key_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type = {"_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type", "RinexDatum *|std::map<RinexObsType,RinexDatum >::mapped_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t = {"_p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t", "std::map<gpstk::DayTime,gpstk::ObsEpoch,std::less<gpstk::DayTime >,std::allocator<std::pair<gpstk::DayTime const,gpstk::ObsEpoch > > > *|gpstk::ObsEpochMap *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t = {"_p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t", "std::map<gpstk::DayTime,gpstk::WxObservation,std::less<gpstk::DayTime >,std::allocator<std::pair<gpstk::DayTime const,gpstk::WxObservation > > > *|gpstk::WxObsM [...]
+static swig_type_info _swigt__p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t = {"_p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t", "std::map<enum gpstk::RinexMetHeader::RinexMetType,double,std::less<enum gpstk::RinexMetHea [...]
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type = {"_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type", "std::allocator<std::pair<gpstk::RinexPrn const,std::map<Ri [...]
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type = {"_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type", "gpstk::RinexPrn *|std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::k [...]
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t = {"_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t", "std::map<RinexPrn,int > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type = {"_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type", "std::allocator<std::pair<gpstk::RinexPrn const,int > > *|std::map<RinexPrn,int >::allocator_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type = {"_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type", "gpstk::RinexPrn *|std::map<RinexPrn,int >::key_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t = {"_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTR [...]
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t = {"_p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t", "std::map<gpstk::RinexPrn,std::vector<int,std::allocator<int > >,std::less<gpstk::R [...]
+static swig_type_info _swigt__p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t = {"_p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t", "std::map<short,gpstk::AlmOrbit,std::less<short >,std::allocator<std::pair<short const,gpstk::AlmOrbit > > > *|gpstk::AlmOrbits *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t = {"_p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t", "std::map<short,enum gpstk::ObsClockModel::PRNMode,std::less<short >,std::allocator<std::pair<short const,enum gpstk::ObsClockModel::PRNMode > > > *|gpstk::ObsClockModel::PRNModeM [...]
+static swig_type_info _swigt__p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t = {"_p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t", "std::map<short,enum gpstk::ObsClockModel::PRNStatus,std::less<short >,std::allocator<std::pair<short const,enum gpstk::ObsClockModel::PRNStatus > > > *|gpstk::ObsClockMod [...]
+static swig_type_info _swigt__p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t = {"_p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t", "std::map<short,gpstk::ObsRngDev,std::less<short >,std::allocator<std::pair<short const,gpstk::ObsRngDev > > > *|gpstk::ORDEpoch::ORDMap *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t = {"_p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t", "std::map<short,gpstk::Observation,std::less<short >,std::allocator<std::pair<short const,gpstk::Observation > > > *|gpstk::ObsMap *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t = {"_p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t", "std::map<short,short,std::less<short >,std::allocator<std::pair<short const,short > > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__out_of_range = {"_p_std__out_of_range", "std::out_of_range *", 0, 0, 0};
+static swig_type_info _swigt__p_std__overflow_error = {"_p_std__overflow_error", "std::overflow_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__range_error = {"_p_std__range_error", "std::range_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__runtime_error = {"_p_std__runtime_error", "std::runtime_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__setTshort_t = {"_p_std__setTshort_t", "std::set<short > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__string = {"_p_std__string", "std::string *", 0, 0, 0};
+static swig_type_info _swigt__p_std__underflow_error = {"_p_std__underflow_error", "std::underflow_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__valarrayTdouble_t = {"_p_std__valarrayTdouble_t", "std::valarray<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t = {"_p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t", "std::vector<ExtraWaveFact,std::allocator<ExtraWaveFact > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t = {"_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t", "std::vector<RinexObsType,std::allocator<RinexObsType > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTchar_std__allocatorTchar_t_t = {"_p_std__vectorTchar_std__allocatorTchar_t_t", "std::vector<char,std::allocator<char > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t = {"_p_std__vectorTdouble_std__allocatorTdouble_t_t", "std::vector<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type = {"_p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type", "std::allocator<double > *|std::vector<double >::allocator_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t = {"_p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t", "std::vector<enum gpstk::RinexMetHeader::RinexMetType,std::allocator<enum gpstk::RinexMetHeader::RinexMetType > > *|std::vector<gpstk::RinexMetHeader::RinexMetType,std::allocator<gpstk::RinexMetHeader::RinexMetType > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t = {"_p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t", "std::vector<gpstk::RinexPrn > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTint_std__allocatorTint_t_t = {"_p_std__vectorTint_std__allocatorTint_t_t", "std::vector<int > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTint_std__allocatorTint_t_t__allocator_type = {"_p_std__vectorTint_std__allocatorTint_t_t__allocator_type", "std::allocator<int > *|std::vector<int >::allocator_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTlong_std__allocatorTlong_t_t = {"_p_std__vectorTlong_std__allocatorTlong_t_t", "std::vector<long,std::allocator<long > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t = {"_p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t", "std::vector<sensorPosType,std::allocator<sensorPosType > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTsensorType_std__allocatorTsensorType_t_t = {"_p_std__vectorTsensorType_std__allocatorTsensorType_t_t", "std::vector<sensorType,std::allocator<sensorType > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTstd__string_std__allocatorTstd__string_t_t = {"_p_std__vectorTstd__string_std__allocatorTstd__string_t_t", "std::vector<std::string,std::allocator<std::string > > *", 0, 0, 0};
+static swig_type_info _swigt__p_time_t = {"_p_time_t", "time_t *", 0, 0, 0};
+static swig_type_info _swigt__p_timeval = {"_p_timeval", "timeval *", 0, 0, 0};
+static swig_type_info _swigt__p_traits_type = {"_p_traits_type", "traits_type *", 0, 0, 0};
+static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *", 0, 0, 0};
+static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "unsigned long *", 0, 0, 0};
+static swig_type_info _swigt__p_unsigned_long_long = {"_p_unsigned_long_long", "unsigned long long *", 0, 0, 0};
+static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "unsigned short *", 0, 0, 0};
+static swig_type_info _swigt__p_value_type = {"_p_value_type", "value_type *", 0, 0, 0};
+static swig_type_info _swigt__ptrdiff_t = {"_ptrdiff_t", "ptrdiff_t", 0, 0, 0};
+static swig_type_info _swigt__size_t = {"_size_t", "size_t", 0, 0, 0};
+static swig_type_info _swigt__std__ptrdiff_t = {"_std__ptrdiff_t", "std::ptrdiff_t", 0, 0, 0};
+static swig_type_info _swigt__std__size_t = {"_std__size_t", "std::size_t", 0, 0, 0};
+
+static swig_type_info *swig_type_initial[] = {
+ &_swigt__p_DayTimeException,
+ &_swigt__p_EndOfFile,
+ &_swigt__p_ExtraWaveFact,
+ &_swigt__p_FFStreamError,
+ &_swigt__p_FileSpec,
+ &_swigt__p_FileSpec__FileSpecSortType,
+ &_swigt__p_FileSpec__FileSpecType,
+ &_swigt__p_FilterPair,
+ &_swigt__p_FormatException,
+ &_swigt__p_InvalidIonoModel,
+ &_swigt__p_InvalidTropModel,
+ &_swigt__p_MatrixTdouble_t,
+ &_swigt__p_NoAlmanacFound,
+ &_swigt__p_NoEphemerisFound,
+ &_swigt__p_NoIonoModelFound,
+ &_swigt__p_ORDMap,
+ &_swigt__p_PRNModeMap,
+ &_swigt__p_PRNStatusMap,
+ &_swigt__p_RinexDatum,
+ &_swigt__p_RinexMetMap,
+ &_swigt__p_RinexMetType,
+ &_swigt__p_RinexObsType,
+ &_swigt__p_RinexObsTypeMap,
+ &_swigt__p_RinexPrnMap,
+ &_swigt__p_SVBitsMap,
+ &_swigt__p_SVNotPresentException,
+ &_swigt__p_StatsTdouble_t,
+ &_swigt__p_StringUtils__StringException,
+ &_swigt__p_VectorTbool_t,
+ &_swigt__p_VectorTdouble_t,
+ &_swigt__p_allocator_type,
+ &_swigt__p_bool,
+ &_swigt__p_char,
+ &_swigt__p_char_type,
+ &_swigt__p_codeType,
+ &_swigt__p_difference_type,
+ &_swigt__p_double,
+ &_swigt__p_f_enum_std__ios_base__event_r_std__ios_base_int__void,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest,
+ &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure,
+ &_swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest,
+ &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure,
+ &_swigt__p_f_r_std__ios_base__r_std__ios_base,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__AccessError,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__InvalidParameter,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockNumber,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__OutOfMemory,
+ &_swigt__p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockFormat,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__ConfigurationException,
+ &_swigt__p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__InvalidValue,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__ObjectNotFound,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__Exception,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__SystemPipeException,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__FileHunterException,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__GeometryException,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__NoGeoidException,
+ &_swigt__p_f_r_std__ios_base__r_DayTimeException,
+ &_swigt__p_f_r_std__ios_base__r_FormatException,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__InvalidRequest,
+ &_swigt__p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__InvalidArgumentException,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__FileMissingException,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__SystemQueueException,
+ &_swigt__p_f_r_std__ios_base__r_gpstk__AssertionFailure,
+ &_swigt__p_first_type,
+ &_swigt__p_float,
+ &_swigt__p_fmtflags,
+ &_swigt__p_gpstk__AccessError,
+ &_swigt__p_gpstk__AlmOrbit,
+ &_swigt__p_gpstk__AlmanacStore,
+ &_swigt__p_gpstk__AssertionFailure,
+ &_swigt__p_gpstk__BCEphemerisStore,
+ &_swigt__p_gpstk__ClockModel,
+ &_swigt__p_gpstk__CodeBuffer,
+ &_swigt__p_gpstk__ConfigurationException,
+ &_swigt__p_gpstk__CorrectedEphemerisRange,
+ &_swigt__p_gpstk__DayTime,
+ &_swigt__p_gpstk__ECEF,
+ &_swigt__p_gpstk__EngAlmanac,
+ &_swigt__p_gpstk__EngEphemeris,
+ &_swigt__p_gpstk__EngNav,
+ &_swigt__p_gpstk__EphemerisStore,
+ &_swigt__p_gpstk__EpochClockModel,
+ &_swigt__p_gpstk__Exception,
+ &_swigt__p_gpstk__ExceptionLocation,
+ &_swigt__p_gpstk__FFBinaryStream,
+ &_swigt__p_gpstk__FFData,
+ &_swigt__p_gpstk__FFStream,
+ &_swigt__p_gpstk__FFTextStream,
+ &_swigt__p_gpstk__FICAStream,
+ &_swigt__p_gpstk__FICBase,
+ &_swigt__p_gpstk__FICData,
+ &_swigt__p_gpstk__FICHeader,
+ &_swigt__p_gpstk__FICStream,
+ &_swigt__p_gpstk__FICStreamBase,
+ &_swigt__p_gpstk__FileHunter,
+ &_swigt__p_gpstk__FileHunterException,
+ &_swigt__p_gpstk__FileMissingException,
+ &_swigt__p_gpstk__FileStoreTgpstk__RinexNavHeader_t,
+ &_swigt__p_gpstk__FileStoreTgpstk__SP3Header_t,
+ &_swigt__p_gpstk__GGHeightTropModel,
+ &_swigt__p_gpstk__GGTropModel,
+ &_swigt__p_gpstk__GPSZcount,
+ &_swigt__p_gpstk__GenXSequence,
+ &_swigt__p_gpstk__Geodetic,
+ &_swigt__p_gpstk__GeoidModel,
+ &_swigt__p_gpstk__GeometryException,
+ &_swigt__p_gpstk__IndexOutOfBoundsException,
+ &_swigt__p_gpstk__InvalidArgumentException,
+ &_swigt__p_gpstk__InvalidParameter,
+ &_swigt__p_gpstk__InvalidRequest,
+ &_swigt__p_gpstk__InvalidValue,
+ &_swigt__p_gpstk__IonoModel,
+ &_swigt__p_gpstk__IonoModelStore,
+ &_swigt__p_gpstk__LinearClockModel,
+ &_swigt__p_gpstk__MSCStream,
+ &_swigt__p_gpstk__MatrixTdouble_t,
+ &_swigt__p_gpstk__NBTropModel,
+ &_swigt__p_gpstk__NoGeoidException,
+ &_swigt__p_gpstk__ORDEpoch,
+ &_swigt__p_gpstk__ObjectNotFound,
+ &_swigt__p_gpstk__ObsClockModel,
+ &_swigt__p_gpstk__ObsEpoch,
+ &_swigt__p_gpstk__ObsRngDev,
+ &_swigt__p_gpstk__Observation,
+ &_swigt__p_gpstk__ObservationPlus,
+ &_swigt__p_gpstk__OutOfMemory,
+ &_swigt__p_gpstk__Position,
+ &_swigt__p_gpstk__RAIMSolution,
+ &_swigt__p_gpstk__RinexEphemerisStore,
+ &_swigt__p_gpstk__RinexMetBase,
+ &_swigt__p_gpstk__RinexMetData,
+ &_swigt__p_gpstk__RinexMetHeader,
+ &_swigt__p_gpstk__RinexMetStream,
+ &_swigt__p_gpstk__RinexNavBase,
+ &_swigt__p_gpstk__RinexNavData,
+ &_swigt__p_gpstk__RinexNavHeader,
+ &_swigt__p_gpstk__RinexNavStream,
+ &_swigt__p_gpstk__RinexObsBase,
+ &_swigt__p_gpstk__RinexObsData,
+ &_swigt__p_gpstk__RinexObsData__RinexPrnMap__iterator,
+ &_swigt__p_gpstk__RinexObsHeader,
+ &_swigt__p_gpstk__RinexObsStream,
+ &_swigt__p_gpstk__RinexPrn,
+ &_swigt__p_gpstk__RungeKutta4,
+ &_swigt__p_gpstk__RxObsData,
+ &_swigt__p_gpstk__SMODFStream,
+ &_swigt__p_gpstk__SP3Base,
+ &_swigt__p_gpstk__SP3Data,
+ &_swigt__p_gpstk__SP3EphemerisStore,
+ &_swigt__p_gpstk__SP3Header,
+ &_swigt__p_gpstk__SP3Stream,
+ &_swigt__p_gpstk__SVPCodeGen,
+ &_swigt__p_gpstk__SatID,
+ &_swigt__p_gpstk__SimpleTropModel,
+ &_swigt__p_gpstk__StringUtils__StringException,
+ &_swigt__p_gpstk__SystemPipeException,
+ &_swigt__p_gpstk__SystemQueueException,
+ &_swigt__p_gpstk__SystemSemaphoreException,
+ &_swigt__p_gpstk__TabularEphemerisStore,
+ &_swigt__p_gpstk__Triple,
+ &_swigt__p_gpstk__TropModel,
+ &_swigt__p_gpstk__ValidTypeTchar_t,
+ &_swigt__p_gpstk__ValidTypeTdouble_t,
+ &_swigt__p_gpstk__ValidTypeTfloat_t,
+ &_swigt__p_gpstk__ValidTypeTint_t,
+ &_swigt__p_gpstk__ValidTypeTlong_t,
+ &_swigt__p_gpstk__ValidTypeTshort_t,
+ &_swigt__p_gpstk__ValidTypeTunsigned_char_t,
+ &_swigt__p_gpstk__ValidTypeTunsigned_int_t,
+ &_swigt__p_gpstk__ValidTypeTunsigned_long_t,
+ &_swigt__p_gpstk__ValidTypeTunsigned_short_t,
+ &_swigt__p_gpstk__WrongBlockFormat,
+ &_swigt__p_gpstk__WrongBlockNumber,
+ &_swigt__p_gpstk__WxObsData,
+ &_swigt__p_gpstk__WxObservation,
+ &_swigt__p_gpstk__X1Sequence,
+ &_swigt__p_gpstk__X2Sequence,
+ &_swigt__p_gpstk__Xvt,
+ &_swigt__p_gpstk__ZeroTropModel,
+ &_swigt__p_int,
+ &_swigt__p_int_type,
+ &_swigt__p_iostate,
+ &_swigt__p_key_type,
+ &_swigt__p_long,
+ &_swigt__p_long_double,
+ &_swigt__p_long_long,
+ &_swigt__p_mapped_type,
+ &_swigt__p_off_type,
+ &_swigt__p_openmode,
+ &_swigt__p_p_void,
+ &_swigt__p_pos_type,
+ &_swigt__p_second_type,
+ &_swigt__p_seekdir,
+ &_swigt__p_sensorPosType,
+ &_swigt__p_sensorType,
+ &_swigt__p_short,
+ &_swigt__p_size_t,
+ &_swigt__p_size_type,
+ &_swigt__p_state_type,
+ &_swigt__p_std__bad_exception,
+ &_swigt__p_std__basic_iosTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type,
+ &_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type,
+ &_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type,
+ &_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type,
+ &_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type,
+ &_swigt__p_std__basic_streambufTchar_std__char_traitsTchar_t_t,
+ &_swigt__p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t,
+ &_swigt__p_std__domain_error,
+ &_swigt__p_std__exception,
+ &_swigt__p_std__invalid_argument,
+ &_swigt__p_std__ios__openmode,
+ &_swigt__p_std__ios_base,
+ &_swigt__p_std__length_error,
+ &_swigt__p_std__listTdouble_t,
+ &_swigt__p_std__listTgpstk__EngEphemeris_t,
+ &_swigt__p_std__locale,
+ &_swigt__p_std__logic_error,
+ &_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t,
+ &_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type,
+ &_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type,
+ &_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type,
+ &_swigt__p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t,
+ &_swigt__p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t,
+ &_swigt__p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t,
+ &_swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type,
+ &_swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type,
+ &_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t,
+ &_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type,
+ &_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type,
+ &_swigt__p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t,
+ &_swigt__p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t,
+ &_swigt__p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t,
+ &_swigt__p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t,
+ &_swigt__p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t,
+ &_swigt__p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t,
+ &_swigt__p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t,
+ &_swigt__p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t,
+ &_swigt__p_std__out_of_range,
+ &_swigt__p_std__overflow_error,
+ &_swigt__p_std__range_error,
+ &_swigt__p_std__runtime_error,
+ &_swigt__p_std__setTshort_t,
+ &_swigt__p_std__string,
+ &_swigt__p_std__underflow_error,
+ &_swigt__p_std__valarrayTdouble_t,
+ &_swigt__p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t,
+ &_swigt__p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t,
+ &_swigt__p_std__vectorTchar_std__allocatorTchar_t_t,
+ &_swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t,
+ &_swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type,
+ &_swigt__p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t,
+ &_swigt__p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t,
+ &_swigt__p_std__vectorTint_std__allocatorTint_t_t,
+ &_swigt__p_std__vectorTint_std__allocatorTint_t_t__allocator_type,
+ &_swigt__p_std__vectorTlong_std__allocatorTlong_t_t,
+ &_swigt__p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t,
+ &_swigt__p_std__vectorTsensorType_std__allocatorTsensorType_t_t,
+ &_swigt__p_std__vectorTstd__string_std__allocatorTstd__string_t_t,
+ &_swigt__p_time_t,
+ &_swigt__p_timeval,
+ &_swigt__p_traits_type,
+ &_swigt__p_unsigned_int,
+ &_swigt__p_unsigned_long,
+ &_swigt__p_unsigned_long_long,
+ &_swigt__p_unsigned_short,
+ &_swigt__p_value_type,
+ &_swigt__ptrdiff_t,
+ &_swigt__size_t,
+ &_swigt__std__ptrdiff_t,
+ &_swigt__std__size_t,
+};
+
+static swig_cast_info _swigc__p_DayTimeException[] = { {&_swigt__p_DayTimeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_EndOfFile[] = { {&_swigt__p_EndOfFile, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_ExtraWaveFact[] = { {&_swigt__p_ExtraWaveFact, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_FFStreamError[] = { {&_swigt__p_FFStreamError, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_FileSpec[] = { {&_swigt__p_FileSpec, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_FileSpec__FileSpecSortType[] = { {&_swigt__p_FileSpec__FileSpecSortType, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_FileSpec__FileSpecType[] = { {&_swigt__p_FileSpec__FileSpecType, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_FilterPair[] = { {&_swigt__p_FilterPair, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_FormatException[] = { {&_swigt__p_FormatException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_InvalidIonoModel[] = { {&_swigt__p_InvalidIonoModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_InvalidTropModel[] = { {&_swigt__p_InvalidTropModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_MatrixTdouble_t[] = { {&_swigt__p_MatrixTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_NoAlmanacFound[] = { {&_swigt__p_NoAlmanacFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_NoEphemerisFound[] = { {&_swigt__p_NoEphemerisFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_NoIonoModelFound[] = { {&_swigt__p_NoIonoModelFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_ORDMap[] = { {&_swigt__p_ORDMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_PRNModeMap[] = { {&_swigt__p_PRNModeMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_PRNStatusMap[] = { {&_swigt__p_PRNStatusMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RinexDatum[] = { {&_swigt__p_RinexDatum, 0, 0, 0}, {&_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RinexMetMap[] = { {&_swigt__p_RinexMetMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RinexMetType[] = { {&_swigt__p_RinexMetType, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RinexObsType[] = { {&_swigt__p_RinexObsType, 0, 0, 0}, {&_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RinexObsTypeMap[] = { {&_swigt__p_RinexObsTypeMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RinexPrnMap[] = { {&_swigt__p_RinexPrnMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_SVBitsMap[] = { {&_swigt__p_SVBitsMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_SVNotPresentException[] = { {&_swigt__p_SVNotPresentException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_StatsTdouble_t[] = { {&_swigt__p_StatsTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_StringUtils__StringException[] = { {&_swigt__p_StringUtils__StringException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_VectorTbool_t[] = { {&_swigt__p_VectorTbool_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_VectorTdouble_t[] = { {&_swigt__p_VectorTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_allocator_type[] = { {&_swigt__p_allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_bool[] = { {&_swigt__p_bool, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0}, {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_char_type[] = { {&_swigt__p_char_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_codeType[] = { {&_swigt__p_codeType, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_difference_type[] = { {&_swigt__p_difference_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_double[] = { {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_enum_std__ios_base__event_r_std__ios_base_int__void[] = { {&_swigt__p_f_enum_std__ios_base__event_r_std__ios_base_int__void, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t[] = { {&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError, _p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessErrorTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t, 0, 0}, {&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__ba [...]
+static swig_cast_info _swigc__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t[] = { {&_swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0, 0, 0}, {&_swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t, _p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_s [...]
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t[] = { {&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError, _p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessErrorTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0, 0}, {&_swigt__p_f_r_std__basic_ostream__char_std__char [...]
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__AccessError[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__AccessError, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__InvalidParameter[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__InvalidParameter, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__WrongBlockNumber[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockNumber, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__OutOfMemory[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__OutOfMemory, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__WrongBlockFormat[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockFormat, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__ConfigurationException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__ConfigurationException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__InvalidValue[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__InvalidValue, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__ObjectNotFound[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__ObjectNotFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__Exception[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__Exception, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__SystemPipeException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__SystemPipeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__FileHunterException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__FileHunterException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__GeometryException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__GeometryException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__NoGeoidException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__NoGeoidException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_DayTimeException[] = {{&_swigt__p_f_r_std__ios_base__r_DayTimeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_FormatException[] = {{&_swigt__p_f_r_std__ios_base__r_FormatException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__InvalidRequest[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__InvalidRequest, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__InvalidArgumentException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__InvalidArgumentException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__FileMissingException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__FileMissingException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__SystemQueueException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__SystemQueueException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__AssertionFailure[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__AssertionFailure, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_std__ios_base[] = { {&_swigt__p_f_r_std__ios_base__r_gpstk__AccessError, _p_f_r_std__ios_base__r_gpstk__AccessErrorTo_p_f_r_std__ios_base__r_std__ios_base, 0, 0}, {&_swigt__p_f_r_std__ios_base__r_gpstk__InvalidParameter, _p_f_r_std__ios_base__r_gpstk__InvalidParameterTo_p_f_r_std__ios_base__r_std__ios_base, 0, 0}, {&_swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockNumber, _p_f_r_std__ios_base__r_gpstk__WrongBlockNumberTo_p_f_r_std__i [...]
+static swig_cast_info _swigc__p_first_type[] = { {&_swigt__p_first_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_float[] = { {&_swigt__p_float, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_fmtflags[] = { {&_swigt__p_fmtflags, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__AccessError[] = { {&_swigt__p_gpstk__ObjectNotFound, _p_gpstk__ObjectNotFoundTo_p_gpstk__AccessError, 0, 0}, {&_swigt__p_gpstk__AccessError, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__AlmOrbit[] = { {&_swigt__p_gpstk__AlmOrbit, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__AlmanacStore[] = { {&_swigt__p_gpstk__AlmanacStore, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__AssertionFailure[] = { {&_swigt__p_gpstk__AssertionFailure, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__BCEphemerisStore[] = { {&_swigt__p_gpstk__BCEphemerisStore, 0, 0, 0}, {&_swigt__p_gpstk__RinexEphemerisStore, _p_gpstk__RinexEphemerisStoreTo_p_gpstk__BCEphemerisStore, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ClockModel[] = { {&_swigt__p_gpstk__ClockModel, 0, 0, 0}, {&_swigt__p_gpstk__ObsClockModel, _p_gpstk__ObsClockModelTo_p_gpstk__ClockModel, 0, 0}, {&_swigt__p_gpstk__EpochClockModel, _p_gpstk__EpochClockModelTo_p_gpstk__ClockModel, 0, 0}, {&_swigt__p_gpstk__LinearClockModel, _p_gpstk__LinearClockModelTo_p_gpstk__ClockModel, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__CodeBuffer[] = { {&_swigt__p_gpstk__CodeBuffer, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ConfigurationException[] = { {&_swigt__p_gpstk__ConfigurationException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__CorrectedEphemerisRange[] = { {&_swigt__p_gpstk__CorrectedEphemerisRange, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__DayTime[] = { {&_swigt__p_gpstk__DayTime, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ECEF[] = { {&_swigt__p_gpstk__ECEF, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__EngAlmanac[] = { {&_swigt__p_gpstk__EngAlmanac, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__EngEphemeris[] = { {&_swigt__p_gpstk__EngEphemeris, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__EngNav[] = { {&_swigt__p_gpstk__EngEphemeris, _p_gpstk__EngEphemerisTo_p_gpstk__EngNav, 0, 0}, {&_swigt__p_gpstk__EngAlmanac, _p_gpstk__EngAlmanacTo_p_gpstk__EngNav, 0, 0}, {&_swigt__p_gpstk__EngNav, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__EphemerisStore[] = { {&_swigt__p_gpstk__EphemerisStore, 0, 0, 0}, {&_swigt__p_gpstk__TabularEphemerisStore, _p_gpstk__TabularEphemerisStoreTo_p_gpstk__EphemerisStore, 0, 0}, {&_swigt__p_gpstk__SP3EphemerisStore, _p_gpstk__SP3EphemerisStoreTo_p_gpstk__EphemerisStore, 0, 0}, {&_swigt__p_gpstk__BCEphemerisStore, _p_gpstk__BCEphemerisStoreTo_p_gpstk__EphemerisStore, 0, 0}, {&_swigt__p_gpstk__RinexEphemerisStore, _p_gpstk__RinexEphemerisStoreTo_p_gp [...]
+static swig_cast_info _swigc__p_gpstk__EpochClockModel[] = { {&_swigt__p_gpstk__EpochClockModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__Exception[] = { {&_swigt__p_gpstk__AccessError, _p_gpstk__AccessErrorTo_p_gpstk__Exception, 0, 0}, {&_swigt__p_gpstk__InvalidParameter, _p_gpstk__InvalidParameterTo_p_gpstk__Exception, 0, 0}, {&_swigt__p_gpstk__WrongBlockNumber, _p_gpstk__WrongBlockNumberTo_p_gpstk__Exception, 0, 0}, {&_swigt__p_gpstk__OutOfMemory, _p_gpstk__OutOfMemoryTo_p_gpstk__Exception, 0, 0}, {&_swigt__p_gpstk__WrongBlockFormat, _p_gpstk__WrongBlockFormatTo_p_gpstk__Excep [...]
+static swig_cast_info _swigc__p_gpstk__ExceptionLocation[] = { {&_swigt__p_gpstk__ExceptionLocation, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FFBinaryStream[] = { {&_swigt__p_gpstk__FFBinaryStream, 0, 0, 0}, {&_swigt__p_gpstk__FICStream, _p_gpstk__FICStreamTo_p_gpstk__FFBinaryStream, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FFData[] = { {&_swigt__p_gpstk__FICData, _p_gpstk__FICDataTo_p_gpstk__FFData, 0, 0}, {&_swigt__p_gpstk__RinexNavBase, _p_gpstk__RinexNavBaseTo_p_gpstk__FFData, 0, 0}, {&_swigt__p_gpstk__FFData, 0, 0, 0}, {&_swigt__p_gpstk__FICBase, _p_gpstk__FICBaseTo_p_gpstk__FFData, 0, 0}, {&_swigt__p_gpstk__RinexObsData, _p_gpstk__RinexObsDataTo_p_gpstk__FFData, 0, 0}, {&_swigt__p_gpstk__SP3Header, _p_gpstk__SP3HeaderTo_p_gpstk__FFData, 0, 0}, {&_swigt__p_ [...]
+static swig_cast_info _swigc__p_gpstk__FFStream[] = { {&_swigt__p_gpstk__FFBinaryStream, _p_gpstk__FFBinaryStreamTo_p_gpstk__FFStream, 0, 0}, {&_swigt__p_gpstk__FICStream, _p_gpstk__FICStreamTo_p_gpstk__FFStream, 0, 0}, {&_swigt__p_gpstk__FICAStream, _p_gpstk__FICAStreamTo_p_gpstk__FFStream, 0, 0}, {&_swigt__p_gpstk__MSCStream, _p_gpstk__MSCStreamTo_p_gpstk__FFStream, 0, 0}, {&_swigt__p_gpstk__SP3Stream, _p_gpstk__SP3StreamTo_p_gpstk__FFStream, 0, 0}, {&_swigt__p_gpstk__RinexObsStr [...]
+static swig_cast_info _swigc__p_gpstk__FFTextStream[] = { {&_swigt__p_gpstk__FICAStream, _p_gpstk__FICAStreamTo_p_gpstk__FFTextStream, 0, 0}, {&_swigt__p_gpstk__MSCStream, _p_gpstk__MSCStreamTo_p_gpstk__FFTextStream, 0, 0}, {&_swigt__p_gpstk__SP3Stream, _p_gpstk__SP3StreamTo_p_gpstk__FFTextStream, 0, 0}, {&_swigt__p_gpstk__RinexObsStream, _p_gpstk__RinexObsStreamTo_p_gpstk__FFTextStream, 0, 0}, {&_swigt__p_gpstk__FFTextStream, 0, 0, 0}, {&_swigt__p_gpstk__RinexMetStream, _p_gpstk__ [...]
+static swig_cast_info _swigc__p_gpstk__FICAStream[] = { {&_swigt__p_gpstk__FICAStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FICBase[] = { {&_swigt__p_gpstk__FICBase, 0, 0, 0}, {&_swigt__p_gpstk__FICData, _p_gpstk__FICDataTo_p_gpstk__FICBase, 0, 0}, {&_swigt__p_gpstk__FICHeader, _p_gpstk__FICHeaderTo_p_gpstk__FICBase, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FICData[] = { {&_swigt__p_gpstk__FICData, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FICHeader[] = { {&_swigt__p_gpstk__FICHeader, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FICStream[] = { {&_swigt__p_gpstk__FICStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FICStreamBase[] = { {&_swigt__p_gpstk__FICStream, _p_gpstk__FICStreamTo_p_gpstk__FICStreamBase, 0, 0}, {&_swigt__p_gpstk__FICAStream, _p_gpstk__FICAStreamTo_p_gpstk__FICStreamBase, 0, 0}, {&_swigt__p_gpstk__FICStreamBase, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FileHunter[] = { {&_swigt__p_gpstk__FileHunter, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FileHunterException[] = { {&_swigt__p_gpstk__FileHunterException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FileMissingException[] = { {&_swigt__p_gpstk__FileMissingException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FileStoreTgpstk__RinexNavHeader_t[] = { {&_swigt__p_gpstk__FileStoreTgpstk__RinexNavHeader_t, 0, 0, 0}, {&_swigt__p_gpstk__RinexEphemerisStore, _p_gpstk__RinexEphemerisStoreTo_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FileStoreTgpstk__SP3Header_t[] = { {&_swigt__p_gpstk__FileStoreTgpstk__SP3Header_t, 0, 0, 0}, {&_swigt__p_gpstk__SP3EphemerisStore, _p_gpstk__SP3EphemerisStoreTo_p_gpstk__FileStoreTgpstk__SP3Header_t, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__GGHeightTropModel[] = { {&_swigt__p_gpstk__GGHeightTropModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__GGTropModel[] = { {&_swigt__p_gpstk__GGTropModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__GPSZcount[] = { {&_swigt__p_gpstk__GPSZcount, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__GenXSequence[] = { {&_swigt__p_gpstk__GenXSequence, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__Geodetic[] = { {&_swigt__p_gpstk__Geodetic, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__GeoidModel[] = { {&_swigt__p_gpstk__GeoidModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__GeometryException[] = { {&_swigt__p_gpstk__GeometryException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__IndexOutOfBoundsException[] = { {&_swigt__p_gpstk__IndexOutOfBoundsException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__InvalidArgumentException[] = { {&_swigt__p_gpstk__InvalidArgumentException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__InvalidParameter[] = { {&_swigt__p_gpstk__InvalidParameter, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__InvalidRequest[] = { {&_swigt__p_gpstk__InvalidRequest, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__InvalidValue[] = { {&_swigt__p_gpstk__InvalidValue, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__IonoModel[] = { {&_swigt__p_gpstk__IonoModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__IonoModelStore[] = { {&_swigt__p_gpstk__IonoModelStore, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__LinearClockModel[] = { {&_swigt__p_gpstk__LinearClockModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__MSCStream[] = { {&_swigt__p_gpstk__MSCStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__MatrixTdouble_t[] = { {&_swigt__p_gpstk__MatrixTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__NBTropModel[] = { {&_swigt__p_gpstk__NBTropModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__NoGeoidException[] = { {&_swigt__p_gpstk__NoGeoidException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ORDEpoch[] = { {&_swigt__p_gpstk__ORDEpoch, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ObjectNotFound[] = { {&_swigt__p_gpstk__ObjectNotFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ObsClockModel[] = { {&_swigt__p_gpstk__ObsClockModel, 0, 0, 0}, {&_swigt__p_gpstk__EpochClockModel, _p_gpstk__EpochClockModelTo_p_gpstk__ObsClockModel, 0, 0}, {&_swigt__p_gpstk__LinearClockModel, _p_gpstk__LinearClockModelTo_p_gpstk__ObsClockModel, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ObsEpoch[] = { {&_swigt__p_gpstk__ObsEpoch, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ObsRngDev[] = { {&_swigt__p_gpstk__ObsRngDev, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__Observation[] = { {&_swigt__p_gpstk__Observation, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ObservationPlus[] = { {&_swigt__p_gpstk__ObservationPlus, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__OutOfMemory[] = { {&_swigt__p_gpstk__OutOfMemory, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__Position[] = { {&_swigt__p_gpstk__Position, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RAIMSolution[] = { {&_swigt__p_gpstk__RAIMSolution, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexEphemerisStore[] = { {&_swigt__p_gpstk__RinexEphemerisStore, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexMetBase[] = { {&_swigt__p_gpstk__RinexMetBase, 0, 0, 0}, {&_swigt__p_gpstk__RinexMetData, _p_gpstk__RinexMetDataTo_p_gpstk__RinexMetBase, 0, 0}, {&_swigt__p_gpstk__RinexMetHeader, _p_gpstk__RinexMetHeaderTo_p_gpstk__RinexMetBase, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexMetData[] = { {&_swigt__p_gpstk__RinexMetData, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexMetHeader[] = { {&_swigt__p_gpstk__RinexMetHeader, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexMetStream[] = { {&_swigt__p_gpstk__RinexMetStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexNavBase[] = { {&_swigt__p_gpstk__RinexNavBase, 0, 0, 0}, {&_swigt__p_gpstk__RinexNavHeader, _p_gpstk__RinexNavHeaderTo_p_gpstk__RinexNavBase, 0, 0}, {&_swigt__p_gpstk__RinexNavData, _p_gpstk__RinexNavDataTo_p_gpstk__RinexNavBase, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexNavData[] = { {&_swigt__p_gpstk__RinexNavData, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexNavHeader[] = { {&_swigt__p_gpstk__RinexNavHeader, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexNavStream[] = { {&_swigt__p_gpstk__RinexNavStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexObsBase[] = { {&_swigt__p_gpstk__RinexObsBase, 0, 0, 0}, {&_swigt__p_gpstk__RinexObsHeader, _p_gpstk__RinexObsHeaderTo_p_gpstk__RinexObsBase, 0, 0}, {&_swigt__p_gpstk__RinexObsData, _p_gpstk__RinexObsDataTo_p_gpstk__RinexObsBase, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexObsData[] = { {&_swigt__p_gpstk__RinexObsData, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexObsData__RinexPrnMap__iterator[] = { {&_swigt__p_gpstk__RinexObsData__RinexPrnMap__iterator, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexObsHeader[] = { {&_swigt__p_gpstk__RinexObsHeader, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexObsStream[] = { {&_swigt__p_gpstk__RinexObsStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexPrn[] = { {&_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, 0, 0, 0}, {&_swigt__p_gpstk__RinexPrn, 0, 0, 0}, {&_swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RungeKutta4[] = { {&_swigt__p_gpstk__RungeKutta4, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RxObsData[] = { {&_swigt__p_gpstk__RxObsData, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SMODFStream[] = { {&_swigt__p_gpstk__SMODFStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SP3Base[] = { {&_swigt__p_gpstk__SP3Base, 0, 0, 0}, {&_swigt__p_gpstk__SP3Data, _p_gpstk__SP3DataTo_p_gpstk__SP3Base, 0, 0}, {&_swigt__p_gpstk__SP3Header, _p_gpstk__SP3HeaderTo_p_gpstk__SP3Base, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SP3Data[] = { {&_swigt__p_gpstk__SP3Data, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SP3EphemerisStore[] = { {&_swigt__p_gpstk__SP3EphemerisStore, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SP3Header[] = { {&_swigt__p_gpstk__SP3Header, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SP3Stream[] = { {&_swigt__p_gpstk__SP3Stream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SVPCodeGen[] = { {&_swigt__p_gpstk__SVPCodeGen, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SatID[] = { {&_swigt__p_gpstk__SatID, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SimpleTropModel[] = { {&_swigt__p_gpstk__SimpleTropModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__StringUtils__StringException[] = { {&_swigt__p_gpstk__StringUtils__StringException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SystemPipeException[] = { {&_swigt__p_gpstk__SystemPipeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SystemQueueException[] = { {&_swigt__p_gpstk__SystemQueueException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SystemSemaphoreException[] = { {&_swigt__p_gpstk__SystemSemaphoreException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__TabularEphemerisStore[] = { {&_swigt__p_gpstk__TabularEphemerisStore, 0, 0, 0}, {&_swigt__p_gpstk__SP3EphemerisStore, _p_gpstk__SP3EphemerisStoreTo_p_gpstk__TabularEphemerisStore, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__Triple[] = { {&_swigt__p_gpstk__Triple, 0, 0, 0}, {&_swigt__p_gpstk__Position, _p_gpstk__PositionTo_p_gpstk__Triple, 0, 0}, {&_swigt__p_gpstk__Geodetic, _p_gpstk__GeodeticTo_p_gpstk__Triple, 0, 0}, {&_swigt__p_gpstk__ECEF, _p_gpstk__ECEFTo_p_gpstk__Triple, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__TropModel[] = { {&_swigt__p_gpstk__TropModel, 0, 0, 0}, {&_swigt__p_gpstk__ZeroTropModel, _p_gpstk__ZeroTropModelTo_p_gpstk__TropModel, 0, 0}, {&_swigt__p_gpstk__SimpleTropModel, _p_gpstk__SimpleTropModelTo_p_gpstk__TropModel, 0, 0}, {&_swigt__p_gpstk__GGTropModel, _p_gpstk__GGTropModelTo_p_gpstk__TropModel, 0, 0}, {&_swigt__p_gpstk__GGHeightTropModel, _p_gpstk__GGHeightTropModelTo_p_gpstk__TropModel, 0, 0}, {&_swigt__p_gpstk__NBTropModel, _p_ [...]
+static swig_cast_info _swigc__p_gpstk__ValidTypeTchar_t[] = { {&_swigt__p_gpstk__ValidTypeTchar_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTdouble_t[] = { {&_swigt__p_gpstk__ValidTypeTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTfloat_t[] = { {&_swigt__p_gpstk__ValidTypeTfloat_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTint_t[] = { {&_swigt__p_gpstk__ValidTypeTint_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTlong_t[] = { {&_swigt__p_gpstk__ValidTypeTlong_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTshort_t[] = { {&_swigt__p_gpstk__ValidTypeTshort_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTunsigned_char_t[] = { {&_swigt__p_gpstk__ValidTypeTunsigned_char_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTunsigned_int_t[] = { {&_swigt__p_gpstk__ValidTypeTunsigned_int_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTunsigned_long_t[] = { {&_swigt__p_gpstk__ValidTypeTunsigned_long_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTunsigned_short_t[] = { {&_swigt__p_gpstk__ValidTypeTunsigned_short_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__WrongBlockFormat[] = { {&_swigt__p_gpstk__WrongBlockFormat, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__WrongBlockNumber[] = { {&_swigt__p_gpstk__WrongBlockNumber, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__WxObsData[] = { {&_swigt__p_gpstk__WxObsData, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__WxObservation[] = { {&_swigt__p_gpstk__WxObservation, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__X1Sequence[] = { {&_swigt__p_gpstk__X1Sequence, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__X2Sequence[] = { {&_swigt__p_gpstk__X2Sequence, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__Xvt[] = { {&_swigt__p_gpstk__Xvt, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ZeroTropModel[] = { {&_swigt__p_gpstk__ZeroTropModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_int_type[] = { {&_swigt__p_int_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_iostate[] = { {&_swigt__p_iostate, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_key_type[] = { {&_swigt__p_key_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_long[] = { {&_swigt__p_long, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_long_double[] = { {&_swigt__p_long_double, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_long_long[] = { {&_swigt__p_long_long, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_mapped_type[] = { {&_swigt__p_mapped_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_off_type[] = { {&_swigt__p_off_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_openmode[] = { {&_swigt__p_openmode, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_p_void[] = { {&_swigt__p_p_void, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_pos_type[] = { {&_swigt__p_pos_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_second_type[] = { {&_swigt__p_second_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_seekdir[] = { {&_swigt__p_seekdir, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_sensorPosType[] = { {&_swigt__p_sensorPosType, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_sensorType[] = { {&_swigt__p_sensorType, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_short[] = { {&_swigt__p_short, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_size_t[] = { {&_swigt__p_size_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_size_type[] = { {&_swigt__p_size_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_state_type[] = { {&_swigt__p_state_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__bad_exception[] = { {&_swigt__p_std__bad_exception, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_iosTchar_std__char_traitsTchar_t_t[] = { {&_swigt__p_gpstk__AccessError, _p_gpstk__AccessErrorTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0, 0}, {&_swigt__p_gpstk__InvalidParameter, _p_gpstk__InvalidParameterTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0, 0}, {&_swigt__p_gpstk__WrongBlockNumber, _p_gpstk__WrongBlockNumberTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0, 0}, {&_swigt__p_gpstk__OutOfMemory, _p_gpstk__OutOfM [...]
+static swig_cast_info _swigc__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t[] = { {&_swigt__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t[] = { {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0, 0, 0}, {&_swigt__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t, _p_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type[] = { {&_swigt__p_char, 0, 0, 0}, {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type[] = { {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type, 0, 0, 0}, {&_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type[] = { {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type, 0, 0, 0}, {&_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t[] = { {&_swigt__p_gpstk__AccessError, _p_gpstk__AccessErrorTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0, 0}, {&_swigt__p_gpstk__InvalidParameter, _p_gpstk__InvalidParameterTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0, 0}, {&_swigt__p_gpstk__WrongBlockNumber, _p_gpstk__WrongBlockNumberTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0, 0}, {&_swigt__p_gpstk__OutOfMemory, [...]
+static swig_cast_info _swigc__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type[] = { {&_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type, 0, 0, 0}, {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type[] = { {&_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type, 0, 0, 0}, {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_streambufTchar_std__char_traitsTchar_t_t[] = { {&_swigt__p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t[] = { {&_swigt__p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__domain_error[] = { {&_swigt__p_std__domain_error, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__exception[] = { {&_swigt__p_std__logic_error, _p_std__logic_errorTo_p_std__exception, 0, 0}, {&_swigt__p_std__runtime_error, _p_std__runtime_errorTo_p_std__exception, 0, 0}, {&_swigt__p_std__range_error, _p_std__range_errorTo_p_std__exception, 0, 0}, {&_swigt__p_std__overflow_error, _p_std__overflow_errorTo_p_std__exception, 0, 0}, {&_swigt__p_std__underflow_error, _p_std__underflow_errorTo_p_std__exception, 0, 0}, {&_swigt__p_std__exception, 0, [...]
+static swig_cast_info _swigc__p_std__invalid_argument[] = { {&_swigt__p_std__invalid_argument, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__ios__openmode[] = { {&_swigt__p_std__ios__openmode, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__ios_base[] = { {&_swigt__p_gpstk__AccessError, _p_gpstk__AccessErrorTo_p_std__ios_base, 0, 0}, {&_swigt__p_gpstk__InvalidParameter, _p_gpstk__InvalidParameterTo_p_std__ios_base, 0, 0}, {&_swigt__p_gpstk__WrongBlockNumber, _p_gpstk__WrongBlockNumberTo_p_std__ios_base, 0, 0}, {&_swigt__p_gpstk__OutOfMemory, _p_gpstk__OutOfMemoryTo_p_std__ios_base, 0, 0}, {&_swigt__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t, _p_std__basic_iostreamTchar_std [...]
+static swig_cast_info _swigc__p_std__length_error[] = { {&_swigt__p_std__length_error, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__listTdouble_t[] = { {&_swigt__p_std__listTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__listTgpstk__EngEphemeris_t[] = { {&_swigt__p_std__listTgpstk__EngEphemeris_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__locale[] = { {&_swigt__p_std__locale, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__logic_error[] = { {&_swigt__p_std__logic_error, 0, 0, 0}, {&_swigt__p_std__domain_error, _p_std__domain_errorTo_p_std__logic_error, 0, 0}, {&_swigt__p_std__length_error, _p_std__length_errorTo_p_std__logic_error, 0, 0}, {&_swigt__p_std__out_of_range, _p_std__out_of_rangeTo_p_std__logic_error, 0, 0}, {&_swigt__p_std__invalid_argument, _p_std__invalid_argumentTo_p_std__logic_error, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t[] = { {&_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type[] = { {&_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type[] = { {&_swigt__p_RinexObsType, 0, 0, 0}, {&_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type[] = { {&_swigt__p_RinexDatum, 0, 0, 0}, {&_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t[] = { {&_swigt__p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t[] = { {&_swigt__p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t[] = { {&_swigt__p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type[] = { {&_swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type[] = { {&_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, 0, 0, 0}, {&_swigt__p_gpstk__RinexPrn, 0, 0, 0}, {&_swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_s [...]
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t[] = { {&_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type[] = { {&_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type[] = { {&_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, 0, 0, 0}, {&_swigt__p_gpstk__RinexPrn, 0, 0, 0}, {&_swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPr [...]
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t[] = { {&_swigt__p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocator [...]
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t[] = { {&_swigt__p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t[] = { {&_swigt__p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t[] = { {&_swigt__p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t[] = { {&_swigt__p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t[] = { {&_swigt__p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t[] = { {&_swigt__p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t[] = { {&_swigt__p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__out_of_range[] = { {&_swigt__p_std__out_of_range, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__overflow_error[] = { {&_swigt__p_std__overflow_error, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__range_error[] = { {&_swigt__p_std__range_error, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__runtime_error[] = { {&_swigt__p_std__runtime_error, 0, 0, 0}, {&_swigt__p_std__range_error, _p_std__range_errorTo_p_std__runtime_error, 0, 0}, {&_swigt__p_std__overflow_error, _p_std__overflow_errorTo_p_std__runtime_error, 0, 0}, {&_swigt__p_std__underflow_error, _p_std__underflow_errorTo_p_std__runtime_error, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__setTshort_t[] = { {&_swigt__p_std__setTshort_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__string[] = { {&_swigt__p_std__string, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__underflow_error[] = { {&_swigt__p_std__underflow_error, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__valarrayTdouble_t[] = { {&_swigt__p_std__valarrayTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t[] = { {&_swigt__p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t[] = { {&_swigt__p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTchar_std__allocatorTchar_t_t[] = { {&_swigt__p_std__vectorTchar_std__allocatorTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTdouble_std__allocatorTdouble_t_t[] = { {&_swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type[] = { {&_swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t[] = { {&_swigt__p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t[] = { {&_swigt__p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTint_std__allocatorTint_t_t[] = { {&_swigt__p_std__vectorTint_std__allocatorTint_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTint_std__allocatorTint_t_t__allocator_type[] = { {&_swigt__p_std__vectorTint_std__allocatorTint_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTlong_std__allocatorTlong_t_t[] = { {&_swigt__p_std__vectorTlong_std__allocatorTlong_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t[] = { {&_swigt__p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTsensorType_std__allocatorTsensorType_t_t[] = { {&_swigt__p_std__vectorTsensorType_std__allocatorTsensorType_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTstd__string_std__allocatorTstd__string_t_t[] = { {&_swigt__p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_time_t[] = { {&_swigt__p_time_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_timeval[] = { {&_swigt__p_timeval, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_traits_type[] = { {&_swigt__p_traits_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_unsigned_long[] = { {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_unsigned_long_long[] = { {&_swigt__p_unsigned_long_long, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_unsigned_short[] = { {&_swigt__p_unsigned_short, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_value_type[] = { {&_swigt__p_value_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__ptrdiff_t[] = { {&_swigt__ptrdiff_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__size_t[] = { {&_swigt__size_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__std__ptrdiff_t[] = { {&_swigt__std__ptrdiff_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__std__size_t[] = { {&_swigt__std__size_t, 0, 0, 0},{0, 0, 0, 0}};
+
+static swig_cast_info *swig_cast_initial[] = {
+ _swigc__p_DayTimeException,
+ _swigc__p_EndOfFile,
+ _swigc__p_ExtraWaveFact,
+ _swigc__p_FFStreamError,
+ _swigc__p_FileSpec,
+ _swigc__p_FileSpec__FileSpecSortType,
+ _swigc__p_FileSpec__FileSpecType,
+ _swigc__p_FilterPair,
+ _swigc__p_FormatException,
+ _swigc__p_InvalidIonoModel,
+ _swigc__p_InvalidTropModel,
+ _swigc__p_MatrixTdouble_t,
+ _swigc__p_NoAlmanacFound,
+ _swigc__p_NoEphemerisFound,
+ _swigc__p_NoIonoModelFound,
+ _swigc__p_ORDMap,
+ _swigc__p_PRNModeMap,
+ _swigc__p_PRNStatusMap,
+ _swigc__p_RinexDatum,
+ _swigc__p_RinexMetMap,
+ _swigc__p_RinexMetType,
+ _swigc__p_RinexObsType,
+ _swigc__p_RinexObsTypeMap,
+ _swigc__p_RinexPrnMap,
+ _swigc__p_SVBitsMap,
+ _swigc__p_SVNotPresentException,
+ _swigc__p_StatsTdouble_t,
+ _swigc__p_StringUtils__StringException,
+ _swigc__p_VectorTbool_t,
+ _swigc__p_VectorTdouble_t,
+ _swigc__p_allocator_type,
+ _swigc__p_bool,
+ _swigc__p_char,
+ _swigc__p_char_type,
+ _swigc__p_codeType,
+ _swigc__p_difference_type,
+ _swigc__p_double,
+ _swigc__p_f_enum_std__ios_base__event_r_std__ios_base_int__void,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest,
+ _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure,
+ _swigc__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest,
+ _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure,
+ _swigc__p_f_r_std__ios_base__r_std__ios_base,
+ _swigc__p_f_r_std__ios_base__r_gpstk__AccessError,
+ _swigc__p_f_r_std__ios_base__r_gpstk__InvalidParameter,
+ _swigc__p_f_r_std__ios_base__r_gpstk__WrongBlockNumber,
+ _swigc__p_f_r_std__ios_base__r_gpstk__OutOfMemory,
+ _swigc__p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException,
+ _swigc__p_f_r_std__ios_base__r_gpstk__WrongBlockFormat,
+ _swigc__p_f_r_std__ios_base__r_gpstk__ConfigurationException,
+ _swigc__p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t,
+ _swigc__p_f_r_std__ios_base__r_gpstk__InvalidValue,
+ _swigc__p_f_r_std__ios_base__r_gpstk__ObjectNotFound,
+ _swigc__p_f_r_std__ios_base__r_gpstk__Exception,
+ _swigc__p_f_r_std__ios_base__r_gpstk__SystemPipeException,
+ _swigc__p_f_r_std__ios_base__r_gpstk__FileHunterException,
+ _swigc__p_f_r_std__ios_base__r_gpstk__GeometryException,
+ _swigc__p_f_r_std__ios_base__r_gpstk__NoGeoidException,
+ _swigc__p_f_r_std__ios_base__r_DayTimeException,
+ _swigc__p_f_r_std__ios_base__r_FormatException,
+ _swigc__p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException,
+ _swigc__p_f_r_std__ios_base__r_gpstk__InvalidRequest,
+ _swigc__p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_f_r_std__ios_base__r_gpstk__InvalidArgumentException,
+ _swigc__p_f_r_std__ios_base__r_gpstk__FileMissingException,
+ _swigc__p_f_r_std__ios_base__r_gpstk__SystemQueueException,
+ _swigc__p_f_r_std__ios_base__r_gpstk__AssertionFailure,
+ _swigc__p_first_type,
+ _swigc__p_float,
+ _swigc__p_fmtflags,
+ _swigc__p_gpstk__AccessError,
+ _swigc__p_gpstk__AlmOrbit,
+ _swigc__p_gpstk__AlmanacStore,
+ _swigc__p_gpstk__AssertionFailure,
+ _swigc__p_gpstk__BCEphemerisStore,
+ _swigc__p_gpstk__ClockModel,
+ _swigc__p_gpstk__CodeBuffer,
+ _swigc__p_gpstk__ConfigurationException,
+ _swigc__p_gpstk__CorrectedEphemerisRange,
+ _swigc__p_gpstk__DayTime,
+ _swigc__p_gpstk__ECEF,
+ _swigc__p_gpstk__EngAlmanac,
+ _swigc__p_gpstk__EngEphemeris,
+ _swigc__p_gpstk__EngNav,
+ _swigc__p_gpstk__EphemerisStore,
+ _swigc__p_gpstk__EpochClockModel,
+ _swigc__p_gpstk__Exception,
+ _swigc__p_gpstk__ExceptionLocation,
+ _swigc__p_gpstk__FFBinaryStream,
+ _swigc__p_gpstk__FFData,
+ _swigc__p_gpstk__FFStream,
+ _swigc__p_gpstk__FFTextStream,
+ _swigc__p_gpstk__FICAStream,
+ _swigc__p_gpstk__FICBase,
+ _swigc__p_gpstk__FICData,
+ _swigc__p_gpstk__FICHeader,
+ _swigc__p_gpstk__FICStream,
+ _swigc__p_gpstk__FICStreamBase,
+ _swigc__p_gpstk__FileHunter,
+ _swigc__p_gpstk__FileHunterException,
+ _swigc__p_gpstk__FileMissingException,
+ _swigc__p_gpstk__FileStoreTgpstk__RinexNavHeader_t,
+ _swigc__p_gpstk__FileStoreTgpstk__SP3Header_t,
+ _swigc__p_gpstk__GGHeightTropModel,
+ _swigc__p_gpstk__GGTropModel,
+ _swigc__p_gpstk__GPSZcount,
+ _swigc__p_gpstk__GenXSequence,
+ _swigc__p_gpstk__Geodetic,
+ _swigc__p_gpstk__GeoidModel,
+ _swigc__p_gpstk__GeometryException,
+ _swigc__p_gpstk__IndexOutOfBoundsException,
+ _swigc__p_gpstk__InvalidArgumentException,
+ _swigc__p_gpstk__InvalidParameter,
+ _swigc__p_gpstk__InvalidRequest,
+ _swigc__p_gpstk__InvalidValue,
+ _swigc__p_gpstk__IonoModel,
+ _swigc__p_gpstk__IonoModelStore,
+ _swigc__p_gpstk__LinearClockModel,
+ _swigc__p_gpstk__MSCStream,
+ _swigc__p_gpstk__MatrixTdouble_t,
+ _swigc__p_gpstk__NBTropModel,
+ _swigc__p_gpstk__NoGeoidException,
+ _swigc__p_gpstk__ORDEpoch,
+ _swigc__p_gpstk__ObjectNotFound,
+ _swigc__p_gpstk__ObsClockModel,
+ _swigc__p_gpstk__ObsEpoch,
+ _swigc__p_gpstk__ObsRngDev,
+ _swigc__p_gpstk__Observation,
+ _swigc__p_gpstk__ObservationPlus,
+ _swigc__p_gpstk__OutOfMemory,
+ _swigc__p_gpstk__Position,
+ _swigc__p_gpstk__RAIMSolution,
+ _swigc__p_gpstk__RinexEphemerisStore,
+ _swigc__p_gpstk__RinexMetBase,
+ _swigc__p_gpstk__RinexMetData,
+ _swigc__p_gpstk__RinexMetHeader,
+ _swigc__p_gpstk__RinexMetStream,
+ _swigc__p_gpstk__RinexNavBase,
+ _swigc__p_gpstk__RinexNavData,
+ _swigc__p_gpstk__RinexNavHeader,
+ _swigc__p_gpstk__RinexNavStream,
+ _swigc__p_gpstk__RinexObsBase,
+ _swigc__p_gpstk__RinexObsData,
+ _swigc__p_gpstk__RinexObsData__RinexPrnMap__iterator,
+ _swigc__p_gpstk__RinexObsHeader,
+ _swigc__p_gpstk__RinexObsStream,
+ _swigc__p_gpstk__RinexPrn,
+ _swigc__p_gpstk__RungeKutta4,
+ _swigc__p_gpstk__RxObsData,
+ _swigc__p_gpstk__SMODFStream,
+ _swigc__p_gpstk__SP3Base,
+ _swigc__p_gpstk__SP3Data,
+ _swigc__p_gpstk__SP3EphemerisStore,
+ _swigc__p_gpstk__SP3Header,
+ _swigc__p_gpstk__SP3Stream,
+ _swigc__p_gpstk__SVPCodeGen,
+ _swigc__p_gpstk__SatID,
+ _swigc__p_gpstk__SimpleTropModel,
+ _swigc__p_gpstk__StringUtils__StringException,
+ _swigc__p_gpstk__SystemPipeException,
+ _swigc__p_gpstk__SystemQueueException,
+ _swigc__p_gpstk__SystemSemaphoreException,
+ _swigc__p_gpstk__TabularEphemerisStore,
+ _swigc__p_gpstk__Triple,
+ _swigc__p_gpstk__TropModel,
+ _swigc__p_gpstk__ValidTypeTchar_t,
+ _swigc__p_gpstk__ValidTypeTdouble_t,
+ _swigc__p_gpstk__ValidTypeTfloat_t,
+ _swigc__p_gpstk__ValidTypeTint_t,
+ _swigc__p_gpstk__ValidTypeTlong_t,
+ _swigc__p_gpstk__ValidTypeTshort_t,
+ _swigc__p_gpstk__ValidTypeTunsigned_char_t,
+ _swigc__p_gpstk__ValidTypeTunsigned_int_t,
+ _swigc__p_gpstk__ValidTypeTunsigned_long_t,
+ _swigc__p_gpstk__ValidTypeTunsigned_short_t,
+ _swigc__p_gpstk__WrongBlockFormat,
+ _swigc__p_gpstk__WrongBlockNumber,
+ _swigc__p_gpstk__WxObsData,
+ _swigc__p_gpstk__WxObservation,
+ _swigc__p_gpstk__X1Sequence,
+ _swigc__p_gpstk__X2Sequence,
+ _swigc__p_gpstk__Xvt,
+ _swigc__p_gpstk__ZeroTropModel,
+ _swigc__p_int,
+ _swigc__p_int_type,
+ _swigc__p_iostate,
+ _swigc__p_key_type,
+ _swigc__p_long,
+ _swigc__p_long_double,
+ _swigc__p_long_long,
+ _swigc__p_mapped_type,
+ _swigc__p_off_type,
+ _swigc__p_openmode,
+ _swigc__p_p_void,
+ _swigc__p_pos_type,
+ _swigc__p_second_type,
+ _swigc__p_seekdir,
+ _swigc__p_sensorPosType,
+ _swigc__p_sensorType,
+ _swigc__p_short,
+ _swigc__p_size_t,
+ _swigc__p_size_type,
+ _swigc__p_state_type,
+ _swigc__p_std__bad_exception,
+ _swigc__p_std__basic_iosTchar_std__char_traitsTchar_t_t,
+ _swigc__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type,
+ _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type,
+ _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type,
+ _swigc__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+ _swigc__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type,
+ _swigc__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type,
+ _swigc__p_std__basic_streambufTchar_std__char_traitsTchar_t_t,
+ _swigc__p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t,
+ _swigc__p_std__domain_error,
+ _swigc__p_std__exception,
+ _swigc__p_std__invalid_argument,
+ _swigc__p_std__ios__openmode,
+ _swigc__p_std__ios_base,
+ _swigc__p_std__length_error,
+ _swigc__p_std__listTdouble_t,
+ _swigc__p_std__listTgpstk__EngEphemeris_t,
+ _swigc__p_std__locale,
+ _swigc__p_std__logic_error,
+ _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t,
+ _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type,
+ _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type,
+ _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type,
+ _swigc__p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t,
+ _swigc__p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t,
+ _swigc__p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t,
+ _swigc__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type,
+ _swigc__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type,
+ _swigc__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t,
+ _swigc__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type,
+ _swigc__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type,
+ _swigc__p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t,
+ _swigc__p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t,
+ _swigc__p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t,
+ _swigc__p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t,
+ _swigc__p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t,
+ _swigc__p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t,
+ _swigc__p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t,
+ _swigc__p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t,
+ _swigc__p_std__out_of_range,
+ _swigc__p_std__overflow_error,
+ _swigc__p_std__range_error,
+ _swigc__p_std__runtime_error,
+ _swigc__p_std__setTshort_t,
+ _swigc__p_std__string,
+ _swigc__p_std__underflow_error,
+ _swigc__p_std__valarrayTdouble_t,
+ _swigc__p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t,
+ _swigc__p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t,
+ _swigc__p_std__vectorTchar_std__allocatorTchar_t_t,
+ _swigc__p_std__vectorTdouble_std__allocatorTdouble_t_t,
+ _swigc__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type,
+ _swigc__p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t,
+ _swigc__p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t,
+ _swigc__p_std__vectorTint_std__allocatorTint_t_t,
+ _swigc__p_std__vectorTint_std__allocatorTint_t_t__allocator_type,
+ _swigc__p_std__vectorTlong_std__allocatorTlong_t_t,
+ _swigc__p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t,
+ _swigc__p_std__vectorTsensorType_std__allocatorTsensorType_t_t,
+ _swigc__p_std__vectorTstd__string_std__allocatorTstd__string_t_t,
+ _swigc__p_time_t,
+ _swigc__p_timeval,
+ _swigc__p_traits_type,
+ _swigc__p_unsigned_int,
+ _swigc__p_unsigned_long,
+ _swigc__p_unsigned_long_long,
+ _swigc__p_unsigned_short,
+ _swigc__p_value_type,
+ _swigc__ptrdiff_t,
+ _swigc__size_t,
+ _swigc__std__ptrdiff_t,
+ _swigc__std__size_t,
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+static swig_const_info swig_const_table[] = {
+{ SWIG_PY_POINTER, (char*)"endl_cb_ptr", 0, 0, (void *)(std::basic_ostream<char,std::char_traits<char > > & (*)(std::basic_ostream<char,std::char_traits<char > > &))(std::endl<char,std::char_traits<char > >), &SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t},
+{ SWIG_PY_POINTER, (char*)"ends_cb_ptr", 0, 0, (void *)(std::basic_ostream<char,std::char_traits<char > > & (*)(std::basic_ostream<char,std::char_traits<char > > &))(std::ends<char,std::char_traits<char > >), &SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t},
+{ SWIG_PY_POINTER, (char*)"flush_cb_ptr", 0, 0, (void *)(std::basic_ostream<char,std::char_traits<char > > & (*)(std::basic_ostream<char,std::char_traits<char > > &))(std::flush<char,std::char_traits<char > >), &SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t},
+{0, 0, 0, 0.0, 0, 0}};
+
+#ifdef __cplusplus
+}
+#endif
+/*************************************************************************
+ * Type initialization:
+ * This problem is tough by the requirement that no dynamic
+ * memory is used. Also, since swig_type_info structures store pointers to
+ * swig_cast_info structures and swig_cast_info structures store pointers back
+ * to swig_type_info structures, we need some lookup code at initialization.
+ * The idea is that swig generates all the structures that are needed.
+ * The runtime then collects these partially filled structures.
+ * The SWIG_InitializeModule function takes these initial arrays out of
+ * swig_module, and does all the lookup, filling in the swig_module.types
+ * array with the correct data and linking the correct swig_cast_info
+ * structures together.
+
+ * The generated swig_type_info structures are assigned staticly to an initial
+ * array. We just loop though that array, and handle each type individually.
+ * First we lookup if this type has been already loaded, and if so, use the
+ * loaded structure instead of the generated one. Then we have to fill in the
+ * cast linked list. The cast data is initially stored in something like a
+ * two-dimensional array. Each row corresponds to a type (there are the same
+ * number of rows as there are in the swig_type_initial array). Each entry in
+ * a column is one of the swig_cast_info structures for that type.
+ * The cast_initial array is actually an array of arrays, because each row has
+ * a variable number of columns. So to actually build the cast linked list,
+ * we find the array of casts associated with the type, and loop through it
+ * adding the casts to the list. The one last trick we need to do is making
+ * sure the type pointer in the swig_cast_info struct is correct.
+
+ * First off, we lookup the cast->type name to see if it is already loaded.
+ * There are three cases to handle:
+ * 1) If the cast->type has already been loaded AND the type we are adding
+ * casting info to has not been loaded (it is in this module), THEN we
+ * replace the cast->type pointer with the type pointer that has already
+ * been loaded.
+ * 2) If BOTH types (the one we are adding casting info to, and the
+ * cast->type) are loaded, THEN the cast info has already been loaded by
+ * the previous module so we just ignore it.
+ * 3) Finally, if cast->type has not already been loaded, then we add that
+ * swig_cast_info to the linked list (because the cast->type) pointer will
+ * be correct.
+**/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ SWIGRUNTIME void
+ SWIG_InitializeModule(void *clientdata) {
+ swig_type_info *type, *ret;
+ swig_cast_info *cast;
+ size_t i;
+ swig_module_info *module_head;
+ static int init_run = 0;
+
+ clientdata = clientdata;
+
+ if (init_run) return;
+ init_run = 1;
+
+ /* Initialize the swig_module */
+ swig_module.type_initial = swig_type_initial;
+ swig_module.cast_initial = swig_cast_initial;
+
+ /* Try and load any already created modules */
+ module_head = SWIG_GetModule(clientdata);
+ if (module_head) {
+ swig_module.next = module_head->next;
+ module_head->next = &swig_module;
+ } else {
+ /* This is the first module loaded */
+ swig_module.next = &swig_module;
+ SWIG_SetModule(clientdata, &swig_module);
+ }
+
+ /* Now work on filling in swig_module.types */
+ for (i = 0; i < swig_module.size; ++i) {
+ type = 0;
+
+ /* if there is another module already loaded */
+ if (swig_module.next != &swig_module) {
+ type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
+ }
+ if (type) {
+ /* Overwrite clientdata field */
+ if (swig_module.type_initial[i]->clientdata) type->clientdata = swig_module.type_initial[i]->clientdata;
+ } else {
+ type = swig_module.type_initial[i];
+ }
+
+ /* Insert casting types */
+ cast = swig_module.cast_initial[i];
+ while (cast->type) {
+ /* Don't need to add information already in the list */
+ ret = 0;
+ if (swig_module.next != &swig_module) {
+ ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
+ }
+ if (ret && type == swig_module.type_initial[i]) {
+ cast->type = ret;
+ ret = 0;
+ }
+
+ if (!ret) {
+ if (type->cast) {
+ type->cast->prev = cast;
+ cast->next = type->cast;
+ }
+ type->cast = cast;
+ }
+
+ cast++;
+ }
+
+ /* Set entry in modules->types array equal to the type */
+ swig_module.types[i] = type;
+ }
+ }
+
+ /* This function will propagate the clientdata field of type to
+ * any new swig_type_info structures that have been added into the list
+ * of equivalent types. It is like calling
+ * SWIG_TypeClientData(type, clientdata) a second time.
+ */
+ SWIGRUNTIME void
+ SWIG_PropagateClientData(void) {
+ size_t i;
+ swig_cast_info *equiv;
+ static int init_run = 0;
+
+ if (init_run) return;
+ init_run = 1;
+
+ for (i = 0; i < swig_module.size; i++) {
+ if (swig_module.types[i]->clientdata) {
+ equiv = swig_module.types[i]->cast;
+ while (equiv) {
+ if (!equiv->converter) {
+ if (equiv->type && !equiv->type->clientdata)
+ SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
+ }
+ equiv = equiv->next;
+ }
+ }
+ }
+ }
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ /* Python-specific SWIG API */
+#define SWIG_newvarlink() SWIG_Python_newvarlink()
+#define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr)
+#define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants)
+
+ /* -----------------------------------------------------------------------------
+ * global variable support code.
+ * ----------------------------------------------------------------------------- */
+
+ typedef struct swig_globalvar {
+ char *name; /* Name of global variable */
+ PyObject *(*get_attr)(void); /* Return the current value */
+ int (*set_attr)(PyObject *); /* Set the value */
+ struct swig_globalvar *next;
+ } swig_globalvar;
+
+ typedef struct swig_varlinkobject {
+ PyObject_HEAD
+ swig_globalvar *vars;
+ } swig_varlinkobject;
+
+ SWIGINTERN PyObject *
+ swig_varlink_repr(swig_varlinkobject *v) {
+ v = v;
+ return PyString_FromString("<Swig global variables>");
+ }
+
+ SWIGINTERN int
+ swig_varlink_print(swig_varlinkobject *v, FILE *fp, int flags) {
+ swig_globalvar *var;
+ flags = flags;
+ fprintf(fp,"Swig global variables { ");
+ for (var = v->vars; var; var=var->next) {
+ fprintf(fp,"%s", var->name);
+ if (var->next) fprintf(fp,", ");
+ }
+ fprintf(fp," }\n");
+ return 0;
+ }
+
+ SWIGINTERN PyObject *
+ swig_varlink_getattr(swig_varlinkobject *v, char *n) {
+ swig_globalvar *var = v->vars;
+ while (var) {
+ if (strcmp(var->name,n) == 0) {
+ return (*var->get_attr)();
+ }
+ var = var->next;
+ }
+ PyErr_SetString(PyExc_NameError,"Unknown C global variable");
+ return NULL;
+ }
+
+ SWIGINTERN int
+ swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
+ swig_globalvar *var = v->vars;
+ while (var) {
+ if (strcmp(var->name,n) == 0) {
+ return (*var->set_attr)(p);
+ }
+ var = var->next;
+ }
+ PyErr_SetString(PyExc_NameError,"Unknown C global variable");
+ return 1;
+ }
+
+ SWIGINTERN PyTypeObject*
+ swig_varlink_type(void) {
+ static char varlink__doc__[] = "Swig var link object";
+ static PyTypeObject varlink_type
+#if !defined(__cplusplus)
+ ;
+ static int type_init = 0;
+ if (!type_init) {
+ PyTypeObject tmp
+#endif
+ = {
+ PyObject_HEAD_INIT(&PyType_Type)
+ 0, /* Number of items in variable part (ob_size) */
+ (char *)"swigvarlink", /* Type name (tp_name) */
+ sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */
+ 0, /* Itemsize (tp_itemsize) */
+ 0, /* Deallocator (tp_dealloc) */
+ (printfunc) swig_varlink_print, /* Print (tp_print) */
+ (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */
+ (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */
+ 0, /* tp_compare */
+ (reprfunc) swig_varlink_repr, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ 0, /* tp_flags */
+ varlink__doc__, /* tp_doc */
+#if PY_VERSION_HEX >= 0x02000000
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+#endif
+#if PY_VERSION_HEX >= 0x02010000
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+#endif
+#if PY_VERSION_HEX >= 0x02020000
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
+#endif
+#if PY_VERSION_HEX >= 0x02030000
+ 0, /* tp_del */
+#endif
+#ifdef COUNT_ALLOCS
+ 0,0,0,0 /* tp_alloc -> tp_next */
+#endif
+ };
+#if !defined(__cplusplus)
+ varlink_type = tmp;
+ type_init = 1;
+ }
+#endif
+ return &varlink_type;
+ }
+
+ /* Create a variable linking object for use later */
+ SWIGINTERN PyObject *
+ SWIG_Python_newvarlink(void) {
+ swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
+ if (result) {
+ result->vars = 0;
+ }
+ return ((PyObject*) result);
+ }
+
+ SWIGINTERN void
+ SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
+ swig_varlinkobject *v = (swig_varlinkobject *) p;
+ swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
+ if (gv) {
+ size_t size = strlen(name)+1;
+ gv->name = (char *)malloc(size);
+ if (gv->name) {
+ strncpy(gv->name,name,size);
+ gv->get_attr = get_attr;
+ gv->set_attr = set_attr;
+ gv->next = v->vars;
+ }
+ }
+ v->vars = gv;
+ }
+
+ /* -----------------------------------------------------------------------------
+ * constants/methods manipulation
+ * ----------------------------------------------------------------------------- */
+
+ /* Install Constants */
+ SWIGINTERN void
+ SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
+ PyObject *obj = 0;
+ size_t i;
+ for (i = 0; constants[i].type; ++i) {
+ switch(constants[i].type) {
+ case SWIG_PY_INT:
+ obj = PyInt_FromLong(constants[i].lvalue);
+ break;
+ case SWIG_PY_FLOAT:
+ obj = PyFloat_FromDouble(constants[i].dvalue);
+ break;
+ case SWIG_PY_STRING:
+ if (constants[i].pvalue) {
+ obj = PyString_FromString((char *) constants[i].pvalue);
+ } else {
+ Py_INCREF(Py_None);
+ obj = Py_None;
+ }
+ break;
+ case SWIG_PY_POINTER:
+ obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
+ break;
+ case SWIG_PY_BINARY:
+ obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
+ break;
+ default:
+ obj = 0;
+ break;
+ }
+ if (obj) {
+ PyDict_SetItemString(d,constants[i].name,obj);
+ Py_DECREF(obj);
+ }
+ }
+ }
+
+ /* -----------------------------------------------------------------------------*/
+ /* Fix SwigMethods to carry the callback ptrs when needed */
+ /* -----------------------------------------------------------------------------*/
+
+ SWIGINTERN void
+ SWIG_Python_FixMethods(PyMethodDef *methods,
+ swig_const_info *const_table,
+ swig_type_info **types,
+ swig_type_info **types_initial) {
+ size_t i;
+ for (i = 0; methods[i].ml_name; ++i) {
+ char *c = methods[i].ml_doc;
+ if (c && (c = strstr(c, "swig_ptr: "))) {
+ int j;
+ swig_const_info *ci = 0;
+ char *name = c + 10;
+ for (j = 0; const_table[j].type; ++j) {
+ if (strncmp(const_table[j].name, name,
+ strlen(const_table[j].name)) == 0) {
+ ci = &(const_table[j]);
+ break;
+ }
+ }
+ if (ci) {
+ size_t shift = (ci->ptype) - types;
+ swig_type_info *ty = types_initial[shift];
+ size_t ldoc = (c - methods[i].ml_doc);
+ size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
+ char *ndoc = (char*)malloc(ldoc + lptr + 10);
+ if (ndoc) {
+ char *buff = ndoc;
+ void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0;
+ if (ptr) {
+ strncpy(buff, methods[i].ml_doc, ldoc);
+ buff += ldoc;
+ strncpy(buff, "swig_ptr: ", 10);
+ buff += 10;
+ SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
+ methods[i].ml_doc = ndoc;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /* -----------------------------------------------------------------------------*
+ * Initialize type list
+ * -----------------------------------------------------------------------------*/
+
+#if PY_MAJOR_VERSION < 2
+ /* PyModule_AddObject function was introduced in Python 2.0. The following function
+ is copied out of Python/modsupport.c in python version 2.3.4 */
+ SWIGINTERN int
+ PyModule_AddObject(PyObject *m, char *name, PyObject *o)
+ {
+ PyObject *dict;
+ if (!PyModule_Check(m)) {
+ PyErr_SetString(PyExc_TypeError,
+ "PyModule_AddObject() needs module as first arg");
+ return -1;
+ }
+ if (!o) {
+ PyErr_SetString(PyExc_TypeError,
+ "PyModule_AddObject() needs non-NULL value");
+ return -1;
+ }
+
+ dict = PyModule_GetDict(m);
+ if (dict == NULL) {
+ /* Internal error -- modules must have a dict! */
+ PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__",
+ PyModule_GetName(m));
+ return -1;
+ }
+ if (PyDict_SetItemString(dict, name, o))
+ return -1;
+ Py_DECREF(o);
+ return 0;
+ }
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* -----------------------------------------------------------------------------*
+ * Partial Init method
+ * -----------------------------------------------------------------------------*/
+
+#ifdef __cplusplus
+extern "C"
+#endif
+SWIGEXPORT void SWIG_init(void) {
+ static PyObject *SWIG_globals = 0;
+ PyObject *m, *d;
+ if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
+
+ /* Fix SwigMethods to carry the callback ptrs when needed */
+ SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial);
+
+ m = Py_InitModule((char *) SWIG_name, SwigMethods);
+ d = PyModule_GetDict(m);
+
+ SWIG_InitializeModule(0);
+ SWIG_InstallConstants(d,swig_const_table);
+
+ PyDict_SetItemString(d,(char*)"cvar", SWIG_globals);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_boolalpha",_wrap_ios_base_boolalpha_get, _wrap_ios_base_boolalpha_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_dec",_wrap_ios_base_dec_get, _wrap_ios_base_dec_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_fixed",_wrap_ios_base_fixed_get, _wrap_ios_base_fixed_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_hex",_wrap_ios_base_hex_get, _wrap_ios_base_hex_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_internal",_wrap_ios_base_internal_get, _wrap_ios_base_internal_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_left",_wrap_ios_base_left_get, _wrap_ios_base_left_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_oct",_wrap_ios_base_oct_get, _wrap_ios_base_oct_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_right",_wrap_ios_base_right_get, _wrap_ios_base_right_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_scientific",_wrap_ios_base_scientific_get, _wrap_ios_base_scientific_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_showbase",_wrap_ios_base_showbase_get, _wrap_ios_base_showbase_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_showpoint",_wrap_ios_base_showpoint_get, _wrap_ios_base_showpoint_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_showpos",_wrap_ios_base_showpos_get, _wrap_ios_base_showpos_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_skipws",_wrap_ios_base_skipws_get, _wrap_ios_base_skipws_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_unitbuf",_wrap_ios_base_unitbuf_get, _wrap_ios_base_unitbuf_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_uppercase",_wrap_ios_base_uppercase_get, _wrap_ios_base_uppercase_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_adjustfield",_wrap_ios_base_adjustfield_get, _wrap_ios_base_adjustfield_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_basefield",_wrap_ios_base_basefield_get, _wrap_ios_base_basefield_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_floatfield",_wrap_ios_base_floatfield_get, _wrap_ios_base_floatfield_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_badbit",_wrap_ios_base_badbit_get, _wrap_ios_base_badbit_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_eofbit",_wrap_ios_base_eofbit_get, _wrap_ios_base_eofbit_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_failbit",_wrap_ios_base_failbit_get, _wrap_ios_base_failbit_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_goodbit",_wrap_ios_base_goodbit_get, _wrap_ios_base_goodbit_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_app",_wrap_ios_base_app_get, _wrap_ios_base_app_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_ate",_wrap_ios_base_ate_get, _wrap_ios_base_ate_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_binary",_wrap_ios_base_binary_get, _wrap_ios_base_binary_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_ios_base_in",_wrap_ios_base_ios_base_in_get, _wrap_ios_base_ios_base_in_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_out",_wrap_ios_base_out_get, _wrap_ios_base_out_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_trunc",_wrap_ios_base_trunc_get, _wrap_ios_base_trunc_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_beg",_wrap_ios_base_beg_get, _wrap_ios_base_beg_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_cur",_wrap_ios_base_cur_get, _wrap_ios_base_cur_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"ios_base_end",_wrap_ios_base_end_get, _wrap_ios_base_end_set);
+ {
+ PyDict_SetItemString(d,"ios_base_erase_event", SWIG_From_int((int)(std::ios_base::erase_event)));
+ }
+ {
+ PyDict_SetItemString(d,"ios_base_imbue_event", SWIG_From_int((int)(std::ios_base::imbue_event)));
+ }
+ {
+ PyDict_SetItemString(d,"ios_base_copyfmt_event", SWIG_From_int((int)(std::ios_base::copyfmt_event)));
+ }
+ SWIG_addvarlink(SWIG_globals,(char*)"cin",_wrap_cin_get, _wrap_cin_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"cout",_wrap_cout_get, _wrap_cout_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"cerr",_wrap_cerr_get, _wrap_cerr_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"clog",_wrap_clog_get, _wrap_clog_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"PI",_wrap_PI_get, _wrap_PI_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"TWO_PI",_wrap_TWO_PI_get, _wrap_TWO_PI_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"SQRT_PI",_wrap_SQRT_PI_get, _wrap_SQRT_PI_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"REL_CONST",_wrap_REL_CONST_get, _wrap_REL_CONST_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"OSC_FREQ",_wrap_OSC_FREQ_get, _wrap_OSC_FREQ_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"C_GPS_M",_wrap_C_GPS_M_get, _wrap_C_GPS_M_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RSVCLK",_wrap_RSVCLK_get, _wrap_RSVCLK_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"L1_FREQ",_wrap_L1_FREQ_get, _wrap_L1_FREQ_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"L2_FREQ",_wrap_L2_FREQ_get, _wrap_L2_FREQ_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"L1_MULT",_wrap_L1_MULT_get, _wrap_L1_MULT_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"L2_MULT",_wrap_L2_MULT_get, _wrap_L2_MULT_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"SV_ACCURACY_MAX_INDEX_VALUE",_wrap_SV_ACCURACY_MAX_INDEX_VALUE_get, _wrap_SV_ACCURACY_MAX_INDEX_VALUE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"SV_ACCURACY_MIN_INDEX",_wrap_SV_ACCURACY_MIN_INDEX_get, _wrap_SV_ACCURACY_MIN_INDEX_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"SV_ACCURACY_MAX_INDEX",_wrap_SV_ACCURACY_MAX_INDEX_get, _wrap_SV_ACCURACY_MAX_INDEX_set);
+ {
+ PyDict_SetItemString(d,"Exception_unrecoverable", SWIG_From_int((int)(gpstk::Exception::unrecoverable)));
+ }
+ {
+ PyDict_SetItemString(d,"Exception_recoverable", SWIG_From_int((int)(gpstk::Exception::recoverable)));
+ }
+ SWIG_addvarlink(SWIG_globals,(char*)"LENGTH_OF_EOW_OVERLAP",_wrap_LENGTH_OF_EOW_OVERLAP_get, _wrap_LENGTH_OF_EOW_OVERLAP_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"OVERLAP_WORD_POSITION",_wrap_OVERLAP_WORD_POSITION_get, _wrap_OVERLAP_WORD_POSITION_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"MAX_X2_TEST",_wrap_MAX_X2_TEST_get, _wrap_MAX_X2_TEST_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"MAX_X2_COUNT",_wrap_MAX_X2_COUNT_get, _wrap_MAX_X2_COUNT_set);
+ {
+ PyDict_SetItemString(d,"SatID_systemGPS", SWIG_From_int((int)(gpstk::SatID::systemGPS)));
+ }
+ {
+ PyDict_SetItemString(d,"SatID_systemGlonass", SWIG_From_int((int)(gpstk::SatID::systemGlonass)));
+ }
+ {
+ PyDict_SetItemString(d,"SatID_systemTransit", SWIG_From_int((int)(gpstk::SatID::systemTransit)));
+ }
+ {
+ PyDict_SetItemString(d,"SatID_systemGeosync", SWIG_From_int((int)(gpstk::SatID::systemGeosync)));
+ }
+ {
+ PyDict_SetItemString(d,"SatID_systemMixed", SWIG_From_int((int)(gpstk::SatID::systemMixed)));
+ }
+ SWIG_addvarlink(SWIG_globals,(char*)"SatID_fillchar",_wrap_SatID_fillchar_get, _wrap_SatID_fillchar_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"MAX_WORD",_wrap_MAX_WORD_get, _wrap_MAX_WORD_set);
+ {
+ PyDict_SetItemString(d,"Observation_rcCA", SWIG_From_int((int)(gpstk::Observation::rcCA)));
+ }
+ {
+ PyDict_SetItemString(d,"Observation_rcPY", SWIG_From_int((int)(gpstk::Observation::rcPY)));
+ }
+ {
+ PyDict_SetItemString(d,"Observation_rcZ", SWIG_From_int((int)(gpstk::Observation::rcZ)));
+ }
+ {
+ PyDict_SetItemString(d,"Observation_rcRC", SWIG_From_int((int)(gpstk::Observation::rcRC)));
+ }
+ {
+ PyDict_SetItemString(d,"Observation_rcOther", SWIG_From_int((int)(gpstk::Observation::rcOther)));
+ }
+ {
+ PyDict_SetItemString(d,"Observation_cfL1", SWIG_From_int((int)(gpstk::Observation::cfL1)));
+ }
+ {
+ PyDict_SetItemString(d,"Observation_cfL2", SWIG_From_int((int)(gpstk::Observation::cfL2)));
+ }
+ {
+ PyDict_SetItemString(d,"Observation_cfL5", SWIG_From_int((int)(gpstk::Observation::cfL5)));
+ }
+ {
+ PyDict_SetItemString(d,"Observation_cfOther", SWIG_From_int((int)(gpstk::Observation::cfOther)));
+ }
+ {
+ PyDict_SetItemString(d,"WxObservation_noWx", SWIG_From_int((int)(gpstk::WxObservation::noWx)));
+ }
+ {
+ PyDict_SetItemString(d,"WxObservation_defWx", SWIG_From_int((int)(gpstk::WxObservation::defWx)));
+ }
+ {
+ PyDict_SetItemString(d,"WxObservation_obsWx", SWIG_From_int((int)(gpstk::WxObservation::obsWx)));
+ }
+ {
+ PyDict_SetItemString(d,"IonoModel_L1", SWIG_From_int((int)(gpstk::IonoModel::L1)));
+ }
+ {
+ PyDict_SetItemString(d,"IonoModel_L2", SWIG_From_int((int)(gpstk::IonoModel::L2)));
+ }
+ {
+ PyDict_SetItemString(d,"ObsClockModel_IGNORE", SWIG_From_int((int)(gpstk::ObsClockModel::IGNORE)));
+ }
+ {
+ PyDict_SetItemString(d,"ObsClockModel_HEALTHY", SWIG_From_int((int)(gpstk::ObsClockModel::HEALTHY)));
+ }
+ {
+ PyDict_SetItemString(d,"ObsClockModel_ALWAYS", SWIG_From_int((int)(gpstk::ObsClockModel::ALWAYS)));
+ }
+ {
+ PyDict_SetItemString(d,"ObsClockModel_USED", SWIG_From_int((int)(gpstk::ObsClockModel::USED)));
+ }
+ {
+ PyDict_SetItemString(d,"ObsClockModel_MANUAL", SWIG_From_int((int)(gpstk::ObsClockModel::MANUAL)));
+ }
+ {
+ PyDict_SetItemString(d,"ObsClockModel_SVHEALTH", SWIG_From_int((int)(gpstk::ObsClockModel::SVHEALTH)));
+ }
+ {
+ PyDict_SetItemString(d,"ObsClockModel_ELEVATION", SWIG_From_int((int)(gpstk::ObsClockModel::ELEVATION)));
+ }
+ {
+ PyDict_SetItemString(d,"ObsClockModel_SIGMA", SWIG_From_int((int)(gpstk::ObsClockModel::SIGMA)));
+ }
+ {
+ PyDict_SetItemString(d,"FileHunter_WEEK", SWIG_From_int((int)(gpstk::FileHunter::WEEK)));
+ }
+ {
+ PyDict_SetItemString(d,"FileHunter_DAY", SWIG_From_int((int)(gpstk::FileHunter::DAY)));
+ }
+ {
+ PyDict_SetItemString(d,"FileHunter_HOUR", SWIG_From_int((int)(gpstk::FileHunter::HOUR)));
+ }
+ {
+ PyDict_SetItemString(d,"FileHunter_MINUTE", SWIG_From_int((int)(gpstk::FileHunter::MINUTE)));
+ }
+ {
+ PyDict_SetItemString(d,"SMODFStream_undefined", SWIG_From_int((int)(gpstk::SMODFStream::undefined)));
+ }
+ {
+ PyDict_SetItemString(d,"SMODFStream_legacy", SWIG_From_int((int)(gpstk::SMODFStream::legacy)));
+ }
+ {
+ PyDict_SetItemString(d,"SMODFStream_icd211", SWIG_From_int((int)(gpstk::SMODFStream::icd211)));
+ }
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_C1depend",_wrap_RinexObsType_C1depend_get, _wrap_RinexObsType_C1depend_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_L1depend",_wrap_RinexObsType_L1depend_get, _wrap_RinexObsType_L1depend_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_L2depend",_wrap_RinexObsType_L2depend_get, _wrap_RinexObsType_L2depend_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_P1depend",_wrap_RinexObsType_P1depend_get, _wrap_RinexObsType_P1depend_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_P2depend",_wrap_RinexObsType_P2depend_get, _wrap_RinexObsType_P2depend_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_EPdepend",_wrap_RinexObsType_EPdepend_get, _wrap_RinexObsType_EPdepend_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_PSdepend",_wrap_RinexObsType_PSdepend_get, _wrap_RinexObsType_PSdepend_set);
+ {
+ PyDict_SetItemString(d,"systemGPS", SWIG_From_int((int)(gpstk::systemGPS)));
+ }
+ {
+ PyDict_SetItemString(d,"systemGlonass", SWIG_From_int((int)(gpstk::systemGlonass)));
+ }
+ {
+ PyDict_SetItemString(d,"systemTransit", SWIG_From_int((int)(gpstk::systemTransit)));
+ }
+ {
+ PyDict_SetItemString(d,"systemGeosync", SWIG_From_int((int)(gpstk::systemGeosync)));
+ }
+ {
+ PyDict_SetItemString(d,"systemMixed", SWIG_From_int((int)(gpstk::systemMixed)));
+ }
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexPrn_fillchar",_wrap_RinexPrn_fillchar_get, _wrap_RinexPrn_fillchar_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_versionString",_wrap_RinexObsHeader_versionString_get, _wrap_RinexObsHeader_versionString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_runByString",_wrap_RinexObsHeader_runByString_get, _wrap_RinexObsHeader_runByString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_commentString",_wrap_RinexObsHeader_commentString_get, _wrap_RinexObsHeader_commentString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_markerNameString",_wrap_RinexObsHeader_markerNameString_get, _wrap_RinexObsHeader_markerNameString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_markerNumberString",_wrap_RinexObsHeader_markerNumberString_get, _wrap_RinexObsHeader_markerNumberString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_observerString",_wrap_RinexObsHeader_observerString_get, _wrap_RinexObsHeader_observerString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_receiverString",_wrap_RinexObsHeader_receiverString_get, _wrap_RinexObsHeader_receiverString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_antennaTypeString",_wrap_RinexObsHeader_antennaTypeString_get, _wrap_RinexObsHeader_antennaTypeString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_antennaPositionString",_wrap_RinexObsHeader_antennaPositionString_get, _wrap_RinexObsHeader_antennaPositionString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_antennaOffsetString",_wrap_RinexObsHeader_antennaOffsetString_get, _wrap_RinexObsHeader_antennaOffsetString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_waveFactString",_wrap_RinexObsHeader_waveFactString_get, _wrap_RinexObsHeader_waveFactString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_numObsString",_wrap_RinexObsHeader_numObsString_get, _wrap_RinexObsHeader_numObsString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_intervalString",_wrap_RinexObsHeader_intervalString_get, _wrap_RinexObsHeader_intervalString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_firstTimeString",_wrap_RinexObsHeader_firstTimeString_get, _wrap_RinexObsHeader_firstTimeString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_lastTimeString",_wrap_RinexObsHeader_lastTimeString_get, _wrap_RinexObsHeader_lastTimeString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_receiverOffsetString",_wrap_RinexObsHeader_receiverOffsetString_get, _wrap_RinexObsHeader_receiverOffsetString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_leapSecondsString",_wrap_RinexObsHeader_leapSecondsString_get, _wrap_RinexObsHeader_leapSecondsString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_numSatsString",_wrap_RinexObsHeader_numSatsString_get, _wrap_RinexObsHeader_numSatsString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_prnObsString",_wrap_RinexObsHeader_prnObsString_get, _wrap_RinexObsHeader_prnObsString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_endOfHeader",_wrap_RinexObsHeader_endOfHeader_get, _wrap_RinexObsHeader_endOfHeader_set);
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_versionValid", SWIG_From_int((int)(gpstk::RinexObsHeader::versionValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_runByValid", SWIG_From_int((int)(gpstk::RinexObsHeader::runByValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_commentValid", SWIG_From_int((int)(gpstk::RinexObsHeader::commentValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_markerNameValid", SWIG_From_int((int)(gpstk::RinexObsHeader::markerNameValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_markerNumberValid", SWIG_From_int((int)(gpstk::RinexObsHeader::markerNumberValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_observerValid", SWIG_From_int((int)(gpstk::RinexObsHeader::observerValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_receiverValid", SWIG_From_int((int)(gpstk::RinexObsHeader::receiverValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_antennaTypeValid", SWIG_From_int((int)(gpstk::RinexObsHeader::antennaTypeValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_antennaPositionValid", SWIG_From_int((int)(gpstk::RinexObsHeader::antennaPositionValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_antennaOffsetValid", SWIG_From_int((int)(gpstk::RinexObsHeader::antennaOffsetValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_waveFactValid", SWIG_From_int((int)(gpstk::RinexObsHeader::waveFactValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_obsTypeValid", SWIG_From_int((int)(gpstk::RinexObsHeader::obsTypeValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_intervalValid", SWIG_From_int((int)(gpstk::RinexObsHeader::intervalValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_firstTimeValid", SWIG_From_int((int)(gpstk::RinexObsHeader::firstTimeValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_lastTimeValid", SWIG_From_int((int)(gpstk::RinexObsHeader::lastTimeValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_receiverOffsetValid", SWIG_From_int((int)(gpstk::RinexObsHeader::receiverOffsetValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_leapSecondsValid", SWIG_From_int((int)(gpstk::RinexObsHeader::leapSecondsValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_numSatsValid", SWIG_From_int((int)(gpstk::RinexObsHeader::numSatsValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_prnObsValid", SWIG_From_int((int)(gpstk::RinexObsHeader::prnObsValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_endValid", SWIG_From_int((int)(gpstk::RinexObsHeader::endValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_allValid20", SWIG_From_int((int)(gpstk::RinexObsHeader::allValid20)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexObsHeader_allValid21", SWIG_From_int((int)(gpstk::RinexObsHeader::allValid21)));
+ }
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_UN",_wrap_RinexObsHeader_UN_get, _wrap_RinexObsHeader_UN_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_L1",_wrap_RinexObsHeader_L1_get, _wrap_RinexObsHeader_L1_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_L2",_wrap_RinexObsHeader_L2_get, _wrap_RinexObsHeader_L2_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_C1",_wrap_RinexObsHeader_C1_get, _wrap_RinexObsHeader_C1_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_P1",_wrap_RinexObsHeader_P1_get, _wrap_RinexObsHeader_P1_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_P2",_wrap_RinexObsHeader_P2_get, _wrap_RinexObsHeader_P2_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_D1",_wrap_RinexObsHeader_D1_get, _wrap_RinexObsHeader_D1_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_D2",_wrap_RinexObsHeader_D2_get, _wrap_RinexObsHeader_D2_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_S1",_wrap_RinexObsHeader_S1_get, _wrap_RinexObsHeader_S1_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_S2",_wrap_RinexObsHeader_S2_get, _wrap_RinexObsHeader_S2_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_T1",_wrap_RinexObsHeader_T1_get, _wrap_RinexObsHeader_T1_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_T2",_wrap_RinexObsHeader_T2_get, _wrap_RinexObsHeader_T2_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_StandardRinexObsTypes",_wrap_RinexObsHeader_StandardRinexObsTypes_get, _wrap_RinexObsHeader_StandardRinexObsTypes_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_RegisteredRinexObsTypes",_wrap_RinexObsHeader_RegisteredRinexObsTypes_get, _wrap_RinexObsHeader_RegisteredRinexObsTypes_set);
+ {
+ PyDict_SetItemString(d,"RinexNavHeader_versionValid", SWIG_From_int((int)(gpstk::RinexNavHeader::versionValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexNavHeader_runByValid", SWIG_From_int((int)(gpstk::RinexNavHeader::runByValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexNavHeader_commentValid", SWIG_From_int((int)(gpstk::RinexNavHeader::commentValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexNavHeader_ionAlphaValid", SWIG_From_int((int)(gpstk::RinexNavHeader::ionAlphaValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexNavHeader_ionBetaValid", SWIG_From_int((int)(gpstk::RinexNavHeader::ionBetaValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexNavHeader_deltaUTCValid", SWIG_From_int((int)(gpstk::RinexNavHeader::deltaUTCValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexNavHeader_leapSecondsValid", SWIG_From_int((int)(gpstk::RinexNavHeader::leapSecondsValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexNavHeader_endValid", SWIG_From_int((int)(gpstk::RinexNavHeader::endValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexNavHeader_allValid20", SWIG_From_int((int)(gpstk::RinexNavHeader::allValid20)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexNavHeader_allValid21", SWIG_From_int((int)(gpstk::RinexNavHeader::allValid21)));
+ }
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_versionString",_wrap_RinexNavHeader_versionString_get, _wrap_RinexNavHeader_versionString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_runByString",_wrap_RinexNavHeader_runByString_get, _wrap_RinexNavHeader_runByString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_commentString",_wrap_RinexNavHeader_commentString_get, _wrap_RinexNavHeader_commentString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_ionAlphaString",_wrap_RinexNavHeader_ionAlphaString_get, _wrap_RinexNavHeader_ionAlphaString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_ionBetaString",_wrap_RinexNavHeader_ionBetaString_get, _wrap_RinexNavHeader_ionBetaString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_deltaUTCString",_wrap_RinexNavHeader_deltaUTCString_get, _wrap_RinexNavHeader_deltaUTCString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_leapSecondsString",_wrap_RinexNavHeader_leapSecondsString_get, _wrap_RinexNavHeader_leapSecondsString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_endOfHeader",_wrap_RinexNavHeader_endOfHeader_get, _wrap_RinexNavHeader_endOfHeader_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"FICData_blockString",_wrap_FICData_blockString_get, _wrap_FICData_blockString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"FICHeader_headerSize",_wrap_FICHeader_headerSize_get, _wrap_FICHeader_headerSize_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexMetData_maxObsPerLine",_wrap_RinexMetData_maxObsPerLine_get, _wrap_RinexMetData_maxObsPerLine_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexMetData_maxObsPerContinuationLine",_wrap_RinexMetData_maxObsPerContinuationLine_get, _wrap_RinexMetData_maxObsPerContinuationLine_set);
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_PR", SWIG_From_int((int)(gpstk::RinexMetHeader::PR)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_TD", SWIG_From_int((int)(gpstk::RinexMetHeader::TD)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_HR", SWIG_From_int((int)(gpstk::RinexMetHeader::HR)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_ZW", SWIG_From_int((int)(gpstk::RinexMetHeader::ZW)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_ZD", SWIG_From_int((int)(gpstk::RinexMetHeader::ZD)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_ZT", SWIG_From_int((int)(gpstk::RinexMetHeader::ZT)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_versionValid", SWIG_From_int((int)(gpstk::RinexMetHeader::versionValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_runByValid", SWIG_From_int((int)(gpstk::RinexMetHeader::runByValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_commentValid", SWIG_From_int((int)(gpstk::RinexMetHeader::commentValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_markerNameValid", SWIG_From_int((int)(gpstk::RinexMetHeader::markerNameValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_markerNumberValid", SWIG_From_int((int)(gpstk::RinexMetHeader::markerNumberValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_obsTypeValid", SWIG_From_int((int)(gpstk::RinexMetHeader::obsTypeValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_sensorTypeValid", SWIG_From_int((int)(gpstk::RinexMetHeader::sensorTypeValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_sensorPosValid", SWIG_From_int((int)(gpstk::RinexMetHeader::sensorPosValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_endValid", SWIG_From_int((int)(gpstk::RinexMetHeader::endValid)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_allValid20", SWIG_From_int((int)(gpstk::RinexMetHeader::allValid20)));
+ }
+ {
+ PyDict_SetItemString(d,"RinexMetHeader_allValid21", SWIG_From_int((int)(gpstk::RinexMetHeader::allValid21)));
+ }
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_maxObsPerLine",_wrap_RinexMetHeader_maxObsPerLine_get, _wrap_RinexMetHeader_maxObsPerLine_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_versionString",_wrap_RinexMetHeader_versionString_get, _wrap_RinexMetHeader_versionString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_runByString",_wrap_RinexMetHeader_runByString_get, _wrap_RinexMetHeader_runByString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_commentString",_wrap_RinexMetHeader_commentString_get, _wrap_RinexMetHeader_commentString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_markerNameString",_wrap_RinexMetHeader_markerNameString_get, _wrap_RinexMetHeader_markerNameString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_markerNumberString",_wrap_RinexMetHeader_markerNumberString_get, _wrap_RinexMetHeader_markerNumberString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_obsTypeString",_wrap_RinexMetHeader_obsTypeString_get, _wrap_RinexMetHeader_obsTypeString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_sensorTypeString",_wrap_RinexMetHeader_sensorTypeString_get, _wrap_RinexMetHeader_sensorTypeString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_sensorPosString",_wrap_RinexMetHeader_sensorPosString_get, _wrap_RinexMetHeader_sensorPosString_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_endOfHeader",_wrap_RinexMetHeader_endOfHeader_get, _wrap_RinexMetHeader_endOfHeader_set);
+ {
+ PyDict_SetItemString(d,"Position_Unknown", SWIG_From_int((int)(gpstk::Position::Unknown)));
+ }
+ {
+ PyDict_SetItemString(d,"Position_Geodetic", SWIG_From_int((int)(gpstk::Position::Geodetic)));
+ }
+ {
+ PyDict_SetItemString(d,"Position_Geocentric", SWIG_From_int((int)(gpstk::Position::Geocentric)));
+ }
+ {
+ PyDict_SetItemString(d,"Position_Cartesian", SWIG_From_int((int)(gpstk::Position::Cartesian)));
+ }
+ {
+ PyDict_SetItemString(d,"Position_Spherical", SWIG_From_int((int)(gpstk::Position::Spherical)));
+ }
+ SWIG_addvarlink(SWIG_globals,(char*)"Position_ONE_MM_TOLERANCE",_wrap_Position_ONE_MM_TOLERANCE_get, _wrap_Position_ONE_MM_TOLERANCE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"Position_ONE_CM_TOLERANCE",_wrap_Position_ONE_CM_TOLERANCE_get, _wrap_Position_ONE_CM_TOLERANCE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"Position_ONE_UM_TOLERANCE",_wrap_Position_ONE_UM_TOLERANCE_get, _wrap_Position_ONE_UM_TOLERANCE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"Position_POSITION_TOLERANCE",_wrap_Position_POSITION_TOLERANCE_get, _wrap_Position_POSITION_TOLERANCE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"GPSZcount_ZCOUNT_MINUTE",_wrap_GPSZcount_ZCOUNT_MINUTE_get, _wrap_GPSZcount_ZCOUNT_MINUTE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"GPSZcount_ZCOUNT_HOUR",_wrap_GPSZcount_ZCOUNT_HOUR_get, _wrap_GPSZcount_ZCOUNT_HOUR_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"GPSZcount_ZCOUNT_DAY",_wrap_GPSZcount_ZCOUNT_DAY_get, _wrap_GPSZcount_ZCOUNT_DAY_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"GPSZcount_ZCOUNT_WEEK",_wrap_GPSZcount_ZCOUNT_WEEK_get, _wrap_GPSZcount_ZCOUNT_WEEK_set);
+ {
+ PyDict_SetItemString(d,"DayTime_Unknown", SWIG_From_int((int)(gpstk::DayTime::Unknown)));
+ }
+ {
+ PyDict_SetItemString(d,"DayTime_UTC", SWIG_From_int((int)(gpstk::DayTime::UTC)));
+ }
+ {
+ PyDict_SetItemString(d,"DayTime_LocalSystem", SWIG_From_int((int)(gpstk::DayTime::LocalSystem)));
+ }
+ {
+ PyDict_SetItemString(d,"DayTime_GPS_Tx", SWIG_From_int((int)(gpstk::DayTime::GPS_Tx)));
+ }
+ {
+ PyDict_SetItemString(d,"DayTime_GPS_Rx", SWIG_From_int((int)(gpstk::DayTime::GPS_Rx)));
+ }
+ {
+ PyDict_SetItemString(d,"DayTime_GPS_SV", SWIG_From_int((int)(gpstk::DayTime::GPS_SV)));
+ }
+ {
+ PyDict_SetItemString(d,"DayTime_GPS_Receiver", SWIG_From_int((int)(gpstk::DayTime::GPS_Receiver)));
+ }
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_FACTOR",_wrap_DayTime_FACTOR_get, _wrap_DayTime_FACTOR_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_JD_TO_MJD",_wrap_DayTime_JD_TO_MJD_get, _wrap_DayTime_JD_TO_MJD_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_MJD_JDAY",_wrap_DayTime_MJD_JDAY_get, _wrap_DayTime_MJD_JDAY_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_GPS_EPOCH_JDAY",_wrap_DayTime_GPS_EPOCH_JDAY_get, _wrap_DayTime_GPS_EPOCH_JDAY_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_GPS_EPOCH_MJD",_wrap_DayTime_GPS_EPOCH_MJD_get, _wrap_DayTime_GPS_EPOCH_MJD_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_UNIX_MJD",_wrap_DayTime_UNIX_MJD_get, _wrap_DayTime_UNIX_MJD_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_HALFWEEK",_wrap_DayTime_HALFWEEK_get, _wrap_DayTime_HALFWEEK_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_FULLWEEK",_wrap_DayTime_FULLWEEK_get, _wrap_DayTime_FULLWEEK_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_SEC_DAY",_wrap_DayTime_SEC_DAY_get, _wrap_DayTime_SEC_DAY_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_MS_PER_DAY",_wrap_DayTime_MS_PER_DAY_get, _wrap_DayTime_MS_PER_DAY_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_ONE_NSEC_TOLERANCE",_wrap_DayTime_ONE_NSEC_TOLERANCE_get, _wrap_DayTime_ONE_NSEC_TOLERANCE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_ONE_USEC_TOLERANCE",_wrap_DayTime_ONE_USEC_TOLERANCE_get, _wrap_DayTime_ONE_USEC_TOLERANCE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_ONE_MSEC_TOLERANCE",_wrap_DayTime_ONE_MSEC_TOLERANCE_get, _wrap_DayTime_ONE_MSEC_TOLERANCE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_ONE_SEC_TOLERANCE",_wrap_DayTime_ONE_SEC_TOLERANCE_get, _wrap_DayTime_ONE_SEC_TOLERANCE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_ONE_MIN_TOLERANCE",_wrap_DayTime_ONE_MIN_TOLERANCE_get, _wrap_DayTime_ONE_MIN_TOLERANCE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_ONE_HOUR_TOLERANCE",_wrap_DayTime_ONE_HOUR_TOLERANCE_get, _wrap_DayTime_ONE_HOUR_TOLERANCE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_DAYTIME_TOLERANCE",_wrap_DayTime_DAYTIME_TOLERANCE_get, _wrap_DayTime_DAYTIME_TOLERANCE_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_BEGIN_LIMIT_JDAY",_wrap_DayTime_BEGIN_LIMIT_JDAY_get, _wrap_DayTime_BEGIN_LIMIT_JDAY_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_END_LIMIT_JDAY",_wrap_DayTime_END_LIMIT_JDAY_get, _wrap_DayTime_END_LIMIT_JDAY_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_BEGINNING_OF_TIME",_wrap_DayTime_BEGINNING_OF_TIME_get, _wrap_DayTime_BEGINNING_OF_TIME_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_END_OF_TIME",_wrap_DayTime_END_OF_TIME_get, _wrap_DayTime_END_OF_TIME_set);
+ SWIG_addvarlink(SWIG_globals,(char*)"DayTime_DAYTIME_TEST_VALID",_wrap_DayTime_DAYTIME_TEST_VALID_get, _wrap_DayTime_DAYTIME_TEST_VALID_set);
+}
+
diff --git a/trunk/apps/bindings/python/pydoc.py b/trunk/apps/bindings/python/pydoc.py
new file mode 100755
index 0000000..7480d83
--- /dev/null
+++ b/trunk/apps/bindings/python/pydoc.py
@@ -0,0 +1,2142 @@
+#! /usr/bin/env python2.3
+# -*- coding: Latin-1 -*-
+"""Generate Python documentation in HTML or text for interactive use.
+
+In the Python interpreter, do "from pydoc import help" to provide online
+help. Calling help(thing) on a Python object documents the object.
+
+Or, at the shell command line outside of Python:
+
+Run "pydoc <name>" to show documentation on something. <name> may be
+the name of a function, module, package, or a dotted reference to a
+class or function within a module or module in a package. If the
+argument contains a path segment delimiter (e.g. slash on Unix,
+backslash on Windows) it is treated as the path to a Python source file.
+
+Run "pydoc -k <keyword>" to search for a keyword in the synopsis lines
+of all available modules.
+
+Run "pydoc -p <port>" to start an HTTP server on a given port on the
+local machine to generate documentation web pages.
+
+Run "pydoc -w <name>" to write out the HTML documentation for a module
+to a file named "<name>.html".
+"""
+
+__author__ = "Ka-Ping Yee <ping at lfw.org>"
+__date__ = "26 February 2001"
+__version__ = "$Revision: 1.86.8.1 $"
+__credits__ = """Guido van Rossum, for an excellent programming language.
+Tommy Burnette, the original creator of manpy.
+Paul Prescod, for all his work on onlinehelp.
+Richard Chamberlain, for the first implementation of textdoc.
+
+Mynd you, m��se bites Kan be pretty nasti..."""
+
+# Known bugs that can't be fixed here:
+# - imp.load_module() cannot be prevented from clobbering existing
+# loaded modules, so calling synopsis() on a binary module file
+# changes the contents of any existing module with the same name.
+# - If the __file__ attribute on a module is a relative path and
+# the current directory is changed with os.chdir(), an incorrect
+# path will be displayed.
+
+import sys, imp, os, re, types, inspect, __builtin__
+from repr import Repr
+from string import expandtabs, find, join, lower, split, strip, rfind, rstrip
+
+# --------------------------------------------------------- common routines
+
+def pathdirs():
+ """Convert sys.path into a list of absolute, existing, unique paths."""
+ dirs = []
+ normdirs = []
+ for dir in sys.path:
+ dir = os.path.abspath(dir or '.')
+ normdir = os.path.normcase(dir)
+ if normdir not in normdirs and os.path.isdir(dir):
+ dirs.append(dir)
+ normdirs.append(normdir)
+ return dirs
+
+def getdoc(object):
+ """Get the doc string or comments for an object."""
+ result = inspect.getdoc(object) or inspect.getcomments(object)
+ return result and re.sub('^ *\n', '', rstrip(result)) or ''
+
+def splitdoc(doc):
+ """Split a doc string into a synopsis line (if any) and the rest."""
+ lines = split(strip(doc), '\n')
+ if len(lines) == 1:
+ return lines[0], ''
+ elif len(lines) >= 2 and not rstrip(lines[1]):
+ return lines[0], join(lines[2:], '\n')
+ return '', join(lines, '\n')
+
+def classname(object, modname):
+ """Get a class name and qualify it with a module name if necessary."""
+ name = object.__name__
+ if object.__module__ != modname:
+ name = object.__module__ + '.' + name
+ return name
+
+def isdata(object):
+ """Check if an object is of a type that probably means it's data."""
+ return not (inspect.ismodule(object) or inspect.isclass(object) or
+ inspect.isroutine(object) or inspect.isframe(object) or
+ inspect.istraceback(object) or inspect.iscode(object))
+
+def replace(text, *pairs):
+ """Do a series of global replacements on a string."""
+ while pairs:
+ text = join(split(text, pairs[0]), pairs[1])
+ pairs = pairs[2:]
+ return text
+
+def cram(text, maxlen):
+ """Omit part of a string if needed to make it fit in a maximum length."""
+ if len(text) > maxlen:
+ pre = max(0, (maxlen-3)//2)
+ post = max(0, maxlen-3-pre)
+ return text[:pre] + '...' + text[len(text)-post:]
+ return text
+
+def stripid(text):
+ """Remove the hexadecimal id from a Python object representation."""
+ # The behaviour of %p is implementation-dependent; we check two cases.
+ for pattern in [' at 0x[0-9a-f]{6,}(>+)$', ' at [0-9A-F]{8,}(>+)$']:
+ if re.search(pattern, repr(Exception)):
+ return re.sub(pattern, '\\1', text)
+ return text
+
+def _is_some_method(object):
+ return inspect.ismethod(object) or inspect.ismethoddescriptor(object)
+
+def allmethods(cl):
+ methods = {}
+ for key, value in inspect.getmembers(cl, _is_some_method):
+ methods[key] = 1
+ for base in cl.__bases__:
+ methods.update(allmethods(base)) # all your base are belong to us
+ for key in methods.keys():
+ methods[key] = getattr(cl, key)
+ return methods
+
+def _split_list(s, predicate):
+ """Split sequence s via predicate, and return pair ([true], [false]).
+
+ The return value is a 2-tuple of lists,
+ ([x for x in s if predicate(x)],
+ [x for x in s if not predicate(x)])
+ """
+
+ yes = []
+ no = []
+ for x in s:
+ if predicate(x):
+ yes.append(x)
+ else:
+ no.append(x)
+ return yes, no
+
+def visiblename(name):
+ """Decide whether to show documentation on a variable."""
+ # Certain special names are redundant.
+ if name in ['__builtins__', '__doc__', '__file__', '__path__',
+ '__module__', '__name__']: return 0
+ # Private names are hidden, but special names are displayed.
+ if name.startswith('__') and name.endswith('__'): return 1
+ return not name.startswith('_')
+
+# ----------------------------------------------------- module manipulation
+
+def ispackage(path):
+ """Guess whether a path refers to a package directory."""
+ if os.path.isdir(path):
+ for ext in ['.py', '.pyc', '.pyo']:
+ if os.path.isfile(os.path.join(path, '__init__' + ext)):
+ return True
+ return False
+
+def synopsis(filename, cache={}):
+ """Get the one-line summary out of a module file."""
+ mtime = os.stat(filename).st_mtime
+ lastupdate, result = cache.get(filename, (0, None))
+ if lastupdate < mtime:
+ info = inspect.getmoduleinfo(filename)
+ file = open(filename)
+ if info and 'b' in info[2]: # binary modules have to be imported
+ try: module = imp.load_module('__temp__', file, filename, info[1:])
+ except: return None
+ result = split(module.__doc__ or '', '\n')[0]
+ del sys.modules['__temp__']
+ else: # text modules can be directly examined
+ line = file.readline()
+ while line[:1] == '#' or not strip(line):
+ line = file.readline()
+ if not line: break
+ line = strip(line)
+ if line[:4] == 'r"""': line = line[1:]
+ if line[:3] == '"""':
+ line = line[3:]
+ if line[-1:] == '\\': line = line[:-1]
+ while not strip(line):
+ line = file.readline()
+ if not line: break
+ result = strip(split(line, '"""')[0])
+ else: result = None
+ file.close()
+ cache[filename] = (mtime, result)
+ return result
+
+class ErrorDuringImport(Exception):
+ """Errors that occurred while trying to import something to document it."""
+ def __init__(self, filename, (exc, value, tb)):
+ self.filename = filename
+ self.exc = exc
+ self.value = value
+ self.tb = tb
+
+ def __str__(self):
+ exc = self.exc
+ if type(exc) is types.ClassType:
+ exc = exc.__name__
+ return 'problem in %s - %s: %s' % (self.filename, exc, self.value)
+
+def importfile(path):
+ """Import a Python source file or compiled file given its path."""
+ magic = imp.get_magic()
+ file = open(path, 'r')
+ if file.read(len(magic)) == magic:
+ kind = imp.PY_COMPILED
+ else:
+ kind = imp.PY_SOURCE
+ file.close()
+ filename = os.path.basename(path)
+ name, ext = os.path.splitext(filename)
+ file = open(path, 'r')
+ try:
+ module = imp.load_module(name, file, path, (ext, 'r', kind))
+ except:
+ raise ErrorDuringImport(path, sys.exc_info())
+ file.close()
+ return module
+
+def safeimport(path, forceload=0, cache={}):
+ """Import a module; handle errors; return None if the module isn't found.
+
+ If the module *is* found but an exception occurs, it's wrapped in an
+ ErrorDuringImport exception and reraised. Unlike __import__, if a
+ package path is specified, the module at the end of the path is returned,
+ not the package at the beginning. If the optional 'forceload' argument
+ is 1, we reload the module from disk (unless it's a dynamic extension)."""
+ if forceload and path in sys.modules:
+ # This is the only way to be sure. Checking the mtime of the file
+ # isn't good enough (e.g. what if the module contains a class that
+ # inherits from another module that has changed?).
+ if path not in sys.builtin_module_names:
+ # Python never loads a dynamic extension a second time from the
+ # same path, even if the file is changed or missing. Deleting
+ # the entry in sys.modules doesn't help for dynamic extensions,
+ # so we're not even going to try to keep them up to date.
+ info = inspect.getmoduleinfo(sys.modules[path].__file__)
+ if info[3] != imp.C_EXTENSION:
+ cache[path] = sys.modules[path] # prevent module from clearing
+ del sys.modules[path]
+ try:
+ module = __import__(path)
+ except:
+ # Did the error occur before or after the module was found?
+ (exc, value, tb) = info = sys.exc_info()
+ if path in sys.modules:
+ # An error occured while executing the imported module.
+ raise ErrorDuringImport(sys.modules[path].__file__, info)
+ elif exc is SyntaxError:
+ # A SyntaxError occurred before we could execute the module.
+ raise ErrorDuringImport(value.filename, info)
+ elif exc is ImportError and \
+ split(lower(str(value)))[:2] == ['no', 'module']:
+ # The module was not found.
+ return None
+ else:
+ # Some other error occurred during the importing process.
+ raise ErrorDuringImport(path, sys.exc_info())
+ for part in split(path, '.')[1:]:
+ try: module = getattr(module, part)
+ except AttributeError: return None
+ return module
+
+# ---------------------------------------------------- formatter base class
+
+class Doc:
+ def document(self, object, name=None, *args):
+ """Generate documentation for an object."""
+ args = (object, name) + args
+ # 'try' clause is to attempt to handle the possibility that inspect
+ # identifies something in a way that pydoc itself has issues handling;
+ # think 'super' and how it is a descriptor (which raises the exception
+ # by lacking a __name__ attribute) and an instance.
+ try:
+ if inspect.ismodule(object): return self.docmodule(*args)
+ if inspect.isclass(object): return self.docclass(*args)
+ if inspect.isroutine(object): return self.docroutine(*args)
+ except AttributeError:
+ pass
+ return self.docother(*args)
+
+ def fail(self, object, name=None, *args):
+ """Raise an exception for unimplemented types."""
+ message = "don't know how to document object%s of type %s" % (
+ name and ' ' + repr(name), type(object).__name__)
+ raise TypeError, message
+
+ docmodule = docclass = docroutine = docother = fail
+
+# -------------------------------------------- HTML documentation generator
+
+class HTMLRepr(Repr):
+ """Class for safely making an HTML representation of a Python object."""
+ def __init__(self):
+ Repr.__init__(self)
+ self.maxlist = self.maxtuple = 20
+ self.maxdict = 10
+ self.maxstring = self.maxother = 100
+
+ def escape(self, text):
+ return replace(text, '&', '&', '<', '<', '>', '>')
+
+ def repr(self, object):
+ return Repr.repr(self, object)
+
+ def repr1(self, x, level):
+ if hasattr(type(x), '__name__'):
+ methodname = 'repr_' + join(split(type(x).__name__), '_')
+ if hasattr(self, methodname):
+ return getattr(self, methodname)(x, level)
+ return self.escape(cram(stripid(repr(x)), self.maxother))
+
+ def repr_string(self, x, level):
+ test = cram(x, self.maxstring)
+ testrepr = repr(test)
+ if '\\' in test and '\\' not in replace(testrepr, r'\\', ''):
+ # Backslashes are only literal in the string and are never
+ # needed to make any special characters, so show a raw string.
+ return 'r' + testrepr[0] + self.escape(test) + testrepr[0]
+ return re.sub(r'((\\[\\abfnrtv\'"]|\\[0-9]..|\\x..|\\u....)+)',
+ r'<font color="#c040c0">\1</font>',
+ self.escape(testrepr))
+
+ repr_str = repr_string
+
+ def repr_instance(self, x, level):
+ try:
+ return self.escape(cram(stripid(repr(x)), self.maxstring))
+ except:
+ return self.escape('<%s instance>' % x.__class__.__name__)
+
+ repr_unicode = repr_string
+
+class HTMLDoc(Doc):
+ """Formatter class for HTML documentation."""
+
+ # ------------------------------------------- HTML formatting utilities
+
+ _repr_instance = HTMLRepr()
+ repr = _repr_instance.repr
+ escape = _repr_instance.escape
+
+ def page(self, title, contents):
+ """Format an HTML page."""
+ return '''
+<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: %s</title>
+</head><body bgcolor="#f0f0f8">
+%s
+</body></html>''' % (title, contents)
+
+ def heading(self, title, fgcol, bgcol, extras=''):
+ """Format a page heading."""
+ return '''
+<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="heading">
+<tr bgcolor="%s">
+<td valign=bottom> <br>
+<font color="%s" face="helvetica, arial"> <br>%s</font></td
+><td align=right valign=bottom
+><font color="%s" face="helvetica, arial">%s</font></td></tr></table>
+ ''' % (bgcol, fgcol, title, fgcol, extras or ' ')
+
+ def section(self, title, fgcol, bgcol, contents, width=6,
+ prelude='', marginalia=None, gap=' '):
+ """Format a section with a heading."""
+ if marginalia is None:
+ marginalia = '<tt>' + ' ' * width + '</tt>'
+ result = '''<p>
+<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="%s">
+<td colspan=3 valign=bottom> <br>
+<font color="%s" face="helvetica, arial">%s</font></td></tr>
+ ''' % (bgcol, fgcol, title)
+ if prelude:
+ result = result + '''
+<tr bgcolor="%s"><td rowspan=2>%s</td>
+<td colspan=2>%s</td></tr>
+<tr><td>%s</td>''' % (bgcol, marginalia, prelude, gap)
+ else:
+ result = result + '''
+<tr><td bgcolor="%s">%s</td><td>%s</td>''' % (bgcol, marginalia, gap)
+
+ return result + '\n<td width="100%%">%s</td></tr></table>' % contents
+
+ def bigsection(self, title, *args):
+ """Format a section with a big heading."""
+ title = '<big><strong>%s</strong></big>' % title
+ return self.section(title, *args)
+
+ def preformat(self, text):
+ """Format literal preformatted text."""
+ text = self.escape(expandtabs(text))
+ return replace(text, '\n\n', '\n \n', '\n\n', '\n \n',
+ ' ', ' ', '\n', '<br>\n')
+
+ def multicolumn(self, list, format, cols=4):
+ """Format a list of items into a multi-column list."""
+ result = ''
+ rows = (len(list)+cols-1)/cols
+ for col in range(cols):
+ result = result + '<td width="%d%%" valign=top>' % (100/cols)
+ for i in range(rows*col, rows*col+rows):
+ if i < len(list):
+ result = result + format(list[i]) + '<br>\n'
+ result = result + '</td>'
+ return '<table width="100%%" summary="list"><tr>%s</tr></table>' % result
+
+ def grey(self, text): return '<font color="#909090">%s</font>' % text
+
+ def namelink(self, name, *dicts):
+ """Make a link for an identifier, given name-to-URL mappings."""
+ for dict in dicts:
+ if name in dict:
+ return '<a href="%s">%s</a>' % (dict[name], name)
+ return name
+
+ def classlink(self, object, modname):
+ """Make a link for a class."""
+ name, module = object.__name__, sys.modules.get(object.__module__)
+ if hasattr(module, name) and getattr(module, name) is object:
+ return '<a href="%s.html#%s">%s</a>' % (
+ module.__name__, name, classname(object, modname))
+ return classname(object, modname)
+
+ def modulelink(self, object):
+ """Make a link for a module."""
+ return '<a href="%s.html">%s</a>' % (object.__name__, object.__name__)
+
+ def modpkglink(self, (name, path, ispackage, shadowed)):
+ """Make a link for a module or package to display in an index."""
+ if shadowed:
+ return self.grey(name)
+ if path:
+ url = '%s.%s.html' % (path, name)
+ else:
+ url = '%s.html' % name
+ if ispackage:
+ text = '<strong>%s</strong> (package)' % name
+ else:
+ text = name
+ return '<a href="%s">%s</a>' % (url, text)
+
+ def markup(self, text, escape=None, funcs={}, classes={}, methods={}):
+ """Mark up some plain text, given a context of symbols to look for.
+ Each context dictionary maps object names to anchor names."""
+ escape = escape or self.escape
+ results = []
+ here = 0
+ pattern = re.compile(r'\b((http|ftp)://\S+[\w/]|'
+ r'RFC[- ]?(\d+)|'
+ r'PEP[- ]?(\d+)|'
+ r'(self\.)?(\w+))')
+ while True:
+ match = pattern.search(text, here)
+ if not match: break
+ start, end = match.span()
+ results.append(escape(text[here:start]))
+
+ all, scheme, rfc, pep, selfdot, name = match.groups()
+ if scheme:
+ url = escape(all).replace('"', '"')
+ results.append('<a href="%s">%s</a>' % (url, url))
+ elif rfc:
+ url = 'http://www.rfc-editor.org/rfc/rfc%d.txt' % int(rfc)
+ results.append('<a href="%s">%s</a>' % (url, escape(all)))
+ elif pep:
+ url = 'http://www.python.org/peps/pep-%04d.html' % int(pep)
+ results.append('<a href="%s">%s</a>' % (url, escape(all)))
+ elif text[end:end+1] == '(':
+ results.append(self.namelink(name, methods, funcs, classes))
+ elif selfdot:
+ results.append('self.<strong>%s</strong>' % name)
+ else:
+ results.append(self.namelink(name, classes))
+ here = end
+ results.append(escape(text[here:]))
+ return join(results, '')
+
+ # ---------------------------------------------- type-specific routines
+
+ def formattree(self, tree, modname, parent=None):
+ """Produce HTML for a class tree as given by inspect.getclasstree()."""
+ result = ''
+ for entry in tree:
+ if type(entry) is type(()):
+ c, bases = entry
+ result = result + '<dt><font face="helvetica, arial">'
+ result = result + self.classlink(c, modname)
+ if bases and bases != (parent,):
+ parents = []
+ for base in bases:
+ parents.append(self.classlink(base, modname))
+ result = result + '(' + join(parents, ', ') + ')'
+ result = result + '\n</font></dt>'
+ elif type(entry) is type([]):
+ result = result + '<dd>\n%s</dd>\n' % self.formattree(
+ entry, modname, c)
+ return '<dl>\n%s</dl>\n' % result
+
+ def docmodule(self, object, name=None, mod=None, *ignored):
+ """Produce HTML documentation for a module object."""
+ name = object.__name__ # ignore the passed-in name
+ parts = split(name, '.')
+ links = []
+ for i in range(len(parts)-1):
+ links.append(
+ '<a href="%s.html"><font color="#ffffff">%s</font></a>' %
+ (join(parts[:i+1], '.'), parts[i]))
+ linkedname = join(links + parts[-1:], '.')
+ head = '<big><big><strong>%s</strong></big></big>' % linkedname
+ try:
+ path = inspect.getabsfile(object)
+ url = path
+ if sys.platform == 'win32':
+ import nturl2path
+ url = nturl2path.pathname2url(path)
+ filelink = '<a href="file:%s">%s</a>' % (url, path)
+ except TypeError:
+ filelink = '(built-in)'
+ info = []
+ if hasattr(object, '__version__'):
+ version = str(object.__version__)
+ if version[:11] == '$' + 'Revision: ' and version[-1:] == '$':
+ version = strip(version[11:-1])
+ info.append('version %s' % self.escape(version))
+ if hasattr(object, '__date__'):
+ info.append(self.escape(str(object.__date__)))
+ if info:
+ head = head + ' (%s)' % join(info, ', ')
+ result = self.heading(
+ head, '#ffffff', '#7799ee', '<a href=".">index</a><br>' + filelink)
+
+ modules = inspect.getmembers(object, inspect.ismodule)
+
+ classes, cdict = [], {}
+ for key, value in inspect.getmembers(object, inspect.isclass):
+ if (inspect.getmodule(value) or object) is object:
+ if visiblename(key):
+ classes.append((key, value))
+ cdict[key] = cdict[value] = '#' + key
+ for key, value in classes:
+ for base in value.__bases__:
+ key, modname = base.__name__, base.__module__
+ module = sys.modules.get(modname)
+ if modname != name and module and hasattr(module, key):
+ if getattr(module, key) is base:
+ if not key in cdict:
+ cdict[key] = cdict[base] = modname + '.html#' + key
+ funcs, fdict = [], {}
+ for key, value in inspect.getmembers(object, inspect.isroutine):
+ if inspect.isbuiltin(value) or inspect.getmodule(value) is object:
+ if visiblename(key):
+ funcs.append((key, value))
+ fdict[key] = '#-' + key
+ if inspect.isfunction(value): fdict[value] = fdict[key]
+ data = []
+ for key, value in inspect.getmembers(object, isdata):
+ if visiblename(key):
+ data.append((key, value))
+
+ doc = self.markup(getdoc(object), self.preformat, fdict, cdict)
+ doc = doc and '<tt>%s</tt>' % doc
+ result = result + '<p>%s</p>\n' % doc
+
+ if hasattr(object, '__path__'):
+ modpkgs = []
+ modnames = []
+ for file in os.listdir(object.__path__[0]):
+ path = os.path.join(object.__path__[0], file)
+ modname = inspect.getmodulename(file)
+ if modname != '__init__':
+ if modname and modname not in modnames:
+ modpkgs.append((modname, name, 0, 0))
+ modnames.append(modname)
+ elif ispackage(path):
+ modpkgs.append((file, name, 1, 0))
+ modpkgs.sort()
+ contents = self.multicolumn(modpkgs, self.modpkglink)
+ result = result + self.bigsection(
+ 'Package Contents', '#ffffff', '#aa55cc', contents)
+ elif modules:
+ contents = self.multicolumn(
+ modules, lambda (key, value), s=self: s.modulelink(value))
+ result = result + self.bigsection(
+ 'Modules', '#fffff', '#aa55cc', contents)
+
+ if classes:
+ classlist = map(lambda (key, value): value, classes)
+ contents = [
+ self.formattree(inspect.getclasstree(classlist, 1), name)]
+ for key, value in classes:
+ contents.append(self.document(value, key, name, fdict, cdict))
+ result = result + self.bigsection(
+ 'Classes', '#ffffff', '#ee77aa', join(contents))
+ if funcs:
+ contents = []
+ for key, value in funcs:
+ contents.append(self.document(value, key, name, fdict, cdict))
+ result = result + self.bigsection(
+ 'Functions', '#ffffff', '#eeaa77', join(contents))
+ if data:
+ contents = []
+ for key, value in data:
+ contents.append(self.document(value, key))
+ result = result + self.bigsection(
+ 'Data', '#ffffff', '#55aa55', join(contents, '<br>\n'))
+ if hasattr(object, '__author__'):
+ contents = self.markup(str(object.__author__), self.preformat)
+ result = result + self.bigsection(
+ 'Author', '#ffffff', '#7799ee', contents)
+ if hasattr(object, '__credits__'):
+ contents = self.markup(str(object.__credits__), self.preformat)
+ result = result + self.bigsection(
+ 'Credits', '#ffffff', '#7799ee', contents)
+
+ return result
+
+ def docclass(self, object, name=None, mod=None, funcs={}, classes={},
+ *ignored):
+ """Produce HTML documentation for a class object."""
+ realname = object.__name__
+ name = name or realname
+ bases = object.__bases__
+
+ contents = []
+ push = contents.append
+
+ # Cute little class to pump out a horizontal rule between sections.
+ class HorizontalRule:
+ def __init__(self):
+ self.needone = 0
+ def maybe(self):
+ if self.needone:
+ push('<hr>\n')
+ self.needone = 1
+ hr = HorizontalRule()
+
+ # List the mro, if non-trivial.
+ mro = list(inspect.getmro(object))
+ if len(mro) > 2:
+ hr.maybe()
+ push('<dl><dt>Method resolution order:</dt>\n')
+ for base in mro:
+ push('<dd>%s</dd>\n' % self.classlink(base,
+ object.__module__))
+ push('</dl>\n')
+
+ def spill(msg, attrs, predicate):
+ ok, attrs = _split_list(attrs, predicate)
+ if ok:
+ hr.maybe()
+ push(msg)
+ for name, kind, homecls, value in ok:
+ push(self.document(getattr(object, name), name, mod,
+ funcs, classes, mdict, object))
+ push('\n')
+ return attrs
+
+ def spillproperties(msg, attrs, predicate):
+ ok, attrs = _split_list(attrs, predicate)
+ if ok:
+ hr.maybe()
+ push(msg)
+ for name, kind, homecls, value in ok:
+ push('<dl><dt><strong>%s</strong></dt>\n' % name)
+ if value.__doc__ is not None:
+ doc = self.markup(value.__doc__, self.preformat,
+ funcs, classes, mdict)
+ push('<dd><tt>%s</tt></dd>\n' % doc)
+ for attr, tag in [('fget', '<em>get</em>'),
+ ('fset', '<em>set</em>'),
+ ('fdel', '<em>delete</em>')]:
+ func = getattr(value, attr)
+ if func is not None:
+ base = self.document(func, tag, mod,
+ funcs, classes, mdict, object)
+ push('<dd>%s</dd>\n' % base)
+ push('</dl>\n')
+ return attrs
+
+ def spilldata(msg, attrs, predicate):
+ ok, attrs = _split_list(attrs, predicate)
+ if ok:
+ hr.maybe()
+ push(msg)
+ for name, kind, homecls, value in ok:
+ base = self.docother(getattr(object, name), name, mod)
+ if callable(value) or inspect.isdatadescriptor(value):
+ doc = getattr(value, "__doc__", None)
+ else:
+ doc = None
+ if doc is None:
+ push('<dl><dt>%s</dl>\n' % base)
+ else:
+ doc = self.markup(getdoc(value), self.preformat,
+ funcs, classes, mdict)
+ doc = '<dd><tt>%s</tt>' % doc
+ push('<dl><dt>%s%s</dl>\n' % (base, doc))
+ push('\n')
+ return attrs
+
+ attrs = filter(lambda (name, kind, cls, value): visiblename(name),
+ inspect.classify_class_attrs(object))
+ mdict = {}
+ for key, kind, homecls, value in attrs:
+ mdict[key] = anchor = '#' + name + '-' + key
+ value = getattr(object, key)
+ try:
+ # The value may not be hashable (e.g., a data attr with
+ # a dict or list value).
+ mdict[value] = anchor
+ except TypeError:
+ pass
+
+ while attrs:
+ if mro:
+ thisclass = mro.pop(0)
+ else:
+ thisclass = attrs[0][2]
+ attrs, inherited = _split_list(attrs, lambda t: t[2] is thisclass)
+
+ if thisclass is __builtin__.object:
+ attrs = inherited
+ continue
+ elif thisclass is object:
+ tag = 'defined here'
+ else:
+ tag = 'inherited from %s' % self.classlink(thisclass,
+ object.__module__)
+ tag += ':<br>\n'
+
+ # Sort attrs by name.
+ attrs.sort(lambda t1, t2: cmp(t1[0], t2[0]))
+
+ # Pump out the attrs, segregated by kind.
+ attrs = spill('Methods %s' % tag, attrs,
+ lambda t: t[1] == 'method')
+ attrs = spill('Class methods %s' % tag, attrs,
+ lambda t: t[1] == 'class method')
+ attrs = spill('Static methods %s' % tag, attrs,
+ lambda t: t[1] == 'static method')
+ attrs = spillproperties('Properties %s' % tag, attrs,
+ lambda t: t[1] == 'property')
+ attrs = spilldata('Data and other attributes %s' % tag, attrs,
+ lambda t: t[1] == 'data')
+ assert attrs == []
+ attrs = inherited
+
+ contents = ''.join(contents)
+
+ if name == realname:
+ title = '<a name="%s">class <strong>%s</strong></a>' % (
+ name, realname)
+ else:
+ title = '<strong>%s</strong> = <a name="%s">class %s</a>' % (
+ name, name, realname)
+ if bases:
+ parents = []
+ for base in bases:
+ parents.append(self.classlink(base, object.__module__))
+ title = title + '(%s)' % join(parents, ', ')
+ doc = self.markup(getdoc(object), self.preformat, funcs, classes, mdict)
+ doc = doc and '<tt>%s<br> </tt>' % doc
+
+ return self.section(title, '#000000', '#ffc8d8', contents, 3, doc)
+
+ def formatvalue(self, object):
+ """Format an argument default value as text."""
+ return self.grey('=' + self.repr(object))
+
+ def docroutine(self, object, name=None, mod=None,
+ funcs={}, classes={}, methods={}, cl=None):
+ """Produce HTML documentation for a function or method object."""
+ realname = object.__name__
+ name = name or realname
+ anchor = (cl and cl.__name__ or '') + '-' + name
+ note = ''
+ skipdocs = 0
+ if inspect.ismethod(object):
+ imclass = object.im_class
+ if cl:
+ if imclass is not cl:
+ note = ' from ' + self.classlink(imclass, mod)
+ else:
+ if object.im_self:
+ note = ' method of %s instance' % self.classlink(
+ object.im_self.__class__, mod)
+ else:
+ note = ' unbound %s method' % self.classlink(imclass,mod)
+ object = object.im_func
+
+ if name == realname:
+ title = '<a name="%s"><strong>%s</strong></a>' % (anchor, realname)
+ else:
+ if (cl and realname in cl.__dict__ and
+ cl.__dict__[realname] is object):
+ reallink = '<a href="#%s">%s</a>' % (
+ cl.__name__ + '-' + realname, realname)
+ skipdocs = 1
+ else:
+ reallink = realname
+ title = '<a name="%s"><strong>%s</strong></a> = %s' % (
+ anchor, name, reallink)
+ if inspect.isfunction(object):
+ args, varargs, varkw, defaults = inspect.getargspec(object)
+ argspec = inspect.formatargspec(
+ args, varargs, varkw, defaults, formatvalue=self.formatvalue)
+ if realname == '<lambda>':
+ title = '<strong>%s</strong> <em>lambda</em> ' % name
+ argspec = argspec[1:-1] # remove parentheses
+ else:
+ argspec = '(...)'
+
+ decl = title + argspec + (note and self.grey(
+ '<font face="helvetica, arial">%s</font>' % note))
+
+ if skipdocs:
+ return '<dl><dt>%s</dt></dl>\n' % decl
+ else:
+ doc = self.markup(
+ getdoc(object), self.preformat, funcs, classes, methods)
+ doc = doc and '<dd><tt>%s</tt></dd>' % doc
+ return '<dl><dt>%s</dt>%s</dl>\n' % (decl, doc)
+
+ def docother(self, object, name=None, mod=None, *ignored):
+ """Produce HTML documentation for a data object."""
+ lhs = name and '<strong>%s</strong> = ' % name or ''
+ return lhs + self.repr(object)
+
+ def index(self, dir, shadowed=None):
+ """Generate an HTML index for a directory of modules."""
+ modpkgs = []
+ if shadowed is None: shadowed = {}
+ seen = {}
+ files = os.listdir(dir)
+
+ def found(name, ispackage,
+ modpkgs=modpkgs, shadowed=shadowed, seen=seen):
+ if name not in seen:
+ modpkgs.append((name, '', ispackage, name in shadowed))
+ seen[name] = 1
+ shadowed[name] = 1
+
+ # Package spam/__init__.py takes precedence over module spam.py.
+ for file in files:
+ path = os.path.join(dir, file)
+ if ispackage(path): found(file, 1)
+ for file in files:
+ path = os.path.join(dir, file)
+ if os.path.isfile(path):
+ modname = inspect.getmodulename(file)
+ if modname: found(modname, 0)
+
+ modpkgs.sort()
+ contents = self.multicolumn(modpkgs, self.modpkglink)
+ return self.bigsection(dir, '#ffffff', '#ee77aa', contents)
+
+# -------------------------------------------- text documentation generator
+
+class TextRepr(Repr):
+ """Class for safely making a text representation of a Python object."""
+ def __init__(self):
+ Repr.__init__(self)
+ self.maxlist = self.maxtuple = 20
+ self.maxdict = 10
+ self.maxstring = self.maxother = 100
+
+ def repr1(self, x, level):
+ if hasattr(type(x), '__name__'):
+ methodname = 'repr_' + join(split(type(x).__name__), '_')
+ if hasattr(self, methodname):
+ return getattr(self, methodname)(x, level)
+ return cram(stripid(repr(x)), self.maxother)
+
+ def repr_string(self, x, level):
+ test = cram(x, self.maxstring)
+ testrepr = repr(test)
+ if '\\' in test and '\\' not in replace(testrepr, r'\\', ''):
+ # Backslashes are only literal in the string and are never
+ # needed to make any special characters, so show a raw string.
+ return 'r' + testrepr[0] + test + testrepr[0]
+ return testrepr
+
+ repr_str = repr_string
+
+ def repr_instance(self, x, level):
+ try:
+ return cram(stripid(repr(x)), self.maxstring)
+ except:
+ return '<%s instance>' % x.__class__.__name__
+
+class TextDoc(Doc):
+ """Formatter class for text documentation."""
+
+ # ------------------------------------------- text formatting utilities
+
+ _repr_instance = TextRepr()
+ repr = _repr_instance.repr
+
+ def bold(self, text):
+ """Format a string in bold by overstriking."""
+ return join(map(lambda ch: ch + '\b' + ch, text), '')
+
+ def indent(self, text, prefix=' '):
+ """Indent text by prepending a given prefix to each line."""
+ if not text: return ''
+ lines = split(text, '\n')
+ lines = map(lambda line, prefix=prefix: prefix + line, lines)
+ if lines: lines[-1] = rstrip(lines[-1])
+ return join(lines, '\n')
+
+ def section(self, title, contents):
+ """Format a section with a given heading."""
+ return self.bold(title) + '\n' + rstrip(self.indent(contents)) + '\n\n'
+
+ # ---------------------------------------------- type-specific routines
+
+ def formattree(self, tree, modname, parent=None, prefix=''):
+ """Render in text a class tree as returned by inspect.getclasstree()."""
+ result = ''
+ for entry in tree:
+ if type(entry) is type(()):
+ c, bases = entry
+ result = result + prefix + classname(c, modname)
+ if bases and bases != (parent,):
+ parents = map(lambda c, m=modname: classname(c, m), bases)
+ result = result + '(%s)' % join(parents, ', ')
+ result = result + '\n'
+ elif type(entry) is type([]):
+ result = result + self.formattree(
+ entry, modname, c, prefix + ' ')
+ return result
+
+ def docmodule(self, object, name=None, mod=None):
+ """Produce text documentation for a given module object."""
+ name = object.__name__ # ignore the passed-in name
+ synop, desc = splitdoc(getdoc(object))
+ result = self.section('NAME', name + (synop and ' - ' + synop))
+
+ try:
+ file = inspect.getabsfile(object)
+ except TypeError:
+ file = '(built-in)'
+ result = result + self.section('FILE', file)
+ if desc:
+ result = result + self.section('DESCRIPTION', desc)
+
+ classes = []
+ for key, value in inspect.getmembers(object, inspect.isclass):
+ if (inspect.getmodule(value) or object) is object:
+ if visiblename(key):
+ classes.append((key, value))
+ funcs = []
+ for key, value in inspect.getmembers(object, inspect.isroutine):
+ if inspect.isbuiltin(value) or inspect.getmodule(value) is object:
+ if visiblename(key):
+ funcs.append((key, value))
+ data = []
+ for key, value in inspect.getmembers(object, isdata):
+ if visiblename(key):
+ data.append((key, value))
+
+ if hasattr(object, '__path__'):
+ modpkgs = []
+ for file in os.listdir(object.__path__[0]):
+ path = os.path.join(object.__path__[0], file)
+ modname = inspect.getmodulename(file)
+ if modname != '__init__':
+ if modname and modname not in modpkgs:
+ modpkgs.append(modname)
+ elif ispackage(path):
+ modpkgs.append(file + ' (package)')
+ modpkgs.sort()
+ result = result + self.section(
+ 'PACKAGE CONTENTS', join(modpkgs, '\n'))
+
+ if classes:
+ classlist = map(lambda (key, value): value, classes)
+ contents = [self.formattree(
+ inspect.getclasstree(classlist, 1), name)]
+ for key, value in classes:
+ contents.append(self.document(value, key, name))
+ result = result + self.section('CLASSES', join(contents, '\n'))
+
+ if funcs:
+ contents = []
+ for key, value in funcs:
+ contents.append(self.document(value, key, name))
+ result = result + self.section('FUNCTIONS', join(contents, '\n'))
+
+ if data:
+ contents = []
+ for key, value in data:
+ contents.append(self.docother(value, key, name, 70))
+ result = result + self.section('DATA', join(contents, '\n'))
+
+ if hasattr(object, '__version__'):
+ version = str(object.__version__)
+ if version[:11] == '$' + 'Revision: ' and version[-1:] == '$':
+ version = strip(version[11:-1])
+ result = result + self.section('VERSION', version)
+ if hasattr(object, '__date__'):
+ result = result + self.section('DATE', str(object.__date__))
+ if hasattr(object, '__author__'):
+ result = result + self.section('AUTHOR', str(object.__author__))
+ if hasattr(object, '__credits__'):
+ result = result + self.section('CREDITS', str(object.__credits__))
+ return result
+
+ def docclass(self, object, name=None, mod=None):
+ """Produce text documentation for a given class object."""
+ realname = object.__name__
+ name = name or realname
+ bases = object.__bases__
+
+ def makename(c, m=object.__module__):
+ return classname(c, m)
+
+ if name == realname:
+ title = 'class ' + self.bold(realname)
+ else:
+ title = self.bold(name) + ' = class ' + realname
+ if bases:
+ parents = map(makename, bases)
+ title = title + '(%s)' % join(parents, ', ')
+
+ doc = getdoc(object)
+ contents = doc and [doc + '\n'] or []
+ push = contents.append
+
+ # List the mro, if non-trivial.
+ mro = list(inspect.getmro(object))
+ if len(mro) > 2:
+ push("Method resolution order:")
+ for base in mro:
+ push(' ' + makename(base))
+ push('')
+
+ # Cute little class to pump out a horizontal rule between sections.
+ class HorizontalRule:
+ def __init__(self):
+ self.needone = 0
+ def maybe(self):
+ if self.needone:
+ push('-' * 70)
+ self.needone = 1
+ hr = HorizontalRule()
+
+ def spill(msg, attrs, predicate):
+ ok, attrs = _split_list(attrs, predicate)
+ if ok:
+ hr.maybe()
+ push(msg)
+ for name, kind, homecls, value in ok:
+ push(self.document(getattr(object, name),
+ name, mod, object))
+ return attrs
+
+ def spillproperties(msg, attrs, predicate):
+ ok, attrs = _split_list(attrs, predicate)
+ if ok:
+ hr.maybe()
+ push(msg)
+ for name, kind, homecls, value in ok:
+ push(name)
+ need_blank_after_doc = 0
+ doc = getdoc(value) or ''
+ if doc:
+ push(self.indent(doc))
+ need_blank_after_doc = 1
+ for attr, tag in [('fget', '<get>'),
+ ('fset', '<set>'),
+ ('fdel', '<delete>')]:
+ func = getattr(value, attr)
+ if func is not None:
+ if need_blank_after_doc:
+ push('')
+ need_blank_after_doc = 0
+ base = self.document(func, tag, mod)
+ push(self.indent(base))
+ return attrs
+
+ def spilldata(msg, attrs, predicate):
+ ok, attrs = _split_list(attrs, predicate)
+ if ok:
+ hr.maybe()
+ push(msg)
+ for name, kind, homecls, value in ok:
+ if callable(value) or inspect.isdatadescriptor(value):
+ doc = getattr(value, "__doc__", None)
+ else:
+ doc = None
+ push(self.docother(getattr(object, name),
+ name, mod, 70, doc) + '\n')
+ return attrs
+
+ attrs = filter(lambda (name, kind, cls, value): visiblename(name),
+ inspect.classify_class_attrs(object))
+ while attrs:
+ if mro:
+ thisclass = mro.pop(0)
+ else:
+ thisclass = attrs[0][2]
+ attrs, inherited = _split_list(attrs, lambda t: t[2] is thisclass)
+
+ if thisclass is __builtin__.object:
+ attrs = inherited
+ continue
+ elif thisclass is object:
+ tag = "defined here"
+ else:
+ tag = "inherited from %s" % classname(thisclass,
+ object.__module__)
+ filter(lambda t: not t[0].startswith('_'), attrs)
+
+ # Sort attrs by name.
+ attrs.sort()
+
+ # Pump out the attrs, segregated by kind.
+ attrs = spill("Methods %s:\n" % tag, attrs,
+ lambda t: t[1] == 'method')
+ attrs = spill("Class methods %s:\n" % tag, attrs,
+ lambda t: t[1] == 'class method')
+ attrs = spill("Static methods %s:\n" % tag, attrs,
+ lambda t: t[1] == 'static method')
+ attrs = spillproperties("Properties %s:\n" % tag, attrs,
+ lambda t: t[1] == 'property')
+ attrs = spilldata("Data and other attributes %s:\n" % tag, attrs,
+ lambda t: t[1] == 'data')
+ assert attrs == []
+ attrs = inherited
+
+ contents = '\n'.join(contents)
+ if not contents:
+ return title + '\n'
+ return title + '\n' + self.indent(rstrip(contents), ' | ') + '\n'
+
+ def formatvalue(self, object):
+ """Format an argument default value as text."""
+ return '=' + self.repr(object)
+
+ def docroutine(self, object, name=None, mod=None, cl=None):
+ """Produce text documentation for a function or method object."""
+ realname = object.__name__
+ name = name or realname
+ note = ''
+ skipdocs = 0
+ if inspect.ismethod(object):
+ imclass = object.im_class
+ if cl:
+ if imclass is not cl:
+ note = ' from ' + classname(imclass, mod)
+ else:
+ if object.im_self:
+ note = ' method of %s instance' % classname(
+ object.im_self.__class__, mod)
+ else:
+ note = ' unbound %s method' % classname(imclass,mod)
+ object = object.im_func
+
+ if name == realname:
+ title = self.bold(realname)
+ else:
+ if (cl and realname in cl.__dict__ and
+ cl.__dict__[realname] is object):
+ skipdocs = 1
+ title = self.bold(name) + ' = ' + realname
+ if inspect.isfunction(object):
+ args, varargs, varkw, defaults = inspect.getargspec(object)
+ argspec = inspect.formatargspec(
+ args, varargs, varkw, defaults, formatvalue=self.formatvalue)
+ if realname == '<lambda>':
+ title = 'lambda'
+ argspec = argspec[1:-1] # remove parentheses
+ else:
+ argspec = '(...)'
+ decl = title + argspec + note
+
+ if skipdocs:
+ return decl + '\n'
+ else:
+ doc = getdoc(object) or ''
+ return decl + '\n' + (doc and rstrip(self.indent(doc)) + '\n')
+
+ def docother(self, object, name=None, mod=None, maxlen=None, doc=None):
+ """Produce text documentation for a data object."""
+ repr = self.repr(object)
+ if maxlen:
+ line = (name and name + ' = ' or '') + repr
+ chop = maxlen - len(line)
+ if chop < 0: repr = repr[:chop] + '...'
+ line = (name and self.bold(name) + ' = ' or '') + repr
+ if doc is not None:
+ line += '\n' + self.indent(str(doc))
+ return line
+
+# --------------------------------------------------------- user interfaces
+
+def pager(text):
+ """The first time this is called, determine what kind of pager to use."""
+ global pager
+ pager = getpager()
+ pager(text)
+
+def getpager():
+ """Decide what method to use for paging through text."""
+ if type(sys.stdout) is not types.FileType:
+ return plainpager
+ if not sys.stdin.isatty() or not sys.stdout.isatty():
+ return plainpager
+ if os.environ.get('TERM') in ['dumb', 'emacs']:
+ return plainpager
+ if 'PAGER' in os.environ:
+ if sys.platform == 'win32': # pipes completely broken in Windows
+ return lambda text: tempfilepager(plain(text), os.environ['PAGER'])
+ elif os.environ.get('TERM') in ['dumb', 'emacs']:
+ return lambda text: pipepager(plain(text), os.environ['PAGER'])
+ else:
+ return lambda text: pipepager(text, os.environ['PAGER'])
+ if sys.platform == 'win32' or sys.platform.startswith('os2'):
+ return lambda text: tempfilepager(plain(text), 'more <')
+ if hasattr(os, 'system') and os.system('(less) 2>/dev/null') == 0:
+ return lambda text: pipepager(text, 'less')
+
+ import tempfile
+ (fd, filename) = tempfile.mkstemp()
+ os.close(fd)
+ try:
+ if hasattr(os, 'system') and os.system('more %s' % filename) == 0:
+ return lambda text: pipepager(text, 'more')
+ else:
+ return ttypager
+ finally:
+ os.unlink(filename)
+
+def plain(text):
+ """Remove boldface formatting from text."""
+ return re.sub('.\b', '', text)
+
+def pipepager(text, cmd):
+ """Page through text by feeding it to another program."""
+ pipe = os.popen(cmd, 'w')
+ try:
+ pipe.write(text)
+ pipe.close()
+ except IOError:
+ pass # Ignore broken pipes caused by quitting the pager program.
+
+def tempfilepager(text, cmd):
+ """Page through text by invoking a program on a temporary file."""
+ import tempfile
+ filename = tempfile.mktemp()
+ file = open(filename, 'w')
+ file.write(text)
+ file.close()
+ try:
+ os.system(cmd + ' ' + filename)
+ finally:
+ os.unlink(filename)
+
+def ttypager(text):
+ """Page through text on a text terminal."""
+ lines = split(plain(text), '\n')
+ try:
+ import tty
+ fd = sys.stdin.fileno()
+ old = tty.tcgetattr(fd)
+ tty.setcbreak(fd)
+ getchar = lambda: sys.stdin.read(1)
+ except (ImportError, AttributeError):
+ tty = None
+ getchar = lambda: sys.stdin.readline()[:-1][:1]
+
+ try:
+ r = inc = os.environ.get('LINES', 25) - 1
+ sys.stdout.write(join(lines[:inc], '\n') + '\n')
+ while lines[r:]:
+ sys.stdout.write('-- more --')
+ sys.stdout.flush()
+ c = getchar()
+
+ if c in ['q', 'Q']:
+ sys.stdout.write('\r \r')
+ break
+ elif c in ['\r', '\n']:
+ sys.stdout.write('\r \r' + lines[r] + '\n')
+ r = r + 1
+ continue
+ if c in ['b', 'B', '\x1b']:
+ r = r - inc - inc
+ if r < 0: r = 0
+ sys.stdout.write('\n' + join(lines[r:r+inc], '\n') + '\n')
+ r = r + inc
+
+ finally:
+ if tty:
+ tty.tcsetattr(fd, tty.TCSAFLUSH, old)
+
+def plainpager(text):
+ """Simply print unformatted text. This is the ultimate fallback."""
+ sys.stdout.write(plain(text))
+
+def describe(thing):
+ """Produce a short description of the given thing."""
+ if inspect.ismodule(thing):
+ if thing.__name__ in sys.builtin_module_names:
+ return 'built-in module ' + thing.__name__
+ if hasattr(thing, '__path__'):
+ return 'package ' + thing.__name__
+ else:
+ return 'module ' + thing.__name__
+ if inspect.isbuiltin(thing):
+ return 'built-in function ' + thing.__name__
+ if inspect.isclass(thing):
+ return 'class ' + thing.__name__
+ if inspect.isfunction(thing):
+ return 'function ' + thing.__name__
+ if inspect.ismethod(thing):
+ return 'method ' + thing.__name__
+ if type(thing) is types.InstanceType:
+ return 'instance of ' + thing.__class__.__name__
+ return type(thing).__name__
+
+def locate(path, forceload=0):
+ """Locate an object by name or dotted path, importing as necessary."""
+ parts = [part for part in split(path, '.') if part]
+ module, n = None, 0
+ while n < len(parts):
+ nextmodule = safeimport(join(parts[:n+1], '.'), forceload)
+ if nextmodule: module, n = nextmodule, n + 1
+ else: break
+ if module:
+ object = module
+ for part in parts[n:]:
+ try: object = getattr(object, part)
+ except AttributeError: return None
+ return object
+ else:
+ if hasattr(__builtin__, path):
+ return getattr(__builtin__, path)
+
+# --------------------------------------- interactive interpreter interface
+
+text = TextDoc()
+html = HTMLDoc()
+
+def resolve(thing, forceload=0):
+ """Given an object or a path to an object, get the object and its name."""
+ if isinstance(thing, str):
+ object = locate(thing, forceload)
+ if not object:
+ raise ImportError, 'no Python documentation found for %r' % thing
+ return object, thing
+ else:
+ return thing, getattr(thing, '__name__', None)
+
+def doc(thing, title='Python Library Documentation: %s', forceload=0):
+ """Display text documentation, given an object or a path to an object."""
+ try:
+ object, name = resolve(thing, forceload)
+ desc = describe(object)
+ module = inspect.getmodule(object)
+ if name and '.' in name:
+ desc += ' in ' + name[:name.rfind('.')]
+ elif module and module is not object:
+ desc += ' in module ' + module.__name__
+ pager(title % desc + '\n\n' + text.document(object, name))
+ except (ImportError, ErrorDuringImport), value:
+ print value
+
+def writedoc(thing, forceload=0):
+ """Write HTML documentation to a file in the current directory."""
+ try:
+ object, name = resolve(thing, forceload)
+ page = html.page(describe(object), html.document(object, name))
+ file = open(name + '.html', 'w')
+ file.write(page)
+ file.close()
+ print 'wrote', name + '.html'
+ except (ImportError, ErrorDuringImport), value:
+ print value
+
+def writedocs(dir, pkgpath='', done=None):
+ """Write out HTML documentation for all modules in a directory tree."""
+ if done is None: done = {}
+ for file in os.listdir(dir):
+ path = os.path.join(dir, file)
+ if ispackage(path):
+ writedocs(path, pkgpath + file + '.', done)
+ elif os.path.isfile(path):
+ modname = inspect.getmodulename(path)
+ if modname:
+ if modname == '__init__':
+ modname = pkgpath[:-1] # remove trailing period
+ else:
+ modname = pkgpath + modname
+ if modname not in done:
+ done[modname] = 1
+ writedoc(modname)
+
+class Helper:
+ keywords = {
+ 'and': 'BOOLEAN',
+ 'assert': ('ref/assert', ''),
+ 'break': ('ref/break', 'while for'),
+ 'class': ('ref/class', 'CLASSES SPECIALMETHODS'),
+ 'continue': ('ref/continue', 'while for'),
+ 'def': ('ref/function', ''),
+ 'del': ('ref/del', 'BASICMETHODS'),
+ 'elif': 'if',
+ 'else': ('ref/if', 'while for'),
+ 'except': 'try',
+ 'exec': ('ref/exec', ''),
+ 'finally': 'try',
+ 'for': ('ref/for', 'break continue while'),
+ 'from': 'import',
+ 'global': ('ref/global', 'NAMESPACES'),
+ 'if': ('ref/if', 'TRUTHVALUE'),
+ 'import': ('ref/import', 'MODULES'),
+ 'in': ('ref/comparisons', 'SEQUENCEMETHODS2'),
+ 'is': 'COMPARISON',
+ 'lambda': ('ref/lambdas', 'FUNCTIONS'),
+ 'not': 'BOOLEAN',
+ 'or': 'BOOLEAN',
+ 'pass': ('ref/pass', ''),
+ 'print': ('ref/print', ''),
+ 'raise': ('ref/raise', 'EXCEPTIONS'),
+ 'return': ('ref/return', 'FUNCTIONS'),
+ 'try': ('ref/try', 'EXCEPTIONS'),
+ 'while': ('ref/while', 'break continue if TRUTHVALUE'),
+ 'yield': ('ref/yield', ''),
+ }
+
+ topics = {
+ 'TYPES': ('ref/types', 'STRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspect'),
+ 'STRINGS': ('ref/strings', 'str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPES'),
+ 'STRINGMETHODS': ('lib/string-methods', 'STRINGS FORMATTING'),
+ 'FORMATTING': ('lib/typesseq-strings', 'OPERATORS'),
+ 'UNICODE': ('ref/strings', 'encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPES'),
+ 'NUMBERS': ('ref/numbers', 'INTEGER FLOAT COMPLEX TYPES'),
+ 'INTEGER': ('ref/integers', 'int range'),
+ 'FLOAT': ('ref/floating', 'float math'),
+ 'COMPLEX': ('ref/imaginary', 'complex cmath'),
+ 'SEQUENCES': ('lib/typesseq', 'STRINGMETHODS FORMATTING xrange LISTS'),
+ 'MAPPINGS': 'DICTIONARIES',
+ 'FUNCTIONS': ('lib/typesfunctions', 'def TYPES'),
+ 'METHODS': ('lib/typesmethods', 'class def CLASSES TYPES'),
+ 'CODEOBJECTS': ('lib/bltin-code-objects', 'compile FUNCTIONS TYPES'),
+ 'TYPEOBJECTS': ('lib/bltin-type-objects', 'types TYPES'),
+ 'FRAMEOBJECTS': 'TYPES',
+ 'TRACEBACKS': 'TYPES',
+ 'NONE': ('lib/bltin-null-object', ''),
+ 'ELLIPSIS': ('lib/bltin-ellipsis-object', 'SLICINGS'),
+ 'FILES': ('lib/bltin-file-objects', ''),
+ 'SPECIALATTRIBUTES': ('lib/specialattrs', ''),
+ 'CLASSES': ('ref/types', 'class SPECIALMETHODS PRIVATENAMES'),
+ 'MODULES': ('lib/typesmodules', 'import'),
+ 'PACKAGES': 'import',
+ 'EXPRESSIONS': ('ref/summary', 'lambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIES BACKQUOTES'),
+ 'OPERATORS': 'EXPRESSIONS',
+ 'PRECEDENCE': 'EXPRESSIONS',
+ 'OBJECTS': ('ref/objects', 'TYPES'),
+ 'SPECIALMETHODS': ('ref/specialnames', 'BASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS1 MAPPINGMETHODS SEQUENCEMETHODS2 NUMBERMETHODS CLASSES'),
+ 'BASICMETHODS': ('ref/customization', 'cmp hash repr str SPECIALMETHODS'),
+ 'ATTRIBUTEMETHODS': ('ref/attribute-access', 'ATTRIBUTES SPECIALMETHODS'),
+ 'CALLABLEMETHODS': ('ref/callable-types', 'CALLS SPECIALMETHODS'),
+ 'SEQUENCEMETHODS1': ('ref/sequence-types', 'SEQUENCES SEQUENCEMETHODS2 SPECIALMETHODS'),
+ 'SEQUENCEMETHODS2': ('ref/sequence-methods', 'SEQUENCES SEQUENCEMETHODS1 SPECIALMETHODS'),
+ 'MAPPINGMETHODS': ('ref/sequence-types', 'MAPPINGS SPECIALMETHODS'),
+ 'NUMBERMETHODS': ('ref/numeric-types', 'NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODS'),
+ 'EXECUTION': ('ref/execmodel', 'NAMESPACES DYNAMICFEATURES EXCEPTIONS'),
+ 'NAMESPACES': ('ref/naming', 'global ASSIGNMENT DELETION DYNAMICFEATURES'),
+ 'DYNAMICFEATURES': ('ref/dynamic-features', ''),
+ 'SCOPING': 'NAMESPACES',
+ 'FRAMES': 'NAMESPACES',
+ 'EXCEPTIONS': ('ref/exceptions', 'try except finally raise'),
+ 'COERCIONS': ('ref/coercion-rules','CONVERSIONS'),
+ 'CONVERSIONS': ('ref/conversions', 'COERCIONS'),
+ 'IDENTIFIERS': ('ref/identifiers', 'keywords SPECIALIDENTIFIERS'),
+ 'SPECIALIDENTIFIERS': ('ref/id-classes', ''),
+ 'PRIVATENAMES': ('ref/atom-identifiers', ''),
+ 'LITERALS': ('ref/atom-literals', 'STRINGS BACKQUOTES NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALS'),
+ 'TUPLES': 'SEQUENCES',
+ 'TUPLELITERALS': ('ref/exprlists', 'TUPLES LITERALS'),
+ 'LISTS': ('lib/typesseq-mutable', 'LISTLITERALS'),
+ 'LISTLITERALS': ('ref/lists', 'LISTS LITERALS'),
+ 'DICTIONARIES': ('lib/typesmapping', 'DICTIONARYLITERALS'),
+ 'DICTIONARYLITERALS': ('ref/dict', 'DICTIONARIES LITERALS'),
+ 'BACKQUOTES': ('ref/string-conversions', 'repr str STRINGS LITERALS'),
+ 'ATTRIBUTES': ('ref/attribute-references', 'getattr hasattr setattr ATTRIBUTEMETHODS'),
+ 'SUBSCRIPTS': ('ref/subscriptions', 'SEQUENCEMETHODS1'),
+ 'SLICINGS': ('ref/slicings', 'SEQUENCEMETHODS2'),
+ 'CALLS': ('ref/calls', 'EXPRESSIONS'),
+ 'POWER': ('ref/power', 'EXPRESSIONS'),
+ 'UNARY': ('ref/unary', 'EXPRESSIONS'),
+ 'BINARY': ('ref/binary', 'EXPRESSIONS'),
+ 'SHIFTING': ('ref/shifting', 'EXPRESSIONS'),
+ 'BITWISE': ('ref/bitwise', 'EXPRESSIONS'),
+ 'COMPARISON': ('ref/comparisons', 'EXPRESSIONS BASICMETHODS'),
+ 'BOOLEAN': ('ref/Booleans', 'EXPRESSIONS TRUTHVALUE'),
+ 'ASSERTION': 'assert',
+ 'ASSIGNMENT': ('ref/assignment', 'AUGMENTEDASSIGNMENT'),
+ 'AUGMENTEDASSIGNMENT': ('ref/augassign', 'NUMBERMETHODS'),
+ 'DELETION': 'del',
+ 'PRINTING': 'print',
+ 'RETURNING': 'return',
+ 'IMPORTING': 'import',
+ 'CONDITIONAL': 'if',
+ 'LOOPING': ('ref/compound', 'for while break continue'),
+ 'TRUTHVALUE': ('lib/truth', 'if while and or not BASICMETHODS'),
+ 'DEBUGGING': ('lib/module-pdb', 'pdb'),
+ }
+
+ def __init__(self, input, output):
+ self.input = input
+ self.output = output
+ self.docdir = None
+ execdir = os.path.dirname(sys.executable)
+ homedir = os.environ.get('PYTHONHOME')
+ for dir in [os.environ.get('PYTHONDOCS'),
+ homedir and os.path.join(homedir, 'doc'),
+ '/usr/share/doc/python-docs-%s/html' % split(sys.version)[0],
+ os.path.join(execdir, 'doc'),
+ '/usr/doc/python-docs-' + split(sys.version)[0],
+ '/usr/doc/python-' + split(sys.version)[0],
+ '/usr/doc/python-docs-' + sys.version[:3],
+ '/usr/doc/python-' + sys.version[:3],
+ os.path.join(sys.prefix, 'Resources/English.lproj/Documentation')]:
+ if dir and os.path.isdir(os.path.join(dir, 'lib')):
+ self.docdir = dir
+
+ def __repr__(self):
+ if inspect.stack()[1][3] == '?':
+ self()
+ return ''
+ return '<pydoc.Helper instance>'
+
+ def __call__(self, request=None):
+ if request is not None:
+ self.help(request)
+ else:
+ self.intro()
+ self.interact()
+ self.output.write('''
+You are now leaving help and returning to the Python interpreter.
+If you want to ask for help on a particular object directly from the
+interpreter, you can type "help(object)". Executing "help('string')"
+has the same effect as typing a particular string at the help> prompt.
+''')
+
+ def interact(self):
+ self.output.write('\n')
+ while True:
+ self.output.write('help> ')
+ self.output.flush()
+ try:
+ request = self.input.readline()
+ if not request: break
+ except KeyboardInterrupt: break
+ request = strip(replace(request, '"', '', "'", ''))
+ if lower(request) in ['q', 'quit']: break
+ self.help(request)
+
+ def help(self, request):
+ if type(request) is type(''):
+ if request == 'help': self.intro()
+ elif request == 'keywords': self.listkeywords()
+ elif request == 'topics': self.listtopics()
+ elif request == 'modules': self.listmodules()
+ elif request[:8] == 'modules ':
+ self.listmodules(split(request)[1])
+ elif request in self.keywords: self.showtopic(request)
+ elif request in self.topics: self.showtopic(request)
+ elif request: doc(request, 'Help on %s:')
+ elif isinstance(request, Helper): self()
+ else: doc(request, 'Help on %s:')
+ self.output.write('\n')
+
+ def intro(self):
+ self.output.write('''
+Welcome to Python %s! This is the online help utility.
+
+If this is your first time using Python, you should definitely check out
+the tutorial on the Internet at http://www.python.org/doc/tut/.
+
+Enter the name of any module, keyword, or topic to get help on writing
+Python programs and using Python modules. To quit this help utility and
+return to the interpreter, just type "quit".
+
+To get a list of available modules, keywords, or topics, type "modules",
+"keywords", or "topics". Each module also comes with a one-line summary
+of what it does; to list the modules whose summaries contain a given word
+such as "spam", type "modules spam".
+''' % sys.version[:3])
+
+ def list(self, items, columns=4, width=80):
+ items = items[:]
+ items.sort()
+ colw = width / columns
+ rows = (len(items) + columns - 1) / columns
+ for row in range(rows):
+ for col in range(columns):
+ i = col * rows + row
+ if i < len(items):
+ self.output.write(items[i])
+ if col < columns - 1:
+ self.output.write(' ' + ' ' * (colw-1 - len(items[i])))
+ self.output.write('\n')
+
+ def listkeywords(self):
+ self.output.write('''
+Here is a list of the Python keywords. Enter any keyword to get more help.
+
+''')
+ self.list(self.keywords.keys())
+
+ def listtopics(self):
+ self.output.write('''
+Here is a list of available topics. Enter any topic name to get more help.
+
+''')
+ self.list(self.topics.keys())
+
+ def showtopic(self, topic):
+ if not self.docdir:
+ self.output.write('''
+Sorry, topic and keyword documentation is not available because the Python
+HTML documentation files could not be found. If you have installed them,
+please set the environment variable PYTHONDOCS to indicate their location.
+''')
+ return
+ target = self.topics.get(topic, self.keywords.get(topic))
+ if not target:
+ self.output.write('no documentation found for %s\n' % repr(topic))
+ return
+ if type(target) is type(''):
+ return self.showtopic(target)
+
+ filename, xrefs = target
+ filename = self.docdir + '/' + filename + '.html'
+ try:
+ file = open(filename)
+ except:
+ self.output.write('could not read docs from %s\n' % filename)
+ return
+
+ divpat = re.compile('<div[^>]*navigat.*?</div.*?>', re.I | re.S)
+ addrpat = re.compile('<address.*?>.*?</address.*?>', re.I | re.S)
+ document = re.sub(addrpat, '', re.sub(divpat, '', file.read()))
+ file.close()
+
+ import htmllib, formatter, StringIO
+ buffer = StringIO.StringIO()
+ parser = htmllib.HTMLParser(
+ formatter.AbstractFormatter(formatter.DumbWriter(buffer)))
+ parser.start_table = parser.do_p
+ parser.end_table = lambda parser=parser: parser.do_p({})
+ parser.start_tr = parser.do_br
+ parser.start_td = parser.start_th = lambda a, b=buffer: b.write('\t')
+ parser.feed(document)
+ buffer = replace(buffer.getvalue(), '\xa0', ' ', '\n', '\n ')
+ pager(' ' + strip(buffer) + '\n')
+ if xrefs:
+ buffer = StringIO.StringIO()
+ formatter.DumbWriter(buffer).send_flowing_data(
+ 'Related help topics: ' + join(split(xrefs), ', ') + '\n')
+ self.output.write('\n%s\n' % buffer.getvalue())
+
+ def listmodules(self, key=''):
+ if key:
+ self.output.write('''
+Here is a list of matching modules. Enter any module name to get more help.
+
+''')
+ apropos(key)
+ else:
+ self.output.write('''
+Please wait a moment while I gather a list of all available modules...
+
+''')
+ modules = {}
+ def callback(path, modname, desc, modules=modules):
+ if modname and modname[-9:] == '.__init__':
+ modname = modname[:-9] + ' (package)'
+ if find(modname, '.') < 0:
+ modules[modname] = 1
+ ModuleScanner().run(callback)
+ self.list(modules.keys())
+ self.output.write('''
+Enter any module name to get more help. Or, type "modules spam" to search
+for modules whose descriptions contain the word "spam".
+''')
+
+help = Helper(sys.stdin, sys.stdout)
+
+class Scanner:
+ """A generic tree iterator."""
+ def __init__(self, roots, children, descendp):
+ self.roots = roots[:]
+ self.state = []
+ self.children = children
+ self.descendp = descendp
+
+ def next(self):
+ if not self.state:
+ if not self.roots:
+ return None
+ root = self.roots.pop(0)
+ self.state = [(root, self.children(root))]
+ node, children = self.state[-1]
+ if not children:
+ self.state.pop()
+ return self.next()
+ child = children.pop(0)
+ if self.descendp(child):
+ self.state.append((child, self.children(child)))
+ return child
+
+class ModuleScanner(Scanner):
+ """An interruptible scanner that searches module synopses."""
+ def __init__(self):
+ roots = map(lambda dir: (dir, ''), pathdirs())
+ Scanner.__init__(self, roots, self.submodules, self.isnewpackage)
+ self.inodes = map(lambda (dir, pkg): os.stat(dir).st_ino, roots)
+
+ def submodules(self, (dir, package)):
+ children = []
+ for file in os.listdir(dir):
+ path = os.path.join(dir, file)
+ if ispackage(path):
+ children.append((path, package + (package and '.') + file))
+ else:
+ children.append((path, package))
+ children.sort() # so that spam.py comes before spam.pyc or spam.pyo
+ return children
+
+ def isnewpackage(self, (dir, package)):
+ inode = os.path.exists(dir) and os.stat(dir).st_ino
+ if not (os.path.islink(dir) and inode in self.inodes):
+ self.inodes.append(inode) # detect circular symbolic links
+ return ispackage(dir)
+ return False
+
+ def run(self, callback, key=None, completer=None):
+ if key: key = lower(key)
+ self.quit = False
+ seen = {}
+
+ for modname in sys.builtin_module_names:
+ if modname != '__main__':
+ seen[modname] = 1
+ if key is None:
+ callback(None, modname, '')
+ else:
+ desc = split(__import__(modname).__doc__ or '', '\n')[0]
+ if find(lower(modname + ' - ' + desc), key) >= 0:
+ callback(None, modname, desc)
+
+ while not self.quit:
+ node = self.next()
+ if not node: break
+ path, package = node
+ modname = inspect.getmodulename(path)
+ if os.path.isfile(path) and modname:
+ modname = package + (package and '.') + modname
+ if not modname in seen:
+ seen[modname] = 1 # if we see spam.py, skip spam.pyc
+ if key is None:
+ callback(path, modname, '')
+ else:
+ desc = synopsis(path) or ''
+ if find(lower(modname + ' - ' + desc), key) >= 0:
+ callback(path, modname, desc)
+ if completer: completer()
+
+def apropos(key):
+ """Print all the one-line module summaries that contain a substring."""
+ def callback(path, modname, desc):
+ if modname[-9:] == '.__init__':
+ modname = modname[:-9] + ' (package)'
+ print modname, desc and '- ' + desc
+ try: import warnings
+ except ImportError: pass
+ else: warnings.filterwarnings('ignore') # ignore problems during import
+ ModuleScanner().run(callback, key)
+
+# --------------------------------------------------- web browser interface
+
+def serve(port, callback=None, completer=None):
+ import BaseHTTPServer, mimetools, select
+
+ # Patch up mimetools.Message so it doesn't break if rfc822 is reloaded.
+ class Message(mimetools.Message):
+ def __init__(self, fp, seekable=1):
+ Message = self.__class__
+ Message.__bases__[0].__bases__[0].__init__(self, fp, seekable)
+ self.encodingheader = self.getheader('content-transfer-encoding')
+ self.typeheader = self.getheader('content-type')
+ self.parsetype()
+ self.parseplist()
+
+ class DocHandler(BaseHTTPServer.BaseHTTPRequestHandler):
+ def send_document(self, title, contents):
+ try:
+ self.send_response(200)
+ self.send_header('Content-Type', 'text/html')
+ self.end_headers()
+ self.wfile.write(html.page(title, contents))
+ except IOError: pass
+
+ def do_GET(self):
+ path = self.path
+ if path[-5:] == '.html': path = path[:-5]
+ if path[:1] == '/': path = path[1:]
+ if path and path != '.':
+ try:
+ obj = locate(path, forceload=1)
+ except ErrorDuringImport, value:
+ self.send_document(path, html.escape(str(value)))
+ return
+ if obj:
+ self.send_document(describe(obj), html.document(obj, path))
+ else:
+ self.send_document(path,
+'no Python documentation found for %s' % repr(path))
+ else:
+ heading = html.heading(
+'<big><big><strong>Python: Index of Modules</strong></big></big>',
+'#ffffff', '#7799ee')
+ def bltinlink(name):
+ return '<a href="%s.html">%s</a>' % (name, name)
+ names = filter(lambda x: x != '__main__',
+ sys.builtin_module_names)
+ contents = html.multicolumn(names, bltinlink)
+ indices = ['<p>' + html.bigsection(
+ 'Built-in Modules', '#ffffff', '#ee77aa', contents)]
+
+ seen = {}
+ for dir in pathdirs():
+ indices.append(html.index(dir, seen))
+ contents = heading + join(indices) + '''<p align=right>
+<font color="#909090" face="helvetica, arial"><strong>
+pydoc</strong> by Ka-Ping Yee <ping at lfw.org></font>'''
+ self.send_document('Index of Modules', contents)
+
+ def log_message(self, *args): pass
+
+ class DocServer(BaseHTTPServer.HTTPServer):
+ def __init__(self, port, callback):
+ host = (sys.platform == 'mac') and '127.0.0.1' or 'localhost'
+ self.address = ('', port)
+ self.url = 'http://%s:%d/' % (host, port)
+ self.callback = callback
+ self.base.__init__(self, self.address, self.handler)
+
+ def serve_until_quit(self):
+ import select
+ self.quit = False
+ while not self.quit:
+ rd, wr, ex = select.select([self.socket.fileno()], [], [], 1)
+ if rd: self.handle_request()
+
+ def server_activate(self):
+ self.base.server_activate(self)
+ if self.callback: self.callback(self)
+
+ DocServer.base = BaseHTTPServer.HTTPServer
+ DocServer.handler = DocHandler
+ DocHandler.MessageClass = Message
+ try:
+ try:
+ DocServer(port, callback).serve_until_quit()
+ except (KeyboardInterrupt, select.error):
+ pass
+ finally:
+ if completer: completer()
+
+# ----------------------------------------------------- graphical interface
+
+def gui():
+ """Graphical interface (starts web server and pops up a control window)."""
+ class GUI:
+ def __init__(self, window, port=7464):
+ self.window = window
+ self.server = None
+ self.scanner = None
+
+ import Tkinter
+ self.server_frm = Tkinter.Frame(window)
+ self.title_lbl = Tkinter.Label(self.server_frm,
+ text='Starting server...\n ')
+ self.open_btn = Tkinter.Button(self.server_frm,
+ text='open browser', command=self.open, state='disabled')
+ self.quit_btn = Tkinter.Button(self.server_frm,
+ text='quit serving', command=self.quit, state='disabled')
+
+ self.search_frm = Tkinter.Frame(window)
+ self.search_lbl = Tkinter.Label(self.search_frm, text='Search for')
+ self.search_ent = Tkinter.Entry(self.search_frm)
+ self.search_ent.bind('<Return>', self.search)
+ self.stop_btn = Tkinter.Button(self.search_frm,
+ text='stop', pady=0, command=self.stop, state='disabled')
+ if sys.platform == 'win32':
+ # Trying to hide and show this button crashes under Windows.
+ self.stop_btn.pack(side='right')
+
+ self.window.title('pydoc')
+ self.window.protocol('WM_DELETE_WINDOW', self.quit)
+ self.title_lbl.pack(side='top', fill='x')
+ self.open_btn.pack(side='left', fill='x', expand=1)
+ self.quit_btn.pack(side='right', fill='x', expand=1)
+ self.server_frm.pack(side='top', fill='x')
+
+ self.search_lbl.pack(side='left')
+ self.search_ent.pack(side='right', fill='x', expand=1)
+ self.search_frm.pack(side='top', fill='x')
+ self.search_ent.focus_set()
+
+ font = ('helvetica', sys.platform == 'win32' and 8 or 10)
+ self.result_lst = Tkinter.Listbox(window, font=font, height=6)
+ self.result_lst.bind('<Button-1>', self.select)
+ self.result_lst.bind('<Double-Button-1>', self.goto)
+ self.result_scr = Tkinter.Scrollbar(window,
+ orient='vertical', command=self.result_lst.yview)
+ self.result_lst.config(yscrollcommand=self.result_scr.set)
+
+ self.result_frm = Tkinter.Frame(window)
+ self.goto_btn = Tkinter.Button(self.result_frm,
+ text='go to selected', command=self.goto)
+ self.hide_btn = Tkinter.Button(self.result_frm,
+ text='hide results', command=self.hide)
+ self.goto_btn.pack(side='left', fill='x', expand=1)
+ self.hide_btn.pack(side='right', fill='x', expand=1)
+
+ self.window.update()
+ self.minwidth = self.window.winfo_width()
+ self.minheight = self.window.winfo_height()
+ self.bigminheight = (self.server_frm.winfo_reqheight() +
+ self.search_frm.winfo_reqheight() +
+ self.result_lst.winfo_reqheight() +
+ self.result_frm.winfo_reqheight())
+ self.bigwidth, self.bigheight = self.minwidth, self.bigminheight
+ self.expanded = 0
+ self.window.wm_geometry('%dx%d' % (self.minwidth, self.minheight))
+ self.window.wm_minsize(self.minwidth, self.minheight)
+ self.window.tk.willdispatch()
+
+ import threading
+ threading.Thread(
+ target=serve, args=(port, self.ready, self.quit)).start()
+
+ def ready(self, server):
+ self.server = server
+ self.title_lbl.config(
+ text='Python documentation server at\n' + server.url)
+ self.open_btn.config(state='normal')
+ self.quit_btn.config(state='normal')
+
+ def open(self, event=None, url=None):
+ url = url or self.server.url
+ try:
+ import webbrowser
+ webbrowser.open(url)
+ except ImportError: # pre-webbrowser.py compatibility
+ if sys.platform == 'win32':
+ os.system('start "%s"' % url)
+ elif sys.platform == 'mac':
+ try: import ic
+ except ImportError: pass
+ else: ic.launchurl(url)
+ else:
+ rc = os.system('netscape -remote "openURL(%s)" &' % url)
+ if rc: os.system('netscape "%s" &' % url)
+
+ def quit(self, event=None):
+ if self.server:
+ self.server.quit = 1
+ self.window.quit()
+
+ def search(self, event=None):
+ key = self.search_ent.get()
+ self.stop_btn.pack(side='right')
+ self.stop_btn.config(state='normal')
+ self.search_lbl.config(text='Searching for "%s"...' % key)
+ self.search_ent.forget()
+ self.search_lbl.pack(side='left')
+ self.result_lst.delete(0, 'end')
+ self.goto_btn.config(state='disabled')
+ self.expand()
+
+ import threading
+ if self.scanner:
+ self.scanner.quit = 1
+ self.scanner = ModuleScanner()
+ threading.Thread(target=self.scanner.run,
+ args=(self.update, key, self.done)).start()
+
+ def update(self, path, modname, desc):
+ if modname[-9:] == '.__init__':
+ modname = modname[:-9] + ' (package)'
+ self.result_lst.insert('end',
+ modname + ' - ' + (desc or '(no description)'))
+
+ def stop(self, event=None):
+ if self.scanner:
+ self.scanner.quit = 1
+ self.scanner = None
+
+ def done(self):
+ self.scanner = None
+ self.search_lbl.config(text='Search for')
+ self.search_lbl.pack(side='left')
+ self.search_ent.pack(side='right', fill='x', expand=1)
+ if sys.platform != 'win32': self.stop_btn.forget()
+ self.stop_btn.config(state='disabled')
+
+ def select(self, event=None):
+ self.goto_btn.config(state='normal')
+
+ def goto(self, event=None):
+ selection = self.result_lst.curselection()
+ if selection:
+ modname = split(self.result_lst.get(selection[0]))[0]
+ self.open(url=self.server.url + modname + '.html')
+
+ def collapse(self):
+ if not self.expanded: return
+ self.result_frm.forget()
+ self.result_scr.forget()
+ self.result_lst.forget()
+ self.bigwidth = self.window.winfo_width()
+ self.bigheight = self.window.winfo_height()
+ self.window.wm_geometry('%dx%d' % (self.minwidth, self.minheight))
+ self.window.wm_minsize(self.minwidth, self.minheight)
+ self.expanded = 0
+
+ def expand(self):
+ if self.expanded: return
+ self.result_frm.pack(side='bottom', fill='x')
+ self.result_scr.pack(side='right', fill='y')
+ self.result_lst.pack(side='top', fill='both', expand=1)
+ self.window.wm_geometry('%dx%d' % (self.bigwidth, self.bigheight))
+ self.window.wm_minsize(self.minwidth, self.bigminheight)
+ self.expanded = 1
+
+ def hide(self, event=None):
+ self.stop()
+ self.collapse()
+
+ import Tkinter
+ try:
+ gui = GUI(Tkinter.Tk())
+ Tkinter.mainloop()
+ except KeyboardInterrupt:
+ pass
+
+# -------------------------------------------------- command-line interface
+
+def ispath(x):
+ return isinstance(x, str) and find(x, os.sep) >= 0
+
+def cli():
+ """Command-line interface (looks at sys.argv to decide what to do)."""
+ import getopt
+ class BadUsage: pass
+
+ # Scripts don't get the current directory in their path by default.
+ scriptdir = os.path.dirname(sys.argv[0])
+ if scriptdir in sys.path:
+ sys.path.remove(scriptdir)
+ sys.path.insert(0, '.')
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], 'gk:p:w')
+ writing = 0
+
+ for opt, val in opts:
+ if opt == '-k':
+ apropos(val)
+ return
+ if opt == '-p':
+ try:
+ port = int(val)
+ except ValueError:
+ raise BadUsage
+ def ready(server):
+ print 'pydoc server ready at %s' % server.url
+ def stopped():
+ print 'pydoc server stopped'
+ serve(port, ready, stopped)
+ return
+ if opt == '-w':
+ writing = 1
+
+ if not args: raise BadUsage
+ for arg in args:
+ if ispath(arg) and not os.path.exists(arg):
+ print 'file %r does not exist' % arg
+ break
+ try:
+ if ispath(arg) and os.path.isfile(arg):
+ arg = importfile(arg)
+ if writing:
+ if ispath(arg) and os.path.isdir(arg):
+ writedocs(arg)
+ else:
+ writedoc(arg)
+ else:
+ help.help(arg)
+ except ErrorDuringImport, value:
+ print value
+
+ except (getopt.error, BadUsage):
+ cmd = os.path.basename(sys.argv[0])
+ print """pydoc - the Python documentation tool
+
+%s <name> ...
+ Show text documentation on something. <name> may be the name of a
+ Python keyword, topic, function, module, or package, or a dotted
+ reference to a class or function within a module or module in a
+ package. If <name> contains a '%s', it is used as the path to a
+ Python source file to document. If name is 'keywords', 'topics',
+ or 'modules', a listing of these things is displayed.
+
+%s -k <keyword>
+ Search for a keyword in the synopsis lines of all available modules.
+
+%s -p <port>
+ Start an HTTP server on the given port on the local machine.
+
+%s -w <name> ...
+ Write out the HTML documentation for a module to a file in the current
+ directory. If <name> contains a '%s', it is treated as a filename; if
+ it names a directory, documentation is written for all the contents.
+""" % (cmd, os.sep, cmd, cmd, cmd, os.sep)
+
+if __name__ == '__main__': cli()
diff --git a/trunk/apps/bindings/python/sensorType.i b/trunk/apps/bindings/python/sensorType.i
new file mode 100644
index 0000000..a13c625
--- /dev/null
+++ b/trunk/apps/bindings/python/sensorType.i
@@ -0,0 +1,17 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+// Two nested structs from RinexMetHeader.hpp
+
+struct sensorType
+{
+ std::string model;
+ std::string type;
+ double accuracy;
+ RinexMetType obsType;
+};
+
+struct sensorPosType
+{
+ gpstk::Triple position;
+ double height;
+ RinexMetType obsType;
+};
diff --git a/trunk/apps/bindings/python/streamRead.cpp b/trunk/apps/bindings/python/streamRead.cpp
new file mode 100644
index 0000000..2be3b79
--- /dev/null
+++ b/trunk/apps/bindings/python/streamRead.cpp
@@ -0,0 +1,11 @@
+// Some operator<< are not wrapped. Even some that are not nested.
+
+#include <iostream>
+#include <fstream>
+#include "DayTime.hpp"
+
+std::ostream& DayTime_streamRead(ostream& s, DayTime& t)
+{
+ s << t.printf("%02m/%02d/%04Y %02H:%02M:%02S");
+ return s;
+}
diff --git a/trunk/apps/bindings/python/streamRead.i b/trunk/apps/bindings/python/streamRead.i
new file mode 100644
index 0000000..f958704
--- /dev/null
+++ b/trunk/apps/bindings/python/streamRead.i
@@ -0,0 +1,3 @@
+// Some operator<< are not wrapped. Even some that are not nested.
+
+std::ostream& DayTime_streamRead(ostream& s, DayTime& t);
diff --git a/trunk/apps/bindings/tcl/Makefile b/trunk/apps/bindings/tcl/Makefile
new file mode 100644
index 0000000..df9c2e6
--- /dev/null
+++ b/trunk/apps/bindings/tcl/Makefile
@@ -0,0 +1,49 @@
+#
+# $Id:$
+#
+# This simple makefile builds a Tcl/Tk interface to the GPSTk from code
+# generated the SWIG utility (http://www.swig.org/).
+#
+# You shouldn't need to install SWIG to compile this interface as
+# distributed, unless you change the interface definition (.i files).
+#
+# What you do need:
+# - A C/C++ compiler.
+# - Development headers of Tcl/Tk
+# - Knowledge where the header tcl.h is installed
+# - The sed utility
+#
+# Not all GPSTk functionality is present in these Tcl/Tk bindings.
+# Two reasons: First, this is a work in progress and should be considered
+# incomplete. Second, not all of the GPSTk's functionality _can_ be mapped
+# into other languages such as Tcl/Tk.
+#
+# Examples of usage of this interface are in the examples subdirectory.
+#
+# Reminder for later: $@ is target, $< is rhs, $^ is rhs
+
+all : gpstk-tcl.so
+
+gpstk_wrap.cxx: ../gpstk.i ../common.i ../Exception.i ../GPSZcount.i \
+ ../DayTime.i ../FFTextStream.i ../RinexObsStream.i
+ swig -tcl -c++ -importall -ignoremissing -I.. \
+ gpstk.i
+
+gpstk_wrap_mod.cxx: gpstk_wrap.cxx
+ sed 's/DayTime.hpp\"/DayTime.hpp\"\nusing namespace gpstk;/' gpstk_wrap.cxx > gpstk_wrap_mod.cxx
+
+gpstk_wrap_mod.o: gpstk_wrap_mod.cxx
+ g++ -fpic -c gpstk_wrap_mod.cxx -I.. -I /usr/include/tcl8.4
+
+gpstk-tcl.so: gpstk_wrap_mod.o
+ g++ -shared gpstk_wrap_mod.o -o gpstk-tcl.so -lgpstk
+
+clean:
+ rm *_wrap*
+ rm *gpstk*.so
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/tcl/examples/example1.tcl b/trunk/apps/bindings/tcl/examples/example1.tcl
new file mode 100755
index 0000000..f210864
--- /dev/null
+++ b/trunk/apps/bindings/tcl/examples/example1.tcl
@@ -0,0 +1,10 @@
+#!/usr/bin/tclsh
+
+load ../gpstk-tcl.so
+
+DayTime time
+
+puts "Hello world"
+puts " The current GPS week is [time GPSfullweek]"
+puts " The day of the GPS week is [time GPSday]"
+puts " The seconds of the GPS week is [time GPSsecond]"
diff --git a/trunk/apps/bindings/tcl/gpstk_wrap_mod.cxx b/trunk/apps/bindings/tcl/gpstk_wrap_mod.cxx
new file mode 100644
index 0000000..51212da
--- /dev/null
+++ b/trunk/apps/bindings/tcl/gpstk_wrap_mod.cxx
@@ -0,0 +1,11807 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.24
+ *
+ * This file is not intended to be easily readable and contains a number of
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG
+ * interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+#ifdef __cplusplus
+template<class T> class SwigValueWrapper {
+ T *tt;
+public:
+ SwigValueWrapper() : tt(0) { }
+ SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+ SwigValueWrapper(const T& t) : tt(new T(t)) { }
+ ~SwigValueWrapper() { delete tt; }
+ SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
+ operator T&() const { return *tt; }
+ T *operator&() { return tt; }
+private:
+ SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};
+#endif
+
+
+#ifndef SWIG_TEMPLATE_DISAMBIGUATOR
+# if defined(__SUNPRO_CC)
+# define SWIG_TEMPLATE_DISAMBIGUATOR template
+# else
+# define SWIG_TEMPLATE_DISAMBIGUATOR
+# endif
+#endif
+
+/***********************************************************************
+ * swigrun.swg
+ *
+ * This file contains generic CAPI SWIG runtime support for pointer
+ * type checking.
+ *
+ ************************************************************************/
+
+/* This should only be incremented when either the layout of swig_type_info changes,
+ or for whatever reason, the runtime changes incompatibly */
+#define SWIG_RUNTIME_VERSION "1"
+
+/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
+#ifdef SWIG_TYPE_TABLE
+#define SWIG_QUOTE_STRING(x) #x
+#define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
+#define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
+#else
+#define SWIG_TYPE_TABLE_NAME
+#endif
+
+#include <string.h>
+
+#ifndef SWIGINLINE
+#if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
+# define SWIGINLINE inline
+#else
+# define SWIGINLINE
+#endif
+#endif
+
+/*
+ You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
+ creating a static or dynamic library from the swig runtime code.
+ In 99.9% of the cases, swig just needs to declare them as 'static'.
+
+ But only do this if is strictly necessary, ie, if you have problems
+ with your compiler or so.
+*/
+#ifndef SWIGRUNTIME
+#define SWIGRUNTIME static
+#endif
+#ifndef SWIGRUNTIMEINLINE
+#define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*swig_converter_func)(void *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+typedef struct swig_type_info {
+ const char *name;
+ swig_converter_func converter;
+ const char *str;
+ void *clientdata;
+ swig_dycast_func dcast;
+ struct swig_type_info *next;
+ struct swig_type_info *prev;
+} swig_type_info;
+
+/*
+ Compare two type names skipping the space characters, therefore
+ "char*" == "char *" and "Class<int>" == "Class<int >", etc.
+
+ Return 0 when the two name types are equivalent, as in
+ strncmp, but skipping ' '.
+*/
+SWIGRUNTIME int
+SWIG_TypeNameComp(const char *f1, const char *l1,
+ const char *f2, const char *l2) {
+ for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
+ while ((*f1 == ' ') && (f1 != l1)) ++f1;
+ while ((*f2 == ' ') && (f2 != l2)) ++f2;
+ if (*f1 != *f2) return *f1 - *f2;
+ }
+ return (l1 - f1) - (l2 - f2);
+}
+
+/*
+ Check type equivalence in a name list like <name1>|<name2>|...
+*/
+SWIGRUNTIME int
+SWIG_TypeEquiv(const char *nb, const char *tb) {
+ int equiv = 0;
+ const char* te = tb + strlen(tb);
+ const char* ne = nb;
+ while (!equiv && *ne) {
+ for (nb = ne; *ne; ++ne) {
+ if (*ne == '|') break;
+ }
+ equiv = SWIG_TypeNameComp(nb, ne, tb, te) == 0;
+ if (*ne) ++ne;
+ }
+ return equiv;
+}
+
+/*
+ Register a type mapping with the type-checking
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeRegisterTL(swig_type_info **tl, swig_type_info *ti) {
+ swig_type_info *tc, *head, *ret, *next;
+ /* Check to see if this type has already been registered */
+ tc = *tl;
+ while (tc) {
+ /* check simple type equivalence */
+ int typeequiv = (strcmp(tc->name, ti->name) == 0);
+ /* check full type equivalence, resolving typedefs */
+ if (!typeequiv) {
+ /* only if tc is not a typedef (no '|' on it) */
+ if (tc->str && ti->str && !strstr(tc->str,"|")) {
+ typeequiv = SWIG_TypeEquiv(ti->str,tc->str);
+ }
+ }
+ if (typeequiv) {
+ /* Already exists in the table. Just add additional types to the list */
+ if (ti->clientdata) tc->clientdata = ti->clientdata;
+ head = tc;
+ next = tc->next;
+ goto l1;
+ }
+ tc = tc->prev;
+ }
+ head = ti;
+ next = 0;
+
+ /* Place in list */
+ ti->prev = *tl;
+ *tl = ti;
+
+ /* Build linked lists */
+ l1:
+ ret = head;
+ tc = ti + 1;
+ /* Patch up the rest of the links */
+ while (tc->name) {
+ head->next = tc;
+ tc->prev = head;
+ head = tc;
+ tc++;
+ }
+ if (next) next->prev = head;
+ head->next = next;
+
+ return ret;
+}
+
+/*
+ Check the typename
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeCheck(const char *c, swig_type_info *ty) {
+ swig_type_info *s;
+ if (!ty) return 0; /* Void pointer */
+ s = ty->next; /* First element always just a name */
+ do {
+ if (strcmp(s->name,c) == 0) {
+ if (s == ty->next) return s;
+ /* Move s to the top of the linked list */
+ s->prev->next = s->next;
+ if (s->next) {
+ s->next->prev = s->prev;
+ }
+ /* Insert s as second element in the list */
+ s->next = ty->next;
+ if (ty->next) ty->next->prev = s;
+ ty->next = s;
+ s->prev = ty;
+ return s;
+ }
+ s = s->next;
+ } while (s && (s != ty->next));
+ return 0;
+}
+
+/*
+ Cast a pointer up an inheritance hierarchy
+*/
+SWIGRUNTIMEINLINE void *
+SWIG_TypeCast(swig_type_info *ty, void *ptr) {
+ return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
+}
+
+/*
+ Dynamic pointer casting. Down an inheritance hierarchy
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
+ swig_type_info *lastty = ty;
+ if (!ty || !ty->dcast) return ty;
+ while (ty && (ty->dcast)) {
+ ty = (*ty->dcast)(ptr);
+ if (ty) lastty = ty;
+ }
+ return lastty;
+}
+
+/*
+ Return the name associated with this type
+*/
+SWIGRUNTIMEINLINE const char *
+SWIG_TypeName(const swig_type_info *ty) {
+ return ty->name;
+}
+
+/*
+ Return the pretty name associated with this type,
+ that is an unmangled type name in a form presentable to the user.
+*/
+SWIGRUNTIME const char *
+SWIG_TypePrettyName(const swig_type_info *type) {
+ /* The "str" field contains the equivalent pretty names of the
+ type, separated by vertical-bar characters. We choose
+ to print the last name, as it is often (?) the most
+ specific. */
+ if (type->str != NULL) {
+ const char *last_name = type->str;
+ const char *s;
+ for (s = type->str; *s; s++)
+ if (*s == '|') last_name = s+1;
+ return last_name;
+ }
+ else
+ return type->name;
+}
+
+/*
+ Search for a swig_type_info structure
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeQueryTL(swig_type_info *tl, const char *name) {
+ swig_type_info *ty = tl;
+ while (ty) {
+ if (ty->str && (SWIG_TypeEquiv(ty->str,name))) return ty;
+ if (ty->name && (strcmp(name,ty->name) == 0)) return ty;
+ ty = ty->prev;
+ }
+ return 0;
+}
+
+/*
+ Set the clientdata field for a type
+*/
+SWIGRUNTIME void
+SWIG_TypeClientDataTL(swig_type_info *tl, swig_type_info *ti, void *clientdata) {
+ swig_type_info *tc, *equiv;
+ if (ti->clientdata) return;
+ /* if (ti->clientdata == clientdata) return; */
+ ti->clientdata = clientdata;
+ equiv = ti->next;
+ while (equiv) {
+ if (!equiv->converter) {
+ tc = tl;
+ while (tc) {
+ if ((strcmp(tc->name, equiv->name) == 0))
+ SWIG_TypeClientDataTL(tl,tc,clientdata);
+ tc = tc->prev;
+ }
+ }
+ equiv = equiv->next;
+ }
+}
+
+/*
+ Pack binary data into a string
+*/
+SWIGRUNTIME char *
+SWIG_PackData(char *c, void *ptr, size_t sz) {
+ static char hex[17] = "0123456789abcdef";
+ unsigned char *u = (unsigned char *) ptr;
+ const unsigned char *eu = u + sz;
+ register unsigned char uu;
+ for (; u != eu; ++u) {
+ uu = *u;
+ *(c++) = hex[(uu & 0xf0) >> 4];
+ *(c++) = hex[uu & 0xf];
+ }
+ return c;
+}
+
+/*
+ Unpack binary data from a string
+*/
+SWIGRUNTIME const char *
+SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
+ register unsigned char *u = (unsigned char *) ptr;
+ register const unsigned char *eu = u + sz;
+ for (; u != eu; ++u) {
+ register int d = *(c++);
+ register unsigned char uu = 0;
+ if ((d >= '0') && (d <= '9'))
+ uu = ((d - '0') << 4);
+ else if ((d >= 'a') && (d <= 'f'))
+ uu = ((d - ('a'-10)) << 4);
+ else
+ return (char *) 0;
+ d = *(c++);
+ if ((d >= '0') && (d <= '9'))
+ uu |= (d - '0');
+ else if ((d >= 'a') && (d <= 'f'))
+ uu |= (d - ('a'-10));
+ else
+ return (char *) 0;
+ *u = uu;
+ }
+ return c;
+}
+
+/*
+ This function will propagate the clientdata field of type to any new
+ swig_type_info structures that have been added into the list of
+ equivalent types. It is like calling SWIG_TypeClientData(type,
+ clientdata) a second time.
+*/
+SWIGRUNTIME void
+SWIG_PropagateClientDataTL(swig_type_info *tl, swig_type_info *type) {
+ swig_type_info *equiv = type->next;
+ swig_type_info *tc;
+ if (!type->clientdata) return;
+ while (equiv) {
+ if (!equiv->converter) {
+ tc = tl;
+ while (tc) {
+ if ((strcmp(tc->name, equiv->name) == 0) && !tc->clientdata)
+ SWIG_TypeClientDataTL(tl,tc, type->clientdata);
+ tc = tc->prev;
+ }
+ }
+ equiv = equiv->next;
+ }
+}
+
+/*
+ Pack 'void *' into a string buffer.
+*/
+SWIGRUNTIME char *
+SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
+ char *r = buff;
+ if ((2*sizeof(void *) + 2) > bsz) return 0;
+ *(r++) = '_';
+ r = SWIG_PackData(r,&ptr,sizeof(void *));
+ if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
+ strcpy(r,name);
+ return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
+ if (*c != '_') {
+ if (strcmp(c,"NULL") == 0) {
+ *ptr = (void *) 0;
+ return name;
+ } else {
+ return 0;
+ }
+ }
+ return SWIG_UnpackData(++c,ptr,sizeof(void *));
+}
+
+SWIGRUNTIME char *
+SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
+ char *r = buff;
+ size_t lname = (name ? strlen(name) : 0);
+ if ((2*sz + 2 + lname) > bsz) return 0;
+ *(r++) = '_';
+ r = SWIG_PackData(r,ptr,sz);
+ if (lname) {
+ strncpy(r,name,lname+1);
+ } else {
+ *r = 0;
+ }
+ return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
+ if (*c != '_') {
+ if (strcmp(c,"NULL") == 0) {
+ memset(ptr,0,sz);
+ return name;
+ } else {
+ return 0;
+ }
+ }
+ return SWIG_UnpackData(++c,ptr,sz);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/***********************************************************************
+ * common.swg
+ *
+ * This file contains generic SWIG runtime support for pointer
+ * type checking as well as a few commonly used macros to control
+ * external linkage.
+ *
+ * Author : David Beazley (beazley at cs.uchicago.edu)
+ *
+ * Copyright (c) 1999-2000, The University of Chicago
+ *
+ * This file may be freely redistributed without license or fee provided
+ * this copyright message remains intact.
+ ************************************************************************/
+
+
+#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+# if !defined(STATIC_LINKED)
+# define SWIGEXPORT(a) __declspec(dllexport) a
+# else
+# define SWIGEXPORT(a) a
+# endif
+#else
+# define SWIGEXPORT(a) a
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/*************************************************************************/
+
+
+/* The static type info list */
+
+static swig_type_info *swig_type_list = 0;
+static swig_type_info **swig_type_list_handle = &swig_type_list;
+
+
+/* Register a type mapping with the type-checking */
+static swig_type_info *
+SWIG_TypeRegister(swig_type_info *ti) {
+ return SWIG_TypeRegisterTL(swig_type_list_handle, ti);
+}
+
+/* Search for a swig_type_info structure */
+static swig_type_info *
+SWIG_TypeQuery(const char *name) {
+ return SWIG_TypeQueryTL(*swig_type_list_handle, name);
+}
+
+/* Set the clientdata field for a type */
+static void
+SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
+ SWIG_TypeClientDataTL(*swig_type_list_handle, ti, clientdata);
+}
+
+/* This function will propagate the clientdata field of type to
+* any new swig_type_info structures that have been added into the list
+* of equivalent types. It is like calling
+* SWIG_TypeClientData(type, clientdata) a second time.
+*/
+static void
+SWIG_PropagateClientData(swig_type_info *type) {
+ SWIG_PropagateClientDataTL(*swig_type_list_handle, type);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/*
+ * $Header: /cvsroot/swig/SWIG/Lib/tcl/swigtcl8.swg,v 1.24 2004/11/21 19:30:55 marcelomatus Exp $
+ *
+ * swigtcl8.swg
+ */
+
+#include <tcl.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <ctype.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Constant table */
+
+#define SWIG_TCL_INT 1
+#define SWIG_TCL_FLOAT 2
+#define SWIG_TCL_STRING 3
+#define SWIG_TCL_POINTER 4
+#define SWIG_TCL_BINARY 5
+
+/* Flags for pointer conversion */
+#define SWIG_POINTER_EXCEPTION 0x1
+#define SWIG_POINTER_DISOWN 0x2
+
+/* Swig fail macro */
+
+#define SWIG_fail goto fail
+
+/* Constant information structure */
+typedef struct swig_const_info {
+ int type;
+ char *name;
+ long lvalue;
+ double dvalue;
+ void *pvalue;
+ swig_type_info **ptype;
+} swig_const_info;
+
+typedef int (*swig_wrapper)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
+typedef int (*swig_wrapper_func)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
+typedef char *(*swig_variable_func)(ClientData, Tcl_Interp *, char *, char *, int);
+typedef void (*swig_delete_func)(ClientData);
+
+typedef struct swig_method {
+ const char *name;
+ swig_wrapper method;
+} swig_method;
+
+typedef struct swig_attribute {
+ const char *name;
+ swig_wrapper getmethod;
+ swig_wrapper setmethod;
+} swig_attribute;
+
+typedef struct swig_class {
+ const char *name;
+ swig_type_info **type;
+ swig_wrapper constructor;
+ void (*destructor)(void *);
+ swig_method *methods;
+ swig_attribute *attributes;
+ struct swig_class **bases;
+ char **base_names;
+} swig_class;
+
+typedef struct swig_instance {
+ Tcl_Obj *thisptr;
+ void *thisvalue;
+ swig_class *classptr;
+ int destroy;
+ Tcl_Command cmdtok;
+} swig_instance;
+
+#define SWIG_NewPointerObj(ptr, type, flags) \
+ SWIG_Tcl_NewPointerObj(ptr, type, flags)
+#define SWIG_ConvertPtr(oc, ptr, ty, flags) \
+ SWIG_Tcl_ConvertPtr(interp, oc, ptr, ty, flags)
+#define SWIG_ConvertPtrFromString(c, ptr, ty, flags) \
+ SWIG_Tcl_ConvertPtrFromString(interp, c, ptr, ty, flags)
+#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \
+ SWIG_Tcl_ConvertPacked(interp, obj, ptr, sz, ty, flags)
+#define SWIG_MakePtr(c, ptr, ty, flags) \
+ SWIG_Tcl_MakePtr(c, ptr, ty, flags)
+#define SWIG_NewPackedObj(ptr, sz, type, flags) \
+ SWIG_Tcl_NewPackedObj(ptr, sz, type, flags)
+#define SWIG_GetArgs SWIG_Tcl_GetArgs
+#define SWIG_PointerTypeFromString(c) \
+ SWIG_Tcl_PointerTypeFromString(c)
+#define SWIG_Acquire(ptr) \
+ SWIG_Tcl_Acquire(ptr)
+#define SWIG_Disown(ptr) \
+ SWIG_Tcl_Disown(ptr)
+#define SWIG_Thisown(ptr) \
+ SWIG_Tcl_Thisown(ptr)
+#define SWIG_InstallConstants(interp, constants) \
+ SWIG_Tcl_InstallConstants(interp, constants)
+#define SWIG_GetConstant(key) \
+ SWIG_Tcl_GetConstant(key)
+#define SWIG_NewInstanceObj(thisvalue, type, flags) \
+ SWIG_Tcl_NewInstanceObj(interp, thisvalue, type, flags)
+#define SWIG_ObjectConstructor SWIG_Tcl_ObjectConstructor
+#define SWIG_MethodCommand SWIG_Tcl_MethodCommand
+#define SWIG_ObjectDelete SWIG_Tcl_ObjectDelete
+
+static void
+SWIG_Tcl_LookupTypePointer(Tcl_Interp *interp) {
+ char buf[512];
+ char *data;
+
+ /* first check if pointer already created */
+ data = (char *) Tcl_GetVar(interp, "swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TCL_GLOBAL_ONLY);
+ if (data) {
+ SWIG_UnpackData(data, &swig_type_list_handle, sizeof(swig_type_info **));
+ } else {
+ /* create a new pointer */
+ data = SWIG_PackData(buf, &swig_type_list_handle, sizeof(swig_type_info **));
+ *data = 0;
+ Tcl_SetVar(interp, "swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, buf, 0);
+ }
+}
+
+/* Object support */
+static Tcl_HashTable swigobjectTable;
+static int swigobjectTableinit = 0;
+
+/* Acquire ownership of a pointer */
+static void
+SWIG_Tcl_Acquire(void *ptr) {
+ Tcl_HashEntry *entryPtr;
+ int newobj;
+ if (!swigobjectTableinit) {
+ Tcl_InitHashTable(&swigobjectTable, TCL_ONE_WORD_KEYS);
+ swigobjectTableinit = 1;
+ }
+ entryPtr = Tcl_CreateHashEntry(&swigobjectTable, (char *) ptr, &newobj);
+}
+
+/* Disown a pointer. Returns 1 if we owned it to begin with */
+static int
+SWIG_Tcl_Disown(void *ptr) {
+ Tcl_HashEntry *entryPtr;
+ if (!swigobjectTableinit) return 0;
+ entryPtr = Tcl_FindHashEntry(&swigobjectTable, (char *) ptr);
+ if (entryPtr) {
+ Tcl_DeleteHashEntry(entryPtr);
+ return 1;
+ }
+ return 0;
+}
+
+static int
+SWIG_Tcl_Thisown(void *ptr) {
+ if (!swigobjectTableinit) return 0;
+ if (Tcl_FindHashEntry(&swigobjectTable, (char *) ptr)) {
+ return 1;
+ }
+ return 0;
+}
+
+/* Convert a pointer value */
+static int
+SWIG_Tcl_ConvertPtrFromString(Tcl_Interp *interp, const char *c, void **ptr, swig_type_info *ty, int flags) {
+ swig_type_info *tc;
+ /* Pointer values must start with leading underscore */
+ while (*c != '_') {
+ *ptr = (void *) 0;
+ if (strcmp(c,"NULL") == 0) return TCL_OK;
+ /* Hmmm. It could be an object name. */
+ if (Tcl_VarEval(interp,c," cget -this", (char *) NULL) == TCL_OK) {
+ Tcl_Obj *result = Tcl_GetObjResult(interp);
+ c = Tcl_GetStringFromObj(result, NULL);
+ continue;
+ }
+ Tcl_ResetResult(interp);
+ if (flags & SWIG_POINTER_EXCEPTION)
+ Tcl_SetResult(interp, (char *) "Type error. Expected a pointer", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ c++;
+ c = SWIG_UnpackData(c,ptr,sizeof(void *));
+ if (ty) {
+ tc = SWIG_TypeCheck(c,ty);
+ if ((!tc) && (flags & SWIG_POINTER_EXCEPTION)) {
+ Tcl_SetResult(interp, (char *) "Type error. Expected ", TCL_STATIC);
+ Tcl_AppendElement(interp, (char *) ty->name);
+ return TCL_ERROR;
+ } else if (!tc) {
+ Tcl_ResetResult(interp);
+ return TCL_ERROR;
+ }
+ if (flags & SWIG_POINTER_DISOWN) {
+ SWIG_Disown((void *) *ptr);
+ }
+ *ptr = SWIG_TypeCast(tc,(void *) *ptr);
+ }
+ return TCL_OK;
+}
+
+/* Convert a pointer value */
+static SWIGINLINE int
+SWIG_Tcl_ConvertPtr(Tcl_Interp *interp, Tcl_Obj *oc, void **ptr, swig_type_info *ty, int flags) {
+ return SWIG_Tcl_ConvertPtrFromString(interp, Tcl_GetStringFromObj(oc,NULL), ptr, ty, flags);
+}
+
+/* Convert a pointer value */
+static char *
+SWIG_Tcl_PointerTypeFromString(char *c) {
+ char d;
+ /* Pointer values must start with leading underscore. NULL has no type */
+ if (*c != '_') {
+ return 0;
+ }
+ c++;
+ /* Extract hex value from pointer */
+ while ((d = *c)) {
+ if (!(((d >= '0') && (d <= '9')) || ((d >= 'a') && (d <= 'f')))) break;
+ c++;
+ }
+ return c;
+}
+
+/* Convert a packed value value */
+static int
+SWIG_Tcl_ConvertPacked(Tcl_Interp *interp, Tcl_Obj *obj, void *ptr, int sz, swig_type_info *ty, int flags) {
+ swig_type_info *tc;
+ const char *c;
+
+ if (!obj) goto type_error;
+ c = Tcl_GetStringFromObj(obj,NULL);
+ /* Pointer values must start with leading underscore */
+ if (*c != '_') goto type_error;
+ c++;
+ c = SWIG_UnpackData(c,ptr,sz);
+ if (ty) {
+ tc = SWIG_TypeCheck(c,ty);
+ if (!tc) goto type_error;
+ }
+ return TCL_OK;
+
+type_error:
+
+ if (flags) {
+ if (ty) {
+ Tcl_SetResult(interp, (char *) "Type error. Expected ", TCL_STATIC);
+ Tcl_AppendElement(interp, (char *) ty->name);
+ return TCL_ERROR;
+ } else {
+ Tcl_SetResult(interp, (char *) "Expected packed data.", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ }
+ return TCL_ERROR;
+}
+
+
+/* Take a pointer and convert it to a string */
+static void
+SWIG_Tcl_MakePtr(char *c, void *ptr, swig_type_info *ty, int flags) {
+ if (ptr) {
+ *(c++) = '_';
+ c = SWIG_PackData(c,&ptr,sizeof(void *));
+ strcpy(c,ty->name);
+ } else {
+ strcpy(c,(char *)"NULL");
+ }
+ flags = 0;
+}
+
+/* Create a new pointer object */
+static SWIGINLINE Tcl_Obj *
+SWIG_Tcl_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
+ Tcl_Obj *robj;
+ char result[512];
+ SWIG_MakePtr(result,ptr,type,flags);
+ robj = Tcl_NewStringObj(result,-1);
+ return robj;
+}
+
+static Tcl_Obj *
+SWIG_Tcl_NewPackedObj(void *ptr, int sz, swig_type_info *type, int flags) {
+ char result[1024];
+ char *r = result;
+ if ((2*sz + 1 + strlen(type->name)) > 1000) return 0;
+ *(r++) = '_';
+ r = SWIG_PackData(r,ptr,sz);
+ strcpy(r,type->name);
+ flags = 0;
+ return Tcl_NewStringObj(result,-1);
+}
+
+static Tcl_HashTable swigconstTable;
+static int swigconstTableinit = 0;
+
+/* Install Constants */
+static void
+SWIG_Tcl_InstallConstants(Tcl_Interp *interp, swig_const_info constants[]) {
+ int i;
+ Tcl_Obj *obj;
+ Tcl_HashEntry *entryPtr;
+ int newobj;
+
+ if (!swigconstTableinit) {
+ Tcl_InitHashTable(&swigconstTable, TCL_STRING_KEYS);
+ swigconstTableinit = 1;
+ }
+ for (i = 0; constants[i].type; i++) {
+ switch(constants[i].type) {
+ case SWIG_TCL_INT:
+ obj = Tcl_NewIntObj(constants[i].lvalue);
+ break;
+ case SWIG_TCL_FLOAT:
+ obj = Tcl_NewDoubleObj(constants[i].dvalue);
+ break;
+ case SWIG_TCL_STRING:
+ obj = Tcl_NewStringObj((char *) constants[i].pvalue,-1);
+ break;
+ case SWIG_TCL_POINTER:
+ obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
+ break;
+ case SWIG_TCL_BINARY:
+ obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype),0);
+ break;
+ default:
+ obj = 0;
+ break;
+ }
+ if (obj) {
+ Tcl_ObjSetVar2(interp,Tcl_NewStringObj(constants[i].name,-1), NULL, obj, TCL_GLOBAL_ONLY);
+ entryPtr = Tcl_CreateHashEntry(&swigconstTable, constants[i].name, &newobj);
+ Tcl_SetHashValue(entryPtr, (ClientData) obj);
+ }
+ }
+}
+
+static Tcl_Obj *
+SWIG_Tcl_GetConstant(const char *key) {
+ Tcl_HashEntry *entryPtr;
+ if (!swigconstTableinit) return 0;
+ entryPtr = Tcl_FindHashEntry(&swigconstTable, key);
+ if (entryPtr) {
+ return (Tcl_Obj *) Tcl_GetHashValue(entryPtr);
+ }
+ printf("Searching %s\n", key);
+ return 0;
+}
+
+/* Get arguments */
+static int
+SWIG_Tcl_GetArgs(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], const char *fmt, ...) {
+ int argno = 0, opt = 0;
+ long tempi;
+ double tempd;
+ const char *c;
+ va_list ap;
+ void *vptr;
+ Tcl_Obj *obj = 0;
+ swig_type_info *ty;
+
+ va_start(ap,fmt);
+ for (c = fmt; (*c && (*c != ':') && (*c != ';')); c++,argno++) {
+ if (*c == '|') {
+ opt = 1;
+ c++;
+ }
+ if (argno >= (objc-1)) {
+ if (!opt) {
+ Tcl_SetResult(interp, (char *) "Wrong # args. ", TCL_STATIC);
+ goto argerror;
+ } else {
+ va_end(ap);
+ return TCL_OK;
+ }
+ }
+
+ vptr = va_arg(ap,void *);
+ if (vptr) {
+ if (isupper(*c)) {
+ obj = SWIG_GetConstant(Tcl_GetStringFromObj(objv[argno+1],0));
+ if (!obj) obj = objv[argno+1];
+ } else {
+ obj = objv[argno+1];
+ }
+ switch(*c) {
+ case 'i': case 'I':
+ case 'l': case 'L':
+ case 'h': case 'H':
+ case 'b': case 'B':
+ if (Tcl_GetLongFromObj(interp,obj,&tempi) != TCL_OK) goto argerror;
+ if ((*c == 'i') || (*c == 'I')) *((int *)vptr) = (int)tempi;
+ else if ((*c == 'l') || (*c == 'L')) *((long *)vptr) = (long)tempi;
+ else if ((*c == 'h') || (*c == 'H')) *((short*)vptr) = (short)tempi;
+ else if ((*c == 'b') || (*c == 'B')) *((unsigned char *)vptr) = (unsigned char)tempi;
+ break;
+ case 'f': case 'F':
+ case 'd': case 'D':
+ if (Tcl_GetDoubleFromObj(interp,obj,&tempd) != TCL_OK) goto argerror;
+ if ((*c == 'f') || (*c == 'F')) *((float *) vptr) = (float)tempd;
+ else if ((*c == 'd') || (*c == 'D')) *((double*) vptr) = tempd;
+ break;
+ case 's': case 'S':
+ if (*(c+1) == '#') {
+ int *vlptr = (int *) va_arg(ap, void *);
+ *((char **) vptr) = Tcl_GetStringFromObj(obj, vlptr);
+ c++;
+ } else {
+ *((char **)vptr) = Tcl_GetStringFromObj(obj,NULL);
+ }
+ break;
+ case 'c': case 'C':
+ *((char *)vptr) = *(Tcl_GetStringFromObj(obj,NULL));
+ break;
+ case 'p': case 'P':
+ ty = (swig_type_info *) va_arg(ap, void *);
+ if (SWIG_Tcl_ConvertPtr(interp, obj, (void **) vptr, ty, SWIG_POINTER_EXCEPTION) == TCL_ERROR) goto argerror;
+ break;
+ case 'o': case 'O':
+ *((Tcl_Obj **)vptr) = objv[argno+1];
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ if ((*c != ';') && ((objc-1) > argno)) {
+ Tcl_SetResult(interp, (char *) "Wrong # args.", TCL_STATIC);
+ goto argerror;
+ }
+ va_end(ap);
+ return TCL_OK;
+
+ argerror:
+ {
+ char temp[32];
+ sprintf(temp,"%d", argno+1);
+ c = strchr(fmt,':');
+ if (!c) c = strchr(fmt,';');
+ if (!c) c = (char *)"";
+ Tcl_AppendResult(interp,c," argument ", temp, NULL);
+ va_end(ap);
+ return TCL_ERROR;
+ }
+}
+
+static void
+SWIG_Tcl_ObjectDelete(ClientData clientData) {
+ swig_instance *si = (swig_instance *) clientData;
+ if ((si) && (si->destroy) && (SWIG_Disown(si->thisvalue))) {
+ if (si->classptr->destructor) {
+ (si->classptr->destructor)(si->thisvalue);
+ }
+ }
+ Tcl_DecrRefCount(si->thisptr);
+ free(si);
+}
+
+/* Function to invoke object methods given an instance */
+static int
+SWIG_Tcl_MethodCommand(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+ char *method, *attrname;
+ swig_instance *inst = (swig_instance *) clientData;
+ swig_method *meth;
+ swig_attribute *attr;
+ Tcl_Obj *oldarg;
+ Tcl_Obj **objv;
+ int rcode;
+ swig_class *cls;
+ swig_class *cls_stack[64];
+ int cls_stack_bi[64];
+ int cls_stack_top = 0;
+ int numconf = 2;
+ int bi;
+
+ objv = (Tcl_Obj **) _objv;
+ if (objc < 2) {
+ Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ method = Tcl_GetStringFromObj(objv[1],NULL);
+ if (strcmp(method,"-acquire") == 0) {
+ inst->destroy = 1;
+ SWIG_Acquire(inst->thisvalue);
+ return TCL_OK;
+ }
+ if (strcmp(method,"-disown") == 0) {
+ if (inst->destroy) {
+ SWIG_Disown(inst->thisvalue);
+ }
+ inst->destroy = 0;
+ return TCL_OK;
+ }
+ if (strcmp(method,"-delete") == 0) {
+ Tcl_DeleteCommandFromToken(interp,inst->cmdtok);
+ return TCL_OK;
+ }
+ cls_stack[cls_stack_top] = inst->classptr;
+ cls_stack_bi[cls_stack_top] = -1;
+ cls = inst->classptr;
+ while (1) {
+ bi = cls_stack_bi[cls_stack_top];
+ cls = cls_stack[cls_stack_top];
+ if (bi != -1) {
+ if (!cls->bases[bi] && cls->base_names[bi]) {
+ /* lookup and cache the base class */
+ swig_type_info *info = SWIG_TypeQuery(cls->base_names[bi]);
+ if (info) cls->bases[bi] = (swig_class *) info->clientdata;
+ }
+ cls = cls->bases[bi];
+ if (cls) {
+ cls_stack_bi[cls_stack_top]++;
+ cls_stack_top++;
+ cls_stack[cls_stack_top] = cls;
+ cls_stack_bi[cls_stack_top] = -1;
+ continue;
+ }
+ }
+ if (!cls) {
+ cls_stack_top--;
+ if (cls_stack_top < 0) break;
+ else continue;
+ }
+ cls_stack_bi[cls_stack_top]++;
+
+ meth = cls->methods;
+ /* Check for methods */
+ while (meth && meth->name) {
+ if (strcmp(meth->name,method) == 0) {
+ oldarg = objv[1];
+ objv[1] = inst->thisptr;
+ Tcl_IncrRefCount(inst->thisptr);
+ rcode = (*meth->method)(clientData,interp,objc,objv);
+ objv[1] = oldarg;
+ Tcl_DecrRefCount(inst->thisptr);
+ return rcode;
+ }
+ meth++;
+ }
+ /* Check class methods for a match */
+ if (strcmp(method,"cget") == 0) {
+ if (objc < 3) {
+ Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ attrname = Tcl_GetStringFromObj(objv[2],NULL);
+ attr = cls->attributes;
+ while (attr && attr->name) {
+ if ((strcmp(attr->name, attrname) == 0) && (attr->getmethod)) {
+ oldarg = objv[1];
+ objv[1] = inst->thisptr;
+ Tcl_IncrRefCount(inst->thisptr);
+ rcode = (*attr->getmethod)(clientData,interp,2, objv);
+ objv[1] = oldarg;
+ Tcl_DecrRefCount(inst->thisptr);
+ return rcode;
+ }
+ attr++;
+ }
+ if (strcmp(attrname, "-this") == 0) {
+ Tcl_SetObjResult(interp, Tcl_DuplicateObj(inst->thisptr));
+ return TCL_OK;
+ }
+ if (strcmp(attrname, "-thisown") == 0) {
+ if (SWIG_Thisown(inst->thisvalue)) {
+ Tcl_SetResult(interp,(char*)"1",TCL_STATIC);
+ } else {
+ Tcl_SetResult(interp,(char*)"0",TCL_STATIC);
+ }
+ return TCL_OK;
+ }
+ } else if (strcmp(method, "configure") == 0) {
+ int i;
+ if (objc < 4) {
+ Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ i = 2;
+ while (i < objc) {
+ attrname = Tcl_GetStringFromObj(objv[i],NULL);
+ attr = cls->attributes;
+ while (attr && attr->name) {
+ if ((strcmp(attr->name, attrname) == 0) && (attr->setmethod)) {
+ oldarg = objv[i];
+ objv[i] = inst->thisptr;
+ Tcl_IncrRefCount(inst->thisptr);
+ rcode = (*attr->setmethod)(clientData,interp,3, &objv[i-1]);
+ objv[i] = oldarg;
+ Tcl_DecrRefCount(inst->thisptr);
+ if (rcode != TCL_OK) return rcode;
+ numconf += 2;
+ }
+ attr++;
+ }
+ i+=2;
+ }
+ }
+ }
+ if (strcmp(method,"configure") == 0) {
+ if (numconf >= objc) {
+ return TCL_OK;
+ } else {
+ Tcl_SetResult(interp,(char *) "Invalid attribute name.", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ }
+ if (strcmp(method,"cget") == 0) {
+ Tcl_SetResult(interp,(char *) "Invalid attribute name.", TCL_STATIC);
+ return TCL_ERROR;
+ }
+
+ Tcl_SetResult(interp, (char *) "Invalid method. Must be one of: configure cget -acquire -disown -delete", TCL_STATIC);
+ cls = inst->classptr;
+ bi = 0;
+ while (cls) {
+ meth = cls->methods;
+ while (meth && meth->name) {
+ char *cr = (char *) Tcl_GetStringResult(interp);
+ if (!strstr(strchr(cr,':'), meth->name))
+ Tcl_AppendElement(interp, (char *) meth->name);
+ meth++;
+ }
+ cls = inst->classptr->bases[bi++];
+ }
+ return TCL_ERROR;
+}
+
+/* Function to create objects */
+static int
+SWIG_Tcl_ObjectConstructor(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *newObj = 0;
+ void *thisvalue = 0;
+ swig_instance *newinst = 0;
+ swig_class *classptr = (swig_class *) clientData;
+ swig_wrapper cons = 0;
+ char *name = 0;
+ int firstarg = 0;
+ int thisarg = 0;
+ int destroy = 1;
+
+ if (!classptr) {
+ Tcl_SetResult(interp, (char *) "swig: internal runtime error. No class object defined.", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ cons = classptr->constructor;
+ if (objc > 1) {
+ char *s = Tcl_GetStringFromObj(objv[1],NULL);
+ if (strcmp(s,"-this") == 0) {
+ thisarg = 2;
+ cons = 0;
+ } else if (strcmp(s,"-args") == 0) {
+ firstarg = 1;
+ } else if (objc == 2) {
+ firstarg = 1;
+ name = s;
+ } else if (objc >= 3) {
+ char *s1;
+ name = s;
+ s1 = Tcl_GetStringFromObj(objv[2],NULL);
+ if (strcmp(s1,"-this") == 0) {
+ thisarg = 3;
+ cons = 0;
+ } else {
+ firstarg = 1;
+ }
+ }
+ }
+ if (cons) {
+ int result;
+ result = (*cons)(0, interp, objc-firstarg, &objv[firstarg]);
+ if (result != TCL_OK) {
+ return result;
+ }
+ newObj = Tcl_DuplicateObj(Tcl_GetObjResult(interp));
+ if (!name) name = Tcl_GetStringFromObj(newObj,NULL);
+ } else if (thisarg > 0) {
+ if (thisarg < objc) {
+ destroy = 0;
+ newObj = Tcl_DuplicateObj(objv[thisarg]);
+ if (!name) name = Tcl_GetStringFromObj(newObj,NULL);
+ } else {
+ Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ } else {
+ Tcl_SetResult(interp, (char *) "No constructor available.", TCL_STATIC);
+ return TCL_ERROR;
+ }
+ if (SWIG_Tcl_ConvertPtr(interp,newObj, (void **) &thisvalue, *(classptr->type), SWIG_POINTER_EXCEPTION) == TCL_ERROR) {
+ Tcl_DecrRefCount(newObj);
+ return TCL_ERROR;
+ }
+ newinst = (swig_instance *) malloc(sizeof(swig_instance));
+ newinst->thisptr = newObj;
+ Tcl_IncrRefCount(newObj);
+ newinst->thisvalue = thisvalue;
+ newinst->classptr = classptr;
+ newinst->destroy = destroy;
+ if (destroy) {
+ SWIG_Acquire(thisvalue);
+ }
+ newinst->cmdtok = Tcl_CreateObjCommand(interp,name, (swig_wrapper) SWIG_MethodCommand, (ClientData) newinst, (swig_delete_func) SWIG_ObjectDelete);
+ return TCL_OK;
+}
+
+
+/* This function takes the current result and turns it into an object command */
+static Tcl_Obj *
+SWIG_Tcl_NewInstanceObj(Tcl_Interp *interp, void *thisvalue, swig_type_info *type, int flags) {
+ Tcl_Obj *robj = SWIG_NewPointerObj(thisvalue, type,0);
+ /* Check to see if this pointer belongs to a class or not */
+ if ((type->clientdata) && (interp)) {
+ Tcl_CmdInfo ci;
+ char *name;
+ name = Tcl_GetStringFromObj(robj,NULL);
+ if (!Tcl_GetCommandInfo(interp,name, &ci) || (flags)) {
+ swig_instance *newinst = (swig_instance *) malloc(sizeof(swig_instance));
+ newinst->thisptr = Tcl_DuplicateObj(robj);
+ Tcl_IncrRefCount(newinst->thisptr);
+ newinst->thisvalue = thisvalue;
+ newinst->classptr = (swig_class *) type->clientdata;
+ newinst->destroy = flags;
+ newinst->cmdtok = Tcl_CreateObjCommand(interp, Tcl_GetStringFromObj(robj,NULL), (swig_wrapper_func) SWIG_MethodCommand, (ClientData) newinst, (swig_delete_func) SWIG_ObjectDelete);
+ if (flags) {
+ SWIG_Acquire(thisvalue);
+ }
+ }
+ }
+ return robj;
+}
+
+/* Structure for command table */
+typedef struct {
+ const char *name;
+ int (*wrapper)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
+ ClientData clientdata;
+} swig_command_info;
+
+/* Structure for variable linking table */
+typedef struct {
+ const char *name;
+ void *addr;
+ char * (*get)(ClientData, Tcl_Interp *, char *, char *, int);
+ char * (*set)(ClientData, Tcl_Interp *, char *, char *, int);
+} swig_var_info;
+
+
+/* Contract support */
+
+#define SWIG_contract_assert(expr, msg) if (!(expr)) { Tcl_SetResult(interp, (char *) msg, TCL_STATIC ); goto fail; } else
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+#define SWIGTYPE_p_gpstk__AccessError swig_types[0]
+#define SWIGTYPE_p_size_t swig_types[1]
+#define SWIGTYPE_std__size_t swig_types[2]
+#define SWIGTYPE_size_t swig_types[3]
+#define SWIGTYPE_p_gpstk__InvalidParameter swig_types[4]
+#define SWIGTYPE_p_DayTime swig_types[5]
+#define SWIGTYPE_p_gpstk__OutOfMemory swig_types[6]
+#define SWIGTYPE_p_gpstk__ExceptionLocation swig_types[7]
+#define SWIGTYPE_p_gpstk__GPSZcount swig_types[8]
+#define SWIGTYPE_p_long_double swig_types[9]
+#define SWIGTYPE_p_GPSZcount swig_types[10]
+#define SWIGTYPE_p_double swig_types[11]
+#define SWIGTYPE_p_time_t swig_types[12]
+#define SWIGTYPE_p_gpstk__ObjectNotFound swig_types[13]
+#define SWIGTYPE_p_std__ostream swig_types[14]
+#define SWIGTYPE_p_gpstk__InvalidArgumentException swig_types[15]
+#define SWIGTYPE_p_gpstk__IndexOutOfBoundsException swig_types[16]
+#define SWIGTYPE_p_gpstk__Exception swig_types[17]
+#define SWIGTYPE_p_gpstk__ConfigurationException swig_types[18]
+#define SWIGTYPE_p_gpstk__FileMissingException swig_types[19]
+#define SWIGTYPE_p_gpstk__SystemSemaphoreException swig_types[20]
+#define SWIGTYPE_p_gpstk__SystemPipeException swig_types[21]
+#define SWIGTYPE_p_gpstk__SystemQueueException swig_types[22]
+#define SWIGTYPE_p_timeval swig_types[23]
+#define SWIGTYPE_std__ptrdiff_t swig_types[24]
+#define SWIGTYPE_ptrdiff_t swig_types[25]
+#define SWIGTYPE_p_gpstk__InvalidRequest swig_types[26]
+#define SWIGTYPE_p_gpstk__AssertionFailure swig_types[27]
+#define SWIGTYPE_p_int swig_types[28]
+static swig_type_info *swig_types[30];
+
+/* -------- TYPES TABLE (END) -------- */
+
+#define SWIG_init Gpstk_Init
+#define SWIG_name "gpstk"
+#define SWIG_prefix ""
+#define SWIG_version "0.0"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef MAC_TCL
+#pragma export on
+#endif
+SWIGEXPORT(int) SWIG_init(Tcl_Interp *);
+#ifdef MAC_TCL
+#pragma export off
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+
+
+/* Includes the header in the wrapper code */
+#include "../../src/Exception.hpp"
+
+
+/* Includes the header in the wrapper code */
+#include "../../src/GPSZcount.hpp"
+
+
+/* Includes the header in the wrapper code */
+#include "../../src/DayTime.hpp"
+using namespace gpstk;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+static int
+_wrap_new_ExceptionLocation__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string *arg1 = 0 ;
+ std::string *arg2 = 0 ;
+ unsigned long *arg3 = 0 ;
+ gpstk::ExceptionLocation *result;
+ std::string temp1 ;
+ std::string temp2 ;
+ unsigned long temp3 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ooo:new_ExceptionLocation filename funcName lineNum ",NULL,NULL,NULL) == TCL_ERROR) SWIG_fail;
+ {
+ temp1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ arg1 = &temp1;
+ }
+ {
+ temp2 = std::string(Tcl_GetStringFromObj(objv[2],NULL));
+ arg2 = &temp2;
+ }
+ {
+ long ltemp;
+ if (Tcl_GetLongFromObj(interp, objv[3], <emp) != TCL_OK) {
+ SWIG_fail;
+ }
+ temp3 = (unsigned long) ltemp;
+ arg3 = &temp3;
+ }
+ result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation((std::string const &)*arg1,(std::string const &)*arg2,(unsigned long const &)*arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ExceptionLocation,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ExceptionLocation__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string *arg1 = 0 ;
+ std::string *arg2 = 0 ;
+ gpstk::ExceptionLocation *result;
+ std::string temp1 ;
+ std::string temp2 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:new_ExceptionLocation filename funcName ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ {
+ temp1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ arg1 = &temp1;
+ }
+ {
+ temp2 = std::string(Tcl_GetStringFromObj(objv[2],NULL));
+ arg2 = &temp2;
+ }
+ result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation((std::string const &)*arg1,(std::string const &)*arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ExceptionLocation,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ExceptionLocation__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string *arg1 = 0 ;
+ gpstk::ExceptionLocation *result;
+ std::string temp1 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_ExceptionLocation filename ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ temp1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ arg1 = &temp1;
+ }
+ result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation((std::string const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ExceptionLocation,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ExceptionLocation__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ExceptionLocation *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_ExceptionLocation ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ExceptionLocation,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ExceptionLocation(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_ExceptionLocation__SWIG_3(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_ExceptionLocation__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_ExceptionLocation__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_ExceptionLocation__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_ExceptionLocation'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_ExceptionLocation(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_ExceptionLocation self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_ExceptionLocation_getFileName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:ExceptionLocation_getFileName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::ExceptionLocation const *)arg1)->getFileName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_ExceptionLocation_getFunctionName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:ExceptionLocation_getFunctionName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::ExceptionLocation const *)arg1)->getFunctionName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_ExceptionLocation_getLineNumber(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+ unsigned long result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:ExceptionLocation_getLineNumber self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (unsigned long)((gpstk::ExceptionLocation const *)arg1)->getLineNumber();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_ExceptionLocation_dump(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+ std::ostream *arg2 = 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:ExceptionLocation_dump self s ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ ((gpstk::ExceptionLocation const *)arg1)->dump(*arg2);
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::ExceptionLocation *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s e ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::ExceptionLocation const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_ExceptionLocation(void *obj) {
+gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_ExceptionLocation_methods[] = {
+ {"getFileName", _wrap_ExceptionLocation_getFileName},
+ {"getFunctionName", _wrap_ExceptionLocation_getFunctionName},
+ {"getLineNumber", _wrap_ExceptionLocation_getLineNumber},
+ {"dump", _wrap_ExceptionLocation_dump},
+ {0,0}
+};
+static swig_attribute swig_gpstk_ExceptionLocation_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_ExceptionLocation_bases[] = {0};
+static char *swig_gpstk_ExceptionLocation_base_names[] = {0};
+swig_class _wrap_class_gpstk_ExceptionLocation = { "ExceptionLocation", &SWIGTYPE_p_gpstk__ExceptionLocation,_wrap_new_ExceptionLocation, swig_delete_ExceptionLocation, swig_gpstk_ExceptionLocation_methods, swig_gpstk_ExceptionLocation_attributes, swig_gpstk_ExceptionLocation_bases,swig_gpstk_ExceptionLocation_base_names };
+static int
+_wrap_new_Exception__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_Exception ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::Exception *)new gpstk::Exception();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_Exception__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string *arg1 = 0 ;
+ unsigned long *arg2 = 0 ;
+ gpstk::Exception::Severity *arg3 = 0 ;
+ gpstk::Exception *result;
+ std::string temp1 ;
+ unsigned long temp2 ;
+ gpstk::Exception::Severity temp3 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ooo:new_Exception errorText errorId severity ",NULL,NULL,NULL) == TCL_ERROR) SWIG_fail;
+ {
+ temp1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ arg1 = &temp1;
+ }
+ {
+ long ltemp;
+ if (Tcl_GetLongFromObj(interp, objv[2], <emp) != TCL_OK) {
+ SWIG_fail;
+ }
+ temp2 = (unsigned long) ltemp;
+ arg2 = &temp2;
+ }
+ {
+ long ltemp;
+ if (Tcl_GetLongFromObj(interp, objv[3], <emp) != TCL_OK) {
+ SWIG_fail;
+ }
+ temp3 = (gpstk::Exception::Severity) ltemp;
+ arg3 = &temp3;
+ }
+ result = (gpstk::Exception *)new gpstk::Exception((std::string const &)*arg1,(unsigned long const &)*arg2,(enum gpstk::Exception::Severity const &)*arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_Exception__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string *arg1 = 0 ;
+ unsigned long *arg2 = 0 ;
+ gpstk::Exception *result;
+ std::string temp1 ;
+ unsigned long temp2 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:new_Exception errorText errorId ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ {
+ temp1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ arg1 = &temp1;
+ }
+ {
+ long ltemp;
+ if (Tcl_GetLongFromObj(interp, objv[2], <emp) != TCL_OK) {
+ SWIG_fail;
+ }
+ temp2 = (unsigned long) ltemp;
+ arg2 = &temp2;
+ }
+ result = (gpstk::Exception *)new gpstk::Exception((std::string const &)*arg1,(unsigned long const &)*arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_Exception__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string *arg1 = 0 ;
+ gpstk::Exception *result;
+ std::string temp1 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_Exception errorText ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ temp1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ arg1 = &temp1;
+ }
+ result = (gpstk::Exception *)new gpstk::Exception((std::string const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_Exception__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::Exception *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_Exception exception ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::Exception *)new gpstk::Exception((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_Exception(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_Exception__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_Exception__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_Exception__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_Exception__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_Exception__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_Exception'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_Exception(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_Exception self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ gpstk::Exception *arg2 = 0 ;
+ gpstk::Exception *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_= self e ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::Exception &_result_ref = (arg1)->operator =((gpstk::Exception const &)*arg2);
+ result = (gpstk::Exception *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_terminate(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:Exception_terminate self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ (arg1)->terminate();
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getErrorId(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ unsigned long result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:Exception_getErrorId self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (unsigned long)((gpstk::Exception const *)arg1)->getErrorId();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_setErrorId(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ unsigned long *arg2 = 0 ;
+ gpstk::Exception *result;
+ unsigned long temp2 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_setErrorId self errId ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ long ltemp;
+ if (Tcl_GetLongFromObj(interp, objv[2], <emp) != TCL_OK) {
+ SWIG_fail;
+ }
+ temp2 = (unsigned long) ltemp;
+ arg2 = &temp2;
+ }
+ {
+ gpstk::Exception &_result_ref = (arg1)->setErrorId((unsigned long const &)*arg2);
+ result = (gpstk::Exception *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_addLocation(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ gpstk::ExceptionLocation *arg2 = 0 ;
+ gpstk::Exception *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_addLocation self location ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::Exception &_result_ref = (arg1)->addLocation((gpstk::ExceptionLocation const &)*arg2);
+ result = (gpstk::Exception *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getLocation__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ size_t *arg2 = 0 ;
+ gpstk::ExceptionLocation result;
+ size_t temp2 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_getLocation self index ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ long ltemp;
+ if (Tcl_GetLongFromObj(interp, objv[2], <emp) != TCL_OK) {
+ SWIG_fail;
+ }
+ temp2 = (size_t) ltemp;
+ arg2 = &temp2;
+ }
+ result = ((gpstk::Exception const *)arg1)->getLocation((size_t const &)*arg2);
+
+ {
+ gpstk::ExceptionLocation * resultptr;
+ resultptr = new gpstk::ExceptionLocation((gpstk::ExceptionLocation &) result);
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_gpstk__ExceptionLocation,1));
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getLocation__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ gpstk::ExceptionLocation result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:Exception_getLocation self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::Exception const *)arg1)->getLocation();
+
+ {
+ gpstk::ExceptionLocation * resultptr;
+ resultptr = new gpstk::ExceptionLocation((gpstk::ExceptionLocation &) result);
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_gpstk__ExceptionLocation,1));
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getLocation(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_getLocation__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_size_t, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_getLocation__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'Exception_getLocation'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getLocationCount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ size_t result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:Exception_getLocationCount self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::Exception const *)arg1)->getLocationCount();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_isRecoverable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:Exception_isRecoverable self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((gpstk::Exception const *)arg1)->isRecoverable();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_setSeverity(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ gpstk::Exception::Severity *arg2 = 0 ;
+ gpstk::Exception *result;
+ gpstk::Exception::Severity temp2 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_setSeverity self sever ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ long ltemp;
+ if (Tcl_GetLongFromObj(interp, objv[2], <emp) != TCL_OK) {
+ SWIG_fail;
+ }
+ temp2 = (gpstk::Exception::Severity) ltemp;
+ arg2 = &temp2;
+ }
+ {
+ gpstk::Exception &_result_ref = (arg1)->setSeverity((enum gpstk::Exception::Severity const &)*arg2);
+ result = (gpstk::Exception *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_addText(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ std::string *arg2 = 0 ;
+ gpstk::Exception *result;
+ std::string temp2 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_addText self errorText ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ temp2 = std::string(Tcl_GetStringFromObj(objv[2],NULL));
+ arg2 = &temp2;
+ }
+ {
+ gpstk::Exception &_result_ref = (arg1)->addText((std::string const &)*arg2);
+ result = (gpstk::Exception *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getText__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ size_t *arg2 = 0 ;
+ std::string result;
+ size_t temp2 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_getText self index ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ long ltemp;
+ if (Tcl_GetLongFromObj(interp, objv[2], <emp) != TCL_OK) {
+ SWIG_fail;
+ }
+ temp2 = (size_t) ltemp;
+ arg2 = &temp2;
+ }
+ result = ((gpstk::Exception const *)arg1)->getText((size_t const &)*arg2);
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getText__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:Exception_getText self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::Exception const *)arg1)->getText();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getText(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_getText__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_size_t, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_Exception_getText__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'Exception_getText'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getTextCount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ size_t result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:Exception_getTextCount self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::Exception const *)arg1)->getTextCount();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:Exception_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::Exception const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_dump(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+ std::ostream *arg2 = 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_dump self s ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ ((gpstk::Exception const *)arg1)->dump(*arg2);
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::Exception *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s e ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::Exception const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_Exception(void *obj) {
+gpstk::Exception *arg1 = (gpstk::Exception *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_Exception_methods[] = {
+ {"=", _wrap_Exception_e___},
+ {"terminate", _wrap_Exception_terminate},
+ {"getErrorId", _wrap_Exception_getErrorId},
+ {"setErrorId", _wrap_Exception_setErrorId},
+ {"addLocation", _wrap_Exception_addLocation},
+ {"getLocation", _wrap_Exception_getLocation},
+ {"getLocationCount", _wrap_Exception_getLocationCount},
+ {"isRecoverable", _wrap_Exception_isRecoverable},
+ {"setSeverity", _wrap_Exception_setSeverity},
+ {"addText", _wrap_Exception_addText},
+ {"getText", _wrap_Exception_getText},
+ {"getTextCount", _wrap_Exception_getTextCount},
+ {"getName", _wrap_Exception_getName},
+ {"dump", _wrap_Exception_dump},
+ {0,0}
+};
+static swig_attribute swig_gpstk_Exception_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_Exception_bases[] = {0};
+static char *swig_gpstk_Exception_base_names[] = {0};
+swig_class _wrap_class_gpstk_Exception = { "Exception", &SWIGTYPE_p_gpstk__Exception,_wrap_new_Exception, swig_delete_Exception, swig_gpstk_Exception_methods, swig_gpstk_Exception_attributes, swig_gpstk_Exception_bases,swig_gpstk_Exception_base_names };
+static int
+_wrap_new_InvalidParameter__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidParameter *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_InvalidParameter ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidParameter__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidParameter *arg1 = 0 ;
+ gpstk::InvalidParameter *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidParameter a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidParameter,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter((gpstk::InvalidParameter const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidParameter__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::InvalidParameter *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidParameter a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidParameter__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::InvalidParameter *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_InvalidParameter a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidParameter__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::InvalidParameter *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_InvalidParameter a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidParameter__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::InvalidParameter *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidParameter a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidParameter(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_InvalidParameter__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__InvalidParameter, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidParameter__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidParameter__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_InvalidParameter__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_InvalidParameter__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_InvalidParameter__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_InvalidParameter'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_InvalidParameter(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_InvalidParameter self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidParameter,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_InvalidParameter_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:InvalidParameter_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidParameter,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::InvalidParameter const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_InvalidParameter_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) 0 ;
+ gpstk::InvalidParameter *arg2 = 0 ;
+ gpstk::InvalidParameter *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:InvalidParameter_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidParameter,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__InvalidParameter,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::InvalidParameter &_result_ref = (arg1)->operator =((gpstk::InvalidParameter const &)*arg2);
+ result = (gpstk::InvalidParameter *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::InvalidParameter *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__InvalidParameter,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidParameter const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_InvalidParameter(void *obj) {
+gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_InvalidParameter_methods[] = {
+ {"getName", _wrap_InvalidParameter_getName},
+ {"=", _wrap_InvalidParameter_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_InvalidParameter_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_InvalidParameter_bases[] = {0,0};
+static char *swig_gpstk_InvalidParameter_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_InvalidParameter = { "InvalidParameter", &SWIGTYPE_p_gpstk__InvalidParameter,_wrap_new_InvalidParameter, swig_delete_InvalidParameter, swig_gpstk_InvalidParameter_methods, swig_gpstk_InvalidParameter_attributes, swig_gpstk_InvalidParameter_bases,swig_gpstk_InvalidParameter_base_names };
+static int
+_wrap_new_InvalidRequest__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidRequest *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_InvalidRequest ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidRequest__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidRequest *arg1 = 0 ;
+ gpstk::InvalidRequest *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidRequest a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidRequest,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest((gpstk::InvalidRequest const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidRequest__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::InvalidRequest *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidRequest a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidRequest__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::InvalidRequest *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_InvalidRequest a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidRequest__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::InvalidRequest *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_InvalidRequest a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidRequest__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::InvalidRequest *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidRequest a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidRequest(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_InvalidRequest__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__InvalidRequest, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidRequest__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidRequest__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_InvalidRequest__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_InvalidRequest__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_InvalidRequest__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_InvalidRequest'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_InvalidRequest(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_InvalidRequest self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidRequest,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_InvalidRequest_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:InvalidRequest_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidRequest,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::InvalidRequest const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_InvalidRequest_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) 0 ;
+ gpstk::InvalidRequest *arg2 = 0 ;
+ gpstk::InvalidRequest *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:InvalidRequest_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidRequest,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__InvalidRequest,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::InvalidRequest &_result_ref = (arg1)->operator =((gpstk::InvalidRequest const &)*arg2);
+ result = (gpstk::InvalidRequest *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::InvalidRequest *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__InvalidRequest,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidRequest const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_InvalidRequest(void *obj) {
+gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_InvalidRequest_methods[] = {
+ {"getName", _wrap_InvalidRequest_getName},
+ {"=", _wrap_InvalidRequest_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_InvalidRequest_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_InvalidRequest_bases[] = {0,0};
+static char *swig_gpstk_InvalidRequest_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_InvalidRequest = { "InvalidRequest", &SWIGTYPE_p_gpstk__InvalidRequest,_wrap_new_InvalidRequest, swig_delete_InvalidRequest, swig_gpstk_InvalidRequest_methods, swig_gpstk_InvalidRequest_attributes, swig_gpstk_InvalidRequest_bases,swig_gpstk_InvalidRequest_base_names };
+static int
+_wrap_new_AssertionFailure__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::AssertionFailure *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_AssertionFailure ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AssertionFailure__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::AssertionFailure *arg1 = 0 ;
+ gpstk::AssertionFailure *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_AssertionFailure a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AssertionFailure,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure((gpstk::AssertionFailure const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AssertionFailure__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::AssertionFailure *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_AssertionFailure a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AssertionFailure__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::AssertionFailure *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_AssertionFailure a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AssertionFailure__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::AssertionFailure *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_AssertionFailure a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AssertionFailure__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::AssertionFailure *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_AssertionFailure a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AssertionFailure(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_AssertionFailure__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__AssertionFailure, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_AssertionFailure__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_AssertionFailure__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_AssertionFailure__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_AssertionFailure__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_AssertionFailure__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_AssertionFailure'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_AssertionFailure(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_AssertionFailure self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AssertionFailure,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_AssertionFailure_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:AssertionFailure_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AssertionFailure,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::AssertionFailure const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_AssertionFailure_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) 0 ;
+ gpstk::AssertionFailure *arg2 = 0 ;
+ gpstk::AssertionFailure *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:AssertionFailure_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AssertionFailure,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__AssertionFailure,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::AssertionFailure &_result_ref = (arg1)->operator =((gpstk::AssertionFailure const &)*arg2);
+ result = (gpstk::AssertionFailure *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::AssertionFailure *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__AssertionFailure,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::AssertionFailure const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_AssertionFailure(void *obj) {
+gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_AssertionFailure_methods[] = {
+ {"getName", _wrap_AssertionFailure_getName},
+ {"=", _wrap_AssertionFailure_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_AssertionFailure_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_AssertionFailure_bases[] = {0,0};
+static char *swig_gpstk_AssertionFailure_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_AssertionFailure = { "AssertionFailure", &SWIGTYPE_p_gpstk__AssertionFailure,_wrap_new_AssertionFailure, swig_delete_AssertionFailure, swig_gpstk_AssertionFailure_methods, swig_gpstk_AssertionFailure_attributes, swig_gpstk_AssertionFailure_bases,swig_gpstk_AssertionFailure_base_names };
+static int
+_wrap_new_AccessError__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::AccessError *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_AccessError ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::AccessError *)new gpstk::AccessError();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AccessError__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::AccessError *arg1 = 0 ;
+ gpstk::AccessError *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_AccessError a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AccessError,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::AccessError *)new gpstk::AccessError((gpstk::AccessError const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AccessError__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::AccessError *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_AccessError a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::AccessError *)new gpstk::AccessError((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AccessError__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::AccessError *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_AccessError a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::AccessError *)new gpstk::AccessError(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AccessError__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::AccessError *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_AccessError a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::AccessError *)new gpstk::AccessError(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AccessError__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::AccessError *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_AccessError a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::AccessError *)new gpstk::AccessError(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AccessError(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_AccessError__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__AccessError, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_AccessError__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_AccessError__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_AccessError__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_AccessError__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_AccessError__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_AccessError'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_AccessError(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::AccessError *arg1 = (gpstk::AccessError *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_AccessError self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AccessError,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_AccessError_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::AccessError *arg1 = (gpstk::AccessError *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:AccessError_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AccessError,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::AccessError const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_AccessError_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::AccessError *arg1 = (gpstk::AccessError *) 0 ;
+ gpstk::AccessError *arg2 = 0 ;
+ gpstk::AccessError *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:AccessError_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AccessError,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__AccessError,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::AccessError &_result_ref = (arg1)->operator =((gpstk::AccessError const &)*arg2);
+ result = (gpstk::AccessError *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::AccessError *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__AccessError,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::AccessError const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_AccessError(void *obj) {
+gpstk::AccessError *arg1 = (gpstk::AccessError *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_AccessError_methods[] = {
+ {"getName", _wrap_AccessError_getName},
+ {"=", _wrap_AccessError_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_AccessError_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_AccessError_bases[] = {0,0};
+static char *swig_gpstk_AccessError_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_AccessError = { "AccessError", &SWIGTYPE_p_gpstk__AccessError,_wrap_new_AccessError, swig_delete_AccessError, swig_gpstk_AccessError_methods, swig_gpstk_AccessError_attributes, swig_gpstk_AccessError_bases,swig_gpstk_AccessError_base_names };
+static int
+_wrap_new_IndexOutOfBoundsException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::IndexOutOfBoundsException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_IndexOutOfBoundsException ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_IndexOutOfBoundsException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::IndexOutOfBoundsException *arg1 = 0 ;
+ gpstk::IndexOutOfBoundsException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_IndexOutOfBoundsException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException((gpstk::IndexOutOfBoundsException const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_IndexOutOfBoundsException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::IndexOutOfBoundsException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_IndexOutOfBoundsException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_IndexOutOfBoundsException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::IndexOutOfBoundsException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_IndexOutOfBoundsException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_IndexOutOfBoundsException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::IndexOutOfBoundsException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_IndexOutOfBoundsException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_IndexOutOfBoundsException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::IndexOutOfBoundsException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_IndexOutOfBoundsException a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_IndexOutOfBoundsException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_IndexOutOfBoundsException__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_IndexOutOfBoundsException__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_IndexOutOfBoundsException__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_IndexOutOfBoundsException__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_IndexOutOfBoundsException__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_IndexOutOfBoundsException__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_IndexOutOfBoundsException'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_IndexOutOfBoundsException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_IndexOutOfBoundsException self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_IndexOutOfBoundsException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:IndexOutOfBoundsException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::IndexOutOfBoundsException const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_IndexOutOfBoundsException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) 0 ;
+ gpstk::IndexOutOfBoundsException *arg2 = 0 ;
+ gpstk::IndexOutOfBoundsException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:IndexOutOfBoundsException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::IndexOutOfBoundsException &_result_ref = (arg1)->operator =((gpstk::IndexOutOfBoundsException const &)*arg2);
+ result = (gpstk::IndexOutOfBoundsException *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_6(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::IndexOutOfBoundsException *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::IndexOutOfBoundsException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_IndexOutOfBoundsException(void *obj) {
+gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_IndexOutOfBoundsException_methods[] = {
+ {"getName", _wrap_IndexOutOfBoundsException_getName},
+ {"=", _wrap_IndexOutOfBoundsException_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_IndexOutOfBoundsException_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_IndexOutOfBoundsException_bases[] = {0,0};
+static char *swig_gpstk_IndexOutOfBoundsException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_IndexOutOfBoundsException = { "IndexOutOfBoundsException", &SWIGTYPE_p_gpstk__IndexOutOfBoundsException,_wrap_new_IndexOutOfBoundsException, swig_delete_IndexOutOfBoundsException, swig_gpstk_IndexOutOfBoundsException_methods, swig_gpstk_IndexOutOfBoundsException_attributes, swig_gpstk_IndexOutOfBoundsException_bases,swig_gpstk_IndexOutOfBoundsException_base_names };
+static int
+_wrap_new_InvalidArgumentException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidArgumentException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_InvalidArgumentException ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidArgumentException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidArgumentException *arg1 = 0 ;
+ gpstk::InvalidArgumentException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidArgumentException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidArgumentException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException((gpstk::InvalidArgumentException const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidArgumentException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::InvalidArgumentException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidArgumentException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidArgumentException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::InvalidArgumentException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_InvalidArgumentException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidArgumentException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::InvalidArgumentException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_InvalidArgumentException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidArgumentException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::InvalidArgumentException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidArgumentException a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidArgumentException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_InvalidArgumentException__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__InvalidArgumentException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidArgumentException__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_InvalidArgumentException__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_InvalidArgumentException__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_InvalidArgumentException__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_InvalidArgumentException__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_InvalidArgumentException'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_InvalidArgumentException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_InvalidArgumentException self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidArgumentException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_InvalidArgumentException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:InvalidArgumentException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidArgumentException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::InvalidArgumentException const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_InvalidArgumentException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) 0 ;
+ gpstk::InvalidArgumentException *arg2 = 0 ;
+ gpstk::InvalidArgumentException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:InvalidArgumentException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidArgumentException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__InvalidArgumentException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::InvalidArgumentException &_result_ref = (arg1)->operator =((gpstk::InvalidArgumentException const &)*arg2);
+ result = (gpstk::InvalidArgumentException *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_7(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::InvalidArgumentException *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__InvalidArgumentException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidArgumentException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_InvalidArgumentException(void *obj) {
+gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_InvalidArgumentException_methods[] = {
+ {"getName", _wrap_InvalidArgumentException_getName},
+ {"=", _wrap_InvalidArgumentException_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_InvalidArgumentException_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_InvalidArgumentException_bases[] = {0,0};
+static char *swig_gpstk_InvalidArgumentException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_InvalidArgumentException = { "InvalidArgumentException", &SWIGTYPE_p_gpstk__InvalidArgumentException,_wrap_new_InvalidArgumentException, swig_delete_InvalidArgumentException, swig_gpstk_InvalidArgumentException_methods, swig_gpstk_InvalidArgumentException_attributes, swig_gpstk_InvalidArgumentException_bases,swig_gpstk_InvalidArgumentException_base_names };
+static int
+_wrap_new_ConfigurationException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ConfigurationException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_ConfigurationException ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ConfigurationException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ConfigurationException *arg1 = 0 ;
+ gpstk::ConfigurationException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_ConfigurationException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ConfigurationException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException((gpstk::ConfigurationException const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ConfigurationException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::ConfigurationException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_ConfigurationException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ConfigurationException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::ConfigurationException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_ConfigurationException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ConfigurationException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::ConfigurationException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_ConfigurationException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ConfigurationException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::ConfigurationException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_ConfigurationException a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ConfigurationException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_ConfigurationException__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__ConfigurationException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_ConfigurationException__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_ConfigurationException__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_ConfigurationException__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_ConfigurationException__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_ConfigurationException__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_ConfigurationException'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_ConfigurationException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_ConfigurationException self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ConfigurationException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_ConfigurationException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:ConfigurationException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ConfigurationException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::ConfigurationException const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_ConfigurationException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) 0 ;
+ gpstk::ConfigurationException *arg2 = 0 ;
+ gpstk::ConfigurationException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:ConfigurationException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ConfigurationException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__ConfigurationException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::ConfigurationException &_result_ref = (arg1)->operator =((gpstk::ConfigurationException const &)*arg2);
+ result = (gpstk::ConfigurationException *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_8(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::ConfigurationException *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__ConfigurationException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::ConfigurationException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_ConfigurationException(void *obj) {
+gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_ConfigurationException_methods[] = {
+ {"getName", _wrap_ConfigurationException_getName},
+ {"=", _wrap_ConfigurationException_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_ConfigurationException_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_ConfigurationException_bases[] = {0,0};
+static char *swig_gpstk_ConfigurationException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_ConfigurationException = { "ConfigurationException", &SWIGTYPE_p_gpstk__ConfigurationException,_wrap_new_ConfigurationException, swig_delete_ConfigurationException, swig_gpstk_ConfigurationException_methods, swig_gpstk_ConfigurationException_attributes, swig_gpstk_ConfigurationException_bases,swig_gpstk_ConfigurationException_base_names };
+static int
+_wrap_new_FileMissingException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::FileMissingException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_FileMissingException ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::FileMissingException *)new gpstk::FileMissingException();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_FileMissingException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::FileMissingException *arg1 = 0 ;
+ gpstk::FileMissingException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_FileMissingException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__FileMissingException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::FileMissingException *)new gpstk::FileMissingException((gpstk::FileMissingException const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_FileMissingException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::FileMissingException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_FileMissingException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::FileMissingException *)new gpstk::FileMissingException((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_FileMissingException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::FileMissingException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_FileMissingException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::FileMissingException *)new gpstk::FileMissingException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_FileMissingException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::FileMissingException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_FileMissingException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::FileMissingException *)new gpstk::FileMissingException(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_FileMissingException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::FileMissingException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_FileMissingException a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::FileMissingException *)new gpstk::FileMissingException(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_FileMissingException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_FileMissingException__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__FileMissingException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_FileMissingException__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_FileMissingException__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_FileMissingException__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_FileMissingException__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_FileMissingException__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_FileMissingException'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_FileMissingException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_FileMissingException self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__FileMissingException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_FileMissingException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:FileMissingException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__FileMissingException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::FileMissingException const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_FileMissingException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) 0 ;
+ gpstk::FileMissingException *arg2 = 0 ;
+ gpstk::FileMissingException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:FileMissingException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__FileMissingException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__FileMissingException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::FileMissingException &_result_ref = (arg1)->operator =((gpstk::FileMissingException const &)*arg2);
+ result = (gpstk::FileMissingException *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_9(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::FileMissingException *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__FileMissingException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::FileMissingException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_FileMissingException(void *obj) {
+gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_FileMissingException_methods[] = {
+ {"getName", _wrap_FileMissingException_getName},
+ {"=", _wrap_FileMissingException_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_FileMissingException_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_FileMissingException_bases[] = {0,0};
+static char *swig_gpstk_FileMissingException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_FileMissingException = { "FileMissingException", &SWIGTYPE_p_gpstk__FileMissingException,_wrap_new_FileMissingException, swig_delete_FileMissingException, swig_gpstk_FileMissingException_methods, swig_gpstk_FileMissingException_attributes, swig_gpstk_FileMissingException_bases,swig_gpstk_FileMissingException_base_names };
+static int
+_wrap_new_SystemSemaphoreException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemSemaphoreException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_SystemSemaphoreException ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemSemaphoreException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemSemaphoreException *arg1 = 0 ;
+ gpstk::SystemSemaphoreException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemSemaphoreException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException((gpstk::SystemSemaphoreException const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemSemaphoreException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::SystemSemaphoreException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemSemaphoreException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemSemaphoreException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::SystemSemaphoreException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_SystemSemaphoreException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemSemaphoreException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::SystemSemaphoreException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_SystemSemaphoreException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemSemaphoreException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::SystemSemaphoreException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemSemaphoreException a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemSemaphoreException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_SystemSemaphoreException__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__SystemSemaphoreException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_SystemSemaphoreException__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_SystemSemaphoreException__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_SystemSemaphoreException__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_SystemSemaphoreException__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_SystemSemaphoreException__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_SystemSemaphoreException'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_SystemSemaphoreException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_SystemSemaphoreException self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_SystemSemaphoreException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:SystemSemaphoreException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::SystemSemaphoreException const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_SystemSemaphoreException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) 0 ;
+ gpstk::SystemSemaphoreException *arg2 = 0 ;
+ gpstk::SystemSemaphoreException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:SystemSemaphoreException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__SystemSemaphoreException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::SystemSemaphoreException &_result_ref = (arg1)->operator =((gpstk::SystemSemaphoreException const &)*arg2);
+ result = (gpstk::SystemSemaphoreException *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_10(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::SystemSemaphoreException *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__SystemSemaphoreException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::SystemSemaphoreException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_SystemSemaphoreException(void *obj) {
+gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_SystemSemaphoreException_methods[] = {
+ {"getName", _wrap_SystemSemaphoreException_getName},
+ {"=", _wrap_SystemSemaphoreException_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_SystemSemaphoreException_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_SystemSemaphoreException_bases[] = {0,0};
+static char *swig_gpstk_SystemSemaphoreException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_SystemSemaphoreException = { "SystemSemaphoreException", &SWIGTYPE_p_gpstk__SystemSemaphoreException,_wrap_new_SystemSemaphoreException, swig_delete_SystemSemaphoreException, swig_gpstk_SystemSemaphoreException_methods, swig_gpstk_SystemSemaphoreException_attributes, swig_gpstk_SystemSemaphoreException_bases,swig_gpstk_SystemSemaphoreException_base_names };
+static int
+_wrap_new_SystemPipeException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemPipeException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_SystemPipeException ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemPipeException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemPipeException *arg1 = 0 ;
+ gpstk::SystemPipeException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemPipeException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemPipeException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException((gpstk::SystemPipeException const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemPipeException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::SystemPipeException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemPipeException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemPipeException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::SystemPipeException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_SystemPipeException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemPipeException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::SystemPipeException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_SystemPipeException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemPipeException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::SystemPipeException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemPipeException a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemPipeException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_SystemPipeException__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__SystemPipeException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_SystemPipeException__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_SystemPipeException__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_SystemPipeException__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_SystemPipeException__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_SystemPipeException__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_SystemPipeException'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_SystemPipeException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_SystemPipeException self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemPipeException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_SystemPipeException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:SystemPipeException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemPipeException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::SystemPipeException const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_SystemPipeException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) 0 ;
+ gpstk::SystemPipeException *arg2 = 0 ;
+ gpstk::SystemPipeException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:SystemPipeException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemPipeException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__SystemPipeException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::SystemPipeException &_result_ref = (arg1)->operator =((gpstk::SystemPipeException const &)*arg2);
+ result = (gpstk::SystemPipeException *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_11(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::SystemPipeException *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__SystemPipeException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::SystemPipeException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_SystemPipeException(void *obj) {
+gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_SystemPipeException_methods[] = {
+ {"getName", _wrap_SystemPipeException_getName},
+ {"=", _wrap_SystemPipeException_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_SystemPipeException_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_SystemPipeException_bases[] = {0,0};
+static char *swig_gpstk_SystemPipeException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_SystemPipeException = { "SystemPipeException", &SWIGTYPE_p_gpstk__SystemPipeException,_wrap_new_SystemPipeException, swig_delete_SystemPipeException, swig_gpstk_SystemPipeException_methods, swig_gpstk_SystemPipeException_attributes, swig_gpstk_SystemPipeException_bases,swig_gpstk_SystemPipeException_base_names };
+static int
+_wrap_new_SystemQueueException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemQueueException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_SystemQueueException ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemQueueException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemQueueException *arg1 = 0 ;
+ gpstk::SystemQueueException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemQueueException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemQueueException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException((gpstk::SystemQueueException const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemQueueException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::SystemQueueException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemQueueException a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemQueueException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::SystemQueueException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_SystemQueueException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemQueueException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::SystemQueueException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_SystemQueueException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemQueueException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::SystemQueueException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemQueueException a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemQueueException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_SystemQueueException__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__SystemQueueException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_SystemQueueException__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_SystemQueueException__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_SystemQueueException__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_SystemQueueException__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_SystemQueueException__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_SystemQueueException'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_SystemQueueException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_SystemQueueException self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemQueueException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_SystemQueueException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:SystemQueueException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemQueueException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::SystemQueueException const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_SystemQueueException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) 0 ;
+ gpstk::SystemQueueException *arg2 = 0 ;
+ gpstk::SystemQueueException *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:SystemQueueException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemQueueException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__SystemQueueException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::SystemQueueException &_result_ref = (arg1)->operator =((gpstk::SystemQueueException const &)*arg2);
+ result = (gpstk::SystemQueueException *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_12(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::SystemQueueException *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__SystemQueueException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::SystemQueueException const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_SystemQueueException(void *obj) {
+gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_SystemQueueException_methods[] = {
+ {"getName", _wrap_SystemQueueException_getName},
+ {"=", _wrap_SystemQueueException_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_SystemQueueException_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_SystemQueueException_bases[] = {0,0};
+static char *swig_gpstk_SystemQueueException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_SystemQueueException = { "SystemQueueException", &SWIGTYPE_p_gpstk__SystemQueueException,_wrap_new_SystemQueueException, swig_delete_SystemQueueException, swig_gpstk_SystemQueueException_methods, swig_gpstk_SystemQueueException_attributes, swig_gpstk_SystemQueueException_bases,swig_gpstk_SystemQueueException_base_names };
+static int
+_wrap_new_OutOfMemory__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::OutOfMemory *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_OutOfMemory ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_OutOfMemory__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::OutOfMemory *arg1 = 0 ;
+ gpstk::OutOfMemory *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_OutOfMemory a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__OutOfMemory,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory((gpstk::OutOfMemory const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_OutOfMemory__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::OutOfMemory *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_OutOfMemory a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_OutOfMemory__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::OutOfMemory *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_OutOfMemory a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_OutOfMemory__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::OutOfMemory *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_OutOfMemory a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_OutOfMemory__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::OutOfMemory *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_OutOfMemory a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_OutOfMemory(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_OutOfMemory__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__OutOfMemory, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_OutOfMemory__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_OutOfMemory__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_OutOfMemory__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_OutOfMemory__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_OutOfMemory__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_OutOfMemory'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_OutOfMemory(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_OutOfMemory self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__OutOfMemory,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_OutOfMemory_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:OutOfMemory_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__OutOfMemory,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::OutOfMemory const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_OutOfMemory_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) 0 ;
+ gpstk::OutOfMemory *arg2 = 0 ;
+ gpstk::OutOfMemory *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:OutOfMemory_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__OutOfMemory,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__OutOfMemory,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::OutOfMemory &_result_ref = (arg1)->operator =((gpstk::OutOfMemory const &)*arg2);
+ result = (gpstk::OutOfMemory *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_13(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::OutOfMemory *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__OutOfMemory,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::OutOfMemory const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_OutOfMemory(void *obj) {
+gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_OutOfMemory_methods[] = {
+ {"getName", _wrap_OutOfMemory_getName},
+ {"=", _wrap_OutOfMemory_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_OutOfMemory_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_OutOfMemory_bases[] = {0,0};
+static char *swig_gpstk_OutOfMemory_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_OutOfMemory = { "OutOfMemory", &SWIGTYPE_p_gpstk__OutOfMemory,_wrap_new_OutOfMemory, swig_delete_OutOfMemory, swig_gpstk_OutOfMemory_methods, swig_gpstk_OutOfMemory_attributes, swig_gpstk_OutOfMemory_bases,swig_gpstk_OutOfMemory_base_names };
+static int
+_wrap_new_ObjectNotFound__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ObjectNotFound *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_ObjectNotFound ") == TCL_ERROR) SWIG_fail;
+ result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ObjectNotFound__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ObjectNotFound *arg1 = 0 ;
+ gpstk::ObjectNotFound *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_ObjectNotFound a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ObjectNotFound,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound((gpstk::ObjectNotFound const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ObjectNotFound__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::Exception *arg1 = 0 ;
+ gpstk::ObjectNotFound *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_ObjectNotFound a ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound((gpstk::Exception const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ObjectNotFound__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::Exception::Severity arg3 ;
+ gpstk::ObjectNotFound *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:new_ObjectNotFound a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound(arg1,arg2,(gpstk::Exception::Severity )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ObjectNotFound__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ unsigned long arg2 ;
+ gpstk::ObjectNotFound *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:new_ObjectNotFound a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ObjectNotFound__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::string arg1 ;
+ gpstk::ObjectNotFound *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_ObjectNotFound a ",NULL) == TCL_ERROR) SWIG_fail;
+ {
+ arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+ }
+ result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ObjectNotFound(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_ObjectNotFound__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__ObjectNotFound, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_ObjectNotFound__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_ObjectNotFound__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_ObjectNotFound__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_ObjectNotFound__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_ObjectNotFound__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_ObjectNotFound'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_ObjectNotFound(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_ObjectNotFound self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ObjectNotFound,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_ObjectNotFound_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:ObjectNotFound_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ObjectNotFound,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((gpstk::ObjectNotFound const *)arg1)->getName();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_ObjectNotFound_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) 0 ;
+ gpstk::ObjectNotFound *arg2 = 0 ;
+ gpstk::ObjectNotFound *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:ObjectNotFound_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ObjectNotFound,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__ObjectNotFound,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::ObjectNotFound &_result_ref = (arg1)->operator =((gpstk::ObjectNotFound const &)*arg2);
+ result = (gpstk::ObjectNotFound *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_14(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::ObjectNotFound *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__ObjectNotFound,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = operator <<(*arg1,(gpstk::ObjectNotFound const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__ExceptionLocation, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__InvalidParameter, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__InvalidRequest, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__AssertionFailure, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__ObjectNotFound, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_14(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_6(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__InvalidArgumentException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_7(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__ConfigurationException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_8(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__FileMissingException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_9(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__SystemSemaphoreException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_10(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__SystemPipeException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_11(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__SystemQueueException, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_12(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__OutOfMemory, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_13(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__AccessError, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_istream__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'istream'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_ObjectNotFound(void *obj) {
+gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_ObjectNotFound_methods[] = {
+ {"getName", _wrap_ObjectNotFound_getName},
+ {"=", _wrap_ObjectNotFound_e___},
+ {0,0}
+};
+static swig_attribute swig_gpstk_ObjectNotFound_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_ObjectNotFound_bases[] = {0,0};
+static char *swig_gpstk_ObjectNotFound_base_names[] = {"gpstk::AccessError *",0};
+swig_class _wrap_class_gpstk_ObjectNotFound = { "ObjectNotFound", &SWIGTYPE_p_gpstk__ObjectNotFound,_wrap_new_ObjectNotFound, swig_delete_ObjectNotFound, swig_gpstk_ObjectNotFound_methods, swig_gpstk_ObjectNotFound_attributes, swig_gpstk_ObjectNotFound_bases,swig_gpstk_ObjectNotFound_base_names };
+static char *_wrap_GPSZcount_ZCOUNT_MINUTE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) gpstk::GPSZcount::ZCOUNT_MINUTE);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static const char *swig_readonly(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ return (char*) "Variable is read-only";
+}
+
+
+static char *_wrap_GPSZcount_ZCOUNT_HOUR_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) gpstk::GPSZcount::ZCOUNT_HOUR);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_GPSZcount_ZCOUNT_DAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) gpstk::GPSZcount::ZCOUNT_DAY);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_GPSZcount_ZCOUNT_WEEK_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) gpstk::GPSZcount::ZCOUNT_WEEK);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static int
+_wrap_new_GPSZcount__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ short arg1 ;
+ long arg2 ;
+ gpstk::GPSZcount *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"hl:new_GPSZcount inWeek inZcount ",&arg1,&arg2) == TCL_ERROR) SWIG_fail;
+ try {
+ result = (gpstk::GPSZcount *)new gpstk::GPSZcount(arg1,arg2);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidParameter", -1));
+ SWIG_fail;
+ }
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_GPSZcount__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ long arg1 ;
+ gpstk::GPSZcount *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"l:new_GPSZcount inFullZcount ",&arg1) == TCL_ERROR) SWIG_fail;
+ try {
+ result = (gpstk::GPSZcount *)new gpstk::GPSZcount(arg1);
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidParameter", -1));
+ SWIG_fail;
+ }
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_GPSZcount__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_GPSZcount ") == TCL_ERROR) SWIG_fail;
+ try {
+ result = (gpstk::GPSZcount *)new gpstk::GPSZcount();
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidParameter", -1));
+ SWIG_fail;
+ }
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_GPSZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_GPSZcount self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_GPSZcount__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = 0 ;
+ gpstk::GPSZcount *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_GPSZcount right ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (gpstk::GPSZcount *)new gpstk::GPSZcount((gpstk::GPSZcount const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_GPSZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_GPSZcount__SWIG_2(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_GPSZcount__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_GPSZcount__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_GPSZcount__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_GPSZcount'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_getWeek(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:GPSZcount_getWeek self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((gpstk::GPSZcount const *)arg1)->getWeek();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_getZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:GPSZcount_getZcount self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (long)((gpstk::GPSZcount const *)arg1)->getZcount();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_getFullZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:GPSZcount_getFullZcount self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (long)((gpstk::GPSZcount const *)arg1)->getFullZcount();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_getTotalZcounts(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:GPSZcount_getTotalZcounts self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (double)((gpstk::GPSZcount const *)arg1)->getTotalZcounts();
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_setWeek(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ short arg2 ;
+ gpstk::GPSZcount *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oh:GPSZcount_setWeek self inWeek ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ try {
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->setWeek(arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidParameter", -1));
+ SWIG_fail;
+ }
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_setZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long arg2 ;
+ gpstk::GPSZcount *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:GPSZcount_setZcount self inZcount ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ try {
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->setZcount(arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidParameter", -1));
+ SWIG_fail;
+ }
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_setFullZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long arg2 ;
+ gpstk::GPSZcount *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:GPSZcount_setFullZcount self inZcount ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ try {
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->setFullZcount(arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+ }
+ catch(gpstk::InvalidParameter &_e) {
+ {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidParameter", -1));
+ SWIG_fail;
+ }
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_addWeeks(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ short arg2 ;
+ gpstk::GPSZcount *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oh:GPSZcount_addWeeks self inWeeks ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ try {
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->addWeeks(arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidRequest", -1));
+ SWIG_fail;
+ }
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_addZcounts(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long arg2 ;
+ gpstk::GPSZcount *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:GPSZcount_addZcounts self inZcounts ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ try {
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->addZcounts(arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidRequest", -1));
+ SWIG_fail;
+ }
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_a___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long arg2 ;
+ gpstk::GPSZcount result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:GPSZcount_+ self inZcounts ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ try {
+ result = ((gpstk::GPSZcount const *)arg1)->operator +(arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidRequest", -1));
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::GPSZcount * resultptr;
+ resultptr = new gpstk::GPSZcount((gpstk::GPSZcount &) result);
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_gpstk__GPSZcount,1));
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_s_____SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ long arg2 ;
+ gpstk::GPSZcount result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:GPSZcount_- self inZcounts ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ try {
+ result = ((gpstk::GPSZcount const *)arg1)->operator -(arg2);
+ }
+ catch(gpstk::InvalidRequest &_e) {
+ {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidRequest", -1));
+ SWIG_fail;
+ }
+ }
+
+ {
+ gpstk::GPSZcount * resultptr;
+ resultptr = new gpstk::GPSZcount((gpstk::GPSZcount &) result);
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_gpstk__GPSZcount,1));
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_s_____SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_- self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (double)((gpstk::GPSZcount const *)arg1)->operator -((gpstk::GPSZcount const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_s___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_GPSZcount_s_____SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_GPSZcount_s_____SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'GPSZcount_-'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ gpstk::GPSZcount *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_= self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ gpstk::GPSZcount &_result_ref = (arg1)->operator =((gpstk::GPSZcount const &)*arg2);
+ result = (gpstk::GPSZcount *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_operator_less_than(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_operator_less_than self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((gpstk::GPSZcount const *)arg1)->operator <((gpstk::GPSZcount const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_operator_greater_than(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_operator_greater_than self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((gpstk::GPSZcount const *)arg1)->operator >((gpstk::GPSZcount const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_operator_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_operator_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((gpstk::GPSZcount const *)arg1)->operator ==((gpstk::GPSZcount const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_operator_not_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_operator_not_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((gpstk::GPSZcount const *)arg1)->operator !=((gpstk::GPSZcount const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_operator_less_than_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_operator_less_than_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((gpstk::GPSZcount const *)arg1)->operator <=((gpstk::GPSZcount const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_operator_greater_than_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_operator_greater_than_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((gpstk::GPSZcount const *)arg1)->operator >=((gpstk::GPSZcount const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_inSameTimeBlock__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ unsigned long arg3 ;
+ unsigned long arg4 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ooll:GPSZcount_inSameTimeBlock self other inZcountBlock inZcountOffset ",NULL,NULL,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)(arg1)->inSameTimeBlock((gpstk::GPSZcount const &)*arg2,arg3,arg4);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_inSameTimeBlock__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ unsigned long arg3 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ool:GPSZcount_inSameTimeBlock self other inZcountBlock ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)(arg1)->inSameTimeBlock((gpstk::GPSZcount const &)*arg2,arg3);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_inSameTimeBlock(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_GPSZcount_inSameTimeBlock__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_GPSZcount_inSameTimeBlock__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'GPSZcount_inSameTimeBlock'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_dump__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ std::ostream *arg2 = 0 ;
+ short arg3 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ooh:GPSZcount_dump self out level ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ ((gpstk::GPSZcount const *)arg1)->dump(*arg2,arg3);
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_dump__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+ std::ostream *arg2 = 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_dump self out ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ ((gpstk::GPSZcount const *)arg1)->dump(*arg2);
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_dump(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_GPSZcount_dump__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_GPSZcount_dump__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'GPSZcount_dump'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_GPSZcount(void *obj) {
+gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_GPSZcount_methods[] = {
+ {"getWeek", _wrap_GPSZcount_getWeek},
+ {"getZcount", _wrap_GPSZcount_getZcount},
+ {"getFullZcount", _wrap_GPSZcount_getFullZcount},
+ {"getTotalZcounts", _wrap_GPSZcount_getTotalZcounts},
+ {"setWeek", _wrap_GPSZcount_setWeek},
+ {"setZcount", _wrap_GPSZcount_setZcount},
+ {"setFullZcount", _wrap_GPSZcount_setFullZcount},
+ {"addWeeks", _wrap_GPSZcount_addWeeks},
+ {"addZcounts", _wrap_GPSZcount_addZcounts},
+ {"+", _wrap_GPSZcount_a___},
+ {"-", _wrap_GPSZcount_s___},
+ {"=", _wrap_GPSZcount_e___},
+ {"operator_less_than", _wrap_GPSZcount_operator_less_than},
+ {"operator_greater_than", _wrap_GPSZcount_operator_greater_than},
+ {"operator_equal_to", _wrap_GPSZcount_operator_equal_to},
+ {"operator_not_equal_to", _wrap_GPSZcount_operator_not_equal_to},
+ {"operator_less_than_equal_to", _wrap_GPSZcount_operator_less_than_equal_to},
+ {"operator_greater_than_equal_to", _wrap_GPSZcount_operator_greater_than_equal_to},
+ {"inSameTimeBlock", _wrap_GPSZcount_inSameTimeBlock},
+ {"dump", _wrap_GPSZcount_dump},
+ {0,0}
+};
+static swig_attribute swig_gpstk_GPSZcount_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_gpstk_GPSZcount_bases[] = {0};
+static char *swig_gpstk_GPSZcount_base_names[] = {0};
+swig_class _wrap_class_gpstk_GPSZcount = { "GPSZcount", &SWIGTYPE_p_gpstk__GPSZcount,_wrap_new_GPSZcount, swig_delete_GPSZcount, swig_gpstk_GPSZcount_methods, swig_gpstk_GPSZcount_attributes, swig_gpstk_GPSZcount_bases,swig_gpstk_GPSZcount_base_names };
+static int
+_wrap_ll___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ std::ostream *arg1 = 0 ;
+ gpstk::GPSZcount *arg2 = 0 ;
+ std::ostream *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:<< s z ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ std::ostream &_result_ref = gpstk::operator <<(*arg1,(gpstk::GPSZcount const &)*arg2);
+ result = (std::ostream *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static char *_wrap_DayTime_FACTOR_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) DayTime::FACTOR);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_JD_TO_MJD_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewDoubleObj((double) DayTime::JD_TO_MJD);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_MJD_JDAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) DayTime::MJD_JDAY);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_GPS_EPOCH_JDAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) DayTime::GPS_EPOCH_JDAY);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_GPS_EPOCH_MJD_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) DayTime::GPS_EPOCH_MJD);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_UNIX_MJD_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) DayTime::UNIX_MJD);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_HALFWEEK_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) DayTime::HALFWEEK);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_FULLWEEK_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) DayTime::FULLWEEK);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_SEC_DAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) DayTime::SEC_DAY);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_MS_PER_DAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) DayTime::MS_PER_DAY);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_ONE_NSEC_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewDoubleObj((double) DayTime::ONE_NSEC_TOLERANCE);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_ONE_USEC_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewDoubleObj((double) DayTime::ONE_USEC_TOLERANCE);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_ONE_MSEC_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewDoubleObj((double) DayTime::ONE_MSEC_TOLERANCE);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_ONE_SEC_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewDoubleObj((double) DayTime::ONE_SEC_TOLERANCE);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_ONE_MIN_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewDoubleObj((double) DayTime::ONE_MIN_TOLERANCE);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_ONE_HOUR_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewDoubleObj((double) DayTime::ONE_HOUR_TOLERANCE);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_DAYTIME_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewDoubleObj((double) DayTime::DAYTIME_TOLERANCE);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_DAYTIME_TOLERANCE_set(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+ Tcl_Obj *name1o = 0;
+
+ name1o = Tcl_NewStringObj(name1,-1);
+ value = Tcl_ObjGetVar2(interp, name1o, 0, flags);
+ Tcl_DecrRefCount(name1o);
+ if (!value) return NULL;
+ {
+ double temp;
+ if (Tcl_GetDoubleFromObj(interp, value, &temp) != TCL_OK) {
+ return (char*) "Type error. expected a double.";
+ }
+ DayTime::DAYTIME_TOLERANCE = (double) temp;
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_BEGIN_LIMIT_JDAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) DayTime::BEGIN_LIMIT_JDAY);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_END_LIMIT_JDAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) DayTime::END_LIMIT_JDAY);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_BEGINNING_OF_TIME_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = SWIG_NewInstanceObj((void *) &DayTime::BEGINNING_OF_TIME, SWIGTYPE_p_DayTime,0);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_END_OF_TIME_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = SWIG_NewInstanceObj((void *) &DayTime::END_OF_TIME, SWIGTYPE_p_DayTime,0);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_DAYTIME_TEST_VALID_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+
+ value = Tcl_NewIntObj((long) DayTime::DAYTIME_TEST_VALID);
+ if (value) {
+ Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+ Tcl_DecrRefCount(value);
+ }
+ return NULL;
+}
+
+
+static char *_wrap_DayTime_DAYTIME_TEST_VALID_set(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+ Tcl_Obj *value = 0;
+ Tcl_Obj *name1o = 0;
+
+ name1o = Tcl_NewStringObj(name1,-1);
+ value = Tcl_ObjGetVar2(interp, name1o, 0, flags);
+ Tcl_DecrRefCount(name1o);
+ if (!value) return NULL;
+ {
+ long temp;
+ if (Tcl_GetLongFromObj(interp, value, &temp) != TCL_OK) {
+ return (char*) "Type error. expected an integer";
+ }
+ DayTime::DAYTIME_TEST_VALID = temp ? true : false;
+ }
+ return NULL;
+}
+
+
+static int
+_wrap_DayTime_setDayTimeTolerance(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ double arg1 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"d:DayTime_setDayTimeTolerance tol ",&arg1) == TCL_ERROR) SWIG_fail;
+ result = (double)DayTime::setDayTimeTolerance(arg1);
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_getDayTimeTolerance(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":DayTime_getDayTimeTolerance ") == TCL_ERROR) SWIG_fail;
+ result = (double)DayTime::getDayTimeTolerance();
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setTolerance(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_setTolerance self tol ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setTolerance(arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,":new_DayTime ") == TCL_ERROR) SWIG_fail;
+ result = (DayTime *)new DayTime();
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ short arg1 ;
+ double arg2 ;
+ DayTime::TimeFrame arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"hdi:new_DayTime GPSWeek GPSSecond f ",&arg1,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ result = (DayTime *)new DayTime(arg1,arg2,(DayTime::TimeFrame )arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ short arg1 ;
+ double arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"hd:new_DayTime GPSWeek GPSSecond ",&arg1,&arg2) == TCL_ERROR) SWIG_fail;
+ result = (DayTime *)new DayTime(arg1,arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ unsigned long arg1 ;
+ DayTime::TimeFrame arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"li:new_DayTime fullZcount f ",&arg1,&arg2) == TCL_ERROR) SWIG_fail;
+ result = (DayTime *)new DayTime(arg1,(DayTime::TimeFrame )arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ unsigned long arg1 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"l:new_DayTime fullZcount ",&arg1) == TCL_ERROR) SWIG_fail;
+ result = (DayTime *)new DayTime(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ short arg1 ;
+ short arg2 ;
+ short arg3 ;
+ short arg4 ;
+ short arg5 ;
+ double arg6 ;
+ DayTime::TimeFrame arg7 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"hhhhhdi:new_DayTime year month day hour minute second f ",&arg1,&arg2,&arg3,&arg4,&arg5,&arg6,&arg7) == TCL_ERROR) SWIG_fail;
+ result = (DayTime *)new DayTime(arg1,arg2,arg3,arg4,arg5,arg6,(DayTime::TimeFrame )arg7);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_6(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ short arg1 ;
+ short arg2 ;
+ short arg3 ;
+ short arg4 ;
+ short arg5 ;
+ double arg6 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"hhhhhd:new_DayTime year month day hour minute second ",&arg1,&arg2,&arg3,&arg4,&arg5,&arg6) == TCL_ERROR) SWIG_fail;
+ result = (DayTime *)new DayTime(arg1,arg2,arg3,arg4,arg5,arg6);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_7(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ double arg1 ;
+ DayTime::TimeFrame arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"di:new_DayTime MJD f ",&arg1,&arg2) == TCL_ERROR) SWIG_fail;
+ result = (DayTime *)new DayTime(arg1,(DayTime::TimeFrame )arg2);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_8(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ double arg1 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"d:new_DayTime MJD ",&arg1) == TCL_ERROR) SWIG_fail;
+ result = (DayTime *)new DayTime(arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_9(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ short arg1 ;
+ short arg2 ;
+ double arg3 ;
+ DayTime::TimeFrame arg4 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"hhdi:new_DayTime year doy sod f ",&arg1,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+ result = (DayTime *)new DayTime(arg1,arg2,arg3,(DayTime::TimeFrame )arg4);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_10(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ short arg1 ;
+ short arg2 ;
+ double arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"hhd:new_DayTime year doy sod ",&arg1,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ result = (DayTime *)new DayTime(arg1,arg2,arg3);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_11(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = 0 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:new_DayTime right ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (DayTime *)new DayTime((DayTime const &)*arg1);
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 0) {
+ return _wrap_new_DayTime__SWIG_0(clientData, interp, objc, objv);
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_11(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 1) {
+ int _v;
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_8(clientData, interp, objc, objv);
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_7(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_10(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_9(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 6) {
+ int _v;
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[5],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_6(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 7) {
+ int _v;
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[5],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[6],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_new_DayTime__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_DayTime'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime *arg2 = 0 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_= self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->operator =((DayTime const &)*arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_s_____SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime *arg2 = 0 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_- self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (double)((DayTime const *)arg1)->operator -((DayTime const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_a___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double arg2 ;
+ DayTime result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_+ self sec ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((DayTime const *)arg1)->operator +(arg2);
+
+ {
+ DayTime * resultptr;
+ resultptr = new DayTime((DayTime &) result);
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_DayTime,1));
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_s_____SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double arg2 ;
+ DayTime result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_- self sec ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((DayTime const *)arg1)->operator -(arg2);
+
+ {
+ DayTime * resultptr;
+ resultptr = new DayTime((DayTime &) result);
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_DayTime,1));
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_s___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_DayTime_s_____SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_s_____SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_-'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_addSeconds__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_addSeconds self seconds ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->addSeconds(arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_addSeconds__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ long arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:DayTime_addSeconds self seconds ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->addSeconds(arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_addSeconds(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_addSeconds__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_addSeconds__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_addSeconds'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_addMilliSeconds(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ long arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:DayTime_addMilliSeconds self msec ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->addMilliSeconds(arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_addMicroSeconds(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ long arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:DayTime_addMicroSeconds self usec ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->addMicroSeconds(arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_operator_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime *arg2 = 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_operator_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((DayTime const *)arg1)->operator ==((DayTime const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_operator_not_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime *arg2 = 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_operator_not_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((DayTime const *)arg1)->operator !=((DayTime const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_operator_less_than(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime *arg2 = 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_operator_less_than self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((DayTime const *)arg1)->operator <((DayTime const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_operator_greater_than(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime *arg2 = 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_operator_greater_than self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((DayTime const *)arg1)->operator >((DayTime const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_operator_less_than_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime *arg2 = 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_operator_less_than_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((DayTime const *)arg1)->operator <=((DayTime const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_operator_greater_than_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime *arg2 = 0 ;
+ bool result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_operator_greater_than_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (bool)((DayTime const *)arg1)->operator >=((DayTime const &)*arg2);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setAllButTimeFrame(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime *arg2 = 0 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_setAllButTimeFrame self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setAllButTimeFrame((DayTime const &)*arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setTimeFrame(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime::TimeFrame arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oi:DayTime_setTimeFrame self f ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setTimeFrame((DayTime::TimeFrame )arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_getTimeFrame(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime::TimeFrame result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_getTimeFrame self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (DayTime::TimeFrame)((DayTime const *)arg1)->getTimeFrame();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_JD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_JD self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (double)((DayTime const *)arg1)->JD();
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_MJD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_MJD self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (double)((DayTime const *)arg1)->MJD();
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_year(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_year self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((DayTime const *)arg1)->year();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_month(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_month self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((DayTime const *)arg1)->month();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_day(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_day self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((DayTime const *)arg1)->day();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_dayOfWeek(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_dayOfWeek self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((DayTime const *)arg1)->dayOfWeek();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_getYMD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ int *arg2 = 0 ;
+ int *arg3 = 0 ;
+ int *arg4 = 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oooo:DayTime_getYMD self yy mm dd ",NULL,NULL,NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[3], (void **) &arg3, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[4], (void **) &arg4, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ ((DayTime const *)arg1)->getYMD(*arg2,*arg3,*arg4);
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_hour(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_hour self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((DayTime const *)arg1)->hour();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_minute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_minute self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((DayTime const *)arg1)->minute();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_second(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_second self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (double)((DayTime const *)arg1)->second();
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_secOfDay(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_secOfDay self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (double)((DayTime const *)arg1)->secOfDay();
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPS10bitweek(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPS10bitweek self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((DayTime const *)arg1)->GPS10bitweek();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSzcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ long result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSzcount self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (long)((DayTime const *)arg1)->GPSzcount();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSzcountFloor(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ long result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSzcountFloor self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (long)((DayTime const *)arg1)->GPSzcountFloor();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSsecond(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSsecond self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (double)((DayTime const *)arg1)->GPSsecond();
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSsow(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSsow self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (double)((DayTime const *)arg1)->GPSsow();
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSday(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSday self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((DayTime const *)arg1)->GPSday();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSfullweek(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSfullweek self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((DayTime const *)arg1)->GPSfullweek();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSyear(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSyear self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((DayTime const *)arg1)->GPSyear();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_DOYyear(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_DOYyear self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((DayTime const *)arg1)->DOYyear();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_DOY(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_DOY self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (short)((DayTime const *)arg1)->DOY();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_DOYsecond(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_DOYsecond self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (double)((DayTime const *)arg1)->DOYsecond();
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_MJDdate(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_MJDdate self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (double)((DayTime const *)arg1)->MJDdate();
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_getMJDasLongDouble(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ long double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_getMJDasLongDouble self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (long double)((DayTime const *)arg1)->getMJDasLongDouble();
+
+ {
+ long double * resultptr;
+ resultptr = new long double((long double &) result);
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_long_double,1));
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_unixTime(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ timeval result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_unixTime self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((DayTime const *)arg1)->unixTime();
+
+ {
+ timeval * resultptr;
+ resultptr = new timeval((timeval &) result);
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_timeval,1));
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_fullZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ unsigned long result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_fullZcount self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (unsigned long)((DayTime const *)arg1)->fullZcount();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_fullZcountFloor(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ unsigned long result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_fullZcountFloor self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = (unsigned long)((DayTime const *)arg1)->fullZcountFloor();
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYMDHMS__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short arg2 ;
+ short arg3 ;
+ short arg4 ;
+ short arg5 ;
+ short arg6 ;
+ double arg7 ;
+ DayTime::TimeFrame arg8 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ohhhhhdi:DayTime_setYMDHMS self year month day hour min sec f ",NULL,&arg2,&arg3,&arg4,&arg5,&arg6,&arg7,&arg8) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setYMDHMS(arg2,arg3,arg4,arg5,arg6,arg7,(DayTime::TimeFrame )arg8);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYMDHMS__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short arg2 ;
+ short arg3 ;
+ short arg4 ;
+ short arg5 ;
+ short arg6 ;
+ double arg7 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ohhhhhd:DayTime_setYMDHMS self year month day hour min sec ",NULL,&arg2,&arg3,&arg4,&arg5,&arg6,&arg7) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setYMDHMS(arg2,arg3,arg4,arg5,arg6,arg7);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYMDHMS(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 7) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[5],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[6],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setYMDHMS__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (argc == 8) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[5],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[6],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[7],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setYMDHMS__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setYMDHMS'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short arg2 ;
+ double arg3 ;
+ DayTime::TimeFrame arg4 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ohdi:DayTime_setGPS self week sow f ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,(DayTime::TimeFrame )arg4);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short arg2 ;
+ double arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ohd:DayTime_setGPS self week sow ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setGPS(arg2,arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short arg2 ;
+ long arg3 ;
+ DayTime::TimeFrame arg4 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ohli:DayTime_setGPS self week zcount f ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,(DayTime::TimeFrame )arg4);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short arg2 ;
+ long arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ohl:DayTime_setGPS self week zcount ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setGPS(arg2,arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short arg2 ;
+ double arg3 ;
+ short arg4 ;
+ DayTime::TimeFrame arg5 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ohdhi:DayTime_setGPS self week sow year f ",NULL,&arg2,&arg3,&arg4,&arg5) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4,(DayTime::TimeFrame )arg5);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short arg2 ;
+ double arg3 ;
+ short arg4 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ohdh:DayTime_setGPS self week sow year ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_6(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ unsigned long arg2 ;
+ DayTime::TimeFrame arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oli:DayTime_setGPS self Zcount f ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setGPS(arg2,(DayTime::TimeFrame )arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_7(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ unsigned long arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ol:DayTime_setGPS self Zcount ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setGPS(arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_7(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_6(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_5(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPS__SWIG_4(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setGPS'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPSfullweek__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short arg2 ;
+ double arg3 ;
+ DayTime::TimeFrame arg4 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ohdi:DayTime_setGPSfullweek self fullweek sow f ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setGPSfullweek(arg2,arg3,(DayTime::TimeFrame )arg4);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPSfullweek__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short arg2 ;
+ double arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ohd:DayTime_setGPSfullweek self fullweek sow ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setGPSfullweek(arg2,arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPSfullweek(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPSfullweek__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPSfullweek__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setGPSfullweek'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPSZcount__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ GPSZcount *arg2 = 0 ;
+ DayTime::TimeFrame arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ooi:DayTime_setGPSZcount self z f ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setGPSZcount((GPSZcount const &)*arg2,(DayTime::TimeFrame )arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPSZcount__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ GPSZcount *arg2 = 0 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_setGPSZcount self z ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setGPSZcount((GPSZcount const &)*arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPSZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_GPSZcount, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPSZcount__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_GPSZcount, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setGPSZcount__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setGPSZcount'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYDoySod__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short arg2 ;
+ short arg3 ;
+ double arg4 ;
+ DayTime::TimeFrame arg5 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ohhdi:DayTime_setYDoySod self year day_of_year sec_of_day f ",NULL,&arg2,&arg3,&arg4,&arg5) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setYDoySod(arg2,arg3,arg4,(DayTime::TimeFrame )arg5);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYDoySod__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ short arg2 ;
+ short arg3 ;
+ double arg4 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ohhd:DayTime_setYDoySod self year day_of_year sec_of_day ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setYDoySod(arg2,arg3,arg4);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYDoySod(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setYDoySod__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setYDoySod__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setYDoySod'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJD__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ long double arg2 ;
+ DayTime::TimeFrame arg3 ;
+ DayTime *result;
+ long double *argp2 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ooi:DayTime_setMJD self mjd f ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &argp2, SWIGTYPE_p_long_double,SWIG_POINTER_EXCEPTION ) != TCL_OK)) SWIG_fail;
+ arg2 = *argp2;
+ {
+ DayTime &_result_ref = (arg1)->setMJD(arg2,(DayTime::TimeFrame )arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJD__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ long double arg2 ;
+ DayTime *result;
+ long double *argp2 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_setMJD self mjd ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &argp2, SWIGTYPE_p_long_double,SWIG_POINTER_EXCEPTION ) != TCL_OK)) SWIG_fail;
+ arg2 = *argp2;
+ {
+ DayTime &_result_ref = (arg1)->setMJD(arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJDdate__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ long double arg2 ;
+ DayTime::TimeFrame arg3 ;
+ DayTime *result;
+ long double *argp2 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ooi:DayTime_setMJDdate self mjd f ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &argp2, SWIGTYPE_p_long_double,SWIG_POINTER_EXCEPTION ) != TCL_OK)) SWIG_fail;
+ arg2 = *argp2;
+ {
+ DayTime &_result_ref = (arg1)->setMJDdate(arg2,(DayTime::TimeFrame )arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJDdate__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ long double arg2 ;
+ DayTime *result;
+ long double *argp2 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_setMJDdate self mjd ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &argp2, SWIGTYPE_p_long_double,SWIG_POINTER_EXCEPTION ) != TCL_OK)) SWIG_fail;
+ arg2 = *argp2;
+ {
+ DayTime &_result_ref = (arg1)->setMJDdate(arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJD__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double arg2 ;
+ DayTime::TimeFrame arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"odi:DayTime_setMJD self mjd f ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setMJD(arg2,(DayTime::TimeFrame )arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJD__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_setMJD self mjd ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setMJD(arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_long_double, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_DayTime_setMJD__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setMJD__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_long_double, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setMJD__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setMJD__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setMJD'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJDdate__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double arg2 ;
+ DayTime::TimeFrame arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"odi:DayTime_setMJDdate self mjd f ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setMJDdate(arg2,(DayTime::TimeFrame )arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJDdate__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_setMJDdate self mjd ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setMJDdate(arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJDdate(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_long_double, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_DayTime_setMJDdate__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setMJDdate__SWIG_3(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_long_double, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setMJDdate__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setMJDdate__SWIG_2(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setMJDdate'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setUnix__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ timeval *arg2 = 0 ;
+ DayTime::TimeFrame arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ooi:DayTime_setUnix self t f ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_timeval,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setUnix((timeval const &)*arg2,(DayTime::TimeFrame )arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setUnix__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ timeval *arg2 = 0 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_setUnix self t ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_timeval,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setUnix((timeval const &)*arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setUnix(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_timeval, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_DayTime_setUnix__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_timeval, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setUnix__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setUnix'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setANSI__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ time_t *arg2 = 0 ;
+ DayTime::TimeFrame arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ooi:DayTime_setANSI self t f ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_time_t,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setANSI((time_t const &)*arg2,(DayTime::TimeFrame )arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setANSI__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ time_t *arg2 = 0 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_setANSI self t ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_time_t,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setANSI((time_t const &)*arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setANSI(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_time_t, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ return _wrap_DayTime_setANSI__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_time_t, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setANSI__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setANSI'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setSystemTime(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_setSystemTime self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setSystemTime();
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setLocalTime(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_setLocalTime self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setLocalTime();
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYMD__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ int arg4 ;
+ DayTime::TimeFrame arg5 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oiiii:DayTime_setYMD self yy mm dd f ",NULL,&arg2,&arg3,&arg4,&arg5) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setYMD(arg2,arg3,arg4,(DayTime::TimeFrame )arg5);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYMD__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ int arg4 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oiii:DayTime_setYMD self yy mm dd ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setYMD(arg2,arg3,arg4);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYMD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setYMD__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setYMD__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setYMD'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setHMS__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ double arg4 ;
+ DayTime::TimeFrame arg5 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oiidi:DayTime_setHMS self hh mm sec f ",NULL,&arg2,&arg3,&arg4,&arg5) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setHMS(arg2,arg3,arg4,(DayTime::TimeFrame )arg5);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setHMS__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ double arg4 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oiid:DayTime_setHMS self hh mm sec ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setHMS(arg2,arg3,arg4);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setHMS(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setHMS__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ if (argc == 5) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setHMS__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setHMS'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setSecOfDay__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double arg2 ;
+ DayTime::TimeFrame arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"odi:DayTime_setSecOfDay self sod f ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setSecOfDay(arg2,(DayTime::TimeFrame )arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setSecOfDay__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ double arg2 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_setSecOfDay self sod ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setSecOfDay(arg2);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setSecOfDay(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 2) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setSecOfDay__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ double tmp;
+ if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setSecOfDay__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setSecOfDay'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYDoy__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ DayTime::TimeFrame arg4 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oiii:DayTime_setYDoy self yy doy f ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setYDoy(arg2,arg3,(DayTime::TimeFrame )arg4);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYDoy__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ int arg2 ;
+ int arg3 ;
+ DayTime *result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oii:DayTime_setYDoy self yy doy ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ DayTime &_result_ref = (arg1)->setYDoy(arg2,arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYDoy(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ Tcl_Obj *CONST *argv = objv+1;
+ int argc = objc-1;
+ if (argc == 3) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setYDoy__SWIG_1(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ if (argc == 4) {
+ int _v;
+ {
+ void *ptr;
+ if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+ _v = 0;
+ } else {
+ _v = 1;
+ }
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ {
+ long tmp;
+ if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+ else _v = 1;
+ }
+ if (_v) {
+ return _wrap_DayTime_setYDoy__SWIG_0(clientData, interp, objc, objv);
+ }
+ }
+ }
+ }
+ }
+
+ Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setYDoy'", TCL_STATIC);
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setToString(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ std::string *arg2 = 0 ;
+ std::string *arg3 = 0 ;
+ DayTime *result;
+ std::string temp2 ;
+ std::string temp3 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"ooo:DayTime_setToString self str fmt ",NULL,NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ temp2 = std::string(Tcl_GetStringFromObj(objv[2],NULL));
+ arg2 = &temp2;
+ }
+ {
+ temp3 = std::string(Tcl_GetStringFromObj(objv[3],NULL));
+ arg3 = &temp3;
+ }
+ {
+ DayTime &_result_ref = (arg1)->setToString((std::string const &)*arg2,(std::string const &)*arg3);
+ result = (DayTime *) &_result_ref;
+ }
+
+ Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_DayTime_printString(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ char *arg2 = (char *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"os:DayTime_DayTime_printString self fmt ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((DayTime const *)arg1)->printf((char const *)arg2);
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_printf(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ std::string *arg2 = 0 ;
+ std::string result;
+ std::string temp2 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_printf self fmt ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ {
+ temp2 = std::string(Tcl_GetStringFromObj(objv[2],NULL));
+ arg2 = &temp2;
+ }
+ result = ((DayTime const *)arg1)->printf((std::string const &)*arg2);
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_asString(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ std::string result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_asString self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ result = ((DayTime const *)arg1)->asString();
+
+ {
+ Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+ }
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_dump(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+ std::ostream *arg2 = 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_dump self s ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ ((DayTime const *)arg1)->dump(*arg2);
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_convertJDtoCalendar(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ long arg1 ;
+ int *arg2 = 0 ;
+ int *arg3 = 0 ;
+ int *arg4 = 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"looo:DayTime_convertJDtoCalendar jd iyear imonth iday ",&arg1,NULL,NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[3], (void **) &arg3, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[4], (void **) &arg4, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ DayTime::convertJDtoCalendar(arg1,*arg2,*arg3,*arg4);
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_convertCalendarToJD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ int arg1 ;
+ int arg2 ;
+ int arg3 ;
+ long result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"iii:DayTime_convertCalendarToJD iyear imonth iday ",&arg1,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ result = (long)DayTime::convertCalendarToJD(arg1,arg2,arg3);
+
+ Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_convertSODtoTime(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ double arg1 ;
+ int *arg2 = 0 ;
+ int *arg3 = 0 ;
+ double *arg4 = 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"dooo:DayTime_convertSODtoTime sod hh mm sec ",&arg1,NULL,NULL,NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[3], (void **) &arg3, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[4], (void **) &arg4, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ DayTime::convertSODtoTime(arg1,*arg2,*arg3,*arg4);
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_convertTimeToSOD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ int arg1 ;
+ int arg2 ;
+ double arg3 ;
+ double result;
+
+ if (SWIG_GetArgs(interp, objc, objv,"iid:DayTime_convertTimeToSOD hh mm sec ",&arg1,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+ result = (double)DayTime::convertTimeToSOD(arg1,arg2,arg3);
+
+ Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_DayTime(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+ DayTime *arg1 = (DayTime *) 0 ;
+
+ if (SWIG_GetArgs(interp, objc, objv,"o:delete_DayTime self ",NULL) == TCL_ERROR) SWIG_fail;
+ if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+ delete arg1;
+
+
+ return TCL_OK;
+ fail:
+ return TCL_ERROR;
+}
+
+
+static void swig_delete_DayTime(void *obj) {
+DayTime *arg1 = (DayTime *) obj;
+delete arg1;
+}
+static swig_method swig_DayTime_methods[] = {
+ {"setTolerance", _wrap_DayTime_setTolerance},
+ {"=", _wrap_DayTime_e___},
+ {"+", _wrap_DayTime_a___},
+ {"-", _wrap_DayTime_s___},
+ {"addSeconds", _wrap_DayTime_addSeconds},
+ {"addMilliSeconds", _wrap_DayTime_addMilliSeconds},
+ {"addMicroSeconds", _wrap_DayTime_addMicroSeconds},
+ {"operator_equal_to", _wrap_DayTime_operator_equal_to},
+ {"operator_not_equal_to", _wrap_DayTime_operator_not_equal_to},
+ {"operator_less_than", _wrap_DayTime_operator_less_than},
+ {"operator_greater_than", _wrap_DayTime_operator_greater_than},
+ {"operator_less_than_equal_to", _wrap_DayTime_operator_less_than_equal_to},
+ {"operator_greater_than_equal_to", _wrap_DayTime_operator_greater_than_equal_to},
+ {"setAllButTimeFrame", _wrap_DayTime_setAllButTimeFrame},
+ {"setTimeFrame", _wrap_DayTime_setTimeFrame},
+ {"getTimeFrame", _wrap_DayTime_getTimeFrame},
+ {"JD", _wrap_DayTime_JD},
+ {"MJD", _wrap_DayTime_MJD},
+ {"year", _wrap_DayTime_year},
+ {"month", _wrap_DayTime_month},
+ {"day", _wrap_DayTime_day},
+ {"dayOfWeek", _wrap_DayTime_dayOfWeek},
+ {"getYMD", _wrap_DayTime_getYMD},
+ {"hour", _wrap_DayTime_hour},
+ {"minute", _wrap_DayTime_minute},
+ {"second", _wrap_DayTime_second},
+ {"secOfDay", _wrap_DayTime_secOfDay},
+ {"GPS10bitweek", _wrap_DayTime_GPS10bitweek},
+ {"GPSzcount", _wrap_DayTime_GPSzcount},
+ {"GPSzcountFloor", _wrap_DayTime_GPSzcountFloor},
+ {"GPSsecond", _wrap_DayTime_GPSsecond},
+ {"GPSsow", _wrap_DayTime_GPSsow},
+ {"GPSday", _wrap_DayTime_GPSday},
+ {"GPSfullweek", _wrap_DayTime_GPSfullweek},
+ {"GPSyear", _wrap_DayTime_GPSyear},
+ {"DOYyear", _wrap_DayTime_DOYyear},
+ {"DOY", _wrap_DayTime_DOY},
+ {"DOYsecond", _wrap_DayTime_DOYsecond},
+ {"MJDdate", _wrap_DayTime_MJDdate},
+ {"getMJDasLongDouble", _wrap_DayTime_getMJDasLongDouble},
+ {"unixTime", _wrap_DayTime_unixTime},
+ {"fullZcount", _wrap_DayTime_fullZcount},
+ {"fullZcountFloor", _wrap_DayTime_fullZcountFloor},
+ {"setYMDHMS", _wrap_DayTime_setYMDHMS},
+ {"setGPS", _wrap_DayTime_setGPS},
+ {"setGPSfullweek", _wrap_DayTime_setGPSfullweek},
+ {"setGPSZcount", _wrap_DayTime_setGPSZcount},
+ {"setYDoySod", _wrap_DayTime_setYDoySod},
+ {"setMJD", _wrap_DayTime_setMJD},
+ {"setMJDdate", _wrap_DayTime_setMJDdate},
+ {"setUnix", _wrap_DayTime_setUnix},
+ {"setANSI", _wrap_DayTime_setANSI},
+ {"setSystemTime", _wrap_DayTime_setSystemTime},
+ {"setLocalTime", _wrap_DayTime_setLocalTime},
+ {"setYMD", _wrap_DayTime_setYMD},
+ {"setHMS", _wrap_DayTime_setHMS},
+ {"setSecOfDay", _wrap_DayTime_setSecOfDay},
+ {"setYDoy", _wrap_DayTime_setYDoy},
+ {"setToString", _wrap_DayTime_setToString},
+ {"DayTime_printString", _wrap_DayTime_DayTime_printString},
+ {"printf", _wrap_DayTime_printf},
+ {"asString", _wrap_DayTime_asString},
+ {"dump", _wrap_DayTime_dump},
+ {0,0}
+};
+static swig_attribute swig_DayTime_attributes[] = {
+ {0,0,0}
+};
+static swig_class *swig_DayTime_bases[] = {0};
+static char *swig_DayTime_base_names[] = {0};
+swig_class _wrap_class_DayTime = { "DayTime", &SWIGTYPE_p_DayTime,_wrap_new_DayTime, swig_delete_DayTime, swig_DayTime_methods, swig_DayTime_attributes, swig_DayTime_bases,swig_DayTime_base_names };
+
+static swig_command_info swig_commands[] = {
+ { SWIG_prefix "new_ExceptionLocation", (swig_wrapper_func) _wrap_new_ExceptionLocation, NULL},
+ { SWIG_prefix "delete_ExceptionLocation", (swig_wrapper_func) _wrap_delete_ExceptionLocation, NULL},
+ { SWIG_prefix "ExceptionLocation_getFileName", (swig_wrapper_func) _wrap_ExceptionLocation_getFileName, NULL},
+ { SWIG_prefix "ExceptionLocation_getFunctionName", (swig_wrapper_func) _wrap_ExceptionLocation_getFunctionName, NULL},
+ { SWIG_prefix "ExceptionLocation_getLineNumber", (swig_wrapper_func) _wrap_ExceptionLocation_getLineNumber, NULL},
+ { SWIG_prefix "ExceptionLocation_dump", (swig_wrapper_func) _wrap_ExceptionLocation_dump, NULL},
+ { SWIG_prefix "ExceptionLocation", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_ExceptionLocation},
+ { SWIG_prefix "new_Exception", (swig_wrapper_func) _wrap_new_Exception, NULL},
+ { SWIG_prefix "delete_Exception", (swig_wrapper_func) _wrap_delete_Exception, NULL},
+ { SWIG_prefix "Exception_=", (swig_wrapper_func) _wrap_Exception_e___, NULL},
+ { SWIG_prefix "Exception_terminate", (swig_wrapper_func) _wrap_Exception_terminate, NULL},
+ { SWIG_prefix "Exception_getErrorId", (swig_wrapper_func) _wrap_Exception_getErrorId, NULL},
+ { SWIG_prefix "Exception_setErrorId", (swig_wrapper_func) _wrap_Exception_setErrorId, NULL},
+ { SWIG_prefix "Exception_addLocation", (swig_wrapper_func) _wrap_Exception_addLocation, NULL},
+ { SWIG_prefix "Exception_getLocation", (swig_wrapper_func) _wrap_Exception_getLocation, NULL},
+ { SWIG_prefix "Exception_getLocationCount", (swig_wrapper_func) _wrap_Exception_getLocationCount, NULL},
+ { SWIG_prefix "Exception_isRecoverable", (swig_wrapper_func) _wrap_Exception_isRecoverable, NULL},
+ { SWIG_prefix "Exception_setSeverity", (swig_wrapper_func) _wrap_Exception_setSeverity, NULL},
+ { SWIG_prefix "Exception_addText", (swig_wrapper_func) _wrap_Exception_addText, NULL},
+ { SWIG_prefix "Exception_getText", (swig_wrapper_func) _wrap_Exception_getText, NULL},
+ { SWIG_prefix "Exception_getTextCount", (swig_wrapper_func) _wrap_Exception_getTextCount, NULL},
+ { SWIG_prefix "Exception_getName", (swig_wrapper_func) _wrap_Exception_getName, NULL},
+ { SWIG_prefix "Exception_dump", (swig_wrapper_func) _wrap_Exception_dump, NULL},
+ { SWIG_prefix "Exception", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_Exception},
+ { SWIG_prefix "new_InvalidParameter", (swig_wrapper_func) _wrap_new_InvalidParameter, NULL},
+ { SWIG_prefix "delete_InvalidParameter", (swig_wrapper_func) _wrap_delete_InvalidParameter, NULL},
+ { SWIG_prefix "InvalidParameter_getName", (swig_wrapper_func) _wrap_InvalidParameter_getName, NULL},
+ { SWIG_prefix "InvalidParameter_=", (swig_wrapper_func) _wrap_InvalidParameter_e___, NULL},
+ { SWIG_prefix "InvalidParameter", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_InvalidParameter},
+ { SWIG_prefix "new_InvalidRequest", (swig_wrapper_func) _wrap_new_InvalidRequest, NULL},
+ { SWIG_prefix "delete_InvalidRequest", (swig_wrapper_func) _wrap_delete_InvalidRequest, NULL},
+ { SWIG_prefix "InvalidRequest_getName", (swig_wrapper_func) _wrap_InvalidRequest_getName, NULL},
+ { SWIG_prefix "InvalidRequest_=", (swig_wrapper_func) _wrap_InvalidRequest_e___, NULL},
+ { SWIG_prefix "InvalidRequest", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_InvalidRequest},
+ { SWIG_prefix "new_AssertionFailure", (swig_wrapper_func) _wrap_new_AssertionFailure, NULL},
+ { SWIG_prefix "delete_AssertionFailure", (swig_wrapper_func) _wrap_delete_AssertionFailure, NULL},
+ { SWIG_prefix "AssertionFailure_getName", (swig_wrapper_func) _wrap_AssertionFailure_getName, NULL},
+ { SWIG_prefix "AssertionFailure_=", (swig_wrapper_func) _wrap_AssertionFailure_e___, NULL},
+ { SWIG_prefix "AssertionFailure", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_AssertionFailure},
+ { SWIG_prefix "new_AccessError", (swig_wrapper_func) _wrap_new_AccessError, NULL},
+ { SWIG_prefix "delete_AccessError", (swig_wrapper_func) _wrap_delete_AccessError, NULL},
+ { SWIG_prefix "AccessError_getName", (swig_wrapper_func) _wrap_AccessError_getName, NULL},
+ { SWIG_prefix "AccessError_=", (swig_wrapper_func) _wrap_AccessError_e___, NULL},
+ { SWIG_prefix "AccessError", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_AccessError},
+ { SWIG_prefix "new_IndexOutOfBoundsException", (swig_wrapper_func) _wrap_new_IndexOutOfBoundsException, NULL},
+ { SWIG_prefix "delete_IndexOutOfBoundsException", (swig_wrapper_func) _wrap_delete_IndexOutOfBoundsException, NULL},
+ { SWIG_prefix "IndexOutOfBoundsException_getName", (swig_wrapper_func) _wrap_IndexOutOfBoundsException_getName, NULL},
+ { SWIG_prefix "IndexOutOfBoundsException_=", (swig_wrapper_func) _wrap_IndexOutOfBoundsException_e___, NULL},
+ { SWIG_prefix "IndexOutOfBoundsException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_IndexOutOfBoundsException},
+ { SWIG_prefix "new_InvalidArgumentException", (swig_wrapper_func) _wrap_new_InvalidArgumentException, NULL},
+ { SWIG_prefix "delete_InvalidArgumentException", (swig_wrapper_func) _wrap_delete_InvalidArgumentException, NULL},
+ { SWIG_prefix "InvalidArgumentException_getName", (swig_wrapper_func) _wrap_InvalidArgumentException_getName, NULL},
+ { SWIG_prefix "InvalidArgumentException_=", (swig_wrapper_func) _wrap_InvalidArgumentException_e___, NULL},
+ { SWIG_prefix "InvalidArgumentException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_InvalidArgumentException},
+ { SWIG_prefix "new_ConfigurationException", (swig_wrapper_func) _wrap_new_ConfigurationException, NULL},
+ { SWIG_prefix "delete_ConfigurationException", (swig_wrapper_func) _wrap_delete_ConfigurationException, NULL},
+ { SWIG_prefix "ConfigurationException_getName", (swig_wrapper_func) _wrap_ConfigurationException_getName, NULL},
+ { SWIG_prefix "ConfigurationException_=", (swig_wrapper_func) _wrap_ConfigurationException_e___, NULL},
+ { SWIG_prefix "ConfigurationException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_ConfigurationException},
+ { SWIG_prefix "new_FileMissingException", (swig_wrapper_func) _wrap_new_FileMissingException, NULL},
+ { SWIG_prefix "delete_FileMissingException", (swig_wrapper_func) _wrap_delete_FileMissingException, NULL},
+ { SWIG_prefix "FileMissingException_getName", (swig_wrapper_func) _wrap_FileMissingException_getName, NULL},
+ { SWIG_prefix "FileMissingException_=", (swig_wrapper_func) _wrap_FileMissingException_e___, NULL},
+ { SWIG_prefix "FileMissingException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_FileMissingException},
+ { SWIG_prefix "new_SystemSemaphoreException", (swig_wrapper_func) _wrap_new_SystemSemaphoreException, NULL},
+ { SWIG_prefix "delete_SystemSemaphoreException", (swig_wrapper_func) _wrap_delete_SystemSemaphoreException, NULL},
+ { SWIG_prefix "SystemSemaphoreException_getName", (swig_wrapper_func) _wrap_SystemSemaphoreException_getName, NULL},
+ { SWIG_prefix "SystemSemaphoreException_=", (swig_wrapper_func) _wrap_SystemSemaphoreException_e___, NULL},
+ { SWIG_prefix "SystemSemaphoreException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_SystemSemaphoreException},
+ { SWIG_prefix "new_SystemPipeException", (swig_wrapper_func) _wrap_new_SystemPipeException, NULL},
+ { SWIG_prefix "delete_SystemPipeException", (swig_wrapper_func) _wrap_delete_SystemPipeException, NULL},
+ { SWIG_prefix "SystemPipeException_getName", (swig_wrapper_func) _wrap_SystemPipeException_getName, NULL},
+ { SWIG_prefix "SystemPipeException_=", (swig_wrapper_func) _wrap_SystemPipeException_e___, NULL},
+ { SWIG_prefix "SystemPipeException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_SystemPipeException},
+ { SWIG_prefix "new_SystemQueueException", (swig_wrapper_func) _wrap_new_SystemQueueException, NULL},
+ { SWIG_prefix "delete_SystemQueueException", (swig_wrapper_func) _wrap_delete_SystemQueueException, NULL},
+ { SWIG_prefix "SystemQueueException_getName", (swig_wrapper_func) _wrap_SystemQueueException_getName, NULL},
+ { SWIG_prefix "SystemQueueException_=", (swig_wrapper_func) _wrap_SystemQueueException_e___, NULL},
+ { SWIG_prefix "SystemQueueException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_SystemQueueException},
+ { SWIG_prefix "new_OutOfMemory", (swig_wrapper_func) _wrap_new_OutOfMemory, NULL},
+ { SWIG_prefix "delete_OutOfMemory", (swig_wrapper_func) _wrap_delete_OutOfMemory, NULL},
+ { SWIG_prefix "OutOfMemory_getName", (swig_wrapper_func) _wrap_OutOfMemory_getName, NULL},
+ { SWIG_prefix "OutOfMemory_=", (swig_wrapper_func) _wrap_OutOfMemory_e___, NULL},
+ { SWIG_prefix "OutOfMemory", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_OutOfMemory},
+ { SWIG_prefix "new_ObjectNotFound", (swig_wrapper_func) _wrap_new_ObjectNotFound, NULL},
+ { SWIG_prefix "delete_ObjectNotFound", (swig_wrapper_func) _wrap_delete_ObjectNotFound, NULL},
+ { SWIG_prefix "ObjectNotFound_getName", (swig_wrapper_func) _wrap_ObjectNotFound_getName, NULL},
+ { SWIG_prefix "ObjectNotFound_=", (swig_wrapper_func) _wrap_ObjectNotFound_e___, NULL},
+ { SWIG_prefix "istream", (swig_wrapper_func) _wrap_istream, NULL},
+ { SWIG_prefix "ObjectNotFound", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_ObjectNotFound},
+ { SWIG_prefix "delete_GPSZcount", (swig_wrapper_func) _wrap_delete_GPSZcount, NULL},
+ { SWIG_prefix "new_GPSZcount", (swig_wrapper_func) _wrap_new_GPSZcount, NULL},
+ { SWIG_prefix "GPSZcount_getWeek", (swig_wrapper_func) _wrap_GPSZcount_getWeek, NULL},
+ { SWIG_prefix "GPSZcount_getZcount", (swig_wrapper_func) _wrap_GPSZcount_getZcount, NULL},
+ { SWIG_prefix "GPSZcount_getFullZcount", (swig_wrapper_func) _wrap_GPSZcount_getFullZcount, NULL},
+ { SWIG_prefix "GPSZcount_getTotalZcounts", (swig_wrapper_func) _wrap_GPSZcount_getTotalZcounts, NULL},
+ { SWIG_prefix "GPSZcount_setWeek", (swig_wrapper_func) _wrap_GPSZcount_setWeek, NULL},
+ { SWIG_prefix "GPSZcount_setZcount", (swig_wrapper_func) _wrap_GPSZcount_setZcount, NULL},
+ { SWIG_prefix "GPSZcount_setFullZcount", (swig_wrapper_func) _wrap_GPSZcount_setFullZcount, NULL},
+ { SWIG_prefix "GPSZcount_addWeeks", (swig_wrapper_func) _wrap_GPSZcount_addWeeks, NULL},
+ { SWIG_prefix "GPSZcount_addZcounts", (swig_wrapper_func) _wrap_GPSZcount_addZcounts, NULL},
+ { SWIG_prefix "GPSZcount_+", (swig_wrapper_func) _wrap_GPSZcount_a___, NULL},
+ { SWIG_prefix "GPSZcount_-", (swig_wrapper_func) _wrap_GPSZcount_s___, NULL},
+ { SWIG_prefix "GPSZcount_=", (swig_wrapper_func) _wrap_GPSZcount_e___, NULL},
+ { SWIG_prefix "GPSZcount_operator_less_than", (swig_wrapper_func) _wrap_GPSZcount_operator_less_than, NULL},
+ { SWIG_prefix "GPSZcount_operator_greater_than", (swig_wrapper_func) _wrap_GPSZcount_operator_greater_than, NULL},
+ { SWIG_prefix "GPSZcount_operator_equal_to", (swig_wrapper_func) _wrap_GPSZcount_operator_equal_to, NULL},
+ { SWIG_prefix "GPSZcount_operator_not_equal_to", (swig_wrapper_func) _wrap_GPSZcount_operator_not_equal_to, NULL},
+ { SWIG_prefix "GPSZcount_operator_less_than_equal_to", (swig_wrapper_func) _wrap_GPSZcount_operator_less_than_equal_to, NULL},
+ { SWIG_prefix "GPSZcount_operator_greater_than_equal_to", (swig_wrapper_func) _wrap_GPSZcount_operator_greater_than_equal_to, NULL},
+ { SWIG_prefix "GPSZcount_inSameTimeBlock", (swig_wrapper_func) _wrap_GPSZcount_inSameTimeBlock, NULL},
+ { SWIG_prefix "GPSZcount_dump", (swig_wrapper_func) _wrap_GPSZcount_dump, NULL},
+ { SWIG_prefix "GPSZcount", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_GPSZcount},
+ { SWIG_prefix "<<", (swig_wrapper_func) _wrap_ll___, NULL},
+ { SWIG_prefix "DayTime_setDayTimeTolerance", (swig_wrapper_func) _wrap_DayTime_setDayTimeTolerance, NULL},
+ { SWIG_prefix "DayTime_getDayTimeTolerance", (swig_wrapper_func) _wrap_DayTime_getDayTimeTolerance, NULL},
+ { SWIG_prefix "DayTime_setTolerance", (swig_wrapper_func) _wrap_DayTime_setTolerance, NULL},
+ { SWIG_prefix "new_DayTime", (swig_wrapper_func) _wrap_new_DayTime, NULL},
+ { SWIG_prefix "DayTime_=", (swig_wrapper_func) _wrap_DayTime_e___, NULL},
+ { SWIG_prefix "DayTime_+", (swig_wrapper_func) _wrap_DayTime_a___, NULL},
+ { SWIG_prefix "DayTime_-", (swig_wrapper_func) _wrap_DayTime_s___, NULL},
+ { SWIG_prefix "DayTime_addSeconds", (swig_wrapper_func) _wrap_DayTime_addSeconds, NULL},
+ { SWIG_prefix "DayTime_addMilliSeconds", (swig_wrapper_func) _wrap_DayTime_addMilliSeconds, NULL},
+ { SWIG_prefix "DayTime_addMicroSeconds", (swig_wrapper_func) _wrap_DayTime_addMicroSeconds, NULL},
+ { SWIG_prefix "DayTime_operator_equal_to", (swig_wrapper_func) _wrap_DayTime_operator_equal_to, NULL},
+ { SWIG_prefix "DayTime_operator_not_equal_to", (swig_wrapper_func) _wrap_DayTime_operator_not_equal_to, NULL},
+ { SWIG_prefix "DayTime_operator_less_than", (swig_wrapper_func) _wrap_DayTime_operator_less_than, NULL},
+ { SWIG_prefix "DayTime_operator_greater_than", (swig_wrapper_func) _wrap_DayTime_operator_greater_than, NULL},
+ { SWIG_prefix "DayTime_operator_less_than_equal_to", (swig_wrapper_func) _wrap_DayTime_operator_less_than_equal_to, NULL},
+ { SWIG_prefix "DayTime_operator_greater_than_equal_to", (swig_wrapper_func) _wrap_DayTime_operator_greater_than_equal_to, NULL},
+ { SWIG_prefix "DayTime_setAllButTimeFrame", (swig_wrapper_func) _wrap_DayTime_setAllButTimeFrame, NULL},
+ { SWIG_prefix "DayTime_setTimeFrame", (swig_wrapper_func) _wrap_DayTime_setTimeFrame, NULL},
+ { SWIG_prefix "DayTime_getTimeFrame", (swig_wrapper_func) _wrap_DayTime_getTimeFrame, NULL},
+ { SWIG_prefix "DayTime_JD", (swig_wrapper_func) _wrap_DayTime_JD, NULL},
+ { SWIG_prefix "DayTime_MJD", (swig_wrapper_func) _wrap_DayTime_MJD, NULL},
+ { SWIG_prefix "DayTime_year", (swig_wrapper_func) _wrap_DayTime_year, NULL},
+ { SWIG_prefix "DayTime_month", (swig_wrapper_func) _wrap_DayTime_month, NULL},
+ { SWIG_prefix "DayTime_day", (swig_wrapper_func) _wrap_DayTime_day, NULL},
+ { SWIG_prefix "DayTime_dayOfWeek", (swig_wrapper_func) _wrap_DayTime_dayOfWeek, NULL},
+ { SWIG_prefix "DayTime_getYMD", (swig_wrapper_func) _wrap_DayTime_getYMD, NULL},
+ { SWIG_prefix "DayTime_hour", (swig_wrapper_func) _wrap_DayTime_hour, NULL},
+ { SWIG_prefix "DayTime_minute", (swig_wrapper_func) _wrap_DayTime_minute, NULL},
+ { SWIG_prefix "DayTime_second", (swig_wrapper_func) _wrap_DayTime_second, NULL},
+ { SWIG_prefix "DayTime_secOfDay", (swig_wrapper_func) _wrap_DayTime_secOfDay, NULL},
+ { SWIG_prefix "DayTime_GPS10bitweek", (swig_wrapper_func) _wrap_DayTime_GPS10bitweek, NULL},
+ { SWIG_prefix "DayTime_GPSzcount", (swig_wrapper_func) _wrap_DayTime_GPSzcount, NULL},
+ { SWIG_prefix "DayTime_GPSzcountFloor", (swig_wrapper_func) _wrap_DayTime_GPSzcountFloor, NULL},
+ { SWIG_prefix "DayTime_GPSsecond", (swig_wrapper_func) _wrap_DayTime_GPSsecond, NULL},
+ { SWIG_prefix "DayTime_GPSsow", (swig_wrapper_func) _wrap_DayTime_GPSsow, NULL},
+ { SWIG_prefix "DayTime_GPSday", (swig_wrapper_func) _wrap_DayTime_GPSday, NULL},
+ { SWIG_prefix "DayTime_GPSfullweek", (swig_wrapper_func) _wrap_DayTime_GPSfullweek, NULL},
+ { SWIG_prefix "DayTime_GPSyear", (swig_wrapper_func) _wrap_DayTime_GPSyear, NULL},
+ { SWIG_prefix "DayTime_DOYyear", (swig_wrapper_func) _wrap_DayTime_DOYyear, NULL},
+ { SWIG_prefix "DayTime_DOY", (swig_wrapper_func) _wrap_DayTime_DOY, NULL},
+ { SWIG_prefix "DayTime_DOYsecond", (swig_wrapper_func) _wrap_DayTime_DOYsecond, NULL},
+ { SWIG_prefix "DayTime_MJDdate", (swig_wrapper_func) _wrap_DayTime_MJDdate, NULL},
+ { SWIG_prefix "DayTime_getMJDasLongDouble", (swig_wrapper_func) _wrap_DayTime_getMJDasLongDouble, NULL},
+ { SWIG_prefix "DayTime_unixTime", (swig_wrapper_func) _wrap_DayTime_unixTime, NULL},
+ { SWIG_prefix "DayTime_fullZcount", (swig_wrapper_func) _wrap_DayTime_fullZcount, NULL},
+ { SWIG_prefix "DayTime_fullZcountFloor", (swig_wrapper_func) _wrap_DayTime_fullZcountFloor, NULL},
+ { SWIG_prefix "DayTime_setYMDHMS", (swig_wrapper_func) _wrap_DayTime_setYMDHMS, NULL},
+ { SWIG_prefix "DayTime_setGPS", (swig_wrapper_func) _wrap_DayTime_setGPS, NULL},
+ { SWIG_prefix "DayTime_setGPSfullweek", (swig_wrapper_func) _wrap_DayTime_setGPSfullweek, NULL},
+ { SWIG_prefix "DayTime_setGPSZcount", (swig_wrapper_func) _wrap_DayTime_setGPSZcount, NULL},
+ { SWIG_prefix "DayTime_setYDoySod", (swig_wrapper_func) _wrap_DayTime_setYDoySod, NULL},
+ { SWIG_prefix "DayTime_setMJD", (swig_wrapper_func) _wrap_DayTime_setMJD, NULL},
+ { SWIG_prefix "DayTime_setMJDdate", (swig_wrapper_func) _wrap_DayTime_setMJDdate, NULL},
+ { SWIG_prefix "DayTime_setUnix", (swig_wrapper_func) _wrap_DayTime_setUnix, NULL},
+ { SWIG_prefix "DayTime_setANSI", (swig_wrapper_func) _wrap_DayTime_setANSI, NULL},
+ { SWIG_prefix "DayTime_setSystemTime", (swig_wrapper_func) _wrap_DayTime_setSystemTime, NULL},
+ { SWIG_prefix "DayTime_setLocalTime", (swig_wrapper_func) _wrap_DayTime_setLocalTime, NULL},
+ { SWIG_prefix "DayTime_setYMD", (swig_wrapper_func) _wrap_DayTime_setYMD, NULL},
+ { SWIG_prefix "DayTime_setHMS", (swig_wrapper_func) _wrap_DayTime_setHMS, NULL},
+ { SWIG_prefix "DayTime_setSecOfDay", (swig_wrapper_func) _wrap_DayTime_setSecOfDay, NULL},
+ { SWIG_prefix "DayTime_setYDoy", (swig_wrapper_func) _wrap_DayTime_setYDoy, NULL},
+ { SWIG_prefix "DayTime_setToString", (swig_wrapper_func) _wrap_DayTime_setToString, NULL},
+ { SWIG_prefix "DayTime_DayTime_printString", (swig_wrapper_func) _wrap_DayTime_DayTime_printString, NULL},
+ { SWIG_prefix "DayTime_printf", (swig_wrapper_func) _wrap_DayTime_printf, NULL},
+ { SWIG_prefix "DayTime_asString", (swig_wrapper_func) _wrap_DayTime_asString, NULL},
+ { SWIG_prefix "DayTime_dump", (swig_wrapper_func) _wrap_DayTime_dump, NULL},
+ { SWIG_prefix "DayTime_convertJDtoCalendar", (swig_wrapper_func) _wrap_DayTime_convertJDtoCalendar, NULL},
+ { SWIG_prefix "DayTime_convertCalendarToJD", (swig_wrapper_func) _wrap_DayTime_convertCalendarToJD, NULL},
+ { SWIG_prefix "DayTime_convertSODtoTime", (swig_wrapper_func) _wrap_DayTime_convertSODtoTime, NULL},
+ { SWIG_prefix "DayTime_convertTimeToSOD", (swig_wrapper_func) _wrap_DayTime_convertTimeToSOD, NULL},
+ { SWIG_prefix "delete_DayTime", (swig_wrapper_func) _wrap_delete_DayTime, NULL},
+ { SWIG_prefix "DayTime", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_DayTime},
+ {0, 0, 0}
+};
+
+static swig_var_info swig_variables[] = {
+ { SWIG_prefix "GPSZcount_ZCOUNT_MINUTE", 0, (swig_variable_func) _wrap_GPSZcount_ZCOUNT_MINUTE_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "GPSZcount_ZCOUNT_HOUR", 0, (swig_variable_func) _wrap_GPSZcount_ZCOUNT_HOUR_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "GPSZcount_ZCOUNT_DAY", 0, (swig_variable_func) _wrap_GPSZcount_ZCOUNT_DAY_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "GPSZcount_ZCOUNT_WEEK", 0, (swig_variable_func) _wrap_GPSZcount_ZCOUNT_WEEK_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_FACTOR", 0, (swig_variable_func) _wrap_DayTime_FACTOR_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_JD_TO_MJD", 0, (swig_variable_func) _wrap_DayTime_JD_TO_MJD_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_MJD_JDAY", 0, (swig_variable_func) _wrap_DayTime_MJD_JDAY_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_GPS_EPOCH_JDAY", 0, (swig_variable_func) _wrap_DayTime_GPS_EPOCH_JDAY_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_GPS_EPOCH_MJD", 0, (swig_variable_func) _wrap_DayTime_GPS_EPOCH_MJD_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_UNIX_MJD", 0, (swig_variable_func) _wrap_DayTime_UNIX_MJD_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_HALFWEEK", 0, (swig_variable_func) _wrap_DayTime_HALFWEEK_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_FULLWEEK", 0, (swig_variable_func) _wrap_DayTime_FULLWEEK_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_SEC_DAY", 0, (swig_variable_func) _wrap_DayTime_SEC_DAY_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_MS_PER_DAY", 0, (swig_variable_func) _wrap_DayTime_MS_PER_DAY_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_ONE_NSEC_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_ONE_NSEC_TOLERANCE_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_ONE_USEC_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_ONE_USEC_TOLERANCE_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_ONE_MSEC_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_ONE_MSEC_TOLERANCE_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_ONE_SEC_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_ONE_SEC_TOLERANCE_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_ONE_MIN_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_ONE_MIN_TOLERANCE_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_ONE_HOUR_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_ONE_HOUR_TOLERANCE_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_DAYTIME_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_DAYTIME_TOLERANCE_get,(swig_variable_func) _wrap_DayTime_DAYTIME_TOLERANCE_set},
+ { SWIG_prefix "DayTime_BEGIN_LIMIT_JDAY", 0, (swig_variable_func) _wrap_DayTime_BEGIN_LIMIT_JDAY_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_END_LIMIT_JDAY", 0, (swig_variable_func) _wrap_DayTime_END_LIMIT_JDAY_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_BEGINNING_OF_TIME", 0, (swig_variable_func) _wrap_DayTime_BEGINNING_OF_TIME_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_END_OF_TIME", 0, (swig_variable_func) _wrap_DayTime_END_OF_TIME_get,(swig_variable_func) swig_readonly},
+ { SWIG_prefix "DayTime_DAYTIME_TEST_VALID", 0, (swig_variable_func) _wrap_DayTime_DAYTIME_TEST_VALID_get,(swig_variable_func) _wrap_DayTime_DAYTIME_TEST_VALID_set},
+ {0,0,0,0}
+};
+
+static swig_const_info swig_constants[] = {
+{ SWIG_TCL_INT, (char *)"Exception_unrecoverable", (long) gpstk::Exception::unrecoverable, 0, 0, 0},
+{ SWIG_TCL_INT, (char *)"Exception_recoverable", (long) gpstk::Exception::recoverable, 0, 0, 0},
+{ SWIG_TCL_INT, (char *)"DayTime_Unknown", (long) DayTime::Unknown, 0, 0, 0},
+{ SWIG_TCL_INT, (char *)"DayTime_UTC", (long) DayTime::UTC, 0, 0, 0},
+{ SWIG_TCL_INT, (char *)"DayTime_LocalSystem", (long) DayTime::LocalSystem, 0, 0, 0},
+{ SWIG_TCL_INT, (char *)"DayTime_GPS_Tx", (long) DayTime::GPS_Tx, 0, 0, 0},
+{ SWIG_TCL_INT, (char *)"DayTime_GPS_Rx", (long) DayTime::GPS_Rx, 0, 0, 0},
+{ SWIG_TCL_INT, (char *)"DayTime_GPS_SV", (long) DayTime::GPS_SV, 0, 0, 0},
+{ SWIG_TCL_INT, (char *)"DayTime_GPS_Receiver", (long) DayTime::GPS_Receiver, 0, 0, 0},
+ {0,0,0,0,0,0}
+};
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+static void *_p_gpstk__InvalidRequestTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::InvalidRequest *) x));
+}
+static void *_p_gpstk__IndexOutOfBoundsExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::IndexOutOfBoundsException *) x));
+}
+static void *_p_gpstk__InvalidArgumentExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::InvalidArgumentException *) x));
+}
+static void *_p_gpstk__ConfigurationExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::ConfigurationException *) x));
+}
+static void *_p_gpstk__FileMissingExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::FileMissingException *) x));
+}
+static void *_p_gpstk__SystemSemaphoreExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::SystemSemaphoreException *) x));
+}
+static void *_p_gpstk__SystemPipeExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::SystemPipeException *) x));
+}
+static void *_p_gpstk__SystemQueueExceptionTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::SystemQueueException *) x));
+}
+static void *_p_gpstk__OutOfMemoryTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::OutOfMemory *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) (gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__InvalidParameterTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::InvalidParameter *) x));
+}
+static void *_p_gpstk__AccessErrorTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::AccessError *) x));
+}
+static void *_p_gpstk__AssertionFailureTo_p_gpstk__Exception(void *x) {
+ return (void *)((gpstk::Exception *) ((gpstk::AssertionFailure *) x));
+}
+static void *_p_gpstk__AccessErrorTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::AccessError *) x));
+}
+static void *_p_gpstk__InvalidParameterTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::InvalidParameter *) x));
+}
+static void *_p_gpstk__OutOfMemoryTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::OutOfMemory *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__SystemQueueExceptionTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::SystemQueueException *) x));
+}
+static void *_p_gpstk__SystemPipeExceptionTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::SystemPipeException *) x));
+}
+static void *_p_gpstk__SystemSemaphoreExceptionTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::SystemSemaphoreException *) x));
+}
+static void *_p_gpstk__FileMissingExceptionTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::FileMissingException *) x));
+}
+static void *_p_gpstk__ConfigurationExceptionTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::ConfigurationException *) x));
+}
+static void *_p_gpstk__InvalidArgumentExceptionTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::InvalidArgumentException *) x));
+}
+static void *_p_gpstk__IndexOutOfBoundsExceptionTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::IndexOutOfBoundsException *) x));
+}
+static void *_p_gpstk__ExceptionTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) ((gpstk::Exception *) x));
+}
+static void *_p_gpstk__InvalidRequestTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::InvalidRequest *) x));
+}
+static void *_p_gpstk__AssertionFailureTo_p_std__ostream(void *x) {
+ return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::AssertionFailure *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_gpstk__AccessError(void *x) {
+ return (void *)((gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static swig_type_info _swigt__p_gpstk__AccessError[] = {{"_p_gpstk__AccessError", 0, "gpstk::AccessError *", &_wrap_class_gpstk_AccessError, 0, 0, 0},{"_p_gpstk__ObjectNotFound", _p_gpstk__ObjectNotFoundTo_p_gpstk__AccessError, 0, 0, 0, 0, 0},{"_p_gpstk__AccessError", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_size_t[] = {{"_p_size_t", 0, "size_t *", 0, 0, 0, 0},{"_p_size_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__std__size_t[] = {{"_std__size_t", 0, "std::size_t", 0, 0, 0, 0},{"_std__size_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__size_t[] = {{"_size_t", 0, "size_t", 0, 0, 0, 0},{"_size_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__InvalidParameter[] = {{"_p_gpstk__InvalidParameter", 0, "gpstk::InvalidParameter *", &_wrap_class_gpstk_InvalidParameter, 0, 0, 0},{"_p_gpstk__InvalidParameter", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_DayTime[] = {{"_p_DayTime", 0, "DayTime *", &_wrap_class_DayTime, 0, 0, 0},{"_p_DayTime", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__OutOfMemory[] = {{"_p_gpstk__OutOfMemory", 0, "gpstk::OutOfMemory *", &_wrap_class_gpstk_OutOfMemory, 0, 0, 0},{"_p_gpstk__OutOfMemory", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__ExceptionLocation[] = {{"_p_gpstk__ExceptionLocation", 0, "gpstk::ExceptionLocation *", &_wrap_class_gpstk_ExceptionLocation, 0, 0, 0},{"_p_gpstk__ExceptionLocation", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__GPSZcount[] = {{"_p_gpstk__GPSZcount", 0, "gpstk::GPSZcount *", &_wrap_class_gpstk_GPSZcount, 0, 0, 0},{"_p_gpstk__GPSZcount", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_long_double[] = {{"_p_long_double", 0, "long double *", 0, 0, 0, 0},{"_p_long_double", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_GPSZcount[] = {{"_p_GPSZcount", 0, "GPSZcount *", 0, 0, 0, 0},{"_p_GPSZcount", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_double[] = {{"_p_double", 0, "double *", 0, 0, 0, 0},{"_p_double", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_time_t[] = {{"_p_time_t", 0, "time_t *", 0, 0, 0, 0},{"_p_time_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__ObjectNotFound[] = {{"_p_gpstk__ObjectNotFound", 0, "gpstk::ObjectNotFound *", &_wrap_class_gpstk_ObjectNotFound, 0, 0, 0},{"_p_gpstk__ObjectNotFound", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_std__ostream[] = {{"_p_std__ostream", 0, "std::ostream *", 0, 0, 0, 0},{"_p_gpstk__AccessError", _p_gpstk__AccessErrorTo_p_std__ostream, 0, 0, 0, 0, 0},{"_p_gpstk__InvalidParameter", _p_gpstk__InvalidParameterTo_p_std__ostream, 0, 0, 0, 0, 0},{"_p_gpstk__OutOfMemory", _p_gpstk__OutOfMemoryTo_p_std__ostream, 0, 0, 0, 0, 0},{"_p_gpstk__ObjectNotFound", _p_gpstk__ObjectNotFoundTo_p_std__ostream, 0, 0, 0, 0, 0},{"_p_std__ostream", 0, 0, 0, 0, 0, 0},{"_p_gpstk_ [...]
+static swig_type_info _swigt__p_gpstk__InvalidArgumentException[] = {{"_p_gpstk__InvalidArgumentException", 0, "gpstk::InvalidArgumentException *", &_wrap_class_gpstk_InvalidArgumentException, 0, 0, 0},{"_p_gpstk__InvalidArgumentException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__IndexOutOfBoundsException[] = {{"_p_gpstk__IndexOutOfBoundsException", 0, "gpstk::IndexOutOfBoundsException *", &_wrap_class_gpstk_IndexOutOfBoundsException, 0, 0, 0},{"_p_gpstk__IndexOutOfBoundsException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__Exception[] = {{"_p_gpstk__Exception", 0, "gpstk::Exception *", &_wrap_class_gpstk_Exception, 0, 0, 0},{"_p_gpstk__AccessError", _p_gpstk__AccessErrorTo_p_gpstk__Exception, 0, 0, 0, 0, 0},{"_p_gpstk__InvalidParameter", _p_gpstk__InvalidParameterTo_p_gpstk__Exception, 0, 0, 0, 0, 0},{"_p_gpstk__OutOfMemory", _p_gpstk__OutOfMemoryTo_p_gpstk__Exception, 0, 0, 0, 0, 0},{"_p_gpstk__ObjectNotFound", _p_gpstk__ObjectNotFoundTo_p_gpstk__Exception, 0, 0, 0, [...]
+static swig_type_info _swigt__p_gpstk__ConfigurationException[] = {{"_p_gpstk__ConfigurationException", 0, "gpstk::ConfigurationException *", &_wrap_class_gpstk_ConfigurationException, 0, 0, 0},{"_p_gpstk__ConfigurationException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__FileMissingException[] = {{"_p_gpstk__FileMissingException", 0, "gpstk::FileMissingException *", &_wrap_class_gpstk_FileMissingException, 0, 0, 0},{"_p_gpstk__FileMissingException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__SystemSemaphoreException[] = {{"_p_gpstk__SystemSemaphoreException", 0, "gpstk::SystemSemaphoreException *", &_wrap_class_gpstk_SystemSemaphoreException, 0, 0, 0},{"_p_gpstk__SystemSemaphoreException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__SystemPipeException[] = {{"_p_gpstk__SystemPipeException", 0, "gpstk::SystemPipeException *", &_wrap_class_gpstk_SystemPipeException, 0, 0, 0},{"_p_gpstk__SystemPipeException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__SystemQueueException[] = {{"_p_gpstk__SystemQueueException", 0, "gpstk::SystemQueueException *", &_wrap_class_gpstk_SystemQueueException, 0, 0, 0},{"_p_gpstk__SystemQueueException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_timeval[] = {{"_p_timeval", 0, "timeval *", 0, 0, 0, 0},{"_p_timeval", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__std__ptrdiff_t[] = {{"_std__ptrdiff_t", 0, "std::ptrdiff_t", 0, 0, 0, 0},{"_std__ptrdiff_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__ptrdiff_t[] = {{"_ptrdiff_t", 0, "ptrdiff_t", 0, 0, 0, 0},{"_ptrdiff_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__InvalidRequest[] = {{"_p_gpstk__InvalidRequest", 0, "gpstk::InvalidRequest *", &_wrap_class_gpstk_InvalidRequest, 0, 0, 0},{"_p_gpstk__InvalidRequest", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__AssertionFailure[] = {{"_p_gpstk__AssertionFailure", 0, "gpstk::AssertionFailure *", &_wrap_class_gpstk_AssertionFailure, 0, 0, 0},{"_p_gpstk__AssertionFailure", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0, 0, 0, 0},{"_p_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+
+static swig_type_info *swig_types_initial[] = {
+_swigt__p_gpstk__AccessError,
+_swigt__p_size_t,
+_swigt__std__size_t,
+_swigt__size_t,
+_swigt__p_gpstk__InvalidParameter,
+_swigt__p_DayTime,
+_swigt__p_gpstk__OutOfMemory,
+_swigt__p_gpstk__ExceptionLocation,
+_swigt__p_gpstk__GPSZcount,
+_swigt__p_long_double,
+_swigt__p_GPSZcount,
+_swigt__p_double,
+_swigt__p_time_t,
+_swigt__p_gpstk__ObjectNotFound,
+_swigt__p_std__ostream,
+_swigt__p_gpstk__InvalidArgumentException,
+_swigt__p_gpstk__IndexOutOfBoundsException,
+_swigt__p_gpstk__Exception,
+_swigt__p_gpstk__ConfigurationException,
+_swigt__p_gpstk__FileMissingException,
+_swigt__p_gpstk__SystemSemaphoreException,
+_swigt__p_gpstk__SystemPipeException,
+_swigt__p_gpstk__SystemQueueException,
+_swigt__p_timeval,
+_swigt__std__ptrdiff_t,
+_swigt__ptrdiff_t,
+_swigt__p_gpstk__InvalidRequest,
+_swigt__p_gpstk__AssertionFailure,
+_swigt__p_int,
+0
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+#ifdef __cplusplus
+}
+#endif
+
+SWIGEXPORT(int) SWIG_init(Tcl_Interp *interp) {
+ int i;
+ static int _init = 0;
+ if (interp == 0) return TCL_ERROR;
+#ifdef USE_TCL_STUBS
+ if (Tcl_InitStubs(interp, (char*)"8.1", 0) == NULL) {
+ return TCL_ERROR;
+ }
+#endif
+
+ Tcl_PkgProvide(interp, (char*)SWIG_name, (char*)SWIG_version);
+
+#ifdef SWIG_namespace
+ Tcl_Eval(interp, "namespace eval " SWIG_namespace " { }");
+#endif
+ if (!_init) {
+ SWIG_Tcl_LookupTypePointer(interp);
+ for (i = 0; swig_types_initial[i]; i++) {
+ swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
+ }
+ for (i = 0; swig_types_initial[i]; i++) {
+ SWIG_PropagateClientData(swig_types[i]);
+ }
+ _init = 1;
+ }
+ for (i = 0; swig_commands[i].name; i++) {
+ Tcl_CreateObjCommand(interp, (char *) swig_commands[i].name, (swig_wrapper_func) swig_commands[i].wrapper, swig_commands[i].clientdata, NULL);
+ }
+ for (i = 0; swig_variables[i].name; i++) {
+ Tcl_SetVar(interp, (char *) swig_variables[i].name, (char *) "", TCL_GLOBAL_ONLY);
+ Tcl_TraceVar(interp, (char *) swig_variables[i].name, TCL_TRACE_READS | TCL_GLOBAL_ONLY, (Tcl_VarTraceProc *) swig_variables[i].get, (ClientData) swig_variables[i].addr);
+ Tcl_TraceVar(interp, (char *) swig_variables[i].name, TCL_TRACE_WRITES | TCL_GLOBAL_ONLY, (Tcl_VarTraceProc *) swig_variables[i].set, (ClientData) swig_variables[i].addr);
+ }
+ SWIG_InstallConstants(interp, swig_constants);
+
+ return TCL_OK;
+}
+SWIGEXPORT(int) Gpstk_SafeInit(Tcl_Interp *interp) {
+ return SWIG_init(interp);
+}
+
diff --git a/trunk/apps/checktools/CheckFrame.hpp b/trunk/apps/checktools/CheckFrame.hpp
new file mode 100644
index 0000000..af6b3ee
--- /dev/null
+++ b/trunk/apps/checktools/CheckFrame.hpp
@@ -0,0 +1,120 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/checktools/CheckFrame.hpp#3 $"
+
+#ifndef CHECKFRAME_HPP
+#define CHECKFRAME_HPP
+
+#include "CommandOptionWithTimeArg.hpp"
+#include "FileFilterFrame.hpp"
+#include "BasicFramework.hpp"
+
+template <class FileData>
+struct NullTimeFilter : public std::unary_function<FileData, bool>
+{
+public:
+ NullTimeFilter(const gpstk::DayTime& startTime,
+ const gpstk::DayTime& endTime)
+ {}
+
+ bool operator() (const FileData& l) const
+ {
+ return false;
+ }
+};
+
+
+template <class FileStream, class FileData, class FilterTimeOperator = NullTimeFilter<FileData> >
+class CheckFrame : public gpstk::BasicFramework
+{
+public:
+ CheckFrame(char* arg0, std::string fileType) :
+ gpstk::BasicFramework(arg0,
+ "Reads given input " + fileType +
+ " files and check for errors. This will only"
+ " report the first error found in each file. "
+ " The entire file is always checked, regardless"
+ " of time options."),
+ timeOption('t', "time", "Time of first record to count (default ="
+ " \"beginning of time\")"),
+ eTimeOption('e', "end-time", "End of time range to compare (default"
+ " = \"end of time\")"),
+ inputFileOption("Each input file is checked for errors.", true),
+ startTime(gpstk::DayTime::BEGINNING_OF_TIME),
+ endTime(gpstk::DayTime::END_OF_TIME)
+ {
+ timeOption.setMaxCount(1);
+ eTimeOption.setMaxCount(1);
+ timeOptions.addOption(&timeOption);
+ timeOptions.addOption(&eTimeOption);
+ }
+
+ virtual bool initialize(int argc, char* argv[]) throw()
+ {
+ if (!gpstk::BasicFramework::initialize(argc, argv))
+ return false;
+ if (timeOption.getCount())
+ startTime = timeOption.getTime()[0];
+ if (eTimeOption.getCount())
+ endTime = eTimeOption.getTime()[0];
+ if (startTime > endTime)
+ {
+ std::cerr << "End time can't precede start time." << std::endl;
+ return false;
+ }
+ return true;
+ }
+
+protected:
+ virtual void process()
+ {
+ std::vector<std::string> inputFiles = inputFileOption.getValue();
+ std::vector<std::string>::iterator itr = inputFiles.begin();
+ FilterTimeOperator timeFilt(startTime, endTime);
+ while (itr != inputFiles.end())
+ {
+ std::cout << "Checking " << *itr << std::endl;
+ unsigned long recCount = 0;
+ try
+ {
+ FileStream f((*itr).c_str());
+ f.exceptions(std::ios::failbit);
+
+ FileData temp;
+ while (f >> temp)
+ {
+ if (!timeFilt(temp))
+ recCount++;
+ }
+
+ std::cout << "Read " << recCount << " records."
+ << std::endl << std::endl;
+ }
+ catch (gpstk::Exception& e)
+ {
+ std::cout << e << std::endl << std::endl;
+ }
+ catch (std::exception& e)
+ {
+ std::cout << e.what() << std::endl;
+ }
+ catch (...)
+ {
+ std::cout << "unknown exception caught" << std::endl;
+ }
+
+ itr++;
+ }
+ }
+
+ /// start time for record counting
+ gpstk::CommandOptionWithSimpleTimeArg timeOption;
+ /// end time for record counting
+ gpstk::CommandOptionWithSimpleTimeArg eTimeOption;
+ /// if either of the time options are set
+ gpstk::CommandOptionGroupOr timeOptions;
+ gpstk::CommandOptionRest inputFileOption;
+
+ gpstk::DayTime startTime, endTime;
+
+};
+
+#endif
diff --git a/trunk/apps/checktools/Jamfile b/trunk/apps/checktools/Jamfile
new file mode 100644
index 0000000..f97b04a
--- /dev/null
+++ b/trunk/apps/checktools/Jamfile
@@ -0,0 +1,12 @@
+# $Id: //depot/sgl/gpstk/dev/apps/checktools/Jamfile#1 $
+
+SubDir TOP apps checktools ;
+
+GPSLinkLibraries rowcheck rmwcheck rnwcheck ficcheck ficacheck : gpstk ;
+BonkForte ; # bleah.
+
+GPSMain rowcheck : rowcheck.cpp ;
+GPSMain rmwcheck : rmwcheck.cpp ;
+GPSMain rnwcheck : rnwcheck.cpp ;
+GPSMain ficcheck : ficcheck.cpp ;
+GPSMain ficacheck : ficacheck.cpp ;
diff --git a/trunk/apps/checktools/Makefile.am b/trunk/apps/checktools/Makefile.am
new file mode 100644
index 0000000..9122f4f
--- /dev/null
+++ b/trunk/apps/checktools/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = rowcheck rmwcheck rnwcheck ficcheck ficacheck
+
+rowcheck_SOURCES = rowcheck.cpp
+rmwcheck_SOURCES = rmwcheck.cpp
+rnwcheck_SOURCES = rnwcheck.cpp
+ficcheck_SOURCES = ficcheck.cpp
+ficacheck_SOURCES = ficacheck.cpp
diff --git a/trunk/apps/checktools/Makefile.in b/trunk/apps/checktools/Makefile.in
new file mode 100644
index 0000000..adc1993
--- /dev/null
+++ b/trunk/apps/checktools/Makefile.in
@@ -0,0 +1,460 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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@
+noinst_PROGRAMS = rowcheck$(EXEEXT) rmwcheck$(EXEEXT) \
+ rnwcheck$(EXEEXT) ficcheck$(EXEEXT) ficacheck$(EXEEXT)
+subdir = apps/checktools
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_ficacheck_OBJECTS = ficacheck.$(OBJEXT)
+ficacheck_OBJECTS = $(am_ficacheck_OBJECTS)
+ficacheck_LDADD = $(LDADD)
+ficacheck_DEPENDENCIES = ../../src/libgpstk.la
+am_ficcheck_OBJECTS = ficcheck.$(OBJEXT)
+ficcheck_OBJECTS = $(am_ficcheck_OBJECTS)
+ficcheck_LDADD = $(LDADD)
+ficcheck_DEPENDENCIES = ../../src/libgpstk.la
+am_rmwcheck_OBJECTS = rmwcheck.$(OBJEXT)
+rmwcheck_OBJECTS = $(am_rmwcheck_OBJECTS)
+rmwcheck_LDADD = $(LDADD)
+rmwcheck_DEPENDENCIES = ../../src/libgpstk.la
+am_rnwcheck_OBJECTS = rnwcheck.$(OBJEXT)
+rnwcheck_OBJECTS = $(am_rnwcheck_OBJECTS)
+rnwcheck_LDADD = $(LDADD)
+rnwcheck_DEPENDENCIES = ../../src/libgpstk.la
+am_rowcheck_OBJECTS = rowcheck.$(OBJEXT)
+rowcheck_OBJECTS = $(am_rowcheck_OBJECTS)
+rowcheck_LDADD = $(LDADD)
+rowcheck_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(ficacheck_SOURCES) $(ficcheck_SOURCES) $(rmwcheck_SOURCES) \
+ $(rnwcheck_SOURCES) $(rowcheck_SOURCES)
+DIST_SOURCES = $(ficacheck_SOURCES) $(ficcheck_SOURCES) \
+ $(rmwcheck_SOURCES) $(rnwcheck_SOURCES) $(rowcheck_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+rowcheck_SOURCES = rowcheck.cpp
+rmwcheck_SOURCES = rmwcheck.cpp
+rnwcheck_SOURCES = rnwcheck.cpp
+ficcheck_SOURCES = ficcheck.cpp
+ficacheck_SOURCES = ficacheck.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apps/checktools/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu apps/checktools/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+ficacheck$(EXEEXT): $(ficacheck_OBJECTS) $(ficacheck_DEPENDENCIES)
+ @rm -f ficacheck$(EXEEXT)
+ $(CXXLINK) $(ficacheck_LDFLAGS) $(ficacheck_OBJECTS) $(ficacheck_LDADD) $(LIBS)
+ficcheck$(EXEEXT): $(ficcheck_OBJECTS) $(ficcheck_DEPENDENCIES)
+ @rm -f ficcheck$(EXEEXT)
+ $(CXXLINK) $(ficcheck_LDFLAGS) $(ficcheck_OBJECTS) $(ficcheck_LDADD) $(LIBS)
+rmwcheck$(EXEEXT): $(rmwcheck_OBJECTS) $(rmwcheck_DEPENDENCIES)
+ @rm -f rmwcheck$(EXEEXT)
+ $(CXXLINK) $(rmwcheck_LDFLAGS) $(rmwcheck_OBJECTS) $(rmwcheck_LDADD) $(LIBS)
+rnwcheck$(EXEEXT): $(rnwcheck_OBJECTS) $(rnwcheck_DEPENDENCIES)
+ @rm -f rnwcheck$(EXEEXT)
+ $(CXXLINK) $(rnwcheck_LDFLAGS) $(rnwcheck_OBJECTS) $(rnwcheck_LDADD) $(LIBS)
+rowcheck$(EXEEXT): $(rowcheck_OBJECTS) $(rowcheck_DEPENDENCIES)
+ @rm -f rowcheck$(EXEEXT)
+ $(CXXLINK) $(rowcheck_LDFLAGS) $(rowcheck_OBJECTS) $(rowcheck_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ficacheck.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ficcheck.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rmwcheck.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rnwcheck.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rowcheck.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/checktools/ficacheck b/trunk/apps/checktools/ficacheck
new file mode 100755
index 0000000..9507c64
Binary files /dev/null and b/trunk/apps/checktools/ficacheck differ
diff --git a/trunk/apps/checktools/ficacheck.cpp b/trunk/apps/checktools/ficacheck.cpp
new file mode 100644
index 0000000..bfd2d59
--- /dev/null
+++ b/trunk/apps/checktools/ficacheck.cpp
@@ -0,0 +1,38 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/checktools/ficacheck.cpp#1 $"
+
+#include "CheckFrame.hpp"
+
+#include "FICAStream.hpp"
+#include "FICData.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ CheckFrame<FICAStream, FICData> cf(argv[0],
+ std::string("FIC ASCII"));
+
+ if (!cf.initialize(argc, argv))
+ return 0;
+ if (!cf.run())
+ return 1;
+
+ return 0;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
diff --git a/trunk/apps/checktools/ficcheck b/trunk/apps/checktools/ficcheck
new file mode 100755
index 0000000..8db7be7
Binary files /dev/null and b/trunk/apps/checktools/ficcheck differ
diff --git a/trunk/apps/checktools/ficcheck.cpp b/trunk/apps/checktools/ficcheck.cpp
new file mode 100644
index 0000000..003cd73
--- /dev/null
+++ b/trunk/apps/checktools/ficcheck.cpp
@@ -0,0 +1,38 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/checktools/ficcheck.cpp#1 $"
+
+#include "CheckFrame.hpp"
+
+#include "FICStream.hpp"
+#include "FICData.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ CheckFrame<FICStream, FICData> cf(argv[0],
+ std::string("FIC"));
+
+ if (!cf.initialize(argc, argv))
+ return 0;
+ if (!cf.run())
+ return 1;
+
+ return 0;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
diff --git a/trunk/apps/checktools/rmwcheck b/trunk/apps/checktools/rmwcheck
new file mode 100755
index 0000000..9f07c86
Binary files /dev/null and b/trunk/apps/checktools/rmwcheck differ
diff --git a/trunk/apps/checktools/rmwcheck.cpp b/trunk/apps/checktools/rmwcheck.cpp
new file mode 100644
index 0000000..96ce181
--- /dev/null
+++ b/trunk/apps/checktools/rmwcheck.cpp
@@ -0,0 +1,39 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/checktools/rmwcheck.cpp#1 $"
+
+#include "CheckFrame.hpp"
+
+#include "RinexMetStream.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetFilterOperators.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ CheckFrame<RinexMetStream, RinexMetData, RinexMetDataFilterTime>
+ cf(argv[0], "Rinex Met");
+
+ if (!cf.initialize(argc, argv))
+ return 0;
+ if (!cf.run())
+ return 1;
+
+ return 0;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
diff --git a/trunk/apps/checktools/rnwcheck b/trunk/apps/checktools/rnwcheck
new file mode 100755
index 0000000..018ae36
Binary files /dev/null and b/trunk/apps/checktools/rnwcheck differ
diff --git a/trunk/apps/checktools/rnwcheck.cpp b/trunk/apps/checktools/rnwcheck.cpp
new file mode 100644
index 0000000..173bd9b
--- /dev/null
+++ b/trunk/apps/checktools/rnwcheck.cpp
@@ -0,0 +1,38 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/checktools/rnwcheck.cpp#1 $"
+
+#include "CheckFrame.hpp"
+
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ CheckFrame<RinexNavStream, RinexNavData> cf(argv[0],
+ std::string("Rinex Nav"));
+
+ if (!cf.initialize(argc, argv))
+ return 0;
+ if (!cf.run())
+ return 1;
+
+ return 0;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
diff --git a/trunk/apps/checktools/rowcheck b/trunk/apps/checktools/rowcheck
new file mode 100755
index 0000000..e3b33c1
Binary files /dev/null and b/trunk/apps/checktools/rowcheck differ
diff --git a/trunk/apps/checktools/rowcheck.cpp b/trunk/apps/checktools/rowcheck.cpp
new file mode 100644
index 0000000..37c216a
--- /dev/null
+++ b/trunk/apps/checktools/rowcheck.cpp
@@ -0,0 +1,38 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/checktools/rowcheck.cpp#1 $"
+
+#include "CheckFrame.hpp"
+
+#include "RinexObsStream.hpp"
+#include "RinexObsData.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ CheckFrame<RinexObsStream, RinexObsData> cf(argv[0],
+ std::string("Rinex Obs"));
+
+ if (!cf.initialize(argc, argv))
+ return 0;
+ if (!cf.run())
+ return 1;
+
+ return 0;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
diff --git a/trunk/apps/converters/Jamfile b/trunk/apps/converters/Jamfile
new file mode 100644
index 0000000..4981e7e
--- /dev/null
+++ b/trunk/apps/converters/Jamfile
@@ -0,0 +1,9 @@
+#
+# $Id: //depot/sgl/gpstk/dev/apps/converters/Jamfile#1 $
+#
+
+SubDir TOP apps converters ;
+
+GPSLinkLibraries novaRinex : gpstk ;
+
+GPSMain novaRinex : novaRinex.cpp NovatelData.cpp ;
diff --git a/trunk/apps/converters/Makefile.am b/trunk/apps/converters/Makefile.am
new file mode 100644
index 0000000..f908f69
--- /dev/null
+++ b/trunk/apps/converters/Makefile.am
@@ -0,0 +1,6 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = novaRinex
+
+novaRinex_SOURCES = novaRinex.cpp NovatelData.cpp NovatelStream.cpp
diff --git a/trunk/apps/converters/NovatelData.cpp b/trunk/apps/converters/NovatelData.cpp
new file mode 100644
index 0000000..1387398
--- /dev/null
+++ b/trunk/apps/converters/NovatelData.cpp
@@ -0,0 +1,1065 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/converters/NovatelData.cpp#1 $"
+
+/**
+ * @file NovatelData.cpp
+ * gpstk::NovatelData - container for Novatel data, with methods to convert
+ * binary data files to Rinex
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "BinUtils.hpp"
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "EngEphemeris.hpp"
+#include "RinexObsHeader.hpp"
+#include "icd_200_constants.hpp"
+#include "NovatelData.hpp"
+
+using namespace std;
+using namespace gpstk::BinUtils;
+using namespace gpstk::StringUtils;
+
+static bool debug=false;
+
+namespace gpstk
+{
+
+ // --------------------------------------------------------------------------------
+ const double CFF=C_GPS_M/OSC_FREQ;
+ const double wl1=CFF/L1_MULT;
+ const double wl2=CFF/L2_MULT;
+ const double PhaseRollover=8388608;
+
+ // --------------------------------------------------------------------------------
+ const std::string NovatelData::RecNames[] = {
+ std::string("Unknown"),
+ std::string("RGEB obs"),
+ std::string("RGEC obs"),
+ std::string("POSB pos"),
+ std::string("REPB nav"),
+ std::string("RCSB sts"),
+ std::string("RANGE obs"),
+ std::string("RANGECMP obs"),
+ std::string("RAWEPHEM nav")
+ };
+
+ // --------------------------------------------------------------------------------
+ bool NovatelData::isNav(void) const
+ {
+ switch(rectype) {
+ case POSB:
+ case RCSB:
+ return false;
+ case REPB:
+ case RAWEPHEM:
+ return true;
+ case RGEB:
+ case RGEC:
+ case RANGE:
+ case RANGECMP:
+ return false;
+ case Unknown:
+ default:
+ return false;
+ }
+ }
+
+ // --------------------------------------------------------------------------------
+ bool NovatelData::isObs(void) const
+ {
+ switch(rectype) {
+ case POSB:
+ case RCSB:
+ return false;
+ case REPB:
+ case RAWEPHEM:
+ return false;
+ case RGEB:
+ case RGEC:
+ case RANGE:
+ case RANGECMP:
+ return true;
+ case Unknown:
+ default:
+ return false;
+ }
+ }
+
+ // --------------------------------------------------------------------------------
+ bool NovatelData::isAux(void) const
+ {
+ switch(rectype) {
+ case POSB:
+ case RCSB:
+ return true;
+ case REPB:
+ case RAWEPHEM:
+ return false;
+ case RGEB:
+ case RGEC:
+ case RANGE:
+ case RANGECMP:
+ return false;
+ case Unknown:
+ default:
+ return false;
+ }
+ }
+
+ // --------------------------------------------------------------------------------
+ // True if this record belongs to OEM2 receivers
+ bool NovatelData::isOEM2(void) const
+ {
+ switch(rectype) {
+ case POSB:
+ case RCSB:
+ case REPB:
+ case RGEB:
+ case RGEC:
+ return true;
+ case RAWEPHEM:
+ case RANGE:
+ case RANGECMP:
+ case Unknown:
+ default:
+ return false;
+ }
+ }
+
+ // --------------------------------------------------------------------------------
+ // True if this record belongs to OEM4 receivers
+ bool NovatelData::isOEM4(void) const
+ {
+ switch(rectype) {
+ case RAWEPHEM:
+ case RANGE:
+ case RANGECMP:
+ return true;
+ case POSB:
+ case RCSB:
+ case REPB:
+ case RGEB:
+ case RGEC:
+ case Unknown:
+ default:
+ return false;
+ }
+ }
+
+ // --------------------------------------------------------------------------------
+ bool NovatelData::isValid(void) const
+ {
+ switch(rectype) {
+ case POSB:
+ case RCSB:
+ case REPB:
+ case RAWEPHEM:
+ case RGEB:
+ case RGEC:
+ case RANGE:
+ case RANGECMP:
+ if(datasize == 0 || headersize==0) return false;
+ return true;
+ case Unknown:
+ default:
+ return false;
+ }
+ }
+
+ // --------------------------------------------------------------------------------
+ void NovatelData::dump(std::ostream& str) const
+ {
+ str << "Record type is " << rectype << endl;
+ }
+
+ // --------------------------------------------------------------------------------
+ void NovatelData::reallyPutRecord(FFStream& s) const
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError)
+ {
+ FFStreamError e("Novatel::reallyPutRecord() is not implemented");
+ GPSTK_THROW(e);
+ }
+
+
+ // --------------------------------------------------------------------------------
+ void NovatelData::reallyGetRecord(FFStream& ffs)
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError)
+ {
+ if(dynamic_cast<NovatelStream*>(&ffs)) {
+
+ NovatelStream& strm = dynamic_cast<NovatelStream&>(ffs);
+
+ unsigned char *p0 = &buffer[0];
+ unsigned char *p1 = &buffer[1];
+ unsigned char *p2 = &buffer[2];
+ unsigned char *p3 = &buffer[3];
+ unsigned char *p4 = &buffer[4];
+ int i,j,k;
+ long filepos;
+
+ // read loop
+ do {
+
+ // move data down by 1 byte
+ *p0 = *p1;
+ *p1 = *p2;
+
+ // get another character
+ strm.read((char *)p2, 1);
+ if(strm.bad()) {
+ FFStreamError fe("Read error");
+ GPSTK_THROW(fe);
+ }
+ if(strm.eof()) {
+ if(debug) cout << "Reached EOF" << endl;
+ break;
+ }
+ if(debug) cout << "got char 0x" << hex << uppercase << int(buffer[2])
+ << dec << endl;
+
+ // look for sync bytes
+ if(*p0==0xAA && *p1==0x44 && *p2==0x11) {
+ // -------------------------------------------------- OEM2
+ if(debug) cout << "Found OEM2 sync" << endl;
+
+ // save position in case of failure
+ filepos = strm.tellg();
+
+ // read 9 more characters into buffer, giving total of 12
+ strm.read((char *)p3,9);
+ if(strm.bad()) {
+ FFStreamError fe("Read error");
+ GPSTK_THROW(fe);
+ }
+ if(strm.eof()) {
+ if(debug) cout << "Reached EOF" << endl;
+ break;
+ }
+
+ // read the record ID
+ if(*p4==0x20) rectype = RGEB;
+ else if(*p4==0x21) rectype = RGEC;
+ else if(*p4==0x01) rectype = POSB;
+ else if(*p4==0x0E) rectype = REPB;
+ else if(*p4==0x0D) rectype = RCSB;
+ else rectype = Unknown;
+ recnum = int(*p4);
+ intelToHost(recnum);
+
+ // read the rest of the record
+ if(rectype != Unknown) {
+
+ // get the size of the record
+ memmove(&datasize, &(buffer[8]), 4);
+ intelToHost(datasize);
+
+ // read the rest of the record
+ strm.read((char *)&buffer[12],datasize-12);
+ if(strm.bad()) {
+ FFStreamError fe("Read error");
+ GPSTK_THROW(fe);
+ }
+ if(strm.eof()) {
+ if(debug) cout << "Reached EOF" << endl;
+ break;
+ }
+ headersize = 3; // just the sync bytes
+
+ // compute the checksum
+ // Ref OEM2 manual
+ unsigned char checksum = 0;
+ checksum ^= buffer[0];
+ checksum ^= buffer[1];
+ checksum ^= buffer[2];
+ for(i=4; i<datasize; i++) checksum ^= buffer[i];
+
+ if(checksum == buffer[3]) break; // sucess
+ }
+
+ // failure - either record type unknown or checksum failed
+ strm.seekg(filepos); // rewind to just after the sync bytes
+ datasize = headersize = 0;
+
+ } // end if OEM2 sync
+
+ else if(*p0==0xAA && *p1==0x44 && *p2==0x12) {
+ // -------------------------------------------------- OEM4
+ // Ref OEM4 Manual pg 15
+
+ if(debug) cout << "Found OEM4 sync" << endl;
+
+ // save position in case of failure
+ filepos = strm.tellg();
+
+ // ---------------------------------------
+ // read header, 25 characters, into buffer
+ strm.read((char *)p3,25);
+ if(strm.bad()) {
+ FFStreamError fe("Read error");
+ GPSTK_THROW(fe);
+ }
+ if(strm.eof()) {
+ if(debug) cout << "Reached EOF" << endl;
+ break;
+ }
+
+ // parse the header
+ // Ref OEM4 Manual pg 16
+ // (only need some of the data here - cast to Rinex functions
+ // will parse the whole thing)
+ unsigned char headerLength;
+ memmove(&headerLength, &(buffer[3]), 1); intelToHost(headerLength);
+ short messageID;
+ memmove(&messageID, &(buffer[4]), 2); intelToHost(messageID);
+ //char messageType;
+ //memmove(&messageType, &(buffer[6]), 1); intelToHost(messageType);
+ //char portAddress;
+ //memmove(&portAddress, &(buffer[7]), 1); intelToHost(portAddress);
+ short messageLength;
+ memmove(&messageLength, &(buffer[8]), 2); intelToHost(messageLength);
+ //short sequence;
+ //memmove(&sequence, &(buffer[10]), 2); intelToHost(sequence);
+ //char idleTime;
+ //memmove(&idleTime, &(buffer[12]), 1); intelToHost(idleTime);
+ //char timeStatus;
+ //memmove(&timeStatus, &(buffer[13]), 1); intelToHost(timeStatus);
+ //short week;
+ //memmove(&week, &(buffer[14]), 2); intelToHost(week);
+ //long msecOfWeek;
+ //memmove(&msecOfWeek, &(buffer[16]), 4); intelToHost(msecOfWeek);
+ //long rxStatus;
+ //memmove(&rxStatus, &(buffer[20]), 4); intelToHost(rxStatus);
+ //short reserved;
+ //memmove(&reserved, &(buffer[24]), 2); intelToHost(reserved);
+ //short rxSWVersion;
+ //memmove(&rxSWVersion, &(buffer[26]), 2); intelToHost(rxSWVersion);
+
+ datasize = messageLength;
+ headersize = int(headerLength);
+ recnum = messageID;
+
+ if(headersize != 28) { // manual warns that changes may be made
+ Exception e("Header size : expected 28 but found "
+ + StringUtils::asString(headersize) + " for record ID "
+ + StringUtils::asString(recnum));
+ GPSTK_THROW(e);
+ }
+
+ if(debug) cout << "hL " << int(headerLength)
+ << " ID " << messageID
+ << " mL " << messageLength
+ //<< " seq " << sequence
+ //<< " week " << week
+ //<< " msow " << msecOfWeek
+ //<< " rxver " << rxSWVersion
+ << endl;
+
+ if( recnum == 43) rectype = RANGE;
+ else if(recnum == 140) rectype = RANGECMP;
+ else if(recnum == 41) rectype = RAWEPHEM;
+ else rectype = Unknown;
+
+ if(rectype != Unknown) {
+
+ // ---------------------------------------
+ // read the data message, but don't overwrite the header
+ strm.read((char *)&(buffer[28]),datasize);
+ if(strm.bad()) {
+ FFStreamError fe("Read error");
+ GPSTK_THROW(fe);
+ }
+ if(strm.eof()) {
+ datasize = 0; //mark a bad record
+ if(debug) cout << "Reached EOF" << endl;
+ break;
+ }
+ if(debug) cout << "read message" << endl;
+
+ // ---------------------------------------
+ // validate with 32-bit CRC
+ // cf. Ref OEM4 manual pg 21.
+
+ // get the checksum at the end
+ unsigned long checksum = intelToHost(strm.getData<unsigned long>());
+
+ // calculate the checksum of the header(even sync)+data
+ unsigned long check=0,ultemp1,ultemp2;
+ for(i=0; i<datasize+28; i++) {
+ ultemp1 = (check >> 8) & 0x00FFFFFFL;
+ j = ((int)check ^ buffer[i]) & 0xFF;
+ ultemp2 = j;
+ for(k=8; k>0; k--) {
+ if(ultemp2 & 1)
+ ultemp2 = (ultemp2 >> 1) ^ 0xEDB88320L;
+ else
+ ultemp2 >>= 1;
+ }
+ check = ultemp1 ^ ultemp2;
+ }
+
+ if(check == checksum) {
+ if(debug) cout << "checksum ok" << endl;
+ break;
+ }
+
+ }
+
+ // failure - either type unknown, or failed checksum
+ strm.seekg(filepos);
+ datasize = headersize = 0; // marks an invalid object
+
+ } // end if OEM4 sync
+
+ else { // skip these bytes
+ // print only if sync is not underway
+ if(debug && !(*p1==0xAA && *p2==0x44) && !(*p2==0xAA) )
+ cout << "Skip a byte " << hex << uppercase << setfill('0')
+ << setw(2) << *p0 << dec << setfill(' ') << endl;
+ }
+
+ } while(1); // end read loop
+ }
+ else {
+ FFStreamError e("NovatelData tried to read from a non-Novatel file");
+ GPSTK_THROW(e);
+ }
+
+ if(!isValid()) {
+ FFStreamError e("Read an invalid Novatel record");
+ GPSTK_THROW(e);
+ }
+
+ } // end NovatelData::reallyGetRecord
+
+
+ // --------------------------------------------------------------------------------
+ NovatelData::operator RinexNavData()
+ throw(Exception)
+ {
+ if(!isValid() || !isNav()) {
+ Exception e("Invalid or non-Nav record");
+ GPSTK_THROW(e);
+ }
+
+ int i,j,k;
+ long templ;
+ EngEphemeris eeph;
+
+ if(rectype == RAWEPHEM) { // OEM4
+
+ // parse header
+ // Ref OEM4 Manual pg 16
+ unsigned char headerLength;
+ memmove(&headerLength, &(buffer[3]), 1); intelToHost(headerLength);
+ short messageID;
+ memmove(&messageID, &(buffer[4]), 2); intelToHost(messageID);
+ char messageType;
+ memmove(&messageType, &(buffer[6]), 1); intelToHost(messageType);
+ char portAddress;
+ memmove(&portAddress, &(buffer[7]), 1); intelToHost(portAddress);
+ short messageLength;
+ memmove(&messageLength, &(buffer[8]), 2); intelToHost(messageLength);
+ short sequence;
+ memmove(&sequence, &(buffer[10]), 2); intelToHost(sequence);
+ char idleTime;
+ memmove(&idleTime, &(buffer[12]), 1); intelToHost(idleTime);
+ char timeStatus;
+ memmove(&timeStatus, &(buffer[13]), 1); intelToHost(timeStatus);
+ short week;
+ memmove(&week, &(buffer[14]), 2); intelToHost(week);
+ long msecOfWeek;
+ memmove(&msecOfWeek, &(buffer[16]), 4); intelToHost(msecOfWeek);
+ long rxStatus;
+ memmove(&rxStatus, &(buffer[20]), 4); intelToHost(rxStatus);
+ short reserved;
+ memmove(&reserved, &(buffer[24]), 2); intelToHost(reserved);
+ short rxSWVersion;
+ memmove(&rxSWVersion, &(buffer[26]), 2); intelToHost(rxSWVersion);
+
+ // parse data
+ // Ref OEM4 Manual pg 206
+ short prn,track=1;
+ long gpsSOW;
+
+ // get PRN and timetag
+ memmove(&templ, &(buffer[28]), 4);
+ intelToHost(templ);
+ prn = short(templ);
+ memmove(&gpsWeek, &(buffer[32]), 4); // long gpsWeek is member data
+ intelToHost(gpsWeek);
+ memmove(&gpsSOW, &(buffer[36]), 4);
+ intelToHost(gpsSOW);
+
+ // convert the 3 subframes and create EngEphemeris
+ long subframe[10];
+ for(j=0; j<3; j++) {
+ k = 40 + j*30;
+
+ if(debug) {
+ cout << "Subframe " << setfill('0') << j+1;
+ for(i=0; i<30; i++)
+ cout << " " << hex << uppercase << setw(2) << int(buffer[k+i]);
+ cout << dec << setfill(' ') << endl;
+ }
+
+ for(i=0; i<10; i++) {
+ subframe[i] = (buffer[k] << 22)+(buffer[k+1] << 14)+(buffer[k+2] << 6);
+ k += 3;
+ }
+ if(!eeph.addSubframe(subframe,gpsWeek,prn,track)){
+ cerr << "Failed to convert RAWEPH subframe " << j+1 << ", prn " << prn
+ << " at time " << gpsWeek << " " << gpsSOW << endl;
+ }
+ }
+ } // end RAWEPH record
+
+ else if(rectype == REPB) { // OEM2
+
+ long prn;
+ short track=1;
+
+ // get PRN
+ memmove(&prn,&(buffer[12]), 4);
+ intelToHost(prn);
+
+ // be sure week is defined
+ if(gpsWeek == -1) {
+ DayTime sysTime;
+ gpsWeek = long(sysTime.GPSfullweek());
+ }
+
+ // convert the 3 subframes and create EngEphemeris
+ long subframe[10];
+ for(j=0; j<3; j++) {
+ k = 16 + j*30;
+
+ if(debug) {
+ cout << "Subframe " << setfill('0') << j+1;
+ for(i=0; i<30; i++)
+ cout << " " << hex << uppercase << setw(2) << int(buffer[k+i]);
+ cout << dec << setfill(' ') << endl;
+ }
+
+ for(i=0; i<10; i++) {
+ subframe[i] = (buffer[k] << 22)+(buffer[k+1] << 14)+(buffer[k+2] << 6);
+ k += 3;
+ }
+ if(!eeph.addSubframe(subframe,gpsWeek,short(prn),track)){
+ cerr << "Failed to convert REPB subframe " << j+1
+ << ", prn " << prn << endl;
+ }
+ }
+
+ } // end REPB record
+
+ // convert it to Rinex
+ RinexNavData rnd(eeph);
+
+ return rnd;
+
+ } // end NovatelData::operator RinexNavData()
+
+
+ // --------------------------------------------------------------------------------
+ NovatelData::operator RinexObsData()
+ throw(Exception)
+ {
+ if(!isValid() || !isObs()) {
+ Exception e("Invalid or non-Obs record");
+ GPSTK_THROW(e);
+ }
+
+ int i,j;
+ short temps;
+ long nobs; // number of observation records (may be 2/PRN: L1 and L2)
+ RinexPrn sat;
+ RinexObsData rod; // this will be returned
+ RinexObsData::RinexDatum rd;
+ RinexObsData::RinexPrnMap::iterator satit;
+ RinexObsData::RinexObsTypeMap::iterator obsit;
+
+ if( rectype == RGEB) { // OEM2
+
+
+ } // end RGEB record
+
+ else if(rectype == RGEC) { // OEM2
+ // Ref OEM2 Manual pg 97
+
+ if(debug) {
+ cout << "Header " << setfill('0') << hex << uppercase;
+ for(i=0; i<24; i++) cout << " " << setw(2) << int(buffer[i]);
+ cout << dec << setfill(' ') << endl;
+ }
+
+ // number of observation records to follow
+ memmove(&temps, &(buffer[12]), 2);
+ intelToHost(temps);
+ nobs = long(temps);
+
+ // GPS week (long gpsWeek is member data)
+ memmove(&temps, &(buffer[14]), 2);
+ intelToHost(temps);
+
+ // resolve the week number ambiguity
+ if(gpsWeek == -1) {
+ DayTime sysTime;
+ gpsWeek = long(sysTime.GPSfullweek());
+ }
+ gpsWeek = long(temps) + 1024*(gpsWeek/1024);
+
+ // seconds of week * 100
+ long gpsSOW;
+ memmove(&gpsSOW, &(buffer[16]), 4);
+ intelToHost(gpsSOW);
+
+ // receiver status
+ long rxStatus;
+ memmove(&rxStatus, &(buffer[20]), 4);
+
+ // put timetag into rod
+ rod.time = DayTime(gpsWeek,gpsSOW/100.);
+ rod.epochFlag = 0;
+ rod.clockOffset = 0.0; // don't have it ?
+ rod.numSvs = 0;
+
+ // loop over observation records
+ for(i=0; i<nobs; i++) {
+ unsigned long data[5];
+ for(j=0; j<5; j++)
+ memmove(&data[j], &(buffer[24+i*20+j*4]), 4);
+
+ int prn = int(data[0] & 0x0000003FL);
+
+ double SNR = double((data[0] & 0x000007C0L) >> 6);
+
+ double locktime = double((data[0] & 0xFFFFF800L) >> 11);
+
+ double Ph;
+ if(data[1] & 0x80000000L) // 2s complement
+ Ph = double(data[1] ^ 0x7FFFFFFFL + 1);
+ else
+ Ph = double(data[1]);
+
+ double Doppler = double((data[2] & 0xFFFFFFF0L) >> 4);
+ if(data[2] & 0x80000000L) // 2s complement
+ Doppler = -double((((data[2] & 0xFFFFFFF0L) ^ 0xFFFFFFF0L) >> 4)+1);
+
+ // this is 0xFFFFFFFF + 1
+ double Pr = double(data[2] & 0x0000000FL) * 4294967296.
+ + double(data[3]);
+ // could the pseudorange ever be negative?
+ if(data[2] & 0x00000008L) // 2s complement
+ Pr = -double((data[2] & 0x0000000FL) ^ 0x0000000FL) * 4294967296.
+ - double(data[3] ^ 0xFFFFFFFFL + 1);
+
+ double SdPh = int(data[4] & 0x0000000FL);
+
+ double SdPr = double((data[4] & 0x000000F0L) >> 4);
+
+ long TrackStatus = long((data[4] & 0xFFFFFF00L) >> 8);
+ // the rest are reserved
+
+ // swap bytes
+ intelToHost(prn);
+ intelToHost(SNR);
+ intelToHost(locktime);
+ intelToHost(Ph);
+ intelToHost(Doppler);
+ intelToHost(Pr);
+ intelToHost(SdPr);
+ intelToHost(SdPh);
+
+ // convert to physical units
+ SNR += 20.; // dB-Hz, but 51 means >=51, and 20 means <=20.
+ locktime /= 32.; // sec
+ Doppler /= 256.; // Hz
+ Pr /= 128.; // m
+ Ph /= 256.; // cycles
+ SdPr = (SdPr + 1.)/16.; // m
+ SdPh = (SdPh + 1)/512.; // cycles
+
+ // break out the TrackStatus
+ // cf. Table 5-6, pg 95 of OEM2 manual
+ int TrackState = int( TrackStatus & 0x0000000FL);
+ int Channel = int((TrackStatus & 0x000001F0L) >> 4);
+ bool PhaseLock = bool(TrackStatus & 0x00000200L);
+ bool ParityKnown = bool(TrackStatus & 0x00000400L);
+ bool CodeLock = bool(TrackStatus & 0x00000800L);
+ int Frequency = int((TrackStatus & 0x00100000L) >> 20); // 0:L1 1:L2
+ // CodeType is 0: CA 1: P 2: Pcodeless
+ int CodeType = int((TrackStatus & 0x00600000L) >> 21);
+
+ if(!PhaseLock || !CodeLock) continue;
+
+ // correct the phase for rollovers
+ // ref. OEM2 manual pg 97
+ double ADRrolls = ((-Pr/(Frequency==0 ? wl1 : wl2))-Ph)/PhaseRollover;
+ Ph += long(ADRrolls + (ADRrolls > 0 ? 0.5 : -0.5)) * PhaseRollover;
+
+ //apparently the Novatel convert utility ignores this too
+ //ignore if(!ParityKnown) Ph = 0.0;
+
+ // fill RinexObsData rod
+ sat = RinexPrn(prn,systemGPS);
+ satit = rod.obs.find(sat); // find the sat
+ if(satit == rod.obs.end()) { // not there - add this sat
+ RinexObsData::RinexObsTypeMap rotm;
+ rod.obs[sat] = rotm;
+ rod.numSvs++;
+ satit = rod.obs.find(sat); // now find it
+ }
+
+ // for convenience, reference the obs data map
+ RinexObsData::RinexObsTypeMap& obs = satit->second;
+ if(Frequency == 0) { // frequency = L1
+ rd.ssi = rd.lli = 0; rd.data = -Ph;
+ obs[RinexObsHeader::L1] = rd; // L1
+
+ rd.ssi = rd.lli = 0; rd.data = Pr;
+ if(CodeType == 0) obs[RinexObsHeader::C1] = rd; // C1
+ else obs[RinexObsHeader::P1] = rd; // P1
+
+ rd.ssi = rd.lli = 0; rd.data = -Doppler;
+ obs[RinexObsHeader::D1] = rd; // D1
+
+ rd.ssi = rd.lli = 0; rd.data = SNR; // S1
+ obs[RinexObsHeader::S1] = rd;
+ }
+ else {
+ rd.ssi = rd.lli = 0; rd.data = Ph;
+ obs[RinexObsHeader::L2] = rd; // L2
+
+ rd.ssi = rd.lli = 0; rd.data = Pr;
+ obs[RinexObsHeader::P2] = rd; // P2
+
+ rd.ssi = rd.lli = 0; rd.data = -Doppler;
+ obs[RinexObsHeader::D2] = rd; // D2
+
+ rd.ssi = rd.lli = 0; rd.data = SNR;
+ obs[RinexObsHeader::S2] = rd; // S2
+ }
+
+ }
+
+ } // end RGEC record
+
+ else { // all OEM4 obs records
+
+ // header
+ // Ref OEM4 Manual pg 16
+ unsigned char headerLength;
+ memmove(&headerLength, &(buffer[3]), 1); intelToHost(headerLength);
+ short messageID;
+ memmove(&messageID, &(buffer[4]), 2); intelToHost(messageID);
+ char messageType;
+ memmove(&messageType, &(buffer[6]), 1); intelToHost(messageType);
+ char portAddress;
+ memmove(&portAddress, &(buffer[7]), 1); intelToHost(portAddress);
+ short messageLength;
+ memmove(&messageLength, &(buffer[8]), 2); intelToHost(messageLength);
+ short sequence;
+ memmove(&sequence, &(buffer[10]), 2); intelToHost(sequence);
+ char idleTime;
+ memmove(&idleTime, &(buffer[12]), 1); intelToHost(idleTime);
+ char timeStatus;
+ memmove(&timeStatus, &(buffer[13]), 1); intelToHost(timeStatus);
+ short week;
+ memmove(&week, &(buffer[14]), 2); intelToHost(week);
+ long msecOfWeek;
+ memmove(&msecOfWeek, &(buffer[16]), 4); intelToHost(msecOfWeek);
+ long rxStatus;
+ memmove(&rxStatus, &(buffer[20]), 4); intelToHost(rxStatus);
+ short reserved;
+ memmove(&reserved, &(buffer[24]), 2); intelToHost(reserved);
+ short rxSWVersion;
+ memmove(&rxSWVersion, &(buffer[26]), 2); intelToHost(rxSWVersion);
+
+ // put timetag into rod
+ rod.time = DayTime(week,double(msecOfWeek)/1000.);
+ rod.epochFlag = 0;
+ rod.clockOffset = 0.0; // don't have it ?
+
+ if( rectype == RANGE) {
+ // Ref OEM4 Manual pg 198-201
+
+ nobs = 0;
+ memmove(&nobs, &(buffer[28]), 4);
+ intelToHost(nobs);
+
+ rod.numSvs = 0;
+ for(i=0; i<nobs; i++) {
+ unsigned short prn,reserved;
+ unsigned long TrackStatus;
+ float PrStd,PhStd,Doppler,SNR,locktime;
+ double Pr,Ph;
+
+ memmove(&prn, &(buffer[32+i*44]), 2);
+ intelToHost(prn);
+ memmove(&reserved, &(buffer[34+i*44]), 2);
+ intelToHost(reserved);
+ memmove(&Pr, &(buffer[36+i*44]), 8);
+ intelToHost(Pr);
+ memmove(&PrStd, &(buffer[44+i*44]), 4);
+ intelToHost(PrStd);
+ memmove(&Ph, &(buffer[48+i*44]), 8);
+ intelToHost(Ph);
+ memmove(&PhStd, &(buffer[56+i*44]), 4);
+ intelToHost(PhStd);
+ memmove(&Doppler, &(buffer[60+i*44]), 4);
+ intelToHost(Doppler);
+ memmove(&SNR, &(buffer[64+i*44]), 4);
+ intelToHost(SNR);
+ memmove(&locktime, &(buffer[68+i*44]), 4);
+ intelToHost(locktime);
+ memmove(&TrackStatus, &(buffer[72+i*44]), 4);
+ intelToHost(TrackStatus);
+
+ // break out the TrackStatus
+ // cf. Table 56, pg 199 of OEM4 manual
+ int TrackState = int( TrackStatus & 0x0000001FL);
+ int Channel = int((TrackStatus & 0x000003E0L) >> 5);
+ bool PhaseLock = bool(TrackStatus & 0x00000400L);
+ bool CodeLock = bool(TrackStatus & 0x00001000L);
+ int Frequency = int((TrackStatus & 0x00600000L) >> 21); // 0:L1 1:L2
+ // CodeType is 0CA 1P 2Pcodeless
+ int CodeType = int((TrackStatus & 0x03800000L) >> 23);
+ bool HalfCycle = bool(TrackStatus & 0x10000000L);
+
+ if(!PhaseLock || !CodeLock) continue; // data is not reliable
+
+ // fill RinexObsData rod
+ sat = RinexPrn(prn,systemGPS);
+ satit = rod.obs.find(sat); // find the sat
+ if(satit == rod.obs.end()) { // not there - add this sat
+ RinexObsData::RinexObsTypeMap rotm;
+ rod.obs[sat] = rotm;
+ rod.numSvs++;
+ satit = rod.obs.find(sat); // now find it
+ }
+
+ // for convenience, reference the obs data map inside rod
+ RinexObsData::RinexObsTypeMap& obs = satit->second;
+ if(Frequency == 0) { // frequency = L1
+ rd.ssi = rd.lli = 0; rd.data = -Ph;
+ obs[RinexObsHeader::L1] = rd; // L1
+
+ rd.ssi = rd.lli = 0; rd.data = Pr;
+ if(CodeType == 0) obs[RinexObsHeader::C1] = rd; // C1
+ else obs[RinexObsHeader::P1] = rd; // P1
+
+ rd.ssi = rd.lli = 0; rd.data = Doppler;
+ obs[RinexObsHeader::D1] = rd; // D1
+
+ rd.ssi = rd.lli = 0; rd.data = SNR;
+ obs[RinexObsHeader::S1] = rd; // S1
+ }
+ else {
+ rd.ssi = rd.lli = 0; rd.data = -Ph;
+ obs[RinexObsHeader::L2] = rd; // L2
+
+ rd.ssi = rd.lli = 0; rd.data = Pr;
+ obs[RinexObsHeader::P2] = rd; // P2
+
+ rd.ssi = rd.lli = 0; rd.data = Doppler;
+ obs[RinexObsHeader::D2] = rd; // D2
+
+ rd.ssi = rd.lli = 0; rd.data = SNR;
+ obs[RinexObsHeader::S2] = rd; // S2
+ }
+
+ }
+
+ } // end RANGE record
+
+ else if(rectype == RANGECMP) {
+ // Ref OEM4 Manual pg 202-203
+
+ nobs = 0;
+ memmove(&nobs, &(buffer[28]), 4);
+ intelToHost(nobs);
+
+ rod.numSvs = 0;
+ for(i=0; i<nobs; i++) {
+ unsigned long data[6];
+ for(j=0; j<6; j++)
+ memmove(&data[j], &(buffer[32+i*24+j*4]), 4);
+
+ long TrackStatus = data[0];
+ // this is what is in the manual - its wrong
+ //double Doppler = double(data[1] & 0x0FFFFFFFL);
+ // this is not documented in the manual...
+ //double Doppler = double(data[1] & 0x000FFFFFL);
+ //if(data[1] & 0x0FF00000L == 0x0FF00000L) Doppler = -Doppler;
+ // try this - cf the OEM2 manual and implementation above
+ double Doppler = double((data[1] & 0x0FFFFFFFL));
+ if(data[1] & 0x08000000L) // 2s complement
+ Doppler = -double(((data[1] & 0x0FFFFFFFL) ^ 0x0FFFFFFFL) + 1);
+ double Pr = double((data[1] & 0xF0000000L) >> 28)
+ + double(data[2]) * 16.;
+ double Ph = double(data[3]);
+ int SdPrCode = int(data[4] & 0x0000000FL);
+ double SdPh = double((data[4] & 0x000000F0L) >> 4);
+ int prn = int((data[4] & 0x0000FF00L) >> 8);
+ double locktime = double((data[4] & 0xFFFF0000L) >> 16)
+ + double(data[5] & 0x0000001FL);
+ double SNR = double((data[5] & 0x000003E0L) >> 5);
+ // the rest are reserved
+
+ // swap bytes
+ intelToHost(Doppler);
+ intelToHost(Pr);
+ intelToHost(Ph);
+ intelToHost(SdPrCode); // code - see pg 203 of OEM4 manual
+ intelToHost(SdPh);
+ intelToHost(prn);
+ intelToHost(locktime);
+ intelToHost(SNR);
+
+ // convert to physical units
+ Doppler /= 256.; // Hz
+ Pr /= 128.; // m
+ Ph /= 256.; // cycles
+ double SdPr;
+ switch(SdPrCode) { // this is just a code
+ // ref table on pg 203 of OEM4 manual
+ case 0: SdPr = 0.050; break; // m
+ case 1: SdPr = 0.075; break; // m
+ case 2: SdPr = 0.113; break; // m
+ case 3: SdPr = 0.169; break; // m
+ case 4: SdPr = 0.253; break; // m
+ case 5: SdPr = 0.380; break; // m
+ case 6: SdPr = 0.570; break; // m
+ case 7: SdPr = 0.854; break; // m
+ case 8: SdPr = 1.281; break; // m
+ case 9: SdPr = 2.375; break; // m
+ case 10: SdPr = 4.750; break; // m
+ case 11: SdPr = 9.500; break; // m
+ case 12: SdPr = 19.000; break; // m
+ case 13: SdPr = 38.000; break; // m
+ case 14: SdPr = 76.000; break; // m
+ case 15: SdPr = 152.000; break; // m
+ default: SdPr = 0.00; break;
+ }
+ SdPh = (SdPh + 1)/512.; // cycles
+ locktime /= 32.; // seconds
+ SNR += 20.; // dB-Hz
+ // NB SNR 51 means >=51, and 20 means <=20.
+
+ // break out the TrackStatus
+ // cf. Table 56, pg 199 of OEM4 manual
+ int TrackState = int( TrackStatus & 0x0000001FL);
+ int Channel = int((TrackStatus & 0x000003E0L) >> 5);
+ bool PhaseLock = bool(TrackStatus & 0x00000400L);
+ bool CodeLock = bool(TrackStatus & 0x00001000L);
+ int Frequency = int((TrackStatus & 0x00600000L) >> 21); // 0:L1 1:L2
+ // CodeType is 0CA 1P 2Pcodeless
+ int CodeType = int((TrackStatus & 0x03800000L) >> 23);
+ bool HalfCycle = bool(TrackStatus & 0x10000000L);
+
+ if(!PhaseLock || !CodeLock) continue; // data is not reliable
+
+ // correct the phase for rollovers
+ // cf. OEM4 manual pg 203
+ double ADRrolls = ((Pr/(Frequency==0 ? wl1 : wl2)) + Ph)/PhaseRollover;
+ Ph -= long(ADRrolls + (ADRrolls > 0 ? 0.5 : -0.5)) * PhaseRollover;
+
+ // consider debiasing the phase
+
+ // use track status flags to set lli on the phase
+
+ // what to do with HalfCycle?
+
+ // fill RinexObsData rod
+ sat = RinexPrn(prn,systemGPS);
+ satit = rod.obs.find(sat); // find the sat
+ if(satit == rod.obs.end()) { // not there - add this sat
+ RinexObsData::RinexObsTypeMap rotm;
+ rod.obs[sat] = rotm;
+ rod.numSvs++;
+ satit = rod.obs.find(sat); // now find it
+ }
+
+ // for convenience, reference the obs data map inside rod
+ RinexObsData::RinexObsTypeMap& obs = satit->second;
+ if(Frequency == 0) { // frequency = L1
+ rd.ssi = rd.lli = 0; rd.data = -Ph;
+ obs[RinexObsHeader::L1] = rd; // L1
+
+ rd.ssi = rd.lli = 0; rd.data = Pr;
+ if(CodeType == 0) obs[RinexObsHeader::C1] = rd; // C1
+ else obs[RinexObsHeader::P1] = rd; // P1
+
+ rd.ssi = rd.lli = 0; rd.data = Doppler;
+ obs[RinexObsHeader::D1] = rd; // D1
+
+ rd.ssi = rd.lli = 0; rd.data = SNR;
+ obs[RinexObsHeader::S1] = rd; // S1
+ }
+ else {
+ rd.ssi = rd.lli = 0; rd.data = -Ph;
+ obs[RinexObsHeader::L2] = rd; // L2
+
+ rd.ssi = rd.lli = 0; rd.data = Pr;
+ obs[RinexObsHeader::P2] = rd; // P2
+
+ rd.ssi = rd.lli = 0; rd.data = Doppler;
+ obs[RinexObsHeader::D2] = rd; // D2
+
+ rd.ssi = rd.lli = 0; rd.data = SNR;
+ obs[RinexObsHeader::S2] = rd; // S2
+ }
+
+ } // end loop over obs
+
+ } // end RANGECMP record
+
+ } // end all OEM4 obs records
+
+ return rod;
+
+ } // end NovatelData::operator RinexObsData()
+
+} // end namespace gpstk
diff --git a/trunk/apps/converters/NovatelData.hpp b/trunk/apps/converters/NovatelData.hpp
new file mode 100644
index 0000000..1767d87
--- /dev/null
+++ b/trunk/apps/converters/NovatelData.hpp
@@ -0,0 +1,183 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/converters/NovatelData.hpp#1 $"
+
+/**
+ * @file NovatelData.hpp
+ * gpstk::NovatelData - container for Novatel data, with methods to convert to Rinex
+ */
+
+#ifndef GPSTK_NOVATEL_DATA_HPP
+#define GPSTK_NOVATEL_DATA_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <ostream>
+#include "Exception.hpp"
+#include "FFStream.hpp"
+#include "RinexNavData.hpp"
+#include "RinexObsData.hpp"
+#include "NovatelStream.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup NovatelGroup */
+ //@{
+
+ /// Read Novatel binary records and parse into Rinex. Currently supports
+ /// the basic data records of OEM2 and OEM4 files only; others are yet to be
+ /// implemented.
+ /// Ref. (OEM2) 'GPSCard Command Descriptions' Manual (Rev 3)
+ /// Ref. 'OEM4 Family of Receivers,' Users Manual Volume 2 (OM-20000047 Rev 12)
+ class NovatelData : public FFData
+ {
+ public:
+ /// block types implemented here
+ enum RecType
+ {
+ Unknown=0, ///< unknown block type
+ // OEM2 records
+ RGEB, ///< observations -- not implemented
+ RGEC, ///< observations
+ POSB, ///< position solution -- not implemented
+ REPB, ///< ephemeris
+ RCSB, ///< receiver stats -- not implemented
+ // OEM4 records
+ RANGE, ///< range and phase data (synchronous)
+ RANGECMP, ///< range and phase data, compressed (synchronous)
+ RAWEPHEM ///< ephemeris data (asynchronous)
+ };
+
+ /// Names of the record types : RecNames[rectype]
+ static const std::string RecNames[];
+
+ /// Default constructor
+ NovatelData(void) : rectype(Unknown), datasize(0), headersize(0), gpsWeek(-1)
+ {}
+
+ /// Destructor
+ virtual ~NovatelData(void) {}
+
+ /// Return true if this is a valid Novatel record.
+ /// Test the validity of the record with this before further processing.
+ bool isValid(void) const;
+
+ /// This class is not header
+ virtual bool isHeader(void) const { return false; }
+
+ /// This class is data
+ virtual bool isData(void) const { return true; }
+
+ /// True if this record is an ephemeris record
+ /// Test the identity of the record with this before casting into Rinex.
+ bool isNav(void) const;
+
+ /// True if this record is observation data
+ /// Test the identity of the record with this before casting into Rinex.
+ bool isObs(void) const;
+
+ /// True if this record is auxiliary data (not Nav, not Obs)
+ /// (only one of isNav(), isObs() and isAux() is true
+ bool isAux(void) const;
+
+ /// True if this record belongs to OEM2 receivers
+ bool isOEM2(void) const;
+
+ /// True if this record belongs to OEM4 receivers
+ bool isOEM4(void) const;
+
+ /// Dump the contents of the record to the ostream \c str.
+ virtual void dump(std::ostream& str) const;
+
+ /// set the week number of the data, this is required for
+ /// OEM2 nav records that are processed before any obs records
+ void setWeek(long& gpsweek) { gpsWeek = gpsweek; }
+
+ /// cast *this into an gpstk::RinexNavData.
+ /// @throw if the record is invalid or not an ephemeris (isNav()==false)
+ operator RinexNavData() throw(gpstk::Exception);
+
+ /// cast *this into a gpstk::RinexObsData
+ /// @throw if the record is invalid or not an observation (isObs()==false)
+ operator RinexObsData() throw(gpstk::Exception);
+
+ /// public data members
+ RecType rectype; ///< record type (cf. enum RecType)
+ int recnum; ///< record number (byte 4 of record)
+ long datasize; ///< size of data in bytes
+ int headersize; ///< size of header in bytes (=3 for OEM2)
+
+ protected:
+ /// Write this record to the stream \a s.
+ virtual void reallyPutRecord(FFStream& s) const
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError);
+
+ /**
+ * Read a NovatelData record from the FFStream \c s.
+ * If an error is encountered, the function will
+ * return the stream to its original state and mark its fail-bit.
+ * @throws FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError);
+
+ private:
+ /// private data members
+ unsigned char buffer[1024]; ///< buffer for raw data
+
+ /// Reference GPS week, for OEM2, where the nav records require a GPS week,
+ /// but only the obs records have one, and then it is 10-bit.
+ /// This epoch will be used to remove the ambiguity in the 10-bit week
+ /// number of the obs records, and then will provide a week number for
+ /// for the nav records. If not set by the user, it will be set by the
+ /// system time, and then by the first obs record.
+ long gpsWeek;
+
+ }; // end class NovatelData
+
+ //@}
+
+} // end namespace gpstk
+
+#endif
diff --git a/trunk/apps/converters/NovatelStream.hpp b/trunk/apps/converters/NovatelStream.hpp
new file mode 100644
index 0000000..82731fc
--- /dev/null
+++ b/trunk/apps/converters/NovatelStream.hpp
@@ -0,0 +1,96 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/converters/NovatelStream.hpp#1 $"
+
+/**
+ * @file NovatelStream.hpp
+ * gpstk::NovatelStream - binary Novatel file stream container.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef GPSTK_NOVATELSTREAM_HPP
+#define GPSTK_NOVATELSTREAM_HPP
+
+#include <vector>
+#include <map>
+
+#include "FFBinaryStream.hpp"
+
+namespace gpstk
+{
+ /** @defgroup NovatelGroup Novatel receiver utilities */
+ //@{
+
+ /**
+ * The stream used to obtain data from a binary Novatel File.
+ * \sa NovatelData
+ */
+ class NovatelStream : public FFBinaryStream
+ {
+ public:
+ /// default constructor
+ NovatelStream() {}
+
+ /**
+ * Constructor
+ * @param fn the name of the Novatel file to be opened
+ * @param mode the ios::openmode to be used on \a fn
+ */
+ NovatelStream(const char* fn,
+ std::ios::openmode mode=std::ios::in|std::ios::binary)
+ : FFBinaryStream(fn, mode)
+ {}
+
+ /// destructor per the coding standards
+ virtual ~NovatelStream() {}
+
+ /// overrides open
+ virtual void open(const char* fn,
+ std::ios::openmode mode=std::ios::in|std::ios::binary)
+ { FFBinaryStream::open(fn, mode); }
+
+ }; // class NovatelStream
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/apps/converters/novaRinex b/trunk/apps/converters/novaRinex
new file mode 100755
index 0000000..a448cdc
Binary files /dev/null and b/trunk/apps/converters/novaRinex differ
diff --git a/trunk/apps/converters/novaRinex.cpp b/trunk/apps/converters/novaRinex.cpp
new file mode 100644
index 0000000..6edbc8d
--- /dev/null
+++ b/trunk/apps/converters/novaRinex.cpp
@@ -0,0 +1,981 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/converters/novaRinex.cpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+// novaRinex.cpp
+// TD test on Solaris : temp files, intelToHost
+
+#include <iostream>
+#include <iomanip>
+#include <time.h>
+#include <string>
+#include <map>
+
+// GPSTk
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "CommandOptionParser.hpp"
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "NovatelStream.hpp"
+#include "NovatelData.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexObsHeader.hpp"
+#include "Triple.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+// -----------------------------------------------------------------------------------
+string Prgm("novaRinex"); // name of this program
+string Vers("v1.1 2/06"); // version - keep to 10 char
+// 1.0 8/05
+// 1.1 2/06 process obs only when datasize > 4 - empty records were setting FirstEpoch
+
+// -----------------------------------------------------------------------------------
+// global data, mostly to save information to go in the final Rinex header
+// for computing the data time interval
+int ndt[9];
+double bestdt[9];
+// epochs
+DayTime CurrEpoch,PrevEpoch,FirstEpoch;
+// table of PRN/#obs
+map<RinexPrn,vector<int> > table;
+vector<int> totals;
+// Command line input
+bool help,Debug;
+DayTime BegTime,EndTime;
+string NovatelFile, RinexObsFile, RinexNavFile;
+string InputDirectory;
+// header fields
+bool FillOptionalHeader;
+Triple HDAntPos,HDAntOffset; // TD
+vector<string> HDcomments;
+vector<RinexObsHeader::RinexObsType> OutputTypes;
+long gpsWeek;
+bool debias;
+
+//------------------------------------------------------------------------------------
+// other global data
+string TempFileName; // initial output is here, before header is filled
+NovatelStream instr;
+RinexObsStream rostr;
+RinexNavStream rnstr;
+RinexObsHeader roh; // used in CommandLine
+// indexes for the std obs types in the header
+int inC1,inP1,inL1,inD1,inS1,inP2,inL2,inD2,inS2;
+
+// -----------------------------------------------------------------------------------
+// command line input
+int GetCommandInput(int argc, char **argv);
+void PreProcessArgs(const char *arg, vector<string>& Args);
+void DumpCommandLine(ostream& ofs = cout);
+
+// open input and output files
+int OpenFiles(void);
+
+// fill header initially
+void InitializeHeaders(RinexObsHeader& roh, RinexNavHeader& rnh);
+
+// update saved information for revised header
+void UpdateInformation(RinexObsData& rod);
+
+// final header update, and write out
+int UpdateHeader(string& TempFile, string& OutputFile, RinexObsHeader& rh);
+
+// final obs output - modify header and write to the real output file name
+string GetTempFileName(void);
+int FillHeaderAndReplaceFile(string& TempFile,string& OutputFile,RinexObsHeader& rh);
+
+// -----------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+ try {
+
+ int i,j,k;
+ double dt;
+
+ // get the current system time
+ time_t timer;
+ struct tm *tblock;
+ timer = time(NULL);
+ tblock = localtime(&timer);
+ //CurrEpoch.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+ // tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+ CurrEpoch.setLocalTime();
+
+ i = GetCommandInput(argc, argv);
+ if(i) return 0;
+ if(Debug) DumpCommandLine();
+
+ i = OpenFiles();
+ if(i) return i;
+
+ // declare data objects used for I/O
+ long bytesread=0; // at the end, bytesread should equal the Novatel file size.
+ NovatelData novad;
+ novad.setWeek(gpsWeek);
+
+ RinexNavHeader rnh;
+ RinexNavData rnd;
+ RinexObsData rod;
+
+ // initialize the headers (indexes inC1,etc defined here)
+ InitializeHeaders(roh, rnh);
+
+ // write headers
+ rostr << roh;
+ rnstr << rnh;
+
+ // prep for the I/O loop
+ FirstEpoch = DayTime::BEGINNING_OF_TIME;
+ for(i=0; i<9; i++) ndt[i] = -1;
+
+ // loop over data in the Novatel file
+ while(instr >> novad) {
+ if(Debug) cout << "Read " << NovatelData::RecNames[novad.rectype]
+ << " size " << novad.headersize << " + " << novad.datasize
+ << " number " << novad.recnum;
+ if(novad.isOEM2()) {
+ if(roh.recVers == string("OEM2/4")) roh.recVers = "OEM2";
+ if(Debug) cout << " OEM2";
+ }
+ if(novad.isOEM4()) {
+ if(Debug) cout << " OEM4";
+ if(roh.recVers == string("OEM2/4")) roh.recVers = "OEM4";
+ }
+ if(Debug) {
+ if(novad.isObs()) cout << " obs";
+ if(novad.isNav()) cout << " nav";
+ if(novad.isAux()) cout << " aux";
+ cout << endl;
+ }
+
+ bytesread += novad.datasize + novad.headersize;
+ if(novad.isOEM2()) bytesread += 1; // CRC byte
+ if(novad.isOEM4()) bytesread += 4; // CRC bytes
+
+ if(novad.isObs() && novad.datasize > 4) { // obs only, with data
+ rod = RinexObsData(novad); // convert
+ if(rod.time < BegTime) continue;
+ if(rod.time > EndTime) break;
+ if(Debug) rod.dump(cout); // dump
+ rostr << rod; // write out
+
+ UpdateInformation(rod);
+ }
+ else if(novad.isNav()) { // nav only
+ rnd = RinexNavData(novad); // convert
+ if(Debug) rnd.dump(cout); // dump
+ rnstr << rnd; // write out
+ }
+
+ } // end while loop over data
+
+ if(Debug) cout << "Total bytes read = " << bytesread << endl;
+
+ //instr.clear();
+ //instr.close();
+ //rostr.clear();
+ rostr.close();
+ //rnstr.clear();
+ //rnstr.close();
+
+ // now update the header and (re)write it to the file
+ return UpdateHeader(TempFileName, RinexObsFile, roh);
+
+ }
+ catch(Exception& e) {
+ cerr << "Caught exception\n" << e << endl;
+ }
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+int OpenFiles(void)
+{
+ string filename;
+ filename = InputDirectory + string("/") + NovatelFile;
+ instr.open(filename.c_str(),ios::in | ios::binary);
+ if(!instr) {
+ cerr << "Failed to open input file " << NovatelFile << endl;
+ return -1;
+ }
+ if(Debug) cout << "Opened input file " << NovatelFile << endl;
+ //instr.exceptions(fstream::failbit);
+
+ TempFileName = GetTempFileName();
+ rostr.open(TempFileName.c_str(),ios::out);
+ if(!rostr) {
+ cerr << "Failed to open temporary output file " << TempFileName << endl;
+ return -2;
+ }
+ rostr.exceptions(fstream::failbit);
+
+ rnstr.open(RinexNavFile.c_str(),ios::out);
+ if(!rnstr) {
+ cerr << "Failed to open output nav file " << RinexNavFile << endl;
+ return -3;
+ }
+ if(Debug) cout << "Opened output nav file " << RinexNavFile << endl;
+ rnstr.exceptions(fstream::failbit);
+
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+void InitializeHeaders(RinexObsHeader& roh, RinexNavHeader& rnh)
+{
+ // observation header
+ roh.version = 2.1;
+ roh.fileType = "Observation";
+ roh.system = systemGPS;
+ roh.date = CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S");
+ roh.antennaPosition = Triple(0.0,0.0,0.0);
+ roh.antennaOffset = Triple(0.0,0.0,0.0);
+ roh.wavelengthFactor[0] = 1;
+ roh.wavelengthFactor[1] = 1;
+
+ // must keep track of indexes - for use in table
+ if(Debug) cout << "Output obs types and indexes:";
+ inC1 = inP1 = inL1 = inD1 = inS1 = inP2 = inL2 = inD2 = inS2 = -1;
+ for(int i=0; i<OutputTypes.size(); i++) {
+ if(OutputTypes[i] == RinexObsHeader::C1) inC1=i;
+ if(OutputTypes[i] == RinexObsHeader::P1) inP1=i;
+ if(OutputTypes[i] == RinexObsHeader::L1) inL1=i;
+ if(OutputTypes[i] == RinexObsHeader::D1) inD1=i;
+ if(OutputTypes[i] == RinexObsHeader::S1) inS1=i;
+ if(OutputTypes[i] == RinexObsHeader::P2) inP2=i;
+ if(OutputTypes[i] == RinexObsHeader::L2) inL2=i;
+ if(OutputTypes[i] == RinexObsHeader::D2) inD2=i;
+ if(OutputTypes[i] == RinexObsHeader::S2) inS2=i;
+ if(Debug)
+ cout << " " << RinexObsHeader::convertObsType(OutputTypes[i]) << ":" << i;
+ }
+ if(Debug) cout << endl;
+ roh.obsTypeList = OutputTypes;
+
+ roh.interval = 10.; // defined later by data
+ roh.firstObs = CurrEpoch; // defined later by data
+ roh.firstSystem = systemGPS;
+ roh.lastObs = CurrEpoch; // defined later by data
+ //roh.commentList.push_back("Created by GPSTK program " + Prgm + " " + Vers
+ //+ CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S"));
+
+ roh.valid = RinexObsHeader::allValid21;
+ roh.valid |= RinexObsHeader::commentValid;
+
+ // navigation header
+ rnh.version = 2.1;
+ rnh.fileType = "Observation";
+ rnh.fileProgram = roh.fileProgram;
+ rnh.date = CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S");
+ //rnh.commentList.push_back("Created by GPSTK program " + Prgm + " " + Vers
+ //+ CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S"));
+
+ rnh.valid = RinexNavHeader::allValid21;
+ rnh.valid |= RinexNavHeader::commentValid;
+}
+
+//------------------------------------------------------------------------------------
+void UpdateInformation(RinexObsData& rod)
+{
+ int i,j,k;
+ double dt;
+ RinexPrn sat;
+
+ if(fabs(FirstEpoch - DayTime::BEGINNING_OF_TIME) < 1) {
+ PrevEpoch = FirstEpoch = rod.time;
+ if(Debug) cout << "Set First Epoch to "
+ << rod.time.printf("%Y/%m/%d %H:%02M:%6.3f = %F/%10.3g") << endl;
+ }
+ else
+ PrevEpoch = CurrEpoch;
+ CurrEpoch = rod.time;
+
+ // compute the most likely value of dt, the time spacing of the data
+ dt=CurrEpoch-PrevEpoch;
+ if(dt > 0.0) {
+ for(i=0; i<9; i++) {
+ if(ndt[i] <= 0) { bestdt[i]=dt; ndt[i]=1; break; }
+ if(fabs(dt-bestdt[i]) < 0.0001) { ndt[i]++; break; }
+ if(i == 8) {
+ k = 0;
+ int nleast=ndt[k];
+ for(j=1; j<9; j++) if(ndt[j] <= nleast) {
+ k=j; nleast=ndt[j];
+ }
+ ndt[k]=1; bestdt[k]=dt;
+ }
+ }
+ }
+
+ RinexObsData::RinexPrnMap::iterator jt;
+ map<RinexPrn,vector<int> >::iterator it;
+ for(jt=rod.obs.begin(); jt != rod.obs.end(); jt++) {
+ // find this satellite in the table
+ sat = jt->first;
+ if((it=table.find(sat)) == table.end()) {
+ table[sat] = vector<int>(OutputTypes.size(),0);
+ it = table.find(sat);
+ }
+
+ // increment counter for each obstype found
+ if(inC1 >= 0 &&
+ rod.obs[sat][RinexObsHeader::C1].data != 0.0) {
+ table[sat][inC1]++;
+ totals[inC1]++;
+ }
+ if(inP1 >= 0 &&
+ rod.obs[sat][RinexObsHeader::P1].data != 0.0) {
+ table[sat][inP1]++;
+ totals[inP1]++;
+ }
+ if(inL1 >= 0 &&
+ rod.obs[sat][RinexObsHeader::L1].data != 0.0) {
+ table[sat][inL1]++;
+ totals[inL1]++;
+ }
+ if(inD1 >= 0 &&
+ rod.obs[sat][RinexObsHeader::D1].data != 0.0) {
+ table[sat][inD1]++;
+ totals[inD1]++;
+ }
+ if(inS1 >= 0 &&
+ rod.obs[sat][RinexObsHeader::S1].data != 0.0) {
+ table[sat][inS1]++;
+ totals[inS1]++;
+ }
+ if(inP2 >= 0 &&
+ rod.obs[sat][RinexObsHeader::P2].data != 0.0) {
+ table[sat][inP2]++;
+ totals[inP2]++;
+ }
+ if(inL2 >= 0 &&
+ rod.obs[sat][RinexObsHeader::L2].data != 0.0) {
+ table[sat][inL2]++;
+ totals[inL2]++;
+ }
+ if(inD2 >= 0 &&
+ rod.obs[sat][RinexObsHeader::D2].data != 0.0) {
+ table[sat][inD2]++;
+ totals[inD2]++;
+ }
+ if(inS2 >= 0 &&
+ rod.obs[sat][RinexObsHeader::S2].data != 0.0) {
+ table[sat][inS2]++;
+ totals[inS2]++;
+ }
+ }
+}
+
+//------------------------------------------------------------------------------------
+string GetTempFileName(void)
+{
+#ifdef _MSC_VER
+ char newname[L_tmpnam];
+ if(!tmpnam(newname)) {
+#else
+ char newname[]="TempnovaRinex.XXXXXX";
+ if(mkstemp(newname)==-1) {
+#endif
+ return string("");
+ }
+ return string(newname);
+}
+
+//------------------------------------------------------------------------------------
+int UpdateHeader(string& TempFile, string& OutputFile, RinexObsHeader& rh)
+{
+ int i,j;
+
+ // update header
+ if(FillOptionalHeader) {
+ for(i=1,j=0; i<9; i++) if(ndt[i]>ndt[j]) j=i;
+ rh.interval = bestdt[j];
+ rh.valid |= RinexObsHeader::intervalValid;
+ rh.firstObs = FirstEpoch;
+ rh.lastObs = CurrEpoch;
+ rh.valid |= RinexObsHeader::lastTimeValid;
+ }
+
+ // edit out obs types that have no data
+ vector<RinexObsHeader::RinexObsType>::iterator it;
+ vector<int> indexes; // indexes is a list of 'good' indexes into table
+ for(i=0, it=rh.obsTypeList.begin(); it != rh.obsTypeList.end(); i++) {
+ if(totals[i] <= 0) {
+ // no data for this obs type
+ if(Debug) cout << " Obs type " << RinexObsHeader::convertObsType(*it)
+ << " had no data - delete" << endl;
+ // delete from header
+ rh.obsTypeList.erase(it);
+ }
+ else {
+ indexes.push_back(i); // this is an index with data
+ it++;
+ }
+ }
+ // now edit the table
+ map<RinexPrn,vector<int> >::iterator jt;
+ for(jt=table.begin(); jt != table.end(); jt++) { // for each sat..
+ for(j=0,i=0; i<indexes.size(); i++,j++)
+ if(j != indexes[i]) jt->second[j] = jt->second[indexes[i]];
+ jt->second.resize(indexes.size());
+ }
+
+
+ // add the PRN/obs table
+ if(FillOptionalHeader && table.size() > 0) {
+ rh.numSVs = table.size();
+ rh.valid |= RinexObsHeader::numSatsValid;
+ rh.numObsForPrn.clear();
+ rh.numObsForPrn = table;
+ rh.valid |= RinexObsHeader::prnObsValid;
+ }
+
+ // re-open the file and replace the header
+ RinexObsHeader rhjunk;
+ RinexObsStream InAgain(TempFile.c_str());
+ RinexObsStream ROutStr(OutputFile.c_str(), ios::out);
+ InAgain.exceptions(fstream::failbit);
+ ROutStr.exceptions(fstream::failbit);
+
+ if(Debug) cout << "Opened " << OutputFile << " for output." << endl;
+ InAgain >> rhjunk;
+ ROutStr << rh;
+
+ RinexObsData robs;
+ while(InAgain >> robs)
+ ROutStr << robs;
+
+ //InAgain.clear();
+ InAgain.close();
+ //ROutStr.clear();
+ ROutStr.close();
+
+ // delete the temporary
+ if(remove(TempFile.c_str()) != 0) {
+ cerr << "Error: Could not remove existing temp file: " << TempFile << endl;
+ return -1;
+ }
+ else if(Debug) cout << "Deleted temporary file " << TempFile << endl;
+
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+int GetCommandInput(int argc, char **argv)
+{
+try {
+ int i,j;
+ vector<string> values;
+
+ // --------------------------------------------------------------------------------
+ // set all the defaults
+ Debug = help = false;
+ BegTime = DayTime::BEGINNING_OF_TIME;
+ EndTime = DayTime::END_OF_TIME;
+ //NovatelFile,
+ RinexObsFile = string("RnovaRinex.obs");
+ RinexNavFile = string("RnovaRinex.nav");
+ InputDirectory = string(".");
+ // header fields
+ FillOptionalHeader = true;
+ roh.fileProgram = Prgm+" "+Vers;
+ roh.fileAgency = string("ARL:UT/GPSTk");
+ roh.observer = string(" ");
+ roh.agency = string("ARL:UT/GPSTk");
+ roh.markerName = string(" ");
+ roh.markerNumber = string(" ");
+ roh.recNo = " ";
+ roh.recType = "Novatel";
+ roh.recVers = "OEM2/4"; // defined later by data
+ roh.antNo = " ";
+ roh.antType = " ";
+ //string HDRxNo,HDRxType,HDRxVer,HDAntNo,HDAntType; // TD
+ //vector<string> HDcomments; // none
+ //vector<RinexObsHeader::RinexObsType> OutputTypes; // define later
+ gpsWeek = -1;
+ debias = false;
+
+ // --------------------------------------------------------------------------------
+ // Define the options
+
+ // required options:
+ RequiredOption dashinput(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"input"," --input <file> Novatel binary input file");
+ dashinput.setMaxCount(1);
+
+ // optional arguments:
+ // this is here only so it will show up in the help msg...
+ CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+ 'f',""," -f<file> Name of file containing more options"
+ " ('#' to EOL : comment)");
+
+ CommandOption dashdir(CommandOption::hasArgument, CommandOption::stdType,0,"dir",
+ " --dir <dir> Directory in which to find input file (defaults to ./)");
+ dashdir.setMaxCount(1);
+
+ CommandOption dashobs(CommandOption::hasArgument, CommandOption::stdType,0,"obs",
+ " --obs <file> Rinex observation output file (RnovaRinex.obs)");
+ dashobs.setMaxCount(1);
+
+ CommandOption dashnav(CommandOption::hasArgument, CommandOption::stdType,0,"nav",
+ " --nav <file> Rinex navigation output file (RnovaRinex.nav)");
+ dashnav.setMaxCount(1);
+
+ CommandOption dashNHF(CommandOption::hasArgument, CommandOption::stdType,0,
+ "noHDopt", "\nOutput Rinex header fields:\n --noHDopt If present, "
+ "do not fill optional records in the output Rinex header");
+ dashNHF.setMaxCount(1);
+
+ CommandOption dashHDp(CommandOption::hasArgument, CommandOption::stdType,0,"HDp",
+ " --HDp <program> Set output Rinex header 'program' field ('"
+ + roh.fileProgram + "')");
+ dashHDp.setMaxCount(1);
+
+ CommandOption dashHDr(CommandOption::hasArgument, CommandOption::stdType,0,"HDr",
+ " --HDr <run_by> Set output Rinex header 'run by' field ('"
+ + roh.fileAgency + "')");
+ dashHDr.setMaxCount(1);
+
+ CommandOption dashHDo(CommandOption::hasArgument, CommandOption::stdType,0,"HDo",
+ " --HDo <obser> Set output Rinex header 'observer' field ('"
+ + roh.observer + "')");
+ dashHDo.setMaxCount(1);
+
+ CommandOption dashHDa(CommandOption::hasArgument, CommandOption::stdType,0,"HDa",
+ " --HDa <agency> Set output Rinex header 'agency' field ('"
+ + roh.agency + "')");
+ dashHDa.setMaxCount(1);
+
+ CommandOption dashHDm(CommandOption::hasArgument, CommandOption::stdType,0,"HDm",
+ " --HDm <marker> Set output Rinex header 'marker' field ('"
+ + roh.markerName + "')");
+ dashHDm.setMaxCount(1);
+
+ CommandOption dashHDn(CommandOption::hasArgument, CommandOption::stdType,0,"HDn",
+ " --HDn <number> Set output Rinex header 'number' field ('"
+ + roh.markerNumber + "')");
+ dashHDn.setMaxCount(1);
+
+ CommandOption dashHDrn(CommandOption::hasArgument, CommandOption::stdType,0,"HDrn",
+ " --HDrn <number> Set output Rinex header 'Rx number' field ('"
+ + roh.recNo + "')");
+ dashHDrn.setMaxCount(1);
+
+ CommandOption dashHDrt(CommandOption::hasArgument, CommandOption::stdType,0,"HDrt",
+ " --HDrt <type> Set output Rinex header 'Rx type' field ('"
+ + roh.recType + "')");
+ dashHDrt.setMaxCount(1);
+
+ CommandOption dashHDrv(CommandOption::hasArgument, CommandOption::stdType,0,"HDrv",
+ " --HDrv <vers> Set output Rinex header 'Rx version' field ('"
+ + roh.recVers + "')");
+ dashHDrv.setMaxCount(1);
+
+ CommandOption dashHDan(CommandOption::hasArgument, CommandOption::stdType,0,"HDan",
+ " --HDan <number> Set output Rinex header 'antenna number' field ('"
+ + roh.antNo + "')");
+ dashHDan.setMaxCount(1);
+
+ CommandOption dashHDat(CommandOption::hasArgument, CommandOption::stdType,0,"HDat",
+ " --HDat <type> Set output Rinex header 'antenna type' field ('"
+ + roh.antType + "')");
+ dashHDat.setMaxCount(1);
+
+ CommandOption dashHDc(CommandOption::hasArgument, CommandOption::stdType,0,"HDc",
+ " --HDc <comment> Add comment to output Rinex header (>1 allowed).");
+ //dashHDc.setMaxCount(1);
+
+ CommandOption dashobstype(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"obstype","\nOutput Rinex observation data:\n"
+ " --obstype <OT> Output this Rinex (standard) obs type (i.e. <OT> is one of\n"
+ " L1,L2,C1,P1,P2,D1,D2,S1,or S2); repeat for each type.\n"
+ " NB default is ALL std. types that have data.");
+ //dashobstype.setMaxCount(1);
+
+
+ // times
+ CommandOptionWithTimeArg dasheb(0,"begin","%Y,%m,%d,%H,%M,%f",
+ "\nOutput configuration:\n --begin <arg> Start time, arg is of the form "
+ "YYYY,MM,DD,HH,Min,Sec");
+ CommandOptionWithTimeArg dashgb(0,"beginGPS","%F,%g",
+ " --beginGPS <arg> Start time, arg is of the form GPSweek,GPSsow");
+
+ CommandOptionWithTimeArg dashee(0,"end","%Y,%m,%d,%H,%M,%f",
+ " --end <arg> End time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+ CommandOptionWithTimeArg dashge(0,"endGPS","%F,%g",
+ " --endGPS <arg> End time, arg is of the form GPSweek,GPSsow");
+
+ // allow ONLY one start time (use startmutex(true) if one is required)
+ CommandOptionMutex startmutex(false);
+ startmutex.addOption(&dasheb);
+ startmutex.addOption(&dashgb);
+ CommandOptionMutex stopmutex(false);
+ stopmutex.addOption(&dashee);
+ stopmutex.addOption(&dashge);
+
+ CommandOption dashweek(CommandOption::hasArgument, CommandOption::stdType,0,"week",
+ " --week <week> GPS Week number of this data, NB: this is for OEM2;\n"
+ " this command serves two functions, resolving the ambiguity\n"
+ " in the 10-bit week (default uses --begin, --end, or the\n"
+ " current system time) and ensuring that ephemeris records\n"
+ " that precede any obs records are not lost.");
+ dashweek.setMaxCount(1);
+
+ CommandOption dashdebias(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"debias", " --debias Remove an initial bias from the phase");
+ dashdebias.setMaxCount(1);
+
+ CommandOption dashhelp(CommandOption::hasArgument, CommandOption::stdType,
+ 'h',"help", " [-h|--help] print this message and quit");
+ dashhelp.setMaxCount(1);
+
+ CommandOption dashDebug(CommandOption::hasArgument, CommandOption::stdType,
+ 'd',"debug", " [-d|--debug] print extended output info");
+ dashDebug.setMaxCount(1);
+
+
+ // ... other options
+ CommandOptionRest Rest("");
+
+ // --------------------------------------------------------------------------------
+ // Define the parser here, after the options -- this is the 'prgm description'
+ CommandOptionParser Par(
+" Prgm " + Prgm + " (" + Vers + ") will open and read a binary Novatel file\n"
+" (OEM2 and OEM4 receivers are supported), and convert the data to Rinex format\n"
+" observation and navigation files. The Rinex header is filled using user input\n"
+" (see below), and optional records are filled. Input is on the command line,\n"
+" or of the same format in a file (-f<file>).\n");
+
+ // parse the command line
+ // allow user to put all options in a file
+ // PreProcessArgs pulls out help and Debug
+ vector<string> Args;
+ for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args);
+ argc = Args.size();
+ if(argc==0)
+ help = true;
+
+ // pass the rest
+ argc = Args.size()+1;
+ char **CArgs=new char*[argc];
+ if(!CArgs) { cerr << "Failed to allocate CArgs\n"; return -1; }
+ CArgs[0] = argv[0];
+ for(j=1; j<argc; j++) {
+ CArgs[j] = new char[Args[j-1].size()+1];
+ if(!CArgs[j]) { cerr << "Failed to allocate CArgs[j]\n"; return -1; }
+ strcpy(CArgs[j],Args[j-1].c_str());
+ }
+
+ if(Debug) {
+ cout << "Argument list passed to parser:\n";
+ for(j=0; j<argc; j++) cout << j << " " << CArgs[j] << endl;
+ }
+
+ Par.parseOptions(argc, CArgs);
+ for(j=1; j<argc; j++) delete[] CArgs[j];
+ delete[] CArgs;
+
+ // if help, print usage
+ if(help) {
+ Par.displayUsage(cout,false);
+ cout << endl;
+ }
+
+ // check for errors on the command line
+ if (Par.hasErrors())
+ {
+ cerr << "\nErrors found in command line input:\n";
+ Par.dumpErrors(cerr);
+ cerr << "...end of Errors\n\n";
+ help = true;
+ }
+
+ if(help && argc > 1)
+ cout << endl << "--------- parsed input:" << endl;
+
+ // --------------------------------------------------------------------------------
+ // pull out the parsed input
+
+ // these already parsed by PreProcessArgs
+ //if(dashhelp.getCount()) help
+ //if(dashDebug.getCount()) Debug
+
+ if(dashinput.getCount()) {
+ values = dashinput.getValue();
+ if(help) cout << " Input Novatel file name " << values[0] << endl;
+ NovatelFile = values[0];
+ }
+ if(dashdir.getCount()) {
+ values = dashdir.getValue();
+ if(help) cout << " Input Novatel file directory " << values[0] << endl;
+ InputDirectory = values[0];
+ }
+ if(dashobs.getCount()) {
+ values = dashobs.getValue();
+ if(help) cout << " Input Rinex obs file name " << values[0] << endl;
+ RinexObsFile = values[0];
+ }
+ if(dashnav.getCount()) {
+ values = dashnav.getValue();
+ if(help) cout << " Input Rinex nav file name " << values[0] << endl;
+ RinexNavFile = values[0];
+ }
+ if(dashNHF.getCount()) {
+ values = dashNHF.getValue();
+ if(help) cout << " Turn off filling of optional header" << endl;
+ FillOptionalHeader = false;
+ }
+ if(dashHDp.getCount()) {
+ values = dashHDp.getValue();
+ if(help) cout << " Input header program name " << values[0] << endl;
+ roh.fileProgram = values[0];
+ }
+ if(dashHDr.getCount()) {
+ values = dashHDr.getValue();
+ if(help) cout << " Input header 'run by' field " << values[0] << endl;
+ roh.fileAgency = values[0];
+ }
+ if(dashHDo.getCount()) {
+ values = dashHDo.getValue();
+ if(help) cout << " Input header observer field " << values[0] << endl;
+ roh.observer = values[0];
+ }
+ if(dashHDa.getCount()) {
+ values = dashHDa.getValue();
+ if(help) cout << " Input header agency field " << values[0] << endl;
+ roh.agency = values[0];
+ }
+ if(dashHDm.getCount()) {
+ values = dashHDm.getValue();
+ if(help) cout << " Input header marker field " << values[0] << endl;
+ roh.markerName = values[0];
+ }
+ if(dashHDn.getCount()) {
+ values = dashHDn.getValue();
+ if(help) cout << " Input header marker name " << values[0] << endl;
+ roh.markerNumber = values[0];
+ }
+ if(dashHDrn.getCount()) {
+ values = dashHDrn.getValue();
+ if(help) cout << " Input header receiver number " << values[0] << endl;
+ roh.recNo = values[0];
+ }
+ if(dashHDrt.getCount()) {
+ values = dashHDrt.getValue();
+ if(help) cout << " Input header receiver type " << values[0] << endl;
+ roh.recType = values[0];
+ }
+ if(dashHDrv.getCount()) {
+ values = dashHDrv.getValue();
+ if(help) cout << " Input header receiver version " << values[0] << endl;
+ roh.recVers = values[0];
+ }
+ if(dashHDan.getCount()) {
+ values = dashHDan.getValue();
+ if(help) cout << " Input header antenna number " << values[0] << endl;
+ roh.antNo = values[0];
+ }
+ if(dashHDat.getCount()) {
+ values = dashHDat.getValue();
+ if(help) cout << " Input header antenna type " << values[0] << endl;
+ roh.antType = values[0];
+ }
+ if(dashHDc.getCount()) {
+ values = dashHDc.getValue();
+ if(help) cout << " Input comment for header " << values[0] << endl;
+ NovatelFile = values[0];
+ }
+ if(dashobstype.getCount()) {
+ values = dashobstype.getValue();
+ for(i=0; i<values.size(); i++) {
+ RinexObsHeader::RinexObsType rot;
+ rot = RinexObsHeader::convertObsType(values[i]);
+ OutputTypes.push_back(rot);
+ if(help) cout << " Input output Rinex obs type " << values[i] << endl;
+ }
+ }
+ if(dasheb.getCount()) {
+ values = dasheb.getValue();
+ BegTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+ if(help) cout << " Input begin time " << values[0] << " = " << BegTime << endl;
+ if(gpsWeek == -1) gpsWeek = BegTime.GPSfullweek();
+ }
+ if(dashgb.getCount()) {
+ values = dashgb.getValue();
+ BegTime.setToString(values[0], "%F,%g");
+ if(help) cout << " Input begin time " << values[0] << " = " << BegTime << endl;
+ if(gpsWeek == -1) gpsWeek = BegTime.GPSfullweek();
+ }
+ if(dashee.getCount()) {
+ values = dashee.getValue();
+ EndTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+ if(help) cout << " Input end time " << values[0] << " = " << EndTime << endl;
+ if(gpsWeek == -1) gpsWeek = EndTime.GPSfullweek();
+ }
+ if(dashge.getCount()) {
+ values = dashge.getValue();
+ EndTime.setToString(values[0], "%F,%g");
+ if(help) cout << " Input end time " << values[0] << " = " << EndTime << endl;
+ if(gpsWeek == -1) gpsWeek = EndTime.GPSfullweek();
+ }
+ if(dashweek.getCount()) {
+ values = dashweek.getValue();
+ gpsWeek = StringUtils::asInt(values[0]);
+ }
+ if(dashdebias.getCount()) {
+ values = dashdebias.getValue();
+ if(help) cout << " Turn on debiasing of the phase " << values[0] << endl;
+ debias = true;
+ }
+ //if(dashhelp.getCount()) {
+ // help = true;
+ //}
+ //if(dashDebug.getCount()) {
+ // Debug = true;
+ //}
+
+ // process input
+ if(gpsWeek == -1) gpsWeek = CurrEpoch.GPSfullweek();
+ if(OutputTypes.size() == 0) { // fill with the standard types
+ OutputTypes.push_back(RinexObsHeader::C1);
+ OutputTypes.push_back(RinexObsHeader::P1);
+ OutputTypes.push_back(RinexObsHeader::L1);
+ OutputTypes.push_back(RinexObsHeader::D1);
+ OutputTypes.push_back(RinexObsHeader::S1);
+ OutputTypes.push_back(RinexObsHeader::P2);
+ OutputTypes.push_back(RinexObsHeader::L2);
+ OutputTypes.push_back(RinexObsHeader::D2);
+ OutputTypes.push_back(RinexObsHeader::S2);
+ }
+ // table will be initialized inside the loop
+ totals = vector<int>(OutputTypes.size(),0);
+
+ if(help) return 1;
+ return 0;
+}
+catch(Exception& e) { GPSTK_RETHROW(e); }
+}
+
+//------------------------------------------------------------------------------------
+void PreProcessArgs(const char *arg, vector<string>& Args)
+{
+try {
+ if(arg[0]=='-' && arg[1]=='f') {
+ string filename(arg);
+ filename.erase(0,2);
+ if(Debug) cout << "Found a file of options: " << filename << endl;
+ ifstream infile(filename.c_str());
+ if(!infile) {
+ cerr << "Error: could not open options file "
+ << filename << endl;
+ }
+ else {
+ char c;
+ string buffer;
+ while( infile >> buffer) {
+ if(buffer[0] == '#') { // skip to end of line
+ while(infile.get(c)) { if(c=='\n') break; }
+ }
+ else PreProcessArgs(buffer.c_str(),Args);
+ }
+ }
+ }
+ else if((arg[0]=='-' && arg[1]=='h') || string(arg)==string("--help")) {
+ help = true;
+ if(Debug) cout << "Found the help switch" << endl;
+ }
+ else if((arg[0]=='-' && arg[1]=='d') || string(arg)==string("--debug")) {
+ Debug = true;
+ cout << "Found the debug switch" << endl;
+ }
+ else Args.push_back(arg);
+}
+catch(Exception& e) { GPSTK_RETHROW(e); }
+}
+
+//------------------------------------------------------------------------------------
+void DumpCommandLine(ostream& ofs)
+{
+try {
+ int i;
+
+ ofs << "Summary of command line input:" << endl;
+ ofs << " Debug is " << (Debug ? "on":"off") << endl;
+ if(!InputDirectory.empty()) ofs << " Path for input Novatel file is "
+ << InputDirectory << endl;
+ ofs << " Input Novatel file is: " << NovatelFile << endl;
+ ofs << " Output Rinex obs file is: " << RinexObsFile << endl;
+ ofs << " Output Rinex nav file is: " << RinexNavFile << endl;
+ ofs << " --------- Header information:\n";
+ if(!FillOptionalHeader) ofs << " Do not";
+ ofs << " Fill optional records in header" << endl;
+ ofs << " Header program: " << roh.fileProgram << endl;
+ ofs << " Header run by: " << roh.fileAgency << endl;
+ ofs << " Header observer: " << roh.observer << endl;
+ ofs << " Header agency: " << roh.agency << endl;
+ ofs << " Header marker name: " << roh.markerName << endl;
+ ofs << " Header marker number: " << roh.markerNumber << endl;
+ if(HDcomments.size() > 0) {
+ ofs << " Header comments:\n";
+ for(i=0; i<HDcomments.size(); i++) ofs << HDcomments[i] << endl;
+ }
+ ofs << " Output Rinex observation types (if found in the data):\n";
+ for(i=0; i<OutputTypes.size(); i++)
+ ofs << " " << RinexObsHeader::convertObsType(OutputTypes[i]);
+ ofs << endl;
+ if(BegTime > DayTime::BEGINNING_OF_TIME) ofs << " Begin time is "
+ << BegTime.printf("%Y/%m/%d %H:%02M:%6.3f = %F/%10.3g") << endl;
+ if(EndTime < DayTime::END_OF_TIME) ofs << " End time is "
+ << EndTime.printf("%Y/%m/%d %H:%02M:%6.3f = %F/%10.3g") << endl;
+ ofs << " Debiasing of phase is turned " << (debias ? "on" : "off") << endl;
+
+ ofs << "End of command line input summary." << endl;
+}
+catch(Exception& e) { GPSTK_RETHROW(e); }
+}
+
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/cycleslips/DiscCorr.cpp b/trunk/apps/cycleslips/DiscCorr.cpp
new file mode 100644
index 0000000..f1428c6
--- /dev/null
+++ b/trunk/apps/cycleslips/DiscCorr.cpp
@@ -0,0 +1,2902 @@
+// DiscCorr.cpp GPS carrier phase discontinuity correction. Given arrays containing
+// dual-frequency pseudorange and phase, detect discontinuities in the phase
+// and if possible estimate their size. Output is in the form of Rinex
+// editing commands (see PRGM RinexEdit) that delete bad data and remove the
+// discontinuities.
+//------------------------------------------------------------------------------------
+// DiscCorr is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/cycleslips/DiscCorr.cpp#4 $"
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+/**
+ * @file DiscCorr.cpp
+ * Discontinuity correction of GPS carrier phase data.
+ */
+
+//------------------------------------------------------------------------------------
+// The algorithm used in this code is based on the paper by Geoffrey Blewitt:
+// "An Automatic Editing Algorithm for GPS Data", Geophysical Research Letters,
+// Vol. 17, No. 3, pp 199-202, 1990.
+//
+// The algorithm requires input of dual frequency pseudorange and carrier phase
+// data (assumed expressed in units of meters and cycles, respectively),
+// usually for an entire satellite pass; these are called P1,P2,L1 & L2.
+// (The input - see class SVPass - consists of 4 parallel double arrays named
+// P1,P2,L1,L2, plus a parallel integer array Flag.)
+//
+// Obvious outliers and bad points are marked, and then linear combinations of
+// these four data are formed, as follows.
+// L1 -> L1
+// L2 -> L1-L2 = geometry-free phase or GFP.
+// GFP = [(f1/f2)^2-1]*I + wl1*N1 - wl2*N2
+// GFP is also called the ionospheric phase, b/c it ~= ionosphere + bias
+//
+// Also,
+// Let WLP = (f1*L1-f2*L2)/(f1-f2) (the wide lane phase)
+// and NLR = (f1*P1+f2*P2)/(f1+f2) (the narrow lane range), then
+// P1 -> WLP-NLR = the Wide-Lane Phase minus the Narrow-Lane Range, sometimes
+// called (sic) 'wide-lane range minus phase' or
+// the Melbourne-Wubbena combination;
+// Here it is 'wide-lane bias' or WLB because WLP-NLR = wlwl*NWL,
+// where NWL = N1 - N2;
+// i.e. it behaves as if it were merely a carrier of a different frequency.
+//
+// P2 -> P2-P1 = the negative of the geometry-free range or -GFR
+// -GFR = [(f1/f2)^2-1]*I
+// Note that GFP-GFR does NOT have the 'new carrier' property that WLB does,
+// since GFP-GFR = wl1*N1-wl2*N2, and this combo cannot be set equal to wlX*NX.
+//
+// The following definitions are used above and in the code:
+// I = ionospheric delay (meters) on L1.
+// f0 = GPS fundamental frequency = 10.23MHz
+// f1 = frequency multiplier for L1 = 154
+// f2 = frequency multiplier for L2 = 120
+// c = speed of light = 299792458.0 m/s
+// wl1 = wavelength of L1 = f1*f0/c = 19.0cm
+// wl2 = wavelength of L2 = f2*f0/c = 24.4cm
+// wlwl= wavelength of WL = 86.2cm
+// wl21= wl2-wl1 = 5.4cm
+// N1 and N2 are the biases on the phases L1 and L2;
+// i.e. ideally P1 = wl1*(L1+N1) and P2 = wl2*(L2+N2).
+// NWL = N1-N2, and note that GFP+GFR = wl1*N1-wl2*N2 = wl2*NWL-wl21*N1
+//
+// [In practice here N1, N2 and NWL will refer to CHANGES, or 'slips', in these
+// biases, rather than the biases themselves.]
+//
+//
+// The algorithm takes the approach of resolving the wide lane bias, then
+// correcting the GFP for NWL and then solving for N1 using the GFP. This is
+// done in four steps.
+//
+// 1. Detect slips (changes in bias) in the wide-lane bias.
+// This is done by computing statistics on the WL bias, using two sliding
+// windows of fixed width, one including the future of the point and the
+// point itself, the other containing the past of the point. The difference
+// in averages in these two windows is compared with the total variance.
+// By carefully examining the test and the standard deviations of the two
+// windows, we can mark outliers and identify slips.
+// After detecting large slips this way, the dual-sliding-window-statistics
+// process is repeated with a much larger window width, in order to find
+// small slips.
+// At the end of this part, the WL data is divided into continuous segments,
+// each with statistics (average and std dev) computed.
+//
+// 2. Estimate ('fix') the wide-lane bias, and correct the GFP for WL slips.
+// The estimate is simply the difference of the average WLbias in the two
+// adjoining segments on either side of the slip. If successful, the first
+// point in the future of the slip is marked with a flag 'WL fixed', and
+// the estimated NWL slip is used to correct the GFP.
+//
+// 3. Detect slips in the GFP (i.e. changes in N1, with effective wl=5.4cm).
+// GFP now == [(f1/f2)^2-1]*I - wl21*N1, where wl21=5.4cm. To detect slips
+// in the GFP, a polynomial is fit to the GF range and added (note signs)
+// to the GFP. This has the effect of removing a smoothed estimate of the
+// ionospheric term I that is common to both GFP and GFR. The degree of the
+// polynomial fit is determined by the number of points in the segment and
+// the size of the gap between segments; it can also be increased by user
+// input (parameter GFPolynomMaxDeg). The GF residual [=GFP+Fit(GFR)] is
+// scanned for discontinuities; outliers may be rejected and new slips may
+// be found. New (GF only) slips are marked with a 'GF detected' flag, and
+// old (WL) slips are also tested and marked when a GF slip is found.
+// At the end of this step, the data is cleaned (bad points are marked)
+// and divided into segments, with the beginning of each segment (a good pt)
+// marked with either 'WL detected' or 'WL fixed' and/or 'GF detected'.
+//
+// Note that slips in the WL only, or in the GF only, are the same as slips
+// in both WL and GF, they simply happen to have particular values of N1
+// and/or N2. Specifically, if N1==N2 then NWL=0 and there is no slip in the
+// WLbias; and if N1==0, NWL = -N2 and there is no GF slip.
+//
+// 4. Fix slips in the GFP.
+// Slips in the GFP are estimated by fitting a polynomial to the GFP data on
+// each side of the detected slip. The RMS residual of fit on both sides of
+// the slip are used to judge whether the estimation is acceptable. If it is
+// not, the number of data points used in the fit is first halved, then
+// doubled, and the fix is attempted again.
+//
+//------------------------------------------------------------------------------------
+// A note about Debug. Debug is an int, set using the Debug,<n> DC command. The
+// value of <n> determines how much output there is, as follows.
+// n output: this plus everything at smaller n
+// ---- ----------------------------------------------------
+// 0 nothing
+// 1 Summary of input
+// 2 High level actions, change in GDC config, results summary, timing
+// 3 Actual results (Rinex Editor commands), stats on SVPass smoothing
+// 4 All SVPass information - defined, filled, processed, done, etc.
+// 5 List of GDC segments, dump data: before,linear combo, WL, GF, after
+// processing.
+// 6 Dump WL statistical, and GF range fit, data
+// 7 Editing actions, outliers, GFR fit and slip fixing stats and decisions.
+//
+// Debug > 2 is pretty expensive (in time) because the iostreams library is slow.
+//------------------------------------------------------------------------------------
+// TD
+// GFSlipFix should use n *good* points on either side of slip, not just
+// n values of the index - there are cases where you get too few points. Could
+// this be solved by marking as bad isolated points near the slip? - gap size?
+// ** Real data shows trends in the WLB, enough so that the avereage of a large
+// segment can be influenced adversely, giving the wrong WL slip. Consider
+// using a smaller portion of large segments to compute the avereage in WLSFix.
+// Or perhaps look at sigma and decrease the window width when sig is large -
+// no, this seems to be too insensitive - perhaps fit a slope.
+// Gap size -- it could be much larger, especially at low latitudes.
+// Are the DumpSegment data for WLL WLS and WLF the same?
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+#include "MathBase.hpp"
+#include "StringUtils.hpp"
+#include "PolyFit.hpp"
+#include "DiscCorr.hpp"
+#include "Stats.hpp"
+#include "icd_200_constants.hpp" // PI,C_GPS_M,OSC_FREQ,L1_MULT,L2_MULT
+
+#include <string>
+#include <iostream>
+#include <sstream>
+#include <vector>
+#include <list>
+#include <algorithm>
+
+using namespace std;
+using namespace gpstk;
+
+//------------------------------------------------------------------------------------
+//string GDCVersion("4.0 12/12/2003"); // Version
+string GDCVersion("4.1 08/16/2005"); // Version
+int GDCUnique=0; // unique number for each call
+int GDCNFail,GDCNFix,GFSj; // for output
+int ibad[10]; // TD
+double dbad[10]; // TD
+#define LGF *(GDC.oflog)
+
+//------------------------------------------------------------------------------------
+// Segment - used internally only.
+// Define an object to hold information about Segments = periods of continuous
+// phase; keep a linked list of these objects, and subdivide whenever a
+// discontinuity is detected.
+class Segment {
+public:
+ // member data
+ int nbeg,nend; // array indexes of the first and last good points
+ int npts; // number of good points in this Segment
+ double bias1,bias2; // biases for this Segment: WL,GF, then L1,L2
+ long NWL,N1; // slip fixes for WL (N1-N2) and GF (=N1)
+ Stats<double> WLStat; // includes N,min,max,ave,sig
+ PolyFit<double> PF; // for fit to GF range
+ double RMSROF; // RMS residual of fit of polynomial (PF) to GFR
+ // member functions
+ Segment(void)
+ { WLStat.Reset(); nend=nbeg=npts=0; bias1=bias2=0; N1=NWL=0; }
+ Segment(const Segment& s)
+ { npts=s.npts; nbeg=s.nbeg; nend=s.nend; NWL=s.NWL; N1=s.N1;
+ bias1=s.bias1; bias2=s.bias2; WLStat=s.WLStat; PF=s.PF; }
+ ~Segment(void) {}
+ Segment& operator=(const Segment& s)
+ { if(this==&s) return *this; nbeg=s.nbeg; nend=s.nend; NWL=s.NWL;
+ N1=s.N1; bias1=s.bias1; bias2=s.bias2;
+ WLStat=s.WLStat; PF=s.PF; return *this; }
+}; // end class Segment
+
+//------------------------------------------------------------------------------------
+// SegList is a list of Segments, always in time order, of segments of
+// continuous data within the SVPass.
+list<Segment> SegList;
+
+//------------------------------------------------------------------------------------
+// internal function prototypes
+int Preprocess(SVPass& SVP, GDCConfig& C);
+int LinearCombinations(SVPass& SVP, GDCConfig& C);
+int WLSlipDetect(SVPass& SVP, GDCConfig& C);
+int WLSlipDetectLarge(SVPass& SVP, GDCConfig& C);
+int WLSlipDetectSmall(SVPass& SVP, GDCConfig& C);
+int WLStatSweep(SVPass& SVP, GDCConfig& C, int nb, int ne, int iwid, int iseg);
+void DivideWLSegments(SVPass& SVP, GDCConfig& C);
+int WLSlipFix(SVPass& SVP, GDCConfig& C);
+int GFSlipDetect(SVPass& SVP, GDCConfig& C);
+int GFRangePolynomialFit(SVPass& SVP,GDCConfig& C,list<Segment>::iterator& it,int j);
+int GFSlipFix(SVPass& SVP, GDCConfig& C);
+int CorrectData(SVPass& SVP, GDCConfig& C);
+void CorrectSegments(SVPass& SVP, GDCConfig& C);
+void DumpSegments(const string& lab, int N, GDCConfig& C, SVPass& SVP);
+int OutputAndQuit(SVPass& SVP, GDCConfig& C, vector<string>& EditCmds, int iret);
+
+//------------------------------------------------------------------------------------
+// constants used in linear combinations
+const double CFF=C_GPS_M/OSC_FREQ;
+const double F1=L1_MULT; // 154.0;
+const double F2=L2_MULT; // 120.0;
+const double f12=F1*F1;
+const double f22=F2*F2;
+ // wavelengths
+const double wl1=CFF/F1; // 19.0cm
+const double wl2=CFF/F2; // 24.4cm
+const double wlwl=CFF/(F1-F2); // 86.2cm, the widelane wavelength
+const double wl21=CFF*(1.0/F2 - 1.0/F1); // 5.4cm, the 'GF' wavelength
+ // for widelane R & Ph
+const double wl1r=F1/(F1+F2);
+const double wl2r=F2/(F1+F2);
+const double wl1p=wl1*F1/(F1-F2);
+const double wl2p=-wl2*F2/(F1-F2);
+ // ionosphere-free R and Ph
+const double if1r=f12/(f12-f22);
+const double if2r=-f22/(f12-f22);
+const double if1p=wl1*f12/(f12-f22);
+const double if2p=-wl2*f22/(f12-f22);
+ // for geometry-free R and Ph
+const double gf1r=-1;
+const double gf2r=1;
+const double gf1p=wl1;
+const double gf2p=-wl2;
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+// This is the main entry point.
+// Return values (int) (used by all routines within this module):
+const int FatalProblem=-3;
+const int PrematureEnd=-2;
+const int Singular=-1;
+const int ReturnOK=0;
+//------------------------------------------------------------------------------------
+int gpstk::GPSTKDiscontinuityCorrector(SVPass& SVP, GDCConfig& GDC, vector<string>& EditCmds)
+{
+try {
+ int iret;
+ DayTime CurrentTime;
+ CurrentTime.setLocalTime();
+
+ GDCUnique++;
+ GDCNFail = GDCNFix = 0;
+
+ if(GDC.Debug>4) {
+ LGF << "\n========Beg GPSTK Discontinuity Corrector " << GDCUnique
+ << "================================================\n";
+ LGF << "GPSTK Discontinuity Corrector Ver. " << GDCVersion << " Run "
+ << CurrentTime << endl;
+ LGF << " SV:" << SVP.SV << " Npts: " << SVP.Npts << " Len:" << SVP.Length
+ << " Times:(" << SVP.BegTime << ")-(" << SVP.EndTime << ")\n";
+ }
+
+ // check input
+ if(GDC.DT <= 0) {
+ LGF << "Error: DT is not set in configuration\n";
+ if(GDC.Debug>1) LGF << "GDC " << setw(2) << GDCUnique << ", PRN " << SVP.SV
+ << ", Pts " << setw(4) << SVP.Npts << ", Slip 0, Fix 0, Fail 0\n";
+ if(GDC.Debug>4) LGF << "========End GPSTK Discontinuity Corrector "
+ << "==================================================\n";
+ return FatalProblem;
+ }
+
+ // MaxGap should be the smaller of WL and GF MaxGap
+ GDC.MaxGap = GDC.WLFixMaxGap;
+ if(GDC.MaxGap > GDC.GFFixMaxGap) GDC.MaxGap=GDC.GFFixMaxGap;
+
+ // --------------------------------------------------------------------
+ // Create the first Segment (entire SVPass), scan for gaps -> new Segments
+ // Preprocess the data: Look for outliers and obvious bad points, and mark
+ iret = Preprocess(SVP, GDC);
+ if(iret) goto quit;
+
+ // --------------------------------------------------------------------
+ // Compute linear combinations: L2->GF phase, P1->WLbias, P2->-GF Range
+ // Define a bias for WLbias and GF phase for each segment.
+ iret = LinearCombinations(SVP, GDC);
+ if(iret) goto quit;
+
+ // --------------------------------------------------------------------
+ // Look for slips and outliers in the widelane range minus phase
+ // Divide into more than one Segment when a discontinuity is detected
+ iret = WLSlipDetect(SVP, GDC);
+ if(iret) goto quit;
+
+ // --------------------------------------------------------------------
+ // Estimate the WL slip, using statistics in each segment, and set the
+ // value of NWL.
+ iret = WLSlipFix(SVP, GDC);
+ if(iret) goto quit;
+
+ // --------------------------------------------------------------------
+ // Loop over Segments: compute the WL slip, and correct the GF phase.
+ // Fit a polynomial to the GF range, and replace P2(-GFR) with
+ // residual (GFPh + fit(GFR)) divided by wl21 [=N1];
+ // Further divide into Segments when the change in the residual is large.
+ iret = GFSlipDetect(SVP, GDC);
+ if(iret) goto quit;
+
+ // --------------------------------------------------------------------
+ // Loop over Segments: Fit polynomials to either side of the GF slips;
+ // Fix the GF slips.
+ iret = GFSlipFix(SVP, GDC);
+ if(iret) goto quit;
+
+ // --------------------------------------------------------------------
+ // Loop over the data, applying the corrections to the L1 and L2 arrays
+ // Editing commands are generated in OutputAndQuit
+ iret = CorrectData(SVP, GDC);
+
+quit:
+ return OutputAndQuit(SVP,GDC,EditCmds,iret);
+}
+catch(gpstk::Exception& e) {
+ LGF << "GPSTK_Discontinuity_Corrector threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end GPSTKDiscontinuityCorrector(SVPass& SVP, GDCConfig& GDC, vector<string>& EditCmds)
+
+//------------------------------------------------------------------------------------
+// Preprocess the data: Look for outliers and obvious bad points, and mark them.
+// Create the first Segment and look for gaps => new Segments
+// After calling this routine the arrays are L1 = L1 phase (cycles)
+// L2 = L2 phase (cycles)
+// P1 = L1 range (meters)
+// P2 = L2 range (meters)
+int Preprocess(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+ int i,ilast;
+ list<Segment>::iterator Sit;
+
+ if(GDC.Debug > 5) LGF << "PP..............................................."
+ << ".................................\n";
+
+ if(SVP.Npts <= 0) {
+ if(GDC.Debug>4) LGF << "Abort GDC: No points in SV pass\n";
+ return PrematureEnd;
+ }
+
+ // create the first segment
+ SegList.clear();
+ {
+ Segment S;
+ S.nbeg = S.npts = 0;
+ S.nend = SVP.Length-1;
+ // add it to the list of segments within this SVPass
+ SegList.push_back(S);
+ // Sit will always point to the current segment
+ Sit = SegList.begin();
+ }
+
+ // -------------------------------------------
+ // loop over points in the pass
+ ilast = -1;
+ for(i=0; i<SVP.Length; i++) {
+ // edit the data
+ if(SVP.Flag[i] == SVPass::OK) { // data is not marked
+ // look for obvious outliers
+ if(SVP.P1[i] < GDC.MinRange || SVP.P1[i] > GDC.MaxRange ||
+ SVP.P2[i] < GDC.MinRange || SVP.P2[i] > GDC.MaxRange ||
+ SVP.P1[i]==0 || SVP.P2[i]==0 || SVP.L1[i]==0 || SVP.L2[i]==0)
+ {
+ SVP.Flag[i] = SVPass::SETBAD; // mark it bad
+ // (CorrectData will set it BAD)
+
+ if(GDC.Debug>6) {
+ DayTime ttag(SVP.BegTime);
+ ttag += double(i)*GDC.DT;
+ LGF << "Obvious outlier " << GDCUnique << " " << SVP.SV
+ << " at # " << i << " " << ttag << " (";
+ if(SVP.L1[i]==0) LGF << " 0L1";
+ if(SVP.L2[i]==0) LGF << " 0L2";
+ if(SVP.P1[i]==0) LGF << " 0P1"; else
+ if(SVP.P1[i] < GDC.MinRange) LGF << " -P1"; else
+ if(SVP.P1[i] > GDC.MaxRange) LGF << " +P1";
+ if(SVP.P2[i]==0) LGF << " 0P2"; else
+ if(SVP.P2[i] < GDC.MinRange) LGF << " -P2"; else
+ if(SVP.P2[i] > GDC.MaxRange) LGF << " +P2";
+ LGF << endl;
+ }
+ } // end if obvious outlier
+ } // end if data is not marked
+
+ // look for gaps in data => new Segments
+ if(SVP.Flag[i] == SVPass::OK) { // data is good
+ if(ilast == -1) // the first good point
+ Sit->nbeg = ilast = i;
+
+ // is there a gap?
+ if(GDC.DT*(i-ilast) > GDC.MaxGap) { // create a new Segment
+ Segment Snew;
+ Snew.nbeg = i;
+ Snew.nend = Sit->nend;
+ Sit->nend = ilast;
+ Snew.npts = 0;
+ SegList.push_back(Snew);
+ // re-set current Segment to Snew == last one in list
+ Sit = SegList.end();
+ Sit--;
+
+ if(GDC.Debug>6) LGF << "Gap: new Segment at # " << i << endl;
+ } // end create a new Segment
+
+ // count only
+ Sit->npts++;
+ ilast = i;
+ } // end if good data
+
+ } // end loop over points in the pass
+
+ if(ilast == -1) ilast=Sit->nbeg;
+ Sit->nend = ilast;
+
+ if(GDC.Debug>4) {
+ if(GDC.Debug>5) LGF << "Initial list of Segments (" << SegList.size() << ")\n";
+ list<Segment>::iterator it;
+ for(it=SegList.begin(); it != SegList.end(); it++)
+ LGF << "INIList " << GDCUnique << " " << SVP.SV << " #"
+ << setw(2) << i+1 << ": "
+ << setw(3) << it->nbeg << "-" << setw(4) << it->nend << endl;
+ }
+
+ CorrectSegments(SVP,GDC);
+
+ if(GDC.Debug > 4) DumpSegments("BEF",GDCUnique,GDC,SVP);
+
+ if(SegList.size() <= 0) {
+ if(GDC.Debug>4) LGF << "Abort GDC: Not enough good data in Preprocess.\n";
+ return PrematureEnd;
+ }
+
+ return ReturnOK;
+
+}
+catch(gpstk::Exception& e) {
+ LGF << "Preprocess threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end Preprocess(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// After calling this routine the arrays are L1 = L1 phase (cycles)
+// L2 = GFP (m) - bias2
+// P1 = WLB (cycles) - bias1
+// P2 = -GFR (m)
+// where bias1 = initial wlb, each Segment
+// and bias2 = initial gfp, each Segment
+int LinearCombinations(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+ if(GDC.Debug > 5) LGF << "LC............................................."
+ << "...................................\n";
+
+ int i,j,k,ilast,nb,ne;
+ double wlr,wlp,wlbias,gfr,gfp;
+ DayTime ttag;
+
+ // consider each Segment in turn
+ list<Segment>::iterator it;
+ for(j=0,it=SegList.begin(); it!=SegList.end(); it++) {
+ if(j==0) nb=it->nbeg;
+ ne = it->nend;
+ it->npts = 0; // npts will now be determined
+ ttag = SVP.BegTime;
+ ttag += it->nbeg * GDC.DT;
+
+ // loop over the points in Segment k
+ ilast = -1; // index of the most recent good point
+ for(i=it->nbeg; i<=it->nend; i++) {
+
+ if(SVP.Flag[i] >= SVPass::OK) { // data is good
+ wlr = wl1r*SVP.P1[i] + wl2r*SVP.P2[i]; // 'NL' range (meters)
+ wlp = wl1p*SVP.L1[i] + wl2p*SVP.L2[i]; // Wide lane phase (meters)
+ gfr = SVP.P1[i] - SVP.P2[i]; // Geo-free range (meters)
+ gfp = gf1p*SVP.L1[i] + gf2p*SVP.L2[i]; // Geo-free phase (meters)
+ wlbias = (wlp-wlr)/wlwl; // Wide lane bias (cycles)
+
+ // define biases for this Segment
+ if(ilast == -1) {
+ it->bias1 = long(wlbias+(wlbias>0?0.5:-0.5)); // WL bias (NWL)
+ it->bias2 = gfp; // GFP bias
+ }
+ // debias (GFR has bias 0)
+ wlbias -= it->bias1;
+ gfp -= it->bias2;
+
+ SVP.L2[i] = gfp; // Geo-free phase (meters)
+ SVP.P1[i] = wlbias; // Wide lane bias (cycles)
+ SVP.P2[i] = -gfr; // -Geo-free range (meters)
+ ilast = i;
+ it->npts++;
+
+ } // end if data is good
+
+ ttag += GDC.DT;
+
+ } // end loop over points in Segment k
+
+ } // end loop over Segments
+
+ if(GDC.Debug > 4) DumpSegments("LCD",GDCUnique,GDC,SVP);
+
+ return ReturnOK;
+
+}
+catch(gpstk::Exception& e) {
+ LGF << "LinearCombinations threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end LinearCombinations(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Look for slips and outliers in the widelane bias.
+// Divide into more than one Segment when a discontinuity is detected.
+// After calling this routine the arrays are L1 = L1 phase (cycles)
+// L2 = GFP (m) - bias2
+// P1 = WLB (cy) - bias1
+// P2 = -GFR (m)
+// where bias1 = initial wlb, each Segment
+// and bias2 = initial gfp, each Segment
+// (DivideSegments will change the biases on the new Segments)
+int WLSlipDetect(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+ if(GDC.Debug > 5) LGF << "WD............................................"
+ << "....................................\n";
+
+ SVP.A1 = new double[SVP.Length];
+ if(!SVP.A1) { OutOfMemory e("A1"); GPSTK_THROW(e); }
+ SVP.A2 = new double[SVP.Length];
+ if(!SVP.A2) { OutOfMemory e("A2"); GPSTK_THROW(e); }
+
+ int iret;
+ iret = WLSlipDetectLarge(SVP,GDC);
+ if(iret) goto done;
+
+ iret = WLSlipDetectSmall(SVP,GDC);
+ if(iret) goto done;
+
+done:
+ if(SVP.A1) delete[] SVP.A1;
+ if(SVP.A2) delete[] SVP.A2;
+ SVP.A1 = SVP.A2 = NULL;
+
+ return iret;
+}
+catch(gpstk::Exception& e) {
+ LGF << "WLSlipDetect threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end WLSlipDetect(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Look for LARGE slips and outliers in the widelane bias.
+// Divide into more than one Segment when a discontinuity is detected.
+int WLSlipDetectLarge(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+ bool Prnt=(GDC.Debug > 6);
+ int i,j,k,nb,ne,iret;
+ list<Segment>::iterator it;
+
+ // Compute WL statistics with sliding window
+ for(i=1,it=SegList.begin(); it!=SegList.end(); i++,it++) {
+ nb = it->nbeg;
+ ne = it->nend;
+ iret = WLStatSweep(SVP, GDC, nb, ne, 0, i);
+ if(iret) return iret;
+ }
+
+ int ilast,itest,inext;
+ DayTime ttag;
+
+ // interpret the results
+ for(k=0,it=SegList.begin(); it!=SegList.end(); k++,it++) {
+ nb = it->nbeg;
+ ne = it->nend;
+
+ ttag = SVP.BegTime;
+ ttag += double(nb)*GDC.DT;
+ ilast = nb;
+
+ // search auxiliary arrays for slips
+ for(itest=nb; itest<=ne; itest++) {
+
+ if(Prnt && SVP.Flag[itest] != SVPass::BAD)
+ LGF << "WLLD " << GDCUnique << " " << SVP.SV << " " << k+1
+ << ttag.printf(" %13.6Q ") << setw(2) << SVP.Flag[itest]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.L1[itest]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.L2[itest]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.P1[itest]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.P2[itest]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.A1[itest]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.A2[itest]
+ << " " << itest;
+ // NB no endl here
+
+ // test good data only
+ if(SVP.Flag[itest] >= SVPass::OK) {
+ // find the next good point
+ inext = itest+1;
+ while(inext<=ne && SVP.Flag[inext]<SVPass::OK) inext++;
+
+ // is there potentially a slip here?
+ if(SVP.A1[itest] > 10.0) { // test > limit+10
+ if(Prnt) LGF << " D:T>L";
+ if(SVP.A2[itest] >= -1.0) { // A2 ok or -1
+ if(SVP.A2[inext] >= -1) { // 1,3,4 - slip at itest
+ SVP.Flag[itest] |= SVPass::SLIPWL;
+ if(Prnt) LGF << " clSLIP";
+ }
+ else { // 5, next == -3,-2
+ if(SVP.A1[inext] > 0.0) { // next T>L
+ SVP.Flag[itest] = SVPass::SETBAD;
+ if(Prnt) LGF << " 5SETBAD, next T>L";
+ }
+ else { // next not T>L
+ SVP.Flag[itest] |= SVPass::SLIPWL;
+ if(Prnt) LGF << " 5SLIP SETBAD" << inext << "-";
+ i = inext;
+ while(i<=ne && (SVP.A2[i] < -1 || SVP.Flag[i] < SVPass::OK))
+ {
+ if(SVP.A1[i] > 0.0) break;
+ if(SVP.A2[i] < -1) SVP.Flag[i]=SVPass::SETBAD;
+ i++;
+ }
+ inext = i;
+ if(Prnt) LGF << i-1;
+ }
+ }
+ } // end A2 ok or -1
+ else if(SVP.A2[itest] < -1) { // 2 set bad
+ if(Prnt) LGF << " 2SETBAD";
+ SVP.Flag[itest] = SVPass::SETBAD;
+ i = inext;
+ while(i<=ne && (SVP.A2[i]<-1 || SVP.Flag[i]<SVPass::OK)) {
+ if(SVP.Flag[i] >= SVPass::OK)
+ SVP.Flag[i] = SVPass::SETBAD;
+ i++;
+ }
+ if(Prnt) LGF << itest << "-" << i-1;
+ if(SVP.A1[i] <= 0.0) {
+ if(Prnt) LGF << " SLIP" << i;
+ SVP.Flag[i] |= SVPass::SLIPWL;
+ }
+ inext = i;
+ } // end 2 set bad
+ else {
+ if(Prnt) LGF << " OOP 2"; // should never happen
+ }
+ }
+ // --------------------------------------------------------------
+ else if(SVP.A2[itest] == -2) { // -2
+ if(inext > ne) { // -2 w/ no next
+ if(Prnt) LGF << " D:-2end";
+ }
+ else if((SVP.A2[inext]==-1 || SVP.A2[inext]==-3)) {// -2 => -3,-1
+ if(Prnt) LGF << " D:-2=>-1-3";
+ i = itest;
+ while(i<=ne && (SVP.A2[i]<=-2 || SVP.Flag[i]<SVPass::OK)) {
+ if(SVP.Flag[i] >= SVPass::OK) SVP.Flag[i] = SVPass::SETBAD;
+ i++;
+ }
+ if(i!=itest && Prnt) LGF << " SETBAD" << itest << "-" << i-1;
+ inext = i;
+
+ if(SVP.A2[i] == -1) {
+ SVP.Flag[i] |= SVPass::SLIPWL;
+ if(Prnt) LGF << " SLIP " << i;
+ }
+ else if(SVP.A1[i] > 0.0) {
+ if(Prnt) LGF << " T>L";
+ }
+ else {
+ if(Prnt) LGF << " OOP 3(no -1)";
+ }
+ }
+ }
+ else {
+ //if(Prnt) LGF << " ok";
+ }
+
+ if(Prnt) LGF << " (" << inext << ")\n";
+
+ } // end if good data
+
+ else { // skip bad data
+ if(Prnt && SVP.Flag[itest] != SVPass::BAD) LGF << " BAD\n";
+ }
+
+ ilast = itest;
+ ttag += GDC.DT;
+ } // end loop over auxiliary arrays
+
+ } // end loop over Segments
+
+ // create new Segments and compute WLStat
+ DivideWLSegments(SVP,GDC);
+ CorrectSegments(SVP,GDC);
+
+ if(GDC.Debug > 4) DumpSegments("WLL",GDCUnique,GDC,SVP);
+
+ if(SegList.size() <= 0) {
+ if(GDC.Debug>4) LGF << "Abort GDC: No good data in WLSlipDetectLarge.\n";
+ return PrematureEnd;
+ }
+
+ return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+ LGF << "WLSlipDetectLarge threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end WLSlipDetectLarge(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Look for SMALL slips and outliers in the widelane bias.
+// Divide into more than one Segment when a discontinuity is detected.
+int WLSlipDetectSmall(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+ bool Prnt=(GDC.Debug>6),slip;
+ int i,j,nb,ne,ib,ie,imax,imin;
+ int width0=int(GDC.MinSeg/GDC.DT);
+ double Amin,Amax,flag;
+ DayTime ttag;
+ list<Segment>::iterator it;
+
+ // Small slips
+ // for each Segment, compute WL statistics with sliding window
+ // Compute WL statistics with sliding window
+ for(j=1,it=SegList.begin(); it!=SegList.end(); j++,it++) {
+ nb = it->nbeg;
+ ne = it->nend;
+ i = WLStatSweep(SVP, GDC, nb, ne, GDC.WLSSWindowWidth*width0, j);
+ if(i) return i;
+ }
+
+ // look for slips using A1=|dAve| and A2=Wt'd variance
+ flag = GDC.WLSSDetectMin-1.0;
+ for(j=1,it=SegList.begin(); it!=SegList.end(); j++,it++) {
+ nb = it->nbeg;
+ ne = it->nend;
+ // just in case
+ while(nb < ne && SVP.Flag[nb] < SVPass::OK) nb++;
+ while(ne > nb && SVP.Flag[ne] < SVPass::OK) ne--;
+
+ // loop through first, flagging data that fails the tests
+ // and replacing A1 with A1-A2
+ ttag = SVP.BegTime;
+ ttag += double(nb)*GDC.DT;
+ for(i=nb; i<=ne; i++) {
+ if(SVP.Flag[i] >= SVPass::OK) {
+ if(SVP.A1[i] <= GDC.WLSSTestMin
+ || SVP.A1[i]-SVP.A2[i] <= GDC.WLSSDetectMin)
+ SVP.A1[i] = SVP.A2[i] = flag;
+ else SVP.A1[i] -= SVP.A2[i];
+
+ // Debug plot - see the test
+ if(Prnt) {
+ LGF << "WLST " << GDCUnique << " " << SVP.SV << " " << j
+ << ttag.printf(" %13.6Q ") << setw(2) << SVP.Flag[i]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.L1[i]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.L2[i]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.P1[i]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.P2[i];
+ if(SVP.A1 && SVP.A2)
+ LGF << " " << fixed << setw(13) << setprecision(3) << SVP.A1[i]
+ << " " << setw(9) << setprecision(4) << SVP.A2[i];
+ LGF << " " << i << endl;
+ }
+ }
+ ttag += GDC.DT;
+ } // end first loop over points within this Segment
+
+ // search the non-flagged data for max in A1 and min in A2
+ // first find continuous pieces of non-flagged data
+ ib = nb;
+ do {
+ while(ib<=ne && (SVP.Flag[ib]<SVPass::OK || SVP.A1[ib]==flag)) ib++;
+ i = ie = ib;
+ while(i<=ne && (SVP.Flag[i]<SVPass::OK || SVP.A1[i]!=flag)) {
+ if(SVP.Flag[i] < SVPass::OK) SVP.A1[i]=flag; // mark missing data
+ ie = i++;
+ }
+ if(ib < ie) { // find min in A2 and max in A1
+ Amin = SVP.A2[imin=ib];
+ Amax = SVP.A1[imax=ib];
+ for(i=ib; i<=ie; i++) {
+ if(SVP.A1[i] != flag && SVP.A1[i] > Amax) {
+ imax = i;
+ Amax = SVP.A1[i];
+ }
+ if(SVP.A1[i] != flag && SVP.A2[i] < Amin) {
+ imin = i;
+ Amin = SVP.A2[i];
+ }
+ }
+
+ // (complete after slip test)
+ if(Prnt) LGF << "WLSTest " << GDCUnique << " " << SVP.SV << " " << j
+ << ttag.printf(" %13.6Q Seg:") << nb << "-" << ne
+ << ", Piece:" << ib << "-" << ie << " Max:" << imax << " Min:" << imin;
+
+ // test for slip
+ slip = true;
+ // min and max don't coincide
+ if(abs(imax-imin) >= 2) {
+ slip=false;
+ if(Prnt) LGF << " (" << imax << "!=" << imin << ")";
+ }
+ // too close to edge of segment
+ if(abs(imax-nb) < 5 || abs(imax-ne) < 5) {
+ slip=false;
+ if(Prnt) LGF << " (edges " << imax-nb << " " << ne-imax << ")";
+ }
+ // too narrow
+ if(ie-ib+1 < width0) {
+ slip=false;
+ if(Prnt) LGF << " (narrow " << ie-ib+1 << " < " << width0 << ")";
+ }
+
+ if(Prnt) LGF << (slip?" SLIP\n":" FAIL\n");
+
+ if(slip) {
+ SVP.Flag[imax] |= SVPass::SLIPWL;
+ if(Prnt) {
+ ttag = SVP.BegTime;
+ ttag += double(imax)*GDC.DT;
+ LGF << "WL Slip " << GDCUnique << " " << SVP.SV << " " << j
+ << ttag.printf(" %13.6Q")
+ << " " << fixed << setw(7) << setprecision(3) << Amin
+ << " " << fixed << setw(7) << setprecision(3) << Amax
+ << " " << imax << " (small)\n";
+ }
+ }
+ }
+ ib = ie+1;
+ } while(ib <= ne);
+
+ } // end loop over Segments
+
+ // create new Segments and compute WLStat
+ DivideWLSegments(SVP,GDC);
+ CorrectSegments(SVP,GDC);
+
+ if(GDC.Debug > 4) DumpSegments("WLS",GDCUnique,GDC,SVP);
+
+ if(SegList.size() <= 0) {
+ if(GDC.Debug>4) LGF << "Abort GDC: No good data in WLSlipDetectSmall.\n";
+ return PrematureEnd;
+ }
+
+ return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+ LGF << "WLSlipDetectSmall threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end WLSlipDetectSmall(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// WLStatSweep() : Wide lane statistics sweep.
+// Average WL bias over 'two-pane moving window' of width iwidth points,
+// over the data from index nb to ne. Compute 'step' = |change in averages|, and
+// 'limit' = rss stddev's, (past and future)
+// The minimum iwidth is == (min segment timespan / DT), and
+// the maximum iwidth is == (ne-nb+1); iwidth is changed if necessary.
+// Ignore bad data; this requires that indexes be allowed to vary within windows.
+// DO NOT change Flag[] within this routine; this could lead to disaster.
+//
+// Auxiliary arrays are filled, depending on iwidth:
+// If iwidth==0 on input,
+// iwidth=min, test=|dAve|^2, limit=(WLNSigma*RSSsig)^2,
+// A1=(test-limit);
+// A2=flag: -1 if past StdDev large, -2 if future StdDev large, -3 both
+// otherwise A2 = limit
+// Otherwise, A1 = 'step' and A2 = 'limit'.
+//
+// Return FatalProblem if input doesn't make sense
+//
+//------------------------------------------------------------------------------------
+// 7 cases: time increase downward. check A1 and A2 as defined by WLSweep with
+// minimum window width.
+//------------------------------------------------------------------------------------
+// A: test is > limit
+// A1 (t-l) A2 (-1: past sigma large, -2: future, -3: both, >=0: ok)
+// ------------- --
+// 1. -2
+// test > limit ok Normal slip
+// -1
+//------------------------------------------------------------------------------------
+// 2. -2 or >0
+// test > limit -2/-3 <---- this pt bad
+// -2/-3 (any number) <---- these bad
+// maybe t>l OR -1 <---- slip here, if t>l do nothing
+//------------------------------------------------------------------------------------
+// 3. -1 <---- there must be gap after this
+// test > limit ok <---- slip here
+// ok
+//------------------------------------------------------------------------------------
+// 4. ok
+// test > limit ok <---- slip here; gaps both sides
+// ok
+//------------------------------------------------------------------------------------
+// 5. -2
+// test > limit ok <---- slip (or bad)
+// -2/-3 <---- 0 or more; if 0 t>l pt is bad
+// t>l -2
+//------------------------------------------------------------------------------------
+// B: -2 followed by -3 or -1, no t>l
+// 6. -2 <---- any number of these: ok
+// -2 <---- this one bad
+// -3 <---- any number of these: bad
+// -1
+//------------------------------------------------------------------------------------
+// 7. -2 <---- any number of these: ok
+// -2 <---- this one bad
+// -1 <---- slip here
+//------------------------------------------------------------------------------------
+//Notes on interpreting output of Sweep:
+//if (test > limit) {
+// if(A2>0 and A2 previous == -2 and A2 next == -1)
+// this is a normal slip
+// if(A2==-3 or -2 AND A2prev == -2 or >0)
+// search downward until you find A2==-1 OR test>limit again with A2>0
+// this is new slip
+// if(A2>0 && A2pre==-1 and A2next>0)
+// slip here (there must be gap btwn here and prev)
+// if(A2, A2prev, A2next all > 0)
+// this is a slip with gaps on both sides
+// if(A2>0, A2prev==-2, A2next may == -3 or (test>limit w/ A2==-2) )
+// this is a slip, unless A2next==-3, then its bad
+//}
+//if (A2==-2 and A2next==-3 or -1) {
+// if(A2next == -3)
+// this and all down to the next A2==-1 are bad, the -1 is a slip
+// if(A2next == -1)
+// this is bad and the next is a slip
+// [check npts in the future stats - you may have too few for a slip - mark bad]
+//}
+//
+int WLStatSweep(SVPass& SVP, GDCConfig& GDC, int nb, int ne, int iwidth, int iseg)
+{
+try {
+ bool MinRun=false;
+ int width0=int(GDC.MinSeg/GDC.DT);
+ int i,iplus,iminus,ilast;
+ double wlbias,bias,nsig2,test,limit;
+ DayTime ttag;
+ Stats<double> SWLf,SWLp; // stats in future and past windows
+ list<Segment>::iterator it,itplus,itminus;
+
+ if(iwidth==0) MinRun=true;
+
+ if(MinRun) {
+ // if large slips, width = width0, nsig2 = configuration
+ iwidth = width0;
+ nsig2 = GDC.WLNSigma*GDC.WLNSigma;
+ }
+ else {
+ // if checking for small slips, width = 10*("), nsig2 = 1
+ nsig2 = 1.0;
+ //iwidth = 15*width0;//TEMP // don't go to max = ne-nb+1;
+ }
+
+ //
+ // Cartoon of the 'two-pane moving window'
+ // windows: 'past window' 'future window'
+ // stats : SWLp(N,A,S) SWLp(N,A,S)
+ // data : (x x x x x x x x x)(x x x x x x x x x) x ...
+ // | | | |
+ // indexes: iminus i-1 i iplus
+ // Seg ind: kminus k kplus
+ //
+
+ // determine window width (number of points)
+ if(iwidth == 0) iwidth=width0;
+ if(iwidth > ne-nb+1) iwidth=ne-nb+1; // max possible width
+
+ // find Segment of first point
+ for(it=SegList.begin(); it!=SegList.end(); it++) {
+ if(nb <= it->nend) break;
+ }
+ if(it == SegList.end()) return FatalProblem;
+ itplus = itminus = it;
+
+ // initialize
+ bias = it->bias1; // overall bias == first bias1
+ iplus = iminus = ilast = nb; // ilast is most recent good point
+ ttag = SVP.BegTime; // timetag of i
+ ttag += double(nb) * GDC.DT;
+ SWLf.Reset(); // future stats
+ SWLp.Reset(); // past stats
+
+ // 'prime the pump' by setting up future stats
+ // add iplus to future stats, and then move iplus up
+ while(SWLf.N() < unsigned(iwidth) && iplus <= ne) {
+ wlbias = SVP.P1[iplus] - itplus->bias1 + bias;
+ SWLf.Add(wlbias);
+ // now update iplus by finding the next good point
+ do { iplus++; } while(iplus <= ne && SVP.Flag[iplus] < SVPass::OK);
+ // update kplus
+ if(iplus <= ne && iplus > itplus->nend) {
+ for(; itplus!=SegList.end(); itplus++) {
+ if(iplus <= itplus->nend) break;
+ }
+ if(itplus == SegList.end()) return FatalProblem; // should never happen
+ }
+ }
+
+ // loop over points in the Segment
+ for(i=nb; i<=ne; i++) {
+ // update Segment pointers; k = Segment containing i
+ if(i > it->nend) {
+ for(; it != SegList.end(); it++) {
+ if(i <= it->nend) break;
+ }
+ if(it == SegList.end()) return FatalProblem;
+ }
+
+ SVP.A1[i] = SVP.A2[i] = 0.0;
+
+ if(SVP.Flag[i] >= SVPass::OK) {
+ // current value
+ wlbias = SVP.P1[i] - it->bias1 + bias;
+
+ // test is (change in Ave's)^2 < N^2*(Sig(p)^2+Sig(f)^2)
+ test = SWLf.Average() - SWLp.Average();
+ test = test*test;
+
+ // LARGE slip detection
+ // -----------------------------------------------------
+ if(MinRun) { // width==min:
+ // weighted average, wt N()
+ limit = SWLf.N()*SWLf.Variance() + SWLp.N()*SWLp.Variance();
+ limit *= nsig2/(SWLf.N()+SWLp.N());
+ if(limit < 1.0) limit=1.0; // minimum cycle^2
+
+ //if(test > limit)
+ if(test>limit) SVP.A1[i]=test-limit;
+ if(SVP.A1[i] > 999999.) SVP.A1[i]=999999.000;// just for convenience
+
+ // catch gaps near slips
+ if(SVP.A1[i]>=0.0 && SWLp.N()==1 && fabs(wlbias-SWLp.Average()) > 10.0)
+ {
+ SVP.A1[i] = 999999.000;
+ // LGF << "CATCH " << GDCUnique << " " << SVP.SV << " " iseg
+ // << " " << i << endl;
+ }
+ //SVP.A1[i] += 0.1*SWLp.N()+0.01*SWLf.N();
+
+ // set indicators of large sigma past and future
+ if(SWLp.StdDev() > 10.0) SVP.A2[i] -= 1; // 10 cycles: default
+ if(SWLf.StdDev() > 10.0) SVP.A2[i] -= 2; // 'small' slips
+ if(SVP.A2[i] >= 0.0) SVP.A2[i] = limit;
+ }
+ // -----------------------------------------------------
+ // SMALL slip detection
+ else { // width > min
+ limit = nsig2*(SWLf.Variance()+SWLp.Variance());
+ //if(limit < 0.7) limit=0.7; // minimum cyc^2
+ SVP.A1[i] = sqrt(test);
+ SVP.A2[i] = sqrt(limit);
+ }
+
+ // output stats now
+ // u prn seg mjd (N A S)p (N A S)f A1 A2 test limit i
+ if(GDC.Debug > 5) LGF << "WL" << (MinRun?"L":"S") << "S " << GDCUnique
+ << " " << SVP.SV << " " << iseg << ttag.printf(" %13.6Q ")
+ << " " << setw(3) << SWLp.N()
+ << " " << fixed << setw(7) << setprecision(3) << SWLp.Average()
+ << " " << fixed << setw(7) << setprecision(3) << SWLp.StdDev()
+ << " " << setw(3) << SWLf.N()
+ << " " << fixed << setw(7) << setprecision(3) << SWLf.Average()
+ << " " << fixed << setw(7) << setprecision(3) << SWLf.StdDev()
+ << " " << fixed << setw(9) << setprecision(3) << SVP.A1[i]
+ << " " << fixed << setw(9) << setprecision(3) << SVP.A2[i]
+ << " " << fixed << setw(7) << setprecision(3) << sqrt(test)
+ << " " << fixed << setw(7) << setprecision(3) << sqrt(limit)
+ << " " << fixed << setw(9) << setprecision(3) << wlbias
+ << " " << i << endl;
+
+ // update for next step
+ SWLf.Subtract(wlbias); // remove i from future statistics
+ SWLp.Add(wlbias); // add i to past statistics
+ ilast = i;
+ }
+ ttag += GDC.DT;
+
+ // now must update future and past statistics
+ // add iplus to future stats, and then move iplus up
+ while(SWLf.N() < unsigned(iwidth) && iplus <= ne) {
+ wlbias = SVP.P1[iplus] - itplus->bias1 + bias;
+ SWLf.Add(wlbias);
+ // now update iplus by finding the next good point
+ do { iplus++; } while(iplus <= ne && SVP.Flag[iplus] < SVPass::OK);
+ // update kplus
+ if(iplus <= ne && iplus > itplus->nend) {
+ for(; itplus != SegList.end(); itplus++) {
+ if(iplus <= itplus->nend) break;
+ }
+ if(itplus == SegList.end()) return FatalProblem; // should never happen
+ }
+ }
+ // remove iminus from past stats, then move iminus up
+ while(SWLp.N() > unsigned(iwidth) && iminus >= nb) {
+ wlbias = SVP.P1[iminus]-itminus->bias1+bias;
+ SWLp.Subtract(wlbias);
+ // now update iminus by finding the next good point
+ // (references to <=ne are unnecessary)
+ do { iminus++; } while(iminus <= ne && SVP.Flag[iminus] < SVPass::OK);
+ // update kminus
+ if(iminus <= ne && iminus > itminus->nend) {
+ for(; itminus != SegList.end(); itminus++) {
+ if(iminus <= itminus->nend) break;
+ }
+ if(itminus == SegList.end()) return FatalProblem; // should never happen
+ }
+ }
+
+ } // end loop over all points in Segment
+
+ return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+ LGF << "WLStatSweep threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end WLStatSweep(SVPass& SVP, GDCConfig& GDC, int nb, int ne, int iwid, int iseg)
+
+//------------------------------------------------------------------------------------
+// Create new Segments where SLIPs have been marked.
+// Modify the bias, and compute WLStat's
+void DivideWLSegments(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+ bool old; // true if current segment was not created by this routine
+ int i,j,ilast,nb,ne;
+ double bias1,bias2,bias10,bias20;
+ list<Segment>::iterator it;
+
+ // loop over segments, changing start and stop, counting good points,
+ // and making new segments where flagged
+ j = 0;
+ old = true;
+ bias1 = bias2 = 0;
+ for(it=SegList.begin(); it!=SegList.end(); it++) {
+ // limits of Segment (good data)
+ nb = it->nbeg;
+ ne = it->nend;
+ // change start point?
+ while(nb <= ne && SVP.Flag[nb] < SVPass::OK) nb++;
+ it->nbeg = nb;
+ // biases
+ if(old) {
+ bias10 = it->bias1;
+ bias20 = it->bias2;
+ }
+
+ // look for new Segments
+ ilast = nb;
+ it->npts = 0; // count good points
+ it->WLStat.Reset(); // compute WLStats along the way
+ for(i=nb; i<=ne; i++) {
+ if(SVP.Flag[i] >= SVPass::OK) { // good point
+ // slip is marked mid-segment
+ if(i>nb && SVP.Flag[i]>SVPass::OK && (SVP.Flag[i]&SVPass::SLIPWL)){
+ // create new Segment
+ Segment Snew;
+ Snew.nbeg = i;
+ Snew.nend = ne;
+ it->nend = ilast;
+ // biases
+ bias1 = int(SVP.P1[i]+(SVP.P1[i]<0?-0.5:0.5));
+ bias2 = SVP.L2[i];
+ Snew.bias1 = bias10 + bias1;
+ Snew.bias2 = bias20 + bias2;
+ old = false;
+ // add it after the current segment:
+ // insert(iter,s) puts s before iter, then returns iterator for s
+ it++;
+ it = SegList.insert(it,Snew);
+ it--; // (loop will increment it again)
+ break; // ..the for loop - goto next (new) segment
+ }
+
+ // good point - debias and count
+ SVP.P1[i] -= bias1;
+ SVP.L2[i] -= bias2;
+ it->WLStat.Add(SVP.P1[i]);
+ it->npts++;
+ it->nend = ilast = i; // this corrects nend if wrong
+
+ } // end if good point
+
+ if(i==ne) {
+ old = true;
+ bias1 = bias2 = 0;
+ }
+ } // end for loop over points in the Segment
+
+ } // end loop over Segments
+}
+catch(gpstk::Exception& e) {
+ LGF << "DivideWLSegments threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+} // end DivideWLSegments(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Estimate the WL slip, using statistics in each segment, and set NWL to the
+// appropriate value. Where a WL slip can be fixed, combine the Segments in the
+// sense that, in the Segment in the future of the slip, correct the WLbias (P1)
+// and the GFP (L2) for the slip, redefine bias1, and let WLStat in both
+// Segments apply to all the data in both.
+//
+// Initially we have, for example, the following, where each Segment has its own
+// WLStats and biases.
+//
+//SVP.Flag: 0 S S S S S S S
+// ( 0 )( 1 ) ( 2 )( 3 )( 4 )( 5 )( 6 )( 7 )
+//NWL: 0 0 0 0 0 0 0 0
+//
+// Start with the largest Segment (3), and first move to the right (future),
+// then move to the left (past). Combine Segments when the WL slip can be
+// fixed. 'Combined' means make equal WLStat and bias1, and correct the
+// WLB and GFP data in all the Segments on the future side for NWL.
+//
+// So after this routine we may have, for example:
+//
+// 0 F S F F S F F
+// ( 0 )( 1 ) ( 2 )( 3 )( 4 )( 5 )( 6 )( 7 )
+// 0 N1 0 N3 N4 0 N6 N7
+// |______| |____________________________| |___________|
+// (0) (2) (5)
+//
+// where Stats, bias1, for Segments 2,3,4 apply to all data in (2), etc
+// but the NWL's are left alone (this is so we can write out Edit Cmds later);
+// leave everything else alone as well (nbeg, nend, npts). The GFP is left alone
+// except for correction of the WL slip (bias2 -> bias2 + wl2*NWL).
+//
+// After this routine arrays are L1 = L1 phase (cycles)
+// L2 = GFP (m) - (wl1-wl2)*N1 - bias2
+// P1 = WLB (cy) - bias1
+// P2 = -GFR (m)
+// where bias1 = initial wlb, each Super segment
+// and bias2 = initial gfp, each segment
+// and NWL = slip each Segment
+//
+int WLSlipFix(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+ if(GDC.Debug > 5) LGF << "LF..........................................."
+ << ".....................................\n";
+
+ if(SegList.size() <= 0) return PrematureEnd;
+ if(SegList.size() == 1) return ReturnOK;
+
+ bool fix,MoveForward;
+ int i,j,k,nfe,jbig;
+ unsigned int nbig;
+ long nwl;
+ double dwl,test,dbias1;
+ DayTime ttag;
+ list<Segment>::iterator it,kt,itpast,itfuture,itbig;
+
+ // find the largest Segment
+ for(j=1,jbig=0,nbig=0,it=SegList.begin(); it != SegList.end(); j++,it++) {
+ if(it->WLStat.N() > nbig) {
+ itbig = it;
+ jbig = j;
+ nbig = it->WLStat.N();
+ }
+ }
+
+ if(GDC.Debug > 6) {
+ LGF << "\nWLSF: SegList:\n";
+ for(j=1,it=SegList.begin(); it != SegList.end(); j++,it++)
+ LGF << "WLSF: " << j << " nb=" << it->nbeg
+ << " bias1=" << fixed << setprecision(3) << it->bias1
+ << " bias2=" << setprecision(3) << it->bias2 << endl;
+ }
+
+ // ------------------------------------------------------
+ // loop starting at largest Segment
+ MoveForward = true; // move to future first
+ for(j=jbig,it=itbig; ; ) {
+ // identify the two Segments of interest
+ if(MoveForward) { // moving toward future
+ itfuture = itpast = it;
+ itfuture++;
+ if(itfuture == SegList.end()) { // no more, go back to itbig and move to past
+ MoveForward = false;
+ it = itbig;
+ j = jbig;
+ continue;
+ }
+ }
+ else { // moving toward past
+ itfuture = itpast = it;
+ if(itpast == SegList.begin()) break; // all done
+ itpast--;
+ }
+
+ if(GDC.Debug > 6) {
+ LGF << "\nWLSF: Attempt with Segs starting at " << itpast->nbeg
+ << " & " << itfuture->nbeg << "\n";
+ LGF << "WLSF: Past : bias1=" << fixed
+ << setw(13) << setprecision(3) << itpast->bias1
+ << " bias2=" << fixed << setw(13) << setprecision(3) << itpast->bias2
+ << " N=" << itpast->WLStat.N() << " A=" << setprecision(3)
+ << itpast->WLStat.Average()
+ << " SD=" << setprecision(3) << itpast->WLStat.StdDev() << endl;
+ LGF << "WLSF: Future: bias1=" << fixed
+ << setw(13) << setprecision(3) << itfuture->bias1
+ << " bias2=" << fixed << setw(13) << setprecision(3) << itfuture->bias2
+ << " N=" << itfuture->WLStat.N() << " A=" << setprecision(3)
+ << itfuture->WLStat.Average()
+ << " SD=" << setprecision(3) << itfuture->WLStat.StdDev() << endl;
+ }
+
+ // ------------------------------------------------------
+ // first decide if a slip has been found here
+ // perhaps we don't need this ...?
+ if(SVP.Flag[itfuture->nbeg] & SVPass::SLIPWL) {
+
+ // get the time tag
+ ttag = SVP.BegTime;
+ ttag += double(itfuture->nbeg)*GDC.DT;
+
+ // ------------------------------------------------------
+ // compute the slip
+ dwl = itfuture->bias1 + itfuture->WLStat.Average()
+ - (itpast->bias1 + itpast->WLStat.Average());
+
+ if(GDC.Debug > 6) {
+ LGF << "WLSF: dwl = f->bias1 + f->ave - (p->bias1 + p->ave)\n";
+ LGF << "WLSF: " << fixed << setw(13) << setprecision(3) << dwl
+ << " = " << setw(13) << setprecision(3) << itfuture->bias1
+ << " + " << setw(13) << setprecision(3) << itfuture->WLStat.Average()
+ << " - (" << setw(13) << setprecision(3) << itpast->bias1
+ << " + " << setw(13) << setprecision(3) << itpast->WLStat.Average()
+ << ")\n";
+ }
+
+ // and round it
+ nwl = long(dwl + (dwl>0?0.5:-0.5));
+ // dwl is now the fractional part
+ dwl -= double(nwl);
+
+ // ------------------------------------------------------
+ // can it be fixed? Here are the tests
+ if(GDC.Debug > 6) LGF << "WL Slip " << GDCUnique << " " << SVP.SV
+ << " " << j << " at #" << setw(4) << itfuture->nbeg << ttag << " = "
+ << nwl << " + " << setw(6) << setprecision(3) << dwl << endl;
+
+ fix = true;
+ // check the gap - if too large, must fail
+ // ?? TD why? Gap should have no effect on WLB -- kill this
+ test = (itfuture->nbeg - itpast->nend)*GDC.DT;
+ if(test > GDC.WLFixMaxGap) {
+ if(GDC.Debug>6) LGF << "WL Slip " << GDCUnique << " " << SVP.SV
+ << " fix FAILS (Gap too large " << setw(5) << setprecision(3) << test
+ << " > " << setw(5) << setprecision(3) << GDC.WLFixMaxGap << endl;
+ fix = false;
+ }
+ // minimum # pts in both segments
+ if(itpast->WLStat.N() <= GDC.WLFixNpts
+ || itfuture->WLStat.N() <= GDC.WLFixNpts) {
+ if(GDC.Debug>6) LGF << "WL Slip " << GDCUnique << " " << SVP.SV
+ << " fix FAILS (Not enough points " << itpast->WLStat.N()
+ << " " << itfuture->WLStat.N() << " <= " << GDC.WLFixNpts << ")\n";
+ fix = false;
+ }
+ // total error (stddev/sqrt(n), RMS for 2 sides) is small
+ test = sqrt(itpast->WLStat.Variance() + itfuture->WLStat.Variance()) /
+ double(itpast->WLStat.N() + itfuture->WLStat.N());
+ if(test >= GDC.WLFixSigma) {
+ if(GDC.Debug>6) LGF << "WL Slip " << GDCUnique << " " << SVP.SV
+ << " fix FAILS (Sigma too large " << fixed
+ << setw(7) << setprecision(3)
+ << sqrt(itpast->WLStat.Variance() + itfuture->WLStat.Variance())
+ << " >= " << setw(7) << setprecision(3) << GDC.WLFixSigma << ")\n";
+ fix = false;
+ }
+ // fractional part of offset is small
+ // ?? TD ? Effective?
+ //if(fabs(dwl) > C.WLFixFrac) {
+ // if(C.fplog) fprintf(C.fplog,"WL Slip %d %2.2d fix FAILS "
+ // "(Fraction large %6.4f > %6.4f)\n",GDCUnique,SVP.SV.Prn(),
+ // fabs(dwl),C.WLFixFrac);
+ // fix = false;
+ //}
+
+ // ------------------------------------------------------
+ // fix the slip
+ if(fix) {
+ // define the slip
+ if(SVP.Flag[itfuture->nbeg] & SVPass::SLIPWL) // don't want to set it
+ SVP.Flag[itfuture->nbeg] ^= SVPass::SLIPWL;
+ SVP.Flag[itfuture->nbeg] |= SVPass::FIXWL;
+ itfuture->NWL = nwl;
+
+ if(GDC.Debug > 6) {
+ LGF << "WLSF: nwl at nbeg\n";
+ LGF << "WLSF: " << nwl << " at " << itfuture->nbeg << endl;
+ }
+
+ // Join the segments
+ // fix bias1, NWL and WLStats in future (super-)Segment
+ nfe = itfuture->nend; // index at end of future Segment(s)
+ kt = it;
+ if(MoveForward) kt++; // it == past
+ //else // it == future
+ while(kt != SegList.end()) {
+ // always include the first segment, at least
+ if(MoveForward || (SVP.Flag[kt->nbeg] & SVPass::FIXWL))
+ nfe = kt->nend;
+ // but quit when a slip failure encountered//v3.1,5/13/03
+ if(!(SVP.Flag[kt->nbeg] & SVPass::FIXWL)) break;
+ kt++;
+ }
+ dbias1 = itfuture->bias1 - itpast->bias1; // ~ itfuture->NWL
+
+ if(GDC.Debug > 6) {
+ LGF << "WLSF: correct nb to nfe: dbias1 NWL\n";
+ LGF << "WLSF: " << itfuture->nbeg << " to " << nfe << " " << fixed
+ << setw(13) << setprecision(3) << dbias1
+ << " " << itfuture->NWL << endl;
+ }
+
+ // -----------------------------------------------
+ // loop over all data (all Segments) in future of slip
+ // correct the WLB data for the WL slip
+ for(i=itfuture->nbeg; i<=nfe; i++) {
+ if(SVP.Flag[i] >= SVPass::OK) {
+ SVP.P1[i] += dbias1 - itfuture->NWL; // ~ 1
+ itpast->WLStat.Add(SVP.P1[i]); // they have same bias..
+ }
+ }
+
+ // -----------------------------------------------
+ // loop over all Segments in future
+ // Redefine biases (correct GFP for NWL using bias2)
+ // and set all Stats in future (super-)Segment to past stats
+ kt = it;
+ if(MoveForward) kt++;
+ while(kt != SegList.end()) {
+ if(MoveForward || (SVP.Flag[kt->nbeg] & SVPass::FIXWL)){
+ kt->bias1 -= dbias1; // WLB
+ kt->bias2 -= wl2*itfuture->NWL; // GFP
+ if(!MoveForward || kt==it)
+ kt->WLStat = itpast->WLStat;
+ }
+ //v3.1,5/13/03
+ else if(!(SVP.Flag[kt->nbeg] & SVPass::FIXWL)) break;
+ kt++;
+ }
+ // (leave NWL, N1, nbeg, nend, npts alone!)
+
+ if(GDC.Debug > 6) LGF << "WLSF: Joined: bias1="
+ << fixed << setw(13) << setprecision(3) << itfuture->bias1
+ << " N=" << itfuture->WLStat.N()
+ << " A=" << setprecision(3) << itfuture->WLStat.Average()
+ << " SD=" << setprecision(3) << itfuture->WLStat.StdDev()
+ << endl << endl;
+
+ } // end if fix
+ //else GDCNFail++;
+
+ } // end if WL slip exists here
+
+ // move to next Segment
+ if(MoveForward) { j++; it++; }
+ else { j--; it--; }
+
+ } // end loop over Segments
+
+ if(GDC.Debug > 5) DumpSegments("WLF",GDCUnique,GDC,SVP);
+
+ return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+ LGF << "WLSlipFix threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end WLSlipFix(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Loop over Segments:
+// Fit a polynomial to the GF range, and replace -GF Range (P2) with
+// residual GFPh+Fit(GFR) divided by wl21.
+// Also scale the GFPh by 1/wl21, ie convert to cycles - only (for GFP)
+// Either reject outliers, or further divide into Segments, when the change in
+// the residual is large.
+//
+// After this routine arrays are L1 = L1 phase (cycles)
+// L2 = GFP(cycles) - bias2/wl21
+// P1 = WLB (cy) - bias1
+// P2 = GFP-Fit(-GFR)(cycles)
+// and bias2 is in units of cycles (of wl21)
+//
+int GFSlipDetect(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+ if(GDC.Debug > 5) LGF << "GD..............................................."
+ << ".................................\n";
+
+ if(SegList.size() <= 0) return PrematureEnd;
+
+ bool first;
+ int i,j,k,nb,ne,dn,ilast,nout,newbeg;
+ double t,data,fit,bias;
+ DayTime ttag;
+ list<Segment>::iterator it;
+
+ // ------------------------------------------------------------------
+ // loop over the Segments
+ for(j=0,it=SegList.begin(); it != SegList.end(); j++,it++) {
+ nb = it->nbeg; // beginning of super-Segment
+ ne = it->nend; // end of Segment
+ dn = ne-nb; // last - first : used in polynomial fit
+
+ // ---------------------------------------------------
+ // Do the polynomial fit
+ i = GFRangePolynomialFit(SVP,GDC,it,j);
+ if(i == PrematureEnd) continue; // segment was too small
+ if(i < ReturnOK) return i;
+
+ // ------------------------------------------------------------
+ // Loop over the Segment:
+ // GF Phase (L2) = (f1^2/f2^2 - 1)I + WL2*NWL - (WL2-WL1)*N1
+ // (but the NWL term has been removed at this point)
+ // Replace the -GFR(P2) with residual GFP - Polynomial(-GFR),
+ // divided by WL2-WL1; also divide bias2 by wl21.
+ // Look for gaps and jumps, if necessary creating a new segment
+
+ ilast = -1; // index of last good point
+ nout = 0; // number of outliers
+ first = true; // first good point in the super-Segment
+ bias = 0.0; // net bias change
+ ttag = SVP.BegTime; // time tag of i
+ ttag += double(nb) * GDC.DT;
+ it->npts = 0; // count points in Segment
+ it->bias2 /= wl21; // data will be rescaled below
+ if(j>0 && ((SVP.Flag[nb]&SVPass::SLIPWL) || (SVP.Flag[nb]&SVPass::FIXWL)))
+ SVP.Flag[nb] |= SVPass::SLIPGF; // mark all WL slips GF slips
+
+ // loop over points
+ for(i=nb; i<=ne; i++) {
+ // only consider good data
+ if(SVP.Flag[i] >= SVPass::OK) {
+ // evaluate the polynomial and compute GF Ph+Fit(Range)
+ t = 2*double(i-nb)/dn - 1.0;
+ data = (SVP.L2[i] - it->PF.Evaluate(t))/wl21; // (temp use data=P2)
+
+ // change units of GFPhase (WL corrected) to cycles of wl21
+ fit = SVP.L2[i] / wl21; // (temp use of fit=L2)
+
+ // --------------------------------------------------
+ // look for anomalous point in the GFP+Fit(GFR)
+ // (no need for bias2 here: within one segment, bias is irrelevant)
+ if(ilast > -1 && fabs(data-SVP.P2[ilast]) > GDC.GFOnlySlipTol) {
+
+ // if nout >= GDC.GFNOutliers, check that sigma of these
+ // nout 'outliers' is small -- ie they agree; if so, slip;
+ // else mark all outliers (ie set nout=0)
+ if(nout >= GDC.GFNOutliers) {
+ // Compute stats(1st-all others) and stats(2nd-(3,4,...))
+ // 1st is earliest: is 1st an outlier? or slip?
+ // Ought to also compare with ilast - is slip big?
+ // esp. in high ionosphere, where false slips are prob.
+ double d1,d2;
+ Stats<double> St1,St2;
+ ibad[nout] = i;
+ dbad[nout] = data;
+ for(k=1; k<=nout; k++) {
+ d1 = dbad[k]-dbad[0];
+ St1.Add(d1);
+ d2 = dbad[k]-dbad[1];
+ if(k>1) St2.Add(d2);
+ //if(GDC.Debug>1)
+ //fprintf(C.fplog,"GF Out/GF Slip %d %2.2d %d test: %4d "
+ //"%7.3f %7.3f\n",GDCUnique,SVP.SV.Prn(),j+1,ibad[k],
+ //d1,d2);
+ }
+ if(GDC.Debug>6) LGF << "GF Out/GF Slip " << GDCUnique
+ << " " << SVP.SV
+ << " " << j+1 << " test:"
+ << " Stat1(" << St1.N() << ")="
+ << fixed << setw(7) << setprecision(3)
+ << St1.Average() << "+-" << setprecision(3)
+ << St1.StdDev()
+ << " Stat2(" << St2.N() << ")="
+ << fixed << setw(7) << setprecision(3)
+ << St2.Average() << "+-" << setprecision(3)
+ << St2.StdDev();
+
+ // now the test: if sigmas big OR averages differ, reject
+ if(St1.StdDev() > GDC.GFDetectMaxSigma ||
+ St2.StdDev() > GDC.GFDetectMaxSigma ||
+ fabs(St1.Average()-St2.Average()) > GDC.GFDetectMaxSigma) {
+ for(k=1; k<nout; k++) {
+ ibad[k-1]=ibad[k];
+ dbad[k-1]=dbad[k];
+ }
+ nout--;
+ if(GDC.Debug>6) LGF << " :O\n";
+ }
+ else if(GDC.Debug>6) LGF << " :S\n";
+
+ } // end if more than min anomalous points
+
+ // --------------------------------------------------
+ if(nout < GDC.GFNOutliers) { // outlier
+ // 0,1,2,4,8 -> -16,-15,-14,-12,-8
+ SVP.Flag[i] += SVPass::GFBAD;
+ ibad[nout] = i;
+ dbad[nout] = data;
+ nout++;
+ if(GDC.Debug>6) LGF << "GF Out " << GDCUnique << " " << SVP.SV
+ << " at # " << i << " " << ttag << " ("
+ << fixed << setw(7) << setprecision(4) << fabs(data-SVP.P2[ilast])
+ << " > " << setw(7) << setprecision(4) << GDC.GFOnlySlipTol
+ << ")\n";
+ }
+ // --------------------------------------------------
+ else { // slip
+ // undo 'outlier' status of prev nout points
+ // find first good point of segment and mark
+ newbeg = -1;
+ for(k=0; k<nout; k++) {
+ if(SVP.Flag[ibad[k]] < SVPass::SETBAD) {
+ // -16,-15,-14,-12,-8 -> 0,1,2,4,8
+ SVP.Flag[ibad[k]] -= SVPass::GFBAD;
+ if(newbeg == -1) {
+ newbeg = ibad[k];
+ SVP.Flag[ibad[k]] |= SVPass::SLIPGF;
+ ttag = SVP.BegTime;
+ ttag += double(ibad[k]) * GDC.DT;
+ }
+ }
+ }
+
+ // create a new Segment
+ Segment Snew(*it);
+ Snew.nbeg = newbeg;
+ Snew.nend = it->nend;
+ it->nend = ilast;
+ Snew.npts = 0;
+ Snew.bias2 *= wl21; // undone later
+ Snew.NWL = 0; // this is GFonly slip
+
+ // if Stats WLStat needed in both segments,
+ // have to recompute here!
+
+ // add new Segment after it and redefine it (j is unchanged)
+ it++;
+ it = SegList.insert(it,Snew);
+
+ if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique
+ << " " << SVP.SV << " " << j+1
+ << " (w/o WL): new Segment at # " << Snew.nbeg << " " << ttag
+ << " " << fixed << setw(13) << setprecision(3)
+ << data-SVP.P2[ilast] << endl;
+
+ break; // ...the for loop - go to next (new) Segment
+
+ } // end if slip
+
+ } // end if anomalous point
+
+ // --------------------------------------------------
+ else { // it is not anomalous point
+ ilast = i;
+ nout = 0;
+ it->npts++; // count good points
+ SVP.P2[i] = data; // = (L2-fit)/wl21
+ SVP.L2[i] = fit; // = L2/wl21
+
+ } // end if not anomalous point
+
+ } // end if good point
+
+ ttag += GDC.DT;
+
+ } // end for loop over points within the segment
+
+ } // end loop over segments
+
+ CorrectSegments(SVP,GDC);
+
+ if(GDC.Debug > 4) DumpSegments("GFD",GDCUnique,GDC,SVP);
+
+ if(SegList.size() <= 0) {
+ if(GDC.Debug>4) LGF << "Abort GDC: No good data in GFSlipDetect.\n";
+ return PrematureEnd;
+ }
+
+ return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+ LGF << "GFSlipDetect threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end GFSlipDetect(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// fit a polynomial to the geometry-free range in the super-Segment
+int GFRangePolynomialFit(SVPass& SVP,GDCConfig& GDC,list<Segment>::iterator& it,int j)
+{
+try {
+ int i,nb,ne,dn,npts,ndeg;
+ double t,data,fit;
+ DayTime ttag;
+
+ nb = it->nbeg; // beginning of super-Segment
+ ne = it->nend; // end of Segment
+ dn = ne-nb;
+ // count the number of good points in super-Segment
+ npts = 0;
+ for(i=nb; i<=ne; i++) {
+ if(SVP.Flag[i] >= SVPass::OK) npts++;
+ }
+
+ // determine the degree of the polynomial fit to GFRange
+ // ndeg = MIN( 10, MIN( (2+2*minutes_in_seg/100), (npts-1) )
+ ndeg = 2+long((dn+1)*GDC.DT/3000.0 + 0.5);
+ if(npts-1 < ndeg) ndeg=npts-1;
+ if(ndeg > GDC.GFPolyMaxDegree) ndeg=GDC.GFPolyMaxDegree;
+ if(ndeg < 2) {
+ //if(GDC.Debug)
+ //LGF << "GF Slip Detect polynomial degree is too small: " << ndeg << endl;
+ return PrematureEnd;
+ }
+
+ // do the polynomial fit
+ it->PF.Reset(unsigned(ndeg));
+ for(i=nb; i<=ne; i++) {
+ if(SVP.Flag[i] >= SVPass::OK) {
+ // time is rescaled to [-1 to +1]
+ t = 2*double(i-nb)/dn - 1.0;
+ it->PF.Add(SVP.P2[i],t);
+ }
+ }
+
+ // evaluate the RMS residual of fit - do we need to change ndeg?
+ if(it->PF.isSingular()) {
+ LGF << "GDC: GF Slip Detect Segment " << j+1
+ << ": Polynomial fit is singular!\n";
+ return FatalProblem;
+ }
+
+ it->RMSROF = 0.0;
+ ttag = SVP.BegTime;
+ ttag += double(nb) * GDC.DT;
+ for(i=nb; i<=ne; i++) {
+ if(SVP.Flag[i] >= SVPass::OK) {
+ t = 2*double(i-nb)/dn - 1.0;
+ data = SVP.P2[i];
+ fit = it->PF.Evaluate(t);
+ it->RMSROF = RSS(it->RMSROF,data-fit);
+ // print ttag,GFP(m),t,GFR(m),fit(m),res(m)
+ if(GDC.Debug>5) LGF << "GFRF " << GDCUnique << " " << SVP.SV << " " << j+1
+ << ttag.printf(" %13.6Q ") << fixed
+ << " " << setw(7) << setprecision(4) << SVP.L2[i]
+ << " " << setw(8) << setprecision(3) << t
+ << " " << setw(8) << setprecision(3) << data
+ << " " << setw(8) << setprecision(3) << fit
+ << " " << setw(8) << setprecision(3) << data-fit
+ << " " << i << endl;
+ }
+ ttag += GDC.DT;
+ }
+
+ // RMS residual of fit
+ it->RMSROF /= sqrt(double(npts));
+ if(GDC.Debug>6) LGF << "GFProc Segment " << j+1 << " RMSROF ("
+ << npts << " pts, " << ndeg << " deg) "
+ << fixed << setw(8) << setprecision(3) << it->RMSROF << endl;
+
+ // test RMS residual of fit (ROF) - nothing is done with this
+ //if(it->RMSROF > GDC.GFRMaxRMSFit) ??
+
+ return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+ LGF << "GFRangePolynomialFit threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end GFRangePolynomialFit()
+
+//------------------------------------------------------------------------------------
+// Called by GFSlipFix(). Given two consecutive Segments, with a GF slip between
+// them, compute the degree of polynomial, and then fit polynomials to the GF
+// Phase, compute RMS residuals of fit, the number of points used in the fit,
+// and the estimated discontinuity.
+// Note on signs. Note that L2 = GFP-N1-bias2. Thus, if D = fut-past operator,
+// then DL2 = DGFP - DN1 - Dbias2, but DGFP=0 (no slips)
+// and so DN1 = -DL2-Dbias2
+//
+// Return Singular or ReturnOK
+int GFSlipEstimate(SVPass& SVP, GDCConfig& GDC, list<Segment>::iterator& itpast,
+ list<Segment>::iterator& itfuture, int NFit, double *ROF, int *npts,
+ double& discontinuity)
+{
+try {
+ int i,k,nb[2],ne[2];
+ double t,d,data,fit,ti,bias;
+ DayTime ttag;
+ PolyFit<double> SPF[2];
+
+ // unique number for debug purposes
+ GFSj++;
+
+ // range of indexes for data in fit
+ ne[0] = itpast->nend;
+ nb[0] = ne[0]-NFit;
+ if(nb[0] < itpast->nbeg) nb[0]=itpast->nbeg;
+ nb[1] = itfuture->nbeg;
+ ne[1] = nb[1]+NFit;
+ if(ne[1] > itfuture->nend) ne[1]=itfuture->nend;
+
+ //--------------------------------------------------------
+ // now do the fits and compute the residuals
+ for(k=0; k<2; k++) { // loop over past(0), future(1)
+ // time tag of slip
+ ttag = SVP.BegTime;
+ ttag += double(itfuture->nbeg) * GDC.DT;
+
+ // fit polynominals
+ SPF[k].Reset(3); // degree 3 (quadratic) ?DCparam?
+
+ // loop over points in the fit
+ npts[k] = 0;
+ d = 2.0/double(ne[k]-nb[k]);
+ for(i=nb[k]; i<=ne[k]; i++) {
+ if(SVP.Flag[i] >= SVPass::OK) {
+ // time is rescaled to [-1 to +1]
+ t = d*double(i-nb[k]) - 1.0;
+ data = SVP.L2[i];
+ SPF[k].Add(data,t);
+ npts[k]++;
+ }
+ }
+
+ // error exit
+ if(npts[k] < 4) {
+ ROF[k] = 0;
+ return PrematureEnd;
+ }
+ if(SPF[k].isSingular()) {
+ LGF << "GDC: GF Slip Fix Polynomial fit " << k << " at " << ttag
+ << "is singular!\n";
+ ROF[k] = 0; // this flags bad solution
+ return Singular;
+ }
+
+ // compute residuals of fit
+ ROF[k] = 0.0;
+ ttag = SVP.BegTime;
+ ttag += double(nb[k]) * GDC.DT;
+ d = 2.0/double(ne[k]-nb[k]);
+ // bias is for output purposes only - if 0, slip shows in plots
+ bias = 0.0;
+ if(k==1) bias = SVP.L2[itfuture->nbeg] - SVP.L2[itpast->nend];
+
+ // loop over data computing ROF
+ for(i=nb[k]; i<=ne[k]; i++) {
+ if(SVP.Flag[i] >= SVPass::OK) {
+ // 'time' t is scaled to [-1,1]
+ t = d*double(i-nb[k]) - 1.0;
+ data = SVP.L2[i];
+ fit = SPF[k].Evaluate(t);
+ ROF[k] = RSS(ROF[k],data-fit);
+ // print ttag,GFP(m),t,GFR(m),fit(m),res(m)
+ if(GDC.Debug>5) LGF << "GFS " << GDCUnique << " " << SVP.SV << " " << GFSj
+ << ttag.printf(" %13.6Q ") << fixed
+ << " " << setw(7) << setprecision(3) << t
+ << " " << setw(8) << setprecision(3) << data-bias
+ << " " << setw(8) << setprecision(3) << fit-bias
+ << " " << setw(8) << setprecision(3) << data-fit
+ << endl;
+ }
+ ttag += GDC.DT;
+ } // end loop over data
+
+ ROF[k] /= sqrt(double(npts[k]));
+
+ } // end loop over past,future fits
+
+ // estimate the discontinuity
+ // 'index' of the mid-pt of gap
+ ti = itpast->nend + 0.5*(itfuture->nbeg-itpast->nend);
+ // time tag
+ ttag = SVP.BegTime;
+ ttag += double(ti) * GDC.DT;
+
+ // evaluate on the 'future' side
+ t = 2*double(ti-nb[1])/double(ne[1]-nb[1]) - 1.0;
+ discontinuity = -SPF[1].Evaluate(t);
+
+ // output result of fit
+ if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV << " " << GFSj
+ << " est future at " << ttag << fixed
+ << " t=" << setw(7) << setprecision(3) << t
+ << " value=" << setw(8) << setprecision(4) << discontinuity << endl;
+
+ // evaluate on the 'past' side
+ t = 2*double(ti-nb[0])/double(ne[0]-nb[0]) - 1.0;
+ fit = SPF[0].Evaluate(t);
+ discontinuity += fit;
+
+ // output result of fit
+ if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV << " " << GFSj
+ << " est past at " << ttag << fixed
+ << " t=" << setw(7) << setprecision(3) << t
+ << " value=" << setw(8) << setprecision(4) << fit << endl;
+
+ // include biases
+ discontinuity -= itfuture->bias2 - itpast->bias2;
+
+ if(GDC.Debug>1) {
+ long n1=long(discontinuity+(discontinuity>0?0.5:-0.5));
+ double disc=discontinuity-double(n1);
+ if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV << " " << GFSj
+ << " at " << ttag << " = " << n1 << " + " << fixed
+ << setw(6) << setprecision(3) << disc << endl;
+ if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV << " " << GFSj
+ << " fit of future, " << npts[1] << ", RMSROF " << fixed
+ << setw(8) << setprecision(3) << ROF[1] << endl;
+ if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV << " " << GFSj
+ << " fit of past, " << npts[0] << ", RMSROF " << fixed
+ << setw(8) << setprecision(3) << ROF[0] << endl;
+ }
+
+ return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+ LGF << "GFSlipEstimate threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end GFSlipEstimate(SVP,GDC,it,itprev,nfit,ROF,npts,disc)
+
+//------------------------------------------------------------------------------------
+// Loop over Segments: Fit polynomials to either side of the GF slips;
+// Fix the GF slips.
+//
+// After this routine arrays are L1 = L1 phase (cycles)
+// L2 = GFP(cycles) - bias2
+// P1 = WLB (cy) - bias1
+// P2 = GFP-Fit(-GFR)(cycles)
+// i.e. no slips, and bias2 is in units of cycles (of wl21)
+//
+int GFSlipFix(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+ if(GDC.Debug > 5) LGF << "GF.............................................."
+ << "..................................\n";
+
+ if(SegList.size() <= 1) return ReturnOK;
+
+ bool fix[5];
+ int i,j,k,ngap,nfit,nfit0,npts[2];
+ int NpreEnd,NfutBeg,NpreEm1,NfutBm1,FfutBeg,FfutBm1;
+ long n1[5];
+ double disc[5],ROF[10],bias,test;
+ list<Segment>::iterator it,itprev;
+
+ GFSj = 0;
+ // bias2 and L2 are in units of cycles of wl21
+ // start with the second segment
+ it = SegList.begin();
+ for(j=2,it++; it != SegList.end(); j++,it++) {
+ if(SVP.Flag[it->nbeg]>0 && (SVP.Flag[it->nbeg] & SVPass::SLIPGF)) {
+ // found a GF slip
+ // Segment in the past of the slip (it is in future of slip)
+ itprev = it;
+ itprev--;
+ // nominal slip - for output purposes only
+ bias = SVP.L2[it->nbeg] - SVP.L2[itprev->nend];
+
+ // compute number of points to fit
+ nfit = GDC.GFFitNMin;
+ ngap = it->nbeg - itprev->nend - 1;
+ nfit = int(GDC.GFFitTime/GDC.DT) + 2*ngap + 2;
+ if(nfit < GDC.GFFitNMin) nfit=GDC.GFFitNMin;
+
+ // do the estimation up to 5 times: first regular, then
+ // remove 2 points closest to slips, then 2 more, then
+ // half as many points, then twice as many
+ k = 0;
+ do {
+ // ---------------------------------------------------------
+ // fit polynomials, compute stats, estimate discontinuity
+ // TD figure out how many good points there are before calling
+ // TD do all the different fits, then choose the best.
+ i = GFSlipEstimate(SVP,GDC,itprev,it,nfit,&ROF[2*k],npts,disc[k]);
+ if(i < ReturnOK) return i;
+ // set ROF=0 to flag bad solution if(i > ReturnOK) fix=false;
+ else { // increment k and try again
+ k++;
+ if(k==1) { // first re-try: remove two points
+ NpreEnd = itprev->nend;
+ NfutBeg = it->nbeg;
+ FfutBeg = SVP.Flag[it->nbeg];
+ SVP.Flag[itprev->nend] = SVP.Flag[it->nbeg] = -99;
+ while(SVP.Flag[itprev->nend] < SVPass::OK) itprev->nend--;
+ while(SVP.Flag[it->nbeg] < SVPass::OK) it->nbeg++;
+ }
+ else if(k==2) { // second re-try: remove two more
+ NpreEm1 = itprev->nend;
+ NfutBm1 = it->nbeg;
+ FfutBm1 = SVP.Flag[it->nbeg];
+ SVP.Flag[itprev->nend] = SVP.Flag[it->nbeg] = -99;
+ while(SVP.Flag[itprev->nend] < SVPass::OK) itprev->nend--;
+ while(SVP.Flag[it->nbeg] < SVPass::OK) it->nbeg++;
+ }
+ else if(k==3) { // third re-try: halve npts
+ SVP.Flag[NpreEnd] = SVP.Flag[NpreEm1] = SVPass::OK;
+ SVP.Flag[NfutBeg] = FfutBeg;
+ SVP.Flag[NfutBm1] = FfutBm1;
+ itprev->nend = NpreEnd;
+ it->nbeg = NfutBeg;
+ nfit0 = nfit;
+ nfit = nfit0/2;
+ if(nfit < 8) nfit=8; // absolute minimum ?DCparam?
+ // ? increase degree of polynomial?
+ }
+ else if(k==4) { // fourth re-try: double npts
+ nfit = 2*nfit0;
+ }
+ else break; // give up
+ } // end if successful fit
+ } while(1);
+
+ // choose the best result
+ int kmin=-1;
+ for(k=0; k<5; k++) {
+ if(ROF[2*k]==0 || ROF[2*k+1]==0) { fix[k]=false; continue; }
+
+ // divide into integer and fractional parts
+ // GFP+GFR = wl2*NWL - wl21*N1 so n1 = -N1
+ n1[k] = long(disc[k] + (disc[k]>0?0.5:-0.5));
+ disc[k] -= double(n1[k]);
+
+ // ----------------------------------
+ // Here is the test: can it be fixed?
+ fix[k] = true;
+
+ // (1) check the gap - if too large, must fail
+ test = (it->nbeg-itprev->nend)*GDC.DT;
+ if(test > GDC.GFFixMaxGap) {
+ if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV
+ << " " << j << "." << GFSj << " fix FAILS (Gap too large " << fixed
+ << setw(5) << setprecision(3) << test << " > "
+ << setw(5) << setprecision(3) << GDC.GFFixMaxGap << ")\n";
+ fix[k] = false;
+ }
+ // (2) RMS residual of fit is small, on both sides
+ if(ROF[2*k] >= GDC.GFFixSigma || ROF[2*k+1] >= GDC.GFFixSigma) {
+ if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV
+ << " " << j << "." << GFSj << " fix FAILS (Sigma too large "
+ << fixed
+ << setw(7) << setprecision(3) << test << " | " << ROF[2*k]
+ << setw(7) << setprecision(3) << test << " >= " << ROF[2*k+1]
+ << setw(7) << setprecision(3) << GDC.GFFixSigma << ")\n";
+ fix[k] = false;
+ }
+ // (3) fractional part of offset is small
+ //if(fabs(disc[k]) > C.GFFixFrac) {
+ // if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV
+ // << " " << j << "." << GFSj
+ // << " fix FAILS (Fractional part large " << fixed
+ // << setw(6) << setprecision(4) << fabs(disc[k]) << " > "
+ // << setw(6) << setprecision(4) << GDC.GFFixFrac << ")\n";
+ // fix[k] = false;
+ //}
+
+ if(kmin == -1 ||
+ (ROF[2*k]+ROF[2*k+1] < ROF[2*kmin]+ROF[2*kmin+1])) kmin=k;
+
+ } // end loop over 5 possible fixes
+
+ // ------------------------------------------------------
+ // fix the slip
+ if(kmin > -1 && fix[kmin]) { // success
+ SVP.Flag[it->nbeg] |= SVPass::FIXGF;
+ SVP.Flag[it->nbeg] ^= SVPass::SLIPGF;
+ it->N1 = n1[kmin];
+ if(GDC.Debug > 0) {
+ DayTime ttag;
+ ttag = SVP.BegTime;
+ ttag += double(it->nbeg) * GDC.DT;
+ if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " "
+ << SVP.SV << " " << GFSj
+ << " FIX at " << ttag << " = " << n1[kmin] << fixed
+ << " " << setw(6) << setprecision(3) << disc[kmin] << endl;
+ if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " "
+ << SVP.SV << " " << GFSj
+ << " fit of past, RMSROF " << fixed
+ << setw(8) << setprecision(3) << ROF[2*kmin] << endl;
+ if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " "
+ << SVP.SV << " " << GFSj
+ << " fit of future, RMSROF " << fixed
+ << setw(8) << setprecision(3) << ROF[2*kmin+1] << endl;
+ }
+ }
+ else if(kmin > -1) it->N1=n1[kmin]; // failure but have N1
+ else it->N1 = 0; // failure
+
+ // Make NWL -> N2
+ it->NWL = it->N1 - it->NWL; // N1-(N1-N2)=N2
+
+ } // end if GF slip was previously found
+
+ else { // no GF slip -> N1==0
+ it->N1 = 0; // may not be necessary...
+ it->NWL = -it->NWL; // NWL -> N2 = 0-NWL
+ }
+
+ } // end loop over segments
+
+ return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+ LGF << "GFSlipFix threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end GFSlipFix(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Loop over the data and correct the L1 and L2 data arrays. First correct for
+// N1 in both L1 and GFP, then solve for L1 and L2 and convert to cycles.
+int CorrectData(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+ int i,j;
+ long N1;
+ double bias1,bias2;
+ DayTime ttag;
+ list<Segment>::iterator it;
+
+ // loop over all the data in the SVPass,
+ // keeping pointer to Segment j at same time
+ j = 0;
+ N1 = 0;
+ it = SegList.begin();
+ bias1 = 0;
+ bias2 = it->bias2*wl21; // overall GFP bias in meters
+ ttag = SVP.BegTime;
+
+ for(i=0; i<SVP.Length; i++) {
+ // check for beginning of Segment
+ // N1 must accumulate
+ if(i == it->nbeg) {
+ if(SVP.Flag[i] & SVPass::FIXGF) N1 += it->N1;
+ else N1 = 0;
+ }
+
+ // modify the data
+ if(i >= it->nbeg && (SVP.Flag[i]>=SVPass::OK || SVP.Flag[i]==SVPass::SETBAD)) {
+ SVP.L1[i] -= N1; // correct L1 for GF slips
+ SVP.L2[i] += N1; // correct GFP for GF slips
+ SVP.L2[i] += it->bias2; // restore bias on GFP
+ SVP.L2[i] *= wl21; // convert to GF (m)
+ SVP.L2[i] = wl1*SVP.L1[i]-SVP.L2[i]; // convert to L2 (m)
+ SVP.L2[i] /= wl2; // convert to L2 cycles
+
+ // output WL range minus phase and GF phase
+ //if(dormp && C.fplog && C.Debug>1) {
+ // double gfp = gf1p*SVP.L1[i]+gf2p*SVP.L2[i]; // GFP(meters)
+ // gfp -= bias2;
+ // fprintf(C.fplog,"%s %d %2.2d %13.6f %13.3f %13.3f\n",
+ // (SVP.Flag[i]>=SVPass::OK ? "RMP ":"RMPX"),
+ // GDCUnique,SVP.SV.Prn(),t.MJD(),SVP.P1[i]-bias1,gfp);
+ //}
+ }
+
+ // check for end of Segment - need it for N1, bias2
+ if(i == it->nend) {
+ bias1 += it->bias1; // output purposes only
+ j++;
+ it++;
+ if(it==SegList.end()) break;
+ bias1 -= it->bias1; // output purposes only
+ }
+
+ ttag += GDC.DT;
+ } // end for loop over all data
+
+ if(GDC.Debug > 4) DumpSegments("AFT",GDCUnique,GDC,SVP);
+
+ return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+ LGF << "CorrectData threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end CorrectData(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Modify nbeg or nend for bad points at beginning and end, and create new
+// Segments where SLIPs have been marked. Modify the bias.
+// Then delete Segments smaller than the limit...this is only place where
+// Segments are deleted.
+void CorrectSegments(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+ int i,j,nb,ne;
+ list<Segment>::iterator it,jt;
+
+ // loop over segments, changing start and stop
+ for(it=SegList.begin(); it != SegList.end(); it++) {
+ // change start point
+ nb = it->nbeg;
+ ne = it->nend;
+ while(nb <= ne && SVP.Flag[nb] < SVPass::OK) nb++;
+ it->nbeg = nb;
+ while(ne >= nb && SVP.Flag[ne] < SVPass::OK) ne--;
+ it->nend = ne;
+ }
+
+ // now delete small Segments
+ for(j=0,it=SegList.begin(); it != SegList.end(); j++,it++) {
+ jt = it;
+ jt++; // jt points to the next Segment
+ if(it->npts < GDC.MinPts || GDC.DT*(it->nend-it->nbeg+1) < GDC.MinSeg) {
+ if(GDC.Debug>4) LGF << "DEL " << GDCUnique << " " << SVP.SV << " Seg #"
+ << setw(2) << j+1 << ": " << setw(3) << it->npts << " pts, # "
+ << setw(3) << it->nbeg << "-" << setw(4) << it->nend << endl;
+
+ // remove from list
+ if(SVP.Flag[it->nbeg] > SVPass::SLIP) { // it has been fixed
+ // if deleting a Segment that has been fixed, give flags to next Segment
+ if(jt != SegList.end()) {
+ if(SVP.Flag[it->nbeg] & SVPass::FIXWL)
+ SVP.Flag[jt->nbeg] |= SVPass::FIXWL;
+ if(SVP.Flag[it->nbeg] & SVPass::FIXGF)
+ SVP.Flag[jt->nbeg] |= SVPass::FIXGF;
+ }
+ //else GDCNFix--;
+ }
+ // mark all the points bad
+ for(i=it->nbeg; i<=it->nend; i++)
+ if(SVP.Flag[i] >= SVPass::OK) SVP.Flag[i]=SVPass::SETBAD;
+
+ // remove the segment from the list
+ SegList.erase(it);
+ it = jt;
+ }
+ }
+
+ // if the first Segment gets deleted, it leaves a SLIP flag on SL[0]
+ if(SegList.size() <= 0) return;
+ SVP.Flag[SegList.begin()->nbeg] = SVPass::OK;
+}
+catch(gpstk::Exception& e) {
+ LGF << "CorrectSegments threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+} // end CorrectSegments(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+void DumpSegments(const string& lab, int N, GDCConfig& GDC, SVPass& SVP)
+{
+try {
+ if(GDC.Debug<5) return;
+
+ int i,j;
+ DayTime ttag;
+ list<Segment>::iterator it,itprev;
+
+ // first print a list of Segments and stats
+ LGF << lab << " list of Segments (" << SegList.size()
+ << "): (" << GDCNFix << " fixed, " << GDCNFail << " failed)\n";
+ for(i=1,it=SegList.begin(); it!=SegList.end(); i++,it++) {
+ LGF << lab << "List " << GDCUnique << " " << SVP.SV << " #" << i << ": ";
+ if(SVP.Flag[it->nbeg] == SVPass::OK) LGF << " 000";
+ if(SVP.Flag[it->nbeg] & SVPass::SLIPWL) LGF << " SWL";
+ if(SVP.Flag[it->nbeg] & SVPass::FIXWL) LGF << " FWL";
+ if(SVP.Flag[it->nbeg] & SVPass::SLIPGF) LGF << " SGF";
+ if(SVP.Flag[it->nbeg] & SVPass::FIXGF) LGF << " FGF";
+ LGF << setw(4) << it->npts << " pts, # "
+ << setw(4) << it->nbeg << "-" << setw(4) << it->nend;
+ ttag = SVP.BegTime;
+ ttag += it->nbeg * GDC.DT;
+ LGF << " (" << ttag;
+ ttag = SVP.BegTime;
+ ttag += it->nend * GDC.DT;
+ LGF << ttag;
+ LGF << ") bias1=" << fixed << setw(13) << setprecision(3) << it->bias1
+ << " bias2=" << fixed << setw(13) << setprecision(3) << it->bias2;
+ if(it != SegList.begin()) LGF << " Gap " << setw(5) << setprecision(1) <<
+ GDC.DT*(it->nbeg-itprev->nend) << " s = " <<
+ it->nbeg-itprev->nend << " pts";
+ LGF << endl;
+ itprev = it;
+ }
+
+ if(GDC.Debug < 6) return;
+
+ for(i=1,it=SegList.begin(); it!=SegList.end(); i++,it++) {
+ ttag = SVP.BegTime;
+ ttag += it->nbeg*GDC.DT;
+ // don't print when BAD b/c data may be corrupt due to absence of satellite
+ for(j=it->nbeg; j<=it->nend; j++) {
+ if(SVP.Flag[j] != SVPass::BAD) {
+ LGF << "DSC" << lab << " " << N << " " << SVP.SV << " " << i
+ << " " << ttag.printf("%13.6Q") << setw(3) << SVP.Flag[j]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.L1[j]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.L2[j]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.P1[j]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.P2[j];
+ if(SVP.A1 && SVP.A2) LGF
+ << " " << fixed << setw(13) << setprecision(3) << SVP.A1[j]
+ << " " << fixed << setw(13) << setprecision(3) << SVP.A2[j];
+ LGF << " " << setw(4) << j;
+ if(j==it->nbeg) LGF
+ << " " << fixed << setw(13) << setprecision(3) << it->bias1
+ << " " << fixed << setw(13) << setprecision(3) << it->bias2
+ << " " << it->N1 << " " << it->NWL;
+ LGF << endl;
+ }
+ ttag += GDC.DT;
+ }
+ }
+}
+catch(gpstk::Exception& e) {
+ LGF << "DumpSegments threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+} // end DumpSegments(char *lab, int N, GDCConfig& GDC, SVPass& SVP) // ? string?
+
+//------------------------------------------------------------------------------------
+// Set all SETBAD points to BAD.
+// Also mark the beginning of every segment as slip, unless it was fixed.
+// This is the only place where editing commands are generated.
+int OutputAndQuit(SVPass& SVP, GDCConfig& GDC, vector<string>& EditCmds, int iret)
+{
+try {
+ int i,j,inbad,nbad;
+ DayTime ttag;
+ string cmd;
+
+ EditCmds.clear();
+
+ // loop over points in the entire pass, looking for data set bad by DC
+ for(nbad=0,i=0; i<SVP.Length; i++) {
+ if(SVP.Flag[i] == SVPass::SETBAD) { // data has been set bad
+ if(nbad == 0) inbad = i;
+ nbad++;
+ }
+ if(nbad > 0 && GDC.FixOutput
+ && (SVP.Flag[i] != SVPass::SETBAD || i==SVP.Length-1)) {
+ // write out delete commands for bad data
+ ttag = SVP.BegTime;
+ ttag += double(inbad) * GDC.DT;
+ if(nbad == 1) { // delete a single point
+ if(GDC.Debug) {
+ ostringstream stst;
+ stst << "# delete a single point";
+ EditCmds.push_back(stst.str());
+ }
+ {
+ ostringstream stst;
+ stst << "-DS" << SVP.SV << ",";
+ if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+ else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+ EditCmds.push_back(stst.str());
+ }
+ }
+ else { // delete a range
+ if(GDC.Debug) {
+ ostringstream stst;
+ stst << "# delete " << nbad << " points";
+ EditCmds.push_back(stst.str());
+ }
+ {
+ ostringstream stst;
+ stst << "-DS+" << SVP.SV << ",";
+ if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+ else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+ EditCmds.push_back(stst.str());
+ }
+ {
+ ostringstream stst;
+ ttag += double(nbad) * GDC.DT;
+ stst << "-DS-" << SVP.SV << ",";
+ if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+ else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+ EditCmds.push_back(stst.str());
+ }
+ }
+ nbad = 0;
+ }
+
+ if(SVP.Flag[i] < SVPass::OK) {
+ // set all bad data to BAD, the only 'bad' flag the caller has
+ SVP.Flag[i]=SVPass::BAD;
+ }
+ }
+
+ // loop over Segments looking for slips
+ list<Segment>::iterator it;
+ for(it=SegList.begin(); it != SegList.end(); it++) {
+ j = it->nbeg;
+ ttag = SVP.BegTime;
+ ttag += double(j) * GDC.DT;
+
+ if(SVP.Flag[j] & SVPass::SLIPWL ||
+ SVP.Flag[j] & SVPass::SLIPGF ||
+ SVP.Flag[j] & SVPass::FIX) { // slip was found
+
+ if(GDC.Debug>3) LGF << "DSCSLP " << GDCUnique << " " << SVP.SV
+ << " " << setw(2) << i+1
+ << ttag.printf(" %13.6Q ") << setw(2) << SVP.Flag[j] << fixed
+ << " " << setw(13) << setprecision(3) << SVP.L1[j]
+ << " " << setw(13) << setprecision(3) << SVP.L2[j]
+ << " " << setw(13) << setprecision(3) << SVP.P1[j]
+ << " " << setw(13) << setprecision(3) << SVP.P2[j] << endl;
+
+ // L1
+ // fix slip, even if fix failed....
+ {
+ ostringstream stst;
+ stst << "-BD+" << SVP.SV << ",L1,";
+ if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+ else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+ stst << "," << -(it->N1) << (SVP.Flag[j]&SVPass::FIX?"":"#fix failed");
+ EditCmds.push_back(stst.str());
+ }
+ // if fix failed, set loss of lock flag
+ if(SVP.Flag[j] & SVPass::SLIPWL || SVP.Flag[j] & SVPass::SLIPGF) {
+ ostringstream stst;
+ stst << "-SL" << SVP.SV << ",L1,";
+ if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+ else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+ stst << ",1";
+ EditCmds.push_back(stst.str());
+ }
+
+ // L2
+ // fix slip, even if fix failed... N2 = it->NWL now
+ {
+ ostringstream stst;
+ stst << "-BD+" << SVP.SV << ",L2,";
+ if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+ else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+ stst << "," << -(it->NWL) << (SVP.Flag[j]&SVPass::FIX?"":"#fix failed");
+ EditCmds.push_back(stst.str());
+ }
+ // if fix failed, set loss of lock flag
+ if(SVP.Flag[j] & SVPass::SLIPWL || SVP.Flag[j] & SVPass::SLIPGF) {
+ ostringstream stst;
+ stst << "-SL" << SVP.SV << ",L2,";
+ if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+ else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+ stst << ",1";
+ EditCmds.push_back(stst.str());
+ GDCNFail++;
+ }
+ else GDCNFix++;
+ }
+ else { // mark loss of lock on any segment without slip
+ { // set L1 LLI flag to 1
+ ostringstream stst;
+ stst << "-SL" << SVP.SV << ",L1,";
+ if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+ else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+ stst << ",1";
+ EditCmds.push_back(stst.str());
+ }
+ { // set L2 LLI flag to 1
+ ostringstream stst;
+ stst << "-SL" << SVP.SV << ",L2,";
+ if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+ else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+ stst << ",1";
+ EditCmds.push_back(stst.str());
+ }
+ // reset slip count
+ // mark beginning of every segment as slip, unless fixed
+ SVP.Flag[j] |= SVPass::SLIP;
+ }
+ }
+
+ // dump the edit commands to the output
+ if(GDC.Debug>2 && EditCmds.size()>0) {
+ LGF << "Results (RinexEdit commands):\n";
+ for(i=0; i<EditCmds.size(); i++) LGF << EditCmds[i] << endl;
+ }
+
+ if(iret && GDC.Debug>1) {
+ LGF << "GPSTK Discontinuity Corrector returning (" << iret << "): ";
+ if(iret==FatalProblem) LGF << "Fatal problem";
+ else if(iret==PrematureEnd) LGF << "Too few points; pass rejected";
+ else if(iret==Singular) LGF << "Singular GFR polynomial fit";
+ LGF << endl;
+ }
+
+ if(GDC.Debug > 4) {
+ LGF << "GDC " << setw(2) << GDCUnique << ", PRN " << SVP.SV
+ << ", Pts " << setw(4)
+ << SVP.Npts << ", " << SVP.BegTime << " Slip " << GDCNFix+GDCNFail
+ << ", Fix " << GDCNFix << ", Fail " << GDCNFail << endl;
+ LGF << "========End GPSTK Discontinuity Corrector " << GDCUnique << " ("
+ << iret << ") ============================================\n\n";
+ }
+
+ // destroy the Segment list
+ SegList.clear();
+
+ return iret;
+}
+catch(gpstk::Exception& e) {
+ LGF << "OutputAndQuit threw an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+ return FatalProblem;
+} // end OutputAndQuit(SVPass& SVP, GDCConfig& C, vector<string>& EditCmds, int iret)
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+// GDCConfig routines
+//------------------------------------------------------------------------------------
+// Set defaults
+GDCConfig::GDCConfig(void)
+{
+//Misc
+ oflog = &cout;
+ help = false;
+ Debug = 0;
+ DT = 0;
+//Editing
+ MinRange = 1.e4;
+ MaxRange = 1.e16;
+//Segment
+ MaxGap = 180;
+ MinSeg = 200;
+ MinPts = 13;
+//WL R-Ph processing
+ WLNSigma = 4;
+ WLSSWindowWidth = 10;
+ WLSSTestMin = 0.7;
+ WLSSDetectMin = -0.25;
+//WL slip estimation
+ WLFixMaxGap=2500;
+ WLFixNpts = 4;
+ WLFixSigma = 0.15;
+//GF Ph & Fit(R) processing
+ GFPolyMaxDegree = 10;
+ GFRMaxRMSFit = 0.0; // not implemented yet
+ GFDetectMaxSigma = 10.0;
+ GFOnlySlipTol = 10.;
+ GFSlipTol = 0.9;
+ GFNOutliers = 3;
+//GF slip estimation
+ GFFixMaxGap=250;
+ GFFitTime = 300;
+ GFFitNMin = 8;
+ GFFixSigma = 0.40;
+// Output
+ OutputGPSTime = true;
+ FixOutput = true;
+}
+
+//------------------------------------------------------------------------------------
+// Set a parameter in the configuration;
+// cmd is of the form '<id>,<value>' or '<id>=<value>' or '<id>:<value>' ;
+// to see a list of possible choices, call with cmd="help".
+// optional leading '--DC' is permitted
+void GDCConfig::SetParameter(string cmd)
+{
+try {
+ // ignore leading '-'s
+ while(cmd.size() && (cmd[0]=='-' || (cmd[0]==' '||cmd[0]=='\t'))) cmd.erase(0,1);
+ if(cmd[0]=='D' && cmd[1]=='C') cmd.erase(0,2);
+
+ string id,value;
+ string::size_type pos=cmd.find_first_of(",=:");
+ if(pos==string::npos) {
+ id=cmd;
+ value="";
+ }
+ else {
+ id=cmd.substr(0,pos);
+ value=cmd;
+ value.erase(0,pos+1);
+ }
+ double dval=StringUtils::asDouble(value);
+ if(Debug>1) *oflog << " GDC::SetParameter with " << id << " = "
+ << value << "(" << dval << ")\n";
+ //&& (*oflog).good() //
+ if(id == string("help")) help=true;
+ else if(id == string("NoFixOutput")) FixOutput=false;
+ else if(id == string("OutputGPSTime")) OutputGPSTime=!OutputGPSTime;
+ else if(id == string("Debug")) Debug=int(dval);
+ else if(id == string("DT")) DT=dval;
+ else if(id == string("MaxRange")) MaxRange=dval;
+ else if(id == string("MinRange")) MinRange=dval;
+ else if(id == string("MinPts")) MinPts=int(fabs(dval)+0.5);
+ else if(id == string("MinSeg")) MinSeg=dval;
+ else if(id == string("WLNSigma")) WLNSigma=dval;
+ else if(id == string("WLSSWindowWidth")) WLSSWindowWidth=int(dval);
+ else if(id == string("WLSSTestMin")) WLSSTestMin=dval;
+ else if(id == string("WLSSDetectMin")) WLSSDetectMin=dval;
+ else if(id == string("WLFixMaxGap")) WLFixMaxGap=fabs(dval);
+ else if(id == string("WLFixNpts")) WLFixNpts=int(fabs(dval)+0.5);
+ else if(id == string("WLFixSigma")) WLFixSigma=fabs(dval);
+ else if(id == string("GFPolynomMaxDeg")) GFPolyMaxDegree=int(dval);
+ else if(id == string("GFRMaxRMSFit")) GFRMaxRMSFit=dval;
+ else if(id == string("GFDetectMaxSigma")) GFDetectMaxSigma=dval;
+ else if(id == string("GFOnlySlipTol")) GFOnlySlipTol=fabs(dval);
+ else if(id == string("GFSlipTol")) GFSlipTol=fabs(dval);
+ else if(id == string("GFNOutliers")) {
+ GFNOutliers = int(fabs(dval)+0.5);
+ if(GFNOutliers < 3) GFNOutliers=3;
+ if(GFNOutliers > 9) GFNOutliers=9;
+ }
+ else if(id == string("GFFitTime")) GFFitTime=int(fabs(dval)+0.5);
+ else if(id == string("GFFitNMin")) GFFitNMin=int(fabs(dval)+0.5);
+ else if(id == string("GFFixMaxGap")) GFFixMaxGap=fabs(dval);
+ else if(id == string("GFFixSigma")) GFFixSigma=fabs(dval);
+ else {
+ //if((*oflog).good())
+ *oflog << " GDC::SetParam Unknown command: " << id << " = "
+ << value << "(" << dval << ")\n";
+ return;
+ }
+ return;
+}
+catch(gpstk::Exception& e) { GPSTK_RETHROW(e); }
+}
+
+//------------------------------------------------------------------------------------
+// Print help page
+void GDCConfig::DisplayParameterUsage(ostream& os)
+{
+try {
+ os << "\nGPSTK Discontinuity Corrector (Version " << GDCVersion
+ << ") parameter commands:\n";
+ os << " (each has the form 'label,value' OR 'label=value' "
+ << "with no whitespace)\n";
+ os << " Debug=<x> x: level of debugging output: 0(silent)-7(debugging)\n";
+ os << " DT=<x> x: nominal timestep in data (seconds) - "
+ << "(required : no default!)\n";
+ //os << " MaxGap=<x> x: maximum allowed gap in data (seconds)\n";
+ os << " Data Editing:\n";
+ os << " MinRange=<x> x: minimum allowed pseudorange (meters)\n";
+ os << " MaxRange=<x> x: maximum allowed pseudorange (meters)\n";
+ os << " MinPts=<x> x: minimum number of good points in phase segment ()\n";
+ os << " MinSeg=<x> x: minimum acceptable length of phase segment (seconds)\n";
+ os << " Wide-lane slip detection:\n";
+ os << " WLNSigma=<x> x: n-sigma WL slip detection ()\n";
+ os << " WLSSWindowWidth=<x> x: sliding window width (xMinWidth)\n";
+ os << " WLSSTestMin=<x> x: minimum delta averages to start test "
+ << "(WL cycles)\n";
+ os << " WLSSDetectMin=<x> x: minimum del-averages: detect WL small slip "
+ << "(WL cy)\n";
+ os << " Wide-lane slip estimation:\n";
+ os << " WLFixMaxGap=<x> x: Maximum allowed gap between segments (sec)\n";
+ os << " WLFixNpts=<x> x: Minimum number points (each segment) req'd to fix "
+ << "()\n";
+ os << " WLFixSigma=<x> x: Maximum total error on WL R-Ph to fix "
+ << "(WL cycles)\n";
+ os << " Geometry-free slip detection:\n";
+ os << " GFPolynomMaxDeg=<x> x: Maximum degree of polynomial fit to GF Range ()\n";
+ os << " GFRMaxRMSFit=<x> x: Maximum allowed RMS residual of fit to GFRange "
+ << "(m)\n";
+ os << " GFDetectMaxSigma=<x>x: Maximum allowed GF res. error: detect slip "
+ << "(cyc)\n";
+ os << " GFOnlySlipTol=<x> x: Minimum slip on GF (no WL slip) "
+ << "(cycles WL2-WL1)\n";
+ os << " GFSlipTol=<x> x: Minimum slip on GF (with WL slip) "
+ << "(cycles WL2-WL1)\n";
+ os << " GFNOutliers=<x> x: Maximum # consecutive GF outliers w/o slip "
+ << "(>=3,<10)\n";
+ os << " Geometry-free slip estimation:\n";
+ os << " GFFixMaxGap=<x> x: Maximum allowed gap between segments (sec)\n";
+ os << " GFFitTime=<x> x: Time span in fitting GF Phase for slip fix "
+ << "(sec)\n";
+ os << " GFFitNMin=<x> x: Min number of data points in fit of GF Ph ()\n";
+ os << " GFFixSigma=<x> x: Maximum RMS resid. of fit on GF Ph to fix "
+ << "(GF cycles)\n";
+ os << " Output:\n";
+ os << " OutputGPSTime Toggle GPS/YMDHMS time format in editing "
+ << "command output\n";
+ os << " NoFixOutput Turn off putting delete commands in output "
+ << "cmd list\n";
+ os << "\n";
+ os << " help Print this message.\n";
+ os << " For example, 'DT=30' or 'MinSeg:180' are valid commands\n";
+
+ // now print current values
+ os << "\nCurrent values:\n";
+ PrintParameters(os);
+}
+catch(gpstk::Exception& e) { GPSTK_RETHROW(e); }
+}
+
+//------------------------------------------------------------------------------------
+// Print current values of the parameters
+void GDCConfig::PrintParameters(ostream& os)
+{
+ os << " DT = " << fixed << setprecision(3) << DT << " (seconds)\n";
+ //os << " MaxGap = " << fixed << setprecision(3) << MaxGap << " (seconds)\n";
+ os << " Data Editing:\n";
+ if(fabs(MinRange) > 99999999.)
+ os << " MinRange = " << scientific << setprecision(3)
+ << MinRange << " (meters)\n";
+ else
+ os << " MinRange = " << fixed << setprecision(3)
+ << MinRange << " (meters)\n";
+ if(fabs(MaxRange) > 99999999.)
+ os << " MaxRange = " << scientific << setprecision(3)
+ << MaxRange << " (meters)\n";
+ else
+ os << " MaxRange = " << fixed << setprecision(3) << MaxRange << " (meters)\n";
+ os << " MinPts = " << MinPts << " (points)\n";
+ os << " MinSeg = " << fixed << setprecision(3) << MinSeg << " (seconds)\n";
+ os << " Wide-lane slip detection:\n";
+ os << " WLNSigma = " << fixed << setprecision(3) << WLNSigma << " ()\n";
+ os << " WLSSWindowWidth = " << WLSSWindowWidth << " (times min width)\n";
+ os << " WLSSTestMin = " << fixed << setprecision(3)
+ << WLSSTestMin << " (WL cycles)\n";
+ os << " WLSSDetectMin = " << fixed << setprecision(3)
+ << WLSSDetectMin << " (WL cycles)\n";
+ os << " Wide-lane slip estimation:\n";
+ os << " WLFixMaxGap = " << fixed << setprecision(3)
+ << WLFixMaxGap << " (seconds)\n";
+ os << " WLFixNpts = " << WLFixNpts << " (points)\n";
+ os << " WLFixSigma = " << fixed << setprecision(3)
+ << WLFixSigma << " (WL cycles)\n";
+ os << " Geometry-free slip detection:\n";
+ os << " GFPolynomMaxDeg = " << GFPolyMaxDegree << " ()\n";
+ os << " GFRMaxRMSFit = " << fixed << setprecision(3)
+ << GFRMaxRMSFit << " (m)\n";
+ os << " GFDetectMaxSigma = " << fixed << setprecision(3)
+ << GFDetectMaxSigma << " (5.4cm cycles)\n";
+ os << " GFOnlySlipTol = " << fixed << setprecision(3)
+ << GFOnlySlipTol << " (5.4cm cycles)\n";
+ os << " GFSlipTol = " << fixed << setprecision(3)
+ << GFSlipTol << " (5.4cm cycles)\n";
+ os << " GFNOutliers = " << GFNOutliers << " (points)\n";
+ os << " Geometry-free slip estimation:\n";
+ os << " GFFixMaxGap = " << fixed << setprecision(3)
+ << GFFixMaxGap << " (seconds)\n";
+ os << " GFFitTime = " << GFFitTime << " (seconds)\n";
+ os << " GFFitNMin = " << GFFitNMin << " (points)\n";
+ os << " GFFixSigma = " << fixed << setprecision(3)
+ << GFFixSigma << " (GF cycles)\n";
+ os << " Output:\n";
+ os << " Debug = " << Debug << endl;
+ os << " OutputGPSTime = Output time in "
+ << (OutputGPSTime?"GPS":"Conventional") << " format\n";
+ os << " NoFixOutput = " << (FixOutput?"DO":"Do NOT")
+ << " delete outliers in output commands.\n";
+}
+
+//------------------------------------------------------------------------------------
+// SVPass routines
+//------------------------------------------------------------------------------------
+const int SVPass::OK = 0; // good data, no discontinuity
+const int SVPass::BAD = -1; // used by caller and GDC to mark bad data
+const int SVPass::SETBAD = -2; // used within GDC only
+const int SVPass::GFBAD = -16; // used within GDC only
+// good data with discontinuity may have any or all of these:
+const int SVPass::SLIPWL = 1;
+const int SVPass::SLIPGF = 2;
+const int SVPass::FIXWL = 4;
+const int SVPass::FIXGF = 8;
+
+const int SVPass::SLIP = 3; // 1+2 both slips found, neither fixed
+const int SVPass::FIX = 12; // 4+8 both slips found and fixed
+
+//------------------------------------------------------------------------------------
+// empty (and only) constructor
+SVPass::SVPass(void)
+{
+ L1 = L2 = P1 = P2 = NULL;
+ A1 = A2 = NULL;
+ E1 = E2 = NULL;
+ Flag = NULL;
+ Npts = Length = 0;
+ Extra = false;
+ BegTime=DayTime(DayTime::BEGINNING_OF_TIME);
+ EndTime=DayTime(DayTime::END_OF_TIME);
+}
+
+//------------------------------------------------------------------------------------
+SVPass::~SVPass(void)
+{
+ if(Length==0) return;
+ delete[] L1;
+ delete[] L2;
+ delete[] P1;
+ delete[] P2;
+ delete[] A1;
+ delete[] A2;
+ delete[] E1;
+ delete[] E2;
+ delete[] Flag;
+ Length = 0;
+}
+
+//------------------------------------------------------------------------------------
+void SVPass::Resize(int n)
+{
+try {
+ (*this).~SVPass();
+ if(n <= 0) return;
+
+ L1 = new double[n]; if(!L1) { OutOfMemory e("L1"); GPSTK_THROW(e); }
+ L2 = new double[n]; if(!L2) { OutOfMemory e("L2"); GPSTK_THROW(e); }
+ P1 = new double[n]; if(!P1) { OutOfMemory e("P1"); GPSTK_THROW(e); }
+ P2 = new double[n]; if(!P2) { OutOfMemory e("P2"); GPSTK_THROW(e); }
+ // do this in WLSlipDetect
+ //A1 = new double[n]; if(!A1) { OutOfMemory e("A1"); GPSTK_THROW(e); }
+ //A2 = new double[n]; if(!A2) { OutOfMemory e("A2"); GPSTK_THROW(e); }
+ if(Extra) {
+ E1 = new double[n]; if(!E1) { OutOfMemory e("E1"); GPSTK_THROW(e); }
+ E2 = new double[n]; if(!E2) { OutOfMemory e("E2"); GPSTK_THROW(e); }
+ }
+ Flag = new int[n]; if(!Flag) { OutOfMemory e("Flag"); GPSTK_THROW(e); }
+ for(int i=0; i<n; i++) Flag[i]=SVPass::BAD;
+ Length = n;
+ Npts = 0;
+ return;
+}
+catch(gpstk::Exception& e) { GPSTK_RETHROW(e); }
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/cycleslips/DiscCorr.hpp b/trunk/apps/cycleslips/DiscCorr.hpp
new file mode 100644
index 0000000..00d52bc
--- /dev/null
+++ b/trunk/apps/cycleslips/DiscCorr.hpp
@@ -0,0 +1,246 @@
+//------------------------------------------------------------------------------------
+// DiscCorr.hpp GPS phase discontinuity correction. Given arrays containing
+// dual-frequency pseudorange and phase (see class SVPass herein),
+// detect discontinuities in the phase and if possible estimate their size.
+// Output is in the form of Rinex editing commands (see class RinexEditor).
+//
+// DiscCorr is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/cycleslips/DiscCorr.hpp#1 $"
+
+/**
+ * @file DiscCorr.hpp
+ * GPS phase discontinuity correction.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef GPSTK_DISCONTINUITY_CORRECTOR_INCLUDE
+#define GPSTK_DISCONTINUITY_CORRECTOR_INCLUDE
+
+#include "DayTime.hpp"
+#include "RinexObsHeader.hpp"
+
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <vector>
+
+namespace gpstk {
+
+ /** @addtogroup rinexutils */
+ //@{
+
+ /// class GDCConfig encapsulates the configuration for input to the
+ /// GPSTK Discontinuity Corrector.
+class GDCConfig
+{
+public:
+//Misc
+ /// If true, print the syntax message and quit.
+ bool help;
+ /// Control amount of debugging output to log file, as follows.
+ /// 0 nothing
+ /// 1 Summary of input
+ /// 2 High level actions, change in GDC config, results summary, timing
+ /// 3 Actual results (Rinex Editor commands), stats on SVPass smoothing
+ /// 4 All SVPass information - defined, filled, processed, done, etc.
+ /// 5 List of GDC segments, dump data: before,linear combo, WL, GF, after
+ /// processing.
+ /// 6 Dump WL statistical, and GF range fit, data
+ /// 7 Editing actions, outliers, GFR fit and slip fixing stats and decisions.
+ /// Output for Debug > 2 is quite large.
+ int Debug;
+ /// Stream on which to write debug output.
+ std::ostream *oflog;
+ /// nominal data time step (seconds); this MUST be set by caller.
+ double DT;
+//Editing
+ /// Minimum allowed pseudorange, (meters)
+ double MinRange;
+ /// Maximum allowed pseudorange, (meters)
+ double MaxRange;
+//Segment definition
+ /// Largest acceptable time gap within a segment (seconds)
+ double MaxGap;
+ /// Smallest acceptable length of a phase segment (seconds)
+ double MinSeg;
+ /// Smallest acceptable number of points in a phase segment ()
+ int MinPts;
+//Wide-lane bias slip detection
+ /// N sigma: WL R-Ph is compared to N*sigma(WL R-Ph) ()
+ double WLNSigma;
+ /** Width of sliding statistics window when WL small slips are detected;
+ (multiples of minimum width, which comes from MinSeg parameter). */
+ int WLSSWindowWidth;
+ /** Minimum value of difference in average WL bias which triggers a test
+ of WL small slips. */
+ double WLSSTestMin;
+ /** Minimum value of peak in delta-WL-average which detects a WL
+ small slip. */
+ double WLSSDetectMin;
+//Wide-lane bias slip estimation
+ /// Minimum value for N*Sig(WL) (1 WL cycle)
+ /// Minimum number of points in each segment needed for slip fixing
+ unsigned WLFixNpts;
+ /// Maximum gap between segments allowed for WL slip fixing (sec)
+ double WLFixMaxGap;
+ /** Maximum total error (StdDev/sqrt(N)) on WL R-Ph allowed for slip
+ fixing (WL cycles) */
+ double WLFixSigma;
+//Geometry-free slip detection
+ /// Maximum degree of polynomial fit to geometry-free range ()
+ int GFPolyMaxDegree;
+ /// Maximum allowed RMS residual of polynomal fit to geometry-free range ().
+ double GFRMaxRMSFit;
+ /// Maximum allowed error in GF residual for detection of GF slips ().
+ double GFDetectMaxSigma;
+ /// Tolerance on GF slips when no WL slip detected (cycles of WL1-WL2)
+ double GFOnlySlipTol;
+ /// Tolerance on GF slips when a WL slip was detected (cycles of WL1-WL2)
+ double GFSlipTol;
+ /// Maximum # of consecutive outliers in GF allowed, else slip
+ int GFNOutliers;
+//Geometry-free phase slip estimation
+ /// Maximum gap between segments allowed for GF slip fixing (sec)
+ double GFFixMaxGap;
+ /// Time period of data used in fit of GFPhase when fixing slips (sec)
+ int GFFitTime;
+ /// Minimum number of good data points used in GFPhase fit (); NB may
+ /// be doubled, then halved, if the algorithm has trouble.
+ int GFFitNMin;
+ /// Maximum RMS residual of fit allowed in slip fixing (GF cycles)
+ double GFFixSigma;
+ /// Maximum value of fractional part of slip in slip fixing
+//Output
+ /// Flag for output format of time-tags: GPS (T) or YMDHMS (F).
+ bool OutputGPSTime;
+ /// Flag to include deleting outliers in the editing command output.
+ bool FixOutput;
+
+
+ /// constructor; this sets a full default set of parameters.
+ GDCConfig(void);
+ // destructor
+ //~GDCConfig(void);
+ /// Set a parameter in the configuration;
+ /// The input string 'Pcmd' is of the form '<id>S<value>' where the
+ /// separator S is either ',' '=' or ':' ;
+ /// to see a list of possible choices, call with Pcmd='help'.
+ /// An optional leading '--DC' is permitted.
+ void SetParameter(std::string Pcmd);
+ /// Print current values of all parameters to the given ostream.
+ void PrintParameters(std::ostream& os);
+ /// Print help page to the ostream.
+ void DisplayParameterUsage(std::ostream& os);
+};
+
+//------------------------------------------------------------------------------------
+/** class SVPass holds all range and phase data for a full satellite pass.
+ * Constructed and filled by the calling program, it is used to pass data into
+ * and out of the GPSTK discontinuity corrector.
+ */
+class SVPass {
+public:
+ /// Values for the Flag array, marking good data.
+ static const int OK;
+ /// Values for the Flag array, marking bad data.
+ static const int BAD;
+ /// Values for the Flag array, marking bad data, used internally.
+ static const int SETBAD,GFBAD;
+ /// Values for the Flag array, marking slips found.
+ static const int SLIPWL,SLIPGF,SLIP;
+ /// Values for the Flag array, marking slips fixed.
+ static const int FIXWL,FIXGF,FIX;
+
+ /// flag used internally to indicated extra arrays (A1,A2) are needed.
+ bool Extra;
+ /// Length of data arrays.
+ int Npts,Length;
+ /// biases removed from the data.
+ double bias1,bias2;
+ /// Satellite identifier for this data.
+ RinexPrn SV;
+ /// Start time of this data.
+ DayTime BegTime;
+ /// End time of this data.
+ DayTime EndTime;
+ /// Array used to mark the data.
+ int *Flag;
+ /// Arrays holding dual frequency pseudorange (meters) and phase (cycles).
+ double *P1,*P2,*L1,*L2;
+ /// Extra arrays used internally.
+ double *A1,*A2;
+ /// Extra arrays used internally.
+ double *E1,*E2;
+
+ /// Default constructor
+ SVPass(void);
+ /// Destructor
+ ~SVPass(void);
+ /// Resize the array to length n.
+ void Resize(int n);
+};
+
+/// class SVPLessThan is for use by the sort() function.
+class SVPLessThan {
+public:
+ bool operator()(const SVPass& c1, const SVPass& c2)
+ { return c1.BegTime < c2.BegTime; }
+};
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+/** GPSTK Discontinuity Corrector. Find, and fix if possible, discontinuities
+ * in the GPS carrier phase data, given dual-frequency pseudorange and phase
+ * data for an entire satellite pass. Input is the SVPass object holding the
+ * data (with Npts=number of good data points), and a GDCConfig configuration
+ * object giving the parameter values for the corrector. Output is in the form
+ * of a list of strings giving editing commands which can be parsed and
+ * applied using the GPSTK Rinex Editor (see Prgm EditRinex and the RinexEditor
+ * class). Also, the L1 and L2 arrays in the input SVPass are corrected
+ * (the P1 and P2 arrays are necessarily trashed). The routine will also mark
+ * outliers in the input data.
+ * @param SP SVPass object containing the input data.
+ * @param GDC GDCConfig configuration object.
+ * @param EC vector<string> (output) containing RinexEditor commands.
+ * @return 0 for success, otherwise return an Error code;
+ * codes are defined as follows.
+ * const int FatalProblem=-3;
+ * const int PrematureEnd=-2;
+ * const int Singular=-1;
+ * const int ReturnOK=0;
+ */
+int GPSTKDiscontinuityCorrector(SVPass& SP, GDCConfig& GDC,
+ std::vector<std::string>& EC);
+
+ //@}
+
+} // end namespace gpstk
+
+//------------------------------------------------------------------------------------
+#endif
diff --git a/trunk/apps/cycleslips/DiscFix b/trunk/apps/cycleslips/DiscFix
new file mode 100755
index 0000000..c65048d
Binary files /dev/null and b/trunk/apps/cycleslips/DiscFix differ
diff --git a/trunk/apps/cycleslips/DiscFix.cpp b/trunk/apps/cycleslips/DiscFix.cpp
new file mode 100644
index 0000000..1df0ec2
--- /dev/null
+++ b/trunk/apps/cycleslips/DiscFix.cpp
@@ -0,0 +1,1411 @@
+// DiscFix.cpp Read a Rinex observation file containing dual frequency
+// pseudorange and phase, and find and estimate discontinuities in the phase.
+//
+// DiscFix is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/cycleslips/DiscFix.cpp#5 $"
+
+/**
+ * @file DiscFix.cpp
+ * Program to apply discontinuity correction to a Rinex observation file
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+// TD
+// Does it correctly delete and/or not output segments that are too small,
+// esp when Smooth=T ?
+//
+//------------------------------------------------------------------------------------
+#include "MathBase.hpp"
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "Stats.hpp"
+#include "icd_200_constants.hpp"
+
+#include "DiscCorr.hpp"
+
+#include <time.h>
+#include <string>
+#include <vector>
+#include <iostream>
+#include <fstream>
+#include <algorithm>
+
+using namespace gpstk;
+using namespace std;
+
+//------------------------------------------------------------------------------------
+// prgm data
+string PrgmName("DiscFix");
+string PrgmVers("3.1 5/1/04");
+
+typedef struct DiscFixConfiguration {
+ // input
+ string Directory;
+ vector<string> InputObsName;
+ // output
+ string OutRinexObs;
+ string HDPrgm; // header of output Rinex file
+ string HDRunby;
+ string HDObs;
+ string HDAgency;
+ string HDMarker;
+ string HDNumber;
+ int NrecOut;
+ DayTime FirstEpoch,LastEpoch;
+ double DT;
+ bool SmoothedRange,SmoothedPhase,Smooth;
+ bool CAOut;
+ bool DopOut;
+ bool Verbose;
+ // data flow
+ double ith;
+ DayTime Tbeg, Tend;
+ double MaxGap;
+ int MinPts;
+ // output files
+ string LogFile,ErrFile,OutFile;
+ ofstream oflog,oferr,ofout;
+ // processing
+ double DataInt;
+ bool UseCA;
+ vector<RinexPrn> ExSV;
+ RinexPrn SVonly;
+ // estimate DT from data
+ double estdt[9];
+ int ndt[9];
+} DFConfig;
+
+//------------------------------------------------------------------------------------
+// data input from command line
+DFConfig DFC;
+// DC configuration
+GDCConfig GDC;
+// data used in program
+const double CMPS=C_GPS_M;
+const double CFF=CMPS/RSVCLK;
+const double F1=L1_MULT;
+const double F2=L2_MULT;
+const double wl1=CFF/F1;
+const double wl2=CFF/F2;
+const double alpha=((F1*F1)/(F2*F2) - 1.0);
+clock_t totaltime;
+string Title;
+int reading;
+RinexObsStream ifstr, ofstr; // input and output Rinex files
+RinexObsHeader rhead, rheadout;
+int inC1,inP1,inP2,inL1,inL2; // indexes in rhead of C1, C1/P1, P2, L1 and L2
+DayTime CurrEpoch(DayTime::BEGINNING_OF_TIME), PrgmEpoch;
+// Data for an entire pass is stored in SVPass object
+// this contains all the SVPass's defined so far
+vector<SVPass> SVPList;
+// this is a map relating a satellite to the index in SVPList of the current pass
+map<RinexPrn,int> CurrentSVP;
+
+//------------------------------------------------------------------------------------
+// prototypes
+int ReadFile(int nfile, int reading);
+int ProcessOneEntireEpoch(RinexObsData& ro, int reading);
+int ProcessOneSatOneEpoch(RinexObsData::RinexPrnMap::iterator& it, int reading);
+int FindSatInCurrentSVPList(const RinexPrn& sat, const DayTime& ttag,
+ const int reading);
+int CreateNewSVPass(RinexPrn& sat, int in);
+
+void ProcessEntireSVPass(int read, int index);
+int AfterReadingFiles(int reading);
+void PrintSVPList(ostream& os, int in, string msg, bool PrintAt=true,
+ bool PrintRMP=false, double b1=0, double a1=0, double s1=0, double b2=0,
+ double a2=0, double s2=0);
+
+int GetCommandLine(int argc, char **argv);
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& Verbose);
+
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+ totaltime = clock();
+ int iret;
+
+ // Title and description
+ Title = PrgmName + ", part of the GPS ToolKit, Ver " + PrgmVers + ", Run ";
+ time_t timer;
+ struct tm *tblock;
+ timer = time(NULL);
+ tblock = localtime(&timer);
+ PrgmEpoch.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+ tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+ Title += PrgmEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S\n");
+ cout << Title;
+
+ // set fill char in RinexPrn
+ DFC.SVonly.setfill('0');
+ DFC.LastEpoch = DayTime::BEGINNING_OF_TIME;
+
+ // get command line
+ iret=GetCommandLine(argc, argv);
+ if(iret) return iret;
+
+ // read files 2 or 3 times
+ reading = 0;
+ while(1) {
+ reading++;
+ // set list of pointers to passes for all satellites to null
+
+ // loop over input files
+ for(int nfile=0; nfile<DFC.InputObsName.size(); nfile++) {
+ iret = ReadFile(nfile,reading);
+ if(iret < 0) break;
+ } // end loop over input files
+ if(iret < 0) break;
+
+ iret = AfterReadingFiles(reading);
+ if(iret) break;
+ };
+
+ // add commands to set all LLI for L1 and L2 to zero
+ // -SL commands generated by the DC will be applied by Editor after this cmd
+ DFC.ofout << "# set all LLI to 0 (this command will not interfere "
+ << "with other -SL cmds)" << endl;
+ {
+ ostringstream stst;
+ if(GDC.OutputGPSTime) stst << DFC.FirstEpoch.printf("-SL+G-1,L1,%F,%g,0");
+ else stst << DFC.FirstEpoch.printf("-SL+G-1,L1,%Y,%m,%d,%H,%M,%f,0");
+ DFC.ofout << stst.str() << endl;
+ }
+ {
+ ostringstream stst;
+ if(GDC.OutputGPSTime) stst << DFC.FirstEpoch.printf("-SL+G-1,L2,%F,%g,0");
+ else stst << DFC.FirstEpoch.printf("-SL+G-1,L2,%Y,%m,%d,%H,%M,%f,0");
+ DFC.ofout << stst.str() << endl;
+ }
+
+ // clean up
+ CurrentSVP.clear();
+ SVPList.clear();
+
+ totaltime = clock()-totaltime;
+ //TEMP? if(GDC.Debug>1)
+ DFC.oflog << "DiscFix timing: " << setprecision(3)
+ << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+
+ DFC.oferr.close();
+ DFC.oflog.close();
+ DFC.ofout.close();
+
+ return iret;
+}
+catch(gpstk::FFStreamError& e) {
+ DFC.oferr << e;
+ DFC.oferr << e;
+}
+catch(gpstk::Exception& e) {
+ DFC.oferr << e;
+ DFC.oferr << e;
+}
+catch (...) {
+ DFC.oferr << "Unknown error. Abort." << endl;
+ DFC.oferr << "Unknown error. Abort." << endl;
+}
+ DFC.oferr.close();
+
+ return 1;
+} // end main()
+
+//------------------------------------------------------------------------------------
+// open the file, read header and check for data; then loop over the epochs
+// Return 0 ok, <0 fatal error, >0 non-fatal error (ie skip this file)
+// 0 ok, 1 couldn't open file, 2 file doesn't have required data
+int ReadFile(int nfile, int reading)
+{
+try {
+ string name;
+ // open input file
+ name = DFC.Directory + string("/") + DFC.InputObsName[nfile];
+ ifstr.open(name.c_str(),ios::in);
+ if(ifstr.fail()) {
+ DFC.oflog << "Failed to open input file " << name << ". Abort.\n";
+ return 1;
+ }
+ else if(GDC.Debug>1)
+ DFC.oflog << "Opened input file " << name << " on reading number "
+ << reading << endl;
+ ifstr.exceptions(ios::failbit);
+
+ // open output file (open on reading 1 in case it fails)
+ if(reading == 1 && !DFC.OutRinexObs.empty()) {
+ ofstr.open(DFC.OutRinexObs.c_str(), ios::out);
+ if(ofstr.fail()) {
+ DFC.oflog << "Failed to open output file " << DFC.OutRinexObs
+ << ". Abort.\n";
+ ifstr.close();
+ return 1;
+ }
+ else if(GDC.Debug>1) DFC.oflog << "Opened output file " << DFC.OutRinexObs
+ << " on reading number " << reading << endl;
+ ofstr.exceptions(ios::failbit);
+ }
+
+ // read the header
+ ifstr >> rhead;
+ if(GDC.Debug > 2) {
+ DFC.oflog << "Here is the input header for file " << name << ", reading "
+ << reading << endl;
+ rhead.dump(DFC.oflog);
+ }
+
+ // check that file contains C1/P1,P2,L1,L2
+ inC1 = inP1 = inP2 = inL1 = inL2 = -1;
+ for(int j=0; j<rhead.obsTypeList.size(); j++) {
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("C1")) inC1=j;
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("L1")) inL1=j;
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("L2")) inL2=j;
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("P1")) inP1=j;
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("P2")) inP2=j;
+ }
+ if((inP1==-1 && (!DFC.UseCA || inC1==-1)) || inP2==-1 || inL1==-1 || inL2==-1) {
+ DFC.oflog << "Error: file " << name << " does not contain";
+ if(inC1==-1) DFC.oflog << " C1";
+ if(inL1==-1) DFC.oflog << " L1";
+ if(inL2==-1) DFC.oflog << " L2";
+ if(inP1==-1) DFC.oflog << " P1 (--CA was" << (DFC.UseCA?"":" not") << " found)";
+ if(inP2==-1) DFC.oflog << " P2";
+ DFC.oflog << endl;
+ ifstr.clear();
+ ifstr.close();
+ return 2;
+ }
+ else if(inP1==-1 && DFC.UseCA) inP1=inC1;
+
+ // loop over epochs in the file
+ bool first=true;
+ int iret;
+ RinexObsData rodata;
+ while(1) {
+ ifstr >> rodata;
+ if(ifstr.eof()) break;
+ if(ifstr.bad()) {
+ DFC.oflog << "input Rinex stream is bad" << endl;
+ break;
+ }
+ iret = ProcessOneEntireEpoch(rodata,reading);
+ if(iret < -1) break;
+ if(iret == -1) { iret=0; break; } // end of file
+ //if(iret==1) ignore this epoch
+ if(iret > 1) { // output : 2=comment block, 3=good
+ if(first) {
+ ofstr << rheadout;
+ first=false;
+ }
+ ofstr << rodata;
+ }
+ }
+
+ ifstr.clear();
+ ifstr.close();
+ if(reading==3) ofstr.close();
+
+ return iret;
+}
+catch(gpstk::Exception& e) {
+ DFC.oferr << "DiscFix:ReadFile caught an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ DFC.oferr << "DiscFix:ReadFile caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok,
+// -1 end file,
+// <-1 fatal error,
+// 1 skip this epoch,
+// 2 comment block,
+// 3 output Rinex
+int ProcessOneEntireEpoch(RinexObsData& roe, int reading)
+{
+try {
+ int i,k;
+ // stay within time limits
+ if(roe.time < DFC.Tbeg) return 1;
+ if(roe.time > DFC.Tend) return -1;
+ // ignore comment blocks ...
+ if(roe.epochFlag != 0 && roe.epochFlag != 1) if(reading==3) return 2;
+ else return 1;
+ // decimate data
+ // if Tbeg is still undefined, set it to begin of week
+ if(DFC.ith > 0.0) {
+ if(fabs(DFC.Tbeg-DayTime(DayTime::BEGINNING_OF_TIME)) < 1.e-8)
+ DFC.Tbeg = DFC.Tbeg.setGPSfullweek(roe.time.GPSfullweek(),0.0);
+ double dt=fabs(roe.time - DFC.Tbeg);
+ dt -= DFC.ith*long(0.5+dt/DFC.ith);
+ if(fabs(dt) > 0.25) return 1; // TD set tolerance? clock bias?
+ }
+ // save current time
+ CurrEpoch = roe.time;
+ if(fabs(DFC.FirstEpoch-DayTime(DayTime::BEGINNING_OF_TIME)) < 1.e-8)
+ DFC.FirstEpoch=CurrEpoch;
+
+ // loop over satellites
+ RinexPrn sat;
+ //RinexObsData::RinexObsTypeMap otmap;
+ RinexObsData::RinexPrnMap::iterator it;
+ // loop over sat=it->first, ObsTypeMap=it->second
+ for(it=roe.obs.begin(); it != roe.obs.end(); ++it) {
+ // Is this satellite excluded ?
+ sat = it->first;
+ for(i=0,k=-1; i<DFC.ExSV.size(); i++) {
+ if(DFC.ExSV[i] == sat) { k=i; break; }
+ // whole system is excluded
+ if(DFC.ExSV[i].prn==-1 && DFC.ExSV[i].system==sat.system) { k=0; break; }
+ }
+ if(k != -1) continue;
+ // if only one satellite is included, skip all the rest
+ if(DFC.SVonly.prn != -1 && !(sat == DFC.SVonly)) continue;
+
+ // process this sat
+ //otmap = it->second;
+ int iret = ProcessOneSatOneEpoch(it,reading); // (always returns 0)
+
+ } // end loop over sats
+
+ // After loop over satellites
+ if(reading==1) {
+ // update LastEpoch and estimate of DFC.DT
+ if(DFC.LastEpoch > DayTime(DayTime::BEGINNING_OF_TIME)) {
+ double dt = CurrEpoch-DFC.LastEpoch;
+ for(int i=0; i<9; i++) {
+ if(DFC.ndt[i]<=0) { DFC.estdt[i]=dt; DFC.ndt[i]=1; break; }
+ if(fabs(dt-DFC.estdt[i]) < 0.0001) { DFC.ndt[i]++; break; }
+ if(i == 8) {
+ int k=0,nl=DFC.ndt[k];
+ for(int j=1; j<9; j++) if(DFC.ndt[j] <= nl) { k=j; nl=DFC.ndt[j]; }
+ DFC.ndt[k]=1; DFC.estdt[k]=dt;
+ }
+ }
+ }
+ DFC.LastEpoch = CurrEpoch;
+ }
+ else if(reading==3) return 3; // output to Rinex file
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ DFC.oferr << "DiscFix:ProcessOneEntireEpoch caught an exception " << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ DFC.oferr << "DiscFix:ProcessOneEntireEpoch caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+int ProcessOneSatOneEpoch(RinexObsData::RinexPrnMap::iterator& it, int reading)
+{
+try {
+ bool good;
+ int in,n,k;
+ double P1,P2,L1,L2,dt;
+ RinexPrn sat=it->first;
+ RinexObsData::RinexObsTypeMap otmap=it->second;
+
+ // ignore non-GPS satellites
+ if(sat.system != systemGPS) return 0;
+
+ // pull out the data
+ RinexObsData::RinexObsTypeMap::const_iterator jt;
+ if( (jt=otmap.find(rhead.obsTypeList[inP1])) != otmap.end()) P1=jt->second.data;
+ if( (jt=otmap.find(rhead.obsTypeList[inP2])) != otmap.end()) P2=jt->second.data;
+ if( (jt=otmap.find(rhead.obsTypeList[inL1])) != otmap.end()) L1=jt->second.data;
+ if( (jt=otmap.find(rhead.obsTypeList[inL2])) != otmap.end()) L2=jt->second.data;
+
+ // find this sat in the map of sats,int
+ in = FindSatInCurrentSVPList(sat,CurrEpoch,reading);
+
+ if(reading==1) { // update or create a new pass ---------------------------
+ dt = 0.0;
+ good = true;
+ if(L1==0 || L2==0 || P1==0 || P2==0) good=false; //only create pass on good data
+ if(in > -1) {
+ // Npts here is current gap size
+ if(good) {
+ SVPList[in].Npts = 0;
+ dt = CurrEpoch - SVPList[in].EndTime; // gap since last good point
+ }
+ else SVPList[in].Npts++;
+ }
+ // should a new pass be created?
+ if(good) {
+ if(in==-1 || dt>DFC.MaxGap || SVPList[in].Npts*DFC.DT>DFC.MaxGap) {
+ if(in > -1) CurrentSVP.erase(sat);
+ in = CreateNewSVPass(sat, in);
+ }
+ SVPList[in].EndTime = CurrEpoch;
+ }
+ return 0;
+ } // end of reading==1
+
+ // reading > 1 after this
+
+ if(in==-1) {
+ // search the list for the right SVPass
+ for(int j=0; j<SVPList.size(); j++) {
+ if(SVPList[j].SV==sat && fabs(CurrEpoch-SVPList[j].BegTime)<1.e-6) {
+ in = j;
+ CurrentSVP.insert(map<RinexPrn,int>::value_type(sat,in));
+ break;
+ }
+ }
+
+ // found a pass - and this is its first epoch
+ if(in != -1) {
+ if(SVPList[in].Npts <= 0) in=-1;
+ else {
+ // Resize the arrays in this pass
+ if(reading==2) SVPList[in].Resize(SVPList[in].Npts);
+ // print
+ if(GDC.Debug > 2) PrintSVPList(DFC.oflog, in,
+ string(reading==2?"Fill":"Read"),true,false);
+ }
+ }
+ }
+
+ // still did not find pass - data did not get into an SVPass
+ // - must be bad data inside a gap
+ // mark it and quit
+ if(in==-1) {
+ if(reading==3) { // mark the data bad for output
+ it->second[rhead.obsTypeList[inP1]].data = 0;
+ it->second[rhead.obsTypeList[inP2]].data = 0;
+ it->second[rhead.obsTypeList[inL1]].data = 0;
+ it->second[rhead.obsTypeList[inL2]].data = 0;
+ }
+ return 0;
+ }
+
+ // empty pass - ignore
+ if(in>-1 && SVPList[in].Length <= 0) {
+ if(CurrEpoch-SVPList[in].EndTime > -1.0e-8) CurrentSVP.erase(sat);
+ return 0;
+ }
+
+ // At this point we have a good pass with data and reading > 1 --------------
+
+ // find the index for this epoch's data
+ dt = CurrEpoch - SVPList[in].BegTime;
+ n = int(0.5+dt/DFC.DT);
+
+ // add this data to the SVPass (editing could be done here)
+ if(reading==2) {
+ SVPList[in].L1[n] = L1;
+ SVPList[in].L2[n] = L2;
+ SVPList[in].P1[n] = P1;
+ SVPList[in].P2[n] = P2;
+ if(DFC.Smooth) { // save for later
+ SVPList[in].E1[n] = P1;
+ SVPList[in].E2[n] = P2;
+ }
+ // Npts now means number of *good* points; Length holds array size
+ if(L1==0 || L2==0 || P1==0 || P2==0) SVPList[in].Flag[n]=SVPass::BAD;
+ else {
+ SVPList[in].Flag[n] = SVPass::OK;
+ SVPList[in].Npts++;
+ }
+ } // end if reading==2
+
+ // if there is data, store it in RinexObsData for output to Rinex
+ if(reading==3) {
+ if(SVPList[in].Flag[n] >= SVPass::OK) {
+ // discontinuity-corrected phases
+ it->second[rhead.obsTypeList[inL1]].data = SVPList[in].L1[n];
+ it->second[rhead.obsTypeList[inL2]].data = SVPList[in].L2[n];
+ // replace range with phase smoothed
+ if(DFC.Smooth) {
+ if(SVPList[in].P1[n] != -1 && SVPList[in].P2[n] != -1) {
+ double b1,b2,d1,d2;
+ // phase biases
+ d1 = SVPList[in].P1[n];
+ d2 = SVPList[in].P2[n];
+ // debiased phases
+ b1 = wl1*SVPList[in].L1[n] - d1;
+ b2 = wl2*SVPList[in].L2[n] - d2;
+ // smoothed ranges
+ d1 = ((alpha+2)*b1-2*b2)/alpha;
+ d2 = (2*(alpha+1)*b1-(alpha+2)*b2)/alpha;
+
+ if(DFC.SmoothedRange) {
+ it->second[rhead.obsTypeList[inP1]].data = d1;
+ it->second[rhead.obsTypeList[inP2]].data = d2;
+ }
+ if(DFC.SmoothedPhase) {
+ it->second[rhead.obsTypeList[inL1]].data = b1/wl1;
+ it->second[rhead.obsTypeList[inL2]].data = b2/wl2;
+ }
+ }
+ }
+ }
+
+ // now set flags
+ unsigned int onec=1;
+ if((SVPList[in].Flag[n] & SVPass::SLIP)
+ && SVPList[in].Flag[n] >= SVPass::OK // these are redundant ...
+ && (!(SVPList[in].Flag[n] & SVPass::FIXWL) || !(SVPList[in].Flag[n]
+ & SVPass::FIXGF))) {
+ // set the LLI flag
+ it->second[rhead.obsTypeList[inL1]].lli |= onec;
+ it->second[rhead.obsTypeList[inL2]].lli |= onec;
+ }
+ else {
+ // unset the flag, but only if already set
+ if(it->second[rhead.obsTypeList[inL1]].lli & onec)
+ it->second[rhead.obsTypeList[inL1]].lli ^= onec;
+ if(it->second[rhead.obsTypeList[inL2]].lli & onec)
+ it->second[rhead.obsTypeList[inL2]].lli ^= onec;
+ }
+ } // end if reading==3
+
+ // have reached end of pass - process it and then (perhaps) delete contents
+ if(CurrEpoch-SVPList[in].EndTime > -1.0e-8) {
+ // process the entire pass - this is where GDC and phase smoothing are ...
+ if(reading==2) ProcessEntireSVPass(reading,in);
+
+ // remove from the CurrentSVP map
+ //PrintSVPList(DFC.oflog, in, string("Remove this pass"));
+ CurrentSVP.erase(SVPList[in].SV);
+
+ // gut the structure if: 1) no output Rinex, hence no third reading,
+ // 2) this is third reading
+ if(reading==3 || DFC.OutRinexObs.empty()) SVPList[in].Resize(0);
+ }
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ DFC.oferr << "DiscFix:ProcessOneSatOneEpoch caught an exception " << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ DFC.oferr << "DiscFix:ProcessOneSatOneEpoch caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+int FindSatInCurrentSVPList(const RinexPrn& sat, const DayTime& ttag,
+ const int reading)
+{
+try {
+ map<RinexPrn,int>::const_iterator kt=CurrentSVP.find(sat);
+ if(kt != CurrentSVP.end())
+ return kt->second;
+ else
+ return -1;
+}
+catch(gpstk::Exception& e) {
+ DFC.oferr << "DiscFix:FindSatInCurrentSVPList caught an exception " << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ DFC.oferr << "DiscFix:FindSatInCurrentSVPList caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+int CreateNewSVPass(RinexPrn& sat, int in)
+{
+try {
+ int inew;
+ //DFC.oflog << "Create a new pass for " << sat << " at " << CurrEpoch << endl;
+ SVPass SVP;
+ SVP.SV = sat;
+ SVP.BegTime = CurrEpoch;
+ if(DFC.Smooth) SVP.Extra=true;
+ SVPList.push_back(SVP);
+ inew = SVPList.size()-1;
+ CurrentSVP.insert(map<RinexPrn, int>::value_type(sat,inew));
+ map<RinexPrn,int>::iterator kt= CurrentSVP.find(sat);
+ if(kt == CurrentSVP.end()) {
+ gpstk::Exception e("Failed to create new pass");
+ GPSTK_THROW(e);
+ }
+ return inew;
+}
+catch(gpstk::Exception& e) {
+ DFC.oferr << "DiscFix:CreateNewSVPass caught an exception " << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ DFC.oferr << "DiscFix:CreateNewSVPass caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+void ProcessEntireSVPass(int reading, int in)
+{
+try {
+ int i,j,k,n;
+ // print
+ if(GDC.Debug > 1) PrintSVPList(DFC.oflog, in, string("Proc"));
+
+ // not enough data
+ if(SVPList[in].Npts < DFC.MinPts) {
+ SVPList[in].P1[2] = SVPList[in].P2[2] = -1.0;
+ return;
+ }
+
+ // call the GDC
+ vector<string> EditCmds; // GDC will clear this
+ k = GPSTKDiscontinuityCorrector(SVPList[in], GDC, EditCmds);
+ if(k) return;
+
+ // output the results
+ for(i=0; i<EditCmds.size(); i++) DFC.ofout << EditCmds[i] << endl;
+ EditCmds.clear();
+
+ // if smoothing, compute stats on range - phase
+ // compute initial bias and average on these 2 quantities:
+ if(DFC.Smooth) {
+ n = SVPList[in].Npts;
+ j = 0;
+ do {
+ if(n < 3) break;
+ bool first=true;
+ int k1,k2;
+ double d1,d2,b1,b2,t1,t2,gfp;
+ Stats<double> S1,S2;
+ DayTime bt(SVPList[in].BegTime),et(SVPList[in].EndTime),holdb,holde;
+ for(k=j; k<SVPList[in].Length; k++) {
+ SVPList[in].P1[k] = SVPList[in].P2[k] = -1;
+ if(SVPList[in].Flag[k] >= SVPass::OK) {
+ if(!first && (SVPList[in].Flag[k] & SVPass::SLIP)) break;
+ d1 = SVPList[in].E1[k] - wl1*SVPList[in].L1[k];
+ d2 = SVPList[in].E2[k] - wl2*SVPList[in].L2[k];
+ gfp = wl1*SVPList[in].L1[k] - wl2*SVPList[in].L2[k];
+ d1 -= 2*gfp/alpha;
+ d2 -= 2*(alpha+1)*gfp/alpha;
+ if(first) {
+ k1 = k;
+ b1 = d1;
+ b2 = d2;
+ first = false;
+ }
+ k2 = k;
+ S1.Add(d1-b1);
+ S2.Add(d2-b2);
+ }
+ }
+ et += double(k-1)*DFC.DT;
+ // prepare for next continuous segment
+ j = k;
+ // compute phase biases
+ t1 = b1 + S1.Average();
+ t2 = b2 + S2.Average();
+ d1 = (-(alpha+2)*t1+2*t2)/alpha;
+ d2 = (-2*(alpha+1)*t1+(alpha+2)*t2)/alpha;
+ if(S1.N() < 2 || S2.N() < 2) d1=d2=-1;
+ // store results in P1 and P2 arrays
+ for(k=k1; k<=k2; k++) {
+ SVPList[in].P1[k] = d1;
+ SVPList[in].P2[k] = d2;
+ }
+ // print RMP stats
+ holdb = SVPList[in].BegTime;
+ holde = SVPList[in].EndTime;
+ SVPList[in].BegTime = bt;
+ SVPList[in].EndTime = et;
+ if(GDC.Debug>2) PrintSVPList(DFC.oflog, in, string("Stat"), true, true,
+ b1,S1.Average(),S1.StdDev(),b2,S2.Average(),S2.StdDev());
+ SVPList[in].BegTime = holdb;
+ SVPList[in].EndTime = holde;
+ // go on to next continuous segment
+ n = SVPList[in].Length - j;
+ } while(1);
+
+ } // end if Smooth
+}
+catch(gpstk::Exception& e) {
+ DFC.oferr << "DiscFix:ProcessEntireSVPass caught an exception " << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ DFC.oferr << "DiscFix:ProcessEntireSVPass caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+int AfterReadingFiles(int reading)
+{
+try {
+ int i,j,iret=0;
+ double dt;
+
+ CurrentSVP.clear();
+
+ if(reading==1) {
+ // if no data read ... fail
+ if(SVPList.size() == 0) {
+ DFC.oflog << "DiscFix Abort : no SV passes defined after first reading\n";
+ return -2;
+ }
+
+ // compute data interval for this file
+ for(j=0,i=1; i<9; i++) { if(DFC.ndt[i]>DFC.ndt[j]) j=i; }
+ DFC.DT = DFC.estdt[j];
+ GDC.DT = DFC.DT;
+ if(GDC.Debug > 2) DFC.oflog << "Estimated data interval to be "
+ << DFC.DT << " seconds.\n";
+ // compute the number of points in each pass, incl gaps
+ for(i=0; i<SVPList.size(); i++) {
+ dt = SVPList[i].EndTime-SVPList[i].BegTime;
+ SVPList[i].Npts = 1+int(0.5+dt/DFC.DT);
+ if(SVPList[i].Npts < DFC.MinPts) SVPList[i].Npts=0;
+ }
+ // sort the list of sv passes
+ sort(SVPList.begin(),SVPList.end(),SVPLessThan());
+ }
+ else if(reading==2 && !DFC.OutRinexObs.empty()) { // edit the output Rinex header
+ rheadout = rhead;
+ // fill records in output header
+ rheadout.date = PrgmEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S");
+ rheadout.fileProgram = PrgmName;
+ if(!DFC.HDRunby.empty()) rheadout.fileAgency = DFC.HDRunby;
+ if(!DFC.HDObs.empty()) rheadout.observer = DFC.HDObs;
+ if(!DFC.HDAgency.empty()) rheadout.agency = DFC.HDAgency;
+ if(!DFC.HDMarker.empty()) rheadout.markerName = DFC.HDMarker;
+ if(!DFC.HDNumber.empty()) rheadout.markerNumber = DFC.HDNumber;
+ rheadout.version = 2.1; rheadout.valid |= RinexObsHeader::versionValid;
+ rheadout.firstObs = DFC.FirstEpoch; rheadout.valid
+ |= RinexObsHeader::firstTimeValid;
+ rheadout.interval = DFC.DT; rheadout.valid |= RinexObsHeader::intervalValid;
+ rheadout.lastObs = DFC.LastEpoch;
+ rheadout.valid |= RinexObsHeader::lastTimeValid;
+ if(DFC.SmoothedRange)
+ rheadout.commentList.push_back(string("Ranges smoothed by ") +
+ PrgmName + string(" v.") + PrgmVers.substr(0,4) + string(" ") +
+ rheadout.date);
+ if(DFC.SmoothedPhase)
+ rheadout.commentList.push_back(string("Phases debiased by ") +
+ PrgmName + string(" v.") + PrgmVers.substr(0,4) + string(" ") +
+ rheadout.date);
+ // invalidate the table
+ if(rheadout.valid & RinexObsHeader::numSatsValid)
+ rheadout.valid ^= RinexObsHeader::numSatsValid;
+ if(rheadout.valid & RinexObsHeader::prnObsValid)
+ rheadout.valid ^= RinexObsHeader::prnObsValid;
+ }
+ else iret=-1;
+
+ // print a summary of the sv passes
+ if(GDC.Debug > 2) {
+ DFC.oflog << "\nSatellite passes " << (reading==1?"defined":"processed")
+ << " (" << SVPList.size() << ")\n";
+ for(i=0; i<SVPList.size(); i++)
+ PrintSVPList(DFC.oflog, i,
+ string(reading==1?"Defd":(reading==2?"Done":"Fine")),false);
+ DFC.oflog << "---------------- End of "
+ << (reading==1?"first":(reading==2?"second":"third"))
+ << " read through -------------------\n";
+ }
+
+ return iret;
+}
+catch(gpstk::Exception& e) {
+ DFC.oferr << "DiscFix:AfterReadingFiles caught an exception " << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ DFC.oferr << "DiscFix:AfterReadingFiles caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PrintSVPList(ostream& os, int in, string msg, bool PrintAt,
+ bool PrintRMP, double b1, double a1, double s1, double b2, double a2, double s2)
+{
+ os << msg << " " << SVPList[in].SV
+ << " " << setw(4) << SVPList[in].Length << "(" << setw(4) << SVPList[in].Npts
+ << ") (" << SVPList[in].BegTime.printf("%04Y/%02m/%02d %02H:%02M:%6.3f")
+ << ")-(" << SVPList[in].EndTime.printf("%04Y/%02m/%02d %02H:%02M:%6.3f") << ")";
+ if(PrintAt) os << " at " << CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%6.3f");
+ if(PrintRMP) os << " RMP1 " << fixed << setw(13) << setprecision(3) << b1
+ << fixed << setw(8) << setprecision(3) << a1
+ << fixed << setw(6) << setprecision(3) << s1
+ << " RMP2 " << fixed << setw(13) << setprecision(3) << b2
+ << fixed << setw(8) << setprecision(3) << a2
+ << fixed << setw(6) << setprecision(3) << s2;
+ os << endl;
+}
+
+//------------------------------------------------------------------------------------
+int GetCommandLine(int argc, char **argv)
+{
+ bool help=false;
+ int i,j;
+try {
+ // defaults
+ DFC.Verbose = false;
+ DFC.ith = 0.0;
+ DFC.Tbeg = DFC.FirstEpoch = DayTime(DayTime::BEGINNING_OF_TIME);
+ DFC.Tend = DayTime(DayTime::END_OF_TIME);
+ DFC.MaxGap = 600.0;
+ DFC.MinPts = 10;
+ DFC.DT = 0;
+
+ DFC.ErrFile = string("df.err");
+ DFC.LogFile = string("df.log");
+ DFC.OutFile = string("df.out");
+
+ DFC.UseCA = false;
+ DFC.DataInt = -1.0;
+
+ DFC.HDPrgm = PrgmName + string(" v.") + PrgmVers.substr(0,4);
+ DFC.HDRunby = string("ARL:UT/SGL/GPSTK");
+
+ DFC.SmoothedRange = false;
+ DFC.SmoothedPhase = false;
+ DFC.Smooth = false;
+ DFC.CAOut = false;
+ DFC.DopOut = false;
+
+ for(i=0; i<9; i++) DFC.ndt[i]=-1;
+
+ //DFC.FileType = Rinex;
+ DFC.Directory = string("");
+
+ // -------------------------------------------------
+ // required options
+ RequiredOption dashi(CommandOption::hasArgument, CommandOption::stdType,
+ 'i',"inputfile"," [-i|--inputfile]<file> Input (Rinex obs) file(s)");
+
+ // optional options
+ // this only so it will show up in help page...
+ CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+ 'f',""," -f<file> file containing more options");
+
+ CommandOption dashd(CommandOption::hasArgument, CommandOption::stdType,
+ 'd',"directory"," [-d|--directory] <dir> Directory of input file(s)");
+ dashd.setMaxCount(1);
+
+ CommandOption dashith(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"decimate"," --decimate <dt> Decimate data to time interval dt");
+ dashith.setMaxCount(1);
+
+ // time
+ CommandOptionWithTimeArg dasheb(0,"EpochBeg","%Y,%m,%d,%H,%M,%f",
+ " --EpochBeg <arg> Start time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+ CommandOptionWithTimeArg dashgb(0,"GPSBeg","%F,%g",
+ " --GPSBeg <arg> Start time, arg is of the form GPSweek,GPSsow");
+
+ CommandOptionWithTimeArg dashee(0,"EpochEnd","%Y,%m,%d,%H,%M,%f",
+ " --EpochEnd <arg> End time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+ CommandOptionWithTimeArg dashge(0,"GPSEnd","%F,%g",
+ " --GPSEnd <arg> End time, arg is of the form GPSweek,GPSsow");
+
+ // allow ONLY one start time (use startmutex(true) if one is required)
+ CommandOptionMutex startmutex(false);
+ startmutex.addOption(&dasheb);
+ startmutex.addOption(&dashgb);
+ CommandOptionMutex stopmutex(false);
+ stopmutex.addOption(&dashee);
+ stopmutex.addOption(&dashge);
+
+ CommandOptionNoArg dashCA(0,"CA",
+ " --CA Use C/A code pseudorange if P1 is not available");
+ dashCA.setMaxCount(1);
+
+ CommandOption dashDT(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"DT"," --DT <dt> Time interval (s) of data points "
+ "(needed for -Ps only)");
+ dashDT.setMaxCount(1);
+
+ CommandOption dashGap(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Gap"," --Gap <t> Time (s) of largest allowed gap within pass");
+ dashGap.setMaxCount(1);
+
+ CommandOption dashPts(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Points"," --Points <n> Minimum number of points needed to "
+ "process a pass");
+ dashPts.setMaxCount(1);
+
+ CommandOption dashXprn(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"XPRN"," --XPRN <prn> Exclude this satellite "
+ "(prn may be only <system>)");
+
+ CommandOption dashSV(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"SVonly"," --SVonly <prn> Process this satellite ONLY");
+ dashSV.setMaxCount(1);
+
+ CommandOption dashLog(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Log"," --Log <file> Output log file name (df.log)");
+ dashLog.setMaxCount(1);
+
+ CommandOption dashErr(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Err"," --Err <file> Output error file name (df.err)");
+ dashErr.setMaxCount(1);
+
+ CommandOption dashOut(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Out"," --Out <file> Output (editing commands) file name (df.out)");
+ dashOut.setMaxCount(1);
+
+ CommandOption dashRfile(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"RinexFile"," --RinexFile <file> Output Rinex obs file name");
+ dashRfile.setMaxCount(1);
+
+ CommandOption dashRrun(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"RunBy"," --RunBy <string> Output Rinex header 'RUN BY' string");
+ dashRrun.setMaxCount(1);
+
+ CommandOption dashRobs(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Observer"," --Observer <string> Output Rinex header 'OBSERVER' string");
+ dashRobs.setMaxCount(1);
+
+ CommandOption dashRag(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Agency"," --Agency <string> Output Rinex header 'AGENCY' string");
+ dashRag.setMaxCount(1);
+
+ CommandOption dashRmark(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Marker"," --Marker <string> Output Rinex header 'MARKER' string");
+ dashRmark.setMaxCount(1);
+
+ CommandOption dashRnumb(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Number"," --Number <string> Output Rinex header 'NUMBER' string");
+ dashRnumb.setMaxCount(1);
+
+ CommandOptionNoArg dashSmooth(0,"Smooth"," --Smooth Smooth "
+ "pseudorange and debias phase and output both in place of raw");
+ dashSmooth.setMaxCount(1);
+
+ CommandOptionNoArg dashSmoothPR(0,"SmoothPR"," --SmoothPR Smooth "
+ "pseudorange and debias phase but replace only raw pseudorange");
+ dashSmoothPR.setMaxCount(1);
+
+ CommandOptionNoArg dashSmoothPH(0,"SmoothPH"," --SmoothPH Smooth "
+ "pseudorange and debias phase but replace only raw phase");
+ dashSmoothPH.setMaxCount(1);
+
+ CommandOptionNoArg dashCAOut(0,"CAOut",
+ " --CAOut Output C/A code in Rinex");
+ dashCAOut.setMaxCount(1);
+
+ CommandOptionNoArg dashDOut(0,"DOut",
+ " --DOut Output Doppler in Rinex");
+ dashDOut.setMaxCount(1);
+
+ CommandOptionNoArg dashVerb(0,"verbose",
+ " --verbose print extended output "
+ "(NB --DCDebug,7 => all debugging output)");
+ dashVerb.setMaxCount(1);
+
+ CommandOptionNoArg dashh('h', "help",
+ " [-h|--help] print syntax and quit."
+ "\n --DC... Set parameter in Discontinuity Corrector : "
+ "(use --DChelp -h for a listing) ");
+
+ // ... other options
+ CommandOptionRest Rest("");
+
+ CommandOptionParser Par(
+ "Prgm DiscFix reads a data file containing dual-frequency pseudorange and phase\n"
+ " measurements and finds and fixes discontinuities in the phase; output is\n"
+ " a list of editing commands (for use with PRGM RinexEdit); the program will\n"
+ " also (optional) write out the raw (uncorrected) data to a RINEX file.\n");
+
+ // -------------------------------------------------
+ // allow user to put all options in a file
+ // could also scan for debug here
+ vector<string> Args;
+ for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args,DFC.Verbose);
+ argc = Args.size();
+ if(argc==0) Args.push_back(string("-h"));
+
+ // strip out the DCcmds
+ vector<string> DCcmds;
+ vector<string>::iterator it=Args.begin();
+ while(it != Args.end()) {
+ if(it->substr(0,4) == string("--DC")) {
+ DCcmds.push_back(*it);
+ it = Args.erase(it);
+ }
+ else it++;
+ }
+ for(i=0; i<DCcmds.size(); i++) {
+ GDC.SetParameter(DCcmds[i]);
+ }
+
+ // pass the rest
+ argc = Args.size()+1;
+ char **CArgs=new char*[argc];
+ if(!CArgs) { cout << "Failed to allocate CArgs\n"; return -1; }
+ CArgs[0] = argv[0];
+ for(j=1; j<argc; j++) {
+ CArgs[j] = new char[Args[j-1].size()+1];
+ if(!CArgs[j]) { cout << "Failed to allocate CArgs[j]\n"; return -1; }
+ strcpy(CArgs[j],Args[j-1].c_str());
+ }
+ Par.parseOptions(argc, CArgs);
+
+ // -------------------------------------------------
+ if(dashh.getCount() > 0) {
+ Par.displayUsage(cout,false);
+ if(GDC.help) GDC.DisplayParameterUsage(cout);
+ help = true;
+ }
+
+ if (Par.hasErrors())
+ {
+ cout << "\nErrors found in command line input:\n";
+ Par.dumpErrors(cout);
+ cout << "...end of Errors\n\n";
+ help = true;
+ }
+
+ // -------------------------------------------------
+ // get values found on command line
+ vector<string> values;
+ // f never appears because we intercept it above
+ //if(dashf.getCount()) { cout << "Option f "; dashf.dumpValue(cout); }
+ // do help first
+ if(dashh.getCount()) help=true;
+ if(dashLog.getCount()) {
+ values = dashLog.getValue();
+ DFC.LogFile = values[0];
+ if(help) cout << "Log file is " << DFC.LogFile << endl;
+ }
+ // open the log file
+ DFC.oflog.open(DFC.LogFile.c_str(),ios::out);
+ if(DFC.oflog.fail()) {
+ cout << "DiscFix failed to open log file " << DFC.LogFile << "! Abort.\n";
+ return -1;
+ }
+ DFC.oflog << Title;
+ GDC.oflog = &DFC.oflog;
+ if(GDC.Debug > 0) cout << "DiscFix opened log file " << DFC.LogFile << endl;
+
+ // now get the rest of the options
+ if(dashVerb.getCount()) DFC.Verbose=true;
+ if(dashi.getCount()) {
+ values = dashi.getValue();
+ if(help) DFC.oflog << "Input Rinex obs files are:\n";
+ for(i=0; i<values.size(); i++) {
+ DFC.InputObsName.push_back(values[i]);
+ if(help) DFC.oflog << " " << values[i] << endl;
+ }
+ }
+ if(dashd.getCount()) {
+ values = dashd.getValue();
+ DFC.Directory = values[0];
+ if(help) DFC.oflog << "Input Directory is " << DFC.Directory << endl;
+ }
+ if(dashith.getCount()) {
+ values = dashith.getValue();
+ DFC.ith = StringUtils::asDouble(values[0]);
+ if(help) DFC.oflog << "Ithing values is " << DFC.ith << endl;
+ }
+ if(dasheb.getCount()) {
+ values = dasheb.getValue();
+ DFC.Tbeg.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+ if(help) DFC.oflog << "Begin time is "
+ << DFC.Tbeg.printf("%04Y/%02m/%02d %02H:%02M:%.3f") << endl;
+ }
+ if(dashgb.getCount()) {
+ values = dashgb.getValue();
+ DFC.Tbeg.setToString(values[0], "%F,%g");
+ if(help) DFC.oflog << "Begin time is "
+ << DFC.Tbeg.printf("%04F/%10.3g") << endl;
+ }
+ if(dashee.getCount()) {
+ values = dashee.getValue();
+ DFC.Tend.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+ if(help) DFC.oflog << "End time is "
+ << DFC.Tend.printf("%04Y/%02m/%02d %02H:%02M:%.3f") << endl;
+ }
+ if(dashge.getCount()) {
+ values = dashge.getValue();
+ DFC.Tend.setToString(values[0], "%F,%g");
+ if(help) DFC.oflog << "End time is "
+ << DFC.Tend.printf("%04F/%10.3g") << endl;
+ }
+ if(dashCA.getCount()) {
+ DFC.UseCA = true;
+ if(help) DFC.oflog << "'Use C/A' flag is set\n";
+ }
+ if(dashDT.getCount()) {
+ values = dashDT.getValue();
+ DFC.DT = StringUtils::asDouble(values[0]);
+ if(help) DFC.oflog << "DT is set to " << DFC.DT << endl;
+ }
+ if(dashGap.getCount()) {
+ values = dashGap.getValue();
+ DFC.MaxGap = StringUtils::asDouble(values[0]);
+ if(help) DFC.oflog << "Max gap (sec) is " << DFC.MaxGap << endl;
+ }
+ if(dashPts.getCount()) {
+ values = dashPts.getValue();
+ DFC.MinPts = StringUtils::asInt(values[0]);
+ if(help) DFC.oflog << "Minimum points is " << DFC.MinPts << endl;
+ }
+ if(dashXprn.getCount()) {
+ values = dashXprn.getValue();
+ for(i=0; i<values.size(); i++) {
+ RinexPrn p=StringUtils::asData<RinexPrn>(values[i]);
+ if(help) DFC.oflog << "Exclude satellite " << p << endl;
+ DFC.ExSV.push_back(p);
+ }
+ }
+ if(dashSV.getCount()) {
+ values = dashSV.getValue();
+ RinexPrn p=StringUtils::asData<RinexPrn>(values[0]);
+ DFC.SVonly = p;
+ if(help) DFC.oflog << "Process only satellite : " << p << endl;
+ }
+ if(dashErr.getCount()) {
+ values = dashErr.getValue();
+ DFC.ErrFile = values[0];
+ if(help) DFC.oflog << "Err file is " << DFC.ErrFile << endl;
+ }
+ if(dashOut.getCount()) {
+ values = dashOut.getValue();
+ DFC.OutFile = values[0];
+ if(help) DFC.oflog << "Out file is " << DFC.OutFile << endl;
+ }
+ if(dashRfile.getCount()) {
+ values = dashRfile.getValue();
+ DFC.OutRinexObs = values[0];
+ if(help) DFC.oflog << "Output Rinex file name is " << DFC.OutRinexObs << endl;
+ }
+ if(dashRrun.getCount()) {
+ values = dashRrun.getValue();
+ DFC.HDRunby = values[0];
+ if(help) DFC.oflog << "Output Rinex 'RUN BY' is " << DFC.HDRunby << endl;
+ }
+ if(dashRobs.getCount()) {
+ values = dashRobs.getValue();
+ DFC.HDObs = values[0];
+ if(help) DFC.oflog << "Output Rinex 'OBSERVER' is " << DFC.HDObs << endl;
+ }
+ if(dashRag.getCount()) {
+ values = dashRag.getValue();
+ DFC.HDAgency = values[0];
+ if(help) DFC.oflog << "Output Rinex 'AGENCY' is " << DFC.HDAgency << endl;
+ }
+ if(dashRmark.getCount()) {
+ values = dashRmark.getValue();
+ DFC.HDMarker = values[0];
+ if(help) DFC.oflog << "Output Rinex 'MARKER' is " << DFC.HDMarker << endl;
+ }
+ if(dashRnumb.getCount()) {
+ values = dashRnumb.getValue();
+ DFC.HDNumber = values[0];
+ if(help) DFC.oflog << "Output Rinex 'NUMBER' is " << DFC.HDNumber << endl;
+ }
+ if(dashSmooth.getCount()) {
+ DFC.SmoothedPhase = DFC.SmoothedRange = true;
+ if(help) DFC.oflog << "'Smooth both' option is on\n";
+ }
+ if(dashSmoothPR.getCount()) {
+ DFC.SmoothedRange = true;
+ if(help) DFC.oflog << "'Smooth range' option is on\n";
+ }
+ if(dashSmoothPH.getCount()) {
+ DFC.SmoothedPhase = true;
+ if(help) DFC.oflog << "'Smooth phase' option is on\n";
+ }
+ if(dashCAOut.getCount()) {
+ DFC.CAOut = true;
+ if(help) DFC.oflog << "'C/A output' option is on\n";
+ }
+ if(dashDOut.getCount()) {
+ DFC.DopOut = true;
+ if(help) DFC.oflog << "'Doppler output' option is on\n";
+ }
+
+ if(Rest.getCount() && help) {
+ DFC.oflog << "Remaining options:" << endl;
+ values = Rest.getValue();
+ for (i=0; i<values.size(); i++) DFC.oflog << values[i] << endl;
+ }
+ //if(DFC.Verbose && help) {
+ // DFC.oflog << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+ // for(j=0; j<Args.size(); j++) DFC.oflog << Args[j] << endl;
+ //}
+
+ if(DFC.Verbose && GDC.Debug<2) { // if GDC::Debug is not set higher, set to 2
+ GDC.SetParameter(string("Debug=2"));
+ }
+
+ if(help) return 1;
+
+ DFC.oferr.open(DFC.ErrFile.c_str());
+ if(DFC.oferr.good()) {
+ if(GDC.Debug>1)DFC.oflog << "DiscFix opened error file " << DFC.ErrFile << endl;
+ if(GDC.Debug>1) cout << "DiscFix opened error file " << DFC.ErrFile << endl;
+ DFC.oferr << Title;
+ }
+ DFC.ofout.open(DFC.OutFile.c_str());
+ if(DFC.ofout.good()) {
+ if(GDC.Debug>1) DFC.oflog << "DiscFix opened output file "
+ << DFC.OutFile << endl;
+ }
+ else {
+ DFC.oferr << "Error: DiscFix failed to open output file "
+ << DFC.OutFile << endl;
+ DFC.oflog << "Error: DiscFix failed to open output file "
+ << DFC.OutFile << endl;
+ }
+
+ if(GDC.DT <= 0.0) {
+ DFC.oferr << "DiscFix:DT in the GDC must be positive - use --DCDT" << endl;
+ DFC.oflog << "DiscFix:DT in the GDC must be positive - use --DCDT" << endl;
+ return -1;
+ }
+
+ DFC.Smooth = (DFC.SmoothedRange || DFC.SmoothedPhase);
+
+ // print config to log
+ if(GDC.Debug > 0) {
+ DFC.oflog << "Here is the DF configuration:\n";
+ DFC.oflog << "Input Rinex obs files are:\n";
+ for(i=0; i<DFC.InputObsName.size(); i++) {
+ DFC.oflog << " " << DFC.InputObsName[i] << endl;
+ }
+ DFC.oflog << "Input Directory is " << DFC.Directory << endl;
+ DFC.oflog << "Ithing time interval is " << DFC.ith << endl;
+ if(DFC.Tbeg > DayTime(DayTime::BEGINNING_OF_TIME))
+ DFC.oflog << "Begin time is "
+ << DFC.Tbeg.printf("%04Y/%02m/%02d %02H:%02M:%.3f")
+ << " = " << DFC.Tbeg.printf("%04F/%10.3g") << endl;
+ if(DFC.Tend < DayTime(DayTime::END_OF_TIME))
+ DFC.oflog << "End time is "
+ << DFC.Tend.printf("%04Y/%02m/%02d %02H:%02M:%.3f")
+ << " = " << DFC.Tend.printf("%04F/%10.3g") << endl;
+ if(DFC.UseCA) DFC.oflog << "'Use C/A' flag is set\n";
+ DFC.oflog << "DT is set to " << DFC.DT << endl;
+ DFC.oflog << "Max gap (sec) is " << DFC.MaxGap << endl;
+ DFC.oflog << "Minimum points is " << DFC.MinPts << endl;
+ if(DFC.ExSV.size()) {
+ DFC.oflog << "Exclude satellites";
+ for(i=0; i<DFC.ExSV.size(); i++) {
+ if(DFC.ExSV[i].prn == -1) DFC.oflog << " (all "
+ << (DFC.ExSV[i].system == systemGPS ? "GPS" :
+ (DFC.ExSV[i].system == systemGlonass ? "Glonass" :
+ (DFC.ExSV[i].system == systemTransit ? "Transit" :
+ (DFC.ExSV[i].system == systemGeosync ? "Geosync" : "Mixed"))))
+ << ")";
+ else DFC.oflog << " " << DFC.ExSV[i];
+ }
+ DFC.oflog << endl;
+ }
+ if(DFC.SVonly.prn > 0)
+ DFC.oflog << "Process only satellite : " << DFC.SVonly << endl;
+ DFC.oflog << "Log file is " << DFC.LogFile << endl;
+ DFC.oflog << "Err file is " << DFC.ErrFile << endl;
+ DFC.oflog << "Out file is " << DFC.OutFile << endl;
+ if(!DFC.OutRinexObs.empty())
+ DFC.oflog << "Output Rinex file name is " << DFC.OutRinexObs << endl;
+ if(!DFC.HDRunby.empty())
+ DFC.oflog << "Output Rinex 'RUN BY' is " << DFC.HDRunby << endl;
+ if(!DFC.HDObs.empty())
+ DFC.oflog << "Output Rinex 'OBSERVER' is " << DFC.HDObs << endl;
+ if(!DFC.HDAgency.empty())
+ DFC.oflog << "Output Rinex 'AGENCY' is " << DFC.HDAgency << endl;
+ if(!DFC.HDMarker.empty())
+ DFC.oflog << "Output Rinex 'MARKER' is " << DFC.HDMarker << endl;
+ if(!DFC.HDNumber.empty())
+ DFC.oflog << "Output Rinex 'NUMBER' is " << DFC.HDNumber << endl;
+ if(DFC.SmoothedRange) DFC.oflog << "'Smoothed range' option is on\n";
+ if(DFC.SmoothedPhase) DFC.oflog << "'Smoothed phase' option is on\n";
+ if(!DFC.Smooth) DFC.oflog << "No smoothing.\n";
+ if(DFC.CAOut) DFC.oflog << "'C/A output' option is on\n";
+ if(DFC.DopOut) DFC.oflog << "'Doppler output' option is on\n";
+
+ DFC.oflog << "\nHere is the GDC configuration:\n";
+ GDC.PrintParameters(DFC.oflog);
+ }
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ DFC.oferr << "DiscFix:GetCommandLine caught an exception " << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ DFC.oferr << "DiscFix:GetCommandLine caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& ver)
+{
+try {
+ if(arg[0]=='-' && arg[1]=='f') {
+ string filename(arg);
+ filename.erase(0,2);
+ ifstream infile(filename.c_str());
+ if(!infile) {
+ DFC.oferr << "Error: could not open options file "
+ << filename << endl;
+ }
+ else {
+ char c;
+ string buffer;
+ while( infile >> buffer) {
+ if(buffer[0] == '#') { // skip to end of line
+ while(infile.get(c)) { if(c=='\n') break; }
+ }
+ else PreProcessArgs(buffer.c_str(),Args,ver); //Args.push_back(buffer);
+ }
+ }
+ }
+ else if((arg[0]=='-' && arg[1]=='v') || string(arg)==string("--verbose")) {
+ ver = true;
+ }
+ else Args.push_back(arg);
+}
+catch(gpstk::Exception& e) {
+ DFC.oferr << "DiscFix:PreProcessArgs caught an exception " << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ DFC.oferr << "DiscFix:PreProcessArgs caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/cycleslips/Jamfile b/trunk/apps/cycleslips/Jamfile
new file mode 100644
index 0000000..3a9d7bd
--- /dev/null
+++ b/trunk/apps/cycleslips/Jamfile
@@ -0,0 +1,9 @@
+#
+# $Id: //depot/sgl/gpstk/dev/apps/cycleslips/Jamfile#1 $
+#
+
+SubDir TOP apps cycleslips ;
+
+GPSLinkLibraries DiscFix : gpstk ;
+
+GPSMain DiscFix : DiscFix.cpp DiscCorr.cpp ;
diff --git a/trunk/apps/cycleslips/Makefile.am b/trunk/apps/cycleslips/Makefile.am
new file mode 100644
index 0000000..6d53a25
--- /dev/null
+++ b/trunk/apps/cycleslips/Makefile.am
@@ -0,0 +1,6 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = DiscFix
+
+DiscFix_SOURCES = DiscFix.cpp DiscCorr.cpp
diff --git a/trunk/apps/cycleslips/Makefile.in b/trunk/apps/cycleslips/Makefile.in
new file mode 100644
index 0000000..7b20a95
--- /dev/null
+++ b/trunk/apps/cycleslips/Makefile.in
@@ -0,0 +1,422 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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@
+noinst_PROGRAMS = DiscFix$(EXEEXT)
+subdir = apps/cycleslips
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_DiscFix_OBJECTS = DiscFix.$(OBJEXT) DiscCorr.$(OBJEXT)
+DiscFix_OBJECTS = $(am_DiscFix_OBJECTS)
+DiscFix_LDADD = $(LDADD)
+DiscFix_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(DiscFix_SOURCES)
+DIST_SOURCES = $(DiscFix_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+DiscFix_SOURCES = DiscFix.cpp DiscCorr.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apps/cycleslips/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu apps/cycleslips/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+DiscFix$(EXEEXT): $(DiscFix_OBJECTS) $(DiscFix_DEPENDENCIES)
+ @rm -f DiscFix$(EXEEXT)
+ $(CXXLINK) $(DiscFix_LDFLAGS) $(DiscFix_OBJECTS) $(DiscFix_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/DiscCorr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/DiscFix.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/cycleslips/README b/trunk/apps/cycleslips/README
new file mode 100644
index 0000000..acc58c8
--- /dev/null
+++ b/trunk/apps/cycleslips/README
@@ -0,0 +1,67 @@
+The GPSTk disconituity corrector (DC), or 'cycle slip fixer' (/apps/cycleslips).
+
+ DiscFix.cpp is a standalone program that reads a Rinex observation file containing
+dual frequency pseudorange and carrier phase data, and finds and estimates
+discontinuities in the phase. The output of DiscFix is a set of editing commands,
+which are input to the program EditRinex (see apps/Rinextools). The user also has the
+option of giving a (new) output Rinex file name to which DiscFix will write the data
+with cycleslips fixed as well as (optionally) bad points deleted and smoothing.
+
+ DiscFix is actually just an interface to the discontinuity correction; it
+includes the header file DiscCorr.hpp and calls the functions in DiscCorr.cpp,
+which is where an interface is defined and the code that actually does the detection
+and correction of cycleslips is. These files implement an algorithm based on (but not
+exactly the same as) that described in the paper by Geoffrey Blewitt,
+"An Automatic Editing Algorithm for GPS Data", Geophysical Research Letters, Vol. 17,
+No. 3, pp 199-202, 1990. There is considerable documentation of the algorithm with
+the code in DiscCorr.cpp.
+
+ The DC requires that several tolerances and limits be set on input. These values
+and their default values are listed in the syntax page (run DiscFix --DChelp --help).
+The default values are pretty good for 30 second, static data on a good receiver, but
+most likely these should be fine-tuned for any other application. The limits, such as
+the minimum length of a pass, or the maximum size of a gap in the data, are
+straightforward and can easily be changed. However, changing the tolerances
+intelligently requires a good understanding of the algorithm; unfortunately I know
+of no systematic (i.e. easy) way of doing this -- use trial and error.
+
+ DiscFix (also EditRinex) is run from the command line, and input and outputs are
+all flat files. To see the command line syntax, run DiscFix or EditRinex with either
+no arguments, or with arguments but including --help. To see the DC commands in
+DiscFix, add the command --DChelp as well.
+
+ Two examples are included in the subdirectory 'examples' here. They may be run
+with the scripts goDF1 and goDF2 (unix) or batch files goDF1.bat and goDF2.bat
+(Windows). The first example is 30 second data at a static site; this is taken as
+typical data, and is the type used to develop and tune the DC. The second example
+is very different, it is data collected on a low-earth orbiting (LEO) satellite,
+in fact it is only the data for the period when the LEO satellite see the GPS
+satellite at negative elevation angles. Note that the data consists of very short
+segments separated by large gaps (data is collected only 2% of the time - run
+RinSum on it). Also note the difference in DC parameters for the two cases. (Both
+files contain data from just one satellite, in order to reduce storage requirements.)
+
+ If you have awk, sed and gnuplot, (even on Windows) the scripts will
+produce plots showing the wide lane bias and the geometry free phase and range; see
+the documentation in DiscCorr.cpp for more information. These plots are included in
+GIF format for users without these utilities; there is also a plot of the wide lane
+bias and geometry free phase computed from data in the corrected Rinex observation
+files.
+
+The quantities in the plots are as follows:
+ "WL Small Slip Detection"
+ WLbias Raw wide lane bias data (note the discontinuity in this)
+ P Ave Average wide lane bias for points in the past
+ F Ave Average wide lane bias for points in the future
+ P Sig Sigma on the wide lane bias points in the past
+ F Sig Sigma on the wide lane bias points in the future
+ |dAve| absolute value of difference of P Ave and F Ave
+ limit threshold -- when |dAve| > limit, there is a slip (basically)
+ "DC GFRF GFP fit GFR"
+ GFP geometry-free phase (with a bias removed) (note the discontinuity)
+ GFR geometry-free range
+ Fit a polynomial fit to the GFR (a new fit in each segment)
+ Residual the residuals of fit (GFR - fit)
+
+Brian Tolman
+btolman at arlut.utexas.edu
diff --git a/trunk/apps/cycleslips/examples/GFP2.gp b/trunk/apps/cycleslips/examples/GFP2.gp
new file mode 100644
index 0000000..fefac16
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/GFP2.gp
@@ -0,0 +1,12 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC GFRF GFP, fit GFR" at graph 0.5,0.96 center
+set label 2 "Uniq 2 PRN G17" at graph 0.5,0.91 center
+set ylabel "GFP / Residual (m)"
+set y2label "GFR / Fit (m)"
+plot "GFRF2G17.dat" using 1:2 t "GFP" with points pointsize 0.5
+replot "GFRF2G17.dat" using 1:4 axes x1y2 t "GFR" with points pointsize 0.5
+replot "GFRF2G17.dat" using 1:5 axes x1y2 t "Fit" with points pointsize 0.5
+replot "GFRF2G17.dat" using 1:6 t "Residual" with points pointsize 0.5
diff --git a/trunk/apps/cycleslips/examples/GFP2_Win.gp b/trunk/apps/cycleslips/examples/GFP2_Win.gp
new file mode 100644
index 0000000..6d256b5
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/GFP2_Win.gp
@@ -0,0 +1,13 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC GFRF GFP, fit GFR" at graph 0.5,0.96 center
+set label 2 "Uniq 2 PRN G17" at graph 0.5,0.91 center
+set ylabel "GFP / Residual (m)"
+set y2label "GFR / Fit (m)"
+plot "GFRF2G17.dat" using 1:2 t "GFP" with points pointsize 0.5
+replot "GFRF2G17.dat" using 1:4 axes x1y2 t "GFR" with points pointsize 0.5
+replot "GFRF2G17.dat" using 1:5 axes x1y2 t "Fit" with points pointsize 0.5
+replot "GFRF2G17.dat" using 1:6 t "Residual" with points pointsize 0.5
+pause -1 "End GFRF 2"
diff --git a/trunk/apps/cycleslips/examples/GFP3.gp b/trunk/apps/cycleslips/examples/GFP3.gp
new file mode 100644
index 0000000..bdae417
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/GFP3.gp
@@ -0,0 +1,12 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC GFRF GFP, fit GFR" at graph 0.5,0.96 center
+set label 2 "Uniq 3 PRN G17" at graph 0.5,0.91 center
+set ylabel "GFP / Residual (m)"
+set y2label "GFR / Fit (m)"
+plot "GFRF3G17.dat" using 1:2 t "GFP" with points pointsize 0.5
+replot "GFRF3G17.dat" using 1:4 axes x1y2 t "GFR" with points pointsize 0.5
+replot "GFRF3G17.dat" using 1:5 axes x1y2 t "Fit" with points pointsize 0.5
+replot "GFRF3G17.dat" using 1:6 t "Residual" with points pointsize 0.5
diff --git a/trunk/apps/cycleslips/examples/GFP3_Win.gp b/trunk/apps/cycleslips/examples/GFP3_Win.gp
new file mode 100644
index 0000000..54451c3
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/GFP3_Win.gp
@@ -0,0 +1,13 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC GFRF GFP, fit GFR" at graph 0.5,0.96 center
+set label 2 "Uniq 3 PRN G17" at graph 0.5,0.91 center
+set ylabel "GFP / Residual (m)"
+set y2label "GFR / Fit (m)"
+plot "GFRF3G17.dat" using 1:2 t "GFP" with points pointsize 0.5
+replot "GFRF3G17.dat" using 1:4 axes x1y2 t "GFR" with points pointsize 0.5
+replot "GFRF3G17.dat" using 1:5 axes x1y2 t "Fit" with points pointsize 0.5
+replot "GFRF3G17.dat" using 1:6 t "Residual" with points pointsize 0.5
+pause -1 "End GFRF 3"
diff --git a/trunk/apps/cycleslips/examples/GFP6.gp b/trunk/apps/cycleslips/examples/GFP6.gp
new file mode 100644
index 0000000..3c6b315
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/GFP6.gp
@@ -0,0 +1,12 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC GFRF GFP, fit GFR" at graph 0.5,0.96 center
+set label 2 "Uniq 6 PRN G31" at graph 0.5,0.91 center
+set ylabel "GFP / Residual (m)"
+set y2label "GFR / Fit (m)"
+plot "GFRF6G31.dat" using 1:2 t "GFP" with points pointsize 0.5
+replot "GFRF6G31.dat" using 1:4 axes x1y2 t "GFR" with points pointsize 0.5
+replot "GFRF6G31.dat" using 1:5 axes x1y2 t "Fit" with points pointsize 0.5
+replot "GFRF6G31.dat" using 1:6 t "Residual" with points pointsize 0.5
diff --git a/trunk/apps/cycleslips/examples/GFP6_Win.gp b/trunk/apps/cycleslips/examples/GFP6_Win.gp
new file mode 100644
index 0000000..262f077
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/GFP6_Win.gp
@@ -0,0 +1,13 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC GFRF GFP, fit GFR" at graph 0.5,0.96 center
+set label 2 "LEO data Uniq 6 PRN G31" at graph 0.5,0.91 center
+set ylabel "GFP / Residual (m)"
+set y2label "GFR / Fit (m)"
+plot "GFRF6G31.dat" using 1:2 t "GFP" with points pointsize 0.5
+replot "GFRF6G31.dat" using 1:4 axes x1y2 t "GFR" with points pointsize 0.5
+replot "GFRF6G31.dat" using 1:5 axes x1y2 t "Fit" with points pointsize 0.5
+replot "GFRF6G31.dat" using 1:6 t "Residual" with points pointsize 0.5
+pause -1 "End GFRF 6"
diff --git a/trunk/apps/cycleslips/examples/GFRF2G17.jpg b/trunk/apps/cycleslips/examples/GFRF2G17.jpg
new file mode 100644
index 0000000..3958802
Binary files /dev/null and b/trunk/apps/cycleslips/examples/GFRF2G17.jpg differ
diff --git a/trunk/apps/cycleslips/examples/GFRF3G17.jpg b/trunk/apps/cycleslips/examples/GFRF3G17.jpg
new file mode 100644
index 0000000..7d3f8e3
Binary files /dev/null and b/trunk/apps/cycleslips/examples/GFRF3G17.jpg differ
diff --git a/trunk/apps/cycleslips/examples/GFRF6G31.jpg b/trunk/apps/cycleslips/examples/GFRF6G31.jpg
new file mode 100644
index 0000000..52c9cfd
Binary files /dev/null and b/trunk/apps/cycleslips/examples/GFRF6G31.jpg differ
diff --git a/trunk/apps/cycleslips/examples/WLSS2.gp b/trunk/apps/cycleslips/examples/WLSS2.gp
new file mode 100644
index 0000000..2564822
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/WLSS2.gp
@@ -0,0 +1,15 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC WL Small Slip Detection" at graph 0.5,0.96 center
+set label 2 "Uniq 2 PRN G17" at graph 0.5,0.91 center
+set ylabel "WL cycles (bias,ave,sig)"
+set y2label "Test & Limit (WL cycles)"
+plot "WLSS2G17.dat" using 1:4 t "P Sig" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:7 t "F Sig" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:12 t "WLbias" with points pointsize 0.5
+replot "WLSS2G17.dat" using 1:10 axes x1y2 t "|dAve|" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:11 axes x1y2 t "limit" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:3 t "P Ave" with lines
+replot "WLSS2G17.dat" using 1:6 t "F Ave" with lines
diff --git a/trunk/apps/cycleslips/examples/WLSS2G17.jpg b/trunk/apps/cycleslips/examples/WLSS2G17.jpg
new file mode 100644
index 0000000..03348d7
Binary files /dev/null and b/trunk/apps/cycleslips/examples/WLSS2G17.jpg differ
diff --git a/trunk/apps/cycleslips/examples/WLSS2_Win.gp b/trunk/apps/cycleslips/examples/WLSS2_Win.gp
new file mode 100644
index 0000000..083a936
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/WLSS2_Win.gp
@@ -0,0 +1,16 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC WL Small Slip Detection" at graph 0.5,0.96 center
+set label 2 "Uniq 2 PRN G17" at graph 0.5,0.91 center
+set ylabel "WL cycles (bias,ave,sig)"
+set y2label "Test & Limit (WL cycles)"
+plot "WLSS2G17.dat" using 1:4 t "P Sig" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:7 t "F Sig" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:12 t "WLbias" with points pointsize 0.5
+replot "WLSS2G17.dat" using 1:10 axes x1y2 t "|dAve|" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:11 axes x1y2 t "limit" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:3 t "P Ave" with lines
+replot "WLSS2G17.dat" using 1:6 t "F Ave" with lines
+pause -1 "End WLSS 2"
diff --git a/trunk/apps/cycleslips/examples/WLSS3.gp b/trunk/apps/cycleslips/examples/WLSS3.gp
new file mode 100644
index 0000000..1ff4f80
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/WLSS3.gp
@@ -0,0 +1,15 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC WL Small Slip Detection" at graph 0.5,0.96 center
+set label 2 "Uniq 3 PRN G17" at graph 0.5,0.91 center
+set ylabel "WL cycles (bias,ave,sig)"
+set y2label "Test & Limit (WL cycles)"
+plot "WLSS3G17.dat" using 1:4 t "P Sig" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:7 t "F Sig" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:12 t "WLbias" with points pointsize 0.5
+replot "WLSS3G17.dat" using 1:10 axes x1y2 t "|dAve|" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:11 axes x1y2 t "limit" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:3 t "P Ave" with lines
+replot "WLSS3G17.dat" using 1:6 t "F Ave" with lines
diff --git a/trunk/apps/cycleslips/examples/WLSS3G17.jpg b/trunk/apps/cycleslips/examples/WLSS3G17.jpg
new file mode 100644
index 0000000..aa5df96
Binary files /dev/null and b/trunk/apps/cycleslips/examples/WLSS3G17.jpg differ
diff --git a/trunk/apps/cycleslips/examples/WLSS3_Win.gp b/trunk/apps/cycleslips/examples/WLSS3_Win.gp
new file mode 100644
index 0000000..4d3b993
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/WLSS3_Win.gp
@@ -0,0 +1,16 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC WL Small Slip Detection" at graph 0.5,0.96 center
+set label 2 "Uniq 3 PRN G17" at graph 0.5,0.91 center
+set ylabel "WL cycles (bias,ave,sig)"
+set y2label "Test & Limit (WL cycles)"
+plot "WLSS3G17.dat" using 1:4 t "P Sig" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:7 t "F Sig" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:12 t "WLbias" with points pointsize 0.5
+replot "WLSS3G17.dat" using 1:10 axes x1y2 t "|dAve|" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:11 axes x1y2 t "limit" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:3 t "P Ave" with lines
+replot "WLSS3G17.dat" using 1:6 t "F Ave" with lines
+pause -1 "End WLSS 3"
diff --git a/trunk/apps/cycleslips/examples/WLSS6.gp b/trunk/apps/cycleslips/examples/WLSS6.gp
new file mode 100644
index 0000000..f6aeb0a
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/WLSS6.gp
@@ -0,0 +1,15 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC WL Small Slip Detection" at graph 0.5,0.96 center
+set label 2 "Uniq 6 PRN G31" at graph 0.5,0.91 center
+set ylabel "WL cycles (bias,ave,sig)"
+set y2label "Test & Limit (WL cycles)"
+plot "WLSS6G31.dat" using 1:4 t "P Sig" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:7 t "F Sig" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:12 t "WLbias" with points pointsize 0.5
+replot "WLSS6G31.dat" using 1:10 axes x1y2 t "|dAve|" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:11 axes x1y2 t "limit" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:3 t "P Ave" with lines
+replot "WLSS6G31.dat" using 1:6 t "F Ave" with lines
diff --git a/trunk/apps/cycleslips/examples/WLSS6G31.jpg b/trunk/apps/cycleslips/examples/WLSS6G31.jpg
new file mode 100644
index 0000000..3445f23
Binary files /dev/null and b/trunk/apps/cycleslips/examples/WLSS6G31.jpg differ
diff --git a/trunk/apps/cycleslips/examples/WLSS6_Win.gp b/trunk/apps/cycleslips/examples/WLSS6_Win.gp
new file mode 100644
index 0000000..f92deb7
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/WLSS6_Win.gp
@@ -0,0 +1,16 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC WL Small Slip Detection" at graph 0.5,0.96 center
+set label 2 "LEO data Uniq 6 PRN G31" at graph 0.5,0.91 center
+set ylabel "WL cycles (bias,ave,sig)"
+set y2label "Test & Limit (WL cycles)"
+plot "WLSS6G31.dat" using 1:4 t "P Sig" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:7 t "F Sig" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:12 t "WLbias" with points pointsize 0.5
+replot "WLSS6G31.dat" using 1:10 axes x1y2 t "|dAve|" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:11 axes x1y2 t "limit" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:3 t "P Ave" with lines
+replot "WLSS6G31.dat" using 1:6 t "F Ave" with lines
+pause -1 "End WLSS 6"
diff --git a/trunk/apps/cycleslips/examples/chmp0110.02o.G31 b/trunk/apps/cycleslips/examples/chmp0110.02o.G31
new file mode 100644
index 0000000..90795b3
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/chmp0110.02o.G31
@@ -0,0 +1,1213 @@
+ 2.00 Observation G (GPS) RINEX VERSION / TYPE
+BJfmt engb 07/21/2004 17:55:20 PGM / RUN BY / DATE
+FRED MARKER NAME
+Wernicke, Brian CALTECH OBSERVER / AGENCY
+RECNUM RECTYPE RECVERS REC # / TYPE / VERS
+ANTNUM ANTTYPE ANT # / TYPE
+ 0.0000 0.0000 0.0000 APPROX POSITION XYZ
+ 0.0000 0.0000 0.0000 ANTENNA: DELTA H/E/N
+ 1 1 WAVELENGTH FACT L1/2
+ 5 L1 L2 P1 P2 C1 # / TYPES OF OBSERV
+ 1.000 INTERVAL
+ 2002 1 11 0 7 47.0000000 GPS TIME OF FIRST OBS
+SNR is mapped to signal strength [0,1,2-9] COMMENT
+SNR: >500 >100 >50 >10 >5 >3 >1 >0 bad n/a COMMENT
+sig: 9 8 7 6 5 4 3 2 1 0 COMMENT
+Edited by GPSTK Rinex Editor ver 3.0 9/8/2003 on 2004/07/21 COMMENT
+ END OF HEADER
+ 02 1 11 1 3 52.0000000 0 1G31
+ -0.490 8 -0.905 8 26020784.286 26020800.606 26020784.475
+ 02 1 11 1 3 53.0000000 0 1G31
+ 29209.955 8 22760.000 8 26026343.565 26026359.697 26026343.415
+ 02 1 11 1 3 54.0000000 0 1G31
+ 58417.817 8 45518.885 8 26031901.870 26031918.235 26031901.703
+ 02 1 11 1 3 55.0000000 0 1G31
+ 87623.579 8 68276.123 8 26037459.762 26037476.493 26037460.028
+ 02 1 11 1 3 56.0000000 0 1G31
+ 116826.427 8 91031.092 8 26043017.358 26043034.099 26043017.507
+ 02 1 11 1 3 57.0000000 0 1G31
+ 146027.404 8 113784.580 8 26048574.423 26048591.334 26048574.535
+ 02 1 11 1 3 58.0000000 0 1G31
+ 175225.869 8 136536.121 8 26054131.039 26054148.158 26054131.298
+ 02 1 11 1 3 59.0000000 0 1G31
+ 204421.509 8 159285.451 8 26059687.368 26059704.573 26059687.388
+ 02 1 11 1 4 0.0000000 0 1G31
+ 233614.495 8 182032.718 8 26065242.818 26065259.998 26065243.132
+ 02 1 11 1 4 1.0000000 0 1G31
+ 262804.656 8 204777.780 8 26070797.963 26070815.143 26070798.624
+ 02 1 11 1 4 2.0000000 0 1G31
+ 291992.583 8 227521.095 8 26076352.632 26076370.138 26076352.794
+ 02 1 11 1 4 3.0000000 0 1G31
+ 321177.905 8 250262.377 8 26081906.920 26081924.823 26081907.058
+ 02 1 11 1 4 4.0000000 0 1G31
+ 350360.571 8 273001.578 8 26087460.361 26087478.036 26087460.730
+ 02 1 11 1 4 5.0000000 0 1G31
+ 379540.526 8 295738.657 8 26093013.589 26093031.533 26093013.982
+ 02 1 11 1 4 6.0000000 0 1G31
+ 408717.483 8 318473.399 8 26098566.225 26098584.386 26098566.302
+ 02 1 11 1 4 7.0000000 0 1G31
+ 437892.356 8 341206.517 8 26104118.113 26104136.591 26104118.723
+ 02 1 11 1 4 8.0000000 0 1G31
+ 467064.708 8 363937.668 8 26109670.011 26109688.398 26109670.314
+ 02 1 11 1 4 9.0000000 0 1G31
+ 496233.545 8 386666.063 8 26115221.015 26115239.609 26115221.554
+ 02 1 11 1 4 10.0000000 0 1G31
+ 525399.481 8 409392.195 8 26120771.784 26120790.339 26120772.173
+ 02 1 11 1 4 11.0000000 0 1G31
+ 554561.992 8 432115.655 8 26126321.863 26126340.339 26126322.083
+ 02 1 11 1 4 12.0000000 0 1G31
+ 583722.541 8 454837.578 8 26131871.352 26131890.051 26131871.311
+ 02 1 11 1 4 13.0000000 0 1G31
+ 612880.120 8 477557.184 8 26137420.136 26137439.146 26137420.497
+ 02 1 11 1 4 14.0000000 0 1G31
+ 642035.082 8 500274.747 8 26142968.501 26142987.892 26142968.687
+ 02 1 11 1 4 15.0000000 0 1G31
+ 671186.739 8 522989.728 8 26148516.455 26148535.500 26148516.463
+ 02 1 11 1 4 16.0000000 0 1G31
+ 700334.656 8 545701.801 8 26154063.714 26154082.712 26154063.676
+ 02 1 11 1 4 17.0000000 0 1G31
+ 729479.660 8 568411.591 8 26159610.284 26159629.618 26159610.300
+ 02 1 11 1 4 18.0000000 0 1G31
+ 758622.326 8 591119.558 8 26165156.255 26165175.853 26165156.278
+ 02 1 11 1 4 19.0000000 0 1G31
+ 787761.641 8 613824.911 8 26170701.527 26170721.608 26170701.789
+ 02 1 11 1 4 20.0000000 0 1G31
+ 816898.236 8 636528.138 8 26176246.467 26176266.689 26176246.875
+ 02 1 11 1 4 21.0000000 0 1G31
+ 846030.877 8 659228.282 8 26181791.006 26181810.916 26181791.070
+ 02 1 11 1 4 22.0000000 0 1G31
+ 875160.514 8 681926.085 8 26187334.596 26187354.897 26187334.684
+ 02 1 11 1 4 23.0000000 0 1G31
+ 904287.368 8 704621.714 8 26192877.478 26192898.071 26192877.852
+ 02 1 11 1 4 24.0000000 0 1G31
+ 933411.161 8 727314.949 8 26198420.385 26198440.759 26198420.326
+ 02 1 11 1 4 25.0000000 0 1G31
+ 962531.875 8 750005.785 8 26203961.995 26203982.931 26203962.122
+ 02 1 11 1 4 26.0000000 0 1G31
+ 991649.044 8 772693.847 8 26209503.519 26209524.511 26209503.905
+ 02 1 11 1 4 27.0000000 0 1G31
+ 1020763.364 8 795379.684 8 26215044.444 26215065.063 26215044.706
+ 02 1 11 1 4 28.0000000 0 1G31
+ 1049874.455 8 818063.001 8 26220584.315 26220605.692 26220584.456
+ 02 1 11 1 4 29.0000000 0 1G31
+ 1078982.245 8 840743.747 8 26226124.084 26226145.359 26226124.084
+ 02 1 11 1 4 30.0000000 0 1G31
+ 1108086.144 8 863421.443 8 26231662.668 26231684.291 26231663.037
+ 02 1 11 1 4 31.0000000 0 1G31
+ 1137186.391 8 886096.304 8 26237200.884 26237222.292 26237201.099
+ 02 1 11 1 4 32.0000000 0 1G31
+ 1166283.432 8 908768.662 8 26242738.157 26242759.899 26242738.485
+ 02 1 11 1 4 33.0000000 0 1G31
+ 1195377.177 8 931438.446 8 26248275.198 26248297.289 26248275.244
+ 02 1 11 1 4 34.0000000 0 1G31
+ 1224467.279 8 954105.393 8 26253811.388 26253833.534 26253811.583
+ 02 1 11 1 4 35.0000000 0 1G31
+ 1253554.570 8 976770.154 8 26259347.022 26259369.396 26259347.118
+ 02 1 11 1 4 36.0000000 0 1G31
+ 1282637.970 8 999431.874 8 26264881.563 26264904.471 26264882.075
+ 02 1 11 1 4 37.0000000 0 1G31
+ 1311718.305 8 1022091.213 8 26270416.300 26270438.875 26270416.362
+ 02 1 11 2 57 48.0000000 0 1G31
+ -0.838 8 -0.702 2 26452655.870 26452659.676 26452655.813
+ 02 1 11 2 57 49.0000000 0 1G31
+ 21452.539 8 16718.325 2 26456738.227 26456743.225 26456739.332
+ 02 1 11 2 57 50.0000000 0 1G31
+ 42907.929 8 33439.071 2 26460821.574 26460824.445 26460822.595
+ 02 1 11 2 57 51.0000000 0 1G31
+ 64365.531 8 50161.440 2 26464905.975 26464908.240 26464906.736
+ 02 1 11 2 57 52.0000000 0 1G31
+ 85826.903 8 66886.827 2 26468990.053 26468993.706 26468991.047
+ 02 1 11 2 57 53.0000000 0 1G31
+ 107290.885 8 83613.979 2 26473075.447 26473077.567 26473076.326
+ 02 1 11 2 57 54.0000000 0 1G31
+ 128757.636 8 100343.425 2 26477161.098 26477161.578 26477161.817
+ 02 1 11 2 57 55.0000000 0 1G31
+ 150227.143 8 117075.174 2 26481247.786 26481248.286 26481247.643
+ 02 1 11 2 57 56.0000000 0 1G31
+ 171698.905 8 133808.969 3 26485333.750 26485333.272 26485334.180
+ 02 1 11 2 57 57.0000000 0 1G31
+ 193173.844 8 150545.266 2 26489420.705 26489420.585 26489421.274
+ 02 1 11 2 57 58.0000000 0 1G31
+ 214652.155 8 167284.138 2 26493508.439 26493507.921 26493508.811
+ 02 1 11 4 39 21.0000000 0 1G31
+ -0.256 8 -0.087 7 23904519.448 23904520.996 23904519.233
+ 02 1 11 4 39 22.0000000 0 1G31
+ 32716.961 8 25493.734 8 23910745.004 23910746.953 23910745.516
+ 02 1 11 4 39 23.0000000 0 1G31
+ 65446.613 8 50997.187 8 23916973.619 23916975.167 23916973.634
+ 02 1 11 4 39 24.0000000 0 1G31
+ 98189.320 8 76510.826 8 23923204.228 23923206.274 23923204.665
+ 02 1 11 4 39 25.0000000 0 1G31
+ 130945.565 8 102035.092 8 23929437.775 23929439.482 23929437.872
+ 02 1 11 4 39 26.0000000 0 1G31
+ 163714.488 8 127569.192 8 23935673.499 23935675.243 23935673.779
+ 02 1 11 4 39 27.0000000 0 1G31
+ 196496.543 8 153113.520 7 23941912.089 23941913.698 23941912.184
+ 02 1 11 4 39 28.0000000 0 1G31
+ 229292.286 8 178668.573 8 23948153.098 23948155.042 23948152.808
+ 02 1 11 4 39 29.0000000 0 1G31
+ 262100.647 8 204233.469 8 23954396.073 23954398.066 23954396.374
+ 02 1 11 4 39 30.0000000 0 1G31
+ 294921.202 8 229807.862 8 23960641.737 23960643.468 23960641.722
+ 02 1 11 4 39 31.0000000 0 1G31
+ 327753.755 8 255391.523 8 23966889.508 23966891.341 23966889.937
+ 02 1 11 4 39 32.0000000 0 1G31
+ 360599.563 8 280985.461 8 23973140.247 23973142.109 23973140.311
+ 02 1 11 4 39 33.0000000 0 1G31
+ 393458.698 8 306589.868 8 23979393.447 23979395.282 23979393.365
+ 02 1 11 4 39 34.0000000 0 1G31
+ 426330.386 8 332204.043 8 23985648.556 23985650.592 23985648.872
+ 02 1 11 4 39 35.0000000 0 1G31
+ 459214.652 8 357827.943 8 23991906.256 23991908.301 23991906.488
+ 02 1 11 4 39 36.0000000 0 1G31
+ 492110.922 8 383461.244 8 23998166.345 23998168.241 23998166.696
+ 02 1 11 4 39 37.0000000 0 1G31
+ 525020.010 8 409104.581 8 24004428.601 24004431.144 24004429.011
+ 02 1 11 4 39 38.0000000 0 1G31
+ 557941.293 8 434757.371 8 24010693.630 24010696.008 24010693.981
+ 02 1 11 4 39 39.0000000 0 1G31
+ 590875.371 8 460420.202 8 24016960.950 24016963.006 24016961.044
+ 02 1 11 4 39 40.0000000 0 1G31
+ 623821.938 8 486092.722 8 24023230.371 24023232.978 24023230.767
+ 02 1 11 4 39 41.0000000 0 1G31
+ 656780.352 8 511774.437 8 24029502.884 24029505.078 24029502.628
+ 02 1 11 4 39 42.0000000 0 1G31
+ 689751.743 8 537466.271 8 24035776.825 24035779.424 24035776.851
+ 02 1 11 4 39 43.0000000 0 1G31
+ 722735.801 8 563167.895 8 24042053.485 24042056.134 24042053.752
+ 02 1 11 4 39 44.0000000 0 1G31
+ 755732.083 8 588879.051 8 24048332.775 24048335.088 24048332.809
+ 02 1 11 4 39 45.0000000 0 1G31
+ 788740.685 8 614599.802 8 24054614.183 24054616.811 24054614.381
+ 02 1 11 4 39 46.0000000 0 1G31
+ 821760.499 8 640329.200 8 24060897.647 24060900.367 24060898.095
+ 02 1 11 4 39 47.0000000 0 1G31
+ 854793.408 8 666068.898 8 24067184.002 24067187.086 24067184.176
+ 02 1 11 4 39 48.0000000 0 1G31
+ 887837.915 8 691817.609 8 24073472.346 24073475.225 24073472.765
+ 02 1 11 4 39 49.0000000 0 1G31
+ 920894.864 8 717575.991 8 24079763.171 24079766.214 24079763.499
+ 02 1 11 4 39 50.0000000 0 1G31
+ 953963.303 8 743343.425 8 24086055.874 24086059.008 24086056.608
+ 02 1 11 4 39 51.0000000 0 1G31
+ 987043.630 8 769120.142 8 24092350.903 24092354.133 24092351.457
+ 02 1 11 4 39 52.0000000 0 1G31
+ 1020136.776 8 794906.866 8 24098648.692 24098651.489 24098648.876
+ 02 1 11 4 39 53.0000000 0 1G31
+ 1053241.595 8 820702.606 8 24104948.324 24104951.484 24104948.880
+ 02 1 11 4 39 54.0000000 0 1G31
+ 1086358.084 8 846507.451 8 24111250.740 24111253.652 24111250.403
+ 02 1 11 4 39 55.0000000 0 1G31
+ 1119486.565 8 872321.661 8 24117554.827 24117558.082 24117554.890
+ 02 1 11 4 39 56.0000000 0 1G31
+ 1152626.043 8 898144.464 8 24123861.379 24123864.181 24123861.212
+ 02 1 11 4 39 57.0000000 0 1G31
+ 1185777.685 8 923976.770 8 24130169.839 24130173.139 24130170.008
+ 02 1 11 4 39 58.0000000 0 1G31
+ 1218941.853 8 949818.847 8 24136480.519 24136484.085 24136481.168
+ 02 1 11 4 39 59.0000000 0 1G31
+ 1252117.627 8 975670.025 8 24142794.032 24142797.225 24142794.239
+ 02 1 11 4 40 0.0000000 0 1G31
+ 1285304.877 8 1001530.129 8 24149109.688 24149112.882 24149109.605
+ 02 1 11 4 40 1.0000000 0 1G31
+ 1318502.446 8 1027398.124 8 24155427.060 24155430.338 24155426.944
+ 02 1 11 4 40 2.0000000 0 1G31
+ 1351711.242 8 1053274.640 8 24161746.363 24161749.941 24161746.802
+ 02 1 11 4 40 3.0000000 0 1G31
+ 1384932.239 8 1079160.881 8 24168068.658 24168072.162 24168068.780
+ 02 1 11 4 40 4.0000000 0 1G31
+ 1418164.237 8 1105055.821 8 24174392.574 24174396.138 24174392.798
+ 02 1 11 4 40 5.0000000 0 1G31
+ 1451407.065 8 1130959.220 8 24180718.652 24180722.226 24180718.920
+ 02 1 11 4 40 6.0000000 0 1G31
+ 1484660.617 8 1156870.988 8 24187046.643 24187050.007 24187046.802
+ 02 1 11 4 40 7.0000000 0 1G31
+ 1517925.452 8 1182791.598 8 24193376.643 24193380.246 24193376.968
+ 02 1 11 4 40 8.0000000 0 1G31
+ 1551202.397 8 1208721.687 8 24199709.067 24199712.820 24199708.957
+ 02 1 11 4 40 9.0000000 0 1G31
+ 1584490.602 8 1234660.473 8 24206043.349 24206047.232 24206043.682
+ 02 1 11 4 40 10.0000000 0 1G31
+ 1617789.641 8 1260607.605 8 24212380.428 24212383.873 24212380.353
+ 02 1 11 4 40 11.0000000 0 1G31
+ 1651099.376 8 1286563.050 8 24218719.270 24218722.993 24218719.034
+ 02 1 11 4 40 12.0000000 0 1G31
+ 1684420.678 8 1312527.465 8 24225060.392 24225064.076 24225060.359
+ 02 1 11 4 40 13.0000000 0 1G31
+ 1717753.974 8 1338501.267 8 24231403.609 24231407.172 24231403.617
+ 02 1 11 4 40 14.0000000 0 1G31
+ 1751099.941 8 1364485.116 8 24237749.020 24237752.778 24237749.312
+ 02 1 11 4 40 15.0000000 0 1G31
+ 1784457.654 8 1390478.238 8 24244096.661 24244100.375 24244096.950
+ 02 1 11 4 40 16.0000000 0 1G31
+ 1817825.475 8 1416479.186 8 24250446.549 24250450.409 24250446.471
+ 02 1 11 4 40 17.0000000 0 1G31
+ 1851204.438 8 1442488.752 8 24256797.969 24256801.793 24256798.165
+ 02 1 11 4 40 18.0000000 0 1G31
+ 1884593.789 8 1468506.338 8 24263151.841 24263155.761 24263152.285
+ 02 1 11 4 40 19.0000000 0 1G31
+ 1917993.897 8 1494532.297 8 24269507.827 24269511.645 24269508.211
+ 02 1 11 4 40 20.0000000 0 1G31
+ 1951404.426 8 1520566.414 8 24275865.666 24275869.642 24275865.904
+ 02 1 11 4 40 21.0000000 0 1G31
+ 1984823.524 8 1546607.118 8 24282225.451 24282228.915 24282225.466
+ 02 1 11 4 40 22.0000000 0 1G31
+ 2018254.737 8 1572657.257 8 24288587.342 24288591.117 24288587.431
+ 02 1 11 4 40 23.0000000 0 1G31
+ 2051697.411 8 1598716.363 8 24294951.304 24294955.123 24294951.425
+ 02 1 11 4 40 24.0000000 0 1G31
+ 2085150.844 8 1624783.882 8 24301317.412 24301321.028 24301317.380
+ 02 1 11 4 40 25.0000000 0 1G31
+ 2118614.949 8 1650859.734 8 24307685.456 24307689.416 24307685.462
+ 02 1 11 4 40 26.0000000 0 1G31
+ 2152089.198 8 1676943.400 8 24314055.303 24314059.379 24314055.358
+ 02 1 11 4 40 27.0000000 0 1G31
+ 2185574.261 8 1703035.642 8 24320427.308 24320431.350 24320427.542
+ 02 1 11 4 40 28.0000000 0 1G31
+ 2219069.948 8 1729136.197 8 24326801.365 24326805.600 24326801.471
+ 02 1 11 4 40 29.0000000 0 1G31
+ 2252575.923 8 1755244.762 8 24333177.548 24333181.538 24333177.566
+ 02 1 11 4 40 30.0000000 0 1G31
+ 2286092.155 8 1781361.264 8 24339555.086 24339559.116 24339555.630
+ 02 1 11 4 40 31.0000000 0 1G31
+ 2319616.994 8 1807484.419 8 24345934.883 24345938.960 24345935.271
+ 02 1 11 4 40 32.0000000 0 1G31
+ 2353141.325 8 1833607.273 8 24352314.733 24352318.762 24352314.697
+ 02 1 11 4 40 33.0000000 0 1G31
+ 2386669.844 8 1859733.324 8 24358694.810 24358698.648 24358694.884
+ 02 1 11 4 40 34.0000000 0 1G31
+ 2420207.268 8 1885866.301 8 24365076.466 24365080.743 24365076.781
+ 02 1 11 4 40 35.0000000 0 1G31
+ 2453754.085 8 1912006.531 8 24371460.684 24371464.803 24371460.962
+ 02 1 11 4 40 36.0000000 0 1G31
+ 2487310.060 8 1938153.956 8 24377846.260 24377850.136 24377846.390
+ 02 1 11 4 40 37.0000000 0 1G31
+ 2520876.964 8 1964309.946 8 24384233.870 24384237.916 24384234.016
+ 02 1 11 4 40 38.0000000 0 1G31
+ 2554453.965 8 1990473.885 8 24390623.082 24390627.325 24390623.640
+ 02 1 11 4 40 39.0000000 0 1G31
+ 2588040.818 8 2016645.469 8 24397014.493 24397018.640 24397014.733
+ 02 1 11 4 40 40.0000000 0 1G31
+ 2621637.462 8 2042824.641 8 24403407.725 24403411.901 24403408.140
+ 02 1 11 4 40 41.0000000 0 1G31
+ 2655243.712 8 2069011.334 8 24409803.009 24409807.128 24409803.177
+ 02 1 11 4 40 42.0000000 0 1G31
+ 2688859.863 9 2095205.698 8 24416199.777 24416203.925 24416200.133
+ 02 1 11 4 40 43.0000000 0 1G31
+ 2722485.029 8 2121407.077 8 24422598.506 24422602.943 24422598.797
+ 02 1 11 4 40 44.0000000 0 1G31
+ 2756119.846 8 2147616.012 8 24428999.056 24429003.395 24428999.301
+ 02 1 11 4 40 45.0000000 0 1G31
+ 2789764.843 9 2173833.048 8 24435401.399 24435405.467 24435401.715
+ 02 1 11 4 40 46.0000000 0 1G31
+ 2823419.209 9 2200057.407 8 24441805.592 24441809.489 24441805.670
+ 02 1 11 4 40 47.0000000 0 1G31
+ 2857083.178 9 2226289.148 8 24448211.436 24448215.606 24448211.657
+ 02 1 11 4 40 48.0000000 0 1G31
+ 2890756.941 9 2252528.522 8 24454619.151 24454623.436 24454619.738
+ 02 1 11 4 40 49.0000000 0 1G31
+ 2924440.116 9 2278775.334 8 24461028.888 24461033.047 24461029.167
+ 02 1 11 4 40 50.0000000 0 1G31
+ 2958132.365 9 2305029.127 8 24467440.246 24467444.158 24467440.422
+ 02 1 11 4 40 51.0000000 0 1G31
+ 2991832.816 9 2331289.189 8 24473853.248 24473857.398 24473853.329
+ 02 1 11 4 40 52.0000000 0 1G31
+ 3025543.255 9 2357557.171 8 24480267.967 24480272.144 24480268.051
+ 02 1 11 4 40 53.0000000 0 1G31
+ 3059263.333 9 2383832.630 8 24486684.578 24486688.514 24486684.682
+ 02 1 11 4 40 54.0000000 0 1G31
+ 3092993.002 9 2410115.659 8 24493103.187 24493106.966 24493103.543
+ 02 1 11 4 40 55.0000000 0 1G31
+ 3126731.902 9 2436405.907 8 24499523.349 24499526.996 24499523.430
+ 02 1 11 4 40 56.0000000 0 1G31
+ 3160478.104 9 2462701.722 8 24505944.943 24505948.822 24505945.245
+ 02 1 11 4 47 2.0000000 0 1G31
+ -0.194 9 -0.397 7 26909742.844 26909751.395 26909743.056
+ 02 1 11 4 47 3.0000000 0 1G31
+ 34417.952 9 26819.279 8 26916292.263 26916300.164 26916292.476
+ 02 1 11 4 47 4.0000000 0 1G31
+ 68830.977 9 53634.842 8 26922840.720 26922848.254 26922840.930
+ 02 1 11 4 47 5.0000000 0 1G31
+ 103238.954 9 80446.466 8 26929388.177 26929395.663 26929388.354
+ 02 1 11 4 47 6.0000000 0 1G31
+ 137640.738 9 107253.176 8 26935934.458 26935942.031 26935934.602
+ 02 1 11 4 47 7.0000000 0 1G31
+ 172037.654 9 134056.061 8 26942479.797 26942487.437 26942480.257
+ 02 1 11 4 47 8.0000000 0 1G31
+ 206429.751 9 160855.203 8 26949024.407 26949031.887 26949024.592
+ 02 1 11 4 47 9.0000000 0 1G31
+ 240816.336 9 187650.045 8 26955568.020 26955575.237 26955568.027
+ 02 1 11 4 47 10.0000000 0 1G31
+ 275197.896 9 214441.012 8 26962110.517 26962117.800 26962110.747
+ 02 1 11 4 47 11.0000000 0 1G31
+ 309573.562 9 241227.415 8 26968651.833 26968659.033 26968651.766
+ 02 1 11 4 47 12.0000000 0 1G31
+ 343944.255 9 268009.939 8 26975192.172 26975199.359 26975192.224
+ 02 1 11 4 47 13.0000000 0 1G31
+ 378309.603 9 294788.263 8 26981731.577 26981738.792 26981731.921
+ 02 1 11 4 47 14.0000000 0 1G31
+ 412669.571 9 321562.392 8 26988269.966 26988277.154 26988270.157
+ 02 1 11 4 47 15.0000000 0 1G31
+ 447024.429 9 348332.540 8 26994807.275 26994814.516 26994807.669
+ 02 1 11 4 47 16.0000000 0 1G31
+ 481373.167 9 375097.979 8 27001343.605 27001350.702 27001343.832
+ 02 1 11 4 47 17.0000000 0 1G31
+ 515716.741 9 401859.384 8 27007878.864 27007885.903 27007878.999
+ 02 1 11 4 47 18.0000000 0 1G31
+ 550055.522 9 428617.071 8 27014412.980 27014420.322 27014413.331
+ 02 1 11 4 47 19.0000000 0 1G31
+ 584388.793 9 455370.460 8 27020946.275 27020953.463 27020946.555
+ 02 1 11 4 47 20.0000000 0 1G31
+ 618716.577 9 482119.543 8 27027478.576 27027485.714 27027478.782
+ 02 1 11 4 47 21.0000000 0 1G31
+ 653038.290 9 508863.916 8 27034009.742 27034016.578 27034009.858
+ 02 1 11 4 47 22.0000000 0 1G31
+ 687355.048 9 535604.390 8 27040539.821 27040546.626 27040540.192
+ 02 1 11 4 47 23.0000000 0 1G31
+ 721665.489 9 562339.835 8 27047068.751 27047075.787 27047069.151
+ 02 1 11 4 47 24.0000000 0 1G31
+ 755970.350 9 589071.042 8 27053596.774 27053603.648 27053597.051
+ 02 1 11 4 47 25.0000000 0 1G31
+ 790269.634 9 615797.906 8 27060123.589 27060130.329 27060123.847
+ 02 1 11 4 47 26.0000000 0 1G31
+ 824562.394 9 642519.616 8 27066649.258 27066656.012 27066649.589
+ 02 1 11 4 47 27.0000000 0 1G31
+ 858849.754 9 669237.199 8 27073173.880 27073180.487 27073173.943
+ 02 1 11 4 47 28.0000000 0 1G31
+ 893131.412 9 695950.395 8 27079697.191 27079703.759 27079697.389
+ 02 1 11 4 47 29.0000000 0 1G31
+ 927407.719 9 722659.403 8 27086219.576 27086226.234 27086219.762
+ 02 1 11 4 47 30.0000000 0 1G31
+ 961678.525 9 749364.123 8 27092741.008 27092747.530 27092741.099
+ 02 1 11 4 47 31.0000000 0 1G31
+ 995942.878 9 776063.826 8 27099261.023 27099267.796 27099261.229
+ 02 1 11 4 47 32.0000000 0 1G31
+ 1030201.153 9 802758.727 8 27105780.134 27105786.548 27105780.316
+ 02 1 11 4 47 33.0000000 0 1G31
+ 1064453.938 9 829449.336 8 27112298.150 27112304.500 27112298.338
+ 02 1 11 4 47 34.0000000 0 1G31
+ 1098701.258 9 856135.714 8 27118814.960 27118821.450 27118815.295
+ 02 1 11 4 47 35.0000000 0 1G31
+ 1132942.457 9 882817.264 8 27125330.877 27125337.244 27125331.164
+ 02 1 11 4 47 36.0000000 0 1G31
+ 1167176.781 9 909493.462 8 27131845.230 27131851.687 27131845.494
+ 02 1 11 4 47 37.0000000 0 1G31
+ 1201394.723 9 936156.888 8 27138356.898 27138363.129 27138356.949
+ 02 1 11 4 47 38.0000000 0 1G31
+ 1235603.473 9 962813.208 8 27144866.418 27144872.564 27144866.324
+ 02 1 11 4 47 39.0000000 0 1G31
+ 1269805.555 9 989464.286 8 27151374.660 27151380.859 27151375.001
+ 02 1 11 4 47 40.0000000 0 1G31
+ 1304001.237 9 1016110.274 8 27157881.995 27157888.247 27157882.111
+ 02 1 11 4 47 41.0000000 0 1G31
+ 1338189.977 9 1042750.871 8 27164387.852 27164394.013 27164388.168
+ 02 1 11 4 47 42.0000000 0 1G31
+ 1372372.970 9 1069387.021 8 27170892.581 27170898.716 27170892.847
+ 02 1 11 4 47 43.0000000 0 1G31
+ 1406550.348 9 1096018.821 8 27177396.205 27177402.356 27177396.308
+ 02 1 11 4 47 44.0000000 0 1G31
+ 1440721.481 9 1122645.724 8 27183898.725 27183905.027 27183899.004
+ 02 1 11 4 47 45.0000000 0 1G31
+ 1474886.086 9 1149267.533 8 27190399.995 27190406.219 27190400.305
+ 02 1 11 4 47 46.0000000 0 1G31
+ 1509043.526 9 1175883.776 8 27196900.060 27196906.061 27196900.322
+ 02 1 11 4 47 47.0000000 0 1G31
+ 1543195.410 9 1202495.680 8 27203398.746 27203405.017 27203399.277
+ 02 1 11 4 47 48.0000000 0 1G31
+ 1577341.158 9 1229102.820 8 27209896.437 27209902.554 27209896.662
+ 02 1 11 4 47 49.0000000 0 1G31
+ 1611480.627 9 1255705.024 8 27216393.010 27216398.984 27216393.145
+ 02 1 11 4 47 50.0000000 0 1G31
+ 1645613.940 9 1282302.379 8 27222888.346 27222894.566 27222888.629
+ 02 1 11 4 47 51.0000000 0 1G31
+ 1679740.855 9 1308894.792 8 27229382.452 27229388.740 27229382.741
+ 02 1 11 4 47 52.0000000 0 1G31
+ 1713861.290 9 1335482.061 8 27235875.356 27235881.689 27235875.670
+ 02 1 11 4 47 53.0000000 0 1G31
+ 1747975.116 9 1362064.140 8 27242367.242 27242373.390 27242367.209
+ 02 1 11 4 47 54.0000000 0 1G31
+ 1782083.106 9 1388641.814 8 27248857.614 27248863.956 27248857.887
+ 02 1 11 4 47 55.0000000 0 1G31
+ 1816184.439 9 1415214.339 8 27255346.848 27255352.938 27255347.096
+ 02 1 11 4 47 56.0000000 0 1G31
+ 1850278.868 9 1441781.488 8 27261834.805 27261841.017 27261835.093
+ 02 1 11 4 47 57.0000000 0 1G31
+ 1884366.938 9 1468343.636 8 27268321.597 27268327.860 27268321.734
+ 02 1 11 4 47 58.0000000 0 1G31
+ 1918449.001 9 1494901.133 8 27274807.028 27274813.322 27274807.404
+ 02 1 11 4 47 59.0000000 0 1G31
+ 1952524.662 9 1521453.656 8 27281291.457 27281297.644 27281291.597
+ 02 1 11 4 48 0.0000000 0 1G31
+ 1986593.453 9 1548000.804 8 27287774.434 27287780.527 27287774.739
+ 02 1 11 4 48 1.0000000 0 1G31
+ 2020655.601 9 1574542.826 8 27294256.349 27294262.442 27294256.477
+ 02 1 11 4 48 2.0000000 0 1G31
+ 2054711.099 9 1601079.691 8 27300736.828 27300742.803 27300736.769
+ 02 1 11 4 48 3.0000000 0 1G31
+ 2088759.537 9 1627611.073 8 27307215.842 27307221.867 27307215.868
+ 02 1 11 4 48 4.0000000 0 1G31
+ 2122801.274 9 1654137.270 8 27313693.653 27313699.561 27313693.659
+ 02 1 11 4 48 5.0000000 0 1G31
+ 2156836.588 9 1680658.490 8 27320170.198 27320176.145 27320170.411
+ 02 1 11 4 48 6.0000000 0 1G31
+ 2190864.669 9 1707174.123 8 27326645.423 27326651.256 27326645.565
+ 02 1 11 4 48 7.0000000 0 1G31
+ 2224885.696 9 1733684.095 8 27333119.288 27333125.082 27333119.604
+ 02 1 11 4 48 8.0000000 0 1G31
+ 2258899.599 9 1760188.403 8 27339592.000 27339597.755 27339592.115
+ 02 1 11 4 48 9.0000000 0 1G31
+ 2292906.757 9 1786687.506 8 27346063.255 27346069.044 27346063.363
+ 02 1 11 4 48 10.0000000 0 1G31
+ 2326907.079 9 1813181.228 8 27352533.235 27352539.087 27352533.493
+ 02 1 11 4 48 11.0000000 0 1G31
+ 2360900.097 9 1839669.190 8 27359001.926 27359007.927 27359002.283
+ 02 1 11 4 48 12.0000000 0 1G31
+ 2394886.820 9 1866152.260 8 27365469.612 27365475.523 27365469.854
+ 02 1 11 4 48 13.0000000 0 1G31
+ 2428866.043 9 1892629.466 8 27371935.794 27371941.769 27371935.871
+ 02 1 11 4 48 14.0000000 0 1G31
+ 2462838.356 9 1919101.298 8 27378400.475 27378406.542 27378400.600
+ 02 1 11 4 48 15.0000000 0 1G31
+ 2496803.266 9 1945567.375 8 27384863.823 27384869.872 27384864.104
+ 02 1 11 4 48 16.0000000 0 1G31
+ 2530761.038 9 1972027.933 8 27391325.853 27391331.796 27391326.033
+ 02 1 11 4 48 17.0000000 0 1G31
+ 2564712.370 9 1998483.454 8 27397786.578 27397792.647 27397786.943
+ 02 1 11 4 48 18.0000000 0 1G31
+ 2598656.899 9 2024933.625 8 27404246.202 27404252.238 27404246.414
+ 02 1 11 4 48 19.0000000 0 1G31
+ 2632594.286 9 2051378.213 8 27410704.265 27410710.540 27410704.628
+ 02 1 11 4 48 20.0000000 0 1G31
+ 2666524.268 9 2077817.097 8 27417160.964 27417167.207 27417161.215
+ 02 1 11 4 48 21.0000000 0 1G31
+ 2700446.662 9 2104250.142 8 27423616.277 27423622.453 27423616.421
+ 02 1 11 4 48 22.0000000 0 1G31
+ 2734362.153 9 2130677.712 8 27430070.161 27430076.384 27430070.409
+ 02 1 11 4 48 23.0000000 0 1G31
+ 2768269.831 9 2157099.126 8 27436522.626 27436528.876 27436522.803
+ 02 1 11 4 48 24.0000000 0 1G31
+ 2802170.081 9 2183514.816 8 27442973.736 27442979.805 27442974.035
+ 02 1 11 4 48 25.0000000 0 1G31
+ 2836062.913 9 2209924.786 8 27449423.450 27449429.554 27449423.668
+ 02 1 11 4 48 26.0000000 0 1G31
+ 2869947.531 9 2236328.349 8 27455871.435 27455877.565 27455871.648
+ 02 1 11 4 48 27.0000000 0 1G31
+ 2903825.295 9 2262726.674 8 27462318.101 27462324.201 27462318.423
+ 02 1 11 4 48 28.0000000 0 1G31
+ 2937695.416 9 2289119.014 8 27468763.258 27468769.633 27468763.634
+ 02 1 11 4 48 29.0000000 0 1G31
+ 2971557.643 9 2315505.154 8 27475207.177 27475213.337 27475207.457
+ 02 1 11 4 48 30.0000000 0 1G31
+ 3005411.477 9 2341884.548 8 27481649.452 27481655.530 27481649.558
+ 02 1 11 4 48 31.0000000 0 1G31
+ 3039257.258 9 2368257.645 8 27488090.352 27488096.451 27488090.414
+ 02 1 11 4 48 32.0000000 0 1G31
+ 3073096.465 9 2394625.731 8 27494529.702 27494536.138 27494529.969
+ 02 1 11 4 48 33.0000000 0 1G31
+ 3106927.995 9 2420987.845 8 27500967.665 27500974.099 27500967.951
+ 02 1 11 4 48 34.0000000 0 1G31
+ 3140751.680 9 2447343.845 8 27507404.290 27507410.685 27507404.567
+ 02 1 11 4 48 35.0000000 0 1G31
+ 3174567.434 9 2473693.639 8 27513839.305 27513845.605 27513839.561
+ 02 1 11 4 48 36.0000000 0 1G31
+ 3208374.355 9 2500036.628 8 27520272.776 27520279.085 27520272.898
+ 02 1 11 4 48 37.0000000 0 1G31
+ 3242173.867 9 2526373.817 8 27526704.552 27526710.979 27526704.828
+ 02 1 11 4 48 38.0000000 0 1G31
+ 3275965.814 9 2552705.061 8 27533135.045 27533141.497 27533135.296
+ 02 1 11 4 48 39.0000000 0 1G31
+ 3309749.880 9 2579030.066 8 27539564.137 27539570.670 27539564.305
+ 02 1 11 4 48 40.0000000 0 1G31
+ 3343525.455 9 2605348.429 8 27545991.614 27545998.272 27545991.773
+ 02 1 11 4 48 41.0000000 0 1G31
+ 3377293.299 9 2631660.941 8 27552417.434 27552424.023 27552417.539
+ 02 1 11 4 48 42.0000000 0 1G31
+ 3411053.110 9 2657967.185 8 27558841.825 27558848.485 27558842.197
+ 02 1 11 4 48 43.0000000 0 1G31
+ 3444804.762 9 2684267.000 8 27565264.729 27565271.452 27565264.900
+ 02 1 11 4 48 44.0000000 0 1G31
+ 3478548.073 9 2710560.337 8 27571685.905 27571692.684 27571686.049
+ 02 1 11 4 48 45.0000000 0 1G31
+ 3512283.617 9 2736847.717 8 27578105.594 27578112.441 27578105.855
+ 02 1 11 4 48 46.0000000 0 1G31
+ 3546010.522 9 2763128.347 8 27584523.620 27584530.466 27584523.985
+ 02 1 11 4 48 47.0000000 0 1G31
+ 3579729.031 9 2789402.364 8 27590940.288 27590947.104 27590940.450
+ 02 1 11 4 48 48.0000000 0 1G31
+ 3613439.566 9 2815670.198 8 27597355.298 27597361.987 27597355.521
+ 02 1 11 4 48 49.0000000 0 1G31
+ 3647142.001 9 2841931.861 8 27603768.605 27603775.350 27603768.754
+ 02 1 11 4 48 50.0000000 0 1G31
+ 3680836.614 9 2868187.446 8 27610180.385 27610187.229 27610180.489
+ 02 1 11 4 48 51.0000000 0 1G31
+ 3714521.798 9 2894435.709 8 27616590.458 27616597.174 27616590.637
+ 02 1 11 4 48 52.0000000 0 1G31
+ 3748198.525 9 2920677.355 8 27622998.902 27623005.599 27622998.968
+ 02 1 11 4 48 53.0000000 0 1G31
+ 3781867.190 9 2946912.843 8 27629405.732 27629412.499 27629405.836
+ 02 1 11 4 48 54.0000000 0 1G31
+ 3815527.138 9 2973141.634 8 27635810.803 27635817.578 27635810.959
+ 02 1 11 4 49 22.0000000 0 1G31
+ 33398.700 9 26025.350 7 27814399.352 27814408.131 27814399.478
+ 02 1 11 4 49 23.0000000 0 1G31
+ 66790.649 9 52044.829 7 27820753.520 27820761.167 27820753.568
+ 02 1 11 4 49 24.0000000 0 1G31
+ 100175.547 9 78059.070 8 27827106.459 27827111.873 27827106.598
+ 02 1 11 4 49 25.0000000 0 1G31
+ 133554.033 9 104068.290 8 27833457.921 27833463.546 27833458.204
+ 02 1 11 4 49 26.0000000 0 1G31
+ 166926.083 9 130072.470 7 27839808.498 27839813.853 27839808.965
+ 02 1 11 4 49 27.0000000 0 1G31
+ 200293.111 9 156072.728 7 27846158.017 27846163.384 27846158.370
+ 02 1 11 4 49 28.0000000 0 1G31
+ 233656.266 9 182070.052 7 27852506.675 27852512.305 27852507.185
+ 02 1 11 4 49 29.0000000 0 1G31
+ 267015.365 9 208064.170 7 27858854.871 27858860.484 27858855.071
+ 02 1 11 4 49 30.0000000 0 1G31
+ 300370.775 8 234055.394 7 27865201.952 27865207.446 27865202.477
+ 02 1 11 4 49 31.0000000 0 1G31
+ 333722.156 8 260043.500 7 27871548.498 27871554.155 27871548.695
+ 02 1 11 4 49 32.0000000 0 1G31
+ 367071.516 8 286029.991 7 27877894.609 27877900.312 27877895.048
+ 02 1 11 4 49 33.0000000 0 1G31
+ 400418.342 8 312014.506 7 27884240.631 27884245.733 27884240.684
+ 02 1 11 4 49 34.0000000 0 1G31
+ 433763.320 8 337997.418 6 27890585.765 27890590.916 27890586.178
+ 02 1 11 4 49 35.0000000 0 1G31
+ 467106.887 8 363979.301 6 27896930.712 27896936.683 27896931.234
+ 02 1 11 4 49 36.0000000 0 1G31
+ 500448.806 8 389959.966 6 27903275.769 27903281.628 27903276.338
+ 02 1 11 4 49 37.0000000 0 1G31
+ 533790.497 8 415940.445 6 27909620.519 27909626.437 27909621.114
+ 02 1 11 4 49 38.0000000 0 1G31
+ 567130.934 8 441919.862 6 27915965.086 27915971.509 27915965.394
+ 02 1 11 4 49 39.0000000 0 1G31
+ 600471.572 8 467899.498 6 27922309.649 27922316.043 27922310.155
+ 02 1 11 4 49 40.0000000 0 1G31
+ 633810.897 8 493878.078 6 27928654.469 27928660.119 27928654.181
+ 02 1 11 4 49 41.0000000 0 1G31
+ 667148.190 8 519855.120 6 27934998.786 27935004.563 27934998.054
+ 02 1 11 4 49 42.0000000 0 1G31
+ 700484.430 8 545831.355 6 27941341.852 27941347.862 27941342.396
+ 02 1 11 4 49 43.0000000 0 1G31
+ 733818.169 8 571805.583 6 27947685.091 27947690.904 27947685.314
+ 02 1 11 4 49 44.0000000 0 1G31
+ 767150.358 8 597778.528 6 27954027.850 27954034.359 27954028.856
+ 02 1 11 4 49 45.0000000 0 1G31
+ 800481.906 8 623750.998 6 27960370.792 27960377.255 27960371.247
+ 02 1 11 4 49 46.0000000 0 1G31
+ 833812.525 8 649722.754 6 27966714.084 27966720.114 27966714.018
+ 02 1 11 4 49 47.0000000 0 1G31
+ 867143.335 8 675694.607 6 27973056.392 27973062.944 27973057.283
+ 02 1 11 4 49 48.0000000 0 1G31
+ 900474.837 8 701667.101 5 27979399.203 27979403.422 27979399.430
+ 02 1 11 4 49 49.0000000 0 1G31
+ 933806.653 8 727639.840 6 27985742.660 27985747.655 27985742.588
+ 02 1 11 4 49 50.0000000 0 1G31
+ 967137.400 7 753611.679 4 27992086.125 27992091.620 27992086.462
+ 02 1 11 4 49 51.0000000 0 1G31
+ 1000467.961 6 779583.431 2 27998432.903 27998433.642 27998429.597
+ 02 1 11 4 49 52.0000000 0 1G31
+ 1033798.049 6 805551.951 2 28004777.493 28004773.426 28004771.496
+ 02 1 11 4 49 53.0000000 0 1G31
+ 1067127.691 6 831525.941 2 28011131.295 28011109.807 28011120.376
+ 02 1 11 4 49 54.0000000 0 1G31
+ 1100457.017 6 857510.986 2 28017499.383 28017449.717 28017460.942
+ 02 1 11 4 49 55.0000000 0 1G31
+ 1133786.082 6 883520.273 2 28023864.754 28023795.310 28023797.203
+ 02 1 11 4 49 56.0000000 0 1G31
+ 1167114.817 6 909513.092 2 28030206.810 28030138.677 28030144.092
+ 02 1 11 4 49 57.0000000 0 1G31
+ 1200443.252 6 935475.924 2 28036556.577 28036473.647 28036496.310
+ 02 1 11 4 49 58.0000000 0 1G31
+ 1233771.424 6 961404.172 2 28042876.725 28042804.639 28042847.537
+ 02 1 11 4 49 59.0000000 0 1G31
+ 1267099.196 6 987290.285 2 28049214.600 28049138.565 28049183.374
+ 02 1 11 8 18 56.0000000 0 1G31
+ -0.497 8 -0.190 7 27317334.717 27317363.261 27317334.464
+ 02 1 11 8 18 57.0000000 0 1G31
+ 20371.091 8 15874.220 7 27321211.171 27321239.654 27321210.553
+ 02 1 11 8 18 58.0000000 0 1G31
+ 40739.395 8 31746.038 7 27325087.212 27325114.942 27325086.413
+ 02 1 11 8 18 59.0000000 0 1G31
+ 61105.932 8 47616.490 7 27328961.732 27328990.113 27328962.119
+ 02 1 11 8 19 0.0000000 0 1G31
+ 81471.315 8 63486.043 7 27332836.815 27332865.283 27332836.893
+ 02 1 11 8 19 1.0000000 0 1G31
+ 101834.063 8 79353.541 7 27336711.743 27336739.412 27336711.753
+ 02 1 11 8 19 2.0000000 0 1G31
+ 122193.971 8 95218.833 7 27340585.741 27340613.118 27340585.696
+ 02 1 11 8 19 3.0000000 0 1G31
+ 142551.220 8 111082.042 7 27344459.109 27344487.039 27344459.193
+ 02 1 11 8 19 4.0000000 0 1G31
+ 162905.839 8 126943.213 7 27348332.413 27348360.113 27348332.254
+ 02 1 11 8 19 5.0000000 0 1G31
+ 183257.816 8 142802.332 7 27352205.040 27352232.469 27352204.950
+ 02 1 11 8 19 6.0000000 0 1G31
+ 203606.771 8 158659.092 7 27356077.206 27356104.384 27356076.923
+ 02 1 11 8 19 7.0000000 0 1G31
+ 223952.905 8 174513.669 7 27359948.309 27359975.376 27359948.531
+ 02 1 11 8 19 8.0000000 0 1G31
+ 244296.424 8 190366.207 7 27363819.181 27363846.208 27363819.029
+ 02 1 11 8 19 9.0000000 0 1G31
+ 264636.769 8 206216.266 7 27367689.671 27367716.161 27367689.553
+ 02 1 11 8 19 10.0000000 0 1G31
+ 284972.288 8 222062.574 7 27371559.128 27371585.982 27371559.303
+ 02 1 11 8 19 11.0000000 0 1G31
+ 305305.613 8 237907.177 7 27375427.796 27375454.705 27375427.884
+ 02 1 11 8 19 12.0000000 0 1G31
+ 325637.286 8 253750.491 7 27379296.709 27379322.891 27379296.172
+ 02 1 11 8 19 13.0000000 0 1G31
+ 345966.015 8 269591.521 7 27383164.314 27383191.214 27383164.698
+ 02 1 11 8 19 14.0000000 0 1G31
+ 366291.864 8 285430.303 7 27387031.784 27387058.551 27387032.002
+ 02 1 11 8 19 15.0000000 0 1G31
+ 386614.940 8 301266.922 7 27390899.293 27390925.192 27390899.164
+ 02 1 11 8 19 16.0000000 0 1G31
+ 406934.250 8 317100.603 7 27394765.266 27394791.927 27394764.916
+ 02 1 11 8 19 17.0000000 0 1G31
+ 427251.471 8 332932.666 7 27398631.037 27398657.029 27398630.809
+ 02 1 11 8 19 18.0000000 0 1G31
+ 447565.459 8 348762.202 7 27402496.495 27402522.237 27402496.677
+ 02 1 11 8 19 19.0000000 0 1G31
+ 467876.629 8 364589.548 7 27406360.965 27406387.019 27406360.859
+ 02 1 11 8 19 20.0000000 0 1G31
+ 488184.644 8 380414.438 7 27410225.192 27410250.944 27410225.040
+ 02 1 11 8 19 21.0000000 0 1G31
+ 508489.380 8 396236.763 7 27414088.514 27414114.831 27414088.798
+ 02 1 11 8 19 22.0000000 0 1G31
+ 528790.908 8 412056.593 7 27417951.887 27417976.936 27417951.306
+ 02 1 11 8 19 23.0000000 0 1G31
+ 549087.791 8 427872.810 7 27421813.487 27421838.941 27421813.431
+ 02 1 11 8 19 24.0000000 0 1G31
+ 569382.738 8 443687.504 7 27425675.128 27425700.497 27425675.383
+ 02 1 11 8 19 25.0000000 0 1G31
+ 589675.735 8 459500.677 7 27429536.930 27429562.167 27429536.735
+ 02 1 11 8 19 26.0000000 0 1G31
+ 609965.648 8 475311.455 7 27433397.490 27433422.855 27433397.449
+ 02 1 11 8 19 27.0000000 0 1G31
+ 630252.722 8 491120.007 7 27437257.294 27437282.430 27437257.259
+ 02 1 11 8 19 28.0000000 0 1G31
+ 650537.321 8 506926.630 7 27441117.065 27441142.452 27441117.137
+ 02 1 11 8 19 29.0000000 0 1G31
+ 670818.715 8 522730.752 7 27444976.348 27445001.483 27444976.576
+ 02 1 11 8 19 30.0000000 0 1G31
+ 691096.517 8 538532.081 7 27448834.580 27448859.886 27448834.890
+ 02 1 11 8 19 31.0000000 0 1G31
+ 711370.692 8 554330.581 7 27452692.612 27452716.701 27452692.490
+ 02 1 11 8 19 32.0000000 0 1G31
+ 731642.537 8 570127.250 7 27456550.038 27456574.024 27456550.071
+ 02 1 11 8 19 33.0000000 0 1G31
+ 751910.859 8 585921.188 7 27460406.946 27460430.372 27460406.607
+ 02 1 11 8 19 34.0000000 0 1G31
+ 772175.155 8 601711.973 7 27464261.646 27464286.634 27464262.301
+ 02 1 11 8 19 35.0000000 0 1G31
+ 792434.579 8 617498.967 7 27468116.742 27468141.213 27468117.344
+ 02 1 11 8 19 36.0000000 0 1G31
+ 812691.175 8 633283.749 7 27471971.569 27471996.136 27471971.369
+ 02 1 11 8 19 37.0000000 0 1G31
+ 832945.956 8 649067.122 7 27475825.534 27475849.246 27475825.714
+ 02 1 11 8 19 38.0000000 0 1G31
+ 853197.645 8 664848.083 7 27479678.519 27479702.769 27479678.739
+ 02 1 11 8 19 39.0000000 0 1G31
+ 873446.045 8 680626.471 7 27483531.397 27483555.266 27483531.635
+ 02 1 11 8 19 40.0000000 0 1G31
+ 893690.948 8 696402.131 7 27487383.323 27487407.813 27487384.124
+ 02 1 11 8 19 41.0000000 0 1G31
+ 913932.094 8 712174.859 7 27491235.402 27491259.059 27491235.236
+ 02 1 11 8 19 42.0000000 0 1G31
+ 934170.526 8 727945.475 7 27495086.408 27495109.561 27495086.427
+ 02 1 11 8 19 43.0000000 0 1G31
+ 954405.679 8 743713.520 7 27498936.760 27498960.166 27498936.788
+ 02 1 11 8 19 44.0000000 0 1G31
+ 974637.781 8 759479.185 7 27502786.149 27502810.424 27502786.446
+ 02 1 11 8 19 45.0000000 0 1G31
+ 994866.326 8 775242.075 7 27506635.304 27506659.021 27506635.560
+ 02 1 11 8 19 46.0000000 0 1G31
+ 1015090.627 8 791001.643 7 27510484.025 27510506.418 27510483.710
+ 02 1 11 8 19 47.0000000 0 1G31
+ 1035309.987 8 806757.360 7 27514331.604 27514353.657 27514331.250
+ 02 1 11 8 19 48.0000000 0 1G31
+ 1055527.331 8 822511.500 7 27518177.969 27518200.872 27518178.426
+ 02 1 11 8 19 49.0000000 0 1G31
+ 1075741.793 8 838263.384 7 27522024.486 27522046.859 27522024.525
+ 02 1 11 8 19 50.0000000 0 1G31
+ 1095952.310 8 854012.187 7 27525870.434 27525892.639 27525870.264
+ 02 1 11 8 19 51.0000000 0 1G31
+ 1116158.866 8 869757.903 7 27529714.755 27529737.493 27529715.066
+ 02 1 11 8 19 52.0000000 0 1G31
+ 1136362.527 8 885501.351 7 27533559.031 27533582.192 27533559.240
+ 02 1 11 8 19 53.0000000 0 1G31
+ 1156562.509 8 901241.925 7 27537403.032 27537425.363 27537402.912
+ 02 1 11 8 19 54.0000000 0 1G31
+ 1176759.202 8 916979.926 7 27541246.476 27541268.290 27541246.032
+ 02 1 11 8 19 55.0000000 0 1G31
+ 1196952.283 8 932715.106 7 27545088.700 27545110.787 27545088.707
+ 02 1 11 8 19 56.0000000 0 1G31
+ 1217141.557 8 948447.318 7 27548929.760 27548952.422 27548930.180
+ 02 1 11 8 19 57.0000000 0 1G31
+ 1237327.361 8 964176.823 7 27552770.672 27552793.326 27552771.400
+ 02 1 11 8 19 58.0000000 0 1G31
+ 1257509.597 8 979903.536 7 27556611.219 27556633.544 27556611.928
+ 02 1 11 8 19 59.0000000 0 1G31
+ 1277686.853 8 995626.358 7 27560450.771 27560473.107 27560450.892
+ 02 1 11 8 20 0.0000000 0 1G31
+ 1297861.033 8 1011346.783 7 27564289.990 27564311.645 27564290.109
+ 02 1 11 8 20 1.0000000 0 1G31
+ 1318032.370 8 1027064.983 7 27568128.373 27568149.618 27568127.812
+ 02 1 11 8 20 2.0000000 0 1G31
+ 1338200.713 8 1042780.852 7 27571965.956 27571987.369 27571965.708
+ 02 1 11 8 20 3.0000000 0 1G31
+ 1358365.351 8 1058493.817 7 27575802.183 27575824.501 27575802.436
+ 02 1 11 8 20 4.0000000 0 1G31
+ 1378526.473 8 1074204.043 7 27579638.880 27579660.806 27579638.835
+ 02 1 11 8 20 5.0000000 0 1G31
+ 1398684.034 8 1089911.490 7 27583474.822 27583496.122 27583474.264
+ 02 1 11 8 20 6.0000000 0 1G31
+ 1418835.866 8 1105614.468 7 27587309.303 27587330.954 27587309.409
+ 02 1 11 8 20 7.0000000 0 1G31
+ 1438973.878 8 1121306.671 7 27591141.249 27591163.224 27591141.398
+ 02 1 11 8 20 8.0000000 0 1G31
+ 1459104.636 8 1136993.219 7 27594971.644 27594993.231 27594971.651
+ 02 1 11 8 20 9.0000000 0 1G31
+ 1479231.100 8 1152676.414 7 27598801.297 27598822.077 27598801.690
+ 02 1 11 8 20 10.0000000 0 1G31
+ 1499353.384 8 1168356.353 7 27602630.390 27602651.569 27602630.516
+ 02 1 11 8 20 11.0000000 0 1G31
+ 1519470.621 8 1184032.341 7 27606458.658 27606480.078 27606458.992
+ 02 1 11 8 20 12.0000000 0 1G31
+ 1539584.989 8 1199706.097 7 27610286.231 27610307.345 27610286.158
+ 02 1 11 8 20 13.0000000 0 1G31
+ 1559696.943 8 1215377.968 7 27614112.792 27614134.209 27614113.314
+ 02 1 11 8 20 14.0000000 0 1G31
+ 1579804.751 8 1231046.609 7 27617939.319 27617960.484 27617939.811
+ 02 1 11 8 20 15.0000000 0 1G31
+ 1599908.547 8 1246712.119 7 27621764.641 27621785.773 27621764.865
+ 02 1 11 8 20 16.0000000 0 1G31
+ 1620007.824 8 1262374.102 7 27625589.196 27625610.092 27625589.368
+ 02 1 11 8 20 17.0000000 0 1G31
+ 1640103.377 8 1278033.181 7 27629412.877 27629433.948 27629412.828
+ 02 1 11 8 20 18.0000000 0 1G31
+ 1660195.721 8 1293689.757 7 27633236.427 27633257.456 27633236.853
+ 02 1 11 8 20 19.0000000 0 1G31
+ 1680284.162 8 1309343.286 7 27637059.117 27637080.044 27637058.992
+ 02 1 11 8 20 20.0000000 0 1G31
+ 1700368.183 8 1324993.372 7 27640880.713 27640901.720 27640880.853
+ 02 1 11 8 20 21.0000000 0 1G31
+ 1720447.747 8 1340639.993 7 27644701.621 27644722.125 27644701.744
+ 02 1 11 8 20 22.0000000 0 1G31
+ 1740523.718 8 1356283.799 7 27648521.928 27648542.500 27648521.929
+ 02 1 11 8 20 23.0000000 0 1G31
+ 1760594.198 8 1371923.324 7 27652340.508 27652361.522 27652340.819
+ 02 1 11 8 20 24.0000000 0 1G31
+ 1780661.765 8 1387560.579 7 27656159.567 27656180.205 27656159.700
+ 02 1 11 8 20 25.0000000 0 1G31
+ 1800726.158 8 1403195.360 7 27659977.283 27659997.956 27659977.466
+ 02 1 11 8 20 26.0000000 0 1G31
+ 1820785.994 8 1418826.590 7 27663794.808 27663815.501 27663794.742
+ 02 1 11 8 20 27.0000000 0 1G31
+ 1840842.395 8 1434455.136 7 27667610.939 27667631.750 27667611.355
+ 02 1 11 8 20 28.0000000 0 1G31
+ 1860895.145 8 1450080.841 7 27671426.929 27671447.478 27671426.774
+ 02 1 11 8 20 29.0000000 0 1G31
+ 1880944.065 8 1465703.560 7 27675240.978 27675262.137 27675241.583
+ 02 1 11 8 20 30.0000000 0 1G31
+ 1900988.838 8 1481323.038 7 27679055.741 27679076.452 27679056.449
+ 02 1 11 8 20 31.0000000 0 1G31
+ 1921029.206 8 1496939.089 7 27682869.833 27682889.770 27682869.805
+ 02 1 11 8 20 32.0000000 0 1G31
+ 1941065.774 8 1512552.174 7 27686682.107 27686702.449 27686682.387
+ 02 1 11 8 20 33.0000000 0 1G31
+ 1961098.527 8 1528162.288 7 27690494.074 27690514.623 27690494.516
+ 02 1 11 8 20 34.0000000 0 1G31
+ 1981127.498 8 1543769.446 7 27694304.661 27694325.982 27694305.607
+ 02 1 11 8 20 35.0000000 0 1G31
+ 2001152.927 8 1559373.848 7 27698115.632 27698136.392 27698116.076
+ 02 1 11 10 8 28.0000000 0 1G31
+ -0.904 9 -0.708 8 27275674.697 27275683.439 27275675.087
+ 02 1 11 10 8 29.0000000 0 1G31
+ 31266.887 9 24363.878 8 27281624.943 27281633.675 27281625.117
+ 02 1 11 10 8 30.0000000 0 1G31
+ 62533.256 9 48727.312 8 27287574.712 27287583.660 27287574.811
+ 02 1 11 10 8 31.0000000 0 1G31
+ 93798.114 9 73089.590 8 27293524.036 27293532.865 27293524.162
+ 02 1 11 10 8 32.0000000 0 1G31
+ 125061.782 9 97450.978 8 27299473.242 27299482.113 27299473.479
+ 02 1 11 10 8 33.0000000 0 1G31
+ 156323.866 9 121811.000 8 27305422.410 27305431.055 27305422.128
+ 02 1 11 10 8 34.0000000 0 1G31
+ 187583.779 9 146169.138 8 27311370.807 27311379.582 27311370.992
+ 02 1 11 10 8 35.0000000 0 1G31
+ 218842.765 9 170526.710 8 27317319.394 27317328.121 27317319.502
+ 02 1 11 10 8 36.0000000 0 1G31
+ 250100.048 9 194883.001 8 27323267.485 27323276.335 27323267.768
+ 02 1 11 10 8 37.0000000 0 1G31
+ 281356.020 9 219238.273 8 27329215.250 27329224.163 27329215.857
+ 02 1 11 10 8 38.0000000 0 1G31
+ 312610.765 9 243592.609 8 27335163.041 27335171.783 27335163.046
+ 02 1 11 10 8 39.0000000 0 1G31
+ 343864.031 9 267945.762 8 27341110.375 27341119.097 27341110.370
+ 02 1 11 10 8 40.0000000 0 1G31
+ 375115.853 9 292297.726 8 27347057.397 27347066.291 27347057.392
+ 02 1 11 10 8 41.0000000 0 1G31
+ 406365.763 9 316648.183 8 27353003.997 27353013.017 27353004.256
+ 02 1 11 10 8 42.0000000 0 1G31
+ 437614.331 9 340997.618 8 27358950.780 27358959.491 27358950.654
+ 02 1 11 10 8 43.0000000 0 1G31
+ 468861.263 9 365345.798 8 27364896.880 27364905.693 27364896.911
+ 02 1 11 10 8 44.0000000 0 1G31
+ 500105.836 9 389692.136 8 27370842.826 27370851.632 27370842.808
+ 02 1 11 10 8 45.0000000 0 1G31
+ 531348.370 9 414036.861 8 27376787.810 27376796.864 27376787.881
+ 02 1 11 10 8 46.0000000 0 1G31
+ 562588.724 9 438379.899 8 27382732.880 27382741.891 27382733.104
+ 02 1 11 10 8 47.0000000 0 1G31
+ 593826.848 9 462721.174 8 27388677.240 27388686.350 27388677.542
+ 02 1 11 10 8 48.0000000 0 1G31
+ 625063.868 9 487061.620 8 27394621.406 27394630.665 27394621.581
+ 02 1 11 10 8 49.0000000 0 1G31
+ 656298.841 9 511400.541 8 27400565.444 27400574.408 27400565.502
+ 02 1 11 10 8 50.0000000 0 1G31
+ 687531.707 9 535737.803 8 27406508.881 27406517.865 27406508.983
+ 02 1 11 10 8 51.0000000 0 1G31
+ 718761.983 9 560073.075 8 27412451.786 27412460.806 27412451.880
+ 02 1 11 10 8 52.0000000 0 1G31
+ 749990.857 9 584407.213 8 27418394.400 27418403.529 27418394.546
+ 02 1 11 10 8 53.0000000 0 1G31
+ 781218.096 9 608740.011 8 27424336.926 27424346.040 27424336.910
+ 02 1 11 10 8 54.0000000 0 1G31
+ 812443.121 9 633071.109 8 27430278.838 27430288.183 27430278.724
+ 02 1 11 10 8 55.0000000 0 1G31
+ 843666.371 9 657400.880 8 27436220.409 27436229.405 27436220.746
+ 02 1 11 10 8 56.0000000 0 1G31
+ 874887.177 9 681728.721 8 27442161.596 27442170.893 27442161.840
+ 02 1 11 10 8 57.0000000 0 1G31
+ 906106.500 9 706055.335 8 27448102.503 27448111.750 27448102.698
+ 02 1 11 10 8 58.0000000 0 1G31
+ 937323.724 9 730380.295 8 27454043.065 27454052.230 27454043.167
+ 02 1 11 10 8 59.0000000 0 1G31
+ 968538.709 9 754703.540 8 27459983.238 27459992.294 27459983.523
+ 02 1 11 10 9 0.0000000 0 1G31
+ 999751.571 9 779025.135 8 27465923.001 27465932.215 27465922.930
+ 02 1 11 10 9 1.0000000 0 1G31
+ 1030961.554 9 803344.446 8 27471862.139 27471871.511 27471862.414
+ 02 1 11 10 9 2.0000000 0 1G31
+ 1062170.351 9 827662.923 8 27477800.964 27477810.374 27477800.812
+ 02 1 11 10 9 3.0000000 0 1G31
+ 1093376.607 9 851979.313 8 27483739.384 27483748.874 27483739.631
+ 02 1 11 10 9 4.0000000 0 1G31
+ 1124580.387 9 876293.766 8 27489677.518 27489686.759 27489677.684
+ 02 1 11 10 9 5.0000000 0 1G31
+ 1155782.419 9 900606.815 8 27495615.098 27495624.567 27495615.659
+ 02 1 11 10 9 6.0000000 0 1G31
+ 1186981.717 9 924917.791 8 27501552.471 27501561.890 27501552.778
+ 02 1 11 10 9 7.0000000 0 1G31
+ 1218178.756 9 949226.988 8 27507488.963 27507498.472 27507488.979
+ 02 1 11 10 9 8.0000000 0 1G31
+ 1249373.665 9 973534.556 8 27513425.323 27513434.915 27513425.278
+ 02 1 11 10 9 9.0000000 0 1G31
+ 1280566.237 9 997840.351 8 27519361.213 27519370.726 27519361.467
+ 02 1 11 10 9 10.0000000 0 1G31
+ 1311757.006 9 1022144.761 8 27525296.670 27525306.325 27525296.760
+ 02 1 11 10 9 11.0000000 0 1G31
+ 1342945.354 9 1046447.203 8 27531231.850 27531241.452 27531231.693
+ 02 1 11 10 9 12.0000000 0 1G31
+ 1374142.452 9 1070756.436 8 27537168.431 27537178.192 27537168.648
+ 02 1 11 10 9 13.0000000 0 1G31
+ 1405340.686 9 1095066.546 8 27543105.546 27543115.410 27543105.710
+ 02 1 11 10 9 14.0000000 0 1G31
+ 1436537.303 9 1119375.393 8 27549042.312 27549052.029 27549042.385
+ 02 1 11 10 9 15.0000000 0 1G31
+ 1467731.722 9 1143682.599 8 27554978.572 27554988.233 27554978.473
+ 02 1 11 10 9 16.0000000 0 1G31
+ 1498922.654 9 1167987.055 8 27560913.843 27560923.581 27560914.135
+ 02 1 11 10 9 17.0000000 0 1G31
+ 1530111.219 9 1192289.651 8 27566848.931 27566859.020 27566849.388
+ 02 1 11 10 9 18.0000000 0 1G31
+ 1561297.953 9 1216590.791 8 27572783.922 27572793.732 27572784.014
+ 02 1 11 10 9 19.0000000 0 1G31
+ 1592482.316 9 1240890.094 8 27578718.198 27578728.058 27578718.260
+ 02 1 11 10 9 20.0000000 0 1G31
+ 1623664.263 9 1265187.571 8 27584652.026 27584662.126 27584652.023
+ 02 1 11 10 9 21.0000000 0 1G31
+ 1654842.862 9 1289482.423 8 27590585.267 27590595.422 27590585.277
+ 02 1 11 10 9 22.0000000 0 1G31
+ 1686019.025 9 1313775.419 8 27596518.098 27596527.903 27596518.173
+ 02 1 11 10 9 23.0000000 0 1G31
+ 1717192.725 9 1338066.487 8 27602450.123 27602460.429 27602450.443
+ 02 1 11 10 9 24.0000000 0 1G31
+ 1748363.682 9 1362355.455 8 27608382.138 27608392.105 27608382.178
+ 02 1 11 10 9 25.0000000 0 1G31
+ 1779531.533 9 1386642.009 8 27614313.135 27614323.417 27614313.095
+ 02 1 11 10 9 26.0000000 0 1G31
+ 1810696.032 9 1410925.988 8 27620243.364 27620253.485 27620243.603
+ 02 1 11 10 9 27.0000000 0 1G31
+ 1841858.206 9 1435208.148 8 27626173.385 27626183.744 27626173.514
+ 02 1 11 10 9 28.0000000 0 1G31
+ 1873017.645 9 1459488.161 8 27632102.955 27632113.208 27632103.242
+ 02 1 11 10 9 29.0000000 0 1G31
+ 1904173.933 9 1483765.697 8 27638031.982 27638042.215 27638031.977
+ 02 1 11 10 9 30.0000000 0 1G31
+ 1935327.431 9 1508041.063 8 27643960.426 27643970.608 27643960.454
+ 02 1 11 10 9 31.0000000 0 1G31
+ 1966477.784 9 1532313.955 8 27649888.156 27649898.415 27649888.222
+ 02 1 11 10 9 32.0000000 0 1G31
+ 1997625.644 9 1556584.852 8 27655815.620 27655825.741 27655815.544
+ 02 1 11 10 9 33.0000000 0 1G31
+ 2028770.619 9 1580853.542 8 27661742.230 27661752.739 27661742.218
+ 02 1 11 10 9 34.0000000 0 1G31
+ 2059912.860 9 1605120.143 8 27667668.340 27667678.990 27667668.636
+ 02 1 11 10 9 35.0000000 0 1G31
+ 2091051.630 9 1629384.038 8 27673594.022 27673604.571 27673594.224
+ 02 1 11 10 9 36.0000000 0 1G31
+ 2122186.664 9 1653644.930 8 27679519.040 27679529.559 27679519.154
+ 02 1 11 10 9 37.0000000 0 1G31
+ 2153318.737 9 1677903.462 8 27685443.419 27685453.779 27685443.350
+ 02 1 11 10 9 38.0000000 0 1G31
+ 2184448.117 9 1702159.979 8 27691367.107 27691377.868 27691367.363
+ 02 1 11 10 9 39.0000000 0 1G31
+ 2215574.159 9 1726413.885 8 27697290.436 27697300.961 27697290.706
+ 02 1 11 10 9 40.0000000 0 1G31
+ 2246697.444 9 1750665.694 8 27703213.080 27703223.667 27703213.288
+ 02 1 11 10 9 41.0000000 0 1G31
+ 2277816.858 9 1774914.429 8 27709135.105 27709145.664 27709135.143
+ 02 1 11 10 9 42.0000000 0 1G31
+ 2308933.601 9 1799161.049 8 27715056.460 27715066.987 27715056.612
+ 02 1 11 10 9 43.0000000 0 1G31
+ 2340046.793 9 1823404.904 8 27720977.165 27720988.070 27720977.239
+ 02 1 11 10 9 44.0000000 0 1G31
+ 2371157.030 9 1847646.498 8 27726897.338 27726908.272 27726897.589
+ 02 1 11 10 9 45.0000000 0 1G31
+ 2402264.189 9 1871885.686 8 27732817.061 27732828.155 27732817.202
+ 02 1 11 10 9 46.0000000 0 1G31
+ 2433367.014 9 1896121.471 8 27738735.606 27738746.853 27738736.048
+ 02 1 11 10 9 47.0000000 0 1G31
+ 2464466.956 9 1920354.996 8 27744653.862 27744665.001 27744654.261
+ 02 1 11 10 9 48.0000000 0 1G31
+ 2495563.835 9 1944586.199 8 27750571.934 27750582.634 27750571.822
+ 02 1 11 10 9 49.0000000 0 1G31
+ 2526657.371 9 1968814.831 8 27756488.869 27756499.745 27756488.866
+ 02 1 11 10 9 50.0000000 0 1G31
+ 2557747.649 9 1993040.893 8 27762405.014 27762416.076 27762405.453
+ 02 1 11 10 9 51.0000000 0 1G31
+ 2588833.980 9 2017263.875 8 27768320.659 27768331.694 27768320.859
+ 02 1 11 10 9 52.0000000 0 1G31
+ 2619917.333 9 2041484.554 8 27774235.730 27774246.981 27774235.965
+ 02 1 11 10 9 53.0000000 0 1G31
+ 2650997.317 9 2065702.624 8 27780150.217 27780161.230 27780150.573
+ 02 1 11 10 9 54.0000000 0 1G31
+ 2682073.241 9 2089917.503 8 27786063.984 27786075.077 27786064.202
+ 02 1 11 10 9 55.0000000 0 1G31
+ 2713145.393 9 2114129.418 8 27791976.971 27791988.042 27791976.950
+ 02 1 11 10 9 56.0000000 0 1G31
+ 2744213.313 9 2138338.044 8 27797889.015 27797900.059 27797888.933
+ 02 1 11 10 9 57.0000000 0 1G31
+ 2775278.249 9 2162544.436 8 27803800.362 27803811.702 27803800.535
+ 02 1 11 10 9 58.0000000 0 1G31
+ 2806339.746 9 2186748.095 8 27809711.081 27809722.554 27809711.417
+ 02 1 11 10 9 59.0000000 0 1G31
+ 2837397.449 9 2210948.809 8 27815621.461 27815632.751 27815621.513
+ 02 1 11 10 10 0.0000000 0 1G31
+ 2868451.884 9 2235147.118 8 27821531.001 27821542.331 27821531.180
+ 02 1 11 10 10 1.0000000 0 1G31
+ 2899502.177 9 2259342.157 8 27827439.832 27827450.786 27827439.743
+ 02 1 11 10 10 2.0000000 0 1G31
+ 2930548.509 9 2283534.006 8 27833347.766 27833358.833 27833347.908
+ 02 1 11 10 10 3.0000000 0 1G31
+ 2961590.375 9 2307722.310 8 27839254.762 27839266.052 27839254.858
+ 02 1 11 10 10 4.0000000 0 1G31
+ 2992627.934 9 2331907.344 8 27845161.179 27845172.224 27845161.224
+ 02 1 11 10 10 25.0000000 0 1G31
+ 30949.997 9 24117.041 8 27969007.378 27969017.931 27969007.240
+ 02 1 11 10 10 26.0000000 0 1G31
+ 61895.656 9 48230.600 8 27974895.870 27974906.819 27974895.960
+ 02 1 11 10 10 27.0000000 0 1G31
+ 92837.257 9 72341.068 8 27980783.841 27980794.380 27980783.941
+ 02 1 11 10 10 28.0000000 0 1G31
+ 123774.081 9 96447.732 8 27986670.818 27986681.396 27986671.038
+ 02 1 11 10 10 29.0000000 0 1G31
+ 154706.224 9 120550.714 8 27992557.110 27992567.574 27992557.216
+ 02 1 11 10 10 30.0000000 0 1G31
+ 185633.635 9 144649.979 8 27998442.462 27998453.140 27998442.433
+ 02 1 11 10 10 31.0000000 0 1G31
+ 216555.970 9 168745.354 8 28004326.862 28004337.227 28004327.038
+ 02 1 11 10 10 32.0000000 0 1G31
+ 247474.390 9 192837.706 8 28010210.193 28010220.857 28010209.971
+ 02 1 11 10 10 33.0000000 0 1G31
+ 278387.767 9 216926.120 8 28016092.845 28016103.451 28016093.072
+ 02 1 11 10 10 34.0000000 0 1G31
+ 309296.354 9 241010.745 8 28021974.660 28021985.031 28021974.501
+ 02 1 11 10 10 35.0000000 0 1G31
+ 340200.124 9 265091.641 8 28027855.088 28027865.835 28027855.219
+ 02 1 11 10 10 36.0000000 0 1G31
+ 371097.846 9 289167.821 8 28033734.892 28033745.347 28033734.985
+ 02 1 11 10 10 37.0000000 0 1G31
+ 401979.168 9 313231.234 8 28039611.518 28039621.923 28039611.584
+ 02 1 11 10 10 38.0000000 0 1G31
+ 432850.703 9 337287.061 8 28045486.037 28045496.474 28045486.055
+ 02 1 11 10 10 39.0000000 0 1G31
+ 463716.503 9 361338.437 8 28051359.462 28051369.718 28051359.483
+ 02 1 11 10 10 40.0000000 0 1G31
+ 494577.733 9 385386.319 8 28057232.076 28057242.687 28057232.042
+ 02 1 11 10 10 41.0000000 0 1G31
+ 525433.439 9 409429.796 8 28063103.656 28063113.999 28063103.809
+ 02 1 11 10 10 42.0000000 0 1G31
+ 556284.463 9 433469.649 8 28068974.434 28068984.671 28068974.302
+ 02 1 11 10 10 43.0000000 0 1G31
+ 587130.345 9 457505.479 8 28074843.822 28074854.547 28074844.139
+ 02 1 11 10 10 44.0000000 0 1G31
+ 617971.301 9 481537.406 8 28080712.785 28080723.293 28080712.936
+ 02 1 11 10 10 45.0000000 0 1G31
+ 648807.490 9 505565.707 8 28086580.757 28086591.345 28086580.872
+ 02 1 11 10 10 46.0000000 0 1G31
+ 679638.348 9 529589.898 8 28092447.647 28092457.876 28092447.547
+ 02 1 11 10 10 47.0000000 0 1G31
+ 710466.527 9 553612.197 8 28098313.747 28098323.937 28098313.653
+ 02 1 11 10 10 48.0000000 0 1G31
+ 741288.501 9 577629.769 8 28104178.736 28104188.970 28104178.752
+ 02 1 11 10 10 49.0000000 0 1G31
+ 772104.102 9 601642.385 8 28110042.489 28110052.373 28110042.250
+ 02 1 11 10 10 50.0000000 0 1G31
+ 802914.470 9 625650.898 8 28115905.145 28115914.807 28115904.928
+ 02 1 11 10 10 51.0000000 0 1G31
+ 833718.606 9 649654.423 8 28121766.542 28121776.509 28121766.580
+ 02 1 11 10 10 52.0000000 0 1G31
+ 864517.803 9 673654.087 8 28127627.141 28127636.938 28127627.300
+ 02 1 11 10 10 53.0000000 0 1G31
+ 895311.422 9 697649.372 8 28133486.745 28133496.616 28133486.957
+ 02 1 11 10 10 54.0000000 0 1G31
+ 926099.727 9 721640.634 8 28139345.381 28139355.118 28139345.621
+ 02 1 11 10 10 55.0000000 0 1G31
+ 956882.911 9 745628.146 8 28145202.874 28145212.317 28145202.953
+ 02 1 11 10 10 56.0000000 0 1G31
+ 987659.644 9 769610.458 8 28151059.096 28151068.405 28151059.251
+ 02 1 11 10 10 57.0000000 0 1G31
+ 1018431.092 9 793588.547 8 28156914.546 28156923.718 28156914.384
+ 02 1 11 10 10 58.0000000 0 1G31
+ 1049197.555 9 817562.732 8 28162768.814 28162777.774 28162768.955
+ 02 1 11 10 10 59.0000000 0 1G31
+ 1079961.133 9 841534.740 8 28168622.568 28168631.925 28168622.834
+ 02 1 11 10 11 0.0000000 0 1G31
+ 1110718.746 9 865502.089 8 28174475.492 28174484.552 28174475.452
+ 02 1 11 10 11 1.0000000 0 1G31
+ 1141469.895 9 889464.332 8 28180327.097 28180335.859 28180327.093
+ 02 1 11 10 11 2.0000000 0 1G31
+ 1172215.707 9 913422.346 8 28186177.427 28186186.266 28186177.608
+ 02 1 11 10 11 3.0000000 0 1G31
+ 1202955.803 9 937375.907 8 28192026.798 28192035.633 28192026.862
+ 02 1 11 10 11 4.0000000 0 1G31
+ 1233690.227 9 961325.070 8 28197875.306 28197884.252 28197875.479
+ 02 1 11 10 11 5.0000000 0 1G31
+ 1264419.222 9 985269.988 8 28203722.691 28203731.277 28203722.719
+ 02 1 11 10 11 6.0000000 0 1G31
+ 1295141.936 9 1009209.962 8 28209568.785 28209577.385 28209568.896
+ 02 1 11 10 11 7.0000000 0 1G31
+ 1325858.238 9 1033144.936 8 28215413.823 28215422.310 28215413.922
+ 02 1 11 10 11 8.0000000 0 1G31
+ 1356569.354 9 1057075.900 8 28221257.743 28221266.207 28221257.794
+ 02 1 11 10 11 9.0000000 0 1G31
+ 1387274.671 9 1081002.339 8 28227100.297 28227109.185 28227100.944
+ 02 1 11 10 11 10.0000000 0 1G31
+ 1417973.637 9 1104923.792 8 28232942.048 28232950.594 28232942.431
+ 02 1 11 10 11 11.0000000 0 1G31
+ 1448666.424 9 1128840.437 8 28238782.882 28238791.258 28238782.890
+ 02 1 11 10 11 12.0000000 0 1G31
+ 1479353.731 9 1152752.821 8 28244622.284 28244630.486 28244622.393
+ 02 1 11 10 11 13.0000000 0 1G31
+ 1510034.972 9 1176660.388 8 28250460.520 28250468.962 28250460.667
+ 02 1 11 10 11 14.0000000 0 1G31
+ 1540710.332 9 1200563.392 8 28256297.638 28256306.247 28256298.019
+ 02 1 11 10 11 15.0000000 0 1G31
+ 1571379.889 9 1224461.864 8 28262133.986 28262142.212 28262133.892
+ 02 1 11 10 11 16.0000000 0 1G31
+ 1602042.935 9 1248355.256 8 28267968.622 28267977.112 28267968.877
+ 02 1 11 10 11 17.0000000 0 1G31
+ 1632700.208 9 1272244.189 8 28273802.715 28273810.584 28273802.598
+ 02 1 11 10 11 18.0000000 0 1G31
+ 1663351.832 9 1296128.756 8 28279635.106 28279643.533 28279635.454
+ 02 1 11 10 11 19.0000000 0 1G31
+ 1693997.743 9 1320008.944 8 28285466.530 28285474.889 28285466.713
+ 02 1 11 10 11 20.0000000 0 1G31
+ 1724637.436 9 1343884.213 8 28291297.079 28291305.355 28291297.163
+ 02 1 11 10 11 21.0000000 0 1G31
+ 1755270.838 9 1367754.576 8 28297126.436 28297134.428 28297126.616
+ 02 1 11 10 11 22.0000000 0 1G31
+ 1785898.838 9 1391620.722 8 28302954.631 28302962.579 28302954.682
+ 02 1 11 10 11 23.0000000 0 1G31
+ 1816520.719 9 1415482.090 8 28308781.569 28308789.643 28308781.748
+ 02 1 11 10 11 24.0000000 0 1G31
+ 1847136.872 9 1439338.964 8 28314607.514 28314615.420 28314607.618
+ 02 1 11 10 11 25.0000000 0 1G31
+ 1877747.600 9 1463191.606 8 28320432.325 28320440.361 28320432.507
+ 02 1 11 10 11 26.0000000 0 1G31
+ 1908352.313 9 1487039.517 8 28326256.333 28326264.106 28326256.213
+ 02 1 11 10 11 27.0000000 0 1G31
+ 1938951.879 9 1510883.421 8 28332079.152 28332087.132 28332079.055
+ 02 1 11 10 11 28.0000000 0 1G31
+ 1969546.709 8 1534723.635 8 28337900.902 28337908.913 28337901.190
+ 02 1 11 10 11 29.0000000 0 1G31
+ 2000137.149 8 1558560.470 8 28343722.156 28343730.010 28343722.020
+ 02 1 11 10 11 30.0000000 0 1G31
+ 2030723.550 8 1582394.162 8 28349542.481 28349550.179 28349542.550
+ 02 1 11 10 11 31.0000000 0 1G31
+ 2061305.688 8 1606224.457 7 28355361.994 28355369.697 28355362.025
+ 02 1 11 10 11 32.0000000 0 1G31
+ 2091884.552 8 1630052.179 7 28361180.884 28361188.663 28361180.916
+ 02 1 11 10 11 33.0000000 0 1G31
+ 2122460.281 8 1653877.472 7 28366999.658 28367007.226 28366999.550
+ 02 1 11 10 11 34.0000000 0 1G31
+ 2153033.837 8 1677701.073 7 28372817.432 28372825.049 28372817.256
+ 02 1 11 10 11 35.0000000 0 1G31
+ 2183605.250 8 1701523.025 7 28378634.562 28378642.686 28378634.930
+ 02 1 11 10 11 36.0000000 0 1G31
+ 2214174.719 8 1725343.461 7 28384452.045 28384459.163 28384451.865
+ 02 1 11 10 11 37.0000000 0 1G31
+ 2244743.776 8 1749163.557 6 28390268.740 28390276.628 28390268.975
+ 02 1 11 10 11 38.0000000 0 1G31
+ 2275312.516 8 1772983.353 7 28396085.883 28396093.899 28396086.195
+ 02 1 11 10 11 39.0000000 0 1G31
+ 2305880.802 8 1796802.798 6 28401902.551 28401910.316 28401902.862
+ 02 1 11 10 11 40.0000000 0 1G31
+ 2336448.752 8 1820622.000 6 28407720.134 28407727.334 28407719.642
+ 02 1 11 10 11 41.0000000 0 1G31
+ 2367016.908 8 1844441.352 6 28413537.796 28413544.696 28413536.622
+ 02 1 11 10 11 42.0000000 0 1G31
+ 2397586.159 8 1868261.589 6 28419354.389 28419361.042 28419354.291
+ 02 1 11 10 11 43.0000000 0 1G31
+ 2428155.980 8 1892082.263 7 28425171.523 28425178.202 28425171.393
+ 02 1 11 10 11 44.0000000 0 1G31
+ 2458724.138 8 1915901.566 7 28430987.570 28430995.507 28430988.321
+ 02 1 11 10 11 45.0000000 0 1G31
+ 2489292.072 8 1939720.706 6 28436804.460 28436812.644 28436804.700
+ 02 1 11 10 11 46.0000000 0 1G31
+ 2519859.817 8 1963539.662 6 28442621.555 28442630.452 28442622.039
+ 02 1 11 10 11 47.0000000 0 1G31
+ 2550427.936 8 1987359.002 6 28448438.893 28448446.437 28448438.800
+ 02 1 11 10 11 48.0000000 0 1G31
+ 2580996.915 8 2011178.964 6 28454256.260 28454263.062 28454255.585
+ 02 1 11 10 11 49.0000000 0 1G31
+ 2611566.992 8 2034999.793 6 28460072.359 28460081.436 28460072.913
+ 02 1 11 10 11 50.0000000 0 1G31
+ 2642138.118 8 2058821.489 6 28465890.345 28465898.326 28465890.223
+ 02 1 11 10 11 51.0000000 0 1G31
+ 2672710.180 8 2082643.838 6 28471709.241 28471716.697 28471708.308
+ 02 1 11 10 11 52.0000000 0 1G31
+ 2703284.304 8 2106467.875 6 28477525.447 28477535.069 28477526.000
+ 02 1 11 10 11 53.0000000 0 1G31
+ 2733859.527 8 2130292.788 5 28483344.006 28483352.128 28483344.419
+ 02 1 11 10 11 54.0000000 0 1G31
+ 2764437.050 6 2154118.972 2 28489168.688 28489173.215 28489167.766
+ 02 1 11 10 11 55.0000000 0 1G31
+ 2795016.231 6 2177954.431 3 28494964.245 28494987.571 28494960.694
+ 02 1 11 10 11 56.0000000 0 1G31
+ 2825597.586 6 2201899.142 2 28500809.392 28500799.236 28500861.652
+ 02 1 11 10 11 57.0000000 0 1G31
+ 2856180.972 5 2225973.520 2 28506591.323 28506620.915 28506639.724
+ 02 1 11 10 11 58.0000000 0 1G31
+ 2886766.280 5 2250053.185 2 28512475.030 28512435.793 28512565.715
+ 02 1 11 10 11 59.0000000 0 1G31
+ 2917353.783 6 2274156.191 2 28518333.765 28518258.028 28518456.239
+ 02 1 11 10 12 0.0000000 0 1G31
+ 2947943.129 5 2298374.715 3 28524218.910 28524072.573 28524342.209
+ 02 1 11 10 12 1.0000000 0 1G31
+ 2978534.656 5 2322554.176 2 28530058.782 28529889.968 28530213.320
diff --git a/trunk/apps/cycleslips/examples/df.inp b/trunk/apps/cycleslips/examples/df.inp
new file mode 100644
index 0000000..4dbd8de
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/df.inp
@@ -0,0 +1,22 @@
+#
+# input for DiscFix
+#
+# ignore Glonass
+--XPRN R
+#--verbose
+--SVonly G17
+# debug 7 prints it all, very time-expensive
+--DCDebug:7
+# decimate to 30 seconds, just in case
+--decimate 30.0
+# nominal time interval of the data in seconds - required
+--DCDT,30
+# allow use of CA
+--CA
+#
+# tune the DC
+--DCWLFixMaxGap=3000
+--DCGFFixMaxGap=1300
+--DCGFFixSigma=3.6 # 5.4cm cycles
+#
+--DCOutputGPSTime
diff --git a/trunk/apps/cycleslips/examples/df_occult.inp b/trunk/apps/cycleslips/examples/df_occult.inp
new file mode 100644
index 0000000..1ea8378
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/df_occult.inp
@@ -0,0 +1,21 @@
+#
+# input for DiscFix
+#
+# ignore Glonass
+--XPRN R
+#--verbose
+# debug 7 prints it all, very time-expensive
+--DCDebug:7
+# nominal time interval of the data in seconds - required
+--DCDT,1
+# allow use of CA
+--CA
+#
+# tune the DC
+--Gap 100
+--DCWLFixMaxGap=100
+--DCGFFixMaxGap=100
+--DCMinSeg=50.
+--DCGFFixSigma=3.6 # 5.4cm cycles
+--DCOutputGPSTime
+#
diff --git a/trunk/apps/cycleslips/examples/eusk2950.01o.G17 b/trunk/apps/cycleslips/examples/eusk2950.01o.G17
new file mode 100644
index 0000000..7fc8762
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/eusk2950.01o.G17
@@ -0,0 +1,3016 @@
+ 2.00 Observation G (GPS) RINEX VERSION / TYPE
+GEOTRACER GPS Decoder Ver. 2.2 07/20/2004 19:18:15 PGM / RUN BY / DATE
+EUSK MARKER NAME
+Automatic BKG Wettzell/MilGeo OBSERVER / AGENCY
+3450A09057 TRIMBLE 4000SSI 7.29 REC # / TYPE / VERS
+0220180419 TRM29659.00 NONE ANT # / TYPE
+ 4022106.4147 477010.5823 4910838.9964 APPROX POSITION XYZ
+ 0.0510 0.0000 0.0000 ANTENNA: DELTA H/E/N
+ 1 1 WAVELENGTH FACT L1/2
+ 6 C1 P2 L1 L2 D1 D2 # / TYPES OF OBSERV
+ 30.000 INTERVAL
+ 2001 10 22 0 0 0.0750000 GPS TIME OF FIRST OBS
+ 2001 10 22 23 59 30.0000000 GPS TIME OF LAST OBS
+14258M003 MARKER NUMBER
+Edited by GPSTK Rinex Editor ver 3.0 9/8/2003 on 2004/07/20 COMMENT
+ END OF HEADER
+ 01 10 22 0 0 0.0750000 0 1G17
+ 47062836.230 5 47062841.118 4 22697036.623 4 17810627.258 4 -4693.196
+ -3657.037
+ 01 10 22 0 0 30.0750000 0 1G17
+ 47089637.491 5 47089640.433 5 22837872.692 5 17920369.692 5 -4696.081
+ -3659.296
+ 01 10 22 0 1 0.0750000 0 1G17
+ 47116451.989 4 47116460.933 4 22978784.379 4 18030171.042 4 -4697.962
+ -3660.729
+ 01 10 22 0 1 30.0750000 0 1G17
+ 47143278.394 5 47143277.691 4 23119761.566 4 18140023.489 4 -4700.230
+ -3662.484
+ 01 10 22 0 2 0.0750000 0 1G17
+ 47170115.772 4 47170120.461 5 23260801.966 5 18249925.075 5 -4702.201
+ -3664.045
+ 01 10 22 0 3 0.0750000 0 1G17
+ 47223829.607 5 0.000 1 136445.981 1 0.00011 -4706.068
+ 0.000
+ 01 10 22 0 3 30.0750000 0 1G17
+ 47250701.145 5 47250705.833 5 277661.728 5 18338.809 5 -4708.312
+ -3668.815
+ 01 10 22 0 4 0.0750000 0 1G17
+ 47277584.281 5 47277593.353 5 418935.500 5 128422.425 5 -4710.249
+ -3670.316
+ 01 10 22 0 4 30.0750000 0 1G17
+ 47304478.489 5 0.000 1 23554.611 1 0.00011 -4712.096
+ 0.000
+ 01 10 22 0 5 0.0750000 0 1G17
+ 47331384.609 5 0.000 1 164945.965 1 0.00011 -4714.141
+ 0.000
+ 01 10 22 0 5 30.0750000 0 1G17
+ 47358299.699 4 0.000 1 23573.820 1 0.00011 -4715.895
+ 0.000
+ 01 10 22 0 6 0.0750000 0 1G17
+ 47385227.529 5 0.000 1 165073.294 1 0.00011 -4717.456
+ 0.000
+ 01 10 22 0 6 30.0000000 0 1G17
+ 24627934.937 4 0.000 1 306627.340 1 0.00011 -4719.253
+ 0.000
+ 01 10 22 0 7 0.0000000 0 1G17
+ 24654882.202 4 24654889.857 4 448231.615 4 84594.837 4 -4720.913
+ -3678.635
+ 01 10 22 0 7 30.0000000 0 1G17
+ 24681841.804 4 24681846.094 4 589888.809 4 194977.113 4 -4722.679
+ -3680.000
+ 01 10 22 0 8 0.0000000 0 1G17
+ 24708803.253 4 24708803.757 4 731592.743 4 305395.750 4 -4724.180
+ -3681.161
+ 01 10 22 0 8 30.0000000 0 1G17
+ 24735779.097 4 24735788.756 4 873346.257 4 415853.101 4 -4725.858
+ -3682.463
+ 01 10 22 0 9 0.0000000 0 1G17
+ 24762764.737 4 24762767.562 4 1015152.572 4 526351.407 4 -4727.662
+ -3683.867
+ 01 10 22 0 9 30.0000000 0 1G17
+ 24789761.532 5 24789768.155 5 1157010.646 5 636890.219 5 -4729.284
+ -3685.158
+ 01 10 22 0 10 0.0000000 0 1G17
+ 24816764.601 4 24816764.730 4 1298921.311 4 747470.157 4 -4731.140
+ -3686.613
+ 01 10 22 0 10 30.0000000 0 1G17
+ 24843777.686 5 24843785.341 5 1440876.047 5 858084.392 5 -4732.502
+ -3687.663
+ 01 10 22 0 11 0.0000000 0 1G17
+ 24870800.045 4 24870806.515 4 1582876.177 4 968733.767 4 -4733.917
+ -3688.773
+ 01 10 22 0 11 30.0000000 0 1G17
+ 24897826.774 4 24897833.808 4 1724915.764 4 1079414.127 4 -4735.592
+ -3690.087
+ 01 10 22 0 12 0.0000000 0 1G17
+ 24924864.550 4 24924867.317 5 1867000.481 5 1190129.574 5 -4736.781
+ -3691.007
+ 01 10 22 9 54 0.0310000 0 1G17
+ 34693066.629 5 0.000 1 -47422.978 1 0.00011 1630.038
+ 0.000
+ 01 10 22 9 54 30.0310000 0 1G17
+ 34683793.290 4 0.000 1 -17827.452 1 0.00011 1618.749
+ 0.000
+ 01 10 22 9 55 0.0310000 0 1G17
+ 34674579.835 4 0.000 1 -66222.666 1 0.00011 1607.500
+ 0.000
+ 01 10 22 9 55 30.0310000 0 1G17
+ 34665437.229 4 0.000 1 -114275.100 1 0.00011 1595.906
+ 0.000
+ 01 10 22 9 56 0.0310000 0 1G17
+ 34656359.365 4 0.000 1 -161982.901 1 0.00011 1584.568
+ 0.000
+ 01 10 22 9 56 30.0310000 0 1G17
+ 34647346.056 4 0.000 1 -209347.518 1 0.00011 1573.076
+ 0.000
+ 01 10 22 9 57 0.0310000 0 1G17
+ 34638399.996 4 34638419.466 4 -256367.819 4 -12182.004 4 1561.603
+ 1216.835
+ 01 10 22 9 57 30.0310000 0 1G17
+ 34629519.550 5 34629527.380 5 -303040.244 5 -48550.253 5 1549.920
+ 1207.704
+ 01 10 22 9 58 0.0310000 0 1G17
+ 34620705.669 5 34620714.543 5 -349353.803 5 -84638.649 5 1537.873
+ 1198.351
+ 01 10 22 9 58 30.0310000 0 1G17
+ 34611959.835 4 34611965.661 4 -395310.385 4 -120448.918 4 1525.755
+ 1188.916
+ 01 10 22 9 59 0.0310000 0 1G17
+ 34603283.345 4 34603297.646 4 -440905.043 4 -155977.121 4 1514.182
+ 1179.903
+ 01 10 22 9 59 30.0310000 0 1G17
+ 34594674.319 4 0.000 1 -24080.660 1 0.00011 1501.868
+ 0.000
+ 01 10 22 10 0 0.0310000 0 1G17
+ 34586136.604 4 0.000 1 -68952.444 1 0.00011 1489.726
+ 0.000
+ 01 10 22 10 0 30.0310000 0 1G17
+ 34577668.817 4 0.000 1 -113455.138 1 0.00011 1477.246
+ 0.000
+ 01 10 22 10 1 0.0310000 0 1G17
+ 34569271.474 4 0.000 1 -157583.065 1 0.00011 1464.717
+ 0.000
+ 01 10 22 10 1 30.0310000 0 1G17
+ 34560942.260 4 0.000 1 -201337.140 1 0.00011 1452.446
+ 0.000
+ 01 10 22 10 2 0.0310000 0 1G17
+ 34552687.977 4 0.000 1 -244726.133 1 0.00011 1440.015
+ 0.000
+ 01 10 22 10 2 30.0310000 0 1G17
+ 34544504.530 4 0.000 1 -287732.284 1 0.00011 1427.377
+ 0.000
+ 01 10 22 10 3 0.0310000 0 1G17
+ 34536394.355 4 0.000 1 -330355.674 1 0.00011 1414.202
+ 0.000
+ 01 10 22 10 3 30.0310000 0 1G17
+ 34528355.600 4 34528365.927 4 -372596.547 4 -18615.540 4 1401.711
+ 1092.227
+ 01 10 22 10 4 0.0310000 0 1G17
+ 34520389.917 4 34520397.607 4 -414454.174 4 -51232.069 4 1388.604
+ 1082.082
+ 01 10 22 10 4 30.0310000 0 1G17
+ 34512499.372 5 34512508.211 4 -455918.607 4 -83541.881 4 1375.834
+ 1072.086
+ 01 10 22 10 5 0.0310000 0 1G17
+ 34504683.028 5 34504697.458 4 -496999.486 4 -115553.046 4 1362.680
+ 1061.865
+ 01 10 22 10 5 30.0310000 0 1G17
+ 34496940.228 4 34496944.812 4 -537682.454 4 -147253.973 4 1349.535
+ 1051.597
+ 01 10 22 10 6 0.0310000 0 1G17
+ 34489275.655 5 34489277.460 4 -577967.703 4 -178645.148 4 1335.998
+ 1041.040
+ 01 10 22 10 6 30.0310000 0 1G17
+ 34481684.571 4 34481692.659 4 -617850.681 4 -209722.519 4 1322.822
+ 1030.741
+ 01 10 22 10 7 0.0310000 0 1G17
+ 34474172.578 5 0.000 1 -657329.331 1 0.00011 1309.192
+ 0.000
+ 01 10 22 10 7 30.0310000 0 1G17
+ 34466735.623 5 0.000 1 -696408.679 1 0.00011 1295.869
+ 0.000
+ 01 10 22 10 8 0.0310000 0 1G17
+ 34459376.338 5 0.000 1 -735077.948 1 0.00011 1282.435
+ 0.000
+ 01 10 22 10 8 30.0310000 0 1G17
+ 34452095.092 4 0.000 1 -773339.084 1 0.00011 1268.555
+ 0.000
+ 01 10 22 10 9 0.0310000 0 1G17
+ 34444894.794 5 34444902.577 5 -811186.768 5 -14706.034 5 1254.702
+ 977.686
+ 01 10 22 10 9 30.0310000 0 1G17
+ 34437770.983 5 0.000 1 -848619.346 1 0.00011 1240.741
+ 0.000
+ 01 10 22 10 10 0.0310000 0 1G17
+ 34430724.295 4 0.000 1 -885640.264 1 0.00011 1226.922
+ 0.000
+ 01 10 22 10 10 30.0310000 0 1G17
+ 34423761.814 5 0.000 1 -922239.689 1 0.00011 1213.106
+ 0.000
+ 01 10 22 10 11 0.0310000 0 1G17
+ 34416875.879 5 34416881.259 4 -958419.482 4 -20641.641 4 1198.934
+ 934.245
+ 01 10 22 10 11 30.0320000 0 1G17
+ 34410072.156 4 34410074.348 3 -994173.571 3 -48501.851 3 1184.628
+ 923.057
+ 01 10 22 10 12 0.0320000 0 1G17
+ 34403352.101 5 34403361.279 4 -1029494.265 4 -76024.553 4 1170.339
+ 911.918
+ 01 10 22 10 12 30.0320000 0 1G17
+ 34396710.175 5 34396716.927 4 -1064385.969 4 -103212.816 4 1155.916
+ 900.721
+ 01 10 22 10 13 0.0320000 0 1G17
+ 34390154.042 5 34390162.669 5 -1098846.027 5 -130064.775 5 1141.529
+ 889.511
+ 01 10 22 10 13 30.0320000 0 1G17
+ 34383678.901 5 34383685.923 4 -1132873.655 4 -156579.832 4 1127.077
+ 878.231
+ 01 10 22 10 14 0.0320000 0 1G17
+ 34377287.122 5 34377293.265 5 -1166457.767 5 -182749.183 5 1111.627
+ 866.206
+ 01 10 22 10 14 30.0320000 0 1G17
+ 34370982.854 4 34370993.627 4 -1199590.221 4 -208566.652 4 1097.010
+ 854.804
+ 01 10 22 10 15 0.0320000 0 1G17
+ 34364764.763 5 34364773.086 4 -1232276.498 4 -234036.377 4 1081.938
+ 843.070
+ 01 10 22 10 15 30.0320000 0 1G17
+ 34358628.011 5 34358636.650 5 -1264515.931 5 -259157.964 5 1067.306
+ 831.674
+ 01 10 22 10 16 0.0320000 0 1G17
+ 34352577.504 4 34352586.916 5 -1296309.584 5 -283932.197 5 1052.234
+ 819.918
+ 01 10 22 10 16 30.0320000 0 1G17
+ 34346613.925 5 34346618.789 5 -1327652.982 5 -308355.642 5 1037.126
+ 808.131
+ 01 10 22 10 17 0.0320000 0 1G17
+ 34340735.516 4 34340750.181 4 -1358539.224 4 -332422.806 4 1021.958
+ 796.289
+ 01 10 22 10 17 30.0320000 0 1G17
+ 34334942.362 5 34334950.005 4 -1388980.320 4 -356143.267 4 1007.306
+ 784.913
+ 01 10 22 10 18 0.0320000 0 1G17
+ 34329236.105 5 34329244.896 5 -1418975.677 5 -379516.210 5 992.094
+ 773.062
+ 01 10 22 10 18 30.0320000 0 1G17
+ 34323614.488 5 34323619.798 4 -1448511.311 4 -402530.939 4 976.804
+ 761.166
+ 01 10 22 10 19 0.0320000 0 1G17
+ 34318083.472 5 34318085.898 5 -1477584.754 5 -425185.689 5 961.358
+ 749.116
+ 01 10 22 10 19 30.0320000 0 1G17
+ 34312637.317 5 34312641.397 4 -1506193.197 4 -447477.935 4 945.884
+ 737.068
+ 01 10 22 10 20 0.0320000 0 1G17
+ 34307282.886 5 34307288.865 5 -1534338.173 5 -469409.186 5 930.262
+ 724.896
+ 01 10 22 10 20 30.0320000 0 1G17
+ 34302018.028 5 34302025.296 5 -1562004.760 5 -490967.573 5 914.099
+ 712.297
+ 01 10 22 10 21 0.0320000 0 1G17
+ 34296843.930 4 34296854.878 5 -1589195.776 5 -512155.423 5 898.735
+ 700.307
+ 01 10 22 10 21 30.0320000 0 1G17
+ 34291759.641 5 34291766.287 5 -1615913.011 5 -532973.996 5 882.750
+ 687.874
+ 01 10 22 10 22 0.0320000 0 1G17
+ 34286764.629 4 34286772.929 5 -1642157.464 5 -553424.199 5 867.168
+ 675.690
+ 01 10 22 10 22 30.0320000 0 1G17
+ 34281861.892 5 34281871.410 5 -1667925.328 5 -573503.078 5 850.663
+ 662.838
+ 01 10 22 10 23 0.0320000 0 1G17
+ 34277050.652 5 34277059.162 5 -1693203.739 5 -593200.464 5 834.648
+ 650.385
+ 01 10 22 10 23 30.0320000 0 1G17
+ 34272331.246 5 34272341.725 5 -1718007.520 5 -612528.083 5 818.825
+ 638.055
+ 01 10 22 10 24 0.0320000 0 1G17
+ 34267702.525 5 34267710.930 5 -1742329.854 5 -631480.520 5 802.750
+ 625.498
+ 01 10 22 10 24 30.0320000 0 1G17
+ 34263168.013 5 34263169.983 5 -1766164.687 5 -650053.148 5 786.337
+ 612.722
+ 01 10 22 10 25 0.0320000 0 1G17
+ 34258725.738 5 34258732.244 5 -1789507.458 5 -668242.220 5 769.924
+ 599.940
+ 01 10 22 10 25 30.0320000 0 1G17
+ 34254376.131 5 34254381.559 5 -1812363.167 5 -686051.873 5 753.546
+ 587.214
+ 01 10 22 10 26 0.0320000 0 1G17
+ 34250119.573 5 34250123.582 5 -1834727.399 5 -703478.437 5 737.374
+ 574.595
+ 01 10 22 10 26 30.0320000 0 1G17
+ 34245959.182 5 34245966.708 5 -1856595.557 5 -720518.553 5 720.672
+ 561.568
+ 01 10 22 10 27 0.0320000 0 1G17
+ 34241892.540 5 34241898.648 5 -1877965.557 5 -737170.499 5 703.689
+ 548.334
+ 01 10 22 10 27 30.0320000 0 1G17
+ 34237922.471 5 34237929.505 5 -1898827.950 5 -753426.817 5 687.035
+ 535.363
+ 01 10 22 10 28 0.0320000 0 1G17
+ 34234047.016 5 34234053.428 5 -1919190.203 5 -769293.442 5 670.553
+ 522.518
+ 01 10 22 10 28 30.0320000 0 1G17
+ 34230267.938 5 34230276.811 4 -1939052.858 4 -784770.724 4 653.675
+ 509.381
+ 01 10 22 10 29 0.0320000 0 1G17
+ 34226583.195 5 34226589.009 4 -1958413.356 4 -799856.828 4 636.998
+ 496.362
+ 01 10 22 10 29 30.0320000 0 1G17
+ 34222994.681 5 34223001.187 5 -1977268.358 5 -814549.016 5 619.791
+ 482.956
+ 01 10 22 10 30 0.0320000 0 1G17
+ 34219506.847 5 34219517.045 5 -1995600.151 5 -828833.515 5 602.245
+ 469.279
+ 01 10 22 10 30 30.0330000 0 1G17
+ 34216114.880 5 34216122.429 5 -2013418.217 5 -842717.799 5 585.520
+ 456.243
+ 01 10 22 10 31 0.0330000 0 1G17
+ 34212823.019 5 34212829.325 5 -2030721.526 5 -856200.855 5 568.175
+ 442.734
+ 01 10 22 10 31 30.0330000 0 1G17
+ 34209627.968 5 34209635.271 5 -2047512.137 5 -869284.399 5 551.008
+ 429.345
+ 01 10 22 10 32 0.0330000 0 1G17
+ 34206532.429 5 34206537.481 5 -2063779.771 5 -881960.572 5 533.471
+ 415.701
+ 01 10 22 10 32 30.0330000 0 1G17
+ 34203536.058 5 34203543.912 5 -2079530.502 5 -894233.801 5 516.457
+ 402.439
+ 01 10 22 10 33 0.0330000 0 1G17
+ 34200637.401 5 34200642.911 5 -2094759.834 5 -906100.848 5 498.865
+ 388.735
+ 01 10 22 10 33 30.0330000 0 1G17
+ 34197840.350 5 34197846.000 5 -2109460.270 5 -917555.743 5 481.516
+ 375.203
+ 01 10 22 10 34 0.0330000 0 1G17
+ 34195142.753 5 34195147.817 5 -2123636.988 5 -928602.580 5 463.697
+ 361.324
+ 01 10 22 10 34 30.0330000 0 1G17
+ 34192547.335 5 34192554.720 5 -2137276.500 5 -939230.817 5 445.602
+ 347.225
+ 01 10 22 10 35 0.0330000 0 1G17
+ 34190052.371 5 34190058.185 5 -2150386.363 5 -949446.315 5 428.336
+ 333.760
+ 01 10 22 10 35 30.0330000 0 1G17
+ 34187657.798 5 34187664.714 5 -2162968.630 5 -959250.638 5 410.419
+ 319.817
+ 01 10 22 10 36 0.0330000 0 1G17
+ 34185364.862 5 34185373.830 5 -2175018.605 5 -968640.252 5 392.837
+ 306.102
+ 01 10 22 10 36 30.0330000 0 1G17
+ 34183172.477 5 34183180.214 5 -2186539.557 5 -977617.608 5 375.090
+ 292.284
+ 01 10 22 10 37 0.0330000 0 1G17
+ 34181082.437 5 34181090.044 5 -2197520.719 5 -986174.387 5 356.877
+ 278.071
+ 01 10 22 10 37 30.0330000 0 1G17
+ 34179096.421 6 34179101.755 5 -2207959.088 5 -994308.187 5 339.069
+ 264.217
+ 01 10 22 10 38 0.0330000 0 1G17
+ 34177212.860 6 34177218.862 5 -2217857.825 5 -1002021.538 5 321.055
+ 250.177
+ 01 10 22 10 38 30.0330000 0 1G17
+ 34175432.869 6 34175439.093 5 -2227213.852 5 -1009311.980 5 302.795
+ 235.947
+ 01 10 22 10 39 0.0330000 0 1G17
+ 34173756.099 6 34173762.195 5 -2236028.113 5 -1016180.264 5 284.578
+ 221.747
+ 01 10 22 10 39 30.0330000 0 1G17
+ 34172182.616 5 34172190.845 5 -2244291.944 5 -1022619.636 5 266.326
+ 207.523
+ 01 10 22 10 40 0.0330000 0 1G17
+ 34170713.752 6 34170721.079 5 -2252011.582 5 -1028635.037 5 248.174
+ 193.385
+ 01 10 22 10 40 30.0330000 0 1G17
+ 34169349.400 5 34169357.488 5 -2259183.423 5 -1034223.536 5 229.995
+ 179.223
+ 01 10 22 10 41 0.0330000 0 1G17
+ 34168089.046 5 34168096.947 5 -2265803.903 5 -1039382.409 5 211.431
+ 164.757
+ 01 10 22 10 41 30.0330000 0 1G17
+ 34166934.090 6 34166940.408 5 -2271873.804 5 -1044112.290 5 193.120
+ 150.480
+ 01 10 22 10 42 0.0330000 0 1G17
+ 34165883.360 6 34165890.815 5 -2277394.727 5 -1048414.338 5 174.867
+ 136.255
+ 01 10 22 10 42 30.0330000 0 1G17
+ 34164939.517 6 34164944.780 5 -2282355.819 5 -1052280.193 5 156.220
+ 121.736
+ 01 10 22 10 43 0.0330000 0 1G17
+ 34164101.401 6 34164109.125 5 -2286761.555 5 -1055713.282 5 137.661
+ 107.269
+ 01 10 22 10 43 30.0330000 0 1G17
+ 34163369.611 6 34163376.269 5 -2290607.237 5 -1058709.985 5 118.537
+ 92.365
+ 01 10 22 10 44 0.0330000 0 1G17
+ 34162744.655 6 34162750.915 5 -2293891.370 5 -1061269.084 5 100.393
+ 78.224
+ 01 10 22 10 44 30.0330000 0 1G17
+ 34162226.813 6 34162234.151 5 -2296616.109 5 -1063392.297 5 81.284
+ 63.335
+ 01 10 22 10 45 0.0330000 0 1G17
+ 34161815.176 6 34161824.694 5 -2298776.978 5 -1065076.099 5 62.532
+ 48.725
+ 01 10 22 10 45 30.0330000 0 1G17
+ 34161511.082 6 34161518.362 5 -2300369.706 5 -1066317.234 5 43.533
+ 33.924
+ 01 10 22 10 46 0.0330000 0 1G17
+ 34161317.292 6 34161324.970 5 -2301390.771 5 -1067112.858 5 24.402
+ 19.019
+ 01 10 22 10 46 30.0330000 0 1G17
+ 34161231.097 6 34161237.708 5 -2301843.594 5 -1067465.742 5 5.537
+ 4.308
+ 01 10 22 10 47 0.0330000 0 1G17
+ 34161254.883 6 34161261.916 5 -2301722.753 5 -1067371.641 5 -13.595
+ -10.601
+ 01 10 22 10 47 30.0330000 0 1G17
+ 34161386.721 6 34161394.048 5 -2301027.189 5 -1066829.703 5 -32.447
+ -25.291
+ 01 10 22 10 48 0.0330000 0 1G17
+ 34161628.055 6 34161634.818 5 -2299761.497 5 -1065843.451 5 -51.890
+ -40.438
+ 01 10 22 10 48 30.0330000 0 1G17
+ 34161978.162 6 34161986.098 5 -2297920.590 5 -1064408.954 5 -70.870
+ -55.221
+ 01 10 22 10 49 0.0330000 0 1G17
+ 34162437.733 6 34162445.727 5 -2295505.964 5 -1062527.433 5 -90.158
+ -70.254
+ 01 10 22 10 49 30.0340000 0 1G17
+ 34163006.547 5 34163015.737 5 -2292511.559 5 -1060194.196 5 -109.615
+ -85.402
+ 01 10 22 10 50 0.0340000 0 1G17
+ 34163687.946 6 34163695.296 5 -2288936.992 5 -1057408.821 5 -128.743
+ -100.322
+ 01 10 22 10 50 30.0340000 0 1G17
+ 34164478.910 6 34164487.948 5 -2284779.640 5 -1054169.364 5 -148.350
+ -115.592
+ 01 10 22 10 51 0.0340000 0 1G17
+ 34165380.485 6 34165387.283 5 -2280041.648 5 -1050477.467 5 -167.536
+ -130.554
+ 01 10 22 10 51 30.0340000 0 1G17
+ 34166392.103 6 34166398.855 5 -2274725.635 5 -1046335.111 5 -187.006
+ -145.736
+ 01 10 22 10 52 0.0340000 0 1G17
+ 34167515.314 5 34167520.284 5 -2268821.595 5 -1041734.615 5 -206.595
+ -160.975
+ 01 10 22 10 52 30.0340000 0 1G17
+ 34168750.305 5 34168758.077 5 -2262331.919 5 -1036677.680 5 -226.080
+ -176.166
+ 01 10 22 10 53 0.0340000 0 1G17
+ 34170097.411 5 34170105.440 5 -2255251.698 5 -1031160.640 5 -245.751
+ -191.485
+ 01 10 22 10 53 30.0340000 0 1G17
+ 34171557.326 5 34171565.883 5 -2247582.540 5 -1025184.703 5 -265.250
+ -206.697
+ 01 10 22 10 54 0.0340000 0 1G17
+ 34173128.665 5 34173137.551 5 -2239324.528 5 -1018749.921 5 -285.174
+ -222.197
+ 01 10 22 10 54 30.0340000 0 1G17
+ 34174814.075 6 34174822.292 5 -2230468.996 5 -1011849.613 5 -304.867
+ -237.554
+ 01 10 22 10 55 0.0340000 0 1G17
+ 34176611.382 6 34176615.145 5 -2221025.292 5 -1004490.854 5 -324.721
+ -253.021
+ 01 10 22 10 55 30.0340000 0 1G17
+ 34178520.813 5 34178532.301 5 -2210989.553 5 -996670.852 5 -344.130
+ -268.148
+ 01 10 22 10 56 0.0340000 0 1G17
+ 34180543.632 5 34180547.523 5 -2200361.690 5 -988389.446 5 -364.209
+ -283.786
+ 01 10 22 10 56 30.0340000 0 1G17
+ 34182678.921 5 34182685.497 5 -2189136.262 5 -979642.390 5 -383.944
+ -299.165
+ 01 10 22 10 57 0.0340000 0 1G17
+ 34184927.714 5 34184935.615 5 -2177318.484 5 -970433.761 5 -403.556
+ -314.464
+ 01 10 22 10 57 30.0340000 0 1G17
+ 34187290.434 5 34187296.975 5 -2164906.196 5 -960761.887 5 -423.351
+ -329.897
+ 01 10 22 10 58 0.0340000 0 1G17
+ 34189765.879 5 34189770.228 5 -2151893.702 5 -950622.448 5 -443.777
+ -345.782
+ 01 10 22 10 58 30.0340000 0 1G17
+ 34192357.188 5 34192366.625 5 -2138275.374 5 -940010.825 5 -463.779
+ -361.365
+ 01 10 22 10 59 0.0340000 0 1G17
+ 34195063.218 5 34195071.400 5 -2124055.577 5 -928930.468 5 -484.075
+ -377.205
+ 01 10 22 10 59 30.0340000 0 1G17
+ 34197884.869 5 34197892.864 4 -2109229.977 4 -917378.142 4 -504.337
+ -392.953
+ 01 10 22 11 0 0.0340000 0 1G17
+ 34200822.115 5 34200829.664 5 -2093800.688 5 -905355.383 5 -524.412
+ -408.635
+ 01 10 22 11 0 30.0340000 0 1G17
+ 34203871.490 5 34203877.340 5 -2077773.921 5 -892867.048 5 -544.198
+ -424.049
+ 01 10 22 11 1 0.0340000 0 1G17
+ 34207036.568 5 34207041.679 5 -2061142.945 5 -879907.961 5 -564.648
+ -440.004
+ 01 10 22 11 1 30.0340000 0 1G17
+ 34210316.220 5 34210320.100 5 -2043907.477 5 -866477.760 5 -584.679
+ -455.595
+ 01 10 22 11 2 0.0340000 0 1G17
+ 34213711.799 5 34213717.238 5 -2026065.564 5 -852575.063 5 -604.382
+ -470.943
+ 01 10 22 11 2 30.0340000 0 1G17
+ 34217221.187 5 34217228.009 5 -2007623.597 5 -838204.790 5 -624.603
+ -486.676
+ 01 10 22 11 3 0.0340000 0 1G17
+ 34220844.752 5 34220852.923 5 -1988578.957 5 -823364.889 5 -644.951
+ -502.552
+ 01 10 22 11 3 30.0340000 0 1G17
+ 34224585.081 5 34224596.405 5 -1968922.931 5 -808048.579 5 -664.996
+ -518.181
+ 01 10 22 11 4 0.0340000 0 1G17
+ 34228441.426 5 34228449.081 5 -1948657.390 5 -792257.362 5 -685.905
+ -534.464
+ 01 10 22 11 4 30.0340000 0 1G17
+ 34232415.199 5 34232423.416 5 -1927776.639 5 -775986.704 5 -706.145
+ -550.246
+ 01 10 22 11 5 0.0340000 0 1G17
+ 34236503.585 5 34236515.096 5 -1906292.080 5 -759245.609 5 -726.324
+ -565.958
+ 01 10 22 11 5 30.0340000 0 1G17
+ 34240707.618 5 34240715.319 5 -1884201.171 5 -742031.967 5 -746.334
+ -581.591
+ 01 10 22 11 6 0.0340000 0 1G17
+ 34245027.078 5 34245034.932 5 -1861504.459 5 -724346.294 5 -766.817
+ -597.514
+ 01 10 22 11 6 30.0340000 0 1G17
+ 34249463.455 5 34249470.394 5 -1838189.310 5 -706178.820 5 -787.468
+ -613.623
+ 01 10 22 11 7 0.0340000 0 1G17
+ 34254017.445 5 34254027.186 5 -1814258.390 5 -687531.522 5 -807.852
+ -629.486
+ 01 10 22 11 7 30.0340000 0 1G17
+ 34258686.959 5 34258695.399 5 -1789718.614 5 -668409.734 5 -828.149
+ -645.321
+ 01 10 22 11 8 0.0340000 0 1G17
+ 34263472.821 5 34263483.007 5 -1764566.207 5 -648810.517 5 -848.577
+ -661.242
+ 01 10 22 11 8 30.0350000 0 1G17
+ 34268376.614 5 34268385.007 4 -1738803.520 4 -628735.738 4 -869.292
+ -677.362
+ 01 10 22 11 9 0.0350000 0 1G17
+ 34273395.658 4 34273404.426 5 -1712422.745 5 -608179.459 5 -889.447
+ -693.079
+ 01 10 22 11 9 30.0350000 0 1G17
+ 34278533.217 5 34278541.798 5 -1685427.612 5 -587144.264 5 -910.129
+ -709.185
+ 01 10 22 11 10 0.0350000 0 1G17
+ 34283786.297 5 34283795.534 4 -1657818.420 4 -565630.688 4 -930.820
+ -725.312
+ 01 10 22 11 10 30.0350000 0 1G17
+ 34289157.544 4 34289165.878 5 -1629592.681 5 -543636.584 5 -950.776
+ -740.870
+ 01 10 22 11 11 0.0350000 0 1G17
+ 34294644.824 4 34294654.014 5 -1600756.979 5 -521167.361 5 -971.376
+ -756.929
+ 01 10 22 11 11 30.0350000 0 1G17
+ 34300249.108 4 34300261.205 4 -1571311.027 4 -498222.409 4 -991.970
+ -772.966
+ 01 10 22 11 12 0.0350000 0 1G17
+ 34305969.149 4 34305979.347 4 -1541249.416 4 -474797.867 4 -1012.457
+ -788.936
+ 01 10 22 11 12 30.0350000 0 1G17
+ 34311807.553 4 34311814.211 5 -1510570.996 5 -450892.606 5 -1032.791
+ -804.771
+ 01 10 22 11 13 0.0350000 0 1G17
+ 34317763.873 5 34317775.782 5 -1479272.822 5 -426504.519 5 -1053.607
+ -820.982
+ 01 10 22 11 13 30.0350000 0 1G17
+ 34323835.064 5 34323842.004 4 -1447364.516 4 -401640.946 4 -1073.627
+ -836.597
+ 01 10 22 11 14 0.0350000 0 1G17
+ 34330025.161 4 34330032.933 5 -1414839.814 5 -376297.132 5 -1094.487
+ -852.835
+ 01 10 22 11 14 30.0350000 0 1G17
+ 34336330.505 4 34336345.603 4 -1381701.065 4 -350474.836 4 -1115.010
+ -868.833
+ 01 10 22 11 15 0.0350000 0 1G17
+ 34342753.570 5 34342765.245 5 -1347950.758 5 -324175.929 5 -1135.346
+ -884.670
+ 01 10 22 11 15 30.0350000 0 1G17
+ 34349292.956 4 34349300.752 4 -1313580.752 4 -297394.150 4 -1156.108
+ -900.934
+ 01 10 22 11 16 0.0350000 0 1G17
+ 34355950.958 4 34355960.793 4 -1278596.267 4 -270133.695 4 -1176.037
+ -916.395
+ 01 10 22 11 16 30.0350000 0 1G17
+ 34362724.594 4 34362731.592 5 -1243004.389 5 -242399.737 5 -1196.757
+ -932.536
+ 01 10 22 11 17 0.0350000 0 1G17
+ 34369614.710 4 34369620.641 5 -1206792.948 5 -214183.130 5 -1217.289
+ -948.533
+ 01 10 22 11 17 30.0350000 0 1G17
+ 34376623.824 4 34376637.504 5 -1169963.842 5 -185485.201 5 -1237.624
+ -964.378
+ 01 10 22 11 18 0.0350000 0 1G17
+ 34383747.653 5 34383754.265 5 -1132526.008 5 -156313.046 5 -1258.270
+ -980.449
+ 01 10 22 11 18 30.0350000 0 1G17
+ 34390989.194 4 34390995.020 5 -1094470.187 5 -126659.241 5 -1278.613
+ -996.329
+ 01 10 22 11 19 0.0350000 0 1G17
+ 34398348.417 4 34398353.903 4 -1055801.943 4 -96528.238 4 -1299.106
+ -1012.317
+ 01 10 22 11 19 30.0350000 0 1G17
+ 34405823.490 5 34405830.465 5 -1016521.564 5 -65920.154 5 -1319.576
+ -1028.231
+ 01 10 22 11 20 0.0350000 0 1G17
+ 34413413.365 4 34413421.559 5 -976629.133 5 -34835.346 5 -1339.991
+ -1044.149
+ 01 10 22 11 20 30.0350000 0 1G17
+ 34421122.992 4 34421134.104 5 -936124.899 5 -3273.671 5 -1360.369
+ -1060.014
+ 01 10 22 11 21 0.0350000 0 1G17
+ 34428948.283 5 34428959.419 5 -895004.527 5 28767.932 5 -1380.913
+ -1076.037
+ 01 10 22 11 21 30.0350000 0 1G17
+ 34436888.557 5 34436896.938 5 -853275.395 5 61283.877 5 -1400.989
+ -1091.670
+ 01 10 22 11 22 0.0350000 0 1G17
+ 34444946.246 5 34444952.975 5 -810932.719 5 94278.076 5 -1421.533
+ -1107.677
+ 01 10 22 11 22 30.0350000 0 1G17
+ 34453121.605 5 34453127.759 5 -767975.512 5 127751.177 5 -1442.442
+ -1123.976
+ 01 10 22 11 23 0.0350000 0 1G17
+ 34461411.786 5 34461422.957 5 -724403.174 5 161703.524 5 -1462.760
+ -1139.809
+ 01 10 22 11 23 30.0350000 0 1G17
+ 34469821.167 5 34469830.229 5 -680217.720 5 196133.638 5 -1483.054
+ -1155.622
+ 01 10 22 11 24 0.0350000 0 1G17
+ 34478344.556 5 34478352.492 5 -635424.637 5 231037.199 5 -1503.024
+ -1171.175
+ 01 10 22 11 24 30.0350000 0 1G17
+ 34486985.199 5 34486993.299 5 -590020.758 5 266416.805 5 -1523.595
+ -1187.204
+ 01 10 22 11 25 0.0350000 0 1G17
+ 34495740.965 5 34495750.940 4 -544007.296 4 302271.351 4 -1543.609
+ -1202.821
+ 01 10 22 11 25 30.0350000 0 1G17
+ 34504612.661 5 34504618.956 5 -497384.954 5 338600.343 5 -1564.487
+ -1219.077
+ 01 10 22 11 26 0.0350000 0 1G17
+ 34513601.605 5 34513612.483 5 -450154.072 5 375403.494 5 -1584.369
+ -1234.583
+ 01 10 22 11 26 30.0350000 0 1G17
+ 34522703.765 5 34522715.135 5 -402315.076 5 412680.572 5 -1604.652
+ -1250.371
+ 01 10 22 11 27 0.0350000 0 1G17
+ 34531923.614 4 34531932.816 5 -353870.776 5 450429.310 5 -1624.989
+ -1266.218
+ 01 10 22 11 27 30.0360000 0 1G17
+ 34541258.067 5 34541263.060 5 -304817.714 5 488652.194 5 -1644.994
+ -1281.807
+ 01 10 22 11 28 0.0360000 0 1G17
+ 34550707.353 5 34550716.343 5 -255158.107 5 527347.850 5 -1665.481
+ -1297.763
+ 01 10 22 11 28 30.0360000 0 1G17
+ 34560273.805 4 34560280.920 5 -204890.231 5 566517.515 5 -1685.597
+ -1313.437
+ 01 10 22 11 29 0.0360000 0 1G17
+ 34569953.266 4 34569960.780 4 -154017.533 4 606158.485 4 -1705.808
+ -1329.198
+ 01 10 22 11 29 30.0360000 0 1G17
+ 34579750.239 4 34579759.007 5 -102541.776 5 646269.300 5 -1725.986
+ -1344.908
+ 01 10 22 11 30 0.0360000 0 1G17
+ 34589660.237 5 34589670.083 5 -50465.602 5 686847.991 5 -1745.729
+ -1360.310
+ 01 10 22 11 30 30.0360000 0 1G17
+ 34599682.747 5 34599691.996 5 2207.628 5 727891.885 5 -1766.183
+ -1376.236
+ 01 10 22 11 31 0.0360000 0 1G17
+ 34609822.731 5 34609830.784 5 55485.408 5 769406.922 5 -1785.907
+ -1391.618
+ 01 10 22 11 31 30.0360000 0 1G17
+ 34620073.439 4 34620090.120 5 109361.364 5 811388.062 5 -1805.912
+ -1407.200
+ 01 10 22 11 32 0.0360000 0 1G17
+ 34630441.658 5 34630450.907 5 163840.656 5 853839.380 5 -1825.782
+ -1422.677
+ 01 10 22 11 32 30.0360000 0 1G17
+ 34640923.726 5 34640930.912 5 218921.417 5 896759.246 5 -1846.069
+ -1438.493
+ 01 10 22 11 33 0.0360000 0 1G17
+ 34651517.826 5 34651525.480 5 274598.211 5 940143.613 5 -1865.758
+ -1453.839
+ 01 10 22 11 33 30.0360000 0 1G17
+ 34662225.673 5 34662234.335 5 330868.806 5 983990.690 5 -1885.527
+ -1469.218
+ 01 10 22 11 34 0.0360000 0 1G17
+ 34673047.990 5 34673058.915 5 387734.605 5 1028301.624 5 -1905.449
+ -1484.763
+ 01 10 22 11 34 30.0360000 0 1G17
+ 34683981.358 4 34683988.227 5 445193.880 5 1073074.882 5 -1925.148
+ -1500.100
+ 01 10 22 11 35 0.0360000 0 1G17
+ 34695027.891 5 34695034.444 5 503245.441 5 1118309.722 5 -1945.057
+ -1515.617
+ 01 10 22 11 35 30.0360000 0 1G17
+ 34706189.225 5 34706200.783 5 561894.858 5 1164010.435 5 -1964.852
+ -1531.053
+ 01 10 22 11 36 0.0360000 0 1G17
+ 34717461.987 5 34717465.468 4 621131.938 4 1210169.122 4 -1984.367
+ -1546.274
+ 01 10 22 11 36 30.0360000 0 1G17
+ 34728846.083 4 34728853.034 5 680956.927 5 1256785.734 5 -2003.880
+ -1561.470
+ 01 10 22 11 37 0.0360000 0 1G17
+ 34740342.559 4 34740351.128 5 741371.179 5 1303861.663 5 -2023.721
+ -1576.924
+ 01 10 22 11 37 30.0360000 0 1G17
+ 34751950.299 5 34751960.274 5 802369.925 5 1351392.987 5 -2043.076
+ -1592.007
+ 01 10 22 11 38 0.0360000 0 1G17
+ 34763669.944 5 34763678.478 5 863955.156 5 1399381.379 5 -2062.864
+ -1607.424
+ 01 10 22 11 38 30.0360000 0 1G17
+ 34775502.909 5 34775509.954 5 926129.838 5 1447828.978 5 -2082.128
+ -1622.440
+ 01 10 22 11 39 0.0360000 0 1G17
+ 34787443.695 5 34787451.677 5 988885.589 5 1496729.419 5 -2101.491
+ -1637.521
+ 01 10 22 11 39 30.0360000 0 1G17
+ 34799496.091 5 34799505.468 5 1052222.566 5 1546082.744 5 -2120.815
+ -1652.603
+ 01 10 22 11 40 0.0360000 0 1G17
+ 34811660.421 5 34811675.296 5 1116141.515 5 1595889.536 5 -2140.198
+ -1667.696
+ 01 10 22 11 40 30.0360000 0 1G17
+ 34823932.864 5 34823941.457 5 1180640.032 5 1646147.959 5 -2159.688
+ -1682.863
+ 01 10 22 11 41 0.0360000 0 1G17
+ 34836317.397 5 34836328.310 5 1245716.470 5 1696856.701 5 -2178.811
+ -1697.762
+ 01 10 22 11 41 30.0360000 0 1G17
+ 34848809.947 5 34848820.626 5 1311369.919 5 1748015.049 5 -2198.086
+ -1712.785
+ 01 10 22 11 42 0.0360000 0 1G17
+ 34861414.471 5 34861423.275 4 1377596.423 4 1799619.932 4 -2217.062
+ -1727.526
+ 01 10 22 11 42 30.0360000 0 1G17
+ 34874124.884 5 34874134.285 5 1444397.132 5 1851672.262 5 -2236.571
+ -1742.800
+ 01 10 22 11 43 0.0360000 0 1G17
+ 34886945.992 4 34886952.873 4 1511770.978 4 1904171.301 4 -2255.250
+ -1757.415
+ 01 10 22 11 43 30.0360000 0 1G17
+ 34899875.047 5 34899888.375 5 1579707.913 5 1957108.935 5 -2273.839
+ -1771.807
+ 01 10 22 11 44 0.0360000 0 1G17
+ 34912910.024 4 34912923.458 5 1648209.131 5 2010486.224 5 -2292.854
+ -1786.632
+ 01 10 22 11 44 30.0360000 0 1G17
+ 34926054.508 4 34926066.758 4 1717278.130 4 2064306.031 4 -2311.858
+ -1801.464
+ 01 10 22 11 45 0.0360000 0 1G17
+ 34939302.641 4 34939318.243 4 1786913.120 4 2118566.896 4 -2330.678
+ -1816.115
+ 01 10 22 11 45 30.0360000 0 1G17
+ 34952663.478 4 34952679.373 4 1857116.598 4 2173270.707 4 -2349.554
+ -1830.857
+ 01 10 22 11 46 0.0360000 0 1G17
+ 34966125.703 4 34966134.249 4 1927872.326 4 2228404.847 4 -2368.100
+ -1845.254
+ 01 10 22 11 46 30.0370000 0 1G17
+ 34979701.618 4 34979705.135 4 1999196.538 4 2283982.001 4 -2386.817
+ -1859.926
+ 01 10 22 11 47 0.0370000 0 1G17
+ 34993380.975 4 34993392.193 4 2071079.668 4 2339994.653 4 -2405.214
+ -1874.195
+ 01 10 22 11 47 30.0370000 0 1G17
+ 35007164.559 4 35007172.706 4 2143516.560 4 2396438.741 4 -2423.974
+ -1888.746
+ 01 10 22 11 48 0.0370000 0 1G17
+ 35021055.693 4 35021070.123 4 2216509.248 4 2453315.955 4 -2442.273
+ -1903.059
+ 01 10 22 11 48 30.0370000 0 1G17
+ 35035049.090 4 35035058.280 4 2290051.364 4 2510621.308 4 -2460.685
+ -1917.401
+ 01 10 22 11 49 0.0370000 0 1G17
+ 35049151.142 4 35049166.885 4 2364145.823 4 2568357.091 4 -2479.115
+ -1931.793
+ 01 10 22 11 49 30.0370000 0 1G17
+ 35063354.693 4 0.000 1 2438794.236 1 0.00011 -2497.635
+ 0.000
+ 01 10 22 11 50 0.0370000 0 1G17
+ 35077663.524 4 0.000 1 2513989.765 1 0.00011 -2515.670
+ 0.000
+ 01 10 22 11 50 30.0370000 0 1G17
+ 35092076.728 4 0.000 1 2589725.509 1 0.00011 -2533.457
+ 0.000
+ 01 10 22 11 51 0.0370000 0 1G17
+ 35106592.870 4 0.000 1 2666005.547 1 0.00011 -2551.724
+ 0.000
+ 01 10 22 11 51 30.0370000 0 1G17
+ 35121210.977 4 0.000 1 2742827.525 1 0.00011 -2569.913
+ 0.000
+ 01 10 22 11 52 0.0370000 0 1G17
+ 35135931.484 4 0.000 1 2820189.685 1 0.00011 -2587.739
+ 0.000
+ 01 10 22 11 52 30.0370000 0 1G17
+ 35150757.573 4 0.000 1 2898088.637 1 0.00011 -2605.520
+ 0.000
+ 01 10 22 11 53 0.0370000 0 1G17
+ 35165683.465 4 35165691.495 4 2976526.669 4 12255.085 4 -2623.451
+ -2044.252
+ 01 10 22 11 53 30.0370000 0 1G17
+ 35180710.646 4 0.000 1 3055499.037 1 0.00011 -2641.038
+ 0.000
+ 01 10 22 11 54 0.0370000 0 1G17
+ 35195840.264 4 0.000 1 3135001.352 1 0.00011 -2658.993
+ 0.000
+ 01 10 22 11 54 30.0370000 0 1G17
+ 35211070.665 4 0.000 1 3215038.952 1 0.00011 -2676.861
+ 0.000
+ 01 10 22 11 55 0.0370000 0 1G17
+ 35226403.958 5 0.000 1 3295606.956 1 0.00011 -2694.326
+ 0.000
+ 01 10 22 11 55 30.0370000 0 1G17
+ 35241834.134 5 0.000 1 3376696.921 1 0.00011 -2711.605
+ 0.000
+ 01 10 22 11 56 0.0370000 0 1G17
+ 35257365.966 5 0.000 1 3458312.474 1 0.00011 -2729.224
+ 0.000
+ 01 10 22 11 56 30.0370000 0 1G17
+ 35272995.090 4 35273005.312 4 3540449.886 4 57618.087 4 -2746.605
+ -2140.209
+ 01 10 22 11 57 0.0370000 0 1G17
+ 35288726.363 5 35288735.119 4 3623109.949 4 122028.262 4 -2763.826
+ -2153.629
+ 01 10 22 11 57 30.0370000 0 1G17
+ 35304551.770 4 35304562.566 4 3706283.371 4 186838.419 4 -2781.188
+ -2167.155
+ 01 10 22 11 58 0.0370000 0 1G17
+ 35320479.968 5 35320494.175 4 3789976.242 4 252053.334 4 -2798.138
+ -2180.346
+ 01 10 22 11 58 30.0370000 0 1G17
+ 35336501.753 4 35336509.360 4 3874178.740 4 317665.450 4 -2815.505
+ -2193.908
+ 01 10 22 11 59 0.0370000 0 1G17
+ 35352625.259 5 35352634.578 4 3958895.255 4 383677.949 4 -2832.351
+ -2206.984
+ 01 10 22 11 59 30.0370000 0 1G17
+ 35368842.666 4 35368852.079 5 4044121.462 5 450087.837 5 -2849.533
+ -2220.396
+ 01 10 22 12 0 0.0370000 0 1G17
+ 35385159.696 5 0.000 1 4129857.396 1 0.00011 -2866.176
+ 0.000
+ 01 10 22 12 0 30.0370000 0 1G17
+ 35401566.981 4 0.000 1 4216097.500 1 0.00011 -2883.053
+ 0.000
+ 01 10 22 12 1 0.0370000 0 1G17
+ 35418075.420 5 0.000 1 4302841.707 1 0.00011 -2899.729
+ 0.000
+ 01 10 22 12 1 30.0370000 0 1G17
+ 35434677.876 4 0.000 1 4390091.310 1 0.00011 -2916.620
+ 0.000
+ 01 10 22 12 2 0.0370000 0 1G17
+ 35451376.726 5 0.000 1 4477830.867 1 0.00011 -2933.031
+ 0.000
+ 01 10 22 12 2 30.0370000 0 1G17
+ 35468168.120 4 35468184.859 4 4566068.549 4 61895.016 4 -2949.353
+ -2298.162
+ 01 10 22 12 3 0.0370000 0 1G17
+ 35485051.311 5 35485061.064 5 4654796.036 5 131032.971 5 -2965.852
+ -2311.028
+ 01 10 22 12 3 30.0370000 0 1G17
+ 35502031.154 4 35502048.233 4 4744021.885 4 200559.244 4 -2982.008
+ -2323.646
+ 01 10 22 12 4 0.0370000 0 1G17
+ 35519102.113 5 35519115.640 5 4833727.434 5 270459.431 5 -2998.525
+ -2336.490
+ 01 10 22 12 4 30.0370000 0 1G17
+ 35536267.241 5 35536281.002 4 4923923.772 4 340741.904 4 -3014.835
+ -2349.194
+ 01 10 22 12 5 0.0370000 0 1G17
+ 35553519.722 5 35553531.409 5 5014606.138 5 411403.266 5 -3030.866
+ -2361.698
+ 01 10 22 12 5 30.0380000 0 1G17
+ 35570872.393 5 35570878.652 5 5105775.802 5 482444.140 5 -3046.875
+ -2374.167
+ 01 10 22 12 6 0.0380000 0 1G17
+ 35588309.455 4 35588324.049 5 5197421.579 5 553856.177 5 -3062.753
+ -2386.578
+ 01 10 22 12 6 30.0380000 0 1G17
+ 35605842.285 5 35605853.222 4 5289543.606 4 625639.183 4 -3078.544
+ -2398.889
+ 01 10 22 12 7 0.0380000 0 1G17
+ 35623460.647 5 35623469.333 5 5382134.281 5 697787.467 5 -3094.444
+ -2411.226
+ 01 10 22 12 7 30.0380000 0 1G17
+ 35641170.645 5 35641182.941 4 5475198.406 4 770304.590 4 -3109.886
+ -2423.279
+ 01 10 22 12 8 0.0380000 0 1G17
+ 35658970.694 5 35658984.819 5 5568731.686 5 843187.400 5 -3125.506
+ -2435.445
+ 01 10 22 12 8 30.0380000 0 1G17
+ 35676856.846 5 35676873.984 5 5662728.710 5 916431.439 5 -3140.761
+ -2447.326
+ 01 10 22 12 9 0.0380000 0 1G17
+ 35694834.043 5 35694841.921 4 5757196.955 4 990042.719 4 -3156.661
+ -2459.737
+ 01 10 22 12 9 30.0380000 0 1G17
+ 35712899.790 5 35712913.880 5 5852128.308 5 1064014.831 5 -3171.896
+ -2471.591
+ 01 10 22 12 10 0.0380000 0 1G17
+ 35731052.236 5 35731063.970 5 5947524.655 5 1138349.360 5 -3187.436
+ -2483.704
+ 01 10 22 12 10 30.0380000 0 1G17
+ 35749295.702 5 35749310.823 5 6043383.663 5 1213044.273 5 -3202.957
+ -2495.793
+ 01 10 22 12 11 0.0380000 0 1G17
+ 35767623.240 5 35767637.553 5 6139698.792 5 1288094.689 5 -3218.083
+ -2507.602
+ 01 10 22 12 11 30.0380000 0 1G17
+ 35786039.005 5 35786054.408 5 6236475.711 5 1363504.937 5 -3233.563
+ -2519.629
+ 01 10 22 12 12 0.0380000 0 1G17
+ 35804542.367 5 35804551.932 5 6333708.274 5 1439270.180 5 -3248.614
+ -2531.375
+ 01 10 22 12 12 30.0380000 0 1G17
+ 35823130.861 5 35823148.269 5 6431392.169 5 1515387.108 5 -3263.573
+ -2543.032
+ 01 10 22 12 13 0.0380000 0 1G17
+ 35841805.192 5 35841817.430 5 6529518.105 5 1591848.588 5 -3278.098
+ -2554.356
+ 01 10 22 12 13 30.0380000 0 1G17
+ 35860561.725 5 35860577.186 4 6628085.509 4 1668653.940 4 -3292.986
+ -2565.892
+ 01 10 22 12 14 0.0380000 0 1G17
+ 35879400.850 5 35879412.935 4 6727093.085 4 1745802.473 4 -3307.491
+ -2577.221
+ 01 10 22 12 14 30.0380000 0 1G17
+ 35898326.918 6 35898340.304 5 6826531.828 5 1823286.751 5 -3321.760
+ -2588.377
+ 01 10 22 12 15 0.0380000 0 1G17
+ 35917331.747 5 35917348.064 5 6926409.131 5 1901112.905 5 -3336.779
+ -2600.047
+ 01 10 22 12 15 30.0380000 0 1G17
+ 35936420.149 5 35936434.110 5 7026719.354 5 1979276.415 5 -3350.812
+ -2611.017
+ 01 10 22 12 16 0.0380000 0 1G17
+ 35955593.130 5 35955607.278 5 7127465.783 5 2057779.705 5 -3365.633
+ -2622.569
+ 01 10 22 12 16 30.0380000 0 1G17
+ 35974846.356 5 35974864.865 5 7228653.561 5 2136627.010 5 -3380.472
+ -2634.126
+ 01 10 22 12 17 0.0380000 0 1G17
+ 35994184.804 5 35994195.377 5 7330273.253 5 2215810.847 5 -3394.407
+ -2644.983
+ 01 10 22 12 17 30.0380000 0 1G17
+ 36013603.402 5 36013620.727 5 7432312.527 5 2295321.569 5 -3408.268
+ -2655.795
+ 01 10 22 12 18 0.0380000 0 1G17
+ 36033099.441 5 36033117.950 5 7534769.306 5 2375157.742 5 -3422.272
+ -2666.697
+ 01 10 22 12 18 30.0380000 0 1G17
+ 36052678.094 5 36052691.891 5 7637650.319 5 2455324.324 5 -3436.389
+ -2677.687
+ 01 10 22 12 19 0.0380000 0 1G17
+ 36072333.829 5 36072341.835 5 7740938.129 5 2535807.900 5 -3449.813
+ -2688.152
+ 01 10 22 12 19 30.0380000 0 1G17
+ 36092065.780 5 36092085.942 5 7844630.355 5 2616606.748 5 -3462.716
+ -2698.226
+ 01 10 22 12 20 0.0380000 0 1G17
+ 36111874.205 6 36111888.564 5 7948717.574 5 2697713.307 5 -3476.319
+ -2708.818
+ 01 10 22 12 20 30.0380000 0 1G17
+ 36131759.269 5 36131777.907 5 8053210.046 5 2779135.608 5 -3489.797
+ -2719.298
+ 01 10 22 12 21 0.0380000 0 1G17
+ 36151716.034 5 36151735.809 4 8158103.967 4 2860870.873 4 -3503.072
+ -2729.636
+ 01 10 22 12 21 30.0380000 0 1G17
+ 36171755.657 5 36171772.337 5 8263397.354 5 2942917.204 5 -3516.302
+ -2739.963
+ 01 10 22 12 22 0.0380000 0 1G17
+ 36191865.420 4 36191885.840 4 8369079.734 4 3025266.797 4 -3529.350
+ -2750.159
+ 01 10 22 12 22 30.0380000 0 1G17
+ 36212050.868 5 36212063.985 5 8475154.886 5 3107922.420 5 -3542.559
+ -2760.427
+ 01 10 22 12 23 0.0380000 0 1G17
+ 36232314.653 6 36232328.696 5 8581629.249 5 3190889.084 5 -3555.606
+ -2770.596
+ 01 10 22 12 23 30.0380000 0 1G17
+ 36252651.270 5 36252667.470 5 8688490.076 5 3274156.612 5 -3568.543
+ -2780.660
+ 01 10 22 12 24 0.0380000 0 1G17
+ 36273054.321 4 36273070.661 5 8795737.045 5 3357725.700 5 -3581.327
+ -2790.609
+ 01 10 22 12 24 30.0390000 0 1G17
+ 36293539.979 5 0.000 1 8903368.800 1 0.00011 -3593.974
+ 0.000
+ 01 10 22 12 25 0.0390000 0 1G17
+ 36314093.889 5 0.000 1 9011375.992 1 0.00011 -3606.453
+ 0.000
+ 01 10 22 12 25 30.0390000 0 1G17
+ 36334718.963 4 36334742.888 4 9119759.094 4 28180.145 4 -3618.912
+ -2819.908
+ 01 10 22 12 26 0.0390000 0 1G17
+ 36355413.241 5 36355431.786 5 9228508.714 5 112919.784 5 -3631.166
+ -2829.466
+ 01 10 22 12 26 30.0390000 0 1G17
+ 36376179.628 5 36376185.888 4 9337628.767 4 197947.997 4 -3643.642
+ -2839.232
+ 01 10 22 12 27 0.0390000 0 1G17
+ 36397014.261 4 36397032.970 4 9447117.887 4 283263.707 4 -3655.710
+ -2848.586
+ 01 10 22 12 27 30.0390000 0 1G17
+ 36417914.978 4 36417928.705 4 9556969.191 4 368862.008 4 -3668.212
+ -2858.414
+ 01 10 22 12 28 0.0390000 0 1G17
+ 36438888.960 5 36438906.743 4 9667183.277 4 454742.510 4 -3679.721
+ -2867.298
+ 01 10 22 12 28 30.0390000 0 1G17
+ 36459933.986 5 36459953.691 5 9777759.733 5 540905.584 5 -3691.742
+ -2876.669
+ 01 10 22 12 29 0.0390000 0 1G17
+ 36481043.203 5 36481059.145 4 9888688.516 4 627343.312 4 -3703.679
+ -2885.961
+ 01 10 22 12 29 30.0390000 0 1G17
+ 36502218.376 4 36502239.136 4 9999967.994 4 714054.142 4 -3715.213
+ -2894.933
+ 01 10 22 12 30 0.0390000 0 1G17
+ 36523460.011 4 0.000 1 10111598.061 1 0.00011 -3726.947
+ 0.000
+ 01 10 22 12 30 30.0390000 0 1G17
+ 36544770.092 5 0.000 1 10223573.538 1 0.00011 -3737.974
+ 0.000
+ 01 10 22 12 31 0.0390000 0 1G17
+ 36566142.480 5 0.000 1 10335885.626 1 0.00011 -3749.446
+ 0.000
+ 01 10 22 12 31 30.0390000 0 1G17
+ 36587579.231 4 0.000 1 10448540.830 1 0.00011 -3760.657
+ 0.000
+ 01 10 22 12 32 0.0390000 0 1G17
+ 36609080.508 4 36609094.165 4 10561527.290 4 29371.885 4 -3771.381
+ -2938.772
+ 01 10 22 12 32 30.0390000 0 1G17
+ 36630642.670 4 0.000 1 10674838.043 1 0.00011 -3782.935
+ 0.000
+ 01 10 22 12 33 0.0390000 0 1G17
+ 36652273.130 4 0.000 1 10788492.757 1 0.00011 -3793.930
+ 0.000
+ 01 10 22 12 33 30.0390000 0 1G17
+ 36673961.731 3 0.000 1 10902474.206 1 0.00011 -3804.794
+ 0.000
+ 01 10 22 12 34 0.0390000 0 1G17
+ 36695713.726 4 0.000 1 11016782.098 1 0.00011 -3815.288
+ 0.000
+ 01 10 22 12 34 30.0390000 0 1G17
+ 36717527.074 4 0.000 1 11131408.925 1 0.00011 -3826.200
+ 0.000
+ 01 10 22 12 35 0.0390000 0 1G17
+ 36739403.105 5 0.000 1 11246352.795 1 0.00011 -3836.667
+ 0.000
+ 01 10 22 18 30 30.0580000 0 1G17
+ 42893413.663 6 0.000 1 -11281.258 1 0.00011 2256.777
+ 0.000
+ 01 10 22 18 31 0.0580000 0 1G17
+ 42880520.455 5 0.000 1 -11293.341 1 0.00011 2259.287
+ 0.000
+ 01 10 22 18 32 30.0580000 0 1G17
+ 42841785.445 5 0.000 1 -65638.948 1 0.00011 2264.242
+ 0.000
+ 01 10 22 18 33 0.0580000 0 1G17
+ 42828852.515 4 0.000 1 -133591.338 1 0.00011 2266.062
+ 0.000
+ 01 10 22 18 33 30.0580000 0 1G17
+ 42815912.524 5 42815925.477 4 -201593.597 4 -37094.303 4 2267.582
+ 1766.949
+ 01 10 22 18 34 30.0580000 0 1G17
+ 42790006.020 5 0.000 1 -34048.969 1 0.00011 2270.229
+ 0.000
+ 01 10 22 18 35 0.0580000 0 1G17
+ 42777041.360 5 0.000 1 -102182.054 1 0.00011 2271.703
+ 0.000
+ 01 10 22 18 35 30.0580000 0 1G17
+ 42764066.053 4 0.000 1 -170356.448 1 0.00011 2273.142
+ 0.000
+ 01 10 22 18 36 0.0580000 0 1G17
+ 42751089.206 5 0.000 1 -238562.709 1 0.00011 2273.928
+ 0.000
+ 01 10 22 18 38 0.0580000 0 1G17
+ 42699106.542 5 0.000 1 -36445.314 1 0.00011 2278.294
+ 0.000
+ 01 10 22 18 38 30.0580000 0 1G17
+ 42686096.715 4 0.000 1 -104807.624 1 0.00011 2279.021
+ 0.000
+ 01 10 22 18 39 0.0580000 0 1G17
+ 42673084.268 5 0.000 1 -173191.760 1 0.00011 2279.880
+ 0.000
+ 01 10 22 18 39 30.0580000 0 1G17
+ 42660069.658 5 0.000 1 -241589.041 1 0.00011 2280.381
+ 0.000
+ 01 10 22 18 40 0.0580000 0 1G17
+ 42647049.274 5 42647053.318 5 -310003.761 5 -26655.479 5 2280.684
+ 1777.150
+ 01 10 22 18 40 30.0580000 0 1G17
+ 42634028.527 5 42634031.868 5 -378432.172 5 -79975.984 5 2281.324
+ 1777.641
+ 01 10 22 18 41 0.0580000 0 1G17
+ 42621003.411 5 42621007.760 4 -446878.574 4 -133310.586 4 2281.880
+ 1778.051
+ 01 10 22 18 41 30.0580000 0 1G17
+ 42607975.460 5 42607984.170 4 -515338.801 4 -186655.941 4 2282.085
+ 1778.282
+ 01 10 22 18 42 0.0580000 0 1G17
+ 42594947.320 5 42594952.946 5 -583804.994 5 -240006.007 5 2282.394
+ 1778.485
+ 01 10 22 18 42 30.0580000 0 1G17
+ 42581915.790 5 42581923.573 5 -652279.624 5 -293362.606 5 2282.453
+ 1778.538
+ 01 10 22 18 43 0.0590000 0 1G17
+ 42568884.958 5 42568892.718 4 -720757.988 4 -346722.067 4 2282.455
+ 1778.509
+ 01 10 22 18 43 30.0590000 0 1G17
+ 42555853.258 5 42555862.354 5 -789236.295 5 -400081.518 5 2282.538
+ 1778.586
+ 01 10 22 18 44 0.0590000 0 1G17
+ 42542821.910 5 42542828.744 4 -857711.233 4 -453438.470 4 2282.337
+ 1778.435
+ 01 10 22 18 44 30.0590000 0 1G17
+ 42529790.883 4 42529797.951 5 -926184.594 5 -506794.185 5 2282.433
+ 1778.505
+ 01 10 22 18 45 0.0590000 0 1G17
+ 42516762.733 5 42516770.470 5 -994651.031 5 -560144.388 5 2281.981
+ 1778.144
+ 01 10 22 18 45 30.0590000 0 1G17
+ 42503737.954 5 42503745.714 5 -1063103.349 5 -613483.572 5 2281.483
+ 1777.760
+ 01 10 22 18 46 0.0590000 0 1G17
+ 42490713.707 5 42490718.829 5 -1131547.146 5 -666816.197 5 2281.182
+ 1777.535
+ 01 10 22 18 46 30.0590000 0 1G17
+ 42477691.992 5 42477698.674 5 -1199977.790 5 -720138.543 5 2280.745
+ 1777.194
+ 01 10 22 18 47 0.0590000 0 1G17
+ 42464671.785 5 42464676.380 5 -1268393.020 5 -773448.867 5 2280.086
+ 1776.685
+ 01 10 22 18 47 30.0590000 0 1G17
+ 42451655.255 5 42451660.682 5 -1336789.733 5 -826744.839 5 2279.412
+ 1776.142
+ 01 10 22 18 48 0.0590000 0 1G17
+ 42438644.870 5 42438650.860 5 -1405162.124 5 -880021.843 5 2278.523
+ 1775.455
+ 01 10 22 18 48 30.0590000 0 1G17
+ 42425638.528 5 42425645.807 5 -1473512.153 5 -933281.351 5 2277.907
+ 1774.993
+ 01 10 22 18 49 0.0590000 0 1G17
+ 42412636.766 5 42412641.443 5 -1541833.703 5 -986518.734 5 2277.247
+ 1774.477
+ 01 10 22 18 49 30.0590000 0 1G17
+ 42399640.022 5 42399648.181 5 -1610133.472 5 -1039739.079 5 2276.118
+ 1773.602
+ 01 10 22 18 50 0.0590000 0 1G17
+ 42386650.416 5 42386658.094 5 -1678396.499 5 -1092930.907 5 2275.012
+ 1772.759
+ 01 10 22 18 50 30.0590000 0 1G17
+ 42373665.591 5 42373671.370 5 -1746629.267 5 -1146099.045 5 2273.968
+ 1771.915
+ 01 10 22 18 51 0.0590000 0 1G17
+ 42360686.986 5 42360694.382 5 -1814829.531 5 -1199241.976 5 2272.835
+ 1771.044
+ 01 10 22 18 51 30.0590000 0 1G17
+ 42347716.468 6 42347722.047 5 -1882993.718 5 -1252356.718 5 2271.763
+ 1770.208
+ 01 10 22 18 52 0.0590000 0 1G17
+ 42334749.821 5 42334753.678 5 -1951129.230 5 -1305449.177 5 2270.524
+ 1769.228
+ 01 10 22 18 52 30.0590000 0 1G17
+ 42321793.252 6 42321800.403 5 -2019221.059 5 -1358507.666 5 2268.774
+ 1767.873
+ 01 10 22 18 53 0.0590000 0 1G17
+ 42308843.302 5 42308849.398 5 -2087267.614 5 -1411530.821 5 2267.555
+ 1766.939
+ 01 10 22 18 53 30.0590000 0 1G17
+ 42295903.061 5 42295907.140 5 -2155272.011 5 -1464521.132 5 2266.056
+ 1765.749
+ 01 10 22 18 54 0.0590000 0 1G17
+ 42282971.994 5 42282979.145 5 -2223224.451 5 -1517471.002 5 2264.460
+ 1764.502
+ 01 10 22 18 54 30.0590000 0 1G17
+ 42270050.215 5 42270053.756 5 -2291128.871 5 -1570383.481 5 2262.650
+ 1763.110
+ 01 10 22 18 55 0.0590000 0 1G17
+ 42257138.464 5 42257144.278 5 -2358975.885 5 -1623251.040 5 2260.832
+ 1761.678
+ 01 10 22 18 55 30.0590000 0 1G17
+ 42244237.804 5 42244243.958 5 -2426772.317 5 -1676079.407 5 2258.781
+ 1760.099
+ 01 10 22 18 56 0.0590000 0 1G17
+ 42231348.299 5 42231356.891 5 -2494505.123 5 -1728857.953 5 2256.708
+ 1758.464
+ 01 10 22 18 56 30.0590000 0 1G17
+ 42218470.092 5 42218474.862 5 -2562177.833 5 -1781589.942 5 2254.733
+ 1756.934
+ 01 10 22 18 57 0.0590000 0 1G17
+ 42205604.855 6 42205611.853 5 -2629789.953 5 -1834274.521 5 2252.848
+ 1755.459
+ 01 10 22 18 57 30.0590000 0 1G17
+ 42192749.361 5 42192752.784 5 -2697338.546 5 -1886909.663 5 2250.186
+ 1753.358
+ 01 10 22 18 58 0.0590000 0 1G17
+ 42179910.758 6 42179915.236 5 -2764810.656 5 -1939485.261 5 2247.943
+ 1751.649
+ 01 10 22 18 58 30.0590000 0 1G17
+ 42167082.421 5 42167089.021 5 -2832218.446 5 -1992010.600 5 2245.794
+ 1749.959
+ 01 10 22 18 59 0.0590000 0 1G17
+ 42154269.110 5 42154276.272 5 -2899555.002 5 -2044480.605 5 2243.185
+ 1747.922
+ 01 10 22 18 59 30.0590000 0 1G17
+ 42141470.002 5 42141474.820 5 -2966816.199 5 -2096891.710 5 2240.596
+ 1745.922
+ 01 10 22 19 0 0.0590000 0 1G17
+ 42128685.681 5 42128693.324 5 -3033993.414 5 -2149237.476 5 2238.158
+ 1744.012
+ 01 10 22 19 0 30.0590000 0 1G17
+ 42115918.544 5 42115923.795 5 -3101087.641 5 -2201518.558 5 2235.244
+ 1741.739
+ 01 10 22 19 1 0.0590000 0 1G17
+ 42103166.703 6 42103173.748 5 -3168100.786 5 -2253736.490 5 2232.304
+ 1739.451
+ 01 10 22 19 1 30.0590000 0 1G17
+ 42090430.226 5 42090436.533 5 -3235025.934 5 -2305885.790 5 2229.448
+ 1737.232
+ 01 10 22 19 2 0.0600000 0 1G17
+ 42077711.458 5 42077719.300 5 -3301865.419 5 -2357968.459 5 2226.542
+ 1734.955
+ 01 10 22 19 2 30.0600000 0 1G17
+ 42065010.591 6 42065015.760 5 -3368612.313 5 -2409978.847 5 2223.331
+ 1732.467
+ 01 10 22 19 3 0.0600000 0 1G17
+ 42052326.058 6 42052331.778 5 -3435264.335 5 -2461915.358 5 2220.037
+ 1729.896
+ 01 10 22 19 3 30.0600000 0 1G17
+ 42039659.871 5 42039665.450 5 -3501821.376 5 -2513777.881 5 2216.825
+ 1727.393
+ 01 10 22 19 4 0.0600000 0 1G17
+ 42027014.727 6 42027021.022 6 -3568279.255 6 -2565563.119 6 2213.645
+ 1724.915
+ 01 10 22 19 4 30.0600000 0 1G17
+ 42014386.308 6 42014391.383 5 -3634640.450 5 -2617273.035 5 2210.406
+ 1722.385
+ 01 10 22 19 5 0.0600000 0 1G17
+ 42001778.956 6 42001784.372 5 -3700888.945 5 -2668895.142 5 2206.749
+ 1719.534
+ 01 10 22 19 5 30.0600000 0 1G17
+ 41989192.709 6 41989197.069 6 -3767032.657 6 -2720435.600 6 2202.921
+ 1716.561
+ 01 10 22 19 6 0.0600000 0 1G17
+ 41976625.550 6 41976631.317 5 -3833072.387 5 -2771894.995 5 2199.511
+ 1713.898
+ 01 10 22 19 6 30.0600000 0 1G17
+ 41964080.549 6 41964086.610 6 -3898999.148 6 -2823266.428 6 2195.894
+ 1711.080
+ 01 10 22 19 7 0.0600000 0 1G17
+ 41951554.942 6 41951561.178 5 -3964818.995 5 -2874554.489 5 2192.194
+ 1708.202
+ 01 10 22 19 7 30.0600000 0 1G17
+ 41939050.516 6 41939055.158 5 -4030529.713 5 -2925757.546 5 2188.456
+ 1705.291
+ 01 10 22 19 8 0.0600000 0 1G17
+ 41926568.701 6 41926576.016 5 -4096119.245 5 -2976866.131 5 2184.120
+ 1701.900
+ 01 10 22 19 8 30.0600000 0 1G17
+ 41914110.869 6 41914117.105 5 -4161588.584 5 -3027881.118 5 2180.263
+ 1698.898
+ 01 10 22 19 9 0.0600000 0 1G17
+ 41901675.506 7 41901680.969 6 -4226935.511 6 -3078800.718 6 2176.211
+ 1695.745
+ 01 10 22 19 9 30.0600000 0 1G17
+ 41889263.328 6 41889269.060 5 -4292159.344 5 -3129624.391 5 2172.046
+ 1692.501
+ 01 10 22 19 10 0.0600000 0 1G17
+ 41876875.910 7 41876880.892 6 -4357257.858 6 -3180350.397 6 2167.697
+ 1689.114
+ 01 10 22 19 10 30.0600000 0 1G17
+ 41864514.054 7 41864520.419 6 -4422219.908 6 -3230970.080 6 2163.175
+ 1685.584
+ 01 10 22 19 11 0.0600000 0 1G17
+ 41852177.866 7 41852184.079 5 -4487044.139 5 -3281482.377 5 2158.437
+ 1681.882
+ 01 10 22 19 11 30.0600000 0 1G17
+ 41839868.369 6 41839874.757 6 -4551732.353 6 -3331888.635 6 2153.936
+ 1678.385
+ 01 10 22 19 12 0.0600000 0 1G17
+ 41827584.823 7 41827589.277 6 -4616279.917 6 -3382185.326 6 2149.174
+ 1674.684
+ 01 10 22 19 12 30.0600000 0 1G17
+ 41815328.829 7 41815333.026 6 -4680688.308 6 -3432373.566 6 2144.565
+ 1671.086
+ 01 10 22 19 13 0.0600000 0 1G17
+ 41803099.857 7 41803104.077 6 -4744952.415 6 -3482449.377 6 2139.746
+ 1667.339
+ 01 10 22 19 13 30.0600000 0 1G17
+ 41790898.523 7 41790902.579 6 -4809069.383 6 -3532410.535 6 2134.729
+ 1663.418
+ 01 10 22 19 14 0.0600000 0 1G17
+ 41778727.230 7 41778732.435 6 -4873032.126 6 -3582251.533 6 2129.511
+ 1659.358
+ 01 10 22 19 14 30.0600000 0 1G17
+ 41766583.635 7 41766587.714 6 -4936844.818 6 -3631975.580 6 2124.687
+ 1655.600
+ 01 10 22 19 15 0.0600000 0 1G17
+ 41754468.283 7 41754472.796 6 -5000510.447 6 -3681585.049 6 2119.560
+ 1651.601
+ 01 10 22 19 15 30.0600000 0 1G17
+ 41742382.713 7 41742386.886 6 -5064019.725 6 -3731072.683 6 2114.288
+ 1647.496
+ 01 10 22 19 16 0.0600000 0 1G17
+ 41730326.864 7 41730331.225 6 -5127373.204 6 -3780438.887 6 2109.163
+ 1643.497
+ 01 10 22 19 16 30.0600000 0 1G17
+ 41718302.393 7 41718307.445 6 -5190559.199 6 -3829674.603 6 2103.535
+ 1639.111
+ 01 10 22 19 17 0.0600000 0 1G17
+ 41706310.803 7 41706316.207 6 -5253577.972 6 -3878780.001 6 2097.838
+ 1634.676
+ 01 10 22 19 17 30.0600000 0 1G17
+ 41694349.838 7 41694354.550 6 -5316430.569 6 -3927755.929 6 2092.322
+ 1630.373
+ 01 10 22 19 18 0.0600000 0 1G17
+ 41682422.776 7 41682427.336 6 -5379110.105 6 -3976597.005 6 2086.299
+ 1625.681
+ 01 10 22 19 18 30.0600000 0 1G17
+ 41670527.526 7 41670531.523 6 -5441619.566 6 -4025305.539 6 2080.717
+ 1621.338
+ 01 10 22 19 19 0.0600000 0 1G17
+ 41658665.564 7 41658668.905 6 -5503952.565 6 -4073876.595 6 2074.480
+ 1616.469
+ 01 10 22 19 19 30.0600000 0 1G17
+ 41646839.964 7 41646844.020 6 -5566096.868 6 -4122300.591 6 2068.484
+ 1611.803
+ 01 10 22 19 20 0.0600000 0 1G17
+ 41635048.233 7 41635053.027 6 -5628060.675 6 -4170583.950 6 2062.277
+ 1606.960
+ 01 10 22 19 20 30.0610000 0 1G17
+ 41623292.761 7 41623297.497 6 -5689836.266 6 -4218720.622 6 2056.050
+ 1602.113
+ 01 10 22 19 21 0.0610000 0 1G17
+ 41611573.359 7 41611577.532 6 -5751423.183 6 -4266710.282 6 2049.392
+ 1596.921
+ 01 10 22 19 21 30.0610000 0 1G17
+ 41599890.361 7 41599894.699 6 -5812814.581 6 -4314547.612 6 2043.211
+ 1592.106
+ 01 10 22 19 22 0.0610000 0 1G17
+ 41588245.174 7 41588250.320 6 -5874008.898 6 -4362231.373 6 2036.543
+ 1586.913
+ 01 10 22 19 22 30.0610000 0 1G17
+ 41576638.505 7 41576642.925 6 -5935002.342 6 -4409758.593 6 2029.663
+ 1581.549
+ 01 10 22 19 23 0.0610000 0 1G17
+ 41565069.358 7 41565073.519 6 -5995799.208 6 -4457132.658 6 2023.400
+ 1576.672
+ 01 10 22 19 23 30.0610000 0 1G17
+ 41553537.340 7 41553541.126 7 -6056400.675 7 -4504354.444 7 2016.492
+ 1571.289
+ 01 10 22 19 24 0.0610000 0 1G17
+ 41542044.246 7 41542047.892 7 -6116796.739 7 -4551416.182 7 2009.828
+ 1566.101
+ 01 10 22 19 24 30.0610000 0 1G17
+ 41530590.781 7 41530595.212 7 -6176984.811 7 -4598315.858 7 2002.725
+ 1560.556
+ 01 10 22 19 25 0.0610000 0 1G17
+ 41519176.762 7 41519181.533 7 -6236966.033 7 -4645054.342 7 1995.779
+ 1555.149
+ 01 10 22 19 25 30.0610000 0 1G17
+ 41507802.136 7 41507806.391 7 -6296736.528 7 -4691628.613 7 1988.640
+ 1549.588
+ 01 10 22 19 26 0.0610000 0 1G17
+ 41496469.296 7 41496473.410 7 -6356289.199 7 -4738033.160 7 1981.700
+ 1544.171
+ 01 10 22 19 26 30.0610000 0 1G17
+ 41485177.581 7 41485182.164 7 -6415628.351 7 -4784271.364 7 1974.042
+ 1538.213
+ 01 10 22 19 27 0.0610000 0 1G17
+ 41473928.383 7 41473932.872 7 -6474744.229 7 -4830335.569 7 1966.916
+ 1532.660
+ 01 10 22 19 27 30.0610000 0 1G17
+ 41462720.787 8 41462724.538 7 -6533639.564 7 -4876227.930 7 1959.530
+ 1526.897
+ 01 10 22 19 28 0.0610000 0 1G17
+ 41451555.931 8 41451559.307 7 -6592310.777 7 -4921945.651 7 1951.712
+ 1520.809
+ 01 10 22 19 28 30.0610000 0 1G17
+ 41440434.996 7 41440439.321 7 -6650752.640 7 -4967484.654 7 1944.208
+ 1514.963
+ 01 10 22 19 29 0.0610000 0 1G17
+ 41429357.555 8 41429361.833 7 -6708963.680 7 -5012843.791 7 1936.620
+ 1509.049
+ 01 10 22 19 29 30.0610000 0 1G17
+ 41418324.884 8 41418328.659 7 -6766940.199 7 -5058020.199 7 1928.516
+ 1502.738
+ 01 10 22 19 30 0.0610000 0 1G17
+ 41407337.630 8 41407341.499 7 -6824678.572 7 -5103011.029 7 1920.983
+ 1496.861
+ 01 10 22 19 30 30.0610000 0 1G17
+ 41396394.737 8 41396398.992 7 -6882183.339 7 -5147819.853 7 1912.873
+ 1490.547
+ 01 10 22 19 31 0.0610000 0 1G17
+ 41385497.618 8 41385501.064 7 -6939448.842 7 -5192442.226 7 1904.849
+ 1484.297
+ 01 10 22 19 31 30.0610000 0 1G17
+ 41374646.747 8 41374650.850 7 -6996468.179 7 -5236872.792 7 1896.744
+ 1477.981
+ 01 10 22 19 32 0.0610000 0 1G17
+ 41363843.159 8 41363847.250 7 -7053240.067 7 -5281110.527 7 1888.221
+ 1471.340
+ 01 10 22 19 32 30.0610000 0 1G17
+ 41353088.837 8 41353092.928 7 -7109756.653 7 -5325149.340 7 1879.837
+ 1464.807
+ 01 10 22 19 33 0.0610000 0 1G17
+ 41342380.853 8 41342384.580 7 -7166026.889 7 -5368996.192 7 1871.827
+ 1458.564
+ 01 10 22 19 33 30.0610000 0 1G17
+ 41331720.017 8 41331723.697 7 -7222049.626 7 -5412650.183 7 1863.243
+ 1451.873
+ 01 10 22 19 34 0.0610000 0 1G17
+ 41321107.819 8 41321111.195 7 -7277815.024 7 -5456103.681 7 1854.460
+ 1445.032
+ 01 10 22 19 34 30.0610000 0 1G17
+ 41310545.753 8 41310549.070 7 -7333320.877 7 -5499354.905 7 1845.588
+ 1438.119
+ 01 10 22 19 35 0.0610000 0 1G17
+ 41300032.883 8 41300036.552 7 -7388566.107 7 -5542403.062 7 1837.138
+ 1431.533
+ 01 10 22 19 35 30.0610000 0 1G17
+ 41289569.183 8 41289573.040 7 -7443550.532 7 -5585247.980 7 1828.091
+ 1424.483
+ 01 10 22 19 36 0.0610000 0 1G17
+ 41279157.556 8 41279160.908 7 -7498265.575 7 -5627883.009 7 1819.399
+ 1417.713
+ 01 10 22 19 36 30.0610000 0 1G17
+ 41268795.292 8 41268799.630 7 -7552718.034 7 -5670313.421 7 1810.669
+ 1410.918
+ 01 10 22 19 37 0.0610000 0 1G17
+ 41258484.676 8 41258489.048 7 -7606901.550 7 -5712534.270 7 1801.404
+ 1403.683
+ 01 10 22 19 37 30.0610000 0 1G17
+ 41248227.078 8 41248231.356 7 -7660804.553 7 -5754536.525 7 1792.332
+ 1396.618
+ 01 10 22 19 38 0.0610000 0 1G17
+ 41238020.625 8 41238024.939 7 -7714438.367 7 -5796329.037 7 1783.255
+ 1389.549
+ 01 10 22 19 38 30.0610000 0 1G17
+ 41227867.542 9 41227871.492 7 -7767794.144 7 -5837904.877 7 1773.686
+ 1382.090
+ 01 10 22 19 39 0.0610000 0 1G17
+ 41217767.475 9 41217770.734 7 -7820871.311 7 -5879263.643 7 1764.487
+ 1374.927
+ 01 10 22 19 39 30.0620000 0 1G17
+ 41207720.800 9 41207724.094 8 -7873667.342 8 -5920403.335 8 1755.043
+ 1367.564
+ 01 10 22 19 40 0.0620000 0 1G17
+ 41197728.176 9 41197731.317 8 -7926177.551 8 -5961320.313 8 1745.795
+ 1360.360
+ 01 10 22 19 40 30.0620000 0 1G17
+ 41187790.360 9 41187793.701 7 -7978399.585 7 -6002012.745 7 1735.777
+ 1352.553
+ 01 10 22 19 41 0.0620000 0 1G17
+ 41177909.071 8 41177913.198 7 -8030326.624 7 -6042475.278 7 1726.145
+ 1345.048
+ 01 10 22 19 41 30.0620000 0 1G17
+ 41168082.195 9 41168086.216 7 -8081965.623 7 -6082713.372 7 1716.398
+ 1337.452
+ 01 10 22 19 42 0.0620000 0 1G17
+ 41158312.453 9 41158316.344 8 -8133304.719 8 -6122717.797 8 1706.622
+ 1329.833
+ 01 10 22 19 42 30.0620000 0 1G17
+ 41148599.666 9 41148603.487 8 -8184347.365 8 -6162491.209 8 1696.571
+ 1322.002
+ 01 10 22 19 43 0.0620000 0 1G17
+ 41138941.758 9 41138945.591 8 -8235100.318 8 -6202038.895 8 1686.844
+ 1314.427
+ 01 10 22 19 43 30.0620000 0 1G17
+ 41129342.169 9 41129346.060 8 -8285547.969 8 -6241348.692 8 1676.503
+ 1306.365
+ 01 10 22 19 44 0.0620000 0 1G17
+ 41119800.750 9 41119804.536 8 -8335686.109 8 -6280417.299 8 1666.145
+ 1298.291
+ 01 10 22 19 44 30.0620000 0 1G17
+ 41110318.684 9 41110321.942 8 -8385513.774 8 -6319243.992 8 1655.835
+ 1290.257
+ 01 10 22 19 45 0.0620000 0 1G17
+ 41100895.397 9 41100898.691 8 -8435034.182 8 -6357831.256 8 1645.380
+ 1282.115
+ 01 10 22 19 45 30.0620000 0 1G17
+ 41091531.698 9 41091535.016 8 -8484241.326 8 -6396174.411 8 1634.877
+ 1273.927
+ 01 10 22 19 46 0.0620000 0 1G17
+ 41082227.672 9 41082230.931 8 -8533133.195 8 -6434271.913 8 1624.802
+ 1266.076
+ 01 10 22 19 46 30.0620000 0 1G17
+ 41072984.586 9 41072987.435 8 -8581707.074 8 -6472121.631 8 1613.621
+ 1257.367
+ 01 10 22 19 47 0.0620000 0 1G17
+ 41063802.827 9 41063806.168 8 -8629956.619 8 -6509718.606 8 1602.903
+ 1249.016
+ 01 10 22 19 47 30.0620000 0 1G17
+ 41054682.724 9 41054685.842 8 -8677883.038 8 -6547063.820 8 1592.038
+ 1240.548
+ 01 10 22 19 48 0.0620000 0 1G17
+ 41045624.284 9 41045627.355 8 -8725484.547 8 -6584155.844 8 1581.395
+ 1232.252
+ 01 10 22 19 48 30.0620000 0 1G17
+ 41036627.479 9 41036630.761 8 -8772762.271 8 -6620995.576 8 1570.420
+ 1223.702
+ 01 10 22 19 49 0.0620000 0 1G17
+ 41027692.693 9 41027695.917 8 -8819714.732 8 -6657581.842 8 1559.519
+ 1215.209
+ 01 10 22 19 49 30.0620000 0 1G17
+ 41018821.180 9 41018824.873 8 -8866333.983 8 -6693908.475 8 1548.448
+ 1206.580
+ 01 10 22 19 50 0.0620000 0 1G17
+ 41010014.188 9 41010017.564 8 -8912614.855 8 -6729971.436 8 1536.909
+ 1197.589
+ 01 10 22 19 50 30.0620000 0 1G17
+ 41001272.363 9 41001275.481 8 -8958554.386 8 -6765768.421 8 1525.669
+ 1188.830
+ 01 10 22 19 51 0.0620000 0 1G17
+ 40992595.970 9 40992599.123 9 -9004150.023 9 -6801297.436 9 1514.105
+ 1179.822
+ 01 10 22 19 51 30.0620000 0 1G17
+ 40983984.465 9 40983987.396 9 -9049401.460 9 -6836558.247 9 1502.821
+ 1171.027
+ 01 10 22 19 52 0.0620000 0 1G17
+ 40975438.970 9 40975441.853 9 -9094309.609 9 -6871551.555 9 1491.008
+ 1161.820
+ 01 10 22 19 52 30.0620000 0 1G17
+ 40966958.841 9 40966962.287 9 -9138871.822 9 -6906275.311 9 1479.443
+ 1152.811
+ 01 10 22 19 53 0.0620000 0 1G17
+ 40958545.494 9 40958548.729 8 -9183083.615 8 -6940726.007 8 1467.940
+ 1143.847
+ 01 10 22 19 53 30.0620000 0 1G17
+ 40950199.269 9 40950202.610 8 -9226943.865 8 -6974902.765 8 1456.159
+ 1134.668
+ 01 10 22 19 54 0.0620000 0 1G17
+ 40941919.379 9 40941922.591 8 -9270453.078 8 -7008805.996 8 1444.183
+ 1125.337
+ 01 10 22 19 54 30.0620000 0 1G17
+ 40933707.377 9 40933710.707 8 -9313608.835 8 -7042433.807 8 1432.539
+ 1116.264
+ 01 10 22 19 55 0.0620000 0 1G17
+ 40925563.172 9 40925565.622 9 -9356407.287 9 -7075783.207 9 1420.982
+ 1107.259
+ 01 10 22 19 55 30.0620000 0 1G17
+ 40917487.711 9 40917490.302 9 -9398842.863 9 -7108849.845 9 1408.377
+ 1097.434
+ 01 10 22 19 56 0.0620000 0 1G17
+ 40909483.698 9 40909486.547 9 -9440904.583 9 -7141625.168 9 1395.885
+ 1087.702
+ 01 10 22 19 56 30.0620000 0 1G17
+ 40901549.391 9 40901552.099 9 -9482599.167 9 -7174114.401 9 1383.650
+ 1078.169
+ 01 10 22 19 57 0.0620000 0 1G17
+ 40893684.995 9 40893687.761 9 -9523925.957 9 -7206317.049 9 1371.294
+ 1068.541
+ 01 10 22 19 57 30.0620000 0 1G17
+ 40885891.374 9 40885893.894 9 -9564882.048 9 -7238230.840 9 1359.281
+ 1059.181
+ 01 10 22 19 58 0.0620000 0 1G17
+ 40878167.395 9 40878169.950 9 -9605472.742 9 -7269859.910 9 1346.777
+ 1049.437
+ 01 10 22 19 58 30.0630000 0 1G17
+ 40870513.539 9 40870515.907 9 -9645692.873 9 -7301200.230 9 1334.350
+ 1039.753
+ 01 10 22 19 59 0.0630000 0 1G17
+ 40862931.883 9 40862934.497 9 -9685534.085 9 -7332245.295 9 1321.703
+ 1029.899
+ 01 10 22 19 59 30.0630000 0 1G17
+ 40855422.643 9 40855425.491 9 -9724995.857 9 -7362994.689 9 1309.103
+ 1020.081
+ 01 10 22 20 0 0.0630000 0 1G17
+ 40847986.089 9 40847989.512 9 -9764074.675 9 -7393445.676 9 1296.127
+ 1009.969
+ 01 10 22 20 0 30.0630000 0 1G17
+ 40840623.652 9 40840627.203 9 -9802764.829 9 -7423593.801 9 1283.359
+ 1000.020
+ 01 10 22 20 1 0.0630000 0 1G17
+ 40833333.773 9 40833337.383 9 -9841071.917 9 -7453443.427 9 1270.308
+ 989.851
+ 01 10 22 20 1 30.0630000 0 1G17
+ 40826119.146 9 40826122.534 9 -9878986.353 9 -7482987.107 9 1257.159
+ 979.604
+ 01 10 22 20 2 0.0630000 0 1G17
+ 40818978.391 9 40818981.439 9 -9916510.162 9 -7512226.394 9 1244.208
+ 969.509
+ 01 10 22 20 2 30.0630000 0 1G17
+ 40811912.706 9 40811915.589 9 -9953640.393 9 -7541159.003 9 1230.909
+ 959.151
+ 01 10 22 20 3 0.0630000 0 1G17
+ 40804922.540 9 40804925.224 9 -9990374.945 9 -7569783.280 9 1217.919
+ 949.029
+ 01 10 22 20 3 30.0630000 0 1G17
+ 40798007.974 9 40798010.154 9 -10026711.952 9 -7598097.808 9 1204.735
+ 938.752
+ 01 10 22 20 4 0.0630000 0 1G17
+ 40791168.167 9 40791171.145 9 -10062653.012 9 -7626103.794 9 1191.296
+ 928.280
+ 01 10 22 20 4 30.0630000 0 1G17
+ 40784405.502 9 40784408.714 9 -10098190.798 9 -7653795.535 9 1177.744
+ 917.720
+ 01 10 22 20 5 0.0630000 0 1G17
+ 40777719.870 9 40777723.106 9 -10133324.307 9 -7681172.246 9 1164.318
+ 907.260
+ 01 10 22 20 5 30.0630000 0 1G17
+ 40771112.222 9 40771115.727 9 -10168048.575 9 -7708230.084 9 1150.769
+ 896.701
+ 01 10 22 20 6 0.0630000 0 1G17
+ 40764581.767 9 40764584.639 9 -10202366.166 9 -7734971.030 9 1136.983
+ 885.959
+ 01 10 22 20 6 30.0630000 0 1G17
+ 40758129.983 9 40758133.172 9 -10236269.701 9 -7761389.328 9 1123.194
+ 875.216
+ 01 10 22 20 7 0.0630000 0 1G17
+ 40751756.332 9 40751759.743 9 -10269763.936 9 -7787488.692 9 1109.725
+ 864.719
+ 01 10 22 20 7 30.0630000 0 1G17
+ 40745460.018 9 40745463.031 9 -10302850.159 9 -7813270.128 9 1095.918
+ 853.961
+ 01 10 22 20 8 0.0630000 0 1G17
+ 40739243.910 9 40739246.993 9 -10335515.196 9 -7838723.368 9 1081.793
+ 842.955
+ 01 10 22 20 8 30.0630000 0 1G17
+ 40733108.651 9 40733111.628 9 -10367757.560 9 -7863847.258 9 1067.436
+ 831.768
+ 01 10 22 20 9 0.0630000 0 1G17
+ 40727053.913 9 40727056.785 9 -10399574.039 9 -7888639.294 9 1053.765
+ 821.116
+ 01 10 22 20 9 30.0630000 0 1G17
+ 40721078.819 9 40721081.210 9 -10430974.138 9 -7913106.867 9 1039.711
+ 810.163
+ 01 10 22 20 10 0.0630000 0 1G17
+ 40715185.158 9 40715187.549 9 -10461946.542 9 -7937241.189 9 1025.392
+ 799.007
+ 01 10 22 20 10 30.0630000 0 1G17
+ 40709371.769 9 40709374.734 9 -10492496.217 9 -7961046.098 9 1011.146
+ 787.905
+ 01 10 22 20 11 0.0630000 0 1G17
+ 40703638.772 9 40703641.562 9 -10522620.841 9 -7984519.802 9 997.117
+ 776.972
+ 01 10 22 20 11 30.0630000 0 1G17
+ 40697987.614 9 40697990.509 9 -10552318.718 9 -8007660.981 9 982.884
+ 765.882
+ 01 10 22 20 12 0.0630000 0 1G17
+ 40692418.555 9 40692421.157 9 -10581584.761 9 -8030465.664 9 968.205
+ 754.446
+ 01 10 22 20 12 30.0630000 0 1G17
+ 40686931.873 9 40686934.616 9 -10610417.661 9 -8052932.830 9 953.781
+ 743.206
+ 01 10 22 20 13 0.0630000 0 1G17
+ 40681527.750 9 40681530.270 9 -10638816.778 9 -8075061.991 9 939.505
+ 732.081
+ 01 10 22 20 13 30.0630000 0 1G17
+ 40676206.064 9 40676208.584 9 -10666782.934 9 -8096853.779 9 924.945
+ 720.736
+ 01 10 22 20 14 0.0630000 0 1G17
+ 40670967.869 9 40670970.261 9 -10694309.088 9 -8118302.710 9 910.186
+ 709.235
+ 01 10 22 20 14 30.0630000 0 1G17
+ 40665814.049 9 40665816.652 9 -10721392.030 9 -8139406.283 9 895.416
+ 697.727
+ 01 10 22 20 15 0.0630000 0 1G17
+ 40660743.705 9 40660746.460 9 -10748037.229 9 -8160168.767 9 880.891
+ 686.407
+ 01 10 22 20 15 30.0630000 0 1G17
+ 40655756.444 9 40655759.316 9 -10774244.421 9 -8180589.926 9 866.234
+ 674.985
+ 01 10 22 20 16 0.0630000 0 1G17
+ 40650854.230 9 40650856.679 9 -10800007.038 9 -8200664.673 9 851.243
+ 663.305
+ 01 10 22 20 16 30.0630000 0 1G17
+ 40646036.674 9 40646038.808 9 -10825323.568 9 -8220391.821 9 836.438
+ 651.769
+ 01 10 22 20 17 0.0630000 0 1G17
+ 40641303.976 9 40641305.899 9 -10850194.592 9 -8239771.839 9 821.444
+ 640.085
+ 01 10 22 20 17 30.0640000 0 1G17
+ 40636655.762 9 40636658.270 9 -10874619.389 9 -8258804.137 9 806.600
+ 628.519
+ 01 10 22 20 18 0.0640000 0 1G17
+ 40632094.476 9 40632096.808 9 -10898588.798 9 -8277481.586 9 791.354
+ 616.638
+ 01 10 22 20 18 30.0640000 0 1G17
+ 40627620.732 9 40627623.229 9 -10922099.185 9 -8295801.356 9 776.193
+ 604.827
+ 01 10 22 20 19 0.0640000 0 1G17
+ 40623234.235 9 40623236.720 9 -10945149.917 9 -8313762.949 9 760.835
+ 592.858
+ 01 10 22 20 19 30.0640000 0 1G17
+ 40618934.305 9 40618936.942 9 -10967747.526 9 -8331371.469 9 745.735
+ 581.092
+ 01 10 22 20 20 0.0640000 0 1G17
+ 40614720.390 9 40614723.110 9 -10989890.454 9 -8348625.688 9 730.511
+ 569.230
+ 01 10 22 20 20 30.0640000 0 1G17
+ 40610593.876 9 40610596.396 9 -11011574.212 9 -8365522.117 9 715.138
+ 557.249
+ 01 10 22 20 21 0.0640000 0 1G17
+ 40606555.946 9 40606558.513 9 -11032794.423 9 -8382057.343 9 699.669
+ 545.194
+ 01 10 22 20 21 30.0640000 0 1G17
+ 40602605.426 9 40602608.450 9 -11053554.759 9 -8398234.216 9 684.336
+ 533.249
+ 01 10 22 20 22 0.0640000 0 1G17
+ 40598742.898 9 40598745.665 9 -11073851.830 9 -8414050.104 9 668.708
+ 521.071
+ 01 10 22 20 22 30.0640000 0 1G17
+ 40594969.929 9 40594972.191 9 -11093679.221 9 -8429500.020 9 653.106
+ 508.914
+ 01 10 22 20 23 0.0640000 0 1G17
+ 40591285.869 9 40591288.190 9 -11113040.247 9 -8444586.531 9 637.577
+ 496.814
+ 01 10 22 20 23 30.0640000 0 1G17
+ 40587690.961 9 40587693.634 9 -11131930.283 9 -8459306.040 9 622.181
+ 484.815
+ 01 10 22 20 24 0.0640000 0 1G17
+ 40584185.829 9 40584188.701 9 -11150350.584 9 -8473659.511 9 606.232
+ 472.389
+ 01 10 22 20 24 30.0640000 0 1G17
+ 40580769.629 9 40580772.465 9 -11168301.632 9 -8487647.338 9 590.373
+ 460.031
+ 01 10 22 20 25 0.0640000 0 1G17
+ 40577444.509 9 40577447.112 9 -11185776.548 9 -8501264.159 9 574.773
+ 447.873
+ 01 10 22 20 25 30.0640000 0 1G17
+ 40574208.815 9 40574211.476 9 -11202778.773 9 -8514512.648 9 558.589
+ 435.262
+ 01 10 22 20 26 0.0640000 0 1G17
+ 40571064.710 9 40571067.406 9 -11219301.782 9 -8527387.721 9 542.747
+ 422.920
+ 01 10 22 20 26 30.0640000 0 1G17
+ 40568011.135 9 40568013.937 9 -11235348.471 9 -8539891.642 9 526.808
+ 410.500
+ 01 10 22 20 27 0.0640000 0 1G17
+ 40565048.735 9 40565051.619 9 -11250915.573 9 -8552021.854 9 511.062
+ 398.230
+ 01 10 22 20 27 30.0640000 0 1G17
+ 40562177.539 9 40562180.352 9 -11266005.250 9 -8563780.052 9 494.968
+ 385.689
+ 01 10 22 20 28 0.0640000 0 1G17
+ 40559398.510 9 40559401.170 9 -11280608.458 9 -8575159.179 9 478.532
+ 372.883
+ 01 10 22 20 28 30.0640000 0 1G17
+ 40556711.465 9 40556714.313 9 -11294729.163 9 -8586162.330 9 462.451
+ 360.351
+ 01 10 22 20 29 0.0640000 0 1G17
+ 40554118.008 9 40554121.009 9 -11308358.159 9 -8596782.332 9 446.084
+ 347.599
+ 01 10 22 20 29 30.0640000 0 1G17
+ 40551617.429 9 40551620.066 9 -11321499.134 9 -8607022.063 9 429.887
+ 334.977
+ 01 10 22 20 30 0.0640000 0 1G17
+ 40549208.633 9 40549211.177 9 -11334157.572 9 -8616885.789 9 413.827
+ 322.464
+ 01 10 22 20 30 30.0640000 0 1G17
+ 40546892.873 9 40546895.311 9 -11346326.062 9 -8626367.734 9 397.407
+ 309.667
+ 01 10 22 20 31 0.0640000 0 1G17
+ 40544672.454 9 40544674.693 9 -11357995.666 9 -8635460.931 9 380.620
+ 296.587
+ 01 10 22 20 31 30.0640000 0 1G17
+ 40542547.370 9 40542549.620 9 -11369164.000 9 -8644163.538 9 364.084
+ 283.700
+ 01 10 22 20 32 0.0640000 0 1G17
+ 40540516.757 9 40540519.172 9 -11379833.515 9 -8652477.447 9 347.352
+ 270.663
+ 01 10 22 20 32 30.0640000 0 1G17
+ 40538580.947 9 40538583.561 9 -11390006.768 9 -8660404.666 9 330.888
+ 257.835
+ 01 10 22 20 33 0.0640000 0 1G17
+ 40536739.239 9 40536741.888 9 -11399684.925 9 -8667946.093 9 314.270
+ 244.886
+ 01 10 22 20 33 30.0640000 0 1G17
+ 40534992.372 9 40534994.997 9 -11408864.285 9 -8675098.848 9 297.563
+ 231.867
+ 01 10 22 20 34 0.0640000 0 1G17
+ 40533339.770 9 40533342.173 9 -11417549.576 9 -8681866.603 9 281.145
+ 219.074
+ 01 10 22 20 34 30.0640000 0 1G17
+ 40531782.651 9 40531785.265 9 -11425731.384 9 -8688242.033 9 264.362
+ 205.996
+ 01 10 22 20 35 0.0640000 0 1G17
+ 40530321.325 9 40530323.974 9 -11433411.092 9 -8694226.221 9 247.710
+ 193.021
+ 01 10 22 20 35 30.0640000 0 1G17
+ 40528955.112 9 40528957.902 9 -11440588.997 9 -8699819.394 9 230.900
+ 179.922
+ 01 10 22 20 36 0.0640000 0 1G17
+ 40527685.458 9 40527688.330 9 -11447261.722 9 -8705018.908 9 213.897
+ 166.672
+ 01 10 22 20 36 30.0650000 0 1G17
+ 40526512.530 9 40526515.214 9 -11453425.872 9 -8709822.129 9 197.112
+ 153.592
+ 01 10 22 20 37 0.0650000 0 1G17
+ 40525436.025 9 40525438.603 9 -11459082.546 9 -8714229.910 9 179.798
+ 140.101
+ 01 10 22 20 37 30.0650000 0 1G17
+ 40524458.016 9 40524460.548 9 -11464223.115 9 -8718235.530 9 162.845
+ 126.892
+ 01 10 22 20 38 0.0650000 0 1G17
+ 40523577.224 9 40523579.569 9 -11468852.167 9 -8721842.568 9 145.585
+ 113.442
+ 01 10 22 20 38 30.0650000 0 1G17
+ 40522793.898 9 40522796.266 9 -11472968.335 9 -8725049.946 9 128.753
+ 100.327
+ 01 10 22 20 39 0.0650000 0 1G17
+ 40522107.698 9 40522110.101 9 -11476572.895 9 -8727858.669 9 111.344
+ 86.760
+ 01 10 22 20 39 30.0650000 0 1G17
+ 40521519.317 9 40521521.966 9 -11479665.801 9 -8730268.692 9 94.782
+ 73.857
+ 01 10 22 20 40 0.0650000 0 1G17
+ 40521027.563 9 40521030.306 9 -11482249.160 9 -8732281.668 9 77.383
+ 60.300
+ 01 10 22 20 40 30.0650000 0 1G17
+ 40520634.526 9 40520637.082 9 -11484314.372 9 -8733890.884 9 60.131
+ 46.855
+ 01 10 22 20 41 0.0650000 0 1G17
+ 40520339.796 9 40520342.105 9 -11485861.756 9 -8735096.600 9 42.722
+ 33.288
+ 01 10 22 20 41 30.0650000 0 1G17
+ 40520144.588 9 40520146.980 9 -11486888.421 9 -8735896.561 9 25.529
+ 19.891
+ 01 10 22 20 42 0.0650000 0 1G17
+ 40520047.765 9 40520050.485 9 -11487396.515 9 -8736292.436 9 8.457
+ 6.589
+ 01 10 22 20 42 30.0650000 0 1G17
+ 40520049.825 9 40520052.580 9 -11487385.599 9 -8736283.888 9 -9.076
+ -7.075
+ 01 10 22 20 43 0.0650000 0 1G17
+ 40520151.394 9 40520154.336 9 -11486850.011 9 -8735866.496 9 -26.681
+ -20.792
+ 01 10 22 20 43 30.0650000 0 1G17
+ 40520352.109 9 40520354.758 9 -11485795.369 9 -8735044.651 9 -43.802
+ -34.134
+ 01 10 22 20 44 0.0650000 0 1G17
+ 40520652.072 9 40520654.558 9 -11484219.568 9 -8733816.706 9 -61.215
+ -47.701
+ 01 10 22 20 44 30.0650000 0 1G17
+ 40521052.321 9 40521054.748 9 -11482116.441 9 -8732177.862 9 -79.096
+ -61.635
+ 01 10 22 20 45 0.0650000 0 1G17
+ 40521553.319 9 40521555.745 9 -11479483.561 9 -8730126.221 9 -96.739
+ -75.383
+ 01 10 22 20 45 30.0650000 0 1G17
+ 40522155.335 9 40522157.610 9 -11476321.191 9 -8727661.990 9 -113.991
+ -88.825
+ 01 10 22 20 46 0.0650000 0 1G17
+ 40522856.643 9 40522858.905 9 -11472635.373 9 -8724789.890 9 -131.813
+ -102.712
+ 01 10 22 20 46 30.0650000 0 1G17
+ 40523658.927 9 40523661.237 9 -11468419.470 9 -8721504.733 9 -149.368
+ -116.392
+ 01 10 22 20 47 0.0650000 0 1G17
+ 40524561.262 9 40524563.513 9 -11463676.762 9 -8717809.081 9 -166.870
+ -130.029
+ 01 10 22 20 47 30.0650000 0 1G17
+ 40525564.512 9 40525566.775 9 -11458404.795 9 -8713701.020 9 -184.512
+ -143.776
+ 01 10 22 20 48 0.0650000 0 1G17
+ 40526668.127 9 40526670.131 9 -11452604.664 9 -8709181.403 9 -202.334
+ -157.664
+ 01 10 22 20 48 30.0650000 0 1G17
+ 40527872.333 9 40527874.408 9 -11446277.630 9 -8704251.201 9 -219.468
+ -171.015
+ 01 10 22 20 49 0.0650000 0 1G17
+ 40529178.116 9 40529180.167 9 -11439415.632 9 -8698904.131 9 -237.708
+ -185.228
+ 01 10 22 20 49 30.0650000 0 1G17
+ 40530584.390 9 40530586.430 9 -11432024.011 9 -8693144.370 9 -255.185
+ -198.848
+ 01 10 22 20 50 0.0650000 0 1G17
+ 40532092.946 9 40532095.209 9 -11424096.599 9 -8686967.127 9 -273.266
+ -212.935
+ 01 10 22 20 50 30.0650000 0 1G17
+ 40533702.709 9 40533704.960 9 -11415635.813 9 -8680374.267 9 -290.818
+ -226.612
+ 01 10 22 20 51 0.0650000 0 1G17
+ 40535414.813 9 40535417.357 9 -11406638.834 9 -8673363.589 9 -308.726
+ -240.568
+ 01 10 22 20 51 30.0650000 0 1G17
+ 40537227.815 9 40537230.593 9 -11397110.388 9 -8665938.791 9 -326.274
+ -254.241
+ 01 10 22 20 52 0.0650000 0 1G17
+ 40539142.179 9 40539144.875 9 -11387050.842 9 -8658100.146 9 -344.071
+ -268.108
+ 01 10 22 20 52 30.0650000 0 1G17
+ 40541158.253 9 40541160.562 9 -11376456.590 9 -8649844.854 9 -361.923
+ -282.019
+ 01 10 22 20 53 0.0650000 0 1G17
+ 40543276.006 9 40543278.081 9 -11365328.310 9 -8641173.440 9 -379.956
+ -296.072
+ 01 10 22 20 53 30.0650000 0 1G17
+ 40545495.618 9 40545497.517 9 -11353664.755 9 -8632084.926 9 -397.762
+ -309.944
+ 01 10 22 20 54 0.0650000 0 1G17
+ 40547817.789 9 40547819.477 9 -11341461.766 9 -8622576.085 9 -415.905
+ -324.082
+ 01 10 22 20 54 30.0650000 0 1G17
+ 40550242.435 9 40550244.064 9 -11328720.559 9 -8612647.864 9 -433.436
+ -337.743
+ 01 10 22 20 55 0.0650000 0 1G17
+ 40552767.808 9 40552769.203 9 -11315450.038 9 -8602307.183 9 -451.394
+ -351.737
+ 01 10 22 20 55 30.0660000 0 1G17
+ 40555395.641 9 40555397.189 9 -11301641.499 9 -8591547.271 9 -469.393
+ -365.762
+ 01 10 22 20 56 0.0660000 0 1G17
+ 40558127.001 9 40558128.689 9 -11287287.791 9 -8580362.538 9 -487.323
+ -379.732
+ 01 10 22 20 56 30.0660000 0 1G17
+ 40560960.721 9 40560962.514 9 -11272395.403 9 -8568758.061 9 -505.516
+ -393.909
+ 01 10 22 20 57 0.0660000 0 1G17
+ 40563898.700 9 40563900.540 9 -11256955.240 9 -8556726.745 9 -523.505
+ -407.928
+ 01 10 22 20 57 30.0660000 0 1G17
+ 40566938.199 9 40566940.286 9 -11240983.154 9 -8544280.943 9 -541.427
+ -421.892
+ 01 10 22 20 58 0.0660000 0 1G17
+ 40570080.762 9 40570082.895 9 -11224468.618 9 -8531412.451 9 -559.638
+ -436.082
+ 01 10 22 20 58 30.0660000 0 1G17
+ 40573326.755 9 40573328.983 9 -11207411.035 9 -8518120.808 9 -577.546
+ -450.037
+ 01 10 22 20 59 0.0660000 0 1G17
+ 40576675.318 9 40576677.733 9 -11189813.703 9 -8504408.577 9 -595.652
+ -464.145
+ 01 10 22 20 59 30.0660000 0 1G17
+ 40580127.906 9 40580130.543 9 -11171669.905 9 -8490270.537 9 -614.029
+ -478.466
+ 01 10 22 21 0 0.0660000 0 1G17
+ 40583683.222 9 40583685.989 9 -11152985.832 9 -8475711.495 9 -631.796
+ -492.310
+ 01 10 22 21 0 30.0660000 0 1G17
+ 40587341.005 9 40587343.795 9 -11133763.171 9 -8460732.777 9 -649.816
+ -506.351
+ 01 10 22 21 1 0.0660000 0 1G17
+ 40591102.538 9 40591105.398 9 -11113995.930 9 -8445329.708 9 -668.027
+ -520.541
+ 01 10 22 21 1 30.0660000 0 1G17
+ 40594967.713 9 40594970.409 9 -11093683.869 9 -8429502.105 9 -686.054
+ -534.589
+ 01 10 22 21 2 0.0660000 0 1G17
+ 40598936.732 9 40598939.042 9 -11072827.590 9 -8413250.442 9 -704.683
+ -549.105
+ 01 10 22 21 2 30.0660000 0 1G17
+ 40603008.225 9 40603010.335 9 -11051430.714 9 -8396577.534 9 -722.329
+ -562.853
+ 01 10 22 21 3 0.0660000 0 1G17
+ 40607183.734 9 40607185.715 9 -11029489.196 9 -8379480.235 9 -740.560
+ -577.060
+ 01 10 22 21 3 30.0660000 0 1G17
+ 40611463.412 9 40611465.252 9 -11006999.983 9 -8361956.158 9 -759.212
+ -591.594
+ 01 10 22 21 4 0.0660000 0 1G17
+ 40615847.288 9 40615849.234 9 -10983962.347 9 -8344004.741 9 -776.958
+ -605.422
+ 01 10 22 21 4 30.0660000 0 1G17
+ 40620333.971 9 40620335.928 9 -10960385.064 9 -8325632.817 9 -795.068
+ -619.534
+ 01 10 22 21 5 0.0660000 0 1G17
+ 40624925.053 9 40624926.952 9 -10936258.867 9 -8306833.168 9 -813.234
+ -633.689
+ 01 10 22 21 5 30.0660000 0 1G17
+ 40629619.698 9 40629621.668 9 -10911587.727 9 -8287608.889 9 -831.534
+ -647.949
+ 01 10 22 21 6 0.0660000 0 1G17
+ 40634417.963 9 40634419.979 9 -10886373.234 9 -8267961.211 9 -849.563
+ -661.998
+ 01 10 22 21 6 30.0660000 0 1G17
+ 40639319.842 9 40639322.081 9 -10860612.765 9 -8247888.106 9 -867.880
+ -676.271
+ 01 10 22 21 7 0.0660000 0 1G17
+ 40644325.888 9 40644328.174 9 -10834305.241 9 -8227388.731 9 -885.952
+ -690.351
+ 01 10 22 21 7 30.0660000 0 1G17
+ 40649435.925 9 40649438.258 9 -10807452.264 9 -8206464.319 9 -904.227
+ -704.595
+ 01 10 22 21 8 0.0660000 0 1G17
+ 40654649.288 9 40654651.597 9 -10780055.724 9 -8185116.352 9 -922.290
+ -718.668
+ 01 10 22 21 8 30.0660000 0 1G17
+ 40659967.834 9 40659970.213 9 -10752107.278 9 -8163338.339 9 -940.556
+ -732.901
+ 01 10 22 21 9 0.0660000 0 1G17
+ 40665389.036 9 40665391.451 9 -10723617.467 9 -8141138.471 9 -958.722
+ -747.055
+ 01 10 22 21 9 30.0660000 0 1G17
+ 40670915.296 9 40670917.699 9 -10694576.881 9 -8118509.437 9 -977.363
+ -761.583
+ 01 10 22 21 10 0.0660000 0 1G17
+ 40676546.046 9 40676548.589 9 -10664986.848 9 -8095452.257 9 -995.505
+ -775.718
+ 01 10 22 21 10 30.0660000 0 1G17
+ 40682281.348 9 40682283.845 9 -10634848.603 9 -8071967.907 9 -1013.715
+ -789.909
+ 01 10 22 21 11 0.0660000 0 1G17
+ 40688119.918 9 40688122.356 9 -10604165.754 9 -8048059.180 9 -1031.819
+ -804.015
+ 01 10 22 21 11 30.0660000 0 1G17
+ 40694063.833 9 40694066.084 9 -10572930.823 9 -8023720.263 9 -1050.070
+ -818.238
+ 01 10 22 21 12 0.0660000 0 1G17
+ 40700110.869 9 40700113.120 9 -10541153.267 9 -7998958.529 9 -1068.473
+ -832.577
+ 01 10 22 21 12 30.0660000 0 1G17
+ 40706262.901 9 40706265.175 9 -10508824.079 9 -7973766.939 9 -1086.733
+ -846.805
+ 01 10 22 21 13 0.0660000 0 1G17
+ 40712519.477 9 40712521.916 9 -10475944.899 9 -7948146.787 9 -1105.062
+ -861.088
+ 01 10 22 21 13 30.0660000 0 1G17
+ 40718880.077 9 40718882.609 9 -10442520.017 9 -7922101.407 9 -1123.510
+ -875.463
+ 01 10 22 21 14 0.0660000 0 1G17
+ 40725345.553 9 40725347.898 9 -10408544.328 9 -7895626.834 9 -1141.636
+ -889.587
+ 01 10 22 21 14 30.0670000 0 1G17
+ 40731914.952 9 40731917.215 9 -10374021.293 9 -7868725.757 9 -1159.782
+ -903.727
+ 01 10 22 21 15 0.0670000 0 1G17
+ 40738588.566 9 40738590.840 9 -10338951.025 9 -7841398.262 9 -1178.159
+ -918.045
+ 01 10 22 21 15 30.0670000 0 1G17
+ 40745365.663 9 40745368.054 9 -10303337.247 9 -7813647.267 9 -1195.956
+ -931.912
+ 01 10 22 21 16 0.0670000 0 1G17
+ 40752246.327 9 40752248.683 9 -10267179.129 9 -7785472.098 9 -1214.491
+ -946.357
+ 01 10 22 21 16 30.0670000 0 1G17
+ 40759231.395 9 40759233.775 9 -10230472.194 9 -7756869.279 9 -1232.743
+ -960.581
+ 01 10 22 21 17 0.0670000 0 1G17
+ 40766320.834 9 40766323.214 9 -10193217.819 9 -7727839.895 9 -1251.037
+ -974.833
+ 01 10 22 21 17 30.0670000 0 1G17
+ 40773514.375 9 40773516.731 9 -10155414.873 9 -7698383.045 9 -1269.383
+ -989.130
+ 01 10 22 21 18 0.0670000 0 1G17
+ 40780813.449 9 40780815.887 9 -10117057.774 9 -7668494.386 9 -1287.672
+ -1003.382
+ 01 10 22 21 18 30.0670000 0 1G17
+ 40788215.964 9 40788218.215 9 -10078157.682 9 -7638182.619 9 -1305.607
+ -1017.358
+ 01 10 22 21 19 0.0670000 0 1G17
+ 40795722.512 9 40795724.540 9 -10038710.799 9 -7607444.773 9 -1323.795
+ -1031.529
+ 01 10 22 21 19 30.0670000 0 1G17
+ 40803332.407 9 40803334.481 9 -9998720.363 9 -7576283.386 9 -1342.196
+ -1045.869
+ 01 10 22 21 20 0.0670000 0 1G17
+ 40811046.161 9 40811048.014 9 -9958185.000 9 -7544697.377 9 -1360.372
+ -1060.029
+ 01 10 22 21 20 30.0670000 0 1G17
+ 40818864.120 9 40818866.089 9 -9917101.436 9 -7512684.205 9 -1378.828
+ -1074.410
+ 01 10 22 21 21 0.0670000 0 1G17
+ 40826785.555 9 40826787.407 9 -9875473.255 9 -7480246.673 9 -1396.578
+ -1088.241
+ 01 10 22 21 21 30.0670000 0 1G17
+ 40834811.703 9 40834813.625 9 -9833296.501 9 -7447381.661 9 -1414.975
+ -1102.578
+ 01 10 22 21 22 0.0670000 0 1G17
+ 40842938.958 9 40842940.787 9 -9790586.670 9 -7414101.265 9 -1432.591
+ -1116.305
+ 01 10 22 21 22 30.0670000 0 1G17
+ 40851169.771 9 40851171.565 9 -9747333.772 9 -7380397.708 9 -1451.068
+ -1130.702
+ 01 10 22 21 23 0.0670000 0 1G17
+ 40859504.066 9 40859505.883 9 -9703535.630 9 -7346269.272 9 -1468.848
+ -1144.556
+ 01 10 22 21 23 30.0670000 0 1G17
+ 40867942.093 9 40867943.898 9 -9659193.359 9 -7311716.863 9 -1487.030
+ -1158.723
+ 01 10 22 21 24 0.0670000 0 1G17
+ 40876482.818 9 40876484.717 9 -9614312.674 9 -7276744.899 9 -1505.067
+ -1172.779
+ 01 10 22 21 24 30.0670000 0 1G17
+ 40885126.546 9 40885128.339 9 -9568889.105 9 -7241349.924 9 -1523.166
+ -1186.881
+ 01 10 22 21 25 0.0670000 0 1G17
+ 40893873.010 9 40893874.956 9 -9522926.172 9 -7205534.640 9 -1541.293
+ -1201.010
+ 01 10 22 21 25 30.0670000 0 1G17
+ 40902722.429 9 40902724.340 9 -9476422.208 9 -7169297.783 9 -1559.004
+ -1214.808
+ 01 10 22 21 26 0.0670000 0 1G17
+ 40911672.912 9 40911674.846 9 -9429385.976 9 -7132646.144 9 -1576.786
+ -1228.665
+ 01 10 22 21 26 30.0670000 0 1G17
+ 40920726.246 9 40920728.426 9 -9381810.036 9 -7095573.969 9 -1594.747
+ -1242.660
+ 01 10 22 21 27 0.0670000 0 1G17
+ 40929883.537 9 40929885.811 9 -9333688.136 9 -7058076.391 9 -1612.987
+ -1256.875
+ 01 10 22 21 27 30.0670000 0 1G17
+ 40939142.062 9 40939144.313 9 -9285034.492 9 -7020164.449 9 -1630.773
+ -1270.731
+ 01 10 22 21 28 0.0670000 0 1G17
+ 40948503.482 9 40948505.685 9 -9235839.574 9 -6981830.749 9 -1648.608
+ -1284.630
+ 01 10 22 21 28 30.0670000 0 1G17
+ 40957966.889 9 40957969.058 9 -9186110.329 9 -6943080.687 9 -1666.448
+ -1298.531
+ 01 10 22 21 29 0.0670000 0 1G17
+ 40967531.195 9 40967533.141 9 -9135848.935 9 -6903915.966 9 -1684.526
+ -1312.618
+ 01 10 22 21 29 30.0670000 0 1G17
+ 40977198.319 9 40977200.312 9 -9085047.013 9 -6864330.044 9 -1702.063
+ -1326.282
+ 01 10 22 21 30 0.0670000 0 1G17
+ 40986966.160 9 40986968.082 9 -9033716.733 9 -6824332.426 9 -1719.977
+ -1340.242
+ 01 10 22 21 30 30.0670000 0 1G17
+ 40996835.012 9 40996836.875 9 -8981856.064 9 -6783921.555 9 -1737.437
+ -1353.846
+ 01 10 22 21 31 0.0670000 0 1G17
+ 41006803.953 9 41006805.641 9 -8929470.315 9 -6743101.475 9 -1754.909
+ -1367.462
+ 01 10 22 21 31 30.0670000 0 1G17
+ 41016874.659 9 41016876.487 9 -8876547.582 9 -6701862.993 9 -1773.054
+ -1381.600
+ 01 10 22 21 32 0.0670000 0 1G17
+ 41027047.527 9 41027049.274 9 -8823088.485 9 -6660206.567 9 -1790.900
+ -1395.507
+ 01 10 22 21 32 30.0670000 0 1G17
+ 41037321.333 9 41037323.314 9 -8769099.316 9 -6618137.082 9 -1808.447
+ -1409.180
+ 01 10 22 21 33 0.0670000 0 1G17
+ 41047696.189 9 41047698.240 9 -8714579.386 9 -6575654.018 9 -1826.040
+ -1422.887
+ 01 10 22 21 33 30.0680000 0 1G17
+ 41058172.004 9 41058173.985 9 -8659528.435 9 -6532757.164 9 -1843.700
+ -1436.649
+ 01 10 22 21 34 0.0680000 0 1G17
+ 41068747.275 9 41068749.432 9 -8603955.806 9 -6489453.818 9 -1860.952
+ -1450.093
+ 01 10 22 21 34 30.0680000 0 1G17
+ 41079421.910 9 41079424.078 9 -8547859.097 9 -6445742.097 9 -1878.656
+ -1463.886
+ 01 10 22 21 35 0.0680000 0 1G17
+ 41090197.222 9 41090199.449 9 -8491234.511 9 -6401619.041 9 -1896.105
+ -1477.484
+ 01 10 22 21 35 30.0680000 0 1G17
+ 41101072.434 9 41101074.720 9 -8434084.701 9 -6357086.729 9 -1914.058
+ -1491.474
+ 01 10 22 21 36 0.0680000 0 1G17
+ 41112047.701 9 41112049.916 9 -8376409.608 9 -6312145.091 9 -1931.102
+ -1504.753
+ 01 10 22 21 36 30.0680000 0 1G17
+ 41123122.771 9 41123125.022 9 -8318208.639 9 -6266793.697 9 -1948.956
+ -1518.666
+ 01 10 22 21 37 0.0680000 0 1G17
+ 41134298.206 9 41134300.621 9 -8259480.972 9 -6221031.882 9 -1966.424
+ -1532.279
+ 01 10 22 21 37 30.0680000 0 1G17
+ 41145571.952 9 41145574.308 9 -8200237.922 9 -6174868.452 9 -1983.161
+ -1545.321
+ 01 10 22 21 38 0.0680000 0 1G17
+ 41156943.024 9 41156945.403 9 -8140482.440 9 -6128305.737 9 -2000.663
+ -1558.958
+ 01 10 22 21 38 30.0680000 0 1G17
+ 41168414.246 9 41168416.508 9 -8080200.706 9 -6081332.942 9 -2018.087
+ -1572.536
+ 01 10 22 21 39 0.0680000 0 1G17
+ 41179984.154 9 41179986.417 9 -8019399.505 9 -6033955.366 9 -2035.213
+ -1585.881
+ 01 10 22 21 39 30.0680000 0 1G17
+ 41191651.032 9 41191653.189 9 -7958088.635 9 -5986180.658 9 -2052.179
+ -1599.102
+ 01 10 22 21 40 0.0680000 0 1G17
+ 41203415.535 9 41203417.692 9 -7896266.486 9 -5938007.529 9 -2069.358
+ -1612.489
+ 01 10 22 21 40 30.0680000 0 1G17
+ 41215278.060 9 41215280.380 9 -7833928.708 9 -5889432.619 9 -2086.566
+ -1625.895
+ 01 10 22 21 41 0.0680000 0 1G17
+ 41227239.135 9 41227241.526 9 -7771072.604 9 -5840453.811 9 -2103.896
+ -1639.400
+ 01 10 22 21 41 30.0680000 0 1G17
+ 41239298.660 9 41239300.887 9 -7707699.355 9 -5791072.067 9 -2120.687
+ -1652.481
+ 01 10 22 21 42 0.0680000 0 1G17
+ 41251455.059 9 41251457.415 9 -7643817.834 9 -5741294.257 9 -2137.903
+ -1665.898
+ 01 10 22 21 42 30.0680000 0 1G17
+ 41263709.582 9 41263711.809 9 -7579420.381 9 -5691114.451 9 -2154.969
+ -1679.196
+ 01 10 22 21 43 0.0680000 0 1G17
+ 41276060.986 9 41276063.249 9 -7514513.376 9 -5640537.560 9 -2172.100
+ -1692.545
+ 01 10 22 21 43 30.0680000 0 1G17
+ 41288508.705 9 41288510.967 9 -7449100.498 9 -5589566.488 9 -2189.275
+ -1705.927
+ 01 10 22 21 44 0.0680000 0 1G17
+ 41301052.582 9 41301054.774 9 -7383182.042 9 -5538201.462 9 -2205.550
+ -1718.611
+ 01 10 22 21 44 30.0680000 0 1G17
+ 41313692.308 9 41313694.265 9 -7316760.099 9 -5486444.114 9 -2222.489
+ -1731.811
+ 01 10 22 21 45 0.0680000 0 1G17
+ 41326428.370 9 41326430.422 9 -7249831.812 9 -5434292.214 9 -2239.390
+ -1744.979
+ 01 10 22 21 45 30.0680000 0 1G17
+ 41339259.773 9 41339261.836 9 -7182402.177 9 -5381749.634 9 -2255.886
+ -1757.832
+ 01 10 22 21 46 0.0680000 0 1G17
+ 41352185.000 9 41352186.898 9 -7114479.698 9 -5328823.024 9 -2272.290
+ -1770.616
+ 01 10 22 21 46 30.0680000 0 1G17
+ 41365205.749 9 41365207.859 9 -7046054.549 9 -5275504.706 9 -2289.207
+ -1783.798
+ 01 10 22 21 47 0.0680000 0 1G17
+ 41378321.119 9 41378323.146 9 -6977132.286 9 -5221799.056 9 -2305.593
+ -1796.565
+ 01 10 22 21 47 30.0680000 0 1G17
+ 41391531.522 9 41391533.515 9 -6907711.894 9 -5167705.223 9 -2322.318
+ -1809.600
+ 01 10 22 21 48 0.0680000 0 1G17
+ 41404835.745 9 41404837.855 9 -6837798.052 9 -5113226.918 9 -2338.667
+ -1822.338
+ 01 10 22 21 48 30.0680000 0 1G17
+ 41418234.612 9 41418236.745 9 -6767385.515 9 -5058360.015 9 -2355.330
+ -1835.322
+ 01 10 22 21 49 0.0680000 0 1G17
+ 41431727.775 9 41431729.909 9 -6696479.953 9 -5003108.925 9 -2371.528
+ -1847.943
+ 01 10 22 21 49 30.0680000 0 1G17
+ 41445314.616 9 41445316.644 9 -6625080.717 9 -4947473.187 9 -2388.025
+ -1860.797
+ 01 10 22 21 50 0.0680000 0 1G17
+ 41458994.147 9 41458995.906 9 -6553194.531 9 -4891458.010 9 -2404.201
+ -1873.403
+ 01 10 22 21 50 30.0680000 0 1G17
+ 41472766.970 9 41472768.658 9 -6480818.118 9 -4835060.823 9 -2420.598
+ -1886.181
+ 01 10 22 21 51 0.0680000 0 1G17
+ 41486632.092 9 41486633.780 9 -6407955.635 9 -4778284.856 9 -2436.968
+ -1898.935
+ 01 10 22 21 51 30.0680000 0 1G17
+ 41500590.038 9 41500591.702 9 -6334606.848 9 -4721129.988 9 -2453.338
+ -1911.692
+ 01 10 22 21 52 0.0680000 0 1G17
+ 41514640.400 9 41514642.311 9 -6260771.070 9 -4663595.633 9 -2469.368
+ -1924.183
+ 01 10 22 21 52 30.0690000 0 1G17
+ 41528783.843 9 41528786.035 9 -6186446.571 9 -4605680.463 9 -2485.519
+ -1936.766
+ 01 10 22 21 53 0.0690000 0 1G17
+ 41543018.273 9 41543020.910 9 -6111642.526 9 -4547391.609 9 -2501.510
+ -1949.228
+ 01 10 22 21 53 30.0690000 0 1G17
+ 41557343.475 9 41557346.475 9 -6036362.590 9 -4488731.934 9 -2517.469
+ -1961.664
+ 01 10 22 21 54 0.0690000 0 1G17
+ 41571761.460 9 41571764.507 9 -5960596.633 9 -4429693.532 9 -2533.720
+ -1974.328
+ 01 10 22 21 54 30.0690000 0 1G17
+ 41586269.356 9 41586272.298 9 -5884356.687 9 -4370285.812 9 -2549.127
+ -1986.332
+ 01 10 22 21 55 0.0690000 0 1G17
+ 41600868.697 9 41600871.581 9 -5807637.620 9 -4310504.714 9 -2565.271
+ -1998.912
+ 01 10 22 21 55 30.0690000 0 1G17
+ 41615557.585 9 41615560.222 9 -5730447.453 9 -4250356.530 9 -2581.075
+ -2011.227
+ 01 10 22 21 56 0.0690000 0 1G17
+ 41630336.578 9 41630338.724 9 -5652783.905 9 -4189839.486 9 -2596.637
+ -2023.354
+ 01 10 22 21 56 30.0690000 0 1G17
+ 41645205.477 9 41645207.470 9 -5574647.735 9 -4128954.181 9 -2612.568
+ -2035.766
+ 01 10 22 21 57 0.0690000 0 1G17
+ 41660164.172 9 41660166.024 9 -5496038.808 9 -4067700.483 9 -2628.263
+ -2047.997
+ 01 10 22 21 57 30.0690000 0 1G17
+ 41675211.359 9 41675213.152 9 -5416965.397 9 -4006084.864 9 -2643.610
+ -2059.956
+ 01 10 22 21 58 0.0690000 0 1G17
+ 41690348.543 9 41690350.512 9 -5337418.468 9 -3944100.245 9 -2659.165
+ -2072.075
+ 01 10 22 21 58 30.0690000 0 1G17
+ 41705573.054 9 41705575.317 9 -5257412.809 9 -3881758.191 9 -2674.669
+ -2084.157
+ 01 10 22 21 59 0.0690000 0 1G17
+ 41720885.471 9 41720888.167 9 -5176945.073 9 -3819056.094 9 -2690.006
+ -2096.108
+ 01 10 22 21 59 30.0690000 0 1G17
+ 41736286.821 9 41736289.353 9 -5096010.197 9 -3755989.975 9 -2705.845
+ -2108.450
+ 01 10 22 22 0 0.0690000 0 1G17
+ 41751777.229 9 41751779.796 9 -5014608.750 9 -3692560.276 9 -2721.155
+ -2120.379
+ 01 10 22 22 0 30.0690000 0 1G17
+ 41767355.365 9 41767357.827 9 -4932744.743 9 -3628770.139 9 -2736.653
+ -2132.456
+ 01 10 22 22 1 0.0690000 0 1G17
+ 41783021.992 9 41783024.114 9 -4850416.879 9 -3564618.565 9 -2751.954
+ -2144.381
+ 01 10 22 22 1 30.0690000 0 1G17
+ 41798775.803 9 41798778.101 9 -4767629.014 9 -3500108.516 9 -2767.093
+ -2156.176
+ 01 10 22 22 2 0.0690000 0 1G17
+ 41814615.971 9 41814618.280 9 -4684389.182 9 -3435246.336 9 -2782.403
+ -2168.105
+ 01 10 22 22 2 30.0690000 0 1G17
+ 41830541.153 9 41830543.592 9 -4600701.804 9 -3370035.406 9 -2797.118
+ -2179.573
+ 01 10 22 22 3 0.0690000 0 1G17
+ 41846552.116 9 41846554.319 9 -4516563.028 9 -3304472.717 9 -2812.126
+ -2191.270
+ 01 10 22 22 3 30.0690000 0 1G17
+ 41862649.040 9 41862651.314 9 -4431974.827 9 -3238559.828 9 -2827.104
+ -2202.940
+ 01 10 22 22 4 0.0690000 0 1G17
+ 41878830.710 9 41878832.844 9 -4346938.688 9 -3172297.877 9 -2841.819
+ -2214.405
+ 01 10 22 22 4 30.0690000 0 1G17
+ 41895097.524 9 41895099.528 9 -4261456.743 9 -3105688.575 9 -2857.020
+ -2226.249
+ 01 10 22 22 5 0.0690000 0 1G17
+ 41911449.520 9 41911451.443 9 -4175525.193 9 -3038728.934 9 -2871.691
+ -2237.681
+ 01 10 22 22 5 30.0690000 0 1G17
+ 41927886.610 9 41927888.520 9 -4089147.728 9 -2971421.826 9 -2886.776
+ -2249.436
+ 01 10 22 22 6 0.0690000 0 1G17
+ 41944410.108 9 41944412.488 9 -4002315.746 9 -2903760.547 9 -2901.835
+ -2261.170
+ 01 10 22 22 6 30.0690000 0 1G17
+ 41961016.948 9 41961019.339 9 -3915046.296 9 -2835758.357 9 -2916.218
+ -2272.376
+ 01 10 22 22 7 0.0690000 0 1G17
+ 41977707.717 9 41977709.992 9 -3827336.378 9 -2767412.977 9 -2930.986
+ -2283.886
+ 01 10 22 22 7 30.0690000 0 1G17
+ 41994482.570 9 41994484.833 9 -3739184.715 9 -2698723.396 9 -2945.646
+ -2295.308
+ 01 10 22 22 8 0.0690000 0 1G17
+ 42011338.769 9 42011340.656 9 -3650604.125 9 -2629699.553 9 -2959.960
+ -2306.460
+ 01 10 22 22 8 30.0690000 0 1G17
+ 42028278.744 9 42028280.373 9 -3561584.892 9 -2560333.956 9 -2974.473
+ -2317.766
+ 01 10 22 22 9 0.0690000 0 1G17
+ 42045299.960 9 42045301.695 9 -3472136.713 9 -2490634.106 9 -2988.771
+ -2328.913
+ 01 10 22 22 9 30.0690000 0 1G17
+ 42062403.705 9 42062405.745 9 -3382255.902 9 -2420597.131 9 -3003.181
+ -2340.141
+ 01 10 22 22 10 0.0690000 0 1G17
+ 42079588.695 9 42079590.559 9 -3291948.977 9 -2350228.147 9 -3017.436
+ -2351.248
+ 01 10 22 22 10 30.0690000 0 1G17
+ 42096854.988 9 42096857.180 9 -3201214.945 9 -2279526.383 9 -3031.425
+ -2362.148
+ 01 10 22 22 11 0.0690000 0 1G17
+ 42114201.977 9 42114203.747 9 -3110055.644 9 -2208493.161 9 -3045.638
+ -2373.221
+ 01 10 22 22 11 30.0700000 0 1G17
+ 42131630.353 9 42131632.311 9 -3018468.774 9 -2137126.851 9 -3059.684
+ -2384.169
+ 01 10 22 22 12 0.0700000 0 1G17
+ 42149138.574 9 42149140.695 9 -2926461.853 9 -2065433.156 9 -3074.144
+ -2395.436
+ 01 10 22 22 12 30.0700000 0 1G17
+ 42166728.137 9 42166730.482 9 -2834028.350 9 -1993407.049 9 -3088.216
+ -2406.405
+ 01 10 22 22 13 0.0700000 0 1G17
+ 42184398.276 9 42184400.703 9 -2741171.765 9 -1921051.252 9 -3102.091
+ -2417.217
+ 01 10 22 22 13 30.0700000 0 1G17
+ 42202146.571 9 42202149.291 9 -2647903.484 9 -1848374.664 9 -3115.917
+ -2427.985
+ 01 10 22 22 14 0.0700000 0 1G17
+ 42219974.227 9 42219976.794 9 -2554218.148 9 -1775373.143 9 -3129.682
+ -2438.716
+ 01 10 22 22 14 30.0700000 0 1G17
+ 42237880.990 9 42237883.299 9 -2460117.020 9 -1702047.587 9 -3143.666
+ -2449.608
+ 01 10 22 22 15 0.0700000 0 1G17
+ 42255866.813 9 42255868.981 9 -2365602.569 9 -1628399.947 9 -3157.092
+ -2460.073
+ 01 10 22 22 15 30.0700000 0 1G17
+ 42273929.162 9 42273930.979 9 -2270683.891 9 -1554437.282 9 -3170.885
+ -2470.822
+ 01 10 22 22 16 0.0700000 0 1G17
+ 42292069.874 9 42292071.527 9 -2175353.571 9 -1480153.896 9 -3184.329
+ -2481.297
+ 01 10 22 22 16 30.0700000 0 1G17
+ 42310287.978 9 42310289.924 9 -2079617.390 9 -1405554.233 9 -3198.184
+ -2492.090
+ 01 10 22 22 17 0.0700000 0 1G17
+ 42328583.759 9 42328585.705 9 -1983471.393 9 -1330635.308 9 -3211.648
+ -2502.585
+ 01 10 22 22 17 30.0700000 0 1G17
+ 42346957.525 9 42346960.010 9 -1886916.117 9 -1255397.464 9 -3225.100
+ -2513.068
+ 01 10 22 22 18 0.0700000 0 1G17
+ 42365406.909 9 42365409.875 9 -1789962.381 9 -1179848.962 9 -3238.481
+ -2523.493
+ 01 10 22 22 18 30.0700000 0 1G17
+ 42383932.930 9 42383935.638 9 -1692607.787 9 -1103988.251 9 -3251.865
+ -2533.919
+ 01 10 22 22 19 0.0700000 0 1G17
+ 42402535.938 9 42402538.857 9 -1594849.788 9 -1027813.164 9 -3265.194
+ -2544.307
+ 01 10 22 22 19 30.0700000 0 1G17
+ 42421213.875 9 42421216.360 9 -1496697.409 9 -951330.858 9 -3278.268
+ -2554.492
+ 01 10 22 22 20 0.0700000 0 1G17
+ 42439966.631 9 42439968.835 9 -1398151.404 9 -874541.829 9 -3291.380
+ -2564.710
+ 01 10 22 22 20 30.0700000 0 1G17
+ 42458793.383 9 42458795.633 9 -1299214.874 9 -797448.381 9 -3304.391
+ -2574.852
+ 01 10 22 22 21 0.0700000 0 1G17
+ 42477696.138 9 42477698.447 9 -1199880.810 9 -720045.142 9 -3317.579
+ -2585.129
+ 01 10 22 22 21 30.0700000 0 1G17
+ 42496673.119 9 42496675.299 9 -1100154.938 9 -642336.636 9 -3330.548
+ -2595.230
+ 01 10 22 22 22 0.0700000 0 1G17
+ 42515723.930 9 42515726.310 9 -1000043.689 9 -564327.882 9 -3343.548
+ -2605.361
+ 01 10 22 22 22 30.0700000 0 1G17
+ 42534847.891 9 42534850.258 9 -899544.851 9 -486017.102 9 -3356.481
+ -2615.440
+ 01 10 22 22 23 0.0700000 0 1G17
+ 42554046.397 9 42554048.519 9 -798657.277 9 -407403.373 9 -3369.266
+ -2625.405
+ 01 10 22 22 23 30.0700000 0 1G17
+ 42573315.682 9 42573317.991 9 -697395.831 9 -328498.397 9 -3381.530
+ -2634.957
+ 01 10 22 22 24 0.0700000 0 1G17
+ 42592657.149 9 42592659.412 9 -595756.177 9 -249298.645 9 -3394.196
+ -2644.827
+ 01 10 22 22 24 30.0700000 0 1G17
+ 42612070.714 9 42612073.105 9 -493737.571 9 -169803.614 9 -3406.893
+ -2654.723
+ 01 10 22 22 25 0.0700000 0 1G17
+ 42631556.176 9 42631558.567 9 -391339.642 9 -90012.980 9 -3419.656
+ -2664.667
+ 01 10 22 22 25 30.0700000 0 1G17
+ 42651113.774 9 42651116.248 9 -288565.332 9 -9929.105 9 -3432.058
+ -2674.334
+ 01 10 22 22 26 0.0700000 0 1G17
+ 42670741.500 9 42670743.657 9 -185420.219 9 70443.883 9 -3444.272
+ -2683.849
+ 01 10 22 22 26 30.0700000 0 1G17
+ 42690440.598 9 42690442.825 9 -81899.385 9 151109.509 9 -3456.865
+ -2693.662
+ 01 10 22 22 27 0.0700000 0 1G17
+ 42710209.945 9 42710212.008 9 21989.758 9 232062.031 9 -3468.996
+ -2703.110
+ 01 10 22 22 27 30.0700000 0 1G17
+ 42730049.331 9 42730051.453 9 126246.708 9 313301.254 9 -3481.408
+ -2712.790
+ 01 10 22 22 28 0.0700000 0 1G17
+ 42749958.768 9 42749960.702 9 230870.198 9 394826.097 9 -3493.645
+ -2722.322
+ 01 10 22 22 28 30.0700000 0 1G17
+ 42769937.873 9 42769939.596 9 335860.387 9 476636.645 9 -3505.715
+ -2731.724
+ 01 10 22 22 29 0.0700000 0 1G17
+ 42789986.344 9 42789987.892 9 441216.180 9 558732.081 9 -3517.860
+ -2741.190
+ 01 10 22 22 29 30.0700000 0 1G17
+ 42810102.230 9 42810103.625 9 546926.510 9 641103.730 9 -3529.654
+ -2750.385
+ 01 10 22 22 30 0.0700000 0 1G17
+ 42830286.804 9 42830288.469 9 652996.905 9 723755.991 9 -3541.439
+ -2759.565
+ 01 10 22 22 30 30.0710000 0 1G17
+ 42850538.910 9 42850540.903 9 759422.959 9 806685.418 9 -3553.316
+ -2768.818
+ 01 10 22 22 31 0.0710000 0 1G17
+ 42870857.863 9 42870860.207 9 866200.071 9 889888.321 9 -3565.056
+ -2777.965
+ 01 10 22 22 31 30.0710000 0 1G17
+ 42891244.077 9 42891246.257 9 973330.104 9 973366.255 9 -3577.070
+ -2787.325
+ 01 10 22 22 32 0.0710000 0 1G17
+ 42911697.494 9 42911699.639 9 1080812.865 9 1057119.059 9 -3588.502
+ -2796.237
+ 01 10 22 22 32 30.0710000 0 1G17
+ 42932216.472 9 42932218.031 9 1188640.172 9 1141140.377 9 -3599.778
+ -2805.025
+ 01 10 22 22 33 0.0710000 0 1G17
+ 42952800.957 9 42952802.621 9 1296812.965 9 1225430.875 9 -3611.740
+ -2814.344
+ 01 10 22 22 33 30.0710000 0 1G17
+ 42973450.091 9 42973452.048 9 1405325.064 9 1309985.703 9 -3622.801
+ -2822.959
+ 01 10 22 22 34 0.0710000 0 1G17
+ 42994165.795 9 42994168.046 9 1514186.769 9 1394812.958 9 -3634.250
+ -2831.875
+ 01 10 22 22 34 30.0710000 0 1G17
+ 43014945.474 9 43014947.713 9 1623385.094 9 1479902.551 9 -3645.746
+ -2840.843
+ 01 10 22 22 35 0.0710000 0 1G17
+ 43035790.002 9 43035791.959 9 1732924.845 9 1565258.186 9 -3657.016
+ -2849.625
+ 01 10 22 22 35 30.0710000 0 1G17
+ 43056698.637 9 43056700.876 9 1842800.482 9 1650875.535 9 -3667.917
+ -2858.117
+ 01 10 22 22 36 0.0710000 0 1G17
+ 43077672.986 9 43077675.026 9 1953019.681 9 1736760.620 9 -3679.901
+ -2867.454
+ 01 10 22 22 36 30.0710000 0 1G17
+ 43098710.382 9 43098712.691 9 2063573.745 9 1822906.562 9 -3690.799
+ -2875.947
+ 01 10 22 22 37 0.0710000 0 1G17
+ 43119810.336 9 43119812.587 9 2174453.409 9 1909306.287 9 -3701.641
+ -2884.395
+ 01 10 22 22 37 30.0710000 0 1G17
+ 43140972.885 9 43140975.511 9 2285664.657 9 1995964.404 9 -3712.514
+ -2892.867
+ 01 10 22 22 38 0.0710000 0 1G17
+ 43162198.522 9 43162200.773 9 2397206.445 9 2082880.096 9 -3723.635
+ -2901.534
+ 01 10 22 22 38 30.0710000 0 1G17
+ 43183487.548 9 43183490.069 9 2509079.171 9 2170053.610 9 -3734.660
+ -2910.092
+ 01 10 22 22 39 0.0710000 0 1G17
+ 43204838.048 9 0.000 1 2621276.885 1 0.00011 -3745.425
+ 0.000
+ 01 10 22 22 39 30.0710000 0 1G17
+ 43226251.382 9 43226253.808 9 2733804.373 9 0.00019 -3756.084
+ -2926.824
+ 01 10 22 22 40 0.0710000 0 1G17
+ 43247725.280 9 43247727.765 9 2846651.060 9 87928.726 9 -3766.802
+ -2935.172
+ 01 10 22 22 40 30.0710000 0 1G17
+ 43269259.625 9 43269261.688 9 2959814.755 9 176108.154 9 -3777.301
+ -2943.351
+ 01 10 22 22 41 0.0710000 0 1G17
+ 43290853.062 9 43290855.383 9 3073287.694 9 264528.585 9 -3787.915
+ -2951.624
+ 01 10 22 22 41 30.0710000 0 1G17
+ 43312507.358 9 43312509.632 9 3187081.970 9 353199.416 9 -3798.366
+ -2959.765
+ 01 10 22 22 42 0.0710000 0 1G17
+ 43334220.747 9 43334222.775 9 3301186.933 9 442112.353 9 -3808.717
+ -2967.830
+ 01 10 22 22 42 30.0710000 0 1G17
+ 43355993.474 9 43355995.525 9 3415602.941 9 531267.636 9 -3819.115
+ -2975.935
+ 01 10 22 22 43 0.0710000 0 1G17
+ 43377824.679 9 43377826.953 9 3530326.563 9 620662.701 9 -3829.215
+ -2983.806
+ 01 10 22 22 43 30.0710000 0 1G17
+ 43399713.740 9 43399716.108 8 3645355.245 8 710295.438 8 -3839.452
+ -2991.782
+ 01 10 22 22 44 0.0710000 0 1G17
+ 43421661.747 9 43421664.056 8 3760693.211 8 800169.218 8 -3849.863
+ -2999.891
+ 01 10 22 22 44 30.0710000 0 1G17
+ 43443668.305 9 43443670.884 8 3876335.749 8 890280.286 8 -3859.975
+ -3007.768
+ 01 10 22 22 45 0.0710000 0 1G17
+ 43465730.599 9 43465732.662 8 3992276.817 8 980623.958 8 -3869.687
+ -3015.339
+ 01 10 22 22 45 30.0710000 0 1G17
+ 43487850.504 9 43487852.978 8 4108517.064 8 1071200.774 8 -3879.659
+ -3023.110
+ 01 10 22 22 46 0.0710000 0 1G17
+ 43510025.754 9 43510027.911 8 4225048.705 8 1162004.632 8 -3889.147
+ -3030.501
+ 01 10 22 22 46 30.0710000 0 1G17
+ 43532256.605 9 43532258.668 8 4341872.603 8 1253036.184 8 -3899.058
+ -3038.223
+ 01 10 22 22 47 0.0710000 0 1G17
+ 43554543.413 9 43554546.602 8 4458991.617 8 1344297.732 8 -3909.183
+ -3046.117
+ 01 10 22 22 47 30.0710000 0 1G17
+ 43576886.911 9 43576889.924 8 4576407.385 8 1435790.529 8 -3918.727
+ -3053.555
+ 01 10 22 22 48 0.0710000 0 1G17
+ 43599285.479 9 43599288.316 8 4694111.367 8 1527507.879 8 -3928.338
+ -3061.043
+ 01 10 22 22 48 30.0710000 0 1G17
+ 43621739.185 9 43621741.987 8 4812106.869 8 1619452.424 8 -3937.980
+ -3068.553
+ 01 10 22 22 49 0.0710000 0 1G17
+ 43644247.434 9 43644249.872 8 4930387.930 8 1711619.502 8 -3947.354
+ -3075.861
+ 01 10 22 22 49 30.0720000 0 1G17
+ 43666809.542 9 43666811.324 8 5048951.962 8 1804007.037 8 -3956.626
+ -3083.088
+ 01 10 22 22 50 0.0720000 0 1G17
+ 43689424.433 9 43689427.317 8 5167794.107 8 1896611.292 8 -3965.877
+ -3090.294
+ 01 10 22 22 50 30.0720000 0 1G17
+ 43712092.704 9 43712095.529 8 5286916.372 8 1989433.821 8 -3975.531
+ -3097.814
+ 01 10 22 22 51 0.0720000 0 1G17
+ 43734814.729 9 43734817.014 8 5406321.689 8 2082476.932 8 -3984.880
+ -3105.102
+ 01 10 22 22 51 30.0720000 0 1G17
+ 43757588.582 9 43757590.774 8 5525998.860 8 2175731.877 8 -3993.868
+ -3112.105
+ 01 10 22 22 52 0.0720000 0 1G17
+ 43780415.936 9 43780418.093 8 5645957.767 8 2269206.326 8 -4003.150
+ -3119.332
+ 01 10 22 22 52 30.0720000 0 1G17
+ 43803294.972 9 43803297.422 8 5766187.042 8 2362891.420 8 -4012.228
+ -3126.409
+ 01 10 22 22 53 0.0720000 0 1G17
+ 43826225.695 9 43826228.286 8 5886688.741 8 2456788.781 8 -4021.085
+ -3133.309
+ 01 10 22 22 53 30.0720000 0 1G17
+ 43849206.895 9 43849209.849 8 6007457.027 8 2550893.887 8 -4029.784
+ -3140.085
+ 01 10 22 22 54 0.0720000 0 1G17
+ 43872239.055 9 43872241.634 8 6128489.341 8 2645204.754 8 -4038.672
+ -3147.018
+ 01 10 22 22 54 30.0720000 0 1G17
+ 43895320.828 9 43895323.185 8 6249786.116 8 2739721.722 8 -4047.860
+ -3154.178
+ 01 10 22 22 55 0.0720000 0 1G17
+ 43918452.536 9 43918455.455 8 6371345.187 8 2834443.125 8 -4056.354
+ -3160.793
+ 01 10 22 22 55 30.0720000 0 1G17
+ 43941633.223 9 43941636.154 8 6493160.450 8 2929364.062 8 -4065.022
+ -3167.553
+ 01 10 22 22 56 0.0720000 0 1G17
+ 43964863.674 8 43964866.499 8 6615237.153 8 3024488.842 8 -4073.872
+ -3174.451
+ 01 10 22 22 56 30.0720000 0 1G17
+ 43988142.618 8 43988145.537 8 6737568.659 8 3119812.098 8 -4082.033
+ -3180.809
+ 01 10 22 22 57 0.0720000 0 1G17
+ 44011470.412 8 44011472.533 7 6860157.881 7 3215336.133 7 -4090.522
+ -3187.417
+ 01 10 22 22 57 30.0720000 0 1G17
+ 44034846.787 9 44034848.709 7 6982999.579 7 3311056.923 7 -4098.943
+ -3193.985
+ 01 10 22 22 58 0.0720000 0 1G17
+ 44058270.801 9 44058272.535 8 7106092.014 8 3406973.089 8 -4107.083
+ -3200.323
+ 01 10 22 22 58 30.0720000 0 1G17
+ 44081742.385 9 44081744.682 8 7229436.848 8 3503085.966 8 -4115.714
+ -3207.046
+ 01 10 22 22 59 0.0720000 0 1G17
+ 44105260.668 9 44105262.661 7 7353028.206 7 3599390.914 7 -4123.785
+ -3213.338
+ 01 10 22 22 59 30.0720000 0 1G17
+ 44128825.755 8 44128827.842 7 7476864.281 7 3695886.509 7 -4131.780
+ -3219.565
+ 01 10 22 23 0 0.0720000 0 1G17
+ 44152437.895 8 44152440.298 7 7600946.737 7 3792574.074 7 -4140.047
+ -3226.006
+ 01 10 22 23 0 30.0720000 0 1G17
+ 44176094.940 8 44176097.226 7 7725262.792 7 3889443.648 7 -4147.966
+ -3232.178
+ 01 10 22 23 1 0.0720000 0 1G17
+ 44199796.681 9 44199799.624 7 7849816.464 7 3986498.414 7 -4155.541
+ -3238.079
+ 01 10 22 23 1 30.0720000 0 1G17
+ 44223543.134 8 44223546.170 7 7974604.207 7 4083735.606 7 -4163.837
+ -3244.545
+ 01 10 22 23 2 0.0720000 0 1G17
+ 44247335.482 8 44247337.733 7 8099633.196 7 4181160.800 7 -4171.597
+ -3250.596
+ 01 10 22 23 2 30.0720000 0 1G17
+ 44271171.979 9 44271173.514 7 8224896.689 7 4278768.798 7 -4179.121
+ -3256.460
+ 01 10 22 23 3 0.0720000 0 1G17
+ 44295052.368 9 44295054.032 7 8350389.468 7 4376555.414 7 -4187.203
+ -3262.760
+ 01 10 22 23 3 30.0720000 0 1G17
+ 44318977.876 8 44318980.068 7 8476119.005 7 4474526.489 7 -4194.688
+ -3268.583
+ 01 10 22 23 4 0.0720000 0 1G17
+ 44342947.106 7 44342950.353 7 8602077.715 7 4572676.128 7 -4202.265
+ -3274.490
+ 01 10 22 23 4 30.0720000 0 1G17
+ 44366960.013 8 44366963.119 7 8728266.665 7 4671005.195 7 -4210.110
+ -3280.604
+ 01 10 22 23 5 0.0720000 0 1G17
+ 44391014.031 8 44391016.680 7 8854671.102 7 4769502.106 7 -4216.973
+ -3285.953
+ 01 10 22 23 5 30.0720000 0 1G17
+ 44415110.649 8 44415112.735 7 8981296.985 7 4868171.586 7 -4224.606
+ -3291.902
+ 01 10 22 23 6 0.0720000 0 1G17
+ 44439249.891 8 44439251.684 7 9108148.354 7 4967016.735 7 -4232.162
+ -3297.786
+ 01 10 22 23 6 30.0720000 0 1G17
+ 44463430.307 7 44463432.229 7 9235217.561 7 5066031.663 7 -4239.110
+ -3303.198
+ 01 10 22 23 7 0.0720000 0 1G17
+ 44487650.960 7 44487653.163 7 9362501.521 7 5165213.975 7 -4246.270
+ -3308.779
+ 01 10 22 23 7 30.0720000 0 1G17
+ 44511912.958 7 44511915.396 7 9489997.887 7 5264561.750 7 -4253.333
+ -3314.281
+ 01 10 22 23 8 0.0720000 0 1G17
+ 44536215.732 7 44536218.287 7 9617710.203 7 5364077.757 7 -4260.728
+ -3320.050
+ 01 10 22 23 8 30.0730000 0 1G17
+ 44560560.209 7 44560562.612 7 9745640.336 7 5463763.595 7 -4267.929
+ -3325.660
+ 01 10 22 23 9 0.0730000 0 1G17
+ 44584943.695 7 44584946.649 7 9873776.655 7 5563610.061 7 -4274.625
+ -3330.872
+ 01 10 22 23 9 30.0730000 0 1G17
+ 44609366.355 7 44609368.957 7 10002119.516 7 5663617.435 7 -4281.381
+ -3336.141
+ 01 10 22 23 10 0.0730000 0 1G17
+ 44633829.066 7 44633831.586 7 10130670.670 7 5763787.120 7 -4288.351
+ -3341.571
+ 01 10 22 23 10 30.0730000 0 1G17
+ 44658330.363 7 44658332.708 7 10259428.252 7 5864117.656 7 -4295.338
+ -3347.020
+ 01 10 22 23 11 0.0730000 0 1G17
+ 44682871.276 7 44682873.339 7 10388390.351 7 5964607.565 7 -4302.003
+ -3352.212
+ 01 10 22 23 11 30.0730000 0 1G17
+ 44707450.653 7 44707453.173 7 10517555.656 7 6065255.842 7 -4309.105
+ -3357.750
+ 01 10 22 23 12 0.0730000 0 1G17
+ 44732069.855 7 44732073.161 6 10646926.964 6 6166064.600 6 -4315.730
+ -3362.899
+ 01 10 22 23 12 30.0730000 0 1G17
+ 44756725.347 7 44756729.579 6 10776493.645 6 6267025.644 6 -4322.110
+ -3367.875
+ 01 10 22 23 13 0.0730000 0 1G17
+ 44781418.863 6 44781421.676 6 10906260.751 6 6368142.817 6 -4328.741
+ -3373.040
+ 01 10 22 23 13 30.0730000 0 1G17
+ 44806148.400 6 44806151.179 6 11036214.874 6 6469405.715 6 -4334.950
+ -3377.878
+ 01 10 22 23 14 0.0730000 0 1G17
+ 44830914.450 7 44830916.783 6 11166363.494 6 6570820.148 6 -4341.727
+ -3383.166
+ 01 10 22 23 14 30.0730000 0 1G17
+ 44855718.149 6 44855721.818 6 11296706.227 6 6672385.854 6 -4347.960
+ -3388.020
+ 01 10 22 23 15 0.0730000 0 1G17
+ 44880559.483 6 44880563.047 6 11427250.361 6 6774108.500 6 -4354.666
+ -3393.245
+ 01 10 22 23 15 30.0730000 0 1G17
+ 44905436.096 6 44905438.757 6 11557976.626 6 6875973.026 6 -4360.655
+ -3397.911
+ 01 10 22 23 16 0.0730000 0 1G17
+ 44930347.443 7 44930350.350 6 11688884.857 6 6977979.416 6 -4366.632
+ -3402.573
+ 01 10 22 23 16 30.0730000 0 1G17
+ 44955293.529 7 44955296.717 6 11819974.705 6 7080127.280 6 -4372.695
+ -3407.299
+ 01 10 22 23 17 0.0730000 0 1G17
+ 44980274.570 7 44980278.626 6 11951247.377 6 7182417.623 6 -4378.857
+ -3412.093
+ 01 10 22 23 17 30.0730000 0 1G17
+ 45005289.015 6 45005292.379 6 12082702.239 6 7284849.944 6 -4384.864
+ -3416.772
+ 01 10 22 23 18 0.0730000 0 1G17
+ 45030338.291 6 45030339.733 6 12214339.059 6 7387424.081 6 -4390.900
+ -3421.480
+ 01 10 22 23 18 30.0730000 0 1G17
+ 45055421.772 6 45055425.230 6 12346156.711 6 7490139.052 6 -4396.920
+ -3426.174
+ 01 10 22 23 19 0.0730000 0 1G17
+ 45080541.606 6 45080545.381 6 12478157.971 6 7592997.140 6 -4402.994
+ -3430.903
+ 01 10 22 23 19 30.0730000 0 1G17
+ 45105693.961 6 45105697.642 6 12610334.797 6 7695992.037 6 -4408.588
+ -3435.267
+ 01 10 22 23 20 0.0730000 0 1G17
+ 45130878.429 6 45130882.427 6 12742680.118 6 7799118.213 6 -4414.438
+ -3439.830
+ 01 10 22 23 20 30.0730000 0 1G17
+ 45156095.550 6 45156098.925 6 12875197.272 6 7902378.289 6 -4419.888
+ -3444.064
+ 01 10 22 23 21 0.0730000 0 1G17
+ 45181345.110 6 45181348.146 6 13007884.807 6 8005771.108 6 -4425.792
+ -3448.663
+ 01 10 22 23 21 30.0730000 0 1G17
+ 45206627.644 6 45206631.524 6 13140742.718 6 8109296.697 6 -4431.257
+ -3452.923
+ 01 10 22 23 22 0.0730000 0 1G17
+ 45231941.751 6 45231944.506 6 13273770.493 6 8212954.660 6 -4437.117
+ -3457.493
+ 01 10 22 23 22 30.0730000 0 1G17
+ 45257287.202 6 45257289.441 6 13406962.116 6 8316740.266 6 -4442.516
+ -3461.704
+ 01 10 22 23 23 0.0730000 0 1G17
+ 45282663.204 6 45282665.197 6 13540314.970 6 8420651.535 6 -4447.816
+ -3465.830
+ 01 10 22 23 23 30.0730000 0 1G17
+ 45308070.946 6 45308073.196 6 13673829.128 6 8524688.440 6 -4453.308
+ -3470.115
+ 01 10 22 23 24 0.0730000 0 1G17
+ 45333508.177 6 45333512.045 6 13807502.362 6 8628849.312 6 -4458.106
+ -3473.849
+ 01 10 22 23 24 30.0730000 0 1G17
+ 45358974.316 6 45358978.524 6 13941329.593 6 8733130.298 6 -4463.450
+ -3478.007
+ 01 10 22 23 25 0.0730000 0 1G17
+ 45384470.134 6 45384473.967 6 14075313.099 6 8837533.019 6 -4468.566
+ -3481.994
+ 01 10 22 23 25 30.0730000 0 1G17
+ 45409996.968 6 45409999.348 6 14209456.045 6 8942059.958 6 -4474.108
+ -3486.322
+ 01 10 22 23 26 0.0730000 0 1G17
+ 45435553.575 6 45435556.283 6 14343757.593 6 9046710.489 6 -4479.230
+ -3490.324
+ 01 10 22 23 26 30.0730000 0 1G17
+ 45461138.465 6 45461141.196 6 14478207.075 6 9151476.284 6 -4484.121
+ -3494.118
+ 01 10 22 23 27 0.0730000 0 1G17
+ 45486752.232 6 45486755.842 6 14612804.543 6 9256357.327 6 -4489.055
+ -3497.964
+ 01 10 22 23 27 30.0740000 0 1G17
+ 45512393.971 6 45512397.758 6 14747554.804 6 9361357.550 6 -4494.111
+ -3501.902
+ 01 10 22 23 28 0.0740000 0 1G17
+ 45538063.095 6 45538068.241 5 14882447.600 5 9466468.760 5 -4499.218
+ -3505.889
+ 01 10 22 23 28 30.0740000 0 1G17
+ 45563761.379 6 45563764.708 6 15017492.216 6 9571698.323 6 -4503.900
+ -3509.530
+ 01 10 22 23 29 0.0740000 0 1G17
+ 45589485.784 6 45589488.703 6 15152676.174 6 9677036.396 6 -4508.470
+ -3513.087
+ 01 10 22 23 29 30.0740000 0 1G17
+ 45615238.661 6 45615241.005 6 15288004.074 6 9782486.597 6 -4513.269
+ -3516.835
+ 01 10 22 23 30 0.0740000 0 1G17
+ 45641018.312 6 45641019.484 6 15423477.133 6 9888049.994 6 -4518.151
+ -3520.640
+ 01 10 22 23 30 30.0740000 0 1G17
+ 45666823.816 6 45666828.071 5 15559087.487 5 9993720.354 5 -4522.537
+ -3524.052
+ 01 10 22 23 31 0.0740000 0 1G17
+ 45692655.731 6 45692658.286 5 15694832.458 5 10099495.617 5 -4527.349
+ -3527.798
+ 01 10 22 23 31 30.0740000 0 1G17
+ 45718512.698 6 45718515.465 5 15830717.455 5 10205379.965 5 -4531.545
+ -3531.077
+ 01 10 22 23 32 0.0740000 0 1G17
+ 45744395.864 6 45744398.630 5 15966733.136 5 10311366.203 5 -4536.116
+ -3534.642
+ 01 10 22 23 32 30.0740000 0 1G17
+ 45770305.353 6 45770307.556 5 16102886.696 5 10417459.868 5 -4540.635
+ -3538.151
+ 01 10 22 23 33 0.0740000 0 1G17
+ 45796240.407 6 45796244.486 5 16239174.557 5 10523658.226 5 -4545.271
+ -3541.768
+ 01 10 22 23 33 30.0740000 0 1G17
+ 45822199.681 5 45822205.037 5 16375594.932 5 10629959.720 5 -4549.344
+ -3544.933
+ 01 10 22 23 34 0.0740000 0 1G17
+ 45848183.261 5 45848186.942 5 16512141.235 5 10736359.418 5 -4553.760
+ -3548.380
+ 01 10 22 23 34 30.0740000 0 1G17
+ 45874193.496 6 45874195.852 5 16648819.194 5 10842861.607 5 -4557.958
+ -3551.665
+ 01 10 22 23 35 0.0740000 0 1G17
+ 45900225.781 6 45900229.028 6 16785622.571 6 10949461.597 6 -4562.151
+ -3554.923
+ 01 10 22 23 35 30.0740000 0 1G17
+ 45926283.776 6 45926287.738 5 16922552.783 5 11056160.383 5 -4566.316
+ -3558.157
+ 01 10 22 23 36 0.0740000 0 1G17
+ 45952363.940 5 45952367.422 5 17059611.835 5 11162959.590 5 -4570.891
+ -3561.725
+ 01 10 22 23 36 30.0740000 0 1G17
+ 45978470.445 6 45978472.637 5 17196798.893 5 11269858.525 5 -4574.624
+ -3564.649
+ 01 10 22 23 37 0.0740000 0 1G17
+ 46004598.671 5 46004604.943 5 17334102.840 5 11376848.562 5 -4578.579
+ -3567.723
+ 01 10 22 23 37 30.0740000 0 1G17
+ 46030749.120 5 46030753.902 5 17471524.788 5 11483930.557 5 -4582.686
+ -3570.923
+ 01 10 22 23 38 0.0740000 0 1G17
+ 46056922.161 5 46056926.909 5 17609067.488 5 11591106.597 5 -4586.710
+ -3574.060
+ 01 10 22 23 38 30.0740000 0 1G17
+ 46083118.322 5 46083119.470 5 17746730.420 5 11698376.410 5 -4590.637
+ -3577.112
+ 01 10 22 23 39 0.0740000 0 1G17
+ 46109337.703 5 46109339.591 5 17884506.274 5 11805734.143 5 -4594.304
+ -3579.976
+ 01 10 22 23 39 30.0740000 0 1G17
+ 46135576.256 5 46135581.660 5 18022392.496 5 11913177.905 5 -4598.208
+ -3583.020
+ 01 10 22 23 40 0.0740000 0 1G17
+ 46161835.812 5 46161839.634 5 18160392.015 5 12020709.941 5 -4601.725
+ -3585.760
+ 01 10 22 23 40 30.0740000 0 1G17
+ 46188116.971 5 46188120.605 5 18298500.254 5 12128326.694 5 -4605.392
+ -3588.615
+ 01 10 22 23 41 0.0740000 0 1G17
+ 46214420.722 5 46214423.652 5 18436725.852 5 12236034.832 5 -4609.474
+ -3591.797
+ 01 10 22 23 41 30.0740000 0 1G17
+ 46240746.282 5 46240750.209 5 18575063.875 5 12343830.659 5 -4613.222
+ -3594.713
+ 01 10 22 23 42 0.0740000 0 1G17
+ 46267091.234 5 46267096.463 5 18713506.301 5 12451707.772 5 -4616.674
+ -3597.413
+ 01 10 22 23 42 30.0740000 0 1G17
+ 46293455.314 5 46293458.210 5 18852058.532 5 12559670.517 5 -4620.220
+ -3600.164
+ 01 10 22 23 43 0.0740000 0 1G17
+ 46319842.648 5 46319843.527 5 18990719.312 5 12667717.857 5 -4623.680
+ -3602.874
+ 01 10 22 23 43 30.0740000 0 1G17
+ 46346247.617 5 46346252.399 5 19129479.331 5 12775842.577 5 -4627.042
+ -3605.487
+ 01 10 22 23 44 0.0740000 0 1G17
+ 46372671.368 5 46372676.549 5 19268338.912 5 12884044.870 5 -4630.559
+ -3608.235
+ 01 10 22 23 44 30.0740000 0 1G17
+ 46399115.700 5 46399120.705 5 19407302.903 5 12992328.399 5 -4633.688
+ -3610.672
+ 01 10 22 23 45 0.0740000 0 1G17
+ 46425578.200 5 46425581.213 5 19546364.654 5 13100688.181 5 -4636.715
+ -3613.031
+ 01 10 22 23 45 30.0740000 0 1G17
+ 46452057.923 5 46452064.687 5 19685515.678 5 13209117.516 5 -4640.220
+ -3615.768
+ 01 10 22 23 46 0.0740000 0 1G17
+ 46478557.771 5 46478560.385 5 19824769.907 5 13317627.263 5 -4643.462
+ -3618.276
+ 01 10 22 23 46 30.0750000 0 1G17
+ 46505075.331 5 46505080.196 5 19964122.026 5 13426213.320 5 -4646.322
+ -3620.509
+ 01 10 22 23 47 0.0750000 0 1G17
+ 46531609.675 5 46531611.023 5 20103557.329 5 13534864.154 5 -4649.225
+ -3622.768
+ 01 10 22 23 47 30.0750000 0 1G17
+ 46558157.500 5 46558161.369 5 20243075.413 5 13643579.597 5 -4652.064
+ -3624.978
+ 01 10 22 23 48 0.0750000 0 1G17
+ 46584725.493 5 46584725.364 5 20382681.861 5 13752363.739 5 -4654.892
+ -3627.175
+ 01 10 22 23 48 30.0750000 0 1G17
+ 46611306.297 5 46611309.556 5 20522375.065 5 13861215.608 5 -4658.078
+ -3629.680
+ 01 10 22 23 49 0.0750000 0 1G17
+ 46637907.464 5 46637910.336 4 20662161.762 4 13970140.330 4 -4660.758
+ -3631.776
+ 01 10 22 23 49 30.0750000 0 1G17
+ 46664522.870 5 46664526.774 5 20802028.712 5 14079127.587 5 -4663.775
+ -3634.123
+ 01 10 22 23 50 0.0750000 0 1G17
+ 46691154.548 5 46691159.659 5 20941979.937 5 14188180.401 5 -4666.518
+ -3636.260
+ 01 10 22 23 50 30.0750000 0 1G17
+ 46717801.864 5 46717806.342 4 21082010.366 4 14297294.964 4 -4668.906
+ -3638.102
+ 01 10 22 23 51 0.0750000 0 1G17
+ 46744465.054 5 46744463.917 5 21222123.427 5 14406473.848 5 -4671.517
+ -3640.154
+ 01 10 22 23 51 30.0750000 0 1G17
+ 46771141.813 5 46771146.291 5 21362315.133 5 14515714.134 5 -4674.464
+ -3642.433
+ 01 10 22 23 52 0.0750000 0 1G17
+ 46797836.122 5 46797839.721 5 21502589.024 5 14625018.360 5 -4677.096
+ -3644.475
+ 01 10 22 23 52 30.0750000 0 1G17
+ 46824544.246 5 46824547.352 5 21642937.154 5 14734380.458 5 -4679.401
+ -3646.271
+ 01 10 22 23 53 0.0750000 0 1G17
+ 46851266.078 5 46851270.732 5 21783365.050 5 14843804.780 5 -4682.319
+ -3648.541
+ 01 10 22 23 53 30.0750000 0 1G17
+ 46878002.545 5 46878005.546 5 21923869.106 5 14953288.463 5 -4684.810
+ -3650.516
+ 01 10 22 23 54 0.0750000 0 1G17
+ 46904752.929 5 46904754.055 5 22064442.737 5 15062826.288 5 -4686.870
+ -3652.118
+ 01 10 22 23 54 30.0750000 0 1G17
+ 46931516.200 5 46931519.401 5 22205088.220 5 15172420.223 5 -4689.353
+ -3654.042
+ 01 10 22 23 55 0.0750000 0 1G17
+ 46958293.935 4 46958296.502 4 22345805.219 4 15282069.797 4 -4691.523
+ -3655.717
+ 01 10 22 23 55 30.0750000 0 1G17
+ 46985087.028 5 46985092.666 5 22486591.993 5 15391773.808 5 -4694.115
+ -3657.752
+ 01 10 22 23 56 0.0750000 0 1G17
+ 47011890.226 5 47011895.055 5 22627450.935 5 15501533.928 5 -4696.397
+ -3659.515
+ 01 10 22 23 56 30.0750000 0 1G17
+ 47038707.440 5 47038711.532 5 22768378.019 5 15611347.270 5 -4698.643
+ -3661.271
+ 01 10 22 23 57 0.0750000 0 1G17
+ 47065537.451 5 47065540.229 5 22909366.026 5 15721207.995 5 -4700.682
+ -3662.845
+ 01 10 22 23 57 30.0750000 0 1G17
+ 47092379.185 5 47092384.015 5 23050421.766 5 15831121.667 5 -4702.926
+ -3664.613
+ 01 10 22 23 58 0.0750000 0 1G17
+ 47119234.371 5 47119238.638 5 23191538.117 5 15941082.442 5 -4704.943
+ -3666.199
+ 01 10 22 23 58 30.0750000 0 1G17
+ 47146099.340 5 0.000 1 23332719.701 1 0.00011 -4707.164
+ 0.000
+ 01 10 22 23 59 0.0750000 0 1G17
+ 47172976.533 5 0.000 1 23473960.368 1 0.00011 -4708.852
+ 0.000
+ 01 10 22 23 59 30.0750000 0 1G17
+ 47199863.440 5 47199863.170 4 23615256.209 4 25689.634 4 -4710.672
+ -3670.657
diff --git a/trunk/apps/cycleslips/examples/euskCorrected.jpg b/trunk/apps/cycleslips/examples/euskCorrected.jpg
new file mode 100644
index 0000000..e102e12
Binary files /dev/null and b/trunk/apps/cycleslips/examples/euskCorrected.jpg differ
diff --git a/trunk/apps/cycleslips/examples/goDF1 b/trunk/apps/cycleslips/examples/goDF1
new file mode 100644
index 0000000..dd25540
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/goDF1
@@ -0,0 +1,24 @@
+# run DiscFix
+../DiscFix -fdf.inp -ieusk2950.01o.G17
+#
+# correct the data, creating a new Rinex file
+../../Rinextools/EditRinex -IFeusk2950.01o.G17 -OFeuskDF.obs -TT0.5 -fdf.out
+#
+# see a table of the results
+grep "^GDC" df.log
+#
+# look at results for Sat G17, unique number 3, using gnuplot
+sed -n -e "s/WLSS 3 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > WLSS3G17.dat
+sed -n -e "s/GFRF 3 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > GFRF3G17.dat
+/usr/bin/gnuplot -persist WLSS3.gp
+/usr/bin/gnuplot -persist GFP3.gp
+#
+# look at results for Sat G17, unique number 2, using gnuplot
+sed -n -e "s/WLSS 2 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > WLSS2G17.dat
+sed -n -e "s/GFRF 2 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > GFRF2G17.dat
+/usr/bin/gnuplot -persist WLSS2.gp
+/usr/bin/gnuplot -persist GFP2.gp
diff --git a/trunk/apps/cycleslips/examples/goDF1.bat b/trunk/apps/cycleslips/examples/goDF1.bat
new file mode 100644
index 0000000..ae71bf6
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/goDF1.bat
@@ -0,0 +1,24 @@
+REM run DiscFix
+..\DiscFix -fdf.inp -ieusk2950.01o.G17
+REM
+REM correct the data, creating a new Rinex file
+..\..\Rinextools\EditRinex -IFeusk2950.01o.G17 -OFeuskDF.obs -TT0.5 -fdf.out
+REM
+REM see a table of the results
+grep "^GDC" df.log
+REM
+REM look at results for Sat G17, unique number 3, using gnuplot
+sed -n -e "s/WLSS 3 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > WLSS3G17.dat
+sed -n -e "s/GFRF 3 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > GFRF3G17.dat
+start /B c:\gnuplot\bin\wgnuplot.exe WLSS3_Win.gp
+start /B c:\gnuplot\bin\wgnuplot.exe GFP3_Win.gp
+REM
+REM look at results for Sat G17, unique number 2, using gnuplot
+sed -n -e "s/WLSS 2 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > WLSS2G17.dat
+sed -n -e "s/GFRF 2 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > GFRF2G17.dat
+start /B c:\gnuplot\bin\wgnuplot.exe WLSS2_Win.gp
+start /B c:\gnuplot\bin\wgnuplot.exe GFP2_Win.gp
diff --git a/trunk/apps/cycleslips/examples/goDF2 b/trunk/apps/cycleslips/examples/goDF2
new file mode 100644
index 0000000..4db24f1
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/goDF2
@@ -0,0 +1,16 @@
+# run DiscFix
+../DiscFix -fdf_occult.inp -ichmp0110.02o.G31
+#
+# correct the data, creating a new Rinex file
+../../Rinextools/EditRinex -IFchmp0110.02o.G31 -OFchmpDF.obs -TT0.5 -fdf.out
+#
+# see a table of the results
+grep "^GDC" df.log
+#
+# look at results for Sat G31, unique number 6, using gnuplot
+sed -n -e "s/WLSS 6 G31 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > WLSS6G31.dat
+sed -n -e "s/GFRF 6 G31 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > GFRF6G31.dat
+/usr/bin/gnuplot -persist WLSS6.gp
+/usr/bin/gnuplot -persist GFP6.gp
diff --git a/trunk/apps/cycleslips/examples/goDF2.bat b/trunk/apps/cycleslips/examples/goDF2.bat
new file mode 100644
index 0000000..38cfc44
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/goDF2.bat
@@ -0,0 +1,16 @@
+REM run DiscFix
+..\DiscFix -fdf_occult.inp -ichmp0110.02o.G31
+REM
+REM correct the data, creating a new Rinex file
+..\..\Rinextools\EditRinex -IFchmp0110.02o.G31 -OFchmpDF.obs -TT0.5 -fdf.out
+REM
+REM see a table of the results
+grep "^GDC" df.log
+REM
+REM look at results for Sat G31, unique number 6, using gnuplot
+sed -n -e "s/WLSS 6 G31 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > WLSS6G31.dat
+sed -n -e "s/GFRF 6 G31 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > GFRF6G31.dat
+start /B c:\gnuplot\bin\wgnuplot.exe WLSS6_Win.gp
+start /B c:\gnuplot\bin\wgnuplot.exe GFP6_Win.gp
diff --git a/trunk/apps/cycleslips/examples/mjd2gps.awk b/trunk/apps/cycleslips/examples/mjd2gps.awk
new file mode 100644
index 0000000..38390fc
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/mjd2gps.awk
@@ -0,0 +1,26 @@
+# convert MJD in column C to 2 columns: GPS sow and week.
+# call awk -f mjd2gps.awk -v C=<column_of_MJD>
+# (optional: add -v ROLL=NO) to prevent week rollover in the sow.
+# (optional: add -v WEEK=NO) to prevent printing the week (then C -> 1 col)
+# (optional: add -v ROUND=NO) to prevent rounding to nearest second
+BEGIN {
+ weeksave = -1
+}
+{
+ mjd = $C;
+ week = int((mjd-44244.0)/7.0)
+ if(weeksave == -1) weeksave = week
+ if(ROLL=="NO") week = weeksave
+ sow = (mjd-44244.0-7*week)*86400.
+ if(ROUND=="NO") {
+ if(WEEK=="NO") str = sprintf("%11.3lf",sow);
+ else str = sprintf("%11.3lf %4d",sow,week);
+ }
+ else {
+ sow = int(sow+0.5);
+ if(WEEK=="NO") str = sprintf("%8.0lf",sow);
+ else str = sprintf("%8.0lf %4d",sow,week);
+ }
+ $C = str
+ print $0
+}
diff --git a/trunk/apps/differential/Jamfile b/trunk/apps/differential/Jamfile
new file mode 100644
index 0000000..c2a5d59
--- /dev/null
+++ b/trunk/apps/differential/Jamfile
@@ -0,0 +1,7 @@
+SubDir TOP apps differential ;
+
+GPSLinkLibraries vecsol : gpstk ;
+BonkForte ; # bleah.
+
+GPSMain vecsol : vecsol.cpp ;
+
diff --git a/trunk/apps/differential/Makefile.am b/trunk/apps/differential/Makefile.am
new file mode 100644
index 0000000..9793395
--- /dev/null
+++ b/trunk/apps/differential/Makefile.am
@@ -0,0 +1,6 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = vecsol
+
+vecsol_SOURCES = vecsol.cpp
diff --git a/trunk/apps/differential/Makefile.in b/trunk/apps/differential/Makefile.in
new file mode 100644
index 0000000..3ab12f9
--- /dev/null
+++ b/trunk/apps/differential/Makefile.in
@@ -0,0 +1,421 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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@
+noinst_PROGRAMS = vecsol$(EXEEXT)
+subdir = apps/differential
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_vecsol_OBJECTS = vecsol.$(OBJEXT)
+vecsol_OBJECTS = $(am_vecsol_OBJECTS)
+vecsol_LDADD = $(LDADD)
+vecsol_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(vecsol_SOURCES)
+DIST_SOURCES = $(vecsol_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+vecsol_SOURCES = vecsol.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apps/differential/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu apps/differential/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+vecsol$(EXEEXT): $(vecsol_OBJECTS) $(vecsol_DEPENDENCIES)
+ @rm -f vecsol$(EXEEXT)
+ $(CXXLINK) $(vecsol_LDFLAGS) $(vecsol_OBJECTS) $(vecsol_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/vecsol.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/differential/vecsol b/trunk/apps/differential/vecsol
new file mode 100755
index 0000000..89f13d6
Binary files /dev/null and b/trunk/apps/differential/vecsol differ
diff --git a/trunk/apps/differential/vecsol.1 b/trunk/apps/differential/vecsol.1
new file mode 100644
index 0000000..43d760a
--- /dev/null
+++ b/trunk/apps/differential/vecsol.1
@@ -0,0 +1,111 @@
+.TH VECSOL "1" "August 2005" "vecsol (GPStk) 0.8" "User Commands"
+.SH NAME
+vecsol \- GPS Vector Solver, computes a 3D vector from RINEX input
+.SH SYNOPSIS
+.B vecsol
+[\fIRINEX obs file 1\fR] [\fIRINEX obs file 2\fR]
+.SH DESCRIPTION
+.\" Add any additional description here
+.PP
+Computes a 3D vector solution using dual-frequency carrier phases. A double
+difference algorithm is applied with properly computed weights
+(elevation sine weighting) and correlations. The program iterates to
+convergence and attempts to resolve ambiguities to integer values if
+close enough. Crude outlier rejection is provided based on a
+triple-difference test. Ephemeris used are either broadcast or precise
+(SP3). Alternatively, also P code processing is provided.
+.PP
+The solution is computed using the ionosphere-free linear combination.
+The ionospheric model included in broadcast ephemeris may be used. A
+standard tropospheric correction is applied, or tropospheric parameters
+(zenith delays) may be estimated.
+.SH FILES
+.TP
+\fBRINEX obs files 1 and 2\fR
+contain the observations collected at the two end points 1 and 2 of the
+baseline. They \fImust\fR contain a sufficient set of simultaneous
+observations to the same satellites.
+.TP
+\fBvecsol.conf\fR
+contains the input options for the program, one per line.
+.PP
+.SS Options
+.TP 10
+ \fBphase\fR [1/0]
+Process carrier phase data (instead of P code data)
+.TP
+ \fBtruecov\fR [1/0]
+If 1, use true double difference covariances. If 0, ignore any possible
+correlations
+.TP
+ \fBprecise\fR [1/0]
+If 1, use precise ephemeris, if 0, use broadcast ephemeris
+.TP
+ \fBiono\fR [1/0]
+If 1, use the 8-parameter ionospheric model that comes with the
+broadcast ephemeris (.nav) files
+.TP
+ \fBtropo\fR [1/0]
+Estimate troposphere parameters (zenith delays relative to the standard
+value, which is always applied)
+.TP
+ \fBvecmode\fR [1/0]
+If 1, solve the \fIvector\fR, i.e. the three co-ordinate differences
+between the baseline end points. If 0, solve for the absolute
+co-ordinates of both end points
+.TP
+ \fBdebug\fR [1/0]
+If 1, produce lots of gory debugging output. See the source for what it
+all means
+.TP
+ \fBrefsat_elev\fR
+Minimum elevation of the reference satellite used for computing
+inter-satellite differences. Good initial choice: 30.0
+.TP
+ \fBcutoff_elev\fR
+cut-off elevation. Good initial choice: 10.0 \- 20.0
+.PP
+.TP
+\fBvecsol.nav\fR
+contains the names of the navigation RINEX files ("nav files", extension
+.yyN) to be used, one per line.
+.PP
+Good navigation RINEX files that are globally valid can be found from the CORS website at
+.B http://www.ngs.noaa.gov/CORS/
+.
+.TP
+\fBvecsol.eph\fR
+contains the names of the precise ephemeris SP3 files (extension .sp3)
+to be used. These should cover the time span of the observations, with
+time to spare on both ends.
+.PP
+Note that the date in the filenames of the SP3 files is given as GPS
+week + weekday, not year + day of year, as in the observation and nav
+files.
+.PP
+In the .nav and .eph files, comment lines have # in the first position.
+
+.SH AUTHOR
+Written by Martin Vermeer and others.
+.SH BUGS
+Doesn't currently recover \fIat all\fR from cycle slips, so the RINEX
+observation files used have to be fairly clean already.
+.PP
+Report bugs to <gpstk-devel at lists.sourceforge.net>.
+.SH COPYRIGHT
+Copyright \(co 2005 The Authors.
+.br
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+.SH "SEE ALSO"
+The full documentation for the
+.B GPStk
+package of which
+.B vecsol
+is a part can be found on the website of
+.B GPStk
+at
+.IP
+.B http://gpstk.sourceforge.net
+.
+
diff --git a/trunk/apps/differential/vecsol.conf b/trunk/apps/differential/vecsol.conf
new file mode 100644
index 0000000..b1057a9
--- /dev/null
+++ b/trunk/apps/differential/vecsol.conf
@@ -0,0 +1,10 @@
+1 phase
+0 true covariances
+1 precise ephemeris
+0 nav file ionosphere
+0 tropo estimation
+1 vector mode
+1 debug
+30.0 ref sat cut-off
+20.0 cut-off angle
+
diff --git a/trunk/apps/differential/vecsol.cpp b/trunk/apps/differential/vecsol.cpp
new file mode 100644
index 0000000..f104b73
--- /dev/null
+++ b/trunk/apps/differential/vecsol.cpp
@@ -0,0 +1,883 @@
+#include <string>
+#include <vector>
+#include <map>
+
+#include "geometry.hpp"
+
+#include "Matrix.hpp"
+#include "MatrixOperators.hpp"
+
+#include "RinexObsBase.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+
+#include "RinexNavBase.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+
+#include "SP3Base.hpp"
+#include "SP3Header.hpp"
+#include "SP3Data.hpp"
+#include "SP3Stream.hpp"
+
+#include "TropModel.hpp"
+#include "WGS84Geoid.hpp"
+#include "IonoModelStore.hpp"
+
+#include "BCEphemerisStore.hpp"
+#include "SP3EphemerisStore.hpp"
+#include "EphemerisRange.hpp"
+#include "icd_200_constants.hpp"
+
+/**
+ * @file vecsol.cpp
+ * Vector solution using dual-frequency carrier phases. Double difference
+ * algorithm with proper weights, iteration with attempted ambiguity
+ * resolution, crude outlier rejection, elevation sine weighting.
+ * Alternatively also code processing provided.
+ * The configuration file is 'vecsol.conf'; broadcast or precise ephemeris
+ * are in files 'vecsol.nav' and 'vecsol.eph', respectively.
+
+ * LGPL (see COPYING). No furry animals were harmed in the coding
+ * of this software.
+
+ * (c) 2005 Martin Vermeer
+
+ To Do:
+ - Use of ssi and lli bits?
+ - Remove limitation that unknowns must be same across iterations
+ - Ionosphere models: use IONEX and QIF method
+ - Satellite center-of-mass correction
+ - Receiver antenna phase delay patterns
+ - Earth tides
+ - Output of vectors to be read by other software
+
+ */
+
+
+using namespace std;
+using namespace gpstk;
+
+
+ void
+stationData(RinexObsData const & rod, bool const phase,
+ vector < RinexPrn > &prnVec,
+ vector < double >&rangeVecL1, vector < double >&rangeVecL2)
+{
+ RinexObsData::RinexPrnMap::const_iterator it;
+ for (it = rod.obs.begin(); it != rod.obs.end(); it++) {
+ RinexObsData::RinexObsTypeMap otmap;
+ RinexObsData::RinexObsTypeMap::const_iterator itL1, itL2;
+ otmap = (*it).second;
+ if (phase) {
+ itL1 = otmap.find(RinexObsHeader::L1);
+ itL2 = otmap.find(RinexObsHeader::L2);
+ } else {
+ itL1 = otmap.find(RinexObsHeader::P1);
+ itL2 = otmap.find(RinexObsHeader::P2);
+ }
+ if (itL1 != otmap.end() && itL2 != otmap.end()) {
+ double const rangeL1 = (*itL1).second.data;
+ double const rangeL2 = (*itL2).second.data;
+ // here we would have Loss of Lock Indicator
+ // and Signal Strength Indicator: =0, >5 are OK
+ // cout << (*itL2).second.lli << endl;
+ // cout << (*itL2).second.ssi << endl;
+
+ // Discard empty data
+ if (rangeL1 != 0.0 && rangeL2 != 0.0) {
+ prnVec.push_back((*it).first);
+ rangeVecL1.push_back(rangeL1);
+ rangeVecL2.push_back(rangeL2);
+ }
+ }
+ }
+}
+
+
+enum FixType {
+ FIX_NONE,
+ FIX_WIDELANE,
+ FIX_BOTH
+};
+
+
+FixType phaseCycles(vector <double> & DDobs,
+ double const lambda1, double const lambda2)
+{
+#define WITHIN_HALF_CYCLE(Lx) \
+ ((Lx < -0.5 ? Lx += 1.0 : (Lx > 0.5 ? Lx -= 1.0 : Lx = Lx)))
+
+ double L1 = DDobs[1] / lambda1;
+ double L2 = DDobs[2] / lambda2;
+ double L5 = L1 - L2;
+ L1 = L1 - int(L1);
+ L2 = L2 - int(L2);
+ L5 = L5 - int(L5);
+
+ WITHIN_HALF_CYCLE(L1);
+ WITHIN_HALF_CYCLE(L2);
+ WITHIN_HALF_CYCLE(L5);
+
+ cout << setw(5) << L1 << " " << L2 << " | " << L5;
+
+ bool const L1fixable = L1 < 0.2 && L1 > -0.2;
+ bool const L2fixable = L2 < 0.2 && L2 > -0.2;
+ bool L5fixable = L5 < 0.07 && L5 > -0.07;
+
+ if (L1fixable && L2fixable && L5fixable) {
+ DDobs[1] -= L1 * lambda1;
+ DDobs[2] -= L2 * lambda2;
+ cout << " FIX" << endl;
+ return FIX_BOTH;
+ }
+
+ L5fixable = L5 < 0.1 && L5 > -0.1;
+ if (L5fixable) {
+ DDobs[1] -= 0.5 * L5 * lambda1;
+ DDobs[2] += 0.5 * L5 * lambda2;
+ cout << " Widelane" << endl;
+ return FIX_WIDELANE;
+ }
+
+ cout << endl;
+ return FIX_NONE;
+}
+
+
+enum SolveType {
+ SOLVE_AMBS,
+ SOLVE_COORDS
+};
+
+
+void Solve(gpstk::Matrix <double> N, gpstk::Matrix <double> const b,
+ gpstk::Matrix <double> & N2, gpstk::Matrix <double> & b2,
+ SolveType const solveType,
+ gpstk::Vector <FixType> const fixed,
+ int const MaxUnkn, int const unknowns)
+{
+ if (solveType == SOLVE_COORDS) {
+ // Fix "fixed" unknowns:
+ for (int k = 0; k < unknowns; k++) {
+ if (fixed[k] == FIX_BOTH)
+ N(k,k) += 1.0E8; // absolutely fixed
+ if (fixed[k] == FIX_WIDELANE)
+ N(k,k) *= 1.25; // upgraded
+ }
+ } else { // SOLVE_AMBS
+ for (int k=0; k < MaxUnkn; k++) {
+ N(k,k) += 1.0E8; // Keep coordinates fixed (to iono free values)
+ }
+ }
+
+ // Copy over to correctly sized matrices
+ gpstk::Matrix <double> NN(unknowns, unknowns);
+ gpstk::Matrix <double> bb(unknowns, 3);
+ for (int k = 0; k < unknowns; k++) {
+ for (int m = 0; m < unknowns; m++)
+ NN(k,m) = N(k,m);
+ // Suppress unused unknowns, if any
+ if (NN(k,k) == 0.0)
+ NN(k,k) = 1.0;
+ for (int ot = 0; ot < 3; ot++)
+ bb(k,ot) = b(k,ot);
+ }
+
+ N2 = gpstk::inverse(NN);
+ for (int k = 0; k < unknowns; k++) {
+ if (N2(k,k) < 0.0)
+ cout << "Negative diagonal element "
+ << k << ": " << N2(k,k) << endl;
+ }
+ b2 = bb;
+}
+
+
+main(int argc, char *argv[])
+{
+#define EPH_RANGE(C,T,X,S) ((precise ? \
+ C.ComputeAtReceiveTime(T.time,X,S.prn,sp3store) : \
+ C.ComputeAtReceiveTime(T.time,X,S.prn,bcestore)))
+
+ BCEphemerisStore bcestore;
+ SP3EphemerisStore sp3store;
+ WGS84Geoid geoid;
+ IonoModelStore ion;
+ CorrectedEphemerisRange CER1, CER2;
+ SimpleTropModel trop;
+
+ if (argc != 3) {
+ cerr << "Usage:" << endl;
+ cerr << " " << argv[0] <<
+ " <RINEX Obs file 1> <RINEX Obs file 2>" <<
+ endl;
+ cerr << "Edit vecsol.conf, vecsol.nav and vecsol.eph for input" <<
+ endl;
+ exit(-1);
+ }
+
+ bool phase; // Process carrier phase data (instead of P code data)
+ bool truecov; // Use true DD covariances (inst. of no correlations)
+ bool precise; // Use precise ephemeris (inst. of broadcast)
+ bool iono; // Use nav file iono model
+ bool tropo; // Estimate troposphere parameters
+ bool vecmode; // Solve vector (inst. of end point coords)
+ bool debug;
+ double refsat_elev; // Minimum elevation of the reference satellite.
+ // Good value: 30.0
+ double cutoff_elev; // cut-off elevation. Good value: 10.0
+ int MaxUnkn; // The number of std. unknowns. 3 for baseline est.,
+ // 6 for two endpoint positions, 8 for tropo est. too.
+
+ char s[80];
+ std::ifstream conf;
+ conf.open("vecsol.conf", ios::in);
+ conf >> phase; conf.getline(s, 80);
+ conf >> truecov; conf.getline(s, 80);
+ conf >> precise; conf.getline(s, 80);
+ conf >> iono; conf.getline(s, 80);
+ conf >> tropo; conf.getline(s, 80);
+ conf >> vecmode; conf.getline(s, 80);
+ conf >> debug; conf.getline(s, 80);
+ conf >> refsat_elev; conf.getline(s, 80);
+ conf >> cutoff_elev; conf.getline(s, 80);
+ conf.close();
+
+ if (vecmode)
+ MaxUnkn = 3;
+ else
+ MaxUnkn = 6;
+ if (tropo)
+ MaxUnkn += 2;
+
+ cout << endl;
+ cout << "Configuration data from vecsol.conf" << endl;
+ cout << "-----------------------------------" << endl;
+ cout << "Use carrier phases: " << phase << endl;
+ cout << "Use true correlations: " << truecov << endl;
+ cout << "Use precise ephemeris: " << precise << endl;
+ cout << "Use broadcast iono model: " << iono << endl;
+ cout << "Use tropospheric est.: " << tropo << endl;
+ cout << "Vector mode: " << vecmode << endl;
+ cout << "Debugging mode: " << debug << endl;
+ cout << "Ref sat elevation limit: " << refsat_elev << endl;
+ cout << "Cut-off elevation: " << cutoff_elev << endl;
+ cout << endl;
+
+ int const MaxDim(phase ? 1000 : MaxUnkn); // For reserving array space
+ int const MaxSats(30); // Same
+
+ const double gamma((L1_FREQ / L2_FREQ) * (L1_FREQ / L2_FREQ));
+ const double L1_F2(L1_FREQ * L1_FREQ), L2_F2(L2_FREQ * L2_FREQ);
+ const double LDIF_F2(L1_F2 - L2_F2);
+ // Weights for adding L1 and L2 pseudo-ranges into metric iono free
+ const double wt1(L1_F2 / LDIF_F2);
+ const double wt2(-L2_F2 / LDIF_F2);
+ double lambda1, lambda2;
+ if (phase) {
+ lambda1 = C_GPS_M / L1_FREQ;
+ lambda2 = C_GPS_M / L2_FREQ;
+ } else {
+ lambda1 = 1.0; // Already in metres
+ lambda2 = 1.0;
+ }
+
+ try {
+ if (!precise) {
+ try {
+ // Read nav file(s) and store unique list of ephemerides
+ string filename;
+ std::ifstream nav;
+ nav.open("vecsol.nav", ios::in);
+ while (nav >> filename) {
+ cout << "Nav file: " << filename;
+ // Comment:
+ if (filename[0] == '#') {
+ cout << " skipped" << endl;
+ nav.getline(s, 80);
+ } else {
+ cout << endl;
+ RinexNavStream rnffs(filename.c_str());
+ rnffs.exceptions(ios::failbit);
+ RinexNavData rne;
+ RinexNavHeader hdr;
+
+ rnffs >> hdr;
+ if (iono)
+ ion.addIonoModel(DayTime::BEGINNING_OF_TIME,
+ IonoModel(hdr.ionAlpha, hdr.ionBeta));
+ while (rnffs >> rne)
+ bcestore.addEphemeris(rne);
+ }
+ }
+ bcestore.SearchNear();
+ }
+ catch(...) {
+ cerr << "Something wrong with nav files." << endl << endl;
+ exit(-1);
+ }
+ } else {
+ try{
+ // Precise ephemerides:
+ string filename;
+ std::ifstream eph;
+ eph.open("vecsol.eph", ios::in);
+ while (eph >> filename) {
+ cout << "Eph file: " << filename;
+ // Comment:
+ if (filename[0] == '#') {
+ cout << " skipped" << endl;
+ eph.getline(s, 80);
+ } else {
+ cout << endl;
+ sp3store.loadFile(filename.c_str());
+ }
+ }
+ }
+ catch(...) {
+ cerr << "Something wrong with SP3 files." << endl << endl;
+ exit(-1);
+ }
+ }
+
+ gpstk::Matrix <double> x0(MaxDim, 3, 0.0);
+ gpstk::Vector <FixType> fixed(MaxDim, FIX_NONE);
+
+ // Get station positions from RINEX headers:
+ RinexObsHeader roh1, roh2;
+
+ try {
+ RinexObsStream roffs1(argv[1]);
+ RinexObsStream roffs2(argv[2]);
+ roffs1.exceptions(ios::failbit);
+ roffs2.exceptions(ios::failbit);
+
+ roffs1 >> roh1;
+ roffs2 >> roh2;
+ }
+ catch(...) {
+ cerr << "Something wrong with obs files." << endl << endl;
+ exit(-1);
+ }
+
+ Position t1(roh1.antennaPosition, Position::Cartesian);
+ Position t2(roh2.antennaPosition, Position::Cartesian);
+ Position const t10(t1); // To keep unknowns invariant
+ Position const t20(t2);
+ Position Pos1, Pos2;
+ string const name1(roh1.markerName);
+ string const name2(roh2.markerName);
+
+ double crit(1.0);
+ double const limit = (phase ? 0.01 : 0.02);
+ for (int l = 0; (crit > limit) && l < 2; l++) {
+ // Iteration loop. Important! The unknowns are expected to
+ // remain _identical_ across iterations.
+ cout << "Iteration: " << l << endl;
+
+ // Map pointing from PRN to obs. eq. element position
+ map <RinexPrn, int> CommonSatsPrev;
+
+ RinexPrn OldRefSat;
+
+ map <RinexPrn, double> DDobsPrev;
+ map <RinexPrn, double> SecsPrev;
+
+ // Open and read the observation files one epoch at a time.
+ // Compute a contribution to normal matrix and right hand side
+ RinexObsStream roffs1(argv[1]);
+ RinexObsStream roffs2(argv[2]);
+ roffs1.exceptions(ios::failbit);
+ roffs2.exceptions(ios::failbit);
+
+ RinexObsHeader roh1, roh2;
+ RinexObsData rod1, rod2;
+
+ roffs1 >> roh1;
+ roffs2 >> roh2;
+
+ if (l > 0) {
+ t1 = t1 + Pos1;
+ if (!vecmode)
+ t2 = t2 + Pos2;
+ }
+ Geodetic g1(t1, &geoid);
+ Geodetic g2(t2, &geoid);
+
+ cout << name1 << ": " << t1 << endl
+ << name2 << ": " << t2 << endl << endl;
+ // Print also geographic coords
+ Position t1g(t1);
+ Position t2g(t2);
+ cout << name1 << ": " << t1g.asGeodetic() << endl
+ << name2 << ": " << t2g.asGeodetic() << endl;
+
+ gpstk::Matrix <double> N(MaxDim, MaxDim, 0.0);
+ gpstk::Matrix <double> b(MaxDim, 3, 0.0);
+ int observations(0), rejections(0);
+ double RMS(0);
+ // points to _after_ the last unknown
+ int unknowns = MaxUnkn;
+
+ while (roffs1 >> rod1 && roffs2 >> rod2) { // Epoch loop
+ // Make sure we have a common epoch:
+ while (rod1.time > rod2.time)
+ roffs2 >> rod2;
+ while (rod1.time < rod2.time)
+ roffs1 >> rod1;
+ double const Secs = rod1.time.hour() * 3600
+ + rod1.time.minute() * 60 + rod1.time.second();
+
+ if (rod1.epochFlag < 2 && rod2.epochFlag < 2)
+ // Observations are good
+ {
+ map <RinexPrn, int> CommonSats;
+ CommonSats.clear();
+ vector <RinexPrn> prnVec_1, prnVec_2;
+ vector <double> rangeVecL1_1, rangeVecL2_1;
+ vector <double> rangeVecL1_2, rangeVecL2_2;
+
+ // First station
+ stationData(rod1, phase, prnVec_1, rangeVecL1_1,
+ rangeVecL2_1);
+ // Second station
+ stationData(rod2, phase, prnVec_2, rangeVecL1_2,
+ rangeVecL2_2);
+
+ /// Process station pairs
+
+ // for construction of double diffs
+ RinexPrn RefSat;
+ bool hasRefSat(false);
+
+ double ref_rdiffL1, ref_rdiffL2;
+ vector <double> ref_A(MaxUnkn);
+ gpstk::Matrix <double> A(MaxDim, MaxSats, 0.0);
+ gpstk::Matrix <double> Obs(MaxSats, 3, 0.0);
+ // For var-cov modelling
+ vector <double> Q(MaxSats),
+ Elev10(MaxSats), Elev20(MaxSats);
+ double Qref;
+ int nObs(0);
+
+ // Find out the highest satellite:
+ double best(0.0);
+ int bestIdx(0);
+ bool stickWithOld = false;
+ for (int i = 0; i != prnVec_2.size(); i++)
+ if (prnVec_2[i].prn > 0) {
+
+ // Invariant over iterations! Uses t10, t20
+ double dummy = EPH_RANGE(CER2, rod2, t10,
+ prnVec_2[i]);
+ double const riseVel1 = CER2.svPosVel.v.dot(t10);
+ Elev10[i] = CER2.elevation;
+ bool const elev1OK = CER2.elevation > refsat_elev;
+
+ dummy = EPH_RANGE(CER2, rod2, t20,
+ prnVec_2[i]);
+ double const riseVel2 = CER2.svPosVel.v.dot(t20);
+ Elev20[i] = CER2.elevation;
+ bool const elev2OK = CER2.elevation > refsat_elev;
+
+ double const riseVel = 0.5 * (riseVel1 + riseVel2);
+
+ if (elev1OK && elev2OK
+ && riseVel > best
+ && !stickWithOld) {
+ best = riseVel;
+ bestIdx = i;
+ }
+ // Hang on to same ref sat if still high enough
+ if (OldRefSat == prnVec_2[i]
+ && CER2.elevation > refsat_elev) {
+ bestIdx = i;
+ stickWithOld = true;
+ }
+ }
+
+ for (int ii = 0; ii != prnVec_2.size(); ii++) {
+ // Reshuffle...
+ int i = (ii + bestIdx) % prnVec_2.size();
+ if (prnVec_2[i].prn > 0
+ && Elev10[i] > cutoff_elev
+ && Elev20[i] > cutoff_elev) {
+ double r2 = EPH_RANGE(CER2, rod2, t2,
+ prnVec_2[i]);
+ double trop2 =
+ trop.correction(t2, CER2.svPosVel.x, rod2.time);
+ r2 += trop2;
+
+ for (int j = 0; j != prnVec_1.size(); j++) {
+ if (prnVec_1[j].prn > 0
+ && prnVec_1[j].prn == prnVec_2[i].prn)
+ {
+ // This sat is visible from both
+ // stations
+ double r1 = EPH_RANGE(CER1, rod1, t1,
+ prnVec_1[j]);
+ double trop1 = trop.correction(t1,
+ CER1.svPosVel.x, rod1.time);
+ r1 += trop1;
+
+ // Between-station diffs
+ double diffL1 = rangeVecL1_1[j] - rangeVecL1_2[i];
+ double diffL2 = rangeVecL2_1[j] - rangeVecL2_2[i];
+ // Subtract out approx values
+ double rdiffL1 = lambda1 * diffL1 - (r1 - r2);
+ double rdiffL2 = lambda2 * diffL2 - (r1 - r2);
+ if (iono) {
+ // Ionospheric corrections:
+ double const
+ ionoL1_1 = ion.getCorrection(
+ rod1.time, g1, CER1.elevation,
+ CER1.azimuth, IonoModel::L1);
+ double const
+ ionoL2_1 = ion.getCorrection(
+ rod1.time, g1, CER1.elevation,
+ CER1.azimuth, IonoModel::L2);
+ double const
+ ionoL1_2 = ion.getCorrection(
+ rod2.time, g2, CER2.elevation,
+ CER2.azimuth, IonoModel::L1);
+ double const
+ ionoL2_2 = ion.getCorrection(
+ rod2.time, g2, CER2.elevation,
+ CER2.azimuth, IonoModel::L2);
+ // Apply them:
+ if (phase) {
+ rdiffL1 += ionoL1_1 - ionoL1_2;
+ rdiffL2 += ionoL2_1 - ionoL2_2;
+ } else {
+ rdiffL1 -= ionoL1_1 - ionoL1_2;
+ rdiffL2 -= ionoL2_1 - ionoL2_2;
+ }
+ }
+
+ vector <double> A_(MaxDim, 0.0);
+ // Store obs. coefficients for
+ // coordinates
+ for (int k = 0; k < 3; k++)
+ A_[k] = CER1.cosines[k];
+ if (!vecmode) {
+ for (int k = 3; k < 6; k++)
+ A_[k] = -CER2.cosines[k - 3];
+ }
+ // Tropo estimation
+ if (tropo) {
+ A_[MaxUnkn - 2] = trop1;
+ A_[MaxUnkn - 1] = -trop2;
+ }
+
+ // Weight coefficient of this obs:
+ double const q_ = 1.0 /
+ sin(DEG_TO_RAD * CER1.elevation) + 1.0 /
+ sin(DEG_TO_RAD * CER2.elevation);
+ // Build obs. coefs for satellite
+ // ambiguities
+ if (!hasRefSat) {
+ RefSat = prnVec_1[j];
+ hasRefSat = true;
+ if (RefSat != OldRefSat) {
+ // Ref sat change; invalidates
+ // unknowns
+ CommonSatsPrev.clear();
+ cout << "New ref sat:" << RefSat << endl;
+ //DDobsValid.clear();
+ //SecsValid.clear();
+ }
+
+ ref_rdiffL1 = rdiffL1;
+ ref_rdiffL2 = rdiffL2;
+ Qref = q_;
+ for (int k = 0; k < MaxUnkn; k++)
+ ref_A[k] = A_[k];
+ } else {
+ // Construct inter-sat diffs
+ bool reject(false);
+ FixType fix(FIX_NONE);
+ vector <double> DDobs(3);
+ DDobs[1] = rdiffL1 - ref_rdiffL1;
+ DDobs[2] = rdiffL2 - ref_rdiffL2;
+
+ // iono free observable, unit metres
+ DDobs[0] =
+ wt1 * DDobs[1] + wt2 * DDobs[2];
+ for (int k = 0; k < MaxUnkn; k++)
+ A_[k] -= ref_A[k];
+
+ RinexPrn ThisSat = prnVec_1[j];
+ if (CommonSatsPrev.find(ThisSat) ==
+ CommonSatsPrev.end()) {
+ // New satellite
+ CommonSats[ThisSat] = unknowns;
+ if (phase) {
+ cout << endl << "New unknown "
+ << unknowns << " == "
+ << ThisSat << endl;
+
+ // create new DD ambiguity unknown
+ A_[unknowns] = 1.0;
+ // Initial approx. ambiguities
+ if (l == 0)
+ for (int k = 0; k < 3; k++)
+ x0(unknowns,k) =
+ DDobs[k];
+
+ for (int k = 0; k < 3; k++)
+ DDobs[k] -=
+ x0(unknowns,k);
+ unknowns++;
+ } else {
+ // Rough test double diffs
+ //reject = (std::abs(DDobs[0]) > 1.0);
+ }
+ // Initialize previous obs for
+ // triple diff comp
+ DDobsPrev[ThisSat] = DDobs[0];
+ SecsPrev[ThisSat] = Secs;
+ reject = false;
+ } else {
+
+ // Already known sat, copy
+ // forward
+ CommonSats[ThisSat] =
+ CommonSatsPrev[ThisSat];
+ if (phase) {
+ A_[CommonSats[ThisSat]] = 1.0;
+ for (int k = 0; k < 3; k++)
+ DDobs[k] -=
+ x0(CommonSats[ThisSat],k);
+ }
+
+ // Triple difference testing
+
+ double timebase
+ = Secs - SecsPrev[ThisSat];
+ timebase = (timebase > 120 ? 120 :
+ timebase);
+ double res
+ = (DDobs[0] - DDobsPrev[ThisSat]) / timebase;
+ // Cycle slips will show up here
+ // over 30 s as 0.0226 and
+ // 0.0131, respectively.
+ reject =
+ (std::abs(res) *
+ sqrt(2.0 / (Qref + q_)) >
+ (phase ? 0.001 : 0.1));
+
+ if (!reject)
+ RMS += res * res;
+ else {
+ rejections++;
+ }
+ if (debug) {
+ cout << ThisSat << ":";
+ if (reject)
+ cout << "REJ [" <<
+ Elev10[i] << ":" <<
+ Elev20[i] << "] ";
+ cout << setprecision(4) << res
+ << " ";
+ }
+ observations++;
+ }
+
+ if (!reject) {
+ // Update "last good" obs
+ DDobsPrev[ThisSat] = DDobs[0];
+ SecsPrev[ThisSat] = Secs;
+
+ // Collect per-obs quantities
+ // into per-epoch tables
+ for (int k = 0; k < unknowns; k++)
+ A(k, nObs) = A_[k];
+ for (int k = 0; k < 3; k++)
+ Obs(nObs, k) = DDobs[k];
+ Q[nObs] = q_;
+ nObs++;
+ }
+
+ } // end other-than-ref sats
+ // processing
+
+ } // end sats visible from both stations
+ }
+ }
+ } // All obs for this epoch processed
+
+ if (nObs > 0) {
+ gpstk::Matrix <double> Qmat(nObs, nObs, 0.0);
+ for (int io = 0; io < nObs; io++) {
+ if (truecov)
+ for (int jo = 0; jo < nObs; jo++)
+ Qmat(io, jo) = Qref;
+ Qmat(io, io) += Q[io];
+ }
+ Qmat = gpstk::inverse(Qmat);
+
+ // Right hand side vector
+ for (int k = 0; k < unknowns; k++)
+ for (int io = 0; io < nObs; io++) {
+ for (int jo = 0; jo < nObs; jo++)
+ for (int ot = 0; ot < 3; ot++)
+ b(k, ot) += A(k, io) * Obs(jo, ot)
+ * Qmat(io, jo);
+
+ }
+
+ // Normal eqs fill-in with full weight matrix per-epoch
+ for (int k = 0; k < unknowns; k++) {
+ for (int io = 0; io < nObs; io++) {
+ if (A(k, io) != 0.0) { // Optimize
+ for (int m = 0; m < unknowns; m++) {
+ for (int jo = 0; jo < nObs; jo++)
+ N(k, m) += A(k, io) * A(m, jo) *
+ Qmat(io, jo);
+ }
+ }
+ }
+ }
+ } // Normals building
+
+ cout << endl;
+ cout << "epoch " << rod1.time;
+ cout << " unkn " << unknowns;
+ cout << " obs " << nObs;
+ cout << " sats " << CommonSats.size() << endl;
+
+ CommonSatsPrev = CommonSats;
+ OldRefSat = RefSat;
+
+ } // End usable data
+
+ } // End loop through each epoch
+
+ cout << endl;
+ cout << "Total unknowns: " << unknowns << endl;
+ cout << "Observations: " << observations << endl;
+ cout << "Rejected: " << rejections;
+ cout << " or " << 100.0 * rejections / observations << "%" << endl;
+ cout << "Triple-diff RMS [m/s]: " << sqrt(RMS /
+ (observations -
+ rejections)) << endl;
+
+ if (debug)
+ cout << "Start of b vector:" << setw(6) << endl
+ << "b0: " << b(0,0) << " " << b(1,0) << " " << b(2,0) << endl
+ << "b1: " << b(0,1) << " " << b(1,1) << " " << b(2,1) << endl
+ << "b2: " << b(0,2) << " " << b(1,2) << " " << b(2,2)
+ << endl << endl;
+
+ // Here we solve the normal equations and print solution
+ gpstk::Matrix <double> NN(unknowns, unknowns);
+ gpstk::Matrix <double> bb(unknowns, 3);
+ Solve(N, b, NN, bb, SOLVE_COORDS, fixed, MaxUnkn, unknowns);
+
+ cout << "Weight coefficient matrix:" << endl;
+ for (int i = 0; i < MaxUnkn; i++) {
+ for (int j = 0; j < MaxUnkn; j++) {
+ cout << setw(10) << NN(i, j) << " ";
+ }
+ cout << endl;
+ }
+ cout << endl;
+
+ // Solution:
+ gpstk::Matrix <double> sol = NN * bb;
+
+ cout << "Solution (correction to inter-station vector):" <<
+ endl;
+ Pos1 = Position(sol(0,0), sol(1,0), sol(2,0));
+ Position PosCorr0 = Pos1;
+ Position PosCorr1 = Position(sol(0,1), sol(1,1), sol(2,1));
+ Position PosCorr2 = Position(sol(0,2), sol(1,2), sol(2,2));
+ if (!vecmode) {
+ Pos2 = Position(sol(3,0), sol(4,0), sol(5,0));
+ PosCorr0 = PosCorr0 - Pos2;
+ PosCorr1 = PosCorr1 - Position(sol(3,1), sol(4,1), sol(5,1));
+ PosCorr2 = PosCorr2 - Position(sol(3,2), sol(4,2), sol(5,2));
+ }
+ cout << "Iono free: " << PosCorr0 << " <--" << endl;
+ if (debug || iono) {
+ cout << "Freq. 1: " << PosCorr1 << endl;
+ cout << "Freq. 2: " << PosCorr2 << endl;
+ }
+ cout << endl;
+
+ // Manhattan distance for iteration stop:
+ crit = std::abs(PosCorr0[0]) + std::abs(PosCorr0[1])
+ + std::abs(PosCorr0[2]);
+
+ cout << "Standard deviations (unscaled):" << endl;
+ for (int k = 0; k < MaxUnkn; k++)
+ cout << sqrt(NN(k, k)) << " ";
+ cout << endl;
+
+ Position vec(t1 - t2);
+ cout << "A priori vector:" << endl << vec << endl;
+ vec = vec + PosCorr0; // define += operator!
+ cout << "A posteriori vector:" << endl << vec << endl << endl;
+
+ if (tropo) {
+ cout <<
+ "Troposheric corr. parameters (fraction of full effect):"
+ << endl;
+
+ cout << sol(MaxUnkn - 2, 0) << " " << sol(MaxUnkn - 1, 0) << endl;
+ cout << "Standard deviations (unscaled):" << endl;
+ cout << sqrt(NN(MaxUnkn - 2, MaxUnkn - 2)) << " "
+ << sqrt(NN(MaxUnkn - 1, MaxUnkn - 1)) << endl <<
+ endl;
+ }
+
+ // Ambiguity fixing on the unknowns, keeping coords as known:
+ if (phase) {
+ Solve(N, b, NN, bb, SOLVE_AMBS, fixed, MaxUnkn, unknowns);
+ sol = NN * bb;
+
+ int fixedunknowns = 0;
+ int widelanes = 0;
+ cout << " DD bias fixes (fractional cycles):" << endl;
+ for (int k = MaxUnkn; k < unknowns; k++) {
+ cout << "[" << sqrt(NN(k,k)) << "] ";
+ cout << k << ": ";
+ vector <double> x0vec(3);
+ x0vec[1] = x0(k, 1) + sol(k, 1);
+ x0vec[2] = x0(k, 2) + sol(k, 2);
+ FixType f = phaseCycles(x0vec, lambda1, lambda2);
+ // remember to correct iono-free too
+ x0(k, 0) = wt1 * x0vec[1] + wt2 * x0vec[2];
+ x0(k, 1) = x0vec[1];
+ x0(k, 2) = x0vec[2];
+ if (f == FIX_BOTH)
+ fixedunknowns++;
+ if (f == FIX_WIDELANE)
+ widelanes++;
+ fixed[k] = f;
+ }
+ cout << endl;
+ cout << "Fixed: " << fixedunknowns << " "
+ << 100.0 * fixedunknowns / (unknowns - MaxUnkn) << "%" << endl;
+ cout << "Widelanes: " << widelanes << " "
+ << 100.0 * widelanes / (unknowns - MaxUnkn) << "%" << endl;
+ cout << endl;
+ }
+
+ } // iteration loop end
+
+ cout << "Finished." << endl;
+ }
+ catch(Exception & e) {
+ cerr << e << endl;
+ }
+ catch(...) {
+ cerr << "Caught an unexpected exception." << endl;
+ }
+
+ exit(0);
+
+}
diff --git a/trunk/apps/differential/vecsol.eph b/trunk/apps/differential/vecsol.eph
new file mode 100644
index 0000000..cc660a7
--- /dev/null
+++ b/trunk/apps/differential/vecsol.eph
@@ -0,0 +1,7 @@
+# The sp3 precise ephemeris file. Use # in first pos for comment
+# Day 6 of GPS week 1323 is May 21, 2005
+igs13235.sp3
+igs13236.sp3
+#gfz13236.sp3
+igs13240.sp3
+
diff --git a/trunk/apps/differential/vecsol.nav b/trunk/apps/differential/vecsol.nav
new file mode 100644
index 0000000..440d7e2
--- /dev/null
+++ b/trunk/apps/differential/vecsol.nav
@@ -0,0 +1,3 @@
+# Broadcast ephemeris file. Use # in first pos for comment
+# day 141 of 2005 is May 21
+brdc1410.05n
diff --git a/trunk/apps/differential/vecsol.pdf b/trunk/apps/differential/vecsol.pdf
new file mode 100644
index 0000000..fa6b0cf
Binary files /dev/null and b/trunk/apps/differential/vecsol.pdf differ
diff --git a/trunk/apps/difftools/DiffFrame.hpp b/trunk/apps/difftools/DiffFrame.hpp
new file mode 100644
index 0000000..6d13e6c
--- /dev/null
+++ b/trunk/apps/difftools/DiffFrame.hpp
@@ -0,0 +1,84 @@
+#pragma ident "$Id $"
+
+#ifndef DIFFFRAME_HPP
+#define DIFFFRAME_HPP
+
+#include "CommandOptionWithTimeArg.hpp"
+#include "BasicFramework.hpp"
+
+class DiffFrame : public gpstk::BasicFramework
+{
+public:
+ /**
+ * arg0 is the name of the executable from argv[0].
+ * type is a string with the type of file (i.e. "RINEX Obs").
+ * message is an extra message that gets passed to the
+ * program description.
+ */
+ DiffFrame(char* arg0,
+ const std::string& type,
+ const std::string& message = std::string())
+ : gpstk::BasicFramework(arg0,
+ "Diffs input " + type + " files. " + message),
+ timeOption('t', "time", "Start of time range to compare (default ="
+ " \"beginning of time\")"),
+ eTimeOption('e', "end-time", "End of time range to compare"
+ " (default = \"end of time\")"),
+ inputFileOption("An input " + type + " file.", true),
+ startTime(gpstk::DayTime::BEGINNING_OF_TIME),
+ endTime(gpstk::DayTime::END_OF_TIME)
+ {
+ inputFileOption.setMaxCount(2);
+ timeOption.setMaxCount(1);
+ eTimeOption.setMaxCount(1);
+ timeOptions.addOption(&timeOption);
+ timeOptions.addOption(&eTimeOption);
+ }
+
+ virtual bool initialize(int argc, char* argv[]) throw()
+ {
+ if (!gpstk::BasicFramework::initialize(argc, argv))
+ {
+ return false;
+ }
+
+ if (inputFileOption.getCount() != 2)
+ {
+ std::cerr << "This program requires two input files." << std::endl;
+ return false;
+ }
+
+ if (timeOption.getCount())
+ {
+ startTime = timeOption.getTime()[0];
+ }
+
+ if (eTimeOption.getCount())
+ {
+ endTime = eTimeOption.getTime()[0];
+ }
+
+ if (startTime > endTime)
+ {
+ std::cerr << "End time can't precede start time." << std::endl;
+ return false;
+ }
+ return true;
+ }
+
+protected:
+ virtual void process() = 0;
+
+ /// start time for file record differencing
+ gpstk::CommandOptionWithSimpleTimeArg timeOption;
+ /// end time for file record differencing
+ gpstk::CommandOptionWithSimpleTimeArg eTimeOption;
+ /// if either of the time options are set
+ gpstk::CommandOptionGroupOr timeOptions;
+ gpstk::CommandOptionRest inputFileOption;
+
+ gpstk::DayTime startTime, endTime;
+};
+
+
+#endif
diff --git a/trunk/apps/difftools/Jamfile b/trunk/apps/difftools/Jamfile
new file mode 100644
index 0000000..addfa3a
--- /dev/null
+++ b/trunk/apps/difftools/Jamfile
@@ -0,0 +1,12 @@
+# $Id: //depot/sgl/gpstk/dev/apps/difftools/Jamfile#2 $
+
+SubDir TOP apps difftools ;
+
+GPSLinkLibraries rowdiff rnwdiff rmwdiff ephdiff ficdiff : gpstk ;
+BonkForte ; # bleah.
+
+GPSMain rowdiff : rowdiff.cpp ;
+GPSMain rnwdiff : rnwdiff.cpp ;
+GPSMain rmwdiff : rmwdiff.cpp ;
+GPSMain ephdiff : ephdiff.cpp ;
+GPSMain ficdiff : ficdiff.cpp ;
diff --git a/trunk/apps/difftools/Makefile.am b/trunk/apps/difftools/Makefile.am
new file mode 100644
index 0000000..4294034
--- /dev/null
+++ b/trunk/apps/difftools/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = rowdiff rnwdiff rmwdiff ephdiff ficdiff
+
+rowdiff_SOURCES = rowdiff.cpp
+rnwdiff_SOURCES = rnwdiff.cpp
+rmwdiff_SOURCES = rmwdiff.cpp
+ephdiff_SOURCES = ephdiff.cpp
+ficdiff_SOURCES = ficdiff.cpp
diff --git a/trunk/apps/difftools/Makefile.in b/trunk/apps/difftools/Makefile.in
new file mode 100644
index 0000000..b4aa597
--- /dev/null
+++ b/trunk/apps/difftools/Makefile.in
@@ -0,0 +1,460 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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@
+noinst_PROGRAMS = rowdiff$(EXEEXT) rnwdiff$(EXEEXT) rmwdiff$(EXEEXT) \
+ ephdiff$(EXEEXT) ficdiff$(EXEEXT)
+subdir = apps/difftools
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_ephdiff_OBJECTS = ephdiff.$(OBJEXT)
+ephdiff_OBJECTS = $(am_ephdiff_OBJECTS)
+ephdiff_LDADD = $(LDADD)
+ephdiff_DEPENDENCIES = ../../src/libgpstk.la
+am_ficdiff_OBJECTS = ficdiff.$(OBJEXT)
+ficdiff_OBJECTS = $(am_ficdiff_OBJECTS)
+ficdiff_LDADD = $(LDADD)
+ficdiff_DEPENDENCIES = ../../src/libgpstk.la
+am_rmwdiff_OBJECTS = rmwdiff.$(OBJEXT)
+rmwdiff_OBJECTS = $(am_rmwdiff_OBJECTS)
+rmwdiff_LDADD = $(LDADD)
+rmwdiff_DEPENDENCIES = ../../src/libgpstk.la
+am_rnwdiff_OBJECTS = rnwdiff.$(OBJEXT)
+rnwdiff_OBJECTS = $(am_rnwdiff_OBJECTS)
+rnwdiff_LDADD = $(LDADD)
+rnwdiff_DEPENDENCIES = ../../src/libgpstk.la
+am_rowdiff_OBJECTS = rowdiff.$(OBJEXT)
+rowdiff_OBJECTS = $(am_rowdiff_OBJECTS)
+rowdiff_LDADD = $(LDADD)
+rowdiff_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(ephdiff_SOURCES) $(ficdiff_SOURCES) $(rmwdiff_SOURCES) \
+ $(rnwdiff_SOURCES) $(rowdiff_SOURCES)
+DIST_SOURCES = $(ephdiff_SOURCES) $(ficdiff_SOURCES) \
+ $(rmwdiff_SOURCES) $(rnwdiff_SOURCES) $(rowdiff_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+rowdiff_SOURCES = rowdiff.cpp
+rnwdiff_SOURCES = rnwdiff.cpp
+rmwdiff_SOURCES = rmwdiff.cpp
+ephdiff_SOURCES = ephdiff.cpp
+ficdiff_SOURCES = ficdiff.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apps/difftools/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu apps/difftools/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+ephdiff$(EXEEXT): $(ephdiff_OBJECTS) $(ephdiff_DEPENDENCIES)
+ @rm -f ephdiff$(EXEEXT)
+ $(CXXLINK) $(ephdiff_LDFLAGS) $(ephdiff_OBJECTS) $(ephdiff_LDADD) $(LIBS)
+ficdiff$(EXEEXT): $(ficdiff_OBJECTS) $(ficdiff_DEPENDENCIES)
+ @rm -f ficdiff$(EXEEXT)
+ $(CXXLINK) $(ficdiff_LDFLAGS) $(ficdiff_OBJECTS) $(ficdiff_LDADD) $(LIBS)
+rmwdiff$(EXEEXT): $(rmwdiff_OBJECTS) $(rmwdiff_DEPENDENCIES)
+ @rm -f rmwdiff$(EXEEXT)
+ $(CXXLINK) $(rmwdiff_LDFLAGS) $(rmwdiff_OBJECTS) $(rmwdiff_LDADD) $(LIBS)
+rnwdiff$(EXEEXT): $(rnwdiff_OBJECTS) $(rnwdiff_DEPENDENCIES)
+ @rm -f rnwdiff$(EXEEXT)
+ $(CXXLINK) $(rnwdiff_LDFLAGS) $(rnwdiff_OBJECTS) $(rnwdiff_LDADD) $(LIBS)
+rowdiff$(EXEEXT): $(rowdiff_OBJECTS) $(rowdiff_DEPENDENCIES)
+ @rm -f rowdiff$(EXEEXT)
+ $(CXXLINK) $(rowdiff_LDFLAGS) $(rowdiff_OBJECTS) $(rowdiff_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ephdiff.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ficdiff.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rmwdiff.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rnwdiff.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rowdiff.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/difftools/ephdiff b/trunk/apps/difftools/ephdiff
new file mode 100755
index 0000000..2603d65
Binary files /dev/null and b/trunk/apps/difftools/ephdiff differ
diff --git a/trunk/apps/difftools/ephdiff.cpp b/trunk/apps/difftools/ephdiff.cpp
new file mode 100644
index 0000000..ea3947f
--- /dev/null
+++ b/trunk/apps/difftools/ephdiff.cpp
@@ -0,0 +1,359 @@
+#pragma ident "$Id $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FICStream.hpp"
+#include "FICData.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+#include "FileFilterFrame.hpp"
+
+#include "BasicFramework.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+struct EphDiffLessThan :
+ public std::binary_function<EngEphemeris, EngEphemeris, bool>
+{
+public:
+ bool operator() (const EngEphemeris& l, const EngEphemeris& r) const
+ {
+ if (l.getPRNID() < r.getPRNID())
+ return true;
+ else if (l.getPRNID() > r.getPRNID())
+ return false;
+ else if (l.getFullWeek() < r.getFullWeek())
+ return true;
+ else if (l.getFullWeek() > r.getFullWeek())
+ return false;
+ else if (l.getIODC() < r.getIODC())
+ return true;
+ else if (l.getIODC() > r.getIODC())
+ return false;
+ else if (l.getASAlert(1) < r.getASAlert(1))
+ return true;
+ else if (l.getASAlert(1) > r.getASAlert(1))
+ return false;
+ else if (l.getASAlert(2) < r.getASAlert(2))
+ return true;
+ else if (l.getASAlert(2) > r.getASAlert(2))
+ return false;
+ else if (l.getASAlert(3) < r.getASAlert(3))
+ return true;
+ else if (l.getASAlert(3) > r.getASAlert(3))
+ return false;
+
+ return false;
+ }
+};
+
+struct EphDiffEquals :
+ public std::binary_function<EngEphemeris, EngEphemeris, bool>
+{
+public:
+ bool operator() (const EngEphemeris& l, const EngEphemeris& r) const
+ {
+ if ( (l.getPRNID() == r.getPRNID()) &&
+ (l.getIODC() == r.getIODC()) )
+ return true;
+ return false;
+ }
+};
+
+struct EphDiffFinder :
+ public std::unary_function<EngEphemeris, bool>
+{
+public:
+ EphDiffFinder(const EngEphemeris& e)
+ : PRN(e.getPRNID()), IODC(e.getIODC())
+ {}
+
+ bool operator() (const EngEphemeris& l) const
+ {
+ if ( (l.getPRNID() == PRN) && (l.getIODC() == IODC) )
+ return true;
+ return false;
+ }
+
+private:
+ short PRN;
+ double IODC;
+};
+
+class EphDiff : public BasicFramework
+{
+public:
+ EphDiff(char* arg0);
+ virtual bool initialize(int argc, char* argv[]) throw();
+
+protected:
+ virtual void process();
+
+ void fillFIC(FileFilterFrame<FICStream, FICData>& ff,
+ vector<EngEphemeris>& l);
+ void fillRINEX(FileFilterFrame<RinexNavStream, RinexNavData>& ff,
+ vector<EngEphemeris>& l);
+
+private:
+ CommandOptionWithAnyArg ficFileOption;
+ CommandOptionWithAnyArg rinexFileOption;
+
+ string file1, file2;
+
+ vector<EngEphemeris> file1list, file2list;
+};
+
+EphDiff::EphDiff(char* arg0)
+ : BasicFramework(arg0, "Compares the contents of two files with ephemeris data - either file can be RINEX or FIC"),
+ ficFileOption('f',
+ "fic",
+ "Name of an input FIC file.",
+ false),
+ rinexFileOption('r',
+ "rinex",
+ "Name of an input RINEX NAV file",
+ false)
+{
+}
+
+bool EphDiff::initialize(int argc, char* argv[]) throw()
+{
+ if(!BasicFramework::initialize(argc, argv))
+ {
+ return false;
+ }
+
+ // check the command options for 2 input files
+ int ficCount = ficFileOption.getCount();
+ int rinexCount = rinexFileOption.getCount();
+
+ if ( ((ficCount == 2) && (rinexCount != 0)) ||
+ ((ficCount == 1) && (rinexCount != 1)) ||
+ ((ficCount == 0) && (rinexCount != 2)) )
+ {
+ cout << "Exactly two input files must be specified on the command line"
+ << endl
+ << " ephdiff is ending..." << endl
+ << endl;
+ return false;
+ }
+
+ // open the files
+
+ // in the case of 1 FIC and 1 rinex file, make sure the first file
+ // is chosen correctly...
+ if ( (ficCount == 1) && (rinexCount == 1) )
+ {
+ string ficname = ficFileOption.getValue()[0];
+ string rinexname = rinexFileOption.getValue()[0];
+
+ FileFilterFrame<FICStream, FICData> ficdata(ficname);
+ FileFilterFrame<RinexNavStream, RinexNavData> rinexdata(rinexname);
+
+ if (ficFileOption.getOrder() < rinexFileOption.getOrder())
+ {
+ file1 = ficname;
+ file2 = rinexname;
+ fillFIC(ficdata, file1list);
+ fillRINEX(rinexdata, file2list);
+ }
+ else
+ {
+ file1 = rinexname;
+ file2 = ficname;
+ fillRINEX(rinexdata, file1list);
+ fillFIC(ficdata, file2list);
+ }
+
+ }
+ else if (ficCount == 2)
+ {
+ file1 = ficFileOption.getValue()[0];
+ FileFilterFrame<FICStream, FICData> fic1(file1);
+ file2 = ficFileOption.getValue()[1];
+ FileFilterFrame<FICStream, FICData> fic2(file2);
+
+ fillFIC(fic1, file1list);
+ fillFIC(fic2, file2list);
+ }
+ else // if (rinexCount == 2)
+ {
+ file1 = rinexFileOption.getValue()[0];
+ FileFilterFrame<RinexNavStream, RinexNavData> rn1(file1);
+ file2 = rinexFileOption.getValue()[1];
+ FileFilterFrame<RinexNavStream, RinexNavData> rn2(file2);
+
+ fillRINEX(rn1, file1list);
+ fillRINEX(rn2, file2list);
+ }
+
+ return true;
+}
+
+void EphDiff::process()
+{
+ // first sort and filter the lists
+ stable_sort(file1list.begin(), file1list.end(), EphDiffLessThan());
+ stable_sort(file2list.begin(), file2list.end(), EphDiffLessThan());
+
+ vector<EngEphemeris>::iterator listitr;
+
+ listitr = unique(file1list.begin(), file1list.end(), EphDiffEquals());
+ file1list.erase(listitr, file1list.end());
+
+ listitr = unique(file2list.begin(), file2list.end(), EphDiffEquals());
+ file2list.erase(listitr, file2list.end());
+
+ // for each element in the first list, try to find a match in the
+ // second list. if a match is found, compare the data. otherwise
+ // add to the unmatchedData list.
+ vector<EngEphemeris> unmatchedData;
+
+ while (!file1list.empty())
+ {
+ listitr = find_if(file2list.begin(),
+ file2list.end(),
+ EphDiffFinder(file1list[0]));
+
+ if (listitr != file2list.end())
+ {
+ // compare the data
+
+ // delete the data so we don't search for it again
+ file2list.erase(listitr);
+ }
+ else
+ unmatchedData.push_back(file1list[0]);
+
+ file1list.erase(file1list.begin());
+ }
+
+ // that's all the processing... now just write the results
+ cout << "Data in " << file1 << " not found in " << file2 << ": " << endl;
+
+ if (!unmatchedData.empty())
+ {
+ listitr = unmatchedData.begin();
+ while (listitr != unmatchedData.end())
+ {
+ (*listitr).dump(cout << endl);
+ listitr++;
+ }
+ }
+ else
+ cout << " All data in " << file1 << " was found in " << file2 << "."
+ << endl;
+
+ cout << endl;
+ cout << "Data in " << file2 << " not found in " << file1 << ": " << endl;
+
+ if (!file2list.empty())
+ {
+ listitr = file2list.begin();
+ while (listitr != file2list.end())
+ {
+ (*listitr).dump(cout << endl);
+ listitr++;
+ }
+ }
+ else
+ cout << " All data in " << file2 << " was found in " << file1 << "."
+ << endl;
+
+}
+
+void EphDiff::fillFIC(FileFilterFrame<FICStream, FICData>& ff,
+ vector<EngEphemeris>& l)
+{
+ list<FICData>& ficlist = ff.getData();
+
+ list<FICData>::iterator itr = ficlist.begin();
+
+ while (itr != ficlist.end())
+ {
+ if ((*itr).blockNum == 9)
+ l.push_back(*itr);
+ itr++;
+ }
+}
+
+void EphDiff::fillRINEX(FileFilterFrame<RinexNavStream, RinexNavData>& ff,
+ vector<EngEphemeris>& l)
+{
+ list<RinexNavData>& ficlist = ff.getData();
+
+ list<RinexNavData>::iterator itr = ficlist.begin();
+
+ while (itr != ficlist.end())
+ {
+ l.push_back(EngEphemeris(*itr));
+ itr++;
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ EphDiff ed(argv[0]);
+ if (!ed.initialize(argc, argv))
+ return 0;
+ if (!ed.run())
+ return 1;
+
+ return 0;
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
diff --git a/trunk/apps/difftools/ficdiff b/trunk/apps/difftools/ficdiff
new file mode 100755
index 0000000..4f266fb
Binary files /dev/null and b/trunk/apps/difftools/ficdiff differ
diff --git a/trunk/apps/difftools/ficdiff.cpp b/trunk/apps/difftools/ficdiff.cpp
new file mode 100644
index 0000000..c8c16a7
--- /dev/null
+++ b/trunk/apps/difftools/ficdiff.cpp
@@ -0,0 +1,103 @@
+#pragma ident "$Id $"
+
+#include "FICFilterOperators.hpp"
+#include "FileFilterFrame.hpp"
+
+#include "DiffFrame.hpp"
+#include "FICData.hpp"
+#include "FICStream.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class FICDiff : public DiffFrame
+{
+public:
+ FICDiff(char* arg0)
+ : DiffFrame(arg0,
+ std::string("binary FIC"))
+ {}
+
+protected:
+ virtual void process();
+};
+
+void FICDiff::process()
+{
+ try
+ {
+ FileFilterFrame<FICStream, FICData> ff1(inputFileOption.getValue()[0]);
+ FileFilterFrame<FICStream, FICData> ff2(inputFileOption.getValue()[1]);
+
+ ff1.sort(FICDataOperatorLessThanFull());
+ ff2.sort(FICDataOperatorLessThanFull());
+
+ pair< list<FICData>, list<FICData> > difflist =
+ ff1.diff(ff2, FICDataOperatorLessThanFull());
+
+ if (difflist.first.empty() && difflist.second.empty())
+ exit(0);
+
+ list<FICData>::iterator itr = difflist.first.begin();
+ while (itr != difflist.first.end())
+ {
+ (*itr).dump(cout << '<');
+ itr++;
+ }
+
+ cout << endl;
+
+ itr = difflist.second.begin();
+ while (itr != difflist.second.end())
+ {
+ (*itr).dump(cout << '>');
+ itr++;
+ }
+
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl
+ << endl
+ << "Terminating.." << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl
+ << endl
+ << "Terminating.." << endl;
+ }
+ catch(...)
+ {
+ cout << "Unknown exception... terminating..." << endl;
+ }
+
+}
+
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ FICDiff m(argv[0]);
+ if (!m.initialize(argc, argv))
+ return 0;
+ if (!m.run())
+ return 1;
+
+ return 0;
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 0;
+}
diff --git a/trunk/apps/difftools/rmwdiff b/trunk/apps/difftools/rmwdiff
new file mode 100755
index 0000000..1ee9bb5
Binary files /dev/null and b/trunk/apps/difftools/rmwdiff differ
diff --git a/trunk/apps/difftools/rmwdiff.cpp b/trunk/apps/difftools/rmwdiff.cpp
new file mode 100644
index 0000000..dcf8b23
--- /dev/null
+++ b/trunk/apps/difftools/rmwdiff.cpp
@@ -0,0 +1,221 @@
+#pragma ident "$Id $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileFilterFrameWithHeader.hpp"
+
+#include "RinexMetData.hpp"
+#include "RinexMetStream.hpp"
+#include "RinexMetFilterOperators.hpp"
+
+#include "DiffFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class RMWDiff : public DiffFrame
+{
+public:
+ RMWDiff(char* arg0)
+ : DiffFrame(arg0,
+ std::string("RINEX Met"))
+ {}
+
+protected:
+ virtual void process();
+};
+
+
+void RMWDiff::process()
+{
+ try
+ {
+ FileFilterFrameWithHeader<RinexMetStream, RinexMetData, RinexMetHeader>
+ ff1(inputFileOption.getValue()[0]), ff2(inputFileOption.getValue()[1]);
+
+ // find the obs data intersection
+ RinexMetHeaderTouchHeaderMerge merged;
+
+ // no data? FIX make this program faster.. if one file
+ // doesn't exist, there's little point in reading any.
+ if (ff1.emptyHeader())
+ cerr << "No header information for " << inputFileOption.getValue()[0]
+ << endl;
+ if (ff2.emptyHeader())
+ cerr << "No header information for " << inputFileOption.getValue()[1]
+ << endl;
+ if (ff1.emptyHeader() || ff2.emptyHeader())
+ {
+ cerr << "Check that files exist." << endl;
+ cerr << "diff failed." << endl;
+ exit(1);
+ }
+
+ merged(ff1.frontHeader());
+ merged(ff2.frontHeader());
+
+ set<RinexMetHeader::RinexMetType> intersection = merged.obsSet;
+
+ cout << "Comparing the following fields (other header data is ignored):" << endl;
+ set<RinexMetHeader::RinexMetType>::iterator m = intersection.begin();
+ while (m != intersection.end())
+ {
+ cout << RinexMetHeader::convertObsType(*m) << ' ';
+ m++;
+ }
+ cout << endl;
+
+ if (timeOptions.getCount())
+ {
+ ff1.filter(RinexMetDataFilterTime(startTime, endTime));
+ ff2.filter(RinexMetDataFilterTime(startTime, endTime));
+ }
+
+ ff1.sort(RinexMetDataOperatorLessThanFull(intersection));
+ ff2.sort(RinexMetDataOperatorLessThanFull(intersection));
+
+ pair< list<RinexMetData>, list<RinexMetData> > difflist =
+ ff1.diff(ff2, RinexMetDataOperatorLessThanFull(intersection));
+
+ if (difflist.first.empty() && difflist.second.empty())
+ exit(0);
+
+ list<RinexMetData>::iterator firstitr = difflist.first.begin();
+ while (firstitr != difflist.first.end())
+ {
+ bool matched = false;
+ list<RinexMetData>::iterator seconditr = difflist.second.begin();
+ while ((!matched) && (seconditr != difflist.second.end()))
+ {
+ if (firstitr->time == seconditr->time)
+ {
+ cout << setw(3) << firstitr->time.DOYday() << ' '
+ << setw(10) << setprecision(0)
+ << firstitr->time.DOYsecond() << ' '
+ << ff1.frontHeader().markerName << ' '
+ << ff2.frontHeader().markerName << ' ';
+
+ for (m = intersection.begin(); m != intersection.end(); m++)
+ {
+ double diff = firstitr->data[*m];
+ diff -= seconditr->data[*m];
+
+ cout << setw(7) << setprecision(1) << fixed << diff << ' '
+ << RinexMetHeader::convertObsType(*m) << ' ';
+
+ }
+ cout << endl;
+
+ firstitr = difflist.first.erase(firstitr);
+ seconditr = difflist.second.erase(seconditr);
+ matched = true;
+ }
+ else
+ seconditr++;
+ }
+
+ if (!matched)
+ firstitr++;
+ }
+
+ list<RinexMetData>::iterator itr = difflist.first.begin();
+ while (itr != difflist.first.end())
+ {
+ (*itr).dump(cout << '<');
+ itr++;
+ }
+
+ cout << endl;
+
+ itr = difflist.second.begin();
+ while (itr != difflist.second.end())
+ {
+ (*itr).dump(cout << '>');
+ itr++;
+ }
+
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl
+ << endl
+ << "Terminating.." << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl
+ << endl
+ << "Terminating.." << endl;
+ }
+ catch(...)
+ {
+ cout << "Unknown exception... terminating..." << endl;
+ }
+}
+
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ RMWDiff m(argv[0]);
+ if (!m.initialize(argc, argv))
+ return 0;
+ if (!m.run())
+ return 1;
+
+ return 0;
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
diff --git a/trunk/apps/difftools/rnwdiff b/trunk/apps/difftools/rnwdiff
new file mode 100755
index 0000000..ef79e53
Binary files /dev/null and b/trunk/apps/difftools/rnwdiff differ
diff --git a/trunk/apps/difftools/rnwdiff.cpp b/trunk/apps/difftools/rnwdiff.cpp
new file mode 100644
index 0000000..0c1cb3c
--- /dev/null
+++ b/trunk/apps/difftools/rnwdiff.cpp
@@ -0,0 +1,205 @@
+#pragma ident "$Id $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileFilterFrame.hpp"
+
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavFilterOperators.hpp"
+
+#include "DiffFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class RNWDiff : public DiffFrame
+{
+public:
+ RNWDiff(char* arg0)
+ : DiffFrame(arg0,
+ std::string("RINEX Nav"))
+ {}
+
+protected:
+ virtual void process();
+};
+
+
+void RNWDiff::process()
+{
+ try
+ {
+ FileFilterFrame<RinexNavStream, RinexNavData> ff1(inputFileOption.getValue()[0]);
+ FileFilterFrame<RinexNavStream, RinexNavData> ff2(inputFileOption.getValue()[1]);
+
+ ff1.sort(RinexNavDataOperatorLessThanFull());
+ ff2.sort(RinexNavDataOperatorLessThanFull());
+
+ pair< list<RinexNavData>, list<RinexNavData> > difflist =
+ ff1.diff(ff2, RinexNavDataOperatorLessThanFull());
+
+ if (difflist.first.empty() && difflist.second.empty())
+ exit(0);
+
+ list<RinexNavData>::iterator firstitr = difflist.first.begin();
+ while (firstitr != difflist.first.end())
+ {
+ bool matched = false;
+ list<RinexNavData>::iterator seconditr = difflist.second.begin();
+ while ((!matched) && (seconditr != difflist.second.end()))
+ {
+ // this will match the exact same nav message in both
+ // files, not just the same ephemeris broadcasted at
+ // different times.
+ if ((firstitr->time == seconditr->time) &&
+ (firstitr->PRNID == seconditr->PRNID) &&
+ (firstitr->HOWtime == seconditr->HOWtime) )
+ {
+ cout << fixed << setw(3) << firstitr->time.DOYday() << ' '
+ << setw(10) << setprecision(0)
+ << firstitr->time.DOYsecond() << ' '
+ << setw(19) << setprecision(12) << scientific
+ << (firstitr->af0 - seconditr->af0) << ' '
+ << (firstitr->af1 - seconditr->af1) << ' '
+ << (firstitr->af2 - seconditr->af2) << ' '
+ << (firstitr->IODE - seconditr->IODE) << ' '
+ << (firstitr->Crs - seconditr->Crs) << ' '
+ << (firstitr->dn - seconditr->dn) << ' '
+ << (firstitr->M0 - seconditr->M0) << ' '
+ << (firstitr->Cuc - seconditr->Cuc) << ' '
+ << (firstitr->ecc - seconditr->ecc) << ' '
+ << (firstitr->Cus - seconditr->Cus) << ' '
+ << (firstitr->Ahalf - seconditr->Ahalf) << ' '
+ << (firstitr->Toe - seconditr->Toe) << ' '
+ << (firstitr->Cic - seconditr->Cic) << ' '
+ << (firstitr->OMEGA0 - seconditr->OMEGA0) << ' '
+ << (firstitr->Cis - seconditr->Cis) << ' '
+ << (firstitr->i0 - seconditr->i0) << ' '
+ << (firstitr->Crc - seconditr->Crc) << ' '
+ << (firstitr->w - seconditr->w) << ' '
+ << (firstitr->OMEGAdot - seconditr->OMEGAdot) << ' '
+ << (firstitr->idot - seconditr->idot) << ' '
+ << (firstitr->codeflgs - seconditr->codeflgs) << ' '
+ << (firstitr->weeknum - seconditr->weeknum) << ' '
+ << (firstitr->L2Pdata - seconditr->L2Pdata) << ' '
+ << (firstitr->accuracy - seconditr->accuracy) << ' '
+ << (firstitr->health - seconditr->health) << ' '
+ << (firstitr->Tgd - seconditr->Tgd) << ' '
+ << (firstitr->IODC - seconditr->IODC) << ' '
+ << (firstitr->HOWtime - seconditr->HOWtime) << ' '
+ << (firstitr->fitint - seconditr->fitint)
+ << endl;
+
+ firstitr = difflist.first.erase(firstitr);
+ seconditr = difflist.second.erase(seconditr);
+ matched = true;
+ }
+ else
+ seconditr++;
+ }
+
+ if (!matched)
+ firstitr++;
+ }
+
+ list<RinexNavData>::iterator itr = difflist.first.begin();
+ while (itr != difflist.first.end())
+ {
+ (*itr).dump(cout << '<');
+ itr++;
+ }
+
+ cout << endl;
+
+ itr = difflist.second.begin();
+ while (itr != difflist.second.end())
+ {
+ (*itr).dump(cout << '>');
+ itr++;
+ }
+
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl
+ << endl
+ << "Terminating.." << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl
+ << endl
+ << "Terminating.." << endl;
+ }
+ catch(...)
+ {
+ cout << "Unknown exception... terminating..." << endl;
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ RNWDiff m(argv[0]);
+ if (!m.initialize(argc, argv))
+ return 0;
+ if (!m.run())
+ return 1;
+
+ return 0;
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
diff --git a/trunk/apps/difftools/rowdiff b/trunk/apps/difftools/rowdiff
new file mode 100755
index 0000000..0fb29b8
Binary files /dev/null and b/trunk/apps/difftools/rowdiff differ
diff --git a/trunk/apps/difftools/rowdiff.cpp b/trunk/apps/difftools/rowdiff.cpp
new file mode 100644
index 0000000..d64e054
--- /dev/null
+++ b/trunk/apps/difftools/rowdiff.cpp
@@ -0,0 +1,203 @@
+#pragma ident "$Id $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileFilterFrameWithHeader.hpp"
+
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexObsFilterOperators.hpp"
+
+#include "DiffFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class ROWDiff : public DiffFrame
+{
+public:
+ ROWDiff(char* arg0)
+ : DiffFrame(arg0,
+ std::string("RINEX Obs"))
+ {}
+
+protected:
+ virtual void process();
+};
+
+void ROWDiff::process()
+{
+ gpstk::FileFilterFrameWithHeader<RinexObsStream, RinexObsData, RinexObsHeader>
+ ff1(inputFileOption.getValue()[0]), ff2(inputFileOption.getValue()[1]);
+
+ // find the obs data intersection
+ RinexObsHeaderTouchHeaderMerge merged;
+
+ // no data? FIX make this program faster.. if one file
+ // doesn't exist, there's little point in reading any.
+ if (ff1.emptyHeader())
+ cerr << "No header information for " << inputFileOption.getValue()[0]
+ << endl;
+ if (ff2.emptyHeader())
+ cerr << "No header information for " << inputFileOption.getValue()[1]
+ << endl;
+ if (ff1.emptyHeader() || ff2.emptyHeader())
+ {
+ cerr << "Check that files exist." << endl;
+ cerr << "diff failed." << endl;
+ exit(1);
+ }
+
+ merged(ff1.frontHeader());
+ merged(ff2.frontHeader());
+
+ cout << "Comparing the following fields (other header data is ignored):"
+ << endl;
+ set<RinexObsHeader::RinexObsType> intersection = merged.obsSet;
+ set<RinexObsHeader::RinexObsType>::iterator m = intersection.begin();
+ while (m != intersection.end())
+ {
+ cout << gpstk::RinexObsHeader::convertObsType(*m) << ' ';
+ m++;
+ }
+ cout << endl;
+
+ ff1.sort(RinexObsDataOperatorLessThanFull(intersection));
+ ff2.sort(RinexObsDataOperatorLessThanFull(intersection));
+
+ pair< list<RinexObsData>, list<RinexObsData> > difflist =
+ ff1.diff(ff2, RinexObsDataOperatorLessThanFull(intersection));
+
+ if (difflist.first.empty() && difflist.second.empty())
+ exit(0);
+
+ list<RinexObsData>::iterator firstitr = difflist.first.begin();
+ while (firstitr != difflist.first.end())
+ {
+ bool matched = false;
+ list<RinexObsData>::iterator seconditr = difflist.second.begin();
+ while ((!matched) && (seconditr != difflist.second.end()))
+ {
+ if (firstitr->time == seconditr->time)
+ {
+ RinexObsData::RinexPrnMap::iterator fpoi, spoi;
+ for (fpoi = firstitr->obs.begin(); fpoi != firstitr->obs.end();
+ fpoi++)
+ {
+ cout << setw(3) << firstitr->time.DOYday() << ' '
+ << setw(10) << setprecision(0)
+ << firstitr->time.DOYsecond() << ' '
+ << ff1.frontHeader().markerName << ' '
+ << ff2.frontHeader().markerName << ' '
+ << setw(2) << fpoi->first << ' ';
+ spoi = seconditr->obs.find(fpoi->first);
+ for (m = intersection.begin(); m != intersection.end(); m++)
+ {
+ // no need to do a find, we're using the merged
+ // set of obses which guarantees that we have the
+ // obs in this record
+ double diff = (fpoi->second[*m]).data;
+ if (spoi != seconditr->obs.end())
+ diff -= (spoi->second[*m]).data;
+
+ cout << setw(14) << setprecision(3) << fixed << diff << ' '
+ << RinexObsHeader::convertObsType(*m) << ' ';
+
+ }
+ cout << endl;
+ }
+ firstitr = difflist.first.erase(firstitr);
+ seconditr = difflist.second.erase(seconditr);
+ matched = true;
+ }
+ else
+ seconditr++;
+ }
+
+ if (!matched)
+ firstitr++;
+ }
+
+ list<RinexObsData>::iterator itr = difflist.first.begin();
+ while (itr != difflist.first.end())
+ {
+ (*itr).dump(cout << '<');
+ itr++;
+ }
+
+ cout << endl;
+
+ itr = difflist.second.begin();
+ while (itr != difflist.second.end())
+ {
+ (*itr).dump(cout << '>');
+ itr++;
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ ROWDiff m(argv[0]);
+ if (!m.initialize(argc, argv))
+ return 0;
+ if (!m.run())
+ return 1;
+
+ return 0;
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
+
diff --git a/trunk/apps/filetools/Jamfile b/trunk/apps/filetools/Jamfile
new file mode 100644
index 0000000..e586481
--- /dev/null
+++ b/trunk/apps/filetools/Jamfile
@@ -0,0 +1,14 @@
+#
+# $Id: //depot/sgl/gpstk/apps/filetools/Jamfile#3 $
+#
+
+SubDir TOP apps filetools ;
+
+GPSLinkLibraries ficafic ficfica navdmp fic2rin rinexthin : gpstk ;
+
+GPSMain navdmp : navdmp.cpp ;
+GPSMain ficfica : ficfica.cpp ;
+GPSMain ficafic : ficafic.cpp ;
+GPSMain fic2rin : fic2rin.cpp ;
+GPSMain rinexthin : RinexThin.cpp ;
+
diff --git a/trunk/apps/filetools/Makefile.am b/trunk/apps/filetools/Makefile.am
new file mode 100644
index 0000000..9f51880
--- /dev/null
+++ b/trunk/apps/filetools/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = ficafic ficfica navdmp fic2rin rinexthin
+
+ficfica_SOURCES = ficfica.cpp
+ficafic_SOURCES = ficafic.cpp
+fic2rin_SOURCES = fic2rin.cpp
+navdmp_SOURCES = navdmp.cpp
+rinexthin_SOURCES = RinexThin.cpp
diff --git a/trunk/apps/filetools/Makefile.in b/trunk/apps/filetools/Makefile.in
new file mode 100644
index 0000000..726e90f
--- /dev/null
+++ b/trunk/apps/filetools/Makefile.in
@@ -0,0 +1,460 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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@
+noinst_PROGRAMS = ficafic$(EXEEXT) ficfica$(EXEEXT) navdmp$(EXEEXT) \
+ fic2rin$(EXEEXT) rinexthin$(EXEEXT)
+subdir = apps/filetools
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_fic2rin_OBJECTS = fic2rin.$(OBJEXT)
+fic2rin_OBJECTS = $(am_fic2rin_OBJECTS)
+fic2rin_LDADD = $(LDADD)
+fic2rin_DEPENDENCIES = ../../src/libgpstk.la
+am_ficafic_OBJECTS = ficafic.$(OBJEXT)
+ficafic_OBJECTS = $(am_ficafic_OBJECTS)
+ficafic_LDADD = $(LDADD)
+ficafic_DEPENDENCIES = ../../src/libgpstk.la
+am_ficfica_OBJECTS = ficfica.$(OBJEXT)
+ficfica_OBJECTS = $(am_ficfica_OBJECTS)
+ficfica_LDADD = $(LDADD)
+ficfica_DEPENDENCIES = ../../src/libgpstk.la
+am_navdmp_OBJECTS = navdmp.$(OBJEXT)
+navdmp_OBJECTS = $(am_navdmp_OBJECTS)
+navdmp_LDADD = $(LDADD)
+navdmp_DEPENDENCIES = ../../src/libgpstk.la
+am_rinexthin_OBJECTS = RinexThin.$(OBJEXT)
+rinexthin_OBJECTS = $(am_rinexthin_OBJECTS)
+rinexthin_LDADD = $(LDADD)
+rinexthin_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(fic2rin_SOURCES) $(ficafic_SOURCES) $(ficfica_SOURCES) \
+ $(navdmp_SOURCES) $(rinexthin_SOURCES)
+DIST_SOURCES = $(fic2rin_SOURCES) $(ficafic_SOURCES) \
+ $(ficfica_SOURCES) $(navdmp_SOURCES) $(rinexthin_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+ficfica_SOURCES = ficfica.cpp
+ficafic_SOURCES = ficafic.cpp
+fic2rin_SOURCES = fic2rin.cpp
+navdmp_SOURCES = navdmp.cpp
+rinexthin_SOURCES = RinexThin.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apps/filetools/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu apps/filetools/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+fic2rin$(EXEEXT): $(fic2rin_OBJECTS) $(fic2rin_DEPENDENCIES)
+ @rm -f fic2rin$(EXEEXT)
+ $(CXXLINK) $(fic2rin_LDFLAGS) $(fic2rin_OBJECTS) $(fic2rin_LDADD) $(LIBS)
+ficafic$(EXEEXT): $(ficafic_OBJECTS) $(ficafic_DEPENDENCIES)
+ @rm -f ficafic$(EXEEXT)
+ $(CXXLINK) $(ficafic_LDFLAGS) $(ficafic_OBJECTS) $(ficafic_LDADD) $(LIBS)
+ficfica$(EXEEXT): $(ficfica_OBJECTS) $(ficfica_DEPENDENCIES)
+ @rm -f ficfica$(EXEEXT)
+ $(CXXLINK) $(ficfica_LDFLAGS) $(ficfica_OBJECTS) $(ficfica_LDADD) $(LIBS)
+navdmp$(EXEEXT): $(navdmp_OBJECTS) $(navdmp_DEPENDENCIES)
+ @rm -f navdmp$(EXEEXT)
+ $(CXXLINK) $(navdmp_LDFLAGS) $(navdmp_OBJECTS) $(navdmp_LDADD) $(LIBS)
+rinexthin$(EXEEXT): $(rinexthin_OBJECTS) $(rinexthin_DEPENDENCIES)
+ @rm -f rinexthin$(EXEEXT)
+ $(CXXLINK) $(rinexthin_LDFLAGS) $(rinexthin_OBJECTS) $(rinexthin_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RinexThin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fic2rin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ficafic.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ficfica.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/navdmp.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/filetools/RinexThin.cpp b/trunk/apps/filetools/RinexThin.cpp
new file mode 100644
index 0000000..c439559
--- /dev/null
+++ b/trunk/apps/filetools/RinexThin.cpp
@@ -0,0 +1,123 @@
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <math.h>
+#include <iostream>
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionParser.hpp"
+#include "StringUtils.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+
+{
+
+ const double ttolerance=1e-3;
+
+ CommandOptionWithArg fileOption(CommandOption::stdType, 'f',"filename","RINEX obs file to be thinned.",true);
+ CommandOptionWithNumberArg dashs('s',"Seconds", "The desired data rate.",true);
+ CommandOptionWithArg fileOutput(CommandOption::stdType,'o',"filename", "RINEX obs file with thinned obs.", true);
+ CommandOptionParser m("This program thins or 'decimates' an input RINEX observation file.");
+
+ dashs.setMaxCount(1);
+ fileOption.setMaxCount(1);
+ m.parseOptions(argc,argv);
+ if (m.hasErrors())
+ {
+ m.dumpErrors(cout);
+ m.displayUsage(cout);
+ }
+ int i;
+
+ for (i=0;(i < fileOption.getCount());i++)
+ {
+ RinexObsStream ros(fileOption.getValue()[i].c_str());
+ DayTime nextTime;
+ bool firstRecord=true;
+
+ RinexObsData data;
+ RinexObsStream out(fileOutput.getValue()[i].c_str(), ios::out|ios::trunc);
+
+ int drate= StringUtils::asInt(dashs.getValue()[0]);
+ dashs.setMaxCount(1);
+ RinexObsHeader h;
+
+
+ long wcount=0, rcount=0;
+
+ ros >> h;
+
+ while (ros >> data)
+ {
+ rcount++;
+
+ if ( fmod(data.time.secOfDay(),drate) <= ttolerance )
+ {
+
+ // First obs? Then update and output the header.
+ if (wcount==0)
+ {
+ if (h.valid & RinexObsHeader::intervalValid)
+ h.interval = drate;
+
+ if (h.valid & RinexObsHeader::firstTimeValid)
+ h.firstObs = data.time;
+
+ out << h;
+ }
+
+ out<<data;
+ wcount++;
+ }
+ }
+
+ cout << "Obs read: " << rcount << endl;
+ cout << "Obs written: " << wcount << endl;
+
+ }
+
+ return 0;
+}
+
diff --git a/trunk/apps/filetools/fic2rin b/trunk/apps/filetools/fic2rin
new file mode 100755
index 0000000..2220cb1
Binary files /dev/null and b/trunk/apps/filetools/fic2rin differ
diff --git a/trunk/apps/filetools/fic2rin.cpp b/trunk/apps/filetools/fic2rin.cpp
new file mode 100644
index 0000000..e245fd8
--- /dev/null
+++ b/trunk/apps/filetools/fic2rin.cpp
@@ -0,0 +1,125 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/filetools/fic2rin.cpp#2 $"
+
+/**
+ * @file fic2rin.cpp Convert FIC files to RINEX.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FICStream.hpp"
+#include "FICHeader.hpp"
+#include "FICData.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "FICFilterOperators.hpp"
+#include "RinexNavFilterOperators.hpp"
+#include "FileFilterFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+ if (argc != 3)
+ {
+ cout << "fic2rin" << endl
+ << " converts a binary FIC file to a Rinex Nav file" << endl
+ << endl
+ << "usage:" << endl
+ << " fic2rin inputfile outputfile" << endl
+ << endl
+ << "where:" << endl
+ << " inputfile: an input binary FIC file name" << endl
+ << " outputfile: an output Rinex Nav file name" << endl;
+ return 0;
+ }
+ // What is up
+ FileFilterFrame<FICStream, FICData> input(argv[1]);
+ list<FICData> alist = input.getData();
+
+ // write the header info
+ RinexNavStream rns(argv[2], ios::out|ios::trunc);
+ RinexNavHeader rnh;
+ rnh.fileType = "Navigation";
+ rnh.fileProgram = "fic2rin";
+ rnh.fileAgency = "";
+ ostringstream ostr;
+ ostr << DayTime();
+ rnh.date = ostr.str();
+ rnh.version = 2.1;
+ rnh.valid |= RinexNavHeader::versionValid;
+ rnh.valid |= RinexNavHeader::runByValid;
+ rnh.valid |= RinexNavHeader::endValid;
+ rns.header = rnh;
+ rnh.putRecord(rns);
+ rns.close();
+
+ // filter the FIC data for block 9
+ list<long> blockList;
+ blockList.push_back(9);
+ input.filter(FICDataFilterBlock(blockList));
+ input.sort(FICDataOperatorLessThanBlock9());
+ input.unique(FICDataUniqueBlock9());
+
+ // some hand waving for the data conversion
+ list<RinexNavData> rndList;
+ list<FICData>& ficList = input.getData();
+ list<FICData>::iterator itr = ficList.begin();
+ while (itr != ficList.end())
+ {
+ // use TOE and transmit week number to determine time
+ DayTime time;
+ time.setGPSfullweek(short((*itr).f[5]), (double)(*itr).f[33]);
+ // this station number is bogus, but it's unused so it should be ok
+ EngEphemeris ee(*itr);
+ rndList.push_back(RinexNavData(ee));
+ itr++;
+ }
+
+ // write the file data
+ FileFilterFrame<RinexNavStream, RinexNavData> output;
+ output.addData(rndList);
+ output.sort(RinexNavDataOperatorLessThanFull());
+ output.writeFile(argv[2], true);
+
+ return 0;
+}
diff --git a/trunk/apps/filetools/ficafic b/trunk/apps/filetools/ficafic
new file mode 100755
index 0000000..92345b8
Binary files /dev/null and b/trunk/apps/filetools/ficafic differ
diff --git a/trunk/apps/filetools/ficafic.cpp b/trunk/apps/filetools/ficafic.cpp
new file mode 100644
index 0000000..aefcfda
--- /dev/null
+++ b/trunk/apps/filetools/ficafic.cpp
@@ -0,0 +1,89 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/filetools/ficafic.cpp#1 $"
+
+/**
+ * @file ficafic.cpp Convert FICA files to FIC.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FICStream.hpp"
+#include "FICAStream.hpp"
+#include "FICHeader.hpp"
+#include "FICData.hpp"
+#include "FileFilterFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+ if (argc != 3)
+ {
+ cout << "FICAFIC" << endl
+ << " converts an ASCII FIC file to a binary FIC file" << endl
+ << endl
+ << "usage:" << endl
+ << " ficfica inputfile outputfile" << endl
+ << endl
+ << "where:" << endl
+ << " inputfile: an input ASCII FIC file name" << endl
+ << " outputfile: an output binary FIC file name" << endl;
+ return 0;
+ }
+
+ FICAStream fics(argv[1]);
+ FICHeader header;
+ header.getRecord(fics);
+ fics.close();
+
+ FICStream out(argv[2], ios::out);
+ out << header;
+ out.close();
+
+ FileFilterFrame<FICAStream, FICData> input(argv[1]);
+ FileFilterFrame<FICStream, FICData> output;
+ list<FICData> alist = input.getData();
+ output.addData(alist);
+ output.writeFile(argv[2], true);
+
+ return 0;
+}
diff --git a/trunk/apps/filetools/ficfica b/trunk/apps/filetools/ficfica
new file mode 100755
index 0000000..2b4d880
Binary files /dev/null and b/trunk/apps/filetools/ficfica differ
diff --git a/trunk/apps/filetools/ficfica.cpp b/trunk/apps/filetools/ficfica.cpp
new file mode 100644
index 0000000..fea1c92
--- /dev/null
+++ b/trunk/apps/filetools/ficfica.cpp
@@ -0,0 +1,89 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/filetools/ficfica.cpp#1 $"
+
+/**
+ * @file ficfica.cpp Convert FIC files to FICA.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FICStream.hpp"
+#include "FICAStream.hpp"
+#include "FICHeader.hpp"
+#include "FICData.hpp"
+#include "FileFilterFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+ if (argc != 3)
+ {
+ cout << "FICFICA" << endl
+ << " converts a binary FIC file to an ASCII FIC file" << endl
+ << endl
+ << "usage:" << endl
+ << " ficfica inputfile outputfile" << endl
+ << endl
+ << "where:" << endl
+ << " inputfile: an input binary FIC file name" << endl
+ << " outputfile: an output ASCII FIC file name" << endl;
+ return 0;
+ }
+
+ FICStream fics(argv[1]);
+ FICHeader header;
+ header.getRecord(fics);
+ fics.close();
+
+ FICAStream out(argv[2], ios::out);
+ out << header;
+ out.close();
+
+ FileFilterFrame<FICStream, FICData> input(argv[1]);
+ FileFilterFrame<FICAStream, FICData> output;
+ list<FICData> alist = input.getData();
+ output.addData(alist);
+ output.writeFile(argv[2], true);
+
+ return 0;
+}
diff --git a/trunk/apps/filetools/navdmp b/trunk/apps/filetools/navdmp
new file mode 100755
index 0000000..164b78d
Binary files /dev/null and b/trunk/apps/filetools/navdmp differ
diff --git a/trunk/apps/filetools/navdmp.cpp b/trunk/apps/filetools/navdmp.cpp
new file mode 100644
index 0000000..f6f5c6d
--- /dev/null
+++ b/trunk/apps/filetools/navdmp.cpp
@@ -0,0 +1,429 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/filetools/navdmp.cpp#3 $"
+
+/**
+ * @file navdmp.cpp - print a human readable file from a binary FIC file
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "CommandOptionWithTimeArg.hpp"
+#include "FileFilterFrame.hpp"
+#include "BasicFramework.hpp"
+#include "FICData.hpp"
+#include "FICStream.hpp"
+#include "FICFilterOperators.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavFilterOperators.hpp"
+
+#include "gps_constants.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class NavDump : public BasicFramework
+{
+public:
+ NavDump(char* arg0);
+ bool initialize(int argc, char* argv[]) throw();
+
+protected:
+ virtual void process();
+ // additional setup will get filtering options from the user
+ virtual void additionalSetup();
+
+private:
+ void printCurrentFilter();
+ void getNewTime(DayTime& dt);
+ void getFICBlocks();
+ void getSVs();
+
+ CommandOptionWithAnyArg inputFileOption;
+ CommandOptionWithAnyArg outputFileOption;
+ /// command option to use default values (i.e. no prompting)
+ CommandOptionNoArg defaultsOption;
+ /// command option for start time for matching
+ CommandOptionWithSimpleTimeArg timeOption;
+ /// command option for end time for matching
+ CommandOptionWithSimpleTimeArg eTimeOption;
+ /// meta-option for grouping time options
+ CommandOptionGroupAnd seTimeOptions;
+ /// command option for PRNs
+ CommandOptionWithNumberArg prnOption;
+ /// command option for FIC blocks
+ CommandOptionWithNumberArg blockOption;
+ /// command option for using a RINEX navigation message file (vice FIC)
+ CommandOptionNoArg rinexOption;
+
+ DayTime startTime, endTime;
+ list<long> prnFilterList;
+ list<long> blockFilterList;
+
+ bool isRinexInput;
+};
+
+NavDump::NavDump(char* arg0)
+ : BasicFramework(arg0, "Prints the contents of an FIC or RINEX file into a human readable file and allows filtering of the data."),
+ inputFileOption('i',
+ "input",
+ "Name of an input navigation message file",
+ true),
+ outputFileOption('o',
+ "output",
+ "Name of an output file",
+ true),
+ timeOption('t', "time", "Start time (of data) for processing"),
+ eTimeOption('e', "end-time", "End time (of data) for processing"),
+ prnOption('p', "prn", "PRN(s) to include"),
+ blockOption('b', "block", "FIC block number(s) to process ((9)109"
+ " (Engineering) ephemerides, (62)162 (engineering)"
+ " almanacs)"),
+ defaultsOption('a', "all-records", "Unless otherwise specified, use"
+ " default values for record filtration"),
+ rinexOption('r',"RINEX", "Assume input file is a RINEX navigation"
+ " message file"),
+ startTime(0,0.0),
+ endTime(DayTime::END_OF_TIME)
+{
+ seTimeOptions.addOption(&timeOption);
+ seTimeOptions.addOption(&eTimeOption);
+ inputFileOption.setMaxCount(1);
+ outputFileOption.setMaxCount(1);
+ timeOption.setMaxCount(1);
+ eTimeOption.setMaxCount(1);
+ isRinexInput = false;
+}
+
+void NavDump::printCurrentFilter()
+{
+ cout << "Current filtering options:" << endl
+ << "\tStart time:\t" << startTime << endl
+ << "\tEnd time:\t" << endTime << endl
+ << "\tPRNs:\t\t";
+ if (prnFilterList.empty())
+ cout << "using all PRNs";
+ else
+ copy(prnFilterList.begin(), prnFilterList.end(),
+ ostream_iterator<long>(cout, " "));
+ if (!isRinexInput)
+ {
+ cout << endl
+ << "\tFIC blocks:\t";
+ if (blockFilterList.empty())
+ cout << "using all blocks";
+ else
+ copy(blockFilterList.begin(), blockFilterList.end(),
+ ostream_iterator<long>(cout, " "));
+ }
+ cout << endl;
+}
+
+bool NavDump::initialize(int argc, char* argv[]) throw()
+{
+ using gpstk::StringUtils::asInt;
+
+ if (!BasicFramework::initialize(argc, argv))
+ return false;
+
+ if (prnOption.getCount())
+ {
+ for (int i = 0; i < prnOption.getCount(); i++)
+ prnFilterList.push_back(asInt(prnOption.getValue()[i]));
+ }
+
+ if (blockOption.getCount())
+ {
+ for (int i = 0; i < blockOption.getCount(); i++)
+ blockFilterList.push_back(asInt(blockOption.getValue()[i]));
+ }
+
+ if (timeOption.getCount())
+ startTime = timeOption.getTime()[0];
+ if (eTimeOption.getCount())
+ endTime = eTimeOption.getTime()[0];
+
+ if (rinexOption.getCount())
+ isRinexInput = true;
+
+ return true;
+}
+
+void NavDump::additionalSetup()
+{
+ int option = 0;
+ string line;
+
+ if (defaultsOption.getCount() ||
+ (seTimeOptions.getCount() && blockOption.getCount() &&
+ prnOption.getCount()))
+ return;
+
+ while (option != 5)
+ {
+ cout << endl;
+ printCurrentFilter();
+
+ cout << endl
+ << "Choose an option by number then push enter:" << endl
+ << "\t1) Change the start time" << endl
+ << "\t2) Change the end time" << endl
+ << "\t3) Select specific PRNs" << endl;
+ if (!isRinexInput)
+ {
+ cout << "\t4) Select specific FIC block numbers" << endl;
+ }
+ cout << "\t5) Process the file" << endl
+ << "use ctrl-c to exit" << endl
+ << "? ";
+
+ getline(cin, line);
+ istringstream optionstr(line);
+ optionstr >> option;
+ cout << endl;
+
+ switch(option)
+ {
+ case 1:
+ cout << "Entering a new start time..." << endl;
+ getNewTime(startTime);
+ option = 0;
+ break;
+ case 2:
+ cout << "Entering a new end time..." << endl;
+ getNewTime(endTime);
+ option = 0;
+ break;
+ case 3:
+ getSVs();
+ option = 0;
+ break;
+ case 4:
+ if (!isRinexInput) getFICBlocks();
+ option = 0;
+ break;
+ case 5:
+ break;
+ default:
+ cout << '\"' << line << "\" is an invalid option" << endl;
+ option = 0;
+ break;
+ }
+
+ if (startTime > endTime)
+ cout << endl
+ << "Please check the start and end times because all the data will be filtered" << endl
+ << "with this setting (startTime > endTime)." << endl;
+ }
+
+ cout << "processing..." << endl;
+}
+
+void NavDump::getFICBlocks()
+{
+ int block;
+ string line;
+ cout << "Enter a list of FIC blocks to search for separated by spaces." << endl
+ << "The old list will be discarded." << endl
+ << " 9 : Ephemeris - engineering units." << endl
+ << " 109 : Ephemeris - as broadcast." << endl
+ << " 62 : Almanac - engineering units." << endl
+ << " 162 : Almanac - as broadcast." << endl
+ << "Enter '0' for all blocks - any other blocks entered will be ignored." << endl
+ << "? ";
+ getline(cin, line);
+ istringstream is(line);
+ while (is >> block)
+ if (block == 0)
+ {
+ blockFilterList.clear();
+ return;
+ }
+ else
+ switch(block)
+ {
+ case 9:
+ case 109:
+ case 62:
+ case 162:
+ blockFilterList.push_back(block);
+ break;
+ default:
+ break;
+ }
+}
+
+void NavDump::getSVs()
+{
+ int prn;
+ string line;
+ cout << "Enter a list of PRNs separated by spaces to search for." << endl
+ << "The old list will be discarded." << endl
+ << "Enter '0' for all PRNs - any other PRNs listed will be ignored." << endl
+ << "? ";
+ getline(cin, line);
+ istringstream is(line);
+ while (is >> prn)
+ if (prn == 0)
+ {
+ prnFilterList.clear();
+ return;
+ }
+ else if ( (prn > 0) && (prn <= MAX_PRN) )
+ {
+ prnFilterList.push_back(prn);
+ }
+}
+
+void NavDump::getNewTime(DayTime& dt)
+{
+ short week = -1;
+ double SOW;
+ string buf;
+ short done = 0;
+
+ while (!done)
+ {
+ cout << " Enter full GPS week: ";
+ getline(cin, buf);
+ istringstream instr(buf);
+ instr >> week;
+ if (week != -1)
+ done = 1;
+ else
+ cout << " Error entering week. Please try again." << endl;
+ }
+
+ // Now reset flag and get SOW
+ done = 0;
+ while (!done)
+ {
+ cout << " Enter GPS seconds of week: ";
+ getline(cin,buf);
+ istringstream instr(buf);
+ instr >> SOW;
+ if ((SOW >= 0.0L) && (SOW < 604800.0L) )
+ done = 1;
+ else
+ cout << " Error entering SOW. Please try again." << endl;
+ }
+ dt.setGPSfullweek(week, SOW);
+}
+
+void NavDump::process()
+{
+
+ ofstream out;
+ out.open(outputFileOption.getValue()[0].c_str());
+ if (out.fail())
+ {
+ cout << "Opening output file " << outputFileOption.getValue()[0]
+ << " failed." << endl
+ << " navdump is ending..." << endl
+ << endl;
+ return;
+ }
+
+ if (!isRinexInput)
+ {
+ // filter the data... first by block number, then by PRN
+ FileFilterFrame<FICStream, FICData> data(inputFileOption.getValue()[0]);
+ if (!blockFilterList.empty())
+ data.filter(FICDataFilterBlock(blockFilterList));
+ if (!prnFilterList.empty())
+ data.filter(FICDataFilterPRN(prnFilterList));
+
+ list<FICData>& ficlist = data.getData();
+ list<FICData>::iterator itr = ficlist.begin();
+ while (itr != ficlist.end())
+ {
+ (*itr).prettyDump(out);
+ itr++;
+ }
+ }
+ else // Rinex navigation message data
+ {
+ FileFilterFrame<RinexNavStream, RinexNavData>
+ data(inputFileOption.getValue()[0]);
+ if (!prnFilterList.empty())
+ data.filter(RinexNavDataFilterPRN(prnFilterList));
+
+ list<RinexNavData>& rnavlist = data.getData();
+ list<RinexNavData>::iterator itr = rnavlist.begin();
+ while (itr!=rnavlist.end())
+ {
+ RinexNavData& r = *itr;
+ EngEphemeris ee(r);
+ ee.dump(out);
+ itr++;
+ }
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ NavDump nd(argv[0]);
+ if (!nd.initialize(argc, argv))
+ return 0;
+ if (!nd.run())
+ return 1;
+
+ return 0;
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(std::exception& e)
+ {
+ cout << "Caught std::exception " << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "Caught unknown exception" << endl;
+ }
+
+ return 1;
+}
+
diff --git a/trunk/apps/filetools/rinexthin b/trunk/apps/filetools/rinexthin
new file mode 100755
index 0000000..bbdf491
Binary files /dev/null and b/trunk/apps/filetools/rinexthin differ
diff --git a/trunk/apps/ionosphere/IonoBias b/trunk/apps/ionosphere/IonoBias
new file mode 100755
index 0000000..749238d
Binary files /dev/null and b/trunk/apps/ionosphere/IonoBias differ
diff --git a/trunk/apps/ionosphere/IonoBias.cpp b/trunk/apps/ionosphere/IonoBias.cpp
new file mode 100644
index 0000000..f3f813b
--- /dev/null
+++ b/trunk/apps/ionosphere/IonoBias.cpp
@@ -0,0 +1,1612 @@
+//------------------------------------------------------------------------------------
+// IonoBias.cpp
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/ionosphere/IonoBias.cpp#3 $"
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+/**
+ * @file IonoBias.cpp
+ * Program IonoBias will estimate satellite and receiver biases and compute
+ * a simple ionospheric model using least squares and slant TEC values
+ * from multiple stations.
+ */
+
+//------------------------------------------------------------------------------------
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "CommandOptionParser.hpp"
+
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+#include "Vector.hpp"
+#include "Matrix.hpp"
+
+#include "Position.hpp"
+#include "WGS84Geoid.hpp"
+#include "icd_200_constants.hpp" // for TWO_PI
+#include "geometry.hpp" // for DEG_TO_RAD and RAD_TO_DEG
+
+#include "RinexUtilities.hpp"
+
+#include <iostream>
+#include <time.h>
+#include <string>
+#include <vector>
+#include <utility> // for pair
+
+using namespace gpstk;
+using namespace std;
+
+//------------------------------------------------------------------------------------
+// Max PRN
+const int MAXPRN=32;
+// data input from command line
+bool verbose,debug;
+ // log file
+string LogFile;
+ofstream oflog;
+string Title;
+ // output file
+string ATFileName,BiasFileName;
+ofstream fout;
+ios::pos_type current_header_pos;
+ // input path
+string InputPath;
+vector<string> Filenames;
+ // excluded satellites
+vector<RinexPrn> ExSV;
+ // ephemeris
+string NavDir;
+vector<string> NavFiles;
+SP3EphemerisStore SP3EphList;
+BCEphemerisStore BCEphList;
+EphemerisStore *pEph;
+ // obs types needed
+RinexObsHeader::RinexObsType ELot,LAot,LOot,SRot,SSot;
+ // geoid
+WGS84Geoid WGS84;
+ // Start and stop times
+DayTime BegTime(DayTime::BEGINNING_OF_TIME),EndTime(DayTime::END_OF_TIME);
+
+ // processing
+int MinPoints;
+double MinTimeSpan; // TD not implemented
+double MinElevation;
+double MinLatitude,MaxLatitude;
+double MinLongitude,MaxLongitude;
+string TimeSector;
+double TermOffset;
+double IonoHt;
+ //
+double sunrise,sunset; // times in hours of day
+double begintime,endtime; // "
+ // normalizations
+double MJDNorm,LonNorm;
+ // data that goes into output file headers
+long NgoodStations;
+vector<vector<bool> > EstimationFlag;
+vector<bool> BoolVec;
+ // data per station that goes into AT output file
+int nfile; // current file number (0..Filenames.size()-1)
+long NgoodPoints;
+double TotalSpan; // time in days covered by the file
+string StationName;
+Position StationPosition; // station position in geographic lat,lon,radius
+ // least squares
+bool ComputeSatBiases,DoEstimation,SkipPreproc;
+string Model("linear");
+int NIonoParam,NBiasParam,NTotalParam;
+Vector<double> Sol,InfData;
+Matrix<double> Cov;
+int ndata;
+double MaxLat,MinLat,MaxCRLon,MinCRLon,PM[10];
+vector<pair<string,int> > ComponentIDs;
+
+//------------------------------------------------------------------------------------
+// prototypes
+void ConfigureAndDefaults(void);
+int GetCommandLine(int argc, char **argv);
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& Verb, bool& debug);
+int Initialize(void);
+int Process(void);
+int ProcessHeader(RinexObsStream& ins, string& filename, RinexObsHeader& head);
+void TimeLimits(Position llr, int doy, string& sector, double& begin, double& end);
+void SolarPosition(int doy, double hod, double& lat, double& lon);
+void Sunrise(double lat, double lon, double ht, int doy, double& rise, double& set);
+int ProcessObs(RinexObsStream& ins, string& filename, RinexObsHeader& head);
+void WriteATHeader(void);
+void WriteStationHeader(int npts, string sta_name, Position llr);
+void ParseLine(string& str, vector<string>& wds);
+int ReadATandCompute(void);
+double obliquity(double elevation);
+//void PartialsMatrix(Matrix<double>& P,int index,double lat,double lon,double obq);
+
+//------------------------------------------------------------------------------------
+// utility routines
+//------------------------------------------------------------------------------------
+// find the index of first occurance of item t (of type T) in vector<T> v;
+// i.e. v[index]=t Return -1 if t is not found.
+template<class T> int index(const std::vector<T> v, const T& t)
+{
+ for(int i=v.size()-1; i>=0; i--) {
+ if(v[i] == t) return i;
+ }
+ return -1;
+}
+
+
+////----------------------------------------------------------------------------------
+//// format object - saves writing...
+//class format {
+// int form; // 0=general,1=float,2=scientific
+// int wide;
+// int prec;
+// friend ostream& operator<<(ostream& os, const format& f);
+//public:
+// explicit format(int w=13, int p=3, int f=1) : wide(w),prec(p),form(f) {}
+// format& scientific() { form=2; return *this; }
+// format& sci() { form=2; return *this; }
+// format& fixed() { form=1; return *this; }
+// format& fix() { form=1; return *this; }
+// format& general() { form=0; return *this; }
+// format& gen() { form=0; return *this; }
+// format& width(int w) { wide=w; return *this; }
+// format& w(int w) { wide=w; return *this; }
+// format& precision(int p) { prec=p; return *this; }
+// format& p(int p) { prec=p; return *this; }
+// format& wp(int w, int p) { prec=p; wide=w; return *this; }
+//}; // end class format
+//ostream& operator<<(ostream& os, const format& f)
+//{
+// if(f.form) os << (f.form==1 ? fixed : scientific);
+// return os << " " << setw(f.wide) << setprecision(f.prec);
+//}
+// formats used here
+//format f96(9,6),f166(16,6),f103(10,3),f51(5,1),f82(8,2,2),f133(13,3);
+//format f136(13,6),f103s(10,3,2),f128(12,8),f93(9,3);
+
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+ int iret;
+ clock_t totaltime=clock(); // timer
+ DayTime CurrEpoch;
+
+ // Title description and run time
+ CurrEpoch.setLocalTime();
+ Title = "IonoBias, built on the GPSTK ToolKit, Ver 1.0 6/25/04, Run ";
+ Title += CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S\n");
+ cout << Title;
+
+ // set configuration and default values
+ ConfigureAndDefaults();
+
+ // define extended types
+ iret = RegisterARLUTExtendedTypes();
+ if(iret) goto quit;
+ iret = RegisterExtendedRinexObsType("SS","Slant TEC (Phase smoothed)","TECU",0x1E);
+ if(iret) goto quit;
+
+ // get command line arguments
+ iret = GetCommandLine(argc, argv);
+ if(iret) goto quit;
+
+ if(!SkipPreproc) {
+ // initialize
+ iret = Initialize();
+ if(iret) goto quit;
+
+ // process the data
+ iret = Process();
+
+ // write the revised header
+ WriteATHeader();
+ fout.close();
+ }
+
+ if(DoEstimation) {
+ // read the AT file and compute biases and model
+ iret = ReadATandCompute();
+ }
+
+quit:
+ // compute run time
+ totaltime = clock()-totaltime;
+ cout << "IonoBias timing: " << fixed << setprecision(3)
+ << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+ oflog << "\nIonoBias timing: " << fixed << setprecision(3)
+ << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+ oflog.close();
+
+ return iret;
+}
+catch(gpstk::Exception& e) {
+ cerr << e;
+ return 1;
+}
+catch (...) {
+ cerr << "Unknown error. Abort." << endl;
+ return 1;
+}
+ return 0;
+} // end main()
+
+//------------------------------------------------------------------------------------
+// set defaults
+void ConfigureAndDefaults(void)
+{
+ verbose = false;
+ debug = false;
+ LogFile = string("IonoBias.log");
+ BiasFileName = string(""); // no output
+
+ MinPoints = 0;
+ MinTimeSpan = 0.0; // minutes
+ MinElevation = 0.0;
+ MinLatitude = 0.0;
+ MaxLatitude = 90.0;
+ MinLongitude = 0.0;
+ MaxLongitude = 360.0;
+ TimeSector = string("night");
+ TermOffset = 0.0; // min
+ IonoHt = 350.0; // km
+
+ DoEstimation=true; // if false, quit after writing the AT file
+ SkipPreproc =false; // if true, assume AT file exists and don't generate it
+ ComputeSatBiases=true; // if true, compute Sat+Rx biases, else Rx biases only
+}
+
+//------------------------------------------------------------------------------------
+// Define, parse and evaluate command line
+int GetCommandLine(int argc, char **argv)
+{
+try {
+ bool help=false;
+ int i,j;
+ RinexPrn prn;
+ prn.setfill('0');
+
+ // required options
+
+ RequiredOption dashin(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"input"," --input <file> Input Rinex obs file name(s)");
+ //dashin.setMaxCount(1);
+
+ // optional options
+
+ // this only so it will show up in help page...
+ CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+ 'f',""," -f<file> file containing more options");
+
+ CommandOption dashp(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"inputdir"," --inputdir <path> Path for input file(s)");
+ dashp.setMaxCount(1);
+
+ // ephemeris
+ CommandOption dashnd(CommandOption::hasArgument, CommandOption::stdType, 0,
+ "navdir"," Ephemeris input:\n --navdir <dir> Path of navigation file(s)");
+ dashnd.setMaxCount(1);
+
+ CommandOption dashn(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"nav"," --nav <file> Navigation (Rinex Nav OR SP3) file(s)");
+
+ CommandOption dashat(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"datafile",
+ " Output:\n --datafile <file> Data (AT) file name, for output and/or input");
+ dashat.setMaxCount(1);
+
+ CommandOption dashl(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"log"," --log <file> Output log file name");
+ dashl.setMaxCount(1);
+
+ CommandOption dashout(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"biasout"," --biasout <file> Output satellite+receiver biases file name");
+ dashout.setMaxCount(1);
+
+ // time
+ CommandOptionWithTimeArg dasheb(0,"BeginTime","%Y,%m,%d,%H,%M,%f",
+ " Time limits:\n --BeginTime <arg> Start time, arg is of the form "
+ "YYYY,MM,DD,HH,Min,Sec");
+ CommandOptionWithTimeArg dashgb(0,"BeginGPSTime","%F,%g",
+ " --BeginGPSTime <arg> Start time, arg is of the form GPSweek,GPSsow");
+
+ CommandOptionWithTimeArg dashee(0,"EndTime","%Y,%m,%d,%H,%M,%f",
+ " --EndTime <arg> End time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+ CommandOptionWithTimeArg dashge(0,"EndGPSTime","%F,%g",
+ " --EndGPSTime <arg> End time, arg is of the form GPSweek,GPSsow");
+
+ // allow ONLY one start time (use startmutex(true) if one is required)
+ CommandOptionMutex startmutex(false);
+ startmutex.addOption(&dasheb);
+ startmutex.addOption(&dashgb);
+ CommandOptionMutex stopmutex(false);
+ stopmutex.addOption(&dashee);
+ stopmutex.addOption(&dashge);
+
+ CommandOptionNoArg dashde(0, "NoEstimation"," Processing:\n"
+ " --NoEstimation Do NOT perform the estimation (default=false).");
+
+ CommandOptionNoArg dashwo(0, "NoPreprocess",
+ " --NoPreprocess Skip preprocessing; read (existing) AT file "
+ "(false).");
+
+ CommandOptionNoArg dashsb(0, "NoSatBiases",
+ " --NoSatBiases Compute Receiver biases ONLY (not Rx+Sat biases) "
+ "(false).");
+
+ CommandOption dashmod(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Model"," --Model <type> Ionospheric model: type is linear, "
+ "quadratic or cubic");
+
+ CommandOption dashMinPoints(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"MinPoints",
+ " --MinPoints <n> Minimum points per satellite required");
+ dashMinPoints.setMaxCount(1);
+
+ CommandOption dashMinTimeSpan(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"MinTimeSpan",
+ " --MinTimeSpan <n> Minimum timespan per satellite required (minutes)");
+ dashMinTimeSpan.setMaxCount(1);
+
+ CommandOption dashMinElevation(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"MinElevation", " --MinElevation <n> Minimum elevation angle (degrees)");
+ dashMinElevation.setMaxCount(1);
+
+ CommandOption dashMinLatitude(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"MinLatitude", " --MinLatitude <n> Minimum latitude (degrees)");
+ dashMinLatitude.setMaxCount(1);
+
+ CommandOption dashMaxLatitude(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"MaxLatitude", " --MaxLatitude <n> Maximum latitude (degrees)");
+ dashMaxLatitude.setMaxCount(1);
+
+ CommandOption dashMinLongitude(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"MinLongitude", " --MinLongitude <n> Minimum longitude (degrees)");
+ dashMinLongitude.setMaxCount(1);
+
+ CommandOption dashMaxLongitude(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"MaxLongitude", " --MaxLongitude <n> Maximum longitude (degrees)");
+ dashMaxLongitude.setMaxCount(1);
+
+ CommandOption dashTimeSector(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"TimeSector", " --TimeSector <n> Time sector (day | night | both)");
+ dashTimeSector.setMaxCount(1);
+
+ CommandOption dashTermOffset(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"TermOffset", " --TerminOffset <n> Terminator offset (minutes)");
+ dashTermOffset.setMaxCount(1);
+
+ CommandOption dashIonoHt(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"IonoHeight", " --IonoHeight <n> Ionosphere height (km)");
+ dashIonoHt.setMaxCount(1);
+
+ CommandOption dashXprn(CommandOption::hasArgument, CommandOption::stdType,
+ '0', "XSat", " Other options:\n --XSat <sat> Exclude this satellite "
+ "(<sat> may be <system> only)");
+
+ // ... other options
+ CommandOptionNoArg dashv('v', "verbose",
+ " Help:\n [-v|--verbose] print extended output info.");
+
+ CommandOptionNoArg dashd('d', "debug",
+ " [-d|--debug] print extended output info.");
+
+ CommandOptionNoArg dashh('h', "help",
+ " [-h|--help] print syntax and quit.");
+
+ // ... rest of the command line
+ CommandOptionRest Rest("");
+
+ CommandOptionParser Par(
+ " Prgm IonoBias will open and read several preprocessed Rinex obs files\n"
+ " (containing obs types EL,LA,LO,SR or SS) and use the data to estimate\n"
+ " satellite and receiver biases and to compute a simple ionospheric model\n"
+ " using least squares and the slant TEC values.\n"
+ " Input is on the command line, or of the same format in a file (-f<file>).\n");
+
+ // allow user to put all options in a file
+ // could also scan for debug here
+ vector<string> Args;
+ for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args,verbose,debug);
+ argc = Args.size();
+ if(argc==0) Args.push_back(string("-h"));
+
+ // pass the rest
+ argc = Args.size()+1;
+ char **CArgs=new char*[argc];
+ if(!CArgs) { cerr << "Failed to allocate CArgs\n"; return -1; }
+ CArgs[0] = argv[0];
+ for(j=1; j<argc; j++) {
+ CArgs[j] = new char[Args[j-1].size()+1];
+ if(!CArgs[j]) { cerr << "Failed to allocate CArgs[j]\n"; return -1; }
+ strcpy(CArgs[j],Args[j-1].c_str());
+ }
+
+ //if(debug) {
+ //cout << "List passed to parse\n";
+ //for(i=0; i<argc; i++) cout << i << " " << CArgs[i] << endl;
+ //}
+ Par.parseOptions(argc, CArgs);
+
+ if(dashh.getCount() > 0) { help = true; }
+
+ if (Par.hasErrors())
+ {
+ cerr << "\nErrors found in command line input:\n";
+ Par.dumpErrors(cerr);
+ cerr << "...end of Errors\n\n";
+ help = true;
+ }
+
+ if(help) {
+ Par.displayUsage(cout,false); cout << endl;
+ }
+
+ // get values found on command line
+ vector<string> values;
+
+ // f never appears because we intercept it above
+ //if(dashf.getCount()) { cout << "Option f "; dashf.dumpValue(cout); }
+
+ // open the log file first
+ if(dashl.getCount()) {
+ values = dashl.getValue();
+ if(help) cout << "Input name of output log file: " << values[0] << endl;
+ LogFile = values[0];
+ }
+ oflog.open(LogFile.c_str(),ios_base::out);
+ if(!oflog) {
+ cerr << "Failed to open log file " << LogFile << endl;
+ return -1;
+ }
+ oflog << Title;
+ cout << "IonoBias output directed to log file " << LogFile << endl;
+ if(help) {
+ Par.displayUsage(oflog,false);
+ oflog << endl;
+ if (Par.hasErrors()) {
+ oflog << "\nErrors found in command line input:\n";
+ Par.dumpErrors(oflog);
+ oflog << "...end of Errors\n\n";
+ return -1;
+ }
+ }
+
+ // input path; do path before input file names
+ if(dashp.getCount()) {
+ values = dashp.getValue();
+ if(help) cout << "Input path name: " << values[0] << endl;
+ InputPath = values[0];
+ }
+ else InputPath = string("");
+
+ // input file names
+ if(dashin.getCount()) {
+ values = dashin.getValue();
+ if(help) cout << "Input Rinex obs file names are:\n";
+ string::size_type pos;
+ string fname;
+ for(i=0; i<values.size(); i++) {
+ fname = values[i];
+ // expand filenames of the form @name or name@
+ // into the *contents* (one name per line) of file 'name'.
+ pos = fname.find('@');
+ if(pos == string::npos || (pos != 0 && pos != fname.length()-1)) {
+ // value is a Rinex file name
+ if(InputPath.size() > 0) { fname = InputPath + "/" + fname; }
+ Filenames.push_back(fname);
+ if(help) cout << " " << fname << endl;
+ }
+ else { // value is a file containing Rinex file names
+ fname.erase(pos,1);
+ if(InputPath.size() > 0) { fname = InputPath + "/" + fname; }
+ if(help) cout << " " << "(Open and read file names from: "
+ << fname << ")" << endl;
+ ifstream infile(fname.c_str());
+ if(!infile) {
+ oflog << "Error: could not open file " << fname << endl;
+ }
+ else {
+ while(infile >> fname) {
+ if(fname[0] == '#') { // skip to end of line
+ char c;
+ while(infile.get(c)) { if(c=='\n') break; }
+ }
+ else {
+ Filenames.push_back(fname);
+ if(debug) oflog << " " << fname << endl;
+ }
+ } // end loop over lines in the file
+ infile.close();
+ } // end opened file
+ } // end if value is a file containing file names
+ } // end loop over values on command line
+ } // end dashin
+
+ // ephemeris input
+ if(dashnd.getCount()) {
+ values = dashnd.getValue();
+ NavDir = values[0];
+ if(help) cout << "Input Nav Directory: " << NavDir << endl;
+ }
+ if(dashn.getCount()) {
+ values = dashn.getValue();
+ NavFiles = values;
+ if(help) {
+ cout << "Input Nav files :";
+ for(i=0; i<NavFiles.size(); i++) cout << " " << NavFiles[i];
+ cout << endl;
+ }
+ }
+
+ if(dashat.getCount()) {
+ values = dashat.getValue();
+ if(help) cout << "Input name of AT file: " << values[0] << endl;
+ ATFileName = values[0];
+ }
+ if(dashout.getCount()) {
+ values = dashout.getValue();
+ if(help) cout << "Output biases file name: " << values[0] << endl;
+ BiasFileName = values[0];
+ }
+
+ if(dasheb.getCount()) {
+ values = dasheb.getValue();
+ BegTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+ if(help) cout << "Input BeginTime " << BegTime << endl;
+ }
+ if(dashee.getCount()) {
+ values = dashee.getValue();
+ EndTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+ if(help) cout << "Input EndTime " << EndTime << endl;
+ }
+ if(dashgb.getCount()) {
+ values = dashgb.getValue();
+ BegTime.setToString(values[0], "%F,%g");
+ if(help) cout << "Input BeginGPSTime " << BegTime << endl;
+ }
+ if(dashge.getCount()) {
+ values = dashge.getValue();
+ EndTime.setToString(values[0], "%F,%g");
+ if(help) cout << "Input EndGPSTime " << EndTime << endl;
+ }
+
+ // processing
+ if(dashde.getCount()) {
+ DoEstimation = false;
+ if(help) cout << "Turn OFF estimation of biases and model" << endl;
+ }
+ if(dashwo.getCount()) {
+ SkipPreproc = true;
+ if(help) cout << "Read the existing AT file (skip preprocessing)" << endl;
+ }
+ if(dashsb.getCount()) {
+ ComputeSatBiases = false;
+ if(help) cout << "Compute Rx biases only, not Rx+Sat biases" << endl;
+ }
+ if(dashmod.getCount()) {
+ values = dashmod.getValue();
+ Model = values[0];
+ if(help) cout << "Model input is " << Model << endl;
+ if(Model != string("linear") &&
+ Model != string("quadratic") &&
+ Model != string("cubic")) {
+ cout << "Warning: --Model is invalid -- linear will be used\n";
+ }
+ }
+ if(dashMinPoints.getCount()) {
+ values = dashMinPoints.getValue();
+ MinPoints = StringUtils::asInt(values[0]);
+ if(help) cout << "Minimum points per satellite = " << MinPoints << endl;
+ }
+ if(dashMinTimeSpan.getCount()) {
+ values = dashMinTimeSpan.getValue();
+ MinTimeSpan = StringUtils::asDouble(values[0]);
+ if(help) cout << "Minimum time span = " << MinTimeSpan << " minutes" << endl;
+ }
+ if(dashMinElevation.getCount()) {
+ values = dashMinElevation.getValue();
+ MinElevation = StringUtils::asDouble(values[0]);
+ //if(MinElevation <= 0.0 || MinElevation >= 90.0) {
+ //}
+ if(help) cout << "Minimum elevation = " << MinElevation << "degrees " << endl;
+ }
+ if(dashMinLatitude.getCount()) {
+ values = dashMinLatitude.getValue();
+ MinLatitude = StringUtils::asDouble(values[0]);
+ //if(MinLatitude <= -90.0 || MinLatitude >= 90.0) {
+ //}
+ if(help) cout << "Minimum latitude = " << MinLatitude << " degrees" << endl;
+ }
+ if(dashMaxLatitude.getCount()) {
+ values = dashMaxLatitude.getValue();
+ MaxLatitude = StringUtils::asDouble(values[0]);
+ //if(MaxLatitude <= -90.0 || MaxLatitude >= 90.0) {
+ //}
+ if(help) cout << "Maximum latitude = " << MaxLatitude << " degrees" << endl;
+ }
+ if(dashMinLongitude.getCount()) {
+ values = dashMinLongitude.getValue();
+ MinLongitude = StringUtils::asDouble(values[0]);
+ while(MinLongitude < 0.0) MinLongitude+=360.0;
+ if(help) cout << "Minimum longitude = " << MinLongitude << " degrees" << endl;
+ }
+ if(dashMaxLongitude.getCount()) {
+ values = dashMaxLongitude.getValue();
+ MaxLongitude = StringUtils::asDouble(values[0]);
+ while(MaxLongitude < 0.0) MaxLongitude+=360.0;
+ if(help) cout << "Maximum longitude = " << MaxLongitude << " degrees" << endl;
+ }
+ if(dashTimeSector.getCount()) {
+ values = dashTimeSector.getValue();
+ TimeSector = StringUtils::lowerCase(values[0]);
+ if(help) cout << "Time sector = " << TimeSector << endl;
+ // TD check that it is valid
+ }
+ if(dashTermOffset.getCount()) {
+ values = dashTermOffset.getValue();
+ TermOffset = StringUtils::asDouble(values[0]);
+ if(help) cout << "Terminal offset = " << TermOffset << " minutes" << endl;
+ }
+ if(dashIonoHt.getCount()) {
+ values = dashIonoHt.getValue();
+ IonoHt = StringUtils::asDouble(values[0]);
+ if(help) cout << "Ionosphere height = " << IonoHt << " km" << endl;
+ }
+
+ if(dashXprn.getCount()) {
+ values = dashXprn.getValue();
+ for(i=0; i<values.size(); i++) {
+ prn = StringUtils::asData<RinexPrn>(values[i]);
+ if(help) cout << "Input: exclude satellite " << prn << endl;
+ ExSV.push_back(prn);
+ }
+ }
+
+ if(dashh.getCount())
+ oflog << "Option h appears " << dashh.getCount() << " times\n";
+ if(dashv.getCount()) {
+ verbose = true;
+ if(help) cout << "Option v appears " << dashv.getCount() << " times\n";
+ }
+ if(dashd.getCount()) {
+ debug = true;
+ if(help) cout << "Option d appears " << dashd.getCount() << " times\n";
+ }
+
+ if(Rest.getCount() && help) {
+ cout << "Remaining options:" << endl;
+ values = Rest.getValue();
+ for (i=0; i<values.size(); i++) cout << values[i] << endl;
+ }
+ if(verbose && help) {
+ cout << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+ for(j=0; j<Args.size(); j++) cout << Args[j] << endl;
+ cout << endl;
+ }
+ if(help) cout << "Configuration summarized in log file\n";
+
+ // print configuration
+ if(verbose || help || debug) {
+ oflog << "Input configuration for IonoBias:\n";
+ if(!InputPath.empty()) oflog << " Path for input files is "
+ << InputPath << endl;
+ oflog << " Input Rinex obs file names are:\n";
+ for(i=0; i<Filenames.size(); i++)
+ oflog << " " << Filenames[i] << endl;
+ if(!NavDir.empty()) oflog << " Path for input nav files is "
+ << NavDir << endl;
+ if(NavFiles.size() > 0) {
+ oflog << " Input Rinex nav file names are:\n";
+ for(i=0; i<NavFiles.size(); i++)
+ oflog << " " << NavFiles[i] << endl;
+ }
+ //oflog << " Input data interval is: " << fixed << setprecision(2)
+ //<< DataInterval << endl;
+ if(!ATFileName.empty()) oflog << " AT file name is "
+ << ATFileName << endl;
+ if(BegTime > DayTime::BEGINNING_OF_TIME) oflog << " Begin time is "
+ << BegTime.printf("%Y/%m/%d_%H:%M:%6.3f=%F/%10.3g") << endl;
+ if(EndTime < DayTime::END_OF_TIME) oflog << " End time is "
+ << EndTime.printf("%Y/%m/%d_%H:%M:%6.3f=%F/%10.3g") << endl;
+ oflog << " Processing:\n";
+ oflog << " Use a " << Model << " ionospheric model" << endl;
+ oflog << " Minimum points per satellite = " << MinPoints << endl;
+ oflog << " Minimum time span = " << MinTimeSpan << " minutes" << endl;
+ oflog << " Minimum elevation = " << MinElevation << " degrees" << endl;
+ oflog << " Minimum latitude = " << MinLatitude << " degrees" << endl;
+ oflog << " Maximum latitude = " << MaxLatitude << " degrees" << endl;
+ oflog << " Minimum longitude = " << MinLongitude << " degrees" << endl;
+ oflog << " Maximum longitude = " << MaxLongitude << " degrees" << endl;
+ oflog << " Time sector = " << TimeSector << endl;
+ oflog << " Terminal offset = " << TermOffset << " minutes" << endl;
+ oflog << " Ionosphere height = " << IonoHt << " km" << endl;
+ if(ExSV.size() > 0) {
+ oflog << " Exclude these satellites:";
+ for(i=0; i<ExSV.size(); i++) oflog << " " << ExSV[i];
+ oflog << endl;
+ }
+ oflog << " Compute " << (ComputeSatBiases ? "Sat+":"") << "Rx biases" << endl;
+ if(BiasFileName.length() > 0)
+ oflog << " Output biases to file " << BiasFileName << endl;
+ else
+ oflog << " Do not output biases to a file" << endl;
+ oflog << " Do" << (DoEstimation?"":" not do")
+ << " the estimation problem" << endl;
+ oflog << " " << (SkipPreproc?"Skip":"Do not skip") << " the preprocessing"
+ << endl;
+ if(help) oflog << " Help (-h) is set\n";
+ if(debug) oflog << " Debug (-d) is set\n";
+ oflog << "End of input configuration for IonoBias" << endl;
+ }
+
+ if(!DoEstimation && SkipPreproc) {
+ cout << "ERROR: Estimation is turned off and so is preprocessing!\n";
+ cout << "ERROR: Abort: nothing to do.\n";
+ return -1;
+ }
+
+ if(help) return 1;
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "IonoBias:GetCommandLine caught an exception\n" << e;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "IonoBias:GetCommandLine caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& ver, bool& deb)
+{
+ if(arg[0]=='-' && arg[1]=='f') {
+ string filename(arg);
+ filename.erase(0,2);
+ //cout << "Found a file of options: " << filename << endl;
+ ifstream infile(filename.c_str());
+ if(!infile) {
+ cerr << "Error: could not open options file "
+ << filename << endl;
+ }
+ else {
+ char c;
+ string buffer;
+ while( infile >> buffer) {
+ if(buffer[0] == '#') { // skip to end of line
+ while(infile.get(c)) { if(c=='\n') break; }
+ }
+ else PreProcessArgs(buffer.c_str(),Args,ver,deb);
+ }
+ }
+ }
+ else if((arg[0]=='-' && arg[1]=='d') || string(arg)==string("--debug")) {
+ deb = true;
+ //cout << "Found the debug switch" << endl;
+ }
+ else if((arg[0]=='-' && arg[1]=='v') || string(arg)==string("--verbose")) {
+ ver = true;
+ //cout << "Found the verbose switch" << endl;
+ }
+ else if((arg[0]=='-' && arg[1]=='l')) {
+ LogFile = string(&arg[2]);
+ //cout << "Found the log file name " << LogFile << endl;
+ }
+ else Args.push_back(arg);
+}
+
+//------------------------------------------------------------------------------------
+int Initialize(void)
+{
+try {
+ // open nav files and read EphemerisStore
+ if(!NavDir.empty())
+ for(int i=0; i<NavFiles.size(); i++)
+ NavFiles[i] = NavDir + "/" + NavFiles[i];
+ FillEphemerisStore(NavFiles, SP3EphList, BCEphList);
+ if(SP3EphList.size()) {
+ if(verbose) SP3EphList.dump(0,oflog);
+ }
+ else if(verbose) oflog << "SP3 Ephemeris list is empty\n";
+
+ if(BCEphList.size()) {
+ BCEphList.SearchNear();
+ if(verbose) BCEphList.dump(0,oflog);
+ }
+ else if(verbose) oflog << "BC Ephemeris list is empty\n";
+
+ if(SP3EphList.size()) pEph = &SP3EphList;
+ else if(BCEphList.size()) pEph = &BCEphList;
+ else {
+ cerr << "IonoBias abort -- no ephemeris\n";
+ oflog << "IonoBias abort -- no ephemeris\n";
+ return -1;
+ }
+
+ // create the obs types for later use
+ ELot = RinexObsHeader::convertObsType("EL");
+ LAot = RinexObsHeader::convertObsType("LA");
+ LOot = RinexObsHeader::convertObsType("LO");
+ SRot = RinexObsHeader::convertObsType("SR");
+ SSot = RinexObsHeader::convertObsType("SS");
+
+ // initialize AT header data
+ int i;
+ NgoodStations = 0;
+ for(i=0; i<=MAXPRN; i++) BoolVec.push_back(false);
+ for(i=0; i<Filenames.size(); i++) EstimationFlag.push_back(BoolVec);
+
+ // open output file and write zero-filled header
+ fout.open(ATFileName.c_str(),ios_base::out);
+ if(!fout) {
+ cerr << "IonoBias abort -- failed to open AT file " << ATFileName
+ << " for output." << endl;
+ oflog << "IonoBias abort -- failed to open AT file " << ATFileName
+ << " for output." << endl;
+ return -2;
+ }
+ WriteATHeader();
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "IonoBias:Initialize caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok,
+// -2 could not open a file,
+// -3 FFStream exception,
+// -4 gpstk exception,
+// -5 no sunrise
+int Process(void)
+{
+try {
+ int i,iret;
+ string fname;
+ RinexObsStream instream;
+ RinexObsHeader header;
+
+ // loop over input file names
+ if(verbose) oflog << "\nProcess " << Filenames.size() << " input files:\n";
+ for(ndata=0,nfile=0; nfile<Filenames.size(); nfile++) {
+ if(verbose) oflog << endl;
+ fname = Filenames[nfile];
+ instream.open(fname.c_str(),ios_base::in);
+ if(!instream) {
+ oflog << " Rinex file " << fname << " could not be opened -- abort.\n";
+ return -2;
+ }
+ instream.exceptions(ios::failbit);
+ if(verbose) oflog << "Opened input file #" << nfile+1 << ": " << fname << endl;
+
+ iret = ProcessHeader(instream,fname,header);
+ if(iret != 0) return iret;
+
+ if(nfile==0) {
+ MJDNorm = header.firstObs.MJD();
+ LonNorm = StationPosition[1]; //.getLongitude();
+ }
+
+ iret = ProcessObs(instream,fname,header);
+ if(iret != 0) return iret;
+
+ instream.close();
+ instream.clear();
+
+ } // end loop over file names
+
+ if(verbose) {
+ oflog << endl << "Processed " << Filenames.size()
+ << " files; " << NgoodStations << " of them had good data.\n";
+ oflog << "Total number of data points = " << ndata << endl;
+ }
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "IonoBias:Process caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+catch(...) {
+ cerr << "IonoBias:Process caught an unknown exception\n";
+ return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok, -3 FFStream exception, -4 gpstk exception, -5 no sunrise
+int ProcessHeader(RinexObsStream& ins, string& filename, RinexObsHeader& head)
+{
+try {
+ // input header
+ try {
+ ins >> head;
+ }
+ catch(gpstk::FFStreamError& e) {
+ cerr << "Caught an FFStreamError while reading header for file "
+ << filename << ":\n" << e.getText(0) << endl;
+ oflog << "Caught an FFStreamError while reading header for file "
+ << filename << ":\n" << e.getText(0) << endl;
+ return -3;
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "Caught a gpstk exception while reading header for file "
+ << filename << ":\n" << e.getText(0) << endl;
+ oflog << "Caught a gpstk exception while reading header for file "
+ << filename << ":\n" << e.getText(0) << endl;
+ return -4;
+ }
+
+ // convert to LLH
+ Position xyz;
+ xyz.setECEF(head.antennaPosition);
+ StationPosition = xyz;
+ StationPosition.transformTo(Position::Geocentric);
+
+ // compute begin and end times
+ TimeLimits(StationPosition, head.firstObs.DOY(), TimeSector, begintime, endtime);
+ if(begintime == -999 || endtime == -999) return -5;
+
+ // save station info
+ StationName = head.markerName;
+ TotalSpan = head.lastObs.MJD()-head.firstObs.MJD();
+
+ // dump header information
+ if(verbose) {
+ int i;
+ oflog << "File name: " << filename << endl;
+ oflog << "Marker name: " << head.markerName << "\n";
+ oflog << "Position (XYZ,m) : " << fixed
+ << setprecision(3) << head.antennaPosition << "\n";
+ oflog << "Position (LLH ) : ("
+ << setprecision(8) << StationPosition[0] << ", "
+ << setprecision(8) << StationPosition[1] << ", "
+ << setprecision(4)
+ << StationPosition[2] - StationPosition.radiusEarth()
+ << ")\n";
+ oflog << "Observation types (" << head.obsTypeList.size() << ") :";
+ for(i=0; i<head.obsTypeList.size(); i++)
+ oflog << " " << RinexObsHeader::convertObsType(head.obsTypeList[i]);
+ oflog << endl;
+ oflog << "Time of first obs "
+ << head.firstObs.printf("%04Y/%02m/%02d %02H:%02M:%010.7f")
+ << " " << (head.firstSystem==systemGlonass?"GLO":"GPS") << endl;
+ oflog << "Time of last obs "
+ << head.lastObs.printf("%04Y/%02m/%02d %02H:%02M:%010.7f")
+ << " " << (head.lastSystem==systemGlonass?"GLO":"GPS") << endl;
+ oflog << "DOY = " << head.firstObs.DOY() << endl;
+ oflog << "Sunrise = " << setprecision(2) << sunrise;
+ oflog << " Sunset = " << setprecision(2) << sunset << endl;
+ oflog << "Begin time = " << setprecision(2) << begintime;
+ oflog << " End time = " << setprecision(2) << endtime << endl;
+ }
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "IonoBias:ProcessHeader caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+catch(...) {
+ cerr << "IonoBias:ProcessHeader caught an unknown exception\n";
+ return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+// Given a position (LLH), day of year, and sector flag (TimeSector),
+// compute the begin and end times (hours of the day) of our data window,
+// which will = sunrise + TermOffset and sunset - TermOffset.
+void TimeLimits(Position llr, int doy, string& sector, double& begin, double& end)
+{
+ begin = 0;
+ end = 24.;
+
+ Sunrise(llr[0], llr[1], IonoHt*1000.0, doy, sunrise, sunset);
+ if(sector == string("both")) return;
+ if(sector == string("day")) {
+ begin = sunrise + TermOffset/60.0;
+ end = sunset - TermOffset/60.0;
+ }
+ if(sector == string("night")) {
+ begin = sunset + TermOffset/60.0;
+ end = sunrise - TermOffset/60.0;
+ }
+
+ while(begin < 0) begin += 24;
+ while(begin >= 24) begin -= 24;
+ while(end < 0) end += 24;
+ while(end >= 24) end -= 24;
+}
+
+//------------------------------------------------------------------------------------
+// Compute the position (latitude and longitude, in degrees) of the sun
+// given the day of year and the hour of the day.
+// Adapted from sunpos by D. Coco 12/15/94
+//#include "icd_200_constants.hpp // for TWO_PI
+//#include "geometry.hpp" // for DEG_TO_RAD and RAD_TO_DEG
+void SolarPosition(int doy, double hod, double& lat, double& lon)
+{
+ lat = sin(23.5*DEG_TO_RAD)*sin(TWO_PI*double(doy-83)/365.25);
+ lat = lat / SQRT(1.0-lat*lat);
+ lat = RAD_TO_DEG*atan(lat);
+ lon = 180.0 - hod*15.0;
+}
+
+//------------------------------------------------------------------------------------
+// Compute the time of day of sunrise and sunset (set to -999 if they do not exist),
+// given a geographic position and day of year.
+// Adapted from D. Coco 2/7/96 from equation in Supplement to the Astromonical Almanac
+void Sunrise(double lat, double lon, double ht, int doy, double& rise, double& set)
+{
+ const double DEG_TO_HRS=(24.0/360.0); // should this be sidereal day?
+ double sunlat,sunlon,hod;
+
+ // find the position of the sun
+ hod = 0;
+ SolarPosition(doy, hod, sunlat, sunlon);
+
+ double x = -1 * tan(sunlat*DEG_TO_RAD) * tan(lat*DEG_TO_RAD);
+ if(x <= -1.0 || x >= 1.0) {
+ rise = set = -999;
+ return;
+ }
+ x = acos(x) * RAD_TO_DEG;
+
+ rise = DEG_TO_HRS * (sunlon - lon - x);
+ set = DEG_TO_HRS * (sunlon - lon + x);
+
+ // adjust for height above sea level
+ double dht=0,radius=Position::radiusEarth(lat,WGS84.a(),WGS84.eccSquared());
+ dht = 24.0*acos(radius/(radius+ht))/TWO_PI;
+ rise -= dht;
+ set += dht;
+
+ while(rise < 0) rise += 24;
+ while(rise >= 24) rise -= 24;
+ while(set < 0) set += 24;
+ while(set >= 24) set -= 24;
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok, -3 FFStream exception, -4 gpstk exception, -6 stream not good
+int ProcessObs(RinexObsStream& ins, string& filename, RinexObsHeader& head)
+{
+try {
+ int i,j,k,npts[MAXPRN+1];
+ double EL,LA,LO,SR,hours,cr,ob;
+ Position LLI;
+ DayTime begin[MAXPRN+1],end[MAXPRN+1];
+ RinexObsData robs;
+ RinexPrn sat;
+ //RinexObsData::RinexObsTypeMap otmap;
+ RinexObsData::RinexPrnMap::const_iterator it;
+ RinexObsData::RinexObsTypeMap::const_iterator jt;
+
+ if(!ins.good()) return -6;
+
+ // initialize for this station
+ fout.seekp(0,ios_base::end); // go to EOF
+ current_header_pos = fout.tellp(); // save for later
+ NgoodPoints = 0;
+ WriteStationHeader(NgoodPoints,StationName,StationPosition); // dummy
+
+ // loop over epochs
+ for(i=1; i<=MAXPRN; i++) npts[i]=0;
+ do {
+ try {
+ ins >> robs;
+ }
+ catch(gpstk::FFStreamError& e) {
+ cerr << "Caught an FFStreamError while reading obs for file "
+ << filename << ":\n" << e.getText(0) << endl;
+ oflog << "Caught an FFStreamError while reading obs for file "
+ << filename << ":\n" << e.getText(0) << endl;
+ return -3;
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "Caught a gpstk exception while reading obs for file "
+ << filename << ":\n" << e.getText(0) << endl;
+ oflog << "Caught a gpstk exception while reading obs for file "
+ << filename << ":\n" << e.getText(0) << endl;
+ return -4;
+ }
+ if(ins.eof()) break;
+ if(!ins.good()) { return -6; }
+
+ //if(verbose) oflog << " Read file " << filename
+ // << " epoch " << robs.time.printf("%Y/%m/%d_%H:%M:%6.3f=%F/%10.3g") << endl;
+
+ hours = robs.time.secOfDay()/3600.0; // hours of the day
+ // compute co-rotating longitude CL = LO + cr
+ cr = (robs.time.MJD()-MJDNorm) * 360.0;
+ cr -= LonNorm + TotalSpan * 180.0;
+
+ // loop over sat=it->first, ObsTypeMap=it->second
+ for(it=robs.obs.begin(); it != robs.obs.end(); ++it) {
+ sat = it->first;
+ if(sat.system != systemGPS) continue; // ignore non-GPS satellites
+ if(sat.prn <= 0 || sat.prn > MAXPRN) continue; // just in case...
+ for(i=0,k=-1; i<ExSV.size(); i++) { // Is this satellite excluded ?
+ if( ExSV[i] == sat || // sat is excluded
+ (ExSV[i].prn==-1 && ExSV[i].system==sat.system) ) {// system excluded
+ k=i;
+ break;
+ }
+ }
+ if(k != -1) continue;
+
+ // process this sat
+ if( (jt=it->second.find(ELot)) != it->second.end()) EL = jt->second.data;
+ if(EL < MinElevation) continue;
+
+ if( (jt=it->second.find(LAot)) != it->second.end()) LA = jt->second.data;
+ if(LA < MinLatitude || LA > MaxLatitude) continue;
+
+ if( (jt=it->second.find(LOot)) != it->second.end()) LO = jt->second.data;
+ while(LO < 0.0) LO+=360.0;
+ if(LO < MinLongitude || LO > MaxLongitude) continue;
+
+ if( (jt=it->second.find(SRot)) != it->second.end()) {
+ SR = jt->second.data;
+ //if(jt->second.ssi == 1) continue; // reject if ssi==1 ?? TD
+ }
+ else if( (jt=it->second.find(SSot)) != it->second.end()) {
+ SR = jt->second.data;
+ }
+
+ LLI = Position(LA,LO,IonoHt*1000.0); // 3rd entry is actually not used.
+ TimeLimits(LLI, robs.time.DOY(), TimeSector, begintime, endtime);
+ if(endtime >= begintime) {
+ if(hours < begintime || hours > endtime) continue;
+ }
+ else {
+ if(hours < begintime && hours > endtime) continue;
+ }
+
+ // compute the obliquity
+ ob = obliquity(EL);
+
+ // write out
+ fout << setw(4) << robs.time.GPSfullweek();
+ fout << " " << setw(8) << setprecision(1) << robs.time.GPSsow();
+ fout << " " << setw(9) << setprecision(5) << LA; // latitude
+ fout << " " << setw(10) << setprecision(5) << LO+cr; // co-rotating longitude
+ fout << " " << setw(4) << setprecision(2) << ob; // obliquity
+ fout << " " << setw(8) << setprecision(3) << SR; // slant TEC
+ fout << " " << setw(6) << setprecision(2) << 1; // sigma ?? TD
+ fout << " " << setw(2) << sat.prn; // PRN
+ fout << " " << setw(3) << nfile+1; // file number
+ fout << endl;
+
+ EstimationFlag[nfile][sat.prn] = true;
+ NgoodPoints++;
+ npts[sat.prn]++; // Npts for this sat
+ if(npts[sat.prn]==1) begin[sat.prn] = robs.time;
+ end[sat.prn] = robs.time;
+
+ } // end for loop over sats
+
+
+ } while(1);
+
+ // revised header
+ WriteStationHeader(NgoodPoints,StationName,StationPosition);
+
+ // revise estimation flags
+ if(verbose) oflog << "PRN Points Timespan Begin End (hrs)\n";
+ for(i=1; i<=MAXPRN; i++) {
+ if(npts[i] > 0) {
+ if(verbose) oflog << "G" << setfill('0') << setw(2) << i << setfill(' ')
+ << setw(6) << npts[i]
+ << setw(10) << setprecision(2) << (end[i]-begin[i])/3600.0
+ << setw(10) << setprecision(2) << begin[i].secOfDay()/3600.0
+ << setw(10) << setprecision(2) << end[i].secOfDay()/3600.0;
+ if((end[i]-begin[i] < MinTimeSpan*60.0 || npts[i] < MinPoints)){
+ if(verbose) {
+ oflog << " reject(";
+ if(end[i]-begin[i] < MinTimeSpan*60.0) oflog << " time ";
+ if(npts[i] < MinPoints) oflog << " pts ";
+ oflog << ")";
+ }
+ EstimationFlag[nfile][i] = false;
+ NgoodPoints -= npts[i];
+ }
+ if(verbose) oflog << endl;
+ }
+ }
+
+ if(NgoodPoints > 0) {
+ NgoodStations++;
+ ndata += NgoodPoints;
+ }
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "IonoBias:ProcessObs caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+catch(...) {
+ cerr << "IonoBias:ProcessObs caught an unknown exception\n";
+ return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+void WriteATHeader(void)
+{
+try {
+ int i,j;
+ fout.seekp(0);
+ fout << setw(5) << Filenames.size() << " " << setw(5) << NgoodStations
+ << " Number (max, good) stations in this file \n";
+ for(i=0; i<Filenames.size(); i++) {
+ for(j=0; j<MAXPRN+1; j++) fout << (EstimationFlag[i][j] ? '1' : '0');
+ fout << "\n";
+ }
+ fout << fixed;
+}
+catch(gpstk::Exception& e) {
+ cerr << "IonoBias:WriteATHeader caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+catch(...) {
+ cerr << "IonoBias:WriteATHeader caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+void WriteStationHeader(int npts, string sta_name, Position llr)
+{
+try {
+ fout.seekp(current_header_pos);
+ fout << "Npt " << setw(5) << npts;
+ //fout << in_file_s;
+ //fout << sta_id;
+ fout << " Sta " << sta_name;
+ fout << " LLH " << setw(10) << setprecision(4) << llr[0]; //gllh.getLatitude();
+ fout << " " << setw(10) << setprecision(4) << llr[1]; //gllh.getLongitude();
+ fout << " " << setw(10) << setprecision(4)
+ << llr[2]-Position::radiusEarth(llr[0],WGS84.a(),WGS84.eccSquared());
+ //gllh.getAltitude();
+ fout << endl;
+}
+catch(gpstk::Exception& e) {
+ cerr << "IonoBias:WriteStationHeader caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+catch(...) {
+ cerr << "IonoBias:WriteStationHeader caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+void ParseLine(string& str, vector<string>& wds)
+{
+ istringstream iss(str);
+ string wd;
+ wds.clear();
+ while(iss >> wd) {
+ wds.push_back(wd);
+ }
+}
+
+//------------------------------------------------------------------------------------
+int ReadATandCompute(void)
+{
+try {
+ ifstream ifs;
+ ifs.open(ATFileName.c_str()); // output file is now the input
+ if(!ifs) {
+ cerr << "Failed to open AT file " << ATFileName << " for input" << endl;
+ return -1;
+ }
+ else if(verbose) oflog << "\nOpened AT file " << ATFileName << " for input\n";
+
+ // read the AT header
+ int i,j,k,ii,jj;
+ long N,n;
+ string line;
+
+ EstimationFlag.clear();
+ ifs >> N >> n;
+ getline(ifs,line); // read to eol
+ for(i=0; i<N; i++) {
+ getline(ifs,line);
+ for(j=0; j<line.size(); j++) BoolVec[j] = (line[j] == '1');
+ EstimationFlag.push_back(BoolVec);
+ }
+
+ //if(verbose) {
+ // oflog << "Read AT (" <<N<< "," <<n<< "," << EstimationFlag.size() << ")\n";
+ // for(i=0; i<EstimationFlag.size(); i++) {
+ // for(j=0; j<MAXPRN+1; j++) oflog << (EstimationFlag[i][j] ? '1' : '0');
+ // oflog << "\n";
+ // }
+ //}
+
+ if(N != EstimationFlag.size()) { //oops
+ }
+
+ // dimension and initialize the LS problem
+ if(Model == "cubic") {
+ oflog << "Model is cubic\n";
+ NIonoParam = 10;
+ }
+ else if(Model == "quadratic") {
+ oflog << "Model is quadratic\n";
+ NIonoParam = 6;
+ }
+ else { // linear and default
+ oflog << "Model is linear\n";
+ NIonoParam = 3;
+ }
+
+ for(NBiasParam=0,i=0; i<N; i++) {
+ if(!ComputeSatBiases) NBiasParam++;
+ else for(j=0; j<MAXPRN+1; j++) if(EstimationFlag[i][j]) NBiasParam++;
+ }
+ NTotalParam = NIonoParam + NBiasParam;
+
+ Sol.resize(NTotalParam,0.0);
+ Cov.resize(NTotalParam,NTotalParam,0.0);
+ InfData.resize(NTotalParam,0.0);
+
+ // Read the rest of the AT file
+ int wn,prn,nfile,in;
+ double sow,lat,lon,obq,sr,sig,d2=0;
+ string stationID;
+ vector<string> words;
+ pair<string,int> Comp;
+
+ // loop over stations
+ oflog << setw(2) << N << " Number of stations (N data and filename follow).\n";
+ for(ndata=0,i=0; i<N; i++) {
+ // read station header
+ getline(ifs,line);
+ ParseLine(line,words);
+ if(words[0] != string("Npt")) { //oops
+ }
+ n = StringUtils::asInt(words[1]);
+ stationID = words[3];
+
+ if(n > 0 && verbose) {
+ oflog << setw(3) << i+1 << " " << stationID << " " << setw(4) << n << " ";
+ //for(j=0; j<=MAXPRN; j++) oflog << (EstimationFlag[i][j] ? '1' : '0');
+ oflog << Filenames[i];
+ oflog << endl;
+ }
+
+ // read data
+ for(j=0; j<n; j++) {
+ getline(ifs,line);
+ ParseLine(line,words);
+ wn = StringUtils::asInt(words[0]);
+ sow = StringUtils::asDouble(words[1]);
+ lat = StringUtils::asDouble(words[2]);
+ lon = StringUtils::asDouble(words[3]);
+ obq = StringUtils::asDouble(words[4]);
+ sr = StringUtils::asDouble(words[5]);
+ sig = StringUtils::asDouble(words[6]);
+ prn = StringUtils::asInt(words[7]);
+ nfile = StringUtils::asInt(words[8]);
+
+ // do not include rejected data
+ if(!(EstimationFlag[i][prn])) continue;
+
+ // if NOT computing satellite biases, lump all data together into "PRN 0"
+ if(!ComputeSatBiases) { prn = 0; }
+
+ // find min and max lat and lon
+ if(ndata == 0) {
+ MaxLat = MinLat = lat;
+ MaxCRLon = MinCRLon = lon;
+ }
+ else {
+ if(ABS(lat) > MaxLat) MaxLat=lat;
+ if(ABS(lat) < MinLat) MinLat=lat;
+ if(ABS(lon) > MaxCRLon) MaxCRLon=lon;
+ if(ABS(lon) < MinCRLon) MinCRLon=lon;
+ }
+ ndata++;
+
+ // add this data to the LS
+ //d2 += sr*sr;
+ // find the index in partials matrix for this station-satellite pair
+ Comp = make_pair(stationID,prn);
+ in = index(ComponentIDs,Comp);
+ if(in == -1) {
+ in = ComponentIDs.size();
+ ComponentIDs.push_back(Comp);
+ }
+
+ // Before computing partials matrix, scale lat and lon
+ // to avoid large numerical range <=> difficult inversion
+ //lat /= 1000.0;
+ //lon /= 1000.0;
+ //PartialsMatrix(Par,in,lat,lon,obq);
+ // row of partials matrix has [in] = 1 and if nb=NBiasParam
+ PM[0] = obq; // [nb+0] (all models)
+ PM[1] = lat * obq; // [nb+1] (all models)
+ PM[2] = lon * obq; // [nnb2] (all models)
+ if(NIonoParam > 3) {
+ PM[3] = lat * lat * obq; // [nb+3] (quadratic and cubic)
+ PM[4] = lon * lon * obq; // [nb+4] (quadratic and cubic)
+ PM[5] = lat * lon * obq; // [nb+5] (quadratic and cubic)
+ }
+ if(NIonoParam > 6) {
+ PM[6] = lat * lat * lat * obq; // [nb+6] (cubic only)
+ PM[7] = lon * lon * lon * obq; // [nb+7] (cubic only)
+ PM[8] = lat * lat * lon * obq; // [nb+8] (cubic only)
+ PM[9] = lat * lon * lon * obq; // [nb+9] (cubic only)
+ }
+ //LS.Add(Par,Dat,Wgt); do the sequential LS by hand for efficiency
+ //
+ // Inf += transpose(partials) * partials (weight = 1)
+ // InfData += transpose(partials) * data
+ //
+ Cov(in,in) += 1.0;
+ InfData(in) += sr;
+ for(ii=0; ii<NIonoParam; ii++) {
+ k = NBiasParam + ii;
+ InfData(k) += sr * PM[ii];
+ Cov(k,in) += PM[ii];
+ Cov(in,k) += PM[ii];
+ for(jj=0; jj<NIonoParam; jj++) {
+ Cov(k,NBiasParam+jj) += PM[ii]*PM[jj];
+ }
+ }
+
+ } // end loop over points for this station
+
+ } // end loop over stations
+
+ ifs.close();
+
+ oflog << setw(9) << setprecision(2) << MinLat << " Minimum Latitude\n";
+ oflog << setw(9) << setprecision(2) << MaxLat << " Maximum Latitude\n";
+ oflog << setw(9) << setprecision(2) << MinCRLon << " Minimum Co-rot lon\n";
+ oflog << setw(9) << setprecision(2) << MaxCRLon << " Maximum Co-rot lon\n";
+ oflog << setw(5) << ndata << " data points used." << endl << endl;
+
+ // solve the LS problem
+ // Cov = inverse(information)
+ // X = Cov * InfData
+ try { Cov = inverse(Cov); }
+ catch(Exception& e) {
+ oflog << "Least squares failed because the problem is singular\n";
+ return -2;
+ }
+
+ // Invert Cov via SVD - also expensive - maybe make option, see SVs and conditionN
+ //SVD<double> svd;
+ //svd(Cov);
+ //oflog << "Singular Values range " << svd.S(0)
+ // << " to " << svd.S(NTotalParam-1) << endl;
+ //for(i=1; i<NIonoParam; i++) {
+ // if(svd.S(i) < 1.e-14 * svd.S(0)) {
+ // oflog << "Edit SingularValue(" << i << ") = " << svd.S(i) << endl;
+ // svd.S(i) = 0;
+ // }
+ //}
+ //Vector<double> T(NIonoParam);
+ //for(j=0; j<NIonoParam; j++) { // loop over columns
+ // T = 0.0;
+ // T(j) = 1.0;
+ // svd.backSub(T);
+ // for(i=0; i<NTotalParam; i++) Cov(i,j)=T(i);
+ //}
+
+ // compute solution
+ Sol = Cov * InfData;
+ //if(verbose) oflog << "Least squares solved successfully.\n";
+
+ // print solution and sigma - remember lat and lon may be scaled by 1/1000
+ bool biasout=false;
+ if(BiasFileName.length() > 0) {
+ fout.open(BiasFileName.c_str(),ios_base::out);
+ if(!fout)
+ cerr << "Failed to open output biases file " << BiasFileName << endl;
+ else {
+ biasout = true;
+ fout << Title;
+ }
+ }
+ oflog << setw(2) << NBiasParam << " Number of SPR biases\n";
+ if(biasout) fout << setw(2) << NBiasParam << " Number of SPR biases\n";
+ for(i=0; i<NBiasParam; i++) {
+ ostringstream oss;
+ oss << setw(3) << i+1 // number
+ << " " << ComponentIDs[i].first // station id
+ << " G" << setw(2) << setfill('0') << ComponentIDs[i].second // sat G<prn>
+ << setfill(' ') << fixed
+ << " " << setw(12) << setprecision(6) << Sol(i) // bias
+ << scientific
+ << " " << setw(10) << setprecision(3) << SQRT(Cov(i,i)) // sigma
+ << endl;
+ oflog << oss.str();
+ if(biasout) fout << oss.str();
+ }
+ oflog << setw(2) << NTotalParam-NBiasParam << " Number of ion model parameters\n";
+ for(i=NBiasParam; i<NTotalParam; i++) {
+ ostringstream oss;
+ oss << setw(3) << i+1-NBiasParam << fixed // number
+ << " " << setw(12) << setprecision(6) << Sol(i) // solution
+ << scientific
+ << " " << setw(10) << setprecision(3) << SQRT(Cov(i,i)) // sigma
+ << endl;
+ oflog << oss.str();
+ if(biasout) fout << oss.str();
+ }
+
+ // compute standard error estimates
+
+
+
+
+
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "IonoBias:ReadATandCompute caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+catch(...) {
+ cerr << "IonoBias:ReadATandCompute caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+// elevation in degrees
+double obliquity(double elevation)
+{
+ double ob;
+ //const double coef[4]={1.02056,0.466332,3.50523,-1.84119};
+ //double x2=(1-elevation/90.)*(1-elevation/90.);
+ //ob = coef[3];
+ //for(int i=2; i>=0; i--) ob = ob*x2 + coef[i];
+
+ ob = WGS84.a()*cos(elevation*DEG_TO_RAD)/(WGS84.a()+IonoHt*1000);
+ ob = SQRT(1.0-ob*ob);
+
+ return ob;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/ionosphere/Jamfile b/trunk/apps/ionosphere/Jamfile
new file mode 100644
index 0000000..fa4ee9b
--- /dev/null
+++ b/trunk/apps/ionosphere/Jamfile
@@ -0,0 +1,10 @@
+#
+# $Id: $
+#
+
+SubDir TOP apps ionosphere ;
+
+GPSLinkLibraries IonoBias TECMaps : gpstk ;
+
+GPSMain IonoBias : IonoBias.cpp RinexUtilities.cpp ;
+GPSMain TECMaps : TECMaps.cpp VTECMap.cpp RinexUtilities.cpp ;
diff --git a/trunk/apps/ionosphere/Makefile.am b/trunk/apps/ionosphere/Makefile.am
new file mode 100644
index 0000000..65c722f
--- /dev/null
+++ b/trunk/apps/ionosphere/Makefile.am
@@ -0,0 +1,7 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = IonoBias TECMaps
+
+IonoBias_SOURCES = IonoBias.cpp RinexUtilities.cpp
+TECMaps_SOURCES = TECMaps.cpp VTECMap.cpp RinexUtilities.cpp
diff --git a/trunk/apps/ionosphere/Makefile.in b/trunk/apps/ionosphere/Makefile.in
new file mode 100644
index 0000000..63d547c
--- /dev/null
+++ b/trunk/apps/ionosphere/Makefile.in
@@ -0,0 +1,433 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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@
+noinst_PROGRAMS = IonoBias$(EXEEXT) TECMaps$(EXEEXT)
+subdir = apps/ionosphere
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_IonoBias_OBJECTS = IonoBias.$(OBJEXT) RinexUtilities.$(OBJEXT)
+IonoBias_OBJECTS = $(am_IonoBias_OBJECTS)
+IonoBias_LDADD = $(LDADD)
+IonoBias_DEPENDENCIES = ../../src/libgpstk.la
+am_TECMaps_OBJECTS = TECMaps.$(OBJEXT) VTECMap.$(OBJEXT) \
+ RinexUtilities.$(OBJEXT)
+TECMaps_OBJECTS = $(am_TECMaps_OBJECTS)
+TECMaps_LDADD = $(LDADD)
+TECMaps_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(IonoBias_SOURCES) $(TECMaps_SOURCES)
+DIST_SOURCES = $(IonoBias_SOURCES) $(TECMaps_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+IonoBias_SOURCES = IonoBias.cpp RinexUtilities.cpp
+TECMaps_SOURCES = TECMaps.cpp VTECMap.cpp RinexUtilities.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apps/ionosphere/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu apps/ionosphere/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+IonoBias$(EXEEXT): $(IonoBias_OBJECTS) $(IonoBias_DEPENDENCIES)
+ @rm -f IonoBias$(EXEEXT)
+ $(CXXLINK) $(IonoBias_LDFLAGS) $(IonoBias_OBJECTS) $(IonoBias_LDADD) $(LIBS)
+TECMaps$(EXEEXT): $(TECMaps_OBJECTS) $(TECMaps_DEPENDENCIES)
+ @rm -f TECMaps$(EXEEXT)
+ $(CXXLINK) $(TECMaps_LDFLAGS) $(TECMaps_OBJECTS) $(TECMaps_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/IonoBias.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RinexUtilities.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TECMaps.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/VTECMap.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/ionosphere/README b/trunk/apps/ionosphere/README
new file mode 100644
index 0000000..4d47fee
--- /dev/null
+++ b/trunk/apps/ionosphere/README
@@ -0,0 +1,15 @@
+apps/ionosphere
+
+ Program IonoBias reads Rinex data files containing extended Rinex
+observation types EL, LA, LO and SR or SS (see preprocessing, below) from
+several sites and estimates biases in the ionospheric total electron content (TEC) measurements imposed by the hardware: either by satellite (the satellite + receiver combined bias) or by receiver alone (average over satellites to get the receiver bias). IonoBias does this by assuming a simple model of the ionosphere and simultaneously estimating biases and model parameters.
+
+ Program TECMaps reads Rinex data files containing extended Rinex observation
+types EL, AZ and SR or VR from several sites and at each epoch fits the ver-
+tical TEC data to a model of the ionosphere on a two-dimensional grid surface.
+Hardware TEC measurement biases are corrected, using input from the program
+IonoBias. The user can specify the type of grid, the type of TEC data and the
+model to be used. Output is in the form of files, one per epoch, which can be
+used to plot the 2D ionospheric TEC surface.
+
+ Run these programs at the command prompt with no options to see a summary of the input options.
diff --git a/trunk/apps/ionosphere/RinexUtilities.cpp b/trunk/apps/ionosphere/RinexUtilities.cpp
new file mode 100644
index 0000000..30c7f34
--- /dev/null
+++ b/trunk/apps/ionosphere/RinexUtilities.cpp
@@ -0,0 +1,237 @@
+//------------------------------------------------------------------------------------
+// RinexUtilities.cpp Several miscellaneous utilities for use with Rinex data.
+// RinexUtilities is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexUtilities.cpp#1 $"
+
+/**
+ * @file RinexUtilities.cpp
+ * Miscellaneous utilities for use with Rinex data.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexObsHeader.hpp"
+
+#include "RinexUtilities.hpp"
+
+#include <iostream>
+
+using namespace std;
+using namespace gpstk;
+
+//------------------------------------------------------------------------------
+int RegisterARLUTExtendedTypes(void)
+{
+ unsigned int EPPS = //0x60
+ RinexObsHeader::RinexObsType::EPdepend | RinexObsHeader::RinexObsType::PSdepend;
+ unsigned int L1L2 = //0x06
+ RinexObsHeader::RinexObsType::L1depend | RinexObsHeader::RinexObsType::L2depend;
+ unsigned int P1P2 = //0x18
+ RinexObsHeader::RinexObsType::P1depend | RinexObsHeader::RinexObsType::P2depend;
+ unsigned int EPEP=RinexObsHeader::RinexObsType::EPdepend;//0x20
+ unsigned int PELL=EPPS | L1L2;//0x66
+ unsigned int PEPP=EPPS | P1P2;//0x78
+ unsigned int PsLs=L1L2 | P1P2;//0x1E
+ unsigned int L1P1 = //0x0A
+ RinexObsHeader::RinexObsType::L1depend | RinexObsHeader::RinexObsType::P1depend;
+ unsigned int L2P2 = //0x14
+ RinexObsHeader::RinexObsType::L2depend | RinexObsHeader::RinexObsType::P2depend;
+ int j;
+ j = RegisterExtendedRinexObsType("ER","Ephemeris range", "meters", EPPS);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("RI","Iono Delay, Range", "meters", P1P2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("PI","Iono Delay, Phase", "meters", L1L2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("TR","Tropospheric Delay", "meters", EPPS);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("RL","Relativity Correct.", "meters", EPEP);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("SC","SV Clock Bias", "meters", EPEP);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("EL","Elevation Angle", "degrees",EPPS);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("AZ","Azimuth Angle", "degrees",EPPS);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("SR","Slant TEC (PR)", "TECU", P1P2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("SP","Slant TEC (Ph)", "TECU", L1L2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("VR","Vertical TEC (PR)", "TECU", PEPP);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("VP","Vertical TEC (Ph)", "TECU", PELL);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("LA","Lat Iono Intercept", "degrees",EPPS);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("LO","Lon Iono Intercept", "degrees",EPPS);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("P3","TFC(IF) Pseudorange", "meters", P1P2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("L3","TFC(IF) Phase", "meters", L1L2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("P4","GeoFree Pseudorange", "meters", P1P2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("L4","GeoFree Phase", "meters", L1L2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("P5","WideLane Pseudorange","meters", P1P2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("L5","WideLane Phase", "meters", L1L2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("MP","Multipath (=M3)", "meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("M1","L1 Range minus Phase","meters", L1P1);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("M2","L2 Range minus Phase","meters", L2P2);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("M3","IF Range minus Phase","meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("M4","GF Range minus Phase","meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("M5","WL Range minus Phase","meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("XR","Non-dispersive Range","meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("XI","Ionospheric delay", "meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("X1","Range Error L1", "meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("X2","Range Error L2", "meters", PsLs);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("SX","Satellite ECEF-X", "meters", EPEP);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("SY","Satellite ECEF-Y", "meters", EPEP);
+ if(j) return j;
+ j = RegisterExtendedRinexObsType("SZ","Satellite ECEF-Z", "meters", EPEP);
+ if(j) return j;
+ return 0;
+}
+
+//------------------------------------------------------------------------------------
+bool isSP3File(const string& file)
+{
+ SP3Header header;
+ SP3Stream strm(file.c_str());
+ strm.exceptions(fstream::failbit);
+ try { strm >> header; } catch(gpstk::Exception& e) { return false; }
+ strm.close();
+ return true;
+}
+//------------------------------------------------------------------------------------
+bool isRinexNavFile(const string& file)
+{
+ RinexNavHeader header;
+ RinexNavStream rnstream(file.c_str());
+ rnstream.exceptions(fstream::failbit);
+ try { rnstream >> header; } catch(gpstk::Exception& e) { return false; }
+ rnstream.close();
+ return true;
+}
+//------------------------------------------------------------------------------------
+bool isRinexObsFile(const string& file)
+{
+ RinexObsHeader header;
+ RinexObsStream rostream(file.c_str());
+ rostream.exceptions(fstream::failbit);
+ try { rostream >> header; } catch(gpstk::Exception& e) { return false; }
+ rostream.close();
+ return true;
+}
+//------------------------------------------------------------------------------------
+int FillEphemerisStore(const vector<string>& files, SP3EphemerisStore& PE,
+ BCEphemerisStore& BCE)
+{
+try {
+ int nread=0;
+ RinexNavHeader rnh;
+ RinexNavData rne;
+ for(int i=0; i<files.size(); i++) {
+ if(files[i].empty()) throw Exception("File name is empty");
+ RinexNavStream strm(files[i].c_str());
+ if(!strm) throw Exception("Could not open file " + files[i]);
+ strm.close();
+ if(isRinexNavFile(files[i])) {
+ RinexNavStream RNFileIn(files[i].c_str());
+ RNFileIn.exceptions(fstream::failbit);
+ try {
+ RNFileIn >> rnh;
+ //if(Verbose) {
+ // logof << "Input Rinex Nav file header\n";
+ // rnh.dump(logof);
+ //}
+ while (RNFileIn >> rne)
+ {
+ if(rne.health == 0)
+ BCE.addEphemeris(rne);
+ }
+ nread++;
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "Caught Exception while reading Rinex Nav file " << files[i]
+ << " :\n" << e << endl;
+ continue;
+ }
+ }
+ else if(isSP3File(files[i])) {
+ try {
+ PE.loadFile(files[i]);
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "Caught Exception while reading SP3 Nav file " << files[i]
+ << " :\n" << e << endl;
+ continue;
+ }
+ nread++;
+ }
+ else throw Exception("File " + files[i] + " is neither BCE nor PE file.");
+ }
+ return nread;
+}
+catch(gpstk::Exception& e) {
+ cerr << "RinexUtilities:FillEphemerisStore caught an exception\n" << e << endl;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "RinexUtilities:FillEphemerisStore caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/ionosphere/RinexUtilities.hpp b/trunk/apps/ionosphere/RinexUtilities.hpp
new file mode 100644
index 0000000..9bbc647
--- /dev/null
+++ b/trunk/apps/ionosphere/RinexUtilities.hpp
@@ -0,0 +1,90 @@
+//------------------------------------------------------------------------------------
+// RinexUtilities.hpp Several miscellaneous utilities for use with Rinex data.
+// RinexUtilities is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexUtilities.hpp#1 $"
+
+/**
+ * @file RinexUtilities.hpp
+ * Miscellaneous utilities for use with Rinex data.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef GPSTK_RINEX_UTILITIES_INCLUDE
+#define GPSTK_RINEX_UTILITIES_INCLUDE
+
+//------------------------------------------------------------------------------------
+#include "BCEphemerisStore.hpp"
+#include "SP3EphemerisStore.hpp"
+#include "Xvt.hpp"
+
+#include <string>
+#include <vector>
+
+//------------------------------------------------------------------------------------
+/** @defgroup rinexutils Rinex Utilities */
+//@{
+ /** Register commonly used extended Rinex observation types.
+ * @return 0 ok, or the return value of RegisterExtendedRinexObsType().
+ */
+int RegisterARLUTExtendedTypes(void);
+
+ /** Determine if the given file is an SP3 format file.
+ * @param file the filename
+ * @return true if the file is SP3 format.
+ */
+bool isSP3File(const std::string& file);
+
+ /** Determine if the given file is a Rinex navigation file.
+ * @param file the filename
+ * @return true if the file is a Rinex navigation file.
+ */
+bool isRinexNavFile(const std::string& file);
+
+ /** Determine if the given file is a Rinex observation file.
+ * @param file the filename
+ * @return true if the file is a Rinex observation file.
+ */
+bool isRinexObsFile(const std::string& file);
+
+ /** Open the files and add to the appropriate EphemerisStore.
+ * @param files vector of the filenames.
+ * @param PE an SP3EphemerisStore into which to put SP3 ephemeris data.
+ * @param BCE a BCEphemerisStore into which to put broadcast
+ * (Rinex Nav) ephemeris data.
+ * @return the number of files successfully read.
+ * Throws on errors.
+ */
+int FillEphemerisStore(const std::vector<std::string>& files,
+ gpstk::SP3EphemerisStore& PE,
+ gpstk::BCEphemerisStore& BCE);
+
+//@}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+#endif
diff --git a/trunk/apps/ionosphere/TECMaps b/trunk/apps/ionosphere/TECMaps
new file mode 100755
index 0000000..39743fa
Binary files /dev/null and b/trunk/apps/ionosphere/TECMaps differ
diff --git a/trunk/apps/ionosphere/TECMaps.cpp b/trunk/apps/ionosphere/TECMaps.cpp
new file mode 100644
index 0000000..7bd382c
--- /dev/null
+++ b/trunk/apps/ionosphere/TECMaps.cpp
@@ -0,0 +1,1482 @@
+/**
+ * @file TECMaps.cpp
+ * Program TECMaps reads a set of Rinex files containing observation types
+ * EL, AZ, and VR or SR and fits the ionospheric vertical TEC data to a model
+ * of the ionosphere. There are input options for the type of grid, the type of
+ * model, and the type of data (VTEC, MUF or F0F2) to be used. TD ...
+ */
+
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/ionosphere/TECMaps.cpp#4 $"
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "CommandOptionParser.hpp"
+
+#include "BCEphemerisStore.hpp"
+#include "SP3EphemerisStore.hpp"
+#include "WGS84Geoid.hpp"
+#include "Position.hpp"
+
+#include "VTECMap.hpp"
+#include "RinexUtilities.hpp"
+
+#include <time.h>
+#include <iostream>
+#include <string>
+#include <vector>
+
+//------------------------------------------------------------------------------------
+using namespace gpstk;
+using namespace std;
+
+//------------------------------------------------------------------------------------
+// input data
+bool verbose,debug;
+ // log file
+string LogFile;
+ofstream oflog;
+string Title;
+ // input path
+string InputPath;
+string Title1,Title2,BaseName,BiasFile;
+double DecorrelError,ElevThresh,MinAcqTime;
+double BeginLat,DeltaLat,BeginLon,DeltaLon;
+int NumLat,NumLon;
+VTECMap::FitType typefit;
+VTECMap::GridType typegrid;
+bool doVTECmap,doMUFmap,doF0F2map;
+Station refSite;
+string KnownPos; // string holding position x,y,z or l,l,h
+bool KnownLLH; // if true, KnownPos is l,l,h
+bool GridOut; // if true, write grid to file 'basename.LL'
+bool GnuplotFormat; // if true, write grid in format for gnuplot
+ // excluded satellites
+vector<RinexPrn> ExSV;
+ // ephemeris
+string NavDir;
+vector<string> NavFiles;
+SP3EphemerisStore SP3EphList;
+BCEphemerisStore BCEphList;
+EphemerisStore *pEph;
+ // obs types needed
+RinexObsHeader::RinexObsType ELot,AZot,VRot,SRot,TPot;
+RinexObsHeader::RinexObsType LAot,LOot; // TEMP
+ // geoid
+WGS84Geoid WGS84;
+ // Start and stop times
+DayTime BegTime(DayTime::BEGINNING_OF_TIME),EndTime(DayTime::END_OF_TIME);
+ // processing
+double IonoHt;
+DayTime EarliestTime;
+VTECMap vtecmap;
+MUFMap mufmap;
+F0F2Map f0f2map;
+ // map of input sat+rx biases
+map<string,map<RinexPrn,double> > BiasMap;
+ // Data structures for all receivers
+vector<Station> Stations;
+RinexObsStream *instream; // array of streams, parallell to Stations
+
+//------------------------------------------------------------------------------------
+// prototypes
+void ConfigureAndDefaults(void);
+int GetCommandLine(int argc, char **argv);
+void PreProcessArgs(const char *arg, vector<string>& Args);
+int Initialize(void);
+int ProcessStations(void);
+void ProcessObsAndComputeMap(void);
+void OutputGridToFile(VTECMap& vmap, string filename);
+void OutputMapToFile(VTECMap& vtmap, string filename, DayTime t, int n);
+void AddStation(string& filename);
+int ProcessHeader(Station& S);
+int ReadNextObs(Station& S);
+int ProcessObs(Station& S, vector<ObsData>& obsvect);
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+ int iret;
+ clock_t totaltime=clock(); // timer
+ DayTime CurrEpoch;
+
+ // Title description and run time
+ CurrEpoch.setLocalTime();
+ Title = "TECMaps, built on the GPSTK ToolKit, Ver 1.0 8/12/04, Run ";
+ Title += CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S\n");
+ cout << Title;
+
+ // define extended types
+ iret = RegisterARLUTExtendedTypes();
+ if(iret) goto quit;
+ iret = RegisterExtendedRinexObsType("TP","Acquisition time","seconds", 0);
+ if(iret) goto quit;
+
+ // set configuration and default values
+ ConfigureAndDefaults();
+
+ // get command line arguments
+ iret = GetCommandLine(argc, argv);
+ if(iret) goto quit;
+
+ // initialize
+ iret = Initialize();
+ if(iret) goto quit;
+
+ // make the grid
+ if(doVTECmap) {
+ vtecmap.MakeGrid(refSite);
+ if(GridOut) OutputGridToFile(vtecmap, BaseName+string(".LL"));
+ }
+ if(doMUFmap) {
+ mufmap.MakeGrid(refSite);
+ if(GridOut) OutputGridToFile(mufmap, BaseName+string(".MUF.LL"));
+ }
+ if(doF0F2map) {
+ f0f2map.MakeGrid(refSite);
+ if(GridOut) OutputGridToFile(f0f2map, BaseName+string(".F0F2.LL"));
+ }
+
+ // process the headers, filling the Stations array
+ iret = ProcessStations();
+ if(iret) goto quit;
+
+ // process the all the observation data
+ ProcessObsAndComputeMap();
+
+quit:
+ // compute run time
+ totaltime = clock()-totaltime;
+ cout << "TECMaps timing: " << fixed << setprecision(3)
+ << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+ oflog << "TECMaps timing: " << fixed << setprecision(3)
+ << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+ oflog.close();
+
+ return iret;
+}
+catch(gpstk::Exception& e) {
+ cerr << e;
+ return 1;
+}
+catch (...) {
+ cerr << "Unknown error. Abort." << endl;
+ return 1;
+}
+ return 0;
+} // end main()
+
+//------------------------------------------------------------------------------------
+// set defaults
+void ConfigureAndDefaults(void)
+{
+ Title1=string("TECMaps main title");
+ Title2=string("TECMaps sub title");
+ BaseName=string("tecmap_out");
+ DecorrelError = 3.0;
+ BiasFile = string("");
+ ElevThresh = 10.0;
+ MinAcqTime = 0.0;
+ BeginLat = 21.0;
+ DeltaLat = 0.25;
+ BeginLon = 230;
+ DeltaLon = 1.0;
+ NumLat = 40;
+ NumLon = 40;
+ typefit = VTECMap::Constant;
+ typegrid = VTECMap::UniformLatLon;
+ doVTECmap = true;
+ doMUFmap = false;
+ doF0F2map = false;
+ LogFile = string("vtm.log");
+ IonoHt = 350.0; // km
+ verbose = false;
+ debug = false;
+ KnownPos = string("");
+ GridOut = false;
+ GnuplotFormat = false;
+}
+
+//------------------------------------------------------------------------------------
+// Define, parse and evaluate command line
+int GetCommandLine(int argc, char **argv)
+{
+try {
+ bool help=false;
+ int i,j;
+ RinexPrn prn;
+ prn.setfill('0');
+
+ // required options
+
+ RequiredOption dashin(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"input"," --input <file> Input Rinex obs file name(s)"
+ " \n(Reference site position also required)"
+ );
+ //dashin.setMaxCount(1);
+
+ // optional options
+
+ // this only so it will show up in help page...
+ CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+ 'f',""," -f<file> file containing more options");
+
+ // reference position(s)
+ CommandOption dashllh(CommandOption::hasArgument, CommandOption::stdType,0,"RxLLH",
+ "Reference station position (one required):\n"
+ " --RxLLH <l,l,h> Reference site position in geodetic"
+ " lat, lon (E), ht (deg,deg,m)");
+ dashllh.setMaxCount(1);
+
+ CommandOption dashxyz(CommandOption::hasArgument, CommandOption::stdType,0,"RxXYZ",
+ " --RxXYZ <x,y,z> Reference site position in ECEF coordinates (m)");
+ dashxyz.setMaxCount(1);
+
+ // require one only
+ CommandOptionMutex refmutex(true);
+ refmutex.addOption(&dashllh);
+ refmutex.addOption(&dashxyz);
+
+ CommandOption dashp(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"inputdir"," --inputdir <path> Path for input file(s)");
+ dashp.setMaxCount(1);
+
+ // ephemeris
+ CommandOption dashnd(CommandOption::hasArgument, CommandOption::stdType, 0,
+ "navdir","Ephemeris input:\n --navdir <dir> Path of navigation file(s)");
+ dashnd.setMaxCount(1);
+
+ CommandOption dashn(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"nav"," --nav <file> Navigation (Rinex Nav OR SP3) file(s)");
+
+ CommandOption dashl(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"log","Output:\n --log <file> Output log file name");
+ dashl.setMaxCount(1);
+
+ // time
+ CommandOptionWithTimeArg dasheb(0,"BeginTime","%Y,%m,%d,%H,%M,%f",
+ "Time limits:\n --BeginTime <arg> Start time, arg is of the form "
+ "YYYY,MM,DD,HH,Min,Sec");
+ CommandOptionWithTimeArg dashgb(0,"BeginGPSTime","%F,%g",
+ " --BeginGPSTime <arg> Start time, arg is of the form GPSweek,GPSsow");
+
+ CommandOptionWithTimeArg dashee(0,"EndTime","%Y,%m,%d,%H,%M,%f",
+ " --EndTime <arg> End time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+ CommandOptionWithTimeArg dashge(0,"EndGPSTime","%F,%g",
+ " --EndGPSTime <arg> End time, arg is of the form GPSweek,GPSsow");
+
+ // allow ONLY one start time (use startmutex(true) if one is required)
+ CommandOptionMutex startmutex(false);
+ startmutex.addOption(&dasheb);
+ startmutex.addOption(&dashgb);
+ CommandOptionMutex stopmutex(false);
+ stopmutex.addOption(&dashee);
+ stopmutex.addOption(&dashge);
+
+ CommandOptionNoArg dashVmap(0, "MUFmap","Processing:\n"
+ " --noVTECmap Do NOT create the VTEC map.");
+
+ CommandOptionNoArg dashMUF(0, "MUFmap",
+ " --MUFmap Create MUF map as well as VTEC map.");
+
+ CommandOptionNoArg dashF0F2(0, "F0F2map",
+ " --F0F2map Create F0F2 map as well as VTEC map.");
+
+ CommandOption dashTitle1(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Title1"," --Title1 <title> Title information");
+ dashTitle1.setMaxCount(1);
+
+ CommandOption dashTitle2(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Title2", " --Title2 <title> Second title information");
+ dashTitle2.setMaxCount(1);
+
+ CommandOption dashBaseName(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"BaseName", " --BaseName <name> Base name for output files (a)");
+ dashBaseName.setMaxCount(1);
+
+ CommandOption dashDecor(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"DecorrError",
+ " --DecorrError <de> Decorrelation error rate in TECU/1000km (3)");
+ dashDecor.setMaxCount(1);
+
+ CommandOption dashBiases(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Biases", " --Biases <file> "
+ "File containing estimated sat+rx biases (Prgm IonoBias)");
+ dashBiases.setMaxCount(1);
+
+ CommandOption dashElevThresh(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"ElevThresh", " --ElevThresh <ele> Minimum elevation (6 deg)");
+ dashElevThresh.setMaxCount(1);
+
+ CommandOption dashMinAcqTime(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"MinAcqTime", " --MinAcqTime <t> Minimum acquisition time (0 sec)");
+ dashMinAcqTime.setMaxCount(1);
+
+ CommandOptionNoArg dashFlatFit(
+ 0, "FlatFit", " --FlatFit Flat fit type (default)");
+
+ CommandOptionNoArg dashLinearFit(
+ 0, "LinearFit", " --LinearFit Linear fit type");
+
+ CommandOption dashIonoHt(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"IonoHeight", " --IonoHeight <n> Ionosphere height (km)");
+ dashIonoHt.setMaxCount(1);
+
+ CommandOptionNoArg dashUniSpace(0, "UniformSpacing",
+ "Grid:\n --UniformSpacing Grid uniform in space (XYZ) (default)");
+
+ CommandOptionNoArg dashUniGrid(0, "UniformGrid",
+ " --UniformGrid Grid uniform in Lat and Lon");
+
+ CommandOptionNoArg dashOutGrid(
+ 0, "OutputGrid", " --OutputGrid Output the grid to file <basename.LL>");
+
+ CommandOptionNoArg dashGnuOut(
+ 0, "GnuplotOutput", " --GnuplotOutput Write the grid file for gnuplot"
+ " (default: for Matlab)");
+
+ CommandOption dashNumLat(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"NumLat", " --NumLat <n> Number of latitude grid points (40)");
+ dashNumLat.setMaxCount(1);
+
+ CommandOption dashNumLon(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"NumLon", " --NumLon <n> Number of longitude grid points (40)");
+ dashNumLon.setMaxCount(1);
+
+ CommandOption dashBeginLat(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"BeginLat", " --BeginLat <lat> Beginning latitude (21 deg)");
+ dashBeginLat.setMaxCount(1);
+
+ CommandOption dashBeginLon(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"BeginLon", " --BeginLon <lon> Beginning longitude (230 deg E)");
+ dashBeginLon.setMaxCount(1);
+
+ CommandOption dashDeltaLat(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"DeltaLat", " --DeltaLat <del> Grid spacing in latitude (0.25 deg)");
+ dashDeltaLat.setMaxCount(1);
+
+ CommandOption dashDeltaLon(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"DeltaLon", " --DeltaLon <del> Grid spacing in longitude (1.0 deg)");
+ dashDeltaLon.setMaxCount(1);
+
+ CommandOption dashXprn(CommandOption::hasArgument, CommandOption::stdType,
+ '0', "XSat", "Other options:\n --XSat <sat> Exclude this satellite "
+ "(<sat> may be <system> only)");
+
+ // ... other options
+ CommandOptionNoArg dashv('v', "verbose",
+ "Help:\n [-v|--verbose] print extended output info.");
+
+ CommandOptionNoArg dashd('d', "debug",
+ " [-d|--debug] print extended output info.");
+
+ CommandOptionNoArg dashh('h', "help",
+ " [-h|--help] print syntax and summary of input, then quit.");
+
+ // ... rest of the command line
+ CommandOptionRest Rest("");
+
+ CommandOptionParser Par(
+ " Prgm TECMaps will open and read several preprocessed Rinex obs files\n"
+ " (containing obs types EL,AZ,VR|SR) and use the data to ...\n"
+ " Input is on the command line, or of the same format in a file (-f<file>).\n");
+
+ // allow user to put all options in a file
+ // could also scan for debug here
+ vector<string> Args;
+ for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args);
+ argc = Args.size();
+ if(argc==0) Args.push_back(string("-h"));
+
+ // pass the rest
+ argc = Args.size()+1;
+ char **CArgs=new char*[argc];
+ if(!CArgs) { cerr << "Failed to allocate CArgs\n"; return -1; }
+ CArgs[0] = argv[0];
+ for(j=1; j<argc; j++) {
+ CArgs[j] = new char[Args[j-1].size()+1];
+ if(!CArgs[j]) { cerr << "Failed to allocate CArgs[j]\n"; return -1; }
+ strcpy(CArgs[j],Args[j-1].c_str());
+ }
+
+ //if(debug) {
+ //cout << "List passed to parse\n";
+ //for(i=0; i<argc; i++) cout << i << " " << CArgs[i] << endl;
+ //}
+ Par.parseOptions(argc, CArgs);
+
+ // help first
+ if(dashh.getCount() > 0) {
+ help = true;
+ }
+
+ // get values found on command line
+ vector<string> values;
+
+ // log file next
+ if(dashl.getCount()) {
+ values = dashl.getValue();
+ if(help) cout << "Input name of output log file: " << values[0] << endl;
+ LogFile = values[0];
+ }
+ oflog.open(LogFile.c_str(),ios_base::out);
+ if(!oflog) {
+ cerr << "Failed to open log file " << LogFile << endl;
+ return -1;
+ }
+ cout << "TECMaps output directed to log file " << LogFile << endl;
+ oflog << Title;
+
+ // print syntax
+ if(help) {
+ Par.displayUsage(oflog,false); oflog << endl;
+ Par.displayUsage(cout,false); cout << endl;
+ }
+
+ // errors on command line
+ if(Par.hasErrors())
+ {
+ cerr << "\nErrors found in command line input:\n";
+ Par.dumpErrors(cerr);
+ cerr << "...end of Errors\n\n";
+ oflog << "\nErrors found in command line input:\n";
+ Par.dumpErrors(oflog);
+ oflog << "...end of Errors\n\n";
+ help = true;
+ }
+
+ // f never appears because we intercept it above
+ //if(dashf.getCount()) { cout << "Option f "; dashf.dumpValue(cout); }
+
+ // input path; do path before input file names
+ if(dashp.getCount()) {
+ values = dashp.getValue();
+ if(help) cout << "Input path name: " << values[0] << endl;
+ InputPath = values[0];
+ }
+ else InputPath = string("");
+
+ // input file names -- create vector of Station here
+ if(dashin.getCount()) {
+ values = dashin.getValue();
+ if(help) cout << "Input Rinex obs file names are:\n";
+ string::size_type pos;
+ string fname;
+ for(i=0; i<values.size(); i++) {
+ fname = values[i];
+ // expand filenames of the form @name or name@
+ // into the *contents* (one name per line) of file 'name'.
+ pos = fname.find('@');
+ if(pos == string::npos || (pos != 0 && pos != fname.length()-1)) {
+ // value is a Rinex file name
+ if(InputPath.size() > 0) { fname = InputPath + "/" + fname; }
+ AddStation(fname);
+ if(help) cout << " " << fname << endl;
+ }
+ else { // value is a file containing Rinex file names
+ fname.erase(pos,1);
+ if(InputPath.size() > 0) { fname = InputPath + "/" + fname; }
+ if(help) cout << " " << "(Open and read file names from: "
+ << fname << ")" << endl;
+ ifstream infile(fname.c_str());
+ if(!infile) {
+ oflog << "Error: could not open file " << fname << endl;
+ }
+ else {
+ while(infile >> fname) {
+ if(fname[0] == '#') { // skip to end of line
+ char c;
+ while(infile.get(c)) { if(c=='\n') break; }
+ }
+ else {
+ AddStation(fname);
+ if(debug) oflog << " " << fname << endl;
+ }
+ } // end loop over lines in the file
+ infile.close();
+ } // end opened file
+ } // end if value is a file containing file names
+ } // end loop over values on command line
+ } // end dashin
+
+ // reference position
+ if(dashllh.getCount()) {
+ values = dashllh.getValue();
+ KnownPos = values[0];
+ KnownLLH = true;
+ if(help) cout << "Get reference position from explicit input (LLH):\n "
+ << KnownPos << endl;
+ }
+ if(dashxyz.getCount()) {
+ values = dashxyz.getValue();
+ KnownPos = values[0];
+ KnownLLH = false;
+ if(help) cout << "Get reference position from explicit input (XYZ):\n "
+ << KnownPos << endl;
+ }
+
+ if(KnownPos != string("")) {
+ ECEF e;
+ string::size_type pos;
+ values.clear();
+ while(KnownPos.size() > 0) {
+ pos = KnownPos.find(",");
+ if(pos==string::npos) pos=KnownPos.size();
+ if(pos==0) values.push_back(" ");
+ else values.push_back(KnownPos.substr(0,pos));
+ if(pos >= KnownPos.size()) break;
+ KnownPos.erase(0,pos+1);
+ };
+ refSite.filename = string("reference");
+ if(values.size() > 3) refSite.filename=values[3];
+ if(KnownLLH) {
+ refSite.llr.setGeodetic(StringUtils::asDouble(values[0]),
+ StringUtils::asDouble(values[1]),
+ StringUtils::asDouble(values[2])); //WGS84 is default
+ refSite.xyz = refSite.llr;
+ try {
+ refSite.llr.transformTo(Position::Geocentric);
+ refSite.xyz.transformTo(Position::Cartesian);
+ }
+ catch(Exception& e) {
+ cerr << "ERROR: Reference site input (geodetic LLH) is invalid\n";
+ oflog << "ERROR: Reference site input (geodetic LLH) is invalid\n";
+ return -2;
+ }
+ }
+ else {
+ refSite.xyz.setECEF(StringUtils::asDouble(values[0]),
+ StringUtils::asDouble(values[1]),
+ StringUtils::asDouble(values[2]));
+ refSite.llr = refSite.xyz;
+ refSite.llr.transformTo(Position::Geocentric);
+ }
+ }
+
+ // ephemeris input
+ if(dashnd.getCount()) {
+ values = dashnd.getValue();
+ NavDir = values[0];
+ if(help) cout << "Input Nav Directory: " << NavDir << endl;
+ }
+ if(dashn.getCount()) {
+ values = dashn.getValue();
+ NavFiles = values;
+ if(help) {
+ cout << "Input Nav files :";
+ for(i=0; i<NavFiles.size(); i++) cout << " " << NavFiles[i];
+ cout << endl;
+ }
+ }
+
+ if(dasheb.getCount()) {
+ values = dasheb.getValue();
+ BegTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+ if(help) cout << "Input BeginTime " << BegTime << endl;
+ }
+ if(dashee.getCount()) {
+ values = dashee.getValue();
+ EndTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+ if(help) cout << "Input EndTime " << EndTime << endl;
+ }
+ if(dashgb.getCount()) {
+ values = dashgb.getValue();
+ BegTime.setToString(values[0], "%F,%g");
+ if(help) cout << "Input BeginGPSTime " << BegTime << endl;
+ }
+ if(dashge.getCount()) {
+ values = dashge.getValue();
+ EndTime.setToString(values[0], "%F,%g");
+ if(help) cout << "Input EndGPSTime " << EndTime << endl;
+ }
+ // processing
+ if(dashVmap.getCount()) {
+ doVTECmap = false;
+ if(help) cout << "Do NOT create VTEC map" << endl;
+ }
+ if(dashMUF.getCount()) {
+ doMUFmap = true;
+ if(help) cout << "Create MUF map" << endl;
+ }
+ if(dashF0F2.getCount()) {
+ doF0F2map = true;
+ if(help) cout << "Create F0F2 map" << endl;
+ }
+ if(dashTitle1.getCount()) {
+ values = dashTitle1.getValue();
+ Title1 = values[0];
+ if(help) cout << "Primary Title is " << Title1 << endl;
+ }
+ if(dashTitle2.getCount()) {
+ values = dashTitle2.getValue();
+ Title2 = values[0];
+ if(help) cout << "Secondary Title is " << Title2 << endl;
+ }
+ if(dashBaseName.getCount()) {
+ values = dashBaseName.getValue();
+ BaseName = values[0];
+ if(help) cout << "Base name for output files is " << BaseName << endl;
+ }
+ if(dashDecor.getCount()) {
+ values = dashDecor.getValue();
+ DecorrelError = StringUtils::asDouble(values[0]);
+ if(help) cout << "Decorrelation error rate (TECU/1000km) is "
+ << DecorrelError << endl;
+ }
+ if(dashNumLat.getCount()) {
+ values = dashNumLat.getValue();
+ NumLat = StringUtils::asInt(values[0]);
+ if(help) cout << "Number of latitude grid points is " << NumLat << endl;
+ }
+ if(dashNumLon.getCount()) {
+ values = dashNumLon.getValue();
+ NumLon = StringUtils::asInt(values[0]);
+ if(help) cout << "Number of longitude grid points is " << NumLon << endl;
+ }
+ if(dashBiases.getCount()) {
+ values = dashBiases.getValue();
+ BiasFile = values[0];
+ if(help) cout << "Input sat+rx biases from file " << BiasFile << endl;
+ }
+ if(dashElevThresh.getCount()) {
+ values = dashElevThresh.getValue();
+ ElevThresh = StringUtils::asDouble(values[0]);
+ if(help) cout << "Minimum elevation (deg) is " << ElevThresh << endl;
+ }
+ if(dashMinAcqTime.getCount()) {
+ values = dashMinAcqTime.getValue();
+ MinAcqTime = StringUtils::asDouble(values[0]);
+ if(help) cout << "Minimum acquisition time (sec) is " << MinAcqTime << endl;
+ }
+ if(dashBeginLat.getCount()) {
+ values = dashBeginLat.getValue();
+ BeginLat = StringUtils::asDouble(values[0]);
+ if(help) cout << "Beginning latitude (deg) is " << BeginLat << endl;
+ }
+ if(dashBeginLon.getCount()) {
+ values = dashBeginLon.getValue();
+ BeginLon = StringUtils::asDouble(values[0]);
+ if(help) cout << "Beginning longitude (deg E) is " << BeginLon << endl;
+ }
+ if(dashDeltaLat.getCount()) {
+ values = dashDeltaLat.getValue();
+ DeltaLat = StringUtils::asDouble(values[0]);
+ if(help) cout << "Grid step in latitude (deg) is " << DeltaLat << endl;
+ }
+ if(dashDeltaLon.getCount()) {
+ values = dashDeltaLon.getValue();
+ DeltaLon = StringUtils::asDouble(values[0]);
+ if(help) cout << "Grid step in longitude (deg) is " << DeltaLon << endl;
+ }
+ if(dashUniSpace.getCount()) {
+ typegrid = VTECMap::UniformSpace;
+ if(help) cout << "Grid type is set to 'uniform spacing': " << typegrid << endl;
+ }
+ if(dashUniGrid.getCount()) {
+ typegrid = VTECMap::UniformLatLon;
+ if(help) cout << "Grid type is set to uniform: " << typegrid << endl;
+ }
+ if(dashOutGrid.getCount()) {
+ GridOut = true;
+ if(help) cout << "Output grid to file " << BaseName << ".LL" << endl;
+ }
+ if(dashGnuOut.getCount()) {
+ GnuplotFormat = true;
+ if(help) cout << "Output grid in gnuplot format" << endl;
+ }
+ if(dashFlatFit.getCount()) {
+ typefit = VTECMap::Constant;
+ if(help) cout << "Set fit type to FLAT" << endl;
+ }
+ if(dashLinearFit.getCount()) {
+ typefit = VTECMap::Linear;
+ if(help) cout << "Set fit type to LINEAR" << endl;
+ }
+ if(dashIonoHt.getCount()) {
+ values = dashIonoHt.getValue();
+ IonoHt = StringUtils::asDouble(values[0]);
+ if(help) cout << "Ionosphere height = " << IonoHt << " km" << endl;
+ }
+ if(dashXprn.getCount()) {
+ values = dashXprn.getValue();
+ for(i=0; i<values.size(); i++) {
+ prn = StringUtils::asData<RinexPrn>(values[i]);
+ if(help) cout << "Input: exclude satellite " << prn << endl;
+ ExSV.push_back(prn);
+ }
+ }
+
+ if(dashh.getCount())
+ oflog << "Option h appears " << dashh.getCount() << " times\n";
+ if(dashv.getCount()) {
+ verbose = true;
+ if(help) cout << "Option v appears " << dashv.getCount() << " times\n";
+ }
+ if(dashd.getCount()) {
+ debug = true;
+ if(help) cout << "Option d appears " << dashd.getCount() << " times\n";
+ }
+
+ if(Rest.getCount() && help) {
+ cout << "Remaining options:" << endl;
+ values = Rest.getValue();
+ for (i=0; i<values.size(); i++) cout << values[i] << endl;
+ }
+ if(verbose && help) {
+ cout << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+ for(j=0; j<Args.size(); j++) cout << Args[j] << endl;
+ cout << endl;
+ }
+ if(help) cout << "Configuration summarized in log file\n";
+
+ // print configuration
+ if(verbose || help || debug) {
+ oflog << "\nInput configuration for TECMaps:\n";
+ if(!InputPath.empty()) oflog << " Path for input files is "
+ << InputPath << endl;
+ oflog << " Input Rinex obs file names are:\n";
+ for(i=0; i<Stations.size(); i++)
+ oflog << " " << Stations[i].filename << endl;
+ if(!NavDir.empty()) oflog << " Path for input nav files is "
+ << NavDir << endl;
+ if(NavFiles.size() > 0) {
+ oflog << " Input Rinex nav file names are:\n";
+ for(i=0; i<NavFiles.size(); i++)
+ oflog << " " << NavFiles[i] << endl;
+ }
+ if(BegTime > DayTime::BEGINNING_OF_TIME) oflog << " Begin time is "
+ << BegTime.printf("%Y/%m/%d_%H:%M:%6.3f=%F/%10.3g") << endl;
+ if(EndTime < DayTime::END_OF_TIME) oflog << " End time is "
+ << EndTime.printf("%Y/%m/%d_%H:%M:%6.3f=%F/%10.3g") << endl;
+ oflog << " Processing:\n";
+ oflog << " Primary Title is " << Title1 << endl;
+ oflog << " Secondary Title is " << Title2 << endl;
+ oflog << " Reference " << refSite << endl;
+ oflog << " Do " << (doVTECmap ? "":"not ") << "create VTEC map\n";
+ oflog << " Do " << (doMUFmap ? "":"not ") << "create MUF map\n";
+ oflog << " Do " << (doF0F2map ? "":"not ") << "create F0F2 map\n";
+ oflog << " Grid type is "
+ << (typegrid == VTECMap::UniformLatLon ? "Uniform " : "Uniform Space ")
+ << typegrid << endl;
+ oflog << " Beginning latitude (deg) is " << BeginLat << endl;
+ oflog << " Beginning longitude (deg E) is " << BeginLon << endl;
+ oflog << " Number of latitude grid points is " << NumLat << endl;
+ oflog << " Number of latitude grid points is " << NumLat << endl;
+ oflog << " Grid step in latitude (deg) is " << DeltaLat << endl;
+ oflog << " Grid step in longitude (deg) is " << DeltaLon << endl;
+ oflog << " Minimum elevation (deg) is " << ElevThresh << endl;
+ oflog << " Minimum acquisition time (sec) is " << MinAcqTime << endl;
+ if(BiasFile.length() > 0)
+ oflog << " Receiver biases input from file " << BiasFile << endl;
+ else
+ oflog << " Do not input sat+rx biases" << endl;
+ oflog << " Decorrelation error rate (TECU/1000km) is " << DecorrelError
+ << endl;
+ oflog << " Ionosphere height = " << IonoHt << " km" << endl;
+ oflog << " Base name for output files is " << BaseName << endl;
+ cout << (GridOut ? "O":"Do NOT o") << "utput grid in file named " <<
+ BaseName << ".LL" << endl;
+ if(GridOut) cout << "Output grid in " << (GnuplotFormat ? "gnuplot" : "Matlab")
+ << " format" << endl;
+ if(ExSV.size() > 0) {
+ oflog << " Exclude these satellites:";
+ for(i=0; i<ExSV.size(); i++) oflog << " " << ExSV[i];
+ oflog << endl;
+ }
+ if(help) oflog << " Help (-h) is set\n";
+ if(debug) oflog << " Debug (-d) is set\n";
+ oflog << "End of input configuration for TECMaps" << endl << endl;
+ }
+
+ if(help) return 1;
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "TECMaps:GetCommandLine caught an exception\n" << e;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "TECMaps:GetCommandLine caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PreProcessArgs(const char *arg, vector<string>& Args)
+{
+ if(arg[0]=='-' && arg[1]=='f') {
+ string filename(arg);
+ filename.erase(0,2);
+ //cout << "Found a file of options: " << filename << endl;
+ ifstream infile(filename.c_str());
+ if(!infile) {
+ cerr << "Error: could not open options file "
+ << filename << endl;
+ }
+ else {
+ char c;
+ string buffer;
+ while(infile >> buffer) {
+ if(buffer[0] == '#') { // skip to end of line
+ while(infile.get(c)) { if(c=='\n') break; }
+ }
+ else if(buffer[0] == '"') { // read to next "
+ buffer.erase(0,1);
+ buffer += ' ';
+ while(infile.get(c)) {
+ if(c=='"') {
+ PreProcessArgs(buffer.c_str(),Args);
+ break;
+ }
+ else {
+ buffer += c;
+ }
+ }
+ }
+ else PreProcessArgs(buffer.c_str(),Args);
+ }
+ }
+ }
+ else if((arg[0]=='-' && arg[1]=='d') || string(arg)==string("--debug")) {
+ debug = true;
+ //cout << "Found the debug switch" << endl;
+ }
+ else if((arg[0]=='-' && arg[1]=='v') || string(arg)==string("--verbose")) {
+ verbose = true;
+ //cout << "Found the verbose switch" << endl;
+ }
+ else Args.push_back(arg);
+}
+
+//------------------------------------------------------------------------------------
+int Initialize(void)
+{
+try {
+ // open nav files and read EphemerisStore
+ if(!NavDir.empty())
+ for(int i=0; i<NavFiles.size(); i++)
+ NavFiles[i] = NavDir + "/" + NavFiles[i];
+ FillEphemerisStore(NavFiles, SP3EphList, BCEphList);
+ if(SP3EphList.size()) {
+ if(verbose) SP3EphList.dump(0,oflog);
+ }
+ else if(verbose) oflog << "SP3 Ephemeris list is empty\n";
+
+ if(BCEphList.size()) {
+ BCEphList.SearchNear();
+ if(verbose) BCEphList.dump(0,oflog);
+ }
+ else if(verbose) oflog << "BC Ephemeris list is empty\n";
+
+ if(SP3EphList.size()) pEph = &SP3EphList;
+ else if(BCEphList.size()) pEph = &BCEphList;
+ else {
+ cerr << "TECMaps abort -- no ephemeris\n";
+ oflog << "TECMaps abort -- no ephemeris\n";
+ return -1;
+ }
+
+ // read the sat+rx biases file and build the map
+ if(BiasFile.length() > 0) {
+ ifstream inf(BiasFile.c_str());
+ if(!inf) {
+ cerr << "Error: could not open biases file " << BiasFile << endl;
+ oflog << "Error: could not open biases file " << BiasFile << endl;
+ return -1;
+ }
+ else {
+ int nbiases,n=0;
+ double bias;
+ RinexPrn sat;
+ string line,station;
+ vector<string> words;
+ while(!inf.eof() && inf.good()) {
+ { // parse line into words
+ istringstream iss(line);
+ string wd;
+ words.clear();
+ while(iss >> wd) { words.push_back(wd); }
+ }
+ while(1) {
+ if(words.size() != 5) break;
+ if(debug) {
+ oflog << "Biases file:";
+ for(int i=0; i<words.size(); i++) oflog << " " << words[i];
+ oflog << endl;
+ }
+ if(words[0] == string("IonoBias,")) break;
+ if(words[1] == string("Number")) {
+ nbiases = StringUtils::asInt(words[0]);
+ break;
+ }
+ station = words[1];
+ sat = StringUtils::asData<RinexPrn>(words[2]);
+ bias = StringUtils::asDouble(words[3]);
+ BiasMap[station][sat] = bias;
+ n++;
+ break;
+ }
+ getline(inf,line);
+ }
+ inf.close();
+ if(verbose) {
+ oflog << "Read sat+rx biases file " << BiasFile << ":" << endl;
+ oflog << " Expected " << nbiases << " biases, read " << n << "." << endl;
+ oflog << " Here is the biases map:" << endl;
+ map<string,map<RinexPrn,double> >::const_iterator it;
+ map<RinexPrn,double>::const_iterator jt;
+ for(it=BiasMap.begin(); it!=BiasMap.end(); it++) {
+ for(jt=it->second.begin(); jt!=it->second.end(); jt++) {
+ oflog << " " << it->first
+ << " " << jt->first
+ << " " << setw(12) << setprecision(6) << jt->second << endl;
+ }
+ }
+ }
+ }
+ }
+
+ // create the obs types for later use
+ ELot = RinexObsHeader::convertObsType("EL");
+ AZot = RinexObsHeader::convertObsType("AZ");
+ LAot = RinexObsHeader::convertObsType("LA"); // TEMP
+ LOot = RinexObsHeader::convertObsType("LO"); // TEMP
+ SRot = RinexObsHeader::convertObsType("SR");
+ VRot = RinexObsHeader::convertObsType("VR");
+ TPot = RinexObsHeader::convertObsType("TP");
+
+ // initialize the map(s)
+ // set parameters
+ vtecmap.Decorrelation = DecorrelError;
+ vtecmap.MinElevation = ElevThresh;
+ vtecmap.IonoHeight = IonoHt*1000;
+ vtecmap.gridtype = typegrid;
+ vtecmap.fittype = typefit;
+ vtecmap.BeginLat = BeginLat;
+ vtecmap.DeltaLat = DeltaLat;
+ vtecmap.NumLat = NumLat;
+ vtecmap.BeginLon = BeginLon;
+ vtecmap.DeltaLon = DeltaLon;
+ vtecmap.NumLon = NumLon;
+ if(doMUFmap) mufmap.CopyInputData(vtecmap);
+ if(doF0F2map) f0f2map.CopyInputData(vtecmap);
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "TECMaps:Initialize caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok,
+// -1 could not allocate array of RinexObsStream
+// -2 could not open a file,
+// -3 FFStream exception,
+// -4 gpstk exception,
+int ProcessStations(void)
+{
+try {
+ int iret,nfile;
+
+ if(verbose) oflog << "\nProcess " << Stations.size()
+ << " input files / Stations:\n";
+
+ // create vector of RinexObsStream for use by the files
+ instream = new RinexObsStream[Stations.size()];
+ if(!instream) {
+ oflog << " ERROR: Array of " << Stations.size()
+ << " RinexObsStream's could not be allocated\n";
+ return -1;
+ }
+
+ // loop over input file names
+ // open and read header, define entry in Stations array
+ for(nfile=0; nfile<Stations.size(); nfile++) {
+ instream[nfile].open(Stations[nfile].filename.c_str(),ios_base::in);
+ if(!instream[nfile]) {
+ oflog << " Rinex file " << Stations[nfile].filename
+ << " could not be opened -- abort.\n";
+ Stations[nfile].nfile = -1;
+ Stations[nfile].nread = -1;
+ Stations[nfile].getNext = false;
+ return -2;
+ }
+ oflog << "\nInput file #" << nfile+1 << ": "
+ << Stations[nfile].filename << endl;
+
+ instream[nfile].exceptions(ios::failbit);
+ Stations[nfile].nfile = nfile;
+ Stations[nfile].getNext = true;
+
+ iret = ProcessHeader(Stations[nfile]);
+ if(iret != 0) return iret;
+
+ } // end loop over file names -> stations
+ oflog << "\nEnd of loop over stations to read headers.\n\n";
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "TECMaps:ProcessStations caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+catch(...) {
+ cerr << "TECMaps:ProcessStations caught an unknown exception\n";
+ return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+void ProcessObsAndComputeMap(void)
+{
+try {
+ int iret,nfile,ngood,nepochs=0;
+ vector<ObsData> AllObs; // ObsData vector, passed into ProcessObs and Compute
+
+ // loop over all epochs in all files
+ do {
+ // read the data for the next (earliest in future) observation epoch
+ EarliestTime = DayTime(DayTime::END_OF_TIME);
+ for(nfile=0; nfile<Stations.size(); nfile++) {
+ iret = ReadNextObs(Stations[nfile]);
+ if(iret < 0) { // set file 'inactive'
+ Stations[nfile].nread = -1;
+ }
+ else { // iret is 0 or 1 - file is active
+ if(Stations[nfile].robs.time < EarliestTime)
+ EarliestTime = Stations[nfile].robs.time;
+ }
+ }
+
+ // if no more data available, EarliestTime will never get set
+ if(EarliestTime == DayTime(DayTime::END_OF_TIME)) break;
+
+ // time limits
+ if(EarliestTime < BegTime) {
+ oflog << "Before begin time : "
+ << EarliestTime.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g\n");
+ continue;
+ }
+ if(EarliestTime > EndTime) {
+ oflog << "After end time (quit) : "
+ << EarliestTime.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g\n");
+ break;
+ }
+
+ // process at EarliestTime
+ oflog << "Process at time = "
+ << EarliestTime.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g\n");
+ AllObs.clear();
+ for(ngood=0,nfile=0; nfile<Stations.size(); nfile++) {
+ // if this data time == EarliestTime, process and set flag to read again
+ if(ABS(Stations[nfile].robs.time - EarliestTime) < 1.) {
+ iret = ProcessObs(Stations[nfile],AllObs);
+ if(iret > 0) ngood += iret;
+ Stations[nfile].getNext = true;
+ }
+ else Stations[nfile].getNext = false;
+ }
+
+ // compute map(s) and output
+ nepochs++;
+ if(ngood > 0) {
+ oflog << ngood << " data at epoch "
+ << EarliestTime.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g")
+ << ", file #" << nepochs << "." << endl;
+ // compute the map(s)
+ if(doVTECmap) {
+ vtecmap.ComputeMap(EarliestTime,AllObs);
+ OutputMapToFile(vtecmap,BaseName,EarliestTime,nepochs);
+ }
+ if(doMUFmap) {
+ mufmap.ComputeMap(EarliestTime,AllObs);
+ OutputMapToFile(mufmap,BaseName+string(".MUF"),EarliestTime,nepochs);
+ }
+ if(doF0F2map) {
+ f0f2map.ComputeMap(EarliestTime,AllObs);
+ OutputMapToFile(f0f2map,BaseName+string(".F0F2"),EarliestTime,nepochs);
+ }
+ }
+ else oflog << "0 data at epoch "
+ << EarliestTime.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g")
+ << ", file #" << nepochs << "." << endl;
+
+ } while(1);
+
+ // finished...close all files
+ for(nfile=0; nfile<Stations.size(); nfile++) instream[nfile].close();
+
+ if(verbose)
+ oflog << endl << "Processed " << Stations.size() << " stations\n";
+}
+catch(gpstk::Exception& e) {
+ cerr << "TECMaps:ProcessObsAndComputeMap caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+catch(...) {
+ cerr << "TECMaps:ProcessObsAndComputeMap caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+// output the grid to a file
+void OutputGridToFile(VTECMap& vmap, string filename)
+{
+ ofstream ofs(filename.c_str());
+ if(!ofs) {
+ cerr << "Failed to open grid output file " << filename << endl;
+ oflog << "Failed to open grid output file " << filename << endl;
+ }
+ else {
+ vmap.OutputGrid(ofs);
+ ofs.close();
+ }
+}
+
+//------------------------------------------------------------------------------------
+// output map
+void OutputMapToFile(VTECMap& vtmap, string filename, DayTime t, int n)
+{
+ // make this a function, pass it the name MUF etc, map and time
+ ostringstream oss;
+ oss << filename << "." << setw(4) << setfill('0') << n;
+ string fn = oss.str();
+ ofstream ofs(fn.c_str());
+ if(!ofs) {
+ cerr << "Failed to open map output file " << fn << " at epoch "
+ << t.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g") << endl;
+ oflog << "Failed to open map output file " << fn << " at epoch "
+ << t.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g") << endl;
+ }
+ else {
+ oflog << "Output map at epoch "
+ << t.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g")
+ << " to file " << fn << endl;
+ vtmap.OutputMap(ofs,GnuplotFormat);
+ ofs.close();
+ }
+}
+
+//------------------------------------------------------------------------------------
+void AddStation(string& name)
+{
+try {
+ Station s;
+ s.filename = name;
+ for(int i=1; i<33; i++) {
+ RinexPrn p(i,systemGPS);
+ s.InitTime[p] = DayTime::BEGINNING_OF_TIME;
+ }
+ Stations.push_back(s);
+}
+catch(gpstk::Exception& e) {
+ cerr << "TECMaps:AddStation caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+catch(...) {
+ cerr << "TECMaps:AddStation caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok,
+// -3 FFStream exception,
+// -4 gpstk exception,
+int ProcessHeader(Station& S)
+{
+try {
+ // input header
+ try {
+ instream[S.nfile] >> S.header;
+ }
+ catch(gpstk::FFStreamError& e) {
+ cerr << "Caught an FFStreamError while reading header for file "
+ << S.filename << ":\n" << e.getText(0) << endl;
+ oflog << "Caught an FFStreamError while reading header for file "
+ << S.filename << ":\n" << e.getText(0) << endl;
+ return -3;
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "Caught a gpstk exception while reading header for file "
+ << S.filename << ":\n" << e.getText(0) << endl;
+ oflog << "Caught a gpstk exception while reading header for file "
+ << S.filename << ":\n" << e.getText(0) << endl;
+ return -4;
+ }
+ S.nread = 0;
+
+ // convert to geocentric LLH
+ S.xyz.setECEF(S.header.antennaPosition);
+ S.llr = S.xyz;
+ S.llr.transformTo(Position::Geocentric);
+
+ // save station info
+ //StationName = head.markerName;
+ //TotalSpan = head.lastObs.MJD()-head.firstObs.MJD();
+
+ // dump header information
+ if(verbose) {
+ int i;
+ oflog << "File name: " << S.filename << " ";
+ oflog << "Marker name: " << S.header.markerName << "\n";
+ oflog << "Antenna position: " << setprecision(3) << S.header.antennaPosition
+ << endl;
+ oflog << "ECEF Position: " << S.xyz << endl;
+ oflog << "Geocentric Position: " << S.llr << endl;
+ oflog << "Observation types (" << S.header.obsTypeList.size() << ") :";
+ for(i=0; i<S.header.obsTypeList.size(); i++)
+ oflog << " " << RinexObsHeader::convertObsType(S.header.obsTypeList[i]);
+ oflog << endl;
+ oflog << "Time of first obs "
+ << S.header.firstObs.printf("%04Y/%02m/%02d %02H:%02M:%010.7f")
+ << " " << (S.header.firstSystem==systemGlonass?"GLO":"GPS") << endl;
+ oflog << "Time of last obs "
+ << S.header.lastObs.printf("%04Y/%02m/%02d %02H:%02M:%010.7f")
+ << " " << (S.header.lastSystem==systemGlonass?"GLO":"GPS") << endl;
+ }
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "TECMaps:ProcessHeader caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+catch(...) {
+ cerr << "TECMaps:ProcessHeader caught an unknown exception\n";
+ return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+// return
+// 0 ok
+// 1 ok but no data read
+// -1 EOF or non-existant
+// -3 FFStream exception,
+// -4 gpstk exception,
+// -6 read error
+int ReadNextObs(Station& S)
+{
+try {
+ if(S.nread == -1) return -1;
+ if(!S.getNext) return 1;
+
+ do {
+ try {
+ instream[S.nfile] >> S.robs;
+ }
+ catch(gpstk::FFStreamError& e) {
+ cerr << "Caught an FFStreamError while reading obs for file "
+ << S.filename << ":\n" << e.getText(0) << endl;
+ oflog << "Caught an FFStreamError while reading obs for file "
+ << S.filename << ":\n" << e.getText(0) << endl;
+ return -3;
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "Caught a gpstk exception while reading obs for file "
+ << S.filename << ":\n" << e.getText(0) << endl;
+ oflog << "Caught a gpstk exception while reading obs for file "
+ << S.filename << ":\n" << e.getText(0) << endl;
+ return -4;
+ }
+ if(instream[S.nfile].eof()) {
+ oflog << "End of file: " << S.filename << endl;
+ return -1;
+ }
+ if(!instream[S.nfile].good()) {
+ oflog << "Read error on file: " << S.filename << endl;
+ return -6;
+ }
+
+ } while(S.robs.epochFlag != 0 && S.robs.epochFlag != 1);
+
+ S.nread++;
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ cerr << "TECMaps:ReadNextObs caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+catch(...) {
+ cerr << "TECMaps:ReadNextObs caught an unknown exception\n";
+ return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+// return 0 if data is good and was accepted
+int ProcessObs(Station& S, vector<ObsData>& obsvec)
+{
+try {
+ int i,k,n;
+ double EL,AZ,LA,LO,SR,VR,TP,bias,obliq;
+ double la,lo; // TEMP
+ RinexPrn sat;
+ RinexObsData::RinexPrnMap::const_iterator it;
+ RinexObsData::RinexObsTypeMap::const_iterator jt;
+ Position IPP;
+
+ //S.robs.dump(oflog);
+ // loop over sat=it->first, ObsTypeMap=it->second
+ for(n=0,it=S.robs.obs.begin(); it!=S.robs.obs.end(); ++it) {
+ ObsData od;
+ sat = it->first;
+ if(sat.system != systemGPS) continue; // ignore non-GPS satellites
+ k = -1;
+ for(i=0; i<ExSV.size(); i++) { // Is this satellite excluded ?
+ if(ExSV[i] == sat || // sat is excluded
+ (ExSV[i].prn==-1 && ExSV[i].system==sat.system) ) {// system excluded
+ k=i;
+ break;
+ }
+ }
+ if(k != -1) continue;
+
+ // save first time
+ if(S.InitTime[sat] == DayTime::BEGINNING_OF_TIME) {
+ S.InitTime[sat] = S.robs.time;
+ }
+
+ // process this sat
+ if((jt=it->second.find(ELot)) != it->second.end())
+ EL = jt->second.data;
+ else continue;
+ if(EL < vtecmap.MinElevation) continue; // here or inside class?
+
+ if((jt=it->second.find(AZot)) != it->second.end())
+ AZ = jt->second.data;
+ else continue;
+
+ //TEMP
+ if((jt=it->second.find(LAot)) != it->second.end())
+ la = jt->second.data;
+ else lo = -999.0;
+
+ //TEMP
+ if((jt=it->second.find(LOot)) != it->second.end())
+ lo = jt->second.data;
+ else lo = -999.0;
+
+ if((jt=it->second.find(SRot)) != it->second.end())
+ SR = jt->second.data;
+ else SR = -1.0;
+
+ if((jt=it->second.find(VRot)) != it->second.end())
+ VR = jt->second.data;
+ else VR = -1.0;
+
+ if(SR == -1.0 && VR == -1.0) continue;
+
+ if((jt=it->second.find(TPot)) != it->second.end())
+ TP = jt->second.data;
+ else TP = -1.0;
+
+ // compute the pierce point
+ if(la == -999.0 || lo == -999.0) {
+ IPP = S.llr.getIonosphericPiercePoint(EL,AZ,IonoHt*1000);
+ LA = IPP.geocentricLatitude();
+ LO = IPP.longitude();
+ }
+ else { LA=la; LO=lo; }
+
+ od.elevation = EL;
+ od.azimuth = AZ;
+ od.latitude = LA;
+ od.longitude = LO;
+
+ if(TP != -1.0) od.AcqTime = TP;
+ else od.AcqTime = S.robs.time - S.InitTime[sat];
+
+ if(od.AcqTime < MinAcqTime) continue;
+
+ // get the bias
+ map<string,map<RinexPrn,double> >::const_iterator jt;
+ jt = BiasMap.find(S.header.markerName);
+ // skip sat+rx for which there are no biases
+ if(jt == BiasMap.end()) continue;
+ map<RinexPrn,double>::const_iterator kt;
+ kt = jt->second.find(sat);
+ if(kt == jt->second.end()) continue;
+ bias = kt->second;
+ if(debug) oflog << "Apply bias for station " << S.header.markerName
+ << " and sat " << sat << " = " << fixed << setw(12) << setprecision(6)
+ << bias << endl;
+
+ // compute the obliquity
+ obliq = WGS84.a()*cos(EL*DEG_TO_RAD)/(WGS84.a()+IonoHt*1000);
+ obliq = SQRT(1.0-obliq*obliq);
+
+ if(VR != -1.0) {
+ od.VTEC = VR - bias*obliq;
+ }
+ else {
+ od.VTEC = (SR - bias)*obliq;
+ }
+
+ // compute the error and save results
+ od.VTECerror = vtecmap.VTECError(od.AcqTime, EL, od.VTEC);
+ n++;
+ obsvec.push_back(od);
+
+ // write out
+ /* */
+ oflog << setw(4) << S.robs.time.GPSfullweek();
+ oflog << " " << setw(8) << setprecision(1) << S.robs.time.GPSsow();
+ oflog << " " << setw(2) << n;
+ oflog << " " << setw(9) << setprecision(5) << LA; // latitude
+ oflog << " " << setw(10) << setprecision(5)<< LO; // longitude
+ oflog << " " << setw(4) << setprecision(2) << obliq; // obliquity
+ oflog << " " << setw(8) << setprecision(3) << od.VTEC; // vertical TEC
+ oflog << " " << setw(8) << setprecision(3) << od.AcqTime; // acquisition time
+ oflog << " " << setw(2) << sat.prn; // PRN
+ oflog << " " << setw(3) << S.nfile+1; // file number
+ oflog << endl;
+ /* */
+
+ } // end for loop over sats
+
+ if(n>0) return n;
+ else return -1;
+}
+catch(gpstk::Exception& e) {
+ cerr << "TECMaps:ProcessObs caught an exception\n";
+ GPSTK_RETHROW(e);
+}
+catch(...) {
+ cerr << "TECMaps:ProcessObs caught an unknown exception\n";
+ return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/ionosphere/VTECMap.cpp b/trunk/apps/ionosphere/VTECMap.cpp
new file mode 100644
index 0000000..7b4ef57
--- /dev/null
+++ b/trunk/apps/ionosphere/VTECMap.cpp
@@ -0,0 +1,484 @@
+//------------------------------------------------------------------------------------
+// VTECMap.cpp
+//------------------------------------------------------------------------------------
+
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/ionosphere/VTECMap.cpp#4 $"
+
+/**
+ * @file VTECMap.cpp
+ * Program VTECMap will TD...
+ * a simple ionospheric model using least squares and slant TEC values
+ * from multiple stations.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "Exception.hpp"
+#include "Position.hpp"
+#include "geometry.hpp" // for DEG_TO_RAD and RAD_TO_DEG
+#include "icd_200_constants.hpp" // for TWO_PI
+#include "MiscMath.hpp"
+
+#include "VTECMap.hpp"
+#include "RinexUtilities.hpp"
+
+using namespace gpstk;
+using namespace std;
+
+//------------------------------------------------------------------------------------
+const double VTECMap::VTECErrorMultipath = 4.0;
+const double VTECMap::VTECErrorSat = 0.9;
+const double VTECMap::VTECErrorCFC[4] = {-0.000045, 0.0096, -0.6755, 15.84};
+const double VTECMap::ObliqCoef[4] = {-4.316e-06, 0.001043, -0.08771, 3.57};
+
+//------------------------------------------------------------------------------------
+void VTECMap::CopyInputData(VTECMap &right)
+{
+ Decorrelation = right.Decorrelation;
+ MinElevation = right.MinElevation;
+ IonoHeight = right.IonoHeight;
+ gridtype = right.gridtype;
+ fittype = right.fittype;
+ BeginLat = right.BeginLat;
+ DeltaLat = right.DeltaLat;
+ NumLat = right.NumLat;
+ BeginLon = right.BeginLon;
+ DeltaLon = right.DeltaLon;
+ NumLon = right.NumLon;
+ RefStation = right.RefStation;
+}
+
+//------------------------------------------------------------------------------------
+void VTECMap::SetDefaults()
+{
+ Decorrelation = 3.0; // TECU/1000km
+ MinElevation = 10.0;
+ gridtype = UniformLatLon;
+ fittype = Constant;
+ BeginLat = 21.0;
+ BeginLon = 230.0;
+ DeltaLat = 0.25;
+ DeltaLon = 1.0;
+ NumLat = NumLon = 40;
+ IonoHeight = 350. * 1000.0; // 350km in meters
+}
+
+//------------------------------------------------------------------------------------
+void VTECMap::reallyMakeGrid(Station& refS, int factor)
+ throw(Exception)
+{
+ RefStation = refS;
+
+ grid = new GridData[NumLat*NumLon];
+ if(!grid) throw Exception("VTECMap::reallyMakeGrid failed to allocate grid");
+
+try {
+ int i,j,ishift,jshift,k;
+
+ if(gridtype == UniformSpace) {
+ int ii;
+ Position ptx1,ptx2,pty1,pty2,pt3,DeltaX,DeltaY;
+
+ // azimuth = 0 : x1
+ ptx1 = refS.llr.getIonosphericPiercePoint(MinElevation, 0.0,IonoHeight);
+ ptx1.transformTo(Position::Cartesian);
+
+ // azimuth = 180 : x2
+ ptx2 = refS.llr.getIonosphericPiercePoint(MinElevation,180.0,IonoHeight);
+ ptx2.transformTo(Position::Cartesian);
+
+ // azimuth = 90 : y1
+ pty1 = refS.llr.getIonosphericPiercePoint(MinElevation, 90.0,IonoHeight);
+ pty1.transformTo(Position::Cartesian);
+
+ // azimuth = 270 : y2
+ pty2 = refS.llr.getIonosphericPiercePoint(MinElevation,270.0,IonoHeight);
+ pty2.transformTo(Position::Cartesian);
+
+ // find the center of the sheet
+ pt3 = (ptx1 + ptx2)*0.5;
+
+ // get orthogonal vectors in the plane, and compute step size info
+ DeltaX = (ptx1 - ptx2)*(1.0/double(NumLon-1));
+ DeltaY = (pty1 - pty2)*(1.0/double(NumLat-1));
+
+ // create the grid
+ for(i=0; i<NumLon; i++) { // i == x == lon
+ ishift = i - (NumLon/2);
+ for(j=0; j<NumLat; j++) { // j == y == lat
+ k = i * NumLat + j; // k is the index in grid array
+ jshift = j - (NumLat/2);
+ grid[k].XYZ = pt3 + (DeltaX*ishift + DeltaY*jshift)*factor;
+ grid[k].LLR = grid[k].XYZ;
+ grid[k].LLR.transformTo(Position::Geocentric);
+ } // end j loop over lon
+ } // end i loop over lat
+ }
+
+ if(gridtype == UniformLatLon) {
+ double LatCenter = BeginLat + NumLat * DeltaLat/2.0;
+ double LonCenter = BeginLon + NumLon * DeltaLon/2.0;
+ double rad;
+ {
+ // this is a trick to get the radius of the ionosphere
+ Position IPP = refS.llr.getIonosphericPiercePoint(90,0,IonoHeight);
+ rad = IPP.radius();
+ }
+ // create the grid
+ for(i=0; i<NumLon; i++) { // i == x == lon
+ ishift = i - (NumLon/2);
+ for(j=0; j<NumLat; j++) { // j == y == lat
+ jshift = j - (NumLat/2);
+ k = i * NumLat + j; // k is the index in grid array
+ grid[k].LLR.setGeocentric(
+ LatCenter + factor * jshift * DeltaLat, // lat (deg)
+ LonCenter + factor * ishift * DeltaLon, // lon (deg)
+ rad); // radius (m)
+ grid[k].XYZ = grid[k].LLR;
+ grid[k].XYZ.transformTo(Position::Cartesian);
+ } // end j loop over lon
+ } // end i loop over lat
+ }
+}
+catch(gpstk::Exception& e) {
+ cerr << "VTECMap:reallyMakeGrid caught an exception\n" << e;
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "VTECMap:reallyMakeGrid caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+void VTECMap::OutputGrid(ostream& os)
+{
+ int i,j,k;
+ os << fixed << setprecision(3);
+ for(j=0; j<NumLat; j++) {
+ for(i=0; i<NumLon; i++) {
+ k = i * NumLat + j;
+ os << grid[k].LLR.printf(" %.8a %.8l %.3r");
+ os << grid[k].XYZ.printf(" %.3x %.3y %.3z");
+ os << " " << i << " " << j << endl;
+ }
+ }
+}
+
+//------------------------------------------------------------------------------------
+void VTECMap::ComputeMap(DayTime& epoch, vector<ObsData>& data)
+{
+ int i,j,k,n;
+ // first compute the average value
+ n = 0;
+ ave = 0.0;
+ for(k=0; k<data.size(); k++) {
+ n++;
+ ave *= double(n-1)/double(n);
+ ave += data[k].VTEC/double(n);
+ }
+ // now compute the value at each grid point
+ for(i=0; i<NumLon; i++) {
+ for(j=0; j<NumLat; j++) {
+ k = i * NumLat + j;
+ ComputeGridValue(grid[k],data);
+ }
+ }
+}
+
+//------------------------------------------------------------------------------------
+// Compute the grid values. Called by ComputeMap.
+void VTECMap::ComputeGridValue(GridData& gridpt, vector<ObsData>& data)
+{
+ double gridLat = gridpt.LLR.getGeocentricLatitude() * DEG_TO_RAD;
+ double gridLon = gridpt.LLR.longitude();
+ if(gridLon > 180.0) gridLon -= 360.0;
+ gridLon *= DEG_TO_RAD;
+
+ double destLat, destLon,dLat,dLon;
+ double sg,cg,sd,dist,range,bear,d;
+ vector<double> vtec,xtmp,ytmp,sigma;
+
+ // loop over all data
+ for(int k=0; k<data.size(); k++) {
+ //if(data[k].elevation < MinElevation) continue; // here?
+ destLat = data[k].latitude * DEG_TO_RAD;
+ destLon = data[k].longitude * DEG_TO_RAD;
+ // compute distance in the plane from grid to dest(data)
+ dLon = destLon - gridLon;
+ sg = sin(gridLat);
+ cg = cos(gridLat);
+ sd = sin(destLat);
+ d = sg*sd + cg*cos(destLat)*cos(dLon);
+ dist = acos(d);
+ // TD what is range? where does the 1.852 come from?
+ // TD what are the units of range? assume km, then Decorrelation = TECU/1000km
+ // decor error = range * Decorrelation
+ range = 1.852 * 60 * dist * RAD_TO_DEG; // 1.852 * distance in min of arc
+ if(ABS(dist) < 0.01) dist = 0.01;
+ d = (sd - sg*cos(dist)) / sin(dist)*cg; // d = cos(bearing)
+ if(ABS(d) > 1) {
+ if(d > 0) d = 1.0;
+ else d = -1.0;
+ }
+ bear = acos(d);
+ if(dLon > 0) bear = TWO_PI - bear;
+
+ vtec.push_back(data[k].VTEC);
+ xtmp.push_back(range * d); // this is probably slow
+ ytmp.push_back(range * sin(bear));
+ // sigma = RSS(measurement error, term ~ range = decorrelation)
+ d = data[k].VTECerror * data[k].VTECerror
+ + range * range * (Decorrelation/1000) * (Decorrelation/1000);
+ sigma.push_back(SQRT(d));
+
+ } // end loop over all data
+
+ d = ChiSqPlane(vtec,xtmp,ytmp,sigma);
+ if(d < 0) {
+ //if(d < -0.5) output warning: negative TEC set to 0
+ d = 0.0;
+ }
+
+ gridpt.value = d;
+}
+
+//------------------------------------------------------------------------------------
+// Chi squared calculation ... TD
+// z is VTEC
+double VTECMap::ChiSqPlane(vector<double>& z, vector<double>& x, vector<double>& y,
+ vector<double>& sigma)
+{
+ int k;
+
+ double invSigma,XinvSigma,YinvSigma,ZinvSigma;
+ double s,sx,sy,sz,sxx,sxy,syy,sxz,syz;
+
+ invSigma = 1.0/(sigma[0]*sigma[0]);
+ s = invSigma;
+ ZinvSigma = (z[0]-ave) * invSigma;
+ sz = ZinvSigma;
+ if(fittype == Linear) {
+ XinvSigma = x[0] * invSigma;
+ sx = XinvSigma;
+ YinvSigma = y[0] * invSigma;
+ sy = YinvSigma;
+ sxx = x[0] * XinvSigma;
+ sxy = x[0] * YinvSigma;
+ syy = y[0] * YinvSigma;
+ sxz = x[0] * ZinvSigma;
+ syz = y[0] * ZinvSigma;
+ }
+
+ double invS2,XinvS2,YinvS2,ZinvS2;
+ for(k=1; k<z.size(); k++) {
+ // constant and linear
+ invS2 = 1.0 / (sigma[k]*sigma[k]);
+ s += invS2;
+ ZinvS2 = (z[k]-ave) * invS2;
+ sz += ZinvS2;
+ // linear only
+ if(fittype == Linear) {
+ XinvS2 = x[k] * invS2;
+ YinvS2 = y[k] * invS2;
+ sx += XinvS2;
+ sy += YinvS2;
+ sxx += x[k] * XinvS2;
+ sxy += x[k] * YinvS2;
+ syy += y[k] * YinvS2;
+ sxz += x[k] * ZinvS2;
+ syz += y[k] * ZinvS2;
+ }
+ }
+
+ double value;
+ if(fittype == Linear) {
+ double delta = sxy*(s*sxy-2*sx*sy) + sxx*sy*sy + syy*(sx*sx-s*sxx);
+ value = ( sxz*(sx*syy-sxy*sy) + syz*(sxx*sy-sx*sxy)
+ + sz*(sxy*sxy-sxx*syy) )/delta;
+ }
+ else
+ value = (sz/s);
+ return (ave + value);
+}
+
+//------------------------------------------------------------------------------------
+void VTECMap::OutputMap(ostream& os, bool format)
+{
+ int i,j,k;
+ os << fixed << setprecision(3);
+ for(j=0; j<NumLat; j++) {
+ for(i=0; i<NumLon; i++) {
+ k = i * NumLat + j;
+ if(format) os << grid[k].LLR[0] << " " << grid[k].LLR[1];
+ os << " " << grid[k].value;
+ if(format) os << endl;
+ }
+ os << endl;
+ }
+}
+
+//------------------------------------------------------------------------------------
+void MUFMap::ComputeMap(DayTime& epoch, vector<ObsData>& data)
+{
+ int i,k;
+ double lvect1,lvect2,tmp,cosin;;
+ GridData center,reflect;
+ Position MUFearth;
+
+ for(k=0; k<NumLat*NumLon; k++) {
+ // Comment in the original code is:
+ // "convert the lat/lon from the MUF grid
+ // to XYZ positions on the surface of Earth"
+ // then code uses grid[k].XYZ where MUFearth is here...
+ MUFearth = grid[k].LLR;
+ MUFearth[2] = MUFearth.radiusEarth();
+ MUFearth.transformTo(Position::Cartesian);
+
+ center.XYZ = (MUFearth + RefStation.xyz)*0.5;
+ center.LLR = center.XYZ;
+ center.LLR.transformTo(Position::Geocentric);
+
+ reflect = center;
+ reflect.LLR[2] = reflect.LLR.radiusEarth() + IonoHeight;
+
+ ComputeGridValue(reflect, data);
+
+ reflect.XYZ = reflect.LLR;
+ reflect.XYZ.transformTo(Position::Cartesian);
+
+ lvect1 = lvect2 = 0.0;
+ for(i=0; i<3; i++) {
+ tmp = MUFearth[i] - reflect.XYZ[i];
+ lvect1 += tmp*tmp;
+ tmp = reflect.XYZ[i] - center.XYZ[i];
+ lvect2 += tmp*tmp;
+ }
+ cosin = SQRT(lvect2/lvect1);
+ grid[k].value =
+ VTECtoF0F2(0,reflect.value,epoch,reflect.LLR.longitude()) / cosin;
+ }
+}
+
+//------------------------------------------------------------------------------------
+// First cut at foF2 assuming constant slab thickness of 280 km and
+// TEC = 1.24e10 (foF2)^2 tau / 10^16
+void F0F2Map::ComputeMap(DayTime& epoch, vector<ObsData>& data)
+{
+ int i,j,k;
+ for(i=0; i<NumLon; i++) {
+ for(j=0; j<NumLat; j++) {
+ k = i * NumLat + j;
+ ComputeGridValue(grid[k],data);
+ grid[k].value = VTECtoF0F2(1,grid[k].value,epoch,grid[k].LLR.longitude());
+ }
+ }
+}
+
+//------------------------------------------------------------------------------------
+double VTECMap::VTECtoF0F2(int method, double vtec, DayTime& epoch, double lon)
+{
+try {
+ double fof2,tau,dt;
+ static DayTime computeTime=DayTime::BEGINNING_OF_TIME;
+ const double con[4]={0.019600827088077529, -1.549245071973630372,
+ 29.890989537102175433, 237.467144625490760745};
+
+ if(method == 0) {
+ tau = 280;
+ }
+ else if(method == 1) {
+ if(epoch != computeTime) {
+ computeTime = epoch;
+ dt = epoch.hour()+epoch.minute()/60.;
+ dt += (lon - 262.2743352)/15;
+ if(dt > 24) dt -= 24;
+ if(dt < 0) dt += 24;
+ tau = con[0];
+ for(int i=1; i<4; i++) tau = tau * dt + con[i];
+ }
+ }
+ else {
+ throw Exception("VTECtoF0F2 finds unknown method");
+ }
+
+ fof2 = SQRT(806.4 * vtec / tau);
+
+ return fof2;
+}
+catch(Exception& e) {
+ GPSTK_RETHROW(e);
+}
+}
+
+//------------------------------------------------------------------------------------
+double VTECMap::VTECError(double t, double el, double vtec)
+{
+ double slant = VTECErrorMultipath * VTECErrorMultipath / (1+2*t/3);
+ slant += VTECErrorSat * VTECErrorSat;
+ //slant += BiasError * BiasError;
+ double q = Obliquity(el);
+ double delta = VTECErrorCFC[0];
+ for(int i=1; i<4; i++)
+ delta = delta * el + VTECErrorCFC[i];
+ delta *= 0.01;
+ double vert = slant/(q*q);
+ vert += delta * vtec * delta * vtec;
+ vert = SQRT(vert);
+ return vert;
+}
+
+//------------------------------------------------------------------------------------
+double VTECMap::Obliquity(double el)
+{
+ if(el > 85) return 1.0;
+ double obq = ObliqCoef[0];
+ for(int i=1; i<4; i++)
+ obq = obq * el + ObliqCoef[i];
+ return obq;
+}
+
+//------------------------------------------------------------------------------------
+void gpstk::PlaneCoefficients(double cof[3], double p1[3], double p2[3], double p3[3])
+ throw(Exception)
+{
+ double denom=(p2[0]-p3[0])*p1[1]+(p3[0]-p1[0])*p2[1]+(p1[0]-p2[0])*p3[1];
+ if(denom == 0) throw Exception("PlaneCoefficients finds singular problem");
+ denom = 1.0/denom;
+ cof[0] = ((p3[1]-p2[1])*p1[2]+(p1[1]-p3[1])*p2[2]+(p2[1]-p1[1])*p3[2])*denom;
+ cof[1] = ((p2[0]-p3[0])*p1[2]+(p3[0]-p1[0])*p2[2]+(p1[0]-p2[0])*p3[2])*denom;
+ cof[2] = ((p3[0]*p2[1]-p2[0]*p3[1])*p1[2]+(p1[0]*p3[1]-p3[0]*p1[1])*p2[2]+
+ (p2[0]*p1[1]-p1[0]*p2[1])*p3[2])*denom;
+}
+
+//------------------------------------------------------------------------------------
+ostream& gpstk::operator<<(ostream& os, const Station& s)
+{
+ os << "Station filename: " << s.filename << endl << fixed;
+ os << s.xyz.printf(" %.3x m %.3y m %.3z m (ECEF)\n"
+ " %.9a degN %.9l degE %.3r m (Geocentric)");
+ return os;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/ionosphere/VTECMap.hpp b/trunk/apps/ionosphere/VTECMap.hpp
new file mode 100644
index 0000000..96c2215
--- /dev/null
+++ b/trunk/apps/ionosphere/VTECMap.hpp
@@ -0,0 +1,251 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/ionosphere/VTECMap.hpp#2 $"
+
+/**
+ * @file VTECMap.hpp
+ * VTECMap implements a simple ionospheric model using least squares
+ * and slant TEC values from multiple stations.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#ifndef GPSTK_VTECMAP_INCLUDE
+#define GPSTK_VTECMAP_INCLUDE
+
+//------------------------------------------------------------------------------------
+#include "Exception.hpp"
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+#include "WGS84Geoid.hpp"
+#include "Position.hpp"
+#include "icd_200_constants.hpp" // for TWO_PI
+#include "geometry.hpp" // for DEG_TO_RAD and RAD_TO_DEG
+#include "MiscMath.hpp" // for RSS
+
+#include <iostream>
+#include <string>
+#include <vector>
+#include <map>
+
+//------------------------------------------------------------------------------------
+namespace gpstk
+{
+
+//------------------------------------------------------------------------------------
+/// class Station TD document
+class Station {
+public:
+ //string id; use header.markerName
+ int nfile; // this object is Stations[nfile]
+ std::string filename;
+ //RinexObsStream instream; // cannot make vector<Station> for lack of copy c'tor
+ RinexObsHeader header;
+ RinexObsData robs;
+ bool getNext; // if true, ready to read next epoch
+ int nread; // number of obs records read or (-1 = dead, 0=header read)
+ //int inC1,inL1,inL2,inP1,inP2,inD1,inD2,inS1,inS2; // indexes in header
+ Position xyz; // cartesian position (ECEF)
+ Position llr; // geocentric position in LLR
+ std::map<RinexPrn,DayTime> InitTime; // time of start of this (cont) phase seg
+
+ friend std::ostream& operator<<(std::ostream& os, const Station& f);
+};
+
+/// Data collected from each station/satellite pair, used to construct the TEC map
+class ObsData {
+public:
+ double AcqTime; ///< acquisition time: time since start of continuous phase (s)
+ double VTEC; ///< vertical TEC (TECU?)
+ double VTECerror; ///< computed error in the VTEC
+ double elevation; ///< elevation angle (degrees)
+ double azimuth; ///< azimuth angle (degrees)
+ double latitude; ///< latitude of the ionospheric pierce point (degrees)
+ double longitude; ///< longitude of the ionospheric pierce point (degrees E)
+};
+
+/// Data defining the map at each grid point: grid location and TEC value
+class GridData {
+public:
+ Position XYZ; ///< ECEF position (x,y,z) in meters
+ Position LLR; ///< geocentric position (lat,lon,radius) in deg,degE,meters
+ double value; ///< computed map value at this grid point (TECU?)
+};
+
+//------------------------------------------------------------------------------------
+/// class VTECMap stores and computes a grid in latitude and longitude, then given
+/// VTEC data over a network of ground stations, computes the value of VTEC on
+/// the grid.
+class VTECMap {
+public:
+ /// Supported grid types
+ enum GridType
+ {
+ UniformLatLon=1, ///< Grid is uniform in (geocentric) latitude, longitude
+ UniformSpace ///< Grid is uniform in space (constant physical spacing)
+ };
+
+ /// Supported fit types
+ enum FitType
+ {
+ Constant, ///< Model ionospheric TEC as constant
+ Linear ///< Model ionospheric TEC as linear function of lat,lon
+ };
+
+ /// default constructor
+ VTECMap() { grid=NULL; SetDefaults(); }
+
+ /// destructor
+ virtual ~VTECMap() { if(grid) delete[] grid; }
+
+ /// copy input data
+ void CopyInputData(VTECMap &right);
+
+ /// default values of input data
+ void SetDefaults();
+
+ /// build the 2D grid itself
+ /// @param refStation Station object for the reference station
+ virtual void MakeGrid(Station& refStation) throw(Exception)
+ { reallyMakeGrid(refStation,1); }
+
+ /// write grid locations to a file
+ /// @param ostream on which to write
+ void OutputGrid(std::ostream& os);
+
+ /// populate the 2D grid
+ /// @param data vector of ObsData structures for all observed data
+ virtual void ComputeMap(DayTime& epoch, std::vector<ObsData>& data);
+
+ /// write the computed grid values to a file
+ /// @param ostream on which to write
+ /// @param bool gnuplotFormat if true, output for gnuplot,
+ /// otherwise (default) for Matlab (TD right?)
+ void OutputMap(std::ostream& os, bool gnuplotFormat=false);
+
+ // input data
+ double Decorrelation; ///< decorellation error rate in TECU/1000km
+ double MinElevation; ///< minimum elevation in degrees
+ double IonoHeight; ///< Height of the ionosphere in meters
+ GridType gridtype; ///< uniform in space or uniform in lat/lon
+ FitType fittype; ///< constant or linear
+ double BeginLat; ///< beginning latitude (deg)
+ double DeltaLat; ///< step in latitude (deg)
+ int NumLat; ///< number of latitude grids
+ double BeginLon; ///< beginning longitude (deg E)
+ double DeltaLon; ///< step in longitude (deg)
+ int NumLon; ///< number of longitude grids
+ Station RefStation; ///< reference station, input by MakeGrid()
+
+ // grid and map data
+ GridData *grid;
+ double ave;
+
+ // constants needed in computation
+ static const double VTECErrorMultipath; ///< TD doc
+ static const double VTECErrorSat; ///< TD doc
+ static const double VTECErrorCFC[4]; ///< TD doc
+ static const double ObliqCoef[4]; ///< Parameters used in obliquity calc.
+
+ // computation
+
+ /// Convert vertical TEC to foF2 using one of two methods.
+ /// @param method flag giving methods:
+ /// 0 Constant slab of thickness tau=280 km
+ /// 1 Cubic fit to tau from ARL data
+ /// @param vtec Vertical TEC
+ /// @param epoch TD doc
+ /// @param lon Longitude of TD doc
+ double VTECtoF0F2(int method, double vtec, DayTime& epoch, double lon);
+
+ /// Compute the error on the VTEC
+ /// @param t acquisition time in sec ?
+ /// @param el elevation in degrees
+ /// @param vtec vertical TEC (TECU)
+ /// @return error on the VTEC
+ double VTECError(double t, double el, double vtec);
+
+ /// Compute the obliquity at a given elevation
+ /// @param el elevation in degrees
+ /// @return obliquity factor
+ double VTECMap::Obliquity(double el);
+
+protected:
+ /// Allocate the grid array and fill it.
+ /// @param refStation reference station
+ /// @param factor : 1 for VTEC maps, 2 for MUF maps
+ void VTECMap::reallyMakeGrid(Station& refStation, int factor)
+ throw(Exception);
+
+ /// Compute one grid value, using all the data. Called by ComputeMap.
+ void ComputeGridValue(GridData& gridpt, std::vector<ObsData>& data);
+
+ /// Chi squared calculation ... TD
+ double ChiSqPlane(std::vector<double>& vtec, std::vector<double>& x,
+ std::vector<double>& y, std::vector<double>& sigma);
+
+}; // end class VTECMap
+
+/// class MUFMap is a VTECMap that computes MUF on the grid points.
+class MUFMap : public VTECMap {
+public:
+ /// build the 2D grid itself
+ /// @param refStation Station object for the reference station
+ void MakeGrid(Station& refStation) throw(Exception)
+ { reallyMakeGrid(refStation,2); }
+ /// populate the 2D grid
+ /// @param data vector of ObsData structures for all observed data
+ void ComputeMap(DayTime& epoch, std::vector<ObsData>& data);
+};
+
+/// class MUFMap is a VTECMap that computes F0F2 on the grid points.
+class F0F2Map : public VTECMap {
+public:
+ /// populate the 2D grid
+ /// @param data vector of ObsData structures for all observed data
+ void ComputeMap(DayTime& epoch, std::vector<ObsData>& data);
+};
+
+//------------------------------------------------------------------------------------
+// prototypes
+
+/// Compute the coefficients [a,b,c] in the equation z = a*x + b*y + c that describes
+/// a plane, given the cartesian coordinates [x,y,z] of three points p1,p2,p3 that
+/// define the plane.
+/// @param cof double[3] of coefficients (output)
+/// @param p1 double[3] of coordinates
+/// @param p2 double[3] of coordinates
+/// @param p3 double[3] of coordinates
+void PlaneCoefficients(double cof[3], double p1[3], double p2[3], double p3[3])
+ throw(Exception);
+
+//------------------------------------------------------------------------------------
+} // namespace gpstk
+
+//------------------------------------------------------------------------------------
+#endif // GPSTK_VTECMAP_INCLUDE
diff --git a/trunk/apps/ionosphere/example/README b/trunk/apps/ionosphere/example/README
new file mode 100644
index 0000000..41626ba
--- /dev/null
+++ b/trunk/apps/ionosphere/example/README
@@ -0,0 +1,69 @@
+This directory contains all the files of an example run of the programs
+IonoBias and TECMaps, including scripts and output.
+
+Program descriptions
+
+ Program IonoBias reads Rinex data files containing extended Rinex observation
+types EL, LA, LO and SR or SS (see preprocessing, below) from several sites and
+estimates biases in the ionospheric total electron content (TEC) measurements
+imposed by the hardware: either by satellite (the satellite + receiver combined
+bias) or by receiver alone (average over satellites to get the receiver bias).
+IonoBias does this by assuming a simple model of the ionosphere and
+simultaneously estimating biases and model parameters.
+
+ Program TECMaps reads Rinex data files containing extended Rinex observation
+types EL, AZ and SR or VR from several sites and at each epoch fits the vertical
+TEC data to a model of the ionosphere on a two-dimensional grid surface.
+Hardware TEC measurement biases are corrected, using input from the program
+IonoBias. The user can specify the type of grid, the type of TEC data and the
+model to be used. Output is in the form of files, one per epoch, which can be
+used to plot the 2D ionospheric TEC surface.
+
+ Here is a description of the steps needed to go from raw data to plots using
+these programs. You may have to change some directories or other small things in
+the scripts, particularly the perl scripts, but this should be straightforward.
+(Scripts may be used on Windows by renaming with .bat extension; you will need
+perl and maybe wget and gnuplot under Windows -- get them free on the web!)
+
+ 0. Create subdirectories 'alldata', 'processed' and 'out'.
+
+ 1. The raw data is IGS data downloaded from the web for day 210 of 2004;
+the script 'getigs' shows one way to do this using wget. Note the last 'wget' call
+is different - it gets the broadcast ephemeris. These stations were
+chosen because they lie near or within a rectangle bounded by latitude 40 - 60 and
+longitude 250 - 290, which is where the map is going to be made. The raw data
+files, including the broadcast ephemeris file, are placed in subdirectory 'alldata'.
+
+ 2. Preprocess the data by computing EL (elevation), AZ (azimuth),
+LA (latitude of the ionospheric pierce point or IPP), LO (longitude of IPP), and
+SR (slant TEC derived from pseudorange), using the Rinex tool ResCor
+(see apps/Rinextools in the GPSTK distribution). A perl script, preprocess.pl
+and a script which runs this for each data file, 'gopre', are provided here.
+The ResCor run does several important things: it defines the data interval,
+which for this data is 30 seconds, in the header, and it defines the 'MARKER NAME'
+header record to be the 4-character station id in the file name (e.g. algo, chur,
+etc.), it pulls out the receiver position from the input Rinex header and passes
+that into ResCor, and finally it allows C1 to be used when P1 is not available.
+It also summarizes the output file using program RinSum and puts this summary,
+along with all the processed data, in subdirectory 'processed'.
+
+ 3. Run program IonoBias to compute the satellite+receiver biases for this
+data; see the script 'gobias' which simply makes a file containing the names of
+all the preprocessed data files (or you can make it by hand), and then runs
+IonoBias with the input file bias.inp. Output of this program is in bias.log,
+and the biases are also put in the file satbias.txt that will be input to TECMaps.
+
+ 4. Run TECMaps using the script 'gomaps', which simply runs TECMaps using the
+input file maps.inp, which chooses the grid type, the model type and the output
+format. Output is placed in subdirectory 'out' with base name 'igs' (i.e. all
+the files are of the form 'igs.N' where N is the epoch number: 1-2880 (an entire
+day of 30 second intervals).
+
+ 5. View the output using gnuplot. The perl script plotall.pl will generate an
+input file for gnuplot and run it, or use the script 'see'. Again, you may have to
+change directories inside plotall.pl; there are other options that fix how the
+plot is done, including output to a file (.png) instead of to the screen.
+For example, type
+ ./see igs 1 2880 30
+to see plots of the VTEC map every 15 minutes (30 x 30sec) from the first to the
+last. Press 'return' in your terminal window to advance to the next plot.
diff --git a/trunk/apps/ionosphere/example/bias.inp b/trunk/apps/ionosphere/example/bias.inp
new file mode 100644
index 0000000..33fb6ea
--- /dev/null
+++ b/trunk/apps/ionosphere/example/bias.inp
@@ -0,0 +1,18 @@
+--verbose
+--log bias.log
+--input @list.files
+--navdir alldata
+--nav brdc2100.04n
+--datafile ATtest.fil
+--MinPoints 24
+--MinTimeSpan 12
+--MinElevation 6
+--MinLatitude 40
+--MaxLatitude 60
+--MinLongitude 250
+--MaxLongitude 290
+--TimeSector night
+--TermOffset 20
+--IonoHeight 350
+#--NoSatBiases
+--biasout satbias.txt
diff --git a/trunk/apps/ionosphere/example/getigs b/trunk/apps/ionosphere/example/getigs
new file mode 100755
index 0000000..9f5f6dc
--- /dev/null
+++ b/trunk/apps/ionosphere/example/getigs
@@ -0,0 +1,373 @@
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/adri2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/agmt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/algo2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/alpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/amc22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ana12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/aoa12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/arm12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/arm22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/avry2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/azry2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/baie2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bake2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bar12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bayr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bbdm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bbry2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bcwr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bemt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bepk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bgis2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bil12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bill2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bkap2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bkms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bkr12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/blmm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/blsa2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/blyt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bmhl2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bmry2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bran2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/brew2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/brig2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/brpk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bsry2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/btdm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bvpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ca992100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cact2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cags2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/casa2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/casp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cat12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cat22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cbhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cccc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ccco2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cccs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cdmt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cgdm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/chb12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ches2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/chil2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/chme2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/chms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/chur2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cic12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cirx2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cit12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cjms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cjtr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/clar2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cmp92100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cnpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cola2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/copr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/corb2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/coso2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cot12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cotd2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/crfp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/crhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/crrs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cru12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/csci2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/csdh2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/csn12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/csst2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ctdm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ctms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cuhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cvhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dam22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dam32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ddmn2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dech2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/defi2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/det12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dhlg2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dnrc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/drao2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/drv12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dshs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dssc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dubo2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvle2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvls2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvlw2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvne2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvnw2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvpb2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvse2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvsw2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dyhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ecco2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ecfs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/edpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/elsc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/erla2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ese22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/esrw2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ewpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/fdtc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/flin2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/fmtp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/fmvt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/frdn2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/fvpk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/fxhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/fzhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/galb2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gdec2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ghrp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/glpt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/glrs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gmpk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gmrc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gnps2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gode2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/godz2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gol22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gold2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/grar2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gtrg2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gvlt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gvrs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hag22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hbco2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hcmn2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hdf12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hivi2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hklo2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hlfx2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hnps2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hnpt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hol32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/holc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/holp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hotk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hrn12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/htv12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hvwy2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hvys2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/iid22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/islk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ivco2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/jnpr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/jplm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/jtnt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/kan12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/kbrc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/kew12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/knol2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/krac2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/kuuj2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/kyvw2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lans2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lapc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lasc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lbc12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lbc22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lbch2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lcdt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ldes2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ldsw2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/leba2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/leep2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lfrs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/linc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/linj2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ljrn2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lkwy2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ll012100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/llas2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lnmt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/long2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lors2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lphs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ltut2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lvms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mat22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mcn12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mcon2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mdo12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mem22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/merc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/metr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mhms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mins2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mjpk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mlf12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mlfp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mob12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/monp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mor12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mple2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mpwd2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/msob2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mta12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mvfd2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mwtp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/myt12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/naiu2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nbps2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nbr22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ndap2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nds12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nhrg2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nji22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nlgn2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nlib2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/noco2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nopk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nor12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nor22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nor32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nrc12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nsss2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/oeoc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/oghs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/okee2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/opbl2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/opcl2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/opcp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/opcx2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/oprd2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ormt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ovls2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/oxyc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/p0412100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pbpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pck12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/phlb2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pie12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pin12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pin22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pit12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pkrd2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/plo32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pmhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pmob2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pnb12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ppbf2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/prds2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/psap2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/psc12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/psdm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pub12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/puc12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pve32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pvhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pvrs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/qhtp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ramt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rca22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rdmt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rdom2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/red12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rhcl2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ric12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/roch2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rock2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rstp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rths2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sacy2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sag12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sal12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sask2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sbcc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sch22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/scia2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/scip2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/scms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sdhl2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sfdm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg102100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg112100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg132100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg162100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg192100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg202100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg232100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg292100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sghs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sgps2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/shk12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/shos2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sibe2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/siby2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/silk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sio32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sio52100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/slid2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/slms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/snhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sni12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sol12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/somt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sowr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/spic2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/spk12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/spms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/spn12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/srp12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/stkr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/stl32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/stp12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/stri2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sum12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sup12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sup22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sup32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/tabl2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/thcp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/tilc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/tmap2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/tmgo2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/toiy2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/torp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/tost2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/trak2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/tung2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/twms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/uclp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ucsb2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/unb12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/univ2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/upsa2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/usc12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/usgc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/usn32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/usno2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vald2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vcap2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vdcy2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vic12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vimt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vnco2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vncx2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vnps2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vtis2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vyas2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/watc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wchs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wes22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wgpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/whc12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/whyt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/widc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wkpk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wlsn2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wlwy2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wmap2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wnra2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/womt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/woos2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wrhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wwmt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/yell2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/you12100.04o.Z
+wget ftp://igs.ensg.ign.fr/pub/igs/data/2004/210/brdc2100.04n.Z
+gzip -d *.Z
diff --git a/trunk/apps/ionosphere/example/gobias b/trunk/apps/ionosphere/example/gobias
new file mode 100755
index 0000000..207515b
--- /dev/null
+++ b/trunk/apps/ionosphere/example/gobias
@@ -0,0 +1,3 @@
+# use this ls command, or make up your own list.files
+#ls processed/*.obs > list.files
+/home/btolman/gpstk/dev/apps/ionosphere/IonoBias -fbias.inp
diff --git a/trunk/apps/ionosphere/example/gomaps b/trunk/apps/ionosphere/example/gomaps
new file mode 100755
index 0000000..da004c4
--- /dev/null
+++ b/trunk/apps/ionosphere/example/gomaps
@@ -0,0 +1 @@
+/home/btolman/gpstk/dev/apps/ionosphere/TECMaps -fmaps.inp
diff --git a/trunk/apps/ionosphere/example/gopre b/trunk/apps/ionosphere/example/gopre
new file mode 100755
index 0000000..f21fac2
--- /dev/null
+++ b/trunk/apps/ionosphere/example/gopre
@@ -0,0 +1,371 @@
+perl preprocess.pl adri2100.04o
+perl preprocess.pl agmt2100.04o
+perl preprocess.pl algo2100.04o
+perl preprocess.pl alpp2100.04o
+perl preprocess.pl amc22100.04o
+perl preprocess.pl ana12100.04o
+perl preprocess.pl aoa12100.04o
+perl preprocess.pl arm12100.04o
+perl preprocess.pl arm22100.04o
+perl preprocess.pl avry2100.04o
+perl preprocess.pl azry2100.04o
+perl preprocess.pl baie2100.04o
+perl preprocess.pl bake2100.04o
+perl preprocess.pl bar12100.04o
+perl preprocess.pl bayr2100.04o
+perl preprocess.pl bbdm2100.04o
+perl preprocess.pl bbry2100.04o
+perl preprocess.pl bcwr2100.04o
+perl preprocess.pl bemt2100.04o
+perl preprocess.pl bepk2100.04o
+perl preprocess.pl bgis2100.04o
+perl preprocess.pl bil12100.04o
+perl preprocess.pl bill2100.04o
+perl preprocess.pl bkap2100.04o
+perl preprocess.pl bkms2100.04o
+perl preprocess.pl bkr12100.04o
+perl preprocess.pl blmm2100.04o
+perl preprocess.pl blsa2100.04o
+perl preprocess.pl blyt2100.04o
+perl preprocess.pl bmhl2100.04o
+perl preprocess.pl bmry2100.04o
+perl preprocess.pl bran2100.04o
+perl preprocess.pl brew2100.04o
+perl preprocess.pl brig2100.04o
+perl preprocess.pl brpk2100.04o
+perl preprocess.pl bsry2100.04o
+perl preprocess.pl btdm2100.04o
+perl preprocess.pl bvpp2100.04o
+perl preprocess.pl ca992100.04o
+perl preprocess.pl cact2100.04o
+perl preprocess.pl cags2100.04o
+perl preprocess.pl casa2100.04o
+perl preprocess.pl casp2100.04o
+perl preprocess.pl cat12100.04o
+perl preprocess.pl cat22100.04o
+perl preprocess.pl cbhs2100.04o
+perl preprocess.pl cccc2100.04o
+perl preprocess.pl ccco2100.04o
+perl preprocess.pl cccs2100.04o
+perl preprocess.pl cdmt2100.04o
+perl preprocess.pl cgdm2100.04o
+perl preprocess.pl chb12100.04o
+perl preprocess.pl ches2100.04o
+perl preprocess.pl chil2100.04o
+perl preprocess.pl chme2100.04o
+perl preprocess.pl chms2100.04o
+perl preprocess.pl chur2100.04o
+perl preprocess.pl cic12100.04o
+perl preprocess.pl cirx2100.04o
+perl preprocess.pl cit12100.04o
+perl preprocess.pl cjms2100.04o
+perl preprocess.pl cjtr2100.04o
+perl preprocess.pl clar2100.04o
+perl preprocess.pl cmp92100.04o
+perl preprocess.pl cnpp2100.04o
+perl preprocess.pl cola2100.04o
+perl preprocess.pl copr2100.04o
+perl preprocess.pl corb2100.04o
+perl preprocess.pl coso2100.04o
+perl preprocess.pl cot12100.04o
+perl preprocess.pl cotd2100.04o
+perl preprocess.pl crfp2100.04o
+perl preprocess.pl crhs2100.04o
+perl preprocess.pl crrs2100.04o
+perl preprocess.pl cru12100.04o
+perl preprocess.pl csci2100.04o
+perl preprocess.pl csdh2100.04o
+perl preprocess.pl csn12100.04o
+perl preprocess.pl csst2100.04o
+perl preprocess.pl ctdm2100.04o
+perl preprocess.pl ctms2100.04o
+perl preprocess.pl cuhs2100.04o
+perl preprocess.pl cvhs2100.04o
+perl preprocess.pl dam22100.04o
+perl preprocess.pl dam32100.04o
+perl preprocess.pl ddmn2100.04o
+perl preprocess.pl dech2100.04o
+perl preprocess.pl defi2100.04o
+perl preprocess.pl det12100.04o
+perl preprocess.pl dhlg2100.04o
+perl preprocess.pl dnrc2100.04o
+perl preprocess.pl drao2100.04o
+perl preprocess.pl drv12100.04o
+perl preprocess.pl dshs2100.04o
+perl preprocess.pl dssc2100.04o
+perl preprocess.pl dubo2100.04o
+perl preprocess.pl dvle2100.04o
+perl preprocess.pl dvls2100.04o
+perl preprocess.pl dvlw2100.04o
+perl preprocess.pl dvne2100.04o
+perl preprocess.pl dvnw2100.04o
+perl preprocess.pl dvpb2100.04o
+perl preprocess.pl dvse2100.04o
+perl preprocess.pl dvsw2100.04o
+perl preprocess.pl dyhs2100.04o
+perl preprocess.pl ecco2100.04o
+perl preprocess.pl ecfs2100.04o
+perl preprocess.pl edpp2100.04o
+perl preprocess.pl elsc2100.04o
+perl preprocess.pl erla2100.04o
+perl preprocess.pl ese22100.04o
+perl preprocess.pl esrw2100.04o
+perl preprocess.pl ewpp2100.04o
+perl preprocess.pl fdtc2100.04o
+perl preprocess.pl flin2100.04o
+perl preprocess.pl fmtp2100.04o
+perl preprocess.pl fmvt2100.04o
+perl preprocess.pl frdn2100.04o
+perl preprocess.pl fvpk2100.04o
+perl preprocess.pl fxhs2100.04o
+perl preprocess.pl fzhs2100.04o
+perl preprocess.pl galb2100.04o
+perl preprocess.pl gdec2100.04o
+perl preprocess.pl ghrp2100.04o
+perl preprocess.pl glpt2100.04o
+perl preprocess.pl glrs2100.04o
+perl preprocess.pl gmpk2100.04o
+perl preprocess.pl gmrc2100.04o
+perl preprocess.pl gnps2100.04o
+perl preprocess.pl gode2100.04o
+perl preprocess.pl godz2100.04o
+perl preprocess.pl gol22100.04o
+perl preprocess.pl gold2100.04o
+perl preprocess.pl grar2100.04o
+perl preprocess.pl gtrg2100.04o
+perl preprocess.pl gvlt2100.04o
+perl preprocess.pl gvrs2100.04o
+perl preprocess.pl hag22100.04o
+perl preprocess.pl hbco2100.04o
+perl preprocess.pl hcmn2100.04o
+perl preprocess.pl hdf12100.04o
+perl preprocess.pl hivi2100.04o
+perl preprocess.pl hklo2100.04o
+perl preprocess.pl hlfx2100.04o
+perl preprocess.pl hnps2100.04o
+perl preprocess.pl hnpt2100.04o
+perl preprocess.pl hol32100.04o
+perl preprocess.pl holc2100.04o
+perl preprocess.pl holp2100.04o
+perl preprocess.pl hotk2100.04o
+perl preprocess.pl hrn12100.04o
+perl preprocess.pl htv12100.04o
+perl preprocess.pl hvwy2100.04o
+perl preprocess.pl hvys2100.04o
+perl preprocess.pl iid22100.04o
+perl preprocess.pl islk2100.04o
+perl preprocess.pl ivco2100.04o
+perl preprocess.pl jnpr2100.04o
+perl preprocess.pl jplm2100.04o
+perl preprocess.pl jtnt2100.04o
+perl preprocess.pl kan12100.04o
+perl preprocess.pl kbrc2100.04o
+perl preprocess.pl kew12100.04o
+perl preprocess.pl knol2100.04o
+perl preprocess.pl krac2100.04o
+perl preprocess.pl kuuj2100.04o
+perl preprocess.pl kyvw2100.04o
+perl preprocess.pl lans2100.04o
+perl preprocess.pl lapc2100.04o
+perl preprocess.pl lasc2100.04o
+perl preprocess.pl lbc12100.04o
+perl preprocess.pl lbc22100.04o
+perl preprocess.pl lbch2100.04o
+perl preprocess.pl lcdt2100.04o
+perl preprocess.pl ldes2100.04o
+perl preprocess.pl ldsw2100.04o
+perl preprocess.pl leba2100.04o
+perl preprocess.pl leep2100.04o
+perl preprocess.pl lfrs2100.04o
+perl preprocess.pl linc2100.04o
+perl preprocess.pl linj2100.04o
+perl preprocess.pl ljrn2100.04o
+perl preprocess.pl lkwy2100.04o
+perl preprocess.pl ll012100.04o
+perl preprocess.pl llas2100.04o
+perl preprocess.pl lnmt2100.04o
+perl preprocess.pl long2100.04o
+perl preprocess.pl lors2100.04o
+perl preprocess.pl lphs2100.04o
+perl preprocess.pl ltut2100.04o
+perl preprocess.pl lvms2100.04o
+perl preprocess.pl mat22100.04o
+perl preprocess.pl mcn12100.04o
+perl preprocess.pl mcon2100.04o
+perl preprocess.pl mdo12100.04o
+perl preprocess.pl mem22100.04o
+perl preprocess.pl merc2100.04o
+perl preprocess.pl metr2100.04o
+perl preprocess.pl mhms2100.04o
+perl preprocess.pl mins2100.04o
+perl preprocess.pl mjpk2100.04o
+perl preprocess.pl mlf12100.04o
+perl preprocess.pl mlfp2100.04o
+perl preprocess.pl mob12100.04o
+perl preprocess.pl monp2100.04o
+perl preprocess.pl mor12100.04o
+perl preprocess.pl mple2100.04o
+perl preprocess.pl mpwd2100.04o
+perl preprocess.pl msob2100.04o
+perl preprocess.pl mta12100.04o
+perl preprocess.pl mvfd2100.04o
+perl preprocess.pl mwtp2100.04o
+perl preprocess.pl myt12100.04o
+perl preprocess.pl naiu2100.04o
+perl preprocess.pl nbps2100.04o
+perl preprocess.pl nbr22100.04o
+perl preprocess.pl ndap2100.04o
+perl preprocess.pl nds12100.04o
+perl preprocess.pl nhrg2100.04o
+perl preprocess.pl nji22100.04o
+perl preprocess.pl nlgn2100.04o
+perl preprocess.pl nlib2100.04o
+perl preprocess.pl noco2100.04o
+perl preprocess.pl nopk2100.04o
+perl preprocess.pl nor12100.04o
+perl preprocess.pl nor22100.04o
+perl preprocess.pl nor32100.04o
+perl preprocess.pl nrc12100.04o
+perl preprocess.pl nsss2100.04o
+perl preprocess.pl oeoc2100.04o
+perl preprocess.pl oghs2100.04o
+perl preprocess.pl okee2100.04o
+perl preprocess.pl opbl2100.04o
+perl preprocess.pl opcl2100.04o
+perl preprocess.pl opcp2100.04o
+perl preprocess.pl opcx2100.04o
+perl preprocess.pl oprd2100.04o
+perl preprocess.pl ormt2100.04o
+perl preprocess.pl ovls2100.04o
+perl preprocess.pl oxyc2100.04o
+perl preprocess.pl p0412100.04o
+perl preprocess.pl pbpp2100.04o
+perl preprocess.pl pck12100.04o
+perl preprocess.pl phlb2100.04o
+perl preprocess.pl pie12100.04o
+perl preprocess.pl pin12100.04o
+perl preprocess.pl pin22100.04o
+perl preprocess.pl pit12100.04o
+perl preprocess.pl pkrd2100.04o
+perl preprocess.pl plo32100.04o
+perl preprocess.pl pmhs2100.04o
+perl preprocess.pl pmob2100.04o
+perl preprocess.pl pnb12100.04o
+perl preprocess.pl ppbf2100.04o
+perl preprocess.pl prds2100.04o
+perl preprocess.pl psap2100.04o
+perl preprocess.pl psc12100.04o
+perl preprocess.pl psdm2100.04o
+perl preprocess.pl pub12100.04o
+perl preprocess.pl puc12100.04o
+perl preprocess.pl pve32100.04o
+perl preprocess.pl pvhs2100.04o
+perl preprocess.pl pvrs2100.04o
+perl preprocess.pl qhtp2100.04o
+perl preprocess.pl ramt2100.04o
+perl preprocess.pl rca22100.04o
+perl preprocess.pl rdmt2100.04o
+perl preprocess.pl rdom2100.04o
+perl preprocess.pl red12100.04o
+perl preprocess.pl rhcl2100.04o
+perl preprocess.pl ric12100.04o
+perl preprocess.pl roch2100.04o
+perl preprocess.pl rock2100.04o
+perl preprocess.pl rstp2100.04o
+perl preprocess.pl rths2100.04o
+perl preprocess.pl sacy2100.04o
+perl preprocess.pl sag12100.04o
+perl preprocess.pl sal12100.04o
+perl preprocess.pl sask2100.04o
+perl preprocess.pl sbcc2100.04o
+perl preprocess.pl sch22100.04o
+perl preprocess.pl scia2100.04o
+perl preprocess.pl scip2100.04o
+perl preprocess.pl scms2100.04o
+perl preprocess.pl sdhl2100.04o
+perl preprocess.pl sfdm2100.04o
+perl preprocess.pl sg102100.04o
+perl preprocess.pl sg112100.04o
+perl preprocess.pl sg132100.04o
+perl preprocess.pl sg162100.04o
+perl preprocess.pl sg192100.04o
+perl preprocess.pl sg202100.04o
+perl preprocess.pl sg232100.04o
+perl preprocess.pl sg292100.04o
+perl preprocess.pl sghs2100.04o
+perl preprocess.pl sgps2100.04o
+perl preprocess.pl shk12100.04o
+perl preprocess.pl shos2100.04o
+perl preprocess.pl sibe2100.04o
+perl preprocess.pl siby2100.04o
+perl preprocess.pl silk2100.04o
+perl preprocess.pl sio32100.04o
+perl preprocess.pl sio52100.04o
+perl preprocess.pl slid2100.04o
+perl preprocess.pl slms2100.04o
+perl preprocess.pl snhs2100.04o
+perl preprocess.pl sni12100.04o
+perl preprocess.pl sol12100.04o
+perl preprocess.pl somt2100.04o
+perl preprocess.pl sowr2100.04o
+perl preprocess.pl spic2100.04o
+perl preprocess.pl spk12100.04o
+perl preprocess.pl spms2100.04o
+perl preprocess.pl spn12100.04o
+perl preprocess.pl srp12100.04o
+perl preprocess.pl stkr2100.04o
+perl preprocess.pl stl32100.04o
+perl preprocess.pl stp12100.04o
+perl preprocess.pl stri2100.04o
+perl preprocess.pl sum12100.04o
+perl preprocess.pl sup12100.04o
+perl preprocess.pl sup22100.04o
+perl preprocess.pl sup32100.04o
+perl preprocess.pl tabl2100.04o
+perl preprocess.pl thcp2100.04o
+perl preprocess.pl tilc2100.04o
+perl preprocess.pl tmap2100.04o
+perl preprocess.pl tmgo2100.04o
+perl preprocess.pl toiy2100.04o
+perl preprocess.pl torp2100.04o
+perl preprocess.pl tost2100.04o
+perl preprocess.pl trak2100.04o
+perl preprocess.pl tung2100.04o
+perl preprocess.pl twms2100.04o
+perl preprocess.pl uclp2100.04o
+perl preprocess.pl ucsb2100.04o
+perl preprocess.pl unb12100.04o
+perl preprocess.pl univ2100.04o
+perl preprocess.pl upsa2100.04o
+perl preprocess.pl usc12100.04o
+perl preprocess.pl usgc2100.04o
+perl preprocess.pl usn32100.04o
+perl preprocess.pl usno2100.04o
+perl preprocess.pl vald2100.04o
+perl preprocess.pl vcap2100.04o
+perl preprocess.pl vdcy2100.04o
+perl preprocess.pl vic12100.04o
+perl preprocess.pl vimt2100.04o
+perl preprocess.pl vnco2100.04o
+perl preprocess.pl vncx2100.04o
+perl preprocess.pl vnps2100.04o
+perl preprocess.pl vtis2100.04o
+perl preprocess.pl vyas2100.04o
+perl preprocess.pl watc2100.04o
+perl preprocess.pl wchs2100.04o
+perl preprocess.pl wes22100.04o
+perl preprocess.pl wgpp2100.04o
+perl preprocess.pl whc12100.04o
+perl preprocess.pl whyt2100.04o
+perl preprocess.pl widc2100.04o
+perl preprocess.pl wkpk2100.04o
+perl preprocess.pl wlsn2100.04o
+perl preprocess.pl wlwy2100.04o
+perl preprocess.pl wmap2100.04o
+perl preprocess.pl wnra2100.04o
+perl preprocess.pl womt2100.04o
+perl preprocess.pl woos2100.04o
+perl preprocess.pl wrhs2100.04o
+perl preprocess.pl wwmt2100.04o
+perl preprocess.pl yell2100.04o
+perl preprocess.pl you12100.04o
diff --git a/trunk/apps/ionosphere/example/list.files b/trunk/apps/ionosphere/example/list.files
new file mode 100644
index 0000000..36b0731
--- /dev/null
+++ b/trunk/apps/ionosphere/example/list.files
@@ -0,0 +1,366 @@
+processed\adri.obs
+processed\agmt.obs
+processed\algo.obs
+processed\alpp.obs
+processed\amc2.obs
+processed\ana1.obs
+processed\aoa1.obs
+processed\arm1.obs
+processed\arm2.obs
+processed\avry.obs
+processed\azry.obs
+processed\baie.obs
+processed\bake.obs
+processed\bar1.obs
+processed\bayr.obs
+processed\bbdm.obs
+processed\bbry.obs
+processed\bcwr.obs
+processed\bemt.obs
+processed\bepk.obs
+processed\bgis.obs
+processed\bil1.obs
+processed\bill.obs
+processed\bkap.obs
+processed\bkms.obs
+processed\bkr1.obs
+processed\blmm.obs
+processed\blsa.obs
+processed\blyt.obs
+processed\bmhl.obs
+processed\bmry.obs
+processed\bran.obs
+processed\brew.obs
+processed\brig.obs
+processed\brpk.obs
+processed\bsry.obs
+processed\btdm.obs
+processed\bvpp.obs
+processed\ca99.obs
+processed\cact.obs
+processed\cags.obs
+processed\casa.obs
+processed\casp.obs
+processed\cat1.obs
+processed\cat2.obs
+processed\cbhs.obs
+processed\cccc.obs
+processed\ccco.obs
+processed\cccs.obs
+processed\cdmt.obs
+processed\cgdm.obs
+processed\chb1.obs
+processed\ches.obs
+processed\chil.obs
+processed\chme.obs
+processed\chms.obs
+processed\chur.obs
+processed\cic1.obs
+processed\cirx.obs
+processed\cit1.obs
+processed\cjms.obs
+processed\cjtr.obs
+processed\clar.obs
+processed\cmp9.obs
+processed\cnpp.obs
+processed\cola.obs
+processed\copr.obs
+processed\corb.obs
+processed\coso.obs
+processed\cot1.obs
+processed\cotd.obs
+processed\crfp.obs
+processed\crhs.obs
+processed\crrs.obs
+processed\cru1.obs
+processed\csci.obs
+processed\csdh.obs
+processed\csn1.obs
+processed\csst.obs
+processed\ctdm.obs
+processed\ctms.obs
+processed\cuhs.obs
+processed\cvhs.obs
+processed\dam2.obs
+processed\dam3.obs
+processed\ddmn.obs
+processed\dech.obs
+processed\defi.obs
+processed\det1.obs
+processed\dhlg.obs
+processed\dnrc.obs
+processed\drao.obs
+processed\drv1.obs
+processed\dshs.obs
+processed\dssc.obs
+processed\dubo.obs
+processed\dvnw.obs
+processed\dvpb.obs
+processed\dvsw.obs
+processed\dyhs.obs
+processed\ecco.obs
+processed\ecfs.obs
+processed\edpp.obs
+processed\elsc.obs
+processed\erla.obs
+processed\ese2.obs
+processed\esrw.obs
+processed\ewpp.obs
+processed\fdtc.obs
+processed\flin.obs
+processed\fmtp.obs
+processed\fmvt.obs
+processed\frdn.obs
+processed\fvpk.obs
+processed\fxhs.obs
+processed\fzhs.obs
+processed\galb.obs
+processed\gdec.obs
+processed\ghrp.obs
+processed\glpt.obs
+processed\glrs.obs
+processed\gmpk.obs
+processed\gmrc.obs
+processed\gnps.obs
+processed\gode.obs
+processed\godz.obs
+processed\gol2.obs
+processed\gold.obs
+processed\grar.obs
+processed\gtrg.obs
+processed\gvlt.obs
+processed\gvrs.obs
+processed\hag2.obs
+processed\hbco.obs
+processed\hcmn.obs
+processed\hdf1.obs
+processed\hivi.obs
+processed\hklo.obs
+processed\hlfx.obs
+processed\hnps.obs
+processed\hnpt.obs
+processed\hol3.obs
+processed\holc.obs
+processed\holp.obs
+processed\hotk.obs
+processed\hrn1.obs
+processed\htv1.obs
+processed\hvwy.obs
+processed\hvys.obs
+processed\iid2.obs
+processed\islk.obs
+processed\ivco.obs
+processed\jnpr.obs
+processed\jplm.obs
+processed\jtnt.obs
+processed\kan1.obs
+processed\kbrc.obs
+processed\kew1.obs
+processed\knol.obs
+processed\krac.obs
+processed\kuuj.obs
+processed\kyvw.obs
+processed\lans.obs
+processed\lapc.obs
+processed\lasc.obs
+processed\lbc1.obs
+processed\lbc2.obs
+processed\lbch.obs
+processed\lcdt.obs
+processed\ldes.obs
+processed\ldsw.obs
+processed\leba.obs
+processed\leep.obs
+processed\lfrs.obs
+processed\linc.obs
+processed\linj.obs
+processed\ljrn.obs
+processed\lkwy.obs
+processed\ll01.obs
+processed\llas.obs
+processed\lnmt.obs
+processed\long.obs
+processed\lors.obs
+processed\lphs.obs
+processed\ltut.obs
+processed\lvms.obs
+processed\mat2.obs
+processed\mcn1.obs
+processed\mcon.obs
+processed\mdo1.obs
+processed\mem2.obs
+processed\merc.obs
+processed\metr.obs
+processed\mhms.obs
+processed\mins.obs
+processed\mjpk.obs
+processed\mlf1.obs
+processed\mlfp.obs
+processed\mob1.obs
+processed\monp.obs
+processed\mor1.obs
+processed\mple.obs
+processed\mpwd.obs
+processed\msob.obs
+processed\mta1.obs
+processed\mvfd.obs
+processed\mwtp.obs
+processed\myt1.obs
+processed\naiu.obs
+processed\nbps.obs
+processed\nbr2.obs
+processed\ndap.obs
+processed\nds1.obs
+processed\nhrg.obs
+processed\nji2.obs
+processed\nlgn.obs
+processed\nlib.obs
+processed\noco.obs
+processed\nopk.obs
+processed\nor1.obs
+processed\nor2.obs
+processed\nor3.obs
+processed\nrc1.obs
+processed\nsss.obs
+processed\oeoc.obs
+processed\oghs.obs
+processed\okee.obs
+processed\opbl.obs
+processed\opcl.obs
+processed\opcp.obs
+processed\opcx.obs
+processed\oprd.obs
+processed\ormt.obs
+processed\ovls.obs
+processed\oxyc.obs
+processed\p041.obs
+processed\pbpp.obs
+processed\pck1.obs
+processed\phlb.obs
+processed\pie1.obs
+processed\pin1.obs
+processed\pin2.obs
+processed\pit1.obs
+processed\pkrd.obs
+processed\plo3.obs
+processed\pmhs.obs
+processed\pmob.obs
+processed\pnb1.obs
+processed\ppbf.obs
+processed\prds.obs
+processed\psap.obs
+processed\psc1.obs
+processed\psdm.obs
+processed\pub1.obs
+processed\puc1.obs
+processed\pve3.obs
+processed\pvhs.obs
+processed\pvrs.obs
+processed\qhtp.obs
+processed\ramt.obs
+processed\rca2.obs
+processed\rdmt.obs
+processed\rdom.obs
+processed\red1.obs
+processed\rhcl.obs
+processed\ric1.obs
+processed\roch.obs
+processed\rock.obs
+processed\rstp.obs
+processed\rths.obs
+processed\sacy.obs
+processed\sag1.obs
+processed\sal1.obs
+processed\sask.obs
+processed\sbcc.obs
+processed\sch2.obs
+processed\scia.obs
+processed\scip.obs
+processed\scms.obs
+processed\sdhl.obs
+processed\sfdm.obs
+processed\sg10.obs
+processed\sg11.obs
+processed\sg13.obs
+processed\sg16.obs
+processed\sg19.obs
+processed\sg20.obs
+processed\sg23.obs
+processed\sg29.obs
+processed\sghs.obs
+processed\sgps.obs
+processed\shk1.obs
+processed\shos.obs
+processed\sibe.obs
+processed\siby.obs
+processed\silk.obs
+processed\sio3.obs
+processed\sio5.obs
+processed\slid.obs
+processed\slms.obs
+processed\snhs.obs
+processed\sni1.obs
+processed\sol1.obs
+processed\somt.obs
+processed\sowr.obs
+processed\spic.obs
+processed\spk1.obs
+processed\spms.obs
+processed\spn1.obs
+processed\srp1.obs
+processed\stkr.obs
+processed\stl3.obs
+processed\stp1.obs
+processed\stri.obs
+processed\sum1.obs
+processed\sup1.obs
+processed\sup2.obs
+processed\sup3.obs
+processed\tabl.obs
+processed\thcp.obs
+processed\tilc.obs
+processed\tmap.obs
+processed\tmgo.obs
+processed\toiy.obs
+processed\torp.obs
+processed\tost.obs
+processed\trak.obs
+processed\tung.obs
+processed\twms.obs
+processed\uclp.obs
+processed\ucsb.obs
+processed\unb1.obs
+processed\univ.obs
+processed\upsa.obs
+processed\usc1.obs
+processed\usgc.obs
+processed\usn3.obs
+processed\usno.obs
+processed\vald.obs
+processed\vcap.obs
+processed\vdcy.obs
+processed\vic1.obs
+processed\vimt.obs
+processed\vnco.obs
+processed\vncx.obs
+processed\vnps.obs
+processed\vtis.obs
+processed\vyas.obs
+processed\watc.obs
+processed\wchs.obs
+processed\wes2.obs
+processed\wgpp.obs
+processed\whc1.obs
+processed\whyt.obs
+processed\widc.obs
+processed\wkpk.obs
+processed\wlsn.obs
+processed\wlwy.obs
+processed\wmap.obs
+processed\wnra.obs
+processed\womt.obs
+processed\woos.obs
+processed\wrhs.obs
+processed\wwmt.obs
+processed\yell.obs
+processed\you1.obs
diff --git a/trunk/apps/ionosphere/example/maps.inp b/trunk/apps/ionosphere/example/maps.inp
new file mode 100644
index 0000000..29feb30
--- /dev/null
+++ b/trunk/apps/ionosphere/example/maps.inp
@@ -0,0 +1,35 @@
+# input file for VTECMap
+--verbose
+#
+# input
+--input list.files@
+--navdir alldata
+--nav brdc2100.04n
+# ref station
+--RxLLH 50.,270.,0.0,refs
+# sat+rx biases
+--Biases satbias.txt
+#
+# Processing
+--UniformSpacing
+#--UniformGrid
+--ElevThresh 6.0
+--MinAcqTime 0
+--NumLat 40
+--BeginLat 40
+--DeltaLat .5
+--NumLon 40
+--BeginLon 250
+--DeltaLon 1
+# VTEC map will be created by default
+#--MUFmap these maps have not been verified yet...
+#--F0F2map
+#
+# output
+--log maps.log
+--OutputGrid
+--GnuplotOutput
+--BaseName out/igs
+#
+#--BeginTime 2004,7,28,23,0,0.0
+#--EndTime 2004,7,28,23,59,59.0
diff --git a/trunk/apps/ionosphere/example/plotall.pl b/trunk/apps/ionosphere/example/plotall.pl
new file mode 100755
index 0000000..3962710
--- /dev/null
+++ b/trunk/apps/ionosphere/example/plotall.pl
@@ -0,0 +1,87 @@
+#!/usr/bin/perl
+use File::stat;
+use strict;
+use warnings;
+
+if($#ARGV < 1) {
+ print "Usage: perl plotall.pl <base> <n1> <n2>\n";
+ print " Plot surface data with contour for all files <base>.N\n";
+ print " where n1 <= N <= n2\n";
+ #TD add limits, view, etc
+ exit;
+}
+
+my $pngout='no'; # set to something other than yes for no .png output
+
+my ($base, $n, $n1, $n2, $dn, $slash, $file);
+if($#ARGV > -1) { $base = shift @ARGV; }
+if($#ARGV > -1) { $n1 = shift @ARGV; }
+$n2 ='';
+if($#ARGV > -1) { $n2 = shift @ARGV; }
+if($n2 eq '') { $n2=$n1; }
+$dn = '';
+if($#ARGV > -1) { $dn = shift @ARGV; }
+if($dn eq '') { $dn = 1; }
+
+print "Plot all files $base.n for $n1 <= n <= $n2 in steps $dn\n";
+
+open(FPOUT, ">$base.gp") or die "Cant open $base.gp file\n";
+print FPOUT "set title \"Ionospheric Vertical TEC\"\n";
+print FPOUT "set xlabel \"Latitude\"\n";
+print FPOUT "set ylabel \"Longitude\"\n";
+print FPOUT "set zlabel \"TEC Units\"\n";
+print FPOUT "set xrange [40:60]\n";
+print FPOUT "set yrange [250:290]\n";
+print FPOUT "set zrange [0:12]\n";
+print FPOUT "set cbrange [0:12]\n";
+print FPOUT "set pm3d\n";
+print FPOUT "unset key\n";
+print FPOUT "set data style lines\n";
+print FPOUT "set contour base\n";
+print FPOUT "set cntrparam levels incremental 0.0,1.5,12.0\n";
+print FPOUT "# comment out next two to see only contours\n";
+print FPOUT "set hidden3d\n";
+print FPOUT "set view 60,45\n";
+print FPOUT "# un-comment out next two to see only contours\n";
+print FPOUT "#set nosurface\n";
+print FPOUT "#set view 0,0\n";
+
+my $N=int(($n2-$n1)/$dn);
+foreach my $i (0..$N) {
+ my $I=sprintf("%04d",$n1+$i*$dn);
+ $file = "$base.$I";
+ if(not open(FPTEST, "$base.$I")) {
+ print "Could not open $base.$I skip.\n";
+ next;
+ }
+ close(FPTEST);
+ # determine time and put up title
+ my $min = ($n1+$i*$dn)*0.5; # 30 second = 0.5 minute data
+ my $hr = int($min/60);
+ $min = $min - $hr * 60;
+ $hr = $hr - 6; # local time at 270deg E longitude
+ if($hr < 0) { $hr += 24; }
+ my $msg = sprintf("LOCAL TIME %02d:%04.1f",$hr,$min);
+ if($i > 0) { print FPOUT "unset label 1\n"; }
+ print FPOUT "set label 1 \"July 28, 2004 - $msg\" at screen 0.5,0.88 center\n";
+ if($pngout eq 'yes') {
+ print FPOUT "set terminal png; set output \"$base$I.png\"\n";
+ }
+ print FPOUT "splot \"$base.$I\" using 1:2:3\n";
+ #if($^O eq "MSWin32" && $pngout ne 'yes') {
+ if($pngout ne 'yes') {
+ print FPOUT "pause -1 \"Surface $I\"\n";
+ }
+};
+
+close FPOUT;
+
+if ($^O eq "linux") {
+ #`/usr/local/bin/gnuplot -persist contour$N.gp`;
+ open(GP, "/usr/local/bin/gnuplot -persist $base.gp |");
+}
+if ($^O eq "MSWin32") {
+ #open(GP, "C:\\bat\\gp $base.gp |");
+ open(GP, "c:\\gnuplot\\bin\\wgnuplot.exe $base.gp |");
+}
+close(GP);
diff --git a/trunk/apps/ionosphere/example/preprocess.pl b/trunk/apps/ionosphere/example/preprocess.pl
new file mode 100755
index 0000000..ec69cc6
--- /dev/null
+++ b/trunk/apps/ionosphere/example/preprocess.pl
@@ -0,0 +1,104 @@
+#!/usr/local/bin/perl
+#
+# preprocess.pl Preprocess Rinex data for SatBiasIonoModel
+# Use ResCor to compute EL AZ LA LO SR,
+# add station id to header as MARKER NAME,
+# put station position in header,
+# and decimate to 30 seconds.
+# Assumes ephemeris file is in same directory,
+# and has a name of the same form (with "brdc"),
+# as data files: <dir>/zwenXXXX.NNo and <dir>/brdcXXXX.NNn
+#
+use strict;
+use warnings;
+use File::Basename;
+
+my ($stationID,$filename,$slash,$prgmdir,$option,$ephfile,$rawfile,$obsfile,$sumfile);
+my ($x,$y,$z)=(0,0,0);
+my @opt=();
+
+if($#ARGV < 0) {
+ print "Usage: perl preprocess.pl <filename>\n";
+ print " where <filename> is the complete file name,\n";
+ print " and <filename> is found in dir ./alldata.\n";
+ print " Output (.obs and .sum) are placed in ./processed.\n";
+ exit;
+}
+$filename = shift @ARGV;
+$stationID = substr($filename,length($filename)-12,4);
+
+if ($^O eq "linux") {
+ $slash = "/";
+ # GPSTK prgms found here
+ $prgmdir = "/home/btolman/gpstk/dev/apps/Rinextools";
+}
+if ($^O eq "MSWin32") {
+ $slash = "\\";
+ # GPSTK prgms found here
+ $prgmdir = "C:\\Code\\GPSLIB\\Working\\dev\\apps\\Rinextools";
+}
+
+print "Process station $stationID in file $filename\n";
+
+$rawfile = "alldata$slash$filename";
+$obsfile = "processed$slash$stationID.obs";
+$sumfile = "processed$slash$stationID.sum";
+
+# make up ResCor options
+#decimate to 30 second data, fill output header
+push @opt, "-IF$rawfile -OF$obsfile";
+push @opt, "-TN30.0 -HDf -HDm$stationID --Callow --IonoHt 350";
+push @opt, "-DOL1 -DOL2";
+#push @opt, "-DOC1 -DOP1 -DOP2";
+push @opt, "-DOD1 -DOD2 -DOS1 -DOS2";
+push @opt, "-AOEL -AOAZ -AOLA -AOLO -AOSR";
+
+# Run RinSum and gather information for ResCor options.
+$option = $prgmdir . $slash . "RinSum -i$rawfile -o$sumfile -g";
+#print "Run $option\n";
+`$option`;
+
+open FILE, "$sumfile" or die "Couldn't open RinSum output $sumfile\n";
+while(<FILE>) {
+ chomp;
+ if(/could not be opened./) {
+ print "Data file $rawfile could not be opened - abort.\n";
+ exit;
+ }
+ if(/Position \(XYZ,m\)/) {
+ $_ =~ s/Position \(XYZ,m\) : \(([0-9\.\-]+), ([0-9\.\-]+), ([0-9\.\-]+)\)\./$1 $2 $3/;
+ #print "Found position $1 $2 $3\n";
+ $x = $1;
+ $y = $2;
+ $z = $3;
+ if($x != 0) {
+ push @opt, "--RxXYZ " . sprintf("%.4f",$x) . "," . sprintf("%.4f",$y) . "," . sprintf("%.4f",$z);
+ }
+ }
+ if(/WARNING: ObsType P1 should be deleted from header./) {
+ $option = "--Cforce";
+ push @opt, $option;
+ last;
+ }
+}
+close(FILE);
+
+# if position was not found in the header, compute and add it
+if($x == 0) {
+ push @opt, "--RAIM --RAIMhead";
+}
+
+# add ephemeris file
+$ephfile = $rawfile;
+$ephfile =~ s/$stationID/brdc/;
+$ephfile =~ s/\.([90][0-9])o/.$1n/;
+push @opt, "--nav $ephfile";
+
+$option = $prgmdir . $slash . "ResCor @opt";
+print "Run $option\n";
+`$option`;
+
+#re-run RinSum
+$option = $prgmdir . $slash . "RinSum -i$obsfile -o$sumfile -g";
+print "Run $option\n";
+`$option`;
diff --git a/trunk/apps/ionosphere/example/see b/trunk/apps/ionosphere/example/see
new file mode 100755
index 0000000..12711b1
--- /dev/null
+++ b/trunk/apps/ionosphere/example/see
@@ -0,0 +1 @@
+perl plotall.pl out/%1 %2 %3 %4
diff --git a/trunk/apps/mergetools/Jamfile b/trunk/apps/mergetools/Jamfile
new file mode 100644
index 0000000..58a7192
--- /dev/null
+++ b/trunk/apps/mergetools/Jamfile
@@ -0,0 +1,9 @@
+
+SubDir TOP apps mergetools ;
+
+GPSLinkLibraries mergeRinNav mergeRinObs mergeRinMet mergeFIC : gpstk ;
+
+GPSMain mergeRinObs : mergeRinObs.cpp ;
+GPSMain mergeRinNav : mergeRinNav.cpp ;
+GPSMain mergeRinMet : mergeRinMet.cpp ;
+GPSMain mergeFIC : mergeFIC.cpp ;
\ No newline at end of file
diff --git a/trunk/apps/mergetools/Makefile.am b/trunk/apps/mergetools/Makefile.am
new file mode 100644
index 0000000..652ed4a
--- /dev/null
+++ b/trunk/apps/mergetools/Makefile.am
@@ -0,0 +1,9 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = mergeRinNav mergeRinObs mergeRinMet mergeFIC
+
+mergeRinObs_SOURCES = mergeRinObs.cpp
+mergeRinNav_SOURCES = mergeRinNav.cpp
+mergeRinMet_SOURCES = mergeRinMet.cpp
+mergeFIC_SOURCES = mergeFIC.cpp
diff --git a/trunk/apps/mergetools/Makefile.in b/trunk/apps/mergetools/Makefile.in
new file mode 100644
index 0000000..a1b9e3c
--- /dev/null
+++ b/trunk/apps/mergetools/Makefile.in
@@ -0,0 +1,451 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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@
+noinst_PROGRAMS = mergeRinNav$(EXEEXT) mergeRinObs$(EXEEXT) \
+ mergeRinMet$(EXEEXT) mergeFIC$(EXEEXT)
+subdir = apps/mergetools
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_mergeFIC_OBJECTS = mergeFIC.$(OBJEXT)
+mergeFIC_OBJECTS = $(am_mergeFIC_OBJECTS)
+mergeFIC_LDADD = $(LDADD)
+mergeFIC_DEPENDENCIES = ../../src/libgpstk.la
+am_mergeRinMet_OBJECTS = mergeRinMet.$(OBJEXT)
+mergeRinMet_OBJECTS = $(am_mergeRinMet_OBJECTS)
+mergeRinMet_LDADD = $(LDADD)
+mergeRinMet_DEPENDENCIES = ../../src/libgpstk.la
+am_mergeRinNav_OBJECTS = mergeRinNav.$(OBJEXT)
+mergeRinNav_OBJECTS = $(am_mergeRinNav_OBJECTS)
+mergeRinNav_LDADD = $(LDADD)
+mergeRinNav_DEPENDENCIES = ../../src/libgpstk.la
+am_mergeRinObs_OBJECTS = mergeRinObs.$(OBJEXT)
+mergeRinObs_OBJECTS = $(am_mergeRinObs_OBJECTS)
+mergeRinObs_LDADD = $(LDADD)
+mergeRinObs_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(mergeFIC_SOURCES) $(mergeRinMet_SOURCES) \
+ $(mergeRinNav_SOURCES) $(mergeRinObs_SOURCES)
+DIST_SOURCES = $(mergeFIC_SOURCES) $(mergeRinMet_SOURCES) \
+ $(mergeRinNav_SOURCES) $(mergeRinObs_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+mergeRinObs_SOURCES = mergeRinObs.cpp
+mergeRinNav_SOURCES = mergeRinNav.cpp
+mergeRinMet_SOURCES = mergeRinMet.cpp
+mergeFIC_SOURCES = mergeFIC.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apps/mergetools/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu apps/mergetools/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+mergeFIC$(EXEEXT): $(mergeFIC_OBJECTS) $(mergeFIC_DEPENDENCIES)
+ @rm -f mergeFIC$(EXEEXT)
+ $(CXXLINK) $(mergeFIC_LDFLAGS) $(mergeFIC_OBJECTS) $(mergeFIC_LDADD) $(LIBS)
+mergeRinMet$(EXEEXT): $(mergeRinMet_OBJECTS) $(mergeRinMet_DEPENDENCIES)
+ @rm -f mergeRinMet$(EXEEXT)
+ $(CXXLINK) $(mergeRinMet_LDFLAGS) $(mergeRinMet_OBJECTS) $(mergeRinMet_LDADD) $(LIBS)
+mergeRinNav$(EXEEXT): $(mergeRinNav_OBJECTS) $(mergeRinNav_DEPENDENCIES)
+ @rm -f mergeRinNav$(EXEEXT)
+ $(CXXLINK) $(mergeRinNav_LDFLAGS) $(mergeRinNav_OBJECTS) $(mergeRinNav_LDADD) $(LIBS)
+mergeRinObs$(EXEEXT): $(mergeRinObs_OBJECTS) $(mergeRinObs_DEPENDENCIES)
+ @rm -f mergeRinObs$(EXEEXT)
+ $(CXXLINK) $(mergeRinObs_LDFLAGS) $(mergeRinObs_OBJECTS) $(mergeRinObs_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mergeFIC.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mergeRinMet.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mergeRinNav.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mergeRinObs.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/mergetools/MergeFrame.hpp b/trunk/apps/mergetools/MergeFrame.hpp
new file mode 100644
index 0000000..2ee89e5
--- /dev/null
+++ b/trunk/apps/mergetools/MergeFrame.hpp
@@ -0,0 +1,93 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/mergetools/MergeFrame.hpp#3 $"
+
+#ifndef MERGEFRAME_HPP
+#define MERGEFRAME_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "BasicFramework.hpp"
+
+/// Base class for writing utilities that merge files
+
+class MergeFrame : public gpstk::BasicFramework
+{
+public:
+ /**
+ * arg0 is the name of the executable from argv[0].
+ * type is a string with the type of file (i.e. "RINEX Obs").
+ * message is an extra message that gets passed to the
+ * program description.
+ */
+ MergeFrame(char* arg0,
+ const std::string& type,
+ const std::string& message = std::string())
+ : gpstk::BasicFramework(arg0,
+ "Sorts and merges input " + type +
+ " files into a single file. " + message),
+ inputFileOption('i',
+ "input",
+ "An input " + type +
+ " file, can be repeated as many times as needed.",
+ true),
+ outputFileOption('o',
+ "output",
+ "Name for the merged output " + type + " file. Any "
+ "existing file with that name will be overwritten.",
+ true)
+ {
+ outputFileOption.setMaxCount(1);
+ }
+
+ virtual bool initialize(int argc, char* argv[]) throw()
+ {
+ return gpstk::BasicFramework::initialize(argc, argv);
+ }
+
+protected:
+ virtual void process() = 0;
+
+ gpstk::CommandOptionWithAnyArg inputFileOption;
+ gpstk::CommandOptionWithAnyArg outputFileOption;
+};
+
+
+#endif
diff --git a/trunk/apps/mergetools/mergeFIC b/trunk/apps/mergetools/mergeFIC
new file mode 100755
index 0000000..0e69a8d
Binary files /dev/null and b/trunk/apps/mergetools/mergeFIC differ
diff --git a/trunk/apps/mergetools/mergeFIC.cpp b/trunk/apps/mergetools/mergeFIC.cpp
new file mode 100644
index 0000000..66eb746
--- /dev/null
+++ b/trunk/apps/mergetools/mergeFIC.cpp
@@ -0,0 +1,109 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/mergetools/mergeFIC.cpp#1 $"
+
+// mergeFIC
+// Merge and sort FIC files
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FICStream.hpp"
+#include "FICData.hpp"
+#include "FICFilterOperators.hpp"
+#include "FileFilterFrameWithHeader.hpp"
+
+#include "MergeFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class MergeFIC : public MergeFrame
+{
+public:
+ MergeFIC(char* arg0) :
+ MergeFrame(arg0,
+ std::string("FIC"),
+ std::string("No filtering is performed on FIC merges. The resulting file may have some duplicate data."))
+ {}
+
+protected:
+ virtual void process();
+};
+
+void MergeFIC::process()
+{
+ std::vector<std::string> files = inputFileOption.getValue();
+
+ // FFF will sort and merge the FIC data using a simple time check
+ FileFilterFrameWithHeader<FICStream, FICData, FICHeader>
+ fff(files);
+
+ // arbitrarily take the first FIC header as the header for the merged
+ // file
+ std::string outputFile = outputFileOption.getValue().front();
+ fff.writeFile(outputFile, fff.frontHeader());
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ MergeFIC m(argv[0]);
+ if (!m.initialize(argc, argv))
+ return 0;
+ if (!m.run())
+ return 1;
+
+ return 0;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
diff --git a/trunk/apps/mergetools/mergeRinMet b/trunk/apps/mergetools/mergeRinMet
new file mode 100755
index 0000000..d772b86
Binary files /dev/null and b/trunk/apps/mergetools/mergeRinMet differ
diff --git a/trunk/apps/mergetools/mergeRinMet.cpp b/trunk/apps/mergetools/mergeRinMet.cpp
new file mode 100644
index 0000000..517c38d
--- /dev/null
+++ b/trunk/apps/mergetools/mergeRinMet.cpp
@@ -0,0 +1,123 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/mergetools/mergeRinMet.cpp#3 $"
+
+// mergeRinMet
+// Merge and sort rinex metrological files
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "RinexMetStream.hpp"
+#include "RinexMetHeader.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetFilterOperators.hpp"
+#include "FileFilterFrameWithHeader.hpp"
+
+#include "MergeFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class MergeRinMet : public MergeFrame
+{
+public:
+ MergeRinMet(char* arg0)
+ : MergeFrame(arg0,
+ std::string("RINEX Met"),
+ std::string("The output will be sorted by time. This program assumes all the input files are from the same station."))
+ {}
+
+protected:
+ virtual void process();
+};
+
+void MergeRinMet::process()
+{
+ std::vector<std::string> files = inputFileOption.getValue();
+
+ // FFF will sort and merge the data using
+ // a simple time check
+ FileFilterFrameWithHeader<RinexMetStream, RinexMetData, RinexMetHeader>
+ fff(files);
+
+ // get the header data
+ RinexMetHeaderTouchHeaderMerge merged;
+ fff.touchHeader(merged);
+
+ // sort and filter the data
+ fff.sort(RinexMetDataOperatorLessThanFull(merged.obsSet));
+ fff.unique(RinexMetDataOperatorEqualsSimple());
+
+ // set the pgm/runby/date field
+ merged.theHeader.fileProgram = std::string("mergeRinMet");
+ merged.theHeader.fileAgency = std::string("gpstk");
+ merged.theHeader.date = DayTime().asString();
+
+ // write the header
+ std::string outputFile = outputFileOption.getValue().front();
+ fff.writeFile(outputFile, merged.theHeader);
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ MergeRinMet m(argv[0]);
+ if (!m.initialize(argc, argv))
+ return 0;
+ if (!m.run())
+ return 1;
+
+ return 0;
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
diff --git a/trunk/apps/mergetools/mergeRinNav b/trunk/apps/mergetools/mergeRinNav
new file mode 100755
index 0000000..3260e57
Binary files /dev/null and b/trunk/apps/mergetools/mergeRinNav differ
diff --git a/trunk/apps/mergetools/mergeRinNav.cpp b/trunk/apps/mergetools/mergeRinNav.cpp
new file mode 100644
index 0000000..49ffc5c
--- /dev/null
+++ b/trunk/apps/mergetools/mergeRinNav.cpp
@@ -0,0 +1,126 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/mergetools/mergeRinNav.cpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "RinexNavStream.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavFilterOperators.hpp"
+#include "FileFilterFrameWithHeader.hpp"
+
+#include "MergeFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class MergeRinNav : public MergeFrame
+{
+public:
+ MergeRinNav(char* arg0)
+ : MergeFrame(arg0,
+ std::string("RINEX Nav"),
+ std::string("Only unique nav subframes will be output and they will be sorted by time."))
+ {}
+
+protected:
+ virtual void process();
+};
+
+void MergeRinNav::process()
+{
+ std::vector<std::string> files = inputFileOption.getValue();
+
+ // FFF will sort and merge the obs data using
+ // a simple time check
+ FileFilterFrameWithHeader<RinexNavStream, RinexNavData, RinexNavHeader>
+ fff(files);
+
+ // get the header data
+ RinexNavHeaderTouchHeaderMerge merged;
+ fff.touchHeader(merged);
+
+ // sort and filter the data
+ fff.sort(RinexNavDataOperatorLessThanFull());
+ fff.unique(RinexNavDataOperatorEqualsFull());
+
+ // set the pgm/runby/date field
+ merged.theHeader.fileType = string("NAVIGATION");
+ merged.theHeader.fileProgram = std::string("mergeRinNav");
+ merged.theHeader.fileAgency = std::string("gpstk");
+ merged.theHeader.date = DayTime().asString();
+ merged.theHeader.version = 2.1;
+ merged.theHeader.valid |= gpstk::RinexNavHeader::versionValid;
+ merged.theHeader.valid |= gpstk::RinexNavHeader::runByValid;
+ merged.theHeader.valid |= gpstk::RinexNavHeader::commentValid;
+ merged.theHeader.valid |= gpstk::RinexNavHeader::endValid;
+
+ // write the header
+ std::string outputFile = outputFileOption.getValue().front();
+ fff.writeFile(outputFile, merged.theHeader);
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ MergeRinNav m(argv[0]);
+ if (!m.initialize(argc, argv))
+ return 0;
+ if (!m.run())
+ return 1;
+
+ return 0;
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
diff --git a/trunk/apps/mergetools/mergeRinObs b/trunk/apps/mergetools/mergeRinObs
new file mode 100755
index 0000000..a8e37e9
Binary files /dev/null and b/trunk/apps/mergetools/mergeRinObs differ
diff --git a/trunk/apps/mergetools/mergeRinObs.cpp b/trunk/apps/mergetools/mergeRinObs.cpp
new file mode 100644
index 0000000..60cbb80
--- /dev/null
+++ b/trunk/apps/mergetools/mergeRinObs.cpp
@@ -0,0 +1,126 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/mergetools/mergeRinObs.cpp#3 $"
+
+// mergeRinObs
+// Merge and sort rinex observation files
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "RinexObsStream.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsFilterOperators.hpp"
+#include "FileFilterFrameWithHeader.hpp"
+
+#include "MergeFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class MergeRinObs : public MergeFrame
+{
+public:
+ MergeRinObs(char* arg0)
+ : MergeFrame(arg0,
+ std::string("RINEX Obs"),
+ std::string("The output will be sorted by time. This program assumes all the input files are from the same station."))
+ {}
+
+protected:
+ virtual void process();
+};
+
+void MergeRinObs::process()
+{
+ std::vector<std::string> files = inputFileOption.getValue();
+
+ // FFF will sort and merge the obs data using
+ // a simple time check
+ FileFilterFrameWithHeader<RinexObsStream, RinexObsData, RinexObsHeader>
+ fff(files);
+
+ // get the header data
+ RinexObsHeaderTouchHeaderMerge merged;
+ fff.touchHeader(merged);
+
+ // sort and filter the data using the obs set from the merged header
+ fff.sort(RinexObsDataOperatorLessThanFull(merged.obsSet));
+ fff.unique(RinexObsDataOperatorEqualsSimple());
+
+ // set the time of first obs in the header
+ merged.theHeader.firstObs = fff.front().time;
+
+ // set the pgm/runby/date field
+ merged.theHeader.fileProgram = std::string("mergeRinObs");
+ merged.theHeader.fileAgency = std::string("gpstk");
+ merged.theHeader.date = DayTime().asString();
+
+ // write the file
+ std::string outputFile = outputFileOption.getValue().front();
+ fff.writeFile(outputFile, merged.theHeader);
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ MergeRinObs m(argv[0]);
+ if (!m.initialize(argc, argv))
+ return 0;
+ if (!m.run())
+ return 1;
+
+ return 0;
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 1;
+}
diff --git a/trunk/apps/positioning/Jamfile b/trunk/apps/positioning/Jamfile
new file mode 100644
index 0000000..d5aa355
--- /dev/null
+++ b/trunk/apps/positioning/Jamfile
@@ -0,0 +1,8 @@
+SubDir TOP apps positioning ;
+
+GPSLinkLibraries rinexpvt poscvt PRSolve : gpstk ;
+BonkForte ; # bleah.
+
+GPSMain rinexpvt : rinexpvt.cpp ;
+GPSMain poscvt : poscvt.cpp ;
+GPSMain PRSolve : PRSolve.cpp ;
diff --git a/trunk/apps/positioning/Makefile.am b/trunk/apps/positioning/Makefile.am
new file mode 100644
index 0000000..ad2a932
--- /dev/null
+++ b/trunk/apps/positioning/Makefile.am
@@ -0,0 +1,8 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = poscvt rinexpvt PRSolve
+
+poscvt_SOURCES = poscvt.cpp
+rinexpvt_SOURCES = rinexpvt.cpp
+PRSolve_SOURCES = PRSolve.cpp
diff --git a/trunk/apps/positioning/Makefile.in b/trunk/apps/positioning/Makefile.in
new file mode 100644
index 0000000..9fabc59
--- /dev/null
+++ b/trunk/apps/positioning/Makefile.in
@@ -0,0 +1,440 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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@
+noinst_PROGRAMS = poscvt$(EXEEXT) rinexpvt$(EXEEXT) PRSolve$(EXEEXT)
+subdir = apps/positioning
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_PRSolve_OBJECTS = PRSolve.$(OBJEXT)
+PRSolve_OBJECTS = $(am_PRSolve_OBJECTS)
+PRSolve_LDADD = $(LDADD)
+PRSolve_DEPENDENCIES = ../../src/libgpstk.la
+am_poscvt_OBJECTS = poscvt.$(OBJEXT)
+poscvt_OBJECTS = $(am_poscvt_OBJECTS)
+poscvt_LDADD = $(LDADD)
+poscvt_DEPENDENCIES = ../../src/libgpstk.la
+am_rinexpvt_OBJECTS = rinexpvt.$(OBJEXT)
+rinexpvt_OBJECTS = $(am_rinexpvt_OBJECTS)
+rinexpvt_LDADD = $(LDADD)
+rinexpvt_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(PRSolve_SOURCES) $(poscvt_SOURCES) $(rinexpvt_SOURCES)
+DIST_SOURCES = $(PRSolve_SOURCES) $(poscvt_SOURCES) \
+ $(rinexpvt_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+poscvt_SOURCES = poscvt.cpp
+rinexpvt_SOURCES = rinexpvt.cpp
+PRSolve_SOURCES = PRSolve.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apps/positioning/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu apps/positioning/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+PRSolve$(EXEEXT): $(PRSolve_OBJECTS) $(PRSolve_DEPENDENCIES)
+ @rm -f PRSolve$(EXEEXT)
+ $(CXXLINK) $(PRSolve_LDFLAGS) $(PRSolve_OBJECTS) $(PRSolve_LDADD) $(LIBS)
+poscvt$(EXEEXT): $(poscvt_OBJECTS) $(poscvt_DEPENDENCIES)
+ @rm -f poscvt$(EXEEXT)
+ $(CXXLINK) $(poscvt_LDFLAGS) $(poscvt_OBJECTS) $(poscvt_LDADD) $(LIBS)
+rinexpvt$(EXEEXT): $(rinexpvt_OBJECTS) $(rinexpvt_DEPENDENCIES)
+ @rm -f rinexpvt$(EXEEXT)
+ $(CXXLINK) $(rinexpvt_LDFLAGS) $(rinexpvt_OBJECTS) $(rinexpvt_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PRSolve.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/poscvt.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rinexpvt.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/positioning/PRSolve b/trunk/apps/positioning/PRSolve
new file mode 100755
index 0000000..b0f0b2f
Binary files /dev/null and b/trunk/apps/positioning/PRSolve differ
diff --git a/trunk/apps/positioning/PRSolve.cpp b/trunk/apps/positioning/PRSolve.cpp
new file mode 100644
index 0000000..beba90f
--- /dev/null
+++ b/trunk/apps/positioning/PRSolve.cpp
@@ -0,0 +1,1723 @@
+// PRSolve.cpp Read a Rinex observation file and compute an autonomous
+// pseudorange position solution, using a RAIM-like algorithm to eliminate outliers.
+// $Id: //depot/sgl/gpstk/dev/apps/positioning/PRSolve.cpp#7 $
+
+#define RANGECHECK 1 // make Matrix and Vector check limits
+#include "Exception.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "SP3Stream.hpp"
+#include "BCEphemerisStore.hpp"
+#include "SP3EphemerisStore.hpp"
+#include "TropModel.hpp"
+#include "Position.hpp"
+#include "geometry.hpp" // for DEG_TO_RAD
+
+#include "Matrix.hpp"
+#include "PRSolution.hpp"
+#include "Stats.hpp"
+#include "EphemerisRange.hpp"
+
+#include <time.h>
+#include <string>
+#include <vector>
+#include <iostream>
+#include <fstream>
+#include <sstream>
+
+using namespace gpstk;
+using namespace std;
+
+ // prgm data
+string PrgmName("PRSolve");
+string PrgmVers("1.7 3/06");
+
+typedef struct Configuration {
+ // input files
+ string ObsDirectory,NavDirectory;
+ vector<string> InputObsName;
+ vector<string> InputNavName;
+ // configuration
+ double rmsLimit;
+ double slopeLimit;
+ bool algebra;
+ int nIter;
+ double convLimit;
+ int maxReject;
+ bool residCrit;
+ bool returnatonce;
+ double elevLimit;
+ // output
+ Position knownpos;
+ Matrix<double> Rot;
+ bool APSout;
+ string OutRinexObs;
+ string HDPrgm; // header of output Rinex file
+ string HDRunby;
+ string HDObs;
+ string HDAgency;
+ string HDMarker;
+ string HDNumber;
+ int NrecOut;
+ DayTime FirstEpoch,LastEpoch;
+ string timeFormat;
+ //double DT;
+ bool Debug,Verbose;
+ // data flow
+ double ith;
+ DayTime Tbeg, Tend;
+ // output files
+ string LogFile;
+ ofstream oflog;
+ // processing
+ double DataInt;
+ int Freq;
+ bool UseCA;
+ vector<RinexPrn> ExSV;
+ string TropType;
+ double T,Pr,RH;
+ TropModel *pTropModel;
+ // estimate DT from data
+ double estdt[9];
+ int ndt[9];
+} Config;
+
+// data input from command line
+Config C;
+// data used in program
+const double CMPS=299792458.0;
+const double CFF=CMPS/10.23e6;
+const double F1=154.0;
+const double F2=120.0;
+const double wl1=CFF/F1;
+const double wl2=CFF/F2;
+const double alpha=((F1*F1)/(F2*F2) - 1.0);
+const double if1r=1.0/(1.0-(F2/F1)*(F2/F1));
+const double if2r=1.0/(1.0-(F1/F2)*(F1/F2));
+clock_t totaltime;
+string Title,filename;
+DayTime CurrEpoch(DayTime::BEGINNING_OF_TIME), PrgmEpoch;
+DayTime PrevEpoch(DayTime::BEGINNING_OF_TIME);
+
+// data
+int Nsvs;
+EphemerisStore *pEph;
+SP3EphemerisStore SP3EphList;
+BCEphemerisStore BCEphList;
+SimpleTropModel TMsimple;
+SaasTropModel TMsaas;
+GGTropModel TMgg;
+GGHeightTropModel TMggh;
+NBTropModel TMnb;
+
+// Solution and covariance (prsol for RAIM, Solution and Covariance for AutonPRSol)
+PRSolution prsol; // this will always be the RAIM result
+Vector<double> Solution; // this will always be the AutonPRS result
+Matrix<double> Covariance; // this will always be the AutonPRS result
+
+// Solution and residual statistics:
+// simple average (S : one file; SS : all files)...
+Stats<double> SA[3],SR[3],SSA[3],SSR[3]; // solution (XYZ) Auto and RAIM
+Stats<double> SAPR[3],SRPR[3],SSAPR[3],SSRPR[3]; // XYZ residuals
+Stats<double> SANE[3],SRNE[3],SSANE[3],SSRNE[3]; // NEU residuals
+// ... and weighted average solution, both Auto and RAIM...
+Matrix<double> PA,PR,PPA,PPR; // inverse covariance
+Vector<double> zA,zR,zzA,zzR; // 'state'=(inverse covariance * state)
+// ... and weighted average residuals APR,RPR.
+Matrix<double> PAPR,PRPR,PANE,PRNE,PPAPR,PPRPR,PPANE,PPRNE;
+Vector<double> zAPR,zRPR,zANE,zRNE,zzAPR,zzRPR,zzANE,zzRNE;
+
+//------------------------------------------------------------------------------------
+// prototypes
+int ReadFile(int nfile);
+int SolutionAlgorithm(vector<RinexPrn>& Sats,
+ vector<double>& PRanges,
+ double& RMSresid);
+int AfterReadingFiles(void);
+
+void PrintStats(Stats<double> S[3], Matrix<double> &P, Vector<double> &z, string m,
+ char c0='X', char c1='Y', char c2='Z');
+int GetCommandLine(int argc, char **argv);
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& Verbose);
+
+int FillEphemerisStore(const vector<string>& files, SP3EphemerisStore& PE,
+ BCEphemerisStore& BCE);
+
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+ totaltime = clock();
+ int iret;
+
+ // Title and description
+ Title = PrgmName + ", part of the GPSTK ToolKit, Ver " + PrgmVers + ", Run ";
+ time_t timer;
+ struct tm *tblock;
+ timer = time(NULL);
+ tblock = localtime(&timer);
+ PrgmEpoch.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+ tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+ Title += PrgmEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S\n");
+ cout << Title;
+
+ // get command line
+ iret=GetCommandLine(argc, argv);
+ if(iret) return iret;
+
+ // get nav files and build EphemerisStore
+ int nread = FillEphemerisStore(C.InputNavName, SP3EphList, BCEphList);
+ C.oflog << "Added " << nread << " ephemeris files to store.\n";
+ SP3EphList.dump(0,C.oflog);
+ BCEphList.dump(0,C.oflog);
+ if(SP3EphList.size() > 0) pEph=&SP3EphList;
+ else if(BCEphList.size() > 0) {
+ BCEphList.SearchNear();
+ //BCEphList.SearchPast();
+ pEph=&BCEphList;
+ }
+ else {
+ C.oflog << "Failed to read ephemeris data. Abort." << endl;
+ return -1;
+ }
+
+ // assign trop model
+ if(C.TropType == string("BL")) C.pTropModel = &TMsimple;
+ if(C.TropType == string("SA") || C.TropType == string("NB")) {
+ if(C.TropType == string("SA")) C.pTropModel = &TMsaas;
+ if(C.TropType == string("NB")) C.pTropModel = &TMnb;
+ if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+ C.pTropModel->setReceiverLatitude(C.knownpos.getGeodeticLatitude());
+ C.pTropModel->setReceiverHeight(C.knownpos.getHeight());
+ }
+ else {
+ C.pTropModel->setReceiverLatitude(0.0);
+ C.pTropModel->setReceiverHeight(0.0);
+ C.oflog << "Warning - Saastamoinen and New B tropospheric models require "
+ << "latitude, height and day of year - guessing." << endl;
+ }
+ if(C.Tbeg > DayTime(DayTime::BEGINNING_OF_TIME))
+ C.pTropModel->setDayOfYear(C.Tbeg.DOY());
+ else if(C.Tend < DayTime(DayTime::END_OF_TIME))
+ C.pTropModel->setDayOfYear(C.Tend.DOY());
+ else
+ C.pTropModel->setDayOfYear(100);
+ }
+ if(C.TropType == string("GG")) C.pTropModel = &TMgg;
+ if(C.TropType == string("GGH")) C.pTropModel = &TMggh;
+ C.pTropModel->setWeather(C.T,C.Pr,C.RH);
+
+ // compute rotation XYZ->NEU at known position
+ if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+ double lat=C.knownpos.geodeticLatitude() * DEG_TO_RAD;
+ double lon=C.knownpos.longitude() * DEG_TO_RAD;
+ double ca = ::cos(lat);
+ double sa = ::sin(lat);
+ double co = ::cos(lon);
+ double so = ::sin(lon);
+ // Rotation matrix (R*XYZ=NEU) :
+ C.Rot = Matrix<double>(3,3);
+ // NEU
+ C.Rot(2,0) = ca*co; C.Rot(2,1) = ca*so; C.Rot(2,2) = sa;
+ C.Rot(1,0) = -so; C.Rot(1,1) = co; C.Rot(1,2) = 0.0;
+ C.Rot(0,0) = -sa*co; C.Rot(0,1) = -sa*so; C.Rot(0,2) = ca;
+ }
+
+ // initialize global solution and residual statistics
+ // not necessary SSA[0].Reset(); SSA[1].Reset(); SSA[2].Reset();
+ // not necessary SSR[0].Reset(); SSR[1].Reset(); SSR[2].Reset();
+ PPA = Matrix<double>(3,3,0.0);
+ PPR = Matrix<double>(3,3,0.0);
+ zzA = Vector<double>(3,0.0);
+ zzR = Vector<double>(3,0.0);
+ if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+ if(C.APSout) {
+ // not necessary SSAPR[0].Reset(); SSAPR[1].Reset(); SSAPR[2].Reset();
+ // not necessary SSANE[0].Reset(); SSANE[1].Reset(); SSANE[2].Reset();
+ PPAPR = Matrix<double>(3,3,0.0);
+ PPANE = Matrix<double>(3,3,0.0);
+ zzAPR = Vector<double>(3,0.0);
+ zzANE = Vector<double>(3,0.0);
+ }
+ // not necessary SSRPR[0].Reset(); SSRPR[1].Reset(); SSRPR[2].Reset();
+ // not necessary SSRNE[0].Reset(); SSRNE[1].Reset(); SSRNE[2].Reset();
+ PPRPR = Matrix<double>(3,3,0.0);
+ PPRNE = Matrix<double>(3,3,0.0);
+ zzRPR = Vector<double>(3,0.0);
+ zzRNE = Vector<double>(3,0.0);
+ }
+
+ // loop over input files
+ nread = 0;
+ for(int nfile=0; nfile<C.InputObsName.size(); nfile++) {
+ iret = ReadFile(nfile);
+ if(iret < 0) break;
+ nread++;
+ } // end loop over input files
+
+ if(iret>=0 && nread>0) iret=AfterReadingFiles();
+
+ totaltime = clock()-totaltime;
+ C.oflog << "PRSolve timing: " << fixed << setprecision(3)
+ << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+ cout << "PRSolve timing: " << fixed << setprecision(3)
+ << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+
+ C.oflog.close();
+
+ return iret;
+}
+//catch(FFStreamError& e) {
+ //cout << e;
+//}
+catch(Exception& e) {
+ cout << e;
+}
+catch (...) {
+ cerr << C.oflog << "Unknown error. Abort." << endl;
+}
+ return 1;
+} // end main()
+
+//------------------------------------------------------------------------------------
+// open the file, read header and check for data; then loop over the epochs
+// Return 0 ok, <0 fatal error, >0 non-fatal error (ie skip this file)
+// 0 ok, 1 couldn't open file, 2 file doesn't have required data
+int ReadFile(int nfile)
+{
+try {
+ bool writeout, first;
+ int i,j,iret;
+ int inC1,inP1,inP2,inL1,inL2,inD1,inD2,inS1,inS2; // indexes in rhead
+ double dt;
+ RinexObsStream ifstr, ofstr; // input and output Rinex files
+ RinexObsHeader rhead, rheadout;
+
+ // open input file
+ filename = C.InputObsName[nfile];
+ ifstr.open(filename.c_str(),ios::in);
+ if(ifstr.fail()) {
+ C.oflog << "Failed to open input file " << filename << ". Abort.\n";
+ return 1;
+ }
+ else C.oflog << "Opened input file " << filename << endl;
+ ifstr.exceptions(ios::failbit);
+
+ // open output file
+ if(!C.OutRinexObs.empty()) {
+ ofstr.open(C.OutRinexObs.c_str(), ios::out);
+ if(ofstr.fail()) {
+ C.oflog << "Failed to open output file " << C.OutRinexObs << " Abort.\n";
+ ifstr.close();
+ return 1;
+ }
+ else C.oflog << "Opened output file " << C.OutRinexObs << endl;
+ ofstr.exceptions(ios::failbit);
+ writeout = true;
+ }
+ else writeout = false;
+
+ // read the header
+ ifstr >> rhead;
+ C.oflog << "Here is the input header for file " << filename << endl;
+ rhead.dump(C.oflog);
+
+ // check that file contains C1/P1,P2,L1,L2,D1,D2,S1,S2
+ inC1 = inP1 = inP2 = inL1 = inL2 = inD1 = inD2 = inS1 = inS2 = -1;
+ for(j=0; j<rhead.obsTypeList.size(); j++) {
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("C1")) inC1=j;
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("L1")) inL1=j;
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("L2")) inL2=j;
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("P1")) inP1=j;
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("P2")) inP2=j;
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("D1")) inD1=j;
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("D2")) inD2=j;
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("S1")) inS1=j;
+ if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("S2")) inS2=j;
+ }
+ if((inP1==-1 && (!C.UseCA || inC1==-1)) || inP2==-1 || inL1==-1 || inL2==-1
+ || inD1==-1 || inD2==-1 || inS1==-1 || inS2==-1) {
+ C.oflog << "Warning: file " << filename << " does not contain";
+ if(inC1==-1) C.oflog << " C1";
+ if(inP1==-1) C.oflog << " P1 (--CA was" << (C.UseCA?"":" not") << " found)";
+ if(inP2==-1) C.oflog << " P2";
+ if(inL1==-1) C.oflog << " L1";
+ if(inL2==-1) C.oflog << " L2";
+ if(inD1==-1) C.oflog << " D1";
+ if(inD2==-1) C.oflog << " D2";
+ if(inS1==-1) C.oflog << " S1";
+ if(inS2==-1) C.oflog << " S2";
+ C.oflog << endl;
+ //ifstr.clear();
+ //ifstr.close();
+ //return 2;
+ }
+ if(inP1==-1) {
+ if(C.UseCA) inP1=inC1;
+ else {
+ C.oflog << "ERROR. Abort. Neither P1 data nor option --CA were not found."
+ << endl;
+ cerr << "ERROR. Abort. Neither P1 data nor option --CA were not found."
+ << endl;
+ return -1;
+ }
+ }
+ if(inP1 > -1) {
+ if(inP2 > -1) C.Freq = 3;
+ else C.Freq = 1;
+ // TD add 2 as an input option
+ }
+ C.oflog << "Process frequency " << C.Freq << endl;
+
+ // initialize file solution and residual statistics
+ SA[0].Reset(); SA[1].Reset(); SA[2].Reset();
+ SR[0].Reset(); SR[1].Reset(); SR[2].Reset();
+ PA = Matrix<double>(3,3,0.0);
+ PR = Matrix<double>(3,3,0.0);
+ zA = Vector<double>(3,0.0);
+ zR = Vector<double>(3,0.0);
+ if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+ if(C.APSout) {
+ SAPR[0].Reset(); SAPR[1].Reset(); SAPR[2].Reset();
+ SANE[0].Reset(); SANE[1].Reset(); SANE[2].Reset();
+ PAPR = Matrix<double>(3,3,0.0);
+ PANE = Matrix<double>(3,3,0.0);
+ zAPR = Vector<double>(3,0.0);
+ zANE = Vector<double>(3,0.0);
+ }
+ SRPR[0].Reset(); SRPR[1].Reset(); SRPR[2].Reset();
+ SRNE[0].Reset(); SRNE[1].Reset(); SRNE[2].Reset();
+ PRPR = Matrix<double>(3,3,0.0);
+ PRNE = Matrix<double>(3,3,0.0);
+ zRPR = Vector<double>(3,0.0);
+ zRNE = Vector<double>(3,0.0);
+ }
+
+ // loop over epochs in the file
+ first = true;
+ while(1) {
+ // read next obs
+ double RMSrof;
+ vector<RinexPrn> Satellites;
+ vector<double> Ranges;
+ Matrix<double> inform;
+ RinexObsData robsd,auxPosData;
+
+ try {
+ ifstr >> robsd;
+ }
+ catch(FFStreamError& e) {
+ C.oflog << "Reading obs caught FFStreamError exception : " << e << endl;
+ cerr << "Reading obs caught FFStreamError exception : " << e << endl;
+ return -2;
+ }
+ catch(Exception& e) {
+ C.oflog << "Reading obs caught GPSTk exception : " << e << endl;
+ cerr << "Reading obs caught GPSTk exception : " << e << endl;
+ return -2;
+ }
+ catch(exception& e) {
+ C.oflog << "Reading obs caught std exception : " << e.what() << endl;
+ cerr << "Reading obs caught std exception : " << e.what() << endl;
+ return -2;
+ }
+ catch(...) {
+ C.oflog << "Reading obs caught unknown exception : " << endl;
+ cerr << "Reading obs caught unknown exception : " << endl;
+ return -2;
+ }
+
+ // normal end-of-file
+ if(!ifstr.good() || ifstr.eof()) { iret=0; break; }
+
+ for(;;) {
+ iret = 0;
+
+ if(C.Debug) C.oflog << "process: " << robsd.time
+ << ", Flag " << robsd.epochFlag << ", clk " << robsd.clockOffset << endl;
+
+ // stay within time limits
+ if(robsd.time < C.Tbeg) { iret = 1; break; }
+ if(robsd.time > C.Tend) { iret = -1; break; }
+
+ // ignore comment blocks ...
+ if(robsd.epochFlag != 0 && robsd.epochFlag != 1) { iret = 1; break; }
+
+ // decimate data
+ // if Tbeg is still undefined, set it to begin of week
+ if(C.ith > 0.0) {
+ if(fabs(C.Tbeg-DayTime(DayTime::BEGINNING_OF_TIME)) < 1.e-8)
+ C.Tbeg = C.Tbeg.setGPSfullweek(robsd.time.GPSfullweek(),0.0);
+ double dt=fabs(robsd.time - C.Tbeg);
+ dt -= C.ith*long(0.5+dt/C.ith);
+ if(fabs(dt) > 0.25) { iret = 1; break; }
+ }
+
+ // save current time
+ CurrEpoch = robsd.time;
+ if(fabs(C.FirstEpoch-DayTime(DayTime::BEGINNING_OF_TIME)) < 1.e-8)
+ C.FirstEpoch=CurrEpoch;
+
+ // loop over satellites
+ Nsvs = 0;
+ Satellites.clear();
+ Ranges.clear();
+ RinexObsData::RinexPrnMap::const_iterator it;
+ for(it=robsd.obs.begin(); it != robsd.obs.end(); ++it) {
+ // loop over sat=it->first, ObsTypeMap=it->second
+ int in,n;
+ double P1=0,P2=0,L1,L2,D1,D2,S1,S2;
+ RinexPrn sat=it->first;
+ RinexObsData::RinexObsTypeMap otmap=it->second;
+
+ // pull out the data
+ RinexObsData::RinexObsTypeMap::const_iterator jt;
+ if(inP1>-1 && (jt=otmap.find(rhead.obsTypeList[inP1])) != otmap.end())
+ P1=jt->second.data;
+ if(inP2>-1 && (jt=otmap.find(rhead.obsTypeList[inP2])) != otmap.end())
+ P2=jt->second.data;
+ if(inL1>-1 && (jt=otmap.find(rhead.obsTypeList[inL1])) != otmap.end())
+ L1=jt->second.data;
+ if(inL2>-1 && (jt=otmap.find(rhead.obsTypeList[inL2])) != otmap.end())
+ L2=jt->second.data;
+ if(inD1>-1 && (jt=otmap.find(rhead.obsTypeList[inD1])) != otmap.end())
+ D1=jt->second.data;
+ if(inD2>-1 && (jt=otmap.find(rhead.obsTypeList[inD2])) != otmap.end())
+ D2=jt->second.data;
+ if(inS1>-1 && (jt=otmap.find(rhead.obsTypeList[inS1])) != otmap.end())
+ S1=jt->second.data;
+ if(inS2>-1 && (jt=otmap.find(rhead.obsTypeList[inS2])) != otmap.end())
+ S2=jt->second.data;
+
+ // is the satellite excluded?
+ for(i=0; i<C.ExSV.size(); i++)
+ if(C.ExSV[i]==sat) continue;
+
+ // NB 2 is not yet implemented
+ if(C.Freq != 2 && P1<=0) continue;
+ if(C.Freq != 1 && P2<=0) continue;
+
+ // if position known and elevation limit given, apply elevation mask
+ if(C.knownpos.getCoordinateSystem() != Position::Unknown
+ && C.elevLimit > 0.0) {
+ bool ok=true;
+ CorrectedEphemerisRange CER;
+ try {
+ //double ER =
+ CER.ComputeAtReceiveTime(CurrEpoch, C.knownpos, sat.prn, *pEph);
+ if(CER.elevation < C.elevLimit) ok=false;
+ if(C.Debug) C.oflog << "Ephemeris range is "
+ << setprecision(4) << CER.rawrange << endl;
+ }
+ catch(EphemerisStore::NoEphemerisFound& nef) {
+ // do not exclude the sat here; PRSolution will...
+ if(C.Debug)
+ C.oflog << "CER did not find ephemeris for " << sat << endl;
+ }
+
+ if(!ok) continue;
+ }
+
+ // keep this satellite
+ Satellites.push_back(sat);
+ Ranges.push_back(C.Freq == 3 ? if1r*P1+if2r*P2 :
+ (C.Freq == 2 ? P2 : P1));
+ Nsvs++;
+
+ } // end loop over sats
+
+ if(Nsvs <= 4) {
+ if(C.Debug) C.oflog << "Too few satellites" << endl;
+ iret = 1;
+ break;
+ }
+
+ iret = SolutionAlgorithm(Satellites, Ranges, RMSrof);
+ if(C.Debug) C.oflog << "SolutionAlgorithm returns " << iret << endl;
+ if(iret) break;
+
+ // update LastEpoch and estimate of C.DT
+ if(C.LastEpoch > DayTime(DayTime::BEGINNING_OF_TIME)) {
+ dt = CurrEpoch-C.LastEpoch;
+ for(i=0; i<9; i++) {
+ if(C.ndt[i]<=0) { C.estdt[i]=dt; C.ndt[i]=1; break; }
+ if(fabs(dt-C.estdt[i]) < 0.0001) { C.ndt[i]++; break; }
+ if(i == 8) {
+ int k=0,nl=C.ndt[k];
+ for(j=1; j<9; j++) if(C.ndt[j] <= nl) { k=j; nl=C.ndt[j]; }
+ C.ndt[k]=1; C.estdt[k]=dt;
+ }
+ }
+ }
+ C.LastEpoch = CurrEpoch;
+
+ break;
+ } // end for(;;)
+
+ if(C.Debug) C.oflog << "processing returned " << iret << endl;
+ if(iret == -1) { iret=0; break; } // end of file
+ if(iret == 1 || iret == -4) continue; // ignore this epoch
+
+ // accumulate simple statistics, Autonomous and RAIM
+ if(C.APSout) {
+ SA[0].Add(Solution(0)); SA[1].Add(Solution(1)); SA[2].Add(Solution(2));
+ SSA[0].Add(Solution(0)); SSA[1].Add(Solution(1)); SSA[2].Add(Solution(2));
+ }
+ SR[0].Add(prsol.Solution(0));
+ SR[1].Add(prsol.Solution(1));
+ SR[2].Add(prsol.Solution(2));
+ SSR[0].Add(prsol.Solution(0));
+ SSR[1].Add(prsol.Solution(1));
+ SSR[2].Add(prsol.Solution(2));
+
+ // accumulate weighted statistics, Auto and RAIM
+ if(C.APSout) {
+ inform = inverseSVD(Matrix<double>(Covariance,0,0,3,3));
+ PA += inform;
+ PPA += inform;
+ zA += inform * Vector<double>(Solution,0,3);
+ zzA += inform * Vector<double>(Solution,0,3);
+ }
+ inform = inverseSVD(Matrix<double>(prsol.Covariance,0,0,3,3));
+ PR += inform;
+ PPR += inform;
+ zR += inform * Vector<double>(prsol.Solution,0,3);
+ zzR += inform * Vector<double>(prsol.Solution,0,3);
+
+ if(!writeout) continue;
+
+ // output to RINEX
+ if(first) { // edit the output Rinex header
+ rheadout = rhead;
+ rheadout.date = PrgmEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S");
+ rheadout.fileProgram = PrgmName;
+ if(!C.HDRunby.empty()) rheadout.fileAgency = C.HDRunby;
+ if(!C.HDObs.empty()) rheadout.observer = C.HDObs;
+ if(!C.HDAgency.empty()) rheadout.agency = C.HDAgency;
+ if(!C.HDMarker.empty()) rheadout.markerName = C.HDMarker;
+ if(!C.HDNumber.empty()) {
+ rheadout.markerNumber = C.HDNumber;
+ rheadout.valid |= RinexObsHeader::markerNumberValid;
+ }
+ rheadout.version = 2.1; rheadout.valid |= RinexObsHeader::versionValid;
+ rheadout.firstObs = C.FirstEpoch;
+ rheadout.valid |= RinexObsHeader::firstTimeValid;
+ //rheadout.interval = C.DT;
+ //rheadout.valid |= RinexObsHeader::intervalValid;
+ //rheadout.lastObs = C.LastEpoch;
+ //rheadout.valid |= RinexObsHeader::lastTimeValid;
+ // invalidate the table
+ if(rheadout.valid & RinexObsHeader::numSatsValid)
+ rheadout.valid ^= RinexObsHeader::numSatsValid;
+ if(rheadout.valid & RinexObsHeader::prnObsValid)
+ rheadout.valid ^= RinexObsHeader::prnObsValid;
+
+ ofstr << rheadout;
+ first=false;
+ }
+ if(iret > 2) { // output position first
+ auxPosData.time = robsd.time;
+ auxPosData.epochFlag = 4;
+ auxPosData.numSvs = 2;
+ auxPosData.auxHeader.clear();
+ ostringstream stst1,stst2;
+ stst1 << "XYZT";
+ stst1 << fixed << " " << setw(13) << setprecision(3) << prsol.Solution(0);
+ stst1 << fixed << " " << setw(13) << setprecision(3) << prsol.Solution(1);
+ stst1 << fixed << " " << setw(13) << setprecision(3) << prsol.Solution(2);
+ stst1 << fixed << " " << setw(13) << setprecision(3) << prsol.Solution(3);
+ auxPosData.auxHeader.commentList.push_back(stst1.str());
+ double PDOP=RSS(prsol.Covariance(0,0),
+ prsol.Covariance(1,1),
+ prsol.Covariance(2,2));
+ stst2 << "DIAG";
+ stst2 << " " << setw(2) << Nsvs
+ << " " << fixed << setw(5) << setprecision(2) << PDOP
+ << " " << fixed << setw(5) << setprecision(2)
+ << RSS(PDOP,Covariance(3,3))
+ << " " << fixed << setw(9) << setprecision(3) << RMSrof;
+ stst2 << " (N,P-,G-DOP,RMS)";
+ auxPosData.auxHeader.commentList.push_back(stst2.str());
+ auxPosData.auxHeader.valid |= RinexObsHeader::commentValid;
+ ofstr << auxPosData;
+ }
+ ofstr << robsd; // output data to RINEX file
+
+ } // end while loop over epochs
+
+ if(C.APSout) PrintStats(SA,PA,zA,"Autonomous solution for file " + filename);
+ PrintStats(SR,PR,zR,"RAIM solution for file " + filename);
+ if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+ if(C.APSout) {
+ PrintStats(SAPR,PAPR,zAPR,
+ "Autonomous solution residuals for file " + filename);
+ PrintStats(SANE,PANE,zANE,
+ "Autonomous solution residuals (NEU) for file " + filename,'N','E','U');
+ }
+ PrintStats(SRPR,PRPR,zRPR,"RAIM solution residuals for file " + filename);
+ PrintStats(SRNE,PRNE,zRNE,
+ "RAIM solution residuals (NEU) for file " + filename,'N','E','U');
+ }
+
+ ifstr.clear();
+ ifstr.close();
+ ofstr.close();
+
+ return iret;
+}
+catch(gpstk::Exception& e) {
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "PRSolve:ReadFile caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok,
+// <-1 fatal error: -4 no ephemeris
+// -1 end of file,
+// 1 skip this epoch,
+// 2 output to Rinex,
+// 3 output position also
+int SolutionAlgorithm(vector<RinexPrn>& Sats,
+ vector<double>& PRanges,
+ double& RMSresid)
+{
+try {
+ int iret,i;
+ Matrix<double> inform;
+
+ // fail if not enough data
+ if(Nsvs < 4) return 1;
+
+ // compute a position solution with this data
+ if(C.Debug) {
+ C.oflog << "Satellites and Ranges before Prepare:\n";
+ for(i=0; i<PRanges.size(); i++)
+ C.oflog << " " << setw(2) << Sats[i] << fixed
+ << " " << setw(13) << setprecision(3) << PRanges[i] << endl;
+ }
+
+ int niter=C.nIter;
+ double conv=C.convLimit;
+ vector<bool> UseSats(Sats.size(),true);
+ Vector<double> Residual,Slope;
+
+ // configuration
+ if(C.Verbose) {
+ prsol.pDebugStream = &C.oflog;
+ prsol.Debug = true;
+ }
+ if(C.rmsLimit > 0.0)
+ prsol.RMSLimit = C.rmsLimit;
+ if(C.slopeLimit > 0.0)
+ prsol.SlopeLimit = C.slopeLimit;
+ prsol.Algebraic = C.algebra;
+ prsol.ResidualCriterion = C.residCrit;
+ prsol.ReturnAtOnce = C.returnatonce;
+ if(C.maxReject > 0)
+ prsol.NSatsReject = C.maxReject;
+ if(C.nIter > 0)
+ prsol.MaxNIterations = C.nIter;
+ else
+ niter = prsol.MaxNIterations;
+ if(C.convLimit > 0.0)
+ prsol.ConvergenceLimit = C.convLimit;
+ else
+ conv = prsol.ConvergenceLimit;
+ //C.oflog << "NSatsReject is " << prsol.NSatsReject << endl;
+
+ // compute using AutonomousSolution - no RAIM algorithm
+ if(C.APSout) {
+ iret = -4;
+ Matrix<double> SVP;
+ iret = PRSolution::PrepareAutonomousSolution(CurrEpoch,Sats,PRanges,*pEph,SVP);
+ if(iret == -4) {
+ C.oflog << "PrepareAutonomousSolution failed to find ANY ephemeris at epoch "
+ << CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%.3f") << endl;
+ return iret;
+ }
+
+ if(C.Debug) {
+ C.oflog << "Satellites after Prepare(" << iret << "):";
+ for(i=0; i<Sats.size(); i++)
+ C.oflog << " " << setw(2) << Sats[i].prn; C.oflog << endl;
+ C.oflog << "Matrix SVP(" << SVP.rows() << "," << SVP.cols() << "):\n"
+ << fixed << setw(13) << setprecision(3) << SVP << endl;
+ }
+
+ for(i=0; i<Sats.size(); i++) UseSats[i] = (Sats[i].prn > 0 ? true : false);
+
+ iret = PRSolution::AutonomousPRSolution(CurrEpoch, UseSats, SVP, C.pTropModel,
+ C.algebra, niter, conv, Solution, Covariance, Residual, Slope,
+ (C.Verbose ? &C.oflog : NULL));
+
+ C.oflog << "APS " << setw(2) << iret
+ << " " << CurrEpoch.printf(C.timeFormat)
+ << " " << setw(2) << Nsvs;
+ if(iret == 0) C.oflog << fixed
+ << " " << setw(16) << setprecision(6) << Solution(0)
+ << " " << setw(16) << setprecision(6) << Solution(1)
+ << " " << setw(16) << setprecision(6) << Solution(2)
+ << " " << setw(14) << setprecision(6) << Solution(3)
+ << " " << setw(12) << setprecision(6) << RMS(Residual)
+ << " " << fixed << setw(5) << setprecision(1) << max(Slope);
+ C.oflog << " " << niter
+ << " " << scientific << setw(8) << setprecision(2) << conv;
+ for(i=0; i<Sats.size(); i++) C.oflog << " " << setw(3) << Sats[i].prn;
+ C.oflog << endl;
+
+ // compute residuals using known position, and output
+ if(iret==0 && C.knownpos.getCoordinateSystem() != Position::Unknown) {
+ Matrix<double> Cov;
+ Vector<double> V(3);
+
+ // compute residuals
+ Position pos(Solution(0), Solution(1), Solution(2));
+ Position res=pos-C.knownpos;
+ Cov = Matrix<double>(Covariance,0,0,3,3);
+ V(0) = res.X(); V(1) = res.Y(); V(2) = res.Z();
+
+ C.oflog << "APR " << setw(2) << iret
+ << " " << CurrEpoch.printf(C.timeFormat)
+ << " " << setw(2) << Nsvs << fixed
+ << " " << setw(16) << setprecision(6) << V(0)
+ << " " << setw(16) << setprecision(6) << V(1)
+ << " " << setw(16) << setprecision(6) << V(2)
+ << " " << setw(14) << setprecision(6) << Solution(3)
+ << " " << setw(12) << setprecision(6) << RMS(Residual)
+ << " " << fixed << setw(5) << setprecision(1) << max(Slope)
+ << " " << niter
+ << " " << scientific << setw(8) << setprecision(2) << conv;
+ for(i=0; i<Sats.size(); i++) C.oflog << " " << setw(3) << Sats[i].prn;
+ C.oflog << endl;
+
+ // accumulate statistis
+ SAPR[0].Add(V(0)); SAPR[1].Add(V(1)); SAPR[2].Add(V(2));
+ SSAPR[0].Add(V(0)); SSAPR[1].Add(V(1)); SSAPR[2].Add(V(2));
+ inform = inverseSVD(Cov);
+ PAPR += inform;
+ PPAPR += inform;
+ zAPR += inform * V;
+ zzAPR += inform * V;
+
+ // convert to NEU
+ V = C.Rot * V;
+ Cov = C.Rot * Cov * transpose(C.Rot);
+
+ C.oflog << "ANE " << setw(2) << iret
+ << " " << CurrEpoch.printf(C.timeFormat)
+ << " " << setw(2) << Nsvs << fixed
+ << " " << setw(16) << setprecision(6) << V(0)
+ << " " << setw(16) << setprecision(6) << V(1)
+ << " " << setw(16) << setprecision(6) << V(2)
+ << " " << setw(14) << setprecision(6) << Solution(3)
+ << " " << setw(12) << setprecision(6) << RMS(Residual)
+ << " " << fixed << setw(5) << setprecision(1) << max(Slope)
+ << " " << niter
+ << " " << scientific << setw(8) << setprecision(2) << conv;
+ for(i=0; i<Sats.size(); i++) C.oflog << " " << setw(3) << Sats[i].prn;
+ C.oflog << endl;
+
+ // accumulate statistis
+ SANE[0].Add(V(0)); SANE[1].Add(V(1)); SANE[2].Add(V(2));
+ SSANE[0].Add(V(0)); SSANE[1].Add(V(1)); SSANE[2].Add(V(2));
+ inform = inverseSVD(Cov);
+ PANE += inform;
+ PPANE += inform;
+ zANE += inform * V;
+ zzANE += inform * V;
+
+ } // end output residuals
+
+ } // end output APS
+
+ // --------------------------------------------------------------
+ // now compute again, using RAIM
+
+ iret = -4;
+ iret = prsol.RAIMCompute(CurrEpoch, Sats, PRanges, *pEph, C.pTropModel);
+ if(iret == -4) {
+ C.oflog << "PRS Sol. failed to find ephemeris\n" << endl;
+ return iret;
+ }
+ for(Nsvs=0,i=0; i<Sats.size(); i++)
+ if(Sats[i].prn > 0)
+ Nsvs++;
+ RMSresid = prsol.RMSResidual;
+
+ C.oflog << "RPF " << setw(2) << Sats.size()-Nsvs
+ << " " << CurrEpoch.printf(C.timeFormat)
+ << " " << setw(2) << Nsvs << fixed
+ << " " << setw(16) << setprecision(6) << prsol.Solution(0)
+ << " " << setw(16) << setprecision(6) << prsol.Solution(1)
+ << " " << setw(16) << setprecision(6) << prsol.Solution(2)
+ << " " << setw(14) << setprecision(6) << prsol.Solution(3)
+ << " " << setw(12) << setprecision(6) << prsol.RMSResidual
+ << " " << fixed << setw(5) << setprecision(1) << prsol.MaxSlope
+ << " " << prsol.NIterations
+ << " " << scientific << setw(8) << setprecision(2) << prsol.Convergence;
+ for(i=0; i<Sats.size(); i++) C.oflog << " " << setw(3) << Sats[i].prn;
+ C.oflog << " (" << iret << ")" << (prsol.isValid() ? " V" : " NV")
+ << endl;
+ //C.oflog << "prsol Sol. returned " << iret << " at " << CurrEpoch << endl;
+
+ // compute residuals using known position, and output
+ if(C.knownpos.getCoordinateSystem() != Position::Unknown && iret >= 0) {
+ Matrix<double> Cov;
+ Vector<double> V(3);
+
+ // compute residuals
+ Position pos(prsol.Solution(0), prsol.Solution(1), prsol.Solution(2));
+ Position res=pos-C.knownpos;
+ Cov = Matrix<double>(prsol.Covariance,0,0,3,3);
+ V(0) = res.X(); V(1) = res.Y(); V(2) = res.Z();
+
+ C.oflog << "RPR " << setw(2) << Sats.size()-Nsvs
+ << " " << CurrEpoch.printf(C.timeFormat)
+ << " " << setw(2) << Nsvs << fixed
+ << " " << setw(16) << setprecision(6) << V(0)
+ << " " << setw(16) << setprecision(6) << V(1)
+ << " " << setw(16) << setprecision(6) << V(2)
+ << " " << setw(14) << setprecision(6) << prsol.Solution(3)
+ << " " << setw(12) << setprecision(6) << prsol.RMSResidual
+ << " " << fixed << setw(5) << setprecision(1) << prsol.MaxSlope
+ << " " << prsol.NIterations
+ << " " << scientific << setw(8) << setprecision(2) << prsol.Convergence;
+ for(i=0; i<Sats.size(); i++) C.oflog << " " << setw(3) << Sats[i].prn;
+ C.oflog << " (" << iret << ")" << (prsol.isValid() ? " V" : " NV")
+ << endl;
+
+ // accumulate statistics
+ SRPR[0].Add(V(0)); SRPR[1].Add(V(1)); SRPR[2].Add(V(2));
+ SSRPR[0].Add(V(0)); SSRPR[1].Add(V(1)); SSRPR[2].Add(V(2));
+ inform = inverseSVD(Cov);
+ PRPR += inform;
+ PPRPR += inform;
+ zRPR += inform * V;
+ zzRPR += inform * V;
+
+ // convert to NEU
+ V = C.Rot * V;
+ Cov = C.Rot * Cov * transpose(C.Rot);
+
+ C.oflog << "RNE " << setw(2) << Sats.size()-Nsvs
+ << " " << CurrEpoch.printf(C.timeFormat)
+ << " " << setw(2) << Nsvs << fixed
+ << " " << setw(16) << setprecision(6) << V(0)
+ << " " << setw(16) << setprecision(6) << V(1)
+ << " " << setw(16) << setprecision(6) << V(2)
+ << " " << setw(14) << setprecision(6) << prsol.Solution(3)
+ << " " << setw(12) << setprecision(6) << prsol.RMSResidual
+ << " " << fixed << setw(5) << setprecision(1) << prsol.MaxSlope
+ << " " << prsol.NIterations
+ << " " << scientific << setw(8) << setprecision(2) << prsol.Convergence;
+ for(i=0; i<Sats.size(); i++) C.oflog << " " << setw(3) << Sats[i].prn;
+ C.oflog << " (" << iret << ")" << (prsol.isValid() ? " V" : " NV")
+ << endl;
+
+ // accumulate statistics
+ if(iret == 0) {
+ SRNE[0].Add(V(0)); SRNE[1].Add(V(1)); SRNE[2].Add(V(2));
+ SSRNE[0].Add(V(0)); SSRNE[1].Add(V(1)); SSRNE[2].Add(V(2));
+ inform = inverseSVD(Cov);
+ PRNE += inform;
+ PPRNE += inform;
+ zRNE += inform * V;
+ zzRNE += inform * V;
+ }
+ }
+ //C.oflog << endl;
+
+ //
+ if(prsol.isValid() && !C.OutRinexObs.empty()) return 3;
+ if(!prsol.isValid()) return 1;
+
+ if(!C.OutRinexObs.empty()) return 2;
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "PRSolve:SolutionAlgorithm caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+int AfterReadingFiles(void)
+{
+try {
+ if(C.APSout) {
+ PrintStats(SSA,PPA,zzA,"Autonomous solution for all files");
+ if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+ PrintStats(SSAPR,PPAPR,zzAPR,"Autonomous position residuals for all files");
+ PrintStats(SSANE,PPANE,zzANE,
+ "Autonomous position residuals (NEU) for all files",'N','E','U');
+ }
+ }
+
+ PrintStats(SSR,PPR,zzR,"RAIM solution for all files");
+ if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+ PrintStats(SSRPR,PPRPR,zzRPR,"RAIM position residuals for all files");
+ PrintStats(SSRNE,PPRNE,zzRNE,"RAIM position residuals (NEU) for all files",
+ 'N','E','U');
+ }
+
+ cout << "Weighted average RAIM solution for all files" << endl << fixed;
+ if(SSR[0].N() > 0) {
+ Matrix<double> Cov=inverse(PPR);
+ Vector<double> Sol=Cov * zzR;
+ cout << setw(16) << setprecision(6) << Sol << endl;
+ cout << "Covariance of RAIM solution for all files" << endl;
+ cout << setw(16) << setprecision(6) << Cov << endl;
+ }
+ else cout << " No data!" << endl;
+
+ // compute data interval for this file
+ int i,j;
+ double dt;
+ for(j=0,i=1; i<9; i++) { if(C.ndt[i]>C.ndt[j]) j=i; }
+ //C.DT = C.estdt[j];
+ C.oflog << endl;
+ C.oflog << "Estimated data interval is " << C.estdt[j] << " seconds.\n";
+ C.oflog << "First epoch is "
+ << C.FirstEpoch.printf("%04Y/%02m/%02d %02H:%02M:%.3f = %04F %10.3g") << endl;
+ C.oflog << "Last epoch is "
+ << C.LastEpoch.printf("%04Y/%02m/%02d %02H:%02M:%.3f = %04F %10.3g") << endl;
+
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "PRSolve:AfterReadingFiles caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PrintStats(Stats<double> S[3], Matrix<double> &P, Vector<double> &z, string msg,
+ char c0, char c1, char c2)
+{
+ C.oflog << endl;
+ C.oflog << "Simple statistics on " << msg << endl << fixed;
+ C.oflog << c0 << " : " << setw(16) << setprecision(6) << S[0] << endl;
+ C.oflog << c1 << " : " << setw(16) << setprecision(6) << S[1] << endl;
+ C.oflog << c2 << " : " << setw(16) << setprecision(6) << S[2] << endl;
+
+ //C.oflog << endl;
+ C.oflog << "Weighted average " << msg << endl << fixed;
+ if(S[0].N() > 0) {
+ Matrix<double> Cov=inverse(P);
+ Vector<double> Sol=Cov * z;
+ C.oflog << setw(16) << setprecision(6) << Sol << " " << S[0].N() << endl;
+ C.oflog << "Covariance of " << msg << endl;
+ C.oflog << setw(16) << setprecision(6) << Cov << endl;
+ }
+ else C.oflog << " No data!" << endl;
+}
+
+//------------------------------------------------------------------------------------
+int GetCommandLine(int argc, char **argv)
+{
+ bool help=false;
+ int i,j;
+try {
+ // defaults
+ C.Debug = C.Verbose = false;
+ C.ith = 0.0;
+ C.Tbeg = C.FirstEpoch = DayTime(DayTime::BEGINNING_OF_TIME);
+ C.Tend = DayTime(DayTime::END_OF_TIME);
+ //C.DT = 0;
+
+ C.rmsLimit = -1.0; // PRSolution() has a default
+ C.slopeLimit = -1.0; // PRSolution() has a default
+ C.algebra = false;
+ C.residCrit = true;
+ C.returnatonce = false;
+ C.maxReject = -1; // PRSolution() has a default
+ C.nIter = -1; // PRSolution() has a default
+ C.convLimit = -1.0; // PRSolution() has a default
+ C.elevLimit = 0.0;
+
+ C.LogFile = string("prs.log");
+
+ C.APSout = false;
+ C.UseCA = false;
+ C.DataInt = -1.0;
+ C.TropType = string("BL");
+ C.T = 20.0;
+ C.Pr = 980.0;
+ C.RH = 50.0;
+
+ C.HDPrgm = PrgmName + string(" v.") + PrgmVers.substr(0,4);
+ C.HDRunby = string("ARL:UT/SGL/GPSTK");
+
+ C.timeFormat = string("%4F %10.3g");
+
+ for(i=0; i<9; i++) C.ndt[i]=-1;
+
+ C.ObsDirectory = string("");
+ C.NavDirectory = string("");
+
+ // -------------------------------------------------
+ // -------------------------------------------------
+ // required options
+ RequiredOption dashi(CommandOption::hasArgument, CommandOption::stdType,
+ 'o',"obs"," [-o|--obs]<file> Input Rinex observation file(s)");
+
+ RequiredOption dashn(CommandOption::hasArgument, CommandOption::stdType,'n',"nav",
+ " [-n|--nav]<file> Input navigation (ephemeris) file(s) (Rinex or SP3)");
+
+ // optional options
+ // this only so it will show up in help page...
+ CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+ 'f',"","# Input:\n -f<file> File containing more options");
+
+ CommandOption dashdo(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"obsdir"," --obsdir <dir> Directory of input observation file(s)");
+ dashdo.setMaxCount(1);
+
+ CommandOption dashdn(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"navdir"," --navdir <dir> Directory of input navigation file(s)");
+ dashdn.setMaxCount(1);
+
+ CommandOption dashith(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"decimate"," --decimate <dt> Decimate data to time interval dt");
+ dashith.setMaxCount(1);
+
+ // time
+ CommandOptionWithTimeArg dasheb(0,"EpochBeg","%Y,%m,%d,%H,%M,%f",
+ " --EpochBeg <arg> Start time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+ CommandOptionWithTimeArg dashgb(0,"GPSBeg","%F,%g",
+ " --GPSBeg <arg> Start time, arg is of the form GPSweek,GPSsow");
+
+ CommandOptionWithTimeArg dashee(0,"EpochEnd","%Y,%m,%d,%H,%M,%f",
+ " --EpochEnd <arg> End time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+ CommandOptionWithTimeArg dashge(0,"GPSEnd","%F,%g",
+ " --GPSEnd <arg> End time, arg is of the form GPSweek,GPSsow");
+
+ // allow ONLY one start time (use startmutex(true) if one is required)
+ CommandOptionMutex startmutex(false);
+ startmutex.addOption(&dasheb);
+ startmutex.addOption(&dashgb);
+ CommandOptionMutex stopmutex(false);
+ stopmutex.addOption(&dashee);
+ stopmutex.addOption(&dashge);
+
+ CommandOptionNoArg dashCA(0,"CA",
+ " --CA Use C/A code pseudorange if P1 is not available");
+ dashCA.setMaxCount(1);
+
+ //CommandOption dashDT(CommandOption::hasArgument, CommandOption::stdType,
+ //0,"DT"," --DT <dt> Time interval (sec) of data points");
+ //dashDT.setMaxCount(1);
+
+ // --------------------------------------------------------------------------------
+
+ CommandOption dashrms(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"RMSlimit", "# Configuration:\n --RMSlimit <rms> "
+ "Upper limit on RMS post-fit residuals (m) for a good solution");
+ dashrms.setMaxCount(1);
+
+ CommandOption dashslop(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"SlopeLimit",
+ " --SlopeLimit <s> Upper limit on RAIM 'slope' for a good solution");
+ dashslop.setMaxCount(1);
+
+ CommandOptionNoArg dashAlge(0,"Algebra",
+ " --Algebra Use algebraic algorithm (otherwise linearized LS)");
+ dashAlge.setMaxCount(1);
+
+ CommandOptionNoArg dashrcrt(0,"DistanceCriterion", " --DistanceCriterion "
+ "Use distance from a priori as convergence criterion (else RMS)");
+ dashrcrt.setMaxCount(1);
+
+ CommandOptionNoArg dashrone(0,"ReturnAtOnce"," --ReturnAtOnce "
+ "Return as soon as a good solution is found");
+ dashrone.setMaxCount(1);
+
+ CommandOption dashnrej(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"NReject", " --NReject <n> Maximum number of satellites to reject");
+ dashnrej.setMaxCount(1);
+
+ CommandOption dashNit(CommandOption::hasArgument, CommandOption::stdType,0,"NIter",
+ " --NIter <n> Maximum iteration count (linearized LS algorithm)");
+ dashNit.setMaxCount(1);
+
+ CommandOption dashConv(CommandOption::hasArgument, CommandOption::stdType,0,"Conv",
+ " --Conv <c> Minimum convergence criterion (m) (LLS algorithm)");
+ dashConv.setMaxCount(1);
+
+ CommandOption dashElev(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"MinElev",
+ " --MinElev <el> Minimum elevation angle (deg) (only if --PosXYZ)");
+ dashElev.setMaxCount(1);
+
+ CommandOption dashXprn(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"XPRN"," --XPRN <prn> Exclude this satellite.");
+
+ CommandOption dashTrop(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Trop"," --Trop <model,T,P,H> Trop model (one of BL,SA,NB,GG,GGH (cf.GPSTk)),"
+ "\n with OPTIONAL weather Temp(C),Press(mb),RH(%)");
+ dashTrop.setMaxCount(1);
+
+ // --------------------------------------------------------------------------------
+
+ CommandOption dashLog(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Log","# Output:\n --Log <file> Output log file name (prs.log).");
+ dashLog.setMaxCount(1);
+
+ CommandOption dashXYZ(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"PosXYZ", " --PosXYZ <X,Y,Z> "
+ "Known position (ECEF,m), used to compute output residuals.");
+ dashXYZ.setMaxCount(1);
+
+ CommandOptionNoArg dashAPSout(0,"APSout",
+ " --APSout Output autonomous pseudorange solution (APS - no RAIM)");
+ dashAPSout.setMaxCount(1);
+
+ CommandOption dashForm(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"TimeFormat", " --TimeFormat <fmt> "
+ "Output time format (ala DayTime) (default: " + C.timeFormat + ")");
+ dashForm.setMaxCount(1);
+
+ CommandOption dashRfile(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"RinexFile","# Rinex output:\n"
+ " --RinexFile <file> Output Rinex obs file name");
+ dashRfile.setMaxCount(1);
+
+ CommandOption dashRrun(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"RunBy"," --RunBy <string> Output Rinex header 'RUN BY' string");
+ dashRrun.setMaxCount(1);
+
+ CommandOption dashRobs(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Observer"," --Observer <string> Output Rinex header 'OBSERVER' string");
+ dashRobs.setMaxCount(1);
+
+ CommandOption dashRag(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Agency"," --Agency <string> Output Rinex header 'AGENCY' string");
+ dashRag.setMaxCount(1);
+
+ CommandOption dashRmark(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Marker"," --Marker <string> Output Rinex header 'MARKER' string");
+ dashRmark.setMaxCount(1);
+
+ CommandOption dashRnumb(CommandOption::hasArgument, CommandOption::stdType,
+ 0,"Number"," --Number <string> Output Rinex header 'NUMBER' string");
+ dashRnumb.setMaxCount(1);
+
+ CommandOptionNoArg dashVerb(0,"verbose",
+ "# Help:\n --verbose Print extended output");
+ dashVerb.setMaxCount(1);
+
+ CommandOptionNoArg dashDebug(0,"debug",
+ " --debug Print very extended output.");
+ dashDebug.setMaxCount(1);
+
+ CommandOptionNoArg dashh('h', "help",
+ " [-h|--help] Print syntax and quit.");
+
+ // ... other options
+ CommandOptionRest Rest("");
+
+ CommandOptionParser Par(
+ "Prgm PRSolve reads one or more Rinex observation files, plus one or more\n"
+ " navigation (ephemeris) files, and computes an autonomous pseudorange\n"
+ " position solution, using a RAIM-like algorithm to eliminate outliers.\n"
+ " Output is to the log file, and also optionally to a Rinex obs file with\n"
+ " the position solutions in auxiliary header blocks.\n");
+
+ // -------------------------------------------------
+ // allow user to put all options in a file
+ // could also scan for debug here
+ vector<string> Args;
+ for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args,C.Verbose);
+
+ argc = Args.size();
+ if(argc==0) Args.push_back(string("-h"));
+//cout << "List after PreProcessArgs\n";
+//for(i=0; i<argc; i++) cout << i << " " << Args[i] << endl;
+
+ // pass the rest
+ argc = Args.size()+1;
+ char **CArgs=new char*[argc];
+ if(!CArgs) { cout << "Failed to allocate CArgs\n"; return -1; }
+ CArgs[0] = argv[0];
+ for(j=1; j<argc; j++) {
+ CArgs[j] = new char[Args[j-1].size()+1];
+ if(!CArgs[j]) { cout << "Failed to allocate CArgs[j]\n"; return -1; }
+ strcpy(CArgs[j],Args[j-1].c_str());
+ }
+//cout << "List passed to parser\n";
+//for(i=0; i<argc; i++) cout << i << " " << CArgs[i] << endl;
+ Par.parseOptions(argc, CArgs);
+
+ // -------------------------------------------------
+ if(dashh.getCount() > 0) {
+ Par.displayUsage(cout,false);
+ help = true;
+ }
+
+ if (Par.hasErrors())
+ {
+ cout << "\nErrors found in command line input:\n";
+ Par.dumpErrors(cout);
+ cout << "...end of Errors\n\n";
+ help = true;
+ }
+
+ // -------------------------------------------------
+ // get values found on command line
+ vector<string> values;
+ // f never appears because we intercept it above
+ //if(dashf.getCount()) { cout << "Option f "; dashf.dumpValue(cout); }
+ // do help first
+ if(dashh.getCount()) help=true;
+ if(dashDebug.getCount()) C.Debug=C.Verbose=true;
+ if(dashVerb.getCount()) C.Verbose=true;
+
+ if(dashdo.getCount()) {
+ values = dashdo.getValue();
+ C.ObsDirectory = values[0];
+ if(help) cout << "Input obs directory is " << C.ObsDirectory << endl;
+ }
+ if(dashdn.getCount()) {
+ values = dashdn.getValue();
+ C.NavDirectory = values[0];
+ if(help) cout << "Input nav directory is " << C.NavDirectory << endl;
+ }
+ if(dashi.getCount()) {
+ values = dashi.getValue();
+ if(help) cout << "Input Rinex obs files are:\n";
+ for(i=0; i<values.size(); i++) {
+ if(!C.ObsDirectory.empty())
+ C.InputObsName.push_back(C.ObsDirectory + string("/") + values[i]);
+ else
+ C.InputObsName.push_back(values[i]);
+ if(help) cout << " " << C.ObsDirectory + string("/") + values[i] << endl;
+ }
+ }
+ if(dashn.getCount()) {
+ values = dashn.getValue();
+ if(help) cout << "Input Rinex nav files are:\n";
+ for(i=0; i<values.size(); i++) {
+ if(!C.NavDirectory.empty())
+ C.InputNavName.push_back(C.NavDirectory + string("/") + values[i]);
+ else
+ C.InputNavName.push_back(values[i]);
+ if(help) cout << " " << C.NavDirectory + string("/") + values[i] << endl;
+ }
+ }
+
+ if(dashith.getCount()) {
+ values = dashith.getValue();
+ C.ith = StringUtils::asDouble(values[0]);
+ if(help) cout << "Ithing values is " << C.ith << endl;
+ }
+ if(dasheb.getCount()) {
+ values = dasheb.getValue();
+ C.Tbeg.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+ if(help) cout << "Begin time is "
+ << C.Tbeg.printf("%04Y/%02m/%02d %02H:%02M:%.3f") << endl;
+ }
+ if(dashgb.getCount()) {
+ values = dashgb.getValue();
+ C.Tbeg.setToString(values[0], "%F,%g");
+ if(help) cout << "Begin time is " << C.Tbeg.printf("%04F/%10.3g") << endl;
+ }
+ if(dashee.getCount()) {
+ values = dashee.getValue();
+ C.Tend.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+ if(help) cout << "End time is "
+ << C.Tend.printf("%04Y/%02m/%02d %02H:%02M:%.3f") << endl;
+ }
+ if(dashge.getCount()) {
+ values = dashge.getValue();
+ C.Tend.setToString(values[0], "%F,%g");
+ if(help) cout << "End time is " << C.Tend.printf("%04F/%10.3g") << endl;
+ }
+ if(dashCA.getCount()) {
+ C.UseCA = true;
+ if(help) cout << "'Use C/A' flag is set\n";
+ }
+ //if(dashDT.getCount()) {
+ //values = dashDT.getValue();
+ //C.DT = StringUtils::asDouble(values[0]);
+ //if(help) cout << "DT is set to " << C.DT << endl;
+ //}
+
+ if(dashrms.getCount()) {
+ values = dashrms.getValue();
+ C.rmsLimit = StringUtils::asDouble(values[0]);
+ if(help) cout << "RMS limit is set to " << C.rmsLimit << endl;
+ }
+ if(dashslop.getCount()) {
+ values = dashslop.getValue();
+ C.slopeLimit = StringUtils::asDouble(values[0]);
+ if(help) cout << "Slope limit is set to " << C.slopeLimit << endl;
+ }
+ if(dashAlge.getCount()) {
+ C.algebra = true;
+ if(help) cout << "'Algebraic' option is on\n";
+ }
+ if(dashrcrt.getCount()) {
+ C.residCrit = false;
+ if(help) cout << "'ResidualCriterion' option is false\n";
+ }
+ if(dashrone.getCount()) {
+ C.returnatonce = true;
+ if(help) cout << "'Return at once' option is true\n";
+ }
+ if(dashnrej.getCount()) {
+ values = dashnrej.getValue();
+ C.maxReject = StringUtils::asInt(values[0]);
+ if(help) cout << "Max N rejected satellites is set to " << C.maxReject << endl;
+ }
+ if(dashNit.getCount()) {
+ values = dashNit.getValue();
+ C.nIter = StringUtils::asInt(values[0]);
+ if(help) cout << "Max N Iterations is set to " << C.nIter << endl;
+ }
+ if(dashElev.getCount()) {
+ values = dashElev.getValue();
+ C.elevLimit = StringUtils::asDouble(values[0]);
+ if(help) cout << "Elevation limit is set to " << C.convLimit << " deg" << endl;
+ }
+ if(dashConv.getCount()) {
+ values = dashConv.getValue();
+ C.convLimit = StringUtils::asDouble(values[0]);
+ if(help) cout << "Convergence limit is set to " << C.convLimit << endl;
+ }
+
+ if(dashXYZ.getCount()) {
+ values = dashXYZ.getValue();
+ vector<string> field;
+ for(i=0; i<values.size(); i++) {
+ field.clear();
+ while(values[i].size() > 0)
+ field.push_back(StringUtils::stripFirstWord(values[i],','));
+ if(field.size() < 3) {
+ C.oflog << "Error: less than four fields in --PosXYZ input: "
+ << values[i] << endl;
+ cerr << "Error: less than four fields in --PosXYZ input: "
+ << values[i] << endl;
+ continue;
+ }
+ Position p(StringUtils::asDouble(field[0]),
+ StringUtils::asDouble(field[1]),
+ StringUtils::asDouble(field[2]));
+ C.knownpos = p;
+ if(help) cout << " Input: known XYZ position "
+ << field[0] << " " << field[1] << " " << field[2] << endl;
+ }
+ }
+ if(dashAPSout.getCount()) C.APSout=true;
+ if(dashForm.getCount()) {
+ values = dashForm.getValue();
+ C.timeFormat = values[0];
+ if(help) cout << " Input: time format " << C.timeFormat << endl;
+ }
+ if(dashXprn.getCount()) {
+ values = dashXprn.getValue();
+ for(i=0; i<values.size(); i++) {
+ RinexPrn p=StringUtils::asData<RinexPrn>(values[i]);
+ if(help) cout << "Exclude satellite " << p << endl;
+ C.ExSV.push_back(p);
+ }
+ }
+ if(dashTrop.getCount()) {
+ values = dashTrop.getValue();
+ vector<string> field;
+ while(values[0].size() > 0)
+ field.push_back(StringUtils::stripFirstWord(values[0],','));
+ if(field.size() != 1 && field.size() != 4) {
+ C.oflog << "Error: invalid fields after --Trop input: "
+ << values[0] << endl;
+ cerr << "Error: invalid fields after --Trop input: "
+ << values[0] << endl;
+ }
+ else {
+ field[0] = StringUtils::upperCase(field[0]);
+ C.TropType = field[0];
+ if(help) cout << " Input: trop model: " << C.TropType;
+ if(field.size() == 4) {
+ C.T = StringUtils::asDouble(field[1]);
+ C.Pr = StringUtils::asDouble(field[2]);
+ C.RH = StringUtils::asDouble(field[3]);
+ if(help) cout << " and weather (T,P,RH): "
+ << C.T << "," << C.Pr << "," << C.RH;
+ }
+ if(help) cout << endl;
+ }
+ }
+ if(dashLog.getCount()) {
+ values = dashLog.getValue();
+ C.LogFile = values[0];
+ if(help) cout << "Log file is " << C.LogFile << endl;
+ }
+ if(dashRfile.getCount()) {
+ values = dashRfile.getValue();
+ C.OutRinexObs = values[0];
+ if(help) cout << "Output Rinex file name is " << C.OutRinexObs << endl;
+ }
+ if(dashRrun.getCount()) {
+ values = dashRrun.getValue();
+ C.HDRunby = values[0];
+ if(help) cout << "Output Rinex 'RUN BY' is " << C.HDRunby << endl;
+ }
+ if(dashRobs.getCount()) {
+ values = dashRobs.getValue();
+ C.HDObs = values[0];
+ if(help) cout << "Output Rinex 'OBSERVER' is " << C.HDObs << endl;
+ }
+ if(dashRag.getCount()) {
+ values = dashRag.getValue();
+ C.HDAgency = values[0];
+ if(help) cout << "Output Rinex 'AGENCY' is " << C.HDAgency << endl;
+ }
+ if(dashRmark.getCount()) {
+ values = dashRmark.getValue();
+ C.HDMarker = values[0];
+ if(help) cout << "Output Rinex 'MARKER' is " << C.HDMarker << endl;
+ }
+ if(dashRnumb.getCount()) {
+ values = dashRnumb.getValue();
+ C.HDNumber = values[0];
+ if(help) cout << "Output Rinex 'NUMBER' is " << C.HDNumber << endl;
+ }
+
+ if(Rest.getCount()) {
+ if(help) cout << "Remaining options:" << endl;
+ values = Rest.getValue();
+ for (i=0; i<values.size(); i++) {
+ if(help) cout << values[i] << endl;
+ //C.InputObsName.push_back(values[i]);
+ }
+ }
+ //if(C.Verbose && help) {
+ // cout << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+ // for(unsigned j=0; j<Args.size(); j++) cout << Args[j] << endl;
+ //}
+
+ C.oflog.open(C.LogFile.c_str(),ios::out);
+ if(C.oflog.fail()) {
+ cout << "Failed to open log file " << C.LogFile << endl;
+ }
+ else {
+ cout << "Opened log file " << C.LogFile << endl;
+ C.oflog << Title;
+ }
+
+ // print config to log
+ C.oflog << "\nHere is the input configuration:\n";
+ C.oflog << " Input Rinex obs files are:\n";
+ for(i=0; i<C.InputObsName.size(); i++) {
+ C.oflog << " " << C.InputObsName[i] << endl;
+ }
+ C.oflog << " Input Obs directory is " << C.ObsDirectory << endl;
+ C.oflog << " Input Nav directory is " << C.NavDirectory << endl;
+ C.oflog << " Ithing time interval is " << C.ith << endl;
+ if(C.Tbeg > DayTime(DayTime::BEGINNING_OF_TIME)) C.oflog << " Begin time is "
+ << C.Tbeg.printf("%04Y/%02m/%02d %02H:%02M:%.3f")
+ << " = " << C.Tbeg.printf("%04F/%10.3g") << endl;
+ if(C.Tend < DayTime(DayTime::END_OF_TIME)) C.oflog << " End time is "
+ << C.Tend.printf("%04Y/%02m/%02d %02H:%02M:%.3f")
+ << " = " << C.Tend.printf("%04F/%10.3g") << endl;
+ if(C.UseCA) C.oflog << " 'Use C/A' flag is set\n";
+ //C.oflog << " DT is set to " << C.DT << endl;
+ if(C.ExSV.size()) {
+ C.oflog << " Exclude satellites";
+ for(i=0; i<C.ExSV.size(); i++) C.oflog << " " << C.ExSV[i];
+ C.oflog << endl;
+ }
+ C.oflog << " Trop model: " << C.TropType
+ << " and weather (T,P,RH): " << C.T << "," << C.Pr << "," << C.RH << endl;
+ C.oflog << " Log file is " << C.LogFile << endl;
+ if(C.APSout) C.oflog << " Output autonomous solution (no RAIM) - APS,etc.\n";
+ C.oflog << " Output format for time tags (cf. class DayTime) is "
+ << C.timeFormat << endl;
+ if(C.knownpos.getCoordinateSystem() != Position::Unknown)
+ C.oflog << " Output residuals: known position is\n " << C.knownpos.printf(
+ "ECEF(m) %.4x %.4y %.4z\n = %A deg N %L deg E %h m\n");
+ if(!C.OutRinexObs.empty()) C.oflog << " Output Rinex file name is "
+ << C.OutRinexObs << endl;
+ if(!C.HDRunby.empty()) C.oflog << " Output Rinex 'RUN BY' is "
+ << C.HDRunby << endl;
+ if(!C.HDObs.empty()) C.oflog << " Output Rinex 'OBSERVER' is "
+ << C.HDObs << endl;
+ if(!C.HDAgency.empty()) C.oflog << " Output Rinex 'AGENCY' is "
+ << C.HDAgency << endl;
+ if(!C.HDMarker.empty()) C.oflog << " Output Rinex 'MARKER' is "
+ << C.HDMarker << endl;
+ if(!C.HDNumber.empty()) C.oflog << " Output Rinex 'NUMBER' is "
+ << C.HDNumber << endl;
+ C.oflog << " ------ PRSolution configuration (-1 means use PRSolution default) :"
+ << endl;
+ C.oflog << " Solution limit parameters are "
+ << C.rmsLimit << " = RMS residuals (m) limit, and "
+ << C.slopeLimit << " = RAIM 'slope' limit" << endl;
+ C.oflog << " Algebraic algorithm is turned "
+ << (C.algebra ? "ON ":"OFF ") << endl;
+ C.oflog << " Residual criterion is '"
+ << (C.residCrit ? "RMS residuals" : "Distance from apriori") << "'" << endl;
+ C.oflog << " Return-at-once option is "
+ << (C.returnatonce ? "on" : "off") << endl;
+ C.oflog << " Maximum # of satellites to reject is " << C.maxReject << endl;
+ C.oflog << " Minimum elevation angle is " << C.elevLimit << " degrees." << endl;
+ C.oflog << " LLS convergence parameters are " << C.nIter << " iterations and "
+ << scientific << setprecision(3) << C.convLimit << " RSS convergence (m)"
+ << endl;
+ C.oflog << "End of input configuration summary" << endl;
+
+ if(help) return 1;
+ return 0;
+}
+catch(gpstk::Exception& e) {
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "PRSolve:GetCommandLine caught an unknown exception\n";
+}
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& ver)
+{
+try {
+ if(arg[0]=='-' && arg[1]=='f') {
+ string fname(arg);
+ fname.erase(0,2);
+ cout << "Found a file of options: " << fname << endl;
+ ifstream infile(fname.c_str());
+ if(!infile) {
+ cerr << "Error: could not open options file "
+ << fname << endl;
+ }
+ else {
+ char c;
+ string buffer,word;
+ while(1) {
+ getline(infile,buffer);
+ if(infile.eof() || !infile.good()) break;
+
+ while(1) {
+ word = StringUtils::firstWord(buffer);
+ if(word[0] == '#') { // skip to end of line
+ break;
+ }
+ else if(word[0] == '"') {
+ word = StringUtils::stripFirstWord(buffer,'"');
+ }
+ else {
+ word = StringUtils::stripFirstWord(buffer);
+ }
+ PreProcessArgs(word.c_str(),Args,ver); //Args.push_back(buffer);
+ if(buffer.empty()) break;
+ }
+ }
+ }
+ }
+ else if((arg[0]=='-' && arg[1]=='v') || string(arg)==string("--verbose")) {
+ ver = true;
+ cout << "Found the verbose switch" << endl;
+ }
+ else Args.push_back(arg);
+}
+catch(gpstk::Exception& e) {
+ GPSTK_RETHROW(e);
+}
+catch (...) {
+ cerr << "PRSolve:PreProcessArgs caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+bool isSP3File(const string& file)
+{
+ SP3Header header;
+ SP3Stream strm(file.c_str());
+ strm.exceptions(fstream::failbit);
+ try { strm >> header; } catch(gpstk::Exception& e) { return false; }
+ strm.close();
+ return true;
+}
+bool isRinexNavFile(const string& file)
+{
+ RinexNavHeader header;
+ RinexNavStream rnstream(file.c_str());
+ rnstream.exceptions(fstream::failbit);
+ try { rnstream >> header; } catch(gpstk::Exception& e) { return false; }
+ rnstream.close();
+ return true;
+}
+int FillEphemerisStore(const vector<string>& files, SP3EphemerisStore& PE,
+ BCEphemerisStore& BCE)
+{
+ try {
+ int nread=0;
+ RinexNavHeader rnh;
+ RinexNavData rne;
+ for(int i=0; i<files.size(); i++) {
+ if(files[i].empty()) throw Exception("File name is empty");
+ RinexNavStream strm(files[i].c_str());
+ if(!strm) throw Exception("Could not open file " + files[i]);
+ strm.close();
+ if(isRinexNavFile(files[i])) {
+ RinexNavStream RNFileIn(files[i].c_str());
+ RNFileIn.exceptions(fstream::failbit);
+ try {
+ RNFileIn >> rnh;
+ while (RNFileIn >> rne)
+ {
+ if(rne.health == 0)
+ BCE.addEphemeris(rne);
+ }
+ nread++;
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "Caught Exception while reading Rinex Nav file " << files[i]
+ << " : " << e << endl;
+ continue;
+ }
+ }
+ else if(isSP3File(files[i])) {
+ try {
+ PE.loadFile(files[i]);
+ }
+ catch(gpstk::Exception& e) {
+ cerr << "Caught Exception while reading SP3 Nav file " << files[i]
+ << " : " << e << endl;
+ continue;
+ }
+ nread++;
+ }
+ else throw Exception("File " + files[i] + " is neither BCE nor PE file.");
+ }
+ return nread;
+ }
+ catch(gpstk::Exception& e) {
+ GPSTK_RETHROW(e);
+ }
+ catch (...) {
+ cerr << "PRSolve:FillEphemerisStore caught an unknown exception\n";
+ }
+ return -1;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/positioning/doc/brdc0200.05n b/trunk/apps/positioning/doc/brdc0200.05n
new file mode 100644
index 0000000..d04196b
--- /dev/null
+++ b/trunk/apps/positioning/doc/brdc0200.05n
@@ -0,0 +1,3240 @@
+ 2 NAVIGATION DATA RINEX VERSION / TYPE
+CCRINEXN V1.6.0 UX CDDIS 20-JAN-00 20:27 PGM / RUN BY / DATE
+IGS BROADCAST EPHEMERIS FILE COMMENT
+ 0.1490D-07 -0.7451D-08 -0.5961D-07 0.1192D-06 ION ALPHA
+ 0.1249D+06 -0.1311D+06 0.0000D+00 -0.6554D+05 ION BETA
+ -0.186264514923D-08-0.888178419700D-15 589824 1306 DELTA-UTC: A0,A1,T,W
+ 13 LEAP SECONDS
+ END OF HEADER
+ 1 05 1 20 0 0 0.0 0.383807811886D-03 0.181898940355D-11 0.000000000000D+00
+ 0.184000000000D+03-0.815312500000D+02 0.400730977768D-08-0.768658696943D+00
+ -0.427104532719D-05 0.603075954132D-02 0.645406544209D-05 0.515363115501D+04
+ 0.345600000000D+06-0.763684511185D-07-0.123933867221D+01 0.242143869400D-07
+ 0.982227199054D+00 0.267343750000D+03-0.165823146450D+01-0.795318842508D-08
+ -0.107147320259D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.184000000000D+03
+ 0.345599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 0 0 0.0-0.426662154496D-04 0.568434188608D-11 0.000000000000D+00
+ 0.170000000000D+02 0.970000000000D+02 0.463305012799D-08 0.887988494571D+00
+ 0.493787229061D-05 0.949743459933D-02 0.734999775887D-05 0.515366009903D+04
+ 0.345600000000D+06-0.104308128357D-06 0.292148260649D+01-0.150874257088D-06
+ 0.956872657770D+00 0.238781250000D+03 0.174979349849D+01-0.823105714228D-08
+ 0.167864135072D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.273000000000D+03
+ 0.345599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 0 0 0.0 0.731428153813D-04 0.250111042988D-11 0.000000000000D+00
+ 0.147000000000D+03-0.153125000000D+01 0.519450208615D-08 0.294052653319D+01
+ -0.894069671631D-07 0.591802038252D-02 0.637024641037D-05 0.515361718559D+04
+ 0.345600000000D+06 0.335276126862D-07 0.749209593141D+00-0.391155481339D-07
+ 0.936416207597D+00 0.241593750000D+03 0.937613901554D+00-0.815819696451D-08
+ 0.128219626576D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.659000000000D+03
+ 0.338418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 0 0 0.0 0.633196905255D-04-0.302406988340D-10 0.000000000000D+00
+ 0.102000000000D+03 0.231875000000D+02 0.517735851491D-08 0.946082463675D-01
+ 0.110641121864D-05 0.129244003911D-01 0.847131013870D-05 0.515365702438D+04
+ 0.345600000000D+06-0.182539224625D-06 0.181954817549D+01 0.633299350739D-07
+ 0.936065819699D+00 0.206250000000D+03-0.181194137305D+01-0.842249368781D-08
+ -0.333942481473D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.186264514923D-08 0.358000000000D+03
+ 0.338400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 0 0 0.0-0.190427526832D-04-0.113686837722D-11 0.000000000000D+00
+ 0.910000000000D+02-0.295625000000D+02 0.429446459597D-08-0.191385389771D+01
+ -0.156462192535D-05 0.924153334927D-02 0.918097794056D-05 0.515376824379D+04
+ 0.345600000000D+06-0.189989805222D-06-0.185241096241D+00 0.204890966415D-07
+ 0.967591379539D+00 0.209312500000D+03 0.250866358235D+01-0.781139680460D-08
+ 0.396445084958D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.400000000000D+01 0.000000000000D+00-0.372529029846D-08 0.603000000000D+03
+ 0.345599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 0 0 0.0-0.248388387263D-04-0.170530256582D-11 0.000000000000D+00
+ 0.143000000000D+03-0.447187500000D+02 0.440375486264D-08-0.241236397593D+01
+ -0.225380063057D-05 0.163654558128D-01 0.895187258720D-05 0.515368970299D+04
+ 0.345600000000D+06 0.208616256714D-06-0.257499320532D+00-0.521540641785D-07
+ 0.954704705340D+00 0.200531250000D+03 0.111900358214D+01-0.761174563119D-08
+ 0.435375277985D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.558793544769D-08 0.655000000000D+03
+ 0.342480000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 0 0 0.0 0.575194135308D-04 0.682121026330D-12 0.000000000000D+00
+ 0.430000000000D+02 0.762500000000D+01 0.435160983345D-08 0.120738835849D+01
+ 0.635161995888D-06 0.635631964542D-02 0.239349901676D-05 0.515358552170D+04
+ 0.345600000000D+06 0.111758708954D-07-0.230021638778D+01 0.968575477600D-07
+ 0.978782076716D+00 0.341812500000D+03 0.291498023846D+00-0.825177229087D-08
+ -0.114290474943D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.232830643654D-08 0.299000000000D+03
+ 0.338418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 0 0 0.0 0.186496879905D-03 0.363797880709D-11 0.000000000000D+00
+ 0.200000000000D+01 0.829687500000D+02 0.572309553276D-08-0.146741260248D+01
+ 0.417605042458D-05 0.393220002297D-02 0.693649053574D-05 0.515367902184D+04
+ 0.345600000000D+06 0.558793544769D-08 0.280234437214D+01-0.670552253723D-07
+ 0.903681946803D+00 0.215375000000D+03 0.180220564738D+00-0.857357140938D-08
+ -0.142863093678D-11 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.200000000000D+01
+ 0.345599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 0 0 0.0-0.138129107654D-04 0.909494701773D-12 0.000000000000D+00
+ 0.165000000000D+03-0.832500000000D+02 0.384551732409D-08 0.130423704195D+01
+ -0.442378222942D-05 0.224653002806D-02 0.675581395626D-05 0.515353816795D+04
+ 0.345600000000D+06-0.502914190292D-07-0.125560305748D+01 0.186264514923D-07
+ 0.986415410630D+00 0.262000000000D+03 0.913016309194D+00-0.778353850134D-08
+ -0.110718897601D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.165000000000D+03
+ 0.345570000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 0 0 0.0-0.314870849252D-04-0.113686837722D-12 0.000000000000D+00
+ 0.147000000000D+03-0.895000000000D+02 0.405445459859D-08 0.377622195309D-01
+ -0.464729964733D-05 0.182134879287D-02 0.614300370216D-05 0.515368349457D+04
+ 0.345600000000D+06-0.186264514923D-08-0.126610989458D+01 0.111758708954D-07
+ 0.980774777412D+00 0.273343750000D+03-0.178157412688D+01-0.789425739894D-08
+ -0.107147320259D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.147000000000D+03
+ 0.345599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 0 0 0.0 0.377884600312D-03 0.534328137292D-11 0.000000000000D+00
+ 0.220000000000D+02 0.972500000000D+02 0.440661212451D-08-0.213628069941D+01
+ 0.524148344994D-05 0.881222612225D-02 0.718794763088D-05 0.515358805084D+04
+ 0.345600000000D+06-0.135973095894D-06 0.299555717085D+01 0.143423676491D-06
+ 0.963649141546D+00 0.246843750000D+03 0.234256984989D+01-0.793068748782D-08
+ 0.757174396496D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.279396772385D-08 0.278000000000D+03
+ 0.345438000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 0 0 0.0 0.198883935809D-05-0.227373675443D-12 0.000000000000D+00
+ 0.440000000000D+02-0.753125000000D+01 0.468876673453D-08 0.299997399849D+01
+ -0.325962901115D-06 0.245528330561D-02 0.649504363537D-05 0.515368168449D+04
+ 0.345600000000D+06 0.502914190292D-07 0.827470999786D+00 0.931322574616D-08
+ 0.961287329064D+00 0.254031250000D+03-0.121178488082D+01-0.797497504686D-08
+ 0.664313385605D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.440000000000D+02
+ 0.345570000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 0 0 0.0-0.930861569941D-04 0.189857018995D-10 0.000000000000D+00
+ 0.219000000000D+03 0.103437500000D+03 0.437839666351D-08-0.141349580431D+01
+ 0.531598925591D-05 0.175189403817D-01 0.601448118687D-05 0.515372174072D+04
+ 0.345600000000D+06 0.229105353355D-06 0.303760976046D+01-0.262632966042D-06
+ 0.965560559587D+00 0.264875000000D+03-0.269762036324D+01-0.793033033009D-08
+ 0.235009789101D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.475000000000D+03
+ 0.345570000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 0 0 0.0-0.118944328278D-03-0.375166564481D-11 0.000000000000D+00
+ 0.410000000000D+02 0.665625000000D+01 0.459054835762D-08 0.266110021236D+01
+ 0.325962901115D-06 0.553582189605D-02 0.223517417908D-05 0.515371818924D+04
+ 0.345600000000D+06-0.800937414169D-07-0.227114529727D+01-0.111758708954D-07
+ 0.962591952093D+00 0.338875000000D+03-0.280328691563D+01-0.824570060939D-08
+ -0.535736601294D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.297000000000D+03
+ 0.344178000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 0 0 0.0-0.908738002181D-04 0.272848410532D-11 0.000000000000D+00
+ 0.100000000000D+03 0.124375000000D+02 0.455661837287D-08 0.238355852501D+01
+ 0.573694705963D-06 0.226664869115D-02 0.273250043392D-05 0.515379706383D+04
+ 0.345600000000D+06-0.111758708954D-07-0.232363535532D+01-0.689178705216D-07
+ 0.962457537717D+00 0.325406250000D+03 0.141721478199D+01-0.823570019283D-08
+ -0.153577825704D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.100000000000D+03
+ 0.342150000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 0 0 0.0 0.880081206560D-04 0.102318153950D-11 0.000000000000D+00
+ 0.216000000000D+03 0.101281250000D+03 0.466055127353D-08-0.221079324096D+01
+ 0.514462590218D-05 0.933521508705D-02 0.726990401745D-05 0.515365575790D+04
+ 0.345600000000D+06-0.124797224999D-06 0.296480835907D+01-0.175088644028D-06
+ 0.950171458684D+00 0.238281250000D+03 0.311202959250D+01-0.809569436102D-08
+ 0.118576367753D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.472000000000D+03
+ 0.338718000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 0 0 0.0 0.162469223142D-04 0.000000000000D+00 0.000000000000D+00
+ 0.161000000000D+03 0.909375000000D+01 0.478734226916D-08 0.835595606460D+00
+ 0.413507223129D-06 0.506228988525D-02 0.239536166191D-05 0.515368214607D+04
+ 0.345600000000D+06-0.540167093277D-07-0.226188488538D+01-0.223517417908D-07
+ 0.960006820777D+00 0.334437500000D+03-0.147734130753D+01-0.844570894054D-08
+ 0.357157734196D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.417000000000D+03
+ 0.345558000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 0 0 0.0 0.211483798921D-03 0.568434188608D-12 0.000000000000D+00
+ 0.207000000000D+03-0.810312500000D+02 0.439089718421D-08 0.427832014658D+00
+ -0.440329313278D-05 0.364400586113D-02 0.653788447380D-05 0.515372495651D+04
+ 0.345600000000D+06-0.186264514923D-08-0.127110091610D+01-0.596046447754D-07
+ 0.962923462496D+00 0.254812500000D+03 0.223674518386D+01-0.807426489697D-08
+ -0.114290474943D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.207000000000D+03
+ 0.345570000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 0 0 0.0 0.843270681798D-04 0.909494701773D-12 0.000000000000D+00
+ 0.204000000000D+03-0.358125000000D+02 0.471805366873D-08-0.160610698528D+01
+ -0.166147947311D-05 0.118056290084D-01 0.874698162079D-05 0.515361414337D+04
+ 0.345600000000D+06 0.223517417908D-07-0.308829129481D+00 0.281259417534D-06
+ 0.947878451628D+00 0.206062500000D+03-0.151582391620D+01-0.802712007606D-08
+ 0.260010830495D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.745058059692D-08 0.204000000000D+03
+ 0.338910000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 0 0 0.0 0.316977500916D-03 0.557065504836D-11 0.000000000000D+00
+ 0.510000000000D+02-0.968750000000D+02 0.399088052191D-08-0.588597127993D+00
+ -0.495277345181D-05 0.158485257998D-01 0.672042369843D-05 0.515374921417D+04
+ 0.345600000000D+06 0.149011611939D-06-0.125350670172D+01 0.264495611191D-06
+ 0.984700541484D+00 0.260406250000D+03 0.651628217399D+00-0.801247660896D-08
+ -0.146434671020D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.307000000000D+03
+ 0.344988000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 0 0 0.0 0.464795157313D-04 0.113686837722D-12 0.000000000000D+00
+ 0.123000000000D+03-0.303125000000D+01 0.474412618333D-08 0.177726619009D+01
+ -0.167638063431D-06 0.957208813634D-02 0.701099634171D-05 0.515363552094D+04
+ 0.345600000000D+06-0.245869159699D-06 0.837750572565D+00-0.745058059692D-08
+ 0.959271468913D+00 0.244750000000D+03-0.236703870400D+01-0.805319259065D-08
+ 0.285726187357D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.635000000000D+03
+ 0.338400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 0 0 0.0 0.178889837116D-03-0.189857018995D-10 0.000000000000D+00
+ 0.190000000000D+03-0.107125000000D+03 0.395480759075D-08 0.149914729085D+01
+ -0.578165054321D-05 0.877578230575D-02 0.634975731373D-05 0.515359872436D+04
+ 0.345600000000D+06 0.132247805595D-06-0.128672512403D+01-0.143423676491D-06
+ 0.981575823076D+00 0.264406250000D+03-0.122412268864D+01-0.781461122421D-08
+ -0.158220876249D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.446000000000D+03
+ 0.345570000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 0 0 0.0 0.444295350462D-03-0.143245415529D-10 0.000000000000D+00
+ 0.154000000000D+03-0.184375000000D+01 0.505628204301D-08 0.210115543507D+01
+ -0.212341547012D-06 0.798801553901D-02 0.640377402306D-05 0.515375415039D+04
+ 0.345600000000D+06 0.800937414169D-07 0.792214043558D+00-0.169500708580D-06
+ 0.943195008635D+00 0.245125000000D+03 0.127888674752D+01-0.812105256015D-08
+ 0.119647840956D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.154000000000D+03
+ 0.338418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 1 59 12.0 0.843168236315D-04 0.909494701773D-12 0.000000000000D+00
+ 0.140000000000D+02-0.434375000000D+02 0.481484341470D-08-0.562973351266D+00
+ -0.225007534027D-05 0.118050163146D-01 0.904686748981D-05 0.515361196518D+04
+ 0.352752000000D+06-0.124797224998D-06-0.308888070451D+00 0.782310962677D-07
+ 0.947879703886D+00 0.203156250000D+03-0.151573904793D+01-0.824034324337D-08
+ 0.321799118511D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.526000000000D+03
+ 0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 1 59 44.0 0.631045550108D-04-0.302406988339D-10 0.000000000000D+00
+ 0.123000000000D+03 0.160625000000D+02 0.509378360510D-08 0.114241545453D+01
+ 0.797212123871D-06 0.129248569719D-01 0.838004052639D-05 0.515365851784D+04
+ 0.352784000000D+06-0.247731804848D-06 0.181948765456D+01-0.782310962677D-07
+ 0.936063369311D+00 0.205562500000D+03-0.181188674623D+01-0.837249160502D-08
+ -0.333942481473D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.123000000000D+03
+ 0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 1 59 44.0 0.575212761760D-04 0.682121026330D-12 0.000000000000D+00
+ 0.680000000000D+02 0.678125000000D+01 0.432696594979D-08 0.225520382337D+01
+ 0.424683094025D-06 0.635643559508D-02 0.277534127235D-05 0.515358646965D+04
+ 0.352784000000D+06-0.206753611565D-06-0.230027623137D+01 0.372529029846D-07
+ 0.978782015274D+00 0.337156250000D+03 0.291582023139D+00-0.813605318499D-08
+ 0.285726187357D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.680000000000D+02
+ 0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 1 59 44.0 0.186524353921D-03 0.363797880709D-11 0.000000000000D+00
+ 0.260000000000D+02 0.804375000000D+02 0.571238080073D-08-0.419448496353D+00
+ 0.420026481152D-05 0.393214274663D-02 0.714510679245D-05 0.515367962456D+04
+ 0.352784000000D+06 0.670552253723D-07 0.280228288862D+01-0.931322574615D-08
+ 0.903681537186D+00 0.210937500000D+03 0.180108255055D+00-0.863357390872D-08
+ -0.489306095849D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.260000000000D+02
+ 0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 1 59 44.0 0.162585638464D-04 0.227373675443D-12 0.000000000000D+00
+ 0.187000000000D+03 0.721875000000D+01 0.468519515718D-08 0.188317906716D+01
+ 0.312924385071D-06 0.506255705841D-02 0.187754631043D-05 0.515368466186D+04
+ 0.352784000000D+06 0.707805156708D-07-0.226194521905D+01-0.502914190292D-07
+ 0.960007467387D+00 0.343812500000D+03-0.147708191752D+01-0.831748931396D-08
+ 0.125005206969D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.187000000000D+03
+ 0.348168000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 1 59 44.0 0.843275338411D-04 0.909494701773D-12 0.000000000000D+00
+ 0.229000000000D+03-0.434375000000D+02 0.481484341470D-08-0.558305075807D+00
+ -0.225007534027D-05 0.118050286546D-01 0.904686748981D-05 0.515361197090D+04
+ 0.352784000000D+06-0.124797224998D-06-0.308888319147D+00 0.782310962677D-07
+ 0.947879714126D+00 0.203156250000D+03-0.151573972380D+01-0.824034324337D-08
+ 0.321799118511D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.485000000000D+03
+ 0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 1 59 44.0 0.317018944770D-03 0.557065504836D-11 0.000000000000D+00
+ 0.760000000000D+02-0.893750000000D+02 0.399409494152D-08 0.459192466638D+00
+ -0.447593629360D-05 0.158495466458D-01 0.671483576298D-05 0.515375114822D+04
+ 0.352784000000D+06-0.465661287308D-07-0.125356444310D+01 0.244006514549D-06
+ 0.984699299467D+00 0.260781250000D+03 0.651635577340D+00-0.803676333488D-08
+ -0.188936441390D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.332000000000D+03
+ 0.351138000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 1 59 44.0 0.464790500700D-04 0.113686837722D-12 0.000000000000D+00
+ 0.151000000000D+03-0.303125000000D+01 0.463055002385D-08 0.282513411520D+01
+ -0.208616256714D-06 0.957204867154D-02 0.689923763275D-05 0.515363560677D+04
+ 0.352784000000D+06-0.204890966415D-07 0.837693486576D+00-0.121071934700D-06
+ 0.959272882092D+00 0.245156250000D+03-0.236703483751D+01-0.781996859022D-08
+ 0.575023952056D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.151000000000D+03
+ 0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 1 59 44.0 0.178754329681D-03-0.189857018995D-10 0.000000000000D+00
+ 0.216000000000D+03-0.981875000000D+02 0.399088052191D-08 0.254691712292D+01
+ -0.491738319397D-05 0.877498893533D-02 0.648573040962D-05 0.515360108376D+04
+ 0.352784000000D+06 0.175088644028D-06-0.128678084073D+01-0.260770320892D-07
+ 0.981574775626D+00 0.260312500000D+03-0.122400390116D+01-0.776639493009D-08
+ -0.160720980388D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.216000000000D+03
+ 0.350118000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 2 0 0.0 0.383821316063D-03 0.181898940355D-11 0.000000000000D+00
+ 0.185000000000D+03-0.890625000000D+02 0.407588406265D-08 0.281466430309D+00
+ -0.460073351860D-05 0.602966395672D-02 0.629201531410D-05 0.515362891769D+04
+ 0.352800000000D+06-0.465661287308D-07-0.123939611807D+01 0.000000000000D+00
+ 0.982226474910D+00 0.272156250000D+03-0.165815211729D+01-0.796926052312D-08
+ -0.942896418278D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.185000000000D+03
+ 0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 2 0 0.0-0.426252372563D-04 0.568434188608D-11 0.000000000000D+00
+ 0.180000000000D+02 0.945937500000D+02 0.448804408791D-08 0.193809381099D+01
+ 0.478886067867D-05 0.949775229674D-02 0.680424273014D-05 0.515366167641D+04
+ 0.352800000000D+06 0.204890966415D-06 0.292142454474D+01-0.800937414169D-07
+ 0.956874136780D+00 0.244875000000D+03 0.174987694334D+01-0.792140138674D-08
+ 0.714315468392D-12 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.172294676304D-07 0.274000000000D+03
+ 0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 2 0 0.0 0.780825503171D-04 0.295585778076D-11 0.000000000000D+00
+ 0.450000000000D+02 0.134375000000D+02 0.528593446610D-08 0.968189459949D+00
+ 0.743195414543D-06 0.661609682720D-02 0.839307904244D-05 0.515371777534D+04
+ 0.352800000000D+06-0.117346644402D-06 0.179205788206D+01 0.670552253723D-07
+ 0.926945444187D+00 0.199625000000D+03 0.600717301875D+00-0.833356141200D-08
+ -0.425732019162D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.301000000000D+03
+ 0.349458000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 2 0 0.0 0.441554933786D-03-0.206910044653D-10 0.000000000000D+00
+ 0.201000000000D+03 0.880000000000D+02 0.454911806046D-08-0.202573408053D+01
+ 0.438094139099D-05 0.704602524638D-02 0.699982047081D-05 0.515354500389D+04
+ 0.352800000000D+06-0.391155481339D-07 0.294148997008D+01-0.102445483208D-06
+ 0.956563216949D+00 0.246000000000D+03-0.824287043435D-03-0.803497754621D-08
+ 0.907180644858D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.605359673500D-08 0.201000000000D+03
+ 0.345600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 2 0 0.0 0.731605105102D-04 0.250111042988D-11 0.000000000000D+00
+ 0.148000000000D+03-0.218750000000D+00 0.521807449661D-08-0.229241851362D+01
+ 0.707805156708D-07 0.591769383755D-02 0.658631324768D-05 0.515361783981D+04
+ 0.352800000000D+06 0.279396772385D-07 0.749150933052D+00-0.502914190292D-07
+ 0.936417108754D+00 0.239500000000D+03 0.937593821540D+00-0.815533970263D-08
+ 0.116790579082D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.419095158577D-08 0.660000000000D+03
+ 0.345900000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 2 0 0.0-0.163802411407D-03 0.881072992343D-10 0.000000000000D+00
+ 0.166000000000D+03 0.264375000000D+02 0.505592488528D-08-0.106702141560D+01
+ 0.147335231304D-05 0.622890249360D-02 0.869296491146D-05 0.515362914085D+04
+ 0.352800000000D+06 0.000000000000D+00 0.184691003055D+01 0.130385160446D-06
+ 0.934459679014D+00 0.197281250000D+03-0.194747173323D+01-0.823498587736D-08
+ -0.355371945525D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.166000000000D+03
+ 0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 2 0 0.0 0.631017610431D-04-0.302406988340D-10 0.000000000000D+00
+ 0.970000000000D+02 0.160625000000D+02 0.509378360511D-08 0.114474916875D+01
+ 0.797212123871D-06 0.129248523153D-01 0.838004052639D-05 0.515365851784D+04
+ 0.352800000000D+06-0.247731804848D-06 0.181948748487D+01-0.782310962677D-07
+ 0.936063347367D+00 0.205562500000D+03-0.181188672868D+01-0.837249160503D-08
+ -0.333942481473D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.186264514923D-08 0.609000000000D+03
+ 0.345600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 2 0 0.0-0.190529972315D-04-0.113686837722D-11 0.000000000000D+00
+ 0.114000000000D+03-0.324687500000D+02 0.428446417942D-08-0.863796452361D+00
+ -0.187754631043D-05 0.924134207889D-02 0.889785587788D-05 0.515376705170D+04
+ 0.352800000000D+06-0.167638063431D-06-0.185297569267D+00-0.102445483208D-06
+ 0.967594251247D+00 0.212937500000D+03 0.250872793905D+01-0.784639826255D-08
+ 0.387873299337D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.370000000000D+03
+ 0.345858000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 2 0 0.0-0.248514115810D-04-0.170530256582D-11 0.000000000000D+00
+ 0.144000000000D+03-0.358750000000D+02 0.460412035152D-08-0.136226210908D+01
+ -0.175461173058D-05 0.163658752572D-01 0.894069671631D-05 0.515368743324D+04
+ 0.352800000000D+06 0.325962901115D-06-0.257553543590D+00 0.355765223503D-06
+ 0.954706289680D+00 0.201218750000D+03 0.111907249290D+01-0.791461538979D-08
+ 0.260725145963D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.656000000000D+03
+ 0.352068000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 2 0 0.0-0.138063915074D-04 0.102318153949D-11 0.000000000000D+00
+ 0.166000000000D+03-0.837187500000D+02 0.381123018161D-08 0.235421091811D+01
+ -0.449456274509D-05 0.224602909293D-02 0.633858144283D-05 0.515353957176D+04
+ 0.352800000000D+06-0.372529029846D-07-0.125565905213D+01-0.409781932831D-07
+ 0.986414926404D+00 0.269218750000D+03 0.913301276858D+00-0.773032199894D-08
+ -0.896465912832D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.166000000000D+03
+ 0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 2 0 0.0-0.314880162478D-04-0.113686837722D-12 0.000000000000D+00
+ 0.142000000000D+03-0.102375000000D+03 0.398016578988D-08 0.108720570742D+01
+ -0.527873635292D-05 0.182279839646D-02 0.649504363537D-05 0.515368715286D+04
+ 0.352800000000D+06-0.428408384323D-07-0.126616684159D+01 0.745058059692D-08
+ 0.980774119099D+00 0.266218750000D+03-0.178084687666D+01-0.787568519676D-08
+ -0.814319633967D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.398000000000D+03
+ 0.352218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 2 0 0.0 0.377922784537D-03 0.534328137292D-11 0.000000000000D+00
+ 0.230000000000D+02 0.101625000000D+03 0.439125434194D-08-0.108598271814D+01
+ 0.507012009621D-05 0.881228770595D-02 0.727176666260D-05 0.515358913040D+04
+ 0.352800000000D+06-0.968575477600D-07 0.299549857513D+01-0.763684511185D-07
+ 0.963649432667D+00 0.246062500000D+03 0.234250455840D+01-0.810462330438D-08
+ 0.174650132022D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.400000000000D+01 0.000000000000D+00-0.279396772385D-08 0.279000000000D+03
+ 0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 2 0 0.0 0.198744237423D-05-0.227373675443D-12 0.000000000000D+00
+ 0.450000000000D+02 0.165625000000D+01 0.474019744825D-08-0.223320589495D+01
+ 0.135973095894D-06 0.245652697049D-02 0.645034015179D-05 0.515367920876D+04
+ 0.352800000000D+06 0.409781932831D-07 0.827413605121D+00 0.447034835815D-07
+ 0.961287772329D+00 0.255906250000D+03-0.121161202389D+01-0.799068998717D-08
+ 0.642883921553D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.450000000000D+02
+ 0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 2 0 0.0-0.929492525756D-04 0.189857018995D-10 0.000000000000D+00
+ 0.220000000000D+03 0.942500000000D+02 0.447947230229D-08-0.363281967169D+00
+ 0.512227416039D-05 0.175195280463D-01 0.600330531597D-05 0.515372409630D+04
+ 0.352800000000D+06 0.203028321266D-06 0.303755249014D+01 0.165775418282D-06
+ 0.965560101694D+00 0.267656250000D+03-0.269768506226D+01-0.830891752834D-08
+ 0.703600736366D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.139698386192D-08 0.476000000000D+03
+ 0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 2 0 0.0-0.118971336633D-03-0.375166564481D-11 0.000000000000D+00
+ 0.420000000000D+02 0.371875000000D+01 0.463019286612D-08-0.257198151489D+01
+ 0.216066837311D-06 0.553577940445D-02 0.206194818020D-05 0.515371825409D+04
+ 0.352800000000D+06-0.558793544769D-07-0.227120499603D+01-0.931322574616D-07
+ 0.962591785320D+00 0.341906250000D+03-0.280323644203D+01-0.829855995405D-08
+ 0.260725145963D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.298000000000D+03
+ 0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 2 0 0.0-0.118776224554D-04-0.795807864051D-12 0.000000000000D+00
+ 0.229000000000D+03 0.215625000000D+02 0.445625704956D-08 0.282929567973D+01
+ 0.113621354103D-05 0.308456749190D-02 0.874139368534D-05 0.515364343643D+04
+ 0.352800000000D+06 0.223517417908D-07 0.192806368329D+01 0.745058059692D-08
+ 0.959214181041D+00 0.208468750000D+03-0.177787037672D+01-0.781032533140D-08
+ -0.322513433979D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.485000000000D+03
+ 0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 2 0 0.0-0.908547081053D-04 0.272848410532D-11 0.000000000000D+00
+ 0.101000000000D+03 0.138437500000D+02 0.463412160119D-08-0.284962075693D+01
+ 0.739470124245D-06 0.226717512123D-02 0.257045030594D-05 0.515379619598D+04
+ 0.352800000000D+06 0.894069671631D-07-0.232369528084D+01-0.745058059692D-08
+ 0.962457609400D+00 0.331343750000D+03 0.141731488362D+01-0.827463038585D-08
+ 0.725030200418D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.101000000000D+03
+ 0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 2 0 0.0 0.880155712366D-04 0.102318153950D-11 0.000000000000D+00
+ 0.217000000000D+03 0.103343750000D+03 0.463126433932D-08-0.116066660251D+01
+ 0.515580177307D-05 0.933505420107D-02 0.672787427902D-05 0.515365463829D+04
+ 0.352800000000D+06 0.186264514923D-07 0.296474957463D+01-0.178813934326D-06
+ 0.950172570501D+00 0.243468750000D+03 0.311209597241D+01-0.814141055100D-08
+ 0.165364030933D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.121071934700D-07 0.473000000000D+03
+ 0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 2 0 0.0 0.162464566529D-04 0.000000000000D+00 0.000000000000D+00
+ 0.162000000000D+03 0.721875000000D+01 0.468519515718D-08 0.188551445934D+01
+ 0.312924385071D-06 0.506254844368D-02 0.187754631043D-05 0.515368465614D+04
+ 0.352800000000D+06 0.707805156708D-07-0.226194532585D+01-0.502914190292D-07
+ 0.960007464461D+00 0.343781250000D+03-0.147708355745D+01-0.831748931396D-08
+ 0.125005206969D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.181607902050D-07 0.418000000000D+03
+ 0.346890000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 2 0 0.0 0.211487989873D-03 0.568434188608D-12 0.000000000000D+00
+ 0.208000000000D+03-0.822500000000D+02 0.436732477375D-08 0.147764638885D+01
+ -0.441260635853D-05 0.364506023470D-02 0.575371086597D-05 0.515372798347D+04
+ 0.352800000000D+06 0.409781932831D-07-0.127115887838D+01-0.372529029846D-07
+ 0.962922820275D+00 0.266468750000D+03 0.223707820985D+01-0.803104881113D-08
+ -0.119647840956D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.208000000000D+03
+ 0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 2 0 0.0 0.894768163562D-04 0.295585778076D-11 0.000000000000D+00
+ 0.109000000000D+03 0.848125000000D+02 0.438589697593D-08-0.654176630934D+00
+ 0.425800681114D-05 0.907645968255D-02 0.696256756783D-05 0.515219657516D+04
+ 0.352800000000D+06-0.134110450745D-06 0.297047928932D+01 0.335276126862D-07
+ 0.966853341757D+00 0.254031250000D+03-0.126176096829D+01-0.811033782813D-08
+ 0.996470078407D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.109000000000D+03
+ 0.345600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 2 0 0.0 0.317017547786D-03 0.557065504836D-11 0.000000000000D+00
+ 0.520000000000D+02-0.893750000000D+02 0.399409494152D-08 0.461526505620D+00
+ -0.447593629360D-05 0.158495360520D-01 0.671483576298D-05 0.515375114441D+04
+ 0.352800000000D+06-0.465661287308D-07-0.125356457184D+01 0.244006514549D-06
+ 0.984699306781D+00 0.260781250000D+03 0.651635186741D+00-0.803676333488D-08
+ -0.188936441390D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.308000000000D+03
+ 0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 2 0 0.0 0.513486564159D-03 0.625277607469D-11 0.000000000000D+00
+ 0.170000000000D+02-0.390937500000D+02 0.447161483214D-08-0.216774351469D+01
+ -0.217556953430D-05 0.188511769520D-01 0.854209065437D-05 0.515366135406D+04
+ 0.352800000000D+06 0.188127160072D-06-0.279377143374D+00-0.115483999252D-06
+ 0.952414862576D+00 0.205031250000D+03-0.208894556675D+01-0.762853204469D-08
+ 0.417874549009D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.170000000000D+02
+ 0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 2 0 0.0 0.178753398359D-03-0.189857018995D-10 0.000000000000D+00
+ 0.191000000000D+03-0.981875000000D+02 0.399088052191D-08 0.254925222398D+01
+ -0.491738319397D-05 0.877499603666D-02 0.648573040962D-05 0.515360110855D+04
+ 0.352800000000D+06 0.175088644028D-06-0.128678097532D+01-0.260770320892D-07
+ 0.981574753683D+00 0.260312500000D+03-0.122400528361D+01-0.776639493009D-08
+ -0.160720980388D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.447000000000D+03
+ 0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 2 0 0.0 0.444191973656D-03-0.143245415529D-10 0.000000000000D+00
+ 0.155000000000D+03 0.125000000000D+00 0.503949562951D-08-0.313190448592D+01
+ 0.931322574616D-07 0.798774790019D-02 0.643730163574D-05 0.515375466156D+04
+ 0.352800000000D+06 0.707805156708D-07 0.792156476268D+00-0.260770320892D-07
+ 0.943195997568D+00 0.244281250000D+03 0.127889650518D+01-0.801997692137D-08
+ 0.692886004340D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.155000000000D+03
+ 0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 3 59 12.0 0.843228772283D-04 0.909494701773D-12 0.000000000000D+00
+ 0.150000000000D+02-0.478437500000D+02 0.478662795370D-08 0.487225806956D+00
+ -0.250339508057D-05 0.118058880325D-01 0.934116542339D-05 0.515361362839D+04
+ 0.359952000000D+06-0.130385160446D-06-0.308947023124D+00-0.353902578354D-07
+ 0.947881725639D+00 0.197312500000D+03-0.151571791169D+01-0.823855745470D-08
+ 0.243581574722D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.745058059692D-08 0.271000000000D+03
+ 0.357870000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 3 59 44.0 0.441408250481D-03-0.206910044653D-10 0.000000000000D+00
+ 0.225000000000D+03 0.835312500000D+02 0.443589905872D-08-0.977733691104D+00
+ 0.423751771450D-05 0.704631512053D-02 0.674277544022D-05 0.515354603195D+04
+ 0.359984000000D+06 0.335276126862D-07 0.294143220383D+01-0.113621354103D-06
+ 0.956563853318D+00 0.242437500000D+03-0.899163579487D-03-0.805640701026D-08
+ 0.750031241812D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.225000000000D+03
+ 0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 3 59 44.0 0.628866255283D-04-0.302406988339D-10 0.000000000000D+00
+ 0.124000000000D+03 0.128437500000D+02 0.491127600293D-08 0.219262871528D+01
+ 0.601634383202D-06 0.129251602339D-01 0.829994678497D-05 0.515365798378D+04
+ 0.359984000000D+06 0.154599547386D-06 0.181942853512D+01-0.203028321266D-06
+ 0.936062990415D+00 0.202625000000D+03-0.181190635811D+01-0.795461705602D-08
+ -0.295369446180D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.124000000000D+03
+ 0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 3 59 44.0 0.162599608302D-04 0.227373675443D-12 0.000000000000D+00
+ 0.188000000000D+03 0.578125000000D+01 0.467983779117D-08 0.293338457737D+01
+ 0.271946191788D-06 0.506260606926D-02 0.189617276192D-05 0.515368441582D+04
+ 0.359984000000D+06 0.745058059692D-07-0.226200488855D+01 0.149011611939D-07
+ 0.960007566866D+00 0.342968750000D+03-0.147711191758D+01-0.829320258803D-08
+ 0.103575742917D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.188000000000D+03
+ 0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 3 59 44.0 0.894917175174D-04 0.284217094304D-11 0.000000000000D+00
+ 0.132000000000D+03 0.803125000000D+02 0.425339145654D-08 0.394582101574D+00
+ 0.412575900555D-05 0.907783361617D-02 0.702776014805D-05 0.515219920540D+04
+ 0.359984000000D+06-0.100582838058D-06 0.297042144700D+01-0.875443220139D-07
+ 0.966853637266D+00 0.245187500000D+03-0.126177338554D+01-0.812176687562D-08
+ 0.392873507616D-11 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.132000000000D+03
+ 0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 3 59 44.0 0.317058991641D-03 0.557065504836D-11 0.000000000000D+00
+ 0.770000000000D+02-0.860937500000D+02 0.406552648835D-08 0.150936375042D+01
+ -0.437907874584D-05 0.158493214985D-01 0.682100653648D-05 0.515374987793D+04
+ 0.359984000000D+06-0.238418579102D-06-0.125362232345D+01 0.216066837311D-06
+ 0.984697859955D+00 0.265062500000D+03 0.651594630263D+00-0.798033241288D-08
+ -0.162863926793D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.770000000000D+02
+ 0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 3 59 44.0 0.178617425263D-03-0.189857018995D-10 0.000000000000D+00
+ 0.217000000000D+03-0.849375000000D+02 0.404623997071D-08-0.268607094831D+01
+ -0.426545739174D-05 0.877722399309D-02 0.601448118687D-05 0.515359696007D+04
+ 0.359984000000D+06 0.372529029846D-07-0.128683749516D+01 0.139698386192D-06
+ 0.981574408434D+00 0.270937500000D+03-0.122397814356D+01-0.771746432051D-08
+ 0.678599694973D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.217000000000D+03
+ 0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 4 0 0.0 0.383834820241D-03 0.181898940355D-11 0.000000000000D+00
+ 0.180000000000D+03-0.107000000000D+03 0.396373653411D-08 0.133137163709D+01
+ -0.556930899620D-05 0.603148678783D-02 0.647455453873D-05 0.515363377571D+04
+ 0.360000000000D+06-0.100582838059D-06-0.123945369999D+01-0.115483999252D-06
+ 0.982226289119D+00 0.268750000000D+03-0.165785393947D+01-0.787997108957D-08
+ -0.325013538118D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.372529029846D-08 0.436000000000D+03
+ 0.358590000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 4 0 0.0-0.425837934017D-04 0.568434188608D-11 0.000000000000D+00
+ 0.190000000000D+02 0.928437500000D+02 0.443447042778D-08 0.298829925098D+01
+ 0.464543700218D-05 0.949769734871D-02 0.680238008499D-05 0.515366156387D+04
+ 0.360000000000D+06 0.150874257088D-06 0.292136801466D+01 0.465661287308D-07
+ 0.956874087041D+00 0.243031250000D+03 0.174985944099D+01-0.786818488434D-08
+ -0.153577825704D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.172294676304D-07 0.275000000000D+03
+ 0.352800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 4 0 0.0 0.781039707363D-04 0.295585778076D-11 0.000000000000D+00
+ 0.460000000000D+02 0.169062500000D+02 0.528343436196D-08 0.201837730396D+01
+ 0.843778252602D-06 0.661641743500D-02 0.859797000885D-05 0.515371746826D+04
+ 0.360000000000D+06-0.150874257088D-06 0.179199779124D+01-0.335276126862D-07
+ 0.926942434965D+00 0.195875000000D+03 0.600688723771D+00-0.829070248389D-08
+ -0.413231498465D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.302000000000D+03
+ 0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 4 0 0.0 0.441405922174D-03-0.206910044653D-10 0.000000000000D+00
+ 0.202000000000D+03 0.835312500000D+02 0.443589905872D-08-0.975399450239D+00
+ 0.423751771450D-05 0.704633223359D-02 0.674277544022D-05 0.515354603004D+04
+ 0.360000000000D+06 0.335276126862D-07 0.294143213215D+01-0.113621354103D-06
+ 0.956563879651D+00 0.242437500000D+03-0.899510291071D-03-0.805640701026D-08
+ 0.750031241812D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.202000000000D+03
+ 0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 4 0 0.0 0.731782056391D-04 0.250111042988D-11 0.000000000000D+00
+ 0.149000000000D+03-0.193750000000D+01 0.531557855804D-08-0.124215724429D+01
+ -0.117346644402D-06 0.591764890123D-02 0.660121440888D-05 0.515361830902D+04
+ 0.360000000000D+06 0.137835741043D-06 0.749092531899D+00 0.102445483208D-06
+ 0.936417176048D+00 0.239437500000D+03 0.937552374145D+00-0.829034532616D-08
+ 0.175007289756D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.419095158577D-08 0.149000000000D+03
+ 0.352800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 4 0 0.0-0.163168646395D-03 0.879936123965D-10 0.000000000000D+00
+ 0.167000000000D+03 0.249687500000D+02 0.506556814410D-08-0.167583117652D-01
+ 0.138767063618D-05 0.622871436644D-02 0.849924981594D-05 0.515362914658D+04
+ 0.360000000000D+06-0.745058059692D-07 0.184685050149D+01 0.819563865662D-07
+ 0.934457022354D+00 0.202625000000D+03-0.194752325574D+01-0.826534428477D-08
+ -0.362157942475D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.167000000000D+03
+ 0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 4 0 0.0-0.190609134734D-04-0.113686837722D-11 0.000000000000D+00
+ 0.115000000000D+03-0.381875000000D+02 0.430767943214D-08 0.186328575413D+00
+ -0.217556953430D-05 0.924205745105D-02 0.882335007191D-05 0.515376835632D+04
+ 0.360000000000D+06 0.316649675369D-07-0.185353688268D+00-0.154599547386D-06
+ 0.967596229112D+00 0.214093750000D+03 0.250872464017D+01-0.792425864861D-08
+ 0.254653464482D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.371000000000D+03
+ 0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 4 0 0.0-0.248639844358D-04-0.170530256582D-11 0.000000000000D+00
+ 0.145000000000D+03-0.335625000000D+02 0.476126975457D-08-0.312048400674D+00
+ -0.168569386005D-05 0.163663642015D-01 0.885501503944D-05 0.515368898201D+04
+ 0.360000000000D+06-0.745058059692D-07-0.257612698146D+00 0.191852450371D-06
+ 0.954706585190D+00 0.206875000000D+03 0.111903225827D+01-0.832177520677D-08
+ 0.313227332890D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.558793544769D-08 0.401000000000D+03
+ 0.356568000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 4 0 0.0 0.575259327889D-04 0.682121026330D-12 0.000000000000D+00
+ 0.690000000000D+02 0.100000000000D+02 0.425839166482D-08-0.297535799238D+01
+ 0.534579157829D-06 0.635687401518D-02 0.299327075481D-05 0.515358546448D+04
+ 0.360000000000D+06-0.912696123123D-07-0.230033451549D+01-0.819563865662D-07
+ 0.978782970560D+00 0.333687500000D+03 0.291525607166D+00-0.800104756146D-08
+ 0.582167106740D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.325000000000D+03
+ 0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 4 0 0.0 0.186550896615D-03 0.363797880709D-11 0.000000000000D+00
+ 0.270000000000D+02 0.876875000000D+02 0.568273670879D-08 0.632938217400D+00
+ 0.457651913166D-05 0.393239257392D-02 0.723637640476D-05 0.515368021774D+04
+ 0.360000000000D+06 0.577419996262D-07 0.280222082578D+01 0.577419996262D-07
+ 0.903681289953D+00 0.208593750000D+03 0.180241468375D+00-0.859071498062D-08
+ -0.714315468392D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.270000000000D+02
+ 0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 4 0 0.0-0.137994065881D-04 0.102318153949D-11 0.000000000000D+00
+ 0.167000000000D+03-0.918125000000D+02 0.391052003171D-08-0.287877755835D+01
+ -0.472366809845D-05 0.224704318680D-02 0.612623989582D-05 0.515353779602D+04
+ 0.360000000000D+06 0.298023223877D-07-0.125571510384D+01-0.894069671631D-07
+ 0.986414224203D+00 0.273156250000D+03 0.913362738436D+00-0.777818113532D-08
+ -0.464305054455D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.167000000000D+03
+ 0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 4 0 0.0-0.314884819090D-04-0.113686837722D-12 0.000000000000D+00
+ 0.143000000000D+03-0.106500000000D+03 0.398552315589D-08 0.213755104334D+01
+ -0.548735260963D-05 0.182316370774D-02 0.658817589283D-05 0.515368653107D+04
+ 0.360000000000D+06 0.186264514923D-08-0.126622340532D+01-0.335276126862D-07
+ 0.980773833830D+00 0.262093750000D+03-0.178102364836D+01-0.781889711702D-08
+ -0.703600736366D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.399000000000D+03
+ 0.354978000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 4 0 0.0 0.377960503101D-03 0.534328137292D-11 0.000000000000D+00
+ 0.240000000000D+02 0.102750000000D+03 0.434910972931D-08-0.357756235926D-01
+ 0.520423054695D-05 0.881195487455D-02 0.682286918163D-05 0.515358838081D+04
+ 0.360000000000D+06 0.316649675369D-07 0.299544066113D+01-0.158324837685D-06
+ 0.963650295789D+00 0.248781250000D+03 0.234252885162D+01-0.814891086342D-08
+ 0.692886004340D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.400000000000D+01 0.000000000000D+00-0.279396772385D-08 0.280000000000D+03
+ 0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 4 0 0.0 0.198651105166D-05-0.227373675443D-12 0.000000000000D+00
+ 0.460000000000D+02 0.875000000000D+00 0.474912639161D-08-0.118318942886D+01
+ 0.782310962677D-07 0.245661532972D-02 0.668875873089D-05 0.515367843246D+04
+ 0.360000000000D+06-0.372529029846D-08 0.827355894465D+00 0.465661287308D-07
+ 0.961288076615D+00 0.253093750000D+03-0.121144904165D+01-0.802569144512D-08
+ 0.639312344211D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.460000000000D+02
+ 0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 4 0 0.0-0.928123481572D-04 0.190993887372D-10 0.000000000000D+00
+ 0.221000000000D+03 0.882500000000D+02 0.437482508617D-08 0.686861329526D+00
+ 0.466220080853D-05 0.175183792599D-01 0.638701021671D-05 0.515372196960D+04
+ 0.360000000000D+06-0.391155481339D-07 0.303749406119D+01 0.366941094399D-06
+ 0.965560806820D+00 0.260500000000D+03-0.269767826554D+01-0.812819571483D-08
+ -0.857178562071D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.139698386192D-08 0.477000000000D+03
+ 0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 4 0 0.0-0.118998344988D-03-0.375166564481D-11 0.000000000000D+00
+ 0.430000000000D+02 0.193750000000D+01 0.460054877418D-08-0.152169297529D+01
+ 0.128522515297D-06 0.553564995062D-02 0.226870179176D-05 0.515371960258D+04
+ 0.360000000000D+06 0.242143869400D-07-0.227126521266D+01-0.409781932831D-07
+ 0.962592218344D+00 0.335906250000D+03-0.280337049652D+01-0.832391815317D-08
+ 0.903609067516D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.299000000000D+03
+ 0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 4 0 0.0-0.118836760521D-04-0.795807864051D-12 0.000000000000D+00
+ 0.230000000000D+03 0.257187500000D+02 0.443768484739D-08-0.240373100523D+01
+ 0.132992863655D-05 0.308380648494D-02 0.901706516743D-05 0.515364477921D+04
+ 0.360000000000D+06 0.279396772385D-07 0.192800766670D+01-0.391155481339D-07
+ 0.959211718950D+00 0.203187500000D+03-0.177783102276D+01-0.781139680460D-08
+ -0.362157942475D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.486000000000D+03
+ 0.353538000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 4 0 0.0-0.908351503313D-04 0.272848410532D-11 0.000000000000D+00
+ 0.102000000000D+03 0.206250000000D+02 0.467948063344D-08-0.179978545131D+01
+ 0.111199915409D-05 0.226820353419D-02 0.228360295296D-05 0.515379401970D+04
+ 0.360000000000D+06 0.763684511185D-07-0.232375481868D+01 0.596046447754D-07
+ 0.962458111181D+00 0.338062500000D+03 0.141758765347D+01-0.829891711178D-08
+ 0.721458623076D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.102000000000D+03
+ 0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 4 0 0.0 0.880234874785D-04 0.102318153950D-11 0.000000000000D+00
+ 0.218000000000D+03 0.972500000000D+02 0.464162191361D-08-0.110430504148D+00
+ 0.505521893501D-05 0.933597388212D-02 0.648573040962D-05 0.515365649605D+04
+ 0.360000000000D+06 0.152736902237D-06 0.296469112374D+01-0.111758708954D-07
+ 0.950172732885D+00 0.248343750000D+03 0.311205254422D+01-0.829855995405D-08
+ 0.492877673191D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.121071934700D-07 0.474000000000D+03
+ 0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 4 0 0.0 0.211492180824D-03 0.568434188608D-12 0.000000000000D+00
+ 0.209000000000D+03-0.927187500000D+02 0.451090218290D-08 0.252823136685D+01
+ -0.467523932457D-05 0.364575162530D-02 0.559538602829D-05 0.515372472572D+04
+ 0.360000000000D+06 0.968575477600D-07-0.127121701474D+01 0.260770320892D-07
+ 0.962922036151D+00 0.273375000000D+03 0.223664158293D+01-0.804819238237D-08
+ -0.646455498895D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.209000000000D+03
+ 0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 4 0 0.0 0.894977711141D-04 0.295585778076D-11 0.000000000000D+00
+ 0.110000000000D+03 0.803125000000D+02 0.425339145654D-08 0.396916997826D+00
+ 0.412575900555D-05 0.907784595620D-02 0.702776014805D-05 0.515219922638D+04
+ 0.360000000000D+06-0.100582838058D-06 0.297042133436D+01-0.875443220139D-07
+ 0.966853632878D+00 0.245187500000D+03-0.126177265993D+01-0.812176687562D-08
+ 0.392873507616D-11 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.110000000000D+03
+ 0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 4 0 0.0 0.513531733304D-03 0.625277607469D-11 0.000000000000D+00
+ 0.180000000000D+02-0.357187500000D+02 0.463947896721D-08-0.111757114543D+01
+ -0.168196856976D-05 0.188514270121D-01 0.857189297676D-05 0.515366071892D+04
+ 0.360000000000D+06 0.214204192162D-06-0.279431770198D+00 0.383704900742D-06
+ 0.952415551611D+00 0.207656250000D+03-0.208892977162D+01-0.805104964425D-08
+ 0.212866009581D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.180000000000D+02
+ 0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 4 0 0.0 0.464799813926D-04 0.113686837722D-12 0.000000000000D+00
+ 0.152000000000D+03-0.728125000000D+01 0.467126600555D-08-0.240554297117D+01
+ -0.437721610069D-06 0.957276753616D-02 0.670365989208D-05 0.515363417816D+04
+ 0.360000000000D+06 0.670552253723D-07 0.837636646357D+00-0.106170773506D-06
+ 0.959273354614D+00 0.249218750000D+03-0.236700371978D+01-0.785389857497D-08
+ 0.112504686272D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.152000000000D+03
+ 0.356718000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 4 0 0.0 0.444088596851D-03-0.143245415529D-10 0.000000000000D+00
+ 0.156000000000D+03-0.531250000000D+00 0.506878256371D-08-0.208175068109D+01
+ 0.260770320892D-07 0.798741390463D-02 0.665709376335D-05 0.515375534630D+04
+ 0.360000000000D+06 0.141561031342D-06 0.792098866554D+00-0.111758708954D-07
+ 0.943196414499D+00 0.241750000000D+03 0.127887757795D+01-0.804783522464D-08
+ 0.400016662300D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.838190317154D-08 0.156000000000D+03
+ 0.352800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 5 59 44.0 0.383858103305D-03 0.193267624127D-11 0.000000000000D+00
+ 0.208000000000D+03-0.108593750000D+03 0.394480717420D-08 0.237939834294D+01
+ -0.558234751225D-05 0.603166536894D-02 0.666826963425D-05 0.515363195038D+04
+ 0.367184000000D+06 0.614672899246D-07-0.123950941962D+01-0.502914190292D-07
+ 0.982226738235D+00 0.261562500000D+03-0.165801273045D+01-0.771353558543D-08
+ -0.507163982558D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.464000000000D+03
+ 0.365148000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 5 59 44.0-0.425451435149D-04 0.568434188608D-11 0.000000000000D+00
+ 0.390000000000D+02 0.930937500000D+02 0.431267964042D-08-0.224705018655D+01
+ 0.503472983837D-05 0.949742924422D-02 0.685267150402D-05 0.515366193199D+04
+ 0.367184000000D+06 0.670552253723D-07 0.292131127392D+01 0.109896063805D-06
+ 0.956874348903D+00 0.239031250000D+03 0.174987670927D+01-0.784104089654D-08
+ 0.503592405216D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.390000000000D+02
+ 0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 5 59 44.0 0.441259238869D-03-0.206910044653D-10 0.000000000000D+00
+ 0.226000000000D+03 0.882500000000D+02 0.444839957941D-08 0.724797042363D-01
+ 0.471062958241D-05 0.704508309718D-02 0.725686550140D-05 0.515354365540D+04
+ 0.367184000000D+06 0.931322574616D-07 0.294137416694D+01-0.242143869400D-07
+ 0.956563977666D+00 0.234031250000D+03-0.853925763721D-03-0.811498087867D-08
+ 0.317870383435D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.605359673500D-08 0.226000000000D+03
+ 0.366210000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 5 59 44.0 0.731972977519D-04 0.250111042988D-11 0.000000000000D+00
+ 0.172000000000D+03-0.131250000000D+01 0.540772525346D-08-0.194234094012D+00
+ -0.800937414169D-07 0.591786601581D-02 0.645220279694D-05 0.515361888885D+04
+ 0.367184000000D+06-0.186264514923D-07 0.749032214324D+00 0.614672899246D-07
+ 0.936416700600D+00 0.241562500000D+03 0.937516153757D+00-0.844570894054D-08
+ 0.303584074067D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.172000000000D+03
+ 0.364758000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 5 59 44.0-0.248821452260D-04-0.170530256582D-11 0.000000000000D+00
+ 0.169000000000D+03-0.359687500000D+02 0.475769817723D-08 0.735779067443D+00
+ -0.177323818207D-05 0.163664029678D-01 0.904686748982D-05 0.515368911743D+04
+ 0.367184000000D+06-0.216066837311D-06-0.257671554266D+00 0.800937414169D-07
+ 0.954708434318D+00 0.205218750000D+03 0.111904423664D+01-0.827141596625D-08
+ 0.177507393896D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.681000000000D+03
+ 0.360408000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 5 59 44.0-0.137933529913D-04 0.909494701773D-12 0.000000000000D+00
+ 0.189000000000D+03-0.990937500000D+02 0.395409327528D-08-0.183066529812D+01
+ -0.508315861225D-05 0.224732852075D-02 0.624917447567D-05 0.515353800392D+04
+ 0.367184000000D+06 0.502914190292D-07-0.125577125210D+01-0.931322574615D-08
+ 0.986414132039D+00 0.274312500000D+03 0.913176978561D+00-0.778353850134D-08
+ 0.714315468392D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.630000000000D+02-0.116415321827D-07 0.445000000000D+03
+ 0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 5 59 44.0-0.926693901420D-04 0.190993887372D-10 0.000000000000D+00
+ 0.100000000000D+01 0.878437500000D+02 0.422481883781D-08 0.173455670492D+01
+ 0.461749732494D-05 0.175193801988D-01 0.708177685738D-05 0.515372638321D+04
+ 0.367184000000D+06-0.296160578728D-06 0.303743587362D+01 0.271946191788D-06
+ 0.965559883719D+00 0.243750000000D+03-0.269755915329D+01-0.805069248651D-08
+ -0.935753263594D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.100000000000D+01
+ 0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 5 59 44.0-0.908137299120D-04 0.272848410532D-11 0.000000000000D+00
+ 0.123000000000D+03 0.205000000000D+02 0.467483758289D-08-0.751587221230D+00
+ 0.107102096081D-05 0.226834730711D-02 0.204332172871D-05 0.515379584503D+04
+ 0.367184000000D+06-0.260770320892D-07-0.232381488317D+01 0.447034835815D-07
+ 0.962458184327D+00 0.345281250000D+03 0.141716362374D+01-0.839749264642D-08
+ 0.771460705864D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.379000000000D+03
+ 0.366708000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 5 59 44.0 0.895126722753D-04 0.284217094304D-11 0.000000000000D+00
+ 0.133000000000D+03 0.861875000000D+02 0.419303179946D-08 0.144579066449D+01
+ 0.440888106823D-05 0.907701591495D-02 0.732205808163D-05 0.515219653320D+04
+ 0.367184000000D+06 0.124797224999D-06 0.297036328870D+01-0.214204192162D-06
+ 0.966854797360D+00 0.236843750000D+03-0.126190029076D+01-0.788997150613D-08
+ 0.407159816984D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.133000000000D+03
+ 0.365280000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 6 0 0.0 0.383848324418D-03 0.181898940355D-11 0.000000000000D+00
+ 0.181000000000D+03-0.108593750000D+03 0.394480717420D-08 0.238173400430D+01
+ -0.558048486710D-05 0.603168050293D-02 0.666826963425D-05 0.515363194084D+04
+ 0.367200000000D+06 0.614672899246D-07-0.123950959663D+01-0.502914190292D-07
+ 0.982226752864D+00 0.261562500000D+03-0.165801451082D+01-0.771353558543D-08
+ -0.507163982558D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.372529029846D-08 0.693000000000D+03
+ 0.360048000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 6 0 0.0-0.425428152084D-04 0.568434188608D-11 0.000000000000D+00
+ 0.140000000000D+02 0.930937500000D+02 0.431267964042D-08-0.224471548925D+01
+ 0.503472983837D-05 0.949742540251D-02 0.685267150402D-05 0.515366191483D+04
+ 0.367200000000D+06 0.670552253723D-07 0.292131115542D+01 0.109896063805D-06
+ 0.956874376699D+00 0.239031250000D+03 0.174987594124D+01-0.784104089654D-08
+ 0.503592405216D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.526000000000D+03
+ 0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 6 0 0.0 0.781253911555D-04 0.295585778076D-11 0.000000000000D+00
+ 0.470000000000D+02 0.211250000000D+02 0.518843040467D-08 0.306853159595D+01
+ 0.103935599327D-05 0.661587354261D-02 0.841170549393D-05 0.515371833611D+04
+ 0.367200000000D+06-0.130385160446D-07 0.179193860742D+01-0.875443220139D-07
+ 0.926940141109D+00 0.199281250000D+03 0.600693842521D+00-0.815141096756D-08
+ -0.400373820034D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.470000000000D+02
+ 0.360048000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 6 0 0.0 0.731959007680D-04 0.250111042988D-11 0.000000000000D+00
+ 0.150000000000D+03-0.131250000000D+01 0.540772525346D-08-0.191899581045D+00
+ -0.800937414169D-07 0.591786298901D-02 0.645220279694D-05 0.515361888695D+04
+ 0.367200000000D+06-0.186264514923D-07 0.749032059255D+00 0.614672899246D-07
+ 0.936416666953D+00 0.241562500000D+03 0.937515477888D+00-0.844570894054D-08
+ 0.303584074067D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.419095158577D-08 0.150000000000D+03
+ 0.361398000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 6 0 0.0-0.162534881383D-03 0.879936123965D-10 0.000000000000D+00
+ 0.168000000000D+03 0.207187500000D+02 0.512128475064D-08 0.103343440230D+01
+ 0.110454857349D-05 0.622823147569D-02 0.847876071930D-05 0.515362845802D+04
+ 0.367200000000D+06-0.819563865662D-07 0.184679136010D+01-0.204890966415D-07
+ 0.934454078963D+00 0.206437500000D+03-0.194750326643D+01-0.826355849610D-08
+ -0.434660962517D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.465661287308D-08 0.168000000000D+03
+ 0.360000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 6 0 0.0 0.626682303846D-04-0.302406988340D-10 0.000000000000D+00
+ 0.125000000000D+03 0.111875000000D+02 0.489663253583D-08-0.303801238477D+01
+ 0.683590769768D-06 0.129252261249D-01 0.846013426781D-05 0.515365770149D+04
+ 0.367200000000D+06 0.912696123123D-07 0.181937216303D+01-0.521540641785D-07
+ 0.936060873573D+00 0.200343750000D+03-0.181192360152D+01-0.785139847083D-08
+ -0.358943522867D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.186264514923D-08 0.125000000000D+03
+ 0.360000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 6 0 0.0-0.190692953765D-04-0.113686837722D-11 0.000000000000D+00
+ 0.116000000000D+03-0.416875000000D+02 0.429946480425D-08 0.123648176290D+01
+ -0.224076211453D-05 0.924205849879D-02 0.854022800922D-05 0.515376799583D+04
+ 0.367200000000D+06 0.176951289177D-06-0.185409997448D+00-0.130385160446D-07
+ 0.967598742406D+00 0.213250000000D+03 0.250869266224D+01-0.774746557018D-08
+ 0.218580533328D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.116000000000D+03
+ 0.360000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 6 0 0.0-0.248765572906D-04-0.170530256582D-11 0.000000000000D+00
+ 0.140000000000D+03-0.359687500000D+02 0.475769817723D-08 0.738112429094D+00
+ -0.177323818207D-05 0.163663913263D-01 0.904500484467D-05 0.515368912506D+04
+ 0.367200000000D+06-0.216066837311D-06-0.257671688854D+00 0.800937414169D-07
+ 0.954708419689D+00 0.205218750000D+03 0.111904449119D+01-0.827141596625D-08
+ 0.177507393896D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.558793544769D-08 0.652000000000D+03
+ 0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 6 0 0.0 0.575310550630D-04 0.682121026330D-12 0.000000000000D+00
+ 0.700000000000D+02 0.142187500000D+02 0.420660379336D-08-0.192510014774D+01
+ 0.463798642159D-06 0.635639950633D-02 0.279024243355D-05 0.515358633614D+04
+ 0.367200000000D+06 0.447034835815D-07-0.230039294444D+01-0.115483999252D-06
+ 0.978783475266D+00 0.334843750000D+03 0.291500386458D+00-0.807426489697D-08
+ 0.147506144223D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.700000000000D+02
+ 0.360480000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 6 0 0.0 0.186577439308D-03 0.363797880709D-11 0.000000000000D+00
+ 0.280000000000D+02 0.101593750000D+03 0.558094675455D-08 0.168261830010D+01
+ 0.523030757904D-05 0.393378001172D-02 0.779516994953D-05 0.515368470192D+04
+ 0.367200000000D+06-0.186264514923D-08 0.280215929398D+01 0.447034835815D-07
+ 0.903680638955D+00 0.196656250000D+03 0.180744150434D+00-0.856821404336D-08
+ -0.108218793461D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.280000000000D+02
+ 0.361338000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 6 0 0.0-0.137924216688D-04 0.102318153949D-11 0.000000000000D+00
+ 0.168000000000D+03-0.990937500000D+02 0.395409327528D-08-0.182833192477D+01
+ -0.508315861225D-05 0.224731874187D-02 0.624917447567D-05 0.515353798676D+04
+ 0.367200000000D+06 0.502914190292D-07-0.125577139107D+01-0.931322574615D-08
+ 0.986414151057D+00 0.274312500000D+03 0.913177628096D+00-0.778353850134D-08
+ 0.714315468392D-11 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.168000000000D+03
+ 0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 6 0 0.0-0.314894132316D-04-0.113686837722D-12 0.000000000000D+00
+ 0.144000000000D+03-0.992187500000D+02 0.397659421254D-08-0.309567760331D+01
+ -0.505894422531D-05 0.182216579560D-02 0.673346221447D-05 0.515368852043D+04
+ 0.367200000000D+06 0.465661287308D-07-0.126627987396D+01-0.260770320892D-07
+ 0.980773340826D+00 0.258875000000D+03-0.178081149306D+01-0.783425489959D-08
+ -0.446447167745D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.400000000000D+03
+ 0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 6 0 0.0 0.377998687327D-03 0.534328137292D-11 0.000000000000D+00
+ 0.250000000000D+02 0.979062500000D+02 0.427089218552D-08 0.101441552369D+01
+ 0.498071312904D-05 0.881280261092D-02 0.652298331261D-05 0.515359012413D+04
+ 0.367200000000D+06 0.197440385819D-06 0.299538215758D+01-0.150874257088D-06
+ 0.963651248148D+00 0.253312500000D+03 0.234256868980D+01-0.803926343902D-08
+ 0.646455498895D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.400000000000D+01 0.000000000000D+00-0.279396772385D-08 0.281000000000D+03
+ 0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 6 0 0.0 0.198511406779D-05-0.227373675443D-12 0.000000000000D+00
+ 0.470000000000D+02 0.143750000000D+01 0.472198240381D-08-0.132935981752D+00
+ 0.987201929092D-07 0.245699228253D-02 0.683031976223D-05 0.515367921066D+04
+ 0.367200000000D+06-0.540167093277D-07 0.827298505652D+00-0.186264514923D-07
+ 0.961288389680D+00 0.250000000000D+03-0.121152322915D+01-0.800783355841D-08
+ 0.107147320259D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.977888703346D-08 0.470000000000D+02
+ 0.365700000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 6 0 0.0-0.926749780774D-04 0.190993887372D-10 0.000000000000D+00
+ 0.216000000000D+03 0.878437500000D+02 0.422481883781D-08 0.173688920491D+01
+ 0.461749732494D-05 0.175193698378D-01 0.708177685738D-05 0.515372639084D+04
+ 0.367200000000D+06-0.296160578728D-06 0.303743574050D+01 0.271946191788D-06
+ 0.965559901274D+00 0.243750000000D+03-0.269755798003D+01-0.805069248651D-08
+ -0.935753263594D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.139698386192D-08 0.728000000000D+03
+ 0.360000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 6 0 0.0-0.119025353342D-03-0.375166564481D-11 0.000000000000D+00
+ 0.440000000000D+02 0.787500000000D+01 0.464483633322D-08-0.471664697608D+00
+ 0.484287738800D-06 0.553492049221D-02 0.252202153206D-05 0.515371774864D+04
+ 0.367200000000D+06 0.484287738800D-07-0.227132509721D+01 0.186264514923D-07
+ 0.962592581148D+00 0.330781250000D+03-0.280324506593D+01-0.837177728956D-08
+ 0.600024993449D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.300000000000D+03
+ 0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 6 0 0.0-0.118897296488D-04-0.795807864051D-12 0.000000000000D+00
+ 0.231000000000D+03 0.337500000000D+02 0.448518682603D-08-0.135378829508D+01
+ 0.182352960110D-05 0.308437971398D-02 0.910088419914D-05 0.515364303589D+04
+ 0.367200000000D+06 0.186264514923D-07 0.192795142189D+01 0.633299350739D-07
+ 0.959208592694D+00 0.203718750000D+03-0.177757478388D+01-0.790211486909D-08
+ -0.402873924173D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.487000000000D+03
+ 0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 6 0 0.0-0.908155925572D-04 0.272848410532D-11 0.000000000000D+00
+ 0.970000000000D+02 0.205000000000D+02 0.467483758289D-08-0.749252538564D+00
+ 0.107102096081D-05 0.226834753994D-02 0.204332172871D-05 0.515379584122D+04
+ 0.367200000000D+06-0.260770320892D-07-0.232381501922D+01 0.447034835815D-07
+ 0.962458198956D+00 0.345281250000D+03 0.141716254996D+01-0.839749264642D-08
+ 0.771460705864D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.353000000000D+03
+ 0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 6 0 0.0 0.880314037204D-04 0.102318153950D-11 0.000000000000D+00
+ 0.219000000000D+03 0.909062500000D+02 0.458769109575D-08 0.939817440929D+00
+ 0.481866300106D-05 0.933521764819D-02 0.658631324768D-05 0.515365478897D+04
+ 0.367200000000D+06 0.126659870148D-06 0.296463250023D+01 0.221654772759D-06
+ 0.950173552120D+00 0.245437500000D+03 0.311199671781D+01-0.811748098281D-08
+ -0.396445084958D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.121071934700D-07 0.475000000000D+03
+ 0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 6 0 0.0 0.162613578141D-04 0.227373675443D-12 0.000000000000D+00
+ 0.189000000000D+03 0.431250000000D+01 0.460233456285D-08-0.229729237881D+01
+ 0.316649675369D-06 0.506183446851D-02 0.210106372833D-05 0.515368577957D+04
+ 0.367200000000D+06 0.558793544769D-08-0.226206497645D+01 0.670552253723D-07
+ 0.960007976483D+00 0.336656250000D+03-0.147711184590D+01-0.826784438891D-08
+ 0.728601777760D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.189000000000D+03
+ 0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 6 0 0.0 0.211496371776D-03 0.568434188608D-12 0.000000000000D+00
+ 0.210000000000D+03-0.106718750000D+03 0.443161316591D-08-0.270483790950D+01
+ -0.537559390068D-05 0.364369468298D-02 0.591389834881D-05 0.515372858238D+04
+ 0.367200000000D+06 0.186264514923D-08-0.127127516574D+01 0.558793544769D-07
+ 0.962921980560D+00 0.268250000000D+03 0.223667406410D+01-0.801033366255D-08
+ 0.178578867098D-11 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.210000000000D+03
+ 0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 6 0 0.0 0.843293964863D-04 0.909494701773D-12 0.000000000000D+00
+ 0.160000000000D+02-0.529687500000D+02 0.470019578202D-08 0.154441366424D+01
+ -0.300258398056D-05 0.118063830305D-01 0.910088419914D-05 0.515361475563D+04
+ 0.367200000000D+06 0.465661287308D-07-0.309006642887D+00-0.273808836937D-06
+ 0.947884848969D+00 0.196843750000D+03-0.151568525936D+01-0.797104631179D-08
+ 0.321084803042D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.272000000000D+03
+ 0.364368000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 6 0 0.0 0.317099504173D-03 0.557065504836D-11 0.000000000000D+00
+ 0.780000000000D+02-0.909687500000D+02 0.386266089533D-08 0.256176647727D+01
+ -0.481866300106D-05 0.158486502478D-01 0.629946589470D-05 0.515375203323D+04
+ 0.367200000000D+06-0.132247805595D-06-0.125367965229D+01-0.240281224251D-06
+ 0.984699096121D+00 0.272468750000D+03 0.651656072823D+00-0.757245828043D-08
+ 0.357157734196D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.780000000000D+02
+ 0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 6 0 0.0 0.513576902449D-03 0.625277607469D-11 0.000000000000D+00
+ 0.190000000000D+02-0.411875000000D+02 0.478377069182D-08-0.673936588736D-01
+ -0.202655792236D-05 0.188507280545D-01 0.881031155586D-05 0.515365931511D+04
+ 0.367200000000D+06-0.111758708954D-06-0.279491641583D+00 0.206753611565D-06
+ 0.952416081187D+00 0.206781250000D+03-0.208891645175D+01-0.834177603988D-08
+ 0.255010622216D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.465661287308D-08 0.190000000000D+02
+ 0.360000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 6 0 0.0 0.464813783765D-04 0.113686837722D-12 0.000000000000D+00
+ 0.153000000000D+03-0.146875000000D+01 0.476698427832D-08-0.135545469629D+01
+ -0.126659870148D-06 0.957326509524D-02 0.636838376522D-05 0.515363184929D+04
+ 0.367200000000D+06 0.251457095146D-06 0.837580549300D+00-0.242143869400D-07
+ 0.959273635494D+00 0.256093750000D+03-0.236688508736D+01-0.795604568695D-08
+ 0.535736601294D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.102445483208D-07 0.153000000000D+03
+ 0.360000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 6 0 0.0 0.178480520845D-03-0.189857018995D-10 0.000000000000D+00
+ 0.218000000000D+03-0.798125000000D+02 0.406016912234D-08-0.163350868731D+01
+ -0.392459332943D-05 0.877761875745D-02 0.625476241112D-05 0.515359658051D+04
+ 0.367200000000D+06-0.145286321640D-06-0.128689346202D+01 0.171363353729D-06
+ 0.981573751584D+00 0.272343750000D+03-0.122398163408D+01-0.786854204207D-08
+ -0.714315468392D-12 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.218000000000D+03
+ 0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 6 0 0.0 0.443985685706D-03-0.143245415529D-10 0.000000000000D+00
+ 0.151000000000D+03-0.165625000000D+01 0.523164649050D-08-0.103157160873D+01
+ -0.540167093277D-07 0.798742461484D-02 0.652112066746D-05 0.515375600815D+04
+ 0.367200000000D+06-0.633299350739D-07 0.792040474179D+00 0.188127160072D-06
+ 0.943195258794D+00 0.243968750000D+03 0.127883352071D+01-0.832927551919D-08
+ -0.196436753808D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.838190317154D-08 0.407000000000D+03
+ 0.363768000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 7 59 44.0 0.383872073144D-03 0.193267624127D-11 0.000000000000D+00
+ 0.209000000000D+03-0.101812500000D+03 0.390944855851D-08-0.285366355299D+01
+ -0.527687370777D-05 0.603116664570D-02 0.660493969917D-05 0.515363304710D+04
+ 0.374384000000D+06 0.949949026108D-07-0.123956525774D+01 0.298023223877D-07
+ 0.982226483687D+00 0.261062500000D+03-0.165793458283D+01-0.772246452879D-08
+ 0.714315468392D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.465000000000D+03
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 7 59 44.0-0.425041653216D-04 0.568434188608D-11 0.000000000000D+00
+ 0.400000000000D+02 0.954062500000D+02 0.438446834499D-08-0.119701371944D+01
+ 0.516884028912D-05 0.949783634860D-02 0.784173607826D-05 0.515365913391D+04
+ 0.374384000000D+06-0.169500708580D-06 0.292125394216D+01 0.912696123123D-07
+ 0.956873627685D+00 0.228375000000D+03 0.175002817396D+01-0.807997942072D-08
+ 0.560737642688D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.400000000000D+02
+ 0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 7 59 44.0 0.732149928808D-04 0.250111042988D-11 0.000000000000D+00
+ 0.173000000000D+03-0.118750000000D+01 0.540415367612D-08 0.855997201594D+00
+ -0.894069671631D-07 0.591779733077D-02 0.640004873276D-05 0.515361872482D+04
+ 0.374384000000D+06-0.298023223877D-07 0.748971381802D+00 0.782310962677D-07
+ 0.936416922963D+00 0.242375000000D+03 0.937505673412D+00-0.844249452093D-08
+ 0.385730352932D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.173000000000D+03
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 7 59 44.0-0.161899253726D-03 0.879936123965D-10 0.000000000000D+00
+ 0.188000000000D+03 0.145625000000D+02 0.510985570314D-08 0.208119864164D+01
+ 0.560656189919D-06 0.622847420164D-02 0.816024839878D-05 0.515362979507D+04
+ 0.374384000000D+06 0.223517417908D-07 0.184673206803D+01-0.119209289551D-06
+ 0.934451592003D+00 0.207656250000D+03-0.194738883112D+01-0.813569602725D-08
+ -0.406445501515D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.465661287308D-08 0.444000000000D+03
+ 0.371940000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 7 59 44.0-0.249007716775D-04-0.181898940355D-11 0.000000000000D+00
+ 0.194000000000D+03-0.481875000000D+02 0.456054710795D-08 0.178585330416D+01
+ -0.266358256340D-05 0.163670453476D-01 0.903010368347D-05 0.515369239807D+04
+ 0.374384000000D+06-0.273808836937D-06-0.257731627534D+00-0.407919287682D-06
+ 0.954711690774D+00 0.204375000000D+03 0.111914227409D+01-0.789961476495D-08
+ 0.381444460121D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.558793544769D-08 0.706000000000D+03
+ 0.374310000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 7 59 44.0 0.575343146920D-04 0.682121026330D-12 0.000000000000D+00
+ 0.930000000000D+02 0.210312500000D+02 0.419231748399D-08-0.877413488411D+00
+ 0.109337270260D-05 0.635625829455D-02 0.219792127609D-05 0.515358376122D+04
+ 0.374384000000D+06 0.154599547386D-06-0.230045069313D+01-0.279396772385D-07
+ 0.978784253539D+00 0.341687500000D+03 0.291712638317D+00-0.814141055100D-08
+ 0.914323799542D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.930000000000D+02
+ 0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 7 59 44.0-0.137863680720D-04 0.909494701773D-12 0.000000000000D+00
+ 0.190000000000D+03-0.105875000000D+03 0.394659296287D-08-0.780158242459D+00
+ -0.536441802979D-05 0.224704085849D-02 0.642240047455D-05 0.515353888130D+04
+ 0.374384000000D+06 0.242143869400D-07-0.125582734038D+01 0.447034835815D-07
+ 0.986413897973D+00 0.272125000000D+03 0.912928798897D+00-0.783568353053D-08
+ -0.100004165575D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.630000000000D+02-0.116415321827D-07 0.190000000000D+03
+ 0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 7 59 44.0-0.925315544009D-04 0.190993887372D-10 0.000000000000D+00
+ 0.200000000000D+01 0.997500000000D+02 0.407266964304D-08 0.278479690238D+01
+ 0.511668622494D-05 0.175206817221D-01 0.749155879021D-05 0.515372250557D+04
+ 0.374384000000D+06-0.188127160072D-06 0.303737820539D+01-0.204890966415D-06
+ 0.965561681645D+00 0.234531250000D+03-0.269765135809D+01-0.763138930657D-08
+ 0.757174396496D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.200000000000D+01
+ 0.372330000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 7 59 44.0-0.907941721380D-04 0.272848410532D-11 0.000000000000D+00
+ 0.124000000000D+03 0.210937500000D+02 0.458161941427D-08 0.298496885799D+00
+ 0.910833477974D-06 0.226887559984D-02 0.202283263207D-05 0.515379680633D+04
+ 0.374384000000D+06-0.409781932831D-07-0.232387525048D+01 0.186264514923D-07
+ 0.962458706588D+00 0.341000000000D+03 0.141718644234D+01-0.839356391134D-08
+ 0.582167106740D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.124000000000D+03
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 7 59 44.0 0.443881377578D-03-0.143245415529D-10 0.000000000000D+00
+ 0.179000000000D+03-0.196875000000D+01 0.528843457024D-08 0.162335791423D-01
+ -0.949949026108D-07 0.798735313583D-02 0.647827982903D-05 0.515375590706D+04
+ 0.374384000000D+06-0.577419996262D-07 0.791979722117D+00 0.428408384323D-07
+ 0.943195027653D+00 0.244718750000D+03 0.127883095183D+01-0.843427989304D-08
+ 0.325013538118D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.179000000000D+03
+ 0.370218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 8 0 0.0 0.781468115747D-04 0.295585778076D-11 0.000000000000D+00
+ 0.480000000000D+02 0.156562500000D+02 0.525379027002D-08-0.216461914885D+01
+ 0.787898898125D-06 0.661686446983D-02 0.799819827080D-05 0.515371599960D+04
+ 0.374400000000D+06 0.614672899246D-07 0.179187950114D+01-0.745058059692D-07
+ 0.926937332306D+00 0.207843750000D+03 0.600818443643D+00-0.818391232137D-08
+ -0.348585948575D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.419095158577D-08 0.480000000000D+02
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 8 0 0.0 0.441110227257D-03-0.206910044653D-10 0.000000000000D+00
+ 0.227000000000D+03 0.104656250000D+03 0.432160858377D-08 0.112484555824D+01
+ 0.559166073799D-05 0.704652606510D-02 0.734254717827D-05 0.515354765129D+04
+ 0.374400000000D+06 0.745058059692D-08 0.294131660989D+01 0.119209289551D-06
+ 0.956564423856D+00 0.232281250000D+03-0.627332919506D-03-0.798604693662D-08
+ -0.542879755978D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.605359673500D-08 0.227000000000D+03
+ 0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 8 0 0.0-0.161901582032D-03 0.879936123965D-10 0.000000000000D+00
+ 0.169000000000D+03 0.145625000000D+02 0.510985570314D-08 0.208353133327D+01
+ 0.560656189919D-06 0.622847734485D-02 0.816024839878D-05 0.515362981987D+04
+ 0.374400000000D+06 0.223517417908D-07 0.184673199342D+01-0.119209289551D-06
+ 0.934451583225D+00 0.207656250000D+03-0.194738787584D+01-0.813569602725D-08
+ -0.406445501515D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.465661287308D-08 0.169000000000D+03
+ 0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 8 0 0.0 0.624503009021D-04-0.302406988340D-10 0.000000000000D+00
+ 0.126000000000D+03 0.187812500000D+02 0.501735184999D-08-0.198787974104D+01
+ 0.990927219391D-06 0.129260082031D-01 0.839866697788D-05 0.515365566635D+04
+ 0.374400000000D+06 0.266358256340D-06 0.181931606598D+01-0.931322574616D-08
+ 0.936057867276D+00 0.204312500000D+03-0.181186243985D+01-0.793425906517D-08
+ -0.455376111100D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.186264514923D-08 0.126000000000D+03
+ 0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 8 0 0.0-0.190772116184D-04-0.113686837722D-11 0.000000000000D+00
+ 0.117000000000D+03-0.410625000000D+02 0.437268213976D-08 0.228654518573D+01
+ -0.189989805222D-05 0.924167362973D-02 0.906735658646D-05 0.515376914024D+04
+ 0.374400000000D+06 0.197440385818D-06-0.185465920417D+00 0.132247805595D-06
+ 0.967600376485D+00 0.207468750000D+03 0.250875130331D+01-0.773925094229D-08
+ 0.278583032673D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.117000000000D+03
+ 0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 8 0 0.0-0.248947180808D-04-0.170530256582D-11 0.000000000000D+00
+ 0.170000000000D+03-0.481875000000D+02 0.456054710795D-08 0.178818652684D+01
+ -0.266358256340D-05 0.163670388283D-01 0.903010368347D-05 0.515369238472D+04
+ 0.374400000000D+06-0.273808836937D-06-0.257731779677D+00-0.407919287682D-06
+ 0.954711695163D+00 0.204375000000D+03 0.111914284171D+01-0.789961476495D-08
+ 0.381444460121D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.426000000000D+03
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 8 0 0.0 0.575357116759D-04 0.682121026330D-12 0.000000000000D+00
+ 0.710000000000D+02 0.210312500000D+02 0.419231748399D-08-0.875078457570D+00
+ 0.109337270260D-05 0.635625852738D-02 0.219792127609D-05 0.515358378601D+04
+ 0.374400000000D+06 0.154599547386D-06-0.230045083065D+01-0.279396772385D-07
+ 0.978784275482D+00 0.341687500000D+03 0.291711307061D+00-0.814141055100D-08
+ 0.914323799542D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.710000000000D+02
+ 0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 8 0 0.0 0.186603982002D-03 0.363797880709D-11 0.000000000000D+00
+ 0.290000000000D+02 0.104312500000D+03 0.554273087699D-08 0.273292134745D+01
+ 0.540725886822D-05 0.393367011566D-02 0.757910311222D-05 0.515368411255D+04
+ 0.374400000000D+06-0.409781932831D-07 0.280209750325D+01-0.204890966415D-07
+ 0.903680204468D+00 0.202031250000D+03 0.180623682056D+00-0.850999733269D-08
+ -0.685742849657D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.290000000000D+02
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 8 0 0.0-0.314898788929D-04-0.113686837722D-12 0.000000000000D+00
+ 0.145000000000D+03-0.872812500000D+02 0.405159733672D-08-0.204622374187D+01
+ -0.449083745480D-05 0.182397535536D-02 0.622123479843D-05 0.515368432999D+04
+ 0.374400000000D+06 0.186264514923D-07-0.126633642452D+01 0.186264514923D-07
+ 0.980773213553D+00 0.269718750000D+03-0.178009593155D+01-0.782604027171D-08
+ -0.821462788651D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.401000000000D+03
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 8 0 0.0 0.378036871553D-03 0.534328137292D-11 0.000000000000D+00
+ 0.260000000000D+02 0.944062500000D+02 0.420410368922D-08 0.206470230485D+01
+ 0.500865280628D-05 0.881264032796D-02 0.663101673126D-05 0.515358918571D+04
+ 0.374400000000D+06 0.633299350739D-07 0.299532634725D+01 0.124797224999D-06
+ 0.963651963515D+00 0.250750000000D+03 0.234251165940D+01-0.780603943859D-08
+ -0.896465912832D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.400000000000D+01 0.000000000000D+00-0.279396772385D-08 0.282000000000D+03
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 8 0 0.0 0.198371708393D-05-0.227373675443D-12 0.000000000000D+00
+ 0.420000000000D+02-0.412500000000D+01 0.473162566263D-08 0.917121924415D+00
+ -0.322237610817D-06 0.245773082133D-02 0.682100653648D-05 0.515368072319D+04
+ 0.374400000000D+06-0.167638063431D-07 0.827240866680D+00-0.409781932831D-07
+ 0.961288304831D+00 0.249468750000D+03-0.121140262472D+01-0.800890503161D-08
+ -0.142863093678D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.298000000000D+03
+ 0.373518000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 8 0 0.0-0.119051896036D-03-0.375166564481D-11 0.000000000000D+00
+ 0.450000000000D+02 0.154375000000D+02 0.456554731623D-08 0.578431320501D+00
+ 0.780448317528D-06 0.553583621513D-02 0.249594449997D-05 0.515371952248D+04
+ 0.374400000000D+06 0.316649675369D-07-0.227138510172D+01 0.838190317154D-07
+ 0.962593113650D+00 0.332593750000D+03-0.280318672915D+01-0.832820404598D-08
+ 0.342871424828D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.301000000000D+03
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 8 0 0.0-0.118957832456D-04-0.795807864051D-12 0.000000000000D+00
+ 0.232000000000D+03 0.314062500000D+02 0.447268630534D-08-0.303499631144D+00
+ 0.165775418282D-05 0.308413454332D-02 0.893697142601D-05 0.515364310074D+04
+ 0.374400000000D+06-0.260770320892D-07 0.192789441636D+01 0.521540641785D-07
+ 0.959205628822D+00 0.208687500000D+03-0.177766458949D+01-0.791747265166D-08
+ -0.407874132452D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.232000000000D+03
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 8 0 0.0 0.880388543010D-04 0.102318153950D-11 0.000000000000D+00
+ 0.220000000000D+03 0.909062500000D+02 0.452733143867D-08 0.198984586637D+01
+ 0.483728945255D-05 0.933518412057D-02 0.722520053387D-05 0.515365765190D+04
+ 0.374400000000D+06-0.521540641785D-07 0.296457476909D+01 0.175088644028D-06
+ 0.950172860159D+00 0.234250000000D+03 0.311216009503D+01-0.806069290307D-08
+ -0.121076471893D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.121071934700D-07 0.476000000000D+03
+ 0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 8 0 0.0 0.162627547979D-04 0.227373675443D-12 0.000000000000D+00
+ 0.190000000000D+03 0.912500000000D+01 0.464662212189D-08-0.124731742449D+01
+ 0.584870576859D-06 0.506225926802D-02 0.260211527348D-05 0.515368374825D+04
+ 0.374400000000D+06-0.856816768646D-07-0.226212475128D+01 0.651925802231D-07
+ 0.960008097905D+00 0.329875000000D+03-0.147691166458D+01-0.835570519152D-08
+ 0.728601777760D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.190000000000D+03
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 8 0 0.0 0.211500562728D-03 0.568434188608D-12 0.000000000000D+00
+ 0.205000000000D+03-0.107718750000D+03 0.446840041253D-08-0.165493469083D+01
+ -0.547245144844D-05 0.364430551417D-02 0.645406544209D-05 0.515372656632D+04
+ 0.374400000000D+06-0.689178705216D-07-0.127133313094D+01 0.204890966415D-07
+ 0.962921687976D+00 0.260406250000D+03 0.223691834508D+01-0.808355099806D-08
+ 0.107147320259D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.461000000000D+03
+ 0.370938000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 8 0 0.0 0.895336270332D-04 0.284217094304D-11 0.000000000000D+00
+ 0.134000000000D+03 0.110687500000D+03 0.405266880992D-08 0.249887557053D+01
+ 0.581704080105D-05 0.907545315567D-02 0.732578337193D-05 0.515220286369D+04
+ 0.374400000000D+06 0.106170773506D-06 0.297030756468D+01-0.260770320892D-07
+ 0.966855296215D+00 0.236312500000D+03-0.126156993313D+01-0.774960851659D-08
+ -0.321441960777D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.134000000000D+03
+ 0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 8 0 0.0 0.843354500830D-04 0.909494701773D-12 0.000000000000D+00
+ 0.170000000000D+02-0.494375000000D+02 0.469126683867D-08 0.259459699515D+01
+ -0.244937837124D-05 0.118060989771D-01 0.884942710400D-05 0.515361568642D+04
+ 0.374400000000D+06 0.134110450745D-06-0.309062731166D+00-0.819563865662D-07
+ 0.947887608032D+00 0.197625000000D+03-0.151565097441D+01-0.779925344164D-08
+ 0.264296723305D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.273000000000D+03
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 8 0 0.0 0.317139551044D-03 0.557065504836D-11 0.000000000000D+00
+ 0.790000000000D+02-0.991562500000D+02 0.390123393062D-08-0.267130305509D+01
+ -0.530295073986D-05 0.158496513031D-01 0.620074570179D-05 0.515375021362D+04
+ 0.374400000000D+06 0.428408384323D-07-0.125373448246D+01-0.286847352982D-06
+ 0.984699134157D+00 0.273468750000D+03 0.651669108886D+00-0.761103131572D-08
+ 0.692886004340D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.651925802231D-08 0.790000000000D+02
+ 0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 8 0 0.0 0.513622071594D-03 0.625277607469D-11 0.000000000000D+00
+ 0.200000000000D+02-0.470937500000D+02 0.480734310228D-08 0.982744178211D+00
+ -0.229850411415D-05 0.188516991911D-01 0.966154038906D-05 0.515366187096D+04
+ 0.374400000000D+06-0.244006514549D-06-0.279551454452D+00 0.152736902237D-06
+ 0.952417687471D+00 0.197000000000D+03-0.208886283727D+01-0.830284584686D-08
+ 0.225009372544D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.200000000000D+02
+ 0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 8 0 0.0 0.464823096991D-04 0.113686837722D-12 0.000000000000D+00
+ 0.154000000000D+03-0.593750000000D+00 0.492806241644D-08-0.305241299485D+00
+ -0.521540641785D-07 0.957338337321D-02 0.627711415291D-05 0.515363205147D+04
+ 0.374400000000D+06 0.558793544769D-08 0.837522411473D+00 0.108033418655D-06
+ 0.959272311554D+00 0.257093750000D+03-0.236688972628D+01-0.822927135361D-08
+ -0.275011455331D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.102445483208D-07 0.154000000000D+03
+ 0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 8 0 0.0 0.178344082087D-03-0.189857018995D-10 0.000000000000D+00
+ 0.219000000000D+03-0.897812500000D+02 0.406124059554D-08-0.583413381646D+00
+ -0.485219061375D-05 0.877670187037D-02 0.604428350925D-05 0.515359386444D+04
+ 0.374400000000D+06-0.147148966789D-06-0.128695111562D+01-0.931322574615D-08
+ 0.981573619921D+00 0.277468750000D+03-0.122385148996D+01-0.798033241288D-08
+ 0.507163982558D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.219000000000D+03
+ 0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 8 0 0.0 0.443882308900D-03-0.143245415529D-10 0.000000000000D+00
+ 0.152000000000D+03-0.196875000000D+01 0.528843457024D-08 0.185670841593D-01
+ -0.949949026108D-07 0.798735732678D-02 0.647827982903D-05 0.515375591278D+04
+ 0.374400000000D+06-0.577419996262D-07 0.791979580214D+00 0.428408384323D-07
+ 0.943194986691D+00 0.244718750000D+03 0.127883103814D+01-0.843427989304D-08
+ 0.325013538118D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.838190317154D-08 0.408000000000D+03
+ 0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 9 59 28.0 0.575454905629D-04 0.682121026330D-12 0.000000000000D+00
+ 0.121000000000D+03 0.217187500000D+02 0.418338854064D-08 0.170529807708D+00
+ 0.118650496006D-05 0.635737960693D-02 0.190734863281D-05 0.515358595085D+04
+ 0.381568000000D+06 0.670552253723D-07-0.230050951268D+01 0.689178705216D-07
+ 0.978784331073D+00 0.349968750000D+03 0.291668352861D+00-0.824927218673D-08
+ 0.678599694973D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.232830643654D-08 0.121000000000D+03
+ 0.381570000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 9 59 44.0-0.161265954375D-03 0.879936123965D-10 0.000000000000D+00
+ 0.189000000000D+03 0.107187500000D+02 0.511378443822D-08 0.313148409154D+01
+ 0.467523932457D-06 0.622893776745D-02 0.824593007565D-05 0.515362861633D+04
+ 0.381584000000D+06 0.353902578354D-07 0.184667410283D+01-0.242143869400D-07
+ 0.934448809532D+00 0.204281250000D+03-0.194746186731D+01-0.806140721854D-08
+ -0.438232539859D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.445000000000D+03
+ 0.374748000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 9 59 44.0-0.249138101935D-04-0.181898940355D-11 0.000000000000D+00
+ 0.195000000000D+03-0.547500000000D+02 0.447340062081D-08 0.283608825707D+01
+ -0.289268791676D-05 0.163680948317D-01 0.921078026295D-05 0.515368962288D+04
+ 0.381584000000D+06 0.689178705216D-07-0.257786558645D+00-0.214204192162D-06
+ 0.954715744520D+00 0.195875000000D+03 0.111907719033D+01-0.756317217934D-08
+ 0.333585323739D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.558793544769D-08 0.707000000000D+03
+ 0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 9 59 44.0 0.575389713049D-04 0.682121026330D-12 0.000000000000D+00
+ 0.940000000000D+02 0.217187500000D+02 0.418338854064D-08 0.172864853178D+00
+ 0.118650496006D-05 0.635737134144D-02 0.190734863281D-05 0.515358593941D+04
+ 0.381584000000D+06 0.670552253723D-07-0.230050965019D+01 0.689178705216D-07
+ 0.978784326684D+00 0.349968750000D+03 0.291667222025D+00-0.824927218673D-08
+ 0.678599694973D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.232830643654D-08 0.940000000000D+02
+ 0.378270000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 9 59 44.0-0.119077507406D-03-0.375166564481D-11 0.000000000000D+00
+ 0.640000000000D+02 0.197187500000D+02 0.454161774804D-08 0.162637149036D+01
+ 0.959262251854D-06 0.553591013886D-02 0.211410224438D-05 0.515371846008D+04
+ 0.381584000000D+06-0.260770320892D-07-0.227144479171D+01 0.894069671631D-07
+ 0.962593270182D+00 0.337750000000D+03-0.280330765834D+01-0.831106047474D-08
+ 0.235724104569D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.640000000000D+02
+ 0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 9 59 44.0 0.880490988493D-04 0.113686837722D-11 0.000000000000D+00
+ 0.239000000000D+03 0.991562500000D+02 0.450233039728D-08 0.303776263247D+01
+ 0.515952706337D-05 0.933647796046D-02 0.757537782192D-05 0.515365510941D+04
+ 0.381584000000D+06-0.145286321640D-06 0.296451670295D+01-0.745058059692D-08
+ 0.950172947934D+00 0.227250000000D+03 0.311210101070D+01-0.790854370830D-08
+ -0.207151485834D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.239000000000D+03
+ 0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 9 59 44.0 0.843410380185D-04 0.909494701773D-12 0.000000000000D+00
+ 0.410000000000D+02-0.470625000000D+02 0.470055293976D-08-0.264071861093D+01
+ -0.231154263020D-05 0.118060510140D-01 0.893138349056D-05 0.515361578178D+04
+ 0.381584000000D+06 0.119209289551D-06-0.309119430945D+00 0.912696123123D-07
+ 0.947889998440D+00 0.197125000000D+03-0.151563668755D+01-0.779461039110D-08
+ 0.395016454021D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.297000000000D+03
+ 0.377718000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 9 59 44.0 0.317179597914D-03 0.557065504836D-11 0.000000000000D+00
+ 0.102000000000D+03-0.102437500000D+03 0.385158900557D-08-0.162352348730D+01
+ -0.542216002941D-05 0.158501318656D-01 0.564754009247D-05 0.515374929237D+04
+ 0.381584000000D+06 0.214204192162D-06-0.125378950134D+01-0.212341547012D-06
+ 0.984699954854D+00 0.277218750000D+03 0.651686204546D+00-0.765817613663D-08
+ 0.108575951196D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.358000000000D+03
+ 0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 9 59 44.0 0.178208574653D-03-0.189857018995D-10 0.000000000000D+00
+ 0.200000000000D+01-0.101937500000D+03 0.402838208400D-08 0.464414579474D+00
+ -0.543892383575D-05 0.877785461489D-02 0.604800879955D-05 0.515359600830D+04
+ 0.381584000000D+06-0.428408384323D-07-0.128700793536D+01-0.139698386192D-06
+ 0.981573366836D+00 0.276031250000D+03-0.122378721958D+01-0.801676250177D-08
+ -0.764317551180D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.200000000000D+01
+ 0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 9 59 44.0 0.443778000772D-03-0.143245415529D-10 0.000000000000D+00
+ 0.180000000000D+03 0.437500000000D+00 0.529700635586D-08 0.106641097353D+01
+ -0.335276126862D-07 0.798688561190D-02 0.636279582977D-05 0.515375481796D+04
+ 0.381584000000D+06-0.173225998879D-06 0.791918715508D+00 0.409781932831D-07
+ 0.943195488472D+00 0.247906250000D+03 0.127879030318D+01-0.838856370306D-08
+ 0.964325882329D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.180000000000D+03
+ 0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 10 0 0.0 0.383886042982D-03 0.193267624127D-11 0.000000000000D+00
+ 0.210000000000D+03-0.871562500000D+02 0.397409410840D-08-0.180134758888D+01
+ -0.442564487457D-05 0.603287818376D-02 0.626780092716D-05 0.515362902641D+04
+ 0.381600000000D+06 0.838190317154D-07-0.123962089251D+01 0.124797224999D-06
+ 0.982226384209D+00 0.267812500000D+03-0.165771365294D+01-0.776925219197D-08
+ -0.714315468392D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.466000000000D+03
+ 0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 10 0 0.0-0.424631871283D-04 0.568434188608D-11 0.000000000000D+00
+ 0.410000000000D+02 0.100718750000D+03 0.436089593453D-08-0.144433762989D+00
+ 0.538118183613D-05 0.949844147544D-02 0.802613794804D-05 0.515366068840D+04
+ 0.381600000000D+06-0.221654772759D-06 0.292119572533D+01-0.651925802231D-07
+ 0.956873968544D+00 0.225843750000D+03 0.174997004930D+01-0.808962267954D-08
+ -0.571452374714D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.172294676304D-07 0.410000000000D+02
+ 0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 10 0 0.0 0.781686976552D-04 0.295585778076D-11 0.000000000000D+00
+ 0.430000000000D+02 0.125000000000D+02 0.530772108789D-08-0.111444050805D+01
+ 0.629574060440D-06 0.661719311029D-02 0.778958201408D-05 0.515371617127D+04
+ 0.381600000000D+06 0.197440385819D-06 0.179182094346D+01 0.223517417908D-07
+ 0.926934337713D+00 0.211875000000D+03 0.600800285903D+00-0.827927343640D-08
+ -0.434660962517D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.419095158577D-08 0.555000000000D+03
+ 0.380520000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 10 0 0.0 0.440961215645D-03-0.206910044653D-10 0.000000000000D+00
+ 0.228000000000D+03 0.112218750000D+03 0.439875465436D-08 0.217508896535D+01
+ 0.585801899433D-05 0.704703095835D-02 0.775232911110D-05 0.515354776001D+04
+ 0.381600000000D+06-0.353902578354D-07 0.294125936591D+01 0.521540641785D-07
+ 0.956563809431D+00 0.230781250000D+03-0.614775230713D-03-0.797390357366D-08
+ -0.975040614355D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.228000000000D+03
+ 0.376848000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 10 0 0.0 0.732326880097D-04 0.250111042988D-11 0.000000000000D+00
+ 0.174000000000D+03 0.334375000000D+01 0.535129433146D-08 0.190865909609D+01
+ 0.484287738800D-07 0.591771968175D-02 0.639818608761D-05 0.515361751938D+04
+ 0.381600000000D+06-0.158324837685D-06 0.748910114792D+00-0.100582838059D-06
+ 0.936418157666D+00 0.242062500000D+03 0.937399143717D+00-0.828248785601D-08
+ 0.158220876249D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.174000000000D+03
+ 0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 10 0 0.0 0.622323714197D-04-0.302406988340D-10 0.000000000000D+00
+ 0.127000000000D+03 0.211250000000D+02 0.522771775543D-08-0.937631114248D+00
+ 0.116229057312D-05 0.129263278795D-01 0.827200710774D-05 0.515365699577D+04
+ 0.381600000000D+06-0.135973095894D-06 0.181925775406D+01 0.206753611565D-06
+ 0.936052273077D+00 0.210437500000D+03-0.181191518097D+01-0.840499295884D-08
+ -0.513592821774D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.186264514923D-08 0.127000000000D+03
+ 0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 10 0 0.0-0.190851278603D-04-0.113686837722D-11 0.000000000000D+00
+ 0.118000000000D+03-0.412500000000D+02 0.432160858377D-08-0.294655995991D+01
+ -0.197812914848D-05 0.924153276719D-02 0.938400626183D-05 0.515376961136D+04
+ 0.381600000000D+06-0.651925802231D-07-0.185522157914D+00 0.156462192535D-06
+ 0.967603460317D+00 0.202437500000D+03 0.250879247568D+01-0.762674625602D-08
+ 0.448947271884D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.118000000000D+03
+ 0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 10 0 0.0 0.186630524695D-03 0.363797880709D-11 0.000000000000D+00
+ 0.300000000000D+02 0.934375000000D+02 0.551915846653D-08-0.250025419527D+01
+ 0.484101474285D-05 0.393456860911D-02 0.774487853050D-05 0.515368228149D+04
+ 0.381600000000D+06-0.931322574616D-08 0.280203647762D+01 0.558793544769D-08
+ 0.903679869460D+00 0.201093750000D+03 0.180795472526D+00-0.846642408912D-08
+ -0.771460705864D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.300000000000D+02
+ 0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 10 0 0.0-0.137793831527D-04 0.909494701773D-12 0.000000000000D+00
+ 0.191000000000D+03-0.998750000000D+02 0.385873216025D-08 0.272360101737D+00
+ -0.532530248165D-05 0.224778044503D-02 0.662356615067D-05 0.515354015350D+04
+ 0.381600000000D+06-0.745058059692D-08-0.125588382218D+01 0.502914190292D-07
+ 0.986413820438D+00 0.268312500000D+03 0.913003336036D+00-0.782854037584D-08
+ -0.228580949886D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.630000000000D+02-0.116415321827D-07 0.191000000000D+03
+ 0.375318000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 10 0 0.0-0.314908102155D-04-0.113686837722D-12 0.000000000000D+00
+ 0.146000000000D+03-0.867500000000D+02 0.402409619119D-08-0.995399998085D+00
+ -0.447221100330D-05 0.182426569518D-02 0.583752989769D-05 0.515368659592D+04
+ 0.381600000000D+06-0.335276126862D-07-0.126639290340D+01 0.372529029846D-07
+ 0.980772890248D+00 0.279062500000D+03-0.178074913178D+01-0.787925677410D-08
+ -0.132148361653D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.402000000000D+03
+ 0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 10 0 0.0 0.378075055778D-03 0.534328137292D-11 0.000000000000D+00
+ 0.270000000000D+02 0.932812500000D+02 0.419017453759D-08 0.311485471260D+01
+ 0.490061938763D-05 0.881183461752D-02 0.715442001820D-05 0.515359112930D+04
+ 0.381600000000D+06-0.223517417908D-07 0.299526998541D+01 0.132247805595D-06
+ 0.963651439791D+00 0.242906250000D+03 0.234258885905D+01-0.777710966212D-08
+ -0.496449250533D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.279396772385D-08 0.283000000000D+03
+ 0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 10 0 0.0 0.198278576136D-05-0.227373675443D-12 0.000000000000D+00
+ 0.430000000000D+02-0.328125000000D+01 0.479377110838D-08 0.196713131290D+01
+ -0.134110450745D-06 0.245781859849D-02 0.638701021671D-05 0.515368152809D+04
+ 0.381600000000D+06 0.111758708954D-07 0.827183245262D+00-0.596046447754D-07
+ 0.961288255091D+00 0.252343750000D+03-0.121123394588D+01-0.800069040373D-08
+ -0.857178562071D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.299000000000D+03
+ 0.375078000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 10 0 0.0-0.923932529986D-04 0.192130755750D-10 0.000000000000D+00
+ 0.300000000000D+01 0.110593750000D+03 0.406266922648D-08-0.244589680567D+01
+ 0.561773777008D-05 0.175190682057D-01 0.731460750103D-05 0.515372548103D+04
+ 0.381600000000D+06-0.931322574616D-08 0.303732236874D+01-0.322237610817D-06
+ 0.965562121984D+00 0.239750000000D+03-0.269766229486D+01-0.772710757933D-08
+ 0.170721396946D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.300000000000D+01
+ 0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 10 0 0.0-0.119078904390D-03-0.375166564481D-11 0.000000000000D+00
+ 0.400000000000D+02 0.197187500000D+02 0.454161774804D-08 0.162870413811D+01
+ 0.959262251854D-06 0.553590920754D-02 0.211410224438D-05 0.515371846199D+04
+ 0.381600000000D+06-0.260770320892D-07-0.227144492191D+01 0.894069671631D-07
+ 0.962593276034D+00 0.337750000000D+03-0.280330659919D+01-0.831106047474D-08
+ 0.235724104569D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.102445483208D-07 0.552000000000D+03
+ 0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 10 0 0.0-0.119018368423D-04-0.795807864051D-12 0.000000000000D+00
+ 0.227000000000D+03 0.263125000000D+02 0.450983070969D-08 0.746656555322D+00
+ 0.139325857163D-05 0.308312114794D-02 0.862032175064D-05 0.515364128304D+04
+ 0.381600000000D+06-0.316649675369D-07 0.192783773267D+01-0.223517417908D-07
+ 0.959202464530D+00 0.215687500000D+03-0.177762053664D+01-0.791604402072D-08
+ -0.467876631797D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.139698386192D-07 0.483000000000D+03
+ 0.374460000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 10 0 0.0-0.907746143639D-04 0.272848410532D-11 0.000000000000D+00
+ 0.125000000000D+03 0.220625000000D+02 0.450661629009D-08 0.135102250362D+01
+ 0.113621354103D-05 0.226908188779D-02 0.215880572796D-05 0.515379679680D+04
+ 0.381600000000D+06-0.745058059692D-07-0.232393594403D+01-0.521540641785D-07
+ 0.962459367827D+00 0.336843750000D+03 0.141710001021D+01-0.834391898629D-08
+ 0.907180644858D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.125000000000D+03
+ 0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 10 0 0.0 0.880467705429D-04 0.102318153950D-11 0.000000000000D+00
+ 0.215000000000D+03 0.991562500000D+02 0.450233039728D-08 0.304009592536D+01
+ 0.515952706337D-05 0.933646946214D-02 0.757537782192D-05 0.515365510559D+04
+ 0.381600000000D+06-0.145286321640D-06 0.296451658445D+01-0.745058059692D-08
+ 0.950172950860D+00 0.227250000000D+03 0.311210153589D+01-0.790854370830D-08
+ -0.207151485834D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.121071934700D-07 0.727000000000D+03
+ 0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 10 0 0.0 0.162636861205D-04 0.227373675443D-12 0.000000000000D+00
+ 0.191000000000D+03 0.147187500000D+02 0.460340603605D-08-0.197027047470D+00
+ 0.711530447006D-06 0.506271165796D-02 0.253878533840D-05 0.515368511963D+04
+ 0.381600000000D+06-0.726431608200D-07-0.226218523271D+01-0.186264514923D-08
+ 0.960008620167D+00 0.330250000000D+03-0.147702700250D+01-0.838927801853D-08
+ 0.875036448780D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.181607902050D-07 0.191000000000D+03
+ 0.374790000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 10 0 0.0 0.211504288018D-03 0.568434188608D-12 0.000000000000D+00
+ 0.206000000000D+03-0.100031250000D+03 0.435518141079D-08-0.604524768540D+00
+ -0.540353357792D-05 0.364449631888D-02 0.629387795925D-05 0.515372834396D+04
+ 0.381600000000D+06-0.447034835815D-07-0.127139153355D+01-0.223517417908D-07
+ 0.962921793306D+00 0.259125000000D+03 0.223665546309D+01-0.810390898891D-08
+ 0.203579908492D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.214204192162D-07 0.462000000000D+03
+ 0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 10 0 0.0 0.895545817912D-04 0.284217094304D-11 0.000000000000D+00
+ 0.135000000000D+03 0.117843750000D+03 0.416660212713D-08-0.273324684087D+01
+ 0.608339905739D-05 0.907665013801D-02 0.729225575924D-05 0.515220071030D+04
+ 0.381600000000D+06 0.117346644402D-06 0.297025160514D+01 0.316649675369D-07
+ 0.966855239162D+00 0.242906250000D+03-0.126155482265D+01-0.775353725166D-08
+ 0.107147320259D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.135000000000D+03
+ 0.375618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 10 0 0.0 0.843419693410D-04 0.909494701773D-12 0.000000000000D+00
+ 0.180000000000D+02-0.470625000000D+02 0.470055293976D-08-0.263838450465D+01
+ -0.231154263020D-05 0.118060524110D-01 0.893138349056D-05 0.515361577988D+04
+ 0.381600000000D+06 0.119209289551D-06-0.309119574311D+00 0.912696123123D-07
+ 0.947889996977D+00 0.197125000000D+03-0.151563694503D+01-0.779461039110D-08
+ 0.395016454021D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.274000000000D+03
+ 0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 10 0 0.0 0.317180063576D-03 0.557065504836D-11 0.000000000000D+00
+ 0.800000000000D+02-0.102437500000D+03 0.385158900557D-08-0.162118957120D+01
+ -0.542216002941D-05 0.158501281403D-01 0.564754009247D-05 0.515374930573D+04
+ 0.381600000000D+06 0.214204192162D-06-0.125378962569D+01-0.212341547012D-06
+ 0.984699957780D+00 0.277218750000D+03 0.651685837354D+00-0.765817613663D-08
+ 0.108575951196D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.800000000000D+02
+ 0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 10 0 0.0 0.513667240739D-03 0.625277607469D-11 0.000000000000D+00
+ 0.150000000000D+02-0.558437500000D+02 0.459947730098D-08 0.203288559798D+01
+ -0.309944152832D-05 0.188522202661D-01 0.957772135735D-05 0.515366361237D+04
+ 0.381600000000D+06-0.150874257088D-06-0.279611319985D+00-0.413507223129D-06
+ 0.952422079151D+00 0.193687500000D+03-0.208881492670D+01-0.780639659632D-08
+ 0.443589905872D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.271000000000D+03
+ 0.381288000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 10 0 0.0 0.464832410216D-04 0.113686837722D-12 0.000000000000D+00
+ 0.155000000000D+03 0.503125000000D+01 0.493806283300D-08 0.744940065264D+00
+ 0.402331352234D-06 0.957428663969D-02 0.654160976410D-05 0.515363385582D+04
+ 0.381600000000D+06-0.391155481339D-07 0.837463325675D+00 0.912696123123D-07
+ 0.959272076024D+00 0.253625000000D+03-0.236686229802D+01-0.821605651745D-08
+ -0.542879755978D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.155000000000D+03
+ 0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 10 0 0.0 0.178207177669D-03-0.189857018995D-10 0.000000000000D+00
+ 0.220000000000D+03-0.101937500000D+03 0.402838208400D-08 0.466748416574D+00
+ -0.543892383575D-05 0.877785379998D-02 0.604800879955D-05 0.515359600639D+04
+ 0.381600000000D+06-0.428408384323D-07-0.128700805678D+01-0.139698386192D-06
+ 0.981573385854D+00 0.276031250000D+03-0.122378719617D+01-0.801676250177D-08
+ -0.764317551180D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.220000000000D+03
+ 0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 11 59 28.0 0.575501471758D-04 0.682121026330D-12 0.000000000000D+00
+ 0.122000000000D+03 0.243437500000D+02 0.416695928487D-08 0.122072896593D+01
+ 0.142306089401D-05 0.635770102963D-02 0.203214585781D-05 0.515358668327D+04
+ 0.388768000000D+06-0.633299350739D-07-0.230056812742D+01 0.894069671631D-07
+ 0.978784718747D+00 0.349593750000D+03 0.291700640925D+00-0.818034074403D-08
+ -0.200008331150D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.378000000000D+03
+ 0.387648000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 11 59 44.0-0.137723982334D-04 0.909494701773D-12 0.000000000000D+00
+ 0.214000000000D+03-0.914062500000D+02 0.382873091058D-08 0.135878131202D+01
+ -0.486336648464D-05 0.228943163529D-02 0.593438744545D-05 0.515378664207D+04
+ 0.388784000000D+06-0.279396772385D-07-0.125593989729D+01 0.298023223877D-07
+ 0.986413650739D+00 0.276375000000D+03 0.874150079517D+00-0.781996859022D-08
+ -0.350014579512D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.116415321827D-07 0.470000000000D+03
+ 0.384768000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 11 59 44.0 0.378115568310D-03 0.522959453519D-11 0.000000000000D+00
+ 0.480000000000D+02 0.997187500000D+02 0.426696345044D-08-0.212051279050D+01
+ 0.522471964359D-05 0.881316140294D-02 0.767596065998D-05 0.515358839035D+04
+ 0.388784000000D+06-0.141561031342D-06 0.299521401562D+01 0.149011611939D-06
+ 0.963650683462D+00 0.234343750000D+03 0.234266711493D+01-0.786425614926D-08
+ -0.517878714584D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.279396772385D-08 0.480000000000D+02
+ 0.388650000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 11 59 44.0 0.198371708393D-05-0.113686837722D-12 0.000000000000D+00
+ 0.670000000000D+02-0.321875000000D+01 0.487198865217D-08 0.301501854122D+01
+ -0.931322574616D-08 0.245812267531D-02 0.640563666821D-05 0.515368094826D+04
+ 0.388784000000D+06 0.104308128357D-06 0.827124972847D+00 0.689178705216D-07
+ 0.961288515491D+00 0.255062500000D+03-0.121127616130D+01-0.803533470394D-08
+ 0.116433421348D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.323000000000D+03
+ 0.382668000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 11 59 44.0-0.119104050100D-03-0.375166564481D-11 0.000000000000D+00
+ 0.650000000000D+02 0.241250000000D+02 0.447482925174D-08 0.267662592933D+01
+ 0.129081308842D-05 0.553583889268D-02 0.192970037460D-05 0.515371765900D+04
+ 0.388784000000D+06-0.782310962677D-07-0.227150471137D+01-0.130385160446D-07
+ 0.962594010419D+00 0.342218750000D+03-0.280340767805D+01-0.822177104119D-08
+ 0.825034365993D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.102445483208D-07 0.650000000000D+02
+ 0.388050000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 11 59 44.0 0.880570150912D-04 0.113686837722D-11 0.000000000000D+00
+ 0.000000000000D+00 0.104500000000D+03 0.449590155806D-08-0.219518322919D+01
+ 0.529177486897D-05 0.933626270853D-02 0.776536762714D-05 0.515365580559D+04
+ 0.388784000000D+06-0.111758708954D-06 0.296445922928D+01-0.137835741043D-06
+ 0.950172590982D+00 0.225937500000D+03 0.311205402470D+01-0.799354724904D-08
+ 0.285726187357D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.000000000000D+00
+ 0.382230000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 11 59 44.0 0.162711367011D-04 0.227373675443D-12 0.000000000000D+00
+ 0.214000000000D+03 0.243750000000D+02 0.465447959204D-08 0.850933483287D+00
+ 0.120885670185D-05 0.506097963080D-02 0.205263495445D-05 0.515368163872D+04
+ 0.388784000000D+06-0.409781932831D-07-0.226224538351D+01-0.409781932831D-07
+ 0.960009057579D+00 0.338812500000D+03-0.147714552520D+01-0.839927843509D-08
+ 0.539308178636D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.214000000000D+03
+ 0.388799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 11 59 44.0 0.843470916152D-04 0.909494701773D-12 0.000000000000D+00
+ 0.420000000000D+02-0.463125000000D+02 0.474626912973D-08-0.159049827112D+01
+ -0.209733843803D-05 0.118061312242D-01 0.907853245735D-05 0.515361574936D+04
+ 0.388784000000D+06-0.204890966415D-07-0.309175563112D+00 0.268220901489D-06
+ 0.947891952899D+00 0.198156250000D+03-0.151563944515D+01-0.797783230874D-08
+ 0.348228790841D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.298000000000D+03
+ 0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 11 59 44.0 0.317220110446D-03 0.557065504836D-11 0.000000000000D+00
+ 0.103000000000D+03-0.104343750000D+03 0.397337979293D-08-0.573382026566D+00
+ -0.522471964359D-05 0.158500735415D-01 0.590085983276D-05 0.515374954224D+04
+ 0.388784000000D+06 0.160187482834D-06-0.125384480111D+01 0.234693288803D-06
+ 0.984698490473D+00 0.276375000000D+03 0.651674119380D+00-0.805247827518D-08
+ -0.582167106740D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.359000000000D+03
+ 0.388799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 11 59 44.0 0.178071670234D-03-0.189857018995D-10 0.000000000000D+00
+ 0.300000000000D+01-0.113656250000D+03 0.392409202561D-08 0.151451263689D+01
+ -0.603310763836D-05 0.877916638274D-02 0.550225377083D-05 0.515359913445D+04
+ 0.388784000000D+06 0.163912773132D-06-0.128706528906D+01-0.160187482834D-06
+ 0.981573621384D+00 0.283093750000D+03-0.122366232149D+01-0.784282668521D-08
+ -0.696457581682D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.300000000000D+01
+ 0.387660000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 12 0 0.0 0.383900012821D-03 0.193267624127D-11 0.000000000000D+00
+ 0.211000000000D+03-0.859687500000D+02 0.396552232278D-08-0.750929532761D+00
+ -0.445917248726D-05 0.603307702113D-02 0.600889325142D-05 0.515363147163D+04
+ 0.388800000000D+06-0.819563865662D-07-0.123967765520D+01 0.633299350739D-07
+ 0.982225638120D+00 0.277468750000D+03-0.165792830545D+01-0.793604485384D-08
+ 0.114290474943D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.723000000000D+03
+ 0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 12 0 0.0-0.424226745963D-04 0.568434188608D-11 0.000000000000D+00
+ 0.420000000000D+02 0.101312500000D+03 0.449340145392D-08 0.905747927991D+00
+ 0.505521893501D-05 0.949813856278D-02 0.800192356110D-05 0.515366019821D+04
+ 0.388800000000D+06-0.353902578354D-07 0.292113784644D+01-0.173225998879D-06
+ 0.956873144922D+00 0.228937500000D+03 0.174997657977D+01-0.814605360154D-08
+ -0.136434254463D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.420000000000D+02
+ 0.382698000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 12 0 0.0 0.781901180744D-04 0.295585778076D-11 0.000000000000D+00
+ 0.440000000000D+02 0.831250000000D+01 0.545915596719D-08-0.642551539251D-01
+ 0.460073351860D-06 0.661692570429D-02 0.765547156334D-05 0.515371591568D+04
+ 0.388800000000D+06 0.260770320892D-07 0.179176070196D+01 0.949949026108D-07
+ 0.926930376131D+00 0.211031250000D+03 0.600775776174D+00-0.845320925295D-08
+ -0.451090218290D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.419095158577D-08 0.556000000000D+03
+ 0.385728000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 12 0 0.0 0.440812669694D-03-0.206910044653D-10 0.000000000000D+00
+ 0.229000000000D+03 0.108906250000D+03 0.436661045828D-08-0.305786837729D+01
+ 0.556558370590D-05 0.704596180003D-02 0.734813511372D-05 0.515354971695D+04
+ 0.388800000000D+06-0.558793544769D-07 0.294120197856D+01-0.745058059692D-08
+ 0.956563377870D+00 0.238843750000D+03-0.585939652453D-03-0.793318759196D-08
+ -0.725030200418D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.229000000000D+03
+ 0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 12 0 0.0 0.732503831387D-04 0.250111042988D-11 0.000000000000D+00
+ 0.175000000000D+03 0.378125000000D+01 0.532272171272D-08 0.295891067359D+01
+ 0.113621354103D-06 0.591781269759D-02 0.638887286186D-05 0.515361716461D+04
+ 0.388800000000D+06-0.204890966415D-07 0.748851007050D+00-0.115483999252D-06
+ 0.936419753710D+00 0.240406250000D+03 0.937368817425D+00-0.818212653270D-08
+ 0.163221084528D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.419095158577D-08 0.687000000000D+03
+ 0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 12 0 0.0-0.160631258041D-03 0.879936123965D-10 0.000000000000D+00
+ 0.190000000000D+03 0.136562500000D+02 0.509878381338D-08-0.209918318889D+01
+ 0.638887286186D-06 0.622883066535D-02 0.821799039841D-05 0.515362862206D+04
+ 0.388800000000D+06 0.596046447754D-07 0.184661596061D+01-0.223517417908D-07
+ 0.934445637926D+00 0.203312500000D+03-0.194743369443D+01-0.806890753096D-08
+ -0.445375694543D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.446000000000D+03
+ 0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 12 0 0.0 0.620144419372D-04-0.302406988339D-10 0.000000000000D+00
+ 0.128000000000D+03 0.176875000000D+02 0.527843415368D-08 0.112561975790D+00
+ 0.935047864914D-06 0.129256699001D-01 0.806339085102D-05 0.515365580559D+04
+ 0.388800000000D+06-0.135973095894D-06 0.181919652948D+01 0.540167093277D-07
+ 0.936048541173D+00 0.214781250000D+03-0.181191156317D+01-0.848142471395D-08
+ -0.487877464912D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.128000000000D+03
+ 0.388799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 12 0 0.0-0.190935097635D-04-0.113686837722D-11 0.000000000000D+00
+ 0.119000000000D+03-0.382500000000D+02 0.433089468486D-08-0.189642867231D+01
+ -0.194273889065D-05 0.924174301326D-02 0.976584851742D-05 0.515376941872D+04
+ 0.388800000000D+06-0.199303030968D-06-0.185577723931D+00 0.558793544769D-08
+ 0.967606081866D+00 0.201406250000D+03 0.250878250296D+01-0.778496713227D-08
+ 0.486805991709D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.372529029846D-08 0.119000000000D+03
+ 0.384858000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 12 0 0.0-0.249263830483D-04-0.181898940355D-11 0.000000000000D+00
+ 0.196000000000D+03-0.540625000000D+02 0.448197240643D-08-0.239458966025D+01
+ -0.289641320705D-05 0.163678907556D-01 0.920332968235D-05 0.515369000053D+04
+ 0.388800000000D+06 0.253319740295D-06-0.257842494781D+00-0.353902578354D-07
+ 0.954718709855D+00 0.194406250000D+03 0.111907493159D+01-0.762567478282D-08
+ 0.528950604344D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.452000000000D+03
+ 0.388799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 12 0 0.0 0.186657067388D-03 0.363797880709D-11 0.000000000000D+00
+ 0.250000000000D+02 0.821562500000D+02 0.555844581729D-08-0.145033285104D+01
+ 0.429525971413D-05 0.393558561336D-02 0.748224556446D-05 0.515367972565D+04
+ 0.388800000000D+06-0.279396772385D-07 0.280197590989D+01-0.838190317154D-07
+ 0.903679155556D+00 0.206250000000D+03 0.181058376460D+00-0.845928093443D-08
+ -0.145720355552D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.281000000000D+03
+ 0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 12 0 0.0-0.137723982334D-04 0.909494701773D-12 0.000000000000D+00
+ 0.192000000000D+03-0.913437500000D+02 0.383015954152D-08 0.132319483496D+01
+ -0.486150383949D-05 0.224707450252D-02 0.593438744545D-05 0.515353746796D+04
+ 0.388800000000D+06-0.260770320892D-07-0.125594011966D+01 0.279396772385D-07
+ 0.986413583445D+00 0.276406250000D+03 0.912426532308D+00-0.782318300983D-08
+ -0.346443002170D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.630000000000D+02-0.116415321827D-07 0.192000000000D+03
+ 0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 12 0 0.0-0.314912758768D-04-0.113686837722D-12 0.000000000000D+00
+ 0.147000000000D+03-0.945625000000D+02 0.401838166744D-08 0.545950552689D-01
+ -0.504590570927D-05 0.182304601185D-02 0.550597906113D-05 0.515368427086D+04
+ 0.388800000000D+06-0.484287738800D-07-0.126644966462D+01 0.130385160446D-07
+ 0.980772781992D+00 0.284812500000D+03-0.178057437452D+01-0.788389982464D-08
+ -0.196436753808D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.107102096081D-07 0.403000000000D+03
+ 0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 12 0 0.0 0.378112774342D-03 0.534328137292D-11 0.000000000000D+00
+ 0.220000000000D+02 0.997187500000D+02 0.426696345044D-08-0.211817788693D+01
+ 0.522471964359D-05 0.881314685103D-02 0.767596065998D-05 0.515358837318D+04
+ 0.388800000000D+06-0.141561031342D-06 0.299521386348D+01 0.149011611939D-06
+ 0.963650692239D+00 0.234343750000D+03 0.234266624449D+01-0.786425614926D-08
+ -0.517878714584D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.279396772385D-08 0.534000000000D+03
+ 0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 12 0 0.0 0.198138877749D-05-0.113686837722D-12 0.000000000000D+00
+ 0.440000000000D+02-0.321875000000D+01 0.487198865217D-08 0.301735429621D+01
+ -0.931322574616D-08 0.245812896173D-02 0.640563666821D-05 0.515368093681D+04
+ 0.388800000000D+06 0.104308128357D-06 0.827124842647D+00 0.689178705216D-07
+ 0.961288490621D+00 0.255062500000D+03-0.121127809674D+01-0.803533470394D-08
+ 0.116433421348D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.300000000000D+03
+ 0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 12 0 0.0-0.922554172576D-04 0.192130755750D-10 0.000000000000D+00
+ 0.400000000000D+01 0.110718750000D+03 0.420981821297D-08-0.139585492724D+01
+ 0.566802918911D-05 0.175199118676D-01 0.673159956932D-05 0.515372169685D+04
+ 0.388800000000D+06 0.255182385445D-06 0.303726687148D+01-0.348314642906D-06
+ 0.965563358150D+00 0.254718750000D+03-0.269755656100D+01-0.780532512312D-08
+ 0.107504477993D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.400000000000D+01
+ 0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 12 0 0.0-0.119078904390D-04-0.795807864051D-12 0.000000000000D+00
+ 0.228000000000D+03 0.179375000000D+02 0.452768859640D-08 0.179652804476D+01
+ 0.761821866036D-06 0.308364187367D-02 0.833719968796D-05 0.515364340210D+04
+ 0.388800000000D+06 0.186264514923D-08 0.192778074470D+01-0.521540641785D-07
+ 0.959199234407D+00 0.217406250000D+03-0.177729219346D+01-0.788497129785D-08
+ -0.462519265784D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.740000000000D+03
+ 0.388398000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 12 0 0.0-0.907555222511D-04 0.272848410532D-11 0.000000000000D+00
+ 0.126000000000D+03 0.248125000000D+02 0.443018453497D-08 0.240131252076D+01
+ 0.129640102387D-05 0.226895557717D-02 0.237487256527D-05 0.515379611588D+04
+ 0.388800000000D+06 0.558793544769D-07-0.232399536483D+01-0.558793544769D-08
+ 0.962460617159D+00 0.333281250000D+03 0.141691570301D+01-0.820355599675D-08
+ 0.767889128522D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.126000000000D+03
+ 0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 12 0 0.0 0.162650831044D-04 0.227373675443D-12 0.000000000000D+00
+ 0.192000000000D+03 0.243750000000D+02 0.465447959204D-08 0.853264811482D+00
+ 0.120885670185D-05 0.506098812912D-02 0.205263495445D-05 0.515368165779D+04
+ 0.388800000000D+06-0.409781932831D-07-0.226224551664D+01-0.409781932831D-07
+ 0.960009064894D+00 0.338812500000D+03-0.147714320355D+01-0.839927843509D-08
+ 0.539308178636D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.181607902050D-07 0.192000000000D+03
+ 0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 12 0 0.0 0.211508478969D-03 0.568434188608D-12 0.000000000000D+00
+ 0.207000000000D+03-0.866875000000D+02 0.439446876155D-08 0.445506657346D+00
+ -0.459328293800D-05 0.364227220416D-02 0.572577118874D-05 0.515372407532D+04
+ 0.388800000000D+06 0.186264514923D-08-0.127144979280D+01-0.391155481339D-07
+ 0.962921747956D+00 0.268750000000D+03 0.223677201963D+01-0.812069540242D-08
+ -0.110718897601D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.214204192162D-07 0.463000000000D+03
+ 0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 12 0 0.0 0.895755365491D-04 0.284217094304D-11 0.000000000000D+00
+ 0.136000000000D+03 0.111062500000D+03 0.418231706744D-08-0.168205483087D+01
+ 0.588409602642D-05 0.907580682542D-02 0.716745853424D-05 0.515220317841D+04
+ 0.388800000000D+06-0.577419996262D-07 0.297019551686D+01 0.197440385819D-06
+ 0.966854146362D+00 0.250062500000D+03-0.126166853966D+01-0.796747473445D-08
+ -0.446447167745D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.136000000000D+03
+ 0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 12 0 0.0 0.513712409884D-03 0.625277607469D-11 0.000000000000D+00
+ 0.160000000000D+02-0.533437500000D+02 0.451018786743D-08 0.308307696909D+01
+ -0.290013849735D-05 0.188520101365D-01 0.947900116444D-05 0.515366384697D+04
+ 0.388800000000D+06 0.109896063805D-06-0.279666028733D+00-0.242143869400D-06
+ 0.952426017327D+00 0.192062500000D+03-0.208881915892D+01-0.759424490221D-08
+ 0.416088760338D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.272000000000D+03
+ 0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 12 0 0.0 0.464846380055D-04 0.113686837722D-12 0.000000000000D+00
+ 0.150000000000D+03 0.500000000000D+00 0.488306054193D-08 0.179506274652D+01
+ 0.130385160446D-07 0.957459548954D-02 0.687129795551D-05 0.515363550568D+04
+ 0.388800000000D+06-0.270083546639D-06 0.837403559619D+00-0.372529029846D-08
+ 0.959272510510D+00 0.249437500000D+03-0.236677684752D+01-0.808033657845D-08
+ 0.978612191697D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.406000000000D+03
+ 0.388398000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 12 0 0.0 0.443674158305D-03-0.143245415529D-10 0.000000000000D+00
+ 0.181000000000D+03 0.331250000000D+01 0.518343019639D-08 0.211895796752D+01
+ 0.279396772385D-07 0.798685534392D-02 0.639632344246D-05 0.515375366592D+04
+ 0.388800000000D+06 0.335276126862D-07 0.791858728552D+00-0.175088644028D-06
+ 0.943197726737D+00 0.244562500000D+03 0.127871417293D+01-0.809569436102D-08
+ 0.162863926793D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.838190317154D-08 0.181000000000D+03
+ 0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 13 59 44.0 0.782082788646D-04 0.295585778076D-11 0.000000000000D+00
+ 0.690000000000D+02 0.643750000000D+01 0.548308553538D-08 0.983536449292D+00
+ 0.540167093277D-06 0.661684502848D-02 0.791810452938D-05 0.515371598434D+04
+ 0.395984000000D+06-0.633299350739D-07 0.179170047947D+01 0.782310962677D-07
+ 0.926927036289D+00 0.207593750000D+03 0.600812433975D+00-0.841392190219D-08
+ -0.513592821774D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.325000000000D+03
+ 0.390648000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 13 59 44.0-0.249375589192D-04-0.181898940355D-11 0.000000000000D+00
+ 0.220000000000D+03-0.462500000000D+02 0.459126267309D-08-0.134681303877D+01
+ -0.219419598579D-05 0.163682651473D-01 0.924244523048D-05 0.515368799973D+04
+ 0.395984000000D+06 0.312924385071D-06-0.257896818781D+00 0.340864062309D-06
+ 0.954721209982D+00 0.195031250000D+03 0.111913550810D+01-0.788961434839D-08
+ 0.391087718945D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.988000000000D+03
+ 0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 13 59 44.0-0.137654133141D-04 0.909494701773D-12 0.000000000000D+00
+ 0.215000000000D+03-0.895937500000D+02 0.375051336679D-08 0.240874082524D+01
+ -0.467896461487D-05 0.228890962899D-02 0.568293035030D-05 0.515378754425D+04
+ 0.395984000000D+06 0.000000000000D+00-0.125599614210D+01-0.298023223877D-07
+ 0.986413739977D+00 0.282968750000D+03 0.874297488994D+00-0.775925177541D-08
+ -0.150006248362D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.116415321827D-07 0.471000000000D+03
+ 0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 13 59 44.0-0.314889475703D-04-0.113686837722D-12 0.000000000000D+00
+ 0.168000000000D+03-0.106281250000D+03 0.391123434718D-08 0.110178752185D+01
+ -0.546500086784D-05 0.182410073467D-02 0.552460551262D-05 0.515368715286D+04
+ 0.395984000000D+06-0.316649675369D-07-0.126650619763D+01-0.186264514923D-07
+ 0.980772523055D+00 0.280812500000D+03-0.177993063643D+01-0.788818571745D-08
+ -0.428589281035D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.168000000000D+03
+ 0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 13 59 44.0 0.378153752536D-03 0.522959453519D-11 0.000000000000D+00
+ 0.490000000000D+02 0.105718750000D+03 0.428875007223D-08-0.107018905164D+01
+ 0.535510480404D-05 0.881322985515D-02 0.775419175625D-05 0.515358992386D+04
+ 0.395984000000D+06-0.113621354103D-06 0.299515602994D+01-0.596046447754D-07
+ 0.963650089517D+00 0.233500000000D+03 0.234257479017D+01-0.802140555231D-08
+ 0.342871424828D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.279396772385D-08 0.490000000000D+02
+ 0.389898000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 13 59 44.0 0.198278576136D-05-0.113686837722D-12 0.000000000000D+00
+ 0.680000000000D+02 0.412500000000D+01 0.487556022951D-08-0.221814466617D+01
+ 0.325962901115D-06 0.245908729266D-02 0.641494989395D-05 0.515367898560D+04
+ 0.395984000000D+06-0.167638063431D-07 0.827066944738D+00 0.391155481339D-07
+ 0.961289905263D+00 0.255718750000D+03-0.121111834609D+01-0.796961768085D-08
+ 0.192150860998D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.324000000000D+03
+ 0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 13 59 44.0-0.119148753583D-04-0.795807864051D-12 0.000000000000D+00
+ 0.130000000000D+02 0.143750000000D+02 0.462233539597D-08 0.284459011520D+01
+ 0.860542058945D-06 0.308401859365D-02 0.835955142975D-05 0.515364209366D+04
+ 0.395984000000D+06 0.298023223877D-07 0.192772423217D+01-0.335276126862D-07
+ 0.959195950156D+00 0.213218750000D+03-0.177748762322D+01-0.786782772661D-08
+ -0.462876423518D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.130000000000D+02
+ 0.394338000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 13 59 44.0 0.162729993463D-04 0.227373675443D-12 0.000000000000D+00
+ 0.215000000000D+03 0.251250000000D+02 0.454768942952D-08 0.190084391561D+01
+ 0.122934579849D-05 0.506106496323D-02 0.154972076416D-05 0.515368416023D+04
+ 0.395984000000D+06 0.800937414169D-07-0.226230550652D+01-0.353902578354D-07
+ 0.960009989458D+00 0.348687500000D+03-0.147687981393D+01-0.828141638281D-08
+ 0.546451333320D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.181607902050D-07 0.215000000000D+03
+ 0.391740000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 14 0 0.0 0.383913982660D-03 0.193267624127D-11 0.000000000000D+00
+ 0.212000000000D+03-0.942812500000D+02 0.397802284348D-08 0.299191978158D+00
+ -0.496208667755D-05 0.603161368053D-02 0.553578138351D-05 0.515362855339D+04
+ 0.396000000000D+06-0.113621354103D-06-0.123973448956D+01-0.335276126862D-07
+ 0.982225595696D+00 0.285000000000D+03-0.165784610993D+01-0.792890169915D-08
+ -0.528593446610D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.372529029846D-08 0.724000000000D+03
+ 0.388800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 14 0 0.0-0.423821620643D-04 0.568434188608D-11 0.000000000000D+00
+ 0.430000000000D+02 0.985000000000D+02 0.442125559161D-08 0.195584790768D+01
+ 0.494159758091D-05 0.949848804157D-02 0.724941492081D-05 0.515366185570D+04
+ 0.396000000000D+06 0.221654772758D-06 0.292108023819D+01-0.689178705215D-07
+ 0.956873263418D+00 0.235500000000D+03 0.175006445140D+01-0.788532845558D-08
+ -0.161078138122D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.430000000000D+02
+ 0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 14 0 0.0 0.782115384936D-04 0.295585778076D-11 0.000000000000D+00
+ 0.450000000000D+02 0.643750000000D+01 0.548308553538D-08 0.985869467158D+00
+ 0.540167093277D-06 0.661683641374D-02 0.791810452938D-05 0.515371597290D+04
+ 0.396000000000D+06-0.633299350739D-07 0.179170034049D+01 0.782310962677D-07
+ 0.926927027511D+00 0.207593750000D+03 0.600813229803D+00-0.841392190219D-08
+ -0.513592821774D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.419095158577D-08 0.557000000000D+03
+ 0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 14 0 0.0 0.440663658082D-03-0.206910044653D-10 0.000000000000D+00
+ 0.230000000000D+03 0.910000000000D+02 0.446768609706D-08-0.200784128896D+01
+ 0.465847551823D-05 0.704777124338D-02 0.745616853237D-05 0.515354521179D+04
+ 0.396000000000D+06-0.223517417908D-07 0.294114446247D+01-0.707805156708D-07
+ 0.956562767833D+00 0.236875000000D+03-0.355958689965D-03-0.798390399022D-08
+ -0.385730352932D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.230000000000D+03
+ 0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 14 0 0.0 0.732685439289D-04 0.250111042988D-11 0.000000000000D+00
+ 0.176000000000D+03 0.353125000000D+01 0.540093925651D-08-0.227407138797D+01
+ 0.201165676117D-06 0.591798173264D-02 0.646524131298D-05 0.515361680222D+04
+ 0.396000000000D+06 0.968575477600D-07 0.748791314141D+00-0.335276126862D-07
+ 0.936421212239D+00 0.241968750000D+03 0.937387522296D+00-0.822569977627D-08
+ 0.270011247052D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.432000000000D+03
+ 0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 14 0 0.0-0.159997958690D-03 0.878799255588D-10 0.000000000000D+00
+ 0.191000000000D+03 0.188125000000D+02 0.518485882733D-08-0.104903467104D+01
+ 0.979751348496D-06 0.622912473045D-02 0.827014446259D-05 0.515362785721D+04
+ 0.396000000000D+06-0.465661287308D-07 0.184655770136D+01 0.126659870148D-06
+ 0.934441512497D+00 0.204312500000D+03-0.194736892958D+01-0.824641492485D-08
+ -0.493234830925D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.465661287308D-08 0.447000000000D+03
+ 0.388800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 14 0 0.0 0.617960467935D-04-0.302406988340D-10 0.000000000000D+00
+ 0.123000000000D+03 0.103750000000D+02 0.523093217504D-08 0.116270026784D+01
+ 0.450760126114D-06 0.129262342816D-01 0.818260014057D-05 0.515365754509D+04
+ 0.396000000000D+06-0.260770320892D-06 0.181913518347D+01-0.707805156708D-07
+ 0.936045258385D+00 0.213312500000D+03-0.181185259880D+01-0.840034990829D-08
+ -0.431446542909D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.186264514923D-08 0.379000000000D+03
+ 0.395610000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 14 0 0.0-0.191014260054D-04-0.113686837722D-11 0.000000000000D+00
+ 0.114000000000D+03-0.412812500000D+02 0.427267797419D-08-0.846383751006D+00
+ -0.243633985519D-05 0.924149877392D-02 0.925920903683D-05 0.515376801872D+04
+ 0.396000000000D+06-0.135973095894D-06-0.185634256938D+00-0.100582838059D-06
+ 0.967609664552D+00 0.205968750000D+03 0.250885888192D+01-0.783425489959D-08
+ 0.508592613495D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.372529029846D-08 0.882000000000D+03
+ 0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 14 0 0.0-0.249394215643D-04-0.181898940355D-11 0.000000000000D+00
+ 0.197000000000D+03-0.462500000000D+02 0.459126267309D-08-0.134447957618D+01
+ -0.219419598579D-05 0.163682660786D-01 0.924244523048D-05 0.515368799210D+04
+ 0.396000000000D+06 0.312924385071D-06-0.257896937277D+00 0.340864062309D-06
+ 0.954721230463D+00 0.195031250000D+03 0.111913581531D+01-0.788961434839D-08
+ 0.391087718945D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.197000000000D+03
+ 0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 14 0 0.0 0.575552694500D-04 0.682121026330D-12 0.000000000000D+00
+ 0.123000000000D+03 0.237812500000D+02 0.418588864478D-08 0.227558324798D+01
+ 0.122189521790D-05 0.635776645504D-02 0.232085585594D-05 0.515358718491D+04
+ 0.396000000000D+06-0.137835741043D-06-0.230062746630D+01-0.372529029846D-08
+ 0.978784756782D+00 0.347031250000D+03 0.291745619805D+00-0.812533845296D-08
+ 0.171435712414D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.123000000000D+03
+ 0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 14 0 0.0 0.186683610082D-03 0.363797880709D-11 0.000000000000D+00
+ 0.260000000000D+02 0.793750000000D+02 0.564059209616D-08-0.400027954564D+00
+ 0.405311584473D-05 0.393550563604D-02 0.767223536968D-05 0.515368034744D+04
+ 0.396000000000D+06 0.763684511185D-07 0.280191518708D+01 0.149011611939D-07
+ 0.903677421998D+00 0.201281250000D+03 0.180937445799D+00-0.856535678149D-08
+ -0.228938107620D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.282000000000D+03
+ 0.394638000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 14 0 0.0-0.314917415380D-04-0.113686837722D-12 0.000000000000D+00
+ 0.142000000000D+03-0.106281250000D+03 0.391123434718D-08 0.110412503526D+01
+ -0.546500086784D-05 0.182410469279D-02 0.552460551262D-05 0.515368715477D+04
+ 0.396000000000D+06-0.316649675369D-07-0.126650634099D+01-0.186264514923D-07
+ 0.980772515741D+00 0.280812500000D+03-0.177993432737D+01-0.788818571745D-08
+ -0.428589281035D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.654000000000D+03
+ 0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 14 0 0.0-0.921171158552D-04 0.192130755750D-10 0.000000000000D+00
+ 0.500000000000D+01 0.100343750000D+03 0.439446876155D-08-0.345630921350D+00
+ 0.528059899807D-05 0.175207402790D-01 0.649876892567D-05 0.515372461891D+04
+ 0.396000000000D+06 0.223517417908D-06 0.303721040284D+01 0.178813934326D-06
+ 0.965561457819D+00 0.259781250000D+03-0.269763258007D+01-0.827320175492D-08
+ -0.946467995620D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.500000000000D+01
+ 0.388800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 14 0 0.0-0.119131058455D-03-0.375166564481D-11 0.000000000000D+00
+ 0.660000000000D+02 0.229062500000D+02 0.445554273410D-08-0.255412266740D+01
+ 0.120699405670D-05 0.553545309231D-02 0.175088644028D-05 0.515371834755D+04
+ 0.396000000000D+06-0.577419996262D-07-0.227156414388D+01-0.465661287308D-07
+ 0.962594579494D+00 0.347281250000D+03-0.280335767551D+01-0.823820029697D-08
+ 0.957182727646D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.102445483208D-07 0.660000000000D+02
+ 0.388800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 14 0 0.0-0.119139440358D-04-0.795807864051D-12 0.000000000000D+00
+ 0.229000000000D+03 0.143750000000D+02 0.462233539597D-08 0.284692447456D+01
+ 0.860542058945D-06 0.308401661459D-02 0.835955142975D-05 0.515364209747D+04
+ 0.396000000000D+06 0.298023223877D-07 0.192772409758D+01-0.335276126862D-07
+ 0.959195960396D+00 0.213218750000D+03-0.177748821716D+01-0.786782772661D-08
+ -0.462876423518D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.139698386192D-07 0.741000000000D+03
+ 0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 14 0 0.0-0.907359644771D-04 0.272848410532D-11 0.000000000000D+00
+ 0.127000000000D+03 0.285625000000D+02 0.444054210926D-08-0.283188815343D+01
+ 0.156462192535D-05 0.226875091903D-02 0.242330133915D-05 0.515379659843D+04
+ 0.396000000000D+06 0.931322574616D-08-0.232405413172D+01-0.111758708954D-07
+ 0.962461086756D+00 0.334156250000D+03 0.141703597975D+01-0.818248369043D-08
+ 0.428589281035D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.127000000000D+03
+ 0.389280000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 14 0 0.0 0.880649313331D-04 0.113686837722D-11 0.000000000000D+00
+ 0.100000000000D+01 0.107156250000D+03 0.451983112625D-08-0.114271154476D+01
+ 0.539980828762D-05 0.933606165927D-02 0.751204788685D-05 0.515365490723D+04
+ 0.396000000000D+06-0.558793544769D-08 0.296440155813D+01-0.225380063057D-06
+ 0.950172810420D+00 0.230343750000D+03 0.311210772257D+01-0.802604860285D-08
+ -0.642883921553D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.100000000000D+01
+ 0.388800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 14 0 0.0 0.211512204260D-03 0.568434188608D-12 0.000000000000D+00
+ 0.208000000000D+03-0.866562500000D+02 0.429053586090D-08 0.149531969297D+01
+ -0.454857945442D-05 0.364322878886D-02 0.516884028912D-05 0.515372699737D+04
+ 0.396000000000D+06 0.912696123123D-07-0.127150785895D+01 0.149011611939D-07
+ 0.962922072724D+00 0.279937500000D+03 0.223710673236D+01-0.802211986778D-08
+ -0.246438836595D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.214204192162D-07 0.464000000000D+03
+ 0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 14 0 0.0 0.895960256457D-04 0.284217094304D-11 0.000000000000D+00
+ 0.137000000000D+03 0.878437500000D+02 0.429625038464D-08-0.631312590646D+00
+ 0.457279384136D-05 0.907453917898D-02 0.739656388760D-05 0.515219688225D+04
+ 0.396000000000D+06-0.132247805595D-06 0.297013747266D+01 0.670552253723D-07
+ 0.966853653358D+00 0.245875000000D+03-0.126133024132D+01-0.804890669784D-08
+ -0.275011455331D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.137000000000D+03
+ 0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 14 0 0.0 0.843531452119D-04 0.909494701773D-12 0.000000000000D+00
+ 0.430000000000D+02-0.530312500000D+02 0.477377027527D-08-0.538009058008D+00
+ -0.286102294922D-05 0.118055659114D-01 0.937841832638D-05 0.515361398315D+04
+ 0.396000000000D+06-0.149011611939D-06-0.309234643058D+00 0.633299350739D-07
+ 0.947893901506D+00 0.197062500000D+03-0.151557598377D+01-0.818462663684D-08
+ 0.412874340731D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.745058059692D-08 0.299000000000D+03
+ 0.388800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 14 0 0.0 0.317260157317D-03 0.557065504836D-11 0.000000000000D+00
+ 0.104000000000D+03-0.961250000000D+02 0.387587573150D-08 0.479073109329D+00
+ -0.494159758091D-05 0.158512066118D-01 0.601261854172D-05 0.515375172996D+04
+ 0.396000000000D+06-0.670552253723D-07-0.125390260685D+01 0.277534127235D-06
+ 0.984698000396D+00 0.276593750000D+03 0.651682298555D+00-0.801426239763D-08
+ -0.141434462742D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.651925802231D-08 0.104000000000D+03
+ 0.389130000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 14 0 0.0 0.513758044690D-03 0.625277607469D-11 0.000000000000D+00
+ 0.170000000000D+02-0.489062500000D+02 0.445661420730D-08-0.214996087500D+01
+ -0.272691249847D-05 0.188527235296D-01 0.870786607266D-05 0.515366204071D+04
+ 0.396000000000D+06 0.206753611565D-06-0.279721514290D+00-0.838190317154D-07
+ 0.952429509312D+00 0.199531250000D+03-0.208877943046D+01-0.762067457454D-08
+ 0.545022702383D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.273000000000D+03
+ 0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 14 0 0.0 0.464855693281D-04 0.113686837722D-12 0.000000000000D+00
+ 0.151000000000D+03-0.312500000000D-01 0.477555606394D-08 0.284526837230D+01
+ -0.428408384323D-07 0.957464450039D-02 0.676326453686D-05 0.515363545036D+04
+ 0.396000000000D+06-0.391155481339D-07 0.837346181047D+00-0.137835741043D-06
+ 0.959274443025D+00 0.249250000000D+03-0.236677597708D+01-0.784282668521D-08
+ 0.131076888450D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.407000000000D+03
+ 0.390888000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 14 0 0.0 0.177934765816D-03-0.189857018995D-10 0.000000000000D+00
+ 0.400000000000D+01-0.104750000000D+03 0.387516141603D-08 0.256695285541D+01
+ -0.539608299732D-05 0.877830537502D-02 0.570155680180D-05 0.515360155868D+04
+ 0.396000000000D+06 0.141561031342D-06-0.128712098674D+01-0.186264514923D-08
+ 0.981573195675D+00 0.277812500000D+03-0.122354727907D+01-0.774567978151D-08
+ -0.118576367753D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.400000000000D+01
+ 0.394398000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 14 0 0.0 0.443570781499D-03-0.144382283906D-10 0.000000000000D+00
+ 0.182000000000D+03 0.428125000000D+01 0.519843082122D-08-0.311409834153D+01
+ 0.199303030968D-06 0.798673299141D-02 0.640936195850D-05 0.515375392151D+04
+ 0.396000000000D+06 0.121071934700D-06 0.791800580484D+00-0.987201929092D-07
+ 0.943198968754D+00 0.244500000000D+03 0.127872191030D+01-0.807712215884D-08
+ 0.185364864048D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.182000000000D+03
+ 0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 15 59 44.0 0.383925158530D-03 0.193267624127D-11 0.000000000000D+00
+ 0.234000000000D+03-0.111437500000D+03 0.386944689228D-08 0.134676712948D+01
+ -0.577419996262D-05 0.603326479904D-02 0.559538602829D-05 0.515363314056D+04
+ 0.403184000000D+06-0.782310962677D-07-0.123979154483D+01-0.119209289551D-06
+ 0.982225285557D+00 0.283343750000D+03-0.165755205316D+01-0.789140013706D-08
+ -0.500020827875D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.234000000000D+03
+ 0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 15 59 44.0 0.782296992838D-04 0.295585778076D-11 0.000000000000D+00
+ 0.700000000000D+02 0.975000000000D+01 0.548165690444D-08 0.203373726500D+01
+ 0.514090061188D-06 0.661709241103D-02 0.813975930214D-05 0.515371552658D+04
+ 0.403184000000D+06-0.204890966415D-06 0.179163952260D+01-0.279396772385D-07
+ 0.926923883700D+00 0.204937500000D+03 0.600773852437D+00-0.831141763248D-08
+ -0.420731810883D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.326000000000D+03
+ 0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 15 59 44.0-0.249505974352D-04-0.181898940355D-11 0.000000000000D+00
+ 0.221000000000D+03-0.428437500000D+02 0.463983612494D-08-0.296590465086D+00
+ -0.221654772759D-05 0.163689380279D-01 0.934302806854D-05 0.515369002342D+04
+ 0.403184000000D+06-0.577419996262D-07-0.257955547627D+00 0.216066837311D-06
+ 0.954722640716D+00 0.201875000000D+03 0.111908541924D+01-0.824320050525D-08
+ 0.430375069706D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.558793544769D-08 0.477000000000D+03
+ 0.399360000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 15 59 44.0-0.314898788929D-04-0.113686837722D-12 0.000000000000D+00
+ 0.169000000000D+03-0.111031250000D+03 0.386230373760D-08 0.215205546794D+01
+ -0.564754009247D-05 0.182447733823D-02 0.575557351112D-05 0.515368677902D+04
+ 0.403184000000D+06 0.316649675369D-07-0.126656283889D+01-0.298023223877D-07
+ 0.980772501111D+00 0.277687500000D+03-0.178003080390D+01-0.782889753358D-08
+ -0.396445084958D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.107102096081D-07 0.169000000000D+03
+ 0.399600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 15 59 44.0-0.119213946164D-04-0.795807864051D-12 0.000000000000D+00
+ 0.140000000000D+02 0.173125000000D+02 0.464447917549D-08-0.238843152122D+01
+ 0.100769102573D-05 0.308360182680D-02 0.864639878273D-05 0.515364280319D+04
+ 0.403184000000D+06 0.242143869400D-07 0.192766731003D+01 0.298023223877D-07
+ 0.959192803419D+00 0.210281250000D+03-0.177745056312D+01-0.786568478020D-08
+ -0.411088552060D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.140000000000D+02
+ 0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 15 59 44.0 0.843587331474D-04 0.909494701773D-12 0.000000000000D+00
+ 0.730000000000D+02-0.587812500000D+02 0.468126642211D-08 0.509846954566D+00
+ -0.314787030220D-05 0.118065573042D-01 0.944547355175D-05 0.515361589050D+04
+ 0.403184000000D+06-0.141561031342D-06-0.309293057377D+00-0.502914190292D-07
+ 0.947896581572D+00 0.190718750000D+03-0.151554731057D+01-0.818641242551D-08
+ 0.335013954676D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.585000000000D+03
+ 0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 16 0 0.0 0.383927952498D-03 0.193267624127D-11 0.000000000000D+00
+ 0.213000000000D+03-0.111437500000D+03 0.386944689228D-08 0.134910079395D+01
+ -0.577419996262D-05 0.603326223791D-02 0.559538602829D-05 0.515363314819D+04
+ 0.403200000000D+06-0.782310962677D-07-0.123979163407D+01-0.119209289551D-06
+ 0.982225292872D+00 0.283343750000D+03-0.165755204584D+01-0.789140013706D-08
+ -0.500020827875D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.213000000000D+03
+ 0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 16 0 0.0-0.423416495323D-04 0.557065504836D-11 0.000000000000D+00
+ 0.440000000000D+02 0.950937500000D+02 0.444054210926D-08 0.300607008492D+01
+ 0.491365790367D-05 0.949860853143D-02 0.734068453312D-05 0.515366131020D+04
+ 0.403200000000D+06 0.184401869774D-06 0.292102380759D+01 0.596046447754D-07
+ 0.956872065288D+00 0.234500000000D+03 0.175003011818D+01-0.784389815841D-08
+ -0.160006664920D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.440000000000D+02
+ 0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 16 0 0.0 0.440514646471D-03-0.206910044653D-10 0.000000000000D+00
+ 0.225000000000D+03 0.855312500000D+02 0.442589864216D-08-0.957524621841D+00
+ 0.443309545517D-05 0.704814190976D-02 0.741705298424D-05 0.515354602432D+04
+ 0.403200000000D+06 0.484287738800D-07 0.294108711169D+01-0.104308128357D-06
+ 0.956562409418D+00 0.234437500000D+03-0.413606439797D-03-0.800533345427D-08
+ -0.753602819154D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.605359673500D-08 0.481000000000D+03
+ 0.399930000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 16 0 0.0 0.732862390578D-04 0.250111042988D-11 0.000000000000D+00
+ 0.177000000000D+03 0.209375000000D+01 0.541986861643D-08-0.122381559580D+01
+ 0.230967998505D-06 0.591801328119D-02 0.647082924843D-05 0.515361716270D+04
+ 0.403200000000D+06 0.124797224998D-06 0.748732254675D+00 0.894069671631D-07
+ 0.936422770247D+00 0.242906250000D+03 0.937353585522D+00-0.830891752834D-08
+ 0.225366530278D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.177000000000D+03
+ 0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 16 0 0.0-0.159365125001D-03 0.878799255588D-10 0.000000000000D+00
+ 0.192000000000D+03 0.184375000000D+02 0.526736226392D-08 0.123405917495D-02
+ 0.102818012238D-05 0.622904440388D-02 0.807270407677D-05 0.515362804413D+04
+ 0.403200000000D+06-0.298023223877D-07 0.184649732527D+01-0.204890966415D-07
+ 0.934437754260D+00 0.209375000000D+03-0.194742386070D+01-0.836892002768D-08
+ -0.428589281035D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.465661287308D-08 0.448000000000D+03
+ 0.396000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 16 0 0.0 0.615781173110D-04-0.302406988340D-10 0.000000000000D+00
+ 0.124000000000D+03 0.659375000000D+01 0.509449792057D-08 0.221289783295D+01
+ 0.201165676117D-06 0.129265162395D-01 0.783987343311D-05 0.515365742493D+04
+ 0.403200000000D+06 0.128522515297D-06 0.181907588555D+01-0.199303030968D-06
+ 0.936044123161D+00 0.211968750000D+03-0.181185493069D+01-0.799461872225D-08
+ -0.393587823084D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.380000000000D+03
+ 0.397698000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 16 0 0.0-0.191098079085D-04-0.113686837722D-11 0.000000000000D+00
+ 0.115000000000D+03-0.449062500000D+02 0.424553398639D-08 0.203722013062D+00
+ -0.241585075855D-05 0.924190750811D-02 0.901147723198D-05 0.515376867104D+04
+ 0.403200000000D+06 0.447034835815D-07-0.185690349605D+00-0.139698386192D-06
+ 0.967612609406D+00 0.208906250000D+03 0.250887430693D+01-0.790390065776D-08
+ 0.392516349882D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.372529029846D-08 0.883000000000D+03
+ 0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 16 0 0.0 0.575599260628D-04 0.682121026330D-12 0.000000000000D+00
+ 0.124000000000D+03 0.255312500000D+02 0.415624455284D-08-0.295731547846D+01
+ 0.130012631416D-05 0.635850778781D-02 0.258162617683D-05 0.515358565903D+04
+ 0.403200000000D+06-0.372529029846D-07-0.230068561583D+01-0.633299350739D-07
+ 0.978785444354D+00 0.341312500000D+03 0.291690924224D+00-0.801783397497D-08
+ 0.317870383435D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.124000000000D+03
+ 0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 16 0 0.0 0.186710152775D-03 0.363797880709D-11 0.000000000000D+00
+ 0.270000000000D+02 0.849687500000D+02 0.571952395542D-08 0.650036957517D+00
+ 0.449083745480D-05 0.393536698539D-02 0.765360891819D-05 0.515368021011D+04
+ 0.403200000000D+06 0.391155481339D-07 0.280185348998D+01 0.428408384323D-07
+ 0.903675723550D+00 0.196500000000D+03 0.181058432050D+00-0.856964267430D-08
+ -0.239295681911D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.121071934700D-07 0.283000000000D+03
+ 0.399018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 16 0 0.0-0.137584283948D-04 0.909494701773D-12 0.000000000000D+00
+ 0.216000000000D+03-0.960937500000D+02 0.377587156592D-08-0.282210227161D+01
+ -0.491552054882D-05 0.228971568868D-02 0.547245144844D-05 0.515378614616D+04
+ 0.403200000000D+06-0.186264514923D-07-0.125605184856D+01 0.931322574616D-08
+ 0.986413687312D+00 0.287312500000D+03 0.874394538979D+00-0.772496463293D-08
+ -0.378587198248D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.116415321827D-07 0.472000000000D+03
+ 0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 16 0 0.0 0.378191936761D-03 0.522959453519D-11 0.000000000000D+00
+ 0.500000000000D+02 0.106687500000D+03 0.430946522081D-08-0.176393307718D-01
+ 0.539794564247D-05 0.881299888715D-02 0.760890543461D-05 0.515358942795D+04
+ 0.403200000000D+06 0.149011611939D-07 0.299509867624D+01-0.163912773132D-06
+ 0.963649836432D+00 0.235218750000D+03 0.234258917065D+01-0.806676458455D-08
+ -0.896465912832D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.279396772385D-08 0.500000000000D+02
+ 0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 16 0 0.0 0.198138877749D-05-0.113686837722D-12 0.000000000000D+00
+ 0.690000000000D+02 0.409375000000D+01 0.485163066132D-08-0.116574639390D+01
+ 0.191852450371D-06 0.245919136796D-02 0.672787427902D-05 0.515367842484D+04
+ 0.403200000000D+06-0.465661287308D-07 0.827009207750D+00 0.000000000000D+00
+ 0.961291134114D+00 0.253406250000D+03-0.121100240691D+01-0.801354808216D-08
+ 0.203222750758D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.977888703346D-08 0.325000000000D+03
+ 0.396000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 16 0 0.0-0.919788144529D-04 0.192130755750D-10 0.000000000000D+00
+ 0.600000000000D+01 0.927500000000D+02 0.437125350883D-08 0.704515593765D+00
+ 0.498816370964D-05 0.175193888135D-01 0.679306685925D-05 0.515372208595D+04
+ 0.403200000000D+06-0.204890966415D-07 0.303715211579D+01 0.348314642906D-06
+ 0.965560929706D+00 0.252562500000D+03-0.269762949185D+01-0.811069498586D-08
+ -0.243938732456D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.600000000000D+01
+ 0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 16 0 0.0-0.119158066809D-03-0.375166564481D-11 0.000000000000D+00
+ 0.670000000000D+02 0.191562500000D+02 0.448697261471D-08-0.150392576793D+01
+ 0.104866921902D-05 0.553563900758D-02 0.195764005184D-05 0.515371859741D+04
+ 0.403200000000D+06-0.111758708954D-07-0.227162321212D+01-0.137835741043D-06
+ 0.962595154421D+00 0.345343750000D+03-0.280340119879D+01-0.825141513313D-08
+ 0.364300888880D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.102445483208D-07 0.670000000000D+02
+ 0.396000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 16 0 0.0-0.907164067030D-04 0.272848410532D-11 0.000000000000D+00
+ 0.128000000000D+03 0.366250000000D+02 0.455983279248D-08-0.178212915361D+01
+ 0.181980431080D-05 0.226971216034D-02 0.222027301788D-05 0.515379428482D+04
+ 0.403200000000D+06 0.856816768646D-07-0.232411283130D+01 0.707805156708D-07
+ 0.962460944853D+00 0.338687500000D+03 0.141738327650D+01-0.825820113008D-08
+ -0.196436753808D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.128000000000D+03
+ 0.396000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 16 0 0.0 0.880723819137D-04 0.113686837722D-11 0.000000000000D+00
+ 0.200000000000D+01 0.994375000000D+02 0.460662045566D-08-0.924626019757D-01
+ 0.498816370964D-05 0.933722627815D-02 0.715628266335D-05 0.515365729141D+04
+ 0.403200000000D+06 0.147148966789D-06 0.296434395865D+01-0.931322574616D-08
+ 0.950171460147D+00 0.236312500000D+03 0.311205051515D+01-0.822819988041D-08
+ -0.148934775160D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.200000000000D+01
+ 0.396000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 16 0 0.0 0.162748619914D-04 0.227373675443D-12 0.000000000000D+00
+ 0.216000000000D+03 0.235625000000D+02 0.455018953366D-08 0.295337552701D+01
+ 0.125914812088D-05 0.506131316070D-02 0.153481960297D-05 0.515368367767D+04
+ 0.403200000000D+06-0.558793544769D-08-0.226236459378D+01 0.186264514923D-07
+ 0.960010340558D+00 0.350406250000D+03-0.147690320452D+01-0.821855662159D-08
+ -0.642883921553D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.181607902050D-07 0.472000000000D+03
+ 0.396000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 16 0 0.0 0.211516395211D-03 0.568434188608D-12 0.000000000000D+00
+ 0.209000000000D+03-0.964687500000D+02 0.435375277985D-08 0.254588447099D+01
+ -0.490806996822D-05 0.364392448682D-02 0.490434467793D-05 0.515372385979D+04
+ 0.403200000000D+06-0.558793544769D-08-0.127156500638D+01 0.242143869400D-07
+ 0.962921764048D+00 0.286968750000D+03 0.223668963394D+01-0.797354641593D-08
+ -0.903609067516D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.214204192162D-07 0.465000000000D+03
+ 0.396780000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 16 0 0.0 0.896169804037D-04 0.284217094304D-11 0.000000000000D+00
+ 0.132000000000D+03 0.822187500000D+02 0.423303346569D-08 0.419772471265D+00
+ 0.428594648838D-05 0.907595455647D-02 0.770762562752D-05 0.515219956970D+04
+ 0.403200000000D+06-0.949949026108D-07 0.297008004581D+01-0.819563865662D-07
+ 0.966852917511D+00 0.237312500000D+03-0.126133396298D+01-0.806212153401D-08
+ -0.143220251413D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.388000000000D+03
+ 0.398760000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 16 0 0.0 0.843596644700D-04 0.909494701773D-12 0.000000000000D+00
+ 0.440000000000D+02-0.587812500000D+02 0.468126642211D-08 0.512181120822D+00
+ -0.314787030220D-05 0.118065547431D-01 0.944547355175D-05 0.515361588287D+04
+ 0.403200000000D+06-0.141561031342D-06-0.309293206595D+00-0.502914190292D-07
+ 0.947896578646D+00 0.190718750000D+03-0.151554760754D+01-0.818641242551D-08
+ 0.335013954676D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.440000000000D+02
+ 0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 16 0 0.0 0.317300204188D-03 0.557065504836D-11 0.000000000000D+00
+ 0.105000000000D+03-0.919687500000D+02 0.392230623694D-08 0.152924180960D+01
+ -0.480003654957D-05 0.158510768088D-01 0.603683292866D-05 0.515375058174D+04
+ 0.403200000000D+06-0.221654772759D-06-0.125395993423D+01 0.154599547386D-06
+ 0.984696585754D+00 0.280156250000D+03 0.651642276042D+00-0.796783189218D-08
+ -0.197151069276D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.105000000000D+03
+ 0.396258000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 16 0 0.0 0.513803213835D-03 0.625277607469D-11 0.000000000000D+00
+ 0.180000000000D+02-0.431562500000D+02 0.456626163170D-08-0.109980230544D+01
+ -0.191107392311D-05 0.188531096792D-01 0.880286097527D-05 0.515366091728D+04
+ 0.403200000000D+06 0.216066837311D-06-0.279776149891D+00 0.393018126488D-06
+ 0.952431200445D+00 0.203000000000D+03-0.208875017502D+01-0.802712007606D-08
+ 0.352514683652D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.274000000000D+03
+ 0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 16 0 0.0 0.464865006506D-04 0.113686837722D-12 0.000000000000D+00
+ 0.152000000000D+03-0.293750000000D+01 0.480377152494D-08-0.238773041773D+01
+ -0.298023223877D-06 0.957513810135D-02 0.654347240925D-05 0.515363446999D+04
+ 0.403200000000D+06 0.147148966789D-06 0.837288745420D+00-0.104308128357D-06
+ 0.959275521196D+00 0.251843750000D+03-0.236675563082D+01-0.792032991353D-08
+ 0.256082095419D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.408000000000D+03
+ 0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 16 0 0.0 0.177797861397D-03-0.189857018995D-10 0.000000000000D+00
+ 0.500000000000D+01-0.906562500000D+02 0.390551982343D-08-0.266605154638D+01
+ -0.463053584099D-05 0.878040434327D-02 0.520795583725D-05 0.515359768486D+04
+ 0.403200000000D+06 0.763684511185D-07-0.128717713207D+01 0.931322574616D-07
+ 0.981572772892D+00 0.286375000000D+03-0.122350684548D+01-0.772317884426D-08
+ -0.314298806093D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.500000000000D+01
+ 0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 16 0 0.0 0.443466939032D-03-0.144382283906D-10 0.000000000000D+00
+ 0.183000000000D+03 0.390625000000D+01 0.520914555325D-08-0.206395921854D+01
+ 0.219792127609D-06 0.798677233979D-02 0.643543899059D-05 0.515375387955D+04
+ 0.403200000000D+06 0.139698386192D-06 0.791742170554D+00 0.745058059692D-08
+ 0.943200610148D+00 0.244968750000D+03 0.127871982125D+01-0.808533678673D-08
+ 0.239295681911D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.183000000000D+03
+ 0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 17 59 44.0 0.383939128369D-03 0.193267624127D-11 0.000000000000D+00
+ 0.235000000000D+03-0.114125000000D+03 0.381694470535D-08 0.239711999211D+01
+ -0.586546957493D-05 0.603353278711D-02 0.583939254284D-05 0.515363136291D+04
+ 0.410384000000D+06 0.819563865662D-07-0.123984739758D+01-0.931322574616D-08
+ 0.982225670305D+00 0.276875000000D+03-0.165770368023D+01-0.770424948434D-08
+ -0.814319633967D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.491000000000D+03
+ 0.403950000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 17 59 44.0 0.733006745577D-04 0.250111042988D-11 0.000000000000D+00
+ 0.198000000000D+03 0.206250000000D+01 0.542415450924D-08-0.175909314438D+00
+ 0.124797224999D-06 0.591808487661D-02 0.661984086037D-05 0.515361739540D+04
+ 0.410384000000D+06 0.372529029846D-08 0.748672014634D+00 0.726431608200D-07
+ 0.936423930341D+00 0.243875000000D+03 0.937335438023D+00-0.841713632180D-08
+ 0.230723896291D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.198000000000D+03
+ 0.409548000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 17 59 44.0 0.186739023775D-03 0.375166564481D-11 0.000000000000D+00
+ 0.510000000000D+02 0.979687500000D+02 0.567952228919D-08 0.169737022265D+01
+ 0.519864261150D-05 0.393668573815D-02 0.844337046146D-05 0.515368473816D+04
+ 0.410384000000D+06 0.149011611939D-07 0.280179181774D+01 0.987201929092D-07
+ 0.903674048508D+00 0.183687500000D+03 0.181574900649D+00-0.856249951962D-08
+ -0.208580116771D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.510000000000D+02
+ 0.404448000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 17 59 44.0 0.198092311621D-05-0.113686837722D-12 0.000000000000D+00
+ 0.930000000000D+02 0.496875000000D+01 0.477377027526D-08-0.117817077428D+00
+ 0.838190317154D-07 0.245955539867D-02 0.665336847305D-05 0.515367920494D+04
+ 0.410384000000D+06-0.409781932831D-07 0.826951687274D+00-0.335276126862D-07
+ 0.961292580940D+00 0.250531250000D+03-0.121108547432D+01-0.801640534403D-08
+ 0.187507810453D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.349000000000D+03
+ 0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 17 59 44.0-0.906973145902D-04 0.272848410532D-11 0.000000000000D+00
+ 0.148000000000D+03 0.388125000000D+02 0.463519307440D-08-0.733837769300D+00
+ 0.195577740669D-05 0.227005640045D-02 0.165961682797D-05 0.515379660225D+04
+ 0.410384000000D+06-0.540167093277D-07-0.232417282265D+01 0.316649675369D-07
+ 0.962460214857D+00 0.347218750000D+03 0.141686545763D+01-0.839963559282D-08
+ -0.750031241812D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.404000000000D+03
+ 0.407958000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 17 59 44.0 0.843647867441D-04 0.909494701773D-12 0.000000000000D+00
+ 0.740000000000D+02-0.642187500000D+02 0.452733143867D-08 0.156003724312D+01
+ -0.344216823578D-05 0.118070836179D-01 0.939145684242D-05 0.515361692238D+04
+ 0.410384000000D+06 0.521540641785D-07-0.309351873999D+00-0.286847352982D-06
+ 0.947900377844D+00 0.189312500000D+03-0.151552102047D+01-0.791175812791D-08
+ 0.410017078857D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.745058059692D-08 0.740000000000D+02
+ 0.408900000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 17 59 44.0 0.443365424871D-03-0.143245415529D-10 0.000000000000D+00
+ 0.205000000000D+03 0.187500000000D+01 0.526379068658D-08-0.101609828764D+01
+ 0.258907675743D-06 0.798674952239D-02 0.653974711895D-05 0.515375473022D+04
+ 0.410384000000D+06-0.391155481339D-07 0.791683683089D+00 0.167638063431D-06
+ 0.943201119244D+00 0.247531250000D+03 0.127866177998D+01-0.831820362943D-08
+ 0.192865176466D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.205000000000D+03
+ 0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+31 05 1 20 17 59 44.0-0.109896063805D-06-0.500222085975D-11 0.000000000000D+00
+ 0.870000000000D+02 0.668750000000D+01 0.527771983822D-08 0.642575668622D+00
+ 0.555068254471D-06 0.123765529133D-01 0.827945768833D-05 0.515360306740D+04
+ 0.410384000000D+06-0.216066837311D-06 0.181786728408D+01 0.409781932831D-07
+ 0.935508346969D+00 0.209906250000D+03 0.106436904564D+01-0.839463538455D-08
+ -0.511449875369D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.256000000000D+03 0.630000000000D+02-0.605359673500D-08 0.870000000000D+02
+ 0.408918000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 18 0 0.0-0.423011370003D-04 0.557065504836D-11 0.000000000000D+00
+ 0.390000000000D+02 0.934062500000D+02 0.436589614281D-08-0.222692960188D+01
+ 0.499375164509D-05 0.949812796898D-02 0.751949846745D-05 0.515366211700D+04
+ 0.410400000000D+06 0.689178705216D-07 0.292096707855D+01 0.128522515297D-06
+ 0.956871415752D+00 0.230437500000D+03 0.175003190440D+01-0.780711091179D-08
+ -0.778603860548D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.172294676304D-07 0.295000000000D+03
+ 0.408660000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 18 0 0.0 0.782511197031D-04 0.295585778076D-11 0.000000000000D+00
+ 0.710000000000D+02 0.138125000000D+02 0.538129558113D-08 0.308623632355D+01
+ 0.648200511932D-06 0.661665294319D-02 0.803358852863D-05 0.515371618462D+04
+ 0.410400000000D+06-0.596046447754D-07 0.179158007400D+01-0.121071934700D-06
+ 0.926921559124D+00 0.207375000000D+03 0.600770562334D+00-0.817141180067D-08
+ -0.399302346831D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.419095158577D-08 0.327000000000D+03
+ 0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 18 0 0.0 0.440365634859D-03-0.206910044653D-10 0.000000000000D+00
+ 0.226000000000D+03 0.889062500000D+02 0.451018786743D-08 0.927043667433D-01
+ 0.461749732494D-05 0.704696739558D-02 0.777281820774D-05 0.515354382324D+04
+ 0.410400000000D+06 0.912696123123D-07 0.294102942883D+01-0.745058059692D-08
+ 0.956561424874D+00 0.225718750000D+03-0.383898962361D-03-0.807176479283D-08
+ -0.117504894551D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.482000000000D+03
+ 0.407508000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 18 0 0.0 0.733039341867D-04 0.250111042988D-11 0.000000000000D+00
+ 0.172000000000D+03 0.206250000000D+01 0.542415450924D-08-0.173576255611D+00
+ 0.124797224998D-06 0.591808604077D-02 0.661984086037D-05 0.515361739540D+04
+ 0.410400000000D+06 0.372529029846D-08 0.748671871269D+00 0.726431608200D-07
+ 0.936423940582D+00 0.243875000000D+03 0.937336204592D+00-0.841713632180D-08
+ 0.230723896291D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.428000000000D+03
+ 0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 18 0 0.0-0.158732756972D-03 0.878799255588D-10 0.000000000000D+00
+ 0.193000000000D+03 0.152187500000D+02 0.533807949529D-08 0.105145628469D+01
+ 0.813975930214D-06 0.622832670342D-02 0.802800059319D-05 0.515362682152D+04
+ 0.410400000000D+06-0.838190317154D-07 0.184643677802D+01 0.279396772385D-07
+ 0.934434894256D+00 0.215156250000D+03-0.194743059743D+01-0.834963351004D-08
+ -0.368586781690D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.193000000000D+03
+ 0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 18 0 0.0 0.613597221673D-04-0.303543856717D-10 0.000000000000D+00
+ 0.125000000000D+03 0.462500000000D+01 0.512628495892D-08-0.302007472697D+01
+ 0.290572643280D-06 0.129266199656D-01 0.793859362602D-05 0.515365708542D+04
+ 0.410400000000D+06 0.176951289177D-06 0.181901856403D+01-0.726431608200D-07
+ 0.936041328987D+00 0.209968750000D+03-0.181187227943D+01-0.796390315710D-08
+ -0.374658463172D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.381000000000D+03
+ 0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 18 0 0.0-0.191177241504D-04-0.113686837722D-11 0.000000000000D+00
+ 0.116000000000D+03-0.495625000000D+02 0.415231581776D-08 0.125388330219D+01
+ -0.255368649960D-05 0.924193346873D-02 0.894442200661D-05 0.515376823425D+04
+ 0.410400000000D+06 0.230967998505D-06-0.185746236002D+00 0.502914190292D-07
+ 0.967616339847D+00 0.208125000000D+03 0.250883315065D+01-0.766817655319D-08
+ 0.343942898031D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.400000000000D+01 0.000000000000D+00-0.372529029846D-08 0.884000000000D+03
+ 0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 18 0 0.0-0.249631702900D-04-0.181898940355D-11 0.000000000000D+00
+ 0.222000000000D+03-0.445937500000D+02 0.456947605131D-08 0.755904655286D+00
+ -0.238046050072D-05 0.163690074114D-01 0.931695103645D-05 0.515369024468D+04
+ 0.410400000000D+06-0.236555933952D-06-0.258013651807D+00 0.223517417908D-07
+ 0.954725107196D+00 0.200437500000D+03 0.111909499404D+01-0.817891211309D-08
+ 0.218937691062D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.478000000000D+03
+ 0.404178000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 18 0 0.0 0.575650483370D-04 0.682121026330D-12 0.000000000000D+00
+ 0.125000000000D+03 0.285312500000D+02 0.415374444870D-08-0.190704805609D+01
+ 0.142119824886D-05 0.635817169677D-02 0.255927443504D-05 0.515358640862D+04
+ 0.410400000000D+06 0.372529029846D-07-0.230074376975D+01-0.800937414169D-07
+ 0.978785728160D+00 0.340750000000D+03 0.291655509903D+00-0.805533553706D-08
+ 0.782175437889D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.125000000000D+03
+ 0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 18 0 0.0 0.186736695468D-03 0.363797880709D-11 0.000000000000D+00
+ 0.280000000000D+02 0.979687500000D+02 0.567952228919D-08 0.169970401294D+01
+ 0.519864261150D-05 0.393669074401D-02 0.844337046146D-05 0.515368472481D+04
+ 0.410400000000D+06 0.149011611939D-07 0.280179166998D+01 0.987201929092D-07
+ 0.903674042657D+00 0.183687500000D+03 0.181574924056D+00-0.856249951962D-08
+ -0.208580116771D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.121071934700D-07 0.284000000000D+03
+ 0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 18 0 0.0-0.137514434755D-04 0.909494701773D-12 0.000000000000D+00
+ 0.217000000000D+03-0.103000000000D+03 0.380801576200D-08-0.177178898091D+01
+ -0.528804957867D-05 0.228989392053D-02 0.555627048016D-05 0.515378658867D+04
+ 0.410400000000D+06 0.558793544769D-07-0.125610708103D+01-0.689178705216D-07
+ 0.986413102145D+00 0.287656250000D+03 0.874188365546D+00-0.774996567432D-08
+ -0.121790787361D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.116415321827D-07 0.217000000000D+03
+ 0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 18 0 0.0-0.314903445542D-04-0.113686837722D-12 0.000000000000D+00
+ 0.170000000000D+03-0.105843750000D+03 0.382587364871D-08-0.307875584994D+01
+ -0.535324215889D-05 0.182371155825D-02 0.596046447754D-05 0.515368825150D+04
+ 0.410400000000D+06-0.260770320892D-07-0.126661889645D+01 0.000000000000D+00
+ 0.980772205602D+00 0.274437500000D+03-0.177990349930D+01-0.778675292094D-08
+ -0.825034365993D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.107102096081D-07 0.170000000000D+03
+ 0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 18 0 0.0 0.378230120987D-03 0.522959453519D-11 0.000000000000D+00
+ 0.510000000000D+02 0.101906250000D+03 0.429017870316D-08 0.103254177650D+01
+ 0.505894422531D-05 0.881391554140D-02 0.708922743797D-05 0.515359135628D+04
+ 0.410400000000D+06 0.154599547386D-06 0.299504075053D+01-0.147148966789D-06
+ 0.963649568718D+00 0.240687500000D+03 0.234263828667D+01-0.797461788913D-08
+ -0.957182727646D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.279396772385D-08 0.510000000000D+02
+ 0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 18 0 0.0 0.198045745492D-05-0.113686837722D-12 0.000000000000D+00
+ 0.700000000000D+02 0.496875000000D+01 0.477377027526D-08-0.115483800627D+00
+ 0.838190317154D-07 0.245955667924D-02 0.665336847305D-05 0.515367921257D+04
+ 0.410400000000D+06-0.409781932831D-07 0.826951557075D+00-0.335276126862D-07
+ 0.961292576551D+00 0.250531250000D+03-0.121108507641D+01-0.801640534403D-08
+ 0.187507810453D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.700000000000D+02
+ 0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 18 0 0.0-0.918405130506D-04 0.192130755750D-10 0.000000000000D+00
+ 0.100000000000D+01 0.909375000000D+02 0.426660629271D-08 0.175453031166D+01
+ 0.481866300106D-05 0.175203778781D-01 0.778399407864D-05 0.515372690964D+04
+ 0.410400000000D+06-0.309199094772D-06 0.303709363711D+01 0.292435288429D-06
+ 0.965559099595D+00 0.234468750000D+03-0.269749586745D+01-0.802104839458D-08
+ -0.196793911542D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.257000000000D+03
+ 0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 18 0 0.0-0.119185075164D-03-0.375166564481D-11 0.000000000000D+00
+ 0.680000000000D+02 0.214062500000D+02 0.461662087222D-08-0.453817793390D+00
+ 0.102631747723D-05 0.553513818886D-02 0.214576721191D-05 0.515371767044D+04
+ 0.410400000000D+06 0.894069671631D-07-0.227168249834D+01 0.167638063431D-07
+ 0.962594523903D+00 0.340468750000D+03-0.280335592586D+01-0.838927801853D-08
+ -0.592881838766D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.102445483208D-07 0.680000000000D+02
+ 0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 18 0 0.0-0.119274482131D-04-0.795807864051D-12 0.000000000000D+00
+ 0.150000000000D+02 0.248750000000D+02 0.467055169008D-08-0.133615802563D+01
+ 0.140815973282D-05 0.308410264552D-02 0.875815749168D-05 0.515364107513D+04
+ 0.410400000000D+06-0.167638063431D-07 0.192761054735D+01 0.484287738800D-07
+ 0.959189744457D+00 0.209843750000D+03-0.177718864226D+01-0.789068582159D-08
+ -0.411802867528D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.527000000000D+03
+ 0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 18 0 0.0-0.906968489289D-04 0.272848410532D-11 0.000000000000D+00
+ 0.123000000000D+03 0.388125000000D+02 0.463519307440D-08-0.731501114621D+00
+ 0.195577740669D-05 0.227005337365D-02 0.165961682797D-05 0.515379660988D+04
+ 0.410400000000D+06-0.540167093277D-07-0.232417294992D+01 0.316649675369D-07
+ 0.962460203154D+00 0.347218750000D+03 0.141686233430D+01-0.839963559282D-08
+ -0.750031241812D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.635000000000D+03
+ 0.405228000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 18 0 0.0 0.880802981556D-04 0.113686837722D-11 0.000000000000D+00
+ 0.300000000000D+01 0.939062500000D+02 0.465269380337D-08 0.957778623918D+00
+ 0.495463609695D-05 0.933669775259D-02 0.699982047081D-05 0.515365601349D+04
+ 0.410400000000D+06 0.108033418655D-06 0.296428532782D+01 0.128522515297D-06
+ 0.950170605803D+00 0.235093750000D+03 0.311200100123D+01-0.813176729218D-08
+ -0.204294223960D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.300000000000D+01
+ 0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 18 0 0.0 0.162767246366D-04 0.227373675443D-12 0.000000000000D+00
+ 0.217000000000D+03 0.187812500000D+02 0.455411826873D-08-0.227958417532D+01
+ 0.976026058197D-06 0.506033201236D-02 0.188313424587D-05 0.515368556786D+04
+ 0.410400000000D+06 0.521540641785D-07-0.226242359619D+01 0.167638063431D-07
+ 0.960010080159D+00 0.344718750000D+03-0.147695458367D+01-0.824641492485D-08
+ -0.478591363823D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.181607902050D-07 0.473000000000D+03
+ 0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 18 0 0.0 0.211520120502D-03 0.568434188608D-12 0.000000000000D+00
+ 0.210000000000D+03-0.110656250000D+03 0.432232289924D-08-0.268716802715D+01
+ -0.567361712456D-05 0.364187546074D-02 0.513345003128D-05 0.515372769928D+04
+ 0.410400000000D+06 0.372529029846D-07-0.127162230010D+01 0.502914190292D-07
+ 0.962920912630D+00 0.282750000000D+03 0.223670457033D+01-0.800497629654D-08
+ -0.121433629627D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.214204192162D-07 0.466000000000D+03
+ 0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 18 0 0.0 0.896379351616D-04 0.284217094304D-11 0.000000000000D+00
+ 0.133000000000D+03 0.874062500000D+02 0.425553440295D-08 0.147099604811D+01
+ 0.436604022980D-05 0.907514628489D-02 0.782497227192D-05 0.515219669151D+04
+ 0.410400000000D+06 0.126659870148D-06 0.297002234686D+01-0.191852450371D-06
+ 0.966852973101D+00 0.227593750000D+03-0.126147598453D+01-0.783889795014D-08
+ -0.111076055335D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.139698386192D-08 0.389000000000D+03
+ 0.406818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 18 0 0.0 0.317340251058D-03 0.557065504836D-11 0.000000000000D+00
+ 0.106000000000D+03-0.953750000000D+02 0.373551274196D-08 0.257931996694D+01
+ -0.508874654770D-05 0.158504227875D-01 0.554695725441D-05 0.515375245666D+04
+ 0.410400000000D+06-0.912696123123D-07-0.125401703777D+01-0.221654772759D-06
+ 0.984697229438D+00 0.287468750000D+03 0.651693271904D+00-0.761353141986D-08
+ -0.639312344211D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.106000000000D+03
+ 0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 18 0 0.0 0.513848382980D-03 0.625277607469D-11 0.000000000000D+00
+ 0.190000000000D+02-0.505000000000D+02 0.461304929488D-08-0.496263417878D-01
+ -0.250153243542D-05 0.188522215467D-01 0.914931297302D-05 0.515365920448D+04
+ 0.410400000000D+06-0.115483999252D-06-0.279835254707D+00 0.311061739922D-06
+ 0.952432985205D+00 0.202625000000D+03-0.208873650113D+01-0.822319967213D-08
+ 0.350014579512D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.275000000000D+03
+ 0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 18 0 0.0 0.464878976345D-04 0.113686837722D-12 0.000000000000D+00
+ 0.153000000000D+03 0.325000000000D+01 0.480412868267D-08-0.133763494090D+01
+ 0.225380063057D-06 0.957551004831D-02 0.613555312157D-05 0.515363232803D+04
+ 0.410400000000D+06 0.208616256714D-06 0.837231805722D+00 0.204890966415D-07
+ 0.959277346918D+00 0.257000000000D+03-0.236664361518D+01-0.797033199632D-08
+ 0.243938732456D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.409000000000D+03
+ 0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 18 0 0.0 0.177660956979D-03-0.189857018995D-10 0.000000000000D+00
+ 0.600000000000D+01-0.841875000000D+02 0.394230707006D-08-0.161583988898D+01
+ -0.418350100517D-05 0.878094485961D-02 0.550784170628D-05 0.515359695435D+04
+ 0.410400000000D+06-0.115483999252D-06-0.128723312087D+01 0.176951289177D-06
+ 0.981571576225D+00 0.286750000000D+03-0.122349483200D+01-0.791747265166D-08
+ -0.546451333320D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.600000000000D+01
+ 0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 18 0 0.0 0.443363562226D-03-0.144382283906D-10 0.000000000000D+00
+ 0.184000000000D+03 0.187500000000D+01 0.526379068658D-08-0.101376557406D+01
+ 0.258907675743D-06 0.798675161786D-02 0.653974711895D-05 0.515375473595D+04
+ 0.410400000000D+06-0.391155481339D-07 0.791683557278D+00 0.167638063431D-06
+ 0.943201144114D+00 0.247531250000D+03 0.127866267090D+01-0.831820362943D-08
+ 0.192865176466D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.184000000000D+03
+ 0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 19 59 28.0 0.733118504286D-04 0.238742359215D-11 0.000000000000D+00
+ 0.225000000000D+03 0.315625000000D+01 0.532736476327D-08 0.871966195909D+00
+ 0.000000000000D+00 0.591832387727D-02 0.642426311970D-05 0.515361788750D+04
+ 0.417568000000D+06-0.353902578354D-07 0.748611742410D+00 0.633299350739D-07
+ 0.936425517607D+00 0.242406250000D+03 0.937347373972D+00-0.840249285470D-08
+ 0.206080012631D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.225000000000D+03
+ 0.414198000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 19 59 44.0 0.733183696866D-04 0.250111042988D-11 0.000000000000D+00
+ 0.199000000000D+03 0.315625000000D+01 0.532736476327D-08 0.874298581794D+00
+ 0.000000000000D+00 0.591833249200D-02 0.642426311970D-05 0.515361789131D+04
+ 0.417584000000D+06-0.353902578354D-07 0.748611612210D+00 0.633299350739D-07
+ 0.936425508830D+00 0.242406250000D+03 0.937348773985D+00-0.840249285470D-08
+ 0.206080012631D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.199000000000D+03
+ 0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 19 59 44.0 0.186765566468D-03 0.375166564481D-11 0.000000000000D+00
+ 0.520000000000D+02 0.102625000000D+03 0.564523514670D-08 0.274772030720D+01
+ 0.533275306225D-05 0.393676175736D-02 0.826455652714D-05 0.515368367767D+04
+ 0.417584000000D+06-0.838190317154D-07 0.280172997141D+01-0.242143869400D-07
+ 0.903673300957D+00 0.188343750000D+03 0.181408405942D+00-0.844213736319D-08
+ -0.120719314158D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.520000000000D+02
+ 0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 19 59 44.0-0.137425959110D-04 0.102318153949D-11 0.000000000000D+00
+ 0.100000000000D+01-0.110500000000D+03 0.388337604391D-08-0.723665416712D+00
+ -0.575929880142D-05 0.228979752865D-02 0.546500086784D-05 0.515378802872D+04
+ 0.417584000000D+06 0.242143869400D-07-0.125616300839D+01 0.596046447754D-07
+ 0.986411623135D+00 0.287437500000D+03 0.873836930198D+00-0.786461330700D-08
+ -0.166078346401D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.513000000000D+03
+ 0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 19 59 44.0 0.197952613235D-05-0.113686837722D-12 0.000000000000D+00
+ 0.940000000000D+02-0.156250000000D+01 0.470055293975D-08 0.932211779574D+00
+ -0.912696123123D-07 0.246040185448D-02 0.662542879581D-05 0.515368095779D+04
+ 0.417584000000D+06-0.204890966415D-07 0.826893956138D+00-0.633299350739D-07
+ 0.961293934139D+00 0.250312500000D+03-0.121093574904D+01-0.800569061201D-08
+ 0.184650548579D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.350000000000D+03
+ 0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 19 59 44.0-0.906777568162D-04 0.272848410532D-11 0.000000000000D+00
+ 0.149000000000D+03 0.389375000000D+02 0.463340728573D-08 0.316252748236D+00
+ 0.197812914848D-05 0.227032043040D-02 0.176206231117D-05 0.515379708862D+04
+ 0.417584000000D+06-0.372529029846D-07-0.232423341232D+01 0.260770320892D-07
+ 0.962460188524D+00 0.345062500000D+03 0.141688157314D+01-0.840856453618D-08
+ 0.250010413937D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.405000000000D+03
+ 0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 19 59 44.0 0.211527105421D-03 0.568434188608D-12 0.000000000000D+00
+ 0.231000000000D+03-0.112343750000D+03 0.440589780904D-08-0.163955055946D+01
+ -0.579468905926D-05 0.364229478873D-02 0.542402267456D-05 0.515372616196D+04
+ 0.417584000000D+06-0.651925802231D-07-0.127168023166D+01 0.279396772385D-07
+ 0.962919588689D+00 0.276812500000D+03 0.223690068766D+01-0.810748056625D-08
+ -0.115361948145D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.231000000000D+03
+ 0.417258000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 19 59 44.0 0.443262048066D-03-0.143245415529D-10 0.000000000000D+00
+ 0.206000000000D+03 0.259375000000D+01 0.522093175848D-08 0.340426376697D-01
+ -0.931322574616D-08 0.798684882466D-02 0.653602182865D-05 0.515375493240D+04
+ 0.417584000000D+06-0.726431608200D-07 0.791623244091D+00 0.596046447754D-07
+ 0.943202413926D+00 0.247312500000D+03 0.127865760042D+01-0.838106339065D-08
+ 0.210365905442D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.206000000000D+03
+ 0.413868000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+31 05 1 20 19 59 44.0-0.146217644215D-06-0.500222085975D-11 0.000000000000D+00
+ 0.880000000000D+02 0.400000000000D+01 0.525950479377D-08 0.169277407344D+01
+ 0.465661287308D-07 0.123769255588D-01 0.848248600960D-05 0.515360401344D+04
+ 0.417584000000D+06-0.275671482086D-06 0.181780646911D+01-0.214204192162D-06
+ 0.935505336284D+00 0.206281250000D+03 0.106440009023D+01-0.823534303509D-08
+ -0.426089176896D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.256000000000D+03 0.630000000000D+02-0.605359673500D-08 0.880000000000D+02
+ 0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 20 0 0.0 0.383953098208D-03 0.193267624127D-11 0.000000000000D+00
+ 0.236000000000D+03-0.108406250000D+03 0.380944439294D-08-0.283359521352D+01
+ -0.554881989956D-05 0.603311043233D-02 0.593997538090D-05 0.515363227653D+04
+ 0.417600000000D+06 0.316649675369D-07-0.123990266370D+01-0.204890966415D-07
+ 0.982224972493D+00 0.276281250000D+03-0.165763910556D+01-0.768282002029D-08
+ -0.120004998690D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.236000000000D+03
+ 0.410400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 20 0 0.0-0.422606244683D-04 0.557065504836D-11 0.000000000000D+00
+ 0.400000000000D+02 0.941875000000D+02 0.450697344782D-08-0.117690114426D+01
+ 0.505335628986D-05 0.949844252318D-02 0.832229852676D-05 0.515365920258D+04
+ 0.417600000000D+06-0.189989805222D-06 0.292090985797D+01 0.726431608200D-07
+ 0.956869688046D+00 0.219281250000D+03 0.175019185401D+01-0.807212195057D-08
+ -0.621454457501D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.296000000000D+03
+ 0.411168000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 20 0 0.0 0.782725401223D-04 0.295585778076D-11 0.000000000000D+00
+ 0.720000000000D+02 0.104375000000D+02 0.541451125041D-08-0.214689283443D+01
+ 0.324100255966D-06 0.661736505572D-02 0.757910311222D-05 0.515371440697D+04
+ 0.417600000000D+06 0.109896063805D-06 0.179152024211D+01-0.968575477600D-07
+ 0.926918862965D+00 0.214843750000D+03 0.600876247925D+00-0.824855787126D-08
+ -0.280011663610D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.328000000000D+03
+ 0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 20 0 0.0 0.440217088908D-03-0.206910044653D-10 0.000000000000D+00
+ 0.227000000000D+03 0.104562500000D+03 0.446590030839D-08 0.114273702441D+01
+ 0.563263893127D-05 0.704820477404D-02 0.786408782005D-05 0.515354751587D+04
+ 0.417600000000D+06 0.372529029846D-07 0.294097192445D+01 0.782310962677D-07
+ 0.956560702193D+00 0.221875000000D+03-0.157028163711D-03-0.799426156451D-08
+ -0.170007081477D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.483000000000D+03
+ 0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 20 0 0.0-0.158100388944D-03 0.877662387211D-10 0.000000000000D+00
+ 0.188000000000D+03 0.921875000000D+01 0.523557522558D-08 0.210155552122D+01
+ 0.430271029472D-06 0.622855429538D-02 0.785663723946D-05 0.515362817001D+04
+ 0.417600000000D+06 0.279396772385D-07 0.184637687299D+01-0.134110450745D-06
+ 0.934433226529D+00 0.216687500000D+03-0.194731519075D+01-0.816248285732D-08
+ -0.316441752498D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.700000000000D+03
+ 0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 20 0 0.0 0.611417926848D-04-0.303543856717D-10 0.000000000000D+00
+ 0.126000000000D+03 0.113437500000D+02 0.515164315804D-08-0.196993323405D+01
+ 0.700354576111D-06 0.129272519844D-01 0.777654349804D-05 0.515365536118D+04
+ 0.417600000000D+06 0.204890966415D-06 0.181896114011D+01 0.484287738800D-07
+ 0.936038828860D+00 0.212687500000D+03-0.181181793203D+01-0.798711840983D-08
+ -0.348228790841D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.382000000000D+03
+ 0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 20 0 0.0-0.191256403923D-04-0.113686837722D-11 0.000000000000D+00
+ 0.117000000000D+03-0.503750000000D+02 0.414231540121D-08 0.230394662115D+01
+ -0.241957604885D-05 0.924140855204D-02 0.942684710026D-05 0.515376941872D+04
+ 0.417600000000D+06 0.987201929092D-07-0.185800650703D+00 0.132247805595D-06
+ 0.967618633703D+00 0.200750000000D+03 0.250889015033D+01-0.759638784862D-08
+ 0.281440294547D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.885000000000D+03
+ 0.410520000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 20 0 0.0-0.249762088060D-04-0.181898940355D-11 0.000000000000D+00
+ 0.223000000000D+03-0.582812500000D+02 0.435803867266D-08 0.180596156374D+01
+ -0.318326056004D-05 0.163696154486D-01 0.921823084354D-05 0.515369392967D+04
+ 0.417600000000D+06-0.210478901863D-06-0.258072946803D+00-0.406056642532D-06
+ 0.954728270025D+00 0.201187500000D+03 0.111920808054D+01-0.786282751833D-08
+ 0.368943939425D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.479000000000D+03
+ 0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 20 0 0.0 0.575697049499D-04 0.682121026330D-12 0.000000000000D+00
+ 0.126000000000D+03 0.365625000000D+02 0.421338979031D-08-0.857024952746D+00
+ 0.188499689102D-05 0.635790033266D-02 0.220723450184D-05 0.515358383560D+04
+ 0.417600000000D+06 0.154599547386D-06-0.230080147455D+01-0.372529029846D-08
+ 0.978785940283D+00 0.346125000000D+03 0.291864677930D+00-0.812783855710D-08
+ 0.928610108910D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.232830643654D-08 0.126000000000D+03
+ 0.417000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 20 0 0.0-0.137444585562D-04 0.909494701773D-12 0.000000000000D+00
+ 0.218000000000D+03-0.110500000000D+03 0.388337604391D-08-0.721337675592D+00
+ -0.575929880142D-05 0.228975899518D-02 0.546500086784D-05 0.515378792763D+04
+ 0.417600000000D+06 0.242143869400D-07-0.125616299815D+01 0.596046447754D-07
+ 0.986411555841D+00 0.287437500000D+03 0.873843046659D+00-0.786461330700D-08
+ -0.166078346401D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.218000000000D+03
+ 0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 20 0 0.0-0.314908102155D-04-0.113686837722D-12 0.000000000000D+00
+ 0.171000000000D+03-0.922500000000D+02 0.398409452496D-08-0.202939246414D+01
+ -0.482983887196D-05 0.182565662544D-02 0.556930899620D-05 0.515368367386D+04
+ 0.417600000000D+06 0.800937414169D-07-0.126667462924D+01-0.279396772385D-07
+ 0.980771213743D+00 0.285656250000D+03-0.177909836186D+01-0.783175479545D-08
+ -0.163935399996D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.171000000000D+03
+ 0.413268000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 20 0 0.0 0.378267839551D-03 0.522959453519D-11 0.000000000000D+00
+ 0.520000000000D+02 0.973125000000D+02 0.432089426830D-08 0.208284362719D+01
+ 0.516884028912D-05 0.881384976674D-02 0.713206827641D-05 0.515359016800D+04
+ 0.417600000000D+06 0.130385160446D-06 0.299498447207D+01 0.353902578354D-07
+ 0.963649025976D+00 0.239625000000D+03 0.234256620577D+01-0.784639826255D-08
+ -0.162149611325D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.279396772385D-08 0.520000000000D+02
+ 0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 20 0 0.0-0.917017459869D-04 0.192130755750D-10 0.000000000000D+00
+ 0.200000000000D+01 0.101125000000D+03 0.415124434456D-08 0.280476043840D+01
+ 0.509060919285D-05 0.175216513453D-01 0.807456672192D-05 0.515372332001D+04
+ 0.417600000000D+06-0.189989805222D-06 0.303703624976D+01-0.199303030968D-06
+ 0.965560226042D+00 0.224906250000D+03-0.269757805272D+01-0.759031616714D-08
+ -0.257153568621D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.258000000000D+03
+ 0.414108000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 20 0 0.0-0.119212083519D-03-0.375166564481D-11 0.000000000000D+00
+ 0.690000000000D+02 0.287500000000D+02 0.462697844651D-08 0.596264236296D+00
+ 0.149942934513D-05 0.553584727459D-02 0.203028321266D-05 0.515371907234D+04
+ 0.417600000000D+06 0.521540641785D-07-0.227174282908D+01 0.502914190292D-07
+ 0.962594096731D+00 0.340187500000D+03-0.280328316178D+01-0.837784897104D-08
+ -0.753602819154D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.690000000000D+02
+ 0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 20 0 0.0-0.119335018098D-04-0.795807864051D-12 0.000000000000D+00
+ 0.160000000000D+02 0.245625000000D+02 0.462804991971D-08-0.285836381661D+00
+ 0.114925205708D-05 0.308406539261D-02 0.866875052452D-05 0.515364152908D+04
+ 0.417600000000D+06-0.279396772385D-07 0.192755329019D+01-0.204890966415D-07
+ 0.959186632830D+00 0.214437500000D+03-0.177730888243D+01-0.795104547867D-08
+ -0.386087510666D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.139698386192D-07 0.528000000000D+03
+ 0.410400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 20 0 0.0 0.880882143974D-04 0.113686837722D-11 0.000000000000D+00
+ 0.400000000000D+01 0.930625000000D+02 0.465840832712D-08 0.200783609999D+01
+ 0.498071312904D-05 0.933661183808D-02 0.771880149841D-05 0.515365836716D+04
+ 0.417600000000D+06-0.149011611938D-07 0.296422664725D+01 0.229105353355D-06
+ 0.950169176532D+00 0.225812500000D+03 0.311213590861D+01-0.809676583423D-08
+ -0.148577617426D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.400000000000D+01
+ 0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 20 0 0.0 0.162790529430D-04 0.227373675443D-12 0.000000000000D+00
+ 0.218000000000D+03 0.215937500000D+02 0.470055293976D-08-0.122961651949D+01
+ 0.110827386379D-05 0.506061967462D-02 0.215135514736D-05 0.515368353081D+04
+ 0.417600000000D+06-0.968575477600D-07-0.226248341198D+01 0.353902578354D-07
+ 0.960009018080D+00 0.337281250000D+03-0.147674714920D+01-0.839784980415D-08
+ -0.532165023952D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.181607902050D-07 0.474000000000D+03
+ 0.410400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 20 0 0.0 0.211524311453D-03 0.568434188608D-12 0.000000000000D+00
+ 0.205000000000D+03-0.112343750000D+03 0.440589780904D-08-0.163721765278D+01
+ -0.579468905926D-05 0.364229083061D-02 0.542402267456D-05 0.515372616196D+04
+ 0.417600000000D+06-0.651925802231D-07-0.127168035308D+01 0.279396772385D-07
+ 0.962919585763D+00 0.276812500000D+03 0.223690142790D+01-0.810748056625D-08
+ -0.115361948145D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.400000000000D+01 0.000000000000D+00-0.214204192162D-07 0.717000000000D+03
+ 0.410430000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 20 0 0.0 0.896588899195D-04 0.284217094304D-11 0.000000000000D+00
+ 0.134000000000D+03 0.111718750000D+03 0.419231748399D-08 0.252175693469D+01
+ 0.593066215515D-05 0.907344021834D-02 0.790320336819D-05 0.515220297623D+04
+ 0.417600000000D+06 0.160187482834D-06 0.296996659652D+01-0.558793544769D-07
+ 0.966852298696D+00 0.224562500000D+03-0.126115636327D+01-0.775889461768D-08
+ -0.136791412197D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.139698386192D-08 0.390000000000D+03
+ 0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 20 0 0.0 0.843713060021D-04 0.909494701773D-12 0.000000000000D+00
+ 0.750000000000D+02-0.604375000000D+02 0.444054210926D-08 0.261255306085D+01
+ -0.301748514175D-05 0.118067741860D-01 0.927783548832D-05 0.515361783981D+04
+ 0.417600000000D+06 0.102445483208D-06-0.309407192783D+00-0.279396772385D-07
+ 0.947903881533D+00 0.189656250000D+03-0.151548840910D+01-0.768210570482D-08
+ 0.315370279295D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.745058059692D-08 0.750000000000D+02
+ 0.410400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 20 0 0.0 0.317380297929D-03 0.557065504836D-11 0.000000000000D+00
+ 0.107000000000D+03-0.103218750000D+03 0.380765860426D-08-0.265375230986D+01
+ -0.534020364285D-05 0.158513648203D-01 0.537186861038D-05 0.515375074768D+04
+ 0.417600000000D+06 0.465661287308D-07-0.125407189281D+01-0.219792127609D-06
+ 0.984696837376D+00 0.288968750000D+03 0.651707857197D+00-0.761746015493D-08
+ -0.246438836595D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.107000000000D+03
+ 0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 20 0 0.0 0.513893086463D-03 0.625277607469D-11 0.000000000000D+00
+ 0.200000000000D+02-0.583125000000D+02 0.457876215239D-08 0.100049459274D+01
+ -0.290386378765D-05 0.188534539193D-01 0.996328890324D-05 0.515366249085D+04
+ 0.417600000000D+06-0.281259417534D-06-0.279893483236D+00 0.987201929092D-07
+ 0.952434788983D+00 0.190406250000D+03-0.208866784199D+01-0.817248327388D-08
+ 0.188579283656D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.100000000000D+01 0.000000000000D+00-0.465661287308D-08 0.276000000000D+03
+ 0.410400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 20 0 0.0 0.464888289571D-04 0.113686837722D-12 0.000000000000D+00
+ 0.154000000000D+03 0.434375000000D+01 0.486663128616D-08-0.287439397553D+00
+ 0.327825546265D-06 0.957548560109D-02 0.639073550701D-05 0.515363211441D+04
+ 0.417600000000D+06 0.223517417908D-07 0.837173757133D+00 0.135973095894D-06
+ 0.959278073988D+00 0.256437500000D+03-0.236663059374D+01-0.817462622028D-08
+ 0.216080429189D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.400000000000D+01 0.000000000000D+00-0.102445483208D-07 0.410000000000D+03
+ 0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 20 0 0.0 0.177524052560D-03-0.189857018995D-10 0.000000000000D+00
+ 0.700000000000D+01-0.930000000000D+02 0.396337937637D-08-0.565729749326D+00
+ -0.482983887196D-05 0.878006860148D-02 0.528059899807D-05 0.515359449768D+04
+ 0.417600000000D+06-0.180676579475D-06-0.128729059746D+01 0.409781932831D-07
+ 0.981571093462D+00 0.292187500000D+03-0.122338079022D+01-0.797283210046D-08
+ -0.557166065346D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.700000000000D+01
+ 0.411000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05 1 20 21 59 28.0 0.733295455575D-04 0.238742359215D-11 0.000000000000D+00
+ 0.226000000000D+03 0.600000000000D+01 0.523271796371D-08 0.192225446632D+01
+ 0.244006514549D-06 0.591829034966D-02 0.640563666821D-05 0.515361713028D+04
+ 0.424768000000D+06-0.122934579849D-06 0.748550965478D+00-0.102445483208D-06
+ 0.936427790982D+00 0.242031250000D+03 0.937280223106D+00-0.826391565383D-08
+ 0.301083969927D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.226000000000D+03
+ 0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 21 59 44.0 0.383973121643D-03 0.193267624127D-11 0.000000000000D+00
+ 0.200000000000D+02-0.934062500000D+02 0.396730811145D-08-0.178595426160D+01
+ -0.489689409733D-05 0.603478320409D-02 0.567175447941D-05 0.515362824821D+04
+ 0.424784000000D+06 0.119209289551D-06-0.123995756848D+01 0.119209289551D-06
+ 0.982223418874D+00 0.282250000000D+03-0.165741090351D+01-0.780032491484D-08
+ -0.206080012631D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.276000000000D+03
+ 0.419400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 21 59 44.0 0.782958231866D-04 0.295585778076D-11 0.000000000000D+00
+ 0.950000000000D+02 0.684375000000D+01 0.539486757503D-08-0.109903378045D+01
+ 0.357627868652D-06 0.661769171711D-02 0.730156898499D-05 0.515371473503D+04
+ 0.424784000000D+06 0.184401869774D-06 0.179146119581D+01 0.167638063431D-07
+ 0.926916614460D+00 0.218718750000D+03 0.600846019648D+00-0.831820362943D-08
+ -0.322870591713D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.351000000000D+03
+ 0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 21 59 44.0 0.440069008619D-03-0.206910044653D-10 0.000000000000D+00
+ 0.100000000000D+02 0.111781250000D+03 0.449483008486D-08 0.219055804837D+01
+ 0.589899718761D-05 0.704868626781D-02 0.843964517117D-05 0.515354880714D+04
+ 0.424784000000D+06-0.633299350739D-07 0.294091416844D+01 0.141561031342D-06
+ 0.956559723501D+00 0.215625000000D+03-0.551432340799D-04-0.796354599937D-08
+ -0.939324840936D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.100000000000D+02
+ 0.420078000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 21 59 44.0-0.157467555255D-03 0.877662387211D-10 0.000000000000D+00
+ 0.214000000000D+03 0.387500000000D+01 0.518414451186D-08-0.313366531410D+01
+ 0.298023223877D-07 0.622920866590D-02 0.797025859356D-05 0.515362663269D+04
+ 0.424784000000D+06 0.502914190292D-07 0.184631890632D+01-0.298023223877D-07
+ 0.934431093594D+00 0.213437500000D+03-0.194739935974D+01-0.808355099806D-08
+ -0.347871633107D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.726000000000D+03
+ 0.422508000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 21 59 44.0-0.191377475858D-04-0.113686837722D-11 0.000000000000D+00
+ 0.140000000000D+03-0.520937500000D+02 0.412445751450D-08-0.293151192958D+01
+ -0.262260437012D-05 0.924101483543D-02 0.979937613010D-05 0.515377044106D+04
+ 0.424784000000D+06-0.428408384323D-07-0.185855461855D+00 0.156462192535D-06
+ 0.967621204050D+00 0.193500000000D+03 0.250894851637D+01-0.754424281942D-08
+ 0.366443835285D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.396000000000D+03
+ 0.424698000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05 1 20 21 59 44.0-0.137356109917D-04 0.102318153950D-11 0.000000000000D+00
+ 0.200000000000D+01-0.104718750000D+03 0.385480342518D-08 0.326360043394D+00
+ -0.549480319023D-05 0.229052838404D-02 0.562332570553D-05 0.515378931618D+04
+ 0.424784000000D+06-0.186264514923D-07-0.125621958967D+01 0.558793544769D-07
+ 0.986410411839D+00 0.283750000000D+03 0.873917850049D+00-0.785997025645D-08
+ -0.181078971237D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.514000000000D+03
+ 0.418068000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 21 59 44.0-0.119390897453D-04-0.795807864051D-12 0.000000000000D+00
+ 0.400000000000D+02 0.203437500000D+02 0.461233497941D-08 0.761996783059D+00
+ 0.940635800362D-06 0.308322953060D-02 0.820867717266D-05 0.515364003944D+04
+ 0.424784000000D+06-0.242143869400D-07 0.192749614861D+01-0.167638063431D-07
+ 0.959183914729D+00 0.220343750000D+03-0.177727363049D+01-0.795211695188D-08
+ -0.381087302387D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.400000000000D+02
+ 0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 21 59 44.0 0.896817073226D-04 0.284217094304D-11 0.000000000000D+00
+ 0.161000000000D+03 0.118718750000D+03 0.426160608443D-08-0.271271298917D+01
+ 0.620260834694D-05 0.907422148157D-02 0.799074769020D-05 0.515220159531D+04
+ 0.424784000000D+06 0.745058059692D-07 0.296991023028D+01 0.109896063805D-06
+ 0.966851973928D+00 0.227718750000D+03-0.126112872874D+01-0.772996484121D-08
+ 0.750031241812D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.161000000000D+03
+ 0.417648000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 21 59 44.0 0.513944309205D-03 0.625277607469D-11 0.000000000000D+00
+ 0.390000000000D+02-0.679687500000D+02 0.441732685654D-08 0.204829799878D+01
+ -0.379607081413D-05 0.188540373929D-01 0.985525548458D-05 0.515366429710D+04
+ 0.424784000000D+06-0.126659870148D-06-0.279952222322D+00-0.396743416786D-06
+ 0.952438569164D+00 0.186187500000D+03-0.208861804573D+01-0.772532179066D-08
+ 0.365015204348D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.390000000000D+02
+ 0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 22 0 0.0 0.383966602385D-03 0.193267624127D-11 0.000000000000D+00
+ 0.237000000000D+03-0.934062500000D+02 0.396730811145D-08-0.178362044206D+01
+ -0.489689409733D-05 0.603478529956D-02 0.567175447941D-05 0.515362825394D+04
+ 0.424800000000D+06 0.119209289551D-06-0.123995770746D+01 0.119209289551D-06
+ 0.982223418874D+00 0.282250000000D+03-0.165741094301D+01-0.780032491484D-08
+ -0.206080012631D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.237000000000D+03
+ 0.417600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05 1 20 22 0 0.0-0.422205775976D-04 0.557065504836D-11 0.000000000000D+00
+ 0.410000000000D+02 0.100875000000D+03 0.448911556111D-08-0.126637809282D+00
+ 0.535510480404D-05 0.949944846798D-02 0.860542058945D-05 0.515366154289D+04
+ 0.424800000000D+06-0.143423676491D-06 0.292085128712D+01-0.447034835815D-07
+ 0.956869293058D+00 0.213593750000D+03 0.175011763872D+01-0.812069540242D-08
+ -0.475019786481D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.297000000000D+03
+ 0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 22 0 0.0 0.782939605415D-04 0.295585778076D-11 0.000000000000D+00
+ 0.730000000000D+02 0.684375000000D+01 0.539486757503D-08-0.109670037784D+01
+ 0.357627868652D-06 0.661769509315D-02 0.730156898499D-05 0.515371474075D+04
+ 0.424800000000D+06 0.184401869774D-06 0.179146105976D+01 0.167638063431D-07
+ 0.926916605683D+00 0.218718750000D+03 0.600846275659D+00-0.831820362943D-08
+ -0.322870591713D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.730000000000D+02
+ 0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 22 0 0.0 0.440068077296D-03-0.206910044653D-10 0.000000000000D+00
+ 0.228000000000D+03 0.111781250000D+03 0.449483008486D-08 0.219289118766D+01
+ 0.589899718761D-05 0.704868906178D-02 0.844150781632D-05 0.515354879951D+04
+ 0.424800000000D+06-0.633299350739D-07 0.294091402508D+01 0.141561031342D-06
+ 0.956559710334D+00 0.215625000000D+03-0.543049820205D-04-0.796318884164D-08
+ -0.939324840936D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.484000000000D+03
+ 0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 22 0 0.0-0.157468020916D-03 0.877662387211D-10 0.000000000000D+00
+ 0.189000000000D+03 0.387500000000D+01 0.518414451186D-08-0.313133124586D+01
+ 0.298023223877D-07 0.622920645401D-02 0.797025859356D-05 0.515362662125D+04
+ 0.424800000000D+06 0.502914190292D-07 0.184631876295D+01-0.298023223877D-07
+ 0.934431099446D+00 0.213437500000D+03-0.194739953237D+01-0.808355099806D-08
+ -0.347871633107D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.701000000000D+03
+ 0.418518000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 7 05 1 20 22 0 0.0 0.609233975411D-04-0.303543856717D-10 0.000000000000D+00
+ 0.127000000000D+03 0.142187500000D+02 0.527807699595D-08-0.919703838774D+00
+ 0.923871994019D-06 0.129275496583D-01 0.794231891632D-05 0.515365620422D+04
+ 0.424800000000D+06-0.149011611939D-06 0.181890258096D+01 0.204890966415D-06
+ 0.936034391830D+00 0.216906250000D+03-0.181185035029D+01-0.838499212572D-08
+ -0.389659088008D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.383000000000D+03
+ 0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 22 0 0.0-0.191340222955D-04-0.113686837722D-11 0.000000000000D+00
+ 0.118000000000D+03-0.520937500000D+02 0.412445751450D-08-0.292918107537D+01
+ -0.262260437012D-05 0.924102868885D-02 0.979937613010D-05 0.515377041626D+04
+ 0.424800000000D+06-0.428408384323D-07-0.185855577425D+00 0.156462192535D-06
+ 0.967621196735D+00 0.193500000000D+03 0.250895152120D+01-0.754424281942D-08
+ 0.366443835285D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.400000000000D+01 0.000000000000D+00-0.372529029846D-08 0.374000000000D+03
+ 0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 9 05 1 20 22 0 0.0-0.249887816608D-04-0.181898940355D-11 0.000000000000D+00
+ 0.224000000000D+03-0.661875000000D+02 0.428017828661D-08 0.285619193625D+01
+ -0.337511301041D-05 0.163707633037D-01 0.932067632675D-05 0.515369107819D+04
+ 0.424800000000D+06 0.102445483208D-06-0.258127398076D+00-0.139698386192D-06
+ 0.954732271106D+00 0.193281250000D+03 0.111914505949D+01-0.749781231398D-08
+ 0.297155234851D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.558793544769D-08 0.736000000000D+03
+ 0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 22 0 0.0 0.575748272240D-04 0.682121026330D-12 0.000000000000D+00
+ 0.121000000000D+03 0.386875000000D+02 0.430160775066D-08 0.193229421855D+00
+ 0.201165676117D-05 0.635883235373D-02 0.169686973095D-05 0.515358559036D+04
+ 0.424800000000D+06 0.298023223877D-07-0.230086044624D+01 0.670552253723D-07
+ 0.978785311228D+00 0.352937500000D+03 0.291843905956D+00-0.826462996930D-08
+ -0.785747015231D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.232830643654D-08 0.377000000000D+03
+ 0.419778000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05 1 20 22 0 0.0 0.186792109162D-03 0.375166564481D-11 0.000000000000D+00
+ 0.530000000000D+02 0.927500000000D+02 0.561809115890D-08-0.248311299249D+01
+ 0.471062958241D-05 0.393747631460D-02 0.843219459057D-05 0.515368217468D+04
+ 0.424800000000D+06-0.484287738800D-07 0.280166902478D+01-0.670552253723D-07
+ 0.903672456854D+00 0.188656250000D+03 0.181572710661D+00-0.844713757147D-08
+ -0.106433004790D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.530000000000D+02
+ 0.417600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05 1 20 22 0 0.0-0.314917415381D-04-0.113686837722D-12 0.000000000000D+00
+ 0.172000000000D+03-0.907500000000D+02 0.403909681602D-08-0.978625358691D+00
+ -0.479258596897D-05 0.182599050459D-02 0.502541661263D-05 0.515368575859D+04
+ 0.424800000000D+06-0.130385160446D-07-0.126673130561D+01 0.335276126862D-07
+ 0.980769452390D+00 0.294468750000D+03-0.177969466482D+01-0.794247369305D-08
+ -0.181436128972D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.107102096081D-07 0.172000000000D+03
+ 0.417600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+15 05 1 20 22 0 0.0 0.378306023777D-03 0.522959453519D-11 0.000000000000D+00
+ 0.530000000000D+02 0.958437500000D+02 0.431732269096D-08 0.313302784901D+01
+ 0.505521893501D-05 0.881328678224D-02 0.758841633797D-05 0.515359145355D+04
+ 0.424800000000D+06-0.353902578354D-07 0.299492725588D+01 0.171363353729D-06
+ 0.963648551990D+00 0.234750000000D+03 0.234261261830D+01-0.778889586735D-08
+ -0.714315468392D-12 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.279396772385D-08 0.530000000000D+02
+ 0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+16 05 1 20 22 0 0.0 0.197859480977D-05-0.113686837722D-12 0.000000000000D+00
+ 0.950000000000D+02 0.406250000000D+00 0.465805116939D-08 0.198447167296D+01
+ 0.428408384323D-07 0.246048171539D-02 0.639259815216D-05 0.515368214035D+04
+ 0.424800000000D+06 0.353902578354D-07 0.826836514660D+00-0.298023223877D-07
+ 0.961295503851D+00 0.254250000000D+03-0.121068474302D+01-0.794425948172D-08
+ 0.175007289756D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.977888703346D-08 0.351000000000D+03
+ 0.419460000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05 1 20 22 0 0.0-0.915629789233D-04 0.193267624127D-10 0.000000000000D+00
+ 0.300000000000D+01 0.112343750000D+03 0.419767485001D-08-0.242826046510D+01
+ 0.568293035030D-05 0.175200680969D-01 0.790506601334D-05 0.515372628784D+04
+ 0.424800000000D+06 0.335276126862D-07 0.303698035312D+01-0.376254320145D-06
+ 0.965559842757D+00 0.228468750000D+03-0.269759488506D+01-0.774282251964D-08
+ 0.111076055335D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.259000000000D+03
+ 0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05 1 20 22 0 0.0-0.119239091873D-03-0.375166564481D-11 0.000000000000D+00
+ 0.640000000000D+02 0.348750000000D+02 0.464233622908D-08 0.164645216077D+01
+ 0.181607902050D-05 0.553622131702D-02 0.205263495445D-05 0.515371905327D+04
+ 0.424800000000D+06 0.372529029846D-08-0.227180341291D+01 0.141561031342D-06
+ 0.962593687114D+00 0.341562500000D+03-0.280331744965D+01-0.836463413487D-08
+ -0.132148361653D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.320000000000D+03
+ 0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 22 0 0.0-0.119395554066D-04-0.795807864051D-12 0.000000000000D+00
+ 0.170000000000D+02 0.203437500000D+02 0.461233497941D-08 0.764328589628D+00
+ 0.940635800362D-06 0.308323162608D-02 0.820867717266D-05 0.515364004707D+04
+ 0.424800000000D+06-0.242143869400D-07 0.192749600671D+01-0.167638063431D-07
+ 0.959183876693D+00 0.220343750000D+03-0.177727168627D+01-0.795211695188D-08
+ -0.381087302387D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.170000000000D+02
+ 0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05 1 20 22 0 0.0-0.906586647034D-04 0.272848410532D-11 0.000000000000D+00
+ 0.150000000000D+03 0.386250000000D+02 0.458947688442D-08 0.136872490226D+01
+ 0.194646418095D-05 0.227062043268D-02 0.196136534214D-05 0.515379735565D+04
+ 0.424800000000D+06-0.108033418655D-06-0.232429428727D+01-0.633299350739D-07
+ 0.962460646418D+00 0.340843750000D+03 0.141684895738D+01-0.833213278106D-08
+ 0.625026034843D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.406000000000D+03
+ 0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+21 05 1 20 22 0 0.0 0.880961306393D-04 0.113686837722D-11 0.000000000000D+00
+ 0.239000000000D+03 0.995000000000D+02 0.457733352146D-08 0.305806955925D+01
+ 0.525638461113D-05 0.933773815632D-02 0.810623168945D-05 0.515365621567D+04
+ 0.424800000000D+06-0.154599547386D-06 0.296416817003D+01-0.223517417908D-07
+ 0.950169480818D+00 0.218843750000D+03 0.311209427835D+01-0.788497129785D-08
+ -0.642883921553D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.495000000000D+03
+ 0.424530000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05 1 20 22 0 0.0 0.162809155881D-04 0.227373675443D-12 0.000000000000D+00
+ 0.219000000000D+03 0.296562500000D+02 0.472376819248D-08-0.179284452237D+00
+ 0.157020986080D-05 0.506145320833D-02 0.226311385632D-05 0.515368570328D+04
+ 0.424800000000D+06 0.931322574615D-08-0.226254470240D+01-0.260770320892D-07
+ 0.960008688924D+00 0.335375000000D+03-0.147690335520D+01-0.847499587474D-08
+ 0.250010413937D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.475000000000D+03
+ 0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05 1 20 22 0 0.0 0.211531296372D-03 0.568434188608D-12 0.000000000000D+00
+ 0.232000000000D+03-0.104562500000D+03 0.434125225915D-08-0.586781787097D+00
+ -0.553205609322D-05 0.364261982031D-02 0.550597906113D-05 0.515372820091D+04
+ 0.424800000000D+06-0.763684511185D-07-0.127173870742D+01-0.298023223877D-07
+ 0.962918735808D+00 0.273906250000D+03 0.223661247525D+01-0.811248077453D-08
+ -0.137148569931D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.232000000000D+03
+ 0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05 1 20 22 0 0.0 0.896798446775D-04 0.284217094304D-11 0.000000000000D+00
+ 0.135000000000D+03 0.118718750000D+03 0.426160608443D-08-0.271037892093D+01
+ 0.620260834694D-05 0.907422706951D-02 0.799074769020D-05 0.515220159149D+04
+ 0.424800000000D+06 0.745058059692D-07 0.296991005912D+01 0.109896063805D-06
+ 0.966851966614D+00 0.227718750000D+03-0.126112698787D+01-0.772996484121D-08
+ 0.750031241812D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.280000000000D+01 0.000000000000D+00-0.139698386192D-08 0.391000000000D+03
+ 0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05 1 20 22 0 0.0 0.843773595989D-04 0.909494701773D-12 0.000000000000D+00
+ 0.760000000000D+02-0.565937500000D+02 0.450625913235D-08-0.262043585887D+01
+ -0.284612178803D-05 0.118074824568D-01 0.919401645660D-05 0.515361653328D+04
+ 0.424800000000D+06 0.126659870148D-06-0.309462513030D+00-0.111758708954D-07
+ 0.947906182703D+00 0.194468750000D+03-0.151546997194D+01-0.768996317498D-08
+ 0.317156067966D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.760000000000D+02
+ 0.420888000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05 1 20 22 0 0.0 0.317420344800D-03 0.557065504836D-11 0.000000000000D+00
+ 0.102000000000D+03-0.105625000000D+03 0.381587323215D-08-0.160364987100D+01
+ -0.543892383575D-05 0.158518853132D-01 0.496022403240D-05 0.515374954987D+04
+ 0.424800000000D+06 0.223517417908D-06-0.125412671566D+01-0.216066837311D-06
+ 0.984696721805D+00 0.293906250000D+03 0.651734652004D+00-0.766924802639D-08
+ -0.528593446610D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.651925802231D-08 0.614000000000D+03
+ 0.422940000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 22 0 0.0 0.513938255608D-03 0.625277607469D-11 0.000000000000D+00
+ 0.150000000000D+02-0.679687500000D+02 0.441732685654D-08 0.205063271071D+01
+ -0.379607081413D-05 0.188540527597D-01 0.985525548458D-05 0.515366427040D+04
+ 0.424800000000D+06-0.126659870148D-06-0.279952343745D+00-0.396743416786D-06
+ 0.952438569164D+00 0.186187500000D+03-0.208861877572D+01-0.772532179066D-08
+ 0.365015204348D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.527000000000D+03
+ 0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 22 0 0.0 0.464902259409D-04 0.113686837722D-12 0.000000000000D+00
+ 0.155000000000D+03 0.725000000000D+01 0.480448584041D-08 0.762745914149D+00
+ 0.439584255219D-06 0.957601726987D-02 0.653974711895D-05 0.515363321304D+04
+ 0.424800000000D+06-0.124797224999D-06 0.837115688063D+00 0.104308128357D-06
+ 0.959279497407D+00 0.253531250000D+03-0.236660785415D+01-0.811033782813D-08
+ 0.111790370803D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.411000000000D+03
+ 0.417930000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05 1 20 22 0 0.0 0.177387148142D-03-0.189857018995D-10 0.000000000000D+00
+ 0.200000000000D+01-0.103312500000D+03 0.400480967354D-08 0.484432892997D+00
+ -0.547245144844D-05 0.878088106401D-02 0.535324215889D-05 0.515359601021D+04
+ 0.424800000000D+06-0.298023223877D-07-0.128734726505D+01-0.141561031342D-06
+ 0.981569816334D+00 0.292656250000D+03-0.122331821390D+01-0.802569144512D-08
+ -0.237152735506D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.258000000000D+03
+ 0.421020000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+30 05 1 20 22 0 0.0 0.443158205599D-03-0.143245415529D-10 0.000000000000D+00
+ 0.207000000000D+03 0.409375000000D+01 0.516807241382D-08 0.108653211703D+01
+ 0.109896063805D-06 0.798672065139D-02 0.632740557194D-05 0.515375456619D+04
+ 0.424800000000D+06-0.141561031342D-06 0.791562717319D+00 0.931322574616D-08
+ 0.943203925121D+00 0.247968750000D+03 0.127863794319D+01-0.835213361418D-08
+ 0.221794952936D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.207000000000D+03
+ 0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+31 05 1 20 22 0 0.0-0.182539224625D-06-0.500222085975D-11 0.000000000000D+00
+ 0.890000000000D+02 0.104062500000D+02 0.511771317330D-08 0.274525441395D+01
+ 0.379979610443D-06 0.123758723494D-01 0.773929059506D-05 0.515360669517D+04
+ 0.424800000000D+06 0.335276126862D-07 0.181774836932D+01-0.193715095520D-06
+ 0.935503503247D+00 0.215156250000D+03 0.106448125000D+01-0.795461705602D-08
+ -0.431446542909D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.256000000000D+03 0.630000000000D+02-0.605359673500D-08 0.890000000000D+02
+ 0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05 1 20 23 59 28.0 0.464851036668D-04 0.113686837722D-12 0.000000000000D+00
+ 0.177000000000D+03 0.375000000000D+01 0.475055502254D-08 0.180821626283D+01
+ 0.178813934326D-06 0.957630865742D-02 0.675581395626D-05 0.515363458633D+04
+ 0.431968000000D+06-0.244006514549D-06 0.837057241560D+00-0.279396772385D-07
+ 0.959280675056D+00 0.249562500000D+03-0.236653854548D+01-0.801997692137D-08
+ 0.179650340301D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.177000000000D+03
+ 0.431688000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05 1 20 23 59 44.0 0.383987091482D-03 0.193267624127D-11 0.000000000000D+00
+ 0.210000000000D+02-0.900312500000D+02 0.404838291711D-08-0.735502953359D+00
+ -0.471249222755D-05 0.603515445255D-02 0.511482357979D-05 0.515363114739D+04
+ 0.431984000000D+06-0.819563865662D-07-0.124001483587D+01 0.130385160446D-07
+ 0.982221048946D+00 0.292812500000D+03-0.165765803572D+01-0.801926260591D-08
+ -0.173935816554D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.277000000000D+03
+ 0.424800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05 1 20 23 59 44.0 0.783172436059D-04 0.295585778076D-11 0.000000000000D+00
+ 0.960000000000D+02 0.303125000000D+01 0.543308345259D-08-0.488191767375D-01
+ 0.208616256714D-06 0.661774899345D-02 0.732578337193D-05 0.515371518707D+04
+ 0.431984000000D+06 0.558793544769D-07 0.179140083728D+01 0.949949026108D-07
+ 0.926913666681D+00 0.220562500000D+03 0.600793173196D+00-0.844392315186D-08
+ -0.341085636157D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.419095158577D-08 0.352000000000D+03
+ 0.429510000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05 1 20 23 59 44.0 0.439919997007D-03-0.206910044653D-10 0.000000000000D+00
+ 0.110000000000D+02 0.109218750000D+03 0.440839791318D-08-0.304239079032D+01
+ 0.567547976971D-05 0.704762816895D-02 0.805594027042D-05 0.515355070686D+04
+ 0.431984000000D+06-0.987201929092D-07 0.294085691276D+01-0.167638063431D-07
+ 0.956559789332D+00 0.224031250000D+03-0.347647852357D-04-0.784854120896D-08
+ -0.303584074067D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.110000000000D+02
+ 0.424818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 6 05 1 20 23 59 44.0-0.156835652888D-03 0.877662387211D-10 0.000000000000D+00
+ 0.215000000000D+03 0.709375000000D+01 0.511485591142D-08-0.208350033989D+01
+ 0.279396772385D-06 0.622937141452D-02 0.758469104767D-05 0.515362606621D+04
+ 0.431984000000D+06 0.819563865662D-07 0.184626072168D+01-0.242143869400D-07
+ 0.934428593467D+00 0.214500000000D+03-0.194735022179D+01-0.809390857235D-08
+ -0.353586156854D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.727000000000D+03
+ 0.424818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05 1 20 23 59 44.0-0.191461294890D-04-0.113686837722D-11 0.000000000000D+00
+ 0.141000000000D+03-0.476875000000D+02 0.417838833236D-08-0.188136647654D+01
+ -0.251643359661D-05 0.924118584953D-02 0.100135803223D-04 0.515377049828D+04
+ 0.431984000000D+06-0.197440385819D-06-0.185910565590D+00 0.745058059692D-08
+ 0.967623108769D+00 0.192968750000D+03 0.250892267539D+01-0.772960768347D-08
+ 0.405016870578D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.397000000000D+03
+ 0.428250000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05 1 20 23 59 44.0 0.575827434659D-04 0.682121026330D-12 0.000000000000D+00
+ 0.147000000000D+03 0.418750000000D+02 0.434482383650D-08 0.124109418707D+01
+ 0.240094959736D-05 0.635920464993D-02 0.183284282684D-05 0.515358640862D+04
+ 0.431984000000D+06 0.558793544769D-08-0.230091970320D+01 0.875443220139D-07
+ 0.978785246860D+00 0.352750000000D+03 0.291878297697D+00-0.825105797540D-08
+ -0.178578867098D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.147000000000D+03
+ 0.428538000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05 1 20 23 59 44.0-0.119451433420D-04-0.795807864051D-12 0.000000000000D+00
+ 0.410000000000D+02 0.107187500000D+02 0.452947438507D-08 0.181177702152D+01
+ 0.497326254845D-06 0.308377773035D-02 0.800378620625D-05 0.515364268303D+04
+ 0.431984000000D+06 0.111758708954D-07 0.192743890902D+01-0.745058059692D-07
+ 0.959181484822D+00 0.223906250000D+03-0.177685295962D+01-0.789175729480D-08
+ -0.362157942475D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.410000000000D+02
+ 0.431999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+27 05 1 20 23 59 44.0 0.513989478350D-03 0.625277607469D-11 0.000000000000D+00
+ 0.400000000000D+02-0.641562500000D+02 0.434982404477D-08 0.309848637384D+01
+ -0.343844294548D-05 0.188536680071D-01 0.972859561443D-05 0.515366481209D+04
+ 0.431984000000D+06 0.949949026108D-07-0.280006356143D+00-0.212341547012D-06
+ 0.952441889988D+00 0.184281250000D+03-0.208862094962D+01-0.751781314709D-08
+ 0.328585115460D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+ 0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.400000000000D+02
+ 0.431238000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
diff --git a/trunk/apps/positioning/doc/nga13063.apc b/trunk/apps/positioning/doc/nga13063.apc
new file mode 100644
index 0000000..41d470d
--- /dev/null
+++ b/trunk/apps/positioning/doc/nga13063.apc
@@ -0,0 +1,5687 @@
+#aV2005 1 19 0 0 .00000000 96 DD+AD WGS84 FIT NGA
+## 1306 259200.00000000 900.00000000 53389 .0000000000000
++ 29 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18
++ 19 20 21 22 23 24 25 26 27 28 29 30 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 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
+++ 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 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 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 0
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
+%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
+%i 0 0 0 0 0 0 0 0 0
+%i 0 0 0 0 0 0 0 0 0
+/* NGA, ST. LOUIS,MO.
+/* EPHEMERIS COMPUTED FROM 3 DAYS OF DATA
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+* 2005 1 19 0 0 .00000000
+P 1 -14501.313430 17398.176193 -13659.636342 383.643518
+V 1 3201.458571 -17434.602902 -25275.234305 .019005
+P 2 19961.721416 -13460.790930 10819.737559 -43.166733
+V 2 14431.752211 -1215.377683 -27451.537755 .058325
+P 3 -11197.115363 21801.225253 9776.517545 77.797229
+V 3 -1467.437637 -13181.026979 27629.501759 .030266
+P 4 26004.313022 -6226.895197 -603.536925 443.487460
+V 4 -74.119442 2770.051423 -31426.543733 -.206514
+P 5 -9027.008153 -20942.052514 -13910.746064 72.926901
+V 5 14981.377032 9214.642929 -23695.313794 .025575
+P 6 -9363.520849 -17610.486327 17677.702500 -172.067096
+V 6 6986.246062 -21174.719226 -17694.837440 .884919
+P 7 15920.572194 -1620.421358 -20766.798821 65.932521
+V 7 -4645.506322 27059.560759 -5710.530251 -.301982
+P 8 24018.843711 2250.601902 11334.141515 -18.945866
+V 8 -13649.430425 5353.662964 27083.679997 -.011658
+P 9 1017.962074 -16240.037771 -21417.031326 -24.699833
+V 9 25169.913545 -7212.354155 7161.115522 -.018208
+P 10 8660.740631 -12168.568461 21883.140009 57.457644
+V 10 19878.223136 19579.138488 3295.889744 .007022
+P 11 233.395552 17158.975893 -20263.188165 186.179383
+V 11 -24465.802438 8776.895159 7349.320549 .036730
+P 13 7558.335420 17886.775431 18093.316770 -13.896311
+V 13 -7101.891311 21911.693900 -18571.830726 .009631
+P 14 -15347.300350 1693.289436 -21551.679694 -31.479494
+V 14 6436.628035 -26682.603021 -6680.245591 -.001074
+P 15 -26323.273480 2848.005369 3394.120408 377.424351
+V 15 3952.806132 -3306.683391 31239.999790 .053157
+P 16 -13950.662782 7305.610293 21467.592576 2.004349
+V 16 -18977.198901 -19319.865670 -5736.634562 -.001876
+P 17 11257.608366 -14922.775366 18800.685838 -94.717756
+V 17 23616.331311 -1946.024232 -16638.373673 .187458
+P 18 -19857.186955 -17433.127693 -3753.889646 -118.619764
+V 18 -1440.065209 -5229.773111 31157.772013 -.037627
+P 19 -7594.768081 25458.596223 -624.548514 -11.799365
+V 19 -2989.139130 8.609969 31686.904512 -.008601
+P 20 9309.275577 21373.250577 -12817.597909 -91.106308
+V 20 -13159.117389 -9617.876920 -25722.574110 .026914
+P 21 -19797.832241 -7403.452677 16340.574662 87.914225
+V 21 19681.772327 -6405.760097 20486.631853 .010580
+P 22 -20966.570396 -8918.940047 -13467.246681 16.249594
+V 22 -10054.639069 -14365.023254 24886.790097 .000092
+P 23 1458.740289 24212.485466 10600.609050 211.432592
+V 23 -5790.749301 12593.957239 -27831.423095 .006111
+P 24 26146.606302 -4199.460750 -2405.573016 89.202896
+V 24 -2742.222034 3222.029534 -31617.363941 .029616
+P 25 -24644.981794 9934.022438 866.376740 84.258500
+V 25 -1728.881181 -2767.352476 -31421.389281 .008563
+P 26 7028.217495 -25261.853059 197.414447 316.489560
+V 26 2321.208577 1283.293606 32684.607563 .056146
+P 27 19123.794505 6880.048282 17862.467614 512.895117
+V 27 -19878.601674 8283.903055 18209.754813 .063482
+P 28 21599.655934 9321.184669 -12427.058640 46.466901
+V 28 9758.241082 12873.531207 25836.425933 .002091
+P 29 9566.292058 -24113.103955 5590.078761 180.525143
+V 29 546.629609 7090.771089 31254.740904 -.189144
+P 30 -16926.021065 -20070.395719 -4650.877918 445.529640
+V 30 6267.789372 1434.821785 -30550.483312 -.142932
+* 2005 1 19 0 15 .00000000
+P 1 -14227.126980 15699.877663 -15808.705999 383.644160
+V 1 2823.850978 -20256.548600 -22411.583087 .019011
+P 2 21119.004114 -13559.956095 8261.548942 -43.161464
+V 2 11265.797817 -917.870446 -29313.079941 .058310
+P 3 -11338.303996 20482.075066 12170.086472 77.800036
+V 3 -1730.375674 -16095.307316 25482.937559 .030264
+P 4 25852.657284 -5932.216614 -3418.887505 443.468717
+V 4 -3269.225097 3841.487479 -31048.748249 -.206517
+P 5 -7568.518417 -20075.620751 -15919.663809 72.928263
+V 5 17411.712857 9965.651256 -20884.475482 .025558
+P 6 -8798.036638 -19438.371919 15939.045046 -171.987068
+V 6 5606.810307 -19370.276695 -20888.146487 .884883
+P 7 15556.336485 845.507912 -21093.487912 65.905237
+V 7 -3426.168731 27650.025298 -1538.847996 -.301992
+P 8 22674.519473 2802.724259 13668.122827 -18.946933
+V 8 -16160.035235 6957.346549 24707.370851 -.011660
+P 9 3227.780923 -16934.170515 -20596.643052 -24.700924
+V 9 23865.579004 -8166.231501 11047.248603 -.018200
+P 10 10503.163005 -10450.728533 21989.393734 57.457967
+V 10 20997.742407 18528.239173 -936.430529 .007022
+P 11 -1912.172275 17978.217787 -19429.089688 186.182716
+V 11 -23148.779866 9379.123755 11160.522633 .036733
+P 13 6997.439474 19777.293226 16270.688281 -13.895430
+V 13 -5390.278116 20017.469130 -21872.286148 .009632
+P 14 -14828.816249 -749.295496 -21964.741456 -31.479599
+V 14 5054.643092 -27507.904304 -2485.692007 -.001072
+P 15 -25822.998670 2503.315099 6168.956641 377.427238
+V 15 7130.791428 -4414.810442 30335.183689 .053154
+P 16 -15676.793969 5636.676488 20769.408390 2.004168
+V 16 -19305.383866 -17720.780615 -9756.385995 -.001876
+P 17 13291.856234 -15135.648202 17144.553166 -94.700963
+V 17 21520.007000 -2730.114077 -20115.215462 .187492
+P 18 -19886.606417 -17788.305047 -925.789558 -118.623177
+V 18 841.675700 -2705.182603 31599.875067 -.037629
+P 19 -7820.727466 25311.137408 2224.468697 -11.800134
+V 19 -2099.513476 -3300.469867 31533.856065 -.008603
+P 20 8008.685170 20455.200355 -15016.290922 -91.103886
+V 20 -15735.580451 -10704.593010 -23067.717292 .026917
+P 21 -17946.140901 -8051.739977 18040.884148 87.915226
+V 21 21389.887072 -8022.116033 17243.029012 .010584
+P 22 -21811.952060 -10093.829067 -11116.874886 16.249385
+V 22 -8654.816442 -11746.222546 27267.322798 .000097
+P 23 997.871160 25216.588577 8010.918039 211.433069
+V 23 -4503.648767 9667.397523 -29633.592735 .006104
+P 24 25753.134512 -3860.448781 -5222.326152 89.205838
+V 24 -5969.883110 4374.578883 -30886.935323 .029609
+P 25 -24660.288783 9625.519778 -1960.882633 84.259721
+V 25 1362.480047 -4150.001869 -31316.298128 .008546
+P 26 7203.365474 -24986.890135 3128.472842 316.494692
+V 26 1643.545473 4837.754033 32352.407223 .056142
+P 27 17276.043386 7702.859456 19351.547261 512.900976
+V 27 -21103.533265 10009.405683 14836.154404 .063480
+P 28 22408.609864 10363.048087 -10002.147105 46.467035
+V 28 8145.295280 10290.705084 27972.334227 .002084
+P 29 9602.002307 -23322.893406 8346.747104 180.508240
+V 29 320.736378 10452.825760 29917.233289 -.189149
+P 30 -16243.407128 -19856.252728 -7353.104790 445.516656
+V 30 8923.890640 3259.060752 -29414.341695 -.142937
+* 2005 1 19 0 30 .00000000
+P 1 -14004.495538 13762.121922 -17681.845186 383.644209
+V 1 2064.294366 -22741.375388 -19152.313661 .019018
+P 2 21987.499200 -13613.252005 5558.915482 -43.156315
+V 2 8030.990460 -195.806462 -30657.203512 .058295
+P 3 -11518.872669 18912.207976 14350.024123 77.803268
+V 3 -2335.780344 -18738.626019 22889.245405 .030262
+P 4 25421.965162 -5524.649020 -6176.589742 443.450144
+V 4 -6260.843290 5271.666247 -30147.162363 -.206519
+P 5 -5897.411469 -19161.346584 -17659.375004 72.929819
+V 5 19691.773539 10280.181817 -17721.273970 .025541
+P 6 -8348.373496 -21084.393498 13928.337628 -171.907277
+V 6 4424.445733 -17141.581920 -23731.589799 .884846
+P 7 15306.614781 3340.303263 -21043.091352 65.877936
+V 7 -2115.174768 27698.478755 2656.170363 -.302001
+P 8 21122.555241 3509.285511 15768.525139 -18.947667
+V 8 -18253.872087 8772.699621 21899.890443 -.011661
+P 9 5301.677031 -17700.552162 -19433.521019 -24.703070
+V 9 22158.709460 -8806.897259 14766.942526 -.018193
+P 10 12427.405184 -8844.442080 21715.374851 57.458904
+V 10 21686.797432 17112.519938 -5142.379062 .007022
+P 11 -3922.615307 18837.497950 -18259.900474 186.186079
+V 11 -21473.155457 9657.757081 14784.943005 .036736
+P 13 6581.811635 21475.883624 14167.695959 -13.894414
+V 13 -3887.447691 17655.921850 -24793.272414 .009631
+P 14 -14441.625093 -3241.649012 -21997.826532 -31.479676
+V 14 3534.150729 -27784.358136 1751.425950 -.001070
+P 15 -25047.072384 2042.916042 8838.862952 377.431444
+V 15 10064.356158 -5869.852554 28910.971265 .053151
+P 16 -17411.426324 4123.044598 19716.448538 2.003916
+V 16 -19160.618808 -15882.773454 -13609.384916 -.001875
+P 17 15119.801018 -15403.493401 15189.791067 -94.683854
+V 17 19043.850171 -3157.939324 -23264.065794 .187527
+P 18 -19696.694772 -17928.713651 1918.007610 -118.626624
+V 18 3422.670996 -468.594906 31506.252803 -.037631
+P 19 -7985.070669 24863.258137 5035.313821 -11.800954
+V 19 -1622.278076 -6651.259587 30840.057800 -.008604
+P 20 6479.602854 19460.611562 -16957.985581 -91.101438
+V 20 -18221.019219 -11319.001755 -20019.691303 .026921
+P 21 -15962.038727 -8850.039710 19435.230294 87.916267
+V 21 22619.009769 -9725.154370 13696.621695 .010587
+P 22 -22511.018427 -11035.148254 -8573.443472 16.249387
+V 22 -6808.296803 -9190.180590 29170.978406 .000102
+P 23 637.767388 25944.513641 5282.047978 211.433390
+V 23 -3559.881021 6471.057460 -30919.881628 .006098
+P 24 25079.073356 -3401.373163 -7949.156249 89.208380
+V 24 -8962.963212 5882.015115 -29621.311279 .029601
+P 25 -24405.755117 9176.567792 -4754.296726 84.260588
+V 25 4253.445894 -5880.577514 -30669.521428 .008528
+P 26 7337.306942 -24390.778409 6003.363280 316.499897
+V 26 1406.900113 8401.445109 31437.785789 .056138
+P 27 15339.580016 8682.020464 20525.716469 512.906603
+V 27 -21848.281834 11744.138661 11220.704332 .063479
+P 28 23053.161258 11176.971793 -7406.564670 46.467170
+V 28 6111.307896 7822.969525 29624.324764 .002077
+P 29 9637.073597 -22236.079400 10959.902817 180.491388
+V 29 529.175914 13665.583341 28070.736258 -.189155
+P 30 -15316.951461 -19495.961802 -9930.582432 445.503631
+V 30 11672.129650 4677.301306 -27782.568924 -.142943
+* 2005 1 19 0 45 .00000000
+P 1 -13865.261957 11618.982596 -19245.950746 383.646119
+V 1 981.618283 -24808.257265 -15554.205726 .019026
+P 2 22565.519761 -13582.677405 2759.395823 -43.151070
+V 2 4827.307702 943.103147 -31463.539356 .058281
+P 3 -11767.592239 17119.607224 16278.128179 77.806104
+V 3 -3235.658434 -21032.857968 19895.050029 .030260
+P 4 24734.220916 -4974.031961 -8830.083757 443.431685
+V 4 -8968.975703 7010.858642 -28736.077445 -.206521
+P 5 -4031.040920 -18237.624213 -19100.496011 72.931416
+V 5 21737.327203 10180.704402 -14258.333275 .025525
+P 6 -7993.702479 -22512.823856 11679.360100 -171.827744
+V 6 3506.141746 -14545.563822 -26175.207526 .884809
+P 7 15175.728195 5814.792901 -20617.008172 65.850888
+V 7 -800.053899 27199.550731 6796.881844 -.302010
+P 8 19402.869517 4385.694476 17598.509275 -18.947194
+V 8 -19880.039144 10717.260684 18706.199740 -.011662
+P 9 7206.124447 -18508.203040 -17945.450184 -24.704929
+V 9 20111.405827 -9074.379669 18258.150196 -.018185
+P 10 14392.362444 -7379.038317 21066.736502 57.460775
+V 10 21895.618724 15411.645981 -9249.374744 .007022
+P 11 -5768.559733 19705.489433 -16775.309264 186.189364
+V 11 -19505.143862 9566.050300 18159.188711 .036738
+P 13 6289.117660 22943.234670 11820.780776 -13.893469
+V 13 -2670.214634 14890.698259 -27285.122295 .009630
+P 14 -14194.043419 -5733.528872 -21650.417702 -31.479804
+V 14 1967.896938 -27496.426935 5957.463758 -.001069
+P 15 -24021.137949 1438.010830 11357.966488 377.436829
+V 15 12674.197725 -7615.454573 26988.209438 .053149
+P 16 -19110.771239 2782.327004 18326.685555 2.003836
+V 16 -18518.654196 -13893.232083 -17230.300489 -.001874
+P 17 16710.703292 -15691.857100 12968.687638 -94.667046
+V 17 16266.521648 -3178.995069 -26024.229702 .187561
+P 18 -19263.745652 -17883.166867 4729.324132 -118.630239
+V 18 6229.323692 1418.007732 30879.183894 -.037631
+P 19 -8125.284599 24115.578151 7759.840084 -11.801878
+V 19 -1562.661753 -9946.513975 29618.590314 -.008604
+P 20 4734.421747 18431.644655 -18609.602213 -91.098801
+V 20 -20522.608978 -11471.852963 -16630.743747 .026923
+P 21 -13889.792020 -9802.247146 20498.918644 87.917413
+V 21 23346.280079 -11427.428660 9905.123956 .010589
+P 22 -23025.209397 -11752.665995 -5881.364551 16.249289
+V 22 -4554.458770 -6787.323290 30566.076019 .000108
+P 23 345.516896 26376.001038 2461.477133 211.433795
+V 23 -3001.375708 3095.671876 -31668.562685 .006094
+P 24 24149.328394 -2792.717331 -10538.640774 89.212582
+V 24 -11638.859631 7687.917748 -27838.614043 .029593
+P 25 -23903.102062 8558.213119 -7465.324577 84.261412
+V 25 6863.662272 -7904.087610 -29487.344607 .008511
+P 26 7469.802661 -23477.687478 8770.212302 316.505303
+V 26 1609.400581 11863.307604 29954.822623 .056134
+P 27 13357.840212 9814.511288 21365.674838 512.912623
+V 27 -22110.645728 13402.460357 7418.711364 .063477
+P 28 23497.397772 11777.178222 -4685.028553 46.467402
+V 28 3702.895697 5554.735686 30767.945856 .002070
+P 29 9709.443272 -20870.424034 13385.252915 180.474452
+V 29 1143.338524 16634.107060 25750.263444 -.189161
+P 30 -14142.299820 -19027.225633 -12339.977314 445.490360
+V 30 14424.438518 5666.559127 -25684.714532 -.142948
+* 2005 1 19 1 0 .00000000
+P 1 -13835.324934 9311.187136 -20473.329209 383.648826
+V 1 -351.369521 -26390.649903 -11680.510324 .019034
+P 2 22860.254343 -13431.744332 -88.065538 -43.146026
+V 2 1751.374577 2473.071879 -31721.666120 .058268
+P 3 -12108.296491 15138.757375 17920.731039 77.808524
+V 3 -4368.682993 -22912.121151 16554.326208 .030257
+P 4 23818.144793 -4255.319814 -11334.464076 443.413439
+V 4 -11324.375876 8995.473645 -26837.930389 -.206524
+P 5 -1994.064824 -17340.108955 -20218.601470 72.932777
+V 5 23470.787481 9705.400193 -10553.077271 .025510
+P 6 -7707.672905 -23693.665639 9230.112577 -171.748168
+V 6 2907.192608 -11652.255076 -28175.325429 .884772
+P 7 15160.112881 8220.214875 -19823.567430 65.823793
+V 7 432.143139 26167.672612 10807.212412 -.302019
+P 8 17559.222039 5439.572848 19125.614546 -18.947216
+V 8 -21004.353636 12701.009407 15178.517514 -.011665
+P 9 8913.707581 -19321.333382 -16155.705892 -24.706298
+V 9 17796.973842 -8922.145779 21461.067589 -.018177
+P 10 16353.216408 -6076.245563 20055.564477 57.461764
+V 10 21591.712697 13514.282959 -13187.252822 .007021
+P 11 -7427.027000 20547.285801 -15000.538692 186.192649
+V 11 -17320.191612 9071.501483 21223.867373 .036741
+P 13 6090.676070 24146.426169 9270.519783 -13.892733
+V 13 -1802.350994 11799.746030 -29305.714787 .009628
+P 14 -14085.951218 -8174.180989 -20928.608626 -31.479892
+V 14 449.977012 -26648.313410 10059.376035 -.001067
+P 15 -22777.471840 665.507662 13682.659991 377.443172
+V 15 14892.679451 -9581.559959 24596.366500 .053146
+P 16 -20729.661783 1624.071917 16623.806571 2.003835
+V 16 -17373.230607 -11843.391933 -20557.644583 -.001874
+P 17 18041.423823 -15962.479311 10518.745682 -94.650125
+V 17 13277.738059 -2759.577351 -28340.766675 .187595
+P 18 -18571.146491 -17685.402520 7460.575530 -118.633764
+V 18 9178.068933 2907.495325 29729.549841 -.037630
+P 19 -8278.509841 23077.429653 10351.480250 -11.802569
+V 19 -1907.785588 -13090.465748 27891.411169 -.008604
+P 20 2793.693912 17408.685336 -19943.023258 -91.096190
+V 20 -22552.440135 -11191.680602 -12958.741304 .026924
+P 21 -11774.943547 -10904.264686 21212.672095 87.918186
+V 21 23566.295320 -13039.337417 5931.069821 .010592
+P 22 -23320.259766 -12263.932463 -3087.490127 16.249082
+V 22 -1949.059807 -4619.600056 31430.139296 .000116
+P 23 85.207157 26499.278684 -401.792811 211.434431
+V 23 -2852.665241 -361.483028 -31867.551032 .006091
+P 24 22995.736368 -2010.703640 -12945.409240 89.215454
+V 24 -13926.648281 9721.562057 -25566.297938 .029585
+P 25 -23180.818498 7747.108527 -10046.426055 84.262293
+V 25 9123.589731 -10151.309116 -27785.747792 .008494
+P 26 7639.528012 -22261.696815 11378.945265 316.510566
+V 26 2228.869624 15114.949364 27929.365420 .056130
+P 27 11373.738425 11089.630453 21857.228051 512.918611
+V 27 -21904.372510 14899.813326 3488.248434 .063475
+P 28 23710.271219 12185.048180 -1884.069168 46.467703
+V 28 981.189650 3560.193989 31387.370134 .002062
+P 29 9853.688750 -19251.864218 15582.000190 180.457588
+V 29 2117.455998 19272.216617 22998.340734 -.189166
+P 30 -12723.124333 -18489.038215 -14540.944703 445.477585
+V 30 17091.068327 6221.168526 -23157.539894 -.142953
+* 2005 1 19 1 15 .00000000
+P 1 -13933.512268 6884.707428 -21342.227151 383.649768
+V 1 -1850.890277 -27438.943800 -7599.768854 .019041
+P 2 22887.299066 -13127.058831 -2934.032053 -43.140802
+V 2 -1107.180705 4351.377778 -31431.042263 .058256
+P 3 -12558.795957 13009.424608 19249.312630 77.810993
+V 3 -5662.806913 -24325.300607 12927.292759 .030256
+P 4 22708.111595 -3349.729363 -13647.201403 443.396080
+V 4 -13271.006983 11150.360484 -24483.034996 -.206526
+P 5 182.284216 -16500.369065 -20994.618695 72.935351
+V 5 24824.095217 8906.608002 -6666.885024 .025495
+P 6 -7459.572024 -24603.723703 6622.210444 -171.668598
+V 6 2668.895268 -8542.334271 -29695.415127 .884735
+P 7 15248.534524 10509.973830 -18677.811858 65.796657
+V 7 1498.628541 24636.372306 14614.309300 -.302028
+P 8 15637.643308 6670.227348 20322.379575 -18.947530
+V 8 -21610.719252 14629.772627 11375.601332 -.011668
+P 9 10404.020813 -20100.650709 -14092.808500 -24.709483
+V 9 15297.435956 -8319.202378 24319.110949 -.018169
+P 10 18263.050245 -4949.541037 18700.106654 57.462374
+V 10 20761.085102 11514.507730 -16889.428169 .007020
+P 11 -8882.136465 21325.754768 -12965.934714 186.195868
+V 11 -15000.073940 8157.349664 23924.700166 .036745
+P 13 5952.748644 25060.088989 6560.915460 -13.891638
+V 13 -1332.089697 8472.392977 -30821.150660 .009627
+P 14 -14108.842640 -10514.115182 -19844.991238 -31.480095
+V 14 -927.984926 -25263.813119 13986.016185 -.001064
+P 15 -21353.814795 -290.856974 15772.367010 377.447754
+V 15 16666.399937 -11686.952111 21773.268652 .053143
+P 16 -22223.194125 649.575316 14636.821900 2.003754
+V 16 -15736.460593 -9824.807811 -23534.774107 -.001876
+P 17 19097.271310 -16174.896326 7882.098585 -94.633136
+V 17 10174.913552 -1884.674777 -30165.955243 .187630
+P 18 -17610.141585 -17372.668318 10065.536933 -118.637095
+V 18 12178.404176 3969.223346 28076.641215 -.037628
+P 19 -8479.933774 21766.564652 12766.026587 -11.803431
+V 19 -2627.284285 -15992.349200 25688.911352 -.008604
+P 20 685.535952 16428.795784 -20935.556043 -91.093824
+V 20 -24230.855498 -10523.543313 -9066.203450 .026923
+P 21 -9662.723177 -12143.963917 21563.025807 87.919241
+V 21 23291.406613 -14472.606064 1840.929740 .010594
+P 22 -23367.581505 -12593.373630 -240.269631 16.249427
+V 22 937.902989 -2757.377383 31750.177273 .000123
+P 23 -180.462002 26311.485530 -3258.112904 211.434736
+V 23 -3119.961262 -3800.289343 -31514.557175 .006089
+P 24 21655.885833 -1038.467508 -15126.973606 89.218327
+V 24 -15769.857560 11900.531736 -22840.906168 .029577
+P 25 -22273.059128 6726.686090 -12451.937873 84.263466
+V 25 10977.284555 -12541.282629 -25590.442944 .008476
+P 26 7882.278606 -20766.350267 13782.327499 316.515507
+V 26 3223.715518 18055.182129 25398.570717 .056126
+P 27 9428.250510 12489.227055 21991.512534 512.923988
+V 27 -21258.672491 16155.703580 -510.389372 .063473
+P 28 23666.803650 12428.080192 948.747932 46.467949
+V 28 -1980.467794 1900.710535 31475.414698 .002054
+P 29 10099.569841 -17413.582730 17513.479228 180.440455
+V 29 3390.623092 21505.543968 19864.104163 -.189172
+P 30 -11071.127221 -17920.123402 -16496.747904 445.464386
+V 30 19583.863390 6352.738323 -20244.344969 -.142958
+* 2005 1 19 1 30 .00000000
+P 1 -14170.746969 4389.141168 -21837.249212 383.651814
+V 1 -3425.672253 -27922.443303 -3384.502776 .019049
+P 2 22669.876780 -12639.768866 -5729.453755 -43.135647
+V 2 -3669.015241 6520.161190 -30600.740478 .058244
+P 3 -13130.047656 10775.236822 20241.007752 77.814819
+V 3 -7038.315440 -25237.957832 9079.180880 .030253
+P 4 21442.868279 -2245.659788 -15728.835623 443.377624
+V 4 -14768.036612 13391.550150 -21709.211156 -.206529
+P 5 2461.174118 -15744.700995 -21415.143634 72.937737
+V 5 25741.269516 7848.755977 -2664.193522 .025479
+P 6 -7215.669411 -25227.435831 3900.205736 -171.588890
+V 6 2816.761866 -5304.229043 -30706.866324 .884699
+P 7 15422.634111 12641.297248 -17201.138347 65.769368
+V 7 2324.426637 22656.757541 18150.061680 -.302037
+P 8 13684.768404 8068.441095 21166.894271 -18.948167
+V 8 -21701.856171 16408.945158 7361.894395 -.011671
+P 9 11664.326342 -20804.834839 -11790.187356 -24.711739
+V 9 12700.658921 -7251.705102 26779.951989 -.018160
+P 10 20074.541728 -4003.831555 17024.402391 57.463410
+V 10 19408.744607 9508.068978 -20293.953065 .007020
+P 11 -10125.533983 22002.999572 -10706.458872 186.199200
+V 11 -12629.727698 6823.461550 26213.563579 .036749
+P 13 5838.028398 25667.281538 3738.630907 -13.890850
+V 13 -1290.246157 5006.004559 -31806.279332 .009625
+P 14 -14246.216948 -12706.833329 -18418.427756 -31.480266
+V 14 -2080.551379 -23385.407958 17669.396591 -.001061
+P 15 -19791.993244 -1439.646772 17590.276349 377.452172
+V 15 17958.266453 -13842.280262 18564.677878 .053140
+P 16 -23548.372438 -147.988212 12399.586393 2.003498
+V 16 -13638.523652 -7925.817013 -26110.825090 -.001877
+P 17 19872.526836 -16288.180370 5104.797259 -94.616408
+V 17 7059.357174 -559.107891 -31460.682831 .187664
+P 18 -16380.310200 -16984.187303 12500.087125 -118.640112
+V 18 15136.172823 4590.058163 25947.856443 -.037628
+P 19 -8761.269938 20208.553552 14962.365100 -11.804194
+V 19 -3674.594627 -18569.716994 23049.344566 -.008604
+P 20 -1555.252729 15524.307593 -21570.305584 -91.091308
+V 20 -25489.478488 -9527.145239 -5019.271918 .026923
+P 21 -7596.461358 -13501.463177 21542.637342 87.920270
+V 21 22551.355936 -15643.794574 -2295.889749 .010596
+P 22 -23145.428336 -12771.127239 2611.109361 16.249362
+V 22 4024.873994 -1256.828737 31522.778046 .000130
+P 23 -488.515789 25818.756820 -6058.068148 211.435234
+V 23 -3790.974136 -7121.578794 -30617.047049 .006088
+P 24 20171.710784 133.028136 -17044.527928 89.221666
+V 24 -17128.719211 14133.860498 -19707.629538 .029568
+P 25 -21218.313769 5488.079324 -14638.942955 84.263139
+V 25 12384.691153 -14984.360370 -22936.693145 .008459
+P 26 8229.297350 -19023.813568 15936.948249 316.520573
+V 26 4534.730484 20594.268404 22410.095089 .056123
+P 27 7559.062294 13988.197453 21765.169780 512.929598
+V 27 -20217.244733 17096.589685 -4515.262046 .063471
+P 28 23349.067127 12538.638330 3765.596370 46.468097
+V 28 -5099.232275 622.741320 31033.440349 .002045
+P 29 10470.777791 -15394.825726 19147.708543 180.423760
+V 29 4889.352913 23274.097362 16402.341910 -.189177
+P 30 -9205.752884 -17357.405626 -18174.814262 445.451333
+V 30 21819.449373 6089.485446 -16994.238238 -.142963
+* 2005 1 19 1 45 .00000000
+P 1 -14549.542169 1875.948915 -21949.653555 383.652649
+V 1 -4980.753236 -27830.582691 890.194166 .019057
+P 2 22237.780848 -11946.824246 -8426.513995 -43.130522
+V 2 -5867.884328 8908.786796 -29249.009044 .058234
+P 3 -13825.614292 8482.122512 20878.998266 77.817174
+V 3 -8411.182121 -25633.549845 5078.912681 .030251
+P 4 20064.095683 -939.349453 -17543.630756 443.358721
+V 4 -15791.294735 15629.346648 -18561.309396 -.206532
+P 5 4801.359728 -15093.151406 -21472.673913 72.941757
+V 5 26180.538870 6605.848657 1388.446981 .025464
+P 6 -6940.695921 -25557.426694 1110.843831 -171.509350
+V 6 3359.328849 -2030.881405 -31189.648076 .884662
+P 7 15657.776465 14576.721860 -15420.809224 65.741997
+V 7 2845.527965 20295.276426 21352.444747 -.302045
+P 8 11746.138517 9616.605671 21643.266209 -18.949672
+V 8 -21299.289171 17947.287706 3206.495470 -.011674
+P 9 12689.939162 -21392.132296 -9285.749574 -24.713379
+V 9 10097.177225 -5723.988899 28796.594859 -.018150
+P 10 21741.668964 -3235.472056 15057.821908 57.463359
+V 10 17558.482862 7588.643156 -23344.458295 .007019
+P 11 -11156.528200 22541.870868 -8261.090982 186.202661
+V 11 -10293.944419 5086.562092 28049.434350 .036752
+P 13 5707.266151 25960.051337 852.184530 -13.889983
+V 13 -1689.025839 1502.350976 -32245.071370 .009623
+P 14 -14474.293568 -14710.443083 -16673.711953 -31.480360
+V 14 -2931.934387 -21072.638103 21045.885605 -.001057
+P 15 -18136.380065 -2781.144500 19104.031047 377.457442
+V 15 18748.977441 -15953.468508 15023.702821 .053137
+P 16 -24665.695652 -783.120830 9950.240295 2.003482
+V 16 -11126.682496 -6228.124570 -28241.564996 -.001878
+P 17 20370.611786 -16262.744194 2235.977875 -94.599339
+V 17 4032.181280 1192.180642 -32195.693738 .187699
+P 18 -14889.742026 -16559.559728 14722.920793 -118.643437
+V 18 17956.986670 4774.760263 23378.296632 -.037630
+P 19 -9149.381429 18435.899113 16903.153177 -11.804908
+V 19 -4988.856098 -20751.428894 20018.142742 -.008604
+P 20 -3888.326095 14721.609082 -21836.452298 -91.088735
+V 20 -26273.821590 -8274.409526 -886.630515 .026922
+P 21 -5616.065309 -14949.717010 21150.501684 87.921199
+V 21 21392.246417 -16477.698260 -6408.157481 .010598
+P 22 -22639.798879 -12831.669846 5417.580686 16.249291
+V 22 7221.846917 -157.915529 30754.022785 .000137
+P 23 -874.059146 25035.969766 -8753.346650 211.435790
+V 23 -4835.475439 -10230.862102 -29192.015363 .006087
+P 24 18587.909407 1504.380794 -18663.699128 89.225259
+V 24 -17981.787235 16325.589179 -16219.660525 .029559
+P 25 -20057.896630 4030.751871 -16568.112663 84.263227
+V 25 13323.327673 -17385.697439 -19868.897996 .008442
+P 26 8705.801259 -17073.670965 17804.117059 316.525972
+V 26 6087.713003 22657.659983 19020.964496 .056119
+P 27 5799.327225 15555.234958 21180.466657 512.935034
+V 27 -18836.830452 17658.602395 -8463.410547 .063470
+P 28 22746.905217 12552.537839 6519.149324 46.468272
+V 28 -8285.769472 -243.678542 30071.144958 .002037
+P 29 10983.934284 -13239.514588 20457.854838 180.406717
+V 29 6530.556775 24534.256660 12672.503123 -.189182
+P 30 -7153.620951 -16834.567383 -19547.223331 445.437993
+V 30 23722.229006 5474.980451 -13461.361040 -.142967
+* 2005 1 19 2 0 .00000000
+P 1 -15063.846789 -603.381768 -21677.517558 383.655415
+V 1 -6421.445025 -27173.324472 5148.125676 .019065
+P 2 21626.090790 -11032.002727 -10979.429937 -43.125297
+V 2 -7652.885138 11436.658244 -27402.687529 .058224
+P 3 -14641.433642 6176.672736 21152.783694 77.819688
+V 3 -9696.581057 -25513.914788 997.727151 .030249
+P 4 18614.865439 564.757439 -19060.182310 443.340032
+V 4 -16334.136796 17771.665128 -15090.628428 -.206535
+P 5 7158.539190 -14558.782219 -21165.754923 72.944052
+V 5 26115.975558 5258.594061 5423.359523 .025448
+P 6 -6599.400590 -25594.759893 -1697.733504 -171.430004
+V 6 4287.624064 1183.705909 -31132.835975 .884626
+P 7 15924.159720 16285.350453 -13369.351812 65.714745
+V 7 3011.514210 17630.877286 24166.653392 -.302054
+P 8 9864.536979 11289.193773 21741.987763 -18.951109
+V 8 -20442.590819 19160.676583 -1018.017633 -.011677
+P 9 13484.316130 -21822.014563 -6621.350896 -24.714577
+V 9 7576.812028 -3758.945184 30328.470277 -.018141
+P 10 23221.364545 -2632.616013 12834.526516 57.464259
+V 10 15251.954326 5844.225952 -25990.970519 .007019
+P 11 -11981.927883 22907.469062 -5672.152054 186.205997
+V 11 -8074.056109 2979.790715 29399.212721 .036755
+P 13 5520.971917 25939.661798 -2048.881733 -13.889146
+V 13 -2521.558587 -1936.175715 -32130.833812 .009622
+P 14 -14763.022260 -16489.094958 -14641.126375 -31.480344
+V 14 -3419.069162 -18399.818520 24057.319163 -.001054
+P 15 -16432.251456 -4307.090432 20286.356654 377.463098
+V 15 19037.837815 -17925.385864 11210.038523 .053133
+P 16 -25540.626279 -1277.259781 7330.577585 2.003522
+V 16 -8263.653297 -4803.638065 -29890.149899 -.001881
+P 17 20603.881365 -16062.131255 -673.073808 -94.582341
+V 17 1190.105625 3324.742197 -32352.627049 .187734
+P 18 -13154.902819 -16137.159933 16696.219740 -118.646884
+V 18 20549.668184 4545.711649 20410.259603 -.037632
+P 19 -9665.100088 16486.900287 18555.431024 -11.805868
+V 19 -6497.347395 -22480.205244 16647.131644 -.008603
+P 20 -6269.139873 14040.172259 -21729.430814 -91.086229
+V 20 -26545.379854 -6846.595942 3261.610189 .026920
+P 21 -3756.617329 -16455.401775 20392.061639 87.921977
+V 21 19874.863405 -16910.505470 -10424.029164 .010600
+P 22 -21845.045684 -12812.291419 8131.043741 16.249339
+V 22 10433.770391 516.972506 29459.231687 .000144
+P 23 -1368.714463 23986.161976 -11297.580376 211.436243
+V 23 -6206.572603 -13041.847956 -27265.583319 .006086
+P 24 16950.248903 3067.470094 -19955.230396 89.227401
+V 24 -18326.838458 18378.600744 -12437.343145 .029550
+P 25 -18834.314648 2362.795628 -18204.501826 84.263260
+V 25 13789.270484 -19649.050161 -16439.934023 .008427
+P 26 9329.776563 -14961.415515 19350.645577 316.530706
+V 26 7796.781840 24189.038182 15296.167447 .056115
+P 27 4176.574571 17153.813635 20245.356620 512.940683
+V 27 -17185.318941 17790.014241 -12291.546102 .063469
+P 28 21858.373900 12507.522111 9163.317074 46.468452
+V 28 -11447.460015 -685.834248 28606.265105 .002029
+P 29 11647.873306 -10994.705878 21422.607288 180.389774
+V 29 8224.830122 25260.146464 8737.692370 -.189188
+P 30 -4947.702062 -16380.744217 -20591.123510 445.424857
+V 30 25227.088134 4566.356056 -9704.074915 -.142972
+* 2005 1 19 2 15 .00000000
+P 1 -15699.248935 -2999.170421 -21025.769859 383.657049
+V 1 -7657.289435 -25980.721931 9313.486808 .019073
+P 2 20873.714180 -9886.667020 -13345.194980 -43.120212
+V 2 -8990.065501 14016.361968 -25096.505193 .058215
+P 3 -15565.905424 3904.492866 21058.327186 77.822767
+V 3 -10812.404440 -24899.014724 -3092.209572 .030248
+P 4 17138.047536 2253.951511 -20251.967340 443.321260
+V 4 -16407.671980 19727.503209 -11354.224056 -.206537
+P 5 9486.832677 -14147.206823 -20499.035470 72.946285
+V 5 25538.571315 3891.268319 9372.762586 .025432
+P 6 -6158.124410 -25348.874244 -4476.825652 -171.350369
+V 6 5575.328765 4248.009552 -30534.983293 .884590
+P 7 16188.133292 17743.831456 -11083.866300 65.687881
+V 7 2787.552331 14751.714108 26546.003816 -.302062
+P 8 8078.426844 13053.561088 21460.191213 -18.952397
+V 8 -19187.885381 19975.643958 -5236.897272 -.011679
+P 9 14058.835893 -22056.838667 -3842.168516 -24.716587
+V 9 5225.203813 -1397.689019 31342.513823 -.018131
+P 10 24475.057113 -2175.879527 10392.860978 57.465941
+V 10 12547.103677 4353.789518 -28190.602331 .007019
+P 11 -12615.585728 23068.576626 -2984.559482 186.209283
+V 11 -6044.749293 551.593317 30238.400988 .036757
+P 13 5241.124915 25616.477219 -4914.846485 -13.888535
+V 13 -3762.172454 -5210.349933 -31466.268359 .009622
+P 14 -15077.347805 -18014.187777 -12355.904129 -31.480459
+V 14 -3494.177952 -15453.191995 26652.006798 -.001051
+P 15 -14724.102534 -6000.757666 21115.613406 377.468436
+V 15 18842.854066 -19665.638058 7189.036306 .053130
+P 16 -26144.885504 -1657.766602 4585.350936 2.003231
+V 16 -5125.386425 -3711.671566 -31027.773375 -.001885
+P 17 20593.043421 -15654.709104 -3569.939654 -94.565568
+V 17 -1378.638372 5776.153481 -31924.780730 .187769
+P 18 -11200.193841 -15752.587061 18386.274145 -118.650424
+V 18 22829.592658 3941.995101 17092.636099 -.037633
+P 19 -10322.285626 14404.309255 19891.158541 -11.806740
+V 19 -8118.364477 -23714.655243 12993.660504 -.008600
+P 20 -8650.462247 13491.855732 -21251.007358 -91.083910
+V 20 -26283.132817 -5331.069973 7355.048925 .026918
+P 21 -2047.151858 -17980.069448 19279.205314 87.922988
+V 21 18072.390830 -16892.577595 -14272.341690 .010604
+P 22 -20764.169484 -12751.478854 10705.177761 16.249397
+V 22 13564.114371 763.677356 27662.556629 .000151
+P 23 -1999.203925 22699.647827 -13647.142345 211.437010
+V 23 -7842.636204 -15479.614678 -24872.435746 .006086
+P 24 15303.823870 4805.531329 -20895.579183 89.230420
+V 24 -18180.996967 20198.576574 -8427.127083 .029541
+P 25 -17589.581757 500.879573 -19518.272704 84.263245
+V 25 13797.368309 -21680.719805 -12710.252868 .008411
+P 26 10111.096882 -12736.702922 20549.492526 316.536202
+V 26 9568.210223 25152.507545 11307.032372 .056112
+P 27 2711.806895 18743.380081 18973.475562 512.946179
+V 27 -15339.442936 17453.377928 -15936.815612 .063468
+P 28 20689.889508 12441.686901 11653.954040 46.468638
+V 28 -14491.686488 -708.603285 26664.198417 .002022
+P 29 12463.227914 -8708.956928 22026.461254 180.373371
+V 29 9879.921687 25444.356703 4663.664483 -.189193
+P 30 -2626.266419 -16019.402688 -21289.074126 445.412160
+V 30 26281.725719 3432.044589 -5784.118243 -.142976
+* 2005 1 19 2 30 .00000000
+P 1 -16433.528542 -5265.301415 -20006.088304 383.657798
+V 1 -8605.835723 -24301.665880 13312.343507 .019082
+P 2 20021.813828 -8510.228869 -15484.253790 -43.114963
+V 2 -9863.360218 16557.011239 -22372.289702 .058207
+P 3 -16580.289406 1708.610136 20598.077023 77.825744
+V 3 -11682.637776 -23825.959222 -7119.174694 .030246
+P 4 15674.726744 4107.512745 -21097.827392 443.302374
+V 4 -16040.336938 21410.423761 -7414.109022 -.206539
+P 5 11740.331025 -13856.416248 -19483.230108 72.949123
+V 5 24456.709182 2588.425813 13169.820126 .025416
+P 6 -5586.327789 -24837.202847 -7178.036315 -171.271021
+V 6 7179.643694 7076.470870 -29404.316520 .884554
+P 7 16413.664321 18937.027560 -8605.263294 65.660498
+V 7 2155.692020 11751.558227 28452.593741 -.302070
+P 8 6420.554960 14871.051469 20801.780951 -18.953949
+V 8 -17605.655136 20332.551790 -9374.643403 -.011681
+P 9 14432.267869 -22063.444546 -995.979075 -24.718430
+V 9 3120.393132 1301.516155 31814.187589 -.018122
+P 10 25470.044561 -1839.289955 7774.689489 57.466652
+V 10 9516.010201 3184.321831 -29908.114214 .007018
+P 11 -13077.666195 22998.962158 -245.028435 186.212772
+V 11 -4271.139674 -2136.011081 30551.617307 .036759
+P 13 4832.826125 25009.511962 -7696.651200 -13.887711
+V 13 -5367.391756 -8227.763184 -30263.375068 .009623
+P 14 -15378.678685 -19265.296725 -9857.605551 -31.480671
+V 14 -3126.724739 -12327.632498 28785.614270 -.001047
+P 15 -13053.987843 -7837.368519 21576.257304 377.474522
+V 15 18200.083938 -21088.329330 3030.611355 .053126
+P 16 -26457.524901 -1956.685388 1761.523629 2.003012
+V 16 -1798.336427 -2996.626013 -31634.194542 -.001887
+P 17 20366.221103 -15015.185233 -6402.140718 -94.548795
+V 17 -3598.091602 8468.418188 -30917.548468 .187804
+P 18 -9057.219448 -15437.226799 19764.045181 -118.654138
+V 18 24721.812742 3017.854211 13480.211125 -.037632
+P 19 -11127.159600 12233.832271 20887.670505 -11.807523
+V 19 -9764.431343 -24430.709965 9119.659416 -.008597
+P 20 -10983.990935 13080.509642 -20409.254499 -91.081283
+V 20 -25484.399197 -3817.843072 11324.136110 .026915
+P 21 -509.662672 -19481.529816 17830.144240 87.923905
+V 21 16067.594967 -16390.724573 -17883.966553 .010607
+P 22 -19408.790454 -12687.272118 13096.213153 16.249353
+V 22 16518.458404 596.221342 25396.437460 .000158
+P 23 -2786.131591 21212.869594 -15761.886611 211.437573
+V 23 -9669.795275 -17483.314698 -22055.115658 .006084
+P 24 13691.339469 6693.584209 -21467.412856 89.233196
+V 24 -17580.058077 21697.905019 -4260.343008 .029532
+P 25 -16363.549761 -1530.156281 -20485.327459 84.264777
+V 25 13380.654787 -23393.466579 -8746.749608 .008396
+P 26 11051.002506 -10451.449886 21380.255552 316.541441
+V 26 11304.581547 25533.846061 7129.459547 .056108
+P 27 1418.821590 20280.719730 17384.064980 512.952072
+V 27 -13382.113572 16627.253006 -19337.652341 .063467
+P 28 19256.081256 12391.908246 13949.528666 46.468880
+V 28 -17329.093199 -334.103042 24277.556896 .002013
+P 29 13422.332862 -6430.656335 22259.911957 180.356583
+V 29 11404.262793 25098.002441 517.830560 -.189199
+P 30 -231.642386 -15767.440267 -21629.310390 445.399214
+V 30 26848.533929 2149.122877 -1765.736479 -.142980
+* 2005 1 19 2 45 .00000000
+P 1 -17237.535846 -7360.834170 -18636.666802 383.660765
+V 1 -9196.078042 -22201.872308 17074.060139 .019090
+P 2 19112.181462 -6910.308011 -17361.103058 -43.109671
+V 2 -10274.844245 18967.661503 -19278.111592 .058199
+P 3 -17659.395686 -372.000477 19780.866843 77.829770
+V 3 -12240.455489 -22347.363777 -11013.208371 .030243
+P 4 14262.686837 6097.274242 -21582.374585 443.283407
+V 4 -15276.817248 22741.922753 -3336.345474 -.206541
+P 5 13874.658618 -13676.904074 -18134.986071 72.950840
+V 5 22896.005397 1431.570608 16749.709795 .025400
+P 6 -4858.009044 -24084.486339 -9754.145779 -171.191700
+V 6 9042.838614 9592.782399 -27758.739504 .884518
+P 7 16563.888306 19858.354364 -5977.452774 65.633202
+V 7 1115.437191 8726.081369 29857.723364 -.302079
+P 8 4916.782159 16698.365689 19777.434412 -18.954892
+V 8 -15777.924443 20188.251823 -13356.497465 -.011683
+P 9 14629.941100 -21814.622019 1867.651003 -24.719721
+V 9 1329.595650 4265.078354 31728.398159 -.018112
+P 10 26180.650194 -1591.480000 5024.686838 57.467129
+V 10 6242.236725 2388.347587 -31116.349855 .007017
+P 11 -13393.666445 22678.502699 2498.764964 186.216261
+V 11 -2806.230425 -5009.722472 30332.928753 .036759
+P 13 4265.829922 24145.662432 -10346.727112 -13.886914
+V 13 -7277.617114 -10906.200508 -28543.206551 .009625
+P 14 -15626.501374 -20230.789337 -7189.421572 -31.480765
+V 14 -2304.686214 -9123.029881 30421.907765 -.001043
+P 15 -11459.953842 -9784.842227 21659.196091 377.477670
+V 15 17162.246519 -22117.636255 -1191.997389 .053122
+P 16 -26465.733099 -2209.317206 -1092.520180 2.002650
+V 16 1623.680019 -2686.237041 -31698.133588 -.001889
+P 17 19957.696674 -14125.871164 -9118.231909 -94.532433
+V 17 -5407.835712 11311.139909 -29348.491558 .187839
+P 18 -6763.787468 -15216.977800 20805.660616 -118.657471
+V 18 26163.853617 1840.583857 9632.873672 -.037629
+P 19 -12077.938895 10022.530218 21528.044173 -11.808141
+V 19 -11345.724257 -24622.411736 5090.637822 -.008595
+P 20 -13222.016740 12801.897489 -19218.423351 -91.078848
+V 20 -24165.011537 -2396.011962 15101.307976 .026912
+P 21 841.616099 -20915.410495 16069.168144 87.924808
+V 21 13949.574600 -15389.863536 -21193.192293 .010611
+P 22 -17798.800641 -12655.656551 15263.648445 16.249409
+V 22 19207.966379 46.059787 22700.940033 .000166
+P 23 -3743.011731 19567.029981 -17605.819077 211.438104
+V 23 -11604.895272 -19008.313305 -18863.196351 .006082
+P 24 12151.491115 8699.204727 -21659.987015 89.235781
+V 24 -16577.024269 22799.369043 -11.824590 .029523
+P 25 -15192.328045 -3698.051053 -21087.829315 84.265499
+V 25 12588.966623 -24710.211968 -4621.425703 .008381
+P 26 12141.960247 -8157.864117 21829.500195 316.546651
+V 26 12909.055177 25340.771098 2842.082319 .056104
+P 27 303.786108 21721.457090 15501.814572 512.957497
+V 27 -11399.460003 15307.443130 -22434.715992 .063466
+P 28 17579.355583 12392.329481 16011.750294 46.469293
+V 28 -19876.713450 399.264946 21485.659109 .002004
+P 29 14509.443039 -4206.378409 22119.559490 180.339344
+V 29 12710.436800 24250.135148 -3631.717650 -.189204
+P 30 2191.171573 -15634.538540 -21605.929007 445.386234
+V 30 26905.968181 800.353693 2285.211234 -.142983
+* 2005 1 19 3 0 .00000000
+P 1 -18076.358432 -9251.401384 -16941.857376 383.662674
+V 1 -9371.408170 -19761.201290 20532.639709 .019098
+P 2 18185.618917 -5102.585223 -18944.813204 -43.104316
+V 2 -10244.316755 21160.672765 -15867.386801 .058190
+P 3 -18772.536374 -2303.715636 18621.700437 77.832866
+V 3 -12430.915680 -20529.123611 -14707.354941 .030240
+P 4 12935.020387 8188.479154 -21696.311326 443.264878
+V 4 -14176.342194 23654.554998 809.965613 -.206543
+P 5 15848.493394 -13592.088130 -16476.653690 72.953749
+V 5 20898.515859 495.909546 20050.697261 .025384
+P 6 -3952.954489 -23121.804606 -12159.974504 -171.112187
+V 6 11094.434213 11732.835402 -25625.635443 .884482
+P 7 16602.678590 20509.784763 -3246.505516 65.606201
+V 7 -316.402825 5769.170479 30742.089145 -.302087
+P 8 3585.190963 18489.141499 18404.466519 -18.957344
+V 8 -13794.929008 19518.101521 -17109.974551 -.011684
+P 9 14682.637290 -21290.381574 4698.251222 -24.721075
+V 9 -93.677102 7406.608226 31080.259989 -.018102
+P 10 26589.121768 -1397.080170 2189.595987 57.467424
+V 10 2817.784939 2002.010649 -31796.547878 .007016
+P 11 -13593.229911 22094.077957 5199.041863 186.219482
+V 11 -1688.861802 -7987.719077 29585.992585 .036759
+P 13 3515.896237 23058.652251 -12819.793509 -13.886131
+V 13 -9419.420366 -13176.617931 -26335.479709 .009628
+P 14 -15780.076389 -20908.107083 -4397.416794 -31.481064
+V 14 -1035.092190 -5940.498571 31533.347707 -.001037
+P 15 -9974.628429 -11804.849900 21362.027771 377.482773
+V 15 15796.631702 -22691.036452 -5403.593086 .053118
+P 16 -26165.345385 -2452.665104 -3927.794435 2.002431
+V 16 5042.922700 -2790.461178 -31217.524484 -.001889
+P 17 19406.391271 -12977.631701 -11668.885973 -94.515410
+V 17 -6765.565472 14205.316830 -27247.028082 .187874
+P 18 -4362.676730 -15111.191051 21492.835300 -118.661016
+V 18 27108.076359 487.920586 5614.738797 -.037625
+P 19 -13164.782286 7817.178125 21801.374582 -11.808928
+V 19 -12773.583696 -24302.034327 974.636928 -.008593
+P 20 -15319.071796 12643.938023 -17698.714616 -91.076304
+V 20 -22358.802027 -1150.229076 18622.097539 .026908
+P 21 2000.621517 -22236.834941 14026.275315 87.925662
+V 21 11810.201139 -13893.969551 -24139.100092 .010616
+P 22 -15961.713574 -12689.052299 17170.903027 16.249384
+V 22 21552.620774 -839.321418 19622.994392 .000173
+P 23 -4875.579708 17806.560490 -19147.689090 211.438770
+V 23 -13558.797691 -20027.687695 -15352.352163 .006080
+P 24 10717.509657 10783.612629 -21469.394109 89.238203
+V 24 -15239.903604 23439.444512 4241.589388 .029515
+P 25 -14106.861734 -5964.190162 -21314.595449 84.265793
+V 25 11486.815759 -25567.351950 -409.882274 .008365
+P 26 13367.904256 -5906.494342 21890.922967 316.551791
+V 26 14289.532586 24602.236517 -1475.568733 .056101
+P 27 -634.910069 23021.642595 13356.616274 512.962982
+V 27 -9477.654780 13507.672138 -25171.919574 .063466
+P 28 15689.188745 12472.960069 17806.147798 46.469542
+V 28 -22060.865278 1438.336663 18333.966567 .001993
+P 29 15701.257174 -2079.318710 21608.127004 180.322417
+V 29 13718.474626 22946.536530 -7717.160682 -.189209
+P 30 4595.993542 -15622.792717 -21218.992382 445.373543
+V 30 26449.361857 -528.978689 6302.167101 -.142987
+* 2005 1 19 3 15 .00000000
+P 1 -18910.727550 -10910.340229 -14951.696731 383.664403
+V 1 -9091.962107 -17070.426285 23627.945205 .019106
+P 2 17280.385600 -3110.359524 -20209.468146 -43.098986
+V 2 -9808.251911 23054.903304 -12197.955771 .058180
+P 3 -19884.697907 -4059.340122 17141.429238 77.835204
+V 3 -12213.153555 -18447.704955 -18138.803189 .030237
+P 4 11718.918444 10340.903367 -21436.654726 443.246586
+V 4 -12810.402393 24094.694193 4953.790200 -.206545
+P 5 17624.987381 -13579.016199 -14535.960393 72.956951
+V 5 18521.323637 -152.691642 23015.201805 .025368
+P 6 -2857.766598 -21985.363369 -14353.219601 -171.032615
+V 6 13253.935783 13447.199107 -23041.462008 .884447
+P 7 16496.171321 20901.528718 -459.806570 65.578913
+V 7 -2106.545474 2969.422463 31095.770375 -.302095
+P 8 2435.511225 20195.682106 16706.556129 -18.957444
+V 8 -11751.406351 18317.231380 -20566.390532 -.011685
+P 9 14625.245860 -20478.967780 7445.392851 -24.722115
+V 9 -1111.999850 10630.093331 29875.656854 -.018092
+P 10 26686.242987 -1218.256228 -682.536989 57.468153
+V 10 -660.230575 2043.777268 -31938.534011 .007016
+P 11 -13708.800777 21240.199360 7808.782766 186.222676
+V 11 -942.239140 -10982.770759 28324.000285 .036760
+P 13 2565.911787 21787.731563 -15073.614996 -13.885181
+V 13 -11708.365184 -14985.612057 -23678.053766 .009631
+P 14 -15800.149327 -21303.703382 -1529.726222 -31.481359
+V 14 656.182118 -2878.558833 32101.523495 -.001030
+P 15 -8624.027551 -13854.138936 20689.151613 377.487972
+V 15 14182.381495 -22762.043835 -9528.483388 .053114
+P 16 -25561.035281 -2723.809474 -6695.546142 2.002159
+V 16 8361.334672 -3301.048198 -30199.616397 -.001888
+P 17 18754.150008 -11570.471699 -14007.932372 -94.498614
+V 17 -7648.822086 17047.567472 -24653.743998 .187910
+P 18 -1900.214749 -15131.863387 21813.208890 -118.664306
+V 18 27523.519508 -954.979340 1493.187192 -.037622
+P 19 -14370.052218 5662.644153 21702.953960 -11.809614
+V 19 -13963.985958 -23499.531727 -3158.851422 -.008592
+P 20 -17233.501043 12587.258437 -15875.951275 -91.074098
+V 20 -20116.415304 -157.335814 21826.207096 .026904
+P 21 2969.544365 -23402.151697 11736.680972 87.926526
+V 21 9740.392600 -11926.255160 -26666.892138 .010621
+P 22 -13931.737978 -12814.957148 18785.897507 16.249426
+V 22 23484.101956 -1998.399987 16215.550987 .000180
+P 23 -6181.410295 15977.485554 -20361.493640 211.439382
+V 23 -15439.890043 -20533.038794 -11583.349276 .006077
+P 24 9415.934730 12903.032337 -20898.673346 89.239579
+V 24 -13648.858145 23571.054877 8422.632536 .029506
+P 25 -13131.731744 -8284.946998 -21161.348303 84.267942
+V 25 10150.604274 -25917.518842 3810.310851 .008350
+P 26 14704.839932 -3744.384817 21565.351901 316.556798
+V 26 15362.529144 23366.828212 -5744.831198 .056097
+P 27 -1406.511698 24139.372691 10983.222336 512.968756
+V 27 -7699.622695 11259.637265 -27497.532226 .063465
+P 28 13621.172654 12658.434942 19302.595097 46.469768
+V 28 -23819.724661 2717.220667 14873.467280 .001982
+P 29 16967.726296 -87.864170 20734.394248 180.305332
+V 29 14358.870547 21247.942885 -11671.879546 -.189215
+P 30 6936.991976 -15726.631315 -20474.549571 445.360402
+V 30 25491.156250 -1754.334791 10218.809546 -.142991
+* 2005 1 19 3 30 .00000000
+P 1 -19698.604761 -12319.513307 -12701.329259 383.664635
+V 1 -8336.267952 -14227.595441 26306.775310 .019115
+P 2 16430.766910 -963.829491 -21134.521680 -43.093792
+V 2 -9018.170814 24578.630302 -8331.153596 .058170
+P 3 -20957.885246 -5618.922197 15366.332392 77.838322
+V 3 -11561.996970 -16187.071906 -21249.908101 .030235
+P 4 10634.688948 12510.205772 -20806.857631 443.228319
+V 4 -11259.963651 24024.812066 9023.350232 -.206546
+P 5 19173.033643 -13609.332070 -12345.589843 72.959421
+V 5 15834.546819 -460.430907 25590.835489 .025351
+P 6 -1566.625258 -20715.082988 -16295.245611 -170.953360
+V 6 15434.011253 14703.019948 -20051.141660 .884412
+P 7 16214.187046 21051.410598 2334.781680 65.551945
+V 7 -4206.687321 406.948755 30918.034066 -.302103
+P 8 1468.890778 21770.762192 14713.336994 -18.958230
+V 8 -9742.666169 16600.991775 -23662.337576 -.011687
+P 9 14495.232330 -19377.562973 10059.672100 -24.723145
+V 9 -1705.796848 13833.574184 28131.520013 -.018083
+P 10 26471.637462 -1016.333933 -3543.140060 57.469552
+V 10 -4093.070482 2513.797542 -31540.798067 .007016
+P 11 -13774.174457 20119.347741 10282.575701 186.225894
+V 11 -573.101315 -13905.577749 26569.424889 .036762
+P 13 1406.737760 20376.180358 -17069.706144 -13.884306
+V 13 -14052.245764 -16297.292557 -20616.284695 .009633
+P 14 -15650.609889 -21432.642275 1364.279747 -31.481668
+V 14 2725.359930 -29.438942 32117.423887 -.001020
+P 15 -7426.630949 -15886.076370 19651.744508 377.493848
+V 15 12407.247618 -22302.319048 -13492.003553 .053111
+P 16 -24666.179034 -3058.276746 -9348.092415 2.002017
+V 16 11484.180673 -4191.821815 -28660.917558 -.001887
+P 17 18043.912553 -9913.731264 -16093.318081 -94.481596
+V 17 -8055.793656 19734.568491 -21619.353408 .187946
+P 18 575.284008 -15283.117694 21760.593670 -118.667734
+V 18 27397.144691 -2398.870185 -2662.170955 -.037618
+P 19 -15668.882469 3600.347709 21234.352792 -11.810294
+V 19 -14840.848109 -22261.336370 -7239.987160 -.008591
+P 20 -18928.897986 12606.038454 -13781.157056 -91.071628
+V 20 -17503.488436 516.714432 24658.526464 .026902
+P 21 3758.574770 -24370.643822 9240.209826 87.927425
+V 21 7826.379842 -9528.548759 -28729.129600 .010628
+P 22 -11748.612062 -13054.792434 20081.555069 16.249341
+V 22 24948.214004 -3358.120616 12536.671712 .000189
+P 23 -7649.856273 14125.745391 -21226.887915 211.439884
+V 23 -17157.670112 -20534.595465 -7620.977336 .006074
+P 24 8265.669574 15010.272316 -19957.776727 89.241790
+V 24 -11892.823545 23165.651109 12455.222658 .029499
+P 25 -12284.230502 -10613.243116 -20630.816496 84.269119
+V 25 8665.306989 -25731.655112 7961.317435 .008334
+P 26 16121.776598 -1713.410799 20860.593572 316.562126
+V 26 16056.582966 21700.369034 -9889.548387 .056094
+P 27 -2027.456812 25036.384855 8420.801462 512.974471
+V 27 -6141.746832 8612.392917 -29365.337687 .063465
+P 28 11415.846741 12966.977653 20475.778854 46.469882
+V 28 -25105.494844 4159.780372 11160.007271 .001971
+P 29 18273.117403 1735.653654 19513.048710 180.288209
+V 29 14575.222598 19227.763085 -15431.358465 -.189220
+P 30 9170.213358 -15933.030346 -19384.572293 445.347685
+V 30 24060.532973 -2795.179850 13970.005430 -.142994
+* 2005 1 19 3 45 .00000000
+P 1 -20396.883068 -13469.789595 -10230.340616 383.665854
+V 1 -7102.134890 -11334.141699 28523.773414 .019124
+P 2 15665.812653 1300.872521 -21705.070181 -43.088530
+V 2 -7938.504424 25672.106366 -4330.881681 .058160
+P 3 -21952.583477 -6970.280763 13327.610699 77.840727
+V 3 -10468.953405 -13835.377056 -23989.081659 .030232
+P 4 9695.045037 14649.458148 -19816.819505 443.209474
+V 4 -9612.273102 23425.174926 12947.379475 -.206548
+P 5 20468.330088 -13650.467972 -9942.669502 72.963567
+V 5 12918.828831 -387.860408 27731.395497 .025334
+P 6 -81.747796 -19353.045828 -17951.811513 -170.873948
+V 6 17543.983671 15485.252880 -16707.256397 .884377
+P 7 15731.496768 20983.977001 5089.731775 65.524926
+V 7 -6555.492838 -1849.402547 30216.986817 -.302111
+P 8 678.023186 23169.435807 12459.860041 -18.959514
+V 8 -7860.614439 14404.545728 -26341.060592 -.011688
+P 9 14330.979384 -17992.640698 12493.711328 -24.723411
+V 9 -1874.344214 16913.255377 25875.907845 -.018074
+P 10 25953.756010 -753.450969 -6343.894299 57.471774
+V 10 -7383.898876 3393.940596 -30610.460179 .007015
+P 11 -13823.003420 18742.005586 12577.433019 186.229369
+V 11 -571.563757 -16668.195863 24353.578146 .036763
+P 13 37.751742 18869.672739 -18773.972884 -13.883502
+V 13 -16354.621593 -17094.490764 -17202.267258 .009636
+P 14 -15300.034249 -21317.875101 4234.847208 -31.481530
+V 14 5112.402079 2524.359385 31581.541189 -.001011
+P 15 -6392.768417 -17852.349963 18267.599054 377.498705
+V 15 10563.958128 -21303.048627 -17222.059036 .053106
+P 16 -23502.396465 -3488.465143 -11839.645226 2.001707
+V 16 14323.577388 -5419.663942 -26626.978045 -.001885
+P 17 17317.855272 -8025.880664 -17887.960750 -94.465252
+V 17 -8005.145479 22167.473362 -18203.355862 .187982
+P 18 3015.162982 -15560.992328 21335.126037 -118.671391
+V 18 26734.430922 -3753.937557 -6780.598752 -.037613
+P 19 -17030.031198 1666.853455 20403.401163 -11.810979
+V 19 -15339.045613 -20648.550120 -11199.693347 -.008591
+P 20 -20375.350477 12669.113851 -11450.046320 -91.069259
+V 20 -14598.261733 819.525863 27070.080786 .026899
+P 21 4385.317619 -25106.146458 6580.582925 87.928299
+V 21 6146.130389 -6759.879150 -30286.836572 .010635
+P 22 -9456.242991 -13422.993534 21036.218685 16.249220
+V 22 25906.776841 -4836.809531 8648.571038 .000198
+P 23 -9262.307835 12295.541178 -21729.497788 211.440433
+V 23 -18626.268818 -20060.617516 -3532.941582 .006072
+P 24 7277.358386 17056.457378 -18663.390273 89.244175
+V 24 -10065.748815 22214.516782 16266.059482 .029492
+P 25 -11573.754491 -12900.260121 -19732.681447 84.269936
+V 25 7120.776284 -25000.297032 11966.751088 .008318
+P 26 17581.940957 151.140161 19791.140235 316.566935
+V 26 16315.066352 19682.877228 -13837.534406 .056090
+P 27 -2520.643915 25679.565982 5712.389281 512.979995
+V 27 -4870.699570 5631.039295 -30735.817887 .063465
+P 28 9117.355420 13409.604170 21305.603634 46.470242
+V 28 -25886.101500 5682.485181 7253.569239 .001960
+P 29 19577.294678 3365.979978 17964.456664 180.271190
+V 29 14326.413664 16969.366560 -18934.061941 -.189225
+P 30 11255.050002 -16222.016481 -17966.804593 445.334861
+V 30 22202.453585 -3578.127131 17492.775763 -.142998
+* 2005 1 19 4 0 .00000000
+P 1 -20963.132807 -14361.170152 -7582.017557 383.668303
+V 1 -5406.757454 -8490.905885 30242.155019 .019133
+P 2 15008.287667 3642.856945 -21912.042097 -43.083188
+V 2 -6644.029478 26289.675498 -262.687759 .058150
+P 3 -22829.278929 -8109.229025 11060.806584 77.844018
+V 3 -8942.544097 -11481.548453 -26311.545011 .030230
+P 4 8904.694854 16710.798308 -18482.782051 443.190966
+V 4 -7957.374147 22294.874530 16656.424869 -.206550
+P 5 21494.197200 -13667.019965 -7368.171833 72.966844
+V 5 9862.395467 88.353499 29397.786871 .025316
+P 6 1586.474020 -17941.865197 -19293.717048 -170.794275
+V 6 19493.491559 15797.165792 -13069.063191 .884342
+P 7 15028.888511 20729.376590 7758.626342 65.497689
+V 7 -9081.021418 -3744.323458 29009.103307 -.302119
+P 8 47.628660 24350.769326 9985.937949 -18.960211
+V 8 -6189.911057 11781.615640 -28553.688860 -.011689
+P 9 14170.078213 -16339.938976 14703.144250 -24.724925
+V 9 -1635.926414 19767.754659 23147.597206 -.018066
+P 10 25149.549185 -394.175546 -9037.505081 57.472545
+V 10 -10441.229931 4648.497185 -29163.130358 .007013
+P 11 -13887.319542 17126.382454 14653.560219 186.232552
+V 11 -911.640473 -19187.406071 21715.989650 .036765
+P 13 -1532.936892 17314.563965 -20157.281079 -13.882726
+V 13 -18518.516324 -17379.262107 -13493.976613 .009640
+P 14 -14723.051055 -20989.224875 7032.692559 -31.481825
+V 14 7743.274099 4713.101655 30503.810695 -.001001
+P 15 -5524.344891 -19704.757566 16560.823602 377.504418
+V 15 8746.348422 -19775.518292 -20650.642547 .053102
+P 16 -22098.784144 -4042.189563 -14127.109334 2.001584
+V 16 16801.778096 -6926.170207 -24132.010957 -.001883
+P 17 16615.591717 -5933.926984 -19360.469758 -94.448426
+V 17 -7534.901491 24256.085424 -14472.455006 .188018
+P 18 5372.091216 -15953.551220 20543.316164 -118.675057
+V 18 25559.283803 -4933.381720 -10791.390369 -.037605
+P 19 -18416.988441 -107.346896 19224.070163 -11.811782
+V 19 -15407.031502 -18734.592360 -14970.763851 -.008591
+P 20 -21550.448982 12741.297939 -8922.432424 -91.066786
+V 20 -11488.705800 714.418445 29018.891504 .026897
+P 21 4873.899389 -25578.502880 3804.612757 87.929339
+V 21 4766.093437 -3694.312779 -31310.428480 .010642
+P 22 -7101.202400 -13926.377105 21633.980276 16.249132
+V 22 26338.924537 -6347.390565 4616.620815 .000208
+P 23 -10992.761378 10527.764413 -21861.131496 211.441024
+V 23 -19767.781261 -19156.129305 611.266372 .006069
+P 24 6453.112891 18992.841074 -17038.613944 89.246873
+V 24 -8262.625434 20729.235467 19786.159459 .029485
+P 25 -11001.539834 -15097.229087 -18483.371113 84.272310
+V 25 5607.844180 -23734.007122 15753.347033 .008302
+P 26 19044.212951 1821.690239 18377.754049 316.571874
+V 26 16098.303972 17405.043965 -17521.836151 .056087
+P 27 -2914.424739 26042.311388 2904.232660 512.985702
+V 27 -3940.536471 2394.716922 -31577.320874 .063465
+P 28 6771.976558 13989.596560 21777.529701 46.470590
+V 28 -26146.355996 7197.541180 3217.496402 .001947
+P 29 20837.173628 4785.698022 16114.356456 180.254095
+V 29 13588.262566 14563.029294 -22122.285630 -.189230
+P 30 13155.595521 -16567.443741 -16244.525201 445.322150
+V 30 19976.129343 -4039.855074 20727.268908 -.143001
+* 2005 1 19 4 15 .00000000
+P 1 -21357.321795 -15002.558143 -4802.550825 383.671576
+V 1 -3286.043501 -5794.236511 31434.244979 .019142
+P 2 14473.869035 6017.821824 -21752.305158 -43.078011
+V 2 -5216.968800 26401.387485 3807.142007 .058139
+P 3 -23549.980969 -9039.491251 8605.162736 77.846112
+V 3 -7007.986868 -9211.904369 -28179.938615 .030227
+P 4 8260.253156 18647.143746 -16827.106626 443.172441
+V 4 -6384.463701 20652.133775 20084.167381 -.206551
+P 5 22242.115252 -13622.254724 -4666.236505 72.969576
+V 5 6757.783107 974.282304 30558.851257 .025298
+P 6 3419.668116 -16523.042718 -20297.353192 -170.714830
+V 6 21196.160895 15660.090580 -9201.353003 .884307
+P 7 14093.999727 20322.059860 10296.886351 65.470484
+V 7 -11703.485631 -5237.763006 27318.660068 -.302126
+P 8 -444.731866 25279.425275 7335.386973 -18.961049
+V 8 -4804.436867 8802.434434 -30260.281541 -.011691
+P 9 14047.638438 -14444.053453 16647.555856 -24.725379
+V 9 -1027.225367 22302.325572 19995.501645 -.018058
+P 10 24083.837720 92.967315 -11578.455971 57.473592
+V 10 -13182.175276 6225.522372 -27222.664892 .007011
+P 11 -13996.133150 15297.844873 16475.061509 186.235910
+V 11 -1552.420033 -21387.889626 18703.625120 .036767
+P 13 -3288.606724 15756.164781 -21195.943789 -13.881732
+V 13 -20450.143538 -17172.665773 -9554.322089 .009644
+P 14 -13901.478455 -20482.119072 9709.843617 -31.482150
+V 14 10532.750178 6482.353249 28903.389958 -.000990
+P 15 -4814.917991 -21397.010268 14561.408666 377.509606
+V 15 7045.427186 -17750.843114 -23715.278983 .053097
+P 16 -20490.868907 -4741.403560 -16170.838932 2.001308
+V 16 18854.082006 -8639.917672 -21218.354745 -.001880
+P 17 15972.513790 -3672.464075 -20485.716987 -94.431536
+V 17 -6700.453726 25922.579417 -10498.813787 .188054
+P 18 7601.691571 -16441.314248 19397.991545 -118.678135
+V 18 23913.249765 -5856.928868 -14625.068941 -.037597
+P 19 -19789.297664 -1698.819735 17716.254246 -11.812586
+V 19 -15008.959020 -16602.388794 -18488.954114 -.008591
+P 20 -22440.018377 12784.870966 -6241.563118 -91.064568
+V 20 -8269.269401 181.988364 30470.734214 .026895
+P 21 5253.802253 -25764.795318 961.324078 87.930393
+V 21 3738.418625 -418.128753 -31780.428289 .010649
+P 22 -4731.133342 -14563.806940 21864.919146 16.249115
+V 22 26241.770692 -7800.785289 508.330587 .000219
+P 23 -12808.674874 8858.568386 -21619.889367 211.441694
+V 23 -20515.285131 -17881.039097 4741.502609 .006065
+P 24 5786.599046 20772.621477 -15112.508009 89.248859
+V 24 -6575.485904 18741.298726 22952.280781 .029478
+P 25 -10560.750905 -17157.219795 -16905.707390 84.272071
+V 25 4214.406677 -21962.939191 19252.533268 .008285
+P 26 20464.718813 3279.161280 16646.947553 316.576835
+V 26 15384.941841 14964.405394 -20881.775559 .056084
+P 27 -3241.352622 26105.673207 45.031454 512.991069
+V 27 -3390.195362 -1006.059577 -31867.163093 .063465
+P 28 4426.570869 14702.267345 21882.838404 46.470710
+V 28 -25888.542925 8616.202771 -882.340763 .001933
+P 29 22008.297814 5985.703629 13993.476449 180.236985
+V 29 12354.589038 12102.635671 -24942.979355 -.189234
+P 30 14841.838436 -16938.018564 -14246.222284 445.309422
+V 30 17452.962640 -4129.692211 23617.732545 -.143004
+* 2005 1 19 4 30 .00000000
+P 1 -21543.441490 -15411.187188 -1940.198362 383.672665
+V 1 -793.206844 -3332.322195 32081.822207 .019150
+P 2 14070.615706 8379.518606 -21228.692487 -43.072874
+V 2 -3743.854126 25994.065409 7812.477435 .058129
+P 3 -24079.686806 -9772.320859 6002.932246 77.847870
+V 3 -4706.253442 -7106.921368 -29564.790668 .030225
+P 4 7750.482433 20413.898868 -14877.933028 443.153807
+V 4 -4978.237497 18533.855688 23168.732036 -.206553
+P 5 22711.956772 -13479.689757 -1883.423171 72.971568
+V 5 3698.359911 2258.259380 31192.076532 .025279
+P 6 5392.001314 -15135.381832 -20945.143958 -170.634891
+V 6 22573.130484 15112.428814 -5173.181930 .884272
+P 7 12921.890699 19799.350975 12662.445140 65.443063
+V 7 -14338.230087 -6306.049304 25177.100655 -.302134
+P 8 -827.544740 25927.029218 4555.184368 -18.963996
+V 8 -3764.231861 5550.991872 -31430.652729 -.011692
+P 9 13994.697103 -12337.652263 18291.355284 -24.724635
+V 9 -101.714846 24432.970974 16477.700526 -.018051
+P 10 22788.403854 734.117442 -13923.736154 57.473741
+V 10 -15535.381415 8058.770928 -24820.822394 .007009
+P 11 -14174.165445 13288.074112 18010.568553 186.239204
+V 11 -2439.842413 -23205.079732 15369.965153 .036769
+P 13 -5204.375403 14237.067839 -21872.119913 -13.880896
+V 13 -22062.521554 -16513.831003 -5450.126178 .009647
+P 14 -12825.188711 -19836.120928 12220.453924 -31.482239
+V 14 13387.643334 7794.910716 26808.285224 -.000977
+P 15 -4250.125933 -22886.473301 12304.668260 377.513601
+V 15 5545.554074 -15278.857969 -26360.352497 .053092
+P 16 -18719.320839 -5601.149888 -17935.338983 2.001043
+V 16 20431.251833 -10479.260679 -17935.782886 -.001876
+P 17 15418.346774 -1282.414491 -21245.246212 -94.414640
+V 17 -5571.824406 27104.599722 -6358.225933 .188090
+P 18 9664.067454 -16997.995273 17918.131570 -118.681549
+V 18 21854.051125 -6454.133899 -18214.606499 -.037590
+P 19 -21104.042883 -3091.904757 15905.456709 -11.813299
+V 19 -14126.226163 -14341.201397 -21694.041041 -.008591
+P 20 -23038.544447 12761.180532 -3453.392971 -91.062165
+V 20 -5037.368520 -778.994171 31399.777573 .026895
+P 21 5558.474267 -25650.296129 -1898.979021 87.931312
+V 21 3098.780988 2973.547993 -31687.941227 .010655
+P 22 -2393.126563 -15326.169581 21725.247912 16.248946
+V 22 25630.423259 -9109.375683 -3607.686244 .000232
+P 23 -14672.076744 7318.133776 -21010.171807 211.442277
+V 23 -20815.438926 -16307.719901 8788.095050 .006061
+P 24 5263.478429 22352.683634 -12919.517732 89.251597
+V 24 -5089.552802 16300.875431 25708.196309 .029472
+P 25 -10236.915213 -19036.852733 -15028.418547 84.272564
+V 25 3021.674106 -19735.565069 22401.850745 .008269
+P 26 21798.512815 4513.413041 14630.380402 316.581990
+V 26 14172.549488 12461.383925 -23863.768345 .056081
+P 27 -3536.729272 25859.241565 -2814.913876 512.996736
+V 27 -3241.539423 -4472.658561 -31592.608885 .063465
+P 28 2127.005479 15535.026082 21618.819928 46.471173
+V 28 -25132.403478 9852.158791 -4978.436712 .001918
+P 29 23046.483482 6965.376003 11637.080263 180.219885
+V 29 10637.652467 9682.242092 -27348.538819 -.189239
+P 30 16290.648914 -17298.538800 -12005.181209 445.296624
+V 30 14714.020372 -3811.770538 26113.472499 -.143008
+* 2005 1 19 4 45 .00000000
+P 1 -21490.975927 -15611.735477 955.573946 383.673939
+V 1 2003.305234 -1181.898202 32176.275152 .019159
+P 2 13798.727318 10681.288240 -20349.948815 -43.067547
+V 2 -2312.254069 25071.796868 11688.225419 .058119
+P 3 -24387.735030 -10325.838897 3298.652837 77.851359
+V 3 -2092.548862 -5238.271023 -30444.847061 .030223
+P 4 7356.857800 21970.587442 -12668.722111 443.135194
+V 4 -3815.375560 15994.415550 25853.953403 -.206554
+P 5 22911.901631 -13204.684821 932.093317 72.973518
+V 5 774.774962 3911.110440 31284.162733 .025261
+P 6 7471.003461 -13813.522877 -21225.869476 -170.555425
+V 6 23556.278442 14207.954272 -1056.507555 .884237
+P 7 11515.344059 19199.945945 14816.363070 65.415692
+V 7 -16898.820922 -6942.403918 22622.354720 -.302142
+P 8 -1133.982550 26273.261713 1694.562457 -18.966015
+V 8 -3113.043004 2121.702291 -32044.950785 -.011692
+P 9 14036.806883 -10060.344981 19604.542386 -24.725727
+V 9 1072.637245 26089.982193 12660.129391 -.018046
+P 10 21300.836057 1548.899621 -16033.532477 57.473879
+V 10 -17443.556432 10070.159510 -21996.821648 .007008
+P 11 -14440.765036 11133.986191 19233.780945 186.242635
+V 11 -3508.998526 -24587.576208 11773.968779 .036770
+P 13 -7247.966040 12795.589042 -22174.118076 -13.880142
+V 13 -23278.843557 -15458.344985 -1251.042203 .009651
+P 14 -11492.667572 -19093.316679 14521.576912 -31.482334
+V 14 16210.336125 8632.062314 24254.834785 -.000964
+P 15 -3808.447873 -24135.770815 9830.568708 377.518084
+V 15 4320.902570 -12426.213152 -28538.273316 .053087
+P 16 -16828.474585 -6628.782540 -19389.897892 2.000914
+V 16 21501.341283 -12355.548664 -14340.670577 -.001872
+P 17 14975.978489 1190.474385 -21627.517091 -94.397448
+V 17 -4230.341644 27757.607093 -2128.281732 .188126
+P 18 11525.168624 -17591.523015 16128.592128 -118.684958
+V 18 19453.484330 -6667.341455 -21496.644392 -.037583
+P 19 -22317.446375 -4279.132945 13822.381726 -11.814022
+V 19 -12758.379993 -12043.213801 -24530.837055 -.008592
+P 20 -23349.277674 12632.291375 -605.804206 -91.059813
+V 20 -1889.748723 -2151.390387 31789.088465 .026895
+P 21 5823.775094 -25229.097090 -4725.677135 87.932202
+V 21 2864.916104 6380.505749 -31034.868310 .010662
+P 22 -132.124671 -16196.659794 21217.365112 16.248767
+V 22 24537.352489 -10190.407352 -7662.751324 .000246
+P 23 -16540.886170 5929.672770 -20042.587074 211.442785
+V 23 -20630.568852 -14518.145017 12682.944457 .006057
+P 24 4862.182945 23695.195687 -10498.791687 89.254730
+V 24 -3879.710304 13474.804089 28005.778814 .029465
+P 25 -10008.681785 -20697.861308 -12885.532259 84.271882
+V 25 2100.759079 -17116.634723 25146.180657 .008254
+P 26 23001.279226 5523.325517 12364.192251 316.587168
+V 26 12477.472160 9995.363894 -26421.926330 .056078
+P 27 -3837.004689 25301.709959 -5624.634988 513.002064
+V 27 -3498.070229 -7902.070837 -30751.666384 .063465
+P 28 -83.393335 16467.749851 20988.878071 46.471398
+V 28 -23914.503141 10824.880897 -9002.602403 .001902
+P 29 23909.474578 7732.437142 9084.442386 180.202791
+V 29 8467.941609 7392.614349 -29297.560236 -.189244
+P 30 17486.519935 -17611.303707 -9558.987167 445.283742
+V 30 11847.117880 -3066.658365 28169.783048 -.143012
+* 2005 1 19 5 0 .00000000
+P 1 -21176.157681 -15635.164951 3834.957304 383.675780
+V 1 5022.454594 594.551231 31718.576378 .019168
+P 2 13650.599631 12877.614982 -19130.597969 -43.062145
+V 2 -1007.472292 23655.835480 15371.198552 .058108
+P 3 -24448.998719 -10724.121795 538.397435 77.855152
+V 3 765.720409 -3666.227051 -30807.268385 .030220
+P 4 7054.436173 23282.343414 -10237.687863 443.116145
+V 4 -2961.319475 13103.729490 28090.560600 -.206556
+P 5 22858.034648 -12765.980490 3731.371309 72.976277
+V 5 -1928.521742 5887.096246 30831.421492 .025242
+P 6 9618.663224 -12586.659904 -21134.863414 -170.475853
+V 6 24091.011107 13013.486815 3075.233403 .884202
+P 7 9884.885260 18562.391672 16723.379538 65.388644
+V 7 -19300.139974 -7156.855320 19698.129145 -.302150
+P 8 -1400.353969 26306.630036 -1195.937781 -18.966840
+V 8 -2876.588943 -1384.351854 -32093.977283 -.011691
+P 9 14192.862447 -7657.256423 20563.349084 -24.726581
+V 9 2416.402315 27220.944645 8615.065420 -.018040
+P 10 19663.168205 2549.485965 -17871.877343 57.474544
+V 10 -18865.497858 12172.672876 -18796.802797 .007006
+P 11 -14809.051299 8876.457812 20123.909193 186.246204
+V 11 -4686.853322 -25499.029799 7978.948186 .036770
+P 13 -9380.761176 11464.382369 -22096.600870 -13.879290
+V 13 -24035.477840 -14076.021596 2971.575400 .009655
+P 14 -9911.247427 -18296.621262 16573.887560 -31.482509
+V 14 18902.476276 8994.134548 21287.060924 -.000951
+P 15 -3462.263680 -25114.186531 7182.961052 377.523050
+V 15 3432.368382 -9273.759681 -30210.447822 .053083
+P 16 -14864.715665 -7823.492773 -20509.139240 2.000735
+V 16 22050.856663 -14176.641647 -10495.031468 -.001869
+P 17 14660.607153 3697.308435 -21627.986517 -94.380534
+V 17 -2764.912777 27856.394393 2113.401120 .188162
+P 18 13157.941665 -18185.308323 14059.721252 -118.688343
+V 18 16794.750296 -6454.180726 -24412.689572 -.037576
+P 19 -23386.517366 -5261.330882 11502.437769 -11.814805
+V 19 -10923.340712 -9799.996882 -26950.142508 -.008592
+P 20 -23384.009143 12362.620376 2252.211403 -91.057354
+V 20 1081.140140 -3900.215722 31630.990201 .026895
+P 21 6086.324598 -24504.389068 -7468.806665 87.933237
+V 21 3035.934506 9701.426481 -29833.849998 .010669
+P 22 2010.588555 -17151.365183 20349.814394 16.248603
+V 22 23011.136472 -10969.214207 -11589.156992 .000262
+P 23 -18370.395440 4708.707049 -18733.761450 211.443355
+V 23 -19940.172106 -12600.685498 16360.590323 .006053
+P 24 4554.986725 24768.992900 -7893.411907 89.256825
+V 24 -3007.451786 10343.906727 29805.871419 .029458
+P 25 -9848.865720 -22108.439925 -10515.668068 84.273428
+V 25 1509.751851 -14184.478390 27438.747501 .008238
+P 26 24030.988846 6316.535287 9888.290603 316.592098
+V 26 10333.979185 7660.950564 -28518.459041 .056074
+P 27 -4178.095372 24441.087730 -8333.489469 513.007745
+V 27 -4144.413310 -11190.985288 -29353.639677 .063466
+P 28 -2165.302973 17473.449071 20002.546767 46.471634
+V 28 -22286.990536 11462.818444 -12886.974330 .001885
+P 29 24558.549407 8302.502782 6378.257838 180.185443
+V 29 5893.311208 5317.854509 -30755.549378 -.189249
+P 30 18422.032026 -17837.644612 -6948.946040 445.270792
+V 30 8943.609333 -1892.397778 29748.829955 -.143015
+* 2005 1 19 5 15 .00000000
+P 1 -20582.964576 -15517.334765 6648.655054 383.676301
+V 1 8173.710516 1950.996998 30719.088595 .019177
+P 2 13611.174510 14925.644841 -17590.732708 -43.056779
+V 2 90.678613 21783.915155 18800.971915 .058095
+P 3 -24244.875697 -10996.075695 -2230.987266 77.859145
+V 3 3791.407575 -2437.528401 -30647.700998 .030217
+P 4 6812.996933 24321.197723 -7627.127822 443.097628
+V 4 -2467.485075 9944.666712 29837.245350 -.206557
+P 5 22573.638620 -12137.120620 6465.578465 72.977917
+V 5 -4336.543707 8125.542844 29839.989502 .025224
+P 6 11792.750679 -11477.491360 -20674.081170 -170.396620
+V 6 24138.496162 11606.040504 7148.568566 .884167
+P 7 8048.528122 17923.598988 18352.400437 65.361365
+V 7 -21461.384304 -6975.575349 16453.184737 -.302158
+P 8 -1664.432470 26024.889187 -4065.429952 -18.968061
+V 8 -3061.612006 -4863.427227 -31579.242114 -.011691
+P 9 14474.226232 -5177.364978 21150.732899 -24.728697
+V 9 3842.256319 27792.932800 4419.386661 -.018035
+P 10 17920.361473 3739.936207 -19407.243798 57.475513
+V 10 -19777.548777 14273.616564 -15273.193114 .007005
+P 11 -15285.317606 6558.909286 20666.013446 186.249481
+V 11 -5895.277283 -25919.426553 4051.381727 .036768
+P 13 -11559.105851 10269.280389 -21640.685824 -13.878430
+V 13 -24284.485729 -12448.132627 7145.833728 .009660
+P 14 -8097.005691 -17488.067658 18342.340307 -31.482567
+V 14 21368.696844 8900.308728 17955.903635 -.000937
+P 15 -3179.166618 -25798.801467 4408.736115 377.528494
+V 15 2925.061579 -5913.343866 -31348.023284 .053078
+P 16 -12874.794188 -9176.159797 -21273.481565 2.000642
+V 16 22085.202829 -15850.585708 -6465.440699 -.001865
+P 17 14479.235531 6187.822612 -21249.035947 -94.363539
+V 17 -1268.088456 27395.741149 6290.822272 .188198
+P 18 14543.218081 -18739.710817 11746.869207 -118.691849
+V 18 13969.311040 -5789.483947 -26910.259405 -.037569
+P 19 -24270.689594 -6047.406479 8985.158707 -11.815592
+V 19 -8656.929569 -7698.985627 -28909.619823 -.008593
+P 20 -23162.526008 11920.492663 5071.395844 -91.054979
+V 20 3790.616207 -5973.866107 30927.262715 .026895
+P 21 6381.826057 -23488.380309 -10080.013775 87.934061
+V 21 3592.445263 12837.905595 -28107.942956 .010676
+P 22 3998.759527 -18160.128722 19137.150932 16.248670
+V 22 21114.628652 -11382.151743 -15321.190695 .000278
+P 23 -20114.859306 3662.644826 -17106.055479 211.443952
+V 23 -18741.785011 -10646.687128 19759.230738 .006048
+P 24 4309.326436 25550.694165 -5149.556048 89.260247
+V 24 -2518.430850 6999.753393 31078.925710 .029451
+P 25 -9725.729396 -23244.324731 -7961.250455 84.273930
+V 25 1291.403393 -11027.788419 29241.878333 .008222
+P 26 24849.449748 6908.848307 7245.610748 316.597132
+V 26 7792.777803 5544.540716 -30123.896223 .056071
+P 27 -4593.693556 23294.537294 -10892.191238 513.013208
+V 27 -5146.645028 -14240.021360 -27419.383163 .063466
+P 28 -4084.729161 18519.209573 18675.413397 46.471679
+V 28 -20315.773987 11706.323461 -16565.075834 .001868
+P 29 24960.020715 8698.338176 3563.990489 180.168114
+V 29 2977.481370 3532.234193 -31695.573668 -.189254
+P 30 19098.020034 -17939.519943 -4219.428741 445.257779
+V 30 6094.995870 -304.889928 30820.464334 -.143019
+* 2005 1 19 5 30 .00000000
+P 1 -19703.821806 -15297.445875 9348.713258 383.677278
+V 1 11360.475443 2859.404474 29197.217531 .019186
+P 2 13658.572938 16786.616512 -15755.728005 -43.051406
+V 2 910.923368 19508.995659 21920.727643 .058081
+P 3 -23764.041481 -11174.141585 -4962.643267 77.861018
+V 3 6900.421528 -1583.765768 -29970.230056 .030213
+P 4 6598.408974 25067.106302 -4882.663948 443.078699
+V 4 -2369.038530 6609.904805 31061.577983 -.206559
+P 5 22088.208537 -11297.699144 9086.878130 72.980411
+V 5 -6386.677012 10553.103695 28325.841084 .025205
+P 6 13948.312294 -10501.446462 -19852.038589 -170.317428
+V 6 23677.247828 10069.571822 11091.417095 .884132
+P 7 6031.258132 17317.439981 19676.920236 65.333983
+V 7 -23308.880003 -6439.677041 12940.607385 -.302166
+P 8 -1963.736455 25435.097785 -6863.638802 -18.968592
+V 8 -3655.748024 -8213.195443 -30512.762410 -.011691
+P 9 14884.192580 -2671.682789 21356.707736 -24.731251
+V 9 5258.906338 27793.817126 152.705677 -.018030
+P 10 16118.683082 5115.842250 -20613.079298 57.476488
+V 10 -20174.426603 16278.106073 -11483.978598 .007003
+P 11 -15868.716577 4225.800584 20851.233638 186.252842
+V 11 -7054.260632 -25845.728699 59.692219 .036766
+P 13 -13735.811914 9228.404424 -20813.940822 -13.877589
+V 13 -23995.561392 -10664.202870 11200.481873 .009664
+P 14 -6074.332521 -16707.145268 19796.753210 -31.482614
+V 14 23520.221114 8387.718901 14318.350357 -.000924
+P 15 -2923.471290 -26175.322054 1556.923436 377.534288
+V 15 2826.490995 -2444.158932 -31932.388222 .053072
+P 16 -10904.131543 -10669.534010 -21669.496803 2.000516
+V 16 21628.392064 -17289.302896 -2321.863378 -.001863
+P 17 14430.521576 8612.177334 -20499.758055 -94.346819
+V 17 167.893122 26390.222850 10331.073825 .188234
+P 18 15670.302482 -19213.648780 9229.798943 -118.695510
+V 18 11073.389730 -4666.538560 -28943.945876 -.037560
+P 19 -24933.385314 -6653.823126 6313.550395 -11.816303
+V 19 -6011.710201 -5820.100434 -30374.572264 -.008594
+P 20 -22711.766483 11279.557140 7803.078754 -91.052679
+V 20 6164.948144 -8306.006053 29689.176469 .026895
+P 21 6743.436675 -22201.858045 -12513.467769 87.934988
+V 21 4497.477847 15698.328219 -25890.044346 .010683
+P 22 5802.347576 -19187.658240 17599.716476 16.248632
+V 22 18922.610254 -11379.135238 -18796.139966 .000295
+P 23 -21729.132706 2790.671249 -15187.190871 211.444434
+V 23 -17051.186440 -8746.951069 22821.685912 .006043
+P 24 4089.311131 26025.508194 -2315.612896 89.263149
+V 24 -2440.711000 3541.028847 31805.400014 .029444
+P 25 -9604.441492 -24089.567156 -5267.664860 84.276090
+V 25 1471.501817 -7742.038249 30527.510648 .008206
+P 26 25423.698908 7323.362112 4481.362802 316.602095
+V 26 4918.978861 3721.309932 -31217.156432 .056067
+P 27 -5113.645296 21887.830481 -13253.849566 513.018994
+V 27 -6453.486745 -16957.915675 -24981.214608 .063466
+P 28 -5814.141973 19567.381494 17028.944550 46.471891
+V 28 -18078.163093 11510.192146 -19972.921387 .001852
+P 29 25086.573334 8948.842476 689.165779 180.150910
+V 29 -202.063532 2097.349102 -32098.843110 -.189258
+P 30 19523.431047 -17881.114191 -1417.146319 445.245013
+V 30 3389.475318 1662.406791 31362.943025 -.143023
+* 2005 1 19 5 45 .00000000
+P 1 -18539.986101 -15016.378717 11889.313783 383.677986
+V 1 14483.702146 3310.564789 27180.928963 .019196
+P 2 13764.990294 18427.155049 -13655.878928 -43.046191
+V 2 1393.289672 16897.473968 24678.085063 .058066
+P 3 -23002.939340 -11292.880650 -7610.454487 77.863910
+V 3 10004.755028 -1120.339728 -28787.222631 .030210
+P 4 6374.168507 25508.674702 -2052.409115 443.060315
+V 4 -2683.340880 3198.356233 31740.739589 -.206560
+P 5 21436.224816 -10234.377917 11549.307423 72.982685
+V 5 -8031.106240 13086.568469 26314.590800 .025187
+P 6 16039.276992 -9666.216926 -18683.624331 -170.237695
+V 6 22704.002195 8491.470317 14834.464850 .884098
+P 7 3864.273950 16773.475905 20675.378395 65.306962
+V 7 -24778.628653 -5603.524336 9217.078232 -.302174
+P 8 -2333.834301 24553.310905 -9541.827664 -18.969112
+V 8 -4628.204885 -11336.704932 -28916.618175 -.011692
+P 9 15417.813975 -191.360893 21178.503709 -24.732641
+V 9 6575.176053 27232.619623 -4104.550120 -.018024
+P 10 14304.040099 6664.292925 -21468.269743 57.476608
+V 10 -20069.388460 18092.672862 -7491.883136 .007001
+P 11 -16551.237946 1921.099404 20676.909087 186.256229
+V 11 -8085.179706 -25291.855427 -3926.983609 .036764
+P 13 -15861.807989 8351.578408 -19630.273070 -13.876640
+V 13 -23157.317781 -8818.486926 15066.093261 .009669
+P 14 -3875.184355 -15989.250491 20912.309651 -31.482550
+V 14 25278.217893 7509.868959 10436.476628 -.000912
+P 15 -2657.850935 -26238.566197 -1322.243498 377.538697
+V 15 3145.514140 1031.178956 -31955.419742 .053067
+P 16 -8995.186262 -12278.747441 -21690.159854 2.000110
+V 16 20722.024222 -18412.148054 1863.589794 -.001859
+P 17 14504.979352 10922.701646 -19395.619445 -94.329721
+V 17 1454.907007 24873.230675 14165.615702 .188270
+P 18 16537.234777 -19566.289240 6552.005522 -118.698748
+V 18 8204.250115 -3097.608336 -30476.369467 -.037550
+P 19 -25343.445368 -7103.781162 3533.372109 -11.817172
+V 19 -3055.179009 -4232.643064 -31318.610247 -.008595
+P 20 -22064.706277 10420.004792 10400.026683 -91.050619
+V 20 8144.120864 -10818.049868 27937.355036 .026898
+P 21 7200.255216 -20673.414251 -14726.712162 87.936137
+V 21 5698.151880 18201.428970 -23222.088346 .010690
+P 22 7398.476163 -20194.843089 15763.325136 16.248380
+V 22 16519.007653 -10925.691422 -21955.269128 .000313
+P 23 -23170.296530 2083.955113 -13009.793604 211.445029
+V 23 -14901.929738 -6988.245018 25496.295408 .006038
+P 24 3857.355816 26187.700984 558.727216 89.264904
+V 24 -2783.773444 69.666545 31975.920103 .029437
+P 25 -9448.648991 -24636.975093 -2482.379217 84.278137
+V 25 2057.990601 -4425.705691 31277.452697 .008189
+P 26 25727.189709 7589.338763 1642.278509 316.607318
+V 26 1789.612083 2252.697880 -31785.488091 .056064
+P 27 -5762.474295 20254.439179 -15374.981976 513.024709
+V 27 -7998.342304 -19265.443108 -22082.462205 .063466
+P 28 -7333.378027 20576.975613 15090.210988 46.472066
+V 28 -15660.043919 10845.716145 -23050.149716 .001835
+P 29 24918.387821 9087.795610 -2197.385032 180.133563
+V 29 -3556.718120 1059.704044 -31955.203305 -.189263
+P 30 19714.874099 -17630.378318 1409.634602 445.232279
+V 30 908.566009 3959.475362 31363.529699 -.143026
+* 2005 1 19 6 0 .00000000
+P 1 -17101.600911 -14714.988621 14227.518493 383.679674
+V 1 17445.564076 3314.202541 24706.148123 .019207
+P 2 13897.824333 19820.382365 -11325.964630 -43.041050
+V 2 1491.498119 14026.911884 27025.911747 .058052
+P 3 -21965.991409 -11387.492716 -10129.781227 77.866407
+V 3 13015.637194 -1046.018905 -27119.068814 .030206
+P 4 6103.043805 25643.547394 813.923004 443.041789
+V 4 -3409.136734 -188.682892 31862.043902 -.206562
+P 5 20655.734123 -8941.631287 13809.628013 72.985117
+V 5 -9238.648195 15636.106672 23841.083676 .025169
+P 6 18020.107818 -8971.610469 -17189.792046 -170.157918
+V 6 21233.853308 6958.943112 18312.454850 .884063
+P 7 1584.014489 16315.856947 21331.450087 65.279799
+V 7 -25818.514804 -4532.614184 5342.143593 -.302181
+P 8 -2806.744472 23403.927537 -12053.677023 -18.971482
+V 8 -5931.191755 -14146.072556 -26822.325241 -.011692
+P 9 16062.094335 2214.194500 20620.554719 -24.734073
+V 9 7704.042825 26138.914646 -8273.034002 -.018018
+P 10 12520.328855 8364.163823 -21957.525566 57.475959
+V 10 -19493.718238 19628.860869 -3363.457957 .007000
+P 11 -17317.977861 -313.219625 20146.587857 186.259604
+V 11 -8913.985714 -24288.013641 -7840.010349 .036761
+P 13 -17887.873665 7640.069301 -18109.712195 -13.875697
+V 13 -21777.865955 -7006.258328 18676.233077 .009673
+P 14 -1538.051405 -15364.308150 21669.970274 -31.482604
+V 14 26576.783124 6334.431387 6376.412933 -.000901
+P 15 -2345.033311 -25992.590395 -4178.272921 377.542394
+V 15 3872.087430 4410.653057 -31419.479671 .053062
+P 16 -7185.943147 -13972.132904 -21334.983756 1.999871
+V 16 19423.576115 -19149.189184 6017.955927 -.001854
+P 17 14685.509258 13075.515796 -17958.018196 -94.312976
+V 17 2512.435222 22895.289106 17731.335891 .188306
+P 18 17150.713147 -19758.750607 3759.955750 -118.702268
+V 18 5456.404982 -1113.688267 -31478.993536 -.037540
+P 19 -25476.369296 -7426.136972 692.363697 -11.818072
+V 19 132.634221 -2992.589686 -31724.188608 -.008595
+P 20 -21259.019122 9329.540400 12817.272203 -91.048064
+V 20 9684.072409 -13422.142715 25701.464972 .026902
+P 21 7775.990476 -18938.371114 -16681.434425 87.937211
+V 21 7128.008688 20279.381537 -20154.047972 .010696
+P 22 8772.117578 -21140.230628 13658.862914 16.248086
+V 22 13993.769729 -10004.447101 -24744.757802 .000334
+P 23 -24399.211573 1526.163480 -10610.859625 211.445573
+V 23 -12344.219207 -5449.970595 27737.739232 .006034
+P 24 3575.869235 26040.711214 3423.386141 89.268962
+V 24 -3538.305557 -3313.080779 31591.213439 .029430
+P 25 -9222.094585 -24888.211664 345.947292 84.278443
+V 25 3040.839996 -1176.467787 31483.410002 .008172
+P 26 25740.739432 7740.876140 -1224.131887 316.612392
+V 26 -1509.205156 1184.449750 -31824.308799 .056061
+P 27 -6558.123489 18434.292364 -17216.471511 513.030625
+V 27 -9702.103141 -21098.863328 -18776.638782 .063467
+P 28 -8630.270733 21505.218619 12891.510027 46.472338
+V 28 -13152.677463 9702.148376 -25741.166446 .001818
+P 29 24444.004703 9152.410966 -5046.320325 180.116505
+V 29 -6989.861702 448.828111 -31263.521848 -.189267
+P 30 19695.874466 -17160.449510 4211.924135 445.219574
+V 30 -1276.059034 6521.417374 30818.950731 -.143030
+* 2005 1 19 6 15 .00000000
+P 1 -15407.423965 -14432.423770 16323.954778 383.680331
+V 1 20153.043604 2898.371221 21816.059628 .019218
+P 2 14020.998028 20946.803860 -8804.740476 -43.035725
+V 2 1174.889217 10983.346116 28923.107861 .058038
+P 3 -20665.524589 -11492.322336 -12478.167005 77.868494
+V 3 15846.700733 -1343.106799 -24993.828055 .030203
+P 4 5748.757798 25478.444186 3665.944776 443.023079
+V 4 -4526.528749 -3451.495034 31423.229539 -.206563
+P 5 19786.795078 -7422.184105 15828.130594 72.988013
+V 5 -9995.909140 18108.812412 20948.777888 .025150
+P 6 19847.432602 -8409.728727 -15397.141308 -170.078131
+V 6 19299.653711 5555.446460 21465.364534 .884028
+P 7 -768.995079 15962.429286 21634.271132 65.252637
+V 7 -26390.113236 -3301.099924 1377.482259 -.302189
+P 8 -3409.498402 22018.724606 -14356.095939 -18.972259
+V 8 -7502.070171 -16565.720112 -24269.952644 -.011692
+P 9 16796.535942 4499.110551 19694.319263 -24.735096
+V 9 8566.427408 24561.326074 -12276.278744 -.018013
+P 10 10807.860860 10186.725541 -22071.682009 57.477992
+V 10 -18495.542914 20806.684098 831.914206 .006999
+P 11 -18147.687006 -2438.587470 19269.928279 186.262966
+V 11 -9474.192019 -22879.414026 -11612.432001 .036757
+P 13 -19766.392912 7086.664734 -16278.089608 -13.874717
+V 13 -19884.660269 -5320.049910 21968.593031 .009676
+P 14 893.322198 -14855.615754 22056.789189 -31.482633
+V 14 27365.438096 4940.512218 2207.253190 -.000889
+P 15 -1949.483060 -25450.457095 -6961.349181 377.546388
+V 15 4977.812562 7596.789619 -30337.171235 .053057
+P 16 -5508.585045 -15712.320912 -20610.037188 1.999655
+V 16 17804.066560 -19444.078243 10068.736999 -.001848
+P 17 14948.224089 15031.974880 -16213.755795 -94.296006
+V 17 3270.629176 20521.781600 20971.393465 .188342
+P 18 17525.678477 -19755.748561 902.261823 -118.705602
+V 18 2917.910682 1236.509305 -31932.772239 -.037529
+P 19 -25315.316081 -7654.100504 -2160.569239 -11.819148
+V 19 3462.070047 -2140.390542 -31582.999557 -.008592
+P 20 -20335.563327 8004.067699 15012.907430 -91.045417
+V 20 10758.310078 -16024.526901 23019.735528 .026905
+P 21 8487.865130 -17037.454469 -18344.138562 87.938070
+V 21 8709.888947 21880.291485 -16742.781300 .010701
+P 22 9916.485314 -21981.609070 11321.804905 16.248237
+V 22 11439.512956 -8615.995760 -27116.589974 .000356
+P 23 -25381.943232 1094.264641 -8031.150451 211.446055
+V 23 -9443.169729 -4201.107551 29507.772864 .006029
+P 24 3208.925944 25596.915375 6228.796230 89.271087
+V 24 -4676.756770 -6510.469168 30661.835507 .029422
+P 25 -8890.212515 -24853.556243 3168.348139 84.279569
+V 25 4392.648380 1912.473964 31146.799882 .008154
+P 26 25453.210330 7815.429446 -4070.304625 316.617607
+V 26 -4885.339546 545.250403 -31336.966499 .056057
+P 27 -7510.980284 16472.251811 -18744.432688 513.036248
+V 27 -11476.594407 -22412.694905 -15126.260278 .063467
+P 28 -9700.979499 22309.210925 10469.885556 46.472562
+V 28 -10649.230925 8087.504669 -27996.271688 .001800
+P 29 23660.892111 9181.745569 -7808.612825 180.099355
+V 29 -10400.325983 276.005628 -30031.948243 -.189271
+P 30 19495.857568 -16450.891119 6940.875003 445.206632
+V 30 -3105.393254 9270.761258 29735.681210 -.143034
+* 2005 1 19 6 30 .00000000
+P 1 -13484.240419 -14204.528350 18143.434249 383.681888
+V 1 22521.310370 2108.172370 18560.325224 .019229
+P 2 14096.432119 21794.937175 -6134.361173 -43.030507
+V 2 429.811076 7858.262261 30335.352864 .058023
+P 3 -19121.414812 -11639.406940 -14616.009554 77.869730
+V 3 18417.055652 -1978.206511 -22446.787090 .030201
+P 4 5277.637300 25028.841544 6453.537006 443.004227
+V 4 -5997.742462 -6495.840740 30432.511597 -.206565
+P 5 18869.852413 -5687.122721 17569.374905 72.990337
+V 5 -10307.710956 20412.400959 17688.932002 .025131
+P 6 21481.588799 -7965.458644 -13337.398591 -169.998393
+V 6 16950.715032 4357.311867 24239.446385 .883993
+P 7 -3151.440030 15724.078374 21578.596690 65.225653
+V 7 -26470.045318 -1989.031824 -2613.834586 -.302197
+P 8 -4162.917590 20435.623602 -16409.950457 -18.972788
+V 8 -9265.981802 -18535.083871 -21307.199702 -.011692
+P 9 17594.009532 6622.663997 18417.946118 -24.736359
+V 9 9094.558411 22565.220261 -16042.335771 -.018008
+P 10 9201.924348 12096.552013 -21807.906153 57.478502
+V 10 -17138.009169 21557.816548 5023.093616 .006997
+P 11 -19013.574213 -4421.112134 18062.496832 186.266169
+V 11 -9709.546781 -21124.430699 -15180.093634 .036754
+P 13 -21453.060389 6676.085874 -14166.617904 -13.873890
+V 13 -17523.608785 -3845.987978 24886.074875 .009678
+P 14 3371.417836 -14478.954119 22066.129898 -31.482670
+V 14 27611.052491 3415.485727 -2000.079639 -.000879
+P 15 -1439.000499 -24633.657001 -9623.235198 377.552364
+V 15 6417.237834 10500.355148 -28730.876593 .053052
+P 16 -3988.399497 -17457.572050 -19527.843376 1.999341
+V 16 15945.189383 -19256.395128 13945.214144 -.001841
+P 17 15263.527675 16759.885775 -14194.442668 -94.279050
+V 17 3672.846865 17830.208527 23835.853211 .188378
+P 18 17684.575076 -19527.117140 -1971.194966 -118.709075
+V 18 666.904886 3888.305639 -31828.608766 -.037518
+P 19 -24851.824800 -7823.761061 -4976.198518 -11.819857
+V 19 6837.140501 -1699.368086 -30896.207974 -.008589
+P 20 -19336.753441 6448.059107 16948.826876 -91.043105
+V 20 11358.838120 -18529.162028 19938.314764 .026907
+P 21 9345.798028 -15015.273381 -19686.708443 87.939205
+V 21 10359.218648 22969.998344 -13050.764490 .010707
+P 22 10833.118417 -22677.638789 8791.655173 16.248186
+V 22 8948.051856 -6779.103133 -29029.380885 .000378
+P 23 -26091.003982 759.589420 -5314.526864 211.446652
+V 23 -6276.509573 -3297.546561 30775.866155 .006025
+P 24 2723.855412 24877.058701 8926.765557 89.272706
+V 24 -6154.615884 -9433.837560 29207.712320 .029415
+P 25 -8421.639357 -24551.346044 5936.408135 84.281367
+V 25 6069.919971 4755.795274 30278.381407 .008136
+P 26 24861.907358 7852.237157 -6849.323176 316.622992
+V 26 -8243.849300 345.968401 -30334.442920 .056054
+P 27 -8623.233962 14416.374718 -19930.956529 513.042200
+V 27 -13228.491774 -23181.657448 -11201.349080 .063467
+P 28 -10549.999419 22947.624508 7866.548345 46.472751
+V 28 -8241.168740 6028.644110 -29772.743105 .001782
+P 29 22575.689413 9215.026355 -10436.391246 180.082580
+V 29 -13686.105653 533.690092 -28278.027370 -.189276
+P 30 19148.899233 -15488.699243 9548.665691 445.193956
+V 30 -4535.447219 12120.324372 28130.039500 -.143038
+* 2005 1 19 6 45 .00000000
+P 1 -11365.985805 -14062.389315 19655.497937 383.685077
+V 1 24476.773279 1003.856596 14994.235204 .019240
+P 2 14085.615853 22361.657018 -3359.738925 -43.025339
+V 2 -739.594989 4745.328378 31235.800267 .058009
+P 3 -17360.462793 -11857.119689 -16507.188246 77.871451
+V 3 20654.165488 -2903.554122 -19519.934740 .030199
+P 4 4660.158924 24318.312254 9127.785034 442.985557
+V 4 -7768.648413 -9236.623964 28908.390695 -.206566
+P 5 17944.106618 -3755.672364 19002.848482 72.992982
+V 5 -10196.764555 22458.899240 14119.615846 .025112
+P 6 22888.022200 -7617.253622 -11046.811426 -169.919222
+V 6 14250.873273 3430.702138 26588.114066 .883958
+P 7 -5518.613037 15604.330244 21164.892791 65.198320
+V 7 -26050.844644 -679.396622 -6568.096956 -.302205
+P 8 -5080.655376 18697.241595 -18180.701581 -18.973917
+V 8 -11139.035171 -20010.662749 -17988.286839 -.011692
+P 9 18421.902428 8550.658591 16815.801601 -24.738207
+V 9 9234.765034 20229.733191 -19505.204911 -.018003
+P 10 7731.536755 14052.699225 -21169.804071 57.478455
+V 10 -15496.875004 21828.390760 9138.327127 .006996
+P 11 -19884.332698 -6232.662271 16545.468259 186.269325
+V 11 -9576.292371 -19092.282517 -18482.690080 .036752
+P 13 -22908.475538 6385.720682 -11811.375766 -13.873094
+V 13 -14757.475772 -2660.361337 27377.803432 .009682
+P 14 5846.566286 -14241.997819 21697.777775 -31.482574
+V 14 27299.121500 1851.517569 -6173.995311 -.000869
+P 15 -786.172004 -23571.215428 -12118.124433 377.556858
+V 15 8129.840199 13043.657535 -26632.102242 .053047
+P 16 -2642.963132 -19163.292912 -18107.161827 1.999075
+V 16 13936.028864 -18563.368707 17579.732393 -.001833
+P 17 15597.395738 18234.461125 -11935.855364 -94.262151
+V 17 3677.601219 14907.107649 26282.129045 .188414
+P 18 17656.316389 -19049.141423 -4810.172520 -118.712685
+V 18 -1231.462948 6763.478081 -31167.605832 -.037505
+P 19 -24086.224925 -7972.498581 -7705.830234 -11.820581
+V 19 10159.102661 -1674.783417 -29674.518467 -.008585
+P 20 -18304.881023 4674.593551 18591.405382 -91.040666
+V 20 11496.356834 -20841.456062 16510.472598 .026909
+P 21 10351.894966 -12918.670949 -20686.853627 87.940331
+V 21 11987.552024 23533.128827 -9144.754681 .010711
+P 22 11531.653067 -23189.471642 6111.315540 16.248253
+V 22 6606.939041 -4530.234572 -30449.127549 .000401
+P 23 -26506.366990 489.111253 -2507.229817 211.447360
+V 23 -2931.806380 -2779.909805 31519.736011 .006020
+P 24 2092.686384 23909.380980 11471.294721 89.274696
+V 24 -7912.335679 -12005.793887 27257.526857 .029409
+P 25 -7789.582134 -24007.128459 8603.081883 84.282340
+V 25 8014.943942 7279.055880 28897.734812 .008118
+P 26 23972.684931 7890.706448 -9515.590343 316.628246
+V 26 -11490.226169 579.509953 -28835.015693 .056050
+P 27 -9888.599331 12316.043318 -20754.708953 513.047986
+V 27 -14863.506016 -23401.670087 -7077.682375 .063467
+P 28 -11189.845088 23382.374272 5126.202112 46.473078
+V 28 -6014.643962 3570.597527 -31035.841096 .001763
+P 29 21204.110993 9289.956198 -12883.784855 180.065614
+V 29 -16748.176871 1195.645431 -26028.647727 -.189280
+P 30 18692.289804 -14269.030653 11989.382825 445.181350
+V 30 -5539.018066 14976.523814 26028.073391 -.143042
+* 2005 1 19 7 0 .00000000
+P 1 -9092.612885 -14031.079035 20834.882663 383.687589
+V 1 25959.704030 -341.616360 11177.807492 .019250
+P 2 13951.219558 22652.239208 -527.842027 -43.020062
+V 2 -2311.256873 1736.996517 31605.702930 .057995
+P 3 -15415.523489 -12168.956228 -18119.640676 77.873284
+V 3 22496.428918 -4058.873955 -16261.357866 .030198
+P 4 3872.326385 23377.551797 11641.886974 442.966764
+V 4 -9770.972544 -11601.163193 26879.226859 -.206567
+P 5 17045.946505 -1654.648605 20103.529393 72.995460
+V 5 -9702.603335 24168.171852 10304.570214 .025093
+P 6 24038.486217 -7338.169294 -8565.470234 -169.839595
+V 6 11276.008428 2829.014824 28472.662048 .883923
+P 7 -7825.865828 15599.225064 20399.359187 65.171382
+V 7 -25141.303323 544.956994 -10421.729823 -.302213
+P 8 -6168.534958 16849.289890 -19638.940872 -18.976415
+V 8 -13031.710672 -20967.360509 -14372.810723 -.011691
+P 9 19243.488074 10256.511178 14917.878923 -24.740677
+V 9 8949.589914 17644.297636 -22606.020289 -.017997
+P 10 6418.437440 16010.113858 -20167.422404 57.478536
+V 10 -13657.594340 21581.290806 13106.447909 .006995
+P 11 -20725.347944 -7851.724086 14745.235101 186.272619
+V 11 -9044.930777 -16860.330276 -21464.727863 .036751
+P 13 -24099.562972 6186.650318 -9252.705614 -13.872230
+V 13 -11663.630553 -1826.559449 29400.049566 .009686
+P 14 8268.655595 -14144.047746 20957.947344 -31.482425
+V 14 26434.349425 341.906225 -10243.409847 -.000861
+P 15 30.384923 -22298.524180 -14403.426482 377.561562
+V 15 10042.586663 15163.325410 -24080.663906 .053042
+P 16 -1481.635571 -20783.676139 -16372.656773 1.998872
+V 16 11869.489590 -17360.903972 20908.929369 -.001824
+P 17 15912.804180 19438.985861 -9477.261585 -94.245458
+V 17 3259.884496 11844.766838 28275.258974 .188450
+P 18 17474.997236 -18305.645496 -7564.988972 -118.715443
+V 18 -2727.574135 9773.256950 -29961.096748 -.037495
+P 19 -23027.717878 -8137.342718 -10302.159786 -11.821437
+V 19 13330.166432 -2053.615196 -27938.066972 -.008582
+P 20 -17280.450791 2705.059061 19912.097958 -91.038031
+V 20 11199.722429 -22871.958785 12795.665098 .026911
+P 21 11500.264016 -10795.014970 -21328.433255 87.940887
+V 21 13506.214996 23573.379400 -5094.424105 .010716
+P 22 12029.287955 -23482.297403 3326.390827 16.248107
+V 22 4496.141913 -1922.410604 -31349.867492 .000424
+P 23 -26616.212199 246.897289 342.881454 211.447651
+V 23 496.686039 -2671.942487 31725.762830 .006015
+P 24 1293.392459 22728.477326 13819.332503 89.275885
+V 24 -9877.808173 -14162.902125 24847.978806 .029403
+P 25 -6972.994356 -23252.564827 11123.458116 84.283071
+V 25 10158.156773 9421.207583 27032.597221 .008100
+P 26 22799.763981 7968.812414 -12025.468550 316.633288
+V 26 -14533.576078 1221.268035 -26863.891222 .056046
+P 27 -11292.420783 10220.049359 -21201.362883 513.053561
+V 27 -16290.614319 -23089.851892 -2834.862111 .063467
+P 28 -11640.415219 23580.195014 2296.283978 46.473320
+V 28 -4047.039001 775.144290 -31759.700126 .001743
+P 29 19570.506962 9441.066140 -15107.755312 180.048724
+V 29 -19494.277145 2217.832194 -23319.808189 -.189285
+P 30 18164.968587 -12795.617326 14219.883505 445.168760
+V 30 -6106.788682 17743.006199 23465.227115 -.143046
+* 2005 1 19 7 15 .00000000
+P 1 -6708.744936 -14128.638454 21661.904435 383.691523
+V 1 26926.346776 -1845.465569 7174.846390 .019260
+P 2 13658.689373 22680.097339 2313.058921 -43.014793
+V 2 -4245.708090 -1078.909084 31434.948586 .057980
+P 3 -13324.419804 -12592.509605 -19425.881462 77.874990
+V 3 23895.378945 -5373.692943 -12724.561823 .030198
+P 4 2896.821570 22243.133415 13952.013593 442.948508
+V 4 -11925.093895 -13531.928310 24382.594308 -.206568
+P 5 16207.509428 582.395408 20852.340647 72.999472
+V 5 -8879.823361 25471.131489 6311.945646 .025073
+P 6 24911.997420 -7097.109190 -5936.573137 -169.760202
+V 6 8111.127942 2590.828341 29862.812387 .883888
+P 7 -10030.067962 15697.469118 19293.881418 65.143944
+V 7 -23766.282080 1604.415722 -14112.093114 -.302221
+P 8 -7424.204062 14938.884644 -20760.821076 -18.978528
+V 8 -14852.454031 -21399.094204 -10524.557503 -.011690
+P 9 20019.452488 11722.009459 12759.112548 -24.741692
+V 9 8219.155611 14904.850947 -25293.973867 -.017991
+P 10 5276.361932 17921.221739 -18817.140066 57.479188
+V 10 -11711.994537 20797.839947 16858.114469 .006994
+P 11 -21500.039883 -9264.001648 12692.934999 186.275800
+V 11 -8101.434341 -14511.096209 -24076.389165 .036751
+P 13 -25000.763772 6044.929861 -6534.532952 -13.871248
+V 13 -8331.222995 -1392.501900 30917.043700 .009689
+P 14 10588.859332 -14176.096001 19859.183992 -31.482824
+V 14 25040.517101 -1022.620724 -14138.915125 -.000852
+P 15 1025.028671 -20855.950535 -16440.473350 377.567872
+V 15 12072.953139 16812.468747 -21123.744862 .053037
+P 16 -505.382124 -22273.399961 -14354.458510 1.998715
+V 16 9838.584656 -15663.872878 23874.882490 -.001815
+P 17 16171.248047 20365.183196 -6860.727094 -94.228216
+V 17 2411.859042 8737.853077 29788.037367 .188486
+P 18 17178.405230 -17288.789430 -10187.436436 -118.718937
+V 18 -3789.244501 12821.772279 -28230.452649 -.037486
+P 19 -21694.124321 -8353.344802 -12720.109123 -11.822227
+V 19 16257.190434 -2805.066965 -25716.133628 -.008578
+P 20 -16300.598030 568.530224 20887.949814 -91.035733
+V 20 10514.687296 -24539.869707 8858.477723 .026912
+P 21 12777.157499 -8690.497477 -21601.657145 87.941754
+V 21 14829.895661 23113.041216 -971.003011 .010724
+P 22 12349.961444 -23526.758007 484.439563 16.248297
+V 22 2684.981696 976.578563 -31714.229504 .000447
+P 23 -26417.375740 -4.323921 3187.123194 211.447996
+V 23 3911.447603 -2979.539311 31389.281097 .006012
+P 24 310.894310 21373.942869 15931.460290 89.279116
+V 24 -11969.277441 -15857.785078 22022.946808 .029398
+P 25 -5957.520874 -22324.132127 13455.463924 84.285194
+V 25 12420.924050 11136.555771 24718.169581 .008081
+P 26 21365.268891 8121.563507 -14337.886082 316.638715
+V 26 -17289.648629 2230.139170 -24452.815820 .056042
+P 27 -12812.150892 8174.723416 -21263.851841 513.059491
+V 27 -17426.115629 -22283.531748 1445.706957 .063468
+P 28 -11928.058324 23514.057622 -573.868804 46.473436
+V 28 -2403.806605 -2281.328696 -31928.069619 .001723
+P 29 17707.091142 9698.180561 -17068.898880 180.031487
+V 29 -21842.493878 3540.026359 -20196.191063 -.189289
+P 30 17605.891953 -11080.845492 16200.617656 445.156386
+V 30 -6247.695111 20324.447159 20485.785959 -.143050
+* 2005 1 19 7 30 .00000000
+P 1 -4262.164867 -14365.336406 22122.755696 383.692907
+V 1 27350.446880 -3418.319552 3051.971040 .019269
+P 2 13177.763165 22466.216486 5114.188141 -43.009574
+V 2 -6487.301233 -3622.491286 30722.483302 .057966
+P 3 -11128.678475 -13138.671289 -20403.456590 77.876093
+V 3 24817.423381 -6770.036757 -8967.718151 .030198
+P 4 1723.882082 20956.045242 16018.101124 442.930196
+V 4 -14143.302438 -14988.630181 21464.440876 -.206570
+P 5 15455.428259 2916.291261 21236.486920 73.002407
+V 5 -7795.708442 26312.497502 2212.954098 .025052
+P 6 25495.513557 -6860.228107 -3205.649400 -169.680486
+V 6 4847.137694 2738.460714 30737.087714 .883853
+P 7 -12091.024179 15880.863044 17865.909526 65.116940
+V 7 -21965.979980 2425.627218 -17578.312456 -.302229
+P 8 -8837.114279 13012.835867 -21528.379472 -18.980093
+V 8 -16511.277071 -21318.669440 -6510.310612 -.011688
+P 9 20709.509023 12937.720979 10378.621411 -24.744287
+V 9 7041.759939 12109.906808 -27526.973308 -.017986
+P 10 4310.629102 19737.637838 -17141.447427 57.479791
+V 10 -9754.666363 19478.802318 20327.068158 .006994
+P 11 -22171.287549 -10462.740725 10423.904979 186.279172
+V 11 -6747.862801 -12129.120074 -26274.289058 .036751
+P 13 -25594.950587 5923.074261 -3703.618142 -13.870388
+V 13 -4857.889690 -1388.664108 31901.661259 .009693
+P 14 12761.320694 -14321.220956 18420.161199 -31.482436
+V 14 23159.636083 -2157.516913 -17793.928507 -.000844
+P 15 2204.387778 -19287.282192 -18195.136565 377.572336
+V 15 14132.265674 17962.154735 -17814.861874 .053032
+P 16 293.068684 -23589.320223 -12087.626054 1.998410
+V 16 7932.731973 -13505.656780 26426.150913 -.001805
+P 17 16334.294518 21013.277816 -4130.416133 -94.211677
+V 17 1142.926448 5680.072483 30801.031101 .188523
+P 18 16806.392849 -15999.541230 -12631.667434 -118.722623
+V 18 -4402.905817 15809.804340 -26006.669118 -.037475
+P 19 -20111.304897 -8652.027830 -14917.630119 -11.823138
+V 19 18855.218112 -3881.789137 -23046.678027 -.008573
+P 20 -15397.650007 -1699.156409 21502.006606 -91.033227
+V 20 9501.969945 -25776.219415 4767.468172 .026913
+P 21 14161.429293 -6648.509574 -21503.166382 87.943257
+V 21 15880.038300 22191.811937 3154.036158 .010730
+P 22 12523.269569 -23300.174245 -2365.819416 16.248373
+V 22 1229.454550 4086.544237 -31533.859936 .000470
+P 23 -25915.484156 -301.537364 5976.801059 211.448380
+V 23 7215.254687 -3690.448041 30514.735248 .006012
+P 24 -862.215334 19888.856781 17772.497757 89.282215
+V 24 -14098.566526 -17060.584597 18832.580654 .029392
+P 25 -4736.177483 -21261.677211 15560.498645 84.285456
+V 25 14718.601978 12396.077743 21996.272781 .008063
+P 26 19698.501722 8379.582618 -16414.907478 316.643818
+V 26 -19683.632533 3550.069238 -21639.668217 .056039
+P 27 -14418.178180 6222.195548 -20942.440786 513.065000
+V 27 -18197.301905 -21038.335511 5682.841728 .063468
+P 28 -12084.373070 23164.362733 -3433.910705 46.473532
+V 28 -1135.756249 -5510.616930 -31534.869402 .001704
+P 29 15652.860420 10085.059471 -18732.201212 180.013817
+V 29 -23724.509186 5088.126632 -16710.534601 -.189293
+P 30 17052.402536 -9145.491127 17896.390534 445.143534
+V 30 -5988.532820 22630.358572 17142.103530 -.143054
+* 2005 1 19 7 45 .00000000
+P 1 -1802.194753 -14743.230852 22209.714094 383.695685
+V 1 27224.151241 -4967.675236 -1122.378104 .019277
+P 2 12483.847513 22038.299865 7827.093994 -43.004418
+V 2 -8966.076157 -5824.837894 29476.599607 .057951
+P 3 -8872.132379 -13811.088688 -21035.326876 77.878974
+V 3 25245.063989 -8165.417685 -5052.842018 .030200
+P 4 351.870297 19560.071675 17804.560724 442.911375
+V 4 -16333.371029 -15949.582109 18178.081775 -.206571
+P 5 14809.815934 5303.601132 21249.667352 73.005742
+V 5 -6527.345574 26652.987769 -1919.530586 .025031
+P 6 25784.311833 -6592.435913 -419.756988 -169.600726
+V 6 1577.432434 3277.184049 31083.014230 .883819
+P 7 -13972.802011 16124.995515 16138.260538 65.089938
+V 7 -19794.673254 2944.357113 -20762.142502 -.302237
+P 8 -10388.819907 11115.979566 -21929.754611 -18.981652
+V 8 -17923.234978 -20756.953541 -2398.677758 -.011686
+P 9 21274.032396 13903.049074 7818.904552 -24.745269
+V 9 5433.713956 9356.666242 -29272.044109 -.017980
+P 10 3518.061126 21411.933321 -15168.612407 57.480151
+V 10 -7879.202143 17644.641812 23451.384398 .006993
+P 11 -22702.881820 -11448.766745 7977.072646 186.282380
+V 11 -5002.369914 -9797.769835 -28022.119426 .036752
+P 13 -25874.029778 5781.691929 -808.752889 -13.869583
+V 13 -1346.115114 -1826.782349 32335.962890 .009696
+P 14 14744.729371 -14555.297925 16665.375811 -31.482576
+V 14 20850.418441 -2987.798167 -21145.806158 -.000837
+P 15 3566.965137 -17638.071634 -19638.348305 377.577348
+V 15 16129.222879 18602.164364 -14212.771282 .053026
+P 16 928.740232 -24692.088138 -9611.521572 1.998416
+V 16 6234.207892 -10936.959338 28518.690938 -.001795
+P 17 16365.115192 21391.763784 -1331.894660 -94.194852
+V 17 -520.795059 2760.964625 31302.505032 .188559
+P 18 16399.177718 -14447.803530 -14855.034576 -118.725754
+V 18 -4574.014279 18638.677665 -23329.743091 -.037464
+P 19 -18312.275324 -9059.977072 -16856.458338 -11.823895
+V 19 21050.710792 -5221.772102 -19975.702489 -.008567
+P 20 -14597.888479 -4056.593666 21743.616870 -91.030722
+V 20 8234.731583 -26526.596186 593.931891 .026914
+P 21 15625.283886 -4708.152711 -21035.998357 87.944367
+V 21 16587.912995 20864.965734 7210.226919 .010732
+P 22 12583.164274 -22787.535587 -5175.332519 16.248346
+V 22 170.043794 7317.776940 -30809.708606 .000493
+P 23 -25124.766465 -679.821059 8664.031702 211.448800
+V 23 10314.754493 -4774.668306 29115.693102 .006012
+P 24 -2225.246467 18318.165072 19312.024637 89.285675
+V 24 -16174.490335 -17759.747626 15332.347972 .029386
+P 25 -3309.751379 -20106.879433 17403.992295 84.285746
+V 25 16963.664624 13188.142996 18914.520018 .008044
+P 26 17834.978257 8767.849304 -18222.266385 316.648941
+V 26 -21652.641106 5112.079836 -18468.032313 .056035
+P 27 -16074.961160 4398.865269 -20244.617874 513.070654
+V 27 -18545.566312 -19425.471642 9797.522394 .063468
+P 28 -12144.789456 22519.857834 -6233.420235 46.473637
+V 28 -276.917251 -8816.034172 -30584.528701 .001685
+P 29 13452.243021 10618.276704 -20067.726604 179.996552
+V 29 -25088.356089 6777.073802 -12922.804739 -.189297
+P 30 16538.668039 -7018.118715 19277.046395 445.131048
+V 30 -5372.807638 24578.736747 13493.625372 -.143058
+* 2005 1 19 8 0 .00000000
+P 1 621.976286 -15256.047209 21921.261099 383.698772
+V 1 26558.252861 -6401.465124 -5278.947790 .019285
+P 2 11559.198824 21429.655944 10404.497274 -42.999185
+V 2 -11600.233543 -7630.711045 27715.066412 .057937
+P 3 -6599.438388 -14605.900962 -21310.174334 77.881132
+V 3 25177.547130 -9476.013589 -1044.902217 .030201
+P 4 -1212.487331 18100.086813 19280.891186 442.892956
+V 4 -18402.284536 -16412.287605 14583.061569 -.206572
+P 5 14283.527820 7698.131995 20892.161445 73.010042
+V 5 -5158.357936 26470.855686 -6012.387041 .025009
+P 6 25782.057245 -6258.941832 2373.330762 -169.521203
+V 6 -1605.560000 4195.110616 30897.162470 .883784
+P 7 -15644.922846 16400.182811 14138.841828 65.062938
+V 7 -17318.947573 3108.080148 -23608.861083 -.302245
+P 8 -12053.579479 9289.613940 -21959.299116 -18.982741
+V 8 -19011.656187 -19761.401096 1741.043417 -.011683
+P 9 21675.645711 14625.946601 5125.011333 -24.746810
+V 9 3428.469827 6737.326495 -30505.496669 -.017974
+P 10 2887.243365 22899.391290 -12932.235258 57.479278
+V 10 -6174.429394 15335.009149 26174.689372 .006993
+P 11 -23060.951428 -12230.238082 5394.294705 186.285591
+V 11 -2898.605156 -7596.124452 -29291.174932 .036753
+P 13 -25839.205735 5581.202068 2100.084776 -13.868805
+V 13 2100.612182 -2699.295226 32211.574557 .009701
+P 14 16503.731832 -14847.998943 14624.745373 -31.482614
+V 14 18186.116071 -3451.065683 -24136.903366 -.000831
+P 15 5103.062056 -15953.945019 -20746.522483 377.582281
+V 15 17973.458769 18741.025330 -10380.344669 .053021
+P 16 1423.616203 -25547.630103 -6969.108813 1.998233
+V 16 4814.900405 -8023.938860 30116.626615 -.001786
+P 17 16229.946324 21516.893419 1488.556475 -94.177649
+V 17 -2537.541122 62.921741 31288.279820 .188596
+P 18 15995.641612 -12652.189622 -16818.865360 -118.728819
+V 18 -4326.670783 21214.132043 -20247.857942 -.037455
+P 19 -16336.049159 -9597.628662 -18502.802102 -11.824654
+V 19 22784.345331 -6750.838451 -16556.453572 -.008562
+P 20 -13920.562278 -6458.215837 21608.620806 -91.028436
+V 20 6795.560778 -26753.308061 -3589.384926 .026916
+P 21 17135.282970 -2902.940125 -20209.443298 87.945387
+V 21 16897.252710 19200.974184 11129.269177 .010734
+P 22 12566.480422 -21982.211921 -7895.555816 16.248364
+V 22 -469.883255 10574.329376 -29552.159706 .000517
+P 23 -24067.549022 -1170.792561 11202.558936 211.449208
+V 23 13123.917029 -6185.538450 27214.710801 .006014
+P 24 -3769.297301 16707.023315 20524.815423 89.286742
+V 24 -18106.326752 -17962.131758 11582.056234 .029380
+P 25 -1686.911839 -18901.677966 18955.889022 84.286554
+V 25 19069.035146 13518.566396 15525.469430 .008026
+P 26 15815.256886 9304.643891 -19729.858895 316.654144
+V 26 -23147.819354 6836.717684 -14986.745276 .056031
+P 27 -17742.411408 2734.145888 -19184.818057 513.076512
+V 27 -18428.809623 -17528.378642 13714.676219 .063469
+P 28 -12146.987817 21578.234489 -8922.852081 46.473879
+V 28 156.912117 -12096.160268 -29092.084172 .001666
+P 29 11153.525641 11306.384470 -21051.223916 179.979746
+V 29 -25900.556349 8514.274799 -8899.173448 -.189301
+P 30 16094.255998 -4734.164956 20318.055928 445.118136
+V 30 -4458.873281 26099.388732 9605.731103 -.143062
+* 2005 1 19 8 15 .00000000
+P 1 2962.956370 -15889.377993 21262.109418 383.702653
+V 1 25381.772824 -7631.609972 -9348.689298 .019292
+P 2 10393.857389 20677.864604 12801.143286 -42.993977
+V 2 -14299.136906 -9000.748693 25465.079725 .057924
+P 3 -4354.563451 -15511.765482 -21222.625543 77.883967
+V 3 24630.916060 -10619.929048 2989.132616 .030203
+P 4 -2954.197661 16620.330308 20422.184639 442.874479
+V 4 -20259.966594 -16393.244982 10743.920354 -.206573
+P 5 13881.730047 10052.556394 20170.788332 73.013868
+V 5 -3775.397685 25762.714467 -9993.640265 .024986
+P 6 25500.562762 -5826.779065 5125.935249 -169.441680
+V 6 -4613.749420 5463.740221 30185.036737 .883749
+P 7 -17083.372562 16672.626036 11900.292840 65.035874
+V 7 -14615.464191 2878.209728 -26068.187879 -.302253
+P 8 -13799.232725 7570.094697 -21617.592660 -18.984040
+V 8 -19711.016471 -18394.006052 5839.946830 -.011681
+P 9 21880.699733 15122.311571 2343.706148 -24.747828
+V 9 1075.112616 4335.723689 -31212.886582 -.017968
+P 10 2399.117725 24159.681554 -10470.696573 57.479511
+V 10 -4720.793233 12607.459223 28447.311159 .006994
+P 11 -23215.308821 -12822.126309 2719.653572 186.288663
+V 11 -484.537432 -5596.041861 -30060.758002 .036756
+P 13 -25500.895649 5283.567955 4972.602068 -13.867824
+V 13 5381.697963 -3979.549855 31529.895553 .009706
+P 14 18010.121602 -15164.044109 12333.113050 -31.482571
+V 14 15251.807101 -3500.054976 -26715.564911 -.000825
+P 15 6795.019730 -14278.939919 -21501.874257 377.586891
+V 15 19579.011328 18405.344447 -6383.439437 .053015
+P 16 1805.575161 -26128.431579 -4206.189267 1.997996
+V 16 3733.491144 -4845.736893 31192.860966 -.001776
+P 17 15899.430105 21411.910977 4284.613277 -94.160918
+V 17 -4851.465163 -2341.489362 30761.541637 .188633
+P 18 15631.698468 -10639.458316 -18489.155893 -118.731734
+V 18 -3702.473662 23450.006184 -16816.400763 -.037450
+P 19 -14226.252789 -10278.305862 -19827.952965 -11.825390
+V 19 24013.260891 -8385.636492 -12848.476434 -.008556
+P 20 -13377.188925 -8855.876579 21099.421834 -91.025886
+V 20 5273.087868 -26436.893539 -7709.598872 .026917
+P 21 18653.566594 -1259.733092 -19038.800843 87.946607
+V 21 16766.372136 17278.686516 14846.088021 .010735
+P 22 12511.347673 -20886.356056 -10479.303788 16.248446
+V 22 -685.020393 13757.584279 -27780.995422 .000541
+P 23 -22773.450189 -1801.183104 13548.550899 211.449343
+V 23 15567.232692 -7861.477283 24843.045264 .006019
+P 24 -5477.450149 15099.159935 21391.185601 89.289064
+V 24 -19807.222847 -17692.447099 7644.866813 .029375
+P 25 115.972123 -17686.720213 20191.054064 84.286317
+V 25 20951.190775 13410.098739 11885.772852 .008008
+P 26 13683.597201 10000.728608 -20912.194816 316.658851
+V 26 -24136.011792 8636.860974 -11249.412778 .056027
+P 27 -19377.458013 1249.532180 -17783.995564 513.082336
+V 27 -17823.053307 -15438.925586 17364.743433 .063469
+P 28 -12129.221244 20346.375619 -11454.486592 46.474046
+V 28 168.849759 -15248.841688 -27083.021021 .001646
+P 29 8807.120127 12149.403825 -21664.632389 179.962821
+V 29 -26147.532935 10203.396496 -4710.819179 -.189304
+P 30 15742.905527 -2334.743302 21000.992399 445.105337
+V 30 -3317.432289 27136.786657 5548.424876 -.143067
+* 2005 1 19 8 30 .00000000
+P 1 5176.748137 -16621.196961 20243.138680 383.705143
+V 1 23740.893368 -8577.434846 -13263.778636 .019298
+P 2 8986.291250 19823.271160 14974.640740 -42.988783
+V 2 -16966.739384 -9913.072436 22763.016708 .057910
+P 3 -2179.293380 -16510.177216 -20773.386493 77.887080
+V 3 23637.453822 -11520.424181 6981.306323 .030204
+P 4 -4850.427739 15162.735223 21209.518258 442.856118
+V 4 -21822.849605 -15926.994073 6728.900323 -.206574
+P 5 13601.788667 12320.074257 19098.742773 73.015454
+V 5 -2464.548728 24543.623217 -13793.802089 .024963
+P 6 24959.254633 -5266.251597 7791.266432 -169.362324
+V 6 -7366.545604 7039.134217 28960.826232 .883715
+P 7 -18271.392222 16905.749272 9459.543441 65.008688
+V 7 -11768.317489 2231.874689 -28095.216040 -.302261
+P 8 -15588.316717 5987.637185 -20911.360374 -18.984358
+V 8 -19969.366529 -16728.769789 9830.537267 -.011678
+P 9 21860.591254 15415.099837 -477.355207 -24.749827
+V 9 -1563.690332 2224.418704 -31388.801004 -.017963
+P 10 2027.889125 25158.386497 -7826.505904 57.481038
+V 10 -3587.040199 9535.433841 30227.332834 .006995
+P 11 -23140.665848 -13245.444879 -1.276959 186.292008
+V 11 2179.252295 -3859.517136 -30318.461252 .036761
+P 13 -24878.296769 4853.977228 7759.073664 -13.866964
+V 13 8403.240687 -5622.770196 30302.126098 .009710
+P 14 19243.764067 -15464.657173 9829.667208 -31.482173
+V 14 12141.228280 -3104.610634 -28837.028447 -.000821
+P 15 8617.763923 -12653.932957 -21892.638444 377.591191
+V 15 20867.572695 17638.486979 -2289.784953 .053010
+P 16 2107.095042 -26414.575103 -1370.590896 1.997814
+V 16 3033.176951 -1491.504324 31729.517254 -.001765
+P 17 15349.795278 21106.061434 7010.561682 -94.143906
+V 17 -7394.633283 -4391.837420 29732.619134 .188669
+P 18 15338.798240 -8443.631529 -19837.169667 -118.735383
+V 18 -2758.658935 25271.580049 -13096.840583 -.037445
+P 19 -12029.566577 -11107.542896 -20808.805133 -11.826187
+V 19 24712.661597 -10037.015421 -8916.540648 -.008551
+P 20 -12971.172511 -11200.531113 20224.939733 -91.023443
+V 20 3758.365848 -25576.920677 -11695.002926 .026918
+P 21 20139.239290 202.053631 -17545.046230 87.947374
+V 21 16169.706347 15184.187730 18299.782623 .010735
+P 22 12455.548848 -19510.977328 -12881.586919 16.248476
+V 22 -488.360371 16769.971602 -25525.183099 .000564
+P 23 -21278.303388 -2591.595852 15661.364402 211.450011
+V 23 17582.530518 -9728.322101 22040.212707 .006025
+P 24 -7325.266588 13535.318278 21897.249264 89.291252
+V 24 -21197.421047 -16992.071784 3586.313686 .029371
+P 25 2075.288813 -16499.885080 21089.602194 84.286547
+V 25 22533.192912 12901.280957 8055.295961 .007990
+P 26 11486.490252 10858.794604 -21748.803427 316.664056
+V 26 -24600.938412 10420.808147 -7313.880600 .056024
+P 27 -20935.719744 -41.977511 -16069.066905 513.088105
+V 27 -16723.217316 -13253.369912 20684.983162 .063470
+P 28 -12128.612591 18840.237938 -13783.353141 46.474128
+V 28 -219.195100 -18175.268032 -24592.851532 .001627
+P 29 6463.738704 13138.667381 -21896.472357 179.945575
+V 29 -25836.219672 11748.371874 -432.573128 -.189308
+P 30 15501.548665 134.782231 21313.884450 445.092410
+V 30 -2028.508610 27652.321061 1394.910355 -.143071
+* 2005 1 19 8 45 .00000000
+P 1 7224.221999 -17422.670082 18881.239399 383.708272
+V 1 21697.275937 -9168.830065 -16958.633255 .019303
+P 2 7343.717275 18907.365693 16886.269188 -42.983412
+V 2 -19505.307377 -10364.215927 19653.980839 .057896
+P 3 -111.818932 -17576.072863 -19969.283959 77.888991
+V 3 22244.525726 -12108.994218 10863.738694 .030205
+P 4 -6871.240509 13765.373747 21630.228181 442.837336
+V 4 -23017.145702 -15064.462104 2608.627364 -.206575
+P 5 13433.480947 14456.049370 17695.314020 73.017100
+V 5 -1307.790223 22846.441695 -17347.128790 .024940
+P 6 24184.366695 -4552.249174 10324.188564 -169.282764
+V 6 -9793.700793 8863.659927 27247.032162 .883680
+P 7 -19200.015324 17061.674110 6857.288466 64.981592
+V 7 -8866.059147 1163.160136 -29651.339499 -.302269
+P 8 -17379.377643 4565.364434 -19853.302511 -18.985563
+V 8 -19750.241279 -14848.785785 13647.682325 -.011676
+P 9 21592.876446 15533.198643 -3290.423399 -24.750744
+V 9 -4414.176112 462.308124 -31036.505645 -.017957
+P 10 1742.211350 25868.314819 -5045.561214 57.479873
+V 10 -2827.348271 6205.578205 31481.514964 .006996
+P 11 -22817.674243 -13526.256660 -2722.185922 186.295436
+V 11 5021.744510 -2436.424493 -30060.326893 .036764
+P 13 -23998.622037 4262.401886 10411.218109 -13.866295
+V 13 11081.577573 -7567.753744 28549.110373 .009716
+P 14 20193.220098 -15709.169949 7157.284231 -31.482520
+V 14 8953.270403 -2253.007370 -30464.224108 -.000819
+P 15 10539.628161 -11115.213225 -21913.189004 377.596065
+V 15 21771.410980 16498.670508 1832.099866 .053005
+P 16 2363.780247 -26394.492498 1488.674951 1.997543
+V 16 2740.018779 1942.954015 31718.204046 -.001754
+P 17 14563.841344 20633.409971 9621.929498 -94.126794
+V 17 -10089.382008 -6041.715200 28218.738507 .188706
+P 18 15142.627082 -6104.831630 -20839.930312 -118.738662
+V 18 -1565.614085 26618.439324 -9155.499522 -.037439
+P 19 -9794.053376 -12082.724643 -21428.273236 -11.826957
+V 19 24876.708274 -11613.645709 -4829.459524 -.008545
+P 20 -12697.752368 -13443.957040 19000.446539 -91.021189
+V 20 2341.163672 -24192.043469 -15476.353870 .026920
+P 21 21549.867050 1470.953728 -15754.416182 87.948527
+V 21 15098.731210 13007.458089 21434.461821 .010736
+P 22 12434.889656 -17875.679377 -15060.421981 16.248634
+V 22 89.296315 19518.689393 -22822.480823 .000588
+P 23 -19622.847874 -3555.498402 17504.262678 211.450648
+V 23 19123.304277 -11702.180186 18853.394723 .006031
+P 24 -9281.560910 12051.831448 22035.088972 89.294201
+V 24 -22207.200769 -15917.296174 -526.664475 .029366
+P 25 4160.902176 -15374.931143 21637.149841 84.287707
+V 25 23747.423539 12044.821615 4096.292381 .007973
+P 26 9271.106774 11873.196572 -22224.589250 316.668973
+V 26 -24543.835237 12095.566169 -3241.650018 .056020
+P 27 -22373.209676 -1136.092081 -14072.248981 513.093984
+V 27 -15143.068178 -11068.274848 23620.496199 .063470
+P 28 -12179.499512 17084.371025 -15868.103913 46.474373
+V 28 -967.461485 -20783.939701 -21666.436499 .001608
+P 29 4172.552190 14257.025691 -21742.108342 179.927947
+V 29 -24993.825843 13057.445886 3858.557164 -.189312
+P 30 15379.623017 2626.395099 21251.436971 445.079739
+V 30 -678.026059 27625.852353 -2779.909004 -.143075
+* 2005 1 19 9 0 .00000000
+P 1 9072.412280 -18259.235299 17199.065875 383.710719
+V 1 19325.817760 -9349.045296 -20370.917900 .019308
+P 2 5482.079215 17971.111761 18501.735887 -42.978335
+V 2 -21819.293134 -10369.313913 16191.132652 .057882
+P 3 1814.547949 -18678.701074 -18823.209223 77.891917
+V 3 20512.851385 -12328.183921 14569.729885 .030207
+P 4 -8980.606729 12461.080272 21678.064867 442.818532
+V 4 -23781.694305 -13870.692949 -1545.200589 -.206577
+P 5 13359.516762 16419.556191 15985.496188 73.020003
+V 5 -379.665290 20720.491637 -20592.770766 .024917
+P 6 23207.896924 -3665.382364 12681.947339 -169.203161
+V 6 -11837.736110 10868.230936 25073.985516 .883645
+P 7 -19868.325636 17102.779023 4137.379845 64.954213
+V 7 -5998.481818 -316.258539 -30705.152894 -.302276
+P 8 -19128.429055 3318.630803 -18461.841554 -18.987257
+V 8 -19033.998502 -12843.048778 17229.495097 -.011673
+P 9 21062.144998 15510.110922 -6048.416663 -24.751259
+V 9 -7394.296576 -907.185079 -30167.486121 -.017952
+P 10 1506.606209 26270.547422 -2176.332328 57.480947
+V 10 -2479.032667 2714.491498 32186.056416 .006997
+P 11 -22233.752500 -13694.498560 -5396.788228 186.298682
+V 11 7964.040258 -1362.722562 -29290.883633 .036768
+P 13 -22896.033359 3484.975102 12883.051790 -13.865489
+V 13 13346.435057 -9739.232385 26300.995313 .009722
+P 14 20856.043974 -15856.714014 4361.804654 -31.482435
+V 14 5788.268044 -952.561677 -31568.454171 -.000815
+P 15 12523.421539 -9693.250508 -21564.062963 377.601716
+V 15 22235.870139 15056.557212 5913.946172 .052999
+P 16 2612.770777 -26065.402980 4322.272463 1.997325
+V 16 2861.979272 5358.780822 31160.102211 -.001741
+P 17 13531.696951 20031.512103 12076.095567 -94.109540
+V 17 -12850.966577 -7260.163750 26243.762937 .188743
+P 18 15062.055355 -3667.886815 -21480.600200 -118.741970
+V 18 -203.877399 27446.749151 -5062.250512 -.037434
+P 19 -7567.440289 -13193.057710 -21675.599979 -11.827635
+V 19 24518.662037 -13025.737346 -658.827833 -.008539
+P 20 -12544.283679 -15540.446656 17447.288714 -91.018642
+V 20 1106.321041 -22319.314672 -18988.108029 .026922
+P 21 22843.028669 2543.646308 -13697.924669 87.949669
+V 21 13562.250587 10838.957764 24199.966812 .010735
+P 22 12481.645239 -16008.068502 -16977.598614 16.248555
+V 22 1000.553749 21919.278466 -19718.861018 .000612
+P 23 -17851.235977 -4698.491170 19045.072971 211.451388
+V 23 20160.450476 -13692.689357 15336.696634 .006035
+P 24 -11309.422017 10679.378325 21802.839303 89.297684
+V 24 -22779.443497 -14537.065662 -4626.673436 .029361
+P 25 6337.101499 -14340.312925 21824.992444 84.288580
+V 25 24537.987684 10905.495572 72.571844 .007955
+P 26 7083.713151 13029.988914 -22330.132177 316.674216
+V 26 -23983.526281 13570.247008 902.776394 .056016
+P 27 -23647.999458 -2037.076356 -11830.318133 513.099813
+V 27 -13114.385205 -8976.574518 26124.959524 .063470
+P 28 -12311.899503 15111.091056 -17671.815631 46.474415
+V 28 -2020.054702 -22994.344437 -18357.066404 .001589
+P 29 1979.407688 15479.412820 -21203.875160 179.910638
+V 29 -23666.752647 14047.081498 8084.948627 -.189315
+P 30 15378.704380 5091.129661 20815.115254 445.067329
+V 30 645.854303 27056.493178 -6900.960899 -.143080
+* 2005 1 19 9 15 .00000000
+P 1 10695.588824 -19091.913375 15224.699374 383.711237
+V 1 16711.919258 -9077.014965 -23442.530715 .019312
+P 2 3425.676574 17053.292576 19791.862838 -42.972970
+V 2 -23819.194267 -9961.522931 12434.808523 .057867
+P 3 3572.478546 -19782.729859 -17353.961057 77.894616
+V 3 18514.257556 -12134.025947 18034.892295 .030209
+P 4 -11137.650175 11276.302654 21353.231746 442.800098
+V 4 -24070.284008 -12422.065817 -5661.090678 -.206578
+P 5 13356.345562 18174.777344 13999.500800 73.022684
+V 5 255.713232 18229.590613 -23475.794056 .024894
+P 6 22066.367342 -2592.896960 14824.849258 -169.123614
+V 6 -13455.873265 12974.953984 22479.269808 .883611
+P 7 -20283.418783 16993.286402 1346.140025 64.927067
+V 7 -3253.271699 -2177.142418 -31233.295579 -.302284
+P 8 -20790.503604 2254.641016 -16760.792986 -18.989681
+V 8 -17818.553744 -10803.100275 20518.148029 -.011670
+P 9 20260.631029 15382.504064 -8705.637011 -24.753667
+V 9 -10416.738815 -1857.311529 -28800.914656 -.017947
+P 10 1283.059147 26355.170119 731.015748 57.481226
+V 10 -2560.934639 -834.959414 32327.165793 .006999
+P 11 -21383.668518 -13782.667899 -7979.585549 186.301767
+V 11 10922.212607 -659.185852 -28023.062364 .036773
+P 13 -21610.314007 2505.129030 15131.704078 -13.864663
+V 13 15143.555574 -12050.805301 23596.710164 .009730
+P 14 21238.743391 -15867.934346 1491.254097 -31.482440
+V 14 2744.224467 770.495056 -32129.937756 -.000813
+P 15 14527.699624 -8411.699213 -20851.892985 377.606766
+V 15 22221.372325 13392.440587 9888.724701 .052993
+P 16 2891.097077 -25433.421426 7081.400180 1.997251
+V 16 3388.681797 8657.770055 30065.876235 -.001729
+P 17 12251.329677 19339.977775 14332.874840 -94.092914
+V 17 -15590.424378 -8032.600003 23837.918031 .188779
+P 18 15108.373961 -1180.761730 -21748.739799 -118.745065
+V 18 1239.245241 27730.852252 -889.175307 -.037431
+P 19 -5395.421510 -14419.874856 -21546.547515 -11.828267
+V 19 23670.273792 -14188.704118 3522.295141 -.008535
+P 20 -12490.837904 -17448.404956 15592.501334 -91.016369
+V 20 130.310508 -20012.784388 -22169.581327 .026924
+P 21 23977.864628 3424.846670 -11410.818610 87.950280
+V 21 11586.057010 8766.256814 26552.484247 .010735
+P 22 12623.146954 -13942.852433 -18599.386009 16.248672
+V 22 2183.315476 23898.903208 -16267.756828 .000636
+P 23 -16009.413271 -6017.883102 20256.771023 211.451896
+V 23 20683.343644 -15606.564877 11550.266323 .006038
+P 24 -13367.446243 9441.962230 21204.685950 89.301236
+V 24 -22871.743167 -12930.304234 -8646.790992 .029355
+P 25 8563.749505 -13418.204191 21650.207723 84.288901
+V 25 24862.707408 9557.657878 -3951.315320 .007938
+P 26 4968.107325 14307.268747 -22061.925096 316.679574
+V 26 -22955.905774 14759.472871 5052.631553 .056013
+P 27 -24721.776327 -2757.258539 -9383.815719 513.105872
+V 27 -10685.426948 -7063.950671 28161.083287 .063470
+P 28 -12550.161904 12959.343183 -19162.698778 46.474757
+V 28 -3307.366974 -24740.173456 -14725.329718 .001570
+P 29 -74.819294 16773.750497 -20291.061385 179.893449
+V 29 -21918.699153 14645.548935 12169.964333 -.189318
+P 30 15492.473735 7480.809132 20013.091612 445.054805
+V 30 1856.474200 25962.591454 -10894.522439 -.143084
+* 2005 1 19 9 30 .00000000
+P 1 12076.063962 -19878.803562 12991.223853 383.714395
+V 1 13948.351968 -8329.126265 -26120.558696 .019317
+P 2 1206.453033 16188.943822 20733.185366 -42.967811
+V 2 -25425.231546 -9190.679255 8451.438767 .057853
+P 3 5141.508814 -20849.552656 -15585.986221 77.898107
+V 3 16328.984036 -11498.001455 21198.292851 .030211
+P 4 -13298.075172 10230.222258 20662.311391 442.781332
+V 4 -23853.371588 -10803.125245 -9668.974472 -.206579
+P 5 13395.213295 19692.199226 11772.183727 73.022636
+V 5 547.205904 15449.548286 -25948.058639 .024871
+P 6 20799.434654 -1329.335609 16716.885270 -169.044235
+V 6 -14621.411953 15100.082132 19507.062197 .883576
+P 7 -20460.061267 16700.816142 -1468.396831 64.899951
+V 7 -712.653702 -4373.408752 -31221.206611 -.302292
+P 8 -22321.243144 1372.374235 -14778.965844 -18.991016
+V 8 -16119.497245 -8819.623204 23460.619780 -.011666
+P 9 19188.547014 15188.678292 -11218.436066 -24.755662
+V 9 -13392.045730 -2378.578843 -26963.069097 -.017942
+P 10 1032.726080 26121.660550 3625.541545 57.482206
+V 10 -3072.571718 -4337.611031 31901.421018 .007000
+P 11 -20269.856300 -13824.420036 -10426.614242 186.304832
+V 11 13810.347561 -330.706872 -26277.992586 .036780
+P 13 -20185.332282 1314.447195 17118.177908 -13.863738
+V 13 16436.693724 -14408.327538 20483.276385 .009738
+P 14 21356.402229 -15706.658154 -1404.978250 -31.482551
+V 14 -86.883077 2871.882895 -32138.207248 -.000811
+P 15 16508.190972 -7286.669832 -19789.253302 377.610286
+V 15 21704.865757 11593.131203 13691.581131 .052988
+P 16 3234.045896 -24513.334196 9718.634148 1.997096
+V 16 4291.894313 11746.026884 28455.416216 -.001717
+P 17 10728.791339 18598.975194 16355.078041 -94.075858
+V 17 -18217.575618 -8361.225072 21037.500588 .188816
+P 18 15284.846978 1307.123194 -21640.445689 -118.748155
+V 18 2673.301121 27464.137433 3290.784800 -.037430
+P 19 -3320.049206 -15737.261132 -21043.468890 -11.828918
+V 19 22380.445226 -15026.624260 7640.728996 -.008531
+P 20 -12511.098108 -19131.791444 13468.322105 -91.013937
+V 20 -521.856454 -17341.442501 -24966.011597 .026927
+P 21 24916.568150 4126.900091 -8931.983128 87.951279
+V 21 9211.992224 6870.823851 28455.054859 .010736
+P 22 12880.567944 -11720.662304 -19897.164142 16.248780
+V 22 3563.293316 25399.199912 -12529.141609 .000659
+P 23 -14143.433761 -7502.594412 21117.980414 211.452535
+V 23 20700.199169 -17351.296193 7559.285351 .006041
+P 24 -15411.137216 8356.145937 20250.782333 89.304202
+V 24 -22457.998500 -11182.910686 -12521.472118 .029349
+P 25 10797.589388 -12623.759452 21115.685999 84.289418
+V 25 24694.651443 8082.450158 -7910.884218 .007920
+P 26 2964.128170 15675.821794 -21422.541057 316.684545
+V 26 -21512.823615 15586.683301 9139.714537 .056009
+P 27 -25561.234567 -3316.230728 -6776.224202 513.111403
+V 27 -7918.805174 -5405.654556 29700.813643 .063471
+P 28 -12911.865311 10673.300767 -20314.696716 46.475160
+V 28 -4749.089261 -25971.930846 -10837.804800 .001548
+P 29 -1955.668559 18102.154803 -19019.748565 179.876218
+V 29 -19828.035396 14796.033489 16039.549212 -.189321
+P 30 15707.018111 9749.746198 18860.057521 445.041795
+V 30 2872.330100 24380.921954 -14689.683388 -.143089
+* 2005 1 19 9 45 .00000000
+P 1 13204.703509 -20576.710517 10536.217551 383.716234
+V 1 11131.832321 -7100.357306 -28358.189446 .019321
+P 2 -1137.031679 15407.940143 21308.445035 -42.962684
+V 2 -26570.678243 -8121.236218 4312.285466 .057839
+P 3 6508.661622 -21838.745999 -13549.017458 77.898878
+V 3 14042.634718 -10408.434999 24003.584922 .030212
+P 4 -15415.719700 9334.171872 19618.085245 442.763054
+V 4 -23119.147322 -9103.154124 -13501.351053 -.206580
+P 5 13443.424376 20949.562108 9342.399933 73.024367
+V 5 458.646543 12465.234029 -27968.943553 .024849
+P 6 19448.403416 123.076108 18326.291897 -168.964806
+V 6 -15324.513350 17157.166497 16207.405001 .883542
+P 7 -20420.052218 16197.842950 -4257.306241 64.872697
+V 7 1549.836558 -6843.549333 -30663.754532 -.302300
+P 8 -23678.471631 662.812714 -12549.698989 -18.993358
+V 8 -13969.596723 -6979.096932 26009.377380 -.011662
+P 9 17854.135467 14967.010216 -13545.828145 -24.757768
+V 9 -16231.734143 -2478.730510 -24686.725102 -.017936
+P 10 717.680611 25578.911161 6456.468049 57.482351
+V 10 -3994.094174 -7690.090604 30915.901173 .007002
+P 11 -18902.454518 -13853.129868 -12696.169680 186.308169
+V 11 16543.665243 -366.193745 -24084.682105 .036789
+P 13 -18667.357044 -86.803561 18808.041118 -13.862745
+V 13 17208.900687 -16713.618564 17014.961728 .009745
+P 14 21231.979840 -15341.453414 -4276.989716 -31.482566
+V 14 -2622.573717 5290.851166 -31592.345359 -.000809
+P 15 18419.327507 -6326.290144 -18394.423968 377.614501
+V 15 20680.680015 9748.651237 17260.715706 .052983
+P 16 3673.601462 -23328.052885 12188.740586 1.996949
+V 16 5526.712602 14537.441667 26357.420374 -.001705
+P 17 8978.190058 17847.721826 18109.044113 -94.058799
+V 17 -20644.081121 -8264.900116 17884.563863 .188853
+P 18 15586.595191 3746.616794 -21158.367946 -118.751571
+V 18 4008.398030 26659.156409 7405.155549 -.037430
+P 19 -1378.275699 -17112.976985 -20175.258463 -11.829817
+V 19 20713.217226 -15475.356512 11624.513414 -.008528
+P 20 -12573.512633 -20561.350301 11111.614926 -91.011207
+V 20 -799.257675 -14386.589141 -27329.503583 .026928
+P 21 25625.766299 4669.097665 -6303.305507 87.952445
+V 21 6496.451542 5225.077265 29877.983678 .010737
+P 22 13267.958599 -9386.642426 -20847.965239 16.248891
+V 22 5057.033489 26378.569645 -8568.457340 .000683
+P 23 -12297.775408 -9133.393336 21613.375916 211.453011
+V 23 20237.701694 -18838.848273 3432.847775 .006044
+P 24 -17394.423865 7430.568042 18957.085768 89.307079
+V 24 -21529.439447 -9384.526877 -16187.431734 .029343
+P 25 12993.666918 -11964.637509 20230.088244 84.290663
+V 25 24023.156616 6564.785986 -11742.516486 .007903
+P 26 1106.291731 17100.057283 -20420.721141 316.689582
+V 26 -19720.383601 15987.231151 13095.323185 .056005
+P 27 -26139.253542 -3739.787293 -4053.135238 513.117301
+V 27 -4888.889519 -4063.873837 30725.313728 .063471
+P 28 -13407.007474 8300.761517 -21107.960746 46.475308
+V 28 -6257.673760 -26658.821130 -6765.618683 .001526
+P 29 -3636.273693 19422.395429 -17412.508886 179.859694
+V 29 -17484.556847 14459.118794 19623.771931 -.189324
+P 30 16001.450157 11856.336800 17376.908019 445.029020
+V 30 3620.478451 22365.131158 -18219.715626 -.143094
+* 2005 1 19 10 0 .00000000
+P 1 14081.120566 -21142.843241 7901.165056 383.717663
+V 1 8359.419720 -5404.732378 -30115.563847 .019326
+P 2 -3560.907962 14733.796885 21506.961912 -42.957554
+V 2 -27204.685324 -6829.559265 92.029291 .057826
+P 3 7668.782681 -22709.624578 -11277.610974 77.902775
+V 3 11742.883606 -8871.253987 26400.105722 .030215
+P 4 -17444.173955 8591.368520 18239.254446 442.744613
+V 4 -21873.922430 -7412.625539 -17094.339971 -.206581
+P 5 13465.756558 21932.531585 6752.300059 73.025006
+V 5 -29.768662 9367.338370 -29505.913735 .024828
+P 6 18054.696218 1754.332022 19626.044068 -168.885297
+V 6 -15572.370242 19060.294974 12635.418077 .883508
+P 7 -20191.305559 15462.995366 -6971.644431 64.845648
+V 7 3472.314437 -9512.722935 -29565.704635 -.302308
+P 8 -24823.696364 109.464751 -10110.338811 -18.995256
+V 8 -11417.707112 -5360.620014 28122.995682 -.011657
+P 9 16273.445019 14754.424590 -15650.045920 -24.758485
+V 9 -18851.311664 -2182.146364 -22010.539673 -.017931
+P 10 302.628461 24744.885691 9174.124906 57.483933
+V 10 -5287.055531 -10794.843568 29388.082539 .007003
+P 11 -17299.064757 -13900.471154 -14749.496603 186.311649
+V 11 19041.609355 -739.067608 -21479.583095 .036796
+P 13 -17103.291730 -1689.483757 20172.035297 -13.861809
+V 13 17463.045195 -18868.341633 13252.296199 .009751
+P 14 20895.313261 -14747.015388 -7075.228088 -31.482499
+V 14 -4792.972089 7952.411321 -30501.054586 -.000807
+P 15 20215.824406 -5530.568306 -16691.078457 377.619306
+V 15 19160.769247 7948.849763 20538.207126 .052978
+P 16 4237.022743 -21907.768807 14449.444278 1.996838
+V 16 7033.390249 16956.845332 23808.830818 -.001693
+P 17 7021.387636 17123.010675 19565.142922 -94.041808
+V 17 -22786.475075 -7778.486482 14426.568965 .188889
+P 18 16000.811535 6090.539142 -20311.610180 -118.754719
+V 18 5158.848001 25346.998273 11383.206896 -.037430
+P 19 399.296080 -18509.641508 -18957.182789 -11.830406
+V 19 18745.169431 -15485.185438 15404.218852 -.008524
+P 20 -12642.660447 -21715.582080 8563.214305 -91.009158
+V 20 -667.120768 -11238.739742 -29219.840010 .026931
+P 21 26077.743602 5076.742087 -3569.006434 87.953514
+V 21 3508.391169 3889.791501 30799.157948 .010736
+P 22 13791.573196 -6988.862579 -21434.912758 16.248993
+V 22 6575.339096 26813.814545 -4455.413007 .000706
+P 23 -10513.721977 -10883.460661 21733.981578 211.453528
+V 23 19339.906497 -19989.219398 -757.254423 .006048
+P 24 -19271.244086 6665.756542 17345.115172 89.310243
+V 24 -20095.055900 -7625.182783 -19584.505270 .029337
+P 25 15106.820392 -11440.802853 19007.732063 84.290869
+V 25 22854.309749 5090.206675 -15384.261182 .007886
+P 26 -577.393939 18539.207608 -19071.373655 316.694731
+V 26 -17656.683055 15911.150614 16851.291829 .056001
+P 27 -26435.825906 -4058.653418 -1261.428066 513.123442
+V 27 -1678.873053 -3085.710747 31224.760303 .063471
+P 28 -14037.521118 5891.409306 -21529.191246 46.475300
+V 28 -7742.085843 -26789.837135 -2582.920340 .001504
+P 29 -5098.225945 20689.545948 -15497.968246 179.843139
+V 29 -14985.765386 13614.532234 22858.266513 -.189327
+P 30 16348.817625 13764.483173 15590.308354 445.016177
+V 30 4039.550382 19983.513628 -21423.315257 -.143098
+* 2005 1 19 10 15 .00000000
+P 1 14713.542033 -21536.523018 5130.795947 383.720230
+V 1 5724.867510 -3275.063557 -31360.552206 .019330
+P 2 -6017.528933 14182.740113 21324.874228 -42.952507
+V 2 -27294.466945 -5400.690674 -4132.757487 .057814
+P 3 8624.573601 -23422.834185 -8810.587710 77.905918
+V 3 9516.060124 -6910.065480 28343.912109 .030217
+P 4 -19338.403242 7996.966007 16550.070318 442.726195
+V 4 -20141.840123 -5819.667978 -20388.634479 -.206582
+P 5 13425.971692 22635.069661 4046.583146 73.026641
+V 5 -920.744145 6248.958689 -30534.927908 .024808
+P 6 16658.336217 3546.838891 20594.274735 -168.805525
+V 6 -15388.764245 20727.305728 8850.460873 .883473
+P 7 -19806.682811 14482.138157 -9563.352769 64.818516
+V 7 5007.103339 -12295.464290 -27941.987817 -.302316
+P 8 -25723.485759 -310.837803 -7501.663966 -18.996150
+V 8 -8527.124668 -4033.002129 29766.715072 -.011651
+P 9 14469.841996 14584.943737 -17497.042919 -24.759647
+V 9 -21173.111501 -1528.706785 -18978.434832 -.017926
+P 10 -243.483101 23645.922471 11730.870646 57.483641
+V 10 -6895.966996 -13563.925907 27345.499252 .007005
+P 11 -15484.237318 -13995.067062 -16551.435452 186.314973
+V 11 21230.793678 -1408.343508 -18506.048205 .036803
+P 13 -15538.896716 -3475.742914 21186.590623 -13.860702
+V 13 17221.551064 -20777.897752 9260.970747 .009756
+P 14 20381.860591 -13905.325737 -9751.354054 -31.482598
+V 14 -6543.432110 10770.141765 -28882.554090 -.000807
+P 15 21854.254216 -4891.559945 -14707.899593 377.624735
+V 15 17174.341914 6280.050311 23470.781389 .052974
+P 16 4945.611704 -20288.842329 16462.140128 1.996707
+V 16 8739.738442 18942.728095 20854.137552 -.001682
+P 17 4887.428246 16457.819834 20698.244552 -94.025147
+V 17 -24569.088711 -6951.657250 10715.988965 .188926
+P 18 16507.296207 8295.295173 -19115.517710 -118.757973
+V 18 6046.604461 23575.960432 15157.157930 -.037432
+P 19 1989.405565 -19886.128510 -17410.595932 -11.831065
+V 19 16562.338601 -15022.890023 18914.199565 -.008522
+P 20 -12680.773347 -22581.420524 5867.203329 -91.006960
+V 20 -108.237541 -7994.189037 -30605.145300 .026936
+P 21 26251.466630 5379.999010 -774.946560 87.954578
+V 21 326.910611 2911.937852 31204.278302 .010735
+P 22 14449.517196 -4576.615473 -21647.547337 16.249201
+V 22 8026.948687 26701.043556 -262.678760 .000728
+P 23 -8827.875195 -12719.262530 21477.356130 211.454207
+V 23 18066.451146 -20733.710494 -4937.817132 .006051
+P 24 -20997.139458 6054.245847 15441.632343 89.314734
+V 24 -18181.413374 -5991.926482 -22656.486488 .029330
+P 25 17093.188938 -11044.612304 17468.405458 84.291480
+V 25 21210.871768 3741.702745 -18776.639491 .007869
+P 26 -2066.387175 19948.757950 -17395.475303 316.699798
+V 26 -15409.044006 15325.480066 20341.130826 .055998
+P 27 -26438.711346 -4307.060584 1551.526989 513.129115
+V 27 1622.371235 -2501.805903 31197.995379 .063471
+P 28 -14797.134001 3495.015609 -21571.839386 46.475766
+V 28 -9111.672900 -26374.011063 1634.682559 .001481
+P 29 -6332.088322 21857.754930 -13310.245710 179.826012
+V 29 -12432.844890 12262.075279 25685.531084 -.189331
+P 30 16717.261920 15444.790585 13532.155619 445.003278
+V 30 4082.253581 17316.226567 -24245.690137 -.143103
+* 2005 1 19 10 30 .00000000
+P 1 15118.349635 -21720.835662 2272.357721 383.721904
+V 1 3315.061637 -761.972657 -32069.434751 .019334
+P 2 -8457.166772 13763.086475 20765.237095 -42.947158
+V 2 -26826.739080 -3924.724552 -8285.208172 .057802
+P 3 9386.317224 -23941.919966 -6190.385248 77.909273
+V 3 7443.748277 -4565.529349 29798.725797 .030218
+P 4 -21056.315290 7538.420131 14579.883780 442.707609
+V 4 -17963.935721 -4406.672569 -23330.349145 -.206583
+P 5 13288.362820 23059.495612 1271.719705 73.029043
+V 5 -2199.814967 3202.141952 -31040.690630 .024788
+P 6 15296.496432 5475.893872 21214.617092 -168.725680
+V 6 -14813.029755 22082.865654 4915.251498 .883439
+P 7 -19302.618874 13249.186456 -11986.176230 64.791690
+V 7 6122.758001 -15098.918373 -25817.739275 -.302324
+P 8 -26350.675910 -626.895952 -4767.262709 -18.996074
+V 8 -5373.438240 -3052.218879 30912.936840 -.011646
+P 9 12473.277870 14488.362477 -19056.939723 -24.761098
+V 9 -23128.865577 -572.169026 -15638.987582 -.017921
+P 10 -946.028617 22315.713241 14081.974072 57.483064
+V 10 -8750.568892 -15922.396648 24825.177597 .007007
+P 11 -13488.702311 -14161.262947 -18071.014957 186.318283
+V 11 23047.698625 -2320.258117 -15213.681111 .036810
+P 13 -14017.070204 -5419.526441 21834.237172 -13.859743
+V 13 16525.363630 -22355.177704 5110.642046 .009760
+P 14 19731.234105 -12806.537385 -12259.086535 -31.482616
+V 14 -7836.569360 13649.457840 -26764.302658 -.000806
+P 15 23294.560574 -4393.831428 -12478.128739 377.628168
+V 15 14766.893156 4821.839488 26010.526216 .052969
+P 16 5813.719603 -18512.470961 18192.536763 1.996638
+V 16 10563.998027 20449.422284 17544.567229 -.001670
+P 17 2611.712108 15880.052139 21488.150272 -94.008265
+V 17 -25926.779307 -5847.198834 6809.850035 .188964
+P 18 17079.286879 10322.339385 -17591.361276 -118.761516
+V 18 6604.362448 21409.581260 18663.290804 -.037434
+P 19 3376.833222 -21199.119667 -15562.545552 -11.831717
+V 19 14256.782590 -14073.154174 22093.763676 -.008520
+P 20 -12649.354348 -23154.589885 3070.138908 -91.004633
+V 20 876.319385 -4751.370744 -31462.392110 .026942
+P 21 26133.374938 5612.576130 2032.084005 87.955473
+V 21 -2961.507064 2323.025081 31087.007548 .010733
+P 22 15231.731413 -2198.667298 -21482.031619 16.249359
+V 22 9322.317551 26055.804764 3935.494467 .000749
+P 23 -7270.856509 -14601.699384 20847.660375 211.454913
+V 23 16490.143840 -21017.770610 -9035.556118 .006053
+P 24 -22530.805779 5580.993678 13278.248927 89.317099
+V 24 -15831.857282 -4565.548480 -25351.940531 .029323
+P 25 18911.688658 -10761.185610 15637.107896 84.289986
+V 25 19131.639339 2596.598905 -21863.455532 .007852
+P 26 -3348.301681 21282.060654 -15419.865610 316.705016
+V 26 -13070.809478 14216.026662 23501.256550 .055994
+P 27 -26143.802684 -4521.227583 4338.628565 513.135240
+V 27 4923.518897 -2325.614359 30652.071095 .063471
+P 28 -15671.575900 1159.655993 -21236.168320 46.475859
+V 28 -10279.976111 -25439.832949 5811.675618 .001457
+P 29 -7337.540550 22882.062556 -10888.283905 179.809402
+V 29 -9926.513355 10421.701750 28056.047158 -.189334
+P 30 17071.375052 16875.492863 11238.950247 444.990616
+V 30 3717.265830 14452.071120 -26639.472831 -.143107
+* 2005 1 19 10 45 .00000000
+P 1 15319.309496 -21664.164023 -625.167446 383.723386
+V 1 1206.683593 2067.785867 -32227.466300 .019338
+P 2 -10829.802098 13474.960851 19837.976118 -42.942098
+V 2 -25808.339403 -2492.954274 -12289.781035 .057791
+P 3 9971.302718 -24234.806779 -3462.329848 77.912917
+V 3 5599.539107 -1894.035846 30736.758220 .030219
+P 4 -22560.215382 7196.148356 12362.623356 442.689106
+V 4 -15396.592848 -3247.161207 -25871.758983 -.206584
+P 5 13019.277855 23216.238665 -1524.841110 73.030170
+V 5 -3835.933259 314.514466 -31016.754745 .024769
+P 6 14002.167628 7510.429028 21476.465810 -168.646462
+V 6 -13898.462548 23061.309184 894.948936 .883405
+P 7 -18717.594002 11766.609695 -14196.574044 64.764407
+V 7 6805.442107 -17826.476652 -23228.082371 -.302332
+P 8 -26685.363611 -871.890427 -1952.868542 -18.996628
+V 8 -2041.944841 -2459.313380 31541.653705 -.011641
+P 9 10319.339682 14489.088551 -20304.415684 -24.762417
+V 9 -24661.950953 621.885757 -12044.826952 -.017916
+P 10 -1823.500850 20794.000183 16186.435171 57.483432
+V 10 -10768.718849 -17811.164685 21872.861085 .007010
+P 11 -11348.373054 -14418.068209 -19281.981722 186.321510
+V 11 24441.018615 -3410.388277 -11657.586745 .036818
+P 13 -12576.255299 -7487.408140 22103.905375 -13.858774
+V 13 15432.189113 -23524.021965 873.668438 .009763
+P 14 18985.580305 -11449.548831 -14555.015342 -31.482670
+V 14 -8653.618868 16491.220423 -24182.550304 -.000805
+P 15 24501.459139 -4015.201890 -10039.053136 377.631605
+V 15 11998.672635 3644.100472 28115.550874 .052966
+P 16 6848.028801 -16623.188109 19611.222594 1.996619
+V 16 12418.069960 21448.672002 13937.174065 -.001660
+P 17 234.935562 15411.449481 21919.978730 -93.990907
+V 17 -26807.378140 -4538.834136 2769.192643 .189001
+P 18 17684.548454 12139.437976 -15765.925151 -118.764571
+V 18 6778.208789 18924.122203 21842.959020 -.037436
+P 19 4554.779243 -22404.752883 -13445.278303 -11.832446
+V 19 11922.930188 -12639.265580 24888.237513 -.008520
+P 20 -12510.828177 -23439.630793 220.238756 -91.002308
+V 20 2267.201162 -1607.156390 -31777.744441 .026950
+P 21 25717.911628 5810.277366 4805.085991 87.956416
+V 21 -6266.005850 2137.990141 30449.039919 .010732
+P 22 16120.315158 98.468359 -20941.228707 16.249397
+V 22 10377.342305 24912.435216 8064.697215 .000771
+P 23 -5866.250539 -16487.487348 19855.603648 211.455383
+V 23 14694.021672 -20803.298727 -12978.457912 .006055
+P 24 -23835.545120 5224.084441 10890.961463 89.319978
+V 24 -13105.124855 -3417.508958 -27624.988098 .029315
+P 25 20525.406322 -10569.049815 13543.718135 84.290957
+V 25 16670.253732 1723.601660 -24592.612974 .007837
+P 26 -4419.291199 22492.079375 -13176.927305 316.709962
+V 26 -10737.802957 12588.469661 26272.291263 .055991
+P 27 -25555.201857 -4737.805123 7053.760005 513.141147
+V 27 8133.996192 -2553.316257 29601.727793 .063471
+P 28 -16639.119798 -1069.985077 -20529.176875 46.476073
+V 28 -11168.319091 -24033.880087 9874.134310 .001433
+P 29 -8123.152122 23720.185964 -8275.087873 179.792483
+V 29 -7562.937090 8132.748712 29929.190713 -.189337
+P 30 17373.697053 18043.074069 8751.093691 444.977329
+V 30 2930.454768 11484.983673 -28565.446386 -.143112
+* 2005 1 19 11 0 .00000000
+P 1 15346.516498 -21341.539801 -3511.890799 383.725701
+V 1 -536.769121 5133.652860 -31829.304798 .019342
+P 2 -13086.930936 13310.364413 18559.696121 -42.936919
+V 2 -24265.996462 -1193.967452 -16073.850992 .057780
+P 3 10402.970495 -24275.130562 -673.840740 77.915230
+V 3 4046.074614 1034.273771 31139.386111 .030220
+P 4 -23818.097762 6944.455581 9936.211563 442.670480
+V 4 -12509.461580 -2403.021414 -27971.929569 -.206585
+P 5 12588.562146 23123.295895 -4295.467135 73.031010
+V 5 -5782.676725 -2333.878820 -30465.482808 .024750
+P 6 12802.992410 9613.996871 21375.154217 -168.567039
+V 6 -12710.227970 23609.140596 -3143.796254 .883370
+P 7 -18090.514206 10045.595763 -16154.598818 64.737228
+V 7 7059.573966 -20381.663961 -20217.642696 -.302339
+P 8 -26715.650135 -1081.962557 894.339804 -18.996674
+V 8 1375.290089 -2278.817039 31640.810761 -.011637
+P 9 8048.115083 14605.184796 -21219.046619 -24.764341
+V 9 -25729.252894 1978.470454 -8252.034286 -.017911
+P 10 -2886.590168 19125.045899 18007.727753 57.483228
+V 10 -12859.768565 -19189.170486 18542.050595 .007013
+P 11 -9103.157285 -14778.308187 -20163.258042 186.324837
+V 11 25373.572116 -4606.186407 -7897.527512 .036826
+P 13 -11249.035612 -9639.715732 21991.110583 -13.857799
+V 13 14014.080404 -24222.250903 -3376.196861 .009765
+P 14 18187.870341 -9842.243707 -16599.365990 -31.482631
+V 14 -8995.061645 19195.541988 -21181.724981 -.000805
+P 15 25445.676987 -3727.737562 -7431.436367 377.635117
+V 15 8942.636658 2804.388208 29750.589834 .052963
+P 16 8047.136760 -14667.250210 20694.146315 1.996615
+V 16 14210.978642 21930.536697 10093.850629 -.001651
+P 17 -2198.173314 15066.722913 21984.499421 -93.973613
+V 17 -27173.771410 -3108.613232 -1341.564256 .189038
+P 18 18286.677533 13721.683506 -13671.009680 -118.767542
+V 18 6529.729821 16205.605071 24643.479408 -.037442
+P 19 5524.909625 -23460.300512 -11095.654924 -11.833167
+V 19 9653.864428 -10743.079097 27249.904509 -.008519
+P 20 -12230.158994 -23449.595702 -2633.455048 -90.999797
+V 20 4027.503182 1346.762518 -31546.734701 .026958
+P 21 25007.775320 6009.483304 7497.573972 87.957210
+V 21 -9494.520712 2354.673431 29300.091791 .010732
+P 22 17090.176083 2272.163699 -20034.652019 16.249305
+V 22 11116.870846 23322.653608 12051.791257 .000793
+P 23 -4629.832846 -18330.718537 18518.268924 211.455884
+V 23 12767.995493 -20070.303283 -16697.120606 .006057
+P 24 -24880.567616 4955.696056 8319.617403 89.322281
+V 24 -10073.401410 -2607.173238 -29436.053994 .029308
+P 25 21902.861852 -10441.038326 11222.588412 84.291182
+V 25 13893.481870 1180.108174 -26916.933783 .007821
+P 26 -5284.104857 23533.199465 -10704.147688 316.715024
+V 26 -8504.573092 10468.716351 28600.402339 .055987
+P 27 -24685.012998 -4992.340274 9652.455058 513.147368
+V 27 11167.041680 -3164.333793 28068.796044 .063471
+P 28 -17671.430319 -3154.153407 -19464.392505 46.476196
+V 28 -11709.023553 -22218.735997 13751.126709 .001409
+P 29 -8705.797196 24334.198790 -5516.892061 179.775344
+V 29 -5429.886160 5452.365251 31273.915342 -.189341
+P 30 17586.291474 18942.566977 6112.129436 444.964515
+V 30 1725.390006 8510.387439 -29993.077676 -.143116
+* 2005 1 19 11 15 .00000000
+P 1 15235.091272 -20735.759300 -6337.876799 383.726406
+V 1 -1867.480721 8344.167590 -30879.284307 .019347
+P 2 -15183.312853 13253.589820 16953.349734 -42.931931
+V 2 -22245.258437 -109.866673 -19569.224373 .057771
+P 3 10709.809135 -24043.364486 2126.418645 77.918034
+V 3 2832.513332 4138.074340 30997.651257 .030221
+P 4 -24804.728480 6752.688825 7341.929456 442.652098
+V 4 -9382.920103 -1922.198306 -29597.239225 -.206586
+P 5 11970.866297 22805.419317 -6993.129382 73.033067
+V 5 -7980.023588 -4673.414345 -29397.877651 .024732
+P 6 11720.307518 11745.962679 20912.044807 -168.487583
+V 6 -11322.839246 23687.113105 -7133.817640 .883336
+P 7 -17459.068616 8105.860485 -17824.719613 64.710013
+V 7 6907.687003 -22672.103404 -16839.789261 -.302347
+P 8 -26438.107864 -1294.678637 3726.467489 -18.997612
+V 8 4782.635596 -2517.748204 31206.589894 -.011633
+P 9 5702.908755 14847.642750 -21785.588428 -24.765289
+V 9 -26302.597095 3415.905197 -4319.539795 -.017906
+P 10 -4137.584286 17355.940357 19514.448487 57.484533
+V 10 -14928.279969 -20034.815348 14892.889565 .007017
+P 11 -6795.618980 -15248.019695 -20699.319841 186.328138
+V 11 25823.700370 -5829.842959 -3996.993154 .036834
+P 13 -10060.973896 -11831.905216 21498.019082 -13.857029
+V 13 12354.468847 -24404.145976 -7565.128997 .009767
+P 14 17380.168095 -8001.384513 -18356.702274 -31.482634
+V 14 -8880.492603 21665.639985 -17813.664750 -.000805
+P 15 26104.986844 -3498.963634 -4698.897129 377.639456
+V 15 5681.948416 2345.734032 30887.546900 .052961
+P 16 9401.457291 -12690.973668 21423.005427 1.996618
+V 16 15852.435996 21903.601116 6080.276061 -.001643
+P 17 -4640.286685 14852.934789 21678.403964 -93.956398
+V 17 -27005.530570 -1643.933578 -5455.371725 .189075
+P 18 18846.569482 15052.227309 -11342.859046 -118.771191
+V 18 5837.507334 13346.523353 27018.900698 -.037448
+P 19 6297.070322 -24325.811327 -8554.487117 -11.833882
+V 19 7537.687924 -8424.251188 29138.802496 -.008519
+P 20 -11776.372204 -23205.427725 -5441.920979 -90.997337
+V 20 6104.168088 4027.269798 -30774.275641 .026965
+P 21 24013.884258 6245.611472 10064.294967 87.958222
+V 21 -12556.992899 2953.896699 27657.812995 .010732
+P 22 18109.980646 4285.151244 -18778.287437 16.249463
+V 22 11477.848748 21353.454776 15826.311906 .000815
+P 23 -3569.113242 -20084.538979 16858.818823 211.456504
+V 23 10805.216733 -18817.846769 -20126.054767 .006059
+P 24 -25642.095275 4743.297964 5607.315713 89.324089
+V 24 -6819.875544 -2179.454831 -30752.570411 .029301
+P 25 23019.093835 -10345.416807 8712.065122 84.290905
+V 25 10879.010660 1009.872417 -28794.971406 .007806
+P 26 -5955.800208 24363.034329 -8043.559165 316.720198
+V 26 -6460.567601 7902.448919 30438.640502 .055984
+P 27 -23552.869174 -5317.810012 12092.511403 513.153293
+V 27 13942.568270 -4122.359810 26081.669771 .063471
+P 28 -18734.679929 -5059.348919 -18061.543437 46.476402
+V 28 -11848.125094 -20070.306574 17375.990872 .001384
+P 29 -9109.740540 24692.036157 -2662.276507 179.758427
+V 29 -3603.294434 2453.221256 32069.197501 -.189344
+P 30 17672.334905 19577.522544 3367.944634 444.951609
+V 30 123.145033 5621.554441 -30900.859743 -.143120
+* 2005 1 19 11 30 .00000000
+P 1 15023.678262 -19838.215731 -9054.019839 383.728384
+V 1 -2755.223458 11600.344246 -29391.515116 .019352
+P 2 -17078.586663 13281.964400 15047.774844 -42.926675
+V 2 -19808.633374 687.212600 -22713.530873 .057762
+P 3 10924.047569 -23527.691192 4889.425662 77.920507
+V 3 1992.532873 7327.913586 30312.562100 .030222
+P 4 -25502.482728 6586.576254 4623.738973 442.633225
+V 4 -6105.174094 -1836.916694 -30721.795316 -.206587
+P 5 11146.771460 22293.065480 -9572.167508 73.035013
+V 5 -10356.620173 -6647.312830 -27833.293136 .024714
+P 6 10768.429285 13862.862053 20094.530960 -168.408323
+V 6 -9817.290415 23271.810482 -11008.429579 .883302
+P 7 -16858.135435 5975.103659 -19176.564787 64.682921
+V 7 6389.490463 -24613.374510 -13155.613028 -.302355
+P 8 -25857.950546 -1547.431796 6495.654755 -18.998569
+V 8 8084.260851 -3165.233327 30243.613267 -.011629
+P 9 3328.850806 15219.910969 -21994.205871 -24.767525
+V 9 -26369.712607 4848.751254 -308.505671 -.017901
+P 10 -5570.111691 15534.815153 20680.859894 57.484700
+V 10 -16877.918617 -20346.586622 10990.928238 .007020
+P 11 -4469.539501 -15826.115060 -20880.487340 186.331428
+V 11 25786.097830 -7001.372825 -22.193527 .036842
+P 13 -9029.738289 -14016.130120 20633.395260 -13.855967
+V 13 10544.763235 -24042.285531 -11620.545169 .009769
+P 14 16601.944289 -5952.163155 -19796.553290 -31.482521
+V 14 -8347.733153 23811.584695 -14136.709326 -.000807
+P 15 26464.998860 -3293.251437 -1887.241921 377.645205
+V 15 2307.104176 2294.956338 31505.974290 .052959
+P 16 10893.442060 -10739.084251 21785.537932 1.996631
+V 16 17256.372227 21394.489908 1964.818777 -.001636
+P 17 -7043.032445 14769.162844 21004.504455 -93.939152
+V 17 -26300.013694 -234.269101 -9503.424662 .189112
+P 18 19323.990823 16122.706015 -8821.525585 -118.775002
+V 18 4697.957826 10442.354619 28930.644650 -.037451
+P 19 6888.683388 -24965.652026 -5865.809505 -11.834564
+V 19 5654.113565 -5738.781394 30523.367016 -.008520
+P 20 -11123.921425 -22735.048793 -8156.996774 -90.994936
+V 20 8430.011897 6362.868621 -29474.511292 .026972
+P 21 22755.052649 6551.610842 12461.935399 87.958959
+V 21 -15368.532668 3900.144788 25547.615976 .010734
+P 22 19143.366316 6106.780728 -17194.291766 16.249567
+V 22 11411.969317 19084.395714 19321.808806 .000837
+P 23 -2683.213070 -21702.877650 14906.087449 211.457080
+V 23 8898.314534 -17064.232452 -23204.914803 .006061
+P 24 -26104.225875 4551.039493 2799.746689 89.327161
+V 24 -3435.865485 -2162.956534 -31549.622250 .029295
+P 25 23856.526728 -10247.199609 6053.937001 84.291038
+V 25 7712.812538 1241.119357 -30191.806215 .007792
+P 26 -6455.114729 24944.153350 -5241.061204 316.725035
+V 26 -4686.397684 4953.832623 31748.227943 .055980
+P 27 -22185.212996 -5743.275304 14334.553961 513.158795
+V 27 16389.732991 -5376.973084 23674.670569 .063470
+P 28 -19790.883232 -6759.385615 -16346.122412 46.476522
+V 28 -11547.489929 -17674.662809 20687.463119 .001360
+P 29 -9365.437427 24768.765203 238.746304 179.741445
+V 29 -2144.363891 -779.390582 32304.243463 -.189347
+P 30 17597.657627 19959.657841 565.949273 444.938884
+V 30 -1838.584295 2906.121055 -31276.470451 -.143124
+* 2005 1 19 11 45 .00000000
+P 1 14752.802260 -18649.410954 -11612.921638 383.729297
+V 1 -3188.583270 14799.396777 -27389.796916 .019356
+P 2 -18738.686518 13366.887454 12877.113835 -42.921488
+V 2 -17033.031260 1138.131923 -25451.452572 .057753
+P 3 11080.195283 -22724.582416 7566.701011 77.922401
+V 3 1542.963427 10509.635415 29095.180490 .030224
+P 4 -25901.908684 6409.700254 1827.572476 442.614703
+V 4 -2769.097386 -2162.487762 -31327.747102 -.206588
+P 5 10103.691654 21621.148816 -11989.024271 73.035924
+V 5 -12832.452440 -8213.565598 -25799.036320 .024696
+P 6 9954.209111 15919.876127 18935.948241 -168.328834
+V 6 -8277.940395 22356.671511 -14702.438443 .883268
+P 7 -16318.307549 3688.129664 -20185.561932 64.655887
+V 7 5560.157759 -26132.578452 -9232.666711 -.302363
+P 8 -24988.897937 -1875.839367 9154.840583 -18.998560
+V 8 11187.539414 -4192.771374 28765.019571 -.011626
+P 9 971.440743 15717.694369 -21840.644802 -24.767945
+V 9 -25934.696055 6190.886508 3718.315579 -.017896
+P 10 -7169.237176 13709.038351 21487.318031 57.485907
+V 10 -18615.357524 -20142.864562 6905.803090 .007023
+P 11 -2168.431069 -16504.329807 -20703.122030 186.334676
+V 11 25272.036773 -8041.812380 3959.014528 .036851
+P 13 -8164.548997 -16142.944211 19412.431908 -13.854959
+V 13 8680.653543 -23128.665499 -15472.383809 .009770
+P 14 15888.503277 -3727.424546 -20893.953004 -31.482510
+V 14 -7451.222515 25553.792380 -10214.668199 -.000810
+P 15 26519.680266 -3073.332475 956.242172 377.650299
+V 15 -1087.224000 2661.540531 31593.478984 .052956
+P 16 12498.113429 -8853.140695 21775.713839 1.996643
+V 16 18344.302169 20446.710281 -2182.589973 -.001631
+P 17 -9358.622357 14806.468177 19971.847231 -93.922116
+V 17 -25072.868364 1032.294372 -13416.168528 .189148
+P 18 19679.196761 16933.350113 -6150.182198 -118.778238
+V 18 3125.494952 7588.004589 30348.018358 -.037452
+P 19 7323.851429 -25349.888568 -3076.100960 -11.835406
+V 19 4071.412733 -2756.924254 31380.912308 -.008520
+P 20 -10253.848078 -22072.193977 -10732.197732 -90.992693
+V 20 10926.290604 8296.260825 -27670.513959 .026981
+P 21 21257.388607 6956.544331 14649.808813 87.959834
+V 21 -17852.425468 5142.835203 23002.418398 .010737
+P 22 20150.365729 7714.008609 -15310.574507 16.249466
+V 22 10887.716957 16604.389350 22477.093164 .000860
+P 23 -1963.081186 -23142.157683 12694.065606 211.457657
+V 23 7135.658016 -14846.422319 -25879.632175 .006063
+P 24 -26259.522202 4341.280138 -55.523137 89.330300
+V 24 -17.605780 -2568.687789 -31810.518899 .029288
+P 25 24405.584421 -10109.612637 3292.813129 84.291598
+V 25 4486.157381 1885.189413 -31079.806415 .007778
+P 26 -6809.511621 25245.655983 -2345.630692 316.730114
+V 26 -3250.364897 1703.394367 32499.740501 .055977
+P 27 -20614.364031 -6292.694469 16342.540693 513.164115
+V 27 18449.114556 -6865.552632 20887.457836 .063470
+P 28 -20799.392121 -8236.151429 -14348.856209 46.476642
+V 28 -10786.263959 -15124.553599 23630.641415 .001335
+P 29 -9508.101655 24547.572549 3135.652766 179.724314
+V 29 -1097.323023 -4150.922531 31978.466599 -.189351
+P 30 17332.176053 20108.202249 -2245.751109 444.925836
+V 30 -4106.991649 442.887686 -31116.759477 -.143129
+* 2005 1 19 12 0 .00000000
+P 1 14463.147765 -17179.121641 -13969.752036 383.731036
+V 1 -3175.441075 17838.667953 -24907.335422 .019362
+P 2 -20137.000888 13475.114910 10480.130786 -42.916361
+V 2 -14006.630983 1199.197187 -27735.757617 .057744
+P 3 11213.490550 -21639.059334 10111.209052 77.925750
+V 3 1483.119172 13588.026667 27366.484008 .030226
+P 4 -26001.999472 6185.050216 -999.401302 442.595922
+V 4 531.076282 -2896.735400 -31405.497447 -.206588
+P 5 8836.521184 20827.646321 -14202.939719 73.038158
+V 5 -15321.821527 -9346.303701 -23329.871962 .024679
+P 6 9276.876591 17872.372233 17455.394337 -168.249620
+V 6 -6789.254559 20952.414247 -18153.160428 .883234
+P 7 -15864.604488 1285.667039 -20833.454984 64.628450
+V 7 4487.912151 -27171.434401 -5143.502733 -.302371
+P 8 -23852.735481 -2312.191122 11658.532346 -18.999043
+V 8 14006.410330 -5555.139917 26792.513443 -.011623
+P 9 -1324.927096 16329.033619 -21326.345089 -24.768810
+V 9 -25017.957136 7358.638925 7697.259652 -.017892
+P 10 -8911.903056 11923.462837 21920.578884 57.486274
+V 10 -20054.028232 -19460.933007 2709.867934 .007027
+P 11 65.942036 -17267.458571 -20169.724579 186.338030
+V 11 24308.969997 -8876.407347 7878.252822 .036860
+P 13 -7465.965420 -18163.071243 17856.467842 -13.854071
+V 13 6858.267462 -21675.064357 -19054.325724 .009770
+P 14 15269.584807 -1366.592565 -21629.882136 -31.482675
+V 14 -6259.751173 26826.124404 -6115.685252 -.000813
+P 15 26271.581891 -2801.885804 3783.527614 377.653390
+V 15 -4405.527396 3437.136068 31146.046450 .052954
+P 16 14183.888190 -7070.091004 21393.824561 1.996561
+V 16 19048.403323 19118.869907 -6291.596092 -.001627
+P 17 -11541.496366 14948.179496 18595.729988 -93.904834
+V 17 -23357.880005 2072.602064 -17124.439580 .189185
+P 18 19874.532946 17492.774291 -3374.394420 -118.781279
+V 18 1152.019463 4874.312280 31248.598477 -.037455
+P 19 7632.207901 -25455.454458 -233.470113 -11.835953
+V 19 2843.836966 439.440738 31697.945585 -.008521
+P 20 -9154.689437 -21255.038191 -13123.501170 -90.990111
+V 20 13505.705143 9786.367332 -25393.836744 .026989
+P 21 19553.432415 7484.310829 16590.516326 87.960653
+V 21 -19942.880065 6618.141922 20062.293469 .010741
+P 22 21088.984215 9092.081951 -13160.272677 16.249395
+V 22 9891.720994 14008.143075 25237.362691 .000885
+P 23 -1392.039387 -24362.921293 10261.289452 211.458106
+V 23 5597.798102 -12218.708277 -28103.424067 .006064
+P 24 -26109.300694 4076.206908 -2909.813584 89.333252
+V 24 3337.200746 -3389.420857 -31527.274354 .029280
+P 25 24665.022351 -9895.651682 475.434789 84.291415
+V 25 1292.362904 2935.783094 -31439.333084 .007764
+P 26 -7051.931356 25244.519409 591.567123 316.734871
+V 26 -2205.423927 -1754.875425 32674.124677 .055973
+P 27 -18877.405286 -6983.926140 18084.220593 513.169825
+V 27 20074.556632 -8515.594836 17764.532226 .063470
+P 28 -21718.489796 -9480.045001 -12105.096225 46.476903
+V 28 -9561.616983 -12515.738604 26157.775647 .001309
+P 29 -9576.104246 24020.433216 5978.317694 179.706940
+V 29 -487.915513 -7561.256778 31101.251255 -.189354
+P 30 16851.163494 20048.972734 -5019.174375 444.912749
+V 30 -6616.227314 -1700.983949 -30427.579121 -.143133
+* 2005 1 19 12 15 .00000000
+P 1 14193.829905 -15446.208520 -16083.075257 383.732357
+V 1 -2742.675814 20619.605084 -21986.258244 .019367
+P 2 -21255.229155 13570.234165 7899.445346 -42.911020
+V 2 -10825.320289 843.924120 -29528.115360 .057736
+P 3 11358.321348 -20284.620466 12478.235526 77.928778
+V 3 1794.863219 16470.531314 25157.002120 .030227
+P 4 -25810.164903 5876.598409 -3809.525893 442.577330
+V 4 3703.097438 -4020.057551 -30953.815224 -.206589
+P 5 7348.004602 19952.105683 -16176.596769 73.040950
+V 5 -17736.515544 -10036.569005 -20467.439552 .024662
+P 6 8728.178102 19677.454745 15677.457454 -168.170099
+V 6 -5432.517389 19086.835586 -21301.435932 .883201
+P 7 -15515.429330 -1187.063604 -21108.682438 64.601390
+V 7 3251.018894 -27688.752781 -964.057433 -.302379
+P 8 -22478.579092 -2884.012626 13963.570166 -18.999906
+V 8 16464.536078 -7191.996123 24356.189060 -.011620
+P 9 -3518.409452 17034.665870 -20458.490363 -24.770389
+V 9 -23655.635586 8273.890111 11564.477474 -.017888
+P 10 -10767.695321 10218.797554 21973.980705 57.487057
+V 10 -21117.567057 -18355.250014 -1523.188106 .007030
+P 11 2194.978684 -18093.872920 -19288.929659 186.341475
+V 11 22939.518237 -9437.669176 11667.784245 .036868
+P 13 -6926.020086 -20029.173053 15992.599046 -13.853044
+V 13 5170.332122 -19712.642090 -22304.935565 .009769
+P 14 14768.196083 1085.660462 -21991.604027 -31.482747
+V 14 -4853.626765 27578.468740 -1911.022072 -.000815
+P 15 25731.760102 -2443.141727 6546.611574 377.656888
+V 15 -7554.870988 4595.700638 30168.269998 .052953
+P 16 15913.661068 -5421.014764 20646.469668 1.996604
+V 16 19314.193062 17482.338996 -10292.561278 -.001624
+P 17 -13549.922312 15170.494883 16897.610558 -93.887332
+V 17 -21206.128239 2811.920015 -20560.730213 .189222
+P 18 19875.962020 17817.460650 -541.363605 -118.785214
+V 18 -1174.235969 2384.740287 31618.489552 -.037457
+P 19 7847.560317 -25267.061908 2613.179874 -11.836960
+V 19 2009.608330 3759.873540 31470.314136 -.008522
+P 20 -7823.100850 -20324.668994 -15290.084520 -90.987678
+V 20 16075.727447 10809.717995 -22683.933085 .026997
+P 21 17681.062720 8152.554443 18250.571214 87.961585
+V 21 -21587.421987 8251.322338 16774.021468 .010747
+P 22 21916.866084 10234.891408 -10781.130823 16.249221
+V 22 8429.368193 11392.393108 27555.179806 .000911
+P 23 -946.634452 -25331.303428 7650.144854 211.458727
+V 23 4354.235815 -9250.690757 -29837.654200 .006067
+P 24 -25663.603595 3719.479176 -5714.131739 89.337490
+V 24 6532.947204 -4599.729074 -30700.975696 .029273
+P 25 24641.959378 -9569.679650 -2350.072679 84.291349
+V 25 -1776.608484 4368.859343 -31259.364060 .007751
+P 26 -7219.295711 24926.653940 3518.149581 316.739798
+V 26 -1586.745421 -5317.098799 32263.490973 .055970
+P 27 -17014.923206 -7827.958961 19531.543805 513.175686
+V 27 21234.541073 -10247.387648 14354.649672 .063470
+P 28 -22507.019680 -10490.079914 -9654.145791 46.476883
+V 28 -7888.775499 -9943.290375 28228.883474 .001284
+P 29 -9609.270641 23188.439602 8717.893826 179.690239
+V 29 -322.660049 -10908.547875 29691.525649 -.189357
+P 30 16136.313326 19813.218345 -7707.259148 444.899729
+V 30 -9289.927780 -3472.282811 -29223.476635 -.143136
+* 2005 1 19 12 30 .00000000
+P 1 13980.727298 -13478.071832 -17915.623616 383.733530
+V 1 -1935.088312 23051.618117 -18676.932031 .019373
+P 2 -22083.904737 13614.264582 5180.703611 -42.905698
+V 2 -7588.873036 64.058059 -30799.679658 .057726
+P 3 11546.685362 -18682.838290 14626.222580 77.931452
+V 3 2443.407758 19070.870982 22506.232773 .030228
+P 4 -25341.904892 5450.841794 -6555.411404 442.558998
+V 4 6659.967867 -5496.118232 -29979.849491 -.206590
+P 5 5648.816545 19034.111791 -17876.710730 73.042654
+V 5 -19989.065588 -10292.466690 -17259.592019 .024645
+P 6 8292.808093 21295.469540 13631.854040 -168.090858
+V 6 -4282.634110 16803.981843 -24092.628007 .883167
+P 7 -15281.817793 -3681.971530 -21006.605319 64.574126
+V 7 1934.326445 -27662.163198 3228.062045 -.302386
+P 8 -20901.869766 -3612.795236 16029.870324 -19.000324
+V 8 18498.140797 -9029.988178 21494.260959 -.011617
+P 9 -5571.083834 17808.660023 -19249.989762 -24.771874
+V 9 -21898.491146 8867.056937 15256.720751 -.017884
+P 10 -12699.901149 8630.164547 21647.502613 57.488606
+V 10 -21742.822013 -16895.064335 -5719.703261 .007033
+P 11 4184.538353 -18956.303799 -18075.395170 186.344846
+V 11 21219.872471 -9668.179589 15261.693738 .036875
+P 13 -6528.692116 -21697.547741 13853.191406 -13.852053
+V 13 3702.491656 -17290.793163 -25168.704236 .009768
+P 14 14399.720259 3580.949413 -21972.888235 -31.482990
+V 14 -3321.385820 27778.701073 2326.216219 -.000817
+P 15 24919.392985 -1964.442857 9198.296968 377.662425
+V 15 -10448.257708 6094.301798 28673.472469 .052952
+P 16 17646.107427 -3930.097604 19546.441763 1.996527
+V 16 19102.707268 15618.444711 -14117.686034 -.001622
+P 17 -15347.488001 15443.389842 14904.896830 -93.870146
+V 17 -18684.438053 3187.227236 -23660.560397 .189258
+P 18 19654.458887 17930.956771 2300.847596 -118.788555
+V 18 -3790.458316 192.365346 31452.459716 -.037456
+P 19 8006.380991 -24777.822213 5414.992362 -11.837771
+V 19 1589.549895 7108.749574 30703.188301 -.008522
+P 20 -6264.168913 -19323.464548 -17195.005686 -90.985264
+V 20 18542.119881 11361.163772 -19587.456191 .027006
+P 21 15682.206631 8971.803334 19600.978429 87.962476
+V 21 -22748.843374 9959.478730 13190.535747 .010753
+P 22 22592.981835 11144.982063 -8214.800349 16.248988
+V 22 6524.655123 8852.092592 29391.283779 .000940
+P 23 -597.761268 -26020.295373 4906.101673 211.459513
+V 23 3460.649804 -6024.648633 -31052.526545 .006067
+P 24 -24940.849911 3237.838489 -8420.000211 89.340103
+V 24 9479.673911 -6156.727776 -29342.019044 .029264
+P 25 24351.600999 -9099.002167 -5134.999459 84.290445
+V 25 -4633.584620 6143.220352 -30538.008344 .007738
+P 26 -7350.824955 24287.611286 6381.546865 316.745139
+V 26 -1410.021823 -8873.620638 31271.630511 .055967
+P 27 -15069.647234 -8828.384980 20661.020311 513.181478
+V 27 21913.082486 -11976.754753 10710.305832 .063471
+P 28 -23125.985982 -11273.660163 -7038.539755 46.476818
+V 28 -5800.365846 -7498.008092 29812.196220 .001260
+P 29 -9647.146381 22061.783515 11307.645281 179.673181
+V 29 -588.887389 -14093.063920 27777.170355 -.189360
+P 30 15176.557563 19436.281484 -10264.628951 444.886628
+V 30 -12044.102502 -4833.498993 -27527.266665 -.143140
+* 2005 1 19 12 45 .00000000
+P 1 13854.945652 -11309.771048 -19435.001131 383.735547
+V 1 -813.579212 25055.656681 -15037.089520 .019379
+P 2 -22622.568704 13569.315132 2371.707098 -42.900564
+V 2 -4397.034662 -1130.178707 -31531.436991 .057715
+P 3 11806.753910 -16862.640218 16517.541917 77.933923
+V 3 3378.816690 21312.413951 19461.854183 .030230
+P 4 -24620.196445 4878.254090 -9190.685692 442.540418
+V 4 9323.020026 -7273.146529 -28499.045629 -.206591
+P 5 3757.349036 18111.767421 -19274.556091 73.045742
+V 5 -21995.973004 -10138.698668 -13759.664152 .024627
+P 6 7949.119844 22691.406054 11352.977912 -168.011573
+V 6 -3405.139772 14162.707618 -26477.589712 .883133
+P 7 -15167.012694 -6149.836504 -20529.578871 64.546782
+V 7 625.523955 -27089.014786 7355.326864 -.302394
+P 8 -19163.129176 -4512.941856 17821.140728 -19.000943
+V 8 20058.469577 -10985.441400 18252.699533 -.011615
+P 9 -7450.195029 18619.311303 -17719.386076 -24.774232
+V 9 -19810.280908 9079.856158 18712.193193 -.017880
+P 10 -14666.812938 7185.895939 20947.702520 57.489576
+V 10 -21882.308685 -15161.487791 -9807.357607 .007036
+P 11 6006.070329 -19822.860766 -16549.585104 186.348277
+V 11 19217.664462 -9523.029798 18597.067209 .036882
+P 13 -6250.699743 -23129.692755 11475.304737 -13.851255
+V 13 2529.923363 -14475.302660 -27596.975364 .009766
+P 14 14171.336435 6068.857528 -21574.117794 -31.483082
+V 14 -1756.182915 27413.947803 6522.387735 -.000817
+P 15 23861.100336 -1337.703875 11692.979093 377.667255
+V 15 -13007.825952 7874.564761 26683.706203 .052951
+P 16 19337.156524 -2613.875415 18112.511506 1.996349
+V 16 18392.100785 13615.301994 -17702.103187 -.001621
+P 17 -16904.422595 15731.807111 12650.609591 -93.853172
+V 17 -15873.142220 3150.158406 -26363.924453 .189295
+P 18 19187.224049 17862.820290 5104.096596 -118.791669
+V 18 -6621.534278 -1642.727973 30753.957601 -.037457
+P 19 8146.205050 -23989.553220 8123.989597 -11.838739
+V 19 1586.401693 10388.814733 29410.886613 -.008520
+P 20 -4491.404224 -18293.438851 -18805.815462 -90.982788
+V 20 20812.514917 11453.889812 -16157.452299 .027014
+P 21 13601.397308 9944.873446 20617.759289 87.963499
+V 21 -23406.630869 11654.669118 9370.257181 .010759
+P 22 23079.268313 11833.224955 -5506.073756 16.248972
+V 22 4219.294739 6476.710593 30715.223081 .000971
+P 23 -312.010568 -26410.748271 2076.893689 211.460130
+V 23 2956.695595 -2632.410243 -31727.597488 .006067
+P 24 -23967.172411 2602.620257 -10980.299889 89.344012
+V 24 12096.470942 -8001.512916 -27470.192325 .029256
+P 25 23816.656891 -8455.359345 -7830.891089 84.290583
+V 25 -7199.518261 8201.790817 -29282.881029 .007727
+P 26 -7486.240204 23332.905605 9130.064661 316.749788
+V 26 -1670.626376 -12313.470674 29714.212281 .055964
+P 27 -13085.027939 -9981.130693 21454.033682 513.187265
+V 27 22110.170912 -13618.024375 6887.217961 .063470
+P 28 -23540.065809 -11846.042734 -4303.291270 46.476916
+V 28 -3345.114606 -5263.073110 30884.443911 .001238
+P 29 -9727.300139 20659.398281 13703.721461 179.656286
+V 29 -1255.528386 -17020.875769 25394.291263 -.189363
+P 30 13968.613839 18956.128722 -12648.313156 444.873688
+V 30 -14790.264579 -5763.964909 -25369.502277 -.143144
+* 2005 1 19 13 0 .00000000
+P 1 13841.476566 -8982.841104 -20614.300565 383.737321
+V 1 547.351425 26567.351353 -11130.781886 .019384
+P 2 -22879.593349 13399.229696 -478.479216 -42.895335
+V 2 -1345.684275 -2710.602344 -31714.325365 .057705
+P 3 12161.600438 -14859.303179 18119.188608 77.936013
+V 3 4538.144814 23131.146342 16078.753989 .030232
+P 4 -23674.615917 4134.595065 -11670.733556 442.522053
+V 4 11624.704154 -9285.800166 -26534.962717 -.206592
+P 5 1699.213751 17220.243139 -20346.424569 73.049357
+V 5 -23680.796929 -9615.497277 -10025.677678 .024609
+P 6 7670.091651 23836.143524 8879.364392 -167.932028
+V 6 -2853.531394 11234.662500 -28413.582580 .883100
+P 7 -15166.381223 -8542.091679 -19686.867562 64.519538
+V 7 -588.703202 -25986.411651 11342.009356 -.302402
+P 8 -17306.516423 -5590.979184 19305.554628 -19.001252
+V 8 21113.706788 -12967.570250 14684.641365 -.011613
+P 9 -9129.233580 19430.271238 -15890.684182 -24.775974
+V 9 -17465.653085 8867.754780 21871.470295 -.017875
+P 10 -16623.225296 5906.614088 19887.539854 57.490644
+V 10 -21506.029411 -13244.152051 -13716.414957 .007038
+P 11 7637.530135 -20658.250419 -14737.447251 186.351691
+V 11 17009.381233 -8971.792114 21615.145641 .036888
+P 13 -6062.578960 -24293.673455 8900.039169 -13.850407
+V 13 1714.382185 -11345.881321 -29548.741714 .009764
+P 14 14081.773753 8498.697903 -20802.278356 -31.483101
+V 14 -252.001990 26491.101352 10604.627791 -.000818
+P 15 22589.987905 -540.713028 13987.426232 377.673006
+V 15 -15167.759881 9864.731999 24229.617181 .052949
+P 16 20941.580513 -1480.775749 16369.116067 1.996233
+V 16 17178.610303 11564.397758 -20984.928290 -.001619
+P 17 -18198.687430 15997.089816 10172.913314 -93.835960
+V 17 -12863.205598 2669.444945 -28616.770490 .189331
+P 18 18458.670984 17647.350470 7820.938560 -118.795387
+V 18 -9582.774686 -3075.562523 29535.014550 -.037457
+P 19 8303.998599 -22912.763919 10693.882551 -11.839478
+V 19 1984.840477 13504.782376 27616.551998 -.008518
+P 20 -2526.414238 -17274.617201 -20095.093106 -90.980242
+V 20 22799.921132 11118.734110 -12452.462212 .027021
+P 21 11484.228981 11066.564264 21282.411060 87.964523
+V 21 -23557.807037 13247.266441 5376.312548 .010764
+P 22 23342.156475 12318.166230 -2702.070380 16.248817
+V 22 1571.122923 4346.791429 31505.800099 .001004
+P 23 -53.185568 -26492.077435 -788.339034 211.460579
+V 23 2864.463920 828.144058 -31852.097246 .006066
+P 24 -22775.460258 1791.105601 -13350.112537 89.347253
+V 24 14314.594568 -10061.264442 -25114.585801 .029246
+P 25 23066.468036 -7616.271789 -10390.414579 84.292710
+V 25 -9406.583726 10473.571197 -27511.308903 .007715
+P 26 -7663.931254 22077.924991 11713.949079 316.755241
+V 26 -2343.692332 -15528.964730 27618.633127 .055961
+P 27 -11103.798433 -11274.456892 21897.107224 513.193111
+V 27 21841.708412 -15087.018716 2943.795956 .063470
+P 28 -23718.977842 -12229.514504 -1495.119700 46.477020
+V 28 -585.974148 -3311.060627 31430.991814 .001215
+P 29 -9883.729592 19008.280824 15865.860517 179.639549
+V 29 -2274.597991 -19607.257578 22586.386278 -.189367
+P 30 12517.243967 18411.807395 -14818.416428 444.860628
+V 30 -17438.688716 -6260.362564 -22787.861938 -.143148
+* 2005 1 19 13 15 .00000000
+P 1 13958.108259 -6543.850818 -21432.619107 383.736837
+V 1 2062.683698 27539.581073 -7027.178229 .019391
+P 2 -22871.669732 13071.153214 -3320.419746 -42.890023
+V 2 1476.769184 -4632.302034 -31349.138098 .057694
+P 3 12628.146672 -12713.203589 19403.380345 77.938334
+V 3 5848.118274 24478.118343 12417.904230 .030234
+P 4 -22540.227236 3202.028917 -13953.414999 442.503563
+V 4 13510.986646 -11457.533482 -24118.990585 -.206593
+P 5 -493.523299 16390.448799 -21074.008991 73.051162
+V 5 -24976.996329 -8776.997278 -6119.489005 .024591
+P 6 7424.514528 24707.492530 6253.074720 -167.852460
+V 6 -2667.031069 8101.767716 -29865.125977 .883066
+P 7 -15267.675872 -10812.570906 -18494.408448 64.492461
+V 7 -1626.435590 -24390.392770 15115.820304 -.302409
+P 8 -15378.241442 -6845.071376 20456.362725 -19.002413
+V 8 21650.262171 -14881.920546 10849.658710 -.011612
+P 9 -10588.804563 20201.880393 -13793.093698 -24.777366
+V 9 -14947.602694 8202.009553 24678.484967 -.017871
+P 10 -18522.064839 4804.626123 18486.090532 57.492711
+V 10 -20602.598652 -11237.589862 -17380.872441 .007040
+P 11 9064.046234 -21425.147941 -12669.989053 186.355003
+V 11 14677.419127 -7999.938151 24262.429957 .036893
+P 13 -5930.004671 -25165.245501 6171.816156 -13.849483
+V 13 1301.784890 -7993.178629 -30991.300281 .009763
+P 14 14121.408815 10821.286856 -19670.829699 -31.483218
+V 14 1100.158884 25036.568363 14502.144778 -.000819
+P 15 21144.447018 441.777140 16041.541428 377.677732
+V 15 -16876.796556 11982.276564 21350.160232 .052947
+P 16 22414.639932 -530.973086 14345.955478 1.996032
+V 16 15476.843027 9557.053908 -23910.253411 -.001617
+P 17 -19216.782437 16198.606368 7514.514307 -93.818527
+V 17 -9752.798968 1732.711773 -30372.458796 .189368
+P 18 17461.152001 17322.154181 10405.390284 -118.799114
+V 18 -12582.985393 -4077.822084 27816.036141 -.037454
+P 19 8514.560075 -21566.318533 13080.845330 -11.840198
+V 19 2752.194723 16366.836255 25351.690066 -.008516
+P 20 -398.268801 -16303.503197 -21040.897476 -90.977739
+V 20 24426.025852 10402.841473 -8535.545813 .027027
+P 21 9375.764497 12323.663781 21582.290886 87.965579
+V 21 -23217.137675 14649.451524 1275.634906 .010769
+P 22 23353.926951 12625.083436 148.609355 16.248800
+V 22 -1348.120625 2530.909393 31751.326123 .001039
+P 23 216.074582 -26262.640694 -3639.927963 211.461122
+V 23 3187.656520 4256.802870 -31425.056904 .006066
+P 24 -21404.139061 787.656252 -15487.546968 89.350337
+V 24 16080.164209 -12251.952574 -22313.314352 .029237
+P 25 22135.870844 -6566.182306 -12768.234743 84.292354
+V 25 -11200.898480 12876.214127 -25250.338856 .007703
+P 26 -7919.173736 20547.431178 14086.422014 316.760472
+V 26 -3385.128995 -18420.216013 25023.510724 .055957
+P 27 -9166.563531 -12689.227300 21982.121875 513.198625
+V 27 21138.955321 -16304.025526 -1059.405261 .063470
+P 28 -23638.659579 -12452.319828 1338.327611 46.477111
+V 28 2402.241901 -1701.403002 31445.842910 .001192
+P 29 -10145.429247 17142.525214 17758.014103 179.622682
+V 29 -3583.296380 -21779.680409 19403.433848 -.189370
+P 30 10835.217942 17841.885217 -16738.729804 444.847662
+V 30 -19901.680352 -6336.594203 -19826.468014 -.143151
+* 2005 1 19 13 30 .00000000
+P 1 14214.634849 -4042.760449 -21875.460148 383.737713
+V 1 3640.409522 27944.352371 -2799.239813 .019398
+P 2 -22622.986732 12556.956991 -6105.183563 -42.884826
+V 2 3992.617159 -6835.520938 -30446.232994 .057683
+P 3 13216.369960 -10468.374688 20348.049750 77.941157
+V 3 7228.236537 25321.263784 8545.115315 .030236
+P 4 -21256.275008 2070.009669 -15999.753425 442.485269
+V 4 14943.274306 -13703.393132 -21289.964375 -.206594
+P 5 -2783.348096 15647.874802 -21444.708098 73.054068
+V 5 -25830.428441 -7689.101957 -2105.885047 .024573
+P 6 7178.358172 25290.989538 3519.007960 -167.772936
+V 6 -2868.876035 4853.266530 -30804.755343 .883033
+P 7 -15451.623613 -12919.145607 -16974.433047 64.465130
+V 7 -2414.023729 -22354.310356 18609.407811 -.302417
+P 8 -13424.890576 -8264.856605 21252.434672 -19.003589
+V 8 21673.403546 -16634.115614 6812.880311 -.011610
+P 9 -11817.249977 20892.662660 -11460.680302 -24.778473
+V 9 -12344.552709 7071.202339 27081.569494 -.017867
+P 10 -20316.088884 3883.651115 16768.163211 57.493372
+V 10 -19179.646280 -9237.486345 -20739.502731 .007041
+P 11 10278.309553 -22085.668842 -10382.757204 186.358269
+V 11 12306.890158 -6609.638090 26491.711197 .036899
+P 13 -5815.301518 -25728.689307 3337.607201 -13.848604
+V 13 1320.423331 -4515.392116 -31900.757799 .009761
+P 14 14272.701948 12990.660411 -18199.462347 -31.483413
+V 14 2215.977227 23095.262130 18147.473249 -.000819
+P 15 19566.750746 1617.216195 17819.091495 377.681443
+V 15 -18100.223107 14136.987289 18092.154209 .052946
+P 16 23713.724265 243.436996 12077.502610 1.996053
+V 16 13319.378127 7680.899520 -26428.070806 -.001616
+P 17 -19954.223993 16295.503339 4721.930884 -93.801560
+V 17 -6643.447535 347.506714 -31593.136714 .189404
+P 18 16195.396137 16926.599379 12813.670474 -118.802501
+V 18 -15527.776469 -4638.791268 25625.486795 -.037450
+P 19 8809.016046 -19976.794492 15244.242292 -11.841028
+V 19 3839.820587 18893.909318 22655.582005 -.008513
+P 20 1857.417801 -15411.694862 -21627.127464 -90.975223
+V 20 25624.173147 9367.706360 -4473.244271 .027033
+P 21 7318.953864 13695.269193 21510.913501 87.966687
+V 21 -22416.677617 15778.714004 -2862.052304 .010772
+P 22 23093.841336 12784.789962 2996.744195 16.248660
+V 22 -4455.538696 1083.134161 31449.689961 .001075
+P 23 532.630604 -25729.777503 -6428.556658 211.461534
+V 23 3911.506792 7554.815597 -30455.242948 .006066
+P 24 -19895.731743 -415.417977 -17354.531307 89.352954
+V 24 17356.317048 -14481.556222 -19113.040138 .029227
+P 25 21063.838569 -5297.340042 -14921.880908 84.293446
+V 25 -12544.738541 15319.140477 -22536.525790 .007691
+P 26 -8282.478673 18774.665939 16204.655114 316.765493
+V 26 -4733.537134 -20899.326018 21977.829721 .055954
+P 27 -7310.460694 -14199.440704 21706.483355 513.204238
+V 27 20047.490496 -17196.668722 -5060.268661 .063470
+P 28 -23282.213321 -12547.383058 4149.248327 46.477185
+V 28 5535.616106 -478.380001 30931.521491 .001170
+P 29 -10535.171547 15102.108813 19348.887550 179.605908
+V 29 -5106.629657 -23480.302062 15900.928935 -.189374
+P 30 8942.987441 17282.929601 -18377.277866 444.834478
+V 30 -22096.743915 -6023.034235 -16535.150103 -.143155
+* 2005 1 19 13 45 .00000000
+P 1 14612.398311 -1531.144385 -21935.011306 383.738026
+V 1 5185.367284 27773.906010 1477.698523 .019406
+P 2 -22164.140654 11834.469155 -8785.185649 -42.879569
+V 2 6137.591640 -9248.087135 -29025.072006 .057671
+P 3 13928.803661 -8170.931120 20937.220424 77.943940
+V 3 8594.158353 25646.521531 4529.705162 .030238
+P 4 -19864.728530 735.899063 -17774.584449 442.466492
+V 4 15899.792696 -15933.149947 -18093.674167 -.206595
+P 5 -5128.511022 15011.645530 -21451.847828 73.056150
+V 5 -26201.415928 -6426.915351 1948.367638 .024554
+P 6 6896.264060 25580.410630 724.149628 -167.693687
+V 6 -3465.215076 1582.452233 -31213.666270 .882999
+P 7 -15692.812829 -14825.183021 -15154.962214 64.438085
+V 7 -2889.176942 -19946.500431 21761.674256 -.302425
+P 8 -11491.728852 -9831.625131 21678.712927 -19.003507
+V 8 21207.145188 -18133.655567 2643.941358 -.011609
+P 9 -12810.994613 21460.931785 -8931.921348 -24.778994
+V 9 -9747.143469 5482.185868 29034.536485 -.017863
+P 10 -21959.587835 3138.885046 14763.826984 57.495162
+V 10 -17263.498986 -7336.945391 -23736.778336 .007042
+P 11 11280.669110 -22602.883123 -7915.228836 186.361496
+V 11 9982.306184 -4819.899700 28263.000442 .036905
+P 13 -5679.084714 -25977.326082 446.124025 -13.847713
+V 13 1779.870951 -1014.605278 -32262.381357 .009760
+P 14 14510.954378 14965.667552 -16413.744235 -31.483524
+V 14 3021.223933 20728.880780 21477.660657 -.000818
+P 15 17901.496821 2984.717287 19288.388496 377.687343
+V 15 -18821.271300 16234.421461 14509.669329 .052944
+P 16 24799.926036 857.951481 9602.433676 1.995787
+V 16 10755.692520 6016.482812 -28495.113009 -.001615
+P 17 -20415.662855 16248.512895 1844.646084 -93.784720
+V 17 -3635.913855 -1458.529602 -32250.962397 .189440
+P 18 14670.642806 16500.212854 15004.906953 -118.805563
+V 18 -18322.994277 -4765.650163 22999.470904 -.037446
+P 19 9213.468503 -18177.559927 17147.297170 -11.841686
+V 19 5185.080791 21016.618898 19574.585549 -.008511
+P 20 4199.654082 -14624.701683 -21843.786758 -90.972899
+V 20 26341.908383 8086.679616 -334.494519 .027039
+P 21 5353.123684 15153.418034 21068.152484 87.967509
+V 21 -21204.650656 16561.227906 -6965.361108 .010776
+P 22 22549.006942 12832.237858 5793.350397 16.248577
+V 22 -7660.232732 41.098217 30608.248281 .001113
+P 23 931.205233 -24909.509366 -9106.127015 211.462034
+V 23 5003.441039 10628.601863 -28960.906326 .006068
+P 24 -18295.253938 -1817.300088 -18917.553080 89.355667
+V 24 18124.714607 -16653.675830 -15568.290218 .029217
+P 25 19891.950167 -3810.385538 -16812.584031 84.294243
+V 25 -13418.132954 17707.081684 -19415.484602 .007679
+P 26 -8778.151700 16800.102902 18030.652337 316.770684
+V 26 -6312.933204 -22894.039558 18539.771058 .055950
+P 27 -5567.935854 -15773.013919 21073.234674 513.209715
+V 27 18625.701775 -17702.598581 -8995.748753 .063470
+P 28 -22640.590244 -12550.876017 6890.442857 46.477469
+V 28 8724.172206 330.309713 29898.852933 .001147
+P 29 -11068.543097 12931.479868 20612.391750 179.588783
+V 29 -6760.439141 -24667.879379 12138.888622 -.189378
+P 30 6868.082699 16768.080830 -19706.797537 444.821903
+V 30 -23949.544994 -5365.199024 -12968.664011 -.143159
+* 2005 1 19 14 0 .00000000
+P 1 15144.183058 939.648984 -21610.291936 383.738687
+V 1 6603.215461 27041.001091 5727.403850 .019415
+P 2 -21530.823751 10888.465812 -11314.980131 -42.874400
+V 2 7863.025405 -11788.280835 -27113.619042 .057659
+P 3 14760.349509 -5867.425585 21161.260824 77.946339
+V 3 9861.223610 25458.220141 443.120768 .030240
+P 4 -18408.728463 -794.708650 -19247.155765 442.447816
+V 4 16376.362945 -18054.662446 -14582.267402 -.206596
+P 5 -7484.403027 14493.820210 -21094.815138 73.057520
+V 5 -26066.307824 -5071.827174 5975.514802 .024535
+P 6 6543.108313 25577.980724 -2083.231645 -167.614038
+V 6 -4444.669480 -1616.805339 -31082.221420 .882965
+P 7 -15960.834581 -16500.767568 -13069.191934 64.411010
+V 7 -3003.507174 -17247.371536 24518.879137 -.302433
+P 8 -9621.045782 -11518.837231 21726.565597 -19.004764
+V 8 20293.390299 -19297.648105 -1584.211854 -.011608
+P 9 -13574.593604 21866.453713 -6249.163380 -24.780519
+V 9 -7244.832583 3460.367305 30497.773065 -.017860
+P 10 -23410.027325 2557.395827 12507.861481 57.496818
+V 10 -14898.166640 -5622.910277 -26323.671420 .007042
+P 11 12078.928689 -22942.311605 -5310.124477 186.364970
+V 11 7784.274214 -2666.032684 29544.333777 .036911
+P 13 -5481.966592 -25913.697359 -2453.015747 -13.846885
+V 13 2670.619462 2407.004597 -32070.791719 .009758
+P 14 14805.355643 16711.378887 -14344.664374 -31.483734
+V 14 3454.774290 18013.541071 24435.365772 -.000817
+P 15 16193.954991 4534.841301 20422.908365 377.690759
+V 15 -19041.836092 18179.600229 10663.243212 .052942
+P 16 25639.489097 1334.879704 6962.987383 1.995676
+V 16 7850.447003 4634.149524 -30075.595935 -.001613
+P 17 -20614.626592 16021.734736 -1065.840431 -93.767622
+V 17 -826.003148 -3638.404392 -32329.109481 .189476
+P 18 12904.465507 16081.080994 16941.801635 -118.809208
+V 18 -20878.157141 -4483.112982 19981.213599 -.037443
+P 19 9747.844490 -16207.606465 18757.694788 -11.842241
+V 19 6713.847495 22679.753236 16161.337927 -.008511
+P 20 6583.444546 -13961.006708 -21687.149319 -90.970373
+V 20 26542.996475 6642.032900 3810.489530 .027044
+P 21 3512.596675 16664.012372 20260.335666 87.968372
+V 21 -19643.684746 16934.965515 -10962.462900 .010781
+P 22 21714.943900 12804.976341 8490.522619 16.248538
+V 22 -10866.738380 -575.269195 29243.549799 .001153
+P 23 1442.836997 -23825.915678 -11626.595006 211.462585
+V 23 6414.445429 13393.231237 -26969.357699 .006069
+P 24 -16648.506151 -3408.444490 -20148.328706 89.359137
+V 24 18386.319208 -18671.399500 -11740.570968 .029207
+P 25 18662.747114 -2114.601648 -18406.063171 84.295398
+V 25 -13819.745589 19943.908067 -15941.196841 .007666
+P 26 -9423.128832 14669.901609 19532.014647 316.775935
+V 26 -8036.144282 -24350.678839 14775.272356 .055947
+P 27 -3965.675281 -17372.795735 20091.108783 513.215259
+V 27 16942.833309 -17771.920825 -12802.570512 .063470
+P 28 -21712.991585 -12500.684392 9516.048116 46.477443
+V 28 11875.097802 714.362337 28366.653537 .001123
+P 29 -11753.267457 10678.000953 21528.004899 179.571889
+V 29 -8454.719959 -25319.052752 8180.845634 -.189381
+P 30 4644.255698 16325.769210 -20705.144925 444.808948
+V 30 -25396.570540 -4421.887760 -9185.874665 -.143162
+* 2005 1 19 14 15 .00000000
+P 1 15794.468008 3320.325338 -20907.166708 383.741582
+V 1 7804.374261 25778.363842 9874.239527 .019424
+P 2 -20762.346842 9711.389155 -13651.993999 -42.869179
+V 2 9137.370492 -14368.013335 -24747.624322 .057647
+P 3 15698.407393 -3603.204325 21017.013299 77.948797
+V 3 10947.960070 24778.720963 -3642.451035 .030242
+P 4 -16930.992145 -2507.970790 -20391.668340 442.429181
+V 4 16386.539777 -19977.357025 -10813.542574 -.206597
+P 5 -9805.047210 14098.968085 -20379.100925 73.058851
+V 5 -25418.474472 -3708.349533 9907.841101 .024518
+P 6 6085.572818 25294.266103 -4854.426085 -167.534417
+V 6 -5778.591820 -4653.600706 -30410.298563 .882932
+P 7 -16221.624518 -17923.639528 -10754.790282 64.383796
+V 7 -2724.430852 -14346.060412 26835.507881 -.302441
+P 8 -7850.611657 -13292.967710 21394.025693 -19.006250
+V 8 18990.337890 -20054.308518 -5796.647104 -.011606
+P 9 -14120.469902 22072.102539 -3457.981827 -24.781761
+V 9 -4922.425905 1049.275838 31439.314186 -.017857
+P 10 -24629.569713 2118.828645 10039.140686 57.496968
+V 10 -12143.684609 -4172.867023 -28458.326008 .007041
+P 11 12687.851695 -23073.344105 -2612.655027 186.368357
+V 11 5786.338340 -198.452401 30312.429615 .036916
+P 13 -5186.262564 -25549.402788 -5310.133221 -13.846003
+V 13 3964.454562 5650.944039 -31329.999779 .009757
+P 14 15120.279208 18200.256837 -12028.082397 -31.483883
+V 14 3471.094350 15036.862978 26969.848891 -.000814
+P 15 14488.382077 6249.719254 21201.831331 377.695088
+V 15 -18782.468803 19880.805435 6618.927727 .052941
+P 16 26205.076018 1702.298661 4204.262072 1.995541
+V 16 4681.192361 3591.305850 -31141.851967 -.001612
+P 17 -20572.888703 15584.310112 -3957.038643 -93.750011
+V 17 1699.502729 -6127.425709 -31822.489939 .189512
+P 18 10922.290656 15704.312269 18591.244366 -118.812392
+V 18 -23109.774799 -3832.421266 16620.444080 -.037439
+P 19 10424.991007 -14110.181769 20048.107133 -11.842855
+V 19 8343.432595 23844.221997 12473.874724 -.008512
+P 20 8961.317982 -13431.408708 -21159.823196 -90.967961
+V 20 26208.839859 5121.690013 7891.354677 .027050
+P 21 1825.497321 18188.006428 19100.226634 87.969445
+V 21 -17808.450742 16852.415668 -14782.392313 .010786
+P 22 20595.835643 12741.527822 11042.243064 16.248378
+V 22 -13978.602932 -764.305298 27380.908396 .001194
+P 23 2093.486514 -22510.211849 -13946.760937 211.463139
+V 23 8081.075571 15775.538386 -24516.384354 .006071
+P 24 -15000.330966 -5170.709020 -21024.384474 89.360969
+V 24 18161.387751 -20441.263190 -7697.289212 .029197
+P 25 17418.045632 -227.813518 -19673.238073 84.295739
+V 25 -13766.980127 21936.579185 -12175.076168 .007654
+P 26 -10226.141470 12434.135465 20682.565304 316.781335
+V 26 -9808.697695 -25236.214758 10756.381397 .055943
+P 27 -2523.731726 -18957.784684 18774.514910 513.221208
+V 27 15076.628393 -17369.283417 -16418.005901 .063470
+P 28 -20506.975953 -12434.829127 11982.239801 46.477437
+V 28 14896.033930 681.054550 26361.342670 .001101
+P 29 -12588.835018 8390.306158 22081.043639 179.555068
+V 29 -10097.105815 -25428.975632 4092.843989 -.189385
+P 30 2310.400744 15978.620864 -21355.627224 444.795713
+V 30 -26387.402278 -3262.862102 -5248.908957 -.143166
+* 2005 1 19 14 30 .00000000
+P 1 16540.025579 5565.386099 -19838.225294 383.742473
+V 1 8707.765845 24037.326175 13844.639956 .019433
+P 2 -19900.055516 8303.770286 -15757.192343 -42.864021
+V 2 9947.041142 -16896.188417 -21969.822666 .057635
+P 3 16723.314531 -1420.827170 20507.798937 77.951066
+V 3 11779.428404 23647.347620 -7655.449112 .030245
+P 4 -15472.235919 -4382.094212 -21187.749136 442.410613
+V 4 15961.094014 -21615.702261 -6850.134048 -.206598
+P 5 -12044.652798 13824.035389 -19316.249299 73.060789
+V 5 -24268.693846 -2420.814669 13678.723327 .024500
+P 6 5493.661350 24747.750536 -7541.148176 -167.454827
+V 6 -7422.027758 -7443.459099 -29207.460626 .882898
+P 7 -16438.944656 -19079.819303 -8253.127057 64.356443
+V 7 -2036.367949 -11336.816491 28674.898917 -.302449
+P 8 -6212.308720 -15114.649139 20685.906201 -19.006454
+V 8 17370.200282 -20346.072834 -9917.875811 -.011605
+P 9 -14468.341495 22045.444146 -606.446576 -24.783929
+V 9 -2856.675855 -1690.614434 31835.853262 -.017854
+P 10 -25586.420040 1796.390967 7399.961984 57.498725
+V 10 -9073.884153 -3051.944711 -30106.602152 .007041
+P 11 13128.393327 -22970.521714 130.283021 186.371612
+V 11 4052.099746 2519.134298 30553.178812 .036922
+P 13 -4757.630624 -24904.603975 -8076.329203 -13.845162
+V 13 5615.551571 8626.023896 -30053.289083 .009756
+P 14 15416.774538 19413.043027 -9504.094509 -31.484096
+V 14 3042.106413 11894.621579 29037.836385 -.000810
+P 15 12826.371203 8103.515277 21610.489233 377.698524
+V 15 -18081.623754 21253.324900 2447.175137 .052941
+P 16 26476.805921 1992.783297 1373.461296 1.995506
+V 16 1335.577120 2930.171234 -31674.840524 -.001611
+P 17 -20319.485523 14911.907762 -6776.544795 -93.732856
+V 17 3866.571153 -8845.715576 -30738.143494 .189548
+P 18 8756.627300 15400.618257 19924.866979 -118.815992
+V 18 -24944.434687 -2869.723410 12972.684473 -.037436
+P 19 11250.048778 -11931.273262 20996.636874 -11.843694
+V 19 9985.834949 24488.403565 8574.678347 -.008514
+P 20 11284.954312 -13038.669000 -20270.711646 -90.965453
+V 20 25339.243485 3615.746100 11838.750590 .027055
+P 21 312.794146 19682.816295 17606.886179 87.970543
+V 21 -15782.780527 16282.781201 -18356.406489 .010790
+P 22 19204.456237 12679.745267 13405.146048 16.248363
+V 22 -16901.965913 -542.466117 25053.842335 .001238
+P 23 2902.849366 -20999.567938 -16027.000777 211.463700
+V 23 9928.020980 17716.756385 -21645.527134 .006072
+P 24 -13392.906884 -7077.841254 -21529.532392 89.362798
+V 24 17488.664364 -21877.134724 -3510.498510 .029187
+P 25 16197.275496 1824.065821 -20590.847385 84.295873
+V 25 -13295.282030 23599.039571 -8184.806605 .007642
+P 26 -11187.246250 10144.875659 21462.820329 316.786532
+V 26 -11533.004159 -25539.385796 6559.473986 .055939
+P 27 -1254.879021 -20484.516196 17143.451176 513.226685
+V 27 13110.619894 -16475.540819 -19780.736562 .063470
+P 28 -19038.271666 -12389.899235 14247.896637 46.477719
+V 28 17698.322610 254.806652 23916.487146 .001079
+P 29 -13566.449368 6116.631379 22262.844327 179.538156
+V 29 -11596.397091 -25011.283701 -57.552967 -.189389
+P 30 -90.709387 15742.590137 -21647.257183 444.782487
+V 30 -26886.531246 -1966.144710 -1222.282591 -.143169
+* 2005 1 19 14 45 .00000000
+P 1 17350.842196 7634.713290 -18422.531611 383.742604
+V 1 9244.193581 21885.715561 17568.528298 .019442
+P 2 -18985.701238 6674.346134 -17595.668519 -42.858959
+V 2 10296.574076 -19282.117641 -18829.070837 .057624
+P 3 17809.073288 641.386018 19643.301747 77.953450
+V 3 12290.270062 22118.659768 -11526.248657 .030247
+P 4 -14069.673429 -6387.940958 -21620.845639 442.392098
+V 4 15146.845006 -22892.550604 -2758.589953 -.206600
+P 5 -14159.175557 13658.511422 -17923.711224 73.063031
+V 5 -22644.905897 -1290.050336 17223.700318 .024482
+P 6 4742.098324 23964.108186 -10096.408786 -167.375356
+V 6 -9315.356039 -9911.584402 -27492.932584 .882864
+P 7 -16575.940385 -19963.900260 -5608.457762 64.329421
+V 7 -941.213883 -8315.280142 30009.632629 -.302457
+P 8 -4730.995920 -16940.072353 19613.783000 -19.008005
+V 8 15516.311014 -20132.178335 -13873.354312 -.011605
+P 9 -14644.351007 21760.180346 2255.698823 -24.785862
+V 9 -1113.094468 -4683.803882 31673.642405 -.017851
+P 10 -26255.948861 1558.076984 4635.331984 57.500252
+V 10 -5773.680693 -2310.509580 -31242.493767 .007040
+P 11 13426.690679 -22614.630529 2870.948358 186.375067
+V 11 2632.736067 5412.090935 30261.952199 .036926
+P 13 -4166.581463 -24007.214647 -10704.307847 -13.844352
+V 13 7562.245194 11251.687613 -28262.949728 .009755
+P 14 15654.196366 20339.329811 -6816.327857 -31.484071
+V 14 2158.362737 8687.099138 30604.244978 -.000807
+P 15 11245.302145 10063.218419 21640.705917 377.702977
+V 15 -16994.168696 22222.987852 -1778.420836 .052941
+P 16 26443.022308 2241.959974 -1480.900610 1.995287
+V 16 -2091.841878 2676.109507 -31664.524669 -.001611
+P 17 -19889.420729 13987.948782 -9473.136662 -93.715843
+V 17 5617.102938 -11701.476951 -29095.258373 .189584
+P 18 6446.033741 15195.066241 20919.529229 -118.819405
+V 18 -26321.544432 -1663.892899 9098.447533 -.037430
+P 19 12220.128038 -9717.999514 21587.172559 -11.844381
+V 19 11551.184153 24608.843818 4529.669337 -.008515
+P 20 13506.849693 -12777.476285 -19034.871804 -90.963062
+V 20 23952.497149 2212.903482 15585.461808 .027060
+P 21 -1012.378978 21103.899796 15805.410051 87.971367
+V 21 -13656.367061 15213.545717 -21619.368833 .010794
+P 22 17561.780398 12655.214229 15539.226745 16.248496
+V 22 -19549.008303 56.512974 22303.397742 .001282
+P 23 3883.420755 -19335.715649 -17831.926880 211.464392
+V 23 11871.116671 19174.572801 -18407.237677 .006073
+P 24 -11864.150300 -9096.304448 -21654.226306 89.364211
+V 24 16423.790621 -22903.848552 744.502456 .029178
+P 25 15035.917452 4007.831203 -21141.953052 84.296625
+V 25 -12456.650264 24855.877890 -4042.979699 .007630
+P 26 -12297.736645 7854.218698 21860.295277 316.791441
+V 26 -13112.622322 -25270.831378 2263.411143 .055935
+P 27 -164.223929 -21908.577617 15223.335545 513.232196
+V 27 11131.135466 -15088.918603 -22831.805978 .063471
+P 28 -17330.302640 -12399.551128 16275.220867 46.477709
+V 28 20200.107881 -523.853454 21072.285420 .001056
+P 29 -14669.288636 3903.176600 22070.855828 179.521284
+V 29 -12866.012902 -24097.418711 -4202.235314 -.189393
+P 30 -2513.827741 15626.348937 -21574.927925 444.769631
+V 30 -26874.655241 -615.027000 2827.996419 -.143173
+* 2005 1 19 15 0 .00000000
+P 1 18191.321288 9494.934231 -16685.249358 383.744033
+V 1 9359.218368 19405.090863 20980.642238 .019453
+P 2 -18059.828186 4839.871226 -19137.154762 -42.853848
+V 2 10208.123308 -21438.866253 -15379.445751 .057614
+P 3 18924.335404 2550.627093 18439.338391 77.957867
+V 3 12427.339339 20260.154914 -15188.390077 .030249
+P 4 -12755.647253 -8489.923913 -21682.532740 442.373715
+V 4 14004.871884 -23742.220524 1391.652056 -.206601
+P 5 -16107.827481 13584.890333 -16224.601581 73.065725
+V 5 -20591.332378 -390.153542 20481.547077 .024465
+P 6 3811.551364 22975.199279 -12475.376111 -167.295679
+V 6 -11386.551495 -11995.749618 -25295.375199 .882830
+P 7 -16596.707501 -20579.007852 -2867.082826 64.302469
+V 7 541.905573 -5374.813839 30821.695466 -.302465
+P 8 -3423.657310 -18722.590358 18195.840867 -19.010269
+V 8 13519.734699 -19390.584309 -17591.017923 -.011603
+P 9 -14679.923814 21197.388176 5077.932076 -24.786858
+V 9 256.867355 -7842.390725 30949.230976 -.017847
+P 10 -26621.553171 1368.083361 1792.220308 57.500984
+V 10 -2335.983448 -1982.330140 -31848.423413 .007038
+P 11 13612.851557 -21993.561648 5561.614682 186.378460
+V 11 1565.025290 8397.666110 29443.715213 .036930
+P 13 -3389.801529 -22891.809086 -13149.169944 -13.843519
+V 13 9729.403036 13460.924408 -25989.870926 .009755
+P 14 15791.906748 20977.795355 -4011.176453 -31.484129
+V 14 829.484559 5515.281244 31642.754243 -.000803
+P 15 9776.957373 12089.737295 21291.018630 377.708606
+V 15 -15589.202639 22729.334098 -5982.506068 .052940
+P 16 26100.760329 2486.938403 -4309.820431 1.995072
+V 16 -5503.068582 2836.606287 -31110.103653 -.001610
+P 17 -19322.114387 12804.509220 -11997.853466 -93.698656
+V 17 6911.398551 -14594.858838 -26924.808584 .189620
+P 18 4033.856633 15106.050791 21557.728560 -118.822810
+V 18 -27195.629522 -293.857297 5062.347275 -.037425
+P 19 13324.298388 -7516.968855 21809.650951 -11.845276
+V 19 12951.254526 24220.284014 407.153367 -.008517
+P 20 15581.958015 -12634.731054 -17473.272488 -90.960690
+V 20 22084.769649 996.956361 19067.514607 .027066
+P 21 -2145.090372 22406.445585 13726.542437 87.972367
+V 21 -11521.172943 13651.322024 -24511.120679 .010799
+P 22 15696.293734 12699.759989 17408.484540 16.248568
+V 22 -21841.144888 983.104434 19177.374708 .001325
+P 23 5039.846776 -17563.398982 -19330.968255 211.465321
+V 23 13820.679135 20124.538067 -14857.937190 .006071
+P 24 -10446.293788 -11186.413094 -21395.786499 89.365905
+V 24 15036.990079 -23460.424532 4990.684727 .029169
+P 25 13964.108286 6284.093114 -21316.314350 84.297296
+V 25 -11317.412891 25645.573499 174.432255 .007617
+P 26 -13540.434159 5612.345629 21869.646180 316.796708
+V 26 -14456.396242 -24462.262499 -2052.291243 .055931
+P 27 750.902697 -23186.202870 13044.747158 513.237848
+V 27 9224.100895 -13225.607790 -25515.657448 .063471
+P 28 -15413.445478 -12493.126717 18030.309807 46.477573
+V 28 22329.192287 -1599.885779 17874.996567 .001034
+P 29 -15873.069844 1792.556885 21508.645798 179.504342
+V 29 -13827.254083 -22735.340512 -8273.496180 -.189398
+P 30 -4912.729291 15630.954795 -21139.506103 444.756658
+V 30 -26349.415989 705.115292 6835.345670 -.143176
+* 2005 1 19 15 15 .00000000
+P 1 19021.718003 11120.512528 -14657.153559 383.744574
+V 1 9015.414304 16687.446758 24021.736842 .019463
+P 2 -17160.234120 2824.635779 -20356.450571 -42.848724
+V 2 9720.328103 -23286.415385 -11679.321539 .057604
+P 3 20033.600657 4280.642659 16917.521834 77.960856
+V 3 12151.822207 18149.502936 -18579.704199 .030251
+P 4 -11556.447579 -10647.163553 -21370.723148 442.355026
+V 4 12608.156475 -24113.196413 5529.382811 -.206603
+P 5 -17854.479356 13579.414280 -14247.359921 73.066969
+V 5 -18166.981746 214.516106 23395.337890 .024447
+P 6 2689.625256 21817.826557 -14636.206953 -167.216158
+V 6 -13553.986570 -13648.702566 -22652.451754 .882795
+P 7 -16467.806329 -20936.436465 -76.501412 64.275278
+V 7 2377.555530 -2603.032159 31102.440082 -.302474
+P 8 -2298.872835 -20414.461540 16456.581589 -19.010891
+V 8 11475.518236 -18119.132493 -21002.803878 -.011602
+P 9 -14610.394392 20346.494015 7809.904678 -24.788110
+V 9 1218.122993 -11069.324808 29669.994438 -.017845
+P 10 -26675.226394 1188.362231 -1081.207765 57.501463
+V 10 1141.660068 -2083.369525 -31915.418093 .007037
+P 11 13719.591403 -21102.901726 8155.431972 186.381867
+V 11 869.958078 11388.145649 28112.944983 .036933
+P 13 -2411.238677 -21598.291119 -15369.163505 -13.842461
+V 13 12031.310937 15202.660999 -23273.001179 .009754
+P 14 15790.982949 21336.094943 -1136.992740 -31.484353
+V 14 -916.147109 2477.045873 32136.219108 -.000800
+P 15 8446.362884 14139.257938 20566.770733 377.715026
+V 15 -13947.258096 22728.270465 -10089.439046 .052939
+P 16 25455.894065 2764.682380 -7064.642109 1.994904
+V 16 -8800.286815 3400.937058 -30020.093235 -.001608
+P 17 -18659.667665 11362.855095 -14305.026110 -93.681515
+V 17 7729.769433 -17422.224089 -24268.815456 .189655
+P 18 1566.786673 15144.524441 21827.926109 -118.825987
+V 18 -27538.098156 1154.471918 932.127867 -.037420
+P 19 14543.893254 -5372.665716 21660.223061 -11.846235
+V 19 14102.921275 23355.018741 -3723.263628 -.008517
+P 20 17469.247528 -12590.139230 -15612.454099 -90.958163
+V 20 19788.833856 43.455750 22225.243330 .027072
+P 21 -3088.647169 23547.103944 11406.168043 87.973294
+V 21 -9467.693763 11621.923181 -26977.799989 .010803
+P 22 13643.031509 12840.115290 18981.493003 16.248250
+V 22 -23711.847302 2174.057293 15729.473767 .001372
+P 23 6368.585582 -15728.729043 -20498.862500 211.465949
+V 23 15685.034476 20560.782258 -11058.998082 .006067
+P 24 -9164.702065 -13303.733702 -20758.484382 89.368649
+V 24 13410.120509 -23502.719710 9150.875855 .029161
+P 25 13005.475823 8608.653048 -21110.618859 84.297878
+V 25 -9955.360534 25923.171081 4389.720276 .007605
+P 26 -14890.338919 3465.696643 21492.648860 316.801787
+V 26 -15482.274013 -23164.743291 -6309.213930 .055926
+P 27 1500.761662 -24275.892654 10643.070810 513.243242
+V 27 7471.741544 -10919.728969 -27781.245850 .063471
+P 28 -13324.043892 -12694.438301 19483.673624 46.477555
+V 28 24025.559090 -2905.838820 14376.316717 .001015
+P 29 -17146.894452 -177.605010 20585.822602 179.487385
+V 29 -14412.272585 -20987.677474 -12204.956381 -.189402
+P 30 -7241.747094 15749.810254 -20347.841546 444.743924
+V 30 -25325.548786 1910.094006 10733.545837 -.143180
+* 2005 1 19 15 30 .00000000
+P 1 19799.745565 12494.523900 -12374.040363 383.746102
+V 1 8193.915362 13831.530921 26639.638475 .019474
+P 2 -16320.559285 659.711353 -21233.767610 -42.843557
+V 2 8886.610838 -24754.537904 -7790.439354 .057595
+P 3 21098.580283 5812.511628 15104.829036 77.964521
+V 3 11440.768831 15871.433110 -21643.316940 .030252
+P 4 -10491.365822 -12814.866175 -20689.773410 442.336075
+V 4 11038.734485 -23970.332609 9582.820927 -.206604
+P 5 -19368.902604 13613.072879 -12025.316708 73.068513
+V 5 -15443.581572 472.005972 25913.480370 .024430
+P 6 1371.583575 20532.301191 -16540.829771 -167.136566
+V 6 -15729.660579 -14839.978017 -19610.190826 .882761
+P 7 -16159.664926 -21054.987749 2715.422967 64.247996
+V 7 4515.522989 -78.657698 30852.367561 -.302482
+P 8 -1356.636668 -21968.660444 14426.397242 -19.012512
+V 8 9478.744603 -16335.880192 -24046.116342 -.011600
+P 9 -14473.453611 19205.931883 10402.428464 -24.788684
+V 9 1753.623158 -14262.142234 27854.379594 -.017842
+P 10 -26417.818927 980.253288 -3936.369304 57.501084
+V 10 4560.564935 -2611.239529 -31443.170505 .007036
+P 11 13780.774089 -19946.229502 10607.271431 186.385303
+V 11 551.996944 14294.211569 26293.351222 .036935
+P 13 -1222.909160 -20170.374638 -17326.380179 -13.841516
+V 13 14374.960260 16443.545577 -20158.686363 .009752
+P 14 15615.864321 21430.414531 1756.750590 -31.484459
+V 14 -3032.432888 -336.506736 32076.917613 -.000795
+P 15 7270.904575 16164.812757 19480.069053 377.720083
+V 15 -12156.996336 22194.086123 -14024.819204 .052938
+P 16 24522.956482 3110.382535 -9697.892935 1.994654
+V 16 -11889.492012 4340.544537 -28412.247858 -.001606
+P 17 -17945.024439 9673.583442 -16353.225087 -93.664340
+V 17 8073.207973 -20080.598285 -21179.263716 .189691
+P 18 -906.717819 15313.518714 21724.781889 -118.829444
+V 18 -27338.401455 2591.562608 -3222.382141 -.037416
+P 19 15853.118069 -3325.924085 21141.321572 -11.847000
+V 19 14931.433034 22061.607935 -7791.779910 -.008516
+P 20 19133.114154 -12617.093107 -13484.094960 -90.955674
+V 20 17132.166128 -583.319439 25004.300302 .027076
+P 21 -3854.295066 24485.687924 8884.689508 87.974343
+V 21 -7581.236049 9169.631089 -28973.063697 .010808
+P 22 11442.383635 13096.797304 20231.890102 16.248121
+V 22 -25109.001556 3554.962585 12018.379332 .001421
+P 23 7857.889621 -13877.506176 -21316.053391 211.466523
+V 23 17374.102352 20496.023548 -7075.669115 .006062
+P 24 -8036.977077 -15400.693873 -19753.482849 89.370206
+V 24 11633.220027 -23005.386557 13149.372622 .029153
+P 25 12176.256072 10934.088744 -20528.562184 84.298481
+V 25 -8456.367199 25662.250985 8525.146372 .007593
+P 26 -16315.603282 1455.336127 20738.026267 316.807069
+V 26 -16120.643155 -21446.199660 -10431.651152 .055922
+P 27 2102.724005 -25140.001318 8058.038817 513.248920
+V 27 5949.297677 -8222.622135 -29583.201495 .063471
+P 28 -11103.214190 -13020.762734 20610.694672 46.477733
+V 28 25243.480307 -4364.387257 10632.703485 .000995
+P 29 -18454.344370 -1975.896667 19317.875173 179.470275
+V 29 -14566.653164 -18929.380344 -15932.463475 -.189406
+P 30 -9457.295017 15968.916608 -19212.691748 444.730927
+V 30 -23834.434174 2920.159259 14457.695057 -.143183
+* 2005 1 19 15 45 .00000000
+P 1 20482.286721 13609.089018 -9876.049493 383.747333
+V 1 6895.197567 10938.932279 28790.129529 .019485
+P 2 -15569.051518 -1618.046039 -21754.990955 -42.838267
+V 2 7772.976414 -25785.298802 -3776.979869 .057585
+P 3 22079.670082 7135.131802 13033.084118 77.968370
+V 3 10287.992640 13514.402808 -24328.521669 .030252
+P 4 -9572.023110 -14945.874376 -19650.478960 442.317730
+V 4 9384.453984 -23296.462113 13480.876236 -.206605
+P 5 -20627.801640 13652.823607 -9596.168573 73.070737
+V 5 -12503.003708 344.993499 27990.699652 .024413
+P 6 -139.234656 19160.875580 -18155.661564 -167.057183
+V 6 -17822.724146 -15557.032032 -16222.155259 .882727
+P 7 -15647.820217 -20960.044666 5461.270310 64.220675
+V 7 6892.871580 2131.192575 30080.760670 -.302490
+P 8 -588.533056 -23340.680085 12141.016027 -19.013458
+V 8 7620.564402 -14078.577942 -26665.186079 -.011598
+P 9 -14307.478217 17783.446365 12808.477281 -24.789242
+V 9 1865.237962 -17317.123353 25531.933990 -.017841
+P 10 -25858.981634 706.134692 -6725.042241 57.501195
+V 10 7824.432874 -3545.328761 -30439.990153 .007035
+P 11 13829.916392 -18535.105942 12874.536733 186.388753
+V 11 599.012360 17028.368182 24017.408249 .036936
+P 13 174.604715 -18653.933375 -18987.387043 -13.840739
+V 13 16663.613463 17169.060546 -16699.897034 .009750
+P 14 15235.874073 21284.705667 4620.313589 -31.484736
+V 14 -5457.284110 -2844.442379 31466.632511 -.000789
+P 15 6259.759841 18117.998057 18049.602752 377.724311
+V 15 -10311.531873 21120.724340 -17717.028717 .052936
+P 16 23324.637205 3555.894731 -12164.105480 1.994445
+V 16 -14683.995883 5610.116757 -26313.321550 -.001603
+P 17 -17220.116300 7756.363499 -18106.097108 -93.647231
+V 17 7963.086756 -22472.068177 -17716.722445 .189726
+P 18 -3338.082469 15607.976597 21249.292833 -118.832957
+V 18 -26604.536421 3927.798991 -7330.380860 -.037411
+P 19 17219.940204 -1412.544303 20261.628445 -11.847696
+V 19 15373.381207 20402.989246 -11729.509610 -.008515
+P 20 20544.598012 -12683.806704 -11124.489918 -90.953133
+V 20 14194.486767 -832.969059 27356.593098 .027080
+P 21 -4460.589956 25186.772857 6206.300776 87.975048
+V 21 -5938.375447 6355.675211 -30459.170165 .010813
+P 22 9138.711405 13483.234138 21138.783652 16.248267
+V 22 -25996.722493 5043.215653 8106.795141 .001472
+P 23 9488.107848 -12053.572945 -21768.989934 211.467250
+V 23 18802.900476 19960.878282 -2975.963579 .006057
+P 24 -7072.391063 -17428.332731 -18398.632139 89.372185
+V 24 9800.700045 -21963.043372 16913.531077 .029145
+P 25 11484.731732 13211.481290 -19580.773277 84.298771
+V 25 -6910.656396 24856.098447 12504.657098 .007581
+P 26 -17778.778904 -384.428728 19621.138050 316.812375
+V 26 -16317.053307 -19388.302728 -14348.049960 .055918
+P 27 2580.499398 -25746.228550 5333.166953 513.254536
+V 27 4721.883065 -5201.439825 -30883.014151 .063471
+P 28 -8795.482303 -13482.080695 21392.023631 46.477692
+V 28 25953.141951 -5891.226834 6704.647337 .000975
+P 29 -19754.789742 -3578.103437 17725.933114 179.453070
+V 29 -14251.525209 -16644.957657 -19394.965063 -.189411
+P 30 -11519.323418 16267.415109 -17752.559850 444.718292
+V 30 -21923.058849 3663.118661 17945.176117 -.143187
+* 2005 1 19 16 0 .00000000
+P 1 21027.140267 14465.450161 -7206.915217 383.750366
+V 1 5139.075604 8110.104922 30437.649952 .019496
+P 2 -14927.548740 -3967.198111 -21911.857234 -42.833039
+V 2 6455.396726 -26335.105785 295.355175 .057574
+P 3 22937.475051 8245.401778 10738.369243 77.971689
+V 3 8704.315279 11167.180578 -26591.512198 .030252
+P 4 -8802.003792 -16992.332450 -18269.953379 442.299358
+V 4 7735.460276 -22093.329907 17154.455422 -.206607
+P 5 -21615.594860 13662.988506 -7001.368091 73.073673
+V 5 -9434.269349 -187.533578 29588.949705 .024396
+P 6 -1831.323270 17746.106728 -19452.241852 -166.977311
+V 6 -19743.150461 -15805.643806 -12548.434573 .882693
+P 7 -14913.954331 -20682.423773 8114.833390 64.193326
+V 7 9436.420284 3973.210408 28805.197735 -.302498
+P 8 21.736436 -24490.249126 9640.832173 -19.013621
+V 8 5984.385036 -11403.305452 -28812.279498 -.011597
+P 9 -14149.820731 16096.013800 14984.167320 -24.789427
+V 9 1573.811897 -20133.537227 22742.853611 -.017840
+P 10 -25016.795706 331.032366 -9400.134701 57.501400
+V 10 10842.778174 -4847.595656 -28922.648317 .007035
+P 11 13898.717305 -16888.758334 14917.925119 186.392272
+V 11 982.896222 19508.293254 21325.711007 .036936
+P 13 1771.985401 -17095.282291 -20323.784293 -13.839866
+V 13 18800.515013 17383.925231 -12955.357032 .009749
+P 14 14626.557045 20929.633018 7404.541975 -31.485079
+V 14 -8114.968716 -4978.970683 30316.568639 -.000781
+P 15 5413.670789 19950.769821 16300.324522 377.729380
+V 15 -8504.544143 19522.240915 -21098.742393 .052934
+P 16 21890.975737 4128.305791 -14420.610739 1.994276
+V 16 -17107.667277 7149.329931 -23758.667430 -.001600
+P 17 -16524.077415 5639.292784 -19533.066784 -93.630757
+V 17 7439.916232 -24507.905043 -13948.737088 .189762
+P 18 -5680.282874 16014.906356 20408.828351 -118.836457
+V 18 -25362.860978 5077.063209 -11321.257270 -.037404
+P 19 18607.228340 337.895726 19035.942622 -11.848385
+V 19 15379.256548 18454.057867 -15469.588933 -.008515
+P 20 21682.356661 -12754.662850 -8573.948472 -90.950835
+V 20 11064.829692 -671.054299 29241.132738 .027085
+P 21 -4932.465031 25621.125229 3418.170900 87.975996
+V 21 -4603.757791 3255.973325 -31407.880716 .010820
+P 22 6778.827599 14005.171691 21687.068307 16.248276
+V 22 -26356.567831 6551.264381 4060.445032 .001523
+P 23 11232.294892 -10297.259409 -21850.324355 211.467945
+V 23 19894.840313 19002.507770 1170.471592 .006050
+P 24 -6271.671758 -19338.118973 -16718.125453 89.374084
+V 24 8007.356654 -20390.600596 20375.285193 .029138
+P 25 10931.016113 15392.209171 -18284.587475 84.298657
+V 25 -5408.889623 23518.016673 16255.544639 .007570
+P 26 -19238.277717 -2027.126938 18163.549681 316.817276
+V 26 -16034.235753 -17082.894693 -17992.243383 .055913
+P 27 2963.093440 -26068.953164 2515.084461 513.260245
+V 27 3841.625815 -1937.048717 -31650.195137 .063472
+P 28 -6447.298419 -14080.589215 21813.907629 46.477742
+V 28 26141.730566 -7398.235778 2655.887862 .000957
+P 29 -21004.863017 -4967.931531 15836.449382 179.436171
+V 29 -13445.135966 -14225.382145 -22535.355689 -.189415
+P 30 -13392.655591 16618.398881 -15991.445226 444.705302
+V 30 -19652.411201 4077.215759 21136.630123 -.143191
+* 2005 1 19 16 15 .00000000
+P 1 21394.732271 15073.693260 -4413.162742 383.752757
+V 1 2963.926888 5440.490765 31555.807912 .019507
+P 2 -14410.712088 -6343.088538 -21702.050653 -42.827821
+V 2 5016.872593 -26376.251167 4360.248988 .057563
+P 3 23634.326730 9148.096423 8260.375924 77.973812
+V 3 6717.162387 8915.474555 -28395.973553 .030252
+P 4 -8176.812588 -18907.403180 -16571.389232 442.280799
+V 4 6180.542663 -20381.794989 20537.783217 -.206608
+P 5 -22324.911128 13606.774658 -4285.435739 73.076902
+V 5 -6330.241068 -1129.218706 30678.227181 .024378
+P 6 -3685.248410 16329.217364 -20407.768902 -166.897937
+V 6 -21405.396378 -15609.563204 -8654.484516 .882658
+P 7 -13946.692817 -20257.054374 10631.838967 64.166119
+V 7 12065.538367 5409.533322 27050.975542 -.302507
+P 8 497.496373 -25382.890342 6970.135354 -19.014753
+V 8 4642.392044 -8382.321874 -30448.716547 -.011595
+P 9 -14035.127752 14169.383608 16889.689552 -24.790009
+V 9 918.428776 -22617.863170 19537.368091 -.017840
+P 10 -23917.102999 -175.870931 -11916.435712 57.501917
+V 10 13534.138592 -6463.996165 -26916.120313 .007035
+P 11 14015.672056 -15033.471369 16702.123267 186.395590
+V 11 1660.823644 21659.976364 18266.172900 .036934
+P 13 3551.346293 -15539.455263 -21312.680559 -13.838913
+V 13 20692.610021 17111.775575 -8988.586033 .009747
+P 14 13770.782042 20401.276632 10061.705405 -31.485243
+V 14 -10918.980055 -6687.900924 28647.110996 -.000771
+P 15 4725.070569 21617.242787 14262.999071 377.735331
+V 15 -6826.348300 17432.417488 -24108.359059 .052932
+P 16 20258.279725 4848.683738 -16428.288079 1.994080
+V 16 -19097.781083 8885.193477 -20791.679015 -.001596
+P 17 -15891.610625 3357.902147 -20609.886103 -93.614159
+V 17 6561.244717 -26112.211046 -9948.068669 .189798
+P 18 -7889.462687 16513.854631 19217.059280 -118.840005
+V 18 -23657.214624 5960.226362 -15125.793321 -.037396
+P 19 19974.099696 1902.990694 17484.948911 -11.849153
+V 19 14915.496982 16298.799909 -18948.263552 -.008515
+P 20 22533.357379 -12791.720887 -5876.121183 -90.948313
+V 20 7838.248270 -80.572513 30624.776573 .027089
+P 21 -5300.031135 25766.898235 569.556215 87.977009
+V 21 -3627.393444 -41.775505 -31801.144415 .010827
+P 22 4410.395783 14660.381292 21867.651495 16.248367
+V 22 -26188.115582 7990.025104 -52.949316 .001575
+P 23 13057.102906 -8643.977926 -21559.008081 211.468405
+V 23 20584.694704 17682.659886 5293.489489 .006042
+P 24 -5627.147963 -21083.759599 -14742.022843 89.375377
+V 24 6344.381422 -18322.728314 23472.547926 .029132
+P 25 10507.190140 17429.731427 -16663.674493 84.300376
+V 25 -4038.262707 21680.773858 19709.999961 .007558
+P 26 -20649.980995 -3454.867058 16392.500493 316.822245
+V 26 -15253.369191 -14628.133043 -21304.462572 .055909
+P 27 3283.525682 -26090.348219 -347.237651 513.265787
+V 27 3345.233701 1478.722221 -31863.366337 .063472
+P 28 -4105.479685 -14810.507008 21868.445241 46.477785
+V 28 25813.939236 -8796.802973 -1447.427359 .000938
+P 29 -22160.048304 -6137.441579 13680.807996 179.418762
+V 29 -12143.831202 -11764.767220 -25301.295501 -.189419
+P 30 -15048.155968 16989.969084 -13958.506474 444.692590
+V 30 -17095.355569 4113.662369 23976.927528 -.143194
+* 2005 1 19 16 30 .00000000
+P 1 21549.724291 15452.131272 -1543.267325 383.754096
+V 1 425.188309 3016.895261 32127.698051 .019517
+P 2 -14025.534292 -8699.321379 -21129.218090 -42.822490
+V 2 3544.272061 -25897.901940 8351.662223 .057552
+P 3 24135.735945 9855.445628 5641.709542 77.977455
+V 3 4369.539135 6838.730567 -29713.531294 .030252
+P 4 -7684.161259 -20646.968773 -14583.700437 442.262276
+V 4 4803.490090 -18201.273759 23569.708303 -.206610
+P 5 -22756.779052 13447.859725 -1495.203935 73.077765
+V 5 -3284.125696 -2465.956354 31237.262668 .024361
+P 6 -5674.211084 14948.522388 -21005.525714 -166.818729
+V 6 -22731.895441 -15009.416694 -4609.843053 .882624
+P 7 -12742.141216 -19721.537086 12970.613942 64.138990
+V 7 14695.145743 6418.783830 24850.466942 -.302515
+P 8 867.948828 -25991.253725 4176.258380 -19.015837
+V 8 3652.561758 -5101.226262 -31545.664229 -.011594
+P 9 -13993.769079 12037.243260 18490.170393 -24.791826
+V 9 -45.313396 -24687.849274 15974.707209 -.017840
+P 10 -22592.561216 -839.881783 -14231.338219 57.502593
+V 10 15828.961727 -8326.496095 -24453.227781 .007035
+P 11 14204.826843 -13001.710150 18196.424650 186.399080
+V 11 2577.106361 23420.517254 14893.087230 .036932
+P 13 5486.727764 -14028.543731 -21937.078657 -13.837966
+V 13 22254.133081 16394.133795 -4866.869149 .009745
+P 14 12659.566612 19739.640134 12546.307084 -31.485315
+V 14 -13775.315602 -7936.485606 26487.431205 -.000761
+P 15 4178.558527 23075.416898 11973.628036 377.740671
+V 15 -5360.102075 14903.538821 -26691.308967 .052930
+P 16 18467.808819 5731.062999 -18152.258009 1.993978
+V 16 -20607.360870 10734.909968 -17463.079975 -.001592
+P 17 -15351.576393 953.860507 -21319.021571 -93.597213
+V 17 5398.830972 -27224.922209 -5790.860081 .189834
+P 18 -9926.441937 17077.684543 17693.777616 -118.843560
+V 18 -21547.364037 6508.412672 -18677.385330 -.037386
+P 19 21277.425641 3268.183761 15634.890381 -11.849885
+V 19 13965.947596 14027.081824 -22105.943097 -.008516
+P 20 23093.261122 -12756.327361 -3077.264555 -90.945873
+V 20 4612.279505 937.237510 31482.850158 .027093
+P 21 -5597.160723 25610.541135 -2289.138275 87.977891
+V 21 -3042.573895 -3441.520957 -31631.538004 .010834
+P 22 2080.306921 15438.677754 21677.586710 16.248399
+V 22 -25508.890124 9272.344420 -4164.703516 .001628
+P 23 14923.921741 -7123.018591 -20900.286113 211.468953
+V 23 20821.131925 16075.183776 9323.565139 .006035
+P 24 -5123.247388 -22622.922943 -12505.655882 89.376561
+V 24 4895.551818 -15812.492617 26150.453391 .029127
+P 25 10197.783439 19281.283225 -14747.533377 84.301713
+V 25 -2878.792707 19395.219338 22806.508646 .007546
+P 26 -21968.927796 -4658.727382 14340.290692 316.827194
+V 26 -13974.579026 -12124.527028 -24232.125751 .055904
+P 27 3577.352825 -25801.221724 -3203.350883 513.271038
+V 27 3252.121690 4946.411948 -31511.218314 .063472
+P 28 -1815.634544 -15658.182847 21553.763150 46.477774
+V 28 24991.866894 -10001.215539 -5537.643008 .000921
+P 29 -23176.330821 -7087.176694 11294.859479 179.401172
+V 29 -10362.405503 -9356.920397 -27645.996956 -.189423
+P 30 -16463.685814 17346.499699 -11687.637588 444.679977
+V 30 -14334.048004 3738.726649 26416.124142 -.143198
+* 2005 1 19 16 45 .00000000
+P 1 21462.456238 15626.378024 1353.206753 383.756510
+V 1 -2406.800455 914.255199 32146.031429 .019527
+P 2 -13771.138813 -10989.302708 -20202.904458 -42.817196
+V 2 2125.048117 -24906.510809 12204.712238 .057539
+P 3 24411.727267 10386.436852 2927.159672 77.980031
+V 3 1718.435911 5007.213592 -30524.062976 .030251
+P 4 -7304.577156 -22171.247600 -12341.049069 442.243290
+V 4 3679.608153 -15608.429127 26194.959796 -.206611
+P 5 -22920.498082 13151.979919 1320.994698 73.078783
+V 5 -385.924471 -4166.220879 31254.064919 .024344
+P 6 -7764.910836 13637.985511 -21235.186133 -166.739192
+V 6 -23656.231991 -14060.918514 -486.756362 .882589
+P 7 -11304.146497 -19114.636229 15092.691597 64.111773
+V 7 17238.809159 6996.500782 22242.435119 -.302523
+P 8 1166.783163 -26296.167755 1308.664496 -19.015913
+V 8 3056.299983 -1655.558698 -32084.681830 -.011593
+P 9 -14050.454669 9740.044093 19756.422213 -24.793292
+V 9 -1247.691722 -26275.978069 12121.766786 -.017840
+P 10 -21081.457678 -1679.647223 -16305.525477 57.502680
+V 10 17672.067712 -10355.599760 -21574.183041 .007035
+P 11 14484.724023 -10831.010904 19375.257205 186.402472
+V 11 3665.556444 24740.473092 11266.076948 .036929
+P 13 7544.905344 -12600.158694 -22186.165825 -13.836997
+V 13 23409.934477 15288.706405 -660.167104 .009742
+P 14 11292.593036 18987.023119 14815.851493 -31.485401
+V 14 -16586.038279 -8708.585866 23874.952357 -.000750
+P 15 3751.704125 24288.757815 9472.764391 377.746451
+V 15 -4178.320896 12004.384575 -28801.195532 .052927
+P 16 16564.274122 6781.706168 -19562.504591 1.994009
+V 16 -21606.919775 12609.141148 -13830.072421 -.001589
+P 17 -14925.862867 -1526.556976 -21649.875949 -93.580111
+V 17 4035.254288 -27804.046214 -1554.806751 .189870
+P 18 -11758.056705 17673.632366 15864.606271 -118.846957
+V 18 -19106.819657 6665.904376 -21913.262707 -.037375
+P 19 22473.439933 4427.142299 13517.147896 -11.850746
+V 19 12532.673563 11731.211870 -24888.207664 -.008516
+P 20 23366.482366 -12610.767564 -225.455949 -90.943601
+V 20 1483.299946 2362.796987 31799.633505 .027098
+P 21 -5859.916196 25147.382013 -5107.325358 87.978819
+V 21 -2864.510216 -6842.661365 -30902.442718 .010841
+P 22 -166.908219 16322.246488 21120.113390 16.248331
+V 22 -24353.643470 10316.385057 -8206.209531 .001682
+P 23 16790.224265 -5756.588531 -19885.591450 211.469499
+V 23 20568.727427 14263.113007 13192.892575 .006028
+P 24 -4737.322855 -23918.803995 -10048.928985 89.379865
+V 24 3733.770828 -12929.228918 28362.405938 .029122
+P 25 9980.574613 20909.412243 -12570.870469 84.302257
+V 25 -1999.964526 16728.146006 25491.048865 .007534
+P 26 -23151.014533 -5638.790744 12043.607121 316.831852
+V 26 -12216.691358 -9671.029711 -26730.412415 .055900
+P 27 3881.053411 -25201.535726 -6002.271566 513.276686
+V 27 3563.225037 8362.722189 -30593.276458 .063473
+P 28 379.376158 -16602.507270 20874.109100 46.477867
+V 28 23714.301796 -10931.992969 -9546.555561 .000904
+P 29 -24011.848693 -7825.979031 8718.387139 179.384171
+V 29 -8133.801939 -7091.886272 -29528.973463 -.189427
+P 30 -17624.808697 17650.066924 -9216.959344 444.667042
+V 30 -11456.974552 2935.289605 28410.386323 -.143202
+* 2005 1 19 17 0 .00000000
+P 1 21110.169329 15628.153355 4226.470731 383.757441
+V 1 -5449.509077 -807.082788 31613.086094 .019538
+P 2 -13638.875880 -13167.792689 -18938.409501 -42.812076
+V 2 843.941045 -23425.636926 15856.539999 .057525
+P 3 24438.006849 10765.871534 162.948361 77.983322
+V 3 -1167.266956 3479.472276 -30815.877556 .030251
+P 4 -7012.312298 -23446.260304 -9882.262641 442.224842
+V 4 2872.548431 -12675.143376 28365.318200 -.206612
+P 5 -22833.193132 12688.456298 4114.180576 73.081863
+V 5 2281.026002 -6182.106093 30726.295620 .024327
+P 6 -9918.675540 12425.965325 -21092.994608 -166.660039
+V 6 -24125.860115 -12832.465735 3641.248719 .882555
+P 7 -9644.279483 -18474.760473 16963.354846 64.084465
+V 7 19611.829052 7154.972125 19271.322040 -.302531
+P 8 1430.605448 -26287.365440 -1582.002675 -19.016286
+V 8 2876.809262 1853.000402 -32058.004637 -.011593
+P 9 -14223.098645 7323.538877 20665.565884 -24.793940
+V 9 -2607.980451 -27332.375665 8051.557729 -.017841
+P 10 -19426.323807 -2706.253511 -18103.612086 57.503494
+V 10 19024.602081 -12463.309994 -18326.037032 .007035
+P 11 14867.579254 -8562.684202 20218.612445 186.405880
+V 11 4852.258671 25585.664384 7448.959227 .036925
+P 13 9686.480767 -11286.073837 -22055.503739 -13.836065
+V 13 24098.420067 13867.073107 3560.019026 .009739
+P 14 9678.396177 18186.320764 16831.558033 -31.485571
+V 14 -19252.983777 -9007.119104 20854.684143 -.000739
+P 15 3416.144624 25227.564568 6804.732917 377.752899
+V 15 -3339.859112 8817.525246 -30400.735810 .052923
+P 16 14594.210872 7998.673297 -20634.415307 1.993773
+V 16 -22085.527168 14415.553573 -9955.357199 -.001586
+P 17 -14628.579423 -4034.164785 -21598.848198 -93.562921
+V 17 2560.148124 -27827.062260 2682.598868 .189907
+P 18 -13358.276600 18264.604811 13760.600191 -118.849968
+V 18 -16420.095676 6392.564488 -24775.678955 -.037365
+P 19 23519.389555 5381.818599 11167.731813 -11.851508
+V 19 10636.089191 9502.399432 -27246.750411 -.008516
+P 20 23365.921320 -12319.893650 2630.228672 -90.941151
+V 20 -1457.087146 4158.805639 31568.698779 .027104
+P 21 -6124.890707 24381.858339 -7835.205846 87.979760
+V 21 -3089.757292 -10144.040546 -29627.950879 .010850
+P 22 -2290.573902 17286.267457 20204.603426 16.248137
+V 22 -22773.018982 11048.817407 -12109.970377 .001739
+P 23 18611.066553 -4559.129106 -18532.342343 211.470058
+V 23 19809.383689 12335.425990 16836.445281 .006021
+P 24 -4440.768510 -24941.467759 -7415.536012 89.382309
+V 24 2918.105521 -9755.756273 30070.910630 .029116
+P 25 9827.671550 22283.292883 -10172.879618 84.303339
+V 25 -1457.883360 13759.512153 27718.061720 .007521
+P 26 -24154.640640 -6403.835681 9542.806416 316.836871
+V 26 -10016.291279 -7361.331973 -28762.639413 .055896
+P 27 4230.340346 -24300.568504 -8693.481213 513.281988
+V 27 4260.596501 11624.625804 -29120.415540 .063474
+P 28 2440.886148 -17615.617614 19839.855906 46.478184
+V 28 22035.398626 -11519.051785 -13406.429825 .000885
+P 29 -24628.488301 -8370.499070 5994.508023 179.367359
+V 29 -5508.159679 -5052.595103 -30916.741099 -.189431
+P 30 -18525.216025 17861.991947 -6588.229514 444.654289
+V 30 -8555.710168 1703.797389 29922.866097 -.143206
+* 2005 1 19 17 15 .00000000
+P 1 20477.964277 15493.869920 7027.363880 383.757711
+V 1 -8611.367492 -2103.478796 30540.491121 .019549
+P 2 -13612.712034 -15192.415076 -17356.567107 -42.806886
+V 2 -220.229138 -21495.181013 19247.165189 .057512
+P 3 24196.922256 11023.213745 -2604.032058 77.986490
+V 3 -4209.311440 2300.269677 -30585.769910 .030250
+P 4 -6776.518376 -24445.083815 -7250.151231 442.206012
+V 4 2431.592074 -9485.846534 30040.664431 -.206614
+P 5 -22519.067395 12031.596491 6835.605784 73.084263
+V 5 4643.277468 -8451.046550 29661.455780 .024310
+P 6 -12092.811027 11334.201637 -20581.816473 -166.580728
+V 6 -24104.252479 -11402.223623 7700.808139 .882521
+P 7 -7781.543597 -17838.484541 18552.114785 64.057203
+V 7 21734.218773 6922.495135 15986.523962 -.302540
+P 8 1697.256310 -25963.856732 -4444.882835 -19.017005
+V 8 3118.249941 5320.657617 -31468.564206 -.011593
+P 9 -14521.989074 4837.093878 21201.502886 -24.795915
+V 9 -4038.075727 -27826.890373 3841.443900 -.017841
+P 10 -17672.399505 -3922.607061 -19594.731049 57.503507
+V 10 19865.408149 -14556.420137 -14762.032047 .007035
+P 11 15358.722206 -6240.382588 20712.369571 186.409258
+V 11 6058.634639 25938.373394 3508.552066 .036921
+P 13 11867.216009 -10111.100990 -21547.114831 -13.835029
+V 13 24273.994483 12211.851064 7721.813974 .009734
+P 14 7834.216367 17379.316020 18559.009480 -31.485552
+V 14 -21681.473285 -8853.776566 17478.441589 -.000728
+P 15 3138.928341 25870.067071 4016.776156 377.757479
+V 15 -2887.491843 5436.046216 -31462.472381 .052918
+P 16 12604.287280 9371.717693 -21349.227619 1.993704
+V 16 -22051.155002 16062.504820 -5906.042846 -.001584
+P 17 -14465.598863 -6518.650138 -21169.240953 -93.545851
+V 17 1066.250617 -27291.459305 6845.691455 .189943
+P 18 -14709.054163 18810.668571 11417.742556 -118.853552
+V 18 -13579.510939 5665.669724 -27213.047337 -.037356
+P 19 24375.165810 6142.192255 8626.692350 -11.852211
+V 19 8314.390628 7427.243910 -29140.239522 -.008516
+P 20 23112.377678 -11852.665377 5440.560301 -90.938864
+V 20 -4125.492884 6271.559686 30793.088762 .027110
+P 21 -6427.533582 23327.385798 -10424.718357 87.980762
+V 21 -3696.448159 -13247.958693 -27832.506903 .010858
+P 22 -4255.217893 18299.813407 18946.415036 16.248252
+V 22 -20831.644526 11407.704879 -15810.622488 .001798
+P 23 20340.687326 -3536.934760 -16863.646165 211.470509
+V 23 18543.109536 10383.602419 20192.989142 .006014
+P 24 -4200.375399 -25668.917164 -4652.112573 89.383515
+V 24 2491.446983 -6385.066052 31248.169333 .029112
+P 25 9706.820777 23379.766823 -7596.446016 84.304038
+V 25 -1293.048803 10579.163698 29451.176047 .007509
+P 26 -24942.240797 -6970.707921 6881.172406 316.841774
+V 26 -7426.157431 -5280.483674 -30300.461199 .055892
+P 27 4658.474816 -23116.699711 -11227.959854 513.287516
+V 27 5307.851153 14633.605507 -27115.069776 .063475
+P 28 4335.725376 -18663.875875 18467.411602 46.478138
+V 28 20022.778565 -11704.584495 -17051.066762 .000866
+P 29 -24993.365209 -8744.412425 3169.013240 179.350133
+V 29 -2551.228240 -3311.733772 -31783.461627 -.189435
+P 30 -19166.852508 17944.440124 -3846.177404 444.641747
+V 30 -5721.511431 62.555307 30924.503974 -.143210
+* 2005 1 19 17 30 .00000000
+P 1 19559.460972 15263.059374 9708.179654 383.758423
+V 1 -11795.225992 -2949.443891 28948.859813 .019561
+P 2 -13669.900412 -17025.072233 -15483.448194 -42.801509
+V 2 -997.576376 -19170.055570 22320.328920 .057498
+P 3 23678.180974 11191.276087 -5326.980733 77.989890
+V 3 -7322.895420 1499.045109 -29838.958457 .030248
+P 4 -6562.641015 -25148.839678 -4490.736983 442.187725
+V 4 2389.512881 -6134.303942 31189.872101 -.206615
+P 5 -22008.380847 11161.912949 9437.640444 73.086805
+V 5 6640.119907 -10898.160703 28076.869573 .024293
+P 6 -14242.115029 10377.082313 -19711.059006 -166.501482
+V 6 -23572.390905 -9854.829847 11620.142708 .882487
+P 7 -5741.823724 -17239.161810 19833.123774 64.030051
+V 7 23533.486375 6342.104269 12441.662269 -.302548
+P 8 2004.090103 -25333.935135 -7229.852987 -19.017148
+V 8 3765.720077 8645.577875 -30329.754226 -.011593
+P 9 -14949.300404 2331.853729 21355.223161 -24.798164
+V 9 -5446.456105 -27750.272379 -428.736215 -.017842
+P 10 -15866.002196 -5323.122431 -20753.058341 57.503784
+V 10 20191.765944 -16540.026529 -10940.860527 .007036
+P 11 15956.321429 -3908.589281 20848.510576 186.412655
+V 11 7204.671897 25797.895174 -486.550218 .036916
+P 13 14039.561307 -9092.240562 -20669.462854 -13.834200
+V 13 23908.914393 10413.438435 11754.150095 .009729
+P 14 5785.523160 16605.029604 19968.725424 -31.485472
+V 14 -23783.892223 -8288.025917 13803.961755 -.000718
+P 15 2884.044500 26203.208648 1158.147272 377.762325
+V 15 -2846.201424 1959.850967 -31969.238953 .052914
+P 16 10639.615384 10882.514338 -21694.373038 1.993590
+V 16 -21530.286447 17462.724035 -1752.462739 -.001582
+P 17 -14434.456208 -8930.366420 -20371.029418 -93.528521
+V 17 -354.540017 -26214.434404 10862.082388 .189979
+P 18 -15800.870111 19270.674915 8876.342366 -118.856623
+V 18 -10681.650694 4481.066722 -29180.991901 -.037347
+P 19 25004.853431 6725.702863 5937.456648 -11.852950
+V 19 5622.305362 5584.386145 -30535.082446 -.008516
+P 20 22633.667515 -11183.542344 8157.011021 -90.936170
+V 20 -6449.876399 8632.923946 29485.328201 .027116
+P 21 -6800.532818 22005.872369 -12830.445411 87.981636
+V 21 -4645.322030 -16064.015264 -25550.298625 .010866
+P 22 -6031.725030 19326.990116 17366.655491 16.248158
+V 22 -18605.720450 11344.980922 -19245.937467 .001859
+P 23 21934.147621 -2688.086320 -14907.914642 211.470914
+V 23 16788.132452 8498.100469 23206.037647 .006009
+P 24 -3979.866199 -26087.845018 -1807.345499 89.386213
+V 24 2478.881118 -2916.639359 31876.436648 .029107
+P 25 9582.886010 24184.072019 -4887.296126 84.304796
+V 25 -1528.831199 7283.216179 30663.681716 .007496
+P 26 -25481.651465 -7363.406403 4104.162457 316.846975
+V 26 -4513.161098 -3501.943881 -31323.919705 .055888
+P 27 5194.659893 -21676.815393 -13559.223567 513.293166
+V 27 6651.478291 17299.817420 -24611.096891 .063476
+P 28 6037.326505 -19709.088559 16779.031539 46.478060
+V 28 17755.102513 -11445.539948 -20416.912650 .000849
+P 29 -25080.135267 -8977.369336 289.653607 179.332899
+V 29 657.811946 -1928.953404 -32111.512262 -.189439
+P 30 -19559.732156 17862.015724 -1037.770293 444.628935
+V 30 -3041.868330 -1952.668149 31394.734835 -.143214
+* 2005 1 19 17 45 .00000000
+P 1 18357.137954 14976.700397 12223.452696 383.760100
+V 1 -14901.987858 -3338.372537 26867.289571 .019573
+P 2 -13781.909751 -18633.216369 -13349.988409 -42.796328
+V 2 -1429.868304 -16518.326853 25024.321564 .057483
+P 3 22879.303299 11304.792835 -7959.939505 77.991897
+V 3 -10419.723996 1088.952620 -28588.914001 .030247
+P 4 -6333.976376 -25547.373781 -1652.411550 442.169407
+V 4 2761.121195 -2719.994664 31791.511908 -.206617
+P 5 -21336.193865 10067.105583 11874.648191 73.089567
+V 5 8225.931943 -13439.126800 25999.457444 .024275
+P 6 -16320.493370 9561.218521 -18496.466807 -166.421893
+V 6 -22529.541120 -8277.861537 15330.423385 .882453
+P 7 -3557.096644 -16705.673439 20785.522861 64.002923
+V 7 24947.138647 5469.818641 8693.853636 -.302556
+P 8 2386.288705 -24414.822753 -9888.449379 -19.018073
+V 8 4786.037951 11731.818002 -28664.956312 -.011594
+P 9 -15498.969788 -141.157066 21124.941408 -24.800444
+V 9 -6742.273761 -27114.398208 -4678.590487 -.017842
+P 10 -14052.859196 -6893.731870 -21558.266605 57.502871
+V 10 20019.464450 -18321.140740 -6925.831761 .007037
+P 11 16651.402385 -1611.087009 20625.224717 186.416048
+V 11 8212.187347 25180.428299 -4467.206894 .036910
+P 13 16154.320606 -8238.139566 -19437.326959 -13.833321
+V 13 22994.479115 8566.457049 15587.948779 .009724
+P 14 3565.228045 15898.190489 21036.652186 -31.485391
+V 14 -25483.001790 -7365.440053 9893.933368 -.000709
+P 15 2614.072880 26223.083215 -1720.827611 377.767637
+V 15 -3222.236486 -1508.287218 -31914.372520 .052909
+P 16 8742.129968 12505.213759 -21663.711430 1.993441
+V 16 -20566.799145 18536.839514 2433.077536 -.001580
+P 17 -14524.595758 -11222.063796 -19220.508763 -93.511365
+V 17 -1614.933061 -24631.811651 14663.906666 .190015
+P 18 -16632.949999 19603.955517 6180.342344 -118.860033
+V 18 -7823.627358 2853.590623 -30643.284171 -.037340
+P 19 25378.137768 7156.393548 3146.102086 -11.853682
+V 19 2629.197710 4041.451863 -31406.075330 -.008517
+P 20 21963.476743 -10293.671921 10732.601468 -90.933736
+V 20 -8372.245667 11162.885903 27667.263481 .027121
+P 21 -7272.323878 20446.900565 -15010.454433 87.982671
+V 21 -5881.490428 -18512.612977 -22824.424942 .010875
+P 22 -7598.253994 20328.277794 15491.854946 16.248274
+V 22 -16180.184604 10828.428109 -22357.794252 .001920
+P 23 23348.950337 -2002.700137 -12698.396083 211.471494
+V 23 14580.340192 6764.881719 25824.739411 .006003
+P 24 -3741.542435 -26194.044052 1068.939015 89.389418
+V 24 2886.823744 547.440425 31948.139590 .029102
+P 25 9419.430461 24690.237063 -2093.116169 84.305440
+V 25 -2170.693551 3970.264238 31338.756715 .007484
+P 26 -25747.267924 -7611.926152 1258.655095 316.852123
+V 26 -1355.728613 -2085.138260 -31821.370261 .055883
+P 27 5862.589729 -20015.350784 -15644.331580 513.298722
+V 27 8222.989406 19545.959573 -21653.274259 .063477
+P 28 7526.591889 -20709.927839 14802.529330 46.478029
+V 28 15319.188971 -10715.599645 -23444.194757 .000832
+P 29 -24870.085078 -9103.712092 -2594.622065 179.315538
+V 29 4029.061403 -948.521800 -31891.965111 -.189443
+P 30 -19721.447066 17583.289653 1788.578311 444.616126
+V 30 -597.148445 -4289.733316 31322.071017 -.143218
+* 2005 1 19 18 0 .00000000
+P 1 16882.342377 14675.513387 14530.695515 383.760822
+V 1 -17834.276382 -3282.551474 24332.746630 .019585
+P 2 -13915.581394 -19990.931695 -10991.542157 -42.791094
+V 2 -1472.857817 -13618.881239 27312.790664 .057468
+P 3 21805.794867 11398.933538 -10458.524096 77.995687
+V 3 -13411.170261 1066.501801 -26857.087623 .030246
+P 4 -6053.325362 -25639.597424 1214.960405 442.150596
+V 4 3542.559905 655.765481 31834.342559 -.206618
+P 5 -20540.925845 8742.765819 14103.831652 73.090678
+V 5 9371.925800 -15983.476350 23465.297080 .024258
+P 6 -18282.612628 8885.342935 -16959.798063 -166.342166
+V 6 -20993.286889 -6758.217332 18767.047648 .882418
+P 7 -1264.431277 -16261.354570 21393.723503 63.975478
+V 7 25924.837203 4372.470853 4802.979777 -.302565
+P 8 2875.279602 -23231.973282 -12374.738493 -19.019231
+V 8 6129.278004 14492.971208 -26506.887549 -.011594
+P 9 -16156.939712 -2532.909797 20516.061485 -24.802652
+V 9 -7839.369412 -25951.544283 -8829.059671 -.017841
+P 10 -12276.464114 -8612.219701 -21995.899807 57.502348
+V 10 19382.195259 -19812.274609 -2783.949374 .007039
+P 11 17428.155841 610.534035 20046.902951 186.419410
+V 11 9007.995615 24118.318946 -8364.942283 .036903
+P 13 18162.392403 -7548.878409 -17871.570106 -13.832441
+V 13 21541.509153 6766.026237 19157.284516 .009718
+P 14 1212.615791 15287.884737 21744.562050 -31.485435
+V 14 -26714.860918 -6155.417806 5814.954736 -.000701
+P 15 2291.882121 25935.012457 -4569.694855 377.773358
+V 15 -4002.973118 -4866.747239 -31301.675336 .052903
+P 16 6949.099172 14207.301129 -21257.650335 1.993313
+V 16 -19220.165066 19216.610957 6577.598509 -.001578
+P 17 -14717.943584 -13350.490791 -17739.838969 -93.493933
+V 17 -2635.687250 -22596.272764 18188.853709 .190050
+P 18 -17213.140945 19772.021472 3376.548787 -118.863368
+V 18 -5099.291323 816.715092 -31572.636507 -.037332
+P 19 25471.514823 7463.797123 300.576933 -11.854313
+V 19 -583.405082 2852.408089 -31736.921257 -.008519
+P 20 21139.995161 -9171.824654 13122.726087 -90.931306
+V 20 -9850.815954 13772.595406 25369.729760 .027126
+P 21 -7865.787363 18686.615310 -16927.055042 87.983808
+V 21 -7336.850884 -20527.972514 -19705.873832 .010883
+P 22 -8940.883497 21262.025348 13353.554478 16.248738
+V 22 -13645.551333 9843.085019 -25093.111614 .001981
+P 23 24546.579970 -1463.483138 -10272.631154 211.472042
+V 23 11972.070880 5262.109026 28004.688169 .005998
+P 24 -3447.974420 -25992.464220 3926.687848 89.389982
+V 24 3702.936503 3906.410843 31465.773528 .029098
+P 25 9180.335263 24901.132895 737.339286 84.305546
+V 25 -3206.165403 737.585180 31469.463009 .007471
+P 26 -25720.957174 -7750.906284 -1607.791075 316.857138
+V 26 1959.028448 -1073.578764 -31789.309104 .055879
+P 27 6679.226468 -18173.005337 -17444.833129 513.304321
+V 27 9941.819439 21310.637804 -18296.422864 .063478
+P 28 8792.484060 -21623.504339 12570.885128 46.478042
+V 28 12806.769068 -9506.556733 -26078.063471 .000817
+P 29 -24352.957445 -9161.004908 -5434.467065 179.298615
+V 29 7465.063291 -397.518658 -31124.957362 -.189446
+P 30 -19676.383465 17082.198286 4583.846401 444.603357
+V 30 1542.530093 -6881.895307 30704.536695 -.143222
+* 2005 1 19 18 15 .00000000
+P 1 15154.973454 14398.286446 16591.075290 383.761280
+V 1 -20500.001771 -2812.459845 21389.353735 .019599
+P 2 -14034.475403 -21079.787658 -8447.365119 -42.785949
+V 2 -1098.140602 -10558.684320 29145.520854 .057452
+P 3 20471.033886 11507.811685 -12780.626557 77.998636
+V 3 -16211.435973 1411.806868 -24672.544761 .030244
+P 4 -5684.675855 -25433.474241 4060.971570 442.131786
+V 4 4711.389123 3893.788041 31317.569936 -.206620
+P 5 -19662.787139 7192.770500 16086.029073 73.092231
+V 5 10067.206379 -18438.168916 20518.978092 .024241
+P 6 -20085.522716 8340.531624 -15128.391014 -166.262501
+V 6 -18998.831705 -5378.567217 21870.799130 .882384
+P 7 1095.187184 -15923.132171 21647.623458 63.947914
+V 7 26430.146780 3125.187119 830.954031 -.302573
+P 8 3497.325210 -21818.067368 -14646.117416 -19.019905
+V 8 7730.984802 16855.328232 -23896.690017 -.011595
+P 9 -16901.751087 -4798.141032 19540.975278 -24.803597
+V 9 -8660.014122 -24312.767660 -12804.197973 -.017841
+P 10 -10576.518041 -10448.873278 -22057.661024 57.500802
+V 10 18330.278413 -20934.868502 1415.095729 .007042
+P 11 18264.522524 2718.272456 19124.024993 186.422783
+V 11 9526.859751 22658.696957 -12113.117279 .036897
+P 13 20016.520609 -7016.095425 -15998.804157 -13.831604
+V 13 19580.088844 5104.007566 22400.513700 .009713
+P 14 -1227.965557 14796.433636 22080.356066 -31.485349
+V 14 -27431.251175 -4738.383896 1636.435390 -.000694
+P 15 1882.304639 25353.264346 -7338.804490 377.780217
+V 15 -5157.568630 -8018.979455 -30145.139733 .052897
+P 16 5291.825326 15950.728008 -20483.146345 1.993037
+V 16 -17563.037072 19447.735094 10608.765259 -.001575
+P 17 -14989.770532 -15277.809797 -15956.506694 -93.477190
+V 17 -3348.606920 -20175.011908 21380.981551 .190086
+P 18 -17557.450970 19740.196183 513.797465 -118.866980
+V 18 -2595.549338 -1578.564147 -31951.325615 -.037324
+P 19 25269.255797 7681.606989 -2550.119156 -11.855380
+V 19 -3924.777603 2055.439885 -31520.602211 -.008520
+P 20 20204.384056 -7815.038559 15285.940763 -90.928739
+V 20 -10861.536991 16367.772888 22632.048586 .027130
+P 21 -8597.188693 16766.367215 -18547.457301 87.984751
+V 21 -8933.028990 -22060.535559 -16252.350448 .010890
+P 22 -10053.963351 22086.043319 10987.812409 16.249462
+V 22 -11094.533744 8392.024550 -27404.729535 .002038
+P 23 25493.905620 -1046.572758 -7671.839606 211.472899
+V 23 9030.293178 4057.137007 29708.645296 .005991
+P 24 -3063.664203 -25496.921465 6716.514679 89.392239
+V 24 4896.804697 7064.626124 30441.594056 .029095
+P 25 8831.387311 24828.188520 3555.128769 84.305667
+V 25 -4605.541031 -2322.506352 31058.533930 .007459
+P 26 -25392.701593 -7818.135435 -4447.659398 316.862245
+V 26 5338.409329 -493.579413 -31232.125729 .055875
+P 27 7653.868147 -16195.184991 -18927.618550 513.309907
+V 27 11718.848188 22551.034735 -14604.179892 .063479
+P 28 9832.311970 -22407.034221 10121.751747 46.478067
+V 28 10310.990821 -7829.021616 -28269.715573 .000802
+P 29 -23527.475826 -9188.428995 -8180.964527 179.281294
+V 29 10864.311813 -284.656944 -29819.932260 -.189450
+P 30 -19454.671649 16339.254878 7299.272682 444.590838
+V 30 3320.063336 -9650.192253 29549.929266 -.143227
+* 2005 1 19 18 30 .00000000
+P 1 13202.854175 14180.294874 18370.022840 383.762578
+V 1 -22815.701472 -1975.399761 18087.597867 .019612
+P 2 -14100.359667 -21889.430236 -5760.028236 -42.780921
+V 2 -294.463896 -7429.716134 30489.174406 .057437
+P 3 18895.877989 11663.042738 -14887.080778 77.999595
+V 3 -18740.604320 2089.430721 -22071.511659 .030242
+P 4 -5194.841718 -24945.652958 6835.614852 442.113221
+V 4 6227.458911 6900.889203 30250.864719 -.206621
+P 5 -18742.148552 5429.347015 17786.444038 73.095699
+V 5 10319.094236 -20711.297270 17212.763529 .024223
+P 6 -21690.185043 7910.736882 -13034.632170 -166.183320
+V 6 -16597.607814 -4214.016374 24588.867836 .882349
+P 7 3478.170251 -15700.902503 21542.756345 63.920383
+V 7 26441.826555 1808.595400 -3159.020206 -.302581
+P 8 4272.331982 -20211.746675 -16664.031546 -19.019459
+V 8 9514.890849 18760.516991 -20883.006227 -.011596
+P 9 -17705.454173 -6896.939984 18218.708442 -24.806770
+V 9 -9138.203868 -22265.499334 -16532.786306 -.017841
+P 10 -8987.514267 -12367.430610 -21741.606038 57.500600
+V 10 16928.754691 -21622.434495 5600.009983 .007046
+P 11 19133.029297 4678.964025 17872.943447 186.425858
+V 11 9714.112851 20861.565058 -15648.041998 .036891
+P 13 21672.989167 -6623.445331 -13850.955656 -13.830629
+V 13 17158.576231 3665.363160 25261.349480 .009708
+P 14 -3708.607145 14438.543372 22038.266046 -31.485244
+V 14 -27601.515534 -3202.573960 -2570.543010 -.000689
+P 15 1353.718648 24500.429823 -9980.206744 377.784719
+V 15 -6638.361870 -10877.156718 -28468.457190 .052890
+P 16 3794.587106 17693.273006 -19353.587897 1.992778
+V 16 -15678.317754 19192.110045 14456.199435 -.001572
+P 17 -15309.801330 -16972.780292 -13902.723264 -93.460088
+V 17 -3699.002552 -17446.940209 24191.324548 .190122
+P 18 -17689.267730 19479.114507 -2357.928079 -118.870144
+V 18 -388.946991 -4265.575926 -31771.623566 -.037315
+P 19 24764.086758 7846.183787 -5356.781063 -11.856204
+V 19 -7298.342248 1671.436499 -30759.591822 -.008519
+P 20 19199.137283 -6228.945054 17184.697867 -90.926199
+V 20 -11398.924717 18852.352856 19501.363118 .027133
+P 21 -9475.401141 14731.170583 -19844.319338 87.986080
+V 21 -10584.708658 -23078.667008 -12526.997947 .010895
+P 22 -10940.156228 22759.237154 8434.634083 16.250087
+V 22 -8618.567971 6496.467480 -29252.226538 .002090
+P 23 26164.395055 -722.630389 -4940.246295 211.473301
+V 23 5834.239394 3203.905374 30907.164846 .005983
+P 24 -2556.615013 -24729.476298 9390.557736 89.395484
+V 24 6421.326114 9935.075617 28897.129690 .029091
+P 25 8341.773732 24490.790762 6311.977894 84.305491
+V 25 -6323.244560 -5126.012585 30117.981029 .007447
+P 26 -24760.957680 -7852.969043 -7214.172277 316.867012
+V 26 8687.341993 -353.582897 -30161.799956 .055870
+P 27 8787.554551 -14130.241612 -20065.645693 513.315500
+V 27 13460.366337 23244.728492 -10647.463237 .063480
+P 28 10651.696129 -23019.537362 7496.861652 46.478098
+V 28 7922.801711 -5712.400434 -29977.468625 .000787
+P 29 -22401.541924 -9225.102215 -10786.470297 179.264123
+V 29 14124.985809 -599.794736 -27995.730983 -.189454
+P 30 -19090.908103 15342.520947 9887.240718 444.577914
+V 30 4693.639732 -12506.374764 27875.886652 -.143231
+* 2005 1 19 18 45 .00000000
+P 1 11060.816941 14051.871815 19837.767285 383.765702
+V 1 -24709.539228 -833.518242 14483.473631 .019626
+P 2 -14074.789773 -22417.886437 -2974.767369 -42.775722
+V 2 931.574168 -4325.680076 31317.977630 .057423
+P 3 17108.005066 11892.403777 -16742.283446 78.002453
+V 3 -20927.481575 3049.792250 -19096.839333 .030241
+P 4 -4554.989082 -24200.761537 9490.216906 442.094619
+V 4 8034.531827 9593.509764 28654.137887 -.206623
+P 5 -17817.915656 3472.805035 19175.291762 73.097105
+V 5 10152.695527 -22715.764513 13605.578209 .024206
+P 6 -23062.846771 7573.605629 -10715.339645 -166.103989
+V 6 -13855.260916 -3329.116234 26875.713918 .882315
+P 7 5839.733290 -15597.169026 21080.373858 63.893306
+V 7 25954.626152 505.844173 -7103.205482 -.302589
+P 8 5212.931363 -18456.140723 -18394.598786 -19.020735
+V 8 11396.139395 20167.447689 -17520.842643 -.011598
+P 9 -18534.790431 -8796.089091 16574.430322 -24.808242
+V 9 -9222.365253 -19890.492971 -19949.730507 -.017839
+P 10 -7537.521124 -14326.293400 -21052.236188 57.500891
+V 10 15254.902294 -21823.291786 9699.049352 .007051
+P 11 20001.842807 6465.336429 16315.571062 186.429369
+V 11 9527.854278 18797.421750 -18910.013435 .036885
+P 13 23093.195617 -6347.375043 -11464.738031 -13.829745
+V 13 14341.910936 2524.768039 27689.863330 .009702
+P 14 -6179.478256 14220.758231 21618.952793 -31.485167
+V 14 -27213.743302 -1640.525147 -6734.390983 -.000684
+P 15 679.473402 23406.488542 -12448.495710 377.789332
+V 15 -8382.941776 -13365.410362 -26304.339418 .052884
+P 16 2473.864463 19390.078313 -17888.561292 1.992490
+V 16 -13655.827747 18429.465429 18052.758077 -.001567
+P 17 -15643.518701 -18411.675083 -11614.776598 -93.442900
+V 17 -3647.556086 -14499.570512 26578.312696 .190158
+P 18 -17638.287157 18966.025353 -5188.407698 -118.873220
+V 18 1457.336775 -7164.480387 -31036.019098 -.037308
+P 19 23957.554731 7994.955805 -8070.855692 -11.857048
+V 19 -10605.269361 1703.153385 -29465.898695 -.008518
+P 20 18166.400255 -4427.761753 18786.014553 -90.923763
+V 20 -11476.161295 21132.218634 16031.821948 .027136
+P 21 -10501.440366 12628.041881 -20796.176639 87.987107
+V 21 -12203.198044 -23569.603182 -8597.054023 .010899
+P 22 -11610.166853 23243.220171 5737.331507 16.250510
+V 22 -6304.364295 4195.217302 -30602.658575 .002139
+P 23 26539.094148 -458.147598 -2124.355712 211.473322
+V 23 2472.574058 2740.832347 31579.110993 .005978
+P 24 -1899.746556 -23719.513158 11903.286656 89.399000
+V 24 8214.732609 12442.494387 26862.543564 .029087
+P 25 7685.426328 23915.399760 8961.091216 84.306039
+V 25 -8299.784576 -7600.196539 28668.554350 .007436
+P 26 -23832.723507 -7894.713504 -9861.959141 316.872047
+V 26 11911.622332 -644.095918 -28597.559565 .055866
+P 27 10072.842414 -12027.591107 -20838.516610 513.321022
+V 27 15072.279803 23390.556738 -6502.690666 .063481
+P 28 11264.207974 -23423.499767 4741.340711 46.478125
+V 28 5727.351661 -3204.119846 -31167.752634 .000773
+P 29 -20992.092198 -9308.387516 -13205.456664 179.246866
+V 29 17148.770750 -1314.178443 -25680.516866 -.189457
+P 30 -18622.698609 14088.293641 12302.159763 444.565225
+V 30 5638.423672 -15356.267918 25709.744362 -.143236
+* 2005 1 19 19 0 .00000000
+P 1 8769.538452 14037.181415 20969.791244 383.768109
+V 1 -26123.862910 538.699936 10637.576036 .019639
+P 2 -13920.722693 -22671.566506 -138.774274 -42.770446
+V 2 2555.478048 -1338.595420 31614.335171 .057408
+P 3 15141.011495 12218.643377 -18314.763202 78.005640
+V 3 -22712.131645 4231.087909 -15797.389165 .030240
+P 4 -3741.985494 -23230.393078 11978.340858 442.075860
+V 4 10062.581552 11900.920049 26557.082737 -.206624
+P 5 -16925.975167 1350.944505 20228.347499 73.099979
+V 5 9609.736453 -24372.775282 9761.849826 .024189
+P 6 -24176.209013 7301.546807 -8211.076236 -166.024383
+V 6 -10849.103187 -2775.337395 28693.763761 .882281
+P 7 8135.350969 -15606.953862 20267.459052 63.866162
+V 7 24979.559279 -700.480621 -10938.107339 -.302597
+P 8 6323.859014 -16597.249767 -19809.131470 -19.021027
+V 8 13284.722777 21053.561958 -13870.426313 -.011600
+P 9 -19352.587400 -10470.107229 14638.848979 -24.810793
+V 9 -8877.369765 -17278.297661 -22997.212239 -.017838
+P 10 -6247.211268 -16279.963663 -20000.484980 57.502425
+V 10 13395.259006 -21502.781851 13641.225595 .007055
+P 11 20835.998641 8056.832643 14478.978498 186.432660
+V 11 8940.642334 16544.514020 -21844.264646 .036878
+P 13 24245.042862 -6158.187917 -8881.037680 -13.828802
+V 13 11209.278002 1743.609406 29643.393771 .009696
+P 14 -8590.540734 14141.238032 20829.498994 -31.485055
+V 14 -26275.256952 -145.403329 -10784.185146 -.000682
+P 15 -160.897981 22107.606739 -14701.584640 377.794378
+V 15 -10316.779489 -15422.529231 -23693.683565 .052877
+P 16 1337.876454 20995.301772 -16113.504102 1.992365
+V 16 -11588.707459 17158.291035 21335.752826 -.001561
+P 17 -15953.607291 -19578.906661 -9132.353026 -93.425935
+V 17 -3171.559549 -11425.711595 28508.025839 .190194
+P 18 -17439.195152 18185.842650 -7928.105849 -118.876689
+V 18 2895.951557 -10185.334706 -29757.218449 -.037302
+P 19 22860.063533 8164.776004 -10645.295493 -11.857731
+V 19 -13748.191920 2135.090577 -27660.933656 -.008516
+P 20 17146.313210 -2433.950612 20062.061334 -90.921198
+V 20 -11124.456781 23118.879535 12283.626298 .027138
+P 21 -11668.324613 10504.287573 -21387.749075 87.987806
+V 21 -13700.074615 -23539.629170 -4532.484071 .010904
+P 22 -12082.166775 23503.845386 2941.820592 16.251020
+V 22 -4230.612271 1543.425968 -31431.203952 .002185
+P 23 26607.334283 -216.916333 727.814848 211.473642
+V 23 -959.802205 2689.288873 31712.057958 .005976
+P 24 -1072.103576 -22502.562287 14212.246214 89.401072
+V 24 10203.144720 14525.959072 24375.873657 .029083
+P 25 6842.168008 23134.422061 11457.908414 84.307772
+V 25 -10464.174272 -9686.017383 26739.065828 .007424
+P 26 -22623.317264 -7981.031317 -12347.692275 316.876861
+V 26 14921.079498 -1338.216689 -26565.509937 .055862
+P 27 11493.961427 -9935.798681 -21232.885825 513.326749
+V 27 16464.330157 23008.479971 -2249.831987 .063483
+P 28 11690.692036 -23586.432347 1902.937766 46.477932
+V 28 3800.566086 -368.102764 -31815.982857 .000760
+P 29 -19324.611934 -9472.256777 -15395.341113 179.229833
+V 29 19844.621375 -2381.431064 -22911.516212 -.189461
+P 30 -18089.079907 12581.475960 14501.322886 444.552714
+V 30 6147.558714 -18103.433024 23088.172509 -.143240
+* 2005 1 19 19 15 .00000000
+P 1 6374.167425 14153.237908 21747.202544 383.771207
+V 1 -27017.238131 2057.373630 6614.154429 .019651
+P 2 -13604.104331 -22664.958675 2699.563693 -42.765289
+V 2 4535.484101 1444.606655 31369.351572 .057393
+P 3 13033.299357 12658.485189 -19577.691090 78.008663
+V 3 -24048.017137 5561.662670 -12227.343367 .030239
+P 4 -2739.515603 -22071.827182 14256.637910 442.057189
+V 4 12230.662583 13767.873079 23998.500660 -.206626
+P 5 -16097.777516 -901.836551 20927.385158 73.102673
+V 5 8746.713433 -25614.991591 5750.233655 .024171
+P 6 -25010.345991 7063.001894 -5565.407620 -165.945049
+V 6 -7665.146408 -2589.096323 30013.932831 .882246
+P 7 10322.213207 -15717.987889 19116.668506 63.839008
+V 7 23543.639841 -1731.448670 -14601.278330 -.302605
+P 8 7601.653111 -14682.248584 -20884.552666 -19.022328
+V 8 15089.085622 21415.340974 -9996.013984 -.011602
+P 9 -20119.301292 -11901.960841 12447.514439 -24.810898
+V 9 -8085.795878 -14525.436353 -25625.576231 -.017837
+P 10 -5129.177444 -18180.652565 -18603.594329 57.504098
+V 10 11442.252619 -20644.865881 17357.549249 .007059
+P 11 21598.757917 9440.174401 12394.911049 186.435821
+V 11 7940.625603 14185.827588 -24401.814626 .036873
+P 13 25104.094753 -6021.356087 -6144.223182 -13.827948
+V 13 7851.211503 1367.492952 31087.342941 .009690
+P 14 -10893.274989 14189.868320 19683.296614 -31.484927
+V 14 -24812.381665 1192.696009 -14650.835948 -.000681
+P 15 -1180.723339 20644.719937 -16701.400379 377.798246
+V 15 -12356.299912 -17004.028985 -20684.615632 .052870
+P 16 386.449501 22463.819409 -14059.252477 1.992367
+V 16 -9569.697348 15396.025670 24248.084252 -.001556
+P 17 -16201.480544 -20467.352096 -6497.842667 -93.408802
+V 17 -2265.520452 -8320.094786 29954.308787 .190230
+P 18 -17130.156339 17131.899963 -10529.082812 -118.880064
+V 18 3897.185431 -13231.589950 -27957.922347 -.037296
+P 19 21490.575627 8390.300894 -13035.391972 -11.858485
+V 19 -16634.888076 2934.099293 -25375.198184 -.008515
+P 20 16175.444397 -277.553261 20990.659424 -90.918692
+V 20 -10391.696093 24732.943088 8321.958703 .027139
+P 21 -12961.260781 8405.810139 -21610.125277 87.988370
+V 21 -14990.756897 -23013.502877 -404.627967 .010912
+P 22 -12380.934248 23512.597331 95.865191 16.251645
+V 22 -2464.964980 -1389.275301 -31721.697999 .002228
+P 23 26367.139923 38.392056 3567.532449 211.474054
+V 23 -4365.199279 3052.714826 31302.562881 .005977
+P 24 -59.814781 -21118.914267 16278.727290 89.402987
+V 24 12303.544128 16140.888221 21482.180518 .029080
+P 25 5798.622952 22184.888579 13760.799614 84.308755
+V 25 -12736.764948 -11340.008643 24365.683514 .007412
+P 26 -21155.877616 -8146.419311 -14630.688335 316.881687
+V 26 17632.578521 -2392.725496 -24098.242645 .055858
+P 27 13027.342462 -7900.721069 -21242.689038 513.332681
+V 27 17554.109437 22138.460071 2029.618518 .063484
+P 28 11958.292994 -23482.260114 -968.817622 46.478042
+V 28 2206.039572 2717.466325 -31907.277250 .000748
+P 29 -17432.319076 -9745.776631 -17317.283047 179.212611
+V 29 22132.311937 -3739.268907 -19734.564088 -.189464
+P 30 -17528.883946 10835.609547 16445.722402 444.539936
+V 30 6232.433099 -20652.977790 20056.590649 -.143245
+* 2005 1 19 19 30 .00000000
+P 1 3922.795363 14409.205013 22157.019427 383.772762
+V 1 -27365.893220 3632.494192 2480.137363 .019663
+P 2 -13095.369944 -22420.022452 5491.465808 -42.760220
+V 2 6813.865431 3945.356985 30583.237591 .057378
+P 3 10826.791507 13221.862212 -20509.325687 78.011208
+V 3 -24903.672389 6962.751216 -8445.442996 .030238
+P 4 -1538.917682 -20766.541553 16285.629438 442.038575
+V 4 14450.220752 15156.597151 21025.435379 -.206627
+P 5 -15359.113733 -3245.698065 21260.497178 73.106327
+V 5 7632.441193 -26389.219598 1642.255044 .024153
+P 6 -25553.342955 6823.865501 -2824.121334 -165.865720
+V 6 -4394.840354 -2790.402198 30815.975000 .882212
+P 7 12360.633049 -15911.176116 17646.200761 63.811730
+V 7 21689.078133 -2514.793460 -18032.153203 -.302613
+P 8 9034.677247 -12757.777504 -21603.705169 -19.023415
+V 8 16719.716820 21268.083829 -5964.701128 -.011604
+P 9 -20794.638471 -13083.424766 10040.054060 -24.813504
+V 9 -6848.419672 -11730.472830 -27793.952464 -.017836
+P 10 -4187.564621 -19980.002247 -16884.878080 57.505130
+V 10 9490.561623 -19253.026901 20782.287900 .007062
+P 11 22253.039002 10609.647275 10099.233684 186.439128
+V 11 6532.076978 11805.929768 -26540.210413 .036868
+P 13 25654.449713 -5899.030500 -3301.388554 -13.827153
+V 13 4366.245011 1424.358351 31995.842583 .009684
+P 14 -13042.353129 14348.699469 18199.830075 -31.484603
+V 14 -22869.504110 2290.334689 -18268.233186 -.000683
+P 15 -2385.527416 19061.960185 -18414.487498 377.802291
+V 15 -14412.256364 -18083.530041 -17331.446157 .052864
+P 16 -388.779737 23752.911261 -11761.491084 1.992199
+V 16 -7687.446818 13178.498298 26739.267830 -.001552
+P 17 -16348.834039 -21078.375587 -3755.639717 -93.391752
+V 17 -941.148646 -5276.046303 30898.773811 .190266
+P 18 -16751.172357 15806.376480 -12945.875889 -118.883412
+V 18 4450.043722 -16203.870627 -25670.383465 -.037290
+P 19 19875.989535 8702.456218 -15199.573176 -11.859363
+V 19 -19181.783942 4050.698970 -22647.795749 -.008514
+P 20 15285.375289 2004.771653 21555.677107 -90.916034
+V 20 -9340.424410 25907.242663 4215.814192 .027139
+P 21 -14358.143280 6375.498116 -21460.827030 87.989724
+V 21 -15997.861195 -22033.174250 3715.107885 .010920
+P 22 -12536.739727 23247.789197 -2751.721399 16.252132
+V 22 -1061.421002 -4521.221446 -31467.041040 .002267
+P 23 25825.319380 344.598697 6346.164202 211.474179
+V 23 -7646.709568 3816.416194 30356.302920 .005980
+P 24 1143.229891 -19612.083446 18068.358004 89.406165
+V 24 14427.039428 17260.393256 18232.629568 .029076
+P 25 4548.858237 21106.992902 15831.688990 84.308706
+V 25 -15032.328193 -12535.510757 21591.079904 .007400
+P 26 -19460.604236 -8420.808894 -16673.473790 316.886525
+V 26 19972.778187 -3749.698289 -21234.425479 .055854
+P 27 14642.490081 -5963.791387 -20869.189117 513.338260
+V 27 18270.664429 20838.429712 6254.660132 .063485
+P 28 12099.223017 -23092.480933 -3823.513696 46.478026
+V 28 992.393942 5963.012828 -31436.983944 .000737
+P 29 -15355.043822 -10151.779873 -18936.930607 179.195751
+V 29 23945.622202 -5311.898203 -16203.449132 -.189468
+P 30 -16979.112500 8872.563980 18100.802848 444.527052
+V 30 5922.182814 -22915.351754 16668.366619 -.143250
+* 2005 1 19 19 45 .00000000
+P 1 1464.825512 14805.999952 22192.366980 383.773978
+V 1 -27164.530777 5171.406452 -1695.863458 .019676
+P 2 -12370.797589 -21965.297947 8188.590707 -42.754757
+V 2 9318.886332 6096.463305 29265.577971 .057362
+P 3 8565.519473 13911.411038 -21093.386469 78.013750
+V 3 -25263.847793 8351.497762 -4514.156050 .030236
+P 4 -139.707872 -19358.576979 18030.403674 442.019897
+V 4 16628.696521 16048.051779 17692.146058 -.206628
+P 5 -14729.136085 -5636.730395 21222.289882 73.108945
+V 5 6345.107624 -26658.515891 -2489.094264 .024134
+P 6 -25801.632239 6548.998277 -34.421963 -165.786163
+V 6 -1131.649043 -3382.163239 31088.662728 .882178
+P 7 14215.358271 -16161.326335 15879.588108 63.784509
+V 7 19471.948569 -2987.738568 -21172.916646 -.302621
+P 8 10603.461251 -10868.285056 -21955.554147 -19.024292
+V 8 18092.600528 20644.989825 -1845.253090 -.011606
+P 9 -21339.186929 -14015.090641 7459.363430 -24.814858
+V 9 -5183.952682 -8990.140674 -29470.624898 -.017834
+P 10 -3418.036687 -21630.855451 -14873.372521 57.504623
+V 10 7633.343769 -17350.423309 23854.214493 .007066
+P 11 22762.869815 11567.099407 7631.314390 186.442458
+V 11 4735.316700 9487.783113 -28224.155102 .036863
+P 13 25889.297214 -5751.690072 -401.543088 -13.826291
+V 13 857.235691 1923.283618 32352.272610 .009678
+P 14 -14997.196517 14592.698466 16404.357956 -31.484717
+V 14 -20507.452751 3074.071423 -21574.352933 -.000686
+P 15 -3772.679876 17404.991643 -19812.515711 377.806949
+V 15 -16393.266830 -18653.413899 -13693.570343 .052859
+P 16 -1003.836176 24823.864009 -9260.116370 1.992110
+V 16 -6023.000404 10558.644544 28766.330644 -.001548
+P 17 -16359.170939 -21421.557435 -951.446633 -93.374807
+V 17 773.243416 -2382.306896 31330.715725 .190302
+P 18 -16342.377813 14220.376168 -15136.331314 -118.886653
+V 18 4562.550652 -19003.875303 -22935.756227 -.037284
+P 19 18050.215463 9127.051456 -17100.149440 -11.860208
+V 19 -21317.134474 5421.057149 -19525.772292 -.008512
+P 20 14501.493977 4370.972324 21747.317388 -90.913492
+V 20 -8045.251414 26589.494461 36.757282 .027138
+P 21 -15830.340535 4451.760423 -20943.758982 87.990713
+V 21 -16654.217891 -20655.874241 7756.487697 .010927
+P 22 -12584.017724 22695.516944 -5551.905362 16.252609
+V 22 -58.211278 -7761.652916 -30669.463886 .002304
+P 23 24997.233381 736.402118 9015.998879 211.474385
+V 23 -10711.773582 4948.058029 28888.069034 .005986
+P 24 2535.004330 -18027.180119 19551.610219 89.408540
+V 24 16482.296856 17875.952763 14683.531873 .029073
+P 25 3094.745381 19942.545541 17636.602842 84.309758
+V 25 -17263.199149 -13263.303223 18463.603065 .007389
+P 26 -17573.763992 -8828.333230 -18442.312602 316.891257
+V 26 21880.569314 -5338.593599 -18018.372290 .055850
+P 27 16303.154301 -4160.523020 -20120.844091 513.343641
+V 27 18557.516338 19181.480350 10346.709973 .063487
+P 28 12149.317138 -22407.041082 -6610.792800 46.477967
+V 28 191.229472 9270.972809 -30410.988535 .000726
+P 29 -13137.843273 -10705.780240 -20225.099483 179.178995
+V 29 25235.015957 -7013.010822 -12379.058133 -.189471
+P 30 -16473.390550 6721.891403 19437.132660 444.514433
+V 30 5262.442898 -24809.960260 12983.814291 -.143254
+* 2005 1 19 20 0 .00000000
+P 1 -950.701711 15336.215806 21852.583245 383.775462
+V 1 -26426.481290 6582.381144 -5844.563293 .019688
+P 2 -11413.658341 -21334.760271 10743.886134 -42.749463
+V 2 11967.353206 7844.739758 27435.437965 .057344
+P 3 6294.133891 14722.246633 -21319.349279 78.016191
+V 3 -25130.080517 9644.152600 -498.778527 .030235
+P 4 1450.227149 -17892.824086 19461.213997 442.001721
+V 4 18673.263283 16442.406451 14058.953605 -.206629
+P 5 -14219.661188 -8028.486962 20813.951782 73.112316
+V 5 4968.965036 -26403.629077 -6570.769681 .024115
+P 6 -25760.018933 6203.771999 2755.882567 -165.706750
+V 6 2032.400959 -4350.164734 30829.806353 .882143
+P 7 15856.740241 -16438.120310 13845.408897 63.757315
+V 7 16960.355416 -3099.544806 -23969.401247 -.302629
+P 8 12281.341614 -9054.482461 -21935.286304 -19.025359
+V 8 19132.404215 19595.602058 2293.022883 -.011608
+P 9 -21715.992117 -14706.035622 4750.774710 -24.816971
+V 9 -3128.078252 -6395.690060 -30633.168618 -.017833
+P 10 -2808.082987 -23089.004248 -12603.376033 57.505018
+V 10 5958.481016 -14979.268949 26517.816934 .007070
+P 11 23094.805952 12321.656563 5033.356290 186.445538
+V 11 2586.032920 7309.646985 -29426.017364 .036860
+P 13 25811.134004 -5539.865337 2505.238293 -13.825387
+V 13 -2572.496170 2854.031611 32149.617722 .009672
+P 14 -16723.359077 14890.785325 14327.497419 -31.484724
+V 14 -17801.256970 3483.426941 -24512.309163 -.000689
+P 15 -5331.363562 15719.319688 -20872.686907 377.810003
+V 15 -18209.371564 -18724.757402 -9834.341569 .052854
+P 16 -1481.575172 25643.427368 -6598.525623 1.992044
+V 16 -4646.602060 7604.551506 30294.561049 -.001544
+P 17 -16199.248754 -21514.146784 1868.410944 -93.357274
+V 17 2833.881514 279.912286 31246.962139 .190338
+P 18 -15942.344587 12393.656659 -17062.368991 -118.889875
+V 18 4261.263516 -21538.231609 -19803.257749 -.037279
+P 19 16052.984069 9683.599623 -18703.992478 -11.861062
+V 19 -22983.752073 6969.556534 -16063.296676 -.008508
+P 20 13842.044492 6775.041488 21562.291370 -90.910978
+V 20 -6589.778832 26744.376886 -4142.370182 .027135
+P 21 -17343.733628 2667.257521 -20069.050935 87.991724
+V 21 -16905.442121 -18951.668752 11651.593424 .010933
+P 22 -12559.874677 21850.330480 -8256.278220 16.253002
+V 22 523.718107 -11014.044868 -29340.636527 .002339
+P 23 23906.248061 1244.838532 11531.061305 211.474834
+V 23 -13475.605071 6398.842474 26921.610641 .005994
+P 24 4105.282699 -16409.252656 20704.218611 89.411114
+V 24 18379.008756 17997.407700 10895.363550 .029069
+P 25 1446.029794 18733.401065 19146.142481 84.311264
+V 25 -19342.608805 -13531.575898 15036.430549 .007377
+P 26 -15536.494615 -9386.301373 -19907.694071 316.896273
+V 26 23309.125937 -7078.754050 -14499.587248 .055847
+P 27 17968.742664 -2519.295582 -19013.008972 513.349606
+V 27 18374.963249 17252.436767 14231.360248 .063488
+P 28 12146.434999 -21424.886000 -9281.304508 46.477958
+V 28 -184.225106 12539.585290 -28845.777685 .000716
+P 29 -10829.402716 -11415.179704 -21158.366010 179.161697
+V 29 25969.684981 -8749.267719 -8328.328841 -.189475
+P 30 -16040.564256 4419.870158 20430.977436 444.501762
+V 30 4313.393752 -26268.435354 9069.013446 -.143259
+* 2005 1 19 20 15 .00000000
+P 1 -3276.767288 15984.364888 21143.234018 383.778776
+V 1 -25183.194824 7778.155991 -9897.022427 .019701
+P 2 -10215.112997 -20566.459099 13112.440230 -42.744416
+V 2 14667.681252 9153.133078 25121.288015 .057326
+P 3 4056.390495 15642.028658 -21182.658004 78.017405
+V 3 -24520.664244 10759.335519 3533.527662 .030235
+P 4 3214.774025 -16413.302274 20553.969035 441.983025
+V 4 20494.541364 16358.737679 10190.996282 -.206630
+P 5 -13834.781904 -10373.614598 20043.195544 73.113761
+V 5 3590.801592 -25623.723255 -10531.062130 .024095
+P 6 -25441.399556 5755.586845 5499.189606 -165.627137
+V 6 5010.069694 -5663.704974 30046.123707 .882109
+P 7 17261.716636 -16707.298053 11576.917905 63.730222
+V 7 14232.139270 -2813.682975 -26372.008690 -.302637
+P 8 14035.372967 -7351.964144 -21544.309896 -19.027658
+V 8 19775.297623 18183.688768 6381.351241 -.011609
+P 9 -21892.017296 -15173.177181 1961.221968 -24.819187
+V 9 -731.863541 -4029.584834 -31268.384467 -.017831
+P 10 -2337.656364 -24314.848254 -10113.882809 57.504208
+V 10 4544.994480 -12199.446275 28724.437681 .007075
+P 11 23219.261587 12889.166516 2349.689360 186.448689
+V 11 134.029556 5342.179251 -30126.219661 .036858
+P 13 25431.630241 -5225.868510 5368.689046 -13.824643
+V 13 -5823.060880 4187.362750 31390.650606 .009667
+P 14 -18193.683915 15207.115150 12004.717130 -31.484753
+V 14 -14837.365601 3473.360288 -27031.333119 -.000693
+P 15 -7042.858870 14048.637531 -21578.040537 377.813971
+V 15 -19775.478562 -18326.571720 -5819.942961 .052849
+P 16 -1850.582925 26185.067194 -3822.845719 1.991830
+V 16 -3614.944598 4396.911260 31298.097211 -.001541
+P 17 -15840.401149 -21380.262918 4657.653613 -93.339798
+V 17 5183.155859 2639.561569 30651.677884 .190374
+P 18 -15586.464467 10354.019412 -18690.664110 -118.893391
+V 18 3590.024853 -23722.142300 -16329.164649 -.037274
+P 19 13928.434328 10384.390805 -19983.134068 -11.861950
+V 19 -24141.170177 8611.848135 -12320.696268 -.008504
+P 20 13317.469508 9168.612053 21003.874110 -90.908468
+V 20 -5063.175267 26354.948788 -8248.764237 .027132
+P 21 -18859.963047 1047.872712 -18852.801458 87.992864
+V 21 -16711.976348 -17000.587672 15335.868801 .010939
+P 22 -12502.489819 20715.592210 -10817.904963 16.253536
+V 22 681.556880 -14179.703505 -27501.608102 .002371
+P 23 22582.890946 1895.877710 13847.905906 211.475510
+V 23 -15864.344380 8105.335238 24489.327443 .006002
+P 24 5835.885149 -14801.659924 21507.511153 89.413141
+V 24 20031.277809 17652.297899 6931.779784 .029066
+P 25 -379.889790 17519.913223 20335.880636 84.311611
+V 25 -21187.761834 -13365.332372 11366.710551 .007364
+P 26 -13393.443458 -10104.413703 -21044.778227 316.901250
+V 26 24227.509665 -8882.255270 -10732.274951 .055843
+P 27 19595.903890 -1060.469550 -17567.489177 513.355362
+V 27 17701.580578 15144.012169 17839.910789 .063490
+P 28 12128.775489 -20154.158110 -11787.652926 46.477901
+V 28 -139.688585 15666.913934 -26768.244412 .000708
+P 29 -8480.285473 -12278.806120 -21719.557978 179.144662
+V 29 26138.855114 -10424.131708 -4123.027631 -.189478
+P 30 -15703.503559 2008.275088 21064.760117 444.489056
+V 30 3147.183762 -27237.415903 4994.482547 -.143264
+* 2005 1 19 20 30 .00000000
+P 1 -5469.957172 16727.434825 20076.035882 383.781348
+V 1 -23483.087281 8679.323617 -13785.666200 .019712
+P 2 -8774.813502 -19700.993463 15252.317210 -42.739323
+V 2 17323.369779 10002.242070 22360.729777 .057309
+P 3 1893.666263 16651.320220 -20684.847031 78.022185
+V 3 -23470.009508 11621.251093 7514.754444 .030235
+P 4 5130.063977 -14961.500102 21290.608051 441.964525
+V 4 22010.134645 15833.974291 6156.930708 -.206632
+P 5 -13570.801062 -12625.515779 18924.077364 73.116896
+V 5 2296.343597 -24336.362310 -14300.928693 .024076
+P 6 -24866.188538 5175.303160 8148.892422 -165.547665
+V 6 7722.028484 -7276.851315 28752.973325 .882075
+P 7 18414.569267 -16932.017395 9111.593197 63.703020
+V 7 11372.184190 -2109.541902 -28336.641849 -.302645
+P 8 15827.473275 -5790.040836 -20790.160906 -19.029609
+V 8 19971.314410 16484.653664 10352.498639 -.011610
+P 9 -21839.436400 -15440.350482 -861.579715 -24.822801
+V 9 1940.357036 -1962.655599 -31372.064419 -.017828
+P 10 -1980.120449 -25274.894874 -7447.918433 57.503354
+V 10 3459.781389 -9086.392350 30433.310743 .007080
+P 11 23111.703691 13291.395521 -373.967282 186.451894
+V 11 -2558.549044 3645.841716 -30313.503735 .036858
+P 13 24771.149494 -4775.461051 8139.233396 -13.823963
+V 13 -8801.771650 5876.107062 30087.933954 .009664
+P 14 -19389.189012 15502.557362 9475.745908 -31.484654
+V 14 -11710.426432 3016.158867 -29087.663445 -.000698
+P 15 -8881.128521 12433.270786 -21917.658126 377.818203
+V 15 -21014.574572 -17504.396472 -1718.277049 .052846
+P 16 -2143.853486 26429.966645 -981.116547 1.991721
+V 16 -2968.972135 1025.987319 31760.344551 -.001537
+P 17 -15259.693893 -21049.876185 7370.698573 -93.322703
+V 17 7751.669336 4638.008651 29556.138387 .190410
+P 18 -15305.476276 8136.386879 -19993.232189 -118.896643
+V 18 2608.012108 -25482.670311 -12575.674979 -.037269
+P 19 11723.535557 11233.857848 -20915.272123 -11.862677
+V 19 -24767.151949 10258.268267 -8363.366754 -.008500
+P 20 12930.072043 11502.648397 20081.842045 -90.905751
+V 20 -3556.536630 25423.350174 -12210.970598 .027128
+P 21 -20337.833224 -388.043507 -17316.732474 87.993518
+V 21 -16050.546172 -14889.448545 18749.052770 .010945
+P 22 -12449.471248 19303.504991 -13192.158841 16.253796
+V 22 430.769652 -17161.492358 -25182.569531 .002402
+P 23 21063.740058 2709.210166 15926.375588 211.476303
+V 23 -17817.816409 9991.878512 21631.807313 .006009
+P 24 7701.220025 -13244.531635 21948.651063 89.416734
+V 24 21360.803492 16884.580229 2858.635326 .029062
+P 25 -2358.455852 16339.472877 21186.678923 84.311866
+V 25 -22722.846007 -12805.171883 7514.689585 .007353
+P 26 -11191.283935 -10984.246591 -21833.795162 316.906133
+V 26 24621.775750 -10657.026518 -6774.805303 .055840
+P 27 21140.208979 204.141847 -15811.967680 513.361536
+V 27 16534.884211 12952.748547 21110.637334 .063491
+P 28 12133.175978 -18612.029023 -14085.314644 46.477977
+V 28 300.409768 18554.919676 -24215.230846 .000699
+P 29 -6141.101276 -13286.805613 -21898.128456 179.127649
+V 29 25752.281519 -11941.889643 161.623150 -.189481
+P 30 -15478.160718 -467.075470 21327.396460 444.476319
+V 30 1844.840358 -27680.711324 833.741279 -.143269
+* 2005 1 19 20 45 .00000000
+P 1 -7491.914275 17535.738226 18668.687594 383.783210
+V 1 -21389.777864 9217.448563 -17445.300560 .019723
+P 2 -7101.178039 -18779.880290 17125.358996 -42.734086
+V 2 19836.755195 10391.147824 19200.012103 .057292
+P 3 -156.439818 17724.229426 -19833.569601 78.025305
+V 3 -22027.406489 12162.738842 11377.117235 .030233
+P 4 7165.249044 -13574.842230 21659.358254 441.946308
+V 4 23147.849732 14921.152071 2027.612551 -.206633
+P 5 -13416.486434 -14739.976486 17476.700287 73.118900
+V 5 1166.738926 -22576.766330 -17815.236674 .024056
+P 6 -24061.477747 4438.534401 10660.141221 -165.468070
+V 6 10099.650604 -9130.257418 26973.965629 .882040
+P 7 19307.424411 -17074.343255 6490.599261 63.675874
+V 7 8469.403188 -983.590044 -29825.629733 -.302652
+P 8 17615.758334 -4390.823170 -19686.321308 -19.031384
+V 8 19686.187305 14582.576989 14141.716657 -.011610
+P 9 -21536.716641 -15537.153073 -3669.927709 -24.824616
+V 9 4813.519417 -251.786886 -30948.622239 -.017824
+P 10 -1703.470674 -25943.039214 -4651.787920 57.504367
+V 10 2754.817179 -5728.330549 31612.463598 .007086
+P 11 22753.665399 13555.008431 -3091.261449 186.454971
+V 11 -5419.449378 2268.701176 -29985.073091 .036859
+P 13 23857.940416 -4159.391900 10768.860601 -13.823095
+V 13 -11426.644079 7856.957473 28263.637702 .009661
+P 14 -20299.647730 15736.315674 6783.905920 -31.484775
+V 14 -8519.745880 2102.665782 -30645.330357 -.000703
+P 15 -10813.676678 10908.775038 -21886.769259 377.823359
+V 15 -21860.593813 -16318.319109 2402.111279 .052842
+P 16 -2397.296133 26367.736953 1877.555215 1.991708
+V 16 -2732.319895 -2411.782641 31674.216451 -.001534
+P 17 -14440.880030 -20557.604801 9963.288573 -93.305892
+V 17 10460.638984 6230.866438 27978.482254 .190446
+P 18 -15124.196870 5781.605365 -20947.906818 -118.899734
+V 18 1387.174617 -26761.529211 -8609.667558 -.037265
+P 19 9486.405601 12228.260802 -21484.173813 -11.863456
+V 19 -24858.481162 11817.481081 -4260.578711 -.008495
+P 20 12674.008871 13729.167308 18812.293513 -90.903471
+V 20 -2159.178948 23970.758228 -15960.166809 .027123
+P 21 -21734.820291 -1630.134127 -15487.764945 87.994433
+V 21 -14914.994524 -12708.498619 21835.999438 .010954
+P 22 -12436.232296 17634.804352 -15337.526633 16.254265
+V 22 -195.494749 -19867.541913 -22422.434273 .002431
+P 23 19390.086795 3697.274776 17730.312165 211.476838
+V 23 -19291.782366 11973.504459 18397.212145 .006014
+P 24 9669.100056 -11773.369773 22020.791216 89.418733
+V 24 22299.768217 15752.786043 -1256.980412 .029059
+P 25 -4458.703996 15225.176607 21684.929693 84.312555
+V 25 -23881.721204 -11905.598839 3542.886179 .007341
+P 26 -8977.156448 -12019.027029 -22260.393706 316.910957
+V 26 24495.538671 -12310.159004 -2689.120407 .055836
+P 27 22557.854587 1271.433305 -13779.330760 513.367393
+V 27 14891.168085 10774.943459 23989.774909 .063492
+P 28 12193.469605 -16824.169858 -16133.503953 46.477971
+V 28 1093.979442 21113.399197 -21232.815527 .000692
+P 29 -3860.668098 -14420.898982 -21690.400496 179.110540
+V 29 24839.896085 -13211.689855 4448.435686 -.189484
+P 30 -15372.924796 -2957.935954 21214.497713 444.463667
+V 30 492.806685 -27580.752336 -3338.195845 -.143274
+* 2005 1 19 21 0 .00000000
+P 1 -9310.606478 18374.026506 16944.610552 383.785687
+V 1 -18979.773960 9337.802853 -20814.115599 .019735
+P 2 -5211.321420 -17843.881443 18697.933637 -42.728994
+V 2 22112.891458 10337.498709 15693.332493 .057275
+P 3 -2061.368890 18829.313692 -18642.528042 78.029050
+V 3 -20255.223080 12328.042811 15054.163875 .030232
+P 4 9283.549140 -12285.341337 21654.873648 441.928221
+V 4 23848.476106 13687.065353 -2125.211888 -.206634
+P 5 -13353.633133 -16676.695854 15726.810384 73.119619
+V 5 275.264657 -20396.382092 -21013.896625 .024037
+P 6 -23059.963463 3526.754111 12990.564246 -165.388419
+V 6 12087.374015 -11153.464896 24740.466763 .882006
+P 7 19940.470879 -17096.814225 3758.168092 63.648732
+V 7 5613.497275 550.078176 -30808.621440 -.302660
+P 8 19356.015799 -3168.584135 -18251.955600 -19.033575
+V 8 18902.606995 12566.995988 17687.615217 -.011610
+P 9 -20969.457999 -15497.607480 -6416.887255 -24.827719
+V 9 7804.675601 1061.810451 -30010.622892 -.017820
+P 10 -1471.781357 -26301.569205 -1774.249820 57.504168
+V 10 2464.949658 -2222.952555 32239.453316 .007093
+P 11 22133.541076 13710.371680 -5755.971255 186.458167
+V 11 -8368.913571 1244.703377 -29146.613104 .036862
+P 13 22727.031089 -3354.744309 13211.974474 -13.822299
+V 13 -13629.481253 10052.916106 25949.172479 .009658
+P 14 -20923.841245 15867.626662 3975.380666 -31.484802
+V 14 -5365.561667 742.792268 -31676.817819 -.000708
+P 15 -12802.647354 9504.734346 -21486.762546 377.827279
+V 15 -22260.853244 -14840.505330 6473.067751 .052839
+P 16 -2648.133267 25996.811187 4703.855965 1.991499
+V 16 -2910.448895 -5817.410851 31042.196952 -.001531
+P 17 -13375.125732 -19941.368001 12393.097890 -93.288678
+V 17 13224.577922 7389.351617 25943.448677 .190483
+P 18 -15060.506144 3335.023205 -21538.702382 -118.902918
+V 18 9.173040 -27517.269704 -4501.392440 -.037264
+P 19 7264.591497 13355.703805 -21679.967585 -11.864260
+V 19 -24431.002235 13200.198300 -84.206134 -.008490
+P 20 12535.615046 15802.921461 17217.356155 -90.900920
+V 20 -955.012528 22036.601918 -19431.389425 .027118
+P 21 -23008.626420 -2676.190557 -13397.525837 87.995573
+V 21 -13316.482363 -10547.998798 24547.385497 .010962
+P 22 -12494.453565 15738.123223 -17216.367982 16.254635
+V 22 -1147.711548 -22214.792657 -19268.237482 .002459
+P 23 17606.422522 4864.567178 19228.204843 211.477534
+V 23 -20259.591994 13959.242120 14840.516810 .006019
+P 24 11701.801378 -10417.838426 21723.142559 89.421630
+V 24 22793.333314 14327.689950 -5347.688823 .029056
+P 25 -6644.242118 14204.669336 21822.723012 84.312682
+V 25 -24610.270574 -10732.863486 -484.738856 .007329
+P 26 -6797.083980 -13193.710020 -22315.933604 316.915989
+V 26 23869.965551 -13751.309456 1459.929922 .055833
+P 27 23807.316487 2146.807951 -11506.918230 513.373168
+V 27 12804.569242 8702.748479 26432.213521 .063494
+P 28 12338.972120 -14823.879960 -17895.963055 46.478082
+V 28 2183.088295 23263.608094 -17875.363554 .000684
+P 29 -1684.243924 -15654.995418 -21099.673845 179.093383
+V 29 23450.609393 -14151.415083 8659.825920 -.189488
+P 30 -15388.298931 -5415.345843 20728.436246 444.450766
+V 30 -820.741105 -26939.266345 -7446.351207 -.143279
+* 2005 1 19 21 15 .00000000
+P 1 -10901.364143 19202.828946 14932.599810 383.788547
+V 1 -16339.678198 9001.619914 -23834.667943 .019745
+P 2 -3130.636607 -16931.357693 19941.611308 -42.723939
+V 2 24063.394620 9876.825694 11901.927648 .057259
+P 3 -3794.678735 19930.716528 -17131.302939 78.032125
+V 3 -18226.592419 12075.190669 18481.908900 .030230
+P 4 11443.525755 -11118.484515 21278.257644 441.909820
+V 4 24068.028383 12209.424159 -6230.176027 -.206636
+P 5 -13357.907321 -18400.658815 13705.296712 73.122184
+V 5 -315.611372 -17860.837139 -23842.864836 .024018
+P 6 -21898.682904 2428.177304 15100.939919 -165.308667
+V 6 13644.560029 -13267.598350 22091.009312 .881971
+P 7 20321.880326 -16964.028645 960.902293 63.621732
+V 7 2891.599601 2459.862560 -31263.419910 -.302668
+P 8 21003.265363 -2129.418812 -16511.571827 -19.035814
+V 8 17620.874263 10529.536901 20932.967355 -.011609
+P 9 -20130.967010 -15358.695739 -9057.001097 -24.830826
+V 9 10826.034269 1953.715264 -28578.241200 -.017815
+P 10 -1246.820692 -26341.852251 1134.367439 57.505611
+V 10 2606.388823 1326.316788 32301.909822 .007099
+P 11 21247.133661 13790.224535 -8322.764851 186.461492
+V 11 -11322.562888 592.480359 -27812.190153 .036866
+P 13 21418.869147 -2346.036607 15426.201832 -13.821534
+V 13 -15358.419011 12376.297872 23184.644858 .009657
+P 14 -21269.472385 15857.471221 1098.429426 -31.484879
+V 14 -2345.270244 -1034.710205 -32163.588912 -.000712
+P 15 -14806.119681 8243.800408 -20725.105874 377.832637
+V 15 -22177.981364 -13152.337966 10427.810816 .052835
+P 16 -2933.252900 25324.507042 7449.122774 1.991356
+V 16 -3490.504311 -9093.065825 29876.228418 -.001527
+P 17 -12061.485005 -19240.939231 14620.314037 -93.271294
+V 17 15954.181948 8101.142930 23482.100776 .190519
+P 18 -15124.624903 844.902477 -21756.057103 -118.906681
+V 18 -1438.044721 -27726.781370 -323.126103 -.037261
+P 19 5103.380497 14596.484517 -21499.318230 -11.864845
+V 19 -23518.907818 14322.824217 4092.595878 -.008486
+P 20 12494.045608 17682.979989 15324.787254 -90.898448
+V 20 -19.142473 19677.068463 -22564.682413 .027113
+P 21 -24118.723986 -3532.001995 -11081.796359 87.996458
+V 21 -11283.065339 -8494.868891 26840.308684 .010970
+P 22 -12650.693497 13649.050820 -18795.612673 16.255143
+V 22 -2361.963220 -24132.224740 -15774.359064 .002484
+P 23 15758.806200 6207.258878 20393.763925 211.478237
+V 23 -20713.164789 15855.692913 11022.609933 .006022
+P 24 13757.326723 -9200.782324 21060.958406 89.423753
+V 24 22801.669065 12689.573760 -9346.745759 .029053
+P 25 -8874.422838 13299.198683 21597.939764 84.312969
+V 25 -24868.333656 -9362.428479 -4503.596398 .007318
+P 26 -4694.414793 -14485.362829 -21997.714197 316.920800
+V 26 22783.178034 -14896.098466 5605.336886 .055830
+P 27 24850.887250 2843.640540 -9035.723572 513.379155
+V 27 10325.446464 6820.599437 28401.918824 .063495
+P 28 12593.164264 -12650.910060 -19341.657171 46.477929
+V 28 3496.471529 24941.402041 -14204.368345 .000677
+P 29 348.097082 -16956.140750 -20136.188523 179.076476
+V 29 21650.310464 -14691.215028 12719.417419 -.189491
+P 30 -15516.912778 -7791.366741 19878.273843 444.438228
+V 30 -2009.631549 -25777.152360 -11417.297282 -.143284
+* 2005 1 19 21 30 .00000000
+P 1 -12247.648151 19979.969614 12666.388057 383.793715
+V 1 -13563.009635 8187.780160 -26454.830865 .019754
+P 2 -892.038167 -16076.718690 20833.749408 -42.718775
+V 2 25610.082595 9061.098554 7892.965633 .057243
+P 3 -5336.891926 20989.497075 -15325.079719 78.035444
+V 3 -16022.664895 11377.882247 21599.975598 .030228
+P 4 13600.530400 -10092.393184 20536.973919 441.891700
+V 4 23779.377048 10573.640498 -10217.502727 -.206638
+P 5 -13399.934192 -19883.300264 11447.607474 73.124037
+V 5 -556.703865 -15047.370267 -26255.000910 .024000
+P 6 -20617.608347 1138.385379 16955.812260 -165.229329
+V 6 14746.791052 -15388.352252 19070.623125 .881937
+P 7 20467.425031 -16644.188679 -1852.992904 63.594471
+V 7 384.930053 4697.472653 -31176.721887 -.302676
+P 8 22513.349826 -1271.209690 -14494.613200 -19.035515
+V 8 15858.933601 8560.511225 23825.447289 -.011607
+P 9 -19022.552388 -15158.821052 -11546.948252 -24.832737
+V 9 13788.087016 2416.796091 -26678.676026 -.017809
+P 10 -989.767444 -26064.672664 4023.088576 57.506582
+V 10 3175.966421 4814.316912 31797.864650 .007105
+P 11 20097.933832 13828.268653 -10747.945704 186.464640
+V 11 -14194.456020 314.733032 -26004.031844 .036870
+P 13 19977.761091 -1126.031977 17373.144274 -13.820544
+V 13 -16579.827710 14732.171973 20018.144590 .009656
+P 14 -21352.743368 15670.232206 -1797.438929 -31.484978
+V 14 450.245678 -3183.215174 -32096.461320 -.000717
+P 15 -16779.551876 7141.002900 -19615.180703 377.836164
+V 15 -21591.286195 -11341.269827 14201.859237 .052832
+P 16 -3287.581038 24366.757825 10066.183242 1.991125
+V 16 -4441.896876 -12145.715188 28197.431021 -.001523
+P 17 -10507.108303 -18496.445444 16608.193840 -93.254319
+V 17 18559.342597 8370.717779 20631.531565 .190555
+P 18 -15318.711813 -1639.271646 -21596.954668 -118.909696
+V 18 -2863.884900 -27386.059925 3852.176453 -.037258
+P 19 3044.208072 15923.762634 -20945.481737 -11.865656
+V 19 -22173.303768 15110.877118 8196.735938 -.008482
+P 20 12522.207956 19334.144983 13167.475086 -90.896128
+V 20 585.169495 16962.963439 -25306.145000 .027108
+P 21 -25027.834578 -4210.909875 -8579.911045 87.997504
+V 21 -8858.675353 -6629.506340 28678.782597 .010978
+P 22 -12925.205203 11408.920142 -20047.380457 16.255496
+V 22 -3762.524988 -25563.637382 -12001.581687 .002508
+P 23 13893.175743 7713.145096 21206.407800 211.478921
+V 23 -20663.254082 17570.736662 7009.268768 .006023
+P 24 15790.828015 -8137.506360 20045.436614 89.426569
+V 24 22301.457884 10925.178832 -13188.942728 .029050
+P 25 -11105.669073 12522.911261 21014.271911 84.312510
+V 25 -24631.168377 -7876.139525 -8449.274054 .007307
+P 26 -2708.345828 -15863.850837 -21309.131501 316.925562
+V 26 21289.057684 -15669.395791 9678.776645 .055827
+P 27 25656.041175 3382.439283 -6409.567700 513.384756
+V 27 7518.182510 5202.107477 29872.102573 .063496
+P 28 12972.626742 -10350.029873 -20445.357403 46.477868
+V 28 4952.614185 26099.753441 -10287.122545 .000672
+P 29 2202.875250 -18285.762149 -18816.944248 179.059159
+V 29 19519.147209 -14776.536283 16553.632699 -.189494
+P 30 -15743.867599 -10040.772521 18679.556208 444.425388
+V 30 -2993.325485 -24133.568405 -15180.609380 -.143289
+* 2005 1 19 21 45 .00000000
+P 1 -13341.518450 20662.207736 10184.126010 383.797280
+V 1 -10746.746342 6893.858304 -28628.698734 .019762
+P 2 1465.106395 -15309.035405 21357.969794 -42.713538
+V 2 26688.244373 7956.570083 3738.261286 .057227
+P 3 -6676.080536 21965.104245 -13254.272893 78.038634
+V 3 -13729.519274 10226.801787 24352.724626 .030225
+P 4 15708.270435 -9217.283970 19444.651819 441.873069
+V 4 22973.220573 8869.376426 -14020.135560 -.206640
+P 5 -13446.584196 -21103.418529 8993.095890 73.126275
+V 5 -414.029316 -12041.849537 -28210.771196 .023981
+P 6 -19258.151159 -339.326878 18524.042936 -165.150054
+V 6 15386.570553 -17429.161238 15730.098083 .881902
+P 7 20399.800098 -16110.539538 -4634.538640 63.567230
+V 7 -1834.404433 7199.440382 -30544.727631 -.302684
+P 8 23844.501508 -583.895750 -12234.986199 -19.036507
+V 8 13651.794513 6745.587068 26318.304088 -.011606
+P 9 -17653.538494 -14936.252212 -13846.149438 -24.833406
+V 9 16602.718300 2461.109358 -24345.540185 -.017803
+P 10 -662.958022 -25480.203883 6841.233828 57.508523
+V 10 4151.205053 8138.241231 30735.850330 .007111
+P 11 18697.120154 13857.728860 -12990.172848 186.467780
+V 11 -16900.212399 398.211015 -23752.190927 .036876
+P 13 18450.172413 303.776102 19019.058763 -13.819921
+V 13 -17279.493240 17022.103384 16504.878216 .009655
+P 14 -21197.612904 15275.233094 -4662.318758 -31.485058
+V 14 2940.046167 -5639.891860 -31475.822186 -.000721
+P 15 -18677.321683 6203.351815 -18176.035391 377.840031
+V 15 -20497.526947 -9497.500708 17733.903867 .052830
+P 16 -3742.537935 23147.523783 12510.162905 1.991184
+V 16 -5717.578018 -14890.563724 26035.664346 -.001520
+P 17 -8727.177299 -17746.860057 18323.592006 -93.236491
+V 17 20952.206246 8219.155388 17434.545289 .190591
+P 18 -15636.792175 -4068.516751 -21064.925530 -118.913039
+V 18 -4178.815268 -26510.222229 7952.203129 -.037256
+P 19 1123.225442 17304.520990 -20028.239162 -11.866413
+V 19 -20460.111449 15502.047856 12156.525036 -.008479
+P 20 12587.946845 20728.149506 10782.851212 -90.893658
+V 20 809.062520 13977.011996 -27608.859772 .027104
+P 21 -25703.291229 -4733.087682 -5934.116747 87.998753
+V 21 -6101.553149 -5022.880862 30034.133960 .010985
+P 22 -13331.009422 9063.370181 -20949.509263 16.255747
+V 22 -5264.952486 -26469.857692 -8016.000258 .002531
+P 23 12053.668658 9361.926574 21651.652605 211.479493
+V 23 -20138.975901 19017.222183 2870.024121 .006025
+P 24 17756.138782 -7235.339693 18693.541661 89.428330
+V 24 21286.825328 9124.447171 -16811.485751 .029047
+P 25 -13292.908360 11882.413697 20081.170549 84.312800
+V 25 -23890.399756 -6359.187341 -12258.336862 .007297
+P 26 -872.580076 -17292.809738 -20259.754752 316.930543
+V 26 19455.466852 -16008.378943 13611.556938 .055824
+P 27 26196.580112 3789.752296 -3674.267415 513.390761
+V 27 4458.534558 3907.506224 30825.176115 .063497
+P 28 13486.273133 -7969.401569 -21188.097923 46.477837
+V 28 6463.263297 26710.533228 -6195.262134 .000668
+P 29 3854.343290 -19601.157576 -17165.379013 179.042090
+V 29 17148.206472 -14370.510178 20093.224196 -.189497
+P 30 -16047.396958 -12122.623630 17153.980910 444.412438
+V 30 -3700.276522 -22064.280908 -18670.219768 -.143294
+* 2005 1 19 22 0 .00000000
+P 1 -14183.783363 21206.941626 7527.784055 383.799992
+V 1 -7987.709402 5136.482228 -30317.430174 .019768
+P 2 3896.317022 -14650.875641 21504.513569 -42.708286
+V 2 27249.385252 6640.991468 -487.154729 .057210
+P 3 -7808.161654 22816.940459 -10954.050222 78.041470
+V 3 -11434.844939 8630.286978 26690.344620 .030222
+P 4 17720.431882 -8495.245884 18020.793983 441.854642
+V 4 21658.378358 7186.989784 -17574.778370 -.206641
+P 5 -13462.404571 -22047.806512 6384.309877 73.128098
+V 5 129.892747 -8935.501748 -29678.793605 .023963
+P 6 -17861.630432 -1993.893672 19779.294285 -165.070631
+V 6 15573.408586 -19304.441944 12125.189029 .881868
+P 7 20147.669490 -15342.642152 -7334.859032 63.540221
+V 7 -3706.324078 9889.300846 -29373.583107 -.302692
+P 8 24958.829850 -50.033728 -9770.530868 -19.036187
+V 8 11050.363885 5162.642300 28370.972816 -.011606
+P 9 -16041.004678 -14727.602871 -15917.315339 -24.834610
+V 9 19186.202212 2113.224107 -21618.243559 -.017798
+P 10 -231.590651 -24607.615075 9539.359664 57.509871
+V 10 5491.199428 11201.642433 29134.763518 .007116
+P 11 17063.279407 13909.939122 -15011.145766 186.471171
+V 11 -19360.088455 814.291219 -21094.096080 .036883
+P 13 16882.955752 1933.023028 20335.454000 -13.818882
+V 13 -17463.029875 19148.043756 12706.167227 .009655
+P 14 -20834.760771 14648.096713 -7446.772272 -31.485206
+V 14 5056.184186 -8328.021144 -30311.674509 -.000725
+P 15 -20454.308724 5429.742584 -16432.062564 377.844625
+V 15 -18911.072382 -7710.590609 20966.623777 .052828
+P 16 -4324.638318 21697.908175 14739.246575 1.991059
+V 16 -7255.952610 -17254.155749 23428.944189 -.001517
+P 17 -6744.565333 -17028.537740 19737.459516 -93.218667
+V 17 23050.196877 7683.404609 13939.303275 .190627
+P 18 -16065.017711 -6396.046942 -20169.931471 -118.916572
+V 18 -5297.989021 -25132.782518 11906.553437 -.037254
+P 19 -629.917463 18700.780896 -18763.711357 -11.867186
+V 19 -18457.394620 15448.771888 15902.980845 -.008475
+P 20 12655.434127 21844.591597 8212.225267 -90.891358
+V 20 620.054356 10810.710423 -29433.684776 .027100
+P 21 -26118.237126 -5124.575161 -3188.900020 87.999925
+V 21 -3082.193011 -3733.995791 30885.308404 .010989
+P 22 -13873.263398 6660.738774 -21485.979379 16.255976
+V 22 -6779.547666 -26830.281178 -3887.804604 .002554
+P 23 10281.017862 11125.817276 21721.395483 211.480068
+V 23 -19186.614073 20116.494330 -1323.065304 .006025
+P 24 19607.363450 -6493.498705 17027.748619 89.430500
+V 24 19769.669710 7377.156721 -20154.852027 .029045
+P 25 -15391.068316 11376.613012 18813.721906 84.312732
+V 25 -22654.425821 -4896.952963 -15869.128382 .007287
+P 26 785.830724 -18730.878424 -18865.313020 316.935711
+V 26 17361.916417 -15865.247988 17335.668814 .055821
+P 27 26453.525397 4096.871756 -876.816390 513.396675
+V 27 1230.663476 2981.716711 31252.524878 .063498
+P 28 14134.912139 -5558.828825 -21557.498215 46.477909
+V 28 7937.206319 26765.485435 -2003.231673 .000664
+P 29 5285.303844 -20857.167023 -15210.914326 179.025282
+V 29 14635.742434 -13455.589814 23274.698785 -.189500
+P 30 -16399.812448 -14001.662601 15328.949139 444.399490
+V 30 -4070.883065 -19639.358491 -21825.640383 -.143299
+* 2005 1 19 22 15 .00000000
+P 1 -14783.821150 21573.912817 4742.481416 383.802127
+V 1 -5378.917963 2950.975906 -31490.012222 .019775
+P 2 6353.559935 -14117.414220 21270.461891 -42.703180
+V 2 27263.315939 5200.314997 -4706.575069 .057193
+P 3 -8736.888683 23505.954890 -8463.761477 78.042965
+V 3 -9224.521198 6614.310934 28569.877402 .030220
+P 4 19592.298123 -7920.336946 16290.394894 441.836247
+V 4 19861.409409 5614.011618 -20822.834095 -.206643
+P 5 -13411.138657 -22711.580390 3666.239849 73.130470
+V 5 1075.394199 -5821.484385 -30636.223700 .023944
+P 6 -16467.761520 -3806.711361 20700.438509 -164.991408
+V 6 15333.295965 -20932.794343 8315.771473 .881833
+P 7 19744.467803 -14327.421713 -9906.088698 63.512923
+V 7 -5185.267552 12680.379134 -27679.619163 -.302700
+P 8 25823.678846 354.369382 -7142.438889 -19.037275
+V 8 8119.728949 3878.899998 29949.623958 -.011606
+P 9 -14209.262114 -14566.395501 -17726.941487 -24.835804
+V 9 21462.006007 1415.016601 -18541.377235 -.017793
+P 10 334.685125 -23474.327630 12070.176566 57.509881
+V 10 7138.274437 13918.179121 27023.493504 .007121
+P 11 15221.856342 14013.006895 -16776.243891 186.474250
+V 11 -21501.895950 1520.136048 -18073.993343 .036891
+P 13 15321.577171 3742.683285 21299.591312 -13.818117
+V 13 -17155.509406 21016.215052 8688.332040 .009654
+P 14 -20300.299565 13771.869632 -10102.690571 -31.485467
+V 14 6746.254793 -11159.870327 -28623.510538 -.000728
+P 15 -22067.463486 4811.164686 -14412.605510 377.848839
+V 15 -16863.446941 -6066.120453 23847.447491 .052826
+P 16 -5054.289531 20055.013644 16715.381232 1.991012
+V 16 -8983.349333 -19177.026105 20422.729780 -.001515
+P 17 -4589.230608 -16373.838905 20825.308030 -93.200525
+V 17 24778.918219 6815.024990 10198.920543 .190662
+P 18 -16582.243390 -8578.869704 -18928.139203 -118.919675
+V 18 -6144.643557 -23304.232454 15647.932198 -.037251
+P 19 -2193.026631 20071.023128 -17174.058880 -11.867890
+V 19 -16252.221505 14920.211956 19371.070756 -.008471
+P 20 12686.707495 22671.569360 5500.055061 -90.888797
+V 20 3.364463 7560.854429 -30749.896696 .027096
+P 21 -26252.620106 -5416.103505 -390.290916 88.000789
+V 21 119.126736 -2807.793710 31219.090157 .010994
+P 22 -14548.953428 4250.349615 -21647.223340 16.256307
+V 22 -8215.060525 -26643.673967 310.038284 .002576
+P 23 8611.086163 12970.456737 21414.084303 211.480725
+V 23 -17867.742914 20801.613522 -5496.706535 .006026
+P 24 21300.468704 -5903.253496 15075.711057 89.433358
+V 24 17779.377679 5769.559314 -23163.623599 .029043
+P 25 -17356.583526 10996.842614 17232.451079 84.312836
+V 25 -20948.264287 -3571.832080 -19222.576017 .007278
+P 26 2247.410498 -20133.156335 -17147.582565 316.940783
+V 26 15096.733581 -15209.479582 20784.939137 .055819
+P 27 26415.732842 4338.392955 1935.406960 513.402543
+V 27 -2076.028588 2453.060467 31154.143176 .063500
+P 28 14911.155396 -3167.955823 -21547.945487 46.477848
+V 28 9284.142511 26276.363043 2213.280302 .000661
+P 29 6487.573615 -22007.954471 -12988.378622 179.008387
+V 29 12083.124043 -12034.364435 26041.593924 -.189503
+P 30 -16768.692179 -15649.476544 13237.014346 444.386334
+V 30 -4059.912994 -16940.320174 -24593.027870 -.143304
+* 2005 1 19 22 30 .00000000
+P 1 -15159.077284 21726.845649 1875.750817 383.803634
+V 1 -3006.050662 390.283901 -32123.926148 .019781
+P 2 8786.960980 -13715.857677 20659.815044 -42.697956
+V 2 26719.482829 3725.028098 -8843.218742 .057175
+P 3 -9473.535206 23996.203435 -5826.278943 78.045539
+V 3 -7179.229216 4221.759916 29956.148626 .030218
+P 4 21282.304940 -7478.991600 14283.479682 441.818124
+V 4 17625.585357 4231.782779 -23711.237393 -.206645
+P 5 -13257.273297 -23098.197697 885.538798 73.129577
+V 5 2405.679816 -2791.432779 -31068.985656 .023927
+P 6 -15113.218657 -5752.153799 21271.888940 -164.912011
+V 6 14707.589349 -22240.053310 4364.955211 .881799
+P 7 19227.001698 -13059.941593 -12302.291488 63.485820
+V 7 -6242.132992 15479.087424 -25489.356711 -.302708
+P 8 26412.807220 658.782219 -4394.625011 -19.038270
+V 8 4936.945656 2948.438686 31027.650302 -.011606
+P 9 -12189.090036 -14481.756485 -19245.746935 -24.837247
+V 9 23363.322322 421.984549 -15164.104475 -.017788
+P 10 1060.360560 -22114.952266 14389.423177 57.511334
+V 10 9020.348273 16214.941149 24440.326284 .007125
+P 11 13204.351892 14190.606389 -18255.111085 186.477663
+V 11 -23263.656305 2460.391848 -14742.282684 .036899
+P 13 13808.410570 5705.623983 21894.880852 -13.817143
+V 13 -16400.323375 22540.829849 4521.485443 .009653
+P 14 -19634.283520 12637.866718 -12584.135457 -31.485683
+V 14 7975.340246 -14040.016924 -26440.011377 -.000728
+P 15 -23477.308524 4331.204597 -12151.498518 377.853772
+V 15 -14402.283057 -4642.508483 26329.259861 .052825
+P 16 -5944.833419 18260.584007 18404.909562 1.990885
+V 16 -10816.948631 -20615.803335 17069.098113 -.001513
+P 17 -2297.356831 -15809.890496 21567.635192 -93.183310
+V 17 26074.849571 5678.421426 6270.997249 .190698
+P 18 -17160.895140 -10579.226119 -17361.590613 -118.922958
+V 18 -6653.145888 -21089.993539 19113.250016 -.037251
+P 19 -3552.020056 21371.757809 -15287.073728 -11.868607
+V 19 -13937.191039 13903.573672 22500.868653 -.008467
+P 20 12643.296936 23205.994209 2693.165871 -90.886643
+V 20 -1037.465504 4325.882190 -31535.675755 .027093
+P 21 -26093.949373 -5641.754474 2414.849302 88.001667
+V 21 3415.143359 -2273.569704 31030.239815 .011000
+P 22 -15346.925406 1880.761865 -21430.313819 16.256507
+V 22 -9482.472048 -25928.198400 4503.172270 .002598
+P 23 7073.597883 14856.093268 20734.768829 211.481355
+V 23 -16256.737701 21020.134116 -9577.708546 .006025
+P 24 22794.821723 -5448.392725 12869.855022 89.435611
+V 24 15361.930180 4381.130737 -25787.295705 .029040
+P 25 -19148.863323 10727.271359 15363.053016 84.314543
+V 25 -18812.837250 -2460.136487 -22263.002557 .007269
+P 26 3500.908644 -21452.838699 -15134.166379 316.945492
+V 26 12753.806585 -14029.508158 23896.271341 .055816
+P 27 26080.219121 4550.686892 4715.393898 513.408172
+V 27 -5370.129366 2332.623812 30538.167262 .063501
+P 28 15799.671367 -844.491544 -21160.636705 46.477785
+V 28 10418.473829 25274.234899 6378.888323 .000659
+P 29 7462.076954 -23008.824781 -10537.323874 178.991506
+V 29 9590.684477 -10129.519847 28345.569812 -.189506
+P 30 -17118.260195 -17045.383280 10915.242863 444.373310
+V 30 -3638.309378 -14056.868982 -26926.071918 -.143309
+* 2005 1 19 22 45 .00000000
+P 1 -15334.253173 21634.958539 -1023.251587 383.805144
+V 1 -944.149864 -2476.798213 -32205.694719 .019787
+P 2 11146.601898 -13445.209380 19683.426160 -42.692776
+V 2 25627.472756 2306.283175 -12821.849643 .057157
+P 3 -10036.280622 24256.312321 -3087.259551 78.049254
+V 3 -5371.236176 1511.018919 30822.574128 .030216
+P 4 22753.475856 -7150.719224 12034.572870 441.799440
+V 4 15009.267615 3112.366960 -26193.178569 -.206648
+P 5 -12967.554698 -23219.168394 -1910.271682 73.131912
+V 5 4087.501828 67.888348 -30971.854687 .023910
+P 6 -13830.322969 -7798.351661 21483.849863 -164.832256
+V 6 13751.347536 -23162.086744 338.161857 .881764
+P 7 18633.905566 -11543.862237 -14480.368228 63.458683
+V 7 -6865.559942 18188.604896 -22839.254414 -.302716
+P 8 26707.349838 896.870877 -1573.057562 -19.039245
+V 8 1588.401429 2410.159830 31586.088461 -.011606
+P 9 -10016.758901 -14497.282032 -20449.058574 -24.838152
+V 9 24835.266442 -798.859521 -11539.558485 -.017783
+P 10 1962.900428 -20569.951239 16456.677370 57.512244
+V 10 11053.896153 18035.211088 21432.142419 .007130
+P 11 11047.298096 14460.946886 -19422.175880 186.481222
+V 11 -24595.892993 3569.369047 -11154.755057 .036906
+P 13 12381.167303 7787.480252 22111.166072 -13.816295
+V 13 -15257.326692 23647.499491 278.260826 .009652
+P 14 -18879.072538 11246.201125 -14848.146489 -31.485640
+V 14 8727.271173 -16868.992680 -23798.575843 -.000729
+P 15 -24649.319918 3966.824361 -9686.546036 377.858352
+V 15 -11589.714744 -3508.085347 28371.054260 .052823
+P 16 -7001.868026 16359.484277 19779.124753 1.990858
+V 16 -12668.052482 -21544.691034 13425.822848 -.001512
+P 17 89.736245 -15357.527246 21950.304186 -93.166100
+V 17 26887.748885 4348.605768 2217.067903 .190733
+P 18 -17768.091528 -12365.821892 -15497.778700 -118.926521
+V 18 -6771.574204 -18567.832348 22244.616447 -.037249
+P 19 -4701.261345 22559.180712 -13135.671696 -11.869372
+V 19 -11606.764906 12404.704460 25238.603075 -.008464
+P 20 12487.874583 23453.572025 -160.066561 -90.884196
+V 20 -2480.673349 1202.176019 -31778.426608 .027092
+P 21 -25637.788830 -5837.501413 5179.549241 88.002357
+V 21 6714.647217 -2143.940351 30321.552786 .011007
+P 22 -16248.253499 -401.947307 -20839.024662 16.256844
+V 22 -10498.698687 -24720.657523 8617.277401 .002620
+P 23 5691.118552 16738.992883 19695.030749 211.481919
+V 23 -14437.769617 20736.324397 -13494.333461 .006024
+P 24 24054.621269 -5105.971840 10446.901578 89.439797
+V 24 12578.420640 3281.541131 -27981.055213 .029038
+P 25 -20731.670281 10545.584298 13236.050196 84.313014
+V 25 -16303.705660 -1629.171795 -24938.943254 .007259
+P 26 4543.641534 -22642.973455 -12858.158859 316.950759
+V 26 10429.007655 -12333.733133 26610.952532 .055813
+P 27 25452.198448 4770.344261 7417.214634 513.414094
+V 27 -8561.406986 2614.253898 29420.345836 .063502
+P 28 16777.770571 1367.467938 -20403.483840 46.477749
+V 28 11262.850998 23808.012341 10419.996036 .000658
+P 29 8218.568462 -23817.998834 -7901.253248 178.974866
+V 29 7253.657973 -7782.955302 30147.289973 -.189509
+P 30 -17410.898153 -18177.010222 8404.502990 444.360332
+V 30 -2794.315985 -11083.355573 -28786.695320 -.143314
+* 2005 1 19 23 0 .00000000
+P 1 -15340.214173 21274.286599 -3904.579439 383.805869
+V 1 745.298963 -5568.035543 -31731.290599 .019794
+P 2 13384.323738 -13296.385561 18358.790450 -42.687726
+V 2 24016.665972 1031.999329 -16570.360621 .057140
+P 3 -10449.319291 24260.784758 -294.341113 78.053097
+V 3 -3861.489182 -1446.092044 31151.813244 .030213
+P 4 23974.687106 -6909.064083 9582.106885 441.780632
+V 4 12083.756901 2315.843988 -28228.718526 -.206650
+P 5 -12512.415537 -23093.473864 -4673.596411 73.133384
+V 5 6072.450075 2677.707746 -30348.399767 .023894
+P 6 -12645.902839 -9908.208578 21332.481898 -164.752854
+V 6 12531.176149 -23647.244600 -3697.828442 .881730
+P 7 18004.014682 -9791.557346 -16400.929626 63.431634
+V 7 -7062.470017 20712.785773 -19775.185380 -.302724
+P 8 26696.525643 1105.061065 1274.945845 -19.038961
+V 8 -1833.165612 2286.283269 31613.970070 -.011606
+P 9 -7732.872926 -14630.110226 -21317.141450 -24.839774
+V 9 25836.683198 -2171.450653 -7724.242722 -.017779
+P 10 3051.864656 -18884.081852 18236.086764 57.513130
+V 10 13147.383104 19340.546533 18053.433848 .007134
+P 11 8791.046268 14835.956133 -20257.098823 186.484496
+V 11 -25463.475631 4773.627738 -7371.736448 .036912
+P 13 11071.522418 9947.818180 21944.891784 -13.815384
+V 13 -13800.339983 24276.194731 -3967.498632 .009651
+P 14 -18077.615581 9605.977211 -16855.498199 -31.485778
+V 14 9005.151021 -19547.105053 -20744.685622 -.000730
+P 15 -25555.140856 3689.388146 -7058.945670 377.861501
+V 15 -8500.263360 -2718.523519 29938.528294 .052822
+P 16 -8222.874236 14398.077302 20814.738768 1.990948
+V 16 -14445.569312 -21956.277827 9555.375524 -.001512
+P 17 2526.882166 -15030.453934 21964.869382 -93.148297
+V 17 27182.677373 2908.533409 -1898.048648 .190768
+P 18 -18366.973470 -13914.805546 -13369.139353 -118.929723
+V 18 -6463.746175 -15824.846390 24990.215687 -.037248
+P 19 -5643.560024 23590.850364 -10757.296018 -11.870176
+V 19 -9353.553478 10447.956173 27537.577533 -.008461
+P 20 12185.863142 23428.455026 -3010.554436 -90.881874
+V 20 -4287.090967 -1719.533431 -31474.933126 .027091
+P 21 -24887.970002 -6039.683761 7857.450208 88.003501
+V 21 9925.658787 -2414.400725 29103.839165 .011016
+P 22 -17226.932775 -2555.798027 -19883.763256 16.257125
+V 22 -11190.061253 -23074.988552 12579.497984 .002641
+P 23 4478.323850 18573.019241 18312.792504 211.482516
+V 23 -12501.404676 19932.732838 -17177.633628 .006022
+P 24 25050.170381 -4847.320110 7847.320889 89.441730
+V 24 9503.025005 2527.950319 -29706.521907 .029035
+P 25 -22074.361000 10423.914804 10886.376660 84.312571
+V 25 -13489.280677 -1134.589805 -27203.964247 .007251
+P 26 5381.502212 -23658.275283 -10357.691027 316.955833
+V 26 8216.419414 -10150.768848 28875.995091 .055810
+P 27 24544.838107 5032.646598 9996.676816 513.420029
+V 27 -11563.844955 3275.148788 27823.438219 .063503
+P 28 17816.293352 3428.952448 -19290.889550 46.477703
+V 28 11751.327696 21942.278486 14266.183626 .000658
+P 29 8775.000543 -24398.272989 -5126.779752 178.957796
+V 29 5158.381524 -5054.107478 31417.071919 -.189513
+P 30 -17608.726448 -19040.548488 5748.699736 444.346909
+V 30 -1533.893026 -8115.122591 -30145.561437 -.143318
+* 2005 1 19 23 15 .00000000
+P 1 -15212.656284 20628.761190 -6718.359193 383.804694
+V 1 2016.790085 -8790.728308 -30706.386701 .019802
+P 2 15455.461142 -13252.676773 16709.695268 -42.682477
+V 2 21935.053353 -16.886143 -20021.274164 .057122
+P 3 -10741.726944 23991.095277 2503.712371 78.056389
+V 3 -2697.147420 -4566.957725 30936.243056 .030209
+P 4 24921.718410 -6722.788404 6967.780075 441.762237
+V 4 8930.698666 1888.071453 -29785.295977 -.206652
+P 5 -11867.260352 -22746.719156 -7357.550599 73.135843
+V 5 8298.799465 4970.035649 -29210.796985 .023877
+P 6 -11580.367700 -12040.618736 20819.980379 -164.673506
+V 6 11122.653265 -23658.373741 -7675.855983 .881695
+P 7 17374.725003 -7823.874578 -18029.109787 63.404293
+V 7 -6857.818015 22960.120638 -16351.641530 -.302733
+P 8 26378.065331 1320.990801 4101.450790 -19.040423
+V 8 -5231.897471 2581.427276 31108.595301 -.011607
+P 9 -5381.069348 -14890.228094 -21835.474948 -24.840713
+V 9 26341.517270 -3613.419205 -3777.426310 -.017775
+P 10 4328.354402 -17104.686332 19697.003739 57.513402
+V 10 15205.014405 20112.100687 14365.170286 .007139
+P 11 6478.412140 15320.711311 -20745.138882 186.487730
+V 11 -25846.943938 5994.876926 -3457.146734 .036919
+P 13 9903.990763 12141.539628 21399.153480 -13.814584
+V 13 -12114.113570 24383.642471 -8142.063486 .009651
+P 14 -17271.721005 7735.137190 -18571.393203 -31.485914
+V 14 8831.120510 -21978.285307 -17331.117521 -.000730
+P 15 -26173.584496 3465.900928 -4312.660220 377.863924
+V 15 -5218.281372 -2314.707432 31004.619343 .052822
+P 16 -9597.160767 12422.558705 21494.257886 1.990877
+V 16 -16059.581342 -21861.651994 5523.866576 -.001514
+P 17 4966.519170 -14834.664127 21608.838432 -93.131459
+V 17 26941.562597 1446.079141 -6007.013838 .190802
+P 18 -18918.189025 -15210.460509 -11012.469866 -118.933041
+V 18 -5710.627933 -12954.140841 27305.058129 -.037247
+P 19 -6389.841064 24427.319937 -8193.244541 -11.870764
+V 19 -7264.703837 8075.322001 29358.947309 -.008458
+P 20 11706.940222 23152.579828 -5809.342807 -90.879445
+V 20 -6401.634953 -4357.522399 -30631.348454 .027091
+P 21 -23856.516576 -6283.468802 10403.523637 88.004439
+V 21 12958.642936 -3063.485194 27395.823919 .011024
+P 22 -18250.867862 -4544.355904 -18581.375561 16.257485
+V 22 -11495.371067 -21060.068612 16319.838529 .002662
+P 23 3441.587363 20311.322435 16612.007535 211.483058
+V 23 -10540.944114 18611.031847 -20562.744740 .006020
+P 24 25758.943792 -4639.272744 5114.721630 89.444262
+V 24 6220.481105 2162.726198 -30932.442419 .029033
+P 25 -23152.943948 10329.999020 8352.888623 84.312425
+V 25 -10448.555269 -1018.111027 -29017.474059 .007244
+P 26 6028.627052 -24456.925778 -7675.354967 316.960569
+V 26 6204.511326 -7528.879491 30645.471173 .055807
+P 27 23378.750196 5370.113074 12411.932338 513.425866
+V 27 -14298.473867 4276.967461 25776.689971 .063504
+P 28 18880.759157 5307.408031 -17843.403599 46.477801
+V 28 11831.999485 19754.531251 17851.466145 .000659
+P 29 9156.567134 -24718.495148 -2262.737039 178.940837
+V 29 3378.922023 -2017.568330 32135.299238 -.189516
+P 30 -17675.190768 -19640.678264 2993.972487 444.333598
+V 30 119.575361 -5244.879248 -30982.391342 -.143323
+* 2005 1 19 23 30 .00000000
+P 1 -14990.581269 19691.000297 -9415.667891 383.804695
+V 1 2842.615415 -12045.143855 -29146.431522 .019812
+P 2 17320.434585 -13290.533560 14765.740578 -42.677221
+V 2 19447.275230 -769.846762 -23113.114449 .057104
+P 3 -10946.129001 23436.524281 5257.899185 78.061136
+V 3 -1909.665417 -7761.281787 30178.231849 .030205
+P 4 25578.053788 -6557.233119 4235.873860 441.743956
+V 4 5639.140129 1858.985168 -30838.129045 -.206654
+P 5 -11013.562384 -22210.052964 -9916.721602 73.138309
+V 5 10693.838662 6890.022655 -27579.524618 .023861
+P 6 -10647.029196 -14151.843507 19954.564693 -164.593858
+V 6 9607.422247 -23174.326173 -11529.380620 .881660
+P 7 16780.411399 -5669.544274 -19335.296263 63.376893
+V 7 -6293.544498 24847.565382 -12630.677752 -.302741
+P 8 25758.340778 1581.908195 6858.659602 -19.040845
+V 8 -8512.195187 3282.316678 30075.723797 -.011608
+P 9 -3006.615419 -15280.036004 -21994.973981 -24.841249
+V 9 26339.709680 -5039.048756 239.475405 -.017771
+P 10 5784.803854 -15279.899023 20814.512937 57.513979
+V 10 17130.640360 20351.134742 10433.549598 .007143
+P 11 4153.227362 15913.141151 -20877.431664 186.491088
+V 11 -25743.257133 7153.082751 522.517108 .036926
+P 13 8895.095984 14320.473795 20483.627938 -13.813601
+V 13 -10290.876906 23945.065754 -12173.128378 .009650
+P 14 -16500.382121 5659.965983 -19966.078054 -31.486108
+V 14 8245.369588 -24073.810492 -13617.017239 -.000729
+P 15 -26491.389825 3260.416161 -1493.744447 377.869655
+V 15 -1835.033810 -2321.119186 31549.974138 .052823
+P 16 -11106.128911 10477.312840 21806.260864 1.990740
+V 16 -17424.860463 -21289.822493 1399.943137 -.001515
+P 17 7360.258556 -14768.144336 20885.859914 -93.114445
+V 17 26164.222630 50.734021 -10040.860710 .190837
+P 18 -19381.475473 -16245.588966 -8468.285545 -118.936116
+V 18 -4511.082159 -10051.323949 29151.604135 -.037247
+P 19 -6958.499301 25033.660197 -5487.933898 -11.871491
+V 19 -5418.532005 5344.887556 30672.340936 -.008456
+P 20 11026.380343 22654.719181 -8508.446333 -90.876922
+V 20 -8755.410473 -6642.061739 -29263.024925 .027090
+P 21 -22563.281875 -6601.355084 12774.775857 88.005665
+V 21 15729.656281 -4053.530901 25223.964399 .011031
+P 22 -19283.117176 -6337.955177 -16954.828224 16.257719
+V 22 -11368.503311 -18756.926392 19772.493653 .002682
+P 23 2578.903762 21908.069639 14622.237244 211.483703
+V 23 -8648.655843 16792.100290 -23590.105430 .006018
+P 24 26166.409168 -4445.585958 2295.180569 89.447394
+V 24 2823.152443 2211.674952 -31635.323598 .029030
+P 25 -23950.913748 10228.515236 5677.802822 84.313466
+V 25 -7268.416338 -1305.707102 -30345.515357 .007237
+P 26 6506.722120 -25002.285014 -4857.510337 316.965531
+V 26 4472.429383 -4534.574195 31881.789936 .055805
+P 27 21981.240907 5811.174490 14624.033009 513.431441
+V 27 -16695.889501 5567.498805 23315.188029 .063504
+P 28 19932.726451 6977.717646 -16087.272726 46.477620
+V 28 11469.032356 17331.971916 21115.400055 .000660
+P 29 9394.468226 -24754.798942 640.736151 178.923814
+V 29 1974.264705 1239.886206 32292.596055 -.189519
+P 30 -17576.591487 -19990.174595 187.872422 444.320279
+V 30 2126.251344 -2559.247940 -31286.098665 -.143327
+* 2005 1 19 23 45 .00000000
+P 1 -14714.638713 18462.774159 -11949.409326 383.805232
+V 1 3213.991437 -15228.278323 -27076.535943 .019823
+P 2 18946.134510 -13380.640558 12561.743224 -42.672179
+V 2 16631.977028 -1169.724262 -25791.611548 .057085
+P 3 -11097.224691 22594.695625 7919.883332 78.063357
+V 3 -1513.517987 -10934.549099 28890.196005 .030200
+P 4 25935.405742 -6375.805310 1432.538389 441.725169
+V 4 2302.343553 2241.490264 -31370.513705 -.206656
+P 5 -9939.732527 -21518.897584 -12307.898347 73.140873
+V 5 13176.589564 8397.812553 -25482.951169 .023844
+P 6 -9851.695322 -16196.998803 18750.377012 -164.514094
+V 6 8070.049805 -22190.903187 -15193.494437 .881626
+P 7 16250.974984 -3364.256523 -20295.754289 63.349852
+V 7 -5426.763069 26304.052290 -8680.621579 -.302749
+P 8 24852.188439 1923.072449 9499.675933 -19.042392
+V 8 -11582.120331 4358.129797 28529.638375 -.011608
+P 9 -654.947136 -15794.184765 -21792.153336 -24.843676
+V 9 25837.592315 -6362.364465 4263.546682 -.017768
+P 10 7405.124157 -13456.844317 21569.842436 57.515692
+V 10 18831.648643 20078.712854 6328.668412 .007148
+P 11 1858.850792 16604.012943 -20651.173151 186.494463
+V 11 -25165.934061 8169.671292 4499.261979 .036932
+P 13 8052.863550 16435.093249 19214.387420 -13.812646
+V 13 -8426.612836 22955.201233 -15991.084434 .009648
+P 14 -15798.224235 3414.272368 -21015.370158 -31.486211
+V 14 7304.435012 -25755.751074 -9666.852196 -.000727
+P 15 -26503.701941 3035.563187 1350.367147 377.874455
+V 15 1554.490411 -2744.801120 31563.344311 .052824
+P 16 -12723.846471 8603.351143 21745.576575 1.990762
+V 16 -18464.202259 -20286.473126 -2746.340114 -.001518
+P 17 9660.518388 -14820.884323 19805.824787 -93.096930
+V 17 24868.783335 -1189.876841 -13930.018710 .190872
+P 18 -19717.278262 -17021.577047 -5780.125971 -118.939672
+V 18 -2881.938537 -7210.951846 30500.258953 -.037248
+P 19 -7374.466676 25380.814599 -2688.115045 -11.872136
+V 19 -3881.529609 2328.663058 31456.318531 -.008454
+P 20 10126.183127 21969.285582 -11061.663789 -90.874545
+V 20 -11268.342904 -8517.926079 -27394.191215 .027089
+P 21 -21035.309992 -7021.771047 14930.932540 88.006409
+V 21 18163.323908 -5332.025486 22622.180599 .011038
+P 22 -20283.341566 -7914.648586 -15032.775177 16.258025
+V 22 -10780.350700 -16255.479120 22877.080325 .002702
+P 23 1880.150232 23320.148563 12378.122559 211.484563
+V 23 -6912.052182 14515.338356 -26206.575028 .006014
+P 24 26266.568770 -4228.485385 -563.481556 89.449833
+V 24 -592.231693 2682.859008 -31799.989234 .029027
+P 25 -24459.827520 10082.563075 2906.065131 84.313179
+V 25 -4040.614849 -2006.323922 -31161.519540 .007230
+P 26 6844.067161 -25264.439270 -1953.480607 316.970958
+V 26 3086.571717 -1250.377084 32556.861050 .055802
+P 27 20385.351309 6379.010682 16597.429205 513.437252
+V 27 -18698.381607 7082.624920 20479.284557 .063505
+P 28 20931.305210 8422.917786 -14053.898322 46.477583
+V 28 10644.016592 14767.984103 24004.023250 .000663
+P 29 9524.450682 -24491.549164 3533.116889 178.906786
+V 29 986.168273 4622.717007 31889.773633 -.189523
+P 30 -17283.497275 -20109.214996 -2621.464463 444.307297
+V 30 4431.435049 -135.611364 -31054.754673 -.143331
+EOF
diff --git a/trunk/apps/positioning/doc/nga13064.apc b/trunk/apps/positioning/doc/nga13064.apc
new file mode 100644
index 0000000..10906c2
--- /dev/null
+++ b/trunk/apps/positioning/doc/nga13064.apc
@@ -0,0 +1,5687 @@
+#aV2005 1 20 0 0 .00000000 96 DD+AD WGS84 FIT NGA
+## 1306 345600.00000000 900.00000000 53390 .0000000000000
++ 29 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18
++ 19 20 21 22 23 24 25 26 27 28 29 30 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 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
+++ 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 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 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 0
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
+%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
+%i 0 0 0 0 0 0 0 0 0
+%i 0 0 0 0 0 0 0 0 0
+/* NGA, ST. LOUIS,MO.
+/* EPHEMERIS COMPUTED FROM 3 DAYS OF DATA
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+* 2005 1 20 0 0 .00000000
+P 1 -14425.400111 16955.122948 -14275.171190 383.806826
+V 1 3141.435300 -18237.801639 -24531.162542 .020161
+P 2 20307.041400 -13489.230686 10137.041578 -42.666415
+V 2 13578.608668 -1175.087902 -28010.706565 .056956
+P 3 -11230.227753 21471.792323 10442.892997 78.066891
+V 3 -1505.629822 -13991.690949 27094.431728 .030441
+P 4 25993.945788 -6141.537589 -1394.944117 441.707440
+V 4 -985.533792 3030.975256 -31374.021338 -.206575
+P 5 -8641.729728 -20711.537129 -14490.759245 73.144033
+V 5 15660.816327 9469.831124 -22956.827229 .024686
+P 6 -9192.553907 -18131.600421 17227.289610 -164.434049
+V 6 6594.756768 -20721.194792 -18605.939727 .881445
+P 7 15810.585364 -949.443117 -20893.125739 63.323363
+V 7 -4327.257698 27273.509634 -4574.586990 -.302683
+P 8 23682.428444 2376.213618 11979.274792 -19.042562
+V 8 -14356.741205 5761.503213 26493.179616 -.011664
+P 9 1629.804154 -16419.693413 -21229.232245 -24.843654
+V 9 24857.761800 -7500.267756 8231.055687 -.017810
+P 10 9165.190981 -11679.897939 21950.653050 57.516167
+V 10 20222.682108 19334.606749 2123.149369 .007200
+P 11 -363.304882 17377.207547 -20069.703748 186.498315
+V 11 -24144.570997 8970.705515 8404.730151 .036831
+P 13 7376.655977 18436.287581 17613.601877 -13.811299
+V 13 -6617.205816 21428.557567 -19530.230328 .009526
+P 14 -15194.134616 1038.277389 -21701.085753 -31.485924
+V 14 6078.850824 -26960.006720 -5549.263716 -.000867
+P 15 -26214.257043 2754.140300 4171.604432 377.880939
+V 15 4854.934281 -3574.940686 31041.897793 .052970
+P 16 -14417.908948 6836.890797 21313.359398 1.991244
+V 16 -19111.455627 -18912.100156 -6844.661564 -.001655
+P 17 11822.165354 -14975.204508 18384.869596 -93.079133
+V 17 23091.434838 -2193.537977 -17605.471488 .190776
+P 18 -19888.345985 -17548.142624 -2993.822497 -118.942262
+V 18 -857.394084 -4523.051605 31329.739768 -.037429
+P 19 -7668.031264 25446.734748 157.944948 -11.872272
+V 19 -2705.858309 -890.112806 31698.663161 -.008576
+P 20 8995.944742 21134.934103 -13425.357018 -90.871731
+V 20 -13852.232863 -9946.333191 -25057.486535 .026979
+P 21 -19305.940482 -7567.819963 16835.094737 88.008034
+V 21 20195.544425 -6833.503064 19631.492310 .010901
+P 22 -21209.397860 -9260.847327 -12849.018802 16.258711
+V 22 -9720.078701 -13650.934152 25579.744216 .002516
+P 23 1327.675061 24508.775568 9918.760474 211.485862
+V 23 -5410.367617 11837.241199 -28366.423429 .005867
+P 24 26062.197124 -3950.292103 -3412.470141 89.452886
+V 24 -3928.052431 3566.062399 -31420.041694 .028940
+P 25 -24679.596637 9855.230648 84.653756 84.314076
+V 25 -858.488337 -3111.213325 -31447.002254 .007285
+P 26 7074.230734 -25221.512992 985.348066 316.977049
+V 26 2097.623011 2228.168731 32653.085097 .055874
+P 27 18628.721519 7090.582294 18300.421554 513.443711
+V 27 -20261.724774 8748.692506 17314.100518 .063300
+P 28 21834.759540 9634.589903 -11779.217311 46.478142
+V 28 9356.613047 12158.453449 26470.621331 .000545
+P 29 9585.188784 -23921.964863 6364.404511 178.890156
+V 29 437.758043 8030.337986 30937.566364 -.189592
+P 30 -16771.990334 -20024.421067 -5386.134127 444.294606
+V 30 6967.699819 1960.628947 -30295.399467 -.143426
+* 2005 1 20 0 15 .00000000
+P 1 -14161.634070 15188.117067 -16352.045184 383.810269
+V 1 2654.360553 -20976.027013 -21553.614117 .020171
+P 2 21386.038333 -13579.581122 7534.719559 -42.661320
+V 2 10383.818634 -761.901026 -29733.335731 .056933
+P 3 -11379.288835 20082.439100 12782.593674 78.068063
+V 3 -1865.540830 -16840.796004 24822.721000 .030433
+P 4 25762.234419 -5818.662625 -4198.909301 441.689144
+V 4 -4132.779734 4205.461665 -30848.597194 -.206580
+P 5 -7123.391456 -19827.616625 -16428.510527 73.145174
+V 5 18058.215471 10099.472988 -20043.691128 .024686
+P 6 -8660.351774 -19913.111883 15410.620619 -164.354283
+V 6 5262.136071 -18795.292593 -21708.121964 .881403
+P 7 15476.675069 1529.184391 -21116.787320 63.296092
+V 7 -3074.404146 27717.239322 -388.841731 -.302690
+P 8 22279.091347 2968.115977 14254.664751 -19.043369
+V 8 -16761.251556 7430.206127 23997.545240 -.011665
+P 9 3806.250319 -17136.347851 -20314.175194 -24.845213
+V 9 23438.424514 -8375.628512 12078.188881 -.017817
+P 10 11033.653088 -9989.080205 21951.203474 57.516268
+V 10 21229.032139 18175.470466 -2109.240150 .007201
+P 11 -2475.175168 18210.274575 -19142.488832 186.501654
+V 11 -22723.746910 9489.914325 12171.365123 .036834
+P 13 6857.354310 20277.125645 15709.136061 -13.810483
+V 13 -4954.616023 19398.909386 -22729.901206 .009519
+P 14 -14710.129660 -1422.747305 -22011.360870 -31.485776
+V 14 4650.245332 -27638.809110 -1335.841009 -.000869
+P 15 -25635.262032 2380.716080 6922.029574 377.886187
+V 15 7973.983808 -4783.105250 29991.433972 .052974
+P 16 -16150.555473 5208.126285 20517.061941 1.991120
+V 16 -19314.137325 -17239.605012 -10825.569856 -.001663
+P 17 13804.103577 -15206.400197 16645.269771 -93.061923
+V 17 20885.492723 -2886.915179 -21000.037885 .190804
+P 18 -19861.242334 -17842.778293 -156.738371 -118.945422
+V 18 1512.226310 -2069.845817 31627.317131 -.037437
+P 19 -7873.456254 25217.253514 3001.299802 -11.872943
+V 19 -1927.424118 -4220.087378 31396.505246 -.008581
+P 20 7633.439818 20193.018962 -15559.181914 -90.869274
+V 20 -16414.115662 -10906.244922 -22293.363528 .026976
+P 21 -17413.685478 -8256.218176 18454.357811 88.009138
+V 21 21775.827705 -8481.935021 16299.556604 .010903
+P 22 -22019.011941 -10371.627950 -10441.878089 16.258970
+V 22 -8195.634760 -11040.007812 27834.116360 .002531
+P 23 897.188618 25440.944122 7286.998158 211.486248
+V 23 -4211.381964 8829.289744 -30032.170276 .005855
+P 24 25564.760623 -3575.066061 -6202.823289 89.455755
+V 24 -7089.373145 4832.943341 -30498.208158 .028939
+P 25 -24618.476374 9511.192570 -2738.176609 84.313418
+V 25 2186.454129 -4593.924565 -31192.173900 .007298
+P 26 7234.545418 -24860.680323 3906.507165 316.982348
+V 26 1538.209726 5796.158297 32164.112789 .055866
+P 27 16752.314217 7955.893348 19705.563908 513.449622
+V 27 -21356.479559 10485.211799 13868.933012 .063296
+P 28 22602.136431 10612.919034 -9303.021933 46.478337
+V 28 7624.489321 9598.076685 28476.319630 .000546
+P 29 9616.573035 -23048.400570 9085.994724 178.873363
+V 29 332.893209 11360.967814 29456.180225 -.189599
+P 30 -16024.698492 -19767.675322 -8059.258050 444.281356
+V 30 9657.476461 3678.292505 -29023.717131 -.143434
+* 2005 1 20 0 30 .00000000
+P 1 -13958.653112 13190.265272 -18143.392203 383.811536
+V 1 1799.896139 -23353.740166 -18195.324108 .020180
+P 2 22174.886980 -13613.625659 4800.770477 -42.656167
+V 2 7147.608444 75.563887 -30931.981671 .056911
+P 3 -11575.965845 18449.254987 14897.915921 78.070224
+V 3 -2556.304310 -19396.705785 22115.719448 .030427
+P 4 25256.853811 -5374.145784 -6932.065113 441.670667
+V 4 -7053.374643 5726.382199 -29802.560636 -.206584
+P 5 -5396.473413 -18906.607158 -18088.467358 73.146042
+V 5 20281.674545 10297.168353 -16792.197608 .024688
+P 6 -8238.865454 -21502.438008 13330.759458 -164.274683
+V 6 4145.975794 -16459.374889 -24446.104843 .881360
+P 7 15259.231473 4023.277190 -20963.057385 63.268809
+V 7 -1753.662144 27615.535518 3798.914466 -.302697
+P 8 20678.378605 3719.373620 16286.228073 -19.044086
+V 8 -18733.761959 9289.327138 21082.011383 -.011667
+P 9 5837.101707 -17917.372539 -19060.664044 -24.846563
+V 9 21632.215522 -8920.243165 15741.844932 -.017824
+P 10 12973.026818 -8418.643193 21572.391891 57.517599
+V 10 21789.575713 16672.374777 -6294.945711 .007203
+P 11 -4443.321322 19075.249027 -17884.993501 186.505177
+V 11 -20961.349701 9671.453432 15733.593500 .036835
+P 13 6477.877829 21914.538964 13534.048793 -13.809629
+V 13 -3523.230647 16918.049345 -25535.495204 .009514
+P 14 -14360.503880 -3920.038556 -21940.859372 -31.485741
+V 14 3108.000899 -27762.592263 2900.159067 -.000873
+P 15 -24786.969049 1883.179946 9554.619513 377.890404
+V 15 10825.716587 -6324.133850 28426.489347 .052978
+P 16 -17879.997760 3740.238482 19370.306218 1.990978
+V 16 -19035.535936 -15351.432816 -14621.603660 -.001672
+P 17 15570.747224 -15483.689422 14615.212917 -93.044141
+V 17 18319.754442 -3208.809343 -24049.755722 .190831
+P 18 -19607.719487 -17929.913070 2683.007333 -118.949212
+V 18 4162.297415 77.208063 31388.934408 -.037443
+P 19 -8027.454429 24686.663590 5793.164746 -11.873607
+V 19 -1564.599658 -7565.202470 30556.283533 -.008586
+P 20 6044.891973 19185.963505 -17426.760317 -90.866567
+V 20 -18859.796557 -11394.986358 -19149.372883 .026971
+P 21 -15400.916204 -9096.468330 19760.384023 88.010327
+V 21 22869.177535 -10193.544497 12680.098922 .010904
+P 22 -22671.463645 -11250.696247 -7853.478169 16.259151
+V 22 -6233.497716 -8517.119255 29602.101575 .002546
+P 23 558.919968 26090.655906 4528.658959 211.486822
+V 23 -3368.719301 5575.246249 -31175.254878 .005844
+P 24 24794.016132 -3070.204147 -8886.243630 89.459171
+V 24 -9987.476599 6437.890559 -29046.550812 .028938
+P 25 -24292.746723 9018.277687 -5513.700572 84.313969
+V 25 5007.961308 -6410.984488 -30396.436798 .007311
+P 26 7364.404879 -24178.823347 6757.481988 316.987924
+V 26 1421.315181 9343.493721 31095.321135 .055857
+P 27 14799.043393 8977.498659 20790.015743 513.455343
+V 27 -21968.830013 12207.623978 10196.751052 .063292
+P 28 23194.857655 11366.425091 -6668.233866 46.478431
+V 28 5482.571337 7176.800974 29990.506300 .000547
+P 29 9657.976680 -21882.280958 11651.505549 178.857020
+V 29 656.309474 14515.458850 27474.680755 -.189607
+P 30 -15031.578503 -19374.761687 -10595.742038 444.268326
+V 30 12415.979580 4982.090340 -27263.593529 -.143443
+* 2005 1 20 0 45 .00000000
+P 1 -13846.800314 10997.590588 -19617.535032 383.813199
+V 1 640.966805 -25293.725748 -14514.958723 .020190
+P 2 22674.353113 -13553.614739 1983.221895 -42.651330
+V 2 3969.418718 1324.583512 -31588.989611 .056890
+P 3 -11847.806888 16602.093397 16751.818790 78.072566
+V 3 -3526.080462 -21584.337965 19022.141976 .030421
+P 4 24501.756550 -4779.120382 -9548.241774 441.652049
+V 4 -9670.036216 7539.961038 -28252.507398 -.206589
+P 5 -3480.396816 -17986.292857 -19442.571552 73.147716
+V 5 22248.486694 10089.832480 -13256.377124 .024689
+P 6 -7905.648625 -22865.308667 11022.703954 -164.195664
+V 6 3310.306081 -13774.184058 -26771.571958 .881317
+P 7 15160.417537 6483.600199 -20435.246059 63.241359
+V 7 -452.808102 26968.467766 7911.299130 -.302704
+P 8 18921.388758 4643.369533 18038.231600 -19.044721
+V 8 -20227.698410 11254.036217 17793.546958 -.011668
+P 9 7690.393638 -18730.358671 -17487.995715 -24.848751
+V 9 19504.508245 -9077.562013 19160.495187 -.017831
+P 10 14941.030080 -6995.904409 20821.677582 57.518220
+V 10 21859.148047 14907.814283 -10361.931764 .007204
+P 11 -6240.032786 19939.700088 -16318.451020 186.508459
+V 11 -18926.379686 9472.286575 19029.001729 .036836
+P 13 6214.018134 23310.861034 11126.005722 -13.808666
+V 13 -2396.531876 14053.853457 -27899.382666 .009508
+P 14 -14151.294299 -6403.037790 -21490.864226 -31.485818
+V 14 1545.610135 -27321.156170 7085.121403 -.000877
+P 15 -23696.955963 1234.183365 12024.052459 377.895525
+V 15 13333.766814 -8137.672019 26370.319359 .052982
+P 16 -19561.912445 2448.678103 17892.655241 1.990910
+V 16 -18256.228358 -13336.362516 -18168.379918 -.001681
+P 17 17093.314083 -15771.438275 12328.444012 -93.026681
+V 17 15476.171701 -3113.039992 -26695.335781 .190859
+P 18 -19105.903203 -17839.825509 5477.321196 -118.952379
+V 18 7016.239351 1859.962124 30619.208782 -.037448
+P 19 -8167.578401 23857.981105 8485.746594 -11.874260
+V 19 -1617.635919 -10828.263203 29193.549288 -.008593
+P 20 4244.923405 18155.605881 -18996.282659 -90.864153
+V 20 -21097.428161 -11428.164870 -15679.343695 .026966
+P 21 -13312.403504 -10090.301601 20729.918890 88.011345
+V 21 23457.442740 -11879.957411 8832.231965 .010903
+P 22 -23129.215264 -11910.013770 -5128.976947 16.259310
+V 22 -3877.685494 -6170.716503 30854.485638 .002562
+P 23 278.990756 26439.885868 1691.716342 211.487367
+V 23 -2919.731974 2167.967610 -31776.523011 .005832
+P 24 23777.298021 -2407.929767 -11415.942090 89.461730
+V 24 -12543.230656 8319.573980 -27086.520189 .028937
+P 25 -23726.088771 8348.944497 -8193.566437 84.314537
+V 25 7528.350075 -8503.271563 -29068.738467 .007324
+P 26 7503.456963 -23182.798828 9486.776449 316.993028
+V 26 1739.559638 12759.377834 29463.965552 .055848
+P 27 12812.347477 10150.271483 21535.849411 513.461139
+V 27 -22100.956413 13830.283027 6353.672392 .063288
+P 28 23578.215303 11911.384429 -3920.147577 46.478564
+V 28 2981.660282 4976.521915 30991.095938 .000547
+P 29 9746.569277 -20443.697320 14017.542139 178.839850
+V 29 1374.506834 17400.954508 25030.249534 -.189615
+P 30 -13790.424806 -18883.882979 -12952.990749 444.255000
+V 30 15154.362347 5853.681633 -25046.575089 -.143451
+* 2005 1 20 1 0 .00000000
+P 1 -13850.139423 8652.408275 -20748.362357 383.815411
+V 1 -746.293162 -26733.837907 -10577.346859 .020199
+P 2 22893.983106 -13363.753806 -868.757653 -42.645980
+V 2 944.314186 2954.600612 -31696.655867 .056869
+P 3 -12217.105379 14577.000843 18311.971687 78.073766
+V 3 -4710.355225 -23341.593320 15597.769228 .030415
+P 4 23527.353368 -4010.173235 -12003.128560 441.633251
+V 4 -11916.958050 9579.151369 -26223.112906 -.206593
+P 5 -1401.712665 -17101.334488 -20467.839678 73.149787
+V 5 23883.410592 9519.719410 -9494.832759 .024692
+P 6 -7633.030944 -23973.499629 8525.513143 -164.116104
+V 6 2806.784304 -10812.939098 -28642.736906 .881275
+P 7 15174.536397 8861.814610 -19543.549039 63.214361
+V 7 741.908859 25795.797788 11872.961643 -.302711
+P 8 17052.651458 5745.526827 19479.493239 -19.046933
+V 8 -21213.634973 13232.845201 14186.193045 -.011670
+P 9 9340.538625 -19538.423856 -15620.899348 -24.849777
+V 9 17131.245602 -8805.089423 22275.112621 -.017838
+P 10 16892.101382 -5740.368730 19712.888204 57.518356
+V 10 21410.268896 12972.317588 -14240.911991 .007206
+P 11 -7844.211511 20767.973331 -14469.526436 186.511806
+V 11 -16696.309002 8864.086280 21999.484901 .036838
+P 13 6035.554344 24435.164603 8526.615759 -13.807671
+V 13 -1634.210178 10887.737317 -29781.683173 .009501
+P 14 -14080.080959 -8821.158213 -20669.250592 -31.485889
+V 14 56.874512 -26324.078282 11146.385790 -.000880
+P 15 -22399.134800 412.415307 14287.486674 377.900575
+V 15 15434.186727 -10150.311687 23854.742567 .052986
+P 16 -21151.041293 1340.749166 16109.288648 1.990821
+V 16 -16974.952433 -11286.067107 -21405.637204 -.001690
+P 17 18350.880850 -16030.623311 9823.778247 -93.009036
+V 17 12446.894375 -2570.807198 -28883.641870 .190886
+P 18 -18341.246628 -17607.349880 8178.911845 -118.955955
+V 18 9988.294922 3235.620819 29331.318204 -.037453
+P 19 -8330.589619 22742.885938 11033.049488 -11.875013
+V 19 -2068.778256 -13914.530070 27332.622940 -.008600
+P 20 2256.185566 17141.583320 -20241.032713 -90.861671
+V 20 -23040.996513 -11038.897422 -11942.474035 .026960
+P 21 -11193.763061 -11231.414933 21345.241032 88.012494
+V 21 23540.074240 -13451.586905 4819.658090 .010902
+P 22 -23359.419252 -12369.105028 -2315.745542 16.259518
+V 22 -1188.071484 -4079.882015 31571.354185 .002579
+P 23 20.950074 26479.243691 -1174.567439 211.487859
+V 23 -2884.053298 -1294.130892 -31826.522239 .005821
+P 24 22548.515097 -1566.612929 -13747.478746 89.464001
+V 24 -14690.145561 10403.152122 -24648.833313 .028936
+P 25 -22948.673740 7481.602485 -10730.664724 84.314440
+V 25 9681.558678 -10798.058573 -27227.751662 .007337
+P 26 7689.773174 -21889.294012 12044.975911 316.998230
+V 26 2465.405825 15936.916856 27298.982334 .055839
+P 27 10834.751900 11461.440134 21930.309737 513.466906
+V 27 -21770.904742 15269.446273 2398.433493 .063284
+P 28 23722.716861 12270.970127 -1105.656626 46.478505
+V 28 186.485511 3068.151927 31464.646626 .000547
+P 29 9915.741410 -18760.687841 16144.389805 178.822995
+V 29 2437.323751 19934.240411 22167.338371 -.189623
+P 30 -12307.088482 -18334.111836 -15091.569649 444.241799
+V 30 17782.982662 6292.094736 -22411.245751 -.143459
+* 2005 1 20 1 15 .00000000
+P 1 -13985.403962 6201.853111 -21515.829551 383.817029
+V 1 -2275.689507 -27629.479790 -6452.260568 .020209
+P 2 22851.547427 -13011.753692 -3705.750194 -42.640883
+V 2 -1840.576926 4918.551833 -31257.103613 .056848
+P 3 -12699.879373 12414.937505 19551.339839 78.074843
+V 3 -6034.685406 -24621.722281 11904.304083 .030410
+P 4 22369.371802 -3050.433037 -14254.988351 441.614792
+V 4 -13742.146915 11766.067605 -23746.835052 -.206598
+P 5 806.698493 -16281.961551 -21146.736310 73.151630
+V 5 25121.470879 8642.720693 -5569.880559 .024694
+P 6 -7389.332951 -24805.842477 5881.681237 -164.037022
+V 6 2672.525238 -7658.748368 -30025.181366 .881232
+P 7 15288.338454 11112.214374 -18304.790870 63.187017
+V 7 1749.503734 24136.045544 15612.204549 -.302718
+P 8 15118.525727 7022.864376 20583.985206 -19.048256
+V 8 -21680.498121 15131.086341 10320.320697 -.011671
+P 9 10769.163663 -20301.569457 -13489.266898 -24.852558
+V 9 14596.340640 -8076.360126 25030.165805 -.017844
+P 10 18779.043023 -4663.168022 18265.920486 57.519894
+V 10 20434.169356 10960.801817 -17866.484967 .007207
+P 11 -9242.002213 21522.579174 -12369.878987 186.515233
+V 11 -14354.095064 7834.571020 24592.342930 .036839
+P 13 5907.603859 25264.346347 5780.703986 -13.806681
+V 13 -1279.831023 7511.605859 -31150.900019 .009492
+P 14 -14136.130984 -11125.554496 -19490.341502 -31.485861
+V 14 -1267.902763 -24800.357547 15013.538550 -.000884
+P 15 -20932.520637 -596.339908 16305.318529 377.906118
+V 15 17077.889467 -12278.274922 20919.834193 .052989
+P 16 -22602.839618 415.507679 14050.586947 1.990642
+V 16 -15208.802178 -9291.570310 -24278.220608 -.001699
+P 17 19331.147409 -16220.477736 7144.481519 -92.991837
+V 17 9330.778691 -1572.391099 -30569.141830 .190913
+P 18 -17307.218415 -17270.423699 10742.051191 -118.959307
+V 18 12986.639291 4178.213809 27546.778171 -.037457
+P 19 -8550.869138 21361.342806 13391.643517 -11.875855
+V 19 -2883.074422 -16735.198680 25006.114422 -.008606
+P 20 108.685071 16179.815919 -21139.827011 -90.859078
+V 20 -24613.586953 -10276.379039 -8002.346430 .026954
+P 21 -9089.860989 -12505.519044 21594.534920 88.013631
+V 21 23134.243059 -14821.134938 709.753725 .010899
+P 22 -23335.246094 -12654.076844 537.480430 16.259683
+V 22 1761.912692 -2311.350653 31742.322026 .002596
+P 23 -252.592674 26208.306737 -4020.520505 211.488199
+V 23 -3262.873243 -4710.815004 -31325.602830 .005811
+P 24 21146.891262 -531.864489 -15839.584221 89.466237
+V 24 -16376.990596 12603.069474 -21773.161251 .028935
+P 25 -21995.993791 6401.721366 -13080.004460 84.315164
+V 25 11415.806432 -13211.669025 -24901.853549 .007351
+P 26 7958.078908 -20324.271866 14385.776176 317.003268
+V 26 3552.299449 18777.601922 24640.434281 .055830
+P 27 8906.465448 12890.893136 21966.025109 513.472744
+V 27 -21011.965793 16446.236772 -1608.162027 .063280
+P 28 23605.232870 12474.148649 1727.524512 46.478525
+V 28 -2826.719920 1509.151916 31406.344954 .000548
+P 29 10193.699028 -16868.234421 17996.627391 178.806160
+V 29 3780.116048 22044.673954 18936.749022 -.189631
+P 30 -10595.401576 -17763.832423 -16975.807804 444.228995
+V 30 20214.665093 6313.512839 -19402.537382 -.143466
+* 2005 1 20 1 30 .00000000
+P 1 -14261.250341 3696.214368 -21906.344014 383.817551
+V 1 -3854.550442 -27955.381366 -2213.074399 .020219
+P 2 22572.180328 -12470.232277 -6478.959869 -42.635669
+V 2 -4309.232497 7154.829976 -30281.967241 .056826
+P 3 -13305.117119 10160.312899 20448.661341 78.077439
+V 3 -7417.847576 -25395.053270 8008.111885 .030406
+P 4 21067.525726 -1890.420471 -16265.340841 441.596200
+V 4 -15109.275087 14014.833433 -20863.514190 -.206603
+P 5 3106.663506 -15552.840354 -21467.467574 73.153988
+V 5 25910.402313 7526.167192 -1546.638669 .024696
+P 6 -7140.252647 -25348.982366 3136.440233 -163.957539
+V 6 2928.470168 -4401.609241 -30892.598947 .881189
+P 7 15481.653376 13193.342431 -16742.028463 63.159873
+V 7 2497.711514 22044.764400 19062.459865 -.302725
+P 8 13165.518462 8463.878841 21331.364771 -19.049009
+V 8 -21636.100813 16854.680219 6261.725485 -.011672
+P 9 11965.696614 -20978.193221 -11127.791693 -24.854094
+V 9 11988.712749 -6882.399222 27374.667358 -.017851
+P 10 20554.724200 -3766.834888 16506.343522 57.520487
+V 10 18941.094879 8968.817340 -21178.160746 .007208
+P 11 -10427.142517 22165.673888 -10055.629169 186.518718
+V 11 -11984.962772 6388.216348 26761.298634 .036838
+P 13 5792.154889 25783.918679 2935.534195 -13.805553
+V 13 -1359.141110 4024.417033 -31984.404195 .009482
+P 14 -14300.879823 -13270.826374 -17974.649186 -31.485881
+V 14 -2345.577987 -22797.306533 18619.658065 -.000889
+P 15 -19339.803469 -1798.407668 18041.905802 377.911725
+V 15 18232.568216 -14430.556443 17613.458396 .052992
+P 16 -23875.111340 -336.020989 11751.630256 1.990634
+V 16 -12992.735985 -7439.730264 -26736.994692 -.001709
+P 17 20030.867487 -16300.256135 4337.523995 -92.974348
+V 17 6229.489774 -128.069557 -31715.266082 .190940
+P 18 -16005.700085 -16868.530258 13123.310757 -118.962679
+V 18 15916.712626 4679.449732 25295.112112 -.037461
+P 19 -8858.930936 19740.919103 15521.384500 -11.876564
+V 19 -4009.836947 -19210.638329 22254.319899 -.008613
+P 20 -2161.169873 15301.146893 -21677.362823 -90.856638
+V 20 -25750.309981 -9203.849043 -3925.882966 .026947
+P 21 -7043.238551 -13890.702116 21472.175985 88.014811
+V 21 22274.294869 -15907.084016 -3427.461928 .010895
+P 22 -23036.981535 -12796.392190 3381.461816 16.259994
+V 22 4888.086603 -917.052286 31366.576869 .002613
+P 23 -578.303252 25635.613020 -6796.940917 211.488496
+V 23 -4038.960191 -7983.820955 -30283.826875 .005803
+P 24 19615.495084 702.644436 -17654.943980 89.469322
+V 24 -17569.849578 14826.348514 -18507.615649 .028934
+P 25 -20907.476489 5102.676443 -15199.576900 84.315406
+V 25 12695.730100 -15652.659216 -22128.881862 .007365
+P 26 8338.126918 -18522.027089 16466.946928 317.008765
+V 26 4936.699928 21195.440037 21538.612348 .055821
+P 27 7064.054388 14411.746551 21641.167351 513.478372
+V 27 -19871.569909 17289.493934 -5603.832307 .063276
+P 28 23209.908561 12554.378004 4531.631896 46.478838
+V 28 -5973.022537 341.598592 30819.874299 .000548
+P 29 10602.277393 -14807.018416 19543.655415 178.789536
+V 29 5326.440776 23676.598532 15394.663596 -.189639
+P 30 -8676.812248 -17209.229321 -18574.336111 444.215877
+V 30 22367.847255 5950.444796 -16070.986643 -.143474
+* 2005 1 20 1 45 .00000000
+P 1 -14677.847244 1187.145493 -21913.025632 383.820041
+V 1 -5387.590352 -27706.595648 2064.663366 .020229
+P 2 22087.256206 -11717.914643 -9141.048422 -42.630458
+V 2 -6399.402135 9589.781588 -28791.910863 .056804
+P 3 -14034.319000 7859.397367 20988.806955 78.078405
+V 3 -8775.251288 -25650.015615 3978.880821 .030403
+P 4 19664.042682 -528.626750 -17999.605019 441.577612
+V 4 -15998.978076 16234.752222 -17619.867880 -.206607
+P 5 5455.954211 -14932.159561 -21424.190600 73.157005
+V 5 26212.651544 6246.208094 2507.929518 .024698
+P 6 -6850.371653 -25597.851072 337.000675 -163.878443
+V 6 3578.371653 -1135.101025 -31227.421708 .881146
+P 7 15728.314622 15069.419692 -14884.029890 63.132645
+V 7 2926.008363 19592.124034 22163.578337 -.302732
+P 8 11238.588643 10048.768737 21707.415338 -19.049577
+V 8 -21106.930922 18313.933803 2080.557662 -.011673
+P 9 12927.672577 -21526.706892 -8575.510852 -24.856316
+V 9 9399.044891 -5232.581849 29263.258405 -.017857
+P 10 22173.778854 -3045.413908 14464.914994 57.522568
+V 10 16959.888509 7088.827250 -24121.268313 .007209
+P 11 -11401.017818 22660.574919 -7566.738655 186.522023
+V 11 -9673.082342 4546.302192 28467.412169 .036837
+P 13 5649.720276 25988.479909 39.994830 -13.804657
+V 13 -1879.074561 528.493305 -32268.763016 .009471
+P 14 -14548.729972 -15216.590279 -16148.507266 -31.486004
+V 14 -3103.537112 -20378.737172 21902.490817 -.000894
+P 15 -17665.774373 -3191.727646 19466.241326 377.916104
+V 15 18884.001368 -16512.417507 13990.631974 .052995
+P 16 -24929.569325 -930.314400 9251.618621 1.990470
+V 16 -10378.412685 -5809.880605 -28739.671045 -.001719
+P 17 20455.916318 -16231.043234 1452.718112 -92.958088
+V 17 3243.362573 1731.833192 -32295.605749 .190967
+P 18 -14447.077757 -16441.093336 15282.263692 -118.965945
+V 18 18684.659573 4748.922019 22613.418781 -.037465
+P 19 -9280.094078 17915.826579 17386.074420 -11.877146
+V 19 -5384.698835 -21273.271636 19124.508424 -.008620
+P 20 -4511.767002 14530.190112 -21844.469919 -90.854219
+V 20 -26400.780235 -7896.032735 217.745442 .026940
+P 21 -5092.615962 -15358.102290 20978.917943 88.015756
+V 21 21010.540035 -16637.045023 -7520.466877 .010890
+P 22 -22452.852339 -12831.449856 6167.312783 16.260399
+V 22 8098.723123 67.733182 30452.746210 .002629
+P 23 -990.493386 24778.316633 -9455.959711 211.489095
+V 23 -5177.420313 -11020.542094 -28720.693312 .005796
+P 24 17999.613541 2134.677122 -19160.927179 89.472006
+V 24 -18253.512917 16976.254443 -14908.030056 .028933
+P 25 -19724.934386 3586.289396 -17051.187094 84.316308
+V 25 13503.885422 -18025.408978 -18955.653225 .007378
+P 26 8853.290150 -16523.894162 18251.199993 317.014082
+V 26 6540.903974 23120.522199 18052.825867 .055812
+P 27 5339.237230 15991.159854 20959.556349 513.483840
+V 27 -18409.714956 17738.432737 -9525.458902 .063272
+P 28 22528.810112 12548.158067 7259.607039 46.478991
+V 28 -9161.864336 -409.161131 29717.181291 .000547
+P 29 11156.015139 -12621.985019 20760.135564 178.772754
+V 29 6991.132651 24791.171874 11601.647359 -.189647
+P 30 -6579.745876 -16702.877307 -19860.556640 444.202723
+V 30 24169.506607 5250.320070 -12471.948763 -.143482
+* 2005 1 20 2 0 .00000000
+P 1 -15226.819231 -1274.178876 -21535.836037 383.821890
+V 1 -6780.889288 -26898.668305 6304.711272 .020239
+P 2 21433.052060 -10740.588646 -11646.920922 -42.625316
+V 2 -8064.682737 12140.624301 -26816.008846 .056782
+P 3 -14881.352998 5558.674644 21163.017148 78.081034
+V 3 -10022.467695 -25393.423052 -111.760206 .030400
+P 4 18202.101422 1028.203764 -19427.691359 441.558976
+V 4 -16409.544541 18333.693668 -14068.878212 -.206612
+P 5 7809.682504 -14430.967389 -21017.135000 73.158519
+V 5 26006.863515 4884.855531 6526.012528 .024700
+P 6 -6484.722877 -25555.833161 -2468.257822 -163.799282
+V 6 4608.448951 2047.105854 -31021.306447 .881104
+P 7 15997.331489 16711.530097 -12764.646759 63.105398
+V 7 2988.072463 16859.930722 24862.901096 -.302739
+P 8 9379.504106 11749.997409 21704.384786 -19.050396
+V 8 -20137.193206 19427.249436 -2149.891748 -.011674
+P 9 13660.739715 -21907.201462 -5875.249456 -24.857763
+V 9 6916.366670 -3154.822109 30657.302165 -.017863
+P 10 23594.234661 -2484.900921 12177.021334 57.521672
+V 10 14536.884694 5406.659543 -26647.737873 .007210
+P 11 -12172.417466 22973.250089 -4946.313501 186.525330
+V 11 -7498.276720 2346.285670 29679.867339 .036837
+P 13 5441.047915 25881.846389 -2856.237571 -13.803807
+V 13 -2827.492164 -2874.276923 -31999.911415 .009460
+P 14 -14848.134854 -16928.858582 -14043.601041 -31.486194
+V 14 -3482.641960 -17622.513641 24805.536246 -.000897
+P 15 -15955.664563 -4765.683943 20552.561674 377.921602
+V 15 19036.673366 -18429.103942 10112.716771 .052998
+P 16 -25733.262114 -1390.534847 6593.222198 1.990347
+V 16 -7432.394757 -4470.754626 -30251.537103 -.001729
+P 17 20620.982006 -15977.526053 -1458.241515 -92.941039
+V 17 467.212292 3957.811710 -32294.882771 .190995
+P 18 -12650.023993 -16025.882919 17182.143317 -118.969361
+V 18 21200.756037 4413.658913 19545.839741 -.037469
+P 19 -9833.363606 15925.723935 18954.053227 -11.878032
+V 19 -6932.180988 -22869.992459 15670.112463 -.008627
+P 20 -6897.687061 13884.427948 -21638.262657 -90.851656
+V 20 -26531.058099 -6436.154596 4358.241139 .026932
+P 21 -3271.534163 -16872.869871 20121.973085 88.017086
+V 21 19407.403942 -16950.824828 -11497.472323 .010885
+P 22 -21579.551105 -12797.028013 8847.338191 16.260606
+V 22 11298.011475 625.547618 29018.599942 .002645
+P 23 -1519.591760 23661.521516 -11951.871336 211.489757
+V 23 -6627.155677 -13737.466807 -26664.691044 .005789
+P 24 16345.033350 3753.267140 -20330.241690 89.475463
+V 24 -18432.128613 18956.188094 -11037.039218 .028932
+P 25 -18490.911565 1863.031671 -18601.231404 84.317060
+V 25 13841.525033 -20233.976905 -15437.236066 .007392
+P 26 9519.439127 -14376.666508 19706.936531 317.019008
+V 26 8276.518192 24501.848732 14249.931338 .055803
+P 27 3757.840983 17591.379498 19930.703998 513.489541
+V 27 -16696.955753 17745.030743 -13309.795531 .063268
+P 28 21562.285930 12493.487446 9865.826734 46.479121
+V 28 -12300.301134 -735.237977 28118.154201 .000545
+P 29 11861.518367 -10360.771311 21626.339877 178.755650
+V 29 8683.652945 25367.561455 7621.641655 -.189656
+P 30 -4338.716210 -16272.481500 -20813.039583 444.189674
+V 30 25557.773146 4273.563089 -8664.776193 -.143490
+* 2005 1 20 2 15 .00000000
+P 1 -15891.547286 -3638.883538 -20781.573711 383.824214
+V 1 -7945.816986 -25566.973092 10431.628827 .020248
+P 2 20649.251990 -9531.783717 -13954.450598 -42.620178
+V 2 -9275.946021 14718.658387 -24391.016728 .056759
+P 3 -15832.627245 3303.202317 20969.014206 78.083545
+V 3 -11078.722718 -24650.017573 -4191.629699 .030398
+P 4 16724.236087 2765.101130 -20524.533979 441.540731
+V 4 -16356.963856 20221.580495 -10269.070289 -.206616
+P 5 10121.803757 -14052.786105 -20252.633035 73.159137
+V 5 25288.794908 3526.795459 10439.981648 .024703
+P 6 -6010.357803 -25234.614769 -5230.632693 -163.720154
+V 6 5987.743701 5054.788957 -30275.459306 .881061
+P 7 16254.253818 18098.517788 -10422.100660 63.078089
+V 7 2653.592429 13938.236230 27116.095479 -.302747
+P 8 7625.317707 13533.179658 21321.208655 -19.050919
+V 8 -18787.119941 20124.581753 -6354.531691 -.011676
+P 9 14178.354268 -22083.097261 -3072.967179 -24.860127
+V 9 4624.586143 -695.040510 31525.951420 -.017869
+P 10 24779.013427 -2063.989007 9682.053202 57.521356
+V 10 11734.167784 3998.258755 -28716.755259 .007211
+P 11 -12757.001027 23073.720568 -2239.843203 186.528696
+V 11 -5532.893870 -159.482609 30376.607401 .036836
+P 13 5128.821367 25476.843279 -5703.543290 -13.803023
+V 13 -4173.658588 -6086.203320 -31183.166671 .009449
+P 14 -15162.924398 -18381.173699 -11696.404993 -31.486287
+V 14 -3439.637316 -14617.570737 27279.020831 -.000900
+P 15 -14253.461178 -6501.274606 21280.875521 377.925332
+V 15 18713.665496 -20089.645076 6046.443694 .053001
+P 16 -26259.812729 -1745.451493 3821.870768 1.990123
+V 16 -4233.781423 -3477.809151 -31246.073234 -.001739
+P 17 20548.885339 -15509.647047 -4342.812891 -92.925069
+V 17 -2013.697876 6482.952996 -31709.630454 .191023
+P 18 -10640.976298 -15657.490506 18790.449372 -118.972412
+V 18 23382.703667 3717.031159 16142.929859 -.037474
+P 19 -10530.561874 13814.325820 20198.713983 -11.878540
+V 19 -8568.672668 -23964.037335 11949.836202 -.008635
+P 20 -9271.248696 13373.593116 -21062.190200 -90.849049
+V 20 -26124.982705 -4912.633987 8425.318833 .026924
+P 21 -1607.190004 -18395.387986 18914.977693 88.018150
+V 21 17540.989607 -16803.080535 -15287.735698 .010877
+P 22 -20422.442822 -12731.653922 11375.837383 16.261205
+V 22 14389.643162 757.220898 27090.604163 .002660
+P 23 -2190.775269 22317.322045 -14241.916723 211.490485
+V 23 -8322.954453 -16063.234927 -24152.696054 .005780
+P 24 14696.298955 5538.908872 -21141.497563 89.477677
+V 24 -18129.064935 20673.645431 -6962.967762 .028930
+P 25 -17246.995181 -48.124445 -19821.398299 84.317669
+V 25 13728.593741 -22186.053982 -11635.983598 .007406
+P 26 10344.154428 -12130.800055 20808.852394 317.023959
+V 26 10048.400485 25309.276543 10202.663393 .055793
+P 27 2338.956607 19170.982011 18569.790891 513.495040
+V 27 -14811.995324 17276.061785 -16894.255802 .063264
+P 28 20319.033335 12428.283109 12306.800438 46.479258
+V 28 -15296.292679 -646.299718 26050.225150 .000542
+P 29 12717.133799 -8072.056192 22128.409374 178.738732
+V 29 10311.587535 25403.482862 3520.960593 -.189664
+P 30 -1993.218693 -15939.811665 -21415.844924 444.176452
+V 30 26484.144850 3091.216515 -4711.967841 -.143497
+* 2005 1 20 2 30 .00000000
+P 1 -16647.813677 -5862.117003 -19663.735462 383.825467
+V 1 -8802.732836 -23765.243320 14372.245759 .020258
+P 2 19777.353597 -8093.152244 -16025.134147 -42.614987
+V 2 -10022.088013 17232.643036 -21560.559666 .056736
+P 3 -16867.569890 1135.045532 20410.990438 78.085460
+V 3 -11870.209299 -23461.305795 -8189.353493 .030395
+P 4 15270.765607 4659.211103 -21270.552964 441.522140
+V 4 -15874.317596 21813.851837 -6283.682013 -.206621
+P 5 12346.675101 -13793.519946 -19143.055789 73.162412
+V 5 24071.614551 2256.075212 14183.447229 .024706
+P 6 -5397.850101 -24653.717012 -7901.965771 -163.640783
+V 6 7669.176994 7804.618613 -29000.780043 .881019
+P 7 16462.667880 19217.566664 -7898.205267 63.050854
+V 7 1909.367461 10921.698147 28887.748952 -.302754
+P 8 6007.026656 15358.262298 20563.607943 -19.052926
+V 8 -17130.600988 20350.487332 -10457.912187 -.011677
+P 9 14501.166257 -22022.712600 -217.011591 -24.861890
+V 9 2599.108471 2084.114930 31847.147158 -.017874
+P 10 25697.248882 -1755.089139 7022.727790 57.522493
+V 10 8627.270046 2926.849065 -30295.288324 .007213
+P 11 -13176.495392 22937.320404 505.609972 186.532012
+V 11 -3838.974383 -2905.652184 30544.801314 .036836
+P 13 4679.285072 24794.763429 -8453.198742 -13.802037
+V 13 -5869.434691 -9017.381281 -29833.089902 .009439
+P 14 -15453.819409 -19555.454216 -9147.538255 -31.486526
+V 14 -2948.925925 -11460.516785 29280.744343 -.000902
+P 15 -12600.266500 -8371.620945 21637.396939 377.927936
+V 15 17955.799702 -21410.579488 1862.777803 .053005
+P 16 -26490.421888 -2028.143579 984.993219 1.990164
+V 16 -871.356077 -2871.051375 -31705.445738 -.001748
+P 17 20269.551687 -14804.058776 -7148.687698 -92.907486
+V 17 -4127.320677 9225.558990 -30548.534761 .191051
+P 18 -8453.329449 -15365.930407 20079.493348 -118.975995
+V 18 25158.675788 2717.051940 12460.933766 -.037479
+P 19 -11375.742556 11627.870494 21098.934570 -11.879545
+V 19 -10205.712909 -24536.246158 8026.695279 -.008643
+P 20 -11584.143964 12999.357620 -20125.983993 -90.846585
+V 20 -25184.846618 -3415.585628 12349.847226 .026914
+P 21 -119.514353 -19882.708848 17377.836751 88.019125
+V 21 15496.132149 -16165.436865 -18822.925278 .010869
+P 22 -18995.448372 -12672.963706 13709.861770 16.261335
+V 22 17280.382343 481.627303 24703.343537 .002674
+P 23 -3022.813525 20783.590087 -16287.005772 211.490976
+V 23 -10188.122532 -17941.198105 -21229.231169 .005770
+P 24 13095.018955 7464.100977 -21579.662612 89.480806
+V 24 -17385.972288 22044.072299 -2758.548229 .028929
+P 25 -16032.163528 -2120.208326 -20689.271961 84.317721
+V 25 13202.920096 -23796.837610 -7620.342515 .007419
+P 26 11326.307411 -9838.484355 21538.387055 317.029417
+V 26 11758.866737 25534.506137 5987.840023 .055784
+P 27 1094.327221 20686.281225 16897.568234 513.500627
+V 27 -12838.932052 16314.696357 -20217.787896 .063260
+P 28 18815.870870 12388.819118 14541.828790 46.479065
+V 28 -18061.936091 -169.050290 23547.905791 .000541
+P 29 13712.938849 -5803.891592 22258.522939 178.721702
+V 29 11784.171522 24915.078691 -632.698704 -.189673
+P 30 413.555053 -15719.867720 -21658.766365 444.163753
+V 30 26915.235564 1782.195013 -678.292696 -.143505
+* 2005 1 20 2 45 .00000000
+P 1 -17464.763765 -7904.609779 -18202.248173 383.827328
+V 1 -9284.304208 -21563.365707 18057.069184 .020268
+P 2 18859.037684 -6434.544496 -17824.671225 -42.609851
+V 2 -10310.096836 19592.209256 -18374.263137 .056713
+P 3 -17959.393851 -908.154943 19499.476419 78.088197
+V 3 -12333.085275 -21883.749557 -12035.665835 .030393
+P 4 13878.307152 6680.442307 -21652.037151 441.503496
+V 4 -15010.523577 23034.776341 -2179.727449 -.206626
+P 5 14440.612299 -13641.662331 -17706.653501 73.164673
+V 5 22385.570157 1152.785121 17692.330109 .024708
+P 6 -4622.673515 -23839.729022 -10435.514938 -163.561488
+V 6 9591.278852 10223.364766 -27217.811425 .880976
+P 7 16585.758531 20064.447369 -5237.545729 63.023591
+V 7 759.679812 7905.856316 30151.726196 -.302761
+P 8 4548.472738 17180.955403 19444.053912 -19.054784
+V 8 -15252.217521 20066.623400 -14385.732266 -.011678
+P 9 14656.110315 -21700.683864 2642.713514 -24.863710
+V 9 903.689832 5105.286832 31608.500037 -.017880
+P 10 26325.375441 -1525.584046 4244.369499 57.522935
+V 10 5302.401130 2240.603072 -31358.487328 .007215
+P 11 -13457.654798 22545.760856 3242.255406 186.535360
+V 11 -2465.833827 -5816.302576 30181.125642 .036835
+P 13 4063.731818 23864.516375 -11058.196616 -13.801278
+V 13 -7851.135580 -11588.969538 -27973.199881 .009428
+P 14 -15680.074618 -20442.521568 -6441.050210 -31.486735
+V 14 -2003.644155 -8251.955821 30776.784062 -.000902
+P 15 -11032.767417 -10342.802931 21614.869974 377.933904
+V 15 16820.050229 -22319.449078 -2364.358952 .053009
+P 16 -26414.596463 -2274.533969 -1868.781339 1.989967
+V 16 2559.648322 -2673.454525 -31620.864442 -.001759
+P 17 19818.677283 -13845.308422 -9824.886512 -92.890814
+V 17 -5817.921376 12092.504566 -28832.403703 .191079
+P 18 -6126.369018 -15175.419404 21026.874589 -118.979690
+V 18 26470.005252 1484.124194 8560.971676 -.037482
+P 19 -12364.908990 9413.503175 21639.420384 -11.880303
+V 19 -11753.451414 -24585.669882 3967.001154 -.008650
+P 20 -13789.103871 12755.340618 -18845.502933 -90.844171
+V 20 -23731.385724 -2033.254304 16064.978542 .026905
+P 21 1179.465702 -21290.152317 15536.444680 88.020165
+V 21 13363.051110 -15027.959394 -22038.504643 .010861
+P 22 -17320.612432 -12656.115229 15809.915192 16.261699
+V 22 19883.487117 -165.245281 21898.830472 .002688
+P 23 -4027.170498 19102.557489 -18052.367787 211.491678
+V 23 -12137.546446 -19331.391970 -17945.608897 .005760
+P 24 11578.292203 9494.225577 -21636.395983 89.483737
+V 24 -16261.069259 22994.441759 1500.503175 .028927
+P 25 -14881.242495 -4319.091779 -21188.819588 84.317039
+V 25 12318.622696 -24992.644242 -3463.465117 .007434
+P 26 12456.023504 -7551.669241 21884.008171 317.034594
+V 26 13311.950314 25191.082901 1684.517120 .055775
+P 27 27.996991 22092.857148 14940.177020 513.506184
+V 27 -10864.232061 14861.592293 -23221.838672 .063256
+P 28 17077.226083 12408.239241 16533.617629 46.479040
+V 28 -20516.538899 653.885691 20652.263645 .000541
+P 29 14831.045642 -3602.073663 22014.977981 178.704782
+V 29 13015.721786 23936.155642 -4771.225931 -.189681
+P 30 2836.136844 -15620.305618 -21537.495323 444.150951
+V 30 26833.999083 430.261115 3370.109629 -.143512
+* 2005 1 20 3 0 .00000000
+P 1 -18306.143988 -9734.004515 -16423.078023 383.831107
+V 1 -9338.304128 -19044.535457 21421.594285 .020278
+P 2 17934.561843 -4573.779347 -19323.463924 -42.604746
+V 2 -10164.459121 21711.187152 -14886.847205 .056690
+P 3 -19076.112806 -2794.425935 18251.095792 78.091671
+V 3 -12416.040863 -19986.397687 -15664.625424 .030391
+P 4 12578.430637 8792.400062 -21661.438012 441.484752
+V 4 -13828.464622 23820.488365 1973.040970 -.206630
+P 5 16363.388052 -13578.797460 -15967.299275 73.165654
+V 5 20277.021827 289.855244 20905.935334 .024711
+P 6 -3666.395945 -22825.268269 -12786.812086 -163.482378
+V 6 11680.530772 12250.728020 -24956.484544 .880934
+P 7 16587.872582 20643.431337 -2486.636059 62.996546
+V 7 -774.045840 4983.483098 30891.303820 -.302768
+P 8 3265.532108 18954.358897 17981.595637 -19.056252
+V 8 -13243.794966 19253.571560 -18066.375040 -.011679
+P 9 14675.229635 -21099.172188 5455.651922 -24.864349
+V 9 -412.322055 8279.122511 30808.003084 -.017885
+P 10 26647.950439 -1339.266238 1394.160128 57.524468
+V 10 1853.314128 1970.890665 -31889.962749 .007216
+P 11 -13631.025851 21887.955495 5922.435255 186.538578
+V 11 -1448.162448 -8807.811390 29291.852526 .036836
+P 13 3259.795722 22721.500888 -13474.033905 -13.800477
+V 13 -10041.980898 -13736.036953 -25635.546707 .009419
+P 14 -15801.185509 -21042.288507 -3623.649541 -31.486849
+V 14 -615.999387 -5092.673919 31742.045897 -.000901
+P 15 -9581.879099 -12374.992768 21212.772745 377.937808
+V 15 15377.271349 -22757.905965 -6559.483370 .053013
+P 16 -26030.574055 -2521.809123 -4690.448167 1.989610
+V 16 5961.046543 -2890.027263 -30992.795033 -.001768
+P 17 19236.148895 -12626.692904 -12322.834004 -92.873306
+V 17 -7048.435279 14983.169306 -26593.752963 .191107
+P 18 -3703.982873 -15103.381291 21615.879198 -118.982844
+V 18 27273.414766 98.309871 4508.138743 -.037484
+P 19 -13486.047332 7217.634891 21810.953609 -11.881263
+V 19 -13124.162138 -24129.506055 -160.697114 -.008656
+P 20 -15841.531996 12627.435143 -17242.477979 -90.841674
+V 20 -21803.082085 -848.516192 19507.250909 .026896
+P 21 2285.950049 -22573.004814 13422.281966 88.021012
+V 21 11233.730197 -13399.899573 -24875.099710 .010854
+P 22 -15427.374868 -12712.313986 17640.587705 16.261920
+V 22 22121.857787 -1131.866091 18725.719438 .002702
+P 23 -5207.396606 17319.250154 -19508.120314 211.492146
+V 23 -14081.063272 -20211.853081 -14358.978631 .005750
+P 24 10177.320859 11588.730682 -21310.248449 89.486590
+V 24 -14826.715768 23466.389235 5737.017159 .028925
+P 25 -13823.538706 -6604.636609 -21310.746350 84.317587
+V 25 11143.790983 -25714.086267 758.336568 .007449
+P 26 13715.023416 -5320.134808 21841.330509 317.039417
+V 26 14617.507418 24313.442668 -2627.835163 .055765
+P 27 -863.758261 23347.157428 12728.876543 513.511608
+V 27 -8973.512441 12935.406281 -25851.402493 .063253
+P 28 15134.357604 12515.195215 18248.842397 46.479195
+V 28 -22589.434713 1765.631287 17410.343752 .000541
+P 29 16046.205589 -1508.610238 21402.184854 178.687644
+V 29 13928.865474 22516.815770 -8827.043879 -.189690
+P 30 5228.286541 -15641.144202 -21053.703005 444.138083
+V 30 26240.388330 -879.177297 7366.649602 -.143520
+* 2005 1 20 3 15 .00000000
+P 1 -19131.763828 -11325.905978 -14357.727226 383.833867
+V 1 -8929.774341 -16301.898570 24407.488129 .020286
+P 2 17041.235753 -2536.123680 -20497.033759 -42.599594
+V 2 -9625.946310 23510.734719 -11157.201806 .056667
+P 3 -20181.765267 -4498.470743 16688.215259 78.094250
+V 3 -12082.341499 -17848.065990 -19014.725126 .030389
+P 4 11396.507314 10953.576414 -21297.565909 441.465864
+V 4 -12402.558271 24121.625542 6103.262518 -.206635
+P 5 18079.615587 -13580.380477 -13954.136614 73.167983
+V 5 17806.865050 -269.911825 23768.012521 .024715
+P 6 -2517.638329 -21647.707765 -14914.488839 -163.403168
+V 6 13854.233054 13841.669733 -22255.657127 .880891
+P 7 16436.020991 20966.885142 306.926382 62.969339
+V 7 -2654.251397 2241.151096 31099.104444 -.302775
+P 8 2165.631692 20630.719175 16201.549834 -19.056083
+V 8 -11200.617883 17911.890153 -21432.425547 -.011679
+P 9 14594.274600 -20208.797331 8171.553773 -24.865908
+V 9 -1316.209690 11507.604709 29454.526991 -.017891
+P 10 26658.182242 -1157.905440 -1479.630586 57.525411
+V 10 -1622.077193 2131.161202 -31881.944690 .007217
+P 11 -13729.567908 20960.571822 8499.484591 186.542029
+V 11 -804.722859 -11792.042837 27892.739873 .036836
+P 13 2252.501491 21406.244659 -15659.455588 -13.799674
+V 13 -12355.042698 -15409.874699 -22860.154455 .009410
+P 14 -15778.591811 -21363.603801 -743.890854 -31.486841
+V 14 1183.140399 -2079.838773 32160.654682 -.000900
+P 15 -8271.621019 -14423.845192 20437.391749 377.943229
+V 15 13709.322667 -22684.287715 -10647.033935 .053017
+P 16 -25345.425870 -2806.786372 -7431.463757 1.989247
+V 16 9235.330004 -3507.577816 -29831.018223 -.001775
+P 17 18564.289685 -11150.741686 -14597.379911 -92.856620
+V 17 -7801.955516 17793.743169 -23876.018585 .191135
+P 18 -1233.195822 -15159.715301 21835.794194 -118.986381
+V 18 27542.703701 -1353.786469 370.523484 -.037486
+P 19 -14719.473506 5084.337305 21610.545808 -11.882044
+V 19 -14235.681568 -23202.366329 -4286.701241 -.008660
+P 20 -17701.045216 12594.441800 -15344.159355 -90.839267
+V 20 -19454.802150 64.422308 22617.648141 .026886
+P 21 3204.356177 -23688.250341 11071.891075 88.021768
+V 21 9198.172978 -11309.656800 -27279.806969 .010849
+P 22 -13351.575264 -12867.506643 19171.115049 16.262362
+V 22 23930.801732 -2353.303220 15238.444014 .002715
+P 23 -6558.832942 15479.834690 -20629.748714 211.492718
+V 23 -15927.004391 -20579.240418 -10531.299466 .005739
+P 24 8916.270341 13702.569275 -20606.721738 89.489894
+V 24 -13166.372500 23418.757911 9873.966024 .028922
+P 25 -12881.710450 -8932.102532 -21052.705870 84.318257
+V 25 9757.539742 -25918.656957 4967.246906 .007464
+P 26 15077.319726 -3189.687461 21413.074208 317.044554
+V 26 15594.979598 22955.081521 -6871.069053 .055756
+P 27 -1592.206212 24408.116549 10299.675178 513.517487
+V 27 -7248.237471 10572.668124 -28056.141490 .063249
+P 28 13024.338754 12732.657976 19658.658117 46.479067
+V 28 -24222.453049 3097.222050 13874.537966 .000542
+P 29 17326.691435 439.663172 20430.577232 178.670534
+V 29 14457.461253 20721.534258 -12734.029546 -.189698
+P 30 7544.529570 -15774.764382 -20215.038741 444.125354
+V 30 25151.424572 -2062.342505 11245.227764 -.143527
+* 2005 1 20 3 30 .00000000
+P 1 -19899.120624 -12664.611218 -12042.630915 383.835395
+V 1 -8042.469762 -13434.827965 26963.621382 .020294
+P 2 16212.031463 -353.502963 -21326.355091 -42.594566
+V 2 -8749.839848 24922.167252 -7247.456388 .056644
+P 3 -21237.796191 -6002.408397 14838.500117 78.097339
+V 3 -11311.276422 -15554.186899 -22029.879237 .030386
+P 4 10350.799334 13118.755365 -20565.680948 441.447175
+V 4 -10815.847188 23905.455764 10139.177414 -.206639
+P 5 19559.964465 -13616.769655 -11701.132810 73.171427
+V 5 15048.388781 -476.455374 26227.784393 .024718
+P 6 -1172.756036 -20347.720156 -16781.051527 -163.323878
+V 6 16023.782803 14968.135399 -19162.448842 .880849
+P 7 16101.262697 21054.570467 3095.292424 62.941842
+V 7 -4828.853364 -243.857517 30776.856756 -.302782
+P 8 1247.615392 22163.243255 14135.056617 -19.056592
+V 8 -9217.470375 16062.333191 -24422.124332 -.011681
+P 9 14451.130152 -19029.249903 10741.465071 -24.866741
+V 9 -1793.465916 14687.842896 27568.032532 -.017897
+P 10 26358.147198 -942.886883 -4328.423619 57.525902
+V 10 -5025.209670 2716.490396 -31335.328392 .007218
+P 11 -13787.185332 19768.286410 10928.572822 186.545354
+V 11 -537.700441 -14679.724417 26008.725921 .036836
+P 13 1035.030141 19962.863159 -17577.142642 -13.798972
+V 13 -14696.578904 -16579.690557 -19694.343238 .009402
+P 14 -15577.311047 -21423.761048 2148.666395 -31.486878
+V 14 3345.384826 696.640197 32026.179320 -.000900
+P 15 -7118.274693 -16442.090818 19301.760154 377.948528
+V 15 11905.704683 -22075.535666 -14552.903593 .053021
+P 16 -24374.832232 -3164.291888 -10044.580914 1.989215
+V 16 12289.289371 -4495.187831 -28154.530183 -.001781
+P 17 17846.013467 -9429.303590 -16607.733525 -92.839652
+V 17 -8082.272093 20421.682156 -20732.429888 .191164
+P 18 1237.420418 -15346.358351 21682.129950 -118.990159
+V 18 27269.821959 -2782.411717 -3781.847395 -.037485
+P 19 -16038.481491 3053.832597 21041.491658 -11.882819
+V 19 -15014.646527 -21854.903096 -8341.269956 -.008665
+P 20 -19332.863607 12628.985952 -13182.870880 -90.836900
+V 20 -16755.816930 643.003357 25342.600997 .026877
+P 21 3946.973232 -24596.261962 8526.238907 88.022881
+V 21 7340.695625 -8803.937421 -29207.399364 .010844
+P 22 -11134.229451 -13141.289821 20375.857596 16.262564
+V 22 25260.321117 -3753.849254 11496.293062 .002727
+P 23 -8068.637143 13629.941010 -21398.490719 211.493272
+V 23 -17585.776605 -20448.748324 -6528.259179 .005729
+P 24 7811.425739 15787.836247 -19538.183197 89.491579
+V 24 -11371.077686 22829.432691 13836.075801 .028920
+P 25 -12070.926991 -11253.756186 -20419.358716 84.317822
+V 25 8246.571173 -25582.595525 9085.658572 .007480
+P 26 16510.230541 -1200.555693 20608.872733 317.049729
+V 26 16176.653383 21185.970909 -10969.954543 .055746
+P 27 -2175.636290 25238.733407 7692.857941 513.522686
+V 27 -5762.445664 7826.976265 -29791.554235 .063246
+P 28 10788.837418 13076.943490 20739.150282 46.479290
+V 28 -25371.964869 4570.197671 10101.902207 .000543
+P 29 18635.424879 2212.271928 19116.440743 178.653546
+V 29 14549.120761 18626.750674 -16428.409591 -.189707
+P 30 9741.673747 -16006.202309 -19035.042941 444.112426
+V 30 23600.668563 -3040.326419 14941.191245 -.143535
+* 2005 1 20 3 45 .00000000
+P 1 -20565.120010 -13743.494051 -9518.468768 383.836590
+V 1 -6679.533483 -10544.993052 29046.928513 .020303
+P 2 15474.375953 1936.526034 -21798.104931 -42.589486
+V 2 -7603.668730 25889.400246 -3222.053342 .056622
+P 3 -22204.540495 -7296.219378 12734.386877 78.099811
+V 3 -10098.969465 -13193.458762 -24660.277183 .030384
+P 4 9451.828995 15240.582840 -19477.472111 441.428582
+V 4 -9156.712282 23157.396520 14009.897430 -.206643
+P 5 20782.160678 -13654.473920 -9246.541984 73.174665
+V 5 12084.636978 -294.610376 28240.922352 .024720
+P 6 363.788233 -18967.697126 -18353.587601 -163.244321
+V 6 18098.227505 15620.090888 -15731.384787 .880807
+P 7 15559.920021 20932.685163 5831.164294 62.914584
+V 7 -7233.361593 -2406.198835 29935.010686 -.302789
+P 8 501.967909 23507.894122 11818.509096 -19.057646
+V 8 -7384.678379 13745.213209 -26980.709506 -.011682
+P 9 14284.135142 -17569.543295 13118.729171 -24.868102
+V 9 -1848.555304 17716.272363 25179.546871 -.017904
+P 10 25758.689394 -656.860023 -7104.108449 57.525965
+V 10 -8260.388232 3703.801279 -30259.610219 .007219
+P 11 -13837.231729 18323.732931 13167.509099 186.548714
+V 11 -632.732547 -17383.871342 23673.436304 .036835
+P 13 -390.827997 18437.396155 -19194.334040 -13.798275
+V 13 -16969.627128 -17233.625122 -16191.942074 .009395
+P 14 -15167.438610 -21247.692395 5004.311771 -31.486668
+V 14 5806.638847 3157.451564 31341.691856 -.000901
+P 15 -6129.861103 -18381.268776 17825.457473 377.953767
+V 15 10059.844206 -20928.357972 -18205.979925 .053025
+P 16 -23142.537592 -3625.612875 -12484.667610 1.989011
+V 16 15037.491195 -5805.383648 -25991.281497 -.001787
+P 17 17122.974174 -7483.234558 -18318.283365 -92.821955
+V 17 -7913.440765 22770.082349 -17224.595374 .191192
+P 18 3659.404382 -15657.160767 21156.744707 -118.994010
+V 18 26465.281092 -4098.215041 -7878.128046 -.037479
+P 19 -17410.269516 1161.134022 20113.322785 -11.883479
+V 19 -15399.413083 -20151.844456 -12255.730700 -.008669
+P 20 -20708.996890 12698.684149 -10795.477432 -90.834434
+V 20 -13787.273822 838.859665 27634.913643 .026869
+P 21 4533.290318 -25262.381980 5829.976950 88.023989
+V 21 5736.422479 -5946.128622 -30621.386442 .010838
+P 22 -8820.124498 -13546.073205 21234.693972 16.262762
+V 22 26076.848549 -5250.029241 7562.440808 .002741
+P 23 -9716.128166 11813.024243 -21801.622006 211.493866
+V 23 -18973.345867 -19853.324330 -2418.158685 .005718
+P 24 6870.681244 17795.534937 -18123.636398 89.493202
+V 24 -9535.597863 21696.374377 17551.407046 .028919
+P 25 -11398.353481 -13520.612011 -19422.276481 84.318611
+V 25 6701.405697 -24701.940910 13037.882271 .007495
+P 26 17975.659074 613.953131 19444.945198 317.054870
+V 26 16310.292624 19089.369187 -14853.592597 .055737
+P 27 -2638.549626 25807.545131 4952.407907 513.528755
+V 27 -4579.638611 4767.495575 -31020.159443 .063242
+P 28 8472.733460 13556.988041 21471.721903 46.479426
+V 28 -26010.436891 6099.538940 6153.420420 .000543
+P 29 19931.310068 3786.055087 17481.662174 178.636464
+V 29 14167.249902 16318.053511 -19849.629923 -.189716
+P 30 11780.251884 -16313.728339 -17532.973386 444.099828
+V 30 21637.103207 -3742.183679 18392.302395 -.143543
+* 2005 1 20 4 0 .00000000
+P 1 -21087.821739 -14565.032696 -6829.407439 383.839376
+V 1 -4863.385994 -7732.387603 30623.083367 .020311
+P 2 14849.166106 4292.002213 -21904.829761 -42.584325
+V 2 -6264.544261 26370.933532 853.168857 .056600
+P 3 -23042.750092 -8377.885738 10412.485327 78.101513
+V 3 -8458.534957 -10854.427561 -26863.097219 .030382
+P 4 8702.056301 17271.243079 -18050.920079 441.409789
+V 4 -7515.330116 21881.849574 17646.715293 -.206648
+P 5 21731.730239 -13657.569886 -6632.283572 73.177097
+V 5 9005.363643 294.293634 29770.445788 .024722
+P 6 2079.378192 -17550.108484 -19604.386977 -163.164980
+V 6 19987.944217 15805.821190 -12023.365307 .880764
+P 7 14794.584168 20632.688916 8468.558778 62.887094
+V 7 -9793.407617 -4194.595502 28592.237249 -.302796
+P 8 -88.612066 24625.090772 9292.868915 -19.059296
+V 8 -5784.333573 11018.927487 -29061.602490 -.011684
+P 9 14130.372086 -15847.882844 15259.961714 -24.869567
+V 9 -1504.867301 20492.891916 22330.671685 -.017910
+P 10 24879.008088 -265.337428 -9759.810308 57.527132
+V 10 -11238.188790 5052.747057 -28672.718091 .007221
+P 11 -13911.047350 16647.145179 15177.495421 186.552198
+V 11 -1059.612853 -19823.116754 20928.517212 .036834
+P 13 -2014.550424 16876.084716 -20483.373446 -13.797451
+V 13 -19077.724965 -17379.054662 -12412.404733 .009390
+P 14 -14525.456344 -20866.879999 7774.035640 -31.487306
+V 14 8489.525806 5236.794808 30119.662801 -.000900
+P 15 -5305.962245 -20193.527467 16034.272006 377.958590
+V 15 8265.189973 -19259.572608 -21539.647034 .053028
+P 16 -21679.504324 -4217.085183 -14709.495085 1.988775
+V 16 17405.472683 -7375.965358 -23377.754951 -.001793
+P 17 16433.796609 -5341.703820 -19699.279180 -92.805472
+V 17 -7338.418621 24751.749924 -13420.869512 .191221
+P 18 5986.068062 -16078.083774 20267.865962 -118.996727
+V 18 25157.875142 -5215.825215 -11847.823878 -.037475
+P 19 -18797.110507 -565.112604 18841.661781 -11.884365
+V 19 -15342.548659 -18169.507407 -15963.584007 -.008674
+P 20 -21809.181995 12767.515890 -8222.773008 -90.832045
+V 20 -10639.210940 619.820006 29454.598877 .026860
+P 21 4989.024613 -25658.322436 3030.614134 88.025073
+V 21 4448.145992 -2813.944426 -31494.888288 .010831
+P 22 -6456.284462 -14086.526389 21733.325808 16.262983
+V 22 26364.376166 -6753.878855 3502.943896 .002754
+P 23 -11473.435380 10068.826974 -21832.640488 211.494229
+V 23 -20014.495377 -18842.230192 1729.220288 .005708
+P 24 6093.384195 19677.398732 -16388.352712 89.494754
+V 24 -7754.426450 20037.804511 20952.855876 .028918
+P 25 -10862.983342 -15684.229464 -18079.694269 84.319887
+V 25 5212.460375 -23292.725364 16751.796097 .007511
+P 26 19431.578574 2228.488169 17943.650758 317.059796
+V 26 15961.058493 16758.199020 -18456.619318 .055727
+P 27 -3010.581505 26089.934534 2125.322012 513.534091
+V 27 -3749.971388 1476.766742 -31712.651302 .063239
+P 28 6122.620443 14173.899950 21843.411842 46.479511
+V 28 -26127.440594 7596.858061 2093.213145 .000543
+P 29 21170.726649 5145.849899 15553.401595 178.619326
+V 29 13292.543194 13887.048877 -22941.198690 -.189724
+P 30 13625.838336 -16669.693698 -15733.544029 444.086968
+V 30 19323.455660 -4107.769451 21539.712849 -.143551
+* 2005 1 20 4 15 .00000000
+P 1 -21428.140716 -15140.484147 -4022.290788 383.843618
+V 1 -2634.846215 -5091.478208 31666.983297 .020318
+P 2 14350.038201 6667.942872 -21645.030395 -42.579228
+V 2 -4816.185507 26341.319898 4911.879801 .056577
+P 3 -23715.105727 -9253.225443 7912.922752 78.103013
+V 3 -6419.587048 -8622.131359 -28603.077817 .030380
+P 4 8095.881746 19164.177282 -16310.041482 441.390918
+V 4 -5980.012022 20102.298806 20984.425598 -.206652
+P 5 22402.454476 -13589.234888 -3903.244230 73.180112
+V 5 5903.690997 1291.464602 30787.520413 .024723
+P 6 3953.528585 -16135.868314 -20511.463757 -163.085783
+V 6 21608.286764 15551.474562 -8104.486699 .880721
+P 7 13794.878789 20189.962776 10963.521238 62.859632
+V 7 -12427.574129 -5573.393294 26774.841128 -.302803
+P 8 -548.313531 25481.240135 6602.883603 -19.061452
+V 8 -4486.871924 7957.709209 -30627.397719 -.011685
+P 9 14023.995378 -13891.155480 17125.975134 -24.871108
+V 9 -803.855000 22925.481190 19072.931951 -.017917
+P 10 23745.948428 261.814428 -12250.637544 57.527558
+V 10 -13878.630466 6707.222839 -26600.739708 .007222
+P 11 -14036.589122 14765.709757 16923.812561 186.555513
+V 11 -1773.637928 -21924.810982 17822.813093 .036833
+P 13 -3817.094979 15323.653496 -21422.172443 -13.796608
+V 13 -20928.618882 -17042.171182 -8419.841255 .009385
+P 14 -13635.299375 -20318.028691 10410.364360 -31.487090
+V 14 11306.319044 6884.757646 28381.698070 -.000898
+P 15 -4637.896137 -21833.418140 13959.731572 377.963983
+V 15 6611.291672 -17105.603993 -24493.202524 .053031
+P 16 -20022.796477 -4958.872750 -16680.480813 1.988451
+V 16 19332.528028 -9132.427548 -20358.385830 -.001798
+P 17 15812.468775 -3041.155000 -20727.359955 -92.788219
+V 17 -6416.857123 26292.769292 -9394.577440 .191249
+P 18 8174.103722 -16587.715063 19030.004786 -119.000234
+V 18 23393.708112 -6057.318914 -15621.997582 -.037472
+P 19 -20157.724052 -2103.543375 17247.977653 -11.885074
+V 19 -14812.803492 -15992.877727 -19401.587158 -.008678
+P 20 -22621.535359 12797.348610 -5508.798331 -90.829740
+V 20 -7407.223143 -28.702618 30769.605917 .026853
+P 21 5344.888902 -25763.324426 177.620724 88.026005
+V 21 3523.699015 503.560990 -31811.288322 .010824
+P 22 -4090.363138 -14759.328483 21863.491181 16.263230
+V 22 26124.944863 -8176.373810 -614.283165 .002768
+P 23 -13306.426269 8431.998341 -21491.348547 211.494795
+V 23 -20645.740410 -17479.007166 5843.748261 .005698
+P 24 5470.539309 21387.690646 -14363.373099 89.496258
+V 24 -6117.811668 17891.533170 23979.529723 .028917
+P 25 -10455.823486 -17698.488640 -16416.119540 84.320852
+V 25 3866.160721 -21390.304188 20160.379727 .007526
+P 26 20833.656145 3626.351545 16132.944563 317.064787
+V 26 15112.671804 14291.166897 -21720.188067 .055717
+P 27 -3325.189860 26069.210906 -739.173922 513.539591
+V 27 -3307.886750 -1952.129783 -31848.974188 .063235
+P 28 3785.242622 14920.806088 21847.139334 46.479497
+V 28 -25730.076191 8973.741395 -2012.311601 .000543
+P 29 22309.130687 6284.884004 13363.689891 178.602029
+V 29 11923.879388 11428.013621 -25651.500593 -.189733
+P 30 15250.190983 -17041.617110 -13666.576244 444.074094
+V 30 16734.005494 -4090.217331 24328.933454 -.143559
+* 2005 1 20 4 30 .00000000
+P 1 -21551.436090 -15489.223120 -1145.795192 383.846919
+V 1 -51.533725 -2707.625878 32163.041149 .020324
+P 2 13982.915324 9017.833807 -21023.166072 -42.573950
+V 2 -3345.734997 25792.077261 8888.147716 .056554
+P 3 -24187.656648 -9935.432193 5278.643110 78.105731
+V 3 -4027.134479 -6574.930608 -29852.947957 .030379
+P 4 7619.978380 20875.776916 -14284.514909 441.372328
+V 4 -4633.573034 17860.648072 23962.625882 -.206656
+P 5 22796.515876 -13413.336651 -1106.513375 73.182719
+V 5 2872.596682 2680.364215 31272.130540 .024724
+P 6 5958.490700 -14762.775579 -21058.966205 -163.006091
+V 6 22883.043581 14899.869529 -4044.742740 .880678
+P 7 12557.959496 19642.355494 13274.783797 62.832528
+V 7 -15050.414759 -6523.517305 24516.111220 -.302810
+P 8 -907.028825 26050.035354 3796.224935 -19.062662
+V 8 -3548.163281 4648.704445 -31650.624240 -.011685
+P 9 13994.681950 -11734.045538 18682.626431 -24.872740
+V 9 196.805139 24933.597119 15466.681833 -.017924
+P 10 22393.021130 949.046808 -14534.400029 57.529492
+V 10 -16114.008977 8597.453604 -24077.551181 .007222
+P 11 -14237.208617 12712.654999 18376.425829 186.558922
+V 11 -2717.535705 -23627.764486 14411.411146 .036831
+P 13 -5771.440470 13821.662827 -21994.583302 -13.795679
+V 13 -22437.824513 -16266.856242 -4281.978337 .009380
+P 14 -12489.140468 -19641.552138 12868.164949 -31.486879
+V 14 14162.266830 8069.070650 26158.125524 -.000899
+P 15 -4109.238822 -23259.605486 11638.512250 377.970109
+V 15 5180.039233 -14521.148088 -27013.144464 .053034
+P 16 -18214.235401 -5863.988225 -18363.372472 1.988426
+V 16 20773.974279 -10990.881352 -16984.831842 -.001802
+P 17 15286.965798 -623.974855 -21385.918760 -92.770794
+V 17 -5222.188289 27335.408639 -5222.177457 .191277
+P 18 10185.072736 -17158.086486 17463.760691 -119.003551
+V 18 21234.551006 -6555.443818 -19134.491695 -.037469
+P 19 -21448.799406 -3440.712331 15359.245206 -11.885816
+V 19 -13796.484923 -13712.361129 -22510.802870 -.008683
+P 20 -23142.894102 12749.557542 -2700.098384 -90.827414
+V 20 -4188.903733 -1102.998873 31556.425144 .026846
+P 21 5635.150485 -25565.024876 -2678.515530 88.026806
+V 21 2993.964886 3909.483581 -31564.638092 .010819
+P 22 -1769.022106 -15553.228592 21623.085239 16.263619
+V 22 25378.481797 -9430.888524 -4720.504237 .002782
+P 23 -15175.877085 6930.920092 -20783.833806 211.495435
+V 23 -20817.796506 -15838.926315 9856.067431 .005688
+P 24 4985.362325 22884.904966 -12084.893252 89.499472
+V 24 -4707.992964 15313.464275 26577.957622 .028917
+P 25 -10160.421111 -19521.268082 -14461.809897 84.321359
+V 25 2741.267347 -19047.862811 23203.085157 .007541
+P 26 22136.946660 4799.840461 14045.755387 317.069557
+V 26 13767.809808 11788.797718 -24592.728898 .055708
+P 27 -3618.155977 25737.409385 -3590.501076 513.545239
+V 27 -3270.329398 -5418.974992 -31419.258252 .063232
+P 28 1505.921066 15783.002045 21481.869434 46.479505
+V 28 -24842.787597 10145.136392 -6095.366668 .000544
+P 29 23302.707866 7204.860730 10948.954431 178.585018
+V 29 10078.582915 9034.440641 -27934.578538 -.189742
+P 30 16632.175202 -17393.474567 -11366.563427 444.061326
+V 30 13951.944224 -3657.960459 26710.787232 -.143567
+* 2005 1 20 4 45 .00000000
+P 1 -21428.927016 -15637.776413 1750.432929 383.848340
+V 1 2814.370338 -653.917325 32105.289877 .020330
+P 2 13745.846921 11295.175467 -20049.579001 -42.568731
+V 2 -1940.468160 24732.019336 12717.316914 .056530
+P 3 -24431.135098 -10444.342580 2554.673682 78.107473
+V 3 -1339.913865 -4781.636242 -30593.720265 .030378
+P 4 7253.943599 22366.983434 -12009.191997 441.353344
+V 4 -3549.883354 15215.808021 26526.963363 -.206661
+P 5 22924.325216 -13096.016587 1709.435192 73.185169
+V 5 1.367734 4427.135190 31213.601058 .024725
+P 6 8060.154910 -13464.093476 -21237.465758 -162.926864
+V 6 23747.556902 13908.616128 83.358881 .880635
+P 7 11088.737156 19028.671162 15364.363098 62.805048
+V 7 -17575.554987 -7042.820472 21855.630491 -.302817
+P 8 -1198.935361 26313.465610 922.569875 -19.064326
+V 8 -3007.242770 1188.509529 -32114.256610 -.011685
+P 9 14066.278126 -9417.818376 19901.551314 -24.873377
+V 9 1425.693924 26451.965728 11579.747424 -.017931
+P 10 20859.186117 1814.011625 -16572.289741 57.530939
+V 10 -17891.293681 10642.587675 -21144.348029 .007222
+P 11 -14530.626677 10526.113198 19510.499758 186.562490
+V 11 -3823.891488 -24884.526008 10754.577673 .036827
+P 13 -7843.436070 12406.992467 -22190.675483 -13.794894
+V 13 -23531.906530 -15112.890358 -69.062177 .009375
+P 14 -11087.862242 -18879.931550 15105.406161 -31.486996
+V 14 16959.181739 8776.176709 23487.441433 -.000900
+P 15 -3696.671173 -24436.422619 9111.738693 377.974430
+V 15 4042.233186 -11577.062062 -29054.287332 .053036
+P 16 -16298.878420 -6937.595034 -19728.859813 1.988495
+V 16 21702.804168 -12861.366297 -13315.103214 -.001807
+P 17 14878.161670 1863.065157 -21665.302313 -92.753806
+V 17 -3838.172627 27840.247512 -981.437838 .191306
+P 18 11986.718159 -17755.765832 15595.516566 -119.006746
+V 18 18755.578058 -6656.465089 -22323.145272 -.037467
+P 19 -22626.613134 -4571.424666 13207.512185 -11.886399
+V 19 -12298.178263 -11420.323215 -25237.597849 -.008688
+P 20 -23378.831871 12586.677881 155.068409 -90.824851
+V 20 -1080.196303 -2581.060689 31800.555359 .026840
+P 21 5896.043377 -25059.992309 -5487.257842 88.027861
+V 21 2871.620354 7302.906930 -30759.797244 .010814
+P 22 463.647552 -16449.414328 21016.187385 16.263848
+V 22 24161.995579 -10436.562462 -8747.200584 .002796
+P 23 -17038.842232 5586.781700 -19722.350253 211.496044
+V 23 -20497.514717 -14006.021254 13698.684569 .005677
+P 24 4614.156654 24133.300015 -9593.548522 89.501914
+V 24 -3595.812788 12375.352789 28703.102256 .028916
+P 25 -9953.705123 -21115.954152 -12252.136367 84.322458
+V 25 1905.583964 -16334.183741 25827.004840 .007556
+P 26 23297.588774 5750.234709 11719.304596 317.074976
+V 26 11947.762822 9349.545835 -27030.494995 .055698
+P 27 -3925.955194 25095.763106 -6377.679165 513.550832
+V 27 -3635.660965 -8820.258670 -30424.554741 .063228
+P 28 -672.975843 16738.404883 20752.694038 46.479681
+V 28 -23506.561784 11032.669311 -10087.753235 .000544
+P 29 24110.020934 7915.732844 8349.476091 178.568162
+V 29 7792.033399 6795.589627 -29750.876150 -.189750
+P 30 17758.433072 -17687.147191 -8872.151198 444.048610
+V 30 11066.369639 -2796.210285 28642.329052 -.143575
+* 2005 1 20 5 0 .00000000
+P 1 -21038.881742 -15618.594951 4616.640922 383.850435
+V 1 5878.902814 1011.478634 31497.309354 .020335
+P 2 13629.145352 13455.032314 -18740.340490 -42.563558
+V 2 -684.501837 23186.995739 16336.873000 .056505
+P 3 -24422.098121 -10805.461895 -212.628700 78.110072
+V 3 1571.767358 -3299.033131 -30814.853025 .030378
+P 4 6971.247435 23604.728497 -9523.500116 441.334443
+V 4 -2790.752505 12241.574613 28630.291073 -.206665
+P 5 22804.033448 -12607.202620 4495.601041 73.186969
+V 5 -2627.834589 6481.737125 30610.947131 .024726
+P 6 10219.213624 -12267.325726 -21044.119064 -162.847996
+V 6 24151.369604 12647.634158 4206.228558 .880593
+P 7 9399.822365 18387.152453 17198.094767 62.777770
+V 7 -19918.769857 -7145.836198 18838.562037 -.302824
+P 8 -1460.905871 26262.495958 -1967.352678 -19.065776
+V 8 -2884.781829 -2320.670682 -32011.963365 -.011685
+P 9 14255.702297 -6988.822952 20760.767557 -24.874562
+V 9 2800.856497 27433.290768 7485.840079 -.017939
+P 10 19187.443256 2866.697299 -18329.514788 57.530294
+V 10 -19174.004144 12753.708646 -17849.079970 .007223
+P 11 -14928.144933 8247.802063 20306.813209 186.566041
+V 11 -5017.967445 -25663.108800 6916.612955 .036822
+P 13 -9992.928657 11110.514025 -22006.911339 -13.794122
+V 13 -24151.355985 -13653.563663 4147.282136 .009370
+P 14 -9441.199567 -18076.010411 17083.863885 -31.486992
+V 14 19599.157018 9011.579426 20415.628958 -.000902
+P 15 -3371.113566 -25335.204660 6424.193037 377.979761
+V 15 3254.641228 -8357.573275 -30580.672386 .053038
+P 16 -14323.379029 -8176.620282 -20753.102462 1.988431
+V 16 22110.656839 -14651.423520 -9412.566890 -.001814
+P 17 14599.068897 4370.521124 -21562.849694 -92.736504
+V 17 -2355.096641 27787.460436 3250.304004 .191334
+P 18 13554.048368 -18343.183247 13457.025306 -119.010522
+V 18 16042.558122 -6322.514037 -25130.979200 -.037463
+P 19 -23648.680874 -5498.753762 10829.379400 -11.887145
+V 19 -10340.780633 -9207.545129 -27534.575169 -.008694
+P 20 -23343.347553 12274.024875 3007.556373 -90.822324
+V 20 1828.203250 -4423.295206 31496.820885 .026832
+P 21 6164.102707 -24253.908127 -8198.989281 88.028876
+V 21 3150.670017 10582.912016 -29412.303172 .010808
+P 22 2567.603242 -17422.174703 20052.995122 16.264178
+V 22 22528.159112 -11121.456446 -12627.104535 .002809
+P 23 -18850.171263 4412.937215 -18325.102641 211.496645
+V 23 -19669.217101 -12069.813734 17307.025734 .005665
+P 24 4327.472529 25104.199390 -6933.617608 89.504730
+V 24 -2837.849461 9161.923207 30319.149894 .028916
+P 25 -9807.101215 -22452.720425 -9826.851776 84.322667
+V 25 1413.189082 -13330.790835 27987.809034 .007571
+P 26 24274.438628 6487.443088 9194.384883 317.079850
+V 26 9691.403684 7066.126264 -28997.913676 .055688
+P 27 -4284.065138 24154.814747 -9050.332870 513.556453
+V 27 -4383.370088 -12053.317020 -28877.311976 .063225
+P 28 -2713.462532 17758.297003 19670.823263 46.479814
+V 28 -21777.524600 11567.777474 -13921.884697 .000544
+P 29 24693.592653 8435.170473 5608.781552 178.550868
+V 29 5116.624571 4793.159517 -31067.931918 -.189759
+P 30 18623.769340 -17883.975073 -6225.537049 444.035846
+V 30 8169.015250 -1507.822633 30087.712379 -.143583
+* 2005 1 20 5 15 .00000000
+P 1 -20367.536624 -15468.615023 7403.819599 383.849505
+V 1 9049.519698 2247.338858 30351.988653 .020342
+P 2 13615.814748 15455.532397 -17117.019737 -42.558414
+V 2 344.392787 21199.048372 19687.296303 .056480
+P 3 -24143.856348 -11048.787931 -2976.340384 78.112364
+V 3 4628.592556 -2169.879669 -30514.288383 .030378
+P 4 6740.440991 24563.154122 -6870.746446 441.315935
+V 4 -2403.286252 9023.875662 30233.697079 -.206669
+P 5 22460.744833 -11921.989033 7203.337882 73.187892
+V 5 -4943.155081 8779.757624 29473.033252 .024727
+P 6 12392.536905 -11193.239343 -20482.700373 -162.768773
+V 6 24060.288163 11196.178218 8250.637489 .880550
+P 7 7511.197672 17754.011944 18746.103030 62.750526
+V 7 -22000.941263 -6862.963142 15514.923568 -.302830
+P 8 -1730.816726 25897.390944 -4822.725649 -19.066455
+V 8 -3182.358779 -5775.066873 -31348.092618 -.011685
+P 9 14572.159397 -4496.779074 21245.125462 -24.875484
+V 9 4233.483210 27850.214387 3262.774396 -.017947
+P 10 17423.280265 4108.850778 -19775.878288 57.530454
+V 10 -19943.497877 14837.164566 -14245.790671 .007223
+P 11 -15434.124376 5921.578117 20752.068760 186.569392
+V 11 -6220.796957 -25948.102274 2964.651894 .036816
+P 13 -12175.126882 9956.002160 -21446.217750 -13.793286
+V 13 -24252.956891 -11972.775221 8295.220025 .009367
+P 14 -7567.547059 -17271.290736 18769.759948 -31.487130
+V 14 21988.269195 8799.461925 16995.362145 -.000903
+P 15 -3099.098576 -25935.345181 3623.452146 377.985517
+V 15 2857.671723 -4956.935717 -31566.246339 .053039
+P 16 -12334.292101 -9569.695773 -21418.163061 1.988374
+V 16 22008.064195 -16269.789939 -5344.841871 -.001822
+P 17 14454.428875 6848.065644 -21082.780232 -92.719148
+V 17 -865.813221 27177.239311 7397.744293 .191362
+P 18 14870.147107 -18880.142612 11084.892230 -119.013980
+V 18 13188.601968 -5533.333820 -27507.322220 -.037457
+P 19 -24475.380789 -6233.740389 8265.400543 -11.888069
+V 19 -7964.838795 -7159.727025 -29361.423704 -.008700
+P 20 -23058.237691 11781.218113 5808.180167 -90.820082
+V 20 4454.254367 -6573.933744 30649.528171 .026825
+P 21 6474.493685 -23161.386137 -10765.957941 88.029919
+V 21 3806.791064 13652.575842 -27547.976557 .010803
+P 22 4508.175540 -18439.833443 18749.665418 16.264418
+V 22 20543.329662 -11425.388212 -16295.219713 .002822
+P 23 -20564.117279 3414.566173 -16615.938084 211.497168
+V 23 -18335.386776 -10121.851867 20620.442043 .005653
+P 24 4091.496219 25777.010183 -4152.165706 89.506294
+V 24 -2474.188428 5767.486697 31400.064204 .028916
+P 25 -9687.868239 -23509.527368 -7229.285792 84.324258
+V 25 1302.302603 -10128.614976 29650.436121 .007586
+P 26 25030.582602 7029.334200 6514.615370 317.084582
+V 26 7053.544581 5022.188232 -30467.764830 .055678
+P 27 -4725.285780 22934.149563 -11559.727548 513.562325
+V 27 -5474.635498 -15020.573716 -26801.540428 .063221
+P 28 -4583.213953 18808.339224 18253.482361 46.479978
+V 28 -19724.965224 11694.540080 -17531.860737 .000543
+P 29 25021.366495 8787.739403 2772.975738 178.533443
+V 29 2120.094086 3098.199295 -31861.012825 -.189768
+P 30 19231.235373 -17946.359474 -3471.795217 444.023004
+V 30 5350.829853 186.500193 31018.980461 -.143592
+* 2005 1 20 5 30 .00000000
+P 1 -19409.712938 -15227.667229 10064.524734 383.848469
+V 1 12228.588058 3030.734265 28691.139827 .020350
+P 2 13682.258131 17259.265544 -15206.376363 -42.553265
+V 2 1077.769459 18825.006977 22712.902700 .056454
+P 3 -23587.157631 -11207.478586 -5689.731787 78.115991
+V 3 7745.105202 -1421.445766 -29698.374767 .030378
+P 4 6526.576802 25224.560512 -4097.336432 441.297259
+V 4 -2417.838625 5657.493241 31307.372366 -.206673
+P 5 21925.460493 -11021.825215 9785.239557 73.191339
+V 5 -6885.832771 11244.834717 27818.528287 .024728
+P 6 14534.704228 -10255.172482 -19563.504992 -162.689616
+V 6 23457.777543 9639.500618 12145.134005 .880507
+P 7 5449.632405 17162.060837 19983.204815 62.723252
+V 7 -23750.806231 -6239.124120 11938.857987 -.302837
+P 8 -2045.827482 25227.672019 -7593.594759 -19.067701
+V 8 -3882.548554 -9073.408845 -30137.405232 -.011685
+P 9 15016.702007 -1992.928523 21346.592689 -24.877251
+V 9 5631.900280 27696.368713 -1009.420652 -.017955
+P 10 15613.033172 5533.709261 -20886.293589 57.530407
+V 10 -20199.618893 16798.101489 -10393.863765 .007225
+P 11 -16045.750027 3591.919141 20839.092724 186.572789
+V 11 -7352.426234 -25741.132880 -1032.562822 .036809
+P 13 -14342.151774 8959.325942 -20517.951791 -13.792572
+V 13 -23811.551480 -10161.727321 12303.890257 .009364
+P 14 -5493.439179 -16504.295855 20134.324672 -31.486941
+V 14 24040.128103 8181.594754 13285.109887 -.000905
+P 15 -2844.321452 -26225.032588 758.974842 377.989942
+V 15 2873.763409 -1475.688064 -31995.292111 .053041
+P 16 -10376.390149 -11097.431459 -21712.336824 1.988127
+V 16 21423.959451 -17630.066699 -1182.605570 -.001829
+P 17 14440.658668 9246.276938 -20235.944954 -92.701992
+V 17 538.188644 26029.381974 11389.036432 .191391
+P 18 15926.675329 -19325.459671 8519.959912 -119.017102
+V 18 10290.588200 -4287.338501 -29408.848221 -.037451
+P 19 -25071.486646 -6794.784351 5559.409927 -11.888837
+V 19 -5227.207671 -5354.172136 -30685.667509 -.008704
+P 20 -22552.175869 11083.549484 8508.568941 -90.817446
+V 20 6727.654455 -8963.086709 29272.454446 .026818
+P 21 6859.407387 -21805.439522 -13143.175349 88.030868
+V 21 4798.466361 16422.777771 -25202.280193 .010797
+P 22 6257.191826 -19465.919265 17128.065163 16.264455
+V 22 18285.073941 -11302.346580 -19689.819494 .002837
+P 23 -22135.977432 2588.649810 -14623.949725 211.497547
+V 23 -16516.689112 -8252.186275 23583.156309 .005642
+P 24 3869.607817 26139.920019 -1298.148633 89.508303
+V 24 -2526.915606 2292.213886 31929.899907 .028916
+P 25 -9560.595034 -24272.806391 -4505.489168 84.325083
+V 25 1593.862883 -6824.342243 30789.531532 .007600
+P 26 25534.677954 7400.787065 3725.687449 317.089568
+V 26 4102.771255 3289.429749 -31421.212493 .055669
+P 27 -5278.149971 21461.749435 -13859.804646 513.567943
+V 27 -6853.755079 -17633.676243 -24232.627470 .063218
+P 28 -6256.641696 19849.820826 16523.710081 46.479829
+V 28 -17428.842336 11372.095456 -20854.581003 .000543
+P 29 25067.990238 9003.816353 -109.979491 178.516253
+V 29 -1116.733117 1768.370749 -32113.672543 -.189776
+P 30 19591.903252 -17839.352195 -658.134661 444.009944
+V 30 2698.533854 2248.699656 31416.757147 -.143600
+* 2005 1 20 5 45 .00000000
+P 1 -18169.111465 -14936.796087 12553.657779 383.848640
+V 1 15317.031510 3357.663159 26544.980830 .020360
+P 2 13799.239563 18834.531312 -13039.977940 -42.548127
+V 2 1459.178891 16134.562718 25362.669042 .056428
+P 3 -22750.602494 -11316.413794 -8307.016408 78.118025
+V 3 10832.781365 -1064.632109 -28381.681626 .030377
+P 4 6292.782970 25580.040303 -1251.922555 441.278380
+V 4 -2846.656555 2242.397081 31831.286892 -.206676
+P 5 21233.793374 -9895.462260 12196.012486 73.193887
+V 5 -8412.473753 13791.597597 25675.649193 .024729
+P 6 16599.629582 -9458.653504 -18303.127791 -162.610617
+V 6 22345.634902 8065.297739 15821.398479 .880465
+P 7 3247.862568 16639.480075 20889.248175 62.695887
+V 7 -25107.417257 -5331.952527 8167.903512 -.302844
+P 8 -2440.704682 24271.715165 -10231.784651 -19.068365
+V 8 -4949.808552 -12120.827916 -28404.571797 -.011685
+P 9 15582.156781 471.865470 21064.367050 -24.880570
+V 9 6905.662901 26986.469452 -5250.422615 -.017963
+P 10 13802.218395 7126.054596 -21641.227487 57.531225
+V 10 -19960.676650 18544.079552 -6357.177058 .007226
+P 11 -16753.089064 1302.394887 20566.924474 186.576142
+V 11 -8335.172285 -25060.664972 -5005.909542 .036802
+P 13 -16444.716461 8127.951422 -19237.759945 -13.791657
+V 13 -22821.134466 -8315.336559 16104.585027 .009362
+P 14 -3252.722688 -15809.061902 21154.274840 -31.487178
+V 14 25679.142319 7215.577586 9348.154888 -.000907
+P 15 -2569.300783 -26201.638161 -2118.838238 377.996400
+V 15 3306.554178 1983.315576 -31862.605908 .053042
+P 16 -8491.056501 -12733.012363 -21630.370493 1.987886
+V 16 20404.464306 -18654.214851 3001.666481 -.001835
+P 17 14546.143751 11518.355716 -19039.459019 -92.684723
+V 17 1770.515514 24382.112080 15157.009269 .191419
+P 18 16724.042119 -19638.662325 5806.604776 -119.020274
+V 18 7445.408089 -2601.928427 -30800.495116 -.037448
+P 19 -25407.551083 -7206.750675 2757.787928 -11.889546
+V 19 -2199.072242 -3856.780028 -31483.298135 -.008709
+P 20 -21859.533970 10163.139845 11062.011753 -90.815025
+V 20 8592.472958 -11509.368888 27388.664353 .026811
+P 21 7346.591858 -20216.620293 -15289.247049 88.031722
+V 21 6068.845232 18815.644950 -22419.458355 .010793
+P 22 7793.858019 -20460.531109 15215.433082 16.264740
+V 22 15839.282563 -10722.396556 -22753.414543 .002853
+P 23 -23523.705121 1924.262443 -12382.998235 211.497986
+V 23 -14251.323495 -6545.911113 26145.140657 .005632
+P 24 3624.040231 26190.249406 1578.500630 89.511009
+V 24 -2999.380166 -1161.769296 31902.881786 .028917
+P 25 -9388.791781 -24737.807250 -1703.349583 84.327198
+V 25 2290.852399 -3516.612708 31389.641985 .007615
+P 26 25762.078739 7632.504791 874.613405 317.094787
+V 26 918.854440 1925.228111 -31847.716002 .055659
+P 27 -5965.499426 19772.988478 -15908.182474 513.573615
+V 27 -8450.402752 -19817.307989 -21216.782599 .063214
+P 28 -7715.725047 20841.104607 14510.055583 46.479643
+V 28 -14976.846422 10576.540688 -23830.882880 .000546
+P 29 24815.872390 9118.277785 -2991.032855 178.498679
+V 29 -4502.723704 845.670202 -31818.216858 -.189784
+P 30 19724.333894 -17532.169459 2166.899633 443.997233
+V 30 291.286396 4624.545964 31270.811370 -.143608
+* 2005 1 20 6 0 .00000000
+P 1 -16658.277258 -14636.555212 14829.194831 383.849139
+V 1 18217.991322 3242.961509 23951.505836 .020371
+P 2 13933.069427 20156.392060 -10653.744109 -42.543011
+V 2 1446.440364 13207.874583 27591.037752 .056402
+P 3 -21640.777974 -11410.705279 -10784.078604 78.120977
+V 3 13803.196796 -1093.693691 -26586.714237 .030377
+P 4 6001.925480 25629.771100 1615.498145 441.259568
+V 4 -3683.283842 -1120.154790 31795.649133 -.206680
+P 5 20424.505783 -8539.615941 14393.315515 73.196178
+V 5 -9496.705855 16329.007316 23081.692982 .024730
+P 6 18542.213881 -8801.343896 -16724.123726 -162.531331
+V 6 20743.921826 6560.092491 19215.505195 .880422
+P 7 943.564874 16208.773613 21449.385004 62.668488
+V 7 -26022.245870 -4209.569234 4262.263164 -.302851
+P 8 -2946.259340 23056.010087 -12691.761828 -19.070049
+V 8 -6332.122481 -14832.448919 -26183.489362 -.011685
+P 9 16253.416104 2848.984310 20404.817887 -24.881436
+V 9 7969.544379 25755.463355 -9381.491829 -.017970
+P 10 12033.897260 8862.592070 -22027.063295 57.530706
+V 10 -19262.746540 19988.644109 -2203.168043 .007228
+P 11 -17539.438061 -905.815146 19940.795982 186.579463
+V 11 -9096.768581 -23941.158886 -8887.094915 .036795
+P 13 -18433.872362 7460.774985 -17627.331868 -13.790748
+V 13 -21295.230377 -6528.495092 19631.910198 .009360
+P 14 -885.452590 -15213.815028 21812.200124 -31.487203
+V 14 26843.379430 5972.483490 5251.542985 -.000909
+P 15 -2237.077841 -25871.743327 -4959.589437 378.002742
+V 15 4140.852936 5318.923968 -31173.425302 .053042
+P 16 -6714.818485 -14443.097011 -21173.565771 1.987781
+V 16 19011.000620 -19275.737072 7135.003281 -.001841
+P 17 14751.852124 13621.704709 -17516.234224 -92.667470
+V 17 2753.257510 22290.224767 18640.168479 .191448
+P 18 17271.235180 -19781.684726 2991.957393 -119.024015
+V 18 4746.181644 -513.035376 -31656.236589 -.037442
+P 19 -25461.084668 -7499.823636 -91.324603 -11.890591
+V 19 1036.599129 -2719.468408 -31739.273626 -.008713
+P 20 -21018.990637 9009.837411 13424.278715 -90.812626
+V 20 10009.229794 -14122.995768 25030.154212 .026804
+P 21 7958.079985 -18431.870502 -17167.117144 88.032733
+V 21 7548.237035 20767.489848 -19251.491719 .010789
+P 22 9105.365779 -21381.849168 13043.956342 16.265008
+V 22 13296.972677 -9673.003388 -25433.679148 .002869
+P 23 -24689.434480 1403.166561 -9931.157799 211.498441
+V 23 -11593.727919 -5079.894686 28262.915269 .005623
+P 24 3317.569380 25934.451096 4427.782438 89.514046
+V 24 -3876.237300 -4494.294081 31323.262954 .028917
+P 25 -9136.508167 -24908.602866 1128.299565 84.328078
+V 25 3378.373578 -302.235574 31445.181188 .007628
+P 26 25695.713647 7759.640237 -1991.012508 317.099668
+V 26 -2410.156617 970.838472 -31744.846052 .055650
+P 27 -6803.298063 17909.307142 -17667.091984 513.579300
+V 27 -10182.623376 -21512.469888 -17810.111643 .063211
+P 28 -8950.561177 21739.216122 12246.172627 46.479697
+V 28 -12461.113481 9302.222401 -26406.682576 .000549
+P 29 24255.968152 9169.007978 -5820.848161 178.481519
+V 29 -7939.651609 354.705383 -30976.057210 -.189792
+P 30 19653.755322 -16999.568762 4954.269506 443.984402
+V 30 -1802.400371 7245.491719 30580.469551 -.143617
+* 2005 1 20 6 15 .00000000
+P 1 -14898.239253 -14365.342525 16852.854547 383.849526
+V 1 20840.369502 2719.508448 20955.760936 .020382
+P 2 14046.972927 21207.492166 -8087.419538 -42.538182
+V 2 1013.428375 10132.779028 29358.692063 .056377
+P 3 -20272.106283 -11524.208822 -13079.171473 78.123431
+V 3 16571.179090 -1486.570891 -24343.535589 .030377
+P 4 5618.288682 25382.952927 4454.517486 441.240506
+V 4 -4902.755970 -4331.578578 31201.131983 -.206684
+P 5 19537.928810 -6959.316150 16338.548328 73.199225
+V 5 -10130.138643 18763.958742 20082.363798 .024731
+P 6 20319.958262 -8273.303915 -14854.560026 -162.451920
+V 6 18690.167798 5205.705201 22269.064003 .880380
+P 7 -1421.840249 15885.937567 21654.277874 62.641163
+V 7 -26460.871036 -2948.020887 284.070512 -.302857
+P 8 -3587.962878 21614.117734 -14931.424095 -19.071890
+V 8 -7963.255926 -17136.483105 -23516.366771 -.011684
+P 9 17008.076721 5093.803061 19381.263258 -24.884150
+V 9 8747.226858 24056.794571 -13327.232663 -.017977
+P 10 10347.133573 10712.643717 -22036.376002 57.530967
+V 10 -18158.305875 21054.722225 1998.184353 .007230
+P 11 -18381.943690 -2995.300716 18972.004471 186.582621
+V 11 -9573.277041 -22431.628095 -12609.818415 .036790
+P 13 -20262.756218 6948.294680 -15714.051295 -13.789925
+V 13 -19266.533769 -4892.322528 22824.907698 .009358
+P 14 1563.447105 -14739.884214 22096.852399 -31.487425
+V 14 27486.915946 4533.995853 1064.978323 -.000910
+P 15 -1812.882739 -25250.809671 -7713.811682 378.008857
+V 15 5343.399859 8435.580661 -29943.122605 .053041
+P 16 -5078.078297 -16188.983173 -20349.764575 1.987518
+V 16 17317.800363 -19442.416052 11145.257605 -.001846
+P 17 15032.233417 15519.315214 -15694.431151 -92.650208
+V 17 3419.916555 19822.672934 21783.482151 .191476
+P 18 17585.315397 -19720.485902 125.060946 -119.027308
+V 18 2278.602752 1926.095845 -31959.680615 -.037436
+P 19 -25217.483520 -7708.152026 -2938.850277 -11.891642
+V 19 4388.078405 -1978.128595 -31447.869380 -.008713
+P 20 -20071.980995 7621.820687 15554.402481 -90.810239
+V 20 10956.332389 -16709.231321 22237.327530 .026797
+P 21 8709.165756 -16493.136483 -18744.711979 88.033445
+V 21 9157.114965 22231.121841 -15756.908113 .010787
+P 22 10187.202039 -22187.736838 10650.266079 16.265174
+V 22 10750.889567 -8159.721830 -27684.324699 .002886
+P 23 -25600.860740 1000.689133 -7310.094149 211.499178
+V 23 -8612.680940 -3919.818231 29900.258312 .005614
+P 24 2915.166237 25387.763042 7200.519069 89.517459
+V 24 -5124.246533 -7610.908190 30204.983096 .028917
+P 25 -8769.912057 -24797.760113 3940.557867 84.328333
+V 25 4824.442731 2727.424145 30960.190647 .007642
+P 26 25326.691938 7820.286357 -4823.733025 317.104572
+V 26 -5791.052595 450.191568 -31118.028501 .055640
+P 27 -7799.743498 15916.622351 -19104.212511 513.585101
+V 27 -11960.426127 -22679.041547 -14077.344289 .063208
+P 28 -9959.608110 22501.518870 9770.311871 46.479685
+V 28 -9974.704714 7562.345391 -28534.093537 .000554
+P 29 23388.260201 9195.280117 -8550.634857 178.464454
+V 29 -11325.744726 301.608483 -29597.932338 -.189800
+P 30 19410.979342 -16223.030772 7655.315843 443.971735
+V 30 -3527.367213 10031.138586 29354.851972 -.143625
+* 2005 1 20 6 30 .00000000
+P 1 -12917.841028 -14157.837169 18590.697246 383.850649
+V 1 23102.128810 1836.769370 17609.042124 .020395
+P 2 14102.594776 21978.611400 -5383.978850 -42.533280
+V 2 151.301343 7001.688300 30633.290066 .056354
+P 3 -18666.414492 -11688.093135 -15153.576753 78.125188
+V 3 19057.837588 -2205.812266 -21689.301390 .030377
+P 4 5109.202737 24857.392750 7215.259041 441.221555
+V 4 -6462.579910 -7299.816360 30058.856452 -.206687
+P 5 18614.328441 -5167.926099 17997.570582 73.200802
+V 5 -10322.582982 21004.991340 16730.909186 .024731
+P 6 21894.474429 -7857.566400 -12727.471871 -162.372835
+V 6 16237.888770 4075.957711 24930.219839 .880337
+P 7 -3804.517104 15679.872263 21500.240434 62.613716
+V 7 -26404.204688 -1628.457207 -3703.353524 -.302864
+P 8 -4384.790386 19985.372859 -16912.806918 -19.073032
+V 8 -9765.603768 -18976.780442 -20452.758384 -.011684
+P 9 17817.390604 7167.247816 18013.596074 -24.886466
+V 9 9174.523399 21959.901003 -17017.180093 -.017983
+P 10 8775.602536 12639.134642 -21668.112281 57.531265
+V 10 -16714.242903 21677.716777 6175.454411 .007232
+P 11 -19252.470828 -4933.645272 17677.682891 186.585764
+V 11 -9711.656789 -20593.659481 -16110.875630 .036786
+P 13 -21888.271738 6573.113949 -13530.548343 -13.789048
+V 13 -16785.817793 -3490.546034 25628.113822 .009356
+P 14 4045.707827 -14400.890597 22003.333763 -31.487536
+V 14 27581.590560 2989.146006 -3140.320114 -.000909
+P 15 -1265.698484 -24362.510569 -10333.858741 378.013837
+V 15 6864.364212 11246.926098 -28196.685939 .053039
+P 16 -3604.091425 -17927.995839 -19173.215806 1.987174
+V 16 15408.912557 -19118.497533 14962.415245 -.001850
+P 17 15356.357516 17180.915956 -13606.849927 -92.632973
+V 17 3717.789183 17059.720722 24538.961929 .191504
+P 18 17690.594130 -19426.525769 -2744.015546 -119.030789
+V 18 117.569233 4646.848340 -31704.472853 -.037429
+P 19 -24670.667469 -7868.337754 -5735.623527 -11.892491
+V 19 7758.266327 -1651.200882 -30612.868215 -.008712
+P 20 -19061.048269 6005.880298 17415.405211 -90.808077
+V 20 11430.810739 -19172.052252 19058.309359 .026792
+P 21 9607.668538 -14445.806516 -19995.471906 88.034381
+V 21 10809.487738 23177.448521 -11999.491979 .010786
+P 22 11043.148096 -22837.374818 8074.857173 16.265456
+V 22 8292.027005 -6206.217398 -29465.907144 .002904
+P 23 -26232.425039 686.846450 -4564.383058 211.499805
+V 23 -5388.866646 -3117.631581 31028.817018 .005603
+P 24 2385.544994 24573.535506 9849.204502 89.518858
+V 24 -6693.769849 -10426.335039 28571.152313 .028918
+P 25 -8258.766588 -24425.698351 6685.306905 84.328773
+V 25 6581.441077 5489.750242 29947.923994 .007656
+P 26 24654.623087 7853.885822 -7576.921262 317.109256
+V 26 -9128.690556 369.302890 -29980.235323 .055631
+P 27 -8954.721927 13843.545288 -20193.379126 513.590646
+V 27 -13689.795894 -23297.474698 -10090.260880 .063204
+P 28 -10749.605193 23087.411579 7124.714666 46.479695
+V 28 -7607.983322 5388.848779 -30172.491571 .000558
+P 29 22221.909961 9236.070552 -11132.991842 178.446915
+V 29 -14559.438840 673.646697 -27703.978226 -.189808
+P 30 19031.096419 -15191.694728 10222.643346 443.958769
+V 30 -4844.011540 12892.232052 27612.912610 -.143634
+* 2005 1 20 6 45 .00000000
+P 1 -10752.789799 -14043.595046 20013.648915 383.852783
+V 1 24933.236887 658.740273 13968.030958 .020407
+P 2 14061.587102 22468.928822 -2588.967908 -42.528394
+V 2 -1130.886104 3908.276791 31390.142325 .056334
+P 3 -16852.240879 -11929.517201 -16972.219161 78.127317
+V 3 21193.368652 -3200.054886 -18667.713214 .030378
+P 4 4446.549029 24078.753718 9849.308657 441.202549
+V 4 -8304.455581 -9942.907590 28390.133886 -.206690
+P 5 17692.285823 -3186.828595 19341.335483 73.203909
+V 5 -10101.517929 22965.949980 13087.086418 .024732
+P 6 23232.833464 -7530.991739 -10380.235158 -162.293644
+V 6 13454.492861 3233.741645 27154.493864 .880295
+P 7 -6159.631210 15592.056965 20989.310272 62.586332
+V 7 -25849.217539 -334.130624 -7636.259197 -.302871
+P 8 -5348.340142 18213.387811 -18602.694082 -19.072272
+V 8 -11653.402784 -20314.685314 -17048.439304 -.011683
+P 9 18647.479453 9037.098492 16327.777082 -24.889084
+V 9 9201.994821 19547.087785 -20387.165888 -.017989
+P 10 7346.404859 14599.839611 -20927.668918 57.533968
+V 10 -15009.300018 21808.176556 10256.930197 .007234
+P 11 -20118.682811 -6694.451102 16080.474461 186.588881
+V 11 -9471.895685 -18498.979618 -19331.184513 .036783
+P 13 -23272.641477 6310.759421 -11114.159163 -13.788430
+V 13 -13920.168910 -2396.218299 27992.637539 .009355
+P 14 6511.369331 -14202.243836 21533.180496 -31.487786
+V 14 27118.096105 1430.773742 -7292.785063 -.000908
+P 15 -569.660013 -23237.757151 -12774.740281 378.019550
+V 15 8639.497401 13678.966188 -25968.016548 .053037
+P 16 -2308.232665 -19615.043219 -17664.325739 1.986820
+V 16 13374.827016 -18286.228323 18519.867439 -.001852
+P 17 15689.240907 18583.851187 -11290.277196 -92.615635
+V 17 3609.748264 14089.794898 26866.058627 .191533
+P 18 17617.525570 -18878.036620 -5565.090885 -119.033810
+V 18 -1675.756109 7567.822181 -30894.488488 -.037422
+P 19 -23823.401635 -8017.826580 -8433.248464 -11.893420
+V 19 11048.316563 -1738.932877 -29247.579915 -.008710
+P 20 -18028.162160 4177.366720 18974.956997 -90.805600
+V 20 11448.318107 -21417.883700 15548.111069 .026788
+P 21 10653.511624 -12337.038272 -20898.763959 88.035466
+V 21 12416.485557 23596.318574 -8046.935366 .010785
+P 22 11684.966568 -23292.866556 5361.438865 16.265656
+V 22 6006.191808 -3853.608790 -30746.553901 .002921
+P 23 -26566.259034 427.675561 -1740.778681 211.499857
+V 23 -2011.987653 -2709.520875 31628.609825 .005594
+P 24 1702.547896 23522.265159 12328.800947 89.520884
+V 24 -8520.887468 -12867.505990 26453.389125 .028918
+P 25 -7577.750017 -23819.768852 9316.015325 84.330258
+V 25 8588.142900 7913.754608 28430.288605 .007669
+P 26 23687.644952 7899.614884 -10205.444498 317.113868
+V 26 -12329.228505 716.289139 -28351.637964 .055621
+P 27 -10259.635089 11739.489658 -20915.137288 513.596220
+V 27 -15276.913225 -23369.522011 -5925.883777 .063201
+P 28 -11335.168193 23459.980414 4354.914662 46.479741
+V 28 -5445.031876 2831.527177 -31289.492419 .000564
+P 29 20775.066838 9328.370914 -13522.750055 178.429631
+V 29 -17543.200223 1439.567677 -25323.628112 -.189816
+P 30 18551.998863 -13903.004654 12610.999464 443.945920
+V 30 -5729.883443 15734.072063 25383.267034 -.143642
+* 2005 1 20 7 0 .00000000
+P 1 -8444.460176 -14045.853297 21097.945144 383.856769
+V 1 26278.156746 -738.624814 10093.881347 .020419
+P 2 13887.223123 22685.983047 250.212672 -42.523381
+V 2 -2806.228051 944.066849 31612.814731 .056314
+P 3 -14863.902508 -12270.464075 -18504.227974 78.130788
+V 3 22919.541490 -4406.011016 -15328.393766 .030379
+P 4 3608.080090 23079.501479 12310.611248 441.183671
+V 4 -10356.660608 -12192.125172 26225.976576 -.206693
+P 5 16807.158676 -1044.791012 20346.423657 73.206634
+V 5 -9510.827219 24569.438594 9215.985589 .024732
+P 6 24308.702069 -7265.366043 -7853.871083 -162.214465
+V 6 10418.668761 2728.562574 28905.455797 .880252
+P 7 -8442.807632 15616.499352 20129.252583 62.558864
+V 7 -24809.139755 852.693566 -11451.248345 -.302877
+P 8 -6482.254937 16344.420841 -19973.125746 -19.073373
+V 8 -13536.223036 -21130.185379 -13364.245697 -.011684
+P 9 19460.753680 10678.988573 14355.215990 -24.891496
+V 9 8796.864291 16909.948970 -23380.434321 -.017995
+P 10 6079.133374 16548.846665 -19826.864344 57.534704
+V 10 -13131.035359 21413.931674 14171.826072 .007235
+P 11 -20945.290950 -8258.128636 14208.118804 186.592375
+V 11 -8828.629171 -16226.665033 -22216.721540 .036781
+P 13 -24384.768941 6130.782210 -8506.300671 -13.787826
+V 13 -10750.439321 -1668.446243 29876.551969 .009356
+P 14 8910.499468 -14140.964575 20694.341568 -31.487839
+V 14 26106.369309 -48.157150 -11321.674985 -.000906
+P 15 294.766062 -21913.463130 -14994.886638 378.023811
+V 15 10592.833454 15672.689273 -23299.074867 .053035
+P 16 -1197.578197 -21204.279651 -15849.296545 1.986599
+V 16 11308.850698 -16946.685838 21755.620189 -.001853
+P 17 15993.305181 19713.666666 -8784.804953 -92.598446
+V 17 3075.395732 11006.162798 28731.896142 .191561
+P 18 17401.358903 -18061.036261 -8288.792702 -119.037559
+V 18 -3056.324629 10597.966514 -29543.802766 -.037416
+P 19 -22687.286471 -8193.264314 -10984.950566 -11.894322
+V 19 14161.354617 -2223.357504 -27374.684054 -.008706
+P 20 -17013.070419 2159.804163 20205.952941 -90.803041
+V 20 11042.394815 -23359.257407 11767.660731 .026783
+P 21 11838.627287 -10214.045114 -21440.172015 88.036323
+V 21 13890.003970 23496.594250 -3969.470922 .010784
+P 22 12131.785933 -23520.754375 2556.224164 16.266195
+V 22 3970.739711 -1159.144449 -31502.594565 .002938
+P 23 -26592.853105 186.722570 1112.558037 211.500150
+V 23 1422.471912 -2714.466568 31688.409682 .005588
+P 24 846.315656 22270.379461 14597.470342 89.523584
+V 24 -10530.028648 -14876.062968 23891.042170 .028919
+P 25 -6707.571840 -23013.098118 11788.486713 84.331226
+V 25 10772.191865 9942.438749 26437.157483 .007682
+P 26 22442.164029 7994.795413 -12666.295502 317.118641
+V 26 -15303.273746 1461.973591 -26259.233934 .055612
+P 27 -11697.608065 9652.759395 -21257.127076 513.601891
+V 27 -16632.359671 -22917.963628 -1664.513214 .063198
+P 28 -11738.069414 23587.538347 1508.956729 46.479731
+V 28 -3560.260466 -43.593966 -31861.805447 .000570
+P 29 19074.335899 9505.564853 -15677.797832 178.412412
+V 29 -20187.268134 2550.689530 -22495.327221 -.189824
+P 30 18012.790883 -12363.034913 14778.127919 443.933041
+V 30 -6180.591938 18460.203978 22703.799546 -.143651
+* 2005 1 20 7 15 .00000000
+P 1 -6038.497288 -14180.585990 21825.491096 383.863373
+V 1 27097.803081 -2270.406623 6051.268929 .020428
+P 2 13545.976365 22645.325220 3085.074124 -42.518570
+V 2 -4830.689419 -1804.964909 31293.635639 .056296
+P 3 -12740.356683 -12726.773811 -19723.439008 78.133908
+V 3 24191.779631 -5750.894203 -11726.187427 .030379
+P 4 2578.499026 21897.592935 14556.313775 441.164594
+V 4 -12536.989439 -13994.542883 23606.395141 -.206696
+P 5 15989.687309 1222.965646 20995.465828 73.209342
+V 5 -8608.861016 25749.918932 5186.740860 .024731
+P 6 25103.224714 -7028.695504 -5192.298030 -162.135373
+V 6 7217.370839 2594.648644 30155.222663 .880210
+P 7 -10611.583180 15739.963644 18933.492387 62.531351
+V 7 -23313.122995 1853.824249 -15086.082443 -.302884
+P 8 -7781.963991 14425.674253 -21001.800440 -19.074295
+V 8 -15322.573673 -21422.320883 -9464.883823 -.011684
+P 9 20217.469891 12077.069298 12132.064048 -24.893776
+V 9 7944.174695 14145.519983 -25948.493150 -.018000
+P 10 4985.230886 18438.185234 -18383.799348 57.535448
+V 10 -11172.408403 20481.599270 17851.529194 .007236
+P 11 -21695.424532 -9612.422716 12092.958299 186.595505
+V 11 -7772.191554 -13860.105419 -24719.357252 .036780
+P 13 -25201.357595 5998.100883 -5751.769828 -13.787046
+V 13 -7368.840023 -1351.247809 31247.626751 .009359
+P 14 11194.916748 -14205.839889 19501.051750 -31.487674
+V 14 24575.262622 -1358.250784 -15158.239725 -.000905
+P 15 1339.864717 -20431.102374 -16956.831194 378.027845
+V 15 12639.810678 17186.042920 -20238.909611 .053033
+P 16 -270.819463 -22650.809884 -13759.659764 1.986299
+V 16 9303.382859 -15119.864842 24613.415341 -.001852
+P 17 16229.910774 20564.393440 -6133.134611 -92.581204
+V 17 2111.582918 7903.558651 30111.369820 .191589
+P 18 17080.605562 -16970.039663 -10867.465744 -119.040676
+V 18 -3996.916506 13640.123697 -27676.437875 -.037408
+P 19 -21282.414361 -8428.883831 -13346.406186 -11.895057
+V 19 17006.144309 -3068.998543 -25025.893982 -.008702
+P 20 -16051.748912 -15.815770 21086.997602 -90.800815
+V 20 10263.022788 -24918.245682 7782.717635 .026778
+P 21 13147.186672 -8122.409840 -21611.664493 88.037157
+V 21 15146.254240 22905.475470 161.476785 .010785
+P 22 12409.203675 -23493.387829 -292.832577 16.266337
+V 22 2251.607084 1805.749185 -31719.079090 .002955
+P 23 -26311.421791 -73.368118 3946.859731 211.500643
+V 23 4816.717513 -3133.450073 31205.999075 .005584
+P 24 -195.797736 20858.822594 16617.231655 89.526488
+V 24 -12637.000417 -16410.255060 20930.324350 .028920
+P 25 -5635.847653 -22043.243126 14061.545866 84.332224
+V 25 13052.983380 11534.587574 24005.650330 .007695
+P 26 20942.319555 8173.386798 -14919.189287 317.123434
+V 26 -17968.857067 2561.049700 -23736.452952 .055603
+P 27 -13244.066592 7628.705403 -21214.286952 513.607546
+V 27 -17675.088192 -21985.355779 2612.304315 .063194
+P 28 -11986.226765 23444.986236 -1363.454009 46.479643
+V 28 -2015.355744 -3156.585445 -31875.927073 .000577
+P 29 17153.918061 9795.935720 -17559.871816 178.395386
+V 29 -22413.163902 3942.714525 -19266.051304 -.189832
+P 30 17452.150245 -10586.476665 16685.576885 443.920149
+V 30 -6209.968183 20976.236403 19621.048470 -.143660
+* 2005 1 20 7 30 .00000000
+P 1 -3583.270252 -14455.844056 22184.134615 383.864845
+V 1 27370.902626 -3846.025529 1907.412599 .020436
+P 2 13009.004459 22369.872234 5866.846621 -42.513404
+V 2 -7144.501610 -4261.633654 30434.084612 .056280
+P 3 -10523.896044 -13307.411533 -20608.830379 78.137219
+V 3 24980.765297 -7155.203824 -7920.388692 .030379
+P 4 1350.254406 20574.963557 16547.536326 441.146279
+V 4 -14756.113670 -15314.929595 20579.508255 -.206699
+P 5 15264.802327 3575.955615 21277.445752 73.209614
+V 5 -7465.909118 26456.323486 1071.164386 .024731
+P 6 25605.621005 -6786.643127 -2441.546372 -162.056358
+V 6 3942.527466 2849.686320 30884.784370 .880167
+P 7 -12626.803891 15942.472884 17420.972626 62.503860
+V 7 -21405.363302 2598.133449 -18480.522166 -.302890
+P 8 -9234.749303 12503.588622 -21672.369744 -19.075082
+V 8 -16923.483674 -21208.866849 -5417.740621 -.011685
+P 9 20877.357783 13224.322314 9698.441976 -24.896375
+V 9 6647.174896 11352.342968 -28051.700398 -.018004
+P 10 4067.667642 20219.558533 -16622.604899 57.536862
+V 10 -9228.113938 19017.384967 21230.858056 .007237
+P 11 -22332.068578 -10752.658756 9771.374062 186.598941
+V 11 -6309.066796 -11483.835548 -26797.583050 .036778
+P 13 -25707.777420 5874.477505 -2897.884793 -13.786156
+V 13 -3874.626877 -1469.497502 32080.568095 .009362
+P 14 13319.851347 -14377.906128 17973.600788 -31.487764
+V 14 22571.508186 -2417.240182 -18736.861711 -.000904
+P 15 2570.050538 -18835.119629 -18627.801400 378.033006
+V 15 14690.677024 18195.213315 -16842.603778 .053031
+P 16 481.488801 -23912.367495 -11431.713721 1.986001
+V 16 7446.239295 -12844.017766 27043.740297 -.001850
+P 17 16360.909643 21138.529926 -3379.877330 -92.563765
+V 17 732.315719 4874.870106 30987.135698 .191617
+P 18 16695.385001 -15608.438680 -13256.047481 -119.043779
+V 18 -4489.116018 16594.834826 -25325.891513 -.037403
+P 19 -19636.704126 -8754.987611 -15476.533821 -11.896054
+V 19 19500.554577 -4224.281788 -22241.444280 -.008697
+P 20 -15175.011659 -2312.034154 21602.787329 -90.798486
+V 20 9174.527797 -26029.532967 3662.692262 .026775
+P 21 14556.139714 -6104.491063 -21411.642679 88.038447
+V 21 16109.080489 21867.127928 4274.590824 .010785
+P 22 12548.140057 -23190.090372 -3136.839038 16.266466
+V 22 900.755782 4957.985752 -31390.167096 .002973
+P 23 -25729.950990 -389.223773 6713.569854 211.500260
+V 23 8074.223160 -3949.344826 30188.288175 .005584
+P 24 -1428.596000 19331.499923 18354.537317 89.528192
+V 24 -14752.288758 -17446.179693 17623.385997 .028920
+P 25 -4357.702547 -20950.714752 16097.652032 84.333458
+V 25 15344.764932 12665.916230 21179.275496 .007708
+P 26 19219.190841 8464.606196 -16927.123601 317.128513
+V 26 -20254.151720 3953.761579 -20822.744555 .055594
+P 27 -14867.653474 5708.036010 -20788.874978 513.613355
+V 27 -18335.957140 -20631.884806 6823.786185 .063191
+P 28 -12112.438981 23014.935661 -4211.857036 46.479601
+V 28 -856.713058 -6416.565391 -31328.639756 .000585
+P 29 15054.450668 10221.368190 -19135.295492 178.378159
+V 29 -24156.815505 5538.213484 -15690.623819 -.189840
+P 30 16906.709562 -8596.281135 18299.442091 443.907720
+V 30 -5849.465604 23193.621844 16189.376961 -.143669
+* 2005 1 20 7 45 .00000000
+P 1 -1128.231691 -14871.402369 22167.850314 383.866760
+V 1 27094.716526 -5372.742250 -2268.923879 .020444
+P 2 12253.478033 21888.979292 8547.315153 -42.508195
+V 2 -9674.202112 -6360.515855 29045.039486 .056262
+P 3 -8258.722992 -14013.998787 -21144.885676 78.140609
+V 3 25273.508031 -8535.774980 -3973.901069 .030378
+P 4 -75.980659 19155.877322 18250.055786 441.127452
+V 4 -16921.213656 -16136.899050 17200.495824 -.206702
+P 5 14650.682112 5969.826394 21187.878090 73.212890
+V 5 -6161.197647 26654.074581 -3057.660871 .024732
+P 6 25813.479323 -6504.049595 351.048407 -161.977036
+V 6 687.605701 3494.218865 31084.161109 .880124
+P 7 -14453.919748 16198.072167 15615.935237 62.476319
+V 7 -19143.698249 3024.350055 -21577.199413 -.302897
+P 8 -10820.128104 10622.197037 -21974.626886 -19.076654
+V 8 -18255.924344 -20525.325540 -1291.719241 -.011685
+P 9 21401.247862 14122.520784 7097.626531 -24.898330
+V 9 4926.958393 8626.616547 -29659.600092 -.018008
+P 10 3320.954858 21846.114453 -14573.077101 57.536388
+V 10 -7390.803857 17047.130544 24249.307258 .007238
+P 11 -22819.514666 -11681.702303 7283.161657 186.602287
+V 11 -4461.728181 -9180.354147 -28417.123195 .036777
+P 13 -25898.495315 5720.332819 6.091663 -13.785349
+V 13 -370.561368 -2029.018162 32359.101381 .009366
+P 14 15245.482258 -14631.241311 16138.001589 -31.487744
+V 14 20158.009707 -3153.283058 -21996.156282 -.000905
+P 15 3981.559693 -17171.258573 -19980.212392 378.037529
+V 15 16654.037475 18695.181235 -13170.169405 .053030
+P 16 1076.357495 -24950.901248 -8905.875873 1.985670
+V 16 5817.173662 -10174.275815 29004.705766 -.001847
+P 17 16350.162942 21446.732274 -570.859288 -92.546638
+V 17 -1031.921388 2007.984896 31349.515544 .191645
+P 18 16285.717639 -13988.533595 -15412.891920 -119.046667
+V 18 -4543.506224 19364.243857 -22534.459996 -.037401
+P 19 -17784.937825 -9196.587208 -17338.231570 -11.896836
+V 19 21574.685713 -5623.600299 -19069.408583 -.008690
+P 20 -14407.335982 -4686.180253 21744.383012 -90.796214
+V 20 7852.913230 -26643.001262 -520.604721 .026773
+P 21 16036.038435 -4197.981560 -20844.875252 88.039506
+V 21 16712.920767 20440.692905 8299.887644 .010783
+P 22 12583.484506 -22598.077027 -5926.796956 16.266966
+V 22 -45.863636 8205.817953 -30519.372664 .002990
+P 23 -24864.923150 -795.134831 9365.164099 211.500931
+V 23 11103.285814 -5127.503195 28651.288791 .005587
+P 24 -2848.716106 17733.641216 19780.764403 89.530269
+V 24 -16784.503802 -17978.345273 14027.350376 .028922
+P 25 -2876.093546 -19777.424755 17863.436571 84.334422
+V 25 17559.795561 13329.613458 18007.099857 .007720
+P 26 17309.774174 8891.721385 -18656.901391 317.133658
+V 26 -22099.863286 5568.050371 -17563.144982 .055585
+P 27 -16531.436937 3925.355952 -19990.313253 513.619304
+V 27 -18560.658867 -18932.460579 10891.819160 .063187
+P 28 -12152.916272 22288.542176 -6985.976344 46.479690
+V 28 -113.477749 -9725.162499 -30227.287101 .000594
+P 29 12821.589520 10796.300575 -20375.647246 178.360924
+V 29 -25371.156125 7249.695754 -11830.833496 -.189848
+P 30 16409.525458 -6422.970562 19591.026223 443.895149
+V 30 -5146.812500 25033.233583 12469.945363 -.143678
+* 2005 1 20 8 0 .00000000
+P 1 1277.758169 -15418.726171 21776.833168 383.869560
+V 1 26285.102996 -6759.233204 -6408.443460 .020451
+P 2 11263.699087 21237.262384 11079.670410 -42.503126
+V 2 -12335.261148 -8050.516689 27146.859213 .056244
+P 3 -5989.453716 -14840.627487 -21321.878411 78.144619
+V 3 25073.834983 -9808.990588 47.670605 .030377
+P 4 -1691.162558 17685.208135 19634.889528 441.108871
+V 4 -18939.722927 -16463.279643 13530.430304 -.206705
+P 5 14158.097148 8357.908644 20728.859131 73.215216
+V 5 -4779.541267 26326.429571 -7126.793257 .024731
+P 6 25732.739863 -6146.478017 3137.659495 -161.897919
+V 6 -2455.833703 4511.716087 30752.401296 .880082
+P 7 -16064.130505 16475.830874 13547.622365 62.449218
+V 7 -16597.707021 3083.561228 -24322.518871 -.302903
+P 8 -12510.531664 8821.598856 -21904.592356 -19.078150
+V 8 -19245.953566 -19423.289459 2843.882393 -.011686
+P 9 21752.634963 14781.853592 4375.217309 -24.899443
+V 9 2821.409597 6058.582940 -30751.029985 -.018013
+P 10 2731.497782 23274.185940 -12270.201791 57.538148
+V 10 -5747.346343 14615.587069 26852.249371 .007239
+P 11 -23124.770174 -12409.636108 4670.857041 186.605582
+V 11 -2267.878357 -7027.046412 -29551.427834 .036775
+P 13 -25777.284158 5496.372565 2909.959191 -13.784809
+V 13 3040.116750 -3017.274174 32078.138799 .009371
+P 14 16938.292648 -14934.037437 14025.561840 -31.487769
+V 14 17411.522801 -3507.866744 -24880.014393 -.000905
+P 15 5562.462293 -15484.872362 -20992.059921 378.040698
+V 15 18440.403839 18699.558140 -9285.419447 .053028
+P 16 1537.493144 -25734.007014 -6225.962750 1.985667
+V 16 4484.735179 -7180.607735 30462.774294 -.001843
+P 17 16164.973445 21507.231445 2247.561540 -92.529178
+V 17 -3135.375407 -617.115211 31196.339848 .191673
+P 18 15889.835749 -12131.215105 -17300.523959 -119.049726
+V 18 -4189.077571 21855.933617 -19352.375547 -.037403
+P 19 -15767.536395 -9772.255158 -18899.045959 -11.897506
+V 19 23173.526712 -7189.954366 -15564.859210 -.008684
+P 20 -13765.949240 -7091.833838 21509.367991 -90.793615
+V 20 6382.732752 -26725.725255 -4694.259252 .026771
+P 21 17552.106784 -2434.669954 -19922.326517 88.040417
+V 21 16905.309853 18697.776365 12169.850682 .010781
+P 22 12552.585417 -21713.084444 -8614.449143 16.267479
+V 22 -569.741877 11452.210628 -29119.650589 .003006
+P 23 -23740.728708 -1321.530082 11855.962773 211.501223
+V 23 13820.421287 -6617.025020 26619.938565 .005591
+P 24 -4444.615598 16110.143783 20872.618037 89.533232
+V 24 -18643.842450 -18019.556768 10203.330938 .028923
+P 25 -1201.837841 -18565.113700 19330.165327 84.337032
+V 25 19611.673095 13536.232817 14542.904214 .007732
+P 26 15255.761974 9471.055567 -20079.613147 317.138636
+V 26 -23461.223971 7322.106668 -14007.817463 .055575
+P 27 -18194.350398 2307.994820 -18834.868278 513.624928
+V 27 -18311.916628 -16973.221765 14742.689007 .063183
+P 28 -12145.666033 21266.009014 -9636.674145 46.479806
+V 28 203.702498 -12980.349848 -28589.802706 .000602
+P 29 10504.385436 11526.975581 -21258.340346 178.344031
+V 29 -26028.072407 8983.149436 -7754.361845 -.189856
+P 30 15988.700838 -4103.642449 20537.397787 443.882491
+V 30 -4163.968684 26428.578547 8529.509405 -.143687
+* 2005 1 20 8 15 .00000000
+P 1 3588.083225 -16081.258030 21017.500691 383.873093
+V 1 24975.919115 -7919.117689 -10442.334508 .020458
+P 2 10031.959617 20453.212210 13419.358963 -42.498045
+V 2 -15035.211000 -9296.919037 24769.282331 .056225
+P 3 -3759.605115 -15773.966129 -21136.071934 78.147474
+V 3 24402.277972 -10894.044967 4076.990359 .030375
+P 4 -3478.067319 16206.723192 20678.769816 441.089949
+V 4 -20723.026531 -16315.704618 9635.022407 -.206708
+P 5 13790.065743 10692.854870 19908.991534 73.217226
+V 5 -3407.796080 25475.103058 -11064.814659 .024731
+P 6 25377.372068 -5681.722752 5870.775609 -161.818222
+V 6 -5401.461412 5869.298143 29897.431610 .880039
+P 7 -17435.339777 16741.053309 11249.895385 62.421890
+V 7 -13846.358417 2741.326705 -26667.581453 -.302909
+P 8 -14272.250584 7136.606239 -21464.501031 -19.079887
+V 8 -19831.477967 -17968.253592 6920.437185 -.011685
+P 9 21899.118707 15220.240002 1578.303016 -24.901991
+V 9 383.537839 3729.281385 -31314.031113 -.018017
+P 10 2278.278007 24464.931347 -9753.574103 57.538987
+V 10 -4375.276275 11784.924597 28992.062285 .007239
+P 11 -23218.873294 -12953.169074 1979.023603 186.608711
+V 11 220.877688 -5093.321391 -30182.044456 .036774
+P 13 -25357.060120 5165.293795 5763.493262 -13.783874
+V 13 6258.191651 -4402.586597 31242.063586 .009377
+P 14 18372.191991 -15249.912394 11672.365016 -31.488037
+V 14 14419.807459 -3438.209947 -27338.570729 -.000905
+P 15 7292.989352 -13819.280270 -21647.211626 378.045104
+V 15 19965.614801 18239.732655 -5254.840830 .053028
+P 16 1894.164968 -26236.149232 -3438.411568 1.985506
+V 16 3503.587450 -3945.200151 31393.326000 -.001840
+P 17 15777.387157 21345.002707 5029.162402 -92.512493
+V 17 -5518.712061 -2930.938823 30532.747242 .191701
+P 18 15542.581951 -10065.310265 -18886.308682 -119.052985
+V 18 -3471.880672 23986.531461 -15836.783189 -.037407
+P 19 -13629.121430 -10493.236511 -20131.758599 -11.898210
+V 19 24259.033880 -8838.061986 -11788.884331 -.008679
+P 20 -13260.213102 -9480.437412 20901.888171 -90.791082
+V 20 4853.628059 -26263.297130 -8785.570252 .026768
+P 21 19065.512055 -839.447665 -18660.887251 88.041709
+V 21 16648.844524 16719.529096 15820.459573 .010778
+P 22 12493.641170 -20539.685168 -11153.126693 16.267626
+V 22 -670.566904 14598.463013 -27213.312588 .003021
+P 23 -22388.783940 -1993.595301 14142.920477 211.501651
+V 23 16153.471054 -8352.667667 24127.772035 .005596
+P 24 -6196.867781 14503.955572 21612.446129 89.534964
+V 24 -20245.447643 -17600.148042 6215.445600 .028924
+P 25 646.645643 -17353.813895 20474.124361 84.337768
+V 25 21418.386493 13313.007151 10844.316339 .007743
+P 26 13102.162476 10211.237607 -21171.076354 317.143474
+V 26 -24309.532638 9127.260610 -10211.556970 .055566
+P 27 -19812.793911 875.169193 -17345.185725 513.630620
+V 27 -17570.871732 -14847.649293 18308.578833 .063179
+P 28 -12128.801041 19956.735206 -12116.895561 46.479633
+V 28 103.143683 -16080.484427 -26444.479463 .000612
+P 29 8153.518591 12411.025606 -21767.098480 178.326798
+V 29 -26119.602842 10641.910118 -3533.538354 -.189864
+P 30 15666.219287 -1680.706553 21121.835133 443.869701
+V 30 -2974.471879 27328.501002 4439.075931 -.143697
+* 2005 1 20 8 30 .00000000
+P 1 5759.940297 -16835.015508 19902.403350 383.874518
+V 1 23217.781022 -8774.315434 -14303.290609 .020464
+P 2 8559.100034 19577.650872 15524.915386 -42.493119
+V 2 -17677.167378 -10082.813167 21951.124858 .056208
+P 3 -1610.119320 -16793.657714 -20589.829413 78.149516
+V 3 23295.351575 -11716.143460 8046.018068 .030373
+P 4 -5411.805795 14761.437130 21364.502799 441.071084
+V 4 -22189.961622 -15733.457182 5583.317132 -.206711
+P 5 13541.832295 12928.300828 18743.187211 73.218548
+V 5 -2131.264235 24120.149608 -14803.150809 .024731
+P 6 24768.762758 -5081.225108 8503.988192 -161.738666
+V 6 -8071.264320 7519.072523 28535.772593 .879996
+P 7 -18552.879370 16956.658820 8760.770293 62.394701
+V 7 -10975.269151 1979.316648 -28569.116537 -.302916
+P 8 -16066.608225 5595.608922 -20662.696226 -19.081202
+V 8 -19964.547323 -16236.969773 10870.990480 -.011685
+P 9 21813.670085 15462.372537 -1245.356453 -24.904246
+V 9 -2320.703091 1707.769879 -31345.592757 -.018020
+P 10 1933.840912 25385.807855 -7066.721207 57.539042
+V 10 -3339.588084 8632.522786 30629.149391 .007239
+P 11 -23078.064973 -13334.801120 -746.488704 186.611885
+V 11 2940.874633 -3438.066436 -30298.866506 .036775
+P 13 -24659.341029 4693.465654 8517.284938 -13.782937
+V 13 9192.266181 -6135.397153 29864.776798 .009383
+P 14 19529.361995 -15539.411739 9118.668249 -31.488002
+V 14 11278.356773 -2919.066565 -29329.080253 -.000904
+P 15 9146.157145 -12214.230265 -21935.597697 378.050315
+V 15 21154.005737 17363.380836 -1146.488014 .053027
+P 16 2179.855402 -26439.624511 -591.458622 1.985121
+V 16 2912.393307 -559.366645 31781.052143 -.001836
+P 17 15165.323963 20990.719392 7728.503351 -92.495805
+V 17 -8111.116024 -4876.685631 29370.954523 .191729
+P 18 15273.960681 -7826.619958 -20143.022448 -119.056109
+V 18 -2452.987063 25684.934615 -12050.586979 -.037411
+P 19 -11416.919270 -11362.856867 -21014.878692 -11.899048
+V 19 24811.544290 -10477.815053 -7807.482304 -.008673
+P 20 -12891.329290 -11802.995418 19932.573775 -90.788679
+V 20 3356.671543 -25260.428388 -12723.359115 .026764
+P 21 20534.786819 570.407445 -17083.017884 88.042689
+V 21 15922.555879 14593.438229 19192.108107 .010774
+P 22 12444.055112 -19091.269859 -13498.580673 16.268166
+V 22 -366.263933 17547.941363 -24831.765321 .003036
+P 23 -20846.386837 -2830.090280 16186.379250 211.502112
+V 23 18044.297817 -10257.332255 21216.437839 .005602
+P 24 -8078.750351 12954.555185 21988.465696 89.537734
+V 24 -21512.552434 -16766.604279 2129.839231 .028926
+P 25 2643.868000 -16180.402874 21276.926527 84.336540
+V 25 22905.301095 12702.561520 6971.947665 .007754
+P 26 10895.803192 11112.724745 -21912.228348 317.148536
+V 26 -24633.190302 10891.132866 -6233.248050 .055557
+P 27 -21342.322774 -362.495505 -15549.702215 513.636638
+V 27 -16337.632298 -12652.493094 21528.799252 .063175
+P 28 -12138.842297 18379.097583 -14382.580727 46.479674
+V 28 -388.223825 -18928.372415 -23829.476626 .000622
+P 29 5819.461434 13437.414992 -21892.312453 178.309564
+V 29 -25658.317938 12130.695789 756.050665 -.189872
+P 30 15457.041499 799.593857 21334.144480 443.856849
+V 30 -1660.289754 27699.254980 272.453716 -.143706
+* 2005 1 20 8 45 .00000000
+P 1 7755.768871 -17649.478966 18450.043376 383.876499
+V 1 21076.221906 -9258.117597 -17926.524914 .020470
+P 2 6854.737966 18652.090834 17358.757739 -42.487953
+V 2 -20163.608982 -10409.827843 18739.767091 .056190
+P 3 422.019870 -17872.998372 -19691.629140 78.151778
+V 3 21804.236925 -12209.521076 11887.085078 .030372
+P 4 -7460.639772 13386.101303 21681.209219 441.052597
+V 4 -23269.982484 -14771.635634 1446.374073 -.206714
+P 5 13401.165689 15020.483563 17252.355264 73.219584
+V 5 -1030.199963 22299.122602 -18277.301333 .024732
+P 6 23934.841535 -4321.343360 10992.747513 -161.659456
+V 6 -10398.282529 9400.022646 26692.134274 .879953
+P 7 -19409.972266 17084.684843 6121.869484 62.367583
+V 7 -8073.652502 796.392812 -29990.404161 -.302922
+P 8 -17851.317001 4219.693863 -19513.436653 -19.081854
+V 8 -19613.114619 -14314.446121 14631.193486 -.011685
+P 9 21475.682697 15538.533784 -4048.118871 -24.904481
+V 9 -5215.001278 48.889524 -30851.267355 -.018024
+P 10 1665.550941 26011.816485 -4256.339213 57.540278
+V 10 -2690.012397 5248.119809 31732.820268 .007240
+P 11 -22684.774448 -13581.776646 -3459.301076 186.615055
+V 11 5818.674330 -2107.508734 -29900.259001 .036778
+P 13 -23713.394114 4052.444499 11123.613248 -13.782410
+V 13 11762.087839 -8150.342102 27969.799070 .009390
+P 14 20400.793544 -15761.643086 6408.226052 -31.488056
+V 14 8086.823262 -1943.858263 -30816.686577 -.000904
+P 15 11088.661560 -10704.521626 -21853.303427 378.055306
+V 15 21941.222645 16132.412743 2971.088387 .053026
+P 16 2430.748873 -26335.230496 2265.709788 1.984734
+V 16 2732.346537 2879.888912 31620.171471 -.001829
+P 17 14313.503251 20479.527788 10301.553165 -92.478359
+V 17 -10832.734721 -6412.012835 27730.006922 .191757
+P 18 15107.900931 -5456.688197 -21049.315482 -119.059413
+V 18 -1205.851561 26895.024609 -8061.198158 -.037418
+P 19 -9179.070128 -12376.251825 -21533.031359 -11.899865
+V 19 24830.465131 -12017.941244 -3690.356064 -.008667
+P 20 -12652.377743 -14011.794094 18618.344540 -90.786254
+V 20 1980.661294 -23740.805599 -16439.246128 .026760
+P 21 21917.346410 1785.650324 -15216.314179 88.043895
+V 21 14722.657116 12409.954149 22230.408673 .010769
+P 22 12438.819794 -17389.694117 -15609.782054 16.268550
+V 22 307.694396 20209.774562 -22015.066344 .003049
+P 23 -19155.353032 -3842.412307 17950.771411 211.502978
+V 23 19450.961105 -12245.037112 17935.064384 .005607
+P 24 -10057.103497 11496.581134 21994.901869 89.540484
+V 24 -22379.308274 -15579.634630 -1986.278160 .028927
+P 25 4758.055242 -15077.293274 21725.743059 84.336880
+V 25 24007.799144 11761.154838 2988.565812 .007767
+P 26 8683.765438 12167.617469 -22289.467786 317.153367
+V 26 -24438.190199 12520.961331 -2135.262865 .055547
+P 27 -22739.348290 -1403.075690 -13481.959193 513.642428
+V 27 -14631.001424 -10483.711746 24350.732270 .063171
+P 28 -12209.089906 16559.872704 -16393.521012 46.479592
+V 28 -1226.013487 -21435.175035 -20792.073265 .000634
+P 29 3550.645552 14586.746329 -21631.266321 178.292761
+V 29 -24676.850397 13359.632425 5037.066091 -.189880
+P 30 15368.502107 3288.815276 21170.844343 443.843823
+V 30 -308.317640 27525.853228 -3895.258870 -.143716
+* 2005 1 20 9 0 .00000000
+P 1 9544.490099 -18488.738731 16684.602822 383.877714
+V 1 18629.306588 -9317.861892 -21250.771291 .020476
+P 2 4937.150935 17717.061586 18887.927214 -42.482886
+V 2 -22400.262833 -10298.110921 15190.425866 .056173
+P 3 2305.026625 -18979.875200 -18455.981230 78.154002
+V 3 19992.906910 -12320.165228 15534.007460 .030371
+P 4 -9587.063298 12111.885486 21624.446785 441.034031
+V 4 -23905.871391 -13498.729397 -2704.037288 -.206717
+P 5 13348.962220 16929.752794 15462.984172 73.222133
+V 5 -176.558594 20065.555190 -21427.955786 .024733
+P 6 22908.979001 -3384.430868 13295.077515 -161.580326
+V 6 -12328.906887 11440.369111 24398.906451 .879910
+P 7 -20007.910646 17087.859624 3377.791892 62.340538
+V 7 -5231.054870 -790.933696 -30902.162565 -.302929
+P 8 -19581.967196 3022.046833 -18036.622487 -19.082762
+V 8 -18762.214641 -12290.700847 18140.167351 -.011685
+P 9 20871.777198 15483.238286 -6783.209284 -24.906795
+V 9 -8215.565622 -1208.380880 -29844.688536 -.018029
+P 10 1437.065508 26326.465625 -1371.458235 57.541154
+V 10 -2458.900574 1730.428308 32282.001513 .007239
+P 11 -22028.381975 -13724.866718 -6113.269366 186.618335
+V 11 8773.714494 -1133.559062 -28993.061905 .036781
+P 13 -22555.091622 3220.289347 13537.290303 -13.781537
+V 13 13901.588889 -10368.754696 25589.824194 .009398
+P 14 20986.493401 -15875.980293 3587.550362 -31.488082
+V 14 4945.277103 -525.087113 -31775.066242 -.000904
+P 15 13082.006302 -9318.834495 -21402.567324 378.060021
+V 15 22276.591511 14620.442903 7029.867768 .053025
+P 16 2684.119644 -25922.615024 5083.817892 1.984627
+V 16 2966.404185 6273.516403 30914.468691 -.001822
+P 17 13214.136873 19849.684127 12706.292109 -92.461034
+V 17 -13597.392461 -7510.327523 25635.513612 .191786
+P 18 15061.278946 -3001.354181 -21590.058647 -119.063104
+V 18 186.805752 27577.765084 -3939.218991 -.037423
+P 19 -6962.908958 -13520.429673 -21677.233905 -11.900384
+V 19 24334.210174 -13369.722381 490.366877 -.008662
+P 20 -12528.684785 -16062.074937 16982.102470 -90.784043
+V 20 808.517283 -21746.207390 -19868.868660 .026758
+P 21 23171.045190 2805.181625 -13093.005575 88.045201
+V 21 13062.657863 10259.075940 24886.884497 .010761
+P 22 12508.995639 -15464.599996 -17449.673500 16.268784
+V 22 1299.691416 22502.362831 -18811.298913 .003062
+P 23 -17360.482780 -5033.945132 19405.258697 211.503505
+V 23 20349.282307 -14224.268713 14339.479585 .005610
+P 24 -12093.424999 10158.656550 21632.041210 89.542873
+V 24 -22793.209898 -14111.769188 -6065.573178 .028928
+P 25 6952.156271 -14071.302531 21813.460204 84.337602
+V 25 24673.578356 10556.464194 -1041.732821 .007779
+P 26 6511.800487 13359.778213 -22294.938748 317.158510
+V 26 -23748.032288 13927.009974 2017.213945 .055538
+P 27 -23962.779194 -2253.102368 -11179.844821 513.648196
+V 27 -12487.442784 -8432.607310 26730.488387 .063167
+P 28 -12368.132972 14533.321215 -18114.137343 46.479672
+V 28 -2350.302331 -23523.975189 -17387.687908 .000646
+P 29 1391.708918 15831.921903 -20988.224573 178.275556
+V 29 -23226.583261 14248.090437 9231.992935 -.189888
+P 30 15400.031810 5738.033788 20635.212651 443.830609
+V 30 993.321311 26812.635182 -7989.205610 -.143726
+* 2005 1 20 9 15 .00000000
+P 1 11102.509491 -19312.861459 14635.582452 383.880493
+V 1 15964.779932 -8917.113328 -24219.262892 .020483
+P 2 2832.810738 16810.472687 20084.752763 -42.477834
+V 2 -24299.930781 -9785.539618 11365.217096 .056155
+P 3 4013.360898 -20077.931701 -16903.242969 78.157493
+V 3 17935.749821 -12008.133741 18923.222436 .030370
+P 4 -11749.103873 10963.300128 21196.216827 441.016082
+V 4 -24055.899780 -11993.716979 -6796.700760 -.206720
+P 5 13360.125340 18621.917718 13406.629408 73.224370
+V 5 368.884002 17486.836322 -24201.976839 .024734
+P 6 21728.700813 -2259.683855 15372.240589 -161.501019
+V 6 -13824.663539 13560.310961 21695.557722 .879866
+P 7 -20355.934855 16931.186198 575.405904 62.313245
+V 7 -2533.993818 -2748.716522 -31283.371213 -.302936
+P 8 -21213.594571 2007.653010 -16257.446765 -19.083828
+V 8 -17414.533174 -10257.382810 21341.298798 -.011685
+P 9 19996.337737 15333.753867 -9405.422964 -24.908733
+V 9 -11234.184488 -2041.956822 -28347.022260 -.018033
+P 10 1209.968100 26322.410990 1537.447861 57.542456
+V 10 -2659.817021 -1816.645588 32265.751363 .007239
+P 11 -21105.730489 -13797.026158 -8663.242440 186.621727
+V 11 11721.222344 -532.695765 -27592.472757 .036784
+P 13 -21225.519037 2182.624230 15716.462841 -13.780671
+V 13 15561.345541 -12701.741506 22766.151667 .009407
+P 14 21295.351919 -15843.771475 705.118735 -31.487984
+V 14 1950.438824 1305.993308 -32186.934353 -.000905
+P 15 15083.821619 -8078.804849 -20591.689149 378.063098
+V 15 22124.972594 12909.883418 10963.334168 .053024
+P 16 2976.683141 -25210.293420 7814.356555 1.984605
+V 16 3599.244202 9524.125845 29677.158588 -.001815
+P 17 11867.368513 19141.097746 14903.290258 -92.444026
+V 17 -16315.498757 -8161.575285 23119.368948 .191814
+P 18 15143.238119 -509.146288 -21756.570136 -119.066327
+V 18 1636.461795 27712.606267 242.904223 -.037427
+P 19 -4813.285941 -14774.665575 -21445.054561 -11.901079
+V 19 23359.386064 -14450.617370 4661.461468 -.008659
+P 20 -12498.505653 -17913.596737 15052.318462 -90.781580
+V 20 -86.077297 -19334.919923 -22953.017501 .026756
+P 21 24255.714988 3635.855895 -10749.396141 88.045872
+V 21 10972.857334 8227.013949 27119.553579 .010753
+P 22 12680.346378 -13352.435642 -18985.856955 16.269161
+V 22 2544.036551 24356.553687 -15275.771921 .003074
+P 23 -15507.917233 -6399.721791 20524.294929 211.503987
+V 23 20733.730912 -16101.583165 10491.293865 .005613
+P 24 -14145.162597 8962.448420 20906.201270 89.545290
+V 24 -22717.043381 -12444.565784 -10041.508751 .028930
+P 25 9185.038876 -13182.738862 21538.762178 84.338789
+V 25 24864.523181 9165.005670 -5054.335533 .007791
+P 26 4422.780022 14665.256774 -21926.750301 317.164012
+V 26 -22603.044634 15025.958324 6156.946256 .055528
+P 27 -24975.538927 -2926.980786 -8684.789133 513.653988
+V 27 -9959.373606 -6582.311514 28633.291453 .063163
+P 28 -12638.563443 12339.972709 -19514.160862 46.479783
+V 28 -3688.226140 -25132.840931 -13678.694439 .000658
+P 29 -618.102584 17139.135320 -19974.375760 178.258635
+V 29 -21375.544884 14728.157400 13264.745509 -.189896
+P 30 15543.215208 8099.579979 19737.196774 443.817923
+V 30 2159.008504 25583.034015 -11936.279874 -.143735
+* 2005 1 20 9 30 .00000000
+P 1 12414.445460 -20079.427301 12337.354002 383.883474
+V 1 13176.843258 -8037.265988 -26780.676712 .020488
+P 2 575.582436 15966.082116 20927.422416 -42.472721
+V 2 -25786.088205 -8926.175934 7332.022337 .056137
+P 3 5528.542648 -21127.919910 -15059.331503 78.159247
+V 3 15714.769234 -11249.369732 21994.929938 .030369
+P 4 -13901.790690 9957.396649 20404.859962 440.997609
+V 4 -23695.369777 -10342.811114 -10762.153188 -.206723
+P 5 13404.683829 20069.378954 11119.319062 73.226295
+V 5 558.933180 14641.577527 -26553.236995 .024735
+P 6 20434.266311 -943.729188 17189.344637 -161.421970
+V 6 -14863.431339 15675.044227 18627.956320 .879823
+P 7 -20470.810092 16583.475812 -2236.927621 62.286015
+V 7 -62.624548 -5026.485443 -31121.995184 -.302943
+P 8 -22702.271357 1173.303486 -14205.978178 -19.085075
+V 8 -15590.357484 -8304.371435 24182.969391 -.011685
+P 9 18851.769234 15128.557621 -11871.777076 -24.911080
+V 9 -14181.355669 -2447.064936 -26386.376603 -.018036
+P 10 945.493479 26001.743285 4419.388388 57.543064
+V 10 -3286.908844 -5288.022773 31683.557295 .007239
+P 11 -19921.367025 -13831.976017 -11065.804624 186.624953
+V 11 14575.288249 -305.428156 -25721.810701 .036788
+P 13 -19769.390684 933.404049 17623.354714 -13.779897
+V 13 16710.382322 -15053.675507 19547.948234 .009415
+P 14 21344.675988 -15629.984193 -2189.456247 -31.488068
+V 14 -807.968157 3500.441454 -32044.398779 -.000907
+P 15 17049.324718 -6998.374100 -19434.852686 378.067671
+V 15 21468.047919 11088.766025 14707.396125 .053024
+P 16 3342.976046 -24215.334885 10410.419571 1.984400
+V 16 4597.943833 12539.610506 27930.583172 -.001809
+P 17 10281.445508 18393.826717 16856.259963 -92.426523
+V 17 -18897.072314 -8372.505018 20219.455593 .191842
+P 18 15354.830471 1970.417310 -21546.720739 -119.069731
+V 18 3052.449711 27298.150707 4412.227123 -.037431
+P 19 -2770.992795 -16111.211949 -20840.650742 -11.901813
+V 19 21959.262516 -15187.641812 8749.950750 -.008655
+P 20 -12533.993223 -19532.025791 12862.521168 -90.778981
+V 20 -641.656309 -16579.516277 -25638.669898 .026753
+P 21 25134.631079 4291.997068 -8225.257650 88.047132
+V 21 8499.247738 6393.040459 28893.409767 .010745
+P 22 12972.188041 -11095.209191 -20191.201771 16.269621
+V 22 3963.625635 25718.350194 -11470.056739 .003086
+P 23 -13643.447176 -7926.417659 21288.100474 211.504696
+V 23 20617.589476 -17785.318819 6456.859182 .005615
+P 24 -16167.157991 7921.992235 19829.618370 89.548315
+V 24 -22130.298935 -10665.521103 -13849.241314 .028931
+P 25 11412.833009 -12424.732801 20906.141396 84.338832
+V 25 24558.098386 7669.270926 -8984.917428 .007803
+P 26 2455.234521 16053.015856 -21189.123311 317.168504
+V 26 -21059.108872 15744.162868 10215.503878 .055518
+P 27 -25745.903184 -3446.114434 -6040.935870 513.659796
+V 27 -7112.897555 -5004.747802 30033.617451 .063158
+P 28 -13035.949526 10025.162822 -20569.199271 46.480110
+V 28 -5157.129949 -26217.247251 -9733.072809 .000669
+P 29 -2446.311653 18469.153243 -18607.632169 178.241509
+V 29 -19205.598857 14747.587401 17062.253427 -.189904
+P 30 15782.179826 10328.717376 18493.190547 443.804703
+V 30 3109.230353 23878.560782 -15666.566218 -.143745
+* 2005 1 20 9 45 .00000000
+P 1 13473.555038 -20745.182560 9828.629455 383.885360
+V 1 10362.667937 -6678.498457 -28890.030440 .020493
+P 2 -1794.384081 15212.135780 21400.444577 -42.467667
+V 2 -26796.090300 -7788.019356 3163.182271 .056119
+P 3 6839.698555 -22089.190008 -12955.334358 78.162583
+V 3 13416.457262 -10036.929937 24694.217583 .030368
+P 4 -15998.732006 9103.271573 19264.847300 440.978999
+V 4 -22817.492696 -8635.984464 -14533.803586 -.206727
+P 5 13449.101284 21252.004770 8640.891101 73.227068
+V 5 361.812917 11616.583649 -28443.300232 .024736
+P 6 19067.164460 559.067912 18715.885950 -161.342794
+V 6 -15440.058026 17697.948676 15247.624354 .879779
+P 7 -20376.109432 16018.767915 -5010.191716 62.258723
+V 7 2112.428929 -7558.852777 -30415.574220 -.302950
+P 8 -24006.665211 507.904557 -11916.681127 -19.086224
+V 8 -13326.916695 -6516.466394 26619.220715 -.011685
+P 9 17448.472823 14905.782146 -14142.108405 -24.912694
+V 9 -16969.386385 -2436.061094 -23997.189813 -.018040
+P 10 606.273194 25375.909633 7223.799238 57.543937
+V 10 -4315.087664 -8581.539733 30545.402840 .007238
+P 11 -18487.504437 -13862.764656 -13279.991671 186.628229
+V 11 17251.989072 -436.358586 -23412.164622 .036792
+P 13 -18233.335356 -524.647610 19224.935968 -13.779039
+V 13 17337.246444 -17325.968063 15991.358221 .009424
+P 14 21159.404489 -15204.723105 -5046.282226 -31.488212
+V 14 -3250.602577 5993.390182 -31349.152561 -.000909
+P 15 18932.869257 -6083.432779 -17951.868241 378.073529
+V 15 20305.009008 9247.403709 18201.250697 .053024
+P 16 3813.828729 -22962.731833 12827.505579 1.984071
+V 16 5913.345619 15236.546638 25705.752571 -.001802
+P 17 8472.616321 17646.573662 18532.580509 -92.409039
+V 17 -21254.800000 -8166.399437 16979.321738 .191870
+P 18 15688.990653 4388.554082 -20964.919133 -119.072817
+V 18 4345.663617 26352.066780 8496.623041 -.037436
+P 19 -871.356706 -17496.296855 -19874.686438 -11.902446
+V 19 20201.590256 -15520.366810 12684.441459 -.008653
+P 20 -12602.413474 -20890.100948 10450.698241 -90.776476
+V 20 -811.455673 -13564.090399 -27879.900446 .026749
+P 21 25775.854685 4794.642806 -5563.183753 88.048089
+V 21 5701.876239 4826.629425 30180.807124 .010736
+P 22 13396.500147 -8739.024454 -21044.359448 16.270021
+V 22 5473.087795 26551.033900 -7460.878206 .003096
+P 23 -11810.840027 -9592.677138 21683.038032 211.505354
+V 23 20032.383177 -19189.273352 2306.120501 .005616
+P 24 -18113.192231 7043.304180 18420.255652 89.552569
+V 24 -21030.005687 -8864.787423 -17426.495720 .028932
+P 25 13590.376412 -11802.835949 19925.836545 84.339141
+V 25 23748.224554 6154.667520 -12770.241846 .007815
+P 26 642.032689 17485.940112 -20092.455459 317.173568
+V 26 -19185.804189 16020.676094 14124.223274 .055509
+P 27 -26248.612896 -3837.780574 -3294.311622 513.665479
+V 27 -4025.103421 -3758.159867 30915.121299 .063154
+P 28 -13568.112207 7637.385343 -21261.175961 46.480146
+V 28 -6668.126777 -26751.750712 -5622.939310 .000679
+P 29 -4068.305948 19778.833825 -16912.289405 178.224853
+V 29 -16809.052348 14272.091327 20555.980687 -.189913
+P 30 16094.297355 12385.196127 16925.685940 443.791791
+V 30 3773.891423 21757.059838 -19114.678621 -.143755
+* 2005 1 20 10 0 .00000000
+P 1 14281.838521 -21267.747413 7151.852347 383.886720
+V 1 7618.767718 -4860.035706 -30509.515695 .020498
+P 2 -4232.027700 14570.237736 21494.985118 -42.462709
+V 2 -27283.834889 -6450.144741 -1065.951377 .056102
+P 3 7943.816851 -22921.261614 -10627.020378 78.165705
+V 3 11128.455293 -8381.562469 26972.144058 .030366
+P 4 -17993.740996 8401.888110 17796.475049 440.960605
+V 4 -21433.587562 -6963.411845 -18048.959056 -.206731
+P 5 13457.723212 22157.721524 6014.276418 73.229277
+V 5 -237.621542 8503.552775 -29841.944779 .024738
+P 6 17668.581984 2236.586336 19926.222331 -161.263493
+V 6 -15566.361223 19543.830657 11610.935457 .879736
+P 7 -20101.224329 15217.575424 -7695.595207 62.231693
+V 7 3932.938085 -10267.781450 -29171.639230 -.302957
+P 8 -25089.512238 -6.923087 -9427.878730 -19.085831
+V 8 -10677.137601 -4970.272989 28610.357268 -.011686
+P 9 15804.548656 14701.703304 -16179.614302 -24.915543
+V 9 -19515.368493 -2037.680239 -21219.613193 -.018043
+P 10 158.028136 24465.270606 9901.481668 57.543349
+V 10 -5701.020935 -11601.928302 28871.597876 .007237
+P 11 -16823.703988 -13920.361357 -15267.969969 186.631531
+V 11 19672.449110 -894.841828 -20701.928675 .036796
+P 13 -16664.119823 -2179.947017 20493.505750 -13.778080
+V 13 17450.309384 -19420.967835 12158.481549 .009433
+P 14 20771.035959 -14544.559846 -7816.052068 -31.488196
+V 14 -5311.494008 8706.444124 -30112.497128 -.000910
+P 15 20689.529119 -5331.767674 -16167.839874 378.077733
+V 15 18652.630404 7475.003972 21388.191931 .053024
+P 16 4414.989433 -21484.478206 15024.272123 1.983965
+V 16 7482.051429 17543.240705 23041.743102 -.001794
+P 17 6464.754231 16935.229904 19903.792137 -92.391750
+V 17 -23307.048132 -7582.270773 13447.821157 .191898
+P 18 16130.839809 6698.901480 -20021.981094 -119.076310
+V 18 5432.160063 24910.267522 12426.042866 -.037442
+P 19 856.943315 -18891.370514 -18564.130900 -11.902942
+V 19 18165.857409 -15403.415839 16396.421504 -.008653
+P 20 -12667.558630 -21968.529299 7858.621705 -90.774279
+V 20 -565.307052 -10381.057478 -29638.654014 .026746
+P 21 26153.405999 5170.547814 -2807.913688 88.049126
+V 21 2652.728433 3584.974313 30961.753601 .010727
+P 22 13957.337314 -6332.455518 -21530.172807 16.270390
+V 22 6982.292154 26836.608260 -3318.882153 .003105
+P 23 -10050.250795 -11369.764138 21701.880951 211.506018
+V 23 19026.589460 -20236.197447 -1888.620442 .005616
+P 24 -19937.579172 6324.293597 16701.533386 89.555570
+V 24 -19430.961837 -7131.801014 -20714.417854 .028932
+P 25 15672.714646 -11314.900476 18613.698602 84.340530
+V 25 22445.607735 4706.355568 -16348.961767 .007827
+P 26 -990.747095 18922.101591 -18653.295076 317.178384
+V 26 -17064.004042 15809.905875 17815.273191 .055499
+P 27 -26465.729470 -4133.811100 -492.009687 513.671200
+V 27 -781.060491 -2885.263901 31270.389979 .063149
+P 28 -14234.734262 5226.529882 -21578.633260 46.480299
+V 28 -8129.899259 -26730.850035 -1423.004677 .000688
+P 29 -5468.108658 21022.817574 -14918.554000 178.207414
+V 29 -14284.835158 13286.864137 23683.332167 -.189921
+P 30 16451.164874 14234.620024 15062.810161 443.778752
+V 30 4095.201640 19290.322030 -22220.963390 -.143765
+* 2005 1 20 10 15 .00000000
+P 1 14849.816130 -21607.314981 4352.517601 383.887581
+V 1 5037.360420 -2619.693218 -31609.249710 .020504
+P 2 -6688.959961 14054.501266 21209.069192 -42.457723
+V 2 -27221.753211 -4999.345703 -5278.566373 .056086
+P 3 8845.696800 -23585.416184 -8114.256070 78.167414
+V 3 8936.129763 -6311.593576 28786.753245 .030365
+P 4 -19842.449116 7846.216680 16025.471310 440.942251
+V 4 -19572.608003 -5411.962307 -21249.748979 -.206734
+P 5 13394.303779 22782.799829 3284.741972 73.230424
+V 5 -1237.329842 5395.636960 -30727.527438 .024740
+P 6 16277.898951 4069.221728 20799.971798 -161.184498
+V 6 -15270.520031 21132.110214 7778.264238 .879693
+P 7 -19680.136172 14167.898472 -10245.482988 62.204574
+V 7 5355.493058 -13065.447962 -27407.921190 -.302964
+P 8 -25918.953249 -395.977428 -6781.164341 -19.087185
+V 8 -7707.857587 -3731.382805 30123.487660 -.011687
+P 9 13945.238469 14549.319518 -17951.339929 -24.916374
+V 9 -21743.949391 -1295.762371 -18098.895888 -.018046
+P 10 -428.863175 23298.310503 12405.515235 57.543362
+V 10 -7384.892275 -14264.513434 26692.375233 .007238
+P 11 -14956.289408 -14032.335423 -16995.669017 186.634853
+V 11 21765.728230 -1636.219838 -17636.229068 .036801
+P 13 -15106.880491 -4012.309563 21407.178095 -13.777137
+V 13 17077.284935 -21245.829482 8116.241326 .009441
+P 14 20216.309675 -13633.621852 -10450.903169 -31.488381
+V 14 -6940.515469 11550.622218 -28355.192237 -.000911
+P 15 22276.661243 -4733.311796 -14112.762355 378.083296
+V 15 16544.732467 5856.344720 24216.364538 .053023
+P 16 5165.953142 -19818.393717 16963.229685 1.983937
+V 16 9228.961555 19402.310838 19984.967999 -.001786
+P 17 4288.715304 16291.515755 20946.055491 -92.374120
+V 17 -24980.741592 -6673.531807 9678.701993 .191925
+P 18 16658.303639 8859.095962 -18734.888658 -119.079392
+V 18 6236.516105 23025.401099 16133.697202 -.037449
+P 19 2392.792060 -20254.550145 -16931.943287 -11.903803
+V 19 15940.097757 -14808.360074 19821.492641 -.008653
+P 20 -12691.301342 -22756.579140 5131.110453 -90.772031
+V 20 109.131177 -7127.649021 -30885.368261 .026744
+P 21 26248.227969 5450.983667 -5.633433 88.049909
+V 21 -566.791440 2710.959769 31224.119273 .010719
+P 22 14650.567319 -3924.824599 -21639.969697 16.270857
+V 22 8400.069874 26576.496690 882.693621 .003114
+P 23 -8396.779980 -13222.513337 21343.967191 211.506567
+V 23 17663.673129 -20860.962092 -6054.006095 .005615
+P 24 -21596.752001 5754.978786 14701.983571 89.558918
+V 24 -17365.350281 -5551.930973 -23658.403994 .028931
+P 25 17616.605620 -10951.244390 16990.984538 84.341644
+V 25 20677.508667 3406.076812 -19662.425845 .007839
+P 26 -2424.706439 20316.243966 -16894.214500 317.183599
+V 26 -14782.981923 15083.798590 21222.819868 .055489
+P 27 -26387.210817 -4369.136263 2318.597526 513.677146
+V 27 2529.360519 -2412.050978 31100.561269 .063145
+P 28 -15027.315843 2842.079854 -21516.895493 46.480420
+V 28 -9452.570256 -26169.006827 2790.991021 .000697
+P 29 -6638.792303 22155.318693 -12661.951066 178.190412
+V 29 -11734.422472 11797.282654 26388.906386 -.189930
+P 30 16819.822324 15849.573961 12937.761561 443.765780
+V 30 4030.022107 16561.168901 -24932.541403 -.143775
+* 2005 1 20 10 30 .00000000
+P 1 15195.981837 -21728.277027 1478.428111 383.890177
+V 1 2702.854748 -12.704500 -32167.925972 .020509
+P 2 -9115.194056 13671.018858 20547.640582 -42.452866
+V 2 -26602.030558 -3526.430761 -9397.997970 .056070
+P 3 9557.591269 -24046.247519 -5460.334885 78.171067
+V 3 6919.199382 -3872.110069 30103.989736 .030364
+P 4 -21503.847751 7421.684133 13982.524475 440.923495
+V 4 -17280.029193 -4061.867379 -24083.942520 -.206738
+P 5 13223.552356 23131.829904 499.108135 73.233151
+V 5 -2618.199236 2383.996253 -31087.193523 .024742
+P 6 14931.265682 6030.439373 21322.332828 -161.105490
+V 6 -14595.882006 22389.843791 3813.094517 .879649
+P 7 -19149.994378 12865.957344 -12614.254616 62.177393
+V 7 6353.359429 -15857.600008 -25152.322328 -.302971
+P 8 -26469.686811 -689.371195 -4020.767171 -19.088840
+V 8 -4497.551401 -2851.940857 31133.003039 -.011688
+P 9 11902.131097 14477.067792 -19428.609469 -24.916666
+V 9 -23589.822264 -267.505817 -14684.776847 -.018050
+P 10 -1177.986594 21910.533600 14692.124314 57.544363
+V 10 -9292.854273 -16498.468656 24047.264970 .007238
+P 11 -12917.512782 -14221.670792 -18433.357596 186.638203
+V 11 23471.432020 -2603.589814 -14266.246740 .036805
+P 13 -13603.433014 -5993.549998 21950.261726 -13.776295
+V 13 16263.985405 -22716.196736 3935.165143 .009449
+P 14 19535.691267 -12464.395964 -12905.255441 -31.488518
+V 14 -8105.239701 14429.732817 -26107.132354 -.000911
+P 15 23655.393324 -4270.686631 -11821.052719 378.087330
+V 15 14031.054225 4468.620393 26639.463237 .053022
+P 16 6079.039723 -18006.740310 18611.364978 1.983860
+V 16 11070.256407 20772.708973 16588.337629 -.001780
+P 17 1981.446419 15741.763223 21640.571138 -92.355670
+V 17 -26214.024933 -5506.164220 5730.128146 .191952
+P 18 17243.016926 10832.187774 -17126.447072 -119.083082
+V 18 6694.817909 20764.724658 19557.143194 -.037455
+P 19 3723.251188 -21542.205422 -15006.650217 -11.904488
+V 19 13617.381925 -13724.938138 22900.513650 -.008653
+P 20 -12635.228077 -23252.348956 2315.243828 -90.769708
+V 20 1205.849895 -3902.241807 -31599.436855 .026744
+P 21 26048.908327 5670.378865 2796.738190 88.050614
+V 21 -3868.698215 2231.648383 30963.763115 .010713
+P 22 15463.948002 -1564.452006 -21371.733861 16.271279
+V 22 9637.995823 25791.461375 5069.414346 .003120
+P 23 -6879.235994 -15110.546813 20615.234235 211.507023
+V 23 16019.520824 -21013.267751 -10116.963016 .005614
+P 24 -23050.787719 5317.999397 12454.831038 89.562463
+V 24 -14881.746850 -4203.257902 -26208.904208 .028930
+P 25 19381.978055 -10695.098853 15084.078201 84.341818
+V 25 18486.950762 2329.074427 -22655.490751 .007851
+P 26 -3649.736938 21621.437613 -14843.574585 317.188377
+V 26 -12437.106297 13833.435033 24284.278071 .055480
+P 27 -26011.198003 -4580.249931 5090.607147 513.683212
+V 27 5814.719305 -2347.239179 30414.845586 .063140
+P 28 -15929.475012 531.345948 -21078.091917 46.480540
+V 28 -10551.469706 -25099.841762 6943.819682 .000706
+P 29 -7582.520931 23131.940789 -10182.627444 178.173430
+V 29 -9257.685252 9828.748345 28625.559917 -.189938
+P 30 17164.153341 17210.470114 10588.159671 443.752882
+V 30 3551.581843 13660.141173 -27204.171661 -.143785
+* 2005 1 20 10 45 .00000000
+P 1 15345.951740 -21600.712816 -1421.101930 383.892309
+V 1 688.598393 2890.139960 -32173.343564 .020514
+P 2 -11460.946570 13417.674976 19522.475548 -42.447978
+V 2 -25436.995394 -2122.338845 -13349.345621 .056057
+P 3 10098.553304 -24273.107484 -2711.229658 78.174949
+V 3 5148.553543 -1123.453658 30898.486092 .030362
+P 4 -22941.702800 7106.910515 11702.742935 440.904632
+V 4 -14616.147386 -2983.681019 -26505.657265 -.206742
+P 5 12912.640502 23217.391321 -2295.046160 73.234540
+V 5 -4344.806540 -445.525602 -30916.939386 .024745
+P 6 13660.311797 8087.587838 21484.322706 -161.026282
+V 6 -13599.228217 23254.479806 -218.907782 .879606
+P 7 -18549.556915 11316.605804 -14759.268734 62.149949
+V 7 6917.662913 -18547.277234 -22442.627290 -.302979
+P 8 -26723.898447 -921.229443 -1192.877787 -19.089590
+V 8 -1133.642569 -2368.680235 31620.989632 -.011688
+P 9 9712.158977 14507.715738 -20587.403076 -24.918703
+V 9 -24999.873282 978.691817 -11030.883202 -.018054
+P 10 -2105.762303 20343.092633 16721.478983 57.544873
+V 10 -11340.065214 -18249.490015 20984.265552 .007238
+P 11 -10744.501679 -14505.761553 -19556.154488 186.641454
+V 11 24741.947509 -3730.044485 -10648.441419 .036810
+P 13 -12190.726249 -8088.400227 22113.527235 -13.775415
+V 13 15072.368809 -23759.552714 -311.894304 .009456
+P 14 18771.721960 -11038.213670 -15136.612467 -31.488517
+V 14 -8792.102768 17244.050380 -23406.853012 -.000912
+P 15 24791.984877 -3920.016735 -9331.021350 378.092990
+V 15 11175.573583 3378.560425 28617.377242 .053021
+P 16 7158.755965 -16094.684538 19940.684350 1.983680
+V 16 12916.703266 21631.112944 12910.326734 -.001774
+P 17 -415.133162 15305.884939 21973.952347 -92.337963
+V 17 -26958.619054 -4156.419548 1664.116133 .191979
+P 18 17851.476302 12587.840058 -15224.848741 -119.086235
+V 18 6757.172067 18207.454653 22639.262445 -.037461
+P 19 4843.847565 -22710.621488 -12821.825300 -11.905401
+V 19 11292.134390 -12161.554733 25580.632064 -.008653
+P 20 -12462.287161 -23462.703933 -540.459100 -90.767402
+V 20 2700.687800 -800.664957 -31769.508186 .026745
+P 21 25552.135377 5864.847655 5552.271249 88.051346
+V 21 -7161.488249 2157.328562 30184.580683 .010709
+P 22 16377.541218 703.051400 -20730.148538 16.271565
+V 22 10614.070088 24520.743086 9167.076001 .003127
+P 23 -5519.151845 -16989.709515 19528.132699 211.507643
+V 23 14179.374915 -20659.780834 -14006.052913 .005612
+P 24 -24264.815884 4989.408834 9997.503593 89.566541
+V 24 -12043.545888 -3153.590273 -28322.194762 .028928
+P 25 20933.293861 -10523.324912 12924.137830 84.342363
+V 25 15931.380664 1541.202710 -25277.338695 .007863
+P 26 -4664.318059 22790.848115 -12535.173570 317.192995
+V 26 -10122.229329 12069.939947 26941.624780 .055470
+P 27 -25344.012787 -4803.654008 7778.288562 513.688960
+V 27 8985.182936 -2682.354281 29229.989255 .063135
+P 28 -16917.576477 -1662.192814 -20271.043634 46.480703
+V 28 -11350.635285 -23574.559882 10962.239902 .000714
+P 29 -8310.222546 23911.440388 -7524.568554 178.155854
+V 29 -6948.853109 7425.691185 30355.257110 -.189947
+P 30 17446.410037 18306.083714 8055.325990 443.739564
+V 30 2650.508494 10681.937409 -28998.925559 -.143794
+* 2005 1 20 11 0 .00000000
+P 1 15331.336493 -21201.681500 -4296.085117 383.893442
+V 1 -945.981277 6004.986521 -31622.795006 .020519
+P 2 -13678.435906 13284.309925 18151.952657 -42.443158
+V 2 -23758.656409 -874.251085 -17061.048437 .056046
+P 3 10493.510121 -24241.386904 85.218962 78.177121
+V 3 3683.398559 1860.925799 31154.193356 .030359
+P 4 -24125.792368 6874.702444 9225.055923 440.886424
+V 4 -11653.862563 -2235.633023 -28475.958997 -.206746
+P 5 12432.612582 23059.433573 -5050.177601 73.237392
+V 5 -6366.788815 -3015.484077 -30221.536615 .024747
+P 6 12491.033622 10202.945029 21282.931052 -160.947500
+V 6 -12348.555775 23676.252764 -4250.851831 .879562
+P 7 -17917.557486 9533.399043 -16641.709310 62.122731
+V 7 7057.824052 -21038.737206 -19325.942363 -.302986
+P 8 -26671.932260 -1128.233931 1655.060371 -19.090688
+V 8 2290.516753 -2301.493196 31577.570103 -.011689
+P 9 7416.418874 14657.464037 -21408.679827 -24.920057
+V 9 -25934.931588 2365.739168 -7194.130353 -.018059
+P 10 -3220.609381 18641.207071 18458.413133 57.544217
+V 10 -13434.175010 -19481.777447 17558.837939 .007238
+P 11 -8478.025148 -14895.627450 -20344.465181 186.644613
+V 11 25544.219870 -4941.306130 -6843.683728 .036816
+P 13 -10899.500925 -10255.708618 21894.357392 -13.774569
+V 13 13577.958513 -24318.104686 -4551.072943 .009464
+P 14 17967.296213 -9365.397233 -17106.310860 -31.488563
+V 14 -9006.826043 19894.149538 -20300.874678 -.000913
+P 15 25659.014174 -3651.987827 -6684.287591 378.096046
+V 15 8054.327936 2639.914556 30116.777859 .053021
+P 16 8401.465102 -14128.664837 20928.669710 1.983545
+V 16 14677.160325 21972.642402 9013.966422 -.001767
+P 17 -2855.445410 14996.569193 21938.542737 -92.321027
+V 17 -27181.787975 -2708.102862 -2454.129454 .192006
+P 18 18446.394231 14103.269997 -13063.154438 -119.089994
+V 18 6389.653256 15441.703448 25329.120324 -.037465
+P 19 5758.527845 -23717.673707 -10415.481537 -11.906031
+V 19 9056.424787 -10145.042642 27816.185675 -.008653
+P 20 -12138.386807 -23402.884517 -3386.879672 -90.765021
+V 20 4552.239564 2087.371458 -31393.617939 .026746
+P 21 24762.871757 6070.659606 8214.747193 88.052687
+V 21 -10353.327609 2481.153531 28898.473195 .010705
+P 22 17364.447724 2836.380444 -19726.511388 16.271731
+V 22 11256.143123 22820.456663 13103.131093 .003133
+P 23 -4330.095792 -18813.667695 18101.418945 211.508242
+V 23 12234.389056 -19785.605466 -17652.805530 .005610
+P 24 -25210.260980 4739.720580 7371.074316 89.569314
+V 24 -8926.845660 -2457.822204 -29961.111805 .028925
+P 25 22240.766381 -10407.378120 10546.669925 84.343279
+V 25 13080.810681 1096.324796 -27482.295409 .007875
+P 26 -5475.480960 23779.552646 -10007.776112 317.198152
+V 26 -7931.897688 9824.624920 29142.742350 .055460
+P 27 -24399.875914 -5074.337201 10337.734677 513.694579
+V 27 11955.532975 -3392.392049 27569.670130 .063129
+P 28 -17961.657912 -3700.374781 -19111.022182 46.480823
+V 28 -11785.902715 -21659.692238 14776.368435 .000721
+P 29 -8840.909901 24457.365025 -4734.749108 178.138486
+V 29 -4892.765378 4649.790492 31549.688073 -.189955
+P 30 17628.798600 19133.762725 5383.512754 443.726545
+V 30 1335.147677 7721.753802 -30288.668488 -.143804
+* 2005 1 20 11 15 .00000000
+P 1 15188.378639 -20516.264583 -7096.726747 383.895641
+V 1 -2157.723079 9237.962036 -30523.293634 .020525
+P 2 -15723.601352 13253.227171 16460.684514 -42.438253
+V 2 -21617.409275 138.123779 -20466.370853 .056036
+P 3 10772.099818 -23933.577195 2880.162797 78.179755
+V 3 2568.858547 4997.180875 30864.829284 .030357
+P 4 -25032.924786 6693.263689 6591.565224 440.868093
+V 4 -8476.029590 -1861.461639 -29963.353990 -.206751
+P 5 11759.647852 22684.394128 -7719.560022 73.238060
+V 5 -8620.761842 -5259.567981 -29014.328401 .024749
+P 6 11442.900149 12334.960270 20721.186032 -160.868431
+V 6 -10920.452382 23620.132415 -8215.604052 .879519
+P 7 -17291.069113 7538.305647 -18227.389135 62.095303
+V 7 6801.199715 -23241.409676 -15857.863203 -.302994
+P 8 -26312.679343 -1348.065141 4475.086705 -19.090888
+V 8 5678.902713 -2652.593323 31001.166045 -.011690
+P 9 5058.854710 14935.287363 -21878.646476 -24.922538
+V 9 -26371.077039 3810.632009 -3234.115947 -.018063
+P 10 -4522.438607 16852.437287 19873.045228 57.543283
+V 10 -15479.106796 -20179.245865 13832.753841 .007240
+P 11 -6161.123129 -15395.380710 -20784.336605 186.647942
+V 11 25861.000579 -6158.660619 -2916.303357 .036823
+P 13 -9753.204867 -12449.873662 21296.778645 -13.773622
+V 13 11866.741665 -24351.090302 -8708.817086 .009471
+P 14 17163.935580 -7465.059356 -18780.203653 -31.488796
+V 14 -8774.077417 22284.745058 -16842.895433 -.000913
+P 15 26236.349046 -3433.111476 -3925.145173 378.100989
+V 15 4752.802979 2291.389889 31111.645254 .053020
+P 16 9795.375577 -12154.725650 21558.641012 1.983519
+V 16 16262.144841 21810.878154 4965.778346 -.001762
+P 17 -5291.723495 14818.735796 21532.668984 -92.303680
+V 17 -26867.833244 -1249.505767 -6556.996946 .192032
+P 18 18988.200462 15363.900164 -10678.702763 -119.093134
+V 18 5575.625468 12561.123750 27582.700454 -.037469
+P 19 6479.283686 -24524.448282 -7829.389039 -11.907004
+V 19 6996.381247 -7719.702805 29569.458661 -.008652
+P 20 -11633.880919 -23095.804193 -6175.144285 -90.762640
+V 20 6703.432983 4681.589390 -30479.157358 .026748
+P 21 23694.239440 6322.703861 10739.374986 88.053621
+V 21 -13355.263316 3179.384998 27125.236619 .010699
+P 22 18391.833290 4799.956402 -18378.522498 16.272009
+V 22 11504.939302 20761.309797 16808.077653 .003141
+P 23 -3317.303837 -20535.607343 16359.829659 211.508663
+V 23 10277.944901 -18395.025678 -20993.003508 .005608
+P 24 -25865.872341 4535.173295 4619.639973 89.573187
+V 24 -5617.853959 -2155.729565 -31095.735573 .028922
+P 25 23281.389780 -10314.490831 7991.029795 84.344055
+V 25 10015.488732 1034.093256 -29230.639712 .007886
+P 26 -6098.428802 24546.332570 -7304.521681 317.203078
+V 26 -5953.534551 7148.310903 30842.748308 .055450
+P 27 -23200.364274 -5424.336020 12727.461991 513.700332
+V 27 14647.965069 -4437.008890 25463.973785 .063124
+P 28 -19026.611353 -5551.611559 -17619.390466 46.480810
+V 28 -11807.465991 -19434.268268 18320.918915 .000729
+P 29 -9200.682851 24739.499260 -1862.238939 178.121547
+V 29 -3161.567981 1577.504083 32190.647654 -.189964
+P 30 17675.061724 19699.309244 2619.096937 443.713117
+V 30 -368.823424 4871.673931 -31054.351878 -.143814
+* 2005 1 20 11 30 .00000000
+P 1 14956.405924 -19538.313702 -9774.303340 383.896043
+V 1 -2921.459878 12488.658860 -28891.623942 .020530
+P 2 -17557.670609 13300.020792 14479.021512 -42.433232
+V 2 -19079.975928 845.922516 -23504.753930 .056027
+P 3 10967.316833 -23340.066514 5624.637759 78.181825
+V 3 1834.141097 8194.235712 30034.123308 .030355
+P 4 -25647.702432 6527.576635 3846.857342 440.849797
+V 4 -5172.475033 -1888.793340 -30944.176029 -.206755
+P 5 10876.128103 22124.089615 -10258.042260 73.240986
+V 5 -11032.708160 -7124.892829 -27316.909212 .024752
+P 6 10528.210383 14439.649090 19808.131260 -160.789034
+V 6 -9397.150903 23067.257471 -12046.789545 .879475
+P 7 -16703.935954 5361.069379 -19487.466673 62.067952
+V 7 6191.928101 -25073.692834 -12101.385037 -.303001
+P 8 -25653.666233 -1617.797025 7219.479227 -19.091929
+V 8 8936.209911 -3406.310914 29898.675965 -.011692
+P 9 2684.843962 15342.535133 -21988.971017 -24.924219
+V 9 -26300.469763 5227.433702 787.502459 -.018066
+P 10 -6002.492781 15024.886081 20941.290145 57.544773
+V 10 -17378.969902 -20345.924562 9872.832881 .007241
+P 11 -3837.649342 -16001.966486 -20867.722799 186.651216
+V 11 25691.515151 -7302.085302 1066.936939 .036830
+P 13 -8767.206149 -14622.455731 20331.374281 -13.772656
+V 13 10031.672816 -23836.416445 -12713.187514 .009478
+P 14 16400.126977 -5364.562695 -20129.264784 -31.488842
+V 14 -8136.383400 24328.385194 -13092.847285 -.000912
+P 15 26511.866254 -3227.152316 -1099.883187 378.105468
+V 15 1362.971207 2355.112824 31583.728251 .053020
+P 16 11320.848819 -10216.881057 21820.020845 1.983583
+V 16 17587.331731 21177.190110 834.667942 -.001757
+P 17 -7675.592102 14769.280659 20760.817548 -92.286417
+V 17 -26019.039630 129.927118 -10575.376535 .192059
+P 18 19436.632688 16363.699523 -8112.459248 -119.096675
+V 18 4316.398610 9661.389387 29363.511071 -.037473
+P 19 7025.464963 -25096.745532 -5108.331664 -11.907752
+V 19 5188.866572 -4945.666227 30811.281070 -.008651
+P 20 -10924.885216 -22571.065463 -8857.458966 -90.760238
+V 20 9083.709128 6914.072322 -29042.682210 .026750
+P 21 22367.118591 6653.002462 13083.493534 88.054333
+V 21 -16084.353441 4212.237983 24892.367556 .010695
+P 22 19422.204006 6565.115546 -16709.950294 16.272238
+V 22 11316.551620 18425.742542 20216.777761 .003149
+P 23 -2477.648838 -22109.965186 14333.644077 211.509016
+V 23 8401.880749 -16511.483611 -23967.889775 .005608
+P 24 -26218.501865 4339.171241 1789.640573 89.575653
+V 24 -2209.891817 -2270.291295 -31704.011364 .028918
+P 25 24039.739748 -10209.033648 5299.850102 84.345193
+V 25 6823.158463 1378.202329 -30489.391211 .007898
+P 26 -6555.818286 25055.367280 -4472.215762 317.208299
+V 26 -4264.757746 4109.810513 32005.260650 .055440
+P 27 -21773.629464 -5881.429355 14908.958560 513.705923
+V 27 16994.554023 -5762.241738 22948.741819 .063119
+P 28 -20073.567629 -7191.868761 -15823.139020 46.480803
+V 28 -11381.816525 -16986.552966 21536.286278 .000737
+P 29 -9421.458554 24735.061632 1042.714569 178.104899
+V 29 -1811.988037 -1702.973682 32270.177614 -.189973
+P 30 17551.995693 20016.543553 -190.243810 443.699977
+V 30 -2419.453975 2217.248788 -31286.124400 -.143824
+* 2005 1 20 11 45 .00000000
+P 1 14676.160106 -18270.869719 -12282.037219 383.897759
+V 1 -3231.045671 15653.930503 -26754.201889 .020536
+P 2 -19148.510933 13394.685471 12242.441474 -42.428236
+V 2 -16226.676252 1194.009982 -26122.994097 .056019
+P 3 11114.021100 -22459.634825 8270.467776 78.184074
+V 3 1491.354875 11357.284575 28675.843351 .030354
+P 4 -25963.005948 6340.903034 1037.285471 440.831356
+V 4 -1836.785234 -2328.118892 -31402.870594 -.206760
+P 5 9771.472667 21414.423304 -12622.772366 73.242251
+V 5 -13520.742538 -8573.779065 -25158.698991 .024755
+P 6 9751.726488 16472.091708 18558.711955 -160.709668
+V 6 -7863.363444 22015.798597 -15679.806009 .879431
+P 7 -16185.343611 3038.243365 -20399.054223 62.040560
+V 7 5289.016309 -26466.406987 -8125.582931 -.303008
+P 8 -24710.837120 -1972.302651 9841.519944 -19.091482
+V 8 11971.248406 -4529.522857 28285.527119 -.011694
+P 9 339.731975 15872.806502 -21736.939066 -24.926650
+V 9 -25731.674609 6530.374892 4807.657744 -.018070
+P 10 -7643.538856 13205.401076 21645.253719 57.544107
+V 10 -19041.937617 -20005.540828 5749.605045 .007243
+P 11 -1550.781463 -16705.189240 -20592.655322 186.654621
+V 11 25051.518617 -8293.455310 5037.929798 .036836
+P 13 -7948.333433 -16723.903891 19015.081928 -13.771934
+V 13 8168.923814 -22771.569333 -16495.121399 .009484
+P 14 15709.791102 -3098.659141 -21130.103167 -31.488721
+V 14 -7152.334285 25948.851274 -9115.834105 -.000913
+P 15 26481.892027 -2996.667804 1743.930976 378.109185
+V 15 -2019.926100 2835.675111 31522.928850 .053020
+P 16 12951.013866 -8355.568973 21708.498179 1.983461
+V 16 18576.853056 20119.403923 -3309.207115 -.001754
+P 17 -9959.705633 14837.128612 19633.723584 -92.269169
+V 17 -24656.005756 1343.095851 -14439.703096 .192085
+P 18 19752.355788 17105.205241 -5408.316687 -119.100015
+V 18 2631.207065 6836.643169 30643.062501 -.037477
+P 19 7422.810542 -25406.407767 -2299.317044 -11.908622
+V 19 3698.545465 -1896.648080 31521.464411 -.008649
+P 20 -9994.373253 -21863.733573 -11387.919861 -90.757947
+V 20 11611.717234 8731.702710 -27109.570189 .026753
+P 21 20809.472267 7089.326052 15207.252730 88.055198
+V 21 -18466.612529 5525.306008 22234.781130 .010692
+P 22 20414.878330 8111.018700 -14750.183156 16.272468
+V 22 10664.304205 15904.610039 23269.674357 .003157
+P 23 -1799.947180 -23494.123137 12058.142078 211.509510
+V 23 6692.787507 -14176.791755 -26525.269393 .005608
+P 24 -26263.597456 4113.849339 -1070.873515 89.578086
+V 24 1199.910084 -2806.609535 -31772.290752 .028915
+P 25 24508.512112 -10054.009937 2518.400169 84.347698
+V 25 3595.989362 2135.191022 -31233.058072 .007909
+P 26 -6876.722435 25277.754228 -1560.512213 317.213514
+V 26 -2930.007318 793.590630 32603.541587 .055430
+P 27 -20153.412552 -6468.000550 16847.175632 513.711685
+V 27 18939.334098 -7302.520965 20065.009229 .063114
+P 28 -21061.425001 -8605.338982 -13754.332162 46.480717
+V 28 -10493.001198 -14410.494943 24369.463200 .000747
+P 29 -9539.486275 24429.607403 3929.606567 178.088004
+V 29 -883.287085 -5095.182820 31790.482897 -.189981
+P 30 17230.844172 20106.573716 -2996.357562 443.686806
+V 30 -4760.189488 -165.606596 -30983.275383 -.143833
+* 2005 1 20 12 0 .00000000
+P 1 14388.067075 -16726.231740 -14575.949641 383.900792
+V 1 -3099.625981 18631.849547 -24146.736943 .020542
+P 2 -20471.709491 13502.959138 9790.842131 -42.423512
+V 2 -13148.162885 1143.248722 -28276.219287 .056013
+P 3 11247.372443 -21299.624737 10771.161020 78.187250
+V 3 1535.037998 14391.472539 26813.596930 .030352
+P 4 -25980.183248 6096.348899 -1789.769569 440.812555
+V 4 1437.023318 -3172.395329 -31332.178412 -.206764
+P 5 8442.711351 20593.957877 -14773.879141 73.242620
+V 5 -15998.152442 -9584.959877 -22576.422611 .024759
+P 6 9110.597741 18387.982016 16993.569598 -160.630480
+V 6 -6403.003547 20481.212562 -19052.841670 .879388
+P 7 -15758.592752 611.935369 -20945.698424 62.013511
+V 7 4163.751373 -27365.734524 -4004.102320 -.303016
+P 8 -23508.032559 -2442.726820 12296.265051 -19.092813
+V 8 14700.272324 -5972.755490 26185.692673 -.011696
+P 9 -1932.639516 16512.106519 -21125.549999 -24.929431
+V 9 -24689.463206 7636.987657 8762.563600 -.018073
+P 10 -9420.401423 11437.850235 21973.504909 57.545492
+V 10 -20383.928877 -19200.319639 1535.934685 .007244
+P 11 658.445678 -17488.026687 -19963.313414 186.657985
+V 11 23972.728734 -9059.707388 8928.360195 .036843
+P 13 -7294.759637 -18705.330521 17370.880251 -13.770911
+V 13 6374.029653 -21173.764045 -19989.629229 .009491
+P 14 15120.941640 -708.341489 -21765.376618 -31.488761
+V 14 -5894.153402 27084.127901 -4980.971774 -.000914
+P 15 26151.345332 -2704.605870 4558.199542 378.113936
+V 15 -5300.749065 3719.807120 30927.601022 .053021
+P 16 14652.665403 -6606.253177 21226.089739 1.983144
+V 16 19166.277232 18699.859661 -7395.577841 -.001751
+P 17 -12099.386477 15003.603973 18168.360009 -92.252256
+V 17 -22817.308090 2308.787153 -18081.131258 .192112
+P 18 19898.548948 17599.228165 -2612.358261 -119.103383
+V 18 556.520949 4176.040201 31401.216973 -.037480
+P 19 7702.236923 -25432.421118 549.245085 -11.909114
+V 19 2575.453432 1342.812486 31689.070043 -.008648
+P 20 -8833.010676 -21012.916406 -13723.286448 -90.755560
+V 20 14198.417698 10098.019007 -24713.536852 .026757
+P 21 19055.418112 7653.962579 17074.264927 88.056168
+V 21 -20439.671919 7051.528264 19194.434896 .010690
+P 22 21327.595408 9425.246931 -12533.677139 16.272914
+V 22 9539.907981 13293.549996 25913.878618 .003166
+P 23 -1265.590010 -24649.998423 9572.968846 211.509874
+V 23 5228.525035 -11449.610102 -28620.480214 .005609
+P 24 -26005.389380 3821.706251 -3913.018872 89.582266
+V 24 4514.112575 -3751.485222 -31295.774183 .028911
+P 25 24688.773860 -9812.630734 -306.119397 84.349059
+V 25 427.273508 3293.862936 -31444.322354 .007918
+P 26 -7095.310266 25192.783970 1378.999619 317.217981
+V 26 -1997.654570 -2703.319590 32621.460274 .055420
+P 27 -18377.886650 -7200.098628 18510.972958 513.717353
+V 27 20440.035341 -8983.094285 16858.506157 .063108
+P 28 -21948.459186 -9784.787718 -11449.479480 46.480942
+V 28 -9143.170697 -11802.035835 26774.782314 .000757
+P 29 -9593.711168 23817.605411 6748.577794 178.071042
+V 29 -395.959443 -8498.142251 30763.640158 -.189991
+P 30 16688.517102 19996.804271 -5751.432485 443.673697
+V 30 -7322.073496 -2213.291686 -30154.026688 -.143843
+* 2005 1 20 12 15 .00000000
+P 1 14130.517739 -14925.668603 -16615.674464 383.901445
+V 1 -2559.126368 21325.667728 -21113.693233 .020547
+P 2 -21511.341381 13587.838798 7167.755679 -42.418256
+V 2 -9941.772591 672.065648 -29928.641896 .056007
+P 3 11401.255627 -19875.778804 13082.778041 78.189954
+V 3 1942.423781 17205.600121 24480.407040 .030350
+P 4 -25708.937812 5758.436601 -4586.650461 440.793850
+V 4 4557.838007 -4397.283703 -30733.220049 -.206769
+P 5 6894.775451 19702.406548 -16675.102940 73.244610
+V 5 -18376.604267 -10154.183313 -19613.504512 .024763
+P 6 8594.580236 20145.171233 15138.745177 -160.551288
+V 6 -5095.911587 18495.868473 -22107.886526 .879344
+P 7 -15440.131863 -1871.682814 -21117.718240 61.986192
+V 7 2896.553757 -27735.499777 186.489484 -.303023
+P 8 -22076.178642 -3055.089711 14541.304739 -19.094537
+V 8 17050.057238 -7671.930871 23631.468967 -.011699
+P 9 -4091.362231 17239.282595 -20163.548724 -24.931165
+V 9 -23214.086788 8471.185091 12588.456335 -.018076
+P 10 -11300.813103 9761.538369 21921.223707 57.546525
+V 10 -21331.946081 -17989.064191 -2694.359367 .007246
+P 11 2752.528275 -18327.221997 -18989.990249 186.661195
+V 11 22501.649953 -9535.839085 12670.874478 .036849
+P 13 -6796.231461 -20520.264996 15427.371640 -13.770285
+V 13 4738.082536 -19079.332034 -23136.905945 .009498
+P 14 14654.588300 1760.548360 -22024.097838 -31.488755
+V 14 -4444.727421 27688.825304 -760.153250 -.000916
+P 15 25533.575168 -2315.902769 7295.064855 378.118200
+V 15 -8387.868796 4976.703162 29804.751549 .053021
+P 16 16387.411380 -4998.224718 20381.098831 1.983072
+V 16 19305.159180 16992.936952 -11355.199573 -.001746
+P 17 -14054.201774 15243.116862 16387.815235 -92.234667
+V 17 -20558.466834 2955.125280 -21432.831654 .192139
+P 18 19842.401944 17864.256085 227.905174 -119.106893
+V 18 -1855.276523 1760.508656 31626.413282 -.037483
+P 19 7898.434073 -25161.749953 3388.381185 -11.910166
+V 19 1853.156400 4680.514590 31312.510901 -.008647
+P 20 -7439.696332 -20060.205902 -15823.705251 -90.753056
+V 20 16750.472679 10994.427031 -21896.021968 .026760
+P 21 17144.077046 8362.685400 18652.218084 88.057302
+V 21 -21955.060175 8713.642834 15819.852121 .010687
+P 22 22118.193858 10504.061859 -10099.312549 16.272986
+V 22 7953.866545 10689.188619 28104.104766 .003174
+P 23 -849.472668 -25545.465800 6921.418910 211.510665
+V 23 4075.102549 -8403.250718 -30217.210109 .005609
+P 24 -25456.757178 3427.244735 -6687.890958 89.585199
+V 24 7638.544167 -5073.685409 -30278.834539 .028906
+P 25 24589.910525 -9449.912252 -3125.339970 84.350327
+V 25 -2591.999037 4825.371054 -31114.636675 .007928
+P 26 -7249.293992 24788.906989 4293.784102 317.223368
+V 26 -1497.752178 -6275.064171 32054.217001 .055410
+P 27 -16488.364725 -8086.733922 19873.514667 513.723344
+V 27 21469.312593 -10722.747250 13379.060780 .063103
+P 28 -22693.950747 -10731.566466 -8948.848369 46.480751
+V 28 -7352.419642 -9255.429010 28714.484590 .000767
+P 29 -9624.055708 22902.671624 9451.282909 178.054122
+V 29 -351.206861 -11810.207686 29211.122305 -.190000
+P 30 15908.591111 19719.726312 -8408.786322 443.660839
+V 30 -10026.384344 -3876.686874 -28815.191060 -.143852
+* 2005 1 20 12 30 .00000000
+P 1 13938.229990 -12898.780004 -18365.214403 383.902185
+V 1 -1658.967457 23647.613329 -17707.553608 .020554
+P 2 -22260.398278 13611.203519 4419.506044 -42.413236
+V 2 -6707.661247 -222.738068 -31054.077959 .056000
+P 3 11606.762398 -18211.748348 15164.751913 78.192967
+V 3 2674.436140 19715.690779 21718.071648 .030348
+P 4 -25166.920950 5294.627194 -7306.177695 440.775426
+V 4 7440.675834 -5962.012825 -29615.482374 -.206773
+P 5 5140.496910 18779.097917 -18294.368515 73.245738
+V 5 -20569.402672 -10294.193745 -16319.387350 .024768
+P 6 8186.546669 21705.149668 13025.292214 -160.472041
+V 6 -4014.701825 16108.047614 -24791.723720 .879300
+P 7 -15238.892714 -4364.037118 -20912.390484 61.959076
+V 7 1573.423676 -27558.676742 4368.432639 -.303031
+P 8 -20452.213952 -3829.069981 16537.499886 -19.094933
+V 8 18960.643510 -9550.628847 20663.186539 -.011701
+P 9 -6099.802111 18026.732192 -18865.388009 -24.932601
+V 9 -21360.024671 8966.193332 16222.397454 -.018078
+P 10 -13246.544988 8209.825333 21490.225869 57.547619
+V 10 -21826.940277 -16444.610433 -6867.856008 .007247
+P 11 4698.749794 -19194.134022 -17688.953232 186.664505
+V 11 20697.824652 -9667.624303 16200.262660 .036857
+P 13 -6434.633620 -22126.318925 13218.269446 -13.769774
+V 13 3344.122811 -16542.375104 -25883.337882 .009508
+P 14 14323.926992 4258.900884 -21901.826776 -31.488915
+V 14 -2894.216645 27735.957444 3473.237240 -.000918
+P 15 24649.893669 -1799.021974 9907.693048 378.123439
+V 15 -11196.497837 6559.003361 28170.129338 .053022
+P 16 18113.027287 -3553.646601 19187.972721 1.983027
+V 16 18959.068282 15082.139462 -15120.968134 -.001743
+P 17 -15789.415403 15524.150482 14321.049570 -92.217350
+V 17 -17950.208014 3222.784658 -24431.386228 .192165
+P 18 19556.465778 17925.579546 3064.312505 -119.110450
+V 18 -4537.791398 -340.159914 31315.769801 -.037483
+P 19 8048.324790 -24589.873264 6169.394011 -11.911023
+V 19 1547.565455 8020.033958 30399.490540 -.008644
+P 20 -5821.790067 -19048.041126 -17653.372992 -90.750665
+V 20 19173.794651 11420.725470 -18705.459504 .026764
+P 21 15118.237060 9223.961407 19913.441230 88.058345
+V 21 -22980.017338 10427.052708 12165.537867 .010683
+P 22 22746.292828 11352.323220 -7489.673937 16.273100
+V 22 5935.122517 8185.343463 29803.434465 .003185
+P 23 -521.183556 -26155.555252 4149.654250 211.511624
+V 23 3284.050922 -5122.901078 -31288.142781 .005606
+P 24 -24638.776269 2898.556185 -9347.399011 89.587988
+V 24 10485.820360 -6724.914783 -28735.200755 .028901
+P 25 24229.264553 -8934.234683 -5890.536809 84.351234
+V 25 -5376.561246 6683.993843 -30244.703231 .007937
+P 26 -7378.207827 24064.340992 7131.401027 317.228330
+V 26 -1440.560609 -9811.184551 30908.778137 .055400
+P 27 -14527.918391 -9129.419996 20912.615334 513.729263
+V 27 22015.525827 -12436.594419 9680.105022 .063097
+P 28 -23259.767197 -11455.300251 -6295.733041 46.480830
+V 28 -5157.947522 -6859.707095 30159.119770 .000779
+P 29 -9669.688855 21697.456273 11991.708784 178.037619
+V 29 -731.186313 -14932.885682 27163.166457 -.190009
+P 30 14882.056986 19311.538185 -10923.619818 443.647815
+V 30 -12787.599157 -5122.743238 -26991.715653 -.143862
+* 2005 1 20 12 45 .00000000
+P 1 13840.759576 -10682.529350 -19793.622537 383.902931
+V 1 -464.049096 25522.364044 -13987.897050 .020561
+P 2 -22720.865863 13535.475592 1594.330004 -42.408172
+V 2 -3544.893622 -1525.950444 -31636.231823 .055994
+P 3 11890.794397 -16338.293311 16980.641597 78.194517
+V 3 3677.372785 21848.265763 18576.323623 .030347
+P 4 -24379.042729 4676.737980 -9902.398251 440.756962
+V 4 10009.691768 -7810.840015 -27996.706871 -.206778
+P 5 3200.316079 17861.470269 -19604.293404 73.247407
+V 5 -22494.690387 -10034.097584 -12748.782385 .024773
+P 6 7863.270082 23034.411030 10688.802047 -160.393138
+V 6 -3221.849109 13380.340269 -27056.885139 .879256
+P 7 -15155.957597 -6815.911049 -20333.978382 61.931540
+V 7 282.152397 -26838.054409 8464.522980 -.303038
+P 8 -18677.787091 -4777.017323 18249.688087 -19.095627
+V 8 20387.671245 -11522.923598 17328.801447 -.011703
+P 9 -7926.804388 18841.364189 -17251.115606 -24.935547
+V 9 -19194.226517 9067.240345 19603.143189 -.018081
+P 10 -15214.769602 6808.997272 20688.868255 57.548359
+V 10 -21826.098957 -14650.771266 -10912.828728 .007248
+P 11 6470.256113 -20055.814968 -16082.198084 186.667653
+V 11 18631.571170 -9413.934452 19454.632737 .036865
+P 13 -6184.863868 -23486.699246 10781.799898 -13.768724
+V 13 2263.865899 -13632.742799 -28182.389700 .009519
+P 14 14133.848943 6736.048641 -21400.745920 -31.489003
+V 14 -1336.380885 27218.005548 7645.635784 -.000919
+P 15 23528.817552 -1127.375854 12351.060196 378.128429
+V 15 -13651.820401 8404.414568 26048.189059 .053023
+P 16 19784.966563 -2286.876786 17667.060961 1.982729
+V 16 18111.019942 13056.846563 -18629.002758 -.001739
+P 17 -17277.252634 15810.521157 12002.522815 -92.200121
+V 17 -15076.046978 3067.811680 -27018.248625 .192192
+P 18 19019.808764 17814.174303 5848.833739 -119.113987
+V 18 -7413.028473 -2069.791645 30475.069816 -.037483
+P 19 8189.448266 -23721.004250 8844.690155 -11.911716
+V 19 1656.444772 11264.302978 28966.786514 -.008641
+P 20 -3995.019165 -18018.055510 -19181.129325 -90.748102
+V 20 21377.119166 11394.931055 -15196.445294 .026766
+P 21 13022.877612 10238.432282 20835.412331 88.059269
+V 21 -23498.768080 12103.015082 8291.282114 .010680
+P 22 23174.907853 11983.070310 -4750.269449 16.273354
+V 22 3529.967558 5869.378929 30983.898637 .003196
+P 23 -246.403429 -26463.377886 1305.872483 211.512137
+V 23 2890.392927 -1702.382068 -31815.419084 .005601
+P 24 -23579.955503 2208.786608 -11845.110423 89.590182
+V 24 12978.669008 -8641.477449 -26687.981280 .028897
+P 25 23631.470915 -8238.800051 -8553.477623 84.351044
+V 25 -7850.152346 8808.603181 -28844.805024 .007947
+P 26 -7521.592878 23027.283144 9840.571927 317.233189
+V 26 -1815.950329 -13201.140825 29203.982661 .055390
+P 27 -12539.946864 -10321.977832 21611.040772 513.734863
+V 27 22083.042516 -14039.071919 5818.146574 .063092
+P 28 -23611.840982 -11973.268605 -3535.694673 46.480806
+V 28 -2612.593621 -4695.424465 31087.788989 .000791
+P 29 -9767.350995 20223.195327 14326.929947 178.020290
+V 29 -1499.996388 -17774.456483 24658.014464 -.190018
+P 30 13607.790054 18810.650622 -13253.724590 443.634523
+V 30 -15516.570426 -5935.454129 -24716.128961 -.143871
+* 2005 1 20 13 0 .00000000
+P 1 13861.222610 -8319.984311 -20875.593014 383.904724
+V 1 947.919724 26890.044302 -10020.306642 .020568
+P 2 -22903.453628 13325.250681 -1258.517036 -42.403165
+V 2 -547.654160 -3204.666279 -31668.754607 .055988
+P 3 12274.845939 -14292.205870 18498.801583 78.197764
+V 3 4885.201802 23543.184488 15111.815108 .030346
+P 4 -23376.525816 3882.203340 -12331.319763 440.738686
+V 4 12200.867052 -9875.061398 -25902.678851 -.206783
+P 5 1101.708210 16983.649844 -20582.626041 73.250556
+V 5 -24078.478593 -9418.137963 -8960.858242 .024779
+P 6 7596.454613 24105.646988 8168.845395 -160.314352
+V 6 -2767.129262 10387.485291 -28862.552766 .879213
+P 7 -15184.571239 -9179.226472 -19393.604282 61.904193
+V 7 -891.517692 -25596.035111 12399.817241 -.303046
+P 8 -16797.769022 -5903.243457 19647.342537 -19.094866
+V 8 21304.125606 -13496.688330 13683.245417 -.011706
+P 9 -9547.718958 19645.787624 -15346.180017 -24.937489
+V 9 -16793.881804 8733.904008 22672.082476 -.018082
+P 10 -17159.600797 5577.430880 19531.840824 57.549153
+V 10 -21304.478391 -12698.902862 -14760.463953 .007249
+P 11 8046.907066 -20876.275472 -14197.098453 186.670956
+V 11 16381.290027 -8748.566803 22376.553811 .036875
+P 13 -6015.982641 -24571.511873 8160.030083 -13.768123
+V 13 1554.889931 -10433.415658 -29995.358259 .009530
+P 14 14080.787786 9141.537948 -20529.617344 -31.489200
+V 14 135.231744 26147.225497 11684.610659 -.000920
+P 15 22205.041364 -280.574038 14582.729011 378.132474
+V 15 -15691.802797 10437.929427 23471.915185 .053023
+P 16 21357.970948 -1204.093979 15844.278260 1.982750
+V 16 16762.257293 11008.851930 -21819.682231 -.001735
+P 17 -18497.918958 16062.868992 9471.689174 -92.182939
+V 17 -12029.253752 2463.904907 -29141.223829 .192218
+P 18 18218.936107 17565.383040 8534.344905 -119.117562
+V 18 -10394.219720 -3387.799416 29118.633292 -.037480
+P 19 8358.331199 -22567.986410 11368.581441 -11.912583
+V 19 2159.623611 14319.195230 27039.887655 -.008638
+P 20 -1983.067054 -17009.471044 -20380.970606 -90.745757
+V 20 23275.468573 10952.414990 -11428.816943 .026769
+P 21 10903.606062 11398.693536 21401.198204 88.060127
+V 21 -23513.193607 13652.048858 4261.346047 .010677
+P 22 23371.937338 12416.787937 -1928.706280 16.273686
+V 22 800.269924 3818.860598 31626.870464 .003208
+P 23 11.542775 -26460.744124 -1560.557844 211.512503
+V 23 2911.291291 1759.424396 -31790.906190 .005597
+P 24 -22315.189311 1337.423322 -14137.089317 89.591881
+V 24 15052.924937 -10746.586544 -24169.509252 .028892
+P 25 22827.508641 -7342.927742 -11067.293188 84.351877
+V 25 -9948.524998 11124.795413 -26934.959808 .007956
+P 26 -7717.169978 21695.710108 12372.240261 317.238150
+V 26 -2593.733869 -16338.911697 26970.296975 .055380
+P 27 -10566.741513 -11650.609297 21956.761043 513.740541
+V 27 21692.040128 -15446.927734 1852.237550 .063086
+P 28 -23721.490061 -12309.510034 -715.786349 46.480853
+V 28 217.181145 -2831.784134 31488.242666 .000804
+P 29 -9949.798779 18508.949481 16417.791040 178.003212
+V 29 -2605.340116 -20253.273602 21741.055085 -.190028
+P 30 12092.729386 18256.133111 -15360.137517 443.621425
+V 30 -18123.798331 -6316.190009 -22027.908088 -.143880
+* 2005 1 20 13 15 .00000000
+P 1 14015.283875 -5858.814090 -21591.946702 383.906708
+V 1 2489.637974 27708.614781 -5875.131586 .020576
+P 2 -22826.994877 12948.831335 -4089.650924 -42.398329
+V 2 2198.267985 -5209.706731 -31155.092486 .055983
+P 3 12774.017286 -12115.002619 19692.953343 78.199479
+V 3 6222.369183 24755.929603 11386.956228 .030344
+P 4 -22195.735334 2895.132328 -14551.621216 440.720561
+V 4 13964.283803 -12075.506845 -23366.915835 -.206788
+P 5 -1121.651175 16175.164431 -21212.608302 73.252418
+V 5 -25257.403962 -8503.921317 -5018.373846 .024784
+P 6 7353.976766 24898.724672 5508.336027 -160.235484
+V 6 -2685.518134 7213.720590 -30175.385033 .879169
+P 7 -15310.493724 -11408.767853 -18108.973018 61.876857
+V 7 -1867.601310 -23873.587829 16103.237386 -.303053
+P 8 -14858.637202 -7203.620161 20705.166263 -19.095460
+V 8 21701.458799 -15377.110084 9787.671403 -.011710
+P 9 -10945.205505 20399.692829 -13181.148913 -24.939032
+V 9 -14243.766654 7942.023551 25374.238988 -.018084
+P 10 -19033.749088 4525.078413 18039.853218 57.549991
+V 10 -20255.931392 -10684.235249 -18345.982439 .007250
+P 11 9415.869770 -21617.888957 -12065.954980 186.674205
+V 11 14030.438918 -7661.499460 24914.143208 .036885
+P 13 -5892.591100 -25358.806938 5398.134465 -13.767162
+V 13 1258.389214 -7037.399022 -31291.983316 .009542
+P 14 14152.910128 11426.893617 -19303.622614 -31.489324
+V 14 1431.081069 24555.188020 15520.149302 -.000919
+P 15 20718.176483 754.552461 16563.602941 378.136890
+V 15 -17269.570091 12574.578920 20482.493790 .053024
+P 16 22787.720702 -303.239824 13750.676700 1.982557
+V 16 14932.352807 9028.816215 -24638.620730 -.001732
+P 17 -19440.321474 16240.324161 6772.360208 -92.165673
+V 17 -8909.298091 1404.015298 -30755.910691 .192245
+P 18 17148.439852 17217.445417 11075.386464 -119.121201
+V 18 -13388.970697 -4270.574161 27269.079060 -.037475
+P 19 8588.909112 -21151.871940 13698.047516 -11.913328
+V 19 3019.896668 17096.979582 24652.496697 -.008634
+P 20 183.139940 -16057.599890 -21232.477448 -90.743263
+V 20 24793.378914 10144.386868 -7466.660634 .026771
+P 21 8805.062378 12689.385629 21599.815879 88.061037
+V 21 -23042.859893 14987.442535 143.530455 .010674
+P 22 23311.461790 12680.389603 926.160700 16.273741
+V 22 -2178.898964 2098.638553 31723.269015 .003221
+P 23 290.044863 -26148.451013 -4399.977445 211.512851
+V 23 3345.424664 5162.330455 -31216.272441 .005594
+P 24 -20884.460166 271.347277 -16182.712626 89.594196
+V 24 16660.063016 -12953.250173 -21220.994898 .028888
+P 25 21853.499123 -6233.130330 -13387.353178 84.352236
+V 25 -11622.040578 13547.625996 -24544.869736 .007966
+P 26 -7999.084481 20096.769223 14680.593451 317.243321
+V 26 -3724.930015 -19127.442048 24249.213406 .055370
+P 27 -8648.090252 -13094.238649 21943.154686 513.746175
+V 27 20877.818282 -16582.173443 -2156.581216 .063080
+P 28 -23566.535262 -12493.688593 2116.224853 46.480997
+V 28 3253.776810 -1324.239081 31356.848440 .000817
+P 29 -10244.426898 16590.565062 18229.508682 177.986472
+V 29 -3980.779764 -22300.627539 18463.895324 -.190037
+P 30 10351.762574 17686.158700 -17207.735158 443.608169
+V 30 -20522.683490 -6283.399545 -18972.781368 -.143889
+* 2005 1 20 13 30 .00000000
+P 1 14310.454369 -3349.603103 -21929.999924 383.909106
+V 1 4067.842948 27955.547350 -1626.132333 .020583
+P 2 -22517.547829 12379.604052 -6850.426341 -42.393185
+V 2 4618.585966 -7477.661101 -30108.146749 .055978
+P 3 13396.298969 -9851.439719 20542.646969 78.202123
+V 3 7606.992027 25459.242850 7468.642292 .030343
+P 4 -20876.825731 1707.122893 -16525.330960 440.701506
+V 4 15265.904103 -14325.438574 -20430.252846 -.206793
+P 5 -3430.953155 15459.839020 -21483.257695 73.254895
+V 5 -25981.116880 -7360.156308 -986.760857 .024789
+P 6 7101.291611 25401.406993 2752.824251 -160.156648
+V 6 -2995.641262 3949.734077 -30970.245798 .879126
+P 7 -15512.674724 -13463.776582 -16503.957356 61.849748
+V 7 -2575.275111 -21728.421983 19509.023535 -.303061
+P 8 -12906.788244 -8665.506967 21403.611771 -19.097281
+V 8 21590.024277 -17070.475705 5708.522040 -.011714
+P 9 -12109.783326 21061.381483 -10791.334880 -24.940331
+V 9 -11633.236745 6685.082707 27659.325660 -.018086
+P 10 -20790.227916 3653.288082 16239.225319 57.550348
+V 10 -18693.310166 -8702.113251 -21609.649891 .007251
+P 11 10571.929123 -22242.880821 -9725.450003 186.677504
+V 11 11664.293112 -6159.513638 27022.072040 .036895
+P 13 -5776.382714 -25835.326974 2543.613163 -13.766365
+V 13 1397.575859 -3544.249574 -32050.907792 .009554
+P 14 14330.641417 13547.308426 -17744.088912 -31.489626
+V 14 2469.264929 22491.571369 19085.895884 -.000918
+P 15 19111.299674 1983.195636 18258.643478 378.141992
+V 15 -18355.245602 14722.630165 17128.821816 .053025
+P 16 24032.463047 425.720689 11421.933359 1.982359
+V 16 12658.623462 7202.764622 -27037.569892 -.001728
+P 17 -20102.451850 16302.282149 3951.942037 -92.148818
+V 17 -5817.909138 -98.849356 -31827.043035 .192272
+P 18 15811.355467 16809.930713 13428.895523 -119.124683
+V 18 -16302.614501 -4712.251984 24956.981140 -.037468
+P 19 8911.058246 -19501.199945 15793.448104 -11.914174
+V 19 4184.571736 19519.516253 21845.911094 -.008630
+P 20 2466.421136 -15192.509662 -21721.150155 -90.740914
+V 20 25867.771692 9035.785637 -3377.259495 .026774
+P 21 6769.351152 14087.600538 21426.504905 88.061950
+V 21 -22124.380868 16028.734214 -3991.870920 .010673
+P 22 22974.806239 12805.961687 3765.090288 16.274084
+V 22 -5322.134783 758.468807 31273.578244 .003235
+P 23 625.543748 -25536.229105 -7163.314584 211.513105
+V 23 4173.110329 8408.626625 -30102.871187 .005594
+P 24 -19331.338317 -994.396663 -17945.445824 89.596580
+V 24 17769.151703 -15167.633702 -17891.975758 .028884
+P 25 20749.294621 -4903.919379 -15472.126573 84.351460
+V 25 -12837.724462 15984.855307 -21713.645574 .007976
+P 26 -8396.305036 18265.784847 16724.015268 317.248474
+V 26 -5143.908116 -21482.710086 21092.307928 .055360
+P 27 -6819.965645 -14625.114796 21569.161273 513.752038
+V 27 19689.628401 -17374.913373 -6145.875319 .063075
+P 28 -23132.177013 -12559.768635 4912.627606 46.480801
+V 28 6411.301529 -212.637574 30698.444435 .000831
+P 29 -10672.115674 14509.400294 19732.187511 177.969244
+V 29 -5548.481759 -23863.083011 14883.385672 -.190047
+P 30 8407.322792 17136.503442 -18765.762998 443.594993
+V 30 -22632.649664 -5871.700095 -15601.978951 -.143898
+* 2005 1 20 13 45 .00000000
+P 1 14745.728451 -844.049025 -21883.807241 383.910743
+V 1 5587.199909 27628.710071 2650.957633 .020590
+P 2 -22007.239650 11597.208326 -9493.766277 -42.388104
+V 2 6653.104849 -9933.448961 -28549.771655 .055973
+P 3 14142.155612 -7547.912508 21033.604622 78.205095
+V 3 8954.296253 25644.048893 3426.906169 .030343
+P 4 -19462.252423 317.800577 -18218.462675 440.682558
+V 4 16088.786051 -16533.758026 -17140.322187 -.206798
+P 5 -5783.517403 14854.914109 -21389.564902 73.256312
+V 5 -26214.216399 -6063.981282 3066.839154 .024794
+P 6 6802.950880 25609.784586 -50.269936 -160.077530
+V 6 -3698.848062 689.323899 -31230.812832 .879082
+P 7 -15764.214777 -15309.349616 -14608.061053 61.822402
+V 7 -2955.828825 -19232.485115 22557.994904 -.303068
+P 8 -10986.845278 -10268.021174 21729.309152 -19.098316
+V 8 20998.765109 -18487.966036 1516.440375 -.011718
+P 9 -13040.097828 21589.394228 -8216.324606 -24.940882
+V 9 -9052.954367 4974.982056 29482.832158 -.018088
+P 10 -22384.045725 2954.961383 14161.392218 57.552322
+V 10 -16647.952009 -6844.291714 -24497.667369 .007251
+P 11 11517.501873 -22714.843772 -7216.016385 186.680941
+V 11 9366.619400 -4266.148997 28662.463729 .036905
+P 13 -5627.807304 -25996.931001 -354.524252 -13.765450
+V 13 1976.786072 -56.369547 -32259.983326 .009566
+P 14 14587.505604 15463.192035 -15878.106882 -31.489949
+V 14 3178.839214 20022.255964 22320.316314 -.000914
+P 15 17429.363614 3402.118669 19637.535721 378.144900
+V 15 -18937.165440 16787.119156 13466.847084 .053027
+P 16 25054.557667 1000.230498 8897.760567 1.982348
+V 16 9994.877717 5608.759370 -28975.233641 -.001725
+P 17 -20491.403500 16210.212372 1060.558955 -92.131140
+V 17 -2854.917856 -2011.697771 -32329.661099 .192298
+P 18 14219.211581 16382.130574 15554.902476 -119.128223
+V 18 -19041.656492 -4724.831061 22220.422520 -.037459
+P 19 9349.293542 -17651.003019 17619.174561 -11.914996
+V 19 5587.600658 21521.078923 18668.295657 -.008626
+P 20 4824.568520 -14437.902259 -21838.647424 -90.738629
+V 20 26450.365659 7702.657946 770.001940 .026777
+P 21 4834.560856 15563.595243 20882.900554 88.062700
+V 21 -20810.118968 16705.029111 -8073.225299 .010673
+P 22 22351.326471 12829.321034 6539.310025 16.274319
+V 22 -8536.945883 -168.742901 30287.690666 .003249
+P 23 1051.912096 -24642.353171 -9802.944599 211.513535
+V 23 5357.160987 11406.743052 -28471.441945 .005595
+P 24 -17701.335580 -2456.148843 -19393.559948 89.598898
+V 24 18368.128359 -17292.772433 -14239.561770 .028881
+P 25 19556.909795 -3358.301380 -17284.007204 84.351770
+V 25 -13580.672972 18340.585006 -18489.291359 .007987
+P 26 -8931.251240 16244.923727 18465.939317 317.253523
+V 26 -6771.308425 -23337.205278 17559.992145 .055349
+P 27 -5113.339396 -16209.659659 20839.378051 513.757296
+V 27 18189.039820 -17765.971357 -10052.466715 .063069
+P 28 -22411.603420 -12544.549011 7626.518282 46.480825
+V 28 9598.676363 480.038979 29526.092665 .000847
+P 29 -11246.343516 12310.867508 20901.247225 177.952646
+V 29 -7222.337987 -24904.222388 11060.620413 -.190057
+P 30 6288.714566 16639.153686 -20008.295278 443.581673
+V 30 -24382.033534 -5130.398855 -11971.441482 -.143907
+* 2005 1 20 14 0 .00000000
+P 1 15311.576505 1606.881629 -21454.272412 383.910943
+V 1 6954.284266 26746.422251 6879.916659 .020598
+P 2 -21332.903898 10588.456046 -11974.940061 -42.382870
+V 2 8257.711487 -12493.285348 -26510.138154 .055968
+P 3 15004.424542 -5250.805240 21157.940720 78.207677
+V 3 10180.149176 25319.637721 -666.466848 .030342
+P 4 -17995.201299 -1264.941276 -19601.599690 440.664144
+V 4 16433.686052 -18608.413373 -13550.925607 -.206802
+P 5 -8134.205202 14370.419706 -20932.602840 73.258618
+V 5 -25937.660914 -4697.970482 7074.576984 .024800
+P 6 6424.174260 25528.398723 -2852.472200 -159.998682
+V 6 -4778.962301 -2474.107053 -30950.043040 .879039
+P 7 -16033.567079 -16917.587389 -12455.778196 61.795083
+V 7 -2965.041399 -16468.917619 25198.589911 -.303076
+P 8 -9140.026929 -11982.645553 21675.389678 -19.100063
+V 8 19974.155849 -19549.340248 -2714.962183 -.011721
+P 9 -13742.884453 21944.177701 -5499.409728 -24.942337
+V 9 -6591.456971 2842.132452 30807.117235 -.018091
+P 10 -23773.820652 2415.036226 11842.334697 57.553804
+V 10 -14168.481702 -5195.421703 -26962.935933 .007251
+P 11 12262.352468 -23000.218773 -4581.131209 186.684265
+V 11 7216.398108 -2020.985256 29805.661204 .036915
+P 13 -5407.782619 -25848.679932 -3246.595435 -13.764640
+V 13 2981.320260 3324.789215 -31916.419581 .009579
+P 14 14891.244689 17141.519809 -13738.047697 -31.490175
+V 14 3502.697126 17226.798139 25167.769183 -.000907
+P 15 15717.528854 4999.532320 20675.286828 378.148846
+V 15 -19022.400828 18673.588739 9558.737059 .053029
+P 16 25821.880877 1444.284857 6221.247255 1.982101
+V 16 7009.536847 4313.871754 -30417.982482 -.001721
+P 17 -20623.012017 15929.419078 -1849.918251 -92.113986
+V 17 -114.076310 -4282.544727 -32250.046147 .192325
+P 18 12391.770104 15971.470773 17417.182994 -119.131342
+V 18 -21517.190055 -4337.633337 19104.449458 -.037451
+P 19 9921.681575 -15641.580490 19144.231614 -11.915919
+V 19 7152.209423 23050.702399 15173.860944 -.008620
+P 20 7211.766767 -13810.248094 -21582.925009 -90.736093
+V 20 26509.540575 6229.122102 4904.762791 .026781
+P 21 3033.428911 17081.791356 19977.098828 88.063608
+V 21 -19166.251469 16958.018332 -12028.808567 .010674
+P 22 21438.891236 12788.444716 9201.349786 16.274520
+V 22 -11727.241208 -668.018085 28784.588753 .003264
+P 23 1598.943617 -23492.934396 -12273.514786 211.513755
+V 23 6844.432812 14074.643230 -26351.641600 .005598
+P 24 -16040.177717 -4101.528375 -20500.771585 89.601609
+V 24 18464.323367 -19232.486837 -10327.479848 .028877
+P 25 18318.859258 -1607.933343 -18790.081943 84.351900
+V 25 -13854.726438 20519.137060 -14927.943736 .007999
+P 26 -9618.713586 14081.580568 19875.578338 317.258924
+V 26 -8517.589087 -24642.642442 13720.011610 .055339
+P 27 -3553.163662 -17809.540820 19764.095090 513.763111
+V 27 16447.872157 -17709.234209 -13813.152513 .063063
+P 28 -21406.311449 -12486.111465 10212.526721 46.480924
+V 28 12722.887254 748.317778 27860.746125 .000863
+P 29 -11972.592716 10042.846909 21717.759195 177.935399
+V 29 -8911.342641 -25405.751501 7059.930178 -.190066
+P 30 4031.193473 16221.069989 -20914.622025 443.568435
+V 30 -25710.648451 -4121.501995 -8140.994511 -.143916
+* 2005 1 20 14 15 .00000000
+P 1 15990.293732 3954.765298 -20649.125059 383.912411
+V 1 8081.484829 25346.677163 10985.528113 .020606
+P 2 -20534.567999 9347.970617 -14252.279163 -42.377773
+V 2 9405.710581 -15067.922547 -24026.991781 .055961
+P 3 15968.530950 -3004.857734 20914.257151 78.210795
+V 3 11204.536411 24513.109879 -4739.325392 .030341
+P 4 -16517.992908 -3025.012640 -20650.417902 440.645448
+V 4 16319.015629 -20459.890290 -9721.297625 -.206807
+P 5 -10436.933706 14008.829440 -20119.543989 73.262004
+V 5 -25149.599270 -3346.921167 10968.930726 .024805
+P 6 5932.411625 25170.046382 -5605.103832 -159.919303
+V 6 -6202.734683 -5451.085639 -30130.473280 .878996
+P 7 -16285.923846 -18268.448920 -10085.869539 61.767588
+V 7 -2574.894904 -13528.617953 27387.668908 -.303083
+P 8 -7402.644501 -13774.156541 21241.692792 -19.101704
+V 8 18578.417958 -20186.346892 -6910.461620 -.011724
+P 9 -14232.621263 22089.727528 -2686.920488 -24.943865
+V 9 -4331.692406 334.821916 31602.469652 -.018093
+P 10 -24923.258797 2011.272932 9321.946604 57.555814
+V 10 -11318.987744 -3829.852578 -28965.693205 .007250
+P 11 12823.021134 -23069.681721 -1866.547175 186.687664
+V 11 5284.728165 521.728058 30430.840801 .036925
+P 13 -5079.387134 -25404.581716 -6083.088377 -13.763613
+V 13 4378.018034 6502.467260 -31026.778458 .009591
+P 14 15205.173270 18556.930056 -11360.988707 -31.490215
+V 14 3399.895235 14195.384455 27579.463415 -.000901
+P 15 14019.481595 6755.311582 21352.742072 378.152490
+V 15 -18636.546254 20291.886745 5471.880141 .053032
+P 16 26309.034949 1787.321038 3438.141024 1.981966
+V 16 3783.196474 3371.568862 -31340.454324 -.001717
+P 17 -20521.126128 15430.672179 -4726.915117 -92.097053
+V 17 2320.937117 -6842.304300 -31586.357952 .192352
+P 18 10356.464713 15612.000361 18983.856527 -119.134911
+V 18 -23648.164076 -3596.127375 15660.429182 -.037442
+P 19 10639.008936 -13517.084891 20342.741447 -11.916631
+V 19 8793.926669 24073.973759 11421.961324 -.008613
+P 20 9580.153684 -13318.208027 -20958.272347 -90.733442
+V 20 26031.584424 4704.030370 8956.826044 .026784
+P 21 1392.207327 18602.028013 18723.605662 88.064508
+V 21 -17270.258394 16744.566751 -15788.126926 .010676
+P 22 20244.044815 12721.834631 11705.839984 16.274849
+V 22 -14796.922163 -742.674680 26791.879830 .003279
+P 23 2291.010257 -22120.924142 -14532.720032 211.513945
+V 23 8567.994659 16342.819584 -23781.421983 .005604
+P 24 -14392.065133 -5909.682083 -21246.788301 89.604616
+V 24 18084.191272 -20895.336632 -6224.930839 .028874
+P 25 17076.469802 327.075038 -19962.819327 84.352151
+V 25 -13682.354487 22429.007308 -11092.872765 .008011
+P 26 -10465.114029 11826.558727 20928.509349 317.264157
+V 26 -10287.015602 -25371.783444 9645.755505 .055329
+P 27 -2157.556449 -19382.939283 18359.262192 513.768917
+V 27 14545.736060 -17173.630845 -17365.504096 .063058
+P 28 -20126.132967 -12422.239565 12627.508594 46.480932
+V 28 15692.273643 604.247971 25730.841189 .000879
+P 29 -12848.066024 7754.030373 22168.692560 177.918844
+V 29 -10523.101193 -25367.946761 2947.879855 -.190076
+P 30 1674.832880 15903.150622 -21469.560443 443.555648
+V 30 -26571.940645 -2917.283039 -4173.494058 -.143925
+* 2005 1 20 14 30 .00000000
+P 1 16756.690360 6155.426952 -19482.764009 383.914414
+V 1 8890.660600 23485.567750 14895.043464 .020615
+P 2 -19653.850988 7878.526725 -16287.822455 -42.372840
+V 2 10088.480625 -17566.038865 -21144.831642 .055954
+P 3 17013.008020 -851.613880 20307.614935 78.213318
+V 3 11954.838898 23268.120933 -8720.505784 .030340
+P 4 -15070.520059 -4938.511220 -21346.137494 440.626389
+V 4 15780.142032 -22004.661937 -5715.260390 -.206812
+P 5 -12646.237433 13765.009547 -18963.583427 73.263990
+V 5 -23865.584795 -2094.533188 14683.764843 .024809
+P 6 5298.832948 24555.271244 -8260.150692 -159.840373
+V 6 -7920.994598 -8159.488839 -28784.338618 .878952
+P 7 -16484.725089 -19350.286380 -7540.577487 61.740124
+V 7 -1774.575440 -10506.581939 29091.075093 -.303091
+P 8 -5804.790515 -15601.841303 20434.846495 -19.102892
+V 8 16887.064092 -20345.707541 -10994.673364 -.011727
+P 9 -14530.873412 21995.140759 172.533081 -24.945285
+V 9 -2347.660618 -2482.164900 31848.094028 -.018096
+P 10 -25802.442983 1715.309737 6643.350685 57.555799
+V 10 -8176.649845 -2808.859658 -30474.022070 .007249
+P 11 13221.986531 -22899.379265 880.523648 186.691036
+V 11 3632.044530 3295.043304 30526.454291 .036934
+P 13 -4609.468911 -24687.007406 -8815.497150 -13.762691
+V 13 6116.541709 9388.145160 -29606.816795 .009602
+P 14 15489.714091 19692.528275 -8788.058636 -31.490344
+V 14 2847.336683 11025.388075 29514.285910 -.000894
+P 15 12375.804164 8641.551080 21657.003832 378.156891
+V 15 -17822.760727 21559.869190 1277.729885 .053035
+P 16 26498.315972 2062.895360 596.081715 1.981940
+V 16 405.715532 2819.616056 -31726.029600 -.001714
+P 17 -20216.535395 14691.629355 -7518.238449 -92.080120
+V 17 4380.116208 -9607.519744 -30348.927428 .192379
+P 18 8147.556303 15333.014185 20227.922766 -119.137988
+V 18 -25364.386570 -2560.149743 11945.313989 -.037434
+P 19 11504.236877 -11323.974641 21194.363499 -11.917406
+V 19 10423.896966 24574.205610 7476.126283 -.008607
+P 20 11881.463325 -12962.364669 -19975.246412 -90.730881
+V 20 25021.277403 3217.453049 12857.299448 .026784
+P 21 -70.222554 20081.023668 17143.164828 88.065424
+V 21 -15207.915266 16038.748263 -19283.286183 .010679
+P 22 18781.846841 12666.880823 14010.261974 16.275126
+V 22 -17653.440350 -413.987945 24345.202002 .003295
+P 23 3145.939137 -20564.870296 -16542.016227 211.514793
+V 23 10449.824826 18156.779179 -20806.272739 .005610
+P 24 -12797.993852 -7851.884622 -21617.743529 89.607165
+V 24 17272.242499 -22198.441522 -2005.280317 .028870
+P 25 15868.239087 2418.711687 -20780.658204 84.352526
+V 25 -13103.737675 23986.714380 -7053.261567 .008022
+P 26 -11468.137851 9532.130125 21607.100885 317.269195
+V 26 -11981.887162 -25519.291823 5414.450559 .055318
+P 27 -937.223910 -20885.975966 16646.379973 513.774480
+V 27 12567.238430 -16144.667422 -20648.753887 .063052
+P 28 -18588.967218 -12388.864368 14831.198092 46.481121
+V 28 18419.745807 76.796235 23171.824653 .000895
+P 29 -13861.720397 5492.254704 22247.070748 177.901348
+V 29 -11967.349250 -24809.444065 -1207.718840 -.190086
+P 30 -736.782419 15699.430681 -21663.688249 443.542472
+V 30 -26934.669422 -1597.493554 -133.946957 -.143933
+* 2005 1 20 14 45 .00000000
+P 1 17579.093986 8170.470647 -17975.971705 383.915917
+V 1 9316.395577 21234.986351 18539.578353 .020623
+P 2 -18732.332916 6191.083309 -18047.884957 -42.367716
+V 2 10315.449546 -19897.646847 -17914.034811 .055948
+P 3 18110.297998 1171.987684 19349.386664 78.217153
+V 3 12368.778639 21642.990556 -12541.123133 .030338
+P 4 -13688.777544 -6974.410747 -21675.893816 440.607880
+V 4 14868.044510 -23168.470992 -1600.272721 -.206817
+P 5 -14718.820504 13626.467102 -17483.765839 73.267020
+V 5 -22118.154426 -1020.099134 18155.402752 .024814
+P 6 4499.684215 23711.557399 -10771.134047 -159.761415
+V 6 -9870.467913 -10527.706800 -26933.494151 .878909
+P 7 -16593.224701 -20160.046203 -4864.801269 61.712869
+V 7 -570.746410 -7498.180341 30283.960065 -.303098
+P 8 -4369.275266 -17420.958721 19268.213991 -19.104432
+V 8 14985.859837 -19991.531503 -14893.566196 -.011730
+P 9 -14665.345724 21636.010727 3028.903481 -24.947272
+V 9 -701.311209 -5529.662845 31532.972671 -.018099
+P 10 -26388.886754 1493.945126 3852.174343 57.556421
+V 10 -4828.911709 -2178.389089 -31464.233747 .007248
+P 11 13486.596497 -22471.962898 3612.257570 186.694546
+V 11 2305.765478 6221.810651 30090.484935 .036943
+P 13 -3970.108944 -23725.801685 -11397.136877 -13.761768
+V 13 8131.315774 11904.764991 -27681.183283 .009613
+P 14 15704.053659 20540.368645 -6063.714666 -31.490459
+V 14 1840.748052 7817.663707 30939.485408 -.000886
+P 15 10822.464780 10623.443538 21581.740138 378.161545
+V 15 -16640.081518 22406.850011 -2949.490212 .053039
+P 16 26380.402374 2307.197840 -2256.201707 1.981792
+V 16 -3027.061362 2678.578401 -31567.169582 -.001711
+P 17 -19745.599324 13697.979159 -10173.170892 -92.062968
+V 17 6010.132871 -12483.809656 -28560.174418 .192406
+P 18 5805.034067 15157.860456 21127.727790 -119.141272
+V 18 -26609.156124 -1301.582787 8020.815183 -.037428
+P 19 12512.262410 -9109.390498 21684.624580 -11.918151
+V 19 11952.356443 24552.952373 3403.038132 -.008601
+P 20 14068.690855 -12735.273279 -18650.503424 -90.728673
+V 20 23501.789354 1857.114444 16539.722386 .026785
+P 21 -1342.946391 21473.992184 15262.461650 88.066427
+V 21 -13069.900129 14833.223933 -22450.376113 .010682
+P 22 17075.398450 12658.286330 16075.639870 16.275468
+V 22 -20211.188695 279.830781 21487.519421 .003311
+P 23 4174.151782 -18867.476275 -18267.260239 211.515512
+V 23 12403.923034 19478.930654 -17478.350113 .005613
+P 24 -11294.207568 -9892.469991 -21606.507235 89.610096
+V 24 16089.206922 -23070.996603 2255.387023 .028866
+P 25 14728.312411 4631.947334 -21228.477664 84.354872
+V 25 -12175.069573 25120.362573 -2882.794065 .008034
+P 26 -12616.748584 7250.062635 21900.775302 317.274451
+V 26 -13506.787307 -25101.602465 1105.314206 .055307
+P 27 104.853337 -22274.253517 14652.307115 513.780188
+V 27 10598.923599 -14625.442807 -23604.771351 .063046
+P 28 -16820.230825 -12418.591309 16786.815363 46.481422
+V 28 20825.828030 -789.347421 20225.622269 .000911
+P 29 -14994.613429 3302.882823 21952.040005 177.884185
+V 29 -13159.363420 -23766.389781 -5338.774183 -.190096
+P 30 -3157.990271 15616.544884 -21493.496801 443.529684
+V 30 -26784.057068 -246.308916 3911.391636 -.143942
+* 2005 1 20 15 0 .00000000
+P 1 18420.621577 9968.574144 -16155.507277 383.918316
+V 1 9308.715655 18679.701379 21855.407684 .020632
+P 2 -17809.956274 4304.513493 -19503.546117 -42.362838
+V 2 10113.413416 -21977.399790 -14389.946975 .055942
+P 3 19227.799156 3034.827412 18056.996533 78.220425
+V 3 12396.919875 19708.266261 -16135.774176 .030336
+P 4 -12403.540544 -9095.532364 -21633.018099 440.589090
+V 4 13647.361741 -23889.317549 2553.620980 -.206821
+P 5 -16615.042489 13573.891137 -15704.715883 73.269718
+V 5 -19955.776387 -195.326313 21323.699713 .024818
+P 6 3517.452036 22672.255105 -13093.965183 -159.682376
+V 6 -11976.197342 -12497.412043 -24609.131955 .878866
+P 7 -16576.048995 -20703.138317 -2105.252847 61.685591
+V 7 1012.886811 -4595.530918 30950.889623 -.303105
+P 8 -3110.858658 -19184.387482 17761.702796 -19.105782
+V 8 12967.322389 -19107.040860 -18535.997615 -.011732
+P 9 -14668.673259 20995.600020 5831.618133 -24.948827
+V 9 560.152127 -8716.929532 30656.551561 -.018102
+P 10 -26668.317429 1310.597087 995.796462 57.558014
+V 10 -1370.305744 -1967.391420 -31921.128811 .007247
+P 11 13647.810215 -21777.378542 6281.081347 186.697857
+V 11 1338.469609 9217.597266 29130.508693 .036951
+P 13 -3139.883214 -22557.122624 -13783.925147 -13.760752
+V 13 10344.046160 13989.507254 -25282.977180 .009623
+P 14 15807.852573 21101.595742 -3234.964855 -31.490552
+V 14 394.914906 4672.726906 31831.201986 -.000878
+P 15 9389.489976 12660.451487 21127.371276 378.165757
+V 15 -15161.063262 22776.642868 -7134.196400 .053043
+P 16 25954.736451 2557.461337 -5069.718194 1.981737
+V 16 -6416.826919 2950.982857 -30865.608253 -.001708
+P 17 -19148.639017 12444.247866 -12643.540821 -92.045711
+V 17 7176.583627 -15369.862833 -26254.141772 .192433
+P 18 3373.300227 15102.978959 21667.351962 -119.145077
+V 18 -27341.423327 98.434152 3952.491202 -.037420
+P 19 13649.994742 -6919.515794 21805.155039 -11.918685
+V 19 13292.143548 24029.853579 -728.531145 -.008596
+P 20 16097.717232 -12621.830618 -17006.530323 -90.726160
+V 20 21513.891707 704.913177 19941.163621 .026787
+P 21 -2423.295350 22736.350271 13113.702851 88.067343
+V 21 -10948.147276 13139.882586 -25230.832003 .010685
+P 22 15155.075374 12726.612818 17867.164640 16.275900
+V 22 -22394.603677 1285.287065 18268.325133 .003325
+P 23 5378.097439 -17074.019636 -19679.267140 211.516222
+V 23 14339.711811 20289.808913 -13855.512957 .005615
+P 24 -9910.847095 -11990.059531 -21212.861706 89.612934
+V 24 14609.498403 -23457.319880 6479.812254 .028862
+P 25 13685.145059 6925.921963 -21297.932689 84.354811
+V 25 -10966.144684 25772.746146 1341.909175 .008045
+P 26 -13891.578819 5029.702324 21806.105744 317.279618
+V 26 -14772.653641 -24155.843496 -3202.261170 .055296
+P 27 973.449962 -23504.463535 12408.975933 513.785720
+V 27 8726.038330 -12637.076221 -26179.122442 .063041
+P 28 -14852.045380 -12539.359507 18461.623662 46.481540
+V 28 22841.431723 -1935.509775 16940.053095 .000925
+P 29 -16220.547726 1227.288695 21288.851985 177.866852
+V 29 -14023.153288 -22290.992172 -9377.857311 -.190106
+P 30 -5542.563333 15653.473426 -20961.462038 443.516658
+V 30 -26122.369473 1050.890379 7895.941715 -.143951
+* 2005 1 20 15 15 .00000000
+P 1 19240.667538 11526.497153 -14053.588733 383.917849
+V 1 8835.157479 15913.940241 24785.130011 .020641
+P 2 -16923.516711 2245.045718 -20631.055378 -42.357835
+V 2 9525.242180 -23727.685209 -10631.956195 .055938
+P 3 20329.114336 4712.578926 16453.556885 78.221914
+V 3 12004.634661 17543.851122 -19443.631283 .030335
+P 4 -11239.244031 -11259.767125 -21217.219414 440.570340
+V 4 12193.889925 -24120.032216 6674.932522 -.206826
+P 5 -18300.282006 13581.969295 -13656.272565 73.271455
+V 5 -17441.192247 318.588773 24133.100001 .024823
+P 6 2341.786662 21475.279718 -15187.765238 -159.603369
+V 6 -14154.473380 -14025.811968 -21851.291171 .878823
+P 7 -16400.685893 -20992.988465 690.387622 61.657996
+V 7 2936.672422 -1884.106154 31085.752342 -.303112
+P 8 -2035.812610 -20844.394797 15941.436357 -19.106716
+V 8 10926.902110 -17695.513674 -21855.225811 -.011734
+P 9 -14576.993218 20065.733209 8530.543998 -24.950498
+V 9 1406.409729 -11945.050636 29229.201199 -.018105
+P 10 -26635.162027 1126.883869 -1877.423946 57.558620
+V 10 2100.954683 -2186.794160 -31838.140430 .007245
+P 11 13738.803142 -20813.378795 8840.530858 186.701201
+V 11 746.679940 12193.909653 27663.557571 .036959
+P 13 -2104.875468 -21222.055392 -15935.117828 -13.759736
+V 13 12666.722498 15596.022267 -22453.177945 .009632
+P 14 15762.943381 21386.242785 -350.550132 -31.490685
+V 14 -1456.829438 1686.966956 32174.834944 -.000870
+P 15 8099.876742 14707.728980 20301.125548 378.172191
+V 15 -13468.828415 22630.052720 -11200.936809 .053046
+P 16 25229.582719 2850.326523 -7796.052039 1.981364
+V 16 -9666.447322 3621.178794 -29632.390156 -.001704
+P 17 -18468.165650 10934.229634 -14884.733482 -92.028352
+V 17 7865.352424 -18161.777774 -23475.659682 .192461
+P 18 899.684579 15177.207754 21836.912113 -119.148202
+V 18 -27537.398240 1552.665416 -191.244361 -.037410
+P 19 14896.744472 -4797.980875 21553.827879 -11.919624
+V 19 14362.117104 23041.811511 -4848.811519 -.008591
+P 20 17928.832992 -12599.948266 -15071.279343 -90.723674
+V 20 19114.509577 -166.342825 23003.274357 .026788
+P 21 -3316.790633 23825.447380 10734.076451 88.068084
+V 21 -8932.098361 10989.693561 -27572.731579 .010689
+P 22 13057.498939 12897.000809 19354.742967 16.276298
+V 22 -24140.870387 2535.816505 14742.768980 .003339
+P 23 6752.000530 -15230.691726 -20754.277304 211.516790
+V 23 16165.593358 20588.601007 -10000.287154 .005616
+P 24 -8670.855663 -14099.037670 -20443.535438 89.615733
+V 24 12918.085049 -23319.288030 10591.163232 .028857
+P 25 12760.410116 9255.384182 -20987.643995 84.354999
+V 25 -9557.336500 25903.842188 5542.958159 .008057
+P 26 -15265.672116 2916.192319 21326.753527 317.284382
+V 26 -15700.481263 -22737.896465 -7430.428990 .055285
+P 27 1680.830442 -24536.003677 9953.009358 513.790964
+V 27 7029.225021 -10218.490878 -28322.197958 .063035
+P 28 -12722.190897 -12773.280124 19827.431432 46.481678
+V 28 24410.271314 -3291.262151 13368.191703 .000938
+P 29 -17506.988842 -698.502375 20268.762604 177.849398
+V 29 -14494.332697 -20449.527764 -13259.119756 -.190115
+P 30 -7845.246975 15801.580962 -20076.031440 443.503518
+V 30 -24968.904678 2210.795850 11753.740886 -.143959
+* 2005 1 20 15 30 .00000000
+P 1 19996.545713 12829.765347 -11707.277170 383.918730
+V 1 7882.109675 13037.627325 27278.676713 .020651
+P 2 -16105.295589 45.439828 -21412.154122 -42.352739
+V 2 8608.033538 -25081.406149 -6702.562590 .055933
+P 3 21375.449735 6188.409539 14567.411786 78.224739
+V 3 11173.466697 15235.818449 -22409.412183 .030334
+P 4 -10213.109024 -13421.507220 -20434.660286 440.551596
+V 4 10591.614473 -23830.324226 10691.948693 -.206830
+P 5 -19746.125588 13620.452063 -11373.029870 73.272287
+V 5 -14649.202103 473.517723 26533.659505 .024827
+P 6 970.142552 20161.635091 -17015.631775 -159.524215
+V 6 -16316.158488 -15087.282027 -18708.166158 .878780
+P 7 -16038.848436 -21050.300460 3474.300241 61.630911
+V 7 5146.695635 560.302160 30691.498006 -.303119
+P 8 -1141.835234 -22354.452552 13839.292424 -19.108772
+V 8 8959.012739 -15780.388355 -24790.351044 -.011736
+P 9 -14428.353554 18847.362296 11076.979653 -24.951540
+V 9 1825.510494 -15110.786138 27272.395994 -.018107
+P 10 -26292.720563 904.267322 -4718.926861 57.559605
+V 10 5486.494651 -2829.141625 -31217.364320 .007244
+P 11 13793.491845 -19585.736514 11246.088665 186.704683
+V 11 530.306005 15061.585347 25715.788057 .036966
+P 13 -859.402273 -19765.052777 -17813.988127 -13.758756
+V 13 15004.989799 16696.035758 -19239.956113 .009640
+P 14 15534.949608 21412.696072 2539.899394 -31.490952
+V 14 -3663.837959 -1050.960102 31965.245245 -.000860
+P 15 6968.792357 16717.738117 19116.958442 378.175576
+V 15 -11653.645720 21946.695198 -15075.927838 .053050
+P 16 24221.759095 3220.226265 -10388.196571 1.981193
+V 16 -12683.573015 4655.908124 -27887.749019 -.001700
+P 17 -17747.028968 9181.019029 -16856.611544 -92.011331
+V 17 8083.018335 -20757.520873 -20279.176297 .192488
+P 18 -1567.158111 15381.387009 21632.771112 -119.151472
+V 18 -27191.536971 2971.201687 -4340.187186 -.037402
+P 19 16224.911540 -2784.370448 20934.798810 -11.920432
+V 19 15090.357169 21641.533425 -8888.142698 -.008584
+P 20 19528.103802 -12641.505465 -12877.710421 -90.721457
+V 20 16374.663818 -695.862893 25673.280615 .026790
+P 21 -4036.752058 24702.246172 8165.099482 88.069157
+V 21 -7105.013088 8431.756522 -29431.983600 .010695
+P 22 10824.284992 13188.111002 20513.464851 16.276512
+V 22 -25402.139082 3954.468696 10970.726700 .003353
+P 23 8281.930108 -13382.921919 -21474.327841 211.517396
+V 23 17792.525375 20392.963746 -5978.778860 .005616
+P 24 -7589.187635 -16171.214857 -19312.092155 89.617830
+V 24 11106.901002 -22638.043783 14514.644586 .028853
+P 25 11968.200616 11572.322679 -20303.235250 84.355557
+V 25 -8036.103859 25492.568668 9642.908602 .008069
+P 26 -16705.535756 948.900431 20473.256947 317.289324
+V 26 -16224.504278 -20919.720637 -11504.461642 .055275
+P 27 2246.187178 -25332.544766 7325.234144 513.796311
+V 27 5581.262889 -7425.514897 -29990.386378 .063030
+P 28 -10472.860850 -13135.694521 20861.034654 46.481728
+V 28 25490.846002 -4777.064457 9567.678274 .000952
+P 29 -18816.223746 -2444.972023 18908.849486 177.832471
+V 29 -14522.579380 -18319.871512 -16919.185203 -.190125
+P 30 -10023.269212 16044.949060 -18851.525419 443.490740
+V 30 -23359.383576 3155.397265 15420.402843 -.143968
+* 2005 1 20 15 45 .00000000
+P 1 20645.217496 13873.006279 -9157.777873 383.920292
+V 1 6455.380326 10152.437929 29294.147411 .020662
+P 2 -15381.880740 -2256.069872 -21834.314043 -42.347742
+V 2 7430.790216 -25984.365232 -2666.452856 .055929
+P 3 22327.107740 7453.384904 12431.599332 78.227236
+V 3 9901.853516 12873.044109 -24984.214941 .030332
+P 4 -9334.553141 -15533.234293 -19297.919824 440.532986
+V 4 8929.380178 -23008.209989 14534.008577 -.206835
+P 5 -20931.334766 13655.426550 -8893.787722 73.274823
+V 5 -11663.964328 236.483002 28482.012274 .024833
+P 6 -591.892839 18773.820837 -18545.334448 -159.445314
+V 6 -18370.267004 -15674.303010 -15235.224869 .878737
+P 7 -15467.663674 -20902.065075 6199.323717 61.603619
+V 7 7576.959612 2674.163551 29779.735235 -.303127
+P 8 -418.322470 -23671.024300 11492.316646 -19.110261
+V 8 7153.087660 -13404.512089 -27287.639328 -.011738
+P 9 -14261.023621 17350.767217 13424.655961 -24.953115
+V 9 1824.512588 -18110.804673 24818.635053 -.018111
+P 10 -25653.022159 605.698297 -7480.728123 57.560640
+V 10 8691.286437 -3868.908453 -30069.479753 .007242
+P 11 13845.039173 -18108.150798 13455.983273 186.708021
+V 11 672.766052 17734.212931 23321.963549 .036972
+P 13 593.577304 -18232.261600 -19388.438698 -13.757857
+V 13 17261.763309 17280.271651 -15697.876689 .009647
+P 14 15094.763038 21206.848123 5386.718862 -31.490988
+V 14 -6160.054867 -3463.420149 31206.792070 -.000849
+P 15 6003.098122 18641.995414 17595.333133 378.179879
+V 15 -9809.179577 20726.049670 -18688.591756 .053054
+P 16 22956.049497 3697.852738 -12801.369667 1.981115
+V 16 -15384.084717 6005.569062 -25660.824798 -.001695
+P 17 -17026.572789 7206.645673 -18524.317408 -91.993770
+V 17 7856.294674 -23061.271977 -16727.309774 .192515
+P 18 -3978.909732 15708.278106 21057.648750 -119.155176
+V 18 -26316.860396 4265.022234 -8423.469047 -.037393
+P 19 17600.947058 -912.888856 19958.446330 -11.921179
+V 19 15417.031514 19895.490506 -12778.085636 -.008578
+P 20 20868.525998 -12713.545840 -10463.247629 -90.719159
+V 20 13376.875706 -837.349081 27904.898584 .026793
+P 21 -4603.583493 25332.882077 5451.865234 88.070247
+V 21 -5540.505237 5531.571598 -30773.364977 .010699
+P 22 8500.618086 13611.324506 21323.985341 16.276685
+V 22 -26147.181058 5456.958821 7015.824801 .003369
+P 23 9946.186928 -11573.749592 -21827.524651 211.517980
+V 23 19137.481682 19738.149943 -1859.555677 .005615
+P 24 -6672.354872 -18157.608153 -17838.676370 89.619440
+V 24 9270.959801 -21414.892663 18179.067767 .028849
+P 25 11314.561269 13827.719464 -19257.215940 84.355748
+V 25 -6493.189786 24537.721863 13566.466755 .008081
+P 26 -18172.451730 -839.884996 19262.686670 317.294286
+V 26 -16294.736190 -18786.095708 -15354.136959 .055264
+P 27 2694.792416 -25863.485586 4570.087772 513.801672
+V 27 4443.989619 -4329.283966 -31147.256436 .063025
+P 28 -8149.260877 -13634.486056 21544.594707 46.481642
+V 28 26057.922109 -6307.242494 5599.975197 .000967
+P 29 -20106.719134 -3990.026406 17231.750308 177.815275
+V 29 -14073.604400 -15988.632205 -20298.015288 -.190134
+P 30 -12037.769290 16360.992592 -17307.951887 443.477638
+V 30 -21344.754824 3815.047647 18834.087201 -.143976
+* 2005 1 20 16 0 .00000000
+P 1 21145.035629 14659.928057 -6449.674518 383.923146
+V 1 4579.979085 7357.833088 30798.459384 .020672
+P 2 -14773.214524 -4617.025562 -21890.892669 -42.342597
+V 2 6071.706806 -26397.181261 1410.414926 .055924
+P 3 23145.015300 8506.567342 10083.245106 78.228710
+V 3 8205.193447 10543.789252 -27126.212365 .030331
+P 4 -8604.912501 -17547.205591 -17825.840110 440.514151
+V 4 7297.323866 -21660.748212 18132.816160 -.206839
+P 5 -21842.551683 13650.752848 -6260.919345 73.278220
+V 5 -8575.902751 -408.825885 29942.257472 .024837
+P 6 -2330.598317 17354.188391 -19749.923457 -159.366402
+V 6 -20227.649304 -15797.656473 -11494.156520 .878694
+P 7 -14670.646693 -20580.359983 8819.712262 61.575689
+V 7 10151.961442 4408.261374 28370.217729 -.303134
+P 8 153.013257 -24755.246881 8942.023998 -19.112216
+V 8 5589.841617 -10628.558477 -29301.684155 -.011739
+P 9 -14111.785077 15595.373009 15530.705169 -24.954318
+V 9 1429.333935 -20845.913022 21910.914156 -.018114
+P 10 -24736.370371 197.204013 -10116.184454 57.561464
+V 10 11627.027279 -5263.471650 -28413.565527 .007240
+P 11 13924.400854 -16401.849222 15431.933957 186.711350
+V 11 1141.781631 20131.438741 20524.765091 .036979
+P 13 2242.383291 -16669.798100 -20631.537674 -13.756941
+V 13 19340.952245 17358.660025 -11887.007028 .009654
+P 14 14419.822190 20800.973894 8141.059011 -31.491325
+V 14 -8866.513915 -5486.646927 29913.206241 -.000838
+P 15 5201.219414 20432.876088 15762.864266 378.185502
+V 15 -8028.572915 18987.686277 -21973.049618 .053057
+P 16 21464.318799 4308.767976 -14993.796529 1.980840
+V 16 -17695.239718 7606.130167 -22989.219885 -.001690
+P 17 -16344.883107 5041.331178 -19858.935223 -91.976806
+V 17 7230.544115 -24987.437368 -12889.191223 .192542
+P 18 -6289.248072 16142.804737 20120.628872 -119.158267
+V 18 -24944.580679 5349.565528 -12370.734073 -.037384
+P 19 18986.554034 788.767359 18641.212090 -11.922106
+V 19 15296.821523 17881.366101 -16452.524897 -.008571
+P 20 21930.927790 -12779.672887 -7869.157317 -90.716747
+V 20 10212.127772 -560.923120 29659.156517 .026797
+P 21 -5043.762737 25690.034270 2642.205490 88.071191
+V 21 -4299.464283 2368.592423 -31571.366492 .010703
+P 22 6133.703897 14170.230050 21772.817004 16.276835
+V 22 -26362.432153 6954.973567 2944.434037 .003386
+P 23 11715.991998 -9842.304385 -21808.212996 211.518615
+V 23 20126.670579 18675.484837 2287.486750 .005614
+P 24 -5918.329762 -20010.264300 -16049.621242 89.621925
+V 24 7504.345119 -19671.346295 21518.333080 .028846
+P 25 10797.369399 15973.348772 -17868.713454 84.355775
+V 25 -5018.693339 23058.050351 17242.126022 .008094
+P 26 -19623.984382 -2425.946286 17718.185725 317.299320
+V 26 -15878.789487 -16430.953969 -18914.913072 .055253
+P 27 3056.886474 -26105.232879 1734.920140 513.807014
+V 27 3665.543977 -1013.959403 -31764.704709 .063020
+P 28 -5798.098552 -14269.671360 21865.946827 46.481925
+V 28 26103.463840 -7793.205268 1529.567942 .000982
+P 29 -21334.632450 -5319.641626 15265.324426 177.798593
+V 29 -13130.566615 -13547.985392 -23339.748535 -.190144
+P 30 -13855.093421 16721.340635 -15470.733289 443.464604
+V 30 -18989.444390 4131.258543 21936.473667 -.143985
+* 2005 1 20 16 15 .00000000
+P 1 21457.433758 15202.946384 -3630.113555 383.923983
+V 1 2299.136087 4747.236683 31767.805063 .020682
+P 2 -14291.900123 -6992.146202 -21581.207084 -42.337553
+V 2 4615.160619 -26296.683814 5461.713506 .055919
+P 3 23792.229171 9354.809272 7562.899537 78.230976
+V 3 6115.269048 8332.363054 -28801.204052 .030331
+P 4 -8017.490211 -19417.173144 -16043.253904 440.495546
+V 4 5783.208745 -19814.033206 21423.760369 -.206843
+P 5 -22474.712830 13569.608521 -3519.663313 73.280305
+V 5 -5478.333378 -1461.175959 30886.741880 .024842
+P 6 -4224.448563 15943.313473 -20608.236551 -159.287111
+V 6 -21804.622165 -15485.865914 -7551.673920 .878651
+P 7 -13638.429093 -20120.990661 11291.842304 61.548301
+V 7 12789.554120 5729.168352 26490.246907 -.303141
+P 8 597.203661 -25574.434608 6233.604439 -19.113254
+V 8 4337.909257 -7528.681468 -30796.367467 -.011739
+P 9 -14014.271526 13609.187887 17356.576967 -24.954343
+V 9 683.763262 -23225.265265 18602.034310 -.018118
+P 10 -23570.594761 -350.640439 -12580.737303 57.562270
+V 10 14215.270998 -6954.705366 -26276.814147 .007237
+P 11 14058.972584 -14494.902686 17139.826529 186.714840
+V 11 1890.807744 22182.024672 17373.949422 .036985
+P 13 4066.871263 -15122.037095 -21521.970569 -13.756152
+V 13 21151.154587 16959.823972 -7871.941746 .009662
+P 14 13495.142890 20232.374831 10755.718001 -31.491405
+V 14 -11694.330594 -7073.039216 28107.306243 -.000824
+P 15 4553.369263 22045.400669 13651.831130 378.190655
+V 15 -6400.537839 16770.646167 -24869.522918 .053061
+P 16 19784.362844 5072.213433 -16927.445441 1.980605
+V 16 -19558.393576 9381.625143 -19918.398600 -.001684
+P 17 -15735.207944 2722.407269 -20837.997258 -91.959870
+V 17 6267.467236 -26464.136725 -8838.676364 .192570
+P 18 -8455.441223 16662.610636 18837.059021 -119.161732
+V 18 -23123.035963 6148.172296 -16113.348266 -.037375
+P 19 20340.083111 2300.287602 17005.342961 -11.922724
+V 19 14700.815871 15685.084121 -19848.748367 -.008564
+P 20 22704.581096 -12801.591208 -5139.857090 -90.714444
+V 20 6976.492204 145.573222 30905.107019 .026802
+P 21 -5388.577221 25754.047781 -214.213435 88.072164
+V 21 -3427.508033 -966.837785 -31810.813129 .010707
+P 22 3771.156498 14860.415689 21852.530811 16.277182
+V 22 -26052.393487 8359.611798 -1175.357341 .003403
+P 23 13556.449476 -8222.450500 -21417.046013 211.519311
+V 23 20698.395058 17270.256541 6392.256865 .005611
+P 24 -5316.807785 -21684.048087 -13976.928713 89.623583
+V 24 5896.260696 -17448.311611 24472.778936 .028843
+P 25 10406.568146 17963.543706 -16163.062987 84.357093
+V 25 -3698.200296 21091.468198 20603.681301 .008106
+P 26 -21015.617716 -3793.785671 15868.413754 317.304136
+V 26 -14962.934354 -13953.478320 -22128.880388 .055242
+P 27 3366.337605 -26042.246818 -1130.804492 513.812514
+V 27 3278.071337 2426.190561 -31824.014958 .063015
+P 28 -3466.015686 -15033.288177 21818.834068 46.481988
+V 28 25636.974813 -9146.800254 -2576.892004 .000997
+P 29 -22455.423319 -6428.214285 13042.240284 177.781589
+V 29 -11694.882590 -11092.305239 -25993.510171 -.190154
+P 30 -15447.909755 17092.952887 -13370.346121 443.451856
+V 30 -16369.098898 4059.121778 24673.730542 -.143994
+* 2005 1 20 16 30 .00000000
+P 1 21548.495244 15522.479634 -747.956060 383.927959
+V 1 -327.388880 2404.505534 32187.917721 .020692
+P 2 -13942.788232 -9334.828330 -20910.527062 -42.332373
+V 2 3148.506778 -25676.747043 9421.635111 .055913
+P 3 24235.361550 10012.254490 4913.831944 78.233063
+V 3 3679.062040 6315.987260 -29983.027702 .030331
+P 4 -7557.933611 -21100.068137 -13980.594380 440.476860
+V 4 4468.809583 -17512.427501 24347.210680 -.206848
+P 5 -22831.151307 13376.081227 -717.350818 73.282472
+V 5 -2463.938458 -2901.603923 31296.712891 .024846
+P 6 -6244.762148 14578.452074 -21105.292831 -159.208012
+V 6 -23026.388587 -14783.905865 -3478.201070 .878607
+P 7 -12369.221194 -19562.025502 13574.862603 61.520697
+V 7 15403.983684 6620.119525 24174.015685 -.303148
+P 8 944.805489 -26103.341773 3415.052297 -19.114075
+V 8 3451.013946 -4193.511332 -31745.588910 -.011740
+P 9 -13997.442071 11427.870642 18868.872691 -24.955501
+V 9 -352.491007 -25170.290786 14953.449613 -.018123
+P 10 -22190.035745 -1061.410130 -14832.626486 57.562029
+V 10 16390.206602 -8871.143148 -23694.146764 .007235
+P 11 14271.392138 -12421.280952 18550.307294 186.718449
+V 11 2861.034752 23826.533728 13925.377068 .036990
+P 13 6039.014893 -13629.979150 -22044.401179 -13.755184
+V 13 22609.186389 16129.865003 -3720.757674 .009669
+P 14 12314.061675 19541.844115 13185.940896 -31.491448
+V 14 -14548.070831 -8192.825338 25820.565161 -.000811
+P 15 4042.116788 23438.928337 11299.570489 378.196590
+V 15 -5005.630655 14131.995479 -27325.599285 .053064
+P 16 17958.536792 6000.166791 -18568.702681 1.980533
+V 16 -20931.187554 11247.134953 -16500.937504 -.001678
+P 17 -15224.617279 292.949732 -21445.826420 -91.943529
+V 17 5042.105405 -27436.009069 -4652.505634 .192598
+P 18 -10439.815867 17238.916347 17228.340444 -119.165068
+V 18 -20915.959743 6595.265170 -19585.622726 -.037365
+P 19 21618.071941 3609.342968 15078.537480 -11.923430
+V 19 13617.798070 13397.524117 -22908.489945 -.008557
+P 20 23187.499633 -12740.734399 -2322.166198 -90.712428
+V 20 3767.552474 1275.959849 31620.414253 .026809
+P 21 -5672.659020 25513.756975 -3066.839352 88.073229
+V 21 -2953.088006 -4377.033832 -31487.233423 .010711
+P 22 1459.378903 15669.571667 21561.864090 16.277511
+V 22 -25239.380510 9584.837819 -5274.780754 .003420
+P 23 15427.747015 -6741.644183 -20660.951930 211.519769
+V 23 20805.453580 15599.103790 10385.583923 .005608
+P 24 -4849.816217 -23138.320714 -11657.635677 89.624508
+V 24 4527.317247 -14804.467288 26990.359333 .028841
+P 25 10124.738472 19756.854930 -14171.268463 84.357732
+V 25 -2609.152704 18693.454491 23591.573860 .008118
+P 26 -22302.453523 -4936.919309 13746.915622 317.308836
+V 26 -13552.393446 -11454.137978 -24945.491594 .055231
+P 27 3659.121273 -25667.798203 -3976.394722 513.818057
+V 27 3296.026878 5890.260722 -31316.770112 .063010
+P 28 -1198.017280 -15909.587328 21403.061441 46.482363
+V 28 24685.228656 -10283.697599 -6651.503560 .001010
+P 29 -23425.509349 -7318.603905 10599.491397 177.763994
+V 29 -9786.398871 -8714.703959 -28214.188537 -.190164
+P 30 -16796.099957 17439.433620 -11041.874026 443.438790
+V 30 -13567.890546 3569.262120 26997.464298 -.144002
+* 2005 1 20 16 45 .00000000
+P 1 21390.340803 15645.944534 2147.085881 383.928344
+V 1 -3225.625913 400.826376 32054.150878 .020702
+P 2 -13722.857123 -11598.695764 -19889.988818 -42.327276
+V 2 1758.781367 -24548.539841 13225.767070 .055906
+P 3 24445.873694 10499.570531 2181.293733 78.237571
+V 3 957.015494 4561.972720 -30653.834007 .030331
+P 4 -7204.928840 -22557.582372 -11673.390664 440.458836
+V 4 3426.501487 -14817.047324 26849.753462 -.206852
+P 5 -22923.380077 13036.746146 2097.419098 73.284121
+V 5 378.773096 -4693.941847 31162.817960 .024851
+P 6 -8356.642276 13292.143599 -21232.564552 -159.128591
+V 6 -23830.099493 -13751.234794 653.519410 .878564
+P 7 -10868.997099 -18942.279712 15631.283466 61.493658
+V 7 17908.992865 7081.278109 21461.914167 -.303154
+P 8 1230.455342 -26325.130270 536.241293 -19.114746
+V 8 2965.793580 -720.631243 -32133.742234 -.011742
+P 9 -14084.259218 9093.472971 20040.062777 -24.955808
+V 9 -1606.372680 -26618.011485 11033.887334 -.018128
+P 10 -20634.298887 -1951.745793 -16833.564786 57.562102
+V 10 18100.988094 -10930.634602 -20707.730746 .007234
+P 11 14578.544174 -10219.687272 19639.284637 186.721891
+V 11 3983.874692 25019.537493 10239.935832 .036992
+P 13 8123.793760 -12229.757021 -22189.735790 -13.754149
+V 13 23643.314836 14930.491688 496.087667 .009675
+P 14 10878.663922 18772.012873 15390.173852 -31.491583
+V 14 -17329.365859 -8835.036066 23092.539081 -.000798
+P 15 3643.276174 24578.685105 8747.763139 378.202970
+V 15 -3912.880486 11144.614729 -29297.321953 .053066
+P 16 16032.214084 7096.684871 -19888.973665 1.980465
+V 16 -21789.112193 13112.143159 -12795.637565 -.001672
+P 17 -14832.957203 -2199.805275 -21673.713718 -91.926249
+V 17 3639.330032 -27866.228914 -408.488406 .192626
+P 18 -12211.041765 17837.645375 15321.608237 -119.168542
+V 18 -18400.138190 6639.134555 -22726.027713 -.037355
+P 19 22776.871075 4711.876673 12893.500688 -11.924154
+V 19 12054.874617 11111.042107 -25578.919910 -.008551
+P 20 23386.410713 -12559.916665 535.490754 -90.710120
+V 20 680.753738 2805.812231 31791.801856 .026819
+P 21 -5932.382241 24966.973886 -5865.204175 88.074176
+V 21 -2886.337950 -7760.840331 -30606.962482 .010714
+P 22 -758.004849 16577.900072 20905.734985 16.277804
+V 22 -23962.632572 10550.826007 -9285.426154 .003438
+P 23 17286.548288 -5420.045247 -19553.001950 211.520441
+V 23 20416.997658 13747.000317 14200.306558 .005604
+P 24 -4492.640119 -24338.438342 -9133.083105 89.626694
+V 24 3466.220301 -11813.907955 29027.618226 .028839
+P 25 9927.980930 21317.531870 -11929.351490 84.357764
+V 25 -1817.620966 15934.726977 26154.029056 .008131
+P 26 -23440.902638 -5857.817732 11391.433938 317.313720
+V 26 -11670.902160 -9030.821194 -27322.080589 .055221
+P 27 3971.678133 -24984.393076 -6750.892367 513.823870
+V 27 3715.194151 9274.605866 -30245.555689 .063006
+P 28 964.047557 -16875.526275 20624.564927 46.482546
+V 28 23291.384530 -11126.689262 -10626.091422 .001022
+P 29 -24203.908122 -8001.863991 7977.844213 177.746842
+V 29 -7442.911444 -6503.592575 -29963.171268 -.190174
+P 30 -17887.391638 17722.497055 -8524.476901 443.426123
+V 30 -10675.469429 2649.237104 28865.633425 -.144011
+* 2005 1 20 17 0 .00000000
+P 1 20962.282918 15606.496066 5005.311909 383.931419
+V 1 -6310.239618 -1207.848063 31371.381577 .020711
+P 2 -13621.389601 -13739.145222 -18536.430502 -42.322220
+V 2 529.418110 -22940.185458 16811.955309 .055899
+P 3 24401.190949 10842.944581 -588.237236 78.239859
+V 3 -1979.183408 3125.303276 -30804.231345 .030330
+P 4 -6931.187611 -23757.581444 -9161.656131 440.439811
+V 4 2716.201538 -11803.548328 28885.332671 -.206857
+P 5 -22770.561441 12522.164178 4875.641532 73.286316
+V 5 2968.874467 -6786.048715 30485.428941 .024855
+P 6 -10520.171970 12111.018326 -20988.121373 -159.049431
+V 6 -24167.426302 -12459.238599 4769.862101 .878521
+P 7 -9151.401338 -18299.802150 17427.502376 61.466070
+V 7 20220.887762 7129.408392 18399.813495 -.303161
+P 8 1491.262007 -26232.002793 -2352.031515 -19.115948
+V 8 2900.376385 2787.302314 -31955.928543 -.011743
+P 9 -14290.631210 6652.908306 20849.070477 -24.957443
+V 9 -2994.766207 -27523.745830 6917.726452 -.018134
+P 10 -18946.822848 -3030.527390 -18549.364793 57.563432
+V 10 19313.533387 -13043.407294 -17366.401270 .007232
+P 11 14990.806685 -7932.219099 20388.330012 186.725233
+V 11 5183.825626 25731.261574 6382.386511 .036994
+P 13 10280.354225 -10951.337611 -21955.286220 -13.753293
+V 13 24196.074456 13436.559894 4706.900010 .009681
+P 14 9199.880719 17965.641270 17330.761079 -31.491502
+V 14 -19940.635029 -9007.753706 19970.169261 -.000785
+P 15 3327.077382 25437.062243 6041.631648 378.209049
+V 15 -3176.923735 7894.323285 -30750.069485 .053067
+P 16 14052.135321 8357.560482 -20865.198476 1.980442
+V 16 -22126.381395 14884.134125 -8866.512494 -.001667
+P 17 -14572.136086 -4706.188400 -21519.935939 -91.908862
+V 17 2150.007530 -27737.673307 3816.222138 .192654
+P 18 -13745.180747 18420.778818 13149.303601 -119.171988
+V 18 -15662.534853 6244.211351 -25478.371696 -.037344
+P 19 23774.295490 5612.077397 10487.412797 -11.924883
+V 19 10037.413428 8915.925004 -27813.566830 -.008546
+P 20 23316.400628 -12224.943722 3383.913667 -90.707564
+V 20 -2194.177667 4693.270405 31415.349172 .026828
+P 21 -6204.192372 24120.620087 -8559.891010 88.075234
+V 21 -3218.718873 -11017.650914 -29186.974808 .010717
+P 22 -2841.609860 17558.816214 19895.163653 16.278005
+V 22 -22276.815745 11187.079820 -13140.274421 .003456
+P 23 19087.525775 -4269.913997 -18112.181872 211.520880
+V 23 19519.782151 11803.947808 17772.321663 .005600
+P 24 -4215.022981 -25257.009859 -6448.107491 89.628215
+V 24 2767.000450 -8563.170685 30550.438631 .028838
+P 25 9787.064523 22616.766317 -9477.608296 84.359274
+V 25 -1375.616910 12898.311457 28247.960299 .008143
+P 26 -24390.305606 -6567.507983 8843.183701 317.318437
+V 26 -9359.590678 -6775.205979 -29224.188804 .055210
+P 27 4339.219348 -24003.833306 -9404.084500 513.829482
+V 27 4512.509016 12477.004223 -28624.396282 .063001
+P 28 2982.897896 -17901.551440 19495.390152 46.482664
+V 28 21513.502341 -11608.786731 -14433.237244 .001033
+P 29 -24753.806623 -8496.668889 5221.221870 177.729702
+V 29 -4719.036416 -4539.379542 -31209.031642 -.190183
+P 30 -18717.704422 17903.531238 -5860.780095 443.413223
+V 30 -7783.665662 1304.316003 30243.406483 -.144020
+* 2005 1 20 17 15 .00000000
+P 1 20251.705080 15441.564254 7777.880015 383.932062
+V 1 -9487.778000 -2382.736829 30153.751245 .020721
+P 2 -13620.440911 -15714.835026 -16872.150511 -42.317043
+V 2 -462.916277 -20895.839634 20121.156054 .055891
+P 3 24085.599888 11072.883295 -3347.819717 78.243283
+V 3 -5049.212559 2046.705355 -30433.307779 .030329
+P 4 -6704.688134 -24675.290068 -6489.179692 440.421203
+V 4 2382.801326 -8559.292459 30416.258731 -.206862
+P 5 -22398.681021 11808.238821 7568.788330 73.288435
+V 5 5236.155302 -9111.710268 29274.773565 .024860
+P 6 -12691.814630 11054.857319 -20376.644846 -158.970463
+V 6 -24006.536306 -10988.197761 8797.760101 .878477
+P 7 -7237.384817 -17670.417193 18934.264646 61.438908
+V 7 22261.471433 6796.985819 15038.339458 -.303168
+P 8 1765.106566 -25825.477495 -5199.009125 -19.117658
+V 8 3253.761279 6226.617075 -31217.907454 -.011744
+P 9 -14624.671880 4156.215695 21281.700423 -24.958853
+V 9 -4428.230288 -27862.949926 2683.197154 -.018140
+P 10 -17173.311858 -4298.337659 -19950.509422 57.564015
+V 10 20011.726375 -15115.430978 -13724.988094 .007230
+P 11 15511.567778 -5602.908316 20784.972575 186.728870
+V 11 6381.593840 25948.609888 2420.158076 .036994
+P 13 12463.400962 -9817.468483 -21344.828555 -13.752298
+V 13 24226.560223 11733.114366 8839.920052 .009686
+P 14 7297.251120 17163.920026 18974.573833 -31.491565
+V 14 -22288.775789 -8737.632558 16506.971688 -.000772
+P 15 3059.567124 25994.630843 3229.069316 378.214786
+V 15 -2835.771185 4476.471180 -31659.200921 .053067
+P 16 12064.711048 9770.308764 -21480.271436 1.980424
+V 16 -21956.078547 16472.292484 -4781.670714 -.001664
+P 17 -14445.763240 -7175.890531 -20989.624207 -91.891804
+V 17 667.033051 -27053.228872 7946.709645 .192681
+P 18 -15026.456766 18947.887536 10748.642605 -119.175236
+V 18 -12796.986679 5392.723958 -27792.917181 -.037333
+P 19 24571.239237 6322.035482 7901.318590 -11.925448
+V 19 7608.287051 6896.911133 -29573.154167 -.008541
+P 20 23000.246148 -11706.119543 6173.976262 -90.704940
+V 20 -4776.605838 6880.537992 30496.625846 .026836
+P 21 -6522.940173 22990.497091 -11103.474275 88.076245
+V 21 -3923.473775 -14051.391139 -27254.454712 .010720
+P 22 -4757.590359 18579.916420 18547.101136 16.278389
+V 22 -20249.971016 11435.215688 -16774.715221 .003474
+P 23 20784.977053 -3295.314399 -16363.071491 211.521324
+V 23 18118.765579 9861.498192 21041.582887 .005596
+P 24 -3982.587899 -25874.864438 -3650.175506 89.629540
+V 24 2466.898079 -5147.784928 31534.554151 .028837
+P 25 9668.788930 23633.650543 -6859.796402 84.360938
+V 25 -1319.054345 9676.153942 29839.624698 .008155
+P 26 -25114.425028 -7084.864375 6146.105374 317.323686
+V 26 -6675.264778 -4769.487893 -30625.722301 .055199
+P 27 4794.054259 -22746.897507 -11887.540997 513.835375
+V 27 5646.741196 15400.897052 -26478.874905 .062996
+P 28 4827.073850 -18952.645884 18033.575980 46.482985
+V 28 19422.492592 -11676.001617 -18007.359861 .001043
+P 29 -25044.000675 -8828.454097 2376.028890 177.713047
+V 29 -1684.456273 -2891.423555 -31928.152578 -.190193
+P 30 -19291.192274 17945.202178 -3096.189762 443.400610
+V 30 -4983.058125 -442.410435 31103.941359 -.144029
+* 2005 1 20 17 30 .00000000
+P 1 19254.635358 15191.247065 10417.623124 383.933742
+V 1 -12660.193557 -3103.482580 28424.260460 .020731
+P 2 -13695.582237 -17489.065537 -14924.589705 -42.311805
+V 2 -1151.265074 -18474.212293 23098.274706 .055882
+P 3 23490.896640 11222.863025 -6050.808914 78.247361
+V 3 -8167.017922 1351.262934 -29548.538400 .030328
+P 4 -6490.120454 -25294.198647 -3702.733517 440.402727
+V 4 2454.209722 -5180.007825 31414.051552 -.206866
+P 5 -21839.457132 10877.374440 10129.693370 73.291074
+V 5 7123.846012 -11593.139017 27550.861460 .024865
+P 6 -14825.962385 10135.941787 -19409.314343 -158.891111
+V 6 -23333.390801 -9423.911697 12666.114919 .878434
+P 7 -5154.586042 -17086.370448 20127.058510 61.411544
+V 7 23960.757119 6130.787882 11432.142899 -.303175
+P 8 2088.923628 -25116.296328 -7954.922184 -19.118715
+V 8 4006.016990 9496.677638 -29935.797956 -.011745
+P 9 -15086.310755 1654.698760 21330.900284 -24.959419
+V 9 -5815.014859 -27632.140108 -1589.517120 -.018146
+P 10 -15360.088724 -5747.237807 -21012.657618 57.564944
+V 10 20197.974432 -17051.969836 -9843.548871 .007229
+P 11 16137.030257 -3276.198550 20822.884109 186.732637
+V 11 7497.345476 25675.535273 -1577.881032 .036992
+P 13 14624.767946 -8842.909070 -20368.555753 -13.751400
+V 13 23712.109253 9912.039999 12824.507415 .009691
+P 14 5198.358976 16404.847156 20293.561933 -31.491477
+V 14 -24288.682608 -8068.713053 12762.128579 -.000760
+P 15 2804.178661 26240.831493 359.722228 378.220024
+V 15 -2909.302224 992.155315 -32010.451513 .053067
+P 16 10114.344616 11314.485520 -21723.356000 1.980375
+V 16 -21309.565286 17791.156749 -612.111212 -.001661
+P 17 -14449.143460 -9559.746236 -20094.498320 -91.874490
+V 17 -718.582365 -25835.271792 11911.691607 .192710
+P 18 -16047.713942 19377.782622 8160.988475 -119.178444
+V 18 -9900.596747 4085.659231 -29627.403782 -.037323
+P 19 25133.191353 6861.093948 5179.446013 -11.925991
+V 19 4826.440939 5129.909333 -30826.334465 -.008538
+P 20 22467.457026 -10979.589024 8857.479959 -90.702414
+V 20 -6998.014581 9296.018491 29050.657760 .026843
+P 21 -6920.292048 21600.706705 -13451.410028 88.077235
+V 21 -4956.864656 -16774.285053 -24846.123207 .010722
+P 22 -6478.732651 19604.177533 16884.167594 16.278538
+V 22 -17960.978035 11251.312710 -20127.541900 .003493
+P 23 22334.465030 -2492.133217 -14335.436800 211.521985
+V 23 16237.040091 8009.231034 23953.038607 .005592
+P 24 -3758.416616 -26181.693082 -788.483436 89.631318
+V 24 2584.980430 -1668.505195 31965.820656 .028838
+P 25 9537.498348 24355.815980 -4122.273626 84.361169
+V 25 -1666.427558 6365.438229 30905.027613 .008167
+P 26 -25582.759525 -7435.624489 3346.110475 317.328770
+V 26 -3688.177036 -3083.560347 -31508.965588 .055189
+P 27 5364.019193 -21242.644529 -14155.647205 513.840883
+V 27 7060.039732 17959.493759 -23845.898052 .062991
+P 28 6471.981516 -19989.608789 16262.939088 46.483172
+V 28 17099.556893 -11289.697852 -21285.833298 .001052
+P 29 -25050.150066 -9028.298018 -509.576922 177.696421
+V 29 1578.412700 -1615.353509 -32105.273007 -.190203
+P 30 -19619.975776 17813.036717 -278.142546 443.388031
+V 30 -2359.537709 -2550.614538 31429.060686 -.144039
+* 2005 1 20 17 45 .00000000
+P 1 17975.995983 14896.622816 12879.823305 383.934512
+V 1 -15728.498987 -3368.685682 26214.235374 .020742
+P 2 -13816.895386 -19031.002993 -12725.938817 -42.306668
+V 2 -1481.004193 -15746.573839 25692.988762 .055872
+P 3 22616.764647 11327.881534 -8651.603112 78.249504
+V 3 -11243.905132 1047.618021 -28165.586132 .030326
+P 4 -6250.476844 -25606.651537 -851.213477 440.384025
+V 4 2940.099475 -1766.080048 31860.087898 -.206871
+P 5 -21129.028022 9719.386055 12513.421661 73.291990
+V 5 8590.811141 -14143.977684 25343.198350 .024870
+P 6 -16876.568851 9358.716199 -18103.568799 -158.812044
+V 6 -22152.317303 -7854.127276 16307.140334 .878390
+P 7 -2936.481010 -16575.122613 20986.444538 61.384169
+V 7 25259.383509 5190.020645 7639.169857 -.303182
+P 8 2497.036361 -24123.975654 -10571.899005 -19.119891
+V 8 5119.270551 12503.754071 -28135.547347 -.011745
+P 9 -15667.269595 -800.975257 20996.850058 -24.961011
+V 9 -7065.152231 -26848.855825 -5820.199026 -.018152
+P 10 -13552.427781 -7360.866777 -21717.076927 57.566133
+V 10 19893.093844 -18761.199967 -5786.511018 .007227
+P 11 16856.309768 -995.418849 20501.953246 186.736065
+V 11 8453.956688 24932.750901 -5542.650238 .036987
+P 13 16715.110678 -8033.976258 -19042.923756 -13.750597
+V 13 22649.304138 8068.446282 16592.320502 .009696
+P 14 2937.965702 15721.741497 21265.219673 -31.491287
+V 14 -25866.464138 -7060.577655 8799.496918 -.000750
+P 15 2523.402087 26174.312950 -2515.952912 378.226416
+V 15 -3398.543797 -2455.767250 -31800.074785 .053066
+P 16 8241.840769 12962.326796 -21590.088249 1.980334
+V 16 -20235.173367 18764.080455 3569.544104 -.001659
+P 17 -14569.615003 -11811.435693 -18852.484565 -91.857190
+V 17 -1921.404808 -24124.390383 15644.708719 .192738
+P 18 -16810.541581 19670.218943 5431.137101 -119.182033
+V 18 -7069.965990 2342.974250 -30947.948879 -.037313
+P 19 25431.594186 7254.917971 2368.463931 -11.926737
+V 19 1764.833014 3679.044256 -31550.304202 -.008536
+P 20 21753.065884 -10028.462569 11387.996947 -90.699819
+V 20 -8804.572703 11857.009947 27101.720709 .026849
+P 21 -7423.284625 19982.748449 -15562.855789 88.078314
+V 21 -6260.126136 -19110.239246 -22007.349813 .010724
+P 22 -7985.301176 20591.345085 14934.302379 16.279356
+V 22 -15496.620867 10607.742469 -23141.914116 .003511
+P 23 23694.421715 -1848.413440 -12063.740853 211.522616
+V 23 13915.093669 6331.312932 26457.499485 .005588
+P 24 -3504.718387 -26176.343114 2086.957259 89.634526
+V 24 3121.532242 1772.605314 31840.255132 .028838
+P 25 9356.680598 24779.733553 -1313.111697 84.361776
+V 25 -2418.240779 3064.777214 31430.084242 .008179
+P 26 -25771.637928 -7651.174540 490.331376 317.333886
+V 26 -479.389231 -1772.719190 -31864.478537 .055178
+P 27 6071.081621 -19527.362537 -16166.597812 513.846670
+V 27 8680.297088 20079.523769 -20773.089891 .062986
+P 28 7900.687454 -20970.523451 14212.756808 46.483393
+V 28 14633.196435 -10428.412892 -24210.126344 .001060
+P 29 -24755.800132 -9131.583040 -3386.457606 177.679733
+V 29 4977.264714 -750.861324 -31733.938985 -.190214
+P 30 -19723.569887 17476.921491 2544.699864 443.375522
+V 30 9.000234 -4964.009218 31209.797398 -.144048
+* 2005 1 20 18 0 .00000000
+P 1 16429.523025 14598.047070 15122.932862 383.935884
+V 1 -18596.419892 -3195.716263 23562.684048 .020753
+P 2 -13950.185594 -20316.702791 -10312.672713 -42.301630
+V 2 -1412.052279 -12794.302985 27860.548965 .055861
+P 3 21470.869773 11422.964927 -11106.367891 78.252635
+V 3 -14191.710811 1127.776975 -26308.003623 .030324
+P 4 -5948.720887 -25614.090824 2015.268939 440.365625
+V 4 3831.419690 1581.366310 31746.029338 -.206875
+P 5 -20306.469425 8332.120638 14678.103192 73.294385
+V 5 9613.112311 -16672.684547 22690.289003 .024876
+P 6 -18798.800012 8719.775908 -16482.751673 -158.732872
+V 6 -20485.840171 -6364.924580 19657.609137 .878347
+P 7 -621.331707 -16158.330488 21498.319331 61.357198
+V 7 26110.664637 4044.045035 3719.930786 -.303188
+P 8 3019.614591 -22876.022308 -13004.820005 -19.121275
+V 8 6539.450632 15164.558258 -25852.218148 -.011746
+P 9 -16351.402729 -3162.630441 20286.880526 -24.962573
+V 9 -8094.416793 -25550.682193 -9930.461946 -.018159
+P 10 -11792.928696 -9114.864245 -22050.994837 57.566437
+V 10 19135.517380 -20157.764112 -1621.725468 .007225
+P 11 17651.820566 1198.687670 19828.250172 186.739311
+V 11 9180.134350 23756.803168 -9406.059535 .036982
+P 13 18685.656475 -7388.422347 -17390.392240 -13.749597
+V 13 21054.254918 6296.919465 20078.474869 .009701
+P 14 556.871587 15141.949226 21872.959344 -31.490999
+V 14 -26962.239868 -5785.920401 4686.549436 -.000743
+P 15 2180.483335 25802.909568 -5347.632495 378.231620
+V 15 -4285.752697 -5766.690454 -31034.736987 .053064
+P 16 6482.962475 14679.686023 -21082.664359 1.980291
+V 16 -18796.229430 19326.360900 7690.356977 -.001658
+P 17 -14787.204630 -13889.041139 -17287.236259 -91.839616
+V 17 -2864.909432 -21977.447984 19085.096842 .192766
+P 18 -17325.058537 19787.583070 2606.528065 -119.185178
+V 18 -4397.417389 203.036746 -31729.797408 -.037302
+P 19 25444.990570 7534.317580 -483.309474 -11.927434
+V 19 -1492.184092 2594.145544 -31731.283203 -.008535
+P 20 20896.212103 -8843.676780 13721.686932 -90.697365
+V 20 -10159.130863 14472.855680 24682.962001 .026854
+P 21 -8053.083804 18174.335087 -17401.402066 88.079448
+V 21 -7762.036576 -20997.701022 -18791.085185 .010725
+P 22 -9265.606308 21499.460062 12730.329303 16.279626
+V 22 -12948.356365 9494.409311 -25766.277747 .003526
+P 23 24827.656398 -1344.988997 -9586.580093 211.523427
+V 23 11209.429904 4903.263022 28512.425738 .005581
+P 24 -3184.518592 -25866.759821 4926.227952 89.636352
+V 24 4058.224626 5076.072172 31163.856965 .028839
+P 25 9090.583766 24910.671758 1518.794359 84.362597
+V 25 -3557.185320 -129.557329 31410.555538 .008191
+P 26 -25665.061635 -7767.153672 -2373.615312 317.339168
+V 26 2862.168852 -875.940719 -31690.901464 .055167
+P 27 6930.190969 -17643.203289 -17883.320900 513.852533
+V 27 10424.235073 21704.430379 -17317.817165 .062981
+P 28 9104.428090 -21852.361898 11917.347217 46.483752
+V 28 12115.886460 -9089.058856 -26726.942169 .001066
+P 29 -24153.127566 -9176.482835 -6205.303765 177.662441
+V 29 8413.172141 -320.061999 -30816.840261 -.190224
+P 30 -19628.024957 16912.456743 5323.298475 443.362992
+V 30 2055.698011 -7612.288395 30446.784792 -.144057
+* 2005 1 20 18 15 .00000000
+P 1 14637.362471 14333.498213 17109.233221 383.937018
+V 1 -21173.911756 -2619.825951 20515.560534 .020765
+P 2 -14058.371527 -21329.894104 -7725.013867 -42.296546
+V 2 -920.585172 -9706.048623 29562.549712 .055850
+P 3 20068.670511 11541.684515 -13373.729305 78.256025
+V 3 -16925.944204 1567.523295 -24006.843126 .030323
+P 4 -5549.464848 -25326.944373 4846.322713 440.346976
+V 4 5100.700654 4764.425464 31074.014768 -.206880
+P 5 -19412.202654 6721.761775 16585.712804 73.296084
+V 5 10184.868255 -19086.159714 19638.936828 .024881
+P 6 -20550.637001 8208.176272 -14575.649082 -158.653718
+V 6 -18373.786728 -5037.211579 22659.976324 .878303
+P 7 1749.031269 -15851.047946 21654.113289 61.329795
+V 7 26482.217480 2769.774793 -263.234578 -.303195
+P 8 3681.318115 -21406.854083 -15212.096235 -19.122694
+V 8 8198.610904 17409.266589 -23129.063261 -.011746
+P 9 -17115.380568 -5386.309372 19215.228997 -24.962698
+V 9 -8827.961442 -23793.404008 -13845.490736 -.018166
+P 10 -10119.991540 -10977.605846 -22007.861178 57.567319
+V 10 17979.841168 -21166.133977 2580.562516 .007223
+P 11 18499.931779 3269.324627 18813.884984 186.742962
+V 11 9613.287302 22198.551182 -13102.166753 .036976
+P 13 20489.946946 -6895.651010 -15439.062769 -13.748622
+V 13 18962.142785 4687.783591 23222.661805 .009705
+P 14 -1899.451747 14685.792089 22106.386985 -31.490925
+V 14 -27532.413478 -4327.622802 493.263532 -.000737
+P 15 1741.080237 25143.263198 -8086.049608 378.235790
+V 15 -5535.281292 -8846.120541 -29731.179483 .053063
+P 16 4867.192738 16427.232942 -20209.809683 1.980266
+V 16 -17068.490042 19427.908126 11678.392385 -.001658
+P 17 -15075.561969 -15756.403624 -15427.576534 -91.822231
+V 17 -3484.339229 -19465.103083 22178.744156 .192794
+P 18 -17609.363337 19696.496427 -263.604054 -119.188374
+V 18 -1967.370667 -2278.694499 -31957.895155 -.037293
+P 19 25159.913794 7733.868277 -3326.734801 -11.928242
+V 19 -4851.943544 1908.783683 -31364.844080 -.008533
+P 20 19938.574754 -7424.555578 15818.072221 -90.694839
+V 20 -11042.567392 17048.429198 21835.854090 .026858
+P 21 -8823.998348 16217.978985 -18935.701282 88.080343
+V 21 -9381.980925 -22391.876988 -15256.655364 .010725
+P 22 -10316.272095 22286.468798 10309.441488 16.279968
+V 22 -10408.897365 7919.350022 -27955.230218 .003542
+P 23 25702.712410 -956.396865 -6946.053813 211.524050
+V 23 8190.592843 3789.042085 30082.624211 .005572
+P 24 -2763.298116 -25269.584205 7680.385787 89.639233
+V 24 5359.032300 8148.728793 29952.233341 .028840
+P 25 8705.784519 24762.322944 4324.601804 84.362942
+V 25 -5049.028057 -3127.213331 30851.782956 .008204
+P 26 -25255.272568 -7821.930219 -5198.344527 317.344224
+V 26 6242.838398 -414.761543 -30994.690811 .055156
+P 27 7948.434581 -15636.561444 -19274.297809 513.858199
+V 27 12201.066842 22796.821282 -13545.872476 .062976
+P 28 10082.809117 -22592.666976 9415.547655 46.484045
+V 28 9640.533773 -7287.433150 -28789.331309 .001070
+P 29 -23243.377070 -9202.330604 -8917.467670 177.645413
+V 29 11784.168208 -326.499474 -29366.012222 -.190234
+P 30 -19364.810863 16102.107802 8009.111942 443.350393
+V 30 3727.380612 -10413.670667 29150.467527 -.144067
+* 2005 1 20 18 30 .00000000
+P 1 12629.360562 14137.032879 18805.424058 383.939076
+V 1 -23380.417628 -1692.604713 17124.953439 .020777
+P 2 -14103.004557 -22062.494928 -5006.328319 -42.291530
+V 2 -.183522 -6574.593141 30767.656420 .055838
+P 3 18432.950802 11714.737495 -15415.428044 78.257543
+V 3 -19368.792362 2327.418495 -21300.180244 .030321
+P 4 -5020.584231 -24764.162455 7592.219831 440.328183
+V 4 6703.139872 7692.233278 29856.610194 -.206884
+P 5 -18486.358588 4902.802857 18202.778417 73.299037
+V 5 10318.370644 -21293.458508 16243.355190 .024887
+P 6 -22094.367532 7806.046936 -12415.933217 -158.574661
+V 6 -15871.716870 -3943.470975 25263.357574 .878260
+P 7 4130.551795 -15661.172957 21450.921827 61.302514
+V 7 26357.120993 1448.824519 -4246.902121 -.303202
+P 8 4500.175063 -19756.471831 -17156.363979 -19.123820
+V 8 10017.851938 19183.985400 -20016.534630 -.011746
+P 9 -17929.679507 -7433.799310 17802.646167 -24.963459
+V 9 -9203.464621 -21648.407900 -17495.600678 -.018174
+P 10 -8566.450933 -12911.227566 -21587.514446 57.568628
+V 10 16494.751662 -21723.652958 6748.817704 .007221
+P 11 19371.866770 5184.842045 17476.764631 186.746046
+V 11 9702.040504 20321.119666 -16568.271228 .036969
+P 13 22085.506462 -6537.263981 -13222.218779 -13.747608
+V 13 16426.035914 3323.513178 25970.208018 .009708
+P 14 -4382.406731 14365.796938 21961.476375 -31.490889
+V 14 -27551.339365 -2775.446322 -3709.026313 -.000733
+P 15 1174.807384 24220.110416 -10683.877671 378.242098
+V 15 -7095.171238 -11609.226381 -27915.672454 .053062
+P 16 3416.750051 18161.867878 -18986.629495 1.979967
+V 16 -15137.088878 19035.344908 15464.024474 -.001657
+P 17 -15403.126696 -17384.236930 -13306.882209 -91.804653
+V 17 -3729.009120 -16668.914232 24878.646071 .192823
+P 18 -17688.670646 19369.267068 -3129.121197 -119.191466
+V 18 146.977523 -5031.703626 -31627.264319 -.037285
+P 19 24571.483736 7890.382692 -6112.701963 -11.929078
+V 19 -8216.892746 1638.935780 -30456.079411 -.008531
+P 20 18922.715952 -5779.047715 17640.756364 -90.692478
+V 20 -11454.426141 19487.816587 18609.488396 .026862
+P 21 -9742.785908 14159.410689 -20139.983556 88.081339
+V 21 -11033.360898 -23266.232618 -11468.460662 .010726
+P 22 -11142.192659 22911.856774 7712.611275 16.280343
+V 22 -7968.731505 5908.662621 -29670.317880 .003558
+P 23 26295.021834 -652.032535 -4187.075310 211.524494
+V 23 4940.665338 3038.572307 31140.845198 .005563
+P 24 -2210.518660 -24409.429517 10302.305070 89.642122
+V 24 6971.838757 10907.113123 28230.055087 .028840
+P 25 8172.646761 24356.121275 7056.363926 84.364370
+V 25 -6844.146683 -5847.011153 29768.250869 .008216
+P 26 -24543.033616 -7855.004671 -7937.392357 317.349012
+V 26 9567.464784 -392.770227 -29789.804267 .055145
+P 27 9124.542112 -13556.272267 -20314.250961 513.863706
+V 27 13916.549754 23340.034908 -9529.864645 .062971
+P 28 10843.681250 -23151.247462 6750.095413 46.484181
+V 28 7296.850404 -5057.991800 -30357.746832 .001074
+P 29 -22036.966065 -9247.929194 -11475.807743 177.628322
+V 29 14989.018688 -754.856581 -27402.883552 -.190244
+P 30 -18969.485532 15036.103702 10554.981690 443.337378
+V 30 4986.683114 -13277.957448 27341.113653 -.144077
+* 2005 1 20 18 45 .00000000
+P 1 10442.076817 14037.407296 20183.136575 383.942892
+V 1 -25147.755562 -479.849162 13448.214083 .020788
+P 2 -14045.863641 -22514.835128 -2202.458690 -42.286571
+V 2 1337.642690 -3493.518272 31452.274130 .055828
+P 3 16593.092360 11968.642879 -17196.927041 78.259862
+V 3 -21451.887343 3354.354532 -18232.556397 .030320
+P 4 -4334.701109 -23952.422720 10204.822409 440.309240
+V 4 8578.420957 10284.487432 28116.517808 -.206888
+P 5 -17567.165139 2897.688109 19501.001595 73.300826
+V 5 10043.448265 -23209.432968 12564.112189 .024893
+P 6 -23397.908280 7489.482653 -10041.524813 -158.495528
+V 6 -13048.751665 -3144.887787 27424.347586 .878216
+P 7 6478.373164 -15589.159390 20891.568857 61.275233
+V 7 25734.571289 164.491864 -8167.324503 -.303208
+P 8 5486.740401 -17968.941321 -18805.081843 -19.124414
+V 8 11910.571864 20452.513264 -16571.153273 -.011746
+P 9 -18759.827955 -9273.896298 16075.872561 -24.965224
+V 9 -9173.656463 -19199.483756 -20817.570992 -.018181
+P 10 -7158.422331 -14872.905041 -20796.245737 57.568878
+V 10 14760.397062 -21783.138897 10811.383541 .007218
+P 11 20234.809197 6919.731239 15840.254879 186.749251
+V 11 9408.300492 18197.410463 -19745.928494 .036965
+P 13 23435.372619 -6287.918544 -10777.773573 -13.746639
+V 13 13515.015513 2275.436727 28273.056750 .009710
+P 14 -6841.935518 14186.235605 21440.638689 -31.490804
+V 14 -27012.320846 -1222.465261 -7848.797066 -.000730
+P 15 456.607931 23065.269593 -13096.556595 378.246857
+V 15 -8899.388889 -13983.938319 -25623.289166 .053060
+P 16 2145.896046 19838.296073 -17434.343812 1.979712
+V 16 -13093.118343 18133.451419 18981.202031 -.001656
+P 17 -15734.476080 -18750.967131 -10962.426099 -91.787472
+V 17 -3564.003608 -13678.160502 27145.277622 .192851
+P 18 -17594.168159 18785.129074 -5939.897656 -119.194774
+V 18 1886.523743 -7973.087256 -30743.165755 -.037280
+P 19 23683.683646 8041.292836 -8792.988098 -11.929651
+V 19 -11488.238760 1782.340939 -29019.597375 -.008529
+P 20 17890.399839 -3923.629448 19158.072488 -90.690081
+V 20 -11412.817890 21698.050518 15059.721339 .026866
+P 21 -10808.275807 12045.896655 -20994.452711 88.082192
+V 21 -12627.198009 -23613.229633 -7494.621821 .010728
+P 22 -11756.177107 23338.245459 4983.931982 16.280762
+V 22 -5712.701559 3505.756636 -30880.750738 .003573
+P 23 26587.814588 -397.505764 -1356.634217 211.524584
+V 23 1550.328347 2685.780773 31668.268983 .005557
+P 24 -1500.975764 -23317.871294 12747.463125 89.644354
+V 24 8830.643468 13280.418909 26030.371808 .028841
+P 25 7466.616005 23720.286916 9667.828045 84.365679
+V 25 -8879.629314 -8219.756427 28183.010199 .008228
+P 26 -23537.617589 -7905.394240 -10545.875591 317.353746
+V 26 12742.625844 -795.704517 -28097.350029 .055135
+P 27 10448.764413 -11451.711681 -20984.676153 513.869335
+V 27 15477.216792 23338.733321 -5347.383820 .062966
+P 28 11402.691230 -23491.818805 3966.917360 46.484146
+V 28 5167.788160 -2452.867127 -31401.007044 .001077
+P 29 -20553.246651 -9349.868145 -13835.529695 177.611201
+V 29 17931.042326 -1571.402884 -24958.151640 -.190254
+P 30 -18480.199232 13713.041669 12916.008585 443.324455
+V 30 5813.557778 -16109.989919 25048.613070 -.144086
+* 2005 1 20 19 0 .00000000
+P 1 8117.557502 14056.913892 21219.366100 383.945334
+V 1 -26422.540314 941.073613 9547.037445 .020798
+P 2 -13850.567863 -22695.574728 638.999643 -42.281540
+V 2 3063.590869 -553.786424 31601.138634 .055817
+P 3 14584.112204 12324.600003 -18687.965391 78.263026
+V 3 -23118.741847 4583.604350 -14854.343833 .030319
+P 4 -3470.473768 -22925.037787 12638.473191 440.290515
+V 4 10653.182438 12474.512151 25886.055454 -.206893
+P 5 -16689.424880 736.135008 20457.776651 73.302397
+V 5 9406.106512 -24758.145093 8666.936337 .024899
+P 6 -24435.908411 7229.671337 -7493.889552 -158.416299
+V 6 -9984.899379 -2688.966442 29107.668659 .878173
+P 7 8748.298389 -15628.004578 19984.600802 61.247910
+V 7 24630.009103 -1001.337346 -11961.215058 -.303215
+P 8 6643.559679 -16090.748142 -20131.024847 -19.125428
+V 8 13785.983340 21197.390999 -12854.343059 -.011747
+P 9 -19567.848196 -10883.360814 14067.006200 -24.965852
+V 9 -8708.132713 -16539.198811 -23755.725001 -.018190
+P 10 -5914.406696 -16816.343177 -19646.755159 57.569180
+V 10 12865.290436 -21314.938008 14697.700529 .007216
+P 11 21053.171970 8455.379547 13932.754982 186.752427
+V 11 8708.799364 15907.272369 -22581.873258 .036962
+P 13 24509.429356 -6116.463685 -8147.634298 -13.745852
+V 13 10311.677254 1600.861290 30090.650564 .009712
+P 14 -9228.243920 14142.992515 20552.686623 -31.490725
+V 14 -25927.902499 238.626842 -11855.510935 -.000728
+P 15 -432.100597 21716.373765 -15283.046779 378.250696
+V 15 -10870.591671 -15913.481387 -22897.033690 .053058
+P 16 1060.562125 21410.700203 -15579.911133 1.979323
+V 16 -11029.983227 16725.894927 22168.647333 -.001652
+P 17 -16031.797016 -19843.278035 -8434.693119 -91.770083
+V 17 -2971.243615 -10586.505453 28946.807605 .192879
+P 18 -17361.640220 17931.217085 -8646.740534 -119.197908
+V 18 3208.552327 -11010.750691 -29321.039149 -.037275
+P 19 22509.304374 8223.006707 -11321.107143 -11.930522
+V 19 -14569.668591 2318.578050 -27079.340177 -.008528
+P 20 16880.953625 -1882.874406 20343.648698 -90.687522
+V 20 -10953.586825 23592.746816 11248.188247 .026870
+P 21 -12011.318911 9924.525303 -21485.559570 88.083197
+V 21 -14075.773327 -23444.294042 -3405.613458 .010729
+P 22 -12178.294205 23532.891649 2169.899647 16.281197
+V 22 -3716.774362 769.941177 -31564.018733 .003587
+P 23 26572.746940 -156.145934 1496.979621 211.524654
+V 23 -1884.414763 2747.242388 31654.872263 .005554
+P 24 -615.929990 -22032.195619 14974.659282 89.647178
+V 24 10858.265724 15212.903095 23393.815880 .028842
+P 25 6569.304485 22888.640544 12115.174951 84.366818
+V 25 -11081.805268 -10190.526588 26126.979686 .008239
+P 26 -22256.509387 -8010.052721 -12981.118495 317.358533
+V 26 15679.761668 -1592.133996 -25945.210411 .055124
+P 27 11903.132890 -9370.888103 -21274.202581 513.874697
+V 27 16794.562787 22818.492457 -1079.022755 .062962
+P 28 11782.520329 -23583.521824 1114.338441 46.484231
+V 28 3326.184715 459.856495 -31897.129285 .001082
+P 29 -18819.927137 -9540.914587 -15955.008140 177.593809
+V 29 20521.830258 -2725.186041 -22071.470948 -.190264
+P 30 -17936.094186 12140.167644 15050.401548 443.311928
+V 30 6206.082328 -18813.366446 22312.054628 -.144096
+* 2005 1 20 19 15 .00000000
+P 1 5701.915090 14210.474193 21896.820273 383.947242
+V 1 -27168.061218 2484.268230 5486.507109 .020809
+P 2 -13484.146194 -22621.315266 3469.471295 -42.276516
+V 2 5131.380680 2159.640443 31207.808848 .055807
+P 3 12445.499070 12797.551483 -19863.051745 78.266642
+V 3 -24326.769876 5941.301616 -11221.036263 .030317
+P 4 -2413.639029 -21720.612455 14850.829566 440.271775
+V 4 12844.023763 14211.737880 23206.426006 -.206897
+P 5 -15883.145597 -1545.834684 21056.597198 73.304972
+V 5 8466.502295 -25875.906028 4621.415015 .024905
+P 6 -25190.594146 6994.211253 -4817.283914 -158.337365
+V 6 -6767.994975 -2607.722489 30286.645451 .878129
+P 7 10898.237733 -15763.515415 18744.208812 61.220887
+V 7 23074.707789 -1971.268307 -15566.559991 -.303222
+P 8 7964.954617 -14169.091422 -21112.672089 -19.125016
+V 8 15552.724290 21420.211946 -8931.238329 -.011747
+P 9 -20313.827457 -12247.534716 11812.784972 -24.968651
+V 9 -7794.407146 -13765.027561 -26262.744817 -.018198
+P 10 -4844.690967 -18693.422378 -18157.997014 57.569217
+V 10 10902.852897 -20308.337505 18339.555861 .007214
+P 11 21789.979671 9780.559099 11787.193816 186.755772
+V 11 7596.065385 13534.439460 -25028.840519 .036959
+P 13 25285.490397 -5987.311667 -5376.991627 -13.744956
+V 13 6909.098573 1340.734076 31390.696452 .009715
+P 14 -11493.519329 14223.765263 19312.693241 -31.490791
+V 14 -24329.444440 1519.199338 -15660.778587 -.000727
+P 15 -1502.548594 20215.404247 -17206.499297 378.256448
+V 15 -12923.297157 -17358.258570 -19786.856402 .053056
+P 16 158.309025 22834.445154 -13455.548224 1.979083
+V 16 -9039.673538 14835.214346 24970.963461 -.001647
+P 17 -16256.425595 -20656.353891 -5766.683258 -91.752532
+V 17 -1949.922112 -7488.625238 30259.180766 .192907
+P 18 -17029.914733 16803.234415 -11202.294761 -119.201201
+V 18 4088.353414 -14046.996689 -27386.219807 -.037271
+P 19 21069.555932 8469.304665 -13653.135021 -11.931315
+V 19 -17370.996794 3209.869854 -24668.223713 -.008526
+P 20 15929.735663 311.293940 21176.879481 -90.685235
+V 20 -10128.773733 25095.497694 7241.204063 .026874
+P 21 -13335.061063 7840.529710 -21606.153047 88.083853
+V 21 -15296.153792 -22789.041305 727.079586 .010732
+P 22 -12434.939411 23469.031391 -681.355663 16.281594
+V 22 -2045.122127 -2225.608289 -31706.393238 .003600
+P 23 26250.224491 109.399580 4324.979495 211.524637
+V 23 -5265.731392 3221.477634 31099.665126 .005556
+P 24 456.023171 -20593.957988 16946.658306 89.649462
+V 24 12969.426285 16665.677426 20367.723767 .028842
+P 25 5469.330181 21899.236949 14357.695929 84.367691
+V 25 -13369.173241 -11720.379254 23638.213728 .008251
+P 26 -20724.834197 -8202.376969 -15203.244784 317.363393
+V 26 18298.118892 -2734.695989 -23367.645503 .055114
+P 27 13462.085333 -7358.615272 -21178.771631 513.880417
+V 27 17788.966750 21824.422440 3193.657151 .062957
+P 28 12011.836140 -23402.254529 -1757.777691 46.484011
+V 28 1831.770702 3598.560614 -31833.998605 .001088
+P 29 -16872.169119 -9848.543988 -17796.571332 177.576269
+V 29 22684.711004 -4149.941479 -18790.944115 -.190274
+P 30 -17375.664841 10333.316303 16920.278103 443.299281
+V 30 6180.520456 -21294.265147 19179.081861 -.144106
+* 2005 1 20 19 30 .00000000
+P 1 3243.765484 14505.019734 22204.180008 383.950382
+V 1 -27365.557130 4058.649751 1334.113523 .020818
+P 2 -12918.503564 -22315.913312 6240.212640 -42.271650
+V 2 7479.239989 4571.016716 30275.037585 .055797
+P 3 10219.889357 13395.485600 -20701.890628 78.269706
+V 3 -25048.821459 7347.266938 -7392.467687 .030315
+P 4 -1157.764905 -20381.507964 16803.623337 440.252669
+V 4 15060.912548 15463.495754 20126.803105 -.206901
+P 5 -15172.379724 -3907.115711 21287.342028 73.308601
+V 5 7296.344422 -26513.813051 499.620592 .024910
+P 6 -25652.325230 6748.562787 -2057.966087 -158.258325
+V 6 -3490.380848 -2916.507917 30943.507024 .878085
+P 7 12889.594892 -15974.847304 17190.076472 61.193429
+V 7 21114.823144 -2675.365103 -18923.462398 -.303229
+P 8 9437.132742 -12250.182392 -21734.487127 -19.125152
+V 8 17122.425035 21141.208608 -4869.496512 -.011749
+P 9 -20957.548946 -13360.605732 9353.807585 -24.969827
+V 9 -6438.193970 -10975.418747 -28300.222936 -.018206
+P 10 -3951.071147 -20455.940285 -16354.911948 57.570919
+V 10 8967.723547 -18772.265549 21672.341769 .007212
+P 11 22408.311327 10891.633945 9440.456988 186.758941
+V 11 6078.790310 11163.354234 -27046.276946 .036957
+P 13 25750.089875 -5861.992191 -2513.546556 -13.744289
+V 13 3407.384882 1517.937816 32149.795017 .009718
+P 14 -13593.578433 14408.590872 17741.747210 -31.490829
+V 14 -22265.992138 2538.217070 -19199.495653 -.000726
+P 15 -2758.034838 18607.086102 -18834.833693 378.259780
+V 15 -14967.316411 -18297.031247 -16348.590980 .053054
+P 16 -571.380177 24067.747777 -11098.155221 1.978788
+V 16 -7209.106873 12502.060207 27339.627236 -.001641
+P 17 -16370.398139 -21193.821193 -3003.212086 -91.735087
+V 17 -516.328258 -4476.911149 31066.094345 .192935
+P 18 -16639.197653 15405.786185 -13561.912777 -119.204421
+V 18 4520.093943 -16982.354036 -24973.438486 -.037269
+P 19 19393.359563 8809.839989 -15748.494437 -11.932259
+V 19 -19811.593668 4402.587251 -21827.601377 -.008523
+P 20 15066.771292 2620.639078 21643.293881 -90.682789
+V 20 -9004.436623 26142.885069 3108.572476 .026879
+P 21 -14755.523556 5835.711445 -21355.512490 88.084994
+V 21 -16213.467406 -21693.814759 4832.252964 .010736
+P 22 -12557.657676 23127.015302 -3520.877886 16.281915
+V 22 -747.632085 -5396.439164 -31303.297439 .003613
+P 23 25629.405742 435.534629 7078.900356 211.524642
+V 23 -8497.543057 4088.937757 30010.790139 .005563
+P 24 1718.373021 -19047.410427 18630.752012 89.651659
+V 24 15074.080551 17617.839255 17005.200752 .028843
+P 25 4162.881759 20792.874657 16358.395596 84.369037
+V 25 -15655.517464 -12787.413523 20761.039359 .008262
+P 26 -18974.532089 -8510.847942 -17175.733097 317.368244
+V 26 20527.429379 -4161.841984 -20404.878257 .055103
+P 27 15093.425355 -5454.849690 -20701.633449 513.886155
+V 27 18393.152499 20418.908779 7390.126505 .062952
+P 28 12123.996580 -22931.758087 -4598.939524 46.483931
+V 28 728.678314 6871.121280 -31209.837652 .001096
+P 29 -14751.389821 -10293.673058 -19327.231043 177.558662
+V 29 24357.810806 -5766.662945 -15172.411501 -.190284
+P 30 -16835.147050 8316.508473 18492.397276 443.286693
+V 30 5770.619223 -23465.206707 15705.035940 -.144117
+* 2005 1 20 19 45 .00000000
+P 1 792.579163 14939.182417 22136.271206 383.954021
+V 1 -27014.849155 5571.461836 -2841.246651 .020827
+P 2 -12131.724154 -21809.516832 8903.150599 -42.266705
+V 2 10032.028612 6616.735004 28814.997452 .055789
+P 3 7951.628990 14119.005126 -21189.735299 78.271862
+V 3 -25274.174858 8718.085946 -3431.962005 .030313
+P 4 295.315818 -18952.178193 18463.331129 440.234346
+V 4 17210.841431 16216.060462 16703.265025 -.206905
+P 5 -14574.319366 -6302.941813 21146.435442 73.311619
+V 5 5975.834625 -26639.679985 -3625.299560 .024915
+P 6 -25819.846046 6457.576128 736.612716 -158.179176
+V 6 -245.462383 -3613.501952 31069.521697 .878042
+P 7 14688.543953 -16235.301551 15347.150081 61.166120
+V 7 18809.920517 -3053.910025 -21975.018587 -.303236
+P 8 11038.611111 -10377.611278 -21987.092586 -19.128320
+V 8 18413.100175 20398.156407 -738.138450 -.011750
+P 9 -21460.114604 -14225.521547 6733.716207 -24.971830
+V 9 -4662.948388 -8265.968807 -29838.965426 -.018214
+P 10 -3226.912728 -22057.382632 -14268.046423 57.572362
+V 10 7151.977344 -16735.232725 24636.296288 .007210
+P 11 22872.748715 11792.480532 6932.755093 186.762074
+V 11 4181.585876 8875.993874 -28600.936787 .036957
+P 13 25898.948043 -5700.828612 393.312670 -13.743515
+V 13 -90.073692 2136.292891 32353.917313 .009723
+P 14 -15489.382884 14670.678223 15866.607561 -31.490977
+V 14 -19802.480999 3225.490054 -22410.936061 -.000725
+P 15 -4193.662530 16937.209930 -20141.217771 378.264278
+V 15 -16911.309817 -18727.375016 -12642.844318 .053053
+P 16 -1146.486544 25073.245793 -8548.657291 1.978560
+V 16 -5616.687509 9783.721432 29233.847635 -.001634
+P 17 -16337.960182 -21467.400804 -190.217225 -91.718151
+V 17 1296.903949 -1638.344842 31358.893555 .192963
+P 18 -16229.364205 13752.363222 -15684.469929 -119.207759
+V 18 4516.905203 -19719.482135 -22126.118077 -.037267
+P 19 17516.346421 9268.804358 -17570.683776 -11.933250
+V 19 -21823.454496 5829.398424 -18606.559530 -.008519
+P 20 14315.610576 5001.897742 21734.813265 -90.680356
+V 20 -7657.915969 26686.992513 -1077.672686 .026883
+P 21 -16242.462488 3947.023909 -20739.267158 88.086377
+V 21 -16763.807101 -20219.618081 8840.196833 .010737
+P 22 -12581.765309 22495.189083 -6299.719855 16.282078
+V 22 142.052319 -8649.878431 -30359.530183 .003626
+P 23 24727.884068 856.113497 9711.419785 211.524820
+V 23 -11489.066062 5312.685367 28405.476435 .005573
+P 24 3166.419856 -17437.857382 19999.235025 89.655184
+V 24 17080.874853 18066.922609 13364.151748 .028844
+P 25 2654.001738 19611.536798 18084.519080 84.370313
+V 25 -17853.083547 -13387.224349 17545.225179 .008272
+P 26 -17043.306244 -8957.849965 -18865.934200 317.372974
+V 26 22310.250391 -5800.042382 -17102.658259 .055092
+P 27 16759.566215 -3693.265819 -19853.168076 513.891813
+V 27 18555.023951 18678.614496 11432.773448 .062947
+P 28 12155.556936 -22164.406982 -7358.970779 46.484289
+V 28 43.574614 10178.432010 -30033.449173 .001104
+P 29 -12503.812509 -10889.650518 -20519.339508 177.541576
+V 29 25496.569724 -7486.744525 -11278.541974 -.190294
+P 30 -16347.004205 6121.218840 19738.806399 443.273796
+V 30 5026.163813 -25248.591204 11951.902995 -.144127
+* 2005 1 20 20 0 .00000000
+P 1 -1602.994924 15503.305033 21694.145793 383.958455
+V 1 -26134.312273 6931.852725 -6970.283489 .020834
+P 2 -11109.157015 -21137.356514 11411.734396 -42.261620
+V 2 12703.939189 8247.829344 26849.339580 .055780
+P 3 5685.271976 14961.180638 -21317.661082 78.274682
+V 3 -25008.945956 9970.334906 594.583494 .030311
+P 4 1935.406388 -17477.447122 19801.743312 440.215858
+V 4 19201.575546 16474.911013 12997.611698 -.206909
+P 5 -14098.682318 -8686.451700 20636.880423 73.312532
+V 5 4590.283484 -26239.285048 -7680.533036 .024919
+P 6 -25700.226102 6087.034545 3518.621897 -158.099669
+V 6 2875.727995 -4679.872224 30664.973879 .877998
+P 7 16267.151383 -16513.358079 13245.328729 61.138925
+V 7 16231.010013 -3059.857391 -24668.223151 -.303242
+P 8 12740.932939 -8590.841299 -21867.342325 -19.129419
+V 8 19352.247220 19244.657552 3393.566242 -.011751
+P 9 -21785.495227 -14853.570017 3998.362117 -24.974199
+V 9 -2508.724348 -5725.851743 -30859.070844 -.018222
+P 10 -2657.550047 -23454.653973 -11933.062378 57.572661
+V 10 5541.401424 -14244.498514 27177.696850 .007207
+P 11 23150.775739 12494.127058 4306.943680 186.765237
+V 11 1944.143909 6748.815769 -29667.358319 .036959
+P 13 25737.092479 -5464.670342 3293.369175 -13.742587
+V 13 -3480.489758 3180.311900 31998.715482 .009728
+P 14 -17148.365750 14977.515532 13719.262636 -31.490981
+V 14 -17017.339569 3524.516152 -25239.785437 -.000723
+P 15 -5796.395633 15250.945065 -21104.446414 378.267961
+V 15 -18666.326546 -18665.418294 -8733.867182 .053052
+P 16 -1591.547047 25819.404200 -5851.275730 1.978466
+V 16 -4329.219890 6751.999650 30621.272850 -.001627
+P 17 -16126.983731 -21496.289853 2625.922949 -91.700466
+V 17 3442.073937 948.368320 31136.407709 .192991
+P 18 -15838.277642 11864.977371 -17533.108172 -119.211400
+V 18 4110.186361 -22166.985036 -18895.487659 -.037264
+P 19 15479.600965 9863.812760 -19087.935443 -11.934050
+V 19 -23353.783708 7411.979778 -15061.056625 -.008513
+P 20 13692.453099 7408.265825 21449.893713 -90.677926
+V 20 -6174.654740 26697.314707 -5244.568440 .026887
+P 21 -17760.468958 2205.365333 -19769.210568 88.087137
+V 21 -16896.664131 -18439.541653 12683.815672 .010737
+P 22 -12544.822773 21570.481925 -8969.791219 16.282685
+V 22 607.872893 -11888.447379 -28889.329548 .003639
+P 23 23571.057978 1400.932097 12177.168094 211.525301
+V 23 -14158.175707 6839.752750 26309.843486 .005586
+P 24 4787.313045 -15810.001486 21029.792496 89.657191
+V 24 18900.600026 18028.674819 9506.296894 .028844
+P 25 954.573604 18396.820758 19508.003993 84.371216
+V 25 -19875.894216 -13532.715209 14045.137956 .008283
+P 26 -14973.378280 -9558.706797 -20245.547755 317.377938
+V 26 23603.900813 -7566.388543 -13511.797895 .055082
+P 27 18418.997003 -2100.127826 -18650.544711 513.897756
+V 27 18239.755062 16690.919785 15248.604683 .062942
+P 28 12144.640812 -21101.665211 -9988.964266 46.484115
+V 28 -215.482449 13418.276015 -28324.209845 .001113
+P 29 -10178.819581 -11641.551988 -21351.155960 177.524620
+V 29 26075.592173 -9215.574929 -7177.735555 -.190304
+P 30 -15938.574865 3785.341510 20637.385277 443.260995
+V 30 4010.845977 -26579.850255 7987.091175 -.144138
+* 2005 1 20 20 15 .00000000
+P 1 -3896.773141 16179.771620 20885.071275 383.960402
+V 1 -24760.187510 8054.386224 -10984.333003 .020840
+P 2 -9844.235837 -20338.335003 13721.784328 -42.256569
+V 2 15401.687097 9431.945137 24409.065465 .055771
+P 3 3464.069254 15907.696602 -21082.753393 78.276961
+V 3 -24275.892460 11023.842360 4619.676479 .030309
+P 4 3744.182285 -16000.797932 20796.422556 440.197386
+V 4 20945.332250 16264.214703 9076.101223 -.206914
+P 5 -13747.411818 -11010.334824 19768.166212 73.315943
+V 5 3226.547630 -25316.891538 -11594.977884 .024924
+P 6 -25308.496528 5605.153680 6240.656345 -158.020395
+V 6 5787.829734 -6080.585700 29738.994739 .877954
+P 7 17604.300744 -16773.911686 10919.071909 61.111825
+V 7 13458.137167 -2660.887657 -26954.894438 -.303249
+P 8 14509.646037 -6923.882035 -21378.295770 -19.130727
+V 8 19879.550508 17747.885884 7457.156614 -.011752
+P 9 -21901.950101 -15263.654399 1194.973221 -24.976240
+V 9 -30.432408 -3434.630792 -31349.815408 -.018230
+P 10 -2221.012416 -24609.698936 -9390.142812 57.572755
+V 10 4211.983799 -11364.478405 29249.974873 .007204
+P 11 23214.076624 13014.127452 1607.805814 186.768566
+V 11 -580.164595 4849.932511 -30228.218461 .036961
+P 13 25278.628659 -5116.612772 6136.456123 -13.741815
+V 13 -6665.557102 4615.722374 31089.656642 .009733
+P 14 -18545.518368 15292.211157 11336.399344 -31.490810
+V 14 -13999.577933 3394.806589 -27637.097609 -.000723
+P 15 -7545.428085 13591.207395 -21709.218789 378.272851
+V 15 -20149.196863 -18144.897409 -4688.429042 .053052
+P 16 -1936.489155 26281.704179 -3052.742739 1.978210
+V 16 -3399.298831 3490.518401 31478.533014 -.001619
+P 17 -15710.247940 -21306.300025 5399.053890 -91.683163
+V 17 5858.161690 3215.335170 30404.744902 .193019
+P 18 -15500.204777 9773.463709 -19075.892781 -119.214539
+V 18 3348.158926 -24242.973907 -15339.539987 -.037261
+P 19 13328.197704 10605.053723 -20273.790299 -11.934821
+V 19 -24366.987019 9064.181415 -11252.922297 -.008506
+P 20 13205.574235 9791.026062 20793.550389 -90.675544
+V 20 -4644.701590 26161.987822 -9319.539739 .026892
+P 21 -19270.264149 634.621967 -18463.018741 88.088265
+V 21 -16576.814963 -16435.796051 16299.642456 .010737
+P 22 -12485.017007 20358.676189 -11484.704441 16.282923
+V 22 652.016903 -15013.507224 -26916.265083 .003652
+P 23 22191.211429 2094.370367 14433.513881 211.525804
+V 23 -16434.464316 8603.134294 23758.551494 .005598
+P 24 6560.395290 -14206.338829 21705.799113 89.659502
+V 24 20449.522786 17536.185880 5496.186483 .028845
+P 25 -915.974100 17188.410078 20605.855314 84.374181
+V 25 -21642.778770 -13253.322513 10318.867612 .008292
+P 26 -12810.089686 -10320.967180 -21291.055752 317.382842
+V 26 24381.935845 -9371.522645 -9687.671583 .055071
+P 27 20027.900511 -693.499676 -17117.238246 513.903641
+V 27 17431.063154 14549.997661 18770.709073 .062937
+P 28 12129.243232 -19754.184478 -12442.223505 46.484056
+V 28 -59.399490 16489.380189 -26111.803550 .001123
+P 29 -7827.172755 -12545.813371 -21807.306614 177.508012
+V 29 26089.736239 -10856.439081 -2942.856826 -.190314
+P 30 -15630.939857 1351.894610 21172.273849 443.248167
+V 30 2799.536262 -27410.071982 3882.070002 -.144149
+* 2005 1 20 20 30 .00000000
+P 1 -6046.590133 16943.646325 19722.428505 383.963538
+V 1 -22945.256766 8862.366687 -14816.376544 .020846
+P 2 -8338.993816 -19453.466588 15792.319981 -42.251489
+V 2 18028.075392 10154.677530 21534.196444 .055762
+P 3 1328.502581 16937.288303 -20488.205142 78.278840
+V 3 -23113.609913 11804.870897 8575.263736 .030308
+P 4 5695.749876 -14562.742171 21431.046409 440.178793
+V 4 22362.243018 15625.573279 5008.141617 -.206918
+P 5 -13514.699323 -13228.490714 18556.054831 73.318248
+V 5 1969.439528 -23895.029258 -15300.552007 .024929
+P 6 -24667.000336 4983.980179 8856.520003 -157.941274
+V 6 8414.197147 -7765.825486 28309.260390 .877909
+P 7 18686.382939 -16979.671839 8406.923428 61.084566
+V 7 10577.593829 -1840.973488 -28792.606560 -.303257
+P 8 16305.503646 -5404.186509 -20529.099966 -19.132613
+V 8 19949.107224 15985.887189 11385.973064 -.011752
+P 9 -21783.266543 -15481.302613 -1628.660642 -24.977250
+V 9 2704.402602 -1459.550153 -31309.378261 -.018237
+P 10 -1889.050985 -25490.947662 -6683.301887 57.573985
+V 10 3226.764744 -8174.440611 30814.718623 .007202
+P 11 23039.684760 13375.695243 -1118.691754 186.771820
+V 11 -3326.196821 3236.617051 -30274.564455 .036964
+P 13 24546.167688 -4623.636050 8873.339235 -13.741005
+V 13 -9555.165374 6390.742123 29641.973374 .009739
+P 14 -19664.195908 15575.016894 8758.790436 -31.490777
+V 14 -10845.468015 2813.602268 -29561.157308 -.000725
+P 15 -9412.847197 11997.140957 -21946.315198 378.277157
+V 15 -21285.658692 -17215.584446 -574.715720 .053051
+P 16 -2215.255890 26443.568455 -201.475100 1.978220
+V 16 -2863.278309 91.577208 31791.609769 -.001612
+P 17 -15066.543834 -20928.784824 8083.889658 -91.666154
+V 17 8472.978744 5107.619376 29177.058834 .193047
+P 18 -15244.392882 7514.479047 -20286.369310 -119.217856
+V 18 2293.740291 -25878.230244 -11521.862624 -.037259
+P 19 11109.588498 11494.740180 -21107.576435 -11.935534
+V 19 -24845.988650 10695.519935 -7248.736516 -.008500
+P 20 12855.075133 12101.253951 19777.263654 -90.673069
+V 20 -3159.038386 25088.292037 -13231.706187 .026896
+P 21 -20730.137599 -749.008589 -16843.882184 88.089249
+V 21 -15785.609572 -14296.473816 19628.741022 .010736
+P 22 -12439.516538 18874.343810 -13800.603090 16.283331
+V 22 294.857692 -17928.995346 -24472.951122 .003664
+P 23 20626.337270 2954.240039 16441.311193 211.526403
+V 23 -18261.872448 10524.344401 20794.298049 .005610
+P 24 8457.837037 -12665.660060 22016.529815 89.663707
+V 24 21652.484779 16638.416784 1400.225703 .028845
+P 25 -2931.236489 16022.644298 21360.441256 84.375093
+V 25 -23080.329910 -12593.662891 6427.373940 .008301
+P 26 -10600.393176 -11243.965947 -21984.108780 317.387668
+V 26 24635.111105 -11122.817431 -5689.666438 .055061
+P 27 21541.847963 517.182908 -15282.426116 513.909457
+V 27 16131.643581 12352.730728 21939.449454 .062932
+P 28 12145.538464 -18141.536118 -14675.168540 46.484105
+V 28 482.413736 19295.469571 -23435.692902 .001134
+P 29 -5499.172007 -13590.223088 -21879.124023 177.491199
+V 29 25554.378186 -12314.562407 1350.173898 -.190324
+P 30 -15438.057324 -1132.483089 21334.172590 443.235419
+V 30 1475.079528 -27707.980412 -289.089747 -.144159
+* 2005 1 20 20 45 .00000000
+P 1 -8015.705333 17763.598765 18225.517950 383.966699
+V 1 -20756.922392 9290.861928 -18402.053709 .020851
+P 2 -6604.245842 -18524.227808 17586.349218 -42.246444
+V 2 20485.798065 10420.202380 18273.231177 .055752
+P 3 -685.082423 18022.457140 -19543.318867 78.281630
+V 3 -21575.137012 12249.102135 12393.812626 .030307
+P 4 7757.501682 -13199.332482 21695.631373 440.160067
+V 4 23383.462055 14616.100315 864.971382 -.206922
+P 5 -13387.326030 -15297.636000 17022.253806 73.319904
+V 5 898.258784 -22013.556689 -18733.408752 .024933
+P 6 -23804.484342 4200.637886 11321.976850 -157.862193
+V 6 10689.580990 -9672.949325 26401.572096 .877865
+P 7 19507.721372 -17092.678459 5750.951847 61.057100
+V 7 7678.831795 -601.379146 -30145.608304 -.303264
+P 8 18085.841642 -4051.807375 -19334.785341 -19.133843
+V 8 19531.111582 14044.538979 15116.081514 -.011752
+P 9 -21409.779203 -15537.457101 -4424.971773 -24.979279
+V 9 5618.274569 146.622646 -30744.441307 -.018245
+P 10 -1628.427351 -26074.524963 -3859.610955 57.574297
+V 10 2633.190282 -4765.574233 31842.532171 .007199
+P 11 22610.939728 13606.631122 -3826.157722 186.774887
+V 11 -6219.380221 1953.226156 -29805.922590 .036968
+P 13 23569.932726 -3958.096849 11456.586483 -13.739995
+V 13 -12070.801389 8438.060522 27680.428530 .009745
+P 14 -20496.610381 15784.975616 6030.608987 -31.490741
+V 14 -7654.939092 1776.910753 -30978.232503 -.000727
+P 15 -11364.562544 10502.766491 -21812.676283 378.282406
+V 15 -22013.115037 -15941.162689 3538.736186 .053051
+P 16 -2464.277124 26296.987782 2653.277443 1.978136
+V 16 -2739.896131 -3347.321839 31556.028262 -.001605
+P 17 -14181.569883 -20399.393300 10636.635813 -91.649488
+V 17 11205.653000 6584.945778 27473.296786 .193075
+P 18 -15093.865063 5130.238597 -21144.010889 -119.221255
+V 18 1021.833590 -27018.842300 -7510.375510 -.037256
+P 19 8871.903851 12526.884151 -21574.782553 -11.936225
+V 19 -24792.818660 12214.856909 -3118.612120 -.008495
+P 20 12632.965585 14291.535318 18418.769014 -90.670585
+V 20 -1805.880091 23502.407132 -16913.152279 .026900
+P 21 -22097.473330 -1937.395043 -14940.061765 88.090499
+V 21 -14521.632675 -12112.163590 22617.494946 .010734
+P 22 -12442.864788 17140.447906 -15876.956144 16.283736
+V 22 -425.834065 -20545.104083 -21600.577922 .003676
+P 23 18918.747132 3990.884698 18165.594555 211.527096
+V 23 -19600.786745 12516.448924 17467.163765 .005621
+P 24 10445.535614 -11221.708672 21957.283464 89.666315
+V 24 22445.670752 15398.189391 -2714.283925 .028845
+P 25 -5058.649546 14931.230934 21759.714550 84.375794
+V 25 -24125.495162 -11611.707055 2433.657207 .008310
+P 26 -8391.281774 -12318.679332 -22311.860195 317.393071
+V 26 24371.796601 -12727.719535 -1580.571352 .055050
+P 27 22917.495847 1531.173325 -13180.290771 513.915428
+V 27 14362.789461 10194.667002 24703.367062 .062927
+P 28 12226.265818 -16291.585048 -16648.182738 46.484041
+V 28 1363.310594 21749.137212 -20344.339187 .001147
+P 29 -3242.828949 -14754.278112 -21564.854514 177.474115
+V 29 24504.825636 -13501.121165 5623.897185 -.190334
+P 30 -15366.202330 -3619.181218 21120.508609 443.222518
+V 30 124.756544 -27461.181529 -4451.233507 -.144170
+* 2005 1 20 21 0 .00000000
+P 1 -9774.012101 18603.083779 16419.275368 383.967554
+V 1 -18274.752928 9289.316075 -21680.660838 .020856
+P 2 -4659.423411 -17590.885010 19071.598673 -42.241367
+V 2 22681.327129 10251.152044 14682.388765 .055742
+P 3 -2545.692502 19130.441412 -18263.409820 78.284140
+V 3 -19726.008865 12304.310562 16009.428363 .030306
+P 4 9891.231110 -11940.875007 21586.638885 440.141180
+V 4 23953.806028 13305.923827 -3281.640961 -.206926
+P 5 -13345.305811 -17178.796441 15193.984582 73.321740
+V 5 83.584938 -19728.053769 -21835.035563 .024938
+P 6 -22754.969421 3238.376384 13595.459348 -157.782969
+V 6 12562.359401 -11728.908737 24049.333134 .877821
+P 7 20070.709639 -17075.879675 2996.109744 61.029567
+V 7 4851.179009 1038.971282 -30985.703604 -.303270
+P 8 19806.081187 -2878.837942 -17815.981429 -19.135323
+V 8 18612.952618 12014.279653 18587.128253 -.011752
+P 9 -20769.139084 -15467.097038 -7147.358250 -24.982167
+V 9 8626.606215 1347.159597 -29669.696438 -.018252
+P 10 -1402.413155 -26345.171445 -968.354884 57.575008
+V 10 2461.088954 -1237.541697 32313.720543 .007197
+P 11 21918.217156 13738.085220 -6468.539667 186.778094
+V 11 -9178.403234 1029.615062 -28830.284856 .036975
+P 13 22386.578633 -3099.012798 13841.408337 -13.739143
+V 13 -14148.499075 10677.449429 25238.896713 .009750
+P 14 -21043.991475 15881.629879 3198.680710 -31.490860
+V 14 -4527.824239 299.818785 -31863.200663 -.000730
+P 15 -13361.463107 9135.842770 -21311.388349 378.284953
+V 15 -22282.936028 -14396.639034 7584.058559 .053051
+P 16 -2720.848576 25842.825274 5462.293060 1.978057
+V 16 -3029.604323 -6727.135362 30776.871464 -.001599
+P 17 -13048.591669 -19756.691689 13015.588937 -91.632129
+V 17 13969.373679 7622.926019 25319.933164 .193104
+P 18 -15064.481358 2667.042983 -21634.548962 -119.224645
+V 18 -383.845267 -27628.212754 -3376.008780 -.037253
+P 19 6662.235233 13687.405232 -21667.318381 -11.936923
+V 19 -24228.445867 13534.113029 1065.093408 -.008490
+P 20 12523.575565 16317.628580 16741.735331 -90.668452
+V 20 -667.095547 21448.432554 -20300.136171 .026905
+P 21 -23330.306963 -2930.543310 -12784.378638 88.091592
+V 21 -12800.732034 -9972.539350 25218.284652 .010730
+P 22 -12525.476541 15187.621499 -17677.301928 16.284363
+V 22 -1456.388056 -22781.752359 -18348.262245 .003686
+P 23 17113.519903 5206.569839 19576.208536 211.527745
+V 23 -20429.516597 14487.457832 13833.812972 .005630
+P 24 12484.245353 -9902.041641 21529.421132 89.668208
+V 24 22778.960460 13889.713914 -6780.082526 .028845
+P 25 -7260.526246 13940.142916 21797.358768 84.376452
+V 25 -24727.821527 -10376.509467 -1598.066808 .008319
+P 26 -6228.206515 -13527.885038 -22267.242020 317.397745
+V 26 23617.812035 -14097.161750 2574.108894 .055040
+P 27 24114.214086 2356.119565 -10849.253678 513.921379
+V 27 12163.259402 8166.193976 27019.800309 .062922
+P 28 12399.263806 -14239.530483 -18326.378832 46.484163
+V 28 2521.425811 23775.351177 -16894.192039 .001160
+P 29 -1102.130981 -16009.892667 -20869.725779 177.457035
+V 29 22994.892984 -14337.039132 9800.898181 -.190345
+P 30 -15413.734065 -6059.343904 20535.464231 443.209501
+V 30 -1163.429980 -26676.623437 -8529.653864 -.144181
+* 2005 1 20 21 15 .00000000
+P 1 -11299.004858 19421.734192 14333.898640 383.970056
+V 1 -15587.574674 8823.655560 -24596.125467 .020862
+P 2 -2532.062122 -16690.867769 20221.166675 -42.236397
+V 2 24528.717885 9687.720823 10824.643531 .055732
+P 3 -4228.705108 20224.409675 -16669.607435 78.287842
+V 3 -17641.818093 11932.618590 19358.992218 .030304
+P 4 12054.460111 -10810.888236 21106.966092 440.122683
+V 4 24033.832858 11775.227505 -7360.652455 -.206931
+P 5 -13362.800273 -18838.626955 13103.458022 73.323279
+V 5 -415.543178 -17107.621712 -24553.217613 .024944
+P 6 -21556.442994 2087.384572 15638.725680 -157.703575
+V 6 13996.247237 -13853.034561 21292.936276 .877776
+P 7 20385.649075 -16894.712510 189.516592 61.002203
+V 7 2180.473937 3043.802430 -31293.063064 -.303277
+P 8 21421.302770 -1889.153734 -15998.558731 -19.135905
+V 8 17199.700238 9986.719605 21743.126563 -.011751
+P 9 -19856.812430 -15307.747478 -9750.880133 -24.984692
+V 9 11640.823819 2122.320161 -28107.289602 -.018258
+P 10 -1172.440029 -26296.836282 1939.864466 57.575558
+V 10 2721.367893 2305.345176 32218.775346 .007194
+P 11 20959.404349 13803.200976 -9000.880830 186.781422
+V 11 -12118.157008 480.098837 -27363.975138 .036981
+P 13 21037.771010 -2033.087380 15986.452345 -13.738186
+V 13 -15741.217971 13018.900792 22359.769511 .009756
+P 14 -21316.408228 15826.725265 311.686148 -31.490733
+V 14 -1560.100931 -1583.937464 -32200.034560 -.000733
+P 15 -15360.758495 7916.977921 -20451.579284 378.290484
+V 15 -22062.237678 -12665.393347 11495.018829 .053052
+P 16 -3021.483198 25090.788237 8177.232156 1.977801
+V 16 -3714.625988 -9950.982324 29468.620938 -.001593
+P 17 -11668.845664 -19040.697373 15181.711561 -91.614112
+V 17 16674.319928 8213.777121 22749.688492 .193132
+P 18 -15164.301090 173.655703 -21750.183593 -119.227459
+V 18 -1834.265333 -27688.365048 808.645854 -.037253
+P 19 4524.966233 14954.569259 -21383.656998 -11.937500
+V 19 -23191.863388 14571.866203 5229.109321 -.008486
+P 20 12504.278068 18140.007162 14775.337907 -90.665871
+V 20 185.107931 18986.713072 -23334.213596 .026911
+P 21 -24388.857392 -3736.363764 -10413.648114 88.092280
+V 21 -10655.428813 -7963.042434 27390.056928 .010727
+P 22 -12712.299315 13053.148574 -19169.925735 16.284870
+V 22 -2729.389986 -24571.705430 -14772.224392 .003693
+P 23 15256.847770 6595.189732 20648.359193 211.528414
+V 23 -20745.084672 16343.950166 9956.559127 .005638
+P 24 14530.897930 -8727.130154 20740.320984 89.671005
+V 24 22617.793256 12195.741097 -10730.867617 .028845
+P 25 -9495.275337 13068.736740 21472.861155 84.377458
+V 25 -24851.263863 -8965.584981 -5603.177881 .008327
+P 26 -4153.535653 -14846.628674 -21849.175277 317.402658
+V 26 22415.667713 -15148.941670 6706.926964 .055029
+P 27 25095.581881 3007.440986 -8331.165916 513.927145
+V 27 9587.486828 6349.083023 28855.234232 .062916
+P 28 12686.216490 -12026.653458 -19680.264806 46.484481
+V 28 3882.354619 25314.437704 -13148.480177 .001172
+P 29 884.530535 -17322.432458 -19805.870599 177.440258
+V 29 21094.693409 -14756.397517 13805.412204 -.190355
+P 30 -15571.198996 -8405.601197 19589.868829 443.196766
+V 30 -2304.479456 -25380.255838 -12451.591443 -.144192
+* 2005 1 20 21 30 .00000000
+P 1 -12576.467597 20176.917168 12004.388392 383.973642
+V 1 -12790.205439 7877.805883 -27097.945031 .020866
+P 2 -256.956717 -15857.256848 21014.080452 -42.231422
+V 2 25953.163441 8786.020537 6768.566449 .055722
+P 3 -5716.648040 21264.834533 -14788.554097 78.290843
+V 3 -15405.364321 11112.236204 22383.302085 .030303
+P 4 14201.926104 -9825.344187 20265.826463 440.104397
+V 4 23601.293239 10110.957284 -11302.935154 -.206935
+P 5 -13409.266241 -20250.510558 10787.269763 73.325311
+V 5 -553.956093 -14232.188213 -26842.853466 .024949
+P 6 -20249.423139 745.340927 17417.458323 -157.624165
+V 6 14971.432407 -15960.085092 18179.074769 .877731
+P 7 20470.284491 -16518.624433 -2620.327016 60.974956
+V 7 -254.253403 5360.494807 -31056.931977 -.303284
+P 8 22887.836149 -1078.460134 -13913.202774 -19.136561
+V 8 15313.972667 8051.246753 24533.177262 -.011751
+P 9 -18676.299599 -15097.930706 -12192.903976 -24.985445
+V 9 14571.489069 2469.685341 -26086.226509 -.018265
+P 10 -899.831944 -25932.914829 4814.058720 57.576219
+V 10 3405.493230 5758.165597 31558.640982 .007192
+P 11 19740.103811 13835.691556 -11380.059523 186.784919
+V 11 -14952.822251 302.996969 -25431.397165 .036987
+P 13 19568.580621 -755.433363 17854.536663 -13.737159
+V 13 -16820.553431 15366.165649 19093.196032 .009760
+P 14 -21332.257535 15585.841964 -2580.674077 -31.490855
+V 14 1159.728876 -3823.133580 -31982.135117 -.000737
+P 15 -17317.454791 6859.018651 -19248.229896 378.294725
+V 15 -21335.088242 -10835.971862 15207.932006 .053053
+P 16 -3400.300146 24059.070209 10751.469823 1.977805
+V 16 -4759.730052 -12927.744825 27654.831895 -.001587
+P 17 -10051.674119 -18291.371731 17099.180976 -91.595622
+V 17 19230.694216 8366.514253 19801.229497 .193160
+P 18 -15393.269107 -2300.403763 -21489.672403 -119.230898
+V 18 -3238.754883 -27200.507286 4970.678603 -.037255
+P 19 2500.218335 16299.740044 -20728.856456 -11.938233
+V 19 -21738.465112 15256.686740 9300.597635 -.008484
+P 20 12546.493476 19725.222458 12553.735018 -90.663607
+V 20 691.104813 16191.539079 -25963.255764 .026916
+P 21 -25236.978785 -4370.148199 -7868.066909 88.093655
+V 21 -8133.743834 -6161.766096 29098.792440 .010723
+P 22 -13021.695426 10779.685244 -20328.456006 16.285601
+V 22 -4166.414798 -25863.209784 -10934.804184 .003698
+P 23 13394.343559 8142.305743 21363.075801 211.529263
+V 23 -20563.292533 17994.790555 5902.308212 .005643
+P 24 16540.066440 -7709.729979 19603.251744 89.673843
+V 24 21944.489420 10404.434800 -14502.187363 .028845
+P 25 -11718.761438 12329.119625 20791.512833 84.378293
+V 25 -24475.509286 -7462.013057 -9517.454590 .008336
+P 26 -2205.109013 -16242.988686 -21062.706385 317.407737
+V 26 20823.210455 -15810.957134 10749.363917 .055019
+P 27 25830.697019 3507.415380 -5670.478451 513.933099
+V 27 6703.245791 4813.524099 30185.408133 .062910
+P 28 13101.666147 -9698.824617 -20686.293456 46.484733
+V 28 5362.368495 26324.406080 -9175.842776 .001182
+P 29 2685.701496 -18652.032443 -18392.106870 177.423128
+V 29 18887.740762 -14709.301195 17564.904576 -.190366
+P 30 -15821.763475 -10613.734563 18300.958488 443.184214
+V 30 -3219.963867 -23615.911870 -16147.664642 -.144203
+* 2005 1 20 21 45 .00000000
+P 1 -13600.856430 20825.398050 9470.006281 383.976754
+V 1 -9979.941487 6454.554343 -29142.075836 .020869
+P 2 2124.986329 -15117.451901 21435.741243 -42.226262
+V 2 26894.135221 7615.743365 2586.997325 .055712
+P 3 -6999.707689 22210.996699 -12652.001968 78.293565
+V 3 -13103.491653 9838.604165 25028.193261 .030301
+P 4 16287.169715 -8992.216037 19078.526960 440.085576
+V 4 22651.915211 8403.327326 -15042.382944 -.206939
+P 5 -13450.787506 -21395.396801 8285.729128 73.326543
+V 5 -302.108140 -11189.433284 -28666.614895 .024955
+P 6 -18875.447483 -782.318291 18901.797611 -157.545136
+V 6 15485.107891 -17963.447110 14759.988215 .877687
+P 7 20349.048428 -15922.472954 -5384.382826 60.948013
+V 7 -2383.916682 7921.784296 -30276.197941 -.303291
+P 8 24164.810862 -434.641651 -11594.926213 -19.137817
+V 8 12995.196246 6291.736398 26912.125432 -.011751
+P 9 -17239.072667 -14875.615204 -14433.692804 -24.986870
+V 9 17331.387370 2403.896252 -23641.759059 -.018271
+P 10 -547.547783 -25266.119297 7603.797039 57.577728
+V 10 4485.784559 9019.474008 30344.748752 .007189
+P 11 18273.556568 13868.402238 -13565.500629 186.788269
+V 11 -17598.990487 480.777616 -23064.667022 .036992
+P 13 18025.756686 730.035055 19413.308408 -13.736180
+V 13 -17377.709290 17620.552236 15496.174505 .009763
+P 14 -21117.438488 15129.890300 -5428.536697 -31.490666
+V 14 3553.977447 -6350.909861 -31212.501316 -.000742
+P 15 -19185.912009 5966.735425 -17721.905685 378.300717
+V 15 -20103.111787 -8998.735574 18662.516845 .053053
+P 16 -3887.514514 22773.678816 13140.892005 1.977597
+V 16 -6113.687007 -15575.427112 25367.653692 -.001582
+P 17 -8214.385259 -17547.119683 18735.909919 -91.577929
+V 17 21551.779611 8106.608543 16518.841980 .193188
+P 18 -15743.234951 -4706.583724 -20858.299903 -119.234084
+V 18 -4508.700755 -26184.844506 9038.171232 -.037257
+P 19 622.472272 17688.414299 -19714.460683 -11.939104
+V 19 -19937.780826 15530.074050 13208.485163 -.008480
+P 20 12616.934601 21047.035107 10115.458329 -90.661011
+V 20 806.262100 13148.315274 -28142.342786 .026922
+P 21 -25843.482495 -4853.779282 -5190.562668 88.094858
+V 21 -5297.490181 -4636.641997 30317.877406 .010716
+P 22 -13464.592123 8413.769978 -21132.365366 16.286027
+V 22 -5681.230427 -26622.028443 -6903.333858 .003701
+P 23 11569.375282 9825.517750 21707.572622 211.529890
+V 23 -19918.051144 19354.790094 1741.397039 .005646
+P 24 18465.522370 -6854.542059 18137.166777 89.677458
+V 24 20758.988016 8606.067177 -18032.311573 .028845
+P 25 -13885.761058 11725.786244 19764.336898 84.380389
+V 25 -23596.778924 -5951.358203 -13277.874513 .008344
+P 26 -414.940425 -17679.121732 -19919.060530 317.412761
+V 26 18911.691419 -16024.183627 14632.804059 .055008
+P 27 26295.255381 3884.024573 -2913.412304 513.939095
+V 27 3588.900363 3615.736730 30995.216281 .062905
+P 28 13652.333943 -7304.836276 -21327.283291 46.484976
+V 28 6872.017378 26782.514831 -5048.846872 .001191
+P 29 4277.919066 -19955.143027 -16653.578380 177.406071
+V 29 16467.489162 -14164.069501 21011.577078 -.190376
+P 30 -16141.954961 -12644.208820 16692.011588 443.171302
+V 30 -3841.291051 -21443.471123 -19553.191361 -.144214
+* 2005 1 20 22 0 .00000000
+P 1 -14375.359440 21325.050673 6773.656088 383.979027
+V 1 -7252.920671 4575.714523 -30691.756109 .020872
+P 2 4568.154593 -14492.077347 21478.243466 -42.221260
+V 2 27307.960959 6257.224483 -1644.419657 .055701
+P 3 -8075.942911 23022.562722 -10296.310783 78.296541
+V 3 -10823.730275 8124.879728 27245.614034 .030299
+P 4 18264.162525 -8311.344150 17566.149779 440.067303
+V 4 21199.508443 6742.261301 -18516.923713 -.206944
+P 5 -13451.536408 -22262.351157 5642.135813 73.328325
+V 5 352.799118 -8071.462125 -29995.447635 .024962
+P 6 -17475.541882 -2482.421590 20066.804856 -157.465998
+V 6 15551.388226 -19778.377570 11092.653103 .877642
+P 7 20052.036746 -15087.742392 -8053.961753 60.920928
+V 7 -4152.184949 10648.116135 -28959.781013 -.303298
+P 8 25215.613762 61.601369 -9082.524621 -19.139665
+V 8 10298.285362 4783.470626 28841.155022 -.011751
+P 9 -15564.241886 -14676.712873 -16436.939761 -24.987528
+V 9 19838.479977 1955.829863 -20814.768068 -.018279
+P 10 -81.860926 -24317.986540 10260.142602 57.578349
+V 10 5916.515582 11995.251093 28598.814289 .007186
+P 11 16580.287232 13931.912676 -15519.848963 186.791766
+V 11 -19978.707627 980.797352 -20303.133567 .036996
+P 13 16455.947377 2410.557870 20635.814253 -13.735270
+V 13 -17423.694393 19684.830099 11631.514247 .009765
+P 14 -20704.243904 14436.410799 -8182.740907 -31.490646
+V 14 5558.696418 -9087.248528 -29903.730146 -.000748
+P 15 -20921.428223 5236.811619 -15898.414064 378.304928
+V 15 -18385.477029 -7242.475698 21802.696592 .053053
+P 16 -4508.086449 21267.477020 15304.642054 1.977662
+V 16 -7711.342678 -17824.145608 22647.209513 -.001577
+P 17 -6181.840350 -16843.344106 20064.036163 -91.560024
+V 17 23556.937983 7475.110833 12952.064815 .193215
+P 18 -16198.300530 -6998.974022 -19867.731460 -119.237695
+V 18 -5561.124765 -24679.660918 12941.447623 -.037259
+P 19 -1080.581354 19081.498419 -18358.282173 -11.939867
+V 19 -17870.664097 15348.876410 16884.753644 -.008477
+P 20 12679.042203 22087.271763 7502.729079 -90.658555
+V 20 502.747632 9950.312149 -29834.517205 .026926
+P 21 -26183.283679 -5214.703702 -2426.114140 88.095982
+V 21 -2220.096887 -3443.015958 31028.385349 .010707
+P 22 -14043.936443 6004.181129 -21567.364617 16.286318
+V 22 -7183.342593 -26832.786068 -2748.890889 .003703
+P 23 9821.493389 11615.156989 21675.502140 211.530544
+V 23 -18859.995850 20348.163994 -2453.653235 .005648
+P 24 20261.831766 -6158.174552 16366.420779 89.680156
+V 24 19078.977322 6889.643052 -21263.080336 .028844
+P 25 -15951.466227 11255.537406 18407.944462 84.381006
+V 25 -22228.081043 -4518.499825 -16823.415946 .008352
+P 26 1191.881238 -19112.560017 -18435.602569 317.417994
+V 26 16763.292935 -15745.276173 18289.614423 .054997
+P 27 26472.369075 4169.613049 -107.145539 513.945051
+V 27 330.368543 2796.210107 31278.440328 .062899
+P 28 14336.775969 -4894.630140 -21592.702683 46.485010
+V 28 8319.951261 26686.017815 -842.439321 .001200
+P 29 5646.434697 -21186.239196 -14621.265029 177.388689
+V 29 13933.466015 -13108.652467 24083.755794 -.190387
+P 30 -16502.677942 -14463.509681 14791.871487 443.158410
+V 30 -4112.525005 -18936.394282 -22609.371598 -.144226
+* 2005 1 20 22 15 .00000000
+P 1 -14911.628542 21636.550182 3961.194401 383.981269
+V 1 -4700.493328 2281.571689 -31718.244940 .020875
+P 2 7023.837408 -13994.175056 21140.557435 -42.216266
+V 2 27169.715368 4798.028904 -5848.796996 .055691
+P 3 -8951.192635 23661.175367 -7761.851911 78.299479
+V 3 -8650.871253 6001.727937 28994.628115 .030296
+P 4 20088.913936 -7774.620294 15755.147571 440.048539
+V 4 19275.399927 5213.901575 -21669.428905 -.206948
+P 5 -13375.306882 -22848.798539 2902.018632 73.329839
+V 5 1406.354876 -4971.357092 -30808.914072 .024968
+P 6 -16088.724090 -4334.374192 20892.850454 -157.386701
+V 6 15200.618925 -21325.174382 7237.926196 .877596
+P 7 19613.750854 -14003.521891 -10581.636525 60.893733
+V 7 -5517.835284 13450.582047 -27126.811817 -.303305
+P 8 26009.203233 435.851925 -6417.981553 -19.140481
+V 8 7291.786279 3590.365804 30288.321698 -.011751
+P 9 -13677.964458 -14533.674453 -18170.247673 -24.989336
+V 9 22018.640811 1171.257320 -17651.148760 -.018286
+P 10 526.094927 -23118.042712 12736.560318 57.579051
+V 10 7635.775276 14602.549682 26352.402388 .007183
+P 11 14687.482780 14053.231689 -17209.594569 186.794980
+V 11 -22022.329987 1756.611641 -17192.790731 .037000
+P 13 14903.937926 4264.835143 21500.972604 -13.734274
+V 13 -16988.736602 21467.082913 7566.690242 .009766
+P 14 -20130.011655 13490.626619 -10795.685688 -31.490774
+V 14 7126.071025 -11941.982051 -28077.843044 -.000755
+P 15 -22481.795192 4658.134594 -13808.391969 378.308242
+V 15 -16218.277341 -5651.106825 24577.345071 .053054
+P 16 -5280.581574 19578.976093 17205.805704 1.977512
+V 16 -9476.224140 -19618.639124 19540.850940 -.001573
+P 17 -3985.776763 -16211.102751 21060.376879 -91.542192
+V 17 25174.464470 6527.253056 9155.270647 .193242
+P 18 -16735.478890 -9135.866114 -18535.758162 -119.240765
+V 18 -6321.998739 -22739.722081 16614.244040 -.037260
+P 19 -2588.918020 20436.776072 -16684.071464 -11.940596
+V 19 -15626.049082 14687.097476 20265.661491 -.008474
+P 20 12694.553487 22836.375544 4760.713218 -90.656335
+V 20 -229.331907 6695.130352 -31011.385648 .026931
+P 21 -26238.333775 -5484.707482 378.950166 88.096891
+V 21 1015.959540 -2621.686758 31219.274040 .010698
+P 22 -14754.479005 3600.206901 -21625.680104 16.286858
+V 22 -8581.734239 -26499.562160 1455.041796 .003705
+P 23 8185.013145 13475.275583 21267.093164 211.531341
+V 23 -17454.435145 20911.644192 -6609.444953 .005648
+P 24 21885.935466 -5609.407767 14320.411143 89.684163
+V 24 16939.410602 5339.562507 -24140.729052 .028843
+P 25 -17872.985696 10907.684522 16744.318329 84.381954
+V 25 -20398.902843 -3244.467894 -20095.864598 .008359
+P 26 2598.046240 -20497.721522 -16635.696277 317.422604
+V 26 14468.173753 -14948.679572 21654.322502 .054987
+P 27 26353.103301 4399.417444 2700.969585 513.950890
+V 27 -2982.071109 2378.594783 31037.352599 .062892
+P 28 15145.386559 -2517.495676 -21478.813588 46.485299
+V 28 9616.786809 26052.070151 3367.617846 .001208
+P 29 6785.577348 -22299.619803 -12331.375013 177.371123
+V 29 11387.173553 -11551.211533 26727.119941 -.190398
+P 30 -16870.459441 -16045.235427 12634.369976 443.145465
+V 30 -3992.651242 -16178.745765 -25264.306535 -.144237
+* 2005 1 20 22 30 .00000000
+P 1 -15229.190183 21724.983658 1080.679288 383.981586
+V 1 -2405.736999 -370.386196 -32201.457484 .020878
+P 2 9441.969152 -13628.720073 20428.568908 -42.211384
+V 2 26474.330029 3329.212864 -9949.615950 .055681
+P 3 -9638.677321 24091.993494 -5092.326592 78.302586
+V 3 -6663.611682 3516.409064 30242.314490 .030294
+P 4 21720.998388 -7366.478256 13676.861597 440.030131
+V 4 16927.235811 3897.311321 -24448.515910 -.206953
+P 5 -13187.059081 -23160.456015 112.350381 73.331702
+V 5 2837.142727 -1979.740967 -31095.382353 .024976
+P 6 -14750.595930 -6310.748091 21365.923021 -157.307558
+V 6 14478.106120 -22532.168272 3259.647562 .877551
+P 7 19071.653521 -12667.196655 -12922.159695 60.866602
+V 7 -6456.523306 16234.335827 -24806.568392 -.303313
+P 8 26521.234376 718.843301 -3645.828468 -19.142210
+V 8 4055.543572 2762.598115 31229.022658 -.011751
+P 9 -11612.619818 -14474.227218 -19605.552816 -24.990997
+V 9 23808.103489 109.037370 -14201.203713 -.018294
+P 10 1298.978739 -21702.659533 14989.775350 57.578257
+V 10 9568.008352 16772.677671 23646.271745 .007180
+P 11 12628.126664 14254.634075 -18605.640429 186.798316
+V 11 -23671.088584 2749.811331 -13785.586423 .037005
+P 13 13410.975826 6263.671481 21993.938758 -13.733243
+V 13 -16120.940215 22884.355303 3372.614743 .009766
+P 14 -19435.588160 12286.205585 -13222.163686 -31.490812
+V 14 8226.186170 -14818.217237 -25765.939007 -.000762
+P 15 -23828.771583 4212.376866 -11486.828771 378.311808
+V 15 -13653.324997 -4300.544727 26940.978475 .053055
+P 16 -6216.286029 17750.927744 18812.023969 1.977582
+V 16 -11323.572968 -20920.208733 16102.304382 -.001570
+P 17 -1663.883807 -15675.913703 21706.842265 -91.524242
+V 17 26344.212245 5330.550941 5187.176949 .193269
+P 18 -17325.634866 -11081.141458 -16885.940649 -119.243723
+V 18 -6729.174305 -20434.071916 19994.781992 -.037266
+P 19 -3890.748891 21710.508043 -14721.080642 -11.941194
+V 19 -13297.409302 13537.019280 23292.872862 -.008471
+P 20 12625.141245 23293.630600 1936.729545 -90.653874
+V 20 -1381.503719 3481.018183 -31653.560242 .026937
+P 21 -25998.307391 -5698.537880 3177.667376 88.097660
+V 21 4322.029216 -2197.467234 30887.501375 .010690
+P 22 -15582.897256 1249.896984 -21306.207482 16.287337
+V 22 -9788.642907 -25645.703042 5633.977201 .003705
+P 23 6687.808770 15364.895765 20489.169436 211.531963
+V 23 -15778.710924 20997.117155 -10653.047095 .005646
+P 24 23298.658410 -5189.753648 12033.146239 89.686785
+V 24 14391.417192 4032.431040 -26616.686776 .028841
+P 25 -19610.793123 10664.534903 14800.523788 84.382381
+V 25 -18154.342061 -2203.382995 -23040.626625 .008367
+P 26 3794.593591 -21787.583877 -14548.453708 317.427362
+V 26 12121.116147 -13628.137248 24664.877268 .054976
+P 27 25936.723284 4610.025551 5464.149337 513.957067
+V 27 -6257.009852 2369.242232 30282.227363 .062886
+P 28 16060.745162 -220.314131 -20988.675460 46.485459
+V 28 10678.847139 24916.814714 7506.282116 .001215
+P 29 7698.744331 -23251.220633 -9824.634862 177.354239
+V 29 8927.943610 -9519.844938 28895.738127 -.190408
+P 30 -17208.870194 -17370.902601 10257.667037 443.132603
+V 30 -3457.203560 -13261.839767 -27473.837088 -.144249
+* 2005 1 20 22 45 .00000000
+P 1 -15354.553935 21561.315475 -1818.432745 383.982553
+V 1 -440.250800 -3307.419986 -32130.476095 .020881
+P 2 11772.935049 -13392.481190 19354.973100 -42.206275
+V 2 25236.866518 1941.428332 -13872.340537 .055671
+P 3 -10158.306894 24285.118783 -2334.008920 78.305325
+V 3 -4931.409896 731.182553 30964.535049 .030292
+P 4 23124.948210 -7064.668268 11366.972575 440.011817
+V 4 14217.204589 2861.483351 -26809.241460 -.206957
+P 5 -12854.416393 -23210.961539 -2679.247671 73.333583
+V 5 4607.589281 818.521030 -30852.069219 .024983
+P 6 -13492.074265 -8378.129469 21477.856210 -157.228409
+V 6 13442.311512 -23338.434007 -776.290997 .877506
+P 7 18464.595487 -11084.815227 -15033.364282 60.839632
+V 7 -6961.869194 18902.351918 -22038.150703 -.303320
+P 8 26734.955363 945.133235 -812.465316 -19.143893
+V 8 677.961761 2334.706631 31646.399983 -.011750
+P 9 -9405.780134 -14520.293746 -20719.494475 -24.991459
+V 9 25155.557390 -1161.093890 -10519.041800 -.018301
+P 10 2252.150212 -20113.650103 16980.563495 57.577903
+V 10 11627.122432 18453.782268 20529.519861 .007178
+P 11 10439.918868 14552.684057 -19683.803539 186.801722
+V 11 -24879.266687 3892.321583 -10138.633678 .037009
+P 13 12013.248888 8370.933965 22106.356730 -13.732192
+V 13 -14884.243668 23865.948081 -877.648351 .009765
+P 14 -18663.664011 10825.700282 -15420.156211 -31.490903
+V 14 8848.091486 -17616.041971 -23007.678492 -.000768
+P 15 -24929.422750 3874.846147 -8972.529387 378.316404
+V 15 -10756.399173 -3255.869998 28854.392179 .053057
+P 16 -7318.609294 15828.769951 20096.024996 1.977606
+V 16 -13163.686629 -21708.019775 12390.726961 -.001569
+P 17 741.344065 -15256.752699 21990.801383 -91.506899
+V 17 27019.901215 3962.445238 1110.270265 .193295
+P 18 -17934.668065 -12805.437928 -14947.161257 -119.247273
+V 18 -6734.822371 -17843.320183 23026.730664 -.037272
+P 19 -4982.763670 22859.100718 -12503.530232 -11.941675
+V 19 -10979.062405 11909.600221 25914.472482 -.008471
+P 20 12434.058911 23467.054053 -920.574467 -90.651170
+V 20 -2927.224114 403.186681 -31750.935054 .026942
+P 21 -25461.020278 -5892.421020 5923.162508 88.098669
+V 21 7606.374492 -2178.311550 30038.062305 .010682
+P 22 -16508.254397 -1001.633788 -20614.537837 16.287618
+V 22 -10723.216334 -24312.857576 9713.853737 .003704
+P 23 5350.367859 17239.470848 19355.046809 211.532707
+V 23 -13919.073501 20573.675066 -14513.345590 .005642
+P 24 24466.094689 -4874.291662 9542.743235 89.690424
+V 24 11500.636455 3034.124622 -28648.342385 .028839
+P 25 -21130.072439 10502.144051 12608.345997 84.382829
+V 25 -15553.694291 -1459.599825 -25607.546430 .008375
+P 26 4781.164938 -22935.463271 -12208.368195 317.432509
+V 26 9817.882757 -11797.501660 27263.968942 .054965
+P 27 25230.652847 4837.822187 8136.874576 513.962764
+V 27 -9405.070195 2757.369380 29030.797304 .062880
+P 28 17058.287995 1954.080423 -20132.013991 46.485621
+V 28 11431.614403 23333.707816 11500.693206 .001221
+P 29 8398.023927 -24000.364915 -7145.495850 177.337084
+V 29 6648.929832 -7061.479562 30552.886901 -.190418
+P 30 -17480.061395 -18430.438382 7703.523640 443.119743
+V 30 -2499.199503 -10280.656714 -29202.192336 -.144260
+* 2005 1 20 23 0 .00000000
+P 1 -15320.050093 21123.648440 -4686.129480 383.982777
+V 1 1138.640357 -6444.113868 -31503.917290 .020886
+P 2 13969.363177 -13274.232519 17939.025219 -42.201332
+V 2 23491.937958 721.048199 -17545.983572 .055660
+P 3 -10535.720217 24216.849860 465.073247 78.309054
+V 3 -3511.686439 -2278.921357 31146.541863 .030289
+P 4 24271.463203 -6841.283034 8864.894018 439.993551
+V 4 11219.754436 2162.755326 -28713.686246 -.206962
+P 5 -12349.058615 -23021.216578 -5425.298910 73.335693
+V 5 6665.414297 3347.362246 -30084.945881 .024991
+P 6 -12338.306235 -10498.193987 21226.470328 -157.149262
+V 6 12162.574181 -23696.127997 -4802.906913 .877461
+P 7 17831.178013 -9271.109012 -16877.022885 60.812504
+V 7 -7045.785649 21359.365971 -18869.882483 -.303328
+P 8 26641.842278 1151.631420 2034.551970 -19.145228
+V 8 -2747.052406 2324.241074 31531.671969 -.011748
+P 9 -7099.009936 -14687.125317 -21493.730525 -24.992447
+V 9 26023.839817 -2561.070331 -6661.978003 -.018310
+P 10 3392.877924 -18396.663203 18674.456591 57.578418
+V 10 13720.024215 19612.728890 17058.554969 .007177
+P 11 8164.020543 14957.483477 -20425.240826 186.805044
+V 11 -25615.907958 5109.082536 -6313.330880 .037012
+P 13 10740.575505 10544.785860 21836.493800 -13.731343
+V 13 -13355.762563 24356.231488 -5110.199926 .009763
+P 14 -17857.047104 9120.647248 -17351.574461 -31.491101
+V 14 9000.120420 -20236.369080 -19850.606137 -.000774
+P 15 -25757.280249 3615.574250 -6307.522628 378.320702
+V 15 -7605.002798 -2568.870829 30285.240262 .053060
+P 16 -8582.796807 13858.985997 21036.067553 1.977614
+V 16 -14905.439169 -21979.723394 8469.689556 -.001569
+P 17 3183.944429 -14965.281598 21905.391643 -91.488934
+V 17 27171.025461 2507.533745 -3009.873104 .193322
+P 18 -18524.890122 -14287.053304 -12753.094882 -119.250607
+V 18 -6307.299014 -15056.532115 25660.049716 -.037277
+P 19 -5870.039533 23840.777221 -10069.990587 -11.942404
+V 19 -8762.469657 9834.136710 28085.847965 -.008473
+P 20 12087.727071 23372.961571 -3762.064258 -90.648758
+V 20 -4822.879426 -2449.734793 -31302.796444 .026945
+P 21 -24632.563793 -6102.527536 8569.370529 88.099862
+V 21 10777.367411 -2555.036426 28683.947056 .010673
+P 22 -17502.775972 -3113.781408 -19562.855191 16.288115
+V 22 -11314.891109 -22559.275872 13622.458014 .003703
+P 23 4185.144278 19052.501000 17884.309684 211.533451
+V 23 -11967.196333 19628.991867 -18122.371405 .005636
+P 24 25360.818329 -4632.753484 6890.858719 89.693289
+V 24 8345.020016 2397.212562 -30199.770300 .028837
+P 25 -22401.912699 10391.312182 10203.853724 84.382034
+V 25 -12668.527479 -1065.152001 -27751.724004 .008384
+P 26 5565.922349 -23896.831874 -9654.827187 317.437248
+V 26 7651.414477 -9490.769161 29400.373020 .054955
+P 27 24250.155834 5117.476493 10675.534762 513.968747
+V 27 -12341.883914 3515.792375 27307.647907 .062873
+P 28 18107.272136 3968.358442 -18924.962810 46.485823
+V 28 11812.754004 21371.175402 15281.528000 .001227
+P 29 8903.470051 -24511.378760 -4341.277168 177.319598
+V 29 4633.411078 -4239.990305 31671.635913 -.190429
+P 30 -17646.353618 -19222.345778 5016.524860 443.106540
+V 30 -1129.363443 -7330.181202 -30422.445350 -.144272
+* 2005 1 20 23 15 .00000000
+P 1 -15162.438603 20398.228334 -7472.711525 383.983719
+V 1 2290.152715 -9685.486301 -30330.135835 .020891
+P 2 15987.826979 -13255.306225 16206.154033 -42.196186
+V 2 21292.306482 -253.511233 -20904.576559 .055650
+P 3 -10801.092955 23870.710353 3256.003864 78.312511
+V 3 -2447.495716 -5428.881116 30783.399039 .030286
+P 4 25138.395229 -6663.994919 6213.117801 439.975348
+V 4 8018.891895 1842.714695 -30131.432292 -.206967
+P 5 -11647.959855 -22618.470631 -8079.250261 73.338069
+V 5 8945.618791 5542.193196 -28808.517564 .024998
+P 6 -11307.808006 -12628.972517 20615.626328 -157.070088
+V 6 10716.435761 -23572.370438 -8753.112030 .877415
+P 7 17208.121598 -7249.155633 -18419.640721 60.785106
+V 7 -6738.009794 23515.818573 -15358.442613 -.303335
+P 8 26241.947967 1376.031850 4847.250282 -19.146180
+V 8 -6123.371023 2731.006791 30884.384384 -.011747
+P 9 -4736.533303 -14982.677064 -21915.198731 -24.994140
+V 9 26391.180517 -4007.308414 -2689.925881 -.018318
+P 10 4719.879235 -16599.443104 20042.348804 57.579369
+V 10 15750.429087 20236.201860 13295.926797 .007175
+P 11 5843.668623 15472.174897 -20816.792110 186.808353
+V 11 -25865.987880 6321.016148 -2374.399310 .037016
+P 13 9615.357679 12739.147613 21189.256169 -13.730312
+V 13 -11622.627359 24316.866444 -9251.626605 .009760
+P 14 -17056.941286 7191.319737 -18982.932964 -31.491137
+V 14 8709.448320 -22584.765309 -16349.324084 -.000780
+P 15 -26293.279944 3400.606929 -3536.420119 378.325608
+V 15 -4285.698007 -2276.048329 31208.553498 .053062
+P 16 -9995.962507 11887.438939 21616.290355 1.977736
+V 16 -16459.847701 -21751.380682 4406.104400 -.001572
+P 17 5615.974578 -14805.341869 21449.761925 -91.470797
+V 17 26784.277609 1054.462999 -7105.384656 .193348
+P 18 -19056.541755 -15512.555510 -10341.609599 -119.253920
+V 18 -5432.378292 -12167.842990 27851.706652 -.037283
+P 19 -6565.622310 24617.185565 -7462.690394 -11.943175
+V 19 -6732.677288 7357.207225 29770.424990 -.008474
+P 20 11557.199676 23035.225388 -6538.962293 -90.646239
+V 20 -7009.448444 -4998.966937 -30317.769644 .026947
+P 21 -23527.150423 -6363.440360 11071.751037 88.100752
+V 21 13746.696017 -3301.647560 26846.018997 .010663
+P 22 -18532.912649 -5051.844970 -18169.707567 16.288489
+V 22 -11506.351225 -20457.442890 17290.806195 .003701
+P 23 3196.235678 20757.240074 16102.470032 211.534182
+V 23 -10016.471823 18169.963234 -21416.576560 .005628
+P 24 25962.874643 -4430.819901 4122.056238 89.697164
+V 24 5012.165559 2158.833669 -31242.404456 .028834
+P 25 -23404.308286 10298.793626 7626.889889 84.381789
+V 25 -9580.291550 -1057.592353 -29434.322315 .008393
+P 26 6165.122383 -24631.101527 -6931.504646 317.442503
+V 26 5708.020998 -6761.289714 31030.274503 .054944
+P 27 23017.759121 5480.518077 13039.021254 513.974699
+V 27 -14990.857627 4602.196708 25143.692576 .062866
+P 28 19171.988059 5791.915514 -17389.689184 46.485830
+V 28 11774.594425 19109.717319 18784.219315 .001233
+P 29 9242.064123 -24755.006037 -1461.267182 177.302720
+V 29 2951.560488 -1133.642806 32235.193765 -.190439
+P 30 -17671.814016 -19753.541282 2243.270506 443.093644
+V 30 624.353092 -4501.809468 -31116.780361 -.144283
+* 2005 1 20 23 30 .00000000
+P 1 -14921.341667 19380.148436 -10129.671283 383.983270
+V 1 2991.679913 -12930.525636 -28627.249786 .020898
+P 2 17790.386856 -13310.461064 14187.449142 -42.191122
+V 2 18706.724765 -915.104648 -23888.499619 .055638
+P 3 -10987.761170 23238.205978 5989.873115 78.316932
+V 3 -1765.775722 -8626.905662 29880.198919 .030282
+P 4 25711.474512 -6497.457127 3456.521512 439.957216
+V 4 4705.160463 1926.658778 -31039.935344 -.206973
+P 5 -10734.426260 -22035.184404 -10596.225966 73.339855
+V 5 11372.930779 7352.128068 -27045.487905 .025006
+P 6 -10411.858780 -14726.263153 19655.190268 -156.990872
+V 6 9186.658679 -22950.603481 -12560.716208 .877370
+P 7 16628.712722 -5049.694202 -19633.158859 60.757880
+V 7 -6084.841396 25291.615368 -11567.741910 -.303343
+P 8 25543.949391 1655.205584 7577.997140 -19.147241
+V 8 -9356.044145 3536.947650 29712.575226 -.011746
+P 9 -2363.810518 -15407.245357 -21976.322659 -24.995737
+V 9 26251.963821 -5413.708698 1335.227777 -.018327
+P 10 6223.209198 -14770.026820 21060.992630 57.579628
+V 10 17622.779106 20330.990696 9309.051261 .007174
+P 11 3522.711079 16092.720591 -20851.233083 186.811623
+V 11 -25630.999254 7448.171562 1611.151990 .037020
+P 13 8651.836630 14905.327830 20176.086503 -13.729308
+V 13 -9778.444477 23728.348508 -13230.300652 .009756
+P 14 -16301.298547 5066.142266 -20285.942462 -31.491184
+V 14 8020.905377 -24575.113285 -12564.531185 -.000786
+P 15 -26526.444401 3193.449671 -705.731607 378.330015
+V 15 -891.103461 -2397.155760 31607.189356 .053065
+P 16 -11537.439412 9957.744035 21826.963025 1.977686
+V 16 -17743.551321 -21056.698106 269.114009 -.001576
+P 17 7989.102806 -14772.739961 20629.238176 -91.452867
+V 17 25864.414879 -307.433730 -11107.030372 .193374
+P 18 -19489.390887 -16477.080604 -7754.108484 -119.257283
+V 18 -4113.817138 -9272.926724 29566.265808 -.037288
+P 19 -7089.799051 25154.881149 -4726.766060 -11.943694
+V 19 -4965.039097 4540.946364 30940.244618 -.008477
+P 20 10819.453393 22484.255262 -9203.680191 -90.643762
+V 20 -9414.757177 -7178.449767 -28813.606959 .026949
+P 21 -22166.674251 -6706.678952 13387.988230 88.101888
+V 21 16432.475232 -4376.265407 24552.808727 .010653
+P 22 -19560.645615 -6788.179724 -16459.656853 16.288816
+V 22 -11255.942192 -18091.148110 20654.450487 .003699
+P 23 2379.398586 22308.425672 14040.515024 211.534935
+V 23 -8158.240020 16222.580404 -24338.028758 .005617
+P 24 26260.513522 -4231.585240 1283.116032 89.702649
+V 24 1596.262903 2339.110732 -31755.646273 .028829
+P 25 -24122.925451 10188.679468 4920.490408 84.383124
+V 25 -6377.528129 -1458.316369 -30623.350673 .008403
+P 26 6602.353170 -25103.298462 -4085.637092 317.447721
+V 26 4063.730525 -3680.136746 32118.520264 .054933
+P 27 21562.441096 5954.052814 15189.267567 513.980662
+V 27 -17285.583962 5960.905591 22575.516670 .062859
+P 28 20213.167484 7401.812576 -15553.916960 46.485964
+V 28 11285.975846 16638.595847 21950.017991 .001239
+P 29 9446.412007 -24709.567228 1444.195756 177.285813
+V 29 1657.808177 2168.016469 32237.018039 -.190449
+P 30 -17523.760040 -20038.877571 -568.450132 443.080560
+V 30 2717.915982 -1879.965076 -31276.580602 -.144294
+* 2005 1 20 23 45 .00000000
+P 1 -14637.560538 18073.721669 -12610.565629 383.985149
+V 1 3239.719138 -16076.017021 -26422.974097 .020905
+P 2 19345.907296 -13409.027324 11919.036283 -42.186132
+V 2 15817.126114 -1210.663132 -26445.634237 .055626
+P 3 -11130.716653 22319.276640 8618.681478 78.319679
+V 3 -1476.259425 -11777.966571 28452.058667 .030277
+P 4 25984.753581 -6304.816687 641.646912 439.938498
+V 4 1372.405624 2422.656423 -31424.794720 -.206978
+P 5 -9598.896505 -21307.715708 -12933.746404 73.342512
+V 5 13864.614878 8741.687299 -24826.319392 .025014
+P 6 -9654.173230 -16745.139822 18360.906869 -156.912015
+V 6 7658.038340 -21831.372363 -16161.442343 .877324
+P 7 16121.398331 -2710.117364 -20495.545968 60.730667
+V 7 -5147.132284 26619.520142 -7567.574716 -.303350
+P 8 24564.888740 2023.612057 10180.266722 -19.147969
+V 8 -12354.690567 4706.659385 28032.815341 -.011745
+P 9 -26.068840 -15953.380800 -21675.160060 -24.998426
+V 9 25616.982779 -6694.765279 5350.277918 -.018335
+P 10 7884.500709 -12954.952361 21713.376714 57.580379
+V 10 19246.103103 19923.462938 5168.865499 .007172
+P 11 1244.117017 16807.968313 -20527.432305 186.815010
+V 11 -24928.922792 8412.932627 5575.121999 .037024
+P 13 7855.678543 16993.760464 18814.746341 -13.728142
+V 13 -7919.523379 22590.817052 -16977.634504 .009750
+P 14 -15623.309952 2780.788612 -21238.010961 -31.491223
+V 14 6995.090628 -26132.960505 -8561.946432 -.000792
+P 15 -26454.283367 2956.618749 2136.856844 378.335403
+V 15 2483.351097 -2934.328825 31472.205365 .053067
+P 16 -13179.434497 8109.739830 21664.635905 1.977623
+V 16 -18682.073767 -19945.607572 -3871.042509 -.001581
+P 17 10256.250046 -14855.342806 19455.399571 -91.435567
+V 17 24434.502191 -1491.647408 -14945.271566 .193399
+P 18 -19784.351078 -17184.311287 -5034.824228 -119.260639
+V 18 -2373.242256 -6465.449189 30776.348511 -.037294
+P 19 -7469.093059 25426.626446 -1909.466494 -11.944478
+V 19 -3522.346369 1460.722624 31576.376050 -.008481
+P 20 9858.450701 21755.743215 -11710.624960 -90.641394
+V 20 -11956.234978 -8937.206700 -26816.825694 .026951
+P 21 -20579.999609 -7159.333022 15478.668383 88.102621
+V 21 18762.159075 -5722.627091 21840.219413 .010643
+P 22 -20544.980898 -8303.065658 -14462.815623 16.289377
+V 22 -10539.441035 -15552.116688 23654.679928 .003695
+P 23 1722.400088 23663.963341 11734.351855 211.535708
+V 23 -6478.105679 13831.040352 -26835.496827 .005604
+P 24 26250.634006 -3997.137541 -1577.706367 89.706039
+V 24 -1805.250383 2940.174406 -31727.389632 .028823
+P 25 -24551.602733 10023.906385 2130.234284 84.383845
+V 25 -3152.762551 -2271.446425 -31294.405372 .008412
+P 26 6907.456648 -25285.554354 -1167.192305 317.452611
+V 26 2780.972408 -333.663441 32639.741939 .054923
+P 27 19918.621037 6559.650220 17091.734093 513.986457
+V 27 -19171.873482 7524.943052 19644.827898 .062852
+P 28 21189.526993 8783.404872 -13450.361466 46.486101
+V 28 10333.411827 14052.255621 24726.885657 .001244
+P 29 9553.234059 -24361.818868 4324.642211 177.268742
+V 29 788.893842 5567.678297 31680.701532 -.190460
+P 30 -17174.132491 -20100.375709 -3370.483876 443.067722
+V 30 5092.955442 460.953048 -30902.350399 -.144306
+EOF
diff --git a/trunk/apps/positioning/doc/nga13065.apc b/trunk/apps/positioning/doc/nga13065.apc
new file mode 100644
index 0000000..0185b38
--- /dev/null
+++ b/trunk/apps/positioning/doc/nga13065.apc
@@ -0,0 +1,5879 @@
+#aV2005 1 21 0 0 .00000000 96 DD+AD WGS84 FIT NGA
+## 1306 432000.00000000 900.00000000 53391 .0000000000000
++ 30 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18
++ 19 20 21 22 23 24 25 26 27 28 29 30 31 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 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 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 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 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
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
+%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
+%i 0 0 0 0 0 0 0 0 0
+%i 0 0 0 0 0 0 0 0 0
+/* NGA, ST. LOUIS,MO.
+/* EPHEMERIS COMPUTED FROM 3 DAYS OF DATA
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+* 2005 1 21 0 0 .00000000
+P 1 -14351.342998 16492.500777 -14871.864708 383.987480
+V 1 3050.035254 -19020.510220 -23754.255236 .020708
+P 2 20631.096722 -13516.276792 9441.357960 -42.181217
+V 2 12715.297442 -1103.372319 -28532.310038 .055715
+P 3 -11265.036215 21122.422207 11096.233344 78.322584
+V 3 -1571.102444 -14787.491349 26523.890687 .029769
+P 4 25960.754615 -6049.283725 -2184.041373 439.920203
+V 4 -1885.562151 3321.238103 -31279.922801 -.207002
+P 5 -8239.476904 -20474.877757 -15052.403063 73.344151
+V 5 16333.542182 9691.923659 -22188.700496 .024497
+P 6 -9030.866031 -18641.503825 16754.181529 -156.833066
+V 6 6214.118915 -20232.493933 -19493.944025 .877338
+P 7 15708.591883 -273.180877 -20991.260093 60.703531
+V 7 -3997.613371 27448.012461 -3432.087104 -.303505
+P 8 23329.612015 2511.785600 12609.409980 -19.149171
+V 8 -15036.805778 6188.589731 25870.205985 -.011924
+P 9 2233.166065 -16606.082763 -21015.490527 -24.999808
+V 9 24513.169365 -7768.697851 9291.397822 -.018341
+P 10 9677.543475 -11197.549790 21988.980834 57.581765
+V 10 20537.659394 19058.260154 948.449368 .007483
+P 11 -951.482588 17600.004008 -19850.407371 186.818415
+V 11 -23793.575889 9143.166245 9449.259889 .037124
+P 13 7223.904823 18955.780607 17128.988476 -13.727460
+V 13 -6141.020136 20924.101885 -20429.267322 .009799
+P 14 -15050.095075 376.997555 -21822.643456 -31.491395
+V 14 5705.861765 -27198.421728 -4411.137512 -.000762
+P 15 -26082.895174 2653.242357 4943.234419 378.340458
+V 15 5742.807403 -3871.847718 30803.145133 .053000
+P 16 -14887.962967 6378.114464 21132.187418 1.977456
+V 16 -19212.750162 -18482.247516 -7944.170460 -.001549
+P 17 12373.223456 -15033.491485 17946.053233 -91.417743
+V 17 22535.483098 -2418.030999 -18551.457152 .193360
+P 18 -19905.059734 -17646.140299 -2230.078086 -119.264044
+V 18 -249.372947 -3833.633959 31462.965801 -.037274
+P 19 -7735.023099 25412.458400 940.671725 -11.945147
+V 19 -2452.472997 -1797.683735 31669.162050 -.008398
+P 20 8665.936396 20889.221522 -14016.966267 -90.638997
+V 20 -14544.063316 -10241.118105 -24362.206161 .027037
+P 21 -18802.000349 -7742.855874 17307.926595 88.103643
+V 21 20675.154400 -7272.123656 18751.137281 .010713
+P 22 -21443.571279 -9585.258432 -12214.281678 16.289471
+V 22 -9351.111672 -12936.345717 26239.588310 .003739
+P 23 1205.691294 24786.497536 9224.160764 211.536199
+V 23 -5052.495867 11056.127571 -28865.401749 .005644
+P 24 25938.918927 -3690.197065 -4411.464345 89.707350
+V 24 -5095.211788 3945.850068 -31154.443714 .029179
+P 25 -24692.561031 9767.838207 -696.470174 84.383941
+V 25 .823045 -3483.340499 -31431.344524 .008580
+P 26 7115.173647 -25158.343318 1772.054963 317.457635
+V 26 1905.763723 3179.683206 32579.289933 .054983
+P 27 18124.980759 7312.434698 18715.847041 513.991990
+V 27 -20609.434550 9218.508274 16397.954647 .062913
+P 28 22059.384243 9930.642273 -11116.091929 46.486211
+V 28 8921.539722 11446.625504 27070.212913 .001322
+P 29 9601.713365 -23707.483858 7130.370944 177.251660
+V 29 362.670931 8964.040399 30579.653747 -.190446
+P 30 -16600.687278 -19966.201678 -6115.125382 443.054571
+V 30 7679.032442 2459.184682 -30003.488037 -.144291
+P 31 15004.397180 6030.012697 -21399.004124 -.235060
+V 31 -4825.451422 26040.982617 4312.866793 -.077823
+* 2005 1 21 0 15 .00000000
+P 1 -14100.671156 14658.941156 -16873.758753 383.990365
+V 1 2457.042205 -21668.267177 -20666.705152 .020707
+P 2 21631.230467 -13594.957180 6798.378943 -42.176300
+V 2 9499.191060 -574.138028 -30114.026190 .055706
+P 3 -11424.310641 19664.494614 13378.999779 78.326494
+V 3 -2025.249120 -17565.058819 24129.948631 .029758
+P 4 25650.316173 -5695.700017 -4972.907920 439.901737
+V 4 -4978.292943 4595.721643 -30607.615596 -.207006
+P 5 -6662.192597 -19576.423336 -16916.481759 73.347490
+V 5 18691.410527 10200.939451 -19176.929300 .024502
+P 6 -8530.711964 -20373.622320 14861.771022 -156.754238
+V 6 4933.928569 -18188.596214 -22500.814852 .877291
+P 7 15405.745282 2214.514441 -21111.566235 60.676276
+V 7 -2717.683003 27743.467635 761.886384 -.303510
+P 8 21869.921138 3144.960678 14823.411837 -19.147840
+V 8 -17330.796565 7916.854585 23258.136270 -.011921
+P 9 4373.490806 -17343.273418 -20006.838133 -25.001579
+V 9 22982.795450 -8560.516630 13094.888667 -.018345
+P 10 11569.175342 -9536.382056 21883.906674 57.582876
+V 10 21426.215817 17796.286050 -3278.352396 .007477
+P 11 -3027.167980 18444.780604 -18831.276815 186.821639
+V 11 -22273.355934 9575.189674 13166.436801 .037129
+P 13 6745.167277 20745.370144 15148.126457 -13.726733
+V 13 -4533.149189 18767.010098 -23526.163382 .009795
+P 14 -14601.641742 -2098.848080 -22029.732807 -31.491602
+V 14 4237.300935 -27728.518989 -184.277432 -.000767
+P 15 -25426.761745 2248.653892 7665.638476 378.346054
+V 15 8796.384530 -5176.553260 29608.224540 .053005
+P 16 -16624.026730 4791.237931 20238.768912 1.977312
+V 16 -19287.211074 -16742.422069 -11881.253243 -.001553
+P 17 14300.279888 -15280.729462 16125.096186 -91.400126
+V 17 20225.050345 -3016.226909 -21859.134705 .193387
+P 18 -19819.357624 -17882.034497 612.485469 -119.267538
+V 18 2203.383861 -1457.061428 31615.726431 -.037278
+P 19 -7922.677061 25100.483586 3774.663735 -11.945890
+V 19 -1786.621639 -5141.288316 31218.298100 -.008401
+P 20 7241.937585 19926.490072 -16083.352656 -90.636643
+V 20 -17084.595080 -11074.042359 -21492.161853 .027041
+P 21 -16872.380843 -8472.063144 18844.053917 88.104424
+V 21 22125.042388 -8946.314391 15334.940603 .010705
+P 22 -22214.399308 -10632.203341 -9753.483314 16.289578
+V 22 -7704.007177 -10340.300421 28364.986912 .003736
+P 23 803.374293 25644.806496 6553.669283 211.536430
+V 23 -3945.600024 7972.934113 -30392.611698 .005632
+P 24 25339.649173 -3275.751796 -7169.337038 89.710574
+V 24 -8180.310610 5322.040318 -30042.832998 .029167
+P 25 -24556.308564 9385.861864 -3511.155919 84.385218
+V 25 2992.821558 -5062.770917 -31026.870380 .008587
+P 26 7263.564514 -24711.402984 4679.520713 317.462580
+V 26 1465.556664 6753.173423 31933.921590 .054974
+P 27 16223.157627 8220.414549 20035.387185 513.997697
+V 27 -21573.030454 10959.714941 12885.246475 .062905
+P 28 22782.282865 10846.037018 -8591.836997 46.486302
+V 28 7072.865177 8915.449544 28943.364099 .001330
+P 29 9631.771415 -22751.437133 9813.311256 177.234140
+V 29 377.688616 12255.668513 28956.601955 -.190454
+P 30 -15787.963517 -19669.430545 -8755.902404 443.041450
+V 30 10396.326246 4067.700224 -28597.927604 -.144303
+P 31 14630.800950 8357.195649 -20832.973570 -.242319
+V 31 -3479.373827 25590.354344 8250.076774 -.077844
+* 2005 1 21 0 30 .00000000
+P 1 -13919.639981 12603.715368 -18580.905179 383.991486
+V 1 1512.414701 -23933.024470 -17213.838968 .020706
+P 2 22340.531754 -13606.924468 4036.737270 -42.171532
+V 2 6269.043289 377.709240 -31165.938549 .055699
+P 3 -11639.139530 17970.163288 15426.930748 78.329497
+V 3 -2797.524462 -20027.935742 21313.158612 .029746
+P 4 25072.145254 -5212.049987 -7677.900585 439.883386
+V 4 -7821.899322 6203.160890 -29418.525481 -.207010
+P 5 -4880.946441 -18651.510378 -18494.526890 73.348671
+V 5 20852.002287 10283.782356 -15841.222295 .024506
+P 6 -8135.694564 -21903.597080 12715.384261 -156.675131
+V 6 3888.852458 -15750.033542 -25129.575781 .877243
+P 7 15220.728348 4704.202318 -20854.700523 60.648794
+V 7 -1393.810613 27491.552306 4936.558484 -.303515
+P 8 20223.468016 3941.882675 16783.624273 -19.148553
+V 8 -19178.674639 9813.576678 20237.983128 -.011919
+P 9 6358.948978 -18136.541216 -18664.423934 -25.003881
+V 9 21082.150993 -9004.927133 16697.990677 -.018348
+P 10 13520.448060 -8003.895370 21400.885650 57.583267
+V 10 21854.840854 16212.083310 -7438.276371 .007471
+P 11 -4950.964963 19313.001295 -17487.105934 186.824990
+V 11 -20429.417497 9656.438401 16661.828223 .037135
+P 13 6400.355983 22320.806156 12906.509755 -13.725923
+V 13 -3177.611953 16175.885202 -26215.603485 .009793
+P 14 -14290.037975 -4597.324086 -21855.736398 -31.491701
+V 14 2680.278046 -27698.866235 4045.146399 -.000770
+P 15 -24508.240551 1711.918056 10257.439253 378.349975
+V 15 11560.489071 -6798.918217 27904.404444 .053009
+P 16 -18344.993077 3370.242762 18999.648411 1.977119
+V 16 -18873.332966 -14810.633582 -15615.564729 -.001557
+P 17 16003.556206 -15564.828660 14022.254756 -91.382728
+V 17 17575.813965 -3228.835566 -24805.456960 .193414
+P 18 -19500.616055 -17918.125280 3444.677355 -119.271040
+V 18 4916.909358 596.188330 31232.923645 -.037282
+P 19 -8069.157396 24487.372029 6543.915652 -11.946641
+V 19 -1538.231736 -8473.368320 30232.749585 -.008405
+P 20 5594.948619 18909.973669 -17874.565878 -90.634236
+V 20 -19483.914217 -11438.247615 -18255.995083 .027045
+P 21 -14834.317928 -9354.376373 20060.055571 88.105254
+V 21 23081.322850 -10659.842585 11646.900645 .010698
+P 22 -22817.453611 -11449.906066 -7123.450091 16.289700
+V 22 -5629.513815 -7857.128686 29995.144583 .003735
+P 23 484.422770 26214.965722 3769.362730 211.536660
+V 23 -3206.817601 4668.012733 -31391.063369 .005622
+P 24 24475.198429 -2722.626909 -9803.466970 89.713825
+V 24 -10974.585723 7017.811234 -28407.953906 .029155
+P 25 -24161.237067 8846.936012 -6265.114886 84.384640
+V 25 5739.011226 -6961.796059 -30082.989887 .008595
+P 26 7392.270571 -23944.290351 7502.858342 317.467506
+V 26 1467.878208 10276.070587 30712.194208 .054966
+P 27 14256.354065 9284.058596 21028.829727 514.003293
+V 27 -22053.202442 12663.406668 9160.588281 .062897
+P 28 23320.563619 11540.307722 -5921.248985 46.486290
+V 28 4826.833578 6546.784953 30318.055274 .001339
+P 29 9682.340757 -21507.545727 12327.833248 177.216946
+V 29 813.544144 15344.792614 26842.939807 -.190462
+P 30 -14727.994748 -19246.648333 -11248.323596 443.028582
+V 30 13158.633917 5255.708903 -26711.668470 -.144314
+P 31 14376.376428 10621.325966 -19917.750125 -.249367
+V 31 -2190.991418 24641.930750 12061.999545 -.077865
+* 2005 1 21 0 45 .00000000
+P 1 -13836.993566 10364.703556 -19963.098545 383.993151
+V 1 282.977645 -25741.409736 -13456.128140 .020705
+P 2 22762.201173 -13514.803785 1204.862064 -42.166706
+V 2 3123.471169 1734.482741 -31673.112648 .055694
+P 3 -11935.755406 16071.075285 17204.198049 78.330278
+V 3 -3832.405635 -22104.300583 18124.253881 .029735
+P 4 24252.090940 -4570.859444 -10253.297622 439.865019
+V 4 -10342.026077 8085.885979 -27731.535502 -.207015
+P 5 -2917.187165 -17737.204635 -19759.840466 73.350857
+V 5 22734.367266 9971.728019 -12236.955933 .024511
+P 6 -7821.825536 -23198.708487 10351.195761 -156.596254
+V 6 3139.761629 -12981.203628 -27333.624328 .877195
+P 7 15153.542860 7146.718364 -20225.877224 60.621402
+V 7 -113.730144 26697.771504 9014.935272 -.303520
+P 8 18432.424195 4913.855369 18455.467244 -19.149845
+V 8 -20538.325348 11791.794001 16858.677926 -.011917
+P 9 8159.214534 -18952.134878 -17009.042401 -25.005186
+V 9 18879.719785 -9048.978181 20039.762003 -.018352
+P 10 15488.018003 -6625.328639 20549.168193 57.584639
+V 10 21783.105237 14390.717562 -11459.927777 .007466
+P 11 -6696.891786 20171.225284 -15840.646515 186.828291
+V 11 -18333.346491 9347.725490 19874.085280 .037140
+P 13 6163.513254 23646.149058 10442.915228 -13.725094
+V 13 -2144.378563 13222.499602 -28452.054932 .009791
+P 14 -14119.026220 -7067.687060 -21303.735405 -31.491803
+V 14 1128.749178 -27104.631866 8203.645446 -.000773
+P 15 -23356.767432 1017.231881 12673.925437 378.352982
+V 15 13961.908354 -8674.753728 25717.335709 .053015
+P 16 -20006.122106 2128.387142 17435.955654 1.976873
+V 16 -17956.583819 -12776.798012 -19083.746451 -.001560
+P 17 17456.303916 -15849.083462 11672.694441 -91.365137
+V 17 14672.796998 -3014.172594 -27332.647694 .193441
+P 18 -18928.862992 -17786.061306 6218.544975 -119.274099
+V 18 7811.844732 2271.951701 30321.504842 -.037286
+P 19 -8211.959254 23578.532596 9201.049275 -11.947481
+V 19 -1702.583821 -11697.051236 28730.514574 -.008408
+P 20 3741.794393 17881.071999 -19360.103551 -90.631840
+V 20 -21651.401368 -11354.143399 -14709.052270 .027049
+P 21 -12732.970126 -10389.343831 20934.150082 88.106041
+V 21 23530.608348 -12323.661059 7747.469054 .010692
+P 22 -23216.330659 -12052.469911 -4370.025205 16.289439
+V 22 -3176.164196 -5573.048954 31103.344280 .003738
+P 23 214.105296 26481.233989 919.646966 211.537025
+V 23 -2868.816131 1236.082099 -31844.197744 .005615
+P 24 23375.221985 -2004.925302 -12267.804455 89.715630
+V 24 -13402.706713 8967.164132 -26274.567688 .029143
+P 25 -23532.916961 8125.030176 -8910.250535 84.385883
+V 25 8164.609312 -9117.321834 -28611.323278 .008603
+P 26 7540.692679 -22866.539081 10191.025986 317.472401
+V 26 1899.855353 13638.176128 28934.525517 .054957
+P 27 12267.903191 10496.137151 21679.638555 514.008967
+V 27 -22056.501364 14244.157800 5280.867586 .062890
+P 28 23640.823830 12031.720477 -3150.141048 46.486437
+V 28 2238.284200 4419.791218 31174.575969 .001349
+P 29 9789.702914 -19998.175496 14631.493781 177.199739
+V 29 1631.966567 18140.892733 24277.952419 -.190470
+P 30 -13420.740581 -18736.445860 -13550.579633 443.015139
+V 30 15876.566710 6009.545044 -24378.210558 -.144326
+P 31 14232.254910 12778.422409 -18667.481125 -.256540
+V 31 -1041.335270 23216.685544 15685.078828 -.077886
+* 2005 1 21 1 0 .00000000
+P 1 -13874.881049 7985.697538 -20995.847688 383.993756
+V 1 -1152.045840 -27035.863251 -9459.886877 .020705
+P 2 22908.100057 -13283.610150 -1647.921265 -42.161741
+V 2 155.711995 3460.956667 -31630.552331 .055690
+P 3 -12334.835034 14004.744650 18679.852473 78.331974
+V 3 -5062.394477 -23736.015028 14620.737561 .029724
+P 4 23222.165000 -3750.430863 -12655.439084 439.846573
+V 4 -12476.486337 10173.585059 -25573.534514 -.207019
+P 5 -799.298583 -16867.073582 -20690.910072 73.353146
+V 5 24265.821509 9310.976299 -8423.847417 .024516
+P 6 -7560.206806 -24232.582876 7809.276090 -156.517309
+V 6 2734.510459 -9958.315494 -29073.126772 .877148
+P 7 15196.381697 9494.277593 -19237.140470 60.593949
+V 7 1037.392519 25387.148988 12922.510962 -.303525
+P 8 16541.972575 6064.072002 19809.079657 -19.150031
+V 8 -21385.164581 13758.805170 13176.029246 -.011916
+P 9 9750.589402 -19752.180563 -15066.855704 -25.008141
+V 9 16453.888109 -8654.356263 23062.025716 -.018354
+P 10 17425.705787 -5417.920634 19344.300592 57.587226
+V 10 21188.619449 12424.302508 -15274.986532 .007459
+P 11 -8245.777239 20983.154826 -13919.972519 186.831626
+V 11 -16064.415056 8624.996095 22746.471623 .037145
+P 13 6003.016865 24692.514187 7799.866185 -13.724161
+V 13 -1488.945878 9991.365726 -30197.906687 .009789
+P 14 -14083.897103 -9459.649210 -20383.375816 -31.491977
+V 14 -324.061674 -25960.741817 12219.040180 -.000776
+P 15 -22007.795301 145.145105 14873.078540 378.358176
+V 15 15940.567685 -10727.506251 23081.162789 .053021
+P 16 -21562.186076 1070.723304 15574.332308 1.976738
+V 16 -16540.713412 -10732.764226 -22226.836196 -.001563
+P 17 18639.870562 -16093.828625 9116.496881 -91.347466
+V 17 11610.323998 -2348.464737 -29389.479954 .193468
+P 18 -18091.667866 -17521.666561 8887.145472 -119.278001
+V 18 10800.468863 3531.875675 28896.928192 -.037288
+P 19 -8387.344816 22387.965000 11700.698893 -11.948288
+V 19 -2257.107289 -14718.889304 26738.241909 -.008411
+P 20 1707.177439 16878.564804 -20514.681845 -90.629397
+V 20 -23503.173060 -10859.326903 -10911.793383 .027053
+P 21 -10613.906396 -11568.461555 21450.199065 88.107139
+V 21 23477.210139 -13848.460558 3701.448084 .010687
+P 22 -23379.699045 -12461.320962 -1541.036270 16.290065
+V 22 -407.777593 -3564.055668 31672.250229 .003743
+P 23 -44.446908 26436.627824 -1946.019364 211.537307
+V 23 -2946.275582 -2223.579002 -31745.203012 .005609
+P 24 22075.565037 -1103.279527 -14518.943398 89.717983
+V 24 -15402.902173 11091.445431 -23676.612318 .029131
+P 25 -22703.111963 7200.393460 -11399.950243 84.386895
+V 25 10207.230769 -11453.319972 -26633.231436 .008610
+P 26 7746.168808 -21497.403887 12695.343455 317.477509
+V 26 2728.673778 16734.422475 26632.900727 .054949
+P 27 10299.836189 11841.832235 21976.512648 514.014881
+V 27 -21605.223219 15619.262251 1305.441519 .062882
+P 28 23715.212626 12345.158132 -325.711014 46.486388
+V 28 -624.637250 2601.917150 31501.868167 .001358
+P 29 9985.954274 -18253.389574 16685.708181 177.182620
+V 29 2778.566635 20563.944778 21307.947111 -.190478
+P 30 -11874.226134 -18177.861510 -15624.189875 443.001788
+V 30 18460.826433 6332.916681 -21637.912097 -.144337
+P 31 14182.500193 14787.121852 -17101.950885 -.263674
+V 31 -105.913740 21351.690399 19057.765666 -.077906
+* 2005 1 21 1 15 .00000000
+P 1 -14047.884964 5514.869172 -21660.846021 383.995275
+V 1 -2704.316529 -27776.935411 -5296.016243 .020705
+P 2 22798.107579 -12882.263958 -4472.278899 -42.156787
+V 2 -2549.843343 5505.875994 -31043.020848 .055686
+P 3 -12850.547427 11813.217189 19828.380992 78.334583
+V 3 -6410.885130 -24880.825752 10865.704124 .029714
+P 4 22019.343765 -2735.869417 -14843.433440 439.827929
+V 4 -14177.471904 12385.860329 -22979.091227 -.207024
+P 5 1438.268912 -16069.922395 -21271.760583 73.356040
+V 5 25384.659088 8360.806783 -4465.080446 .024520
+P 6 -7318.297289 -24986.136859 5132.945383 -156.437994
+V 6 2705.906336 -6766.679429 -30315.832382 .877100
+P 7 15334.027241 11702.185069 -17907.067927 60.566691
+V 7 1980.635944 23603.069016 16588.854378 -.303530
+P 8 14598.678434 7387.256159 20819.904425 -19.152103
+V 8 -21713.177567 15619.720291 9251.955201 -.011914
+P 9 11116.775823 -20496.085998 -12869.099851 -25.010021
+V 9 13890.239024 -7799.230370 25710.379752 -.018357
+P 10 19286.162544 -4390.440658 17807.797664 57.589180
+V 10 20067.862089 10408.309385 -18819.314171 .007451
+P 11 -9585.816599 21711.054457 -11758.015924 186.835091
+V 11 -13706.520326 7480.499163 25227.940934 .037150
+P 13 5882.984684 25439.079186 5022.891737 -13.723126
+V 13 -1250.173730 6576.573225 -31424.060273 .009786
+P 14 -14171.726378 -11725.136879 -19110.692644 -31.492104
+V 14 -1589.445106 -24301.316247 16021.741905 -.000779
+P 15 -20501.504087 -916.450286 16816.322756 378.362605
+V 15 17451.838810 -12871.077217 20038.173475 .053027
+P 16 -22969.120288 194.083236 13446.492301 1.976683
+V 16 -14647.761215 -8768.765139 -24991.234463 -.001567
+P 17 19544.377460 -16258.124411 6398.005377 -91.330175
+V 17 8488.405360 -1227.348556 -30932.708859 .193495
+P 18 -16984.752896 -17163.453932 11405.301142 -119.281604
+V 18 13789.879482 4354.726753 26982.910208 -.037288
+P 19 -8628.776326 20937.795797 14000.267640 -11.949052
+V 19 -3162.372319 -17452.285549 24290.716343 -.008413
+P 20 -477.074016 15937.132325 -21318.651105 -90.626988
+V 20 -24965.267553 -10006.983492 -6928.790236 .027057
+P 21 -8521.511074 -12875.307633 21598.057022 88.108149
+V 21 22943.076280 -15148.181501 -422.956908 .010681
+P 22 -23282.569168 -12704.155936 1314.558414 16.290245
+V 22 2598.987822 -1893.069921 31694.086051 .003746
+P 23 -328.591949 26083.162994 -4778.005733 211.537466
+V 23 -3435.365010 -5610.899532 -31097.063376 .005605
+P 24 20616.928223 -5.860869 -16516.931468 89.720855
+V 24 -16929.405987 13302.318400 -20656.819578 .029120
+P 25 -21708.545706 6060.596023 -13689.960306 84.387971
+V 25 11819.416778 -13883.639181 -24179.735566 .008618
+P 26 8042.234910 -19865.198083 14970.506751 317.483037
+V 26 3902.964746 19469.282471 23850.224187 .054940
+P 27 8391.495545 13299.115329 21913.583388 514.020740
+V 27 -20736.654515 16711.673080 -2704.423352 .062874
+P 28 23522.517293 12510.957669 2504.236040 46.486555
+V 28 -3683.017390 1146.573213 31297.477418 .001369
+P 29 10297.656260 -16309.874181 18456.340507 177.166080
+V 29 4185.165513 22547.216658 17985.316892 -.190486
+P 30 -10104.387337 -17608.830175 -17434.588314 442.988832
+V 30 20825.446959 6246.522422 -18537.284573 -.144348
+P 31 14204.742493 16610.082996 -15246.355941 -.270461
+V 31 548.297997 19099.016782 22121.505191 -.077927
+* 2005 1 21 1 30 .00000000
+P 1 -14362.363806 3003.064011 -21946.323479 383.995137
+V 1 -4280.054454 -27944.857333 -1038.635655 .020706
+P 2 22459.184060 -12284.942448 -7219.731872 -42.151682
+V 2 -4920.692578 7804.075743 -29924.677081 .055682
+P 3 -13489.877489 9541.566225 20630.152808 78.337787
+V 3 -7795.398944 -25513.906530 6926.554207 .029704
+P 4 20684.193276 -1519.860671 -16779.830229 439.809079
+V 4 -15413.257804 14635.175277 -19990.024851 -.207028
+P 5 3756.094443 -15368.717980 -21492.224921 73.358265
+V 5 26042.482767 7191.256236 -426.381151 .024525
+P 6 -7061.337708 -25448.259637 2368.057907 -156.359024
+V 6 3070.241215 -3497.611276 -31037.787135 .877052
+P 7 15544.567191 13730.407095 -16260.338434 60.539413
+V 7 2646.674112 21405.350662 19949.037766 -.303535
+P 8 12648.797429 8869.635330 21469.196734 -19.153400
+V 8 -21535.252230 17281.261307 5153.525992 -.011912
+P 9 12249.389121 -21142.086985 -10451.697552 -25.011567
+V 9 11278.503561 -6479.556728 27935.257217 -.018359
+P 10 21022.578117 -3543.055609 15966.720766 57.589896
+V 10 18436.282704 8437.806846 -22033.948430 .007443
+P 11 -10712.842241 22317.247258 -9392.009228 186.838496
+V 11 -11344.925476 5923.320277 27274.129438 .037153
+P 13 5764.844965 25873.790016 2159.739723 -13.722124
+V 13 -1448.778414 3078.276459 -32110.369531 .009781
+P 14 -14361.945008 -13819.964671 -17507.820945 -31.492311
+V 14 -2586.802509 -22178.363666 19545.981924 -.000780
+P 15 -18881.326962 -2171.604455 18469.235991 378.367746
+V 15 18468.298055 -15013.073979 16638.284974 .053033
+P 16 -24185.643760 -512.618040 11088.698473 1.976602
+V 16 -12317.378936 -6969.931609 -27329.595336 -.001571
+P 17 20169.054449 -16301.540914 3565.045922 -91.313066
+V 17 5408.757169 333.439943 -31928.393884 .193522
+P 18 -15612.308612 -16751.049017 13730.327362 -119.285212
+V 18 16685.366300 4737.070917 24611.067946 -.037285
+P 19 -8965.467619 19257.517500 16060.631998 -11.949863
+V 19 -4363.721656 -19820.645143 21430.223674 -.008416
+P 20 -2773.028902 15086.046502 -21758.318668 -90.624439
+V 20 -25976.460646 -8863.703902 -2827.668277 .027060
+P 21 -6497.424315 -14285.991486 21373.830670 88.109076
+V 21 21967.063600 -16143.479758 -4555.199263 .010674
+P 22 -22907.320100 -12813.657691 4147.531307 16.290667
+V 22 5757.563905 -607.641254 31170.629217 .003749
+P 23 -674.515757 25431.755371 -7527.386406 211.537709
+V 23 -4313.966023 -8828.792504 -29912.417756 .005604
+P 24 19043.339076 1290.900512 -18226.036705 89.723525
+V 24 -17954.306242 15505.192296 -17266.128966 .029108
+P 25 -20589.465284 4701.294544 -15739.242709 84.389290
+V 25 12970.606986 -16315.312489 -21291.209102 .008625
+P 26 8457.050371 -18006.251079 16975.528861 317.488054
+V 26 5355.061064 21760.768852 20639.333844 .054931
+P 27 6578.237947 14839.384271 21490.559700 514.026512
+V 27 -19501.837133 17452.808648 -6686.152709 .062866
+P 28 23049.004588 12563.562500 5292.055626 46.486683
+V 28 -6850.064149 91.355763 30567.391397 .001378
+P 29 10744.717300 -14209.636394 19914.207422 177.149125
+V 29 5772.598581 24039.527246 14367.560984 -.190494
+P 30 -8134.630194 -17064.694211 -18951.643702 442.975837
+V 30 22890.891295 5787.062257 -15128.237198 -.144359
+P 31 14271.073217 18215.265677 -13130.989827 -.277729
+V 31 865.625607 16524.073789 24821.758001 -.077948
+* 2005 1 21 1 45 .00000000
+P 1 -14816.137265 501.989087 -21847.271517 383.997359
+V 1 -5783.951332 -27540.313812 3236.364117 .020708
+P 2 21924.183646 -11472.216860 -9843.479268 -42.146656
+V 2 -6898.733980 10279.105350 -28298.553310 .055677
+P 3 -14252.252012 7236.281537 21071.746319 78.340267
+V 3 -9131.043893 -25628.682340 2873.639638 .029694
+P 4 19259.366308 -103.169024 -18431.249323 439.790415
+V 4 -16169.335765 16830.095924 -16654.869945 -.207033
+P 5 6111.072189 -14779.740660 -21348.129601 73.360639
+V 5 26206.070809 5880.396187 3624.950467 .024529
+P 6 -6753.879536 -25616.203444 -437.772207 -156.280260
+V 6 3826.456208 -245.062320 -31223.923797 .877004
+P 7 15800.391727 15544.938475 -14327.179662 60.512413
+V 7 2978.655229 18867.662703 22944.868927 -.303540
+P 8 10736.587317 10489.256807 21744.438919 -19.153408
+V 8 -20882.767383 18655.549703 951.855347 -.011910
+P 9 13148.183976 -21648.883948 -7854.774127 -25.013729
+V 9 8709.259530 -4709.762506 29693.016334 -.018362
+P 10 22590.366176 -2867.533196 13853.171708 57.591522
+V 10 16327.690574 6603.774531 -24865.976589 .007435
+P 11 -11630.296857 22765.629075 -6862.843402 186.841745
+V 11 -9062.932376 3979.244999 28848.238068 .037157
+P 13 5609.010562 25993.740181 -740.442981 -13.721340
+V 13 -2086.536337 -401.031564 -32245.925325 .009776
+P 14 -14627.219149 -15705.360533 -15602.599468 -31.492453
+V 14 -3246.913556 -19659.785948 22730.965064 -.000781
+P 15 -17192.346374 -3615.901945 19802.207025 378.372748
+V 15 18980.848880 -17058.378890 12938.360192 .053039
+P 16 -25174.788815 -1067.773148 8541.162948 1.976353
+V 16 -9605.489276 -5412.998612 -29201.628317 -.001575
+P 17 20522.206356 -16185.965034 668.036776 -91.295596
+V 17 2470.628784 2298.261378 -32353.042219 .193549
+P 18 -13987.001533 -16323.581986 15822.723701 -119.288401
+V 18 19393.858729 4693.301455 21820.459149 -.037282
+P 19 -9421.108861 17382.960755 17846.784296 -11.950566
+V 19 -5793.475254 -21760.138075 18205.809583 -.008418
+P 20 -5137.909013 14348.081844 -21826.174440 -90.621939
+V 20 -26490.608686 -7506.801028 1321.993642 .027062
+P 21 -4579.077908 -15769.907935 20780.037869 88.109880
+V 21 20603.549377 -16765.011321 -8623.558608 .010668
+P 22 -22244.445773 -12826.031815 6909.238665 16.290814
+V 22 8974.759193 261.718785 30113.031737 .003753
+P 23 -1115.623778 24501.787244 -10146.796172 211.538367
+V 23 -5542.626199 -11786.788082 -28213.237338 .005604
+P 24 17400.487610 2781.919847 -19615.452153 89.726118
+V 24 -18468.701886 17602.978949 -13562.896762 .029096
+P 25 -19388.055906 3126.682787 -17510.794182 84.389622
+V 25 13648.450184 -18652.236414 -18016.828546 .008632
+P 26 9012.061636 -15963.532190 18674.578006 317.493224
+V 26 7004.011435 23543.818772 17061.715985 .054922
+P 27 4890.269230 16428.343710 20712.816605 514.032059
+V 27 -17963.873100 17785.145351 -10576.522913 .062858
+P 28 22288.990313 12540.041580 7991.012654 46.486673
+V 28 -10034.238314 -543.131130 29325.780581 .001388
+P 29 11339.544225 -11998.525265 21035.492770 177.131970
+V 29 7453.879263 25006.904095 10516.283024 -.190502
+P 30 -5995.121671 -16576.829123 -20150.109791 442.962611
+V 30 24586.902528 5005.685860 -11467.280645 -.144370
+P 31 14349.173740 19577.036445 -10790.834928 -.284919
+V 31 804.109990 13703.417099 27109.040825 -.077968
+* 2005 1 21 2 0 .00000000
+P 1 -15398.527966 -1937.631517 -21365.535711 383.997855
+V 1 -7123.152130 -26584.383704 7452.809440 .020710
+P 2 21230.467825 -10431.935088 -12299.168329 -42.141657
+V 2 -8442.169479 12846.239216 -26195.902748 .055671
+P 3 -15129.481497 4943.617522 21146.152395 78.344008
+V 3 -10334.048281 -25236.910640 -1221.124032 .029683
+P 4 17788.024937 1505.164745 -19768.957194 439.771485
+V 4 -16448.928376 18878.716916 -13028.233430 -.207037
+P 5 8457.841435 -14311.995478 -20841.391322 73.362282
+V 5 25858.710938 4511.302677 7621.047752 .024533
+P 6 -6361.358737 -25495.663040 -3235.991922 -156.201367
+V 6 4955.987596 2897.898378 -30868.505723 .876957
+P 7 16069.424003 17118.912495 -12142.714787 60.484881
+V 7 2934.491480 16074.415608 25525.899446 -.303545
+P 8 8902.690330 12216.639811 21639.649120 -19.152914
+V 8 -19804.434850 19663.763288 -3279.149369 -.011909
+P 9 13820.976278 -21977.309537 -5122.075055 -25.016290
+V 9 6270.487845 -2522.742813 30947.030851 -.018363
+P 10 23948.763500 -2347.768457 11503.713762 57.591911
+V 10 13792.966702 4989.625614 -27269.282483 .007426
+P 11 -12348.909199 23023.140088 -4214.352322 186.845148
+V 11 -6938.620767 1689.949744 29921.780197 .037160
+P 13 5376.591797 25805.210334 -3627.948747 -13.720487
+V 13 -3146.223181 -3760.316007 -31829.184072 .009771
+P 14 -14934.604525 -17349.283197 -13428.074685 -31.492644
+V 14 -3514.746417 -16826.774862 25521.926359 -.000781
+P 15 -15479.620144 -5236.384547 20791.023439 378.377338
+V 15 18999.144857 -18912.904421 9001.352959 .053045
+P 16 -25905.281712 -1496.189913 5847.379855 1.976189
+V 16 -6582.326711 -4163.327348 -30574.797867 -.001580
+P 17 20620.802641 -15877.348554 -2240.994351 -91.278557
+V 17 -233.365095 4612.686674 -32194.506626 .193576
+P 18 -12129.672700 -15918.106457 17646.819160 -119.291680
+V 18 21827.328359 4255.012590 18657.023356 -.037281
+P 19 -10012.812309 15355.039120 19328.404220 -11.951387
+V 19 -7373.621179 -23221.974986 14672.446128 -.008422
+P 20 -7525.531025 13738.686582 -21521.016100 -90.619504
+V 20 -26478.433177 -6021.226666 5449.791107 .027064
+P 21 -2798.384654 -17290.773637 19825.657209 88.110927
+V 21 18920.414817 -16956.399830 -12556.399939 .010662
+P 22 -21292.994272 -12779.423772 9552.450103 16.291414
+V 22 12154.269202 702.518239 28541.480547 .003756
+P 23 -1681.049680 23320.358515 -12591.249385 211.538919
+V 23 -7066.195796 -14404.380613 -26030.335225 .005602
+P 24 15733.991628 4453.409266 -20659.920276 89.728135
+V 24 -18483.098897 19500.025893 -9611.906282 .029085
+P 25 -18146.770748 1349.599132 -18972.404678 84.389758
+V 25 13859.371502 -20799.070621 -14413.779301 .008639
+P 26 9720.965590 -13785.004004 20037.688706 317.497880
+V 26 8759.198453 24772.894307 13185.974308 .054913
+P 27 3351.651479 18027.106271 19591.421425 514.037468
+V 27 -16195.800643 17664.515997 -14312.390012 .062850
+P 28 21245.120266 12478.530384 10556.002996 46.486711
+V 28 -13142.517040 -753.831210 27594.654354 .001399
+P 29 12086.490075 -9724.632423 21802.071630 177.114840
+V 29 9137.601483 25433.599269 6496.183549 -.190511
+P 30 -3721.838541 -16171.432045 -21010.002362 442.949501
+V 30 25855.017051 3965.937747 -7614.697402 -.144381
+P 31 14403.641576 20677.055186 -8265.060585 -.291891
+V 31 337.462210 10722.085830 28939.964994 -.077989
+* 2005 1 21 2 15 .00000000
+P 1 -16090.758238 -4267.858233 -20509.773985 383.998688
+V 1 -8211.134359 -25117.650522 11535.735309 .020713
+P 2 20418.377051 -9159.820766 -14545.601055 -42.136624
+V 2 -9526.748764 15415.746193 -23655.445019 .055666
+P 3 -16106.017713 2707.967246 20852.852683 78.347142
+V 3 -11325.218652 -24368.028560 -5285.641439 .029672
+P 4 16312.245887 3287.938174 -20769.380403 439.752950
+V 4 -16272.855036 20692.153988 -9170.042750 -.207042
+P 5 10750.310629 -13966.906222 -19980.021425 73.363949
+V 5 25000.948459 3168.821727 11494.516217 .024538
+P 6 -5851.651763 -25100.537127 -5977.962830 -156.122089
+V 6 6423.316272 5842.611245 -29975.403569 .876909
+P 7 16316.526990 18433.413412 -9746.229104 60.457722
+V 7 2488.477441 13117.286051 27650.194209 -.303550
+P 8 7182.652525 14015.744662 21155.571858 -19.154112
+V 8 -18364.420620 20239.498529 -7464.157474 -.011909
+P 9 14283.253364 -22091.963292 -2300.286732 -25.017724
+V 9 4044.113759 30.873373 31668.743519 -.018365
+P 10 25062.285108 -1960.609164 8958.731132 57.593946
+V 10 10898.159165 3668.061390 -29205.165281 .007417
+P 11 -12886.084392 23061.134167 -1492.536781 186.848497
+V 11 -5041.788534 -888.454021 30475.173353 .037163
+P 13 5031.081710 25323.368396 -6453.352063 -13.719697
+V 13 -4592.285969 -6903.723958 -30867.941584 .009766
+P 14 -15246.928949 -18727.481780 -11021.914793 -31.492832
+V 14 -3351.701132 -13770.704638 27871.071968 -.000781
+P 15 -13786.502513 -7011.815034 21417.375056 378.381685
+V 15 18551.274910 -20487.387516 4895.286846 .053051
+P 16 -26352.721640 -1827.949416 3053.400169 1.976054
+V 16 -3329.929156 -3272.356665 -31424.907811 -.001584
+P 17 20489.699973 -15347.315201 -5109.460580 -91.260891
+V 17 -2621.197680 7205.508545 -31452.578862 .193603
+P 18 -10068.736484 -15568.103521 19171.362772 -119.295079
+V 18 23906.027194 3469.738118 15172.926865 -.037280
+P 19 -10750.318332 13218.313981 20480.351695 -11.952458
+V 19 -9018.890009 -24174.116810 10890.119767 -.008423
+P 20 -9887.881461 13265.445091 -20847.972104 -90.617025
+V 20 -25928.681308 -4496.202607 9485.635227 .027065
+P 21 -1180.635369 -18807.911367 18526.060926 88.112274
+V 21 16996.459879 -16676.755826 -16283.503468 .010653
+P 22 -20060.686342 -12712.279543 12032.140992 16.291519
+V 22 15200.271679 720.556854 26484.713711 .003759
+P 23 -2394.339446 21921.254402 -14818.907928 211.539563
+V 23 -8816.074213 -16613.961268 -23402.724889 .005599
+P 24 14087.662084 6283.185050 -21340.259866 89.730442
+V 24 -18027.009751 21106.060342 -5483.193717 .029074
+P 25 -16906.645212 -608.720136 -20097.333433 84.391661
+V 25 13628.347347 -22665.188017 -10546.224649 .008647
+P 26 10589.018765 -11521.781756 21041.326465 317.502862
+V 26 10524.372360 25423.677238 9086.119743 .054904
+P 27 1979.518967 19593.484279 18143.090781 514.042990
+V 27 -14278.085486 17062.032849 -17831.500308 .062842
+P 28 19928.355698 12416.650179 12944.240727 46.486718
+V 28 -16083.678978 -555.163551 25403.443878 .001411
+P 29 12981.614232 -7436.630878 22201.743917 177.097943
+V 29 10731.457229 25322.445288 2374.059352 -.190519
+P 30 -1355.408280 -15868.515106 -21516.900275 442.936580
+V 30 26650.660226 2741.272242 -3633.683847 -.144392
+P 31 14397.468124 21504.903706 -5596.428849 -.298750
+V 31 -543.538205 7670.546526 30278.245180 -.078009
+* 2005 1 21 2 30 .00000000
+P 1 -16866.685128 -6445.221565 -19295.281896 384.000556
+V 1 -8971.318681 -23198.523649 15412.841531 .020716
+P 2 19529.621000 -7659.771302 -16545.369300 -42.131563
+V 2 -10146.331748 17896.288416 -20722.536238 .055659
+P 3 -17159.513650 570.326879 20197.774779 78.348992
+V 3 -12033.179081 -23067.806598 -9248.984400 .029661
+P 4 14871.467456 5220.214465 -21414.546556 439.734067
+V 4 -15678.742002 22187.978096 -5144.685813 -.207046
+P 5 12943.221045 -13738.305553 -18778.035751 73.365206
+V 5 23650.713604 1936.243195 15179.495239 .024543
+P 6 -5196.550602 -24452.377244 -8615.831386 -156.042910
+V 6 8177.213607 8508.219562 -28558.187246 .876861
+P 7 16505.023913 19477.965787 -7180.378279 60.430364
+V 7 1632.191394 10091.538217 29284.859337 -.303556
+P 8 5605.642546 15845.225538 20299.740890 -19.154487
+V 8 -16639.804904 20331.685562 -11527.877310 -.011909
+P 9 14557.477546 -21962.746605 561.734273 -25.020430
+V 9 2102.674410 2884.205136 31838.638140 -.018366
+P 10 25901.983125 -1676.945341 6261.738497 57.594567
+V 10 7722.041785 2698.365251 -30642.830506 .007408
+P 11 -13265.032772 22856.590027 1255.257042 186.851759
+V 11 -3431.221150 -3687.468093 30498.156865 .037166
+P 13 4539.948856 24571.643083 -9168.343233 -13.718925
+V 13 -6372.217992 -9744.095542 -29379.156108 .009762
+P 14 -15524.347922 -19824.257613 -8425.744876 -31.493056
+V 14 -2737.199860 -10589.644401 29738.388012 -.000779
+P 15 -12153.027148 -8913.278337 21669.258394 378.386777
+V 15 17682.702418 -21701.067227 692.078943 .053057
+P 16 -26500.512545 -2097.057781 207.059607 1.975909
+V 16 60.829549 -2775.582687 -31736.558484 -.001589
+P 17 20160.526567 -14574.548881 -7885.304067 -91.243640
+V 17 -4624.959382 9991.576390 -30139.233095 .193630
+P 18 -7839.299682 -15302.126457 20370.051024 -119.298534
+V 18 25561.446901 2399.095292 11425.814555 -.037279
+P 19 -11635.491100 11019.433339 21283.074650 -11.953035
+V 19 -10640.097669 -24602.359833 6922.854454 -.008424
+P 20 -12176.766297 12927.851714 -19818.421921 -90.614498
+V 20 -24848.618751 -3021.690645 13360.892487 .027065
+P 21 256.349021 -20277.736317 16902.825938 88.113241
+V 21 14918.336415 -15902.627944 -19737.438052 .010643
+P 22 -18563.711666 -12661.713692 14306.235474 16.292080
+V 22 18020.969198 339.491922 23979.410147 .003761
+P 23 -3272.361546 20343.672028 -16791.785351 211.540076
+V 23 -10712.969805 -18363.227451 -20376.846613 .005595
+P 24 12501.840500 8241.323859 -21643.779802 89.732172
+V 24 -17147.755848 22339.971241 -1250.712546 .029063
+P 25 -15705.667593 -2719.238581 -20864.882301 84.393085
+V 25 12997.877524 -24168.495131 -6484.056922 .008653
+P 26 11612.720563 -9226.183651 21668.793216 317.508138
+V 26 12201.893170 25493.791007 4839.754460 .054896
+P 27 783.535084 21083.434697 16390.070697 514.048478
+V 27 -12295.785484 15965.556097 -21073.389163 .062835
+P 28 18357.666165 12389.961658 15115.904881 46.487014
+V 28 -18771.503660 21.664834 22788.520707 .001422
+P 29 14012.759733 -5182.111451 22228.378581 177.081002
+V 29 12145.747423 24694.554474 -1782.181498 -.190528
+P 30 1060.217304 -15681.138677 -21662.168170 442.923499
+V 30 26944.757883 1412.222750 410.532519 -.144403
+P 31 14293.614055 22058.425320 -2830.612002 -.305788
+V 31 -1830.283991 4641.345682 31095.645399 -.078030
+* 2005 1 21 2 45 .00000000
+P 1 -17693.842478 -8432.223750 -17743.689844 384.001439
+V 1 -9340.257594 -20900.845852 19015.876978 .020719
+P 2 18605.648848 -5943.848986 -18265.412700 -42.126424
+V 2 -10312.772588 20198.322538 -17448.287565 .055652
+P 3 -18261.660264 -1433.089984 19193.128960 78.352722
+V 3 -12397.262603 -21396.377824 -13042.672456 .029650
+P 4 13501.036604 7270.051511 -21692.443075 439.715347
+V 4 -14719.591634 23293.463969 -1020.045740 -.207050
+P 5 14993.693317 -13612.724178 -17255.268332 73.367570
+V 5 21842.813120 892.001760 18612.731629 .024549
+P 6 -4373.095642 -23579.542663 -11103.398590 -155.963673
+V 6 10152.646400 10824.786210 -26640.019928 .876813
+P 7 16598.267042 20250.689726 -4490.359698 60.403109
+V 7 374.669747 7092.305457 30406.336387 -.303561
+P 8 4193.425379 17659.920159 19086.407620 -19.157378
+V 8 -14717.474006 19906.916694 -15396.575338 -.011908
+P 9 14672.101010 -21566.231132 3413.813938 -25.020815
+V 9 506.262880 5956.332777 31447.080726 -.018368
+P 10 26446.465311 -1463.019147 3458.652061 57.596171
+V 10 4353.232168 2124.224996 -31559.755799 .007398
+P 11 -13513.672176 22393.114304 3981.188343 186.855255
+V 11 -2152.405713 -6628.767675 29990.021964 .037168
+P 13 3876.076743 23580.795925 -11726.539570 -13.718095
+V 13 -8418.580802 -12206.132207 -27388.626551 .009759
+P 14 -15726.011600 -20632.900218 -5684.415720 -31.493129
+V 14 -1669.564318 -7384.628591 31092.303975 -.000778
+P 15 -10614.418433 -10905.102489 21541.268947 378.392411
+V 15 16454.482099 -22485.087188 -3533.772780 .053063
+P 16 -26340.511231 -2339.942981 -2642.828495 1.975587
+V 16 3493.558065 -2691.147127 -31503.465678 -.001593
+P 17 19670.275296 -13545.894303 -10518.089268 -91.226754
+V 17 -6193.769976 12875.327391 -28278.491986 .193657
+P 18 -5482.030874 -15142.637042 21221.983887 -119.302395
+V 18 26738.891976 1116.394451 7477.972094 -.037275
+P 19 -12662.122616 8805.502500 21722.926445 -11.953755
+V 19 -12147.633366 -24510.760176 2837.682906 -.008427
+P 20 -14345.474022 12717.404647 -18449.814308 -90.612013
+V 20 -23263.834660 -1684.832180 17009.508602 .027065
+P 21 1502.771821 -21655.388539 14983.420538 88.114073
+V 21 12777.112366 -14629.284458 -22854.944831 .010632
+P 22 -16826.213644 -12661.947266 16336.289556 16.292469
+V 22 20531.947786 -400.272493 21069.471248 .003762
+P 23 -4324.484354 18630.757001 -18476.376221 211.540504
+V 23 -12670.058598 -19616.983363 -17005.682662 .005591
+P 24 11011.878767 10291.145616 -21564.566485 89.735454
+V 24 -15908.510472 23133.258309 3009.132383 .029052
+P 25 -14577.277426 -4946.048570 -21260.848020 84.392705
+V 25 12026.184333 -25238.941955 -2301.461684 .008660
+P 26 12779.879661 -6949.760589 21910.467380 317.513229
+V 26 13696.968735 25002.539541 526.225016 .054886
+P 27 -234.383569 22452.612924 14359.931791 514.053902
+V 27 -10335.462270 14380.632874 -23980.368714 .062827
+P 28 16559.442157 12430.507035 17034.740235 46.487264
+V 28 -21127.783113 929.931038 19792.657649 .001431
+P 29 15159.941848 -3005.975002 21881.970082 177.064330
+V 29 13296.769019 23588.384628 -5904.483379 -.190536
+P 30 3479.209671 -15614.911454 -21443.098695 442.910552
+V 30 26724.811356 63.319267 4451.598438 -.144414
+P 31 14056.621864 22343.754550 -15.429147 -.312691
+V 31 -3496.281674 1725.592626 31372.825081 -.078050
+* 2005 1 21 3 0 .00000000
+P 1 -18534.745910 -10198.596884 -15882.540198 384.002737
+V 1 -9270.269436 -18310.894036 22281.918465 .020723
+P 2 17686.059611 -4031.970410 -19677.495721 -42.121523
+V 2 -10055.151648 22237.383401 -13888.652551 .055644
+P 3 -19379.263572 -3272.035943 17857.133610 78.354515
+V 3 -12369.944332 -19425.735589 -16601.862033 .029639
+P 4 12230.912251 9399.510206 -21597.284590 439.696713
+V 4 -13461.749657 23948.527378 3133.563386 -.207054
+P 5 16862.699772 -13569.971154 -15437.088413 73.370501
+V 5 19627.792537 106.526472 21734.651466 .024554
+P 6 -3364.709855 -22516.092329 -13396.970922 -155.884632
+V 6 12273.273403 12735.998760 -24253.346499 .876764
+P 7 16561.190232 20758.125546 -1723.067254 60.376011
+V 7 -1258.122114 4210.986816 31000.479544 -.303566
+P 8 2959.636875 19412.518145 17536.331755 -19.159445
+V 8 -12690.567377 18951.071050 -18999.610908 -.011906
+P 9 14660.323796 -20886.796992 6205.381400 -25.021947
+V 9 -700.103108 9155.188239 30494.982420 -.018370
+P 10 26682.638409 -1281.904290 597.033193 57.596749
+V 10 886.977225 1972.152117 -31941.935146 .007388
+P 11 -13663.348214 21661.695009 6637.784399 186.858618
+V 11 -1235.786681 -9627.169485 28959.646239 .037169
+P 13 3018.995052 22387.728004 -14084.261408 -13.717280
+V 13 -10651.594113 -14229.105903 -24930.533670 .009755
+P 14 -15811.777400 -21155.782228 -2845.219858 -31.493513
+V 14 -166.149380 -4255.832010 31910.200554 -.000774
+P 15 -9199.793710 -12946.067634 21034.770142 378.396145
+V 15 14940.812207 -22785.469669 -7706.612560 .053068
+P 16 -25873.365560 -2593.854283 -5447.302412 1.975223
+V 16 6869.893920 -3019.092925 -30728.632001 -.001596
+P 17 19059.668706 -12257.114843 -12960.066881 -91.209249
+V 17 -7295.911760 15754.840551 -25905.909596 .193684
+P 18 -3041.819234 -15105.078142 21712.041575 -119.305591
+V 18 27399.570696 -296.206040 3395.403007 -.037270
+P 19 -13816.052401 6622.446843 21792.388850 -11.954470
+V 19 -13454.965069 -23921.384936 -1296.421273 -.008430
+P 20 -16350.390276 12618.016661 -16765.385711 -90.609500
+V 20 -21217.363201 -566.489824 20369.101239 .027063
+P 21 2557.094096 -22896.447615 12800.767536 88.114936
+V 21 10664.602308 -12871.248487 -25578.292554 .010622
+P 22 -14879.484746 -12742.874189 18088.105365 16.292628
+V 22 22659.231000 -1443.319500 17805.212565 .003763
+P 23 -5552.051072 16828.007699 -19844.201634 211.541023
+V 23 -14596.414662 -20358.271820 -13347.782485 .005587
+P 24 9646.826568 12390.485751 -21103.634887 89.738600
+V 24 -14385.657493 23432.987972 7219.042756 .029041
+P 25 -13549.058191 -7247.595684 -21277.838352 84.392995
+V 25 10784.709591 -25821.550780 1924.663735 .008668
+P 26 14070.053976 -4741.392163 21763.879014 317.518164
+V 26 14921.685513 23989.707120 -3775.184367 .054877
+P 27 -1080.057054 23657.984743 12085.271794 514.059380
+V 27 -8481.930022 12330.840008 -26498.597627 .062820
+P 28 14566.648707 12565.491264 18668.607138 46.487368
+V 28 -23085.050909 2109.207053 16464.435865 .001440
+P 29 16396.031772 -948.935815 21168.609199 177.047086
+V 29 14109.968575 22058.211716 -9925.582599 -.190545
+P 30 5855.382327 -15667.775506 -20862.972292 442.897936
+V 30 25995.399219 -1220.144547 8422.961046 -.144425
+P 31 13654.200721 22375.027799 2799.987367 -.319981
+V 31 -5497.829194 -990.588450 31100.045625 -.078071
+* 2005 1 21 3 15 .00000000
+P 1 -19348.405836 -11722.268685 -13744.755173 384.003212
+V 1 -8731.411541 -15523.905619 25154.515180 .020727
+P 2 16807.109273 -1951.309805 -20758.601802 -42.116601
+V 2 -9418.401868 23937.140325 -10103.499626 .055637
+P 3 -20475.516726 -4923.168411 16213.638498 78.357062
+V 3 -11918.728501 -17236.811284 -19866.424342 .029628
+P 4 11084.576369 11565.908583 -21129.680445 439.677893
+V 4 -11982.333240 24108.231635 7244.549820 -.207058
+P 5 18516.407044 -13583.986523 -13354.021698 73.373603
+V 5 17070.198117 -360.640887 24490.413773 .024559
+P 6 -2162.085161 -21300.456465 -15456.173913 -155.805520
+V 6 14454.437681 14201.342419 -21439.375389 .876716
+P 7 16361.784022 21014.744566 1073.751896 60.348472
+V 7 -3224.470531 1531.897116 31062.439102 -.303571
+P 8 1909.392549 21055.340502 15676.434811 -19.161267
+V 8 -10654.628859 17470.147613 -22270.941435 -.011904
+P 9 14558.640065 -19917.483442 8886.438907 -25.023167
+V 9 -1488.521433 12381.033712 28994.201815 -.018372
+P 10 26606.151584 -1095.098988 -2274.684624 57.597849
+V 10 -2578.277236 2250.545289 -31784.005918 .007378
+P 11 -13747.424822 20661.174021 9178.797466 186.861975
+V 11 -695.637272 -12593.885484 27425.330182 .037170
+P 13 1955.855866 21034.067270 -16201.260989 -13.716417
+V 13 -12982.194403 -15769.010781 -22046.853503 .009752
+P 14 -15743.900983 -21404.111349 42.930819 -31.493559
+V 14 1737.268562 -1298.798670 32178.755144 -.000770
+P 15 -7931.112466 -14990.858104 20157.930451 378.402443
+V 15 13226.012412 -22565.521229 -11751.127468 .053074
+P 16 -25108.528210 -2895.226094 -8158.089775 1.974878
+V 16 10093.144419 -3741.321325 -29424.363359 -.001597
+P 17 18371.371696 -10713.269689 -15167.174552 -91.192183
+V 17 -7920.066142 18526.205779 -23067.688157 .193712
+P 18 -566.269983 -15197.219229 21831.174624 -119.308975
+V 18 27522.122032 -1750.902712 -753.173483 -.037265
+P 19 -15075.598679 4513.426980 21490.197623 -11.955326
+V 19 -14482.034920 -22873.400451 -5409.638212 -.008434
+P 20 -18152.503654 12606.727605 -14793.782311 -90.607001
+V 20 -18768.150539 261.979239 23382.005989 .027060
+P 21 3425.933098 -23958.660062 10392.688263 88.115851
+V 21 8669.616978 -10662.041117 -27856.562375 .010613
+P 22 -12760.904740 -12928.809045 19532.269263 16.292872
+V 22 24341.923367 -2721.502232 14242.482858 .003765
+P 23 -6948.170568 14981.609113 -20872.263728 211.541614
+V 23 -16400.577573 -20588.804408 -9466.219087 .005582
+P 24 8428.383295 14493.205941 -20268.936880 89.741732
+V 24 -12665.576099 23204.116287 11302.432723 .029029
+P 25 -12641.682914 -9578.148378 -20915.441180 84.393156
+V 25 9355.018908 -25878.814670 6116.387461 .008675
+P 26 15455.337146 -2645.529639 21233.626539 317.522762
+V 26 15798.650104 22513.511317 -7986.955741 .054868
+P 27 -1766.735972 24659.440194 9603.318656 514.064801
+V 27 -6814.947926 9857.476394 -28579.217072 .062812
+P 28 12417.749366 12816.148272 19989.975628 46.487510
+V 28 -24588.942799 3487.649129 12857.599934 .001448
+P 29 17687.709837 953.812945 20100.370438 177.029572
+V 29 14522.761873 20172.066186 -13779.921370 -.190554
+P 30 8143.728116 -15830.085080 -19931.032773 442.884731
+V 30 24778.085122 -2355.388126 12258.812729 -.144436
+P 31 13058.716935 22173.778938 5566.081348 -.327189
+V 31 -7775.433364 -3429.486717 30277.697879 -.078091
+* 2005 1 21 3 30 .00000000
+P 1 -20091.985356 -12989.999910 -11368.008680 384.005520
+V 1 -7712.717387 -12640.281505 27584.674958 .020732
+P 2 16000.366476 264.558748 -21491.243815 -42.111771
+V 2 -8461.392836 25232.128766 -6155.681969 .055630
+P 3 -21511.414893 -6370.710971 14291.656624 78.358960
+V 3 -11027.426784 -14916.256509 -22781.897257 .029618
+P 4 10078.197650 13723.278045 -20296.694924 439.658632
+V 4 -10366.205971 23744.754996 11241.272134 -.207062
+P 5 19927.337118 -13623.936870 -11041.278298 73.375882
+V 5 14246.290376 -463.343899 26830.926761 .024563
+P 6 -763.781603 -19973.940363 -17244.709978 -155.726592
+V 6 16606.534408 15197.641480 -18247.359708 .876668
+P 7 15972.437916 21042.174330 3852.322404 60.321152
+V 7 -5468.670683 -870.711263 30596.378786 -.303576
+P 8 1039.249844 22542.156367 13539.321266 -19.163533
+V 8 -8703.629954 15490.254765 -25150.550653 -.011902
+P 9 14405.229118 -18660.506925 11408.556135 -25.024452
+V 9 -1849.615729 15530.357846 26967.737407 -.018375
+P 10 26221.525945 -864.173204 -5107.975173 57.598657
+V 10 -5944.411648 2949.423331 -31089.263259 .007367
+P 11 -13799.802798 19398.418931 11560.038172 186.865388
+V 11 -529.593659 -15439.927022 25414.439635 .037169
+P 13 682.117821 19564.590295 -18041.393205 -13.715566
+V 13 -15315.446664 -16800.080129 -18786.653462 .009748
+P 14 -15488.639591 -21397.350850 2930.351100 -31.493434
+V 14 3987.820593 1399.129775 31894.121626 -.000767
+P 15 -6822.418924 -16991.700873 18925.623408 378.407077
+V 15 11401.047961 -21807.551381 -15593.886598 .053079
+P 16 -24063.943692 -3278.069907 -10728.439628 1.974653
+V 16 13071.883176 -4822.258007 -27612.125697 -.001597
+P 17 17648.135865 -8928.692109 -17099.943001 -91.175762
+V 17 -8075.589851 21087.980328 -19819.467511 .193740
+P 18 1895.909718 -15418.802137 21576.600493 -119.312665
+V 18 27103.514104 -3157.695967 -4897.395917 -.037260
+P 19 -16412.285524 2517.364645 20821.368825 -11.956124
+V 19 -15158.420872 -21421.531043 -9432.410829 -.008437
+P 20 -19718.745992 12654.692241 -12568.590637 -90.604605
+V 20 -15988.920220 741.595639 25996.259539 .027057
+P 21 4123.625609 -24803.607459 7801.235764 88.116700
+V 21 6874.295004 -8053.122440 -29646.818336 .010604
+P 22 -10512.662894 -13237.461641 20644.608008 16.293120
+V 22 25534.354371 -4156.684228 10441.726464 .003768
+P 23 -8497.830341 13136.759878 -21543.403955 211.542122
+V 23 -17994.120444 -20328.684110 -5427.496810 .005576
+P 24 7370.160009 16550.881137 -19075.224650 89.743728
+V 24 -10840.991884 22431.067477 15185.035213 .029018
+P 25 -11868.159822 -11889.450549 -20180.240427 84.393325
+V 25 7825.255460 -25392.346933 10196.460311 .008684
+P 26 16901.449431 -700.656511 20331.146694 317.527695
+V 26 16264.090547 20647.839340 -12034.887735 .054859
+P 27 -2314.499637 25421.349055 6955.429371 514.070320
+V 27 -5405.978011 7018.569031 -30179.527102 .062805
+P 28 10155.437163 13196.832072 20976.359166 46.487423
+V 28 -25600.113526 4984.692685 9030.360708 .001457
+P 29 18996.654051 2673.726515 18695.118335 177.012232
+V 29 14486.930292 18009.203611 -17404.535964 -.190562
+P 30 10301.921302 -16084.978185 -18662.377132 442.871673
+V 30 23110.728337 -3265.354966 15895.051529 -.144447
+P 31 12248.524609 21768.037572 8233.800183 -.334302
+V 31 -10255.935562 -5524.957859 28916.613820 -.078112
+* 2005 1 21 3 45 .00000000
+P 1 -20722.534706 -13997.671522 -8794.017201 384.009631
+V 1 -6222.656356 -9761.627553 29531.674713 .020736
+P 2 15291.562208 2576.747183 -21863.691034 -42.106837
+V 2 -7254.549430 26070.074210 -2110.113181 .055624
+P 3 -22447.256334 -7606.816727 12124.816451 78.361079
+V 3 -9696.791641 -12553.060959 -25300.301388 .029608
+P 4 9220.083857 15823.968874 -19111.794298 439.639767
+V 4 -8702.607459 22848.726980 15053.322782 -.207066
+P 5 21075.300613 -13655.514473 -8538.191704 73.378276
+V 5 11241.283689 -170.821433 28713.804849 .024567
+P 6 823.488286 -18579.120708 -18731.042994 -155.647509
+V 6 18638.614242 15719.896664 -14733.690834 .876619
+P 7 15371.101986 20868.176155 6565.633974 60.293555
+V 7 -7923.267725 -2935.160339 29615.056381 -.303582
+P 8 337.527379 23829.960259 11162.676384 -19.164333
+V 8 -6926.043358 13056.744793 -27585.753118 -.011899
+P 9 14238.258849 -17127.409788 13725.869245 -25.024324
+V 9 -1793.031832 18500.142027 24449.544847 -.018378
+P 10 25541.967129 -552.409580 -7854.995272 57.599869
+V 10 -9117.130316 4040.830996 -29869.566142 .007357
+P 11 -13853.427050 17888.187042 13740.168348 186.868777
+V 11 -718.870007 -18079.517873 22962.863782 .037169
+P 13 -798.087954 18025.538158 -19573.218124 -13.714872
+V 13 -17554.181756 -17315.614789 -15205.282451 .009746
+P 14 -15017.705483 -21162.332752 5767.437212 -31.493455
+V 14 6517.536045 3762.049429 31061.944446 -.000766
+P 15 -5879.412498 -18900.124300 17359.188977 378.412187
+V 15 9559.746121 -20513.814580 -19164.875284 .053084
+P 16 -22765.418910 -3772.457465 -13113.934321 1.974426
+V 16 15723.363097 -6210.208524 -25322.240070 -.001596
+P 17 16930.962645 -6926.571377 -18724.280557 -91.159056
+V 17 -7791.825266 23345.501830 -16224.844622 .193768
+P 18 4296.575709 -15761.503680 20951.900736 -119.315656
+V 18 26159.270125 -4427.961330 -8966.394939 -.037254
+P 19 -17791.839655 667.633621 19797.125147 -11.956809
+V 19 -15426.148649 -19633.943280 -13296.555827 -.008440
+P 20 -21023.116208 12728.406443 -10127.783129 -90.602238
+V 20 -12963.512538 828.165066 28166.503669 .027054
+P 21 4671.471057 -25398.244098 5071.929405 88.117664
+V 21 5350.682377 -5112.059145 -30915.120650 .010595
+P 22 -8180.312366 -13679.174903 21406.558533 16.293394
+V 22 26207.653528 -5663.832505 6467.003287 .003771
+P 23 -10178.325601 11336.055428 -21846.561562 211.542764
+V 23 -19295.085050 -19615.440747 -1300.429446 .005569
+P 24 6477.283256 18514.592156 -17543.771361 89.746386
+V 24 -9007.057560 21118.492044 18796.459715 .029007
+P 25 -11233.411242 -14132.485695 -19085.677808 84.393691
+V 25 6286.310322 -24363.701421 14090.014611 .008692
+P 26 18369.079006 1061.975795 19074.353341 317.532867
+V 26 16270.303346 18478.925064 -15849.454958 .054851
+P 27 -2749.370387 25913.995442 4186.482412 514.075974
+V 27 -4315.142250 3887.180868 -31264.167287 .062798
+P 28 7825.215460 13714.365540 21610.683219 46.487557
+V 28 -26095.646279 6514.068264 5044.644408 .001466
+P 29 20280.922348 4189.790281 16976.235001 176.994924
+V 29 13970.517178 15657.192712 -20739.918774 -.190571
+P 30 12291.731196 -16409.030057 -17077.758396 442.858426
+V 30 21046.211486 -3881.747545 19270.252130 -.144458
+P 31 11209.075541 21191.161619 10755.539406 -.341748
+V 31 -12855.276993 -7225.150339 27038.131499 -.078132
+* 2005 1 21 4 0 .00000000
+P 1 -21198.731715 -14750.214518 -6067.766100 384.010496
+V 1 -4288.809183 -6986.799462 30963.683655 .020739
+P 2 14699.671509 4942.327502 -21870.113375 -42.101782
+V 2 -5877.092538 26413.740255 1967.146190 .055619
+P 3 -23244.170991 -8631.624862 9750.747017 78.364480
+V 3 -7944.494609 -10235.138650 -27380.815110 .029598
+P 4 8510.448379 17820.344868 -17594.676725 439.621027
+V 4 -7081.563905 21429.862979 18612.843381 -.207069
+P 5 21948.063822 -13642.391947 -5887.575185 73.381345
+V 5 8146.207677 530.860332 30104.242674 .024571
+P 6 2584.904325 -17158.199905 -19888.993579 -155.568445
+V 6 20462.069452 15781.376891 -10960.824419 .876571
+P 7 14542.228849 20525.420304 9168.191825 60.266236
+V 7 -10511.678312 -4614.322280 28139.296955 -.303586
+P 8 -215.031397 24880.633964 8588.553873 -19.166190
+V 8 -5401.145635 10232.524222 -29532.331243 -.011895
+P 9 14094.179102 -15338.825572 15796.043749 -25.027013
+V 9 -1347.196462 21192.079079 21483.999016 -.018381
+P 10 24588.868845 -126.378166 -10469.347361 57.600217
+V 10 -12009.311742 5479.899515 -28145.138940 .007346
+P 11 -13938.843495 16152.687109 15681.437313 186.872156
+V 11 -1229.142624 -20433.374924 20114.303718 .037167
+P 13 -2471.924353 16462.889935 -20770.526315 -13.713950
+V 13 -19602.724294 -17328.094403 -11363.467049 .009743
+P 14 -14309.513366 -20732.099608 8505.515488 -31.493712
+V 14 9245.914316 5728.271212 29697.210175 -.000764
+P 15 -5099.366478 -20668.764497 15486.058791 378.418986
+V 15 7794.869639 -18706.620910 -22398.978192 .053089
+P 16 -21245.699859 -4403.155265 -15273.266721 1.974261
+V 16 17976.611933 -7839.356069 -22593.417233 -.001595
+P 17 16257.370218 -4738.161224 -20012.114932 -91.141300
+V 17 -7116.496976 25214.840729 -12353.694131 .193796
+P 18 6589.800973 -16209.220267 19967.013826 -119.319360
+V 18 24723.000681 -5478.010842 -12889.975158 -.037250
+P 19 -19175.420605 -1009.035799 18434.722629 -11.957349
+V 19 -15242.049645 -17589.630984 -16936.363698 -.008446
+P 20 -22047.544558 12791.125483 -7513.086529 -90.599777
+V 20 -9783.793961 494.125330 29854.793642 .027051
+P 21 5096.683940 -25716.237316 2252.906855 88.118593
+V 21 4157.718458 -1919.986518 -31637.342518 .010586
+P 22 -5811.210363 -14256.452764 21805.448074 16.293841
+V 22 26350.707739 -7154.348989 2384.978965 .003773
+P 23 -11959.986775 9617.987308 -21776.930439 211.543356
+V 23 -20231.158272 -18502.423939 2844.994007 .005561
+P 24 5746.357158 20336.748084 -15701.955601 89.748015
+V 24 -7257.340790 19291.168534 22071.653846 .028996
+P 25 -10734.203131 -16259.276035 -17651.764685 84.394798
+V 25 4827.891267 -22814.327042 17726.187068 .008701
+P 26 19815.411095 2619.294411 17487.163418 317.537930
+V 26 15787.371947 16101.639170 -19366.953461 .054842
+P 27 -3102.168272 26114.829240 1344.165430 514.081378
+V 27 -3588.520054 549.038441 -31806.255594 .062791
+P 28 5473.876721 14367.671563 21881.583760 46.487905
+V 28 -26069.904500 7987.043949 965.285694 .001475
+P 29 21496.480600 5489.125715 14972.271288 176.977568
+V 29 12959.161499 13208.714419 -23730.853257 -.190579
+P 30 14080.296219 -16773.167778 -15203.300880 442.845450
+V 30 18650.618412 -4147.778130 22326.640037 -.144469
+P 31 9933.755284 20480.449028 13086.081143 -.348813
+V 31 -15481.798387 -8494.665855 24673.891057 -.078152
+* 2005 1 21 4 15 .00000000
+P 1 -21482.558627 -15261.189994 -3236.688475 384.011400
+V 1 -1956.785746 -4408.111390 31858.194239 .020744
+P 2 14236.256963 7315.748720 -21510.644001 -42.096536
+V 2 -4413.997209 26242.248476 6009.788948 .055611
+P 3 -23865.618111 -9453.013383 7210.408700 78.367597
+V 3 -5804.464537 -8046.011274 -28990.307285 .029587
+P 4 7941.504440 19666.501744 -15770.983397 439.602605
+V 4 -5590.220562 19516.852643 21855.843217 -.207073
+P 5 22541.720494 -13547.777046 -3135.004192 73.383757
+V 5 5054.504896 1638.023975 30975.781142 .024575
+P 6 4497.913064 -15751.386107 -20698.231133 -155.489466
+V 6 21994.244472 15412.957785 -6996.064989 .876522
+P 7 13477.466695 20050.109262 11616.715948 60.238733
+V 7 -13151.082942 -5877.013406 26197.386101 -.303591
+P 8 -644.278533 25662.421824 5862.570184 -19.166664
+V 8 -4195.718577 7095.612455 -30955.466979 -.011892
+P 9 14006.074296 -13323.865734 17581.181575 -25.027277
+V 9 -558.197285 23516.769738 18125.154307 -.018385
+P 10 23391.025826 442.612377 -12906.819649 57.599944
+V 10 -14544.097517 7206.523336 -25944.271670 .007336
+P 11 -14082.864222 14220.856852 17350.347233 186.875520
+V 11 -2012.062526 -22431.722236 16919.411193 .037165
+P 13 -4318.149230 14920.658654 -21612.779063 -13.713084
+V 13 -21370.573158 -16868.568707 -7326.326362 .009740
+P 14 -13350.173969 -20144.520927 11097.670581 -31.493723
+V 14 12082.975525 7252.536322 27823.942663 -.000762
+P 15 -4471.399991 -22253.143535 13339.251963 378.423779
+V 15 6194.222361 -16427.600316 -25237.364807 .053093
+P 16 -19543.288688 -5188.465137 -17168.968469 1.974147
+V 16 19775.087278 -9632.328622 -19472.136345 -.001595
+P 17 15659.842135 -2401.656010 -20941.877813 -91.123416
+V 17 -6113.298521 26626.203252 -8280.368408 .193825
+P 18 8733.456500 -16738.667473 18638.120086 -119.322677
+V 18 22845.246177 -6232.508367 -16599.827875 -.037243
+P 19 -20521.039247 -2493.397973 16757.179395 -11.957930
+V 19 -14579.575377 -15375.394157 -20289.674102 -.008453
+P 20 -22782.463590 12804.420444 -4769.282415 -90.597203
+V 20 -6546.250205 -270.242007 31031.294875 .027047
+P 21 5431.098710 -25739.051459 -605.987340 88.119666
+V 21 3338.771214 1431.530162 -31799.757486 .010576
+P 22 -3452.901032 -14963.794110 21834.682507 16.294243
+V 22 25970.473429 -8539.520149 -1736.103800 .003775
+P 23 -13807.176919 8015.613592 -21336.013911 211.543863
+V 23 -20742.475727 -17056.620243 6938.740339 .005553
+P 24 5165.783954 21972.861381 -13582.720285 89.750207
+V 24 -5679.900961 16993.055298 24952.224837 .028986
+P 25 -10359.426008 -18224.638743 -15904.653312 84.396023
+V 25 3534.675746 -20784.665349 21039.612369 .008709
+P 26 21195.777543 3957.006847 15598.929837 317.542884
+V 26 14804.121785 13615.568748 -22530.422709 .054833
+P 27 -3407.143172 26009.475259 -1521.835682 514.087100
+V 27 -3255.927659 -2900.467870 -31788.431283 .062784
+P 28 3147.931110 15147.702359 21783.630542 46.488332
+V 28 -25534.790512 9315.791168 -3140.837453 .001480
+P 29 22598.823494 6567.299041 12716.524121 176.960204
+V 29 11456.821393 10758.174477 -26327.219255 -.190587
+P 30 15641.211092 -17143.815803 -13070.127998 442.832554
+V 30 16000.913859 -4020.532602 25011.058485 -.144480
+P 31 8424.403253 19675.584988 15183.501632 -.355785
+V 31 -18039.936167 -9316.037273 21865.350774 -.078172
+* 2005 1 21 4 30 .00000000
+P 1 -21540.849491 -15552.040998 -349.813865 384.012295
+V 1 711.557308 -2107.857050 32202.261754 .020749
+P 2 13905.094914 9650.347392 -20791.361521 -42.091469
+V 2 -2952.769069 25551.833462 9952.147981 .055602
+P 3 -24278.796857 -10086.062294 4547.382372 78.370819
+V 3 -3325.623799 -6061.709091 -30103.729715 .029577
+P 4 7497.887306 21319.941246 -13671.892082 439.584323
+V 4 -4309.246107 17156.487493 24723.488669 -.207076
+P 5 22860.750348 -13336.007026 -328.035615 73.385821
+V 5 2058.494480 3129.291341 31310.940552 .024579
+P 6 6532.917836 -14395.365802 -21144.651285 -155.410484
+V 6 23161.814922 14661.733840 -2910.240353 .876474
+P 7 12176.083969 19480.502662 13870.783074 60.211342
+V 7 -15755.478418 -6708.783831 23824.407420 -.303596
+P 8 -981.408690 26151.156497 3033.025356 -19.167206
+V 8 -3361.299558 3736.059287 -31830.438417 -.011889
+P 9 14002.161189 -11119.139530 19048.641098 -25.028453
+V 9 512.274549 25397.576737 14435.537806 -.018389
+P 10 21983.584544 1177.240130 -15126.094821 57.600528
+V 10 -16657.614289 9147.595262 -23302.921365 .007327
+P 11 -14307.394635 12127.385809 18718.235078 186.879182
+V 11 -3007.329174 -24016.917197 13434.800680 .037161
+P 13 -6307.740321 13439.273658 -22085.456760 -13.712247
+V 13 -22775.898562 -15985.351888 -3162.318612 .009738
+P 14 -12134.195943 -19440.738595 13499.539529 -31.493676
+V 14 14932.670584 8307.589502 25474.750442 -.000761
+P 15 -3977.092383 -23613.344170 10956.752267 378.427497
+V 15 4836.963198 -13736.146674 -27628.733086 .053097
+P 16 -17701.045720 -6139.317936 -18768.075593 1.974121
+V 16 21078.783834 -11503.239003 -16011.875812 -.001595
+P 17 15164.524233 39.208890 -21498.825036 -91.105825
+V 17 -4858.815211 27526.635825 -4081.856642 .193853
+P 18 10690.657967 -17320.275346 16987.416824 -119.325904
+V 18 20591.659551 -6627.603387 -20030.754654 -.037238
+P 19 -21785.112432 -3774.246928 14792.909245 -11.958622
+V 19 -13429.997274 -13082.520290 -23298.912159 -.008462
+P 20 -23227.062972 12729.813024 -1943.450652 -90.594903
+V 20 -3348.390177 -1456.287654 31674.852531 .027043
+P 21 5709.682083 -25456.727392 -3454.154770 88.120500
+V 21 2919.839563 4844.097508 -31399.373059 .010566
+P 22 -1151.499612 -15787.837928 21493.841612 16.294463
+V 22 25091.637428 -9733.962614 -5827.463165 .003776
+P 23 -15679.520905 6555.448537 -20531.578421 211.544418
+V 23 -20783.953527 -15355.980125 10911.845886 .005543
+P 24 4716.426983 23383.201040 -11223.920362 89.752691
+V 24 -4353.631052 14285.540288 27387.583138 .028976
+P 25 -10090.711588 -19987.824235 -13876.081224 84.397302
+V 25 2482.726403 -18332.444262 23971.741529 .008718
+P 26 22465.357918 5069.846945 13443.801418 317.548102
+V 26 13328.313539 11121.056966 -25290.346444 .054824
+P 27 -3700.433774 25592.447433 -4360.735018 514.092792
+V 27 -3329.312470 -6359.820159 -31203.742152 .062777
+P 28 892.039290 16037.673168 21317.469840 46.488687
+V 28 -24519.391586 10416.764018 -7205.728254 .001483
+P 29 23544.631860 7428.320719 10246.542842 176.943112
+V 29 9485.856935 8398.239095 -28484.764082 -.190595
+P 30 16955.385354 -17484.233235 -10713.903887 442.819754
+V 30 13182.195281 -3472.853072 27275.914331 -.144491
+P 31 6691.488418 18816.990195 17010.022616 -.362826
+V 31 -20434.150505 -9690.438262 18663.025114 -.078192
+* 2005 1 21 4 45 .00000000
+P 1 -21346.648700 -15651.050328 2543.096205 384.013470
+V 1 3640.514679 -155.274463 31992.558752 .020754
+P 2 13702.096075 11899.899851 -19724.192966 -42.086260
+V 2 -1580.143176 24356.012376 13730.070089 .055591
+P 3 -24455.918199 -10552.251759 1807.129389 78.374992
+V 3 -570.080779 -4347.997693 -30704.373956 .029565
+P 4 7157.391120 22743.133064 -11333.597235 439.565362
+V 4 -3309.461652 14412.045941 27163.328401 -.207080
+P 5 22917.758521 -12974.118985 2484.623059 73.389849
+V 5 -754.158145 4966.207459 31101.697018 .024582
+P 6 8654.256987 -13121.931841 -21220.630380 -155.331533
+V 6 23903.789381 13588.964584 1223.699198 .876426
+P 7 10645.116200 18855.398482 15893.407282 60.184407
+V 7 -18238.782291 -7112.100947 21061.544410 -.303601
+P 8 -1261.488213 26331.183685 149.972525 -19.169610
+V 8 -2932.103473 252.363651 -32143.061495 -.011885
+P 9 14104.498963 -8767.456004 20171.737593 -25.029743
+V 9 1789.587509 26773.866437 10484.746855 -.018393
+P 10 20406.769025 2093.118771 -17089.418476 57.601657
+V 10 -18301.234784 11219.724555 -20264.216338 .007317
+P 11 -14628.469174 9911.523232 19761.760926 186.882777
+V 11 -4145.235130 -25145.585701 9721.960442 .037154
+P 13 -8404.821756 12054.110129 -22180.309917 -13.711454
+V 13 -23748.726020 -14742.067976 1057.866935 .009735
+P 14 -10664.869581 -18663.501769 15670.058825 -31.493617
+V 14 17696.518964 8885.054704 22690.237199 -.000762
+P 15 -3591.413631 -24715.509997 8380.781283 378.431090
+V 15 3790.295862 -10707.108817 -29530.371801 .053102
+P 16 -15764.629807 -7258.657824 -20042.718664 1.974073
+V 16 21865.706375 -13361.081272 -12272.207760 -.001597
+P 17 14790.221880 2536.764636 -21675.192062 -91.088223
+V 17 -3438.958205 27881.928745 164.022336 .193881
+P 18 12431.021207 -17919.348178 15042.783723 -119.328969
+V 18 18040.586127 -6613.654023 -23121.878391 -.037235
+P 19 -22924.095964 -4848.663766 12575.264310 -11.959313
+V 19 -11802.941551 -10803.288542 -25912.070228 -.008472
+P 20 -23389.217253 12530.425470 915.832177 -90.592454
+V 20 -285.097317 -3037.184842 31773.420006 .027039
+P 21 5968.916920 -24868.323011 -6241.214222 88.121667
+V 21 2908.508443 8216.396744 -30443.996714 .010554
+P 22 1049.864083 -16707.813834 20788.680832 16.294874
+V 22 23755.641617 -10658.943914 -9820.816678 .003778
+P 23 -17533.320113 5256.611104 -19377.508224 211.545008
+V 23 -20327.066945 -13486.356040 14697.500498 .005533
+P 24 4372.584860 24534.255265 -8667.576767 89.754664
+V 24 -3345.025389 11244.975466 29335.878345 .028966
+P 25 -9903.354087 -21513.968067 -11602.706259 84.398802
+V 25 1736.329842 -15530.260754 26471.948730 .008725
+P 26 23580.864873 5961.468553 11060.029266 317.552903
+V 26 11386.108006 8715.359965 -27605.144525 .054815
+P 27 -4018.414124 24867.525327 -7121.615442 514.098479
+V 27 -3801.876895 -9725.316511 -30056.315001 .062770
+P 28 -1252.495224 17013.596415 20489.881325 46.489157
+V 28 -23069.011834 11213.977676 -11161.254337 .001483
+P 29 24293.408076 8084.333961 7603.567956 176.926237
+V 29 7086.459555 6216.407913 -30165.832219 -.190603
+P 30 18011.638525 -17755.995762 -8174.291475 442.806967
+V 30 10284.604927 -2494.657457 29080.085682 -.144502
+P 31 4753.927842 17944.141770 18532.782177 -.369938
+V 31 -22572.902948 -9637.576737 15125.460443 -.078212
+* 2005 1 21 5 0 .00000000
+P 1 -20880.329911 -15592.049311 5392.409642 384.013397
+V 1 6743.439904 1395.936684 31235.255033 .020761
+P 2 13615.522780 14020.163110 -18326.738667 -42.081169
+V 2 -378.810812 22685.164293 17281.777782 .055579
+P 3 -24375.292445 -10878.428884 -963.765677 78.376995
+V 3 2389.145921 -2958.023787 -30783.998923 .029554
+P 4 6891.993432 23904.899805 -8796.684094 439.546881
+V 4 -2648.842531 11360.987805 29130.417835 -.207083
+P 5 22732.902982 -12433.332232 5253.979612 73.393281
+V 5 -3303.820738 7094.567015 30349.781084 .024585
+P 6 10821.430389 -11956.822991 -20925.151895 -155.252954
+V 6 24174.005684 12267.445425 5332.119768 .876377
+P 7 8899.234960 18212.624443 17651.556778 60.157300
+V 7 -20517.886731 -7105.943225 17955.362367 -.303605
+P 8 -1521.830843 26195.948249 -2735.740479 -19.170193
+V 8 -2923.704303 -3252.440551 -31889.868075 -.011882
+P 9 14327.972167 -6316.260416 20930.306956 -25.029985
+V 9 3189.535457 27603.604670 6347.794109 -.018398
+P 10 18704.426981 3198.009450 -18763.218648 57.603649
+V 10 -19443.297891 13332.346879 -16877.864665 .007306
+P 11 -15055.533238 7615.719039 20463.294716 186.886161
+V 11 -5349.573030 -25790.185636 5846.089541 .037145
+P 13 -10567.858526 10794.221143 -21895.508519 -13.710493
+V 13 -24233.688295 -13215.118622 5262.458590 .009732
+P 14 -8954.318088 -17855.455531 17572.152737 -31.493619
+V 14 20277.335287 8995.584688 19518.287814 -.000764
+P 15 -3283.930087 -25533.107695 5656.985327 378.437258
+V 15 3106.683596 -7427.833070 -30909.009141 .053107
+P 16 -13780.837078 -8541.143348 -20970.625862 1.973967
+V 16 22132.646358 -15113.351269 -8317.770893 -.001600
+P 17 14547.733020 5041.149617 -21470.190811 -91.070902
+V 17 -1945.100484 27677.666505 4380.328514 .193910
+P 18 13931.675745 -18497.446421 12837.340772 -119.331875
+V 18 15280.123499 -6157.421875 -25817.815670 -.037236
+P 19 -23896.134703 -5721.946300 10141.992416 -11.959977
+V 19 -9726.232204 -8627.425518 -28083.618956 -.008483
+P 20 -23285.088159 12172.581161 3759.326088 -90.590017
+V 20 2554.931055 -4968.832960 31324.334202 .027034
+P 21 6245.127894 -23981.995618 -8917.966508 88.122580
+V 21 3293.704621 11448.208934 -28952.032048 .010542
+P 22 3112.487014 -17696.281470 19731.039848 16.295357
+V 22 22019.106769 -11245.462182 -13649.412306 .003778
+P 23 -19323.099934 4130.262353 -17893.564296 211.545553
+V 23 -19361.014722 -11538.164989 18232.090303 .005521
+P 24 4103.232136 25399.944412 -5959.056280 89.756626
+V 24 -2705.510333 7959.615220 30764.706981 .028956
+P 25 -9767.491842 -22775.297879 -9125.352474 84.400069
+V 25 1345.393034 -12462.578199 28498.401716 .008733
+P 26 24502.150719 6644.003870 8489.237586 317.557960
+V 26 9020.862059 6489.059202 -29441.474999 .054806
+P 27 -4395.997439 23847.763486 -9754.445738 514.104099
+V 27 -4648.017107 -12895.256657 -28361.751739 .062763
+P 28 -3249.119526 18045.102020 19313.743941 46.489266
+V 28 -21243.607373 11642.069399 -14940.186042 .001481
+P 29 24809.030888 8555.000855 4831.906438 176.909230
+V 29 4315.434861 4291.740931 -31340.043609 -.190611
+P 30 18807.005934 -17920.568489 -5494.331351 442.793864
+V 30 7400.006751 -1093.630418 30389.770735 -.144512
+P 31 2638.552095 17093.940867 19724.502635 -.376990
+V 31 -24372.494240 -9194.766749 11317.977570 -.078231
+* 2005 1 21 5 15 .00000000
+P 1 -20130.434917 -15412.931235 8149.467059 384.015815
+V 1 9926.039548 2509.461677 29945.737338 .020768
+P 2 13626.495622 15970.351717 -16622.020104 -42.076013
+V 2 575.720795 20585.530557 20548.719252 .055565
+P 3 -24022.194165 -11095.584404 -3718.358246 78.377638
+V 3 5470.782412 -1930.455877 -30342.836896 .029543
+P 4 6669.127634 24781.566488 -6105.407470 439.528328
+V 4 -2370.028786 8092.043665 30588.306926 -.207087
+P 5 22333.029967 -11690.381131 7931.641179 73.395988
+V 5 -5521.980009 9446.401539 29066.781422 .024586
+P 6 12990.523864 -10918.821715 -20263.803062 -155.174053
+V 6 23943.017269 10778.419456 9342.143083 .876329
+P 7 6960.347850 17587.591358 19116.605574 60.129941
+V 7 -22515.566834 -6724.836444 14557.081241 -.303610
+P 8 -1800.290947 25748.219779 -5573.433744 -19.171649
+V 8 -3332.525527 -6674.852084 -31078.022875 -.011878
+P 9 14679.596539 -3815.876241 21311.112187 -25.031759
+V 9 4622.120524 27865.076853 2103.289974 -.018403
+P 10 16922.447927 4491.326295 -20118.667808 57.604491
+V 10 -20070.224251 15391.121393 -13199.468036 .007296
+P 11 -15590.998501 5284.151948 20811.196035 186.889589
+V 11 -6540.783218 -25939.943129 1874.888029 .037135
+P 13 -12751.075222 9681.320218 -21235.686735 -13.709723
+V 13 -24192.241254 -11490.665708 9379.776593 .009729
+P 14 -7023.214749 -17057.448896 19173.352283 -31.493591
+V 14 22582.904014 8668.283458 16013.243746 -.000766
+P 15 -3020.232558 -26047.898939 2833.556563 378.442942
+V 15 2821.711624 -3994.693452 -31741.424044 .053111
+P 16 -11795.902547 -9973.179130 -21535.528776 1.973799
+V 16 21895.227567 -16669.748605 -4217.139590 -.001604
+P 17 14439.535154 7502.105934 -20889.859179 -91.053513
+V 17 -470.107313 26919.420151 8492.558498 .193938
+P 18 15177.994260 -19013.938538 10408.903485 -119.335655
+V 18 12404.768500 -5243.638781 -28069.781881 -.037238
+P 19 -24662.667219 -6407.222493 7534.616258 -11.960630
+V 19 -7245.040069 -6638.645404 -29775.330709 -.008495
+P 20 -22938.415626 11627.292750 6537.978520 -90.587727
+V 20 5092.517115 -7191.445761 30334.427993 .027030
+P 21 6572.821645 -22814.723421 -11437.329108 88.123592
+V 21 4046.260865 14444.378814 -26952.014422 .010529
+P 22 5003.367362 -18720.132126 18338.659001 16.295744
+V 22 19951.710227 -11436.976529 -17249.043849 .003776
+P 23 -21003.232844 3179.351051 -16105.051649 211.545915
+V 23 -17893.229284 -9602.897235 21456.188663 .005510
+P 24 3873.470744 25962.536928 -3146.198377 89.758592
+V 24 -2469.444592 4526.103536 31651.581609 .028947
+P 25 -9649.494206 -23752.049321 -6488.188884 84.400608
+V 25 1343.499107 -9222.288111 30018.682803 .008740
+P 26 25193.678444 7137.314828 5775.674975 317.563028
+V 26 6291.335011 4522.845175 -30774.370312 .054797
+P 27 -4864.972883 22555.120312 -12211.119416 514.109832
+V 27 -5824.123178 -15774.176077 -26147.202383 .062756
+P 28 -5067.258431 19096.519076 17807.906105 46.489635
+V 28 -19115.662589 11649.026832 -18477.282506 .001478
+P 29 25061.172541 8866.605206 1978.248767 176.891812
+V 29 1244.366156 2691.855477 -31984.907673 -.190619
+P 30 19346.739284 -17940.910871 -2719.747742 442.780515
+V 30 4618.546659 704.759751 31179.254545 -.144523
+P 31 379.238537 16299.199491 20564.036283 -.384071
+V 31 -25760.577657 -8415.217466 7311.222251 -.078251
+* 2005 1 21 5 30 .00000000
+P 1 -19094.203625 -15154.029406 10767.393238 384.018285
+V 1 13089.920913 3167.525453 28148.185329 .020774
+P 2 13709.772878 17714.499542 -14638.151822 -42.070924
+V 2 1218.033339 18117.663385 23476.405247 .055550
+P 3 -23389.474815 -11237.486499 -6410.102321 78.380141
+V 3 8588.234321 -1288.176915 -29389.485996 .029533
+P 4 6453.152101 25357.825087 -3306.889048 439.509571
+V 4 -2498.460512 4701.814939 31509.857651 -.207090
+P 5 21750.549978 -10728.641945 10470.698422 73.399054
+V 5 -7353.899651 11942.555089 27274.041828 .024588
+P 6 15115.772962 -10019.145514 -19248.643325 -155.095278
+V 6 23199.293646 9208.166013 13183.049373 .876281
+P 7 4856.946546 17011.956647 20264.719572 60.102590
+V 7 -24163.157361 -6017.377633 10921.845918 -.303615
+P 8 -2133.547785 24999.952045 -8313.539091 -19.173550
+V 8 -4136.148152 -9914.940790 -29724.992446 -.011874
+P 9 15158.178404 -1317.633547 21308.081809 -25.033054
+V 9 5995.592594 27557.681026 -2168.463001 -.018408
+P 10 15107.109856 5963.956288 -21132.178907 57.604623
+V 10 -20186.982288 17301.499398 -9289.742354 .007285
+P 11 -16230.087530 2961.202767 20799.983905 186.893071
+V 11 -7639.212933 -25601.132724 -2122.673169 .037124
+P 13 -14906.046782 8729.053176 -20211.881357 -13.708983
+V 13 -23604.258029 -9661.239377 13339.417589 .009726
+P 14 -4900.176877 -16306.926639 20446.335559 -31.493693
+V 14 24529.464766 7949.427452 12234.982379 -.000770
+P 15 -2763.524125 -26250.582886 -39.689701 378.449619
+V 15 2952.686942 -509.269338 -32014.806886 .053114
+P 16 -9853.830808 -11533.278876 -21727.462529 1.973547
+V 16 21187.215443 -17945.812690 -41.609808 -.001607
+P 17 14459.827412 9870.755873 -19946.778572 -91.036208
+V 17 895.556116 25632.120028 12430.015583 .193966
+P 18 16164.006427 -19427.662614 7799.342803 -119.339117
+V 18 9511.779317 -3875.868596 -29836.599482 -.037237
+P 19 -25189.923443 -6924.761279 4797.743059 -11.961741
+V 19 -4420.361824 -4911.406566 -30956.998277 -.008506
+P 20 -22379.524051 10871.578569 9203.777699 -90.585260
+V 20 7260.976402 -9631.767716 28819.973297 .027026
+P 21 6983.113003 -21391.679797 -13755.218033 88.124536
+V 21 5120.255592 17118.538503 -24481.906418 .010516
+P 22 6696.266044 -19741.816678 16634.905342 16.295963
+V 22 17633.589940 -11191.690688 -20559.042191 .003775
+P 23 -22529.577234 2398.675706 -14042.400175 211.546284
+V 23 -15949.215628 -7769.597330 24315.485241 .005500
+P 24 3646.128440 26213.234835 -278.410672 89.760869
+V 24 -2652.861086 1045.671276 31984.160669 .028939
+P 25 -9513.491168 -24433.059041 -3737.863625 84.402204
+V 25 1746.687866 -5907.000263 31010.159321 .008747
+P 26 25625.808233 7467.975265 2965.459930 317.568152
+V 26 3269.398603 2884.764754 -31587.233768 .054788
+P 27 -5452.454014 21019.711447 -14446.484028 514.115619
+V 27 -7270.240046 -18276.915797 -23451.080230 .062750
+P 28 -6683.327428 20128.183938 15996.956439 46.489525
+V 28 -16767.566397 11198.473243 -21710.413613 .001475
+P 29 25026.524487 9050.901491 -909.065821 176.874577
+V 29 -2042.792850 1470.305373 -32086.357437 -.190627
+P 30 19643.997212 -17783.051936 101.809880 442.767719
+V 30 2025.225201 2857.939960 31431.568459 -.144534
+P 31 -1984.250605 15587.313654 21036.773893 -.391089
+V 31 -26679.179381 -7365.620234 3179.574330 -.078271
+* 2005 1 21 5 45 .00000000
+P 1 -17777.778479 -14856.423580 13201.864619 384.020312
+V 1 16136.255354 3371.327340 25875.021752 .020781
+P 2 13834.777084 19222.658673 -12407.938752 -42.065868
+V 2 1495.368929 15354.365932 26015.229365 .055533
+P 3 -22477.902580 -11339.223277 -8993.594590 78.382297
+V 3 11652.695549 -1037.566352 -27940.697194 .029524
+P 4 6206.955565 25627.276290 -450.249902 439.490879
+V 4 -3041.227602 1291.026336 31877.862135 -.207093
+P 5 21022.098328 -9539.005066 12826.590902 73.402586
+V 5 -8760.732325 14495.748022 25002.346051 .024589
+P 6 17151.202139 -9261.154320 -17897.949477 -155.016630
+V 6 21949.690802 7644.414245 16787.609677 .876233
+P 7 2623.227258 16512.441688 21077.176968 60.074948
+V 7 -25402.921687 -5044.302922 7107.996318 -.303620
+P 8 -2555.453014 23971.787013 -10908.503671 -19.174414
+V 8 -5294.401082 -12880.179590 -27857.986771 -.011869
+P 9 15754.341248 1128.030792 20922.375715 -25.034138
+V 9 7220.534672 26701.760501 -6387.386553 -.018414
+P 10 13303.414206 7598.403414 -21785.827161 57.605249
+V 10 -19816.880076 18972.340826 -5213.647262 .007275
+P 11 -16960.971830 689.932152 20430.395894 186.896412
+V 11 -8568.356220 -24796.699645 -6077.577634 .037113
+P 13 -16983.402256 7942.587486 -18841.363800 -13.708071
+V 13 -22468.937593 -7822.096697 17073.432703 .009724
+P 14 -2620.859507 -15636.465949 21369.381454 -31.493654
+V 14 26044.878923 6900.536962 8247.915491 -.000774
+P 15 -2476.298687 -26141.085298 -2912.258776 378.455243
+V 15 3498.027750 2925.655341 -31726.866657 .053117
+P 16 -7994.821224 -13192.747164 -21542.953724 1.973310
+V 16 20059.114604 -18866.346753 4136.075295 -.001609
+P 17 14594.913254 12101.287704 -18659.677477 -91.018852
+V 17 2067.476515 23858.682871 16126.970081 .193995
+P 18 16892.477884 -19698.631853 5053.859717 -119.342570
+V 18 6697.396896 -2076.614880 -31085.579829 -.037235
+P 19 -25450.257030 -7301.006000 1978.314880 -11.962597
+V 19 -1326.878639 -3508.011132 -31607.032024 -.008516
+P 20 -21644.081629 9889.554290 11710.593130 -90.583098
+V 20 9008.612544 -12205.836316 26806.451677 .027023
+P 21 7502.304166 -19745.289431 -15831.356538 88.125459
+V 21 6455.057442 19396.427521 -21588.182712 .010503
+P 22 8172.516537 -20720.755750 14648.410912 16.296243
+V 22 15152.363362 -10484.306207 -23523.232907 .003775
+P 23 -23861.071648 1775.259787 -11740.665017 211.546791
+V 23 -13571.724530 -6121.444215 26761.643304 .005489
+P 24 3383.435650 26152.410248 2594.245836 89.762937
+V 24 -3252.985534 -2379.787718 31760.247643 .028930
+P 25 -9322.978915 -24816.017888 -922.615728 84.402513
+V 25 2552.988965 -2615.229584 31460.112957 .008755
+P 26 25775.859338 7668.028890 105.831986 317.573030
+V 26 37.352246 1628.000745 -31871.722585 .054779
+P 27 -6179.512503 19278.713102 -16419.327548 514.121103
+V 27 -8912.537004 -20332.310225 -20322.405152 .062743
+P 28 -8081.489930 21097.930209 13910.892531 46.489736
+V 28 -14288.568731 10271.408686 -24581.700907 .001472
+P 29 24689.783307 9143.749083 -3780.827901 176.856927
+V 29 -5452.626036 664.446677 -31639.185895 -.190634
+P 30 19719.232993 -17417.573180 2921.578737 442.754905
+V 30 -303.382082 5307.601751 31139.016181 -.144544
+P 31 -4407.674367 14979.180968 21134.905812 -.398439
+V 31 -27087.084267 -6123.152036 -1000.527488 -.078290
+* 2005 1 21 6 0 .00000000
+P 1 -16196.079153 -14560.239784 15411.822337 384.021207
+V 1 18969.420015 3140.755255 23166.255033 .020788
+P 2 13966.834589 20471.892192 -9968.400658 -42.060914
+V 2 1369.777120 12378.182895 28121.265561 .055517
+P 3 -21296.218695 -11435.707897 -11425.294894 78.384619
+V 3 14576.321839 -1168.389239 -26021.063396 .029514
+P 4 5893.631583 25592.624313 2414.302764 439.472104
+V 4 -3986.691229 -2039.408507 31685.438651 -.207096
+P 5 20187.033875 -8120.454127 14957.934578 73.405833
+V 5 -9720.989544 17014.004301 22291.392038 .024589
+P 6 19052.272878 -8640.382783 -16235.845212 -154.938001
+V 6 20219.180425 6172.735031 20093.317078 .876185
+P 7 298.014343 16109.841162 21540.622919 60.047546
+V 7 -26190.046966 -3876.164573 3176.336244 -.303624
+P 8 -3095.510577 22692.228557 -13313.635461 -19.175650
+V 8 -6751.200309 -15488.921760 -25513.216381 -.011864
+P 9 16450.914328 3473.415397 20162.280892 -25.035909
+V 9 8213.789604 25337.502924 -10475.478474 -.018419
+P 10 11553.470087 9369.255649 -22067.689513 57.605361
+V 10 -19000.680343 20319.450123 -1039.428110 .007265
+P 11 -17765.195817 -1489.378835 19709.338028 186.899660
+V 11 -9257.947386 -23565.248306 -9921.961182 .037101
+P 13 -18934.577913 7318.535488 -17147.367008 -13.707222
+V 13 -20804.988163 -6067.466708 20517.481736 .009722
+P 14 -226.782869 -15072.513151 21926.730157 -31.493876
+V 14 27071.360734 5595.872647 4119.922238 -.000778
+P 15 -2122.038264 -25728.486251 -5733.918814 378.461301
+V 15 4437.455756 6210.092863 -30885.692117 .053119
+P 16 -6253.849458 -14916.654610 -20985.091928 1.973060
+V 16 18576.108222 -19368.491249 8243.035264 -.001610
+P 17 14823.895740 14152.488075 -17052.940372 -91.001652
+V 17 2970.566311 21657.994090 19523.601923 .194024
+P 18 17374.648576 -19789.715042 2220.187280 -119.346017
+V 18 4053.080187 113.343224 -31793.250401 -.037233
+P 19 -25423.259811 -7567.366625 -875.188725 -11.963428
+V 19 1949.730836 -2476.163477 -31712.919545 -.008525
+P 20 -20771.660611 8673.255281 14014.987680 -90.580513
+V 20 10300.631063 -14822.185108 24328.153173 .027020
+P 21 8150.675840 -17914.009177 -17629.993363 88.126330
+V 21 7977.971557 21218.669460 -18324.741140 .010490
+P 22 9421.552868 -21614.881210 12412.626749 16.296359
+V 22 12599.863617 -9307.177961 -26090.849586 .003775
+P 23 -24961.225642 1289.025632 -9238.953396 211.547390
+V 23 -10819.288480 -4732.553827 28753.075404 .005479
+P 24 3048.710631 25789.489578 5421.961668 89.764996
+V 24 -4248.530544 -5651.594652 30987.576034 .028923
+P 25 -9042.433724 -24907.382462 1908.614550 84.403369
+V 25 3742.699668 557.356645 31365.646411 .008762
+P 26 25628.916516 7773.573162 -2755.582467 317.577871
+V 26 -3315.050959 789.229890 -31627.542316 .054771
+P 27 -7060.067476 17374.957648 -18093.290108 514.126612
+V 27 -10666.481899 -21886.289836 -16819.779798 .062736
+P 28 -9254.125415 21962.707632 11584.686967 46.489781
+V 28 -11771.417977 8867.320231 -27038.655203 .001469
+P 29 24044.355718 9183.579816 -6587.770571 176.839467
+V 29 -8885.572428 293.882455 -30647.365160 -.190642
+P 30 19599.298851 -16820.938305 5690.535062 442.741920
+V 30 -2302.120662 7981.727317 30303.541044 -.144555
+P 31 -6843.901199 14488.408721 20857.530720 -.405608
+V 31 -26961.480507 -4772.043399 -5152.285597 -.078310
+* 2005 1 21 6 15 .00000000
+P 1 -14372.355430 -14303.007435 17360.121916 384.022972
+V 1 21500.486266 2513.404464 20068.732023 .020795
+P 2 14068.586144 21447.023615 -7360.226188 -42.055955
+V 2 819.755846 9278.516239 29757.033441 .055500
+P 3 -19860.909329 -11560.201022 -13664.214574 78.386881
+V 3 17275.359963 -1654.290376 -23662.617367 .029506
+P 4 5478.151408 25265.515636 5236.413929 439.453865
+V 4 -5304.898400 -5192.336434 30936.190620 -.207099
+P 5 19285.837042 -6480.325621 16827.292803 73.408658
+V 5 -10231.301009 19404.299159 19189.064473 .024589
+P 6 20777.474772 -8144.892584 -14291.825413 -154.859156
+V 6 18049.859443 4873.062156 23043.491090 .876138
+P 7 -2076.476700 15818.256347 21647.258224 60.020176
+V 7 -26494.210028 -2590.690058 -810.602753 -.303628
+P 8 -3777.548254 21196.526726 -15487.870911 -19.176176
+V 8 -8436.941689 -17673.353004 -22734.959514 -.011860
+P 9 17223.660380 5675.258364 19042.945998 -25.037065
+V 9 8902.039185 23522.984187 -14358.531863 -.018424
+P 10 9894.987938 11243.961678 -21972.094132 57.605617
+V 10 -17795.058999 21268.901994 3162.424114 .007255
+P 11 -18618.368132 -3540.570350 18649.728922 186.902961
+V 11 -9646.789444 -21959.445344 -13590.261449 .037090
+P 13 -20713.553620 6845.215375 -15158.710254 -13.706545
+V 13 -18650.072132 -4486.823478 23611.945061 .009720
+P 14 2236.062502 -14634.368116 22108.845280 -31.493833
+V 14 27567.672538 4119.452466 -78.767808 -.000782
+P 15 -1666.857669 -25030.594306 -8455.620048 378.464188
+V 15 5732.966325 9250.679422 -29509.383616 .053121
+P 16 -4659.461145 -16665.069111 -20063.482619 1.972877
+V 16 16815.420150 -19404.321472 12207.571713 -.001611
+P 17 15119.646280 15989.068191 -15156.041501 -90.984053
+V 17 3541.851461 19102.364079 22566.729653 .194053
+P 18 17629.638813 -19668.222982 -652.264909 -119.349660
+V 18 1661.913320 2636.370922 -31945.902353 -.037229
+P 19 -25096.613425 -7758.816735 -3713.582711 -11.964388
+V 19 5315.925617 -1847.087996 -31271.533556 -.008533
+P 20 -19804.154538 7223.155449 16076.986002 -90.578276
+V 20 11120.392911 -17385.363294 21427.608050 .027017
+P 21 8941.538871 -15940.887678 -19120.516689 88.127130
+V 21 9607.358744 22542.896065 -14751.681240 .010477
+P 22 10441.135365 -22382.252871 9965.297126 16.296533
+V 22 10068.706502 -7670.823610 -28217.390754 .003777
+P 23 -25799.452013 913.741706 -6579.785666 211.548106
+V 23 -7764.170774 -3665.120492 30255.627491 .005466
+P 24 2607.984451 25142.496732 8156.055616 89.766802
+V 24 -5600.730050 -8677.960619 29683.402816 .028916
+P 25 -8638.868753 -24721.957347 4707.057916 84.403515
+V 25 5279.366675 3521.480189 30733.392625 .008770
+P 26 25178.359746 7823.222460 -5571.482714 317.582799
+V 26 -6693.761787 387.585097 -30862.174673 .054762
+P 27 -8100.086764 15355.283492 -19437.667475 514.132116
+V 27 -12440.568270 -22904.218581 -13010.029546 .062730
+P 28 -10201.985005 22680.269880 9057.752146 46.489801
+V 28 -9308.798831 7004.593759 -29035.283590 .001466
+P 29 23092.750663 9209.754551 -9281.404862 176.822356
+V 29 -12239.542419 359.562593 -29124.228326 -.190649
+P 30 19316.298305 -15976.613349 8360.271456 442.729119
+V 30 -3919.838855 10797.208450 28936.911312 -.144565
+P 31 -9244.609170 14120.844196 20210.612494 -.412377
+V 31 -26298.797535 -3399.878831 -9200.209645 -.078329
+* 2005 1 21 6 30 .00000000
+P 1 -12337.437634 -14118.134328 19014.112292 384.024802
+V 1 23650.432834 1542.949399 16635.317429 .020802
+P 2 14101.519745 22141.113179 -4627.159951 -42.051001
+V 2 -158.683105 6148.455407 30892.218553 .055484
+P 3 -18195.701839 -11742.904264 -15672.564741 78.389750
+V 3 19673.126283 -2453.872604 -20904.344232 .029497
+P 4 4928.964347 24666.028152 7966.522463 439.435007
+V 4 -6948.773232 -8078.155528 29644.122586 -.207102
+P 5 18358.472973 -4634.236088 18401.873360 73.412942
+V 5 -10306.426669 21576.272148 15750.521643 .024588
+P 6 22289.796926 -7755.926659 -12100.187535 -154.780556
+V 6 15499.291912 3816.484336 25588.234807 .876090
+P 7 -4455.996133 15644.577453 21394.961323 59.992525
+V 7 -26300.669229 -1269.902430 -4789.308133 -.303632
+P 8 -4618.631959 19525.320534 -17394.457403 -19.176502
+V 8 -10271.491064 -19381.867076 -19574.545039 -.011856
+P 9 18042.303600 7696.231142 17585.969305 -25.039498
+V 9 9224.873748 21331.479240 -17967.665743 -.018430
+P 10 8359.939889 13183.892714 -21499.772908 57.605951
+V 10 -16270.451212 21760.030450 7320.286743 .007246
+P 11 -19491.091557 -5432.777852 17270.243302 186.906247
+V 11 -9685.211919 -20043.906733 -17020.301592 .037078
+P 13 -22278.506450 6503.240984 -12909.326487 -13.705837
+V 13 -16059.526634 -3161.329804 26302.974012 .009720
+P 14 4718.781018 -14333.454574 21912.573780 -31.493995
+V 14 27510.703454 2561.701342 -4276.726039 -.000787
+P 15 -1081.029012 -24073.190005 -11030.371470 378.470531
+V 15 7330.516425 11964.171075 -27625.479936 .053124
+P 16 -3232.825087 -18394.495381 -18794.081982 1.972636
+V 16 14863.204711 -18942.862950 15960.470435 -.001612
+P 17 15449.999386 17582.742200 -13002.922156 -90.966702
+V 17 3732.695882 16274.586945 25210.339466 .194082
+P 18 17683.545529 -19307.334875 -3513.306638 -119.352750
+V 18 -404.661340 5420.103268 -31539.937852 -.037225
+P 19 -24466.642966 -7912.349354 -6487.828947 -11.965319
+V 19 8673.768398 -1634.286386 -30289.276085 -.008540
+P 20 -18784.114465 5548.360222 17860.784602 -90.575817
+V 20 11469.954508 -19799.633653 18154.860154 .027015
+P 21 9880.582438 -13871.966126 -20277.953805 88.127742
+V 21 11256.081246 23345.144212 -10933.993386 .010467
+P 22 11237.264361 -22982.690869 7347.859722 16.296586
+V 22 7648.810060 -5603.759744 -29865.406862 .003782
+P 23 -26352.190621 618.207891 -3808.399290 211.548625
+V 23 -4489.798864 -2967.002504 31243.161407 .005452
+P 24 2031.501886 24237.280083 10749.807288 89.769987
+V 24 -7255.049110 -11377.317454 27873.937262 .028909
+P 25 -8083.273246 -24282.173138 7424.954271 84.404747
+V 25 7111.403374 6197.452217 29579.060226 .008778
+P 26 24426.105402 7856.505395 -8295.579445 317.587189
+V 26 -10003.673003 424.229480 -29590.557069 .054754
+P 27 -9297.141305 13268.714258 -20428.078953 514.137460
+V 27 -14140.405686 -23372.331570 -8966.557651 .062724
+P 28 -10934.022473 23210.866273 6373.308005 46.489671
+V 28 -6989.705530 4720.184167 -30533.134059 .001465
+P 29 21846.637243 9260.870371 -11814.864600 176.805120
+V 29 -15413.704464 843.593821 -27092.494524 -.190656
+P 30 18906.229306 -14875.927794 10883.881977 442.716194
+V 30 -5121.436968 13662.965831 27060.704216 -.144576
+P 31 -11562.024272 13874.443339 19206.790679 -.419473
+V 31 -25114.714851 -2093.807160 -13071.694946 -.078348
+* 2005 1 21 6 45 .00000000
+P 1 -10128.714418 -14033.554755 20346.138247 384.028200
+V 1 25352.974662 296.937496 12924.014771 .020810
+P 2 14027.571383 22555.639809 -1815.327401 -42.046065
+V 2 -1551.578031 3081.424846 31504.331564 .055468
+P 3 -16330.803534 -12009.675559 -17416.357008 78.392864
+V 3 21702.734114 -3512.320341 -17791.613275 .029488
+P 4 4219.457796 23821.832563 10556.784431 439.416316
+V 4 -8856.031583 -10618.280922 27833.316454 -.207105
+P 5 17442.787469 -2605.678166 19654.135780 73.415580
+V 5 -9978.518786 23445.846417 12037.119232 .024586
+P 6 23558.022958 -7448.835156 -9699.384037 -154.701945
+V 6 12638.262212 3062.434223 27685.230192 .876043
+P 7 -6795.692503 15588.232709 20787.342364 59.965147
+V 7 -25610.848492 2.913269 -8696.050240 -.303636
+P 8 -5628.263698 17723.099007 -19001.536781 -19.176872
+V 8 -12167.472250 -20580.734678 -16089.218686 -.011852
+P 9 18871.806086 9506.163119 15818.859005 -25.041699
+V 9 9137.225966 18848.194690 -21240.625478 -.018434
+P 10 6973.439104 15145.653670 -20657.910782 57.606322
+V 10 -14508.352627 21747.962106 11362.581903 .007237
+P 11 -20350.094056 -7141.396029 15594.961521 186.909426
+V 11 -9337.068819 -17892.656395 -20154.293074 .037068
+P 13 -23593.318023 6266.418757 -10437.698642 -13.705077
+V 13 -13104.401515 -2160.589839 28543.460081 .009721
+P 14 7171.249336 -14172.903814 21341.201296 -31.494260
+V 14 26896.373172 1015.858890 -8402.495017 -.000790
+P 15 -340.325261 -22888.974898 -13414.057809 378.475475
+V 15 9162.340311 14280.470743 -25270.210055 .053126
+P 16 -1987.083019 -20059.466477 -17198.916285 1.972323
+V 16 12811.088823 -17971.441713 19436.259467 -.001612
+P 17 15779.120389 18913.027871 -10631.328606 -90.949292
+V 17 3510.414584 13264.732359 27415.934794 .194111
+P 18 17568.264573 -18687.304661 -6312.884683 -119.355856
+V 18 -2089.642126 8380.193088 -30582.002545 -.037224
+P 19 -23538.548720 -8065.351928 -9149.893906 -11.966176
+V 19 11924.589657 -1832.990627 -28782.050127 -.008546
+P 20 -17753.069722 3666.464169 19335.389834 -90.573191
+V 20 11369.869782 -21972.702119 14566.594400 .027011
+P 21 10965.541265 -11754.587576 -21083.350381 88.128835
+V 21 12835.119916 23620.487640 -6940.200927 .010457
+P 22 11823.783258 -23379.362735 4604.778650 16.296981
+V 22 5423.993076 -3151.660288 -31005.202445 .003786
+P 23 -26603.781321 367.634615 -972.005354 211.548800
+V 23 -1087.771858 -2669.842764 31698.025756 .005439
+P 24 1295.041317 23106.459685 13159.231918 89.771290
+V 24 -9143.479620 -13681.185411 25593.634246 .028902
+P 25 -7351.880549 -23617.096230 10016.343403 84.405596
+V 25 9174.262025 8517.910308 27926.817807 .008786
+P 26 23382.556070 7912.251059 -10883.250029 317.591960
+V 26 -13151.839549 882.534012 -27834.727969 .054746
+P 27 -10640.336053 11164.552317 -21046.977019 514.143165
+V 27 -15672.958446 -23298.191592 -4767.485497 .062718
+P 28 -11466.901384 23518.869782 3577.659847 46.489647
+V 28 -4895.896401 2068.529801 -31502.242761 .001466
+P 29 20326.559466 9373.083857 -14143.745791 176.788218
+V 29 -18312.300442 1709.790066 -24584.119549 -.190662
+P 30 18407.470741 -13518.636791 13216.836209 442.703528
+V 30 -5889.284017 16483.449691 24706.074989 -.144586
+P 31 -13750.622826 13739.477928 17865.054633 -.426769
+V 31 -23443.362087 -936.837636 -16698.466648 -.078367
+* 2005 1 21 7 0 .00000000
+P 1 -7788.876804 -14070.599009 21333.961601 384.030845
+V 1 26556.914262 -1145.908705 8997.041788 .020816
+P 2 13810.735309 22700.377398 1027.496159 -42.040976
+V 2 -3327.246083 167.763205 31579.287177 .055451
+P 3 -14301.909779 -12380.913181 -18865.949597 78.395094
+V 3 23309.477530 -4763.512726 -14375.532738 .029480
+P 4 3329.215577 22767.062185 12961.956893 439.397783
+V 4 -10951.731662 -12748.135679 25537.380335 -.207108
+P 5 16573.002024 -425.300977 20562.295501 73.419037
+V 5 -9295.665644 24938.598876 8115.199159 .024584
+P 6 24557.801014 -7194.232466 -7131.310877 -154.622983
+V 6 9548.040768 2656.380090 29300.362686 .875996
+P 7 -9051.574007 15641.214057 19833.727505 59.937922
+V 7 -24442.391311 1146.308165 -12467.669752 -.303640
+P 8 -6807.888015 15836.543906 -20282.625424 -19.178474
+V 8 -14033.806551 -21255.054293 -12340.970707 -.011848
+P 9 19673.831329 11082.952647 13774.387863 -25.043012
+V 9 8611.083202 16166.598684 -24122.827260 -.018439
+P 10 5752.883215 17082.597757 -19460.086926 57.607597
+V 10 -12598.165992 21205.586831 15219.000434 .007228
+P 11 -21159.516226 -8648.798479 13652.932944 186.912589
+V 11 -8581.206794 -15586.257712 -22939.745198 .037059
+P 13 -24628.877016 6102.918190 -7786.213133 -13.704143
+V 13 -9868.883395 -1539.839266 30293.903178 .009722
+P 14 9543.843262 -14147.467575 20404.401911 -31.494367
+V 14 25739.826708 -425.720727 -12385.761797 -.000792
+P 15 572.868667 -21516.273486 -15566.182532 378.480694
+V 15 11149.779348 16145.076058 -22487.603074 .053128
+P 16 -927.021035 -21614.224707 -15305.691000 1.972136
+V 16 10752.505751 -16496.313679 22574.397066 -.001611
+P 17 16068.989934 19967.751337 -8082.125710 -90.931826
+V 17 2859.254611 10166.797753 29152.731095 .194141
+P 18 17320.086838 -17796.396163 -9002.002340 -119.359214
+V 18 -3352.676118 11423.568703 -29088.895346 -.037224
+P 19 -22326.304574 -8253.964569 -11653.595818 -11.967071
+V 19 14972.706618 -2420.340613 -26775.053617 -.008551
+P 20 -16749.899604 1603.077135 20475.171400 -90.570910
+V 20 10858.259793 -23819.330069 10725.134526 .027007
+P 21 12186.190221 -9635.684052 -21524.026915 88.129377
+V 21 14257.207063 23382.901083 -2840.994825 .010448
+P 22 12221.683776 -23540.264879 1782.818711 16.297323
+V 22 3468.779356 -375.856854 -31615.437596 .003791
+P 23 -26547.052327 125.164227 1880.991917 211.548990
+V 23 2345.451768 -2787.797623 31611.405335 .005429
+P 24 381.005649 21788.140888 15343.786585 89.773555
+V 24 -11187.313938 -15536.483536 22884.381512 .028896
+P 25 -6427.221539 -22761.215406 12437.795969 84.406351
+V 25 11393.011090 10430.044489 25808.628892 .008794
+P 26 22066.264859 8027.017653 -13292.160698 317.597194
+V 26 -16050.588136 1728.836901 -25623.447667 .054738
+P 27 -12110.620634 9090.476391 -21283.982984 514.148903
+V 27 -16950.708551 -22710.143721 -493.660842 .062712
+P 28 -11824.192464 23574.273884 719.396667 46.489758
+V 28 -3098.580635 -880.270544 -31921.947330 .001468
+P 29 18561.311942 9578.517394 -16226.924171 176.771389
+V 29 -20848.339074 2904.964703 -21639.957764 -.190669
+P 30 17859.172810 -11913.156390 15317.822567 442.690758
+V 30 -6223.927177 19162.380817 21913.304058 -.144597
+P 31 -15768.727585 13699.066004 16210.295160 -.433616
+V 31 -21335.769743 -4.386111 -20017.852750 -.078386
+* 2005 1 21 7 15 .00000000
+P 1 -5364.474993 -14243.124121 21961.097545 384.032873
+V 1 27227.940028 -2698.781042 4919.871204 .020822
+P 2 13418.623194 22592.964715 3852.664260 -42.036040
+V 2 -5437.190683 -2508.642738 31111.881285 .055435
+P 3 -12149.016127 -12870.649355 -19996.532027 78.397575
+V 3 24452.789818 -6132.555485 -10712.230617 .029471
+P 4 2245.022366 21540.939770 15140.222608 439.379283
+V 4 -13151.344256 -14419.540858 22798.690538 -.207110
+P 5 15778.369947 1870.096129 21110.714153 73.421530
+V 5 -8319.781370 25992.737431 4054.775886 .024581
+P 6 25272.450143 -6959.336224 -4440.547618 -154.544313
+V 6 6317.280310 2628.101813 30408.171851 .875949
+P 7 -11181.950437 15788.381111 18549.071084 59.910458
+V 7 -22828.674699 2083.739093 -16042.394019 -.303643
+P 8 -8150.721298 13912.820201 -21216.987590 -19.180140
+V 8 -15779.325876 -21408.963777 -8395.342515 -.011843
+P 9 20408.327575 12413.136518 11489.865807 -25.045334
+V 9 7636.434839 13384.531599 -26568.136609 -.018443
+P 10 4707.397930 18946.489672 -17926.104344 57.607696
+V 10 -10633.704280 20124.875881 18821.754194 .007219
+P 11 -21882.305134 -9944.788649 11477.662049 186.915928
+V 11 -7412.354510 -13208.729200 -25330.271553 .037050
+P 13 -25364.125639 5976.671155 -5000.440453 -13.703437
+V 13 -6447.199502 -1337.686712 31523.159698 .009723
+P 14 11789.149850 -14243.763631 19118.082759 -31.494466
+V 14 24074.911405 -1675.238579 -16158.518488 -.000795
+P 15 1668.717804 -19997.544037 -17450.525644 378.484796
+V 15 13206.495876 17520.868051 -19328.490714 .053130
+P 16 -49.074835 -23014.425661 -13147.297089 1.971826
+V 16 8778.968409 -14542.547059 25320.364902 -.001609
+P 17 16280.948341 20743.248753 -5398.598981 -90.913946
+V 17 1780.746328 7075.340233 30397.722277 .194170
+P 18 16978.126027 -16631.507155 -11533.620787 -119.362512
+V 18 -4171.579245 14452.064422 -27087.255334 -.037225
+P 19 -20852.224787 -8511.486995 -13955.425239 -11.967924
+V 19 17729.049289 -3356.286225 -24302.394759 -.008555
+P 20 -15809.320530 -608.963993 21260.320526 -90.568390
+V 20 9989.185603 -25264.684301 6697.330370 .027003
+P 21 13524.660971 -7560.109399 -21593.713284 88.130140
+V 21 15440.326179 22664.387584 1292.104312 .010442
+P 22 12458.137480 -23439.541050 -1069.729347 16.297667
+V 22 1845.530829 2648.774685 -31683.612373 .003795
+P 23 -26183.600499 -146.522643 4701.801277 211.549280
+V 23 5712.067175 -3316.926342 30983.539923 .005420
+P 24 -720.753423 20324.447711 17266.999574 89.774803
+V 24 -13300.276040 -16907.215228 19794.609048 .028891
+P 25 -5298.927291 -21753.054867 14649.081009 84.408412
+V 25 13685.312470 11897.203695 23263.462695 .008802
+P 26 20503.328081 8233.614410 -15482.853714 317.601805
+V 26 -18620.430150 2913.751019 -22991.799570 .054730
+P 27 -13681.463074 7090.732028 -21136.040789 514.154375
+V 27 -17895.526208 -21655.809009 3773.376957 .062707
+P 28 -12035.288824 23353.994023 -2151.476341 46.489841
+V 28 -1655.486038 -4042.965037 -31781.530237 .001469
+P 29 16586.994415 9903.814169 -18027.333449 176.753987
+V 29 -22947.014030 4360.935110 -18309.225770 -.190676
+P 30 17299.617169 -10076.457105 17149.540895 442.677570
+V 30 -6144.049375 21606.574859 18731.123530 -.144607
+P 31 -17579.934059 13729.996391 14272.750289 -.440686
+V 31 -18857.663221 638.784315 -22973.859838 -.078404
+* 2005 1 21 7 30 .00000000
+P 1 -2904.340398 -14556.936140 22217.063440 384.037127
+V 1 27349.815029 -4270.156089 760.245963 .020828
+P 2 12823.911372 22258.179645 6611.475456 -42.031209
+V 2 -7817.677025 -4873.541315 30106.143356 .055418
+P 3 -9915.075977 -13485.887465 -20788.541834 78.400222
+V 3 25107.707417 -7538.647068 -6862.063992 .029463
+P 4 961.573552 20186.219980 17053.938215 439.360469
+V 4 -15364.203938 -15602.409042 19667.454029 -.207113
+P 5 15082.048414 4238.815328 21290.168305 73.424763
+V 5 -7123.935692 26561.560112 -71.844674 .024579
+P 6 25693.475519 -6709.433005 -1673.564749 -154.465761
+V 6 3038.671586 2990.606445 30992.129823 .875903
+P 7 -13148.807146 16008.036491 16953.792885 59.883235
+V 7 -20817.786245 2746.513552 -19360.685463 -.303647
+P 8 -9641.904500 11997.880124 -21789.901540 -19.181234
+V 8 -17316.323857 -21065.132260 -4320.241643 -.011839
+P 9 21035.161746 13492.106337 9006.354321 -25.048037
+V 9 6221.451339 10600.277765 -28539.385095 -.018447
+P 10 3837.606029 20689.255415 -16081.706331 57.607651
+V 10 -8709.479252 18517.479420 22106.833679 .007211
+P 11 -22481.661057 -11026.767852 9106.526876 186.919349
+V 11 -5841.406412 -10844.361171 -27286.285844 .037041
+P 13 -25786.808317 5848.946075 -2128.354550 -13.702719
+V 13 -2940.117073 -1574.500170 32209.052352 .009726
+P 14 13863.600677 -14440.845099 17504.125378 -31.494628
+V 14 21952.953322 -2652.952688 -19656.193861 -.000797
+P 15 2949.400354 -18377.760018 -19035.708147 378.489592
+V 15 15241.931795 18389.192171 -15849.435873 .053132
+P 16 658.332559 -24218.798097 -10761.224029 1.971678
+V 16 6976.432581 -12153.162624 27626.643947 -.001607
+P 17 16377.244000 21244.268049 -2625.755455 -90.896504
+V 17 293.447235 4082.196987 31135.644899 .194200
+P 18 16582.643157 -15198.455661 -13863.522484 -119.366065
+V 18 -4543.102373 17366.269098 -24613.033149 -.037225
+P 19 -19146.214096 -8866.898251 -16015.323074 -11.968689
+V 19 20114.547428 -4585.183767 -21406.532253 -.008559
+P 20 -14960.548679 -2930.668096 21677.203825 -90.565876
+V 20 8830.388782 -26247.289852 2553.356652 .026998
+P 21 14956.062464 -5569.081672 -21292.565228 88.131270
+V 21 16310.942975 21513.428830 5388.027639 .010436
+P 22 12565.288428 -23058.585464 -3903.861283 16.298025
+V 22 602.023935 5836.472845 -31206.417947 .003799
+P 23 -25523.751228 -483.576691 7442.064062 211.549580
+V 23 8916.508552 -4235.270541 29823.804134 .005414
+P 24 -2012.404293 18759.934274 18897.017051 89.776170
+V 24 -15391.883240 -17775.488354 16378.346099 .028886
+P 25 -3964.255342 -20633.671091 16613.758396 84.411494
+V 25 15964.548209 12899.879321 20336.449074 .008809
+P 26 18726.527613 8559.764244 -17419.297803 317.606594
+V 26 -20792.698724 4373.975323 -19980.772763 .054722
+P 27 -15319.851322 5204.497381 -20607.389056 514.159771
+V 27 -18442.053994 -20199.715444 7953.386652 .062701
+P 28 -12134.079692 22842.915762 -4984.454262 46.489573
+V 28 -608.446381 -7326.252825 -31080.659062 .001473
+P 29 14445.776687 10368.903436 -19512.686207 176.736585
+V 29 -24548.697489 5997.177684 -14648.764424 -.190683
+P 30 16764.615259 -8033.615740 18679.424836 442.664518
+V 30 -5685.664422 23729.684334 15215.832684 -.144617
+P 31 -19154.313108 13803.806267 12087.363731 -.447651
+V 31 -16086.718544 941.110135 -25518.036470 -.078423
+* 2005 1 21 7 45 .00000000
+P 1 -457.929568 -15009.523996 22097.538124 384.039633
+V 1 26924.919809 -5767.328442 -3412.823513 .020832
+P 2 12005.617511 21726.939981 9256.014736 -42.026236
+V 2 -10391.938727 -6865.187828 28575.540832 .055403
+P 3 -7644.550836 -14226.208695 -21228.007023 78.403824
+V 3 25265.784912 -8898.182986 -2888.759520 .029455
+P 4 -518.136947 18747.513213 18670.291151 439.341589
+V 4 -17497.188132 -16285.679841 16200.623705 -.207115
+P 5 14500.231687 6635.706198 21097.992253 73.428036
+V 5 -5789.241826 26615.295368 -4191.477284 .024575
+P 6 25820.776864 -6409.411676 1122.086511 -154.387161
+V 6 -194.507579 3739.711472 31044.753674 .875856
+P 7 -14919.063388 16272.756951 15073.537592 59.855877
+V 7 -18470.981791 3076.512808 -22366.122031 -.303650
+P 8 -11258.967756 10134.843783 -21992.820231 -19.183614
+V 8 -18563.914946 -20263.576351 -184.787065 -.011833
+P 9 21515.736014 14323.975923 6367.845543 -25.050286
+V 9 4391.927802 7908.765343 -30008.641415 -.018450
+P 10 3135.734723 22264.751775 -13958.180502 57.607783
+V 10 -6916.918241 16414.561423 25015.244146 .007203
+P 11 -22922.482252 -11899.616752 6580.140041 186.922518
+V 11 -3895.096359 -8574.551622 -28775.581606 .037032
+P 13 -25893.892076 5680.035594 780.495848 -13.701822
+V 13 548.827928 -2251.507986 32338.825633 .009729
+P 14 15728.964975 -14711.072356 15590.027125 -31.494714
+V 14 19440.875680 -3290.379262 -22818.739487 -.000799
+P 15 4408.887880 -16702.726856 -20295.657911 378.493701
+V 15 17164.870194 18750.214013 -12111.618265 .053135
+P 16 1214.135331 -25190.694285 -8188.891024 1.971387
+V 16 5421.896305 -9387.567302 29453.553306 -.001604
+P 17 16322.532740 21483.583164 190.368520 -90.879434
+V 17 -1567.883810 1273.390705 31358.864437 .194229
+P 18 16173.337363 -13511.916235 -15951.117823 -119.369425
+V 18 -4482.911775 20069.428095 -21710.761700 -.037224
+P 19 -17244.728982 -9343.549222 -17797.400629 -11.969570
+V 19 22063.140366 -6038.027382 -18137.548540 -.008563
+P 20 -14226.191140 -5318.205991 21718.605974 -90.563555
+V 20 7460.490104 -26721.466640 -1634.552726 .026993
+P 21 16449.375635 -3698.792400 -20627.068944 88.132536
+V 21 16806.850250 19992.842210 9377.360006 .010426
+P 22 12578.851483 -22386.885454 -6670.696851 16.298258
+V 22 -230.429598 9093.702866 -30189.939219 .003803
+P 23 -24586.197349 -919.388019 10054.674482 211.549571
+V 23 11868.973642 -5503.628187 28150.641446 .005410
+P 24 -3487.912431 17139.934997 20207.063352 89.778484
+V 24 -17370.910256 -18141.855054 12694.247869 .028882
+P 25 -2428.333327 -19445.088732 18299.695421 84.412378
+V 25 18143.017400 13436.067333 17078.041245 .008815
+P 26 16774.251058 9026.950122 -19069.400089 317.611223
+V 26 -22511.838083 6034.556864 -16636.822622 .054715
+P 27 -16987.571374 3464.495718 -19709.359158 514.165322
+V 27 -18540.446522 -18420.212038 11969.289333 .062696
+P 28 -12157.434978 22034.641143 -7729.478370 46.489511
+V 28 18.371433 -10630.364147 -29829.595940 .001479
+P 29 12184.418446 10986.030611 -20656.119423 176.719037
+V 29 -25611.371605 7724.039675 -10722.103002 -.190689
+P 30 16286.012572 -5817.040379 19880.275760 442.651500
+V 30 -4900.575027 25455.692584 11430.220780 -.144627
+P 31 -20469.347376 13888.061477 9693.075387 -.454639
+V 31 -13109.415544 866.173991 -27610.119755 -.078442
+* 2005 1 21 8 0 .00000000
+P 1 1926.351002 -15590.114116 21604.430410 384.043058
+V 1 25974.133061 -7099.985007 -7530.073515 .020836
+P 2 10950.152600 21035.064433 11740.005842 -42.021327
+V 2 -13072.951192 -8436.781394 26543.013477 .055387
+P 3 -5381.904416 -15083.664849 -21306.808173 78.406331
+V 3 24935.423109 -10127.992907 1141.511700 .029446
+P 4 -2182.764263 17269.560451 19961.853643 439.323096
+V 4 -19458.464590 -16477.471862 12460.701807 -.207117
+P 5 14041.579242 9013.746567 20538.093657 73.429334
+V 5 -4401.438835 26142.251750 -8231.464612 .024572
+P 6 25662.546501 -6025.304072 3898.587412 -154.308488
+V 6 -3291.816615 4854.297049 30567.561297 .875810
+P 7 -16465.669656 16550.455969 12938.853697 59.828680
+V 7 -15860.656731 3028.596394 -25006.305566 -.303653
+P 8 -12972.584257 8362.514318 -21823.430094 -19.183715
+V 8 -19451.085557 -19059.866328 3941.798505 -.011828
+P 9 21814.523457 14921.118075 3620.427105 -25.053001
+V 9 2190.054726 5398.041221 -30957.262048 -.018452
+P 10 2586.061098 23630.486077 -11591.853607 57.607635
+V 10 -5340.660557 13865.859747 27494.190279 .007195
+P 11 -23172.753476 -12575.297310 3941.662951 186.925686
+V 11 -1615.078518 -6474.776897 -29773.792057 .037025
+P 13 -25691.640803 5430.991329 3675.849438 -13.700928
+V 13 3917.226071 -3350.656158 31909.433453 .009731
+P 14 17353.646238 -15021.254896 13408.447522 -31.495098
+V 14 16618.726434 -3533.071020 -25591.653603 -.000799
+P 15 6033.045469 -15017.399000 -21209.974360 378.499574
+V 15 18886.961962 18622.561039 -8179.704378 .053138
+P 16 1643.679130 -25899.469884 -5474.909536 1.971197
+V 16 4180.371358 -6319.345664 30769.935661 -.001600
+P 17 16085.279099 21481.341270 3003.386551 -90.861721
+V 17 -3753.631916 -1273.696301 31067.204838 .194259
+P 18 15787.673796 -11595.008905 -17760.177900 -119.372865
+V 18 -4024.788299 22471.232377 -18432.647485 -.037223
+P 19 -15189.489734 -9958.081406 -19270.587199 -11.970316
+V 19 23524.285878 -7635.228961 -14552.268717 -.008567
+P 20 -13621.409393 -7724.418891 21383.856523 -90.561178
+V 20 5965.759262 -26659.151837 -5793.409343 .026988
+P 21 17968.583087 -1979.231650 -19609.841712 88.133183
+V 21 16879.530513 18177.146622 13193.445812 .010417
+P 22 12536.569199 -21422.567746 -9322.328326 16.298578
+V 22 -638.234554 12322.610651 -28649.695546 .003808
+P 23 -23397.328625 -1483.094422 12494.587199 211.549947
+V 23 14488.753883 -7067.000869 25991.347382 .005409
+P 24 -5133.129040 15508.914590 21175.812994 89.781301
+V 24 -19148.830587 -18024.980291 8804.609872 .028879
+P 25 -704.105450 -18228.732774 19679.508560 84.412396
+V 25 20135.213173 13521.011810 13543.179373 .008821
+P 26 14689.223958 9649.483006 -20405.477234 317.615915
+V 26 -23737.280732 7811.541209 -13011.402681 .054708
+P 27 -18642.698523 1895.911241 -18460.013731 514.170871
+V 27 -18158.352066 -16405.846572 15748.839835 .062691
+P 28 -12143.562720 20931.896888 -10337.889703 46.489289
+V 28 219.506394 -13852.967892 -28049.156103 .001487
+P 29 9852.600076 11759.096971 -21436.747273 176.701886
+V 29 -26112.379606 9446.384795 -6598.337236 -.190695
+P 30 15890.362699 -3465.398015 20730.792038 442.638671
+V 30 -3854.154758 26722.002695 7442.323581 -.144637
+P 31 -21510.571810 13947.782814 7132.063259 -.461665
+V 31 -10017.633357 393.995233 -29218.470020 -.078460
+* 2005 1 21 8 15 .00000000
+P 1 4202.779604 -16280.043970 20745.856010 384.046128
+V 1 24536.054700 -8183.697511 -11523.006667 .020840
+P 2 9652.101168 20221.838183 14019.658288 -42.016447
+V 2 -15766.679930 -9558.354046 24040.818446 .055373
+P 3 -3170.094438 -16042.964293 -21022.854488 78.409326
+V 3 24141.590384 -11148.598208 5161.120431 .029438
+P 4 -4012.894570 15795.529432 20907.025338 439.304360
+V 4 -21161.149657 -16204.461280 8514.467895 -.207119
+P 5 13706.959732 11325.694126 19620.844054 73.430291
+V 5 -3047.315989 25149.236808 -12121.045398 .024569
+P 6 25234.865226 -5525.773669 6608.654288 -154.229673
+V 6 -6168.922523 6297.203252 29570.882976 .875764
+P 7 -17768.502345 16805.644873 10584.789721 59.801093
+V 7 -13067.880642 2572.594436 -27233.789009 -.303656
+P 8 -14747.581095 6714.078908 -21285.612694 -19.185681
+V 8 -19919.338167 -17522.805272 7991.237796 -.011822
+P 9 21900.465944 15303.401109 811.451173 -25.056035
+V 9 -327.398389 3146.142747 -31375.752603 -.018454
+P 10 2165.681563 24749.217055 -9023.483297 57.607503
+V 10 -4055.087359 10937.991553 29498.177305 .007188
+P 11 -23204.826467 -13072.192270 1236.084106 186.928911
+V 11 943.546386 -4611.806198 -30264.727908 .037018
+P 13 -25195.339104 5065.336866 6507.612496 -13.700103
+V 13 7067.659902 -4835.233554 30927.648904 .009734
+P 14 18713.733006 -15334.020099 10996.665886 -31.494817
+V 14 13576.704488 -3342.864687 -27926.925745 -.000800
+P 15 7800.042830 -13364.260052 -21764.191625 378.503082
+V 15 20326.088108 18042.287321 -4120.724528 .053141
+P 16 1977.524062 -26321.639477 -2666.291490 1.970978
+V 16 3302.346682 -3033.500030 31553.676875 -.001596
+P 17 15639.015347 21264.170473 5767.224268 -90.843690
+V 17 -6201.131893 -3492.808304 30267.738732 .194289
+P 18 15459.317390 -9478.558208 -19259.478407 -119.376050
+V 18 -3219.084853 24491.335093 -14837.509247 -.037223
+P 19 -13025.993234 -10719.616503 -20409.192029 -11.971086
+V 19 24464.864183 -9289.836215 -10713.241942 -.008571
+P 20 -13153.387989 -10100.460401 20678.838522 -90.559036
+V 20 4436.586062 -26051.034957 -9850.787548 .026985
+P 21 19473.986884 -433.268000 -18259.337759 88.134196
+V 21 16495.963571 16149.551621 16773.388090 .010408
+P 22 12476.586634 -20172.623278 -11812.664998 16.298845
+V 22 -626.075967 15424.689110 -26610.508890 .003812
+P 23 -21990.275105 -2198.248566 14719.598504 211.550309
+V 23 16707.241389 -8856.667351 23381.699117 .005409
+P 24 -6926.183948 13908.876997 21787.673971 89.784208
+V 24 -20643.117115 -17460.669578 4774.383764 .028875
+P 25 1188.001186 -17023.910874 20730.927104 84.412637
+V 25 21860.873778 13186.321292 9790.395036 .008828
+P 26 12517.093758 10433.823193 -21404.682817 317.620696
+V 26 -24444.856001 9614.940671 -9160.458091 .054701
+P 27 -20241.230245 515.647574 -16883.645400 514.176311
+V 27 -17282.071670 -14251.407263 19226.054870 .062686
+P 28 -12130.308457 19546.582502 -12763.367187 46.489428
+V 28 8.447675 -16893.236678 -25770.405026 .001497
+P 29 7501.130044 12683.341510 -21840.105298 176.684590
+V 29 -26049.404899 11067.524567 -2350.841275 -.190701
+P 30 15597.828007 -1022.287733 21215.980147 442.625298
+V 30 -2622.548307 27481.981676 3324.047001 -.144647
+P 31 -22271.901669 13946.957914 4448.955343 -.468609
+V 31 -6905.134252 -478.359671 -30320.306239 -.078479
+* 2005 1 21 8 30 .00000000
+P 1 6329.855394 -17053.441720 19536.022685 384.049362
+V 1 22665.596151 -8943.212722 -15324.910881 .020842
+P 2 8114.692093 19328.436733 16054.491341 -42.011517
+V 2 -18375.686504 -10218.016480 21110.171268 .055358
+P 3 -1049.116899 -17081.947651 -20380.168566 78.412452
+V 3 22924.937012 -11887.373778 9102.020416 .029429
+P 4 -5981.646694 14365.400043 21490.359389 439.285935
+V 4 -22526.728876 -15510.530462 4431.666894 -.207121
+P 5 13489.518182 13525.742453 18362.849166 73.433309
+V 5 -1811.130487 23661.237621 -15792.652442 .024567
+P 6 24561.015227 -4883.496158 9206.318258 -154.150815
+V 6 -8750.598923 8016.725469 28073.542476 .875718
+P 7 -18815.019339 17000.851426 8050.406664 59.773775
+V 7 -10179.562399 1694.800534 -29007.007839 -.303659
+P 8 -16544.166665 5216.038801 -20389.314856 -19.185692
+V 8 -19924.847760 -15731.677188 11897.182654 -.011817
+P 9 21748.185885 15497.165371 -2011.276783 -25.057562
+V 9 -3091.385183 1218.460756 -31263.473981 -.018455
+P 10 1845.577414 25590.371145 -6297.555804 57.606466
+V 10 -3121.234269 7712.057663 30989.995838 .007183
+P 11 -22996.544899 -13414.208688 -1490.527459 186.932113
+V 11 3714.202392 -3041.259116 -30240.592155 .037012
+P 13 -24428.675421 4550.690575 9226.740654 -13.699494
+V 13 9911.385128 -6651.245288 29409.990045 .009738
+P 14 19793.763474 -15609.356961 8395.958152 -31.494952
+V 14 10411.793747 -2699.508407 -29783.885248 -.000803
+P 15 9681.056174 -11781.824398 -21949.941641 378.508457
+V 15 21409.441140 17061.220407 -2.974975 .053144
+P 16 2250.045332 -26441.763050 188.381478 1.970632
+V 16 2821.842487 376.748134 31792.051549 -.001591
+P 17 14963.419691 20864.081290 8436.761246 -90.825476
+V 17 -8836.868633 -5330.903822 28974.551271 .194318
+P 18 15216.736229 -7200.053517 -20423.342279 -119.379288
+V 18 -2130.514559 26062.450322 -10989.594602 -.037224
+P 19 -10801.884683 -11629.250547 -21193.369171 -11.971939
+V 19 24870.397802 -10911.059416 -6687.605936 -.008575
+P 20 -12821.128941 -12397.507946 19615.879010 -90.556780
+V 20 2963.795509 -24906.960728 -13736.127906 .026984
+P 21 20923.662130 923.988109 -16599.469216 88.134861
+V 21 15639.830252 13998.691745 20058.935340 .010400
+P 22 12435.807793 -18652.797788 -14098.257753 16.299313
+V 22 -216.760248 18304.515273 -24106.192392 .003817
+P 23 -20403.698919 -3081.697355 16691.087232 211.550779
+V 23 18470.493759 -10792.811439 20365.431558 .005410
+P 24 -8838.165118 12377.888922 22032.982909 89.788641
+V 24 -21780.293546 -16500.304953 670.204497 .028871
+P 25 3220.681327 -15866.400036 21437.078706 84.412326
+V 25 23247.864626 12478.570842 5880.981821 .008836
+P 26 10304.909915 11378.180160 -22049.386939 317.626017
+V 26 -24627.682088 11351.941269 -5143.868785 .054694
+P 27 -21738.785624 -668.050078 -15010.159186 514.181894
+V 27 -15916.880226 -12053.833295 22342.366129 .062681
+P 28 -12153.469395 17899.452243 -14962.826717 46.489540
+V 28 -582.938786 -19655.887028 -23034.094539 .001507
+P 29 5180.101248 13745.383273 -21858.472200 176.667535
+V 29 -25440.619361 12493.268644 1944.158351 -.190707
+P 30 15421.353941 1465.286161 21327.437368 442.612450
+V 30 -1289.413116 27706.845292 -850.303238 -.144657
+P 31 -22755.644357 13850.077571 1690.028612 -.475635
+V 31 -3864.076204 -1736.841494 -30901.760686 -.078497
+* 2005 1 21 8 45 .00000000
+P 1 8271.680729 -17878.188550 17995.023973 384.053326
+V 1 20431.982698 -9315.425250 -18871.870777 .020844
+P 2 6349.933941 18396.269393 17808.116157 -42.006540
+V 2 -20802.952637 -10422.488115 17800.674031 .055344
+P 3 945.343319 -18172.339365 -19388.875315 78.415011
+V 3 21340.322817 -12281.497251 12896.835461 .029420
+P 4 -8055.565820 13014.501552 21702.769940 439.267737
+V 4 -23488.106962 -14454.759418 283.690435 -.207123
+P 5 13375.060315 15571.115853 16786.606582 73.435786
+V 5 -771.166662 21720.387207 -19183.113314 .024564
+P 6 23670.539228 -4076.380953 11647.670876 -154.072094
+V 6 -10973.350464 9948.641257 26102.422215 .875672
+P 7 -19600.646943 17098.147362 5378.207177 59.746595
+V 7 -7285.330705 398.888258 -30291.195308 -.303662
+P 8 -18319.327822 3887.402501 -19150.333367 -19.187148
+V 8 -19440.069276 -13773.169113 15596.128901 -.011811
+P 9 21338.973056 15533.987126 -4800.277080 -25.059452
+V 9 -6023.259895 -334.339221 -30628.227728 -.018456
+P 10 1591.935798 26131.214771 -3461.501383 57.606407
+V 10 -2584.224046 4280.632139 31941.558471 .007178
+P 11 -22532.172240 -13629.680365 -4191.782536 186.935123
+V 11 6621.233381 -1805.592360 -29702.071999 .037009
+P 13 -23422.807743 3860.232920 11786.105638 -13.698748
+V 13 12371.679080 -8729.483484 27382.460054 .009743
+P 14 20587.174161 -15806.275784 5650.902263 -31.495117
+V 14 7224.130286 -1601.602190 -31129.937186 -.000804
+P 15 11641.230926 -10303.312592 -21765.020070 378.513363
+V 15 22076.224384 15744.767391 4105.041612 .053147
+P 16 2497.888194 -26253.029678 3039.811900 1.970387
+V 16 2755.128741 3813.465841 31481.890670 -.001585
+P 17 14045.181322 20317.200008 10968.450815 -90.808253
+V 17 -11579.001522 -6749.797149 27208.485985 .194348
+P 18 15082.030421 -4802.354039 -21232.071574 -119.382577
+V 18 -835.370359 27132.909650 -6957.307666 -.037226
+P 19 -8565.252346 -12679.874005 -21609.475773 -11.972756
+V 19 24745.536368 -12407.963619 -2545.858278 -.008578
+P 20 -12615.579222 -14568.476836 18213.523800 -90.554381
+V 20 1634.955262 -23255.584757 -17382.000799 .026983
+P 21 22274.990679 2085.520301 -14659.152378 88.135982
+V 21 14312.086992 11815.230150 22997.254918 .010392
+P 22 12448.299222 -16887.148426 -16139.087435 16.299856
+V 22 549.672054 20873.409477 -21179.056728 .003819
+P 23 -18680.379113 -4142.719274 18374.701720 211.551524
+V 23 19741.252463 -12787.609306 16993.563029 .005409
+P 24 -10834.057902 10948.768350 21908.113431 89.792158
+V 24 -22498.640215 -15208.754120 -3440.564914 .028865
+P 25 5360.600752 -14787.181695 21786.700209 84.412968
+V 25 24234.741079 11457.399544 1878.156879 .008844
+P 26 8099.548444 12472.408534 -22327.502969 317.630913
+V 26 -24296.503439 12930.260998 -1024.829228 .054687
+P 27 -23092.296926 -1655.606231 -12874.364068 514.187275
+V 27 -14086.539042 -9908.190222 25047.485258 .062676
+P 28 -12245.196467 16019.441549 -16897.258130 46.489581
+V 28 -1505.783675 -22055.009857 -19889.849644 .001517
+P 29 2937.072348 14923.626927 -21491.058392 176.650429
+V 29 -24323.979676 13635.916457 6209.111318 -.190713
+P 30 15366.151838 3948.577737 21063.499509 442.599645
+V 30 57.652288 27386.800317 -5005.543451 -.144667
+P 31 -22972.203573 13623.636993 -1097.589607 -.482601
+V 31 -981.683543 -3351.125971 -30957.775069 -.078515
+* 2005 1 21 9 0 .00000000
+P 1 9999.139585 -18717.130209 16148.542519 384.055147
+V 1 17916.231874 -9251.926259 -22103.763455 .020845
+P 2 4378.402138 17465.309035 19248.956795 -42.001566
+V 2 -22955.766031 -10196.867900 14169.529505 .055330
+P 3 2783.104397 -19280.750828 -18065.091399 78.418683
+V 3 19454.799662 -12280.571991 16479.980537 .029411
+P 4 -10195.770716 11772.256616 21541.621742 439.248880
+V 4 -23992.174635 -13108.857203 -3857.718918 -.207125
+P 5 13342.734932 17423.540947 14920.060614 73.438507
+V 5 3.425094 19384.270583 -22234.731313 .024561
+P 6 22598.083622 -3088.589431 13891.565992 -153.993552
+V 6 -12787.575765 12018.685588 23691.927064 .875627
+P 7 -20128.877030 17060.730068 2613.484054 59.719291
+V 7 -4474.232125 -1293.810965 -31059.255397 -.303665
+P 8 -20028.345370 2739.166509 -17590.020438 -19.188382
+V 8 -18454.754173 -11738.077678 19028.261897 -.011805
+P 9 20661.517822 15449.282106 -7509.133391 -25.060846
+V 9 -9037.716491 -1477.796853 -29485.753002 -.018457
+P 10 1367.673861 26357.732303 -564.842226 57.604986
+V 10 -2471.337455 744.253894 32334.558672 .007174
+P 11 -21803.088238 -13750.111110 -6821.734885 186.938398
+V 11 9582.634011 -932.586318 -28658.308832 .037007
+P 13 -22215.148078 2973.958938 14141.330370 -13.697889
+V 13 14386.720557 -10988.215331 24880.104744 .009749
+P 14 21096.414730 -15884.519940 2808.622991 -31.495264
+V 14 4113.239655 -66.809888 -31941.170197 -.000806
+P 15 13640.866966 -8955.545159 -21213.358955 378.515732
+V 15 22279.885499 14169.271207 8135.628354 .053151
+P 16 2758.339294 -25757.516862 5838.847424 1.970225
+V 16 3100.153989 7177.684455 30629.571896 -.001578
+P 17 12878.626454 19662.375791 13320.916344 -90.790686
+V 17 -14340.138771 -7727.316782 24996.876443 .194377
+P 18 15070.032223 -2332.191909 -21672.262108 -119.385629
+V 18 581.700342 27668.578393 -2811.881477 -.037230
+P 19 -6362.912617 -13856.325988 -21650.316550 -11.973437
+V 19 24113.786141 -13693.175766 1639.439378 -.008582
+P 20 -12520.085370 -16569.670177 16496.201273 -90.551808
+V 20 530.823612 -21143.297403 -20725.305340 .026982
+P 21 23486.218049 3052.435242 -12471.789395 88.136998
+V 21 12530.908335 9688.453794 25541.595124 .010382
+P 22 12543.805416 -14907.280166 -17899.300641 16.300424
+V 22 1617.537248 23052.867249 -17879.236589 .003820
+P 23 -16865.642679 -5382.456028 19740.979548 211.552072
+V 23 20500.329850 -14748.661459 13323.577127 .005406
+P 24 -12873.909101 9647.982076 21415.499479 89.795390
+V 24 -22750.471121 -13661.830763 -7490.767559 .028860
+P 25 7569.459789 -13811.367545 21774.273726 84.412025
+V 25 24772.933650 10193.188980 -2153.760099 .008852
+P 26 5946.132115 13698.209555 -22232.755111 317.635644
+V 26 -23479.446521 14261.563644 3130.848573 .054680
+P 27 -24261.623326 -2455.773813 -10515.199566 514.192848
+V 27 -11832.067545 -7903.886140 27299.984623 .062672
+P 28 -12432.553954 13942.664822 -18532.478596 46.489686
+V 28 -2696.329407 -24017.514792 -16395.128773 .001528
+P 29 815.350195 16189.018195 -20744.053892 176.632895
+V 29 -22755.690902 14418.010800 10366.733201 -.190719
+P 30 15429.511332 6378.830483 20429.250987 442.586605
+V 30 1330.833399 26531.396656 -9067.141399 -.144676
+P 31 -22939.495290 13237.546338 -3866.704679 -.489719
+V 31 1662.810108 -5275.911608 -30491.862285 -.078534
+* 2005 1 21 9 15 .00000000
+P 1 11490.828471 -19529.495261 14027.464862 384.056364
+V 1 15208.189946 -8721.033114 -24965.228704 .020846
+P 2 2228.679864 16572.477152 20350.891111 -41.996713
+V 2 -24749.501295 -9583.635421 10280.548403 .055316
+P 3 4440.475705 -20369.900891 -16430.712820 78.421441
+V 3 17345.111544 -11848.817424 19788.801501 .029402
+P 4 -12359.306811 10661.177397 21010.705151 439.229937
+V 4 -24001.803706 -11554.148841 -7921.715246 -.207127
+P 5 13365.983552 19050.539004 12796.065929 73.440019
+V 5 455.387059 16723.650192 -24896.229310 .024559
+P 6 21382.070338 -1911.313770 15900.269316 -153.914457
+V 6 -14159.200580 14145.378701 20883.360618 .875581
+P 7 -20411.063147 16854.498849 -196.406792 59.691937
+V 7 -1831.364154 -3344.711208 -31292.562332 -.303668
+P 8 -21626.373518 1774.097935 -15734.916165 -19.190147
+V 8 -16976.353258 -9717.912857 22138.234116 -.011799
+P 9 19712.372320 15280.803519 -10093.182103 -25.062621
+V 9 -12045.877401 -2194.520964 -27859.164082 -.018457
+P 10 1134.104230 26265.171099 2341.709943 57.604695
+V 10 -2790.814383 -2792.437066 32160.926992 .007171
+P 11 -20808.228180 -13808.806343 -9335.636241 186.941627
+V 11 12513.017574 -434.384457 -27126.748028 .037005
+P 13 -20847.913319 1879.664898 16251.576287 -13.696976
+V 13 15911.883772 -13336.382233 21946.395115 .009755
+P 14 21332.723692 -15806.263297 -82.011653 -31.495141
+V 14 1174.288148 1868.671241 -32202.822054 -.000808
+P 15 15636.781413 -7758.090800 -20304.910610 378.520356
+V 15 21989.818840 12419.018331 12022.853645 .053156
+P 16 3067.679312 -24966.116935 8537.333073 1.970121
+V 16 3836.701228 10373.097937 29250.837086 -.001572
+P 17 11466.086297 18939.706333 15455.522717 -90.773021
+V 17 -17030.284841 -8257.953682 22373.263017 .194407
+P 18 15187.711273 161.465686 -21736.997368 -119.388912
+V 18 2031.226172 27654.063080 1373.971631 -.037236
+P 19 -4238.753110 -15135.877076 -21315.269665 -11.974225
+V 19 23016.495605 -14686.455195 5794.996396 -.008586
+P 20 -12511.156090 -18362.300585 14493.782050 -90.549442
+V 20 -277.920311 -18632.460896 -23708.380461 .026981
+P 21 24517.977318 3833.689204 -10074.695219 88.137701
+V 21 10331.015079 7702.976937 27651.840388 .010374
+P 22 12746.437128 -12751.289001 -19347.877076 16.301047
+V 22 2917.748154 24777.620370 -14263.845043 .003818
+P 23 -15005.701583 -6793.663711 20765.887532 211.552513
+V 23 20747.303191 -16582.638534 9418.470843 .005404
+P 24 -14914.174032 8494.788716 20563.575569 89.798455
+V 24 -22503.913553 -11943.394639 -11414.364403 .028854
+P 25 9805.234094 -12957.350398 21400.089358 84.411826
+V 25 24828.492571 8764.397306 -6150.156579 .008862
+P 26 3886.499373 15029.638418 -21764.879324 317.640696
+V 26 -22221.180181 15264.824579 7255.521033 .054674
+P 27 -25211.024305 -3084.968829 -7974.922220 514.198707
+V 27 -9209.871170 -6121.276573 29067.611943 .062668
+P 28 -12736.299375 11711.126627 -19839.783417 46.489799
+V 28 -4078.690922 -25486.030444 -12613.990091 .001539
+P 29 -1147.554074 17506.119919 -19630.532107 176.615893
+V 29 -20807.897127 14775.681895 14341.610572 -.190724
+P 30 15600.948699 8709.003991 19436.398562 442.573742
+V 30 2445.812546 25169.079685 -12962.709933 -.144686
+P 31 -22682.104532 12666.400480 -6570.811122 -.496737
+V 31 4000.850161 -7452.736976 -29515.758016 -.078552
+* 2005 1 21 9 30 .00000000
+P 1 12733.704371 -20272.469558 11667.410492 384.059111
+V 1 12403.225017 -7709.219818 -27406.601621 .020847
+P 2 -63.530267 15750.152648 21093.793567 -41.991749
+V 2 -26111.127311 -8640.907774 6202.966068 .055303
+P 3 5901.002272 -21400.010413 -14513.099783 78.423391
+V 3 15094.795534 -10966.731946 22764.714389 .029393
+P 4 -14500.650657 9696.148068 20120.101805 439.211703
+V 4 -23497.207796 -9878.245904 -11839.528095 -.207129
+P 5 13413.716286 20426.491142 10451.772883 73.439951
+V 5 541.608156 13819.711699 -27123.544239 .024557
+P 6 20063.247466 -543.289320 17640.048376 -153.835846
+V 6 -15070.732490 16243.101767 17724.226610 .875536
+P 7 -20465.915517 16449.563462 -3002.840697 59.664701
+V 7 565.426719 -5699.074891 -30981.651681 -.303671
+P 8 -23070.027744 986.823200 -13616.313964 -19.189694
+V 8 -15029.801381 -7801.511119 24875.876970 -.011793
+P 9 18496.130929 15067.089798 -12510.149620 -25.064017
+V 9 -14958.425330 -2484.441178 -25778.352428 -.018458
+P 10 852.673142 25858.228850 5207.187481 57.605083
+V 10 -3531.445568 -6224.756628 31423.065637 .007168
+P 11 -19554.248368 -13839.444463 -11690.672484 186.944885
+V 11 15326.714025 -307.119374 -25132.870836 .037004
+P 13 -19366.499609 573.628769 18080.267668 -13.696248
+V 13 16921.353049 -15677.182136 18632.447100 .009762
+P 14 21315.572811 -15537.726946 -2971.229045 -31.495354
+V 14 -1505.506814 4151.368629 -31909.590851 -.000810
+P 15 17583.798900 -6722.695581 -19055.447640 378.523980
+V 15 21192.490147 10583.005644 15703.455400 .053162
+P 16 3459.581988 -23898.135069 11088.939616 1.969986
+V 16 4927.258306 13309.638792 27370.445458 -.001565
+P 17 9817.994939 18189.028800 17336.921486 -90.754970
+V 17 -19559.881818 -8352.981924 19377.089818 .194437
+P 18 15433.905731 2629.129649 -21425.921146 -119.392235
+V 18 3422.598328 27093.173414 5527.400512 -.037242
+P 19 -2232.199043 -16489.021843 -20610.291744 -11.974936
+V 19 21511.139580 -15317.981886 9848.138977 -.008591
+P 20 -12559.501534 -19913.824956 12241.043413 -90.547387
+V 20 -733.534736 -15799.032251 -26280.007340 .026981
+P 21 25334.726197 4445.526930 -7508.479189 88.138736
+V 21 7762.424293 5935.661396 29294.965290 .010365
+P 22 13073.587395 -10462.451291 -20459.213535 16.301397
+V 22 4370.618229 25998.196275 -10395.969015 .003814
+P 23 -13145.959920 -8360.796421 21431.270537 211.553008
+V 23 20500.480736 -18198.998971 5345.682751 .005401
+P 24 -16909.199307 7500.655312 19366.635991 89.801898
+V 24 -21744.136856 -10142.188335 -15147.323551 .028848
+P 25 12023.550711 -12236.207360 20670.235405 84.413635
+V 25 24383.342313 7254.632803 -10046.929655 .008872
+P 26 1957.775622 16433.908265 -20929.749118 317.645358
+V 26 -20581.482190 15869.538131 11280.597660 .054667
+P 27 -25910.439924 -3566.321389 -5298.274680 514.204386
+V 27 -6289.342540 -4628.773431 30327.367515 .062663
+P 28 -13169.936200 9371.201340 -20796.478572 46.490057
+V 28 -5568.133861 -26421.130463 -8615.704347 .001549
+P 29 -2921.229892 18834.464805 -18170.210249 176.598876
+V 29 -18565.697612 14661.427937 18061.773698 -.190730
+P 30 15862.682674 10895.425274 18103.013786 442.560620
+V 30 3325.306575 23345.970877 -16623.424254 -.144696
+P 31 -22230.219774 11890.564935 -9164.813632 -.503906
+V 31 5976.803246 -9812.234169 -28048.985075 -.078570
+* 2005 1 21 9 45 .00000000
+P 1 13723.423803 -20902.870099 9108.179191 384.061946
+V 1 9598.689593 -6221.886111 -29384.793387 .020848
+P 2 -2456.591778 15024.868795 21463.963888 -41.986751
+V 2 -26982.279222 -7440.014300 2010.093874 .055290
+P 3 7155.934133 -22330.319722 -12344.659893 78.425371
+V 3 12790.985578 -9632.149832 25354.321625 .029385
+P 4 -16573.306857 8884.016176 18885.947903 439.193217
+V 4 -22476.632710 -8171.535387 -15545.556683 -.207131
+P 5 13451.664821 21533.438419 7927.948355 73.442508
+V 5 234.794331 10760.947271 -28880.465011 .024556
+P 6 18683.172130 1008.976861 19081.696672 -153.757444
+V 6 -15521.708581 18225.310094 14267.466619 .875490
+P 7 -20318.706942 15821.622177 -5756.774555 59.637310
+V 7 2648.644160 -8287.804722 -30126.765928 -.303673
+P 8 -24318.925894 364.216996 -11269.764825 -19.191194
+V 8 -12656.697270 -6071.767418 27196.849122 -.011787
+P 9 17025.330244 14845.917233 -14720.734616 -25.066127
+V 9 -17688.678207 -2364.467627 -23279.371852 -.018459
+P 10 486.698665 25150.873588 7981.311109 57.606278
+V 10 -4662.979581 -9452.052931 30133.849787 .007166
+P 11 -18055.411071 -13874.641558 -13846.670476 186.948214
+V 11 17940.887034 -531.139139 -22709.811254 .037004
+P 13 -17817.744524 -939.043606 19595.738994 -13.695237
+V 13 17408.992977 -17911.890940 14996.094741 .009768
+P 14 21071.800911 -15050.651481 -5809.211251 -31.495523
+V 14 -3850.166431 6712.476621 -31065.782174 -.000812
+P 15 19436.315962 -5853.009759 -17486.284085 378.527975
+V 15 19891.955726 8751.577742 19117.689470 .053168
+P 16 3963.622210 -22580.576141 13449.953732 1.970024
+V 16 6318.562238 15906.794035 25021.673904 -.001560
+P 17 7952.712306 17448.423999 18933.567540 -90.737666
+V 17 -21842.863505 -8040.043923 16053.373037 .194466
+P 18 15799.386533 5022.509857 -20745.191021 -119.395728
+V 18 4667.761804 26008.633771 9576.718237 -.037248
+P 19 -376.863033 -17880.549555 -19547.802367 -11.975754
+V 19 19668.973410 -15531.228881 13728.138133 -.008596
+P 20 -12631.307024 -21199.041218 9777.049088 -90.544759
+V 20 -793.550098 -12729.668800 -28396.285073 .026982
+P 21 25906.047502 4910.656781 -4816.390068 88.139767
+V 21 4888.673759 4452.851431 30445.393560 .010356
+P 22 13535.121273 -8087.709624 -21213.611003 16.301837
+V 22 5889.119777 26682.864052 -6343.524556 .003810
+P 23 -11329.357238 -10060.422177 21725.199071 211.553673
+V 23 19796.133575 -19513.630975 1175.918613 .005397
+P 24 -18812.789954 6668.966629 17844.614989 89.803436
+V 24 -20473.992711 -8348.513705 -18628.487257 .028842
+P 25 14179.153553 -11651.374778 19596.516495 84.415323
+V 25 23436.009146 5749.556258 -13781.286124 .008881
+P 26 191.099584 17872.471394 -19739.417073 317.650205
+V 26 -18633.231490 16018.651147 15137.530047 .054661
+P 27 -26336.536281 -3928.492423 -2531.657208 514.210159
+V 27 -3150.063977 -3480.539422 31065.379624 .062659
+P 28 -13739.079214 6971.946517 -21386.283209 46.490074
+V 28 -7074.717113 -26802.790055 -4473.260275 .001559
+P 29 -4483.378043 20130.128145 -16389.071447 176.581728
+V 29 -16123.620537 14046.204461 21460.189392 -.190735
+P 30 16190.415032 12899.297858 16453.152710 442.547442
+V 30 3902.277849 21123.940045 -19985.326638 -.144705
+P 31 -21618.387866 10897.042770 -11605.705744 -.510920
+V 31 7549.695242 -12276.726542 -26118.350928 -.078588
+* 2005 1 21 10 0 .00000000
+P 1 14464.357760 -21378.856707 6393.122047 384.066654
+V 1 6890.276966 -4283.424094 -30864.103696 .020847
+P 2 -4904.371232 14416.255653 21454.428140 -41.981759
+V 2 -27321.749294 -6062.486326 -2222.160911 .055276
+P 3 8204.399038 -23120.671667 -9962.332871 78.429255
+V 3 10521.037324 -7860.634173 27510.479368 .029376
+P 4 -18531.436498 8223.503081 17330.103269 439.174947
+V 4 -20956.366709 -6523.622607 -18978.368080 -.207133
+P 5 13443.857376 22361.589859 5268.246335 73.443329
+V 5 -475.497833 7639.803868 -30139.111255 .024556
+P 6 17282.680791 2731.268644 20200.986717 -153.678776
+V 6 -15528.527624 20007.771574 10570.643639 .875445
+P 7 -20000.214148 14953.149024 -8409.638278 59.610056
+V 7 4363.898639 -11029.882372 -28738.217647 -.303676
+P 8 -25337.129319 -113.923905 -8734.526014 -19.191502
+V 8 -9913.908473 -4602.590419 29063.222837 -.011782
+P 9 15320.079466 14652.807616 -16689.134391 -25.066104
+V 9 -20155.516769 -1867.593484 -20403.821267 -.018460
+P 10 3.035968 24165.802599 10615.423653 57.606243
+V 10 -6137.331906 -12381.625306 28316.392314 .007163
+P 11 -16333.192299 -13944.563297 -15766.765373 186.951511
+V 11 20278.558103 -1071.826904 -19897.861365 .037003
+P 13 -16248.145839 -2644.421271 20771.793040 -13.694218
+V 13 17388.439687 -19943.768928 11100.836544 .009772
+P 14 20634.470046 -14323.566258 -8546.959952 -31.495483
+V 14 -5797.809821 9470.411687 -29685.285720 -.000814
+P 15 21149.884487 -5144.618890 -15623.922704 378.533003
+V 15 18109.766682 7013.046669 22210.122750 .053174
+P 16 4603.951027 -21047.149625 15580.016857 1.969807
+V 16 7943.751114 18096.535962 22245.678536 -.001556
+P 17 5896.074807 16752.781912 20218.204191 -90.719469
+V 17 -23799.639070 -7362.202530 12452.328617 .194495
+P 18 16267.248543 7296.177147 -19707.317187 -119.399211
+V 18 5684.764262 24441.069821 13452.643002 -.037253
+P 19 1300.569191 -19270.850252 -18146.450881 -11.976436
+V 19 17572.154606 -15285.303164 17367.492028 -.008601
+P 20 -12689.689907 -22200.905603 7144.456489 -90.542498
+V 20 -432.490791 -9518.433145 -30021.364612 .026982
+P 21 26207.768625 5257.194444 -2043.632831 88.141056
+V 21 1784.587340 3308.008775 31085.267952 .010344
+P 22 14132.874368 -5676.014496 -21597.653298 16.302309
+V 22 7382.464130 26818.880094 -2177.995542 .003804
+P 23 -9594.813253 -11861.957668 21642.207325 211.554248
+V 23 18687.016901 -20452.271554 -3018.104855 .005392
+P 24 -20579.806809 5995.036787 16022.789913 89.806324
+V 24 -18714.045634 -6650.855115 -21800.416438 .028836
+P 25 16227.409697 -11198.606168 18196.299642 84.416648
+V 25 22001.797540 4333.705830 -17292.544628 .008890
+P 26 -1389.445222 19302.347761 -18212.062611 317.654726
+V 26 -16459.866126 15671.105219 18758.905071 .054654
+P 27 -26473.486170 -4204.311160 277.681972 514.215742
+V 27 121.257690 -2714.816370 31276.617023 .062654
+P 28 -14441.157811 4563.322048 -21599.594631 46.490420
+V 28 -8507.131055 -26631.017151 -261.811287 .001568
+P 29 -5820.485562 21347.453817 -14318.857800 176.564651
+V 29 -13581.713285 12920.728348 24476.129299 -.190741
+P 30 16554.380386 14688.008948 14516.364394 442.534254
+V 30 4122.685612 18578.063539 -22990.488335 -.144714
+P 31 -20884.136762 9680.095838 -13853.200918 -.517921
+V 31 8694.405987 -14763.074031 -23757.395523 -.078606
+* 2005 1 21 10 15 .00000000
+P 1 14969.278895 -21661.617351 3568.443103 384.068854
+V 1 4368.403884 -1936.564915 -31816.946467 .020846
+P 2 -7357.868509 13936.275020 21065.102183 -41.976851
+V 2 -27107.275691 -4596.590258 -6416.865920 .055262
+P 3 9053.268191 -23733.098804 -7406.982474 78.431401
+V 3 8369.104401 -5685.172456 29193.287751 .029367
+P 4 -20331.456388 7705.431636 15479.735186 439.156189
+V 4 -18970.085704 -5019.859917 -22081.591937 -.207135
+P 5 13354.156924 22909.523213 2518.442539 73.445215
+V 5 -1582.491049 4549.228942 -30880.254405 .024556
+P 6 15900.401994 4602.011875 20979.047465 -153.600278
+V 6 -15123.677843 21511.719081 6695.079481 .875400
+P 7 -19545.431532 13834.335178 -10914.249453 59.582809
+V 7 5672.187319 -13835.377920 -26836.536245 -.303679
+P 8 -26094.434243 -473.946559 -6052.959775 -19.191225
+V 8 -6871.647233 -3456.178452 30444.008562 -.011777
+P 9 13407.435847 14519.640556 -18383.516794 -25.067646
+V 9 -22286.086025 -1041.486664 -17198.231032 -.018462
+P 10 -626.400565 22933.562151 13063.392138 57.607607
+V 10 -7890.545381 -14932.315279 26003.577138 .007161
+P 11 -14415.625692 -14075.636344 -17418.018543 186.954752
+V 11 22271.428450 -1880.986271 -16743.869187 .037002
+P 13 -14702.107345 -4520.100413 21588.159256 -13.693373
+V 13 16892.411232 -21681.894869 7014.677566 .009776
+P 14 20041.488084 -13342.804632 -11137.151452 -31.495543
+V 14 -7302.967969 12333.884297 -27791.378267 -.000816
+P 15 22682.759110 -4585.375799 -13499.633340 378.538924
+V 15 15884.266483 5450.404350 24930.371720 .053179
+P 16 5398.188418 -19337.032179 17442.800916 1.969780
+V 16 9725.034885 19825.759456 19090.733405 -.001552
+P 17 3680.683783 16132.476092 21168.312381 -90.701761
+V 17 -25359.921345 -6376.473243 8628.944518 .194524
+P 18 16813.609490 9409.103397 -18330.893187 -119.402244
+V 18 6401.025769 22447.323841 17089.456217 -.037260
+P 19 2781.174462 -20617.404017 -16430.770857 -11.977087
+V 19 15310.450742 -14556.662068 20703.136460 -.008608
+P 20 -12696.281264 -22911.040252 4388.764740 -90.540092
+V 20 357.080482 -6263.229358 -31128.029468 .026983
+P 21 26222.862126 5517.414548 763.335018 88.141965
+V 21 -1466.340491 2539.819695 31204.635897 .010330
+P 22 14860.482552 -3276.587683 -21604.467977 16.302634
+V 22 8759.855592 26412.975954 2026.916223 .003798
+P 23 -7975.835737 -13728.695371 21183.415364 211.554734
+V 23 17240.233989 -20953.562106 -7162.974208 .005386
+P 24 -22167.738983 5466.423096 13931.409422 89.809597
+V 24 -16501.989188 -5132.558718 -24610.211176 .028830
+P 25 18125.806290 -10866.215780 16492.287895 84.417448
+V 25 20112.404559 3087.341229 -20522.943106 .008899
+P 26 -2767.648420 20677.660316 -16371.836962 317.660035
+V 26 -14152.369449 14803.871993 22079.634814 .054648
+P 27 -26313.466634 -4429.291490 3082.424599 514.221502
+V 27 3433.996619 -2352.906139 30964.477500 .062650
+P 28 -15265.466994 2194.390344 -21433.612655 46.490540
+V 28 -9776.556875 -25925.643817 3942.887858 .001576
+P 29 -6928.138093 22440.860065 -11996.447387 176.547171
+V 29 -11041.426314 11295.941078 27056.374066 -.190746
+P 30 16920.618755 16236.184581 12327.102179 442.521297
+V 30 3947.669377 15793.587742 -25588.005245 -.144724
+P 31 -20066.516039 8241.602482 -15870.312216 -.524637
+V 31 9402.299284 -17185.667718 -21005.802838 -.078624
+* 2005 1 21 10 30 .00000000
+P 1 15258.729438 -21716.962481 682.440344 384.073827
+V 1 2114.755793 758.986098 -32224.469089 .020843
+P 2 -9766.973033 13588.782279 20302.811404 -41.972011
+V 2 -26336.540539 -3133.557356 -10497.678911 .055249
+P 3 9716.716821 -24133.351489 -4722.703862 78.435108
+V 3 6412.804049 -3155.169305 30370.974481 .029358
+P 4 -21933.550757 7313.257744 13366.826524 439.137897
+V 4 -16567.571129 -3738.084890 -24804.707631 -.207137
+P 5 13147.802744 23184.075169 -274.352949 73.447223
+V 5 -3062.481492 1579.245393 -31093.486063 .024556
+P 6 14571.364771 6592.901215 21402.662284 -153.521108
+V 6 -14354.390068 22666.809551 2704.952658 .875355
+P 7 -18992.105764 12463.737780 -13225.730367 59.555377
+V 7 6551.576401 -16608.920966 -24452.369991 -.303682
+P 8 -26567.468367 -747.180375 -3269.887653 -19.192586
+V 8 -3611.077938 -2680.704868 31315.616150 -.011773
+P 9 11320.550290 14473.413592 -19776.436582 -25.067946
+V 9 -24018.198055 53.375425 -13713.456832 -.018464
+P 10 -1423.322371 21491.364688 15282.457945 57.608485
+V 10 -9845.416136 -17037.614375 23237.374882 .007158
+P 11 -12336.405447 -14289.408194 -18771.976637 186.958102
+V 11 23862.395568 -2898.745001 -13300.533915 .037002
+P 13 -13220.280839 -6535.892637 22030.844173 -13.692353
+V 13 15971.267243 -23044.773939 2808.891853 .009780
+P 14 19334.051198 -12103.223825 -13534.966148 -31.495558
+V 14 -8338.258173 15205.369414 -25416.353693 -.000819
+P 15 23997.354987 -4156.020255 -11148.967263 378.542628
+V 15 13269.307267 4138.233993 27233.786671 .053185
+P 16 6356.575822 -17493.436443 19006.610645 1.969906
+V 16 11576.777979 21058.138302 15611.363460 -.001550
+P 17 1344.949639 15612.192641 21766.518286 -90.684101
+V 17 -26465.313717 -5151.861986 4642.481083 .194553
+P 18 17408.586024 11326.022613 -16640.226787 -119.405536
+V 18 6756.207877 20098.176649 20426.061229 -.037268
+P 19 4054.317942 -21876.394011 -14430.729738 -11.977988
+V 19 12977.668529 -13340.138722 23677.559524 -.008614
+P 20 -12612.869644 -23329.913243 1557.517636 -90.537727
+V 20 1564.232385 -3062.111588 -31698.115288 .026984
+P 21 25942.097047 5726.355354 3557.520189 88.142682
+V 21 -4774.853300 2170.831250 30801.554515 .010318
+P 22 15703.551470 -937.176854 -21233.862934 16.303183
+V 22 9934.261611 25491.063680 6196.698104 .003791
+P 23 -6499.347286 -15619.084468 20356.531395 211.555234
+V 23 15534.524182 -20971.612843 -11185.925126 .005380
+P 24 -23538.196565 5063.532140 11605.249051 89.813183
+V 24 -13891.460692 -3868.676928 -27010.303759 .028823
+P 25 19835.387527 -10635.601621 14512.221025 84.418498
+V 25 17814.975393 2083.405865 -23418.452544 .008907
+P 26 -3935.701421 21951.326607 -14248.597235 317.665143
+V 26 -11805.871321 13413.373137 25038.227035 .054641
+P 27 -25856.866200 -4640.085798 5835.919065 514.227481
+V 27 6696.834910 -2398.797138 30140.289132 .062645
+P 28 -16193.560223 -88.427747 -20892.324580 46.490791
+V 28 -10800.376211 -24725.304091 8066.008324 .001584
+P 29 -7810.959451 23366.648455 -9463.131539 176.529557
+V 29 -8601.475876 9202.617147 29156.220877 -.190752
+P 30 17252.415988 17526.454347 9924.053454 442.508034
+V 30 3355.084745 12862.535297 -27734.811330 -.144733
+P 31 -19204.606363 6591.142675 -17623.877749 -.531689
+V 31 9681.283334 -19459.476101 -17908.785578 -.078642
+* 2005 1 21 10 45 .00000000
+P 1 15360.090587 -21516.765737 -2215.303508 384.075735
+V 1 199.130016 3728.590255 -32077.044855 .020839
+P 2 -12082.272180 13369.434876 19181.164907 -41.967147
+V 2 -25027.326756 -1763.680555 -14390.458100 .055237
+P 3 10215.493934 -24292.304485 -1956.057351 78.438108
+V 3 4720.111621 -334.760916 31020.642293 .029348
+P 4 -23303.041443 7023.881802 11027.617933 439.119216
+V 4 -13812.858308 -2745.679954 -27103.722364 -.207139
+P 5 12792.896419 23199.929397 -3062.491593 73.448364
+V 5 -4875.773254 -1186.317818 -30777.241276 .024557
+P 6 13325.752403 8669.780802 21464.484176 -153.442219
+V 6 -13280.763719 23413.789052 -1333.637600 .875310
+P 7 -18379.149676 10848.600707 -15302.404429 59.527891
+V 7 6998.187053 -19253.494079 -21626.123604 -.303684
+P 8 -26740.553818 -968.588726 -431.906287 -19.193686
+V 8 -221.530486 -2308.490709 31662.249003 -.011768
+P 9 9097.612460 14535.188306 -20845.197631 -25.068613
+V 9 -25302.376057 1345.966073 -10004.079042 -.018467
+P 10 -2402.013764 19881.653126 17234.016359 57.609129
+V 10 -11914.668614 -18648.156699 20067.962070 .007155
+P 11 -10133.780043 -14601.599274 -19805.162821 186.961412
+V 11 25007.670982 -4055.911063 -9625.604337 .037002
+P 13 -11838.069374 -8654.822326 22092.367808 -13.691691
+V 13 14690.878703 -23963.575544 -1443.268854 .009783
+P 14 18554.967130 -10608.599528 -15698.877081 -31.495733
+V 14 -8895.349771 17984.840526 -22600.984653 -.000822
+P 15 25061.565385 -3831.063884 -8611.212391 378.546524
+V 15 10332.426595 3139.920669 29082.080731 .053192
+P 16 7481.420156 -15562.041418 20244.903788 1.970032
+V 16 13408.872922 21775.336326 11867.389439 -.001551
+P 17 -1068.082754 15209.956625 22000.952063 -90.666285
+V 17 -27071.569318 -3766.947581 555.882296 .194582
+P 18 18017.506019 13018.563908 -14664.880517 -119.409055
+V 18 6704.579746 17475.574262 23406.930147 -.037275
+P 19 5117.850379 -23004.379201 -12181.183289 -11.978922
+V 19 10667.949086 -11649.239172 26239.799289 -.008620
+P 20 -12403.042000 -23466.686088 -1300.523744 -90.535305
+V 20 3160.056533 -9.609685 -31722.764074 .026986
+P 21 25364.418799 5920.326153 6292.116248 88.143390
+V 21 -8049.039502 2206.658465 29882.116825 .010307
+P 22 16640.160097 1297.628312 -20492.335049 16.303572
+V 22 10826.039630 24097.168233 10257.457208 .003782
+P 23 -5184.778162 -17488.216291 19175.732557 211.555460
+V 23 13657.081409 -20477.967144 -15016.191517 .005374
+P 24 -24658.270642 4760.498399 9083.096850 89.816914
+V 24 -10950.284823 -2923.084942 -28959.218296 .028816
+P 25 21322.082096 -10482.032849 12288.502755 84.418988
+V 25 15170.617980 1384.706054 -25929.595026 .008916
+P 26 -4894.406914 23076.846858 -11877.523471 317.670025
+V 26 -9515.975477 11516.190195 27578.110332 .054635
+P 27 -25112.204690 -4872.933306 8492.869755 514.232894
+V 27 9820.906656 -2839.411796 28822.760305 .062641
+P 28 -17199.963390 -2242.970674 -19986.355879 46.490963
+V 28 -11505.572915 -23085.661681 12035.097147 .001591
+P 29 -8482.184781 24084.740006 -6763.811217 176.512306
+V 29 -6353.868926 6690.145073 30740.270518 -.190757
+P 30 17511.851324 18549.900116 7349.404767 442.494677
+V 30 2340.343205 9880.102047 -29396.301158 -.144742
+P 31 -18336.048829 4745.810242 -19085.029768 -.538533
+V 31 9555.311712 -21503.048358 -14516.448615 -.078660
+* 2005 1 21 11 0 .00000000
+P 1 15306.386073 -21040.192839 -5074.768052 384.077027
+V 1 -1323.294163 6885.328978 -31374.618642 .020836
+P 2 -14256.835461 13265.951389 17720.286883 -41.962449
+V 2 -23216.824602 -572.456333 -18024.817773 .055226
+P 3 10575.927939 -24187.183319 844.757918 78.441982
+V 3 3346.618590 2699.493478 31128.852428 .029338
+P 4 -24411.568560 6808.706597 8501.993905 439.100616
+V 4 -10781.890269 -2097.050988 -28941.740631 -.207141
+P 5 12261.776578 22978.921779 -5798.578240 73.449501
+V 5 -6968.206674 -3672.822716 -29938.686282 .024558
+P 6 12187.846234 10793.748058 21163.165425 -153.363625
+V 6 -11973.429306 23706.772280 -5353.636003 .875265
+P 7 -17745.001480 9004.825500 -17106.647703 59.500446
+V 7 7026.415866 -21674.384633 -18407.322662 -.303687
+P 8 -26606.304775 -1175.280515 2413.329039 -19.194124
+V 8 3202.593300 -2354.730073 31476.225296 -.011763
+P 9 6780.630024 14719.255143 -21572.161151 -25.068966
+V 9 -26103.487990 2757.297043 -6127.802016 -.018470
+P 10 -3568.584239 18150.472451 18884.309016 57.609617
+V 10 -14004.538980 -19733.494010 16552.671503 .007152
+P 11 -7849.276392 -15021.384379 -20499.491778 186.964589
+V 11 25678.418481 -5276.698143 -5780.987435 .037002
+P 13 -10584.350031 -10834.393877 21771.882420 -13.690946
+V 13 13129.896381 -24384.873096 -5667.893753 .009788
+P 14 17746.925082 -8871.678060 -17591.382771 -31.496018
+V 14 -8985.180095 20573.620443 -19393.824437 -.000824
+P 15 25849.892983 -3579.909174 -5928.794483 378.549830
+V 15 7152.541832 2505.253157 30443.901140 .053199
+P 16 8766.849696 -13589.344438 21136.722031 1.969708
+V 16 15130.275228 21977.534219 7922.902326 -.001552
+P 17 -3512.094034 14936.394580 21865.548987 -90.648830
+V 17 -27150.437624 -2307.063382 -3564.918611 .194611
+P 18 18602.308117 14466.116791 -12439.132371 -119.412490
+V 18 6216.801155 14669.472773 25982.930060 -.037282
+P 19 5977.971501 -23959.960660 -9721.246199 -11.979807
+V 19 8472.078341 -9515.703953 28346.306719 -.008624
+P 20 -12033.757558 -23338.736654 -4136.223810 -90.532797
+V 20 5098.760404 2806.785912 -31202.512408 .026987
+P 21 24497.044265 6135.370012 8921.225073 88.144277
+V 21 -11197.537118 2635.787981 28460.399149 .010297
+P 22 17641.678446 3387.950665 -19392.950328 16.303836
+V 22 11366.266663 22291.630833 14137.339573 .003773
+P 23 -4043.461902 -19289.456265 17661.425240 211.556068
+V 23 11700.030697 -19462.880762 -18586.328358 .005370
+P 24 -25501.711302 4526.306295 6407.172482 89.819590
+V 24 -7758.194451 -2345.971208 -30422.288119 .028808
+P 25 22557.873795 -10375.677618 9857.754376 84.419270
+V 25 12252.410431 1041.404712 -28012.260267 .008924
+P 26 -5653.050457 24010.121117 -9298.615266 317.674763
+V 26 -7374.947293 9148.990493 29648.978167 .054629
+P 27 -24095.778123 -5162.156802 11009.973791 514.238865
+V 27 12722.745781 -3645.411190 27037.373869 .062636
+P 28 -18253.175835 -4232.764124 -18732.695223 46.491115
+V 28 -11831.688928 -21076.982903 15781.415022 .001597
+P 29 -8962.889760 24560.266712 -3946.133041 176.495176
+V 29 -4380.261851 3824.547145 31782.979604 -.190762
+P 30 17661.388474 19306.176745 4648.059585 442.481399
+V 30 916.539102 6940.995780 -30546.760006 -.144751
+P 31 -17495.643537 2729.760125 -20229.605586 -.545688
+V 31 9063.348712 -23241.384147 -10883.133175 -.078679
+* 2005 1 21 11 15 .00000000
+P 1 15134.863684 -20274.667375 -7846.366074 384.076773
+V 1 -2414.141570 10133.179808 -30126.887385 .020833
+P 2 -16247.899111 13258.709183 15946.412228 -41.957455
+V 2 -20960.121170 363.052627 -21335.581488 .055217
+P 3 10828.706533 -23802.557914 3630.774522 78.444772
+V 3 2333.276998 5861.457986 30692.019669 .029328
+P 4 -25238.041037 6634.900169 5832.822410 439.082271
+V 4 -7559.766002 -1831.605816 -30289.426751 -.207143
+P 5 11532.231774 22549.092091 -8436.247155 73.451317
+V 5 -9273.214515 -5817.443620 -28593.481474 .024560
+P 6 11175.197820 12922.442243 20503.399335 -153.285118
+V 6 -10510.825895 23515.056321 -9288.019306 .875219
+P 7 -17125.999964 6956.586229 -18605.671042 59.473152
+V 7 6668.357105 -23783.114498 -14853.708885 -.303689
+P 8 -26165.936477 -1404.933861 5217.846172 -19.194946
+V 8 6565.123444 -2816.816577 30758.220314 -.011759
+P 9 4414.080955 15032.543171 -21944.999532 -25.070561
+V 9 -26401.927269 4203.261514 -2144.844725 -.018474
+P 10 -4920.555821 16345.716537 20205.015486 57.609980
+V 10 -16018.609617 -20283.085414 12754.806192 .007150
+P 11 -5526.300631 -15550.932436 -20842.600740 186.967887
+V 11 25861.847895 -6481.723246 -1831.775608 .037003
+P 13 -9480.465474 -13028.079013 21075.172353 -13.690166
+V 13 11376.530172 -24272.778789 -9791.732664 .009794
+P 14 16950.780436 -6913.882399 -19179.670465 -31.495983
+V 14 -8637.409803 22878.196468 -15850.361264 -.000825
+P 15 26344.354600 -3368.163595 -3146.629669 378.555044
+V 15 3817.233831 2268.498906 31295.338229 .053206
+P 16 10198.890357 -11620.997118 21667.027119 1.969668
+V 16 16652.565774 21683.258675 3845.184723 -.001553
+P 17 -5938.994899 14794.266100 21360.282778 -90.631255
+V 17 -26691.017387 -861.149258 -7651.813499 .194640
+P 18 19123.073299 15656.399951 -10001.367796 -119.415960
+V 18 5281.066244 11774.425380 28112.023224 -.037288
+P 19 6648.767540 -24705.376064 -7093.591628 -11.980561
+V 19 6473.958965 -6988.356973 29961.659717 -.008628
+P 20 -11476.793453 -22970.877959 -6900.915809 -90.530776
+V 20 7319.413875 5309.845844 -30147.216419 .026990
+P 21 23355.267925 6405.736096 11400.569970 88.145060
+V 21 -14132.733173 3429.987114 26558.327795 .010288
+P 22 18673.866214 5299.988349 -17955.098135 16.304184
+V 22 11499.630587 20148.659316 17767.903334 .003765
+P 23 -3078.358087 -20976.157900 15839.888657 211.556679
+V 23 9756.705863 -17935.859039 -21833.478407 .005364
+P 24 -26049.879386 4326.117713 3622.484090 89.823387
+V 24 -4404.094820 -2171.795904 -31372.319135 .028800
+P 25 23521.771818 -10282.838798 7260.295300 84.418541
+V 25 9142.951492 1088.923049 -29628.510544 .008934
+P 26 -6228.928403 24711.222635 -6556.068253 317.679560
+V 26 -5467.915939 6367.623785 31208.106553 .054622
+P 27 -22831.048013 -5538.754862 13346.507525 514.244757
+V 27 15327.015456 -4772.543126 24815.859591 .062632
+P 28 -19316.913019 -6028.205506 -17154.305194 46.491273
+V 28 -11733.222060 -18781.175426 19241.134607 .001603
+P 29 -9280.912870 24764.954233 -1059.586400 176.477901
+V 29 -2748.804211 685.838063 32268.973394 -.190767
+P 30 17665.446450 19803.306199 1866.825844 442.468385
+V 30 -886.122637 4135.863916 -31169.606259 -.144760
+P 31 -16714.064079 573.506589 -21038.498592 -.552653
+V 31 8257.835345 -24608.584917 -7066.740667 -.078697
+* 2005 1 21 11 30 .00000000
+P 1 14885.408312 -19216.531464 -10481.822618 384.077312
+V 1 -3053.384240 13370.600048 -28353.299633 .020832
+P 2 -18018.380578 13321.653286 13891.357623 -41.952576
+V 2 -18327.946189 977.470425 -24264.089835 .055208
+P 3 11007.479475 -23131.059960 6353.153609 78.447803
+V 3 1704.734818 9058.692041 29716.599450 .029317
+P 4 -25769.324971 6466.815701 3065.257636 439.063925
+V 4 -4237.682953 -1972.295433 -31125.362754 -.207146
+P 5 10588.507594 21943.520017 -10930.911524 73.453091
+V 5 -11714.323584 -7571.325386 -26765.430797 .024562
+P 6 10298.060063 15011.472753 19495.872199 -153.206450
+V 6 -8976.184900 22824.402201 -13070.801920 .875175
+P 7 -16554.847460 4735.598698 -19772.209304 59.445643
+V 7 5972.434915 -25501.160572 -11030.084015 -.303692
+P 8 -25429.271405 -1694.187953 7934.115756 -19.195238
+V 8 9771.525812 -3674.323688 29517.405145 -.011755
+P 9 2043.481253 15474.294324 -21956.894549 -25.071491
+V 9 -26194.307022 5597.655140 1882.687942 -.018479
+P 10 -6446.800597 14515.322544 21173.733298 57.610413
+V 10 -17861.728957 -20306.470577 8742.352213 .007147
+P 11 -3208.666793 -16185.224238 -20828.089690 186.971252
+V 11 25561.717836 -7591.167351 2154.797227 .037004
+P 13 -8539.522512 -15186.965825 20014.536016 -13.689182
+V 13 9524.970284 -23610.391680 -13743.491344 .009800
+P 14 16203.922084 -4764.682166 -20436.197219 -31.496166
+V 14 -7899.137579 24813.848269 -12032.040725 -.000827
+P 15 26535.126113 -3159.103010 -311.434224 378.558302
+V 15 419.704953 2447.021667 31620.365369 .053214
+P 16 11755.858810 -9700.187718 21826.938137 1.969723
+V 16 17893.407674 20928.525937 -296.404202 -.001555
+P 17 -8300.527381 14778.290309 20491.319846 -90.613440
+V 17 -25700.541828 481.636976 -11635.463822 .194669
+P 18 19539.629347 16585.716109 -7393.414431 -119.419406
+V 18 3903.576497 8886.041145 29759.838636 -.037293
+P 19 7151.443720 -25207.960336 -4343.693586 -11.981285
+V 19 4747.381728 -4131.293021 31059.118147 -.008633
+P 20 -10710.006404 -22394.304834 -9547.231274 -90.528290
+V 20 9748.277030 7435.409025 -28575.819307 .026994
+P 21 21961.984200 6762.415805 13688.193026 88.145810
+V 21 -16773.853451 4545.310108 24205.461343 .010281
+P 22 19698.207280 7007.131559 -16204.125164 16.304483
+V 22 11186.761854 17753.330273 21085.412684 .003756
+P 23 -2284.113375 -22503.390660 13742.808032 211.557201
+V 23 7917.881101 -15925.426388 -24700.553620 .005357
+P 24 -26292.434557 4122.759031 776.128436 89.826731
+V 24 -982.954634 -2417.800446 -31790.184345 .028791
+P 25 24200.542477 -10167.356917 4539.552228 84.419141
+V 25 5931.521404 1546.336726 -30747.359318 .008944
+P 26 -6646.540922 25146.052123 -3697.535137 317.684146
+V 26 -3869.258896 3245.380136 32221.592410 .054616
+P 27 -21347.800421 -6029.139491 15464.859064 514.250408
+V 27 17568.864775 -6163.456978 22195.536266 .062627
+P 28 -20351.536651 -7607.463017 -15279.632188 46.491425
+V 28 -11181.383009 -16288.430982 22356.379929 .001610
+P 29 -9469.520195 24678.241809 1845.416964 176.460833
+V 29 -1511.591391 -2635.150204 32193.123940 -.190772
+P 30 17491.888881 20057.159356 -946.410228 442.455199
+V 30 -3021.556565 1547.947130 -31257.456083 -.144769
+P 31 -16016.730799 -1687.004379 -21497.947359 -.559645
+V 31 7202.703788 -25550.208068 -3128.032600 -.078715
+* 2005 1 21 11 45 .00000000
+P 1 14598.848001 -17871.370569 -12935.045421 384.076532
+V 1 -3240.165666 16494.382007 -26082.862359 .020832
+P 2 -19538.160642 13423.475296 11591.882845 -41.947657
+V 2 -15403.783165 1219.834047 -26759.326596 .055199
+P 3 11147.341233 -22173.791639 8964.088725 78.450492
+V 3 1468.342166 12196.013334 28219.054042 .029306
+P 4 -26000.647043 6267.515653 246.015132 439.045166
+V 4 -909.681196 -2524.761714 -31436.304048 -.207148
+P 5 9422.072110 21198.990429 -13240.476716 73.455848
+V 5 -14208.006472 -8901.209341 -24486.028715 .024564
+P 6 9559.099207 17015.936824 18157.124238 -153.127680
+V 6 -7454.322451 21637.733446 -16638.051830 .875130
+P 7 -16059.229717 2380.071090 -20585.096321 59.418471
+V 7 5001.296139 -26763.284090 -7006.933498 -.303694
+P 8 -24414.439357 -2077.061032 10515.817845 -19.195953
+V 8 12732.289051 -4889.582645 27771.501416 -.011752
+P 9 -286.086991 16036.014503 -21606.677685 -25.072984
+V 9 -25493.643571 6855.293676 5891.465092 -.018483
+P 10 -8127.828649 12705.486367 21774.338929 57.611717
+V 10 -19443.850863 -19832.632484 4586.626978 .007145
+P 11 -939.107892 -16912.157607 -20455.664868 186.974466
+V 11 24798.221376 -8527.981886 6110.458390 .037005
+P 13 -7766.023513 -17261.505122 18608.553290 -13.688303
+V 13 7671.594262 -22400.505456 -17455.078285 .009805
+P 14 15538.786995 -2460.650991 -21339.177742 -31.496082
+V 14 -6832.924411 26307.943795 -8005.175078 -.000829
+P 15 26420.902531 -2915.232969 2529.001802 378.562905
+V 15 -2944.491695 3040.496811 31411.200923 .053223
+P 16 13409.057161 -7866.130151 21613.867399 1.969634
+V 16 18779.769979 19765.336375 -4431.564240 -.001559
+P 17 -10549.908843 14875.284179 19271.082482 -90.595681
+V 17 -24204.533287 1635.441560 -15446.379404 .194698
+P 18 19813.167357 17258.887289 -4659.831223 -119.422911
+V 18 2108.336219 6097.446089 30900.114823 -.037297
+P 19 7513.284346 -25441.416210 -1519.026761 -11.981987
+V 19 3353.220136 -1021.480997 31621.013661 -.008638
+P 20 -9718.362158 -21645.310535 -12029.901772 -90.525700
+V 20 12301.615644 9134.671881 -26515.969882 .026997
+P 21 20346.940515 7231.795448 15745.128882 88.146620
+V 21 -19049.839718 5923.675998 21438.683400 .010274
+P 22 20673.425175 8490.789548 -14170.857668 16.304882
+V 22 10405.909673 15198.171272 24032.022225 .003748
+P 23 -1647.457917 -23829.612673 11406.706341 211.557670
+V 23 6268.111906 -13478.135023 -27137.303780 .005350
+P 24 -26227.730443 3878.314874 -2083.458737 89.829066
+V 24 2407.576172 -3083.136537 -31665.332106 .028782
+P 25 24589.170980 -9992.132292 1741.400136 84.419295
+V 25 2710.937655 2415.342461 -31345.504201 .008955
+P 26 -6936.474368 25287.798505 -773.281015 317.689141
+V 26 -2639.342803 -129.558781 32665.454540 .054610
+P 27 -19681.110540 -6654.049431 17331.006185 514.256375
+V 27 19395.912003 -7749.817365 19218.774296 .062622
+P 28 -21315.612084 -8957.060267 -13142.030389 46.491560
+V 28 -10165.160275 -13693.620099 25076.095318 .001616
+P 29 -9565.871927 24288.097828 4718.460307 176.443827
+V 29 -702.817772 -6040.330703 31560.406652 -.190777
+P 30 17113.375404 20090.651440 -3743.508624 442.441999
+V 30 -5429.619033 -749.919242 -30812.024447 -.144778
+P 31 -15422.880922 -4011.518477 -21599.760472 -.566513
+V 31 5970.998838 -26025.252493 870.098708 -.078734
+* 2005 1 21 12 0 .00000000
+P 1 14315.220073 -16253.984790 -15162.969001 384.076114
+V 1 -2992.858325 19403.627660 -23353.748204 .020833
+P 2 -20785.082051 13529.009535 9088.959968 -41.942690
+V 2 -12280.483574 1055.678522 -28778.835739 .055191
+P 3 11283.256391 -20940.406210 11417.696417 78.453400
+V 3 1613.878745 15179.200698 26225.592353 .029296
+P 4 -25935.700183 6000.344338 -2577.371546 439.026583
+V 4 2330.698734 -3477.115734 -31217.334951 -.207150
+P 5 8032.112814 20354.538230 -15326.008563 73.457573
+V 5 -16666.778763 -9790.477085 -21793.915297 .024566
+P 6 8953.400020 18891.972574 16509.318982 -153.048611
+V 6 -6028.351000 19975.218627 -19928.907753 .875085
+P 7 -15660.655408 -66.621130 -21029.707680 59.391275
+V 7 3829.055602 -27520.303220 -2858.873299 -.303697
+P 8 -23147.276171 -2583.452039 12918.611645 -19.196124
+V 8 15366.204885 -6408.997888 25546.732167 -.011748
+P 9 -2531.440468 16701.706417 -20898.909196 -25.075417
+V 9 -24329.014616 7895.141231 9817.632958 -.018487
+P 10 -9936.411934 10958.970491 21997.225595 57.613650
+V 10 -20683.635646 -18908.591040 360.898827 .007142
+P 11 1242.174714 -17712.938635 -19731.180912 186.977895
+V 11 23607.250850 -9221.019354 9967.043445 .037006
+P 13 -7155.843165 -19203.286168 16881.743758 -13.687220
+V 13 5911.110878 -20665.552252 -20862.780686 .009810
+P 14 14981.580821 -44.247175 -21872.969795 -31.496264
+V 14 -5514.205835 27302.771717 -3839.760634 -.000831
+P 15 26008.957392 -2599.892241 5326.569620 378.568514
+V 15 -6180.844892 4030.762617 30668.581240 .053231
+P 16 15123.742788 -6152.715542 21031.553790 1.969639
+V 16 19250.800056 18259.579440 -8490.194952 -.001564
+P 17 -12643.459688 15064.619230 17718.209038 -90.577879
+V 17 -22246.280613 2521.245855 -19016.127541 .194727
+P 18 19907.809897 17688.876488 -1847.163412 -119.426450
+V 18 -63.712414 3495.873618 31515.015464 -.037300
+P 19 7766.383479 -25386.846436 1331.761207 -11.982629
+V 19 2337.153385 2254.118041 31638.972139 -.008645
+P 20 -8494.693699 -20763.823809 -14306.520014 -90.523172
+V 20 14888.893540 10375.877304 -24003.502726 .026998
+P 21 18545.744715 7834.475100 17536.046589 88.147693
+V 21 -20901.915222 7494.974876 18301.799588 .010268
+P 22 21557.117299 9740.896550 -11891.023047 16.305217
+V 22 9153.896350 12579.468715 26556.825108 .003739
+P 23 -1147.920480 -24918.221359 8872.285895 211.558222
+V 23 4882.336516 -10656.852579 -29101.247537 .005342
+P 24 -25862.897337 3555.770385 -4907.293478 89.833168
+V 24 5670.707594 -4148.665171 -30996.188638 .028773
+P 25 24691.030223 -9720.712129 -1086.559782 84.420982
+V 25 -425.793356 3679.856525 -31407.990673 .008965
+P 26 -7134.012758 25118.136734 2164.751975 317.694301
+V 26 -1821.790441 -3657.397472 32526.537855 .054604
+P 27 -17870.144179 -7427.671983 18914.948848 514.261906
+V 27 20769.866007 -9454.826493 15932.489238 .062618
+P 28 -22167.529527 -10072.130918 -10779.115394 46.491778
+V 28 -8691.672776 -11092.589297 27356.739547 .001621
+P 29 -9609.356431 23591.503265 7510.017084 176.427083
+V 29 -337.687216 -9428.153358 30385.555200 -.190782
+P 30 16508.525524 19932.687162 -6476.884416 442.428970
+V 30 -8038.437522 -2697.853229 -29843.879303 -.144786
+P 31 -14944.867896 -6356.756185 -21341.474188 -.573437
+V 31 4642.175052 -26007.712244 4863.394745 -.078752
+* 2005 1 21 12 15 .00000000
+P 1 14072.067296 -14388.003121 -17126.354368 384.076895
+V 1 -2348.338250 22003.680608 -20212.702214 .020836
+P 2 -21745.626932 13600.784880 6426.970150 -41.937728
+V 2 -9056.542233 468.400774 -30289.411350 .055182
+P 3 11448.493755 -19448.855016 13670.873307 78.456968
+V 3 2114.019973 17918.677180 23771.686090 .029284
+P 4 -25586.448804 5630.491833 -5357.303741 439.008414
+V 4 5393.730927 -4800.351087 -30471.925532 -.207152
+P 5 6425.747903 19449.926631 -17152.348822 73.458369
+V 5 -19002.431221 -10239.582457 -18734.249045 .024569
+P 6 8468.766222 20598.291159 14579.921459 -152.969461
+V 6 -4776.426505 17873.724350 -22886.586198 .875040
+P 7 -15373.567992 -2557.479482 -21098.257721 59.364341
+V 7 2538.022195 -27741.171064 1337.027010 -.303699
+P 8 -21660.439335 -3237.788040 15100.889858 -19.197260
+V 8 17603.360188 -8164.922859 22877.573822 -.011745
+P 9 -4652.704926 17448.381067 -19843.891531 -25.076246
+V 9 -22744.688317 8643.359019 13597.572181 -.018492
+P 10 -11838.516093 9313.570410 21839.416789 57.614114
+V 10 -21511.669602 -17597.300586 -3860.988232 .007138
+P 11 3298.868478 -18562.746704 -18666.578414 186.981280
+V 11 22039.061191 -9607.966440 13657.670457 .037007
+P 13 -6696.549437 -20966.773112 14864.123039 -13.686368
+V 13 4332.792736 -18446.789217 -23908.349399 .009813
+P 14 14551.255152 2437.635373 -22028.349861 -31.496185
+V 14 -4028.195485 27757.797436 391.773606 -.000833
+P 15 25314.895605 -2178.840310 8033.616860 378.574465
+V 15 -9199.285136 5382.326983 29401.932015 .053239
+P 16 16860.336897 -4587.375960 20089.993740 1.969519
+V 16 19260.239838 16488.428729 -12403.527247 -.001569
+P 17 -14542.152511 15318.991273 15857.399902 -90.560450
+V 17 -19885.614266 3070.267514 -22278.658502 .194755
+P 18 19792.073021 17896.112806 996.825255 -119.429542
+V 18 -2556.175472 1159.503982 31595.320690 -.037303
+P 19 7946.197621 -25033.509093 4159.689980 -11.983351
+V 19 1728.000184 5601.801517 31113.970232 -.008652
+P 20 -7040.159791 -19791.823254 -16338.248402 -90.520708
+V 20 17416.218394 11145.344658 -21081.792298 .026999
+P 21 16598.659130 8584.298574 19029.850644 88.148520
+V 21 -22285.745743 9179.641874 14845.032098 .010261
+P 22 22307.441163 10756.078875 -9404.584067 16.305616
+V 22 7446.315863 9993.457098 28616.743189 .003729
+P 23 -758.832412 -25738.920037 6183.693128 211.558722
+V 23 3822.877858 -7538.399314 -30558.444739 .005334
+P 24 -25213.603717 3120.640293 -7646.665085 89.837926
+V 24 8714.083532 -5577.454442 -29790.434063 .028762
+P 25 24517.743333 -9318.883661 -3895.777783 84.421119
+V 25 -3388.912900 5306.287804 -30928.779410 .008975
+P 26 -7277.532821 24628.102251 5063.950411 317.699456
+V 26 -1441.428056 -7230.610284 31803.164705 .054598
+P 27 -15956.836813 -8357.005673 20191.090790 514.267660
+V 27 21667.611869 -11195.980197 12387.542059 .062613
+P 28 -22867.125202 -10956.341177 -8232.063172 46.492022
+V 28 -6785.819558 -8578.506967 29162.807190 .001626
+P 29 -9639.861269 22594.589533 10172.306930 176.409988
+V 29 -412.102381 -12697.466298 28692.539719 -.190787
+P 30 15662.853747 19616.899942 -9100.288580 442.415753
+V 30 -10767.146865 -4250.942424 -28372.067278 -.144795
+P 31 -14587.715685 -8677.814194 -20726.439454 -.580344
+V 31 3299.147889 -25487.644297 8787.036756 -.078771
+* 2005 1 21 12 30 .00000000
+P 1 13902.834093 -12305.151904 -18790.526492 384.076695
+V 1 -1360.494404 24209.850500 -16714.253612 .020840
+P 2 -22415.250113 13600.665041 3652.848883 -41.932824
+V 2 -5832.202934 -540.141554 -31267.552598 .055174
+P 3 11673.135191 -17724.809914 15684.099936 78.459789
+V 3 2925.524648 20333.012894 20901.373295 .029273
+P 4 -24972.641123 5126.492540 -8046.871289 438.990274
+V 4 8196.680110 -6449.377010 -29211.890394 -.207155
+P 5 4617.944769 18524.114543 -18688.670820 73.462056
+V 5 -21129.283948 -10265.862247 -15358.006013 .024572
+P 6 8086.307555 22097.631591 12401.286717 -152.890855
+V 6 -3768.649934 15385.646122 -25459.364509 .874995
+P 7 -15204.769788 -5043.578601 -20789.942261 59.336987
+V 7 1215.063189 -27414.257856 5502.985271 -.303702
+P 8 -19992.269697 -4057.864103 17024.508057 -19.196557
+V 8 19387.779202 -10078.076551 19806.441662 -.011743
+P 9 -6614.623575 18246.836533 -18457.611832 -25.078213
+V 9 -20798.731663 9036.180721 17168.717899 -.018496
+P 10 -13794.500188 7800.797893 21304.557435 57.613647
+V 10 -21873.180444 -15974.951335 -8005.954076 .007135
+P 11 5199.761028 -19431.650165 -17279.715279 186.984635
+V 11 20156.374650 -9637.962289 17117.922007 .037007
+P 13 -6368.054019 -22510.935419 12590.666260 -13.685442
+V 13 3016.944328 -15802.764178 -26539.975151 .009817
+P 14 14258.781755 4935.289902 -21802.674026 -31.496375
+V 14 -2466.404034 27651.252939 4615.861528 -.000836
+P 15 24362.104479 -1621.769658 10603.733050 378.577991
+V 15 -11917.472101 7043.528111 27629.424199 .053247
+P 16 18575.826644 -3190.201901 18805.271306 1.969302
+V 16 18778.297657 14537.324509 -16105.231702 -.001574
+P 17 -16213.019432 15605.484798 13719.139837 -90.543006
+V 17 -17196.981245 3227.082407 -25171.722209 .194784
+P 18 19440.168671 17907.547535 3823.932075 -119.432622
+V 18 -5299.255113 -845.338393 31140.497728 -.037309
+P 19 8089.978260 -24379.268531 6916.284570 -11.984386
+V 19 1536.720759 8924.615870 30056.230884 -.008658
+P 20 -5364.386838 -18771.689999 -18090.464281 -90.518166
+V 20 19789.909759 11447.807601 -17800.994446 .027000
+P 21 14549.221489 9487.633299 20200.231668 88.149446
+V 21 -23173.112727 10891.620976 11124.405363 .010255
+P 22 22884.784299 11543.479718 -6755.000708 16.306050
+V 22 5316.975937 7532.548164 30177.242838 .003719
+P 23 -448.578674 -26268.846209 3387.721658 211.559674
+V 23 3136.968458 -4210.633306 -31484.093343 .005324
+P 24 -24303.499659 2542.521396 -10253.975920 89.841379
+V 24 11453.254339 -7315.980202 -28065.131190 .028751
+P 25 24088.737748 -8756.211438 -6637.578861 84.423560
+V 25 -6095.306840 7244.505066 -29911.187744 .008985
+P 26 -7406.749871 23818.594692 7872.080722 317.704303
+V 26 -1503.039665 -10738.265517 30505.485216 .054592
+P 27 -13984.494562 -9441.471862 21138.573265 514.273350
+V 27 22081.876171 -12887.907394 8638.260138 .062608
+P 28 -23377.240557 -11621.490847 -5544.869634 46.492243
+V 28 -4489.262620 -6238.394231 30467.184392 .001630
+P 29 -9696.051039 21312.431517 12660.097782 176.393065
+V 29 -903.120683 -15751.291491 26513.896409 -.190793
+P 30 14569.444180 19180.235928 -11569.550035 442.402651
+V 30 -13528.922174 -5380.670012 -26423.629517 -.144803
+P 31 -14348.946261 -10929.639446 -19763.834338 -.587214
+V 31 2025.186294 -24471.707030 12576.497889 -.078789
+* 2005 1 21 12 45 .00000000
+P 1 13835.429421 -10044.203530 -20126.032498 384.080502
+V 1 -98.024804 25950.770265 -12919.744903 .020844
+P 2 -22798.360638 13491.508058 815.200832 -41.927730
+V 2 -2705.565059 -1949.802860 -31699.685553 .055166
+P 3 11982.721923 -15800.784387 17422.173041 78.463390
+V 3 3991.093297 22352.095072 17666.368125 .029261
+P 4 -24121.045919 4461.604250 -10600.597981 438.971409
+V 4 10666.730990 -8364.637116 -27457.249121 -.207158
+P 5 2631.148958 17613.768593 -19908.968981 73.465384
+V 5 -22967.350420 -9902.736004 -11721.212604 .024574
+P 6 7781.294491 23358.083313 10010.161569 -152.812025
+V 6 -3064.240279 12577.146623 -27601.523275 .874950
+P 7 -15153.182970 -7475.839512 -20110.924082 59.309920
+V 7 -52.216886 -26547.779332 9562.249487 -.303704
+P 8 -18185.434156 -5053.926106 18655.480125 -19.196496
+V 8 20679.622678 -12060.521950 16383.230080 -.011741
+P 9 -8387.717475 19062.684154 -16761.607586 -25.079698
+V 9 -18561.120175 9022.518259 20470.447699 -.018500
+P 10 -15760.534334 6444.829545 20402.787103 57.615344
+V 10 -21730.151090 -14127.795513 -12002.959850 .007132
+P 11 6919.758084 -20285.739415 -15594.092169 186.988127
+V 11 18031.992492 -9273.794285 20287.013192 .037006
+P 13 -6143.565020 -23800.710028 10100.689126 -13.684348
+V 13 2031.741132 -12807.124554 -28713.140953 .009819
+P 14 14106.752245 7397.930125 -21199.921215 -31.496390
+V 14 -922.912748 26980.997770 8759.114399 -.000838
+P 15 23180.918448 -903.685123 12992.534395 378.580409
+V 15 -14263.848578 8948.325371 25377.900285 .053256
+P 16 20225.308547 -1973.345870 17199.290061 1.969232
+V 16 17792.907006 12496.655031 -19532.489927 -.001580
+P 17 -17630.355712 15886.900119 11339.290075 -90.525310
+V 17 -14266.854220 2952.314477 -27638.338861 .194813
+P 18 18833.100449 17755.477601 6586.296020 -119.436073
+V 18 -8212.282007 -2466.534664 30158.654969 -.037315
+P 19 8235.145763 -23430.726488 9554.397027 -11.984976
+V 19 1756.117695 12125.951286 28484.965590 -.008665
+P 20 -3485.289263 -17744.561460 -19533.332387 -90.515845
+V 20 21920.055328 11306.052177 -14217.189527 .027000
+P 21 12442.739986 10542.930914 21026.156702 88.150357
+V 21 -23553.027274 12541.624901 7201.017533 .010248
+P 22 23253.351071 12118.252041 -3988.435858 16.306285
+V 22 2816.615520 5281.753713 31212.865827 .003709
+P 23 -182.044420 -26493.417156 532.969984 211.560520
+V 23 2854.897602 -769.105324 -31862.939312 .005309
+P 24 -23163.357438 1796.506296 -12683.585458 89.843632
+V 24 13814.910180 -9296.006488 -25846.687427 .028739
+P 25 23430.500371 -8007.456662 -9264.018947 84.425870
+V 25 -8471.726990 9429.491229 -28368.175065 .008995
+P 26 -7560.891201 22700.480044 10538.356948 317.709519
+V 26 -1991.016482 -14070.589932 28655.491369 .054586
+P 27 -11996.357428 -10672.792493 21741.562699 514.278993
+V 27 22021.387658 -14445.377092 4741.900171 .062603
+P 28 -23665.162144 -12086.814963 -2763.585221 46.492500
+V 28 -1858.801934 -4149.962629 31251.350127 .001633
+P 29 -9813.719108 19768.510157 14931.442072 176.376077
+V 29 -1770.134352 -18500.371067 23889.937809 -.190798
+P 30 13229.343267 18661.437536 -13843.269863 442.389514
+V 30 -16234.192891 -6075.715351 -24033.025664 -.144812
+P 31 -14218.690403 -13068.526500 -18468.597591 -.594044
+V 31 900.742083 -22983.138318 16168.444150 -.078808
+* 2005 1 21 13 0 .00000000
+P 1 13891.017102 -7649.645000 -21109.204947 384.080623
+V 1 1358.395154 27171.239475 -8896.197266 .020847
+P 2 -22907.959189 13238.776342 -2036.595163 -41.922650
+V 2 231.145382 -3723.065361 -31582.162405 .055156
+P 3 12397.095390 -13714.989476 18854.849931 78.466629
+V 3 5241.814616 23919.828518 14125.002609 .029249
+P 4 -23064.440594 3615.016912 -12975.170007 438.952509
+V 4 12743.570503 -10474.261290 -25235.987227 -.207160
+P 5 494.636400 16751.873644 -20792.476566 73.469006
+V 5 -24445.302782 -9198.324866 -7884.118426 .024575
+P 6 7524.250779 24354.225463 7447.104058 -152.733580
+V 6 -2709.091205 9525.853324 -29274.228979 .874905
+P 7 -15209.955876 -9806.802511 -19074.163807 59.282491
+V 7 -1179.297902 -25169.359523 13440.781102 -.303707
+P 8 -16285.397787 -6228.042521 19964.621025 -19.197447
+V 8 21456.755659 -14019.048436 12664.610064 -.011740
+P 9 -9949.254821 19857.593416 -14782.749286 -25.082293
+V 9 -16111.386793 8566.200530 23445.037482 -.018504
+P 10 -17690.177804 5261.757287 19150.501895 57.616685
+V 10 -21062.761428 -12148.634109 -15784.201280 .007129
+P 11 8440.667540 -21088.434984 -13638.474337 186.991466
+V 11 15746.000565 -8493.577173 23108.921906 .037004
+P 13 -5990.802764 -24808.240047 7437.158322 -13.683438
+V 13 1430.559757 -9545.858317 -30391.338473 .009819
+P 14 14089.318586 9775.466950 -20230.618222 -31.496486
+V 14 509.448919 25764.617655 12749.628797 -.000841
+P 15 21807.523942 -6.095254 15158.435577 378.585336
+V 15 -16180.342443 11018.672857 22682.657303 .053266
+P 16 21763.615759 -940.733553 15299.410729 1.969099
+V 16 16310.324854 10458.258931 -22627.015460 -.001586
+P 17 -18776.662832 16123.297456 8758.547410 -90.507341
+V 17 -11190.545234 2224.744945 -29628.274653 .194841
+P 18 17959.512942 17476.181060 9237.169141 -119.439634
+V 18 -11206.640396 -3667.989606 28666.383580 -.037321
+P 19 8417.668172 -22203.030102 12028.998396 -11.985758
+V 19 2361.239108 15113.103525 26427.973523 -.008672
+P 20 -1428.575218 -16748.748606 -20642.296292 -90.513167
+V 20 23723.923177 10759.873645 -10391.441719 .026999
+P 21 10324.715348 11740.590645 21492.288657 88.151525
+V 21 -23432.229422 14040.582084 3140.194539 .010240
+P 22 23382.603584 12502.743779 -1152.921743 16.306664
+V 22 10.959379 3315.444562 31707.570642 .003699
+P 23 77.802635 -26406.860270 -2331.029049 211.560885
+V 23 2988.852866 2686.577652 -31689.493304 .005294
+P 24 -21829.937015 864.398969 -14892.642745 89.847376
+V 24 15739.739583 -11437.093624 -23170.632856 .028728
+P 25 22575.555925 -7053.817915 -11728.758744 84.428811
+V 25 -10457.698622 11783.647580 -26322.443180 .009003
+P 26 -7776.880076 21294.279448 13014.493853 317.714601
+V 26 -2869.942037 -17123.550498 26286.676240 .054579
+P 27 -10034.170298 -12035.137107 21989.490478 514.284826
+V 27 21510.545988 -15786.284334 758.113227 .062599
+P 28 -23703.890673 -12378.018756 64.462172 46.492545
+V 28 1035.779688 -2378.862987 31505.436643 .001636
+P 29 -10024.275792 17993.870962 16948.337560 176.359049
+V 29 -2956.705699 -20866.357273 20867.872555 -.190803
+P 30 11651.659375 18099.483740 -15883.460162 442.376685
+V 30 -18793.921123 -6342.116549 -21241.482428 -.144820
+P 31 -14180.082800 -15053.587119 -16861.278924 -.601216
+V 31 .319077 -21061.156264 19501.683473 -.078826
+* 2005 1 21 13 15 .00000000
+P 1 14083.085010 -5170.118561 -21722.616552 384.082241
+V 1 2919.457248 27834.427855 -4715.037332 .020852
+P 2 -22764.952893 12812.033077 -4853.271640 -41.917685
+V 2 2894.991778 -5806.637635 -30921.055894 .055145
+P 3 12929.480688 -11509.972203 19957.391222 78.468432
+V 3 6600.090823 24996.252405 10341.031589 .029237
+P 4 -21840.385869 2572.846366 -15130.138338 438.934142
+V 4 14381.532369 -12696.681223 -22583.715734 -.207163
+P 5 -1756.388396 15966.492021 -21324.006480 73.471831
+V 5 -25503.136623 -8213.537220 -3910.314827 .024576
+P 6 7282.244845 25068.037271 4755.826959 -152.654719
+V 6 -2733.813073 6318.089651 -30446.335645 .874860
+P 7 -15358.906466 -11992.322826 -17699.104081 59.255484
+V 7 -2088.385523 -23324.762272 17068.822643 -.303710
+P 8 -14338.782809 -7573.788549 20928.122463 -19.198856
+V 8 21715.701902 -15858.758173 8713.247122 -.011739
+P 9 -11283.989831 20590.718250 -12552.934217 -25.083404
+V 9 -13535.864964 7647.750038 26038.679019 -.018508
+P 10 -19536.054976 4259.164949 17570.013370 57.618141
+V 10 -19870.116979 -10133.108005 -19286.200759 .007125
+P 11 9751.717599 -21801.920596 -11446.414377 186.994965
+V 11 13382.674019 -7291.840448 25533.456331 .037001
+P 13 -5873.430023 -25513.843615 4645.943915 -13.682520
+V 13 1249.898332 -6114.076843 -31546.639030 .009820
+P 14 14192.476222 12020.259513 -18911.648277 -31.496758
+V 14 1742.869313 24038.758148 16518.262876 -.000843
+P 15 20282.641129 1082.033510 17063.395108 378.589529
+V 15 -17624.605054 13167.404423 19587.074424 .053276
+P 16 23146.968478 -88.093069 13137.999724 1.968963
+V 16 14355.045769 8511.877169 -25336.010703 -.001592
+P 17 -19643.281877 16273.699692 6021.772433 -90.489747
+V 17 -8068.531984 1042.707569 -31099.463742 .194870
+P 18 16816.264047 17108.415180 11731.668811 -119.443309
+V 18 -14188.981935 -4430.857347 26688.490610 -.037324
+P 19 8670.507057 -20719.365877 14297.928600 -11.986445
+V 19 3310.461339 17800.669474 23921.109411 -.008680
+P 20 773.043535 -15818.276233 -21398.481974 -90.510469
+V 20 25129.104396 9864.394629 -6388.789165 .026996
+P 21 8239.247116 13063.136788 21589.324336 88.152453
+V 21 -22835.035741 15303.149893 -989.473353 .010231
+P 22 23248.500941 12725.411152 1702.495850 16.307050
+V 22 -3021.801945 1694.570506 31654.885146 .003688
+P 23 368.258432 -26012.408597 -5154.689544 211.561020
+V 23 3532.497693 6056.530342 -30968.053528 .005280
+P 24 -20344.615926 -264.320611 -16841.890117 89.849785
+V 24 17184.785755 -13649.652971 -20081.201630 .028716
+P 25 21561.202766 -5883.937398 -13987.937473 84.431022
+V 25 -12007.979835 14219.679525 -23806.325748 .009009
+P 26 -8087.614166 19629.453590 15255.713360 317.719758
+V 26 -4086.100760 -19803.221524 23443.339119 .054573
+P 27 -8136.805878 -13505.536624 21877.243293 514.290558
+V 27 20588.600546 -16834.576165 -3251.620122 .062594
+P 28 -23473.195702 -12526.086694 2891.443933 46.492745
+V 28 4114.309659 -976.429947 31228.164116 .001639
+P 29 -10353.427820 16026.015573 18677.305890 176.341823
+V 29 -4392.967814 -22784.539315 17500.861429 -.190809
+P 30 9853.368797 17532.044144 -17656.121434 442.363549
+V 30 -21122.829979 -6202.803609 -18096.281144 -.144828
+P 31 -14209.933155 -16848.139792 -14967.801882 -.608134
+V 31 -610.510366 -18759.781890 22518.157869 -.078845
+* 2005 1 21 13 30 .00000000
+P 1 14416.833175 -2656.696643 -21955.415187 384.084775
+V 1 4490.937864 27923.340233 -450.715767 .020856
+P 2 -22397.181650 12186.267175 -7586.531211 -41.912605
+V 2 5215.302511 -8133.649485 -29731.772221 .055134
+P 3 13585.850022 -9231.093081 20710.991151 78.469795
+V 3 7982.911619 25558.987580 6382.335887 .029225
+P 4 -20489.830151 1328.874937 -17028.585824 438.915373
+V 4 15551.225858 -14943.624430 -19543.227049 -.207165
+P 5 -4081.916934 15279.716637 -21494.210502 73.472961
+V 5 -26094.442505 -7019.686155 134.195646 .024576
+P 6 7020.332199 25489.541769 1982.473626 -152.575861
+V 6 -3152.347810 3045.734753 -31095.082823 .874815
+P 7 -15577.279071 -13993.117435 -16011.219716 59.228439
+V 7 -2711.705532 -21075.868106 20382.301650 -.303712
+P 8 -12391.673178 -9076.265663 21528.049490 -19.201009
+V 8 21471.875553 -17486.877111 4596.818516 -.011737
+P 9 -12384.637963 21220.259019 -10108.686361 -25.085334
+V 9 -10924.599851 6265.607764 28202.545603 -.018512
+P 10 -21251.564197 3436.041996 15689.114225 57.619897
+V 10 -18170.251963 -8175.939564 -22450.785612 .007120
+P 11 10849.787275 -22388.645400 -9055.682671 186.998366
+V 11 11027.201382 -5679.971160 27517.233987 .036997
+P 13 -5752.639917 -25906.677275 1775.027173 -13.681529
+V 13 1507.962793 -2612.465757 -32160.112801 .009819
+P 14 14394.677952 14088.772763 -17265.947074 -31.497045
+V 14 2698.114284 21857.721215 19999.856738 -.000843
+P 15 18650.028855 2363.601891 18673.619812 378.595503
+V 15 -18571.686507 15301.535663 16142.075773 .053286
+P 16 24334.585762 596.699116 10751.894941 1.968891
+V 16 11969.032161 6741.685588 -27613.046418 -.001598
+P 17 -20230.679634 16297.884394 3177.194665 -90.472239
+V 17 -5002.441090 -575.337824 -32019.310608 .194898
+P 18 15408.699232 16691.832480 14027.501195 -119.446698
+V 18 -17064.615843 -4754.133794 24257.627226 -.037326
+P 19 9022.189713 -19010.160262 16322.593010 -11.987276
+V 19 4547.203583 20113.651609 21007.633255 -.008688
+P 20 3080.908083 -14981.600977 -21789.007926 -90.507954
+V 20 26076.271096 8687.810004 -2277.179562 .026991
+P 21 6227.483617 14485.710503 21314.240582 88.153423
+V 21 -21802.520126 16251.163632 -5117.208392 .010222
+P 22 22834.489864 12819.506492 4528.618806 16.307539
+V 22 -6193.997386 464.443987 31057.876685 .003676
+P 23 725.224413 -25322.155764 -7889.247334 211.561266
+V 23 4461.295303 9244.354718 -29712.539437 .005269
+P 24 -18751.834015 -1591.827418 -18496.420093 89.852132
+V 24 18125.188217 -15838.439368 -16630.709465 .028704
+P 25 20428.052513 -4494.625322 -16001.025657 84.433193
+V 25 -13094.448793 16643.963050 -20861.447736 .009015
+P 26 -8520.419020 17743.312190 17221.673220 317.724949
+V 26 -5569.843596 -22029.712737 20179.557351 .054567
+P 27 -6338.983170 -15054.554581 21405.300793 514.296484
+V 27 19308.351001 -17523.033283 -7224.598263 .062589
+P 28 -22960.421032 -12565.913322 5669.796508 46.492916
+V 28 7289.154450 22.014066 30426.664790 .001641
+P 29 -10820.095397 13907.571995 20089.884226 176.324946
+V 29 -5998.485066 -24206.022780 13847.033538 -.190814
+P 30 7858.837546 16994.002409 -19131.753565 442.350540
+V 30 -23142.473229 -5696.530395 -14649.996280 -.144837
+P 31 -14279.655003 -18420.967898 -12819.135852 -.615317
+V 31 -877.830662 -16146.101493 25163.968385 -.078864
+* 2005 1 21 13 45 .00000000
+P 1 14888.907356 -161.060785 -21803.530989 384.086934
+V 1 5977.630053 27441.476842 3820.747777 .020860
+P 2 -21838.200420 11342.997799 -10189.863249 -41.907602
+V 2 7136.103820 -10626.336386 -28038.509238 .055122
+P 3 14364.591134 -6924.905644 21103.087995 78.472469
+V 3 9305.332504 25603.960514 2319.560715 .029214
+P 4 -19055.592948 -114.990803 -18637.749565 438.896405
+V 4 16240.585708 -17123.387731 -16163.944786 -.207167
+P 5 -6438.444994 14706.856669 -21299.752762 73.474604
+V 5 -26188.203251 -5695.718929 4181.973533 .024578
+P 6 6703.094085 25617.154363 -825.163443 -152.497385
+V 6 -3961.224839 -197.174504 -31206.666783 .874770
+P 7 -15836.776535 -15776.099960 -14041.450294 59.201118
+V 7 -2994.308092 -18498.008898 23324.033437 -.303715
+P 8 -10487.931898 -10712.463272 21752.741904 -19.202615
+V 8 20759.069171 -18816.533551 386.885733 -.011734
+P 9 -13252.061630 21705.106912 -7490.659021 -25.087538
+V 9 -8368.020986 4436.727100 29893.883938 -.018516
+P 10 -22792.554734 2783.032366 13540.561410 57.620966
+V 10 -15999.421952 -6367.267148 -25225.944172 .007115
+P 11 11739.338783 -22812.835926 -6507.614674 187.001601
+V 11 8762.358400 -3685.985158 29024.547069 .036993
+P 13 -5588.839132 -25985.070120 -1126.322385 -13.680737
+V 13 2203.968310 856.458854 -32222.092708 .009819
+P 14 14667.753575 15943.077611 -15322.092351 -31.497205
+V 14 3307.739720 19291.382060 23134.374126 -.000842
+P 15 16954.867325 3833.014483 19960.213317 378.601305
+V 15 -19015.065091 17325.866856 12405.422930 .053295
+P 16 25290.198132 1132.968675 8181.796383 1.968769
+V 16 9210.285576 5223.037034 -29418.850370 -.001606
+P 17 -20548.364255 16158.187668 275.508424 -90.454945
+V 17 -2090.864372 -2591.124656 -32365.804306 .194927
+P 18 13750.617159 16265.372802 16085.646670 -119.449564
+V 18 -19740.957485 -4654.595419 21413.815341 -.037329
+P 19 9495.561557 -17112.018182 18068.595697 -11.988102
+V 19 6002.204593 21990.159329 17737.455664 -.008696
+P 20 5451.695906 -14260.554948 -21807.197562 -90.505364
+V 20 26521.449123 7308.643916 1873.634377 .026984
+P 21 4326.175430 15976.864052 20670.438745 88.154119
+V 21 -20391.037105 16816.885772 -9171.226375 .010213
+P 22 22132.210355 12821.594940 7276.947384 16.307842
+V 22 -9411.800532 -346.835579 29928.950064 .003663
+P 23 1181.611427 -24356.578247 -10487.611632 211.561462
+V 23 5733.557914 12160.742420 -27946.145854 .005260
+P 24 -17097.412562 -3111.611397 -19826.367025 89.853881
+V 24 18555.218811 -17906.347508 -12878.726857 .028692
+P 25 19218.429081 -2891.264605 -17731.637239 84.433745
+V 25 -13707.316652 18960.263786 -17538.142512 .009021
+P 26 -9095.748808 15679.597380 18877.289573 317.729821
+V 26 -7238.693575 -23740.457300 16557.864764 .054560
+P 27 -4670.123650 -16647.199226 20579.815957 514.301793
+V 27 17734.391413 -17795.827280 -11097.565726 .062584
+P 28 -22161.015452 -12534.808306 8352.966920 46.493167
+V 28 10468.375882 598.252620 29116.211142 .001643
+P 29 -11435.603081 11684.795693 21163.027325 176.307826
+V 29 -7685.457173 -25099.300822 9968.482691 -.190820
+P 30 5699.077829 16516.101207 -20285.796419 442.337358
+V 30 -24784.045845 -4876.251225 -10959.694320 -.144845
+P 31 -14356.424058 -19747.397602 -10450.874917 -.622740
+V 31 -761.740061 -13298.006679 27390.416730 -.078882
+* 2005 1 21 14 0 .00000000
+P 1 15487.489838 2266.341389 -21269.750588 384.091003
+V 1 7287.321294 26412.659140 8023.256002 .020864
+P 2 -21125.869869 10271.119739 -12619.305905 -41.902653
+V 2 8617.935303 -13199.093080 -25873.588224 .055109
+P 3 15256.492334 -4637.504244 21127.550422 78.475099
+V 3 10484.006851 25145.383654 -1775.273434 .029203
+P 4 -17580.781626 -1748.565349 -19929.588916 438.877825
+V 4 16455.297553 -19144.279604 -12501.265607 -.207170
+P 5 -8780.418724 14255.886572 -20743.393775 73.478313
+V 5 -25770.050102 -4325.152194 8165.154473 .024579
+P 6 6296.212475 25457.718766 -3618.468901 -152.418385
+V 6 -5139.503063 -3317.970672 -30776.662474 .874726
+P 7 -16104.818350 -17315.451925 -11825.534573 59.174150
+V 7 -2896.269584 -15676.800076 25844.697166 -.303718
+P 8 -8667.598007 -12451.954894 21597.107783 -19.203688
+V 8 19628.196671 -19770.384512 -3842.372785 -.011732
+P 9 -13895.149871 22006.510942 -4743.039098 -25.089431
+V 9 -5953.488764 2196.473654 31077.101956 -.018519
+P 10 -24118.909527 2283.003928 11161.487886 57.622099
+V 10 -13410.726723 -4789.206421 -27566.555074 .007110
+P 11 12432.053401 -23041.957163 -3846.386319 187.004918
+V 11 6665.266854 -1353.627690 30028.090281 .036989
+P 13 -5343.360905 -25756.517590 -4008.386650 -13.679786
+V 13 3318.177489 4192.145660 -31732.282211 .009818
+P 14 14978.098233 17552.136070 -13113.795048 -31.497284
+V 14 3518.830651 16422.510351 25867.944511 -.000841
+P 15 15242.079570 5476.149293 20899.753179 378.606287
+V 15 -18966.970255 19146.752472 8440.836645 .053304
+P 16 25983.403692 1546.314766 5471.590396 1.968808
+V 16 6150.808085 4019.535567 -30721.991873 -.001614
+P 17 -20614.424292 15821.237943 -2631.120661 -90.437471
+V 17 574.792491 -4947.817020 -32128.378670 .194956
+P 18 11863.926796 15865.690345 17870.998182 -119.452985
+V 18 -22130.915451 -4166.085213 18203.875607 -.037336
+P 19 10106.765459 -15066.440243 19506.300575 -11.988761
+V 19 7596.272432 23383.611437 14166.292737 -.008704
+P 20 7838.883937 -13669.554406 -21452.690939 -90.502831
+V 20 26437.722413 5812.621378 5993.225212 .026976
+P 21 2566.390081 17499.633385 19667.778704 88.155003
+V 21 -18670.123498 16945.919728 -13080.006679 .010205
+P 22 21141.891847 12769.960126 9900.505508 16.308073
+V 22 -12578.759710 -729.267587 28289.487312 .003651
+P 23 1765.868914 -23143.746110 -12905.177973 211.561853
+V 23 7292.170784 14726.772783 -25700.831287 .005252
+P 24 -15426.814433 -4808.487129 -20807.515397 89.857192
+V 24 18488.548812 -19758.358389 -8891.055514 .028681
+P 25 17974.692154 -1087.870144 -19148.277974 84.433058
+V 25 -13855.588106 21073.654113 -13894.624367 .009027
+P 26 -9826.193986 13486.806258 20193.429416 317.734808
+V 26 -9001.031389 -24892.696474 12647.692661 .054553
+P 27 -3153.384815 -18244.052617 19412.632248 514.307581
+V 27 15940.930880 -17610.772434 -14807.452616 .062579
+P 28 -21078.773337 -12470.931068 10896.130010 46.493192
+V 28 13559.004126 751.644509 27319.861166 .001644
+P 29 -12203.169923 9405.958132 21879.419004 176.291030
+V 29 -9362.144902 -25451.179618 5930.260046 -.190825
+P 30 3410.766647 16123.756022 -21098.996832 442.324197
+V 30 -25990.845302 -3807.003399 -7086.100041 -.144853
+P 31 -14404.528146 -20810.151013 -7902.723047 -.629552
+V 31 -238.234208 -10301.471940 29155.041254 -.078901
+* 2005 1 21 14 15 .00000000
+P 1 16192.743860 4578.086129 -20363.656920 384.090978
+V 1 8334.645712 24880.029125 12082.123061 .020867
+P 2 -20300.813259 8967.462131 -14834.143357 -41.897691
+V 2 9639.001639 -15761.768401 -23276.687370 .055096
+P 3 16245.042203 -2412.906719 20784.738937 78.477467
+V 3 11440.622187 24215.005385 -5830.151643 .029192
+P 4 -16107.199028 -3553.542529 -20881.289367 438.859462
+V 4 16218.572805 -20918.111888 -8615.792264 -.207172
+P 5 -11061.767490 13927.180266 -19833.981968 73.481425
+V 5 -24842.927102 -2992.817944 12016.491728 .024579
+P 6 5768.018615 25026.224865 -6348.861327 -152.339328
+V 6 -6649.417020 -6228.872928 -29810.275792 .874681
+P 7 -16345.966813 -18593.392167 -9403.267797 59.147112
+V 7 -2394.214663 -12704.627563 27903.572114 -.303721
+P 8 -6965.429224 -14257.907682 21062.797488 -19.204446
+V 8 18145.321419 -20283.926634 -8015.545953 -.011729
+P 9 -14330.386320 22089.703060 -1912.855063 -25.091262
+V 9 -3761.844302 -402.210051 31724.814116 -.018523
+P 10 -25195.976194 1911.912592 8592.754464 57.623887
+V 10 -10472.126368 -3512.759494 -29434.988226 .007104
+P 11 12946.184475 -23048.063516 -1118.230924 187.008306
+V 11 4804.372437 1259.166949 30509.529950 .036985
+P 13 -4980.141559 -25237.336785 -6821.841326 -13.678617
+V 13 4812.668978 7299.711165 -30699.708839 .009816
+P 14 15288.081884 18892.822456 -10679.301867 -31.497040
+V 14 3295.160290 13343.603258 28153.786956 -.000841
+P 15 13554.657026 7270.668507 21474.781443 378.610410
+V 15 -18457.964815 20675.888810 4316.953298 .053313
+P 16 26390.815944 1867.437235 2667.617465 1.968620
+V 16 2874.025638 3180.554413 -31499.449490 -.001623
+P 17 -20454.703465 15259.537864 -5490.112893 -90.419994
+V 17 2914.218034 -7572.138118 -31308.460974 .194985
+P 18 9778.006936 15525.673598 19352.943794 -119.456486
+V 18 -24156.098541 -3338.167906 14680.759680 -.037341
+P 19 10864.485950 -12918.367116 20611.312945 -11.989413
+V 19 9243.402601 24264.363155 10354.744362 -.008714
+P 20 10194.337000 -13215.103020 -20731.454145 -90.500375
+V 20 25816.306136 4289.270410 10011.632472 .026968
+P 21 972.441313 19012.852948 18322.495368 88.156082
+V 21 -16719.841735 16599.658189 -16773.629733 .010197
+P 22 19872.427626 12702.962057 12354.627125 16.308495
+V 22 -15599.394085 -691.125355 26169.345606 .003639
+P 23 2500.696827 -21718.255411 -15100.588270 211.562312
+V 23 9066.914189 16876.780540 -23016.657506 .005245
+P 24 -13783.416058 -6658.959184 -21421.807709 89.860083
+V 24 17957.716622 -21305.468436 -4738.523910 .028669
+P 25 16737.554840 893.206700 -20225.008547 84.434007
+V 25 -13566.725904 22894.456410 -9995.926036 .009034
+P 26 -10715.839686 11216.330475 21147.454585 317.739685
+V 26 -10760.169672 -25465.046233 8523.641032 .054547
+P 27 -1804.907273 -19802.585617 17921.230565 514.313151
+V 27 14009.236531 -16941.191231 -18292.196807 .062575
+P 28 -19725.779547 -12411.711452 13256.870433 46.493684
+V 28 16470.317312 498.965690 25068.031806 .001645
+P 29 -13117.713251 7119.681731 22227.693247 176.273900
+V 29 -10936.393893 -25267.043141 1799.375058 -.190831
+P 30 1035.061577 15836.079006 -21557.699283 442.311155
+V 30 -26720.305506 -2563.370302 -3092.735055 -.144861
+P 31 -14386.861713 -21599.936523 -5217.887330 -.636644
+V 31 699.479272 -7247.452089 30422.618948 -.078919
+* 2005 1 21 14 30 .00000000
+P 1 16977.592847 6731.437830 -19101.436575 384.093527
+V 1 9044.645658 22904.267528 15925.523178 .020871
+P 2 -19404.800352 7437.044649 -16797.530654 -41.892696
+V 2 10195.641596 -18223.071789 -20294.003311 .055084
+P 3 17307.028911 -291.535861 20081.444672 78.480976
+V 3 12105.099376 22860.674278 -9774.404268 .029181
+P 4 -14673.800893 -5503.965572 -21475.692519 438.840600
+V 4 15570.268416 -22363.615587 -4572.458753 -.207174
+P 5 -13237.468594 13713.542455 -18586.350338 73.484073
+V 5 -23427.131442 -1781.533889 15670.420187 .024579
+P 6 5090.952039 24345.215869 -8968.664410 -152.260370
+V 6 -8437.716124 -8850.350620 -28322.409039 .874636
+P 7 -16523.457904 -19600.620708 -6817.703611 59.120156
+V 7 -1482.117803 -9676.954191 29469.032831 -.303725
+P 8 -5409.651950 -16088.370007 20158.248892 -19.204726
+V 8 16389.033853 -20308.340107 -12057.462053 -.011727
+P 9 -14581.112147 21925.414423 950.805563 -25.093913
+V 9 -1864.105588 -3290.387602 31818.798828 -.018526
+P 10 -25995.795177 1639.925021 5878.253300 57.624358
+V 10 -7263.933104 -2595.176898 -30801.578249 .007098
+P 11 13305.653100 -22808.984360 1629.387318 187.011720
+V 11 3236.768379 4082.398797 30459.896966 .036980
+P 13 -4467.296155 -24451.997875 -9518.587359 -13.677617
+V 13 6632.802890 10093.412066 -29142.527617 .009811
+P 14 15557.623787 19950.642264 -8060.720611 -31.496891
+V 14 2618.686177 10153.356474 29952.999843 -.000844
+P 15 11932.056324 9186.665096 21674.194299 378.615417
+V 15 -17535.782336 21833.963038 106.128482 .053322
+P 16 26496.958890 2130.764088 -182.105382 1.968508
+V 16 -528.233987 2739.294242 -31737.049913 -.001632
+P 17 -20101.642509 14452.817404 -8249.565410 -90.402363
+V 17 4861.651695 -10377.307938 -29919.665665 .195013
+P 18 7528.789470 15273.113148 20505.884931 -119.460093
+V 18 -25749.728737 -2234.197471 10902.789780 -.037345
+P 19 11769.486315 -10714.605550 21364.875144 -11.990249
+V 19 10854.148087 24620.702294 6367.309401 -.008724
+P 20 12469.962816 -12895.608388 -19655.685953 -90.497570
+V 20 24666.948035 2828.380341 13860.501246 .026957
+P 21 -438.920733 20472.665429 16656.992800 88.156974
+V 21 -14627.655448 15757.148330 -20185.153860 .010188
+P 22 18341.127792 12657.411058 14597.691651 16.308894
+V 22 -18382.718752 -258.427513 23606.231213 .003625
+P 23 3401.989795 -20119.925935 -17036.425465 211.563117
+V 23 10977.284228 18560.687307 -19940.999858 .005236
+P 24 -12206.863211 -8631.933832 -21657.736712 89.863155
+V 24 17012.801879 -22468.428179 -495.626397 .028657
+P 25 15544.467669 3021.922920 -20942.002276 84.434296
+V 25 -12885.514111 24342.031530 -5912.621944 .009041
+P 26 -11760.000470 8920.498586 21723.605263 317.744750
+V 26 -12418.606992 -25458.086288 4263.653988 .054540
+P 27 -633.306750 -21278.620422 16128.598228 514.318637
+V 27 12024.759001 -15777.314792 -21491.654822 .062570
+P 28 -18122.062906 -12392.312332 15395.823381 46.493885
+V 28 19117.021020 -126.360512 22398.009212 .001643
+P 29 -14165.969461 4873.280561 22202.566102 176.256738
+V 29 -12319.135274 -24570.463338 -2356.186924 -.190837
+P 30 -1383.744789 15665.146844 -21654.057915 442.298449
+V 30 -26945.538606 -1226.610973 954.968143 -.144869
+P 31 -14266.509988 -22115.746631 -2442.383808 -.643742
+V 31 2040.315050 -4228.503905 31166.099790 -.078938
+* 2005 1 21 14 45 .00000000
+P 1 17808.801391 8689.820683 -17505.559943 384.094601
+V 1 9355.891790 20561.111159 19485.862545 .020874
+P 2 -18479.119675 5693.026851 -18477.040742 -41.887581
+V 2 10302.120879 -20493.965301 -16977.364164 .055069
+P 3 18413.411954 1691.141670 19030.710558 78.484969
+V 3 12418.427723 21144.290175 -13539.976509 .029169
+P 4 -13315.261366 -7566.996392 -21701.642594 438.821986
+V 4 14565.369860 -23409.653483 -439.550988 -.207177
+P 5 -15265.087012 13600.538571 -17021.116794 73.486512
+V 5 -21559.717633 -768.817566 19064.130526 .024578
+P 6 4242.869303 23443.905012 -11431.975133 -152.181748
+V 6 -10437.655455 -11114.191075 -26337.527055 .874590
+P 7 -16600.771576 -20336.428197 -4114.321959 59.092756
+V 7 -171.379285 -6688.608332 30518.812386 -.303728
+P 8 -4020.973024 -17897.788776 18898.597516 -19.205061
+V 8 14447.275831 -19812.728888 -15894.712322 -.011725
+P 9 -14676.503870 21491.216199 3797.659068 -25.095577
+V 9 -318.460784 -6385.437914 31350.818067 -.018528
+P 10 -26498.082167 1432.755069 3064.174483 57.625022
+V 10 -3875.876725 -2077.858619 -31644.973078 .007091
+P 11 13538.922790 -22309.295314 4348.626775 187.015105
+V 11 2005.978080 7036.624585 29879.790728 .036974
+P 13 -3778.533018 -23432.158247 -12052.558135 -13.676613
+V 13 8709.323937 12499.758302 -27087.680634 .009805
+P 14 15745.869610 20720.122344 -5303.280985 -31.496998
+V 14 1490.327563 6952.912820 31235.203541 -.000848
+P 15 10408.733289 11187.625658 21493.517885 378.620059
+V 15 -16263.448211 22554.005458 -4116.892636 .053331
+P 16 26294.874195 2372.931524 -3028.695456 1.968387
+V 16 -3959.098144 2711.459474 -31429.767261 -.001642
+P 17 -19592.837428 13389.091025 -10859.343545 -90.384953
+V 17 6368.699339 -13266.656208 -27987.608588 .195042
+P 18 5157.597742 15129.567561 21309.682167 -119.463141
+V 18 -26859.154370 -928.860082 6932.809184 -.037349
+P 19 12814.455689 -8502.194429 21754.171210 -11.991063
+V 19 12339.117196 24459.181734 2271.350800 -.008734
+P 20 14619.372174 -12701.518865 -18243.622698 -90.495182
+V 20 23017.641088 1516.447419 17474.202864 .026945
+P 21 -1659.021351 21834.169343 14699.513907 88.157833
+V 21 -12484.953403 14416.275315 -23251.997387 .010179
+P 22 16573.163073 12667.019817 16591.798192 16.309068
+V 22 -20845.568717 526.261311 20644.967835 .003612
+P 23 4478.053294 -18392.316403 -18679.832069 211.563999
+V 23 12935.695938 19745.714589 -16527.649144 .005224
+P 24 -10731.580336 -10689.752246 -21510.609303 89.865050
+V 24 15719.349866 -23181.120547 3760.961671 .028645
+P 25 14428.139771 5261.515895 -21285.979441 84.436106
+V 25 -11872.155642 25348.232435 -1719.369536 .009047
+P 26 -12945.338059 6650.609691 21913.217789 317.749603
+V 26 -13882.249608 -24893.968793 -52.825870 .054534
+P 27 360.563682 -22627.895402 14063.011972 514.324033
+V 27 10074.016239 -14127.144208 -24348.601177 .062565
+P 28 -16294.971831 -12444.187874 17277.268611 46.494005
+V 28 21422.226491 -1075.612443 19353.401972 .001641
+P 29 -15326.924426 2711.164700 21804.880103 176.239066
+V 29 -13427.746867 -23402.181204 -6468.425230 -.190843
+P 30 -3799.685079 15615.538430 -21386.167807 442.285560
+V 30 -26656.334433 118.448802 4990.574466 -.144878
+P 31 -14008.361561 -22364.843912 375.736340 -.650752
+V 31 3755.351695 -1335.256360 31367.435803 -.078956
+* 2005 1 21 15 0 .00000000
+P 1 18648.312210 10424.039393 -15604.342607 384.097542
+V 1 9223.032184 17938.280195 22701.041506 .020878
+P 2 -17562.998835 3756.357373 -19845.130245 -41.882664
+V 2 9989.778138 -22490.922350 -13383.313886 .055055
+P 3 19530.428566 3505.767953 17651.542315 78.487316
+V 3 12335.028427 19139.237966 -17062.603590 .029157
+P 4 -12060.702216 -9703.960165 -21554.240333 438.803092
+V 4 13271.879480 -23998.104475 3712.370349 -.207179
+P 5 -17106.233150 13567.113902 -15164.387881 73.489672
+V 5 -19293.275010 -23.765714 22138.639567 .024578
+P 6 3208.146799 22357.034508 -13695.510658 -152.102925
+V 6 -12571.566583 -12966.138251 -23889.317267 .874545
+P 7 -16543.177143 -20808.476333 -1340.183084 59.065252
+V 7 1509.796827 -3830.207468 31040.051453 -.303731
+P 8 -2811.897520 -19638.696839 17305.448762 -19.206642
+V 8 12413.738828 -18785.643446 -19457.184385 -.011724
+P 9 -14650.299567 20772.621941 6577.154084 -25.098418
+V 9 832.293434 -9594.032195 30323.252885 -.018531
+P 10 -26690.931307 1253.162288 198.246707 57.626248
+V 10 -403.853203 -1984.859932 -31952.361599 .007085
+P 11 13677.698858 -21541.034976 6992.131374 187.018507
+V 11 1140.290982 10035.972387 28779.386762 .036967
+P 13 -2894.353296 -22215.436997 -14380.489878 -13.675897
+V 13 10961.020265 14460.152727 -24570.420752 .009800
+P 14 15812.905022 21204.858959 -2454.544540 -31.497259
+V 14 -70.002978 3842.035825 31979.026349 -.000851
+P 15 9012.876068 13231.675864 20935.059407 378.625167
+V 15 -14716.746603 22784.293077 -8276.411232 .053340
+P 16 25786.415785 2631.174809 -5823.235594 1.968253
+V 16 -7320.216532 3094.608042 -30581.873712 -.001652
+P 17 -18969.379259 12065.365845 -13272.138216 -90.367689
+V 17 7406.350977 -16137.731908 -25549.338938 .195071
+P 18 2709.780296 15109.471000 21750.020693 -119.466754
+V 18 -27447.869112 494.725470 2837.248268 -.037353
+P 19 13984.171915 -6326.771221 21772.536628 -11.991794
+V 19 13612.471357 23804.278614 -1863.976723 -.008745
+P 20 16599.482446 -12615.775896 -16519.243671 -90.492708
+V 20 20913.655108 433.240071 20790.922437 .026932
+P 21 -2687.449528 23053.139617 12483.686963 88.158575
+V 21 -10383.359737 12594.191283 -25917.286884 .010171
+P 22 14600.723043 12760.991508 18303.369840 16.309364
+V 22 -22915.602961 1605.643988 17336.677433 .003600
+P 23 5729.120502 -16581.115552 -20003.043792 211.564711
+V 23 14850.940196 20417.422021 -12835.826427 .005208
+P 24 -9385.497498 -12789.505574 -20982.672669 89.865762
+V 24 14155.627432 -23393.421458 7953.953404 .028634
+P 25 13415.263020 7569.764818 -21250.503708 84.435651
+V 25 -10599.680472 25860.354788 2506.688627 .009054
+P 26 -14250.349971 4455.044670 21714.778068 317.754210
+V 26 -15064.399883 -23815.097791 -4346.653977 .054527
+P 27 1183.563454 -23807.680711 11757.727294 514.329539
+V 27 8241.328056 -12016.707424 -26809.808161 .062561
+P 28 -14278.294534 -12593.787526 18869.672855 46.494182
+V 28 23320.133926 -2286.650440 15983.540997 .001639
+P 29 -16572.536046 673.363043 21041.563339 176.221994
+V 29 -14189.166373 -21818.501780 -10470.259881 -.190848
+P 30 -6166.641561 15684.159274 -20758.113550 442.272457
+V 30 -25859.582855 1386.661712 8947.575043 -.144886
+P 31 -13580.684111 -22362.427716 3187.228997 -.658125
+V 31 5798.611813 1347.129791 31018.265081 -.078975
+* 2005 1 21 15 15 .00000000
+P 1 19454.782900 11913.201808 -13431.399151 384.097978
+V 1 8618.668330 15131.950812 25515.578651 .020882
+P 2 -16692.129024 1655.139940 -20879.522152 -41.877742
+V 2 9305.573146 -24138.944983 -9572.183720 .055040
+P 3 20620.888341 5129.996382 15968.518671 78.489412
+V 3 11824.561932 16927.417677 -20282.872357 .029145
+P 4 -10932.636464 -11871.630249 -21034.995933 438.784247
+V 4 11768.176274 -24086.301414 7811.634255 -.207181
+P 5 -18727.883497 13586.481649 -13047.366968 73.491947
+V 5 -16694.110668 395.781344 24839.840003 .024577
+P 6 1978.529732 21123.520835 -15719.415311 -152.023961
+V 6 -14753.909069 -14367.984275 -21020.143488 .874500
+P 7 -16319.193273 -21032.267637 1456.914130 59.037623
+V 7 3517.667203 -1184.852803 31029.157264 -.303734
+P 8 -1786.384263 -21263.501896 15406.513402 -19.208760
+V 8 10383.987930 -17235.802733 -22679.559850 -.011721
+P 9 -14539.320607 19763.895359 9239.446360 -25.100324
+V 9 1562.705923 -12815.678131 28749.463794 -.018532
+P 10 -26571.215911 1062.555967 -2671.037265 57.627852
+V 10 3053.526101 -2322.046242 -31719.584703 .007078
+P 11 13755.505663 -20504.137299 9513.885370 187.021582
+V 11 651.722177 12991.424107 27178.246564 .036962
+P 13 -1802.989943 -20843.976806 -16462.643399 -13.674939
+V 13 13297.836333 15932.961668 -21633.708896 .009794
+P 14 15721.438576 21417.223675 436.421805 -31.497617
+V 14 -2024.111060 915.357326 32172.427437 -.000853
+P 15 7765.392238 15273.061809 20007.925501 378.629954
+V 15 -12981.127988 22490.666998 -12297.283173 .053349
+P 16 24982.218949 2941.692179 -8517.611952 1.967886
+V 16 -10515.404234 3868.205202 -29206.934458 -.001661
+P 17 -18274.052474 10487.965442 -15444.455658 -90.350602
+V 17 7966.089956 -18886.697807 -22652.409058 .195100
+P 18 233.188197 15219.518058 21818.688174 -119.470108
+V 18 -27496.957114 1948.250891 -1314.887745 -.037357
+P 19 15255.974423 -4230.998974 21419.570350 -11.992792
+V 19 14595.295581 22697.393919 -5968.824043 -.008755
+P 20 18372.004416 -12614.565221 -14511.880710 -90.490190
+V 20 18415.919483 -351.387164 23753.697547 .026919
+P 21 -3531.910267 24087.751157 10047.953896 88.159468
+V 21 -8410.985022 10326.948700 -28131.128988 .010163
+P 22 12461.922321 12962.795960 19703.680950 16.309733
+V 22 -24533.884709 2910.041797 13737.890682 .003587
+P 23 7147.186654 -14732.471340 -20983.831378 211.565122
+V 23 16631.759257 20580.041581 -8929.131761 .005192
+P 24 -8189.050161 -14884.578976 -20083.097020 89.868380
+V 24 12409.326084 -23073.406935 12007.059663 .028623
+P 25 12525.496303 9900.489459 -20836.130373 84.436077
+V 25 -9150.778818 25843.438824 6687.611137 .009061
+P 26 -15646.199806 2377.534583 21133.817832 317.758967
+V 26 -15889.333128 -22281.977213 -8540.669988 .054521
+P 27 1849.917755 -24778.387796 9250.567596 514.334948
+V 27 6605.510093 -9489.659682 -28827.188942 .062556
+P 28 -12111.154205 -12861.450877 20146.175873 46.494226
+V 28 24758.336396 -3686.266418 12342.827483 .001637
+P 29 -17868.722060 -1205.785200 19925.505431 176.204654
+V 29 -14542.657595 -19889.161725 -14296.441958 -.190853
+P 30 -8439.881851 15860.360097 -19779.933401 442.259093
+V 30 -24579.100763 2495.833315 12760.334373 -.144894
+P 31 -12956.596589 -22130.987412 5942.552865 -.665388
+V 31 8108.579786 3742.361391 30120.411452 -.078993
+* 2005 1 21 15 30 .00000000
+P 1 20185.258454 13145.309309 -11025.002903 384.099245
+V 1 7534.487393 12242.926114 27881.573871 .020886
+P 2 -15897.344697 -576.257673 -21563.504809 -41.873049
+V 2 8310.102461 -25374.244287 -5607.162436 .055027
+P 3 21645.603187 6549.113469 14011.311688 78.492954
+V 3 10873.120072 14595.996556 -23147.155200 .029133
+P 4 -9946.170159 -14023.708373 -20151.873793 438.765325
+V 4 10139.936309 -23648.916075 11786.696172 -.207183
+P 5 -20103.512961 13627.249059 -10705.869606 73.496134
+V 5 -13839.892892 445.676675 27119.509877 .024575
+P 6 553.689367 19784.940104 -17468.009359 -151.945357
+V 6 -16894.679230 -15299.017851 -17780.300367 .874455
+P 7 -15901.908113 -21030.334349 4229.253615 59.010242
+V 7 5794.778372 1174.790056 30491.500371 -.303737
+P 8 -939.856205 -22726.302451 13235.111671 -19.210186
+V 8 8451.481405 -15191.968712 -25502.728671 -.011719
+P 9 -14381.846226 18468.520309 11736.395120 -25.102947
+V 9 1865.976647 -15946.674476 26653.960806 -.018533
+P 10 -26144.674186 822.645106 -5495.200060 57.627659
+V 10 6398.463059 -3076.919179 -30951.134285 .007072
+P 11 13806.200018 -19206.561581 11870.042247 187.024715
+V 11 535.639026 15814.229344 25104.934271 .036958
+P 13 -501.050486 -19362.847963 -18263.466319 -13.674126
+V 13 15624.322458 16894.942129 -18327.495489 .009789
+P 14 15438.388188 21377.740343 3319.893858 -31.497737
+V 14 -4316.943341 -1741.156060 31812.853909 -.000852
+P 15 6679.194834 17263.809134 18727.903039 378.633845
+V 15 -11148.181741 21658.148621 -16106.460142 .053359
+P 16 23901.343368 3338.045522 -11065.344150 1.967531
+V 16 -13454.221314 4994.385318 -27327.642539 -.001669
+P 17 -17549.476772 8672.453892 -17337.508623 -90.334039
+V 17 8060.037525 -21412.780921 -19353.623662 .195130
+P 18 -2223.449485 15458.351720 21513.758262 -119.473417
+V 18 -27005.902496 3341.691430 -5453.101111 -.037361
+P 19 16600.530081 -2253.111748 20701.147387 -11.993991
+V 19 15218.718722 21195.228819 -9973.757727 -.008762
+P 20 19904.756363 -12668.339064 -12255.737116 -90.487751
+V 20 15598.813110 -780.309811 26311.391976 .026905
+P 21 -4207.742970 24900.233284 7434.889193 88.160378
+V 21 -6648.782177 7668.333193 -29851.761975 .010156
+P 22 10199.496927 13289.178129 20769.301797 16.309826
+V 22 -25656.951611 4360.189289 9909.602787 .003575
+P 23 8716.165403 -12891.321931 -21605.845613 211.565526
+V 23 18190.404544 20256.105549 -4874.446947 .005175
+P 24 -7154.495239 -16926.360785 -18827.813504 89.870479
+V 24 10573.856886 -22208.800818 15846.590154 .028613
+P 25 11770.755296 12205.222510 -20050.400950 84.437582
+V 25 -7614.205470 25281.808725 10746.376007 .009069
+P 26 -17097.845316 455.655222 20182.666011 317.763759
+V 26 -16295.316519 -20370.362091 -12561.224472 .054515
+P 27 2380.576005 -25505.112094 6583.408589 514.340396
+V 27 5236.650804 -6606.194526 -30358.976795 .062552
+P 28 -9836.716721 -13260.532333 21085.015483 46.494228
+V 28 25699.670496 -5192.928045 8490.028566 .001636
+P 29 -19176.577875 -2898.726033 18475.352737 176.187404
+V 29 -14442.142017 -17694.742014 -17884.438067 -.190859
+P 30 -10577.552158 16126.347332 -18467.497472 442.246220
+V 30 -22854.862665 3369.915728 16365.052463 -.144902
+P 31 -12115.372851 -21699.361877 8592.800523 -.672641
+V 31 10610.420441 5786.115857 28686.163658 -.079011
+* 2005 1 21 15 45 .00000000
+P 1 20796.910716 14117.495101 -8427.366901 384.100854
+V 1 5981.614049 9372.668185 29759.493549 .020891
+P 2 -15203.502906 -2898.317673 -21886.147491 -41.868009
+V 2 7075.161103 -26146.502843 -1553.373297 .055014
+P 3 22564.895564 7756.360756 11814.129144 78.496293
+V 3 9483.770351 12234.014948 -25608.407189 .029120
+P 4 -9108.497013 -16112.446164 -18919.223425 438.746392
+V 4 8476.724246 -22679.201936 15567.427325 -.207184
+P 5 -21213.993661 13654.741036 -8179.750677 73.498005
+V 5 -10816.832557 97.402198 28936.259683 .024573
+P 6 -1058.537305 18383.914687 -18910.462218 -151.866931
+V 6 -18903.034107 -15756.760987 -14227.082576 .874410
+P 7 -15270.112864 -20831.185474 6929.990083 58.983090
+V 7 8272.266206 3188.933107 29440.978782 -.303740
+P 8 -259.567044 -23984.653955 10829.555569 -19.211493
+V 8 6703.664696 -12701.967531 -27875.073693 -.011716
+P 9 -14215.911285 16899.297431 14022.559637 -25.103842
+V 9 1754.337048 -18884.392797 24072.150832 -.018535
+P 10 -25425.678457 497.073749 -8226.554186 57.627211
+V 10 9537.457112 -4219.114267 -29660.044478 .007066
+P 11 13862.481655 -17664.114604 14019.710804 187.028032
+V 11 771.068806 18419.308739 22596.450575 .036954
+P 13 1006.161031 -17818.354862 -19752.185825 -13.673213
+V 13 17843.292203 17341.975192 -14707.897487 .009783
+P 14 14936.309678 21114.159010 6146.344926 -31.497835
+V 14 -6878.662548 -4053.382693 30907.232462 -.000852
+P 15 5758.819912 19155.492731 17117.201410 378.639871
+V 15 -9311.822784 20291.769452 -19634.519511 .053368
+P 16 22570.602062 3849.660700 -13422.393283 1.967440
+V 16 -16055.350232 6419.398131 -24975.491998 -.001675
+P 17 -16836.279389 6643.165402 -18917.982767 -90.316786
+V 17 7720.135269 -23622.549014 -15717.528053 .195160
+P 18 -4612.192822 15816.569592 20839.673955 -119.477046
+V 18 -25992.722053 4586.883706 -9506.543169 -.037364
+P 19 17982.864282 -425.632129 19629.331389 -11.994701
+V 19 15426.668984 19367.595703 -13810.870313 -.008767
+P 20 21172.755442 -12743.070970 -9789.322460 -90.485593
+V 20 12547.440028 -811.470719 28419.588027 .026892
+P 21 -4737.122785 25458.384230 4690.422192 88.161092
+V 21 -5167.172411 4687.929876 -31046.544503 .010150
+P 22 7859.339856 13749.434151 21482.456320 16.310030
+V 22 -26258.309132 5870.366762 5916.288715 .003565
+P 23 10412.359583 -11099.791159 -21858.862211 211.565995
+V 23 19446.043993 19485.391930 -740.811008 .005159
+P 24 -6285.572798 -18866.045037 -17239.210220 89.872875
+V 24 8744.403409 -20807.593405 19402.997464 .028603
+P 25 11154.838854 14434.983202 -18907.683879 84.439156
+V 25 -6080.925021 24179.775099 14608.572468 .009076
+P 26 -18565.408835 -1280.396520 18880.071258 317.768437
+V 26 -16236.961342 -18167.873040 -16339.510738 .054509
+P 27 2802.289025 -25959.046272 3801.556304 514.345807
+V 27 4193.106608 -3441.257216 -31370.902918 .062548
+P 28 -7500.754566 -13796.787346 21669.886780 46.494317
+V 28 26123.551962 -6719.831546 4487.518942 .001636
+P 29 -20453.781823 -4385.535998 16715.225138 176.170016
+V 29 -13858.020889 -15323.710378 -21175.288564 -.190864
+P 30 -12542.075007 16457.873276 -16842.298851 442.233236
+V 30 -20741.651838 3942.010508 19700.736726 -.144910
+P 31 -11043.516693 -21101.538730 11090.643533 -.679697
+V 31 13218.824864 7428.697164 26738.304181 -.079029
+* 2005 1 21 16 0 .00000000
+P 1 21248.774165 14835.905319 -5683.862616 384.103177
+V 1 3990.179734 6619.356013 31118.767407 .020896
+P 2 -14628.599209 -5267.668560 -21842.433379 -41.862893
+V 2 5680.938953 -26420.653303 2523.037640 .055000
+P 3 23340.126208 8752.949649 9415.091517 78.499708
+V 3 7676.445796 9928.978355 -27626.821738 .029107
+P 4 -8418.709842 -18090.347017 -17357.592858 438.727818
+V 4 6868.384591 -21189.527501 19086.432094 -.207186
+P 5 -22048.222880 13632.472040 -5512.249999 73.501917
+V 5 -7716.500972 -660.584706 30256.393094 .024570
+P 6 -2842.238000 16962.467089 -20021.374315 -151.788398
+V 6 -20690.976608 -15756.957030 -10423.689613 .874365
+P 7 -14409.211150 -20468.058107 9513.892897 58.955788
+V 7 10872.520989 4812.564101 27899.478585 -.303743
+P 8 274.690678 -25001.209671 8232.423031 -19.212116
+V 8 5218.317102 -9830.893893 -29753.582329 -.011713
+P 9 -14077.603364 15078.057608 16056.155561 -25.105508
+V 9 1258.701616 -21531.489816 21049.774603 -.018536
+P 10 -24436.697291 52.982010 -10818.962029 57.627825
+V 10 12384.626131 -5701.549226 -27867.678881 .007060
+P 11 13954.461529 -15899.972252 15925.682638 187.031691
+V 11 1321.671612 20728.506101 19697.499582 .036950
+P 13 2704.655548 -16256.308766 -20903.323119 -13.672422
+V 13 19859.551903 17289.080379 -10836.283126 .009778
+P 14 14194.612264 20660.264134 8867.292514 -31.498089
+V 14 -9627.290809 -5961.752079 29471.799248 -.000851
+P 15 5000.393978 20901.043741 15204.059344 378.645023
+V 15 -7564.358976 18416.565142 -22817.136649 .053377
+P 16 21023.600472 4500.487035 -15547.933287 1.967258
+V 16 -18249.638345 8075.688902 -22190.291014 -.001683
+P 17 -16171.382257 4432.365013 -20158.657904 -90.300487
+V 17 6996.424967 -25433.798988 -11814.707706 .195191
+P 18 -6887.538903 16277.051877 19807.226034 -119.480597
+V 18 -24493.403318 5601.075376 -13405.201443 -.037365
+P 19 19363.619707 1225.691663 18222.187774 -11.995522
+V 19 15178.162176 17294.741732 -17414.877746 -.008773
+P 20 22159.044344 -12801.695921 -7154.811376 -90.483210
+V 20 9354.489399 -419.645828 30041.381031 .026880
+P 21 -5147.976385 25736.879715 1862.979172 88.161971
+V 21 -4023.098326 1468.496282 -31692.742948 .010144
+P 22 5488.929999 14344.980200 21831.289887 16.310307
+V 22 -26329.301215 7351.754994 1824.890198 .003555
+P 23 12205.227165 -9395.707895 -21738.924925 211.566446
+V 23 20327.894512 18323.235187 3401.714540 .005143
+P 24 -5577.527195 -20656.451122 -15345.693613 89.875304
+V 24 7013.911621 -18897.801995 22612.316855 .028593
+P 25 10673.407137 16542.075175 -17428.866318 84.439878
+V 25 -4640.181112 22561.470146 18204.009104 .009082
+P 26 -20005.726679 -2808.703928 17250.714225 317.773091
+V 26 -15686.839679 -15770.247604 -19812.680618 .054503
+P 27 3146.430898 -26118.702002 953.020903 514.351333
+V 27 3518.856868 -82.083011 -31837.325609 .062544
+P 28 -5150.115586 -14468.043714 21890.230589 46.494597
+V 28 26026.747907 -8178.167294 400.466158 .001636
+P 29 -21656.139141 -5654.488199 14674.356801 176.152706
+V 29 -12778.427146 -12869.188477 -24114.438370 -.190869
+P 30 -14301.400758 16825.183882 -14931.157091 442.220039
+V 30 -18307.167506 4157.073165 22710.175840 -.144918
+P 31 -9735.556539 -20375.239839 13391.268057 -.686913
+V 31 15841.373429 8637.108429 24309.866930 -.079047
+* 2005 1 21 16 15 .00000000
+P 1 21503.408775 15315.232524 -2842.193607 384.106113
+V 1 1608.140378 4074.128425 31938.192834 .020901
+P 2 -14183.148760 -7638.517784 -21433.311085 -41.857826
+V 2 4212.948117 -26178.122820 6555.799875 .054985
+P 3 23935.183092 9547.773744 6855.556372 78.502258
+V 3 5487.198663 7763.563599 -29170.344044 .029094
+P 4 -7867.940494 -19911.882398 -15493.423293 438.709427
+V 4 5401.375182 -19211.159576 22280.364394 -.207187
+P 5 -22603.452571 13523.710068 -2749.265288 73.504876
+V 5 -4632.400992 -1822.160578 31054.656253 .024567
+P 6 -4773.844042 15560.408822 -20781.253962 -151.709823
+V 6 -22176.943315 -15332.807098 -6437.993155 .874321
+P 7 -13311.876190 -19977.524077 11938.037769 58.928338
+V 7 13512.108097 6016.758548 25896.258144 -.303746
+P 8 689.566393 -25745.165944 5489.741239 -19.215156
+V 8 4060.318604 -6658.576468 -31104.748427 -.011709
+P 9 -13999.429909 13034.997571 17799.952399 -25.106505
+V 9 427.419422 -23800.084768 17642.118733 -.018537
+P 10 -23207.470366 -537.564044 -13228.572129 57.628577
+V 10 14864.750668 -7462.181576 -25603.416860 .007054
+P 11 14108.346071 -13943.920262 17555.086860 187.034894
+V 11 2137.334032 22673.556457 16459.608739 .036944
+P 13 4572.104212 -14720.331701 -21697.121814 -13.671393
+V 13 21583.564401 16769.711693 -6778.277030 .009772
+P 14 13200.514459 20054.464405 11436.122662 -31.498164
+V 14 -12471.816475 -7423.377112 27531.774423 -.000849
+P 15 4391.954130 22456.517901 13022.223566 378.650138
+V 15 -5992.615105 16076.724219 -25596.453346 .053385
+P 16 19299.521396 5307.869769 -17405.071465 1.967115
+V 16 -19982.684248 9884.536131 -19019.520028 -.001690
+P 17 -15586.480615 2079.083863 -21038.870695 -90.282802
+V 17 5954.536196 -26778.873094 -7719.978177 .195222
+P 18 -9007.988046 16815.602448 18433.423256 -119.483877
+V 18 -22560.655294 6310.310223 -17081.115124 -.037366
+P 19 20700.496678 2682.689365 16503.499178 -11.996248
+V 19 14449.035609 15064.280355 -20724.190239 -.008779
+P 20 22855.220941 -12805.680837 -4397.335843 -90.480888
+V 20 6116.795488 402.433934 31148.059999 .026868
+P 21 -5472.657075 25718.317863 -997.435119 88.162758
+V 21 -3257.644009 -1897.248355 -31778.085359 .010139
+P 22 3135.711740 15069.228766 21810.045024 16.310550
+V 22 -25879.333634 8715.891600 -2296.214757 .003546
+P 23 14058.412482 -7811.303494 -21248.386645 211.566749
+V 23 20777.967271 16838.271663 7483.175239 .005127
+P 24 -5017.485147 -22253.783607 -13181.126622 89.877192
+V 24 5469.198284 -16526.386645 25417.458864 .028583
+P 25 10314.309962 18481.830885 -15640.906955 84.440651
+V 25 -3375.675057 20469.830615 21468.185855 .009089
+P 26 -21374.009692 -4116.184626 15324.629482 317.777553
+V 26 -14636.335815 -13277.404595 -22924.736386 .054498
+P 27 3447.604269 -25970.881831 -1912.306897 514.356698
+V 27 3241.359568 3374.881856 -31742.255629 .062540
+P 28 -2831.148903 -15264.172496 21741.445970 46.494658
+V 28 25423.552243 -9480.494092 -3704.042540 .001635
+P 29 -22739.211218 -6702.318835 12386.663496 176.135446
+V 29 -11209.862019 -10425.547402 -26652.537635 -.190874
+P 30 -15830.066246 17194.192660 -12765.834352 442.206975
+V 30 -15629.642258 3974.217381 25340.904749 -.144926
+P 31 -8194.519403 -19560.350890 15453.276073 -.694158
+V 31 18382.273999 9396.428187 21443.614464 -.079065
+* 2005 1 21 16 30 .00000000
+P 1 21528.424836 15577.924951 48.458583 384.110232
+V 1 -1100.595904 1817.658692 32206.148386 .020904
+P 2 -13869.852250 -9964.171027 -20665.665937 -41.852737
+V 2 2758.782661 -25417.508952 10479.403274 .054968
+P 3 24317.876052 10156.834345 4179.402847 78.504795
+V 3 2966.858945 5812.558043 -30215.044752 .029081
+P 4 -7439.826734 -21535.154393 -13358.626542 438.690545
+V 4 4155.193702 -16793.286326 25091.210262 -.207189
+P 5 -22885.304058 13293.071574 61.436354 73.507508
+V 5 -1656.422810 -3363.544067 31314.850735 .024563
+P 6 -6822.861940 14213.830764 -21176.878303 -151.630846
+V 6 -23289.139936 -14533.486491 -2341.198826 .874276
+P 7 -11978.437759 -19398.005702 14162.440490 58.901179
+V 7 16104.833733 6789.385943 23467.279566 -.303749
+P 8 1016.865858 -26193.450299 2650.099311 -19.217655
+V 8 3278.983921 -3276.419562 -31905.235859 -.011704
+P 9 -14008.841486 10807.653122 19222.078758 -25.107498
+V 9 -675.885608 -25615.534732 13912.757824 -.018539
+P 10 -21773.925748 -1296.325928 -15414.522788 57.629883
+V 10 16915.937551 -9426.315218 -22904.241290 .007048
+P 11 14345.290233 -11831.345168 18879.959879 187.038262
+V 11 3156.312980 24198.650911 12940.125451 .036938
+P 13 6578.505276 -13250.255135 -22119.883689 -13.670395
+V 13 22934.911539 15834.361738 -2602.698814 .009764
+P 14 11949.703976 19338.219479 13808.878339 -31.498177
+V 14 -15315.643076 -8413.535077 25120.890325 -.000847
+P 15 3914.107892 23782.750278 10610.310617 378.653716
+V 15 -4674.289038 13333.923536 -27922.298636 .053394
+P 16 17441.701677 6281.681351 -18961.504569 1.967000
+V 16 -21216.863330 11759.147418 -15517.543361 -.001697
+P 17 -15106.777874 -372.312735 -21544.812463 -90.264684
+V 17 4672.532285 -27607.259903 -3510.544541 .195252
+P 18 -10937.467813 17401.882086 16741.252626 -119.487711
+V 18 -20262.005563 6652.513731 -20469.598449 -.037365
+P 19 21949.821974 3935.282548 14502.386276 -11.997164
+V 19 13233.059184 12767.841100 -23681.941953 -.008785
+P 20 23261.649618 -12716.665164 -1564.221910 -90.478657
+V 20 2931.726417 1643.653504 31719.659208 .026858
+P 21 -5746.435609 25393.954094 -3840.194391 88.163487
+V 21 -2894.335975 -5310.276212 -31301.059075 .010135
+P 22 845.483760 15907.775985 21419.143977 16.310758
+V 22 -24935.446895 9878.106751 -6378.250391 .003537
+P 23 15931.003431 -6372.134345 -20395.849594 211.567185
+V 23 20753.328998 15109.707674 11434.834276 .005112
+P 24 -4585.172120 -23619.258367 -10784.158504 89.879481
+V 24 4187.352113 -13757.375843 27769.318196 .028574
+P 25 10058.247478 20214.228178 -13576.264191 84.442396
+V 25 -2362.030371 17964.787402 24343.585136 .009096
+P 26 -22625.546096 -5198.788525 13136.557127 317.782459
+V 26 -13095.738593 -10789.490664 -25627.202617 .054492
+P 27 3742.080172 -25511.349613 -4743.564768 514.362250
+V 27 3370.038868 6827.580424 -31080.217610 .062537
+P 28 -588.142609 -16167.363364 21225.021470 46.494861
+V 28 24345.347292 -10544.111515 -7757.932807 .001634
+P 29 -23659.973314 -7534.183713 9890.239386 176.118351
+V 29 -9177.188097 -8084.941775 -28746.207321 -.190878
+P 30 -17110.019617 17527.840440 -10382.565620 442.193925
+V 30 -12795.042455 3368.526180 27546.146543 -.144934
+P 31 -6432.057732 -18697.261603 17239.527006 -.701086
+V 31 20746.307702 9710.409408 18191.238593 -.079083
+* 2005 1 21 16 45 .00000000
+P 1 21297.811435 15653.107283 2938.299411 384.112714
+V 1 -4058.643418 -82.810836 31920.623392 .020906
+P 2 -13683.557113 -12198.585969 -19552.212213 -41.847867
+V 2 1404.815156 -24154.668522 14229.970088 .054951
+P 3 24461.186106 10602.405044 1432.288631 78.507291
+V 3 179.158531 4140.138289 -30745.358752 .029068
+P 4 -7111.290815 -22923.436852 -10990.049881 438.671718
+V 4 3199.049740 -14001.302940 27467.501242 -.207190
+P 5 -22907.463832 12908.083523 2871.055104 73.511710
+V 5 1124.674429 -5244.017901 31030.286666 .024559
+P 6 -8952.888353 12953.757133 -21201.530375 -151.552387
+V 6 -23968.480668 -13422.005820 1793.562245 .874231
+P 7 -10416.990758 -18768.255279 16150.628886 58.873618
+V 7 18564.848214 7135.211112 20654.507014 -.303751
+P 8 1292.055658 -26331.602607 -236.287284 -19.218577
+V 8 2906.082094 216.232921 -32142.285427 -.011699
+P 9 -14126.975178 8439.561735 20296.705459 -25.109713
+V 9 -1975.068777 -26919.599211 9932.129004 -.018541
+P 10 -20176.878088 -2237.875707 -17339.604191 57.630301
+V 10 18491.810596 -11509.378276 -19814.229461 .007042
+P 11 14680.464828 -9602.016387 19877.720288 187.041653
+V 11 4307.836605 25262.498071 9201.116256 .036931
+P 13 8687.148720 -11880.673598 -22164.206443 -13.669626
+V 13 23845.426906 14548.525122 1619.551198 .009757
+P 14 10446.676807 18554.364771 15944.999179 -31.498398
+V 14 -18060.247404 -8926.445617 22280.784352 -.000846
+P 15 3541.004276 24846.826170 8011.066927 378.659589
+V 15 -3674.705478 10264.922933 -29753.223365 .053404
+P 16 15496.055046 7423.747576 -20190.097773 1.966845
+V 16 -21932.709071 13608.094502 -11744.686239 -.001705
+P 17 -14750.026596 -2873.755340 -21669.662798 -90.247171
+V 17 3237.292753 -27887.384514 735.795989 .195283
+P 18 -12646.558517 18000.601107 14759.330084 -119.490842
+V 18 -17677.304247 6580.151163 -23510.448219 -.037363
+P 19 23068.187755 4981.688830 12252.838350 -11.998007
+V 19 11542.376471 10497.559490 -26236.963960 -.008791
+P 20 23387.345016 -12498.107932 1295.816888 -90.476425
+V 20 -106.460917 3274.800272 31745.366925 .026850
+P 21 -6005.871900 24764.093450 -6615.022486 88.164136
+V 21 -2938.205711 -8669.181170 -30270.939692 .010134
+P 22 -1339.145019 16838.892734 20665.177762 16.311081
+V 22 -23541.256538 10760.817859 -10353.081215 .003529
+P 23 17778.967378 -5096.267966 -19196.006902 211.567591
+V 23 20227.800633 13224.213379 15190.251708 .005098
+P 24 -4253.933457 -24720.527811 -8197.464222 89.882367
+V 24 3232.585093 -10669.294476 29627.670684 .028565
+P 25 9879.730162 21705.311762 -11272.217593 84.442733
+V 25 -1661.700769 15120.759614 26780.747279 .009102
+P 26 -23717.379783 -6061.345022 10725.243374 317.787374
+V 26 -11093.612025 -8403.063963 -27879.591229 .054487
+P 27 4066.134441 -24745.158369 -7489.895562 514.367786
+V 27 3895.515732 10172.332023 -29856.886547 .062533
+P 28 1538.171429 -17152.699082 20348.579798 46.495077
+V 28 22839.552437 -11294.315428 -11693.134211 .001632
+P 29 -24378.442260 -8163.304366 7226.786768 176.100869
+V 29 -6722.968876 -5933.897182 -30358.762196 -.190883
+P 30 -18131.177758 17787.592890 -7821.505844 442.181012
+V 30 -9893.942097 2332.290143 29285.713539 -.144942
+P 31 -4468.218663 -17825.188746 18717.895573 -.708480
+V 31 22842.798349 9601.259069 14612.301925 -.079101
+* 2005 1 21 17 0 .00000000
+P 1 20793.019124 15575.259306 5777.781110 384.115382
+V 1 -7178.106877 -1575.868463 31089.074912 .020908
+P 2 -13611.514913 -14297.907484 -18111.307433 -41.843074
+V 2 232.935591 -22422.216920 17746.115041 .054934
+P 3 24344.324755 10911.970130 -1339.108727 78.509921
+V 3 -2801.601479 2797.579269 -30754.195788 .029055
+P 4 -6853.600976 -24046.531055 -8428.836181 438.652595
+V 4 2588.929308 -10914.416651 29365.422033 -.207191
+P 5 -22691.069291 12340.648810 5630.627875 73.514291
+V 5 3632.610279 -7407.349540 30204.055339 .024554
+P 6 -11122.866985 11805.018007 -20855.107648 -151.473801
+V 6 -24171.006163 -12072.511385 5892.674715 .874187
+P 7 -8643.226633 -18125.852037 17870.150692 58.846405
+V 7 20809.685177 7075.409417 17505.186823 -.303754
+P 8 1552.623578 -26154.313749 -3118.537056 -19.219610
+V 8 2954.624628 3716.042987 -31813.857841 -.011694
+P 9 -14367.679051 5978.667912 21004.588858 -25.111628
+V 9 -3384.903736 -27672.924217 5775.845008 -.018543
+P 10 -18460.553904 -3368.846743 -18970.870409 57.631327
+V 10 19563.150601 -13620.079047 -16383.948417 .007036
+P 11 15122.374420 -7298.708434 20531.541309 187.044949
+V 11 5515.051591 25839.804608 5308.195668 .036925
+P 13 10855.843523 -10639.707714 -21829.119311 -13.668752
+V 13 24261.881710 12990.095460 5816.644923 .009749
+P 14 8704.742871 17745.398897 17808.000975 -31.498422
+V 14 -20608.907310 -8975.320899 19060.269193 -.000844
+P 15 3241.573550 25623.306167 5270.545358 378.662421
+V 15 -3044.113374 6958.528444 -31057.317191 .053413
+P 16 13509.401931 8727.593161 -21069.375082 1.966561
+V 16 -22129.591605 15338.953526 -7766.192425 -.001713
+P 17 -14525.908753 -5375.223157 -21413.565747 -90.229902
+V 17 1740.623857 -27607.542057 4942.344890 .195314
+P 18 -14113.470545 18572.927591 12521.444231 -119.494334
+V 18 -14895.721108 6062.342739 -26149.108867 -.037362
+P 19 24014.099063 5828.307829 9793.159466 -11.998789
+V 19 9407.252155 8342.536636 -28344.684172 -.008796
+P 20 23249.531475 -12116.876890 4133.516019 -90.473952
+V 20 -2910.159020 5249.561824 31223.779494 .026842
+P 21 -6287.138373 23838.123435 -9272.955498 88.165105
+V 21 -3375.656450 -11874.206546 -28707.550718 .010133
+P 22 -3380.177028 17834.301542 19560.802121 16.311202
+V 22 -21755.298936 11296.567941 -14154.241456 .003521
+P 23 19556.712353 -3993.761209 -17669.388875 211.567932
+V 23 19193.034898 11272.557176 18686.320997 .005084
+P 24 -3992.013558 -25532.847778 -5466.913387 89.885236
+V 24 2653.666405 -7352.018181 30961.839540 .028556
+P 25 9748.292140 22928.362612 -8770.103197 84.443272
+V 25 -1322.451862 12023.582662 28739.107018 .009109
+P 26 -24609.901756 -6717.078064 8132.707856 317.792076
+V 26 -8675.506670 -6207.550285 -29649.679736 .054482
+P 27 4454.351442 -23686.608185 -10101.469073 514.373147
+V 27 4789.662321 13308.036563 -28089.442638 .062530
+P 28 3511.991245 -18189.013360 19125.830810 46.495313
+V 28 20967.980023 -11667.420165 -15442.625607 .001630
+P 29 -24859.215584 -8610.313817 4440.983034 176.083564
+V 29 -3906.164321 -4050.067677 -31460.880858 -.190888
+P 30 -18891.691627 17935.021252 -5126.098590 442.167819
+V 30 -7018.176719 875.609573 30526.846614 -.144949
+P 31 -2330.862065 -16980.556003 19861.923824 -.715800
+V 31 24589.416094 9108.598918 10772.951266 -.079119
+* 2005 1 21 17 15 .00000000
+P 1 20003.757898 15382.707123 8518.442355 384.118426
+V 1 -10363.918290 -2627.687567 29728.126625 .020910
+P 2 -13633.926409 -16221.931685 -16366.689778 -41.838051
+V 2 -682.562635 -20268.451228 20969.793520 .054918
+P 3 23953.566151 11116.979013 -4087.854987 78.511672
+V 3 -5893.249598 1821.467101 -30242.930570 .029043
+P 4 -6633.674389 -24881.878456 -5719.690452 438.633613
+V 4 2365.185460 -7622.660870 30749.776625 -.207192
+P 5 -22263.806232 11568.353982 8291.913558 73.517477
+V 5 5800.617786 -9783.864426 28849.104900 .024548
+P 6 -13288.535759 10785.385642 -20144.100789 -151.394773
+V 6 -23869.679311 -10567.144167 9883.475479 .874142
+P 7 -6679.997705 -17505.767862 19293.016234 58.818958
+V 7 22763.142913 6646.529916 14071.119741 -.303757
+P 8 1836.366291 -25665.602018 -5946.063928 -19.221361
+V 8 3418.466042 7119.753029 -30928.516712 -.011689
+P 9 -14736.864544 3475.544782 21333.455014 -25.113286
+V 9 -4814.911184 -27856.639962 1522.860909 -.018545
+P 10 -16670.996415 -4687.481544 -20280.192725 57.633073
+V 10 20118.923514 -15663.833759 -12669.755897 .007030
+P 11 15672.451475 -4965.718069 20830.615693 187.048172
+V 11 6698.193781 25922.122992 1329.311884 .036918
+P 13 13038.362677 -9548.023506 -21120.113731 -13.667931
+V 13 24148.121906 11246.291011 9917.003230 .009742
+P 14 6745.698302 16951.799363 19366.084478 -31.498282
+V 14 -22870.358607 -8591.690584 15514.494336 -.000843
+P 15 2980.981211 26095.154635 2437.218888 378.668133
+V 15 -2815.645487 3512.063983 -31812.785830 .053423
+P 16 11527.771082 10178.518810 -21583.911220 1.966375
+V 16 -21825.662821 16862.006836 -3651.080702 -.001719
+P 17 -14435.771049 -7826.542174 -20783.460573 -90.212444
+V 17 275.289170 -26775.976038 9035.036610 .195344
+P 18 -15324.732647 19078.057827 10065.998165 -119.497513
+V 18 -12012.345919 5086.338851 -28337.766334 -.037361
+P 19 24749.567333 6489.292097 7165.337567 -11.999625
+V 19 6875.127347 6385.401441 -29967.937295 -.008801
+P 20 22872.894078 -11544.716954 6899.912003 -90.471465
+V 20 -5401.702405 7506.202250 30162.991553 .026833
+P 21 -6624.367751 22634.186876 -11767.270518 88.166019
+V 21 -4175.136155 -14831.186448 -26640.764861 .010132
+P 22 -5245.474073 18860.211374 18124.541519 16.311177
+V 22 -19648.839773 11430.700680 -17717.947766 .003516
+P 23 21218.715818 -3066.448482 -15842.018310 211.568396
+V 23 17658.936042 9346.103132 21864.252340 .005070
+P 24 -3764.035848 -26039.940994 -2640.689969 89.887687
+V 24 2482.040172 -3903.202167 31751.122137 .028546
+P 25 9629.901572 23864.771076 -6114.484731 84.444209
+V 25 -1375.513445 8767.022662 30187.579743 .009115
+P 26 -25268.298924 -7186.818844 5403.493386 317.797000
+V 26 -5902.093327 -4282.084454 -30913.627060 .054476
+P 27 4937.971390 -22358.823137 -12530.521532 514.378510
+V 27 6006.520631 16140.399254 -25806.597289 .062526
+P 28 5303.645245 -19240.005874 17576.428251 46.495282
+V 28 18804.639144 -11613.432489 -18941.526953 .001628
+P 29 -25072.865312 -8902.322516 1579.790204 176.066469
+V 29 -800.212592 -2499.279062 -32031.209521 -.190893
+P 30 -19397.904998 17933.406979 -2342.372808 442.154886
+V 30 -4257.397502 -973.681819 31244.969167 -.144957
+P 31 -54.750633 -16195.502718 20651.348684 -.722807
+V 31 25915.632201 8287.652110 6744.445476 -.079137
+* 2005 1 21 17 30 .00000000
+P 1 18928.483259 15115.987577 11113.714354 384.120722
+V 1 -13517.408637 -3223.083598 27863.126455 .020911
+P 2 -13724.756401 -17935.448168 -14347.139751 -41.833233
+V 2 -1277.847616 -17755.726612 23847.136356 .054902
+P 3 23282.823616 11251.464582 -6767.516373 78.514486
+V 3 -9008.708537 1232.470130 -29221.280517 .029030
+P 4 -6415.568943 -25415.382496 -2910.067066 438.614980
+V 4 2550.767864 -4223.438186 31594.779805 -.207193
+P 5 -21658.752303 10575.563759 10808.275775 73.521143
+V 5 7576.033125 -12293.095525 26988.108123 .024542
+P 6 -15404.004796 9905.008224 -19081.444738 -151.315945
+V 6 -23055.487140 -8992.595359 13695.648827 .874097
+P 7 -4556.632489 -16939.049471 20396.075486 58.791481
+V 7 24357.923108 5898.953362 10407.931156 -.303759
+P 8 2179.677941 -24878.623877 -8669.516900 -19.222221
+V 8 4272.720195 10328.206904 -29505.066057 -.011683
+P 9 -15232.215400 981.513503 21278.214763 -25.114994
+V 9 -6173.416977 -27473.023733 -2746.437677 -.018546
+P 10 -14854.407028 -6183.495998 -21244.745839 57.632250
+V 10 20166.654455 -17546.349215 -8733.008334 .007023
+P 11 16324.941068 -2647.334674 20770.310381 187.051627
+V 11 7777.852480 25518.041274 -2666.484286 .036912
+P 13 15186.052662 -8618.145427 -20049.067623 -13.667119
+V 13 23486.573718 9410.221746 13850.480686 .009736
+P 14 4599.176962 16210.430624 20592.664397 -31.498245
+V 14 -24762.244449 -7824.031099 11704.013526 -.000844
+P 15 2722.232496 26254.334567 -438.946400 378.673164
+V 15 -3004.024785 27.513828 -32008.276575 .053432
+P 16 9594.739309 11754.008681 -21724.616836 1.966125
+V 16 -21057.066679 18093.858729 529.078882 -.001726
+P 17 -14472.714238 -10179.153354 -19792.782823 -90.194710
+V 17 -1068.859257 -25420.145201 12943.781272 .195375
+P 18 -16275.561250 19474.887864 7435.357196 -119.500790
+V 18 -9124.522660 3658.281846 -30036.341051 -.037361
+P 19 25241.588670 6985.818221 4414.345368 -12.000478
+V 19 4009.010167 4699.107039 -31077.667713 -.008806
+P 20 22288.549348 -10759.539404 9547.194953 -90.469107
+V 20 -7516.283792 9969.857024 28580.516259 .026824
+P 21 -7048.096398 21178.510646 -14054.358633 88.166802
+V 21 -5288.578496 -17455.223501 -24109.768640 .010131
+P 22 -6909.786696 19878.573188 16380.503073 16.311832
+V 22 -17303.220007 11123.576454 -20984.086549 .003511
+P 23 22721.160994 -2308.046623 -13744.980068 211.568919
+V 23 15653.407637 7533.297948 24670.492699 .005056
+P 24 -3532.618776 -26234.526057 231.615604 89.891775
+V 24 2730.692975 -424.447628 31984.978381 .028536
+P 25 9488.504753 24504.583837 -3352.283379 84.445243
+V 25 -1834.462593 5449.042340 31104.897875 .009122
+P 26 -25663.812451 -7497.954982 2583.911625 317.802022
+V 26 -2846.813691 -2692.825963 -31655.953183 .054471
+P 27 5543.359805 -20792.955057 -14732.380978 514.384188
+V 27 7484.077973 18585.961128 -23048.258098 .062523
+P 28 6890.572422 -20265.578142 15725.726597 46.495482
+V 28 16433.049158 -11098.267988 -22128.225011 .001626
+P 29 -24997.133348 -9071.735235 -1308.286317 176.048986
+V 29 2509.450589 -1332.969233 -32056.883631 -.190897
+P 30 -19664.003437 17749.308182 481.823469 442.142079
+V 30 -1695.655791 -3170.789921 31424.330249 -.144965
+P 31 2319.648944 -15496.587564 21072.490564 -.729936
+V 31 26765.659581 7206.742178 2601.549526 -.079154
+* 2005 1 21 17 45 .00000000
+P 1 17574.555439 14816.149932 13519.681421 384.120748
+V 1 -16539.976230 -3365.849471 25527.580919 .020912
+P 2 -13852.791551 -19409.413165 -12086.067449 -41.828281
+V 2 -1502.067622 -14958.331330 26329.267393 .054886
+P 3 22333.951388 11350.577454 -9332.900972 78.517420
+V 3 -12059.119044 1034.702910 -27707.079131 .029018
+P 4 -6162.102298 -25641.903429 -49.294680 438.596324
+V 4 3150.176753 -817.736970 31884.645727 -.207194
+P 5 -20913.011827 9354.254972 13135.544176 73.523738
+V 5 8922.324465 -14846.905152 24653.117778 .024535
+P 6 -17423.400742 9166.161704 -17686.247358 -151.236823
+V 6 -21737.809175 -7436.507891 17262.546537 .874052
+P 7 -2308.027297 -16451.659970 21161.329448 58.764341
+V 7 25537.952183 4894.902572 6574.341184 -.303762
+P 8 2615.911367 -23815.131852 -11241.676938 -19.222811
+V 8 5474.951657 13250.142670 -27571.965088 -.011678
+P 9 -15843.264188 -1453.253758 20841.006141 -25.114689
+V 9 -7371.627882 -26545.202738 -6952.146642 -.018548
+P 10 -13055.483494 -7838.268358 -21847.418709 57.632519
+V 10 19732.125928 -19177.235820 -4639.178196 .007018
+P 11 17067.078687 -386.323178 20352.210557 187.054988
+V 11 8678.197740 24652.716713 -6610.262463 .036904
+P 13 17249.547621 -7854.089781 -18634.063302 -13.666330
+V 13 22279.056750 7577.224685 17549.541654 .009730
+P 14 2301.705684 15553.104853 21466.810802 -31.498195
+V 14 -26214.229267 -6735.753984 7693.773406 -.000847
+P 15 2427.857793 26102.046985 -3307.436208 378.678223
+V 15 -3605.064637 -3392.488751 -31642.950734 .053441
+P 16 7749.874383 13424.453921 -21488.910814 1.966080
+V 16 -19876.443311 18960.819740 4701.445777 -.001732
+P 17 -14622.020028 -12387.781157 -18461.053998 -90.177244
+V 17 -2208.488985 -23585.256997 16603.595775 .195406
+P 18 -16969.893281 19723.719725 4675.112839 -119.504095
+V 18 -6328.063463 1803.209394 -31213.350545 -.037363
+P 19 25463.449263 7345.084881 1587.383433 -12.001206
+V 19 885.254846 3344.086833 -31653.508586 -.008812
+P 20 21532.774910 -9746.479825 12029.546185 -90.466625
+V 20 -9204.376365 12555.360975 26503.032928 .026814
+P 21 -7583.869213 19504.421361 -16094.522231 88.168033
+V 21 -6653.536410 -19673.942202 -21162.121096 .010129
+P 22 -8355.527192 20848.511142 14358.003115 16.311888
+V 22 -14806.829863 10352.247710 -23897.166274 .003505
+P 23 24023.520493 -1704.571669 -11413.911075 211.569505
+V 23 13221.437184 5916.274002 27057.572681 .005041
+P 24 -3260.058765 -26118.495928 3099.920925 89.893544
+V 24 3393.800257 2982.625237 31662.990750 .028526
+P 25 9287.636855 24846.709941 -531.888131 84.446468
+V 25 -2694.860388 2167.986678 31479.708221 .009129
+P 26 -25774.766747 -7683.161996 -278.704276 317.807085
+V 26 406.849602 -1490.814359 -31869.408854 .054466
+P 27 6290.672096 -19027.041891 -16666.445520 514.390100
+V 27 9146.839878 20575.719015 -19864.821290 .062520
+P 28 8258.041750 -21223.344516 13604.435695 46.495737
+V 28 13943.146017 -10105.410521 -24945.515254 .001623
+P 29 -24617.880954 -9154.859366 -4173.981548 176.031996
+V 29 5928.361932 -586.128599 -31533.949176 -.190902
+P 30 -19711.362342 17354.025392 3297.641328 442.129340
+V 30 591.846283 -5655.420993 31058.510807 -.144973
+P 31 4747.601067 -14903.743774 21118.493556 -.736859
+V 31 27100.741837 5944.227259 -1579.147679 -.079172
+* 2005 1 21 18 0 .00000000
+P 1 15958.069261 14523.059828 15695.785796 384.123141
+V 1 -19336.715022 -3078.372423 22762.484394 .020914
+P 2 -13982.905903 -20621.911124 -9621.027264 -41.823406
+V 2 -1319.433577 -11959.921576 28373.097208 .054871
+P 3 21116.762132 11449.090298 -11740.775325 78.521552
+V 3 -14957.013668 1215.698056 -25725.952446 .029005
+P 4 -5836.530374 -25565.404019 2812.341816 438.577634
+V 4 4149.193792 2493.815563 31613.951749 -.207195
+P 5 -20066.196849 7904.552980 15232.835240 73.526033
+V 5 9820.467485 -17352.951571 21885.012192 .024528
+P 6 -19302.510853 8563.326666 -15983.403789 -151.157834
+V 6 -19944.045705 -5983.877351 20522.403005 .874007
+P 7 26.454348 -16063.517168 21576.175773 58.737105
+V 7 26260.320643 3706.071574 2631.433149 -.303765
+P 8 3173.880831 -22504.606647 -13618.293111 -19.224168
+V 8 6967.107211 15805.607802 -25166.555987 -.011673
+P 9 -16551.828762 -3781.561966 20031.067529 -25.117132
+V 9 -8327.521760 -25115.931096 -11016.680971 -.018551
+P 10 -11315.815709 -9625.349950 -22077.141987 57.633034
+V 10 18858.400652 -20473.522153 -456.884409 .007012
+P 11 17879.552055 1777.522444 19584.054837 187.058483
+V 11 9330.044373 23366.780862 -10434.405095 .036895
+P 13 19180.524108 -7251.333286 -16899.100590 -13.665494
+V 13 20546.868521 5841.104356 20950.410103 .009724
+P 14 -104.501278 15005.349770 21973.596538 -31.498241
+V 14 -27170.662493 -5402.631172 3552.038747 -.000850
+P 15 2061.606851 25648.609093 -6118.128332 378.684144
+V 15 -4595.970651 -6648.648436 -30726.311787 .053450
+P 16 6027.342314 15154.165179 -20880.775691 1.965890
+V 16 -18350.784404 19401.922351 8793.221739 -.001739
+P 17 -14861.885853 -14411.940883 -16813.379213 -90.159719
+V 17 -3070.000886 -21332.171479 19955.517090 .195437
+P 18 -17420.078667 19787.933170 1833.276096 -119.507513
+V 18 -3713.497778 -435.713860 -31846.613803 -.037364
+P 19 25395.806245 7599.075471 -1266.922692 -12.001993
+V 19 -2409.192719 2365.884188 -31684.221412 -.008817
+P 20 20645.547160 -8498.681506 14303.945372 -90.464132
+V 20 -10433.563093 15170.501356 23965.963324 .026804
+P 21 -8251.063793 17651.092586 -17852.679694 88.168757
+V 21 -8195.901092 -21430.182042 -17852.644104 .010126
+P 22 -9573.257409 21727.877777 12091.110031 16.312477
+V 22 -12251.814936 9111.528871 -26407.223935 .003499
+P 23 25090.028820 -1235.051489 -8888.417759 211.570294
+V 23 10423.549016 4567.691186 28984.870394 .005023
+P 24 -2910.010085 -25702.745047 5914.552855 89.894871
+V 24 4447.144624 6220.231678 30794.613696 .028517
+P 25 8992.031806 24898.786045 2297.732563 84.448126
+V 25 -3934.629508 -981.149483 31310.449761 .009135
+P 26 -25587.339598 -7778.967755 -3136.731295 317.811722
+V 26 3768.377837 -710.407696 -31554.759824 .054460
+P 27 7192.782438 -17104.565773 -18297.082148 514.395757
+V 27 10909.089728 22058.133751 -16316.099778 .062516
+P 28 9399.578649 -22070.264214 11248.172750 46.495825
+V 28 11427.884858 -8636.930217 -27341.737020 .001620
+P 29 -23929.752352 -9190.353809 -6968.087423 176.014816
+V 29 9356.395976 -275.830976 -30467.664078 -.190906
+P 30 -19567.615107 16724.906208 6056.087650 442.116401
+V 30 2541.703466 -8353.892218 30150.767805 -.144981
+P 31 7181.709050 -14429.530106 20789.413053 -.744117
+V 31 26900.689675 4585.020971 -5720.932002 -.079190
+* 2005 1 21 18 15 .00000000
+P 1 14103.364193 14273.769078 17605.468020 384.124651
+V 1 -21819.872298 -2400.560752 19615.560891 .020916
+P 2 -14077.491140 -21558.868439 -6993.162573 -41.818468
+V 2 -710.785212 -8850.592795 29942.083118 .054855
+P 3 19648.760676 11579.926878 -13950.547785 78.523195
+V 3 -17619.431513 1746.981370 -23310.905177 .028991
+P 4 -5404.214380 -25198.739104 5624.541441 438.558928
+V 4 5515.406035 5614.891236 30787.763821 -.207196
+P 5 -19158.816302 6234.945983 17063.314071 73.527862
+V 5 10269.603286 -19718.355148 18732.740909 .024521
+P 6 -21000.361189 8083.583484 -14003.107129 -151.079134
+V 6 -17718.531812 -4713.602354 23419.420375 .873962
+P 7 2404.237568 -15787.759680 21633.588348 58.709666
+V 7 26496.786418 2410.947297 -1358.083630 -.303768
+P 8 3876.562728 -20983.106001 -15758.839353 -19.224315
+V 8 8677.979409 17928.839902 -22334.123912 -.011668
+P 9 -17332.783429 -5960.872646 18864.451313 -25.119355
+V 9 -8969.366290 -23245.525902 -14866.471376 -.018553
+P 10 -9672.399050 -11511.282901 -21929.124508 57.633366
+V 10 17604.192619 -21362.941722 3743.158323 .007006
+P 11 18737.226939 3808.700706 18479.565298 187.061978
+V 11 9673.635639 21714.667485 -14073.749099 .036885
+P 13 20933.430191 -6797.118946 -14873.708321 -13.664612
+V 13 18330.130749 4290.420446 23994.174562 .009719
+P 14 -2572.963534 14585.429913 22104.345641 -31.498438
+V 14 -27592.694170 -3909.755036 -650.730171 -.000853
+P 15 1590.080768 24912.981187 -8822.207145 378.689164
+V 15 -5936.414056 -9648.798825 -29277.807159 .053459
+P 16 4454.733747 16902.635280 -19910.694449 1.965703
+V 16 -16558.724263 19371.445182 12732.969498 -.001746
+P 17 -15164.427113 -16217.233517 -14879.872298 -90.142177
+V 17 -3592.244596 -18734.796213 22947.303311 .195468
+P 18 -17646.242754 19635.554222 -1040.584602 -119.510709
+V 18 -1362.514758 -2998.715672 -31923.772838 -.037367
+P 19 25027.500318 7783.132436 -4099.358104 -12.002766
+V 19 -5779.982518 1793.353644 -31167.982077 -.008823
+P 20 19668.943930 -7017.771634 16330.932042 -90.461502
+V 20 -11189.697055 17719.569628 21012.881789 .026793
+P 21 -9061.980785 15662.078914 -19298.964213 88.169674
+V 21 -9833.074708 -22684.025731 -14242.186032 .010124
+P 22 -10561.872321 22474.876435 9618.108033 16.312891
+V 22 -9730.629315 7414.415132 -28470.673343 .003491
+P 23 25890.989131 -872.507572 -6211.428850 211.570676
+V 23 7333.678844 3547.932557 30419.282315 .005004
+P 24 -2449.093735 -25006.658684 8627.117614 89.897711
+V 24 5849.265678 9198.049338 29398.735952 .028508
+P 25 8569.166412 24676.715085 5087.899234 84.448788
+V 25 -5515.128063 -3910.223048 30605.037913 .009140
+P 26 -25096.053451 -7824.203563 -5942.965711 317.816401
+V 26 7143.390545 -368.327238 -30720.507190 .054455
+P 27 8254.531080 -15072.774862 -19594.413314 514.401358
+V 27 12678.677500 23001.351920 -12469.920749 .062513
+P 28 10317.076498 -22764.333613 8696.913485 46.495742
+V 28 8979.660651 -6713.795567 -29271.873920 .001618
+P 29 -22936.521834 -9217.575033 -9642.290250 175.997465
+V 29 12691.412477 -400.428387 -28872.659598 -.190911
+P 30 -19265.474461 15846.433190 8708.904576 442.103466
+V 30 4104.823973 -11181.824354 28714.193472 -.144990
+P 31 9573.624955 -14078.707195 20092.151925 -.751412
+V 31 26164.604914 3216.869948 -9748.621210 -.079208
+* 2005 1 21 18 30 .00000000
+P 1 12042.235441 14101.011258 19216.735755 384.128045
+V 1 -23912.015296 -1388.131940 16140.434628 .020917
+P 2 -14098.001979 -22214.490607 -4246.584045 -41.813351
+V 2 325.426559 -5723.678737 31006.942206 .054839
+P 3 17954.604044 11772.769201 -15924.910779 78.525504
+V 3 -19970.868355 2585.226841 -20501.822147 .028978
+P 4 -4834.205646 -24563.097687 8337.927621 438.540692
+V 4 7199.501426 8457.216463 29421.518690 -.207197
+P 5 -18230.639588 4362.166223 18594.879923 73.530815
+V 5 10286.946554 -21853.408011 15252.387454 .024514
+P 6 -22480.666915 7707.305928 -11780.268053 -151.000162
+V 6 -15120.793145 -3695.324145 25904.704071 .873917
+P 7 4780.906019 -15630.264924 21332.230050 58.682467
+V 7 26234.798899 1091.903877 -5330.622516 -.303770
+P 8 4740.046510 -19291.879292 -17627.184417 -19.224654
+V 8 10526.258933 19570.550013 -19126.854525 -.011663
+P 9 -18155.124039 -7954.764353 17363.593265 -25.121979
+V 9 -9238.708727 -21009.089587 -18433.465707 -.018555
+P 10 -8156.321970 -13456.698680 -21404.991864 57.634304
+V 10 16041.633642 -21786.866126 7889.262767 .007001
+P 11 19610.106932 5677.150310 17058.177691 187.064971
+V 11 9661.043044 19762.435535 -17466.659373 .036875
+P 13 22467.123064 -6471.088558 -12592.459138 -13.663696
+V 13 15686.415238 3004.965014 26627.828913 .009713
+P 14 -5054.518589 14303.658225 21856.779144 -31.498309
+V 14 -27459.764705 -2348.147542 -4843.032475 -.000857
+P 15 984.234953 23921.967121 -11373.032971 378.695658
+V 15 -7570.312109 -12311.341272 -27326.228870 .053466
+P 16 3052.155607 18626.002981 -18595.469372 1.965498
+V 16 -14587.374422 18840.842184 16451.910488 -.001753
+P 17 -15496.898538 -17776.388040 -12695.026829 -90.124507
+V 17 -3728.662418 -15877.101282 25533.937192 .195499
+P 18 -17675.343029 19240.655089 -3896.243400 -119.514114
+V 18 655.248313 -5811.631763 -31442.611646 -.037370
+P 19 24356.066448 7934.398428 -6860.972557 -12.003627
+V 19 -9128.861459 1637.510801 -30112.501856 -.008829
+P 20 18645.474784 -5314.009564 18075.306833 -90.459146
+V 20 -11477.343296 20107.072290 17694.768439 .026780
+P 21 -10021.234683 13583.700178 -20409.207240 88.170785
+V 21 -11477.448794 -23414.092937 -10396.301894 .010121
+P 22 -11328.471067 23049.691097 6980.887715 16.313178
+V 22 -7332.558297 5291.825932 -30051.081502 .003483
+P 23 26403.865365 -585.169336 -3428.492364 211.570624
+V 23 4036.543739 2902.757432 31335.791173 .004988
+P 24 -1848.372412 -24057.291331 11191.324081 89.899438
+V 24 7543.272025 11836.480161 27503.083176 .028499
+P 25 7990.679085 24203.905071 7791.053832 84.449625
+V 25 -7382.848335 -6541.086813 29380.389334 .009146
+P 26 -24303.977241 -7858.396814 -8651.304912 317.821402
+V 26 10436.886771 -463.313741 -29382.561615 .054450
+P 27 9472.329167 -12980.845589 -20534.964485 514.407190
+V 27 14361.143593 23394.513341 -8400.446947 .062510
+P 28 11020.582927 -23266.273274 5994.347017 46.496053
+V 28 6686.683707 -4375.440159 -30698.587211 .001616
+P 29 -21651.104750 -9274.882592 -12150.015668 175.980132
+V 29 15833.055479 -939.461718 -26772.942413 -.190915
+P 30 -18841.351147 14711.046724 11209.454274 442.090619
+V 30 5248.398671 -14047.320139 26771.671040 -.144998
+P 31 11875.787255 -13848.153222 19040.251446 -.758538
+V 31 24910.775744 1926.565829 -13590.127459 -.079225
+* 2005 1 21 18 45 .00000000
+P 1 9812.877223 14031.877492 20502.655304 384.131901
+V 1 -25548.799805 -110.333654 12395.743999 .020917
+P 2 -14006.561707 -22591.402918 -1427.686479 -41.808261
+V 2 1772.792671 -2672.382771 31546.300804 .054821
+P 3 16065.307154 12052.793216 -17630.434561 78.528897
+V 3 -21945.962526 3673.950248 -17344.889524 .028965
+P 4 -4100.681207 -23687.121444 10904.967279 438.521941
+V 4 9137.277512 10943.980908 27540.667469 -.207198
+P 5 -17319.102217 2310.741338 19800.760005 73.531605
+V 5 9906.946025 -23675.168154 11506.072636 .024507
+P 6 -23713.098994 7409.121480 -9353.857511 -150.921537
+V 6 -12223.225729 -2986.679019 27937.034918 .873871
+P 7 7111.641112 -15589.435690 20676.497363 58.655070
+V 7 25478.011447 -167.845007 -9222.486288 -.303773
+P 8 5772.772565 -17475.808891 -19192.161813 -19.225265
+V 8 12423.859069 20699.497871 -15602.697164 -.011659
+P 9 -18983.273681 -9734.116884 15556.757131 -25.124187
+V 9 -9092.715756 -18493.177008 -21656.395711 -.018556
+P 10 -6791.679232 -15417.660264 -20512.821057 57.634942
+V 10 14253.506178 -21702.766925 11909.953126 .006995
+P 11 20464.488615 7359.182504 15344.678678 187.068228
+V 11 9258.095541 17585.176769 -20556.019511 .036867
+P 13 23746.352179 -6246.218560 -10094.394248 -13.662706
+V 13 12688.694847 2052.566574 28805.229276 .009706
+P 14 -7499.009617 14162.023877 21235.056076 -31.498178
+V 14 -26770.413574 -811.145307 -8953.498290 -.000863
+P 15 220.693462 22709.126248 -13726.949607 378.699722
+V 15 -9428.221826 -14568.197898 -24908.943537 .053474
+P 16 1831.623452 20278.660515 -16957.926055 1.965236
+V 16 -12528.828831 17799.997424 19885.174941 -.001759
+P 17 -15823.081011 -19070.022894 -10297.049951 -90.106916
+V 17 -3448.817599 -12849.884954 27677.953403 .195530
+P 18 -17539.957663 18584.526516 -6683.736068 -119.517310
+V 18 2284.931584 -8788.730179 -30411.158752 -.037373
+P 19 23387.920350 8090.185212 -9503.937609 -12.004582
+V 19 -12357.353371 1891.083470 -28534.974999 -.008834
+P 20 17616.404772 -3406.099485 19506.758956 -90.456514
+V 20 -11319.481678 22241.453390 14069.118441 .026766
+P 21 -11125.465617 11463.343652 -21165.300993 88.171691
+V 21 -13040.032616 -23618.066369 -6383.892148 .010117
+P 22 -11887.918417 23416.062591 4224.270531 16.313633
+V 22 -5140.337378 2791.671877 -31119.858008 .003474
+P 23 26614.118373 -337.875688 -587.026482 211.570301
+V 23 624.599809 2661.500577 31717.920835 .004977
+P 24 -1084.636020 -22888.272370 13563.747238 89.901555
+V 24 9459.222578 14069.432048 25143.490266 .028490
+P 25 7233.610673 23510.245362 10361.542837 84.451150
+V 25 -9471.653125 -8808.257279 27661.789003 .009152
+P 26 -23222.637183 -7920.159901 -11217.398334 317.826270
+V 26 13556.455548 -976.385114 -27563.884918 .054444
+P 27 10834.141714 -10877.971338 -21102.150834 514.412666
+V 27 15863.960662 23248.070841 -4186.293721 .062506
+P 28 11527.763341 -23541.141940 3187.142074 46.496050
+V 28 4629.457030 -1678.574181 -31593.146826 .001614
+P 29 -20095.225090 -9397.969906 -14447.265966 175.962630
+V 29 18686.560779 -1854.313626 -24201.720086 -.190920
+P 30 -18333.823716 13319.664473 13513.590055 442.077975
+V 30 5957.226085 -16854.506201 24355.614095 -.145006
+P 31 14043.112594 -13727.116854 17653.547588 -.765572
+V 31 23175.769196 796.266529 -17177.879837 -.079243
+* 2005 1 21 19 0 .00000000
+P 1 7458.598243 14086.719611 21441.761330 384.135797
+V 1 -26681.249818 1352.814010 8444.211573 .020916
+P 2 -13767.569052 -22700.484731 1415.589212 -41.803202
+V 2 3597.266990 213.642804 31547.260918 .054801
+P 3 14017.222133 12439.579079 -19038.105406 78.530431
+V 3 -23491.825499 4945.683618 -13891.939481 .028952
+P 4 -3184.169816 -22605.737677 13280.847575 438.503484
+V 4 11252.271648 13012.752120 25180.094152 -.207199
+P 5 -16457.819415 112.233261 20659.998461 73.532992
+V 5 9179.733571 -25110.783744 7560.727178 .024501
+P 6 -24674.319985 7159.096421 -6766.187606 -150.842488
+V 6 -9108.303679 -2631.066126 29483.469821 .873826
+P 7 9352.683526 -15656.264022 19676.494936 58.627700
+V 7 24246.261772 -1287.345819 -12970.658248 -.303776
+P 8 6975.081585 -15581.741892 -20428.035791 -19.226689
+V 8 14279.474789 21303.343214 -11824.186959 -.011655
+P 9 -19778.566549 -11277.977157 13477.376707 -25.126530
+V 9 -8505.783481 -15792.084576 -24481.785576 -.018557
+P 10 -5594.754794 -17347.200660 -19267.066432 57.636019
+V 10 12330.035647 -21086.101389 15735.194116 .006989
+P 11 21264.266579 8838.165253 13368.758078 187.071360
+V 11 8445.770935 15264.111015 -23290.127759 .036860
+P 13 24743.030193 -6090.023990 -7422.366577 -13.661898
+V 13 9422.691724 1486.347987 30487.947290 .009699
+P 14 -9857.014143 14154.150483 20249.708858 -31.498257
+V 14 -25542.376295 609.304548 -12912.061276 -.000869
+P 15 -717.175412 21313.445538 -15844.016117 378.706641
+V 15 -11430.230700 -16367.172567 -22070.985299 .053481
+P 16 796.777946 21814.941649 -15026.508020 1.964919
+V 16 -10476.480409 16257.753604 22972.978423 -.001764
+P 17 -16104.777496 -20087.109907 -7727.173745 -90.089358
+V 17 -2739.289460 -9747.416333 29349.614520 .195561
+P 18 -17276.855226 17656.572819 -9354.278265 -119.520628
+V 18 3488.572481 -11836.028130 -28847.566601 -.037378
+P 19 22138.211105 8286.334774 -11982.391065 -12.005416
+V 19 -15370.473817 2528.789154 -26461.848283 -.008838
+P 20 16620.137918 -1320.673118 20600.407617 -90.454219
+V 20 -10756.480363 24038.679956 10198.923930 .026752
+P 21 -12363.378593 9347.753491 -21555.438065 88.172749
+V 21 -14434.076263 -23312.452596 -2275.839103 .010112
+P 22 -12262.111034 23542.751161 1395.275736 16.313927
+V 22 -3226.994163 -22.731825 -31656.841503 .003464
+P 23 26515.753676 -93.611365 2264.465052 211.570545
+V 23 -2805.304410 2835.887962 31558.068524 .004971
+P 24 -141.451325 -21538.486464 15704.521363 89.904615
+V 24 11516.966746 15846.530447 22363.072697 .028481
+P 25 6281.425549 22630.866286 12756.339715 84.452234
+V 25 -11705.410411 -10661.062534 25482.216697 .009157
+P 26 -21871.643464 -8045.628540 -13599.265029 317.831501
+V 26 16415.363748 -1871.671918 -25294.108047 .054439
+P 27 12319.849237 -8811.467488 -21286.588406 514.418163
+V 27 17100.669374 22593.110023 91.474054 .062503
+P 28 11863.057666 -23559.810325 324.135386 46.496221
+V 28 2877.506590 1304.736328 -31936.223443 .001613
+P 29 -18298.745672 -9618.287217 -16493.433211 175.945358
+V 29 21166.420403 -3089.601115 -21201.036235 -.190924
+P 30 -17782.020840 11681.871016 15580.494048 442.065161
+V 30 6234.322208 -19507.294866 21507.483754 -.145015
+P 31 16034.572034 -13697.790211 15957.706949 -.772537
+V 31 21012.785225 -99.911174 -20450.071483 -.079261
+* 2005 1 21 19 15 .00000000
+P 1 5026.356819 14278.319276 22018.381290 384.139021
+V 1 -27277.475222 2913.653249 4351.680795 .020914
+P 2 -13349.245598 -22560.398160 4234.540458 -41.798147
+V 2 5748.166094 2851.645482 31005.861781 .054780
+P 3 11850.826915 12946.236064 -20123.801483 78.533021
+V 3 -24569.936941 6324.557676 -10199.721142 .028940
+P 4 -2072.517686 -21358.756857 15424.290976 438.484659
+V 4 13458.892774 14617.774124 22383.330658 -.207200
+P 5 -15675.268861 -2195.804552 21157.830240 73.535838
+V 5 8168.930652 -26100.406022 3486.766567 .024495
+P 6 -25348.751725 6924.095599 -4062.146246 -150.763975
+V 6 -5865.434662 -2656.008763 30519.768447 .873780
+P 7 11462.768653 -15814.672913 18347.937643 58.600528
+V 7 22575.011899 -2190.963216 -16513.622815 -.303779
+P 8 8339.087593 -13656.778535 -21314.860340 -19.227936
+V 8 16002.195735 21388.758987 -7857.251020 -.011651
+P 9 -20500.842295 -12574.080992 11163.319120 -25.128269
+V 9 -7470.379644 -13003.945177 -26864.694270 -.018557
+P 10 -4573.509011 -19197.001887 -17688.373687 57.636911
+V 10 10365.355999 -19931.534932 19297.645537 .006983
+P 11 21972.337662 10104.936110 11164.485107 187.074640
+V 11 7221.003515 12883.481344 -25623.488709 .036853
+P 13 25437.241698 -5965.984575 -4622.312503 -13.661031
+V 13 5983.719718 1342.549434 31646.000672 .009692
+P 14 -12081.549116 14265.586516 18917.473717 -31.498159
+V 14 -23811.964448 1826.299288 -16651.116169 -.000877
+P 15 -1838.461182 19777.828804 -17688.652115 378.710954
+V 15 -13489.212653 -17673.644151 -18864.046024 .053487
+P 16 -57.064221 23190.823703 -12834.769680 1.964634
+V 16 -8521.297647 14241.692416 25661.700392 -.001767
+P 17 -16303.361161 -20825.134983 -5028.956576 -90.071637
+V 17 -1603.940793 -6664.073114 30526.962232 .195591
+P 18 -16925.404463 16454.891404 -11861.162905 -119.523786
+V 18 4246.526660 -14854.961463 -26779.768594 -.037384
+P 19 20630.343428 8555.638052 -14253.252633 -12.006322
+V 19 -18080.331778 3508.334588 -23928.412173 -.008841
+P 20 15690.724558 908.538676 21337.246815 -90.451689
+V 20 -9844.379546 25425.546334 6151.548226 .026738
+P 21 -13716.103006 7281.374937 -21574.229507 88.173320
+V 21 -15578.541176 -22531.612629 1856.324896 .010108
+P 22 -12478.974152 23404.828527 -1457.660200 16.314268
+V 22 -1653.035332 -3074.857785 -31650.766787 .003454
+P 23 26111.558819 184.879826 5077.201575 211.571133
+V 23 -6155.458314 3419.518516 30857.705235 .004965
+P 24 990.060110 -20050.583022 17577.955144 89.906310
+V 24 13629.321684 17134.696826 19211.324681 .028473
+P 25 5124.777446 21604.732733 14935.702686 84.451451
+V 25 -14001.009011 -12065.161934 22881.544491 .009163
+P 26 -20278.047782 -8267.000015 -15757.875970 317.836157
+V 26 18935.436150 -3097.795515 -22609.129921 .054434
+P 27 13901.968718 -6824.981049 -21086.222949 514.423763
+V 27 17994.693564 21479.718254 4351.375865 .062499
+P 28 12056.559773 -23300.231110 -2544.543593 46.496207
+V 28 1486.512350 4489.664644 -31718.505824 .001612
+P 29 -16298.680722 -9961.622017 -18252.070626 175.928313
+V 29 23199.750901 -4575.273812 -17821.206622 -.190928
+P 30 -17223.982551 9815.764937 17373.461472 442.052261
+V 30 6100.774942 -21913.207213 18277.085941 -.145024
+P 31 17814.589460 -13736.170908 13983.659310 -.779477
+V 31 18489.369062 -698.886655 -23351.706656 -.079279
+* 2005 1 21 19 30 .00000000
+P 1 2565.168791 14611.352022 22222.872029 384.142141
+V 1 -27323.773753 4480.288331 186.128254 .020911
+P 2 -12725.063112 -22196.823435 6980.523440 -41.793396
+V 2 8159.833707 5168.920818 29927.413430 .054759
+P 3 9609.365466 13578.775084 -20868.699902 78.535191
+V 3 -25157.536964 7729.206150 -6329.100371 .028927
+P 4 -761.555039 -19989.294564 17298.291550 438.466000
+V 4 15665.913652 15731.558785 19201.596562 -.207201
+P 5 -14993.696201 -4571.108872 21285.932612 73.538045
+V 5 6948.909665 -26599.568647 -643.296487 .024488
+P 6 -25729.049012 6669.260936 -1288.401149 -150.685712
+V 6 -2587.593055 -3072.160721 31030.648307 .873735
+P 7 13404.487456 -16042.127747 16711.977351 58.573145
+V 7 20514.252791 -2811.300252 -19792.218372 -.303782
+P 8 9848.873535 -11746.582893 -21838.731101 -19.229671
+V 8 17505.039005 20980.829298 -3770.026215 -.011646
+P 9 -21110.081560 -13619.021447 8656.093106 -25.131083
+V 9 -5997.120008 -10226.807792 -28769.197671 -.018557
+P 10 -3727.393774 -20919.151589 -15803.280699 57.637306
+V 10 8453.779631 -18253.435486 22533.918699 .006977
+P 11 22552.050633 11157.931043 8769.718347 187.077863
+V 11 5596.884141 10527.366439 -27517.493478 .036848
+P 13 25817.949359 -5835.137825 -1742.464045 -13.660305
+V 13 2473.139387 1639.007231 32258.443256 .009686
+P 14 -14129.688611 14474.417282 17261.018215 -31.498069
+V 14 -21632.749439 2761.448944 -20106.645104 -.000886
+P 15 -3144.217437 18147.465367 -19230.188791 378.715498
+V 15 -15514.309147 -18471.547884 -15345.396065 .053494
+P 16 -742.528170 24365.576346 -10420.777485 1.964436
+V 16 -6748.211422 11797.175753 27904.842564 -.001770
+P 17 -16381.320158 -21289.960044 -2247.584455 -90.054455
+V 17 -63.582061 -3691.081602 31195.769741 .195622
+P 18 -16525.890082 14986.511999 -14160.616937 -119.527233
+V 18 4558.128587 -17746.250226 -24244.922253 -.037391
+P 19 18895.186353 8926.374931 -16276.994898 -12.007236
+V 19 -20409.472824 4772.103166 -20978.217704 -.008844
+P 20 14856.551716 3241.813981 21704.484795 -90.449271
+V 20 -8652.553525 26342.564365 1997.514622 .026723
+P 21 -15157.852574 5304.816337 -21222.705561 88.174148
+V 21 -16401.284759 -21326.125707 5941.689158 .010106
+P 22 -12571.224888 22984.747975 -4285.500249 16.314446
+V 22 -464.091615 -6277.692892 -31099.596462 .003445
+P 23 25413.019553 533.466167 7802.945946 211.571453
+V 23 -9330.874101 4388.037934 29627.436263 .004959
+P 24 2310.740344 -18469.373562 19153.063297 89.907493
+V 24 15705.459151 17919.057714 15743.169150 .028465
+P 25 3761.996954 20473.129294 16863.756773 84.452728
+V 25 -16271.474969 -13003.447178 19905.685708 .009169
+P 26 -18475.453971 -8611.218205 -17657.699414 317.841072
+V 26 21049.649543 -4589.743522 -19550.697362 .054429
+P 27 15546.696263 -4956.886124 -20506.277603 514.429155
+V 27 18482.645084 19974.508168 8513.492859 .062496
+P 28 12142.661914 -22748.448380 -5368.394439 46.496330
+V 28 495.976648 7781.800488 -30941.110902 .001612
+P 29 -14137.924224 -10446.897710 -19691.604150 175.911009
+V 29 24729.217378 -6229.351675 -14120.053697 -.190932
+P 30 -16695.068931 7747.465309 18860.612150 442.038947
+V 30 5594.837338 -23987.091231 14721.659647 -.145032
+P 31 19354.209693 -13813.170692 11766.945498 -.786745
+V 31 15684.603111 -951.083990 -25835.434207 -.079297
+* 2005 1 21 19 45 .00000000
+P 1 124.445295 15082.164781 22051.766652 384.145467
+V 1 -26825.083494 5960.131751 -3983.341055 .020907
+P 2 -11874.992588 -21641.424760 9605.796890 -41.788587
+V 2 10753.929108 7105.632040 28326.679142 .054740
+P 3 7337.387351 14335.753455 -21259.608621 78.537740
+V 3 -25248.463228 9075.894456 -2344.191052 .028915
+P 4 744.562115 -18542.084287 18870.758172 438.446580
+V 4 17780.169025 16345.713385 15692.696418 -.207202
+P 5 -14428.287103 -6968.174833 21042.550367 73.540390
+V 5 5601.631260 -26580.936538 -4756.265614 .024482
+P 6 -25816.265287 6359.549322 1507.411621 -150.607292
+V 6 632.135076 -3872.982037 31009.874879 .873690
+P 7 15145.525329 -16310.500715 14794.951483 58.545740
+V 7 18126.893172 -3091.883395 -22750.521850 -.303784
+P 8 11480.996353 -9893.778240 -21991.932204 -19.230836
+V 8 18708.273424 20121.779282 368.290158 -.011641
+P 9 -21568.015202 -14418.069889 6000.024976 -25.134291
+V 9 -4114.116145 -7554.866597 -30168.628044 -.018557
+P 10 -3047.506772 -22467.909871 -13643.806182 57.638623
+V 10 6686.015975 -16085.601698 25385.807418 .006971
+P 11 22968.646394 12003.027084 6225.459710 187.081023
+V 11 3602.251330 8276.528253 -28940.983146 .036843
+P 13 25883.368622 -5657.776947 1167.485135 -13.659534
+V 13 -1005.438552 2374.354465 32313.798714 .009680
+P 14 -15964.033369 14752.175698 15308.569423 -31.498188
+V 14 -19073.596076 3348.026869 -23219.296168 -.000897
+P 15 -4627.286234 16468.143037 -20443.320851 378.720179
+V 15 -17414.493948 -18763.631351 -11576.766117 .053501
+P 16 -1279.483904 25303.292218 -7826.430955 1.964131
+V 16 -5232.757242 8985.687340 29663.847788 -.001773
+P 17 -16303.746486 -21495.399771 570.819749 -90.036430
+V 17 1844.927890 -913.453811 31349.419266 .195653
+P 18 -16117.804432 13267.285347 -16212.598958 -119.530507
+V 18 4441.564940 -20413.794969 -21288.654263 -.037398
+P 19 16969.997823 9421.034815 -18018.354283 -12.008083
+V 19 -22293.827281 6249.467065 -17662.327817 -.008846
+P 20 14139.268446 5634.784950 21695.771550 -90.447098
+V 20 -7260.844846 26746.322947 -2190.766004 .026709
+P 21 -16656.854639 3453.485266 -20508.205501 88.175307
+V 21 -16841.844386 -19760.572844 9911.154195 .010103
+P 22 -12574.947982 22273.148492 -7039.446659 16.314610
+V 22 310.880328 -9536.904270 -30010.702098 .003436
+P 23 24439.915917 985.046110 10394.823881 211.571802
+V 23 -12242.792620 5700.005648 27886.915170 .004954
+P 24 3813.222911 -16840.177869 20404.011317 89.909948
+V 24 17654.374012 18203.173528 12017.980897 .028458
+P 25 2199.295262 19278.092366 18508.999782 84.454103
+V 25 -18429.234565 -13476.310152 16605.765900 .009175
+P 26 -16502.910725 -9098.847769 -19267.207492 317.845868
+V 26 22704.369973 -6271.187940 -16165.962372 .054423
+P 27 17215.218358 -3238.934752 -19559.028191 514.434876
+V 27 18516.965812 18157.447139 12501.309599 .062493
+P 28 12158.517975 -21899.299479 -8097.494048 46.496067
+V 28 -72.453005 11080.784441 -29615.759794 .001614
+P 29 -11863.740234 -11085.243884 -20785.966172 175.893563
+V 29 25715.377918 -7961.204272 -10161.944410 -.190937
+P 30 -16226.483659 5510.294477 20015.511254 442.025966
+V 30 4770.289914 -25654.570018 10904.775647 -.145041
+P 31 20631.995571 -13895.919321 9347.000002 -.794064
+V 31 12685.915948 -822.290640 -27862.164339 -.079314
+* 2005 1 21 20 0 .00000000
+P 1 -2247.680377 15678.874566 21507.830441 384.146895
+V 1 -25804.772634 7263.474508 -8087.509062 .020903
+P 2 -10786.521700 -20930.581821 12064.374682 -41.783684
+V 2 13442.271321 8617.178468 26227.884965 .054721
+P 3 5079.238349 15208.207374 -21289.217229 78.540300
+V 3 -24853.397316 10281.766208 1688.578734 .028903
+P 4 2433.346301 -17061.751013 20115.053410 438.428057
+V 4 19710.300052 16470.983927 11919.810294 -.207203
+P 5 -13986.637897 -9339.850451 20432.493974 73.541913
+V 5 4213.195943 -26035.356638 -8779.664580 .024476
+P 6 -25619.708396 5961.269558 4277.500178 -150.529157
+V 6 3703.962419 -5035.081883 30460.196783 .873645
+P 7 16659.733998 -16587.162662 12628.050702 58.518333
+V 7 15486.667802 -2989.515908 -25336.760272 -.303787
+P 8 13205.277540 -8136.484308 -21772.981778 -19.233488
+V 8 19542.421479 18869.105149 4488.540880 -.011636
+P 9 -21839.644420 -14984.669877 3241.423000 -25.136660
+V 9 -1865.660853 -5074.983186 -31045.597046 -.018555
+P 10 -2517.082733 -23801.416764 -11246.929805 57.639424
+V 10 5145.490863 -13480.217029 27801.463222 .006965
+P 11 23190.634677 12653.107178 3575.163084 187.084117
+V 11 1280.693635 6205.409825 -29870.691947 .036840
+P 13 25640.994922 -5395.186694 4057.245219 -13.658822
+V 13 -4350.053371 3527.981283 31810.324953 .009676
+P 14 -17553.976647 15065.017741 13093.447809 -31.498127
+V 14 -16216.116247 3533.681757 -25935.397367 -.000907
+P 15 -6272.441906 14784.570239 -21308.457079 378.724878
+V 15 -19102.084418 -18571.000107 -7623.216845 .053508
+P 16 -1694.063766 25974.239277 -5096.716909 1.963876
+V 16 -4038.107013 5882.543141 30908.763581 -.001774
+P 17 -16039.720470 -21462.534669 3379.873494 -90.019172
+V 17 4070.093144 1592.796388 30988.725383 .195684
+P 18 -15738.185799 11321.426083 -17981.520764 -119.533688
+V 18 3932.970081 -22768.437955 -17964.129508 -.037406
+P 19 14897.106359 10055.270102 -19446.967654 -12.008882
+V 19 -23685.141985 7859.634054 -14038.416381 -.008847
+P 20 13552.988593 8039.967755 21311.310021 -90.444708
+V 20 -5756.286069 26611.221991 -6340.303086 .026696
+P 21 -18176.508430 1756.446388 -19444.164720 88.176163
+V 21 -16853.727831 -17910.844213 13698.523352 .010099
+P 22 -12528.037864 21269.358424 -9671.789823 16.314909
+V 22 660.758894 -12754.330095 -28400.881848 .003429
+P 23 23219.611372 1568.074748 12808.128761 211.572219
+V 23 -14811.977036 7298.430219 25664.606421 .004950
+P 24 5482.071845 -15207.179778 21310.471774 89.912180
+V 24 19388.310296 18008.599882 8098.600145 .028451
+P 25 450.670545 18060.845711 19844.733881 84.454023
+V 25 -20389.314338 -13501.311134 13037.273484 .009181
+P 26 -14403.621424 -9743.174542 -20559.341657 317.850501
+V 26 23861.169752 -8057.182661 -12507.009547 .054418
+P 27 18865.226872 -1695.217524 -18263.421354 514.440281
+V 27 18067.799812 16118.176854 16243.355045 .062490
+P 28 12142.388713 -20756.774820 -10683.449495 46.496032
+V 28 -215.916875 14284.247626 -27764.700862 .001618
+P 29 -9526.072693 -11879.381441 -21515.134281 175.875764
+V 29 26138.333394 -9675.244889 -6016.644166 -.190940
+P 30 -15843.975510 3143.668522 20817.683405 442.012799
+V 30 3694.137778 -26855.064866 6895.073055 -.145049
+P 31 21634.626060 -13949.206235 6766.387643 -.801295
+V 31 9585.653867 -294.854979 -29401.474776 -.079332
+* 2005 1 21 20 15 .00000000
+P 1 -4505.977372 16381.784964 20600.025149 384.151644
+V 1 -24303.773813 8306.957882 -12058.064521 .020898
+P 2 -9455.394758 -20103.932658 14312.870787 -41.778777
+V 2 16130.143671 9676.001976 23664.537619 .054703
+P 3 2877.556191 16179.877665 -20956.260906 78.544732
+V 3 -23999.503137 11268.094552 5701.460977 .028890
+P 4 4284.306081 -15591.115778 21010.420120 438.409336
+V 4 21370.388220 16136.529123 7950.213905 -.207203
+P 5 -13668.543883 -11638.992824 19467.013109 73.545039
+V 5 2870.258447 -24972.174908 -12643.097532 .024470
+P 6 -25156.496192 5443.559350 6974.716976 -150.450548
+V 6 6544.640016 -6519.201278 29393.138462 .873600
+P 7 17927.995439 -16836.268317 10246.903689 58.490665
+V 7 12675.617254 -2476.206654 -27504.239441 -.303790
+P 8 14985.845653 -6507.046695 -21186.581021 -19.235200
+V 8 19950.842226 17293.189396 8522.649625 -.011630
+P 9 -21894.616009 -15339.635777 427.748279 -25.137473
+V 9 689.660589 -2863.620113 -31391.833979 -.018554
+P 10 -2112.305656 -24883.271499 -8653.970307 57.640176
+V 10 3904.920371 -10506.054559 29736.482476 .006958
+P 11 23191.055899 13127.365684 864.008591 187.087180
+V 11 -1310.995863 4379.391184 -30291.568186 .036839
+P 13 25107.280998 -5011.348205 6876.811539 -13.658051
+V 13 -7464.243834 5060.762248 30756.099638 .009673
+P 14 -18876.718199 15375.118216 10653.513416 -31.498540
+V 14 -13151.635057 3282.605524 -28207.889046 -.000917
+P 15 -8056.843651 13138.769578 -21811.969467 378.731588
+V 15 -20496.071597 -17931.993287 -3552.018416 .053515
+P 16 -2017.434760 26355.982113 -2278.911417 1.963626
+V 16 -3212.607552 2574.064486 31618.738438 -.001774
+P 17 -15563.547410 -21218.788786 6133.594078 -90.002296
+V 17 6547.643904 3763.088779 30121.721000 .195716
+P 18 -15420.071573 9180.729160 -19436.878212 -119.537250
+V 18 3084.787826 -24731.431161 -14330.971439 -.037414
+P 19 12722.400964 10837.125773 -20537.921630 -12.009643
+V 19 -24552.794769 9514.915779 -10169.732243 -.008849
+P 20 13103.802242 10408.417744 20557.848967 -90.442549
+V 20 -4229.541486 25930.511375 -10378.843403 .026684
+P 21 -19676.724553 235.538755 -18049.808368 88.177367
+V 21 -16406.140618 -15861.086255 17241.486632 .010094
+P 22 -12468.567133 19981.575210 -12136.750980 16.315249
+V 22 592.724140 -15831.664062 -26296.204357 .003421
+P 23 21786.059857 2305.256747 15001.098173 211.572593
+V 23 -16971.666588 9112.922671 22997.394316 .004946
+P 24 7294.222722 -13611.851295 21857.891909 89.914209
+V 24 20826.028167 17373.815034 4050.349640 .028444
+P 25 -1462.463506 16860.294379 20849.417914 84.453864
+V 25 -22072.405766 -13112.210686 9259.171446 .009188
+P 26 -12223.511452 -10549.563116 -21511.933906 317.855199
+V 26 24498.168888 -9857.168583 -8630.343612 .054413
+P 27 20452.565567 -341.470838 -16644.555909 514.446284
+V 27 17124.037922 13952.024778 19674.594758 .062486
+P 28 12131.938767 -19334.015781 -13080.332211 46.496013
+V 28 49.524296 17291.884452 -25420.370739 .001624
+P 29 -7175.741407 -12823.353272 -21865.559348 175.858611
+V 29 25998.595172 -11274.888448 -1758.008038 -.190944
+P 30 -15566.773457 691.740008 21253.007036 441.999463
+V 30 2443.741124 -27544.256509 2764.867983 -.145058
+P 31 22357.180583 -13936.999381 4070.012664 -.808431
+V 31 6477.560610 631.797254 -30431.819904 -.079350
+* 2005 1 21 20 30 .00000000
+P 1 -6609.635424 17164.106133 19343.381528 384.155002
+V 1 -22379.090673 9016.826721 -15828.621313 .020892
+P 2 -7886.038964 -19202.782797 16311.318665 -41.773875
+V 2 18719.938132 10272.738705 20679.036742 .054684
+P 3 771.826188 17227.723999 -20265.592430 78.546610
+V 3 -22729.459829 11963.421817 9626.435749 .028876
+P 4 6269.590084 -14169.598508 21542.291019 438.390749
+V 4 22683.332087 15388.472844 3853.963665 -.207204
+P 5 -13466.110835 -13820.119613 18163.550885 73.546284
+V 5 1656.456196 -23418.816423 -16279.535057 .024463
+P 6 -24450.832636 4779.746860 9553.334435 -150.372052
+V 6 9080.410496 -8271.785884 27828.664348 .873555
+P 7 18938.842219 -17020.192743 7691.078128 58.463322
+V 7 9781.208789 -1540.588282 -29212.274389 -.303792
+P 8 16782.389446 -5031.000453 -20243.472556 -19.236223
+V 8 19891.817112 15474.498649 12404.595615 -.011623
+P 9 -21708.405610 -15510.097414 -2393.192790 -25.139612
+V 9 3481.330318 -984.276432 -31207.873549 -.018552
+P 10 -1803.412281 -25683.918555 -5909.870997 57.639793
+V 10 3023.287197 -7245.990632 31154.872706 .006952
+P 11 22948.581451 13450.382213 -1861.846511 187.090579
+V 11 -4104.853432 2852.400876 -30196.972117 .036839
+P 13 24306.975813 -4474.544643 9577.345294 -13.657341
+V 13 -10260.693053 6916.526816 29168.921322 .009672
+P 14 -19917.987380 15642.233829 8030.532413 -31.498686
+V 14 -9977.781040 2577.070659 -29997.157944 -.000925
+P 15 -9950.775317 11568.600497 -21946.342621 378.735001
+V 15 -21525.154423 -16900.450990 568.442758 .053521
+P 16 -2284.375812 26434.228926 578.255077 1.963346
+V 16 -2787.921403 -845.670715 31782.343278 -.001774
+P 17 -14855.808682 -20796.806119 8787.037694 -89.984640
+V 17 9202.784997 5546.306644 28763.418322 .195747
+P 18 -15191.129120 6883.492776 -20553.779369 -119.540690
+V 18 1963.476025 -26237.468253 -10454.064792 -.037421
+P 19 10493.688451 11766.577213 -21272.203349 -12.010259
+V 19 -24884.916100 11124.285785 -6123.949390 -.008852
+P 20 12789.614658 12691.445166 19448.557891 -90.440398
+V 20 -2771.212445 24716.593891 -14236.170787 .026675
+P 21 -21115.392813 -1095.220482 -16349.761503 88.178024
+V 21 -15485.104733 -13700.410943 20482.491872 .010088
+P 22 -12433.145562 18426.710125 -14391.302793 16.315678
+V 22 131.999260 -18674.190587 -23731.672512 .003412
+P 23 20178.566769 3212.458166 16935.648337 211.573023
+V 23 -18670.073135 11062.392607 19930.038625 .004942
+P 24 9219.706539 -12091.499876 22037.673274 89.917178
+V 24 21895.805238 16352.565287 -59.935558 .028438
+P 25 -3511.917821 15711.628994 21506.942733 84.455054
+V 25 -23407.698642 -12357.503085 5333.068396 .009194
+P 26 -10009.697970 -11515.095756 -22108.079626 317.860196
+V 26 24610.854292 -11578.206161 -4596.324964 .054408
+P 27 21932.932869 815.250701 -14733.051260 514.451785
+V 27 15693.525729 11755.912037 22737.545151 .062483
+P 28 12162.558534 -17652.946919 -15245.569878 46.496134
+V 28 689.574305 20009.475038 -22624.795242 .001631
+P 29 -4862.597302 -13902.616735 -21830.469562 175.841679
+V 29 25317.116821 -12666.604462 2537.461595 -.190948
+P 30 -15406.800878 -1798.151255 21313.979232 441.986912
+V 30 1103.505576 -27695.873840 -1411.326234 -.145066
+P 31 22803.107660 -13823.980133 1304.317180 -.815473
+V 31 3453.304472 1941.318370 -30940.562042 -.079367
+* 2005 1 21 20 45 .00000000
+P 1 -8523.622061 17992.953463 17758.780530 384.157015
+V 1 -20101.724151 9331.850114 -19335.728153 .020885
+P 2 -6091.652654 -18268.442887 18023.946185 -41.769027
+V 2 21114.997307 10416.647343 17322.073692 .054666
+P 3 -1202.949645 18322.712275 -19228.157782 78.548612
+V 3 -21099.912367 12306.470869 13396.303707 .028864
+P 4 8354.918397 -12831.780821 21702.479569 438.371899
+V 4 23583.836459 14287.811549 -297.420594 -.207204
+P 5 -13364.181763 -15840.990523 16545.386687 73.548905
+V 5 648.999027 -21419.657055 -19626.499568 .024457
+P 6 -23533.034854 3948.546681 11969.785103 -150.293366
+V 6 11249.573688 -10227.079686 25794.729141 .873510
+P 7 19688.805791 -17101.069573 5003.498638 58.435909
+V 7 6893.185674 -188.749554 -30427.100382 -.303795
+P 8 18551.574081 -3726.300707 -18960.214155 -19.238136
+V 8 19340.079993 13500.470106 16071.319247 -.011617
+P 9 -21263.271523 -15528.238971 -5174.022460 -25.140777
+V 9 6429.617728 514.511544 -30502.627368 -.018551
+P 10 -1556.044422 -26181.782152 -3062.404858 57.640655
+V 10 2543.354713 -3793.918044 32029.866370 .006946
+P 11 22448.411742 13650.999734 -4556.029198 187.093757
+V 11 -7024.191030 1664.967315 -29588.751018 .036839
+P 13 23272.150217 -3758.802996 12112.037019 -13.656574
+V 13 -12664.521581 9024.218092 27076.025116 .009671
+P 14 -20672.447182 15825.373769 5269.473631 -31.498712
+V 14 -6794.827543 1418.273441 -31271.756544 -.000933
+P 15 -11918.641178 10106.462322 -21710.226477 378.739987
+V 15 -22130.379304 -15543.452706 4669.717395 .053527
+P 16 -2531.717534 26203.372012 3425.453568 1.963193
+V 16 -2777.840021 -4278.367145 31397.714797 -.001773
+P 17 -13904.195772 -20233.164344 11296.916146 -89.966862
+V 17 11952.758550 6906.374835 26935.552587 .195779
+P 18 -15072.518995 4473.192683 -21313.360857 -119.544064
+V 18 646.658174 -27237.159475 -6402.273880 -.037428
+P 19 8258.982868 12835.395889 -21637.043533 -12.011217
+V 19 -24688.771010 12597.082706 -1971.927313 -.008855
+P 20 12600.318299 14842.324529 18002.786743 -90.437770
+V 20 -1468.155035 23000.581242 -17845.362637 .026665
+P 21 -22449.922413 -2229.930166 -14373.585931 88.178859
+V 21 -14093.946554 -11519.491275 23369.502633 .010084
+P 22 -12455.335166 16629.900159 -16395.951467 16.315974
+V 22 -679.134736 -21194.421618 -20750.705051 .003403
+P 23 18440.349708 4297.881751 18578.052770 211.573532
+V 23 -19872.318585 13058.189330 16514.480480 .004938
+P 24 11222.628164 -10677.988355 21847.264865 89.919970
+V 24 22538.077865 15011.695516 -4164.859837 .028431
+P 25 -5663.608551 14645.084748 21806.831564 84.455607
+V 25 -24335.397131 -11298.451132 1322.381994 .009201
+P 26 -7808.910879 -12628.509181 -22336.456806 317.865139
+V 26 24212.340058 -13128.346837 -468.539980 .054403
+P 27 23263.566871 1776.536267 -12564.328504 514.457607
+V 27 13802.470134 9624.351592 25383.099130 .062480
+P 28 12265.783783 -15743.555380 -17140.773169 46.496121
+V 28 1653.180909 22352.673023 -19428.743441 .001638
+P 29 -2633.713169 -15094.498506 -21410.039986 175.824334
+V 29 24134.474071 -13763.886608 6792.154685 -.190952
+P 30 -15368.201958 -4277.155076 20999.845019 441.973801
+V 30 -238.719834 -27302.731459 -5558.324436 -.145075
+P 31 22983.887954 -13577.035188 -1483.516038 -.822602
+V 31 599.180204 3601.231347 -30923.847465 -.079385
+* 2005 1 21 21 0 .00000000
+P 1 -10219.829478 18830.590127 15872.644343 384.158758
+V 1 -17554.085065 9205.804205 -22519.861353 .020878
+P 2 -4093.944751 -17340.561919 19419.886799 -41.764164
+V 2 23223.495814 10135.274681 13651.816778 .054648
+P 3 -3017.419411 19430.849490 -17860.871866 78.551380
+V 3 -19179.384332 12248.715238 16945.810701 .028851
+P 4 10500.761365 -11606.182525 21489.253315 438.353663
+V 4 24020.904629 12907.776698 -4432.246172 -.207205
+P 5 -13341.058172 -17664.057415 14641.177692 73.550286
+V 5 -84.443471 -19034.244323 -22627.128234 .024451
+P 6 -22438.349960 2935.047071 14183.356760 -150.214755
+V 6 13004.580258 -12309.654554 23326.728693 .873465
+P 7 20182.472855 -17042.375489 2229.784579 58.408593
+V 7 4100.249257 1555.577961 -31122.737646 -.303797
+P 8 20248.568474 -2602.843347 -17358.874079 -19.238446
+V 8 18287.752040 11462.197513 19463.558492 -.011610
+P 9 -20548.951808 -15429.884901 -7868.522994 -25.142639
+V 9 9448.545592 1600.566919 -29292.871223 -.018550
+P 10 -1332.796481 -26364.100328 -161.314382 57.639952
+V 10 2489.833621 -251.179465 32344.553108 .006940
+P 11 21682.938832 13761.049709 -7172.713320 187.096901
+V 11 -9986.365538 842.778273 -28477.192568 .036841
+P 13 22040.947132 -2845.113662 14436.936240 -13.655744
+V 13 -14616.094999 11300.656099 24513.616495 .009671
+P 14 -21143.762944 15884.513421 2417.746102 -31.498724
+V 14 -3701.923551 -173.554826 -32008.992337 -.000942
+P 15 -13920.178409 8778.221227 -21108.396354 378.745895
+V 15 -22267.303788 -13938.619442 8684.298390 .053534
+P 16 -2796.707128 25666.701948 6213.617205 1.962974
+V 16 -3177.811323 -7625.199779 30472.521813 -.001772
+P 17 -12704.102328 -19566.968237 13622.189867 -89.949183
+V 17 14709.646301 7823.350480 24666.311755 .195810
+P 18 -15078.034734 1996.962467 -21703.086316 -119.547565
+V 18 -780.151767 -27698.855139 -2247.110218 -.037435
+P 19 6064.794549 14027.349208 -21626.144909 -12.011957
+V 19 -23990.385367 13846.707484 2213.591994 -.008858
+P 20 12518.290142 16817.930998 16245.715412 -90.435551
+V 20 -399.957821 20831.122553 -21143.978562 .026655
+P 21 -23638.797597 -3170.792273 -12155.253860 88.180009
+V 21 -12253.153986 -9407.164665 25856.645322 .010079
+P 22 -12564.185694 14623.702611 -18115.464105 16.316309
+V 22 -1783.022321 -23315.486076 -17404.439094 .003393
+P 23 16616.953180 5561.540635 19899.551981 211.573842
+V 23 -20561.731175 15007.570743 12809.005554 .004934
+P 24 13262.363216 -9396.670336 21290.171534 89.921687
+V 24 22707.641550 13428.544711 -8197.397348 .028424
+P 25 -7878.647275 13684.896247 21744.365861 84.456069
+V 25 -24808.847726 -10006.712497 -2708.480341 .009208
+P 26 -5665.916508 -13870.437427 -22191.585144 317.869953
+V 26 23333.043496 -14420.046512 3686.907155 .054398
+P 27 24404.843462 2552.231275 -10177.830051 514.463417
+V 27 11494.116722 7645.709203 27571.069157 .062476
+P 28 12467.881916 -13642.846551 -18732.476111 46.496057
+V 28 2874.745967 24250.384215 -15890.659107 .001648
+P 29 -531.685785 -16368.996195 -20611.420726 175.807041
+V 29 22509.217799 -14490.959998 10928.948258 -.190956
+P 30 -15447.199416 -6696.645593 20316.588956 441.960537
+V 30 -1495.375898 -26376.973558 -9601.796698 -.145084
+P 31 22918.412604 -13166.650493 -4246.343533 -.829646
+V 31 -2006.902398 5564.303694 -30386.351464 -.079403
+* 2005 1 21 21 15 .00000000
+P 1 -11677.968548 19635.869853 13716.539202 384.160966
+V 1 -14826.977408 8609.424021 -25326.390494 .020871
+P 2 -1922.529388 -16455.525233 20473.808057 -41.759414
+V 2 24962.193674 9473.352807 9732.891331 .054631
+P 3 -4648.838467 20514.430586 -16186.392165 78.553214
+V 3 -17045.718440 11756.502935 20212.788602 .028838
+P 4 12663.717035 -10514.295654 20907.293211 438.335072
+V 4 23959.748597 11330.769892 -8479.886693 -.207206
+P 5 -13369.483494 -19257.728031 12484.410868 73.552782
+V 5 -488.436867 -16334.950345 -25231.096798 .024445
+P 6 -21205.607235 1731.453532 16156.834149 -150.135928
+V 6 14313.587686 -14437.278445 20466.865192 .873420
+P 7 20432.240001 -16810.500864 -582.486708 58.380966
+V 7 1486.693238 3651.518426 -31281.778103 -.303800
+P 8 21828.629184 -1662.288785 -15466.654205 -19.238267
+V 8 16744.661218 9451.029519 22526.617546 -.011604
+P 9 -19563.087596 -15252.987816 -10432.319125 -25.144819
+V 9 12448.990866 2258.852285 -27602.676421 -.018549
+P 10 -1094.895173 -26227.421806 2742.596397 57.639859
+V 10 2868.289214 3277.333165 32092.306232 .006935
+P 11 20652.149027 13813.972417 -9667.372637 187.100097
+V 11 -12905.770675 395.798962 -26880.858305 .036843
+P 13 20656.105280 -1722.378143 16511.731275 -13.654922
+V 13 -16073.231662 13653.796150 21526.231518 .009671
+P 14 -21344.332265 15782.284665 -475.610061 -31.498997
+V 14 -793.358238 -2159.778658 -32195.373089 -.000951
+P 15 -15911.840438 7602.395825 -20151.624913 378.751591
+V 15 -21907.621609 -12171.081807 12546.572629 .053539
+P 16 -3115.363487 24836.288685 8894.791194 1.962779
+V 16 -3965.194343 -10790.504027 29023.759792 -.001770
+P 17 -11258.956100 -18838.367851 15724.635937 -89.931564
+V 17 17383.334377 8294.000581 21990.050881 .195841
+P 18 -15213.551345 -496.058446 -21716.923910 -119.551023
+V 18 -2227.109870 -27609.753538 1938.617570 -.037440
+P 19 3954.486344 15318.727161 -21239.791576 -12.012971
+V 19 -22833.432198 14794.163542 6359.322441 -.008860
+P 20 12519.193490 18580.240343 14207.900162 -90.433388
+V 20 364.279991 18272.554259 -24075.158286 .026647
+P 21 -24643.092754 -3927.798084 -9732.568119 88.180750
+V 21 -9999.623169 -7447.160009 27904.750175 .010073
+P 22 -12782.950917 12447.001139 -19519.525537 16.316671
+V 22 -3108.955578 -24974.129795 -13750.862080 .003383
+P 23 14754.577762 6995.054054 20876.881825 211.574474
+V 23 -20740.442441 16817.367415 8877.275105 .004929
+P 24 15294.930604 -8265.576216 20375.879694 89.924607
+V 24 22375.344250 11687.996577 -12091.799822 .028417
+P 25 -10114.602953 12848.481594 21320.637938 84.457102
+V 25 -24796.219038 -8561.632838 -6694.929826 .009215
+P 26 -3621.997253 -15213.959917 -21674.017427 317.874736
+V 26 22019.765044 -15373.516486 7802.193121 .054393
+P 27 25321.726279 3159.730648 -7616.202379 514.468916
+V 27 8826.798326 5898.870912 29270.467517 .062473
+P 28 12788.666368 -11393.519956 -19992.771490 46.496078
+V 28 4276.965469 25647.581497 -12075.403322 .001658
+P 29 1406.878847 -17689.895405 -19448.620820 175.789563
+V 29 20515.465361 -14786.056497 14872.810119 -.190959
+P 30 -15632.287900 -9009.941906 19276.790845 441.947318
+V 30 -2582.891815 -24949.519622 -13469.753959 -.145092
+P 31 22632.107032 -12568.158032 -6937.813209 -.837097
+V 31 -4298.049368 7770.429967 -29340.916544 -.079421
+* 2005 1 21 21 30 .00000000
+P 1 -12886.175708 20365.828472 11326.692966 384.163523
+V 1 -12016.252982 7531.746477 -27706.504685 .020864
+P 2 386.005190 -15644.985335 21166.439716 -41.754764
+V 2 26259.893439 8490.958421 5635.172152 .054616
+P 3 -6081.778126 21533.452819 -14232.789700 78.556116
+V 3 -14783.130776 10812.641137 23139.292793 .028826
+P 4 14798.032023 -9569.908748 19967.544496 438.316251
+V 4 23383.058328 9645.000065 -12371.950010 -.207207
+P 5 -13417.846449 -20597.396751 10112.778555 73.555018
+V 5 -521.959724 -13404.160454 -27395.392753 .024439
+P 6 -19875.756249 337.562946 17857.080191 -150.057487
+V 6 15161.432680 -16524.016474 17263.439145 .873375
+P 7 20457.768186 -16376.244065 -3384.582646 58.353571
+V 7 -870.878555 6042.250056 -30896.058732 -.303802
+P 8 23248.685209 -898.191585 -13315.446947 -19.240497
+V 8 14738.044395 7555.192393 25211.070020 -.011598
+P 9 -18311.365154 -15036.073673 -12823.508068 -25.147095
+V 9 15341.814624 2491.639325 -25462.808498 -.018547
+P 10 -803.942058 -25777.742891 5598.398280 57.639628
+V 10 3664.844878 6687.248991 31276.985443 .006931
+P 11 19363.750191 13843.384279 -11997.513552 187.103170
+V 11 -15696.944053 317.979802 -24826.299591 .036848
+P 13 19163.314676 -388.046042 18300.464100 -13.654294
+V 13 -17012.720758 15986.351926 18165.936134 .009672
+P 14 -21294.685689 15485.576598 -3360.765918 -31.499225
+V 14 1844.995869 -4484.712637 -31826.896295 -.000958
+P 15 -17848.300609 6589.626617 -18856.470943 378.755653
+V 15 -21040.205164 -10330.222487 16193.717357 .053545
+P 16 -3520.887442 23732.535832 11422.956802 1.962536
+V 16 -5100.224507 -13685.324265 27077.382370 -.001768
+P 17 -9580.279715 -18087.048445 17569.389515 -89.915035
+V 17 19884.561098 8331.850359 18946.985699 .195873
+P 18 -15476.801487 -2956.442959 -21355.402694 -119.554172
+V 18 -3603.738249 -26976.260823 6082.140700 -.037446
+P 19 1966.761731 16679.175065 -20484.837374 -12.013848
+V 19 -21277.424641 15371.295545 10392.779011 -.008861
+P 20 12573.051391 20097.634603 11924.726115 -90.431125
+V 20 768.742643 15402.447382 -26588.608287 .026640
+P 21 -25427.893623 -4518.129415 -7146.538259 88.181643
+V 21 -7385.333336 -5715.055524 29481.791950 .010068
+P 22 -13128.039464 10143.664226 -20583.309846 16.316906
+V 22 -4576.047165 -26123.197363 -9853.787079 .003373
+P 23 12898.388289 8581.776274 21492.709217 211.574800
+V 23 -20429.253599 18397.698727 4787.239179 .004925
+P 24 17274.492670 -7294.876528 19119.702328 89.928405
+V 24 21529.221610 9879.283202 -15784.481906 .028410
+P 25 -12326.893070 12145.881931 20542.531184 84.456733
+V 25 -24281.685729 -7047.290400 -10572.998085 .009222
+P 26 -1713.540763 -16625.444154 -20790.454601 317.879377
+V 26 20334.175912 -15919.900681 11808.673902 .054388
+P 27 25985.017156 3622.994751 -4924.464300 514.474393
+V 27 5871.473888 4450.427766 30459.553671 .062469
+P 28 13240.590112 -9042.422011 -20899.826138 46.496121
+V 28 5774.167290 26507.430239 -8052.849720 .001670
+P 29 3152.632927 -19016.156379 -17942.249181 175.772788
+V 29 18239.833606 -14604.107207 18552.363613 -.190963
+P 30 -15904.752601 -11173.944009 17899.351117 441.933917
+V 30 -3425.187358 -23068.744968 -17093.952127 -.145101
+P 31 22155.837968 -11762.793445 -9513.079859 -.844222
+V 31 -6220.558187 10148.938208 -27808.106401 -.079438
+* 2005 1 21 21 45 .00000000
+P 1 -13841.308244 20977.366637 8743.431645 384.163576
+V 1 -9219.251948 5980.785135 -29618.084854 .020857
+P 2 2789.319476 -14934.589208 21484.985693 -41.750011
+V 2 27060.440926 7261.001262 1432.414815 .054603
+P 3 -7308.555690 22447.145564 -12033.118623 78.558030
+V 3 -12478.983106 9417.365721 25672.713263 .028814
+P 4 16857.206453 -8778.742138 18686.966258 438.297972
+V 4 22291.597766 7940.957897 -16043.359638 -.207208
+P 5 -13451.554221 -21666.205842 7567.491492 73.557004
+V 5 -159.988973 -10331.116339 -29084.931321 .024434
+P 6 -18490.344779 -1239.047718 19255.550603 -149.979260
+V 6 15549.994255 -18483.454149 13770.079091 .873330
+P 7 20285.150741 -15716.166835 -6127.472271 58.326016
+V 7 -2906.612465 8656.888644 -29967.184355 -.303805
+P 8 24468.868723 -296.428856 -10941.331735 -19.242688
+V 8 12311.647642 5856.545979 27473.398857 -.011591
+P 9 -16807.378438 -14816.698964 -15003.234069 -25.148465
+V 9 18040.922000 2318.090345 -22910.111323 -.018545
+P 10 -423.646045 -25030.276926 8355.981035 57.640613
+V 10 4846.701347 9878.783524 29912.905277 .006926
+P 11 17833.018425 13881.645911 -14123.377107 187.106414
+V 11 -18277.677928 587.564696 -22347.659015 .036853
+P 13 17609.468946 1151.585015 19772.166538 -13.653559
+V 13 -17431.089411 18199.637443 14491.381329 .009676
+P 14 -21022.580587 14966.983492 -6187.964641 -31.499386
+V 14 4138.921404 -7077.651672 -30909.173548 -.000964
+P 15 -19684.022428 5742.444594 -17244.989983 378.759827
+V 15 -19671.540177 -8506.304632 19566.540759 .053551
+P 16 -4042.189283 22383.427109 13754.815290 1.962279
+V 16 -6527.645269 -16230.684454 24667.781812 -.001766
+P 17 -7687.476462 -17350.740158 19125.456434 -89.897423
+V 17 22127.966318 7966.695895 15582.856195 .195904
+P 18 -15857.484709 -5336.193057 -20625.550310 -119.557542
+V 18 -4822.605436 -25823.602150 10112.026200 -.037453
+P 19 134.344049 18072.799241 -19374.573974 -12.014830
+V 19 -19395.290860 15523.595292 14243.601150 -.008860
+P 20 12645.548118 21345.963549 9435.776625 -90.428939
+V 20 773.155120 12308.652001 -28641.459467 .026635
+P 21 -25963.575511 -4965.300088 -4440.721263 88.182529
+V 21 -4475.504397 -4275.563622 30563.236473 .010064
+P 22 -13608.244826 7761.007768 -21287.953332 16.317123
+V 22 -6096.540526 -26733.487187 -5781.690842 .003364
+P 23 11090.867137 10297.256777 21735.965394 211.575384
+V 23 -19666.769155 19665.593203 609.949808 .004920
+P 24 19154.931023 -6486.640185 17542.545318 89.930877
+V 24 20175.039120 8092.645584 -19214.884242 .028402
+P 25 -14470.257634 11579.474786 19422.628225 84.458390
+V 25 -23266.081402 -5549.382114 -14280.137125 .009229
+P 26 29.208866 -18065.662210 -19553.775282 317.884258
+V 26 18350.735588 -16004.163264 15637.887934 .054384
+P 27 26372.366952 3971.338216 -2149.180104 514.479845
+V 27 2708.886555 3352.454564 31125.684986 .062466
+P 28 13828.156164 -6638.842051 -21438.264876 46.496124
+V 28 7275.990904 26812.634069 -3896.378861 .001683
+P 29 4684.453649 -20303.511990 -16119.118249 175.755232
+V 29 15777.849845 -13918.728622 21901.366133 -.190967
+P 30 -16239.488548 -13150.617957 16209.094869 441.920615
+V 30 -3956.829154 -20798.463942 -20411.179201 -.145109
+P 31 21524.647300 -10738.530442 -11929.477527 -.851606
+V 31 -7735.582796 12621.227547 -25815.695661 -.079456
+* 2005 1 21 22 0 .00000000
+P 1 -14548.914254 21428.961690 6010.540466 384.167405
+V 1 -6531.154982 3983.498671 -31026.505305 .020850
+P 2 5240.789634 -14342.958163 21423.406858 -41.745047
+V 2 27325.126683 5866.143373 -2799.239357 .054590
+P 3 -8329.365768 23215.557552 -9624.887973 78.561942
+V 3 -10220.393347 7588.640797 27766.833112 .028801
+P 4 18795.621930 -8138.402760 17088.187973 438.279297
+V 4 20704.121380 6307.862871 -19433.338875 -.207209
+P 5 -13434.519699 -22455.511843 4892.543578 73.559453
+V 5 605.556776 -7208.542242 -30273.012256 .024428
+P 6 -17089.991746 -2983.124073 20328.736738 -149.900823
+V 6 15497.941719 -20231.930398 10044.918370 .873285
+P 7 19945.821176 -14813.750958 -8762.721975 58.298508
+V 7 -4568.104003 11413.009404 -28506.863187 -.303807
+P 8 25453.938890 164.089297 -8384.016712 -19.243409
+V 8 9524.256925 4427.576480 29276.574374 -.011584
+P 9 -15072.223669 -14629.969747 -16936.207430 -25.150165
+V 9 20466.163662 1773.288412 -19986.889945 -.018544
+P 10 78.526993 -24008.864743 10966.984035 57.640773
+V 10 6363.453269 12760.622352 28024.567120 .006922
+P 11 16082.368799 13958.484636 -16008.600079 187.109637
+V 11 -20572.021846 1167.989975 -19486.160788 .036860
+P 13 16040.883641 2881.419286 20901.405654 -13.652711
+V 13 -17344.588729 20197.472993 10566.734231 .009680
+P 14 -20561.822772 14206.042316 -8908.385976 -31.499746
+V 14 6028.647581 -9855.502553 -29457.383748 -.000969
+P 15 -21374.841255 5055.344217 -15344.371789 378.763099
+V 15 -17825.545571 -6787.098011 22610.267367 .053557
+P 16 -4702.590605 20823.495620 15850.518829 1.962050
+V 16 -8178.936495 -18360.457685 21837.132771 -.001762
+P 17 -5607.344685 -16663.795549 20366.193699 -89.879763
+V 17 24035.058889 7243.584781 11948.547693 .195936
+P 18 -16337.701704 -7590.388873 -19540.716805 -119.561022
+V 18 -5802.845170 -24194.713639 13959.407738 -.037460
+P 19 -1517.101894 19459.501427 -17928.481870 -12.015722
+V 19 -17270.431553 15212.461906 17844.826772 -.008859
+P 20 12699.506299 22309.321922 6784.131817 -90.426815
+V 20 354.417157 9085.958049 -30198.981277 .026633
+P 21 -26226.894920 -5298.070954 -1660.535092 88.183322
+V 21 -1346.305481 -3180.226565 31132.298790 .010060
+P 22 -14224.287985 5348.122131 -21620.917617 16.317445
+V 22 -7579.422679 -26794.896610 -1606.438845 .003355
+P 23 9370.277535 12110.016440 21602.068646 211.575891
+V 23 -18507.825387 20548.366329 -3581.704593 .004914
+P 24 20891.443706 -5834.895699 15670.597115 89.933863
+V 24 18336.222523 6415.958629 -22326.313888 .028395
+P 25 -16500.267172 11143.971298 17979.047013 84.459337
+V 25 -21766.998083 -4152.045351 -17756.021889 .009237
+P 26 1583.188333 -19491.149668 -17982.970287 317.889110
+V 26 16154.082092 -15587.569163 19222.662926 .054379
+P 27 26469.018385 4238.047362 662.346479 514.485609
+V 27 -573.528189 2640.926805 31265.009911 .062463
+P 28 14547.668326 -4232.724349 -21599.416260 46.496157
+V 28 8691.238998 26565.950850 318.679338 .001697
+P 29 5990.069478 -21506.209223 -14011.720125 175.737978
+V 29 13230.002779 -12723.413358 24860.057253 -.190971
+P 30 -16606.083444 -14908.271717 14236.266446 441.907519
+V 30 -4125.711162 -18215.313836 -23364.396020 -.145117
+P 31 20776.360498 -9490.666567 -14147.143690 -.858608
+V 31 -8820.251333 15103.639913 -23398.112003 -.079474
+* 2005 1 21 22 15 .00000000
+P 1 -15022.875318 21682.344278 3174.556678 384.171217
+V 1 -4041.380251 1585.039031 -31905.345942 .020842
+P 2 7691.159094 -13880.965706 20982.565127 -41.740258
+V 2 27034.371244 4395.281334 -6982.842946 .054578
+P 3 -9152.104157 23801.139693 -7049.441590 78.564798
+V 3 -8090.815923 5361.758480 29382.806025 .028788
+P 4 20570.132003 -7638.655042 15199.082131 438.260773
+V 4 18656.629569 4830.213907 -22486.290693 -.207210
+P 5 -13330.703758 -22965.043511 2133.942611 73.560582
+V 5 1765.539096 -4129.186850 -30941.619472 .024422
+P 6 -15712.910084 -4872.124223 21058.532255 -149.822273
+V 6 15039.881290 -21691.669535 6149.726729 .873241
+P 7 19475.239367 -13660.302135 -11243.411746 58.271425
+V 7 -5818.602625 14219.726591 -26537.021726 -.303809
+P 8 26174.549562 510.452973 -5686.231163 -19.244286
+V 8 6447.707065 3328.722488 30590.570444 -.011577
+P 9 -13133.841941 -14507.171623 -18591.168782 -25.151346
+V 9 22546.000554 906.763450 -16740.297829 -.018542
+P 10 729.857017 -22745.050131 13385.692347 57.640789
+V 10 8149.147318 15253.454324 25646.161265 .006918
+P 11 14140.664817 14099.723439 -17620.825370 187.112887
+V 11 -22513.068542 2009.343713 -16289.494297 .036867
+P 13 14501.551003 4777.961330 21668.728230 -13.651813
+V 13 -16788.401127 21889.997792 6460.508082 .009683
+P 14 -19950.861304 13190.209998 -11474.998680 -31.499806
+V 14 7471.082184 -12725.917301 -27496.052540 -.000972
+P 15 -22879.502447 4515.156013 -13186.509559 378.766374
+V 15 -15542.789215 -5254.612773 25275.269021 .053565
+P 16 -5518.750195 19092.556954 17674.336795 1.961949
+V 16 -9975.048132 -20023.729018 18634.615484 -.001759
+P 17 -3373.331975 -16055.882315 21269.753424 -89.861975
+V 17 25537.017166 6221.279626 8099.654428 .195968
+P 18 -16892.692877 -9678.707707 -18120.291378 -119.564478
+V 18 -6473.378580 -22148.472228 17559.131184 -.037466
+P 19 -2969.764590 20796.488598 -16171.869925 -12.016621
+V 19 -14993.381391 14416.826802 21134.090938 -.008856
+P 20 12696.480690 22980.513856 4015.609750 -90.424589
+V 20 -492.446768 5832.505897 -31235.141289 .026632
+P 21 -26201.857684 -5549.178678 1147.447209 88.184217
+V 21 1917.805920 -2465.592813 31180.117677 .010056
+P 22 -14968.693222 2954.130209 -21576.233971 16.317566
+V 22 -8934.189707 -26316.803935 2598.074186 .003346
+P 23 7769.297996 13982.611543 21093.030493 211.576345
+V 23 -17021.270929 20986.616710 -7714.319396 .004907
+P 24 22442.108452 -5325.993646 13534.943848 89.937049
+V 24 16053.174733 4931.429974 -25066.760261 .028387
+P 25 -18374.814367 10826.698735 16235.204445 84.458727
+V 25 -19818.323334 -2934.712468 -20943.358382 .009244
+P 26 2933.296160 -20855.765146 -16102.973169 317.893911
+V 26 13835.960767 -14649.642499 22498.317779 .054374
+P 27 26268.264124 4458.884520 3462.845083 514.491111
+V 27 -3884.857848 2334.790726 30882.042459 .062459
+P 28 15387.329738 -1872.871533 -21381.417620 46.496411
+V 28 9931.726340 25789.870122 4516.606673 .001711
+P 29 7066.321477 -22578.819993 -11657.588726 175.720810
+V 29 10697.612183 -11031.875619 27376.337702 -.190974
+P 30 -16970.116308 -16422.573124 12015.928821 441.894737
+V 30 -3895.154659 -15405.661769 -25903.708205 -.145125
+P 31 19950.119838 -8022.143663 -16129.591587 -.865530
+V 31 -9468.217596 17510.467453 -20595.843522 -.079491
+* 2005 1 21 22 30 .00000000
+P 1 -15284.732017 21704.075250 284.003014 384.170820
+V 1 -1830.161675 -1152.708708 -32236.995285 .020833
+P 2 10090.306322 -13551.345894 20170.223330 -41.735532
+V 2 26188.610462 2939.747635 -11042.259917 .054568
+P 3 -9791.887785 24170.260222 -4351.254815 78.567860
+V 3 -6166.730494 2788.237392 30490.023079 .028775
+P 4 22141.557335 -7261.992933 13052.262515 438.242305
+V 4 16201.003628 3584.565775 -25152.569689 -.207211
+P 5 -13105.652648 -23202.749690 -661.079048 73.561951
+V 5 3293.983992 -1182.412248 -31081.568865 .024417
+P 6 -14393.532321 -6876.881988 21432.519842 -149.743707
+V 6 14224.933643 -22793.705614 2149.003229 .873196
+P 7 18911.406055 -12255.555722 -13525.050771 58.243860
+V 7 -6638.604039 16981.217448 -24089.671679 -.303812
+P 8 26608.316591 774.563333 -2893.074355 -19.245402
+V 8 3164.431526 2606.121572 31392.816947 -.011571
+P 9 -11026.135668 -14474.552980 -19941.298042 -25.152918
+V 9 24219.861244 -219.430546 -13221.731649 -.018541
+P 10 1551.087954 -21276.858896 15569.878179 57.641798
+V 10 10124.991439 17293.001736 22820.853790 .006914
+P 11 12042.290748 14326.164658 -18932.252292 187.116108
+V 11 -24045.421132 3050.335393 -12811.095791 .036875
+P 13 13031.499924 6810.047599 22060.996300 -13.651056
+V 13 -15815.103316 23197.236388 2244.315911 .009688
+P 14 -19231.211084 11915.540571 -13843.385317 -31.499959
+V 14 8441.393103 -15590.807656 -25058.659216 -.000975
+P 15 -24161.102713 4101.704308 -10807.505815 378.770095
+V 15 -12879.127236 -3982.046369 27517.741528 .053573
+P 16 -6499.854654 17234.255696 19195.247379 1.961757
+V 16 -11829.529935 -21186.567123 15115.535605 -.001755
+P 17 -1024.548065 -15550.836581 21819.484277 -89.843917
+V 17 26577.236412 4970.231621 4095.968946 .196000
+P 18 -17491.849021 -11566.756901 -16389.320480 -119.567834
+V 18 -6775.720667 -19757.344363 20850.798901 -.037472
+P 19 -4214.167385 22039.897994 -14135.411307 -12.017348
+V 19 -12658.211073 13134.080856 24054.725590 -.008854
+P 20 12598.405325 23361.188286 1177.964455 -90.422154
+V 20 -1754.054202 2646.088716 -31733.002819 .026632
+P 21 -25880.334310 -5753.924159 3936.215484 88.185076
+V 21 5227.025405 -2151.929197 30705.849848 .010053
+P 22 -15826.003770 626.446322 -21154.622665 16.317830
+V 22 -10074.606713 -25327.667213 6757.336487 .003339
+P 23 6313.882574 15872.945488 20217.441589 211.576867
+V 23 -15287.184394 20936.715068 -11715.321791 .004901
+P 24 23769.357368 -4939.258818 11171.112240 89.941114
+V 24 13381.994850 3712.481617 -27389.682728 .028378
+P 25 -20055.538883 10608.160924 14219.506956 84.459398
+V 25 -17469.220115 -1969.096968 -23788.698032 .009252
+P 26 4072.879816 -22112.398544 -13944.378932 317.898537
+V 26 11491.781641 -13189.495963 25403.942148 .054369
+P 27 25771.614381 4670.537750 6205.809233 514.496806
+V 27 -7133.934364 2435.676257 29989.154054 .062456
+P 28 16327.681313 394.786283 -20789.181177 46.496491
+V 28 10915.956326 24525.483525 8622.815675 .001725
+P 29 7919.051713 -23478.044567 -9098.564649 175.704017
+V 29 8278.703002 -8877.543126 29406.747809 -.190978
+P 30 -17294.616039 -17677.273152 9587.283678 441.881581
+V 30 -3245.352260 -12462.173793 -27987.154265 -.145134
+P 31 19084.893647 -6343.595215 -17844.227988 -.872759
+V 31 -9689.643461 19756.998433 -17454.820205 -.079509
+* 2005 1 21 22 45 .00000000
+P 1 -15362.714734 21466.960631 -2611.427435 384.172690
+V 1 34.556728 -4153.255350 -32013.123912 .020826
+P 2 12389.054417 -13348.649793 19000.899649 -41.730848
+V 2 24808.335896 1589.403154 -14903.771403 .054559
+P 3 -10270.286743 24294.590119 -1577.159264 78.570652
+V 3 -4514.578267 -65.951398 31066.839523 .028761
+P 4 23476.032278 -6984.487726 10684.517905 438.224049
+V 4 13403.080648 2636.641429 -27389.144901 -.207212
+P 5 -12727.971930 -23184.347034 -3444.860574 73.563977
+V 5 5149.101363 1549.044755 -30692.512242 .024412
+P 6 -13161.287991 -8962.520211 21444.174776 -149.665697
+V 6 13114.792122 -23480.499602 -1890.963978 .873151
+P 7 18293.265288 -10607.950589 -15566.469168 58.216572
+V 7 -7026.734776 19600.547407 -21206.510533 -.303814
+P 8 26740.646765 991.762478 -51.326646 -19.245453
+V 8 -235.370853 2289.853776 31668.584517 -.011564
+P 9 -8787.888987 -14552.299062 -20964.569256 -25.155384
+V 9 25440.132935 -1533.024376 -9486.231039 -.018539
+P 10 2555.414546 -19647.332750 17481.569282 57.642343
+V 10 12202.595031 18832.419227 19599.880501 .006910
+P 11 9826.019758 14652.671418 -19920.117834 187.119255
+V 11 -25127.249666 4220.707498 -9109.334140 .036884
+P 13 11665.325427 8939.882540 22071.608064 -13.650232
+V 13 -14492.449707 24052.276755 -2008.426053 .009692
+P 14 -18445.764948 10387.033943 -15972.524092 -31.500114
+V 14 8933.873891 -18350.103729 -22187.076217 -.000978
+P 15 -25188.384655 3788.726405 -8247.119872 378.775077
+V 15 -9903.810740 -3031.042824 29300.325929 .053582
+P 16 -7647.103962 15294.481450 20387.445983 1.961657
+V 16 -13651.934935 -21833.143867 11340.358375 -.001752
+P 17 1395.436928 -15165.719143 22004.282988 -89.826147
+V 17 27113.536907 3570.105295 .880125 .196031
+P 18 -18099.952056 -13227.172639 -14378.036946 -119.571103
+V 18 -6666.271602 -17104.553965 23779.700769 -.037478
+P 19 -5249.320005 23146.472832 -11854.585710 -12.018265
+V 19 -10358.815929 11380.270457 26556.739649 -.008851
+P 20 12369.229150 23461.642138 -1679.944365 -90.419679
+V 20 -3399.152273 -379.508734 -31684.956856 .026632
+P 21 -25262.401540 -5948.670694 6659.045361 88.185793
+V 21 8489.327858 -2242.508441 29716.685436 .010050
+P 22 -16773.329637 -1590.893932 -20363.484122 16.318271
+V 22 -10922.303016 -23873.854139 10797.650267 .003331
+P 23 5022.392836 17735.777644 18990.336110 211.577192
+V 23 -13393.638658 20372.680121 -15514.318115 .004894
+P 24 24841.310603 -4647.910810 8618.543137 89.944353
+V 24 10392.632566 2820.920610 -29254.763413 .028368
+P 25 -21509.135983 10462.860301 11964.967637 84.459146
+V 25 -14782.569477 -1316.410209 -26243.255795 .009260
+P 26 5003.900499 -23214.767077 -11543.045054 317.903448
+V 26 9216.919730 -11226.438784 27883.726438 .054364
+P 27 24988.678201 4909.072668 8846.178861 514.502550
+V 27 -10232.458881 2928.226548 28606.017564 .062452
+P 28 17342.357392 2528.786816 -19834.226875 46.496550
+V 28 11572.469379 22830.616388 12565.286127 .001740
+P 29 8562.627394 -24164.431920 -6379.981878 175.686974
+V 29 6064.066178 -6312.228463 30917.222805 -.190982
+P 30 -17541.618654 -18664.610777 6992.929157 441.868176
+V 30 -2174.111792 -9480.195103 -29581.302249 -.145142
+P 31 18218.012327 -4473.121381 -19262.814350 -.880097
+V 31 -9510.624352 21762.507380 -14025.774590 -.079527
+* 2005 1 21 23 0 .00000000
+P 1 -15290.514004 20951.247305 -5461.722380 384.175543
+V 1 1499.782754 -7328.238452 -31235.008527 .020818
+P 2 14540.946048 -13259.551821 17495.579930 -41.726098
+V 2 22933.286991 428.799034 -18497.620095 .054552
+P 3 -10614.296770 24152.300706 1224.490470 78.574649
+V 3 -3188.079349 -3122.771538 31101.134057 .028747
+P 4 24546.155837 -6776.877007 8136.191024 438.205638
+V 4 10340.245458 2038.875574 -29160.154160 -.207213
+P 5 -12170.681845 -22932.588371 -6170.103016 73.566148
+V 5 7274.890357 3992.023855 -29782.807134 .024407
+P 6 -12039.576759 -11089.582361 21092.982562 -149.587008
+V 6 11781.327450 -23708.159253 -5903.065853 .873107
+P 7 17659.061633 -8734.551339 -17330.661478 58.189107
+V 7 -6999.864570 21983.629803 -17938.248673 -.303816
+P 8 26565.297797 1199.330042 2791.270751 -19.245699
+V 8 -3656.863484 2392.745515 31411.295425 -.011558
+P 9 -6461.527340 -14753.728688 -21644.051446 -25.158289
+V 9 26173.735733 -2954.160512 -5591.877295 -.018537
+P 10 3747.779400 -17902.879502 19087.728160 57.642814
+V 10 14287.596628 19843.963685 16041.476340 .006906
+P 11 7533.718431 15087.482858 -20567.100608 187.122552
+V 11 -25731.858339 5444.004029 -5246.607850 .036894
+P 13 10430.944853 11124.338473 21700.600842 -13.649075
+V 13 -12900.568224 24403.934606 -6223.818769 .009696
+P 14 -17637.061574 8618.640926 -17825.513031 -31.500244
+V 14 8962.056293 -20905.608908 -18930.850287 -.000980
+P 15 -25936.839112 3545.020920 -5548.161967 378.780805
+V 15 -6697.119173 -2449.355168 30592.671542 .053590
+P 16 -8953.510799 13319.714896 21230.763507 1.961507
+V 16 -15351.366049 -21966.166233 7373.674778 -.001749
+P 17 3839.974533 -14910.112611 21818.886946 -89.808714
+V 17 27119.948258 2106.911065 -4119.336522 .196062
+P 18 -18678.595832 -14640.446517 -12121.310758 -119.574755
+V 18 -6118.015870 -14280.884904 26297.623691 -.037483
+P 19 -6082.536531 24075.222534 -9369.039388 -12.019049
+V 19 -8185.240013 9189.559441 28597.662183 -.008847
+P 20 11976.476147 23300.300972 -4508.995037 -90.417428
+V 20 -5379.801694 -3157.993398 -31092.788182 .026631
+P 21 -24356.397993 -6169.304855 9270.219005 88.186723
+V 21 11613.677604 -2723.495387 28227.784493 .010049
+P 22 -17781.205810 -3658.765616 -19216.761736 16.318564
+V 22 -11410.049973 -22017.751395 14647.546604 .003322
+P 23 3905.036636 19524.370274 17432.936031 211.577680
+V 23 -11433.141774 19287.359882 -19044.410827 .004887
+P 24 25632.920368 -4420.222415 5919.999209 89.945400
+V 24 7166.529197 2304.499679 -30628.615871 .028359
+P 25 -22708.502108 10360.356413 9508.749756 84.460366
+V 25 -11832.911986 -1024.905734 -28263.725665 .009269
+P 26 5736.758438 -24119.230829 -8939.571919 317.908269
+V 26 7102.895477 -8799.792819 29888.305100 .054360
+P 27 23936.772209 5208.439500 11340.969790 514.508367
+V 27 -13097.918297 3780.972877 26759.002255 .062449
+P 28 18399.122839 4493.533143 -18534.390943 46.496579
+V 28 11842.728414 20777.319719 16275.885220 .001755
+P 29 9019.125314 -24603.946139 -3549.797091 175.669765
+V 29 4133.675538 -3404.051067 31883.612008 -.190986
+P 30 -17673.759377 -19385.389230 4278.072564 441.855061
+V 30 -696.887407 -6554.092254 -30661.654251 -.145150
+P 31 17383.780241 -2435.800810 -20361.869543 -.887040
+V 31 -8972.083346 23453.099705 -10363.583166 -.079545
+* 2005 1 21 23 15 .00000000
+P 1 -15105.835608 20145.549247 -8217.423246 384.177336
+V 1 2529.579351 -10580.661357 -29913.688501 .020810
+P 2 16503.908820 -13263.491824 15681.295554 -41.721268
+V 2 20620.833920 -466.417411 -21759.446043 .054546
+P 3 -10855.092052 23729.022052 4004.691992 78.577014
+V 3 -2226.051933 -6295.032631 30590.676702 .028733
+P 4 25331.907521 -6605.852278 5450.512418 438.187029
+V 4 7098.630293 1828.467973 -30437.351754 -.207215
+P 5 -11412.404341 -22476.282244 -8790.642287 73.568419
+V 5 9603.262148 6085.503716 -28369.263328 .024403
+P 6 -11044.974578 -13215.343064 20384.468370 -149.508356
+V 6 10303.819243 -23448.183249 -9820.363357 .873062
+P 7 17044.723214 -6660.614888 -18785.557455 58.161911
+V 7 -6592.419186 24043.138017 -14343.668923 -.303819
+P 8 26084.647236 1434.899197 5586.760382 -19.247229
+V 8 -7003.896508 2909.779630 30622.756406 -.011553
+P 9 -4091.755720 -15084.738982 -21968.154962 -25.160024
+V 9 26403.238907 -4398.264924 -1599.182108 -.018534
+P 10 5124.508049 -16091.508262 20360.828752 57.643211
+V 10 16283.520111 20319.872252 12209.673165 .006902
+P 11 5208.934673 15631.790926 -20861.639834 187.125948
+V 11 -25848.700775 6640.596804 -1288.362027 .036904
+P 13 9348.628631 13316.468156 20954.635098 -13.648061
+V 13 -11128.683608 24218.800175 -10328.798366 .009698
+P 14 -16845.577522 6632.922709 -19370.222803 -31.500296
+V 14 8558.063082 -23164.798395 -15346.337988 -.000982
+P 15 -26389.575908 3335.785300 -2755.839516 378.786056
+V 15 -3347.593888 -2268.991327 31371.935934 .053598
+P 16 -10404.020477 11355.366368 21710.989176 1.961404
+V 16 -16840.031878 -21606.610672 3283.116934 -.001747
+P 17 6260.858441 -14785.691577 21264.097543 -89.790862
+V 17 26587.989564 669.819185 -8196.350148 .196094
+P 18 -19187.731130 -15795.452542 -9658.032617 -119.578158
+V 18 -5121.576398 -11381.242927 28363.534598 -.037487
+P 19 -6728.929633 24789.002390 -6721.876011 -12.019976
+V 19 -6220.181270 6612.983746 30143.235081 -.008843
+P 20 11392.669377 22902.899165 -7260.646217 -90.414959
+V 20 -7633.206004 -5613.736611 -29967.578860 .026632
+P 21 -23178.691009 -6449.714367 11725.736517 88.187845
+V 21 14513.218945 -3564.438505 26262.132333 .010046
+P 22 -18814.725911 -5544.286700 -17734.679374 16.318810
+V 22 -11484.582741 -19835.233702 18239.149732 .003314
+P 23 2963.636372 21192.208431 15572.279352 211.578127
+V 23 -9498.899357 17692.865613 -22243.455349 .004881
+P 24 26126.882059 -4220.876520 3120.911292 89.946213
+V 24 3793.814378 2194.960288 -31485.437275 .028351
+P 25 -23633.674537 10266.527203 6891.637400 84.460987
+V 25 -8703.940448 -1127.843913 -29813.082901 .009277
+P 26 6289.774845 -24786.554458 -6178.663443 317.913448
+V 26 5233.591537 -5967.875925 31376.066860 .054355
+P 27 22640.276699 5599.082275 13649.853357 514.514070
+V 27 -15656.276464 4947.758876 24480.642324 .062445
+P 28 19461.144823 6260.441298 -16913.421887 46.496556
+V 28 11683.433026 18448.846045 19691.545073 .001773
+P 29 9317.215474 -24769.315876 -657.683008 175.652434
+V 29 2553.608569 -234.714175 32291.958636 -.190990
+P 30 -17655.836003 -19848.726844 1489.715131 441.841680
+V 30 1153.884535 -3773.703521 -31212.864282 -.145158
+P 31 16612.209669 -262.956160 -21123.012414 -.894012
+V 31 -8128.171839 24764.326573 -6526.587025 -.079563
+* 2005 1 21 23 30 .00000000
+P 1 -14848.795221 19047.463726 -10830.504057 384.176778
+V 1 3106.513119 -13808.522379 -28069.939643 .020803
+P 2 18241.741479 -13333.623509 13590.578573 -41.716335
+V 2 17943.629649 -1032.691552 -24631.571634 .054540
+P 3 -11026.608202 23018.520018 6714.694057 78.579054
+V 3 -1650.834802 -9489.709991 29543.286596 .028719
+P 4 25821.297278 -6435.496509 2672.898752 438.168540
+V 4 3770.023247 2026.006705 -31200.451768 -.207216
+P 5 -10438.338878 -21849.102591 -11262.194220 73.571263
+V 5 12056.595713 7782.690686 -26476.777380 .024398
+P 6 -10186.702350 -15295.251721 19330.136498 -149.429895
+V 6 8765.907330 -22688.665187 -13577.094939 .873018
+P 7 16482.342203 -4418.814122 -19904.696861 58.134638
+V 7 -5854.907597 25702.183037 -10488.438114 -.303821
+P 8 25309.657419 1734.848747 8287.729775 -19.247265
+V 8 -10182.413076 3818.165971 29313.273147 -.011547
+P 9 -1724.118297 -15543.516696 -21930.821977 -25.161177
+V 9 26127.486855 -5779.086155 2429.544594 -.018532
+P 10 6673.295119 -14261.022357 21279.320311 57.643998
+V 10 18095.693210 20272.422539 8173.001516 .006898
+P 11 2895.420810 16279.597020 -20798.162650 187.129217
+V 11 -25483.799517 7730.859215 2697.964210 .036914
+P 13 8430.342281 15467.170738 19846.860915 -13.647164
+V 13 -9271.501237 23482.589386 -14252.426416 .009699
+P 14 -16108.110907 4460.376692 -20579.865777 -31.500350
+V 14 7771.225363 -25044.410252 -11495.711723 -.000984
+P 15 -26537.930840 3124.095868 82.938525 378.790379
+V 15 51.041331 -2504.911145 31623.214745 .053606
+P 16 -11975.946329 9444.169253 21820.094091 1.961331
+V 16 -18036.679179 -20792.775444 -861.760681 -.001745
+P 17 8609.934777 -14786.090512 20346.922851 -89.772919
+V 17 25527.372662 -652.253423 -12160.736987 .196125
+P 18 -19587.275357 -16689.658757 -7030.441832 -119.581003
+V 18 -3685.595544 -8501.107036 29944.134664 -.037493
+P 19 -7210.603576 25255.951281 -3958.892313 -12.020699
+V 19 -4535.814044 3716.553830 31167.945619 -.008839
+P 20 10596.564116 22301.393040 -9887.763407 -90.412648
+V 20 -10084.110660 -7684.517289 -28329.455305 .026632
+P 21 -21753.161130 -6820.337141 13984.010534 88.188501
+V 21 17108.342862 -4719.356141 23850.309860 .010044
+P 22 -19834.904773 -7221.897673 -15943.359614 16.319162
+V 22 -11108.847806 -17412.600847 21509.457827 .003306
+P 23 2191.735925 22694.724351 13440.739015 211.578745
+V 23 -7681.051933 15620.237070 -25055.227733 .004874
+P 24 26314.276278 -4012.474334 268.669147 89.950216
+V 24 370.144734 2506.639079 -31807.588836 .028343
+P 25 -24272.527740 10144.991323 4157.435065 84.462762
+V 25 -5485.613597 -1641.962181 -30861.357600 .009286
+P 26 6688.341325 -25183.539616 -3308.373281 317.918149
+V 26 3681.675237 -2806.148415 32314.378037 .054350
+P 27 21129.765897 6106.698912 15735.681240 514.519834
+V 27 -17844.276037 6369.600232 21808.979494 .062442
+P 28 20488.444119 7808.797653 -15000.477646 46.496607
+V 28 11068.183975 15936.249081 22755.279292 .001792
+P 29 9490.794859 -24641.114523 2245.892855 175.635116
+V 29 1373.590762 3103.732755 32138.546266 -.190994
+P 30 -17456.282802 -20071.498428 -1324.174797 441.828451
+V 30 3330.099865 -1221.032646 -31228.780087 -.145166
+P 31 15927.919089 2008.802424 -21533.242118 -.901240
+V 31 -7044.226105 25643.492296 -2575.887957 -.079580
+* 2005 1 21 23 45 .00000000
+P 1 -14560.214952 17663.848445 -13255.239285 384.178212
+V 1 3232.375698 -16908.695578 -25734.054011 .020796
+P 2 19725.360062 -13438.026335 11260.809342 -41.711410
+V 2 14986.644586 -1221.206036 -27064.100682 .054535
+P 3 -11164.013397 22023.061232 9306.899791 78.583251
+V 3 -1467.389331 -12611.535631 27976.767664 .028704
+P 4 26010.728125 -6228.818346 -149.775193 438.149663
+V 4 448.593773 2634.702425 -31437.369493 -.207218
+P 5 -9240.992321 -21088.234316 -13543.062101 73.573690
+V 5 14550.629802 9052.567141 -24137.866188 .024393
+P 6 -9466.377731 -17284.458297 17947.318687 -149.351774
+V 6 7252.366411 -21434.908943 -17109.693179 .872974
+P 7 15998.821270 -2048.147943 -20667.787329 58.107561
+V 7 -4851.719966 26897.575897 -6443.703653 -.303823
+P 8 24259.534602 2132.728650 10848.078733 -19.248232
+V 8 -13103.831360 5077.999136 27501.715271 -.011541
+P 9 596.475322 -16120.527505 -21531.658693 -25.164105
+V 9 25361.711753 -7011.819542 6430.859656 -.018529
+P 10 8373.539761 -12457.243371 21827.971507 57.644379
+V 10 19635.063173 19733.186055 4003.132853 .006895
+P 11 635.646673 17017.856514 -20377.214018 187.132734
+V 11 -24659.546644 8638.369346 6644.047274 .036924
+P 13 7679.423727 17526.946039 18396.670495 -13.646261
+V 13 -7425.396801 22200.749757 -17927.128573 .009700
+P 14 -15456.320694 2138.453874 -21433.470501 -31.500473
+V 14 6666.018507 -26473.685768 -7445.855318 -.000986
+P 15 -26381.785078 2872.478283 2920.292476 378.795232
+V 15 3403.174393 -3154.327417 31339.892099 .053615
+P 16 -13639.703677 7624.687956 21556.353155 1.961336
+V 16 -18869.775376 -19578.690780 -4990.618340 -.001744
+P 17 10840.747368 -14897.085012 19080.627635 -89.755152
+V 17 23966.067504 -1774.173897 -15943.077044 .196156
+P 18 -19838.726031 -17329.019400 -4283.410128 -119.584794
+V 18 -1836.439497 -5733.000705 31014.284847 -.037500
+P 19 -7555.580152 25450.732192 -1127.773246 -12.021403
+V 19 -3191.050444 578.785206 31655.393326 -.008836
+P 20 9574.142949 21532.650302 -12345.415988 -90.410107
+V 20 -12647.675795 -9323.734821 -26207.187718 .026632
+P 21 -20110.420013 -7306.833842 16006.536126 88.189147
+V 21 19329.527306 -6128.389495 21030.173549 .010044
+P 22 -20800.213884 -8674.146400 -13874.331607 16.319498
+V 22 -10263.584134 -14843.113731 24401.510362 .003298
+P 23 1575.041522 23990.957440 11075.441765 211.579368
+V 23 -6063.042540 13118.350509 -27430.476004 .004865
+P 24 26194.913989 -3757.141145 -2588.136145 89.952863
+V 24 -3006.713109 3235.703510 -31586.086616 .028334
+P 25 -24621.196107 9958.642536 1352.299647 84.463193
+V 25 -2270.977576 -2566.525069 -31386.359685 .009294
+P 26 6963.763103 -25284.454164 -379.247013 317.922952
+V 26 2505.400714 595.439275 32680.660517 .054346
+P 27 19440.948384 6751.181092 17564.956667 514.525609
+V 27 -19611.373119 7976.843991 18787.039112 .062438
+P 28 21439.465082 9126.298926 -12829.538922 46.496914
+V 28 9988.450914 13334.756049 25417.028024 .001810
+P 29 9577.431651 -24208.531373 5110.583616 175.617938
+V 29 625.250453 6512.497497 31429.726061 -.190998
+P 30 -17048.499341 -20077.494582 -4115.484979 441.815385
+V 30 5769.882854 1032.694623 -30712.323419 -.145174
+P 31 15349.233147 4338.725005 -21585.153812 -.908188
+V 31 -5794.339724 26051.583852 1425.385486 -.079598
+EOF
diff --git a/trunk/apps/positioning/doc/rinexpvt-manual.pdf b/trunk/apps/positioning/doc/rinexpvt-manual.pdf
new file mode 100644
index 0000000..2220056
Binary files /dev/null and b/trunk/apps/positioning/doc/rinexpvt-manual.pdf differ
diff --git a/trunk/apps/positioning/doc/rinexpvt-manual.tm b/trunk/apps/positioning/doc/rinexpvt-manual.tm
new file mode 100644
index 0000000..050378c
--- /dev/null
+++ b/trunk/apps/positioning/doc/rinexpvt-manual.tm
@@ -0,0 +1,599 @@
+<TeXmacs|1.0.5>
+
+<style|article>
+
+<\body>
+ <doc-data|<doc-title|Using RINEXPVT>|<doc-author-data|<author-name|R.
+ Benjamin Harris>|<\author-address>
+ Applied Research Laboratories,
+
+ The University of Texas at Austin
+ </author-address>|<author-email|pben at arlut.utexas.edu>>|<doc-date|February
+ 24, 2005>>
+
+ <section|Overview>
+
+ The <with|font-family|tt|rinexpvt> application is a GPSTk [1] based
+ application that generates user positions from pseudoranges recorded in the
+ RINEX [2] format. One user position, or PVT, is generated per epoch of
+ observation. No smoothing is applied to the pseudoranges, nor are the
+ solutions filtered. A number of error models are applied to the
+ pseudoranges before the generating the position calcuation, such as
+ atmospheric delay. The user can select an elevation mask for satellites.
+ Also only healthy satellites, as defined by the ephemeris, are used in the
+ solution. The user can control which pseudoranges are used, and some of the
+ corrections applied to them.\
+
+ <section|Synopsis>
+
+ The user executes <with|font-family|tt|rinexpvt> from the command line. The
+ processing performed by the <with|font-family|tt|rinexpvt> is specified
+ through command line arguments. The full set of arguments is defined below.
+ This list can be duplicated by running <with|font-family|tt|rinexpvt -h> on
+ the command line.\
+
+ <with|prog-language|shell|prog-session|default|<\session>
+ <\input|shell] >
+ ../rinexpvt -h
+ </input>
+
+ <\output>
+ Usage: rinexpvt [OPTION] ...
+
+ GPSTk PVT Generator
+
+ \;
+
+ This application generates user positions based on RINEX
+
+ observations.
+
+ \;
+
+ NOTE: Although the -n and -p arguments appear as optional below,
+
+ one of the two must be used. An ephemeris source must be specified.
+
+ \;
+
+ Required arguments:
+
+ \ \ -o, --obs-file=ARG \ \ \ \ \ \ RINEX Obs File.
+
+ \;
+
+ Optional arguments:
+
+ \ \ -d, --debug \ \ \ \ \ \ \ \ \ \ \ \ \ Increase debug level
+
+ \ \ -v, --verbose \ \ \ \ \ \ \ \ \ \ \ Increase verbosity
+
+ \ \ -h, --help \ \ \ \ \ \ \ \ \ \ \ \ \ \ Print help usage
+
+ \ \ -n, --nav-file=ARG \ \ \ \ \ \ RINEX Nav File. Required for single
+ frequency
+
+ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ionosphere
+ correction.
+
+ \ \ -p, --pe-file=ARG \ \ \ \ \ \ \ SP3 Precise Ephemeris File. Repeat
+ this for each
+
+ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ input file.
+
+ \ \ -m, --met-file=ARG \ \ \ \ \ \ RINEX Met File.
+
+ \ \ -t, --time-format=ARG \ \ \ Alternate time format string.
+
+ \ \ -e, --enu=ARG \ \ \ \ \ \ \ \ \ \ \ Use the following as origin to
+ solve for
+
+ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ East/North/Up
+ coordinates, formatted as a string:
+
+ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "X Y Z"
+
+ \ \ -l, --elevation-mask=ARG Elevation mask (degrees)
+
+ \ \ -s, --single-frequency \ \ Use only C1 (SPS)
+
+ \ \ -d, --dual-frequency \ \ \ \ Use only P1 and P2 (PPS)
+
+ \ \ -i, --ionosphere \ \ \ \ \ \ \ \ Do NOT correct for ionosphere
+ delay.
+ </output>
+
+ \;
+ </session>>
+
+ <section|Detailed Description>
+
+ <subsection|Observation Model>
+
+ The user position is related to the pseudorange observation through the
+ following formula [3, 4].
+
+ \;
+
+ <\equation>
+ <with|mode|text|<with|mode|math|\<rho\>=<sqrt|(x<rsub|u>-x<rsub|s>)<rsup|2>+(y<rsub|u>-y<rsub|s>)<rsup|2>+(z<rsub|u>-z<rsub|s><rsup|<rsup|>>)<rsup|2>>><with|mode|math|><with|mode|math|+c\<delta\>t+t+i+\<nu\>+m+\<epsilon\><rsub|>>>
+ </equation>
+
+ where <tabular|<tformat|<table|<row|<cell|<with|mode|math|\<rho\>> is the
+ pseudorange measurement>>|<row|<cell|<with|mode|math|x,
+ ><with|mode|math|y>, and <with|mode|math|z> represent Cartesian
+ coordinates>>|<row|<cell|<with|mode|math|u> is the user position at time of
+ reception>>|<row|<cell|<with|mode|math|s> is the satellite position at the
+ time of transmission>>|<row|<cell|<with|mode|math|c\<delta\>t> is the clock
+ offset between the user and spacecraft clocks>>|<row|<cell|<with|mode|math|t>
+ is the delay due to the troposphere>>|<row|<cell|<with|mode|math|i >is
+ delay due to the ionosphere>>|<row|<cell|<with|mode|math|\<nu\>> is
+ relativistic delay>>|<row|<cell|<with|mode|math|m> is multipath
+ delay>>|<row|<cell|<with|mode|math|\<epsilon\>> is thermal measurement
+ noise>>>>>
+
+ <paragraph|>For each satellite in view at a given epoch, one independent
+ relation can be formed. When the satellite position is known as a function
+ of time, and atmospheric delays have been estimated, then unknown terms are
+ user position, at <with|mode|math|x<rsub|s>, ><with|mode|math|y<rsub|s>>,
+ and <with|mode|math|z<rsub|s>,>and the clock offset,
+ <with|mode|math|c\<delta\>t>. If more than four such observations are
+ available for a given epoch, then gradient search methods are be used in
+ combination with least squares to solve for the user position [3, 4, 5].
+
+ <subsection|Satellite Position Models>\
+
+ Satellite positions are computed as a function of time by one of two
+ methods. The first method applies modified Keplerian parameters found in
+ the broadcast ephemeris, as defined by the ICD-GPS-200 [3, 4, 6]. The
+ second method is by Lagrange interpolation of precise ephemerides [3].
+
+ <subsection|Delay Models>
+
+ Many of the delays found in Eq. 1 are modeled within
+ <with|font-family|tt|rinexpvt>. The delay due to special relativity can be
+ computed directly from satellite position and velocity. The troposphere
+ delay can be estimated using meteorological observations. Finally, the
+ ionosphere delay can be computed using additional range observation or
+ using a reference model.\
+
+ The net effect due to special relativistic delay is frequently modeled
+ within receivers using the following equation [4, 6]
+
+ <\equation>
+ \<delta\>t<rprime|'> = 2<frac|<wide|r|\<vect\>>\<bullet\><wide|v|\<vect\>>|c<rsup|2>>
+ </equation>
+
+ where <with|mode|math|<wide|r|\<vect\>>> is the Earth centered, Earth fixed
+ (ECEF) position vector, <with|mode|math|<wide|v|\<vect\>>> is the ECEF
+ velocity vector and <with|mode|math|c> is the speed of light.\
+
+ If observations from more than one frequency are available for an epoch,
+ then the ionosphere delay <with|mode|math|i> is estimated using the
+ following linear relationship [5].\
+
+ <\equation>
+ i\<approx\> <frac|f<rsub|2><rsup|2>|f<rsub|2><rsup|2>-f<rsub|1><rsup|2>>(P<rsub|1>-P<rsub|2>)
+ </equation>
+
+ where <with|mode|math|P<rsub|1> >is the pseudorange measurement on L1 and
+ <with|mode|math|P<rsub|2>> is the pseudorange measurement on L2. If dual
+ frequency measurements are not available, then ionosphere delay is
+ estimated using the Klobuchar model [2].\
+
+ The troposphere delay is estimated using meteorological observations. The
+ modified Hopfield model is used within <with|font-family|tt|rinexpvt> to
+ model this form of error.[7] If no actual weather measurements are
+ provided, then a default weather condition is assumed: 20 degrees ceslius,
+ 1000 millibars and 50 percent humidity.
+
+ <section|Examples and Usage Notes>
+
+ This section contains a number of practical examples in the use of
+ <with|font-family|tt|rinexpvt>. In each subsection there is a brief
+ description of the desired processing, as well as a snapshot of a shell
+ session as a demonstration. All of the example files used are distributed
+ with the application.
+
+ <subsection|Generating Positions in WGS 84 Coordinates>
+
+ By default, <with|font-family|tt|rinexpvt> generates the user position in
+ the Cartesian, WGS reference frame. The user needs only supply observations
+ and a source of ephemerides. If a RINEX meteorological file is provided,
+ then troposphere delays are modeled. Otherwise the troposphere delay is
+ modeled using a standard temperature of 20 celsius, . The following example
+ demonstrates the most basic processing provided by
+ <with|font-family|tt|rinexpvt>.
+
+ <with|prog-language|shell|prog-session|default|<\session>
+ <\input|shell] >
+ rinexpvt -o usno0200.05o -n brdc0200.05n -m usno0200.05m
+ </input>
+
+ <\output>
+ 2005 1 20 00 00 0.000000 1112192.67926 -4842951.98205 3985348.06329
+
+ 2005 1 20 00 00 30.000000 1112188.65938 -4842953.48346 3985351.48398
+
+ 2005 1 20 00 01 0.000000 1112189.48576 -4842957.45711 3985356.92698
+
+ 2005 1 20 00 01 30.000000 1112191.15384 -4842957.53284 3985355.11895
+
+ 2005 1 20 00 02 0.000000 1112191.1508 -4842955.89459 3985352.76549
+
+ 2005 1 20 00 02 30.000000 1112190.99828 -4842954.61737 3985352.3681
+
+ 2005 1 20 00 03 0.000000 1112189.92412 -4842954.29518 3985348.72842
+
+ 2005 1 20 00 03 30.000000 1112189.16937 -4842954.31307 3985351.92146
+
+ 2005 1 20 00 04 0.000000 1112191.62124 -4842955.6613 3985354.82972
+
+ 2005 1 20 00 04 30.000000 1112188.66733 -4842953.49038 3985348.04322
+ </output>
+
+ \;
+ </session>>
+
+ <subsection|Generating Positions in East/North/Up Coordinates>
+
+ The user may wish to transform the results of the position calculation to
+ local, or topocentric, reference frame. The new coordinates, still
+ Cartesian, refer to the cardinal directions: East, North and Up. The
+ positions calculated by <with|font-family|tt|rinexpvt> can be tranformed to
+ a topocentric origin using the <with|font-family|tt|-e> option. The
+ argument to this option is a single string, with three numerical entries
+ for the origin of the topocentric system. Often, within RINEX observation
+ files, the header entry ``APPROX POS XYZ'' is a recent surveyed origin of
+ the receiver and forms a useful origin for a topocentric system. In the
+ following example the topocentric transformation is applied to the results
+ from the previous subsection.
+
+ <with|prog-language|shell|prog-session|default|<\session>
+ <\input|shell]>
+ grep "APPROX " usno0200.05o
+ </input>
+
+ <\output>
+ \ \ 1112189.9031 -4842955.0319 \ 3985352.2376
+ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ APPROX POSITION XYZ
+ </output>
+
+ <\input|shell]>
+ rinexpvt -o usno0200.05o -n brdc0200.05n -m usno0200.05m -e
+ "1112189.9031 -4842955.0319 \ 3985352.2376"\
+ </input>
+
+ <\output>
+ 2005 1 20 00 00 0.000000 -2.64323278089 1.39273684601 -4.44579107837
+
+ 2005 1 20 00 00 30.000000 0.675237880363 -0.413842977087 -1.86595014292
+
+ 2005 1 20 00 01 0.000000 0.74075583724 -1.74562915823 4.70500528956
+
+ 2005 1 20 00 01 30.000000 -0.514261859844 -0.427112579929 3.92260789052
+
+ 2005 1 20 00 02 0.000000 -0.798000760765 0.225433490228 1.2040383517
+
+ 2005 1 20 00 02 30.000000 -0.905046895282 -0.156961158353
+ -0.0422947010004
+
+ 2005 1 20 00 03 0.000000 -0.144614169541 1.78733342562 -2.7520269223
+
+ 2005 1 20 00 03 30.000000 0.432346745093 -0.229710319547
+ -0.872438081029
+
+ 2005 1 20 00 04 0.000000 -1.19640547889 -1.09032516564 2.40032451942
+
+ 2005 1 20 00 04 30.000000 0.670398976551 1.68417470062 -4.01206558988
+ </output>
+
+ \;
+ </session>>
+
+ <subsection|Generating Positions using Precise Ephemerides>
+
+ Precise ephemerides may be substituted for broadcast ephemerides. The
+ precise ephemerides must be in the SP-3 file format. In order to process a
+ given period of RINEX observations, precise ephemerides must be utilized
+ for times before and after that period in order to eliminate interpolation
+ effects. For this reason the <with|font-family|tt|-p> option to specify a
+ precise ephemeris can be repeated. The following example demonstrates the
+ use of precise ephemerides.
+
+ <with|prog-language|shell|prog-session|default|<\session>
+ <\input|shell]>
+ rinexpvt -o usno0200.05o -m usno0200.05m -e "1112189.9031 -4842955.0319
+ \ 3985352.2376" -p nga13063.apc -p nga13064.apc -p nga13065.apc\
+ </input>
+
+ <\output>
+ 2005 1 20 00 00 0.000000 -2.08992486501 1.51632100425 -5.38603364386
+
+ 2005 1 20 00 00 30.000000 1.22849620836 -0.281974793322 -2.78857829356
+
+ 2005 1 20 00 01 0.000000 1.29400421219 -1.60589389988 3.7997452854
+
+ 2005 1 20 00 01 30.000000 0.03901809145 -0.279940424961 3.0344477269
+
+ 2005 1 20 00 02 0.000000 -0.141549865351 0.430550617004 0.613916181074
+
+ 2005 1 20 00 02 30.000000 -0.247842106971 0.0554617639326
+ -0.61408409222
+
+ 2005 1 20 00 03 0.000000 0.513345520633 2.00662083505 -3.30594517769
+
+ 2005 1 20 00 03 30.000000 1.18397434384 0.173306575113 -1.80221181762
+
+ 2005 1 20 00 04 0.000000 -0.445369991941 -0.681710302654 1.48775750121
+
+ 2005 1 20 00 04 30.000000 1.26854804266 1.86268110989 -4.31594225054
+ </output>
+
+ \;
+ </session>>
+
+ <subsection|Emulating Standard Positioning Service (SPS) Performance>
+
+ By default, <with|font-family|tt|rinexpvt> will attempt to form the best
+ possible position for each epoch of observation. If dual frequency
+ observations are applied, they are used. If for a single epoch, only C/A
+ observations are available, then it is used. In order to perform solutions
+ using only C/A, the <with|font-family|tt|-s> switch is available. The
+ following is a demonstration of this switch.
+
+ <with|prog-language|shell|prog-session|default|<\session>
+ <\input|shell] >
+ rinexpvt -o usno0200.05o -n brdc0200.05n -m usno0200.05m -s
+ </input>
+
+ <\output>
+ 2005 1 20 00 00 0.000000 1112192.36858 -4842952.68698 3985350.17084
+
+ 2005 1 20 00 00 30.000000 1112190.34546 -4842953.75694 3985351.57171
+
+ 2005 1 20 00 01 0.000000 1112191.29632 -4842954.16477 3985353.65599
+
+ 2005 1 20 00 01 30.000000 1112191.97305 -4842954.21052 3985353.96079
+
+ 2005 1 20 00 02 0.000000 1112191.47444 -4842954.60185 3985351.44099
+
+ 2005 1 20 00 02 30.000000 1112191.67217 -4842953.79149 3985352.74304
+
+ 2005 1 20 00 03 0.000000 1112192.35285 -4842953.76184 3985351.25908
+
+ 2005 1 20 00 03 30.000000 1112189.43589 -4842951.88681 3985348.73888
+
+ 2005 1 20 00 04 0.000000 1112190.55705 -4842953.10278 3985349.95615
+
+ 2005 1 20 00 04 30.000000 1112188.71119 -4842952.128 3985348.15393
+
+ \;
+ </output>
+ </session>>
+
+ <subsection|Emulating Precise Positioning Service (PPS) Performance>
+
+ Similar to the option described in the previous subsection, there is an
+ option to limit the solutions of <with|font-family|tt|rinexpvt> to those
+ strictly derived from dual frequency observations. The following session
+ demonstrates this switch.
+
+ <with|prog-language|shell|prog-session|default|<\session>
+ <\input|shell] >
+ rinexpvt -o usno0200.05o -n brdc0200.05n -m usno0200.05m -d \
+ </input>
+
+ <\output>
+ 2005 1 20 00 00 0.000000 1112192.67926 -4842951.98205 3985348.06329
+
+ 2005 1 20 00 00 30.000000 1112188.65938 -4842953.48346 3985351.48398
+
+ 2005 1 20 00 01 0.000000 1112189.48576 -4842957.45711 3985356.92698
+
+ 2005 1 20 00 01 30.000000 1112191.15384 -4842957.53284 3985355.11895
+
+ 2005 1 20 00 02 0.000000 1112191.1508 -4842955.89459 3985352.76549
+
+ 2005 1 20 00 02 30.000000 1112190.99828 -4842954.61737 3985352.3681
+
+ 2005 1 20 00 03 0.000000 1112189.92412 -4842954.29518 3985348.72842
+
+ 2005 1 20 00 03 30.000000 1112189.16937 -4842954.31307 3985351.92146
+
+ 2005 1 20 00 04 0.000000 1112191.62124 -4842955.6613 3985354.82972
+
+ 2005 1 20 00 04 30.000000 1112188.66733 -4842953.49038 3985348.04322
+ </output>
+
+ \;
+ </session>>
+
+ <subsection|Customizing the Epoch Format>
+
+ The GPSTk library supports conversion among a number of time formats. This
+ conversion ability is provided to the end user of
+ <with|font-family|tt|rinexpvt> in the form of the <with|font-family|tt|-t>
+ command line switch and its argument, a string describing the time format.
+ The GPSTk documentation to DayTime's printf method contains a full list of
+ specifiers that can be used within the time format string. The following
+ table summarizes some of these options.
+
+ \;
+
+ <\with|par-mode|center>
+ <tabular|<tformat|<table|<row|<cell|%Y>|<cell|Four digit
+ year>>|<row|<cell|%y>|<cell|Year modulo 100>>|<row|<cell|%m>|<cell|Month
+ number>>|<row|<cell|%b>|<cell|Month name>>|<row|<cell|%d>|<cell|Day of
+ month>>|<row|<cell|%S>|<cell|Second of minute>>|<row|<cell|%F>|<cell|Full
+ GPS week>>|<row|<cell|%Z>|<cell|Z count>>|<row|<cell|%g>|<cell|Seconds of
+ week>>|<row|<cell|%j>|<cell|D<\float|float|tbh>
+ <big-table||>
+ </float>ay of year>>|<row|<cell|%s>|<cell|Seconds of
+ day>>|<row|<cell|%Q>|<cell|Modified Julian Date>>>>>
+ </with>
+
+ <\with|par-mode|center>
+ Table. Time Format Specifiers
+ </with>
+
+ \;
+
+ In the following example we see how to apply the format specifiers in the
+ form of a string.
+
+ <with|prog-language|shell|prog-session|default|<\session>
+ <\input|shell]>
+ rinexpvt -o usno0200.05o -n brdc0200.05n -m usno0200.05m -t "%F %g"\
+ </input>
+
+ <\output>
+ 1306 345600.000000 1112192.67926 -4842951.98205 3985348.06329
+
+ 1306 345630.000000 1112188.65938 -4842953.48346 3985351.48398
+
+ 1306 345660.000000 1112189.48576 -4842957.45711 3985356.92698
+
+ 1306 345690.000000 1112191.15384 -4842957.53284 3985355.11895
+
+ 1306 345720.000000 1112191.1508 -4842955.89459 3985352.76549
+
+ 1306 345750.000000 1112190.99828 -4842954.61737 3985352.3681
+
+ 1306 345780.000000 1112189.92412 -4842954.29518 3985348.72842
+
+ 1306 345810.000000 1112189.16937 -4842954.31307 3985351.92146
+
+ 1306 345840.000000 1112191.62124 -4842955.6613 3985354.82972
+
+ 1306 345870.000000 1112188.66733 -4842953.49038 3985348.04322
+ </output>
+
+ \;
+ </session>>
+
+ <section|References>
+
+ <\enumerate-numeric>
+ <item>The GPS Toolkit, GPSTk. Website: http://www.gpstk.org/.
+
+ <item>RINEX: The Receiver Independent Exchange Format Version 2.10.
+ Available on the web at http://www.ngs.noaa.gov/CORS/Rinex2.html.
+
+ <item>Hofmann-Wellenhoff, B., Lichtenegger, H., and Collins, J.
+ <with|font-shape|italic|Global Positioning Theory:>
+ <with|font-shape|italic|Theory and Practice>, fifth ed. Springer-Verlag.
+ 2004.
+
+ <item>Parkinson, Bradford W. and Spilker, James J., editors. Global
+ Positioning Theory: Theory and Applications, Volume I. AIAA Press, 1996.
+
+ <item>Borre, Kai and Strang, Gilbert. <with|font-shape|italic|Linear
+ Algebra, Geodesy and GPS>. Wellesley-Cambridge Press, 1997.
+
+ <item>The GPS Interface Control Document (ICD-GPS-200), which can be
+ found at http://www.navcen.uscg.gov/ftp/policy/icd200/ICD200Cw1234.pdf.
+
+ <item>Goad, C. C. and Goodman, L. ``A modified tropospheric refraction
+ correction model.'' <with|font-shape|italic|Proceeding of the Annual
+ American Geophysical Union Fall Meeting>, San Francisco, 1974.
+ </enumerate-numeric>
+
+ \;
+</body>
+
+<\references>
+ <\collection>
+ <associate|auto-1|<tuple|1|1>>
+ <associate|auto-10|<tuple|4.2|3>>
+ <associate|auto-11|<tuple|4.3|4>>
+ <associate|auto-12|<tuple|4.4|4>>
+ <associate|auto-13|<tuple|4.5|4>>
+ <associate|auto-14|<tuple|4.6|5>>
+ <associate|auto-15|<tuple|1|?>>
+ <associate|auto-16|<tuple|5|5>>
+ <associate|auto-2|<tuple|2|1>>
+ <associate|auto-3|<tuple|3|2>>
+ <associate|auto-4|<tuple|3.1|2>>
+ <associate|auto-5|<tuple|1|2>>
+ <associate|auto-6|<tuple|3.2|2>>
+ <associate|auto-7|<tuple|3.3|2>>
+ <associate|auto-8|<tuple|4|3>>
+ <associate|auto-9|<tuple|4.1|3>>
+ <associate|toc-1|<tuple|1|?>>
+ <associate|toc-2|<tuple|2|?>>
+ <associate|toc-3|<tuple|3|?>>
+ <associate|toc-4|<tuple|4|?>>
+ <associate|toc-5|<tuple|5|?>>
+ </collection>
+</references>
+
+<\auxiliary>
+ <\collection>
+ <\associate|table>
+ <tuple|normal||<pageref|auto-15>>
+ </associate>
+ <\associate|toc>
+ <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|1<space|2spc>Overview>
+ <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-1><vspace|0.5fn>
+
+ <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|2<space|2spc>Synopsis>
+ <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-2><vspace|0.5fn>
+
+ <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|3<space|2spc>Detailed
+ Description> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-3><vspace|0.5fn>
+
+ <with|par-left|<quote|1.5fn>|3.1<space|2spc>Observation Model
+ <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-4>>
+
+ <with|par-left|<quote|6fn>| <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-5><vspace|0.15fn>>
+
+ <with|par-left|<quote|1.5fn>|3.2<space|2spc>Satellite Position Models
+ <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-6>>
+
+ <with|par-left|<quote|1.5fn>|3.3<space|2spc>Delay Models
+ <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-7>>
+
+ <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|4<space|2spc>Examples
+ and Usage Notes> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-8><vspace|0.5fn>
+
+ <with|par-left|<quote|1.5fn>|4.1<space|2spc>Generating Positions in WGS
+ 84 Coordinates <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-9>>
+
+ <with|par-left|<quote|1.5fn>|4.2<space|2spc>Generating Positions in
+ East/North/Up Coordinates <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-10>>
+
+ <with|par-left|<quote|1.5fn>|4.3<space|2spc>Generating Positions using
+ Precise Ephemerides <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-11>>
+
+ <with|par-left|<quote|1.5fn>|4.4<space|2spc>Emulating Standard
+ Positioning Service (SPS) Performance
+ <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-12>>
+
+ <with|par-left|<quote|1.5fn>|4.5<space|2spc>Emulating Precise
+ Positioning Service (PPS) Performance
+ <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-13>>
+
+ <with|par-left|<quote|1.5fn>|4.6<space|2spc>Customizing the Epoch
+ Format <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-14>>
+
+ <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|5<space|2spc>References>
+ <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+ <no-break><pageref|auto-16><vspace|0.5fn>
+ </associate>
+ </collection>
+</auxiliary>
\ No newline at end of file
diff --git a/trunk/apps/positioning/doc/usno0200.05m b/trunk/apps/positioning/doc/usno0200.05m
new file mode 100644
index 0000000..ecf9a7b
--- /dev/null
+++ b/trunk/apps/positioning/doc/usno0200.05m
@@ -0,0 +1,304 @@
+ 2 METEOROLOGICAL DATA RINEX VERSION / TYPE
+GSOSMET V 1.0 GODC/NOAA 04/28/98 14:31:23 PGM / RUN BY / DATE
+Met sensors located on the rooftop of Bldg 52A at USNO at COMMENT
+the opposite end of the bldg from the GPS antenna. The COMMENT
+met package is from NOAA's Forecast System Lab. COMMENT
+PR IS PRESSURE IN mbar; TD IS DRY TEMPERATURE IN deg CelsiusCOMMENT
+SP IS SEA LEVEL PRESSURE IN mbar; HR IS IN percent COMMENT
+PR level is located above the GPS ARP about 28.5 inches: COMMENT
+'PR sensor' minus 'GPS ARP' = 0.724 meters COMMENT
+USNO MARKER NAME
+ 4 PR TD HR SP # / TYPES OF OBSERV
+NOAA GSOS Vaisala PTB220 0.1 PR SENSOR MOD/TYPE/ACC
+NOAA GSOS Vaisala PT100 RTD 0.1 TD SENSOR MOD/TYPE/ACC
+NOAA GSOS Vaisala HUMICA 1.0 HR SENSOR MOD/TYPE/ACC
+ 1112189.903 -4842955.032 3985352.238 0.0 PR PR SENSOR POS XYZ/H
+ END OF HEADER
+ 05 01 20 00 00 00 1007.0 -5.9 89.0 1017.2
+ 05 01 20 00 05 00 1006.9 -5.8 89.2 1017.2
+ 05 01 20 00 10 00 1006.9 -5.8 89.2 1017.1
+ 05 01 20 00 15 00 1006.9 -5.8 89.1 1017.1
+ 05 01 20 00 20 00 1006.9 -5.8 89.1 1017.1
+ 05 01 20 00 25 00 1006.8 -5.8 88.9 1017.0
+ 05 01 20 00 30 00 1006.8 -5.7 89.1 1017.0
+ 05 01 20 00 35 00 1006.8 -5.7 88.9 1017.0
+ 05 01 20 00 40 00 1006.8 -5.6 88.9 1017.1
+ 05 01 20 00 45 00 1006.8 -5.6 88.9 1017.1
+ 05 01 20 00 50 00 1006.8 -5.5 88.8 1017.0
+ 05 01 20 00 55 00 1006.8 -5.5 88.8 1017.0
+ 05 01 20 01 00 00 1006.8 -5.5 88.8 1017.0
+ 05 01 20 01 05 00 1006.7 -5.4 88.4 1017.0
+ 05 01 20 01 10 00 1006.7 -5.4 88.3 1017.0
+ 05 01 20 01 15 00 1006.7 -5.4 88.2 1017.0
+ 05 01 20 01 20 00 1006.8 -5.3 88.3 1017.0
+ 05 01 20 01 25 00 1006.7 -5.3 88.5 1017.0
+ 05 01 20 01 30 00 1006.8 -5.3 88.4 1017.0
+ 05 01 20 01 35 00 1006.8 -5.3 88.3 1017.0
+ 05 01 20 01 40 00 1006.7 -5.2 88.2 1016.9
+ 05 01 20 01 45 00 1006.7 -5.2 88.5 1016.9
+ 05 01 20 01 50 00 1006.7 -5.1 88.5 1016.9
+ 05 01 20 01 55 00 1006.7 -5.1 88.2 1016.9
+ 05 01 20 02 00 00 1006.7 -5.0 88.3 1016.9
+ 05 01 20 02 05 00 1006.7 -5.0 88.0 1016.9
+ 05 01 20 02 10 00 1006.6 -5.0 87.7 1016.8
+ 05 01 20 02 15 00 1006.6 -5.0 87.2 1016.8
+ 05 01 20 02 20 00 1006.5 -5.0 86.6 1016.7
+ 05 01 20 02 25 00 1006.4 -5.0 85.9 1016.6
+ 05 01 20 02 30 00 1006.4 -4.9 86.5 1016.6
+ 05 01 20 02 35 00 1006.4 -4.9 86.2 1016.6
+ 05 01 20 02 40 00 1006.4 -4.9 85.3 1016.6
+ 05 01 20 02 45 00 1006.4 -4.9 84.9 1016.6
+ 05 01 20 02 50 00 1006.5 -4.8 84.2 1016.7
+ 05 01 20 02 55 00 1006.4 -4.8 84.5 1016.6
+ 05 01 20 03 00 00 1006.4 -4.8 84.8 1016.6
+ 05 01 20 03 05 00 1006.4 -4.7 85.3 1016.6
+ 05 01 20 03 10 00 1006.3 -4.7 84.2 1016.5
+ 05 01 20 03 15 00 1006.4 -4.7 83.6 1016.6
+ 05 01 20 03 20 00 1006.4 -4.7 82.5 1016.6
+ 05 01 20 03 25 00 1006.4 -4.6 83.0 1016.6
+ 05 01 20 03 30 00 1006.3 -4.6 82.6 1016.5
+ 05 01 20 03 35 00 1006.3 -4.6 82.3 1016.5
+ 05 01 20 03 40 00 1006.2 -4.6 81.7 1016.4
+ 05 01 20 03 45 00 1006.3 -4.5 82.5 1016.5
+ 05 01 20 03 50 00 1006.2 -4.5 82.3 1016.4
+ 05 01 20 03 55 00 1006.2 -4.5 82.6 1016.4
+ 05 01 20 04 00 00 1006.0 -4.5 81.8 1016.2
+ 05 01 20 04 05 00 1006.0 -4.4 82.7 1016.2
+ 05 01 20 04 10 00 1006.1 -4.4 82.3 1016.3
+ 05 01 20 04 15 00 1006.1 -4.4 82.4 1016.3
+ 05 01 20 04 20 00 1006.0 -4.4 81.4 1016.2
+ 05 01 20 04 25 00 1006.0 -4.3 81.8 1016.2
+ 05 01 20 04 30 00 1006.0 -4.3 80.9 1016.2
+ 05 01 20 04 35 00 1005.8 -4.3 81.4 1016.0
+ 05 01 20 04 40 00 1005.9 -4.3 81.2 1016.1
+ 05 01 20 04 45 00 1005.8 -4.3 81.2 1016.0
+ 05 01 20 04 50 00 1005.7 -4.3 80.1 1015.9
+ 05 01 20 04 55 00 1005.6 -4.2 80.3 1015.8
+ 05 01 20 05 00 00 1005.7 -4.2 80.5 1015.9
+ 05 01 20 05 05 00 1005.7 -4.2 80.3 1015.9
+ 05 01 20 05 10 00 1005.7 -4.2 79.9 1015.9
+ 05 01 20 05 15 00 1005.8 -4.2 79.1 1016.0
+ 05 01 20 05 20 00 1005.8 -4.1 79.6 1016.0
+ 05 01 20 05 25 00 1005.7 -4.1 79.3 1015.9
+ 05 01 20 05 30 00 1005.7 -4.1 78.7 1015.9
+ 05 01 20 05 35 00 1005.7 -4.1 78.7 1015.9
+ 05 01 20 05 40 00 1005.7 -4.1 78.7 1015.9
+ 05 01 20 05 45 00 1005.6 -4.0 78.7 1015.8
+ 05 01 20 05 50 00 1005.6 -4.0 78.2 1015.8
+ 05 01 20 05 55 00 1005.6 -4.0 78.2 1015.8
+ 05 01 20 06 00 00 1005.5 -4.0 77.8 1015.7
+ 05 01 20 06 05 00 1005.4 -4.0 77.6 1015.6
+ 05 01 20 06 10 00 1005.3 -3.9 77.3 1015.5
+ 05 01 20 06 15 00 1005.4 -3.9 76.8 1015.6
+ 05 01 20 06 20 00 1005.4 -3.9 76.2 1015.6
+ 05 01 20 06 25 00 1005.3 -3.9 75.7 1015.5
+ 05 01 20 06 30 00 1005.2 -3.8 75.4 1015.4
+ 05 01 20 06 35 00 1005.2 -3.8 75.3 1015.4
+ 05 01 20 06 40 00 1005.2 -3.8 74.8 1015.4
+ 05 01 20 06 45 00 1005.2 -3.8 74.4 1015.4
+ 05 01 20 06 50 00 1005.2 -3.8 74.1 1015.4
+ 05 01 20 06 55 00 1005.1 -3.8 74.1 1015.3
+ 05 01 20 07 00 00 1005.1 -3.7 73.9 1015.3
+ 05 01 20 07 05 00 1005.0 -3.7 73.5 1015.2
+ 05 01 20 07 10 00 1005.0 -3.7 72.7 1015.2
+ 05 01 20 07 15 00 1005.0 -3.6 72.8 1015.2
+ 05 01 20 07 20 00 1005.0 -3.6 72.3 1015.2
+ 05 01 20 07 25 00 1005.0 -3.6 71.9 1015.2
+ 05 01 20 07 30 00 1005.1 -3.5 71.7 1015.2
+ 05 01 20 07 35 00 1005.0 -3.5 71.4 1015.2
+ 05 01 20 07 40 00 1005.1 -3.5 71.4 1015.3
+ 05 01 20 07 45 00 1005.1 -3.5 71.1 1015.3
+ 05 01 20 07 50 00 1005.1 -3.5 70.8 1015.3
+ 05 01 20 07 55 00 1005.1 -3.4 70.9 1015.3
+ 05 01 20 08 00 00 1005.1 -3.4 70.4 1015.3
+ 05 01 20 08 05 00 1005.1 -3.4 70.5 1015.2
+ 05 01 20 08 10 00 1005.0 -3.4 70.3 1015.2
+ 05 01 20 08 15 00 1005.0 -3.3 70.5 1015.2
+ 05 01 20 08 20 00 1005.0 -3.3 70.1 1015.2
+ 05 01 20 08 25 00 1005.0 -3.3 70.6 1015.1
+ 05 01 20 08 30 00 1005.0 -3.3 71.0 1015.1
+ 05 01 20 08 35 00 1005.0 -3.3 71.3 1015.1
+ 05 01 20 08 40 00 1005.0 -3.3 70.9 1015.2
+ 05 01 20 08 45 00 1005.0 -3.3 70.3 1015.2
+ 05 01 20 08 50 00 1005.0 -3.3 70.4 1015.2
+ 05 01 20 08 55 00 1005.0 -3.3 70.2 1015.1
+ 05 01 20 09 00 00 1005.0 -3.2 69.6 1015.2
+ 05 01 20 09 05 00 1005.1 -3.2 69.4 1015.2
+ 05 01 20 09 10 00 1005.1 -3.1 69.2 1015.2
+ 05 01 20 09 15 00 1005.1 -3.1 69.3 1015.3
+ 05 01 20 09 20 00 1005.1 -3.1 69.6 1015.2
+ 05 01 20 09 25 00 1005.1 -3.1 70.8 1015.2
+ 05 01 20 09 30 00 1005.1 -3.1 69.7 1015.3
+ 05 01 20 09 35 00 1005.1 -3.1 69.7 1015.3
+ 05 01 20 09 40 00 1005.1 -3.1 69.3 1015.3
+ 05 01 20 09 45 00 1005.2 -3.1 69.6 1015.3
+ 05 01 20 09 50 00 1005.2 -3.1 70.1 1015.4
+ 05 01 20 09 55 00 1005.2 -3.1 70.4 1015.4
+ 05 01 20 10 00 00 1005.2 -3.1 70.5 1015.4
+ 05 01 20 10 05 00 1005.2 -3.0 70.9 1015.4
+ 05 01 20 10 10 00 1005.3 -3.0 70.4 1015.4
+ 05 01 20 10 15 00 1005.3 -3.0 69.9 1015.5
+ 05 01 20 10 20 00 1005.3 -3.0 70.1 1015.5
+ 05 01 20 10 25 00 1005.4 -3.0 71.0 1015.6
+ 05 01 20 10 30 00 1005.5 -3.0 71.4 1015.6
+ 05 01 20 10 35 00 1005.5 -3.0 70.9 1015.7
+ 05 01 20 10 40 00 1005.5 -2.9 71.5 1015.7
+ 05 01 20 10 45 00 1005.5 -2.9 71.3 1015.7
+ 05 01 20 10 50 00 1005.5 -2.8 71.1 1015.7
+ 05 01 20 10 55 00 1005.5 -2.8 70.6 1015.7
+ 05 01 20 11 00 00 1005.6 -2.7 70.6 1015.8
+ 05 01 20 11 05 00 1005.6 -2.7 70.5 1015.8
+ 05 01 20 11 10 00 1005.7 -2.6 70.3 1015.9
+ 05 01 20 11 15 00 1005.7 -2.6 69.9 1015.9
+ 05 01 20 11 20 00 1005.7 -2.7 70.0 1015.9
+ 05 01 20 11 25 00 1005.8 -2.7 70.1 1016.0
+ 05 01 20 11 30 00 1005.9 -2.8 70.6 1016.1
+ 05 01 20 11 35 00 1005.9 -2.8 70.9 1016.1
+ 05 01 20 11 40 00 1006.0 -2.7 71.0 1016.1
+ 05 01 20 11 45 00 1006.0 -2.7 70.9 1016.2
+ 05 01 20 11 50 00 1006.0 -2.7 71.0 1016.2
+ 05 01 20 11 55 00 1006.1 -2.7 71.2 1016.2
+ 05 01 20 12 00 00 1006.1 -2.6 71.1 1016.2
+ 05 01 20 12 05 00 1006.2 -2.5 70.9 1016.3
+ 05 01 20 12 10 00 1006.2 -2.3 70.7 1016.4
+ 05 01 20 12 15 00 1006.3 -2.3 70.5 1016.4
+ 05 01 20 12 20 00 1006.3 -2.2 70.5 1016.5
+ 05 01 20 12 25 00 1006.4 -2.2 70.6 1016.5
+ 05 01 20 12 30 00 1006.5 -2.1 70.6 1016.7
+ 05 01 20 12 35 00 1006.6 -2.1 70.4 1016.7
+ 05 01 20 12 40 00 1006.5 -2.1 70.3 1016.7
+ 05 01 20 12 45 00 1006.5 -2.2 70.9 1016.7
+ 05 01 20 12 50 00 1006.5 -2.0 69.2 1016.7
+ 05 01 20 12 55 00 1006.6 -1.9 68.7 1016.8
+ 05 01 20 13 00 00 1006.7 -1.9 68.4 1016.9
+ 05 01 20 13 05 00 1006.8 -1.8 69.0 1017.0
+ 05 01 20 13 10 00 1006.9 -1.8 68.8 1017.1
+ 05 01 20 13 15 00 1007.0 -1.8 68.8 1017.1
+ 05 01 20 13 20 00 1007.0 -1.8 68.7 1017.1
+ 05 01 20 13 25 00 1006.9 -1.7 66.7 1017.1
+ 05 01 20 13 30 00 1006.9 -1.7 66.3 1017.0
+ 05 01 20 13 35 00 1006.9 -1.7 66.6 1017.0
+ 05 01 20 13 40 00 1006.9 -1.7 66.8 1017.1
+ 05 01 20 13 45 00 1007.0 -1.7 67.6 1017.1
+ 05 01 20 13 50 00 1007.1 -1.6 68.0 1017.2
+ 05 01 20 13 55 00 1007.2 -1.5 66.7 1017.4
+ 05 01 20 14 00 00 1007.3 -1.2 65.4 1017.5
+ 05 01 20 14 05 00 1007.3 -0.9 62.2 1017.5
+ 05 01 20 14 10 00 1007.3 -0.8 60.9 1017.5
+ 05 01 20 14 15 00 1007.4 -0.7 59.7 1017.5
+ 05 01 20 14 20 00 1007.5 -0.5 58.7 1017.6
+ 05 01 20 14 25 00 1007.6 -0.3 57.1 1017.8
+ 05 01 20 14 30 00 1007.7 -0.1 55.6 1017.8
+ 05 01 20 14 35 00 1007.7 0.1 54.8 1017.9
+ 05 01 20 14 40 00 1007.7 0.1 53.6 1017.9
+ 05 01 20 14 45 00 1007.8 0.3 52.6 1017.9
+ 05 01 20 14 50 00 1007.9 0.2 51.7 1018.0
+ 05 01 20 14 55 00 1007.9 0.2 50.4 1018.1
+ 05 01 20 15 00 00 1007.9 0.2 49.6 1018.0
+ 05 01 20 15 05 00 1007.8 0.3 50.2 1017.9
+ 05 01 20 15 10 00 1007.8 0.3 48.7 1017.9
+ 05 01 20 15 15 00 1007.8 0.4 47.5 1018.0
+ 05 01 20 15 20 00 1007.9 0.5 46.4 1018.0
+ 05 01 20 15 25 00 1007.9 0.5 46.1 1018.1
+ 05 01 20 15 30 00 1007.9 0.6 46.1 1018.1
+ 05 01 20 15 35 00 1007.9 0.7 45.8 1018.0
+ 05 01 20 15 40 00 1007.8 0.6 45.8 1018.0
+ 05 01 20 15 45 00 1007.8 0.6 46.2 1018.0
+ 05 01 20 15 50 00 1007.9 0.5 46.0 1018.0
+ 05 01 20 15 55 00 1007.8 0.5 46.7 1017.9
+ 05 01 20 16 00 00 1007.8 0.4 46.4 1017.9
+ 05 01 20 16 05 00 1007.6 0.3 47.7 1017.8
+ 05 01 20 16 10 00 1007.6 0.3 47.0 1017.7
+ 05 01 20 16 15 00 1007.6 0.4 46.7 1017.7
+ 05 01 20 16 20 00 1007.6 0.4 46.8 1017.7
+ 05 01 20 16 25 00 1007.6 0.5 47.2 1017.7
+ 05 01 20 16 30 00 1007.5 0.6 47.3 1017.6
+ 05 01 20 16 35 00 1007.4 0.5 47.0 1017.5
+ 05 01 20 16 40 00 1007.2 0.5 47.1 1017.3
+ 05 01 20 16 45 00 1007.1 0.6 46.8 1017.3
+ 05 01 20 16 50 00 1007.1 0.6 46.6 1017.3
+ 05 01 20 16 55 00 1007.2 0.7 46.1 1017.3
+ 05 01 20 17 00 00 1007.2 0.7 45.4 1017.3
+ 05 01 20 17 05 00 1007.1 0.8 45.5 1017.2
+ 05 01 20 17 10 00 1007.1 0.9 45.4 1017.2
+ 05 01 20 17 15 00 1007.0 1.2 45.6 1017.1
+ 05 01 20 17 20 00 1006.8 1.5 44.8 1016.9
+ 05 01 20 17 25 00 1006.6 1.6 44.7 1016.7
+ 05 01 20 17 30 00 1006.5 1.8 43.6 1016.6
+ 05 01 20 17 35 00 1006.5 2.3 42.3 1016.6
+ 05 01 20 17 40 00 1006.5 2.3 42.2 1016.6
+ 05 01 20 17 45 00 1006.4 2.1 41.8 1016.5
+ 05 01 20 17 50 00 1006.2 2.4 42.1 1016.3
+ 05 01 20 17 55 00 1006.1 2.3 42.0 1016.2
+ 05 01 20 18 00 00 1006.0 1.9 42.5 1016.1
+ 05 01 20 18 05 00 1006.0 1.5 43.8 1016.1
+ 05 01 20 18 10 00 1006.0 1.5 44.3 1016.1
+ 05 01 20 18 15 00 1005.8 1.5 44.5 1015.9
+ 05 01 20 18 20 00 1005.8 1.8 44.2 1015.9
+ 05 01 20 18 25 00 1005.7 1.9 42.7 1015.8
+ 05 01 20 18 30 00 1005.8 1.9 42.3 1015.9
+ 05 01 20 18 35 00 1005.8 1.9 43.1 1015.9
+ 05 01 20 18 40 00 1005.7 2.1 42.4 1015.8
+ 05 01 20 18 45 00 1005.5 2.0 42.0 1015.6
+ 05 01 20 18 50 00 1005.4 2.2 41.9 1015.5
+ 05 01 20 18 55 00 1005.3 2.5 42.3 1015.4
+ 05 01 20 19 00 00 1005.1 2.5 41.1 1015.1
+ 05 01 20 19 05 00 1005.1 2.5 41.4 1015.1
+ 05 01 20 19 10 00 1004.9 2.6 41.0 1015.0
+ 05 01 20 19 15 00 1004.9 2.7 41.2 1015.0
+ 05 01 20 19 20 00 1005.0 2.9 40.6 1015.0
+ 05 01 20 19 25 00 1005.0 2.9 40.9 1015.1
+ 05 01 20 19 30 00 1005.1 2.6 41.4 1015.2
+ 05 01 20 19 35 00 1004.9 2.7 41.6 1015.0
+ 05 01 20 19 40 00 1004.8 2.6 41.3 1014.9
+ 05 01 20 19 45 00 1004.9 2.3 42.7 1014.9
+ 05 01 20 19 50 00 1004.9 2.0 43.9 1015.0
+ 05 01 20 19 55 00 1004.9 1.9 44.6 1015.0
+ 05 01 20 20 00 00 1004.9 1.9 44.9 1015.0
+ 05 01 20 20 05 00 1004.9 1.9 44.8 1014.9
+ 05 01 20 20 10 00 1004.8 2.0 45.2 1014.8
+ 05 01 20 20 15 00 1004.7 2.1 45.7 1014.8
+ 05 01 20 20 20 00 1004.7 1.9 45.4 1014.8
+ 05 01 20 20 25 00 1004.7 1.6 45.8 1014.8
+ 05 01 20 20 30 00 1004.6 1.6 46.9 1014.6
+ 05 01 20 20 35 00 1004.5 1.8 46.2 1014.6
+ 05 01 20 20 40 00 1004.5 1.9 46.3 1014.6
+ 05 01 20 20 45 00 1004.5 2.0 46.1 1014.6
+ 05 01 20 20 50 00 1004.5 1.8 45.4 1014.5
+ 05 01 20 20 55 00 1004.4 1.8 46.1 1014.5
+ 05 01 20 21 00 00 1004.3 1.8 46.2 1014.4
+ 05 01 20 21 05 00 1004.3 1.8 46.9 1014.4
+ 05 01 20 21 10 00 1004.4 1.9 46.9 1014.5
+ 05 01 20 21 15 00 1004.3 1.8 46.3 1014.4
+ 05 01 20 21 20 00 1004.3 1.7 47.2 1014.4
+ 05 01 20 21 25 00 1004.4 1.8 47.2 1014.4
+ 05 01 20 21 30 00 1004.4 1.8 46.6 1014.5
+ 05 01 20 21 35 00 1004.4 1.7 46.6 1014.5
+ 05 01 20 21 40 00 1004.3 1.7 46.7 1014.4
+ 05 01 20 21 45 00 1004.4 1.6 46.4 1014.4
+ 05 01 20 21 50 00 1004.4 1.6 45.6 1014.5
+ 05 01 20 21 55 00 1004.5 1.6 46.3 1014.6
+ 05 01 20 22 00 00 1004.6 1.5 46.4 1014.7
+ 05 01 20 22 05 00 1004.6 1.4 46.4 1014.7
+ 05 01 20 22 10 00 1004.6 1.4 46.3 1014.6
+ 05 01 20 22 15 00 1004.6 1.4 46.4 1014.7
+ 05 01 20 22 20 00 1004.7 1.3 47.2 1014.8
+ 05 01 20 22 25 00 1004.6 1.3 47.1 1014.7
+ 05 01 20 22 30 00 1004.7 1.2 48.4 1014.7
+ 05 01 20 22 35 00 1004.6 1.1 48.9 1014.7
+ 05 01 20 22 40 00 1004.6 1.0 49.7 1014.7
+ 05 01 20 22 45 00 1004.6 0.9 49.3 1014.7
+ 05 01 20 22 50 00 1004.6 0.9 49.8 1014.7
+ 05 01 20 22 55 00 1004.7 0.9 49.6 1014.8
+ 05 01 20 23 00 00 1004.7 0.8 50.6 1014.8
+ 05 01 20 23 05 00 1004.7 0.8 50.7 1014.8
+ 05 01 20 23 10 00 1004.7 0.7 50.7 1014.8
+ 05 01 20 23 15 00 1004.7 0.6 51.0 1014.8
+ 05 01 20 23 20 00 1004.9 0.6 51.7 1015.0
+ 05 01 20 23 25 00 1005.0 0.5 51.9 1015.1
+ 05 01 20 23 30 00 1005.0 0.5 51.8 1015.1
+ 05 01 20 23 35 00 1005.1 0.5 52.0 1015.2
+ 05 01 20 23 40 00 1005.2 0.4 50.9 1015.3
+ 05 01 20 23 45 00 1005.2 0.3 50.7 1015.3
+ 05 01 20 23 50 00 1005.1 0.3 50.4 1015.2
+ 05 01 20 23 55 00 1005.2 0.2 49.3 1015.3
diff --git a/trunk/apps/positioning/doc/usno0200.05o b/trunk/apps/positioning/doc/usno0200.05o
new file mode 100644
index 0000000..0e57cd2
--- /dev/null
+++ b/trunk/apps/positioning/doc/usno0200.05o
@@ -0,0 +1,51808 @@
+ 2.10 OBSERVATION DATA G (GPS) RINEX VERSION / TYPE
+teqc 2002Mar14 20050121 01:02:50UTCPGM / RUN BY / DATE
+HP-UX 10.20|PA-RISC|cc A.10.32.03|=+|=| COMMENT
+teqc 2002Mar14 GRD/NGS/NOAA 20050121 00:54:28UTCCOMMENT
+teqc 2002Mar14 GRD/NGS/NOAA 20050120 01:02:11UTCCOMMENT
+BIT 2 OF LLI FLAGS DATA COLLECTED UNDER A/S CONDITION COMMENT
+USNO MARKER NAME
+40451S003 MARKER NUMBER
+USNO USNO OBSERVER / AGENCY
+RT919994503 ASHTECH Z-XII3T 1L01-1D04 REC # / TYPE / VERS
+309 AOAD/M_T NONE ANT # / TYPE
+ 1112189.9031 -4842955.0319 3985352.2376 APPROX POSITION XYZ
+ 0.0000 0.0000 0.0000 ANTENNA: DELTA H/E/N
+ 1 1 WAVELENGTH FACT L1/2
+ 7 C1 L1 L2 P1 P2 D1 D2 # / TYPES OF OBSERV
+ 30.0000 INTERVAL
+ SNR is mapped to RINEX snr flag value [1-9] COMMENT
+ L1: 1 -> 1; 90 -> 5; 210 -> 9 COMMENT
+ L2: 1 -> 1; 150 -> 5; 250 -> 9 COMMENT
+Forced Modulo Decimation to 30 seconds COMMENT
+ 2005 1 20 0 0 0.0000000 GPS TIME OF FIRST OBS
+ END OF HEADER
+ 05 1 20 0 0 0.0000000 0 10G30G 6G17G27G 2G 8G26G29G21G10
+ 25128562.1364 4545549.90249 3555415.16945 25128562.4674 25128572.0884
+ -2694.6624 -2099.7404
+ 21453377.6314 -18821415.41049 -14641666.63648 21453377.6524 21453383.0924
+ 957.0514 745.7544
+ 20636631.4414 -26210159.33049 -20402628.01248 20636630.9184 20636636.8604
+ -408.5724 -318.3724
+ 25422813.4284 -876260.55548 -1490.04444
+ 54.5964 43.7264
+ 21945656.4674 -18794404.52949 -14605938.86647 21945656.1254 21945659.2064
+ -2359.6874 -1838.7184
+ 25014611.6624 -968730.01649 -746502.64445 25014611.9784 25014620.4564
+ 1484.7814 1156.9704
+ 21348900.4714 -17227655.33549 -13115418.92547 21348900.4884 21348906.2674
+ 3206.9014 2498.8814
+ 20957557.7284 -22996005.41749 -17868683.97948 20957557.6194 20957563.4264
+ 1898.3654 1479.2414
+ 24252299.8924 -3196525.12049 -2237654.61945 24252299.1474 24252302.6724
+ 3062.2034 2386.1264
+ 20823923.9814 -20246470.93149 -15754394.42648 20823923.0264 20823928.7234
+ -1734.9424 -1351.9034
+ 05 1 20 0 0 30.0000000 0 10G30G 6G17G27G 2G 8G26G29G21G10
+ 25143943.7494 4626385.90149 3618404.29145 25143943.3214 25143951.7164
+ -2694.2904 -2099.4444
+ 21447964.9034 -18849859.79749 -14663831.05848 21447964.7404 21447970.4584
+ 938.9424 731.6344
+ 20638993.7034 -26197744.17149 -20392953.85048 20638993.6344 20638999.4084
+ -419.1724 -326.6314
+ 25422542.9034 -877690.81848 -2639.37244
+ 40.4914 32.6874
+ 21959152.5244 -18723478.40049 -14550671.77347 21959152.7364 21959155.7834
+ -2368.7294 -1845.7704
+ 25006175.7094 -1013080.15249 -781061.21245 25006175.0964 25006180.9664
+ 1471.9004 1146.9364
+ 21330633.0034 -17323651.59649 -13190221.15647 21330633.3854 21330638.7594
+ 3192.7784 2487.8754
+ 20946769.7454 -23052698.53049 -17912860.39548 20946769.6254 20946774.9974
+ 1881.1984 1465.8664
+ 24234812.1924 -3288402.16149 -2309246.95145 24234812.6744 24234819.3444
+ 3062.8464 2386.6284
+ 20833852.0714 -20194295.18649 -15713737.98848 20833851.6734 20833857.3044
+ -1743.4564 -1358.5424
+ 05 1 20 0 1 0.0000000 0 10G30G 6G17G27G 2G 8G26G29G21G10
+ 25159327.3604 4707205.96849 3681381.06645 25159326.0824 25159331.8434
+ -2693.6624 -2098.9634
+ 21442654.9974 -18877760.05749 -14685571.49148 21442655.3104 21442661.3054
+ 920.7884 717.4974
+ 20641417.4924 -26185010.00349 -20383031.10748 20641416.7324 20641422.4204
+ -429.8264 -334.9294
+ 25422350.090
+
+ 21972701.4744 -18652281.02849 -14495193.29747 21972701.0314 21972703.6634
+ -2377.7674 -1852.8104
+ 24997810.2244 -1057043.49349 -815318.30845 24997808.6354 24997811.8904
+ 1458.9824 1136.8714
+ 21312446.6474 -17419222.47849 -13264691.92047 21312446.5964 21312452.0364
+ 3178.5754 2476.8114
+ 20936079.9524 -23108876.56449 -17956635.44948 20936079.3374 20936084.3104
+ 1864.0624 1452.5154
+ 24217326.5464 -3380297.61749 -2380853.67145 24217325.3814 24217331.5554
+ 3063.4764 2387.1124
+ 20843829.6864 -20141864.50849 -15672882.88748 20843828.8334 20843834.6284
+ -1751.9084 -1365.1224
+ 05 1 20 0 1 30.0000000 0 9G30G 6G17G 2G 8G26G29G21G10
+ 25174704.7344 4788007.24449 3744343.19045 25174703.1574 25174710.6634
+ -2693.0334 -2098.4654
+ 21437451.1684 -18905115.12149 -14706887.09348 21437450.3964 21437455.8114
+ 902.5984 703.3224
+ 20643901.3154 -26171955.85349 -20372859.03148 20643900.6494 20643906.9254
+ -440.4804 -343.2344
+ 21986299.9444 -18580813.20049 -14439504.08947 21986300.2784 21986303.9624
+ -2386.7724 -1859.8234
+ 24989518.1184 -1100617.63349 -849272.19245 24989518.0374 24989522.4094
+ 1445.9484 1126.7194
+ 21294341.2904 -17514364.80549 -13338828.74147 21294341.4714 21294347.0244
+ 3164.2284 2465.6244
+ 20925487.6564 -23164538.08449 -18000008.03348 20925487.8344 20925492.5754
+ 1846.7734 1439.0394
+ 24199835.0654 -3472210.24849 -2452473.81045 24199836.2154 24199841.0304
+ 3064.0244 2387.5524
+ 20853854.8404 -20089180.27949 -15631830.23048 20853854.2144 20853860.0764
+ -1760.3404 -1371.7014
+ 05 1 20 0 2 0.0000000 0 9G30G 6G17G 2G 8G26G29G21G10
+ 25190072.7374 4868786.93849 3807288.42345 25190072.9564 25190080.2984
+ -2692.1854 -2097.8094
+ 21432348.9774 -18931924.02549 -14727777.12548 21432348.7364 21432354.2404
+ 884.3914 689.1404
+ 20646446.9574 -26158581.04149 -20362437.09048 20646446.3214 20646451.8964
+ -451.2014 -351.5864
+ 21999951.7424 -18509075.20349 -14383604.34847 21999951.5334 21999955.8124
+ -2395.7564 -1866.8234
+ 24981301.6494 -1143800.55549 -882921.24945 24981300.9274 24981306.1804
+ 1432.8924 1116.5394
+ 21276318.3334 -17609075.53849 -13412629.25647 21276318.6784 21276323.8144
+ 3149.7874 2454.3804
+ 20914994.3994 -23219681.18949 -18042976.64948 20914994.0954 20914998.9414
+ 1829.5034 1425.5864
+ 24182343.6274 -3564139.35149 -2524106.80045 24182342.7274 24182347.3334
+ 3064.5824 2387.9824
+ 20863929.0634 -20036244.37349 -15590581.45948 20863927.7424 20863933.0844
+ -1768.6984 -1378.2074
+ 05 1 20 0 2 30.0000000 0 9G30G 6G17G 2G 8G26G29G21G10
+ 25205441.3774 4949542.18649 3870214.61345 25205439.9744 25205447.6374
+ -2691.4474 -2097.2304
+ 21427351.0734 -18958185.44149 -14748240.53448 21427351.1054 21427356.5594
+ 866.1114 674.8854
+ 20649052.6334 -26144884.58749 -20351764.51848 20649052.0884 20649057.9254
+ -461.9494 -359.9624
+ 22013655.4084 -18437067.25249 -14327494.27147 22013654.7224 22013658.2594
+ -2404.7744 -1873.8524
+ 24973157.6574 -1186589.31949 -916263.07245 24973156.5824 24973162.1274
+ 1419.6764 1106.2394
+ 21258378.6264 -17703351.62549 -13486091.09747 21258378.3414 21258383.9074
+ 3135.2504 2443.0504
+ 20904600.1264 -23274304.28349 -18085540.06348 20904599.4684 20904604.4544
+ 1812.1394 1412.0534
+ 24164846.7984 -3656084.19949 -2595751.99245 24164845.5664 24164850.3194
+ 3065.0744 2388.3654
+ 20874049.3424 -19983058.48849 -15549137.89848 20874048.7904 20874054.5494
+ -1777.0284 -1384.6964
+ 05 1 20 0 3 0.0000000 0 9G30G 6G17G 2G 8G26G29G21G10
+ 25220802.6194 5030270.05949 3933119.47445 25220800.6164 25220810.6214
+ -2690.3364 -2096.3764
+ 21422458.4034 -18983898.46749 -14768276.62648 21422458.3094 21422463.5664
+ 847.8044 660.6254
+ 20651720.3964 -26130865.72349 -20340840.71748 20651720.1124 20651725.3384
+ -472.7214 -368.3594
+ 22027408.9624 -18364789.96749 -14271174.32447 22027408.8874 22027411.8954
+ -2413.7294 -1880.8204
+ 24965089.4714 -1228982.00449 -949296.29745 24965089.5334 24965094.8654
+ 1406.4584 1095.9414
+ 21240520.3624 -17797190.10749 -13559211.92947 21240521.1974 21240527.4544
+ 3120.6394 2431.6564
+ 20894304.2164 -23328405.94949 -18127697.17048 20894304.2014 20894309.3714
+ 1794.6894 1398.4534
+ 24147348.2894 -3748043.81849 -2667408.73345 24147347.2594 24147352.4984
+ 3065.4994 2388.6994
+ 20884217.6824 -19929624.31349 -15507500.86348 20884217.0604 20884222.7554
+ -1785.2694 -1391.1234
+ 05 1 20 0 3 30.0000000 0 8G 6G17G 2G 8G26G29G21G10
+ 21417669.9294 -19009062.10749 -14787884.62748 21417670.0394 21417675.1894
+ 829.4754 646.3434
+ 20654450.1834 -26116523.47949 -20329664.93048 20654449.3944 20654454.8554
+ -483.4974 -376.7534
+ 22041214.6734 -18292243.95949 -14214644.94947 22041213.8874 22041217.3804
+ -2422.6924 -1887.8144
+ 24957099.6524 -1270976.21849 -982019.02645 24957099.0394 24957103.4834
+ 1393.2094 1085.6204
+ 21222748.5304 -17890587.78649 -13631989.29647 21222748.4084 21222753.5354
+ 3105.8644 2420.1554
+ 20884109.2094 -23381984.46649 -18169446.63848 20884108.6384 20884113.6044
+ 1777.2414 1384.8604
+ 24129843.2834 -3840017.29549 -2739076.24545 24129843.2794 24129849.4554
+ 3065.9414 2389.0404
+ 20894432.6974 -19875943.56449 -15465671.68648 20894432.2314 20894437.6834
+ -1793.4614 -1397.5014
+ 05 1 20 0 4 0.0000000 0 8G 6G17G 2G 8G26G29G21G10
+ 21412986.6064 -19033675.24949 -14807063.66848 21412985.9944 21412991.2974
+ 811.0984 632.0224
+ 20657239.9504 -26101856.97449 -20318236.46948 20657239.6674 20657246.1164
+ -494.3374 -385.1974
+ 22055070.8174 -18219429.42449 -14157906.35647 22055070.6064 22055073.1064
+ -2431.6274 -1894.7734
+ 24949184.7934 -1312569.15949 -1014429.07945 24949184.0874 24949190.1954
+ 1379.6294 1075.0344
+ 21205060.2124 -17983541.87849 -13704421.01147 21205060.2804 21205065.6294
+ 3091.0234 2408.5834
+ 20874012.5184 -23435038.35849 -18210787.29648 20874012.5924 20874018.1114
+ 1759.7414 1371.2224
+ 24112340.2534 -3932003.63749 -2810753.81345 24112340.2014 24112344.7104
+ 3066.3984 2389.3964
+ 20904694.3144 -19822017.56649 -15423651.40848 20904693.5664 20904699.5904
+ -1801.6184 -1403.8604
+ 05 1 20 0 4 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25402857.2904 -346075.98649 -251487.40745 25402860.7434 25402870.9874
+ 2921.4434 2276.4394
+ 21408406.9384 -19057736.72649 -14825812.83748 21408407.0394 21408412.3914
+ 792.7094 617.6894
+ 20660093.5194 -26086865.15149 -20306554.51948 20660092.8294 20660098.6274
+ -505.1674 -393.6404
+ 22068978.1134 -18146346.97649 -14100958.99447 22068977.8254 22068980.5214
+ -2440.5474 -1901.7314
+ 24941347.2074 -1353759.08449 -1046525.09645 24941346.0564 24941351.4384
+ 1366.2844 1064.6384
+ 21187456.9634 -18076049.19749 -13776504.58447 21187456.8644 21187461.8254
+ 3076.1184 2396.9714
+ 20864017.0914 -23487565.92149 -18251717.83148 20864017.1594 20864022.0944
+ 1742.1814 1357.5424
+ 24094832.1314 -4024001.95949 -2882440.69545 24094833.5014 24094837.5724
+ 3066.7354 2389.6564
+ 20915002.4634 -19767848.16349 -15381441.47248 20915002.0004 20915007.1994
+ -1809.6694 -1410.1384
+ 05 1 20 0 5 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25386194.3774 -433672.77349 -319744.48445 25386194.2904 25386202.8694
+ 2918.3054 2273.9934
+ 21403933.8324 -19081245.88749 -14844131.63048 21403933.3564 21403938.7034
+ 774.3144 603.3604
+ 20663008.3634 -26071547.45449 -20294618.63548 20663007.6274 20663013.8114
+ -516.0634 -402.1294
+ 22082935.4174 -18072997.20549 -14043803.31147 22082935.3014 22082939.1794
+ -2449.4294 -1908.6474
+ 24933584.2534 -1394543.94749 -1078305.52245 24933583.5704 24933589.5534
+ 1352.7844 1054.1164
+ 21169938.5564 -18168106.84749 -13848237.76547 21169938.6694 21169943.5374
+ 3061.0584 2385.2354
+ 20854121.5804 -23539565.62249 -18292237.04548 20854122.0134 20854126.9894
+ 1724.5224 1343.7784
+ 24077324.2904 -4116011.08249 -2954136.01745 24077324.2834 24077329.9494
+ 3067.1604 2389.9834
+ 20925356.1964 -19713437.15149 -15339043.25748 20925355.4594 20925361.5154
+ -1817.7064 -1416.3954
+ 05 1 20 0 5 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25369546.0834 -521175.75049 -387928.40545 25369541.8814 25369551.8354
+ 2915.2364 2271.5994
+ 21399565.4144 -19104201.44549 -14862019.05448 21399565.1394 21399570.4694
+ 755.8284 588.9574
+ 20665985.2524 -26055903.08449 -20282428.20548 20665984.5924 20665990.6634
+ -526.9704 -410.6284
+ 22096943.2944 -17999380.51149 -13986439.67447 22096943.7364 22096946.4344
+ -2458.3304 -1915.5824
+ 24925900.9084 -1434920.70849 -1109767.88845 24925901.1974 24925905.2624
+ 1339.0924 1043.4494
+ 21152506.8594 -18259711.73249 -13919618.14947 21152506.3124 21152511.8154
+ 3045.9264 2373.4464
+ 20844327.5394 -23591036.02149 -18332343.81848 20844327.1644 20844332.4094
+ 1706.8634 1330.0224
+ 24059816.3904 -4208030.24849 -3025839.13845 24059813.9024 24059818.3354
+ 3067.4064 2390.1884
+ 20935756.6374 -19658786.27949 -15296458.15348 20935755.6834 20935761.1664
+ -1825.6734 -1422.6024
+ 05 1 20 0 6 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25352911.0734 -608584.24349 -456038.67245 25352909.9854 25352919.9274
+ 2912.0434 2269.1184
+ 21395302.1304 -19126602.61649 -14879474.48148 21395301.9884 21395307.7164
+ 737.3314 574.5424
+ 20669024.8044 -26039930.87349 -20269982.31648 20669024.1004 20669029.9364
+ -537.9024 -419.1474
+ 22111003.8644 -17925497.43149 -13928868.46347 22111003.7134 22111007.1674
+ -2467.2014 -1922.4904
+ 24918298.2954 -1474887.61249 -1140910.94945 24918296.7764 24918301.8144
+ 1325.3904 1032.7704
+ 21135160.3274 -18350861.01749 -13990643.51247 21135160.9384 21135166.4074
+ 3030.6954 2361.5784
+ 20834633.5524 -23641975.67849 -18372037.03048 20834633.6134 20834638.8544
+ 1689.1744 1316.2394
+ 24042301.6234 -4300058.67549 -3097549.48345 24042300.8024 24042306.0584
+ 3067.7414 2390.4404
+ 20946201.3264 -19603896.98049 -15253687.25248 20946200.4894 20946206.2274
+ -1833.6024 -1428.7834
+ 05 1 20 0 6 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25336296.7684 -695897.63749 -524074.94745 25336296.4064 25336303.4714
+ 2908.7984 2266.5944
+ 21391145.4794 -19148448.40249 -14896497.13948 21391145.0764 21391150.7074
+ 718.7804 560.0884
+ 20672126.0054 -26023630.35649 -20257280.60048 20672125.6564 20672131.8794
+ -548.8494 -427.6774
+ 22125114.4274 -17851348.55449 -13871090.13347 22125114.1474 22125116.4464
+ -2476.0714 -1929.4034
+ 24910766.2514 -1514442.26348 -1171732.70445 24910767.0464 24910773.8614
+ 1311.5314 1021.9694
+ 21117903.6694 -18441551.78549 -14061311.60347 21117903.3064 21117908.3574
+ 3015.3554 2349.6274
+ 20825042.2464 -23692383.00149 -18411315.43148 20825041.8854 20825046.6964
+ 1671.3854 1302.3754
+ 24024788.2454 -4392095.04549 -3169265.99845 24024786.3934 24024791.1804
+ 3067.9244 2390.5864
+ 20956691.5204 -19548771.08349 -15210731.98448 20956690.5734 20956696.2294
+ -1841.4574 -1434.9024
+ 05 1 20 0 7 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25319700.1754 -783115.13449 -592036.48245 25319699.8214 25319705.9324
+ 2905.6514 2264.1414
+ 21387093.1714 -19169737.93749 -14913086.35848 21387093.4614 21387099.4594
+ 700.2104 545.6134
+ 20675291.3084 -26007000.42149 -20244322.19748 20675290.6724 20675296.7044
+ -559.8544 -436.2524
+ 22139274.0464 -17776934.24349 -13813104.98147 22139274.3014 22139277.9524
+ -2484.9134 -1936.3014
+ 24903323.6674 -1553582.29449 -1202231.42245 24903323.0134 24903327.1614
+ 1297.7354 1011.2264
+ 21100733.7284 -18531780.85749 -14131619.91647 21100733.4204 21100738.9264
+ 2999.9184 2337.5924
+ 20815551.3864 -23742256.67449 -18450178.00948 20815550.8424 20815556.1244
+ 1653.6014 1288.5164
+ 24007271.8714 -4484138.19149 -3240987.81645 24007271.7784 24007276.8404
+ 3068.1884 2390.7854
+ 20967226.0294 -19493410.06049 -15167593.50848 20967225.2244 20967231.0364
+ -1849.2694 -1440.9944
+ 05 1 20 0 7 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25303120.8504 -870236.66249 -659923.24145 25303119.3534 25303126.6394
+ 2902.5024 2261.6844
+ 21383148.9264 -19190470.35349 -14929241.44948 21383148.3654 21383154.1504
+ 681.6604 531.1644
+ 20678518.3594 -25990040.26949 -20231106.48148 20678518.1754 20678523.7734
+ -570.8764 -444.8404
+ 22153485.6674 -17702255.02349 -13754913.37747 22153485.3714 22153488.2874
+ -2493.7154 -1943.1554
+ 24895951.5304 -1592306.05149 -1232405.75945 24895951.1774 24895956.7504
+ 1283.8204 1000.3834
+ 21083651.0564 -18621545.42749 -14201566.29247 21083651.7754 21083657.0494
+ 2984.3744 2325.4884
+ 20806162.1014 -23791595.35049 -18488623.70348 20806161.9424 20806167.0024
+ 1635.7244 1274.5904
+ 23989754.2844 -4576187.49849 -3312714.43645 23989754.5204 23989760.5494
+ 3068.3814 2390.9444
+ 20977805.6064 -19437815.62149 -15124273.15048 20977804.7624 20977810.5334
+ -1857.0004 -1447.0104
+ 05 1 20 0 8 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25286559.6674 -957261.65049 -727734.83545 25286560.9914 25286565.2374
+ 2899.2344 2259.1414
+ 21379308.9444 -19210644.84949 -14944961.81148 21379309.0644 21379315.0694
+ 663.0224 516.6404
+ 20681808.8964 -25972749.05649 -20217632.79748 20681808.3224 20681814.4054
+ -581.9414 -453.4604
+ 22167746.6784 -17627311.37249 -13696515.72347 22167746.4264 22167749.8574
+ -2502.5384 -1950.0324
+ 24888659.4504 -1630610.99849 -1262253.77245 24888659.3864 24888667.9924
+ 1269.8054 989.4554
+ 21066658.8334 -18710842.43049 -14271148.32047 21066658.8074 21066664.4214
+ 2968.7364 2313.2934
+ 20796875.1704 -23840397.48249 -18526651.31248 20796875.0524 20796880.3914
+ 1617.7914 1260.6144
+ 23972238.7734 -4668241.71449 -3384444.84745 23972237.2604 23972242.7664
+ 3068.5114 2391.0424
+ 20988428.6214 -19381989.46549 -15080772.22748 20988427.9194 20988433.6234
+ -1864.7244 -1453.0294
+ 05 1 20 0 8 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25270014.6584 -1044189.74249 -795470.90245 25270015.0884 25270020.8494
+ 2896.0054 2256.6214
+ 21375577.4534 -19230260.56549 -14960246.75348 21375576.7094 21375582.2224
+ 644.3984 502.1304
+ 20685162.5784 -25955125.93349 -20203900.48248 20685161.9524 20685167.3864
+ -593.0244 -462.1004
+ 22182059.4314 -17552103.82849 -13637912.43847 22182058.2424 22182060.9024
+ -2511.3194 -1956.8674
+ 24881454.4154 -1668494.77849 -1291773.59645 24881452.8124 24881459.4504
+ 1255.7394 978.5024
+ 21049755.3984 -18799669.18049 -14340363.92047 21049755.7984 21049760.8674
+ 2953.0104 2301.0464
+ 20787691.1054 -23888661.65249 -18564259.72848 20787690.9014 20787695.4794
+ 1599.8384 1246.6244
+ 23954719.0804 -4760300.04649 -3456178.50945 23954719.8704 23954725.6894
+ 3068.6324 2391.1404
+ 20999095.9744 -19325933.08349 -15037091.91448 20999095.4374 20999100.6354
+ -1872.3634 -1458.9834
+ 05 1 20 0 9 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25253492.9954 -1131020.22349 -863130.83945 25253492.2684 25253500.5334
+ 2892.7394 2254.0784
+ 21371950.5524 -19249316.63349 -14975095.61548 21371950.7844 21371955.8084
+ 625.7304 487.5834
+ 20688579.1704 -25937170.16749 -20189908.96048 20688578.8204 20688584.7794
+ -604.1114 -470.7334
+ 22196419.9394 -17476632.90849 -13579103.92547 22196419.9654 22196423.2384
+ -2520.0784 -1963.6934
+ 24874326.5984 -1705955.41049 -1320963.67145 24874326.5024 24874327.1374
+ 1241.6244 967.4954
+ 21032942.7874 -18888022.71749 -14409210.79247 21032942.9834 21032947.8474
+ 2937.1814 2288.7104
+ 20778609.1344 -23936386.64049 -18601447.99948 20778608.9694 20778614.2734
+ 1581.8434 1232.6004
+ 23937200.5424 -4852361.29249 -3527914.42945 23937200.8244 23937205.3134
+ 3068.7994 2391.2604
+ 21009806.6544 -19269648.16349 -14993233.51348 21009805.7644 21009811.7904
+ -1879.9724 -1464.9124
+ 05 1 20 0 9 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25236987.3924 -1217752.81849 -930714.49845 25236988.3324 25236995.7934
+ 2889.4554 2251.5194
+ 21368431.1624 -19267812.20449 -14989507.72748 21368431.1174 21368436.3854
+ 607.0234 473.0084
+ 20692060.1174 -25918880.88449 -20175657.55948 20692059.2334 20692064.8344
+ -615.2464 -479.4094
+ 22210830.9204 -17400899.33049 -13520090.74647 22210831.0334 22210834.3864
+ -2528.8214 -1970.5054
+ 24867279.5034 -1742990.84949 -1349822.37045 24867277.9964 24867282.6774
+ 1227.3794 956.3994
+ 21016220.0454 -18975900.06549 -14477686.59847 21016220.0314 21016225.0064
+ 2921.2794 2276.3264
+ 20769630.6344 -23983570.97449 -18638214.98948 20769630.5604 20769635.0574
+ 1563.7964 1218.5424
+ 23919682.3604 -4944424.34149 -3599651.80145 23919682.1854 23919685.7744
+ 3068.7704 2391.2474
+ 21020560.4134 -19213136.13149 -14949198.15248 21020559.4784 21020565.1604
+ -1887.5034 -1470.7794
+ 05 1 20 0 10 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25220501.4604 -1304387.05849 -998221.54145 25220499.2334 25220506.2164
+ 2886.1484 2248.9384
+ 21365017.6964 -19285746.64549 -15003482.58648 21365017.9574 21365023.6024
+ 588.3284 458.4344
+ 20695603.7694 -25900257.27349 -20161145.64348 20695603.2644 20695608.7614
+ -626.4004 -488.1064
+ 22225292.8704 -17324903.73749 -13460873.40147 22225292.6504 22225295.5284
+ -2537.5564 -1977.3174
+ 24860310.8604 -1779598.66249 -1378347.97345 24860311.6204 24860317.0954
+ 1213.1164 945.2844
+ 20999588.5054 -19063298.45549 -14545789.19047 20999588.6454 20999594.3044
+ 2905.2654 2263.8424
+ 20760754.5904 -24030213.46549 -18674559.75148 20760754.5604 20760759.3024
+ 1545.7574 1204.4864
+ 23902161.6134 -5036488.63549 -3671390.07845 23902161.6164 23902167.0474
+ 3068.8234 2391.2934
+ 21031357.1884 -19156398.93949 -14904987.33248 21031356.7774 21031361.9524
+ -1894.9704 -1476.6014
+ 05 1 20 0 10 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25204035.1184 -1390922.19549 -1065651.29645 25204037.0344 25204040.1514
+ 2882.8694 2246.3764
+ 21361712.8724 -19303119.23249 -15017019.63648 21361711.8814 21361717.8254
+ 569.5744 443.8274
+ 20699211.4114 -25881298.55649 -20146372.60848 20699210.7744 20699216.6094
+ -637.5754 -496.8104
+ 22239805.7214 -17248646.39249 -13401452.10347 22239804.2774 22239807.4264
+ -2546.2464 -1984.0894
+ 24853429.1814 -1815776.85849 -1406538.73145 24853427.0254 24853431.5554
+ 1198.7594 934.1024
+ 20983049.0694 -19150214.92949 -14613516.26447 20983049.0994 20983054.0684
+ 2889.1624 2251.2984
+ 20751982.0624 -24076312.71849 -18710481.22448 20751982.0524 20751987.1724
+ 1527.6134 1190.3494
+ 23884645.3064 -5128552.73049 -3743128.26145 23884643.5624 23884646.7674
+ 3068.7924 2391.2754
+ 21042197.0844 -19099438.02349 -14860602.18548 21042195.9404 21042201.2674
+ -1902.3934 -1482.3854
+ 05 1 20 0 11 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25187585.6024 -1477358.09349 -1133003.76145 25187585.9774 25187592.2634
+ 2879.5084 2243.7594
+ 21358513.0974 -19319929.19649 -15030118.27548 21358513.3574 21358518.9414
+ 550.7954 429.1904
+ 20702883.1624 -25862003.87849 -20131337.77848 20702882.4014 20702888.2104
+ -648.8014 -505.5544
+ 22254365.4534 -17172128.02949 -13341827.41547 22254364.9554 22254368.4594
+ -2555.0024 -1990.9024
+ 24846624.3784 -1851523.42349 -1434393.17945 24846622.8614 24846630.4874
+ 1184.3164 922.8414
+ 20966601.5764 -19236646.83849 -14680865.74547 20966601.8624 20966606.4694
+ 2872.9404 2238.6554
+ 20743313.2134 -24121867.53649 -18745978.45048 20743312.9694 20743318.3744
+ 1509.4544 1176.1964
+ 23867125.5984 -5220615.64749 -3814865.52646 23867124.7554 23867127.8504
+ 3068.7584 2391.2274
+ 21053078.5224 -19042255.09049 -14816044.03948 21053077.4454 21053082.7574
+ -1909.7984 -1488.1564
+ 05 1 20 0 11 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25171159.1154 -1563694.23649 -1200278.40545 25171157.4314 25171165.6984
+ 2876.1984 2241.1814
+ 21355422.4864 -19336175.70849 -15042777.86448 21355421.8454 21355427.0294
+ 531.9994 414.5474
+ 20706618.4364 -25842372.66249 -20116040.71748 20706617.7804 20706623.7024
+ -660.0334 -514.3104
+ 22268975.6404 -17095349.09449 -13281999.67647 22268975.4004 22268978.9914
+ -2563.6464 -1997.6474
+ 24839902.5134 -1886836.48549 -1461909.81545 24839903.8024 24839909.4614
+ 1169.9064 911.6194
+ 20950246.8524 -19322591.22649 -14747835.35247 20950247.0684 20950251.9874
+ 2856.6574 2225.9664
+ 20734748.4154 -24166876.48049 -18781050.32948 20734748.2944 20734753.2994
+ 1491.2014 1161.9764
+ 23849606.5584 -5312676.37649 -3886601.07446 23849605.4144 23849610.6614
+ 3068.6474 2391.1534
+ 21064001.2154 -18984851.65549 -14771314.07248 21064001.0324 21064006.5134
+ -1917.1064 -1493.8484
+ 05 1 20 0 12 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25154748.8104 -1649930.13849 -1267474.98745 25154748.4254 25154756.5454
+ 2872.9364 2238.6464
+ 21352438.0924 -19351858.22049 -15054997.98748 21352437.6104 21352442.4954
+ 513.2094 399.9054
+ 20710418.3194 -25822403.80649 -20100480.55448 20710417.9604 20710424.0074
+ -671.2684 -523.0624
+ 22283635.9164 -17018310.37149 -13221969.50947 22283635.6634 22283639.0434
+ -2572.3234 -2004.4084
+ 24833268.1134 -1921713.62549 -1489086.85045 24833267.5664 24833272.6144
+ 1155.3184 900.2544
+ 20933985.2104 -19408045.29649 -14814422.89347 20933985.0614 20933990.8564
+ 2840.2504 2213.1804
+ 20726287.7814 -24211338.62549 -18815696.12348 20726287.6184 20726292.4884
+ 1472.9564 1147.7594
+ 23832089.2974 -5404733.69549 -3958333.97946 23832088.6054 23832092.6834
+ 3068.4764 2391.0184
+ 21074967.0644 -18927229.47749 -14726413.65548 21074965.9954 21074971.5304
+ -1924.3664 -1499.5014
+ 05 1 20 0 12 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25138358.5294 -1736065.81649 -1334593.49945 25138357.2614 25138363.1194
+ 2869.5004 2235.9664
+ 21349560.3804 -19366975.98249 -15066778.02648 21349560.4324 21349565.6934
+ 494.3814 385.2294
+ 20714283.2244 -25802096.73649 -20084656.85048 20714282.6834 20714288.5734
+ -682.5684 -531.8694
+ 22298345.9114 -16941012.21449 -13161737.18947 22298345.1274 22298348.2264
+ -2580.9154 -2011.1024
+ 24826713.3614 -1956153.18149 -1515922.82245 24826711.8154 24826715.2524
+ 1140.7434 888.8844
+ 20917817.2764 -19493006.25349 -14880626.18347 20917817.4974 20917823.2334
+ 2823.7954 2200.3574
+ 20717930.6604 -24255252.55849 -18849914.74048 20717930.5754 20717935.5184
+ 1454.7094 1133.5344
+ 23814570.5664 -5496786.45049 -4030063.32246 23814570.7784 23814576.3724
+ 3068.3534 2390.9214
+ 21085973.3214 -18869389.83849 -14681343.78948 21085972.4184 21085978.2084
+ -1931.5694 -1505.1194
+ 05 1 20 0 13 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25121984.4664 -1822100.32149 -1401633.11445 25121984.6104 25121990.9534
+ 2866.1854 2233.3834
+ 21346791.4574 -19381528.42849 -15078117.57448 21346791.3564 21346796.7114
+ 475.5254 370.5374
+ 20718211.6694 -25781450.58949 -20068568.93248 20718211.3324 20718217.1454
+ -693.8764 -540.6814
+ 22313104.1254 -16863455.24649 -13101303.20547 22313103.5444 22313106.2774
+ -2589.5544 -2017.8314
+ 24820244.3004 -1990152.61149 -1542415.85445 24820244.2204 24820249.6414
+ 1125.9494 877.3614
+ 20901743.9204 -19577471.29449 -14946443.04747 20901744.2614 20901749.9614
+ 2807.2064 2187.4334
+ 20709679.0794 -24298617.24149 -18883705.37548 20709679.0404 20709683.7394
+ 1436.3944 1119.2704
+ 23797055.6424 -5588833.64349 -4101788.37246 23797054.6494 23797058.3834
+ 3068.1574 2390.7734
+ 21097021.5084 -18811334.55949 -14636105.89548 21097020.1934 21097025.8524
+ -1938.7524 -1510.7164
+ 05 1 20 0 13 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25105631.8074 -1908033.24949 -1468593.64645 25105631.1444 25105637.6974
+ 2862.7424 2230.7024
+ 21344128.8444 -19395514.97449 -15089016.14748 21344129.2614 21344135.1534
+ 456.6264 355.8144
+ 20722204.9964 -25760464.62249 -20052216.21748 20722204.5484 20722210.4314
+ -705.2574 -549.5504
+ 22327910.7664 -16785640.14649 -13040668.03747 22327911.1434 22327914.2474
+ -2598.1394 -2024.5194
+ 24813858.1674 -2023710.21149 -1568564.64445 24813856.9754 24813863.4414
+ 1111.1824 865.8604
+ 20885766.2284 -19661437.75249 -15011871.40848 20885766.2874 20885771.1524
+ 2790.5214 2174.4274
+ 20701531.4084 -24341431.60949 -18917067.19048 20701531.4224 20701536.4894
+ 1417.9844 1104.9214
+ 23779542.7594 -5680874.24049 -4173508.25246 23779540.2634 23779544.9224
+ 3067.8944 2390.5744
+ 21108108.6754 -18753065.18349 -14590701.17448 21108108.2804 21108113.6614
+ -1945.8614 -1516.2514
+ 05 1 20 0 14 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25089302.0954 -1993864.23649 -1535474.67145 25089299.7214 25089305.4974
+ 2859.3114 2228.0264
+ 21341576.2324 -19408935.00149 -15099473.28548 21341576.1824 21341581.4944
+ 437.7424 341.1044
+ 20726263.7104 -25739137.94549 -20035598.02148 20726263.1294 20726268.9604
+ -716.5824 -558.3734
+ 22342768.6614 -16707567.55549 -12979832.26447 22342768.3364 22342771.6794
+ -2606.7054 -2031.1964
+ 24807556.0744 -2056823.59849 -1594367.25545 24807556.9014 24807563.2094
+ 1096.3164 854.2764
+ 20869883.9204 -19744902.74849 -15076909.02348 20869883.8434 20869888.5834
+ 2773.7574 2161.3744
+ 20693489.4344 -24383694.21349 -18949999.06948 20693489.0404 20693494.1224
+ 1399.5754 1090.5834
+ 23762026.1804 -5772906.84049 -4245221.88846 23762026.5044 23762031.5654
+ 3067.6084 2390.3504
+ 21119238.6674 -18694583.20949 -14545130.78848 21119237.5444 21119242.8964
+ -1952.9224 -1521.7594
+ 05 1 20 0 14 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25072985.0454 -2079592.85549 -1602275.96745 25072983.2624 25072991.8694
+ 2855.8904 2225.3714
+ 21339130.3404 -19421787.95249 -15109488.54148 21339130.0074 21339135.2554
+ 418.8274 326.3594
+ 20730386.7994 -25717470.12349 -20018713.98648 20730386.1834 20730392.0314
+ -727.9844 -567.2634
+ 22357674.8744 -16629237.85549 -12918796.14647 22357674.2084 22357676.4844
+ -2615.2564 -2037.8624
+ 24801340.6554 -2089491.27949 -1619822.62045 24801340.0784 24801343.9614
+ 1081.4684 842.7024
+ 20854096.6034 -19827863.61549 -15141553.80448 20854096.3944 20854101.4074
+ 2756.8934 2148.2284
+ 20685551.6994 -24425404.06349 -18982500.22248 20685551.6534 20685556.8974
+ 1381.0944 1076.1774
+ 23744515.9694 -5864930.65649 -4316928.73046 23744514.8764 23744518.7054
+ 3067.2964 2390.0974
+ 21130406.5654 -18635890.21349 -14499395.97248 21130405.9664 21130411.4374
+ -1959.9634 -1527.2444
+ 05 1 20 0 15 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25056687.8734 -2165218.52149 -1668997.15745 25056689.0214 25056696.6394
+ 2852.4324 2222.6694
+ 21336791.9424 -19434073.23349 -15119061.45948 21336792.1424 21336797.7104
+ 399.8754 311.5884
+ 20734575.1034 -25695459.95549 -20001563.19348 20734574.6674 20734580.4874
+ -739.4144 -576.1704
+ 22372629.3974 -16550651.71649 -12857560.20247 22372628.8174 22372630.9304
+ -2623.8064 -2044.5294
+ 24795210.0884 -2121710.63649 -1644928.58445 24795210.5444 24795214.4904
+ 1066.4684 831.0124
+ 20838405.5214 -19910317.66949 -15205803.66848 20838406.0904 20838411.0174
+ 2739.9814 2135.0494
+ 20677720.8144 -24466560.00749 -19014569.76048 20677720.2524 20677725.0624
+ 1362.6674 1061.8214
+ 23727004.5854 -5956944.76549 -4388627.94246 23727004.3494 23727009.9404
+ 3067.0324 2389.8834
+ 21141616.1594 -18576987.57649 -14453497.79348 21141614.6654 21141620.5954
+ -1966.9054 -1532.6524
+ 05 1 20 0 15 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25040414.5794 -2250741.17749 -1735637.99545 25040413.9764 25040421.1784
+ 2849.0444 2220.0234
+ 21334562.3384 -19445790.27149 -15128191.59148 21334562.3034 21334567.8064
+ 380.9524 296.8454
+ 20738828.9954 -25673106.96249 -19984145.26348 20738828.2714 20738834.1554
+ -750.8564 -585.0814
+ 22387632.0754 -16471809.89849 -12796125.01847 22387631.7734 22387633.8644
+ -2632.3444 -2051.1694
+ 24789164.1044 -2153480.49549 -1669684.29545 24789164.1794 24789169.4924
+ 1051.4534 819.3144
+ 20822812.0834 -19992262.09849 -15269656.42748 20822812.2594 20822817.3084
+ 2722.9494 2121.7774
+ 20669993.9244 -24507161.31349 -19046207.11248 20669994.1304 20669999.0064
+ 1344.1244 1047.3704
+ 23709498.3734 -6048947.52049 -4460318.33946 23709498.1504 23709501.7994
+ 3066.5924 2389.5594
+ 21152864.3064 -18517876.92349 -14407437.53148 21152863.2154 21152868.6974
+ -1973.8044 -1538.0254
+ 05 1 20 0 16 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25024163.3144 -2336160.12649 -1802198.02945 25024161.5714 25024166.5784
+ 2845.5594 2217.3124
+ 21332441.5634 -19456938.65649 -15136878.62248 21332441.1724 21332446.3584
+ 361.9834 282.0654
+ 20743147.8324 -25650410.44749 -19966459.65248 20743147.3744 20743153.4544
+ -762.3264 -594.0194
+ 22402683.7364 -16392712.89449 -12734490.99447 22402683.2074 22402686.3194
+ -2640.7924 -2057.7674
+ 24783204.8304 -2184798.71849 -1694088.12545 24783204.7924 24783208.6424
+ 1036.4704 807.6354
+ 20807316.3654 -20073694.34749 -15333110.07648 20807316.1994 20807321.6614
+ 2705.8364 2108.4474
+ 20662373.3624 -24547206.56049 -19077411.17348 20662373.4514 20662378.5544
+ 1325.5784 1032.9194
+ 23691993.1554 -6140938.04549 -4531999.20546 23691992.4674 23691996.1724
+ 3066.1814 2389.2284
+ 21164151.5294 -18458560.11849 -14361216.62648 21164150.6344 21164156.2544
+ -1980.6494 -1543.3604
+ 05 1 20 0 16 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 25007925.9604 -2421474.83249 -1868676.82545 25007926.5674 25007931.3314
+ 2842.1354 2214.6454
+ 21330427.6404 -19467517.94449 -15145122.20748 21330427.9374 21330433.0424
+ 343.0254 267.2964
+ 20747532.0774 -25627369.56049 -19948505.70448 20747531.5664 20747537.4304
+ -773.8084 -602.9654
+ 22417782.7434 -16313361.29849 -12672658.59947 22417782.3844 22417785.8894
+ -2649.3144 -2064.3984
+ 24777331.6294 -2215662.98749 -1718138.16645 24777330.4404 24777336.5314
+ 1021.2704 795.7934
+ 20791917.4964 -20154611.69449 -15396162.51348 20791917.7654 20791923.6854
+ 2688.6324 2095.0394
+ 20654859.4794 -24586694.84449 -19108181.24148 20654859.1464 20654864.0874
+ 1306.9974 1018.4404
+ 23674490.4654 -6232914.84249 -4603669.38646 23674488.6104 23674493.8324
+ 3065.6294 2388.7984
+ 21175478.0434 -18399038.55549 -14314836.17048 21175476.9864 21175482.8414
+ -1987.4634 -1548.6684
+ 05 1 20 0 17 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24991711.8124 -2506685.24649 -1935074.43845 24991710.0794 24991716.1944
+ 2838.6434 2211.9294
+ 21328522.7124 -19477527.62149 -15152921.92448 21328523.0454 21328528.3994
+ 324.0294 252.4924
+ 20751982.8734 -25603983.44349 -19930282.74748 20751982.1374 20751987.7784
+ -785.3334 -611.9464
+ 22432932.1424 -16233755.81249 -12610628.35447 22432930.7774 22432934.6134
+ -2657.7644 -2070.9884
+ 24771543.5414 -2246072.04949 -1741833.50845 24771543.1854 24771548.4174
+ 1006.0194 783.9084
+ 20776618.5844 -20235011.35249 -15458811.55748 20776618.6584 20776623.8474
+ 2671.3044 2081.5404
+ 20647451.3514 -24625625.23949 -19138516.58448 20647451.2984 20647455.9984
+ 1288.4054 1003.9564
+ 23656988.9134 -6324876.84049 -4675328.00846 23656989.9244 23656994.7094
+ 3065.1364 2388.4124
+ 21186843.2264 -18339313.63649 -14268297.26848 21186842.6444 21186848.3254
+ -1994.2134 -1553.9314
+ 05 1 20 0 17 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24975516.4814 -2591790.96349 -2001390.43745 24975516.0344 24975521.2254
+ 2835.1284 2209.1854
+ 21326727.0224 -19486967.31449 -15160277.50448 21326726.6524 21326732.1994
+ 305.0064 237.6694
+ 20756498.9174 -25580251.54749 -19911790.34948 20756498.3794 20756503.8854
+ -796.8514 -620.9214
+ 22448128.3124 -16153897.03649 -12548400.75547 22448127.9424 22448131.0074
+ -2666.1814 -2077.5464
+ 24765842.8964 -2276023.50449 -1765172.30145 24765844.1094 24765849.7644
+ 990.7654 772.0294
+ 20761418.1064 -20314890.84449 -15521055.26948 20761418.1014 20761422.8194
+ 2653.9334 2068.0044
+ 20640149.5914 -24663996.76449 -19168416.44648 20640149.5104 20640154.1864
+ 1269.7754 989.4354
+ 23639494.4044 -6416823.07849 -4746974.38346 23639493.3754 23639496.8174
+ 3064.5954 2387.9974
+ 21198246.5104 -18279387.01949 -14221601.18748 21198246.1574 21198251.3284
+ -2000.8954 -1559.1344
+ 05 1 20 0 18 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24959342.2254 -2676791.42249 -2067624.43245 24959342.2034 24959348.2234
+ 2831.6124 2206.4494
+ 21325038.7484 -19495836.67749 -15167188.67348 21325039.0384 21325044.5184
+ 285.9664 222.8314
+ 20761080.6144 -25556173.20549 -19893027.99948 20761080.0914 20761085.8264
+ -808.4334 -629.9494
+ 22463372.4114 -16073785.65449 -12485976.25447 22463372.2884 22463375.9954
+ -2674.5804 -2084.0904
+ 24760234.8264 -2305515.37849 -1788153.05345 24760233.0364 24760237.6874
+ 975.3684 760.0264
+ 20746316.7074 -20394247.66449 -15582891.70848 20746316.6454 20746321.8194
+ 2636.4864 2054.4044
+ 20632954.1394 -24701808.34749 -19197879.99048 20632953.8684 20632958.7884
+ 1251.0904 974.8734
+ 23622000.9574 -6508752.16549 -4818607.36646 23621999.6804 23622003.9404
+ 3064.0134 2387.5444
+ 21209689.1144 -18219260.34849 -14174749.21748 21209688.3534 21209693.4714
+ -2007.5274 -1564.3114
+ 05 1 20 0 18 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24943185.5034 -2761686.30049 -2133776.12445 24943185.4484 24943191.2114
+ 2828.1154 2203.7214
+ 21323459.2524 -19504135.13049 -15173654.97548 21323459.3004 21323465.1724
+ 266.9464 208.0124
+ 20765728.4574 -25531747.44249 -19873994.92848 20765728.0644 20765733.6594
+ -820.0244 -638.9744
+ 22478666.5094 -15993422.24949 -12423355.43847 22478666.1284 22478669.1984
+ -2682.9814 -2090.6364
+ 24754709.8364 -2334546.22449 -1810774.36845 24754709.1954 24754711.5294
+ 959.9914 748.0384
+ 20731315.6594 -20473079.06749 -15644318.73048 20731315.9644 20731320.7484
+ 2618.9314 2040.7284
+ 20625865.3474 -24739059.01649 -19226906.46248 20625865.0814 20625870.4514
+ 1232.3944 960.3094
+ 23604509.7214 -6600663.07049 -4890226.19146 23604509.1264 23604513.1594
+ 3063.3714 2387.0414
+ 21221168.5204 -18158934.82849 -14127742.30848 21221167.3804 21221173.3054
+ -2014.1374 -1569.4564
+ 05 1 20 0 19 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24927051.9554 -2846475.10049 -2199845.17145 24927051.2474 24927056.2764
+ 2824.5594 2200.9534
+ 21321989.2434 -19511862.52749 -15179676.30248 21321989.2204 21321994.4594
+ 247.9174 193.1834
+ 20770443.1514 -25506973.74449 -19854690.73948 20770442.5074 20770448.1534
+ -831.6294 -648.0204
+ 22494006.0594 -15912807.60949 -12360538.86147 22494005.8024 22494008.8174
+ -2691.3284 -2097.1384
+ 24749270.4704 -2363113.87749 -1833034.87745 24749269.7554 24749278.6424
+ 944.5194 735.9894
+ 20716415.1004 -20551382.38749 -15705334.26648 20716415.1824 20716419.9494
+ 2601.2884 2026.9794
+ 20618883.4154 -24775748.14849 -19255495.36948 20618883.5984 20618888.1784
+ 1213.6354 945.6924
+ 23587023.9474 -6692554.32749 -4961829.69146 23587022.6934 23587026.6674
+ 3062.7164 2386.5324
+ 21232685.2384 -18098411.94149 -14080581.61248 21232684.7084 21232690.1294
+ -2020.6934 -1574.5654
+ 05 1 20 0 19 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24910935.7194 -2931157.75849 -2265831.59245 24910935.3674 24910939.8604
+ 2820.9744 2198.1604
+ 21320627.5824 -19519018.32249 -15185252.22548 21320627.3744 21320632.3124
+ 228.8634 178.3374
+ 20775223.5234 -25481851.41249 -19835114.89148 20775222.9854 20775228.5914
+ -843.2464 -657.0724
+ 22509394.6864 -15831942.34349 -12297527.00347 22509394.0954 22509396.6574
+ -2699.6904 -2103.6584
+ 24743923.5504 -2391216.72249 -1854933.16445 24743922.7374 24743928.2184
+ 928.9794 723.8794
+ 20701615.3164 -20629155.27249 -15765936.46448 20701615.5374 20701620.5314
+ 2583.5554 2013.1564
+ 20612009.2194 -24811874.68949 -19283645.89648 20612008.9054 20612013.8454
+ 1194.8774 931.0754
+ 23569540.3604 -6784425.09149 -5033417.24046 23569540.4204 23569544.9334
+ 3062.0374 2386.0024
+ 21244239.4884 -18037693.25849 -14033268.33247 21244238.8434 21244244.0944
+ -2027.2064 -1579.6414
+ 05 1 20 0 20 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24894841.8254 -3015733.61149 -2331734.67445 24894841.2954 24894848.2904
+ 2817.4304 2195.3934
+ 21319374.7324 -19525602.44149 -15190382.67948 21319374.3264 21319379.6434
+ 209.8014 163.4844
+ 20780071.1034 -25456379.63849 -19815266.74348 20780070.4674 20780075.6024
+ -854.9294 -666.1774
+ 22524829.9414 -15750827.16149 -12234320.35147 22524829.5134 22524832.7354
+ -2708.0044 -2110.1234
+ 24738666.1864 -2418852.95449 -1876467.88345 24738664.8964 24738671.5564
+ 913.4274 711.7634
+ 20686917.1824 -20706394.91449 -15826123.16348 20686917.3114 20686922.0114
+ 2565.7314 1999.2714
+ 20605241.5234 -24847437.79849 -19311357.38048 20605241.4174 20605246.0264
+ 1176.0834 916.4314
+ 23552063.7984 -6876274.03949 -5104987.77646 23552061.7874 23552066.4744
+ 3061.2474 2385.3934
+ 21255831.3854 -17976780.37749 -13985803.72848 21255830.4174 21255835.6944
+ -2033.6524 -1584.6614
+ 05 1 20 0 20 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24878765.9984 -3100202.45449 -2397554.42445 24878766.3664 24878773.9094
+ 2813.8214 2192.5804
+ 21318230.0854 -19531614.40949 -15195067.30948 21318230.4634 21318235.8844
+ 190.7184 148.6074
+ 20784984.3134 -25430557.73749 -19795145.77148 20784983.9254 20784989.8144
+ -866.5734 -675.2514
+ 22540312.8174 -15669462.62249 -12170919.43247 22540312.7224 22540316.4074
+ -2716.3104 -2116.6044
+ 24733493.2214 -2446021.12949 -1897637.87945 24733492.7934 24733500.7524
+ 897.7984 699.5874
+ 20672320.6614 -20783099.14449 -15885892.65448 20672320.7464 20672325.6914
+ 2547.8264 1985.3164
+ 20598581.0664 -24882436.66749 -19338629.20348 20598581.1224 20598586.1414
+ 1157.2524 901.7544
+ 23534587.0204 -6968099.67349 -5176540.15946 23534587.3424 23534591.9464
+ 3060.4384 2384.7434
+ 21267459.3714 -17915674.57249 -13938188.80147 21267458.1654 21267463.7704
+ -2040.0474 -1589.6484
+ 05 1 20 0 21 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24862715.8794 -3184563.59549 -2463290.28545 24862715.5374 24862719.7144
+ 2810.2374 2189.7864
+ 21317195.8884 -19537054.15849 -15199306.04948 21317195.6164 21317200.5204
+ 171.6334 133.7414
+ 20789964.9884 -25404385.15849 -19774751.54948 20789964.4464 20789970.1934
+ -878.3164 -684.4014
+ 22555843.6274 -15587849.39149 -12107324.68547 22555843.3084 22555846.8844
+ -2724.5804 -2123.0594
+ 24728414.9434 -2472719.13749 -1918441.52845 24728413.4244 24728417.0164
+ 882.0574 687.3184
+ 20657826.6764 -20859264.97249 -15945242.61348 20657827.0264 20657831.9964
+ 2529.8514 1971.3114
+ 20592029.1144 -24916870.32749 -19365460.59748 20592028.8364 20592033.6844
+ 1138.3814 887.0564
+ 23517120.3394 -7059900.62849 -5248073.30846 23517118.8644 23517124.0144
+ 3059.6154 2384.1174
+ 21279122.7974 -17854377.37049 -13890424.73147 21279122.3424 21279128.2444
+ -2046.4094 -1594.6044
+ 05 1 20 0 21 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24846679.4774 -3268816.94449 -2528942.12945 24846679.9054 24846685.7914
+ 2806.6334 2186.9774
+ 21316269.3544 -19541921.27549 -15203098.58648 21316269.0594 21316274.3214
+ 152.5494 118.8724
+ 20795012.3684 -25377861.26949 -19754083.57548 20795011.8654 20795017.2374
+ -890.0304 -693.5314
+ 22571421.0904 -15505988.37649 -12043536.91047 22571421.3014 22571423.9384
+ -2732.8294 -2129.4734
+ 24723423.5134 -2498945.17349 -1938877.34745 24723424.0774 24723428.4724
+ 866.3034 675.0404
+ 20643435.5934 -20934890.47749 -16004171.54448 20643435.5304 20643441.1164
+ 2511.8024 1957.2514
+ 20585584.2044 -24950738.19249 -19391851.11248 20585583.7834 20585588.8614
+ 1119.5244 872.3554
+ 23499654.8624 -7151676.07249 -5319586.56046 23499654.3234 23499659.5164
+ 3058.7224 2383.4234
+ 21290824.3784 -17792890.59449 -13842512.94247 21290823.2524 21290828.6864
+ -2052.7114 -1599.5164
+ 05 1 20 0 22 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24830670.4834 -3352962.02949 -2594509.54845 24830669.7994 24830672.9394
+ 2803.0474 2184.1864
+ 21315451.7904 -19546215.59949 -15206444.79848 21315452.1174 21315457.2554
+ 133.4414 103.9834
+ 20800126.8984 -25350985.20949 -19733141.18948 20800125.9384 20800131.8054
+ -901.7874 -702.6904
+ 22587046.9224 -15423880.12349 -11979556.45847 22587046.2584 22587048.7204
+ -2741.0794 -2135.9064
+ 24718522.1714 -2524697.71249 -1958944.24945 24718521.3464 24718529.2744
+ 850.4624 662.6974
+ 20629148.0344 -21009972.69349 -16062677.13848 20629148.0024 20629152.9734
+ 2493.6454 1943.1004
+ 20579246.4814 -24984039.55349 -19417800.20848 20579246.8264 20579251.7064
+ 1100.6334 857.6384
+ 23482196.7734 -7243424.43849 -5391078.74546 23482195.3924 23482199.5804
+ 3057.8074 2382.7034
+ 21302560.8104 -17731215.66849 -13794454.54147 21302560.0404 21302564.6994
+ -2058.9464 -1604.3754
+ 05 1 20 0 22 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24814678.4994 -3436998.37149 -2659992.23945 24814677.2264 24814683.0694
+ 2799.3574 2181.3134
+ 21314744.1334 -19549936.98649 -15209344.54748 21314743.7794 21314748.9164
+ 114.3724 89.1154
+ 20805308.0604 -25323756.48149 -19711923.99348 20805307.5304 20805313.1244
+ -913.5564 -711.8644
+ 22602717.3494 -15341525.34749 -11915383.90347 22602717.3754 22602720.3974
+ -2749.2844 -2142.2974
+ 24713713.5354 -2549975.02049 -1978640.86045 24713713.3264 24713717.9214
+ 834.6614 650.3764
+ 20614964.6424 -21084509.18249 -16120757.48748 20614964.4204 20614969.0284
+ 2475.4254 1928.9024
+ 20573017.7744 -25016773.53049 -19443307.17448 20573017.6774 20573022.5534
+ 1081.7014 842.8834
+ 23464741.4034 -7335145.00649 -5462549.25846 23464741.6184 23464745.9914
+ 3056.9104 2382.0084
+ 21314332.5774 -17669353.65149 -13746250.36247 21314331.7174 21314336.9984
+ -2065.1764 -1609.2344
+ 05 1 20 0 23 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24798705.0974 -3520925.82349 -2725390.08845 24798705.7134 24798711.6594
+ 2795.7874 2178.5354
+ 21314144.9344 -19553085.26549 -15211797.73348 21314144.6494 21314150.1814
+ 95.2564 74.2274
+ 20810556.0174 -25296174.41849 -19690431.46848 20810555.7684 20810561.9334
+ -925.3054 -721.0134
+ 22618435.8364 -15258924.64449 -11851019.71147 22618435.1594 22618439.1284
+ -2757.4254 -2148.6434
+ 24708993.7894 -2574775.60949 -1997965.95245 24708992.5104 24708998.0404
+ 818.6584 637.9164
+ 20600884.3564 -21158497.91549 -16178411.01348 20600884.4494 20600889.5944
+ 2457.1514 1914.6644
+ 20566896.5624 -25048939.39049 -19468371.45548 20566896.5154 20566901.7324
+ 1062.7804 828.1454
+ 23447294.1864 -7426836.14849 -5533996.84846 23447292.8474 23447297.3984
+ 3055.8534 2381.1834
+ 21326139.4334 -17607306.20149 -13697901.68747 21326138.9034 21326144.1494
+ -2071.3104 -1614.0044
+ 05 1 20 0 23 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24782758.5434 -3604744.10949 -2790702.87445 24782758.1054 24782760.3574
+ 2792.1244 2175.6764
+ 21313654.3714 -19555660.26949 -15213804.20648 21313654.5404 21313659.7374
+ 76.1384 59.3294
+ 20815872.6664 -25268238.27749 -19668663.04648 20815872.4424 20815877.8674
+ -937.1034 -730.2074
+ 22634200.5364 -15176078.45349 -11786464.14947 22634199.9114 22634203.6104
+ -2765.6064 -2155.0174
+ 24704367.7874 -2599097.44449 -2016917.98845 24704366.0514 24704370.3134
+ 802.6824 625.4654
+ 20586910.0354 -21231936.31449 -16235635.71048 20586909.8484 20586914.6324
+ 2438.7274 1900.3124
+ 20560884.3584 -25080536.61649 -19492992.64848 20560884.2544 20560888.9004
+ 1043.7464 813.3134
+ 23429850.8524 -7518496.20649 -5605420.19546 23429850.4024 23429854.8514
+ 3054.8114 2380.3604
+ 21337981.9954 -17545074.80549 -13649409.67747 21337981.2054 21337986.2644
+ -2077.4264 -1618.7754
+ 05 1 20 0 24 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24766826.7974 -3688452.56749 -2855930.03145 24766826.9034 24766832.6664
+ 2788.4644 2172.8274
+ 21313274.3904 -19557661.80649 -15215363.82248 21313273.7414 21313279.1644
+ 57.0214 44.4344
+ 20821255.9004 -25239947.42549 -19646618.21448 20821255.5794 20821261.6474
+ -948.9964 -739.4784
+ 22650012.2904 -15092987.82449 -11721718.10547 22650011.7864 22650016.1554
+ -2773.7494 -2161.3664
+ 24699826.2394 -2622938.79149 -2035495.65845 24699827.4364 24699832.9144
+ 786.6324 612.9564
+ 20573040.0514 -21304821.73549 -16292429.50848 20573040.1584 20573045.2644
+ 2420.2544 1885.9214
+ 20554979.5974 -25111564.31949 -19517170.05448 20554979.7914 20554984.6264
+ 1024.7734 798.5294
+ 23412414.8894 -7610124.11449 -5676818.54046 23412414.7784 23412419.0704
+ 3053.7914 2379.5744
+ 21349859.3054 -17482661.07849 -13600775.58447 21349858.3144 21349863.5724
+ -2083.4744 -1623.4864
+ 05 1 20 0 24 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24750917.1134 -3772050.93249 -2921071.42745 24750918.2074 24750925.1084
+ 2784.7904 2169.9634
+ 21313002.3784 -19559089.79149 -15216476.51848 21313002.2094 21313007.4864
+ 37.8944 29.5284
+ 20826707.8414 -25211301.35949 -19624296.59848 20826707.0814 20826712.7744
+ -960.8304 -748.6934
+ 22665869.7034 -15009653.66249 -11656782.30547 22665869.6044 22665873.8434
+ -2781.8834 -2167.7014
+ 24695386.1554 -2646298.20749 -2053697.81245 24695384.2104 24695388.7634
+ 770.6184 600.4854
+ 20559276.0484 -21377152.06849 -16348790.78048 20559275.9704 20559280.8614
+ 2401.7184 1871.4704
+ 20549183.7594 -25142022.08349 -19540903.34948 20549183.5994 20549188.6694
+ 1005.7954 783.7374
+ 23394982.4374 -7701718.70349 -5748190.89746 23394984.4364 23394989.7334
+ 3052.5724 2378.6304
+ 21361770.0074 -17420066.23949 -13552000.37747 21361768.8344 21361775.0414
+ -2089.4954 -1628.1704
+ 05 1 20 0 25 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24735031.3164 -3855539.50749 -2986127.23945 24735029.7124 24735036.0044
+ 2781.1314 2167.1084
+ 21312839.8624 -19559944.25549 -15217142.32048 21312839.6214 21312844.8274
+ 18.8094 14.6594
+ 20832225.8884 -25182299.36449 -19601697.63248 20832225.6494 20832231.5244
+ -972.6984 -757.9434
+ 22681774.3474 -14926076.53849 -11591657.23247 22681774.5444 22681777.1744
+ -2789.9764 -2174.0134
+ 24691030.3134 -2669174.48549 -2071523.42945 24691029.5104 24691033.4474
+ 754.4904 587.9124
+ 20545618.3804 -21448924.96649 -16404717.68348 20545618.3194 20545622.8404
+ 2383.1094 1856.9694
+ 20543496.5864 -25171909.12649 -19564191.93548 20543496.5554 20543501.2594
+ 986.7464 768.8964
+ 23377561.4784 -7793278.78549 -5819536.37246 23377561.1964 23377565.9894
+ 3051.4324 2377.7364
+ 21373715.4714 -17357291.87349 -13503085.28347 21373714.7454 21373720.1004
+ -2095.4624 -1632.8284
+ 05 1 20 0 25 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24719162.1974 -3938917.25949 -3051096.78945 24719162.8134 24719169.5364
+ 2777.4184 2164.2264
+ 21312785.5134 -19560225.19849 -15217361.20748 21312785.3154 21312791.0814
+ -.3404 -.2654
+ 20837813.2074 -25152940.78849 -19578820.81248 20837812.2874 20837818.0694
+ -984.5914 -767.2194
+ 22697724.0624 -14842257.29549 -11526343.49447 22697724.3614 22697727.4014
+ -2798.0134 -2180.2654
+ 24686767.5514 -2691565.81449 -2088971.20645 24686768.1264 24686774.1574
+ 738.2384 575.2514
+ 20532066.8264 -21520137.91049 -16460208.26248 20532067.1404 20532071.2404
+ 2364.3864 1842.3754
+ 20537917.6804 -25201224.93149 -19587035.39248 20537917.5974 20537922.7394
+ 967.7054 754.0544
+ 23360145.6654 -7884802.61349 -5890853.59946 23360144.9544 23360148.4824
+ 3050.1804 2376.7594
+ 21385695.3824 -17294339.15349 -13454031.20347 21385694.2794 21385699.8514
+ -2101.3774 -1637.4404
+ 05 1 20 0 26 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24703318.4214 -4022184.19949 -3115979.86445 24703317.9974 24703323.0784
+ 2773.6664 2161.2894
+ 21312841.9904 -19559932.43149 -15217133.06148 21312841.8764 21312846.3724
+ -19.4574 -15.1624
+ 20843467.5234 -25123225.09549 -19555665.72148 20843467.0034 20843472.8254
+ -996.5114 -776.5024
+ 22713720.8424 -14758196.60749 -11460841.63247 22713720.4304 22713724.0614
+ -2806.0344 -2186.5234
+ 24682599.7754 -2713470.18249 -2106039.52945 24682600.2914 24682606.0594
+ 722.0124 562.6084
+ 20518621.4594 -21590788.69349 -16515260.79148 20518622.0274 20518627.1764
+ 2345.6294 1827.7634
+ 20532447.4664 -25229968.82149 -19609433.21248 20532447.8054 20532452.5894
+ 948.6414 739.1984
+ 23342737.0394 -7976289.02449 -5962141.66346 23342735.4564 23342740.0314
+ 3048.9064 2375.7564
+ 21397707.9154 -17231209.59549 -13404839.33347 21397707.5854 21397712.9954
+ -2107.2514 -1642.0154
+ 05 1 20 0 26 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24687493.3694 -4105339.88649 -3180776.34545 24687492.8154 24687498.3344
+ 2769.9914 2158.4304
+ 21313007.7724 -19559066.10249 -15216457.99248 21313007.0444 21313011.7484
+ -38.5864 -30.0694
+ 20849190.0794 -25093151.52649 -19532231.77248 20849189.9044 20849195.6194
+ -1008.4374 -785.7954
+ 22729764.2954 -14673895.11749 -11395152.14847 22729762.8244 22729765.5414
+ -2814.0574 -2192.7744
+ 24678527.1444 -2734886.36749 -2122727.48945 24678525.7294 24678531.2844
+ 705.7614 549.9454
+ 20505285.4444 -21660875.08049 -16569873.54548 20505285.3864 20505290.1564
+ 2326.7794 1813.0734
+ 20527087.3024 -25258140.31749 -19631385.00848 20527087.0694 20527091.6194
+ 929.5314 724.3064
+ 23325333.5564 -8067736.62949 -6033399.49346 23325334.0174 23325337.5084
+ 3047.5744 2374.7164
+ 21409754.6294 -17167904.69049 -13355510.82447 21409753.8754 21409759.2544
+ -2113.0674 -1646.5504
+ 05 1 20 0 27 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24671690.1324 -4188384.01049 -3245485.85445 24671690.9774 24671696.1744
+ 2766.2034 2155.4744
+ 21313280.3924 -19557626.15449 -15215335.93048 21313280.2914 21313285.6814
+ -57.6974 -44.9654
+ 20854980.9674 -25062719.72249 -19508518.67248 20854980.7174 20854986.4004
+ -1020.3904 -795.1154
+ 22745850.2844 -14589353.59249 -11329275.58647 22745849.9864 22745853.4254
+ -2822.0504 -2199.0134
+ 24674543.4234 -2755813.04849 -2139033.94945 24674543.2244 24674548.4324
+ 689.3964 537.1874
+ 20492056.2164 -21730394.63549 -16624044.60148 20492056.5444 20492061.2444
+ 2307.8294 1798.3064
+ 20521834.8694 -25285738.98249 -19652890.43448 20521835.1334 20521840.0264
+ 910.4164 709.4104
+ 23307939.8704 -8159144.31649 -6104626.22846 23307940.0054 23307943.4784
+ 3046.2294 2373.6774
+ 21421834.6874 -17104425.91049 -13306046.82447 21421833.5154 21421839.3544
+ -2118.8554 -1651.0594
+ 05 1 20 0 27 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24655911.5054 -4271316.10949 -3310108.10945 24655910.3804 24655915.4834
+ 2762.5024 2152.5914
+ 21313663.2154 -19555612.65149 -15213766.94748 21313663.2174 21313668.6684
+ -76.8424 -59.8774
+ 20860840.9494 -25031929.11449 -19484525.98048 20860840.1744 20860846.1964
+ -1032.3994 -804.4714
+ 22761984.1764 -14504572.79649 -11263212.57247 22761983.4014 22761986.8014
+ -2830.0334 -2205.2194
+ 24670655.5124 -2776248.33949 -2154957.52845 24670655.4894 24670658.7024
+ 672.9714 524.3904
+ 20478934.4764 -21799345.33949 -16677772.39548 20478935.0294 20478940.1724
+ 2288.8334 1783.5034
+ 20516692.7424 -25312764.20449 -19673949.02548 20516692.7564 20516697.4914
+ 891.2974 694.5174
+ 23290554.6704 -8250510.49449 -6175820.60046 23290553.5974 23290557.7214
+ 3044.8064 2372.5804
+ 21433946.8444 -17040774.57049 -13256448.37947 21433946.1774 21433951.7564
+ -2124.5934 -1655.5314
+ 05 1 20 0 28 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24640152.7854 -4354136.02949 -3374642.97045 24640151.1224 24640155.5374
+ 2758.7884 2149.6994
+ 21314155.6744 -19553025.62949 -15211751.06548 21314155.4414 21314160.9064
+ -95.9274 -74.7504
+ 20866767.8154 -25000778.87749 -19460253.06348 20866767.4884 20866773.5504
+ -1044.3914 -813.8154
+ 22778162.0764 -14419553.58949 -11196963.80347 22778162.3294 22778165.3934
+ -2837.9624 -2211.4044
+ 24666860.5524 -2796190.99949 -2170497.24345 24666859.1124 24666865.3034
+ 656.5084 511.5684
+ 20465923.6804 -21867724.74349 -16731055.02448 20465923.2344 20465927.7434
+ 2269.7534 1768.6374
+ 20511659.1564 -25339215.44549 -19694560.36148 20511659.0644 20511663.7474
+ 872.1544 679.6004
+ 23273174.6114 -8341833.95349 -6246981.69246 23273174.7954 23273179.3364
+ 3043.3764 2371.4564
+ 21446091.0824 -16976951.94149 -13206716.45747 21446090.7414 21446096.6614
+ -2130.2604 -1659.9414
+ 05 1 20 0 28 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24624411.9774 -4436843.34749 -3439090.04245 24624411.2354 24624415.7914
+ 2755.0414 2146.7804
+ 21314757.0524 -19549865.26849 -15209288.43348 21314757.1064 21314762.3984
+ -115.0254 -89.6314
+ 20872764.5354 -24969268.68849 -19435699.65748 20872764.0754 20872769.6714
+ -1056.3764 -823.1494
+ 22794386.3164 -14334296.62549 -11130529.76747 22794386.7114 22794388.1174
+ -2845.8724 -2217.5654
+ 24663157.7564 -2815639.53649 -2185651.96945 24663157.7414 24663164.1334
+ 640.0354 498.7364
+ 20453019.8314 -21935530.72849 -16783890.83448 20453020.0354 20453025.0414
+ 2250.6154 1753.7274
+ 20506734.6574 -25365092.47549 -19714724.26148 20506734.7364 20506739.3104
+ 853.0504 664.7144
+ 23255806.3834 -8433113.07349 -6318108.21546 23255804.9434 23255808.7354
+ 3041.8694 2370.2914
+ 21458269.6024 -16912959.41349 -13156852.12647 21458268.4494 21458273.4154
+ -2135.9144 -1664.3424
+ 05 1 20 0 29 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24608696.1454 -4519438.01249 -3503449.41145 24608695.5544 24608698.7994
+ 2751.3084 2143.8684
+ 21315466.9474 -19546131.62049 -15206379.08348 21315467.4144 21315472.9314
+ -134.1544 -104.5354
+ 20878829.0124 -24937397.73849 -19410865.14748 20878828.9424 20878834.6804
+ -1068.4134 -832.5314
+ 22810655.8754 -14248802.93649 -11063911.27547 22810655.6674 22810657.7674
+ -2853.7154 -2223.6804
+ 24659553.9714 -2834592.84249 -2200420.79945 24659552.2694 24659556.4264
+ 623.5294 485.8674
+ 20440225.6924 -22002761.27549 -16836278.25948 20440226.0954 20440231.1184
+ 2231.3984 1738.7564
+ 20501919.7584 -25390394.63949 -19734440.21048 20501919.6364 20501924.5144
+ 833.8594 649.7594
+ 23238443.7514 -8524346.43149 -6389199.10346 23238443.4914 23238448.1114
+ 3040.3684 2369.1094
+ 21470478.6644 -16848798.43549 -13106856.55447 21470477.8874 21470483.0154
+ -2141.4894 -1668.6944
+ 05 1 20 0 29 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24592995.0344 -4601919.59549 -3567720.68045 24592997.4484 24593004.2554
+ 2747.4224 2140.8424
+ 21316288.3244 -19541824.85749 -15203023.15548 21316287.8294 21316292.9254
+ -153.2774 -119.4394
+ 20884962.5874 -24905165.79249 -19385749.34048 20884962.1294 20884968.2234
+ -1080.4594 -841.9184
+ 22826969.8644 -14163073.12149 -10997108.82147 22826968.6724 22826971.8544
+ -2861.6174 -2229.8334
+ 24656038.9984 -2853049.08249 -2214802.21045 24656039.6624 24656044.9194
+ 606.8934 472.9034
+ 20427542.7164 -22069413.87249 -16888215.32148 20427542.9214 20427547.6134
+ 2212.0714 1723.6914
+ 20497214.0204 -25415121.66149 -19753707.99948 20497214.1544 20497218.9694
+ 814.6564 634.7944
+ 23221092.3074 -8615532.81549 -6460253.38646 23221090.8994 23221095.1484
+ 3038.7294 2367.8284
+ 21482719.6314 -16784470.37849 -13056730.79547 21482719.1034 21482724.7994
+ -2147.0444 -1673.0224
+ 05 1 20 0 30 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24577323.2864 -4684287.69449 -3631903.53245 24577323.2564 24577330.4864
+ 2743.6554 2137.9054
+ 21317215.8634 -19536945.28549 -15199220.87848 21317216.1944 21317220.9144
+ -172.3504 -134.2964
+ 20891164.9644 -24872572.20949 -19360351.73648 20891164.5194 20891170.2294
+ -1092.5334 -851.3264
+ 22843327.5584 -14077107.90749 -10930122.93646 22843327.1844 22843330.4004
+ -2869.4414 -2235.9284
+ 24652620.9374 -2871007.03449 -2228795.45045 24652621.1244 24652628.1864
+ 590.1864 459.8884
+ 20414970.2654 -22135486.73449 -16939700.64948 20414970.1934 20414974.1504
+ 2192.7144 1708.6074
+ 20492618.8744 -25439273.25249 -19772527.40448 20492618.7954 20492623.3904
+ 795.5004 619.8724
+ 23203747.7334 -8706670.66349 -6531269.83646 23203747.4024 23203752.8564
+ 3037.1054 2366.5684
+ 21494993.1454 -16719976.54849 -13006475.84647 21494991.6894 21494997.6514
+ -2152.5774 -1677.3344
+ 05 1 20 0 30 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24561672.5184 -4766542.20549 -3695997.81245 24561670.9514 24561676.7884
+ 2739.9174 2134.9944
+ 21318253.6314 -19531493.02749 -15194972.35048 21318253.3304 21318258.1804
+ -191.4164 -149.1584
+ 20897436.9214 -24839616.21849 -19334671.73848 20897436.0444 20897441.6534
+ -1104.5964 -860.7264
+ 22859729.3274 -13990908.11849 -10862954.26146 22859729.9244 22859733.7894
+ -2877.2314 -2242.0024
+ 24649302.2344 -2888465.09449 -2242399.12345 24649300.4694 24649303.7364
+ 573.5974 446.9604
+ 20402506.5084 -22200977.50149 -16990732.38648 20402507.0154 20402511.9194
+ 2173.2834 1693.4644
+ 20488132.4344 -25462848.95249 -19790898.05548 20488132.4124 20488136.8674
+ 776.2794 604.8914
+ 23186413.8734 -8797758.64449 -6602247.43746 23186414.1334 23186418.4314
+ 3035.4104 2365.2554
+ 21507296.7104 -16655318.27749 -12956092.77947 21507296.0284 21507301.1764
+ -2158.0154 -1681.5654
+ 05 1 20 0 31 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24546039.8404 -4848682.79649 -3760003.42145 24546039.6054 24546045.5894
+ 2736.0484 2131.9884
+ 21319399.3814 -19525468.09549 -15190277.58548 21319399.7924 21319405.3344
+ -210.5084 -164.0334
+ 20903777.1634 -24806297.34249 -19308708.97548 20903776.2584 20903782.3924
+ -1116.7134 -870.1674
+ 22876177.8814 -13904474.71249 -10795603.55046 22876178.1514 22876181.1324
+ -2885.0034 -2248.0534
+ 24646073.9824 -2905422.25249 -2255612.47346 24646073.3984 24646080.6854
+ 556.8544 433.9114
+ 20390155.3824 -22265884.05649 -17041308.90148 20390155.4944 20390160.8474
+ 2153.7894 1678.2774
+ 20483755.5774 -25485848.35149 -19808819.64948 20483755.3124 20483760.4874
+ 757.0424 589.8984
+ 23169090.0014 -8888795.39749 -6673185.11846 23169090.4984 23169095.1524
+ 3033.6804 2363.9124
+ 21519631.7674 -16590497.09849 -12905582.76447 21519631.0714 21519636.6144
+ -2163.3984 -1685.7654
+ 05 1 20 0 31 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24530433.0964 -4930709.43949 -3823920.20545 24530431.3154 24530434.9404
+ 2732.3434 2129.0954
+ 21320655.6884 -19518870.99849 -15185136.96748 21320655.1524 21320660.4184
+ -229.5944 -178.9064
+ 20910186.8614 -24772615.34049 -19282463.25548 20910186.2274 20910192.0264
+ -1128.8274 -879.6064
+ 22892670.0484 -13817808.40249 -10728071.33846 22892669.9954 22892673.0234
+ -2892.7684 -2254.1164
+ 24642942.8194 -2921877.23149 -2268434.56445 24642941.4884 24642947.8024
+ 540.1294 420.8844
+ 20377916.0284 -22330204.48149 -17091428.69648 20377916.0754 20377920.5714
+ 2134.2074 1663.0144
+ 20479488.6164 -25508271.30649 -19826292.06248 20479488.4874 20479493.5014
+ 737.8454 574.9374
+ 23151777.8874 -8979779.37149 -6744081.66346 23151777.5394 23151781.1454
+ 3031.8904 2362.5184
+ 21531997.1634 -16525514.12449 -12854946.66847 21531996.6454 21532002.5724
+ -2168.7814 -1689.9694
+ 05 1 20 0 32 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24514841.9054 -5012621.27849 -3887747.51245 24514843.2684 24514848.5784
+ 2728.4984 2126.1014
+ 21322019.7844 -19511701.96049 -15179550.69548 21322019.4884 21322024.5334
+ -248.6534 -193.7554
+ 20916665.2424 -24738569.64849 -19255934.13648 20916664.6514 20916670.4424
+ -1140.9434 -889.0444
+ 22909206.9494 -13730909.94149 -10660358.24246 22909206.5704 22909209.6064
+ -2900.5124 -2260.1414
+ 24639907.7484 -2937828.14949 -2280863.85045 24639907.4704 24639911.4514
+ 523.2954 407.7584
+ 20365787.8794 -22393936.88349 -17141090.29248 20365787.8844 20365792.7954
+ 2114.5724 1647.7184
+ 20475331.8904 -25530117.36849 -19843314.95248 20475331.8034 20475336.1364
+ 718.6274 559.9674
+ 23134474.0514 -9070708.97849 -6814935.86346 23134473.7424 23134478.0794
+ 3030.0544 2361.0704
+ 21544393.4554 -16460370.76549 -12804185.60247 21544392.8324 21544398.4064
+ -2174.0794 -1694.0914
+ 05 1 20 0 32 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24499278.8554 -5094418.04749 -3951485.15045 24499278.5244 24499282.4344
+ 2724.5894 2123.0504
+ 21323492.7274 -19503961.13549 -15173518.87448 21323492.4944 21323497.5324
+ -267.6764 -208.5784
+ 20923213.1614 -24704159.54649 -19229121.06748 20923212.6564 20923218.3844
+ -1153.0774 -898.5084
+ 22925786.8624 -13643780.09749 -10592464.83847 22925786.8344 22925790.8184
+ -2908.2084 -2266.1224
+ 24636968.1934 -2953273.99349 -2292899.53445 24636968.2514 24636973.2274
+ 506.4104 394.6054
+ 20353772.1144 -22457078.75749 -17190291.72448 20353772.3574 20353777.4044
+ 2094.8604 1632.3614
+ 20471284.2364 -25551386.47049 -19859888.26148 20471284.1494 20471288.5184
+ 699.3674 544.9614
+ 23117180.9584 -9161582.62349 -6885746.45746 23117181.2744 23117185.5874
+ 3028.1574 2359.5934
+ 21556819.7874 -16395068.53849 -12753300.73747 21556819.6144 21556825.0804
+ -2179.4194 -1698.2544
+ 05 1 20 0 33 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24483736.8134 -5176099.76149 -4015133.17145 24483735.8444 24483739.7454
+ 2720.8404 2120.1304
+ 21325073.3594 -19495648.94149 -15167041.82348 21325073.8024 21325079.1924
+ -286.7174 -223.4144
+ 20929830.9444 -24669384.69849 -19202023.78148 20929830.0704 20929836.1154
+ -1165.2654 -907.9974
+ 22942411.1734 -13556419.77249 -10524391.88546 22942410.9494 22942413.4984
+ -2915.8404 -2272.0854
+ 24634124.5944 -2968213.91949 -2304541.06645 24634123.5714 24634128.8654
+ 489.5114 381.4414
+ 20341869.6554 -22519628.60649 -17239031.85748 20341869.8774 20341874.4924
+ 2075.0894 1616.9534
+ 20467346.8034 -25572078.32449 -19876011.75948 20467346.5174 20467350.9384
+ 680.1474 529.9834
+ 23099899.9964 -9252399.38249 -6956512.72246 23099899.4394 23099903.1434
+ 3026.2374 2358.1064
+ 21569277.4784 -16329608.41649 -12702292.84447 21569276.4364 21569282.2894
+ -2184.6294 -1702.3134
+ 05 1 20 0 33 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24468213.2544 -5257666.11749 -4078691.27945 24468212.7984 24468218.1144
+ 2716.9584 2117.1104
+ 21326765.0834 -19486765.79049 -15160119.87548 21326764.5274 21326769.9354
+ -305.7754 -238.2704
+ 20936517.4324 -24634244.58449 -19174641.86848 20936516.8484 20936522.7954
+ -1177.4404 -917.4854
+ 22959080.4164 -13468829.70749 -10456139.84247 22959079.6184 22959081.5484
+ -2923.4984 -2278.0614
+ 24631378.8064 -2982646.23849 -2315786.94945 24631377.2254 24631383.2544
+ 472.6184 368.2644
+ 20330080.4984 -22581584.15549 -17287308.89148 20330080.2784 20330084.7134
+ 2055.2524 1601.4944
+ 20463518.8684 -25592192.60849 -19891685.21548 20463518.8944 20463523.4434
+ 660.8974 514.9844
+ 23082629.8804 -9343157.41349 -7027233.21346 23082628.8284 23082632.7304
+ 3024.2354 2356.5444
+ 21581763.8164 -16263991.83449 -12651163.03847 21581762.5734 21581768.2784
+ -2189.8234 -1706.3614
+ 05 1 20 0 34 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24452713.1314 -5339117.18149 -4142159.52745 24452713.5334 24452718.1124
+ 2713.0794 2114.0874
+ 21328562.5644 -19477311.89149 -15152753.18348 21328563.0794 21328568.9264
+ -324.7944 -253.0844
+ 20943273.9744 -24598738.80249 -19146975.02548 20943273.6054 20943278.9454
+ -1189.6684 -927.0104
+ 22975790.2534 -13381010.86349 -10387709.57247 22975790.1354 22975793.1434
+ -2931.0984 -2283.9704
+ 24628731.8834 -2996569.42049 -2326636.19445 24628730.1834 24628733.2914
+ 455.6504 355.0514
+ 20318403.1374 -22642943.49849 -17335121.34648 20318403.4124 20318408.6024
+ 2035.3374 1585.9774
+ 20459801.5654 -25611729.26749 -19906908.56548 20459801.1724 20459805.7324
+ 641.6224 499.9654
+ 23065369.0034 -9433855.46149 -7097906.97146 23065369.5394 23065372.9004
+ 3022.2534 2354.9964
+ 21594279.8394 -16198220.02549 -12599912.26747 21594278.7404 21594283.6324
+ -2194.9484 -1710.3524
+ 05 1 20 0 34 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24437236.1234 -5420451.89549 -4205537.14045 24437234.9974 24437238.8944
+ 2709.2304 2111.0874
+ 21330471.1564 -19467287.81149 -15144942.19248 21330470.9444 21330476.4824
+ -343.7794 -267.8804
+ 20950099.9514 -24562866.80049 -19119022.81148 20950099.6464 20950105.6204
+ -1201.8564 -936.5114
+ 22992545.3724 -13292964.26249 -10319101.81147 22992544.9014 22992547.8314
+ -2938.7144 -2289.9024
+ 24626176.0104 -3009982.68549 -2337088.08745 24626175.8244 24626181.8824
+ 438.6244 341.7914
+ 20306841.0474 -22703704.56749 -17382467.62148 20306840.9524 20306846.0724
+ 2015.3514 1570.4034
+ 20456193.0734 -25630688.19449 -19921681.74648 20456193.1684 20456198.1524
+ 622.3544 484.9524
+ 23048122.3284 -9524491.89749 -7168532.74146 23048122.4894 23048124.6454
+ 3020.1484 2353.3664
+ 21606825.5514 -16132294.48549 -12548541.71247 21606824.3114 21606829.3714
+ -2200.0844 -1714.3484
+ 05 1 20 0 35 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24421778.5094 -5501670.48449 -4268824.28945 24421778.9764 24421784.6804
+ 2705.3504 2108.0664
+ 21332487.2514 -19456693.82449 -15136687.11948 21332486.9554 21332492.4474
+ -362.7704 -282.6794
+ 20956996.0534 -24526628.07549 -19090784.83748 20956995.7404 20957001.8524
+ -1214.1374 -946.0824
+ 23009343.6124 -13204690.54349 -10250317.09147 23009343.4494 23009346.0054
+ -2946.2544 -2295.7834
+ 24623722.2904 -3022884.70949 -2347141.59646 24623721.0964 24623726.5924
+ 421.5394 328.4744
+ 20295392.5924 -22763865.69849 -17429346.40348 20295392.7694 20295397.5704
+ 1995.3214 1554.7944
+ 20452696.1484 -25649069.17249 -19936004.56748 20452695.7394 20452700.1634
+ 603.0904 469.9424
+ 23030886.3124 -9615065.14449 -7239109.24346 23030886.0164 23030890.0354
+ 3018.0514 2351.7224
+ 21619399.3314 -16066216.45049 -12497052.32447 21619398.4404 21619403.1814
+ -2205.1304 -1718.2884
+ 05 1 20 0 35 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24406349.5094 -5582772.81849 -4332020.80645 24406346.8284 24406350.8034
+ 2701.4654 2105.0284
+ 21334611.9124 -19445530.40949 -15127988.35248 21334611.9244 21334616.3834
+ -381.7164 -297.4414
+ 20963961.8194 -24490022.29249 -19062260.84548 20963961.7644 20963967.4944
+ -1226.3294 -955.5834
+ 23026184.0874 -13116190.49449 -10181356.02046 23026183.8444 23026186.8734
+ -2953.7804 -2301.6444
+ 24621364.8434 -3035274.74549 -2356796.18445 24621363.8564 24621366.4674
+ 404.4514 315.1554
+ 20284058.9404 -22823424.92049 -17475756.16748 20284058.9214 20284063.7654
+ 1975.2384 1539.1474
+ 20449307.7974 -25666872.00249 -19949876.88548 20449307.9314 20449312.5224
+ 583.8024 454.9084
+ 23013662.7914 -9705573.72049 -7309635.38046 23013662.8894 23013667.3604
+ 3015.8894 2350.0364
+ 21632002.2604 -15999987.00649 -12445444.95947 21632001.8274 21632006.6314
+ -2210.1854 -1722.2234
+ 05 1 20 0 36 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24390935.6774 -5663758.81049 -4395126.69345 24390934.4044 24390941.7204
+ 2697.6434 2102.0544
+ 21336843.8774 -19433798.06149 -15118846.24548 21336843.4804 21336849.4274
+ -400.6914 -312.2314
+ 20970997.7624 -24453049.09949 -19033450.57048 20970997.4384 20971003.3184
+ -1238.6044 -965.1444
+ 23043068.8454 -13027465.01149 -10112219.26246 23043067.9024 23043070.3224
+ -2961.2794 -2307.4964
+ 24619102.5974 -3047151.10449 -2366050.47645 24619102.8064 24619107.5384
+ 387.3344 301.8184
+ 20272840.9844 -22882380.30049 -17521695.41148 20272840.4144 20272844.9184
+ 1955.0944 1523.4544
+ 20446030.1374 -25684096.80449 -19963298.79748 20446030.1104 20446034.5844
+ 564.5764 439.9324
+ 22996452.7874 -9796016.02649 -7380109.87146 22996452.2544 22996455.8604
+ 3013.6424 2348.2874
+ 21644634.2764 -15933607.45249 -12393720.61947 21644633.0254 21644638.6374
+ -2215.1174 -1726.0664
+ 05 1 20 0 36 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24375546.2624 -5744627.80849 -4458141.40445 24375547.3064 24375552.3084
+ 2693.6714 2098.9674
+ 21339184.7594 -19421497.27649 -15109261.19348 21339184.3884 21339189.8404
+ -419.6264 -326.9784
+ 20978103.2244 -24415707.93549 -19004353.54747 20978102.7674 20978108.9424
+ -1250.8654 -974.6984
+ 23059994.8574 -12938515.11449 -10042907.62246 23059994.0454 23059997.6034
+ -2968.7144 -2313.2834
+ 24616942.1404 -3058512.66549 -2374903.60445 24616941.7624 24616946.5694
+ 370.1244 288.4104
+ 20261736.3754 -22940730.18149 -17567162.82848 20261736.4194 20261741.5144
+ 1934.8524 1507.6774
+ 20442862.5964 -25700743.30349 -19976270.07548 20442862.2644 20442866.9874
+ 545.2734 424.8884
+ 22979254.5744 -9886390.69949 -7450531.67546 22979254.9574 22979258.2934
+ 3011.2964 2346.4764
+ 21657293.6034 -15867079.26549 -12341880.46947 21657292.9544 21657298.6284
+ -2220.0874 -1729.9414
+ 05 1 20 0 37 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24360181.8984 -5825379.49049 -4521064.74845 24360181.2274 24360185.4204
+ 2689.7344 2095.9004
+ 21341633.6414 -19408628.59349 -15099233.62948 21341633.4274 21341638.7254
+ -438.5354 -341.7184
+ 20985279.8234 -24377998.20549 -18974969.34248 20985279.4044 20985284.9744
+ -1263.1474 -984.2734
+ 23076962.8564 -12849341.49149 -9973421.69946 23076963.5164 23076966.8504
+ -2976.1784 -2319.1064
+ 24614877.9554 -3069358.84749 -2383355.17345 24614876.5374 24614882.7444
+ 352.9474 275.0194
+ 20250748.2094 -22998472.65049 -17612156.94448 20250748.3334 20250753.4764
+ 1914.5894 1491.8854
+ 20439804.6924 -25716811.66149 -19988790.85948 20439804.5084 20439809.0714
+ 525.9894 409.8584
+ 22962071.0414 -9976696.02849 -7520899.43446 22962069.5014 22962073.9304
+ 3008.9974 2344.6694
+ 21669981.9604 -15800403.48649 -12289925.31547 21669980.8154 21669986.2274
+ -2224.9724 -1733.7464
+ 05 1 20 0 37 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24344836.9074 -5906013.66049 -4583896.43345 24344836.3264 24344841.2674
+ 2685.7994 2092.8324
+ 21344191.1384 -19395192.59749 -15088764.02148 21344190.5664 21344195.1364
+ -457.4504 -356.4544
+ 20992526.4254 -24339919.79049 -18945297.84648 20992525.6724 20992530.4514
+ -1275.4674 -993.8704
+ 23093976.5914 -12759945.13649 -9903762.19646 23093974.9624 23093977.4754
+ -2983.5964 -2324.8874
+ 24612912.3914 -3079688.30749 -2391404.07545 24612910.4254 24612917.5674
+ 335.6704 261.5534
+ 20239876.7504 -23055605.84649 -17656676.30548 20239876.5874 20239881.2154
+ 1894.2404 1476.0314
+ 20436857.2314 -25732301.78549 -20000861.06748 20436857.0234 20436861.5354
+ 506.7254 394.8514
+ 22944899.9814 -10066930.42749 -7591211.93346 22944898.7124 22944903.4234
+ 3006.5944 2342.8064
+ 21682697.6164 -15733581.45649 -12237856.18947 21682696.6784 21682702.0134
+ -2229.8304 -1737.5264
+ 05 1 20 0 38 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24329515.5614 -5986529.84649 -4646636.25245 24329514.5994 24329517.6584
+ 2681.8964 2089.7874
+ 21346854.7334 -19381189.76449 -15077852.70848 21346854.6564 21346860.2944
+ -476.3844 -371.2114
+ 20999841.8984 -24301472.30949 -18915338.77848 20999841.2864 20999847.2694
+ -1287.7944 -1003.4784
+ 23111028.4644 -12670326.88849 -9833929.80946 23111027.9934 23111030.8944
+ -2990.9544 -2330.6104
+ 24611045.0004 -3089499.80449 -2399049.42745 24611044.3294 24611050.1114
+ 318.3854 248.0894
+ 20229120.4354 -23112127.90749 -17700719.46148 20229120.6844 20229125.3384
+ 1873.8294 1460.1234
+ 20434019.4424 -25747213.64049 -20012480.68348 20434019.4074 20434024.1784
+ 487.4624 379.8414
+ 22927741.6544 -10157092.16549 -7661467.81246 22927741.7344 22927745.6584
+ 3004.1434 2340.8704
+ 21695441.1784 -15666614.49849 -12185674.14147 21695439.8934 21695445.6134
+ -2234.6704 -1741.3044
+ 05 1 20 0 38 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24314216.5474 -6066928.17849 -4709284.21745 24314214.9154 24314218.3324
+ 2677.9854 2086.7434
+ 21349627.2954 -19366620.47649 -15066499.99948 21349627.4154 21349632.7494
+ -495.2394 -385.9064
+ 21007228.2464 -24262655.19549 -18885091.67048 21007227.7004 21007233.8464
+ -1300.1194 -1013.0794
+ 23128126.9084 -12580487.71249 -9763925.27046 23128125.5144 23128127.4864
+ -2998.3324 -2336.3604
+ 24609277.0654 -3098792.99249 -2406290.85445 24609277.6394 24609280.2904
+ 301.0984 234.6234
+ 20218481.0794 -23168037.51249 -17744285.36748 20218481.3594 20218486.1744
+ 1853.3944 1444.2004
+ 20431291.5604 -25761547.41549 -20023649.84348 20431291.4504 20431296.2424
+ 468.1404 364.7844
+ 22910599.8144 -10247179.92049 -7731666.04046 22910599.3744 22910602.9294
+ 3001.6514 2338.9424
+ 21708211.9344 -15599503.74949 -12133380.04847 21708210.8564 21708215.8374
+ -2239.4304 -1745.0074
+ 05 1 20 0 39 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24298936.5544 -6147208.70649 -4771840.37145 24298935.8584 24298943.3944
+ 2674.0364 2083.6624
+ 21352506.5874 -19351485.67349 -15054706.63048 21352506.9524 21352512.5094
+ -514.0604 -400.5674
+ 21014686.0334 -24223468.21849 -18854556.36248 21014685.2334 21014690.9264
+ -1312.4324 -1022.6754
+ 23145261.8204 -12490428.42149 -9693749.17546 23145261.9754 23145265.0814
+ -3005.6614 -2342.0764
+ 24607607.2874 -3107566.14149 -2413127.07845 24607607.5374 24607610.9894
+ 283.7614 221.1204
+ 20207959.6864 -23223332.48549 -17787372.34548 20207959.3224 20207963.9644
+ 1832.8994 1428.2324
+ 20428673.7294 -25775302.93749 -20034368.42548 20428673.9004 20428678.8374
+ 448.9224 349.8114
+ 22893470.8534 -10337192.27749 -7801805.51846 22893470.0904 22893474.5894
+ 2999.1214 2336.9714
+ 21721009.5974 -15532250.42549 -12080974.86147 21721008.3844 21721013.9564
+ -2244.1304 -1748.6694
+ 05 1 20 0 39 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24283684.3114 -6227370.85249 -4834304.28045 24283683.3434 24283688.4994
+ 2670.1314 2080.6144
+ 21355495.3374 -19335785.77349 -15042472.92948 21355494.9764 21355500.5224
+ -532.8654 -415.2224
+ 21022212.8554 -24183910.89049 -18823732.46347 21022212.3944 21022218.5954
+ -1324.7694 -1032.2864
+ 23162442.6144 -12400149.98349 -9623402.33746 23162441.8604 23162444.8034
+ -3012.9464 -2347.7414
+ 24606036.1774 -3115818.44149 -2419557.44145 24606035.7824 24606040.9844
+ 266.3804 207.5724
+ 20197553.8774 -23278011.46849 -17829979.32548 20197554.3634 20197558.6474
+ 1812.3474 1412.2204
+ 20426166.6504 -25788480.40549 -20044636.56448 20426166.6914 20426171.1264
+ 429.6524 334.7954
+ 22876356.5454 -10427127.41349 -7871884.81346 22876355.9284 22876359.9194
+ 2996.5754 2335.0034
+ 21733834.0504 -15464855.70849 -12028459.48947 21733833.4914 21733838.6474
+ -2248.8344 -1752.3354
+ 05 1 20 0 40 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24268450.2474 -6307414.37349 -4896675.76845 24268450.8714 24268456.3194
+ 2666.1064 2077.4814
+ 21358589.8004 -19319521.72149 -15029799.63048 21358589.7704 21358594.7834
+ -551.6794 -429.8824
+ 21029811.3664 -24143982.90449 -18792619.74847 21029810.6714 21029816.5314
+ -1337.1494 -1041.9324
+ 23179662.8534 -12309653.32649 -9552885.46746 23179662.3034 23179665.5194
+ -3020.1894 -2353.3964
+ 24604567.0424 -3123548.84849 -2425581.14345 24604566.4314 24604569.1944
+ 248.9704 193.9984
+ 20187267.0774 -23332072.70649 -17872104.94348 20187266.7434 20187271.3634
+ 1791.7174 1396.1424
+ 20423768.8044 -25801079.97849 -20054454.39848 20423768.7644 20423773.5014
+ 410.3804 319.7794
+ 22859256.9574 -10516983.56149 -7941902.54846 22859256.9474 22859261.3414
+ 2993.8634 2332.8874
+ 21746685.7024 -15397320.77749 -11975834.86147 21746684.6974 21746690.4964
+ -2253.4824 -1755.9554
+ 05 1 20 0 40 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24253242.5404 -6387339.17649 -4958954.80045 24253242.0714 24253246.9424
+ 2662.1744 2074.4284
+ 21361793.0664 -19302693.95749 -15016687.07948 21361792.7634 21361797.1794
+ -570.4374 -444.4964
+ 21037479.7074 -24103683.87149 -18761217.90747 21037479.0424 21037484.9094
+ -1349.5194 -1051.5724
+ 23196926.1984 -12218939.22249 -9482199.17046 23196926.0674 23196927.7224
+ -3027.4024 -2359.0234
+ 24603194.1524 -3130756.82749 -2431197.70845 24603194.2334 24603198.9364
+ 231.5784 180.4574
+ 20177096.5514 -23385514.52749 -17913747.91148 20177096.8514 20177101.6354
+ 1771.0384 1380.0294
+ 20421481.4874 -25813101.55249 -20063821.84948 20421481.0704 20421485.7224
+ 391.1174 304.7664
+ 22842174.1324 -10606759.31449 -8011857.66546 22842173.1004 22842176.9634
+ 2991.1754 2330.7834
+ 21759563.6844 -15329647.07649 -11923102.11347 21759562.9904 21759568.0504
+ -2258.0734 -1759.5394
+ 05 1 20 0 41 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24238056.9284 -6467145.09549 -5021141.11945 24238056.8964 24238061.0044
+ 2658.2444 2071.3504
+ 21365102.0134 -19285303.11749 -15003135.76548 21365101.8464 21365106.8834
+ -589.2014 -459.1154
+ 21045219.0224 -24063013.43549 -18729526.66047 21045218.4784 21045224.7134
+ -1361.8954 -1061.2124
+ 23214227.5474 -12128008.60549 -9411344.10846 23214228.2754 23214231.4414
+ -3034.6524 -2364.6684
+ 24601922.1564 -3137441.15949 -2436406.27545 24601921.8564 24601926.6894
+ 214.0554 166.8044
+ 20167045.8114 -23438335.38949 -17954907.00548 20167045.6444 20167050.2914
+ 1750.3114 1363.8814
+ 20419303.2314 -25824545.68149 -20072739.33748 20419303.2114 20419308.1264
+ 371.8854 289.7804
+ 22825105.7944 -10696453.32749 -8081749.07546 22825104.7774 22825108.8894
+ 2988.4114 2328.6314
+ 21772468.1234 -15261835.79849 -11870262.14547 21772466.8544 21772472.1334
+ -2262.6444 -1763.0974
+ 05 1 20 0 41 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24222891.4444 -6546831.76049 -5083234.54345 24222890.9844 24222896.1664
+ 2654.2864 2068.2714
+ 21368517.9364 -19267350.02949 -14989146.33248 21368518.1994 21368523.0164
+ -607.9204 -473.7064
+ 21053029.5454 -24021971.35349 -18697545.81847 21053028.7964 21053034.4064
+ -1374.3034 -1070.8944
+ 23231573.9984 -12036862.57049 -9340321.23246 23231573.8194 23231576.6764
+ -3041.8024 -2370.2334
+ 24600749.9204 -3143600.63149 -2441205.87445 24600749.7444 24600755.8314
+ 196.5634 153.1624
+ 20157113.0514 -23490533.58649 -17995580.90948 20157112.7954 20157117.1774
+ 1729.5274 1347.6824
+ 20417235.0824 -25835412.28049 -20081206.80548 20417235.2784 20417240.1074
+ 352.6174 274.7674
+ 22808053.6044 -10786063.56349 -8151575.24346 22808052.4944 22808056.2714
+ 2985.5984 2326.4484
+ 21785397.8014 -15193888.07749 -11817315.86247 21785396.5164 21785402.6484
+ -2267.1584 -1766.6254
+ 05 1 20 0 42 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24207750.6524 -6626399.08649 -5145234.98745 24207751.0284 24207753.7594
+ 2650.3024 2065.1724
+ 21372041.3234 -19248835.60849 -14974719.49548 21372040.7834 21372046.2214
+ -626.6554 -488.3044
+ 21060910.7654 -23980557.35749 -18665275.17547 21060909.6354 21060915.3454
+ -1386.6884 -1080.5324
+ 23248958.5604 -11945502.00749 -9269131.18346 23248958.7104 23248962.2174
+ -3048.9284 -2375.7954
+ 24599678.2084 -3149234.71049 -2445596.05745 24599677.6884 24599683.6354
+ 179.0294 139.5064
+ 20147297.7314 -23542107.55449 -18035768.40048 20147297.9934 20147302.8094
+ 1708.7074 1331.4564
+ 20415277.5044 -25845701.59649 -20089224.44448 20415277.3624 20415281.9904
+ 333.4234 259.8104
+ 22791018.2454 -10875588.66649 -8221335.08446 22791015.8774 22791021.0464
+ 2982.7064 2324.1924
+ 21798352.3804 -15125804.91949 -11764264.05147 21798352.1264 21798357.8984
+ -2271.6874 -1770.1504
+ 05 1 20 0 42 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24192633.4074 -6705846.78349 -5207142.20245 24192632.4294 24192637.3504
+ 2646.2874 2062.0404
+ 21375671.6634 -19229760.55549 -14959855.80448 21375671.2284 21375675.9444
+ -645.2864 -502.8244
+ 21068861.6134 -23938771.02049 -18632714.39247 21068861.1724 21068867.0654
+ -1399.1154 -1090.2204
+ 23266384.3814 -11853928.00849 -9197774.80946 23266383.5684 23266387.8544
+ -3056.0564 -2381.3494
+ 24598704.9714 -3154342.43649 -2449576.10845 24598705.6434 24598709.5284
+ 161.5064 125.8374
+ 20137602.9344 -23593056.05349 -18075468.51148 20137602.8064 20137607.4984
+ 1687.8284 1315.1924
+ 20413429.5804 -25855413.91749 -20096792.47148 20413429.4054 20413434.0224
+ 314.1384 244.7814
+ 22773996.2974 -10965026.95649 -8291027.31246 22773996.6034 22774000.6084
+ 2979.7974 2321.9264
+ 21811334.3774 -15057587.61449 -11711107.70347 21811333.7134 21811339.4354
+ -2276.1294 -1773.6064
+ 05 1 20 0 43 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24177535.4164 -6785174.65149 -5268956.02445 24177536.1494 24177541.1654
+ 2642.2764 2058.9094
+ 21379407.4904 -19210125.43249 -14944555.70648 21379407.1474 21379412.4574
+ -663.9394 -517.3584
+ 21076884.4994 -23896612.00749 -18599863.21147 21076883.8374 21076889.9424
+ -1411.5574 -1099.9164
+ 23283851.3544 -11762141.22449 -9126252.64546 23283850.6564 23283854.4364
+ -3063.0824 -2386.8204
+ 24597833.9004 -3158923.19249 -2453145.51145 24597834.6414 24597837.4984
+ 143.8634 112.0994
+ 20128027.0494 -23643377.27949 -18114679.84548 20128027.5874 20128031.9074
+ 1666.8664 1298.8544
+ 20411690.7514 -25864549.53849 -20103911.13148 20411690.8514 20411695.5554
+ 294.9434 229.8284
+ 22756993.7044 -11054376.72449 -8360650.51946 22756993.3294 22756998.1584
+ 2976.8304 2319.6104
+ 21824340.4654 -14989237.24149 -11657847.67247 21824340.1284 21824345.5974
+ -2280.5504 -1777.0544
+ 05 1 20 0 43 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24162465.7104 -6864382.36549 -5330676.26845 24162464.6454 24162468.1454
+ 2638.2184 2055.7564
+ 21383249.4714 -19189931.51249 -14928820.16448 21383249.6864 21383255.4334
+ -682.5904 -531.8864
+ 21084978.2944 -23854080.07349 -18566721.45047 21084977.1784 21084983.2054
+ -1423.9664 -1109.5824
+ 23301357.9694 -11670142.62949 -9054565.43546 23301356.8994 23301359.7944
+ -3070.1634 -2392.3614
+ 24597061.5824 -3162976.14649 -2456303.62645 24597060.0244 24597070.1274
+ 126.3034 98.4194
+ 20118571.3014 -23693069.85449 -18153401.30948 20118571.3254 20118575.9394
+ 1645.9374 1282.5494
+ 20410062.5714 -25873108.63149 -20110580.54248 20410062.2934 20410066.9414
+ 275.7314 214.8544
+ 22740008.2304 -11143635.98849 -8430203.18146 22740007.6434 22740012.4934
+ 2973.7844 2317.2344
+ 21837373.3504 -14920755.03849 -11604484.91847 21837372.6384 21837377.6294
+ -2284.9294 -1780.4614
+ 05 1 20 0 44 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24147413.3294 -6943469.86949 -5392302.83245 24147413.5484 24147418.0284
+ 2634.2534 2052.6704
+ 21387199.4994 -19169178.89949 -14912649.28648 21387198.9794 21387204.2064
+ -701.1834 -546.3794
+ 21093142.7244 -23811174.98549 -18533288.91547 21093141.8794 21093147.6244
+ -1436.4094 -1119.2784
+ 23318904.1574 -11577933.32749 -8982714.00546 23318904.5994 23318907.1934
+ -3077.1664 -2397.8044
+ 24596391.9204 -3166500.78449 -2459050.09445 24596391.4224 24596395.9074
+ 108.6994 84.7034
+ 20109234.7064 -23742132.44049 -18191631.87748 20109234.6874 20109239.3544
+ 1624.8734 1266.1344
+ 20408543.0194 -25881091.52649 -20116800.96848 20408542.8844 20408547.3724
+ 256.5254 199.8904
+ 22723040.5574 -11232803.07449 -8499683.98846 22723040.2674 22723044.8604
+ 2970.6714 2314.8034
+ 21850429.4364 -14852142.19149 -11551020.35447 21850428.8554 21850433.8564
+ -2289.2494 -1783.8254
+ 05 1 20 0 44 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24132385.2164 -7022437.26749 -5453835.80045 24132386.7344 24132391.7664
+ 2630.2224 2049.5264
+ 21391254.2054 -19147869.24049 -14896044.34048 21391254.3514 21391259.0084
+ -719.7444 -560.8434
+ 21101377.9894 -23767896.41149 -18499565.35447 21101377.5314 21101383.5174
+ -1448.8794 -1128.9954
+ 23336491.3114 -11485514.12049 -8910699.06746 23336491.2404 23336493.8014
+ -3084.1434 -2403.2304
+ 24595821.1554 -3169495.90149 -2461383.96845 24595820.6314 24595828.8134
+ 90.9914 70.9064
+ 20100018.4084 -23790563.42649 -18229370.28748 20100018.6514 20100023.2134
+ 1603.8134 1249.7234
+ 20407133.5244 -25888498.49049 -20122572.61848 20407133.6614 20407138.1614
+ 237.3464 184.9434
+ 22706090.3844 -11321876.43349 -8569091.77346 22706090.4534 22706093.3944
+ 2967.5344 2312.3664
+ 21863510.5634 -14783399.66849 -11497454.74247 21863509.9314 21863515.1104
+ -2293.5654 -1787.1924
+ 05 1 20 0 45 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24117383.3294 -7101283.70649 -5515274.49246 24117382.6264 24117388.3974
+ 2626.2584 2046.4314
+ 21395415.5644 -19126003.09049 -14879005.77948 21395415.3924 21395419.9414
+ -738.2914 -575.2914
+ 21109684.6064 -23724244.23249 -18465550.66247 21109684.1114 21109690.1104
+ -1461.3164 -1138.6904
+ 23354115.9874 -11392886.16849 -8838521.44446 23354116.0214 23354120.2114
+ -3091.0884 -2408.6394
+ 24595353.2454 -3171960.78049 -2463304.61945 24595353.3764 24595360.1554
+ 73.3144 57.1294
+ 20090922.7414 -23838361.45349 -18266615.49148 20090923.0414 20090927.6924
+ 1582.7034 1233.2754
+ 20405834.1244 -25895329.92849 -20127895.80548 20405833.5584 20405838.0684
+ 218.1684 170.0004
+ 22689159.3134 -11410854.55449 -8638425.33846 22689158.9804 22689162.1614
+ 2964.3044 2309.8404
+ 21876616.3094 -14714528.65649 -11443789.01747 21876615.8754 21876620.7834
+ -2297.8064 -1790.4934
+ 05 1 20 0 45 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24102403.3644 -7180009.11149 -5576618.91346 24102402.7614 24102407.2304
+ 2622.1854 2043.2614
+ 21399682.0374 -19103581.36449 -14861534.28648 21399681.9214 21399687.0294
+ -756.7594 -589.6874
+ 21118063.2874 -23680218.23249 -18431244.69347 21118062.5464 21118068.4894
+ -1473.8014 -1148.4114
+ 23371782.8834 -11300050.48549 -8766181.97846 23371783.4074 23371786.7794
+ -3097.9704 -2414.0064
+ 24594985.9154 -3173894.65549 -2464811.53545 24594985.8544 24594989.6464
+ 55.6574 43.3654
+ 20081948.2324 -23885525.49249 -18303366.67748 20081948.0154 20081952.3804
+ 1561.5634 1216.8074
+ 20404643.0974 -25901586.26649 -20132770.86648 20404643.1054 20404647.5644
+ 198.9954 155.0604
+ 22672247.0014 -11499735.58649 -8707683.24346 22672245.2674 22672248.8514
+ 2961.0604 2307.3154
+ 21889746.7864 -14645530.49749 -11390024.22147 21889745.4324 21889750.9854
+ -2302.0614 -1793.8164
+ 05 1 20 0 46 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24087444.2444 -7258613.53549 -5637869.03846 24087444.3964 24087448.4494
+ 2618.1214 2040.0954
+ 21404054.1924 -19080605.18149 -14843630.76147 21404053.9364 21404059.0764
+ -775.2424 -604.0874
+ 21126511.4024 -23635817.80749 -18396646.96047 21126511.0514 21126516.6574
+ -1486.2974 -1158.1554
+ 23389490.3844 -11207007.82149 -8693681.21146 23389489.8114 23389493.4594
+ -3104.9024 -2419.4044
+ 24594719.1004 -3175296.97749 -2465904.22445 24594718.4734 24594721.6254
+ 37.8824 29.5234
+ 20073093.6024 -23932053.77449 -18339622.46848 20073093.7584 20073098.5344
+ 1540.3414 1200.2674
+ 20403562.0574 -25907267.87149 -20137198.08248 20403561.8534 20403566.2674
+ 179.8194 140.1184
+ 22655350.2654 -11588517.69249 -8776864.07347 22655350.8614 22655354.2754
+ 2957.7424 2304.7384
+ 21902900.8264 -14576405.96649 -11336160.94647 21902899.6724 21902904.6364
+ -2306.2434 -1797.0724
+ 05 1 20 0 46 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24072510.5534 -7337096.74849 -5699024.71146 24072509.4394 24072512.7334
+ 2614.1004 2036.9564
+ 21408531.3494 -19057075.42449 -14825295.87247 21408531.4834 21408536.8124
+ -793.6844 -618.4564
+ 21135031.8424 -23591043.05249 -18361757.54147 21135031.8304 21135037.6034
+ -1498.7674 -1167.8724
+ 23407235.8084 -11113759.26049 -8621020.00946 23407234.6284 23407236.0884
+ -3111.6974 -2424.6934
+ 24594552.6464 -3176167.22449 -2466582.30745 24594552.0924 24594557.8964
+ 20.1844 15.7254
+ 20064360.6114 -23977945.22349 -18375382.02048 20064360.5434 20064365.4274
+ 1519.1024 1183.7174
+ 20402589.9004 -25912375.04849 -20141177.68548 20402590.0574 20402594.5744
+ 160.7094 125.2244
+ 22638476.6344 -11677199.38349 -8845966.65147 22638474.9574 22638479.1104
+ 2954.3854 2302.1204
+ 21916077.1824 -14507156.33449 -11282200.19647 21916077.1374 21916082.4674
+ -2310.3874 -1800.3054
+ 05 1 20 0 47 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24057597.0514 -7415458.37649 -5760085.61446 24057596.8764 24057601.4284
+ 2610.0524 2033.8034
+ 21413114.3474 -19032993.05249 -14806530.37748 21413114.5814 21413119.3884
+ -812.0844 -632.7904
+ 21143623.5624 -23545893.63149 -18326576.17747 21143623.2014 21143629.1204
+ -1511.2614 -1177.6014
+ 23425016.7104 -11020305.70949 -8548199.05046 23425016.6804 23425020.1764
+ -3118.5094 -2430.0004
+ 24594488.2834 -3176504.58949 -2466845.24845 24594489.6954 24594492.7654
+ 2.3734 1.8634
+ 20055750.0064 -24023198.35549 -18410644.18648 20055749.5924 20055754.6014
+ 1497.7714 1167.0974
+ 20401727.7714 -25916908.43949 -20144710.18848 20401726.9434 20401731.8544
+ 141.5784 110.3194
+ 22621619.3424 -11765778.74149 -8914989.51047 22621619.2034 22621622.7834
+ 2950.9204 2299.4194
+ 21929279.1954 -14437782.70549 -11228142.81547 21929278.3524 21929283.7454
+ -2314.4954 -1803.4994
+ 05 1 20 0 47 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24042710.4114 -7493698.61149 -5821052.00446 24042709.4684 24042712.7574
+ 2606.0104 2030.6554
+ 21417802.5314 -19008359.05249 -14787335.04648 21417802.4534 21417807.4614
+ -830.4624 -647.1184
+ 21152286.5764 -23500369.36849 -18291102.71547 21152286.1954 21152292.1424
+ -1523.7174 -1187.3144
+ 23442841.2284 -10926648.32349 -8475219.27046 23442840.4604 23442842.1574
+ -3125.3014 -2435.3034
+ 24594526.9344 -3176308.51249 -2466692.39845 24594526.4004 24594531.2314
+ -15.4114 -12.0034
+ 20047259.9754 -24067812.13149 -18445408.15748 20047259.9994 20047264.4904
+ 1476.4184 1150.4564
+ 20400973.3184 -25920868.25449 -20147795.75048 20400973.3504 20400978.3194
+ 122.4634 95.4264
+ 22604782.3224 -11854254.07649 -8983931.29247 22604782.4294 22604786.6094
+ 2947.4184 2296.6954
+ 21942503.4924 -14368286.22249 -11173989.70847 21942503.0894 21942508.8154
+ -2318.6014 -1806.7014
+ 05 1 20 0 48 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24027842.1124 -7571817.14749 -5881923.49745 24027842.2724 24027846.9724
+ 2601.9524 2027.5024
+ 21422595.0394 -18983174.34949 -14767710.58848 21422594.8674 21422599.4994
+ -848.8004 -661.4054
+ 21161021.8074 -23454470.09749 -18255337.06047 21161021.1544 21161026.4274
+ -1536.2384 -1197.0654
+ 23460701.6334 -10832788.07949 -8402081.41346 23460701.2964 23460703.4404
+ -3132.0464 -2440.5494
+ 24594663.9734 -3175578.21649 -2466123.34045 24594663.3664 24594670.1304
+ -33.2384 -25.9024
+ 20038891.7324 -24111785.15549 -18479672.83148 20038891.8784 20038896.4144
+ 1455.0654 1133.8184
+ 20400329.1354 -25924255.12149 -20150434.86148 20400329.0774 20400333.6574
+ 103.4064 80.5794
+ 22587967.1224 -11942624.01749 -9052790.96647 22587966.1934 22587970.1734
+ 2943.8964 2293.9434
+ 21955752.9374 -14298667.96049 -11119741.70747 21955751.8744 21955757.0074
+ -2322.6224 -1809.8374
+ 05 1 20 0 48 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 24012999.6154 -7649813.88749 -5942700.12145 24013000.6314 24013004.9724
+ 2597.8504 2024.2854
+ 21427491.4854 -18957440.24749 -14747658.03148 21427491.6884 21427497.2874
+ -867.0994 -675.6604
+ 21169826.5804 -23408195.60749 -18219279.00947 21169826.2964 21169832.1604
+ -1548.7774 -1206.8454
+ 23478599.7844 -10738725.89249 -8328786.20146 23478600.5254 23478603.3904
+ -3138.7684 -2445.7934
+ 24594905.7214 -3174313.14349 -2465137.65445 24594904.9924 24594911.3674
+ -51.1124 -39.8234
+ 20030645.8944 -24155116.33049 -18513437.37348 20030646.1854 20030651.2144
+ 1433.6694 1117.1454
+ 20399794.0534 -25927069.66449 -20152627.99848 20399794.0544 20399798.0994
+ 84.2924 65.6824
+ 22571170.5774 -12030886.52749 -9121566.92147 22571170.0354 22571174.4474
+ 2940.2424 2291.1024
+ 21969023.4034 -14228929.01849 -11065399.68947 21969022.9074 21969027.5874
+ -2326.6394 -1812.9694
+ 05 1 20 0 49 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23998182.2134 -7727688.47749 -6003381.55546 23998181.2574 23998184.5404
+ 2593.8064 2021.1514
+ 21432494.0834 -18931157.65849 -14727178.07947 21432493.2284 21432498.0564
+ -885.3344 -689.8714
+ 21178703.6014 -23361545.75249 -18182928.47047 21178703.4014 21178709.2394
+ -1561.2914 -1216.5874
+ 23496538.1944 -10644462.89249 -8255334.56146 23496538.5894 23496539.4534
+ -3145.4424 -2450.9994
+ 24595248.9154 -3172513.25149 -2463735.09145 24595247.8534 24595250.6764
+ -68.8564 -53.6524
+ 20022523.0554 -24197804.29249 -18546700.70648 20022523.2254 20022527.8594
+ 1412.2054 1100.4174
+ 20399367.3134 -25929312.21549 -20154375.42648 20399366.7854 20399371.6104
+ 65.2414 50.8394
+ 22554393.9484 -12119039.36549 -9190257.42147 22554395.1094 22554399.8054
+ 2936.5944 2288.2544
+ 21982316.2474 -14159070.27049 -11010964.28547 21982315.8744 21982321.5404
+ -2330.6174 -1816.0704
+ 05 1 20 0 49 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23983387.9164 -7805441.08049 -6063967.94646 23983385.9954 23983389.7864
+ 2589.7334 2017.9754
+ 21437598.0544 -18904327.91349 -14706271.77547 21437598.3724 21437603.1934
+ -903.5524 -704.0664
+ 21187652.6704 -23314520.21449 -18146285.19447 21187652.1374 21187657.9054
+ -1573.7664 -1226.3134
+ 23514514.7334 -10550000.03349 -8181727.11146 23514514.5284 23514516.9684
+ -3152.0764 -2456.1484
+ 24595694.2004 -3170177.39349 -2461914.88845 24595692.9864 24595697.9904
+ -86.8214 -67.6564
+ 20014522.1904 -24239848.34249 -18579462.29048 20014522.4874 20014527.4214
+ 1390.7104 1083.6734
+ 20399048.8094 -25930983.39949 -20155677.64748 20399048.7874 20399053.5934
+ 46.2374 36.0294
+ 22537642.8994 -12207081.31649 -9258861.51147 22537641.4774 22537645.2134
+ 2932.8744 2285.3624
+ 21995633.0384 -14089092.70749 -10956436.32047 21995632.2494 21995638.1454
+ -2334.5364 -1819.1104
+ 05 1 20 0 50 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23968613.4274 -7883071.37149 -6124459.03746 23968613.7824 23968617.6434
+ 2585.6404 2014.7774
+ 21442808.7584 -18876951.93349 -14684939.84347 21442808.3224 21442812.8724
+ -921.7644 -718.2584
+ 21196673.0944 -23267119.24449 -18109349.37147 21196672.3494 21196677.8874
+ -1586.3224 -1236.0954
+ 23532527.8414 -10455338.38449 -8107964.79846 23532527.2254 23532529.7954
+ -3158.7004 -2461.3274
+ 24596237.4194 -3167305.53849 -2459677.14345 24596238.4954 24596244.1454
+ -104.7164 -81.5914
+ 20006644.4114 -24281246.79749 -18611720.81348 20006644.5074 20006649.4004
+ 1369.1504 1066.8644
+ 20398839.5554 -25932083.77149 -20156535.06948 20398839.2064 20398844.2694
+ 27.2214 21.2084
+ 22520909.7084 -12295010.48249 -9327377.71747 22520908.5304 22520912.7844
+ 2929.0854 2282.4074
+ 22008971.5704 -14018997.68949 -10901816.82647 22008970.8654 22008975.9734
+ -2338.4554 -1822.1824
+ 05 1 20 0 50 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23953865.0704 -7960579.13949 -6184854.64746 23953864.2814 23953868.4334
+ 2581.5364 2011.5944
+ 21448120.9824 -18849030.91949 -14663183.19947 21448120.8094 21448126.3574
+ -939.9084 -732.3874
+ 21205764.1354 -23219342.34349 -18072120.61947 21205764.3254 21205769.8274
+ -1598.8514 -1245.8574
+ 23550577.2124 -10360478.98749 -8034048.37246 23550577.8244 23550580.2694
+ -3165.2444 -2466.4174
+ 24596886.3744 -3163897.03549 -2457021.17545 24596886.1174 24596890.4944
+ -122.5134 -95.4624
+ 19998889.8984 -24321998.83449 -18643475.63448 19998889.7254 19998894.2094
+ 1347.6054 1050.0854
+ 20398738.1624 -25932614.17049 -20156948.36248 20398738.3314 20398743.1674
+ 8.2014 6.3904
+ 22504198.8694 -12382825.21149 -9395804.74547 22504198.7494 22504201.9824
+ 2925.2214 2279.3974
+ 22022332.9864 -13948786.19249 -10847106.55547 22022332.1034 22022337.5804
+ -2342.2974 -1825.1644
+ 05 1 20 0 51 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23939137.8784 -8037963.88449 -6245154.41446 23939137.1814 23939143.1414
+ 2577.4674 2008.4204
+ 21453537.7104 -18820565.96649 -14641002.70347 21453537.5174 21453543.0744
+ -958.0204 -746.5094
+ 21214927.6044 -23171189.47449 -18034598.88247 21214926.9384 21214932.9804
+ -1611.3844 -1255.6194
+ 23568666.3564 -10265422.80149 -7959978.61246 23568666.5584 23568669.8034
+ -3171.8254 -2471.5564
+ 24597638.2044 -3159951.71549 -2453946.89445 24597637.5314 24597644.3274
+ -140.4934 -109.4744
+ 19991258.2134 -24362103.73549 -18674726.19248 19991257.9384 19991262.9234
+ 1326.0244 1033.2664
+ 20398746.1404 -25932574.93749 -20156917.78348 20398745.8774 20398750.4694
+ -10.7694 -8.3924
+ 22487510.5444 -12470523.18549 -9464140.79647 22487510.4924 22487513.8514
+ 2921.3014 2276.3424
+ 22035715.2694 -13878459.37449 -10792306.43847 22035714.6904 22035720.1544
+ -2346.1394 -1828.1534
+ 05 1 20 0 51 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23924435.4614 -8115225.97449 -6305358.61846 23924435.1694 23924439.3604
+ 2573.3544 2005.2154
+ 21459057.4604 -18791558.37449 -14618399.37547 21459057.5094 21459063.1294
+ -976.1094 -760.6014
+ 21224162.4194 -23122660.53849 -17996784.12147 21224161.9424 21224167.6164
+ -1623.9344 -1265.4014
+ 23586790.0254 -10170171.07449 -7885756.48346 23586791.2654 23586795.5454
+ -3178.3394 -2476.6324
+ 24598493.2884 -3155468.87349 -2450453.80145 24598492.5414 24598494.7884
+ -158.4664 -123.4794
+ 19983749.4614 -24401559.86549 -18705471.21548 19983749.4784 19983754.2154
+ 1304.3494 1016.3754
+ 20398861.4374 -25931966.90949 -20156443.98548 20398861.6914 20398866.2024
+ -29.7084 -23.1494
+ 22470846.5394 -12558102.87049 -9532384.67747 22470844.9944 22470848.1444
+ 2917.3014 2273.2234
+ 22049119.9644 -13808018.20649 -10737417.21247 22049118.8474 22049124.2744
+ -2349.9474 -1831.1294
+ 05 1 20 0 52 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23909756.7874 -8192364.78549 -6365466.74046 23909756.3944 23909760.9754
+ 2569.2204 2001.9924
+ 21464681.6564 -18762009.47349 -14595374.24547 21464680.9944 21464685.3494
+ -994.0904 -774.6094
+ 21233468.9194 -23073755.36149 -17958676.18847 21233468.5834 21233473.8614
+ -1636.4564 -1275.1564
+ 23604953.7734 -10074724.46749 -7811382.52146 23604954.2994 23604959.1194
+ -3184.7474 -2481.6174
+ 24599451.0314 -3150448.06549 -2446541.52245 24599446.9754 24599451.9384
+ -176.3414 -137.4114
+ 19976364.6924 -24440366.61949 -18735710.22848 19976364.9104 19976369.5984
+ 1282.7464 999.5424
+ 20399085.4374 -25930790.61549 -20155527.38148 20399085.2894 20399089.9674
+ -48.6154 -37.8794
+ 22454203.1994 -12645562.71649 -9600535.18847 22454201.9334 22454204.6904
+ 2913.3234 2270.1154
+ 22062546.2744 -13737463.66949 -10682439.65147 22062545.2744 22062550.3374
+ -2353.6644 -1834.0214
+ 05 1 20 0 52 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23895100.3244 -8269380.40949 -6425478.90846 23895100.7024 23895104.4854
+ 2565.1314 1998.8064
+ 21470406.8794 -18731920.19649 -14571928.04447 21470406.8004 21470411.5644
+ -1012.1144 -788.6634
+ 21242846.4184 -23024473.95349 -17920275.08147 21242845.8364 21242851.8764
+ -1649.0064 -1284.9454
+ 23623155.1134 -9979084.33549 -7736857.76746 23623155.0744 23623158.4684
+ -3191.2584 -2486.6904
+ 24600504.4914 -3144888.90448 -2442209.67544 24600504.4534 24600507.9704
+ -194.1824 -151.3154
+ 19969103.9594 -24478523.05549 -18765442.50448 19969103.8574 19969108.7264
+ 1261.0144 982.6074
+ 20399417.1914 -25929046.70449 -20154168.48248 20399417.3554 20399422.0084
+ -67.5644 -52.6474
+ 22437582.7024 -12732900.54649 -9668590.61047 22437581.9674 22437585.4704
+ 2909.2124 2266.9154
+ 22075994.1464 -13666796.81249 -10627374.55847 22075993.4004 22075998.2584
+ -2357.4104 -1836.9424
+ 05 1 20 0 53 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23880470.4664 -8346272.66349 -6485394.88346 23880469.9044 23880472.6624
+ 2561.0214 1995.6024
+ 21476234.9934 -18701291.97449 -14548061.88847 21476234.5574 21476239.9314
+ -1030.0274 -802.6184
+ 21252296.0484 -22974816.21949 -17881580.75447 21252295.4154 21252301.4514
+ -1661.6024 -1294.7554
+ 23641394.3704 -9883251.70149 -7662182.98546 23641391.9724 23641394.2214
+ -3197.6094 -2491.6424
+ 24601664.4124 -3138790.83348 -2437457.84844 24601661.6604 24601671.0514
+ -212.1944 -165.3474
+ 19961967.4464 -24516027.80949 -18794666.98048 19961967.2194 19961971.5614
+ 1239.2764 965.6704
+ 20399857.2514 -25926735.94549 -20152367.88448 20399857.1254 20399861.6534
+ -86.4294 -67.3484
+ 22420985.8064 -12820114.42149 -9736549.44547 22420986.0274 22420988.6574
+ 2905.0294 2263.6554
+ 22089462.4304 -13596018.56749 -10572222.67447 22089461.4154 22089466.1034
+ -2361.1364 -1839.8434
+ 05 1 20 0 53 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23865860.2484 -8423041.40149 -6545214.64546 23865859.9414 23865864.4824
+ 2556.8794 1992.3694
+ 21482165.3824 -18670126.10249 -14523776.78447 21482165.7744 21482170.5954
+ -1047.9464 -816.5804
+ 21261818.1364 -22924782.01349 -17842593.05947 21261817.0614 21261822.8124
+ -1674.1024 -1304.4934
+ 23659663.8984 -9787227.50249 -7587358.91746 23659663.9584 23659667.1204
+ -3203.9704 -2496.6174
+ 24602927.7504 -3132153.70249 -2432286.08744 24602927.2284 24602933.3984
+ -230.2534 -179.4124
+ 19954953.9714 -24552880.37949 -18823383.25048 19954954.3574 19954958.9554
+ 1217.5314 948.7274
+ 20400404.6694 -25923859.22749 -20150126.27448 20400404.7784 20400409.0374
+ -105.2954 -82.0464
+ 22404414.1044 -12907202.74749 -9804410.46247 22404413.3484 22404416.8644
+ 2900.8484 2260.4004
+ 22102951.0674 -13525129.65449 -10516984.56147 22102950.6484 22102955.6804
+ -2364.7994 -1842.7044
+ 05 1 20 0 54 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23851272.8414 -8499686.36249 -6604937.95446 23851272.5514 23851278.7804
+ 2552.7934 1989.1704
+ 21488198.2234 -18638423.93949 -14499073.79147 21488197.6284 21488203.1364
+ -1065.8114 -830.5024
+ 21271409.4914 -22874371.40149 -17803312.06547 21271409.3104 21271415.5364
+ -1686.6664 -1314.2874
+ 23677971.8534 -9691012.92549 -7512386.52346 23677973.5094 23677975.8694
+ -3210.3434 -2501.5644
+ 24604294.7334 -3124977.51649 -2426694.17745 24604294.2224 24604296.5154
+ -248.1494 -193.3694
+ 19948065.7854 -24589079.68849 -18851590.49548 19948065.7254 19948070.4314
+ 1195.7354 931.7414
+ 20401059.9624 -25920417.13749 -20147444.11848 20401059.7764 20401064.0644
+ -124.1174 -96.7174
+ 22387864.6964 -12994163.56949 -9872172.11647 22387864.1644 22387868.3824
+ 2896.5534 2257.0504
+ 22116462.8314 -13454131.55049 -10461661.34847 22116461.4684 22116466.5464
+ -2368.4324 -1845.5354
+ 05 1 20 0 54 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23836713.6694 -8576207.48749 -6664564.75846 23836713.0584 23836718.3314
+ 2548.6004 1985.9354
+ 21494333.0324 -18606186.77749 -14473953.91947 21494332.9204 21494337.8294
+ -1083.6014 -844.3654
+ 21281075.2004 -22823584.13149 -17763737.56847 21281074.5624 21281080.0084
+ -1699.2124 -1324.0594
+ 23696319.1814 -9594608.97549 -7437266.57146 23696319.3154 23696321.0514
+ -3216.6434 -2506.4734
+ 24605759.8654 -3117261.82848 -2420681.93045 24605761.1084 24605767.3094
+ -266.1324 -207.3744
+ 19941301.5984 -24624624.97849 -18879288.11848 19941301.7514 19941306.0984
+ 1173.9234 914.7474
+ 20401822.2924 -25916410.55149 -20144322.08948 20401821.9004 20401826.3534
+ -142.9274 -111.3714
+ 22371341.6974 -13080995.29849 -9939833.18547 22371340.6054 22371345.2004
+ 2892.2224 2253.6774
+ 22129993.7704 -13383024.85249 -10406253.52847 22129992.4974 22129998.2264
+ -2372.0194 -1848.3264
+ 05 1 20 0 55 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23822177.5014 -8652605.06249 -6724095.31346 23822176.5044 23822179.1994
+ 2544.5434 1982.7644
+ 21500568.6414 -18573415.80849 -14448418.08447 21500568.7484 21500574.0864
+ -1101.3504 -858.1954
+ 21290811.0654 -22772420.37949 -17723869.71847 21290810.5144 21290815.9694
+ -1711.7754 -1333.8534
+ 23714700.5794 -9498016.80549 -7362000.00446 23714701.0624 23714702.4344
+ -3222.8814 -2511.3404
+ 24607332.6014 -3109006.39149 -2414249.26545 24607332.0284 24607338.7014
+ -284.1404 -221.4074
+ 19934662.0224 -24659515.45949 -18906475.48948 19934662.2214 19934667.0444
+ 1152.0894 897.7294
+ 20402691.6504 -25911840.27649 -20140760.82548 20402691.5614 20402695.9404
+ -161.6624 -125.9754
+ 22354841.8714 -13167695.90049 -10007392.07447 22354841.7994 22354846.8814
+ 2887.8124 2250.2464
+ 22143544.2384 -13311810.87649 -10350762.11947 22143544.1884 22143549.5854
+ -2375.5784 -1851.0964
+ 05 1 20 0 55 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23807659.6694 -8728878.59849 -6783529.16746 23807660.0794 23807665.3424
+ 2540.3454 1979.4864
+ 21506906.9504 -18540112.65849 -14422467.56947 21506906.8764 21506911.4954
+ -1119.0634 -871.9964
+ 21300618.9964 -22720879.97449 -17683708.36247 21300618.0384 21300623.7504
+ -1724.3204 -1343.6274
+ 23733117.1284 -9401237.52249 -7286587.59246 23733116.9564 23733118.6884
+ -3229.1114 -2516.1884
+ 24609006.4134 -3100210.90749 -2407395.56745 24609006.6824 24609008.9924
+ -302.2094 -235.4854
+ 19928147.7324 -24693750.33049 -18933152.00848 19928147.7474 19928152.1714
+ 1130.1994 880.6714
+ 20403668.3734 -25906707.01549 -20136760.87148 20403668.2474 20403672.9944
+ -180.4634 -140.6234
+ 22338369.2794 -13254263.16049 -10074847.05347 22338368.8214 22338373.0714
+ 2883.2944 2246.7214
+ 22157116.6484 -13240490.28449 -10295187.62347 22157116.1244 22157121.4394
+ -2379.1054 -1853.8494
+ 05 1 20 0 56 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23793170.4234 -8805027.64249 -6842866.05846 23793170.1474 23793175.0044
+ 2536.2344 1976.2884
+ 21513344.7174 -18506278.67449 -14396103.41547 21513344.2664 21513349.7504
+ -1136.7944 -885.8084
+ 21310498.1234 -22668962.97449 -17643253.54747 21310497.4854 21310503.5894
+ -1736.8544 -1353.4004
+ 23751568.4464 -9304272.15849 -7211030.16446 23751568.0564 23751571.2974
+ -3235.2904 -2520.9964
+ 24610781.0264 -3090875.00948 -2400120.84245 24610779.9324 24610789.6244
+ -320.2514 -249.5404
+ 19921757.6304 -24727328.68149 -18959316.93848 19921757.7424 19921762.2914
+ 1108.2924 863.6044
+ 20404752.3894 -25901011.65249 -20132322.91548 20404752.1034 20404757.0064
+ -199.2034 -155.2244
+ 22321922.9774 -13340695.40149 -10142196.82747 22321921.5404 22321925.4694
+ 2878.7974 2243.2224
+ 22170709.4294 -13169064.32049 -10239531.02447 22170707.8144 22170713.1774
+ -2382.6464 -1856.6074
+ 05 1 20 0 56 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23778704.8194 -8881052.43649 -6902106.11946 23778702.9694 23778707.8174
+ 2532.1024 1973.0654
+ 21519883.7194 -18471915.19649 -14369326.67447 21519883.9344 21519888.4924
+ -1154.4244 -899.5484
+ 21320449.2954 -22616669.46849 -17602505.37147 21320448.9544 21320454.3934
+ -1749.4144 -1363.1774
+ 23770056.2014 -9207121.72349 -7135328.56046 23770055.0744 23770057.5254
+ -3241.3874 -2525.7584
+ 24612666.3044 -3080998.52449 -2392424.97145 24612665.0464 24612668.1444
+ -338.1884 -263.5134
+ 19915493.5054 -24760249.67149 -18984969.64848 19915493.4144 19915497.9144
+ 1086.3814 846.5294
+ 20405942.6144 -25894755.17549 -20127447.72948 20405942.6734 20405947.3444
+ -217.8614 -169.7634
+ 22305500.9034 -13426990.92849 -10209440.06747 22305500.1344 22305504.3054
+ 2874.1984 2239.6314
+ 22184320.0554 -13097533.85549 -10183793.00347 22184319.4934 22184324.5924
+ -2386.0754 -1859.2794
+ 05 1 20 0 57 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23764260.0524 -8956952.64449 -6961249.09146 23764259.4474 23764264.6704
+ 2527.8844 1969.7844
+ 21526522.5604 -18437023.55549 -14342138.37447 21526522.7974 21526528.2224
+ -1171.9724 -913.2234
+ 21330471.8534 -22563999.40949 -17561463.77347 21330471.5234 21330477.5344
+ -1761.9784 -1372.9684
+ 23788576.2504 -9109787.58949 -7059483.76746 23788576.0934 23788579.0084
+ -3247.4954 -2530.5234
+ 24614643.4084 -3070581.44748 -2384307.76644 24614641.3934 24614641.8804
+ -356.2534 -277.5974
+ 19909353.6554 -24792512.99649 -19010109.89548 19909353.8654 19909358.2894
+ 1064.4504 829.4424
+ 20407240.8034 -25887938.31149 -20122135.87848 20407240.0454 20407244.6774
+ -236.5494 -184.3244
+ 22289105.4854 -13513147.48549 -10276575.01847 22289105.9854 22289108.6894
+ 2869.5374 2236.0004
+ 22197952.3094 -13025899.88049 -10127974.31947 22197951.2314 22197956.8734
+ -2389.5054 -1861.9574
+ 05 1 20 0 57 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23749839.8744 -9032728.36649 -7020295.06846 23749840.0084 23749844.0734
+ 2523.7644 1966.5724
+ 21533264.0524 -18401605.41349 -14314539.81747 21533263.5524 21533268.4054
+ -1189.4994 -926.8854
+ 21340566.7054 -22510952.53649 -17520128.55547 21340566.0254 21340572.0094
+ -1774.5384 -1382.7534
+ 23807133.9224 -9012270.85549 -6983496.72246 23807134.0614 23807136.2954
+ -3253.6714 -2535.3304
+ 24616732.5194 -3059623.68349 -2375769.17445 24616732.0564 24616736.3784
+ -374.0994 -291.5034
+ 19903339.4054 -24824117.43549 -19034736.72248 19903339.6414 19903344.3994
+ 1042.4954 812.3344
+ 20408643.4694 -25880562.21849 -20116388.26248 20408643.6234 20408648.0214
+ -255.1534 -198.8214
+ 22272738.0614 -13599163.32449 -10343600.31447 22272737.2934 22272740.2994
+ 2864.8434 2232.3494
+ 22211603.2474 -12954163.23449 -10072075.62347 22211601.7884 22211607.5764
+ -2392.9234 -1864.6124
+ 05 1 20 0 58 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23735442.1694 -9108379.25649 -7079243.78146 23735442.6774 23735448.7094
+ 2519.6214 1963.3424
+ 21540102.9684 -18365662.25149 -14286532.14547 21540103.0874 21540108.0044
+ -1206.9564 -940.4864
+ 21350732.9484 -22457529.16649 -17478499.97047 21350732.6384 21350738.3624
+ -1787.0564 -1392.5154
+ 23825726.1004 -8914572.21249 -6907367.96246 23825726.3574 23825728.4904
+ -3259.6134 -2539.9504
+ 24618920.5334 -3048125.33549 -2366809.40945 24618919.8894 24618924.4554
+ -392.4514 -305.8044
+ 19897451.0404 -24855062.94749 -19058850.09948 19897451.0564 19897455.5564
+ 1020.5284 795.2144
+ 20410153.8494 -25872627.57949 -20110205.41448 20410153.5394 20410157.9704
+ -273.7334 -213.3014
+ 22256396.7804 -13685036.55449 -10410514.48947 22256396.0034 22256399.3414
+ 2860.0424 2228.6044
+ 22225272.4644 -12882324.80649 -10016097.64247 22225272.6824 22225277.9184
+ -2396.2844 -1867.2354
+ 05 1 20 0 58 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23721072.5664 -9183905.06349 -7138095.02446 23721071.6294 23721074.7104
+ 2515.4624 1960.1094
+ 21547042.5374 -18329195.43549 -14258116.43547 21547042.3444 21547047.6154
+ -1224.3934 -954.0744
+ 21360971.0804 -22403729.28049 -17436577.97947 21360970.2844 21360975.5504
+ -1799.6264 -1402.3114
+ 23844351.7644 -8816693.21449 -6831098.59846 23844351.1074 23844354.3304
+ -3265.6784 -2544.6814
+ 24621205.2494 -3036085.84949 -2357428.03145 24621208.3974 24621213.8014
+ -410.2874 -319.6954
+ 19891687.9874 -24885348.31849 -19082449.07648 19891687.7924 19891692.4194
+ 998.5034 778.0504
+ 20411769.6574 -25864135.39249 -20103588.11248 20411769.5784 20411773.7294
+ -292.3174 -227.7834
+ 22240083.0644 -13770765.40249 -10477316.16747 22240082.3024 22240085.8054
+ 2855.1874 2224.8194
+ 22238963.4404 -12810385.75749 -9960041.22247 22238962.1504 22238966.2104
+ -2399.6454 -1869.8594
+ 05 1 20 0 59 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23706723.9584 -9259305.95049 -7196848.89646 23706723.3024 23706726.9994
+ 2511.2834 1956.8544
+ 21554081.4844 -18292206.52049 -14229293.90447 21554081.4324 21554086.4394
+ -1241.7744 -967.6144
+ 21371279.6304 -22349553.07149 -17394362.75947 21371279.2374 21371285.2554
+ -1812.1764 -1412.0864
+ 23863012.7304 -8718634.82649 -6754689.48446 23863011.3234 23863015.2104
+ -3271.5754 -2549.2844
+ 24623604.1584 -3023505.07549 -2347624.73245 24623604.3044 24623607.0964
+ -428.3944 -333.8154
+ 19886049.8584 -24914973.43949 -19105533.57948 19886050.1864 19886054.8284
+ 976.4804 760.8924
+ 20413491.4644 -25855086.74149 -20096537.20348 20413491.3724 20413495.8194
+ -310.8294 -242.2044
+ 22223796.7484 -13856347.43249 -10544003.42047 22223796.1644 22223799.9004
+ 2850.2524 2220.9754
+ 22252671.8664 -12738346.89049 -9903907.04947 22252670.6464 22252675.2954
+ -2402.9594 -1872.4344
+ 05 1 20 0 59 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23692401.1684 -9334581.85649 -7255505.40046 23692400.1034 23692403.2564
+ 2507.0824 1953.5664
+ 21561218.6904 -18254697.07549 -14200065.74647 21561218.6774 21561224.0134
+ -1259.1104 -981.1284
+ 21381661.0994 -22295000.33749 -17351854.13947 21381660.2044 21381666.4204
+ -1824.7384 -1421.8744
+ 23881706.8654 -8620398.18549 -6678141.48046 23881706.6724 23881708.3964
+ -3277.5134 -2553.9044
+ 24626100.4074 -3010383.34948 -2337399.96245 24626100.3154 24626108.2844
+ -446.4044 -347.8504
+ 19880538.7964 -24943937.40449 -19128102.89748 19880538.6474 19880543.2244
+ 954.4154 743.6934
+ 20415319.2124 -25845482.51649 -20089053.37948 20415318.6904 20415323.5294
+ -329.3524 -256.6414
+ 22207539.3484 -13941780.97449 -10610574.98347 22207538.7554 22207542.5184
+ 2845.2824 2217.1054
+ 22266399.0064 -12666209.08149 -9847695.75847 22266398.0984 22266402.8714
+ -2406.2414 -1874.9954
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 1 0 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23678099.9704 -9409732.48849 -7314064.26746 23678098.5424 23678102.6194
+ 2502.9374 1950.3354
+ 21568455.4014 -18216668.63449 -14170433.19047 21568455.4284 21568460.6154
+ -1276.3544 -994.5604
+ 21392113.3374 -22240071.22149 -17309052.24747 21392113.4474 21392118.3824
+ -1837.2904 -1431.6544
+ 23900433.0564 -8521984.53549 -6601455.55846 23900433.4424 23900435.8844
+ -3283.4004 -2558.4954
+ 24628696.6564 -2996720.66848 -2326753.77445 24628699.3144 24628707.3344
+ -464.4544 -361.9104
+ 19875152.5064 -24972239.88549 -19150156.76748 19875152.5184 19875157.2184
+ 932.3964 726.5444
+ 20417252.0414 -25835323.84849 -20081137.52548 20417252.1474 20417256.6624
+ -347.8034 -271.0204
+ 22191309.7544 -14027064.11949 -10677029.35047 22191309.6864 22191313.9764
+ 2840.2394 2213.1634
+ 22280144.5194 -12593973.26449 -9791408.10647 22280143.8524 22280149.6754
+ -2409.4954 -1877.5294
+ 05 1 20 1 0 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23663821.8894 -9484757.80349 -7372525.50546 23663821.4944 23663826.0704
+ 2498.7704 1947.1004
+ 21575791.4114 -18178122.94849 -14140397.57747 21575790.6184 21575795.6034
+ -1293.6024 -1008.0054
+ 21402638.0294 -22184765.97449 -17265957.24747 21402637.1494 21402643.1214
+ -1849.8064 -1441.4084
+ 23919195.2414 -8423394.71949 -6524632.32746 23919194.3094 23919195.9084
+ -3289.2854 -2563.0844
+ 24631401.7264 -2982516.65749 -2315685.84045 24631402.5144 24631404.4084
+ -482.4394 -375.9234
+ 19869892.4854 -24999880.50349 -19171694.90848 19869892.7814 19869897.7154
+ 910.2954 709.3184
+ 20419290.6224 -25824611.64449 -20072790.34548 20419290.5574 20419295.2754
+ -366.2694 -285.4064
+ 22175110.3374 -14112194.87149 -10743364.97347 22175109.1684 22175113.7994
+ 2835.1174 2209.1794
+ 22293910.4684 -12521640.11749 -9735044.61047 22293909.2794 22293913.8244
+ -2412.7484 -1880.0634
+ 05 1 20 1 1 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23649567.5864 -9559657.87349 -7430889.16146 23649568.1254 23649573.7414
+ 2494.5884 1943.8434
+ 21583223.1414 -18139061.46249 -14109960.05847 21583223.0344 21583228.8854
+ -1310.7714 -1021.3794
+ 21413233.8384 -22129084.47849 -17222569.07647 21413232.7514 21413238.8194
+ -1862.3364 -1451.1764
+ 23937987.3784 -8324630.16449 -6447672.96746 23937988.3864 23937991.0504
+ -3294.9844 -2567.5194
+ 24634212.0034 -2967771.58649 -2304196.15345 24634208.4074 24634212.7384
+ -500.4614 -389.9684
+ 19864759.2294 -25026858.42649 -19192716.65748 19864759.1064 19864763.4854
+ 888.2314 692.1264
+ 20421434.0334 -25813347.02549 -20064012.71548 20421434.2194 20421438.5604
+ -384.6554 -299.7334
+ 22158938.7674 -14197171.05949 -10809580.17147 22158938.7384 22158943.1564
+ 2829.9724 2205.1794
+ 22307693.0644 -12449210.64049 -9678606.05347 22307691.7414 22307696.5194
+ -2415.9064 -1882.5324
+ 05 1 20 1 1 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23635341.7274 -9634431.99349 -7489154.68046 23635339.8254 23635343.6374
+ 2490.3804 1940.5574
+ 21590754.4534 -18099485.80949 -14079121.87447 21590754.3494 21590759.7224
+ -1327.8824 -1034.7154
+ 21423900.3484 -22073027.12349 -17178888.03547 21423900.1994 21423906.4854
+ -1874.8664 -1460.9324
+ 23956816.2734 -8225691.96949 -6370578.33046 23956815.4514 23956817.4774
+ -3300.7704 -2572.0254
+ 24637116.7294 -2952485.07048 -2292284.62945 24637118.7404 24637123.4724
+ -518.5184 -404.0434
+ 19859751.4264 -25053173.72249 -19213222.08248 19859751.6124 19859756.1324
+ 866.1024 674.8834
+ 20423682.9414 -25801531.05049 -20054805.45048 20423682.5774 20423687.1534
+ -403.0104 -314.0324
+ 22142798.7064 -14281991.01649 -10875673.61847 22142798.5474 22142802.1434
+ 2824.6954 2201.0574
+ 22321492.1024 -12376685.80649 -9622093.19447 22321491.6024 22321498.0534
+ -2419.0804 -1884.9954
+ 05 1 20 1 2 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23621134.4734 -9709080.27549 -7547322.12746 23621133.7064 23621139.1874
+ 2486.1764 1937.2814
+ 21598382.8294 -18059397.60249 -14047884.31447 21598383.2164 21598388.3614
+ -1344.9144 -1047.9784
+ 21434639.7884 -22016593.79349 -17134914.00747 21434638.8054 21434645.3044
+ -1887.3784 -1470.6844
+ 23975676.8144 -8126581.22149 -6293349.20346 23975675.1084 23975677.5744
+ -3306.5554 -2576.5434
+ 24640133.4054 -2936657.73248 -2279951.65945 24640132.0034 24640134.1094
+ -536.5354 -418.0824
+ 19854870.1014 -25078825.37349 -19233210.37748 19854869.9444 19854874.8204
+ 844.0104 657.6714
+ 20426036.0084 -25789164.90949 -20045169.48248 20426035.7834 20426040.3134
+ -421.3354 -328.3144
+ 22126688.6644 -14366652.61549 -10941643.68947 22126688.3564 22126691.7344
+ 2819.4044 2196.9474
+ 22335311.3164 -12304066.48149 -9565506.71347 22335311.2814 22335316.5534
+ -2422.1804 -1887.4014
+ 05 1 20 1 2 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23606952.4924 -9783603.06749 -7605391.80846 23606952.1624 23606958.1804
+ 2482.0354 1934.0554
+ 21606109.3294 -18018798.68649 -14016248.77947 21606108.7854 21606113.8424
+ -1361.9254 -1061.2354
+ 21445450.4054 -21959784.87949 -17090647.31647 21445449.6014 21445455.6874
+ -1899.9204 -1480.4534
+ 23994568.0304 -8027299.17049 -6215986.58246 23994569.1684 23994570.8734
+ -3312.2374 -2580.9634
+ 24643246.3344 -2920289.52858 -2267197.16354 24643249.9174 24643245.2904
+ -554.6554 -432.2144
+ 19850115.0064 -25103813.24849 -19252681.44548 19850115.1274 19850119.4294
+ 821.8614 640.4114
+ 20428493.2644 -25776249.50049 -20035105.51748 20428493.5084 20428497.8634
+ -439.6384 -342.5744
+ 22110609.4804 -14451153.85249 -11007488.77447 22110608.3634 22110611.6094
+ 2814.0134 2192.7404
+ 22349148.9964 -12231353.45549 -9508847.20047 22349148.2514 22349153.5214
+ -2425.3314 -1889.8644
+ 05 1 20 1 3 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23592798.0114 -9857999.84149 -7663363.30146 23592795.6414 23592801.6004
+ 2477.8174 1930.7734
+ 21613932.3914 -17977690.53349 -13984216.45247 21613931.9794 21613936.6144
+ -1378.9004 -1074.4684
+ 21456332.7444 -21902600.24249 -17046087.86347 21456331.9374 21456337.5224
+ -1912.4614 -1490.2254
+ 24013492.2904 -7927846.91849 -6138491.31446 24013492.8724 24013496.6784
+ -3317.9354 -2585.3934
+ 24646459.3394 -2903380.68558 -2254021.37554 24646461.4474 24646465.7634
+ -572.5004 -446.1184
+ 19845485.9244 -25128137.17249 -19271635.14548 19845486.2524 19845490.9614
+ 799.7014 623.1464
+ 20431055.3864 -25762786.18349 -20024614.61048 20431055.4244 20431060.1464
+ -457.9084 -356.8094
+ 22094560.3574 -14535492.71149 -11073207.35247 22094558.9894 22094562.4244
+ 2808.5694 2188.5054
+ 22363004.1824 -12158547.51049 -9452115.29847 22363003.1734 22363008.9354
+ -2428.4204 -1892.2644
+ 05 1 20 1 3 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23578662.4784 -9932270.67149 -7721236.63446 23578661.8904 23578667.0524
+ 2473.5864 1927.4794
+ 21621850.6014 -17936074.92449 -13951788.71147 21621850.4534 21621855.6594
+ -1395.7854 -1087.6264
+ 21467285.9104 -21845040.13149 -17001235.83447 21467285.0404 21467290.5884
+ -1924.9514 -1499.9684
+ 24032450.1144 -7828225.72349 -6060864.44645 24032449.2444 24032453.1984
+ -3323.4944 -2589.7274
+ 24649784.7564 -2885930.94948 -2240424.19145 24649782.8814 24649788.0574
+ -590.6764 -460.2674
+ 19840984.1304 -25151796.48749 -19290070.97048 19840984.3024 19840988.6504
+ 777.5684 605.8974
+ 20433721.7944 -25748775.97649 -20013697.55748 20433721.4994 20433725.8174
+ -476.1084 -370.9924
+ 22078542.0674 -14619667.20449 -11138797.85947 22078541.2324 22078544.2424
+ 2803.0314 2184.1764
+ 22376875.5704 -12085649.75649 -9395311.86247 22376874.9694 22376879.9574
+ -2431.4634 -1894.6464
+ 05 1 20 1 4 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23564554.5654 -10006415.31449 -7779011.63746 23564554.6184 23564556.3754
+ 2469.4094 1924.2134
+ 21629865.7314 -17893953.62349 -13918966.90947 21629865.9774 21629871.3494
+ -1412.6104 -1100.7384
+ 21478310.4594 -21787104.97949 -16956091.56247 21478309.6064 21478315.3444
+ -1937.4624 -1509.7114
+ 24051439.8304 -7728436.66649 -5983106.74945 24051439.3374 24051443.3524
+ -3329.0894 -2594.1074
+ 24653207.0894 -2867940.95849 -2226406.07544 24653204.6344 24653211.1754
+ -608.6664 -474.2724
+ 19836608.6674 -25174791.35049 -19307989.03948 19836608.8234 19836613.2164
+ 755.3834 588.6064
+ 20436491.4604 -25734220.01649 -20002355.23948 20436491.3124 20436495.8964
+ -494.2404 -385.1244
+ 22062556.0404 -14703675.12849 -11204258.55847 22062555.2864 22062558.0244
+ 2797.4684 2179.8424
+ 22390765.2434 -12012661.09649 -9338437.56647 22390763.6944 22390768.6584
+ -2434.4494 -1896.9794
+ 05 1 20 1 4 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23550469.3364 -10080433.84449 -7836688.36346 23550468.4324 23550472.2504
+ 2465.1764 1920.9094
+ 21637978.4114 -17851328.35049 -13885752.40347 21637977.5704 21637982.8284
+ -1429.3514 -1113.7814
+ 21489406.5434 -21728794.58449 -16910654.88947 21489406.0054 21489411.6654
+ -1949.9704 -1519.4634
+ 24070460.1574 -7628481.09349 -5905219.28745 24070460.4464 24070462.6234
+ -3334.6534 -2598.4414
+ 24656729.6764 -2849410.84858 -2211967.03154 24656732.3874 24656733.0454
+ -626.7114 -488.3524
+ 19832359.8974 -25197121.09649 -19325388.83448 19832359.4734 19832363.7624
+ 733.2444 571.3564
+ 20439364.5854 -25719119.69249 -19990588.74048 20439364.7414 20439369.4724
+ -512.3614 -399.2424
+ 22046602.1584 -14787514.64049 -11269588.03847 22046600.9814 22046604.3634
+ 2791.8194 2175.4344
+ 22404671.0864 -11939582.39149 -9281493.11447 22404670.5144 22404676.2174
+ -2437.4274 -1899.2924
+ 05 1 20 1 5 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23536404.4774 -10154325.79149 -7894266.43646 23536405.1084 23536410.5324
+ 2460.9604 1917.6334
+ 21646184.2374 -17808200.93249 -13852146.61947 21646184.4264 21646189.5734
+ -1446.0614 -1126.7984
+ 21500572.8234 -21670109.36749 -16864926.16547 21500572.9754 21500579.2384
+ -1962.4494 -1529.1804
+ 24089514.3744 -7528359.90149 -5827202.76445 24089512.6594 24089515.8284
+ -3340.1174 -2602.6894
+ 24660363.9654 -2830340.63848 -2197107.05344 24660360.7274 24660362.7944
+ -644.8404 -502.4824
+ 19828235.9124 -25218785.44449 -19342270.14448 19828236.3994 19828241.3144
+ 711.0694 554.0784
+ 20442342.0164 -25703476.19249 -19978398.99148 20442341.6734 20442346.1064
+ -530.4654 -413.3504
+ 22030679.4074 -14871183.67149 -11334784.67247 22030679.1034 22030682.5644
+ 2786.1124 2170.9924
+ 22418594.8354 -11866414.13149 -9224478.88747 22418593.9234 22418598.8294
+ -2440.4024 -1901.6134
+ 05 1 20 1 5 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23522370.4204 -10228091.12449 -7951745.89246 23522369.8564 23522373.1824
+ 2456.7294 1914.3334
+ 21654486.1644 -17764573.17249 -13818150.94447 21654485.8484 21654491.6894
+ -1462.7104 -1139.7714
+ 21511812.7324 -21611049.60649 -16818905.57047 21511811.7074 21511817.7054
+ -1974.9284 -1538.9114
+ 24108596.2164 -7428074.47949 -5749058.32445 24108595.9874 24108598.9474
+ -3345.5774 -2606.9384
+ 24664092.5094 -2810730.40758 -2181826.41154 24664091.9914 24664097.9304
+ -662.7934 -516.4574
+ 19824240.4974 -25239784.77149 -19358633.24248 19824240.5614 19824245.2104
+ 688.8624 536.7774
+ 20445421.8324 -25687290.67449 -19965786.88948 20445421.7784 20445426.3024
+ -548.4914 -427.3964
+ 22014790.4624 -14954680.20849 -11399846.90147 22014789.8984 22014794.0844
+ 2780.3234 2166.4824
+ 22432535.9004 -11793156.97949 -9167395.37947 22432533.9494 22432539.9084
+ -2443.3804 -1903.9354
+ 05 1 20 1 6 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23508356.7334 -10301730.04449 -8009126.83346 23508356.2604 23508360.5284
+ 2452.5374 1911.0634
+ 21662884.0534 -17720446.74549 -13783766.72447 21662883.3644 21662888.4024
+ -1479.3174 -1152.7164
+ 21523122.1624 -21551615.34949 -16772593.16847 21523121.8504 21523127.8464
+ -1987.4324 -1548.6444
+ 24127711.1234 -7327625.88449 -5670786.77345 24127710.3304 24127715.4944
+ -3350.9754 -2611.1434
+ 24667927.2314 -2790580.72758 -2166125.45354 24667924.4044 24667925.7424
+ -680.6444 -530.3824
+ 19820371.0674 -25260118.16149 -19374477.43748 19820371.1864 19820375.8784
+ 666.6704 519.4824
+ 20448604.9304 -25670564.36049 -19952753.38748 20448604.7284 20448609.1004
+ -566.5144 -441.4434
+ 21998934.9824 -15038002.26649 -11464773.17947 21998934.5454 21998938.4204
+ 2774.4574 2161.9104
+ 22446491.7534 -11719812.10249 -9110243.52047 22446490.9014 22446495.4914
+ -2446.2804 -1906.1984
+ 05 1 20 1 6 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23494367.1184 -10375242.45849 -8066409.20446 23494367.4414 23494372.2494
+ 2448.2714 1907.7544
+ 21671375.4134 -17675823.57549 -13748995.42047 21671375.2134 21671379.6444
+ -1495.8514 -1165.5984
+ 21534503.4274 -21491806.89049 -16725989.19047 21534503.0234 21534508.6024
+ -1999.9094 -1558.3694
+ 24146857.5384 -7227015.55149 -5592389.15845 24146857.4644 24146861.4964
+ -3356.4124 -2615.3954
+ 24671862.0024 -2769892.10058 -2150004.37054 24671869.8354
+ -698.6354 -544.3974
+ 19816628.6284 -25279786.03549 -19389803.04348 19816628.6304 19816633.1394
+ 644.4844 502.1944
+ 20451890.1184 -25653298.48449 -19939299.44748 20451890.1824 20451894.7374
+ -584.4714 -455.4284
+ 21983112.7424 -15121147.50549 -11529561.65947 21983112.1184 21983116.5614
+ 2768.5404 2157.3044
+ 22460465.4574 -11646380.19249 -9053023.84447 22460464.4614 22460469.8554
+ -2449.1774 -1908.4494
+ 05 1 20 1 7 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23480403.4954 -10448627.87849 -8123592.62346 23480402.8514 23480407.4824
+ 2444.0414 1904.4364
+ 21679960.5404 -17630705.57649 -13713838.53347 21679960.6464 21679965.7474
+ -1512.2934 -1178.4044
+ 21545956.6024 -21431624.58849 -16679093.89047 21545955.8554 21545961.1244
+ -2012.3334 -1568.0554
+ 24166033.5374 -7126244.54549 -5513866.33045 24166034.0224 24166036.6614
+ -3361.6574 -2619.4664
+ 24675901.5164 -2748664.51358 -2133463.25654
+ -716.6364 -558.4344
+ 19813012.5134 -25298787.92749 -19404609.70648 19813012.3684 19813017.1774
+ 622.2884 484.8974
+ 20455278.5894 -25635494.63349 -19925426.30748 20455278.3224 20455282.6114
+ -602.3534 -469.3684
+ 21967325.0774 -15204113.98649 -11594210.84347 21967324.5364 21967328.2344
+ 2762.5354 2152.6144
+ 22474455.8354 -11572862.02249 -8995736.96947 22474455.0034 22474460.4224
+ -2452.0384 -1910.6794
+ 05 1 20 1 7 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23466462.2234 -10521886.48149 -8180677.22346 23466462.5504 23466466.1224
+ 2439.8824 1901.2004
+ 21688639.6964 -17585094.46949 -13678297.40347 21688639.9434 21688645.2094
+ -1528.7104 -1191.2024
+ 21557479.2184 -21371068.45949 -16631907.31347 21557479.3034 21557484.3444
+ -2024.7784 -1577.7504
+ 24185242.5584 -7025314.12449 -5435219.25545 24185241.4384 24185242.7004
+ -3367.0254 -2623.6554
+ 24680046.0984 -2726898.83648 -2116503.27444
+ -734.6194 -572.4324
+ 19809523.2814 -25317124.06949 -19418897.60948 19809523.4144 19809527.8894
+ 600.1004 467.6094
+ 20458768.4684 -25617153.81549 -19911134.75248 20458768.3754 20458772.8474
+ -620.2614 -483.3224
+ 21951570.9784 -15286899.66449 -11658719.14647 21951570.5874 21951574.3224
+ 2756.4934 2147.9174
+ 22488461.7114 -11499258.23149 -8938383.36347 22488461.1514 22488466.8954
+ -2454.8744 -1912.8814
+ 05 1 20 1 8 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23452546.6664 -10595018.18649 -8237662.93946 23452546.1404 23452549.9804
+ 2435.6184 1897.8804
+ 21697413.6924 -17538992.14949 -13642373.51447 21697412.9464 21697418.5014
+ -1545.0724 -1203.9554
+ 21569074.2464 -21310138.99949 -16584429.82147 21569073.4484 21569079.3464
+ -2037.2404 -1587.4534
+ 24204475.0884 -6924225.42749 -5356448.91045 24204476.9364 24204478.7504
+ -3372.2654 -2627.7444
+ 24684290.2174 -2704594.32758 -2099123.13754 24684287.7234 24684299.2104
+ -752.5884 -586.4304
+ 19806160.6564 -25334794.02349 -19432666.39348 19806160.8574 19806165.5094
+ 577.8774 450.2944
+ 20462360.3964 -25598277.52349 -19896425.94648 20462360.2934 20462364.8294
+ -638.1044 -497.2204
+ 21935853.0434 -15369502.46249 -11723084.95347 21935852.4904 21935855.3184
+ 2750.3284 2143.1114
+ 22502484.8714 -11425569.86749 -8880963.84347 22502483.7994 22502489.3304
+ -2457.7194 -1915.1094
+ 05 1 20 1 8 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23438653.7974 -10668022.74749 -8294549.58146 23438654.1354 23438657.2744
+ 2431.4044 1894.5914
+ 21706279.9084 -17492400.53749 -13606068.35947 21706279.4214 21706284.0844
+ -1561.3224 -1216.6164
+ 21580740.0164 -21248836.41949 -16536661.59347 21580739.2014 21580744.1934
+ -2049.6684 -1597.1494
+ 24223740.2204 -6822979.86049 -5277556.27745 24223741.6414 24223745.2004
+ -3377.4764 -2631.8014
+ 24688629.8504 -2681751.93558 -2081323.96054 24688642.0774
+ -770.5354 -600.4184
+ 19802925.3684 -25351798.23649 -19445916.41848 19802925.2464 19802929.6754
+ 555.7134 433.0224
+ 20466053.9604 -25578866.99949 -19881300.85448 20466053.8664 20466058.7174
+ -655.8674 -511.0644
+ 21920169.1264 -15451920.28149 -11787306.61047 21920168.7644 21920171.9814
+ 2744.1674 2138.3144
+ 22516522.7534 -11351797.75349 -8823479.08647 22516522.2454 22516526.9044
+ -2460.4534 -1917.2444
+ 05 1 20 1 9 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23424785.8064 -10740900.11849 -8351337.13146 23424785.2174 23424789.8184
+ 2427.0924 1891.2404
+ 21715238.0694 -17445321.64149 -13569383.49947 21715237.9084 21715243.1694
+ -1577.5024 -1229.2224
+ 21592475.7534 -21187161.07549 -16488602.90047 21592475.1944 21592480.9614
+ -2062.0904 -1606.8254
+ 24243037.1784 -6721578.49549 -5198542.25845 24243039.3634 24243041.6794
+ -3382.5994 -2635.7904
+ 24693089.9544 -2658371.60158 -2063105.60354
+ -788.3134 -614.2834
+ 19799816.0544 -25368136.23249 -19458647.31248 19799816.1944 19799820.6464
+ 533.4704 415.6894
+ 20469849.1844 -25558923.63649 -19865760.56248 20469848.9864 20469853.6294
+ -673.6114 -524.8944
+ 21904520.0104 -15534151.09649 -11851382.56047 21904520.5774 21904524.1844
+ 2737.8884 2133.4244
+ 22530577.1834 -11277942.52049 -8765929.55947 22530576.3654 22530581.9194
+ -2463.2234 -1919.3994
+ 05 1 20 1 9 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23410941.5754 -10813650.39049 -8408025.61346 23410941.8184 23410944.4764
+ 2422.9014 1887.9564
+ 21724289.1664 -17397757.38949 -13532320.43847 21724288.8994 21724294.2914
+ -1593.6894 -1241.8374
+ 21604282.7054 -21125112.99649 -16440253.77247 21604282.2484 21604288.5704
+ -2074.5244 -1616.5084
+ 24262364.6834 -6620022.53849 -5119407.79945 24262363.2184 24262367.9134
+ -3387.7504 -2639.8044
+ 24697626.0524 -2634455.55757 -2044469.73254
+ -805.9164 -627.9674
+ 19796833.8284 -25383808.38149 -19470859.36148 19796833.6324 19796838.3254
+ 511.2684 398.3904
+ 20473745.2184 -25538448.86049 -19849806.18448 20473745.2574 20473749.7664
+ -691.3304 -538.7024
+ 21888909.2784 -15616192.79149 -11915311.14747 21888908.6304 21888912.1464
+ 2731.5174 2128.4484
+ 22544647.0924 -11204004.98349 -8708315.89847 22544646.2314 22544651.2154
+ -2465.9614 -1921.5234
+ 05 1 20 1 10 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23397122.5914 -10886273.40649 -8464614.95546 23397121.4834 23397125.2174
+ 2418.6624 1884.6644
+ 21733431.9104 -17349709.50349 -13494880.52547 21733432.3284 21733437.8194
+ -1609.7484 -1254.3464
+ 21616160.3994 -21062692.78449 -16391614.65947 21616160.1964 21616166.8134
+ -2086.8844 -1626.1444
+ 24281717.2394 -6518313.33449 -5040153.93345 24281716.8904 24281722.8294
+ -3392.8484 -2643.7784
+ 24702296.6424 -2610001.84048 14180.02643
+ -824.0034 -642.0804
+ 19793977.9234 -25398814.64849 -19482552.54948 19793978.1244 19793982.7484
+ 489.1284 381.1404
+ 20477742.8094 -25517444.04249 -19833438.78248 20477742.4904 20477746.7364
+ -708.9194 -552.4024
+ 21873334.0394 -15698043.03249 -11979090.55547 21873333.2894 21873336.5174
+ 2725.1474 2123.4944
+ 22558731.2454 -11129985.73649 -8650638.55747 22558730.9944 22558736.3064
+ -2468.6484 -1923.6374
+ 05 1 20 1 10 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23383326.7174 -10958768.93649 -8521104.96046 23383326.1424 23383330.3354
+ 2414.4034 1881.3584
+ 21742667.9794 -17301180.21549 -13457065.49047 21742667.3964 21742671.8724
+ -1625.7824 -1266.8394
+ 21628110.3844 -20999900.71449 -16342685.79247 21628109.6664 21628115.8284
+ -2099.2804 -1635.8024
+ 24301103.8864 -6416452.03449 -4960781.48745 24301102.8344 24301106.5124
+ -3397.8544 -2647.6784
+ 24707050.4614 -2585011.96758 33656.86854
+ -841.9104 -656.1704
+ 19791249.2234 -25413155.09749 -19493726.91448 19791249.4414 19791253.9864
+ 466.9154 363.8304
+ 20481840.0234 -25495910.71149 -19816659.55248 20481840.1984 20481844.4674
+ -726.5454 -566.1404
+ 21857794.9394 -15779699.86249 -12042719.25347 21857794.5984 21857797.6204
+ 2718.6544 2118.4314
+ 22572833.1934 -11055885.52649 -8592898.14247 22572832.4124 22572837.2944
+ -2471.3574 -1925.7364
+ 05 1 20 1 11 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23369554.4804 -11031136.73249 -8577495.42146 23369553.9584 23369558.4524
+ 2410.1734 1878.0524
+ 21751994.1664 -17252171.50349 -13418876.88247 21751993.4194 21751997.8984
+ -1641.7394 -1279.2704
+ 21640130.3424 -20936737.11649 -16293467.42647 21640129.8244 21640135.3004
+ -2111.6744 -1645.4574
+ 24320514.1154 -6314439.97849 -4881291.61345 24320514.3794 24320517.2784
+ -3402.8824 -2651.5924
+ 24711905.3054 -2559487.00758 53551.20154
+ -859.7694 -670.1164
+ 19788646.8674 -25426830.05049 -19504382.71548 19788646.9084 19788651.4764
+ 444.7264 346.5424
+ 20486038.2554 -25473850.12449 -19799469.47448 20486038.0094 20486042.6354
+ -744.0794 -579.8004
+ 21842293.2864 -15861161.22549 -12106195.63647 21842292.6214 21842296.1714
+ 2712.0914 2113.3154
+ 22586949.0874 -10981705.28949 -8535095.33747 22586947.9664 22586954.8664
+ -2474.0114 -1927.7914
+ 05 1 20 1 11 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23355807.3344 -11103376.98849 -8633786.50846 23355806.8494 23355810.9474
+ 2405.8954 1874.7314
+ 21761409.2334 -17202685.20449 -13380316.13747 21761409.9614 21761415.0344
+ -1657.6354 -1291.6604
+ 21652220.0214 -20873202.35749 -16243959.82747 21652219.5814 21652225.2274
+ -2124.0774 -1655.1274
+ 24339955.2904 -6212278.50749 -4801685.32345 24339955.2394 24339957.5634
+ -3407.8874 -2655.4984
+ 24716864.7594 -2533426.41558 13423.88653
+ -877.5294 -683.7884
+ 19786171.1984 -25439839.15549 -19514519.67148 19786171.4524 19786176.0224
+ 422.5174 329.2364
+ 20490335.8254 -25451263.88249 -19781869.80248 20490335.9584 20490340.5814
+ -761.6014 -593.4544
+ 21826829.1584 -15942424.87049 -12169517.95947 21826828.5224 21826832.0234
+ 2705.4554 2108.1484
+ 22601080.1394 -10907445.72749 -8477230.74447 22601080.1654 22601085.3814
+ -2476.6554 -1929.8604
+ 05 1 20 1 12 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23342085.0024 -11175489.70249 -8689978.22446 23342084.8424 23342089.0974
+ 2401.6024 1871.3824
+ 21770917.8534 -17152723.30849 -13341384.77347 21770917.6114 21770923.1994
+ -1673.4224 -1303.9674
+ 21664381.8414 -20809296.70749 -16194163.22047 21664380.5714 21664386.2844
+ -2136.4004 -1664.7284
+ 24359427.3654 -6109968.62149 -4721963.34645 24359425.5864 24359428.2044
+ -3412.8014 -2659.3314
+ 24721925.9954 -2506831.64157 34144.20954
+ -895.2964 -697.4844
+ 19783822.2604 -25452183.16349 -19524138.36648 19783822.3584 19783826.7404
+ 400.3514 311.9654
+ 20494734.0264 -25428153.28049 -19763861.52948 20494733.6084 20494738.3364
+ -779.0004 -607.0114
+ 21811403.2824 -16023488.81049 -12232684.65647 21811402.6644 21811406.2524
+ 2698.7794 2102.9434
+ 22615226.4414 -10833107.54549 -8419304.89046 22615225.7554 22615231.2584
+ -2479.2304 -1931.8684
+ 05 1 20 1 12 30.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23328387.2974 -11247474.51349 -8746070.26346 23328387.4144 23328392.0144
+ 2397.3614 1868.0644
+ 21780514.7204 -17102288.15949 -13302084.65847 21780514.9574 21780520.1694
+ -1689.1554 -1316.2254
+ 21676612.1684 -20745020.75049 -16144078.05447 21676611.9644 21676617.7044
+ -2148.7374 -1674.3394
+ 24378922.5084 -6007511.57949 -4642126.73645 24378921.7824 24378925.5154
+ -3417.6644 -2663.1184
+ 19781599.9484 -25463862.11049 -19533238.82748 19781600.0564 19781604.3234
+ 378.2274 294.7224
+ 20499231.3004 -25404520.03649 -19745446.00348 20499231.0364 20499235.7134
+ -796.4204 -620.5914
+ 21796015.9064 -16104350.51549 -12295693.76147 21796015.2264 21796018.8664
+ 2692.0054 2097.6654
+ 22629386.5164 -10758691.34849 -8361318.25046 22629386.2794 22629392.2204
+ -2481.8224 -1933.8884
+ 05 1 20 1 13 0.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23314714.6444 -11319331.45949 -8802062.67246 23314714.4074 23314717.4324
+ 2393.0884 1864.7434
+ 21790202.7494 -17051381.57849 -13262417.18847 21790202.3684 21790206.8334
+ -1704.8674 -1328.4714
+ 21688915.5394 -20680374.73749 -16093704.54647 21688914.1924 21688919.7024
+ -2161.0724 -1683.9544
+ 24398441.6014 -5904908.99549 -4562176.70845 24398443.6194 24398449.3304
+ -3422.4904 -2666.8714
+ 19779503.4684 -25474876.06249 -19541821.11648 19779503.7794 19779508.6384
+ 356.0484 277.4414
+ 20503828.0154 -25380365.45649 -19726624.25048 20503827.8374 20503832.0954
+ -813.8204 -634.1474
+ 21780666.8954 -16185008.01649 -12358543.75947 21780666.6964 21780670.3974
+ 2685.1534 2092.3294
+ 22643562.6784 -10684197.98849 -8303271.48146 22643561.7724 22643567.6724
+ -2484.3954 -1935.8904
+ 05 1 20 1 13 30.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23301062.6744 -11391060.50349 -8857955.41046 23301063.1824 23301067.5234
+ 2388.7794 1861.3744
+ 21799978.3764 -17000005.67949 -13222384.02347 21799978.1934 21799983.0854
+ -1720.5134 -1340.6564
+ 21701286.0374 -20615359.12349 -16043043.05447 21701285.8574 21701290.7884
+ -2173.3744 -1693.5394
+ 24417997.7294 -5802161.85949 -4482114.03445 24417998.0944 24418000.9734
+ -3427.2944 -2670.6194
+ 19777534.8934 -25485225.61749 -19549885.69248 19777534.8344 19777539.0684
+ 333.9244 260.2004
+ 20508523.1364 -25355691.17949 -19707397.53048 20508522.9144 20508527.2674
+ -831.1064 -647.6174
+ 21765357.6024 -16265459.40849 -12421233.13947 21765357.3704 21765361.0454
+ 2678.2494 2086.9444
+ 22657754.0854 -10609628.07049 -8245165.06946 22657752.2214 22657757.5924
+ -2486.9134 -1937.8514
+ 05 1 20 1 14 0.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23287438.9554 -11462661.42149 -8913748.32846 23287438.5334 23287442.7104
+ 2384.5444 1858.0774
+ 21809844.9604 -16948162.74449 -13181986.93247 21809844.7624 21809849.1574
+ -1736.0184 -1352.7414
+ 21713729.0234 -20549974.33149 -15992093.88747 21713728.2714 21713733.8154
+ -2185.6844 -1703.1324
+ 24437578.8764 -5699271.45249 -4401939.69745 24437577.3794 24437580.8584
+ -3432.0954 -2674.3564
+ 19775691.5394 -25494910.81449 -19557432.58248 19775691.3754 19775696.1714
+ 311.7514 242.9254
+ 20513316.8634 -25330498.73649 -19687767.04548 20513316.5884 20513321.5394
+ -848.3314 -661.0354
+ 21750087.4614 -16345702.43049 -12483760.15047 21750086.9764 21750090.9994
+ 2671.2704 2081.5094
+ 22671957.4624 -10534982.34749 -8186999.55946 22671956.8144 22671962.6554
+ -2489.4354 -1939.8204
+ 05 1 20 1 14 30.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23273837.5844 -11534134.14049 -8969441.34946 23273836.1814 23273841.9124
+ 2380.3084 1854.7914
+ 21819798.3474 -16895854.65949 -13141227.38147 21819798.1834 21819803.3624
+ -1751.4844 -1364.7944
+ 21726240.1344 -20484220.82549 -15940857.39647 21726239.8584 21726245.8804
+ -2197.9524 -1712.6914
+ 24457184.7914 -5596239.09549 -4321654.78845 24457183.7714 24457182.9354
+ -3436.7594 -2678.0034
+ 19773975.1004 -25503931.94949 -19564462.02948 19773975.0654 19773979.8094
+ 289.6394 225.6934
+ 20518209.0164 -25304789.65449 -19667733.98748 20518209.0404 20518213.8234
+ -865.5404 -674.4464
+ 21734857.7324 -16425734.83049 -12546123.04947 21734857.1804 21734861.2944
+ 2664.1984 2075.9974
+ 22686177.5784 -10460261.61149 -8128775.62446 22686176.1004 22686181.2484
+ -2491.9404 -1941.7724
+ 05 1 20 1 15 0.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23260260.8304 -11605478.87049 -9025034.61646 23260260.9294 23260265.8004
+ 2376.0234 1851.4494
+ 21829840.1204 -16843083.54849 -13100107.02247 21829839.4584 21829844.7624
+ -1766.8704 -1376.7794
+ 21738822.0814 -20418098.87349 -15889333.83647 21738822.8544 21738829.2654
+ -2210.2274 -1722.2584
+ 24476817.1934 -5493065.94849 -4241260.06245 24476816.3234 24476821.2964
+ -3441.4284 -2681.6304
+ 19772384.0634 -25512289.58149 -19570974.46348 19772384.4834 19772389.0194
+ 267.5164 208.4564
+ 20523199.0294 -25278565.67149 -19647299.71148 20523199.1854 20523204.1654
+ -882.6644 -687.7874
+ 21719669.4304 -16505554.07549 -12608319.85847 21719668.8864 21719672.0434
+ 2657.0564 2070.4364
+ 22700409.0744 -10385466.21349 -8070493.49246 22700408.9974 22700414.8404
+ -2494.4254 -1943.7114
+ 05 1 20 1 15 30.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23246709.6964 -11676695.15749 -9080527.82746 23246708.4864 23246713.0694
+ 2371.7244 1848.0934
+ 21839969.3114 -16789851.70249 -13058627.67747 21839969.8844 21839974.4714
+ -1782.1984 -1388.7254
+ 21751476.5224 -20351609.19949 -15837523.71947 21751475.5284 21751482.1274
+ -2222.4834 -1731.7984
+ 24496475.0144 -5389753.50449 -4160756.91345 24496476.6334 24496479.7434
+ -3446.0734 -2685.2444
+ 19770920.4294 -25519984.12849 -19576970.20348 19770920.3944 19770924.8454
+ 245.4374 191.2514
+ 20528287.4594 -25251828.09749 -19626465.22948 20528287.2134 20528292.0144
+ -899.8014 -701.1424
+ 21704521.5914 -16585158.33449 -12670349.15347 21704520.4494 21704524.0004
+ 2649.8644 2064.8304
+ 22714655.4324 -10310596.81149 -8012153.70446 22714655.5094 22714661.5684
+ -2496.8594 -1945.5884
+ 05 1 20 1 16 0.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23233181.2614 -11747782.92749 -9135920.89546 23233181.6204 23233184.6534
+ 2367.4654 1844.7664
+ 21850187.4084 -16736161.19249 -13016790.90947 21850186.8334 21850191.8614
+ -1797.4334 -1400.5944
+ 21764198.0934 -20284752.23049 -15785427.40347 21764197.6384 21764204.2694
+ -2234.7084 -1741.3294
+ 24516163.7594 -5286302.99649 -4080146.22245 24516164.8304 24516165.4574
+ -3450.6084 -2688.7794
+ 19769582.3424 -25527015.92849 -19582449.52048 19769582.2544 19769586.8234
+ 223.3644 174.0514
+ 20533473.2964 -25224578.68649 -19605231.91748 20533472.7164 20533477.2694
+ -916.7744 -714.3674
+ 21689414.0944 -16664545.46249 -12732209.25747 21689413.9174 21689417.2264
+ 2642.6024 2059.1644
+ 22728917.4514 -10235654.29149 -7953756.92846 22728916.9334 22728921.9634
+ -2499.2954 -1947.5034
+ 05 1 20 1 16 30.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23219677.7454 -11818742.20249 -9191213.80446 23219677.8344 23219683.0444
+ 2363.1894 1841.4404
+ 21860490.6364 -16682014.37249 -12974598.57547 21860490.3884 21860495.3614
+ -1812.5804 -1412.4044
+ 21776990.6444 -20217528.20149 -15733045.09047 21776990.6834 21776996.1804
+ -2246.9384 -1750.8654
+ 24535877.1374 -5182715.61549 -3999428.87445 24535878.1114 24535878.7504
+ -3455.1564 -2692.3324
+ 19768370.2224 -25533385.26149 -19587412.62548 19768370.3084 19768374.6194
+ 201.2894 156.8494
+ 20538755.5434 -25196819.08049 -19583601.04748 20538755.3924 20538759.4724
+ -933.7524 -727.6014
+ 21674349.1654 -16743713.34949 -12793898.50347 21674348.3624 21674352.2564
+ 2635.2544 2053.4444
+ 22743193.6714 -10160639.23349 -7895303.64646 22743190.9324 22743197.0124
+ -2501.6894 -1949.3664
+ 05 1 20 1 17 0.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23206200.6244 -11889572.94049 -9246406.56446 23206199.4284 23206204.1414
+ 2358.8954 1838.0994
+ 21870880.9494 -16627413.06249 -12932052.10547 21870880.8504 21870885.9774
+ -1827.7264 -1424.2074
+ 21789852.9754 -20149937.65649 -15680377.15047 21789852.1174 21789858.2074
+ -2259.1454 -1760.3694
+ 24555612.2234 -5078992.84349 -3918605.96044 24555612.1374 24555614.1734
+ -3459.6784 -2695.8504
+ 19767284.2444 -25539093.02549 -19591860.23048 19767284.1174 19767288.4494
+ 179.2234 139.6554
+ 20544134.6124 -25168550.91449 -19561573.89548 20544134.3294 20544139.0004
+ -950.6934 -740.8014
+ 21659325.8554 -16822659.73149 -12855415.16147 21659325.3174 21659329.1834
+ 2627.8394 2047.6654
+ 22757480.0934 -10085552.43149 -7836794.43246 22757480.0434 22757485.3174
+ -2504.0904 -1951.2504
+ 05 1 20 1 17 30.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23192745.0844 -11960275.11649 -9301499.16546 23192745.3974 23192749.8584
+ 2354.5864 1834.7454
+ 21881357.6074 -16572359.81449 -12889153.46247 21881356.9784 21881362.3114
+ -1842.7414 -1435.9044
+ 21802784.3234 -20081981.17049 -15627424.07747 21802784.7084 21802789.4804
+ -2271.3404 -1769.8734
+ 24575376.8574 -4975136.00749 -3837678.52044 24575377.8784 24575382.5704
+ -3464.1664 -2699.3524
+ 19766323.7964 -25544139.28149 -19595792.36248 19766323.7454 19766328.3954
+ 157.1644 122.4654
+ 20549610.0334 -25139775.69849 -19539151.64648 20549610.0644 20549614.7004
+ -967.5784 -753.9614
+ 21644345.7634 -16901382.23149 -12916757.36247 21644345.5454 21644348.7574
+ 2620.3234 2041.8104
+ 22771782.6324 -10010394.38149 -7778229.73046 22771782.5014 22771787.8244
+ -2506.4594 -1953.0734
+ 05 1 20 1 18 0.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23179316.7014 -12030848.65649 -9356491.51246 23179316.3284 23179320.1804
+ 2350.2984 1831.3944
+ 21891919.6394 -16516856.72849 -12845904.30747 21891919.4274 21891923.4534
+ -1857.7364 -1447.5904
+ 21815786.1394 -20013659.39749 -15574186.34647 21815785.4694 21815791.1834
+ -2283.4994 -1779.3534
+ 24595163.7124 -4871146.33148 -3756647.62044 24595159.3064 24595161.2504
+ -3468.5604 -2702.7774
+ 19765488.9044 -25548524.72249 -19599209.57948 19765489.1164 19765493.6044
+ 135.1834 105.3344
+ 20555182.1564 -25110495.19749 -19516335.66448 20555182.1644 20555186.7044
+ -984.3894 -767.0564
+ 21629408.8534 -16979878.54749 -12977923.30847 21629407.5784 21629411.6064
+ 2612.7494 2035.9024
+ 22786098.1384 -9935165.79049 -7719610.04746 22786098.5564 22786103.0254
+ -2508.7654 -1954.8844
+ 05 1 20 1 18 30.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23165911.8754 -12101293.22149 -9411383.35746 23165910.6164 23165914.8154
+ 2346.0124 1828.0604
+ 21902565.2764 -16460906.08949 -12802306.41747 21902565.8264 21902570.3974
+ -1872.5974 -1459.1614
+ 21828856.5794 -19944972.78749 -15520664.34947 21828856.1404 21828862.6864
+ -2295.6564 -1788.8084
+ 24614974.2564 -4767024.83148 -3675514.03544 24614975.7534
+ -3472.7904 -2706.0694
+ 19764779.8024 -25552250.07149 -19602112.44248 19764779.9754 19764784.7054
+ 113.1804 88.1934
+ 20560850.1204 -25080711.28249 -19493127.41148 20560849.8974 20560854.5444
+ -1001.1194 -780.0904
+ 21614513.7194 -17058146.63949 -13038911.41547 21614513.3714 21614517.5954
+ 2605.1004 2029.9514
+ 22800427.6514 -9859867.20749 -7660935.82746 22800426.9894 22800432.7104
+ -2511.0994 -1956.6974
+ 05 1 20 1 19 0.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23152529.5834 -12171609.04249 -9466174.90046 23152529.3804 23152534.0504
+ 2341.7404 1824.7364
+ 21913298.4404 -16404510.09149 -12758361.47047 21913297.5894 21913302.6514
+ -1887.4214 -1470.7194
+ 21841996.8994 -19875921.93549 -15466858.51647 21841996.1574 21842001.6524
+ -2307.7984 -1798.2854
+ 24634816.3644 -4662773.24049 -3594278.98645 24634817.5134 24634817.9984
+ -3477.2264 -2709.5274
+ 19764196.8944 -25555315.60449 -19604501.15448 19764196.9544 19764201.3864
+ 91.2024 71.0644
+ 20566613.5314 -25050425.33349 -19469527.96548 20566612.9234 20566617.4314
+ -1017.8374 -793.1194
+ 21599664.3274 -17136184.33249 -13099719.99447 21599663.6884 21599667.2854
+ 2597.3864 2023.9364
+ 22814769.8404 -9784499.54049 -7602207.77746 22814769.4744 22814773.7964
+ -2513.3924 -1958.4834
+ 05 1 20 1 19 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23139172.4894 -12241796.07649 -9520866.08246 23139172.3634 23139177.6304
+ 2337.4464 1821.3974
+ 21924113.7174 -16347670.96849 -12714071.25247 21924113.9634 21924118.8164
+ -1902.1224 -1482.1724
+ 21855206.0584 -19806507.20549 -15412769.15747 21855205.4424 21855210.8844
+ -2319.9104 -1807.7214
+ 24654683.3104 -4558392.73249 -3512943.49745 24654679.4774 24654685.2784
+ -3481.4094 -2712.7824
+ 31231.66341
+ -1159.8174
+ 19763738.8754 -25557722.21149 -19606376.42548 19763738.9034 19763743.3834
+ 69.2214 53.9394
+ 20572471.6954 -25019639.18249 -19445538.75548 20572471.5194 20572475.9884
+ -1034.4844 -806.0914
+ 21584858.6184 -17213989.37949 -13160347.29547 21584858.0134 21584861.6754
+ 2589.6014 2017.8694
+ 22829124.7834 -9709063.20549 -7543426.20446 22829123.7454 22829129.5014
+ -2515.6654 -1960.2624
+ 05 1 20 1 20 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23125841.9814 -12311854.10849 -9575456.74646 23125841.9864 23125846.0694
+ 2333.1344 1818.0244
+ 21935014.2864 -16290391.18549 -12669437.64747 21935013.5574 21935019.1004
+ -1916.7814 -1493.5944
+ 21868484.4614 -19736729.20549 -15358396.69647 21868483.6904 21868489.2894
+ -2331.9944 -1817.1344
+ 24674564.8064 -4453884.68549 -3431508.73845 24674567.9174 24674570.7964
+ -3485.6924 -2716.1264
+ 66286.67041
+ -1177.2404
+ 19763406.2014 -25559470.60049 -19607738.79348 19763406.3574 19763410.8154
+ 47.3274 36.8794
+ 20578424.5024 -24988354.81949 -19421161.32348 20578424.6594 20578429.0604
+ -1051.0354 -818.9874
+ 21570097.6284 -17291559.30049 -13220791.38347 21570097.2534 21570100.3524
+ 2581.7404 2011.7504
+ 22843493.3904 -9633558.90249 -7484591.67446 22843492.9224 22843496.7954
+ -2517.9234 -1962.0284
+ 05 1 20 1 20 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23112535.8964 -12381782.86949 -9629946.66346 23112535.5034 23112539.6234
+ 2328.7824 1814.6334
+ 21945997.4564 -16232672.78649 -12624462.27147 21945997.2474 21946002.5034
+ -1931.4024 -1504.9854
+ 21881831.4714 -19666588.66849 -15303741.75547 21881830.7824 21881836.9734
+ -2344.1024 -1826.5744
+ 24694474.0524 -4349250.39448 -3349975.58345 24694478.3704 24694480.1284
+ -3489.9224 -2719.4164
+ 101863.92541 38823.807 4 24817709.063
+ -1194.5894 -913.419
+ 19763198.7314 -25560561.40149 -19608588.76348 19763198.8324 19763203.2794
+ 25.3944 19.7874
+ 20584472.3154 -24956573.63249 -19396396.76048 20584472.4604 20584476.8414
+ -1067.6474 -831.9324
+ 21555380.8494 -17368892.20349 -13281050.78947 21555380.9274 21555384.4344
+ 2573.7704 2005.5364
+ 22857872.5154 -9557987.14849 -7425704.58846 22857872.8864 22857878.8994
+ -2520.1794 -1963.7754
+ 05 1 20 1 21 0.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23099252.8324 -12451582.30949 -9684335.81946 23099252.4914 23099257.2234
+ 2324.4904 1811.2894
+ 21957063.8244 -16174518.18249 -12579146.98847 21957063.6904 21957068.8124
+ -1945.8824 -1516.2804
+ 21895248.0324 -19596086.06449 -15248804.66347 21895246.5854 21895252.7854
+ -2356.1384 -1835.9584
+ 24714414.3714 -4244491.09049 -3268345.03745 24714412.4444 24714414.2354
+ -3494.0874 -2722.6674
+ 19763116.1164 -25560995.21649 -19608926.78948 19763116.0424 19763120.5974
+ 3.5124 2.7394
+ 20590614.3724 -24924297.48549 -19371246.51248 20590614.4434 20590618.7264
+ -1084.1014 -844.7554
+ 21540711.1894 -17445985.81149 -13341123.72447 21540710.6804 21540714.0674
+ 2565.7674 1999.3034
+ 22872267.3494 -9482348.35849 -7366765.28046 22872266.7084 22872271.7164
+ -2522.4274 -1965.5274
+ 05 1 20 1 21 30.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23085994.4144 -12521252.30749 -9738624.11946 23085994.6204 23085999.5894
+ 2320.1544 1807.9044
+ 21968212.8264 -16115929.75449 -12533493.66147 21968212.7314 21968218.0014
+ -1960.3134 -1527.5234
+ 21908732.4004 -19525222.21949 -15193586.13147 21908731.9064 21908738.3664
+ -2368.1894 -1845.3464
+ 24734372.6744 -4139608.28049 -3186618.17444 24734373.7564 24734375.5844
+ -3498.1914 -2725.8674
+ 19763158.2534 -25560772.75549 -19608753.43748 19763158.4134 19763162.9414
+ -18.3814 -14.3224
+ 20596850.2774 -24891528.19849 -19345711.99548 20596850.0164 20596854.6344
+ -1100.4844 -857.5194
+ 21526086.3424 -17522837.66949 -13401008.28047 21526085.8054 21526089.3034
+ 2557.6634 1992.9884
+ 22886672.5404 -9406643.20649 -7307774.26546 22886672.4454 22886678.1054
+ -2524.6314 -1967.2464
+ 05 1 20 1 22 0.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23072763.2844 -12590792.69349 -9792811.43346 23072761.9844 23072766.4714
+ 2315.8864 1804.5824
+ 21979444.5674 -16056909.99549 -12487504.24847 21979443.8174 21979449.2814
+ -1974.6354 -1538.6744
+ 21922286.2944 -19453997.49849 -15138086.36247 21922285.7194 21922291.6654
+ -2380.1914 -1854.6884
+ 24754356.0324 -4034603.18749 -3104796.08044 24754353.4064 24754362.1724
+ -3502.2304 -2729.0004
+ 19763325.4364 -25559894.76649 -19608069.27548 19763325.4684 19763329.8704
+ -40.1714 -31.3044
+ 20603179.6884 -24858267.47449 -19319794.54148 20603179.4434 20603183.8844
+ -1116.8124 -870.2454
+ 21511508.5834 -17599445.37449 -13460702.58447 21511507.9904 21511511.8464
+ 2549.5094 1986.6284
+ 22901091.8964 -9330872.42949 -7248732.10146 22901091.0094 22901095.9174
+ -2526.7874 -1968.9174
+ 05 1 20 1 22 30.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23059553.7334 -12660203.84849 -9846898.02946 23059553.3144 23059557.3944
+ 2311.5744 1801.2324
+ 21990756.5224 -15997461.04349 -12441180.39247 21990756.5464 21990761.1004
+ -1988.8944 -1549.7864
+ 21935908.4944 -19382412.45149 -15082305.81947 21935907.6054 21935914.0914
+ -2392.1964 -1864.0474
+ 24774360.1394 -3929477.24549 -3022879.80644 24774360.4254 24774359.8384
+ -3506.2594 -2732.1564
+ 19763616.9354 -25558362.36149 -19606875.18548 19763617.1624 19763621.5694
+ -61.9974 -48.3104
+ 20609602.3044 -24824517.10349 -19293495.55348 20609602.0684 20609606.4824
+ -1133.1474 -882.9704
+ 21496977.4674 -17675807.07849 -13520205.19847 21496976.7434 21496980.7714
+ 2541.2794 1980.2204
+ 22915523.9144 -9255036.75649 -7189639.37946 22915522.7634 22915528.1704
+ -2528.9234 -1970.5744
+ 05 1 20 1 23 0.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23046369.3954 -12729485.60049 -9900883.79146 23046368.9564 23046373.5944
+ 2307.2644 1797.8664
+ 22002151.4094 -15937585.25349 -12394523.92247 22002150.4864 22002155.1864
+ -2003.0424 -1560.8124
+ 21949599.0934 -19310468.07649 -15026245.28947 21949598.9004 21949604.6724
+ -2404.1524 -1873.3604
+ 24794388.2464 -3824232.01349 -2940870.42345 24794386.2344 24794389.4434
+ -3510.1724 -2735.2094
+ 19764033.0504 -25556175.92449 -19605171.45448 19764033.0584 19764037.7134
+ -83.7654 -65.2714
+ 20616116.9234 -24790279.24949 -19266816.70248 20616116.9254 20616121.7414
+ -1149.3134 -895.5664
+ 21482493.3594 -17751920.25449 -13579514.16547 21482492.9694 21482496.7704
+ 2532.9594 1973.7344
+ 22929967.8314 -9179136.74149 -7130496.51146 22929966.2944 22929971.0864
+ -2531.0754 -1972.2484
+ 05 1 20 1 23 30.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 23033210.1874 -12798637.86649 -9954768.66046 23033210.2984 23033214.9614
+ 2302.8934 1794.4634
+ 22013624.2754 -15877285.18249 -12347536.86247 22013624.6724 22013630.2504
+ -2017.2164 -1571.8574
+ 21963358.3664 -19238164.81949 -14969905.13147 21963357.6484 21963363.4274
+ -2416.1434 -1882.7074
+ 24814439.3274 -3718868.41049 -2858768.89545 24814438.6984 24814440.5764
+ -3514.1664 -2738.3124
+ 19764573.3204 -25553336.62349 -19602959.00448 19764573.3804 19764577.9484
+ -105.5314 -82.2344
+ 20622724.9464 -24755555.26049 -19239759.05148 20622724.6824 20622729.2814
+ -1165.5274 -908.2054
+ 21468057.2404 -17827782.57349 -13638627.65947 21468057.1954 21468060.7444
+ 2524.5284 1967.1624
+ 22944421.8754 -9103172.74749 -7071303.79346 22944421.0024 22944426.5564
+ -2533.1904 -1973.9154
+ 05 1 20 1 24 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23020077.8844 -12867660.28349 -10008552.35346 23020075.9494 23020079.7124
+ 2298.5824 1791.1114
+ 22025180.9054 -15816563.09949 -12300220.94947 22025180.9964 22025185.2194
+ -2031.2194 -1582.7674
+ 21977186.1254 -19165503.39249 -14913285.84947 21977185.2154 21977190.3154
+ -2428.0254 -1891.9694
+ 24834506.7954 -3613387.97948 -2776576.48144 24834508.3184 24834508.4624
+ -3517.8974 -2741.2314
+ 24873554.5834 25158.61249 8452.99243
+ -1315.3124 -1024.9194
+ 19765237.7254 -25549845.14349 -19600238.36548 19765237.8614 19765242.3344
+ -127.2374 -99.1464
+ 20629425.5714 -24720347.23849 -19212324.21948 20629424.6944 20629429.0514
+ -1181.6294 -920.7484
+ 21453669.7784 -17903391.83449 -13697543.96247 21453669.0724 21453672.3874
+ 2516.0854 1960.5894
+ 22958889.1454 -9027145.35949 -7012061.65646 22958888.3634 22958894.7764
+ -2535.2994 -1975.5454
+ 05 1 20 1 24 30.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 23006965.4544 -12936552.94749 -10062234.92546 23006965.1324 23006971.0294
+ 2294.2664 1787.7434
+ 22036815.0064 -15755421.59449 -12252578.21447 22036815.2284 22036820.6024
+ -2045.1574 -1593.6254
+ 21991080.0134 -19092484.33949 -14856387.85447 21991079.4524 21991085.9014
+ -2439.9744 -1901.2784
+ 24854599.1644 -3507792.15058 -2694293.95754 24854598.6224 24854602.2654
+ -3521.6644 -2744.1574
+ 64874.56741 26457.286 3 24877949.816
+ -1332.4074 -1033.899
+ 19766026.1944 -25545702.53749 -19597010.35148 19766026.1334 19766030.4274
+ -148.9394 -116.0604
+ 20636216.1994 -24684656.84749 -19184513.52648 20636216.4474 20636220.7944
+ -1197.6544 -933.2364
+ 21439330.1454 -17978745.90549 -13756261.41147 21439329.3804 21439332.7744
+ 2507.5134 1953.9044
+ 22973370.6574 -8951055.09449 -6952770.56546 22973369.3304 22973372.8934
+ -2537.3774 -1977.1704
+ 05 1 20 1 25 0.0000000 0 9G18G 6G17G 2G 8G26G29G21G10
+ 22993880.6404 -13005315.65049 -10115816.24446 22993880.5604 22993885.0934
+ 2289.9204 1784.3544
+ 22048528.8384 -15693862.86349 -12204610.37547 22048529.0234 22048534.6034
+ -2059.0204 -1604.4374
+ 22005043.3904 -19019108.42849 -14799211.83347 22005042.8994 22005048.1594
+ -2451.8234 -1910.5134
+ 24874718.4834 -3402082.20748 -2611922.58244 24874718.2254 24874725.6874
+ -3525.5904 -2747.2204
+ 105103.18841 26457.286 3 24877949.816
+ -1349.4194 -1033.899
+ 19766937.9814 -25540909.74149 -19593275.70048 19766938.0704 19766942.7344
+ -170.5994 -132.9334
+ 20643100.1764 -24648486.14949 -19156328.55648 20643099.6974 20643104.0924
+ -1213.6104 -945.6684
+ 21425039.6574 -18053842.40949 -13814778.16047 21425039.1864 21425042.6614
+ 2498.8974 1947.1934
+ 22987859.2754 -8874902.76949 -6893431.07946 22987858.6554 22987864.5074
+ -2539.4464 -1978.7894
+ 05 1 20 1 25 30.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 22980822.1774 -13073948.22449 -10169296.17646 22980820.8374 22980824.9104
+ 2285.6014 1780.9834
+ 22060323.0344 -15631889.46549 -12156319.41747 22060322.2444 22060327.8834
+ -2072.7954 -1615.1684
+ 22019073.7344 -18945376.69649 -14741758.56747 22019073.3244 22019078.6204
+ -2463.6574 -1919.7284
+ 24894854.8694 -3296259.52149 -2529463.43744 24894855.4254 24894859.5904
+ -3529.3554 -2750.1514
+ 19767973.9274 -25535467.64049 -19589035.09648 19767973.8604 19767978.4084
+ -192.1994 -149.7654
+ 20650073.9204 -24611836.98949 -19127770.77448 20650073.6144 20650078.2434
+ -1229.5554 -958.0974
+ 21410798.3434 -18128679.17149 -13873092.51747 21410798.2964 21410801.7494
+ 2490.2154 1940.4254
+ 23002364.7494 -8798688.65849 -6834043.45046 23002363.5304 23002367.6424
+ -2541.4434 -1980.3454
+ 05 1 20 1 26 0.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 22967786.0464 -13142450.64049 -10222674.65646 22967784.7994 22967788.6984
+ 2281.2354 1777.5824
+ 22072194.6894 -15569503.91649 -12107707.30547 22072194.2954 22072198.8054
+ -2086.5214 -1625.8574
+ 22033171.8814 -18871289.19449 -14684028.04347 22033171.7614 22033178.1424
+ -2475.5544 -1929.0004
+ 24915012.5964 -3190325.48149 -2446917.48545 24915012.8484 24915017.5854
+ -3533.0974 -2753.0684
+ 19769132.4484 -25529377.08349 -19584289.20048 19769132.7414 19769137.4774
+ -213.8204 -166.6134
+ 20657138.7324 -24574711.15349 -19098841.54748 20657138.4364 20657142.9134
+ -1245.3974 -970.4384
+ 21396606.8594 -18203253.56249 -13931202.41347 21396607.0394 21396610.6574
+ 2481.4004 1933.5584
+ 23016877.9074 -8722413.12249 -6774607.98446 23016877.2454 23016882.8984
+ -2543.5104 -1981.9554
+ 05 1 20 1 26 30.0000000 0 8G18G 6G17G 2G26G29G21G10
+ 22954775.0444 -13210823.54049 -10275952.22147 22954775.0394 22954778.3074
+ 2276.8984 1774.2094
+ 22084143.9554 -15506708.64749 -12058775.92547 22084143.5304 22084148.9764
+ -2100.1134 -1636.4604
+ 22047338.6044 -18796847.20949 -14626021.33647 22047337.8624 22047342.8204
+ -2487.3484 -1938.1904
+ 24935196.9924 -3084281.58649 -2364285.94344 24935195.4864 24935196.9014
+ -3536.5714 -2755.7684
+ 19770415.1544 -25522639.29649 -19579038.97148 19770414.7994 19770419.4504
+ -235.3874 -183.4184
+ 20664293.4714 -24537110.58649 -19069542.40648 20664293.3894 20664298.0214
+ -1261.2274 -982.7734
+ 21382466.3044 -18277563.25549 -13989106.06747 21382466.4024 21382469.8414
+ 2472.5444 1926.6644
+ 23031403.6524 -8646076.68949 -6715125.03946 23031403.2984 23031408.7674
+ -2545.5704 -1983.5494
+ 05 1 20 1 27 0.0000000 0 7G18G 6G17G26G29G21G10
+ 22941789.6734 -13279066.08649 -10329128.22647 22941788.9584 22941791.9034
+ 2272.5964 1770.8534
+ 22096171.4034 -15443506.08649 -12009527.19047 22096170.9394 22096175.8364
+ -2113.6494 -1647.0014
+ 22061572.2074 -18722051.07549 -14567738.63847 22061570.5954 22061576.5694
+ -2499.0814 -1947.3364
+ 19771820.0284 -25515255.14549 -19573285.08548 19771820.2024 19771824.4814
+ -256.9224 -200.2004
+ 20671539.1124 -24499037.33649 -19039874.93348 20671538.8994 20671543.2364
+ -1276.9504 -995.0314
+ 21368377.0834 -18351606.31049 -14046801.94547 21368376.5214 21368379.9344
+ 2463.6294 1919.7074
+ 23045942.4084 -8569680.08549 -6655595.22246 23045942.0284 23045947.2014
+ -2547.5804 -1985.1374
+ 05 1 20 1 27 30.0000000 0 7G18G 6G17G26G29G21G10
+ 22928826.1144 -13347178.38549 -10382202.72946 22928825.9744 22928830.7394
+ 2268.2314 1767.4544
+ 22108274.9804 -15379898.71049 -11959962.99047 22108274.4464 22108279.8784
+ -2127.0894 -1657.4704
+ 22075870.6994 -18646901.82249 -14509180.78347 22075870.5864 22075877.7434
+ -2510.8544 -1956.5164
+ 19773348.2374 -25507225.90349 -19567028.52548 19773348.1314 19773352.3634
+ -278.3864 -216.9274
+ 20678873.6384 -24460493.13349 -19009840.48848 20678873.7114 20678877.7154
+ -1292.6174 -1007.2384
+ 21354338.5714 -18425380.41049 -14104288.25147 21354337.7844 21354341.5344
+ 2454.6374 1912.7024
+ 23060492.7044 -8493223.90749 -6596018.98646 23060491.9414 23060496.0374
+ -2549.5424 -1986.6584
+ 05 1 20 1 28 0.0000000 0 7G18G 6G17G26G29G21G10
+ 22915890.2754 -13415160.23049 -10435175.59346 22915889.8104 22915894.0814
+ 2263.8904 1764.0664
+ 22120455.0644 -15315889.11449 -11910085.39747 22120455.3964 22120460.4834
+ -2140.4704 -1667.8964
+ 22090238.5934 -18571400.21249 -14450348.35646 22090237.8594 22090244.3784
+ -2522.6014 -1965.6654
+ 19774998.3224 -25498552.47349 -19560269.99948 19774998.4914 19775002.7984
+ -299.8534 -233.6554
+ 20686297.2054 -24421480.13049 -18979440.74648 20686297.3404 20686301.4454
+ -1308.2004 -1019.3774
+ 21340351.2324 -18498883.24349 -14161563.17747 21340350.7684 21340354.3984
+ 2445.5384 1905.6164
+ 23075051.6674 -8416708.57449 -6536396.66546 23075050.8394 23075055.5294
+ -2551.4884 -1988.1774
+ 05 1 20 1 28 30.0000000 0 7G18G 6G17G26G29G21G10
+ 22902977.9404 -13483011.43249 -10488046.64346 22902977.8764 22902982.2114
+ 2259.5224 1760.6624
+ 22132712.0314 -15251479.68949 -11859896.22147 22132711.7814 22132716.7874
+ -2153.7424 -1678.2484
+ 22104673.8754 -18495546.80049 -14391241.78847 22104672.9034 22104678.9984
+ -2534.3634 -1974.8284
+ 19776771.2534 -25489236.23649 -19553010.58348 19776771.3054 19776775.8144
+ -321.2624 -250.3374
+ 20693810.3294 -24382000.06949 -18948677.05748 20693810.0484 20693814.4224
+ -1323.7304 -1031.4794
+ 21326416.6034 -18572112.23349 -14218624.72648 21326415.8624 21326419.4544
+ 2436.3564 1898.4574
+ 23089622.1654 -8340134.63649 -6476728.65546 23089622.5684 23089628.0574
+ -2553.3954 -1989.6664
+ 05 1 20 1 29 0.0000000 0 7G18G 6G17G26G29G21G10
+ 22890090.5814 -13550731.97349 -10540815.89646 22890090.8724 22890094.6844
+ 2255.1964 1757.3074
+ 22145044.0544 -15186673.12849 -11809397.61347 22145044.6434 22145049.5154
+ -2166.9494 -1688.5274
+ 22119174.6114 -18419342.57249 -14331861.86746 22119174.3164 22119179.5104
+ -2545.9924 -1983.8854
+ 19778666.1124 -25479278.09849 -19545250.99148 19778666.2494 19778670.8534
+ -342.6144 -266.9714
+ 20701410.9564 -24342054.88549 -18917550.94148 20701411.2154 20701415.9544
+ -1339.2354 -1043.5574
+ 21312533.0474 -18645065.08649 -14275471.10248 21312533.1134 21312536.9874
+ 2427.1544 1891.2944
+ 23104204.9044 -8263502.50649 -6417015.31646 23104204.4014 23104209.9694
+ -2555.3804 -1991.2094
+ 05 1 20 1 29 30.0000000 0 7G18G 6G17G26G29G21G10
+ 22877228.6484 -13618322.00649 -10593483.44146 22877229.2654 22877233.3274
+ 2250.8354 1753.8924
+ 22157452.3164 -15121471.90449 -11758591.46147 22157451.8414 22157456.9754
+ -2180.0464 -1698.7394
+ 22133741.6714 -18342788.51949 -14272209.36146 22133741.6594 22133748.3094
+ -2557.6544 -1992.9834
+ 19780682.8544 -25468679.35449 -19536992.22248 19780683.0264 19780687.6014
+ -363.9544 -283.6004
+ 20709100.4604 -24301646.54849 -18886063.92648 20709100.5704 20709105.1244
+ -1354.6214 -1055.5474
+ 21298704.4234 -18717739.24549 -14332100.30948 21298703.3824 21298707.4074
+ 2417.8234 1884.0224
+ 23118800.3274 -8186812.69249 -6357257.03146 23118798.5784 23118804.3884
+ -2557.3014 -1992.7074
+ 05 1 20 1 30 0.0000000 0 8G 9G18G 6G17G26G29G21G10
+ -101488.07941 -46688.677 3 24638780.998
+ 3681.7034 2869.662
+ 22864393.5334 -13685781.20049 -10646049.03947 22864392.4414 22864395.7784
+ 2246.4564 1750.4854
+ 22169933.4974 -15055878.59549 -11707479.80447 22169933.7284 22169938.7614
+ -2193.0944 -1708.9134
+ 22148376.7194 -18265885.15849 -14212284.68046 22148375.8084 22148382.3104
+ -2569.2824 -2002.0354
+ 19782821.6804 -25457440.90249 -19528234.98548 19782821.6134 19782826.3384
+ -385.2554 -300.1994
+ 20716878.1754 -24260777.28249 -18854217.74248 20716877.8674 20716882.3994
+ -1369.9384 -1067.4834
+ 21284927.8134 -18790132.89949 -14388510.94547 21284927.4334 21284930.9694
+ 2408.4084 1876.6834
+ 23133403.1894 -8110065.59649 -6297454.06746 23133403.3134 23133408.8744
+ -2559.1784 -1994.1594
+ 05 1 20 1 30 30.0000000 0 8G 9G18G 6G17G26G29G21G10
+ 24614951.5424 -211975.29949 -144257.49145
+ 3683.9984 2870.6724
+ 22851581.2804 -13753109.63849 -10698512.74647 22851580.6044 22851584.1114
+ 2242.1024 1747.0984
+ 22182489.5664 -14989895.62649 -11656064.49747 22182489.6304 22182495.5794
+ -2206.0454 -1718.9984
+ 22163077.6264 -18188633.26349 -14152088.41146 22163076.9724 22163082.0154
+ -2580.9024 -2011.0994
+ 19785081.9774 -25445564.50949 -19518980.64848 19785081.6324 19785086.3574
+ -406.5184 -316.7644
+ 20724742.9154 -24219448.84449 -18822013.76748 20724742.6674 20724747.0034
+ -1385.2404 -1079.4054
+ 21271205.6354 -18862243.66649 -14444701.15648 21271205.3044 21271208.7274
+ 2398.9394 1869.3074
+ 23148020.0694 -8033261.77449 -6237606.94546 23148018.5644 23148023.2994
+ -2561.0724 -1995.6414
+ 05 1 20 1 31 0.0000000 0 8G 9G18G 6G17G26G29G21G10
+ 24593916.3034 -322528.50149 -230402.76545 24593916.5974
+ 3686.2244 2872.3824
+ 22838793.7704 -13820307.05449 -10750874.36247 22838793.3434 22838797.1134
+ 2237.7484 1743.6934
+ 22195119.4154 -14923525.63149 -11604347.62647 22195120.1624 22195124.9824
+ -2218.8934 -1729.0124
+ 22177844.0924 -18111033.68549 -14091621.23646 22177843.8494 22177849.5154
+ -2592.4704 -2020.1084
+ 19787463.0934 -25433051.08449 -19509229.91948 19787462.9534 19787467.3054
+ -427.7294 -333.2954
+ 20732694.2814 -24177663.52149 -18789453.76948 20732694.1744 20732698.4544
+ -1400.4124 -1091.2314
+ 21257537.5104 -18934069.00049 -14500668.94048 21257537.2924 21257540.8204
+ 2389.3964 1861.8674
+ 23162644.9924 -7956401.67549 -6177715.95946 23162644.8384 23162649.5354
+ -2562.9254 -1997.0764
+ 05 1 20 1 31 30.0000000 0 8G 9G18G 6G17G26G29G21G10
+ 24572862.5514 -433144.72549 -316597.11645 24572863.8614 24572867.2454
+ 3688.1844 2873.9094
+ 22826032.0574 -13887373.74249 -10803134.10547 22826031.9224 22826034.1924
+ 2233.3664 1740.2864
+ 22207823.2284 -14856771.34649 -11552331.29647 22207822.1784 22207827.7414
+ -2231.6544 -1738.9514
+ 22192675.3994 -18033087.27149 -14030883.80846 22192675.6384 22192682.3404
+ -2603.9814 -2029.0754
+ 19789964.8864 -25419901.98849 -19498983.86148 19789965.0714 19789969.5764
+ -448.9004 -349.7904
+ 20740732.3644 -24135423.15349 -18756539.19348 20740732.1834 20740736.4114
+ -1415.5724 -1103.0424
+ 21243924.2774 -19005606.69449 -14556412.58748 21243924.1534 21243927.6594
+ 2379.7734 1854.3704
+ 23177281.3534 -7879485.97849 -6117781.62446 23177280.8524 23177286.1874
+ -2564.7684 -1998.5434
+ 05 1 20 1 32 0.0000000 0 8G 9G18G 6G17G26G29G21G10
+ 24551799.4004 -543821.39349 -402838.55845 24551797.5884 24551806.1694
+ 3690.1844 2875.4644
+ 22813293.7164 -13954309.34649 -10855291.71347 22813293.1844 22813297.6044
+ 2228.9954 1736.8814
+ 22220597.9514 -14789635.11249 -11500017.34947 22220598.4844 22220603.1854
+ -2244.3644 -1748.8584
+ 22207576.2704 -17954795.44049 -13969877.23946 22207574.8864 22207580.6844
+ -2615.5134 -2038.0654
+ 19792587.8354 -25406118.28849 -19488243.31248 19792587.9594 19792592.4744
+ -470.0214 -366.2514
+ 20748856.6224 -24092729.55549 -18723271.45748 20748856.5694 20748860.9044
+ -1430.6374 -1114.7844
+ 21230366.7964 -19076854.63149 -14611930.46248 21230366.5204 21230369.8934
+ 2370.0534 1846.7934
+ 23191929.5694 -7802514.98949 -6057804.21146 23191928.9614 23191933.4794
+ -2566.5994 -1999.9584
+ 05 1 20 1 32 30.0000000 0 8G 9G18G 6G17G26G29G21G10
+ 24530728.7094 -654555.26249 -489124.66245 24530728.8464 24530734.6414
+ 3692.0824 2876.9444
+ 22800580.4874 -14021113.79249 -10907347.11247 22800580.6134 22800584.2464
+ 2224.6414 1733.4824
+ 22233445.8074 -14722119.82149 -11447408.03947 22233446.0194 22233451.1174
+ -2256.9314 -1758.6444
+ 22222538.8574 -17876158.37049 -13908601.65546 22222538.5214 22222545.3744
+ -2627.0404 -2047.0264
+ 19795331.4534 -25391701.62049 -19477009.54348 19795331.1794 19795335.9364
+ -491.1134 -382.6854
+ 20757066.7104 -24049585.08049 -18689652.38348 20757066.4954 20757070.7644
+ -1445.6184 -1126.4574
+ 21216864.7124 -19147809.81249 -14667220.20748 21216864.1004 21216867.5394
+ 2360.2774 1839.1794
+ 23206586.2544 -7725489.21449 -5997784.13646 23206585.8474 23206591.3954
+ -2568.4474 -2001.3824
+ 05 1 20 1 33 0.0000000 0 8G 9G18G 6G17G26G29G21G10
+ 24509648.5594 -765343.45849 -575453.06745 24509647.5334 24509653.1744
+ 3693.8004 2878.2824
+ 22787893.7774 -14087786.84149 -10959300.12547 22787893.2814 22787897.1464
+ 2220.2304 1730.0454
+ 22246366.1184 -14654228.02549 -11394505.34647 22246365.6584 22246370.4784
+ -2269.4404 -1768.3984
+ 22237569.6244 -17797177.36049 -13847057.99246 22237568.2974 22237574.4394
+ -2638.4854 -2055.9694
+ 19798194.6864 -25376653.31149 -19465283.58848 19798194.9974 19798199.7104
+ -512.1454 -399.0754
+ 20765362.2194 -24005991.87449 -18655683.65348 20765362.0334 20765366.6954
+ -1460.5334 -1138.0784
+ 21203418.5044 -19218470.56549 -14722280.53648 21203417.9164 21203421.0824
+ 2350.4074 1831.4844
+ 23221254.4074 -7648408.94249 -5937721.59446 23221253.9224 23221258.5864
+ -2570.2274 -2002.7854
+ 05 1 20 1 33 30.0000000 0 8G 9G18G 6G17G26G29G21G10
+ 24488557.0004 -876183.10949 -661821.50445 24488556.1824 24488561.8094
+ 3695.4684 2879.5814
+ 22775231.3274 -14154328.65649 -11011150.89246 22775230.4444 22775233.9424
+ 2215.8634 1726.6454
+ 22259355.9204 -14585962.28149 -11341311.26547 22259355.8454 22259360.9564
+ -2281.8734 -1778.0894
+ 22252663.1454 -17717852.79549 -13785246.69046 22252663.3684 22252669.3764
+ -2649.9174 -2064.8734
+ 19801178.0704 -25360974.78549 -19453066.55348 19801178.3404 19801182.9914
+ -533.1184 -415.4204
+ 20773743.1144 -23961951.73349 -18621366.65348 20773742.6694 20773746.9504
+ -1475.4164 -1149.6774
+ 21190028.6434 -19288834.10449 -14777109.26648 21190028.1514 21190031.7044
+ 2340.4634 1823.7384
+ 23235932.3054 -7571274.68249 -5877616.96846 23235931.2824 23235937.7324
+ -2572.0604 -2004.1994
+ 05 1 20 1 34 0.0000000 0 8G 9G18G 6G17G26G29G21G10
+ 24467456.8044 -987071.29749 -748227.82745 24467454.7294 24467460.3694
+ 3697.0424 2880.8134
+ 22762592.7324 -14220738.92749 -11062899.14347 22762592.6794 22762597.4494
+ 2211.5124 1723.2554
+ 22272417.9784 -14517325.20649 -11287827.82247 22272417.2404 22272422.0634
+ -2294.1704 -1787.6604
+ 22267824.8234 -17638186.01349 -13723168.71046 22267823.5804 22267829.2254
+ -2661.2574 -2073.6974
+ 19804282.0754 -25344667.05249 -19440359.23148 19804282.0064 19804286.2384
+ -554.0744 -431.7434
+ 20782208.5074 -23917466.64749 -18586702.95248 20782208.2484 20782212.2494
+ -1490.1864 -1161.1844
+ 21176695.3804 -19358898.17949 -14831704.63848 21176695.2104 21176699.1004
+ 2330.4664 1815.9514
+ 23250621.4204 -7494086.83249 -5817470.58546 23250620.3344 23250625.8374
+ -2573.7874 -2005.5444
+ 05 1 20 1 34 30.0000000 0 8G 9G18G 6G17G26G29G21G10
+ 24446345.1514 -1098005.04249 -834669.64645 24446343.2754 24446347.9584
+ 3698.4544 2881.9144
+ 22749981.2354 -14287017.62249 -11114544.89147 22749980.6974 22749984.5144
+ 2207.1014 1719.8294
+ 22285548.3484 -14448319.53749 -11234057.18747 22285548.9244 22285553.6314
+ -2306.4364 -1797.2224
+ 22283050.2604 -17558177.82349 -13660824.69546 22283049.0254 22283053.8544
+ -2672.6164 -2082.5584
+ 19807504.2004 -25327731.87449 -19427162.98448 19807504.3694 19807508.9824
+ -574.9584 -448.0184
+ 20790757.2614 -23872538.81649 -18551694.24948 20790757.1854 20790761.5754
+ -1504.9174 -1172.6624
+ 21163420.0194 -19428660.66449 -14886065.01248 21163419.7654 21163423.6984
+ 2320.3774 1808.0904
+ 23265319.5364 -7416846.04649 -5757282.96346 23265319.1194 23265323.8254
+ -2575.5644 -2006.9254
+ 05 1 20 1 35 0.0000000 0 8G 9G18G 6G17G26G29G21G10
+ 24425226.8724 -1208981.31949 -921144.60945 24425227.1154 24425230.1664
+ 3699.8694 2883.0144
+ 22737394.0634 -14353164.71349 -11166088.06047 22737393.6114 22737397.5084
+ 2202.7054 1716.4034
+ 22298749.4644 -14378947.98949 -11180001.42947 22298749.5344 22298754.2304
+ -2318.6074 -1806.7164
+ 22298339.0114 -17477829.44849 -13598215.57646 22298339.0614 22298343.9954
+ -2683.9504 -2091.3924
+ 19810846.6034 -25310170.53849 -19413478.82248 19810846.4244 19810850.8664
+ -595.8114 -464.2674
+ 20799391.3504 -23827170.36949 -18516342.20548 20799390.8254 20799395.2674
+ -1519.5704 -1184.0774
+ 21150202.8184 -19498119.01949 -14940188.39948 21150202.1804 21150205.8474
+ 2310.1754 1800.1394
+ 23280028.4764 -7339552.72849 -5697054.41946 23280026.8414 23280032.1284
+ -2577.3404 -2008.3124
+ 05 1 20 1 35 30.0000000 0 8G 9G18G 6G17G26G29G21G10
+ 24404100.9524 -1319997.17949 -1007650.41345 24404099.5754 24404105.5814
+ 3701.1304 2883.9934
+ 22724830.4794 -14419179.88549 -11217528.46047 22724830.6764 22724835.1924
+ 2198.3064 1712.9664
+ 22312019.6344 -14309213.13749 -11125662.58547 22312019.8204 22312025.0054
+ -2330.6354 -1816.0864
+ 22313693.8144 -17397141.80749 -13535342.12646 22313693.5934 22313699.7284
+ -2695.1484 -2100.1174
+ 19814307.0804 -25291984.76249 -19399308.08748 19814307.0544 19814311.3854
+ -616.5914 -480.4634
+ 20808107.0294 -23781363.48549 -18480648.52648 20808107.4974 20808111.9644
+ -1534.1364 -1195.4334
+ 21137043.5514 -19567270.91149 -14994072.98548 21137043.0054 21137046.3704
+ 2299.9054 1792.1294
+ 23294746.4074 -7262207.15849 -5636785.14946 23294745.1374 23294751.3694
+ -2579.0284 -2009.6244
+ 05 1 20 1 36 0.0000000 0 8G 9G18G 6G17G26G29G21G10
+ 24382967.4604 -1431049.76649 -1094184.83845 24382966.4844 24382974.9334
+ 3702.3334 2884.9314
+ 22712294.1384 -14485063.20449 -11268866.12447 22712293.8174 22712298.0464
+ 2193.9324 1709.5594
+ 22325358.3334 -14239117.53549 -11071042.64247 22325358.3404 22325362.7144
+ -2342.6374 -1825.4244
+ 22329112.5084 -17316115.53549 -13472204.77046 22329111.7374 22329117.9414
+ -2706.4834 -2108.9364
+ 19817886.4034 -25273175.76949 -19384651.72648 19817886.3104 19817890.6674
+ -637.3284 -496.6174
+ 20816907.2454 -23735120.01749 -18444614.66048 20816907.1354 20816911.4144
+ -1548.6574 -1206.7434
+ 21123943.3894 -19636114.06749 -15047716.99448 21123943.0764 21123946.1584
+ 2289.6024 1784.1054
+ 23309473.5154 -7184809.59649 -5576475.37046 23309472.8514 23309477.9304
+ -2580.7984 -2010.9974
+ 05 1 20 1 36 30.0000000 0 9G 9G18G 6G17G22G26G29G21G10
+ 24361830.6884 -1542136.04649 -1180745.54845 24361829.2734 24361833.9394
+ 3703.3614 2885.7344
+ 22699782.6824 -14550814.88449 -11320101.19347 22699781.7334 22699785.7034
+ 2189.5174 1706.1224
+ 22338764.6704 -14168664.15549 -11016143.90247 22338764.8544 22338770.2424
+ -2354.5504 -1834.7154
+ 22344594.0434 -17234751.46349 -13408804.19546 22344593.9094 22344601.5634
+ -2717.7834 -2117.7434
+ -184511.94741 -125942.721 5 25230471.580
+ 2657.9454 2072.680
+ 19821583.0004 -25253745.35349 -19369511.14548 19821583.4454 19821588.0504
+ -658.0654 -512.7764
+ 20825789.7534 -23688442.33249 -18408242.43748 20825789.6264 20825793.9904
+ -1563.1194 -1218.0144
+ 21110902.6274 -19704646.05049 -15101118.54448 21110901.7984 21110904.7414
+ 2279.1614 1775.9694
+ 23324213.5964 -7107360.46349 -5516125.39046 23324211.9354 23324216.6964
+ -2582.5104 -2012.3554
+ 05 1 20 1 37 0.0000000 0 9G 9G18G 6G17G22G26G29G21G10
+ 24340683.3654 -1653253.26649 -1267330.39345 24340683.5774 24340687.2384
+ 3704.3884 2886.5374
+ 22687295.9514 -14616434.29449 -11371233.20547 22687295.0284 22687298.4164
+ 2185.1204 1702.6984
+ 22352239.5284 -14097855.39749 -10960968.24947 22352238.9634 22352245.0634
+ -2366.3304 -1843.8904
+ 22360142.0344 -17153050.56849 -13345141.13446 22360141.3354 22360148.0174
+ -2729.0834 -2126.5654
+ 25214541.5724 -264224.01049 -191162.66445 25214539.3754
+ 2656.1884 2069.7544
+ 19825399.3564 -25233694.69849 -19353887.25748 19825399.3844 19825403.6424
+ -678.6794 -528.8394
+ 20834754.7824 -23641332.42149 -18371533.41148 20834754.3734 20834758.6094
+ -1577.4774 -1229.2014
+ 21097920.8144 -19772864.17149 -15154275.52048 21097920.1284 21097923.6154
+ 2268.6784 1767.8034
+ 23338959.2554 -7029860.23749 -5455735.58946 23338958.7814 23338964.2614
+ -2584.2094 -2013.6704
+ 05 1 20 1 37 30.0000000 0 9G 9G18G 6G17G22G26G29G21G10
+ 24319534.3034 -1764398.01849 -1353936.65245 24319533.3684 24319537.2514
+ 3705.2534 2887.2084
+ 22674832.5384 -14681921.51549 -11422262.18847 22674832.9774 22674837.3884
+ 2180.6974 1699.2424
+ 22365780.9424 -14026694.20749 -10905517.97247 22365780.5904 22365786.3554
+ -2378.0494 -1853.0344
+ 22375752.6304 -17071014.05449 -13281216.55746 22375752.0434 22375758.2784
+ -2740.1824 -2135.2144
+ 25199381.8614 -343884.73649 -253235.86045 25199380.1904 25199380.8764
+ 2654.4764 2068.4224
+ 19829332.5324 -25213025.68749 -19337781.53448 19829332.5794 19829336.8214
+ -699.2554 -544.8764
+ 20843800.9274 -23593792.32049 -18334489.17548 20843800.9154 20843805.5084
+ -1591.7714 -1240.3404
+ 21084999.4284 -19840766.57749 -15207186.48548 21084998.5894 21085002.0684
+ 2258.1194 1759.5744
+ 23353719.5924 -6952309.26249 -5395306.28746 23353718.5714 23353721.6524
+ -2585.8444 -2014.9444
+ 05 1 20 1 38 0.0000000 0 9G 9G18G 6G17G22G26G29G21G10
+ 24298376.7754 -1875567.32149 -1440561.98345 24298378.0054 24298383.4404
+ 3706.0434 2887.8214
+ 22662397.4744 -14747276.45349 -11473188.12347 22662396.7404 22662399.4674
+ 2176.3004 1695.8194
+ 22379389.6714 -13955183.27549 -10849795.17847 22379389.5754 22379394.2004
+ -2389.6414 -1862.0504
+ 22391427.2774 -16988643.04849 -13217031.22246 22391425.9974 22391433.4694
+ -2751.2614 -2143.8394
+ 25184230.3524 -423494.28249 -315269.24645 25184229.8394 25184235.3334
+ 2652.8564 2067.1594
+ 19833382.6754 -25191739.82749 -19321195.15048 19833382.7904 19833387.3884
+ -719.7874 -560.8744
+ 20852929.1924 -23545824.31249 -18297111.50648 20852929.1084 20852933.3104
+ -1606.0064 -1251.4344
+ 21072138.4354 -19908350.90649 -15259849.60648 21072137.9804 21072141.3474
+ 2247.4584 1751.2664
+ 23368484.1414 -6874708.30149 -5334838.01246 23368484.5654 23368489.2404
+ -2587.5104 -2016.2374
+ 05 1 20 1 38 30.0000000 0 9G 9G18G 6G17G22G26G29G21G10
+ 24277220.1124 -1986758.18349 -1527204.13445 24277218.9894 24277225.7804
+ 3706.7094 2888.3454
+ 22649985.4584 -14812498.78249 -11524010.71547 22649984.9124 22649988.8634
+ 2171.8854 1692.3814
+ 22393064.0804 -13883325.28649 -10793801.93647 22393063.4274 22393068.6504
+ -2401.1394 -1871.0144
+ 22407166.3414 -16905938.29749 -13152585.81246 22407165.3254 22407170.8164
+ -2762.3634 -2152.4844
+ 25169092.5584 -503052.45049 -377262.61745 25169092.7564 25169093.4744
+ 2651.0394 2065.7434
+ 19837550.6424 -25169838.73449 -19304129.35848 19837550.4924 19837555.0214
+ -740.2724 -576.8364
+ 20862138.0084 -23497430.62849 -18259402.14248 20862137.8174 20862142.5854
+ -1620.1884 -1262.4814
+ 21059338.2074 -19975614.68049 -15312262.93948 21059337.9274 21059341.6434
+ 2236.7594 1742.9284
+ 23383260.3484 -6797057.52949 -5274330.91746 23383260.2284 23383264.8424
+ -2589.1844 -2017.5494
+ 05 1 20 1 39 0.0000000 0 9G 9G18G 6G17G22G26G29G21G10
+ 24256055.2124 -2097967.70549 -1613860.88645 24256055.4374 24256061.3074
+ 3707.2554 2888.7644
+ 22637599.8524 -14877588.71849 -11574730.13547 22637598.7294 22637602.4284
+ 2167.4604 1688.9254
+ 22406802.8914 -13811123.00249 -10737540.42247 22406802.7434 22406808.2804
+ -2412.5804 -1879.9384
+ 22422967.1594 -16822900.90249 -13087881.18046 22422966.8404 22422972.7364
+ -2773.5064 -2161.1804
+ 25153962.6734 -582559.06449 -439215.76645 25153960.5934 25153963.9794
+ 2649.4444 2064.5044
+ 19841834.8614 -25147323.99049 -19286585.39948 19841835.0944 19841839.4124
+ -760.7244 -592.7754
+ 20871428.0634 -23448613.19749 -18221362.58648 20871427.6644 20871432.1394
+ -1634.2774 -1273.4624
+ 21046599.8504 -20042555.47449 -15364424.59448 21046599.3954 21046603.2224
+ 2225.9454 1734.5024
+ 23398047.7994 -6719357.23749 -5213785.24546 23398046.0734 23398051.7924
+ -2590.8274 -2018.8294
+ 05 1 20 1 39 30.0000000 0 9G 9G18G 6G17G22G26G29G21G10
+ 24234892.5724 -2209192.75049 -1700529.73245 24234891.6694 24234895.8004
+ 3707.7304 2889.1404
+ 22625238.7644 -14942545.98449 -11625346.17847 22625238.1954 22625241.4474
+ 2163.0084 1685.4634
+ 22420606.7864 -13738579.13749 -10681012.74647 22420606.8654 22420612.2754
+ -2423.9174 -1888.7554
+ 22438832.7904 -16739532.17849 -13022918.55046 22438830.8554 22438837.0614
+ -2784.4404 -2169.6894
+ 25138839.5064 -662014.19149 -501128.76845 25138840.8344 25138845.6334
+ 2647.6474 2063.1004
+ 19846235.9054 -25124197.35549 -19268564.64048 19846235.8384 19846240.1624
+ -781.0744 -608.6284
+ 20880797.3614 -23399374.24749 -18182994.57248 20880797.6834 20880802.2194
+ -1648.2834 -1284.3734
+ 21033923.5234 -20109170.89949 -15416332.71748 21033923.0354 21033926.6264
+ 2215.0574 1726.0234
+ 23412841.5144 -6641607.76849 -5153201.24446 23412841.5984 23412847.9564
+ -2592.4464 -2020.0994
+ 05 1 20 1 40 0.0000000 0 9G 9G18G 6G17G22G26G29G21G10
+ 24213723.6654 -2320430.48249 -1787208.45045 24213723.5194 24213729.1074
+ 3708.0944 2889.4214
+ 22612903.0414 -15007370.65249 -11675858.91447 22612902.4294 22612905.9644
+ 2158.5954 1682.0224
+ 22434476.5274 -13665696.54449 -10624221.12047 22434476.6694 22434481.6504
+ -2435.1974 -1897.5594
+ 22454759.9154 -16655833.24349 -12957698.60846 22454760.2154 22454764.7204
+ -2795.5134 -2178.3274
+ 25123734.6974 -741417.97649 -563001.82245 25123733.8564 25123734.8804
+ 2645.9494 2061.7754
+ 19850752.5304 -25100460.34949 -19250068.27348 19850752.7494 19850757.3224
+ -801.3754 -624.4504
+ 20890247.5484 -23349716.03649 -18144299.86148 20890247.3514 20890251.5984
+ -1662.1794 -1295.2024
+ 21021309.7204 -20175458.50049 -15467985.38848 21021309.0784 21021312.6624
+ 2204.1284 1717.5014
+ 23427646.0514 -6563809.69749 -5092579.37246 23427646.6024 23427650.5614
+ -2594.0834 -2021.3794
+ 05 1 20 1 40 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 24192553.4714 -2431677.58249 -1873894.47745 24192554.2144 24192557.3494
+ 3708.3184 2889.5954
+ 22600591.9934 -15072062.63849 -11726268.23747 22600591.1124 22600595.6584
+ 2154.1474 1678.5534
+ 24462627.8774 -290840.64049 -206305.11545 24462629.6174
+ 3565.1504 2778.0414
+ 22448409.0904 -13592477.93949 -10567167.65647 22448409.3124 22448415.1764
+ -2446.3234 -1906.2204
+ 22470749.2424 -16571804.84949 -12892221.98446 22470748.9394 22470755.7764
+ -2806.4134 -2186.8084
+ 25108629.9984 -820770.29149 -624834.74945 25108630.5034 25108632.9474
+ 2644.1894 2060.4054
+ 19855385.2284 -25076114.88949 -19231097.78748 19855385.4414 19855390.1964
+ -821.6514 -640.2484
+ 20899776.2714 -23299640.69149 -18105280.10648 20899776.1934 20899780.4044
+ -1676.1004 -1306.0514
+ 21008758.7224 -20241415.91149 -15519380.76448 21008757.7314 21008761.0844
+ 2193.0534 1708.8694
+ 23442461.1444 -6485963.26749 -5031919.84146 23442459.7264 23442465.7924
+ -2595.6954 -2022.6204
+ 05 1 20 1 41 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 24171385.3224 -2542931.11549 -1960585.49745 24171384.5294 24171387.3884
+ 3708.5394 2889.7684
+ 22588307.3534 -15136621.61149 -11776573.93047 22588306.8874 22588310.3644
+ 2149.7324 1675.1244
+ 24442276.0784 -397792.64649 -289644.32945 24442273.1204 24442277.6114
+ 3564.9234 2777.8644
+ 22462405.4324 -13518925.94749 -10509854.42547 22462405.9034 22462411.4664
+ -2457.3774 -1914.8344
+ 22486803.8094 -16487447.97549 -12826489.33646 22486801.9764 22486806.7334
+ -2817.3824 -2195.3694
+ 25093538.5484 -900070.84649 -686627.35145 25093540.7044 25093542.3684
+ 2642.5014 2059.0924
+ 19860133.8184 -25051162.57449 -19211654.42748 19860133.9134 19860138.4954
+ -841.8384 -655.9794
+ 20909384.4894 -23249150.42449 -18065937.04248 20909384.0954 20909388.4794
+ -1689.8814 -1316.7894
+ 20996270.4384 -20307041.13549 -15570517.30048 20996269.7644 20996273.0004
+ 2181.9384 1700.2134
+ 23457283.5584 -6408068.77049 -4971222.86246 23457283.3474 23457287.3514
+ -2597.2764 -2023.8554
+ 05 1 20 1 41 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 24150214.4864 -2654187.92849 -2047279.05145 24150212.5894 24150216.0864
+ 3708.6284 2889.8354
+ 22576048.5374 -15201047.56549 -11826775.98047 22576047.5334 22576050.0774
+ 2145.3284 1671.6854
+ 24421925.2894 -504736.40249 -372977.11545 24421922.9194 24421926.0614
+ 3564.6314 2777.6354
+ 22476466.4094 -13445043.47949 -10452283.68947 22476465.7224 22476469.9384
+ -2468.3474 -1923.3944
+ 22502916.8674 -16402763.80549 -12760501.65846 22502915.4654 22502921.5864
+ -2828.3864 -2203.9304
+ 25078460.7374 -979319.86749 -748379.77045 25078461.3354 25078463.6714
+ 2640.7714 2057.7414
+ 19864997.6794 -25025604.97749 -19191739.41348 19864997.3634 19865001.7264
+ -861.9984 -671.6894
+ 20919070.4764 -23198247.36449 -18026272.31948 20919070.5914 20919075.1774
+ -1703.5714 -1327.4594
+ 20983846.3594 -20372331.59449 -15621392.98148 20983845.4804 20983848.7464
+ 2170.7674 1691.5054
+ 23472115.8634 -6330126.45649 -4910488.60746 23472114.5634 23472120.6004
+ -2598.8484 -2025.0754
+ 05 1 20 1 42 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 24129042.2524 -2765444.85449 -2133972.68545 24129041.2174 24129044.6244
+ 3708.5754 2889.7954
+ 22563811.3694 -15265340.33949 -11876874.23347 22563811.3434 22563815.9244
+ 2140.9014 1668.2344
+ 24401576.2144 -611670.18249 -456302.10446 24401573.7494 24401577.4284
+ 3564.2614 2777.3454
+ 22490587.8394 -13370833.36649 -10394457.61547 22490587.2634 22490592.4204
+ -2479.2324 -1931.8694
+ 22519091.7674 -16317753.60149 -12694259.88646 22519092.6974 22519098.2354
+ -2839.0994 -2212.3004
+ 25063391.2764 -1058517.21149 -810091.90145 25063390.5404 25063391.8894
+ 2639.0284 2056.3854
+ 19869975.5184 -24999444.33249 -19171354.49448 19869975.5574 19869980.0144
+ -882.0684 -687.3264
+ 20928835.3734 -23146933.69349 -17986287.63848 20928835.2664 20928839.8394
+ -1717.2404 -1338.1114
+ 20971486.1074 -20437284.87449 -15672005.92348 20971485.4424 20971488.4844
+ 2159.4754 1682.7074
+ 23486956.9954 -6252136.77849 -4849717.45746 23486955.6094 23486961.6554
+ -2600.4334 -2026.3184
+ 05 1 20 1 42 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 24107870.2864 -2876699.03749 -2220664.24845 24107869.0764 24107873.9004
+ 3708.3654 2889.6334
+ 22551603.1084 -15329499.81449 -11926868.63447 22551602.8154 22551607.0214
+ 2136.4404 1664.7544
+ 24381228.0504 -718592.16949 -539617.91446 24381227.2804 24381231.1104
+ 3563.8344 2777.0114
+ 22504770.2514 -13296298.31149 -10336378.36747 22504770.5854 22504775.4024
+ -2490.0374 -1940.2914
+ 22535330.4054 -16232418.20749 -12627764.76846 22535330.7334 22535337.5214
+ -2849.9334 -2220.7264
+ 25048328.8174 -1137662.71449 -871763.71045 25048328.4644 25048330.7034
+ 2637.3184 2055.0544
+ 19875067.7964 -24972681.94649 -19150500.68948 19875068.1884 19875072.6094
+ -902.0844 -702.9254
+ 20938677.6874 -23095211.66949 -17945984.76348 20938677.6314 20938682.3074
+ -1730.8494 -1348.7144
+ 20959188.9784 -20501898.63449 -15722354.30848 20959189.1194 20959193.0764
+ 2148.0914 1673.8384
+ 23501808.2324 -6174100.26949 -4788909.83246 23501807.6424 23501809.9314
+ -2602.0024 -2027.5234
+ 05 1 20 1 43 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 24086699.3334 -2987947.26249 -2307351.15945 24086698.2844 24086703.9754
+ 3708.1564 2889.4764
+ 22539420.7764 -15393525.82149 -11976759.02347 22539419.7874 22539423.3274
+ 2131.9784 1661.2614
+ 24360883.0474 -825500.51649 -622923.07546 24360882.7074 24360885.9614
+ 3563.3674 2776.6504
+ 22519015.9264 -13221441.14549 -10278048.11747 22519015.9804 22519020.7274
+ -2500.7044 -1948.6014
+ 22551632.9714 -16146758.87749 -12561017.24146 22551631.6554 22551637.7924
+ -2860.7144 -2229.1244
+ 25033277.4424 -1216756.52749 -933395.19445 25033276.8854 25033279.0534
+ 2635.6104 2053.7204
+ 19880275.0134 -24945320.04549 -19129179.72348 19880274.9334 19880279.3934
+ -922.0624 -718.4904
+ 20948597.0094 -23043083.48249 -17905365.39148 20948597.2644 20948601.5934
+ -1744.3344 -1359.2224
+ 20946958.9194 -20566170.40649 -15772436.20048 20946958.4524 20946962.5864
+ 2136.6624 1664.9314
+ 23516663.4264 -6096017.19149 -4728065.88746 23516664.1144 23516669.7854
+ -2603.5404 -2028.7304
+ 05 1 20 1 43 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 24065533.4864 -3099186.36849 -2394030.98045 24065531.6934 24065535.8734
+ 3707.7334 2889.1424
+ 22527261.2244 -15457418.28849 -12026545.36047 22527260.9614 22527264.7374
+ 2127.4974 1657.7734
+ 24340542.6914 -932393.33549 -706216.17046 24340541.0514 24340545.1664
+ 3562.7984 2776.2054
+ 22533321.7814 -13146264.59449 -10219468.99547 22533321.4924 22533326.6184
+ -2511.3074 -1956.8624
+ 22567994.9224 -16060777.21949 -12494018.52946 22567993.3724 22567999.6054
+ -2871.3994 -2237.4514
+ 25018236.8184 -1295798.66549 -994986.45745 25018236.5264 25018238.9474
+ 2633.8844 2052.3824
+ 19885595.5044 -24917360.25049 -19107392.86948 19885595.5244 19885600.2854
+ -941.9604 -733.9964
+ 20958594.6554 -22990551.42149 -17864431.31648 20958594.0244 20958598.2494
+ -1757.7554 -1369.6794
+ 20934794.3174 -20630098.07449 -15822249.96648 20934793.6984 20934797.2824
+ 2125.1524 1655.9664
+ 23531531.5604 -6017887.69849 -4667185.77946 23531531.1244 23531537.8744
+ -2605.0584 -2029.9064
+ 05 1 20 1 44 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 24044364.7984 -3210413.34649 -2480701.31245 24044365.2814 24044371.3124
+ 3707.2924 2888.8034
+ 22515128.0104 -15521176.82949 -12076227.34547 22515127.9104 22515132.2644
+ 2123.0644 1654.3364
+ 24320203.7174 -1039268.75549 -789495.68346 24320203.3894 24320207.6524
+ 3562.1834 2775.7214
+ 22547687.1724 -13070771.73749 -10160643.40247 22547686.9324 22547692.5214
+ -2521.8064 -1965.0454
+ 22584415.8394 -15974473.67849 -12426768.99746 22584416.5984 22584422.8724
+ -2882.1444 -2245.8224
+ 25003205.5974 -1374788.91349 -1056537.24245 25003204.5904 25003206.3174
+ 2632.1314 2051.0044
+ 19891029.5704 -24888804.16249 -19085141.37248 19891029.8034 19891034.1174
+ -961.8044 -749.4544
+ 20968666.4244 -22937617.54249 -17823184.13548 20968666.5964 20968671.2314
+ -1771.0564 -1380.0424
+ 20922695.4384 -20693679.03249 -15871793.56948 20922694.9904 20922698.0774
+ 2113.5664 1646.9364
+ 23546408.8334 -5939712.11849 -4606269.77446 23546408.0934 23546412.3684
+ -2606.6184 -2031.1264
+ 05 1 20 1 44 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 24023202.3964 -3321625.05749 -2567359.77445 24023201.6344 24023208.3674
+ 3706.7774 2888.3924
+ 22503022.0374 -15584801.34949 -12125804.89347 22503021.3094 22503024.9204
+ 2118.5894 1650.8424
+ 24299869.9054 -1146124.93449 -872760.21946 24299869.0674 24299873.5314
+ 3561.5214 2775.2094
+ 22562112.3544 -12994965.19149 -10101573.37247 22562112.2474 22562118.2274
+ -2532.2184 -1973.1534
+ 22600901.6474 -15887849.58449 -12359269.70646 22600900.6604 22600907.0794
+ -2892.7374 -2254.0834
+ 24988184.2244 -1453727.32649 -1118047.63845 24988183.5084 24988187.1684
+ 2630.4114 2049.6684
+ 19896576.6084 -24859654.01249 -19062426.96948 19896576.8244 19896581.3344
+ -981.5604 -764.8534
+ 20978816.3254 -22884284.12349 -17781625.62148 20978815.9174 20978820.6514
+ -1784.3784 -1390.4254
+ 20910662.9894 -20756910.90949 -15921065.15548 20910662.4164 20910665.6424
+ 2101.8784 1637.8254
+ 23561291.8714 -5861490.98649 -4545318.23646 23561291.2624 23561298.3064
+ -2608.1654 -2032.3314
+ 05 1 20 1 45 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 24002043.0264 -3432818.44349 -2654003.95445 24002041.5494 24002046.6364
+ 3706.1154 2887.8784
+ 22490938.8634 -15648291.83949 -12175278.01247 22490938.8614 22490942.7114
+ 2114.1304 1647.3694
+ 24279538.9564 -1252960.27849 -956008.51446 24279538.5884 24279544.0534
+ 3560.8124 2774.6534
+ 22576597.5754 -12918847.73149 -10042261.07347 22576597.0614 22576602.8724
+ -2542.5474 -1981.2204
+ 22617445.3514 -15800905.98049 -12291521.43746 22617445.5824 22617451.8804
+ -2903.4804 -2262.4534
+ 24973173.3244 -1532613.76949 -1179517.60345 24973172.9614 24973175.5644
+ 2628.6954 2048.3344
+ 19902236.5264 -24829911.63349 -19039251.08648 19902236.6224 19902241.0664
+ -1001.2724 -780.2114
+ 20989040.5094 -22830553.51549 -17739757.61948 20989040.0564 20989044.7814
+ -1797.5784 -1400.7104
+ 20898697.0944 -20819791.51349 -15970063.03448 20898696.6534 20898700.0524
+ 2090.1404 1628.6764
+ 23576188.0654 -5783224.39949 -4484331.29646 23576187.2034 23576192.9464
+ -2609.6424 -2033.4944
+ 05 1 20 1 45 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23980886.1154 -3543990.30449 -2740631.35945 23980886.4404 23980893.2424
+ 3705.3364 2887.2764
+ 22478883.5654 -15711648.22049 -12224646.60647 22478882.8284 22478886.5144
+ 2109.6344 1643.8734
+ 24259212.3954 -1359772.97349 -1039239.14845 24259212.5734 24259217.1784
+ 3560.0104 2774.0324
+ 22591141.2354 -12842422.27449 -9982708.78047 22591140.9124 22591145.7604
+ -2552.7604 -1989.1594
+ 22634050.3424 -15713644.57649 -12223525.52146 22634050.0444 22634057.4174
+ -2914.0644 -2270.6984
+ 24958170.1684 -1611448.27749 -1240947.05245 24958169.7784 24958171.8664
+ 2626.9364 2046.9634
+ 19908008.9294 -24799578.86349 -19015615.15948 19908008.6204 19908013.3394
+ -1020.9654 -795.5564
+ 20999340.2974 -22776427.83949 -17697581.76448 20999340.3154 20999344.9034
+ -1810.7684 -1410.9884
+ 20886798.2834 -20882318.55249 -16018785.39848 20886797.8124 20886801.4824
+ 2078.2994 1619.4524
+ 23591089.8184 -5704912.82349 -4423309.27746 23591089.6974 23591094.0844
+ -2611.1384 -2034.6594
+ 05 1 20 1 46 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23959734.6104 -3655137.43349 -2827239.48145 23959734.8264 23959742.4634
+ 3704.4894 2886.6194
+ 22466853.2814 -15774870.52149 -12273910.73747 22466852.3274 22466855.5024
+ 2105.1954 1640.4124
+ 24238890.3244 -1466560.94249 -1122450.52646 24238891.1624 24238896.9454
+ 3559.1304 2773.3424
+ 22605742.0514 -12765691.82749 -9922918.83746 22605742.2284 22605746.5394
+ -2562.8724 -1997.0394
+ 22650716.7264 -15626066.04549 -12155282.51746 22650716.3994 22650722.0104
+ -2924.5794 -2278.9034
+ 24943180.8554 -1690230.86949 -1302336.05945 24943179.5054 24943180.7564
+ 2625.2314 2045.6334
+ 19913892.4014 -24768657.67549 -18991520.73348 19913892.6294 19913897.3454
+ -1040.5184 -810.7934
+ 21009714.8554 -22721909.32849 -17655099.81448 21009714.6094 21009719.2244
+ -1823.7574 -1421.1104
+ 20874967.5524 -20944489.37549 -16067230.18948 20874966.9094 20874970.7844
+ 2066.4134 1610.1914
+ 23606001.2364 -5626556.54549 -4362252.47246 23606001.0054 23606003.7974
+ -2612.6164 -2035.8124
+ 05 1 20 1 46 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23938590.5584 -3766256.68149 -2913825.89145 23938590.1174 23938596.8554
+ 3703.5154 2885.8554
+ 22454846.5324 -15837958.62649 -12323070.29947 22454846.2514 22454850.5284
+ 2100.6954 1636.9054
+ 24218575.0284 -1573322.35349 -1205641.21346 24218574.8464 24218580.6074
+ 3558.2554 2772.6584
+ 22620399.0284 -12688659.05249 -9862893.30046 22620400.1904 22620405.9884
+ -2572.8874 -2004.8434
+ 22667443.1194 -15538171.45649 -12086793.18446 22667442.7284 22667448.7494
+ -2935.1154 -2287.0994
+ 24928196.0294 -1768961.36649 -1363684.48345 24928195.6734 24928197.3554
+ 2623.4474 2044.2434
+ 19919888.2054 -24737149.94049 -18966969.25048 19919888.4914 19919892.8124
+ -1060.0234 -825.9924
+ 21020163.0834 -22667000.35849 -17612313.59848 21020163.2034 21020168.2794
+ -1836.7654 -1431.2474
+ 20863204.8864 -21006301.75049 -16115395.67248 20863204.4814 20863208.0054
+ 2054.4204 1600.8454
+ 23620918.6954 -5548156.01249 -4301161.15446 23620918.4994 23620923.5254
+ -2614.1034 -2036.9584
+ 05 1 20 1 47 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23917451.4154 -3877344.88249 -3000388.17445 23917451.1444 23917457.9464
+ 3702.3554 2884.9544
+ 22442866.7864 -15900912.12849 -12372124.96947 22442866.9244 22442871.0054
+ 2096.1994 1633.3974
+ 24198265.1654 -1680055.11449 -1288809.59146 24198264.8344 24198269.9374
+ 3557.2224 2771.8634
+ 22635117.1734 -12611326.94649 -9802634.52047 22635116.6044 22635121.6384
+ -2582.8444 -2012.6164
+ 22684230.1234 -15449962.71049 -12018059.08446 22684228.5604 22684233.7214
+ -2945.5584 -2295.2394
+ 24913223.8684 -1847639.85149 -1424992.38145 24913223.8104 24913226.8044
+ 2621.7224 2042.8984
+ 19925995.4654 -24705057.80649 -18941962.39148 19925995.3034 19925999.7834
+ -1079.4644 -841.1364
+ 21030686.0074 -22611703.10949 -17569224.83648 21030686.1474 21030690.5754
+ -1849.6804 -1441.3044
+ 20851510.8724 -21067753.62749 -16163280.24848 20851510.5164 20851514.3454
+ 2042.3554 1591.4494
+ 23635848.7274 -5469711.19249 -4240035.34046 23635848.3294 23635851.1904
+ -2615.5554 -2038.0904
+ 05 1 20 1 47 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23896317.5214 -3988398.91549 -3086923.74545 23896318.6084 23896323.9294
+ 3701.1984 2884.0524
+ 22430913.4004 -15963731.13449 -12421074.84147 22430912.6754 22430917.0014
+ 2091.7404 1629.9264
+ 24177959.6544 -1786757.41649 -1371954.22445 24177959.2864 24177965.0134
+ 3556.2294 2771.0784
+ 22649889.4854 -12533698.26749 -9742144.66746 22649889.9224 22649893.4764
+ -2592.6334 -2020.2454
+ 22701073.8214 -15361440.41849 -11949080.67346 22701073.8154 22701079.4424
+ -2955.9654 -2303.3524
+ 24898261.8184 -1926266.12949 -1486259.60745 24898261.2784 24898264.7624
+ 2620.0094 2041.5694
+ 19932213.1514 -24672383.11749 -18916501.59648 19932213.1364 19932217.6314
+ -1098.8604 -856.2564
+ 21041281.8874 -22556019.86749 -17525835.30048 21041282.0814 21041287.1844
+ -1862.4804 -1451.2874
+ 20839886.7574 -21128842.19049 -16210881.72748 20839886.0124 20839889.5764
+ 2030.2054 1581.9764
+ 23650783.0184 -5391222.50449 -4178875.33946 23650782.1124 23650787.9174
+ -2617.0314 -2039.2574
+ 05 1 20 1 48 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23875194.7274 -4099415.61149 -3173430.26245 23875192.7294 23875198.1724
+ 3699.9034 2883.0384
+ 22418984.8434 -16026415.25049 -12469919.61847 22418984.7224 22418988.6384
+ 2087.2144 1626.4034
+ 24157662.7314 -1893427.32649 -1455073.61546 24157661.3374 24157666.6504
+ 3555.0664 2770.1824
+ 22664716.8114 -12455775.85949 -9681425.91246 22664717.4434 22664722.2404
+ -2602.3994 -2027.8304
+ 22717977.9494 -15272605.92549 -11879858.96146 22717978.5594 22717983.6684
+ -2966.3774 -2311.4654
+ 24883310.6054 -2004840.18549 -1547486.15145 24883310.0254 24883312.3544
+ 2618.2484 2040.1924
+ 19938541.9004 -24639127.94949 -18890588.47548 19938541.7534 19938545.9204
+ -1118.1604 -871.2894
+ 21051952.2444 -22499952.84449 -17482146.70348 21051951.7624 21051955.9884
+ -1875.2154 -1461.2034
+ 20828331.1664 -21189565.30649 -16258198.44548 20828330.8914 20828334.1764
+ 2017.9964 1572.4694
+ 23665726.8314 -5312690.22949 -4117681.37846 23665725.7214 23665732.0054
+ -2618.4744 -2040.3614
+ 05 1 20 1 48 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23854076.4644 -4210391.79749 -3259905.18245 23854075.2854 23854080.4094
+ 3698.5164 2881.9624
+ 22407082.8734 -16088964.30449 -12518659.14747 22407081.7794 22407086.0544
+ 2082.7144 1622.8924
+ 24137369.7244 -2000062.97849 -1538166.30145 24137368.5814 24137375.6294
+ 3553.9004 2769.2674
+ 22679601.3774 -12377562.52749 -9620480.50746 22679600.7714 22679606.2914
+ -2612.0794 -2035.3944
+ 22734942.6224 -15183460.77249 -11810395.21946 22734942.0344 22734948.4404
+ -2976.6904 -2319.5014
+ 24868367.9984 -2083362.06249 -1608672.00145 24868367.4344 24868369.7104
+ 2616.4994 2038.8334
+ 19944979.5414 -24605294.34449 -18864224.62348 19944980.0594 19944984.2504
+ -1137.4324 -886.3144
+ 21062693.6304 -22443504.43249 -17438160.91948 21062693.5444 21062698.0434
+ -1887.9074 -1471.0984
+ 20816846.5144 -21249920.45849 -16305228.43148 20816845.7404 20816849.0544
+ 2005.6694 1562.8584
+ 23680679.6214 -5234114.68149 -4056453.68646 23680678.8154 23680685.1024
+ -2619.9084 -2041.4834
+ 05 1 20 1 49 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23832966.9594 -4321324.10949 -3346345.90645 23832966.4724 23832971.5444
+ 3697.0164 2880.7884
+ 22395204.3744 -16151378.37949 -12567293.48347 22395204.6414 22395208.7854
+ 2078.2204 1619.3934
+ 24117083.4104 -2106662.33749 -1621230.71346 24117083.4904 24117090.5254
+ 3552.6754 2768.3124
+ 22694538.6644 -12299061.40749 -9559310.82046 22694538.8174 22694543.8554
+ -2621.5904 -2042.7914
+ 22751965.6864 -15094006.01849 -11740690.23846 22751965.4234 22751970.4834
+ -2987.0104 -2327.5374
+ 24853435.6044 -2161831.91949 -1669817.27345 24853434.7464 24853436.9964
+ 2614.8254 2037.5204
+ 19951527.8654 -24570884.38349 -18837411.66548 19951528.0894 19951532.4394
+ -1156.5844 -901.2314
+ 21073507.0534 -22386676.68149 -17393879.56548 21073507.2794 21073511.8534
+ -1900.5364 -1480.9354
+ 20805431.0634 -21309905.49149 -16351970.01348 20805430.7844 20805434.4494
+ 1993.3084 1553.2294
+ 23695641.0664 -5155496.21049 -3995192.55246 23695640.0534 23695645.4634
+ -2621.3134 -2042.5854
+ 05 1 20 1 49 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23811866.6504 -4432209.56649 -3432750.17545 23811866.1844 23811869.5904
+ 3695.3914 2879.5244
+ 22383354.6024 -16213657.28549 -12615822.48647 22383353.6024 22383357.7024
+ 2073.7364 1615.8994
+ 24096805.0674 -2213223.74349 -1704265.53746 24096805.6134 24096812.2694
+ 3551.4064 2767.3254
+ 22709531.3334 -12220275.22849 -9497919.02046 22709531.1314 22709535.9794
+ -2631.0344 -2050.1564
+ 22769045.6744 -15004242.74749 -11670744.82646 22769045.8514 22769052.3024
+ -2997.3144 -2335.5664
+ 24838513.4224 -2240249.30949 -1730921.75845 24838513.5714 24838515.3724
+ 2613.0524 2036.1504
+ 19958184.4784 -24535900.19149 -18810151.25348 19958184.6314 19958189.7104
+ -1175.6884 -916.1194
+ 21084393.2284 -22329472.14349 -17349304.59148 21084393.0944 21084397.9104
+ -1913.0414 -1490.6774
+ 20794087.4204 -21369517.73549 -16398421.11048 20794086.8244 20794090.5424
+ 1980.8434 1543.5174
+ 23710607.9574 -5076835.13449 -3933898.21946 23710606.9904 23710613.6274
+ -2622.7324 -2043.6884
+ 05 1 20 1 50 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23790773.0534 -4543044.96949 -3519115.39145 23790773.2084 23790780.1524
+ 3693.6534 2878.1714
+ 22371527.3764 -16275801.00849 -12664246.15547 22371527.5074 22371532.1024
+ 2069.1424 1612.3154
+ 24076536.2224 -2319744.99049 -1787269.11446 24076535.8604 24076541.6384
+ 3549.9914 2766.2284
+ 22724576.9464 -12141206.87849 -9436307.35246 22724577.2414 22724582.6574
+ -2640.4004 -2057.4504
+ 22786185.7404 -14914172.32649 -11600560.04046 22786184.3144 22786191.6124
+ -3007.5224 -2343.5204
+ 24823601.1644 -2318614.37149 -1791985.48145 24823599.8324 24823603.7634
+ 2611.3014 2034.7764
+ 19964951.0654 -24500343.44549 -18782444.69848 19964950.9694 19964955.6094
+ -1194.7694 -930.9894
+ 21095350.1354 -22271892.79349 -17304437.57248 21095350.0254 21095354.5444
+ -1925.4724 -1500.3654
+ 20782814.7974 -21428755.31349 -16444580.26048 20782814.0714 20782817.7424
+ 1968.3114 1533.7444
+ 23725585.8334 -4998131.83149 -3872570.95646 23725585.4704 23725590.8054
+ -2624.1824 -2044.8164
+ 05 1 20 1 50 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23769691.6174 -4653827.12549 -3605439.14545 23769692.8374 23769697.5834
+ 3691.8204 2876.7434
+ 22359728.3384 -16337809.07249 -12712564.11947 22359727.6374 22359732.1604
+ 2064.6304 1608.7954
+ 24056276.8404 -2426224.20849 -1870239.89545 24056273.5854 24056279.9484
+ 3548.5824 2765.1254
+ 22739677.6074 -12061859.30349 -9374478.11946 22739677.4464 22739681.3374
+ -2649.6764 -2064.6904
+ 22803382.9394 -14823796.25349 -11530137.15046 22803383.1894 22803390.3764
+ -3017.6774 -2351.4344
+ 24808698.7804 -2396927.16949 -1853008.39545 24808698.3494 24808699.9224
+ 2609.5604 2033.4294
+ 19971826.0914 -24464216.68649 -18754293.98148 19971826.0694 19971830.3614
+ -1213.7154 -945.7534
+ 21106377.8844 -22213941.14049 -17259280.43148 21106377.8624 21106382.3504
+ -1937.8924 -1510.0484
+ 20771613.6804 -21487615.61049 -16490445.42648 20771613.5954 20771617.0754
+ 1955.6954 1523.9164
+ 23740570.0384 -4919386.30249 -3811210.81946 23740570.8154 23740575.5644
+ -2625.5664 -2045.8904
+ 05 1 20 1 51 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23748621.9004 -4764552.84049 -3691718.90145 23748621.4524 23748627.4614
+ 3689.8694 2875.2194
+ 22347954.9954 -16399681.32849 -12760776.25147 22347954.3424 22347958.5524
+ 2060.1384 1605.2994
+ 24036018.0554 -2532659.33949 -1953176.35545 24036019.5624 24036026.0594
+ 3547.0354 2763.9244
+ 22754829.0564 -11982235.49849 -9312433.63946 22754828.9324 22754833.7804
+ -2658.8774 -2071.8584
+ 22820640.8154 -14733115.25849 -11459476.63346 22820639.6694 22820647.1454
+ -3027.7874 -2359.3064
+ 24793808.1654 -2475187.65249 -1913990.53345 24793806.6334 24793808.4634
+ 2607.8164 2032.0624
+ 19978808.5494 -24427521.90049 -18725700.63748 19978808.7464 19978813.2114
+ -1232.6064 -960.4724
+ 21117476.1824 -22155619.47149 -17213834.98248 21117476.5974 21117480.6004
+ -1950.1544 -1519.6034
+ 20760485.6904 -21546096.44749 -16536014.91848 20760485.2944 20760488.5194
+ 1942.9994 1514.0234
+ 23755564.8454 -4840598.64949 -3749817.87046 23755562.4684 23755568.3674
+ -2626.9344 -2046.9624
+ 05 1 20 1 51 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23727563.5154 -4875218.62349 -3777951.94345 23727563.8644 23727568.2384
+ 3687.7954 2873.6034
+ 22336206.8934 -16461417.59849 -12808882.41647 22336206.4704 22336210.2854
+ 2055.5894 1601.7514
+ 24015774.6304 -2639048.43849 -2036076.90746 24015774.9724 24015781.7334
+ 3545.5284 2762.7484
+ 22770032.3364 -11902338.15549 -9250176.01346 22770032.8994 22770037.1734
+ -2667.9244 -2078.9094
+ 22837954.2804 -14642131.46249 -11388580.17446 22837953.9174 22837958.6884
+ -3037.9244 -2367.2224
+ 24778920.1484 -2553395.44249 -1974931.76445 24778921.6404 24778925.1774
+ 2606.0554 2030.6954
+ 19985898.9504 -24390261.08149 -18696666.23148 19985899.2904 19985903.5324
+ -1251.4564 -975.1634
+ 21128644.8744 -22096929.90349 -17168102.84948 21128644.4154 21128648.8264
+ -1962.4144 -1529.1564
+ 20749429.2524 -21604195.32949 -16581286.76648 20749429.2454 20749432.5764
+ 1930.2254 1504.0674
+ 23770563.1824 -4761769.60849 -3688392.65646 23770563.0364 23770568.8354
+ -2628.3484 -2048.0704
+ 05 1 20 1 52 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23706516.8914 -4985821.61649 -3864136.05045 23706516.2814 23706521.9424
+ 3685.7014 2871.9734
+ 22324484.8744 -16523017.67049 -12856882.45647 22324484.0534 22324488.1894
+ 2051.1084 1598.2654
+ 23995539.5904 -2745389.52249 -2118940.06846 23995539.1824 23995544.7934
+ 3543.8644 2761.4534
+ 22785289.4214 -11822170.23449 -9187707.55346 22785288.7894 22785293.5524
+ -2676.8544 -2085.8604
+ 22855326.0764 -14550845.34549 -11317448.13546 22855325.0954 22855330.4114
+ -3047.9564 -2375.0334
+ 24764049.0984 -2631550.89149 -2035832.03845 24764048.3624 24764053.4254
+ 2604.3394 2029.3474
+ 19993096.7874 -24352436.68349 -18667192.67348 19993096.8944 19993101.5554
+ -1270.1874 -989.7564
+ 21139881.9224 -22037874.94749 -17122085.99448 21139882.1414 21139886.5004
+ -1974.5364 -1538.5994
+ 20738447.3834 -21661909.95149 -16626259.20448 20738446.5324 20738449.7714
+ 1917.4034 1494.0804
+ 23785572.9814 -4682899.18649 -3626935.17946 23785570.6894 23785575.8424
+ -2629.7064 -2049.1404
+ 05 1 20 1 52 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23685480.2814 -5096358.20849 -3950268.45145 23685480.7624 23685486.6924
+ 3683.3974 2870.1784
+ 22312787.3734 -16584481.44049 -12904776.30747 22312787.8214 22312792.1554
+ 2046.5364 1594.7024
+ 23975312.0804 -2851680.69049 -2201764.31946 23975312.2804 23975317.9214
+ 3542.2234 2760.1704
+ 22800594.7534 -11741734.71949 -9125030.56746 22800594.3074 22800599.3454
+ -2685.7774 -2092.8154
+ 22872752.5374 -14459258.87249 -11246082.02446 22872752.0854 22872758.7914
+ -3057.9224 -2382.7924
+ 24749187.8274 -2709653.90049 -2096691.48845 24749188.6484 24749191.6034
+ 2602.5454 2027.9564
+ 20000401.6434 -24314050.44449 -18637281.31548 20000401.7034 20000406.1364
+ -1288.8704 -1004.3154
+ 21151189.4814 -21978456.69049 -17075786.05448 21151189.5024 21151193.4074
+ -1986.6074 -1548.0024
+ 20727537.4064 -21719238.02549 -16670930.42748 20727537.1264 20727540.8604
+ 1904.4664 1483.9984
+ 23800589.9024 -4603987.33949 -3565445.46546 23800589.0504 23800593.8914
+ -2631.0694 -2050.1764
+ 05 1 20 1 53 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23664462.3354 -5206825.40049 -4036346.75546 23664461.3034 23664466.0394
+ 3681.0274 2868.3324
+ 22301118.0964 -16645808.69149 -12952563.75947 22301117.4254 22301122.2804
+ 2041.9694 1591.1434
+ 23955096.6044 -2957919.60849 -2284547.86145 23955095.6624 23955101.4634
+ 3540.4084 2758.7604
+ 22815949.7664 -11661034.50449 -9062147.32646 22815950.6294 22815956.4024
+ -2694.4894 -2099.6144
+ 22890238.0034 -14367373.17049 -11174482.80246 22890238.4894 22890244.3354
+ -3067.8364 -2390.5304
+ 24734336.6014 -2787704.39149 -2157510.08745 24734336.1874 24734336.9154
+ 2600.8464 2026.6344
+ 20007812.8434 -24275104.93749 -18606934.16748 20007812.7704 20007817.2264
+ -1307.4844 -1018.8194
+ 21162565.1034 -21918677.73349 -17029205.04348 21162564.6944 21162569.0734
+ -1998.6124 -1557.3634
+ 20716702.4244 -21776177.14749 -16715298.57748 20716702.0124 20716705.6744
+ 1891.4754 1473.8754
+ 23815612.3054 -4525034.77549 -3503924.01146 23815612.0324 23815618.1814
+ -2632.4344 -2051.2464
+ 05 1 20 1 53 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23643454.1914 -5317219.93649 -4122368.45045 23643453.9554 23643457.1894
+ 3678.6174 2866.4544
+ 22289474.2234 -16706999.47649 -13000244.87447 22289473.5884 22289477.6434
+ 2037.4164 1587.5914
+ 23934890.1474 -3064104.42349 -2367289.24946 23934889.3264 23934895.7324
+ 3538.5604 2757.3234
+ 22831358.3184 -11580072.45349 -8999060.05546 22831358.8904 22831363.0354
+ -2703.2224 -2106.4094
+ 22907780.4624 -14275189.64149 -11102651.46146 22907779.8444 22907785.6474
+ -3077.7554 -2398.2474
+ 24719491.6614 -2865702.28549 -2218287.67745 24719491.7854 24719497.8714
+ 2599.0684 2025.2464
+ 20015329.7294 -24235602.22649 -18576152.83048 20015329.8074 20015334.6044
+ -1326.0284 -1033.2714
+ 21174008.5654 -21858540.21149 -16982344.63248 21174008.6624 21174012.7344
+ -2010.5144 -1566.6374
+ 20705941.4794 -21832725.02449 -16759361.85748 20705941.1804 20705944.8174
+ 1878.3744 1463.6654
+ 23830645.8114 -4446041.71649 -3442370.98846 23830644.7624 23830650.3774
+ -2633.7684 -2052.2904
+ 05 1 20 1 54 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23622460.6844 -5427538.48549 -4208330.94446 23622459.7434 23622465.7664
+ 3675.9914 2864.4034
+ 22277855.7754 -16768053.95849 -13047819.76847 22277855.4314 22277859.5344
+ 2032.8624 1584.0554
+ 23914693.8794 -3170233.13649 -2449986.93046 23914693.7204 23914699.5044
+ 3536.6574 2755.8344
+ 22846815.3944 -11498851.56749 -8935771.09146 22846814.5994 22846819.5834
+ -2711.7914 -2113.0724
+ 22925378.5154 -14182709.15649 -11030588.74846 22925378.3234 22925384.0354
+ -3087.6364 -2405.9484
+ 24704659.8594 -2943647.56549 -2279024.19045 24704659.9784 24704662.6534
+ 2597.3264 2023.8854
+ 20022952.2864 -24195544.46349 -18544938.99048 20022952.6594 20022957.0544
+ -1344.4904 -1047.6524
+ 21185519.9414 -21798046.28849 -16935206.50748 21185520.0064 21185524.5454
+ -2022.3304 -1575.8384
+ 20695255.9064 -21888879.35849 -16803118.48548 20695255.2824 20695259.2364
+ 1865.2384 1453.4354
+ 23845685.3554 -4367008.37049 -3380786.57246 23845684.8594 23845687.8474
+ -2635.0894 -2053.3044
+ 05 1 20 1 54 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23601482.9424 -5537777.70649 -4294231.60746 23601482.6384 23601488.0384
+ 3673.2624 2862.2844
+ 22266264.5884 -16828971.01249 -13095287.58347 22266263.5764 22266266.6874
+ 2028.2714 1580.4704
+ 23894510.8394 -3276303.59249 -2532639.19846 23894509.3744 23894515.1004
+ 3534.6624 2754.2804
+ 22862320.2094 -11417374.70449 -8872282.68146 22862318.6724 22862323.8774
+ -2720.2774 -2119.6884
+ 22943034.8184 -14089933.45949 -10958295.98146 22943033.2184 22943038.7824
+ -3097.4804 -2413.6184
+ 24689841.1124 -3021540.02049 -2339719.60745 24689839.9914 24689840.6084
+ 2595.5254 2022.4844
+ 20030679.9364 -24154934.16149 -18513294.59348 20030680.2914 20030685.1224
+ -1362.8684 -1061.9734
+ 21197099.3854 -21737198.41649 -16887792.58448 21197099.2204 21197103.3984
+ -2034.0874 -1585.0014
+ 20684645.6904 -21944637.87149 -16846566.67648 20684645.2664 20684648.9264
+ 1852.0034 1443.1174
+ 23860731.4054 -4287934.62149 -3319170.65646 23860730.6174 23860737.3394
+ -2636.4744 -2054.3894
+ 05 1 20 1 55 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23580520.4014 -5647934.34149 -4380067.97546 23580519.7324 23580522.8874
+ 3670.4794 2860.1104
+ 22254696.9754 -16889751.11449 -13142648.69047 22254696.9284 22254701.1344
+ 2023.7324 1576.9384
+ 23874338.6044 -3382313.80549 -2615244.53446 23874336.8284 23874341.2774
+ 3532.6284 2752.7024
+ 22877870.6834 -11335645.01949 -8808597.24146 22877870.6904 22877876.3804
+ -2728.6394 -2126.2094
+ 22960743.4964 -13996864.23549 -10885774.49346 22960744.0024 22960749.1994
+ -3107.1794 -2421.1764
+ 24675024.7184 -3099379.96549 -2400374.07845 24675026.6694 24675028.5424
+ 2593.7374 2021.0924
+ 20038513.1044 -24113773.31249 -18481221.20548 20038513.2314 20038517.6964
+ -1381.1914 -1076.2544
+ 21208744.7174 -21675998.96449 -16840104.69848 21208745.0214 21208749.4434
+ -2045.8024 -1594.1334
+ 20674111.0944 -21999998.16249 -16889704.56548 20674110.6104 20674114.0394
+ 1838.6684 1432.7264
+ 23875786.2514 -4208820.93149 -3257523.61746 23875786.1384 23875792.1194
+ -2637.7744 -2055.4154
+ 05 1 20 1 55 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23559574.5674 -5758005.24949 -4465837.50446 23559574.3114 23559579.7034
+ 3667.5904 2857.8694
+ 22243157.1944 -16950393.87549 -13189902.77947 22243157.0514 22243161.0004
+ 2019.1644 1573.3774
+ 23854176.6834 -3488261.79849 -2697801.42146 23854175.1594 23854180.5014
+ 3530.5544 2751.0814
+ 22893470.8474 -11253665.32949 -8744716.97946 22893471.2334 22893476.2664
+ -2736.9244 -2132.6784
+ 22978510.0274 -13903502.36649 -10813024.98846 22978510.1534 22978515.6794
+ -3116.9534 -2428.7994
+ 24660222.0364 -3177167.23549 -2460987.50645 24660222.9984 24660226.2804
+ 2592.0354 2019.7694
+ 20046449.9064 -24072064.09749 -18448720.51448 20046450.1984 20046454.8604
+ -1399.3944 -1090.4374
+ 21220457.3574 -21614450.25749 -16792144.66848 21220457.3044 21220461.5414
+ -2057.3874 -1603.1604
+ 20663652.7224 -22054958.16649 -16932530.54148 20663652.1104 20663655.5024
+ 1825.2934 1422.3064
+ 23890848.3824 -4129667.73349 -3195845.80845 23890847.1824 23890854.6194
+ -2639.0944 -2056.4244
+ 05 1 20 1 56 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23538646.9374 -5867987.08749 -4551537.61346 23538645.7104 23538650.4484
+ 3664.5384 2855.4854
+ 22231642.8654 -17010899.41749 -13237049.93547 22231642.5884 22231647.4044
+ 2014.5384 1569.7664
+ 23834026.6394 -3594145.42849 -2780308.14846 23834026.5844 23834030.7544
+ 3528.3464 2749.3604
+ 22909119.6454 -11171438.48149 -8680644.14846 22909118.6704 22909124.0504
+ -2745.1214 -2139.0594
+ 22996331.0084 -13809849.63349 -10740048.85146 22996330.7664 22996337.8844
+ -3126.6974 -2436.3884
+ 24645429.3184 -3254901.49249 -2521559.70945 24645430.2814 24645434.9074
+ 2590.3184 2018.4274
+ 20054491.1204 -24029809.11949 -18415794.55448 20054490.9104 20054495.3574
+ -1417.6034 -1104.6264
+ 21232235.5544 -21552554.39249 -16743914.11748 21232235.8534 21232240.0194
+ -2068.9424 -1612.1664
+ 20653270.4894 -22109515.14649 -16975042.47048 20653270.1214 20653273.6104
+ 1811.8024 1411.7934
+ 23905919.7484 -4050475.09449 -3134137.29045 23905918.0564 23905922.2384
+ -2640.4334 -2057.4814
+ 05 1 20 1 56 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23517733.9544 -5977876.68149 -4637165.86446 23517733.8684 23517739.9364
+ 3661.4334 2853.0714
+ 22220156.7214 -17071267.23949 -13284089.79347 22220156.0314 22220159.6134
+ 2009.9614 1566.2074
+ 23813889.8664 -3699962.48749 -2862762.98046 23813889.3724 23813893.6754
+ 3526.0634 2747.5874
+ 22924811.8554 -11088967.43749 -8616381.02746 22924811.7364 22924817.6694
+ -2753.1934 -2145.3424
+ 23014207.9024 -13715907.13449 -10666846.89946 23014208.1374 23014213.7544
+ -3136.2754 -2443.8424
+ 24630647.7444 -3332582.94449 -2582090.70045 24630647.9984 24630650.3374
+ 2588.5054 2017.0124
+ 20062635.7374 -23987010.32349 -18382444.84448 20062635.4014 20062639.6864
+ -1435.6674 -1118.7004
+ 21244080.0684 -21490313.89349 -16695415.02448 21244079.3634 21244084.2494
+ -2080.3674 -1621.0654
+ 20642965.2294 -22163667.05749 -17017238.76248 20642965.0774 20642968.8534
+ 1798.3054 1401.2814
+ 23920996.5784 -3971243.23249 -3072398.18345 23920996.0184 23920999.4484
+ -2641.7304 -2058.4764
+ 05 1 20 1 57 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23496840.3154 -6087670.70749 -4722719.64946 23496841.5224 23496846.1834
+ 3658.1534 2850.5164
+ 22208693.5794 -17131496.86549 -13331021.96447 22208694.0654 22208698.2214
+ 2005.3744 1562.6294
+ 23793766.6674 -3805710.93949 -2945164.35146 23793764.9824 23793770.7874
+ 3523.8494 2745.8514
+ 22940552.3644 -11006255.22149 -8551929.97046 22940553.0614 22940558.2854
+ -2761.2304 -2151.6064
+ 23032140.0894 -13621676.42349 -10593420.34946 23032139.5644 23032145.2134
+ -3145.8464 -2451.3104
+ 24615876.0544 -3410211.57849 -2642580.47445 24615876.1454 24615878.6764
+ 2586.7364 2015.6424
+ 20070882.3964 -23943670.33149 -18348673.42148 20070882.4364 20070887.1864
+ -1453.6734 -1132.7304
+ 21255988.6734 -21427730.93449 -16646649.09448 21255988.5754 21255993.3544
+ -2091.7624 -1629.9404
+ 20632738.4864 -22217411.77349 -17059117.77048 20632737.8434 20632741.5884
+ 1784.6794 1390.6624
+ 23936082.7934 -3891972.18249 -3010628.55845 23936080.5224 23936086.3994
+ -2643.0604 -2059.5234
+ 05 1 20 1 57 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23475966.3844 -6197365.61949 -4808196.17646 23475966.5394 23475971.5204
+ 3654.8114 2847.8994
+ 22197259.2644 -17191588.43549 -13377846.54947 22197258.8324 22197263.3284
+ 2000.7404 1559.0234
+ 23773656.1624 -3911388.68849 -3027510.64446 23773656.8944 23773660.7544
+ 3521.3674 2743.9194
+ 22956336.4914 -10923304.76749 -8487293.27246 22956336.2444 22956342.9644
+ -2769.0804 -2157.7314
+ 23050124.9894 -13527158.97049 -10519770.35846 23050125.6034 23050131.0994
+ -3155.3714 -2458.7294
+ 24601113.8974 -3487787.27049 -2703029.10245 24601113.6444 24601116.3924
+ 2584.9624 2014.2474
+ 20079232.4864 -23899791.33249 -18314481.99148 20079232.5324 20079236.6214
+ -1471.5844 -1146.6894
+ 21267962.0254 -21364808.00149 -16597618.23948 21267962.4264 21267966.9284
+ -2103.0504 -1638.7394
+ 20622588.2314 -22270746.74349 -17100677.48348 20622588.3974 20622592.3184
+ 1770.9794 1379.9834
+ 23951170.7384 -3812662.38249 -2948828.70645 23951170.8594 23951177.2074
+ -2644.2974 -2060.4834
+ 05 1 20 1 58 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23455111.6084 -6306958.32449 -4893593.08746 23455111.6394 23455116.0014
+ 3651.3754 2845.2284
+ 22185851.1014 -17251541.64249 -13424563.34447 22185850.5844 22185854.4014
+ 1996.1504 1555.4424
+ 23753560.4604 -4016993.51349 -3109800.10846 23753558.9694 23753565.1034
+ 3518.9544 2742.0444
+ 22972167.4714 -10840118.98649 -8422473.20846 22972167.3024 22972171.7284
+ -2776.8694 -2163.8004
+ 23068167.0924 -13432356.23749 -10445898.13146 23068165.4524 23068171.3144
+ -3164.8624 -2466.1324
+ 24586362.3394 -3565309.79949 -2763436.23445 24586362.3494 24586364.6334
+ 2583.1954 2012.8824
+ 20087684.2204 -23855375.53849 -18279872.27648 20087684.5014 20087688.7574
+ -1489.4524 -1160.6144
+ 21280000.7184 -21301547.18949 -16548324.09948 21280000.9914 21280005.2764
+ -2114.2644 -1647.4834
+ 20612518.3854 -22323669.64249 -17141916.10948 20612517.8084 20612521.5654
+ 1757.2114 1369.2524
+ 23966274.4984 -3733313.69649 -2886998.60345 23966271.1304 23966276.7164
+ -2645.6064 -2061.5114
+ 05 1 20 1 58 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23434276.7374 -6416445.30649 -4978907.62946 23434276.8594 23434281.5644
+ 3647.7874 2842.4314
+ 22174467.0994 -17311356.50349 -13471172.31747 22174467.6954 22174471.8064
+ 1991.5194 1551.8324
+ 23733477.3674 -4122523.30149 -3192031.12346 23733478.7964 23733484.0714
+ 3516.3874 2740.0424
+ 22988041.3524 -10756700.99749 -8357472.19546 22988040.4534 22988046.2574
+ -2784.5824 -2169.8024
+ 23086262.5524 -13337269.35349 -10371804.47646 23086261.2954 23086266.2784
+ -3174.3334 -2473.5114
+ 24571616.9034 -3642779.45549 -2823802.20845 24571618.7044 24571623.4404
+ 2581.4354 2011.5014
+ 20096237.9994 -23810425.61249 -18244846.35848 20096238.2294 20096242.6384
+ -1507.2164 -1174.4564
+ 21292102.8044 -21237951.13549 -16498768.73448 21292102.5924 21292107.1974
+ -2125.3864 -1656.1454
+ 20602526.3554 -22376178.33949 -17182831.97448 20602525.8854 20602529.2524
+ 1743.3594 1358.4614
+ 23981378.6794 -3653926.60249 -2825138.49545 23981377.4234 23981385.0834
+ -2646.8954 -2062.5164
+ 05 1 20 1 59 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23413463.3724 -6525823.37349 -5064137.28046 23413462.4944 23413467.6164
+ 3644.0924 2839.5444
+ 22163112.7704 -17371032.58749 -13517673.16647 22163112.0704 22163115.8774
+ 1986.8984 1548.2334
+ 23713412.9754 -4227975.88249 -3274201.94346 23713410.4894 23713416.6794
+ 3513.7124 2737.9594
+ 23003957.3884 -10673053.66349 -8292292.47446 23003957.9464 23003963.6784
+ -2792.1534 -2175.7044
+ 23104408.3484 -13241899.94249 -10297490.61346 23104408.3494 23104414.1784
+ -3183.6384 -2480.7444
+ 24556890.8914 -3720196.00049 -2884126.80545 24556889.9064 24556888.9594
+ 2579.7254 2010.1734
+ 20104893.1244 -23764943.42349 -18209405.69548 20104893.2224 20104897.7084
+ -1524.8974 -1188.2324
+ 21304267.9564 -21174022.01649 -16448953.83448 21304267.8684 21304272.6644
+ -2136.4794 -1664.7914
+ 20592614.2774 -22428270.34849 -17223423.15448 20592613.4424 20592616.5974
+ 1729.4404 1347.6144
+ 23996494.7444 -3574501.32349 -2763248.71045 23996493.2574 23996498.2794
+ -2648.1384 -2063.4774
+ 05 1 20 1 59 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23392671.2354 -6635089.17249 -5149279.43046 23392671.2414 23392674.4334
+ 3640.2764 2836.5864
+ 22151783.6234 -17430569.79949 -13564065.81147 22151782.7064 22151786.3824
+ 1982.2654 1544.6204
+ 23693359.3864 -4333349.11049 -3356310.93546 23693358.9894 23693363.7534
+ 3511.0614 2735.8954
+ 23019920.4584 -10589179.86049 -8226936.29546 23019919.5624 23019923.9034
+ -2799.6924 -2181.5854
+ 23122608.0684 -13146249.58149 -10222957.87045 23122608.6594 23122614.7604
+ -3193.0444 -2488.0894
+ 24542165.9444 -3797559.52549 -2944410.07045 24542166.0354 24542167.7714
+ 2577.8934 2008.7544
+ 20113649.2694 -23718931.97849 -18173552.61348 20113648.8984 20113653.4254
+ -1542.5114 -1201.9574
+ 21316496.2304 -21109762.17349 -16398881.22848 21316496.1114 21316500.8024
+ -2147.4384 -1673.3274
+ 20582780.5614 -22479943.61149 -17263688.03548 20582780.1174 20582783.4474
+ 1715.4474 1336.7134
+ 24011614.2694 -3495038.00549 -2701329.24445 24011613.7104 24011620.0974
+ -2649.3754 -2064.4524
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 2 0 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23371900.8654 -6744239.23749 -5234331.41946 23371900.4824 23371905.9704
+ 3636.3864 2833.5564
+ 22140479.7314 -17489967.98849 -13610350.09247 22140479.1564 22140483.5104
+ 1977.6154 1541.0064
+ 23673322.9174 -4438640.94249 -3438356.51946 23673322.8624 23673328.4454
+ 3508.3614 2733.7914
+ 23035922.8434 -10505082.63649 -8161405.98546 23035922.3594 23035927.2594
+ -2807.0474 -2187.3144
+ 23140865.9484 -13050320.06349 -10148207.63046 23140865.7254 23140871.0724
+ -3202.3304 -2495.3194
+ 24527454.5134 -3874869.89149 -3004651.86845 24527454.0754 24527457.5124
+ 2576.1684 2007.4124
+ 20122504.7224 -23672393.19249 -18137288.62948 20122504.8984 20122509.7284
+ -1560.0364 -1215.6114
+ 21328786.4414 -21045173.71349 -16348552.55748 21328786.7504 21328791.4064
+ -2158.3444 -1681.8234
+ 20573027.5884 -22531195.95449 -17303624.92548 20573026.8954 20573030.3464
+ 1701.3704 1325.7404
+ 24026742.5644 -3415536.84949 -2639380.30346 24026743.2844 24026748.0844
+ -2650.6604 -2065.4384
+ 05 1 20 2 0 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23351150.6604 -6853270.39949 -5319290.74946 23351151.4944 23351157.5184
+ 3632.3544 2830.4044
+ 22129202.0434 -17549226.64949 -13656525.67047 22129202.0584 22129206.1104
+ 1972.9664 1537.3704
+ 23653302.4944 -4543849.19449 -3520336.97846 23653302.0134 23653307.1534
+ 3505.5004 2731.5564
+ 23051968.3414 -10420765.06549 -8095703.97846 23051967.0174 23051971.9344
+ -2814.3804 -2193.0374
+ 23159172.9934 -12954112.06149 -10073240.35046 23159172.1554 23159178.0474
+ -3211.5924 -2502.5314
+ 24512754.3134 -3952126.97849 -3064852.22045 24512753.7864 24512756.4374
+ 2574.3434 2005.9774
+ 20131460.3544 -23625329.87249 -18100615.90648 20131460.5414 20131465.1714
+ -1577.5094 -1229.2294
+ 21341139.2994 -20980259.27649 -16297969.88448 21341139.3114 21341144.5144
+ -2169.1804 -1690.2704
+ 20563354.6564 -22582025.07649 -17343232.03448 20563354.4364 20563357.7164
+ 1687.2194 1314.7134
+ 24041879.9604 -3335998.06149 -2577402.05946 24041878.7074 24041884.4244
+ -2651.9104 -2066.4214
+ 05 1 20 2 1 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23330427.6404 -6962179.38949 -5404154.89646 23330427.1924 23330432.4324
+ 3628.2324 2827.1884
+ 22117953.0064 -17608345.69349 -13702592.44747 22117952.6654 22117956.7034
+ 1968.2994 1533.7404
+ 23633298.5534 -4648971.69849 -3602250.58346 23633299.1334 23633302.8524
+ 3502.6034 2729.2924
+ 23068054.0604 -10336229.98949 -8029832.50346 23068054.4054 23068058.2274
+ -2821.5554 -2198.6204
+ 23177533.1494 -12857627.58249 -9998057.63446 23177533.4554 23177538.8274
+ -3220.7774 -2509.6924
+ 24498061.6094 -4029330.84449 -3125011.08245 24498061.4934 24498062.7914
+ 2572.5864 2004.6184
+ 20140515.3074 -23577743.97649 -18063535.99148 20140515.6194 20140520.3644
+ -1594.8634 -1242.7524
+ 21353553.6844 -20915021.02049 -16247134.88248 21353553.8184 21353558.8984
+ -2179.9414 -1698.6544
+ 20553763.5884 -22632428.57849 -17382507.49448 20553763.0924 20553766.3464
+ 1673.0054 1303.6394
+ 24057023.8534 -3256421.79249 -2515394.58346 24057022.7744 24057025.2754
+ -2653.1874 -2067.4194
+ 05 1 20 2 1 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23309727.2674 -7070962.83149 -5488921.18246 23309726.8694 23309731.9694
+ 3624.0034 2823.9014
+ 22106729.0804 -17667325.19249 -13748550.48447 22106728.8564 22106733.0934
+ 1963.6434 1530.1174
+ 23613310.2134 -4754006.35749 -3684095.76945 23613310.1104 23613315.0394
+ 3499.6974 2727.0434
+ 23084180.8214 -10251480.39949 -7963793.86246 23084181.4154 23084186.7164
+ -2828.6454 -2204.1404
+ 23195946.2484 -12760868.06949 -9922660.60746 23195946.2044 23195951.7654
+ -3229.8494 -2516.7624
+ 24483380.5964 -4106481.27949 -3185128.29846 24483379.7384 24483383.7694
+ 2570.7814 2003.2054
+ 20149669.9574 -23529638.37049 -18026051.10348 20149670.1974 20149674.8734
+ -1612.1654 -1256.2314
+ 21366029.7704 -20849461.43849 -16196049.49148 21366029.5014 21366034.4194
+ -2190.6064 -1706.9644
+ 20544253.5834 -22682404.13549 -17421449.48248 20544253.1784 20544256.2554
+ 1658.7014 1292.4934
+ 24072168.7694 -3176808.32649 -2453358.13546 24072169.6624 24072177.4854
+ -2654.3924 -2068.3594
+ 05 1 20 2 2 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23289050.9034 -7179617.38549 -5573587.03946 23289050.5914 23289055.0724
+ 3619.6174 2820.4854
+ 22095533.2574 -17726164.69349 -13794399.41847 22095532.7784 22095536.7054
+ 1959.0034 1526.4894
+ 23593341.7134 -4858950.93149 -3765870.76945 23593340.4014 23593345.9174
+ 3496.5984 2724.6264
+ 23100350.4104 -10166519.30449 -7897590.44146 23100349.4084 23100353.7854
+ -2835.6374 -2209.5824
+ 23214409.5454 -12663835.02049 -9847050.45545 23214410.1894 23214415.2404
+ -3239.0214 -2523.9074
+ 24468709.7954 -4183578.38549 -3245203.94845 24468708.7014 24468712.8864
+ 2569.0234 2001.8374
+ 20158923.0524 -23481015.09249 -17988162.82848 20158922.9164 20158927.3184
+ -1629.3764 -1269.6464
+ 21378566.7474 -20783582.72649 -16144715.42948 21378566.1644 21378570.4384
+ -2201.2064 -1715.2254
+ 20534825.5754 -22731949.69949 -17460056.41348 20534825.0824 20534828.1174
+ 1644.3304 1281.2954
+ 24087330.5834 -3097157.60649 -2391292.64146 24087328.8594 24087335.1304
+ -2655.6444 -2069.3294
+ 05 1 20 2 2 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23268398.7414 -7288139.71049 -5658149.88046 23268399.4484 23268404.3624
+ 3615.1304 2816.9874
+ 22084363.4674 -17784863.89549 -13840139.04847 22084363.1074 22084366.5394
+ 1954.3034 1522.8334
+ 23573390.4954 -4963803.12049 -3847573.76145 23573387.9854 23573392.8914
+ 3493.4834 2722.1954
+ 23116555.9834 -10081349.60949 -7831224.45346 23116555.8834 23116560.3724
+ -2842.5894 -2215.0054
+ 23232927.0974 -12566529.97349 -9771228.36645 23232926.7514 23232932.4914
+ -3248.0454 -2530.9484
+ 24454047.6964 -4260622.32749 -3305238.16845 24454048.4614 24454051.4134
+ 2567.2484 2000.4584
+ 20168273.6774 -23431876.87349 -17949873.31148 20168273.9654 20168278.0784
+ -1646.4834 -1282.9764
+ 21391162.7394 -20717387.27349 -16093134.55648 21391162.7074 21391167.0014
+ -2211.7734 -1723.4584
+ 20525479.5804 -22781063.02349 -17498326.53748 20525478.9204 20525482.3844
+ 1629.8814 1270.0374
+ 24102492.6594 -3017469.96049 -2329198.35646 24102491.5464 24102498.1234
+ -2656.9434 -2070.3444
+ 05 1 20 2 3 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23247774.7004 -7396526.43849 -5742607.06146 23247774.6864 23247779.8514
+ 3610.6034 2813.4634
+ 22073219.5494 -17843422.73549 -13885769.30247 22073218.7724 22073223.1284
+ 1949.6094 1519.1764
+ 23553455.5174 -5068560.74549 -3929203.05445 23553453.1164 23553458.0214
+ 3490.3604 2719.7634
+ 23132803.1574 -9995974.45249 -7764698.35746 23132803.0334 23132807.3054
+ -2849.3594 -2220.2894
+ 23251496.2434 -12468954.40749 -9695195.45345 23251495.5724 23251501.7884
+ -3257.0384 -2537.9534
+ 24439396.1604 -4337612.50149 -3365230.53545 24439396.0174 24439399.6294
+ 2565.4834 1999.0634
+ 20177722.2864 -23382226.15349 -17911184.43348 20177721.9914 20177726.5144
+ -1663.5454 -1296.2754
+ 21403818.9884 -20650877.38449 -16041308.66948 21403819.4594 21403823.1264
+ -2222.1814 -1731.5744
+ 20516216.8184 -22829741.59749 -17536257.89448 20516215.8744 20516219.1544
+ 1615.3634 1258.7214
+ 24117665.3314 -2937745.73549 -2267075.61646 24117663.6894 24117669.1034
+ -2658.0634 -2071.2224
+ 05 1 20 2 3 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23227176.0644 -7504774.27649 -5826956.01046 23227175.2874 23227179.9994
+ 3605.9624 2809.8454
+ 22062102.2154 -17901840.86849 -13931289.91347 22062102.0314 22062106.7674
+ 1944.9364 1515.5354
+ 23533536.4124 -5173221.53349 -4010756.90045 23533536.2334 23533542.8044
+ 3487.0274 2717.1684
+ 23149087.3314 -9910396.60349 -7698014.32546 23149087.4674 23149092.7444
+ -2856.0714 -2225.5264
+ 23270114.8114 -12371109.93149 -9618953.00845 23270115.2824 23270120.6654
+ -3266.0134 -2544.9484
+ 24424755.7404 -4414549.12349 -3425181.14145 24424756.5394 24424759.1304
+ 2563.6254 1997.6284
+ 20187266.7944 -23332065.28949 -17872098.04048 20187266.9834 20187271.7254
+ -1680.5254 -1309.4964
+ 21416535.2644 -20584055.37849 -15989239.57548 21416535.3584 21416539.3744
+ -2232.5274 -1739.6314
+ 20507035.5484 -22877983.89249 -17573849.28948 20507035.2224 20507038.9354
+ 1600.7704 1247.3574
+ 24132841.0664 -2857984.84249 -2204924.27146 24132841.7254 24132846.4144
+ -2659.3214 -2072.2104
+ 05 1 20 2 4 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23206602.9884 -7612879.68649 -5911193.98446 23206602.7954 23206608.4424
+ 3601.0784 2806.0274
+ 22051012.8584 -17960118.22049 -13976700.83447 22051012.4804 22051016.7954
+ 1940.2254 1511.8684
+ 23513640.0284 -5277783.04349 -4092233.37445 23513638.8064 23513645.1044
+ 3483.6814 2714.5604
+ 23165410.1124 -9824619.22049 -7631174.82746 23165410.7514 23165416.3054
+ -2862.6704 -2230.6424
+ 23288785.1514 -12272997.85949 -9542502.01045 23288785.5214 23288789.1374
+ -3274.8174 -2551.8004
+ 24410127.6794 -4491432.21549 -3485090.02246 24410127.0754 24410129.6194
+ 2561.8684 1996.2644
+ 20196909.2494 -23281396.89349 -17832616.17848 20196909.0134 20196913.5144
+ -1697.3814 -1322.6364
+ 21429309.6604 -20516923.50749 -15936929.02548 21429309.6454 21429314.4534
+ -2242.8484 -1747.6714
+ 20497938.8414 -22925787.38049 -17611098.76648 20497938.5394 20497942.2664
+ 1586.1134 1235.9344
+ 24148028.1584 -2778187.32549 -2142744.39846 24148027.3664 24148032.3604
+ -2660.5464 -2073.1524
+ 05 1 20 2 4 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23186058.0194 -7720839.25149 -5995318.31446 23186058.4444 23186064.5274
+ 3596.1954 2802.2334
+ 22039950.2534 -18018254.31549 -14022001.68447 22039950.0374 22039954.0084
+ 1935.5374 1508.2084
+ 23493761.9874 -5382243.21649 -4173630.88246 23493760.9694 23493767.5884
+ 3480.2884 2711.9074
+ 23181769.9424 -9738645.19349 -7564182.10146 23181769.7904 23181776.2254
+ -2869.1814 -2235.7304
+ 23307506.8774 -12174619.97349 -9465843.91945 23307506.5364 23307511.1744
+ -3283.7184 -2558.7414
+ 24395506.4844 -4568261.75549 -3544957.20045 24395506.4044 24395508.1924
+ 2560.0924 1994.8734
+ 20206646.7314 -23230223.47449 -17792740.78648 20206646.8524 20206651.5054
+ -1714.1754 -1335.7224
+ 21442142.6074 -20449484.49449 -15884379.14248 21442142.5904 21442147.3244
+ -2253.0534 -1755.6294
+ 20488926.2464 -22973149.60349 -17648004.39748 20488925.8034 20488929.5574
+ 1571.3684 1224.4424
+ 24163217.1164 -2698353.67149 -2080536.40846 24163217.1014 24163224.5444
+ -2661.6564 -2074.0174
+ 05 1 20 2 5 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23165543.3084 -7828649.71849 -6079326.45546 23165543.2384 23165548.4014
+ 3591.1684 2798.3064
+ 22028914.8114 -18076248.64749 -14067192.08247 22028913.7814 22028917.8124
+ 1930.7964 1504.5184
+ 23473903.0764 -5486599.92749 -4254947.79446 23473902.6194 23473908.7014
+ 3476.7654 2709.1724
+ 23198168.0354 -9652477.58149 -7497038.52046 23198167.4234 23198173.2914
+ -2875.6094 -2240.7374
+ 23326277.7894 -12075978.05549 -9388980.08745 23326276.2574 23326282.1514
+ -3292.4964 -2565.5844
+ 24380896.3284 -4645037.49949 -3604782.46245 24380895.3844 24380898.2494
+ 2558.1824 1993.3904
+ 20216480.1194 -23178547.42849 -17752473.73748 20216480.2554 20216485.0944
+ -1730.8774 -1348.7364
+ 21455033.7754 -20381740.18149 -15831591.36948 21455033.6534 21455038.5994
+ -2263.1714 -1763.5084
+ 20479997.6874 -23020068.67449 -17684564.70648 20479997.2254 20480000.9244
+ 1556.5524 1212.8964
+ 24178417.6014 -2618484.06749 -2018300.35346 24178416.7354 24178421.0104
+ -2662.9224 -2074.9974
+ 05 1 20 2 5 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23145058.2954 -7936307.66549 -6163215.75546 23145056.8694 23145062.2274
+ 3586.0124 2794.2924
+ 22017905.1284 -18134101.07349 -14112271.88947 22017904.9464 22017909.0644
+ 1926.0714 1500.8354
+ 23454065.7444 -5590850.75749 -4336182.20946 23454065.1844 23454070.4984
+ 3473.1894 2706.3854
+ 23214601.1834 -9566119.37549 -7429746.43346 23214600.8264 23214605.7144
+ -2881.8944 -2245.6234
+ 23345097.6394 -11977073.04549 -9311911.28245 23345097.2044 23345102.2834
+ -3301.2284 -2572.3814
+ 24366296.6894 -4721759.45149 -3664565.74146 24366298.0494 24366299.8484
+ 2556.5184 1992.0944
+ 20226409.0584 -23126371.50249 -17711817.17448 20226409.5544 20226413.6794
+ -1747.4854 -1361.6764
+ 21467983.1824 -20313693.09749 -15778567.67048 21467983.1784 21467987.5144
+ -2273.2294 -1771.3444
+ 20471154.3644 -23066542.19049 -17720777.83748 20471153.8404 20471157.3264
+ 1541.6634 1201.2954
+ 24193625.2624 -2538578.49149 -1956036.27846 24193623.6204 24193628.4324
+ -2664.1244 -2075.9314
+ 05 1 20 2 6 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23124600.4394 -8043809.77349 -6246983.63246 23124599.7314 23124604.7624
+ 3580.7904 2790.2264
+ 22006923.2564 -18191811.69349 -14157241.19447 22006923.1034 22006927.1524
+ 1921.3264 1497.1364
+ 23434250.0184 -5694993.48749 -4417332.38646 23434246.9884 23434252.7784
+ 3469.5874 2703.5674
+ 23231070.9064 -9479573.33249 -7362307.96046 23231070.9334 23231075.6904
+ -2888.1054 -2250.4724
+ 23363969.3684 -11877906.97149 -9234639.01845 23363968.5944 23363973.1654
+ -3309.9154 -2579.1584
+ 24351708.9904 -4798427.61849 -3724307.17846 24351708.0734 24351710.3064
+ 2554.7204 1990.6884
+ 20236432.8914 -23073697.83749 -17670772.75548 20236432.9884 20236437.2374
+ -1764.0514 -1374.5904
+ 21480989.6634 -20245345.42249 -15725309.74248 21480989.2074 21480993.4304
+ -2283.2024 -1779.1254
+ 20462396.1134 -23112568.12849 -17756642.20248 20462395.5664 20462398.9534
+ 1526.7014 1189.6334
+ 24208834.9254 -2458636.97749 -1893744.21546 24208834.1624 24208840.8434
+ -2665.3424 -2076.8834
+ 05 1 20 2 6 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23104172.5854 -8151152.59749 -6330627.39646 23104173.4884 23104178.0714
+ 3575.3674 2785.9994
+ 21995968.6124 -18249380.20849 -14202099.77947 21995968.3084 21995972.0034
+ 1916.6034 1493.4654
+ 23414450.8494 -5799026.06549 -4498396.71846 23414450.9804 23414456.0324
+ 3465.8794 2700.6824
+ 23247574.3084 -9392842.66249 -7294725.61046 23247574.6144 23247579.8934
+ -2894.1804 -2255.2024
+ 23382888.1534 -11778481.34149 -9157164.51745 23382887.7994 23382893.9154
+ -3318.5234 -2585.8644
+ 24337126.8634 -4875041.96749 -3784006.66245 24337128.5484 24337129.3354
+ 2552.9184 1989.2964
+ 20246550.5024 -23020529.49649 -17629342.87548 20246550.5624 20246554.8594
+ -1780.5144 -1387.4144
+ 21494052.3164 -20176699.85049 -15671819.68048 21494052.1054 21494056.2974
+ -2293.1204 -1786.8454
+ 20453723.2734 -23158144.19549 -17792156.01848 20453722.6784 20453726.0324
+ 1511.6824 1177.9334
+ 24224055.0074 -2378659.85349 -1831424.38746 24224054.2674 24224059.7954
+ -2666.5134 -2077.8034
+ 05 1 20 2 7 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23083778.1294 -8258332.81649 -6414144.45846 23083777.3794 23083783.0844
+ 3569.9094 2781.7524
+ 21985041.1194 -18306806.39149 -14246847.44847 21985040.6794 21985043.9174
+ 1911.8444 1489.7514
+ 23394676.0914 -5902945.88549 -4579373.21446 23394675.4894 23394680.8904
+ 3462.0724 2697.7174
+ 23264112.3264 -9305930.35749 -7227001.75646 23264112.6494 23264118.3114
+ -2900.1804 -2259.8744
+ 23401859.2244 -11678797.98849 -9079489.19545 23401856.9924 23401862.9154
+ -3327.0624 -2592.5044
+ 24322559.1674 -4951602.45949 -3843664.15246 24322559.8214 24322561.7484
+ 2551.1384 1987.8944
+ 20256761.4444 -22966868.50049 -17587529.10948 20256761.8624 20256766.1074
+ -1796.8914 -1400.1744
+ 21507171.4734 -20107758.42549 -15618099.09348 21507171.6214 21507175.5274
+ -2302.9304 -1794.4944
+ 20445136.4364 -23203268.37649 -17827317.72448 20445135.8214 20445139.3634
+ 1496.5764 1166.1644
+ 24239279.7834 -2298647.18649 -1769076.87346 24239278.9994 24239285.5254
+ -2667.7064 -2078.7304
+ 05 1 20 2 7 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23063411.9454 -8365346.99249 -6497532.09046 23063412.9824 23063419.3664
+ 3564.3474 2777.4164
+ 21974140.1344 -18364089.61749 -14291483.72547 21974140.0054 21974143.1464
+ 1907.0584 1486.0194
+ 23374923.6764 -6006750.59449 -4660259.99146 23374921.7204 23374927.5874
+ 3458.2254 2694.7214
+ 23280687.6414 -9218839.40049 -7159138.68346 23280685.9634 23280691.9594
+ -2906.1254 -2264.5114
+ 23420876.2394 -11578857.85549 -9001613.77045 23420876.0214 23420880.5564
+ -3335.6044 -2599.1704
+ 24308001.2314 -5028108.90649 -3903279.56646 24308000.7944 24308002.9194
+ 2549.3094 1986.4734
+ 20267066.4894 -22912717.91149 -17545333.84148 20267066.3364 20267070.7714
+ -1813.1484 -1412.8424
+ 21520345.9794 -20038523.54649 -15564149.83348 21520346.2124 21520350.7534
+ -2312.6654 -1802.0764
+ 20436635.3974 -23247938.41849 -17862125.54648 20436634.9674 20436638.9934
+ 1481.4044 1154.3454
+ 24254512.9444 -2218599.19049 -1706701.85545 24254511.4964 24254517.9154
+ -2668.8504 -2079.6214
+ 05 1 20 2 8 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23043081.9194 -8472191.67749 -6580787.70246 23043081.7404 23043085.2224
+ 3558.6234 2772.9454
+ 21963266.5064 -18421229.54549 -14336008.34547 21963266.2774 21963269.9804
+ 1902.2964 1482.3144
+ 23355191.1734 -6110437.88749 -4741055.29146 23355190.8924 23355196.1944
+ 3454.2754 2691.6384
+ 23297293.0014 -9131572.67349 -7091138.66646 23297292.4454 23297297.7274
+ -2911.9104 -2269.0334
+ 23439942.3334 -11478663.20149 -8923540.00945 23439941.2674 23439946.7204
+ -3344.0644 -2605.7644
+ 24293453.2324 -5104561.10149 -3962852.72445 24293452.4634 24293453.8074
+ 2547.4084 1985.0004
+ 20277463.6234 -22858079.83349 -17502758.72048 20277463.6544 20277468.1834
+ -1829.3864 -1425.4944
+ 21533576.6424 -19968997.51949 -15509973.70447 21533576.5564 21533580.8864
+ -2322.2934 -1809.5804
+ 20428222.2444 -23292152.16349 -17896577.81948 20428221.7534 20428225.1744
+ 1466.1524 1142.4574
+ 24269753.3324 -2138515.90849 -1644299.29445 24269753.0354 24269758.8934
+ -2669.9954 -2080.5164
+ 05 1 20 2 8 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23022781.7954 -8578863.46349 -6663908.56046 23022782.4664 23022788.0434
+ 3552.8054 2768.4194
+ 21952419.6224 -18478226.10549 -14380421.24347 21952419.5324 21952423.7984
+ 1897.4854 1478.5604
+ 23335482.7544 -6214005.48749 -4821757.30846 23335482.6954 23335487.8464
+ 3450.2184 2688.4764
+ 23313931.5654 -9044133.19349 -7023004.01546 23313931.3084 23313936.3204
+ -2917.6244 -2273.4744
+ 23459056.2404 -11378215.62249 -8845269.21045 23459056.0134 23459062.2864
+ -3352.4884 -2612.3344
+ 24278914.5694 -5180959.22549 -4022383.72246 24278913.9884 24278916.1584
+ 2545.6994 1983.6574
+ 20287952.7414 -22802957.26749 -17459806.07048 20287953.2074 20287957.5824
+ -1845.4674 -1438.0254
+ 21546862.6504 -19899182.61649 -15455572.47347 21546862.1094 21546866.4454
+ -2331.9294 -1817.0874
+ 20419895.2724 -23335907.43549 -17930672.83348 20419895.0954 20419899.1004
+ 1450.8384 1130.5254
+ 24285000.6034 -2058397.46549 -1581869.39245 24284998.8084 24285002.3484
+ -2671.2264 -2081.4694
+ 05 1 20 2 9 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 23002517.6154 -8685359.13349 -6746892.19946 23002516.7074 23002522.5334
+ 3546.8904 2763.8134
+ 21941601.2834 -18535079.15649 -14424722.30247 21941601.0944 21941605.5274
+ 1892.7044 1474.8394
+ 23315798.1014 -6317451.11449 -4902364.28846 23315797.3654 23315802.4104
+ 3446.0954 2685.2734
+ 23330603.8794 -8956524.00649 -6954737.10746 23330602.7334 23330608.3134
+ -2923.2674 -2277.8704
+ 23478220.1534 -11277516.13849 -8766802.05745 23478218.9354 23478224.0724
+ -3360.8674 -2618.8624
+ 24264388.3334 -5257303.14749 -4081872.43946 24264386.6344 24264387.0594
+ 2543.9034 1982.2584
+ 20298534.2544 -22747352.53049 -17416477.70448 20298534.2044 20298538.9624
+ -1861.5194 -1450.5334
+ 21560201.1584 -19829081.19849 -15400947.99747 21560201.5014 21560206.0154
+ -2341.4414 -1824.4994
+ 20411657.4934 -23379202.15149 -17964408.97748 20411656.8664 20411660.1574
+ 1435.4554 1118.5374
+ 24300250.3444 -1978244.14649 -1519412.28445 24300250.7684 24300257.7844
+ -2672.2954 -2082.3154
+ 05 1 20 2 9 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22982285.8014 -8791675.04349 -6829735.75346 22982286.0664 22982291.4644
+ 3540.8044 2759.0594
+ 21930811.0264 -18591788.37749 -14468911.30047 21930810.0174 21930813.4754
+ 1887.9094 1471.0984
+ 23296138.1594 -6420772.44549 -4982874.41846 23296136.4874 23296141.5924
+ 3441.9524 2682.0304
+ 23347306.3914 -8868747.97749 -6886340.22146 23347305.9224 23347310.7224
+ -2928.7674 -2282.1534
+ 23497429.3934 -11176567.34349 -8688140.67545 23497428.0774 23497433.6434
+ -3369.1714 -2625.3264
+ 24249869.7734 -5333592.75549 -4141318.84845 24249870.0954 24249870.3024
+ 2542.0764 1980.8434
+ 20309206.6974 -22691268.36849 -17372775.75048 20309206.9084 20309211.1904
+ -1877.4394 -1462.9384
+ 21573595.4874 -19758695.50649 -15346102.00647 21573595.6094 21573599.8664
+ -2350.8644 -1831.8414
+ 20403506.7704 -23422034.16449 -17997784.57048 20403506.1944 20403509.4154
+ 1419.9904 1106.4844
+ 24315513.3924 -1898056.01349 -1456928.00845 24315510.9094 24315515.5764
+ -2673.5324 -2083.2704
+ 05 1 20 2 10 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22962088.3974 -8897807.71549 -6912436.53146 22962089.8184 22962095.2084
+ 3534.6674 2754.2974
+ 21920046.5064 -18648353.71549 -14512988.20547 21920046.5404 21920049.4354
+ 1883.0994 1467.3524
+ 23276498.3784 -6523967.11849 -5063285.86046 23276498.8714 23276504.3314
+ 3437.6644 2678.7214
+ 23364040.0374 -8780808.21749 -6817815.73746 23364040.2504 23364046.6074
+ -2934.1374 -2286.3424
+ 23516685.6564 -11075370.08249 -8609285.65845 23516685.0304 23516690.9694
+ -3377.4284 -2631.7714
+ 24235362.3204 -5409827.93249 -4200722.89146 24235363.3164 24235363.3634
+ 2540.2554 1979.4314
+ 20319969.6094 -22634707.20049 -17328702.11848 20319969.8634 20319974.4454
+ -1893.3244 -1475.3204
+ 21587043.2774 -19688027.99349 -15291036.41447 21587043.3264 21587047.2584
+ -2360.2464 -1839.1544
+ 20395445.0264 -23464401.53149 -18030798.10848 20395443.8474 20395447.3524
+ 1404.4824 1094.4014
+ 24330774.8734 -1817833.32949 -1394416.89645 24330775.9724 24330782.3744
+ -2674.6604 -2084.1424
+ 05 1 20 2 10 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22941930.0034 -9003753.82049 -6994991.92546 22941928.5904 22941933.7854
+ 3528.3914 2749.3894
+ 21909310.0844 -18704774.24849 -14556952.25347 21909309.6174 21909313.1714
+ 1878.2804 1463.5934
+ 23256886.3704 -6627032.84149 -5143596.78246 23256886.3394 23256891.6304
+ 3433.3654 2675.3484
+ 23380803.6014 -8692707.80649 -6749166.08646 23380804.5304 23380810.9884
+ -2939.4794 -2290.5064
+ 23535989.4304 -10973926.23249 -8530238.53545 23535989.7004 23535996.0474
+ -3385.5684 -2638.1084
+ 24220866.3544 -5486008.75949 -4260084.58346 24220865.3134 24220867.8254
+ 2538.4754 1978.0394
+ 20330823.5224 -22577671.79249 -17284258.93648 20330823.3124 20330828.0114
+ -1909.0454 -1487.5664
+ 21600544.2274 -19617080.86949 -15235752.93247 21600543.9704 21600548.1454
+ -2369.4894 -1846.3564
+ 20387470.6054 -23506302.26149 -18063448.02548 20387470.1614 20387474.1174
+ 1388.8934 1082.2574
+ 24346048.8684 -1737576.18049 -1331878.82245 24346048.0284 24346055.0244
+ -2675.8114 -2085.0464
+ 05 1 20 2 11 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22921805.1494 -9109510.15149 -7077399.45146 22921804.8304 22921808.4304
+ 3522.0104 2744.4264
+ 21898600.9164 -18761049.90449 -14600803.41847 21898600.7274 21898604.1644
+ 1873.4264 1459.8154
+ 23237298.4354 -6729967.28149 -5223805.43446 23237297.9684 23237304.4184
+ 3428.8894 2671.8494
+ 23397601.1004 -8604449.60449 -6680393.46746 23397600.2364 23397606.3504
+ -2944.7524 -2294.6044
+ 23555339.7414 -10872237.31949 -8451000.39945 23555339.5684 23555346.7994
+ -3393.7834 -2644.5124
+ 24206377.8674 -5562135.08749 -4319403.75546 24206377.4994 24206381.9204
+ 2536.6464 1976.6054
+ 20341766.7494 -22520164.77449 -17239448.27648 20341766.5904 20341771.4694
+ -1924.7494 -1499.8044
+ 21614097.3614 -19545856.51249 -15180253.43647 21614097.4484 21614102.0714
+ -2378.7104 -1853.5294
+ 20379586.4084 -23547733.99749 -18095732.49348 20379585.8984 20379589.6664
+ 1373.2074 1070.0334
+ 24361328.3374 -1657284.35049 -1269313.80345 24361326.9454 24361333.6714
+ -2677.0144 -2085.9914
+ 05 1 20 2 11 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22901715.9354 -9215073.10249 -7159656.27546 22901715.5374 22901720.4124
+ 3515.4864 2739.3264
+ 21887919.8074 -18817180.30849 -14644541.37447 21887919.2054 21887923.1174
+ 1868.5714 1456.0334
+ 23217735.8154 -6832768.06449 -5303909.90546 23217735.6444 23217741.4654
+ 3424.3744 2668.3434
+ 23414425.3774 -8516036.56549 -6611500.21346 23414424.6424 23414431.1324
+ -2949.8194 -2298.5634
+ 23574738.8764 -10770305.45149 -8371573.00745 23574737.7224 23574743.0144
+ -3401.7814 -2650.7394
+ 24191903.0924 -5638206.62849 -4378680.27146 24191903.6274 24191904.0114
+ 2534.8144 1975.1774
+ 20352798.6984 -22462188.74149 -17194272.14748 20352799.0164 20352803.6414
+ -1940.3454 -1511.9564
+ 21627702.9654 -19474357.29449 -15124539.75647 21627703.2904 21627707.9174
+ -2387.8634 -1860.6684
+ 20371792.2274 -23588694.61149 -18127649.85348 20371791.3544 20371795.2044
+ 1357.4594 1057.7624
+ 24376614.2384 -1576958.23749 -1206722.06245 24376612.7004 24376618.9384
+ -2678.1104 -2086.8364
+ 05 1 20 2 12 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22881664.0474 -9320439.20549 -7241759.74446 22881664.6684 22881671.3234
+ 3508.9094 2734.2064
+ 21877266.4174 -18873165.49749 -14688166.18747 21877265.9354 21877269.7784
+ 1863.7724 1452.2894
+ 23198199.8154 -6935432.61149 -5383908.23946 23198198.7714 23198205.3554
+ 3419.8744 2664.8304
+ 23431281.2394 -8427471.69149 -6542488.63146 23431279.5194 23431284.0204
+ -2954.7524 -2302.4114
+ 23594179.6644 -10668132.21649 -8291957.53145 23594179.9354 23594185.5014
+ -3409.7844 -2656.9724
+ 24177436.8924 -5714223.60849 -4437914.32545 24177436.6974 24177439.0564
+ 2532.9994 1973.7524
+ 20363920.2834 -22403746.48049 -17148732.72448 20363920.2204 20363924.9684
+ -1955.8384 -1524.0284
+ 21641361.2524 -19402585.43749 -15068613.63147 21641361.3684 21641365.7524
+ -2396.8914 -1867.7064
+ 20364087.2484 -23629182.55149 -18159198.90248 20364086.8934 20364090.5624
+ 1341.6934 1045.4754
+ 24391906.6294 -1496598.03749 -1144103.75245 24391905.7014 24391909.6924
+ -2679.2214 -2087.7064
+ 05 1 20 2 12 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22861653.5654 -9425605.19549 -7323707.26546 22861653.2804 22861658.3704
+ 3502.1204 2728.9164
+ 21866640.6064 -18929005.34249 -14731677.75147 21866640.3334 21866643.6144
+ 1858.8934 1448.4874
+ 23178690.7294 -7037958.56649 -5463798.58646 23178689.0004 23178694.5604
+ 3415.1794 2661.1744
+ 23448160.4754 -8338758.10249 -6473361.17046 23448161.0774 23448165.1974
+ -2959.7944 -2306.3464
+ 23613669.6524 -10565719.12549 -8212155.09845 23613667.8914 23613675.1914
+ -3417.8664 -2663.2854
+ 24162980.2184 -5790185.93749 -4497105.68346 24162980.7524 24162985.8094
+ 2531.1564 1972.3354
+ 20375129.9264 -22344840.32749 -17102831.82348 20375129.8254 20375134.2844
+ -1971.2554 -1536.0484
+ 21655070.3334 -19330543.23249 -15012476.85847 21655070.4404 21655075.2634
+ -2405.8814 -1874.7124
+ 20356473.1724 -23669194.98749 -18190377.42448 20356472.8454 20356476.3954
+ 1325.8034 1033.0944
+ 24407204.3154 -1416204.01449 -1081459.05146 24407203.1484 24407209.7994
+ -2680.3414 -2088.5764
+ 05 1 20 2 13 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22841679.2054 -9530567.57449 -7405496.12346 22841679.2934 22841683.0404
+ 3495.3274 2723.6304
+ 21856042.0074 -18984698.97849 -14775075.38347 21856041.6524 21856045.6174
+ 1854.0024 1444.6774
+ 23159206.1404 -7140343.53549 -5543579.07746 23159205.9174 23159211.3864
+ 3410.4224 2657.4714
+ 23465069.2054 -8249898.68649 -6404120.08946 23465069.5104 23465074.7524
+ -2964.5134 -2310.0024
+ 23633200.3114 -10463067.52449 -8132166.86845 23633201.3594 23633208.8974
+ -3425.7164 -2669.3894
+ 24148535.7524 -5866093.27349 -4556254.22946 24148537.6334 24148539.7164
+ 2529.3304 1970.9054
+ 20386426.5224 -22285473.17149 -17056571.70248 20386426.8874 20386431.4124
+ -1986.5944 -1547.9964
+ 21668830.6604 -19258233.02849 -14956131.24047 21668830.0804 21668835.1584
+ -2414.7484 -1881.6214
+ 20348949.9334 -23708730.58349 -18221184.38448 20348949.4034 20348952.9414
+ 1309.8724 1020.6794
+ 24422511.2494 -1335775.69849 -1018787.67546 24422510.5584 24422514.6594
+ -2681.5394 -2089.5104
+ 05 1 20 2 13 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22821744.8564 -9635323.00749 -7487123.72746 22821745.0864 22821749.7434
+ 3488.3634 2718.2054
+ 21845471.6964 -19040246.36249 -14818359.04747 21845471.2614 21845474.9934
+ 1849.1754 1440.9154
+ 23139750.0754 -7242585.08549 -5623247.82746 23139749.9574 23139755.7924
+ 3405.6504 2653.7594
+ 23482006.2014 -8160896.30149 -6334767.59346 23482006.7524 23482011.2614
+ -2969.1964 -2313.6614
+ 23652781.9774 -10360179.68849 -8051994.54645 23652781.4914 23652787.2104
+ -3433.5774 -2675.5184
+ 24134103.9494 -5941945.65149 -4615359.99846 24134102.9274 24134103.4954
+ 2527.5344 1969.5034
+ 20397811.1524 -22225647.74049 -17009954.48448 20397811.5324 20397815.8794
+ -2001.7754 -1559.8224
+ 21682641.2214 -19185657.12049 -14899578.59047 21682640.9714 21682645.9824
+ -2423.5674 -1888.4934
+ 20341518.0844 -23747786.56049 -18251617.61448 20341517.4134 20341520.7804
+ 1293.8754 1008.2164
+ 24437821.5254 -1255313.59949 -956089.97645 24437819.8894 24437825.7614
+ -2682.5564 -2090.3004
+ 05 1 20 2 14 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22801851.1564 -9739867.79249 -7568587.20046 22801850.4754 22801855.7294
+ 3481.2534 2712.6654
+ 21834929.7504 -19095646.89649 -14861528.29447 21834929.2884 21834932.6144
+ 1844.2454 1437.0704
+ 23120322.2684 -7344680.81049 -5702802.94446 23120321.9194 23120327.3674
+ 3400.6924 2649.8904
+ 23498971.2714 -8071754.05549 -6265306.11546 23498969.3204 23498974.6104
+ -2973.7794 -2317.2224
+ 23672405.4864 -10257057.22749 -7971639.39945 23672404.8874 23672411.4234
+ -3441.3984 -2681.6144
+ 24119681.1394 -6017743.01049 -4674422.84746 24119679.8494 24119681.7134
+ 2525.6804 1968.0584
+ 20409282.0674 -22165366.72049 -16962982.25948 20409282.4464 20409286.9314
+ -2016.9534 -1571.6524
+ 21696501.9404 -19112817.72649 -14842820.62147 21696502.0094 21696506.1264
+ -2432.2984 -1895.2954
+ 20334177.4184 -23786361.67849 -18281676.14548 20334177.0864 20334180.2834
+ 1277.7864 995.6814
+ 24453139.4084 -1174817.79249 -893366.00045 24453139.4094 24453143.9134
+ -2683.6734 -2091.1754
+ 05 1 20 2 14 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22781996.7954 -9844198.78149 -7649884.06846 22781996.6484 22782002.2174
+ 3474.0674 2707.0594
+ 21824414.5544 -19150900.30749 -14904582.89747 21824414.3194 21824418.3384
+ 1839.3334 1433.2434
+ 23100922.5544 -7446628.28849 -5782242.54346 23100922.3184 23100927.4534
+ 3395.7424 2646.0284
+ 23515959.1124 -7982474.92149 -6195737.98046 23515958.5514 23515964.2164
+ -2978.3024 -2320.7784
+ 23692074.1354 -10153701.74249 -7891102.73445 23692072.0814 23692077.2154
+ -3449.0424 -2687.5654
+ 24105266.8964 -6093485.13449 -4733442.66946 24105266.2524 24105269.8014
+ 2523.8234 1966.6164
+ 20420839.8984 -22104632.20349 -16915656.66748 20420839.9244 20420844.0504
+ -2032.0174 -1583.3884
+ 21710413.2314 -19039717.27649 -14785859.23347 21710412.7084 21710417.4724
+ -2440.9854 -1902.0614
+ 20326928.9784 -23824453.29149 -18311357.92548 20326928.4004 20326931.7884
+ 1261.6454 983.1024
+ 24468462.4994 -1094288.48149 -830615.91145 24468462.1804 24468468.1134
+ -2684.8714 -2092.1024
+ 05 1 20 2 15 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22762185.4904 -9948312.39949 -7731011.58546 22762184.7594 22762189.7204
+ 3466.7854 2701.4034
+ 21813928.9214 -19206006.55649 -14947522.82647 21813928.2884 21813931.9274
+ 1834.4284 1429.4224
+ 23081551.7264 -7548425.09049 -5861564.70346 23081551.2624 23081555.9714
+ 3390.6554 2642.0674
+ 23532973.3034 -7893061.90849 -6126065.52046 23532973.0454 23532978.8794
+ -2982.7774 -2324.2534
+ 23711784.0794 -10050114.88049 -7810385.62445 23711783.9514 23711792.3254
+ -3456.7464 -2693.5724
+ 24090864.2854 -6169171.97249 -4792419.45546 24090863.9264 24090865.9924
+ 2521.9704 1965.1874
+ 20432482.5864 -22043447.48449 -16867980.25748 20432482.5974 20432487.3204
+ -2046.9614 -1595.0374
+ 21724372.8704 -18966357.90849 -14728696.08647 21724372.5234 21724377.0684
+ -2449.5834 -1908.7654
+ 20319772.5174 -23862059.97649 -18340661.83748 20319772.0894 20319775.3484
+ 1245.4604 970.4864
+ 24483791.7504 -1013725.56549 -767839.65645 24483791.0614 24483796.1464
+ -2686.0014 -2092.9884
+ 05 1 20 2 15 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22742414.7064 -10052205.13449 -7811966.95646 22742414.8614 22742420.3184
+ 3459.3854 2695.6334
+ 21803470.3614 -19260964.85349 -14990347.46947 21803470.0194 21803473.4704
+ 1829.4684 1425.5594
+ 23062210.1764 -7650069.02249 -5940767.78846 23062208.6354 23062214.5204
+ 3385.5434 2638.0734
+ 23550013.5584 -7803518.01549 -6056291.06746 23550012.9954 23550018.3634
+ -2987.1004 -2327.6064
+ 23731540.4064 -9946298.46649 -7729489.75045 23731539.8754 23731546.3414
+ -3464.4304 -2699.5644
+ 24076471.1544 -6244803.46649 -4851353.06546 24076469.4744 24076473.4794
+ 2520.0844 1963.6974
+ 20444211.0154 -21981815.22449 -16819955.11848 20444211.0774 20444215.4114
+ -2061.8884 -1606.6664
+ 21738380.7324 -18892742.09549 -14671333.11747 21738380.9544 21738385.5824
+ -2458.1014 -1915.4034
+ 20312708.9164 -23899179.38149 -18369586.04948 20312708.3094 20312711.6834
+ 1229.1554 957.7794
+ 24499130.2874 -933129.13949 -705037.27945 24499128.2414 24499136.6864
+ -2687.1594 -2093.8854
+ 05 1 20 2 16 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22722687.4784 -10155873.63249 -7892747.63346 22722687.3964 22722691.6314
+ 3451.8464 2689.7494
+ 21793040.0394 -19315775.02049 -15033056.68647 21793039.7534 21793043.7204
+ 1824.5224 1421.7064
+ 23042896.4574 -7751557.50649 -6019849.69946 23042896.3664 23042901.2124
+ 3380.3274 2634.0234
+ 23567077.5944 -7713846.10549 -5986416.85846 23567077.4164 23567083.1684
+ -2991.2864 -2330.8714
+ 23751339.6754 -9842254.54349 -7648416.61845 23751340.1934 23751344.2044
+ -3471.9754 -2705.4324
+ 24062087.5204 -6320379.38449 -4910243.39646 24062088.3734 24062092.6594
+ 2518.2754 1962.2924
+ 20456023.2984 -21919737.83549 -16771583.13048 20456023.7314 20456028.5844
+ -2076.6284 -1618.1524
+ 21752438.6294 -18818871.99949 -14613772.00347 21752438.3514 21752442.5204
+ -2466.5324 -1921.9754
+ 20305738.3244 -23935809.53249 -18398129.02748 20305737.9564 20305741.4554
+ 1212.8314 945.0624
+ 24514473.5324 -852499.49649 -642208.99145 24514473.0574 24514479.6534
+ -2688.2084 -2094.7064
+ 05 1 20 2 16 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22703002.5334 -10259314.48349 -7973350.89646 22703002.3184 22703008.1844
+ 3444.2144 2683.8054
+ 21782638.7334 -19370436.88249 -15075650.34447 21782637.9644 21782642.1754
+ 1819.6104 1417.8804
+ 23023614.3444 -7852887.93649 -6098808.49746 23023613.6554 23023619.2964
+ 3375.0264 2629.8934
+ 23584163.1484 -7624049.32449 -5916445.38046 23584164.3594 23584170.1404
+ -2995.4044 -2334.0814
+ 23771180.8834 -9737984.42349 -7567167.19845 23771181.6044 23771189.1004
+ -3479.4204 -2711.2364
+ 24047719.2664 -6395899.88049 -4969090.53046 24047718.8164 24047719.9734
+ 2516.4584 1960.8794
+ 20467921.1554 -21857218.13749 -16722866.48448 20467921.0314 20467925.5874
+ -2091.3284 -1629.6044
+ 21766542.9674 -18744749.95249 -14556014.56447 21766542.8124 21766547.7834
+ -2474.8904 -1928.4864
+ 20298861.7714 -23971948.54849 -18426289.30148 20298861.0574 20298864.3944
+ 1196.4184 932.2774
+ 24529824.0944 -771836.73849 -579354.91745 24529822.4184 24529828.8464
+ -2689.3094 -2095.5644
+ 05 1 20 2 17 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22683363.6064 -10362524.29749 -8053774.12646 22683363.0974 22683367.8574
+ 3436.4254 2677.7414
+ 21772265.1504 -19424950.33049 -15118128.35547 21772264.3854 21772268.3674
+ 1814.6344 1413.9974
+ 23004361.9284 -7954058.08849 -6177642.35646 23004360.7334 23004367.1524
+ 3369.5964 2625.6584
+ 23601275.2674 -7534130.43949 -5846378.73246 23601276.0394 23601280.3264
+ -2999.4204 -2337.2134
+ 23791063.2414 -9633490.06849 -7485743.02745 23791064.6214 23791070.5034
+ -3486.8024 -2716.9914
+ 24033358.3734 -6471364.67649 -5027894.21246 24033356.1424 24033359.8824
+ 2514.5324 1959.3614
+ 20479901.4804 -21794259.00549 -16673807.42148 20479901.9724 20479906.5604
+ -2105.9454 -1640.9964
+ 21780695.4824 -18670378.16549 -14498062.52447 21780695.4714 21780699.8024
+ -2483.1564 -1934.9314
+ 20292078.1294 -24007594.45049 -18454065.33348 20292077.8604 20292081.3504
+ 1179.9704 919.4594
+ 24545177.7394 -691140.67449 -516474.86845 24545177.4834 24545185.3404
+ -2690.4314 -2096.4404
+ 05 1 20 2 17 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22663768.8274 -10465499.45549 -8134014.53246 22663767.4494 22663772.5584
+ 3428.5474 2671.5894
+ 21761919.8724 -19479314.72349 -15160490.22547 21761919.5914 21761923.2884
+ 1809.6574 1410.1194
+ 22985139.8814 -8055065.36649 -6256349.31346 22985140.3494 22985145.6924
+ 3364.1824 2621.4434
+ 23618411.2774 -7444092.45749 -5776219.28246 23618410.0154 23618414.7014
+ -3003.3234 -2340.2644
+ 23810990.1154 -9528773.10049 -7404145.41345 23810992.5444 23810998.3994
+ -3494.3014 -2722.8364
+ 24019008.2294 -6546773.83949 -5086654.61746 24019009.8524 24019010.2074
+ 2512.7084 1957.9594
+ 20491965.8174 -21730862.88849 -16624407.84748 20491965.9154 20491970.7084
+ -2120.4634 -1652.3104
+ 21794895.0094 -18595758.88649 -14439917.63347 21794895.2814 21794899.4844
+ -2491.3914 -1941.3434
+ 20285389.1854 -24042745.54449 -18481455.79348 20285388.6134 20285392.0404
+ 1163.4284 906.5664
+ 24560540.9724 -610411.62349 -453569.11345 24560540.1824 24560547.6464
+ -2691.5014 -2097.2794
+ 05 1 20 2 18 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22644217.1814 -10568236.60749 -8214069.44946 22644217.6574 22644222.4804
+ 3420.5484 2665.3614
+ 21751603.6554 -19533529.69049 -15202735.64047 21751602.5824 21751606.4374
+ 1804.6624 1406.2324
+ 22965952.3694 -8155907.23549 -6334927.40646 22965951.5824 22965956.6744
+ 3358.5924 2617.0794
+ 23635565.7434 -7353938.45149 -5705969.43746 23635565.6624 23635570.9654
+ -3007.1744 -2343.2614
+ 23830963.1624 -9423835.33249 -7322375.76145 23830962.9764 23830966.8054
+ -3501.5904 -2728.5064
+ 24004666.8724 -6622127.14549 -5145371.48846 24004667.9154 24004670.1694
+ 2510.8214 1956.4784
+ 20504112.3204 -21667032.65749 -16574669.99848 20504112.1224 20504117.0214
+ -2134.9234 -1663.5784
+ 21809141.9974 -18520894.47249 -14381581.71847 21809141.6304 21809145.4984
+ -2499.5114 -1947.6684
+ 20278794.5174 -24077399.82649 -18508459.12848 20278794.0064 20278797.6474
+ 1146.8304 893.6354
+ 24575910.7304 -529649.67449 -390637.73645 24575909.6774 24575914.3584
+ -2692.6724 -2098.1924
+ 05 1 20 2 18 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22624712.1304 -10670732.21949 -8293936.16346 22624713.0954 22624717.6784
+ 3412.4654 2659.0664
+ 21741314.0364 -19587594.93849 -15244864.39847 21741313.8604 21741317.9724
+ 1799.6844 1402.3504
+ 22946795.3104 -8256581.19349 -6413374.63046 22946793.3564 22946798.9134
+ 3352.9884 2612.7134
+ 23652743.7794 -7263671.38449 -5635631.46646 23652742.5574 23652748.2244
+ -3010.9014 -2346.1674
+ 23850972.6244 -9318678.45649 -7240435.32845 23850972.9104 23850979.8234
+ -3508.8964 -2734.2064
+ 23990340.4234 -6697424.48449 -5204044.69146 23990340.0534 23990342.9774
+ 2508.9434 1955.0154
+ 20516340.6054 -21602770.89149 -16524595.89948 20516340.9074 20516345.5614
+ -2149.2304 -1674.7264
+ 21823433.7464 -18445787.22149 -14323056.59347 21823434.2664 21823437.9714
+ -2507.5664 -1953.9474
+ 20272294.7434 -24111555.13049 -18535073.65448 20272294.4454 20272298.0254
+ 1130.1674 880.6504
+ 24591285.1624 -448855.01849 -327680.83745 24591284.5464 24591289.3044
+ -2693.6774 -2098.9664
+ 05 1 20 2 19 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22605256.8624 -10772982.95949 -8373612.08346 22605255.7214 22605260.8844
+ 3404.2334 2652.6544
+ 21731055.6714 -19641510.04049 -15286876.17647 21731054.5534 21731058.2674
+ 1794.6554 1398.4344
+ 22927669.9324 -8357084.69649 -6491689.04846 22927668.0144 22927673.3704
+ 3347.2144 2608.2174
+ 23669941.5094 -7173294.16249 -5565207.67446 23669940.8414 23669945.9804
+ -3014.4974 -2348.9674
+ 23871023.6964 -9213304.60749 -7158325.83745 23871023.7694 23871031.8014
+ -3515.8974 -2739.6554
+ 23976022.9724 -6772665.79149 -5262674.30646 23976023.2144 23976024.0534
+ 2507.1194 1953.5934
+ 20528650.9614 -21538080.37449 -16474187.70248 20528650.8434 20528655.3104
+ -2163.4804 -1685.8294
+ 21837772.2714 -18370439.28149 -14264343.89947 21837772.3034 21837776.3274
+ -2515.5584 -1960.1744
+ 20265890.7774 -24145209.70149 -18561297.99548 20265890.1624 20265893.8004
+ 1113.4624 867.6344
+ 24606665.0754 -368027.58749 -264698.43345 24606664.5674 24606672.0534
+ -2694.8174 -2099.8634
+ 05 1 20 2 19 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22585844.4864 -10874985.35949 -8453094.47646 22585844.3634 22585850.0824
+ 3395.9114 2646.1534
+ 21720824.7354 -19695274.52049 -15328770.56647 21720823.8034 21720827.1514
+ 1789.6534 1394.5324
+ 22908575.3834 -8457415.33449 -6569868.75446 22908575.9544 22908581.4274
+ 3341.4524 2603.7364
+ 23687158.3074 -7082809.86849 -5494700.43146 23687158.2004 23687163.6594
+ -3018.0434 -2351.6954
+ 23891117.4294 -9107715.31649 -7076048.50145 23891115.9174 23891125.7654
+ -3523.2684 -2745.4044
+ 23961714.6934 -6847850.95049 -5321260.14446 23961714.4164 23961717.9514
+ 2505.1814 1952.0864
+ 20541042.0994 -21472963.82849 -16423447.54048 20541042.1464 20541046.8284
+ -2177.6234 -1696.8524
+ 21852156.0394 -18294853.05949 -14205445.54847 21852155.6364 21852159.6214
+ -2523.4414 -1966.3224
+ 20259582.4194 -24178361.66549 -18587130.69048 20259581.6734 20259585.2034
+ 1096.6814 854.5574
+ 24622054.3984 -287167.42149 -201690.54345 24622054.0784 24622057.6844
+ -2695.8914 -2100.6974
+ 05 1 20 2 20 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22566482.2374 -10976735.95249 -8532380.68446 22566482.3674 22566487.6704
+ 3387.4574 2639.5804
+ 21710621.6584 -19748888.16949 -15370547.43547 21710621.1284 21710624.7294
+ 1784.5854 1390.5864
+ 22889517.2424 -8557570.55349 -6647911.78446 22889516.6074 22889521.5954
+ 3335.5404 2599.1344
+ 23704397.8454 -6992221.23749 -5424111.92346 23704397.9604 23704402.7434
+ -3021.5484 -2354.4504
+ 23911251.2074 -9001912.42149 -6993604.71245 23911250.4844 23911258.5294
+ -3530.3074 -2750.8894
+ 23947417.8954 -6922979.91249 -5379802.14646 23947418.7694 23947420.9074
+ 2503.3864 1950.7014
+ 20553513.7054 -21407424.28949 -16372377.77348 20553514.1804 20553518.6194
+ -2191.6794 -1707.8004
+ 21866584.5464 -18219030.68749 -14146363.16747 21866584.4904 21866588.7294
+ -2531.3224 -1972.4634
+ 20253369.6664 -24211009.13949 -18612570.28848 20253369.1884 20253372.7004
+ 1079.8124 841.4144
+ 24637445.1354 -206274.75649 -138657.29145 24637444.7894 24637450.3274
+ -2696.9404 -2101.5074
+ 05 1 20 2 20 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22547168.5594 -11078231.15849 -8611467.87446 22547168.9354 22547173.3874
+ 3378.8954 2632.8994
+ 21700448.4284 -19802350.79349 -15412206.62347 21700447.6744 21700451.6094
+ 1779.5784 1386.6824
+ 22870493.1414 -8657547.73449 -6725816.06946 22870491.6554 22870496.9124
+ 3329.5674 2594.4564
+ 23721656.1934 -6901531.36849 -5353444.50946 23721654.5314 23721661.0644
+ -3024.8424 -2357.0104
+ 23931422.6384 -8895897.45049 -6910995.71345 23931424.2014 23931432.8274
+ -3537.4854 -2756.4844
+ 23933132.7104 -6998052.25049 -5438300.06346 23933133.0674 23933134.5844
+ 2501.4614 1949.1894
+ 20566065.9174 -21341464.08049 -16320980.20248 20566066.1464 20566070.4864
+ -2205.6604 -1718.6984
+ 21881057.2924 -18142974.52649 -14087098.63447 21881056.9984 21881061.6744
+ -2539.0404 -1978.4724
+ 20247253.3984 -24243150.34649 -18637615.38048 20247252.8494 20247256.2804
+ 1062.9154 828.2454
+ 24652843.3924 -125349.58449 -75598.69145 24652843.2924 24652849.7434
+ -2698.0064 -2102.3464
+ 05 1 20 2 21 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22527905.3884 -11179467.72449 -8690353.52947 22527904.5754 22527909.1764
+ 3370.2164 2626.1354
+ 21690302.4654 -19855661.75849 -15453747.62647 21690302.6054 21690306.8314
+ 1774.5064 1382.7304
+ 22851502.2394 -8757344.29149 -6803579.62846 22851501.2084 22851505.4484
+ 3323.5074 2589.7354
+ 23738930.4414 -6810743.26249 -5282700.54946 23738931.6984 23738937.6714
+ -3028.0054 -2359.4764
+ 23951639.3234 -8789672.50349 -6828223.04045 23951639.5564 23951645.4764
+ -3544.3564 -2761.8364
+ 23918857.8284 -7073067.98149 -5496753.88946 23918857.3494 23918860.5394
+ 2499.5954 1947.7354
+ 20578697.7494 -21275086.03249 -16269257.04148 20578697.3424 20578701.8624
+ -2219.5554 -1729.5204
+ 21895574.3034 -18066686.73849 -14027653.59047 21895574.1584 21895578.7914
+ -2546.7184 -1984.4574
+ 20241233.5604 -24274783.40549 -18662264.51848 20241233.1794 20241236.7024
+ 1045.9404 815.0184
+ 24668252.2264 -44391.94249 -12514.85445 24668249.7614 24668254.2904
+ -2699.0894 -2103.1904
+ 05 1 20 2 21 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22508689.2494 -11280442.20149 -8769034.94647 22508689.2304 22508694.1654
+ 3361.4014 2619.2754
+ 21680187.5004 -19908820.56349 -15495170.07147 21680187.1474 21680191.0894
+ 1769.4094 1378.7574
+ 22832546.4284 -8856957.75449 -6881200.50846 22832545.4804 22832550.3804
+ 3317.3614 2584.9584
+ 23756226.1774 -6719859.77149 -5211882.25846 23756226.6834 23756232.2064
+ -3031.1444 -2361.9334
+ 23971890.6514 -8683239.70549 -6745288.36945 23971891.4324 23971897.9874
+ -3551.2834 -2767.2354
+ 23904593.7734 -7148027.16149 -5555163.63646 23904594.5924 23904595.7534
+ 2497.6964 1946.2494
+ 20591407.4304 -21208293.00349 -16217210.53048 20591407.5074 20591412.1144
+ -2233.3294 -1740.2544
+ 21910134.1384 -17990169.60549 -13968029.85747 21910134.2674 21910139.9134
+ -2554.3464 -1990.3944
+ 20235310.7874 -24305906.55449 -18686516.32448 20235310.7264 20235314.1634
+ 1028.9024 801.7444
+ 24683665.9014 36598.12949 50594.22645 24683663.7664 24683670.0224
+ -2700.1924 -2104.0454
+ 05 1 20 2 22 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22489526.1644 -11381151.18349 -8847509.47047 22489525.4874 22489530.0914
+ 3352.4884 2612.3274
+ 21670100.6074 -19961827.25249 -15536473.99447 21670100.3224 21670104.3444
+ 1764.3334 1374.8104
+ 22813625.4754 -8956385.55449 -6958676.71446 22813624.9464 22813630.0424
+ 3311.1074 2580.0824
+ 23773538.0914 -6628883.86249 -5140991.96046 23773537.9074 23773544.7104
+ -3034.2054 -2364.3104
+ 23992185.9084 -8576600.35549 -6662192.82645 23992184.8474 23992191.2544
+ -3558.0554 -2772.5074
+ 23890339.6414 -7222929.58149 -5613529.15046 23890340.3904 23890342.1754
+ 2495.7944 1944.7854
+ 20604195.6534 -21141087.49649 -16164842.60748 20604195.9274 20604200.9314
+ -2247.0404 -1750.9394
+ 21924738.8474 -17913425.36449 -13908229.15847 21924738.9694 21924743.5304
+ -2561.8844 -1996.2674
+ 20229486.3434 -24336517.65249 -18710369.12948 20229485.6934 20229489.1254
+ 1011.8114 788.4264
+ 24699080.1184 117620.25949 113728.37045 24699079.8754 24699086.3054
+ -2701.2814 -2104.8934
+ 05 1 20 2 22 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22470411.7324 -11481591.03649 -8925774.30347 22470412.3654 22470416.6354
+ 3343.4674 2605.2974
+ 21660042.5834 -20014681.08349 -15577658.80047 21660042.1484 21660046.4474
+ 1759.2504 1370.8444
+ 22794739.6294 -9055625.19449 -7036006.29446 22794740.1884 22794745.1504
+ 3304.8294 2575.1804
+ 23790865.8624 -6537818.55949 -5070032.00346 23790866.5824 23790873.3144
+ -3037.0674 -2366.5534
+ 24012515.2534 -8469756.62249 -6578937.97045 24012515.0984 24012523.7024
+ -3564.7644 -2777.7354
+ 23876096.9304 -7297775.08149 -5671850.29646 23876097.5774 23876099.1764
+ 2493.9004 1943.3004
+ 20617062.9164 -21073472.54249 -16112155.62748 20617063.0544 20617067.6544
+ -2260.6374 -1761.5374
+ 21939385.8164 -17836456.29049 -13848253.24947 21939385.1634 21939390.0724
+ -2569.3324 -2002.0754
+ 20223758.3494 -24366615.17549 -18733821.74548 20223758.1404 20223761.7524
+ 994.6744 775.0684
+ 24714506.5004 198674.52449 176887.50245 24714505.2294 24714511.0674
+ -2702.3434 -2105.7204
+ 05 1 20 2 23 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22451350.6674 -11581758.32249 -9003826.76347 22451349.9834 22451355.5304
+ 3334.3374 2598.1864
+ 21650013.9284 -20067381.82749 -15618724.31647 21650013.7294 21650017.8704
+ 1754.1114 1366.8414
+ 22775891.9414 -9154674.16849 -7113187.31046 22775891.5334 22775896.7724
+ 3298.4204 2570.1934
+ 23808213.0854 -6446666.76449 -4999004.65746 23808213.5364 23808219.1364
+ -3039.9544 -2368.8034
+ 24032888.9014 -8362710.09649 -6495525.17845 24032887.4884 24032893.9034
+ -3571.6214 -2783.0774
+ 23861868.0924 -7372563.41149 -5730126.92246 23861866.1094 23861868.0554
+ 2492.0054 1941.8214
+ 20630006.9884 -21005450.86049 -16059151.72148 20630006.9954 20630012.0084
+ -2274.1424 -1772.0584
+ 21954074.1114 -17759264.51249 -13788103.80447 21954074.3264 21954079.2504
+ -2576.7284 -2007.8344
+ 20218129.3424 -24396197.52349 -18756872.92648 20218128.9494 20218132.5444
+ 977.4754 761.6704
+ 24729937.0064 279760.87949 240071.62145 24729935.7964 24729940.7294
+ -2703.4064 -2106.5464
+ 05 1 20 2 23 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22432341.8944 -11681649.76849 -9081664.24947 22432341.5824 22432346.7854
+ 3325.0704 2590.9694
+ 21640014.9914 -20119928.80949 -15659670.01647 21640014.4084 21640018.3064
+ 1748.9834 1362.8484
+ 22757080.6084 -9253529.81949 -7190217.69046 22757079.8764 22757085.4094
+ 3291.9434 2565.1484
+ 23825575.2144 -6355431.43249 -4927912.21746 23825574.8134 23825579.8104
+ -3042.5204 -2370.8004
+ 24053297.4704 -8255462.72949 -6411955.86745 24053297.4024 24053302.3244
+ -3578.2084 -2788.2124
+ 23847645.0454 -7447294.46049 -5788358.89646 23847644.7094 23847647.8554
+ 2490.0754 1940.3294
+ 20643028.0934 -20937025.02049 -16005832.88548 20643027.9374 20643032.6154
+ -2287.5724 -1782.5224
+ 21968806.2114 -17681852.23249 -13727782.55347 21968805.7434 21968810.4214
+ -2584.0264 -2013.5304
+ 20212598.7244 -24425262.56649 -18779521.01048 20212598.1744 20212601.5904
+ 960.1764 748.1894
+ 24745372.2844 360879.28849 303280.76345 24745371.6944 24745377.2374
+ -2704.4924 -2107.4014
+ 05 1 20 2 24 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22413385.7674 -11781261.82649 -9159284.04747 22413386.1894 22413391.8904
+ 3315.7294 2583.6874
+ 21630044.2284 -20172321.78349 -15700495.70547 21630044.3264 21630048.3214
+ 1743.8614 1358.8544
+ 22738306.4344 -9352189.73949 -7267095.55346 22738305.5814 22738310.7964
+ 3285.3674 2560.0394
+ 23842952.6654 -6264115.56449 -4856757.00046 23842952.6284 23842957.0834
+ -3045.2454 -2372.9234
+ 24073742.9184 -8148016.33749 -6328231.42945 24073741.5284 24073747.6694
+ -3584.8234 -2793.3664
+ 23833434.8304 -7521968.11349 -5846546.13646 23833435.0264 23833436.9954
+ 2488.1574 1938.8284
+ 20656125.2254 -20868197.84549 -15952201.31948 20656125.6844 20656130.1394
+ -2300.8894 -1792.9014
+ 21983577.6844 -17604221.69749 -13667291.23247 21983578.1494 21983583.1234
+ -2591.2784 -2019.1764
+ 20207166.8194 -24453808.71049 -18801764.76248 20207166.0894 20207169.3704
+ 942.8824 734.7124
+ 24760816.9204 442029.75649 366514.82945 24760816.5294 24760817.6044
+ -2705.5294 -2108.2084
+ 05 1 20 2 24 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22394485.5774 -11880591.01349 -9236683.42447 22394484.4444 22394490.3924
+ 3306.2214 2576.2804
+ 21620104.9834 -20224560.24149 -15741200.99947 21620104.1524 21620107.6784
+ 1738.6834 1354.8224
+ 22719569.9324 -9450651.50949 -7343819.01546 22719568.9274 22719574.1734
+ 3278.7364 2554.8544
+ 23860345.6194 -6172721.79349 -4785541.08546 23860343.6844 23860348.2844
+ -3047.8464 -2374.9494
+ 24094227.5244 -8040373.02849 -6244353.56245 24094226.4544 24094233.5574
+ -3591.4234 -2798.5034
+ 23819236.2324 -7596584.21549 -5904688.56346 23819236.5274 23819237.1994
+ 2486.2574 1937.3534
+ 20669298.7454 -20798972.17849 -15898259.24348 20669298.7504 20669303.0134
+ -2314.1444 -1803.2344
+ 21998392.0334 -17526375.25349 -13606631.66047 21998391.9714 21998396.6414
+ -2598.4494 -2024.7644
+ 20201833.5094 -24481834.11149 -18823602.74048 20201832.7534 20201836.3394
+ 925.4784 721.1494
+ 24776266.6504 523212.10149 429773.75945 24776264.8644 24776268.4754
+ -2706.6674 -2109.0984
+ 05 1 20 2 25 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22375638.2324 -11979633.93349 -9313859.73847 22375637.5004 22375642.8104
+ 3296.6084 2568.7884
+ 21610193.2394 -20276643.49049 -15781785.34647 21610192.9124 21610196.3184
+ 1733.5194 1350.7904
+ 22700870.4264 -9548912.18449 -7420385.76246 22700870.8544 22700875.6004
+ 3271.9504 2549.5714
+ 23877749.8864 -6081253.34749 -4714267.00946 23877749.0874 23877755.2844
+ -3050.3334 -2376.8734
+ 24114746.0004 -7932534.29249 -6160323.40145 24114745.8944 24114752.1944
+ -3597.8314 -2803.5044
+ 23805047.0124 -7671142.77249 -5962786.11146 23805047.3564 23805049.7764
+ 2484.2994 1935.8114
+ 20682546.7214 -20729350.84649 -15844008.85348 20682547.0664 20682551.7674
+ -2327.3114 -1813.4884
+ 22013246.9574 -17448315.12749 -13545805.59147 22013246.2214 22013251.2664
+ -2605.5304 -2030.2844
+ 20196599.5724 -24509337.14249 -18845033.67148 20196599.1464 20196602.6954
+ 908.0284 707.5494
+ 24791716.2774 604426.03349 493057.31845 24791714.7644 24791723.5664
+ -2707.6964 -2109.8944
+ 05 1 20 2 25 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22356844.9694 -12078387.20149 -9390810.34847 22356845.1684 22356850.9254
+ 3286.9104 2561.2284
+ 21600311.6434 -20328571.27149 -15822248.55847 21600311.3924 21600314.5754
+ 1728.3234 1346.7434
+ 22682211.7484 -9646969.07749 -7496793.74246 22682211.4034 22682216.2814
+ 3265.1404 2544.2614
+ 23895169.8674 -5989713.01349 -4642936.90646 23895168.9964 23895174.7054
+ -3052.6614 -2378.7034
+ 24135304.7664 -7824501.96349 -6076142.39345 24135305.3324 24135311.9174
+ -3604.3644 -2808.5944
+ 23790872.5194 -7745643.50849 -6020838.62246 23790871.5954 23790873.4664
+ 2482.3894 1934.3174
+ 20695870.9284 -20659336.46649 -15789452.19348 20695870.2144 20695874.8454
+ -2340.3514 -1823.6544
+ 22028140.5064 -17370043.32649 -13484814.57747 22028140.5354 22028145.5834
+ -2612.5354 -2035.7394
+ 20191465.8594 -24536316.00749 -18866056.16748 20191465.3924 20191468.8294
+ 890.5394 693.9224
+ 24807177.0944 685671.71349 556365.65445 24807177.7294 24807183.7434
+ -2708.7974 -2110.7574
+ 05 1 20 2 26 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22338108.6774 -12176847.36649 -9467532.56547 22338109.5874 22338114.2204
+ 3277.0824 2553.5654
+ 21590459.9724 -20380343.18749 -15862590.30947 21590459.5804 21590462.9354
+ 1723.1554 1342.7184
+ 22663591.4134 -9744819.81649 -7573041.06146 22663590.5134 22663595.8754
+ 3258.2264 2538.8714
+ 23912602.3584 -5898103.77149 -4571553.06945 23912600.9504 23912606.5034
+ -3054.8604 -2380.4184
+ 24155896.8034 -7716278.14449 -5991812.21245 24155899.0854 24155905.8254
+ -3610.6284 -2813.4734
+ 23776704.8104 -7820086.21549 -6078845.94046 23776704.3844 23776706.8774
+ 2480.4354 1932.8294
+ 20709267.3984 -20588931.71649 -15734591.35748 20709268.1664 20709272.8494
+ -2353.2764 -1833.7244
+ 22043075.0404 -17291561.99549 -13423660.28947 22043074.9064 22043079.5974
+ -2619.5084 -2041.1764
+ 20186431.8324 -24562769.09749 -18886668.96348 20186431.2074 20186434.8574
+ 872.9814 680.2434
+ 24822648.3584 766949.19049 619698.72245 24822646.9584 24822649.5404
+ -2709.8094 -2111.5394
+ 05 1 20 2 26 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22319428.4474 -12275010.86049 -9544023.59947 22319429.0734 22319434.6074
+ 3267.1424 2545.8274
+ 21580637.6074 -20431959.03149 -15902810.44947 21580637.1934 21580640.6064
+ 1717.9284 1338.6434
+ 22645009.9574 -9842461.67349 -7649125.61646 22645010.2264 22645015.8014
+ 3251.2024 2533.4084
+ 23930047.7024 -5806428.47949 -4500117.79346 23930047.3214 23930052.2004
+ -3057.0094 -2382.0834
+ 24176527.4584 -7607864.74948 -5907334.29345 24176529.0324 24176537.7824
+ -3616.8824 -2818.3434
+ 23762548.9954 -7894470.85949 -6136807.98946 23762549.3024 23762552.4764
+ 2478.5244 1931.3294
+ 20722738.7054 -20518139.49749 -15679428.58748 20722739.1434 20722743.7724
+ -2366.1694 -1843.7674
+ 22058048.4994 -17212873.48049 -13362344.56947 22058048.3494 22058053.8044
+ -2626.3584 -2046.5164
+ 20181498.6284 -24588694.64949 -18906870.69348 20181498.0874 20181501.3994
+ 855.3794 666.5264
+ 24838116.9824 848258.13449 683056.31745 24838115.0204 24838120.9154
+ -2710.8394 -2112.3454
+ 05 1 20 2 27 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22300807.3604 -12372874.03749 -9620280.60647 22300806.4124 22300811.1244
+ 3257.0774 2537.9824
+ 21570845.0184 -20483418.12449 -15942908.44247 21570844.6804 21570848.6164
+ 1712.6654 1334.5374
+ 22626472.0364 -9939892.09649 -7725045.41746 22626469.8514 22626475.3844
+ 3244.0874 2527.8534
+ 23947503.9634 -5714690.17949 -4428633.43046 23947504.0164 23947509.2844
+ -3059.1384 -2383.7534
+ 24197200.7414 -7499263.59848 -5822710.01744 24197195.6854 24197203.4174
+ -3623.2144 -2823.2824
+ 23748404.3944 -7968797.26449 -6194724.64746 23748406.8654 23748409.1964
+ 2476.5744 1929.8024
+ 20736284.3834 -20446962.75749 -15623966.18748 20736284.1234 20736288.4074
+ -2378.9644 -1853.7414
+ 22073063.1144 -17133979.95849 -13300869.09147 22073062.4624 22073066.7214
+ -2633.1564 -2051.8144
+ 20176665.9404 -24614091.20649 -18926660.21948 20176665.4264 20176668.4904
+ 837.7004 652.7514
+ 24853594.0884 929598.60449 746438.52745 24853592.9744 24853602.4734
+ -2711.7944 -2113.0894
+ 05 1 20 2 27 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22282242.0204 -12470433.83949 -9696301.21547 22282241.4804 22282247.1034
+ 3246.8984 2530.0464
+ 21561082.2964 -20534720.23849 -15982884.12147 21561081.8994 21561086.0874
+ 1707.4204 1330.4544
+ 22607971.8904 -10037108.61449 -7800798.54047 22607971.0514 22607975.5674
+ 3236.9334 2522.2904
+ 23964970.8534 -5622891.70849 -4357102.18446 23964972.7714 23964977.7744
+ -3061.0714 -2385.2554
+ 24217898.9254 -7390476.84648 -5737941.23044 24217894.7744 24217902.5924
+ -3629.4874 -2828.1674
+ 23734275.4834 -8043065.17849 -6252595.74546 23734273.4694 23734275.6614
+ 2474.5924 1928.2484
+ 20749900.5014 -20375403.88149 -15568206.02748 20749900.6994 20749905.3564
+ -2391.6464 -1863.6184
+ 22088114.1284 -17054883.73849 -13239235.68947 22088113.7944 22088118.0694
+ -2639.8874 -2057.0524
+ 20171933.9734 -24638956.84749 -18946036.04348 20171933.5244 20171936.8954
+ 819.9764 638.9424
+ 24869082.0444 1010970.52549 809845.15145 24869080.9214 24869085.6104
+ -2712.9204 -2113.9664
+ 05 1 20 2 28 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22263734.3204 -12567687.02849 -9772082.89047 22263734.1284 22263739.9774
+ 3236.6374 2522.0574
+ 21551349.9504 -20585864.61449 -16022736.87847 21551349.6444 21551354.0534
+ 1702.1774 1326.3704
+ 22589512.8424 -10134108.77549 -7876383.07047 22589511.5534 22589517.4534
+ 3229.6884 2516.6264
+ 23982452.0364 -5531035.94949 -4285526.27745 23982452.8904 23982456.6074
+ -3062.8994 -2386.6784
+ 24238638.4014 -7281505.31148 -5653028.44244 24238635.9364 24238636.4624
+ -3635.6404 -2832.9594
+ 23720151.8094 -8117274.50049 -6310421.18146 23720152.0734 23720154.2494
+ 2472.6594 1926.7434
+ 20763589.9234 -20303465.80749 -15512150.37748 20763590.1474 20763594.7274
+ -2404.2144 -1873.4154
+ 22103203.5824 -16975586.83349 -13177445.89047 22103203.5204 22103207.9414
+ -2646.5524 -2062.2474
+ 20167303.6494 -24663289.98149 -18964996.92348 20167303.0574 20167306.3574
+ 802.2204 625.1034
+ 24884572.6424 1092373.79849 873276.26445 24884572.6194 24884577.1544
+ -2713.9474 -2114.7624
+ 05 1 20 2 28 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22245287.6714 -12664630.04449 -9847622.91647 22245287.0924 22245291.8194
+ 3226.2294 2513.9424
+ 21541647.3674 -20636851.30449 -16062466.77647 21541647.2684 21541651.4484
+ 1696.9094 1322.2674
+ 22571095.5634 -10230889.71149 -7951796.78747 22571095.4214 22571100.0594
+ 3222.3394 2510.9064
+ 23999942.8824 -5439125.89149 -4213908.06445 23999943.2634 23999947.1654
+ -3064.6734 -2388.0484
+ 24259408.5574 -7172352.07648 -5567973.92645 24259409.1014 24259409.8144
+ -3641.4264 -2837.4764
+ 23706041.9514 -8191425.04849 -6368200.83146 23706041.0614 23706043.5064
+ 2470.7254 1925.2084
+ 20777350.6864 -20231151.54749 -15455801.60048 20777351.0394 20777356.1124
+ -2416.7454 -1883.1794
+ 22118331.4244 -16896091.34249 -13115501.34247 22118331.0174 22118335.4894
+ -2653.0874 -2067.3414
+ 20162774.1474 -24687088.99949 -18983541.61248 20162774.1844 20162777.5874
+ 784.3894 611.2104
+ 24900068.8874 1173808.28149 936731.68245 24900067.3714 24900071.6844
+ -2715.0354 -2115.6094
+ 05 1 20 2 29 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22226898.9304 -12761259.18649 -9922918.36247 22226899.2504 22226903.9214
+ 3215.7184 2505.7554
+ 21531975.1504 -20687679.65049 -16102073.27947 21531974.9794 21531979.1684
+ 1691.6474 1318.1694
+ 22552720.4454 -10327448.69749 -8027037.55546 22552720.6184 22552725.3034
+ 3214.9254 2505.1454
+ 24017441.8924 -5347164.36049 -4142249.71445 24017441.0084 24017447.1364
+ -3066.3534 -2389.3744
+ 24280205.9174 -7063018.88058 -5482779.20654 24280210.0714 24280218.8534
+ -3647.3324 -2842.0734
+ 23691943.0834 -8265516.56849 -6425934.44846 23691942.7684 23691944.5104
+ 2468.7274 1923.6924
+ 20791183.2704 -20158463.26849 -15399161.38548 20791183.4434 20791187.9324
+ -2429.1544 -1892.8444
+ 22133495.9124 -16816399.63349 -13053403.91647 22133496.1564 22133500.9704
+ -2659.6134 -2072.4194
+ 20158348.2604 -24710352.49349 -19001669.00848 20158347.2984 20158350.6284
+ 766.5084 597.2824
+ 24915570.3504 1255273.92649 1000211.41145 24915570.4204 24915575.6094
+ -2716.0464 -2116.3924
+ 05 1 20 2 29 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22208571.3714 -12857571.31649 -9997966.73247 22208570.9814 22208577.1974
+ 3205.0974 2497.4634
+ 21522334.2934 -20738348.65349 -16141555.62548 21522333.2284 21522337.2464
+ 1686.3094 1314.0084
+ 22534388.7604 -10423783.22249 -8102103.41247 22534388.2574 22534393.4954
+ 3207.3564 2499.2364
+ 24034950.4164 -5255154.33249 -4070553.62445 24034950.3764 24034956.2934
+ -3067.9364 -2390.5974
+ 24301050.0934 -6953507.42248 -5397445.63044 24301048.3514 24301057.7894
+ -3653.3234 -2846.7314
+ 23677854.2074 -8339548.89249 -6483621.96146 23677854.9134 23677856.2574
+ 2466.7484 1922.1484
+ 20805085.7374 -20085404.31749 -15342232.33448 20805085.7334 20805090.7294
+ -2441.4774 -1902.4494
+ 22148698.5694 -16736513.72449 -12991155.15647 22148698.3234 22148701.8634
+ -2666.0584 -2077.4424
+ 20154023.3664 -24733078.94449 -19019377.93648 20154022.7174 20154025.9394
+ 748.5484 583.2844
+ 24931077.8034 1336770.90849 1063715.49245 24931077.9584 24931081.4154
+ -2717.1434 -2117.2554
+ 05 1 20 2 30 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22190305.6384 -12953562.99049 -10072765.45247 22190305.4094 22190309.9664
+ 3194.3634 2489.1084
+ 21512721.6754 -20788858.25349 -16180913.75548 21512721.5534 21512725.3274
+ 1680.9954 1309.8654
+ 22516100.0674 -10519890.49449 -8176992.19347 22516099.3364 22516105.4494
+ 3199.7284 2493.2934
+ 24052471.1284 -5163098.58449 -3998821.91146 24052469.9574 24052474.9524
+ -3069.3914 -2391.7234
+ 24321925.8894 -6843819.33148 -5311974.46144 24321923.3454 24321932.1124
+ -3659.2744 -2851.3814
+ 23663777.7174 -8413521.95949 -6541263.32046 23663777.9354 23663780.8134
+ 2464.7884 1920.6214
+ 20819059.0184 -20011977.12249 -15285016.34148 20819058.7194 20819063.6484
+ -2453.6884 -1911.9594
+ 22163935.6314 -16656435.74449 -12928756.73147 22163935.8674 22163940.4254
+ -2672.4194 -2082.4024
+ 20149800.9064 -24755266.54649 -19036666.98148 20149800.4204 20149804.0324
+ 730.5784 569.2834
+ 24946589.5534 1418299.03549 1127243.96045 24946589.8474 24946597.0604
+ -2718.1594 -2118.0404
+ 05 1 20 2 30 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22172100.9764 -13049230.70549 -10147311.73747 22172100.1164 22172105.3844
+ 3183.4984 2480.6464
+ 21503141.2794 -20839208.04249 -16220147.36047 21503140.1744 21503143.8564
+ 1675.6434 1305.6944
+ 22497855.0684 -10615767.89449 -8251701.84747 22497855.0194 22497860.5994
+ 3192.0254 2487.2904
+ 24069996.7434 -5071000.15349 -3927056.91145 24069995.0114 24070000.6414
+ -3070.7214 -2392.7734
+ 24342833.0854 -6733957.04349 -5226367.61444 24342829.1374 24342834.0804
+ -3665.0374 -2855.8744
+ 23649711.2724 -8487435.65549 -6598858.38646 23649711.4814 23649714.8814
+ 2462.7984 1919.0674
+ 20833100.6254 -19938184.67149 -15227515.72648 20833101.1204 20833105.6654
+ -2465.8204 -1921.4234
+ 22179210.9504 -16576167.98449 -12866210.41747 22179210.5554 22179214.5334
+ -2678.7164 -2087.3144
+ 20145681.6044 -24776913.78949 -19053534.96248 20145681.0844 20145684.5574
+ 712.5554 555.2374
+ 24962115.3824 1499858.37749 1190796.59945 24962113.0544 24962120.8604
+ -2719.1384 -2118.8124
+ 05 1 20 2 31 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22153957.9674 -13144570.79149 -10221602.66947 22153957.8434 22153962.6414
+ 3172.5104 2472.0724
+ 21493590.4044 -20889397.16049 -16259255.76048 21493590.0954 21493593.3434
+ 1670.2804 1301.5154
+ 22479654.7494 -10711412.81149 -8326230.34647 22479654.4564 22479659.5184
+ 3184.2384 2481.2254
+ 24087530.9224 -4978861.77449 -3855260.80845 24087528.7344 24087533.6774
+ -3072.0574 -2393.8114
+ 24363767.1674 -6623922.20848 -5140626.21144 24363763.5584 24363774.7964
+ -3670.7014 -2860.2834
+ 23635659.5974 -8561289.61349 -6656406.93446 23635659.0164 23635661.1464
+ 2460.8154 1917.5194
+ 20847212.2034 -19864029.60749 -15169732.55448 20847212.1264 20847217.0994
+ -2477.8584 -1930.7994
+ 22194520.3644 -16495712.43149 -12803517.78347 22194520.7304 22194525.8804
+ -2684.9524 -2092.1784
+ 20141665.4584 -24798019.11349 -19069980.67148 20141664.8854 20141668.3864
+ 694.4574 541.1344
+ 24977643.5004 1581448.51149 1254373.31645 24977642.1194 24977642.7934
+ -2720.2944 -2119.7034
+ 05 1 20 2 31 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22135878.2454 -13239580.13649 -10295635.92047 22135878.0794 22135883.0864
+ 3161.4644 2463.4854
+ 21484070.1104 -20939425.48349 -16298238.86647 21484069.5154 21484073.1384
+ 1664.9104 1297.3354
+ 22461499.1254 -10806822.57649 -8400575.61747 22461498.6054 22461503.5504
+ 3176.3454 2475.0814
+ 24105069.4174 -4886686.49049 -3783435.91746 24105068.5824 24105074.1664
+ -3073.2004 -2394.6924
+ 24384737.9944 -6513716.60258 -5054751.69554 24384736.9524 24384746.1644
+ -3676.4374 -2864.7584
+ 23621614.7454 -8635083.54349 -6713908.67346 23621615.4354 23621618.1704
+ 2458.8134 1915.9624
+ 20861391.6054 -19789514.78049 -15111669.05448 20861391.9274 20861396.0654
+ -2489.8154 -1940.1134
+ 22209867.1334 -16415071.34949 -12740680.57047 22209866.4324 22209870.6394
+ -2691.0474 -2096.9154
+ 20137752.4154 -24818581.13749 -19086003.02848 20137751.9634 20137755.4844
+ 676.3394 527.0234
+ 24993169.2924 1663069.41048 1317974.10645 24993169.1664 24993176.4134
+ -2721.2054 -2120.4194
+ 05 1 20 2 32 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22117861.7814 -13334255.39249 -10369408.83747 22117861.3784 22117866.8824
+ 3150.2444 2454.7374
+ 21474580.2664 -20989292.30749 -16337096.12548 21474580.0484 21474584.0254
+ 1659.5374 1293.1444
+ 22443386.4084 -10901994.45249 -8474735.51347 22443387.4204 22443393.1964
+ 3168.3974 2468.8854
+ 24122613.5294 -4794476.93449 -3711584.31745 24122614.4724 24122621.4444
+ -3074.3364 -2395.5854
+ 24405745.1694 -6403342.51448 -4968746.02744 24405739.3724 24405752.7404
+ -3681.9204 -2869.0204
+ 23607583.3624 -8708817.48049 -6771363.68946 23607584.0914 23607586.6544
+ 2456.7894 1914.3784
+ 20875639.9274 -19714642.92549 -15053327.35048 20875639.7514 20875644.3154
+ -2501.6694 -1949.3524
+ 22225246.0444 -16334246.89649 -12677700.48847 22225246.6464 22225250.9434
+ -2697.1564 -2101.6794
+ 20133943.4314 -24838598.41449 -19101600.91048 20133942.8304 20133946.1624
+ 658.1424 512.8434
+ 25008709.1624 1744721.17049 1381598.82745 25008707.6534 25008714.1104
+ -2722.2034 -2121.2034
+ 05 1 20 2 32 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22099909.8454 -13428593.17449 -10442918.82847 22099909.4594 22099914.8384
+ 3138.9504 2445.9374
+ 21465121.5184 -21038997.36249 -16375827.33547 21465121.0954 21465125.2584
+ 1654.1234 1288.9304
+ 22425323.3264 -10996925.88049 -8548708.06247 22425323.0984 22425328.5354
+ 3160.3404 2462.5984
+ 24140168.9154 -4702236.02349 -3639708.28845 24140168.6404 24140174.9024
+ -3075.3124 -2396.3394
+ 24426781.9664 -6292801.59258 -4882610.35554 24426773.6494
+ -3687.4724 -2873.3614
+ 23593565.5644 -8782491.16649 -6828771.75646 23593564.6754 23593567.6514
+ 2454.7804 1912.8134
+ 20889954.4014 -19639416.73249 -14994709.53748 20889954.7934 20889958.9744
+ -2513.4064 -1958.4984
+ 22240662.2684 -16253241.10549 -12614579.08247 22240661.6084 22240665.5934
+ -2703.1794 -2106.3704
+ 20130238.1894 -24858069.34249 -19116773.06048 20130237.5574 20130241.1964
+ 639.9064 498.6304
+ 25024251.9454 1826403.77148 1445247.51144 25024250.3824 25024254.9604
+ -2723.3094 -2122.0624
+ 05 1 20 2 33 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22082022.1264 -13522589.97249 -10516163.12447 22082022.8544 22082027.3954
+ 3127.5054 2437.0184
+ 21455693.9614 -21088539.57849 -16414431.66747 21455693.7894 21455697.8794
+ 1648.6984 1284.7034
+ 22407306.0464 -11091614.12249 -8622491.11447 22407304.7864 22407309.8764
+ 3152.1794 2456.2464
+ 24157726.0204 -4609966.83649 -3567810.23945 24157725.6384 24157730.8404
+ -3076.2194 -2397.0614
+ 24447847.7914 -6182095.94449 -4796346.21344
+ -3692.9014 -2877.6094
+ 23579557.5374 -8856104.22249 -6886132.56146 23579557.7524 23579558.8024
+ 2452.7734 1911.2504
+ 20904336.7734 -19563839.14849 -14935817.90948 20904336.8724 20904340.9374
+ -2525.1044 -1967.6114
+ 22256110.7384 -16172055.96549 -12551317.93947 22256110.6354 22256114.5364
+ -2709.1014 -2110.9844
+ 20126637.3964 -24876992.52549 -19131518.39748 20126636.6984 20126640.2984
+ 621.6314 484.3894
+ 25039809.9244 1908117.34149 1508920.36845 25039807.9084 25039811.2384
+ -2724.3624 -2122.8754
+ 05 1 20 2 33 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22064202.1764 -13616242.35849 -10589138.98647 22064201.2224 22064206.7584
+ 3115.9704 2428.0284
+ 21446297.5934 -21137919.13949 -16452909.25047 21446297.0444 21446301.0644
+ 1643.2824 1280.4834
+ 22389333.1634 -11186056.43149 -8696082.51947 22389332.6494 22389338.4894
+ 3143.9514 2449.8244
+ 24175288.1544 -4517672.00649 -3495892.18645 24175288.4764 24175295.3444
+ -3077.0204 -2397.6844
+ 24468943.2084 -6071227.67449 -4709955.32244 24468945.8664 24468951.8174
+ -3698.2504 -2881.7404
+ 23565559.5754 -8929656.70149 -6943446.17246 23565560.7894 23565563.0424
+ 2450.7454 1909.6654
+ 20918784.8014 -19487912.63949 -14876654.39448 20918784.8604 20918789.6314
+ -2536.6704 -1976.6274
+ 22271593.6974 -16090693.63349 -12487918.71247 22271593.1154 22271597.7244
+ -2714.9874 -2115.5704
+ 20123140.4664 -24895366.46349 -19145835.75148 20123140.0364 20123143.7894
+ 603.3074 470.1094
+ 25055366.6724 1989861.58949 1572617.07245 25055364.4164 25055363.5254
+ -2725.3064 -2123.6054
+ 05 1 20 2 34 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22046445.9114 -13709546.96649 -10661843.87447 22046445.9014 22046451.0734
+ 3104.3244 2418.9574
+ 21436932.1574 -21187135.57949 -16491259.72547 21436931.7814 21436935.2264
+ 1637.8224 1276.2294
+ 22371409.2754 -11280250.08149 -8769480.16847 22371408.3054 22371413.6714
+ 3135.6024 2443.3284
+ 24192856.1114 -4425354.43449 -3423956.45545 24192857.0584 24192862.2214
+ -3077.7384 -2398.2434
+ 24490069.9154 -5960198.29348 -4623439.02944 24490070.7504 24490077.5414
+ -3703.7914 -2886.0574
+ 23551575.4654 -9003148.29149 -7000712.34746 23551575.1644 23551577.5264
+ 2448.7704 1908.1314
+ 20933298.9834 -19411640.28349 -14817221.39448 20933299.4214 20933303.4734
+ -2548.1624 -1985.5794
+ 22287108.7194 -16009156.40749 -12424383.22647 22287108.7414 22287112.9894
+ -2720.7784 -2120.0874
+ 20119748.7584 -24913189.96549 -19159724.19448 20119748.4254 20119752.0104
+ 584.9074 455.7734
+ 25070912.9914 2071636.33748 1636337.63045 25070915.5184 25070924.9334
+ -2726.3104 -2124.4024
+ 05 1 20 2 34 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22028757.4724 -13802500.50949 -10734275.20847 22028757.1194 22028762.8134
+ 3092.5514 2409.7834
+ 21427597.6924 -21236187.90549 -16529482.31448 21427597.3874 21427601.4444
+ 1632.3434 1271.9524
+ 22353532.4124 -11374192.47549 -8842682.02847 22353531.6434 22353536.8454
+ 3127.1724 2436.7544
+ 24210428.3284 -4333017.08949 -3352005.29845 24210428.7664 24210432.9184
+ -3078.3604 -2398.7184
+ 24511231.1654 -5849009.99949 -4536798.89644 24511230.6554 24511234.0514
+ -3708.8314 -2890.0084
+ 23537602.1034 -9076578.78549 -7057930.90746 23537602.0754 23537604.2424
+ 2446.6484 1906.4824
+ 20947878.6624 -19335024.85849 -14757521.05248 20947878.5844 20947883.4944
+ -2559.5544 -1994.4554
+ 22302658.4354 -15927446.21049 -12360712.92947 22302658.5454 22302662.8464
+ -2726.5204 -2124.5644
+ 20116462.1384 -24930461.67749 -19173182.67448 20116461.6334 20116465.5314
+ 566.5084 441.4354
+ 25086485.7884 2153441.41349 1700081.89345 25086482.2814 25086489.4934
+ -2727.1794 -2125.0654
+ 05 1 20 2 35 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 22011136.6524 -13895099.57749 -10806430.37047 22011136.4204 22011141.3484
+ 3080.7014 2400.5534
+ 21418294.9464 -21285075.75049 -16567576.74048 21418294.4374 21418298.2004
+ 1626.8534 1267.6744
+ 22335703.2044 -11467880.67949 -8915685.82547 22335703.2254 22335708.4214
+ 3118.6734 2430.1444
+ 24228002.8094 -4240662.74749 -3280040.87646 24228003.7724 24228008.8634
+ -3078.8544 -2399.1064
+ 24532419.1324 -5737664.63949 -4450036.26544 24532414.4964 24532425.0544
+ -3714.1524 -2894.1484
+ 23523640.7014 -9149947.97349 -7115101.68346 23523639.9964 23523641.8834
+ 2444.6614 1904.9384
+ 20962523.1714 -19258068.75749 -14697555.26048 20962523.0264 20962527.4344
+ -2570.8254 -2003.2404
+ 22318239.9144 -15845565.19549 -12296909.54447 22318239.6024 22318244.0754
+ -2732.1184 -2128.9194
+ 20113280.9194 -24947179.76149 -19186209.74948 20113280.2754 20113284.0794
+ 548.0294 427.0344
+ 25102064.0284 2235277.15949 1763849.93745 25102063.7884 25102064.1524
+ -2728.4004 -2126.0154
+ 05 1 20 2 35 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 21993583.1364 -13987340.78849 -10878306.74147 21993583.4334 21993588.5584
+ 3068.6944 2391.1924
+ 21409023.2214 -21333798.48749 -16605542.50348 21409023.1224 21409026.5344
+ 1621.3524 1263.3904
+ 22317924.5564 -11561312.08749 -8988489.51347 22317924.3234 22317929.1484
+ 3110.0704 2423.4274
+ 24245580.0194 -4148294.21349 -3208065.40245 24245579.9424 24245584.9784
+ -3079.2974 -2399.4544
+ 24553636.0244 -5626164.45348 -4363152.98344 24553634.8084 24553648.2314
+ -3719.2214 -2898.0944
+ 23509689.9474 -9223255.59049 -7172224.49346 23509690.3254 23509692.9024
+ 2442.5204 1903.2444
+ 20977231.3074 -19180774.89449 -14637326.27648 20977231.5374 20977236.2064
+ -2582.0414 -2011.9824
+ 22333853.5154 -15763515.47349 -12232974.69447 22333852.6694 22333857.7454
+ -2737.7484 -2133.3174
+ 20110205.2844 -24963342.91849 -19198804.41948 20110204.7274 20110208.3614
+ 529.5014 412.5974
+ 25117640.9824 2317143.39349 1827641.61445 25117639.3754 25117642.5264
+ -2729.3684 -2126.7844
+ 05 1 20 2 36 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 21976100.0784 -14079220.68349 -10949901.46147 21976099.9254 21976104.1154
+ 3056.6264 2381.7834
+ 21399782.8934 -21382355.93349 -16643379.47248 21399782.6444 21399786.4314
+ 1615.8364 1259.0914
+ 22300195.3174 -11654484.19849 -9061091.15547 22300193.9544 22300199.0254
+ 3101.3604 2416.6414
+ 24263158.7484 -4055914.36749 -3136081.14045 24263159.5144 24263165.2744
+ -3079.6184 -2399.7044
+ 24574883.9174 -5514511.37048 -4276150.61744 24574881.8114
+ -3724.2504 -2902.0174
+ 23495751.9994 -9296501.23449 -7229299.01846 23495752.0604 23495754.6934
+ 2440.5124 1901.6944
+ 20992003.1664 -19103146.13149 -14576836.32548 20992003.6734 20992008.3544
+ -2593.1874 -2020.6654
+ 22349498.0144 -15681299.11249 -12168909.99947 22349498.3054 22349502.8884
+ -2743.2814 -2137.6234
+ 20107235.0664 -24978950.20149 -19210965.94348 20107234.8094 20107238.4334
+ 510.9574 398.1464
+ 25133217.3614 2399039.93748 1891457.09745 25133218.9274 25133225.8664
+ -2730.4194 -2127.6054
+ 05 1 20 2 36 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 21958684.9834 -14170736.03449 -11021212.07447 21958684.5304 21958689.8264
+ 3044.4024 2372.2504
+ 21390574.2944 -21430747.41749 -16681087.12348 21390573.7274 21390577.8844
+ 1610.2834 1254.7624
+ 22282514.1904 -11747394.37649 -9133488.70247 22282513.2474 22282519.3474
+ 3092.6034 2409.8174
+ 24280738.8514 -3963525.97349 -3064090.22345 24280738.7554 24280745.7394
+ -3079.8624 -2399.8924
+ 24596159.8834 -5402707.08148 -4189030.53044 24596161.4854
+ -3729.2614 -2905.9224
+ 23481824.7684 -9369684.99149 -7286325.31246 23481824.9274 23481827.7654
+ 2438.4254 1900.0634
+ 21006838.9974 -19025185.07049 -14516087.45047 21006839.3014 21006843.7164
+ -2604.2244 -2029.2734
+ 22365175.4054 -15598918.20449 -12104717.08347 22365174.7214 22365179.7404
+ -2748.7094 -2141.8534
+ 20104371.5644 -24993999.87549 -19222692.96848 20104371.0564 20104374.3844
+ 492.3464 383.6444
+ 25148810.2034 2480966.91749 1955296.29145 25148807.3054 25148819.0274
+ -2731.4054 -2128.3664
+ 05 1 20 2 37 0.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 21941340.9444 -14261883.35149 -11092235.93047 21941340.6094 21941344.5614
+ 3032.0624 2362.6414
+ 21381397.3504 -21478972.00649 -16718664.71948 21381396.9804 21381400.6824
+ 1604.7034 1250.4144
+ 22264883.8104 -11840039.64349 -9205679.81247 22264883.8354 22264888.9224
+ 3083.7434 2402.9164
+ 24298321.0634 -3871131.85049 -2992094.82245 24298321.5024 24298327.4304
+ -3080.0244 -2400.0104
+ 24617465.0994 -5290753.79448 -4101794.31144
+ -3734.2574 -2909.8184
+ 23467912.5484 -9442806.41949 -7343303.05346 23467911.3644 23467913.1324
+ 2436.3524 1898.4564
+ 21021737.3004 -18946894.61349 -14455081.89447 21021737.5914 21021741.8494
+ -2615.1724 -2037.8004
+ 22380881.7864 -15516374.78849 -12040397.54347 22380881.9364 22380886.2154
+ -2754.1304 -2146.0814
+ 20101614.2994 -25008490.66349 -19233984.48648 20101613.4904 20101616.9754
+ 473.6854 369.1044
+ 25164411.0154 2562924.23849 2019159.04145 25164408.3594 25164416.2104
+ -2732.4094 -2129.1464
+ 05 1 20 2 37 30.0000000 0 10G 9G18G15G 6G17G22G26G29G21G10
+ 21924065.6454 -14352659.22349 -11162970.35547 21924065.9464 21924070.8614
+ 3019.6264 2352.9564
+ 21372251.8544 -21527029.45249 -16756112.08148 21372251.6924 21372255.6854
+ 1599.1304 1246.0734
+ 22247305.7694 -11932417.29149 -9277662.39347 22247304.9064 22247310.1164
+ 3074.7454 2395.9024
+ 24315904.3914 -3778734.87149 -2920097.18745 24315903.1784 24315910.1974
+ -3080.0874 -2400.0694
+ 24638800.9884 -5178653.60658 38602.44553
+ -3738.9974 -2913.5054
+ 23454008.9454 -9515865.36649 -7400232.09146 23454008.5364 23454010.8624
+ 2434.2754 1896.8374
+ 21036696.8394 -18868277.60149 -14393821.88847 21036697.6394 21036702.1454
+ -2625.9874 -2046.2264
+ 22396620.1984 -15433670.77249 -11975952.85247 22396620.6254 22396624.6034
+ -2759.4134 -2150.1924
+ 20098962.7584 -25022421.82649 -19244839.94148 20098962.3654 20098966.1504
+ 455.0114 354.5514
+ 25180009.9554 2644911.82249 2083045.41345 25180009.0604 25180013.8904
+ -2733.4434 -2129.9524
+ 05 1 20 2 38 0.0000000 0 9G 9G18G15G 6G22G26G29G21G10
+ 21906863.2594 -14443060.39549 -11233412.78847 21906863.1814 21906868.3454
+ 3007.1114 2343.2014
+ 21363140.2394 -21574919.05949 -16793428.65348 21363139.3814 21363142.6504
+ 1593.5254 1241.7134
+ 22229778.0294 -12024524.56249 -9349434.29047 22229777.3124 22229782.4134
+ 3065.6974 2388.8554
+ 24333487.7854 -3686337.79749 -2848099.52545 24333486.8024 24333492.5084
+ -3079.9914 -2399.9974
+ 23440117.9944 -9588861.82349 -7457112.43446 23440118.2614 23440120.4144
+ 2432.1844 1895.2094
+ 21051719.5404 -18789336.43949 -14332309.29447 21051719.8374 21051723.8454
+ -2636.7354 -2054.5964
+ 22412389.3844 -15350808.27749 -11911384.67247 22412389.1044 22412393.7654
+ -2764.6434 -2154.2634
+ 20096418.8174 -25035791.42049 -19255257.81048 20096418.1214 20096421.8184
+ 436.2934 339.9724
+ 25195613.8784 2726929.68749 2146955.39445 25195615.1524 25195619.4934
+ -2734.3874 -2130.6964
+ 05 1 20 2 38 30.0000000 0 9G 9G18G15G 6G22G26G29G21G10
+ 21889732.9554 -14533083.77949 -11303560.86747 21889732.5774 21889737.1304
+ 2994.4584 2333.3434
+ 21354058.4604 -21622640.28749 -16830614.02448 21354058.2274 21354061.6614
+ 1587.9164 1237.3424
+ 22212302.9834 -12116358.73749 -9420993.39947 22212301.7494 22212307.1644
+ 3056.5504 2381.7254
+ 24351072.3304 -3593943.48749 -2776103.97745 24351069.8674 24351075.5044
+ -3079.8444 -2399.8774
+ 23426239.8474 -9661795.27349 -7513943.69346 23426239.4404 23426240.6834
+ 2430.1024 1893.5824
+ 21066803.0884 -18710074.22049 -14270546.51647 21066802.7914 21066807.3934
+ -2647.3994 -2062.9104
+ 22428187.0994 -15267789.46249 -11846694.68847 22428187.0514 22428191.7634
+ -2769.8564 -2158.3254
+ 20093981.2094 -25048598.57649 -19265237.40648 20093981.1814 20093984.8174
+ 417.5304 325.3474
+ 25211232.4164 2808977.60449 2210888.80745 25211230.7724 25211238.6754
+ -2735.4174 -2131.4894
+ 05 1 20 2 39 0.0000000 0 9G 9G18G15G 6G22G26G29G21G10
+ 21872674.4824 -14622725.83249 -11373411.81247 21872673.8404 21872678.7964
+ 2981.6844 2323.3834
+ 21345009.9514 -21670192.53749 -16867667.72548 21345009.7244 21345012.9324
+ 1582.2614 1232.9254
+ 22194879.1884 -12207917.21349 -9492337.67347 22194878.9104 22194884.4934
+ 3047.3434 2374.5474
+ 24368648.5194 -3501554.68549 -2704112.67345 24368648.6714 24368654.3114
+ -3079.6034 -2399.6924
+ 23412372.8934 -9734665.37749 -7570725.57846 23412371.5754 23412373.9554
+ 2427.9834 1891.9374
+ 21081945.8964 -18630493.52849 -14208535.58647 21081946.1334 21081950.8924
+ -2657.9954 -2071.1694
+ 22444013.9814 -15184616.20249 -11781884.36247 22444014.0574 22444018.3364
+ -2774.9424 -2162.2984
+ 20091652.1724 -25060841.99749 -19274777.73448 20091651.2054 20091654.8104
+ 398.6954 310.6704
+ 25226847.8334 2891055.77048 2274845.72245 25226848.7814 25226859.2904
+ -2736.3954 -2132.2584
+ 05 1 20 2 39 30.0000000 0 9G 9G18G15G 6G22G26G29G21G10
+ 21855689.2984 -14711983.21949 -11442963.01947 21855689.0704 21855693.7524
+ 2968.8044 2313.3554
+ 21335993.4454 -21717575.47949 -16904589.49448 21335992.9324 21335996.2184
+ 1576.6004 1228.5224
+ 22177508.4274 -12299197.32149 -9563465.01847 22177508.5484 22177514.1864
+ 3037.9814 2367.2514
+ 24386227.7684 -3409174.21349 -2632127.89345 24386227.6684 24386235.9004
+ -3079.3074 -2399.4604
+ 23398517.0524 -9807472.08549 -7627458.07946 23398517.4924 23398520.5444
+ 2425.7734 1890.2084
+ 21097150.7144 -18550597.09649 -14146278.63047 21097150.3664 21097155.0384
+ -2668.4544 -2079.3174
+ 22459870.8574 -15101290.70249 -11716955.39347 22459870.0604 22459874.4064
+ -2780.0464 -2166.2664
+ 20089428.9004 -25072520.44049 -19283877.82648 20089428.8174 20089432.4074
+ 379.8574 295.9924
+ 25242476.9804 2973164.11049 2338826.23244 25242474.5024 25242481.4874
+ -2737.4564 -2133.0844
+ 05 1 20 2 40 0.0000000 0 9G 9G18G15G 6G22G26G29G21G10
+ 21838777.4254 -14800852.62949 -11512211.88047 21838777.6014 21838781.9744
+ 2955.8194 2303.2394
+ 21327008.5544 -21764788.32849 -16941378.72348 21327008.1414 21327012.1234
+ 1570.9374 1224.1074
+ 22160193.3904 -12390196.20749 -9634373.23447 22160192.3844 22160197.4734
+ 3028.5994 2359.9504
+ 24403807.0504 -3316804.87749 -2560151.82545 24403807.8164 24403811.9724
+ -3078.8834 -2399.1304
+ 23384675.5714 -9880214.94849 -7684140.82346 23384674.8394 23384677.6314
+ 2423.6814 1888.5994
+ 21112412.9794 -18470387.60949 -14083777.73747 21112413.5154 21112418.1614
+ -2678.8644 -2087.4294
+ 22475755.2114 -15017814.78649 -11651909.22947 22475755.2254 22475759.6304
+ -2784.9394 -2170.0804
+ 20087314.9214 -25083632.75149 -19292536.76748 20087314.2814 20087318.0404
+ 360.9614 281.2734
+ 25258108.8594 3055302.21448 2402829.84544 25258107.1714 25258111.0904
+ -2738.5204 -2133.9114
+ 05 1 20 2 40 30.0000000 0 9G 9G18G15G 6G22G26G29G21G10
+ 21821941.6894 -14889330.78649 -11581155.87947 21821941.0694 21821945.7994
+ 2942.7204 2293.0304
+ 21318056.8194 -21811830.80749 -16978035.20248 21318056.3414 21318060.1924
+ 1565.2444 1219.6724
+ 22142931.1744 -12480911.02549 -9705060.10447 22142929.6764 22142935.3604
+ 3019.0574 2352.5134
+ 24421382.3904 -3224449.44349 -2488186.56045 24421380.8994 24421387.0454
+ -3078.3704 -2398.7234
+ 23370845.0894 -9952893.79949 -7740773.70246 23370844.6564 23370847.7594
+ 2421.5484 1886.9254
+ 21127735.8214 -18389867.99549 -14021035.17647 21127736.0874 21127740.3024
+ -2689.1334 -2095.4304
+ 22491668.6354 -14934190.62149 -11586747.55347 22491668.5844 22491672.3424
+ -2789.8864 -2173.9344
+ 20085307.9234 -25094177.60949 -19300753.53948 20085307.6724 20085311.2814
+ 342.0274 266.5164
+ 25273738.8434 3137470.08448 2466856.77644 25273739.9014 25273744.2634
+ -2739.3884 -2134.5894
+ 05 1 20 2 41 0.0000000 0 9G 9G18G15G 6G22G26G29G21G10
+ 21805179.2314 -14977414.29449 -11649792.34547 21805178.9114 21805184.0424
+ 2929.5084 2282.7314
+ 21309136.7294 -21858702.10049 -17014558.28448 21309136.4414 21309140.7034
+ 1559.5164 1215.2064
+ 22125722.6124 -12571339.16349 -9775523.58247 22125721.8584 22125727.6384
+ 3009.4474 2345.0214
+ 24438953.8664 -3132110.62549 -2416234.29145 24438953.4944 24438958.0374
+ -3077.7644 -2398.2624
+ 23357027.0694 -10025508.39549 -7797356.49646 23357026.8714 23357029.5474
+ 2419.4204 1885.2684
+ 21143116.7744 -18309040.80449 -13958052.94647 21143117.1254 21143120.9294
+ -2699.3424 -2103.3834
+ 22507609.9124 -14850420.25549 -11521471.93647 22507609.9874 22507613.0154
+ -2794.7394 -2177.7204
+ 20083409.6694 -25104154.22349 -19308527.52448 20083409.2534 20083412.7934
+ 323.0554 251.7314
+ 25289387.1194 3219668.14649 2530907.06844 25289381.2064
+ -2740.5264 -2135.4654
+ 05 1 20 2 41 30.0000000 0 9G 9G18G15G 6G22G26G29G21G10
+ 21788493.3984 -15065099.94149 -11718118.78347 21788492.9964 21788497.5904
+ 2916.1784 2272.3474
+ 21300249.9954 -21905401.63849 -17050947.53648 21300249.9554 21300254.1554
+ 1553.7954 1210.7514
+ 22108570.2584 -12661477.82149 -9845761.49647 22108569.2404 22108574.7444
+ 2999.7614 2337.4804
+ 24456521.5774 -3039791.32849 -2344297.19045 24456521.1634 24456525.7034
+ -3077.1144 -2397.7484
+ 23343221.6574 -10098058.35949 -7853888.92646 23343220.7514 23343223.3034
+ 2417.2484 1883.5604
+ 21158555.5654 -18227908.75349 -13894833.16547 21158555.7424 21158560.1664
+ -2709.4624 -2111.2674
+ 22523578.0974 -14766505.56949 -11456083.86847 22523578.7384 22523582.3684
+ -2799.5254 -2181.4454
+ 20081619.7954 -25113561.13649 -19315857.58648 20081619.2614 20081622.6774
+ 304.0594 236.9324
+ 25305027.0944 3301896.05148 2594980.77244 25305027.0234 25305037.9794
+ -2741.4974 -2136.2324
+ 05 1 20 2 42 0.0000000 0 9G 9G18G15G 6G22G26G29G21G10
+ 21771882.6924 -15152384.59349 -11786132.77547 21771882.9194 21771888.5474
+ 2902.7654 2261.8974
+ 21291396.7294 -21951928.50849 -17087202.23348 21291396.2454 21291400.4924
+ 1548.0294 1206.2614
+ 22091473.1474 -12751324.05749 -9915771.55047 22091472.4704 22091477.5784
+ 2989.9404 2329.8234
+ 24474083.0834 -2947494.18349 -2272377.37245 24474084.5634 24474090.7484
+ -3076.3284 -2397.1384
+ 23329427.4154 -10170543.55149 -7910370.88846 23329426.8084 23329429.6314
+ 2415.1194 1881.9134
+ 21174051.6854 -18146474.51449 -13831377.91847 21174051.9524 21174056.2334
+ -2719.5094 -2119.0924
+ 22539573.4554 -14682448.53449 -11390584.87147 22539573.1734 22539576.8664
+ -2804.1724 -2185.0714
+ 20079938.3734 -25122397.46549 -19322743.03948 20079937.6244 20079941.2704
+ 285.0334 222.1074
+ 25320682.8844 3384153.76648 2659077.77044 25320678.5914 25320696.3164
+ -2742.3874 -2136.9284
+ 05 1 20 2 42 30.0000000 0 9G 9G18G15G 6G22G26G29G21G10
+ 21755350.8354 -15239264.85049 -11853831.66047 21755350.3094 21755355.6334
+ 2889.2364 2251.3514
+ 21282575.8594 -21998282.22849 -17123322.01548 21282575.5594 21282579.6614
+ 1542.2444 1201.7464
+ 22074432.5334 -12840875.28449 -9985551.73847 22074431.5354 22074436.4514
+ 2980.0704 2322.1314
+ 24491642.4914 -2855222.05949 -2200477.01445 24491642.5494 24491649.9204
+ -3075.4184 -2396.4294
+ 23315645.6864 -10242963.57949 -7966802.06146 23315645.7164 23315647.4154
+ 2412.9124 1880.1874
+ 21189605.0544 -18064740.87749 -13767689.37347 21189605.3054 21189609.6134
+ -2729.4014 -2126.8104
+ 22555595.7614 -14598251.12749 -11324976.51047 22555596.3604 22555600.0414
+ -2808.8974 -2188.7484
+ 20078365.1594 -25130661.94349 -19329182.89648 20078364.8744 20078368.5584
+ 265.9564 207.2384
+ 25336349.6714 3466441.13248 2723197.79144 25336347.0234
+ -2743.1704 -2137.5494
+ 05 1 20 2 43 0.0000000 0 9G 9G18G15G 6G22G26G29G21G10
+ 21738895.2934 -15325737.41249 -11921212.84347 21738894.4564 21738899.8194
+ 2875.5884 2240.7244
+ 21273788.6514 -22044462.44949 -17159306.60148 21273788.0804 21273791.5264
+ 1536.4524 1197.2344
+ 22057447.9004 -12930128.76149 -10055099.90447 22057447.1904 22057452.2374
+ 2970.1144 2314.3724
+ 24509196.6864 -2762977.57349 -2128598.26345 24509196.8004 24509202.6584
+ -3074.4634 -2395.6924
+ 23301878.6744 -10315318.24449 -8023182.33046 23301877.1474 23301879.7494
+ 2410.7074 1878.4724
+ 21205215.4044 -17982710.72349 -13703769.77047 21205215.4344 21205219.9074
+ -2739.2584 -2134.4864
+ 22571644.2614 -14513915.35149 -11259260.31047 22571643.8974 22571648.0594
+ -2813.4544 -2192.3064
+ 20076901.3974 -25138353.62949 -19335176.42048 20076901.1264 20076904.9024
+ 246.8364 192.3364
+ 25352012.1044 3548754.21448 2787337.85344
+ -2744.1724 -2138.3324
+ 05 1 20 2 43 30.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21722518.1054 -15411799.27449 -11988274.03147 21722518.1324 21722522.8764
+ 2861.8164 2229.9884
+ 21265033.6934 -22090468.52449 -17195155.48548 21265033.4164 21265036.7164
+ 1530.6154 1192.6874
+ 22040521.6134 -13019081.87849 -10124414.00847 22040519.8994 22040524.8154
+ 2960.0274 2306.5154
+ 24526741.2024 -2670763.56549 -2056743.20245 24526743.4064 24526751.9194
+ -3073.4004 -2394.8634
+ 23288120.2854 -10387607.32849 -8079511.47346 23288120.7834 23288123.8464
+ 2408.5194 1876.7684
+ 21220880.8404 -17900386.55949 -13639621.07247 21220880.9804 21220885.6004
+ -2749.0284 -2142.1084
+ 22587719.1934 -14429443.15549 -11193437.83247 22587718.6504 22587723.2714
+ -2817.9884 -2195.8424
+ 20075547.4564 -25145471.59649 -19340722.88848 20075546.7844 20075550.4184
+ 227.6674 177.4004
+ 05 1 20 2 44 0.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21706221.0184 -15497447.04949 -12055012.58047 21706219.4234 21706225.5794
+ 2847.9944 2219.2164
+ 21256312.2154 -22136299.86049 -17230868.21148 21256311.6164 21256315.3414
+ 1524.8064 1188.1584
+ 22023650.2374 -13107731.81949 -10193491.88647 22023649.6554 22023655.8534
+ 2949.9124 2298.6394
+ 24544286.8654 -2578582.84449 -1984914.09045 24544286.7184 24544292.2454
+ -3072.2274 -2393.9434
+ 23274378.8104 -10459830.29249 -8135789.09246 23274377.8334 23274381.1774
+ 2406.3554 1875.0804
+ 21236602.3294 -17817770.99549 -13575245.31147 21236602.5464 21236606.5124
+ -2758.6764 -2149.6184
+ 22603819.2034 -14344836.64249 -11127510.66747 22603818.7654 22603823.2674
+ -2822.3824 -2199.2474
+ 20074301.9374 -25152014.53449 -19345821.28248 20074301.5714 20074305.3454
+ 208.5124 162.4754
+ 05 1 20 2 44 30.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21690000.7804 -15582677.26749 -12121425.74647 21690001.0584 21690006.5294
+ 2834.0264 2208.3354
+ 21247624.5794 -22181955.82349 -17266444.29048 21247623.6654 21247627.6634
+ 1518.9364 1183.5874
+ 22006838.9944 -13196075.72949 -10262331.28547 22006838.2644 22006844.2024
+ 2939.6604 2290.6464
+ 24561820.7144 -2486438.06049 -1913112.97745 24561820.5974 24561826.5614
+ -3071.0454 -2393.0204
+ 23260648.1564 -10531986.93549 -8192015.04446 23260647.6884 23260649.1444
+ 2404.1054 1873.3364
+ 21252378.6094 -17734866.90749 -13510644.72447 21252378.6004 21252383.3274
+ -2768.2624 -2157.0824
+ 22619944.7194 -14260097.58749 -11061480.24347 22619944.5184 22619948.7084
+ -2826.7864 -2202.6874
+ 20073167.0114 -25157981.72249 -19350471.04148 20073166.3464 20073170.0244
+ 189.3044 147.5134
+ 05 1 20 2 45 0.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21673862.3284 -15667486.98349 -12187511.28947 21673862.3314 21673867.0954
+ 2819.9514 2197.3694
+ 21238969.0904 -22227435.62149 -17301883.09248 21238969.0194 21238973.1284
+ 1513.0434 1178.9974
+ 21990087.1274 -13284110.67749 -10330929.95147 21990085.3714 21990091.6554
+ 2929.3144 2282.5794
+ 24579347.4484 -2394331.72049 -1841341.81845 24579348.5564 24579353.3764
+ -3069.6734 -2391.9514
+ 23246928.1754 -10604076.98449 -8248189.10246 23246928.3704 23246931.2234
+ 2401.8704 1871.5724
+ 21268209.2344 -17651677.02549 -13445821.43747 21268208.7594 21268213.6454
+ -2777.7514 -2164.4804
+ 22636093.8014 -14175227.84849 -10995347.99547 22636093.7244 22636098.9134
+ -2831.1004 -2206.0544
+ 20072140.6024 -25163372.01849 -19354671.27748 20072140.2904 20072143.9114
+ 170.0384 132.5004
+ 05 1 20 2 45 30.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21657804.2584 -15751872.72949 -12253266.40747 21657804.5854 21657809.5214
+ 2805.7684 2186.3144
+ 21230348.9974 -22272738.66049 -17337184.15948 21230348.1534 21230352.3484
+ 1507.1654 1174.4154
+ 21973393.4544 -13371833.90349 -10399285.71547 21973392.5874 21973398.4604
+ 2918.8984 2274.4724
+ 24596868.3514 -2302266.90649 -1769603.01245 24596867.3914 24596872.6754
+ -3068.1484 -2390.7614
+ 23233224.2964 -10676100.23449 -8304311.12346 23233223.4194 23233225.2924
+ 2399.6604 1869.8754
+ 21284093.9204 -17568203.78949 -13380777.36147 21284093.4774 21284097.8754
+ -2787.1314 -2171.7834
+ 22652268.8644 -14090229.63349 -10929115.61847 22652269.1044 22652273.0524
+ -2835.3464 -2209.3614
+ 20071224.9694 -25168184.71149 -19358421.42848 20071224.5494 20071228.4564
+ 150.7914 117.5034
+ 05 1 20 2 46 0.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21641828.3784 -15835831.40549 -12318688.73747 21641827.7874 21641832.7244
+ 2791.4594 2175.1694
+ 21221761.3644 -22317863.99149 -17372346.76348 21221761.3904 21221765.5624
+ 1501.2144 1169.7814
+ 21956759.9494 -13459242.90649 -10467396.62747 21956759.3394 21956765.1794
+ 2908.3464 2266.2454
+ 24614379.7014 -2210246.12049 -1697898.51045 24614378.9334 24614384.8374
+ -3066.6804 -2389.6194
+ 23219530.1644 -10748056.17849 -8360380.66946 23219529.4154 23219532.4074
+ 2397.3964 1868.1024
+ 21300031.4694 -17484450.17749 -13315514.79547 21300031.2324 21300035.7884
+ -2796.4484 -2179.0464
+ 22668468.8894 -14005104.68649 -10862784.48447 22668467.8154 22668472.3694
+ -2839.5514 -2212.6404
+ 20070419.0234 -25172418.67249 -19361720.61648 20070418.6914 20070422.6654
+ 131.4514 102.4294
+ 05 1 20 2 46 30.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21625932.9514 -15919359.76749 -12383775.76347 21625932.5534 21625937.7244
+ 2777.0964 2163.9774
+ 21213208.5144 -22362811.33149 -17407370.66448 21213208.2374 21213212.0974
+ 1495.2874 1165.1614
+ 21940187.5814 -13546334.81949 -10535260.45747 21940186.6614 21940191.5474
+ 2897.7544 2257.9914
+ 24631880.6554 -2118272.16949 -1626230.55145 24631881.6584 24631885.2684
+ -3065.0754 -2388.3684
+ 23205849.1004 -10819944.53049 -8416397.56446 23205849.9654 23205852.6584
+ 2395.1414 1866.3474
+ 21316021.3574 -17400418.67649 -13250035.71147 21316022.0034 21316026.8634
+ -2805.6504 -2186.2144
+ 22684689.7664 -13919855.11949 -10796356.24247 22684690.1514 22684694.3594
+ -2843.6614 -2215.8374
+ 20069724.0154 -25176073.02849 -19364568.17248 20069723.4164 20069727.3274
+ 112.1574 87.4004
+ 05 1 20 2 47 0.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21610120.3724 -16002454.63249 -12448524.97947 21610120.3404 21610125.6054
+ 2762.5824 2152.6604
+ 21204689.0754 -22407580.25649 -17442255.53248 21204688.8754 21204692.7314
+ 1489.3244 1160.5154
+ 21923673.9584 -13633106.82649 -10602875.01147 21923674.2274 21923680.1294
+ 2887.0514 2249.6444
+ 24649371.7064 -2026347.72649 -1554601.11745 24649372.9824 24649377.5164
+ -3063.4204 -2387.0804
+ 23192183.3794 -10891765.09949 -8472361.65146 23192182.9984 23192185.5544
+ 2392.8754 1864.5714
+ 21332064.9424 -17316112.03649 -13184342.22047 21332065.3454 21332069.4234
+ -2814.7804 -2193.3354
+ 22700936.0724 -13834482.63449 -10729832.22947 22700936.0024 22700941.1774
+ -2847.6924 -2218.9784
+ 20069139.0274 -25179146.56549 -19366963.13348 20069138.5474 20069142.2234
+ 92.7694 72.2874
+ 05 1 20 2 47 30.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21594391.0304 -16085112.94749 -12512934.05347 21594390.4364 21594395.8324
+ 2747.9714 2141.2774
+ 21196204.6524 -22452169.81949 -17477000.64148 21196203.8094 21196207.6544
+ 1483.3434 1155.8544
+ 21907223.7914 -13719556.14549 -10670238.10847 21907223.4784 21907228.6414
+ 2876.2344 2241.2174
+ 24666855.3354 -1934475.37349 -1483012.28545 24666855.1784 24666861.2504
+ -3061.6434 -2385.6874
+ 23178529.3774 -10963517.44949 -8528272.57946 23178529.4444 23178531.4624
+ 2390.6284 1862.8254
+ 21348159.1394 -17231532.91949 -13118436.41547 21348159.6714 21348164.5244
+ -2823.8184 -2200.3724
+ 22717204.9344 -13748988.98449 -10663213.80947 22717204.9014 22717210.5274
+ -2851.7304 -2222.1264
+ 20068664.9814 -25181638.86749 -19368905.19148 20068664.5754 20068668.0184
+ 73.3874 57.1834
+ 05 1 20 2 48 0.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21578744.5664 -16167331.42749 -12577000.41347 21578744.5944 21578750.1274
+ 2733.2374 2129.7924
+ 21187753.7574 -22496579.24349 -17511605.38548 21187753.1074 21187756.7644
+ 1477.3214 1151.1614
+ 21890835.9664 -13805680.01949 -10737347.62747 21890835.0074 21890839.7954
+ 2865.3444 2232.7374
+ 24684324.9034 -1842658.06649 -1411466.33645 24684327.1224 24684332.8904
+ -3059.8004 -2384.2654
+ 23164888.9214 -11035201.35249 -8584130.15246 23164888.6564 23164890.6854
+ 2388.3204 1861.0294
+ 21364305.8274 -17146683.99749 -13052320.37047 21364305.9874 21364311.0444
+ -2832.7904 -2207.3654
+ 22733496.3324 -13663376.52149 -10596502.81347 22733495.9514 22733500.6514
+ -2855.6774 -2225.1984
+ 20068300.9294 -25183548.96349 -19370393.57848 20068300.6294 20068304.6044
+ 53.9574 42.0444
+ 05 1 20 2 48 30.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21563183.9534 -16249106.87049 -12640721.53347 21563183.7744 21563188.7334
+ 2718.4394 2118.2604
+ 21179336.8474 -22540807.76549 -17546069.16948 21179336.4164 21179340.3614
+ 1471.2604 1146.4364
+ 21874509.7064 -13891475.68749 -10804201.38547 21874508.7554 21874513.7234
+ 2854.3564 2224.1694
+ 24701791.1324 -1750898.14849 -1339965.13245 24701789.8444 24701795.6334
+ -3057.7934 -2382.6884
+ 23151260.1724 -11106816.35249 -8639934.03946 23151260.0004 23151263.3824
+ 2386.0144 1859.2324
+ 21380503.9064 -17061567.62749 -12985995.93147 21380503.1834 21380507.5074
+ -2841.6684 -2214.2854
+ 22749809.8334 -13577646.75149 -10529700.41146 22749811.1174 22749813.9074
+ -2859.5664 -2228.2334
+ 20068049.1224 -25184875.95549 -19371427.60348 20068048.3424 20068052.1814
+ 34.5124 26.8924
+ 05 1 20 2 49 0.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21547707.7294 -16330436.17949 -12704095.01247 21547707.0234 21547712.7814
+ 2703.5064 2106.6274
+ 21170955.5314 -22584854.90649 -17580391.61748 21170954.8324 21170958.5434
+ 1465.2124 1141.7244
+ 21858245.9394 -13976940.35649 -10870797.23447 21858245.0794 21858249.7934
+ 2843.2574 2215.5194
+ 24719238.9844 -1659198.43149 -1268510.85945 24719239.0504 24719244.0394
+ -3055.8104 -2381.1534
+ 23137644.9534 -11178362.06949 -8695683.92646 23137645.1554 23137648.2014
+ 2383.7014 1857.4284
+ 21396750.0104 -16976187.06249 -12919465.63147 21396750.4394 21396755.0084
+ -2850.4164 -2221.1024
+ 22766147.3544 -13491801.79049 -10462808.20746 22766146.6544 22766149.8434
+ -2863.3834 -2231.1994
+ 20067907.5524 -25185619.27549 -19372006.81848 20067906.9254 20067910.5884
+ 15.0294 11.7104
+ 05 1 20 2 49 30.0000000 0 9G 9G18G15G 6G22G 3G26G29G21
+ 21532317.0074 -16411316.21149 -12767118.39247 21532316.6444 21532321.1134
+ 2688.4884 2094.9214
+ 21162607.5164 -22628720.13249 -17614572.30548 21162607.4204 21162610.9894
+ 1459.1414 1136.9894
+ 21842046.0474 -14062071.29449 -10937133.02547 21842045.5424 21842049.9674
+ 2832.1064 2206.8284
+ 24736676.1534 -1567561.66149 -1197105.57345 24736677.5414 24736681.8544
+ -3053.6474 -2379.4644
+ 23124044.8554 -11249838.13049 -8751379.55546 23124044.7134 23124046.3604
+ 2381.3464 1855.5934
+ -56124.75541 -1218.446 3 24847488.386
+ 643.5414 535.016
+ 21413047.6814 -16890544.36449 -12852731.05047 21413047.7314 21413052.1714
+ -2859.0694 -2227.8474
+ 22782501.9564 -13405843.23949 -10395827.51446 22782503.1484 22782508.1854
+ -2867.1164 -2234.1174
+ 20067877.1224 -25185777.91349 -19372130.42648 20067876.5154 20067880.5424
+ -4.4794 -3.4954
+ 05 1 20 2 50 0.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21517012.0104 -16491743.80049 -12829789.21647 21517011.6444 21517016.4844
+ 2673.3434 2083.1194
+ 21154295.3024 -22672402.81849 -17648610.76148 21154294.8364 21154298.5544
+ 1453.0394 1132.2384
+ 21825910.9134 -14146865.63549 -11003206.53847 21825909.9024 21825914.1584
+ 2820.8284 2198.0504
+ 24754102.3264 -1475990.23149 -1125751.21745 24754102.2824 24754108.5804
+ -3051.4044 -2377.7164
+ 23110455.4914 -11321244.38549 -8807020.77546 23110455.3174 23110458.6364
+ 2379.0434 1853.8014
+ 21429394.7344 -16804642.57749 -12785794.58847 21429394.3434 21429399.6484
+ -2867.6874 -2234.5644
+ 22798882.0724 -13319773.14449 -10328759.92246 22798881.5334 22798886.4834
+ -2870.7864 -2236.9644
+ 20067958.7174 -25185351.07049 -19371797.82648 20067958.2864 20067961.6964
+ -24.0144 -18.7144
+ 05 1 20 2 50 30.0000000 0 9G 9G18G15G 6G22G 3G26G29G21
+ 21501793.0454 -16571715.95149 -12892105.17447 21501793.2834 21501798.3294
+ 2658.1134 2071.2534
+ 21146018.5304 -22715901.62549 -17682505.93048 21146017.5944 21146021.2444
+ 1446.8764 1127.4354
+ 21809839.0604 -14231320.62749 -11069015.62547 21809838.4694 21809843.0484
+ 2809.4524 2189.1834
+ 24771515.1784 -1384487.03849 -1054450.05745 24771514.6174 24771520.6834
+ -3049.1394 -2375.9504
+ 23096880.0784 -11392580.30849 -8862607.22546 23096880.1814 23096883.1344
+ 2376.6724 1851.9454
+ -11024.13441 -843.372 3 24831244.116
+ 610.0574 477.456
+ 21445789.9864 -16718484.08949 -12718658.10647 21445789.6574 21445794.6284
+ -2876.2094 -2241.2064
+ 22815281.1124 -13233593.31149 -10261606.81046 22815281.7854 22815285.8884
+ -2874.4494 -2239.8464
+ 20068151.4484 -25184338.23549 -19371008.61048 20068150.9344 20068154.2444
+ -43.5564 -33.9434
+ 05 1 20 2 51 0.0000000 0 9G 9G18G15G 6G22G 3G26G29G21
+ 21486662.5594 -16651229.49449 -12954063.75647 21486662.4444 21486667.2444
+ 2642.7934 2059.3174
+ 21137775.4964 -22759216.21649 -17716257.55548 21137775.1174 21137778.8254
+ 1440.7424 1122.6544
+ 21793832.8154 -14315433.59549 -11134558.19447 21793831.7244 21793836.9604
+ 2798.0144 2180.2694
+ 24788912.4954 -1293054.64249 -983204.06145 24788913.7314 24788918.1934
+ -3046.7094 -2374.0524
+ 23083320.1984 -11463845.51349 -8918138.54946 23083319.4954 23083322.8344
+ 2374.3434 1850.1304
+ -29073.85641 -843.372 3 24831244.116
+ 593.2524 477.456
+ 21462232.9484 -16632071.68549 -12651323.77347 21462233.4424 21462238.0964
+ -2884.6234 -2247.7524
+ 22831701.2254 -13147305.70049 -10194369.71146 22831701.6404 22831706.4414
+ -2878.0024 -2242.6154
+ 20068455.8764 -25182738.65149 -19369762.17848 20068455.2134 20068458.8324
+ -63.1184 -49.1844
+ 05 1 20 2 51 30.0000000 0 9G 9G18G15G 6G22G 3G26G29G21
+ 21471619.1294 -16730281.22549 -13015662.49547 21471619.1684 21471623.9964
+ 2627.3104 2047.2594
+ 21129567.9104 -22802346.05149 -17749865.21448 21129567.6024 21129571.2714
+ 1434.5774 1117.8514
+ 21777891.1124 -14399201.72149 -11199832.05347 21777891.2514 21777896.5694
+ 2786.4814 2171.2834
+ 24806298.3414 -1201695.64249 -912015.23045 24806298.4034 24806304.3224
+ -3044.2404 -2372.1234
+ 23069772.0424 -11535039.77549 -8973614.59546 23069771.7954 23069774.9824
+ 2371.9394 1848.2694
+ -46620.31441 -21000.250 4 24826344.136
+ 576.4724 460.636
+ 21478724.8724 -16545407.79849 -12583793.46447 21478725.1874 21478730.0624
+ -2892.9684 -2254.2624
+ 22848141.4284 -13060911.90949 -10127049.88346 22848141.6794 22848144.8534
+ -2881.5154 -2245.3354
+ 20068872.0454 -25180551.53549 -19368057.92948 20068871.4224 20068874.8424
+ -82.7144 -64.4514
+ 05 1 20 2 52 0.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21456664.9674 -16808868.18049 -13076899.07947 21456664.4094 21456670.1894
+ 2611.7814 2035.1584
+ 21121396.2944 -22845290.52149 -17783328.43848 21121395.7404 21121399.0964
+ 1428.4024 1113.0464
+ 21762018.2284 -14482622.09349 -11264834.94947 21762017.2334 21762021.8304
+ 2774.8474 2162.2154
+ 24823668.6894 -1110412.65149 -840885.68145 24823668.9554 24823675.2524
+ -3041.6584 -2370.1304
+ 23056237.0964 -11606162.62549 -9029034.99446 23056237.8714 23056240.4944
+ 2369.5754 1846.4224
+ 21495263.6204 -16458495.15049 -12516069.33247 21495263.8874 21495268.4944
+ -2901.2274 -2260.6944
+ 22864601.6894 -12974413.97849 -10059648.88246 22864601.0394 22864605.1234
+ -2884.9524 -2248.0154
+ 20069399.8694 -25177776.29249 -19365895.41048 20069399.5674 20069403.0894
+ -102.3064 -79.7144
+ 05 1 20 2 52 30.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21441799.3504 -16886987.28249 -13137771.08747 21441798.8674 21441804.2074
+ 2596.1364 2022.9614
+ 21113259.1544 -22888048.82249 -17816646.59148 21113258.7184 21113262.4734
+ 1422.1744 1108.1904
+ 21746209.0094 -14565691.97549 -11329564.71847 21746208.7814 21746214.8484
+ 2763.1054 2153.0644
+ 24841027.5654 -1019208.31649 -769817.41045 24841026.2694 24841029.4734
+ -3038.9394 -2368.0044
+ 23042717.3764 -11677213.75149 -9084399.51946 23042717.0274 23042719.4734
+ 2367.1934 1844.5604
+ 21511850.1794 -16371336.33549 -12448153.37147 21511849.8834 21511854.2674
+ -2909.3804 -2267.0544
+ 22881080.8274 -12887813.66849 -9992168.11946 22881080.7614 22881084.8924
+ -2888.3324 -2250.6544
+ 20070040.3004 -25174412.35949 -19363274.16348 20070039.4804 20070043.1364
+ -121.9444 -95.0254
+ 05 1 20 2 53 0.0000000 0 9G 9G18G15G 6G22G 3G26G29G21
+ 21427022.8764 -16964635.40549 -13198276.09847 21427023.3084 21427027.5864
+ 2580.4184 2010.7154
+ 21105157.8024 -22930620.08149 -17849818.99848 21105157.4434 21105161.3804
+ 1415.9464 1103.3334
+ 21730469.9984 -14648408.47749 -11394019.14447 21730468.5574 21730474.3354
+ 2751.3144 2143.8794
+ 24858365.6234 -928085.43349 -698812.61045 24858364.9014 24858370.9554
+ -3036.2094 -2365.8814
+ 23029209.6884 -11748192.76649 -9139707.83046 23029210.2394 23029212.9204
+ 2364.7464 1842.6534
+ -17512.22441 -8244.185 3 24814907.018
+ 526.1614 413.196
+ 21528482.0804 -16283933.90049 -12380047.57447 21528481.7704 21528486.3044
+ -2917.4444 -2273.3384
+ 22897579.8874 -12801112.81449 -9924609.01446 22897579.4274 22897584.1964
+ -2891.6374 -2253.2214
+ 20070791.8884 -25170458.96749 -19360193.59948 20070791.6764 20070795.3824
+ -141.5984 -110.3364
+ 05 1 20 2 53 30.0000000 0 9G 9G18G15G 6G22G 3G26G29G21
+ 21412336.6814 -17041809.66049 -13258411.86447 21412337.0884 21412341.9484
+ 2564.5284 1998.3364
+ 21097092.9354 -22973003.73749 -17882845.21548 21097092.1644 21097096.0064
+ 1409.6674 1098.4414
+ 21714795.6354 -14730768.99549 -11458196.15747 21714795.4574 21714801.4644
+ 2739.3744 2134.5784
+ 24875689.7734 -837046.31449 -627873.02545 24875688.9744 24875693.8924
+ -3033.3684 -2363.6684
+ 23015717.9644 -11819099.30449 -9194959.67347 23015717.8564 23015720.1234
+ 2362.3284 1840.7794
+ -33044.56241 -22822.615 5 24811350.362
+ 509.4544 396.496
+ 21545160.6704 -16196290.48949 -12311754.01547 21545160.2204 21545164.3244
+ -2925.4274 -2279.5524
+ 22914097.1444 -12714313.32249 -9856973.05946 22914096.4814 22914101.4054
+ -2894.8984 -2255.7614
+ 20071657.0494 -25165915.53349 -19356653.26148 20071656.6104 20071659.9354
+ -161.2614 -125.6614
+ 05 1 20 2 54 0.0000000 0 9G 9G18G15G 6G22G 3G26G29G21
+ 21397743.0374 -17118506.69949 -13318175.75747 21397742.4514 21397747.2844
+ 2548.5814 1985.9084
+ 21089062.6504 -23015198.93549 -17915724.59148 21089062.7264 21089066.4724
+ 1403.3614 1093.5294
+ 21699192.2024 -14812770.78249 -11522093.66047 21699191.2444 21699196.7964
+ 2727.3674 2125.2194
+ 24892995.1104 -746093.68649 -557000.87145 24892996.3774 24893003.2014
+ -3030.3924 -2361.3454
+ 23002238.9644 -11889932.87849 -9250154.65347 23002238.8624 23002241.0244
+ 2359.8914 1838.8734
+ -48073.44441 -25000.192 5 24810817.345
+ 492.5834 395.806
+ 21561883.3774 -16108408.69649 -12243274.69147 21561882.9394 21561887.2964
+ -2933.3464 -2285.7264
+ 22930633.2514 -12627416.66549 -9789261.37546 22930632.9464 22930637.0234
+ -2898.0884 -2258.2524
+ 20072634.1444 -25160781.56049 -19352652.76448 20072633.5934 20072636.9984
+ -180.9844 -141.0264
+ 05 1 20 2 54 30.0000000 0 8G 9G18G15G 6G22G26G29G21
+ 21383238.3064 -17194723.80749 -13377565.69947 21383238.2494 21383244.0294
+ 2532.5384 1973.4084
+ 21081070.4154 -23057204.81349 -17948456.44148 21081069.7364 21081073.1824
+ 1397.0404 1088.6054
+ 21683656.5174 -14894411.03449 -11585709.44647 21683656.0314 21683661.7154
+ 2715.2714 2115.7954
+ 24910292.3224 -655230.14049 -486198.18645 24910289.1854 24910293.9984
+ -3027.3894 -2359.0104
+ 22988774.0294 -11960692.80449 -9305292.25447 22988773.7494 22988775.4404
+ 2357.4284 1836.9634
+ 21578651.6504 -16020290.96749 -12174611.53447 21578651.7574 21578656.0284
+ -2941.1684 -2291.8194
+ 22947187.3514 -12540424.82349 -9721475.51546 22947187.3764 22947191.1944
+ -2901.2644 -2260.7204
+ 20073723.8404 -25155056.54949 -19348191.71948 20073722.9904 20073726.3044
+ -200.6974 -156.3854
+ 05 1 20 2 55 0.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21368827.5174 -17270457.89549 -13436579.27347 21368827.0614 21368832.5004
+ 2516.3764 1960.8084
+ 21073112.8624 -23099021.04849 -17981040.51948 21073112.4304 21073115.8654
+ 1390.7074 1083.6674
+ 21668190.2214 -14975686.87449 -11649041.26347 21668189.6354 21668195.6034
+ 2703.0814 2106.2944
+ 24927562.9484 -564458.31249 -415466.88245 24927560.9454 24927569.0424
+ -3024.3654 -2356.6544
+ 22975322.8564 -12031379.09449 -9360372.47547 22975321.9704 22975323.7624
+ 2354.9784 1835.0494
+ 24816945.6474 -291148.38349 -216922.55944
+ 3220.7744 2509.6494
+ 21595463.5084 -15931940.15049 -12105766.73947 21595463.7064 21595468.4844
+ -2948.9044 -2297.8524
+ 22963758.9924 -12453339.57449 -9653616.87746 22963759.0454 22963763.4284
+ -2904.3344 -2263.1254
+ 20074925.0464 -25148739.92949 -19343269.68448 20074924.8184 20074928.3434
+ -220.4324 -171.7664
+ 05 1 20 2 55 30.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21354507.9354 -17345706.07449 -13495214.21347 21354508.1534 21354512.5464
+ 2500.1244 1948.1484
+ 21065191.6664 -23140646.93449 -18013476.27648 21065191.2034 21065194.6584
+ 1384.3344 1078.7014
+ 21652794.0074 -15056595.62649 -11712087.04147 21652793.3694 21652798.8464
+ 2690.7984 2096.7254
+ 24944816.1224 -473780.54949 -344808.95645 24944817.0964 24944823.5334
+ -3021.1594 -2354.1514
+ 22961884.5034 -12101991.21949 -9415394.90047 22961884.7654 22961887.1574
+ 2352.4884 1833.1024
+ 24798569.8254 -387700.26149 -59560.46143
+ 3215.9964 2505.9704
+ 21612321.1164 -15843358.68749 -12036742.22247 21612320.3314 21612325.4084
+ -2956.5414 -2303.7974
+ 22980347.7014 -12366162.74849 -9585686.88246 22980347.0604 22980351.6604
+ -2907.3624 -2265.4814
+ 20076240.3094 -25141831.32949 -19337886.36548 20076239.6954 20076243.0704
+ -240.1644 -187.1424
+ 05 1 20 2 56 0.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21340281.4014 -17420465.29249 -13553468.13247 21340281.2124 21340286.2734
+ 2483.7894 1935.4164
+ 21057306.5214 -23182081.15649 -18045762.67848 21057306.0684 21057309.8954
+ 1377.9714 1073.7444
+ 21637468.2534 -15137134.50249 -11774844.60347 21637467.4174 21637472.4144
+ 2678.4354 2087.0934
+ 24962056.6384 -383199.69549 -274226.47945 24962053.9314 24962061.8414
+ -3017.8324 -2351.5524
+ 22948463.6594 -12172528.70549 -9470359.17347 22948462.6374 22948464.0904
+ 2350.0164 1831.1874
+ 24780224.5704 -484108.48249 -134684.00345
+ 3211.2114 2502.2454
+ 21629220.6804 -15754549.07049 -11967539.93947 21629220.4704 21629225.2174
+ -2964.0654 -2309.6574
+ 22996953.5394 -12278895.89049 -9517686.74846 22996953.8684 22996957.3104
+ -2910.3394 -2267.7904
+ 20077667.7164 -25134330.40449 -19332041.49648 20077667.0874 20077670.3824
+ -259.9054 -202.5214
+ 05 1 20 2 56 30.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21326148.8054 -17494732.67749 -13611338.79247 21326148.6274 21326153.7964
+ 2467.3574 1922.6164
+ 21049457.7304 -23223323.35149 -18077899.45448 21049458.0084 21049461.7194
+ 1371.5244 1068.7234
+ 21622213.1244 -15217300.75649 -11837311.81547 21622212.5934 21622217.5514
+ 2665.9584 2077.3694
+ 24979272.8604 -292718.06749 -203721.38545 24979272.5034 24979276.0864
+ -3014.5354 -2348.9834
+ 22935053.3134 -12242991.17349 -9525264.98147 22935053.8604 22935055.8024
+ 2347.4944 1829.2154
+ 24761904.1104 -580371.70149 -209694.20145 24761907.1014
+ 3206.3204 2498.4284
+ 21646163.5174 -15665513.86249 -11898161.84647 21646163.4904 21646167.4154
+ -2971.5904 -2315.5234
+ 23013578.1554 -12191541.06049 -9449618.03046 23013577.3604 23013581.1914
+ -2913.2474 -2270.0654
+ 20079207.5434 -25126236.37149 -19325734.45848 20079207.1074 20079210.8684
+ -279.6884 -217.9384
+ 05 1 20 2 57 0.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21312110.5064 -17568505.36449 -13668823.98647 21312110.4894 21312115.3644
+ 2450.8114 1909.7224
+ 21041646.9754 -23264372.54249 -18109885.83048 21041646.2214 21041650.3604
+ 1365.0804 1063.6994
+ 21607029.5544 -15297091.69449 -11899486.57647 21607028.5784 21607033.6084
+ 2653.4064 2067.5864
+ 24996469.9294 -202338.20849 -133295.61445 24996471.6724 24996474.9224
+ -3011.0124 -2346.2434
+ 22921659.4644 -12313378.27549 -9580112.08447 22921659.3604 22921661.3344
+ 2344.9684 1827.2454
+ 24743614.7954 -676488.97449 -284590.74045 24743612.7494 24743617.9074
+ 3201.4594 2494.6384
+ 21663148.6844 -15576255.61349 -11828609.97447 21663148.5744 21663153.1984
+ -2978.9574 -2321.2674
+ 23030217.5194 -12104099.68649 -9381481.91246 23030216.3924 23030221.0294
+ -2916.1384 -2272.3224
+ 20080861.0824 -25117549.00549 -19318965.08848 20080860.5444 20080863.6894
+ -299.4854 -233.3674
+ 05 1 20 2 57 30.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21298167.4244 -17641780.06149 -13725921.13448 21298166.9454 21298171.6534
+ 2434.1604 1896.7504
+ 21033872.2134 -23305228.01149 -18141721.25648 21033872.2164 21033875.9544
+ 1358.6224 1058.6694
+ 21591917.9564 -15376504.58449 -11961366.75547 21591917.1694 21591921.6784
+ 2640.7464 2057.7254
+ 25013650.2984 -112062.97149 -62951.26645 25013650.1024 25013652.8054
+ -3007.5034 -2343.5054
+ 22908279.2884 -12383689.57349 -9634900.09047 22908279.4934 22908281.6134
+ 2342.4324 1825.2804
+ 24725350.9174 -772459.30449 -359372.82545 24725351.4354 24725353.9124
+ 3196.4994 2490.7724
+ 21680175.9144 -15486776.78149 -11758886.19947 21680175.7504 21680180.2714
+ -2986.2774 -2326.9694
+ 23046872.8364 -12016573.61549 -9313279.76846 23046872.1994 23046876.6594
+ -2918.8874 -2274.4614
+ 20082627.1314 -25108267.80149 -19311732.98148 20082626.4004 20082630.1574
+ -319.2684 -248.7784
+ 05 1 20 2 58 0.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21284318.1564 -17714554.04049 -13782628.09447 21284317.9414 21284323.0434
+ 2417.4144 1883.6974
+ 21026135.2894 -23345888.97149 -18173405.11548 21026134.7394 21026138.5464
+ 1352.1274 1053.6034
+ 21576878.5174 -15455536.42049 -12022950.00647 21576877.4354 21576882.7364
+ 2627.9874 2047.7824
+ 25030810.4134 -21894.68749 7309.73145 25030808.1474 25030816.2484
+ -3003.8544 -2340.6704
+ 22894914.3594 -12453924.47349 -9689628.58947 22894913.8964 22894916.8624
+ 2339.8684 1823.2784
+ 24707117.3024 -868281.46049 -434039.42645 24707116.9704 24707122.1534
+ 3191.5964 2486.9564
+ 21697244.4434 -15397080.01349 -11688992.62547 21697244.7864 21697249.4374
+ -2993.4964 -2332.5914
+ 23063544.2434 -11928964.61749 -9245013.01146 23063544.9254 23063547.7224
+ -2921.6124 -2276.5724
+ 20084506.4524 -25098392.49549 -19304037.94648 20084505.8094 20084509.4154
+ -339.0974 -264.2334
+ 05 1 20 2 58 30.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21270565.9424 -17786824.59349 -13838942.79347 21270565.4454 21270570.1964
+ 2400.6074 1870.6014
+ 21018434.8994 -23386354.97149 -18204937.06248 21018434.4474 21018437.8774
+ 1345.6074 1048.5264
+ 21561911.7494 -15534184.51049 -12084234.22647 21561911.3114 21561916.7814
+ 2615.1714 2037.7964
+ 25047951.9944 68164.26149 77485.49445 25047949.2494 25047951.7884
+ -3000.2234 -2337.8494
+ 22881564.0014 -12524082.71949 -9744297.34947 22881563.6404 22881566.7184
+ 2337.3394 1821.3104
+ 24688912.2494 -963954.61949 -508589.87245 24688910.2184 24688916.0434
+ 3186.6304 2483.0844
+ 21714354.2964 -15307167.76049 -11618931.12747 21714354.2054 21714359.2914
+ -3000.6444 -2338.1674
+ 23080231.0474 -11841274.38249 -9176682.96146 23080230.7604 23080234.9094
+ -2924.3144 -2278.6944
+ 20086498.1334 -25087922.63449 -19295879.61448 20086497.9044 20086501.7064
+ -358.9124 -279.6734
+ 05 1 20 2 59 0.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21256909.9624 -17858588.62149 -13894862.80747 21256909.4924 21256914.1064
+ 2383.6474 1857.3864
+ 21010771.2524 -23426624.72249 -18236316.08948 21010770.8234 21010775.0284
+ 1339.0374 1043.4054
+ 21547019.0284 -15612446.12749 -12145217.31047 21547018.6244 21547023.7344
+ 2602.2534 2027.7324
+ 25065063.7574 158111.10348 147573.90145 25065062.0854 25065070.3474
+ -2996.4734 -2334.9224
+ 22868228.2904 -12594163.60449 -9798905.84347 22868227.8384 22868229.9104
+ 2334.7834 1819.3114
+ 24670733.3544 -1059477.74949 -583023.43345 24670732.5124 24670737.0334
+ 3181.5624 2479.1414
+ 21731504.2884 -15217042.54949 -11548703.69147 21731504.3814 21731509.2974
+ -3007.6994 -2343.6624
+ 23096932.4824 -11753504.61949 -9108290.95046 23096932.4194 23096937.1464
+ -2926.9334 -2280.7164
+ 20088603.7914 -25076857.91249 -19287257.75848 20088603.4274 20088607.3304
+ -378.7514 -295.1314
+ 05 1 20 2 59 30.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21243349.5844 -17929843.37749 -13950385.95347 21243349.6054 21243354.8844
+ 2366.6554 1844.1454
+ 21003145.3224 -23466697.86849 -18267541.91748 21003144.8804 21003149.2484
+ 1332.4884 1038.3014
+ 21532200.6034 -15690318.59649 -12205897.15147 21532200.2574 21532205.4644
+ 2589.2544 2017.6034
+ 25082154.3634 247943.44948 217573.07744 25082153.2684 25082160.5104
+ -2992.6284 -2331.9204
+ 22854905.7604 -12664166.80049 -9853453.78147 22854906.0494 22854909.3024
+ 2332.1714 1817.2724
+ 24652585.4624 -1154849.53249 -657339.08245 24652585.4934 24652590.3724
+ 3176.5874 2475.2674
+ 21748694.4894 -15126706.93849 -11478312.31747 21748695.1534 21748699.2844
+ -3014.6844 -2349.1114
+ 23113648.4144 -11665656.83749 -9039838.12946 23113648.7684 23113654.0104
+ -2929.4624 -2282.6904
+ 20090823.1784 -25065197.99549 -19278172.11648 20090822.5794 20090825.9814
+ -398.5884 -310.5904
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 3 0 0.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21229888.2194 -18000585.99049 -14005510.06147 21229888.0844 21229892.7854
+ 2349.5324 1830.7994
+ 20995557.6574 -23506573.33649 -18298613.71248 20995557.2924 20995561.2824
+ 1325.8774 1033.1564
+ 21517456.1144 -15767799.28949 -12266271.71447 21517455.9144 21517461.4534
+ 2576.1294 2007.3734
+ 25099231.5314 337659.11149 287481.32744 25099228.0424 25099233.1684
+ -2988.7244 -2328.8764
+ 22841599.5114 -12734091.92049 -9907940.87947 22841599.2474 22841602.7544
+ 2329.5464 1815.2354
+ 24634463.9224 -1250068.86749 -731535.91545 24634464.8554 24634468.7764
+ 3171.4664 2471.2714
+ 21765923.6684 -15036163.32449 -11407758.85747 21765924.7654 21765928.0074
+ -3021.5404 -2354.4384
+ 23130378.9624 -11577733.07349 -8971326.10846 23130380.0554 23130385.4774
+ -2931.9944 -2284.6704
+ 20093154.5914 -25052942.75149 -19268622.57748 20093154.2574 20093158.0414
+ -418.4594 -326.0684
+ 05 1 20 3 0 30.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21216524.8494 -18070813.52649 -14060232.79848 21216524.6264 21216529.1254
+ 2332.3074 1817.3794
+ 20988007.3474 -23546250.34049 -18329530.85948 20988007.2504 20988011.0054
+ 1319.2724 1028.0064
+ 21502787.6614 -15844885.25649 -12326338.69047 21502786.9994 21502792.4404
+ 2562.9094 1997.0754
+ 25116281.0994 427255.01449 357296.29745 25116280.5254 25116285.5824
+ -2984.7194 -2325.7464
+ 22828309.7884 -12803938.35849 -9962366.67847 22828309.0824 22828310.9014
+ 2326.9204 1813.1954
+ 24616374.7114 -1345135.00149 -805613.39845 24616375.6974 24616377.3644
+ 3166.2924 2467.2454
+ 21783194.0914 -14945414.30749 -11337045.32547 21783194.3104 21783198.3784
+ -3028.3524 -2359.7554
+ 23147126.2454 -11489734.66649 -8902755.93146 23147126.4284 23147131.2704
+ -2934.4934 -2286.6374
+ 20095600.5914 -25040091.72549 -19258608.79548 20095600.0584 20095603.4674
+ -438.3184 -341.5484
+ 05 1 20 3 1 0.0000000 0 9G 9G18G15G 6G22G14G26G29G21
+ 21203259.3934 -18140523.22449 -14114552.01548 21203258.8704 21203263.7544
+ 2315.0084 1803.9004
+ 20980495.6594 -23585728.04349 -18360292.69748 20980494.7264 20980498.2484
+ 1312.5954 1022.8024
+ 21488195.1624 -15921573.59149 -12386095.84647 21488194.0974 21488198.6514
+ 2549.6254 1986.7204
+ 25133305.8524 516729.02449 427016.22145 25133307.1644 25133309.2264
+ -2980.4954 -2322.4584
+ 22815032.1914 -12873705.65349 -10016730.81347 22815032.9024 22815035.2684
+ 2324.2534 1811.1054
+ 24598313.8324 -1440046.74249 -879570.60645 24598313.6774 24598316.3404
+ 3161.1294 2463.2144
+ 21800501.2484 -14854462.19649 -11266173.54847 21800501.3594 21800505.4164
+ -3035.1124 -2365.0184
+ 23163886.3254 -11401663.60649 -8834129.12346 23163885.4384 23163890.2384
+ -2936.8704 -2288.4704
+ 20098159.4924 -25026644.79449 -19248130.67248 20098158.6454 20098162.3794
+ -458.1534 -357.0044
+ 05 1 20 3 1 30.0000000 0 8G 9G18G15G22G14G26G29G21
+ 21190091.5954 -18209712.18849 -14168465.46547 21190092.1314 21190097.3164
+ 2297.5744 1790.3174
+ 20973020.9754 -23625005.60449 -18390898.59548 20973020.6384 20973024.1124
+ 1305.9074 1017.5884
+ 21473677.8954 -15997861.92749 -12445541.30547 21473676.6174 21473681.7974
+ 2536.2344 1976.2924
+ 22801771.4634 -12943393.62849 -10071033.11947 22801771.5094 22801774.2224
+ 2321.6054 1809.0414
+ 24580280.7624 -1534803.12049 -953406.72845 24580280.9564 24580286.5594
+ 3155.9444 2459.1754
+ 21817847.0324 -14763309.48149 -11195145.46647 21817847.2694 21817851.7414
+ -3041.7334 -2370.1814
+ 23180659.0304 -11313521.36549 -8765446.85946 23180658.4184 23180663.3354
+ -2939.2304 -2290.3084
+ 20100832.0374 -25012601.76449 -19237188.04948 20100831.3034 20100834.9184
+ -478.0324 -372.4954
+ 05 1 20 3 2 0.0000000 0 8G 9G18G15G22G14G26G29G21
+ 21177026.4004 -18278377.69349 -14221971.01748 21177025.9744 21177030.9864
+ 2280.1094 1776.7064
+ 20965584.4834 -23664082.52349 -18421348.13948 20965584.3004 20965588.1614
+ 1299.2174 1012.3734
+ 21459235.9454 -16073747.44549 -12504672.87647 21459235.9334 21459241.3414
+ 2522.7814 1965.8014
+ 22788525.6334 -13013001.52349 -10125273.02847 22788526.0844 22788528.3144
+ 2318.9274 1806.9544
+ 24562280.9924 -1629403.15449 -1027120.97345 24562279.8914 24562283.8844
+ 3150.6644 2455.0644
+ 21835230.1884 -14671958.92149 -11123963.20347 21835230.5824 21835234.5014
+ -3048.2984 -2375.3094
+ 23197444.3934 -11225309.68749 -8696710.50346 23197444.6754 23197449.4414
+ -2941.5224 -2292.1124
+ 20103617.4284 -24997962.52949 -19225780.85448 20103616.9484 20103620.6854
+ -497.9094 -387.9864
+ 05 1 20 3 2 30.0000000 0 8G 9G18G15G22G14G26G29G21
+ 21164059.9054 -18346517.05649 -14275066.60248 21164059.6844 21164064.3114
+ 2262.5184 1763.0034
+ 20958186.8874 -23702957.97949 -18451640.70248 20958186.3974 20958190.6214
+ 1292.4664 1007.1214
+ 21444873.6364 -16149227.26749 -12563488.30747 21444872.6824 21444877.6834
+ 2509.2114 1955.2344
+ 22775293.5294 -13082528.84849 -10179450.15247 22775294.6734 22775297.0764
+ 2316.2614 1804.8804
+ 24544310.8074 -1723845.80849 -1100712.61445 24544308.6074 24544311.9234
+ 3145.4454 2450.9984
+ 21852650.9864 -14580412.55749 -11052628.37547 21852651.0204 21852655.5204
+ -3054.7674 -2380.3374
+ 23214245.4734 -11137029.99149 -8627921.13046 23214245.2534 23214248.3084
+ -2943.7194 -2293.8164
+ 20106516.8884 -24982726.76149 -19213908.82948 20106516.2474 20106519.7894
+ -517.8104 -403.4874
+ 05 1 20 3 3 0.0000000 0 8G 9G18G15G22G14G26G29G21
+ 21151193.5874 -18414127.62049 -14327750.14248 21151193.7344 21151198.6154
+ 2244.8454 1749.2274
+ 20950827.3534 -23741631.03549 -18481775.56148 20950826.9324 20950831.4964
+ 1285.7364 1001.8724
+ 21430587.1054 -16224298.77049 -12621985.59347 21430586.6074 21430592.3354
+ 2495.5474 1944.5824
+ 22762081.0324 -13151975.06049 -10233564.09547 22762080.0394 22762082.2584
+ 2313.5354 1802.7524
+ 24526367.0424 -1818130.03949 -1174180.84745 24526365.1884 24526370.4914
+ 3140.1274 2446.8554
+ 21870109.5534 -14488673.02949 -10981143.03147 21870108.8324 21870113.3334
+ -3061.1964 -2385.3504
+ 23231056.3474 -11048684.23549 -8559080.28546 23231056.5394 23231059.0374
+ -2945.8934 -2295.5034
+ 20109529.2454 -24966894.63249 -19201572.10948 20109529.1114 20109532.4354
+ -537.6834 -418.9764
+ 05 1 20 3 3 30.0000000 0 8G 9G18G15G22G14G26G29G21
+ 21138429.4924 -18481206.44449 -14380019.33048 21138428.7244 21138433.8724
+ 2227.0524 1735.3694
+ 20943506.9994 -23780100.82049 -18511752.01848 20943506.8754 20943510.8064
+ 1278.9054 996.5534
+ 21416379.4754 -16298959.16449 -12680162.50947 21416379.2174 21416384.9124
+ 2481.7634 1933.8374
+ 22748879.2384 -13221339.63449 -10287614.41247 22748879.9494 22748882.3404
+ 2310.7684 1800.6024
+ 24508454.0254 -1912254.89549 -1247524.87145 24508453.3114 24508459.2534
+ 3134.7784 2442.6774
+ 21887601.3874 -14396742.76149 -10909509.07047 21887602.1514 21887607.3084
+ -3067.4984 -2390.2594
+ 23247880.0414 -10960273.91749 -8490189.11246 23247880.0504 23247883.8944
+ -2948.0434 -2297.1834
+ 20112655.9984 -24950465.78749 -19188770.41448 20112655.3344 20112658.9944
+ -557.5664 -434.4664
+ 05 1 20 3 4 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 21125765.1564 -18547750.80749 -14431872.05748 21125765.3894 21125770.5904
+ 2209.2364 1721.4824
+ 20936225.0764 -23818366.51849 -18541569.44548 20936225.0074 20936229.0444
+ 1272.1114 991.2524
+ 21402251.1914 -16373205.59249 -12738016.87147 21402250.8604 21402256.3934
+ 2467.9334 1923.0624
+ 22735695.3544 -13290622.18649 -10341600.81047 22735695.3404 22735698.0824
+ 2308.0444 1798.4674
+ 24771330.3944 -2869.28549 -1031.19243
+ 157.9254 123.6464
+ 24490575.2584 -2006219.37049 -1320743.90545 24490574.6624 24490578.3324
+ 3129.4574 2438.5414
+ 21905132.0714 -14304624.04949 -10837728.24847 21905131.8234 21905136.5964
+ -3073.7404 -2395.1184
+ 23264714.8884 -10871800.44349 -8421248.75546 23264714.8534 23264720.4114
+ -2950.1464 -2298.8184
+ 20115895.4944 -24933440.19449 -19175503.72548 20115895.2784 20115898.5744
+ -577.4354 -449.9514
+ 05 1 20 3 4 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 21113205.1454 -18613758.12249 -14483306.31148 21113205.0174 21113209.8664
+ 2191.2734 1707.4904
+ 20928982.9564 -23856427.27349 -18571227.18048 20928982.4374 20928986.2724
+ 1265.2774 985.9364
+ 21388202.4964 -16447035.64549 -12795546.78447 21388201.5234 21388206.9894
+ 2454.0304 1912.2364
+ 22722528.2704 -13359822.10349 -10395522.81847 22722527.7174 22722529.8184
+ 2305.2884 1796.3314
+ 24770477.4154 -7356.87749 -4527.85345
+ 141.3124 110.1124
+ 24472725.4164 -2100022.48149 -1393837.22545 24472724.7924 24472728.4664
+ 3124.0804 2434.3484
+ 21922696.8624 -14212319.56949 -10765802.67147 21922696.9714 21922701.3124
+ -3079.8844 -2399.9084
+ 23281562.9944 -10783265.65849 -8352260.61646 23281562.3144 23281567.8884
+ -2952.1194 -2300.3464
+ 20119248.9904 -24915817.86449 -19161772.04048 20119248.5414 20119252.0264
+ -597.3534 -465.4654
+ 05 1 20 3 5 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 21100747.6554 -18679225.74649 -14534320.02248 21100747.3464 21100751.8754
+ 2173.2394 1693.4284
+ 20921779.2854 -23894282.15249 -18600724.48948 20921779.0114 20921782.7744
+ 1258.3844 980.5564
+ 21374231.7614 -16520446.42849 -12852749.98247 21374231.7904 21374237.2694
+ 2440.0124 1901.3004
+ 22709375.2634 -13428939.04249 -10449380.17747 22709375.6194 22709377.4184
+ 2302.5104 1794.1624
+ 24769720.4844 -11345.96249 -7636.18845
+ 124.7124 97.1774
+ 24454905.7794 -2193663.33449 -1466804.06845 24454904.8364 24454909.5394
+ 3118.6064 2430.0764
+ 21940297.4794 -14119831.56049 -10693734.09247 21940296.8954 21940301.4394
+ -3085.9754 -2404.6564
+ 23298421.0204 -10694671.07149 -8283225.90646 23298421.9854 23298427.3764
+ -2954.0994 -2301.8994
+ 20122716.2904 -24897598.60349 -19147575.21648 20122715.5474 20122719.0724
+ -617.2574 -480.9844
+ 05 1 20 3 5 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 21088391.8064 -18744150.99649 -14584911.10348 21088392.1194 21088396.3524
+ 2155.0934 1679.2914
+ 20914615.1884 -23931930.42549 -18630060.80248 20914614.6434 20914618.2904
+ 1251.5024 975.1974
+ 21360343.7014 -16593435.30249 -12909624.43747 21360342.7734 21360347.8164
+ 2425.9024 1890.3114
+ 22696238.7934 -13497972.36549 -10503172.36847 22696238.8364 22696240.4534
+ 2299.7054 1791.9784
+ 24769060.8464 -14836.91849 -10356.46545 24769058.0444
+ 108.0244 84.1764
+ 24437117.1564 -2287140.76049 -1539643.59445 24437115.8784 24437119.2814
+ 3113.1764 2425.8524
+ 21957930.2924 -14027162.40349 -10621524.35447 21957931.1314 21957935.9974
+ -3091.9514 -2409.3194
+ 23315292.1324 -10606018.34749 -8214145.86246 23315291.8934 23315297.6054
+ -2956.0644 -2303.4324
+ 20126296.8014 -24878782.57349 -19132913.37248 20126296.1984 20126299.5644
+ -637.1504 -496.4814
+ 05 1 20 3 6 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 21076141.2914 -18808531.20549 -14635077.48048 21076140.5474 21076145.5294
+ 2136.9034 1665.1194
+ 20907490.3284 -23969371.48449 -18659235.65048 20907489.8544 20907493.4734
+ 1244.5894 969.8114
+ 21346535.0974 -16665999.67049 -12966168.09547 21346533.8784 21346539.1154
+ 2411.7014 1879.2464
+ 22683118.1394 -13566921.63949 -10556899.07647 22683117.8404 22683119.9894
+ 2296.8784 1789.7724
+ 24768484.2124 -17830.08049 -12688.77145 24768483.8174 24768487.1054
+ 91.5204 71.3194
+ 24419359.1384 -2380453.82549 -1612355.10545 24419359.2944 24419362.3644
+ 3107.6404 2421.5424
+ 21975598.9014 -13934314.68549 -10549175.50047 21975599.7284 21975604.1214
+ -3097.8824 -2413.9304
+ 23332173.7534 -10517309.02049 -8145021.71746 23332173.1924 23332177.6024
+ -2957.8674 -2304.8254
+ 20129990.9134 -24859369.72549 -19117786.48448 20129990.4264 20129993.8514
+ -657.0414 -511.9804
+ 05 1 20 3 6 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 21063993.5624 -18872363.67149 -14684817.06448 21063993.8194 21063998.7584
+ 2118.6124 1650.8654
+ 20900405.1364 -24006604.23149 -18688248.18248 20900404.4894 20900408.2124
+ 1237.6244 964.3844
+ 21332807.0964 -16738136.66049 -13022378.73547 21332806.7654 21332812.2474
+ 2397.4004 1868.1044
+ 22670012.9494 -13635786.12449 -10610559.70647 22670013.4504 22670016.2224
+ 2294.0664 1787.5854
+ 24768010.0894 -20325.96959 -14633.63755 24768010.1884 24768012.8734
+ 74.9124 58.3734
+ 24401633.5074 -2473601.69049 -1684937.82045 24401634.0774 24401637.4644
+ 3102.1384 2417.2544
+ 21993302.2504 -13841290.59949 -10476689.19247 21993301.8604 21993306.4534
+ -3103.7194 -2418.4804
+ 23349063.6154 -10428544.62649 -8075854.65646 23349063.2924 23349068.8944
+ -2959.6924 -2306.2474
+ 20133798.5074 -24839359.98849 -19102194.48348 20133798.0254 20133801.3534
+ -676.9304 -527.4784
+ 05 1 20 3 7 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 21051951.9234 -18935645.79649 -14734127.79448 21051952.0664 21051956.8684
+ 2100.1964 1636.5134
+ 20893359.4364 -24043627.61049 -18717097.56648 20893359.3434 20893363.1674
+ 1230.6174 958.9194
+ 21319162.5444 -16809843.63149 -13078254.29947 21319161.7934 21319167.0294
+ 2383.0354 1856.9084
+ 22656926.4474 -13704565.14649 -10664153.75947 22656925.4804 22656927.8664
+ 2291.2034 1785.3514
+ 24767628.1974 -22325.36849 -16191.63945 24767628.1664 24767632.0324
+ 58.3504 45.4724
+ 24383941.3294 -2566583.33349 -1757391.01545 24383940.4204 24383944.2284
+ 3096.7134 2413.0204
+ 22011035.5854 -13748092.54849 -10404067.34147 22011035.9124 22011041.3434
+ -3109.4754 -2422.9594
+ 23365965.5624 -10339726.62449 -8006645.82546 23365965.6294 23365969.8314
+ -2961.4444 -2307.6164
+ 20137719.7254 -24818753.83849 -19086137.75548 20137719.2114 20137722.8334
+ -696.8004 -542.9624
+ 05 1 20 3 7 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 21040015.0684 -18998375.02849 -14783007.70048 21040015.0274 21040019.9004
+ 2081.7294 1622.1264
+ 20886354.8374 -24080440.67949 -18745783.07248 20886354.1214 20886358.1674
+ 1223.5944 953.4534
+ 21305599.4474 -16881118.05649 -13133792.80848 21305598.3754 21305603.7754
+ 2368.5744 1845.6434
+ 22643853.3944 -13773258.53049 -10717681.06647 22643853.2204 22643855.3654
+ 2288.3224 1783.1074
+ 24767343.5444 -23828.94249 -17363.26945 24767342.0824 24767347.1334
+ 41.8174 32.5864
+ 24366280.5904 -2659397.82649 -1829713.96345 24366279.6104 24366282.7874
+ 3090.9774 2408.5594
+ 22028805.1084 -13654722.67749 -10331311.61247 22028804.3984 22028808.9074
+ -3115.1874 -2427.4144
+ 23382876.1994 -10250856.73349 -7937396.57846 23382876.5164 23382881.1534
+ -2963.1414 -2308.9424
+ 20141754.2904 -24797551.10049 -19069616.14748 20141753.8624 20141757.5344
+ -716.7144 -558.4784
+ 05 1 20 3 8 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 21028184.1734 -19060548.87249 -14831454.83648 21028183.7114 21028188.2974
+ 2063.1794 1607.6674
+ 20879389.1674 -24117042.89449 -18774304.28148 20879388.8304 20879392.8524
+ 1216.5564 947.9604
+ 21292119.3774 -16951957.14849 -13188992.10248 21292118.5314 21292123.1444
+ 2354.0044 1834.2834
+ 22630796.8784 -13841865.52749 -10771141.07547 22630797.2364 22630800.2364
+ 2285.4334 1780.8554
+ 24767150.7174 -24837.19749 -18148.95745 24767151.2954 24767153.6254
+ 25.2474 19.6764
+ 24348649.2814 -2752044.32249 -1901906.00445 24348648.4014 24348653.4784
+ 3085.4014 2404.2054
+ 22046604.3384 -13561183.84149 -10258424.20247 22046604.2914 22046608.9034
+ -3120.7694 -2431.7744
+ 23399799.1134 -10161936.50149 -7868108.09346 23399798.3294 23399802.1074
+ -2964.7934 -2310.2234
+ 20145902.7174 -24775751.83149 -19052629.71148 20145902.4094 20145905.8644
+ -736.5734 -573.9564
+ 05 1 20 3 8 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 21016458.1684 -19122164.77649 -14879467.21048 21016458.2664 21016463.2734
+ 2044.5524 1593.1574
+ 20872464.2414 -24153433.37349 -18802660.49448 20872463.8744 20872468.0044
+ 1209.4844 942.4544
+ 21278721.1594 -17022358.20049 -13243850.05948 21278721.2224 21278726.5684
+ 2339.3864 1822.9004
+ 22617758.2854 -13910385.60849 -10824533.33847 22617758.6344 22617760.4304
+ 2282.5464 1778.6144
+ 24767052.6344 -25350.68749 -18549.07245 24767052.3184 24767055.9634
+ 8.8474 6.8924
+ 24331051.4094 -2844521.89149 -1973966.44545 24331051.3194 24331055.4144
+ 3079.7754 2399.8264
+ 22064435.7564 -13467477.74249 -10185406.44847 22064434.8104 22064440.5534
+ -3126.2794 -2436.0604
+ 23416729.3304 -10072967.44949 -7798781.53546 23416729.2244 23416731.3924
+ -2966.3994 -2311.4844
+ 20150164.3044 -24753356.23149 -19035178.59548 20150163.9704 20150167.7464
+ -756.4474 -589.4394
+ 05 1 20 3 9 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 21004840.1054 -19183220.12049 -14927042.78748 21004839.7924 21004844.9584
+ 2025.8064 1578.5484
+ 20865579.9324 -24189611.18149 -18830851.00048 20865579.4684 20865583.5184
+ 1202.3814 936.9184
+ 21265409.2794 -17092318.60949 -13298364.66948 21265408.2924 21265413.6614
+ 2324.6234 1811.3924
+ 22604736.0434 -13978818.23549 -10877857.46647 22604736.5604 22604739.0204
+ 2279.6344 1776.3384
+ 24767048.4484 -25369.85649 -18564.00145 24767049.0714 24767054.0084
+ -7.6604 -5.9694
+ 24313482.3974 -2936829.46349 -2045894.42445 24313484.1144 24313488.1304
+ 3074.0754 2395.3814
+ 22082298.8674 -13373607.22649 -10112260.60947 22082298.7134 22082303.8694
+ -3131.7514 -2440.3324
+ 23433668.3354 -9983951.05149 -7729418.11046 23433667.5284 23433671.9784
+ -2967.9724 -2312.7084
+ 20154540.2364 -24730364.66349 -19017263.09648 20154539.2694 20154542.8684
+ -776.3194 -604.9244
+ 05 1 20 3 9 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20993328.4274 -19243712.55149 -14974179.73348 20993328.5514 20993333.6624
+ 2007.0124 1563.9064
+ 20858736.2464 -24225575.71949 -18858875.31348 20858735.9874 20858739.7204
+ 1195.2664 931.3744
+ 21252180.0164 -17161835.79049 -13352533.89648 21252179.4874 21252184.5674
+ 2309.8024 1799.8474
+ 22591731.3194 -14047162.64349 -10931112.84847 22591731.0614 22591733.3284
+ 2276.6654 1774.0214
+ 24767138.6324 -24895.53549 -18194.42945 24767137.9624 24767142.4574
+ -23.9914 -18.6924
+ 24295952.1824 -3028966.02149 -2117689.14645 24295952.0254 24295957.4814
+ 3068.3664 2390.9304
+ 22100192.1414 -13279574.48149 -10038988.33447 22100192.3034 22100197.4744
+ -3137.1124 -2444.5034
+ 23450617.0404 -9894888.72149 -7660018.87646 23450616.9094 23450618.9494
+ -2969.4644 -2313.8624
+ 20159028.1824 -24706777.45349 -18998883.45348 20159027.7004 20159031.2664
+ -796.2074 -620.4254
+ 05 1 20 3 10 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20981925.2964 -19303639.52749 -15020876.08148 20981924.9084 20981929.7374
+ 1988.1174 1549.1794
+ 20851932.8894 -24261325.85749 -18886732.55948 20851932.6854 20851936.5594
+ 1188.0794 925.7784
+ 21239037.1794 -17230907.04149 -13406355.66448 21239036.0014 21239040.7994
+ 2294.9024 1788.2324
+ 22578743.0554 -14115418.41749 -10984299.16647 22578742.5194 22578744.4254
+ 2273.7234 1771.7344
+ 24767322.7854 -23928.37149 -17440.78945 24767323.8954 24767328.2954
+ -40.3754 -31.4594
+ 24278453.8534 -3120930.73849 -2189349.92645 24278452.8574 24278456.2594
+ 3062.6404 2386.4714
+ 22118116.0104 -13185381.87949 -9965591.50747 22118116.3114 22118121.3214
+ -3142.3944 -2448.6144
+ 23467572.9054 -9805782.16749 -7590585.18346 23467573.0444 23467577.3374
+ -2970.9344 -2315.0014
+ 20163629.7254 -24682594.12849 -18980039.30748 20163629.2614 20163633.0834
+ -816.0454 -635.8804
+ 05 1 20 3 10 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20970629.2284 -19362998.69949 -15067129.95348 20970628.9934 20970634.2614
+ 1969.1494 1534.3994
+ 20845170.8074 -24296860.55649 -18914421.93648 20845170.7754 20845174.6804
+ 1180.8854 920.1684
+ 21225977.7394 -17299529.68349 -13459827.85047 21225977.0424 21225982.3564
+ 2279.9114 1776.5524
+ 22565771.1754 -14183585.06549 -11037416.02647 22565770.5994 22565772.8214
+ 2270.7334 1769.3974
+ 24767602.7074 -22469.12849 -16303.74845 24767600.4814 24767603.6564
+ -56.9314 -44.3624
+ 24260987.2134 -3212722.79149 -2260876.17545 24260984.8224 24260986.6804
+ 3056.8344 2381.9524
+ 22136070.8684 -13091031.50049 -9892071.72947 22136070.8394 22136075.9124
+ -3147.5914 -2452.6644
+ 23484537.2194 -9716632.86549 -7521118.19646 23484536.8394 23484540.8944
+ -2972.3104 -2316.0834
+ 20168345.4074 -24657815.20349 -18960731.05648 20168344.9584 20168348.2894
+ -835.8754 -651.3324
+ 05 1 20 3 11 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20959442.4084 -19421787.64649 -15112939.52148 20959442.3094 20959446.6374
+ 1950.1064 1519.5654
+ 20838450.8524 -24332178.88049 -18941942.69448 20838449.9144 20838453.6174
+ 1173.6704 914.5484
+ 21213005.6464 -17367701.05149 -13512948.39648 21213004.8234 21213010.0704
+ 2264.8174 1764.7904
+ 22552816.5404 -14251661.68149 -11090462.73947 22552816.0594 22552818.4924
+ 2267.7374 1767.0854
+ 24767974.4114 -20518.41149 -14783.70545 24767970.6234 24767974.7704
+ -73.2834 -57.1044
+ 24243550.2124 -3304341.27449 -2332267.18245 24243549.6834 24243553.1764
+ 3051.0354 2377.4334
+ 22154055.5534 -12996525.93949 -9818431.01547 22154055.2174 22154059.7554
+ -3152.7564 -2456.6904
+ 23501507.9044 -9627442.17349 -7451618.96646 23501509.5744 23501513.0744
+ -2973.6334 -2317.1204
+ 20173174.1174 -24632441.18849 -18940959.10048 20173173.5084 20173176.9104
+ -855.7284 -666.7994
+ 05 1 20 3 11 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20948363.7634 -19480003.79049 -15158302.73148 20948364.0424 20948368.9694
+ 1930.9664 1504.6454
+ 20831770.5884 -24367279.94649 -18969294.18048 20831770.3854 20831774.2594
+ 1166.4194 908.9004
+ 21200119.5704 -17435418.42249 -13565715.18148 21200118.6184 21200123.4204
+ 2249.6444 1752.9674
+ 22539879.0274 -14319647.95949 -11143439.05747 22539878.6414 22539881.2984
+ 2264.7004 1764.7094
+ 24768437.2654 -18077.00748 -12881.31845 24768435.8014 24768440.8954
+ -89.4214 -69.6794
+ 24226146.6584 -3395785.33549 -2403522.28445 24226147.1844 24226154.1424
+ 3045.2374 2372.9104
+ 22172067.0114 -12901867.25149 -9744671.00247 22172067.7464 22172072.4464
+ -3157.8294 -2460.6504
+ 23518489.6654 -9538211.49549 -7382088.58146 23518489.4294 23518494.2774
+ -2974.9544 -2318.1384
+ 20178115.7984 -24606472.48949 -18920723.75848 20178115.2994 20178118.5014
+ -875.5604 -682.2564
+ 05 1 20 3 12 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20937395.7964 -19537644.73649 -15203217.73248 20937395.5194 20937399.8854
+ 1911.7474 1489.6734
+ 20825132.5654 -24402162.87649 -18996475.68448 20825132.3874 20825136.3234
+ 1159.1284 903.2184
+ 21187319.6184 -17502679.45649 -13618126.37748 21187319.1104 21187324.2374
+ 2234.3824 1741.0824
+ 22526958.7164 -14387543.23049 -11196344.46847 22526958.6374 22526960.9374
+ 2261.6264 1762.3004
+ 24768989.6224 -15145.73848 -10597.20245 24768992.2324 24768999.6904
+ -105.7824 -82.4314
+ 24208780.2564 -3487053.94349 -2474640.67745 24208780.4784 24208784.9594
+ 3039.3764 2368.3474
+ 22190108.7034 -12807057.76349 -9670793.49847 22190109.2324 22190114.8094
+ -3162.8454 -2464.5464
+ 23535474.7334 -9448942.52149 -7312528.31746 23535475.4494 23535480.6354
+ -2976.2254 -2319.1324
+ 20183170.3094 -24579909.20449 -18900025.09748 20183169.7754 20183173.5624
+ -895.3444 -697.6674
+ 05 1 20 3 12 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20926536.8254 -19594708.09949 -15247682.68148 20926536.4314 20926541.0124
+ 1892.4674 1474.6504
+ 20818536.3334 -24436826.87949 -19023486.59348 20818536.1744 20818539.9924
+ 1151.8314 897.5294
+ 21174607.3494 -17569481.58049 -13670179.98148 21174606.9904 21174612.3764
+ 2219.0724 1729.1464
+ 22514056.7204 -14455346.75549 -11249178.38547 22514056.9564 22514058.7224
+ 2258.5744 1759.9264
+ 24769645.6254 -11725.32449 -7931.93045 24769643.8254 24769649.8864
+ -122.2874 -95.2854
+ 24191447.4544 -3578146.19449 -2545621.64045 24191446.4444 24191449.2874
+ 3033.4944 2363.7564
+ 22208179.6794 -12712099.58449 -9596800.10347 22208180.2884 22208184.1034
+ -3167.7254 -2468.3644
+ 23552469.2644 -9359636.51049 -7242939.23546 23552470.1134 23552475.0864
+ -2977.4284 -2320.0654
+ 20188338.2764 -24552751.61649 -18878863.34148 20188337.7884 20188341.5014
+ -915.1574 -713.1124
+ 05 1 20 3 13 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20915787.0504 -19651191.46249 -15291695.66848 20915787.5384 20915793.0564
+ 1873.1004 1459.5524
+ 20811981.9404 -24471271.07049 -19050326.23548 20811981.3084 20811985.2084
+ 1144.4754 891.7974
+ 21161983.5834 -17635822.02949 -13721873.83348 21161983.1124 21161988.2354
+ 2203.6024 1717.0844
+ 22501171.4784 -14523058.00449 -11301940.38047 22501171.1504 22501173.3384
+ 2255.4984 1757.5284
+ 24770387.7934 -7816.35049 -4885.99945 24770387.8844 24770394.0384
+ -138.3474 -107.8044
+ 24174148.7234 -3669061.36249 -2616464.59745 24174146.7184 24174149.4624
+ 3027.5504 2359.1284
+ 22226277.7714 -12616995.36849 -9522692.91747 22226277.0184 22226281.9454
+ -3172.5544 -2472.1184
+ 23569472.2524 -9270295.05249 -7173322.49946 23569471.6844 23569475.3814
+ -2978.5734 -2320.9714
+ 20193619.2564 -24525000.10249 -18857238.79148 20193618.8204 20193622.2044
+ -934.9574 -728.5394
+ 05 1 20 3 13 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20905150.7514 -19707092.62449 -15335255.00448 20905150.5014 20905154.8174
+ 1853.6394 1444.3994
+ 20805469.5164 -24505494.69749 -19076993.99948 20805469.1514 20805472.6994
+ 1137.0884 886.0444
+ 21149447.7394 -17701698.16249 -13773205.88448 21149447.1734 21149452.7224
+ 2188.0814 1705.0044
+ 22488304.5034 -14590676.32149 -11354629.99147 22488304.2654 22488306.1544
+ 2252.3884 1755.1144
+ 24771221.1394 -3419.86249 -1460.15745 24771223.2134 24771228.6134
+ -154.7404 -120.5774
+ 24156879.4114 -3759798.42349 -2687168.76245 24156878.5354 24156883.1844
+ 3021.5184 2354.4284
+ 22244401.7874 -12521746.97349 -9448473.40647 22244402.8864 22244407.1344
+ -3177.3504 -2475.8604
+ 23586479.9534 -9180919.55249 -7103679.25646 23586479.8554 23586483.6454
+ -2979.7384 -2321.8734
+ 20199013.1644 -24496655.15949 -18835151.83048 20199012.6434 20199016.3354
+ -954.7314 -743.9434
+ 05 1 20 3 14 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20894624.4604 -19762409.29149 -15378358.88448 20894624.1894 20894628.4974
+ 1834.1354 1429.1964
+ 20798999.4274 -24539496.63349 -19103489.00648 20798998.6454 20799002.3184
+ 1129.6994 880.2844
+ 21137000.8114 -17767107.40149 -13824174.11648 21137000.2424 21137005.7054
+ 2172.4754 1692.8334
+ 22475454.7204 -14658201.22649 -11407246.79647 22475454.4824 22475456.4184
+ 2249.2804 1752.6824
+ 24772154.1234 1463.53549 2345.06345 24772153.8384 24772159.3774
+ -170.9154 -133.1784
+ 24139643.1174 -3850356.70549 -2757733.66045 24139644.2004 24139650.9404
+ 3015.6084 2349.8224
+ 22262555.1554 -12426356.93849 -9374143.49647 22262554.4214 22262559.7314
+ -3182.0194 -2479.4834
+ 23603492.9634 -9091511.43249 -7034010.59946 23603493.2734 23603496.4614
+ -2980.7574 -2322.6624
+ 20204519.6994 -24467717.27849 -18812602.83048 20204519.2964 20204522.7074
+ -974.4734 -759.3344
+ 05 1 20 3 14 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20884209.1964 -19817139.14249 -15421005.50048 20884209.2014 20884214.1074
+ 1814.5344 1413.9234
+ 20792571.2874 -24573276.05549 -19129810.63348 20792570.6214 20792574.3014
+ 1122.2714 874.5024
+ 21124643.4334 -17832047.11349 -13874776.50148 21124642.8794 21124648.1024
+ 2156.7994 1680.6244
+ 22462622.5674 -14725631.92849 -11459790.19347 22462622.8874 22462624.8694
+ 2246.1224 1750.2244
+ 24773171.3854 6832.70858 6528.82655 24773174.0994 24773177.7264
+ -187.0184 -145.7434
+ 24122447.5014 -3940735.14049 -2828158.42745 24122449.5764 24122452.4874
+ 3009.5424 2345.0954
+ 22280732.5024 -12330827.39949 -9299704.91746 22280732.7604 22280738.0124
+ -3186.6364 -2483.0894
+ 23620512.4704 -9002072.04849 -6964317.56746 23620512.8894 23620517.7164
+ -2981.7874 -2323.4644
+ 20210139.3434 -24438186.62049 -18789591.93848 20210138.9414 20210142.3334
+ -994.2264 -774.7194
+ 05 1 20 3 15 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20873906.7384 -19871279.94049 -15463193.11248 20873906.4694 20873911.1314
+ 1794.8584 1398.5884
+ 20786185.6024 -24606831.81249 -19155957.97248 20786185.0294 20786189.0904
+ 1114.7954 868.6734
+ 21112375.8264 -17896514.82449 -13925011.08248 21112375.0364 21112380.5344
+ 2141.0304 1668.3374
+ 22449809.2234 -14792967.70949 -11512259.62847 22449809.2724 22449810.8684
+ 2242.9534 1747.7564
+ 24774286.0234 12686.86848 11090.54845 24774288.1104 24774295.0204
+ -203.0634 -158.2354
+ 24105285.8544 -4030933.22749 -2898442.60745 24105284.3134 24105286.4814
+ 3003.6184 2340.4814
+ 22298937.6844 -12235160.34449 -9225159.16246 22298937.6754 22298942.5534
+ -3191.1334 -2486.5914
+ 23637537.7534 -8912602.84849 -6894601.30446 23637538.1274 23637543.3504
+ -2982.7394 -2324.2084
+ 20215872.0194 -24408063.71749 -18766119.55148 20215871.0654 20215874.6354
+ -1013.9574 -790.0944
+ 05 1 20 3 15 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20863716.3154 -19924829.44449 -15504919.99948 20863716.3644 20863721.1954
+ 1775.1024 1383.1944
+ 20779842.6784 -24640162.89349 -19181930.24548 20779842.1884 20779846.3764
+ 1107.2824 862.8194
+ 21100197.8184 -17960507.92549 -13974875.83948 21100197.2954 21100202.7404
+ 2125.1424 1655.9534
+ 22437014.0614 -14860207.86049 -11564654.54747 22437013.4454 22437015.9004
+ 2239.7204 1745.2314
+ 24775490.5864 19025.06348 16029.41345 24775493.1674 24775501.8724
+ -219.2864 -170.8684
+ 24088158.0194 -4120949.70549 -2968585.29145 24088156.7444 24088157.6004
+ 2997.5234 2335.7354
+ 22317167.2044 -12139358.30549 -9150508.21246 22317168.1934 22317172.8604
+ -3195.6604 -2490.1234
+ 23654568.5894 -8823105.38449 -6824863.02546 23654569.0184 23654575.1854
+ -2983.6444 -2324.9234
+ 20221716.2104 -24377349.44149 -18742186.35748 20221715.7194 20221719.4034
+ -1033.6744 -805.4604
+ 05 1 20 3 16 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20853639.0704 -19977785.34049 -15546184.31148 20853639.0674 20853643.9944
+ 1755.2714 1367.7464
+ 20773542.7804 -24673268.20849 -19207726.59348 20773542.4184 20773546.8214
+ 1099.7204 856.9224
+ 21088111.5464 -18024023.97749 -14024368.86348 21088110.5964 21088115.9174
+ 2109.2154 1643.5434
+ 22424236.3944 -14927351.89849 -11616974.56847 22424236.6424 22424238.7574
+ 2236.5064 1742.7364
+ 24776792.0434 25846.41649 21344.74045 24776794.1184 24776799.2494
+ -235.5064 -183.5084
+ 24071060.0044 -4210784.09049 -3038586.06245 24071058.5504 24071063.3084
+ 2991.4784 2331.0184
+ 22335424.7114 -12043423.15249 -9075753.55846 22335424.8114 22335429.1504
+ -3200.0434 -2493.5414
+ 23671603.9334 -8733580.77649 -6755103.59846 23671605.1674 23671610.3594
+ -2984.5514 -2325.6274
+ 20227673.4454 -24346044.24449 -18717792.69848 20227672.8634 20227676.5964
+ -1053.3674 -820.8014
+ 05 1 20 3 16 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20843675.3484 -20030145.50749 -15586984.42948 20843675.1644 20843679.8384
+ 1735.4034 1352.2604
+ 20767285.5304 -24706147.33349 -19233346.69748 20767285.9104 20767289.7994
+ 1092.1364 851.0114
+ 21076115.5774 -18087060.42149 -14073488.16648 21076115.1904 21076120.6024
+ 2093.2544 1631.1124
+ 22411480.0054 -14994399.05749 -11669219.11647 22411478.8514 22411479.6914
+ 2233.3074 1740.2444
+ 24778183.9404 33150.05649 27035.86745 24778184.2614 24778187.4764
+ -251.4524 -195.9344
+ 24053997.8554 -4300435.20149 -3108444.07645 24053998.3864 24054003.7644
+ 2985.3424 2326.2424
+ 22353705.1074 -11947357.27549 -9000897.02946 22353704.6244 22353709.7764
+ -3204.3484 -2496.8954
+ 23688645.3304 -8644030.66149 -6685324.30146 23688645.9544 23688650.5634
+ -2985.3964 -2326.2834
+ 20233743.2054 -24314148.37249 -18692938.77848 20233742.5754 20233745.9084
+ -1073.0244 -836.1234
+ 05 1 20 3 17 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20833825.7724 -20081907.81949 -15627318.69648 20833825.5354 20833830.1894
+ 1715.4124 1336.6814
+ 20761073.1944 -24738798.99349 -19258789.55148 20761072.6964 20761076.2254
+ 1084.5914 845.1314
+ 21064212.6444 -18149614.64549 -14122231.72048 21064211.8834 21064216.8414
+ 2077.0374 1618.4654
+ 22398738.2014 -15061348.86649 -11721387.79647 22398737.9904 22398739.6914
+ 2230.0164 1737.6714
+ 24779664.0814 40934.94249 33101.99245 24779664.0754 24779670.8344
+ -267.4734 -208.4254
+ 24036974.7344 -4389902.31549 -3178158.73345 24036973.9384 24036978.7964
+ 2979.1444 2321.4124
+ 22372010.1364 -11851162.88049 -8925940.36946 22372009.7784 22372015.1324
+ -3208.6424 -2500.2554
+ 23705692.3294 -8554456.31549 -6615526.11046 23705691.8714 23705696.3994
+ -2986.1804 -2326.8934
+ 20239925.2394 -24281662.55349 -18667625.16648 20239924.6634 20239927.9714
+ -1092.6914 -851.4524
+ 05 1 20 3 17 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20824088.8694 -20133070.05749 -15667185.35748 20824089.0664 20824093.8874
+ 1695.3884 1321.0834
+ 20754903.0944 -24771222.34049 -19284054.49748 20754902.6884 20754906.3344
+ 1076.9734 839.2014
+ 21052400.5704 -18211684.40249 -14170597.74848 21052400.1514 21052404.9814
+ 2060.8784 1605.8774
+ 22386016.0984 -15128200.45149 -11773479.92347 22386016.3634 22386018.4724
+ 2226.7464 1735.1254
+ 24781237.6044 49200.24549 39542.51545 24781237.5834 24781243.8094
+ -283.5374 -220.9344
+ 24019985.6224 -4479184.76549 -3247729.43445 24019984.5554 24019988.5214
+ 2973.0014 2316.6234
+ 22390339.5774 -11754841.97849 -8850885.12046 22390339.3354 22390344.4614
+ -3212.7874 -2503.4724
+ 23722741.7534 -8464859.02249 -6545710.04246 23722741.7524 23722746.1004
+ -2986.9344 -2327.4734
+ 20246218.4384 -24248587.35649 -18641852.28448 20246218.3064 20246221.9674
+ -1112.3244 -866.7444
+ 05 1 20 3 18 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20814468.5614 -20183630.11549 -15706582.80148 20814468.2764 20814472.9464
+ 1675.2784 1305.4064
+ 20748776.7154 -24803416.35449 -19309140.74348 20748776.4684 20748780.0514
+ 1069.3164 833.2304
+ 21040681.7534 -18273266.99249 -14218584.18548 21040681.1164 21040686.2844
+ 2044.5834 1593.1784
+ 22373314.1924 -15194953.06449 -11825494.94647 22373313.6974 22373316.1794
+ 2223.4344 1732.5474
+ 24782900.5154 57945.00549 46356.63645 24782901.9794 24782907.1124
+ -299.4874 -233.3684
+ 24003032.2554 -4568281.91049 -3317155.78745 24003031.7214 24003034.2204
+ 2966.7664 2311.7674
+ 22408691.0584 -11658396.90049 -8775733.11346 22408692.4624 22408696.5014
+ -3216.9164 -2506.7014
+ 23739795.1664 -8375240.19849 -6475877.18546 23739794.7954 23739799.9394
+ -2987.6224 -2328.0174
+ 20252625.2534 -24214923.46849 -18615620.68548 20252624.5784 20252627.9014
+ -1131.9464 -882.0384
+ 05 1 20 3 18 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20804962.7414 -20233585.90849 -15745509.37548 20804962.3784 20804966.5164
+ 1655.0934 1289.6814
+ 20742694.4544 -24835380.21549 -19334047.64648 20742693.7364 20742697.7074
+ 1061.6254 827.2424
+ 21029056.0274 -18334359.97949 -14266189.10648 21029055.5614 21029060.7764
+ 2028.2214 1580.4304
+ 22360629.4744 -15261606.25449 -11877432.48647 22360629.8214 22360632.6034
+ 2220.1024 1729.9444
+ 24784656.7694 67168.02649 53543.36945 24784657.3564 24784662.1554
+ -315.4004 -245.7634
+ 23986111.4444 -4657192.72249 -3386436.90545 23986109.4624 23986112.5904
+ 2960.5414 2306.9124
+ 22427067.8494 -11561829.68549 -8700485.94046 22427068.7394 22427072.6934
+ -3220.9324 -2509.8204
+ 23756852.5744 -8285601.26149 -6406028.66346 23756852.9184 23756857.2814
+ -2988.3644 -2328.6044
+ 20259142.9334 -24180671.57949 -18588930.90948 20259142.4014 20259145.9234
+ -1151.5194 -897.2934
+ 05 1 20 3 19 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20795571.2694 -20282935.31949 -15783963.45448 20795571.2734 20795575.8194
+ 1634.8574 1273.9164
+ 20736655.1794 -24867112.85749 -19358774.38148 20736655.1544 20736659.1614
+ 1053.8954 821.2214
+ 21017524.0354 -18394960.96849 -14313410.65648 21017523.5974 21017529.0534
+ 2011.8024 1567.6464
+ 22347965.6744 -15328159.15749 -11929291.89547 22347965.4894 22347967.9384
+ 2216.7664 1727.3554
+ 24786501.3444 76868.28449 61101.99245 24786502.2084 24786507.6844
+ -331.3114 -258.1604
+ 23969224.6084 -4745916.47249 -3455572.29845 23969225.0644 23969230.4024
+ 2954.3244 2302.0694
+ 22445466.3774 -11465142.59649 -8625145.35246 22445467.1924 22445472.0274
+ -3224.8614 -2512.8714
+ 23773914.7614 -8195943.37749 -6336165.37046 23773913.8834 23773919.2764
+ -2988.8484 -2328.9624
+ 20265772.5224 -24145832.17749 -18561783.32448 20265771.8564 20265775.8994
+ -1171.1054 -912.5474
+ 05 1 20 3 19 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20786295.9664 -20331676.21749 -15821943.36648 20786295.8394 20786300.6884
+ 1614.5334 1258.0754
+ 20730661.4804 -24898613.16549 -19383320.07748 20730661.0554 20730664.6604
+ 1046.1244 815.1594
+ 21006086.5044 -18455067.46949 -14360246.88448 21006085.7144 21006090.7244
+ 1995.2724 1554.7574
+ 22335320.7504 -15394611.13649 -11981072.66047 22335320.3984 22335322.5544
+ 2213.3974 1724.7184
+ 24788440.1054 87044.78049 69031.72845 24788439.0164 24788443.1784
+ -347.1234 -270.4864
+ 23952379.7064 -4834452.21149 -3524561.18945 23952379.9574 23952384.6574
+ 2947.9824 2297.1274
+ 22463888.5984 -11368337.39149 -8549712.72346 22463888.5064 22463892.4074
+ -3228.7874 -2515.9434
+ 23790980.0984 -8106268.16049 -6266288.59946 23790978.7004 23790983.5754
+ -2989.4354 -2329.4314
+ 20272514.0814 -24110405.91749 -18534178.45748 20272513.5684 20272516.8754
+ -1190.6424 -927.7744
+ 05 1 20 3 20 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20777136.2754 -20379806.73749 -15859447.65248 20777136.7034 20777141.6864
+ 1594.1374 1242.1834
+ 20724711.6134 -24929880.48449 -19407684.22348 20724710.9014 20724714.7784
+ 1038.3494 809.1014
+ 20994742.3544 -18514676.99649 -14406695.86548 20994742.2644 20994747.2214
+ 1978.6554 1541.8074
+ 22322694.1644 -15460961.39649 -12032774.15847 22322694.3454 22322696.3804
+ 2209.9744 1722.0554
+ 24790467.6454 97696.42949 77331.70845 24790467.2024 24790472.4694
+ -362.8724 -282.7584
+ 23935567.9254 -4922799.13049 -3593402.91945 23935567.6124 23935571.9274
+ 2941.7064 2292.2424
+ 22482332.9094 -11271416.66049 -8474190.09546 22482332.8064 22482337.4974
+ -3232.6044 -2518.9154
+ 23808046.5364 -8016576.60549 -6196399.07846 23808046.4434 23808050.3544
+ -2989.9374 -2329.8254
+ 20279366.4584 -24074393.68249 -18506116.97948 20279365.9764 20279370.0874
+ -1210.1614 -942.9864
+ 05 1 20 3 20 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20768094.9084 -20427324.81649 -15896474.72048 20768094.5424 20768099.1124
+ 1573.7214 1226.2744
+ 20718805.7644 -24960913.58749 -19431865.86648 20718805.4824 20718809.5204
+ 1030.5254 803.0104
+ 20983494.7594 -18573786.93549 -14452755.55548 20983494.1264 20983499.5734
+ 1961.9804 1528.8194
+ 22310087.8824 -15527209.13149 -12084395.77247 22310087.2494 22310089.5684
+ 2206.5444 1719.3854
+ 24792583.2354 108822.14849 86001.05845 24792582.8834 24792586.5184
+ -378.7334 -295.1154
+ 23918791.9504 -5010956.57449 -3662097.02045 23918792.3184 23918796.3794
+ 2935.4414 2287.3524
+ 22500797.4644 -11174382.18549 -8398578.80746 22500797.3264 22500801.6564
+ -3236.3604 -2521.8434
+ 23825116.6654 -7926870.17749 -6126497.96946 23825116.6164 23825121.4564
+ -2990.4064 -2330.1944
+ 20286331.8054 -24037796.21549 -18477599.48048 20286330.7584 20286334.3724
+ -1229.6804 -958.1934
+ 05 1 20 3 21 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20759169.1044 -20474228.59149 -15933023.10848 20759169.0214 20759173.8894
+ 1553.2064 1210.2864
+ 20712945.2174 -24991711.65049 -19455864.35248 20712944.9054 20712948.8504
+ 1022.7004 796.9094
+ 20972341.8484 -18632394.86049 -14498424.06548 20972341.7294 20972346.5864
+ 1945.1954 1515.7364
+ 22297500.6454 -15593353.92549 -12135937.16947 22297500.6344 22297502.5144
+ 2203.1124 1716.7064
+ 24794789.3284 120420.67749 95038.86245 24794790.3654 24794795.3694
+ -394.5284 -307.4274
+ 23902053.2384 -5098923.66149 -3730642.78045 23902052.6604 23902056.0594
+ 2929.0374 2282.3704
+ 22519283.0604 -11077235.98049 -8322880.46646 22519283.9104 22519287.1924
+ -3240.0414 -2524.7074
+ 23842191.4034 -7837150.25349 -6056586.34746 23842190.9354 23842194.4774
+ -2990.8854 -2330.5564
+ 20293407.0194 -24000614.16649 -18448626.46748 20293406.3164 20293409.7384
+ -1249.1164 -973.3384
+ 05 1 20 3 21 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20750360.5444 -20520516.05649 -15969091.25748 20750360.9134 20750365.7984
+ 1532.6054 1194.2374
+ 20707130.0714 -25022274.06849 -19479679.23348 20707129.1924 20707132.8234
+ 1014.8034 790.7564
+ 20961285.9364 -18690498.51349 -14543699.63148 20961284.8104 20961290.2724
+ 1928.3444 1502.6034
+ 22284934.0854 -15659395.10249 -12187397.82747 22284933.6364 22284935.4474
+ 2199.6134 1713.9884
+ 24797087.8434 132491.05749 104444.30545 24797087.6324 24797092.3584
+ -410.2094 -319.6464
+ 23885348.0344 -5186699.94449 -3799039.87645 23885348.2934 23885351.5284
+ 2922.6174 2277.3734
+ 22537791.0534 -10979980.43949 -8247096.90946 22537791.0724 22537796.2554
+ -3243.6894 -2527.5394
+ 23859266.6564 -7747418.04849 -5986665.15046 23859266.1994 23859270.4164
+ -2991.2704 -2330.8474
+ 20300593.0124 -23962848.84049 -18419198.94548 20300592.5574 20300596.4194
+ -1268.5744 -988.4964
+ 05 1 20 3 22 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20741670.5024 -20566185.24449 -16004677.63848 20741670.1324 20741674.9224
+ 1511.9644 1178.1534
+ 20701359.0424 -25052599.18049 -19503309.18448 20701358.4034 20701361.9784
+ 1006.8634 784.5714
+ 20950325.7494 -18748095.49949 -14588580.40248 20950324.6714 20950329.8024
+ 1911.4154 1489.4154
+ 22272386.1134 -15725331.39749 -12238776.75547 22272386.2524 22272388.4064
+ 2196.1114 1711.2574
+ 24799474.3284 145032.17649 114216.60945 24799473.5494 24799477.3884
+ -425.9574 -331.9164
+ 23868682.8744 -5274284.55649 -3867287.58845 23868681.6724 23868686.7894
+ 2916.2684 2272.4164
+ 22556319.0404 -10882617.54049 -8171229.73546 22556318.9294 22556323.1824
+ -3247.2264 -2530.3064
+ 23876343.3474 -7657674.67149 -5916735.28046 23876343.1984 23876348.0744
+ -2991.5364 -2331.0714
+ 20307890.8034 -23924500.57249 -18389317.18548 20307890.0424 20307893.7424
+ -1288.0034 -1003.6384
+ 05 1 20 3 22 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20733097.9624 -20611234.17849 -16039780.69748 20733098.0644 20733102.5554
+ 1491.2774 1162.0304
+ 20695633.4504 -25082685.82249 -19526753.31548 20695633.0314 20695636.8834
+ 998.8874 778.3504
+ 20939461.5824 -18805183.39549 -14633064.47448 20939461.0584 20939466.3474
+ 1894.4084 1476.1634
+ 22259859.6624 -15791162.18449 -12290073.47547 22259859.0564 22259861.3004
+ 2192.5914 1708.5104
+ 24801949.2284 158042.72349 124354.72545 24801949.4654 24801954.9894
+ -441.5574 -344.0724
+ 23852051.7844 -5361676.45049 -3935385.12345 23852052.1474 23852056.5844
+ 2909.8504 2267.4194
+ 22574866.8444 -10785149.36149 -8095280.49946 22574866.6904 22574871.0274
+ -3250.6734 -2533.0074
+ 23893423.0794 -7567921.68949 -5846797.89046 23893422.5884 23893428.1774
+ -2991.9014 -2331.3544
+ 20315299.0674 -23885569.97649 -18358981.66148 20315298.4264 20315301.9434
+ -1307.4134 -1018.7684
+ 05 1 20 3 23 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20724643.9864 -20655661.22249 -16074399.17248 20724643.5964 20724648.1824
+ 1470.5104 1145.8514
+ 20689953.5084 -25112533.15749 -19550010.98648 20689953.3854 20689957.1044
+ 990.9094 772.1364
+ 20928696.0194 -18861759.82349 -14677150.00748 20928694.8644 20928699.9354
+ 1877.3084 1462.8374
+ 22247351.9764 -15856886.84049 -12341287.47847 22247351.9504 22247354.1004
+ 2189.0394 1705.7444
+ 24804512.9094 171521.51349 134857.69045 24804513.7124 24804522.5494
+ -457.1784 -356.2384
+ 23835459.7964 -5448874.94749 -4003332.01745 23835458.5254 23835461.5144
+ 2903.3534 2262.3534
+ 22593434.3624 -10687577.79549 -8019250.71546 22593433.4244 22593437.3814
+ -3254.1174 -2535.6754
+ 23910502.9924 -7478160.17849 -5776853.85745 23910504.3464 23910508.5054
+ -2992.1804 -2331.5604
+ 20322818.0944 -23846057.98949 -18328193.10848 20322817.3954 20322820.6424
+ -1326.7564 -1033.8384
+ 05 1 20 3 23 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20716307.8294 -20699464.32749 -16108531.45548 20716307.9614 20716313.2234
+ 1449.6964 1129.6364
+ 20684319.2014 -25142140.61049 -19573081.73548 20684319.1004 20684323.1384
+ 982.9214 765.9194
+ 20918026.9244 -18917822.22749 -14720835.00048 20918026.4814 20918031.6864
+ 1860.1504 1449.4714
+ 22234866.1754 -15922504.60449 -12392418.21047 22234865.6454 22234867.9384
+ 2185.4664 1702.9654
+ 24807169.8934 185467.27549 145724.50845 24807168.4644 24807174.1864
+ -472.5834 -368.2474
+ 23818901.8764 -5535879.53149 -4071127.76945 23818900.9374 23818906.2914
+ 2896.9564 2257.3724
+ 22612019.1934 -10589904.81049 -7943141.90546 22612019.7864 22612024.5574
+ -3257.4434 -2538.2584
+ 23927587.9214 -7388391.37549 -5706904.15545 23927586.9494 23927591.2754
+ -2992.4124 -2331.7544
+ 20330447.5704 -23805965.77449 -18296952.43348 20330446.7064 20330450.0634
+ -1346.0694 -1048.8824
+ 05 1 20 3 24 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20708092.1464 -20742641.70049 -16142176.17048 20708091.7554 20708096.1924
+ 1428.8074 1113.3584
+ 20678731.3224 -25171506.97349 -19595964.61448 20678730.8424 20678735.1364
+ 974.8614 759.6334
+ 20907456.6204 -18973368.46849 -14764117.78248 20907456.0524 20907461.3654
+ 1842.9034 1436.0324
+ 22222400.4524 -15988014.73049 -12443465.05947 22222399.7904 22222401.4924
+ 2181.8804 1700.1694
+ 24809908.5494 199878.77748 156954.31045 24809910.0304 24809916.3934
+ -488.1464 -380.3764
+ 23802381.8394 -5622689.39149 -4138771.82445 23802382.3334 23802387.6884
+ 2890.3754 2252.2424
+ 22630625.2204 -10492132.65849 -7866955.78746 22630625.1184 22630629.3954
+ -3260.7344 -2540.8354
+ 23944666.8384 -7298616.68149 -5636949.81545 23944668.8434 23944675.7954
+ -2992.5504 -2331.8494
+ 20338186.6064 -23765294.32149 -18265260.39548 20338185.8594 20338189.6814
+ -1365.3564 -1063.9164
+ 05 1 20 3 24 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20699994.8944 -20785191.69549 -16175332.00148 20699994.8404 20699999.3464
+ 1407.8514 1097.0234
+ 20673189.3014 -25200631.30449 -19618658.90048 20673188.7694 20673192.8234
+ 966.7584 753.3194
+ 20896985.7194 -19028396.20649 -14806996.54148 20896984.9154 20896990.0474
+ 1825.5624 1422.5114
+ 22209953.5424 -16053416.53649 -12494427.50547 22209953.4594 22209955.7874
+ 2178.2374 1697.3244
+ 24812740.3114 214754.70549 168545.97345 24812740.8904 24812748.2964
+ -503.6454 -392.4494
+ 23785899.4454 -5709303.93549 -4206263.66545 23785899.1284 23785903.1744
+ 2883.9164 2247.2084
+ 22649248.3324 -10394263.31449 -7790693.97046 22649248.9494 22649253.8424
+ -3263.9034 -2543.3064
+ 23961754.5074 -7208837.23949 -5566991.79245 23961754.3814 23961758.2044
+ -2992.6354 -2331.9284
+ 20346035.8074 -23724044.48749 -18233117.67748 20346035.3964 20346039.1964
+ -1384.6394 -1078.9414
+ 05 1 20 3 25 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20692017.7744 -20827112.47049 -16207997.54348 20692017.6374 20692021.8434
+ 1386.8494 1080.6654
+ 20667693.4664 -25229512.52849 -19641163.75048 20667692.9224 20667696.8644
+ 958.6604 747.0134
+ 20886613.2384 -19082902.97049 -14849469.33348 20886612.3464 20886617.7664
+ 1808.1744 1408.9674
+ 22197528.6674 -16118709.25549 -12545304.94147 22197528.7864 22197531.1784
+ 2174.5814 1694.4854
+ 24815662.8294 230093.79249 180498.52145 24815660.9864 24815665.3894
+ -519.0214 -404.4374
+ 23769455.1304 -5795722.36449 -4273602.67045 23769455.4954 23769458.3674
+ 2877.3484 2242.0934
+ 22667890.3664 -10296298.69649 -7714357.89846 22667890.5034 22667895.9044
+ -3267.0614 -2545.7714
+ 23978840.0774 -7119054.23149 -5497031.03845 23978840.0364 23978844.7644
+ -2992.7414 -2332.0084
+ 20353995.4704 -23682217.20949 -18200524.99448 20353994.9934 20353998.6414
+ -1403.8624 -1093.9134
+ 05 1 20 3 25 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20684160.8564 -20868402.17249 -16240171.33048 20684160.1954 20684165.0234
+ 1365.7814 1064.2434
+ 20662244.2254 -25258149.68949 -19663478.42548 20662243.5934 20662247.2874
+ 950.4984 740.6494
+ 20876340.6864 -19136886.40249 -14891534.34448 20876339.7364 20876345.2934
+ 1790.6804 1395.3354
+ 22185125.4454 -16183892.15549 -12596096.81547 22185125.0524 22185127.5224
+ 2170.9094 1691.6214
+ 24818667.9114 245894.85349 192811.04745 24818668.4284 24818672.3784
+ -534.4494 -416.4564
+ 23753049.3024 -5881943.90249 -4340788.28446 23753048.3864 23753052.3954
+ 2870.7684 2236.9654
+ 22686549.3864 -10198240.81949 -7637949.19146 22686550.5914 22686556.2534
+ -3270.1074 -2548.1404
+ 23995922.7714 -7029268.82949 -5427068.40145 23995924.5504 23995930.5144
+ -2992.8864 -2332.1184
+ 20362065.0064 -23639813.38449 -18167483.06248 20362064.4754 20362068.2114
+ -1423.0764 -1108.8884
+ 05 1 20 3 26 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20676423.5294 -20909059.19449 -16271852.12248 20676423.7324 20676428.0704
+ 1344.6774 1047.8004
+ 20656840.9544 -25286541.49249 -19685601.90348 20656840.6474 20656844.3494
+ 942.2994 734.2594
+ 20866168.1674 -19190344.33249 -14933189.86848 20866167.3934 20866172.5784
+ 1773.1564 1381.6804
+ 22172742.9664 -16248964.38849 -12646802.45247 22172742.2814 22172744.7724
+ 2167.2334 1688.7564
+ 24821761.7414 262156.81049 205482.69145 24821761.2254 24821767.6914
+ -549.6824 -428.3204
+ 23736680.1814 -5967967.99649 -4407820.02345 23736678.6224 23736681.7074
+ 2864.1834 2231.8314
+ 22705228.1724 -10100091.54449 -7561469.21946 22705227.9564 22705232.3904
+ -3273.1784 -2550.5174
+ 24013010.9374 -6939482.38849 -5357104.94245 24013011.0704 24013015.1964
+ -2992.8464 -2332.0854
+ 20370243.2604 -23596834.14549 -18133992.75248 20370242.9854 20370246.6174
+ -1442.2174 -1123.8054
+ 05 1 20 3 26 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20668807.7864 -20949081.73949 -16303038.52448 20668807.5014 20668812.5304
+ 1323.4804 1031.2834
+ 20651484.8814 -25314686.93949 -19707533.42348 20651484.8684 20651488.5264
+ 934.0654 727.8444
+ 20856095.0764 -19243274.48049 -14974434.14548 20856095.0454 20856100.0564
+ 1755.4924 1367.9174
+ 22160380.9124 -16313925.01049 -12697421.12647 22160380.7464 22160382.6744
+ 2163.4804 1685.8344
+ 24824943.4724 278877.85049 218512.06945 24824943.2754 24824949.4644
+ -565.0374 -440.2904
+ 23720345.3714 -6053793.74049 -4474697.22246 23720345.3484 23720351.0494
+ 2857.4944 2226.6144
+ 22723922.2744 -10001853.07049 -7484919.74546 22723922.0034 22723927.2234
+ -3276.0834 -2552.7974
+ 24030097.3204 -6849695.97249 -5287141.49445 24030095.9354 24030100.4704
+ -2992.8144 -2332.0684
+ 20378531.5294 -23553280.56549 -18100054.90748 20378530.9844 20378534.5754
+ -1461.3544 -1138.7134
+ 05 1 20 3 27 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20661312.9884 -20988468.10449 -16333729.19248 20661312.7374 20661317.2294
+ 1302.2414 1014.7334
+ 20646176.0324 -25342585.38849 -19729272.46948 20646175.9474 20646179.4704
+ 925.8094 721.4114
+ 20846124.7504 -19295674.47849 -15015265.31648 20846123.8524 20846128.9284
+ 1737.7894 1354.1224
+ 22148040.0494 -16378773.31149 -12747952.25947 22148039.9584 22148042.6184
+ 2159.7274 1682.9074
+ 24828211.8104 296056.69349 231898.21245 24828212.4344 24828217.9774
+ -580.2034 -452.1124
+ 23704051.6164 -6139420.52649 -4541419.36946 23704051.3434 23704056.1404
+ 2850.9324 2221.5134
+ 22742632.2264 -9903527.39649 -7408302.34346 22742632.7914 22742637.6134
+ -3278.9974 -2555.0674
+ 24047183.2784 -6759910.85749 -5217179.07745 24047183.8384 24047186.2984
+ -2992.8024 -2332.0594
+ 20386928.3434 -23509153.61649 -18065670.27848 20386927.9794 20386931.7804
+ -1480.4584 -1153.6014
+ 05 1 20 3 27 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20653939.0364 -21027216.73849 -16363922.93648 20653939.1374 20653943.7714
+ 1280.9814 998.1674
+ 20640915.0794 -25370235.84549 -19750818.28648 20640914.4104 20640917.9934
+ 917.5474 714.9724
+ 20836254.5784 -19347542.24149 -15055681.75748 20836253.6054 20836258.6994
+ 1720.0064 1340.2674
+ 22135721.6214 -16443508.35149 -12798395.15747 22135721.7604 22135723.6854
+ 2155.9174 1679.9404
+ 24831568.7494 313692.21949 245640.15645 24831568.4574 24831571.9564
+ -595.4914 -464.0214
+ 23687795.1894 -6224847.77249 -4607986.04345 23687795.3624 23687798.1954
+ 2844.2464 2216.2934
+ 22761358.5924 -9805116.20849 -7331618.31746 22761359.3504 22761365.2594
+ -3281.7294 -2557.1904
+ 24064268.9774 -6670128.11849 -5147218.50845 24064268.3194 24064272.2884
+ -2992.6544 -2331.9334
+ 20395435.1484 -23464454.22449 -18030839.59748 20395434.2204 20395437.7374
+ -1499.5074 -1168.4504
+ 05 1 20 3 28 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20646688.0504 -21065326.15349 -16393618.57748 20646687.3074 20646691.4824
+ 1259.6364 981.5414
+ 20635700.4314 -25397636.90249 -19772169.75948 20635700.0264 20635703.8664
+ 909.2054 708.4764
+ 20826485.1214 -19398875.56949 -15095681.74748 20826484.7914 20826490.8804
+ 1702.1764 1326.3744
+ 22123424.8634 -16508129.31449 -12848749.14847 22123424.7894 22123426.9664
+ 2152.1264 1676.9874
+ 24835011.3254 331782.96149 259736.83345 24835011.1294 24835016.9174
+ -610.5384 -475.7494
+ 23671579.0534 -6310074.67649 -4674396.63046 23671577.2144 23671580.4754
+ 2837.5324 2211.0644
+ 22780102.3784 -9706621.67249 -7254869.33346 22780102.5974 22780108.3204
+ -3284.5804 -2559.4084
+ 24081350.5464 -6580349.15449 -5077260.84745 24081350.4054 24081355.6264
+ -2992.5224 -2331.8354
+ 20404048.8714 -23419183.73249 -17995563.89748 20404048.6734 20404052.4914
+ -1518.5244 -1183.2604
+ 05 1 20 3 28 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20639557.0734 -21102794.53949 -16422814.70948 20639556.9264 20639561.7414
+ 1238.2454 964.8664
+ 20630533.7134 -25424787.66749 -19793326.19848 20630533.4494 20630536.9804
+ 900.8594 701.9714
+ 20816819.3194 -19449672.11649 -15135263.46848 20816818.7114 20816824.0124
+ 1684.2424 1312.3974
+ 22111150.1114 -16572635.44149 -12899013.65547 22111149.3344 22111151.8144
+ 2148.3024 1674.0034
+ 24838542.7814 350327.62249 274187.23845 24838542.4574 24838545.2424
+ -625.7414 -487.5914
+ 23655397.8884 -6395100.41249 -4740650.40246 23655396.6994 23655401.3764
+ 2830.8394 2205.8444
+ 22798861.6514 -9608045.65549 -7178056.86346 22798861.3574 22798866.0754
+ -3287.1824 -2561.4414
+ 24098434.1244 -6490574.84549 -5007306.83645 24098434.6464 24098440.9114
+ -2992.3114 -2331.6664
+ 20412772.2344 -23373343.17149 -17959843.98948 20412772.1184 20412775.5454
+ -1537.4954 -1198.0434
+ 05 1 20 3 29 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20632548.9674 -21139620.36749 -16451510.17048 20632549.2794 20632554.1644
+ 1216.8214 948.1744
+ 20625415.6114 -25451687.20649 -19814286.88248 20625414.7724 20625418.3564
+ 892.4784 695.4414
+ 20807255.6534 -19499929.64849 -15174425.18448 20807255.1044 20807260.3114
+ 1666.2354 1298.3694
+ 22098896.0264 -16637026.10349 -12949188.19047 22098896.3884 22098898.6574
+ 2144.4224 1670.9804
+ 24842159.2924 369324.51449 288989.99845 24842156.1674 24842160.1514
+ -640.7654 -499.2964
+ 23639254.9674 -6479924.59149 -4806747.15945 23639254.1784 23639259.0484
+ 2824.1414 2200.6314
+ 22817635.0644 -9509389.88649 -7101182.24146 22817635.0094 22817640.1824
+ -3289.8224 -2563.4944
+ 24115517.1874 -6400806.64449 -4937357.56746 24115517.9994 24115522.2094
+ -2992.0964 -2331.4994
+ 20421603.7474 -23326933.83449 -17923680.88848 20421603.3294 20421606.7784
+ -1556.4364 -1212.8054
+ 05 1 20 3 29 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20625663.5514 -21175802.17549 -16479703.78648 20625663.8874 20625669.0494
+ 1195.3244 931.4244
+ 20620344.1524 -25478334.41849 -19835050.95048 20620343.8214 20620347.6454
+ 884.0164 688.8474
+ 20797795.6154 -19549645.86549 -15213165.10648 20797794.6264 20797799.6604
+ 1648.1674 1284.2904
+ 22086665.9544 -16701300.27349 -12999271.95947 22086665.3834 22086667.5864
+ 2140.5294 1667.9464
+ 24845857.7934 388772.36449 304144.15045 24845857.7224 24845862.9884
+ -655.7334 -510.9634
+ 23623152.0094 -6564546.52849 -4872686.32445 23623152.3694 23623155.5784
+ 2817.3484 2195.3394
+ 22836423.2194 -9410656.50749 -7024247.14346 22836422.6654 22836427.7664
+ -3292.3854 -2565.4974
+ 24132600.3404 -6311045.39449 -4867413.73746 24132599.5584 24132602.9834
+ -2991.8584 -2331.3164
+ 20430543.5124 -23279956.75149 -17887075.37348 20430542.9684 20430546.5014
+ -1575.3554 -1227.5464
+ 05 1 20 3 30 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20618901.6804 -21211338.60349 -16507394.51348 20618901.5374 20618906.2864
+ 1173.7804 914.6344
+ 20615321.5984 -25504728.30749 -19855617.60348 20615320.9764 20615325.1584
+ 875.5584 682.2554
+ 20788437.6044 -19598818.75949 -15251481.64148 20788437.0564 20788442.4034
+ 1630.0244 1270.1504
+ 22074456.7654 -16765456.94849 -13049264.16147 22074457.2504 22074458.8014
+ 2136.5874 1664.8784
+ 24849644.1314 408669.70649 319648.56545 24849644.4914 24849649.0014
+ -670.6944 -522.6224
+ 23607087.5344 -6648965.44349 -4938467.26746 23607089.0544 23607091.2614
+ 2810.6124 2190.0834
+ 22855224.9564 -9311847.35249 -6947252.99846 22855225.3724 22855230.2854
+ -3294.9174 -2567.4704
+ 24149677.5264 -6221292.32849 -4797476.28246 24149677.6224 24149682.7814
+ -2991.5814 -2331.1054
+ 20439590.2994 -23232413.17749 -17850028.44448 20439589.8364 20439593.5814
+ -1594.2034 -1242.2374
+ 05 1 20 3 30 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20612263.2624 -21246228.19849 -16534581.21148 20612262.6084 20612267.4834
+ 1152.1874 897.8084
+ 20610347.2974 -25530867.69549 -19875985.95448 20610346.9374 20610350.5844
+ 867.0574 675.6264
+ 20779184.4644 -19647446.23049 -15289373.17348 20779183.4984 20779188.7374
+ 1611.7914 1255.9404
+ 22062271.2164 -16829495.49949 -13099164.32447 22062270.5784 22062272.7934
+ 2132.6254 1661.7864
+ 24853517.0794 429015.08149 335502.09245 24853515.8244 24853518.3564
+ -685.6734 -534.2944
+ 23591063.1234 -6733180.93249 -5004089.70046 23591062.3634 23591065.4584
+ 2803.7614 2184.7444
+ 22874042.6174 -9212964.32649 -6870201.29546 22874042.2714 22874047.4274
+ -3297.3064 -2569.3194
+ 24166756.2954 -6131548.55449 -4727546.06846 24166756.4454 24166759.3644
+ -2991.2514 -2330.8434
+ 20448745.5354 -23184304.36749 -17812541.06448 20448744.9964 20448748.4454
+ -1613.0474 -1256.9204
+ 05 1 20 3 31 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20605746.6134 -21280469.47849 -16561262.73048 20605746.5874 20605750.9864
+ 1130.5534 880.9584
+ 20605421.8244 -25556751.48449 -19896155.15248 20605421.2014 20605425.3314
+ 858.4994 668.9624
+ 20770035.1334 -19695526.14549 -15326838.04648 20770034.7124 20770039.6624
+ 1593.5034 1241.6964
+ 22050106.8614 -16893414.99849 -13148971.71147 22050106.7334 22050109.6864
+ 2128.6564 1658.6924
+ 24857463.7024 449807.10648 351703.67644 24857468.6824 24857475.7604
+ -700.4944 -545.8504
+ 23575077.6784 -6817192.44749 -5069553.21246 23575076.0894 23575080.2054
+ 2796.9494 2179.4504
+ 22892873.5824 -9114009.32049 -6793093.49346 22892873.2564 22892878.1324
+ -3299.6994 -2571.1964
+ 24183831.1594 -6041815.21849 -4657623.98646 24183831.3724 24183835.8134
+ -2990.8794 -2330.5554
+ 20458007.2534 -23135631.41349 -17774614.09748 20458006.7804 20458010.5074
+ -1631.8334 -1271.5534
+ 05 1 20 3 31 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20599354.8104 -21314060.82849 -16587437.80848 20599354.2734 20599359.0174
+ 1108.8934 864.0734
+ 20600545.3654 -25582378.59449 -19916124.33348 20600544.5904 20600548.7354
+ 849.9654 662.3144
+ 20760990.7574 -19743056.28149 -15363874.51748 20760989.9624 20760994.6364
+ 1575.1714 1227.4084
+ 22037965.6194 -16957214.54549 -13198685.64047 22037966.0914 22037968.8354
+ 2124.6574 1655.5794
+ 24861514.0404 471044.01748 368251.95144 24861509.2614 24861519.4004
+ -715.2614 -557.3264
+ 23559128.6774 -6900999.00849 -5134857.02846 23559127.9664 23559132.5824
+ 2790.1544 2174.1424
+ 22911716.5494 -9014983.89849 -6715930.82946 22911717.9114 22911721.5624
+ -3301.9664 -2572.9684
+ 24200904.2424 -5952093.46349 -4587710.95546 24200904.9984 24200909.6184
+ -2990.4724 -2330.2304
+ 20467376.9444 -23086395.66349 -17736248.58448 20467376.3284 20467379.9824
+ -1650.5274 -1286.1264
+ 05 1 20 3 32 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20593086.3564 -21347001.14349 -16613105.58648 20593085.8964 20593090.7234
+ 1087.1484 847.1284
+ 20595717.8034 -25607748.04249 -19935892.72548 20595717.2554 20595721.0274
+ 841.3584 655.6054
+ 20752051.1114 -19790034.33549 -15400480.79648 20752050.1904 20752055.1914
+ 1556.6904 1213.0004
+ 22025847.7834 -17020893.28649 -13248305.43747 22025848.5444 22025851.2094
+ 2120.5654 1652.3884
+ 24865635.0794 492724.41048 385145.75245 24865637.5234 24865642.5794
+ -729.9544 -568.8014
+ 23543219.9374 -6984600.14149 -5200000.75346 23543219.6804 23543225.1554
+ 2783.2754 2168.7854
+ 22930574.8684 -8915890.32649 -6638715.05546 22930574.3084 22930578.7754
+ -3304.2604 -2574.7474
+ 24217976.0694 -5862384.31449 -4517807.72246 24217975.9514 24217981.0084
+ -2990.0984 -2329.9424
+ 20476852.5834 -23036598.25549 -17697445.42348 20476852.3774 20476855.9744
+ -1669.2624 -1300.7254
+ 05 1 20 3 32 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20586941.5604 -21379289.19149 -16638265.10648 20586941.9594 20586946.6304
+ 1065.3624 830.1554
+ 20590938.9394 -25632859.06749 -19955459.74348 20590938.4664 20590942.3534
+ 832.7064 648.8604
+ 20743216.3754 -19836458.38449 -15436655.37648 20743215.9214 20743221.0354
+ 1538.2014 1198.5994
+ 22013753.4314 -17084450.40749 -13297830.44947 22013753.6354 22013756.7494
+ 2116.5144 1649.2334
+ 24869849.0664 514846.75949 402383.97345 24869847.3024 24869850.6414
+ -744.6594 -580.2574
+ 23527350.6634 -7067995.20349 -5264983.93246 23527349.8234 23527353.6504
+ 2776.4384 2163.4594
+ 22949443.7994 -8816730.25249 -6561447.46746 22949443.1754 22949449.0424
+ -3306.4654 -2576.4544
+ 24235045.6664 -5772688.92349 -4447915.19446 24235044.9114 24235048.6674
+ -2989.5884 -2329.5484
+ 20486435.1544 -22986240.76749 -17658205.83648 20486434.9654 20486438.7954
+ -1687.9094 -1315.2554
+ 05 1 20 3 33 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20580922.4634 -21410923.44949 -16662915.17748 20580922.0944 20580926.5984
+ 1043.5654 813.1684
+ 20586209.7104 -25657710.22549 -19974824.28448 20586209.3434 20586213.3104
+ 824.0324 642.0984
+ 20734487.7874 -19882326.26549 -15472396.57448 20734487.3034 20734492.6904
+ 1519.6284 1184.1274
+ 22001683.0174 -17147884.95949 -13347259.96747 22001683.0024 22001685.2964
+ 2112.4314 1646.0484
+ 24874141.1364 537409.40949 419965.29845 24874142.2254 24874144.4944
+ -759.3874 -591.7284
+ 23511518.8994 -7151183.63949 -5329806.07846 23511518.7134 23511523.1854
+ 2769.5294 2158.0654
+ 22968324.8794 -8717505.52349 -6484129.50346 22968324.9364 22968330.1184
+ -3308.5334 -2578.0964
+ 24252110.2834 -5683008.36949 -4378034.23746 24252109.7324 24252114.9334
+ -2989.0524 -2329.1304
+ 20496124.6484 -22935324.50149 -17618530.83148 20496123.9944 20496127.6584
+ -1706.5054 -1329.7464
+ 05 1 20 3 33 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20575026.7524 -21441902.60249 -16687054.77648 20575026.9614 20575031.5254
+ 1021.7174 796.1424
+ 20581530.5174 -25682300.76249 -19993985.75748 20581530.3044 20581534.0994
+ 815.3314 635.3204
+ 20725866.0204 -19927635.93449 -15507702.81248 20725865.2124 20725870.4984
+ 1500.9904 1169.6024
+ 21989636.2494 -17211196.17549 -13396593.38147 21989635.5224 21989637.9404
+ 2108.3094 1642.8394
+ 24878519.0504 560410.70949 437888.39145 24878517.7764 24878524.2394
+ -773.9774 -603.0934
+ 23495727.1544 -7234164.71649 -5394466.65446 23495727.9704 23495731.6884
+ 2762.5964 2152.6694
+ 22987218.1724 -8618217.86449 -6406762.49746 22987218.6334 22987223.6844
+ -3310.6204 -2579.6994
+ 24269173.6524 -5593343.63649 -4308165.62846 24269172.6764 24269177.3674
+ -2988.5454 -2328.7494
+ 20505920.4874 -22883850.67249 -17578421.36348 20505919.5194 20505922.9594
+ -1725.0604 -1344.2024
+ 05 1 20 3 34 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20569257.0314 -21472225.35849 -16710682.90048 20569256.6894 20569261.4434
+ 999.8114 779.0754
+ 20576900.6814 -25706629.22349 -20012942.99648 20576900.7694 20576904.3984
+ 806.5694 628.4924
+ 20717350.0834 -19972385.40849 -15542572.53548 20717349.4024 20717354.9944
+ 1482.2794 1155.0204
+ 21977611.8484 -17274382.97349 -13445829.84947 21977611.6904 21977613.8454
+ 2104.1404 1639.5934
+ 24882977.1044 583849.18649 456152.12945 24882978.2854 24882983.7114
+ -788.5874 -614.4834
+ 23479978.2024 -7316938.04249 -5458965.34946 23479978.1794 23479981.3984
+ 2755.6224 2147.2334
+ 23006124.2944 -8518869.08449 -6329347.87146 23006125.1684 23006129.5144
+ -3312.6394 -2581.2744
+ 24286231.9344 -5503695.74849 -4238310.13646 24286231.7354 24286237.3424
+ -2987.9534 -2328.2664
+ 20515820.8234 -22831820.74349 -17537878.57248 20515820.0844 20515824.3984
+ -1743.5754 -1358.6284
+ 05 1 20 3 34 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20563610.9364 -21501890.66149 -16733798.71848 20563611.2934 20563616.4564
+ 977.8754 761.9844
+ 20572321.0124 -25730695.06349 -20031695.59548 20572321.0204 20572324.7274
+ 797.8254 621.6844
+ 20708941.4114 -20016572.70349 -15577004.19348 20708940.8874 20708946.5814
+ 1463.5144 1140.4034
+ 21965611.6884 -17337444.37549 -13494968.60847 21965611.6904 21965613.3714
+ 2099.9554 1636.3314
+ 24887523.1764 607723.25049 474755.27945 24887523.4204 24887527.5274
+ -803.0624 -625.7654
+ 23464267.6054 -7399502.97149 -5523301.65046 23464266.5054 23464268.7124
+ 2748.7014 2141.8474
+ 23025042.4634 -8419461.32349 -6251887.27346 23025042.0144 23025046.1234
+ -3314.5754 -2582.7884
+ 24303286.5944 -5414065.82149 -4168468.65146 24303288.5014 24303291.8404
+ -2987.3474 -2327.8044
+ 20525827.0514 -22779236.24449 -17496903.65048 20525826.8724 20525830.2604
+ -1762.0464 -1373.0244
+ 05 1 20 3 35 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20558091.8004 -21530897.31849 -16756401.31548 20558091.4824 20558096.6614
+ 955.8904 744.8454
+ 20567792.3404 -25754497.02149 -20050242.57448 20567791.8854 20567795.3774
+ 788.9774 614.7854
+ 20700640.5744 -20060195.74749 -15610996.17348 20700640.1254 20700645.4684
+ 1444.6724 1125.7164
+ 21953634.9684 -17400379.58649 -13544009.00947 21953635.1814 21953637.1074
+ 2095.7344 1633.0394
+ 24892147.5044 632030.98649 493696.33345 24892146.2674 24892151.5004
+ -817.5124 -637.0244
+ 23448593.9764 -7481858.94649 -5587475.10946 23448594.6984 23448597.9974
+ 2741.7194 2136.4054
+ 23043971.0254 -8319996.04749 -6174381.88146 23043969.3294 23043973.6454
+ -3316.4594 -2584.2624
+ 24320340.9564 -5324455.12349 -4098642.10845 24320340.5614 24320345.5584
+ -2986.6044 -2327.2194
+ 20535939.4434 -22726098.41049 -17455497.54948 20535938.9634 20535942.3124
+ -1780.4724 -1387.3854
+ 05 1 20 3 35 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20552697.5624 -21559243.90449 -16778489.56648 20552697.4244 20552702.1484
+ 933.8724 727.6944
+ 20563313.9044 -25778033.63049 -20068582.78748 20563313.0204 20563316.8044
+ 780.1194 607.8884
+ 20692447.7294 -20103252.63149 -15644547.00248 20692446.6844 20692451.7674
+ 1425.7634 1110.9874
+ 21941683.6124 -17463187.67349 -13592950.37347 21941683.5074 21941685.1584
+ 2091.4604 1629.7104
+ 24896855.0924 656771.01349 512974.29345 24896855.0144 24896859.5434
+ -831.8634 -648.2044
+ 23432963.0954 -7564005.41449 -5651485.35746 23432961.7904 23432966.0934
+ 2734.7004 2130.9324
+ 23062907.5254 -8220475.15749 -6096833.11846 23062908.1724 23062911.2954
+ -3318.2974 -2585.6864
+ 24337390.2344 -5234864.30149 -4028831.13045 24337390.8754 24337393.0364
+ -2986.0014 -2326.7494
+ 20546156.0904 -22672408.80349 -17413661.49948 20546155.5324 20546159.1664
+ -1798.8434 -1401.6984
+ 05 1 20 3 36 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20547429.4154 -21586929.46249 -16800062.73648 20547429.1714 20547433.9004
+ 911.8444 710.5244
+ 20558885.0004 -25801304.09949 -20086715.61648 20558884.3454 20558888.4424
+ 771.2544 600.9734
+ 20684361.9014 -20145741.12149 -15677654.91648 20684361.3234 20684366.4114
+ 1406.7864 1096.1954
+ 21929756.0734 -17525867.73549 -13641791.97547 21929755.8484 21929758.0374
+ 2087.1964 1626.3794
+ 24901644.4654 681941.75349 532587.83845 24901644.0784 24901648.3364
+ -846.1834 -659.3624
+ 23417369.0884 -7645941.81349 -5715331.91046 23417369.6914 23417373.4314
+ 2727.6584 2125.4404
+ 23081854.5354 -8120900.26149 -6019242.28046 23081856.0174 23081859.4944
+ -3320.0414 -2587.0434
+ 24354432.9014 -5145294.52349 -3959036.48945 24354431.3574 24354438.6784
+ -2985.2634 -2326.1674
+ 20556477.6744 -22618168.82949 -17371396.59648 20556477.0104 20556480.4954
+ -1817.1464 -1415.9614
+ 05 1 20 3 36 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20542286.7804 -21613952.69149 -16821119.79248 20542286.9424 20542291.5224
+ 889.7144 693.2834
+ 20554507.6074 -25824307.54149 -20104640.37648 20554507.1494 20554510.9784
+ 762.3244 594.0194
+ 20676385.0644 -20187659.28349 -15710318.41748 20676384.5734 20676389.9304
+ 1387.7384 1081.3554
+ 21917852.9354 -17588418.80549 -13690533.06547 21917852.4704 21917854.6814
+ 2082.8714 1623.0214
+ 24906515.6834 707541.21249 552535.43145 24906514.2884 24906520.4614
+ -860.3634 -670.4184
+ 23401819.0524 -7727667.48249 -5779014.23046 23401817.2604 23401822.5634
+ 2720.6354 2119.9744
+ 23100812.1894 -8021273.16449 -5941610.75946 23100813.2254 23100818.6124
+ -3321.7134 -2588.3514
+ 24371472.3604 -5055746.93349 -3889259.14445 24371473.1924 24371478.4404
+ -2984.5034 -2325.5934
+ 20566903.6114 -22563380.18749 -17328704.16048 20566903.2184 20566906.7114
+ -1835.4404 -1430.2124
+ 05 1 20 3 37 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20537270.5694 -21640312.42649 -16841659.85048 20537270.6864 20537275.2434
+ 867.6014 676.0554
+ 20550181.0274 -25847042.56649 -20122355.96848 20550180.9724 20550184.7234
+ 753.3634 587.0394
+ 20668517.7564 -20229005.50949 -15742536.26048 20668517.0374 20668521.6134
+ 1368.6584 1066.4884
+ 21905974.6614 -17650840.05449 -13739172.98947 21905973.9554 21905976.2374
+ 2078.5474 1619.6514
+ 24911467.8974 733567.85649 572815.96245 24911467.0824 24911472.9334
+ -874.7424 -681.6194
+ 23386307.4154 -7809181.84249 -5842531.91146 23386306.9174 23386310.3074
+ 2713.6494 2114.5374
+ 23119779.6534 -7921595.59449 -5863939.93446 23119781.4714 23119786.8654
+ -3323.4344 -2589.6844
+ 24388507.3584 -4966222.37049 -3819499.70345 24388509.7274 24388514.2654
+ -2983.6714 -2324.9334
+ 20577433.5054 -22508043.94749 -17285585.02448 20577432.8304 20577437.0714
+ -1853.6424 -1444.3964
+ 05 1 20 3 37 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20532381.2894 -21666007.75149 -16861682.18148 20532381.1804 20532385.9344
+ 845.4314 658.7784
+ 20545906.2664 -25869508.31149 -20139861.73948 20545905.7394 20545909.8494
+ 744.3604 580.0214
+ 20660758.8414 -20269777.85549 -15774306.92348 20660758.1044 20660763.2534
+ 1349.4784 1051.5394
+ 21894120.3444 -17713130.36249 -13787710.89847 21894120.5404 21894122.6984
+ 2074.1654 1616.2324
+ 24916503.1924 760019.91849 593427.93845 24916502.0034 24916508.7024
+ -888.8304 -692.5934
+ 23370836.1804 -7890484.31949 -5905884.49146 23370835.9454 23370839.6844
+ 2706.5444 2108.9984
+ 23138759.5974 -7821869.39649 -5786231.20946 23138760.4784 23138764.4454
+ -3325.0064 -2590.9134
+ 24405542.4334 -4876721.94649 -3749759.14845 24405541.4074 24405545.8584
+ -2982.9264 -2324.3604
+ 20588066.2824 -22452161.93549 -17242040.61148 20588066.7124 20588070.5674
+ -1871.8144 -1458.5594
+ 05 1 20 3 38 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20527618.2524 -21691037.78749 -16881186.11248 20527617.8644 20527622.7664
+ 823.2374 641.4834
+ 20541682.7594 -25891703.44349 -20157156.63748 20541681.9544 20541686.3124
+ 735.3334 572.9844
+ 20653109.3774 -20309974.42449 -15805628.91848 20653108.8384 20653114.4034
+ 1330.2664 1036.5704
+ 21882292.1094 -17775288.99849 -13836146.18747 21882292.4194 21882294.5094
+ 2069.7504 1612.7954
+ 24921613.0704 786895.48949 614369.98845 24921617.7874 24921624.7914
+ -902.9994 -703.6344
+ 23355404.4584 -7971574.44549 -5969071.61946 23355404.3304 23355409.3134
+ 2699.4734 2103.4894
+ 23157746.0704 -7722096.37149 -5708486.01646 23157745.8934 23157750.5834
+ -3326.4924 -2592.0724
+ 24422567.3844 -4787246.45849 -3680038.05345 24422568.5284 24422569.9084
+ -2982.0604 -2323.6834
+ 20598805.5674 -22395735.65349 -17198072.10548 20598804.6544 20598808.2214
+ -1889.9274 -1472.6734
+ 05 1 20 3 38 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20522982.2544 -21715401.39749 -16900170.74748 20522981.9034 20522986.4044
+ 801.0144 624.1684
+ 20537510.6724 -25913627.41249 -20174240.25048 20537510.2354 20537514.2734
+ 726.2684 565.9254
+ 20645570.0144 -20349593.34849 -15836500.79848 20645569.2974 20645574.6394
+ 1310.9694 1021.5324
+ 21870488.8744 -17837315.00849 -13884478.13647 21870488.7614 21870491.2634
+ 2065.3184 1609.3414
+ 24926813.6954 814193.08949 635640.86944 24926812.2434 24926817.7224
+ -916.8874 -714.4554
+ 23340014.6814 -8052451.79549 -6032092.92346 23340013.8734 23340018.0634
+ 2692.3244 2097.9144
+ 23176740.2054 -7622277.98649 -5630705.43946 23176739.6434 23176745.5744
+ -3328.0534 -2593.2834
+ 24439589.4394 -4697797.02149 -3610337.20945 24439590.3054 24439594.5224
+ -2981.1334 -2322.9634
+ 20609646.1374 -22338767.03049 -17153680.98148 20609645.3864 20609649.2964
+ -1907.9764 -1486.7334
+ 05 1 20 3 39 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20518472.2194 -21739097.64249 -16918635.35248 20518472.3804 20518477.2634
+ 778.7524 606.8204
+ 20533390.8714 -25935278.49049 -20191111.21348 20533390.2854 20533393.9544
+ 717.1604 558.8214
+ 20638141.8104 -20388632.69349 -15866921.07848 20638140.7934 20638145.4674
+ 1291.6364 1006.4654
+ 21858712.0454 -17899207.01849 -13932705.67247 21858711.4674 21858713.6034
+ 2060.8474 1605.8564
+ 24932087.3724 841910.91149 657239.22245 24932088.1434 24932091.4324
+ -930.8954 -725.3744
+ 23324664.5894 -8133115.56449 -6094947.81846 23324664.1504 23324666.1074
+ 2685.2534 2092.4134
+ 23195743.1394 -7522415.89649 -5552890.83946 23195743.4784 23195747.7504
+ -3329.4594 -2594.3914
+ 24456607.4914 -4608374.77549 -3540657.55245 24456605.9754 24456608.8534
+ -2980.3214 -2322.3254
+ 20620589.2084 -22281256.90149 -17108867.90148 20620589.1464 20620592.8384
+ -1926.0174 -1500.7954
+ 05 1 20 3 39 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20514090.0614 -21762125.55149 -16936579.18048 20514090.1734 20514094.8274
+ 756.4574 589.4504
+ 20529322.6764 -25956655.70549 -20207768.79048 20529322.3264 20529325.8644
+ 707.9864 551.6814
+ 20630822.9014 -20427090.68149 -15896888.35048 20630822.4714 20630827.3444
+ 1272.1954 991.3224
+ 21846959.6234 -17960964.00949 -13980827.99147 21846959.3654 21846961.4834
+ 2056.2834 1602.3004
+ 24937441.3284 870047.18049 679163.54145 24937443.1674 24937444.4174
+ -944.6884 -736.1234
+ 23309355.3404 -8213565.58649 -6157636.11746 23309355.3224 23309358.2924
+ 2678.0464 2086.7924
+ 23214753.8724 -7422511.94649 -5475043.61946 23214754.5154 23214759.7014
+ -3330.8344 -2595.4554
+ 24473616.2434 -4518980.39249 -3470999.62345 24473618.3534 24473621.1234
+ -2979.4584 -2321.6534
+ 20631635.7694 -22223206.98449 -17063634.20048 20631635.7454 20631639.4904
+ -1943.9464 -1514.7564
+ 05 1 20 3 40 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20509836.2584 -21784484.31949 -16954001.60348 20509835.8994 20509840.5374
+ 734.1194 572.0444
+ 20525306.9714 -25977758.15649 -20224212.25248 20525306.5464 20525310.3394
+ 698.8134 544.5314
+ 20623615.1084 -20464965.37849 -15926401.10148 20623614.6844 20623620.3154
+ 1252.7344 976.1614
+ 21835234.1004 -18022585.37049 -14028844.63947 21835233.4224 21835235.1644
+ 2051.7824 1598.7954
+ 24942873.3264 898600.21549 701412.59045 24942873.2594 24942878.3074
+ -958.8764 -747.1744
+ 23294087.4584 -8293801.18349 -6220157.36146 23294086.5864 23294090.3814
+ 2670.9374 2081.2464
+ 23233773.6724 -7322567.80649 -5397165.08246 23233773.9184 23233778.1074
+ -3332.1934 -2596.5144
+ 24490621.3054 -4429615.00849 -3401364.23345 24490620.6664 24490628.8754
+ -2978.3564 -2320.7974
+ 20642784.8844 -22164619.76549 -17017981.83248 20642784.4984 20642788.2744
+ -1961.8674 -1528.7264
+ 05 1 20 3 40 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20505709.0824 -21806173.03349 -16970901.89248 20505708.7984 20505713.1434
+ 711.7704 554.6274
+ 20521343.7824 -25998584.70549 -20240440.72948 20521343.4994 20521347.2834
+ 689.6154 537.3604
+ 20616519.2844 -20502255.14249 -15955458.05248 20616518.6064 20616524.2904
+ 1233.2134 960.9454
+ 21823532.9674 -18084070.22349 -14076754.91747 21823533.2114 21823534.7714
+ 2047.2084 1595.2254
+ 24948389.0094 927567.90849 723984.84445 24948387.2584 24948390.6084
+ -972.4724 -757.7764
+ 23278860.4514 -8373821.81549 -6282511.11246 23278859.6454 23278863.0334
+ 2663.7844 2075.6784
+ 23252798.8944 -7222585.06849 -5319256.43946 23252798.4584 23252803.0734
+ -3333.3844 -2597.4464
+ 24507623.2594 -4340279.38449 -3331752.05945 24507623.5234 24507628.2244
+ -2977.3594 -2320.0224
+ 20654036.2764 -22105496.32549 -16971911.63148 20654035.3714 20654038.9794
+ -1979.7124 -1542.6334
+ 05 1 20 3 41 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20501708.7454 -21827190.94349 -16987279.48848 20501708.5784 20501713.8574
+ 689.4074 537.2024
+ 20517433.0394 -26019134.22849 -20256453.34348 20517432.7104 20517436.6094
+ 680.3574 530.1494
+ 20609534.9214 -20538958.09849 -15984057.76048 20609534.3704 20609539.7454
+ 1213.6184 945.6774
+ 21811859.2074 -18145417.52249 -14124558.00047 21811858.9744 21811861.0104
+ 2042.6104 1591.6494
+ 24953979.1654 956948.47549 746878.80345 24953976.5304 24953983.0174
+ -986.3414 -768.5784
+ 23263672.3844 -8453627.04249 -6344696.98046 23263672.8914 23263675.9264
+ 2656.5864 2070.0784
+ 23271832.7544 -7122565.42349 -5241319.06846 23271833.2554 23271836.7374
+ -3334.6274 -2598.4274
+ 24524617.8354 -4250974.63949 -3262163.96445 24524617.6014 24524621.9634
+ -2976.2574 -2319.1574
+ 20665388.2974 -22045838.36249 -16925424.92748 20665387.9054 20665391.7924
+ -1997.4974 -1556.4934
+ 05 1 20 3 41 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20497837.1054 -21847537.27049 -17003133.77048 20497837.2784 20497842.0684
+ 667.0224 519.7624
+ 20513576.4004 -26039405.52149 -20272249.16048 20513575.4274 20513579.2274
+ 671.0784 522.9084
+ 20602662.9884 -20575072.41249 -16012198.78348 20602662.3054 20602667.5924
+ 1193.9834 930.3734
+ 21800211.9284 -18206625.98549 -14172252.90947 21800211.5264 21800213.5224
+ 2037.9664 1588.0274
+ 24959646.6424 986740.02149 770092.99045 24959646.5174 24959651.4724
+ -999.9384 -779.1754
+ 23248528.4954 -8533216.31649 -6406714.59546 23248527.8964 23248530.0144
+ 2649.3444 2064.4244
+ 23290872.1504 -7022510.54449 -5163354.22946 23290872.8174 23290877.2764
+ -3335.6944 -2599.2394
+ 24541606.1974 -4161701.60949 -3192600.55645 24541605.7634 24541608.0854
+ -2975.1724 -2318.3164
+ 20676843.4044 -21985647.62649 -16878523.06248 20676842.0744 20676845.7294
+ -2015.2094 -1570.2964
+ 05 1 20 3 42 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20494093.7234 -21867211.03849 -17018463.97648 20494093.5384 20494097.9214
+ 644.5684 502.2614
+ 20509770.9814 -26059397.77149 -20287827.54048 20509771.0004 20509775.0584
+ 661.7374 515.6404
+ 20595903.0454 -20610596.43749 -16039879.84448 20595902.1974 20595907.4684
+ 1174.2714 915.0204
+ 21788590.8594 -18267694.81949 -14219839.01547 21788590.5074 21788592.6334
+ 2033.2974 1584.3864
+ 24965391.3894 1016940.91448 793626.15445 24965391.0304 24965396.3044
+ -1013.5204 -789.7544
+ 23233422.6284 -8612589.26149 -6468563.61446 23233422.8584 23233427.4804
+ 2642.2654 2058.9054
+ 23309918.4924 -6922421.98049 -5085363.16346 23309918.8624 23309922.9164
+ -3336.8124 -2600.1124
+ 24558587.3784 -4072461.21349 -3123062.57845 24558586.6924 24558591.0624
+ -2974.0984 -2317.4774
+ 20688396.8084 -21924925.79649 -16831207.36148 20688396.6744 20688400.8034
+ -2032.8934 -1584.0724
+ 05 1 20 3 42 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20490477.6714 -21886211.49149 -17033269.52148 20490477.5724 20490482.0884
+ 622.1174 484.7634
+ 20506020.2434 -26079109.69649 -20303187.47948 20506019.9974 20506023.7734
+ 652.3614 508.3324
+ 20589255.7104 -20645528.52849 -16067099.65048 20589255.1714 20589260.2834
+ 1154.5044 899.6134
+ 21776996.6864 -18328622.87749 -14267315.42647 21776996.4974 21776998.5964
+ 2028.5644 1580.7034
+ 24971217.3264 1047549.09649 817476.70045 24971217.1474 24971222.4644
+ -1027.0874 -800.3244
+ 23218362.3684 -8691745.51349 -6530243.81346 23218361.0844 23218363.7914
+ 2635.0044 2053.2464
+ 23328971.2274 -6822301.37349 -5007347.08546 23328970.1184 23328976.3434
+ -3337.8404 -2600.9094
+ 24575560.8044 -3983254.15749 -3053550.59345 24575561.5464 24575566.2144
+ -2972.8654 -2316.5154
+ 20700052.9934 -21863674.65649 -16783479.21048 20700052.6184 20700056.3874
+ -2050.5134 -1597.8014
+ 05 1 20 3 43 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20486990.6794 -21904538.07849 -17047549.97748 20486990.3824 20486994.7724
+ 599.6294 467.2424
+ 20502322.9704 -26098540.24149 -20318328.16848 20502322.4274 20502326.2004
+ 643.0004 501.0404
+ 20582721.3444 -20679866.77249 -16093856.73048 20582720.7034 20582725.8674
+ 1134.6704 884.1584
+ 21765429.7254 -18389409.30449 -14314681.47347 21765429.0214 21765431.3074
+ 2023.8284 1577.0084
+ 24977119.0874 1078562.76948 841643.23944 24977115.8484 24977122.3074
+ -1040.6354 -810.8834
+ 23203339.3944 -8770684.27849 -6591754.53146 23203339.2364 23203342.6244
+ 2627.6204 2047.5014
+ 23348028.3294 -6722150.43749 -4929307.39146 23348028.6184 23348033.5124
+ -3338.8844 -2601.7234
+ 24592530.2864 -3894081.84049 -2984065.65945 24592529.6934 24592535.2014
+ -2971.7464 -2315.6464
+ 20711809.6734 -21801896.00249 -16735340.01148 20711809.0514 20711812.2284
+ -2068.0624 -1611.4734
+ 05 1 20 3 43 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20483631.7054 -21922190.01649 -17061304.73448 20483631.2824 20483635.8904
+ 577.1424 449.7204
+ 20498679.2324 -26117688.86649 -20333249.17448 20498678.7254 20498682.2654
+ 633.5704 493.6914
+ 20576300.3864 -20713609.79049 -16120149.98348 20576299.2634 20576304.9534
+ 1114.8024 868.6764
+ 21753888.6994 -18450052.87049 -14361936.20848 21753888.8794 21753891.4534
+ 2019.0584 1573.2904
+ 24983099.1764 1109979.77549 866124.05144 24983098.8144 24983102.0404
+ -1054.0304 -821.3284
+ 23188357.9744 -8849405.27249 -6653095.54446 23188357.2734 23188362.8504
+ 2620.4284 2041.8954
+ 23367092.0514 -6621970.65649 -4851245.24646 23367092.9354 23367097.3874
+ -3339.8154 -2602.4504
+ 24609494.3644 -3804944.77249 -2914608.18045 24609495.2794 24609498.0894
+ -2970.6034 -2314.7594
+ 20723665.3224 -21739591.87649 -16686791.34648 20723664.4414 20723668.5804
+ -2085.5664 -1625.1194
+ 05 1 20 3 44 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20480400.9484 -21939166.60749 -17074533.25148 20480400.8914 20480405.6534
+ 554.6264 432.1764
+ 20495089.3994 -26136553.88749 -20347949.19248 20495088.5974 20495092.5454
+ 624.1054 486.3164
+ 20569991.9104 -20746755.98649 -16145978.18848 20569991.6934 20569997.3194
+ 1094.8934 853.1624
+ 21742376.6014 -18510552.69349 -14409078.93348 21742376.2754 21742378.6554
+ 2014.2684 1569.5624
+ 24989151.4044 1141798.33349 890917.71545 24989152.2674 24989158.1284
+ -1067.1864 -831.5674
+ 23173419.8714 -8927908.17149 -6714266.63646 23173419.4384 23173423.5074
+ 2613.1164 2036.1984
+ 23386161.4304 -6521763.50549 -4773161.75146 23386161.1974 23386167.0594
+ -3340.7274 -2603.1674
+ 24626448.9484 -3715843.87949 -2845178.88345 24626448.3024 24626454.5554
+ -2969.3994 -2313.8224
+ 20735620.4694 -21676763.38649 -16637834.08748 20735620.1604 20735624.2704
+ -2103.0164 -1638.7154
+ 05 1 20 3 44 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20477298.6234 -21955467.19849 -17087235.00648 20477298.3274 20477303.5504
+ 532.0794 414.6074
+ 20491553.7544 -26155134.06749 -20362427.25448 20491553.0574 20491556.8354
+ 614.5964 478.9094
+ 20563799.2394 -20779303.53749 -16171339.91048 20563798.2974 20563803.8414
+ 1074.9134 837.5964
+ 21730891.3694 -18570907.88949 -14456108.95348 21730890.8524 21730893.7614
+ 2009.4204 1565.7854
+ 24995284.6194 1174016.55949 916022.80345 24995284.5474 24995289.1984
+ -1080.5514 -841.9854
+ 23158523.7044 -9006192.38349 -6775267.29446 23158522.7064 23158527.6724
+ 2605.8154 2030.5174
+ 23405234.5514 -6421530.87249 -4695058.41746 23405235.0534 23405239.9834
+ -3341.4954 -2603.7524
+ 24643396.7414 -3626780.23449 -2775778.58545 24643396.9664 24643400.6614
+ -2968.1024 -2312.8094
+ 20747676.6294 -21613412.76049 -16588469.97248 20747675.9634 20747679.5174
+ -2120.3604 -1652.2224
+ 05 1 20 3 45 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20474325.4134 -21971091.28149 -17099409.62548 20474325.4074 20474330.4194
+ 509.5294 397.0344
+ 20488072.0244 -26173428.82649 -20376682.91248 20488071.8954 20488075.4854
+ 605.0654 471.4764
+ 20557720.6234 -20811250.80649 -16196233.89248 20557719.3014 20557724.0984
+ 1054.8884 821.9904
+ 21719433.4424 -18631116.93749 -14503025.09948 21719433.4074 21719436.0654
+ 2004.5184 1561.9594
+ 25001493.1944 1206632.56649 941437.87045 25001491.7834 25001494.3894
+ -1093.7714 -852.2934
+ 23143668.5694 -9084257.39749 -6836097.17346 23143667.8304 23143671.0654
+ 2598.5204 2024.8184
+ 23424313.0854 -6321274.05149 -4616936.22346 23424313.6494 23424317.8104
+ -3342.3194 -2604.4034
+ 24660338.7524 -3537754.42449 -2706407.78245 24660338.0764 24660343.5784
+ -2966.8504 -2311.8324
+ 20759830.5554 -21549542.02849 -16538700.57548 20759830.3084 20759833.8064
+ -2137.6824 -1665.7304
+ 05 1 20 3 45 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20471481.5644 -21986038.28849 -17111056.64548 20471481.2694 20471486.1394
+ 486.9304 379.4264
+ 20484645.4124 -26191436.97749 -20390715.24148 20484644.7704 20484648.5094
+ 595.4764 464.0054
+ 20551754.7044 -20842596.08749 -16220658.79048 20551754.1524 20551759.3584
+ 1034.7814 806.3234
+ 21708004.8864 -18691179.07749 -14549826.77448 21708004.1954 21708006.5264
+ 1999.6164 1558.1474
+ 25007772.0074 1239644.37349 967161.33245 25007772.7794 25007777.4124
+ -1106.9524 -862.5594
+ 23128855.0064 -9162102.54949 -6896755.75146 23128854.3434 23128857.9674
+ 2591.2084 2019.1264
+ 23443395.3424 -6220994.52049 -4538796.32046 23443395.5774 23443401.8484
+ -3343.0074 -2604.9354
+ 24677272.2974 -3448767.30149 -2637067.20045 24677272.6124 24677277.6494
+ -2965.5074 -2310.7784
+ 20772082.6044 -21485152.90849 -16488527.25048 20772082.6994 20772086.8204
+ -2154.9244 -1679.1594
+ 05 1 20 3 46 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20468765.9774 -22000307.59049 -17122175.57748 20468765.9384 20468770.7374
+ 464.3414 361.8254
+ 20481272.8914 -26209157.22349 -20404523.22548 20481272.8334 20481276.7754
+ 585.8504 456.5084
+ 20545904.7454 -20873337.99749 -16244613.52148 20545903.9894 20545909.2914
+ 1014.6584 790.6414
+ 21696603.6364 -18751093.23549 -14596513.14748 21696602.9284 21696604.7654
+ 1994.6364 1554.2614
+ 25014128.6954 1273050.02549 993191.66445 25014129.1784 25014133.2824
+ -1120.1064 -872.8114
+ 23114083.1534 -9239727.78749 -6957242.92346 23114082.1154 23114085.6764
+ 2583.9334 2013.4634
+ 23462480.0704 -6120694.03249 -4460640.09846 23462481.1774 23462487.8634
+ -3343.6694 -2605.4564
+ 24694198.9964 -3359819.89849 -2567757.56845 24694198.4874 24694201.9104
+ -2964.2304 -2309.8034
+ 20784435.0694 -21420247.16649 -16437951.35848 20784434.5264 20784437.8114
+ -2172.1344 -1692.5704
+ 05 1 20 3 46 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20466179.5594 -22013898.82049 -17132766.14848 20466179.5124 20466184.3704
+ 441.7344 344.2074
+ 20477956.0734 -26226588.29049 -20418105.87048 20477955.7514 20477959.7684
+ 576.2024 448.9874
+ 20540170.1384 -20903475.09549 -16268096.98048 20540169.3344 20540174.5414
+ 994.4774 774.9144
+ 21685229.7594 -18810858.25949 -14643083.29848 21685229.7944 21685231.8014
+ 1989.6674 1550.3884
+ 25020563.5874 1306847.34849 1019527.19145 25020561.8334 25020565.6934
+ -1133.0444 -882.8984
+ 23099352.6144 -9317132.56149 -7017558.31946 23099352.4504 23099357.5914
+ 2576.5324 2007.6854
+ 23481573.5354 -6020374.09549 -4382468.71546 23481573.8474 23481577.3974
+ -3344.3314 -2605.9734
+ 24711116.6354 -3270912.98049 -2498479.41245 24711116.2824 24711121.0104
+ -2962.8484 -2308.7094
+ 20796883.5154 -21354826.67349 -16386974.36748 20796883.1834 20796886.9754
+ -2189.2334 -1705.8994
+ 05 1 20 3 47 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20463722.1904 -22026811.38749 -17142827.88948 20463722.1304 20463727.2394
+ 419.1314 326.5924
+ 20474694.1804 -26243729.07049 -20431462.32648 20474693.7694 20474697.6024
+ 566.5194 441.4414
+ 20534550.5184 -20933005.83349 -16291107.94448 20534549.6914 20534555.0974
+ 974.2264 759.1374
+ 21673885.3174 -18870473.13449 -14689536.45548 21673885.6794 21673887.5784
+ 1984.6634 1546.4934
+ 25027062.6324 1341034.24248 1046166.37544 25027065.1384 25027070.3394
+ -1146.0054 -893.0024
+ 23084665.9024 -9394316.49749 -7077701.65546 23084665.2004 23084669.6714
+ 2569.0664 2001.8644
+ 23500666.2614 -5920036.31049 -4304283.45446 23500666.5404 23500669.9624
+ -3344.8614 -2606.3864
+ 24728027.3684 -3182047.33049 -2429233.47645 24728027.0874 24728031.1754
+ -2961.4754 -2307.6494
+ 20809430.0964 -21288893.56349 -16335597.92548 20809429.8004 20809433.8034
+ -2206.2904 -1719.1854
+ 05 1 20 3 47 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20461394.2304 -22039044.91949 -17152360.51648 20461394.2154 20461399.1694
+ 396.4554 308.9254
+ 20471487.7824 -26260578.63549 -20444591.86148 20471487.5274 20471491.1484
+ 556.7744 433.8494
+ 20529046.3854 -20961928.65249 -16313645.21048 20529045.8754 20529051.3234
+ 953.9154 743.3084
+ 21662570.7274 -18929936.71949 -14735871.72748 21662570.2414 21662572.2844
+ 1979.5974 1542.5454
+ 25033646.0954 1375609.08448 1073107.81144 25033644.2404 25033651.8974
+ -1158.9184 -903.0464
+ 23070019.9634 -9471279.13249 -7137672.51646 23070019.0894 23070023.0924
+ 2561.7114 1996.1314
+ 23519761.5634 -5819682.02749 -4226085.31846 23519762.6614 23519768.1724
+ -3345.4104 -2606.8134
+ 24744930.1184 -3093223.91449 -2360020.44345 24744929.8404 24744933.8594
+ -2960.0114 -2306.4974
+ 20822074.4664 -21222449.54349 -16283823.38248 20822073.8644 20822077.6104
+ -2223.2974 -1732.4434
+ 05 1 20 3 48 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20459195.5604 -22050599.03249 -17161363.72648 20459195.5084 20459200.6364
+ 373.8204 291.2904
+ 20468337.5424 -26277135.81549 -20457493.56148 20468336.9024 20468340.6504
+ 547.0304 426.2574
+ 20523658.7364 -20990242.20049 -16335707.71248 20523658.1724 20523663.1714
+ 933.6004 727.4804
+ 21651283.1664 -18989247.99549 -14782088.30748 21651283.5884 21651285.9614
+ 1974.4854 1538.5664
+ 25040298.2584 1410569.40248 1100349.72845 25040299.4784 25040302.3874
+ -1171.8014 -913.0914
+ 23055416.0154 -9548020.25549 -7197470.79546 23055414.7794 23055420.0144
+ 2554.2764 1990.3524
+ 23538863.2014 -5719312.64749 -4147875.37846 23538862.3924 23538867.6064
+ -3345.9134 -2607.2044
+ 24761824.1264 -3004443.41449 -2290840.82945 24761823.2594 24761828.7204
+ -2958.5844 -2305.3944
+ 20834814.9854 -21155496.76649 -16231652.39848 20834814.3664 20834818.3564
+ -2240.2204 -1745.6264
+ 05 1 20 3 48 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20457126.2994 -22061473.29649 -17169837.18448 20457126.3684 20457130.9744
+ 351.1424 273.6134
+ 20465242.2694 -26293399.81049 -20470166.80348 20465242.0874 20465245.7654
+ 537.2214 418.6104
+ 20518387.1474 -21017944.98049 -16357294.29848 20518386.7064 20518391.6934
+ 913.2004 711.5834
+ 21640026.4594 -19048405.90249 -14828185.39248 21640026.3094 21640028.5724
+ 1969.3484 1534.5534
+ 25047025.7794 1445913.55049 1127890.62645 25047023.6354 25047029.8844
+ -1184.5524 -923.0304
+ 23040854.3804 -9624539.11049 -7257095.88646 23040854.2854 23040858.4474
+ 2546.9344 1984.6204
+ 23557964.7404 -5618929.80149 -4069654.98746 23557965.1504 23557968.8654
+ -3346.2944 -2607.5104
+ 24778711.7834 -2915706.70049 -2221695.35945 24778710.8864 24778713.8774
+ -2957.1334 -2304.2534
+ 20847651.8794 -21088037.09149 -16179086.43048 20847651.5314 20847655.3254
+ -2257.0924 -1758.7734
+ 05 1 20 3 49 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20455187.6724 -22071667.45449 -17177780.68548 20455186.8594 20455191.3294
+ 328.4804 255.9624
+ 20462203.4504 -26309369.40749 -20482610.64648 20462203.0114 20462206.7264
+ 527.3924 410.9564
+ 20513232.3984 -21045035.59149 -16378403.87748 20513231.6264 20513236.4944
+ 892.8024 695.6884
+ 21628798.2794 -19107409.27949 -14874162.03848 21628797.9194 21628800.5884
+ 1964.1874 1530.5364
+ 25053823.0024 1481639.05849 1155728.68445 25053823.4524 25053826.7904
+ -1197.1784 -932.8694
+ 23026337.1554 -9700835.62449 -7316547.70046 23026336.1594 23026340.2244
+ 2539.4844 1978.8204
+ 23577069.0554 -5518534.91149 -3991425.21445 23577068.1734 23577074.3604
+ -3346.7234 -2607.8444
+ 24795585.4884 -2827014.45349 -2152584.55245 24795587.0754 24795591.7664
+ -2955.6124 -2303.0654
+ 20860584.3104 -21020072.63949 -16126127.13148 20860584.4354 20860588.4764
+ -2273.8774 -1771.8524
+ 05 1 20 3 49 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20453375.8964 -22081181.09149 -17185193.90148 20453376.0304 20453380.6594
+ 305.7724 238.2604
+ 20459220.8304 -26325042.94949 -20494823.79848 20459220.5274 20459224.3224
+ 517.4944 403.2404
+ 20508193.2644 -21071512.65349 -16399035.35048 20508192.8614 20508198.2024
+ 872.3074 679.7154
+ 21617600.1384 -19166256.97049 -14920017.38948 21617599.6794 21617602.0534
+ 1958.9644 1526.4564
+ 25060695.2104 1517744.13549 1183862.46945 25060694.1484 25060699.2614
+ -1209.7774 -942.6804
+ 23011860.9084 -9776909.31949 -7375825.89046 23011861.0984 23011863.9484
+ 2532.1064 1973.0654
+ 23596173.8964 -5418129.46249 -3913187.17145 23596174.6574 23596180.0594
+ -3347.0054 -2608.0534
+ 24812457.4534 -2738367.64749 -2083509.12445 24812456.9894 24812461.6064
+ -2954.0984 -2301.8904
+ 20873614.6614 -20951605.21649 -16072775.91448 20873613.6724 20873617.3934
+ -2290.6194 -1784.8994
+ 05 1 20 3 50 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20451695.7594 -22090013.84349 -17192076.57748 20451695.4424 20451699.8914
+ 283.0814 220.5834
+ 20456294.8554 -26340419.72949 -20506805.70448 20456294.3634 20456298.1854
+ 507.6134 395.5394
+ 20503273.1614 -21097374.55749 -16419187.47748 20503271.9014 20503276.6844
+ 851.7974 663.7404
+ 21606431.2974 -19224947.94249 -14965750.61648 21606431.3824 21606433.6904
+ 1953.7514 1522.4024
+ 25067635.5124 1554226.50049 1212290.27245 25067635.5614 25067640.2094
+ -1222.3534 -952.4754
+ 22997428.9174 -9852759.54949 -7434929.96146 22997426.7864 22997430.2784
+ 2524.5954 1967.2104
+ 23615283.2494 -5317715.02149 -3834942.18645 23615284.3984 23615287.9954
+ -3347.2944 -2608.2804
+ 24829317.2284 -2649766.87349 -2014469.59245 24829317.8604 24829321.4954
+ -2952.5344 -2300.6764
+ 20886738.8654 -20882637.00649 -16019034.47048 20886738.3174 20886741.6644
+ -2307.2674 -1797.8654
+ 05 1 20 3 50 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20450144.6084 -22098165.61349 -17198428.60148 20450144.0664 20450148.9584
+ 260.3874 202.8994
+ 20453425.5434 -26355498.47049 -20518555.36948 20453425.0504 20453428.6954
+ 497.6494 387.7774
+ 20498468.6584 -21122620.07149 -16438859.31148 20498468.0174 20498472.8164
+ 831.2134 647.6954
+ 21595293.1214 -19283481.05349 -15011360.83348 21595292.7394 21595294.9714
+ 1948.4754 1518.2864
+ 25074650.2854 1591084.04549 1241010.43745 25074648.7174 25074654.6194
+ -1234.8904 -962.2564
+ 22983034.8454 -9928386.24349 -7493859.82346 22983035.2514 22983039.5974
+ 2517.1384 1961.3944
+ 23634392.9054 -5217292.90649 -3756691.16545 23634393.5844 23634398.9584
+ -3347.4564 -2608.4114
+ 24846168.6674 -2561212.90149 -1945466.54145 24846168.6574 24846172.3864
+ -2951.0174 -2299.4974
+ 20899957.5694 -20813170.04349 -15964904.38048 20899956.9274 20899960.9584
+ -2323.8684 -1810.8064
+ 05 1 20 3 51 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20448723.1404 -22105636.24049 -17204249.86748 20448722.5984 20448727.3734
+ 237.6644 185.1954
+ 20450613.2584 -26370278.23849 -20530072.07148 20450612.7814 20450616.1384
+ 487.6764 380.0094
+ 20493781.4504 -21147248.02849 -16458049.92948 20493780.8044 20493786.3034
+ 810.6204 631.6544
+ 21584184.4674 -19341855.25349 -15056847.21748 21584184.5604 21584186.9084
+ 1943.1474 1514.1404
+ 25081734.5884 1628314.94049 1270021.43345 25081734.7624 25081738.3834
+ -1247.2404 -971.8724
+ 22968687.8174 -10003788.92049 -7552615.14546 22968687.0664 22968690.8864
+ 2509.6944 1955.6024
+ 23653506.0784 -5116864.34249 -3678435.17145 23653504.8934 23653508.3614
+ -3347.6794 -2608.5724
+ 24863008.5734 -2472706.52049 -1876500.53045 24863009.6294 24863015.4124
+ -2949.3404 -2298.1824
+ 20913270.5344 -20743206.26049 -15910387.15548 20913270.7204 20913274.5434
+ -2340.3754 -1823.6684
+ 05 1 20 3 51 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20447430.9854 -22112425.35649 -17209540.09448 20447430.6694 20447435.3024
+ 214.9374 167.4864
+ 20447857.2074 -26384758.09149 -20541355.08348 20447857.2464 20447860.8664
+ 477.6524 372.1954
+ 20489212.7554 -21171257.20249 -16476758.37348 20489211.8764 20489217.6514
+ 789.9684 615.5614
+ 21573106.9144 -19400069.28649 -15102208.79448 21573106.7334 21573109.0964
+ 1937.7794 1509.9564
+ 25088890.9264 1665916.69749 1299321.48645 25088889.9304 25088894.0634
+ -1259.6724 -981.5654
+ 22954380.4244 -10078967.44149 -7611195.80846 22954380.0834 22954384.0344
+ 2502.1964 1949.7584
+ 23672615.6794 -5016431.14549 -3600175.54745 23672615.8084 23672620.7624
+ -3347.8374 -2608.7114
+ 24879842.9974 -2384248.67449 -1807572.38545 24879844.0484 24879847.8514
+ -2947.8034 -2296.9894
+ 20926679.5124 -20672747.97649 -15855484.60947 20926678.8984 20926682.2774
+ -2356.8354 -1836.4954
+ 05 1 20 3 52 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20446268.2754 -22118532.91249 -17214299.22448 20446268.2064 20446273.1434
+ 192.2334 149.7914
+ 20445159.6754 -26398937.06249 -20552403.62948 20445158.8724 20445162.5514
+ 467.6024 364.3704
+ 20484761.7234 -21194646.06249 -16494983.45748 20484761.4664 20484766.6334
+ 769.2814 599.4404
+ 21562059.5404 -19458122.02249 -15147444.68848 21562059.6454 21562061.9674
+ 1932.3844 1505.7584
+ 25096106.0374 1703887.25158 1328909.00154 25096111.5964 25096117.7174
+ -1272.0514 -991.2214
+ 22940116.1594 -10153921.10149 -7669601.25946 22940116.7494 22940120.8634
+ 2494.6994 1943.9184
+ 23691726.2074 -4915994.49049 -3521913.22445 23691726.8104 23691733.2504
+ -3347.8884 -2608.7454
+ 24896667.9184 -2295839.81849 -1738682.40845 24896667.9774 24896670.4154
+ -2946.1154 -2295.6764
+ 20940180.0604 -20601797.22049 -15800198.31347 20940179.6144 20940183.4864
+ -2373.2114 -1849.2534
+ 05 1 20 3 52 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20445236.3854 -22123958.78549 -17218527.18448 20445235.9434 20445240.7134
+ 169.5134 132.0904
+ 20442518.4494 -26412813.69249 -20563216.58848 20442518.4214 20442522.0244
+ 457.5084 356.5024
+ 20480429.2824 -21217413.52649 -16512724.34248 20480428.4434 20480433.9604
+ 748.5424 583.2824
+ 21551043.5554 -19516012.21849 -15192553.93648 21551043.4314 21551045.8544
+ 1926.9654 1501.5334
+ 25103408.1324 1742224.50048 1358782.24044 25103406.5294 25103416.8884
+ -1284.0454 -1000.5634
+ 22925897.7884 -10228649.85449 -7727831.45546 22925897.0904 22925900.6854
+ 2487.2214 1938.0934
+ 23710843.2584 -4815555.83649 -3443649.32445 23710844.0884 23710847.0064
+ -3348.0024 -2608.8324
+ 24913480.9794 -2207480.72749 -1669831.22645 24913481.3644 24913484.0934
+ -2944.4154 -2294.3514
+ 20953774.8434 -20530355.90249 -15744529.76847 20953774.6234 20953778.5764
+ -2389.5184 -1861.9584
+ 05 1 20 3 53 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20444332.6864 -22128703.03249 -17222223.99948 20444332.9274 20444337.7534
+ 146.7814 114.3774
+ 20439936.3004 -26426386.81149 -20573793.04448 20439935.4664 20439939.0744
+ 447.3724 348.6034
+ 20476215.4034 -21239558.44049 -16529980.11548 20476214.5314 20476220.1214
+ 727.7744 567.0964
+ 21540058.6864 -19573738.87649 -15237535.74148 21540058.8854 21540060.6484
+ 1921.4744 1497.2564
+ 25110775.3754 1780926.15049 1388939.39044 25110775.4164 25110781.5304
+ -1296.1594 -1009.9994
+ 22911720.6934 -10303153.30049 -7785886.07446 22911719.1754 22911724.5444
+ 2479.6804 1932.2164
+ 23729954.8954 -4715116.51949 -3365384.92345 23729954.7624 23729958.9844
+ -3347.9954 -2608.8264
+ 24930285.2794 -2119172.39548 -1601019.53745 24930284.5624 24930290.4634
+ -2942.7824 -2293.0824
+ 20967463.5634 -20458426.36949 -15688480.78947 20967462.6914 20967466.2234
+ -2405.7724 -1874.6274
+ 05 1 20 3 53 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20443560.8604 -22132765.32549 -17225389.42448 20443560.1114 20443564.8824
+ 124.0504 96.6624
+ 20437411.0334 -26439655.44549 -20584132.24048 20437410.5564 20437414.1354
+ 437.2104 340.6824
+ 20472119.8304 -21261079.65349 -16546749.89348 20472119.2914 20472124.8774
+ 706.9544 550.8734
+ 21529104.9494 -19631300.83049 -15282389.20748 21529105.0084 21529107.2084
+ 1915.9824 1492.9754
+ 25118210.1934 1819990.06949 1419378.79045 25118207.3494 25118214.6974
+ -1308.0924 -1019.2854
+ 22897585.1544 -10377431.12949 -7843764.89746 22897585.3564 22897589.1944
+ 2472.1754 1926.3534
+ 23749067.2514 -4614677.92349 -3287121.05445 23749067.4524 23749072.2194
+ -3347.9294 -2608.7714
+ 24947080.5884 -2030915.28249 -1532247.74545 24947079.0464 24947085.3944
+ -2940.9734 -2291.6674
+ 20981243.3074 -20386010.62649 -15632052.95147 20981242.5094 20981246.6064
+ -2421.9284 -1887.2114
+ 05 1 20 3 54 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20442917.2504 -22136145.57849 -17228023.39148 20442916.8394 20442921.4324
+ 101.3094 78.9444
+ 20434943.7594 -26452618.52749 -20594233.34848 20434943.6614 20434947.5134
+ 426.9954 332.7264
+ 20468143.6394 -21281975.73549 -16563032.55448 20468143.0384 20468148.5864
+ 686.0884 534.6154
+ 21518182.3524 -19688696.80149 -15327113.33648 21518182.7194 21518185.0124
+ 1910.4244 1488.6454
+ 25125711.2704 1859414.18449 1450098.83745 25125712.9314 25125714.1214
+ -1320.1354 -1028.6844
+ 22883494.6934 -10451482.84149 -7901467.53846 22883493.2514 22883497.5564
+ 2464.6314 1920.4934
+ 23768180.8174 -4514241.40449 -3208858.82145 23768179.8734 23768183.4004
+ -3347.8534 -2608.7114
+ 24963866.8574 -1942710.13449 -1463516.49845 24963865.4324 24963867.1154
+ -2939.2934 -2290.3564
+ 20995115.3654 -20313110.64649 -15575247.78447 20995115.4094 20995119.3414
+ -2438.0484 -1899.7774
+ 05 1 20 3 54 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20442403.7094 -22138843.93949 -17230126.01248 20442403.4104 20442408.1934
+ 78.5774 61.2334
+ 20432535.4584 -26465274.79349 -20604095.37548 20432535.1454 20432539.1684
+ 416.7584 324.7494
+ 20464286.1874 -21302245.58449 -16578827.24448 20464285.5764 20464291.1454
+ 665.2054 518.3444
+ 21507292.2324 -19745925.79149 -15371707.35348 21507292.4594 21507294.8444
+ 1904.8324 1484.2874
+ 25133280.3694 1899196.25349 1481097.79845 25133280.7934 25133286.0534
+ -1332.0054 -1037.9344
+ 22869445.6694 -10525308.10449 -7958993.70946 22869444.7644 22869448.4504
+ 2457.0594 1914.5824
+ 23787291.2764 -4413808.43849 -3130599.35245 23787290.8854 23787296.7774
+ -3347.6874 -2608.5824
+ 24980640.5804 -1854557.70149 -1394826.31345 24980640.4664 24980644.6874
+ -2937.4104 -2288.8904
+ 21009079.7364 -20239729.13449 -15518067.40547 21009079.2244 21009083.0474
+ -2454.0524 -1912.2484
+ 05 1 20 3 55 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20442019.9834 -22140860.52849 -17231697.38248 20442019.7754 20442024.2584
+ 55.8424 43.5114
+ 20430185.4324 -26477623.28349 -20613717.56848 20430185.1564 20430189.0924
+ 406.4724 316.7274
+ 20460548.8114 -21321888.21549 -16594133.19348 20460547.9834 20460553.1474
+ 644.2654 502.0194
+ 21496433.8544 -19802986.56249 -15416170.28348 21496433.8594 21496436.4414
+ 1899.1844 1479.8764
+ 25140920.2424 1939334.07349 1512374.02845 25140919.5624 25140923.1654
+ -1343.8704 -1047.1734
+ 22855439.2074 -10598906.76149 -8016343.30246 22855438.7254 22855442.7854
+ 2449.5044 1908.6994
+ 23806402.1184 -4313380.38649 -3052343.72045 23806403.3914 23806406.3344
+ -3347.4694 -2608.4314
+ 24997405.1674 -1766458.71149 -1326177.83445 24997405.3944 24997410.2894
+ -2935.6944 -2287.5474
+ 21023135.0224 -20165868.07449 -15460513.33747 21023134.4644 21023138.4704
+ -2470.0164 -1924.6884
+ 05 1 20 3 55 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20441765.5954 -22142195.47649 -17232737.60548 20441765.4184 20441770.0604
+ 33.1464 25.8294
+ 20427894.5554 -26489662.64749 -20623098.89548 20427894.2784 20427898.1154
+ 396.1644 308.6994
+ 20456930.4634 -21340902.58549 -16608949.59048 20456929.9384 20456934.9034
+ 623.3214 485.7064
+ 21485608.5004 -19859877.89049 -15460501.18248 21485607.7934 21485610.1964
+ 1893.5464 1475.4884
+ 25148624.8174 1979825.40249 1543925.74845 25148624.4794 25148629.8534
+ -1355.6074 -1056.3254
+ 22841477.6884 -10672278.32449 -8073515.93246 22841477.1854 22841479.8974
+ 2441.9154 1902.7884
+ 23825512.2414 -4212958.33049 -2974092.79446 23825513.2254 23825517.6104
+ -3347.3034 -2608.2934
+ 25014159.5014 -1678413.84149 -1257571.47745 25014159.1124 25014163.1484
+ -2933.9174 -2286.1664
+ 21037281.2244 -20091529.67449 -15402587.32447 21037280.6524 21037284.7264
+ -2485.8674 -1937.0374
+ 05 1 20 3 56 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20441641.1314 -22142848.72349 -17233246.62748 20441641.1554 20441646.2214
+ 10.4084 8.1114
+ 20425663.2534 -26501392.24749 -20632238.85248 20425662.5484 20425665.9794
+ 385.8124 300.6354
+ 20453432.4844 -21359287.56449 -16623275.55048 20453431.4114 20453436.6444
+ 602.3144 469.3364
+ 21474814.5944 -19916598.61549 -15504699.15248 21474814.3734 21474816.5674
+ 1887.8194 1471.0284
+ 25156394.8474 2020668.16848 1575751.31345 25156393.5244 25156400.7864
+ -1367.2024 -1065.3584
+ 22827557.4194 -10745422.63849 -8130511.48846 22827557.2794 22827562.2364
+ 2434.3004 1896.8484
+ 23844621.7364 -4112543.78849 -2895847.66346 23844620.1954 23844625.8074
+ -3347.0944 -2608.1334
+ 25030902.2704 -1590423.82549 -1189007.85345 25030902.3584 25030908.7434
+ -2932.0254 -2284.6934
+ 21051517.7614 -20016716.10249 -15344291.04947 21051517.1354 21051521.1564
+ -2501.6794 -1949.3564
+ 05 1 20 3 56 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20441647.2164 -22142820.32949 -17233224.50648 20441646.7254 20441651.2594
+ -12.2974 -9.5834
+ 20423489.7664 -26512810.64949 -20641136.30148 20423489.3194 20423493.1244
+ 375.4134 292.5284
+ 20450053.0184 -21377041.99849 -16637110.17148 20450052.5134 20450057.8824
+ 581.2904 452.9514
+ 21464053.5274 -19973147.45449 -15548763.18148 21464053.6244 21464055.5574
+ 1882.0864 1466.5584
+ 25164237.2994 2061859.89949 1607848.81745 25164235.6024 25164238.9444
+ -1378.9184 -1074.4834
+ 22813681.9284 -10818339.22449 -8187329.59346 22813681.5674 22813686.8054
+ 2426.7174 1890.9664
+ 23863726.8814 -4012137.96749 -2817609.39146 23863728.0044 23863731.3864
+ -3346.7074 -2607.8214
+ 25047637.0814 -1502489.11949 -1120487.34545 25047636.8684 25047640.0944
+ -2930.2034 -2283.2804
+ 21065844.5944 -19941429.80649 -15285626.41647 21065843.6924 21065847.0494
+ -2517.3954 -1961.6074
+ 05 1 20 3 57 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20441782.0144 -22142110.42549 -17232671.32948 20441781.9204 20441786.2864
+ -35.0134 -27.2834
+ 20421376.3744 -26523916.95049 -20649790.56848 20421376.1874 20421379.8144
+ 365.0184 284.4324
+ 20446794.9744 -21394164.91449 -16650452.70248 20446794.1674 20446799.3444
+ 560.2124 436.5324
+ 21453324.7354 -20029523.35849 -15592692.45648 21453325.1994 21453327.4124
+ 1876.3024 1462.0514
+ 25172139.8304 2103398.47949 1640216.49845 25172139.4934 25172145.6804
+ -1390.3704 -1083.3874
+ 22799850.8604 -10891027.82049 -8243970.07146 22799850.2134 22799854.0214
+ 2419.1504 1885.0514
+ 23882831.7794 -3911742.29449 -2739379.00646 23882832.0524 23882835.6224
+ -3346.3634 -2607.5554
+ 25064360.0124 -1414610.56749 -1052010.59945 25064360.6444 25064363.3214
+ -2928.3134 -2281.7984
+ 21080260.2654 -19865672.90249 -15226595.06947 21080259.6824 21080264.1364
+ -2533.0474 -1973.8034
+ 05 1 20 3 57 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20442046.5774 -22140719.28649 -17231587.32748 20442046.2624 20442050.8104
+ -57.7094 -44.9704
+ 20419322.5584 -26534710.27049 -20658200.95048 20419322.2234 20419325.9204
+ 354.5574 276.2774
+ 20443656.3334 -21410655.23449 -16663302.30148 20443656.0064 20443661.3254
+ 539.1294 420.0994
+ 21442630.3924 -20085725.18949 -15636486.07848 21442630.3574 21442632.7934
+ 1870.4794 1457.5094
+ 25180111.9584 2145281.69849 1672852.75745 25180110.9034 25180113.0054
+ -1401.8054 -1092.3124
+ 22786062.2484 -10963488.42949 -8300432.86946 22786061.2704 22786065.7214
+ 2411.5424 1879.1234
+ 23901935.3434 -3811357.90449 -2661157.38746 23901934.8834 23901937.5514
+ -3345.9644 -2607.2444
+ 25081071.2734 -1326788.77949 -983578.01145 25081071.9164 25081074.7184
+ -2926.3964 -2280.3094
+ 21094765.3384 -19789447.62949 -15167198.76547 21094764.6874 21094768.7914
+ -2548.6114 -1985.9304
+ 05 1 20 3 58 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20442441.2344 -22138647.12949 -17229972.66148 20442440.8404 20442445.4464
+ -80.4194 -62.6634
+ 20417328.2704 -26545189.17249 -20666366.32748 20417327.9814 20417332.0804
+ 344.0564 268.0954
+ 20440640.1364 -21426512.07049 -16675658.28248 20440638.9504 20440643.9074
+ 517.9954 403.6334
+ 21431969.4874 -20141751.47149 -15680142.93048 21431969.4314 21431971.4944
+ 1864.6124 1452.9444
+ 25188147.3264 2187506.94349 1705755.53645 25188146.3144 25188149.1174
+ -1413.2084 -1101.1964
+ 22772317.0574 -11035720.55149 -8356717.62946 22772316.6734 22772321.5024
+ 2403.9124 1873.1894
+ 23921034.7854 -3710986.20749 -2582945.69046 23921035.2394 23921038.4374
+ -3345.4994 -2606.8764
+ 25097771.7084 -1239024.31449 -915190.14345 25097770.6004 25097776.2464
+ -2924.4164 -2278.7694
+ 21109359.5884 -19712756.26049 -15107439.27647 21109359.0804 21109362.5654
+ -2564.1234 -1998.0204
+ 05 1 20 3 58 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20442965.1724 -22135894.26349 -17227827.57048 20442964.8954 20442969.5114
+ -103.0874 -80.3244
+ 20415394.7174 -26555352.65649 -20674285.92848 20415394.1914 20415397.7734
+ 333.5284 259.8934
+ 20437742.3154 -21441734.56649 -16687519.96248 20437741.9064 20437747.5214
+ 496.8324 387.1414
+ 21421341.8654 -20197601.05849 -15723662.08348 21421341.3994 21421343.7224
+ 1858.7074 1448.3424
+ 25196244.0694 2230071.84649 1738922.98045 25196244.1044 25196249.3934
+ -1424.3984 -1109.9174
+ 22758615.1104 -11107723.92749 -8412824.16346 22758614.4284 22758618.7284
+ 2396.3094 1867.2474
+ 23940131.2014 -3610628.44449 -2504744.82146 23940131.3624 23940135.6914
+ -3344.9894 -2606.4894
+ 25114461.3284 -1151317.94349 -846847.47745 25114461.5624 25114465.3034
+ -2922.5254 -2277.2994
+ 21124041.5214 -19635601.02049 -15047318.32347 21124040.8964 21124044.3604
+ -2579.5424 -2010.0304
+ 05 1 20 3 59 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20443618.5114 -22132460.90049 -17225152.21448 20443618.0574 20443622.7214
+ -125.7664 -97.9974
+ 20413520.6004 -26565199.44449 -20681958.74648 20413520.0584 20413524.0944
+ 322.9474 251.6494
+ 20434966.6044 -21456321.60649 -16698886.48248 20434965.9504 20434971.4784
+ 475.6214 370.6134
+ 21410747.2004 -20253272.77349 -15767042.63748 21410747.2884 21410750.0544
+ 1852.7534 1443.6994
+ 25204408.9314 2272974.09149 1772353.31245 25204408.7974 25204412.9194
+ -1435.6014 -1118.6484
+ 22744956.3244 -11179498.39149 -8468752.30746 22744956.1814 22744959.4764
+ 2388.6614 1861.3124
+ 23959226.6344 -3510285.74349 -2426555.75046 23959226.9144 23959230.9434
+ -3344.5204 -2606.1294
+ 25131142.5504 -1063670.11149 -778550.44045 25131141.9724 25131144.9594
+ -2920.5764 -2275.7794
+ 21138811.3664 -19557984.38649 -14986837.82947 21138811.0094 21138814.7324
+ -2594.8854 -2021.9914
+ 05 1 20 3 59 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20444400.6724 -22128347.28949 -17221946.80848 20444400.5504 20444405.5304
+ -148.4534 -115.6734
+ 20411706.8104 -26574728.70349 -20689384.13848 20411706.6654 20411710.8424
+ 312.3424 243.3854
+ 20432312.1854 -21470272.38649 -16709757.22048 20432311.5394 20432316.8654
+ 454.4104 354.0904
+ 21400188.3594 -20308765.43449 -15810283.67948 21400187.6524 21400190.2944
+ 1846.7534 1439.0314
+ 25212636.0624 2316211.50249 1806044.77845 25212634.2694 25212639.7024
+ -1446.8224 -1127.3864
+ 22731341.5204 -11251043.55549 -8524501.78146 22731341.4444 22731345.0284
+ 2381.0664 1855.3764
+ 23978319.3784 -3409959.55649 -2348379.49346 23978318.3514 23978321.1824
+ -3343.9424 -2605.6684
+ 25147809.1674 -976081.59149 -710299.70445 25147810.6224 25147813.6304
+ -2918.5564 -2274.1994
+ 21153668.3794 -19479908.71849 -14925999.65247 21153668.0404 21153672.1624
+ -2610.1544 -2033.8834
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 4 0 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20445313.0784 -22123553.79949 -17218211.62248 20445312.8974 20445317.7084
+ -171.0844 -133.3144
+ 20409954.5794 -26583939.32649 -20696561.24748 20409954.2114 20409957.9454
+ 301.6994 235.0914
+ 20429778.6854 -21483586.17649 -16720131.60448 20429778.0414 20429783.4224
+ 433.1564 337.5274
+ 21389661.8564 -20364077.68049 -15853384.13748 21389662.0644 21389664.6044
+ 1840.7154 1434.3254
+ 25220923.4104 2359781.70048 1839995.56444 25220926.0404 25220933.1794
+ -1457.7744 -1135.9354
+ 22717771.4074 -11322359.11349 -8580072.34046 22717770.8404 22717774.4024
+ 2373.3054 1849.3254
+ 23997406.3684 -3309650.89549 -2270216.91146 23997406.6464 23997410.1384
+ -3343.3044 -2605.1844
+ 25164466.4284 -888552.89949 -642095.57645 25164464.5554 25164469.0914
+ -2916.6134 -2272.6824
+ 21168613.7724 -19401376.45649 -14864805.69247 21168612.8834 21168616.6334
+ -2625.3154 -2045.7004
+ 05 1 20 4 0 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20446354.2564 -22118080.92749 -17213947.04448 20446354.2904 20446359.0964
+ -193.7484 -150.9794
+ 20408262.8004 -26592829.92049 -20703488.98548 20408262.1704 20408265.8874
+ 291.0174 226.7654
+ 20427366.3374 -21496262.03849 -16730008.89848 20427365.7144 20427371.0704
+ 411.8784 320.9424
+ 21379171.1674 -20419208.39649 -15896343.13548 21379170.9394 21379173.4484
+ 1834.6484 1429.5954
+ 25229283.2004 2403682.38849 1874203.91945 25229281.1654 25229287.0794
+ -1468.8554 -1144.5584
+ 22704244.3874 -11393445.17849 -8635464.06346 22704243.6174 22704247.8754
+ 2365.7094 1843.4114
+ 24016488.7354 -3209361.23649 -2192069.11345 24016489.0644 24016495.4554
+ -3342.6414 -2604.6424
+ 25181108.9744 -801084.68549 -573938.43445 25181109.4954 25181112.9494
+ -2914.5034 -2271.0374
+ 21183644.5324 -19322389.95749 -14803257.76747 21183643.3294 21183647.1494
+ -2640.4174 -2057.4714
+ 05 1 20 4 1 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20447526.0044 -22111929.07849 -17209153.39948 20447525.2204 20447529.7744
+ -216.3744 -168.6014
+ 20406631.8254 -26601399.66649 -20710166.71548 20406631.4554 20406635.2454
+ 280.3044 218.4204
+ 20425076.0774 -21508299.34349 -16739388.62048 20425075.2854 20425080.5884
+ 390.5924 304.3554
+ 21368714.8054 -20474156.19649 -15939159.60648 21368714.9764 21368717.1454
+ 1828.5314 1424.8334
+ 25237697.1954 2447911.20249 1908667.91545 25237696.8414 25237702.4464
+ -1479.8014 -1153.0984
+ 22690759.7154 -11464301.19949 -8690676.55746 22690759.6154 22690763.5074
+ 2357.9694 1837.3904
+ 24035571.0814 -3109091.52049 -2113936.88445 24035571.2824 24035576.5654
+ -3341.9814 -2604.1444
+ 25197744.4714 -713677.57849 -505828.96545 25197744.0554 25197748.4724
+ -2912.5524 -2269.5114
+ 21198760.1944 -19242951.33049 -14741357.56147 21198760.1294 21198763.9884
+ -2655.4694 -2069.1874
+ 05 1 20 4 1 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20448824.9814 -22105098.68749 -17203831.01348 20448824.8724 20448829.8344
+ -238.9754 -186.2134
+ 20405062.8834 -26609647.25949 -20716593.41848 20405062.2474 20405065.8434
+ 269.5324 210.0284
+ 20422906.7304 -21519697.27249 -16748270.13148 20422906.3054 20422911.3474
+ 369.2574 287.7364
+ 21358294.1524 -20528919.86349 -15981832.59148 21358293.8264 21358295.9034
+ 1822.3694 1420.0284
+ 25246176.5084 2492465.77949 1943385.82844 25246176.0164 25246180.6374
+ -1490.5794 -1161.4904
+ 22677320.1394 -11534926.89849 -8745709.57446 22677319.7394 22677324.0564
+ 2350.3464 1831.4464
+ 24054645.5364 -3008843.18749 -2035821.28645 24054647.0344 24054652.8374
+ -3341.2904 -2603.5914
+ 25214364.3334 -626332.22049 -437767.66745 25214364.1844 25214367.6424
+ -2910.4064 -2267.8534
+ 21213962.5774 -19163062.93949 -14679106.86447 21213962.2554 21213966.1214
+ -2670.4214 -2080.8494
+ 05 1 20 4 2 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20450253.6324 -22097590.14149 -17197980.20348 20450253.4934 20450258.1604
+ -261.5874 -203.8384
+ 20403554.5134 -26617571.97649 -20722768.51248 20403554.0654 20403557.6974
+ 258.7564 201.6254
+ 20420859.8264 -21530455.10049 -16756652.84948 20420859.1994 20420864.0924
+ 347.9034 271.0864
+ 21347908.3664 -20583498.12349 -16024361.09548 21347907.8594 21347909.9944
+ 1816.1704 1415.1914
+ 25254717.5844 2537343.96549 1978355.80245 25254718.9554 25254720.4314
+ -1501.3024 -1169.8404
+ 22663925.0624 -11605322.14449 -8800563.00046 22663924.1374 22663928.9654
+ 2342.6694 1825.4624
+ 24073720.2774 -2908617.23049 -1957723.12745 24073720.2604 24073724.9934
+ -3340.5074 -2602.9974
+ 25230971.8114 -539049.12249 -369754.89945 25230971.1474 25230977.0834
+ -2908.3464 -2266.2494
+ 21229250.2854 -19082727.50849 -14616507.83047 21229249.2994 21229253.7064
+ -2685.2884 -2092.4364
+ 05 1 20 4 2 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20451811.4964 -22089403.91249 -17191601.32248 20451811.5924 20451816.1784
+ -284.1714 -221.4324
+ 20402108.1144 -26625172.46049 -20728690.96848 20402107.7374 20402111.6764
+ 247.9384 193.2014
+ 20418934.8254 -21540572.03249 -16764536.17448 20418934.0364 20418938.9414
+ 326.5384 254.4434
+ 21337557.3874 -20637889.83049 -16066744.23948 21337557.3544 21337559.3634
+ 1809.9134 1410.3234
+ 25263316.1324 2582543.16349 2013575.97245 25263318.0404 25263321.9354
+ -1511.9574 -1178.1494
+ 22650573.9234 -11675486.77649 -8855236.73446 22650573.6504 22650576.4924
+ 2334.9894 1819.4654
+ 24092786.8014 -2808414.93449 -1879643.45445 24092785.9104 24092792.9394
+ -3339.7664 -2602.4134
+ 25247571.1514 -451828.72649 -301790.96045 25247571.6084 25247575.2574
+ -2906.3034 -2264.6524
+ 21244622.1354 -19001947.46849 -14553562.34547 21244621.9744 21244625.2684
+ -2700.0644 -2103.9484
+ 05 1 20 4 3 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20453498.6234 -22080540.51349 -17184694.77648 20453498.5194 20453502.9634
+ -306.7204 -238.9984
+ 20400723.6684 -26632447.67649 -20734359.97348 20400723.3954 20400727.2574
+ 237.0904 184.7474
+ 20417131.2194 -21550047.36649 -16771919.55948 20417130.8934 20417136.1544
+ 305.1414 237.7764
+ 21327243.0444 -20692093.72649 -16108981.04348 21327242.8164 21327245.0514
+ 1803.6594 1405.4554
+ 25271980.9604 2628060.98949 2049044.39945 25271979.0194 25271982.4534
+ -1522.5084 -1186.3684
+ 22637265.2234 -11745420.43149 -8909730.51046 22637265.3084 22637269.5464
+ 2327.3074 1813.4944
+ 24111849.3444 -2708237.57549 -1801583.19345 24111849.9884 24111855.7904
+ -3338.8724 -2601.7144
+ 25264152.4624 -364671.64648 -233876.38045 25264154.7644 25264161.7424
+ -2904.1074 -2262.9474
+ 21260078.0364 -18920725.24449 -14490272.29747 21260077.2204 21260081.3124
+ -2714.7334 -2115.3684
+ 05 1 20 4 3 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20455314.1884 -22071000.53549 -17177261.02948 20455313.6614 20455318.2204
+ -329.2694 -256.5764
+ 20399401.4514 -26639396.61449 -20739774.73448 20399400.9974 20399404.8064
+ 226.1724 176.2384
+ 20415450.8624 -21558880.53149 -16778802.54348 20415450.0674 20415455.0664
+ 283.7194 221.0764
+ 21316964.8604 -20746108.42249 -16151070.42248 21316964.3074 21316966.2714
+ 1797.3044 1400.4954
+ 25280702.3354 2673895.07249 2084759.24245 25280700.6364 25280707.8774
+ -1533.0634 -1194.5974
+ 22624001.1404 -11815122.76149 -8964043.99946 22624000.8394 22624005.1494
+ 2319.5654 1807.4374
+ 24130909.3264 -2608086.06449 -1723543.10245 24130909.6814 24130913.1704
+ -3337.9704 -2601.0124
+ 25280731.2324 -277578.68449 -166011.71044 25280731.1484 25280732.9544
+ -2902.0104 -2261.3014
+ 21275617.2914 -18839063.38949 -14426639.68147 21275616.9214 21275620.8864
+ -2729.3694 -2126.7904
+ 05 1 20 4 4 0.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20457257.3814 -22060784.72249 -17169300.65448 20457257.4214 20457262.2174
+ -351.7854 -274.1204
+ 20398140.9444 -26646018.05549 -20744934.29648 20398140.7994 20398144.7624
+ 215.2464 167.7264
+ 20413891.9554 -21567070.76149 -16785184.54648 20413891.4364 20413896.4284
+ 262.2554 204.3524
+ 21306722.3044 -20799932.55449 -16193011.30348 21306721.9564 21306723.9794
+ 1790.9294 1395.5294
+ 25289483.6254 2720042.99949 2120718.65845 25289483.4994 25289483.4194
+ -1543.4204 -1202.6694
+ 22610781.7224 -11884593.87149 -9018177.31346 22610781.5744 22610785.9454
+ 2311.8514 1801.4514
+ 24149961.8004 -2507961.90849 -1645524.29445 24149962.5354 24149967.2714
+ -3337.0254 -2600.2774
+ 25297286.4254 -190550.04848 -98197.24744 25297286.0254 25297291.4934
+ -2899.9734 -2259.7234
+ 21291240.5514 -18756964.20649 -14362666.30747 21291239.7394 21291244.3024
+ -2743.8844 -2138.0834
+ 05 1 20 4 4 30.0000000 0 9G 9G18G15G22G 3G14G26G29G21
+ 20459330.6364 -22049893.38949 -17160813.89548 20459330.3944 20459334.7684
+ -374.2964 -291.6624
+ 20396943.5094 -26652311.42149 -20749838.21848 20396943.2814 20396947.0664
+ 204.3154 159.2064
+ 20412455.7674 -21574617.33149 -16791064.99348 20412455.3104 20412460.4604
+ 240.8164 187.6514
+ 21296516.6204 -20853565.10549 -16234802.89848 21296516.1324 21296517.9644
+ 1784.5334 1390.5424
+ 25298322.5294 2766502.43948 2156920.80545 25298322.9234 25298329.4284
+ -1553.7444 -1210.7034
+ 22597605.2354 -11953833.44249 -9072130.24346 22597604.8924 22597609.8674
+ 2304.1234 1795.4254
+ 24169012.3574 -2407865.97049 -1567527.49045 24169011.0074 24169015.0014
+ -3336.1074 -2599.5634
+ 25313836.9354 -103586.55649 -30433.42845 25313838.5334 25313843.9934
+ -2897.6144 -2257.8814
+ 21306945.8254 -18674429.92949 -14298353.89747 21306945.9634 21306949.7884
+ -2758.3704 -2149.3834
+ 05 1 20 4 5 0.0000000 0 8G 9G18G15G22G14G26G29G21
+ 20461531.3194 -22038327.40749 -17151801.44648 20461530.9394 20461535.6474
+ -396.7624 -309.1644
+ 20395808.8064 -26658275.22349 -20754485.34248 20395808.3854 20395812.1394
+ 193.2994 150.6264
+ 20411142.5504 -21581519.89249 -16796443.61448 20411141.8584 20411147.0334
+ 219.3334 170.9124
+ 21286346.9784 -20907004.51549 -16276443.99248 21286346.5934 21286348.8924
+ 1778.0784 1385.5174
+ 22584473.0714 -12022841.27349 -9125902.57246 22584473.1554 22584477.5814
+ 2296.3744 1789.3814
+ 24188052.6074 -2307799.41949 -1489553.59045 24188052.6354 24188056.6964
+ -3335.0494 -2598.7424
+ 25330375.1714 -16688.44449 37279.32945 25330376.5214 25330379.6744
+ -2895.5154 -2256.2404
+ 21322734.9784 -18591463.35049 -14233704.63847 21322734.1604 21322737.8834
+ -2772.7294 -2160.5644
+ 05 1 20 4 5 30.0000000 0 8G 9G18G15G22G14G26G29G21
+ 20463860.3944 -22026087.32349 -17142263.72148 20463860.2334 20463865.1864
+ -419.2104 -326.6544
+ 20394736.5814 -26663908.58749 -20758874.97348 20394736.2684 20394740.2454
+ 182.2824 142.0394
+ 20409951.7744 -21587777.69149 -16801319.82848 20409951.1164 20409956.3304
+ 197.8244 154.1504
+ 21276214.5544 -20960249.58649 -16317933.65848 21276214.2774 21276216.5094
+ 1771.5824 1380.4524
+ 22571386.3944 -12091617.17249 -9179494.20346 22571385.7774 22571389.9444
+ 2288.6694 1783.3814
+ 24207087.8774 -2207763.46449 -1411603.51245 24207087.9054 24207092.9834
+ -3333.9934 -2597.9124
+ 25346899.1554 70143.36049 104940.43145 25346899.0854 25346901.8804
+ -2893.3074 -2254.5274
+ 21338603.7844 -18508066.83349 -14168720.37447 21338603.3204 21338607.8784
+ -2787.0034 -2171.6904
+ 05 1 20 4 6 0.0000000 0 8G 9G18G15G22G14G26G29G21
+ 20466317.6754 -22013174.00849 -17132201.39648 20466317.4444 20466322.2194
+ -441.6624 -344.1574
+ 20393727.9594 -26669210.20649 -20763006.10948 20393727.7284 20393731.2634
+ 171.1934 133.3974
+ 20408883.7194 -21593390.20349 -16805693.21048 20408883.0044 20408888.0914
+ 176.3184 137.3864
+ 21266119.8004 -21013299.03849 -16359270.88748 21266119.4194 21266121.6714
+ 1765.0344 1375.3484
+ 22558343.3784 -12160160.96249 -9232904.94046 22558342.1914 22558347.0114
+ 2280.9074 1777.3284
+ 24226119.8214 -2107759.36249 -1333678.24345 24226119.0284 24226123.8654
+ -3332.9494 -2597.0994
+ 25363409.0384 156908.52849 172549.72845 25363409.4964 25363413.0374
+ -2891.0034 -2252.7234
+ 21354555.0794 -18424243.11149 -14103403.23147 21354554.7894 21354558.9834
+ -2801.2304 -2182.7734
+ 05 1 20 4 6 30.0000000 0 8G 9G18G15G22G14G26G29G21
+ 20468903.0024 -21999588.27249 -17121615.10948 20468903.0664 20468907.5254
+ -464.0734 -361.6214
+ 20392781.8444 -26674179.09949 -20766877.97148 20392781.6934 20392785.5984
+ 160.0674 124.7304
+ 20407938.2964 -21598357.04249 -16809563.48148 20407937.7814 20407943.0544
+ 154.7794 120.5974
+ 21256062.3204 -21066151.55849 -16400454.66248 21256061.9914 21256064.1114
+ 1758.4484 1370.2164
+ 22545342.5614 -12228472.48649 -9286134.69446 22545343.2594 22545347.2854
+ 2273.1694 1771.2924
+ 24245142.0304 -2007787.66649 -1255778.25045 24245141.2224 24245147.8634
+ -3331.8624 -2596.2504
+ 25379908.8804 243606.78749 240106.87545 25379909.1294 25379913.2094
+ -2888.7454 -2250.9664
+ 21370586.8454 -18339994.50849 -14037754.96147 21370586.9394 21370590.5674
+ -2815.3404 -2193.7744
+ 05 1 20 4 7 0.0000000 0 7G 9G18G15G22G14G26G21
+ 20471616.3214 -21985330.75449 -17110505.35048 20471616.0944 20471620.8784
+ -486.4404 -379.0434
+ 20391900.2594 -26678814.34049 -20770489.85148 20391899.9004 20391903.7214
+ 148.9434 116.0604
+ 20407116.2254 -21602677.78949 -16812930.30448 20407115.5524 20407120.8794
+ 133.2474 103.8274
+ 21246041.7714 -21118805.79049 -16441483.93348 21246041.9504 21246044.2404
+ 1751.8284 1365.0614
+ 22532389.7644 -12296551.40749 -9339183.20946 22532388.8944 22532391.6994
+ 2265.4234 1765.2744
+ 24264159.5534 -1907849.87349 -1177904.66745 24264159.7084 24264164.8744
+ -3330.7514 -2595.3884
+ 21386699.4324 -18255323.91949 -13971777.90347 21386698.9694 21386702.9684
+ -2829.3704 -2204.7034
+ 05 1 20 4 7 30.0000000 0 7G 9G18G15G22G14G26G21
+ 20474456.8144 -21970402.22049 -17098872.72948 20474456.7214 20474461.7114
+ -508.8004 -396.4694
+ 20391082.3264 -26683115.22049 -20773841.18748 20391081.4234 20391085.4384
+ 137.7594 107.3464
+ 20406416.9084 -21606351.85849 -16815793.22348 20406416.3004 20406421.7474
+ 111.6874 87.0314
+ 21236061.1594 -21171260.42649 -16482357.67248 21236060.4824 21236062.5164
+ 1745.1464 1359.8554
+ 22519477.8944 -12364397.73949 -9392050.47146 22519477.5594 22519481.3764
+ 2257.6614 1759.2084
+ 24283172.4014 -1807947.09149 -1100058.34845 24283172.2764 24283175.7654
+ -3329.5494 -2594.4534
+ 21402893.0684 -18170233.45349 -13905473.64847 21402891.5574 21402895.6154
+ -2843.3244 -2215.5764
+ 05 1 20 4 8 0.0000000 0 7G 9G18G15G22G14G26G21
+ 20477425.2304 -21954803.53249 -17086717.91148 20477425.1384 20477429.7754
+ -531.1214 -413.8624
+ 20390327.1714 -26687080.05049 -20776930.66448 20390326.8554 20390331.0004
+ 126.5474 98.6054
+ 20405840.9364 -21609378.88449 -16818151.94348 20405840.1584 20405845.7244
+ 90.0844 70.1954
+ 21226117.0004 -21223514.19349 -16523074.89348 21226116.8484 21226118.8534
+ 1738.4234 1354.6134
+ 22506609.6414 -12432011.32849 -9444736.37046 22506610.7014 22506614.7744
+ 2249.9074 1753.1704
+ 24302176.1774 -1708080.23449 -1022240.02645 24302175.6254 24302179.9854
+ -3328.2734 -2593.4614
+ 21419163.3284 -18084725.53149 -13838844.11947 21419163.1684 21419167.4604
+ -2857.2014 -2226.3934
+ 05 1 20 4 8 30.0000000 0 7G 9G18G15G22G14G26G21
+ 20480520.9634 -21938535.53049 -17074041.54648 20480521.0194 20480525.3864
+ -553.3994 -431.2244
+ 20389637.0084 -26690708.22449 -20779757.81648 20389636.6644 20389640.4864
+ 115.3264 89.8604
+ 20405387.6414 -21611758.54549 -16820006.22248 20405387.2974 20405392.7814
+ 68.5254 53.3914
+ 21216211.4374 -21275565.65349 -16563634.47048 21216211.7054 21216213.7454
+ 1731.6644 1349.3484
+ 22493789.3544 -12499391.79349 -9497240.63946 22493789.1284 22493792.8134
+ 2242.1844 1747.1364
+ 24321171.8644 -1608250.60349 -944450.72845 24321172.7354 24321174.6514
+ -3327.0314 -2592.4964
+ 21435514.6554 -17998803.48949 -13771891.90847 21435513.6744 21435517.4914
+ -2870.9404 -2237.0994
+ 05 1 20 4 9 0.0000000 0 7G 9G18G15G22G14G26G21
+ 20483744.2074 -21921599.00349 -17060844.25048 20483743.9344 20483747.9614
+ -575.6634 -448.5724
+ 20389010.6694 -26693998.22349 -20782321.45248 20389010.4584 20389014.5114
+ 104.0434 81.0684
+ 20405058.6084 -21613490.52949 -16821355.82648 20405057.9384 20405063.2204
+ 46.9304 36.5674
+ 21206345.6914 -21327413.45549 -16604035.35248 21206345.1994 21206347.5774
+ 1724.8694 1344.0504
+ 22481011.6674 -12566539.06449 -9549563.19947 22481010.5464 22481015.6944
+ 2234.3734 1741.0564
+ 24340161.8724 -1508459.06949 -866691.08545 24340162.2164 24340166.5954
+ -3325.7814 -2591.5174
+ 21451942.4854 -17912469.52249 -13704618.72147 21451941.9964 21451945.8944
+ -2884.6604 -2247.7874
+ 05 1 20 4 9 30.0000000 0 7G 9G18G15G22G14G26G21
+ 20487093.7204 -21903995.12249 -17047126.94148 20487093.3954 20487098.3204
+ -597.9124 -465.9034
+ 20388449.7274 -26696949.36949 -20784621.04948 20388449.0694 20388452.8604
+ 92.7144 72.2454
+ 20404853.3964 -21614574.42649 -16822200.42648 20404851.9984 20404856.9094
+ 25.3234 19.7344
+ 21196518.1674 -21379056.29049 -16644276.51948 21196517.7774 21196520.4814
+ 1717.9914 1338.6984
+ 22468276.7114 -12633453.03249 -9601703.94646 22468277.1124 22468283.0314
+ 2226.5804 1735.0074
+ 24359144.7374 -1408706.63649 -788961.90945 24359144.4724 24359150.7394
+ -3324.4284 -2590.4624
+ 21468449.9164 -17825725.79049 -13637026.23047 21468449.1484 21468452.7264
+ -2898.2364 -2258.3694
+ 05 1 20 4 10 0.0000000 0 7G 9G18G15G22G14G26G21
+ 20490570.2754 -21885724.62949 -17032890.19848 20490570.4974 20490575.1904
+ -620.0984 -483.1934
+ 20387952.2004 -26699560.38749 -20786655.61548 20387952.2654 20387956.0424
+ 81.3904 63.4254
+ 20404769.0414 -21615009.85349 -16822539.72548 20404768.6044 20404774.1954
+ 3.7064 2.8904
+ 21186730.4114 -21430492.82049 -16684356.92748 21186729.8444 21186732.3004
+ 1711.1024 1333.3284
+ 22455589.5274 -12700133.70749 -9653662.90947 22455589.2304 22455593.2334
+ 2218.8104 1728.9414
+ 24378119.4994 -1308994.41349 -711264.07345 24378118.5794 24378123.0564
+ -3323.0714 -2589.4064
+ 21485033.5714 -17738575.55449 -13569116.96547 21485032.9924 21485037.6034
+ -2911.7814 -2268.9154
+ 05 1 20 4 10 30.0000000 0 7G 9G18G15G22G14G26G21
+ 20494174.1544 -21866788.49549 -17018134.76248 20494173.8924 20494178.4484
+ -642.2804 -500.4814
+ 20387520.5434 -26701829.96449 -20788424.11348 20387520.1674 20387524.0424
+ 69.9714 54.5184
+ 20404810.1864 -21614796.62349 -16822373.57948 20404809.4874 20404814.5654
+ -17.9414 -13.9804
+ 21176981.5594 -21481721.82149 -16724275.63448 21176981.6514 21176983.6204
+ 1704.1524 1327.9094
+ 22442944.1844 -12766580.77949 -9705439.84946 22442944.1764 22442948.6424
+ 2211.0124 1722.8624
+ 24397086.6224 -1209323.55149 -633598.46345 24397087.0184 24397090.6514
+ -3321.6914 -2588.3394
+ 21501694.5904 -17651021.24549 -13500892.86947 21501694.1894 21501697.9104
+ -2925.2334 -2279.4034
+ 05 1 20 4 11 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20497904.0054 -21847187.62249 -17002861.35848 20497903.9274 20497908.0864
+ -664.4204 -517.7264
+ 20387153.9714 -26703757.71849 -20789926.26148 20387153.4464 20387157.1564
+ 58.5474 45.6224
+ 20404972.9674 -21613934.44249 -16821701.74948 20404972.8244 20404978.6694
+ -39.5714 -30.8354
+ 24436613.6704 -63275.70749 -31057.65543
+ 2794.9414 2177.8754
+ 21167273.3194 -21532741.93349 -16764031.56448 21167272.6944 21167275.0254
+ 1697.1664 1322.4664
+ 22430343.7194 -12832794.08449 -9757034.64246 22430343.8964 22430348.5164
+ 2203.2104 1716.7894
+ 24416043.6594 -1109694.66249 -555965.56345 24416043.9834 24416047.6134
+ -3320.2404 -2587.1964
+ 21518432.2624 -17563065.39149 -13432355.82447 21518431.6584 21518436.3584
+ -2938.5014 -2289.7374
+ 05 1 20 4 11 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20501760.3434 -21826923.17349 -16987070.87348 20501760.0524 20501764.6564
+ -686.5264 -534.9584
+ 20386852.6984 -26705342.43049 -20791161.10548 20386852.1684 20386855.5444
+ 47.0864 36.6904
+ 20405262.1444 -21612423.19449 -16820524.16048 20405261.1744 20405266.0824
+ -61.2054 -47.6914
+ -147092.07041 -76780.411 4 24425450.754
+ 2792.8134 2176.681
+ 21157603.9334 -21583551.58049 -16803623.49348 21157603.6254 21157606.3064
+ 1690.1324 1316.9794
+ 22417790.0914 -12898773.53549 -9808447.20547 22417789.4454 22417793.0804
+ 2195.4034 1710.7134
+ 24434994.0294 -1010109.10449 -478366.45845 24434994.4174 24434997.1454
+ -3318.7644 -2586.0384
+ 21535245.3154 -17474710.76349 -13363508.10047 21535244.8884 21535249.5244
+ -2951.7784 -2300.0834
+ 05 1 20 4 12 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20505742.4864 -21805996.18849 -16970764.13148 20505742.1864 20505746.7154
+ -708.5964 -552.1504
+ 20386615.8624 -26706583.03249 -20792127.81048 20386615.7734 20386619.6644
+ 35.6104 27.7474
+ 20405673.0134 -21610262.88049 -16818840.80748 20405672.2514 20405677.4834
+ -82.8444 -64.5544
+ -230842.36941 -106160.753 5 24418284.545
+ 2790.6824 2176.497
+ 21147975.4934 -21634149.58349 -16843050.50948 21147975.2774 21147977.5014
+ 1683.0594 1311.4774
+ 22405278.4594 -12964519.07049 -9859677.47947 22405278.1624 22405282.2584
+ 2187.6264 1704.6374
+ 24453937.5294 -910567.58449 -400801.66045 24453937.6604 24453938.1024
+ -3317.3474 -2584.9294
+ 21552135.0174 -17385959.92349 -13294351.62247 21552134.1994 21552137.9154
+ -2964.9414 -2310.3404
+ 05 1 20 4 12 30.0000000 0 7G 9G18G15G22G14G26G21
+ 20509850.7224 -21784407.83849 -16953942.03948 20509850.2534 20509855.0474
+ -730.6274 -569.3204
+ 20386445.7184 -26707478.38849 -20792825.48748 20386445.6784 20386449.4184
+ 24.0924 18.7734
+ 20406206.7424 -21607453.21749 -16816651.46048 20406206.2964 20406212.0704
+ -104.4874 -81.4184
+ 21138387.6714 -21684534.38149 -16882311.39048 21138387.4854 21138389.6874
+ 1675.9374 1305.9254
+ 22392811.3894 -13030030.58449 -9910725.41247 22392810.9714 22392815.2614
+ 2179.8074 1698.5504
+ 24472871.6824 -811071.48049 -323272.24145 24472871.5904 24472876.2054
+ -3315.8204 -2583.7514
+ 21569098.5644 -17296815.72249 -13224888.64847 21569097.4454 21569100.9284
+ -2977.9754 -2320.5004
+ 05 1 20 4 13 0.0000000 0 7G 9G18G15G22G14G26G21
+ 20514083.7614 -21762159.30549 -16936605.51848 20514083.9774 20514088.6304
+ -752.6194 -586.4544
+ 20386341.5804 -26708028.15749 -20793253.87948 20386340.8944 20386344.4864
+ 12.5394 9.7684
+ 20406866.0914 -21603993.86549 -16813955.86748 20406865.3484 20406870.3964
+ -126.1564 -98.3024
+ 21128840.4844 -21734704.81449 -16921405.22948 21128840.5164 21128842.7384
+ 1668.7544 1300.3284
+ 22380391.6454 -13095307.67849 -9961590.67647 22380390.6014 22380393.5764
+ 2171.9984 1692.4694
+ 24491795.2344 -711621.36249 -245778.64145 24491796.2384 24491800.2204
+ -3314.2394 -2582.5184
+ 21586135.9394 -17207280.64249 -13155121.07647 21586135.5874 21586139.2444
+ -2990.9884 -2330.6414
+ 05 1 20 4 13 30.0000000 0 7G 9G18G15G22G14G26G21
+ 20518443.0874 -21739251.78249 -16918755.49648 20518443.1084 20518448.0724
+ -774.5574 -603.5574
+ 20386302.3704 -26708230.64549 -20793411.65848 20386302.1464 20386306.1254
+ .9304 .7254
+ 20407648.2544 -21599884.93949 -16810754.11648 20407647.2074 20407652.2284
+ -147.7944 -115.1674
+ 21119333.8844 -21784659.24649 -16960330.76148 21119334.1524 21119336.6034
+ 1661.5234 1294.6914
+ 22368012.4034 -13160350.45149 -10012273.36147 22368012.4464 22368016.6794
+ 2164.1934 1686.3794
+ 24510711.1044 -612218.42349 -168321.85345 24510711.1424 24510715.5504
+ -3312.6654 -2581.2914
+ 21603248.9084 -17117357.33049 -13085051.01047 21603247.8164 21603251.0244
+ -3003.8544 -2340.6744
+ 05 1 20 4 14 0.0000000 0 7G 9G18G15G22G14G26G21
+ 20522927.4844 -21715686.18449 -16900392.69848 20522927.5844 20522932.2054
+ -796.4664 -620.6234
+ 20386330.5614 -26708084.97449 -20793298.15048 20386329.9604 20386334.0654
+ -10.6464 -8.2994
+ 20408552.7024 -21595126.29249 -16807046.08048 20408552.1854 20408557.9494
+ -169.4634 -132.0524
+ 21109869.4374 -21834396.64249 -16999087.17748 21109869.4664 21109872.0644
+ 1654.2844 1289.0514
+ 22355681.0364 -13225159.05949 -10062773.55547 22355679.7384 22355683.9794
+ 2156.3704 1680.2824
+ 24529617.0284 -512863.55249 -90902.50845 24529618.5344 24529622.3484
+ -3311.0674 -2580.0374
+ 21620432.1694 -17027048.80049 -13014680.74547 21620432.2834 21620436.0084
+ -3016.6954 -2350.6694
+ 05 1 20 4 14 30.0000000 0 7G 9G18G15G22G14G26G21
+ 20527537.1624 -21691463.78649 -16881518.09348 20527537.2394 20527541.7654
+ -818.3584 -637.6864
+ 20386424.2594 -26707590.12449 -20792912.55748 20386424.0324 20386427.8784
+ -22.3284 -17.4024
+ 20409583.3654 -21589717.85949 -16802831.71848 20409582.4304 20409587.1574
+ -191.1264 -148.9354
+ 21100445.9704 -21883915.50549 -17037673.30448 21100446.3304 21100448.5664
+ 1646.9524 1283.3364
+ 22343393.4244 -13289733.12649 -10113091.00347 22343392.5674 22343396.0444
+ 2148.5594 1674.2074
+ 24548515.5824 -413557.49249 -13521.21045 24548515.4624 24548519.1294
+ -3309.4184 -2578.7744
+ 21637691.4024 -16936357.46149 -12944012.17747 21637690.5304 21637694.1964
+ -3029.4064 -2360.5844
+ 05 1 20 4 15 0.0000000 0 7G 9G18G15G22G14G26G21
+ 20532271.8604 -21666585.71949 -16862132.58248 20532271.1664 20532275.5444
+ -840.1814 -654.6844
+ 20386585.6174 -26706745.11449 -20792254.10848 20386584.9904 20386588.8534
+ -34.0084 -26.4984
+ 20410735.5994 -21583659.48749 -16798110.92348 20410735.0364 20410740.0934
+ -212.7934 -165.8114
+ 21091065.1164 -21933214.48649 -17076088.09048 21091065.0344 21091067.3254
+ 1639.6154 1277.6214
+ 22331148.9074 -13354072.57749 -10163225.64947 22331148.7874 22331152.5064
+ 2140.7214 1668.0984
+ 24567402.6044 -314301.49949 63821.08245 24567402.9004 24567407.6134
+ -3307.6874 -2577.4194
+ 21655020.8734 -16845285.99149 -12873047.41247 21655020.4364 21655025.0534
+ -3042.0194 -2370.4034
+ 05 1 20 4 15 30.0000000 0 7G 9G18G15G22G14G26G21
+ 20537129.9584 -21641053.33649 -16842237.21848 20537129.7924 20537134.4844
+ -861.9594 -671.6544
+ 20386812.8404 -26705548.88549 -20791321.98948 20386812.8274 20386816.3644
+ -45.7144 -35.6224
+ 20412011.1294 -21576951.32849 -16792883.77948 20412010.4854 20412016.4494
+ -234.4234 -182.6684
+ 21081725.6804 -21982291.98249 -17114330.29948 21081725.8574 21081728.4434
+ 1632.2104 1271.8524
+ 22318950.4474 -13418177.37049 -10213177.44247 22318949.4694 22318954.2134
+ 2132.8954 1661.9964
+ 24586279.8534 -215096.32549 141123.85245 24586277.5584 24586286.5414
+ -3306.0564 -2576.1534
+ 21672423.6624 -16753837.30849 -12801788.69147 21672423.1064 21672427.4104
+ -3054.5624 -2380.1804
+ 05 1 20 4 16 0.0000000 0 7G 9G18G15G22G14G26G21
+ 20542112.3024 -21614867.94949 -16821833.01948 20542112.5844 20542117.3574
+ -883.7064 -688.5984
+ 20387107.6644 -26704000.55749 -20790115.50548 20387107.2744 20387111.0984
+ -57.4994 -44.8024
+ 20413412.2494 -21569593.58749 -16787150.47748 20413411.2914 20413416.8124
+ -256.1044 -199.5584
+ 21072429.4874 -22031146.57149 -17152398.80548 21072429.5864 21072431.6054
+ 1624.7524 1266.0444
+ 22306795.4764 -13482047.36849 -10262946.26947 22306795.5494 22306799.9984
+ 2125.0274 1655.8734
+ 24605148.4884 -115942.86749 218386.29645 24605149.7664 24605154.9034
+ -3304.3034 -2574.7794
+ 21689896.3364 -16662013.96549 -12730238.07847 21689896.4974 21689900.6294
+ -3066.9884 -2389.8584
+ 05 1 20 4 16 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20547220.4134 -21588030.80649 -16800920.95748 20547219.5594 20547224.2504
+ -905.3994 -705.5054
+ 20387469.2734 -26702099.24749 -20788633.96748 20387469.1244 20387472.8114
+ -69.2764 -53.9804
+ 20414936.5664 -21561586.22749 -16780910.98948 20414935.5934 20414940.4324
+ -277.7324 -216.4134
+ 24261955.3434 -19272.74149 -4877.39043
+ 2765.6204 2155.0864
+ 21063176.0074 -22079777.05749 -17190292.68848 21063175.6244 21063177.4504
+ 1617.2804 1260.2204
+ 22294687.1264 -13545682.39649 -10312532.00547 22294686.6494 22294689.9154
+ 2117.2394 1649.7894
+ 24624008.6144 -16842.17849 295607.61945 24624007.1104 24624011.9044
+ -3302.4524 -2573.3434
+ 21707441.4984 -16569819.14549 -12658397.98547 21707440.3644 21707444.4564
+ -3079.3134 -2399.4614
+ 05 1 20 4 17 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20552450.8674 -21560543.45549 -16779502.24048 20552450.3834 20552454.7534
+ -927.0714 -722.3934
+ 20387898.7104 -26699843.86549 -20786876.53548 20387898.3564 20387902.0374
+ -81.0994 -63.1974
+ 20416582.8824 -21552929.43449 -16774165.44248 20416582.3804 20416587.8524
+ -299.4054 -233.3004
+ 24246176.2264 -102191.83749 -69491.61644
+ 2762.2644 2152.4534
+ 21053963.9674 -22128181.81349 -17228010.68248 21053964.0664 21053966.2094
+ 1609.6964 1254.3104
+ 22282623.1994 -13609082.64349 -10361934.78447 22282622.4204 22282625.7464
+ 2109.3984 1643.6884
+ 24642856.6334 82204.80149 372787.04945 24642854.2264 24642859.0044
+ -3300.6754 -2571.9584
+ 21725055.7104 -16477255.30749 -12586270.34047 21725055.0874 21725058.6014
+ -3091.5974 -2409.0374
+ 05 1 20 4 17 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20557804.1664 -21532407.00449 -16757577.73248 20557804.0554 20557808.9664
+ -948.6784 -739.2304
+ 20388394.8554 -26697233.38449 -20784842.39048 20388394.9304 20388398.6624
+ -92.9534 -72.4334
+ 20418353.1894 -21543623.22649 -16766913.84948 20418352.8524 20418358.6934
+ -321.0434 -250.1634
+ -185010.81141 -108223.172 4 24236722.761
+ 2758.8814 2151.227
+ 21044796.5754 -22176359.54849 -17265551.77448 21044795.9734 21044798.3734
+ 1602.1244 1248.4064
+ 22270603.6184 -13672247.73449 -10411154.32547 22270603.3944 22270605.5364
+ 2101.5584 1637.5714
+ 24661689.8104 181197.57549 449924.26045 24661691.7554 24661698.1774
+ -3298.8054 -2570.4854
+ 21742739.7244 -16384324.98349 -12513857.13447 21742738.8274 21742742.6674
+ -3103.7544 -2418.5094
+ 05 1 20 4 18 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20563282.1194 -21503622.69149 -16735148.40048 20563281.9104 20563286.5684
+ -970.2484 -756.0384
+ 20388960.1134 -26694266.91249 -20782530.85548 20388959.5324 20388963.4194
+ -104.8164 -81.6794
+ 20420248.5624 -21533667.72949 -16759156.32248 20420247.9474 20420253.0714
+ -342.6754 -267.0214
+ 24214677.256
+
+ 21035671.8034 -22224308.78149 -17302914.80848 21035671.6354 21035674.0734
+ 1594.4904 1242.4594
+ 22258627.2454 -13735177.87049 -10460190.78147 22258626.2814 22258630.4494
+ 2093.7584 1631.4994
+ 24680518.6904 280135.03049 527018.33745 24680519.8514 24680525.6934
+ -3297.0194 -2569.1014
+ 21760492.0684 -16291031.39249 -12441160.87147 21760492.2644 21760496.0684
+ -3115.8004 -2427.8974
+ 05 1 20 4 18 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20568883.0184 -21474192.14049 -16712215.49948 20568882.7904 20568886.8084
+ -991.7724 -772.8104
+ 20389592.6454 -26690943.49249 -20779941.17848 20389591.9944 20389595.5694
+ -116.7574 -90.9784
+ 20422266.7114 -21523063.28649 -16750893.13048 20422265.9064 20422270.9954
+ -364.3084 -283.8744
+ 24198953.9974 -350336.08249 -63873.32845
+ 2751.7944 2144.2564
+ 21026591.2504 -22272028.24849 -17340098.81248 21026590.9954 21026593.2214
+ 1586.8004 1236.4714
+ 22246695.4984 -13797873.01749 -10509044.13947 22246696.0144 22246700.1724
+ 2085.9014 1625.3874
+ 24699335.8554 379016.26849 604068.62745 24699336.4414 24699342.0654
+ -3295.0844 -2567.6064
+ 21778314.1464 -16197376.99349 -12368183.48547 21778314.2444 21778318.1074
+ -3127.8014 -2437.2494
+ 05 1 20 4 19 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20574605.5354 -21444116.74249 -16688780.12148 20574605.4074 20574610.3754
+ -1013.2324 -789.5304
+ 20390292.7874 -26687262.15349 -20777072.59948 20390292.3974 20390296.2804
+ -128.7054 -100.2904
+ 20424407.8134 -21511809.94749 -16742124.29748 20424406.8994 20424412.7074
+ -385.9294 -300.7224
+ 24183255.9694 -432836.07449 -128159.03245
+ 2748.1314 2141.4004
+ 21017555.0044 -22319516.31649 -17377102.50448 21017554.5594 21017556.5014
+ 1579.0674 1230.4414
+ 22234810.5514 -13860332.95249 -10557714.22847 22234810.3254 22234814.1674
+ 2078.0854 1619.2904
+ 24718142.5494 477840.52549 681074.49545 24718142.5394 24718147.0324
+ -3293.1484 -2566.0814
+ 21796204.4804 -16103364.86349 -12294927.29747 21796203.5464 21796208.1594
+ -3139.6624 -2446.4914
+ 05 1 20 4 19 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20580450.6374 -21413398.15849 -16664843.56148 20580450.7314 20580455.7404
+ -1034.6404 -806.2154
+ 20391061.7754 -26683221.83249 -20773924.29448 20391061.2514 20391065.3844
+ -140.6624 -109.6084
+ 20426671.9664 -21499908.00049 -16732850.05748 20426671.5614 20426677.3114
+ -407.5414 -317.5694
+ 24167579.3674 -515223.65549 -192357.09145 24167584.7254
+ 2744.2744 2138.3904
+ 21008562.1434 -22366771.70649 -17413924.88548 21008562.0064 21008564.2484
+ 1571.2854 1224.3774
+ 22222969.4434 -13922557.70049 -10606201.05247 22222969.3094 22222972.9004
+ 2070.2524 1613.1874
+ 24736936.2024 576606.56349 758035.00945 24736935.4224 24736940.9004
+ -3291.2074 -2564.5814
+ 21814161.8394 -16008997.52149 -12221394.32047 21814161.6294 21814165.2264
+ -3151.4624 -2455.6844
+ 05 1 20 4 20 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20586419.0964 -21382037.73349 -16640406.87048 20586418.9834 20586423.4104
+ -1056.0234 -822.8744
+ 20391899.1254 -26678821.75449 -20770495.66248 20391898.6784 20391902.6144
+ -152.6684 -118.9644
+ 20429060.8224 -21487357.91349 -16723070.77448 20429060.2404 20429065.4634
+ -429.1544 -334.4044
+ 24151923.5124 -597495.79149 -256465.17445 24151922.5144 24151927.2274
+ 2740.4034 2135.3874
+ 20999614.5614 -22413792.81549 -17450564.70848 20999614.0734 20999616.5134
+ 1563.4464 1218.2714
+ 22211173.0574 -13984547.31249 -10654504.64647 22211172.5994 22211177.0184
+ 2062.4004 1607.0734
+ 24755720.3264 675313.96549 834949.88445 24755720.1254 24755726.0164
+ -3289.2834 -2563.0754
+ 21832186.5374 -15914278.03249 -12147586.94047 21832185.8254 21832189.4554
+ -3163.1734 -2464.8074
+ 05 1 20 4 20 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20592508.6984 -21350036.97049 -16615471.20448 20592508.4454 20592513.0214
+ -1077.3444 -839.4924
+ 20392805.5154 -26674060.76249 -20766785.80348 20392804.7364 20392808.5634
+ -164.7434 -128.3754
+ 20431572.4034 -21474159.86049 -16712786.58448 20431571.7034 20431577.1334
+ -450.7234 -351.2174
+ 24136288.5314 -679648.99449 -320480.70245 24136288.8814 24136295.2304
+ 2736.4324 2132.2814
+ 20990711.2314 -22460578.52349 -17487021.10648 20990711.1194 20990713.3714
+ 1555.5704 1212.1314
+ 22199421.9714 -14046301.52049 -10702624.80247 22199422.0454 22199425.5354
+ 2054.5514 1600.9434
+ 24774492.9104 773961.88749 911818.35945 24774493.0994 24774496.1834
+ -3287.2164 -2561.4644
+ 21850278.2044 -15819208.80849 -12073506.95247 21850277.3544 21850281.1054
+ -3174.7824 -2473.8694
+ 05 1 20 4 21 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20598719.8824 -21317397.41449 -16590037.77648 20598719.3804 20598724.3714
+ -1098.6094 -856.0574
+ 20393779.7514 -26668938.29449 -20762794.26148 20393779.4374 20393783.3354
+ -176.7724 -137.7434
+ 20434207.0084 -21460314.14449 -16701997.72348 20434206.7724 20434211.9404
+ -472.3154 -368.0364
+ 24120674.4574 -761680.37549 -384401.22045 24120673.6924 24120684.6564
+ 2732.3184 2129.0814
+ 20981853.3814 -22507127.32249 -17523292.89548 20981853.2134 20981855.4404
+ 1547.6494 1205.9624
+ 22187716.4524 -14107820.34649 -10750561.54347 22187715.5824 22187718.5314
+ 2046.6794 1594.8204
+ 24793254.6654 872549.31549 988639.70545 24793255.1244 24793256.8614
+ -3285.2514 -2559.9354
+ 21868434.2864 -15723793.03649 -11999156.94647 21868434.1894 21868438.2784
+ -3186.2984 -2482.8294
+ 05 1 20 4 21 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20605051.8154 -21284120.73149 -16564107.89448 20605051.7754 20605056.8164
+ -1119.8314 -872.5984
+ 20394823.4584 -26663453.07149 -20758520.06048 20394823.0424 20394827.0844
+ -188.8844 -147.1814
+ 20436965.0904 -21445821.22249 -16690704.54048 20436964.4514 20436969.7654
+ -493.8934 -384.8514
+ 24105092.9144 -843586.79449 -448224.40645 24105093.5904 24105097.5034
+ 2728.0364 2125.7464
+ 20973040.4594 -22553437.51249 -17559378.75648 20973040.5704 20973042.9794
+ 1539.6784 1199.7474
+ 22176053.9744 -14169103.83549 -10798314.90247 22176053.6274 22176057.8654
+ 2038.8524 1588.7164
+ 24812001.9714 971075.76249 1065413.56545 24812001.7544 24812007.6864
+ -3283.1894 -2558.3334
+ 21886656.9414 -15628033.39349 -11924539.02047 21886656.2424 21886660.5764
+ -3197.7314 -2491.7444
+ 05 1 20 4 22 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20611505.7864 -21250208.57049 -16537682.83848 20611505.3114 20611509.8994
+ -1140.9874 -889.0824
+ 20395936.6744 -26657604.16249 -20753962.47548 20395936.2734 20395940.0064
+ -201.0484 -156.6634
+ 20439845.7384 -21430681.48649 -16678907.34648 20439845.2744 20439850.6284
+ -515.4474 -401.6474
+ 24089530.7244 -925365.19449 -511947.81245 24089529.9974 24089535.3534
+ 2723.7274 2122.3894
+ 20964273.9564 -22599507.66649 -17595277.58248 20964273.8114 20964275.8784
+ 1531.6514 1193.4954
+ 22164435.2564 -14230151.89149 -10845884.80947 22164435.7274 22164439.4954
+ 2031.0014 1582.5924
+ 24830741.0164 1069540.10249 1142139.04945 24830739.6484 24830743.2004
+ -3281.0784 -2556.6864
+ 21904944.4364 -15531932.83249 -11849655.47947 21904943.6704 21904947.7954
+ -3209.0194 -2500.5384
+ 05 1 20 4 22 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20618079.0664 -21215662.42849 -16510763.75948 20618078.7004 20618083.4964
+ -1162.0774 -905.5154
+ 20397119.2024 -26651390.80149 -20749120.88948 20397118.4054 20397122.7134
+ -213.1974 -166.1294
+ 20442850.3544 -21414895.38849 -16666606.49648 20442849.5054 20442854.7924
+ -536.9654 -418.4164
+ 24073995.3854 -1007012.55749 -575569.17345 24073994.4394 24073998.8944
+ 2719.3214 2118.9554
+ 20955553.1454 -22645336.34949 -17630988.24048 20955553.0584 20955555.2424
+ 1523.5954 1187.2164
+ 22152863.4974 -14290964.59549 -10893271.34447 22152863.5554 22152867.5174
+ 2023.1444 1576.4834
+ 24849463.5344 1167941.70149 1218815.67745 24849463.8224 24849470.4094
+ -3279.0124 -2555.0784
+ 21923296.8984 -15435494.14549 -11774508.42547 21923295.8944 21923299.3844
+ -3220.2174 -2509.2564
+ 05 1 20 4 23 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20624772.5984 -21180484.04949 -16483352.03848 20624772.8334 20624777.7254
+ -1183.1174 -921.9144
+ 20398370.7174 -26644811.64649 -20743994.28548 20398370.4544 20398374.4674
+ -225.3974 -175.6374
+ 20445977.1694 -21398463.28849 -16653802.27148 20445976.4734 20445981.6104
+ -558.5084 -435.2014
+ 24058482.3934 -1088525.52649 -639085.80445 24058481.3414 24058486.8924
+ 2714.8124 2115.4354
+ 20946877.9374 -22690922.29249 -17666509.75048 20946878.0604 20946880.3484
+ 1515.4764 1180.8924
+ 22141336.5514 -14351542.03649 -10940474.55447 22141336.1754 22141340.5434
+ 2015.3384 1570.3934
+ 24868178.2544 1266279.65949 1295442.61845 24868178.1454 24868180.9914
+ -3276.8774 -2553.4094
+ 21941711.3094 -15338720.19349 -11699100.16747 21941710.4544 21941715.2234
+ -3231.3564 -2517.9464
+ 05 1 20 4 23 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20631588.3204 -21144674.93949 -16455448.83348 20631587.4084 20631591.9994
+ -1204.1364 -938.2914
+ 20399692.4124 -26637866.31449 -20738582.33848 20399692.1934 20399696.0154
+ -237.6294 -185.1674
+ 20449226.9784 -21381385.68849 -16640495.05648 20449226.3404 20449231.5954
+ -580.0254 -451.9724
+ 24042995.6364 -1169901.00549 -702495.26145 24042995.5044 24043001.6174
+ 2710.1454 2111.8014
+ 20938249.7574 -22736263.98349 -17701840.94548 20938249.9154 20938251.8664
+ 1507.2954 1174.5164
+ 22129853.6994 -14411883.98949 -10987494.25347 22129853.0984 22129857.3064
+ 2007.4424 1564.2334
+ 24886878.3804 1364553.45049 1372019.54445 24886877.8024 24886882.9454
+ -3274.6934 -2551.7194
+ 21960190.0664 -15241613.70049 -11623432.79547 21960189.7844 21960193.7084
+ -3242.3964 -2526.5434
+ 05 1 20 4 24 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20638521.7024 -21108236.93449 -16427055.58448 20638521.5254 20638525.7664
+ -1225.0614 -954.5954
+ 20401083.7194 -26630554.28849 -20732884.66148 20401083.4734 20401087.3144
+ -249.8694 -194.7064
+ 20452598.9244 -21363663.08749 -16626685.24248 20452598.2394 20452604.0884
+ -601.5114 -468.7094
+ 24027537.5874 -1251135.90749 -765795.19045 24027537.7984 24027543.5924
+ 2705.3784 2108.0894
+ 20929668.2094 -22781359.78949 -17736980.53048 20929668.3384 20929670.5664
+ 1499.0704 1168.1054
+ 22118415.8844 -14471990.30549 -11034330.34947 22118416.0434 22118419.8974
+ 1999.6054 1558.1344
+ 24905566.7394 1462762.13649 1448545.82645 24905567.3304 24905570.3794
+ -3272.4934 -2550.0024
+ 21978731.6854 -15144177.73349 -11547508.63147 21978731.0064 21978735.0534
+ -3253.3154 -2535.0504
+ 05 1 20 4 24 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20645574.6584 -21071171.82849 -16398173.67948 20645574.3944 20645578.9894
+ -1245.9464 -970.8724
+ 20402545.3744 -26622874.30249 -20726900.25548 20402545.1224 20402549.2104
+ -262.1104 -204.2404
+ 20456093.8524 -21345296.11549 -16612373.31348 20456093.4884 20456099.3084
+ -622.9954 -485.4514
+ 24012105.5534 -1332227.02449 -828983.05945 24012106.1194 24012111.6074
+ 2700.6374 2104.3874
+ 20921134.1874 -22826208.41449 -17771927.51248 20921133.8854 20921136.2314
+ 1490.8064 1161.6624
+ 22107023.1384 -14531861.32249 -11080983.08147 22107022.8674 22107026.8534
+ 1991.7524 1552.0124
+ 24924241.0884 1560904.82949 1525020.73945 24924241.1104 24924248.1004
+ -3270.2924 -2548.2764
+ 21997335.1184 -15046414.78649 -11471329.70047 21997335.2974 21997338.9704
+ -3264.2624 -2543.5874
+ 05 1 20 4 25 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20652746.9584 -21033481.11949 -16368804.30048 20652746.4324 20652751.4364
+ -1266.7684 -987.0934
+ 20404077.3224 -26614825.38649 -20720628.36248 20404076.9974 20404080.5174
+ -274.4704 -213.8724
+ 20459712.1004 -21326285.23449 -16597559.65048 20459711.2464 20459716.6084
+ -644.4544 -502.1744
+ 23996703.3384 -1413171.39149 -892056.48545 23996704.1634 23996709.8524
+ 2695.7414 2100.5714
+ 20912646.3564 -22870808.35949 -17806680.71948 20912646.8854 20912649.3384
+ 1482.4854 1155.1854
+ 22095675.1754 -14591496.76449 -11127452.25347 22095674.1094 22095678.5134
+ 1983.9054 1545.8954
+ 24942906.9154 1658981.07849 1601443.77645 24942906.1944 24942911.1154
+ -3268.1254 -2546.5934
+ 22016001.5864 -14948328.14449 -11394898.55647 22016000.3164 22016003.9874
+ -3274.9534 -2551.9104
+ 05 1 20 4 25 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20660038.1214 -20995166.70549 -16338948.91048 20660038.0404 20660042.2164
+ -1287.5384 -1003.2774
+ 20405679.1484 -26606406.62549 -20714068.29148 20405678.6544 20405682.4714
+ -286.7694 -223.4584
+ 20463452.3394 -21306631.11449 -16582244.75848 20463451.3794 20463456.6534
+ -665.8504 -518.8444
+ 23981328.1934 -1493965.83849 -955013.17545 23981328.4454 23981335.3974
+ 2690.6484 2096.6064
+ 20904207.7094 -22915158.28249 -17841239.09348 20904207.2484 20904209.8594
+ 1474.1474 1148.6874
+ 22084371.2814 -14650896.57849 -11173737.82247 22084370.8504 22084375.0034
+ 1976.0944 1539.8214
+ 24961555.2884 1756989.87249 1677814.27045 24961555.4824 24961560.2824
+ -3265.9054 -2544.8634
+ 22034726.1554 -14849920.72949 -11318217.47047 22034726.1344 22034730.0674
+ -3285.5474 -2560.1684
+ 05 1 20 4 26 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20667447.7854 -20956230.39049 -16308608.92348 20667447.6534 20667452.0124
+ -1308.2224 -1019.3964
+ 20407351.3304 -26597617.23249 -20707219.41048 20407351.2824 20407355.1964
+ -299.1474 -233.1004
+ 20467314.5794 -21286334.56349 -16566429.26648 20467313.5584 20467319.2244
+ -687.2594 -535.5274
+ 23965985.0124 -1574607.06049 -1017850.50145 23965984.2874 23965989.1904
+ 2685.5474 2092.6364
+ 20895815.6954 -22959256.49949 -17875601.34148 20895815.6164 20895818.2524
+ 1465.7424 1142.1384
+ 22073113.3254 -14710060.93349 -11219839.91647 22073112.2824 22073116.2124
+ 1968.2354 1533.6934
+ 24980191.9304 1854930.65849 1754131.82145 24980192.1104 24980199.2934
+ -3263.6834 -2543.1304
+ 22053513.9594 -14751195.33049 -11241288.58947 22053512.6304 22053517.9564
+ -3296.1294 -2568.4144
+ 05 1 20 4 26 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20674974.7864 -20916674.02749 -16277785.77948 20674974.5694 20674979.1304
+ -1328.8404 -1035.4584
+ 20409095.2294 -26588456.37149 -20700081.07848 20409094.6104 20409098.5164
+ -311.5714 -242.7824
+ 20471298.9614 -21265396.15749 -16550113.63148 20471298.1934 20471303.5854
+ -708.6524 -552.1964
+ 23950668.0874 -1655091.82149 -1080565.86345 23950666.8824 23950674.0664
+ 2680.1914 2088.4564
+ 20887472.3634 -23003101.51449 -17909766.28848 20887472.3624 20887474.7724
+ 1457.2744 1135.5374
+ 22061898.8684 -14768989.72349 -11265758.45347 22061898.3354 22061902.2074
+ 1960.3694 1527.5504
+ 24998819.5124 1952802.54049 1830395.65045 24998819.2544 24998823.8814
+ -3261.1454 -2541.1434
+ 22072360.8274 -14652154.67049 -11164114.05547 22072360.2394 22072363.7074
+ -3306.5834 -2576.5644
+ 05 1 20 4 27 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20682619.3044 -20876499.38149 -16246480.86048 20682619.3554 20682624.1174
+ -1349.4404 -1051.5144
+ 20410909.1084 -26578922.74249 -20692652.27248 20410908.6964 20410912.4734
+ -323.9854 -252.4564
+ 20475405.7724 -21243816.33249 -16533298.18248 20475404.9074 20475410.0904
+ -730.0184 -568.8474
+ 23935382.7154 -1735416.94749 -1143156.80245 23935382.2484 23935387.7224
+ 2674.7654 2084.2294
+ 20879177.6374 -23046691.80849 -17943732.75548 20879177.6304 20879179.8504
+ 1448.7464 1128.8974
+ 22050729.2484 -14827683.19349 -11311493.61947 22050729.3114 22050733.6604
+ 1952.5284 1521.4514
+ 25017425.6874 2050605.32248 1906605.57044 25017425.3454 25017432.6314
+ -3258.9934 -2539.4744
+ 22091266.1504 -14552802.02049 -11086696.39747 22091266.0214 22091270.1084
+ -3316.9454 -2584.6294
+ 05 1 20 4 27 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20690382.3874 -20835708.21049 -16214695.53048 20690382.0354 20690386.0044
+ -1369.9554 -1067.4994
+ 20412794.2184 -26569016.03449 -20684932.76948 20412793.9374 20412797.8974
+ -336.4534 -262.1704
+ 20479633.5184 -21221596.12849 -16515983.73348 20479633.0044 20479638.4294
+ -751.3524 -585.4704
+ 23920126.8784 -1815579.73349 -1205621.33945 23920126.8954 23920134.0814
+ 2669.2494 2079.9394
+ 20870931.1774 -23090026.07349 -17977499.71648 20870931.1494 20870933.3764
+ 1440.1904 1122.2284
+ 22039606.2794 -14886141.19949 -11357045.30947 22039605.9044 22039609.8924
+ 1944.6844 1515.3414
+ 25036027.7264 2148337.62849 1982760.61745 25036028.7794 25036030.5234
+ -3256.5384 -2537.5634
+ 22110231.8354 -14453139.82649 -11009037.54747 22110231.0794 22110235.5974
+ -3327.1694 -2592.6004
+ 05 1 20 4 28 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20698260.9684 -20794302.42549 -16182431.28148 20698261.0494 20698265.5484
+ -1390.4134 -1083.4384
+ 20414750.8374 -26558734.93449 -20676921.52348 20414750.0574 20414754.1734
+ -348.9634 -271.9204
+ 20483984.5854 -21198735.99449 -16498170.64948 20483983.4824 20483988.5784
+ -772.6624 -602.0724
+ 23904903.9494 -1895576.56649 -1267956.51945 23904905.0994 23904909.7534
+ 2663.7854 2075.6724
+ 20862734.5844 -23133102.88349 -18011066.05348 20862734.1084 20862736.1294
+ 1431.5834 1115.5194
+ 22028526.3974 -14944363.86149 -11402413.60647 22028526.0304 22028529.7724
+ 1936.8214 1509.2104
+ 25054612.2664 2245998.95448 2058860.37744 25054611.1994 25054614.9904
+ -3254.1724 -2535.7404
+ 22129256.7624 -14353170.84849 -10931139.65847 22129255.2474 22129258.5494
+ -3337.3674 -2600.5334
+ 05 1 20 4 28 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20706256.9254 -20752283.87049 -16149689.54348 20706257.1634 20706261.4714
+ -1410.8314 -1099.3494
+ 20416778.6754 -26548078.78449 -20668618.03848 20416778.4204 20416781.9354
+ -361.4824 -281.6754
+ 20488455.4134 -21175236.84549 -16479859.63148 20488455.0524 20488460.4904
+ -793.9654 -618.6744
+ 23889713.5354 -1975404.73249 -1330160.21945 23889712.3314 23889719.7164
+ 2658.0904 2071.2344
+ 20854586.7124 -23175920.59449 -18044430.50748 20854586.2964 20854588.1964
+ 1422.9004 1108.7544
+ 22017491.9024 -15002351.04449 -11447598.41747 22017491.6244 22017495.8024
+ 1928.9664 1503.0914
+ 25073180.4224 2343588.89148 2134904.43444 25073184.6324 25073184.0224
+ -3251.8184 -2533.8754
+ 22148336.7754 -14252898.91349 -10853005.66247 22148336.0624 22148340.1014
+ -3347.4174 -2608.3724
+ 05 1 20 4 29 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20714368.6404 -20709654.62149 -16116471.94148 20714369.0304 20714373.4754
+ -1431.1324 -1115.1724
+ 20418878.0864 -26537046.93449 -20660021.79248 20418877.6694 20418881.3974
+ -374.0004 -291.4334
+ 20493048.5504 -21151099.47149 -16461051.29348 20493047.9984 20493053.3814
+ -815.2154 -635.2384
+ 23874557.6124 -2055060.94849 -1392230.01346 23874557.1614 23874562.0644
+ 2652.3334 2066.7564
+ 20846487.6514 -23218477.74849 -18077591.92748 20846487.8514 20846489.9664
+ 1414.1974 1101.9694
+ 22006502.2654 -15060103.12549 -11492600.03147 22006501.8044 22006505.9164
+ 1921.1374 1496.9834
+ 25091742.9204 2441106.28048 2210891.96744 25091742.8954 25091738.2894
+ -3249.4404 -2532.0494
+ 22167474.5504 -14152326.63249 -10774637.68347 22167474.2104 22167478.2364
+ -3357.4144 -2616.1694
+ 05 1 20 4 29 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20722597.7034 -20666416.71549 -16082780.07048 20722597.2824 20722601.7824
+ -1451.3934 -1130.9584
+ 20421048.5944 -26525638.56749 -20651132.16048 20421048.2854 20421052.4234
+ -386.5644 -301.2224
+ 20497763.5354 -21126324.72649 -16441746.30148 20497762.5484 20497767.9804
+ -836.4494 -651.7784
+ 23859433.6714 -2134541.93649 -1454163.23345 23859431.8264 23859437.0174
+ 2646.4054 2062.1334
+ 20838439.5664 -23260772.87949 -18110549.16448 20838439.3094 20838441.6814
+ 1405.4454 1095.1524
+ 21995556.8314 -15117619.63649 -11537418.09447 21995556.1464 21995560.4384
+ 1913.2774 1490.8554
+ 25110281.0494 2538551.06948 2286823.02944 25110278.2754 25110290.1784
+ -3246.9664 -2530.0934
+ 22186669.6694 -14051456.33749 -10696037.47147 22186669.0664 22186672.9774
+ -3367.2734 -2623.8584
+ 05 1 20 4 30 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20730940.2884 -20622571.95049 -16048615.31548 20730940.1594 20730945.0844
+ -1471.5694 -1146.6774
+ 20423291.7024 -26513852.90549 -20641948.52248 20423290.9594 20423295.2124
+ -399.1604 -311.0324
+ 20502598.2744 -21100913.34749 -16421945.22948 20502598.1414 20502603.4874
+ -857.6374 -668.2894
+ 23844340.8554 -2213844.87849 -1515957.67046 23844340.2984 23844346.2314
+ 2640.4174 2057.4694
+ 20830441.2684 -23302804.48449 -18143301.07048 20830440.9524 20830443.1844
+ 1396.6434 1088.2924
+ 21984656.3484 -15174900.72849 -11582052.71247 21984656.3724 21984660.4834
+ 1905.4704 1484.7814
+ 25128810.4634 2635922.27148 2362696.67044 25128812.9034 25128815.7614
+ -3244.5794 -2528.2434
+ 22205919.9804 -13950291.21449 -10617207.51147 22205920.1354 22205924.2984
+ -3377.0234 -2631.4464
+ 05 1 20 4 30 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20739398.5264 -20578122.29449 -16013979.22248 20739398.7934 20739403.3354
+ -1491.7174 -1162.3794
+ 20425606.4764 -26501688.43249 -20632469.71748 20425605.9044 20425609.8874
+ -411.8014 -320.8854
+ 20507555.7834 -21074866.31649 -16401648.84848 20507554.9334 20507560.0364
+ -878.8354 -684.8064
+ 23829284.9034 -2292966.54949 -1577610.89846 23829284.5654 23829289.1544
+ 2634.3344 2052.7284
+ 20822493.0924 -23344570.95549 -18175846.37148 20822492.9304 20822495.3744
+ 1387.7804 1081.3894
+ 21973801.6284 -15231946.59849 -11626504.03247 21973800.7074 21973804.9304
+ 1897.6074 1478.6594
+ 25147327.2184 2733219.07249 2438512.32244 25147326.3044 25147332.2654
+ -3241.9934 -2526.2294
+ 22225228.2704 -13848834.67149 -10538150.44246 22225226.2774 22225230.8434
+ -3386.7104 -2638.9974
+ 05 1 20 4 31 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20747972.5804 -20533069.77949 -15978873.36548 20747971.9724 20747976.3854
+ -1511.7734 -1178.0054
+ 20427993.0284 -26489144.99349 -20622695.61848 20427992.8544 20427996.6754
+ -424.4154 -330.7104
+ 20512632.6404 -21048184.48549 -16380857.81448 20512632.0504 20512637.6464
+ -899.9614 -701.2654
+ 23814263.6464 -2371903.71349 -1639120.33745 23814263.3974 23814268.1614
+ 2628.1424 2047.9064
+ 20814595.6784 -23386070.93149 -18208184.01848 20814595.8304 20814598.1654
+ 1378.8944 1074.4654
+ 21962990.1744 -15288757.43049 -11670772.20747 21962990.0604 21962994.3534
+ 1889.7644 1472.5474
+ 25165828.2694 2830441.26049 2514269.81745 25165829.9874 25165834.2264
+ -3239.4504 -2524.2414
+ 22244587.9264 -13747089.21349 -10458868.28647 22244588.6744 22244592.4984
+ -3396.2814 -2646.4574
+ 05 1 20 4 31 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20756659.6394 -20487416.60949 -15943299.46348 20756659.4904 20756664.3754
+ -1531.7544 -1193.5764
+ 20430452.2954 -26476222.05649 -20612625.80248 20430452.1034 20430455.8654
+ -437.0944 -340.5984
+ 20517831.3944 -21020868.98849 -16359573.01848 20517830.5704 20517835.3874
+ -921.0764 -717.7254
+ 23799277.4344 -2450653.08349 -1700483.50545 23799277.3074 23799283.0114
+ 2621.8414 2042.9954
+ 20806750.5394 -23427302.94949 -18240312.86048 20806749.7254 20806752.0074
+ 1369.9224 1067.4684
+ 21952224.6924 -15345333.00249 -11714857.07247 21952224.3304 21952228.3924
+ 1881.9514 1466.4534
+ 25184309.4174 2927587.66658 2589968.27554 25184311.2524 25184315.1444
+ -3237.0654 -2522.3854
+ 22264004.9034 -13645057.65149 -10379363.17947 22264004.1784 22264008.3034
+ -3405.7784 -2653.8654
+ 05 1 20 4 32 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20765460.8884 -20441164.81149 -15907259.10148 20765460.6414 20765465.8394
+ -1551.6744 -1209.0974
+ 20432983.7014 -26462918.37049 -20602259.28848 20432983.3614 20432987.4574
+ -449.7964 -350.4904
+ 20523149.3314 -20992920.74449 -16337795.16548 20523148.5964 20523154.1084
+ -942.1494 -734.1394
+ 23784329.6784 -2529211.56649 -1761697.88246 23784329.2294 23784333.7894
+ 2615.3784 2037.9614
+ 20798954.8994 -23468265.48649 -18272231.72448 20798954.8994 20798957.0174
+ 1360.9054 1060.4454
+ 21941503.4764 -15401673.60949 -11758758.83847 21941502.4594 21941507.1654
+ 1874.0974 1460.3344
+ 25202788.2824 3024658.01749 2665607.62845 25202789.2534 25202792.9034
+ -3234.3994 -2520.3124
+ 22283475.5794 -13542743.39749 -10299637.78946 22283474.3644 22283477.9164
+ -3415.1374 -2661.1434
+ 05 1 20 4 32 30.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20774375.6484 -20394316.29649 -15870753.76048 20774375.5234 20774380.5824
+ -1571.5434 -1224.5774
+ 20435588.4204 -26449233.21849 -20591595.53448 20435588.0274 20435591.7914
+ -462.5604 -360.4344
+ 20528587.9714 -20964340.60749 -16315524.93148 20528587.2784 20528592.4474
+ -963.1964 -750.5404
+ 23769417.5074 -2607576.10849 -1822761.11146 23769417.0964 23769422.4394
+ 2608.8954 2032.9064
+ 20791211.8444 -23508956.85149 -18303939.27848 20791211.5264 20791213.4664
+ 1351.8544 1053.3964
+ 21930827.0334 -15457778.98149 -11802477.31747 21930826.4834 21930830.3354
+ 1866.2614 1454.2324
+ 25221243.1154 3121651.76049 2741187.14645 25221243.7724 25221252.3834
+ -3231.7594 -2518.2524
+ 22302998.0244 -13440149.30149 -10219694.30146 22302996.6774 22303001.3684
+ -3424.4454 -2668.4004
+ 05 1 20 4 33 0.0000000 0 8G 9G18G15G 5G22G14G26G21
+ 20783404.6594 -20346873.19649 -15833785.11748 20783404.0704 20783408.8634
+ -1591.3134 -1239.9814
+ 20438265.1664 -26435165.69349 -20580633.82648 20438264.9314 20438268.7824
+ -475.2884 -370.3544
+ 20534146.6874 -20935129.69249 -16292763.18548 20534146.0254 20534151.3614
+ -984.1944 -766.9044
+ 23754541.8664 -2685743.42449 -1883670.70245 23754541.8024 23754546.9734
+ 2602.2604 2027.7324
+ 20783520.2204 -23549375.75549 -18335434.53248 20783519.7984 20783522.0704
+ 1342.7464 1046.2974
+ 21920195.7444 -15513649.33849 -11846012.65247 21920195.2454 21920198.2964
+ 1858.4374 1448.1304
+ 25239681.3994 3218568.06048 2816706.28044 25239685.8054 25239689.0394
+ -3229.0904 -2516.1754
+ 22322572.8154 -13337277.99649 -10139534.86046 22322572.2174 22322576.8324
+ -3433.5934 -2675.5344
+ 05 1 20 4 33 30.0000000 0 7G 9G18G15G 5G22G14G21
+ 20792544.7674 -20298837.68149 -15796354.84448 20792544.7854 20792549.4904
+ -1611.0244 -1255.3464
+ 20441015.3104 -26420715.49749 -20569373.93348 20441014.6124 20441018.6174
+ -488.0624 -380.3134
+ 20539825.0894 -20905289.10249 -16269510.78048 20539824.3644 20539829.5744
+ -1005.1704 -783.2534
+ 23739705.4074 -2763710.55149 -1944424.30845 23739704.5074 23739709.3384
+ 2595.5374 2022.4884
+ 20775880.5304 -23589520.39149 -18366716.07148 20775880.6834 20775882.9184
+ 1333.5884 1039.1574
+ 21909607.8314 -15569284.65549 -11889364.83347 21909607.4894 21909611.2124
+ 1850.5954 1442.0184
+ 22342200.4724 -13234132.56049 -10059161.81546 22342201.0374 22342204.8904
+ -3442.6994 -2682.6194
+ 05 1 20 4 34 0.0000000 0 7G 9G18G15G 5G22G14G21
+ 20801798.8264 -20250211.86149 -15758464.59948 20801797.9724 20801802.8944
+ -1630.6734 -1270.6544
+ 20443837.5524 -26405881.48049 -20557814.95948 20443837.1804 20443841.3304
+ -500.8934 -390.3064
+ 20545622.9654 -20874819.95549 -16245768.59348 20545622.5004 20545627.8204
+ -1026.1134 -799.5724
+ 23724906.7514 -2841474.14449 -2005019.27145 23724905.5814 23724912.3174
+ 2588.6764 2017.1644
+ 20768293.8014 -23629389.70049 -18397783.06248 20768293.6064 20768296.0344
+ 1324.3674 1031.9744
+ 21899064.9324 -15624685.17549 -11932534.07447 21899065.0654 21899068.9804
+ 1842.7574 1435.9134
+ 22361880.4324 -13130716.22549 -9978577.66346 22361879.9374 22361884.1614
+ -3451.7094 -2689.6474
+ 05 1 20 4 34 30.0000000 0 7G 9G18G15G 5G22G14G21
+ 20811164.0504 -20200997.67649 -15720115.88048 20811163.5014 20811167.8374
+ -1650.2514 -1285.9114
+ 20446734.0764 -26390662.94949 -20545956.37448 20446733.7044 20446737.1374
+ -513.7084 -400.2914
+ 20551540.6344 -20843723.46549 -16221537.55948 20551539.8794 20551545.2694
+ -1047.0034 -815.8454
+ 23710150.0224 -2919031.18849 -2065453.30045 23710148.5394 23710153.6434
+ 2581.7304 2011.7404
+ 20760759.5774 -23668981.81049 -18428634.05948 20760759.5254 20760761.8154
+ 1315.0934 1024.7494
+ 21888568.0664 -15679850.92149 -11975520.37647 21888567.3274 21888571.5144
+ 1834.9504 1429.8374
+ 22381610.9774 -13027031.81649 -9897784.63746 22381611.0504 22381614.7294
+ -3460.5704 -2696.5454
+ 05 1 20 4 35 0.0000000 0 7G 9G18G15G 5G22G14G21
+ 20820640.1594 -20151197.43749 -15681310.49448 20820639.8824 20820644.3414
+ -1669.7544 -1301.1064
+ 20449703.1584 -26375059.31449 -20533797.69448 20449702.7234 20449706.6354
+ -526.5464 -410.2944
+ 20557577.7624 -20812000.58249 -16196818.43248 20557576.9104 20557582.0374
+ -1067.8634 -832.0994
+ 23695428.3234 -2996378.57149 -2125723.97846 23695429.3994 23695435.5644
+ 2574.6614 2006.2364
+ 20753278.3654 -23708295.42249 -18459268.04248 20753278.3294 20753280.8054
+ 1305.8034 1017.5124
+ 21878115.1564 -15734781.93649 -12018323.76347 21878114.1494 21878119.0064
+ 1827.1124 1423.7264
+ 22401391.3294 -12923082.19149 -9816784.93446 22401391.4254 22401395.7354
+ -3469.3884 -2703.4234
+ 05 1 20 4 35 30.0000000 0 7G 9G18G15G 5G22G14G21
+ 20830228.2424 -20100813.38049 -15642050.18848 20830227.7554 20830232.4284
+ -1689.1654 -1316.2344
+ 20452746.2384 -26359069.73949 -20521338.28648 20452745.5384 20452749.3204
+ -539.4124 -420.3234
+ 20563732.0544 -20779652.41049 -16171612.06648 20563731.8724 20563737.6584
+ -1088.6874 -848.3294
+ 23680752.0444 -3073513.05549 -2185828.70846 23680751.0044 23680757.0444
+ 2567.5754 2000.7074
+ 20745851.1324 -23747328.96749 -18489683.79248 20745850.6704 20745853.0014
+ 1296.4234 1010.2004
+ 21867705.7874 -15789478.28249 -12060944.29247 21867706.0444 21867710.7394
+ 1819.2924 1417.6294
+ 22421223.6304 -12818870.37749 -9735580.94546 22421222.5224 22421226.4054
+ -3478.0734 -2710.2014
+ 05 1 20 4 36 0.0000000 0 7G 9G18G15G 5G22G14G21
+ 20839926.1104 -20049847.97949 -15602336.89548 20839925.7354 20839931.1284
+ -1708.5344 -1331.3264
+ 20455862.2474 -26342693.53449 -20508577.61348 20455861.7594 20455865.3894
+ -552.2984 -430.3654
+ 20570007.2724 -20746680.25749 -16145919.48348 20570006.5984 20570012.2454
+ -1109.4574 -864.5154
+ 23666115.4604 -3150431.38149 -2245765.09346 23666114.8004 23666118.6704
+ 2560.3064 1995.0464
+ 20738476.0624 -23786080.93849 -18519880.13648 20738476.2984 20738478.3724
+ 1287.0404 1002.8874
+ 21857342.8284 -15843939.98949 -12103381.98647 21857342.0404 21857346.8054
+ 1811.4934 1411.5544
+ 22441103.7844 -12714399.40049 -9654175.02946 22441102.4374 22441106.6924
+ -3486.6674 -2716.8844
+ 05 1 20 4 36 30.0000000 0 7G 9G18G15G 5G22G14G21
+ 20849734.6174 -19998303.07649 -15562172.03248 20849734.4624 20849739.2204
+ -1727.7674 -1346.3094
+ 20459051.7104 -26325930.04049 -20495515.15748 20459051.6954 20459055.6384
+ -565.2514 -440.4534
+ 20576400.2384 -20713085.19449 -16119741.51548 20576399.3474 20576404.7484
+ -1130.2014 -880.6754
+ 23651519.2504 -3227130.54849 -2305530.63545 23651519.7224 23651524.4404
+ 2552.9524 1989.3184
+ 20731155.6964 -23824549.69349 -18549855.78748 20731155.9864 20731158.0774
+ 1277.5564 995.4954
+ 21847023.7674 -15898167.14949 -12145636.92847 21847023.6424 21847027.7614
+ 1803.6674 1405.4564
+ 22461033.0184 -12609672.19649 -9572569.39146 22461031.6294 22461035.6334
+ -3495.1314 -2723.4744
+ 05 1 20 4 37 0.0000000 0 7G 9G18G15G 5G22G14G21
+ 20859653.8954 -19946181.17049 -15521557.56448 20859653.7374 20859658.2154
+ -1747.0064 -1361.3094
+ 20462316.1444 -26308778.21449 -20482150.10348 20462315.5384 20462319.3174
+ -578.1904 -450.5404
+ 20582911.5124 -20678868.50749 -16093079.16348 20582910.7714 20582916.3454
+ -1150.9264 -896.8294
+ 23636965.4984 -3303607.54849 -2365123.06845 23636964.9504 23636969.3584
+ 2545.4774 1983.4934
+ 20723890.3094 -23862733.87349 -18579609.69448 20723889.7814 20723892.0324
+ 1268.0404 988.0804
+ 21836748.0474 -15952159.79849 -12187709.11847 21836748.5124 21836752.9964
+ 1795.8364 1399.3504
+ 22481009.1704 -12504691.79449 -9490766.45446 22481008.9574 22481012.9664
+ -3503.5354 -2730.0294
+ 05 1 20 4 37 30.0000000 0 7G 9G18G15G 5G22G14G21
+ 20869681.3344 -19893484.55549 -15480495.26348 20869680.9134 20869685.7454
+ -1766.1464 -1376.2154
+ 20465653.6934 -26291237.60149 -20468482.09148 20465653.2984 20465657.2144
+ -591.1694 -460.6464
+ 20589540.6254 -20644031.58749 -16065933.51448 20589539.9164 20589545.4284
+ -1171.5514 -912.8964
+ 23622454.3314 -3379859.08049 -2424539.81546 23622455.6404 23622460.9234
+ 2537.9484 1977.6284
+ 20716677.8974 -23900631.83249 -18609140.57248 20716677.8074 20716680.4414
+ 1258.5104 980.6554
+ 21826519.6924 -16005918.09449 -12229598.71147 21826518.8274 21826523.2744
+ 1788.0444 1393.2844
+ 22501033.9684 -12399461.46949 -9408768.81846 22501033.6794 22501037.9374
+ -3511.8404 -2736.4904
+ 05 1 20 4 38 0.0000000 0 7G 9G18G15G 5G22G14G21
+ 20879817.7084 -19840215.41049 -15438986.83548 20879817.3594 20879822.5304
+ -1785.1484 -1391.0244
+ 20469066.0754 -26273307.59749 -20454510.67348 20469065.8164 20469069.2694
+ -604.1534 -470.7674
+ 20596287.7234 -20608575.79649 -16038305.62948 20596287.1724 20596292.4954
+ -1192.1694 -928.9644
+ 23607989.5764 -3455882.18049 -2483778.58146 23607988.5684 23607993.4784
+ 2530.2524 1971.6284
+ 20709521.7484 -23938242.15649 -18638447.31748 20709521.0534 20709523.5614
+ 1248.8714 973.1464
+ 21816334.4194 -16059442.19749 -12271305.81147 21816334.0544 21816338.0504
+ 1780.2434 1387.2094
+ 22521105.6924 -12293983.79249 -9326578.43946 22521104.7134 22521108.7484
+ -3519.9994 -2742.8654
+ 05 1 20 4 38 30.0000000 0 7G 9G18G15G 5G22G14G21
+ 20890063.5344 -19786376.06849 -15397034.10148 20890063.2434 20890067.3884
+ -1804.1244 -1405.8184
+ 20472552.7024 -26254987.48049 -20440235.26048 20472551.8244 20472555.2224
+ -617.1724 -480.9164
+ 20603152.6704 -20572502.28549 -16010196.39948 20603151.7874 20603157.2274
+ -1212.7404 -944.9954
+ 23593564.3174 -3531673.62149 -2542836.83246 23593565.2374 23593570.1244
+ 2522.4554 1965.5414
+ 20702419.0534 -23975563.21949 -18667528.66548 20702419.1604 20702421.3434
+ 1239.1954 965.6034
+ 21806194.0704 -16112732.06449 -12312830.38647 21806193.0684 21806196.8904
+ 1772.4444 1381.1254
+ 22541224.1854 -12188261.92149 -9244197.78446 22541223.4704 22541226.9754
+ -3528.1034 -2749.1894
+ 05 1 20 4 39 0.0000000 0 7G 9G18G15G 5G22G14G21
+ 20900416.3834 -19731968.82349 -15354638.84848 20900416.1874 20900421.5554
+ -1823.0004 -1420.5154
+ 20476112.6514 -26236276.62249 -20425655.37448 20476112.0854 20476116.1334
+ -630.1984 -491.0594
+ 20610134.2314 -20535812.59449 -15981607.03748 20610133.4804 20610138.6924
+ -1233.2484 -960.9734
+ 23579189.7364 -3607230.28749 -2601712.15046 23579187.3064 23579193.9804
+ 2514.6434 1959.4654
+ 20695372.5464 -24012593.46049 -18696383.40148 20695372.5384 20695374.8734
+ 1229.4804 958.0434
+ 21796096.5324 -16165787.74049 -12354172.47747 21796096.6434 21796100.8524
+ 1764.6454 1375.0494
+ 22561387.7524 -12082298.38149 -9161628.77746 22561387.6444 22561391.0884
+ -3536.0834 -2755.3944
+ 05 1 20 4 39 30.0000000 0 7G 9G18G15G 5G22G14G21
+ 20910877.5184 -19676995.86349 -15311802.77748 20910877.2894 20910881.8794
+ -1841.8234 -1435.1854
+ 20479747.5994 -26217174.24949 -20410770.40948 20479747.3014 20479751.1684
+ -643.2904 -501.2624
+ 20617232.8094 -20498508.13849 -15952538.63548 20617232.4544 20617237.5664
+ -1253.7184 -976.9244
+ 23564856.4144 -3682548.89949 -2660401.96146 23564855.5824 23564860.4684
+ 2506.5874 1953.1794
+ 20688381.8994 -24049331.38549 -18725010.35648 20688381.6334 20688383.7314
+ 1219.7214 950.4334
+ 21786045.2364 -16218609.45049 -12395332.27647 21786044.5984 21786048.8064
+ 1756.8194 1368.9444
+ 22581596.5744 -11976096.94949 -9078874.39646 22581597.0364 22581601.4624
+ -3543.9394 -2761.5164
+ 05 1 20 4 40 0.0000000 0 8G 9G18G15G 5G22G14G 1G21
+ 20921445.5314 -19621459.65349 -15268527.81248 20921445.6514 20921450.0344
+ -1860.5814 -1449.8034
+ 20483457.5544 -26197679.62649 -20395579.79148 20483456.9124 20483460.7464
+ -656.3814 -511.4684
+ 20624449.0704 -20460590.30649 -15922992.27748 20624447.8244 20624453.3364
+ -1274.1554 -992.8494
+ 23550568.6754 -3757626.33849 -2718903.86246 23550568.3264 23550573.4884
+ 2498.5334 1946.9124
+ 20681446.4064 -24085775.68349 -18753408.51548 20681446.4854 20681448.6494
+ 1209.8834 942.7674
+ 21776039.4314 -16271197.26749 -12436309.78947 21776038.6044 21776041.9114
+ 1749.0094 1362.8624
+ 25131660.4314 -950728.54849 -720336.85645 25131662.1504 25131667.1054
+ 2715.2704 2115.7984
+ 22601852.2894 -11869660.20949 -8995936.67646 22601852.1024 22601854.4794
+ -3551.7764 -2767.6274
+ 05 1 20 4 40 30.0000000 0 8G 9G18G15G 5G22G14G 1G21
+ 20932120.8754 -19565362.59649 -15224815.81748 20932120.6854 20932125.4054
+ -1879.2114 -1464.3244
+ 20487242.0504 -26177792.06849 -20380082.98148 20487241.6624 20487245.3124
+ -669.4604 -521.6614
+ 20631780.5424 -20422060.48449 -15892969.04648 20631780.1484 20631785.1544
+ -1294.5144 -1008.7134
+ 23536328.7044 -3832459.59849 -2777215.44846 23536327.1664 23536333.5064
+ 2490.3704 1940.5424
+ 20674567.6224 -24121924.54449 -18781576.45448 20674567.4634 20674569.8424
+ 1200.0394 935.0944
+ 21766077.0574 -16323551.37049 -12477105.19747 21766075.8974 21766079.2864
+ 1741.2614 1356.8244
+ 25116167.9344 -1032139.37449 -783773.85245 25116168.9214 25116173.4664
+ 2712.1524 2113.3594
+ 22622151.1424 -11762991.09549 -8912817.85546 22622150.4744 22622153.3724
+ -3559.4494 -2773.6014
+ 05 1 20 4 41 0.0000000 0 8G 9G18G15G 5G22G14G 1G21
+ 20942902.3474 -19508707.08649 -15180668.66447 20942901.8564 20942906.0664
+ -1897.7794 -1478.7924
+ 20491101.0664 -26157511.25649 -20364279.74748 20491100.7194 20491104.6464
+ -682.5874 -531.8874
+ 20639228.0694 -20382919.98449 -15862469.95948 20639227.7044 20639233.3294
+ -1314.8504 -1024.5614
+ 23522133.1814 -3907045.67649 -2835334.44946 23522134.4374 23522140.4034
+ 2482.0464 1934.0704
+ 20667744.6534 -24157776.69149 -18809513.19248 20667745.1394 20667747.4584
+ 1190.1004 927.3524
+ 21756157.6674 -16375671.63749 -12517718.38247 21756157.0714 21756161.2444
+ 1733.4534 1350.7434
+ 25100698.5844 -1113455.71949 -847137.16945 25100696.9334 25100700.6094
+ 2709.0324 2110.9344
+ 22642491.1654 -11656092.94349 -8829520.59546 22642490.9634 22642495.5284
+ -3567.0334 -2779.5114
+ 05 1 20 4 41 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 20953789.0354 -19451495.59749 -15136088.28747 20953788.6494 20953792.7694
+ -1916.2944 -1493.2144
+ 20495035.4204 -26136836.56349 -20348169.59948 20495035.1544 20495039.0594
+ -695.7174 -542.1164
+ 20646793.0444 -20343170.33649 -15831496.20948 20646791.9874 20646797.3994
+ -1335.1354 -1040.3644
+ 23507989.1844 -3981381.30149 -2893258.31846 23507988.9864 23507993.0304
+ 2473.6114 1927.4944
+ 20660979.8274 -24193330.49349 -18837217.45248 20660979.5184 20660982.0324
+ 1180.1354 919.5874
+ 21746283.9944 -16427558.20849 -12558149.47247 21746283.7324 21746287.0244
+ 1725.6484 1344.6634
+ 25085238.4844 -1194677.46049 -910426.80445 25085238.8254 25085244.3434
+ 2705.8514 2108.4464
+ 22662876.5764 -11548968.78849 -8746047.24046 22662876.7684 22662881.0854
+ -3574.5354 -2785.3404
+ 24638357.1134 -110701.74049 -64406.95543
+ 3148.0994 2453.1284
+ 05 1 20 4 42 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 20964781.4534 -19393730.42649 -15091076.45648 20964780.9134 20964785.8244
+ -1934.6994 -1507.5674
+ 20499044.8324 -26115767.23149 -20331751.93448 20499044.4384 20499048.3154
+ -708.8804 -552.3754
+ 20654472.4094 -20302813.05449 -15800048.98948 20654471.9104 20654477.4504
+ -1355.3544 -1056.1234
+ 23493891.1014 -4055463.46849 -2950984.68346 23493890.9584 23493895.4224
+ 2465.1584 1920.8934
+ 20654270.9224 -24228584.32549 -18864687.96948 20654270.9364 20654273.2454
+ 1170.1294 911.7854
+ 21736454.8194 -16479211.34449 -12598398.66047 21736454.3704 21736458.2524
+ 1717.8874 1338.6094
+ 25069801.1144 -1275804.15349 -973642.27745 25069801.2714 25069807.2144
+ 2702.6814 2105.9774
+ 22683305.2654 -11441621.44549 -8662399.97346 22683303.4644 22683308.1854
+ -3581.9614 -2791.1404
+ 24620382.2544 -205170.18249 -138018.87745
+ 3149.9094 2454.4824
+ 05 1 20 4 42 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 20975878.3004 -19335414.00349 -15045635.09147 20975878.3674 20975882.5474
+ -1953.0214 -1521.8294
+ 20503129.4944 -26094302.57449 -20315026.22548 20503129.1324 20503132.9924
+ -722.0724 -562.6514
+ 20662267.3494 -20261849.73649 -15768129.51948 20662266.6454 20662272.1884
+ -1375.5274 -1071.8374
+ 23479843.2364 -4129288.94849 -3008510.96946 23479842.3884 23479849.3124
+ 2456.5454 1914.2024
+ 20647619.5714 -24263536.90649 -18891923.75148 20647619.5894 20647622.0684
+ 1160.0614 903.9434
+ 21726669.4724 -16530631.03149 -12638465.95447 21726669.2044 21726673.1044
+ 1710.1114 1332.5654
+ 25054381.6274 -1356835.86349 -1036783.82745 25054381.2844 25054385.9874
+ 2699.4894 2103.4964
+ 22703774.4664 -11334053.73749 -8578581.00546 22703773.3984 22703777.3814
+ -3589.2184 -2796.7884
+ 24602392.2844 -299692.06949 -211672.29645 24602396.6074
+ 3151.6794 2455.8514
+ 05 1 20 4 43 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 20987080.2434 -19276548.85449 -14999766.13847 20987079.6594 20987084.7414
+ -1971.2784 -1536.0594
+ 20507289.1364 -26072442.14449 -20297992.12448 20507288.7504 20507292.4954
+ -735.2634 -572.9334
+ 20670177.9764 -20220281.99649 -15735739.07848 20670177.0024 20670182.3724
+ -1395.6454 -1087.5124
+ 23465843.9284 -4202854.70549 -3065834.93746 23465843.6744 23465850.1944
+ 2447.8204 1907.3934
+ 20641025.6864 -24298186.52349 -18918923.45148 20641025.7114 20641028.3114
+ 1149.9274 896.0474
+ 21716929.0624 -16581817.43649 -12678351.45347 21716929.0904 21716932.7494
+ 1702.3354 1326.5034
+ 25038977.9704 -1437772.45149 -1099851.26845 25038979.4654 25038984.6384
+ 2696.2864 2101.0024
+ 22724284.2484 -11226268.77449 -8494592.73046 22724284.4144 22724288.0604
+ -3596.4214 -2802.4044
+ 24584393.2144 -394263.99849 -285364.67445 24584395.8634 24584401.5854
+ 3152.9744 2456.8714
+ 05 1 20 4 43 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 20998385.8224 -19217137.42149 -14953471.51047 20998385.4284 20998390.5314
+ -1989.4644 -1550.2324
+ 20511524.9064 -26050185.15449 -20280649.01348 20511524.5134 20511527.8944
+ -748.5254 -583.2694
+ 20678202.0794 -20178111.29049 -15702878.78648 20678201.5434 20678206.9834
+ -1415.7254 -1103.1654
+ 23451895.9284 -4276157.60549 -3122954.07646 23451895.2884 23451899.4054
+ 2439.0074 1900.5334
+ 20634490.1954 -24332531.60349 -18945685.85848 20634490.3744 20634492.5094
+ 1139.7464 888.1134
+ 21707233.6714 -16632770.71949 -12718055.29647 21707232.6074 21707236.5134
+ 1694.5764 1320.4434
+ 25023597.6414 -1518613.76949 -1162844.48345 25023596.2894 25023602.6284
+ 2693.1654 2098.5694
+ 22744838.4044 -11118269.64149 -8410437.52546 22744836.1584 22744839.6764
+ -3603.5054 -2807.9364
+ 24566388.4914 -488883.49349 -359094.18345 24566391.0134 24566396.7444
+ 3154.7094 2458.2184
+ 05 1 20 4 44 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21009795.0424 -19157182.21549 -14906753.17647 21009794.7764 21009799.4234
+ -2007.5374 -1564.3084
+ 20515835.7744 -26027531.18049 -20262996.56748 20515835.1774 20515838.7784
+ -761.7534 -593.5754
+ 20686341.4954 -20135339.22849 -15669549.91048 20686340.7574 20686346.8014
+ -1435.7384 -1118.7554
+ 23437998.4034 -4349194.77949 -3179866.13046 23437997.0654 23438002.1854
+ 2430.0964 1893.5754
+ 20628012.9564 -24366570.79849 -18972209.90948 20628012.9244 20628015.1464
+ 1129.5384 880.1624
+ 21697581.9194 -16683491.04649 -12757577.62847 21697581.3664 21697584.9984
+ 1686.7934 1314.3874
+ 25008229.6054 -1599359.57949 -1225763.29445 25008230.6074 25008235.4484
+ 2689.9834 2096.0874
+ 22765427.5554 -11010059.42449 -8326117.85546 22765427.7964 22765432.1244
+ -3610.4824 -2813.3594
+ 24548377.1994 -583547.64649 -432858.54345 24548377.3314 24548381.0804
+ 3156.2594 2459.4224
+ 05 1 20 4 44 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21021307.4394 -19096685.63949 -14859612.98047 21021306.8744 21021311.7724
+ -2025.5604 -1578.3604
+ 20520221.8064 -26004479.41849 -20245034.14448 20520221.8264 20520225.7744
+ -775.0364 -603.9234
+ 20694594.3794 -20091967.62349 -15635753.86448 20694594.3034 20694599.6444
+ -1455.7194 -1134.3244
+ 23424149.4324 -4421962.92349 -3236568.59246 23424149.2364 23424153.7154
+ 2421.0744 1886.5434
+ 20621594.1544 -24400302.48849 -18998494.33548 20621593.9484 20621596.1674
+ 1119.2254 872.1234
+ 21687973.6714 -16733978.63849 -12796918.60247 21687973.1904 21687977.0634
+ 1679.0184 1308.3214
+ 24992887.1064 -1680009.64149 -1288607.44445 24992885.2614 24992889.6844
+ 2686.6914 2093.5254
+ 22786058.9284 -10901640.80649 -8241635.82146 22786059.2344 22786063.8284
+ -3617.4124 -2818.7564
+ 24530355.0064 -678253.54649 -506655.37045 24530354.5984 24530357.6974
+ 3157.5354 2460.4184
+ 05 1 20 4 45 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21032922.2154 -19035650.25749 -14812052.94447 21032921.4804 21032926.0144
+ -2043.4544 -1592.3064
+ 20524684.5444 -25981029.21449 -20226761.25148 20524684.1624 20524687.7254
+ -788.3034 -614.2644
+ 20702962.4334 -20047998.20049 -15601491.98748 20702961.5414 20702966.8854
+ -1475.6084 -1149.8254
+ 23410354.1854 -4494458.82849 -3293058.91446 23410354.4954 23410358.5834
+ 2411.9724 1879.4574
+ 20615234.1814 -24433725.25149 -19024538.05248 20615233.9184 20615235.9984
+ 1108.9304 864.1034
+ 21678410.9554 -16784233.27749 -12836078.06347 21678410.7424 21678413.9324
+ 1671.2724 1302.2874
+ 24977554.5534 -1760563.98549 -1351377.04245 24977555.0604 24977559.8944
+ 2683.5324 2091.0684
+ 22806728.4414 -10793017.34449 -8156994.18646 22806729.3954 22806734.5814
+ -3624.1224 -2823.9924
+ 24512327.2184 -772998.32849 -580482.48545 24512325.3864 24512330.2204
+ 3158.8204 2461.4194
+ 05 1 20 4 45 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21044638.4424 -18974078.58349 -14764075.01847 21044638.2234 21044642.4104
+ -2061.2784 -1606.1904
+ 20529223.4294 -25957180.21549 -20208177.60248 20529222.6284 20529226.1724
+ -801.6034 -624.6244
+ 20711442.3974 -20003432.54549 -15566765.50448 20711442.0174 20711447.3354
+ -1495.4404 -1165.2764
+ 23396611.3504 -4566679.48449 -3349334.71046 23396610.0554 23396615.8234
+ 2402.7684 1872.2694
+ 20608932.7734 -24466837.36449 -19050339.69548 20608932.7354 20608935.0444
+ 1098.5594 856.0184
+ 21668891.6194 -16834255.34849 -12875056.27947 21668891.4734 21668895.1204
+ 1663.5344 1296.2554
+ 24962243.2634 -1841022.26049 -1414071.78345 24962242.3764 24962249.6124
+ 2680.3164 2088.5534
+ 22827439.7144 -10684191.75749 -8072195.05946 22827438.4204 22827442.0724
+ -3630.8224 -2829.2104
+ 24494287.1634 -867779.25049 -654337.69945 24494287.1294 24494294.1494
+ 3160.0314 2462.3564
+ 05 1 20 4 46 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21056456.4394 -18911973.19549 -14715681.20047 21056456.1994 21056461.1064
+ -2079.0434 -1620.0314
+ 20533837.1514 -25932932.09249 -20189282.96548 20533836.7774 20533840.2744
+ -814.9254 -635.0074
+ 20720036.5274 -19958272.32649 -15531575.72848 20720035.8654 20720041.0024
+ -1515.2444 -1180.7094
+ 23382921.9414 -4638621.73949 -3405393.56646 23382920.8364 23382924.6364
+ 2393.4044 1864.9824
+ 20602691.0584 -24499637.54949 -19075898.28048 20602690.8264 20602693.5704
+ 1088.1364 847.9014
+ 21659417.3834 -16884044.72749 -12913853.19747 21659417.0474 21659421.1264
+ 1655.7644 1290.2104
+ 24946952.4294 -1921384.25449 -1476691.45845 24946950.5394 24946958.0334
+ 2677.0864 2086.0394
+ 22848186.3214 -10575166.91749 -7987240.60746 22848184.9554 22848189.3554
+ -3637.4584 -2834.3734
+ 24476249.9024 -962593.29549 -728218.81345 24476247.8974 24476251.5894
+ 3161.0504 2463.1584
+ 05 1 20 4 46 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21068375.2534 -18849336.69149 -14666873.53547 21068375.5394 21068380.1694
+ -2096.6924 -1633.7834
+ 20538527.3384 -25908284.52349 -20170077.05948 20538527.1174 20538530.6444
+ -828.2294 -645.3684
+ 20728742.7374 -19912519.45849 -15495924.14748 20728742.3264 20728747.5554
+ -1534.9504 -1196.0584
+ 23369283.3024 -4710282.82949 -3461233.35346 23369282.0044 23369288.2724
+ 2383.9774 1857.6574
+ 20596508.7934 -24532124.06749 -19101212.45348 20596509.0234 20596511.3414
+ 1077.6464 839.7284
+ 21649987.6414 -16933601.69649 -12952469.01147 21649986.8174 21649990.4754
+ 1648.0294 1284.1804
+ 24931677.6214 -2001650.00249 -1539236.18945 24931676.9174 24931680.9334
+ 2673.8794 2083.5454
+ 22868969.8664 -10465945.93049 -7902133.37846 22868970.0804 22868973.1904
+ -3643.9364 -2839.4104
+ 24458198.7204 -1057437.66049 -802123.56645 24458198.4064 24458202.1974
+ 3161.9294 2463.8454
+ 05 1 20 4 47 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21080396.5814 -18786171.56149 -14617653.94947 21080395.6124 21080400.1054
+ -2114.2694 -1647.4864
+ 20543293.7514 -25883236.87149 -20150559.40648 20543293.3454 20543297.1634
+ -841.5774 -655.7784
+ 20737561.8104 -19866175.62249 -15459812.07548 20737561.1454 20737566.7354
+ -1554.6374 -1211.4094
+ 23355700.8594 -4781659.38349 -3516851.44946 23355701.9734 23355706.2484
+ 2374.4284 1850.2084
+ 20590387.4654 -24564295.54649 -19126281.14248 20590387.1204 20590389.1914
+ 1067.1064 831.5084
+ 21640600.5304 -16982926.29849 -12990903.75747 21640600.5964 21640604.6684
+ 1640.2924 1278.1484
+ 24916420.3164 -2081819.32149 -1601705.77145 24916420.5414 24916426.0924
+ 2670.7124 2081.0744
+ 22889791.0424 -10356531.94249 -7816875.76646 22889790.2034 22889794.3654
+ -3650.3094 -2844.4074
+ 24440144.8884 -1152309.22149 -876049.55245 24440145.6714 24440149.6264
+ 3162.7684 2464.4944
+ 05 1 20 4 47 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21092515.3594 -18722480.43549 -14568024.49547 21092515.2244 21092520.3114
+ -2131.7374 -1661.0994
+ 20548136.2664 -25857788.51149 -20130729.50248 20548136.0314 20548140.0564
+ -854.9394 -666.1904
+ 20746492.7744 -19819242.55249 -15423240.85248 20746492.3024 20746497.5804
+ -1574.2184 -1226.6664
+ 23342173.3734 -4852748.45049 -3572245.51146 23342172.9114 23342178.6944
+ 2364.7914 1842.6814
+ 20584325.8374 -24596150.56949 -19151103.23748 20584325.3924 20584327.3134
+ 1056.5514 823.2824
+ 21631259.9314 -17032018.74349 -13029157.61847 21631259.1814 21631262.4874
+ 1632.5754 1272.1294
+ 24901184.3114 -2161892.02349 -1664100.02545 24901184.2454 24901189.1954
+ 2667.5014 2078.5684
+ 22910646.8894 -10246927.73149 -7731469.90646 22910646.8814 22910650.4874
+ -3656.6114 -2849.3214
+ 24422085.6944 -1247205.38149 -949994.65845 24422087.0204 24422090.7554
+ 3163.5994 2465.1464
+ 05 1 20 4 48 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21104735.8144 -18658265.90449 -14517987.19447 21104735.4634 21104740.0664
+ -2149.1614 -1674.6664
+ 20553055.2794 -25831938.63449 -20110586.74648 20553055.1414 20553059.1054
+ -868.3224 -676.6144
+ 20755536.1304 -19771722.09549 -15386211.92948 20755535.0754 20755540.7894
+ -1593.7744 -1241.9004
+ 23328702.0254 -4923546.80749 -3627413.02146 23328701.4434 23328706.4124
+ 2355.0404 1835.0984
+ 20578324.2214 -24627687.41649 -19175677.40548 20578324.2324 20578326.1034
+ 1045.9194 815.0044
+ 21621960.9714 -17080879.04449 -13067230.56947 21621960.7034 21621964.6214
+ 1624.8324 1266.0984
+ 24885965.0194 -2241867.84349 -1726418.80645 24885966.0204 24885971.1284
+ 2664.2394 2076.0304
+ 22931539.4524 -10137136.76149 -7645918.47046 22931539.3374 22931543.3664
+ -3662.7664 -2854.0994
+ 24404023.2854 -1342123.07849 -1023956.51045 24404023.9624 24404030.4054
+ 3164.2504 2465.6514
+ 05 1 20 4 48 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21117054.6874 -18593530.58249 -14467544.08847 21117053.9564 21117058.7524
+ -2166.4794 -1688.1674
+ 20558050.4564 -25805687.12649 -20090131.02448 20558050.4064 20558054.3654
+ -881.7474 -687.0734
+ 20764690.1244 -19723616.15649 -15348726.78248 20764689.5114 20764694.8024
+ -1613.2834 -1257.1034
+ 23315285.9724 -4994051.56649 -3682351.78546 23315284.7514 23315289.5774
+ 2345.2274 1827.4434
+ 20572384.3124 -24658904.61449 -19200002.49448 20572383.8584 20572385.7444
+ 1035.2284 806.6724
+ 21612707.4434 -17129507.46249 -13105122.84547 21612707.0354 21612711.0674
+ 1617.0714 1260.0564
+ 24870764.1624 -2321746.70249 -1788662.04045 24870765.5634 24870768.4224
+ 2661.0334 2073.5304
+ 22952467.0554 -10027161.64749 -7560223.61346 22952466.6884 22952469.7774
+ -3668.8874 -2858.8834
+ 24385958.6934 -1437059.40049 -1097932.91345 24385959.2334 24385962.7184
+ 3164.8814 2466.1514
+ 05 1 20 4 49 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21129471.2214 -18528277.22749 -14416697.31247 21129471.3264 21129475.7294
+ -2183.7004 -1701.5834
+ 20563123.2444 -25779033.26749 -20069361.78148 20563122.8424 20563126.4524
+ -895.1714 -697.5364
+ 20773955.4194 -19674926.39349 -15310786.71048 20773954.3534 20773960.1794
+ -1632.7074 -1272.2384
+ 23301923.5724 -5064259.49149 -3737059.23646 23301923.9854 23301928.4624
+ 2335.3004 1819.7074
+ 20566503.9054 -24689800.61049 -19224077.30048 20566504.1674 20566506.4964
+ 1024.5084 798.3204
+ 21603497.0684 -17177904.17349 -13142834.56047 21603497.2264 21603501.4304
+ 1609.3624 1254.0544
+ 24855584.3164 -2401528.37449 -1850829.51145 24855583.5874 24855588.8494
+ 2657.7424 2070.9664
+ 22973430.4384 -9917005.50649 -7474387.69746 22973429.1014 22973433.4824
+ -3674.8464 -2863.5124
+ 24367890.0714 -1532011.33749 -1171921.45545 24367889.2054 24367893.6444
+ 3165.3174 2466.4834
+ 05 1 20 4 49 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21141987.4914 -18462508.28249 -14365448.78547 21141987.0234 21141991.1994
+ -2200.8484 -1714.9424
+ 20568271.8094 -25751976.54949 -20048278.61948 20568271.4184 20568275.3954
+ -908.5874 -707.9884
+ 20783331.9134 -19625654.74249 -15272393.21848 20783330.7704 20783336.4074
+ -1652.0734 -1287.3284
+ 23288621.2384 -5134167.63749 -3791533.12646 23288621.2044 23288626.6084
+ 2325.2514 1811.8944
+ 20560685.7274 -24720373.90349 -19247900.64748 20560686.2604 20560688.7134
+ 1013.7154 789.9094
+ 21594332.8184 -17226069.24249 -13180365.78547 21594331.9844 21594336.2444
+ 1601.6654 1248.0494
+ 24840419.5684 -2481212.90949 -1912921.29845 24840419.3034 24840425.1304
+ 2654.5054 2068.4364
+ 22994426.1414 -9806671.31449 -7388413.02346 22994424.8474 22994428.9034
+ -3680.7134 -2868.0994
+ 24349815.3114 -1626975.97949 -1245919.90945 24349818.3244 24349823.2224
+ 3165.6954 2466.7774
+ 05 1 20 4 50 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21154599.5724 -18396226.50249 -14313800.63447 21154599.9014 21154604.5364
+ -2217.9224 -1728.2554
+ 20573497.3984 -25724516.87149 -20026881.46648 20573496.7354 20573500.5144
+ -922.0444 -718.4764
+ 20792817.8984 -19575803.17749 -15233547.84348 20792817.0534 20792822.4574
+ -1671.3754 -1302.3734
+ 23275376.0224 -5203773.05449 -3845771.06746 23275375.2294 23275380.9324
+ 2315.0564 1803.9364
+ 20554930.2424 -24750622.95649 -19271471.34348 20554930.2544 20554932.4544
+ 1002.8694 781.4584
+ 21585211.4044 -17274002.95749 -13217716.72547 21585210.6064 21585214.4624
+ 1593.9294 1242.0204
+ 24825276.4254 -2560800.07449 -1974937.26345 24825274.9014 24825280.4554
+ 2651.2994 2065.9504
+ 23015454.2514 -9696162.11649 -7302301.96446 23015453.8704 23015458.5944
+ -3686.5454 -2872.6354
+ 24331747.3034 -1721950.52649 -1319926.05645 24331746.2164 24331749.9824
+ 3165.9304 2466.9574
+ 05 1 20 4 50 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21167309.6074 -18329434.53249 -14261754.94447 21167309.5834 21167314.4164
+ -2234.8654 -1741.4544
+ 20578799.2894 -25696653.80949 -20005169.98648 20578798.8164 20578802.9294
+ -935.5094 -728.9684
+ 20802413.8334 -19525373.70149 -15194252.15148 20802413.3324 20802418.9164
+ -1690.5794 -1317.3364
+ 23262189.3764 -5273072.69049 -3899770.77446 23262188.6654 23262192.9634
+ 2304.7764 1795.9374
+ 20549236.1534 -24780546.23449 -19294788.18448 20549236.0114 20549238.1594
+ 992.0114 772.9954
+ 21576132.7974 -17321705.29149 -13254887.36847 21576132.9284 21576137.2324
+ 1586.2164 1236.0184
+ 24810147.0534 -2640289.89849 -2036877.36945 24810147.1894 24810153.2214
+ 2648.0374 2063.4054
+ 23036516.1434 -9585480.92049 -7216056.88646 23036516.3134 23036520.0514
+ -3692.2034 -2877.0304
+ 24313670.0754 -1816931.90849 -1393937.55945 24313669.9404 24313675.8424
+ 3166.1094 2467.0984
+ 05 1 20 4 51 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21180117.2464 -18262134.91449 -14209313.68947 21180116.8064 21180121.2964
+ -2251.7434 -1754.6094
+ 20584178.3824 -25668386.47749 -19983143.49148 20584177.8894 20584181.9164
+ -948.9784 -739.4634
+ 20812120.5444 -19474368.12949 -15154507.55348 20812119.3654 20812125.0774
+ -1709.7674 -1332.2864
+ 23249059.9894 -5342063.37749 -3953529.76546 23249060.4174 23249064.8554
+ 2294.5034 1787.9274
+ 20543604.1764 -24810142.41249 -19317850.14248 20543604.2264 20543606.1824
+ 981.0914 764.4864
+ 21567100.8774 -17369176.43449 -13291877.86747 21567099.7394 21567103.0784
+ 1578.5094 1230.0044
+ 24795039.3564 -2719682.25949 -2098741.49645 24795038.6964 24795043.6854
+ 2644.7924 2060.8744
+ 23057611.4324 -9474630.89249 -7129680.26346 23057611.1144 23057614.2114
+ -3697.7304 -2881.3374
+ 24295597.1824 -1911917.17049 -1467952.07445 24295595.5954 24295601.3924
+ 3166.2854 2467.2294
+ 05 1 20 4 51 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21193019.5024 -18194330.33849 -14156478.95047 21193019.0244 21193023.7844
+ -2268.5504 -1767.7014
+ 20589634.3024 -25639714.52049 -19960801.70448 20589634.0144 20589637.9934
+ -962.4784 -749.9814
+ 20821936.2094 -19422788.38349 -15114315.55148 20821935.2674 20821940.2494
+ -1728.8854 -1347.1834
+ 23235991.1274 -5410742.21649 -4007045.71546 23235990.4494 23235995.7944
+ 2284.0204 1779.7534
+ 20538034.6594 -24839410.07549 -19340656.11548 20538034.6844 20538036.6234
+ 970.0834 755.9094
+ 21558110.5834 -17416416.30849 -13328688.15747 21558110.3254 21558113.5144
+ 1570.8144 1224.0124
+ 24779948.2294 -2798977.07749 -2160529.61245 24779948.5104 24779954.4614
+ 2641.5804 2058.3774
+ 23078737.1874 -9363615.06649 -7043174.45246 23078735.4264 23078739.7034
+ -3703.2294 -2885.6334
+ 24277519.6884 -2006903.30749 -1541967.29545 24277521.6114 24277527.4744
+ 3166.2534 2467.2154
+ 05 1 20 4 52 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21206017.3184 -18126023.71149 -14103253.00047 21206017.5804 21206022.1034
+ -2285.2494 -1780.7174
+ 20595168.2084 -25610637.58549 -19938144.35248 20595167.4364 20595170.9824
+ -976.0144 -760.5304
+ 20831859.6564 -19370636.56849 -15073677.77648 20831859.0244 20831864.3544
+ -1747.9254 -1362.0214
+ 23222981.2724 -5479106.13549 -4060316.26446 23222981.0514 23222985.8594
+ 2273.4934 1771.5474
+ 20532528.1254 -24868347.45849 -19363204.72448 20532527.8634 20532529.9774
+ 959.0534 747.3134
+ 21549164.9594 -17463425.50649 -13365318.69147 21549164.7074 21549168.3184
+ 1563.1034 1218.0044
+ 24764882.9394 -2878173.96949 -2222241.44745 24764880.3024 24764885.2824
+ 2638.2194 2055.7564
+ 23099893.4854 -9252436.18149 -6956541.54846 23099893.1364 23099896.4844
+ -3708.6604 -2889.8544
+ 24259445.3574 -2101887.47049 -1615980.93745 24259446.7524 24259450.1184
+ 3166.0924 2467.0834
+ 05 1 20 4 52 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21219111.2124 -18057217.59449 -14049637.85447 21219110.9564 21219115.3634
+ -2301.8264 -1793.6364
+ 20600778.3364 -25581155.21849 -19915171.07948 20600777.7604 20600781.6054
+ -989.5064 -771.0444
+ 20841892.2344 -19317914.56449 -15032595.70548 20841891.8884 20841897.3914
+ -1766.8854 -1376.7944
+ 23210032.2644 -5547152.22349 -4113339.20946 23210032.0484 23210038.0254
+ 2262.9154 1763.3094
+ 20527084.1174 -24896953.11649 -19385494.84848 20527084.2734 20527086.5894
+ 947.9724 738.6804
+ 21540263.7344 -17510203.87849 -13401769.36047 21540263.2994 21540267.0624
+ 1555.4274 1212.0224
+ 24749828.8244 -2957272.99649 -2283877.00845 24749829.3734 24749834.0054
+ 2635.0204 2053.2604
+ 23121079.7624 -9141097.46249 -6869784.12546 23121079.5874 23121084.1954
+ -3713.9204 -2893.9714
+ 24241370.8604 -2196866.53849 -1689990.60045 24241372.1974 24241378.0924
+ 3165.8654 2466.9074
+ 05 1 20 4 53 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21232299.0884 -17987914.69249 -13995635.59647 21232299.4494 21232303.1834
+ -2318.3544 -1806.5044
+ 20606465.8384 -25551267.20849 -19891881.71948 20606465.4434 20606468.8514
+ -1003.0194 -781.5744
+ 20852033.6634 -19264624.67649 -14991071.12448 20852032.8594 20852037.9054
+ -1785.7754 -1391.5104
+ 23197145.1334 -5614877.59149 -4166112.22046 23197144.4454 23197150.0594
+ 2252.1344 1754.9204
+ 20521704.0234 -24925225.61349 -19407525.37048 20521704.2734 20521706.5524
+ 936.8464 730.0114
+ 21531405.8334 -17556751.43149 -13438040.17547 21531405.0784 21531409.0394
+ 1547.7464 1206.0374
+ 24734795.8614 -3036273.98449 -2345436.15145 24734795.1634 24734799.4624
+ 2631.7414 2050.7104
+ 23142296.9124 -9029601.59249 -6782904.20746 23142296.5624 23142300.6604
+ -3719.1014 -2897.9994
+ 24223300.7674 -2291837.62349 -1763994.06145 24223301.2654 24223304.1744
+ 3165.4764 2466.6044
+ 05 1 20 4 53 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21245580.7484 -17918117.62149 -13941248.25547 21245581.0094 21245585.6854
+ -2334.7674 -1819.3044
+ 20612230.3054 -25520973.31049 -19868276.08548 20612229.9164 20612233.7084
+ -1016.5694 -792.1344
+ 20862282.2274 -19210768.91549 -14949105.59848 20862281.1054 20862286.5574
+ -1804.6184 -1406.1974
+ 23184318.9014 -5682279.03249 -4218632.78446 23184318.8694 23184324.4094
+ 2241.2714 1746.4364
+ 20516387.8394 -24953163.48149 -19429295.13448 20516387.7934 20516390.2054
+ 925.6524 721.2874
+ 21522591.7174 -17603068.46749 -13474131.37447 21522591.6834 21522595.5104
+ 1540.0654 1200.0494
+ 24719781.2854 -3115176.79449 -2406918.83845 24719780.9004 24719784.3704
+ 2628.4494 2048.1464
+ 23163543.3304 -8917951.88749 -6695904.42946 23163542.9904 23163547.6824
+ -3724.1874 -2901.9614
+ 24205230.2194 -2386797.71649 -1837988.98845 24205230.3854 24205234.7134
+ 3165.1424 2466.3464
+ 05 1 20 4 54 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21258955.8104 -17847829.13749 -13886478.01947 21258956.0024 21258961.4994
+ -2351.1194 -1832.0414
+ 20618072.7514 -25490273.11849 -19844353.86248 20618071.9304 20618075.5984
+ -1030.1194 -802.6904
+ 20872637.3644 -19156349.25949 -14906700.68348 20872636.6124 20872641.9564
+ -1823.3884 -1420.8214
+ 23171555.1724 -5749353.50049 -4270898.58646 23171554.5214 23171559.1794
+ 2230.2914 1737.8984
+ 20511135.7584 -24980765.10949 -19450802.90148 20511135.6184 20511137.7424
+ 914.4064 712.5264
+ 21513822.4714 -17649155.21249 -13510043.11547 21513821.5334 21513825.3074
+ 1532.3784 1194.0604
+ 24704784.1774 -3193981.45149 -2468324.98745 24704782.9664 24704788.7964
+ 2625.1744 2045.5914
+ 23184818.1204 -8806151.04549 -6608786.87046 23184816.4714 23184822.9404
+ -3729.2144 -2905.8874
+ 24187158.3474 -2481743.75949 -1911972.89145 24187160.3774 24187167.9564
+ 3164.6954 2465.9994
+ 05 1 20 4 54 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21272424.5134 -17777052.05449 -13831327.04047 21272424.5944 21272429.8724
+ -2367.3304 -1844.6764
+ 20623991.3654 -25459166.10449 -19820114.63248 20623991.3424 20623995.1894
+ -1043.6934 -813.2674
+ 20883099.3164 -19101367.94649 -14863858.11448 20883099.0684 20883104.5644
+ -1842.0364 -1435.3534
+ 23158853.0994 -5816098.11049 -4322907.35046 23158853.6814 23158858.5394
+ 2219.2774 1729.3034
+ 20505947.7844 -25008028.99049 -19472047.48648 20505947.4574 20505949.7234
+ 903.1544 703.7564
+ 21505095.6304 -17695011.92449 -13545775.61747 21505095.2034 21505099.0314
+ 1524.7234 1188.0954
+ 24689805.9534 -3272687.66349 -2529654.53645 24689804.0594 24689813.4524
+ 2621.8764 2043.0214
+ 23206120.8904 -8694202.41849 -6521554.16046 23206120.9414 23206125.1294
+ -3734.0564 -2909.6524
+ 24169097.7744 -2576672.68249 -1985943.48745 24169098.4794 24169103.1964
+ 3163.9524 2465.4194
+ 05 1 20 4 55 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21285985.5664 -17705789.12549 -13775797.48347 21285985.5264 21285990.3814
+ -2383.4864 -1857.2614
+ 20629989.1824 -25427652.12249 -19795558.28348 20629988.6244 20629992.3754
+ -1057.2324 -823.8134
+ 20893668.9294 -19045827.19449 -14820579.61848 20893668.0774 20893673.5734
+ -1860.6644 -1449.8684
+ 23146216.6654 -5882509.89149 -4374656.77946 23146216.0674 23146220.8224
+ 2208.0984 1720.6084
+ 20500824.0014 -25034953.73749 -19493027.80848 20500823.8414 20500826.0714
+ 891.8164 694.9224
+ 21496413.9374 -17740638.51549 -13581328.80347 21496413.0484 21496416.5904
+ 1517.0554 1182.1234
+ 24674845.3084 -3351295.41449 -2590907.33945 24674844.6004 24674851.5544
+ 2618.5694 2040.4354
+ 23227451.0364 -8582108.94549 -6434208.63846 23227450.7994 23227456.1254
+ -3738.8364 -2913.3874
+ 24151034.7464 -2671581.64849 -2059898.55845 24151036.3184 24151041.2844
+ 3163.3154 2464.9224
+ 05 1 20 4 55 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21299638.1104 -17634043.10949 -13719891.50347 21299638.4104 21299642.9504
+ -2399.5614 -1869.7884
+ 20636063.0804 -25395730.76549 -19770684.50648 20636062.8144 20636066.4944
+ -1070.8394 -834.4204
+ 20904344.5064 -18989729.27549 -14776866.96148 20904343.5194 20904349.1004
+ -1879.2104 -1464.3194
+ 23133642.8114 -5948585.81349 -4426144.49246 23133642.3574 23133647.3744
+ 2196.8874 1711.8604
+ 20495765.0204 -25061537.70649 -19513742.59448 20495764.7324 20495767.0904
+ 880.4254 686.0444
+ 21487774.4754 -17786035.21649 -13616702.84747 21487773.9884 21487777.7974
+ 1509.3934 1176.1524
+ 24659907.4744 -3429804.64449 -2652083.34045 24659906.8704 24659911.7904
+ 2615.3244 2037.9164
+ 23248809.4064 -8469873.60249 -6346752.51046 23248808.6084 23248812.9114
+ -3743.5274 -2917.0194
+ 24132980.4244 -2766467.76849 -2133835.76445 24132980.3874 24132986.0844
+ 3162.5044 2464.2904
+ 05 1 20 4 56 0.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21313383.2194 -17561816.68649 -13663611.17047 21313382.7014 21313387.1234
+ -2415.5214 -1882.2224
+ 20642215.0674 -25363401.48049 -19745492.85148 20642214.7804 20642218.4614
+ -1084.4494 -845.0244
+ 20915124.7864 -18933076.23449 -14732721.74848 20915124.2724 20915129.6424
+ -1897.6764 -1478.7104
+ 23121134.1744 -6014323.03749 -4477368.29446 23121133.5714 23121137.9584
+ 2185.5414 1703.0074
+ 20490771.5394 -25087779.58749 -19534190.80948 20490771.3094 20490773.5474
+ 869.0084 677.1474
+ 21479179.2074 -17831202.21549 -13651897.91147 21479178.7654 21479182.9934
+ 1501.7384 1170.1844
+ 24644987.3614 -3508215.28649 -2713182.53045 24644988.0704 24644991.2894
+ 2612.0674 2035.3754
+ 23270194.6554 -8357499.15749 -6259187.99446 23270193.3274 23270197.5414
+ -3748.1134 -2920.6114
+ 24114928.5514 -2861327.62749 -2207752.55045 24114928.4354 24114934.3354
+ 3161.4954 2463.5004
+ 05 1 20 4 56 30.0000000 0 9G 9G18G15G 5G22G14G 1G21G30
+ 21327217.7734 -17489112.79249 -13606958.78847 21327217.8694 21327222.4654
+ -2431.3854 -1894.5894
+ 20648445.1474 -25330664.30449 -19719983.37448 20648444.4214 20648448.2624
+ -1098.0354 -855.6124
+ 20926010.4874 -18875870.10449 -14688145.55348 20926009.9474 20926015.6824
+ -1916.0804 -1493.0484
+ 23108688.5994 -6079718.55049 -4528325.80246 23108688.5634 23108693.5594
+ 2174.1504 1694.1394
+ 20485843.0754 -25113678.08949 -19554371.46048 20485843.0994 20485845.2774
+ 857.5484 668.2184
+ 21470627.6084 -17876139.65249 -13686914.09447 21470627.5614 21470631.3674
+ 1494.1244 1164.2554
+ 24630085.7634 -3586527.23849 -2774204.80645 24630085.1794 24630089.6634
+ 2608.7594 2032.7954
+ 23291604.3494 -8244988.96749 -6171517.74646 23291603.4494 23291606.9784
+ -3752.5604 -2924.0624
+ 24096884.8494 -2956158.37549 -2281646.58145 24096884.1474 24096888.5484
+ 3160.5454 2462.7624
+ 05 1 20 4 57 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21341143.1164 -17415934.31849 -13549936.59947 21341143.6734 21341147.9914
+ -2447.1644 -1906.8884
+ 20654752.6294 -25297518.86149 -19694155.75648 20654751.8054 20654755.5424
+ -1111.6434 -866.2184
+ 20937002.2954 -18818113.01149 -14643140.04348 20937001.2444 20937006.4494
+ -1934.4094 -1507.3354
+ 23096310.9004 -6144769.25149 -4579014.66146 23096310.0354 23096315.2184
+ 2162.5454 1685.1014
+ 20480980.4584 -25139231.63149 -19574283.30948 20480980.4744 20480982.5494
+ 846.0034 659.2194
+ 24998284.4814 -325749.42949 -238716.11345 24998284.0384 24998290.1754
+ 3547.8574 2764.5624
+ 21462120.7114 -17920848.01449 -13721751.78047 21462120.1224 21462124.2814
+ 1486.4724 1158.2844
+ 24615201.6234 -3664740.29449 -2835150.00445 24615200.6694 24615206.3654
+ 2605.4854 2030.2494
+ 23313038.1924 -8132345.85749 -6083743.89546 23313038.5664 23313042.3754
+ -3756.9554 -2927.5084
+ 24078844.8964 -3050957.06949 -2355515.67745 24078844.5824 24078850.2274
+ 3159.3534 2461.8314
+ 05 1 20 4 57 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21355159.3044 -17342283.83049 -13492546.61247 21355158.5764 21355162.9434
+ -2462.8374 -1919.0954
+ 20661137.0564 -25263964.33549 -19668009.37948 20661136.7114 20661140.9874
+ -1125.3044 -876.8604
+ 20948096.6524 -18759807.45049 -14597707.14548 20948095.7214 20948101.4964
+ -1952.6344 -1521.5334
+ 23083997.9354 -6209472.01849 -4629432.37946 23083996.5944 23084003.2504
+ 2150.9454 1676.0554
+ 20476183.9504 -25164438.50349 -19593925.02748 20476183.7084 20476186.0584
+ 834.4504 650.2204
+ 24978039.7414 -432139.81049 -321617.68745 24978038.0754 24978045.0794
+ 3544.9434 2762.2864
+ 21453655.8364 -17965326.94549 -13756410.68547 21453655.9124 21453660.0744
+ 1478.8184 1152.3264
+ 24600337.2674 -3742854.53749 -2896018.28145 24600337.0874 24600340.7414
+ 2602.1764 2027.6744
+ 23334498.6794 -8019572.84649 -5995868.82846 23334499.1734 23334502.2644
+ -3761.2504 -2930.8394
+ 24060809.1264 -3145720.42349 -2429357.32945 24060810.1534 24060816.5364
+ 3158.1764 2460.9244
+ 05 1 20 4 58 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21369262.0554 -17268164.19549 -13434791.05647 21369262.5464 21369267.3864
+ -2478.4494 -1931.2574
+ 20667600.5434 -25230000.81149 -19641544.30448 20667600.1074 20667603.9394
+ -1138.9324 -887.4824
+ 20959295.9134 -18700955.61549 -14551848.58348 20959295.3034 20959300.7034
+ -1970.8194 -1535.7034
+ 23071750.3924 -6273824.32249 -4679577.02946 23071751.2604 23071756.6974
+ 2139.2034 1666.9074
+ 20471453.3994 -25189297.25149 -19613295.48448 20471453.2884 20471455.5894
+ 822.8004 641.1454
+ 24957809.9594 -538443.24949 -404451.53945 24957811.5814 24957814.5594
+ 3542.0574 2760.0434
+ 21445235.4684 -18009576.70749 -13790891.02447 21445235.2554 21445239.6844
+ 1471.1834 1146.3794
+ 24585489.7234 -3820869.74749 -2956809.31445 24585488.6584 24585494.8804
+ 2598.8684 2025.0944
+ 23355981.9754 -7906672.90549 -5907894.88046 23355982.1424 23355986.0804
+ -3765.4434 -2934.1104
+ 24042786.4074 -3240445.66449 -2503169.19945 24042785.8784 24042790.6294
+ 3156.8574 2459.8874
+ 05 1 20 4 58 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21383455.8884 -17193578.31749 -13376672.18747 21383456.0164 21383461.1084
+ -2493.9374 -1943.3244
+ 20674141.3854 -25195627.93549 -19614760.24748 20674141.1004 20674144.6554
+ -1152.6074 -898.1354
+ 20970598.3234 -18641559.44749 -14505565.87348 20970598.1554 20970603.4374
+ -1988.9274 -1549.8134
+ 23059573.6684 -6337823.22549 -4729446.30346 23059572.8894 23059578.8324
+ 2127.3814 1657.6984
+ 20466789.1454 -25213806.00149 -19632393.20748 20466789.2054 20466791.6644
+ 811.1194 632.0424
+ 24937598.3814 -644657.70549 -487215.99145 24937598.8344 24937602.1004
+ 3538.9434 2757.6174
+ 21436858.6774 -18053597.20549 -13825192.71147 21436858.3504 21436862.2854
+ 1463.5174 1140.4024
+ 24570659.6164 -3898785.92149 -3017523.21245 24570660.6134 24570668.8574
+ 2595.5434 2022.5004
+ 23377491.4314 -7793648.50249 -5819823.93846 23377490.9074 23377494.6664
+ -3769.5044 -2937.2744
+ 24024768.2594 -3335129.70449 -2576948.97445 24024768.1304 24024772.3704
+ 3155.4234 2458.7704
+ 05 1 20 4 59 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21397738.6724 -17118529.06349 -13318192.25247 21397737.6764 21397742.3924
+ -2509.3394 -1955.3284
+ 20680760.1234 -25160845.75949 -19587657.26048 20680759.5824 20680763.5154
+ -1166.2494 -908.7644
+ 20982004.4744 -18581621.54049 -14458861.01248 20982003.8624 20982009.6594
+ -2006.9404 -1563.8514
+ 23047462.4834 -6401466.02549 -4779038.05446 23047461.5774 23047467.0704
+ 2115.4124 1648.3604
+ 20462192.3024 -25237964.08349 -19651217.69048 20462192.3104 20462194.5344
+ 799.4004 622.9114
+ 24917400.9744 -750781.08149 -569909.48445 24917401.2864 24917407.4374
+ 3535.7304 2755.1104
+ 21428525.2614 -18097388.98349 -13859316.17047 21428524.8704 21428529.1614
+ 1455.9084 1134.4734
+ 24555856.6204 -3976602.92349 -3078159.88445 24555856.3214 24555860.6474
+ 2592.2364 2019.9264
+ 23399023.3864 -7680503.80549 -5731659.25045 23399021.9914 23399024.4724
+ -3773.4944 -2940.3944
+ 24006757.2504 -3429769.26549 -2650694.06445 24006758.0844 24006763.7514
+ 3153.8904 2457.5804
+ 05 1 20 4 59 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21412106.6164 -17043019.23149 -13259353.42647 21412106.2734 21412110.8114
+ -2524.6424 -1967.2494
+ 20687457.1744 -25125653.65649 -19560234.85148 20687456.5244 20687460.7424
+ -1179.8974 -919.4004
+ 20993512.5294 -18521144.29149 -14411735.89248 20993511.9854 20993517.8764
+ -2024.8754 -1577.8264
+ 23035419.2274 -6464749.60549 -4828349.93546 23035419.6134 23035424.5144
+ 2103.4104 1639.0264
+ 20457662.8954 -25261769.63049 -19669767.46848 20457662.2224 20457664.3904
+ 787.6194 613.7314
+ 24897225.6434 -856811.54449 -652530.59245 24897226.1474 24897230.8064
+ 3532.8424 2752.8684
+ 21420235.6464 -18140952.24849 -13893261.57247 21420235.0614 21420239.3394
+ 1448.3094 1128.5584
+ 24541066.4514 -4054320.74449 -3138719.23245 24541066.9764 24541073.2364
+ 2588.8604 2017.2924
+ 23420575.9724 -7567240.81149 -5643402.38745 23420575.3544 23420576.7484
+ -3777.3694 -2943.4104
+ 23988760.0454 -3524361.38449 -2724402.22945 23988759.6214 23988763.9484
+ 3152.2584 2456.3064
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 5 0 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21426562.3424 -16967051.51849 -13200157.80847 21426562.1454 21426567.4354
+ -2539.8454 -1979.0914
+ 20694231.7334 -25090051.41049 -19532492.85148 20694231.6184 20694235.5144
+ -1193.5814 -930.0624
+ 21005121.9574 -18460129.94549 -14364192.25948 21005122.3624 21005128.0094
+ -2042.7474 -1591.7494
+ 23023446.0154 -6527670.64149 -4877379.31046 23023445.4884 23023451.2254
+ 2091.2934 1629.5814
+ 20453199.3544 -25285221.26349 -19688041.46548 20453199.4744 20453201.7114
+ 775.8184 604.5344
+ 24877069.3474 -962747.58649 -735078.10345 24877068.7824 24877072.4654
+ 3529.6464 2750.3704
+ 21411989.7094 -18184287.16049 -13927029.03247 21411989.1224 21411993.0114
+ 1440.6914 1122.6164
+ 24526295.2794 -4131939.32749 -3199201.25045 24526295.2944 24526301.0014
+ 2585.5834 2014.7384
+ 23442149.8154 -7453862.67449 -5555055.76546 23442148.9864 23442154.6104
+ -3781.1654 -2946.3654
+ 23970767.2094 -3618903.06549 -2798071.10045 23970768.4564 23970773.3464
+ 3150.5524 2454.9774
+ 05 1 20 5 0 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21441105.6214 -16890629.00049 -13140607.79347 21441105.8684 21441110.0144
+ -2554.9854 -1990.8984
+ 20701084.5094 -25054039.10149 -19504431.32148 20701084.2344 20701088.2254
+ -1207.2164 -940.6884
+ 21016837.1054 -18398581.01549 -14316232.07348 21016835.6164 21016840.7554
+ -2060.5134 -1605.5984
+ 23011543.5084 -6590226.57249 -4926124.17646 23011543.0774 23011546.7544
+ 2079.1154 1620.0834
+ 20448804.4314 -25308317.70249 -19706038.68748 20448804.2894 20448806.5704
+ 763.9484 595.2824
+ 24856925.3094 -1068586.98748 -817550.30845 24856927.0684 24856931.2024
+ 3526.4334 2747.8574
+ 21403786.8424 -18227393.65849 -13960618.50647 21403786.6454 21403790.2154
+ 1433.1144 1116.7104
+ 24511547.7404 -4209458.64049 -3259605.91245 24511546.3344 24511549.6604
+ 2582.3594 2012.2274
+ 23463746.0184 -7340372.60149 -5466621.97546 23463746.2514 23463749.6304
+ -3784.8324 -2949.2144
+ 23952786.9304 -3713391.04649 -2871698.07045 23952787.2104 23952791.5754
+ 3148.7154 2453.5484
+ 05 1 20 5 1 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21455734.4034 -16813754.51049 -13080705.58847 21455734.1674 21455739.0474
+ -2570.0114 -2002.6054
+ 20708016.2414 -25017616.53849 -19476050.11248 20708015.8074 20708019.2894
+ -1220.9234 -951.3684
+ 21028649.3284 -18336499.83149 -14267857.13247 21028648.7424 21028654.2444
+ -2078.2414 -1619.4104
+ 22999707.3014 -6652414.45049 -4974582.24046 22999707.6294 22999712.8534
+ 2066.7504 1610.4654
+ 20444477.1704 -25331057.41049 -19723757.94348 20444477.1814 20444479.4664
+ 752.0124 585.9834
+ 24836808.4994 -1174327.97449 -899945.84445 24836803.5884 24836809.6634
+ 3523.0284 2745.2134
+ 21395627.4934 -18270272.04049 -13994030.23247 21395627.2414 21395630.7114
+ 1425.4754 1110.7584
+ 24496813.2694 -4286878.54049 -3319933.08945 24496812.6674 24496816.7484
+ 2578.9614 2009.5824
+ 23485363.3304 -7226773.38449 -5378103.10245 23485363.6904 23485367.6254
+ -3788.4174 -2952.0094
+ 23934817.5394 -3807822.40349 -2945280.95245 23934817.9924 23934824.1564
+ 3146.7174 2451.9854
+ 05 1 20 5 1 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21470448.2534 -16736430.67549 -13020453.26547 21470448.3114 21470452.9374
+ -2584.9254 -2014.2234
+ 20715024.8804 -24980783.43349 -19447349.00048 20715024.5284 20715028.3634
+ -1234.6254 -962.0434
+ 21040564.8014 -18273888.63449 -14219069.20648 21040563.8164 21040569.1934
+ -2095.8584 -1633.1314
+ 22987945.1434 -6714231.51549 -5022751.36846 22987944.4314 22987949.5984
+ 2054.3534 1600.7964
+ 20440218.2984 -25353438.78549 -19741197.98048 20440218.1934 20440220.4114
+ 740.0664 576.6774
+ 24816705.0444 -1279969.02949 -982263.54245 24816702.8274 24816706.0744
+ 3519.6254 2742.5644
+ 21387511.1144 -18312922.41149 -14027264.28247 21387510.6794 21387514.7874
+ 1417.8804 1104.8414
+ 24482099.8674 -4364199.12249 -3380182.82745 24482099.8584 24482105.4854
+ 2575.6504 2007.0004
+ 23507002.4334 -7113068.36649 -5289501.83645 23507002.1404 23507004.5914
+ -3791.9494 -2954.7644
+ 23916859.0514 -3902194.05149 -3018817.26145 23916859.5994 23916864.1734
+ 3144.7204 2450.4274
+ 05 1 20 5 2 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21485247.7524 -16658660.49649 -12959853.11247 21485247.2954 21485252.1684
+ -2599.7444 -2025.7754
+ 20722112.3024 -24943539.68449 -19418327.92548 20722112.0924 20722115.6344
+ -1248.3044 -972.7024
+ 21052578.9354 -18210749.99249 -14169870.27248 21052578.6604 21052583.8104
+ -2113.3954 -1646.7994
+ 22976253.3244 -6775674.87649 -5070629.29446 22976252.4084 22976257.6504
+ 2041.8584 1591.0604
+ 20436028.1944 -25375460.64149 -19758357.86848 20436027.6984 20436029.6734
+ 728.0634 567.3224
+ 24796619.8024 -1385507.67349 -1064501.42945 24796619.6524 24796624.0284
+ 3516.2024 2739.8984
+ 21379438.3314 -18355344.93149 -14060320.79447 21379437.5554 21379441.9834
+ 1410.2834 1098.9234
+ 24467405.1794 -4441420.19749 -3440355.10845 24467404.7854 24467407.5454
+ 2572.3544 2004.4354
+ 23528658.3384 -6999260.48149 -5200820.39245 23528658.9214 23528661.0234
+ -3795.2524 -2957.3324
+ 23898912.5314 -3996502.87349 -3092304.71145 23898912.1954 23898917.6264
+ 3142.5694 2448.7544
+ 05 1 20 5 2 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21500130.6584 -16580446.71049 -12898907.30947 21500130.5174 21500135.6064
+ -2614.5024 -2037.2724
+ 20729277.7434 -24905885.03449 -19388986.64448 20729277.4184 20729281.1304
+ -1262.0124 -983.3884
+ 21064694.2124 -18147086.47349 -14120262.33748 21064693.3364 21064698.8224
+ -2130.8624 -1660.4154
+ 22964630.8774 -6836741.71849 -5118213.82646 22964631.1274 22964636.3364
+ 2029.2564 1581.2364
+ 20431906.0734 -25397121.44249 -19775236.41848 20431905.7864 20431907.8024
+ 715.9734 557.8994
+ 24776554.3284 -1490942.28449 -1146658.28345 24776555.5374 24776561.7694
+ 3512.7054 2737.1684
+ 21371408.2884 -18397539.90249 -14093199.98747 21371408.5374 21371412.4464
+ 1402.6924 1093.0074
+ 24452729.2074 -4518541.67749 -3500449.78745 24452726.7344 24452731.1384
+ 2569.0064 2001.8284
+ 23550334.9254 -6885352.20949 -5112060.71246 23550334.5074 23550337.7794
+ -3798.6024 -2959.9584
+ 23880980.6934 -4090745.68049 -3165740.63845 23880979.7614 23880985.0434
+ 3140.2974 2446.9844
+ 05 1 20 5 3 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21515098.9784 -16501792.36949 -12837618.22247 21515098.1704 21515102.9714
+ -2629.0954 -2048.6494
+ 20736521.7024 -24867819.53649 -19359325.23548 20736521.1114 20736524.6184
+ -1275.6554 -994.0174
+ 21076907.6634 -18082900.26949 -14070247.14447 21076907.0814 21076913.0634
+ -2148.2134 -1673.9304
+ 22953084.4304 -6897429.38349 -5165502.92446 22953083.8934 22953088.2604
+ 2016.5994 1571.3674
+ 20427852.4584 -25418419.61849 -19791832.39948 20427852.7274 20427854.8694
+ 703.8874 548.4824
+ 24756512.3424 -1596270.86549 -1228732.44245 24756511.8774 24756517.5194
+ 3509.1684 2734.4134
+ 21363422.3334 -18439507.28549 -14125901.84147 21363422.0594 21363425.8614
+ 1395.1304 1087.1124
+ 24438073.9214 -4595563.58949 -3560466.82745 24438071.3354 24438076.6124
+ 2565.7324 1999.2674
+ 23572029.9064 -6771346.83449 -5023225.30445 23572029.0094 23572030.5784
+ -3801.7544 -2962.4044
+ 23863057.8034 -4184919.42549 -3239122.73445 23863058.0184 23863064.3284
+ 3137.9764 2445.1754
+ 05 1 20 5 3 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21530148.6054 -16422700.25949 -12775987.99647 21530148.4844 21530153.6124
+ -2643.6564 -2059.9884
+ 20743843.2064 -24829342.93749 -19329343.47948 20743842.4934 20743846.4944
+ -1289.4084 -1004.7314
+ 21089220.9114 -18018194.06149 -14019826.73647 21089220.5204 21089225.9934
+ -2165.5144 -1687.4144
+ 22941607.4384 -6957734.92449 -5212494.21846 22941607.3154 22941613.6264
+ 2003.7814 1561.3814
+ 20423869.4174 -25439353.85949 -19808144.79548 20423869.0614 20423871.0594
+ 691.7234 539.0094
+ 24736486.4784 -1701491.67949 -1310722.67045 24736488.0224 24736493.6384
+ 3505.5544 2731.6054
+ 21355479.7374 -18481247.38449 -14158426.59947 21355479.4974 21355483.4494
+ 1387.5594 1081.2194
+ 24423432.8784 -4672485.85449 -3620406.21745 24423433.1564 24423438.8924
+ 2562.4394 1996.7144
+ 23593740.0134 -6657247.02549 -4934316.35745 23593740.3244 23593744.8514
+ -3804.8484 -2964.8264
+ 23845149.7254 -4279020.99749 -3312448.62545 23845150.7954 23845156.1284
+ 3135.5174 2443.2584
+ 05 1 20 5 4 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21545283.3694 -16343173.37149 -12714019.00147 21545282.9494 21545287.4114
+ -2658.1324 -2071.2774
+ 20751243.2634 -24790454.60649 -19299040.90248 20751242.8844 20751246.6074
+ -1303.1334 -1015.4314
+ 21101633.2674 -17952970.26949 -13969003.02547 21101632.5274 21101637.4164
+ -2182.7304 -1700.8334
+ 22930205.1554 -7017655.46649 -5259185.54946 22930204.3144 22930209.3944
+ 1990.8894 1551.3384
+ 20419955.6054 -25459922.74149 -19824172.49748 20419954.9974 20419956.9374
+ 679.5104 529.4874
+ 24716484.6954 -1806602.79149 -1392627.41145 24716485.9644 24716490.7264
+ 3501.8764 2728.7354
+ 21347580.5864 -18522760.34349 -14190774.36347 21347580.1144 21347583.5754
+ 1379.9584 1075.2894
+ 24408814.6994 -4749308.29549 -3680267.92045 24408814.3704 24408818.5544
+ 2559.1374 1994.1374
+ 23615471.1334 -6543056.07949 -4845336.45645 23615470.7914 23615475.6554
+ -3807.8504 -2967.1624
+ 23827259.2554 -4373047.22449 -3385715.80145 23827259.4054 23827264.2254
+ 3132.9154 2441.2344
+ 05 1 20 5 4 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21560498.8044 -16263214.45349 -12651713.34247 21560498.5164 21560502.9284
+ -2672.4554 -2082.4334
+ 20758721.8304 -24751154.98249 -19268417.83848 20758721.3844 20758725.2454
+ -1316.8584 -1026.1204
+ 21114142.5424 -17887231.28849 -13917777.84947 21114141.7784 21114146.6174
+ -2199.8734 -1714.1904
+ 22918876.9684 -7077188.22949 -5305574.66546 22918875.2664 22918881.2174
+ 1977.9684 1541.2774
+ 20416110.6144 -25480124.92349 -19839914.45648 20416110.5334 20416112.7334
+ 667.2784 519.9564
+ 24696504.9824 -1911602.62149 -1474445.44145 24696506.2224 24696508.7644
+ 3498.0904 2725.7824
+ 21339723.0724 -18564046.30549 -14222945.24847 21339722.9374 21339727.2524
+ 1372.4024 1069.4054
+ 24394214.9774 -4826031.15849 -3740051.94045 24394215.0624 24394220.6714
+ 2555.7254 1991.4734
+ 23637218.2674 -6428776.76449 -4756287.63945 23637216.8554 23637222.2624
+ -3810.7454 -2969.3924
+ 23809380.8744 -4466995.03649 -3458921.89345 23809381.7204 23809385.0624
+ 3130.2504 2439.1524
+ 05 1 20 5 5 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21575795.3714 -16182826.40349 -12589073.32147 21575795.7164 21575800.2914
+ -2686.7184 -2093.5474
+ 20766278.0164 -24711443.57749 -19237473.90648 20766277.8164 20766282.1584
+ -1330.5984 -1036.8304
+ 21126749.5434 -17820979.70549 -13866153.25147 21126749.3404 21126754.8484
+ -2216.9344 -1727.4804
+ 22907621.2014 -7136330.48649 -5351659.54946 22907621.7414 22907627.1454
+ 1964.8794 1531.0664
+ 20412336.1724 -25499958.75049 -19855369.38948 20412336.2344 20412338.5664
+ 654.9824 510.3764
+ 24676547.8924 -2016489.24549 -1556175.27545 24676547.3144 24676550.9484
+ 3494.3544 2722.8734
+ 21331910.5994 -18605105.56349 -14254939.47547 21331909.7394 21331914.1594
+ 1364.8404 1063.5094
+ 24379633.5374 -4902654.35149 -3799758.30945 24379633.3424 24379638.1044
+ 2552.4384 1988.9144
+ 23658981.5624 -6314411.87749 -4667172.12445 23658980.4344 23658985.8124
+ -3813.5644 -2971.6154
+ 23791517.4134 -4560861.38549 -3532064.50745 23791517.6564 23791523.9554
+ 3127.5854 2437.0814
+ 05 1 20 5 5 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21591174.2204 -16102012.28849 -12526101.26547 21591173.6964 21591179.0984
+ -2700.8664 -2104.5654
+ 20773913.3884 -24671320.53249 -19206209.22148 20773913.6014 20773917.1614
+ -1344.2724 -1047.4854
+ 21139454.2454 -17754218.09649 -13814131.22747 21139453.5894 21139459.1684
+ -2233.8524 -1740.6634
+ 22896442.0214 -7195079.31849 -5397437.80646 22896441.8544 22896447.9934
+ 1951.6994 1520.8024
+ 20408632.4444 -25519423.02449 -19870536.35448 20408632.3694 20408634.4954
+ 642.6354 500.7544
+ 24656609.5634 -2121260.78749 -1637815.43645 24656609.6114 24656614.4604
+ 3490.4454 2719.8284
+ 21324139.6984 -18645938.04749 -14286756.99147 21324139.6464 21324143.9314
+ 1357.3294 1057.6554
+ 24365074.2344 -4979177.74149 -3859386.93545 24365073.8574 24365076.7954
+ 2549.1444 1986.3474
+ 23680759.1074 -6199964.87149 -4577992.64445 23680757.8904 23680761.2394
+ -3816.2634 -2973.7014
+ 23773670.9284 -4654643.05949 -3605141.12245 23773671.9464 23773678.9764
+ 3124.6604 2434.7984
+ 05 1 20 5 6 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21606633.1634 -16020774.90049 -12462799.40947 21606632.7754 21606637.7434
+ -2714.9064 -2115.5084
+ 20781627.4974 -24630785.52449 -19174623.51448 20781626.7714 20781631.1674
+ -1358.0094 -1058.1864
+ 21152255.0084 -17686948.92449 -13761713.70747 21152254.1334 21152259.9074
+ -2250.7524 -1753.8384
+ 22885339.6574 -7253432.03949 -5442907.45746 22885337.8474 22885342.9974
+ 1938.4654 1510.4844
+ 20404999.4244 -25538516.32249 -19885414.24948 20404999.2624 20405001.4844
+ 630.2384 491.0904
+ 24636695.6134 -2225915.30549 -1719364.36945 24636694.5344 24636699.1384
+ 3486.5664 2716.8024
+ 21316413.5594 -18686544.00249 -14318397.99647 21316412.9234 21316416.7544
+ 1349.7674 1051.7654
+ 24350529.9304 -5055601.27249 -3918937.71745 24350530.1734 24350535.1424
+ 2545.7624 1983.7074
+ 23702551.1024 -6085438.30649 -4488751.10445 23702551.7394 23702557.0324
+ -3818.8394 -2975.7194
+ 23755844.3234 -4748336.90449 -3678149.30045 23755844.8054 23755848.5304
+ 3121.6404 2432.4504
+ 05 1 20 5 6 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21622172.4814 -15939117.35449 -12399170.16447 21622172.1074 21622176.7314
+ -2728.8874 -2126.4074
+ 20789419.8824 -24589838.77649 -19142716.97548 20789419.3924 20789422.7024
+ -1371.7584 -1068.9024
+ 21165152.3534 -17619175.01449 -13708902.87547 21165151.7254 21165157.2464
+ -2267.5184 -1766.8944
+ 22874309.7974 -7311385.95749 -5488066.35446 22874309.3014 22874315.7454
+ 1925.1134 1500.0844
+ 20401436.8144 -25557237.38849 -19900002.09548 20401436.5774 20401438.8594
+ 617.8004 481.4044
+ 24616799.9154 -2330451.10349 -1800820.79245 24616799.3004 24616807.3504
+ 3482.4894 2713.6244
+ 21308729.6974 -18726923.62349 -14349862.63447 21308729.0104 21308732.6674
+ 1342.1924 1045.8604
+ 24336007.0544 -5131924.91049 -3978410.70345 24336006.0474 24336011.0734
+ 2542.4384 1981.1204
+ 23724358.8314 -5970835.29549 -4399450.08945 23724359.6874 23724365.2654
+ -3821.3594 -2977.6794
+ 23738032.2524 -4841939.81549 -3751086.61246 23738032.6994 23738036.5834
+ 3118.6034 2430.0864
+ 05 1 20 5 7 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21637790.6264 -15857042.56749 -12335215.77447 21637790.5844 21637795.2434
+ -2742.7444 -2137.2024
+ 20797289.8234 -24548480.32149 -19110489.61748 20797289.2544 20797293.5244
+ -1385.5134 -1079.6234
+ 21178144.9074 -17550898.82349 -13655700.66147 21178144.5554 21178149.5604
+ -2284.2374 -1779.9254
+ 22863359.2554 -7368938.22349 -5532912.26746 22863358.6544 22863362.8664
+ 1911.7034 1489.6264
+ 20397945.3364 -25575584.50249 -19914298.54548 20397945.1504 20397947.4354
+ 605.3364 471.6884
+ 24596932.4874 -2434866.31349 -1882183.25545 24596932.2794 24596938.3304
+ 3478.4694 2710.4964
+ 21301088.7274 -18767077.06749 -14381151.03747 21301088.2484 21301091.7064
+ 1334.6694 1039.9984
+ 24321498.9324 -5208148.87249 -4037805.99245 24321499.3784 24321505.1204
+ 2539.1154 1978.5464
+ 23746181.0544 -5856158.93049 -4310091.94445 23746181.5534 23746187.0204
+ -3823.7374 -2979.5414
+ 23720236.1054 -4935448.56449 -3823950.56145 23720237.0824 23720242.1794
+ 3115.3854 2427.5704
+ 05 1 20 5 7 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21653487.3784 -15774553.21049 -12270938.36547 21653487.7994 21653491.8604
+ -2756.5184 -2147.9314
+ 20805238.5854 -24506709.63349 -19077941.04248 20805238.1884 20805242.0064
+ -1399.1974 -1090.2804
+ 21191233.6374 -17482122.88449 -13602109.04347 21191232.2094 21191236.4594
+ -2300.8384 -1792.8554
+ 22852483.9914 -7426086.16249 -5577443.05546 22852483.0704 22852487.8714
+ 1898.1504 1479.0854
+ 20394524.7984 -25593556.28749 -19928302.53848 20394525.1174 20394527.3494
+ 592.7914 461.9164
+ 24577085.7804 -2539158.98549 -1963450.26545 24577085.6674 24577089.7004
+ 3474.3624 2707.2944
+ 21293490.5294 -18807004.44649 -14412263.27547 21293489.9544 21293493.8374
+ 1327.1574 1034.1514
+ 24307015.9394 -5284272.92949 -4097123.42345 24307015.0094 24307017.8664
+ 2535.7524 1975.9084
+ 23768018.2544 -5741411.65449 -4220678.50145 23768018.2384 23768021.7264
+ -3826.0164 -2981.3094
+ 23702460.4474 -5028860.13749 -3896738.77245 23702461.3494 23702467.2584
+ 3112.0464 2424.9714
+ 05 1 20 5 8 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21669262.4074 -15691652.35049 -12206340.28647 21669262.8634 21669268.0004
+ -2770.1894 -2158.5964
+ 20813265.4564 -24464527.27449 -19045071.67548 20813264.9644 20813269.0804
+ -1412.9404 -1100.9924
+ 21204413.7404 -17412849.92149 -13548130.14147 21204413.8554 21204419.2104
+ -2317.3594 -1805.7334
+ 22841685.3044 -7482827.00549 -5621656.70446 22841685.0044 22841691.5224
+ 1884.5434 1468.4734
+ 20391176.7614 -25611151.65049 -19942013.20948 20391176.9804 20391179.1244
+ 580.2224 452.1234
+ 24557265.8774 -2643327.15149 -2044620.25245 24557263.8914 24557268.0644
+ 3470.1834 2704.0394
+ 21285935.1184 -18846705.78349 -14443199.38347 21285934.9164 21285938.6664
+ 1319.6244 1028.2774
+ 24292546.1014 -5360297.05249 -4156362.99145 24292545.8934 24292552.9004
+ 2532.4174 1973.3164
+ 23789867.7064 -5626596.69249 -4131212.25245 23789866.4314 23789871.0014
+ -3828.2594 -2983.0674
+ 23684704.5024 -5122171.34949 -3969448.77245 23684705.4424 23684710.6354
+ 3108.6964 2422.3664
+ 05 1 20 5 8 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21685116.3034 -15608342.77549 -12141423.72947 21685116.4634 21685120.8344
+ -2783.7644 -2169.1674
+ 20821370.7614 -24421932.83349 -19011881.20948 20821370.4964 20821374.3504
+ -1426.6744 -1111.6934
+ 21217691.3824 -17343082.65849 -13493766.05047 21217690.2194 21217695.5344
+ -2333.7774 -1818.5234
+ 22830965.4804 -7539158.19249 -5665551.13646 22830965.5614 22830971.7084
+ 1870.8274 1457.7854
+ 20387900.8414 -25628369.17349 -19955429.46148 20387900.6574 20387902.8084
+ 567.5944 442.2784
+ 24537464.4634 -2747369.05549 -2125691.83145 24537465.3524 24537469.3004
+ 3465.9214 2700.7144
+ 21278423.5304 -18886181.55949 -14473959.72147 21278422.8734 21278426.7354
+ 1312.0984 1022.4154
+ 24278101.0634 -5436221.26349 -4215524.72345 24278099.4654 24278104.9304
+ 2529.0814 1970.7114
+ 23811729.3274 -5511716.76049 -4041695.42945 23811728.0574 23811730.3734
+ -3830.4124 -2984.7444
+ 23666969.1044 -5215378.98449 -4042078.12646 23666969.3334 23666973.7864
+ 3105.2024 2419.6384
+ 05 1 20 5 9 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21701047.1104 -15524627.39049 -12076190.97247 21701047.0024 21701051.0794
+ -2797.2444 -2179.6694
+ 20829555.5954 -24378926.26749 -18978369.60248 20829554.5454 20829558.1124
+ -1440.4044 -1122.3934
+ 21231060.2164 -17272823.68049 -13439018.80547 21231059.7714 21231065.6024
+ -2350.1184 -1831.2604
+ 22820326.3084 -7595076.83049 -5709124.06546 22820325.8184 22820330.5004
+ 1857.0954 1447.0834
+ 20384696.9854 -25645207.24949 -19968550.04048 20384696.6644 20384698.9044
+ 554.9374 432.4194
+ 24517691.7774 -2851283.04349 -2206663.71545 24517690.6314 24517695.4284
+ 3461.6684 2697.3994
+ 21270954.8184 -18925431.81149 -14504544.32647 21270953.9064 21270957.9974
+ 1304.5864 1016.5644
+ 24263671.5644 -5512045.54849 -4274608.54145 24263671.4404 24263675.5584
+ 2525.8364 1968.1854
+ 23833600.1624 -5396775.00549 -3952130.42845 23833600.1554 23833604.2434
+ -3832.3494 -2986.2474
+ 23649251.1604 -5308479.90449 -4114624.28246 23649251.4674 23649257.0714
+ 3101.5704 2416.8034
+ 05 1 20 5 9 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21717054.2434 -15440509.33249 -12010644.42947 21717054.1294 21717058.7554
+ -2810.6264 -2190.1044
+ 20837817.2604 -24335507.64649 -18944536.91848 20837816.8944 20837820.4344
+ -1454.1374 -1133.1004
+ 21244523.0244 -17202075.61649 -13383890.46647 21244522.7564 21244529.0264
+ -2366.4084 -1843.9614
+ 22809762.6864 -7650580.12949 -5752373.38746 22809763.3144 22809769.2084
+ 1843.1754 1436.2484
+ 20381564.6674 -25661664.71049 -19981374.04248 20381564.8284 20381566.9644
+ 542.2114 422.5014
+ 24497940.0434 -2955067.27449 -2287534.59845 24497940.6184 24497944.9744
+ 3457.2174 2693.9354
+ 21263528.5604 -18964456.60349 -14534953.25047 21263527.8604 21263531.6194
+ 1297.0594 1010.6964
+ 24249261.3784 -5587769.80349 -4333614.50245 24249260.1914 24249265.6714
+ 2522.4594 1965.5594
+ 23855485.8414 -5281773.97449 -3862519.25645 23855485.1244 23855487.6714
+ -3834.3444 -2987.7994
+ 23631557.0064 -5401470.77949 -4187084.69846 23631557.0984 23631561.3994
+ 3097.8564 2413.9104
+ 05 1 20 5 10 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21733136.6944 -15355991.56349 -11944786.44647 21733136.8874 21733141.6534
+ -2823.8674 -2200.4164
+ 20846157.7934 -24291676.82049 -18910383.03148 20846157.2414 20846161.4094
+ -1467.8524 -1143.7804
+ 21258078.9424 -17130841.13849 -13328383.10347 21258078.6884 21258084.3054
+ -2382.5554 -1856.5354
+ 22799280.8164 -7705665.82749 -5795297.30946 22799279.6944 22799285.0604
+ 1829.1934 1425.3604
+ 20378505.9514 -25677740.28749 -19993900.46848 20378505.7784 20378507.9694
+ 529.4584 412.5664
+ 24478217.2054 -3058720.09949 -2368303.01645 24478215.9974 24478220.3644
+ 3452.9044 2690.5754
+ 21256144.8604 -19003256.15949 -14565186.66347 21256144.1264 21256148.6224
+ 1289.5694 1004.8594
+ 24234869.7984 -5663394.08849 -4392542.52345 24234869.8904 24234875.1914
+ 2519.1174 1962.9514
+ 23877379.0534 -5166717.04649 -3772864.47345 23877376.6344 23877382.4634
+ -3836.1334 -2989.1914
+ 23613881.4434 -5494348.79449 -4259457.12246 23613882.0914 23613887.7534
+ 3094.0554 2410.9504
+ 05 1 20 5 10 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21749296.5794 -15271077.10149 -11878619.31447 21749295.8884 21749299.9094
+ -2837.0714 -2210.7154
+ 20854577.0064 -24247434.10549 -18875908.20348 20854576.7854 20854580.2274
+ -1481.6124 -1154.5064
+ 21271726.9144 -17059123.10249 -13272498.94647 21271725.7514 21271731.2764
+ -2398.6434 -1869.0684
+ 22788877.4394 -7760331.02049 -5837893.52246 22788877.7304 22788883.8564
+ 1815.1404 1414.3944
+ 20375519.2764 -25693432.37149 -20006128.07248 20375519.3374 20375521.7364
+ 516.6624 402.5974
+ 24458518.1694 -3162239.58949 -2448967.54045 24458517.4394 24458521.0474
+ 3448.3814 2687.0494
+ 21248804.4704 -19041830.51849 -14595244.61447 21248804.1244 21248808.2224
+ 1282.0614 999.0114
+ 24220501.0984 -5738918.32349 -4451392.49446 24220499.4484 24220503.9554
+ 2515.7624 1960.3314
+ 23899284.0284 -5051607.23449 -3683168.51645 23899284.2204 23899287.1514
+ -3837.7994 -2990.4934
+ 23596229.1854 -5587110.57749 -4331739.01846 23596230.1564 23596234.7124
+ 3090.0934 2407.8754
+ 05 1 20 5 11 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21765529.9354 -15185768.77949 -11812145.29647 21765529.5694 21765534.5554
+ -2850.1394 -2220.8834
+ 20863075.2414 -24202779.45849 -18841112.38648 20863074.2204 20863077.9504
+ -1495.3634 -1165.2194
+ 21285465.6714 -16986924.21649 -13216240.10247 21285464.9384 21285470.0124
+ -2414.6164 -1881.5184
+ 22778556.4424 -7814573.05649 -5880160.05246 22778556.7434 22778561.9164
+ 1800.9914 1403.3754
+ 20372606.9334 -25708739.91749 -20018056.02748 20372606.6954 20372608.7484
+ 503.8454 392.6074
+ 24438843.7174 -3265623.75549 -2529526.63245 24438843.7774 24438848.1954
+ 3443.8404 2683.5174
+ 21241506.5784 -19080180.01249 -14625127.33247 21241506.1144 21241510.4404
+ 1274.5684 993.1694
+ 24206147.2844 -5814342.53849 -4510164.63745 24206146.1464 24206148.8814
+ 2512.4684 1957.7624
+ 23921197.8384 -4936447.05049 -3593433.28445 23921198.5134 23921202.2464
+ -3839.4614 -2991.7894
+ 23578601.1844 -5679752.91149 -4403927.84646 23578600.2274 23578605.6474
+ 3086.1064 2404.7634
+ 05 1 20 5 11 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21781838.1494 -15100069.54149 -11745366.68747 21781837.4294 21781842.2104
+ -2863.1374 -2231.0144
+ 20871649.9564 -24157712.89149 -18805995.59148 20871649.8524 20871654.0214
+ -1509.0594 -1175.8904
+ 21299296.2284 -16914247.21949 -13159608.68947 21299295.0744 21299300.1784
+ -2430.5294 -1893.9204
+ 22768316.6364 -7868389.33849 -5922094.78946 22768315.4844 22768320.8254
+ 1786.7344 1392.2584
+ 20369767.2524 -25723661.43949 -20029683.18648 20369767.1054 20369769.2504
+ 490.9264 382.5374
+ 24419196.6134 -3368870.80349 -2609978.87945 24419197.0574 24419201.9924
+ 3439.2414 2679.9264
+ 21234251.9054 -19118304.72349 -14654834.89947 21234251.1504 21234255.2294
+ 1267.0794 987.3334
+ 24191808.9234 -5889666.68649 -4568858.74445 24191810.2114 24191816.9484
+ 2509.1214 1955.1544
+ 23943120.6444 -4821239.53049 -3503661.19545 23943120.7204 23943124.7564
+ -3841.0284 -2993.0124
+ 23560994.2054 -5772272.60349 -4476021.11445 23560994.6734 23561000.0114
+ 3081.9634 2401.5294
+ 05 1 20 5 12 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21798219.9414 -15013982.21149 -11678285.64647 21798219.2334 21798223.8554
+ -2876.0064 -2241.0414
+ 20880304.3694 -24112234.94749 -18770558.24648 20880304.0134 20880307.9574
+ -1522.7654 -1186.5664
+ 21313215.3234 -16841094.96649 -13102606.95147 21313214.8744 21313220.6524
+ -2446.2834 -1906.1924
+ 22758155.7204 -7921777.16249 -5963695.68046 22758155.3914 22758161.2664
+ 1772.4374 1381.1124
+ 20367001.5944 -25738195.46249 -20041008.39648 20367001.3944 20367003.5984
+ 477.9904 372.4574
+ 24399576.1394 -3471979.02349 -2690322.97645 24399575.8664 24399580.5654
+ 3434.6384 2676.3424
+ 21227039.1574 -19156204.99449 -14684367.57547 21227039.1574 21227043.1294
+ 1259.5924 981.5014
+ 24177498.3184 -5964890.69349 -4627474.86045 24177497.3814 24177501.4674
+ 2505.7314 1952.5154
+ 23965053.0974 -4705987.17649 -3413854.15945 23965052.0844 23965057.5104
+ -3842.4944 -2994.1524
+ 23543414.0064 -5864666.62249 -4548016.44045 23543413.9644 23543418.1284
+ 3077.7384 2398.2424
+ 05 1 20 5 12 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21814674.8454 -14927509.82749 -11610904.57047 21814674.9804 21814679.0334
+ -2888.7874 -2251.0024
+ 20889036.2874 -24066345.15149 -18734799.96848 20889036.4384 20889040.4374
+ -1536.5094 -1197.2844
+ 21327226.4944 -16767470.08349 -13045236.92347 21327225.6974 21327231.3134
+ -2462.0114 -1918.4474
+ 22748079.1734 -7974733.92549 -6004960.69446 22748078.2344 22748084.0134
+ 1757.9954 1369.8694
+ 20364309.7144 -25752340.88549 -20052030.80048 20364309.6904 20364311.9644
+ 465.0154 362.3544
+ 24379982.9554 -3574946.72549 -2770557.54245 24379981.9454 24379986.2714
+ 3429.8734 2672.6244
+ 21219870.1354 -19193880.73049 -14713725.28547 21219869.6464 21219873.6104
+ 1252.1164 975.6794
+ 24163202.8984 -6040014.56049 -4686012.94245 24163201.7114 24163206.3294
+ 2502.3994 1949.9194
+ 23986992.4044 -4590693.28249 -3324014.71945 23986992.4564 23986998.8764
+ -3843.7954 -2995.1634
+ 23525855.2964 -5956931.64149 -4619911.23845 23525855.9644 23525860.2644
+ 3073.3454 2394.8044
+ 05 1 20 5 13 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21831202.5284 -14840655.36949 -11543225.77347 21831202.7504 21831207.2044
+ -2901.4784 -2260.8854
+ 20897847.4834 -24020043.59549 -18698720.85348 20897847.6084 20897851.4224
+ -1550.2724 -1208.0084
+ 21341325.7774 -16693375.28649 -12987500.73547 21341325.0774 21341331.2964
+ -2477.6314 -1930.6174
+ 22738082.6284 -8027257.11349 -6045887.81846 22738083.5164 22738089.3694
+ 1743.5364 1358.6084
+ 20361692.2594 -25766096.34249 -20062749.33848 20361692.0144 20361694.3374
+ 451.9964 352.2054
+ 24360416.0044 -3677772.08249 -2850681.19045 24360416.2074 24360419.0364
+ 3425.1274 2668.9374
+ 21212743.5164 -19231332.23649 -14742908.26947 21212743.1804 21212746.9344
+ 1244.6404 969.8464
+ 24148923.5924 -6115038.41049 -4744473.06245 24148923.4424 24148929.5244
+ 2499.1194 1947.3614
+ 24008939.2024 -4475360.74749 -3234145.22245 24008940.1134 24008944.3574
+ -3845.0494 -2996.1484
+ 23508323.9994 -6049064.45549 -4691702.97146 23508323.6324 23508327.9964
+ 3068.9064 2391.3504
+ 05 1 20 5 13 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21847802.2184 -14753421.80449 -11475251.56147 21847801.8894 21847806.6974
+ -2914.0684 -2270.7014
+ 20906737.0744 -23973330.47349 -18662321.02348 20906736.2224 20906740.5634
+ -1563.9674 -1218.6734
+ 21355515.0494 -16618813.59249 -12929400.75547 21355513.7504 21355519.4824
+ -2493.1574 -1942.7144
+ 22728171.7204 -8079344.09749 -6086475.08046 22728171.2734 22728176.3704
+ 1728.9134 1347.2014
+ 20359148.6524 -25779460.50549 -20073162.97648 20359148.8334 20359151.0544
+ 438.9254 342.0204
+ 24340874.9984 -3780453.26549 -2930692.50245 24340875.8144 24340879.2224
+ 3420.2384 2665.1204
+ 21205659.5304 -19268559.53549 -14771916.54847 21205658.9594 21205662.9254
+ 1237.1544 964.0144
+ 24134666.8934 -6189962.08249 -4802855.17245 24134666.2924 24134672.9084
+ 2495.7544 1944.7484
+ 24030896.8674 -4359992.38849 -3144247.74945 24030894.2874 24030898.4034
+ -3846.2254 -2997.0564
+ 23490817.3224 -6141061.97149 -4763389.29046 23490817.5024 23490822.2044
+ 3064.2934 2387.7654
+ 05 1 20 5 14 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21864474.2554 -14665812.14249 -11406984.30547 21864474.3704 21864478.6484
+ -2926.5714 -2280.4414
+ 20915704.9604 -23926206.09749 -18625600.73848 20915704.2864 20915708.1094
+ -1577.6904 -1229.3694
+ 21369791.9284 -16543787.73549 -12870939.04947 21369791.5204 21369796.7874
+ -2508.6034 -1954.7584
+ 22718343.4644 -8130992.47249 -6126720.56846 22718342.5864 22718349.8034
+ 1714.2614 1335.7824
+ 20356680.5154 -25792432.04549 -20083270.67048 20356680.5614 20356682.7194
+ 425.8224 331.8084
+ 24321363.7414 -3882988.55149 -3010590.11245 24321362.6264 24321367.5364
+ 3415.3234 2661.2884
+ 21198618.0464 -19305562.85549 -14800750.30147 21198617.1804 21198621.2274
+ 1229.7014 958.2064
+ 24120431.0124 -6264785.58349 -4861159.21846 24120429.5464 24120433.8184
+ 2492.4484 1942.1704
+ 24052853.7574 -4244591.11049 -3054324.66945 24052853.7564 24052858.3084
+ -3847.2634 -2997.8614
+ 23473336.9174 -6232920.96649 -4834967.73246 23473336.8144 23473340.4774
+ 3059.5984 2384.0974
+ 05 1 20 5 14 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21881216.8814 -14577829.13049 -11338426.11347 21881217.0414 21881221.0034
+ -2938.9524 -2290.0904
+ 20924750.6594 -23878670.64649 -18588560.14648 20924750.2324 20924754.2994
+ -1591.3714 -1240.0274
+ 21384156.5254 -16468300.32749 -12812117.71747 21384155.6384 21384161.8194
+ -2523.9034 -1966.6754
+ 22708600.0064 -8182199.77449 -6166622.34346 22708599.2534 22708604.0064
+ 1699.5134 1324.2904
+ 20354287.1904 -25805009.69949 -20093071.44048 20354287.0224 20354289.2314
+ 412.6954 321.5814
+ 24301881.3324 -3985375.97349 -3090372.54245 24301879.7094 24301884.1504
+ 3410.3394 2657.4104
+ 21191617.7934 -19342342.48149 -14829409.74747 21191618.0904 21191622.3144
+ 1222.2734 952.4204
+ 24106210.4044 -6339509.05849 -4919385.29545 24106210.5944 24106213.8334
+ 2489.1014 1939.5634
+ 24074821.6034 -4129159.86249 -2964378.21145 24074820.4354 24074823.0194
+ -3848.1714 -2998.5824
+ 23455882.2444 -6324638.31049 -4906435.80546 23455883.5214 23455889.0944
+ 3054.8804 2380.4304
+ 05 1 20 5 15 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21898029.4644 -14489476.00649 -11269579.52947 21898029.2624 21898033.9894
+ -2951.2294 -2299.6554
+ 20933873.6154 -23830724.04249 -18551199.15848 20933873.7084 20933877.7144
+ -1605.0654 -1250.7014
+ 21398608.3254 -16392354.47949 -12752939.16347 21398607.8734 21398613.5354
+ -2539.1534 -1978.5564
+ 22698940.8234 -8232963.31849 -6206178.35247 22698939.6604 22698944.0314
+ 1684.6994 1312.7494
+ 20351968.6714 -25817192.29349 -20102564.37248 20351968.7084 20351971.0804
+ 399.4854 311.2904
+ 24282424.9094 -4087614.09449 -3170038.63345 24282424.2254 24282428.6844
+ 3405.4434 2653.5984
+ 21184662.2324 -19378898.40449 -14857894.88147 21184661.8414 21184665.9774
+ 1214.8254 946.6194
+ 24092007.4084 -6414132.48649 -4977533.39645 24092006.8204 24092013.2264
+ 2485.7924 1936.9734
+ 24096791.8564 -4013701.28249 -2874410.50445 24096790.4594 24096794.7164
+ -3849.0504 -2999.2694
+ 23438458.4744 -6416210.70949 -4977790.88846 23438457.8394 23438463.2554
+ 3050.0144 2376.6304
+ 05 1 20 5 15 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21914914.2294 -14400755.66549 -11200446.79447 21914913.3434 21914917.8684
+ -2963.4354 -2309.1704
+ 20943077.4994 -23782366.31749 -18513517.81448 20943076.3614 20943079.9574
+ -1618.7554 -1261.3724
+ 21413147.0944 -16315952.76249 -12693405.38747 21413146.4204 21413152.2334
+ -2554.3044 -1990.3694
+ 22689364.1084 -8283280.57549 -6245386.60247 22689363.9194 22689369.3924
+ 1669.7794 1301.1274
+ 20349725.4874 -25828978.44849 -20111748.38348 20349725.7884 20349728.0054
+ 386.2254 300.9534
+ 24262998.6794 -4189700.88849 -3249586.80645 24262998.3704 24263001.7144
+ 3400.3614 2649.6374
+ 21177748.7964 -19415230.76749 -14886205.80647 21177747.9484 21177752.0934
+ 1207.3594 940.7964
+ 24077829.2854 -6488655.89349 -5035603.58245 24077828.0124 24077831.8584
+ 2482.4464 1934.3864
+ 24118768.2634 -3898218.21649 -2784423.67345 24118766.9374 24118769.3154
+ -3849.8494 -2999.8924
+ 23421059.8464 -6507634.82649 -5049030.41146 23421059.9324 23421065.8604
+ 3044.9764 2372.7144
+ 05 1 20 5 16 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21931865.6814 -14311670.99549 -11131030.17447 21931865.1044 21931869.4864
+ -2975.5174 -2318.5824
+ 20952356.3094 -23733597.90649 -18475516.47548 20952356.5324 20952359.9054
+ -1632.4324 -1272.0164
+ 21427772.1594 -16239098.11549 -12633518.67947 21427771.0564 21427777.3374
+ -2569.3454 -2002.0774
+ 22679874.3584 -8333149.13449 -6284245.22646 22679874.3304 22679879.6274
+ 1654.8104 1289.4694
+ 20347558.9204 -25840366.81249 -20120622.42748 20347558.7114 20347560.9614
+ 372.9704 290.6294
+ 24243598.7574 -4291634.78949 -3329015.81545 24243599.4974 24243604.9334
+ 3395.1924 2645.6054
+ 21170877.4744 -19451339.81849 -14914342.73047 21170877.0204 21170880.7524
+ 1199.9314 935.0124
+ 24063665.4444 -6563079.25249 -5093595.81745 24063665.5034 24063669.9854
+ 2479.0894 1931.7614
+ 24140747.6074 -3782713.54949 -2694419.97845 24140744.9544 24140749.4694
+ -3850.4834 -3000.3664
+ 23403691.8024 -6598907.64749 -5120152.09546 23403691.6234 23403696.8224
+ 3039.8894 2368.7414
+ 05 1 20 5 16 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21948886.2144 -14222224.92449 -11061331.93247 21948884.9274 21948890.4264
+ -2987.5174 -2327.9384
+ 20961715.2434 -23684418.97649 -18437195.23448 20961714.8184 20961718.8194
+ -1646.1744 -1282.7294
+ 21442481.4264 -16161793.50849 -12573281.33147 21442481.4614 21442487.8394
+ -2584.2704 -2013.7154
+ 22670471.8544 -8382566.48349 -6322752.23447 22670471.2554 22670476.7884
+ 1639.6884 1277.6854
+ 20345467.7854 -25851356.20949 -20129185.59548 20345467.6054 20345469.9384
+ 359.6844 280.2724
+ 24224233.6414 -4393413.86049 -3408324.12345 24224232.5244 24224237.5764
+ 3390.0104 2641.5724
+ 21164049.0084 -19487225.71949 -14942305.77147 21164048.3964 21164051.9584
+ 1192.4774 929.2024
+ 24049522.5534 -6637402.40049 -5151509.95445 24049522.0004 24049528.3734
+ 2475.7844 1929.1854
+ 24162729.1754 -3667190.49049 -2604402.01345 24162730.0264 24162733.1144
+ -3851.0614 -3000.8194
+ 23386352.6584 -6690025.91249 -5191153.32446 23386352.1684 23386357.6144
+ 3034.6874 2364.6954
+ 05 1 20 5 17 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21965975.2404 -14132420.39949 -10991354.38747 21965975.2924 21965979.2734
+ -2999.4144 -2337.2034
+ 20971151.8644 -23634829.60049 -18398554.17848 20971151.2234 20971155.3894
+ -1659.8344 -1293.3794
+ 21457278.5834 -16084041.76649 -12512695.52247 21457278.1774 21457283.4874
+ -2599.1444 -2025.3124
+ 22661153.4934 -8431530.06549 -6360905.66747 22661152.6014 22661159.1194
+ 1624.5394 1265.8744
+ 20343452.5664 -25861945.35749 -20137436.88248 20343452.6934 20343454.7644
+ 346.2964 269.8424
+ 24204894.8624 -4495036.51749 -3487510.58645 24204893.8304 24204898.9934
+ 3384.7454 2637.4574
+ 21157262.0774 -19522888.42949 -14970094.88547 21157261.7004 21157265.5974
+ 1185.0374 923.4054
+ 24035398.1754 -6711625.41549 -5209346.05245 24035397.8424 24035401.3394
+ 2472.4214 1926.5624
+ 24184717.8604 -3551651.50449 -2514371.62845 24184716.1124 24184718.8374
+ -3851.5324 -3001.1984
+ 23369042.6814 -6780986.47249 -5262031.67946 23369042.3694 23369048.3204
+ 3029.4394 2360.6034
+ 05 1 20 5 17 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 21983131.9284 -14042260.27049 -10921099.74847 21983131.8714 21983137.0054
+ -3011.2414 -2346.4194
+ 20980666.5554 -23584829.91649 -18359593.39148 20980666.1054 20980670.3174
+ -1673.4594 -1303.9904
+ 21472158.9064 -16005845.96149 -12451763.70847 21472157.8234 21472163.7484
+ -2613.8914 -2036.7944
+ 22651923.5904 -8480037.41449 -6398703.58147 22651922.6074 22651928.0474
+ 1609.2654 1253.9784
+ 20341514.0834 -25872133.03249 -20145375.33048 20341513.9864 20341516.2614
+ 332.8744 259.3844
+ 24185586.9704 -4596501.11749 -3566573.92745 24185586.7594 24185591.3054
+ 3379.4254 2633.3184
+ 21150518.0614 -19558328.26149 -14997710.34147 21150517.5584 21150521.7924
+ 1177.6264 917.6334
+ 24021292.3384 -6785748.42649 -5267104.24445 24021291.3464 24021297.3024
+ 2469.1204 1923.9974
+ 24206705.2334 -3436099.37049 -2424330.96645 24206704.4474 24206707.6514
+ -3851.9304 -3001.5064
+ 23351762.9464 -6871785.89649 -5332784.47246 23351764.3804 23351769.5454
+ 3024.0114 2356.3684
+ 05 1 20 5 18 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22000355.5184 -13951747.94749 -10850570.66747 22000355.6624 22000360.4954
+ -3022.9094 -2355.5144
+ 20990258.9814 -23534420.01349 -18320312.95848 20990258.8324 20990262.4684
+ -1687.1314 -1314.6484
+ 21487122.8404 -15927209.00849 -12390488.15947 21487122.3104 21487127.7874
+ -2628.5514 -2048.2284
+ 22642777.7934 -8528086.00149 -6436144.04746 22642778.1194 22642784.2784
+ 1593.9474 1242.0374
+ 20339651.9674 -25881918.19149 -20153000.12748 20339651.7884 20339654.1474
+ 319.4494 248.9184
+ 24166310.5174 -4697805.37749 -3645512.26945 24166310.1224 24166314.1864
+ 3374.1524 2629.2094
+ 21143816.0614 -19593545.33949 -15025152.21747 21143815.8654 21143819.9954
+ 1170.1944 911.8364
+ 24007206.8484 -6859771.34249 -5324784.43046 24007207.1784 24007211.9504
+ 2465.8014 1921.4004
+ 24228696.2994 -3320537.05549 -2334282.40645 24228695.7544 24228698.5144
+ -3852.2404 -3001.7564
+ 23334517.4394 -6962421.26949 -5403409.43446 23334517.1274 23334522.2534
+ 3018.4494 2352.0334
+ 05 1 20 5 18 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22017646.5864 -13860886.06449 -10779769.20747 22017646.2474 22017651.2884
+ -3034.5344 -2364.5684
+ 20999929.3814 -23483600.62549 -18280713.44348 20999929.1734 20999933.2094
+ -1700.8144 -1325.3104
+ 21502170.2064 -15848133.74349 -12328871.06147 21502169.5314 21502175.0594
+ -2643.1164 -2059.5714
+ 22633724.7244 -8575673.53449 -6473225.24147 22633723.9874 22633728.5744
+ 1578.5464 1230.0354
+ 20337866.9894 -25891299.40849 -20160310.16948 20337866.7704 20337868.9514
+ 305.9634 238.4104
+ 24147063.3824 -4798947.98449 -3724324.69645 24147062.6034 24147066.7594
+ 3368.7494 2625.0034
+ 21137157.6284 -19628539.72249 -15052420.56747 21137156.9454 21137161.0374
+ 1162.7724 906.0564
+ 23993138.6224 -6933694.12749 -5382386.58845 23993138.3394 23993146.4614
+ 2462.4254 1918.7804
+ 24250689.1194 -3204967.40649 -2244228.11645 24250688.9684 24250691.9214
+ -3852.4974 -3001.9434
+ 23317299.9924 -7052889.30449 -5473903.97746 23317300.0964 23317306.3524
+ 3012.8064 2347.6344
+ 05 1 20 5 19 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22035003.1034 -13769677.57949 -10708697.65547 22035003.0094 22035007.0794
+ -3045.9964 -2373.4954
+ 21009678.5934 -23432371.59249 -18240794.72948 21009678.0084 21009681.6574
+ -1714.4754 -1335.9544
+ 21517301.3014 -15768623.21749 -12266914.79447 21517299.7604 21517305.7294
+ -2657.5744 -2070.8364
+ 22624755.8614 -8622797.26149 -6509944.98346 22624755.8634 22624761.1054
+ 1563.0464 1217.9474
+ 20336158.8734 -25900275.36949 -20167304.41848 20336158.5564 20336160.7404
+ 292.4284 227.8674
+ 24127846.6844 -4899927.55149 -3803010.04145 24127845.9024 24127851.3014
+ 3363.2334 2620.6924
+ 21130540.2314 -19663311.57049 -15079515.51747 21130540.0194 21130544.1184
+ 1155.3534 900.2784
+ 23979092.5344 -7007516.78349 -5439910.76146 23979090.8544 23979096.9994
+ 2459.0724 1916.1674
+ 24272681.1964 -3089392.78549 -2154169.94845 24272681.7974 24272684.9874
+ -3852.5814 -3002.0174
+ 23300117.9494 -7143186.67149 -5544265.55846 23300118.1424 23300123.4044
+ 3007.0154 2343.1264
+ 05 1 20 5 19 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22052424.4814 -13678125.46949 -10637358.34947 22052424.7394 22052428.0614
+ -3057.4294 -2382.4104
+ 21019504.4174 -23380733.41649 -18200557.20448 21019504.2914 21019508.2314
+ -1728.0874 -1346.5644
+ 21532512.8614 -15688680.42449 -12204621.68547 21532512.8294 21532517.8424
+ -2671.9504 -2082.0434
+ 22615878.8134 -8669455.21049 -6546301.82847 22615878.0364 22615882.2774
+ 1547.4664 1205.8134
+ 20334528.0474 -25908844.95849 -20173982.01248 20334527.8374 20334530.1164
+ 278.8594 217.2924
+ 24108661.8874 -5000741.83649 -3881566.67045 24108662.5774 24108666.4974
+ 3357.7694 2616.4494
+ 21123966.4364 -19697861.05149 -15106437.18547 21123965.5604 21123969.5094
+ 1147.9454 894.5034
+ 23965062.6264 -7081239.43749 -5497357.00545 23965062.7314 23965067.7574
+ 2455.7214 1913.5504
+ 24294674.8964 -2973816.77649 -2064110.75145 24294674.4394 24294678.4624
+ -3852.5914 -3002.0174
+ 23282968.3944 -7233310.20349 -5614491.69346 23282968.8224 23282973.5294
+ 3001.2104 2338.6064
+ 05 1 20 5 20 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22069910.7004 -13586233.06449 -10565753.87047 22069911.1334 22069915.7304
+ -3068.7194 -2391.2054
+ 21029409.3104 -23328686.27349 -18160001.00548 21029408.6244 21029412.5054
+ -1741.6944 -1357.1654
+ 21547806.8664 -15608308.14849 -12141993.94547 21547806.2904 21547812.3784
+ -2686.2204 -2093.1534
+ 22607088.5134 -8715644.94449 -6582293.82647 22607088.3064 22607093.3964
+ 1531.8294 1193.6274
+ 20332975.0014 -25917006.83949 -20180341.92448 20332974.6574 20332976.8564
+ 265.2484 206.6894
+ 24089509.6004 -5101389.03449 -3959993.04745 24089510.1674 24089513.7174
+ 3352.0984 2612.0204
+ 21117433.2144 -19732188.29549 -15133185.68648 21117433.0994 21117437.4344
+ 1140.5384 888.7314
+ 23951055.2524 -7154862.13549 -5554725.30946 23951053.5944 23951058.5314
+ 2452.4014 1910.9604
+ 24316668.2524 -2858241.90449 -1974052.43645 24316667.3994 24316671.6514
+ -3852.4144 -3001.8834
+ 23265853.0804 -7323256.52449 -5684579.75046 23265853.5044 23265856.9634
+ 2995.2194 2333.9484
+ 05 1 20 5 20 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22087461.7134 -13494002.96449 -10493886.25347 22087462.0714 22087466.2124
+ -3079.9204 -2399.9444
+ 21039390.5884 -23276230.67849 -18119126.53148 21039390.7734 21039394.6994
+ -1755.2654 -1367.7414
+ 21563184.3394 -15527509.41949 -12079033.89847 21563182.9274 21563187.5224
+ -2700.3674 -2104.1904
+ 22598387.4144 -8761364.16149 -6617919.17547 22598388.0144 22598393.2954
+ 1516.1034 1181.3714
+ 20331499.2604 -25924760.06649 -20186383.38948 20331499.4624 20331501.4524
+ 251.6054 196.0504
+ 24070391.0054 -5201867.62049 -4038288.04146 24070389.6854 24070394.0544
+ 3346.4334 2607.6124
+ 21110943.9664 -19766293.52649 -15159761.18948 21110943.2434 21110947.1934
+ 1133.1514 882.9704
+ 23937063.4924 -7228384.70949 -5612015.63846 23937062.8944 23937067.9794
+ 2449.0844 1908.3814
+ 24338659.5614 -2742670.91149 -1883997.09045 24338659.4374 24338663.0024
+ -3852.3614 -3001.8474
+ 23248770.2444 -7413022.56849 -5754527.31246 23248770.9264 23248775.2364
+ 2989.1634 2329.2184
+ 05 1 20 5 21 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22105077.0354 -13401438.16249 -10421757.84447 22105077.1494 22105081.8864
+ -3091.0404 -2408.5984
+ 21049450.7154 -23223366.54249 -18077933.71148 21049450.4024 21049454.0854
+ -1768.9274 -1378.3884
+ 21578639.1964 -15446287.32549 -12015743.95047 21578637.9284 21578643.8194
+ -2714.4394 -2115.1484
+ 22589778.8504 -8806610.55449 -6653176.08347 22589778.0754 22589782.2274
+ 1500.3044 1169.0834
+ 20330102.1174 -25932103.36549 -20192105.43548 20330102.0264 20330104.2174
+ 237.9334 185.4044
+ 24051303.3174 -5302175.83849 -4116450.30446 24051302.3004 24051306.4914
+ 3340.7514 2603.1834
+ 21104494.8264 -19800176.90149 -15186163.82447 21104495.0524 21104499.1924
+ 1125.7404 877.2004
+ 23923090.6554 -7301807.36049 -5669228.10646 23923089.6044 23923095.5924
+ 2445.7504 1905.7794
+ 24360650.7694 -2627106.47749 -1793946.87145 24360651.1474 24360654.7164
+ -3851.9964 -3001.5584
+ 23231724.2164 -7502605.10449 -5824331.87646 23231725.2314 23231729.5914
+ 2983.0374 2324.4424
+ 05 1 20 5 21 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22122755.3464 -13308541.58249 -10349370.89847 22122754.0234 22122758.9164
+ -3102.0374 -2417.1694
+ 21059588.4394 -23170094.47849 -18036422.99948 21059587.7144 21059591.6814
+ -1782.5554 -1389.0044
+ 21594174.5914 -15364644.89549 -11952126.48347 21594174.3884 21594179.7834
+ -2728.4054 -2126.0344
+ 22581258.7454 -8851381.78349 -6688062.75347 22581258.3724 22581263.5304
+ 1484.4304 1156.6934
+ 20328783.0944 -25939035.50649 -20197507.10848 20328782.9054 20328785.1834
+ 224.2094 174.7094
+ 24032247.7234 -5402312.33849 -4194478.72345 24032246.7524 24032251.3244
+ 3334.9674 2598.6714
+ 21098090.4134 -19833838.42349 -15212393.57747 21098089.7474 21098093.8264
+ 1118.3534 871.4454
+ 23909136.5604 -7375130.06249 -5726362.71446 23909137.6254 23909143.0284
+ 2442.4644 1903.2154
+ 24382641.6564 -2511551.61149 -1703904.08645 24382641.3384 24382644.6334
+ -3851.7014 -3001.3254
+ 23214711.4494 -7592000.92549 -5893990.96146 23214711.5464 23214716.5144
+ 2976.7084 2319.5174
+ 05 1 20 5 22 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22140494.2764 -13215316.27949 -10276727.80447 22140494.1924 22140499.2434
+ -3112.9704 -2425.6844
+ 21069802.4884 -23116414.66249 -17994594.57148 21069802.3104 21069806.5024
+ -1796.1334 -1399.5784
+ 21609791.7984 -15282585.20049 -11888183.87847 21609789.9694 21609795.8404
+ -2742.2784 -2136.8414
+ 22572830.5734 -8895675.40349 -6722577.23547 22572829.9674 22572834.2224
+ 1468.4614 1144.2484
+ 20327542.1174 -25945555.16149 -20202587.36448 20327541.9904 20327544.2124
+ 210.4434 163.9804
+ 24013223.9804 -5502275.26349 -4272371.91145 24013223.5414 24013228.7184
+ 3329.1494 2594.1404
+ 21091726.9644 -19867278.36549 -15238450.67548 21091726.3414 21091730.2894
+ 1110.9554 865.6794
+ 23895203.7754 -7448352.85349 -5783419.39046 23895202.3564 23895208.3754
+ 2439.0804 1900.5734
+ 24404625.7974 -2396009.10249 -1613870.94645 24404627.4854 24404630.3194
+ -3851.2464 -3000.9704
+ 23197737.6714 -7681206.76349 -5963502.00846 23197736.7084 23197741.3274
+ 2970.3444 2314.5464
+ 05 1 20 5 22 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22158296.7594 -13121765.20349 -10203830.87647 22158296.4444 22158300.8074
+ -3123.7694 -2434.1064
+ 21080094.8794 -23062327.64049 -17952448.85048 21080094.6584 21080098.7674
+ -1809.6954 -1410.1514
+ 21625484.8334 -15200111.12449 -11823918.37147 21625484.1034 21625489.6294
+ -2756.0024 -2147.5314
+ 22564492.7124 -8939489.20549 -6756717.85547 22564492.1654 22564496.6304
+ 1452.4444 1131.7744
+ 20326380.2584 -25951661.48549 -20207345.54848 20326380.0194 20326382.3644
+ 196.6304 153.2224
+ 23994234.4734 -5602062.74949 -4350128.41846 23994235.4674 23994240.1524
+ 3323.3224 2589.6034
+ 21085405.5934 -19900496.85449 -15264335.20848 21085405.2984 21085409.1504
+ 1103.5714 859.9314
+ 23881290.4744 -7521475.62049 -5840398.17346 23881289.3124 23881292.8324
+ 2435.7434 1897.9774
+ 24426611.5614 -2280481.53449 -1523849.46245 24426610.0614 24426614.7064
+ -3850.6104 -3000.4684
+ 23180796.4654 -7770219.29549 -6032862.40046 23180797.3564 23180804.2614
+ 2963.8604 2309.5024
+ 05 1 20 5 23 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22176160.6724 -13027891.17949 -10130682.28447 22176159.1874 22176164.9414
+ -3134.4764 -2442.4504
+ 21090465.3184 -23007833.49149 -17909985.88648 21090464.5014 21090468.6074
+ -1823.2524 -1420.7154
+ 21641256.5264 -15117225.78149 -11759332.38947 21641256.9634 21641261.9634
+ -2769.6914 -2158.2034
+ 22556246.7854 -8982820.84549 -6790482.75247 22556245.9514 22556250.8174
+ 1436.3134 1119.2104
+ 20325296.8344 -25957353.07649 -20211780.56048 20325297.0094 20325299.1894
+ 182.7874 142.4324
+ 23975279.2564 -5701673.32449 -4427747.02246 23975279.3134 23975283.8584
+ 3317.3644 2584.9604
+ 21079127.1954 -19933493.79549 -15290047.10648 21079126.4374 21079130.2084
+ 1096.1984 854.1734
+ 23867394.4784 -7594498.52249 -5897299.13146 23867393.4104 23867396.6624
+ 2432.4044 1895.3864
+ 24448591.6964 -2164971.52049 -1433841.67845 24448590.9444 24448595.3554
+ -3849.9284 -2999.9434
+ 23163895.9584 -7859035.44449 -6102069.76246 23163896.1404 23163902.3664
+ 2957.2504 2304.3434
+ 05 1 20 5 23 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22194083.9794 -12933697.33749 -10057284.50846 22194083.9394 22194088.7354
+ -3145.1124 -2450.7354
+ 21100912.4004 -22952932.54549 -17867205.94148 21100912.2954 21100916.3064
+ -1836.7764 -1431.2514
+ 21657109.2674 -15033931.97549 -11694428.13147 21657107.6354 21657112.6744
+ -2783.2474 -2168.7644
+ 22548092.1904 -9025668.10049 -6823870.22747 22548092.6144 22548097.1574
+ 1420.1274 1106.6004
+ 20324293.1484 -25962629.10649 -20215891.75148 20324293.2134 20324295.4244
+ 168.9154 131.6244
+ 23956357.9814 -5801104.88249 -4505226.15345 23956358.6954 23956361.8154
+ 3311.4034 2580.3094
+ 21072889.6904 -19966269.52949 -15315586.63648 21072889.3104 21072893.2414
+ 1088.8524 848.4604
+ 23853513.8234 -7667421.53049 -5954122.22246 23853515.9004 23853520.6764
+ 2429.0864 1892.8014
+ 24470571.3004 -2049482.11549 -1343849.89945 24470570.0634 24470573.1814
+ -3849.3134 -2999.4644
+ 23147034.0664 -7947651.97349 -6171121.60446 23147034.0354 23147038.5204
+ 2950.4754 2299.0744
+ 05 1 20 5 24 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22212069.6414 -12839186.56749 -9983639.73847 22212069.2784 22212074.1614
+ -3155.6204 -2458.9244
+ 21111437.2624 -22897625.47049 -17824109.53348 21111436.8434 21111440.4484
+ -1850.3454 -1441.8304
+ 21673035.1914 -14950232.88849 -11629208.07347 21673034.3454 21673040.4464
+ -2796.6954 -2179.2414
+ 22540032.1734 -9068028.85149 -6856878.59047 22540031.4494 22540037.0964
+ 1403.8964 1093.9404
+ 20323368.5994 -25967488.26549 -20219678.10348 20323368.2864 20323370.5814
+ 155.0334 120.8044
+ 23937473.1694 -5900356.10349 -4582564.77945 23937470.6564 23937475.9574
+ 3305.3384 2575.5854
+ 21066694.8854 -19998824.15149 -15340953.87648 21066694.4184 21066698.0344
+ 1081.4674 842.6994
+ 23839658.3404 -7740244.71949 -6010867.57946 23839657.4104 23839663.6994
+ 2425.7384 1890.2004
+ 24492543.6404 -1934016.09049 -1253876.34045 24492541.1034 24492545.8274
+ -3848.5704 -2998.8834
+ 23130207.8954 -8036065.49049 -6240015.27046 23130208.5804 23130214.6974
+ 2943.7224 2293.8124
+ 05 1 20 5 24 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22230113.3624 -12744361.75549 -9909750.29346 22230113.5374 22230118.3014
+ -3166.0194 -2467.0374
+ 21122039.4734 -22841912.42849 -17780696.78248 21122038.8764 21122042.4014
+ -1863.8064 -1452.3234
+ 21689039.2124 -14866131.72849 -11563674.71247 21689038.6774 21689043.6224
+ -2810.0554 -2189.6514
+ 22532063.8104 -9109900.95749 -6889506.18447 22532063.6804 22532067.4854
+ 1387.5644 1081.2084
+ 20322523.4724 -25971929.30949 -20223138.65548 20322523.3604 20322525.4934
+ 141.0294 109.8894
+ 23918620.1494 -5999425.11149 -4659761.40746 23918619.3684 23918623.7804
+ 3299.2574 2570.8504
+ 21060541.2244 -20031157.85249 -15366148.96848 21060540.8584 21060545.2294
+ 1074.1104 836.9684
+ 23825820.4114 -7812968.14649 -6067535.16746 23825819.0304 23825824.0254
+ 2422.4364 1887.6184
+ 24514509.5364 -1818576.14849 -1163923.17545 24514508.2384 24514512.7374
+ -3847.5484 -2998.0904
+ 23113425.3374 -8124272.94249 -6308748.33846 23113424.0934 23113428.3634
+ 2936.7774 2288.3894
+ 05 1 20 5 25 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22248218.0194 -12649225.76649 -9835618.36647 22248217.4234 22248222.3424
+ -3176.3354 -2475.0614
+ 21132717.9364 -22785793.92749 -17736968.09448 21132717.5264 21132721.5234
+ -1877.3154 -1462.8424
+ 21705118.4634 -14781631.45849 -11497830.35247 21705118.4674 21705123.6964
+ -2823.2894 -2199.9654
+ 22524188.2234 -9151281.85449 -6921751.03147 22524188.5494 22524194.4184
+ 1371.1534 1068.4384
+ 20321758.6134 -25975951.14349 -20226272.55148 20321758.2794 20321760.1974
+ 127.0654 99.0124
+ 23899799.7654 -6098310.44149 -4736814.92246 23899800.9664 23899806.2364
+ 3293.1174 2566.0674
+ 21054430.2374 -20063270.50149 -15391171.81048 21054430.0954 21054434.4504
+ 1066.7604 831.2464
+ 23811999.3474 -7885591.75049 -6124125.00546 23811999.4104 23812005.3444
+ 2419.1184 1885.0274
+ 24536471.3594 -1703164.81749 -1073992.26045 24536470.4484 24536475.2544
+ -3846.6024 -2997.3494
+ 23096678.8034 -8212271.01349 -6377318.26946 23096678.2294 23096683.1674
+ 2929.7954 2282.9634
+ 05 1 20 5 25 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22266381.3494 -12553781.72749 -9761246.37746 22266381.0154 22266383.4564
+ -3186.5744 -2483.0414
+ 21143473.9734 -22729270.27249 -17692923.71048 21143473.6684 21143477.8044
+ -1890.8584 -1473.3954
+ 21721274.3414 -14696735.10449 -11431677.35447 21721273.7214 21721279.4144
+ -2836.4574 -2210.2234
+ 22516409.2794 -9192169.64849 -6953611.64847 22516408.8444 22516412.2024
+ 1354.6734 1055.5884
+ 20321072.7244 -25979552.88349 -20229079.10448 20321072.7564 20321074.8734
+ 113.0504 88.0884
+ 23881017.5674 -6197010.33449 -4813723.94545 23881018.6504 23881024.0714
+ 3286.8724 2561.2004
+ 21048362.0524 -20095162.26149 -15416022.53648 21048361.3394 21048365.5564
+ 1059.3764 825.4874
+ 23798199.3144 -7958115.67649 -6180637.13046 23798199.3114 23798203.2504
+ 2415.7774 1882.4114
+ 24558424.8784 -1587785.09248 -984085.97045 24558425.5504 24558427.6444
+ -3845.3964 -2996.4074
+ 23079972.3124 -8300056.57449 -6445722.59046 23079973.0344 23079978.9674
+ 2922.6224 2277.3604
+ 05 1 20 5 26 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22284600.6714 -12458032.38149 -9686636.47846 22284600.8264 22284605.8644
+ -3196.6904 -2490.9124
+ 21154307.6204 -22672342.25849 -17648564.22948 21154306.9274 21154311.0604
+ -1904.3504 -1483.9044
+ 21737503.7334 -14611445.68049 -11365218.05747 21737503.9314 21737509.1304
+ -2849.5274 -2220.4134
+ 22508722.1594 -9232561.98749 -6985086.16447 22508722.0724 22508727.0934
+ 1338.1314 1042.6994
+ 20320467.5194 -25982733.37249 -20231557.40148 20320467.3214 20320469.6084
+ 98.9874 77.1334
+ 23862272.6754 -6295523.33149 -4890487.29046 23862273.8264 23862278.2264
+ 3280.6554 2556.3574
+ 21042335.3424 -20126833.44649 -15440701.37948 21042334.6584 21042338.7094
+ 1052.0174 819.7564
+ 23784415.3544 -8030539.90449 -6237071.57346 23784415.6254 23784422.8814
+ 2412.4754 1879.8464
+ 24580372.7474 -1472439.06948 -894205.89645 24580375.7974 24580380.6914
+ -3844.3294 -2995.5884
+ 23063308.8764 -8387626.23549 -6513958.71046 23063309.7664 23063313.2424
+ 2915.3984 2271.7324
+ 05 1 20 5 26 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22302878.3534 -12361980.80949 -9611791.10446 22302878.0794 22302883.3794
+ -3206.7094 -2498.7414
+ 21165216.4304 -22615009.81149 -17603889.61247 21165216.4404 21165220.2734
+ -1917.8344 -1494.4184
+ 21753809.3544 -14525766.31349 -11298454.91047 21753808.0314 21753813.1814
+ -2862.4464 -2230.4774
+ 22501131.0114 -9272456.74049 -7016172.96847 22501130.2624 22501135.4524
+ 1321.5314 1029.7544
+ 20319942.6374 -25985491.51049 -20233706.59348 20319942.6224 20319944.7934
+ 84.9064 66.1594
+ 23843562.4964 -6393847.75749 -4967103.70946 23843563.0904 23843567.8384
+ 3274.2574 2551.3684
+ 21036349.8844 -20158284.11049 -15465208.38448 21036349.6624 21036353.9214
+ 1044.6844 814.0374
+ 23770654.1564 -8102864.33249 -6293428.27446 23770654.2174 23770657.9134
+ 2409.1644 1877.2714
+ 24602316.8924 -1357130.40449 -804354.97345 24602319.4284 24602322.4584
+ -3842.9674 -2994.5204
+ 23046686.1504 -8474976.88149 -6582024.13746 23046686.2894 23046692.4594
+ 2908.0314 2265.9904
+ 05 1 20 5 27 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22321212.6794 -12265630.06849 -9536712.59646 22321212.3514 22321217.6284
+ -3216.6304 -2506.4674
+ 21176203.1394 -22557273.69549 -17558900.44447 21176203.1474 21176207.2814
+ -1931.2674 -1504.8804
+ 21770186.8604 -14439700.19149 -11231390.41147 21770186.0634 21770191.1694
+ -2875.2984 -2240.4934
+ 22493635.5044 -9311851.88249 -7046870.48447 22493633.9164 22493638.7094
+ 1304.8194 1016.7364
+ 20319498.3584 -25987826.29049 -20235525.90248 20319498.2454 20319500.1964
+ 70.7554 55.1324
+ 23824888.4974 -6491981.96549 -5043571.88446 23824887.2644 23824894.2484
+ 3267.9464 2546.4514
+ 21030407.1254 -20189514.39249 -15489543.66748 21030406.8284 21030410.9764
+ 1037.3304 808.3044
+ 23756909.4114 -8175088.99749 -6349707.23646 23756910.1254 23756915.7434
+ 2405.8274 1874.6854
+ 24624254.2804 -1241861.64149 -714535.16745 24624254.4764 24624256.3394
+ -3841.5884 -2993.4374
+ 23030107.4624 -8562105.24549 -6649916.36946 23030107.3174 23030112.5604
+ 2900.5714 2260.1904
+ 05 1 20 5 27 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22339605.6884 -12168982.90749 -9461403.12747 22339604.8284 22339609.3804
+ -3226.4824 -2514.1434
+ 21187267.2774 -22499134.24049 -17513596.98747 21187266.9854 21187270.9264
+ -1944.7074 -1515.3564
+ 21786637.4534 -14353250.35149 -11164026.89147 21786636.7744 21786641.6844
+ -2888.0204 -2250.4044
+ 22486231.4754 -9350745.15749 -7077176.90747 22486231.8134 22486237.7124
+ 1288.0404 1003.6654
+ 20319135.1654 -25989736.33849 -20237014.25148 20319134.8444 20319136.7124
+ 56.5914 44.0944
+ 23806252.5214 -6589924.05149 -5119890.41846 23806251.4184 23806256.0214
+ 3261.5024 2541.4304
+ 21024506.6134 -20220524.42549 -15513707.33048 21024505.6254 21024510.0704
+ 1030.0224 802.6124
+ 23743185.5224 -8247213.88349 -6405908.44046 23743183.8074 23743190.1254
+ 2402.5064 1872.0794
+ 24646180.6884 -1126635.19149 -624748.26645 24646180.0514 24646185.7874
+ -3840.0874 -2992.2754
+ 23013568.0564 -8649008.10149 -6717632.84446 23013569.2694 23013576.0584
+ 2893.0074 2254.2894
+ 05 1 20 5 28 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22358051.5304 -12072042.19449 -9385864.92546 22358051.7824 22358055.9624
+ -3236.2154 -2521.7354
+ 21198407.2494 -22440592.33449 -17467979.93147 21198407.4484 21198411.2634
+ -1958.1324 -1525.8254
+ 21803158.9364 -14266420.17649 -11096367.02847 21803159.2354 21803165.4354
+ -2900.6374 -2260.2424
+ 22478927.7614 -9389134.56749 -7107090.71047 22478926.8654 22478931.5624
+ 1271.2334 990.5694
+ 20318852.4204 -25991220.91149 -20238171.06148 20318852.2854 20318854.3444
+ 42.4014 33.0414
+ 23787650.2544 -6687672.50249 -5196058.07446 23787649.9694 23787655.8204
+ 3255.0864 2536.4314
+ 21018646.8774 -20251314.34249 -15537699.47548 21018646.7884 21018650.6764
+ 1022.6614 796.8794
+ 23729479.4384 -8319239.02749 -6462031.90846 23729479.3474 23729482.6824
+ 2399.1584 1869.4594
+ 24668102.3144 -1011453.72749 -534996.49445 24668099.6684 24668103.1844
+ -3838.5634 -2991.0914
+ 22997075.9594 -8735682.23349 -6785171.10146 22997076.1274 22997081.5244
+ 2885.2734 2248.2714
+ 05 1 20 5 28 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22376555.8614 -11974810.93649 -9310100.31146 22376554.5524 22376558.6924
+ -3245.8344 -2529.2274
+ 21209624.8274 -22381648.34649 -17422049.55747 21209623.7914 21209627.9324
+ -1971.4814 -1536.2204
+ 21819756.5654 -14179212.76049 -11028413.18847 21819754.7884 21819759.9454
+ -2913.1764 -2270.0074
+ 22471718.9124 -9427018.01249 -7136610.27147 22471718.1024 22471723.1434
+ 1254.3214 977.3964
+ 20318651.0204 -25992278.77849 -20238995.36748 20318650.8984 20318653.1764
+ 28.1424 21.9304
+ 23769087.0044 -6785226.05849 -5272073.85846 23769086.2284 23769092.2594
+ 3248.5284 2531.3194
+ 21012829.9674 -20281884.12549 -15561520.08048 21012829.3704 21012833.4934
+ 1015.3594 791.1884
+ 23715792.7244 -8391164.52249 -6518077.76846 23715791.0044 23715797.3654
+ 2395.8464 1866.8914
+ 24690010.4734 -896320.11249 -445281.98345 24690009.0124 24690013.2444
+ -3836.9974 -2989.8644
+ 22980626.4004 -8822124.36749 -6852528.63346 22980626.8584 22980631.7974
+ 2877.5354 2242.2364
+ 05 1 20 5 29 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22395112.4444 -11877292.14749 -9234111.62447 22395113.1314 22395116.6864
+ -3255.3834 -2536.6744
+ 21220918.0284 -22322302.60649 -17375806.14747 21220917.2914 21220921.7384
+ -1984.8784 -1546.6584
+ 21836421.3724 -14091631.19049 -10960167.81447 21836420.8824 21836426.0974
+ -2925.5964 -2279.6954
+ 22464604.7824 -9464393.53349 -7165734.04647 22464604.7234 22464610.5794
+ 1237.3564 964.1684
+ 20318531.0894 -25992909.02749 -20239486.47448 20318530.9744 20318533.1984
+ 13.8564 10.7954
+ 23750560.6584 -6882582.90049 -5347936.36346 23750560.9664 23750564.9634
+ 3241.9134 2526.1574
+ 21007054.4214 -20312233.87049 -15585169.23248 21007054.0654 21007058.2694
+ 1008.0014 785.4544
+ 23702124.4294 -8462990.45849 -6574046.02246 23702123.6224 23702129.0634
+ 2392.5434 1864.3084
+ 24711908.7144 -781237.08949 -355606.89345 24711910.3414 24711909.2444
+ -3835.2964 -2988.5414
+ 22964220.6104 -8908331.27249 -6919702.82646 22964222.3294 22964227.1304
+ 2869.6474 2236.0954
+ 05 1 20 5 29 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22413722.6604 -11779488.57049 -9157901.06847 22413723.2244 22413727.8214
+ -3264.8314 -2544.0234
+ 21232287.7294 -22262555.79149 -17329250.20747 21232286.8504 21232290.4774
+ -1998.2474 -1557.0714
+ 21853158.8724 -14003678.67049 -10891633.39347 21853158.0834 21853163.4154
+ -2937.9214 -2289.2924
+ 22457591.9404 -9501259.18749 -7194460.50847 22457590.3364 22457596.0644
+ 1220.3364 950.9074
+ 20318492.9014 -25993110.66649 -20239643.59648 20318492.5094 20318494.9314
+ -.4324 -.3364
+ 23732072.6054 -6979741.23949 -5423644.15846 23732071.9034 23732076.3254
+ 3235.2554 2520.9864
+ 21001321.1414 -20342363.80849 -15608647.10348 21001320.6074 21001324.5194
+ 1000.6684 779.7344
+ 23688475.6324 -8534716.87049 -6629936.71046 23688475.6944 23688481.1314
+ 2389.2084 1861.7204
+ 24733796.9204 -666207.30249 -265973.28245 24733797.7574 24733800.5964
+ -3833.4984 -2987.1534
+ 22947862.8744 -8994299.68849 -6986691.17646 22947863.7144 22947867.6434
+ 2861.6134 2229.8264
+ 05 1 20 5 30 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22432387.1534 -11681403.03749 -9081470.79046 22432387.4154 22432392.8604
+ -3274.1934 -2551.3214
+ 21243731.7384 -22202408.38149 -17282382.10047 21243731.7514 21243736.4554
+ -2011.6014 -1567.4834
+ 21869965.3614 -13915358.18849 -10822812.26847 21869964.2384 21869970.3484
+ -2950.1354 -2298.8034
+ 22450672.5784 -9537612.89049 -7222788.07947 22450672.0144 22450677.7634
+ 1203.2354 937.5904
+ 20318536.0574 -25992882.64249 -20239465.91348 20318536.2014 20318538.1934
+ -14.7724 -11.5124
+ 23713620.6314 -7076699.49749 -5499196.00846 23713620.9104 23713625.5124
+ 3228.6104 2515.7954
+ 20995628.9654 -20372273.98849 -15631953.73648 20995628.8684 20995632.9764
+ 993.4144 774.0874
+ 23674845.9974 -8606343.75049 -6685749.86746 23674844.5654 23674849.1244
+ 2385.9304 1859.1694
+ 24755676.5494 -551233.17249 -176383.11245 24755678.7424 24755678.0054
+ -3831.4594 -2985.5584
+ 22931551.3284 -9080026.61549 -7053491.35846 22931551.0374 22931555.9014
+ 2853.5184 2223.5234
+ 05 1 20 5 30 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22451107.2664 -11583038.76849 -9004823.30347 22451107.1144 22451110.8344
+ -3283.4124 -2558.5034
+ 21255254.5674 -22141860.59249 -17235202.03947 21255254.3114 21255258.0564
+ -2024.8844 -1577.8284
+ 21886841.6114 -13826672.87449 -10753706.85847 21886840.4164 21886846.5744
+ -2962.2004 -2308.2024
+ 22443851.3884 -9573452.66249 -7250715.16747 22443851.8034 22443857.4104
+ 1186.0694 924.2124
+ 20318661.0564 -25992224.07449 -20238952.74248 20318661.2954 20318663.4874
+ -29.1654 -22.7264
+ 23695207.4154 -7173456.38449 -5574590.96946 23695207.9544 23695213.6664
+ 3221.8534 2510.5334
+ 20989979.4634 -20401964.38449 -15655089.11448 20989979.0364 20989983.0524
+ 986.0254 768.3354
+ 23661233.1634 -8677871.01549 -6741485.40646 23661231.7224 23661238.6034
+ 2382.5794 1856.5614
+ 24777544.6694 -436317.62749 -86838.49245 24777544.8474 24777547.4494
+ -3829.4974 -2984.0334
+ 22915284.7164 -9165508.65349 -7120100.74646 22915284.0804 22915288.7334
+ 2845.2934 2217.1054
+ 05 1 20 5 31 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22469877.5584 -11484398.61249 -8927960.83046 22469876.9194 22469882.0824
+ -3292.5844 -2565.6494
+ 21266852.1044 -22080913.34949 -17187710.69547 21266851.7894 21266856.1434
+ -2038.2644 -1588.2534
+ 21903786.8114 -13737625.96249 -10684319.66247 21903786.2464 21903791.3354
+ -2974.2454 -2317.5954
+ 22437132.2504 -9608776.49449 -7278240.23947 22437130.9754 22437135.4124
+ 1168.8264 910.7694
+ 20318869.2684 -25991133.92349 -20238103.27048 20318868.8494 20318870.9624
+ -43.5544 -33.9404
+ 23676835.0364 -7270010.20449 -5649827.71146 23676833.9524 23676838.6934
+ 3215.0604 2505.2444
+ 20984371.0504 -20431435.15549 -15678053.34948 20984370.7994 20984374.9354
+ 978.7014 762.6244
+ 23647641.9214 -8749298.67349 -6797143.31446 23647642.6614 23647647.3244
+ 2379.2474 1853.9514
+ 24799398.7764 -321463.25049 2658.39044 24799400.7394 24799403.0574
+ -3827.4124 -2982.4004
+ 22899065.3984 -9250742.66049 -7186516.85446 22899065.2534 22899068.1174
+ 2837.0144 2210.6584
+ 05 1 20 5 31 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22488700.5074 -11385485.26149 -8850885.50746 22488699.8114 22488704.1124
+ -3301.6284 -2572.7004
+ 21278526.8044 -22019567.42049 -17139908.69947 21278526.1574 21278529.8404
+ -2051.4864 -1598.5534
+ 21920800.0964 -13648220.87849 -10614653.36547 21920798.9324 21920805.0554
+ -2986.1224 -2326.8434
+ 22430506.5244 -9643582.40549 -7305361.70347 22430506.3784 22430512.2854
+ 1151.5434 897.3114
+ 20319158.3124 -25989611.18049 -20236916.72448 20319158.4974 20319160.7104
+ -57.9914 -45.1854
+ 23658500.4914 -7366359.04249 -5724904.67246 23658499.3294 23658504.7254
+ 3208.1774 2499.8774
+ 20978804.8384 -20460686.51849 -15700846.62248 20978804.5064 20978808.7414
+ 971.3794 756.9204
+ 23634069.3504 -8820626.86649 -6852723.72646 23634069.0424 23634073.1744
+ 2375.9474 1851.3874
+ 24821240.3374 -206672.60148 92105.62244 24821238.8154 24821251.3664
+ -3825.1754 -2980.6604
+ 22882893.7034 -9335725.33849 -7252737.12046 22882892.9454 22882896.7444
+ 2828.5764 2204.0904
+ 05 1 20 5 32 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22507574.1884 -11286301.93549 -8773599.80746 22507573.2874 22507578.5234
+ -3310.5634 -2579.6564
+ 21290275.6074 -21957823.10749 -17091796.27147 21290275.2644 21290279.9394
+ -2064.7514 -1608.8914
+ 21937880.2104 -13558460.73349 -10544710.39947 21937879.9154 21937885.1874
+ -2997.8854 -2336.0214
+ 22423983.1584 -9677868.49049 -7332078.13047 22423982.6254 22423987.6364
+ 1134.2094 883.7904
+ 20319531.0254 -25987654.90649 -20235392.35648 20319531.0154 20319533.0764
+ -72.4524 -56.4564
+ 23640204.6874 -7462501.78449 -5799821.05646 23640205.0074 23640209.7734
+ 3201.3234 2494.5304
+ 20973280.4154 -20489718.45949 -15723468.90848 20973279.7294 20973283.9344
+ 964.0694 751.2244
+ 23620512.7614 -8891855.59249 -6908226.63146 23620512.0314 23620518.9444
+ 2372.6374 1848.8174
+ 24843076.0194 -91948.34749 181501.18244 24843077.3844 24843079.8914
+ -3823.0374 -2978.9954
+ 22866769.6184 -9420453.46949 -7318759.02746 22866769.4624 22866773.3844
+ 2820.0414 2197.4364
+ 05 1 20 5 32 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22526498.4434 -11186851.26949 -8696105.78346 22526498.4904 22526502.2494
+ -3319.4464 -2586.5954
+ 21302101.7734 -21895681.08149 -17043373.93447 21302100.9214 21302104.7074
+ -2078.0254 -1619.2404
+ 21955027.9514 -13468348.57949 -10474493.13747 21955027.5904 21955033.3184
+ -3009.5754 -2345.1284
+ 22417557.6384 -9711632.99549 -7358388.13347 22417557.4994 22417562.5564
+ 1116.7764 870.2164
+ 20319985.6764 -25985264.11849 -20233529.40648 20319985.7594 20319987.9424
+ -86.9384 -67.7464
+ 23621949.2624 -7558436.93849 -5874575.70446 23621948.8254 23621953.8664
+ 3194.3564 2489.1104
+ 20967797.6264 -20518531.25349 -15745920.44148 20967797.1664 20967800.9574
+ 956.7804 745.5434
+ 23606979.4174 -8962984.89349 -6963652.07346 23606978.9754 23606982.3734
+ 2369.3274 1846.2324
+ 24864894.2344 22706.67149 270842.74644 24864894.4474 24864899.6734
+ -3820.6334 -2977.1104
+ 22850694.9504 -9504923.89049 -7384580.12246 22850695.1374 22850698.9234
+ 2811.4014 2190.7034
+ 05 1 20 5 33 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22545472.7284 -11087136.25249 -8618405.76246 22545473.1434 22545478.2014
+ -3328.1964 -2593.3874
+ 21314001.8624 -21833141.67749 -16994641.95047 21314001.4834 21314005.7284
+ -2091.2884 -1629.5724
+ 21972242.9554 -13377887.57149 -10404004.04647 21972242.3694 21972247.7094
+ -3021.1634 -2354.1544
+ 22411232.0704 -9744873.78749 -7384290.03947 22411231.8474 22411237.0314
+ 1099.2734 856.5774
+ 20320523.7574 -25982437.79749 -20231327.07448 20320523.5724 20320525.7804
+ -101.4744 -79.0744
+ 23603733.7074 -7654162.36749 -5949166.90946 23603733.1284 23603737.3724
+ 3187.3494 2483.6404
+ 20962355.6984 -20547124.86049 -15768201.16948 20962355.7014 20962359.8534
+ 949.4644 739.8394
+ 23593463.4394 -9034014.82249 -7019000.05046 23593462.2864 23593467.3884
+ 2366.0114 1843.6574
+ 24886699.2534 137290.10249 360128.54145 24886698.0224 24886703.5994
+ -3818.1754 -2975.2074
+ 22834669.5464 -9589133.37249 -7450197.90546 22834670.7544 22834676.2214
+ 2802.6324 2183.8774
+ 05 1 20 5 33 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22564498.4904 -10987159.79549 -8540502.04946 22564498.3314 22564502.4314
+ -3336.8514 -2600.1354
+ 21325978.0074 -21770205.77949 -16945601.02147 21325978.0144 21325982.1274
+ -2104.4104 -1639.8004
+ 21989523.5254 -13287081.03449 -10333245.71147 21989522.3394 21989527.1954
+ -3032.6084 -2363.0734
+ 22405007.4594 -9777589.20949 -7409782.57247 22405006.2284 22405011.3064
+ 1081.7314 842.9064
+ 20321144.7534 -25979175.06949 -20228784.69448 20321144.5794 20321146.5924
+ -116.0534 -90.4304
+ 23585556.4964 -7749677.11449 -6023593.92046 23585557.3104 23585561.9294
+ 3180.2754 2478.1334
+ 20956956.9864 -20575499.30049 -15790311.12548 20956956.5354 20956960.3704
+ 942.1634 734.1534
+ 23579964.6464 -9104945.38149 -7074270.59446 23579963.2444 23579969.4514
+ 2362.6934 1841.0594
+ 24908491.6604 251799.33449 449356.46845 24908487.5964 24908491.2324
+ -3815.6864 -2973.2624
+ 22818697.2014 -9673078.70249 -7515609.83946 22818696.6804 22818699.9694
+ 2793.7624 2176.9414
+ 05 1 20 5 34 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22583572.6984 -10886924.66249 -8462396.73246 22583572.8984 22583577.5334
+ -3345.4174 -2606.8234
+ 21338030.0124 -21706874.56349 -16896252.02847 21338029.5734 21338032.9684
+ -2117.6084 -1650.0804
+ 22006866.0324 -13195932.18149 -10262220.62947 22006866.4364 22006872.8564
+ -3043.9514 -2371.9144
+ 22398882.2114 -9809777.37349 -7434864.24847 22398880.7134 22398886.2964
+ 1064.1424 829.1974
+ 20321848.6114 -25975475.17949 -20225901.66348 20321848.6714 20321850.8164
+ -130.6214 -101.7814
+ 23567422.4364 -7844979.32349 -6097855.32646 23567422.0174 23567426.7304
+ 3173.2034 2472.6304
+ 20951599.3104 -20603654.65949 -15812250.36848 20951599.1014 20951602.5934
+ 934.8804 728.4804
+ 23566486.0874 -9175776.55249 -7129463.72446 23566485.6964 23566490.7284
+ 2359.4154 1838.4974
+ 24930266.8384 366231.43548 538524.30244 24930264.1334 24930268.0374
+ -3813.0774 -2971.2254
+ 22802773.3414 -9756756.58549 -7580813.39446 22802773.9714 22802776.7804
+ 2784.8704 2170.0124
+ 05 1 20 5 34 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22602695.5834 -10786433.75649 -8384092.14646 22602695.2864 22602700.2214
+ -3353.9274 -2613.4374
+ 21350156.3874 -21643147.95349 -16846594.93547 21350156.0004 21350160.3304
+ -2130.8034 -1660.3674
+ 22024277.4214 -13104444.18549 -10190931.28747 22024276.6224 22024282.1724
+ -3055.2044 -2380.6754
+ 22392856.8474 -9841436.36249 -7459533.59447 22392856.0404 22392861.6794
+ 1046.4454 815.4204
+ 20322635.3564 -25971337.06349 -20222677.16448 20322635.7594 20322638.0654
+ -145.2604 -113.1894
+ 23549326.1144 -7940067.45849 -6171949.95046 23549327.0424 23549332.0284
+ 3166.0174 2467.0294
+ 20946283.0624 -20631591.22149 -15834019.11248 20946282.6624 20946286.5614
+ 927.5594 722.7754
+ 23553026.5854 -9246508.50749 -7184579.51546 23553026.9494 23553030.4054
+ 2356.0674 1835.8954
+ 24952028.8964 480583.98048 627630.14144 24952028.7564 24952028.7254
+ -3810.3334 -2969.0784
+ 22786899.9354 -9840164.01249 -7645806.17546 22786900.8064 22786905.7314
+ 2775.7414 2162.9094
+ 05 1 20 5 35 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22621865.1924 -10685690.07349 -8305590.59746 22621865.5414 22621870.6574
+ -3362.3394 -2620.0034
+ 21362358.6034 -21579026.80449 -16796630.42247 21362358.1054 21362362.5884
+ -2143.9414 -1670.6034
+ 22041750.8204 -13012620.25349 -10119380.16447 22041750.0554 22041755.0974
+ -3066.3544 -2389.3694
+ 22386934.4884 -9872564.32849 -7483789.13447 22386933.9344 22386938.1294
+ 1028.7044 801.5934
+ 20323507.1494 -25966759.91449 -20219110.55548 20323507.1304 20323509.2944
+ -159.9144 -124.6084
+ 23531271.1484 -8034940.03049 -6245876.57146 23531271.8844 23531277.8934
+ 3158.7974 2461.3924
+ 20941008.4734 -20659308.84049 -15855617.25648 20941007.9374 20941011.9264
+ 920.2594 717.0834
+ 23539585.9044 -9317141.20649 -7239617.98246 23539585.1304 23539589.4894
+ 2352.7584 1833.3124
+ 24973774.3924 594854.39658 716671.95054 24973773.7544 24973773.6834
+ -3807.6424 -2966.9904
+ 22771081.0484 -9923297.60849 -7710585.61546 22771081.2634 22771084.5784
+ 2766.5604 2155.7644
+ 05 1 20 5 35 30.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22641084.4414 -10584696.27449 -8226894.13046 22641084.7044 22641089.1904
+ -3370.5844 -2626.4274
+ 21374635.2294 -21514512.00649 -16746359.16347 21374634.8674 21374638.4964
+ -2157.0434 -1680.8224
+ 22059287.8134 -12920463.63449 -10047569.81847 22059287.2944 22059292.2194
+ -3077.3984 -2397.9764
+ 22381111.3644 -9903159.66749 -7507629.66747 22381110.5174 22381115.4494
+ 1010.9604 787.7514
+ 20324461.9604 -25961742.74849 -20215201.07448 20324461.8944 20324463.8554
+ -174.5684 -136.0304
+ 23513262.2374 -8129595.61249 -6319634.18246 23513260.8614 23513265.0924
+ 3151.5514 2455.7504
+ 20935775.0904 -20686807.54149 -15877044.81148 20935774.8484 20935779.1644
+ 912.9804 711.4064
+ 23526162.2454 -9387674.78949 -7294579.19946 23526162.9364 23526167.8854
+ 2349.4984 1830.7734
+ 24995498.3944 709039.85458 805647.64154 24995499.4044
+ -3804.8914 -2964.8604
+ 22755312.7014 -10006154.22049 -7775149.19346 22755313.8064 22755319.0854
+ 2757.2434 2148.5064
+ 05 1 20 5 36 0.0000000 0 10G 9G18G15G 5G22G25G14G 1G21G30
+ 22660350.7234 -10483455.12749 -8148004.92946 22660349.5764 22660355.3064
+ -3378.8094 -2632.8344
+ 21386986.7834 -21449603.91449 -16695781.44647 21386986.6284 21386990.4434
+ -2170.1454 -1691.0194
+ 22076886.6564 -12827977.52349 -9975502.71947 22076885.9104 22076891.3734
+ -3088.3604 -2406.5104
+ 22375391.4964 -9933220.57549 -7531053.72647 22375391.1314 22375396.0824
+ 993.0874 773.8394
+ 20325500.7134 -25956284.75649 -20210948.08948 20325500.4714 20325502.6284
+ -189.3024 -147.5094
+ 23495290.1844 -8224032.66649 -6393221.47246 23495289.9204 23495294.9094
+ 3144.2204 2450.0314
+ 20930583.9654 -20714087.47049 -15898301.89948 20930583.7214 20930588.0054
+ 905.7074 705.7464
+ 23512760.7894 -9458109.18749 -7349463.16446 23512760.0384 23512763.9344
+ 2346.1404 1828.1734
+ 25017208.5444 823138.03248 894555.35344
+ -3801.6664 -2962.3504
+ 22739600.6214 -10088730.66149 -7839494.46346 22739600.3674 22739604.6124
+ 2747.8624 2141.1994
+ 05 1 20 5 36 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22679662.8784 -10381969.69649 -8068925.36246 22679662.7104 22679666.5024
+ -3386.9034 -2639.1474
+ 21399413.2274 -21384303.28549 -16644897.84747 21399412.7874 21399416.7694
+ -2183.2204 -1701.2074
+ 22094548.0254 -12735165.18749 -9903181.42447 22094548.2674 22094553.4964
+ -3099.1634 -2414.9224
+ 22369772.9214 -9962745.31149 -7554060.01047 22369772.0524 22369777.3644
+ 975.1864 759.8854
+ 20326623.1444 -25950384.94149 -20206350.82848 20326623.1754 20326625.4414
+ -204.0364 -158.9894
+ 23477361.6194 -8318249.96549 -6466637.48846 23477360.8274 23477366.4654
+ 3136.8784 2444.3244
+ 20925434.7384 -20741148.87949 -15919388.71248 20925434.3484 20925438.1454
+ 898.4064 700.0564
+ 23499373.5874 -9528444.34149 -7404269.77446 23499373.3844 23499379.2604
+ 2342.8514 1825.5994
+ 22723940.3434 -10171023.74649 -7903618.93746 22723941.0314 22723944.0684
+ 2738.3724 2133.7894
+ 05 1 20 5 37 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22699021.5094 -10280242.91149 -7989657.74646 22699020.3104 22699024.6014
+ -3394.8814 -2645.3644
+ 21411914.2634 -21318610.97049 -16593709.04447 21411913.4914 21411917.3724
+ -2196.2854 -1711.3934
+ 22112272.2504 -12642029.88849 -9830608.46947 22112271.1234 22112276.8474
+ -3109.8554 -2423.2644
+ 22364255.8684 -9991732.20449 -7576647.21247 22364255.3964 22364261.2834
+ 957.2494 745.8954
+ 20327829.7844 -25944042.58949 -20201408.74148 20327829.8844 20327832.1144
+ -218.7984 -170.4944
+ 23459473.0434 -8412245.80149 -6539880.97746 23459474.3404 23459478.4064
+ 3129.4864 2438.5644
+ 20920327.1534 -20767991.87649 -15940305.33048 20920326.2864 20920330.1164
+ 891.1104 694.3644
+ 23486010.9994 -9598680.35749 -7458999.12746 23486010.0494 23486015.0244
+ 2339.5324 1823.0164
+ 22708334.9244 -10253030.29449 -7967520.12346 22708335.2114 22708339.5024
+ 2728.7804 2126.3264
+ 05 1 20 5 37 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22718423.8014 -10178277.38949 -7910204.10346 22718423.7734 22718427.8474
+ -3402.7884 -2651.5024
+ 21424488.9394 -21252527.75049 -16542215.64547 21424488.5304 21424492.9254
+ -2209.3044 -1721.5324
+ 22130055.1514 -12548574.82149 -9757786.33947 22130054.5394 22130060.3544
+ -3120.4634 -2431.5344
+ 22358842.5494 -10020179.59849 -7598814.00447 22358842.6164 22358847.9264
+ 939.2014 731.8424
+ 20329121.4524 -25937256.86949 -20196121.17248 20329121.0244 20329123.4474
+ -233.5854 -182.0114
+ 23441630.1134 -8506018.42849 -6612950.50046 23441630.0534 23441634.4154
+ 3122.0164 2432.7354
+ 20915260.3214 -20794616.22349 -15961051.57048 20915259.8834 20915263.6574
+ 883.8664 688.7254
+ 23472664.0624 -9668817.12649 -7513651.15046 23472662.9804 23472668.1064
+ 2336.2594 1820.4624
+ 22692785.9914 -10334747.15349 -8031195.59846 22692785.0974 22692789.2024
+ 2719.0344 2118.7314
+ 05 1 20 5 38 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22737871.5504 -10076075.96449 -7830566.64246 22737871.8574 22737875.7724
+ -3410.6204 -2657.6144
+ 21437139.1934 -21186054.23149 -16490418.11047 21437138.5654 21437142.5134
+ -2222.2474 -1731.6194
+ 22147899.2134 -12454803.27049 -9684717.60947 22147898.7474 22147904.5264
+ -3130.9734 -2439.7184
+ 22353531.7504 -10048085.66349 -7620558.98547 22353532.0594 22353537.1084
+ 921.1614 717.7894
+ 20330497.3854 -25930026.92849 -20190487.45448 20330497.1594 20330499.2844
+ -248.4094 -193.5634
+ 23423827.6374 -8599566.59849 -6685845.13046 23423827.5104 23423832.9134
+ 3114.4904 2426.8754
+ 20910235.6594 -20821022.16749 -15981627.62748 20910234.9674 20910238.8064
+ 876.5684 683.0434
+ 23459334.9514 -9738854.70649 -7568225.90546 23459334.4994 23459340.3234
+ 2332.9804 1817.8964
+ 22677289.4274 -10416171.10749 -8094642.82846 22677290.1074 22677294.4324
+ 2709.2264 2111.0904
+ 05 1 20 5 38 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22757365.5464 -9973641.42249 -7750747.52046 22757364.9164 22757369.5894
+ -3418.3264 -2663.6224
+ 21449861.8694 -21119191.46649 -16438317.27047 21449861.7124 21449866.1924
+ -2235.2354 -1741.7414
+ 22165803.7534 -12360718.51049 -9611404.83747 22165802.9544 22165808.6934
+ -3141.3584 -2447.8104
+ 22348327.0514 -10075448.94449 -7641881.00847 22348325.5924 22348330.9804
+ 903.0644 703.6924
+ 20331958.0144 -25922351.99649 -20184506.98848 20331957.7104 20331959.5734
+ -263.2574 -205.1394
+ 23406069.9734 -8692888.63049 -6758563.53546 23406069.1714 23406073.6434
+ 3106.9544 2420.9984
+ 20905252.5004 -20847209.64849 -16002033.45548 20905251.8644 20905255.4884
+ 869.2804 677.3614
+ 23446028.3834 -9808793.14749 -7622723.36846 23446027.8234 23446032.1384
+ 2329.6264 1815.2874
+ 22661852.8554 -10497298.94249 -8157859.33446 22661851.9274 22661856.5924
+ 2699.3274 2103.3754
+ 05 1 20 5 39 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22776900.7774 -9870976.64849 -7670748.99246 22776900.1394 22776904.6244
+ -3425.9594 -2669.5794
+ 21462659.7214 -21051940.03449 -16385913.56647 21462659.8494 21462663.7344
+ -2248.1874 -1751.8314
+ 22183766.2724 -12266323.69049 -9537850.46247 22183765.6674 22183770.9474
+ -3151.6314 -2455.8204
+ 22343222.1414 -10102267.79149 -7662778.79647 22343221.6214 22343226.9004
+ 884.8724 689.5174
+ 20333502.8904 -25914231.31649 -20178179.18248 20333502.8894 20333505.0814
+ -278.1214 -216.7194
+ 23388355.2144 -8785983.25249 -6831104.76846 23388354.2364 23388359.2794
+ 3099.3354 2415.0654
+ 20900309.9064 -20873178.74049 -16022269.10848 20900310.0254 20900313.7674
+ 861.9994 671.6904
+ 23432736.3904 -9878632.37549 -7677143.55046 23432735.7224 23432741.7144
+ 2326.3184 1812.7144
+ 22646469.8374 -10578127.61249 -8220842.68746 22646471.0784 22646475.8204
+ 2689.3384 2095.5734
+ 05 1 20 5 39 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22796480.6384 -9768084.57249 -7590573.36946 22796480.7084 22796484.9774
+ -3433.5014 -2675.4554
+ 21475531.4184 -20984300.78249 -16333207.67547 21475530.8754 21475534.9734
+ -2261.0734 -1761.8674
+ 22201788.3044 -12171622.23849 -9464057.11347 22201787.2924 22201792.8684
+ -3161.7824 -2463.7224
+ 22338222.4914 -10128540.52949 -7683251.04347 22338221.6884 22338227.7164
+ 866.6344 675.3044
+ 20335133.4884 -25905664.08949 -20171503.41748 20335133.0324 20335135.4634
+ -293.0264 -228.3304
+ 23370682.7254 -8878848.91549 -6903467.55946 23370682.7874 23370686.5464
+ 3091.7224 2409.1494
+ 20895410.0324 -20898929.64549 -16042334.74248 20895409.7534 20895413.8264
+ 854.7204 666.0164
+ 23419465.9904 -9948372.42349 -7731486.43246 23419465.2804 23419470.4684
+ 2323.0174 1810.1434
+ 22631147.1784 -10658653.71449 -8283590.29146 22631147.4204 22631151.9624
+ 2679.1434 2087.6384
+ 05 1 20 5 40 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22816102.5664 -9664968.10149 -7510222.89446 22816103.0664 22816107.2994
+ -3440.9344 -2681.2454
+ 21488476.2234 -20916274.50149 -16280200.19847 21488475.8514 21488479.2624
+ -2273.9904 -1771.9404
+ 22219866.1124 -12076617.37349 -9390027.38647 22219865.5254 22219871.0534
+ -3171.8714 -2471.5944
+ 22333328.7414 -10154265.49249 -7703296.47147 22333328.1744 22333332.8734
+ 848.3514 661.0554
+ 20336848.6424 -25896649.56449 -20164479.11748 20336848.7044 20336850.7644
+ -307.9584 -239.9684
+ 23353055.0774 -8971484.33949 -6975650.97046 23353054.2524 23353058.4334
+ 3083.9664 2403.0914
+ 20890551.6794 -20924462.27349 -16062230.30648 20890550.9804 20890555.1694
+ 847.4434 660.3464
+ 23406214.1914 -10018013.48949 -7785752.21146 23406213.6924 23406217.6074
+ 2319.7304 1807.5734
+ 22615881.0844 -10738874.25549 -8346099.78546 22615881.6714 22615887.0464
+ 2668.9534 2079.7014
+ 05 1 20 5 40 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22835768.5214 -9561630.07649 -7429699.74146 22835768.0784 22835771.7544
+ -3448.2584 -2686.9574
+ 21501494.3034 -20847862.17149 -16226891.91547 21501494.0584 21501497.9324
+ -2286.8314 -1781.9424
+ 22238002.5514 -11981312.20049 -9315763.60047 22238001.4314 22238006.5054
+ -3181.8554 -2479.3594
+ 22328536.7444 -10179441.16249 -7722913.87447 22328536.3124 22328541.2094
+ 830.0084 646.7664
+ 20338649.0294 -25887186.87249 -20157105.60048 20338649.0624 20338651.4644
+ -322.9044 -251.6134
+ 23335470.2574 -9063887.81549 -7047653.63246 23335470.4614 23335475.4444
+ 3076.2194 2397.0524
+ 20885734.2094 -20949776.83149 -16081955.93948 20885733.7234 20885738.0024
+ 840.1804 654.6884
+ 23392979.7264 -10087555.46849 -7839940.78846 23392980.2514 23392985.0654
+ 2316.4024 1804.9954
+ 22600674.5554 -10818786.07149 -8408368.72846 22600675.8134 22600679.0854
+ 2658.5894 2071.6144
+ 05 1 20 5 41 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22855474.5504 -9458073.00049 -7349005.92946 22855473.6844 22855477.9844
+ -3455.5144 -2692.6124
+ 21514586.7864 -20779064.55749 -16173283.38747 21514586.0004 21514590.2124
+ -2299.6664 -1791.9444
+ 22256193.2114 -11885710.20749 -9241268.55247 22256192.6534 22256200.0434
+ -3191.6504 -2487.0004
+ 22323850.5684 -10204065.99449 -7742102.06747 22323850.4604 22323855.9964
+ 811.6414 632.4474
+ 20340535.5084 -25877275.29049 -20149382.29048 20340535.3294 20340537.6484
+ -337.8504 -263.2634
+ 23317929.6324 -9156057.92649 -7119474.47346 23317930.7574 23317935.7164
+ 3068.4534 2390.9984
+ 20880958.8654 -20974873.08849 -16101511.46448 20880958.1364 20880962.1504
+ 832.9124 649.0184
+ 23379765.7464 -10156998.47149 -7894052.19846 23379765.5994 23379770.0714
+ 2313.1504 1802.4664
+ 22585528.6574 -10898385.86749 -8470394.54746 22585528.1944 22585532.2284
+ 2648.1684 2063.5064
+ 05 1 20 5 41 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22875221.7464 -9354299.81749 -7268143.70346 22875220.8504 22875225.4354
+ -3462.6624 -2698.1824
+ 21527750.7754 -20709882.28949 -16119375.14347 21527750.5324 21527755.2184
+ -2312.4704 -1801.9184
+ 22274442.7454 -11789814.72849 -9166544.80947 22274441.8254 22274447.2394
+ -3201.3894 -2494.5894
+ 22319271.1944 -10228138.50049 -7760859.85047 22319269.9444 22319274.2084
+ 793.2014 618.0674
+ 20342507.2584 -25866914.33249 -20141308.82348 20342507.1124 20342509.4334
+ -352.8594 -274.9544
+ 23300436.7114 -9247993.57549 -7191112.57946 23300436.7114 23300441.6364
+ 3060.6054 2384.8844
+ 20876224.2934 -20999751.26049 -16120897.05348 20876224.0994 20876228.0354
+ 825.6504 643.3674
+ 23366569.9594 -10226342.60149 -7948086.58146 23366569.9444 23366575.0954
+ 2309.8204 1799.8614
+ 22570439.4254 -10977670.80449 -8532174.99446 22570439.9104 22570444.8854
+ 2637.6234 2055.3114
+ 05 1 20 5 42 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22895008.6054 -9250313.11949 -7187115.10146 22895009.0304 22895013.5434
+ -3469.7794 -2703.7174
+ 21540989.2944 -20640316.38049 -16065167.95847 21540988.8594 21540993.0284
+ -2325.2524 -1811.8834
+ 22292745.6304 -11693629.01549 -9091594.89047 22292745.0944 22292751.1644
+ -3211.0084 -2502.0914
+ 22314794.6934 -10251657.20249 -7779186.12847 22314794.0684 22314799.8754
+ 774.6984 603.6594
+ 20344564.0344 -25856103.06749 -20132884.45848 20344564.2014 20344566.6214
+ -367.8934 -286.6704
+ 23282988.4394 -9339693.20649 -7262566.82546 23282986.4834 23282992.1184
+ 3052.6784 2378.7094
+ 20871531.9824 -21024411.42249 -16140112.76248 20871531.6674 20871535.0644
+ 818.3704 637.6864
+ 23353393.7144 -10295587.79449 -8002043.89946 23353392.7374 23353396.9284
+ 2306.5014 1797.2934
+ 22555413.8624 -11056637.39849 -8593707.38646 22555413.7084 22555418.1084
+ 2626.8864 2046.9154
+ 05 1 20 5 42 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22914838.9164 -9146115.72349 -7105922.34246 22914838.1364 22914842.4334
+ -3476.7404 -2709.1424
+ 21554300.1344 -20570367.65149 -16010662.48147 21554299.6904 21554303.9594
+ -2337.9894 -1821.8054
+ 22311104.8664 -11597156.20949 -9016421.29847 22311103.8794 22311109.2354
+ -3220.5014 -2509.4884
+ 22310424.6434 -10274620.67149 -7797079.73347 22310424.2374 22310428.6014
+ 756.1684 589.2254
+ 20346707.7164 -25844840.86149 -20124108.70848 20346707.4264 20346709.7614
+ -382.9154 -298.3764
+ 23265582.1154 -9431155.16449 -7333835.85046 23265582.4964 23265586.2854
+ 3044.7444 2372.5134
+ 20866881.0944 -21048853.57149 -16159158.59048 20866880.3224 20866883.8584
+ 811.1164 632.0394
+ 23340234.2634 -10364733.96049 -8055924.01346 23340233.3024 23340239.1404
+ 2303.2244 1794.7314
+ 22540447.6994 -11135282.68249 -8654989.41946 22540447.3604 22540452.6984
+ 2616.1284 2038.5444
+ 05 1 20 5 43 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22934704.2794 -9041710.44349 -7024567.58046 22934704.8274 22934709.4094
+ -3483.6334 -2714.5204
+ 21567683.8614 -20500036.86049 -15955859.28947 21567683.6304 21567687.6514
+ -2350.7244 -1831.7354
+ 22329516.3414 -11500399.77249 -8941026.68846 22329515.7034 22329521.0854
+ -3229.9284 -2516.8224
+ 22306161.4624 -10297027.65149 -7814539.71947 22306160.4584 22306165.2514
+ 737.5714 574.7264
+ 20348937.3264 -25833126.90949 -20114980.95948 20348936.8654 20348938.6104
+ -398.0084 -310.1374
+ 23248223.8204 -9522378.16549 -7404918.69946 23248223.2114 23248227.5354
+ 3036.7754 2366.3154
+ 20862271.3834 -21073077.65049 -16178034.49648 20862270.6104 20862274.1594
+ 803.8364 626.3624
+ 23327095.7424 -10433781.17749 -8109727.02646 23327095.0494 23327100.2344
+ 2299.9314 1792.1434
+ 22525544.3054 -11213603.41049 -8716018.56146 22525544.4044 22525548.3984
+ 2605.2594 2030.0694
+ 05 1 20 5 43 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22954609.6044 -8937100.00549 -6943052.93446 22954610.6754 22954615.9464
+ -3490.3994 -2719.8044
+ 21581140.2544 -20429324.94049 -15900759.10447 21581139.3844 21581143.1134
+ -2363.4204 -1841.6304
+ 22347981.7504 -11403362.85449 -8865413.51247 22347981.1264 22347987.6834
+ -3239.2384 -2524.0874
+ 22302002.4294 -10318876.49349 -7831564.78747 22302001.8884 22302008.4804
+ 718.9714 560.2324
+ 20351251.8604 -25820960.57349 -20105500.69548 20351251.7634 20351253.8624
+ -413.1074 -321.9014
+ 23230909.5414 -9613361.16249 -7475814.48946 23230909.1114 23230913.7134
+ 3028.7314 2360.0394
+ 20857702.3004 -21097083.79949 -16196740.58248 20857702.1204 20857705.9994
+ 796.5444 620.6844
+ 23313974.6134 -10502729.32949 -8163452.86146 23313974.4384 23313979.2974
+ 2296.6084 1789.5664
+ 22510701.5314 -11291596.65949 -8776792.50246 22510701.2134 22510706.2104
+ 2594.2944 2021.5254
+ 05 1 20 5 44 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22974555.3524 -8832287.28249 -6861380.72846 22974557.0274 22974562.0344
+ -3497.0864 -2725.0044
+ 21594667.6844 -20358232.74149 -15845362.60247 21594667.3324 21594671.9034
+ -2376.0334 -1851.4514
+ 22366500.9044 -11306048.79249 -8789584.40647 22366500.6544 22366505.6314
+ -3248.3704 -2531.2014
+ 22297953.2024 -10340165.81849 -7848153.86447 22297951.5844 22297957.0874
+ 700.3154 545.7014
+ 20353653.5924 -25808341.33249 -20095667.51848 20353653.0764 20353655.0954
+ -428.1874 -333.6504
+ 23213642.3214 -9704102.42449 -7546521.94246 23213642.1914 23213647.3334
+ 3020.6704 2353.7704
+ 20853175.6464 -21120871.94549 -16215276.80048 20853175.5464 20853179.3204
+ 789.3114 615.0444
+ 23300872.8554 -10571578.51749 -8217101.59146 23300871.2544 23300878.1924
+ 2293.3344 1787.0154
+ 22495922.8454 -11369259.15749 -8837308.71946 22495923.6444 22495928.0824
+ 2583.2014 2012.8804
+ 05 1 20 5 44 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 22994540.7984 -8727275.02749 -6779552.99746 22994540.5644 22994544.5154
+ -3503.7104 -2730.1674
+ 21608267.5864 -20286761.26049 -15789670.55147 21608267.8824 21608272.7954
+ -2388.6964 -1861.3224
+ 22385071.2484 -11208460.82049 -8713541.82247 22385070.7994 22385075.9014
+ -3257.4964 -2538.3094
+ 22294007.7034 -10360894.33249 -7864305.96347 22294007.1484 22294012.0314
+ 681.5914 531.1114
+ 20356140.8634 -25795268.42349 -20085480.84148 20356140.8124 20356142.9344
+ -443.3334 -345.4524
+ 23196418.9544 -9794600.67949 -7617040.05046 23196419.9314 23196423.8954
+ 3012.5644 2347.4544
+ 20848690.5374 -21144442.08549 -16233643.14148 20848690.1824 20848693.9964
+ 782.0394 609.3834
+ 23287792.1714 -10640328.80149 -8270673.23046 23287791.2114 23287795.8744
+ 2290.0044 1784.4234
+ 22481208.3474 -11446587.83349 -8897564.84346 22481208.1454 22481212.4354
+ 2572.0444 2004.1974
+ 05 1 20 5 45 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23014561.3064 -8622065.85149 -6697571.80746 23014561.0834 23014565.1564
+ -3510.2324 -2735.2524
+ 21621940.9374 -20214911.31149 -15733683.59447 21621940.7774 21621944.3644
+ -2401.2804 -1871.1254
+ 22403693.1804 -11110602.30849 -8637288.43547 22403692.1934 22403697.7564
+ -3266.4144 -2545.2564
+ 22290170.0934 -10381060.88949 -7880020.15347 22290169.0434 22290174.2344
+ 662.8284 516.4814
+ 20358714.4544 -25781741.22649 -20074940.15748 20358714.6114 20358717.1654
+ -458.4864 -357.2614
+ 23179245.9884 -9884854.62449 -7687367.78046 23179245.2134 23179250.6314
+ 3004.3734 2341.0754
+ 20844247.2684 -21167794.50149 -16251839.82648 20844246.2834 20844250.3764
+ 774.7794 603.7234
+ 23274729.5084 -10708980.09449 -8324167.74846 23274726.7944 23274731.8904
+ 2286.7284 1781.8564
+ 22466558.1554 -11523579.51149 -8957558.36346 22466557.8974 22466561.9604
+ 2560.7854 1995.4244
+ 05 1 20 5 45 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23034618.3344 -8516662.41649 -6615439.28246 23034618.6834 23034623.1504
+ -3516.6504 -2740.2424
+ 21635685.0864 -20142684.40549 -15677402.92247 21635684.8834 21635688.9654
+ -2413.8124 -1880.8914
+ 22422365.9154 -11012476.57649 -8560826.86647 22422365.0284 22422370.8274
+ -3275.2704 -2552.1504
+ 22286440.4644 -10400663.84849 -7895295.18247 22286439.1694 22286442.9704
+ 644.0234 501.8314
+ 20361375.7804 -25767759.37249 -20064045.22748 20361375.7524 20361377.6784
+ -473.6524 -369.0744
+ 23162116.5984 -9974862.58749 -7757503.82946 23162117.8064 23162122.0484
+ 2996.1634 2334.6734
+ 20839845.4204 -21190928.94449 -16269866.66248 20839844.4864 20839847.9034
+ 767.5234 598.0724
+ 23261681.6044 -10777532.67149 -8377585.35046 23261680.8454 23261686.3544
+ 2283.4344 1779.3194
+ 22451970.1544 -11600231.18349 -9017286.91246 22451970.8784 22451975.5554
+ 2549.4194 1986.5684
+ 05 1 20 5 46 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23054712.8194 -8411067.67549 -6533157.66246 23054712.9504 23054716.7774
+ -3522.9564 -2745.1554
+ 21649502.0774 -20070080.92649 -15620828.79047 21649501.2754 21649505.4184
+ -2426.3804 -1890.6854
+ 22441087.8514 -10914087.10949 -8484159.74746 22441087.3474 22441092.9544
+ -3284.0164 -2558.9724
+ 22282816.0984 -10419702.13049 -7910130.21947 22282815.9854 22282821.2674
+ 625.1604 487.1344
+ 20364122.8944 -25753321.89149 -20052795.24348 20364122.9494 20364124.9644
+ -488.8564 -380.9274
+ 23145036.1464 -10064623.48749 -7827447.37346 23145036.1284 23145042.0934
+ 2987.9244 2328.2564
+ 20835483.2494 -21213845.52849 -16287723.73548 20835483.2474 20835487.2034
+ 760.2544 592.4024
+ 23248655.4544 -10845986.38149 -8430925.89146 23248655.6614 23248659.7024
+ 2280.1374 1776.7424
+ 22437450.0824 -11676539.67049 -9076748.04646 22437450.1214 22437454.0474
+ 2537.8864 1977.5694
+ 05 1 20 5 46 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23074842.7254 -8305284.29349 -6450729.03546 23074842.6404 23074847.2124
+ -3529.2104 -2750.0344
+ 21663388.7024 -19997102.30549 -15563962.35247 21663388.3744 21663392.3994
+ -2438.8504 -1900.4004
+ 22459859.4204 -10815437.13849 -8407289.64246 22459859.4914 22459865.8244
+ -3292.6234 -2565.6624
+ 22279301.9794 -10438174.43949 -7924524.22647 22279301.3794 22279305.8244
+ 606.3044 472.4474
+ 20366958.0034 -25738428.35149 -20041189.87748 20366957.5074 20366959.2164
+ -504.0614 -392.7744
+ 23128003.8224 -10154136.04149 -7897197.41646 23128003.2424 23128008.0584
+ 2979.6024 2321.7664
+ 20831164.2724 -21236544.29149 -16305411.07148 20831163.7174 20831167.8224
+ 753.0074 586.7614
+ 23235648.4134 -10914341.09549 -8484189.28546 23235646.9184 23235653.1904
+ 2276.8464 1774.1634
+ 22422994.9514 -11752501.96449 -9135939.44246 22422994.8074 22422998.8894
+ 2526.3164 1968.5634
+ 05 1 20 5 47 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23095007.4074 -8199314.94249 -6368155.54346 23095007.0284 23095013.0174
+ -3535.3744 -2754.8404
+ 21677347.9964 -19923749.28249 -15506804.16547 21677347.4524 21677351.3194
+ -2451.3144 -1910.1114
+ 22478682.4914 -10716529.86649 -8330219.03347 22478682.4374 22478687.3614
+ -3301.1804 -2572.3424
+ 22275893.9774 -10456079.49749 -7938476.20847 22275893.2754 22275898.8784
+ 587.3394 457.6654
+ 20369878.4094 -25723078.18549 -20029228.70848 20369878.1454 20369880.4954
+ -519.3124 -404.6564
+ 23111016.6004 -10243398.63649 -7966752.65746 23111016.4954 23111021.5494
+ 2971.2254 2315.2414
+ 20826886.2534 -21259025.07949 -16322928.57148 20826885.8484 20826889.6784
+ 745.7194 581.0794
+ 23222658.9874 -10982596.95449 -8537375.66846 23222658.3424 23222664.2234
+ 2273.5434 1771.5934
+ 22408606.3204 -11828114.91049 -9194858.62546 22408606.8154 22408610.5314
+ 2514.6134 1959.4384
+ 05 1 20 5 47 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23115207.0724 -8093162.30949 -6285439.25046 23115206.6094 23115212.8504
+ -3541.3924 -2759.5304
+ 21691377.1904 -19850022.69349 -15449354.90447 21691377.1984 21691380.9974
+ -2463.7974 -1919.8404
+ 22497551.7424 -10617368.34549 -8252950.31346 22497551.1064 22497556.5914
+ -3309.6134 -2578.9184
+ 22272596.2634 -10473415.83349 -7951985.04347 22272595.0524 22272600.0524
+ 568.3894 442.9004
+ 20372886.5684 -25707270.77049 -20016911.23648 20372886.2814 20372888.4064
+ -534.5584 -416.5444
+ 23094079.9774 -10332410.00649 -8036112.14646 23094079.5904 23094083.5774
+ 2962.8074 2308.6834
+ 20822649.6684 -21281288.08649 -16340276.36448 20822649.0594 20822653.1614
+ 738.4514 575.4134
+ 23209689.3374 -11050754.01449 -8590485.05846 23209689.8884 23209694.4094
+ 2270.2584 1769.0274
+ 22394283.8984 -11903375.54549 -9253503.26646 22394284.3404 22394289.5574
+ 2502.8034 1950.2294
+ 05 1 20 5 48 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23135443.1064 -7986828.89949 -6202582.04346 23135442.1714 23135446.8064
+ -3547.4364 -2764.2374
+ 21705478.2994 -19775923.62949 -15391615.38847 21705477.6174 21705481.4824
+ -2476.1444 -1929.4584
+ 22516469.5204 -10517956.27449 -8175486.41346 22516469.1154 22516475.2494
+ -3317.8944 -2585.3694
+ 22269404.1304 -10490182.51349 -7965049.98047 22269403.6864 22269409.0424
+ 549.4004 428.1054
+ 20375981.4884 -25691005.65049 -20004237.11248 20375981.5574 20375983.6164
+ -549.8104 -428.4194
+ 23077187.4624 -10421168.78649 -8105274.83546 23077188.0314 23077193.2094
+ 2954.3924 2302.1344
+ 20818454.2694 -21303333.21749 -16357454.38548 20818454.0434 20818458.1144
+ 731.2054 569.7714
+ 23196738.2894 -11118812.30049 -8643517.48446 23196737.4774 23196743.0064
+ 2266.9674 1766.4684
+ 22380028.5524 -11978280.70049 -9311870.91146 22380030.0224 22380035.1894
+ 2490.8964 1940.9574
+ 05 1 20 5 48 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23155709.5464 -7880317.43849 -6119586.08646 23155712.1204 23155714.3344
+ -3553.3134 -2768.8294
+ 21719649.3624 -19701452.93749 -15333586.30647 21719649.0214 21719653.0164
+ -2488.5204 -1939.1114
+ 22535434.5764 -10418296.83949 -8097829.72846 22535433.3374 22535439.5264
+ -3326.0674 -2591.7374
+ 22266323.2154 -10506378.43749 -7977670.18047 22266322.3934 22266326.7554
+ 530.3634 413.2674
+ 20379163.9854 -25674282.12249 -19991205.79348 20379163.8264 20379165.8794
+ -565.0954 -440.3334
+ 23060345.0684 -10509673.95149 -8174239.87646 23060345.9784 23060351.5734
+ 2945.9334 2295.5314
+ 20814300.3524 -21325160.50849 -16374462.65648 20814300.2134 20814304.3314
+ 723.9654 564.1304
+ 23183805.3704 -11186771.71649 -8696472.86846 23183804.9764 23183811.9354
+ 2263.6744 1763.9054
+ 22365845.1394 -12052827.33849 -9369959.16447 22365845.2354 22365849.6874
+ 2478.9294 1931.6294
+ 05 1 20 5 49 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23176014.3854 -7773630.82349 -6036453.62946 23176012.9064 23176017.4134
+ -3559.0974 -2773.3324
+ 21733890.9274 -19626611.84049 -15275268.57847 21733890.3914 21733894.7654
+ -2500.8644 -1948.7274
+ 22554446.1904 -10318393.19449 -8019982.73046 22554444.8764 22554449.7514
+ -3334.1524 -2598.0534
+ 22263349.4564 -10522002.17649 -7989844.51847 22263349.1604 22263354.5814
+ 511.2494 398.3694
+ 20382433.3704 -25657099.79749 -19977816.97948 20382433.2854 20382435.6614
+ -580.3944 -452.2564
+ 23043553.4334 -10597924.04549 -8243006.17846 23043553.5584 23043557.3634
+ 2937.4004 2288.8924
+ 20810189.0854 -21346769.97149 -16391301.19848 20810188.4364 20810192.4204
+ 716.6754 558.4464
+ 23170892.6144 -11254632.24149 -8749351.19846 23170892.2924 23170897.4674
+ 2260.3604 1761.3194
+ 22351727.1334 -12127012.43949 -9427765.71247 22351727.5524 22351732.8124
+ 2466.7984 1922.1874
+ 05 1 20 5 49 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23196346.3794 -7666771.61949 -5953186.75046 23196346.1854 23196351.8754
+ -3564.8504 -2777.8024
+ 21748202.9404 -19551401.52449 -15216663.15647 21748202.1024 21748206.9214
+ -2513.1674 -1958.3124
+ 22573500.3154 -10218248.92349 -7941948.24446 22573501.4344 22573506.8504
+ -3342.1324 -2604.2604
+ 22260486.0184 -10537052.63649 -8001572.14747 22260486.0634 22260490.0914
+ 492.1174 383.4724
+ 20385790.1294 -25639458.16449 -19964070.25548 20385790.2944 20385792.8494
+ -595.7144 -464.1914
+ 23026807.6064 -10685917.77449 -8311572.70546 23026807.5574 23026813.8874
+ 2928.8514 2282.2154
+ 20806118.4284 -21368161.58949 -16407969.99548 20806117.8454 20806121.8764
+ 709.4384 552.8104
+ 23157998.0884 -11322393.91649 -8802152.51346 23157997.1524 23158003.0484
+ 2257.0744 1758.7624
+ 22337678.9134 -12200832.88049 -9485288.12647 22337680.1264 22337684.4194
+ 2454.6004 1912.6804
+ 05 1 20 5 50 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23216714.7724 -7559742.37849 -5869787.36946 23216714.1214 23216719.6574
+ -3570.4484 -2782.1564
+ 21762585.3764 -19475822.91249 -15157770.75747 21762585.2464 21762588.1574
+ -2525.4114 -1967.8524
+ 22592605.5324 -10117867.15449 -7863728.68846 22592603.9484 22592608.8384
+ -3349.9894 -2610.3814
+ 22257731.5444 -10551528.63349 -8012852.12947 22257730.1824 22257736.4144
+ 472.9714 368.5514
+ 20389234.8914 -25621356.83149 -19949965.32348 20389235.0534 20389237.2144
+ -611.0414 -476.1364
+ 23010111.0994 -10773653.94049 -8379938.53146 23010111.6674 23010117.5374
+ 2920.2414 2275.4994
+ 20802089.0584 -21389335.29849 -16424468.99248 20802088.9564 20802092.5654
+ 702.1594 547.1364
+ 23145122.2574 -11390056.65249 -8854876.70846 23145122.0524 23145126.4384
+ 2253.7864 1756.1904
+ 22323702.7824 -12274285.64749 -9542524.04747 22323702.3304 22323707.0444
+ 2442.2644 1903.0584
+ 05 1 20 5 50 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23237112.8624 -7452545.72949 -5786257.53646 23237113.1104 23237118.4594
+ -3575.9874 -2786.4844
+ 21777037.8044 -19399876.99849 -15098592.13347 21777037.0574 21777041.0984
+ -2537.6174 -1977.3584
+ 22611752.8194 -10017251.18149 -7785326.63746 22611750.5304 22611755.2144
+ -3357.7434 -2616.4204
+ 22255084.7824 -10565429.24549 -8023683.78447 22255084.9444 22255090.4674
+ 453.7054 353.5364
+ 20392767.3544 -25602795.23849 -19935501.75048 20392767.2044 20392769.3784
+ -626.4024 -488.1024
+ 22993467.1924 -10861131.14149 -8448102.58346 22993466.9044 22993470.1704
+ 2911.5764 2268.7614
+ 20798101.7534 -21410291.10649 -16440798.19048 20798100.8304 20798104.9164
+ 694.9024 541.4844
+ 23132264.5474 -11457620.59949 -8907523.92346 23132264.5034 23132269.3124
+ 2250.4734 1753.6154
+ 22309795.5354 -12347367.82049 -9599471.17347 22309795.4784 22309800.5584
+ 2429.8964 1893.4384
+ 05 1 20 5 51 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23257544.4094 -7345184.49249 -5702599.42946 23257543.7804 23257548.6014
+ -3581.4124 -2790.6984
+ 21791558.8134 -19323565.10649 -15039128.33847 21791558.5534 21791562.5704
+ -2549.8454 -1986.8954
+ 22630941.2284 -9916404.59249 -7706744.89846 22630940.3334 22630946.3674
+ -3365.3704 -2622.3624
+ 22252550.3704 -10578753.61549 -8034066.39947 22252549.8194 22252554.5054
+ 434.5284 338.5964
+ 20396387.1894 -25583772.97149 -19920679.21148 20396387.0874 20396389.4104
+ -641.7644 -500.0744
+ 22976869.3314 -10948347.97649 -8516063.75846 22976869.8244 22976874.5094
+ 2902.8684 2261.9804
+ 20794154.9384 -21431028.99549 -16456957.59048 20794154.7414 20794158.8104
+ 687.6364 535.8254
+ 23119426.6284 -11525085.68949 -8960094.12446 23119426.8444 23119432.2324
+ 2247.1764 1751.0534
+ 22295958.8264 -12420076.20349 -9656127.04847 22295959.4214 22295963.7834
+ 2417.3664 1883.6654
+ 05 1 20 5 51 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23278003.0114 -7237661.23149 -5618815.09246 23278003.9804 23278008.5404
+ -3586.7384 -2794.8664
+ 21806150.2474 -19246888.15449 -14979380.09647 21806149.8364 21806154.5844
+ -2561.9734 -1996.3414
+ 22650174.6124 -9815330.50049 -7627985.86346 22650173.9114 22650180.4224
+ -3372.9154 -2628.2514
+ 22250124.8424 -10591500.69449 -8043999.18047 22250123.5734 22250129.2634
+ 415.2704 323.5834
+ 20400094.5174 -25564289.39249 -19905497.20048 20400094.5224 20400096.9614
+ -657.1494 -512.0664
+ 22960321.4874 -11035303.42749 -8583821.23546 22960322.4744 22960326.8924
+ 2894.1624 2255.2014
+ 20790250.1024 -21451548.96749 -16472947.17648 20790249.4884 20790253.7534
+ 680.3554 530.1484
+ 23106608.1554 -11592451.94149 -9012587.30846 23106607.0894 23106612.5724
+ 2243.8944 1748.4984
+ 22282195.2424 -12492407.95649 -9712489.43847 22282195.6624 22282200.5844
+ 2404.7674 1873.8474
+ 05 1 20 5 52 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23298495.0554 -7129978.54249 -5534906.51246 23298496.1694 23298500.5184
+ -3592.0324 -2798.9874
+ 21820810.5234 -19169847.13349 -14919348.15347 21820810.3524 21820814.0434
+ -2574.0614 -2005.7634
+ 22669450.7984 -9714032.33349 -7549052.25346 22669450.7384 22669456.0694
+ -3380.2894 -2633.9674
+ 22247808.3254 -10603669.30149 -8053481.22747 22247807.6914 22247813.0664
+ 395.9884 308.5604
+ 20403890.0404 -25544344.17249 -19889955.49048 20403889.9584 20403892.1964
+ -672.5224 -524.0434
+ 22943827.0754 -11121996.47749 -8651374.25246 22943826.0374 22943830.1324
+ 2885.3834 2248.3574
+ 20786386.6924 -21471850.94549 -16488766.90248 20786386.3994 20786390.2634
+ 673.1114 524.5064
+ 23093807.1264 -11659719.34649 -9065003.45946 23093807.0984 23093811.6234
+ 2240.6074 1745.9384
+ 22268504.0034 -12564360.00249 -9768555.94547 22268503.5074 22268508.6474
+ 2392.0594 1863.9434
+ 05 1 20 5 52 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23319018.0334 -7022139.15349 -5450875.79546 23319017.3624 23319021.7954
+ -3597.2554 -2803.0524
+ 21835538.8364 -19092443.58449 -14859033.71747 21835539.3864 21835544.3254
+ -2586.1434 -2015.1694
+ 22688770.2504 -9612513.16449 -7469946.40446 22688768.7504 22688775.3294
+ -3387.6014 -2639.6914
+ 22245604.0674 -10615258.70249 -8062511.91047 22245603.1504 22245608.2734
+ 376.6684 293.5014
+ 20407773.5194 -25523936.97749 -19874053.79048 20407773.5074 20407775.6334
+ -687.9464 -536.0624
+ 22927379.0174 -11208425.40149 -8718721.45446 22927378.5814 22927382.6954
+ 2876.5704 2241.4994
+ 20782565.0874 -21491934.88949 -16504416.72548 20782564.5624 20782568.2984
+ 665.8164 518.8184
+ 23081024.9114 -11726887.76849 -9117342.47246 23081025.1994 23081029.8614
+ 2237.3084 1743.3454
+ 22254882.8514 -12635929.32749 -9824324.24247 22254883.8944 22254888.7924
+ 2379.2484 1853.9644
+ 05 1 20 5 53 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23339567.5604 -6914145.55349 -5366724.96246 23339568.3984 23339572.5204
+ -3602.2994 -2806.9804
+ 21850338.5244 -19014678.40849 -14798437.49047 21850338.0344 21850342.1194
+ -2598.1954 -2024.5664
+ 22708129.6054 -9510776.22749 -7390670.89746 22708128.6504 22708134.8134
+ -3394.8384 -2645.3424
+ 22243509.3904 -10626267.80849 -8071090.44447 22243508.1464 22243513.3694
+ 357.2824 278.4004
+ 20411745.0884 -25503067.31049 -19857791.72448 20411745.0364 20411747.0854
+ -703.3634 -548.0744
+ 22910980.8684 -11294589.31549 -8785862.16346 22910981.4514 22910985.5724
+ 2867.6884 2234.5724
+ 20778785.0694 -21511800.52749 -16519896.44848 20778784.3334 20778788.0584
+ 658.5554 513.1614
+ 23068262.9134 -11793957.26149 -9169604.41646 23068261.6694 23068267.1904
+ 2233.9984 1740.7734
+ 22241338.0904 -12707113.00749 -9879792.01647 22241338.2784 22241342.2804
+ 2366.3754 1843.9274
+ 05 1 20 5 53 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23360148.2084 -6806000.36849 -5282455.99046 23360147.4784 23360151.5914
+ -3607.3324 -2810.9034
+ 21865204.5524 -18936552.48649 -14737560.17147 21865204.1734 21865208.7854
+ -2610.1974 -2033.9214
+ 22727530.6734 -9408825.04749 -7311228.44846 22727530.7384 22727535.7124
+ -3401.9134 -2650.8294
+ 22241524.5014 -10636695.74949 -8079216.11147 22241523.9894 22241528.2604
+ 337.8794 263.2774
+ 20415804.0604 -25481734.87249 -19841169.04748 20415804.3354 20415806.5434
+ -718.8074 -560.1084
+ 22894636.3034 -11380486.86949 -8852795.32146 22894635.3684 22894641.1394
+ 2858.7994 2227.6474
+ 20775046.0304 -21531448.18449 -16535206.30948 20775045.6314 20775049.2604
+ 651.2804 507.4914
+ 23055517.4164 -11860927.73649 -9221789.19046 23055517.1904 23055523.2394
+ 2230.6784 1738.1864
+ 22227867.2094 -12777908.02949 -9934956.95747 22227866.7594 22227871.4114
+ 2353.3184 1833.7544
+ 05 1 20 5 54 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23380755.2234 -6697706.22949 -5198070.97446 23380755.7114 23380758.8084
+ -3612.2204 -2814.7124
+ 21880139.9424 -18858067.25449 -14676402.86647 21880139.3424 21880143.8664
+ -2622.1414 -2043.2244
+ 22746972.0004 -9306663.06249 -7231621.73346 22746970.5704 22746976.6484
+ -3408.8524 -2656.2414
+ 22239650.9234 -10646541.75249 -8086888.31747 22239650.1884 22239655.3064
+ 318.4874 248.1744
+ 20419951.8304 -25459939.13749 -19824185.36848 20419951.6864 20419954.0294
+ -734.2354 -572.1314
+ 22878341.1874 -11466116.65649 -8919519.78646 22878341.1844 22878345.7354
+ 2849.8754 2220.6824
+ 20771348.4474 -21550877.62449 -16550346.13248 20771348.0024 20771352.1004
+ 644.0314 501.8434
+ 23042794.6004 -11927799.28649 -9273896.87446 23042792.8994 23042798.2824
+ 2227.3954 1735.6354
+ 22214468.4204 -12848311.44249 -9989816.74047 22214468.7624 22214473.9234
+ 2340.2734 1823.5984
+ 05 1 20 5 54 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23401390.8104 -6589265.53949 -5113571.74346 23401389.9334 23401394.6684
+ -3617.1454 -2818.5434
+ 21895143.6384 -18779223.83349 -14614966.44447 21895143.3494 21895147.1264
+ -2634.0564 -2052.5084
+ 22766451.2364 -9204293.39149 -7151853.17446 22766450.8974 22766456.5904
+ -3415.7344 -2661.6034
+ 22237887.5094 -10655804.79349 -8094106.26347 22237887.6484 22237892.8324
+ 299.0474 233.0214
+ 20424188.1214 -25437679.82549 -19806840.45948 20424187.8294 20424189.9264
+ -749.6934 -584.1764
+ 22862098.1274 -11551477.56949 -8986034.79246 22862098.3194 22862101.7714
+ 2840.8824 2213.6784
+ 20767692.9744 -21570089.01949 -16565316.04748 20767692.4264 20767696.3434
+ 636.7444 496.1624
+ 23030087.5774 -11994571.78949 -9325927.41146 23030087.1584 23030092.1024
+ 2224.0764 1733.0594
+ 22201146.7314 -12918320.26549 -10044369.02947 22201147.9104 22201151.3874
+ 2327.0094 1813.2494
+ 05 1 20 5 55 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23422053.6164 -6480680.84549 -5028960.29245 23422052.8784 23422056.8944
+ -3621.8884 -2822.2484
+ 21910214.9154 -18700023.24549 -14553251.71847 21910214.4834 21910219.2844
+ -2645.9524 -2061.7864
+ 22785970.2284 -9101719.37249 -7071925.35246 22785969.7034 22785975.4064
+ -3422.4924 -2666.8874
+ 22236236.0644 -10664484.04849 -8100869.32947 22236235.3954 22236241.2654
+ 279.5714 217.8504
+ 20428512.2304 -25414956.74949 -19789134.18948 20428512.0684 20428513.9504
+ -765.1614 -596.2314
+ 22845903.5384 -11636568.84949 -9052339.66646 22845904.6994 22845910.1244
+ 2831.8554 2206.6434
+ 20764078.5684 -21589082.18349 -16580115.92148 20764078.0984 20764082.0304
+ 629.4584 490.4854
+ 23017399.1624 -12061245.32649 -9377880.80146 23017397.9854 23017403.3004
+ 2220.7804 1730.4664
+ 22187899.4354 -12987931.63449 -10098611.64947 22187900.1774 22187904.6954
+ 2313.7354 1802.9114
+ 05 1 20 5 55 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23442743.9204 -6371954.70849 -4944238.64845 23442743.3884 23442747.0914
+ -3626.5314 -2825.8644
+ 21925353.9664 -18620466.75049 -14491259.65747 21925353.1294 21925357.6354
+ -2657.8074 -2071.0214
+ 22805526.8524 -8998944.46849 -6991840.99646 22805526.2814 22805533.4004
+ -3429.1454 -2672.0774
+ 22234696.5174 -10672578.73049 -8107176.87647 22234695.9324 22234700.8974
+ 260.0574 202.6354
+ 20432924.0794 -25391769.53149 -19771066.23348 20432924.0054 20432926.1984
+ -780.6544 -608.3014
+ 22829764.9384 -11721388.92049 -9118433.22246 22829764.2214 22829768.9034
+ 2822.7924 2199.5714
+ 20760505.9564 -21607857.01149 -16594745.65648 20760505.2664 20760509.0454
+ 622.1734 484.8074
+ 23004730.7724 -12127819.76849 -9429756.98446 23004730.0614 23004736.1264
+ 2217.5034 1727.9194
+ 22174728.9984 -13057142.54849 -10152542.20147 22174729.5414 22174734.0814
+ 2300.3404 1792.4794
+ 05 1 20 5 56 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23463461.6014 -6263089.92449 -4859408.95445 23463459.9124 23463463.3284
+ -3631.1364 -2829.4624
+ 21940560.6614 -18540555.13849 -14428990.89247 21940560.3324 21940564.6034
+ -2669.6134 -2080.2164
+ 22825123.3714 -8895971.87749 -6911602.65346 22825122.5724 22825128.4044
+ -3435.6674 -2677.1434
+ 22233267.8834 -10680087.87049 -8113028.13947 22233267.2804 22233271.2844
+ 240.5284 187.4284
+ 20437425.2574 -25368117.73449 -19752636.27648 20437424.9044 20437427.0964
+ -796.1394 -620.3644
+ 22813675.9474 -11805936.69649 -9184314.60146 22813675.9074 22813679.8834
+ 2813.6774 2192.4884
+ 20756974.5324 -21626413.50949 -16609205.26448 20756974.0434 20756977.8304
+ 614.9004 479.1434
+ 22992081.6244 -12194295.03249 -9481555.89346 22992081.0244 22992085.2904
+ 2214.1744 1725.3264
+ 22161635.3924 -13125950.01849 -10206158.38547 22161636.2344 22161640.9434
+ 2286.8184 1781.9334
+ 05 1 20 5 56 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23484203.2924 -6154088.94749 -4774473.11246 23484202.1034 23484206.6844
+ -3635.6014 -2832.9424
+ 21955835.3284 -18460290.30949 -14366446.87247 21955834.4214 21955838.9034
+ -2681.3694 -2089.3834
+ 22844756.5244 -8792804.93049 -6831212.83346 22844754.3684 22844760.2714
+ -3442.1224 -2682.1754
+ 22231949.3034 -10687010.71849 -8118422.57247 22231948.4204 22231954.2724
+ 220.9934 172.2024
+ 20442014.7914 -25344000.92149 -19733843.97048 20442014.3644 20442016.4984
+ -811.6414 -632.4444
+ 22797638.7664 -11890210.74149 -9249982.69646 22797638.8534 22797643.6574
+ 2804.5714 2185.3884
+ 20753485.1224 -21644751.67449 -16623494.74448 20753484.6214 20753488.2224
+ 607.6144 473.4664
+ 22979449.4684 -12260671.22449 -9533277.59646 22979448.8144 22979455.0104
+ 2210.8634 1722.7474
+ 22148620.1354 -13194351.26949 -10259458.03947 22148619.9744 22148624.2244
+ 2273.2594 1771.3704
+ 05 1 20 5 57 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23504969.8794 -6044954.18249 -4689433.03046 23504969.8404 23504973.9934
+ -3639.9974 -2836.3714
+ 21971175.3524 -18379673.11549 -14303628.31447 21971175.1634 21971179.3124
+ -2693.0884 -2098.5114
+ 22864424.3694 -8689446.91749 -6750674.13246 22864422.8194 22864428.6214
+ -3448.4054 -2687.0744
+ 22230743.9854 -10693346.63649 -8123359.65147 22230743.9584 22230748.6214
+ 201.4114 156.9414
+ 20446692.3074 -25319419.08149 -19714689.29448 20446692.2004 20446694.1784
+ -827.1364 -644.5194
+ 22781654.3194 -11974210.35349 -9315436.93846 22781654.0944 22781659.5664
+ 2795.4154 2178.2384
+ 20750036.7394 -21662871.34249 -16637613.96548 20750036.5364 20750040.1284
+ 600.3434 467.8024
+ 22966839.1404 -12326948.27049 -9584922.03846 22966837.8174 22966842.7524
+ 2207.6094 1720.2164
+ 22135680.9684 -13262343.37849 -10312438.89747 22135681.0344 22135685.4574
+ 2259.6114 1760.7284
+ 05 1 20 5 57 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23525763.1484 -5935688.34649 -4604290.80246 23525762.1994 23525766.5814
+ -3644.3894 -2839.7794
+ 21986583.4494 -18298705.06849 -14240536.33947 21986583.1324 21986587.0834
+ -2704.7704 -2107.6034
+ 22884127.5364 -8585901.03549 -6669989.05746 22884126.3094 22884132.9224
+ -3454.6774 -2691.9514
+ 22229648.9364 -10699094.86449 -8127838.76947 22229649.0214 22229654.6974
+ 181.8154 141.6704
+ 20451458.4174 -25294371.94049 -19695172.06648 20451458.2114 20451460.5274
+ -842.6904 -656.6384
+ 22765721.5364 -12057933.97349 -9380676.11146 22765722.0314 22765727.4254
+ 2786.1824 2171.0474
+ 20746630.6254 -21680772.40449 -16651562.84048 20746629.9694 20746633.7994
+ 593.0554 462.1204
+ 22954246.6304 -12393126.07049 -9636489.16246 22954244.7564 22954249.2374
+ 2204.2614 1717.6114
+ 22122820.7194 -13329923.42949 -10365098.64247 22122820.8424 22122825.7524
+ 2245.7804 1749.9544
+ 05 1 20 5 58 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23546577.4554 -5826293.79349 -4519048.33845 23546579.0074 23546582.5204
+ -3648.6034 -2843.0714
+ 22002056.5234 -18217387.30649 -14177171.86847 22002056.8174 22002061.8984
+ -2716.4344 -2116.7074
+ 22903866.5174 -8482170.78149 -6589160.31446 22903866.6654 22903872.3294
+ -3460.6974 -2696.6424
+ 22228668.5254 -10704254.61749 -8131859.35447 22228667.8794 22228672.5424
+ 162.1834 126.3754
+ 20456313.1984 -25268859.13549 -19675291.96248 20456313.1254 20456315.4884
+ -858.2034 -668.7314
+ 22749843.4564 -12141380.63149 -9445699.48946 22749843.1314 22749847.3744
+ 2776.9264 2163.8384
+ 20743265.7484 -21698454.78949 -16665341.32248 20743265.2114 20743269.0604
+ 585.7664 456.4384
+ 22941670.3404 -12459204.57249 -9687978.90246 22941669.6664 22941675.1034
+ 2200.9414 1715.0224
+ 22110040.6614 -13397088.57649 -10417435.08047 22110040.1944 22110044.8694
+ 2231.9214 1739.1514
+ 05 1 20 5 58 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23567420.3124 -5716773.07249 -4433707.52346 23567420.5504 23567424.8874
+ -3652.7424 -2846.2914
+ 22017598.6664 -18135720.95649 -14113535.76247 22017598.2024 22017601.9084
+ -2728.0114 -2125.7174
+ 22923640.3554 -8378259.46249 -6508190.45746 22923639.0414 22923645.5684
+ -3466.6664 -2701.2994
+ 22227799.6054 -10708825.39949 -8135421.00547 22227798.9584 22227802.9864
+ 142.5264 111.0684
+ 20461257.0054 -25242880.53649 -19655048.91448 20461256.7794 20461259.1704
+ -873.7154 -680.8164
+ 22734015.9604 -12224549.48849 -9510506.35746 22734015.7274 22734021.9754
+ 2767.6184 2156.5774
+ 20739942.1864 -21715918.50849 -16678949.41848 20739941.7954 20739946.0074
+ 578.4864 450.7704
+ 22929114.7884 -12525183.74449 -9739391.23746 22929114.0824 22929119.4044
+ 2197.6604 1712.4584
+ 22097337.8344 -13463835.93549 -10469445.98547 22097338.6104 22097343.0344
+ 2217.9264 1728.2574
+ 05 1 20 5 59 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23588286.5464 -5607128.68449 -4348270.33946 23588285.3924 23588289.8064
+ -3656.8454 -2849.4894
+ 22033205.1544 -18053707.01249 -14049628.80647 22033204.7084 22033208.7734
+ -2739.5894 -2134.7444
+ 22943448.4474 -8274170.40049 -6427082.11446 22943447.8584 22943453.7444
+ -3472.5924 -2705.9134
+ 22227040.6864 -10712806.58049 -8138523.21947 22227040.0284 22227045.4044
+ 122.8784 95.7574
+ 20466289.4844 -25216436.09149 -19634442.88648 20466289.1724 20466291.2644
+ -889.2594 -692.9294
+ 22718242.5474 -12307438.84449 -9575095.47247 22718243.2804 22718247.2284
+ 2758.2874 2149.3114
+ 20736660.6334 -21733163.50449 -16692387.07748 20736660.2194 20736664.1114
+ 571.1914 445.0844
+ 22916578.2754 -12591063.53449 -9790726.13746 22916578.0714 22916582.8034
+ 2194.3964 1709.9114
+ 22084716.6344 -13530162.65149 -10521129.14947 22084717.3674 22084721.5974
+ 2203.8274 1717.2704
+ 05 1 20 5 59 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23609173.9384 -5497363.07349 -4262738.68546 23609172.1914 23609176.6004
+ -3660.8634 -2852.6254
+ 22048877.3154 -17971347.14649 -13985452.29747 22048877.0144 22048881.0514
+ -2751.0854 -2143.6984
+ 22963289.9234 -8169906.66349 -6345837.66146 22963288.3444 22963294.7994
+ -3478.3314 -2710.3884
+ 22226395.8034 -10716197.54249 -8141165.53047 22226395.3654 22226400.1574
+ 103.1794 80.3944
+ 20471409.9174 -25189525.15349 -19613473.32448 20471409.9834 20471412.4114
+ -904.8154 -705.0524
+ 22702523.4964 -12390048.08449 -9639466.32246 22702523.2524 22702526.6824
+ 2748.9254 2142.0274
+ 20733420.3334 -21750189.60649 -16705654.16948 20733420.0634 20733424.0904
+ 563.8774 439.3834
+ 22904059.6374 -12656844.06649 -9841983.69746 22904059.6964 22904065.3484
+ 2190.9984 1707.2554
+ 22072176.4494 -13596065.87549 -10572482.26947 22072176.0754 22072180.9454
+ 2189.7064 1706.2764
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 6 0 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23630082.5324 -5387478.63649 -4177114.43446 23630082.5934 23630087.1084
+ -3664.7874 -2855.6744
+ 22064616.4364 -17888642.94249 -13921007.49547 22064616.2384 22064619.9604
+ -2762.5294 -2152.6144
+ 22983163.3054 -8065471.80649 -6264459.88246 22983162.2814 22983167.1284
+ -3483.9854 -2714.7814
+ 22225862.6054 -10718997.82049 -8143347.56547 22225861.6084 22225867.3164
+ 83.4654 65.0424
+ 20476619.9584 -25162147.84049 -19592140.33648 20476619.7264 20476622.2124
+ -920.3444 -717.1494
+ 22686857.2134 -12472376.02049 -9703617.94147 22686857.2564 22686861.3124
+ 2739.5704 2134.7354
+ 20730223.1434 -21766996.71149 -16718750.61748 20730222.2724 20730225.9714
+ 556.5744 433.6954
+ 22891563.1294 -12722525.21949 -9893163.81246 22891561.3844 22891566.4704
+ 2187.6514 1704.6594
+ 22059716.5594 -13661542.66249 -10623503.13447 22059716.0964 22059719.9954
+ 2175.4864 1695.1804
+ 05 1 20 6 0 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23651014.2234 -5277477.89649 -4091399.58546 23651015.0164 23651019.8524
+ -3668.6124 -2858.6534
+ 22080419.6294 -17805595.51149 -13856295.21247 22080419.1374 22080422.9334
+ -2773.9764 -2161.5404
+ 23003067.2804 -7960868.82349 -6182951.09946 23003067.4604 23003071.9254
+ -3489.4964 -2719.0984
+ 22225442.3634 -10721206.82449 -8145068.86047 22225441.9544 22225446.5284
+ 63.7774 49.7074
+ 20481918.2754 -25134303.79849 -19570443.66848 20481918.1694 20481920.3744
+ -935.8994 -729.2764
+ 22671244.4454 -12554421.35049 -9767549.35347 22671244.3604 22671248.1464
+ 2730.1414 2127.3814
+ 20727065.8824 -21783584.73349 -16731676.33848 20727065.3434 20727069.2824
+ 549.2904 428.0164
+ 22879082.6154 -12788106.81949 -9944266.35146 22879082.3724 22879086.3114
+ 2184.3894 1702.1284
+ 22047337.9824 -13726590.45049 -10674189.70647 22047338.4674 22047342.8424
+ 2161.1034 1683.9814
+ 05 1 20 6 1 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23671968.1524 -5167363.28749 -4005595.97646 23671969.4304 23671973.3434
+ -3672.3494 -2861.5744
+ 22096286.7914 -17722205.62349 -13791316.08847 22096286.7204 22096291.7304
+ -2785.3644 -2170.4084
+ 23023004.1324 -7856101.08749 -6101313.88746 23023004.1474 23023008.2234
+ -3494.9794 -2723.3594
+ 22225134.5514 -10722824.04249 -8146329.01547 22225133.8054 22225139.5384
+ 44.0454 34.3164
+ 20487305.4994 -25105993.06549 -19548383.36748 20487305.7194 20487307.9714
+ -951.4874 -741.4184
+ 22655684.4314 -12636182.89549 -9831259.65446 22655683.9764 22655689.4564
+ 2720.6294 2119.9594
+ 20723951.0804 -21799953.72649 -16744431.39748 20723950.6844 20723954.4834
+ 541.9854 422.3274
+ 22866620.2924 -12853588.92949 -9995291.36546 22866620.6434 22866625.4274
+ 2181.0784 1699.5394
+ 22035041.3274 -13791206.18649 -10724539.61047 22035041.5544 22035046.2314
+ 2146.6394 1672.7114
+ 05 1 20 6 1 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23692943.7514 -5057137.35549 -3919705.64646 23692943.8264 23692948.8384
+ -3676.0514 -2864.4534
+ 22112221.4344 -17638475.22549 -13726071.64047 22112220.7154 22112225.2104
+ -2796.6824 -2179.2294
+ 23042969.9974 -7751172.12249 -6019551.05646 23042970.0774 23042975.4654
+ -3500.2764 -2727.4844
+ 22224939.2674 -10723848.96749 -8147127.65947 22224939.3454 22224944.7864
+ 24.2714 18.9144
+ 20492781.9444 -25077215.58149 -19525959.38348 20492781.8744 20492784.1974
+ -967.0304 -753.5294
+ 22640180.3534 -12717659.98249 -9894748.29747 22640180.0274 22640185.1094
+ 2711.1244 2112.5594
+ 20720877.8594 -21816103.47649 -16757015.61848 20720877.0854 20720881.2764
+ 534.6604 416.6224
+ 22854180.3774 -12918971.39749 -10046238.74446 22854179.3034 22854183.9094
+ 2177.7464 1696.9444
+ 22022827.6544 -13855387.13149 -10774550.73947 22022828.6764 22022833.1194
+ 2132.1144 1661.3834
+ 05 1 20 6 2 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23713940.8384 -4946802.43049 -3833730.40246 23713940.5954 23713945.6984
+ -3679.6184 -2867.2324
+ 22128219.9914 -17554405.50049 -13660562.76447 22128218.7234 22128222.4944
+ -2807.9504 -2188.0114
+ 23062970.2784 -7646085.01749 -5937665.00646 23062969.1404 23062973.5174
+ -3505.5044 -2731.5664
+ 22224855.8824 -10724280.99949 -8147464.29647 22224855.4274 22224862.4734
+ 4.5054 3.5154
+ 20498347.3344 -25047970.93349 -19503171.35348 20498347.2114 20498349.3024
+ -982.6084 -765.6694
+ 22624731.0054 -12798851.15449 -9958014.14447 22624730.1074 22624734.5094
+ 2701.5914 2105.1174
+ 20717845.7094 -21832033.76749 -16769428.83248 20717845.7064 20717849.6744
+ 527.3524 410.9244
+ 22841758.0194 -12984254.19149 -10097108.45046 22841757.1614 22841761.3014
+ 2174.4334 1694.3594
+ 22010698.4124 -13919130.58749 -10824220.94247 22010698.5334 22010703.5424
+ 2117.4764 1649.9774
+ 05 1 20 6 2 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23734955.2964 -4836360.95349 -3747672.11846 23734956.4704 23734961.1724
+ -3683.1564 -2869.9974
+ 22144280.4054 -17469997.64849 -13594790.41247 22144280.9944 22144284.9404
+ -2819.2524 -2196.8294
+ 23082996.6074 -7540843.16349 -5855658.37546 23082995.2054 23083001.1134
+ -3510.6284 -2735.5604
+ 22224888.1584 -10724119.59849 -8147338.54147 22224887.7254 22224892.5144
+ -15.3024 -11.9234
+ 20504000.7204 -25018259.28549 -19480019.43448 20504000.7954 20504003.2844
+ -998.2004 -777.8184
+ 22609334.1914 -12879755.67449 -10021056.63947 22609334.0344 22609339.1424
+ 2692.0154 2097.6714
+ 20714856.4104 -21847744.69649 -16781671.11648 20714856.1954 20714860.2284
+ 520.0194 405.2064
+ 22829353.5244 -13049437.18349 -10147900.39046 22829353.0354 22829356.9544
+ 2171.0874 1691.7474
+ 21998652.2594 -13982433.81249 -10873548.12547 21998652.4034 21998656.8954
+ 2102.7354 1638.4904
+ 05 1 20 6 3 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23755993.3254 -4725815.42949 -3661532.77246 23755992.0174 23755997.1654
+ -3686.5394 -2872.6224
+ 22160408.2844 -17385253.07849 -13528755.68947 22160407.6574 22160411.4594
+ -2830.3834 -2205.4844
+ 23103052.6284 -7435449.76249 -5773533.66946 23103051.1744 23103057.3074
+ -3515.6004 -2739.4244
+ 22225031.6464 -10723364.48749 -8146750.14247 22225031.1844 22225035.8834
+ -35.0724 -27.3164
+ 20509743.5474 -24988080.46249 -19456503.47648 20509743.4484 20509746.0444
+ -1013.7564 -789.9384
+ 22593992.3404 -12960372.51549 -10083874.93647 22593993.7184 22593998.5014
+ 2682.4294 2090.2034
+ 20711909.0044 -21863236.05949 -16793742.30648 20711908.3384 20711912.4724
+ 512.7034 399.5144
+ 22816967.3784 -13114520.54949 -10198614.69546 22816966.9694 22816971.8174
+ 2167.7624 1689.1664
+ 21986689.7564 -14045293.92049 -10922530.01647 21986690.5224 21986695.3074
+ 2087.9274 1626.9604
+ 05 1 20 6 3 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23777048.1984 -4615168.10749 -3575314.05746 23777048.4994 23777052.4034
+ -3689.9284 -2875.2654
+ 22176598.2004 -17300173.10449 -13462459.59947 22176597.3064 22176601.5894
+ -2841.5914 -2214.2234
+ 23123136.3994 -7329908.02949 -5691293.38446 23123135.4264 23123140.9054
+ -3520.5094 -2743.2634
+ 22225288.6734 -10722015.18149 -8145698.71947 22225288.0434 22225293.0964
+ -54.8744 -42.7684
+ 20515575.6454 -24957434.33049 -19432623.38848 20515575.5084 20515577.7294
+ -1029.3294 -802.0724
+ 22578708.1804 -13040700.45649 -10146468.12747 22578708.5074 22578712.1884
+ 2672.7644 2082.6714
+ 20709002.9854 -21878507.63649 -16805642.23748 20709002.2474 20709006.1294
+ 505.3704 393.7964
+ 22804601.9064 -13179504.05649 -10249251.19646 22804601.3554 22804606.2054
+ 2164.4454 1686.5824
+ 21974814.0274 -14107708.29449 -10971164.57347 21974813.5324 21974817.9174
+ 2073.0244 1615.3384
+ 05 1 20 6 4 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23798123.2684 -4504421.40649 -3489017.90746 23798122.7064 23798126.7934
+ -3693.1824 -2877.8064
+ 22192851.2854 -17214759.26549 -13395903.35747 22192851.3304 22192856.1974
+ -2852.6594 -2222.8544
+ 23143247.7184 -7224221.40849 -5608940.21046 23143245.9944 23143252.5414
+ -3525.2634 -2746.9514
+ 22225658.3894 -10720071.35949 -8144184.05047 22225658.0494 22225663.4394
+ -74.7284 -58.2224
+ 20521496.7784 -24926320.90249 -19408379.18248 20521496.4874 20521498.4254
+ -1044.9074 -814.2114
+ 22563476.4844 -13120738.50549 -10208835.44247 22563477.5134 22563482.2124
+ 2663.1004 2075.1444
+ 20706138.3274 -21893559.54849 -16817370.99548 20706137.8774 20706141.9694
+ 498.0644 388.0994
+ 22792254.1744 -13244387.70249 -10299809.87646 22792254.1864 22792258.9584
+ 2161.1164 1683.9884
+ 21963021.5104 -14169674.15649 -11019449.65847 21963021.9554 21963026.1004
+ 2058.0574 1603.6774
+ 05 1 20 6 4 30.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23819216.0234 -4393577.79949 -3402646.28046 23819215.7114 23819220.7834
+ -3696.3824 -2880.2944
+ 22209168.2634 -17129012.84149 -13329087.98347 22209168.1244 22209172.6204
+ -2863.7404 -2231.4824
+ 23163385.9354 -7118392.98349 -5526476.52446 23163384.8404 23163391.3924
+ -3529.9634 -2750.6314
+ 22226141.8694 -10717532.63749 -8142205.82747 22226140.2334 22226146.6764
+ -94.5384 -73.6534
+ 20527505.9714 -24894739.93249 -19383770.64748 20527505.8234 20527508.2094
+ -1060.5044 -826.3624
+ 22548302.6004 -13200485.93449 -10270976.28247 22548301.7594 22548306.1904
+ 2653.3864 2067.5814
+ 20703315.7594 -21908391.56049 -16828928.40548 20703315.0864 20703319.4084
+ 490.7234 382.3834
+ 22779925.3104 -13309171.31149 -10350290.60946 22779925.6294 22779931.4534
+ 2157.7554 1681.3754
+ 21951315.9014 -14231188.79549 -11067383.12847 21951315.7394 21951320.5204
+ 2042.9694 1591.9274
+ 05 1 20 6 5 0.0000000 0 9G 9G18G15G 5G22G25G14G 1G30
+ 23840326.0864 -4282639.76249 -3316201.02946 23840326.3704 23840330.9394
+ -3699.4394 -2882.6824
+ 22225547.7964 -17042935.03749 -13262014.36447 22225547.7844 22225552.1074
+ -2874.7564 -2240.0804
+ 23183549.4564 -7012426.35149 -5443905.14646 23183549.8724 23183555.0904
+ -3534.4634 -2754.1304
+ 22226738.5634 -10714398.62949 -8139763.73347 22226737.2734 22226741.5194
+ -114.3734 -89.1314
+ 20533604.5114 -24862691.50449 -19358797.85348 20533604.5394 20533606.8874
+ -1076.0714 -838.4984
+ 22533182.3364 -13279941.21649 -10332889.46047 22533182.6844 22533186.0924
+ 2643.6304 2059.9594
+ 20700535.0864 -21923003.30749 -16840314.18048 20700534.7844 20700538.6374
+ 483.3654 376.6444
+ 22767618.8394 -13373854.80149 -10400693.32046 22767617.8164 22767622.2744
+ 2154.4444 1678.7724
+ 21939697.3184 -14292249.53349 -11114962.92147 21939697.1844 21939701.0434
+ 2027.7634 1580.0704
+ 05 1 20 6 5 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 23861455.9624 -4171609.37649 -3229683.85346 23861454.9244 23861459.3164
+ -3702.4914 -2885.0594
+ 22241991.7554 -16956527.26449 -13194683.64147 22241991.1244 22241996.0294
+ -2885.7464 -2248.6324
+ 23203739.1974 -6906324.56849 -5361228.43746 23203740.2604 23203745.2514
+ -3538.9054 -2757.5964
+ 22227446.4724 -10710669.28949 -8136857.74647 22227446.2834 22227451.7834
+ -134.2604 -104.6164
+ 24720307.8844 -101899.44449 -72510.89145
+ 1233.9804 961.5434
+ 20539791.6614 -24830175.79149 -19333460.94848 20539791.9114 20539794.1584
+ -1091.6404 -850.6294
+ 22518117.8844 -13359103.64349 -10394574.47747 22518117.9744 22518122.0964
+ 2633.8864 2052.3774
+ 20697796.3614 -21937394.93649 -16851528.43748 20697796.0854 20697800.0574
+ 476.0474 370.9434
+ 22755328.0224 -13438438.30749 -10451018.12047 22755327.6944 22755332.2294
+ 2151.1144 1676.1914
+ 21928163.6924 -14352853.72249 -11162186.94947 21928163.5454 21928167.8954
+ 2012.5154 1568.1824
+ 05 1 20 6 6 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 23882599.6644 -4060489.23849 -3143096.75346 23882599.7474 23882605.1164
+ -3705.4994 -2887.4054
+ 22258496.5794 -16869791.08449 -13127097.02347 22258496.6374 22258500.5074
+ -2896.6494 -2257.1244
+ 23223955.5834 -6800090.92149 -5278449.00846 23223955.5954 23223960.7204
+ -3543.2714 -2760.9704
+ 22228270.5564 -10706344.26649 -8133487.59747 22228269.6884 22228275.0104
+ -154.0974 -120.0784
+ 24713305.8484 -138685.04349 -101175.08745 24713305.4934 24713307.5534
+ 1218.4134 949.4074
+ 20546069.1694 -24797192.67649 -19307759.84648 20546068.8504 20546070.7734
+ -1107.2244 -862.7734
+ 22503109.0104 -13437972.44449 -10456030.67147 22503109.6254 22503113.9904
+ 2624.0494 2044.7114
+ 20695099.5824 -21951566.31149 -16862571.06448 20695099.3634 20695103.6614
+ 468.7094 365.2254
+ 22743057.2594 -13502921.53449 -10501264.79746 22743056.6194 22743061.7854
+ 2147.7844 1673.5954
+ 21916718.4364 -14412998.53249 -11209053.02347 21916718.8424 21916723.6064
+ 1997.1504 1556.2164
+ 05 1 20 6 6 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 23903763.6404 -3949281.77449 -3056441.58145 23903762.4844 23903767.2594
+ -3708.3584 -2889.6314
+ 22275064.1424 -16782727.99149 -13059255.64747 22275064.0624 22275068.1724
+ -2907.5234 -2265.6084
+ 23244194.7974 -6693728.74649 -5195569.42746 23244195.4414 23244202.9064
+ -3547.4934 -2764.2664
+ 22229207.6314 -10701423.22549 -8129653.02747 22229207.1064 22229211.4234
+ -173.9664 -135.5554
+ 24706393.4814 -175002.39049 -129474.31945 24706394.1874 24706397.5954
+ 1202.7944 937.2414
+ 20552433.8474 -24763742.06849 -19281694.43848 20552434.0684 20552436.3474
+ -1122.7934 -874.9064
+ 22488157.4664 -13516546.41449 -10517257.14547 22488157.5264 22488162.0574
+ 2614.2314 2037.0584
+ 20692444.9134 -21965517.26149 -16873441.93548 20692444.6284 20692448.7644
+ 461.3554 359.4964
+ 22730806.6854 -13567304.53149 -10551433.35947 22730805.8594 22730810.0294
+ 2144.4294 1670.9904
+ 21905361.5254 -14472681.32849 -11255559.10547 21905361.2124 21905365.1374
+ 1981.7514 1544.2234
+ 05 1 20 6 7 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 23924943.2594 -3837989.06149 -2969719.98345 23924939.8294 23924945.0144
+ -3711.1224 -2891.7914
+ 22291694.1544 -16695339.44749 -12991160.68747 22291693.6334 22291697.5994
+ -2918.3504 -2274.0344
+ 23264460.1724 -6587241.00449 -5112591.96746 23264459.3014 23264466.0674
+ -3551.6484 -2767.5134
+ 22230256.7584 -10695906.03349 -8125353.90647 22230256.0344 22230261.0634
+ -193.8434 -151.0464
+ 24699572.4114 -210850.72449 -157408.07245 24699572.0474 24699576.1894
+ 1187.1394 925.0404
+ 20558888.3444 -24729824.04649 -19255264.81648 20558888.5444 20558890.7464
+ -1138.3844 -887.0524
+ 22473262.2894 -13594824.60649 -10578253.13947 22473261.5704 22473265.9664
+ 2604.3134 2029.3324
+ 20689832.6294 -21979247.75449 -16884141.01348 20689831.9264 20689836.0354
+ 454.0004 353.7654
+ 22718572.4514 -13631587.13149 -10601523.70547 22718572.5664 22718577.4464
+ 2141.0974 1668.3814
+ 21894092.7454 -14531899.58249 -11301703.17847 21894092.3834 21894097.2514
+ 1966.2074 1532.1134
+ 05 1 20 6 7 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 23946133.4334 -3726613.36549 -2882933.76145 23946134.4604 23946139.8354
+ -3713.8674 -2893.9234
+ 22308385.7624 -16607627.07049 -12922813.38347 22308384.7824 22308389.2574
+ -2929.1234 -2282.4324
+ 23284748.7714 -6480631.04949 -5029519.29146 23284746.8124 23284752.3794
+ -3555.6344 -2770.6174
+ 22231419.6064 -10689792.59949 -8120590.17847 22231419.5904 22231425.0874
+ -213.7234 -166.5384
+ 24692840.3974 -246229.26249 -184975.76245 24692839.6554 24692843.8764
+ 1171.4464 912.8194
+ 20565431.5824 -24695438.82649 -19228471.15548 20565431.4164 20565434.2214
+ -1153.9474 -899.1814
+ 22458422.4994 -13672806.11449 -10639017.95047 22458422.4104 22458426.6024
+ 2594.4524 2021.6424
+ 20687261.1304 -21992757.46049 -16894668.05748 20687261.2074 20687265.0094
+ 446.6354 348.0244
+ 22706359.2974 -13695769.31649 -10651535.78447 22706358.8534 22706363.7124
+ 2137.7294 1665.7554
+ 21882912.5324 -14590650.61649 -11347483.21047 21882913.2944 21882917.0174
+ 1950.6014 1519.9514
+ 05 1 20 6 8 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 23967343.0944 -3615157.06449 -2796084.73345 23967343.8344 23967349.1484
+ -3716.4914 -2895.9624
+ 22325137.1054 -16519592.17249 -12854214.78047 22325136.9114 22325141.2184
+ -2939.8484 -2290.7904
+ 23305058.5314 -6373902.12649 -4946353.87246 23305056.6844 23305062.7594
+ -3559.5684 -2773.6874
+ 22232697.5204 -10683082.55849 -8115361.56747 22232696.1614 22232701.7494
+ -233.6254 -182.0424
+ 24686198.3304 -281137.09349 -212176.63445 24686196.9804 24686200.5274
+ 1155.7424 900.5774
+ 20572063.7214 -24660586.23649 -19201313.30148 20572064.2114 20572066.3804
+ -1169.5294 -911.3234
+ 22443640.7914 -13750489.89149 -10699550.76347 22443640.3864 22443643.6714
+ 2584.4864 2013.8794
+ 20684733.2584 -22006046.22549 -16905022.94948 20684732.6944 20684736.2634
+ 439.2754 342.2924
+ 22694166.1044 -13759850.81449 -10701469.42247 22694165.6744 22694169.5864
+ 2134.3594 1663.1344
+ 21871821.2684 -14648931.90849 -11392897.19547 21871822.4864 21871826.6484
+ 1934.8754 1507.7004
+ 05 1 20 6 8 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 23988568.2994 -3503622.73449 -2709174.86345 23988567.9224 23988573.6154
+ -3719.0834 -2897.9914
+ 22341951.1944 -16431236.11449 -12785365.91747 22341950.8244 22341953.9214
+ -2950.5384 -2299.1224
+ 23325389.5634 -6267057.53849 -4863098.38046 23325388.1784 23325394.0514
+ -3563.2964 -2776.5994
+ 22234087.3934 -10675775.84049 -8109668.02047 22234087.0604 22234091.7384
+ -253.5154 -197.5524
+ 24679644.3624 -315573.56349 -239010.25645 24679645.3984 24679647.2034
+ 1139.9664 888.2854
+ 20578785.3744 -24625266.61749 -19173791.52648 20578785.1234 20578787.4554
+ -1185.1114 -923.4654
+ 22428913.6014 -13827875.00549 -10759850.84147 22428912.6344 22428918.0804
+ 2574.4944 2006.0954
+ 20682245.9744 -22019113.89849 -16915205.54248 20682245.5934 20682249.5024
+ 431.8784 336.5294
+ 22681989.5814 -13823831.49949 -10751324.50547 22681989.3724 22681995.4384
+ 2130.9874 1660.5114
+ 21860821.6334 -14706740.70049 -11437942.99747 21860821.8184 21860826.1814
+ 1919.0884 1495.3914
+ 05 1 20 6 9 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24009805.5004 -3392012.51449 -2622205.83645 24009805.3364 24009811.9024
+ -3721.6194 -2899.9604
+ 22358825.9864 -16342560.50149 -12716268.00547 22358825.3144 22358828.8034
+ -2961.1674 -2307.4054
+ 23345743.4854 -6160100.40849 -4779755.19246 23345741.7234 23345748.6104
+ -3567.0804 -2779.5394
+ 22235591.4104 -10667872.36849 -8103509.47247 22235591.0274 22235595.7114
+ -273.4024 -213.0394
+ 24673180.6364 -349537.91049 -265475.98545 24673181.1394 24673184.2664
+ 1124.2064 876.0094
+ 20585595.1114 -24589479.96149 -19145905.84448 20585595.2464 20585597.0144
+ -1200.6614 -935.5814
+ 22414243.9834 -13904960.46149 -10819917.42147 22414244.3854 22414249.0774
+ 2564.4934 1998.3114
+ 20679801.1794 -22031960.46549 -16925215.85548 20679801.0354 20679805.0694
+ 424.5494 330.8204
+ 22669833.5494 -13887711.39149 -10801101.02647 22669833.9254 22669839.5464
+ 2127.6574 1657.9264
+ 21849911.1264 -14764074.58249 -11482618.75147 21849911.6474 21849915.8044
+ 1903.2144 1483.0244
+ 05 1 20 6 9 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24031062.2724 -3280328.53749 -2535179.38345 24031059.6544 24031063.3784
+ -3723.9594 -2901.7844
+ 22375760.2814 -16253566.50149 -12646922.05347 22375760.1574 22375764.2154
+ -2971.7454 -2315.6514
+ 23366118.7854 -6053034.19249 -4696326.99346 23366117.0104 23366121.5614
+ -3570.6984 -2782.3674
+ 22237208.6914 -10659372.07849 -8096885.86847 22237208.5774 22237213.4374
+ -293.2964 -228.5434
+ 24666808.6644 -383029.36949 -291573.23645 24666808.1964 24666811.2524
+ 1108.4994 863.7654
+ 20592494.0754 -24553226.45449 -19117656.36948 20592493.5114 20592496.2874
+ -1216.2384 -947.7184
+ 22399633.7344 -13981745.45449 -10879749.90047 22399633.1884 22399637.3864
+ 2554.4794 1990.4994
+ 20677398.8904 -22044585.76749 -16935053.75448 20677398.6104 20677402.5064
+ 417.1544 325.0494
+ 22657697.6964 -13951490.29349 -10850798.88747 22657697.5124 22657701.7914
+ 2124.2794 1655.2774
+ 21839091.7054 -14820930.82949 -11526922.31647 21839091.8994 21839096.1584
+ 1887.2344 1470.5744
+ 05 1 20 6 10 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24052325.1254 -3168573.08949 -2448097.17045 24052325.4884 24052330.4754
+ -3726.3404 -2903.6434
+ 22392756.9184 -16164255.67349 -12577329.21847 22392755.8234 22392759.6524
+ -2982.2844 -2323.8684
+ 23386512.4564 -5945862.13749 -4612816.34246 23386509.7614 23386517.3324
+ -3574.1354 -2785.0284
+ 22238939.8154 -10650274.83749 -8089797.10947 22238939.7324 22238944.9614
+ -313.1814 -244.0434
+ 24660527.5454 -416047.48849 -317301.65745 24660526.4224 24660528.8504
+ 1092.7014 851.4554
+ 20599481.4484 -24516506.60649 -19089043.51548 20599481.3214 20599483.4484
+ -1231.7674 -959.8204
+ 22385079.0504 -14058229.26949 -10939347.67947 22385079.0734 22385082.8124
+ 2544.4314 1982.6754
+ 20675039.0164 -22056989.68749 -16944719.14448 20675038.4064 20675042.2624
+ 409.7664 319.2984
+ 22645580.2054 -14015168.16449 -10900417.98747 22645579.7994 22645585.1054
+ 2120.9184 1652.6564
+ 21828363.6304 -14877307.00149 -11570851.79947 21828363.8834 21828368.2004
+ 1871.2064 1458.0814
+ 05 1 20 6 10 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24073607.7664 -3056748.53049 -2360961.14145 24073607.7704 24073608.7774
+ -3728.5804 -2905.3874
+ 22409811.2744 -16074629.88549 -12507490.94346 22409810.8254 22409815.3804
+ -2992.7354 -2331.9974
+ 23406923.3984 -5838587.25649 -4529225.54346 23406923.5104 23406929.7904
+ -3577.5104 -2787.6624
+ 22240785.9044 -10640580.90449 -8082243.38547 22240785.0344 22240788.4404
+ -333.0724 -259.5404
+ 24654333.7184 -448591.21349 -342660.40645 24654332.6194 24654335.1284
+ 1076.8744 839.1224
+ 20606558.1634 -24479320.07549 -19060067.01248 20606557.6574 20606559.9644
+ -1247.3234 -971.9354
+ 22370582.2934 -14134411.04049 -10998710.08847 22370581.7244 22370586.1084
+ 2534.3554 1974.8244
+ 20672720.2454 -22069171.87849 -16954211.76148 20672719.9104 20672724.0934
+ 402.3824 313.5494
+ 22633482.3894 -14078744.82549 -10949958.24247 22633481.6824 22633486.7514
+ 2117.5544 1650.0404
+ 21817727.7024 -14933200.53949 -11614405.17747 21817727.8014 21817731.5584
+ 1855.0854 1445.5294
+ 05 1 20 6 11 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24094898.4204 -2944857.16949 -2273773.07345 24094898.9654 24094901.9184
+ -3730.7714 -2907.0914
+ 22426925.8044 -15984690.46049 -12437408.25746 22426925.5824 22426929.9994
+ -3003.2094 -2340.1694
+ 23427356.5454 -5731212.77949 -4445557.14446 23427356.6344 23427363.6164
+ -3580.7894 -2790.2184
+ 22242742.8534 -10630290.04449 -8074224.53647 22242742.7814 22242747.8124
+ -352.9874 -275.0584
+ 24648230.1834 -480659.54849 -367648.72245 24648230.6564 24648232.0394
+ 1060.9944 826.7474
+ 20613723.4044 -24441666.76849 -19030726.77948 20613723.2684 20613725.2944
+ -1262.9094 -984.0904
+ 22356143.1044 -14210289.44149 -11057836.11047 22356142.6934 22356147.7324
+ 2524.1954 1966.9074
+ 20670444.9314 -22081131.93149 -16963531.27648 20670443.8224 20670447.7054
+ 394.9464 307.7474
+ 22621402.8774 -14142220.21049 -10999419.57147 22621402.6124 22621406.9594
+ 2114.1214 1647.3664
+ 21807183.3174 -14988608.87449 -11657580.49647 21807183.8864 21807188.1954
+ 1838.8494 1432.8664
+ 05 1 20 6 11 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24116204.6494 -2832901.20149 -2186534.62645 24116203.5324 24116205.6664
+ -3732.8824 -2908.7514
+ 22444100.6874 -15894439.06149 -12367082.49846 22444099.6854 22444103.9684
+ -3013.5614 -2348.2374
+ 23447808.5114 -5623741.93649 -4361813.66446 23447808.2954 23447813.0514
+ -3583.9474 -2792.6904
+ 22244814.6304 -10619402.34949 -8065740.61147 22244814.5944 22244819.3884
+ -372.8694 -290.5484
+ 24642219.5364 -512252.10249 -392266.30045 24642219.8664 24642221.8594
+ 1045.1694 814.4184
+ 20620976.8374 -24403547.23649 -19001023.25448 20620976.4514 20620978.9074
+ -1278.4094 -996.1654
+ 22341760.3534 -14285863.88349 -11116725.26847 22341760.8474 22341766.0934
+ 2514.0724 1959.0204
+ 20668211.0944 -22092869.82849 -16972677.69448 20668210.5764 20668214.3184
+ 387.5714 302.0034
+ 22609343.1974 -14205594.12949 -11048801.83647 22609343.1534 22609348.1234
+ 2110.7934 1644.7704
+ 21796732.4804 -15043529.58649 -11700375.84347 21796732.6144 21796737.3414
+ 1822.5864 1420.1874
+ 05 1 20 6 12 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24137518.7134 -2720882.67549 -2099247.47845 24137519.1474 24137524.0144
+ -3734.9364 -2910.3364
+ 22461333.1764 -15803877.20149 -12296514.81446 22461333.7234 22461337.4554
+ -3023.8894 -2356.2804
+ 23468275.1724 -5516178.12049 -4277997.71546 23468275.7684 23468281.7124
+ -3586.9684 -2795.0484
+ 22247000.5664 -10607917.96749 -8056791.72747 22246999.9884 22247004.8884
+ -392.7544 -306.0434
+ 24636297.5694 -543368.68549 -416513.01545 24636298.2664 24636299.7784
+ 1029.2534 802.0214
+ 20628319.3874 -24364961.55849 -18970956.49948 20628319.4904 20628321.8944
+ -1293.9494 -1008.2664
+ 22327439.4464 -14361133.60949 -11175377.00747 22327438.2004 22327442.0024
+ 2503.9034 1951.1014
+ 20666019.2434 -22104385.59849 -16981651.02348 20666018.9574 20666022.9994
+ 380.1544 296.2284
+ 22597302.8424 -14268866.41149 -11098104.90747 22597302.3734 22597307.7974
+ 2107.3794 1642.1154
+ 21786373.8204 -15097960.10749 -11742789.23547 21786374.3964 21786379.7854
+ 1806.1784 1407.4144
+ 05 1 20 6 12 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24158846.3474 -2608803.91649 -2011913.36745 24158845.8584 24158850.7334
+ -3736.9264 -2911.8924
+ 22478625.6434 -15713006.61049 -12225706.57546 22478624.9474 22478629.3384
+ -3034.1304 -2364.2714
+ 23488762.0804 -5408524.41249 -4194111.73646 23488761.5024 23488768.3274
+ -3589.9254 -2797.3454
+ 22249297.9964 -10595836.94049 -8047377.93947 22249298.2814 22249303.8904
+ -412.6354 -321.5364
+ 24630469.3414 -574008.35249 -440388.09745 24630469.5484 24630470.0904
+ 1013.3774 789.6414
+ 20635750.3254 -24325910.14449 -18940526.84248 20635750.6174 20635752.8224
+ -1309.4704 -1020.3704
+ 22313173.0274 -14436097.65349 -11233790.54847 22313172.3784 22313177.1594
+ 2493.7104 1943.1504
+ 20663870.5444 -22115678.93249 -16990451.02148 20663870.1604 20663873.8654
+ 372.7374 290.4424
+ 22585281.8424 -14332037.00749 -11147328.73447 22585282.3204 22585286.4934
+ 2103.9964 1639.4714
+ 21776110.0084 -15151898.00449 -11784818.74847 21776110.2454 21776115.4284
+ 1789.7494 1394.6044
+ 05 1 20 6 13 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24180186.1204 -2496667.02649 -1924533.94645 24180185.5794 24180192.1374
+ -3738.8324 -2913.3674
+ 22495977.0864 -15621828.77049 -12154658.90646 22495975.5934 22495979.4704
+ -3044.3894 -2372.2554
+ 23509266.4384 -5300783.88549 -4110158.12546 23509264.9884 23509271.4024
+ -3592.7814 -2799.5664
+ 22251712.2744 -10583159.44049 -8037499.37047 22251711.3614 22251715.6884
+ -432.5574 -337.0644
+ 24624728.3954 -604170.31149 -463890.89145 24624726.6504 24624729.7324
+ 997.3984 777.1904
+ 20643270.5164 -24286393.28149 -18909734.48448 20643270.6674 20643272.9604
+ -1324.9824 -1032.4504
+ 22298964.6354 -14510755.25149 -11291965.29047 22298965.0774 22298970.2594
+ 2483.4664 1935.1724
+ 20661763.4174 -22126749.67849 -16999077.57948 20661763.0944 20661767.3034
+ 365.3174 284.6654
+ 22573279.9074 -14395105.84049 -11196473.28147 22573279.9804 22573284.8144
+ 2100.5994 1636.8414
+ 21765939.6054 -15205340.93449 -11826462.57147 21765940.3094 21765944.9054
+ 1773.1834 1381.7024
+ 05 1 20 6 13 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24201535.6884 -2384474.14349 -1837110.89045 24201535.5684 24201539.8754
+ -3740.6884 -2914.8134
+ 22513385.5984 -15530344.89249 -12083372.77646 22513385.1234 22513389.0904
+ -3054.5274 -2380.1444
+ 23529784.3174 -5192959.93049 -4026139.48646 23529782.9494 23529788.4444
+ -3595.4334 -2801.6354
+ 22254237.7884 -10569885.15449 -8027155.76247 22254237.4494 22254242.2304
+ -452.4264 -352.5444
+ 24619080.1084 -633854.06049 -487021.05445 24619079.6124 24619081.3444
+ 981.4484 764.7774
+ 20650878.9134 -24246411.09449 -18878579.53348 20650878.8574 20650881.3954
+ -1340.5094 -1044.5514
+ 22284817.4014 -14585105.68449 -11349900.69947 22284817.0464 22284821.7244
+ 2473.1854 1927.1584
+ 20659698.9754 -22137597.44749 -17007530.38848 20659698.9784 20659702.9724
+ 357.8644 278.8544
+ 22561298.7224 -14458072.65349 -11245538.32247 22561297.3414 22561302.5564
+ 2097.1834 1634.1724
+ 21755866.1764 -15258286.41349 -11867718.78847 21755866.3304 21755870.4054
+ 1756.5674 1368.7614
+ 05 1 20 6 14 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24222895.3114 -2272227.44149 -1749645.88045 24222894.7744 24222900.7094
+ -3742.4684 -2916.2104
+ 22530851.3504 -15438556.60749 -12011849.45646 22530851.3014 22530854.9634
+ -3064.6484 -2388.0344
+ 23550317.7724 -5085055.71549 -3942058.28546 23550316.8634 23550322.2624
+ -3598.1044 -2803.7104
+ 22256877.8364 -10556014.43649 -8016347.41247 22256876.6454 22256881.0014
+ -472.3024 -368.0224
+ 24613522.4804 -663059.18249 -509778.27945 24613521.8864 24613524.2034
+ 965.5734 752.3954
+ 20658575.9094 -24205963.73949 -18847062.12848 20658575.6494 20658578.5864
+ -1355.9914 -1056.6164
+ 22270726.8784 -14659147.96349 -11407595.98947 22270727.3954 22270731.9964
+ 2462.9124 1919.1564
+ 20657677.9304 -22148222.44549 -17015809.60848 20657677.2694 20657680.9924
+ 350.4364 273.0664
+ 22549335.3084 -14520937.42549 -11294523.85147 22549335.1884 22549340.2774
+ 2093.7944 1631.5214
+ 21745885.4514 -15310731.93149 -11908585.40747 21745885.7244 21745889.9384
+ 1739.8324 1355.7174
+ 05 1 20 6 14 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24244265.8794 -2159929.37549 -1662140.94545 24244264.4164 24244269.8914
+ -3744.1044 -2917.4904
+ 22548374.7684 -15346465.84249 -11940090.42646 22548375.7884 22548379.7704
+ -3074.7094 -2395.8894
+ 23570863.6304 -4977074.49549 -3857917.10246 23570864.4504 23570870.5804
+ -3600.6514 -2805.7004
+ 22259629.7764 -10541547.52349 -8005074.48947 22259629.3264 22259634.8794
+ -492.1544 -383.4914
+ 24608054.4734 -691785.00249 -532162.00545 24608054.3944 24608058.4744
+ 949.4764 739.8434
+ 20666361.3014 -24165051.57449 -18815182.52148 20666361.0214 20666363.5924
+ -1371.4964 -1068.6974
+ 22256697.3244 -14732881.12449 -11465050.38847 22256697.0184 22256700.8904
+ 2452.6154 1911.1174
+ 20655698.2094 -22158624.27849 -17023914.93548 20655698.0204 20655701.6984
+ 343.0014 267.2734
+ 22537391.9634 -14583699.95449 -11343429.71047 22537391.5744 22537396.7304
+ 2090.3834 1628.8754
+ 21736001.1954 -15362675.12149 -11949060.60647 21736001.0034 21736005.4814
+ 1723.0454 1342.6304
+ 05 1 20 6 15 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24265643.0454 -2047581.96649 -1574597.42945 24265644.1074 24265647.7034
+ -3745.7164 -2918.7394
+ 22565958.4274 -15254074.03549 -11868096.80146 22565957.4384 22565961.7554
+ -3084.6984 -2403.6594
+ 23591428.8494 -4869019.37249 -3773718.32046 23591426.7854 23591432.2274
+ -3603.0364 -2807.5574
+ 22262496.4124 -10526484.34949 -7993336.95147 22262496.6244 22262500.9254
+ -512.0414 -399.0054
+ 24602679.0994 -720031.08949 -554171.93345 24602680.0224 24602682.8604
+ 933.5394 727.4264
+ 20674235.0174 -24123674.91749 -18782940.98448 20674235.0094 20674237.1464
+ -1386.9474 -1080.7424
+ 22242724.2494 -14806304.52549 -11522263.42247 22242724.0474 22242729.0774
+ 2442.2744 1903.0694
+ 20653761.6634 -22168802.62549 -17031846.11748 20653761.0574 20653764.6864
+ 335.5614 261.4744
+ 22525467.6684 -14646359.98849 -11392255.71447 22525467.9524 22525472.5874
+ 2086.9714 1626.2114
+ 21726212.6004 -15414113.68049 -11989142.59847 21726212.6254 21726217.4434
+ 1706.2324 1329.5254
+ 05 1 20 6 15 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24287030.6334 -1935187.39049 -1487017.26545 24287031.8904 24287033.4224
+ -3747.2314 -2919.9174
+ 22583597.1864 -15161382.77349 -11795869.86346 22583596.3204 22583600.8964
+ -3094.6744 -2411.4344
+ 23612003.4364 -4760893.46649 -3689464.34346 23612002.1774 23612008.3474
+ -3605.3514 -2809.3534
+ 22265476.4954 -10510825.50649 -7981135.25847 22265475.6654 22265480.6734
+ -531.8744 -414.4384
+ 24597396.9174 -747796.85749 -575807.59245 24597395.7934 24597398.4454
+ 917.4814 714.9264
+ 20682197.5994 -24081834.27249 -18750337.89748 20682197.2034 20682198.9774
+ -1402.4124 -1092.7864
+ 22228811.9374 -14879417.42449 -11579234.50847 22228811.9264 22228815.8804
+ 2431.9224 1895.0054
+ 20651867.0014 -22178757.33449 -17039603.03148 20651866.5854 20651870.5124
+ 328.1114 255.6764
+ 22513564.3394 -14708917.44949 -11441001.77347 22513563.7764 22513568.6774
+ 2083.5634 1623.5514
+ 21716520.7134 -15465045.22249 -12028829.51647 21716520.9854 21716525.0204
+ 1689.3134 1316.3524
+ 05 1 20 6 16 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24308430.1564 -1822747.80749 -1399401.95245 24308427.7344 24308433.0244
+ -3748.6974 -2921.0634
+ 22601291.5414 -15068393.46449 -11723410.66746 22601291.6834 22601295.3684
+ -3104.5634 -2419.1364
+ 23632590.1364 -4652699.99149 -3605157.79146 23632590.3744 23632596.8914
+ -3607.5434 -2811.0644
+ 22268569.1454 -10494571.30149 -7968469.64047 22268568.9694 22268573.7954
+ -551.7384 -429.9374
+ 24592203.7444 -775081.95149 -597068.71145 24592203.1834 24592206.7784
+ 901.4344 702.4184
+ 20690247.2034 -24039529.83049 -18717373.39948 20690247.1984 20690249.4824
+ -1417.8754 -1104.8374
+ 22214958.0294 -14952218.90449 -11635962.92347 22214957.2014 22214962.5804
+ 2421.5244 1886.8994
+ 20650015.3474 -22188488.28549 -17047185.58548 20650014.8594 20650018.7074
+ 320.6384 249.8494
+ 22501679.5884 -14771372.21049 -11489667.82347 22501678.9184 22501683.8974
+ 2080.1094 1620.8644
+ 21706925.0244 -15515467.42949 -12068119.53447 21706925.6624 21706930.3744
+ 1672.2624 1303.0614
+ 05 1 20 6 16 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24329829.0854 -1710265.43148 -1311753.39245 24329830.2234 24329837.8284
+ -3750.1604 -2922.1954
+ 22619043.6714 -14975107.82449 -11650720.56946 22619043.3484 22619047.2104
+ -3114.4474 -2426.8364
+ 23653191.0214 -4544442.03049 -3520800.99246 23653191.2274 23653196.9784
+ -3609.6934 -2812.7454
+ 22271775.4944 -10477721.99649 -7955340.30747 22271775.5784 22271779.6654
+ -571.5714 -445.3694
+ 24587104.1964 -801885.72949 -617954.79345 24587103.1084 24587107.5544
+ 885.4054 689.9344
+ 20698385.4864 -23996761.93949 -18684047.78648 20698385.3944 20698388.0584
+ -1433.3064 -1116.8604
+ 22201162.8284 -15024708.44949 -11692448.27547 22201163.0074 22201167.9204
+ 2411.1224 1878.7944
+ 20648205.9744 -22197995.24149 -17054593.60248 20648205.7024 20648209.7584
+ 313.1544 244.0144
+ 22489813.6574 -14833724.02649 -11538253.64147 22489813.9224 22489819.2674
+ 2076.6714 1618.1914
+ 21697427.8794 -15565377.93949 -12107010.82847 21697427.9644 21697432.1434
+ 1655.1234 1289.6994
+ 05 1 20 6 17 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24351245.5564 -1597742.24249 -1224073.01445 24351244.7664 24351249.8554
+ -3751.5544 -2923.2894
+ 22636851.6034 -14881527.68949 -11577800.99546 22636851.0464 22636854.3194
+ -3124.2204 -2434.4544
+ 23673804.1114 -4436122.76949 -3436396.38146 23673804.5214 23673809.5684
+ -3611.5964 -2814.2304
+ 22275095.6984 -10460277.97049 -7941747.55247 22275094.7214 22275099.6344
+ -591.4014 -460.8344
+ 24582094.5914 -828207.82849 -638465.52745 24582093.7084 24582096.5644
+ 869.3514 677.4174
+ 20706612.7454 -23953530.99849 -18650361.35048 20706612.0374 20706614.5004
+ -1448.7464 -1128.8934
+ 22187429.6994 -15096885.23349 -11748689.91247 22187428.7894 22187433.2744
+ 2400.6734 1870.6544
+ 20646440.0244 -22207277.91449 -17061826.86348 20646439.3054 20646443.1414
+ 305.6734 238.1864
+ 22477969.0414 -14895972.76549 -11586759.14447 22477968.3424 22477973.4534
+ 2073.2484 1615.5174
+ 21688028.4994 -15614774.48749 -12145501.63647 21688028.4284 21688033.0524
+ 1637.9824 1276.3434
+ 05 1 20 6 17 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24372661.0464 -1485180.43448 -1136362.50345 24372662.8774 24372668.8534
+ -3752.6754 -2924.1674
+ 22654714.3944 -14787654.80949 -11504653.30746 22654714.6494 22654717.2314
+ -3133.9464 -2442.0444
+ 23694429.8834 -4327745.30849 -3351946.40846 23694428.7384 23694434.2314
+ -3613.4604 -2815.6814
+ 22278527.4874 -10442239.32949 -7927691.48247 22278527.9734 22278532.7804
+ -611.2124 -476.2624
+ 24577176.8754 -854047.89249 -658600.64945 24577176.3184 24577180.5084
+ 853.3294 664.9384
+ 20714927.3654 -23909837.30249 -18616314.32548 20714926.9664 20714929.4124
+ -1464.1494 -1140.8924
+ 22173754.5424 -15168748.14849 -11804686.99247 22173754.7764 22173758.2774
+ 2390.2184 1862.5064
+ 20644715.5374 -22216336.00749 -17068885.11748 20644715.6544 20644719.5884
+ 298.1984 232.3674
+ 22466142.1804 -14958118.23549 -11635184.19547 22466142.5234 22466147.3424
+ 2069.8074 1612.8344
+ 21678725.8294 -15663654.75349 -12183590.14947 21678726.5194 21678731.0294
+ 1620.7354 1262.9124
+ 05 1 20 6 18 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24394095.8874 -1372581.94449 -1048623.40345 24394097.2674 24394095.9304
+ -3753.7204 -2924.9844
+ 22672633.4054 -14693490.42449 -11431278.45346 22672633.5694 22672636.6924
+ -3143.6584 -2449.6094
+ 23715063.0794 -4219312.93949 -3267453.68046 23715061.8944 23715067.2074
+ -3615.2544 -2817.0844
+ 22282073.9034 -10423606.67049 -7913172.51047 22282073.2894 22282077.9034
+ -630.9704 -491.6634
+ 24572348.7834 -879405.31249 -678359.63845 24572349.9864 24572356.3854
+ 837.1654 652.3294
+ 20723329.8114 -23865681.40449 -18581907.15548 20723329.6114 20723331.7844
+ -1479.5534 -1152.9004
+ 22160138.1014 -15240296.81749 -11860439.18947 22160138.6304 22160142.7494
+ 2379.7224 1854.3204
+ 20643035.0454 -22225169.45149 -17075768.31748 20643034.7024 20643038.5004
+ 290.7004 226.5194
+ 22454335.6464 -15020160.40249 -11683528.71647 22454335.1374 22454341.1094
+ 2066.3564 1610.1454
+ 21669522.9504 -15712016.41149 -12221274.53647 21669523.3574 21669527.7044
+ 1603.4494 1249.4414
+ 05 1 20 6 18 30.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24415521.5394 -1259948.84448 -960857.37945 24415523.2354 24415530.1144
+ -3754.8634 -2925.8644
+ 22690607.5104 -14599036.00049 -11357677.60746 22690607.3444 22690610.4584
+ -3153.2734 -2457.0894
+ 23735706.2834 -4110828.89349 -3182920.70446 23735705.3554 23735710.2304
+ -3616.9794 -2818.4194
+ 22285732.4154 -10404380.20249 -7898190.85647 22285731.8904 22285736.3704
+ -650.7834 -507.0954
+ 24567617.8984 -904279.63449 -697742.25245 24567617.3414 24567621.4824
+ 821.0564 639.7874
+ 20731820.1414 -23821063.49349 -18547139.96248 20731819.9694 20731821.9764
+ -1494.9644 -1164.9054
+ 22146584.2164 -15311530.36349 -11915945.84847 22146583.5904 22146587.8904
+ 2369.1754 1846.1164
+ 20641397.0784 -22233777.76349 -17082476.08648 20641396.5964 20641400.5754
+ 283.1844 220.6644
+ 22442548.7924 -15082098.97649 -11731792.53747 22442549.4974 22442555.0984
+ 2062.8784 1607.4434
+ 21660419.6134 -15759857.24649 -12258553.08547 21660419.2104 21660424.3164
+ 1585.9874 1235.8334
+ 05 1 20 6 19 0.0000000 0 10G 9G18G15G 5G11G22G25G14G 1G30
+ 24436963.5984 -1147283.41558 -873066.15354 24436965.2824 24436967.3484
+ -3756.0534 -2926.7924
+ 22708634.9774 -14504293.80249 -11283852.52746 22708634.9764 22708640.3624
+ -3162.8584 -2464.5554
+ 23756358.7234 -4002296.13649 -3098349.73346 23756358.5674 23756363.6754
+ -3618.5184 -2819.6264
+ 22289502.9574 -10384560.33249 -7882746.77947 22289502.9194 22289508.8824
+ -670.5564 -522.5014
+ 24562975.2484 -928670.80549 -716748.37945 24562975.3694 24562979.6704
+ 804.9834 627.2604
+ 20740398.2534 -23775984.06449 -18512013.15148 20740398.1274 20740400.8024
+ -1510.3384 -1176.8844
+ 22133087.2554 -15382448.43649 -11971206.70247 22133087.1054 22133092.8244
+ 2358.6544 1837.9124
+ 20639801.6934 -22242160.97949 -17089008.45948 20639801.3424 20639805.1174
+ 275.6914 214.8274
+ 22430783.7744 -15143933.73649 -11779975.47247 22430782.5974 22430787.6824
+ 2059.4234 1604.7454
+ 21651414.5434 -15807175.16349 -12295424.19747 21651415.2784 21651419.7114
+ 1568.5494 1222.2494
+ 05 1 20 6 19 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22726719.5624 -14409265.44349 -11209804.47246 22726719.3224 22726722.6314
+ -3172.3534 -2471.9574
+ 23777022.1724 -3893718.07849 -3013743.53146 23777021.9694 23777024.6364
+ -3619.9974 -2820.7694
+ 22293388.3984 -10364147.48349 -7866840.66847 22293388.3234 22293392.6484
+ -690.3144 -537.9074
+ 24558424.3364 -952578.36549 -735377.66645 24558425.7834 24558430.1824
+ 788.8754 614.7044
+ 20749064.2124 -23730443.68749 -18476527.15348 20749064.1704 20749066.7624
+ -1525.6984 -1188.8534
+ 22119652.6484 -15453050.12949 -12026220.98147 22119652.4024 22119657.3774
+ 2348.1154 1829.7014
+ 20638249.4594 -22250318.79549 -17095365.19248 20638248.8714 20638252.4764
+ 268.1604 208.9534
+ 22419036.2334 -15205664.52749 -11828077.38147 22419036.0994 22419040.7404
+ 2055.9454 1602.0364
+ 21642511.0844 -15853967.77449 -12331885.95247 21642511.4114 21642515.5154
+ 1550.9664 1208.5424
+ 05 1 20 6 20 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22744857.1064 -14313952.90649 -11135534.95246 22744855.8784 22744859.9814
+ -3181.7754 -2479.2984
+ 23797689.9064 -3785097.40849 -2929104.04746 23797690.1204 23797696.5784
+ -3621.3504 -2821.8214
+ 22297384.8764 -10343142.19249 -7850472.90747 22297384.5834 22297390.0704
+ -710.0434 -553.2754
+ 24553968.9604 -976001.88749 -753629.76645 24553969.7464 24553973.2354
+ 772.7064 602.1124
+ 20757818.6804 -23684442.77549 -18440682.29548 20757818.1454 20757820.4594
+ -1541.0394 -1200.8044
+ 22106279.3894 -15523334.74149 -12080988.22747 22106278.6124 22106282.0904
+ 2337.5064 1821.4424
+ 20636739.7534 -22258251.00149 -17101546.13648 20636739.2064 20636743.1214
+ 260.6534 203.1094
+ 22407308.3424 -15267291.20249 -11876098.16547 22407308.1874 22407313.3364
+ 2052.4914 1599.3534
+ 21633706.8644 -15900233.01649 -12367936.76447 21633707.1664 21633711.8764
+ 1533.3554 1194.8274
+ 05 1 20 6 20 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22763047.3654 -14218357.34849 -11061044.93446 22763047.1494 22763052.2964
+ -3191.2084 -2486.6384
+ 23818365.7404 -3676437.34149 -2844433.92345 23818367.6354 23818373.1724
+ -3622.6124 -2822.8234
+ 22301495.5734 -10321545.05749 -7833643.96147 22301494.9354 22301499.9104
+ -729.7614 -568.6474
+ 24549603.6574 -998941.04849 -771504.43345 24549603.0284 24549608.5914
+ 756.5314 589.4984
+ 20766659.1274 -23637982.01449 -18404479.11148 20766659.1374 20766661.8204
+ -1556.3654 -1212.7504
+ 22092962.8724 -15593301.26949 -12135507.59247 22092963.5624 22092968.2744
+ 2326.9084 1813.1734
+ 20635273.4954 -22265957.18449 -17107550.95748 20635273.0364 20635276.9394
+ 253.0914 197.2124
+ 22395600.8714 -15328813.61349 -11924037.70047 22395600.5764 22395606.0474
+ 2049.0054 1596.6364
+ 21625003.9234 -15945968.66049 -12403574.91647 21625003.8414 21625008.3134
+ 1515.6934 1181.0604
+ 05 1 20 6 21 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22781293.2204 -14122480.52549 -10986335.73646 22781292.6224 22781297.1454
+ -3200.5514 -2493.9354
+ 23839051.0114 -3567741.00949 -2759735.49745 23839051.7114 23839058.5264
+ -3623.7994 -2823.7374
+ 22305717.4414 -10299356.50449 -7816354.17447 22305716.9204 22305721.9614
+ -749.4554 -583.9954
+ 24545331.1184 -1021395.65249 -789001.52545 24545330.2644 24545336.6514
+ 740.4184 576.9464
+ 20775587.9634 -23591061.55549 -18367917.73548 20775587.8644 20775590.0514
+ -1571.6684 -1224.6754
+ 22079709.8884 -15662949.28849 -12189778.75347 22079710.9854 22079715.2144
+ 2316.2804 1804.8974
+ 20633849.8964 -22273437.08749 -17113379.46348 20633849.5494 20633853.4414
+ 245.5484 191.3374
+ 22383914.3294 -15390231.46049 -11971895.75147 22383913.9994 22383918.2704
+ 2045.5164 1593.9154
+ 21616402.3144 -15991172.57649 -12438798.73647 21616402.5414 21616406.3794
+ 1497.9204 1167.2104
+ 05 1 20 6 21 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22799590.7344 -14026324.18249 -10911408.70946 22799591.1704 22799593.8614
+ -3209.8294 -2501.1694
+ 23859743.9324 -3459011.67149 -2675011.43045 23859742.2724 23859748.4034
+ -3624.8714 -2824.5624
+ 22310052.4394 -10276577.02449 -7798603.94047 22310052.5104 22310057.2574
+ -769.1444 -599.3354
+ 24541148.5474 -1043365.49749 -806120.88645 24541148.7794 24541153.9694
+ 724.2534 564.3514
+ 20784604.0104 -23543682.25749 -18330998.81548 20784603.7294 20784606.5124
+ -1586.9534 -1236.5844
+ 22066518.3834 -15732277.84449 -12243800.99747 22066517.7214 22066522.5294
+ 2305.6244 1796.5884
+ 20632469.1054 -22280690.83649 -17119031.76048 20632469.0584 20632473.1444
+ 238.0244 185.4764
+ 22372247.7244 -15451544.56649 -12019672.20347 22372246.9764 22372250.5704
+ 2042.0054 1591.1764
+ 21607900.3304 -16035842.62549 -12473606.54947 21607901.3824 21607905.9944
+ 1480.1304 1153.3524
+ 05 1 20 6 22 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22817942.0834 -13929889.87149 -10836265.09046 22817941.5094 22817946.2244
+ -3219.1124 -2508.3934
+ 23880442.8014 -3350252.19649 -2590263.76145 23880438.7354 23880443.4754
+ -3625.8214 -2825.3154
+ 22314499.5614 -10253207.31849 -7780393.77347 22314498.7664 22314503.6334
+ -788.8204 -614.6644
+ 24537060.7024 -1064850.24049 -822862.23545 24537061.0894 24537066.1194
+ 708.0794 551.7494
+ 20793707.4454 -23495844.35349 -18293722.54348 20793707.2364 20793709.6434
+ -1602.2334 -1248.4944
+ 22053386.2194 -15801286.84349 -12297574.22347 22053385.9914 22053390.6344
+ 2294.9654 1788.2824
+ 20631132.1884 -22287717.73949 -17124507.27648 20631132.1444 20631136.0054
+ 230.4284 179.5534
+ 22360599.8404 -15512752.51849 -12067366.72247 22360599.1314 22360603.7334
+ 2038.5034 1588.4484
+ 21599503.5694 -16079976.71949 -12507996.75347 21599503.2284 21599507.3624
+ 1462.1924 1139.3684
+ 05 1 20 6 22 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22836345.7944 -13833179.29649 -10760906.21046 22836345.1854 22836349.1254
+ -3228.2514 -2515.5184
+ 23901140.8494 -3241465.79449 -2505495.12246 23901140.3474 23901146.3124
+ -3626.6294 -2825.9544
+ 22319058.1854 -10229247.94949 -7761724.12547 22319058.2884 22319063.6594
+ -808.4584 -629.9764
+ 24533066.7204 -1085849.62149 -839225.36845 24533064.9874 24533070.1644
+ 691.9054 539.1484
+ 20802897.4704 -23447548.56149 -18256089.48148 20802897.6474 20802900.0164
+ -1617.4854 -1260.3764
+ 22040314.0334 -15869975.44549 -12351097.80847 22040314.1614 22040318.6754
+ 2284.2784 1779.9534
+ 20629839.3544 -22294517.78749 -17129806.00248 20629838.3534 20629841.5684
+ 222.8874 173.6754
+ 22348970.2774 -15573855.30549 -12114979.26847 22348970.7244 22348976.3484
+ 2035.0024 1585.7184
+ 21591207.7104 -16123572.77949 -12541967.69747 21591207.4404 21591211.1964
+ 1444.2194 1125.3674
+ 05 1 20 6 23 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22854799.3404 -13736194.47949 -10685333.63646 22854800.0214 22854804.7364
+ -3237.3624 -2522.6204
+ 23921847.8604 -3132655.44549 -2420707.83345 23921846.4554 23921851.3174
+ -3627.4294 -2826.5634
+ 22323730.6734 -10204699.53949 -7742595.50947 22323730.2214 22323735.2134
+ -828.1174 -645.2784
+ 24529161.5434 -1106363.47149 -855210.16945 24529161.6734 24529166.1304
+ 675.7094 526.5184
+ 20812174.6974 -23398795.30149 -18218099.94548 20812174.9414 20812177.4954
+ -1632.7034 -1272.2354
+ 22027304.0084 -15938343.09049 -12404371.29747 22027304.2664 22027308.7224
+ 2273.5704 1771.6124
+ 20628587.7734 -22301090.59949 -17134927.66348 20628587.5624 20628591.0814
+ 215.3094 167.7704
+ 22337364.7024 -15634852.58249 -12162509.60447 22337364.0884 22337368.8964
+ 2031.4834 1582.9734
+ 21583013.4134 -16166628.72649 -12575517.76547 21583013.6844 21583018.1134
+ 1426.2074 1111.3374
+ 05 1 20 6 23 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22873307.3474 -13638937.12149 -10609548.68146 22873306.8344 22873312.1534
+ -3246.4654 -2529.7114
+ 23942555.5434 -3023824.15249 -2335904.26145 23942555.1814 23942562.5034
+ -3628.0054 -2827.0134
+ 22328513.0794 -10179562.89349 -7723008.49647 22328513.0344 22328518.4464
+ -847.6964 -660.5394
+ 24525352.3284 -1126391.68249 -870816.55345 24525351.6594 24525354.5804
+ 659.4974 513.8944
+ 20821539.8244 -23349585.41949 -18179754.60948 20821539.4064 20821541.6034
+ -1647.9374 -1284.1074
+ 22014355.7644 -16006389.13249 -12457394.17347 22014355.6464 22014360.6314
+ 2262.8324 1763.2414
+ 20627380.3094 -22307435.96449 -17139872.10048 20627379.8774 20627383.7434
+ 207.7184 161.8574
+ 22325776.4264 -15695744.07249 -12209957.50947 22325776.3454 22325782.0524
+ 2027.9374 1580.2114
+ 21574923.1714 -16209142.45649 -12608645.34047 21574923.1204 21574928.0124
+ 1408.0994 1097.2214
+ 05 1 20 6 24 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22891866.9024 -13541409.19549 -10533552.90246 22891866.3254 22891871.5344
+ -3255.4564 -2536.7084
+ 23963268.4894 -2914975.07949 -2251086.80545 23963267.5774 23963273.6374
+ -3628.6204 -2827.4884
+ 22333409.1924 -10153838.33149 -7702963.38647 22333408.1884 22333413.4444
+ -867.2834 -675.8154
+ 24521634.6464 -1145933.98649 -886044.29245 24521632.8214 24521635.8564
+ 643.3234 501.2884
+ 20830991.1214 -23299919.24349 -18141053.70948 20830991.0114 20830992.7254
+ -1663.1674 -1295.9784
+ 22001468.2484 -16074112.88949 -12510165.93447 22001468.4034 22001473.3084
+ 2252.0544 1754.8484
+ 20626216.0184 -22313553.64249 -17144639.12648 20626215.6044 20626219.7384
+ 200.0974 155.9204
+ 22314210.5364 -15756529.63249 -12257322.87647 22314209.7014 22314214.5234
+ 2024.4074 1577.4594
+ 21566937.6804 -16251112.02749 -12641348.89647 21566937.2874 21566941.9414
+ 1389.9134 1083.0474
+ 05 1 20 6 24 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22910476.4034 -13443612.16349 -10457347.44246 22910476.0174 22910481.1444
+ -3264.3394 -2543.6264
+ 23983986.5994 -2806111.52849 -2166258.06445 23983985.1634 23983991.5894
+ -3628.9554 -2827.7614
+ 22338416.3524 -10127526.84549 -7682460.93147 22338415.8814 22338419.4934
+ -886.8464 -691.0464
+ 24518007.2694 -1164990.04549 -900893.19945 24518007.3924 24518009.1804
+ 627.1104 488.6574
+ 20840529.0914 -23249797.38849 -18101997.73948 20840528.6494 20840530.8424
+ -1678.3094 -1307.7724
+ 21988641.7484 -16141513.66449 -12562686.00147 21988641.8634 21988647.8224
+ 2241.3174 1746.4884
+ 20625095.1834 -22319443.26349 -17149228.44748 20625094.9294 20625098.7234
+ 192.5044 150.0014
+ 22302661.9914 -15817208.97549 -12304605.47447 22302661.9824 22302667.6744
+ 2020.8654 1574.6964
+ 21559054.0054 -16292535.43849 -12673626.86547 21559054.2724 21559059.1374
+ 1371.6494 1068.8164
+ 05 1 20 6 25 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22929136.9074 -13345547.98449 -10380933.80146 22929136.8354 22929142.5024
+ -3273.2364 -2550.5684
+ 24004704.5064 -2697236.22949 -2081420.14945 24004703.5324 24004708.4324
+ -3629.2894 -2828.0154
+ 22343534.0764 -10100629.08949 -7661501.63747 22343533.5814 22343539.4784
+ -906.3654 -706.2594
+ 24514475.7184 -1183559.99049 -915363.28945 24514473.8334 24514476.1944
+ 610.8744 476.0044
+ 20850152.8394 -23199220.80849 -18062587.44148 20850152.8644 20850155.2494
+ -1693.4674 -1319.5864
+ 21975877.7664 -16208591.12449 -12614954.15847 21975878.0594 21975882.5774
+ 2230.4944 1738.0444
+ 20624018.0804 -22325104.39649 -17153639.71548 20624017.8484 20624021.5444
+ 184.8944 144.0724
+ 22291136.0994 -15877781.84049 -12351805.11147 22291135.7854 22291140.5834
+ 2017.2804 1571.9114
+ 21551275.9994 -16333410.68449 -12705477.69647 21551275.9224 21551280.2354
+ 1353.3804 1054.5744
+ 05 1 20 6 25 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22947849.4244 -13247218.37249 -10304313.35446 22947848.4724 22947853.2214
+ -3282.0594 -2557.4434
+ 24025426.0444 -2588352.63349 -1996575.80545 24025424.4334 24025429.8204
+ -3629.6404 -2828.2964
+ 22348763.7534 -10073145.69849 -7640086.01547 22348763.2144 22348768.8224
+ -925.8774 -721.4644
+ 24511032.0444 -1201643.53049 -929454.36645 24511032.5974 24511034.0624
+ 594.6924 463.3914
+ 20859863.6714 -23148190.06149 -18022823.24148 20859863.6324 20859866.3084
+ -1708.5794 -1331.3584
+ 21963176.1564 -16275344.27449 -12666969.60047 21963175.5164 21963179.9304
+ 2219.7044 1729.6364
+ 20622984.5774 -22330536.81949 -17157872.76748 20622984.2584 20622987.5594
+ 177.2594 138.1234
+ 22279629.9964 -15938248.11549 -12398921.67747 22279629.4594 22279635.2374
+ 2013.7554 1569.1584
+ 21543602.1754 -16373735.84149 -12736899.88447 21543602.7604 21543607.1254
+ 1335.0024 1040.2614
+ 05 1 20 6 26 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22966612.7314 -13148625.05349 -10227487.39546 22966610.7524 22966614.6794
+ -3290.8134 -2564.2774
+ 24046144.7934 -2479463.32649 -1911726.98145 24046145.3434 24046149.6914
+ -3629.7404 -2828.3724
+ 22354105.8684 -10045077.37749 -7618214.58547 22354104.9564 22354110.0614
+ -945.3484 -736.6354
+ 24507682.7614 -1219240.75549 -943166.47745 24507684.1124 24507685.5084
+ 578.4844 450.7634
+ 20869661.1514 -23096705.61149 -17982705.50248 20869661.0754 20869663.6004
+ -1723.6944 -1343.1394
+ 21950533.9224 -16341772.84349 -12718732.10847 21950533.6904 21950538.8994
+ 2208.8654 1721.1874
+ 20621994.4664 -22335740.40649 -17161927.51048 20621993.8114 20621997.5524
+ 169.6354 132.1784
+ 22268144.2384 -15998607.59749 -12445955.04647 22268144.2064 22268148.8104
+ 2010.2144 1566.4014
+ 21536033.4814 -16413508.91849 -12767891.87247 21536033.8644 21536038.4374
+ 1316.5814 1025.9034
+ 05 1 20 6 26 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 22985422.1854 -13049769.59149 -10150457.18246 22985422.5334 22985426.2294
+ -3299.5224 -2571.0494
+ 24066867.4544 -2370571.66149 -1826876.30445 24066866.5534 24066873.1264
+ -3629.7394 -2828.3694
+ 22359556.9744 -10016425.14249 -7595888.16747 22359556.4314 22359562.4484
+ -964.8054 -751.7954
+ 24504427.6064 -1236351.54549 -956499.55645 24504426.5144 24504430.8724
+ 562.2454 438.1174
+ 20879543.8974 -23044768.24049 -17942234.83948 20879544.0034 20879546.7304
+ -1738.7744 -1354.8914
+ 21937955.0044 -16407876.39949 -12770241.37947 21937955.1824 21937960.1314
+ 2198.0224 1712.7434
+ 20621047.5464 -22340714.94449 -17165803.77548 20621047.1614 20621050.8424
+ 161.9994 126.2284
+ 22256678.8734 -16058859.98349 -12492904.94347 22256677.9174 22256683.0034
+ 2006.6304 1563.6064
+ 21528570.1884 -16452727.98449 -12798452.16547 21528570.7604 21528574.9184
+ 1298.0874 1011.4934
+ 05 1 20 6 27 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23004284.1724 -12950654.03349 -10073224.29546 23004283.7264 23004287.4894
+ -3308.1394 -2577.7834
+ 24087587.2844 -2261680.48949 -1742026.13145 24087587.8474 24087592.9944
+ -3629.6954 -2828.3244
+ 22365121.6624 -9987189.72049 -7573107.32147 22365120.8924 22365124.5024
+ -984.1924 -766.9034
+ 24501265.4554 -1252975.99149 -969453.69845 24501264.1074 24501266.9254
+ 546.0084 425.4544
+ 20889513.4214 -22992378.67849 -17901411.81548 20889513.4504 20889516.0084
+ -1753.8404 -1366.6264
+ 21925438.5584 -16473654.17149 -12821496.78447 21925438.2344 21925443.2864
+ 2187.1754 1704.2964
+ 20620144.0854 -22345459.96749 -17169501.19448 20620144.2834 20620148.0544
+ 154.3224 120.2514
+ 22245233.3534 -16119004.98849 -12539771.17647 22245232.2644 22245238.1484
+ 2003.0074 1560.7874
+ 21521213.2024 -16491391.20449 -12828579.35847 21521213.3294 21521218.4384
+ 1279.5014 997.0124
+ 05 1 20 6 27 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23023195.3254 -12851280.05549 -9995790.03446 23023194.1894 23023198.8394
+ -3316.7454 -2584.4784
+ 24108306.2654 -2152792.53649 -1657178.30945 24108307.7104 24108314.2574
+ -3629.5114 -2828.1854
+ 22370793.9364 -9957372.05449 -7549872.77047 22370793.9494 22370799.7904
+ -1003.6104 -782.0284
+ 24498193.0204 -1269113.87049 -982028.68245 24498192.3744 24498195.1484
+ 529.7994 412.8364
+ 20899569.0274 -22939537.52349 -17860236.90548 20899569.1294 20899571.4484
+ -1768.8744 -1378.3394
+ 21912983.2534 -16539105.89449 -12872498.12947 21912983.0014 21912988.1134
+ 2176.2684 1695.7984
+ 20619285.6764 -22349975.25449 -17173019.59348 20619284.8954 20619288.4344
+ 146.6924 114.3054
+ 22233808.3284 -16179042.26849 -12586553.46547 22233807.7314 22233812.6614
+ 1999.4424 1558.0074
+ 21513961.9434 -16529496.67749 -12858271.91747 21513962.4564 21513966.3864
+ 1260.8774 982.4984
+ 05 1 20 6 28 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23042154.5024 -12751649.50749 -9918155.85346 23042153.6874 23042157.3294
+ -3325.2684 -2591.1204
+ 24129026.8724 -2043911.50149 -1572335.99145 24129027.0494 24129033.9434
+ -3629.2234 -2827.9624
+ 22376579.0454 -9926972.79249 -7526185.03347 22376579.4664 22376584.8214
+ -1022.9904 -797.1344
+ 24495216.1284 -1284765.08449 -994224.45045 24495215.0064 24495217.2564
+ 513.6084 400.2064
+ 20909710.5484 -22886245.68149 -17818710.79748 20909710.5564 20909712.4234
+ -1783.9014 -1390.0474
+ 21900591.1894 -16604230.59149 -12923244.64447 21900590.9624 21900595.2084
+ 2165.3944 1687.3174
+ 20618469.8844 -22354260.39649 -17176358.68048 20618469.6904 20618473.3024
+ 138.9934 108.3094
+ 22222404.2974 -16238971.60449 -12633251.65347 22222403.9894 22222409.3014
+ 1995.8274 1555.1944
+ 21506816.5794 -16567042.60249 -12887528.46547 21506817.1924 21506821.5394
+ 1242.1954 967.9464
+ 05 1 20 6 28 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23061161.7744 -12651764.25949 -9840323.21546 23061160.6714 23061164.2554
+ -3333.7534 -2597.7324
+ 24149743.4794 -1935040.11949 -1487501.15245 24149743.9504 24149752.5164
+ -3628.8334 -2827.6624
+ 22382475.3584 -9895992.98249 -7502044.91047 22382473.7454 22382479.5984
+ -1042.3224 -812.1944
+ 24492330.4294 -1299929.76649 -1006041.08145 24492329.7734 24492330.1874
+ 497.3764 387.5624
+ 20919937.8964 -22832503.61649 -17776833.88348 20919937.1414 20919939.5134
+ -1798.8894 -1401.7334
+ 21888259.7204 -16669028.11349 -12973736.22447 21888260.0754 21888263.6014
+ 2154.4784 1678.8114
+ 20617698.0764 -22358315.16549 -17179518.25148 20617697.9104 20617701.7664
+ 131.3114 102.3214
+ 22211020.5074 -16298792.73449 -12679865.52147 22211020.3244 22211025.0674
+ 1992.2374 1552.3994
+ 21499778.9224 -16604027.06149 -12916347.52247 21499779.6434 21499783.8334
+ 1223.4644 953.3524
+ 05 1 20 6 29 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23080215.7504 -12551626.10949 -9762293.52746 23080215.8854 23080220.3694
+ -3342.1554 -2604.2784
+ 24170459.0684 -1826181.27049 -1402676.05045 24170459.3374 24170467.3674
+ -3628.4064 -2827.3274
+ 22388481.2344 -9864433.67049 -7477453.22947 22388480.3214 22388485.5304
+ -1061.6334 -827.2524
+ 24489534.6604 -1314607.85449 -1017478.58645 24489535.6054 24489538.5854
+ 481.1424 374.9194
+ 20930249.3924 -22778312.26749 -17734606.87348 20930249.3514 20930251.6454
+ -1813.8574 -1413.3944
+ 21875991.4334 -16733498.04549 -13023972.53347 21875991.6564 21875996.1594
+ 2143.5194 1670.2804
+ 20616970.7274 -22362139.31449 -17182498.11248 20616970.0314 20616974.0064
+ 123.6134 96.3214
+ 22199657.8204 -16358505.31249 -12726394.79847 22199657.1664 22199662.6744
+ 1988.5894 1549.5474
+ 21492848.2434 -16640448.37349 -12944727.76047 21492848.8004 21492853.1184
+ 1204.6364 938.6744
+ 05 1 20 6 29 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23099319.7734 -12451236.95749 -9684068.19146 23099319.3524 23099324.5954
+ -3350.4594 -2610.7484
+ 24191172.5894 -1717338.21749 -1317863.21845 24191171.9144 24191178.3914
+ -3627.8064 -2826.8514
+ 22394595.7754 -9832295.58049 -7452410.56047 22394595.3404 22394600.3014
+ -1080.9134 -842.2764
+ 24486836.1754 -1328799.54249 -1028537.06345 24486834.7824 24486835.2284
+ 464.9244 362.2704
+ 20940646.9024 -22723672.54549 -17692030.47648 20940646.8614 20940649.1414
+ -1828.7894 -1425.0314
+ 21863786.8974 -16797639.41349 -13073952.81047 21863786.1354 21863790.5274
+ 2132.5594 1661.7334
+ 20616286.9704 -22365732.32849 -17185297.87048 20616286.3154 20616290.2064
+ 115.9134 90.3194
+ 22188315.5004 -16418109.03449 -12772839.24447 22188315.1934 22188320.4964
+ 1984.9544 1546.7194
+ 21486025.3484 -16676304.71349 -12972667.75047 21486025.5604 21486029.9964
+ 1185.7814 923.9834
+ 05 1 20 6 30 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23118470.7464 -12350598.81049 -9605648.88146 23118470.6924 23118474.8684
+ -3358.7254 -2617.1714
+ 24211882.2054 -1608513.88749 -1233064.98745 24211881.2844 24211886.2484
+ -3627.1284 -2826.3454
+ 22400821.9234 -9799579.57549 -7426917.58647 22400820.9464 22400826.1404
+ -1100.1434 -857.2574
+ 24484224.8074 -1342504.97149 -1039216.58345 24484226.2934 24484228.9844
+ 448.7454 349.6754
+ 20951129.6704 -22668585.00649 -17649105.12648 20951129.4494 20951131.9444
+ -1843.7054 -1436.6524
+ 21851642.4954 -16861452.11849 -13123677.01147 21851642.7964 21851647.8564
+ 2121.5954 1653.1904
+ 20615646.8534 -22369094.01349 -17187917.35148 20615646.5434 20615650.7074
+ 108.2094 84.3214
+ 22176994.0004 -16477603.69149 -12819198.70847 22176993.5174 22176998.9774
+ 1981.3184 1543.8784
+ 21479309.8294 -16711594.24649 -13000166.07947 21479310.0074 21479314.5044
+ 1166.8824 909.2564
+ 05 1 20 6 30 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23137668.8674 -12249713.53349 -9527037.02246 23137668.4234 23137672.8024
+ -3366.9084 -2623.5714
+ 24232585.7614 -1499711.10649 -1148283.66445 24232584.8274 24232590.9174
+ -3626.3624 -2825.7274
+ 22407158.2524 -9766286.90549 -7400975.23347 22407157.2934 22407161.9404
+ -1119.3564 -872.2264
+ 24481710.1834 -1355724.26049 -1049517.33645 24481712.0244 24481714.8854
+ 432.5594 337.0554
+ 20961697.7424 -22613050.70149 -17605831.65448 20961697.5824 20961699.8514
+ -1858.5864 -1448.2474
+ 21839562.3124 -16924935.62849 -13173144.71647 21839562.3894 21839567.2054
+ 2110.6504 1644.6574
+ 20615051.3614 -22372224.00249 -17190356.30948 20615051.1424 20615054.8304
+ 100.4834 78.2984
+ 22165693.1014 -16536989.02249 -12865472.98747 22165692.9884 22165697.8544
+ 1977.6934 1541.0614
+ 21472703.4164 -16746315.32349 -13027221.45247 21472703.3144 21472707.4364
+ 1147.9274 894.4884
+ 05 1 20 6 31 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23156914.0304 -12148582.89349 -9448233.96246 23156913.6484 23156917.0094
+ -3375.0864 -2629.9284
+ 24253285.3744 -1390932.67049 -1063521.18045 24253283.4174 24253289.8034
+ -3625.5604 -2825.1094
+ 22413601.2904 -9732418.56849 -7374584.33747 22413601.2814 22413607.1134
+ -1138.5294 -887.1594
+ 24479290.8774 -1368457.32049 -1059439.19245 24479288.0464 24479292.4794
+ 416.2944 324.3894
+ 20972349.9774 -22557070.28349 -17562210.56048 20972350.0464 20972352.6324
+ -1873.4714 -1459.8484
+ 21827544.5114 -16988089.36649 -13222355.42047 21827544.3844 21827549.0464
+ 2099.6464 1636.0874
+ 20614500.2454 -22375122.06049 -17192614.52148 20614499.4554 20614503.4794
+ 92.7004 72.2294
+ 22154413.5034 -16596264.67849 -12911661.81047 22154413.1724 22154418.1194
+ 1974.0084 1538.1884
+ 21466204.1484 -16780466.21649 -13053832.54147 21466203.9824 21466208.2504
+ 1128.8814 879.6514
+ 05 1 20 6 31 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23176203.9004 -12047208.55149 -9369240.97246 23176203.3434 23176208.0974
+ -3383.1754 -2636.2394
+ 24273976.6724 -1282181.94049 -978780.42945 24273975.8924 24273983.9604
+ -3624.5724 -2824.3294
+ 22420156.5224 -9697975.50649 -7347745.57047 22420156.2284 22420161.2034
+ -1157.6644 -902.0824
+ 24476958.6384 -1380704.49349 -1068982.45045 24476957.0174 24476959.7924
+ 400.1464 311.7914
+ 20983088.3064 -22500644.62949 -17518242.52348 20983087.5974 20983089.8534
+ -1888.2684 -1471.3804
+ 21815589.9774 -17050913.20949 -13271309.05747 21815589.2264 21815593.9304
+ 2088.6374 1627.5084
+ 20613992.1844 -22377787.81449 -17194691.73748 20613992.0284 20613996.1894
+ 84.9794 66.2164
+ 22143154.6424 -16655430.41449 -12957764.97747 22143154.5724 22143159.4294
+ 1970.3254 1535.3164
+ 21459814.4274 -16814045.28149 -13079998.02947 21459814.4774 21459818.7514
+ 1109.7584 864.7444
+ 05 1 20 6 32 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23195539.2454 -11945592.41049 -9290059.58746 23195540.6534 23195544.7244
+ -3391.2254 -2642.5174
+ 24294666.7984 -1173461.46849 -894063.18845 24294667.9924 24294673.0094
+ -3623.5064 -2823.5154
+ 22426821.2364 -9662958.88149 -7320459.90047 22426819.2234 22426823.9674
+ -1176.7664 -916.9654
+ 24474720.7594 -1392465.81549 -1078147.14245 24474720.2504 24474722.6934
+ 383.9464 299.1834
+ 20993909.3124 -22443774.64249 -17473928.26548 20993909.1784 20993912.0504
+ -1903.0334 -1482.8854
+ 21803697.8354 -17113406.61049 -13320005.25047 21803697.4874 21803702.7034
+ 2077.5984 1618.9064
+ 20613529.6184 -22380220.94049 -17196587.68848 20613529.2464 20613533.2354
+ 77.2044 60.1574
+ 22131916.8994 -16714485.87449 -13003782.20747 22131916.0704 22131921.4014
+ 1966.6594 1532.4604
+ 21453533.0844 -16847050.78649 -13105716.61547 21453533.2894 21453537.7284
+ 1090.5794 849.8014
+ 05 1 20 6 32 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23214924.6514 -11843736.42549 -9210691.31746 23214923.5794 23214927.4324
+ -3399.1574 -2648.6924
+ 24315352.8364 -1064774.24849 -809371.77345 24315353.1134 24315355.1084
+ -3622.3274 -2822.5974
+ 22433592.3534 -9627369.63249 -7292728.02047 22433591.9774 22433596.8594
+ -1195.8494 -931.8294
+ 24472574.2234 -1403741.36249 -1086933.26545 24472574.4954 24472576.7414
+ 367.7684 286.5724
+ 21004816.2404 -22386461.17249 -17429268.41248 21004815.5344 21004818.2084
+ -1917.8084 -1494.3974
+ 21791868.7654 -17175568.97749 -13368443.44247 21791868.1614 21791873.2654
+ 2066.4734 1610.2324
+ 20613111.3454 -22382421.05149 -17198302.06548 20613110.6114 20613114.8004
+ 69.4704 54.1304
+ 22120700.7424 -16773430.62249 -13049713.17447 22120700.0124 22120704.7574
+ 1962.9704 1529.5854
+ 21447362.0174 -16879481.12749 -13130987.01547 21447362.4144 21447367.2214
+ 1071.4564 834.8944
+ 05 1 20 6 33 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23234353.1534 -11741641.94249 -9131137.21646 23234351.1144 23234356.2084
+ -3407.0914 -2654.8794
+ 24336026.5144 -956123.16149 -724708.57245 24336025.8194 24336032.6984
+ -3621.1684 -2821.6834
+ 22440472.6244 -9591208.98549 -7264550.89047 22440472.4264 22440478.2344
+ -1214.8584 -946.6324
+ 24470521.1114 -1414531.39349 -1095341.10145 24470521.8234 24470521.6344
+ 351.6174 273.9884
+ 21015806.8474 -22328705.20649 -17384263.78848 21015806.7424 21015809.1124
+ -1932.5784 -1505.9034
+ 21780102.4334 -17237400.10149 -13416623.52247 21780102.1924 21780106.7984
+ 2055.4784 1601.6704
+ 20612737.1784 -22384387.96449 -17199834.73148 20612736.1284 20612740.4474
+ 61.6794 48.0664
+ 22109503.9814 -16832264.29749 -13095557.59447 22109504.3634 22109508.9514
+ 1959.2504 1526.6884
+ 21441300.2964 -16911334.62849 -13155807.91947 21441300.9144 21441304.6714
+ 1052.2054 819.8974
+ 05 1 20 6 33 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23253824.1674 -11639311.66749 -9051399.37446 23253824.0574 23253828.2244
+ -3414.9144 -2660.9784
+ 24356694.8034 -847511.27849 -640075.92245 24356694.7894 24356699.4624
+ -3619.6984 -2820.5494
+ 22447463.0654 -9554477.93649 -7235929.29147 22447462.1024 22447468.0504
+ -1233.8784 -961.4674
+ 24468560.0544 -1424836.00349 -1103370.69745 24468560.1344 24468562.0684
+ 335.3934 261.3514
+ 21026881.3374 -22270507.64349 -17338915.04648 21026881.2274 21026883.7824
+ -1947.2884 -1517.3744
+ 21768399.5294 -17298899.61049 -13464545.20847 21768399.3944 21768403.9354
+ 2044.4314 1593.0624
+ 20612407.3804 -22386121.10849 -17201185.22448 20612406.7834 20612410.6994
+ 53.8784 41.9844
+ 22098330.1864 -16890986.72749 -13141315.33347 22098329.3414 22098334.7464
+ 1955.5414 1523.7974
+ 21435349.3184 -16942609.80149 -13180178.19947 21435349.6674 21435353.5394
+ 1032.8814 804.8494
+ 05 1 20 6 34 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23273341.8484 -11536747.21649 -8971479.05246 23273341.0864 23273345.2164
+ -3422.6644 -2667.0334
+ 24377353.3554 -738941.44849 -555476.01945 24377354.3914 24377360.9404
+ -3618.2354 -2819.4094
+ 22454560.7714 -9517177.72049 -7206864.18147 22454560.6494 22454565.7954
+ -1252.8014 -976.2074
+ 24466691.4804 -1434655.80749 -1111022.49045 24466691.1704 24466695.0474
+ 319.2504 248.7624
+ 21038039.5444 -22211869.23249 -17293222.78748 21038039.7234 21038042.6494
+ -1961.9554 -1528.7984
+ 21756759.7104 -17360066.78149 -13512207.90847 21756759.4214 21756764.3974
+ 2033.3884 1584.4564
+ 20612121.9504 -22387620.27749 -17202353.40548 20612121.5274 20612125.4814
+ 46.0774 35.9014
+ 22087175.7734 -16949597.48349 -13186986.04447 22087175.7624 22087181.3214
+ 1951.8154 1520.8954
+ 21429507.8554 -16973305.02949 -13204096.54747 21429508.2774 21429511.8964
+ 1013.5124 789.7494
+ 05 1 20 6 34 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23292903.4494 -11433950.58449 -8891377.79646 23292903.6784 23292906.2124
+ -3430.4124 -2673.0604
+ 24398005.3174 -630416.74149 -470911.23345 24398006.0164 24398011.7894
+ -3616.7124 -2818.2224
+ 22461767.0394 -9479309.57749 -7177356.52746 22461766.3024 22461771.4174
+ -1271.7564 -990.9824
+ 24464916.3264 -1443990.83449 -1118296.53745 24464913.3504 24464919.2144
+ 303.0624 236.1634
+ 21049281.7454 -22152790.96749 -17247187.78348 21049281.8704 21049284.5484
+ -1976.5994 -1540.2104
+ 21745182.8834 -17420901.30249 -13559611.40747 21745182.7174 21745187.7104
+ 2022.2574 1575.7804
+ 20611880.5874 -22388885.01449 -17203338.91248 20611880.4134 20611884.4714
+ 38.2364 29.7934
+ 22076044.0214 -17008096.24749 -13232569.49547 22076044.0964 22076049.5484
+ 1948.0894 1517.9904
+ 21423777.8654 -17003418.66949 -13227561.73047 21423778.2664 21423781.9514
+ 994.1194 774.6394
+ 05 1 20 6 35 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23312509.8934 -11330923.66849 -8811097.12846 23312508.4384 23312513.4944
+ -3438.0334 -2678.9674
+ 24418649.7764 -521940.10849 -386384.03245 24418648.9604 24418654.8134
+ -3615.1284 -2816.9844
+ 22469080.5974 -9440874.68149 -7147407.26847 22469080.1904 22469086.0904
+ -1290.5964 -1005.6634
+ 24463228.4724 -1452841.22149 -1125192.95145 24463229.8304 24463232.2304
+ 286.9214 223.5634
+ 21060608.1694 -22093273.78849 -17200810.76848 21060607.6714 21060610.0624
+ -1991.2284 -1551.6074
+ 21733669.5884 -17481403.00149 -13606755.56547 21733670.0294 21733675.1924
+ 2011.1844 1567.1564
+ 20611684.5504 -22389915.13249 -17204141.60348 20611684.5144 20611688.5474
+ 30.4174 23.6994
+ 22064933.5254 -17066482.75749 -13278065.46247 22064933.1644 22064938.8354
+ 1944.3424 1515.0704
+ 21418158.4184 -17032949.39649 -13250572.67547 21418158.6074 21418162.0664
+ 974.6424 759.4614
+ 05 1 20 6 35 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23332157.9924 -11227668.22749 -8730638.36446 23332156.7534 23332162.3144
+ -3445.6114 -2684.8864
+ 24439282.3234 -413514.06549 -301896.17245 24439280.5264 24439285.1554
+ -3613.2634 -2815.5314
+ 22476502.4534 -9401874.10749 -7117017.19746 22476501.5134 22476506.7904
+ -1309.4134 -1020.3294
+ 24461640.1934 -1461207.51449 -1131712.13245 24461636.5984 24461641.0404
+ 270.8254 211.0324
+ 21072016.3154 -22033318.80349 -17154092.60448 21072016.5434 21072019.0134
+ -2005.7474 -1562.9204
+ 21722221.3864 -17541571.44049 -13653640.03647 21722220.2634 21722225.1364
+ 2000.0484 1558.4744
+ 20611533.7944 -22390710.19849 -17204761.13248 20611533.1504 20611537.2794
+ 22.5944 17.6054
+ 22053845.4024 -17124756.70849 -13323473.74147 22053844.6224 22053849.2434
+ 1940.5944 1512.1524
+ 21412650.3314 -17061895.62049 -13273128.16847 21412650.1114 21412654.1914
+ 955.1744 744.2874
+ 05 1 20 6 36 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23351849.5724 -11124185.86349 -8650002.77946 23351848.8454 23351853.6434
+ -3453.1784 -2690.7834
+ 24459903.5174 -305141.76049 -217450.22145 24459904.3474 24459910.6874
+ -3611.4384 -2814.1064
+ 22484032.2374 -9362308.94949 -7086187.21547 22484031.6434 22484036.0644
+ -1328.2174 -1034.9774
+ 24460139.2604 -1469090.01149 -1137854.34545 24460138.3274 24460141.0224
+ 254.6744 198.4504
+ 21083509.8834 -21972926.95849 -17107034.03548 21083509.1444 21083511.6374
+ -2020.3274 -1574.2774
+ 21710833.7894 -17601406.11949 -13700264.44447 21710833.9674 21710838.7834
+ 1988.9354 1549.8214
+ 20611427.9384 -22391269.87549 -17205197.25348 20611427.1364 20611430.7614
+ 14.7314 11.4824
+ 22042777.1594 -17182917.68149 -13368793.97247 22042776.4124 22042781.8244
+ 1936.8224 1509.2094
+ 21407251.9394 -17090255.84149 -13295227.04547 21407253.2554 21407257.6234
+ 935.5774 729.0304
+ 05 1 20 6 36 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23371583.0734 -11020479.15649 -8569192.37946 23371582.9844 23371588.3124
+ -3460.5894 -2696.5654
+ 24480514.3784 -196826.06749 -133048.37045 24480515.9294 24480523.0584
+ -3609.5554 -2812.6454
+ 22491667.8794 -9322180.82549 -7054918.52547 22491667.4174 22491672.6574
+ -1346.9634 -1049.5814
+ 24458731.0214 -1476488.97149 -1143619.77645 24458730.2444 24458733.2084
+ 238.5704 185.8944
+ 21095084.6714 -21912099.12249 -17059635.73748 21095084.2654 21095086.8474
+ -2034.8724 -1585.6114
+ 21699511.5274 -17660906.85249 -13746628.63047 21699511.4844 21699516.4724
+ 1977.7864 1541.1344
+ 20611365.2864 -22391593.73849 -17205449.61648 20611365.1454 20611369.1764
+ 6.8624 5.3464
+ 22031730.4714 -17240965.34349 -13414025.91647 22031730.4194 22031735.8854
+ 1933.0324 1506.2644
+ 21401968.0604 -17118028.57149 -13316868.13347 21401968.1144 21401972.3514
+ 915.9814 713.7534
+ 05 1 20 6 37 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23391359.4694 -10916549.72649 -8488208.44546 23391359.9034 23391365.5554
+ -3467.9874 -2702.3154
+ 24501116.0054 -88569.67749 -48692.76145 24501116.4034 24501122.4354
+ -3607.5134 -2811.0464
+ 22499411.8754 -9281490.83349 -7023212.05247 22499411.1184 22499415.4034
+ -1365.6814 -1064.1724
+ 24457414.7784 -1483404.91249 -1149008.82745 24457414.3904 24457416.8464
+ 222.4894 173.3844
+ 21106741.7984 -21850836.38649 -17011898.55448 21106741.9514 21106744.8024
+ -2049.3364 -1596.8864
+ 21688253.4854 -17720073.51049 -13792732.50447 21688253.0134 21688256.8864
+ 1966.6434 1532.4514
+ 20611348.7574 -22391681.46249 -17205517.98448 20611348.4354 20611352.1764
+ -1.0104 -.7844
+ 22020706.1714 -17298899.24249 -13459169.20847 22020706.4364 22020711.1874
+ 1929.2154 1503.2904
+ 21396795.1784 -17145212.52049 -13338050.43547 21396795.8334 21396799.8894
+ 896.2944 698.4134
+ 05 1 20 6 37 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23411183.1044 -10812399.62849 -8407052.55146 23411181.2464 23411185.1264
+ -3475.3254 -2708.0514
+ 24521705.7744 19624.47749 35614.39945 24521705.0414 24521709.3644
+ -3605.4304 -2809.4364
+ 22507259.9144 -9240240.28849 -6991068.76447 22507259.4374 22507265.0134
+ -1384.3484 -1078.7154
+ 24456188.8444 -1489837.89349 -1154021.54145 24456189.0234 24456193.9894
+ 206.3754 160.8134
+ 21118483.0834 -21789139.76849 -16963823.27448 21118482.6014 21118485.5834
+ -2063.7594 -1608.1244
+ 21677057.0874 -17778905.46749 -13838575.55647 21677057.1874 21677061.5814
+ 1955.4834 1523.7524
+ 20611377.1244 -22391532.70349 -17205402.08648 20611376.5374 20611380.7454
+ -8.8984 -6.9344
+ 22009703.8864 -17356719.05749 -13504223.61347 22009703.7374 22009708.2444
+ 1925.3914 1500.3054
+ 21391734.6004 -17171806.27649 -13358772.83447 21391734.7464 21391739.0924
+ 876.6184 683.0744
+ 05 1 20 6 38 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23431042.5754 -10708030.58149 -8325726.06046 23431042.1594 23431044.8464
+ -3482.5834 -2713.7044
+ 24542284.3724 127753.36149 119870.73445 24542281.7564 24542285.2794
+ -3603.1694 -2807.6634
+ 22515215.8724 -9198430.67549 -6958489.85247 22515216.2234 22515221.8144
+ -1402.9674 -1093.2204
+ 24455058.5714 -1495788.54049 -1158658.40745 24455059.1364 24455061.8074
+ 190.3384 148.3134
+ 21130305.7944 -21727010.25249 -16915410.68448 21130305.6264 21130308.0184
+ -2078.1904 -1619.3684
+ 21665925.9524 -17837402.46949 -13884157.61447 21665925.6744 21665929.8074
+ 1944.3134 1515.0474
+ 20611450.5474 -22391146.95749 -17205101.51348 20611450.2204 20611454.2314
+ -16.8244 -13.1054
+ 21998723.9584 -17414424.36649 -13549188.78447 21998722.9124 21998727.6654
+ 1921.6014 1497.3574
+ 21386786.9694 -17197808.44549 -13379034.26247 21386786.7554 21386791.0054
+ 856.8584 667.6834
+ 05 1 20 6 38 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23450944.7364 -10603444.56049 -8244230.47346 23450943.4864 23450947.9064
+ -3489.7934 -2719.3094
+ 24562845.0504 235814.39349 204074.15545 24562843.6984 24562849.9344
+ -3600.8144 -2805.8284
+ 22523279.7324 -9156063.25249 -6925476.27347 22523278.6074 22523284.0924
+ -1421.5314 -1107.6844
+ 24454017.4614 -1501257.23649 -1162919.72745 24454016.8034 24454020.8614
+ 174.2844 135.8014
+ 21142210.5894 -21664449.10249 -16866661.75148 21142210.6144 21142212.7114
+ -2092.5634 -1630.5654
+ 21654857.5424 -17895564.13849 -13929478.38847 21654857.7724 21654862.4964
+ 1933.1104 1506.3184
+ 20611568.8674 -22390524.04949 -17204616.13248 20611568.6844 20611572.7904
+ -24.7184 -19.2594
+ 21987763.7444 -17472014.73049 -13594064.38647 21987763.8844 21987768.3354
+ 1917.7654 1494.3634
+ 21381951.4214 -17223217.64449 -13398833.63847 21381951.8324 21381955.6174
+ 837.1014 652.2904
+ 05 1 20 6 39 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23470886.7624 -10498643.65349 -8162567.45646 23470886.0804 23470890.9814
+ -3496.9254 -2724.8764
+ 24583398.3664 343804.50549 288222.31745 24583394.3254 24583401.8934
+ -3598.4954 -2804.0164
+ 22531447.1084 -9113139.29749 -6892029.03947 22531447.2904 22531451.4394
+ -1440.0704 -1122.1404
+ 24453067.7354 -1506244.44149 -1166805.84845 24453068.2044 24453071.5164
+ 158.1944 123.2704
+ 21154197.4284 -21601457.22649 -16817577.18348 21154197.4954 21154199.7114
+ -2106.8964 -1641.7384
+ 21643853.7424 -17953390.22849 -13974537.66147 21643853.7964 21643858.4384
+ 1921.9454 1497.6204
+ 20611733.0834 -22389663.59049 -17203945.63648 20611732.6394 20611736.4094
+ -32.6484 -25.4374
+ 21976825.9154 -17529489.83249 -13638850.18347 21976826.2514 21976830.9634
+ 1913.8944 1491.3454
+ 21377228.2794 -17248032.55249 -13418169.92247 21377228.9914 21377234.0274
+ 817.2894 636.8494
+ 05 1 20 6 39 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23490871.4364 -10393629.91749 -8080738.59646 23490869.8754 23490873.9894
+ -3503.9794 -2730.3674
+ 24603925.1084 451720.68848 372312.87145 24603927.3554 24603933.8914
+ -3596.0334 -2802.1104
+ 22539721.5814 -9069660.32149 -6858149.30547 22539720.7664 22539724.5774
+ -1458.5384 -1136.5244
+ 24452209.6554 -1510750.34049 -1170316.92845 24452210.3844 24452215.1514
+ 142.1324 110.7574
+ 21166266.0464 -21538035.66849 -16768157.80348 21166266.0974 21166268.5614
+ -2121.2134 -1652.8974
+ 21632913.9614 -18010880.47449 -14019335.24048 21632914.1144 21632918.4704
+ 1910.7144 1488.8604
+ 20611941.9024 -22388565.12449 -17203089.68548 20611941.5674 20611945.1924
+ -40.6064 -31.6424
+ 21965911.4764 -17586849.28049 -13683545.85047 21965910.8894 21965915.9114
+ 1910.0264 1488.3404
+ 21372620.0014 -17272251.95749 -13437042.18847 21372620.4154 21372625.0984
+ 797.4184 621.3604
+ 05 1 20 6 40 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23510894.3814 -10288405.04449 -7998745.22146 23510894.2704 23510897.4564
+ -3510.9954 -2735.8444
+ 24624455.6254 559560.35549 456343.85545 24624452.3094 24624459.4294
+ -3593.3814 -2800.0434
+ 22548098.9254 -9025627.71449 -6823838.18147 22548099.2474 22548104.2814
+ -1476.9884 -1150.8984
+ 24451447.0654 -1514775.85449 -1173453.69945 24451444.1584 24451448.2974
+ 126.1574 98.2994
+ 21178416.9774 -21474185.75749 -16718404.64048 21178416.9114 21178418.7804
+ -2135.4634 -1663.9984
+ 21622037.3214 -18068034.72949 -14063871.01747 21622037.4994 21622042.1684
+ 1899.5424 1480.1624
+ 20612196.2294 -22387228.31949 -17202048.02648 20612195.9914 20612199.6774
+ -48.5464 -37.8254
+ 21955019.0634 -17644092.56749 -13728150.99647 21955018.0994 21955023.1224
+ 1906.1824 1485.3454
+ 21368124.8694 -17295874.54349 -13455449.39847 21368125.4294 21368129.3244
+ 777.4674 605.8214
+ 05 1 20 6 40 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23530957.4954 -10182971.41949 -7916589.15746 23530956.9984 23530960.3094
+ -3517.8964 -2741.2074
+ 24644961.3494 667320.63949 540312.94645 24644957.3664 24644961.6614
+ -3590.7004 -2797.9454
+ 22556584.4534 -8981042.92449 -6789096.77147 22556583.8674 22556589.3654
+ -1495.3644 -1165.2234
+ 24450768.4204 -1518321.49249 -1176216.52245 24450770.7494 24450774.4684
+ 110.1944 85.8644
+ 21190647.5024 -21409908.43649 -16668318.42148 21190647.6684 21190650.7124
+ -2149.6884 -1675.0844
+ 21611225.0984 -18124852.94849 -14108144.93647 21611224.9424 21611230.0334
+ 1888.3304 1471.4274
+ 20612495.8764 -22385652.66949 -17200820.25448 20612495.8354 20612499.4014
+ -56.5094 -44.0364
+ 21944147.8774 -17701219.38649 -13772665.40047 21944147.1244 21944151.9674
+ 1902.2824 1482.2904
+ 21363744.0224 -17318899.07749 -13473390.59047 21363744.1164 21363748.0974
+ 757.5194 590.2744
+ 05 1 20 6 41 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23551058.6694 -10077330.87949 -7834271.89446 23551059.5814 23551063.4294
+ -3524.7854 -2746.5964
+ 24665447.1834 774998.96849 624218.17945 24665446.9714 24665452.7744
+ -3587.8454 -2795.7274
+ 22565173.9334 -8935907.34749 -6753926.19747 22565172.6784 22565177.8164
+ -1513.7024 -1179.5014
+ 24450182.8504 -1521387.70449 -1178605.77245 24450184.7244 24450189.5414
+ 94.1934 73.4064
+ 21202960.1524 -21345204.92649 -16617900.11248 21202960.2314 21202963.3464
+ -2163.8814 -1686.1454
+ 21600478.2504 -18181334.58249 -14152156.58548 21600477.5604 21600482.0284
+ 1877.1014 1462.6734
+ 20612841.7574 -22383837.88949 -17199406.13948 20612841.3104 20612844.7124
+ -64.4854 -50.2494
+ 21933299.2844 -17758229.36449 -13817088.76147 21933298.7854 21933303.6464
+ 1898.3604 1479.2444
+ 21359475.8144 -17341324.39149 -13490864.85547 21359476.4664 21359480.6724
+ 737.5194 574.6914
+ 05 1 20 6 41 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23571201.9354 -9971485.27849 -7751794.85746 23571201.1714 23571205.9854
+ -3531.6064 -2751.9004
+ 24685919.3504 882592.39849 708057.27745 24685920.4524 24685925.5174
+ -3584.9504 -2793.4644
+ 22573867.3114 -8890222.64749 -6718327.72047 22573866.3974 22573871.0174
+ -1531.9704 -1193.7444
+ 24449696.8014 -1523974.93249 -1180621.77945 24449693.7794 24449697.8554
+ 78.2664 60.9824
+ 21215354.6444 -21280076.23749 -16567150.49948 21215354.4254 21215356.9674
+ -2178.0274 -1697.1624
+ 21589793.3664 -18237479.28249 -14195905.69447 21589793.5904 21589797.4374
+ 1865.8654 1453.9244
+ 20613232.2254 -22381783.61449 -17197805.41148 20613231.8034 20613235.8404
+ -72.4614 -56.4654
+ 21922473.0014 -17815122.05049 -13861420.73147 21922472.3994 21922477.1714
+ 1894.4734 1476.2134
+ 21355322.8264 -17363149.28649 -13507871.27247 21355323.1644 21355327.7934
+ 717.5394 559.1204
+ 05 1 20 6 42 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23591381.3774 -9865436.60849 -7669159.55546 23591381.5344 23591386.4554
+ -3538.2964 -2757.1154
+ 24706380.1954 990098.04349 791827.84245 24706378.9344 24706384.1494
+ -3581.9764 -2791.1544
+ 22582664.9784 -8843990.18249 -6682302.42447 22582663.9634 22582669.6734
+ -1550.1774 -1207.9274
+ 24449293.7134 -1526083.56749 -1182264.92745 24449292.8394 24449295.7264
+ 62.2694 48.5374
+ 21227828.7254 -21214523.58949 -16516070.51948 21227828.6944 21227831.0034
+ -2192.1404 -1708.1614
+ 21579173.8094 -18293286.97649 -14239392.20648 21579173.5134 21579178.1094
+ 1854.6544 1445.1834
+ 20613669.0874 -22379489.26749 -17196017.61448 20613668.6394 20613672.5854
+ -80.4544 -62.6924
+ 21911668.5914 -17871896.99049 -13905660.93847 21911668.0824 21911673.3164
+ 1890.5374 1473.1454
+ 21351284.3354 -17384372.55249 -13524408.87547 21351284.6964 21351289.0324
+ 697.4544 543.4734
+ 05 1 20 6 42 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23611600.8074 -9759187.28149 -7586367.88445 23611599.7074 23611604.8074
+ -3545.0294 -2762.3504
+ 24726822.8084 1097513.35849 875528.09045 24726821.6284 24726824.6224
+ -3578.9884 -2788.8244
+ 22591566.2754 -8797211.58349 -6645851.55147 22591566.0464 22591570.2134
+ -1568.3844 -1222.1184
+ 24448979.1644 -1527714.27449 -1183535.59745 24448981.1804 24448987.6474
+ 46.4344 36.1854
+ 21240383.5324 -21148548.35349 -16464661.25348 21240383.1494 21240385.7524
+ -2206.1864 -1719.1064
+ 21568618.4614 -18348757.63149 -14282616.08848 21568617.8584 21568622.1404
+ 1843.3844 1436.4024
+ 20614151.4164 -22376954.56249 -17194042.50848 20614150.8104 20614155.0564
+ -88.5004 -68.9634
+ 21900887.0374 -17928553.77749 -13949809.08647 21900887.0934 21900892.2614
+ 1886.5844 1470.0674
+ 21347360.1594 -17404993.09249 -13540476.83547 21347360.5794 21347364.6544
+ 677.3054 527.7684
+ 05 1 20 6 43 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23631856.1474 -9652738.82149 -7503421.09245 23631856.9884 23631862.4134
+ -3551.5634 -2767.4414
+ 24747242.7994 1204835.49949 959155.76545 24747243.6054 24747249.5464
+ -3575.7654 -2786.3084
+ 22600571.8654 -8749888.15649 -6608976.16446 22600571.4184 22600576.1264
+ -1586.5214 -1236.2454
+ 24448758.6714 -1528867.87049 -1184434.47945 24448760.6694 24448766.8794
+ 30.5334 23.7974
+ 21253018.1744 -21082151.70649 -16412923.61848 21253018.0694 21253020.4504
+ -2220.2414 -1730.0564
+ 21558126.4924 -18403890.93249 -14325577.10548 21558126.4264 21558131.0124
+ 1832.1524 1427.6614
+ 20614679.3424 -22374179.21449 -17191879.89348 20614678.7754 20614683.1084
+ -96.5434 -75.2254
+ 21890129.0714 -17985092.00549 -13993864.85147 21890128.0564 21890133.3594
+ 1882.6214 1466.9804
+ 21343551.1424 -17425009.79249 -13556074.24447 21343551.6634 21343556.1124
+ 657.1714 512.0854
+ 05 1 20 6 43 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23652150.3554 -9546093.15949 -7420320.62645 23652149.5794 23652155.5684
+ -3558.1414 -2772.5674
+ 24767639.8534 1312061.62048 1042708.63645 24767641.4394 24767653.3734
+ -3572.6144 -2783.8604
+ 22609679.5664 -8702021.75649 -6571677.65446 22609679.2974 22609684.6664
+ -1604.5854 -1250.3194
+ 24448634.1614 -1529545.05349 -1184962.19045 24448631.8094 24448635.9344
+ 14.6064 11.3774
+ 21265733.1864 -21015334.49349 -16360858.26848 21265733.1184 21265735.1274
+ -2234.2314 -1740.9594
+ 21547699.0444 -18458686.81149 -14368275.18948 21547698.9474 21547703.2844
+ 1820.9054 1418.8864
+ 20615253.3464 -22371162.57549 -17189529.27748 20615253.0874 20615256.9474
+ -104.5914 -81.4994
+ 21879392.1034 -18041511.13349 -14037827.80847 21879391.7304 21879396.8624
+ 1878.6514 1463.8824
+ 21339856.6754 -17444421.44749 -13571200.21147 21339857.4684 21339861.8064
+ 636.9944 496.3644
+ 05 1 20 6 44 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23672480.9814 -9439252.44749 -7337068.16745 23672481.4844 23672486.1744
+ -3564.5904 -2777.6104
+ 24788032.5484 1419188.97549 1126184.48345 24788032.4944 24788040.3834
+ -3569.1274 -2781.1344
+ 22618891.9094 -8653613.68249 -6533957.06747 22618891.4264 22618896.7164
+ -1622.6324 -1264.3904
+ 24448595.9674 -1529746.21149 -1185118.95445 24448596.5874 24448601.1994
+ -1.2304 -.9604
+ 21278527.6924 -20948098.28049 -16308466.42548 21278527.1814 21278530.0304
+ -2248.1714 -1751.8194
+ 21537336.0324 -18513144.78149 -14410709.96948 21537336.0414 21537340.0774
+ 1809.6324 1410.1064
+ 20615874.2734 -22367904.45549 -17186990.49848 20615873.3294 20615877.0384
+ -112.6494 -87.7804
+ 21868678.4364 -18097810.74149 -14081697.63947 21868678.1994 21868683.2404
+ 1874.6434 1460.7594
+ 21336279.0084 -17463227.16849 -13585854.01147 21336279.3414 21336283.4934
+ 616.7654 480.5984
+ 05 1 20 6 44 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23692850.6774 -9332218.97849 -7253665.47345 23692849.5104 23692853.9924
+ -3570.9534 -2782.5614
+ 24808400.9124 1526214.98249 1209581.35045 24808398.9654 24808406.8484
+ -3565.8114 -2778.5564
+ 22628205.9384 -8604665.55449 -6495815.67846 22628205.6944 22628210.7594
+ -1640.5754 -1278.3594
+ 24448644.9584 -1529471.87249 -1184905.18245 24448646.3634 24448652.1024
+ -17.0624 -13.2974
+ 21291401.2884 -20880444.28949 -16255749.04748 21291401.3564 21291404.3164
+ -2262.0754 -1762.6564
+ 21527036.9964 -18567264.78249 -14452881.39848 21527037.0634 21527041.4824
+ 1798.3684 1401.3304
+ 20616539.6004 -22364404.34349 -17184263.12648 20616538.8974 20616543.0604
+ -120.6934 -94.0424
+ 21857988.2004 -18153990.27349 -14125473.88447 21857987.8284 21857992.6714
+ 1870.6454 1457.6464
+ 21332815.8424 -17481425.90149 -13600034.84247 21332816.0204 21332820.1524
+ 596.5364 464.8384
+ 05 1 20 6 45 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23713254.2794 -9224994.42649 -7170113.94845 23713253.5764 23713258.5404
+ -3577.2704 -2787.4854
+ 24828744.3884 1633136.91648 1292897.12244 24828743.3064 24828752.8224
+ -3562.3414 -2775.8394
+ 22637622.8324 -8555178.97349 -6457254.70747 22637623.0004 22637628.8794
+ -1658.5124 -1292.3504
+ 24448792.6224 -1528723.03349 -1184321.65445 24448790.2434 24448794.2044
+ -32.8724 -25.6134
+ 21304354.3964 -20812373.58149 -16202706.95448 21304354.8594 21304357.3574
+ -2275.9444 -1773.4654
+ 21516802.0624 -18621046.51249 -14494789.23148 21516802.5274 21516807.2934
+ 1787.0894 1392.5364
+ 20617251.4154 -22360661.97049 -17181346.99748 20617251.1934 20617255.4264
+ -128.7524 -100.3274
+ 21847319.9804 -18210049.31149 -14169156.25547 21847319.9314 21847324.8644
+ 1866.6114 1454.4994
+ 21329468.7524 -17499016.51949 -13613741.81447 21329468.9944 21329472.8874
+ 576.2244 449.0064
+ 05 1 20 6 45 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23733693.3084 -9117581.14549 -7086415.33745 23733692.8584 23733698.0784
+ -3583.5524 -2792.3754
+ 24849077.1654 1739951.99949 1376129.63444 24849074.2464 24849075.4484
+ -3558.7054 -2773.0204
+ 22647143.6684 -8505155.88449 -6418275.67546 22647142.7464 22647146.8714
+ -1676.3694 -1306.2514
+ 24449025.6234 -1527500.43649 -1183368.99445 24449023.3564 24449025.9804
+ -48.6564 -37.9124
+ 21317387.5024 -20743887.53649 -16149341.21648 21317387.4254 21317390.5054
+ -2289.7824 -1784.2404
+ 21506633.3514 -18674490.28949 -14536433.73148 21506632.9704 21506637.5474
+ 1775.8304 1383.7644
+ 20618010.0634 -22356676.78749 -17178241.67648 20618009.5764 20618013.5234
+ -136.8714 -106.6484
+ 21836676.3454 -18265987.51949 -14212744.46447 21836675.8204 21836680.4714
+ 1862.5804 1451.3634
+ 21326237.6144 -17515998.10449 -13626974.21047 21326237.5214 21326241.5724
+ 555.9244 433.1904
+ 05 1 20 6 46 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23754171.0604 -9009980.52149 -7002570.71846 23754170.5154 23754174.3724
+ -3589.8184 -2797.2594
+ 24869380.9284 1846657.33249 1459276.69145 24869378.9724 24869383.4614
+ -3554.9684 -2770.1104
+ 22656762.1244 -8454597.70649 -6378879.68446 22656762.4234 22656768.1044
+ -1694.1724 -1320.1424
+ 24449345.7724 -1525804.79049 -1182047.76545 24449346.9514 24449349.7484
+ -64.3944 -50.1714
+ 21330498.7374 -20674987.68349 -16095653.04848 21330498.6614 21330501.6244
+ -2303.5434 -1794.9704
+ 21496527.6344 -18727595.59749 -14577814.49248 21496527.6514 21496531.5774
+ 1764.5264 1374.9504
+ 20618814.4874 -22352448.56049 -17174946.96548 20618814.3654 20618818.0644
+ -144.9794 -112.9754
+ 21826054.4904 -18321804.38049 -14256238.12347 21826053.9014 21826058.7434
+ 1858.5134 1448.1884
+ 21323120.7364 -17532369.83549 -13639731.40647 21323121.5474 21323125.3864
+ 535.5814 417.3364
+ 05 1 20 6 46 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23774680.3144 -8902195.20049 -6918582.19945 23774680.1814 23774685.7074
+ -3595.8914 -2801.9884
+ 24889664.1274 1953250.48949 1542336.31745 24889661.6094 24889667.4844
+ -3551.3284 -2767.2774
+ 22666485.9234 -8403506.18249 -6339068.11346 22666485.8364 22666490.4224
+ -1711.9514 -1333.9744
+ 24449758.9374 -1523636.37749 -1180358.11145 24449758.5384 24449761.4304
+ -80.1424 -62.4494
+ 21343688.1194 -20605675.12149 -16041643.28048 21343688.4064 21343690.9464
+ -2317.2924 -1805.6774
+ 21486486.3424 -18780362.28449 -14618931.38648 21486485.9044 21486490.5274
+ 1753.2234 1366.1564
+ 20619665.8614 -22347976.50449 -17171462.24748 20619665.3934 20619669.2454
+ -153.1624 -119.3444
+ 21815455.8434 -18377499.37049 -14299636.81447 21815455.6314 21815460.2954
+ 1854.4604 1445.0354
+ 21320122.1134 -17548130.67049 -13652012.57847 21320122.2534 21320127.6494
+ 515.1634 401.4264
+ 05 1 20 6 47 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23795227.5124 -8794226.83949 -6834451.00445 23795226.8944 23795231.7384
+ -3601.9574 -2806.7254
+ 24909927.9234 2059728.56949 1625306.24245 24909925.0124 24909931.4984
+ -3547.3174 -2764.1454
+ 22676308.5314 -8351883.05049 -6298842.28146 22676308.7894 22676313.5424
+ -1729.6254 -1347.7574
+ 24450257.9094 -1520996.51949 -1178301.09445 24450258.8054 24450264.7904
+ -95.8684 -74.6944
+ 21356956.9844 -20535950.98649 -15987312.80248 21356956.9934 21356959.2754
+ -2330.9714 -1816.3444
+ 21476509.5584 -18832790.15049 -14659784.26148 21476509.3404 21476513.3304
+ 1741.9454 1357.3594
+ 20620563.0814 -22343260.48749 -17167787.43248 20620562.7814 20620566.5814
+ -161.2604 -125.6584
+ 21804880.4934 -18433071.97049 -14342940.13547 21804880.2094 21804885.1974
+ 1850.3834 1441.8574
+ 21317239.7324 -17563279.76049 -13663817.06447 21317240.2354 21317244.0424
+ 494.7964 385.5544
+ 05 1 20 6 47 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23815805.0914 -8686077.36349 -6750178.71245 23815804.9694 23815812.7724
+ -3608.0294 -2811.4474
+ 24930167.5144 2166089.07249 1708184.49045 24930162.6784 24930168.7434
+ -3543.3554 -2761.0614
+ 22686234.5074 -8299729.87549 -6258203.43346 22686233.7454 22686238.6964
+ -1747.2614 -1361.4904
+ 24450853.1084 -1517885.73849 -1175877.10245 24450852.4354 24450857.4954
+ -111.5274 -86.9024
+ 21370303.1224 -20465816.77749 -15932662.79348 21370302.8454 21370305.4544
+ -2344.6404 -1826.9884
+ 21466597.6434 -18884879.29249 -14700373.19348 21466597.4924 21466601.4944
+ 1730.6394 1348.5504
+ 20621507.1054 -22338300.14049 -17163922.23148 20621506.8504 20621510.4674
+ -169.4344 -132.0264
+ 21794328.7114 -18488521.73049 -14386147.73747 21794328.8254 21794333.2514
+ 1846.2684 1438.6514
+ 21314474.4474 -17577816.24749 -13675144.18047 21314474.3734 21314477.6624
+ 474.3194 369.5934
+ 05 1 20 6 48 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23836416.7044 -8577749.17449 -6665767.18145 23836420.0464 23836425.4564
+ -3613.9074 -2816.0254
+ 24950386.8824 2272329.31348 1790969.08944 24950382.7124 24950387.6194
+ -3539.4234 -2757.9944
+ 22696259.5504 -8247048.43349 -6217152.95846 22696258.2004 22696263.5684
+ -1764.8234 -1375.1844
+ 24451535.6634 -1514304.70949 -1173086.66745 24451534.5114 24451538.6054
+ -127.1854 -99.1134
+ 21383727.1254 -20395273.81949 -15877694.27648 21383726.8254 21383729.4864
+ -2358.2244 -1837.5754
+ 21456749.6374 -18936629.59849 -14740698.09948 21456749.5314 21456754.0114
+ 1719.3644 1339.7624
+ 20622497.8494 -22333094.91349 -17159866.21348 20622497.2194 20622501.2874
+ -177.5994 -138.3934
+ 21783800.5554 -18543848.13149 -14429259.22347 21783800.3734 21783805.2064
+ 1842.1574 1435.4464
+ 21311823.6074 -17591739.14449 -13685993.19647 21311823.7814 21311828.4904
+ 453.9184 353.6974
+ 05 1 20 6 48 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23857071.8144 -8469244.31749 -6581217.94045 23857069.8224 23857073.1584
+ -3619.7654 -2820.5954
+ 24970568.0094 2378446.54058 1873657.82554 24970570.4344 24970580.1174
+ -3535.2734 -2754.7554
+ 22706384.5264 -8193840.51249 -6175692.22646 22706383.0194 22706388.2244
+ -1782.3434 -1388.8444
+ 24452306.4374 -1510254.64449 -1169930.77145 24452306.2794 24452307.4574
+ -142.8674 -111.3314
+ 21397227.3464 -20324323.33149 -15822408.18848 21397228.0194 21397230.5604
+ -2371.7944 -1848.1534
+ 21446966.0064 -18988040.92649 -14780758.87048 21446966.0824 21446970.4874
+ 1708.0444 1330.9454
+ 20623534.9764 -22327644.42549 -17155619.06748 20623534.3424 20623538.1324
+ -185.7784 -144.7644
+ 21773296.4714 -18599050.67649 -14472274.19047 21773295.9554 21773300.5044
+ 1838.0084 1432.2194
+ 21309291.3694 -17605047.76049 -13696363.54447 21309291.7824 21309295.9604
+ 433.3944 337.7094
+ 05 1 20 6 49 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23877752.7904 -8360564.87349 -6496532.68145 23877748.6874 23877754.0084
+ -3625.5654 -2825.1124
+ 24990742.8354 2484437.99958 1956248.51254 24990737.0134 24990751.2694
+ -3530.8494 -2751.3094
+ 22716607.6024 -8140108.07949 -6133822.79446 22716607.6034 22716613.7634
+ -1799.7934 -1402.4324
+ 24453165.2774 -1505736.15349 -1166409.84545 24453165.6924 24453169.8434
+ -158.4144 -123.4404
+ 21410807.4754 -20252966.85949 -15766805.76448 21410807.1114 21410809.3694
+ -2385.2964 -1858.6704
+ 21437247.5564 -19039113.30449 -14820555.51748 21437247.6974 21437252.1704
+ 1696.7574 1322.1534
+ 20624618.9514 -22321948.20149 -17151180.46748 20624618.5724 20624622.1694
+ -193.9804 -151.1474
+ 21762815.0544 -18654128.81549 -14515192.22347 21762814.8344 21762819.5784
+ 1833.8594 1428.9874
+ 21306876.3804 -17617741.30249 -13706254.61447 21306876.5394 21306880.5484
+ 412.8794 321.7274
+ 05 1 20 6 49 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23898463.7304 -8251712.65949 -6411712.80645 23898463.7524 23898467.6264
+ -3631.2944 -2829.5854
+ 25010874.6984 2590301.91057 2038739.77154 25010881.4064
+ -3526.9434 -2748.2774
+ 22726932.6334 -8085852.58649 -6091545.79946 22726932.1924 22726938.1584
+ -1817.2244 -1416.0164
+ 24454109.6474 -1500750.03349 -1162524.56845 24454112.9784 24454118.4434
+ -173.9944 -135.5814
+ 21424462.4284 -20181205.75049 -15710888.03648 21424462.6824 21424465.0224
+ -2398.7704 -1869.1764
+ 21427593.7224 -19089846.77749 -14860088.08448 21427593.5634 21427597.3934
+ 1685.4624 1313.3464
+ 20625749.3324 -22316005.74549 -17146549.97548 20625749.1134 20625752.9094
+ -202.1964 -157.5554
+ 21752357.2734 -18709082.07849 -14558012.94547 21752357.5604 21752362.0364
+ 1829.6804 1425.7194
+ 21304577.0984 -17629818.96349 -13715665.77047 21304577.1714 21304582.4024
+ 392.3654 305.7404
+ 05 1 20 6 50 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23919211.6794 -8142689.97349 -6326760.04745 23919210.3664 23919214.5774
+ -3636.9224 -2833.9664
+ 25031016.9674 2696033.77948 2121128.10944
+ -3522.1364 -2744.5214
+ 22737356.0024 -8031075.93949 -6048862.70246 22737355.6954 22737361.5994
+ -1834.5724 -1429.5274
+ 24455149.9984 -1495297.38449 -1158275.73545 24455150.5624 24455155.2084
+ -189.5384 -147.6894
+ 21438194.7774 -20109041.29649 -15654656.00347 21438194.8524 21438197.4224
+ -2412.2014 -1879.6304
+ 21418003.7224 -19140240.97549 -14899356.28148 21418003.9104 21418007.9504
+ 1674.1464 1304.5284
+ 20626927.4484 -22309816.80149 -17141727.42948 20626926.8404 20626930.6244
+ -210.4174 -163.9564
+ 21741923.9004 -18763909.99449 -14600735.99347 21741923.8564 21741928.8594
+ 1825.4814 1422.4584
+ 21302396.8294 -17641280.09949 -13724596.53047 21302397.0864 21302400.7344
+ 371.7844 289.7064
+ 05 1 20 6 50 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23939989.6004 -8033499.02649 -6241676.20445 23939988.7594 23939992.9054
+ -3642.5044 -2838.3154
+ 25051106.9944 2801632.60948 2203412.84144
+ -3517.6624 -2741.0264
+ 22747880.0584 -7975780.00649 -6005774.96346 22747879.7004 22747883.9294
+ -1851.8294 -1442.9794
+ 24456277.6424 -1489378.91549 -1153663.93545 24456276.6374 24456282.1604
+ -205.1254 -159.8304
+ 21452004.3994 -20036474.92749 -15598110.80748 21452004.1324 21452006.6254
+ -2425.5554 -1890.0424
+ 21408479.0304 -19190295.78649 -14938360.02148 21408478.3654 21408482.5114
+ 1662.8614 1295.7364
+ 20628151.9774 -22303380.81949 -17136712.37048 20628151.4924 20628155.6954
+ -218.6384 -170.3644
+ 21731514.5094 -18818611.96149 -14643360.90147 21731514.6024 21731519.6774
+ 1821.2994 1419.1974
+ 21300333.5024 -17652124.00349 -13733046.32647 21300333.6124 21300337.8144
+ 351.2174 273.6824
+ 05 1 20 6 51 0.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23960798.9674 -7924141.59549 -6156462.61145 23960797.8214 23960803.9444
+ -3647.9744 -2842.5794
+ 25071170.2084 2907095.46648 43165.69943
+ -3513.0994 -2737.4804
+ 22758499.4394 -7919966.52549 -5962283.92746 22758500.2854 22758505.1884
+ -1869.0634 -1456.4114
+ 24457494.3354 -1482995.54549 -1148689.90045 24457492.6574 24457494.2964
+ -220.4954 -171.8064
+ 21465888.0334 -19963508.26849 -15541253.68447 21465888.5334 21465891.9054
+ -2438.8754 -1900.4174
+ 21399017.7224 -19240011.18249 -14977099.28548 21399017.9364 21399022.2474
+ 1651.5114 1286.8914
+ 20629424.1244 -22296697.40049 -17131504.51148 20629423.4224 20629427.2124
+ -226.9134 -176.8174
+ 21721128.3294 -18873187.52549 -14685887.31147 21721128.8824 21721133.7884
+ 1817.0894 1415.9154
+ 21298386.9604 -17662350.00949 -13741014.62747 21298387.3464 21298391.4004
+ 330.5894 257.5974
+ 05 1 20 6 51 30.0000000 0 9G18G15G 5G11G22G25G14G 1G30
+ 23981639.2384 -7814619.69649 -6071120.89445 23981639.2864 23981643.6094
+ -3653.4434 -2846.8364
+ 25091214.5254 3012419.75548 125193.66244
+ -3508.4944 -2731.8054
+ 22769220.2134 -7863637.49949 -5918391.16646 22769219.2654 22769223.7944
+ -1886.2064 -1469.7694
+ 24458797.7284 -1476148.28149 -1143354.37445 24458794.2614 24458797.0494
+ -235.9594 -183.8334
+ 21479850.1334 -19890142.55249 -15484085.60248 21479850.1124 21479852.5964
+ -2452.1564 -1910.7684
+ 21389622.2844 -19289387.43449 -15015574.28648 21389621.6044 21389626.3064
+ 1640.2214 1278.0964
+ 20630742.8514 -22289766.01649 -17126103.44548 20630742.1674 20630746.1784
+ -235.1804 -183.2554
+ 21710768.1634 -18927636.23249 -14728314.87447 21710767.9034 21710772.7224
+ 1812.8434 1412.6054
+ 21296558.1894 -17671957.32849 -13748500.85347 21296558.9244 21296563.6664
+ 309.9414 241.5154
+ 05 1 20 6 52 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24002511.8924 -7704935.54249 -5985652.72445 24002511.8634 24002516.8944
+ -3658.7784 -2850.9924
+ 22780035.4804 -7806794.91949 -5874098.27446 22780035.6544 22780041.4214
+ -1903.2964 -1483.0914
+ 24460186.5234 -1468837.95049 -1137658.06145 24460186.4934 24460191.1394
+ -251.3624 -195.8674
+ 21493887.2414 -19816379.23949 -15426607.71747 21493886.5994 21493889.6744
+ -2465.3964 -1921.0834
+ 21380290.0654 -19338424.55849 -15053785.01548 21380290.0234 21380295.1704
+ 1628.9214 1269.2844
+ 20632109.1444 -22282586.15449 -17120508.75548 20632108.5534 20632112.8144
+ -243.4874 -189.7314
+ 21700430.2204 -18981957.41849 -14770643.06747 21700430.5154 21700435.6734
+ 1808.5634 1409.2714
+ 21294848.6024 -17680945.36849 -13755504.52447 21294848.9274 21294853.1364
+ 289.2764 225.4084
+ 05 1 20 6 52 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24023414.8344 -7595091.21449 -5900059.71945 24023413.4714 24023419.0764
+ -3664.1394 -2855.1774
+ 22790950.4314 -7749440.57049 -5829406.55546 22790949.6014 22790954.0514
+ -1920.3534 -1496.3924
+ 24461665.7004 -1461065.87549 -1131601.87245 24461664.0564 24461670.5004
+ -266.8484 -207.9284
+ 21507999.1094 -19742219.99249 -15368821.30847 21507999.0454 21508001.6494
+ -2478.5744 -1931.3514
+ 21371024.1494 -19387122.30449 -15091731.31248 21371023.7414 21371028.0324
+ 1617.5834 1260.4534
+ 20633522.4214 -22275157.47749 -17114720.19048 20633522.2824 20633526.5354
+ -251.7734 -196.1854
+ 21690118.6634 -19036150.54249 -14812871.48347 21690118.2074 21690122.7844
+ 1804.2924 1405.9374
+ 21293256.2234 -17689313.69249 -13762025.29447 21293256.5304 21293260.6014
+ 268.6164 209.3104
+ 05 1 20 6 53 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24044344.5944 -7485089.04149 -5814343.74345 24044345.2994 24044351.9204
+ -3669.3324 -2859.2174
+ 22801963.2504 -7691576.08149 -5784317.33846 22801960.8834 22801966.3494
+ -1937.3134 -1509.5984
+ 24463231.8064 -1452832.86249 -1125186.54345 24463231.5114 24463235.8564
+ -282.1204 -219.8334
+ 21522185.5724 -19667665.98249 -15310727.30547 21522185.8734 21522188.7374
+ -2491.6984 -1941.5844
+ 21361820.9474 -19435480.73249 -15129413.19648 21361820.8734 21361825.4184
+ 1606.2904 1251.6504
+ 20634983.6284 -22267479.57049 -17108737.40548 20634982.9974 20634987.2854
+ -260.0914 -202.6674
+ 21679830.3004 -19090214.94549 -14854999.58947 21679830.2504 21679834.9504
+ 1799.9904 1402.5904
+ 21291781.2204 -17697061.54349 -13768062.57747 21291781.4474 21291786.0854
+ 247.9444 193.2014
+ 05 1 20 6 53 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24065309.5834 -7374930.97649 -5728506.22645 24065308.9104 24065313.0644
+ -3674.5064 -2863.2574
+ 22813069.3424 -7633203.62249 -5738832.31346 22813069.4394 22813074.2674
+ -1954.2014 -1522.7594
+ 24464885.9994 -1444139.91749 -1118412.83845 24464885.0684 24464891.6164
+ -297.4254 -231.7534
+ 21536447.8714 -19592718.96049 -15252327.04247 21536447.9154 21536450.4554
+ -2504.7824 -1951.7824
+ 21352683.3394 -19483499.92249 -15166830.73748 21352683.1654 21352687.5474
+ 1594.9994 1242.8564
+ 20636491.9004 -22259551.94349 -17102560.04348 20636491.8034 20636495.9594
+ -268.4254 -209.1634
+ 21669567.0844 -19144150.12849 -14897026.99547 21669566.7354 21669571.4474
+ 1795.6784 1399.2304
+ 21290425.0574 -17704188.49749 -13773616.04947 21290425.6574 21290429.9844
+ 227.2204 177.0504
+ 05 1 20 6 54 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24086301.9744 -7264618.96449 -5642548.74945 24086301.0634 24086304.5904
+ -3679.5864 -2867.2104
+ 22824272.6744 -7574325.14149 -5692952.97746 22824272.6604 22824278.0704
+ -1971.0354 -1535.8644
+ 24466628.5124 -1434988.01749 -1111281.49645 24466627.1814 24466630.4964
+ -312.7074 -243.6654
+ 21550784.1554 -19517380.34149 -15193621.64447 21550784.1874 21550787.3614
+ -2517.7994 -1961.9174
+ 21343610.1014 -19531179.82549 -15203983.89848 21343610.1094 21343614.5734
+ 1583.6944 1234.0514
+ 20638048.8344 -22251374.41649 -17096187.95448 20638048.4074 20638051.8254
+ -276.7644 -215.6574
+ 21659327.9474 -19197955.54849 -14938953.29247 21659327.9594 21659332.6424
+ 1791.3454 1395.8534
+ 21289187.5364 -17710693.91649 -13778685.20547 21289187.6614 21289192.2334
+ 206.5244 160.9324
+ 05 1 20 6 54 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24107323.2894 -7154155.49149 -5556473.26645 24107321.1274 24107327.0274
+ -3684.5694 -2871.0974
+ 22835574.4494 -7514942.68749 -5646680.92547 22835574.6274 22835578.6524
+ -1987.8094 -1548.9364
+ 24468457.6174 -1425378.49449 -1103793.57945 24468456.1624 24468457.3744
+ -327.9844 -255.5814
+ 21565195.4704 -19441651.53749 -15134612.19647 21565194.8894 21565197.8074
+ -2530.7764 -1972.0324
+ 21334602.8514 -19578520.49949 -15240872.73848 21334602.2204 21334606.3364
+ 1572.3794 1225.2314
+ 20639652.0644 -22242946.35749 -17089620.63748 20639651.7584 20639655.8004
+ -285.1034 -222.1554
+ 21649114.6004 -19251630.56749 -14980777.98047 21649113.7024 21649118.6754
+ 1786.9884 1392.4644
+ 21288067.6014 -17716577.60549 -13783269.89247 21288067.9204 21288072.3674
+ 185.7784 144.7624
+ 05 1 20 6 55 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24128372.8834 -7043542.00049 -5470280.96145 24128370.4294 24128374.5374
+ -3689.6154 -2875.0274
+ 22846968.9594 -7455058.04849 -5600017.60046 22846969.1184 22846974.2754
+ -2004.4894 -1561.9444
+ 24470372.6674 -1415311.96449 -1095949.54345 24470371.2744 24470374.7114
+ -343.1414 -267.3804
+ 21579679.6354 -19365534.14449 -15075299.96747 21579679.8324 21579682.5994
+ -2543.7214 -1982.1184
+ 21325657.5014 -19625521.95649 -15277497.23148 21325657.4754 21325661.7714
+ 1561.0574 1216.4104
+ 20641303.4774 -22234267.21349 -17082857.66848 20641303.4284 20641307.2874
+ -293.5014 -228.7024
+ 21638925.2874 -19305174.64749 -15022500.64347 21638924.6844 21638929.8384
+ 1782.6014 1389.0394
+ 21287067.2794 -17721838.83949 -13787369.55747 21287067.4264 21287071.4764
+ 164.9974 128.5674
+ 05 1 20 6 55 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24149446.5984 -6932780.61649 -5383973.34645 24149446.1724 24149451.6044
+ -3694.4964 -2878.8354
+ 22858460.7494 -7394673.60849 -5552964.77546 22858460.3754 22858464.3744
+ -2021.1164 -1574.8894
+ 24472374.0514 -1404789.76249 -1087750.43645 24472373.9384 24472378.4204
+ -358.3454 -279.2344
+ 21594238.9804 -19289029.81149 -15015686.22347 21594238.5364 21594240.7434
+ -2556.5734 -1992.1344
+ 21316777.5304 -19672184.05849 -15313857.30348 21316777.7874 21316782.4274
+ 1549.7584 1207.6044
+ 20643004.1854 -22225336.54349 -17075898.71248 20643003.3004 20643006.8884
+ -301.8774 -235.2274
+ 21628760.5234 -19358587.16749 -15064120.78447 21628760.6194 21628765.6674
+ 1778.2214 1385.6254
+ 21286184.2544 -17726477.17949 -13790983.84047 21286184.2824 21286188.8694
+ 144.2734 112.4204
+ 05 1 20 6 56 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24170551.5194 -6821873.51949 -5297552.17745 24170551.0904 24170556.3144
+ -3699.3344 -2882.6044
+ 22870045.7414 -7333791.06349 -5505523.83046 22870044.9964 22870050.7774
+ -2037.7204 -1587.8334
+ 24474463.6804 -1393813.04949 -1079197.18845 24474463.8094 24474464.9104
+ -373.5044 -291.0444
+ 21608869.2604 -19212139.97349 -14955772.07247 21608869.7884 21608872.4634
+ -2569.4164 -2002.1424
+ 21307962.9784 -19718507.24349 -15349953.28648 21307963.0444 21307967.3824
+ 1538.4444 1198.7894
+ 20644750.6004 -22216153.86149 -17068743.37848 20644750.3314 20644754.3574
+ -310.2954 -241.7904
+ 21618622.2374 -19411867.51049 -15105637.94747 21618621.7444 21618626.5404
+ 1773.7784 1382.1604
+ 21285419.2094 -17730492.45949 -13794112.62847 21285419.8324 21285424.3654
+ 123.4904 96.2274
+ 05 1 20 6 56 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24191685.2274 -6710823.24249 -5211019.43045 24191683.2524 24191689.0344
+ -3704.0094 -2886.2394
+ 22881725.5174 -7272412.61249 -5457696.47046 22881725.1264 22881730.1634
+ -2054.2084 -1600.6734
+ 24476640.2294 -1382382.98949 -1070290.66445 24476639.6364 24476640.6104
+ -388.5534 -302.7754
+ 21623575.5484 -19134866.24749 -14895558.81947 21623574.5764 21623577.6264
+ -2582.1654 -2012.0804
+ 21299212.9464 -19764491.45549 -15385785.13748 21299212.7634 21299216.8004
+ 1527.1494 1189.9844
+ 20646545.9534 -22206718.64949 -17061391.27048 20646545.8574 20646550.1964
+ -318.7114 -248.3454
+ 21608509.0754 -19465015.02049 -15147051.58947 21608508.1924 21608512.8564
+ 1769.3734 1378.7304
+ 21284774.0024 -17733884.06149 -13796755.43847 21284774.3144 21284778.7214
+ 102.7254 80.0414
+ 05 1 20 6 57 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24212845.7054 -6599631.82449 -5124376.74445 24212845.3164 24212849.0474
+ -3708.7284 -2889.9174
+ 22893499.9044 -7210539.91849 -5409483.98346 22893499.9164 22893505.0324
+ -2070.6144 -1613.4554
+ 24478899.3504 -1370500.54349 -1061031.59145 24478901.4134 24478905.1994
+ -403.5744 -314.4754
+ 21638351.6604 -19057210.05349 -14835047.51547 21638351.8384 21638354.4114
+ -2594.8904 -2021.9884
+ 21290526.7204 -19810136.67549 -15421352.83348 21290526.3874 21290530.8184
+ 1515.8644 1181.1944
+ 20648390.0154 -22197030.54149 -17053842.09548 20648389.5184 20648393.2774
+ -327.1424 -254.9124
+ 21598420.3104 -19518029.24949 -15188361.37147 21598419.8424 21598424.8794
+ 1764.9284 1375.2744
+ 21284248.2254 -17736651.75149 -13798912.07047 21284248.4804 21284252.5904
+ 81.9004 63.8194
+ 05 1 20 6 57 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24234027.4554 -6488300.81249 -5037625.26645 24234028.8524 24234032.8724
+ -3713.3394 -2893.5194
+ 22905366.6364 -7148175.16549 -5360888.06546 22905367.2934 22905372.0704
+ -2087.0014 -1626.2454
+ 24481246.5144 -1358167.00949 -1051421.04345 24481246.2934 24481251.4844
+ -418.6014 -326.1854
+ 21653202.1254 -18979173.18849 -14774239.58547 21653201.8114 21653205.0554
+ -2607.5604 -2031.8614
+ 21281904.7024 -19855443.13649 -15456656.55948 21281904.8124 21281909.1584
+ 1504.5614 1172.3814
+ 20650281.8274 -22187089.11949 -17046095.53448 20650281.1384 20650285.0564
+ -335.6244 -261.5294
+ 21588357.0224 -19570909.45549 -15229566.73047 21588356.7964 21588361.6674
+ 1760.4234 1371.7534
+ 21283839.5654 -17738795.29449 -13800582.36947 21283839.8434 21283844.4754
+ 61.0694 47.5804
+ 05 1 20 6 58 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24255241.2384 -6376832.70849 -4950766.93245 24255242.3594 24255243.3774
+ -3717.7944 -2896.9864
+ 22917327.4954 -7085320.34649 -5311910.29746 22917327.9794 22917332.7764
+ -2103.3104 -1638.9454
+ 24483677.2234 -1345383.52949 -1041459.85445 24483678.9704 24483682.7954
+ -433.6084 -337.8714
+ 21668124.2754 -18900757.18249 -14713136.23447 21668123.8564 21668126.5194
+ -2620.1714 -2041.6954
+ 21273348.2884 -19900410.70349 -15491696.21848 21273348.4564 21273352.2534
+ 1493.2714 1163.5894
+ 20652221.2714 -22176893.87549 -17038151.19348 20652221.3464 20652225.3394
+ -344.0754 -268.1064
+ 21578320.4294 -19623655.09249 -15270667.22247 21578319.7424 21578324.9084
+ 1755.9454 1368.2754
+ 21283550.7824 -17740314.25149 -13801765.97247 21283551.0634 21283555.6804
+ 40.2264 31.3454
+ 05 1 20 6 58 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24276479.8234 -6265229.83649 -4863803.62745 24276479.1784 24276482.8554
+ -3722.3284 -2900.5174
+ 22929381.9054 -7021977.59849 -5262552.30246 22929381.6614 22929386.9564
+ -2119.5404 -1651.5814
+ 24486192.9034 -1332151.50149 -1031149.16645 24486194.5754 24486199.8094
+ -448.6084 -349.5564
+ 21683117.5524 -18821963.53449 -14651738.61647 21683117.3404 21683120.6484
+ -2632.7344 -2051.4794
+ 21264855.8664 -19945039.77149 -15526472.11248 21264855.4704 21264859.6484
+ 1481.9634 1154.7794
+ 20654210.4334 -22166444.37249 -17030008.73748 20654210.0614 20654213.5474
+ -352.5744 -274.7304
+ 21568308.6094 -19676265.52149 -15311662.37047 21568308.4474 21568313.1794
+ 1751.4044 1364.7364
+ 21283380.4454 -17741208.39449 -13802462.70747 21283380.6664 21283385.5624
+ 19.4014 15.1184
+ 05 1 20 6 59 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24297741.8904 -6153494.25649 -4776736.86945 24297741.6244 24297743.4434
+ -3726.7314 -2903.9454
+ 22941528.2984 -6958149.38349 -5212816.00746 22941527.7564 22941532.4064
+ -2135.6664 -1664.1604
+ 24488795.9084 -1318471.83649 -1020489.65445 24488798.3844 24488804.6654
+ -463.4984 -361.1734
+ 21698183.5384 -18742794.22949 -14590048.27247 21698183.1574 21698186.1084
+ -2645.2134 -2061.1984
+ 21256426.8044 -19989330.31949 -15560984.22548 21256427.0184 21256431.3304
+ 1470.7144 1146.0144
+ 20656247.1174 -22155740.21349 -17021667.83648 20656246.4854 20656250.5634
+ -361.0354 -281.3234
+ 21558323.0334 -19728740.16749 -15352551.70047 21558322.8244 21558327.5424
+ 1746.8924 1361.2134
+ 21283330.0174 -17741477.54949 -13802672.44547 21283329.2894 21283334.1614
+ -1.4274 -1.1044
+ 05 1 20 6 59 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24319029.6634 -6041627.98749 -4689568.29345 24319028.3184 24319032.7344
+ -3731.0754 -2907.3344
+ 22953764.9204 -6893837.65349 -5162702.97146 22953764.6434 22953769.9334
+ -2151.7554 -1676.7064
+ 24491487.8334 -1304345.99449 -1009482.54445 24491486.5194 24491492.3204
+ -478.3164 -372.7154
+ 21713319.6094 -18663250.67549 -14528066.30147 21713319.9824 21713322.6904
+ -2657.6804 -2070.9124
+ 21248063.0444 -20033282.61849 -15595232.76548 21248062.7584 21248067.2534
+ 1459.4514 1137.2344
+ 20658332.5184 -22144781.08449 -17013128.26948 20658332.1814 20658335.9794
+ -369.5694 -287.9734
+ 21548363.0354 -19781078.23349 -15393334.60947 21548362.8834 21548368.0054
+ 1742.3124 1357.6474
+ 21283396.7094 -17741121.50849 -13802395.00647 21283397.1554 21283401.6344
+ -22.3064 -17.3844
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 7 0 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24340342.3714 -5929633.31349 -4602299.69045 24340342.2194 24340343.1654
+ -3735.3184 -2910.6364
+ 22966096.0604 -6829044.51349 -5112214.83546 22966095.4284 22966100.7254
+ -2167.7794 -1689.1834
+ 24494260.4724 -1289775.41649 -998128.87145 24494259.8754 24494264.4644
+ -493.0294 -384.1804
+ 21728528.4794 -18583334.40649 -14465793.92747 21728528.2304 21728530.3974
+ -2670.0794 -2080.5794
+ 21239764.4094 -20076896.58949 -15629217.67648 21239764.0044 21239767.9404
+ 1448.1624 1128.4394
+ 20660466.8274 -22133566.26049 -17004389.44748 20660466.4254 20660470.3064
+ -378.0984 -294.6194
+ 21538429.6594 -19833279.12849 -15434010.62847 21538429.5694 21538434.9054
+ 1737.7234 1354.0704
+ 21283584.7074 -17740140.00249 -13801630.19447 21283584.7734 21283588.6944
+ -43.1364 -33.6074
+ 05 1 20 7 0 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24361675.6764 -5817512.40149 -4514932.67145 24361674.7034 24361679.7014
+ -3739.4544 -2913.8594
+ 22978517.2354 -6763771.91749 -5061353.07046 22978516.7224 22978520.2174
+ -2183.7174 -1701.5974
+ 24497117.8674 -1274760.92049 -986429.30245 24497117.4924 24497121.8614
+ -507.9134 -395.7724
+ 21743806.6574 -18503047.02449 -14403232.35247 21743806.0944 21743808.4154
+ -2682.4124 -2090.1934
+ 21231528.9904 -20120172.26149 -15662938.96448 21231528.7014 21231532.9554
+ 1436.8874 1119.6524
+ 20662649.2764 -22122095.27549 -16995451.02548 20662649.1544 20662653.0634
+ -386.6424 -301.2794
+ 21528522.3824 -19885342.25249 -15474579.29447 21528521.8654 21528527.4144
+ 1733.1444 1350.4994
+ 21283888.9994 -17738532.96549 -13800377.95647 21283889.9454 21283894.6634
+ -63.9894 -49.8674
+ 05 1 20 7 1 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24383034.8744 -5705267.18749 -4427468.80345 24383034.9334 24383041.4244
+ -3743.5054 -2917.0204
+ 22991028.2434 -6698022.15449 -5010119.46846 22991028.2864 22991032.4744
+ -2199.5884 -1713.9734
+ 24500059.2844 -1259303.80849 -974384.79045 24500057.3704 24500061.9594
+ -522.6004 -407.2234
+ 21759154.0744 -18422390.49749 -14340383.14547 21759154.1884 21759156.8084
+ -2694.6884 -2099.7584
+ 21223358.4354 -20163109.91149 -15696396.87948 21223358.0464 21223362.2144
+ 1425.6074 1110.8594
+ 20664881.4544 -22110367.69649 -16986312.65348 20664880.8764 20664884.4494
+ -395.2154 -307.9634
+ 21518641.3974 -19937266.95049 -15515040.09847 21518641.2674 21518646.6314
+ 1728.4874 1346.8724
+ 21284314.4364 -17736300.13149 -13798638.08347 21284315.3374 21284319.5274
+ -84.8124 -66.0884
+ 05 1 20 7 1 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24404416.7904 -5592899.75149 -4339909.73945 24404417.5044 24404422.7784
+ -3747.4514 -2920.0914
+ 23003630.9744 -6631797.27349 -4958515.69046 23003630.0444 23003635.4974
+ -2215.3934 -1726.2774
+ 24503084.2964 -1243405.61549 -961996.63945 24503084.3694 24503088.2744
+ -537.3204 -418.6934
+ 21774571.6324 -18341366.54749 -14277247.62747 21774572.1334 21774575.8744
+ -2706.9224 -2109.2934
+ 21215250.8014 -20205709.72349 -15729591.52748 21215250.9914 21215255.6484
+ 1414.3784 1102.1114
+ 20667161.9794 -22098383.05149 -16976973.98748 20667161.6594 20667165.2514
+ -403.7764 -314.6334
+ 21508787.2324 -19989052.43149 -15555392.42347 21508786.9874 21508792.3284
+ 1723.8504 1343.2624
+ 21284858.4884 -17733441.69449 -13796410.73147 21284858.8764 21284863.3914
+ -105.6944 -82.3654
+ 05 1 20 7 2 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24425823.3594 -5480412.39749 -4252257.22745 24425823.9994 24425828.6454
+ -3751.5254 -2923.2694
+ 23016323.2854 -6565099.62449 -4906543.49546 23016322.8584 23016327.8124
+ -2231.1094 -1738.5214
+ 24506195.1194 -1227067.68749 -949265.72245 24506193.3264 24506197.1894
+ -552.0374 -430.1584
+ 21790060.6584 -18259976.76549 -14213827.06747 21790060.5634 21790063.4914
+ -2719.0724 -2118.7534
+ 21207209.4224 -20247971.85749 -15762523.05448 21207209.2954 21207213.3474
+ 1403.1154 1093.3384
+ 20669491.5724 -22086140.88649 -16967434.64648 20669491.3144 20669495.1084
+ -412.3734 -321.3284
+ 21498959.5124 -20040698.06649 -15595635.77847 21498959.0974 21498964.3524
+ 1719.1734 1339.6194
+ 21285521.8044 -17729957.35049 -13793695.65847 21285521.8544 21285526.6084
+ -126.5604 -98.6164
+ 05 1 20 7 2 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24447251.4084 -5367807.36449 -4164512.99045 24447251.2274 24447255.0264
+ -3755.4164 -2926.2944
+ 23029105.1494 -6497931.28249 -4854204.53546 23029104.5004 23029109.4914
+ -2246.7824 -1750.7374
+ 24509386.4394 -1210291.08949 -936193.05445 24509385.1174 24509390.8304
+ -566.5684 -441.4774
+ 21805618.6944 -18178222.87549 -14150122.77147 21805618.2284 21805620.5394
+ -2731.1934 -2128.1954
+ 21199231.5944 -20289896.81349 -15795191.83748 21199231.2664 21199235.5584
+ 1391.8694 1084.5734
+ 20671870.2734 -22073640.67749 -16957694.23048 20671869.9114 20671873.8644
+ -420.9944 -328.0464
+ 21489158.9774 -20092203.06249 -15635769.53247 21489158.0544 21489163.2904
+ 1714.4614 1335.9454
+ 21286303.3474 -17725847.15249 -13790492.90447 21286304.0394 21286308.7514
+ -147.4224 -114.8664
+ 05 1 20 7 3 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24468700.1184 -5255086.51249 -4076678.51945 24468700.9894 24468706.7124
+ -3759.2134 -2929.2524
+ 23041976.3324 -6430294.59349 -4801500.59946 23041975.4884 23041980.3444
+ -2262.3304 -1762.8564
+ 24512659.2584 -1193077.47649 -922779.88045 24512660.4804 24512666.7944
+ -581.0294 -452.7514
+ 21821244.8084 -18096106.38749 -14086135.93547 21821244.6574 21821246.7514
+ -2743.2384 -2137.5904
+ 21191317.5344 -20331484.35549 -15827597.71148 21191317.7254 21191321.8724
+ 1380.6454 1075.8294
+ 20674298.1924 -22060881.91449 -16947752.34148 20674297.7824 20674301.4944
+ -429.5864 -334.7424
+ 21479383.7554 -20143566.76849 -15675793.19747 21479383.9294 21479388.9204
+ 1709.7764 1332.2954
+ 21287204.7594 -17721111.14149 -13786802.50447 21287205.1224 21287209.9144
+ -168.2424 -131.0984
+ 05 1 20 7 3 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24490172.3884 -5142251.80649 -3988755.36045 24490173.3004 24490178.4834
+ -3763.0144 -2932.2144
+ 23054935.0444 -6362191.74749 -4748433.45846 23054935.0444 23054940.6684
+ -2277.8714 -1774.9634
+ 24516019.1574 -1175428.48649 -909027.41845 24516019.0894 24516023.3844
+ -595.5514 -464.0624
+ 21836939.6814 -18013629.07549 -14021867.92447 21836939.4024 21836941.9974
+ -2755.2324 -2146.9334
+ 21183467.6204 -20372734.83849 -15859740.93348 21183467.6104 21183472.1484
+ 1369.3984 1067.0634
+ 20676776.0314 -22047864.32049 -16937608.76148 20676774.9364 20676778.8964
+ -438.2554 -341.4964
+ 21469636.9474 -20194788.64849 -15715706.35147 21469636.9004 21469641.2264
+ 1705.0134 1328.5804
+ 21288226.0384 -17715749.25049 -13782624.40547 21288226.5694 21288230.1254
+ -189.1454 -147.3824
+ 05 1 20 7 4 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24511667.7284 -5029305.57349 -3900745.29745 24511667.2614 24511669.9804
+ -3766.6514 -2935.0524
+ 23067982.2804 -6293624.84849 -4695004.71746 23067982.0934 23067986.2164
+ -2293.3044 -1786.9974
+ 24519463.0994 -1157345.19949 -894936.55145 24519459.7334 24519464.3304
+ -610.0214 -475.3394
+ 21852702.2944 -17930792.86249 -13957320.26947 21852702.3864 21852705.2804
+ -2767.1674 -2156.2304
+ 21175682.2174 -20413648.26249 -15891621.52648 21175682.1244 21175686.4464
+ 1358.1614 1058.3074
+ 20679301.9574 -22034587.15249 -16927262.93048 20679301.6104 20679305.5194
+ -446.8954 -348.2304
+ 21459917.1224 -20245867.92049 -15755508.38147 21459916.5574 21459921.4534
+ 1700.2524 1324.8774
+ 21289364.9534 -17709761.48449 -13777958.61647 21289364.9344 21289369.4294
+ -210.0064 -163.6384
+ 05 1 20 7 4 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24533179.1034 -4916250.17249 -3812650.15745 24533178.0664 24533183.9254
+ -3770.3494 -2937.9324
+ 23081119.6914 -6224595.93849 -4641215.96446 23081118.9094 23081123.0084
+ -2308.6254 -1798.9334
+ 24522982.5844 -1138829.11049 -880508.39645 24522984.4014 24522988.8654
+ -624.3634 -486.5204
+ 21868533.7214 -17847599.56849 -13892494.34247 21868533.3184 21868536.8174
+ -2779.0564 -2165.5024
+ 21167960.8094 -20454225.16949 -15923239.89448 21167960.6184 21167964.5664
+ 1346.9464 1049.5684
+ 20681877.8434 -22021050.05549 -16916714.55248 20681877.6294 20681881.5424
+ -455.6004 -355.0134
+ 21450223.8484 -20296803.92049 -15795198.76647 21450223.6874 21450228.6874
+ 1695.4764 1321.1464
+ 21290623.3934 -17703148.07149 -13772805.31047 21290623.7044 21290628.3554
+ -230.8624 -179.8914
+ 05 1 20 7 5 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24554715.3124 -4803087.68249 -3724471.58245 24554712.6634 24554719.8094
+ -3773.8474 -2940.6604
+ 23094341.3134 -6155107.78649 -4587069.30046 23094341.6134 23094344.6244
+ -2323.9054 -1810.8414
+ 24526591.9914 -1119881.31349 -865743.90445 24526590.2314 24526594.2604
+ -638.7954 -497.7584
+ 21884432.0874 -17764050.84549 -13827391.46347 21884432.3134 21884435.4654
+ -2790.8764 -2174.7084
+ 21160302.6864 -20494465.90749 -15954596.31348 21160302.8844 21160307.0644
+ 1335.7614 1040.8564
+ 20684503.4784 -22007252.64749 -16905963.33248 20684503.0454 20684506.7104
+ -464.2634 -361.7654
+ 21440558.6064 -20347595.95649 -15834776.96748 21440558.3464 21440563.5144
+ 1690.6524 1317.3834
+ 21292000.0324 -17695908.97549 -13767164.46847 21292000.9954 21292005.3394
+ -251.7034 -196.1324
+ 05 1 20 7 5 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24576271.7464 -4689820.24649 -3636211.26645 24576269.5384 24576274.4034
+ -3777.3034 -2943.3514
+ 23107652.3044 -6085162.57249 -4532566.53246 23107651.7114 23107655.6654
+ -2339.0914 -1822.6694
+ 24530278.8674 -1100503.60549 -850644.40645 24530278.5264 24530280.4864
+ -653.0974 -508.9034
+ 21900398.7904 -17680148.51849 -13762013.04547 21900399.0304 21900400.9614
+ -2802.6164 -2183.8554
+ 21152709.1974 -20534370.38349 -15985690.71648 21152709.2664 21152713.6444
+ 1324.5544 1032.1244
+ 20687178.1994 -21993194.38749 -16895008.85548 20687178.1574 20687182.0194
+ -472.9554 -368.5364
+ 21430921.4444 -20398243.33549 -15874242.45448 21430920.7194 21430925.6884
+ 1685.8264 1313.6324
+ 21293497.7764 -17688044.49449 -13761036.29347 21293497.9524 21293502.4034
+ -272.5494 -212.3714
+ 05 1 20 7 6 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24597843.1844 -4576450.12449 -3547870.90445 24597842.2074 24597845.3004
+ -3780.5654 -2945.8934
+ 23121049.6024 -6014762.42049 -4477709.28146 23121049.2634 23121054.0654
+ -2354.2294 -1834.4694
+ 24534048.9594 -1080697.48949 -835211.11445 24534046.8534 24534050.3194
+ -667.3474 -520.0154
+ 21916431.3724 -17595894.36949 -13696360.48447 21916431.2104 21916434.2344
+ -2814.3014 -2192.9594
+ 21145179.5974 -20573938.87649 -16016523.30948 21145179.4064 21145184.2424
+ 1313.3554 1023.3914
+ 20689903.8614 -21978874.72049 -16883850.68348 20689903.3284 20689907.1544
+ -481.6804 -375.3404
+ 21421310.9764 -20448745.33349 -15913594.66848 21421310.4594 21421315.3244
+ 1680.9634 1309.8374
+ 21295113.6814 -17679554.47949 -13754420.70047 21295113.6604 21295117.3574
+ -293.3874 -228.6144
+ 05 1 20 7 6 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24619436.2594 -4462979.16349 -3459451.94845 24619433.0914 24619437.6564
+ -3784.0524 -2948.6174
+ 23134532.3324 -5943909.86249 -4422499.52946 23134531.0384 23134535.7574
+ -2369.2594 -1846.1764
+ 24537898.8084 -1060464.44249 -819445.14445 24537896.3744 24537898.4984
+ -681.6764 -531.1724
+ 21932530.8914 -17511290.20049 -13630435.19347 21932531.2054 21932534.1144
+ -2825.9494 -2202.0364
+ 21137714.0764 -20613171.59049 -16047094.25448 21137713.9634 21137718.5874
+ 1302.1744 1014.6814
+ 20692677.9104 -21964293.22249 -16872488.48948 20692677.7984 20692681.8504
+ -490.4164 -382.1444
+ 21411728.5724 -20499101.11849 -15952832.94548 21411728.1034 21411733.3424
+ 1676.0744 1306.0314
+ 21296847.2094 -17670439.30649 -13747317.97147 21296848.0234 21296852.7244
+ -314.2034 -244.8314
+ 05 1 20 7 7 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24641046.9174 -4349409.75149 -3370956.26845 24641046.6544 24641051.7954
+ -3787.2594 -2951.1094
+ 23148098.4284 -5872607.11249 -4366938.94246 23148098.3654 23148104.1044
+ -2384.2594 -1857.8524
+ 24541827.4184 -1039805.87949 -803347.57645 24541827.7504 24541831.8064
+ -695.7574 -542.1514
+ 21948695.8954 -17426337.66749 -13564238.43747 21948696.5524 21948699.6284
+ -2837.5424 -2211.0684
+ 21130311.9664 -20652068.58049 -16077403.60048 21130312.1724 21130316.5224
+ 1290.9574 1005.9464
+ 20695503.3304 -21949449.45849 -16860921.93348 20695502.8804 20695506.4834
+ -499.1864 -388.9724
+ 21402173.6434 -20549309.93849 -15991956.69848 21402173.5404 21402178.7264
+ 1671.1534 1302.2024
+ 21298701.6664 -17660699.15449 -13739728.23747 21298701.6214 21298705.5294
+ -335.0694 -261.0924
+ 05 1 20 7 7 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24662675.5594 -4235744.11849 -3282385.61445 24662676.1874 24662680.6864
+ -3790.4204 -2953.5734
+ 23161753.9704 -5800856.41749 -4311029.29446 23161753.7684 23161758.4604
+ -2399.1564 -1869.4734
+ 24545842.5404 -1018723.14149 -786919.44745 24545840.1844 24545843.0864
+ -709.8224 -553.1124
+ 21964928.7804 -17341038.78349 -13497771.79547 21964928.8554 21964932.0514
+ -2849.0324 -2220.0224
+ 21122974.2654 -20690630.47849 -16107451.82648 21122974.3044 21122978.1454
+ 1279.8004 997.2444
+ 20698378.0944 -21934342.77649 -16849150.50448 20698377.5484 20698381.5264
+ -507.9424 -395.8014
+ 21392647.4934 -20599371.02049 -16030965.33848 21392647.2444 21392652.3364
+ 1666.2334 1298.3594
+ 21300673.9174 -17650334.19449 -13731651.64347 21300673.9504 21300678.5974
+ -355.8644 -277.2984
+ 05 1 20 7 8 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24684322.8314 -4121984.45548 -3193741.72645 24684321.0644 24684327.9884
+ -3793.4844 -2955.9624
+ 23175491.9024 -5728659.88849 -4254772.26446 23175491.5284 23175496.8794
+ -2413.9674 -1881.0104
+ 24549934.1404 -997218.12749 -770162.27745 24549933.5304 24549936.7194
+ -723.8414 -564.0314
+ 21981227.4464 -17255395.30149 -13431036.64947 21981226.3694 21981229.7604
+ -2860.5224 -2228.9794
+ 21115700.2574 -20728857.49249 -16137239.11148 21115699.9944 21115703.9404
+ 1268.6624 988.5694
+ 20701302.5944 -21918973.00049 -16837174.06348 20701302.1924 20701306.2084
+ -516.7224 -402.6364
+ 21383149.5984 -20649283.54549 -16069858.21948 21383149.0154 21383154.3304
+ 1661.2654 1294.4924
+ 21302763.8874 -17639344.79149 -13723088.46847 21302764.3724 21302769.5044
+ -376.6864 -293.5134
+ 05 1 20 7 8 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24705989.4734 -4008132.75548 -3105026.09345 24705989.3224 24705994.9984
+ -3796.5454 -2958.3514
+ 23189315.3214 -5656020.00049 -4198169.77646 23189315.0504 23189319.7434
+ -2428.6764 -1892.4834
+ 24554104.5594 -975292.11049 -753077.08545 24554104.8014 24554108.7014
+ -737.8654 -574.9644
+ 21997589.6424 -17169409.09849 -13364034.44447 21997589.5384 21997592.1474
+ -2871.8864 -2237.8294
+ 21108488.5254 -20766750.07549 -16166765.79148 21108489.0044 21108493.2174
+ 1257.5094 979.8774
+ 20704277.6064 -21903339.50149 -16824992.11748 20704277.1874 20704281.0774
+ -525.5094 -409.4904
+ 21373679.5644 -20699046.85649 -16108634.82448 21373679.3474 21373684.5674
+ 1656.2954 1290.6204
+ 21304974.4124 -17627731.31549 -13714039.01647 21304975.0994 21304979.8894
+ -397.4774 -309.7194
+ 05 1 20 7 9 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24727670.4754 -3894190.86848 -3016240.22944 24727670.4234 24727678.0484
+ -3799.5824 -2960.7054
+ 23203220.8464 -5582939.21449 -4141223.72846 23203220.6364 23203227.0134
+ -2443.3774 -1903.9334
+ 24558355.4974 -952946.62049 -735664.99445 24558356.2754 24558360.7594
+ -751.8824 -585.8774
+ 22014016.7204 -17083082.03149 -13296766.63147 22014016.5664 22014019.7234
+ -2883.2174 -2246.6594
+ 21101341.8454 -20804308.14849 -16196031.82648 21101341.6274 21101346.4414
+ 1246.3664 971.1934
+ 20707302.9954 -21887441.67549 -16812604.21948 20707302.2954 20707306.7244
+ -534.3494 -416.3734
+ 21364238.5054 -20748660.19449 -16147294.57548 21364238.1734 21364243.2544
+ 1651.2794 1286.7164
+ 21307302.7404 -17615494.06349 -13704503.49247 21307303.1774 21307308.2494
+ -418.2674 -325.9204
+ 05 1 20 7 9 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24749370.9554 -3780161.11849 -2927385.88044 24749370.5814 24749378.1804
+ -3802.4864 -2962.9634
+ 23217213.5004 -5509419.87349 -4083935.90746 23217212.0494 23217216.0394
+ -2457.9214 -1915.2424
+ 24562690.3424 -930183.53949 -717927.57545 24562689.2114 24562690.9814
+ -765.8324 -596.7474
+ 22030508.7724 -16996415.87749 -13229234.59147 22030508.6904 22030511.5184
+ -2894.5094 -2255.4624
+ 21094258.6704 -20841532.09649 -16225037.50148 21094258.7834 21094262.4404
+ 1235.2404 962.5244
+ 20710378.4764 -21871279.20249 -16800010.09048 20710378.0654 20710381.9674
+ -543.1584 -423.2404
+ 21354825.9944 -20798122.82649 -16185836.88348 21354825.8784 21354830.7244
+ 1646.2304 1282.7774
+ 21309751.0024 -17602633.34649 -13694482.16947 21309751.5524 21309755.3604
+ -439.0724 -342.1344
+ 05 1 20 7 10 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24771086.0334 -3666045.85948 -2838465.00544 24771085.6054 24771093.3444
+ -3805.0084 -2964.9444
+ 23231283.7904 -5435464.36349 -4026308.25046 23231284.4874 23231291.1694
+ -2472.4564 -1926.5904
+ 24567099.8494 -907004.33349 -699865.81445 24567099.4924 24567102.1504
+ -779.4924 -607.4034
+ 22047065.8174 -16909412.55349 -13161439.80247 22047065.2394 22047067.6864
+ -2905.7034 -2264.1744
+ 21087238.4754 -20878422.34249 -16253783.14448 21087238.5744 21087242.6724
+ 1224.1064 953.8504
+ 20713504.5644 -21854851.42049 -16787209.22648 20713504.2454 20713508.0564
+ -552.0294 -430.1494
+ 21345443.5324 -20847433.88949 -16224261.08548 21345442.7094 21345447.3294
+ 1641.1594 1278.8264
+ 21312316.6674 -17589149.47249 -13683975.24647 21312317.0874 21312321.0754
+ -459.8034 -358.2914
+ 05 1 20 7 10 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24792822.4624 -3551847.12748 -2749479.07744 24792821.4234 24792819.4974
+ -3807.9554 -2967.2404
+ 23245441.3324 -5361075.03549 -3968342.54346 23245440.1794 23245445.5734
+ -2486.8754 -1937.8274
+ 24571589.5504 -883410.57449 -681481.06645 24571589.7564 24571594.3364
+ -793.4014 -618.2364
+ 22063685.1214 -16822073.95949 -13093383.78547 22063685.3984 22063688.4284
+ -2916.8744 -2272.8884
+ 21080282.6984 -20914979.09249 -16282268.91448 21080282.2574 21080286.1194
+ 1212.9844 945.1784
+ 20716681.4324 -21838158.02849 -16774201.39548 20716680.9174 20716684.6444
+ -560.9034 -437.0724
+ 21336088.6484 -20896592.64049 -16262566.60648 21336088.0974 21336092.8704
+ 1636.0584 1274.8514
+ 21315001.4344 -17575042.80949 -13672983.04047 21315001.3784 21315005.5514
+ -480.5874 -374.4854
+ 05 1 20 7 11 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24814570.8094 -3437567.18148 -2660429.78044 24814561.3554
+ -3810.6544 -2969.3484
+ 23259680.0844 -5286254.23549 -3910040.64046 23259678.9684 23259684.2994
+ -2501.1994 -1948.9854
+ 24576158.8994 -859403.92249 -662774.63245 24576158.4074 24576159.8174
+ -807.0864 -628.8954
+ 22080368.5084 -16734402.03349 -13025068.01647 22080368.2764 22080371.0624
+ -2927.9174 -2281.4914
+ 21073388.7414 -20951202.71049 -16310495.11048 21073388.7024 21073393.1614
+ 1201.9114 936.5574
+ 20719908.6394 -21821198.59449 -16760986.25648 20719908.1674 20719911.9084
+ -569.7554 -443.9624
+ 21326763.0004 -20945598.25449 -16300752.79948 21326762.5424 21326767.7134
+ 1630.9654 1270.8834
+ 21317804.1534 -17560313.90249 -13661505.98347 21317804.3384 21317808.6384
+ -501.2914 -390.6144
+ 05 1 20 7 11 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24836324.8914 -3323208.66658 -2571319.13354 24836321.4374
+ -3813.2134 -2971.3444
+ 23273997.2484 -5211004.54749 -3851404.51546 23273998.4134 23274003.9134
+ -2515.4164 -1960.0654
+ 24580805.4674 -834986.11349 -643747.75045 24580804.3924 24580807.5234
+ -820.7804 -639.5644
+ 22097114.7954 -16646398.65549 -12956493.98347 22097114.9444 22097117.3814
+ -2938.9234 -2290.0694
+ 21066559.5084 -20987093.69549 -16338462.11448 21066559.0534 21066563.5314
+ 1190.8294 927.9174
+ 20723186.6364 -21803972.47249 -16747563.30248 20723186.4494 20723189.7504
+ -578.6414 -450.8914
+ 21317466.3334 -20994449.98049 -16338819.07948 21317466.3424 21317471.4304
+ 1625.8194 1266.8674
+ 21320724.3584 -17544963.20349 -13649544.40447 21320724.8454 21320729.9094
+ -521.9764 -406.7364
+ 05 1 20 7 12 0.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24858104.8364 -3208772.37258 -2482147.97254 24858102.1554
+ -3815.7834 -2973.3394
+ 23288399.4164 -5135328.36149 -3792436.08946 23288399.0574 23288402.7394
+ -2529.6454 -1971.1504
+ 24585529.6384 -810158.60249 -624401.65545 24585528.0324 24585529.8894
+ -834.3934 -650.1754
+ 22113923.6954 -16558065.67049 -12887663.10747 22113923.5894 22113927.1534
+ -2949.8904 -2298.6114
+ 21059791.7954 -21022652.21049 -16366170.04348 21059792.0304 21059796.8284
+ 1179.7414 919.2814
+ 20726515.6804 -21786479.08549 -16733932.09448 20726515.1334 20726519.0674
+ -587.5654 -457.8414
+ 21308199.7664 -21043146.90249 -16376764.73248 21308199.4074 21308204.8764
+ 1620.6484 1262.8454
+ 21323764.5254 -17528991.19449 -13637098.68147 21323764.3144 21323768.9394
+ -542.7224 -422.9024
+ 05 1 20 7 12 30.0000000 0 8G18G 5G11G22G25G14G 1G30
+ 24879897.2514 -3094262.45558 -2392919.55054 24879888.7864
+ -3818.3734 -2975.3674
+ 23302879.4804 -5059228.07549 -3733137.15946 23302880.5064 23302884.6654
+ -2543.7364 -1982.1194
+ 24590331.8734 -784923.08449 -604737.57845 24590331.0574 24590333.7984
+ -847.9474 -660.7414
+ 22130795.6724 -16469405.10049 -12818576.98847 22130795.5224 22130798.7044
+ -2960.7954 -2307.1104
+ 21053089.5994 -21057878.79949 -16393619.34248 21053089.3354 21053093.4884
+ 1168.6874 910.6704
+ 20729895.0404 -21768718.18149 -16720092.44148 20729894.7694 20729898.7354
+ -596.5114 -464.8114
+ 21298962.8684 -21091688.35649 -16414589.23948 21298962.3994 21298967.9164
+ 1615.4534 1258.7954
+ 21326922.6844 -17512398.36749 -13624169.21247 21326922.3284 21326926.7084
+ -563.4254 -439.0304
+ 05 1 20 7 13 0.0000000 0 7G 5G11G22G25G14G 1G30
+ 23317444.3584 -4982706.09949 -3673509.65546 23317443.3954 23317447.2914
+ -2557.7434 -1993.0514
+ 24595209.1244 -759281.42249 -584757.08845 24595209.9364 24595214.6044
+ -861.4924 -671.2924
+ 22147729.1504 -16380418.88049 -12749237.09847 22147729.0514 22147731.9494
+ -2971.6234 -2315.5534
+ 21046449.4414 -21092773.58549 -16420810.07348 21046449.1214 21046453.2324
+ 1157.6334 902.0524
+ 20733325.6134 -21750689.26049 -16706043.93948 20733325.6724 20733329.4314
+ -605.4424 -471.7764
+ 21289755.2314 -21140073.50849 -16452291.96048 21289755.1064 21289760.3084
+ 1610.2054 1254.7054
+ 21330197.7724 -17495185.15149 -13610756.31847 21330197.8414 21330202.3974
+ -584.0984 -455.1424
+ 05 1 20 7 13 30.0000000 0 7G 5G11G22G25G14G 1G30
+ 23332083.3414 -4905764.79749 -3613555.37246 23332083.5544 23332089.2474
+ -2571.6854 -2003.9114
+ 24600167.4974 -733235.46849 -564461.60145 24600165.7464 24600171.1754
+ -874.8894 -681.7304
+ 22164724.8314 -16291109.03349 -12679645.03047 22164723.8364 22164727.6004
+ -2982.3884 -2323.9404
+ 21039871.8024 -21127337.21349 -16447742.77048 21039871.7904 21039875.9134
+ 1146.5994 893.4584
+ 20736808.0424 -21732391.79249 -16691786.17548 20736807.2584 20736811.5954
+ -614.4174 -478.7634
+ 21280578.4564 -21188301.47749 -16489872.20048 21280577.9194 21280582.5924
+ 1604.9494 1250.6144
+ 21333591.4994 -17477352.34849 -13596860.62347 21333591.1324 21333595.5244
+ -604.7294 -471.2134
+ 05 1 20 7 14 0.0000000 0 7G 5G11G22G25G14G 1G30
+ 23346804.9074 -4828406.62849 -3553276.30146 23346805.1764 23346808.4984
+ -2585.5244 -2014.6934
+ 24605199.4494 -706786.68749 -543852.17945 24605198.8394 24605203.7604
+ -888.3754 -692.2504
+ 22181781.4574 -16201477.12449 -12609802.00247 22181780.7984 22181783.6254
+ -2993.0844 -2332.2784
+ 21033356.3744 -21161569.80049 -16474417.52548 21033356.5194 21033361.6844
+ 1135.5834 884.8734
+ 20740341.0594 -21713825.20549 -16677318.71548 20740340.7984 20740344.6414
+ -623.3924 -485.7624
+ 21271430.0914 -21236371.46649 -16527329.33748 21271430.1974 21271435.2724
+ 1599.6734 1246.4964
+ 21337102.7014 -17458900.29549 -13582482.40447 21337102.8084 21337107.3304
+ -625.3654 -487.2884
+ 05 1 20 7 14 30.0000000 0 7G 5G11G22G25G14G 1G30
+ 23361604.4724 -4750634.18949 -3492674.38346 23361603.7114 23361609.0244
+ -2599.3264 -2025.4624
+ 24610311.6934 -679936.76149 -522930.14445 24610309.6434 24610313.0884
+ -901.7004 -702.6374
+ 22198898.0734 -16111525.53049 -12539709.85647 22198898.2034 22198900.3064
+ -3003.6884 -2340.5424
+ 21026905.5484 -21195471.74249 -16500834.62948 21026905.7204 21026910.1814
+ 1124.5654 876.2834
+ 20743925.6774 -21694989.18149 -16662641.30048 20743925.0214 20743928.7184
+ -632.3624 -492.7584
+ 21262313.8304 -21284282.60849 -16564662.69548 21262313.0284 21262317.9234
+ 1594.3874 1242.3784
+ 21340732.1914 -17439829.78449 -13567622.27647 21340731.4324 21340735.9064
+ -645.9604 -503.3504
+ 05 1 20 7 15 0.0000000 0 7G 5G11G22G25G14G 1G30
+ 23376481.8824 -4672449.72749 -3431751.41446 23376481.7864 23376486.3294
+ -2613.0154 -2036.1154
+ 24615495.0884 -652687.64449 -501697.05045 24615495.4784 24615499.6114
+ -914.8504 -712.8694
+ 22216076.6444 -16021256.06249 -12469370.02947 22216075.8344 22216079.0074
+ -3014.2544 -2348.7654
+ 21020517.3184 -21229043.55149 -16526994.47148 21020517.5374 21020522.1114
+ 1113.5704 867.7194
+ 20747561.1704 -21675883.03449 -16647753.38548 20747560.7874 20747564.8994
+ -641.3684 -499.7654
+ 21253226.6344 -21332034.17049 -16601871.71048 21253226.2654 21253231.1374
+ 1589.0434 1238.2194
+ 21344477.6764 -17420141.36149 -13552280.65747 21344478.2234 21344482.1854
+ -666.5574 -519.3894
+ 05 1 20 7 15 30.0000000 0 7G 5G11G22G25G14G 1G30
+ 23391437.6984 -4593855.70449 -3370509.33946 23391436.4284 23391442.3664
+ -2626.5884 -2046.6904
+ 24620754.2614 -625041.12149 -480154.28445 24620754.8524 24620758.2414
+ -928.1444 -723.2334
+ 22233313.6094 -15930670.72449 -12398784.06747 22233313.5364 22233315.7054
+ -3024.7574 -2356.9534
+ 21014192.6094 -21262285.52249 -16552897.31248 21014192.4214 21014196.2984
+ 1102.5704 859.1434
+ 20751248.6304 -21656506.29749 -16632654.62948 20751248.2934 20751251.8324
+ -650.4134 -506.8144
+ 21244170.0064 -21379625.17849 -16638955.61248 21244169.9464 21244174.8294
+ 1583.6894 1234.0464
+ 21348342.8254 -17399835.70549 -13536458.07347 21348342.7394 21348346.7434
+ -687.1114 -535.4114
+ 05 1 20 7 16 0.0000000 0 7G 5G11G22G25G14G 1G30
+ 23406472.1804 -4514854.84149 -3308950.25746 23406472.1584 23406476.7424
+ -2640.1334 -2057.2394
+ 24626093.7784 -596998.86349 -458303.17345 24626092.7084 24626095.3364
+ -941.4064 -733.5604
+ 22250610.8104 -15839771.60349 -12327953.60547 22250611.0154 22250614.0894
+ -3035.1844 -2365.0784
+ 21007928.3754 -21295198.18349 -16578543.54048 21007928.4454 21007932.8634
+ 1091.5944 850.5904
+ 20754987.2044 -21636858.58549 -16617344.72148 20754986.6834 20754990.6314
+ -659.4604 -513.8654
+ 21235144.6864 -21427054.82749 -16675913.78548 21235144.2814 21235149.4314
+ 1578.2704 1229.8224
+ 21352323.8714 -17378913.69349 -13520155.19147 21352323.5344 21352327.6774
+ -707.6604 -551.4234
+ 05 1 20 7 16 30.0000000 0 7G 5G11G22G25G14G 1G30
+ 23421582.0274 -4435449.37549 -3247075.89246 23421581.0684 23421586.6494
+ -2653.5724 -2067.7144
+ 24631504.1214 -568562.83549 -436145.28045 24631502.6264 24631506.6654
+ -954.4314 -743.7104
+ 22267968.1344 -15748560.52449 -12256880.04947 22267967.8604 22267970.9654
+ -3045.5644 -2373.1644
+ 21001727.6584 -21327781.77349 -16603933.35448 21001727.6414 21001732.3144
+ 1080.6324 842.0494
+ 20758777.4854 -21616939.55249 -16601823.40348 20758777.3054 20758781.3014
+ -668.5074 -520.9144
+ 21226150.5144 -21474322.18549 -16712745.49248 21226150.0084 21226154.7184
+ 1572.8514 1225.5954
+ 21356421.1134 -17357376.07249 -13503372.63347 21356421.4914 21356425.9924
+ -728.1904 -567.4264
+ 05 1 20 7 17 0.0000000 0 7G 5G11G22G25G14G 1G30
+ 23436769.2104 -4355642.02749 -3184888.32246 23436767.7464 23436773.6334
+ -2666.9234 -2078.1294
+ 24636987.5174 -539734.63249 -413681.75745 24636989.1344 24636993.4054
+ -967.5264 -753.9124
+ 22285383.7604 -15657039.62349 -12185565.08447 22285383.7724 22285385.9574
+ -3055.8374 -2381.1674
+ 20995590.2764 -21360036.91349 -16629067.22748 20995590.4424 20995594.5824
+ 1069.6964 833.5294
+ 20762620.5414 -21596748.46649 -16586090.08748 20762619.7184 20762623.2894
+ -677.5654 -527.9734
+ 21217186.9634 -21521426.36649 -16749450.05348 21217186.1694 21217191.1174
+ 1567.4134 1221.3664
+ 21360637.3974 -17335223.32749 -13486110.76447 21360637.8574 21360641.3774
+ -748.6484 -583.3634
+ 05 1 20 7 17 30.0000000 0 7G 5G11G22G25G14G 1G30
+ 23452031.6754 -4275435.43749 -3122389.67846 23452031.6094 23452036.2884
+ -2680.1564 -2088.4284
+ 24642548.9154 -510516.21649 -390914.13945 24642549.5344 24642553.4254
+ -980.4884 -764.0234
+ 22302858.7034 -15565210.74749 -12114010.12447 22302858.0144 22302860.9314
+ -3066.0744 -2389.1504
+ 20989515.4154 -21391963.90049 -16653945.40048 20989515.2184 20989519.1564
+ 1058.7734 825.0204
+ 20766514.0864 -21576285.06349 -16570144.57848 20766513.8924 20766517.3564
+ -686.6654 -535.0644
+ 21208253.6894 -21568366.61049 -16786026.87648 21208253.5464 21208258.6464
+ 1561.9374 1217.0944
+ 21364970.4564 -17312456.19349 -13468370.13147 21364970.3734 21364974.0294
+ -769.0974 -599.2984
+ 05 1 20 7 18 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23467370.3664 -4194831.97949 -3059581.78246 23467370.2314 23467374.9234
+ -2693.3724 -2098.7284
+ 24648181.3634 -480909.34649 -367843.87445 24648181.2014 24648187.8974
+ -993.3814 -774.0604
+ 22320390.5594 -15473076.17749 -12042216.98047 22320391.0124 22320394.0384
+ -3076.2314 -2397.0614
+ 20983501.0674 -21423563.16349 -16678568.20548 20983501.1894 20983505.9754
+ 1047.8424 816.5004
+ 20770460.2724 -21555548.73249 -16553986.39648 20770459.6834 20770463.6034
+ -695.7774 -542.1654
+ 24614675.5914 -240751.29349 -167335.66044
+ 3442.5874 2682.3694
+ 21199352.8544 -21615142.01749 -16822475.26048 21199352.5094 21199357.8014
+ 1556.4234 1212.7964
+ 21369417.7274 -17289075.71849 -13450151.58747 21369418.8914 21369423.5864
+ -789.5634 -615.2454
+ 05 1 20 7 18 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23482783.2324 -4113834.31049 -2996466.72246 23482782.8554 23482787.9584
+ -2706.4094 -2108.8914
+ 24653889.9554 -450915.86949 -344472.32045 24653891.3604 24653894.8444
+ -1006.2444 -784.0904
+ 22337981.8664 -15380637.70249 -11970187.00847 22337981.2974 22337984.6264
+ -3086.3194 -2404.9234
+ 20977550.5714 -21454835.20949 -16702936.04448 20977550.7484 20977555.3684
+ 1036.9344 808.0024
+ 20774458.8014 -21534538.95049 -16537615.14248 20774458.0854 20774461.7894
+ -704.8934 -549.2694
+ 24595036.3574 -343946.20949 -731.07143
+ 3436.4064 2677.7174
+ 21190483.9834 -21661751.71249 -16858794.51648 21190483.5334 21190488.1484
+ 1550.8824 1208.4794
+ 21373985.0994 -17265082.61249 -13431455.67247 21373985.3644 21373989.2764
+ -809.9434 -631.1224
+ 05 1 20 7 19 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23498272.0864 -4032444.80549 -2933046.33046 23498271.6624 23498276.5254
+ -2719.5144 -2119.1054
+ 24659671.2734 -420537.83349 -320801.11645 24659671.0424 24659675.0774
+ -1019.0334 -794.0504
+ 22355628.4924 -15287897.52449 -11897921.96147 22355628.7094 22355632.3784
+ -3096.3334 -2412.7184
+ 20971662.6654 -21485780.27949 -16727049.08148 20971662.2054 20971666.4584
+ 1026.0524 799.5204
+ 20778508.5014 -21513255.37149 -16521030.52948 20778507.7944 20778511.6324
+ -714.0334 -556.3914
+ 24575429.2714 -446971.80849 -81009.99644
+ 3431.3394 2673.7384
+ 21181645.8614 -21708194.73549 -16894983.87548 21181645.4164 21181650.2454
+ 1545.3004 1204.1324
+ 21378666.6964 -17240477.82449 -13412283.10547 21378666.9874 21378670.7854
+ -830.3524 -647.0274
+ 05 1 20 7 19 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23513831.9484 -3950666.07849 -2869322.63946 23513832.9094 23513838.0294
+ -2732.3954 -2129.1304
+ 24665524.8724 -389777.06549 -296831.66545 24665523.3504 24665526.4674
+ -1031.7154 -803.9344
+ 22373333.9224 -15194857.61349 -11825423.35347 22373333.8674 22373337.3124
+ -3106.2964 -2420.4944
+ 20965835.3954 -21516399.32149 -16750908.07848 20965835.3324 20965839.7804
+ 1015.1784 791.0444
+ 20782610.3544 -21491697.52349 -16504232.20148 20782610.0914 20782614.0194
+ -723.2004 -563.5364
+ 24555856.0344 -549825.56649 -161155.24444
+ 3425.5634 2669.2374
+ 21172839.3714 -21754470.26549 -16931042.73948 21172839.1484 21172844.1024
+ 1539.7064 1199.7654
+ 21383464.4314 -17215262.10849 -13392634.49647 21383465.3724 21383469.9464
+ -850.6874 -662.8774
+ 05 1 20 7 20 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23529469.0714 -3868500.65149 -2805297.66946 23529468.3374 23529472.8374
+ -2745.2574 -2139.1714
+ 24671451.4704 -358635.13849 -272565.23745 24671451.0394 24671454.7734
+ -1044.3754 -813.7974
+ 22391095.9534 -15101520.06849 -11752692.82747 22391095.5504 22391098.4654
+ -3116.1814 -2428.1934
+ 20960070.9124 -21546692.44349 -16774513.12248 20960070.7184 20960075.2994
+ 1004.3594 782.6194
+ 20786765.4374 -21469865.01549 -16487219.86148 20786764.7514 20786768.5954
+ -732.3194 -570.6364
+ 24536318.8354 -652504.90849 -241164.43244
+ 3419.6974 2664.6744
+ 21164065.9114 -21800577.37449 -16966970.35848 21164065.3724 21164070.4834
+ 1534.1014 1195.4094
+ 21388379.4134 -17189436.29349 -13372510.49147 21388380.2234 21388384.5654
+ -870.9894 -678.6924
+ 05 1 20 7 20 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23545176.4004 -3785950.98349 -2740973.20646 23545176.8744 23545182.0144
+ -2758.0234 -2149.1014
+ 24677449.4854 -327114.19749 -248003.50745 24677449.2064 24677453.4394
+ -1057.0014 -823.6364
+ 22408914.2454 -15007887.01649 -11679732.02647 22408913.0104 22408916.1694
+ -3126.0094 -2435.8494
+ 20954368.9484 -21576659.78649 -16797864.29748 20954368.4844 20954372.7504
+ 993.4724 774.1354
+ 20790971.9244 -21447757.18149 -16469992.97448 20790971.3994 20790975.5284
+ -741.5244 -577.8114
+ 24516812.0634 -755007.17749 -73871.60244
+ 3413.8014 2660.0614
+ 21155324.1004 -21846515.14849 -17002766.02748 21155324.0394 21155328.7024
+ 1528.4114 1190.9724
+ 21393410.0544 -17163001.42149 -13351911.89247 21393410.1224 21393414.2934
+ -891.2834 -694.5024
+ 05 1 20 7 21 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23560957.6264 -3703019.73849 -2676351.46646 23560957.7804 23560963.9614
+ -2770.6654 -2158.9664
+ 24683520.0794 -295216.47649 -223148.17945 24683519.1424 24683521.4384
+ -1069.5714 -833.4354
+ 22426786.9274 -14913960.35249 -11606542.43747 22426787.4064 22426789.7424
+ -3135.7564 -2443.4554
+ 20948727.7724 -21606302.19449 -16820962.27048 20948727.5734 20948731.8354
+ 982.6764 765.7154
+ 20795231.7614 -21425373.67149 -16452551.28548 20795231.1804 20795234.7824
+ -750.7334 -584.9904
+ 24497340.8204 -857329.94749 -153603.59045
+ 3407.6784 2655.3294
+ 21146614.7984 -21892282.73649 -17038429.07448 21146614.5044 21146619.7154
+ 1522.7524 1186.5584
+ 21398555.6774 -17135958.65849 -13330839.61447 21398556.1584 21398560.0274
+ -911.4984 -710.2604
+ 05 1 20 7 21 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23576810.7734 -3619709.53449 -2611434.47746 23576810.1694 23576816.7044
+ -2783.3194 -2168.8014
+ 24689661.0194 -262943.71649 -198000.53945 24689659.6154 24689664.2434
+ -1082.0544 -843.1704
+ 22444716.2674 -14819741.93349 -11533125.43247 22444716.0824 22444718.4634
+ -3145.4224 -2450.9774
+ 20943148.8074 -21635620.15949 -16843807.43648 20943148.7844 20943152.9694
+ 971.8704 757.3044
+ 20799543.3864 -21402714.02849 -16434894.42948 20799543.0224 20799547.0024
+ -759.9224 -592.1494
+ 24477904.5194 -959470.49049 -233193.64345 24477909.7704
+ 3401.5974 2650.5954
+ 21137938.1134 -21937879.13249 -17073958.72948 21137937.6694 21137942.8264
+ 1517.0124 1182.0864
+ 21403817.4514 -17108308.69949 -13309294.19247 21403817.8094 21403822.5724
+ -931.7424 -726.0344
+ 05 1 20 7 22 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23592737.1864 -3536022.80949 -2546224.05746 23592735.9484 23592741.1664
+ -2795.7784 -2178.5374
+ 24695869.9674 -230297.85449 -172562.14045 24695869.3854 24695876.2454
+ -1094.4214 -852.7964
+ 22462701.2794 -14725234.43149 -11459483.18647 22462700.3134 22462703.4184
+ -3155.0404 -2458.4714
+ 20937631.0354 -21664614.32849 -16866400.30148 20937630.9854 20937635.5854
+ 961.0774 748.8934
+ 20803908.0074 -21379777.66949 -16417021.94748 20803907.5494 20803911.8164
+ -769.1574 -599.3414
+ 24458502.4614 -1061426.41249 -312639.79245 24458502.4474 24458508.6874
+ 3395.4094 2645.7774
+ 21129293.9804 -21983303.40249 -17109354.26248 21129293.6314 21129298.8564
+ 1511.2604 1177.6054
+ 21409194.6044 -17080052.64549 -13287276.48747 21409194.3834 21409199.3474
+ -951.9244 -741.7654
+ 05 1 20 7 22 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23608733.6604 -3451962.45349 -2480722.46945 23608732.7504 23608737.8444
+ -2808.2264 -2188.2174
+ 24702156.9854 -197280.67149 -146834.51645 24702156.7884 24702159.8764
+ -1106.7604 -862.4064
+ 22480738.2624 -14630439.71649 -11385617.18247 22480738.8054 22480742.0694
+ -3164.6054 -2465.9284
+ 20932175.7424 -21693285.07349 -16888741.14348 20932175.0564 20932179.6934
+ 950.2904 740.4914
+ 20808325.3754 -21356564.14749 -16398933.49348 20808325.0934 20808329.1754
+ -778.4134 -606.5534
+ 24439134.3674 -1163195.10649 -391940.05845 24439135.5534 24439142.2324
+ 3389.1774 2640.9164
+ 21120683.1424 -22028554.61849 -17144614.95148 21120682.5854 21120687.8354
+ 1505.4564 1173.0874
+ 21414686.9244 -17051191.64249 -13264787.40447 21414686.9144 21414691.1954
+ -972.0284 -757.4174
+ 05 1 20 7 23 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23624799.9054 -3367530.99449 -2414931.68545 23624800.3944 23624803.5194
+ -2820.5414 -2197.8234
+ 24708511.1494 -163894.37149 -120819.26745 24708510.3504 24708514.9414
+ -1118.9634 -871.9164
+ 22498832.0454 -14535359.89249 -11311528.99447 22498831.8364 22498834.9244
+ -3174.0744 -2473.2984
+ 20926780.4474 -21721632.83949 -16910830.31548 20926780.5774 20926785.3224
+ 939.5514 732.1224
+ 20812796.1924 -21333073.09749 -16380628.78848 20812795.3464 20812799.3534
+ -787.6694 -613.7654
+ 24419806.1234 -1264773.69049 -471092.20745 24419807.2974 24419813.4594
+ 3382.7594 2635.9184
+ 21112104.6344 -22073631.90049 -17179740.10248 21112104.6064 21112109.7264
+ 1499.6734 1168.5774
+ 21420293.8124 -17021726.60449 -13241827.63647 21420293.5714 21420297.8544
+ -992.1924 -773.1374
+ 05 1 20 7 23 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23640935.7764 -3282730.76949 -2348853.53945 23640936.2814 23640942.5674
+ -2832.7774 -2207.3524
+ 24714931.5264 -130140.94449 -94517.89645 24714933.2014 24714937.0624
+ -1131.1704 -881.4274
+ 22516979.4124 -14439997.03649 -11237220.27747 22516979.5304 22516982.4594
+ -3183.4564 -2480.6134
+ 20921447.7754 -21749658.23349 -16932668.28148 20921447.8184 20921452.0614
+ 928.8134 723.7524
+ 20817318.6874 -21309304.09949 -16362107.48648 20817318.0394 20817322.4084
+ -796.9324 -620.9884
+ 24400516.1544 -1366159.67549 -550094.26145 24400512.7964 24400519.2334
+ 3376.3484 2630.9254
+ 21103560.1444 -22118534.21449 -17214728.90648 21103559.9804 21103565.1094
+ 1493.8324 1164.0214
+ 21426016.5954 -16991658.70149 -13218398.09647 21426016.1354 21426019.9084
+ -1012.2614 -788.7784
+ 05 1 20 7 24 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23657145.4954 -3197564.40349 -2282490.14845 23657143.2654 23657148.1234
+ -2844.9364 -2216.8264
+ 24721425.4724 -96022.44049 -67932.04345 24721424.4554 24721428.3934
+ -1143.3734 -890.9424
+ 22535179.7154 -14344353.25749 -11162692.65347 22535179.1754 22535182.6314
+ -3192.7934 -2487.8834
+ 20916175.5964 -21777361.50549 -16954255.24648 20916175.7384 20916180.3794
+ 918.0794 715.3864
+ 20821894.7674 -21285256.53249 -16343369.12948 20821894.2874 20821898.7114
+ -806.2244 -628.2224
+ 24381257.2484 -1467350.42149 -628944.17045 24381256.3194 24381263.8164
+ 3369.7184 2625.7514
+ 21095049.7694 -22163260.68349 -17249580.69648 21095048.9674 21095054.0354
+ 1487.9354 1159.4334
+ 21431851.6164 -16960988.85549 -13194499.52647 21431851.9954 21431856.7364
+ -1032.2954 -804.3834
+ 05 1 20 7 24 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23673419.5054 -3112034.45049 -2215843.44146 23673419.7294 23673425.2154
+ -2857.0344 -2226.2624
+ 24727988.6644 -61540.68049 -41063.14445 24727986.6234 24727988.8934
+ -1155.4184 -900.3214
+ 22553432.7244 -14248430.48849 -11087947.63947 22553432.9654 22553436.1914
+ -3202.0404 -2495.0984
+ 20910965.6984 -21804743.44749 -16975591.82248 20910965.4274 20910969.6534
+ 907.3924 707.0594
+ 20826524.5464 -21260929.87949 -16324413.29948 20826523.8524 20826527.8964
+ -815.5374 -635.4844
+ 24362037.0614 -1568343.46049 -707640.03545 24362038.3154 24362045.8064
+ 3363.1664 2620.6504
+ 21086571.4034 -22207810.26449 -17284294.66048 21086571.3174 21086576.5794
+ 1482.0334 1154.8304
+ 21437802.5374 -16929718.33949 -13170132.89647 21437802.5934 21437806.5814
+ -1052.3154 -819.9934
+ 05 1 20 7 25 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23689763.3264 -3026143.64249 -2148915.56246 23689763.0324 23689769.8254
+ -2869.0094 -2235.5884
+ 24734614.4634 -26697.76749 -13912.80745 24734617.2164 24734619.9974
+ -1167.4614 -909.7064
+ 22571738.5324 -14152231.25349 -11012987.16147 22571738.7664 22571741.5524
+ -3211.2234 -2502.2564
+ 20905816.3544 -21831804.39049 -16996678.27948 20905816.2164 20905820.2284
+ 896.6814 698.7164
+ 20831206.7484 -21236323.76549 -16305239.71448 20831206.1364 20831210.0074
+ -824.8714 -642.7544
+ 24342862.0744 -1669136.00649 -786179.70445 24342859.0904 24342864.3104
+ 3356.3384 2615.3284
+ 21078128.1984 -22252181.93549 -17318869.98848 21078127.6814 21078132.9494
+ 1476.0784 1150.1944
+ 21443867.3364 -16897848.32249 -13145299.12647 21443867.4104 21443872.1064
+ -1072.2664 -835.5264
+ 05 1 20 7 25 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23706176.9034 -2939894.71949 -2081708.58546 23706176.2134 23706181.3524
+ -2880.8944 -2244.8524
+ 24741318.1704 8504.27049 13517.30445 24741316.6174 24741317.5534
+ -1179.4044 -919.0194
+ 22590097.7184 -14055757.66449 -10937812.93347 22590097.6314 22590100.7404
+ -3220.3534 -2509.3704
+ 20900727.8674 -21858544.80449 -17017514.95848 20900727.6044 20900731.6894
+ 885.9904 690.3794
+ 20835942.2274 -21211437.66049 -16285847.94048 20835941.8644 20835945.7884
+ -834.2114 -650.0384
+ 24323722.8004 -1769725.54549 -864561.12745 24323719.5314 24323722.1964
+ 3349.5294 2610.0234
+ 21069718.4094 -22296374.78849 -17353305.97748 21069718.1854 21069722.9324
+ 1470.0924 1145.5254
+ 21450045.9474 -16865379.95149 -13119999.09347 21450046.1334 21450049.7104
+ -1092.2424 -851.1004
+ 05 1 20 7 26 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23722655.7674 -2853290.13149 -2014224.51945 23722656.0134 23722661.6374
+ -2892.7634 -2254.1074
+ 24748082.5574 44063.48549 41225.81345 24748082.2154 24748085.3464
+ -1191.2194 -928.2214
+ 22608507.3114 -13959011.54949 -10862426.35247 22608507.0024 22608510.3854
+ -3229.3584 -2516.3904
+ 20895699.8464 -21884965.43049 -17038102.45548 20895699.8784 20895703.9824
+ 875.3724 682.1054
+ 20840731.5814 -21186271.43449 -16266237.89948 20840730.8544 20840734.8514
+ -843.5424 -657.3094
+ 24304615.5444 -1870109.41049 -942782.28445 24304615.1694 24304620.3314
+ 3342.6954 2604.7034
+ 21061343.8264 -22340387.95249 -17387601.95448 21061342.8864 21061347.5214
+ 1464.0924 1140.8474
+ 21456337.7174 -16832314.24949 -13094233.60947 21456338.7064 21456342.0684
+ -1112.0984 -866.5694
+ 05 1 20 7 26 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23739205.2414 -2766332.51749 -1946465.31245 23739204.9014 23739207.4514
+ -2904.4664 -2263.2204
+ 24754916.2854 79977.44849 69210.72245 24754916.1594 24754920.0944
+ -1203.0324 -937.4304
+ 22626968.1354 -13861995.31249 -10786829.28147 22626968.9124 22626972.9474
+ -3238.3674 -2523.4034
+ 20890733.0184 -21911066.74749 -17058441.14148 20890732.8174 20890736.9184
+ 864.7274 673.8094
+ 20845573.4024 -21160824.41049 -16246409.05648 20845573.2994 20845576.9134
+ -852.9274 -664.6174
+ 24285551.0114 -1970284.85148 -1020841.07945 24285554.4174 24285558.4274
+ 3335.7824 2599.3094
+ 21053001.8304 -22384220.39149 -17421757.11848 21053001.5964 21053006.4854
+ 1458.0484 1136.1414
+ 21462743.8954 -16798652.62549 -13068003.77647 21462744.0384 21462747.6054
+ -1131.9784 -882.0634
+ 05 1 20 7 27 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23755817.9564 -2679024.60449 -1878433.12145 23755818.0224 23755822.0994
+ -2916.0704 -2272.2694
+ 24761817.3794 116244.05649 97470.45945 24761817.1894 24761820.9054
+ -1214.6794 -946.4974
+ 22645481.0714 -13764711.06549 -10711023.38547 22645481.4534 22645485.0994
+ -3247.2294 -2530.3034
+ 20885826.7414 -21936849.12649 -17078531.30048 20885826.4874 20885830.9664
+ 854.1194 665.5484
+ 20850469.7774 -21135096.06849 -16226360.99848 20850468.9784 20850473.2044
+ -862.2924 -671.9164
+ 24266526.6704 -2070249.23048 -1098735.37845 24266529.2234 24266533.1014
+ 3328.5564 2593.6714
+ 21044696.0234 -22427871.08749 -17455770.64948 21044695.2374 21044700.4104
+ 1451.9954 1131.4274
+ 21469261.4964 -16764396.38249 -13041310.61747 21469262.4544 21469266.7514
+ -1151.7454 -897.4674
+ 05 1 20 7 27 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23772500.7114 -2591368.88549 -1810129.97546 23772499.2934 23772502.6134
+ -2927.6084 -2281.2544
+ 24768786.0734 152861.50949 126003.48745 24768784.7684 24768788.2404
+ -1226.3764 -955.6194
+ 22664043.7304 -13667160.91849 -10635010.28247 22664044.3674 22664048.0364
+ -3256.0614 -2537.1924
+ 20880980.5714 -21962313.18249 -17098373.42448 20880980.6894 20880985.0994
+ 843.5194 657.2854
+ 20855418.9274 -21109086.05649 -16206093.45448 20855418.7744 20855422.9374
+ -871.6894 -679.2364
+ 24247548.4144 -2169999.91749 -1176463.18545 24247547.9904 24247553.0994
+ 3321.4464 2588.1394
+ 21036424.0034 -22471339.09249 -17489641.81848 21036423.5314 21036428.2584
+ 1445.8994 1126.6704
+ 21475893.5444 -16729546.81949 -13014155.10447 21475893.8924 21475898.2894
+ -1171.5164 -912.8724
+ 05 1 20 7 28 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23789243.2694 -2503368.12249 -1741557.93246 23789243.5024 23789248.8544
+ -2939.0914 -2290.1984
+ 24775819.9854 189827.75049 154808.32545 24775819.8904 24775823.6064
+ -1238.0694 -964.7324
+ 22682658.3864 -13569347.10149 -10558791.71547 22682658.0294 22682661.2294
+ -3264.8484 -2544.0344
+ 20876195.7924 -21987459.66149 -17117968.07348 20876195.7614 20876200.3574
+ 832.9264 649.0344
+ 20860422.3534 -21082793.83149 -16185606.01848 20860421.8764 20860425.9824
+ -881.1244 -686.5904
+ 24228611.3594 -2269534.56049 -1254022.65245 24228607.4014 24228610.1374
+ 3314.2124 2582.5064
+ 21028187.5654 -22514623.50749 -17523369.95748 21028186.7784 21028191.6354
+ 1439.7354 1121.8704
+ 21482638.3724 -16694105.09149 -12986538.17647 21482638.4634 21482641.8624
+ -1191.2174 -928.2224
+ 05 1 20 7 28 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23806056.8994 -2415024.84449 -1672719.00846 23806055.8344 23806061.7634
+ -2950.4584 -2299.0494
+ 24782920.0884 227140.38049 183883.11045 24782919.3394 24782922.3264
+ -1249.5394 -973.6734
+ 22701321.6434 -13471271.76349 -10482369.38447 22701321.7724 22701324.5784
+ -3273.5254 -2550.7994
+ 20871470.8184 -22012288.92649 -17137315.54148 20871470.7704 20871475.2524
+ 822.3714 640.8104
+ 20865478.9964 -21056219.06449 -16164898.40148 20865478.5734 20865482.9504
+ -890.5394 -693.9274
+ 24209707.4204 -2368850.35449 -1331411.56745 24209706.7574 24209712.3714
+ 3306.7894 2576.7134
+ 21019985.6784 -22557723.14949 -17556954.10448 21019984.9684 21019990.1714
+ 1433.5734 1117.0734
+ 21489494.7124 -16658072.60149 -12958460.91147 21489495.4984 21489499.5114
+ -1210.8944 -943.5604
+ 05 1 20 7 29 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23822932.3264 -2326342.03649 -1603615.53046 23822931.3104 23822936.2454
+ -2961.7304 -2307.8434
+ 24790086.5094 264797.46449 213226.28545 24790086.1814 24790091.4854
+ -1260.9634 -982.5714
+ 22720033.3944 -13372937.15049 -10405745.02447 22720033.8474 22720037.4094
+ -3282.0904 -2557.4694
+ 20866806.8414 -22036801.73849 -17156416.43448 20866806.4694 20866810.6234
+ 811.8444 632.6054
+ 20870590.6264 -21029361.32849 -16143970.29948 20870590.0054 20870593.6894
+ -899.9794 -701.2854
+ 24190847.2624 -2467944.54348 -1408627.81945 24190848.4374 24190855.4534
+ 3299.4594 2570.9994
+ 21011819.1014 -22600636.91149 -17590393.40948 21011818.8244 21011824.0004
+ 1427.3664 1112.2344
+ 21496463.9674 -16621450.62249 -12929924.30547 21496464.3794 21496468.3854
+ -1230.4964 -958.8354
+ 05 1 20 7 29 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23839871.9144 -2237322.11949 -1534249.34546 23839871.3274 23839877.0124
+ -2972.9394 -2316.5664
+ 24797319.0754 302796.62949 242836.05345 24797317.8124 24797320.9324
+ -1272.3134 -991.4174
+ 22738795.0264 -13274345.41849 -10328920.28347 22738795.2714 22738798.3194
+ -3290.6744 -2564.1674
+ 20862201.9604 -22060998.88949 -17175271.34848 20862201.8184 20862206.0404
+ 801.3034 624.3934
+ 20875755.5924 -21002219.99349 -16122821.21048 20875754.6704 20875758.6264
+ -909.4474 -708.6594
+ 24172034.8334 -2566814.46349 -1485669.29845 24172034.8254 24172041.2384
+ 3291.8864 2565.1064
+ 21003688.2554 -22643363.82849 -17623687.10648 21003688.0574 21003693.3724
+ 1421.1014 1107.3524
+ 21503544.1044 -16584240.54249 -12900929.45847 21503545.0314 21503548.7184
+ -1250.1274 -974.1274
+ 05 1 20 7 30 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23856874.6844 -2147967.82449 -1464622.61746 23856874.3754 23856881.2024
+ -2983.9834 -2325.1884
+ 24804614.9594 341136.02249 272710.86745 24804613.7004 24804615.7444
+ -1283.6454 -1000.2444
+ 22757605.0364 -13175498.79549 -10251896.93846 22757604.5524 22757607.6014
+ -3299.0984 -2570.7214
+ 20857658.0004 -22084880.56249 -17193880.44448 20857657.3644 20857661.1404
+ 790.8044 616.2094
+ 20880972.9364 -20974794.75549 -16101450.89348 20880973.0004 20880977.5374
+ -918.9054 -716.0304
+ 24153265.2074 -2665457.51549 -1562534.04245 24153262.9644 24153269.4364
+ 3284.3344 2559.2154
+ 20995593.7644 -22685902.92549 -17656834.44048 20995593.4744 20995598.3704
+ 1414.8194 1102.4574
+ 21510737.0264 -16546443.70149 -12871477.37047 21510737.1584 21510741.5244
+ -1269.6314 -989.3224
+ 05 1 20 7 30 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23873941.4844 -2058281.75549 -1394737.40646 23873941.0554 23873946.3814
+ -2995.0434 -2333.8074
+ 24811974.4274 379813.39149 302849.06245 24811974.1314 24811975.0524
+ -1294.8734 -1009.0014
+ 22776462.5874 -13076399.45649 -10174676.67647 22776462.7794 22776466.3774
+ -3307.4864 -2577.2554
+ 20853172.5574 -22108447.47449 -17212244.26248 20853172.5394 20853176.7324
+ 780.3254 608.0464
+ 20886246.8094 -20947085.30049 -16079859.11048 20886246.2964 20886250.6244
+ -928.3954 -723.4264
+ 24134537.8054 -2763871.09149 -1639219.96845 24134537.7724 24134544.2584
+ 3276.5914 2553.1924
+ 20987534.4054 -22728253.31249 -17689834.74648 20987534.2124 20987539.3094
+ 1408.5194 1097.5484
+ 21518040.5834 -16508061.62349 -12841569.26047 21518041.6034 21518045.4394
+ -1289.1234 -1004.5114
+ 05 1 20 7 31 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23891071.9174 -1968266.47049 -1324595.64046 23891071.1884 23891075.9124
+ -3005.9584 -2342.3094
+ 24819398.4224 418826.42949 333248.81845 24819399.8984 24819398.3844
+ -1306.0614 -1017.7254
+ 22795369.1514 -12977049.73549 -10097261.30947 22795368.8494 22795372.3454
+ -3315.8154 -2583.7494
+ 20848748.2914 -22131700.35549 -17230363.39348 20848747.8114 20848751.9984
+ 769.8774 599.9094
+ 20891574.2054 -20919090.86549 -16058045.25948 20891573.4714 20891577.9544
+ -937.8804 -730.8134
+ 24115852.3814 -2862052.42449 -1715724.90145 24115853.4954 24115858.6104
+ 3268.8224 2547.1394
+ 20979511.9254 -22770413.79349 -17722687.07548 20979511.8244 20979516.5664
+ 1402.1674 1092.6024
+ 21525456.2264 -16469095.75049 -12811206.23447 21525456.2844 21525460.3344
+ -1308.5554 -1019.6444
+ 05 1 20 7 31 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23908264.0334 -1877924.68349 -1254199.42646 23908262.2214 23908267.8544
+ -3016.8214 -2350.7734
+ 24826886.0264 458173.01749 363908.54045 24826887.7874 24826887.2614
+ -1317.0654 -1026.2864
+ 22814320.3814 -12877451.62249 -10019652.41046 22814321.3274 22814324.2304
+ -3324.0804 -2590.1944
+ 20844382.2524 -22154639.78149 -17248238.26348 20844382.1904 20844386.6394
+ 759.4404 591.7674
+ 20896955.1854 -20890811.19649 -16036009.15448 20896954.7504 20896958.7304
+ -947.4214 -738.2514
+ 24097212.7164 -2959998.85349 -1792046.79645 24097214.8874 24097221.2424
+ 3260.9184 2540.9754
+ 20971525.4044 -22812383.41549 -17755390.67148 20971524.9664 20971529.8554
+ 1395.7984 1087.6354
+ 21532981.6084 -16429547.42249 -12780389.36647 21532982.2074 21532986.3964
+ -1327.9244 -1034.7454
+ 05 1 20 7 32 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23925515.1214 -1787259.12049 -1183550.94546 23925515.1144 23925521.0764
+ -3027.5674 -2359.1394
+ 24834433.4624 497850.91549 394826.35545 24834433.4714 24834438.1574
+ -1328.1144 -1034.8974
+ 22833321.4674 -12777607.60649 -9941851.90146 22833321.4474 22833323.8454
+ -3332.2064 -2596.5224
+ 20840076.2574 -22177266.36749 -17265869.37348 20840076.5484 20840080.9074
+ 749.0274 583.6574
+ 20902391.6724 -20862246.02949 -16013750.59148 20902390.8634 20902394.8024
+ -956.9374 -745.6604
+ 24078623.5524 -3057707.70349 -1868183.57945 24078622.7434 24078628.5714
+ 3253.0114 2534.8114
+ 20963575.3194 -22854161.26049 -17787944.83948 20963575.0364 20963579.8164
+ 1389.3894 1082.6424
+ 21540618.4894 -16389418.21549 -12749119.85547 21540618.3594 21540623.2444
+ -1347.2674 -1049.8224
+ 05 1 20 7 32 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23942830.7864 -1696272.34049 -1112652.13746 23942830.5974 23942833.9144
+ -3038.2254 -2367.4514
+ 24842048.9264 537858.15049 426000.72845 24842048.0944 24842052.1514
+ -1338.9954 -1043.3664
+ 22852367.4944 -12677519.73049 -9863861.34546 22852367.2704 22852370.6464
+ -3340.3184 -2602.8454
+ 20835830.6524 -22199580.58149 -17283257.06248 20835830.5994 20835834.5464
+ 738.6024 575.5334
+ 20907881.1274 -20833394.60749 -15991268.96048 20907880.5274 20907885.0424
+ -966.4804 -753.1014
+ 24060075.0004 -3155176.47749 -1944133.25945 24060073.7084 24060080.2024
+ 3244.8864 2528.4884
+ 20955662.0944 -22895746.22649 -17820348.71948 20955661.6284 20955666.6994
+ 1382.9414 1077.6134
+ 21548364.2764 -16348709.62049 -12717398.87347 21548364.7394 21548369.1084
+ -1366.5764 -1064.8684
+ 05 1 20 7 33 0.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23960205.9114 -1604966.97749 -1041505.09446 23960204.4404 23960209.9704
+ -3048.7944 -2375.6844
+ 24849726.2594 578192.12849 457429.88045 24849725.1324 24849728.6214
+ -1349.8384 -1051.8224
+ 22871458.7064 -12577190.31549 -9785682.58847 22871459.9084 22871461.6894
+ -3348.3364 -2609.0944
+ 20831643.3544 -22221583.06849 -17300401.84348 20831643.4674 20831647.7484
+ 728.2324 567.4514
+ 20913425.5114 -20804256.49749 -15968563.94548 20913425.2554 20913429.7844
+ -976.0544 -760.5634
+ 24041574.2224 -3252402.31849 -2019893.66545 24041573.0094 24041579.7754
+ 3236.7614 2522.1594
+ 20947785.9724 -22937137.10049 -17852601.36148 20947785.4174 20947790.3444
+ 1376.4484 1072.5584
+ 21556220.9604 -16307423.14749 -12685227.60647 21556221.1084 21556225.5534
+ -1385.8174 -1079.8554
+ 05 1 20 7 33 30.0000000 0 8G 5G11G22G25G14G20G 1G30
+ 23977639.5614 -1513345.83149 -970112.00946 23977640.1164 23977644.8064
+ -3059.2644 -2383.8544
+ 24857458.9414 618850.77449 489111.91045 24857460.1324 24857461.7154
+ -1360.6644 -1060.2504
+ 22890597.5764 -12476621.60049 -9707317.36946 22890597.2834 22890600.3514
+ -3356.2564 -2615.2614
+ 20827515.7784 -22243274.43649 -17317304.20048 20827515.7304 20827520.1004
+ 717.8684 559.3794
+ 20919025.5554 -20774831.51149 -15945635.39248 20919024.9704 20919028.9824
+ -985.6234 -768.0164
+ 24023118.7344 -3349382.58949 -2095462.72945 24023117.9464 24023123.6804
+ 3228.4674 2515.6884
+ 20939946.1474 -22978332.90849 -17884701.97548 20939945.8404 20939950.9414
+ 1369.9284 1067.4794
+ 21564187.6954 -16265560.24349 -12652607.15147 21564187.9024 21564192.0544
+ -1405.0154 -1094.8184
+ 05 1 20 7 34 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24357051.4474 -338207.12949 -236430.30545 24357058.2924
+ 3778.2014 2944.0534
+ 23995133.2114 -1421411.52349 -898474.87446 23995133.2054 23995138.1764
+ -3069.6464 -2391.9284
+ 24865259.4594 659831.98849 521045.30145 24865259.4984 24865264.3034
+ -1371.4864 -1068.6884
+ 22909779.4364 -12375815.71449 -9628767.34646 22909779.6064 22909782.2764
+ -3364.1264 -2621.4094
+ 20823447.4554 -22264655.57049 -17333964.80648 20823447.1414 20823451.6164
+ 707.5374 551.3274
+ 20924679.0944 -20745119.28149 -15922482.99948 20924678.6554 20924683.4324
+ -995.2104 -775.4874
+ 24004710.6814 -3446114.60149 -2170838.29045 24004709.4704 24004716.9294
+ 3220.2264 2509.2714
+ 20932145.0864 -23019332.54449 -17916649.72448 20932144.0254 20932149.0044
+ 1363.3774 1062.3744
+ 21572263.0254 -16223122.60649 -12619538.86147 21572263.2734 21572267.7384
+ -1424.1494 -1109.7224
+ 05 1 20 7 34 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24335486.0694 -451535.99249 -324738.48645 24335486.8204 24335491.9884
+ 3777.0234 2943.1314
+ 24012689.2364 -1329166.90349 -826595.95446 24012687.6644 24012692.8454
+ -3080.0134 -2400.0094
+ 24873118.7764 701133.38649 553228.23145 24873117.3134 24873121.7154
+ -1382.0894 -1076.9554
+ 22929007.6334 -12274775.02949 -9550034.36146 22929007.2404 22929009.7864
+ -3371.8944 -2627.4564
+ 20819438.0284 -22285726.96349 -17350384.07748 20819437.5614 20819441.8694
+ 697.2284 543.2914
+ 20930387.8764 -20715119.28549 -15899106.38248 20930387.7754 20930392.0954
+ -1004.8004 -782.9624
+ 23986351.0994 -3542595.61149 -2246018.28545 23986350.8004 23986357.9514
+ 3211.8494 2502.7404
+ 20924380.0704 -23060134.96549 -17948443.81948 20924379.6904 20924384.5484
+ 1356.7684 1057.2224
+ 21580447.1574 -16180111.76549 -12586023.93347 21580447.7994 21580452.1404
+ -1443.2104 -1124.5854
+ 05 1 20 7 35 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24313929.7484 -564824.67849 -413015.43545 24313929.0414 24313933.7924
+ 3775.6464 2942.0674
+ 24030298.0704 -1236614.61949 -754477.33545 24030299.1454 24030304.7164
+ -3090.1904 -2407.9464
+ 24881036.3194 742753.05049 585659.15745 24881036.3324 24881041.8504
+ -1392.6164 -1085.1524
+ 22948279.3204 -12173501.85349 -9471120.20746 22948279.4184 22948280.5404
+ -3379.6114 -2633.4594
+ 20815486.2744 -22306489.19949 -17366562.42948 20815486.2784 20815490.6044
+ 686.9314 535.2724
+ 20936152.0784 -20684831.12349 -15875505.22748 20936151.7624 20936156.0284
+ -1014.4294 -790.4674
+ 23968040.7394 -3638823.24549 -2321000.84945 23968039.3204 23968045.1324
+ 3203.3444 2496.1134
+ 20916652.9384 -23100739.05649 -17980083.37548 20916652.6294 20916657.5504
+ 1350.1554 1052.0664
+ 21588741.2314 -16136529.33549 -12552063.60347 21588741.7574 21588745.5634
+ -1462.2574 -1139.4194
+ 05 1 20 7 35 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24292381.3514 -678070.63849 -501259.07545 24292377.0544 24292380.1384
+ 3774.1394 2940.8934
+ 24047970.2514 -1143757.11349 -682120.84745 24047969.2994 24047974.3964
+ -3100.3074 -2415.8274
+ 24889019.3424 784688.22449 618335.91445 24889018.6234 24889021.7614
+ -1403.0834 -1093.3134
+ 22967594.2704 -12071998.34749 -9392026.57246 22967593.7764 22967597.2884
+ -3387.2834 -2639.4464
+ 20811594.7334 -22326942.54849 -17382500.10548 20811594.3034 20811598.3134
+ 676.6484 527.2584
+ 20941970.3374 -20654254.60749 -15851679.36548 20941970.1504 20941974.4374
+ -1024.0364 -797.9474
+ 23949777.7354 -3734794.70449 -2395783.81245 23949777.6254 23949783.0924
+ 3194.7724 2489.4294
+ 20908964.3134 -23141143.67849 -18011567.50048 20908963.9174 20908968.8684
+ 1343.4764 1046.8644
+ 21597143.1014 -16092376.92349 -12517659.12247 21597143.6574 21597147.4544
+ -1481.2064 -1154.1894
+ 05 1 20 7 36 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24270837.8024 -791271.37049 -589467.45445 24270836.7964 24270842.2824
+ 3772.5574 2939.6564
+ 24065700.3394 -1050597.06949 -609528.67945 24065698.0694 24065703.3914
+ -3110.3754 -2423.6684
+ 24897057.1624 826936.62649 651256.74545 24897057.7614 24897061.9434
+ -1413.5244 -1101.4424
+ 22986953.3444 -11970266.80049 -9312755.26046 22986952.9504 22986955.8094
+ -3394.8354 -2645.3194
+ 20807760.1784 -22347088.21449 -17398198.01748 20807760.3754 20807765.0724
+ 666.3954 519.2734
+ 20947844.1674 -20623389.16549 -15827628.36848 20947843.9334 20947848.1754
+ -1033.6634 -805.4494
+ 23931562.5054 -3830507.09049 -2470364.87745 23931563.0964 23931568.6514
+ 3186.0874 2482.6684
+ 20901313.4104 -23181347.73349 -18042895.33848 20901313.2084 20901318.6134
+ 1336.7854 1041.6514
+ 21605653.8184 -16047656.21649 -12482811.82447 21605653.3764 21605657.6164
+ -1500.1334 -1168.9354
+ 05 1 20 7 36 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24249305.9474 -904424.33449 -677638.63145 24249304.5664 24249309.2754
+ 3770.9294 2938.3884
+ 24083482.3604 -957137.40149 -536702.95146 24083481.5994 24083487.3424
+ -3120.3244 -2431.4244
+ 24905159.6724 869496.15649 684419.96845 24905158.8794 24905159.9424
+ -1423.8154 -1109.4604
+ 23006356.0194 -11868309.38149 -9233307.92946 23006355.3174 23006357.5724
+ -3402.3404 -2651.1774
+ 20803985.7014 -22366926.78749 -17413656.64448 20803985.4824 20803989.6904
+ 656.1544 511.2844
+ 20953772.9774 -20592234.36449 -15803351.91048 20953772.3474 20953776.1124
+ -1043.3404 -812.9914
+ 23913401.3914 -3925957.96149 -2544742.19845 23913400.1214 23913405.1354
+ 3177.2734 2475.7984
+ 20893701.6234 -23221350.11649 -18074066.03748 20893701.3144 20893706.4934
+ 1330.0284 1036.3854
+ 21614271.1074 -16002368.82849 -12447522.95647 21614271.4074 21614275.8984
+ -1519.0024 -1183.6394
+ 05 1 20 7 37 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24227780.9414 -1017526.80449 -765770.47245 24227781.1084 24227787.6454
+ 3769.1724 2937.0214
+ 24101322.6504 -863380.61949 -463645.72645 24101322.2524 24101329.2254
+ -3130.1894 -2439.1044
+ 24913312.8804 912364.58949 717823.92745 24913313.2224 24913319.5454
+ -1434.0664 -1117.4544
+ 23025798.7204 -11766128.60549 -9153686.56446 23025799.2554 23025802.4714
+ -3409.7164 -2656.9274
+ 20800269.3434 -22386458.78049 -17428876.37848 20800268.6944 20800272.8544
+ 645.9514 503.3354
+ 20959756.3284 -20560789.66749 -15778849.54448 20959755.7674 20959760.1204
+ -1052.9974 -820.5214
+ 23895287.7034 -4021144.37349 -2618913.41245 23895286.3274 23895292.0384
+ 3168.4324 2468.9064
+ 20886128.5564 -23261149.88649 -18105078.84948 20886127.7044 20886132.9734
+ 1323.2484 1031.1014
+ 21622996.5294 -15956516.51449 -12411793.87347 21622996.8164 21623000.5624
+ -1537.7954 -1198.2874
+ 05 1 20 7 37 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24206267.6344 -1130576.33449 -853861.05345 24206268.5874 24206274.9534
+ 3767.3834 2935.6214
+ 24119222.3774 -769329.59649 -390359.25145 24119221.0584 24119226.7244
+ -3139.9214 -2446.6924
+ 24921530.5144 955539.62049 751466.79745 24921530.0584 24921534.3664
+ -1444.3094 -1125.4344
+ 23045284.6364 -11663726.78549 -9073892.94746 23045285.0334 23045289.0704
+ -3417.0804 -2662.6514
+ 20796610.0294 -22405684.59949 -17443857.52948 20796610.0274 20796614.5654
+ 635.7514 495.3904
+ 20965796.3244 -20529054.69349 -15754120.99648 20965795.1744 20965798.9064
+ -1062.6954 -828.0744
+ 23877224.3774 -4116063.76849 -2692876.57645 23877224.0204 23877229.5564
+ 3159.4664 2461.9214
+ 20878593.0214 -23300745.89349 -18135932.88448 20878592.9364 20878597.8254
+ 1316.4394 1025.7944
+ 21631829.1514 -15910100.98249 -12375625.93147 21631829.3164 21631833.6684
+ -1556.5574 -1212.9064
+ 05 1 20 7 38 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24184768.0784 -1243570.36349 -941908.37045 24184767.5034 24184772.4534
+ 3765.4954 2934.1514
+ 24137175.1894 -674987.08049 -316845.63345 24137174.2014 24137178.7864
+ -3149.6134 -2454.2464
+ 24929805.6344 999018.80549 785346.71245 24929805.3274 24929809.1324
+ -1454.4074 -1133.3074
+ 23064813.7344 -11561106.06649 -8993928.79346 23064814.0154 23064817.5104
+ -3424.3224 -2668.2964
+ 20793009.4274 -22424605.15249 -17458600.81748 20793009.4094 20793013.9324
+ 625.5954 487.4794
+ 20971889.4234 -20497029.19049 -15729166.05948 20971889.1704 20971893.4784
+ -1072.3684 -835.6134
+ 23859212.6674 -4210713.39049 -2766629.52145 23859213.0624 23859218.0254
+ 3150.4454 2454.8894
+ 20871097.3474 -23340136.97349 -18166627.23348 20871096.9154 20871101.9954
+ 1309.5984 1020.4724
+ 21640768.2974 -15863123.88249 -12339020.40247 21640768.4714 21640773.3204
+ -1575.2554 -1227.4614
+ 05 1 20 7 38 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24163275.4454 -1356506.30249 -1029910.42745 24163276.3494 24163282.0784
+ 3763.5544 2932.6374
+ 24155182.4474 -580355.69449 -243106.88445 24155181.5144 24155186.0304
+ -3159.1584 -2461.6834
+ 24938135.4824 1042799.71649 819461.64145 24938135.7214 24938137.4134
+ -1464.4214 -1141.1024
+ 23084381.4514 -11458268.65049 -8913795.76846 23084382.8664 23084386.8704
+ -3431.5504 -2673.9534
+ 20789467.4064 -22443221.08549 -17473106.74448 20789467.1924 20789471.4074
+ 615.4644 479.5814
+ 20978039.0874 -20464712.71349 -15703984.39348 20978038.5844 20978042.6884
+ -1082.0744 -843.1754
+ 23841255.4294 -4305090.77849 -2840170.32445 23841253.6144 23841257.8944
+ 3141.3304 2447.7874
+ 20863640.2524 -23379322.13949 -18197161.13848 20863640.1834 20863644.9574
+ 1302.7144 1015.1054
+ 21649814.0004 -15815587.01049 -12301978.68647 21649814.2424 21649818.7674
+ -1593.8624 -1241.9704
+ 05 1 20 7 39 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24141795.3444 -1469381.54449 -1117865.15545 24141796.6154 24141802.0684
+ 3761.4804 2931.0254
+ 24173243.5784 -485437.75149 -169144.84845 24173243.4224 24173249.1394
+ -3168.6694 -2469.0914
+ 24946526.5234 1086880.00849 853810.01945 24946524.1924 24946526.7234
+ -1474.3514 -1148.8474
+ 23103992.7844 -11355216.82349 -8833495.66946 23103993.0964 23103996.0584
+ -3438.6014 -2679.4224
+ 20785982.5204 -22461533.33249 -17487376.02148 20785982.4904 20785986.7074
+ 605.3574 471.7074
+ 20984244.3074 -20432104.82149 -15678575.65248 20984243.7054 20984248.4004
+ -1091.8024 -850.7534
+ 23823347.4894 -4399193.19949 -2913496.88245 23823347.4344 23823350.8694
+ 3132.1034 2440.6014
+ 20856223.7214 -23418300.15749 -18227533.62248 20856223.0984 20856227.7834
+ 1295.7944 1009.7074
+ 21658967.3174 -15767492.23249 -12264502.25547 21658967.0764 21658971.6694
+ -1612.4154 -1256.4264
+ 05 1 20 7 39 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24120329.4634 -1582193.31049 -1205770.45545 24120328.7554 24120334.2524
+ 3759.3024 2929.3294
+ 24191361.2934 -390236.19849 -94961.82545 24191360.9724 24191365.8134
+ -3178.1044 -2476.4454
+ 24954969.9804 1131257.30949 888389.72545 24954969.1654 24954972.8804
+ -1484.1724 -1156.4934
+ 23123644.7454 -11251953.09649 -8753030.45346 23123643.6884 23123646.9044
+ -3445.6584 -2684.9214
+ 20782556.0934 -22479542.60449 -17501409.22348 20782555.7524 20782559.5284
+ 595.2714 463.8494
+ 20990504.8724 -20399205.13449 -15652939.53848 20990504.3514 20990508.3194
+ -1101.5254 -858.3324
+ 23805493.8684 -4493017.73149 -2986606.94945 23805493.5914 23805496.9894
+ 3122.8364 2433.3814
+ 20848845.3064 -23457069.85449 -18257743.77548 20848845.3634 20848850.3554
+ 1288.8594 1004.3054
+ 21668225.1294 -15718841.20149 -12226592.35047 21668225.1534 21668229.0114
+ -1630.9164 -1270.8464
+ 05 1 20 7 40 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24098875.0154 -1694939.09349 -1293624.31245 24098875.5344 24098879.5394
+ 3757.0594 2927.5824
+ 24209529.7444 -294753.87349 -20559.99845 24209529.5764 24209534.2374
+ -3187.4344 -2483.7214
+ 24963473.1114 1175929.91949 923199.49245 24963471.4184 24963473.7544
+ -1493.9864 -1164.1424
+ 23143335.7334 -11148479.67049 -8672401.84146 23143334.7944 23143336.2074
+ -3452.5744 -2690.3154
+ 20779186.2834 -22497249.44049 -17515206.76048 20779186.0194 20779190.3154
+ 585.1904 455.9934
+ 20996821.0914 -20366013.43549 -15627075.88448 20996820.5974 20996824.7954
+ -1111.2814 -865.9354
+ 23787692.7614 -4586562.00749 -3059498.57345 23787691.1924 23787696.3444
+ 3113.4714 2426.0814
+ 20841507.9784 -23495630.18849 -18287790.78948 20841507.8394 20841512.5304
+ 1281.8254 998.8254
+ 21677588.0654 -15669635.77149 -12188250.45647 21677588.5094 21677592.2004
+ -1649.3854 -1285.2364
+ 05 1 20 7 40 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24077433.4974 -1807616.31949 -1381424.76545 24077432.9004 24077436.8464
+ 3754.7324 2925.7634
+ 24227751.0984 -198993.30149 54058.66745 24227752.0034 24227757.0734
+ -3196.6734 -2490.9144
+ 24972026.8234 1220894.93449 958237.13345 24972026.1404 24972029.6564
+ -1503.6564 -1171.6814
+ 23163064.0234 -11044798.83949 -8591611.58246 23163063.3964 23163066.3144
+ -3459.4984 -2695.7154
+ 20775874.0274 -22514654.46949 -17528769.11948 20775873.7264 20775878.0844
+ 575.1444 448.1624
+ 21003192.5204 -20332529.15249 -15600984.24948 21003192.3084 21003196.4084
+ -1121.0304 -873.5304
+ 23769945.2404 -4679823.09649 -3132169.53845 23769944.0894 23769949.1614
+ 3103.9544 2418.6664
+ 20834210.2384 -23533980.08949 -18317673.83648 20834209.9184 20834214.6904
+ 1274.7914 993.3414
+ 21687057.0164 -15619877.88549 -12149478.07547 21687057.0154 21687061.8274
+ -1667.7774 -1299.5744
+ 05 1 20 7 41 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24056002.8284 -1920222.58249 -1469169.92045 24056003.5174 24056009.2554
+ 3752.3244 2923.8854
+ 24246029.3334 -102957.43749 128891.78945 24246028.5584 24246031.2034
+ -3205.7464 -2497.9874
+ 24980637.7804 1266150.05449 993500.82845 24980638.3384 24980640.5934
+ -1513.3444 -1179.2314
+ 23182831.8964 -10940912.84149 -8510661.48046 23182832.8474 23182835.8564
+ -3466.2494 -2700.9724
+ 20772618.6784 -22531758.12649 -17542096.64548 20772618.8584 20772623.2984
+ 565.1014 440.3384
+ 21009621.5564 -20298752.09149 -15574664.46748 21009620.2184 21009624.2934
+ -1130.7904 -881.1364
+ 23752252.2964 -4772798.43549 -3204617.84046 23752251.5154 23752257.5004
+ 3094.3884 2411.2114
+ 20826952.9914 -23572118.35049 -18347391.96148 20826952.2954 20826957.5074
+ 1267.7234 987.8344
+ 21696629.0484 -15569569.18549 -12110276.49647 21696629.8274 21696634.7104
+ -1686.1094 -1313.8574
+ 05 1 20 7 41 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24034588.9514 -2032754.98949 -1556857.49245 24034589.1104 24034595.3654
+ 3749.8504 2921.9614
+ 24264355.2774 -6648.63549 203937.68545 24264353.8874 24264358.4804
+ -3214.8394 -2505.0734
+ 24989305.7244 1311692.82749 1028988.73345 24989305.8584 24989308.4224
+ -1522.8684 -1186.6554
+ 23202640.5144 -10836824.29449 -8429553.53246 23202639.6194 23202643.7004
+ -3472.9824 -2706.1954
+ 20769421.8684 -22548561.31049 -17555190.03748 20769421.3964 20769425.7804
+ 555.1214 432.5644
+ 21016103.7834 -20264681.77449 -15548116.17948 21016103.6064 21016107.5874
+ -1140.5704 -888.7534
+ 23734616.4124 -4865485.14249 -3276841.25446 23734615.5924 23734619.9584
+ 3084.7194 2403.6774
+ 20819735.5374 -23610043.84649 -18376944.29948 20819735.5244 20819740.7104
+ 1260.6214 982.3074
+ 21706309.0794 -15518711.74549 -12070647.32947 21706308.5884 21706312.8944
+ -1704.3584 -1328.0654
+ 05 1 20 7 42 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 24013189.7574 -2145211.02049 -1644485.57045 24013190.0894 24013195.9334
+ 3747.2344 2919.9214
+ 24282733.2494 89930.00349 279193.75445 24282732.6724 24282738.3274
+ -3223.7934 -2512.0444
+ 24998025.0664 1357520.80349 1064698.80545 24998024.5524 24998027.2004
+ -1532.3474 -1194.0404
+ 23222485.6824 -10732535.22049 -8348289.32646 23222485.2944 23222488.6614
+ -3479.6594 -2711.4224
+ 20766281.3194 -22565064.84849 -17568049.93748 20766281.3224 20766285.3304
+ 545.1294 424.7754
+ 21022643.2674 -20230317.63949 -15521338.93748 21022642.9054 21022646.5994
+ -1150.3644 -896.3844
+ 23717033.3824 -4957880.64649 -3348837.74046 23717032.1544 23717037.0444
+ 3075.0084 2396.1144
+ 20812559.1554 -23647755.50449 -18406330.01148 20812558.9844 20812564.5094
+ 1253.4694 976.7314
+ 21716089.9434 -15467307.24149 -12030591.86947 21716089.9874 21716095.2564
+ -1722.5674 -1342.2554
+ 05 1 20 7 42 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23991804.6164 -2257588.09349 -1732052.11045 23991805.6134 23991812.4494
+ 3744.5484 2917.8324
+ 24301162.7574 186776.04149 354658.20945 24301162.5914 24301166.2794
+ -3232.6394 -2518.9434
+ 25006800.0754 1403631.66149 1100629.39445 25006799.0664 25006801.0384
+ -1541.7654 -1201.3824
+ 23242370.3534 -10628047.96649 -8266870.70646 23242368.8664 23242372.4004
+ -3486.1964 -2716.5304
+ 20763197.6984 -22581269.18849 -17580676.68648 20763197.4684 20763201.4544
+ 535.1674 417.0114
+ 21029238.2924 -20195659.66949 -15494332.73448 21029237.7974 21029242.1864
+ -1160.1604 -904.0184
+ 23699506.7974 -5049982.16649 -3420605.14246 23699505.6054 23699510.3724
+ 3065.1434 2388.4184
+ 20805424.0344 -23685252.18749 -18435548.20748 20805423.5824 20805428.8334
+ 1246.2824 971.1304
+ 21725975.7994 -15415357.72949 -11990111.74047 21725976.0354 21725979.5374
+ -1740.6754 -1356.3714
+ 05 1 20 7 43 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23970435.3054 -2369883.65249 -1819555.12545 23970435.7224 23970442.4274
+ 3741.8114 2915.6944
+ 24319641.9314 283886.91749 430329.01745 24319643.0124 24319645.0564
+ -3241.4204 -2525.7924
+ 25015629.0754 1450022.77649 1136778.39445 25015628.7404 25015632.1184
+ -1551.0124 -1208.5844
+ 23262289.6414 -10523365.06549 -8185299.64346 23262290.1544 23262292.6804
+ -3492.6384 -2721.5234
+ 20760170.6334 -22597175.24149 -17593071.00548 20760170.5794 20760174.8134
+ 525.2384 409.2754
+ 21035889.6844 -20160707.34049 -15467097.14948 21035889.1864 21035893.1954
+ -1169.9834 -911.6754
+ 23682038.2624 -5141787.13949 -3492141.49146 23682036.6304 23682040.5904
+ 3055.2244 2380.6964
+ 20798329.8844 -23722532.61949 -18464597.90248 20798329.7664 20798334.3824
+ 1239.0654 965.5084
+ 21735964.9954 -15362865.14249 -11949208.43447 21735964.8554 21735969.0354
+ -1758.7704 -1370.4704
+ 05 1 20 7 43 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23949083.1214 -2482094.98849 -1906992.53746 23949084.1094 23949089.7804
+ 3738.9274 2913.4474
+ 24338171.1534 381259.95849 506204.17945 24338171.7694 24338175.5724
+ -3250.1054 -2532.5534
+ 25024508.7284 1496692.22649 1173144.18045 25024507.3004 25024513.5664
+ -1560.2934 -1215.8074
+ 23282247.6564 -10418488.76249 -8103577.86146 23282247.3534 23282250.5294
+ -3499.1184 -2726.5854
+ 20757200.9454 -22612783.44049 -17605233.23248 20757200.4764 20757204.7064
+ 515.3054 401.5374
+ 21042596.9234 -20125460.50749 -15439632.07648 21042596.4144 21042600.6404
+ -1179.8154 -919.3374
+ 23664623.9234 -5233292.82149 -3563444.61946 23664623.4664 23664627.4484
+ 3045.1424 2372.8374
+ 20791277.4124 -23759595.65149 -18493478.18948 20791276.9124 20791281.6244
+ 1231.8154 959.8584
+ 21746056.3584 -15309831.36449 -11907883.40347 21746056.6064 21746061.5554
+ -1776.8324 -1384.5404
+ 05 1 20 7 44 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23927747.8334 -2594219.51849 -1994362.27446 23927747.3714 23927753.5834
+ 3736.0244 2911.1914
+ 24356752.2484 478892.39449 582281.37345 24356749.9964 24356753.3704
+ -3258.6564 -2539.2054
+ 25033442.6124 1543637.39049 1209724.75345 25033440.8744 25033443.6344
+ -1569.3784 -1222.8934
+ 23302240.9424 -10313421.26449 -8021707.07346 23302240.8184 23302243.8894
+ -3505.3894 -2731.4784
+ 20754286.3594 -22628094.74649 -17617164.11948 20754286.6484 20754291.0814
+ 505.4464 393.8504
+ 21049360.3294 -20089918.73449 -15411937.19648 21049359.9574 21049363.7824
+ -1189.6304 -926.9904
+ 23647268.6074 -5324496.67249 -3634512.54146 23647267.5514 23647272.1474
+ 3035.0634 2364.9814
+ 20784265.6514 -23796439.96749 -18522188.04548 20784265.4934 20784270.2594
+ 1224.4964 954.1494
+ 21756250.5634 -15256258.29149 -11866138.16147 21756251.5334 21756255.0984
+ -1794.7274 -1398.4914
+ 05 1 20 7 44 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23906430.0194 -2706254.72949 -2081662.43646 23906428.0454 23906434.2604
+ 3732.9734 2908.8094
+ 24375378.6594 576781.43149 658558.55545 24375378.5064 24375383.6504
+ -3267.2344 -2545.9024
+ 25042427.5614 1590855.70149 1246518.13345 25042426.0354 25042431.8184
+ -1578.4584 -1229.9664
+ 23322270.5944 -10208164.98649 -7939689.18946 23322269.8794 23322273.6874
+ -3511.6764 -2736.3594
+ 20751429.4674 -22643109.87449 -17628864.22348 20751429.4734 20751433.8324
+ 495.5884 386.1694
+ 21056180.1614 -20054081.58949 -15384012.15548 21056179.5494 21056183.7624
+ -1199.5054 -934.6794
+ 23629969.7584 -5415396.00449 -3705343.18746 23629969.6754 23629973.9214
+ 3024.8664 2357.0334
+ 20777296.2954 -23833064.49449 -18550726.64748 20777296.0074 20777301.0464
+ 1217.1344 948.4134
+ 21766547.7554 -15202147.93649 -11823974.24847 21766548.6274 21766552.3744
+ -1812.5814 -1412.4044
+ 05 1 20 7 45 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23885126.8964 -2818197.97649 -2168890.90646 23885125.6394 23885130.8154
+ 3729.8904 2906.4044
+ 24394052.9774 674924.33749 735033.54645 24394052.5134 24394057.3154
+ -3275.6754 -2552.4744
+ 25051463.6834 1638344.91949 1283522.75245 25051463.1144 25051467.2004
+ -1587.4654 -1236.9894
+ 23342334.5384 -10102722.20549 -7857526.00646 23342334.6684 23342338.6044
+ -3517.8264 -2741.1604
+ 20748628.4664 -22657829.45649 -17640334.02348 20748628.3234 20748632.5904
+ 485.7334 378.4914
+ 21063055.8824 -20017948.56549 -15355856.56148 21063055.2814 21063059.2104
+ -1209.3734 -942.3704
+ 23612731.9584 -5505987.87549 -3775934.25946 23612730.6934 23612734.3844
+ 3014.5694 2349.0194
+ 20770368.7374 -23869468.07049 -18579093.08048 20770368.8814 20770373.7444
+ 1209.7484 942.6624
+ 21776946.5674 -15147502.29249 -11781393.22447 21776947.4994 21776951.5754
+ -1830.3884 -1426.2764
+ 05 1 20 7 45 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23863841.0934 -2930046.77649 -2256045.81245 23863841.5234 23863846.0324
+ 3726.7184 2903.9364
+ 24412777.3044 773318.23549 811704.10745 24412775.8074 24412781.4724
+ -3284.0044 -2558.9494
+ 25060551.9314 1686102.53949 1320736.51545 25060551.9214 25060554.4644
+ -1596.3664 -1243.9234
+ 23362436.1054 -9997095.52449 -7775219.49946 23362434.4614 23362440.0654
+ -3523.9544 -2745.9254
+ 20745883.6524 -22672254.19349 -17651574.08448 20745883.5304 20745887.9624
+ 475.9254 370.8534
+ 21069987.5794 -19981519.46549 -15327470.26448 21069987.2954 21069991.4124
+ -1219.2454 -950.0604
+ 23595553.1384 -5596269.74549 -3846283.77746 23595550.5224 23595554.9584
+ 3004.1824 2340.9284
+ 20763483.8364 -23905649.51749 -18607286.42548 20763483.4634 20763488.7244
+ 1202.3244 936.8774
+ 21787448.1124 -15092323.44649 -11738396.71747 21787447.1134 21787451.6814
+ -1848.1494 -1440.1094
+ 05 1 20 7 46 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23842577.4674 -3041798.33949 -2343124.93846 23842576.0734 23842581.6534
+ 3723.4074 2901.3564
+ 24431549.0394 871960.79249 888568.46145 24431549.1184 24431554.5174
+ -3292.1934 -2565.3434
+ 25069691.4384 1734126.03349 1358157.45645 25069690.6834 25069693.7124
+ -1605.1974 -1250.8064
+ 23382568.7234 -9891287.07249 -7692771.37746 23382568.7694 23382573.2794
+ -3529.9534 -2750.6164
+ 20743194.5834 -22686385.03149 -17662585.12048 20743194.5644 20743198.6394
+ 466.1284 363.2164
+ 21076975.8644 -19944794.09649 -15298853.09748 21076975.7564 21076980.6334
+ -1229.1104 -957.7494
+ 23578430.0304 -5686239.04349 -3916389.71946 23578430.1094 23578434.5794
+ 2993.7224 2332.7674
+ 20756641.1764 -23941607.67549 -18635305.77648 20756640.9854 20756646.0444
+ 1194.8604 931.0604
+ 21798047.0984 -15036613.40649 -11694986.30847 21798048.3274 21798053.2414
+ -1865.8164 -1453.8824
+ 05 1 20 7 46 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23821327.1244 -3153450.19749 -2430126.36546 23821328.2264 23821333.8064
+ 3720.0304 2898.7204
+ 24450368.6614 970849.28649 965624.42845 24450367.1474 24450371.2054
+ -3300.3504 -2571.7094
+ 25078881.0194 1782413.16249 1395783.71445 25078880.9224 25078882.3004
+ -1613.9654 -1257.6364
+ 23402737.7084 -9785299.27649 -7610183.48546 23402738.4204 23402742.6644
+ -3535.8574 -2755.2314
+ 20740561.3084 -22700222.61549 -17673367.65948 20740561.2774 20740565.7144
+ 456.3754 355.6144
+ 21084021.7644 -19907772.08549 -15270004.78748 21084021.1724 21084025.2994
+ -1239.0174 -965.4684
+ 23561369.7004 -5775893.02349 -3986249.96346 23561369.1154 23561373.9004
+ 2983.1384 2324.5194
+ 20749841.6344 -23977341.35449 -18663150.20848 20749841.2014 20749846.3414
+ 1187.3634 925.2184
+ 21808751.0514 -14980374.06249 -11651163.44747 21808750.5074 21808754.8184
+ -1883.4184 -1467.5984
+ 05 1 20 7 47 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23800100.1794 -3264999.53649 -2517047.89445 23800100.9724 23800106.7984
+ 3716.5874 2896.0414
+ 24469229.7854 1069980.95549 1042869.89445 24469230.1234 24469236.4274
+ -3308.4254 -2577.9984
+ 25088116.4354 1830961.08549 1433613.30745 25088116.0254 25088120.9834
+ -1622.5964 -1264.3644
+ 23422940.5444 -9679134.52349 -7527457.72046 23422940.6774 23422945.3784
+ -3541.7434 -2759.7894
+ 20737983.8004 -22713767.59249 -17683922.19148 20737983.6354 20737988.3504
+ 446.6344 348.0304
+ 21091122.8454 -19870452.81549 -15240924.86048 21091122.7974 21091126.8254
+ -1248.9354 -973.1964
+ 23544371.0734 -5865228.85249 -4055862.30446 23544370.0464 23544374.0424
+ 2972.5454 2316.2684
+ 20743085.2654 -24012849.40749 -18690818.82848 20743084.3614 20743089.0314
+ 1179.8344 919.3524
+ 21819552.2894 -14923607.74449 -11606929.96147 21819552.7194 21819556.8424
+ -1900.9254 -1481.2334
+ 05 1 20 7 47 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23778893.5174 -3376443.71949 -2603887.48845 23778894.4654 23778898.9874
+ 3713.0264 2893.2704
+ 24488141.2514 1169352.94149 1120302.62545 24488140.6994 24488145.2004
+ -3316.3164 -2584.1444
+ 25097403.6324 1879767.51249 1471644.26145 25097404.4244 25097410.3044
+ -1631.1844 -1271.0444
+ 23443176.9614 -9572795.09149 -7444595.83346 23443176.3374 23443180.9034
+ -3547.5314 -2764.3134
+ 20735461.9714 -22727020.80849 -17694249.37848 20735461.9114 20735466.0284
+ 436.9314 340.4654
+ 21098281.3904 -19832836.17749 -15211613.20248 21098280.9054 21098285.1404
+ -1258.8494 -980.9214
+ 23527433.5614 -5954244.15149 -4125224.87646 23527431.5534 23527435.0584
+ 2961.8034 2307.9064
+ 20736369.9574 -24048130.71749 -18718310.75948 20736370.1454 20736374.8994
+ 1172.2514 913.4404
+ 21830455.1764 -14866316.31249 -11562287.29247 21830455.1064 21830459.6274
+ -1918.4114 -1494.8654
+ 05 1 20 7 48 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23757709.5164 -3487780.32549 -2690643.28146 23757709.1784 23757713.1504
+ 3709.4194 2890.4564
+ 24507100.0724 1268962.93549 1197920.79145 24507096.5824 24507098.5994
+ -3324.2884 -2590.3514
+ 25106743.0444 1928829.93149 1509874.72145 25106741.7444 25106743.3414
+ -1639.5814 -1277.6044
+ 23463445.9794 -9466283.35649 -7361599.70446 23463446.0784 23463449.4514
+ -3553.2414 -2768.7544
+ 20732995.4104 -22739983.01849 -17704349.80748 20732995.4264 20732999.5914
+ 427.2324 332.9074
+ 21105496.3214 -19794922.00849 -15182069.71148 21105495.7714 21105499.9674
+ -1268.7834 -988.6634
+ 23510553.9764 -6042935.99849 -4194335.42346 23510554.4554 23510557.8794
+ 2950.9804 2299.4684
+ 20729700.3504 -24083183.96549 -18745624.97848 20729699.6984 20729704.9394
+ 1164.6144 907.4924
+ 21841456.2634 -14808501.94349 -11517237.14147 21841456.7484 21841460.9424
+ -1935.7894 -1508.4074
+ 05 1 20 7 48 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23736542.5554 -3599006.78349 -2777313.25146 23736542.1944 23736547.0734
+ 3705.6984 2887.5594
+ 24526097.2434 1368807.93449 1275722.11045 24526094.4324 24526100.7254
+ -3332.0564 -2596.4094
+ 25116126.8994 1978146.00749 1548302.80645 25116126.1524 25116129.8904
+ -1648.1194 -1284.2514
+ 23483747.0774 -9359601.75849 -7278471.19946 23483746.6534 23483750.3524
+ -3558.8584 -2773.1474
+ 20730584.1164 -22752654.71349 -17714223.85148 20730583.9494 20730588.4044
+ 417.5614 325.3704
+ 21112767.1844 -19756709.92549 -15152294.07147 21112767.0424 21112771.4484
+ -1278.7064 -996.3974
+ 23493738.6414 -6131301.59349 -4263191.72446 23493737.6564 23493742.4314
+ 2940.0234 2290.9244
+ 20723073.5354 -24118007.87149 -18772760.50548 20723073.0614 20723078.2764
+ 1156.9644 901.5294
+ 21852556.0614 -14750166.70849 -11471781.10647 21852557.0804 21852561.4934
+ -1953.1244 -1521.9104
+ 05 1 20 7 49 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23715399.5904 -3710120.22049 -2863895.15646 23715398.2404 23715403.0024
+ 3701.9054 2884.6004
+ 24545132.8594 1468885.33258 1353704.50055 24545139.6044 24545145.1974
+ -3339.5294 -2602.2234
+ 25125557.3394 2027713.40649 1586926.70545 25125556.1974 25125563.6634
+ -1656.3974 -1290.6984
+ 23504080.4064 -9252752.50549 -7195212.06646 23504080.4674 23504083.3124
+ -3564.3914 -2777.4604
+ 20728227.7404 -22765037.00949 -17723872.39548 20728227.7184 20728231.8944
+ 407.9514 317.8844
+ 21120096.7974 -19718199.39849 -15122285.88148 21120095.9514 21120099.7934
+ -1288.6614 -1004.1474
+ 23476985.7044 -6219338.37749 -4331791.81846 23476984.8424 23476989.5064
+ 2929.0564 2282.3784
+ 20716490.6334 -24152601.34949 -18799716.46248 20716489.9604 20716495.4554
+ 1149.2634 895.5324
+ 21863756.8064 -14691312.80249 -11425920.92247 21863756.1744 21863761.5164
+ -1970.3494 -1535.3334
+ 05 1 20 7 49 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23694275.9644 -3821117.98649 -2950386.86546 23694276.0634 23694282.1034
+ 3697.9534 2881.5204
+ 24564225.5024 1569192.38558 1431865.80354 24564226.2784 24564230.6374
+ -3347.3304 -2608.3064
+ 25135039.2524 2077529.29449 1625744.26045 25135038.3974 25135040.4694
+ -1664.5704 -1297.0684
+ 23524445.2444 -9145738.29349 -7111824.37746 23524443.6434 23524446.7114
+ -3569.8624 -2781.6944
+ 20725926.5774 -22777130.66749 -17733296.03048 20725926.3794 20725930.4214
+ 398.3164 310.3764
+ 21127481.8194 -19679390.27249 -15092045.02447 21127481.0114 21127484.8354
+ -1298.6004 -1011.8954
+ 23460294.2404 -6307043.92749 -4400133.78246 23460294.2934 23460299.1644
+ 2917.9404 2273.7124
+ 20709951.4064 -24186963.24849 -18826491.97748 20709951.2294 20709956.4444
+ 1141.5104 889.4894
+ 21875054.7134 -14631942.35749 -11379658.24747 21875054.8834 21875059.0714
+ -1987.5494 -1548.7454
+ 05 1 20 7 50 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23673175.7504 -3931997.62449 -3036786.56446 23673176.5014 23673181.1844
+ 3693.9734 2878.4144
+ 24583359.4464 1669726.82248 1510204.26545 24583358.2954 24583363.6934
+ -3354.9324 -2614.2294
+ 25144568.0514 2127591.23049 1664753.57945 25144565.5574 25144568.8714
+ -1672.7884 -1303.4754
+ 23544838.6514 -9038561.28149 -7028309.82346 23544839.6564 23544841.7464
+ -3575.2274 -2785.8834
+ 20723679.5924 -22788935.91249 -17742494.92648 20723679.8204 20723683.8874
+ 388.7154 302.8964
+ 21134922.8134 -19640282.32449 -15061571.30447 21134922.4524 21134927.1604
+ -1308.5654 -1019.6604
+ 23443670.0474 -6394415.48249 -4468215.51746 23443668.7024 23443672.5854
+ 2906.7754 2265.0214
+ 20703456.9764 -24221092.16649 -18853085.94848 20703456.7834 20703461.9454
+ 1133.7284 883.4254
+ 21886450.3024 -14572057.44549 -11332994.67647 21886450.5404 21886455.4504
+ -2004.6754 -1562.0794
+ 05 1 20 7 50 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23652098.5294 -4042756.72149 -3123092.31646 23652098.1624 23652104.6384
+ 3689.9164 2875.2624
+ 24602536.7374 1770485.43648 1588717.47945 24602533.4734 24602535.6954
+ -3362.3644 -2620.0304
+ 25154137.1944 2177896.69449 1703952.55445 25154137.8904 25154141.1744
+ -1680.9174 -1309.8034
+ 23565262.4774 -8931223.86149 -6944670.30246 23565264.1404 23565266.6934
+ -3580.5684 -2790.0524
+ 20721488.4414 -22800453.77849 -17751469.88648 20721487.9744 20721492.0584
+ 379.1484 295.4414
+ 21142421.8614 -19600875.28949 -15030864.53347 21142421.6074 21142425.9254
+ -1318.5504 -1027.4394
+ 23427106.5684 -6481450.26349 -4536034.83446 23427105.6844 23427111.2974
+ 2895.5184 2256.2454
+ 20697007.3164 -24254986.87249 -18879497.40348 20697006.8324 20697011.8444
+ 1125.9084 877.3294
+ 21897943.0154 -14511660.29449 -11285931.96647 21897943.3154 21897947.4804
+ -2021.7244 -1575.3724
+ 05 1 20 7 51 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23631046.9474 -4153392.33449 -3209301.86646 23631046.4554 23631051.8624
+ 3685.7514 2872.0154
+ 24621745.0404 1871465.74058 1667403.43655 24621749.4674 24621753.1364
+ -3369.7234 -2625.7524
+ 25163756.9994 2228443.09549 1743339.37145 25163754.5324 25163760.2214
+ -1688.8914 -1316.0244
+ 23585720.1254 -8823728.34649 -6860907.57446 23585719.5994 23585722.5054
+ -3585.8014 -2794.1204
+ 20719351.0004 -22811684.81649 -17760221.34848 20719350.9714 20719354.8064
+ 369.5984 287.9934
+ 21149978.3604 -19561168.75649 -14999924.38947 21149977.8164 21149981.7854
+ -1328.5604 -1035.2464
+ 23410608.1014 -6568145.57349 -4603589.59746 23410609.1874 23410613.9654
+ 2884.1664 2247.3984
+ 20690602.4834 -24288646.25149 -18905725.49548 20690601.7874 20690606.8034
+ 1118.0404 871.1984
+ 21909533.9184 -14450753.06349 -11238471.78447 21909534.0144 21909538.7614
+ -2038.6874 -1588.5924
+ 05 1 20 7 51 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23610018.3704 -4263901.95449 -3295413.24346 23610016.4904 23610021.1164
+ 3681.5494 2868.7324
+ 24641007.4494 1972665.22548 1746260.20345 24641004.3424 24641012.3274
+ -3376.9934 -2631.4274
+ 25173421.0884 2279228.36249 1782912.27445 25173420.4734 25173423.8004
+ -1696.8214 -1322.2064
+ 23606204.9794 -8716077.18049 -6777023.55046 23606204.6234 23606207.9504
+ -3590.9704 -2798.1624
+ 20717268.1464 -22822630.06649 -17768750.12148 20717267.9954 20717272.1304
+ 360.0714 280.5744
+ 21157590.6604 -19521162.45249 -14968750.64447 21157590.3044 21157595.2574
+ -1338.5394 -1043.0204
+ 23394178.6214 -6654498.81549 -4670877.83746 23394176.5154 23394181.2094
+ 2872.6984 2238.4614
+ 20684241.7634 -24322069.13449 -18931769.29948 20684241.3634 20684246.5674
+ 1110.1474 865.0494
+ 21921220.0874 -14389338.05649 -11190615.94147 21921220.6154 21921224.9704
+ -2055.5874 -1601.7524
+ 05 1 20 7 52 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23589011.3164 -4374283.01149 -3381424.45946 23589012.3194 23589016.9584
+ 3677.1994 2865.3484
+ 24660305.3464 2074081.08348 1825285.49044 24660304.6514 24660312.5904
+ -3384.1554 -2637.0064
+ 25183128.5764 2330249.61849 1822669.00845 25183128.1494 25183131.4404
+ -1704.6434 -1328.2874
+ 23626720.5394 -8608272.60749 -6693019.97746 23626720.2944 23626722.6484
+ -3596.0394 -2802.1024
+ 20715239.4664 -22833290.15249 -17777056.68748 20715239.3604 20715243.5394
+ 350.5844 273.1814
+ 21165260.5944 -19480856.24749 -14937343.21947 21165260.4994 21165264.5334
+ -1348.5454 -1050.8194
+ 23377809.1074 -6740507.45149 -4737897.56146 23377809.0364 23377814.3564
+ 2861.1454 2229.4654
+ 20677927.0104 -24355254.24749 -18957627.83848 20677926.4544 20677931.6514
+ 1102.1854 858.8434
+ 21933003.9894 -14327417.32149 -11142366.01447 21933004.0284 21933008.0664
+ -2072.3984 -1614.8604
+ 05 1 20 7 52 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23568033.3064 -4484532.85949 -3467333.42046 23568032.3464 23568036.8214
+ 3672.7624 2861.8964
+ 24679648.3404 2175710.51849 1904477.15045 24679645.8534 24679648.8154
+ -3391.1644 -2642.4584
+ 25192883.0324 2381504.25749 1862607.73145 25192883.3734 25192887.0674
+ -1712.3754 -1334.3134
+ 23647262.4464 -8500317.24949 -6608898.91546 23647261.4924 23647265.2754
+ -3601.0524 -2806.0294
+ 20713265.3734 -22843665.83549 -17785141.63348 20713264.9774 20713269.2594
+ 341.1124 265.8014
+ 21172988.2624 -19440249.76949 -14905701.81547 21172987.6104 21172991.8304
+ -1358.5644 -1058.6224
+ 23361511.7604 -6826168.79849 -4804646.67446 23361509.0564 23361513.1984
+ 2849.5504 2220.4294
+ 20671657.3594 -24388200.42549 -18983300.18648 20671657.0024 20671662.3564
+ 1094.2094 852.6314
+ 21944883.6144 -14264993.20949 -11093723.83347 21944883.5484 21944887.5394
+ -2089.1644 -1627.9194
+ 05 1 20 7 53 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23547078.4304 -4594648.89049 -3553138.12446 23547078.3404 23547083.1694
+ 3668.2644 2858.3824
+ 24699025.7764 2277550.85049 1983833.24045 24699024.2864 24699027.9154
+ -3398.2094 -2647.9524
+ 25202682.0904 2432989.83149 1902726.36245 25202680.2774 25202683.8104
+ -1719.9824 -1340.2434
+ 23667833.4724 -8392213.38149 -6524662.13146 23667834.3024 23667837.8054
+ -3605.9244 -2809.8064
+ 20711344.8144 -22853757.96149 -17793005.63548 20711344.6224 20711348.8704
+ 331.6814 258.4524
+ 21180772.5684 -19399342.81849 -14873826.28947 21180772.1874 21180776.5444
+ -1368.5644 -1066.4164
+ 23345274.7074 -6911480.31249 -4871123.20046 23345275.1894 23345279.7664
+ 2837.8614 2211.3264
+ 20665433.7614 -24420906.37149 -19008785.34348 20665433.6544 20665438.7644
+ 1086.1804 846.3734
+ 21956856.6184 -14202067.92749 -11044691.16547 21956857.6084 21956861.5364
+ -2105.8124 -1640.8874
+ 05 1 20 7 53 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23526149.3084 -4704628.43649 -3638836.45446 23526149.3994 23526154.6084
+ 3663.6604 2854.7944
+ 24718442.2494 2379599.76248 2063351.88045 24718442.0254 24718447.1444
+ -3405.1204 -2653.3364
+ 25212522.8264 2484703.73849 1943022.92145 25212522.7374 25212525.7144
+ -1727.6304 -1346.2094
+ 23688433.9934 -8283963.40349 -6440311.48346 23688432.9054 23688436.2704
+ -3610.7264 -2813.5524
+ 20709477.7534 -22863567.18549 -17800649.18748 20709477.7724 20709482.1774
+ 322.2604 251.1104
+ 21188613.8844 -19358135.05249 -14841716.36247 21188613.6964 21188617.8354
+ -1378.6244 -1074.2584
+ 23329110.1374 -6996439.04249 -4937324.79346 23329107.1554 23329112.2994
+ 2826.0694 2202.1294
+ 20659255.7644 -24453370.77249 -19034082.28548 20659255.3984 20659260.8544
+ 1078.1174 840.0894
+ 21968925.8484 -14138643.65849 -10995269.66247 21968926.3604 21968930.2204
+ -2122.3974 -1653.8234
+ 05 1 20 7 54 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23505246.1394 -4814468.89649 -3724426.40446 23505246.5564 23505252.9394
+ 3659.0064 2851.1674
+ 24737898.6804 2481854.56248 2143030.95145 24737899.7574 24737903.7234
+ -3411.8844 -2658.6124
+ 25222403.1874 2536643.45349 1983495.42845 25222401.9374 25222407.9324
+ -1735.0664 -1351.9974
+ 23709059.1964 -8175569.69649 -6355848.81846 23709060.5994 23709062.4054
+ -3615.4774 -2817.2544
+ 20707664.8564 -22873094.16449 -17808072.80748 20707664.7404 20707669.2624
+ 312.8894 243.8034
+ 21196512.9604 -19316626.13649 -14809371.77147 21196512.4624 21196516.9074
+ -1388.6324 -1082.0544
+ 23313008.7084 -7081042.56049 -5003249.61846 23313007.9694 23313012.7984
+ 2814.1744 2192.8594
+ 20653124.0834 -24485592.31349 -19059189.98448 20653123.9654 20653129.4924
+ 1069.9894 833.7554
+ 21981089.4794 -14074722.87549 -10945461.25947 21981089.7714 21981094.5504
+ -2138.9354 -1666.6984
+ 05 1 20 7 54 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23484372.3034 -4924167.67449 -3809905.94946 23484373.1274 23484378.6444
+ 3654.1934 2847.4244
+ 24757395.8014 2584312.57348 2222868.37345 24757397.7604 24757403.5134
+ -3418.6134 -2663.8454
+ 25232329.7054 2588806.69349 2024142.07945 25232329.6384 25232336.7834
+ -1742.5354 -1357.8164
+ 23729712.9124 -8067034.64449 -6271276.03246 23729713.8344 23729717.0494
+ -3620.1854 -2820.9144
+ 20705905.5654 -22882340.13849 -17815277.47248 20705905.4434 20705909.8004
+ 303.5364 236.5164
+ 21204469.0824 -19274816.04949 -14776792.47947 21204468.6204 21204473.4694
+ -1398.6974 -1089.8944
+ 23296975.9264 -7165288.05849 -5068895.46846 23296976.0194 23296980.8344
+ 2802.1764 2183.5204
+ 20647039.1524 -24517569.92649 -19084107.61348 20647038.9904 20647044.1484
+ 1061.8384 827.4004
+ 21993347.6264 -14010307.79649 -10895267.70247 21993348.4674 21993352.6864
+ -2155.3414 -1679.4914
+ 05 1 20 7 55 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23463526.3924 -5033722.03549 -3895273.01246 23463524.8094 23463529.1004
+ 3649.3664 2843.6584
+ 24776938.0404 2686970.90449 2302861.89245 24776934.0054 24776938.1574
+ -3425.2104 -2668.9884
+ 25242302.0434 2641190.81049 2064960.84845 25242300.6544 25242302.3714
+ -1749.6734 -1363.3904
+ 23750394.4634 -7958360.76249 -6186595.03946 23750393.5534 23750397.0684
+ -3624.7584 -2824.4764
+ 20704199.2144 -22891305.69349 -17822263.62048 20704199.3074 20704203.6184
+ 294.1844 229.2344
+ 21212483.1444 -19232704.36149 -14743978.17547 21212482.6014 21212486.8034
+ -1408.7334 -1097.7124
+ 23281011.9534 -7249172.86249 -5134260.25146 23281013.4204 23281018.5714
+ 2790.1174 2174.1244
+ 20641001.1184 -24549302.24949 -19108834.10448 20641000.6824 20641005.7514
+ 1053.6504 821.0244
+ 22005700.3804 -13945400.62349 -10844690.69047 22005699.7434 22005702.8944
+ -2171.7234 -1692.2534
+ 05 1 20 7 55 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23442707.5044 -5143129.52149 -3980525.59846 23442706.0734 23442710.9874
+ 3644.4614 2839.8404
+ 24796507.8314 2789826.80948 2383009.35244 24796505.5064 24796510.1204
+ -3431.9084 -2674.2084
+ 25252307.3994 2693792.94349 2105949.47545 25252307.8184 25252312.6134
+ -1757.0124 -1369.0994
+ 23771101.0044 -7849550.39849 -6101807.67646 23771099.5284 23771102.0864
+ -3629.2454 -2827.9794
+ 20702546.7874 -22899991.57249 -17829031.83948 20702546.5704 20702550.7784
+ 284.8674 221.9784
+ 21220553.5194 -19190291.00049 -14710928.79447 21220553.0784 21220557.5624
+ -1418.8164 -1105.5704
+ 23265121.2804 -7332694.62049 -5199342.11546 23265119.5784 23265124.2514
+ 2777.9714 2164.6474
+ 20635009.7044 -24580788.12749 -19133368.55148 20635009.0634 20635014.2084
+ 1045.4094 814.6104
+ 22018143.5634 -13880003.70849 -10793732.05347 22018144.2994 22018148.6944
+ -2188.0004 -1704.9304
+ 05 1 20 7 56 0.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23421915.1504 -5252387.51949 -4065661.70046 23421914.4894 23421919.8804
+ 3639.4144 2835.9134
+ 24816116.4514 2892877.76348 2463308.82844 24816115.9474 24816120.0914
+ -3438.2584 -2679.1694
+ 25262359.5044 2746610.55249 2147106.06445 25262359.7264 25262365.8424
+ -1764.1554 -1374.6674
+ 23791832.0544 -7740605.87249 -6016915.77845 23791832.1864 23791835.1554
+ -3633.7414 -2831.4834
+ 20700947.1834 -22908398.27149 -17835582.51948 20700946.8814 20700951.2794
+ 275.5644 214.7254
+ 21228682.4534 -19147575.57849 -14677644.05447 21228682.0764 21228686.0334
+ -1428.8774 -1113.4114
+ 23249297.2264 -7415850.43149 -5264138.86446 23249296.1244 23249300.8564
+ 2765.7094 2155.0994
+ 20629065.0404 -24612026.30549 -19157709.98948 20629064.5464 20629069.5964
+ 1037.1134 808.1404
+ 22030681.5734 -13814119.34349 -10742393.60647 22030681.3514 22030686.1404
+ -2204.2324 -1717.5764
+ 05 1 20 7 56 30.0000000 0 9G16G 5G11G22G25G14G20G 1G30
+ 23401152.7294 -5361493.32649 -4150679.18346 23401151.8714 23401159.2714
+ 3634.3144 2831.9434
+ 24835764.2964 2996121.44258 2543758.55754 24835760.6954 24835769.3404
+ -3444.6854 -2684.1774
+ 25272452.2424 2799641.14449 2188428.57345 25272454.0284 25272454.8004
+ -1771.1864 -1380.1434
+ 23812586.8284 -7631529.56949 -5931921.21446 23812588.6764 23812590.1554
+ -3638.0644 -2834.8684
+ 20699400.3834 -22916526.80649 -17841916.44848 20699400.2524 20699404.4864
+ 266.3414 207.5364
+ 21236869.6014 -19104557.79049 -14644123.69947 21236868.5864 21236872.2014
+ -1438.9584 -1121.2654
+ 23233542.2434 -7498638.04049 -5328648.68446 23233542.5244 23233545.9814
+ 2753.4414 2145.5374
+ 20623167.9264 -24643015.68949 -19181857.57248 20623167.7004 20623172.6294
+ 1028.8204 801.6774
+ 22043311.1474 -13747749.96649 -10690677.20247 22043311.6344 22043315.7144
+ -2220.3344 -1730.1254
+ 05 1 20 7 57 0.0000000 0 8G16G 5G22G25G14G20G 1G30
+ 23380418.9684 -5470444.16049 -4235575.92246 23380419.0524 23380424.8234
+ 3629.0784 2827.8474
+ 24855442.6174 3099555.34258 2624356.39854 24855442.1784 24855458.9764
+ -3450.7954 -2688.9224
+ 23833369.3634 -7522324.06049 -5846825.95746 23833369.0444 23833372.2764
+ -3642.3444 -2838.1904
+ 20697906.4464 -22924378.19349 -17848034.40848 20697906.1374 20697910.5194
+ 257.1034 200.3404
+ 21245111.7944 -19061237.68649 -14610367.77447 21245111.5974 21245115.3084
+ -1449.0544 -1129.1324
+ 23217860.2774 -7581054.79549 -5392869.51446 23217858.4354 23217862.6594
+ 2740.9884 2135.8364
+ 20617318.1714 -24673754.89049 -19205810.19548 20617318.0884 20617323.1714
+ 1020.4684 795.1734
+ 22056032.3774 -13680897.90649 -10638584.68147 22056032.4104 22056036.8844
+ -2236.3894 -1742.6534
+ 05 1 20 7 57 30.0000000 0 8G16G 5G22G25G14G20G 1G30
+ 23359718.1534 -5579237.65249 -4320350.07246 23359717.8104 23359720.5644
+ 3623.8244 2823.7614
+ 24875167.7364 3203176.63948 2705100.22744 24875167.6274 24875168.0594
+ -3457.2014 -2693.9244
+ 23854173.9404 -7412991.54949 -5761631.73045 23854173.4704 23854176.8284
+ -3646.4984 -2841.4244
+ 20696464.9464 -22931952.89149 -17853936.77748 20696464.7544 20696468.9374
+ 247.8894 193.1594
+ 21253413.3004 -19017614.82249 -14576375.94747 21253412.2964 21253416.2394
+ -1459.1414 -1136.9964
+ 23202245.5814 -7663097.87649 -5456799.19046 23202245.6854 23202251.3304
+ 2728.5254 2126.1334
+ 20611517.1454 -24704242.55749 -19229566.82448 20611516.7754 20611521.7054
+ 1012.0654 788.6254
+ 22068845.9064 -13613565.48249 -10586117.85847 22068846.0314 22068849.9454
+ -2252.3354 -1755.0654
+ 05 1 20 7 58 0.0000000 0 8G16G 5G22G25G14G20G 1G30
+ 23339047.2664 -5687871.09449 -4404999.48846 23339045.5884 23339049.1434
+ 3618.4254 2819.5404
+ 24894920.9864 3306982.35848 2785987.85344 24894923.2724 24894922.6524
+ -3463.3454 -2698.7184
+ 23875004.2084 -7303534.58249 -5676340.52545 23875002.7194 23875005.8494
+ -3650.5964 -2844.6204
+ 20695075.6814 -22939251.68349 -17859624.14848 20695075.7484 20695079.9794
+ 238.7024 186.0004
+ 21261771.6214 -18973689.08549 -14542148.11347 21261771.4864 21261775.3944
+ -1469.2604 -1144.8824
+ 23186706.5024 -7744764.73849 -5520435.70246 23186705.8464 23186710.5904
+ 2715.9034 2116.3014
+ 20605763.8134 -24734477.49649 -19253126.52348 20605763.2084 20605768.1604
+ 1003.5954 782.0204
+ 22081749.0824 -13545755.08949 -10533278.60247 22081749.2224 22081753.3894
+ -2268.2734 -1767.4854
+ 05 1 20 7 58 30.0000000 0 8G16G 5G22G25G14G20G 1G30
+ 23318404.8924 -5796342.10249 -4489522.36446 23318403.2974 23318407.1884
+ 3612.9544 2815.2974
+ 24914711.6614 3410983.91757 2867028.15654 24914711.0174
+ -3461.6544 -2697.3934
+ 23895856.5714 -7193955.37749 -5590954.05845 23895856.3594 23895859.5604
+ -3654.6744 -2847.7954
+ 20693739.1684 -22946275.47049 -17865097.23248 20693739.2304 20693743.4194
+ 229.5554 178.8714
+ 21270187.8754 -18929459.99649 -14507683.88547 21270187.9404 21270192.8554
+ -1479.3534 -1152.7434
+ 23171238.4744 -7826052.81849 -5583777.05746 23171236.9914 23171241.1914
+ 2703.2534 2106.4294
+ 20600057.9254 -24764458.30449 -19276488.19448 20600057.8754 20600062.6804
+ 995.1134 775.4104
+ 22094743.6354 -13477468.98249 -10480068.63447 22094743.2994 22094748.3304
+ -2284.1004 -1779.8324
+ 05 1 20 7 59 0.0000000 0 7G16G22G25G14G20G 1G30
+ 23297793.2134 -5904647.90749 -4573916.49346 23297793.0544 23297798.7294
+ 3607.4484 2811.0004
+ 23916727.4254 -7084256.69749 -5505474.49845 23916729.0844 23916733.5044
+ -3658.6344 -2850.8834
+ 20692455.4534 -22953024.82949 -17870356.47448 20692454.9414 20692458.9794
+ 220.4194 171.7544
+ 21278662.8824 -18884927.70549 -14472983.40047 21278662.4964 21278666.5084
+ -1489.4744 -1160.6334
+ 23155842.6304 -7906959.46749 -5646821.20646 23155841.2504 23155845.9614
+ 2690.4724 2096.4754
+ 20594401.6134 -24794183.72349 -19299650.85748 20594401.3394 20594406.2604
+ 986.5774 768.7634
+ 22107829.2384 -13408709.80549 -10426490.06347 22107828.1744 22107832.0494
+ -2299.7964 -1792.0584
+ 05 1 20 7 59 30.0000000 0 7G16G22G25G14G20G 1G30
+ 23277215.6694 -6012785.91149 -4658179.88146 23277216.2574 23277220.2714
+ 3601.7734 2806.5704
+ 23937627.4904 -6974440.45849 -5419903.33445 23937627.6174 23937629.3564
+ -3662.4934 -2853.8944
+ 20691222.4414 -22959500.72249 -17875402.62848 20691222.6304 20691226.5794
+ 211.3134 164.6594
+ 21287194.8384 -18840091.92049 -14438046.43747 21287194.4584 21287197.7984
+ -1499.6054 -1168.5274
+ 23140519.3814 -7987482.19149 -5709566.17646 23140517.7464 23140522.4614
+ 2677.6204 2086.4604
+ 20588793.8874 -24823652.53449 -19322613.56148 20588793.4164 20588798.6074
+ 977.9964 762.0734
+ 22121001.4424 -13339479.78249 -10372544.59147 22121002.1884 22121006.7694
+ -2315.4614 -1804.2584
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 8 0 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23256669.3664 -6120753.23749 -4742310.28446 23256670.2564 23256674.9664
+ 3596.0644 2802.1414
+ 24718360.3294 -57553.93549 -31137.97243
+ 1968.6394 1534.0044
+ 23958545.5864 -6864509.04449 -5334242.40645 23958546.2804 23958549.7834
+ -3666.2774 -2856.8424
+ 20690041.8904 -22965703.85749 -17880236.25048 20690042.0334 20690046.2234
+ 202.2424 157.5924
+ 21295784.9824 -18794952.28949 -14402872.70747 21295784.1344 21295787.9564
+ -1509.7204 -1176.4034
+ 23125268.6684 -8067618.19449 -5772009.83546 23125269.2864 23125272.3124
+ 2664.7414 2076.4264
+ 20583235.2974 -24852863.50349 -19345375.35748 20583234.9094 20583239.8484
+ 969.3914 755.3694
+ 22134264.7134 -13269781.45749 -10318234.20647 22134264.9594 22134269.6764
+ -2331.0254 -1816.3824
+ 05 1 20 8 0 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23236158.4884 -6228547.54149 -4826305.85346 23236158.3174 23236162.5774
+ 3590.2444 2797.5934
+ 24707138.9484 -116510.58549 -77080.40244
+ 1961.5554 1529.4824
+ 23979487.7964 -6754465.27249 -5248493.91746 23979488.6264 23979489.3064
+ -3669.9814 -2859.7314
+ 20688913.6084 -22971635.01649 -17884857.93348 20688913.3554 20688917.6554
+ 193.1604 150.5154
+ 21304432.2854 -18749508.78949 -14367462.18547 21304431.3444 21304435.4924
+ -1519.8464 -1184.2934
+ 23110095.1314 -8147365.22749 -5834150.38246 23110093.4644 23110097.5844
+ 2651.7224 2066.2844
+ 20577725.7224 -24881815.30849 -19367935.21148 20577725.5564 20577730.4204
+ 960.7204 748.6154
+ 22147617.6454 -13199617.25849 -10263560.79847 22147618.0814 22147621.0634
+ -2346.5494 -1828.4824
+ 05 1 20 8 1 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23215678.7324 -6336166.25849 -4910164.61846 23215678.3684 23215683.5044
+ 3584.3134 2792.9804
+ 24695965.5814 -175254.15849 -122857.08444
+ 1954.4764 1523.0494
+ 24000449.8224 -6644311.49649 -5162659.74946 24000448.8894 24000450.9924
+ -3673.5904 -2862.5424
+ 20687836.3764 -22977294.96049 -17889268.28348 20687836.2834 20687840.5494
+ 184.1454 143.4964
+ 21313136.8614 -18703761.41149 -14331814.89247 21313136.6104 21313141.5174
+ -1529.9764 -1192.1894
+ 23094994.5914 -8226720.46649 -5895985.62146 23094992.9454 23094997.5184
+ 2638.6424 2056.0734
+ 20572265.3824 -24910506.71649 -19390292.15748 20572265.4774 20572270.8044
+ 952.0224 741.8414
+ 22161057.0474 -13128989.55149 -10208526.22047 22161056.9514 22161062.2224
+ -2361.9384 -1840.4634
+ 05 1 20 8 1 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23195234.8124 -6443606.65449 -4993884.41846 23195233.7264 23195237.8304
+ 3578.3134 2788.2864
+ 24684823.2374 -233782.09249 -27744.33843
+ 1947.2344 1517.3244
+ 24021430.8664 -6534050.25949 -5076741.82945 24021430.5294 24021433.5324
+ -3677.1344 -2865.2994
+ 20686810.7824 -22982684.54449 -17893467.95748 20686810.7754 20686814.8514
+ 175.1514 136.4834
+ 21321901.8894 -18657709.80049 -14295930.53247 21321900.2194 21321903.9934
+ -1540.1274 -1200.1004
+ 23079968.7464 -8305681.42249 -5957513.63246 23079967.2374 23079971.9264
+ 2625.4134 2045.7754
+ 20566856.2434 -24938936.31149 -19412445.08348 20566855.8134 20566860.8314
+ 943.2724 735.0194
+ 22174585.0804 -13057900.80149 -10153132.39247 22174585.8124 22174589.3454
+ -2377.2614 -1852.4164
+ 05 1 20 8 2 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23174823.3954 -6550866.25549 -5077463.34546 23174823.6594 23174826.9404
+ 3572.2984 2783.6204
+ -292091.42241 -42908.659 4 24681130.584
+ 1939.7464 1515.254
+ 24042431.9414 -6423683.72249 -4990741.86245 24042430.7594 24042435.1034
+ -3680.6074 -2868.0174
+ 20685836.3954 -22987804.51549 -17897457.54948 20685836.3444 20685840.6324
+ 166.1854 129.4934
+ 21330722.0754 -18611353.81649 -14259808.99347 21330721.7124 21330726.1244
+ -1550.2604 -1207.9984
+ 23065016.8844 -8384245.49549 -6018732.39746 23065016.7764 23065021.0164
+ 2612.1584 2035.4354
+ 20561496.3104 -24967102.96649 -19434393.12548 20561495.8864 20561500.8634
+ 934.5054 728.1834
+ 22188199.2744 -12986353.56149 -10097381.31847 22188200.1814 22188204.1064
+ -2392.4954 -1864.2804
+ 05 1 20 8 2 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23154447.0464 -6657942.34149 -5160899.28046 23154446.8554 23154451.1684
+ 3566.1404 2778.8244
+ -350178.41641 -42908.659 4 24681130.584
+ 1932.3964 1515.254
+ 24063453.8544 -6313214.25849 -4904661.73045 24063452.7344 24063455.5694
+ -3683.9854 -2870.6314
+ 20684913.1594 -22992655.51749 -17901237.55548 20684913.2994 20684917.5894
+ 157.2404 122.5254
+ 21339600.7494 -18564693.32049 -14223450.16947 21339600.5824 21339605.1854
+ -1560.4124 -1215.9004
+ 23050143.7844 -8462410.23849 -6079639.97346 23050142.4524 23050147.0644
+ 2598.7914 2025.0274
+ 20556186.7104 -24995005.44949 -19456135.32348 20556186.2064 20556191.1694
+ 925.6864 721.3164
+ 22201901.2214 -12914350.26649 -10041274.85447 22201901.7284 22201906.9264
+ -2407.6294 -1876.0654
+ 05 1 20 8 3 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23134105.2184 -6764832.46849 -5244190.34446 23134105.5344 23134110.4594
+ 3559.8124 2773.8914
+ 24651668.4894 -408042.52949 -23669.10643
+ 1924.9054 1499.9264
+ 24084493.8534 -6202644.29349 -4818503.29245 24084493.8294 24084496.7584
+ -3687.3214 -2873.2394
+ 20684041.0224 -22997238.35349 -17904808.60348 20684041.2394 20684045.4014
+ 148.2834 115.5454
+ 21348538.9334 -18517728.15949 -14186853.95847 21348537.8994 21348541.6034
+ -1570.5994 -1223.8434
+ 23035344.0194 -8540173.02549 -6140234.35646 23035344.4494 23035348.5444
+ 2585.3274 2014.5504
+ 20550927.1324 -25022642.34449 -19477670.56348 20550927.0484 20550931.9794
+ 916.7694 714.3654
+ 22215689.8924 -12841893.34149 -9984814.92447 22215689.3474 22215693.7594
+ -2422.7044 -1887.8214
+ 05 1 20 8 3 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23113802.4394 -6871533.73049 -5327334.22146 23113801.1354 23113805.9374
+ 3553.5144 2768.9704
+ 24640696.7494 -465680.06749 -68582.32044
+ 1917.2984 1494.0334
+ 24105553.3264 -6091976.41049 -4732268.53345 24105553.2334 24105556.4204
+ -3690.5314 -2875.7454
+ 20683220.3614 -23001554.32049 -17908171.69348 20683219.9654 20683224.1624
+ 139.4224 108.6354
+ 21357533.6014 -18470458.13649 -14150020.18247 21357532.8484 21357537.1924
+ -1580.7584 -1231.7634
+ 23020623.5494 -8617531.59049 -6200513.76846 23020623.2434 23020627.1664
+ 2571.8194 2004.0134
+ 20545718.7524 -25050012.45449 -19498997.92148 20545718.7414 20545723.6184
+ 907.8654 707.4224
+ 22229563.9324 -12768985.35549 -9928003.49847 22229564.1224 22229568.0984
+ -2437.7114 -1899.5144
+ 05 1 20 8 4 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23093535.5194 -6978043.51749 -5410328.80646 23093533.6464 23093538.1504
+ 3547.1424 2764.0034
+ -523088.19041 -108851.435 5 24630866.553
+ 1909.6184 1487.212
+ 24126631.0284 -5981213.09349 -4645959.41045 24126630.6494 24126633.7194
+ -3693.6794 -2878.1984
+ 20682449.1464 -23005604.07649 -17911327.35048 20682449.1484 20682453.5164
+ 130.5414 101.7224
+ 21366587.1074 -18422883.23949 -14112948.84147 21366586.3434 21366590.9464
+ -1590.9254 -1239.6834
+ 23005982.5834 -8694483.21449 -6260476.03946 23005980.1204 23005985.0094
+ 2558.2114 1993.4064
+ 20540561.5114 -25077114.33849 -19520116.27048 20540561.1284 20540566.4264
+ 898.9104 700.4494
+ 22243523.0594 -12695628.88249 -9870842.60847 22243522.9284 22243528.1604
+ -2452.6584 -1911.1634
+ 05 1 20 8 4 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23073303.0284 -7084359.60649 -5493172.50046 23073302.7344 23073306.9174
+ 3540.5744 2758.8884
+ 24618895.3404 -580264.31149 -157869.43145 24618893.7714
+ 1901.7644 1481.8924
+ 24147729.2344 -5870356.73749 -4559577.76645 24147727.2544 24147729.2424
+ -3696.7054 -2880.5424
+ 20681729.5214 -23009388.41049 -17914276.18548 20681729.1874 20681733.4574
+ 121.7054 94.8354
+ 21375698.0074 -18375003.34149 -14075639.84647 21375697.4634 21375702.0804
+ -1601.0994 -1247.6074
+ 22991416.0944 -8771025.36049 -6320119.29546 22991415.8414 22991418.7284
+ 2544.5344 1982.7684
+ 20535455.7344 -25103946.70449 -19541024.60248 20535455.4244 20535460.4104
+ 889.8914 693.4234
+ 22257566.7894 -12621826.31249 -9813334.11346 22257566.7744 22257571.7344
+ -2467.4914 -1922.7164
+ 05 1 20 8 5 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23053109.0444 -7190479.22049 -5575863.07246 23053108.3664 23053114.1044
+ 3534.0364 2753.8064
+ 24608059.0804 -637205.91749 -202239.41945 24608053.5754 24608062.7844
+ 1894.1244 1475.9414
+ 24168839.0504 -5759409.39749 -4473125.26445 24168839.5484 24168842.4114
+ -3699.7484 -2882.9284
+ 20681059.7894 -23012907.61849 -17917018.42948 20681059.6314 20681063.8874
+ 112.9064 87.9774
+ 21384867.6384 -18326818.23549 -14038093.02847 21384866.9714 21384871.1004
+ -1611.2534 -1255.5224
+ 22976928.6254 -8847155.56549 -6379441.52646 22976927.9874 22976931.8264
+ 2530.7944 1972.0404
+ 20530401.1144 -25130508.43449 -19561722.05648 20530400.9664 20530405.9034
+ 880.8624 686.3864
+ 22271695.2334 -12547580.20649 -9755480.01447 22271695.3104 22271700.1994
+ -2482.1854 -1934.1654
+ 05 1 20 8 5 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23032952.9954 -7296399.72149 -5658398.47946 23032952.0624 23032957.4524
+ 3527.3664 2748.5814
+ 24597258.2994 -693909.98258 -246424.41455 24597264.2054 24597272.6784
+ 1886.1334 1469.7114
+ 24189966.9924 -5648373.81149 -4386604.01045 24189967.6824 24189972.1754
+ -3702.5834 -2885.1254
+ 20680440.1904 -23016162.66549 -17919554.83348 20680440.1044 20680444.4734
+ 104.1274 81.1384
+ 21394094.3634 -18278327.55849 -14000308.10347 21394094.0484 21394098.3814
+ -1621.4454 -1263.4644
+ 22962519.6174 -8922871.38349 -6438440.87846 22962519.5084 22962524.2454
+ 2516.9124 1961.2424
+ 20525398.3864 -25156798.02149 -19582207.44848 20525398.1054 20525403.4084
+ 871.7784 679.3094
+ 22285907.3844 -12472893.06249 -9697282.24847 22285908.2904 22285912.7264
+ -2496.8594 -1945.6094
+ 05 1 20 8 6 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 23012834.5994 -7402118.70549 -5740776.85046 23012833.5584 23012839.5434
+ 3520.5754 2743.3034
+ 24586522.5374 -750374.14949 -290422.50745 24586519.8304 24586523.4154
+ 1877.9504 1463.3404
+ 24211112.7344 -5537252.32849 -4300015.82445 24211114.7104 24211117.5464
+ -3705.4374 -2887.3564
+ 20679870.9754 -23019154.51549 -17921886.14348 20679870.7334 20679875.0904
+ 95.3514 74.2984
+ 21403380.2984 -18229531.52949 -13962285.23747 21403379.8614 21403384.2434
+ -1631.6324 -1271.4034
+ 22948189.8444 -8998170.23849 -6497115.30446 22948189.6194 22948194.8004
+ 2502.9574 1950.3674
+ 20520447.7684 -25182814.31149 -19602479.87748 20520447.3944 20520452.4544
+ 862.6334 672.1804
+ 22300203.7334 -12397767.54649 -9638742.89047 22300203.3914 22300209.1014
+ -2511.4464 -1956.9724
+ 05 1 20 8 6 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22992756.1334 -7507633.51849 -5822996.15646 22992755.6484 22992760.5204
+ 3513.6984 2737.9394
+ 24575826.4124 -806595.52249 -334231.30245 24575824.8234 24575824.9614
+ 1869.8094 1456.9884
+ 24232278.2484 -5426047.21649 -4213362.51345 24232276.2834 24232279.1024
+ -3708.2704 -2889.5684
+ 20679351.6464 -23021883.81649 -17924012.87048 20679351.4874 20679355.7124
+ 86.6094 67.4834
+ 21412724.3264 -18180430.01649 -13924024.33947 21412723.7334 21412728.5764
+ -1641.7894 -1279.3194
+ 22933942.2414 -9073049.69449 -6555462.92146 22933941.3824 22933945.8914
+ 2488.9774 1939.4604
+ 20515549.1684 -25208556.04549 -19622538.37048 20515548.9644 20515553.9344
+ 853.4724 665.0394
+ 22314582.6674 -12322206.07349 -9579863.83946 22314582.7134 22314587.2334
+ -2525.9264 -1968.2634
+ 05 1 20 8 7 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22972715.9204 -7612941.38849 -5905054.22746 22972716.1244 22972720.8544
+ 3506.8164 2732.5764
+ 24565165.6214 -862571.68849 -377849.02045 24565167.0704 24565175.2754
+ 1861.5864 1450.5824
+ 24253454.2184 -5314760.96549 -4126645.94545 24253453.1354 24253456.3874
+ -3710.8564 -2891.5744
+ 20678882.1864 -23024351.46349 -17925935.71748 20678881.7664 20678886.3694
+ 77.9064 60.7044
+ 21422125.2774 -18131023.00049 -13885525.37947 21422125.4074 21422129.7574
+ -1651.9914 -1287.2684
+ 22919772.2624 -9147507.33249 -6613481.85746 22919772.6104 22919776.8524
+ 2474.8564 1928.4634
+ 20510703.5264 -25234021.78749 -19642381.80748 20510702.9164 20510707.9864
+ 844.2494 657.8564
+ 22329044.5184 -12246211.26449 -9520647.09646 22329044.5034 22329048.3554
+ -2540.3614 -1979.5084
+ 05 1 20 8 7 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22952716.1194 -7718040.12349 -5986949.31046 22952716.8224 22952721.0484
+ 3499.7874 2727.1204
+ 24554568.0924 -918299.69649 -421273.39245 24554568.1544 24554569.5604
+ 1853.2614 1444.1024
+ 24274644.2304 -5203396.01749 -4039868.06745 24274643.5154 24274648.5474
+ -3713.4304 -2893.5724
+ 20678461.6134 -23026558.21249 -17927655.26248 20678461.7354 20678466.3044
+ 69.2154 53.9374
+ 21431586.6704 -18081310.16549 -13846788.12847 21431586.0244 21431589.9524
+ -1662.1944 -1295.2114
+ 22905684.9954 -9221540.58549 -6671170.11046 22905684.9214 22905689.3614
+ 2460.6884 1917.4214
+ 20505910.5394 -25259210.27649 -19662009.20848 20505909.9184 20505914.7964
+ 834.9854 650.6404
+ 22343588.2254 -12169785.76249 -9461094.76147 22343588.2484 22343592.0484
+ -2554.6494 -1990.6314
+ 05 1 20 8 8 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22932757.7764 -7822926.81249 -6068679.17146 22932757.3904 22932762.3164
+ 3492.6634 2721.5634
+ 24544013.4034 -973777.04749 -464502.47545 24544010.5314 24544012.0374
+ 1844.8804 1437.5644
+ 24295852.8984 -5091954.67749 -3953030.68145 24295850.5254 24295852.8094
+ -3715.9824 -2895.5784
+ 20678091.5634 -23028505.05549 -17929172.28948 20678091.4704 20678095.8794
+ 60.5644 47.1954
+ 21441104.0604 -18031291.24749 -13807812.36147 21441103.8894 21441108.1314
+ -1672.4004 -1303.1694
+ 22891677.7104 -9295146.83849 -6728525.62146 22891677.7054 22891682.2564
+ 2446.4064 1906.2774
+ 20501169.9114 -25284120.43049 -19681419.72048 20501169.6514 20501174.4304
+ 825.6694 643.3784
+ 22358212.0014 -12092932.08049 -9401208.75646 22358212.2554 22358217.0324
+ -2568.8494 -2001.6974
+ 05 1 20 8 8 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22912840.8764 -7927599.11949 -6150241.98446 22912839.3054 22912843.5974
+ 3485.4754 2715.9604
+ 24533497.2924 -1029000.96049 -507534.03145 24533496.9944 24533504.3404
+ 1836.4054 1430.9704
+ 24317066.8674 -4980439.42949 -3866135.68245 24317070.1264 24317073.0214
+ -3718.2944 -2897.3784
+ 20677770.5384 -23030192.51049 -17930487.19348 20677770.2814 20677774.5594
+ 51.9314 40.4664
+ 21450681.4644 -17980966.62049 -13768598.38447 21450680.4844 21450684.7144
+ -1682.5954 -1311.1134
+ 22877753.9734 -9368323.81949 -6785546.65046 22877752.3484 22877757.0344
+ 2432.0734 1895.1094
+ 20496482.7094 -25308750.69149 -19700612.13348 20496482.4434 20496487.5974
+ 816.3314 636.1034
+ 22372918.9294 -12015652.73049 -9340991.09646 22372918.4674 22372923.1274
+ -2583.0044 -2012.7334
+ 05 1 20 8 9 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22892962.6394 -8032054.28649 -6231635.57046 22892962.3784 22892966.6204
+ 3478.1674 2710.2574
+ 24523039.4514 -1083969.13149 -550366.38745 24523039.8504 24523043.8664
+ 1827.8364 1424.2874
+ 24338306.0114 -4868852.53649 -3779184.83845 24338305.4844 24338308.3414
+ -3720.8004 -2899.3284
+ 20677498.1664 -23031621.24349 -17931600.48848 20677498.2614 20677502.7214
+ 43.3294 33.7614
+ 21460315.6444 -17930335.93349 -13729145.93847 21460315.1274 21460319.0274
+ -1692.7984 -1319.0594
+ 22863910.3644 -9441069.01949 -6842231.22446 22863909.9724 22863913.7014
+ 2417.6164 1883.8604
+ 20491849.6514 -25333099.91049 -19719585.55748 20491848.9434 20491853.7464
+ 806.9354 628.7804
+ 22387704.1284 -11937950.38449 -9280443.81846 22387704.8484 22387709.2104
+ -2597.0454 -2023.6714
+ 05 1 20 8 9 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22873125.9394 -8136289.69949 -6312857.95246 22873125.7044 22873130.6884
+ 3470.8414 2704.5534
+ 24512628.9324 -1138678.65349 -592997.13845 24512628.3734 24512634.6914
+ 1819.1094 1417.4824
+ 24359554.2404 -4757196.64749 -3692180.26345 24359553.0284 24359554.9654
+ -3723.0244 -2901.0564
+ 20677275.2824 -23032792.31949 -17932513.01348 20677275.3794 20677279.8104
+ 34.7564 27.0804
+ 21470007.7404 -17879399.29549 -13689455.08347 21470007.6184 21470012.1904
+ -1702.9774 -1326.9914
+ 22850148.7954 -9513380.11849 -6898577.53546 22850148.4414 22850153.1084
+ 2403.1144 1872.5534
+ 20487269.3074 -25357166.74149 -19738338.93648 20487269.0954 20487274.2504
+ 797.5214 621.4464
+ 22402570.1974 -11859827.75549 -9219569.05446 22402570.5854 22402575.4154
+ -2611.0534 -2034.5854
+ 05 1 20 8 10 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22853334.1974 -8240302.87349 -6393907.16446 22853332.9814 22853337.0214
+ 3463.3714 2698.7334
+ 24502268.8894 -1193127.07949 -635424.43345 24502267.5854 24502272.8904
+ 1810.4314 1410.7264
+ 24380816.0574 -4645474.25349 -3605123.85445 24380814.3794 24380815.3874
+ -3725.1534 -2902.7214
+ 20677101.7304 -23033706.34549 -17933225.24448 20677101.6024 20677105.9254
+ 26.1944 20.4104
+ 21479759.9094 -17828156.46949 -13649525.62547 21479759.4284 21479763.3204
+ -1713.2244 -1334.9824
+ 22836470.7544 -9585254.69049 -6954583.68446 22836471.3334 22836476.3364
+ 2388.5104 1861.1704
+ 20482744.2654 -25380949.80449 -19756871.18348 20482743.4974 20482748.6804
+ 788.0134 614.0364
+ 22417516.2344 -11781287.17849 -9158368.60447 22417517.0154 22417521.3414
+ -2624.9184 -2045.3934
+ 05 1 20 8 10 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22833583.3214 -8344091.50249 -6474781.40746 22833582.1654 22833586.8434
+ 3455.8424 2692.8564
+ 24491952.9264 -1247311.66149 -677646.14245 24491954.4994 24491961.1034
+ 1801.5924 1403.8354
+ 24402087.4794 -4533687.74049 -3518017.50645 24402087.3294 24402088.6064
+ -3727.2944 -2904.3844
+ 20676976.9504 -23034364.17949 -17933737.84648 20676976.6044 20676980.7234
+ 17.6554 13.7544
+ 21489569.6714 -17776607.61649 -13609357.71947 21489569.1064 21489573.0344
+ -1723.3974 -1342.9104
+ 22822878.5424 -9656690.27149 -7010247.77946 22822877.8674 22822882.1774
+ 2373.8474 1849.7454
+ 20478272.0174 -25404447.92349 -19775181.41048 20478271.7144 20478276.7854
+ 778.5074 606.6274
+ 22432541.4674 -11702331.44749 -9096844.66346 22432541.2164 22432545.3724
+ -2638.7144 -2056.1484
+ 05 1 20 8 11 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22813875.2914 -8447652.81849 -6555478.51446 22813875.8544 22813879.7684
+ 3448.2324 2686.9364
+ 24481696.4744 -1301229.72649 -719660.21245 24481695.9644 24481701.9354
+ 1792.7014 1396.9124
+ 24423370.1074 -4421839.30649 -3430862.90945 24423371.5084 24423370.3094
+ -3729.3044 -2905.9564
+ 20676900.0804 -23034766.84549 -17934051.60148 20676900.0344 20676904.1034
+ 9.1754 7.1514
+ 21499436.7984 -17724752.53249 -13568951.18247 21499436.4954 21499440.5104
+ -1733.6024 -1350.8594
+ 22809367.8114 -9727684.59249 -7065568.01146 22809367.5094 22809372.9444
+ 2359.0734 1838.2334
+ 20473855.6694 -25427659.66949 -19793268.48848 20473854.9584 20473859.8034
+ 768.9384 599.1754
+ 22447643.9994 -11622963.28249 -9034999.34746 22447644.3364 22447649.3724
+ -2652.4464 -2066.8434
+ 05 1 20 8 11 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22794213.3074 -8550984.28249 -6635996.53246 22794213.1364 22794217.7014
+ 3440.5654 2680.9664
+ 24471488.8314 -1354878.88349 -761464.72045 24471487.1614 24471491.3964
+ 1783.6784 1389.8744
+ 24444667.3644 -4309931.51449 -3343661.97745 24444665.9024 24444667.5224
+ -3731.2004 -2907.4294
+ 20676872.0094 -23034914.94949 -17934166.99948 20676871.7624 20676875.9324
+ .7034 .5454
+ 21509362.8694 -17672591.15149 -13528305.95447 21509362.7104 21509366.2604
+ -1743.8144 -1358.8184
+ 22795942.5274 -9798235.05949 -7120542.41446 22795942.6404 22795946.6324
+ 2344.2694 1826.7004
+ 20469493.0884 -25450583.58449 -19811131.28148 20469492.6454 20469497.6014
+ 759.3274 591.6824
+ 22462827.7244 -11543185.17749 -8972834.59147 22462826.0784 22462829.8564
+ -2666.0694 -2077.4704
+ 05 1 20 8 12 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22774594.0264 -8654083.31349 -6716333.41346 22774593.2524 22774597.5484
+ 3432.7244 2674.8544
+ 24461327.0304 -1408256.33849 -803057.51745 24461327.3174 24461335.2794
+ 1774.5284 1382.7494
+ 24465974.2754 -4197966.60549 -3256416.57245 24465971.8884 24465973.9854
+ -3733.1384 -2908.9404
+ 20676892.0304 -23034809.17749 -17934084.58748 20676891.8074 20676896.1934
+ -7.7604 -6.0454
+ 21519346.9584 -17620123.55349 -13487422.12447 21519346.3234 21519350.4464
+ -1754.0384 -1366.7784
+ 22782602.8004 -9868339.40649 -7175169.18046 22782602.2724 22782607.5234
+ 2329.3454 1815.0844
+ 20465185.3424 -25473218.45849 -19828768.85348 20465185.1354 20465190.4254
+ 749.6584 584.1544
+ 22478084.7874 -11462999.77349 -8910352.46946 22478084.6644 22478088.5784
+ -2679.6064 -2088.0144
+ 05 1 20 8 12 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22755020.1944 -8756947.40249 -6796487.24046 22755018.3584 22755022.9864
+ 3424.8764 2668.7444
+ 24451222.8614 -1461359.62249 -844436.65945 24451222.3274 24451227.3814
+ 1765.4024 1375.6354
+ 24487289.1104 -4085947.26949 -3169128.79445 24487288.1564 24487292.0204
+ -3734.8414 -2910.2714
+ 20676959.5914 -23034450.58349 -17933805.17348 20676959.8544 20676964.2794
+ -16.1704 -12.6014
+ 21529390.0504 -17567349.68449 -13446299.64147 21529389.4614 21529392.9264
+ -1764.2474 -1374.7354
+ 22769347.6634 -9937995.30649 -7229446.50746 22769347.7634 22769352.1564
+ 2314.3524 1803.3864
+ 20460933.1804 -25495562.98149 -19846180.16848 20460933.0634 20460938.2324
+ 739.9594 576.5884
+ 22493420.6874 -11382409.68049 -8847555.02146 22493420.8214 22493424.5324
+ -2692.9824 -2098.4324
+ 05 1 20 8 13 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22735489.7954 -8859574.01349 -6876455.97846 22735488.3044 22735493.5604
+ 3416.8914 2662.5014
+ 24441170.2174 -1514186.01049 -885600.09045 24441171.0324 24441176.4474
+ 1756.1224 1368.4084
+ 24508613.0874 -3973875.47849 -3081800.13445 24508614.2274 24508619.1824
+ -3736.5354 -2911.5784
+ 20677076.4814 -23033839.79549 -17933329.22648 20677076.0694 20677080.7194
+ -24.5584 -19.1354
+ 21539490.1564 -17514269.26449 -13404938.28947 21539490.1854 21539494.5974
+ -1774.4614 -1382.6954
+ 22756179.3694 -10007200.33149 -7283372.49746 22756178.4684 22756182.0504
+ 2299.2694 1791.6424
+ 20456736.7594 -25517616.10849 -19863364.41648 20456736.6464 20456741.9314
+ 730.2294 569.0124
+ 22508832.7994 -11301417.65349 -8784444.30946 22508832.6604 22508836.6084
+ -2706.3604 -2108.8444
+ 05 1 20 8 13 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22716006.0704 -8961960.43649 -6956237.61546 22716006.6574 22716011.0824
+ 3408.8514 2656.2534
+ 24431173.7424 -1566733.01749 -926545.77445 24431172.7584 24431177.4294
+ 1746.7044 1361.0674
+ 24529949.8334 -3861753.80149 -2994432.58645 24529951.0654 24529954.3034
+ -3738.1334 -2912.8344
+ 20677240.0934 -23032977.73549 -17932657.49748 20677240.1654 20677244.7524
+ -32.9154 -25.6494
+ 21549650.5664 -17460882.57549 -13363338.28947 21549649.7484 21549653.4174
+ -1784.6624 -1390.6464
+ 22743095.0284 -10075952.09349 -7336945.31046 22743095.1744 22743099.9484
+ 2284.1474 1779.8574
+ 20452596.5534 -25539376.39049 -19880320.48348 20452596.0274 20452600.9444
+ 720.4364 561.3804
+ 22524319.6834 -11220026.26049 -8721022.48446 22524321.2374 22524325.6614
+ -2719.6674 -2119.2244
+ 05 1 20 8 14 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22696567.7904 -9064104.51849 -7035830.36846 22696567.7074 22696573.6964
+ 3400.7344 2649.9184
+ 24421225.8014 -1618998.16849 -967271.82945 24421226.9554 24421231.8174
+ 1737.3344 1353.7644
+ 24551295.2014 -3749584.80249 -2907028.14945 24551295.3684 24551298.5684
+ -3739.8154 -2914.1454
+ 20677451.9134 -23031865.11049 -17931790.52048 20677451.8964 20677456.4104
+ -41.2564 -32.1464
+ 21559867.7454 -17407189.76849 -13321499.75347 21559866.9694 21559870.9904
+ -1794.8614 -1398.5934
+ 22730099.3104 -10144248.26549 -7390163.10047 22730098.9364 22730103.0964
+ 2268.9214 1767.9834
+ 20448511.9114 -25560842.36849 -19897047.22048 20448511.0274 20448515.8604
+ 710.6194 553.7294
+ 22539884.1954 -11138238.20349 -8657291.55546 22539884.9564 22539889.3004
+ -2732.7784 -2129.4454
+ 05 1 20 8 14 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22677179.7004 -9166003.69649 -7115232.29546 22677178.1754 22677182.1574
+ 3392.5164 2643.5114
+ 24411334.2254 -1670978.75749 -1007776.14145 24411334.8874 24411340.2524
+ 1727.7434 1346.2904
+ 24572647.7724 -3637370.64849 -2819588.56345 24572647.5574 24572653.9924
+ -3741.2054 -2915.2184
+ 20677711.3234 -23030502.63349 -17930728.85748 20677711.1774 20677715.5624
+ -49.5754 -38.6284
+ 21570143.0854 -17353190.58449 -13279422.47047 21570142.2734 21570146.8984
+ -1805.0644 -1406.5404
+ 22717190.7684 -10212086.82549 -7443024.31246 22717189.0084 22717193.7524
+ 2253.6034 1756.0484
+ 20444482.9224 -25582012.70349 -19913543.59448 20444482.3454 20444487.3234
+ 700.7364 546.0274
+ 22555522.2984 -11056056.15149 -8593253.57246 22555523.1284 22555528.2504
+ -2745.8924 -2139.6574
+ 05 1 20 8 15 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22657834.9544 -9267655.12249 -7194441.17746 22657833.7954 22657838.8094
+ 3384.2264 2637.0614
+ 24401498.5974 -1722672.13449 -1048056.71645 24401497.5134 24401503.2314
+ 1718.2194 1338.8704
+ 24594009.2314 -3525114.03049 -2732115.89045 24594011.2544 24594014.3594
+ -3742.4874 -2916.2284
+ 20678017.7174 -23028891.15349 -17929473.15648 20678017.8534 20678022.2764
+ -57.8454 -45.0734
+ 21580476.1664 -17298885.21649 -13237106.61647 21580476.3274 21580480.8604
+ -1815.2604 -1414.4904
+ 22704369.4394 -10279465.00949 -7495526.80247 22704367.9844 22704372.5734
+ 2238.2444 1744.0814
+ 20440510.8094 -25602886.11149 -19929808.58348 20440510.2454 20440515.3354
+ 690.8294 538.3084
+ 22571236.9814 -10973482.75449 -8528910.67146 22571236.6984 22571240.2334
+ -2758.9074 -2149.8084
+ 05 1 20 8 15 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22638538.1464 -9369056.44649 -7273455.16646 22638538.5654 22638543.2694
+ 3375.8524 2630.5404
+ 24391715.4664 -1774076.04849 -1088111.67045 24391715.7934 24391721.6054
+ 1708.5394 1331.3274
+ 24615381.5554 -3412816.98249 -2644611.70645 24615381.9574 24615385.2224
+ -3743.8664 -2917.2954
+ 20678372.2094 -23027031.15249 -17928023.80948 20678371.8504 20678376.0634
+ -66.1194 -51.5204
+ 21590869.6484 -17244273.65349 -13194552.15547 21590868.6434 21590873.0134
+ -1825.4894 -1422.4604
+ 22691635.3244 -10346380.78049 -7547668.96047 22691634.0954 22691638.9674
+ 2222.8134 1732.0644
+ 20436594.9074 -25623461.40049 -19945841.26648 20436594.7894 20436599.8744
+ 680.8454 530.5294
+ 22587023.6074 -10890520.72149 -8464264.94046 22587023.8714 22587028.2694
+ -2771.8584 -2159.8824
+ 05 1 20 8 16 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22619290.0884 -9470205.06449 -7352272.23546 22619290.3164 22619294.6504
+ 3367.3724 2623.9254
+ 24381989.3884 -1825187.72649 -1127938.93645 24381989.6834 24381994.5224
+ 1698.6814 1323.6464
+ 24636756.5704 -3300482.15049 -2557078.11745 24636758.7524 24636760.6284
+ -3745.1034 -2918.2644
+ 20678772.8514 -23024923.84749 -17926381.74348 20678772.7964 20678777.0324
+ -74.3594 -57.9444
+ 21601319.0774 -17189355.77049 -13151759.01547 21601319.0634 21601323.3034
+ -1835.6884 -1430.4084
+ 22678989.7684 -10412831.62349 -7599448.84446 22678989.0014 22678993.2534
+ 2207.2604 1719.9414
+ 20432736.9274 -25643737.21249 -19961640.60548 20432736.5104 20432741.8194
+ 670.8674 522.7534
+ 22602883.5934 -10807172.69949 -8399318.42646 22602885.4074 22602888.7494
+ -2784.6424 -2169.8484
+ 05 1 20 8 16 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22600090.8914 -9571098.61249 -7430890.53146 22600090.3824 22600096.0634
+ 3358.8394 2617.2794
+ 24372320.0144 -1876004.75549 -1167536.62145 24372319.0404 24372324.9654
+ 1688.8484 1315.9854
+ 24658141.6694 -3188112.09849 -2469517.08545 24658141.9754 24658143.6194
+ -3746.2514 -2919.1644
+ 20679221.1934 -23022569.68249 -17924547.32948 20679220.8394 20679225.2144
+ -82.5754 -64.3474
+ 21611828.5084 -17134131.63149 -13108727.22647 21611827.7264 21611832.2684
+ -1845.9084 -1438.3664
+ 22666433.3054 -10478815.34549 -7650864.73347 22666433.1154 22666437.3754
+ 2191.6394 1707.7574
+ 20428935.5134 -25663712.38549 -19977205.68248 20428935.4544 20428940.5374
+ 660.8004 514.9094
+ 22618818.3324 -10723441.32149 -8334073.20546 22618817.7774 22618821.2174
+ -2797.3934 -2179.7914
+ 05 1 20 8 17 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22580940.8084 -9671734.69249 -7509308.24746 22580939.9774 22580945.1394
+ 3350.2184 2610.5604
+ 24362706.7934 -1926524.63549 -1206902.69245 24362706.8314 24362711.6734
+ 1678.8834 1308.2224
+ 24679530.7324 -3075709.07949 -2381930.34045 24679531.5134 24679533.9284
+ -3747.3004 -2919.9774
+ 20679715.8104 -23019969.71949 -17922521.38748 20679715.5514 20679719.9924
+ -90.7584 -70.7124
+ 21622395.9134 -17078601.35049 -13065456.89447 21622395.4514 21622399.1834
+ -1856.1094 -1446.3054
+ 22653966.5524 -10544329.74449 -7701914.91247 22653965.9384 22653970.4534
+ 2175.9434 1695.5574
+ 20425192.2464 -25683385.49549 -19992535.38348 20425191.7244 20425196.9894
+ 650.7214 507.0614
+ 22634823.5914 -10639329.53549 -8268531.52746 22634823.5394 22634828.6244
+ -2810.0084 -2189.6154
+ 05 1 20 8 17 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22561839.4984 -9772110.59649 -7587523.21346 22561839.4684 22561844.2854
+ 3341.5084 2603.7674
+ 24353150.0084 -1976744.74149 -1246035.25446 24353148.9834 24353155.5894
+ 1668.8864 1300.4284
+ 24700926.3954 -2963275.31449 -2294319.63945 24700926.5714 24700929.5324
+ -3748.3004 -2920.7564
+ 20680256.8644 -23017124.83149 -17920304.58948 20680256.7164 20680261.4654
+ -98.9114 -77.0714
+ 21633020.5494 -17022764.78749 -13021947.89647 21633020.3334 21633024.7754
+ -1866.2944 -1454.2564
+ 22641589.9314 -10609372.55249 -7752597.61747 22641589.1604 22641592.9504
+ 2160.1954 1683.2764
+ 20421506.1774 -25702755.24949 -20007628.70048 20421505.6624 20421510.9584
+ 640.5744 499.1474
+ 22650901.8594 -10554839.74949 -8202695.36446 22650901.0114 22650906.4744
+ -2822.5994 -2199.4234
+ 05 1 20 8 18 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22542789.6654 -9872223.81749 -7665533.48947 22542788.4274 22542793.3304
+ 3332.7014 2596.9014
+ 24343648.3334 -2026662.65549 -1284932.26645 24343649.0634 24343654.6734
+ 1658.7454 1292.5244
+ 24722330.1704 -2850813.19249 -2206686.83245 24722327.2234 24722331.2324
+ -3749.1344 -2921.4064
+ 20680844.9604 -23014035.47849 -17917897.30548 20680844.8534 20680849.3304
+ -107.0584 -83.4174
+ 21643704.1144 -16966622.23649 -12978200.47447 21643703.7904 21643708.3044
+ -1876.5184 -1462.2184
+ 22629303.2954 -10673941.70649 -7802911.24447 22629302.2754 22629306.2174
+ 2144.3764 1670.9454
+ 20417878.0634 -25721820.37649 -20022484.64748 20417877.6014 20417882.9434
+ 630.4034 491.2244
+ 22667049.9664 -10469974.79549 -8136566.83646 22667050.9804 22667055.3714
+ -2835.0144 -2209.1004
+ 05 1 20 8 18 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22523787.3054 -9972071.93949 -7743337.19647 22523787.6194 22523792.2174
+ 3323.8274 2589.9854
+ 24334208.3674 -2076275.75849 -1323591.85945 24334208.6804 24334213.8074
+ 1648.5354 1284.5704
+ 24743733.7534 -2738324.97049 -2119033.74245 24743732.5394 24743736.6294
+ -3749.9844 -2922.0644
+ 20681479.5854 -23010702.43249 -17915300.13148 20681479.3004 20681483.5014
+ -115.1564 -89.7364
+ 21654446.2614 -16910173.80749 -12934214.70447 21654445.5974 21654449.8514
+ -1886.7224 -1470.1754
+ 22617106.6724 -10738034.83549 -7852853.93447 22617105.4454 22617109.3654
+ 2128.4924 1658.5534
+ 20414308.3154 -25740579.54249 -20037102.18248 20414308.1244 20414313.0824
+ 620.1844 483.2584
+ 22683270.9704 -10384737.41249 -8070148.10646 22683271.7164 22683275.5674
+ -2847.4224 -2218.7694
+ 05 1 20 8 19 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22504839.2264 -10071652.57349 -7820932.49747 22504838.6284 22504842.7974
+ 3314.8594 2583.0124
+ 24324828.3304 -2125581.75749 -1362012.05345 24324826.1534 24324831.4714
+ 1638.2764 1276.5784
+ 24765146.9914 -2625813.42649 -2031362.49145 24765145.9894 24765144.3364
+ -3750.7354 -2922.6494
+ 20682159.6274 -23007126.48449 -17912513.69148 20682159.7874 20682164.0334
+ -123.2354 -96.0224
+ 21665245.5704 -16853419.41549 -12889990.52347 21665245.2524 21665250.5354
+ -1896.9154 -1478.1074
+ 22604999.0434 -10801649.69549 -7902423.97047 22605000.1964 22605004.0744
+ 2112.4674 1646.0744
+ 20410797.6014 -25759031.45649 -20051480.31148 20410797.0984 20410802.0424
+ 609.9234 475.2684
+ 22699562.1024 -10299130.17849 -8003441.14646 22699561.1924 22699566.7384
+ -2859.6664 -2228.3064
+ 05 1 20 8 19 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22485941.0724 -10170963.07349 -7898317.27347 22485940.1994 22485945.1624
+ 3305.8074 2575.9554
+ 24315503.5574 -2174577.98449 -1400190.89745 24315503.3844 24315507.7794
+ 1627.8604 1268.4624
+ 24786558.8814 -2513280.86849 -1943674.79345 24786559.0234 24786558.0354
+ -3751.3934 -2923.1704
+ 20682886.5984 -23003308.52949 -17909538.65448 20682886.3374 20682890.6234
+ -131.2914 -102.3054
+ 21676104.5424 -16796359.24649 -12845528.06047 21676104.1324 21676108.5154
+ -1907.1014 -1486.0464
+ 22592985.2784 -10864784.21149 -7951619.69847 22592986.1134 22592989.9304
+ 2096.4154 1633.5674
+ 20407344.6184 -25777174.78549 -20065617.96848 20407344.1834 20407349.5714
+ 599.6214 467.2374
+ 22715921.4114 -10213155.86749 -7936448.18446 22715922.1874 22715926.7744
+ -2871.8874 -2237.8334
+ 05 1 20 8 20 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22467094.5234 -10270000.99649 -7975489.63947 22467094.4694 22467099.1364
+ 3296.7044 2568.8594
+ 24306236.7204 -2223262.05749 -1438126.53445 24306237.3914 24306243.5314
+ 1617.4154 1260.3244
+ 24807976.7924 -2400729.53049 -1855972.40245 24807976.6004 24807977.7394
+ -3752.0164 -2923.6574
+ 20683658.7184 -22999249.40049 -17906375.69248 20683658.6804 20683662.9714
+ -139.3074 -108.5524
+ 21687020.8614 -16738993.39949 -12800827.42547 21687020.8364 21687024.5334
+ -1917.2924 -1493.9914
+ 22581064.8764 -10927436.10049 -8000439.35347 22581063.9994 22581067.7994
+ 2080.3204 1621.0264
+ 20403951.6514 -25795008.22149 -20079514.16348 20403951.0494 20403955.6524
+ 589.2624 459.1644
+ 22732350.6644 -10126817.30349 -7869171.37246 22732350.9744 22732356.7844
+ -2883.9384 -2247.2114
+ 05 1 20 8 20 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22448299.7374 -10368764.09149 -8052447.85647 22448300.0554 22448304.7284
+ 3287.4934 2561.6764
+ 24297034.5754 -2271631.67049 -1475817.13945 24297034.3634 24297039.3664
+ 1606.8924 1252.1214
+ 24829395.2474 -2288161.75849 -1768257.24845 24829395.8944 24829398.2934
+ -3752.5184 -2924.0404
+ 20684477.1624 -22994949.68849 -17903025.26648 20684476.9474 20684480.9794
+ -147.3294 -114.8054
+ 21697995.3034 -16681321.87449 -12755888.57447 21697995.0214 21697999.2944
+ -1927.4734 -1501.9244
+ 22569234.0434 -10989603.16149 -8048881.20947 22569233.5244 22569237.9974
+ 2064.0984 1608.3824
+ 20400616.0004 -25812530.54049 -20093167.91648 20400616.1834 20400621.5444
+ 578.8674 451.0654
+ 22748852.1494 -10040117.06749 -7801612.75946 22748851.5524 22748855.1934
+ -2895.9954 -2256.6294
+ 05 1 20 8 21 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22429559.7144 -10467249.57049 -8129189.73147 22429559.2604 22429563.7804
+ 3278.2024 2554.4424
+ 24287890.0034 -2319684.07649 -1513260.52945 24287889.7994 24287896.3304
+ 1596.2944 1243.8564
+ 24850820.5404 -2175580.16549 -1680531.32445 24850819.8784 24850823.6984
+ -3752.9294 -2924.3584
+ 20685340.5474 -22990410.38149 -17899488.14148 20685340.5564 20685344.9614
+ -155.2804 -120.9994
+ 21709027.8724 -16623344.88249 -12710711.70647 21709027.3584 21709032.0274
+ -1937.6564 -1509.8604
+ 22557497.9334 -11051283.32849 -8096943.68947 22557496.6414 22557501.1664
+ 2047.8824 1595.7504
+ 20397341.4024 -25829740.53549 -20106578.30348 20397341.1104 20397346.7114
+ 568.4604 442.9564
+ 22765416.8614 -9953057.96949 -7733774.53846 22765417.5064 22765422.4564
+ -2907.8734 -2265.8684
+ 05 1 20 8 21 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22410871.1654 -10565455.13349 -8205713.48247 22410870.5944 22410875.6834
+ 3268.8584 2547.1644
+ 24278806.6024 -2367417.01049 -1550455.05145 24278806.4864 24278809.4974
+ 1585.6604 1235.5794
+ 24872247.0114 -2062986.99349 -1592796.39645 24872245.5474 24872249.0074
+ -3753.2744 -2924.6344
+ 20686249.9814 -22985632.21049 -17895764.90948 20686249.8924 20686254.0704
+ -163.2334 -127.1954
+ 21720118.4274 -16565062.42249 -12665296.80947 21720118.2374 21720122.0954
+ -1947.8294 -1517.7904
+ 22545853.6764 -11112474.35149 -8144624.99747 22545852.2364 22545856.2514
+ 2031.5184 1583.0074
+ 20394126.1234 -25846636.97349 -20119744.36148 20394125.8794 20394131.2324
+ 557.9734 434.7864
+ 22782052.0834 -9865642.75449 -7665658.76246 22782052.0154 22782055.7244
+ -2919.7324 -2275.1174
+ 05 1 20 8 22 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22392238.1364 -10663378.43049 -8282017.31147 22392236.9814 22392241.1394
+ 3259.3884 2539.7734
+ 24269786.2074 -2414828.00049 -1587398.63946 24269785.7704 24269790.4314
+ 1574.8704 1227.1684
+ 24893671.6114 -1950384.56549 -1505054.25845 24893672.7994 24893676.2994
+ -3753.5374 -2924.8294
+ 20687204.1144 -22980616.03849 -17891856.20548 20687204.4234 20687208.5634
+ -171.1544 -133.3644
+ 21731267.5004 -16506474.67249 -12619644.02647 21731266.9664 21731271.5444
+ -1958.0174 -1525.7294
+ 22534301.8204 -11173174.26149 -8191923.63847 22534301.4734 22534305.6164
+ 2015.1374 1570.2414
+ 20390970.9764 -25863218.45949 -20132664.99948 20390970.7324 20390975.6944
+ 547.4644 426.5954
+ 22798751.8324 -9777874.01049 -7597267.53346 22798753.5124 22798758.4924
+ -2931.4394 -2284.2294
+ 05 1 20 8 22 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22373656.0594 -10761017.01849 -8358099.31247 22373656.4594 22373661.4914
+ 3249.8394 2532.3454
+ 24260825.1434 -2461914.64349 -1624089.49145 24260823.9284 24260829.7204
+ 1563.9714 1218.6874
+ 24915104.5614 -1837775.14849 -1417306.70245 24915100.4294 24915104.1164
+ -3753.7084 -2924.9634
+ 20688204.5734 -22975362.39449 -17887762.44648 20688204.2824 20688208.4514
+ -179.0774 -139.5394
+ 21742474.5794 -16447581.85149 -12573753.53147 21742474.1124 21742478.3694
+ -1968.1994 -1533.6554
+ 22522846.1114 -11233380.52949 -8238837.60647 22522844.4924 22522849.0244
+ 1998.6324 1557.3814
+ 20387876.0974 -25879483.60349 -20145339.14248 20387875.6614 20387880.7124
+ 536.8844 418.3524
+ 22815522.0294 -9689754.63949 -7528603.06946 22815521.4484 22815526.3664
+ -2943.0924 -2293.3184
+ 05 1 20 8 23 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22355130.7974 -10858368.47549 -8433957.58347 22355131.6674 22355135.3364
+ 3240.2424 2524.8674
+ 24251926.0444 -2508674.55549 -1660525.78745 24251926.9194 24251931.2594
+ 1553.0754 1210.1904
+ 24936535.2944 -1725161.23749 -1329555.61945 24936532.5684 24936533.7804
+ -3753.8564 -2925.0834
+ 20689249.5884 -22969871.78349 -17883484.05248 20689249.0584 20689253.2874
+ -186.9424 -145.6684
+ 21753739.7194 -16388383.94749 -12527625.29847 21753739.0154 21753743.7034
+ -1978.3104 -1541.5394
+ 22511484.0234 -11293091.32849 -8285365.51847 22511482.8014 22511486.5054
+ 1982.0824 1544.4854
+ 20384841.2164 -25895431.03749 -20157765.72148 20384840.9904 20384846.0654
+ 526.2874 410.0984
+ 22832354.3194 -9601287.23549 -7459667.44046 22832356.9074 22832361.5694
+ -2954.6624 -2302.3434
+ 05 1 20 8 23 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22336661.9234 -10955430.31649 -8509590.17047 22336661.0134 22336665.0744
+ 3230.5674 2517.3294
+ 24243091.2494 -2555105.10149 -1696705.43746 24243091.7984 24243097.4714
+ 1542.0524 1201.5994
+ 24957963.7924 -1612545.37249 -1241802.98445 24957961.5924 24957967.1804
+ -3753.8264 -2925.0554
+ 20690338.9044 -22964145.14449 -17879021.74448 20690338.7484 20690342.9034
+ -194.8044 -151.7974
+ 21765062.0994 -16328881.31649 -12481259.62347 21765062.1894 21765066.7434
+ -1988.5014 -1549.4814
+ 22500214.8974 -11352304.87549 -8331505.93947 22500213.6704 22500218.0504
+ 1965.4704 1531.5334
+ 20381867.5854 -25911059.46049 -20169943.71348 20381866.9964 20381871.7474
+ 515.6214 401.7824
+ 22849256.5454 -9512474.76449 -7390462.90346 22849256.5774 22849261.1064
+ -2966.1064 -2311.2594
+ 05 1 20 8 24 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22318246.9324 -11052199.96349 -8584995.06747 22318246.9584 22318250.7414
+ 3220.7684 2509.6834
+ 24234317.6854 -2601204.41649 -1732626.94345 24234317.4504 24234322.7744
+ 1530.9264 1192.9334
+ 24979393.7184 -1499929.46049 -1154050.36645 24979393.1374 24979396.0144
+ -3753.8194 -2925.0574
+ 20691473.4744 -22958183.31149 -17874376.16348 20691473.1504 20691477.6844
+ -202.6454 -157.9024
+ 21776443.7574 -16269073.72249 -12434656.30947 21776442.9164 21776447.2784
+ -1998.6504 -1557.3884
+ 22489042.0764 -11411018.76549 -8377257.02247 22489040.8154 22489045.8124
+ 1948.7804 1518.5344
+ 20378954.0044 -25926367.64949 -20181872.18248 20378953.6664 20378958.8344
+ 504.9034 393.4344
+ 22866222.2734 -9423319.79149 -7320991.46846 22866223.2384 22866226.5254
+ -2977.5304 -2320.1684
+ 05 1 20 8 24 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22299887.5774 -11148675.30149 -8660170.61547 22299887.9394 22299892.2244
+ 3210.9054 2502.0094
+ 24225610.4364 -2646969.63549 -1768288.15945 24225610.3864 24225614.7154
+ 1519.7914 1184.2564
+ 25000823.3534 -1387316.16049 -1066299.74345 25000822.0184 25000824.8404
+ -3753.7054 -2924.9674
+ 20692652.6464 -22951987.18349 -17869548.01348 20692652.4404 20692656.8114
+ -210.4304 -163.9664
+ 21787882.2374 -16208961.46749 -12387815.59247 21787881.7044 21787886.2094
+ -2008.8214 -1565.3044
+ 22477964.8124 -11469230.98049 -8422617.19347 22477963.7174 22477968.1154
+ 1932.0174 1505.4654
+ 20376102.3504 -25941354.27249 -20193550.07048 20376102.0444 20376107.0954
+ 494.1724 385.0734
+ 22883252.1624 -9333825.01649 -7251255.28146 22883253.2884 22883256.7284
+ -2988.7674 -2328.9144
+ 05 1 20 8 25 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22281585.5074 -11244853.63449 -8735114.71347 22281585.6074 22281590.0324
+ 3200.9744 2494.2554
+ 24216966.2564 -2692398.47949 -1803687.24746 24216965.6944 24216969.2604
+ 1508.5274 1175.4734
+ 25022251.5594 -1274707.80149 -978552.98045 25022252.0224 25022256.2044
+ -3753.5044 -2924.8054
+ 20693875.8624 -22945557.43749 -17864537.81948 20693875.8494 20693880.2274
+ -218.1984 -170.0244
+ 21799379.9374 -16148544.81349 -12340737.69747 21799379.2704 21799382.9794
+ -2018.9684 -1573.2204
+ 22466982.2144 -11526939.22049 -8467584.65747 22466981.9904 22466986.7994
+ 1915.1844 1492.3614
+ 20373311.9494 -25956018.14149 -20204976.46548 20373311.6864 20373316.6414
+ 483.4124 376.6844
+ 22900348.0894 -9243993.39149 -7181256.59746 22900347.7124 22900351.1674
+ -2999.9484 -2337.6084
+ 05 1 20 8 25 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22263341.7964 -11340732.49449 -8809825.47347 22263340.6184 22263344.6374
+ 3190.9424 2486.4404
+ 24208383.2234 -2737488.69749 -1838822.46646 24208382.7564 24208389.9104
+ 1497.1704 1166.6314
+ 25043678.0554 -1162106.71549 -890811.92745 25043677.2114 25043682.8824
+ -3753.2404 -2924.6014
+ 20695143.6054 -22938895.17849 -17859346.44448 20695143.7244 20695148.0034
+ -225.9484 -176.0654
+ 21810934.1594 -16087823.98449 -12293422.77547 21810933.6404 21810938.2794
+ -2029.1074 -1581.1244
+ 22456097.4944 -11584141.90849 -8512158.16647 22456095.9564 22456101.3144
+ 1898.2944 1479.1914
+ 20370583.2664 -25970357.96349 -20216150.35448 20370582.9854 20370587.9524
+ 472.5784 368.2414
+ 22917505.2504 -9153827.42549 -7110997.38846 22917505.5414 22917509.3984
+ -3011.0664 -2346.2924
+ 05 1 20 8 26 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22245153.4584 -11436309.90049 -8884301.33747 22245152.7814 22245157.6944
+ 3180.8584 2478.5984
+ 24199870.3624 -2782237.89249 -1873691.96046 24199868.8784 24199874.3214
+ 1485.7384 1157.7134
+ 25065104.6074 -1049515.18049 -803078.31245 25065103.2634 25065107.5054
+ -3752.9444 -2924.3704
+ 20696455.5844 -22932000.76849 -17853974.18948 20696455.5524 20696459.8144
+ -233.6694 -182.0814
+ 21822546.6514 -16026799.02749 -12245870.89447 21822546.5764 21822550.9014
+ -2039.2324 -1589.0154
+ 22445308.8224 -11640836.84449 -8556336.04947 22445307.6784 22445312.0854
+ 1881.3354 1465.9794
+ 20367916.5734 -25984372.44149 -20227070.73548 20367916.1814 20367920.9674
+ 461.7034 359.7684
+ 22934727.3604 -9063330.04949 -7040479.95046 22934727.2394 22934730.6774
+ -3022.0884 -2354.8784
+ 05 1 20 8 26 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22227023.1874 -11531583.38649 -8958540.37147 22227022.5514 22227027.2964
+ 3170.6824 2470.6584
+ 24191417.5684 -2826643.65649 -1908293.87345 24191416.8104 24191421.5184
+ 1474.2914 1148.8114
+ 25086529.2404 -936935.47849 -715353.88345 25086525.5534 25086529.6514
+ -3752.4544 -2923.9924
+ 20697812.2474 -22924874.65049 -17848421.37248 20697811.7654 20697815.9094
+ -241.4044 -188.1054
+ 21834217.7704 -15965470.25749 -12198082.28647 21834217.1544 21834221.4544
+ -2049.3584 -1596.9004
+ 22434617.4604 -11697022.03149 -8600116.72247 22434616.1284 22434620.8014
+ 1864.3214 1452.7274
+ 20365311.4214 -25998060.19749 -20237736.52448 20365311.1934 20365316.4304
+ 450.7894 351.2644
+ 22952010.5904 -8972503.91949 -6969706.32046 22952010.4244 22952014.4894
+ -3032.9434 -2363.3274
+ 05 1 20 8 27 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22208951.9694 -11626550.46349 -9032540.65947 22208951.0974 22208955.5914
+ 3160.4344 2462.6774
+ 24183033.6514 -2870703.77549 -1942626.42146 24183033.9984 24183038.8804
+ 1462.7644 1139.8194
+ 25107950.3024 -824370.18449 -627640.72245 25107946.8464 25107949.5684
+ -3751.9174 -2923.5684
+ 20699211.6994 -22917517.82349 -17842688.78248 20699211.6454 20699215.8244
+ -249.0504 -194.0624
+ 21845944.9124 -15903837.97949 -12150057.13947 21845944.6934 21845949.9714
+ -2059.4744 -1604.7754
+ 22424022.7234 -11752695.66549 -8643498.76847 22424021.7634 22424025.8754
+ 1847.2514 1439.4224
+ 20362768.9034 -26011420.02049 -20248146.77248 20362768.8354 20362774.2234
+ 439.8524 342.7414
+ 22969354.8184 -8881351.79449 -6898678.70046 22969355.7334 22969359.8084
+ -3043.7504 -2371.7624
+ 05 1 20 8 27 30.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22190938.1814 -11721208.62649 -9106300.22147 22190938.2704 22190942.6854
+ 3150.0874 2454.6124
+ 24174716.1604 -2914415.88849 -1976687.76946 24174715.9484 24174722.1084
+ 1451.1214 1130.7394
+ 25129364.7614 -711821.51549 -539940.48645 25129363.9384 25129365.4634
+ -3751.3264 -2923.1164
+ 20700655.1294 -22909931.22849 -17836777.15548 20700655.2284 20700659.4344
+ -256.7184 -200.0404
+ 21857732.2664 -15841902.18449 -12101795.50147 21857731.4764 21857736.1414
+ -2069.5634 -1612.6494
+ 22413525.8974 -11807855.50149 -8686480.47247 22413525.6904 22413529.5744
+ 1830.0764 1426.0334
+ 20360289.7734 -26024450.68649 -20258300.54448 20360289.2684 20360294.2194
+ 428.8524 334.1724
+ 22986761.2364 -8789876.42049 -6827399.18246 22986762.9064 22986766.9634
+ -3054.4924 -2380.1144
+ 05 1 20 8 28 0.0000000 0 8G16G 6G22G25G14G20G 1G30
+ 22172984.5734 -11815555.64249 -9179817.32447 22172984.0594 22172989.4484
+ 3139.6914 2446.5084
+ 24166462.4374 -2957777.60149 -2010476.13945 24166463.2964 24166469.1714
+ 1439.3824 1121.5964
+ 25150779.5474 -599291.79349 -452254.98245 25150778.9274 25150782.8224
+ -3750.6754 -2922.6074
+ 20702142.3974 -22902115.61949 -17830687.07348 20702142.3344 20702146.7594
+ -264.3204 -205.9634
+ 21869575.2264 -15779663.06649 -12053297.49847 21869574.9814 21869579.2974
+ -2079.6814 -1620.5304
+ 22403127.2004 -11862499.70949 -8729060.37547 22403126.5114 22403131.6674
+ 1812.8774 1412.6344
+ 20357872.7054 -26037150.94349 -20268196.85648 20357872.5104 20357877.5294
+ 417.8254 325.5794
+ 23004231.6544 -8698080.53849 -6755869.90946 23004231.1494 23004235.3404
+ -3065.1684 -2388.4414
+ 05 1 20 8 28 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 22155090.1004 -11909589.07449 -9253090.10547 22155090.1424 22155094.7604
+ 3129.2134 2438.3494
+ 24158281.3244 -3000786.69749 -2043989.70646 24158280.8724 24158285.4384
+ 1427.6184 1112.4264
+ 20703673.4424 -22894071.59949 -17824419.01248 20703673.2574 20703677.6384
+ -271.9304 -211.8904
+ 21881477.6084 -15717121.15449 -12004563.54547 21881476.4764 21881480.5204
+ -2089.7494 -1628.3714
+ 22392827.7944 -11916626.33049 -8771236.96747 22392826.9594 22392831.6324
+ 1795.5914 1399.1724
+ 20355519.1004 -26049519.51849 -20277834.70648 20355518.7154 20355524.0714
+ 406.7544 316.9524
+ 23021758.5534 -8605966.97449 -6684093.08846 23021759.5154 23021765.2334
+ -3075.6474 -2396.6154
+ 05 1 20 8 29 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 22137256.2574 -12003306.52749 -9326116.65547 22137256.2974 22137260.5974
+ 3118.6234 2430.0954
+ 24150162.6784 -3043441.03949 -2077226.84446 24150162.5864 24150166.8414
+ 1415.7024 1103.1444
+ 20705247.8344 -22885799.61549 -17817973.31148 20705247.4314 20705251.8214
+ -279.5194 -217.8064
+ 21893435.3884 -15654276.54449 -11955593.74047 21893435.6674 21893439.3794
+ -2099.8664 -1636.2604
+ 22382626.0544 -11970233.51549 -8813008.79747 22382625.4244 22382630.0484
+ 1778.2334 1385.6384
+ 20353229.1204 -26061555.05349 -20287213.04248 20353228.6754 20353233.7134
+ 395.6214 308.2754
+ 23039347.4884 -8513538.42549 -6612070.83946 23039347.8894 23039352.2344
+ -3086.1934 -2404.8034
+ 05 1 20 8 29 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 22119482.8414 -12096705.99849 -9398895.44647 22119483.2244 22119487.0144
+ 3107.9914 2421.8064
+ 24142113.5624 -3085738.02249 -2110185.52846 24142114.7654 24142120.6674
+ 1403.8094 1093.8734
+ 20706865.1324 -22877300.84749 -17811350.89448 20706864.7714 20706868.9454
+ -287.0744 -223.6964
+ 21905453.0624 -15591129.34149 -11906388.11747 21905452.1614 21905456.2934
+ -2109.9624 -1644.1334
+ 22372524.4254 -12023319.28549 -8854374.33747 22372523.5874 22372527.9774
+ 1760.8154 1372.0644
+ 20351002.1624 -26073256.36749 -20296330.94548 20351001.7084 20351006.9454
+ 384.4534 299.5744
+ 23056994.9934 -8420797.57249 -6539805.22046 23056996.2564 23056999.4684
+ -3096.4984 -2412.8654
+ 05 1 20 8 30 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 22101770.5924 -12189784.90249 -9471424.41147 22101770.3424 22101774.9274
+ 3097.2644 2413.4474
+ 24134134.9714 -3127675.67049 -2142864.17746 24134133.7914 24134139.2494
+ 1391.7534 1084.4844
+ 20708525.1634 -22868575.53049 -17804551.95248 20708525.0534 20708529.2944
+ -294.6234 -229.5804
+ 21917526.3324 -15527679.65749 -11856946.79147 21917526.0164 21917530.2174
+ -2120.0434 -1651.9854
+ 22362522.3624 -12075881.81449 -8895332.15347 22362521.5144 22362525.8994
+ 1743.3444 1358.4484
+ 20348839.5824 -26084622.23549 -20305187.46848 20348839.2574 20348844.1684
+ 373.2464 290.8404
+ 23074703.1864 -8327747.34149 -6467298.51646 23074704.3064 23074707.4124
+ -3106.7904 -2420.8764
+ 05 1 20 8 30 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 22084119.5274 -12282540.96449 -9543701.84547 22084119.5794 22084124.5944
+ 3086.4554 2405.0334
+ 24126224.1614 -3169251.63549 -2175261.04946 24126222.0674 24126228.4794
+ 1379.6794 1075.0744
+ 20710228.7084 -22859624.79149 -17797577.34448 20710228.4514 20710232.7724
+ -302.1134 -235.4114
+ 21929657.7234 -15463928.27049 -11807270.39847 21929657.8294 21929661.5894
+ -2130.0744 -1659.7894
+ 22352619.5144 -12127919.21349 -8935880.77847 22352619.4824 22352623.4114
+ 1725.8114 1344.7894
+ 20346740.8564 -26095651.37749 -20313781.60848 20346740.4434 20346745.4084
+ 362.0094 282.0874
+ 23092467.3794 -8234390.44949 -6394552.87846 23092468.4624 23092472.4334
+ -3116.9344 -2428.7854
+ 05 1 20 8 31 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 22066531.7624 -12374971.75049 -9615725.80847 22066530.7054 22066534.8954
+ 3075.5814 2396.5514
+ 24118380.4994 -3210463.77549 -2207374.37845 24118380.4824 24118385.1254
+ 1367.5304 1065.6204
+ 20711974.6624 -22850449.36949 -17790427.66548 20711974.3944 20711978.7354
+ -309.5834 -241.2344
+ 21941846.8384 -15399875.16449 -11757358.89347 21941846.4564 21941850.5054
+ -2140.1384 -1667.6444
+ 22342818.1894 -12179429.71249 -8976018.83247 22342816.8574 22342821.3304
+ 1708.2374 1331.0904
+ 20344706.3344 -26106342.69449 -20322112.50248 20344705.8164 20344710.9744
+ 350.7324 273.2944
+ 23110291.6054 -8140729.64949 -6321570.43146 23110291.4924 23110295.8934
+ -3127.0984 -2436.6954
+ 05 1 20 8 31 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 22049005.3414 -12467075.01849 -9687494.58347 22049004.5084 22049008.3944
+ 3064.6284 2388.0194
+ 24110606.6824 -3251309.74049 -2239202.43145 24110606.8624 24110611.1074
+ 1355.3014 1056.0824
+ 20713762.8924 -22841049.74149 -17783103.27448 20713762.9324 20713767.1514
+ -317.0474 -247.0514
+ 21954093.5534 -15335520.46349 -11707212.40247 21954093.2214 21954096.8864
+ -2150.1564 -1675.4484
+ 22333115.5934 -12230411.51349 -9015744.91447 22333115.6904 22333119.8114
+ 1690.5604 1317.3184
+ 20342736.1084 -26116694.90549 -20330179.16548 20342735.8844 20342740.8874
+ 339.4084 264.4744
+ 23128171.5684 -8046767.55949 -6248353.23446 23128171.6804 23128175.9914
+ -3137.0354 -2444.4444
+ 05 1 20 8 32 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 22031539.7294 -12558848.77649 -9759006.58247 22031540.2084 22031544.2844
+ 3053.6194 2379.4484
+ 24102906.5604 -3291787.35049 -2270743.37246 24102906.6584 24102909.8544
+ 1342.9384 1046.4374
+ 20715594.8524 -22831426.75949 -17775604.83648 20715594.3924 20715598.4984
+ -324.4534 -252.8204
+ 21966395.7174 -15270864.50749 -11656831.14247 21966395.9444 21966400.0884
+ -2160.2074 -1683.2744
+ 22323516.4674 -12280862.78749 -9055057.59047 22323515.2944 22323519.6844
+ 1672.7914 1303.4764
+ 20340830.8434 -26126706.65649 -20337980.52848 20340830.6214 20340835.6854
+ 328.0514 255.6284
+ 23146109.0394 -7952507.08049 -6174903.47946 23146109.8834 23146113.6904
+ -3146.9044 -2452.1414
+ 05 1 20 8 32 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 22014140.3954 -12650290.38649 -9830259.79947 22014139.4984 22014143.8614
+ 3042.4974 2370.7794
+ 24095271.9464 -3331894.50249 -2301995.67045 24095272.5804 24095276.8674
+ 1330.6174 1036.8444
+ 20717468.4504 -22821581.26549 -17767933.03748 20717467.8654 20717471.9074
+ -331.8744 -258.6024
+ 21978757.1534 -15205907.63449 -11606215.39347 21978756.6024 21978761.3774
+ -2170.2404 -1691.1014
+ 22314016.2464 -12330781.67449 -9093955.43447 22314015.4604 22314020.2544
+ 1655.0554 1289.6584
+ 20338990.5524 -26136376.74349 -20345515.66448 20338990.6154 20338995.7264
+ 316.6254 246.7234
+ 23164101.4624 -7857950.88149 -6101223.31746 23164102.1624 23164108.3304
+ -3156.7694 -2459.8204
+ 05 1 20 8 33 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 21996802.6644 -12741397.45449 -9901252.28547 21996802.1614 21996806.8764
+ 3031.3164 2362.0664
+ 24087712.4374 -3371628.83649 -2332957.50245 24087712.6584 24087714.3674
+ 1318.1034 1027.0874
+ 20719383.5174 -22811513.72949 -17760088.20648 20719383.5354 20719387.8364
+ -339.2974 -264.3904
+ 21991175.5184 -15140650.24149 -11555365.49047 21991175.0844 21991179.8074
+ -2180.2434 -1698.8964
+ 22304618.5384 -12380166.41349 -9132437.04047 22304617.9624 22304622.7664
+ 1637.2454 1275.7804
+ 20337215.8174 -26145703.99749 -20352783.64948 20337215.8504 20337220.6334
+ 305.1774 237.7994
+ 23182152.5284 -7763101.81749 -6027314.95346 23182152.0354 23182157.0934
+ -3166.4634 -2467.3814
+ 05 1 20 8 33 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 21979529.8834 -12832167.91949 -9971982.51147 21979529.6224 21979533.6834
+ 3020.0244 2353.2574
+ 24080222.1574 -3410988.52549 -2363627.32745 24080221.4474 24080227.0384
+ 1305.5624 1017.3244
+ 20721341.3884 -22801224.92549 -17752070.95448 20721341.2444 20721345.8434
+ -346.6334 -270.1034
+ 22003650.7184 -15075092.87149 -11504281.81447 22003650.1284 22003654.4074
+ -2190.2394 -1706.6824
+ 22295323.4844 -12429015.30149 -9170501.11147 22295322.7984 22295326.7724
+ 1619.3544 1261.8344
+ 20335507.1404 -26154687.13849 -20359783.50348 20335506.1344 20335511.2694
+ 293.6804 228.8434
+ 23200256.1384 -7667962.59249 -5953180.45946 23200255.9394 23200260.8184
+ -3176.1114 -2474.8924
+ 05 1 20 8 34 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 21962322.1094 -12922599.49149 -10042448.64747 21962321.0694 21962325.0854
+ 3008.6894 2344.4334
+ 24072802.8424 -3449970.81949 -2394003.16545 24072802.9354 24072809.7864
+ 1292.9404 1007.4844
+ 20723341.2734 -22790715.67249 -17743881.93048 20723341.2384 20723345.6854
+ -353.9984 -275.8444
+ 22016182.1884 -15009235.46249 -11452964.36647 22016182.7964 22016186.7594
+ -2200.2594 -1714.4854
+ 22286129.7064 -12477326.48449 -9208146.20047 22286129.5414 22286133.6514
+ 1601.3624 1247.8174
+ 20333862.7604 -26163324.90949 -20366514.24548 20333862.5764 20333867.5024
+ 282.1384 219.8494
+ 23218415.4644 -7572536.00949 -5878822.06846 23218415.0254 23218420.0254
+ -3185.6364 -2482.3024
+ 05 1 20 8 34 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 21945178.6154 -13012689.82549 -10112648.89247 21945177.3744 21945181.7174
+ 2997.3434 2335.5974
+ 24065457.0734 -3488574.06449 -2424083.62045 24065457.2314 24065462.9914
+ 1280.3264 997.6544
+ 20725383.1794 -22779986.68149 -17735521.67648 20725382.9924 20725387.3624
+ -361.2694 -281.5074
+ 22028771.9454 -14943078.20849 -11401413.24247 22028771.2484 22028776.0554
+ -2210.2224 -1722.2474
+ 22277039.5204 -12525098.22049 -9245370.93547 22277038.5744 22277042.5834
+ 1583.3974 1233.8194
+ 20332284.7094 -26171616.12249 -20372974.93348 20332284.5494 20332289.6974
+ 270.5934 210.8534
+ 23236626.8524 -7476824.72249 -5804241.86146 23236628.1794 23236632.3344
+ -3195.0094 -2489.6194
+ 05 1 20 8 35 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 21928099.0524 -13102436.94849 -10182581.71047 21928098.9274 21928102.9284
+ 2985.8254 2326.6154
+ 24058183.6144 -3526796.01849 -2453866.93045 24058183.0364 24058189.1394
+ 1267.4944 987.6584
+ 20727466.0184 -22769038.70849 -17726990.78948 20727466.2694 20727470.5264
+ -368.5774 -287.2044
+ 22041418.3824 -14876621.53849 -11349628.81947 22041418.4274 22041422.6934
+ -2220.2064 -1730.0374
+ 22268051.0854 -12572328.99749 -9282174.14047 22268050.5194 22268054.9604
+ 1565.3064 1219.7204
+ 20330773.5104 -26179559.62749 -20379164.68148 20330773.1294 20330777.9914
+ 258.9734 201.7954
+ 23254896.4654 -7380831.60649 -5729442.00546 23254896.2794 23254899.5814
+ -3204.4244 -2496.9584
+ 05 1 20 8 35 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 21911086.6414 -13191838.41549 -10252245.16747 21911086.2504 21911090.6964
+ 2974.2474 2317.5914
+ 24050984.3464 -3564634.54149 -2483351.49745 24050982.6794 24050988.3174
+ 1254.6714 977.6654
+ 20729591.3344 -22757872.31549 -17718289.70348 20729591.2124 20729595.4364
+ -375.8444 -292.8704
+ 22054122.2234 -14809866.11949 -11297611.62247 22054121.2204 22054125.4784
+ -2230.1734 -1737.7984
+ 22259166.8394 -12619017.13149 -9318554.50347 22259166.1544 22259170.5864
+ 1547.2014 1205.6054
+ 20329328.2764 -26187153.99449 -20385082.37048 20329328.0744 20329333.0454
+ 247.3224 192.7154
+ 23273215.0724 -7284559.31449 -5654424.62146 23273215.2844 23273220.2354
+ -3213.6784 -2504.1674
+ 05 1 20 8 36 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 21894141.1714 -13280891.85149 -10321637.42747 21894140.2564 21894144.3884
+ 2962.6334 2308.5454
+ 24043853.0874 -3602087.44349 -2512535.58145 24043854.2764 24043862.8484
+ 1241.8164 967.6484
+ 20731757.9974 -22746488.05649 -17709418.85648 20731757.5784 20731761.8064
+ -383.0914 -298.5104
+ 22066881.1324 -14742811.94949 -11245361.62947 22066880.7714 22066885.2694
+ -2240.1204 -1745.5404
+ 22250386.0544 -12665160.80949 -9354510.61847 22250385.2984 22250390.2034
+ 1529.0134 1191.4414
+ 20327950.3844 -26194398.07549 -20390727.12148 20327949.7224 20327954.4964
+ 235.6134 183.5954
+ 23291586.4434 -7188010.66249 -5579191.91646 23291586.6654 23291592.6254
+ -3222.8044 -2511.2654
+ 05 1 20 8 36 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 21877259.7234 -13369595.28749 -10390756.97947 21877259.6594 21877264.8704
+ 2950.9084 2299.4084
+ 24036806.7544 -3639152.75449 -2541417.61145 24036803.7684 24036808.8164
+ 1228.8774 957.5624
+ 20733965.3224 -22734886.80949 -17700378.93448 20733965.2034 20733969.6014
+ -390.3364 -304.1564
+ 22079698.7174 -14675459.58549 -11192879.27747 22079698.2974 22079702.8154
+ -2250.0534 -1753.2874
+ 22241709.7234 -12710758.44749 -9390041.24847 22241708.7344 22241713.0174
+ 1510.8024 1177.2514
+ 20326638.1104 -26201290.76949 -20396098.05048 20326637.6754 20326642.7964
+ 223.8764 174.4504
+ 23310012.0944 -7091188.35449 -5503745.97346 23310012.1494 23310016.5204
+ -3231.9094 -2518.3764
+ 05 1 20 8 37 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 21860447.3634 -13457946.46649 -10459602.03947 21860447.0244 21860451.4194
+ 2939.1374 2290.2354
+ 24029823.7034 -3675828.33749 -2569995.96945 24029822.9864 24029828.1604
+ 1215.8524 947.4244
+ 20736214.4184 -22723069.26649 -17691170.46548 20736214.0584 20736218.3584
+ -397.5224 -309.7554
+ 22092571.8624 -14607809.50249 -11140164.95347 22092571.5404 22092576.1694
+ -2259.9804 -1761.0194
+ 22233135.1884 -12755808.43249 -9425145.12747 22233135.6704 22233140.3934
+ 1492.5134 1162.9964
+ 20325393.6114 -26207830.82949 -20401194.20648 20325393.2754 20325398.2844
+ 212.1004 165.2774
+ 23328487.9504 -6994095.18449 -5428088.94246 23328488.9864 23328492.4304
+ -3240.8754 -2525.3564
+ 05 1 20 8 37 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 21843702.7084 -13545943.23649 -10528170.91847 21843701.8904 21843706.4534
+ 2927.3114 2281.0184
+ 24022918.0784 -3712112.20049 -2598269.11545 24022918.9344 24022923.6184
+ 1202.6664 937.1404
+ 20738503.6534 -22711035.93649 -17681793.84448 20738503.8424 20738508.0154
+ -404.6844 -315.3374
+ 22105501.9654 -14539861.96049 -11087218.83047 22105501.8244 22105505.6214
+ -2269.8754 -1768.7344
+ 22224668.1584 -12800309.32049 -9459821.15447 22224667.6834 22224671.9574
+ 1474.1984 1148.7334
+ 20324216.7324 -26214017.08749 -20406014.66848 20324216.0764 20324221.1104
+ 200.3134 156.0904
+ 23347016.5734 -6896733.79149 -5352222.90346 23347015.7564 23347019.6804
+ -3249.8264 -2532.3354
+ 05 1 20 8 38 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 21827026.3284 -13633583.26949 -10596461.83447 21827025.0184 21827029.3844
+ 2915.3654 2271.7104
+ 24016089.3894 -3748002.14949 -2626235.27645 24016089.3594 24016095.2414
+ 1189.6164 926.9764
+ 20740834.9534 -22698787.77549 -17672249.81848 20740834.6584 20740838.8454
+ -411.8674 -320.9364
+ 22118487.8194 -14471617.27249 -11034041.11847 22118487.3314 22118492.3944
+ -2279.7974 -1776.4724
+ 22216304.9864 -12844259.37749 -9494067.95447 22216304.2814 22216308.1524
+ 1455.7784 1134.3664
+ 20323106.5084 -26219848.27549 -20410558.45848 20323106.2624 20323111.5954
+ 188.4304 146.8274
+ 23365594.7214 -6799106.99949 -5276150.07846 23365594.0544 23365598.8554
+ -3258.6364 -2539.1984
+ 05 1 20 8 38 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 21810416.1314 -13720864.41549 -10664473.11047 21810415.5874 21810420.3564
+ 2903.3844 2262.3734
+ 24009336.2864 -3783496.45349 -2653893.12945 24009334.9504 24009340.7924
+ 1176.3624 916.6454
+ 20743206.4944 -22686325.17949 -17662538.70448 20743206.1234 20743210.5474
+ -418.9904 -326.4844
+ 22131532.1354 -14403075.81549 -10980632.16647 22131531.0644 22131535.4234
+ -2289.6574 -1784.1504
+ 22208046.7124 -12887657.11349 -9527884.37847 22208045.4854 22208050.1324
+ 1437.3584 1120.0174
+ 20322064.9344 -26225323.39149 -20414824.78548 20322064.6594 20322069.8054
+ 176.5584 137.5784
+ 23384221.0454 -6701217.54249 -5199872.57446 23384220.7534 23384224.9014
+ -3267.3294 -2545.9834
+ 05 1 20 8 39 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 21793875.5244 -13807784.54249 -10732203.06947 21793875.8244 21793879.8914
+ 2891.3084 2252.9704
+ 24002656.6254 -3818592.67649 -2681240.86045 24002656.0064 24002660.5644
+ 1163.1014 906.3194
+ 20745618.4614 -22673649.05349 -17652661.19648 20745618.3454 20745622.9264
+ -426.0794 -332.0104
+ 22144629.7754 -14334238.12849 -10926992.40747 22144630.0674 22144634.1674
+ -2299.5094 -1791.8264
+ 22199893.5744 -12930500.78149 -9561269.05747 22199893.2734 22199897.2614
+ 1418.8744 1105.6194
+ 20321091.3044 -26230441.17849 -20418812.67348 20321090.7424 20321095.9194
+ 164.6314 128.2834
+ 23402897.6834 -6603068.15849 -5123392.53746 23402899.0814 23402903.7324
+ -3275.9194 -2552.6634
+ 05 1 20 8 39 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 21777404.9154 -13894341.51049 -10799650.05947 21777404.0154 21777408.9764
+ 2879.1644 2243.5054
+ 23996052.8054 -3853289.05949 -2708276.99846 23996052.6584 23996060.9354
+ 1149.6724 895.8484
+ 20748070.9904 -22660759.72549 -17642617.57548 20748071.0054 20748075.4104
+ -433.1934 -337.5524
+ 22157787.5334 -14265104.63949 -10873122.17147 22157786.1984 22157789.9274
+ -2309.3934 -1799.5294
+ 22191846.7004 -12972789.00349 -9594220.92547 22191846.0594 22191850.7694
+ 1400.3184 1091.1574
+ 20320185.7004 -26235200.48849 -20422521.23148 20320185.1914 20320190.2634
+ 152.6504 118.9504
+ 23421624.5824 -6504661.59649 -5046712.11046 23421625.3294 23421629.9434
+ -3284.4574 -2559.3094
+ 05 1 20 8 40 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 21761002.4624 -13980533.11749 -10866812.32647 21761002.3404 21761006.9944
+ 2866.9464 2233.9864
+ 23989527.9094 -3887583.53849 -2734999.95146 23989528.1674 23989533.4994
+ 1136.2624 885.4024
+ 20750564.3254 -22647657.99449 -17632408.43148 20750564.2114 20750568.6554
+ -440.2514 -343.0524
+ 22170998.8074 -14195675.69349 -10819021.68347 22170997.8514 22171002.0654
+ -2319.2114 -1807.1714
+ 22183905.4814 -13014520.34949 -9626738.85147 22183904.8624 22183909.0604
+ 1381.7304 1076.6724
+ 20319348.5684 -26239600.10249 -20425949.50848 20319348.0064 20319352.6824
+ 140.6414 109.5934
+ 23440400.2954 -6406000.55249 -4969833.34645 23440399.3484 23440403.9974
+ -3292.9104 -2565.9044
+ 05 1 20 8 40 30.0000000 0 7G16G 6G25G14G20G 1G30
+ 21744670.8884 -14066357.31249 -10933688.34447 21744670.5104 21744675.5154
+ 2854.6704 2224.4234
+ 23983080.6744 -3921474.17149 -2761408.22646 23983080.6284 23983082.4314
+ 1122.7724 874.8834
+ 20753097.4544 -22634344.85949 -17622034.56048 20753097.4484 20753102.1754
+ -447.2844 -348.5334
+ 22184266.3874 -14125951.64049 -10764691.24247 22184265.9254 22184269.2464
+ -2329.0394 -1814.8394
+ 22176070.3214 -13055693.31349 -9658821.68047 22176069.3994 22176074.4224
+ 1363.1264 1062.1814
+ 20318579.4654 -26243638.87249 -20429096.61048 20318579.2394 20318584.2354
+ 128.6004 100.2064
+ 23459218.8184 -6307087.83049 -4892758.45945 23459220.4594 23459227.2394
+ -3301.2004 -2572.3544
+ 05 1 20 8 41 0.0000000 0 7G16G 6G25G14G20G 1G30
+ 21728409.1694 -14151812.02849 -11000276.42847 21728408.9264 21728413.6434
+ 2842.3054 2214.7804
+ 23976705.9704 -3954959.03849 -2787500.31746 23976706.0214 23976712.6654
+ 1109.2574 864.3564
+ 20755671.2694 -22620820.48849 -17611496.09248 20755671.1894 20755675.6244
+ -454.3094 -354.0074
+ 22197589.5514 -14055933.15949 -10710131.35247 22197589.8024 22197594.2714
+ -2338.8594 -1822.4984
+ 22168341.8294 -13096306.46749 -9690468.30247 22168340.7724 22168345.6554
+ 1344.4424 1047.6144
+ 20317880.1044 -26247315.65949 -20431961.65848 20317879.5744 20317884.6844
+ 116.5104 90.7864
+ 23478090.3354 -6207926.07149 -4815489.57645 23478092.0744 23478095.6064
+ -3309.4764 -2578.8064
+ 05 1 20 8 41 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21712219.8864 -14236894.85249 -11066574.73247 21712218.7764 21712222.7984
+ 2829.8574 2205.0904
+ 24703249.5074 -303524.97249 -207837.49445 24703251.5114
+ 3323.6294 2589.8424
+ 23970412.6114 -3988036.04349 -2813274.58146 23970412.8764 23970417.1264
+ 1095.5484 853.6784
+ 20758285.8034 -22607085.63649 -17600793.60348 20758285.0274 20758289.2784
+ -461.3444 -359.4874
+ 22210970.8494 -13985620.46549 -10655342.19747 22210969.8164 22210974.2724
+ -2348.6604 -1830.1204
+ 22160720.3774 -13136358.24249 -9721677.48347 22160719.9024 22160724.0114
+ 1325.6654 1032.9894
+ 20317249.1704 -26250629.19549 -20434543.64948 20317249.1134 20317254.1264
+ 104.3714 81.3324
+ 23497010.0144 -6108518.14849 -4738028.81745 23497008.3074 23497013.6604
+ -3317.6484 -2585.1834
+ 05 1 20 8 42 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21696098.5564 -14321603.89349 -11132581.77347 21696098.5634 21696102.8234
+ 2817.3694 2195.3474
+ 24684279.1184 -403245.27549 -285541.59545 24684275.5564 24684275.7154
+ 3324.3144 2590.3734
+ 23964196.5034 -4020703.49949 -2838729.71846 23964195.4214 23964202.5954
+ 1081.9124 843.0524
+ 20760938.3364 -22593141.10149 -17589927.73448 20760938.5664 20760942.7594
+ -468.3214 -364.9284
+ 22224406.0074 -13915014.09049 -10600324.22647 22224406.0024 22224410.2344
+ -2358.4314 -1837.7394
+ 22153205.2894 -13175847.53649 -9752448.34947 22153204.8494 22153209.6874
+ 1306.9194 1018.3754
+ 20316687.9624 -26253578.38549 -20436841.73548 20316687.8274 20316693.0144
+ 92.2144 71.8554
+ 23515972.0464 -6008866.59349 -4660378.27845 23515972.6354 23515976.0564
+ -3325.7144 -2591.4594
+ 05 1 20 8 42 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21680050.3434 -14405937.16549 -11198296.00947 21680050.5784 21680055.0404
+ 2804.8234 2185.5744
+ 24665296.5374 -502988.00749 -363263.21045 24665295.5914 24665295.4284
+ 3325.1334 2591.0124
+ 23958059.2914 -4052959.27749 -2863864.09146 23958058.7454 23958063.5854
+ 1068.1514 832.3254
+ 20763632.2554 -22578987.58949 -17578899.02848 20763631.8134 20763636.0694
+ -475.2544 -370.3294
+ 22237897.5714 -13844114.60649 -10545077.88447 22237897.1964 22237901.3584
+ -2368.1864 -1845.3334
+ 22145798.3674 -13214772.70649 -9782779.65947 22145797.9674 22145801.9424
+ 1288.0944 1003.7114
+ 20316196.7114 -26256162.13049 -20438855.05148 20316196.5724 20316201.3364
+ 80.0274 62.3614
+ 23534979.4984 -5908974.26349 -4582540.11646 23534980.2914 23534985.1784
+ -3333.7124 -2597.7004
+ 05 1 20 8 43 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21664075.4284 -14489892.29649 -11263715.57047 21664074.5854 21664078.5404
+ 2792.1754 2175.7214
+ 24646309.2584 -602751.75249 -441001.19345 24646310.9684 24646310.9234
+ 3325.7704 2591.5124
+ 23951998.7234 -4084801.55349 -2888676.25446 23951999.0854 23952002.7684
+ 1054.3434 821.5694
+ 20766364.4124 -22564625.90649 -17567708.10648 20766364.5264 20766369.2594
+ -482.1994 -375.7394
+ 22251445.5084 -13772922.17949 -10489603.22247 22251444.7114 22251449.4554
+ -2377.9754 -1852.9594
+ 22138498.4714 -13253132.41049 -9812670.33847 22138498.2524 22138502.7094
+ 1269.1794 988.9734
+ 20315774.6474 -26258379.39849 -20440582.81148 20315774.3304 20315779.5354
+ 67.7774 52.8154
+ 23554035.1344 -5808843.72449 -4504516.34145 23554035.0604 23554037.7844
+ -3341.5954 -2603.8324
+ 05 1 20 8 43 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21648171.0354 -14573467.38849 -11328839.00847 21648170.9074 21648175.4734
+ 2779.4844 2165.8294
+ 24627322.7354 -702535.27749 -518754.59745 24627322.6304 24627323.4434
+ 3326.4094 2592.0034
+ 23946017.7924 -4116228.47149 -2913164.76046 23946019.0544 23946022.8764
+ 1040.4424 810.7354
+ 20769137.2734 -22550056.35349 -17556355.20248 20769137.1244 20769141.7244
+ -489.0964 -381.1164
+ 22265048.5994 -13701437.50849 -10433900.86747 22265048.3834 22265052.4404
+ -2387.6744 -1860.5234
+ 22131307.7194 -13290925.22349 -9842119.28047 22131306.5564 22131310.7944
+ 1250.2964 974.2584
+ 20315422.7704 -26260228.89049 -20442023.98048 20315422.4284 20315427.3294
+ 55.5034 43.2484
+ 23573133.5624 -5708477.81249 -4426309.06745 23573134.0934 23573134.9674
+ -3349.3314 -2609.8814
+ 05 1 20 8 44 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21632339.8994 -14656660.53649 -11393664.82047 21632339.6714 21632344.2214
+ 2766.7254 2155.8884
+ 24608333.9984 -802337.28549 -596522.37745 24608331.6124 24608330.5764
+ 3327.0074 2592.4704
+ 23940117.1124 -4147237.98649 -2937328.01646 23940117.5054 23940121.8384
+ 1026.4934 799.8714
+ 20771949.0754 -22535279.64649 -17544840.89448 20771948.9334 20771953.5104
+ -496.0164 -386.5064
+ 22278706.9464 -13629661.15449 -10377971.22347 22278706.3724 22278710.5774
+ -2397.4084 -1868.1174
+ 22124223.8754 -13328149.80549 -9871125.45147 22124223.3684 22124226.9404
+ 1231.3304 959.4764
+ 20315141.0654 -26261709.46349 -20443177.67348 20315140.4934 20315145.7624
+ 43.1814 33.6454
+ 23592274.7444 -5607879.22549 -4347920.52945 23592276.0154 23592280.7254
+ -3357.1434 -2615.9454
+ 05 1 20 8 44 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21616582.5954 -14739469.52049 -11458191.28147 21616581.7024 21616586.2254
+ 2753.8704 2145.8724
+ 24589339.9664 -902156.35749 -674303.42345 24589335.9254 24589336.4724
+ 3327.5764 2592.9124
+ 23934296.4944 -4177828.44749 -2961164.71746 23934295.8514 23934301.8174
+ 1012.5404 788.9914
+ 20774800.4464 -22520296.12249 -17533165.42948 20774800.3484 20774804.5284
+ -502.8874 -391.8604
+ 22292420.4794 -13557593.55449 -10321814.64347 22292419.7694 22292424.9964
+ -2407.0924 -1875.6554
+ 22117248.0864 -13364804.90449 -9899687.87747 22117247.8424 22117251.9824
+ 1212.3334 944.6704
+ 20314930.0334 -26262820.15449 -20444043.14748 20314929.3234 20314934.3414
+ 30.8264 24.0184
+ 23611464.9564 -5507050.56949 -4269352.74146 23611464.5634 23611467.7584
+ -3364.7154 -2621.8544
+ 05 1 20 8 45 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21600897.9924 -14821892.18949 -11522416.73247 21600897.2234 21600901.4254
+ 2740.9674 2135.8164
+ 24570340.2124 -1001991.23149 -752096.84045 24570338.2654 24570339.3164
+ 3328.0764 2593.3044
+ 23928555.2504 -4207998.02549 -2984673.47346 23928555.5004 23928560.3434
+ 998.4194 777.9884
+ 20777691.0804 -22505106.77849 -17521329.58048 20777690.7424 20777695.0764
+ -509.7334 -397.1944
+ 22306190.7994 -13485235.28549 -10265431.56347 22306190.0644 22306194.3704
+ -2416.7864 -1883.2134
+ 22110382.0934 -13400889.24449 -9927805.54547 22110381.2654 22110385.0564
+ 1193.2764 929.8264
+ 20314788.5124 -26263559.83749 -20444619.52448 20314788.3164 20314793.4164
+ 18.4544 14.3784
+ 23630694.4534 -5405994.74849 -4190607.94246 23630694.6514 23630697.7304
+ -3372.3064 -2627.7594
+ 05 1 20 8 45 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21585285.6364 -14903926.81449 -11586339.81747 21585286.1444 21585290.2814
+ 2727.9814 2125.6984
+ 24551340.9354 -1101840.46849 -829901.44245 24551338.5644 24551338.4424
+ 3328.5624 2593.6864
+ 23922895.0134 -4237744.80549 -3007852.77046 23922894.2934 23922899.5184
+ 984.3944 767.0654
+ 20780620.5774 -22489712.50649 -17509334.04648 20780620.4344 20780624.6064
+ -516.5614 -402.5154
+ 22320013.4034 -13412586.77549 -10208822.31447 22320014.1414 22320018.8414
+ -2426.4804 -1890.7694
+ 22103624.2004 -13436401.64849 -9955477.54547 22103623.6504 22103627.5854
+ 1174.1994 914.9574
+ 20314718.9104 -26263927.34949 -20444905.89348 20314718.7294 20314723.6204
+ 6.0264 4.6944
+ 23649965.7834 -5304714.34349 -4111688.14746 23649967.2444 23649971.9404
+ -3379.7304 -2633.5544
+ 05 1 20 8 46 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21569749.5564 -14985571.22949 -11649958.83447 21569749.6314 21569754.1174
+ 2714.9654 2115.5584
+ 24532333.1164 -1201702.85149 -907716.27245 24532333.0234 24532334.8824
+ 3328.9814 2594.0064
+ 23917314.6544 -4267067.03949 -3030701.23346 23917314.8264 23917320.1764
+ 970.1764 755.9834
+ 20783588.8714 -22474113.59049 -17497179.05148 20783588.7064 20783593.1464
+ -523.3744 -407.8234
+ 22333895.3534 -13339648.55749 -10151987.32847 22333894.6254 22333898.8194
+ -2436.1074 -1898.2604
+ 22096975.2824 -13471340.84849 -9982702.89747 22096974.6524 22096978.7964
+ 1155.0654 900.0494
+ 20314719.9494 -26263921.61849 -20444901.43148 20314719.5564 20314724.8434
+ -6.4254 -5.0044
+ 23669283.2264 -5203212.01949 -4032595.45046 23669282.5394 23669287.3854
+ -3387.0644 -2639.2684
+ 05 1 20 8 46 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21554288.8994 -15066823.39449 -11713272.19847 21554288.0184 21554292.5304
+ 2701.8484 2105.3374
+ 24513327.3414 -1301576.83049 -985540.19445 24513327.3414 24513329.0784
+ 3329.3604 2594.3114
+ 23911817.4234 -4295962.73049 -3053217.34146 23911816.0764 23911821.3314
+ 955.8414 744.8084
+ 20786595.8284 -22458310.67949 -17484865.09748 20786595.6674 20786600.1374
+ -530.1654 -413.1144
+ 22347830.7514 -13266421.19149 -10094927.05347 22347829.8024 22347833.2414
+ -2445.7174 -1905.7584
+ 22090436.3754 -13505705.41549 -10009480.47647 22090434.9344 22090439.4734
+ 1135.9024 885.1194
+ 20314792.5624 -26263541.53349 -20444605.27248 20314791.9864 20314797.1764
+ -18.9114 -14.7354
+ 23688640.7304 -5101490.49549 -3953331.92646 23688639.6344 23688643.3404
+ -3394.3064 -2644.9204
+ 05 1 20 8 47 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21538901.4154 -15147681.27149 -11776278.32647 21538901.0824 21538906.0494
+ 2688.6884 2095.0844
+ 24494319.4694 -1401461.38649 -1063372.31445 24494320.0054 24494321.6264
+ 3329.6714 2594.5494
+ 23906399.0824 -4324430.36849 -3075399.89746 23906398.6694 23906403.8584
+ 941.6634 733.7614
+ 20789641.9154 -22442304.26249 -17472392.57148 20789641.6484 20789645.9974
+ -536.9144 -418.3744
+ 22361818.9024 -13192905.24349 -10037641.87047 22361819.1764 22361822.6724
+ -2455.3314 -1913.2524
+ 22084005.2964 -13539494.54349 -10035809.67947 22084005.4434 22084009.6824
+ 1116.6914 870.1504
+ 20314936.6054 -26262786.03149 -20444016.59148 20314935.8624 20314940.8434
+ -31.4404 -24.4984
+ 23708037.3994 -4999552.50449 -3873899.73446 23708037.3184 23708042.5154
+ -3401.4554 -2650.4764
+ 05 1 20 8 47 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21523590.7114 -15228142.97849 -11838975.77347 21523590.1324 21523594.8574
+ 2675.4524 2084.7624
+ 24475311.6974 -1501355.07849 -1141211.53145 24475310.4474 24475313.0214
+ 3329.8914 2594.7194
+ 23901063.5004 -4352468.05449 -3097247.44246 23901062.2594 23901069.1834
+ 927.2504 722.5404
+ 20792726.3414 -22426094.70049 -17459761.75048 20792726.2224 20792730.4994
+ -543.6844 -423.6494
+ 22375864.0834 -13119101.04449 -9980132.09747 22375863.2704 22375867.2334
+ -2464.9294 -1920.7314
+ 22077684.9444 -13572706.85749 -10061689.40747 22077685.1574 22077689.6724
+ 1097.4554 855.1634
+ 20315151.6114 -26261654.12849 -20443134.59648 20315151.2634 20315156.3854
+ -44.0034 -34.2884
+ 23727475.4134 -4897400.73749 -3794300.93746 23727476.1994 23727480.7114
+ -3408.5254 -2655.9914
+ 05 1 20 8 48 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21508354.7544 -15308206.42849 -11901362.87347 21508354.5564 21508359.1994
+ 2662.1304 2074.3914
+ 24456299.0454 -1601256.49449 -1219056.77446 24456299.4024 24456302.8594
+ 3330.1304 2594.9064
+ 23895810.7024 -4380074.00249 -3118758.56646 23895809.3894 23895814.4474
+ 912.8634 711.3084
+ 20795849.2064 -22409682.86949 -17446973.31648 20795849.2954 20795853.8484
+ -550.4274 -428.9024
+ 22389962.9704 -13045009.41249 -9922398.34347 22389962.4604 22389966.8274
+ -2474.5314 -1928.2114
+ 22071476.0134 -13605341.05949 -10087118.66547 22071475.6924 22071479.4924
+ 1078.1484 840.1154
+ 20315438.8384 -26260144.65349 -20441958.37948 20315438.5324 20315443.6614
+ -56.6214 -44.1224
+ 23746955.7884 -4795037.78149 -3714537.60546 23746955.2564 23746960.0684
+ -3415.5774 -2661.4854
+ 05 1 20 8 48 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21493196.5764 -15387869.84449 -11963438.27447 21493195.4544 21493199.2774
+ 2648.7594 2063.9704
+ 24437287.4964 -1701164.06149 -1296906.84446 24437287.0924 24437290.7904
+ 3330.2844 2595.0294
+ 23890640.1314 -4407246.59749 -3139932.04746 23890638.9504 23890644.0924
+ 898.3844 700.0354
+ 20799010.9494 -22393069.60949 -17434027.92648 20799010.7924 20799015.2854
+ -557.1334 -434.1284
+ 22404115.7994 -12970630.88149 -9864441.02847 22404115.9924 22404119.3994
+ -2484.0884 -1935.6544
+ 22065376.1804 -13637396.24549 -10112096.72847 22065375.7064 22065379.7704
+ 1058.8264 825.0674
+ 20315797.8434 -26258256.52249 -20440487.11048 20315797.7064 20315802.8144
+ -69.2634 -53.9724
+ 23766474.9184 -4692466.35249 -3634611.83846 23766473.9814 23766478.6614
+ -3422.4634 -2666.8574
+ 05 1 20 8 49 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21478112.6424 -15467131.18749 -12025200.34847 21478111.9334 21478116.6074
+ 2635.3414 2053.5154
+ 24418278.4044 -1801076.69249 -1374760.85646 24418275.7884 24418277.8984
+ 3330.4644 2595.1654
+ 23885551.5304 -4433984.04849 -3160766.41246 23885551.8804 23885557.2354
+ 883.8334 688.7024
+ 20802210.3664 -22376255.55649 -17420926.06948 20802210.4514 20802214.6904
+ -563.8014 -439.3254
+ 22418324.0434 -12895966.05449 -9806260.64047 22418323.8384 22418328.6954
+ -2493.5904 -1943.0524
+ 22059386.0794 -13668871.14049 -10136622.61647 22059385.5434 22059390.5044
+ 1039.4924 809.9884
+ 20316229.5874 -26255988.81549 -20438720.07148 20316229.3424 20316234.2914
+ -81.9124 -63.8284
+ 23786030.6794 -4589689.07649 -3554525.64546 23786031.9084 23786036.3314
+ -3429.2714 -2672.1544
+ 05 1 20 8 49 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21463106.1324 -15545988.63949 -12086647.72347 21463106.1184 21463111.0464
+ 2621.8354 2042.9914
+ 24399261.8074 -1900992.76349 -1452617.55846 24399261.0624 24399263.8344
+ 3330.5674 2595.2434
+ 23880546.6054 -4460284.83149 -3181260.51946 23880546.0394 23880551.4114
+ 869.2884 677.3644
+ 20805447.7304 -22359241.25049 -17407668.17948 20805448.0364 20805452.5254
+ -570.4664 -444.5164
+ 22432587.0684 -12821015.50649 -9747857.60047 22432587.0464 22432591.4384
+ -2503.1044 -1950.4694
+ 22053507.4024 -13699764.79849 -10160695.58847 22053506.6794 22053511.3454
+ 1020.1054 794.8864
+ 20316733.3044 -26253340.45849 -20436656.44448 20316733.1214 20316738.4054
+ -94.6274 -73.7334
+ 23805627.8794 -4486708.75849 -3474281.23046 23805628.2014 23805633.2274
+ -3435.9984 -2677.3994
+ 05 1 20 8 50 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21448178.1484 -15624440.18149 -12147778.78047 21448177.4844 21448181.8664
+ 2608.2764 2032.4254
+ 24380247.8794 -2000910.87349 -1530475.83746 24380247.0824 24380250.5644
+ 3330.6244 2595.2924
+ 23875624.8864 -4486147.12449 -3201412.95446 23875624.8974 23875630.1044
+ 854.6264 665.9494
+ 20808723.6624 -22342026.92249 -17394254.43248 20808723.7574 20808728.3574
+ -577.1484 -449.7264
+ 22446904.4924 -12745779.89649 -9689232.44047 22446903.6544 22446907.9694
+ -2512.6014 -1957.8614
+ 22047739.7344 -13730076.18849 -10184314.85947 22047739.0164 22047743.0334
+ 1000.6594 779.7334
+ 20317310.3544 -26250310.30049 -20434295.31248 20317309.8024 20317315.0554
+ -107.3904 -83.6834
+ 23825264.0484 -4383527.89749 -3393880.55746 23825263.7834 23825267.7364
+ -3442.6524 -2682.5894
+ 05 1 20 8 50 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21433326.0684 -15702483.81249 -12208592.00247 21433325.7014 21433330.8284
+ 2594.6454 2021.8014
+ 24361234.6534 -2100829.81349 -1608334.74646 24361233.3174 24361236.4624
+ 3330.5864 2595.2634
+ 23870787.3454 -4511569.27049 -3221222.36646 23870787.2364 23870793.7274
+ 839.9244 654.4854
+ 20812037.7334 -22324613.11849 -17380685.23648 20812037.4994 20812042.0844
+ -583.7784 -454.8904
+ 22461275.9774 -12670259.59449 -9630385.44947 22461275.1674 22461279.4674
+ -2522.0574 -1965.2294
+ 22042082.7274 -13759804.16749 -10207479.51847 22042082.1154 22042086.5054
+ 981.1834 764.5554
+ 20317959.6974 -26246897.37349 -20431635.90448 20317959.4584 20317964.4394
+ -120.1554 -93.6264
+ 23844936.2874 -4280149.22949 -3313325.75546 23844936.1984 23844940.6674
+ -3449.2384 -2687.7304
+ 05 1 20 8 51 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21418553.6344 -15780117.84249 -12269086.05547 21418552.9474 21418557.1914
+ 2580.9384 2011.1174
+ 24342218.6854 -2200748.02849 -1686193.10946 24342219.8034 24342222.4424
+ 3330.5884 2595.2654
+ 23866033.9724 -4536549.73049 -3240687.68046 23866034.0474 23866037.8104
+ 825.1934 643.0214
+ 20815389.1154 -22307000.62249 -17366961.21948 20815389.0414 20815393.5794
+ -590.3974 -460.0504
+ 22475700.4894 -12594455.39249 -9571317.23747 22475700.3454 22475704.0674
+ -2531.5484 -1972.6254
+ 22036537.2174 -13788947.76949 -10230188.82447 22036536.2934 22036540.5184
+ 961.6734 749.3594
+ 20318682.3384 -26243100.63549 -20428677.42748 20318682.1034 20318686.9704
+ -132.9734 -103.6164
+ 23864643.0884 -4176575.40949 -3232618.90845 23864644.3364 23864648.9734
+ -3455.7074 -2692.7614
+ 05 1 20 8 51 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21403857.8934 -15857340.48049 -12329259.54447 21403857.9154 21403862.1634
+ 2567.2054 2000.4204
+ 24323207.2714 -2300663.94849 -1764049.65046 24323207.0614 24323210.2084
+ 3330.4884 2595.1874
+ 23861364.5834 -4561086.85349 -3259807.51346 23861365.0134 23861370.3334
+ 810.3614 631.4524
+ 20818778.6634 -22289190.26349 -17353083.01848 20818778.3344 20818783.0444
+ -596.9864 -465.1844
+ 22490178.1334 -12518367.89949 -9512028.27847 22490177.9324 22490181.9314
+ -2540.9754 -1979.9824
+ 22031102.2594 -13817505.98949 -10252441.99747 22031101.6854 22031105.8574
+ 942.1544 734.1514
+ 20319478.0164 -26238919.08949 -20425419.11648 20319477.6824 20319482.7894
+ -145.8004 -113.6094
+ 23884390.7794 -4072809.03449 -3151761.97045 23884391.0334 23884395.2454
+ -3462.0394 -2697.6884
+ 05 1 20 8 52 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21389242.1814 -15934149.67849 -12389110.86247 21389241.6104 21389245.7204
+ 2553.3844 1989.6494
+ 24304194.0654 -2400576.18649 -1841903.32945 24304193.6094 24304197.7314
+ 3330.3434 2595.0734
+ 23856779.0704 -4585179.10449 -3278580.65846 23856778.6304 23856784.0984
+ 795.5294 619.8994
+ 20822205.3734 -22271182.37249 -17339050.90948 20822205.1664 20822209.5524
+ -603.5554 -470.3024
+ 22504712.1594 -12441997.76049 -9452519.07947 22504711.4204 22504716.3314
+ -2550.4014 -1987.3224
+ 22025780.1394 -13845477.96749 -10274238.34047 22025778.8374 22025783.4214
+ 922.6104 718.9194
+ 20320347.1994 -26234351.78349 -20421860.20048 20320346.8034 20320351.9624
+ -158.7064 -123.6674
+ 23904173.5654 -3968852.77249 -3070757.12545 23904172.0084 23904178.3524
+ -3468.3094 -2702.5684
+ 05 1 20 8 52 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21374705.1904 -16010543.43449 -12448638.47347 21374704.7304 21374708.4654
+ 2539.5194 1978.8444
+ 24285183.0174 -2500483.26849 -1919753.01845 24285182.2294 24285184.6584
+ 3330.1014 2594.8864
+ 23852280.5704 -4608824.58949 -3297005.72946 23852280.4574 23852286.3944
+ 780.5774 608.2314
+ 20825669.6174 -22252977.66649 -17324865.43048 20825669.2374 20825673.7424
+ -610.1164 -475.4164
+ 22519297.1454 -12365345.62949 -9392790.16046 22519297.4784 22519301.4704
+ -2559.7884 -1994.6454
+ 22020567.7134 -13872862.63349 -10295577.03847 22020567.1554 22020571.9224
+ 903.0074 703.6404
+ 20321290.1834 -26229397.70649 -20417999.90748 20321289.5794 20321294.5684
+ -171.6054 -133.7184
+ 23923989.9894 -3864709.21549 -2989606.37145 23923991.4054 23923995.7884
+ -3474.5204 -2707.4144
+ 05 1 20 8 53 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21360246.8484 -16086520.32949 -12507841.26147 21360246.3054 21360250.6674
+ 2525.5764 1967.9794
+ 24266174.4404 -2600383.66049 -1997597.49545 24266172.8924 24266175.0234
+ 3329.8804 2594.7084
+ 23847864.9504 -4632022.00449 -3315081.61046 23847865.6894 23847871.7384
+ 765.6154 596.5864
+ 20829170.9664 -22234576.44449 -17310526.81448 20829171.0304 20829175.2514
+ -616.6484 -480.5084
+ 22533938.7344 -12288412.12549 -9332841.96946 22533937.5874 22533941.1524
+ -2569.1574 -2001.9414
+ 22015468.8194 -13899659.02449 -10316457.35347 22015468.3754 22015472.4024
+ 883.4034 688.3684
+ 20322306.3874 -26224055.78749 -20413837.39348 20322306.3274 20322311.0894
+ -184.5504 -143.8064
+ 23943843.9464 -3760381.05049 -2908311.71645 23943843.9274 23943848.7034
+ -3480.6494 -2712.1944
+ 05 1 20 8 53 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21345868.1754 -16162078.27249 -12566717.58747 21345867.7234 21345872.9474
+ 2511.5984 1957.0934
+ 24247164.1594 -2700276.05349 -2075435.73045 24247163.7384 24247165.7774
+ 3329.6084 2594.4974
+ 23843537.6284 -4654769.76149 -3332807.12446 23843536.6354 23843541.8354
+ 750.5894 584.8704
+ 20832710.5154 -22215979.37649 -17296035.58348 20832709.9774 20832714.1884
+ -623.1524 -485.5744
+ 22548631.6004 -12211197.71149 -9272674.90146 22548632.0444 22548635.9414
+ -2578.4874 -2009.2104
+ 22010481.7424 -13925866.44649 -10336878.72247 22010481.1444 22010485.7104
+ 863.7524 673.0604
+ 20323396.9614 -26218325.08949 -20409371.92148 20323396.6774 20323401.8244
+ -197.5114 -153.9044
+ 23963729.3604 -3655871.01549 -2826875.32445 23963730.6394 23963736.8754
+ -3486.6144 -2716.8384
+ 05 1 20 8 54 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21331569.5554 -16237215.49149 -12625266.08047 21331569.4934 21331574.7414
+ 2497.5634 1946.1554
+ 24228156.5784 -2800158.86549 -2153266.49246 24228157.5524 24228159.2004
+ 3329.2604 2594.2244
+ 23839293.9864 -4677066.30249 -3350181.04546 23839294.4404 23839299.8364
+ 735.5764 573.1804
+ 20836286.0904 -22197186.75849 -17281391.98648 20836286.0824 20836290.6864
+ -629.6514 -490.6354
+ 22563379.1414 -12133703.29449 -9212289.65746 22563378.5054 22563381.8274
+ -2587.8134 -2016.4744
+ 22005606.2054 -13951483.91649 -10356840.39447 22005605.9544 22005610.5744
+ 844.0854 657.7254
+ 20324561.8814 -26212204.73749 -20404602.83548 20324561.1974 20324566.3104
+ -210.5064 -164.0284
+ 23983652.9314 -3551181.59849 -2745299.21345 23983654.2914 23983657.4414
+ -3492.6084 -2721.5154
+ 05 1 20 8 54 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21317352.2844 -16311930.16749 -12683485.30747 21317351.6104 21317356.7514
+ 2483.4394 1935.1454
+ 24209153.7864 -2900030.42249 -2231088.46945 24209152.4564 24209153.9334
+ 3328.7604 2593.8374
+ 23835138.2704 -4698910.09949 -3367202.14446 23835138.2624 23835142.7944
+ 720.4024 561.3514
+ 20839899.0784 -22178199.13549 -17266596.43048 20839899.0224 20839903.7654
+ -636.1704 -495.7194
+ 22578177.7244 -12055929.46649 -9151686.66646 22578178.1294 22578181.9474
+ -2597.1234 -2023.7304
+ 22000844.8624 -13976510.70449 -10376341.78647 22000844.0514 22000848.8294
+ 824.3614 642.3564
+ 20325800.6474 -26205693.69449 -20399529.31848 20325800.3114 20325805.6494
+ -223.5704 -174.2114
+ 24003607.7974 -3446315.34549 -2663585.23545 24003609.0714 24003612.8274
+ -3498.5134 -2726.1174
+ 05 1 20 8 55 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21303216.0424 -16386220.51749 -12741373.89447 21303215.6334 21303219.4654
+ 2469.2714 1924.1064
+ 24190151.4774 -2999889.50549 -2308900.71545 24190149.8354 24190151.5374
+ 3328.3894 2593.5514
+ 23831066.6604 -4720299.59849 -3383869.30746 23831067.1054 23831071.6714
+ 705.2594 549.5424
+ 20843549.6084 -22159017.51149 -17251649.71948 20843549.4364 20843553.7674
+ -642.5924 -500.7214
+ 22593031.1644 -11977877.03149 -9090866.60846 22593030.9334 22593035.5324
+ -2606.3444 -2030.9154
+ 21996195.0834 -14000945.85349 -10395382.15647 21996193.9534 21996198.8654
+ 804.6554 627.0054
+ 20327114.1284 -26198790.93249 -20394150.57248 20327113.8484 20327119.1774
+ -236.6214 -184.3814
+ 24023596.5384 -3341274.99349 -2581735.60845 24023597.4734 24023600.2894
+ -3504.1114 -2730.4754
+ 05 1 20 8 55 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21289160.6704 -16460084.73849 -12798930.42847 21289159.4944 21289163.4144
+ 2455.0404 1913.0194
+ 24171151.9994 -3099734.56449 -2386702.05946 24171150.6284 24171151.4854
+ 3327.9264 2593.1944
+ 23827083.2664 -4741233.57349 -3400181.49346 23827083.7384 23827089.6404
+ 690.0384 537.6994
+ 20847236.5734 -22139642.39449 -17236552.23948 20847236.3214 20847240.8344
+ -649.0664 -505.7644
+ 22607938.0384 -11899546.59249 -9029829.90146 22607936.5934 22607939.7994
+ -2615.6394 -2038.1654
+ 21991658.1324 -14024788.69049 -10413960.98847 21991657.1924 21991661.6324
+ 784.8944 611.6124
+ 20328502.6534 -26191495.59449 -20388465.91548 20328502.1774 20328507.5514
+ -249.7224 -194.5874
+ 24043618.7204 -3236063.07449 -2499752.25145 24043618.6324 24043623.8784
+ -3509.8324 -2734.9374
+ 05 1 20 8 56 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21275184.9224 -16533521.18749 -12856153.63348 21275184.8354 21275189.5774
+ 2440.7324 1901.8704
+ 24152153.9064 -3199563.82649 -2464491.09446 24152153.6964 24152155.0724
+ 3327.3004 2592.7014
+ 23823186.5974 -4761710.23349 -3416137.31246 23823185.9234 23823191.4404
+ 674.7924 525.8184
+ 20850960.3274 -22120074.24149 -17221304.33248 20850960.2234 20850964.4864
+ -655.4774 -510.7624
+ 22622894.6364 -11820938.91449 -8968577.17146 22622894.7524 22622898.8644
+ -2624.8764 -2045.3694
+ 21987233.2134 -14048038.25549 -10432077.53847 21987232.8954 21987237.2854
+ 765.0734 596.1624
+ 20329965.4424 -26183806.66949 -20382474.55848 20329965.0904 20329970.3944
+ -262.8644 -204.8294
+ 24063671.7164 -3130682.18549 -2417637.29945 24063671.9494 24063677.9384
+ -3515.4274 -2739.2924
+ 05 1 20 8 56 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21261292.4424 -16606528.21349 -12913042.20648 21261292.1624 21261296.6014
+ 2426.4114 1890.7064
+ 24133160.8754 -3299375.89149 -2542266.67745 24133160.2384 24133161.4334
+ 3326.7624 2592.2814
+ 23819379.1444 -4781728.33549 -3431735.80046 23819377.0154 23819383.2794
+ 659.5004 513.8924
+ 20854720.8964 -22100313.36549 -17205906.25048 20854720.5594 20854724.8094
+ -661.8994 -515.7664
+ 22637907.0734 -11742054.59249 -8907108.88346 22637906.5444 22637910.1744
+ -2634.0454 -2052.5074
+ 21982922.3424 -14070693.90149 -10449731.28647 21982921.7464 21982925.6614
+ 745.2694 580.7334
+ 20331504.3824 -26175723.25549 -20376175.81148 20331503.7764 20331508.8374
+ -276.0284 -215.0864
+ 24083757.2574 -3025134.87749 -2335392.66045 24083756.7654 24083760.7464
+ -3520.9514 -2743.5984
+ 05 1 20 8 57 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21247481.5474 -16679103.87349 -12969594.66947 21247480.8704 21247485.6944
+ 2411.9644 1879.4544
+ 24114171.3244 -3399169.17849 -2620027.69845 24114170.4944 24114170.0144
+ 3326.1764 2591.8224
+ 23815656.3574 -4801286.39949 -3446975.84646 23815655.8354 23815661.2974
+ 644.1474 501.9354
+ 20858517.3644 -22080360.47349 -17190358.54148 20858517.2114 20858521.8184
+ -668.3044 -520.7574
+ 22652970.0654 -11662894.33349 -8845425.57346 22652969.9304 22652973.1264
+ -2643.2814 -2059.7104
+ 21978724.2754 -14092754.98649 -10466921.74347 21978723.7944 21978727.4674
+ 725.4444 565.2774
+ 20333117.8934 -26167244.40749 -20369568.92948 20333117.3544 20333122.3364
+ -289.2524 -225.3924
+ 24103871.1024 -2919423.85749 -2253020.37545 24103873.1924 24103879.8154
+ -3526.4344 -2747.8724
+ 05 1 20 8 57 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21233752.7264 -16751246.48049 -13025809.67648 21233752.7464 21233757.9134
+ 2397.5094 1868.1894
+ 24095183.9804 -3498942.03349 -2697772.74545 24095184.2414 24095184.3894
+ 3325.3914 2591.2084
+ 23812022.8034 -4820383.00449 -3461856.27546 23812021.8224 23812027.7094
+ 628.7104 489.8994
+ 20862351.0154 -22060216.12849 -17174661.64448 20862350.8324 20862355.3154
+ -674.6754 -525.7214
+ 22668086.5874 -11583459.11549 -8783528.01046 22668085.2154 22668089.3954
+ -2652.4024 -2066.7964
+ 21974639.2654 -14114220.85049 -10483648.39047 21974638.6474 21974642.3964
+ 705.5774 549.7974
+ 20334806.4784 -26158369.28349 -20362653.25348 20334805.9694 20334811.1214
+ -302.4574 -235.6854
+ 24124019.2994 -2813551.57949 -2170522.48545 24124019.9554 24124023.9304
+ -3531.7384 -2752.0074
+ 05 1 20 8 58 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21220108.1284 -16822954.49849 -13081686.06048 21220107.1474 21220112.0234
+ 2383.0114 1856.8924
+ 24076203.7834 -3598693.12149 -2775500.83746 24076202.3154 24076203.2244
+ 3324.7054 2590.6744
+ 23808475.9214 -4839016.81749 -3476376.15846 23808475.4194 23808481.8794
+ 613.2704 477.8684
+ 20866220.7544 -22039880.42749 -17158815.64948 20866220.3614 20866225.1084
+ -681.0394 -530.6794
+ 22683254.4464 -11503749.66649 -8721416.75546 22683254.6384 22683258.1334
+ -2661.5164 -2073.8954
+ 21970667.8864 -14135090.87649 -10499910.76247 21970667.4834 21970671.5104
+ 685.7344 534.3404
+ 20336570.6034 -26149096.90149 -20355428.03348 20336570.2884 20336575.4384
+ -315.7224 -246.0164
+ 24144196.6114 -2707520.69449 -2087900.96345 24144197.0374 24144201.5294
+ -3536.9284 -2756.0524
+ 05 1 20 8 58 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21206545.5174 -16894226.19249 -13137222.44648 21206545.1424 21206549.6634
+ 2368.4384 1845.5354
+ 24057224.3654 -3698420.79349 -2853210.73346 24057225.2904 24057224.9684
+ 3323.7974 2589.9644
+ 23805019.8994 -4857186.54549 -3490534.33946 23805019.8594 23805024.5764
+ 597.7384 465.7664
+ 20870126.3904 -22019354.23649 -17142821.23048 20870126.2964 20870130.8824
+ -687.3614 -535.6064
+ 22698475.2154 -11423766.50349 -8659092.23046 22698474.8874 22698478.1784
+ -2670.6754 -2081.0484
+ 21966809.7504 -14155364.31049 -10515708.23847 21966809.0584 21966813.3144
+ 665.8594 518.8504
+ 20338411.3694 -26139426.38249 -20347892.57748 20338410.6964 20338415.8144
+ -329.0084 -256.3724
+ 24164403.3814 -2601333.72549 -2005157.85845 24164403.6264 24164405.1694
+ -3542.1224 -2760.0994
+ 05 1 20 8 59 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21193065.8374 -16965059.80249 -13192417.45548 21193065.7504 21193069.9644
+ 2353.8114 1834.1374
+ 24038253.1954 -3798123.50049 -2930901.11646 24038251.4154 24038251.8104
+ 3322.8864 2589.2644
+ 23801649.1704 -4874890.65649 -3504329.76446 23801649.6894 23801653.7634
+ 582.2414 453.6894
+ 20874068.5544 -21998638.10149 -17126678.78448 20874068.5444 20874073.0224
+ -693.6924 -540.5394
+ 22713746.6804 -11343510.42449 -8596555.04546 22713746.4724 22713750.8764
+ -2679.7684 -2088.1244
+ 21963064.4984 -14175040.65449 -10531040.44547 21963064.6134 21963069.3124
+ 645.9194 503.3114
+ 20340326.8284 -26129356.95249 -20340046.27248 20340326.7574 20340332.0774
+ -342.3044 -266.7304
+ 24184640.4604 -2494993.24149 -1922295.09445 24184639.0664 24184646.3194
+ -3547.1514 -2764.0134
+ 05 1 20 8 59 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21179670.7354 -17035453.95249 -13247270.03448 21179670.1954 21179674.4144
+ 2339.1374 1822.7074
+ 24019285.1464 -3897799.37149 -3008570.62746 24019284.4754 24019284.1004
+ 3322.0094 2588.5834
+ 23798369.9504 -4892127.73549 -3517761.24346 23798369.1694 23798373.9534
+ 566.6334 441.5324
+ 20878047.5274 -21977732.19849 -17110388.48348 20878046.9524 20878051.6274
+ -700.0234 -545.4724
+ 22729070.9184 -11262982.14349 -8533805.74346 22729070.2994 22729074.4854
+ -2688.7364 -2095.1184
+ 21959435.4224 -14194119.09049 -10545906.77847 21959434.5134 21959438.3714
+ 625.9664 487.7684
+ 20342319.1514 -26118887.57749 -20331888.32048 20342318.8414 20342324.1794
+ -355.6684 -277.1444
+ 24204903.8524 -2388501.80249 -1839314.76545 24204904.4564 24204908.7814
+ -3552.1564 -2767.9274
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 9 0 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21166358.5854 -17105406.85749 -13301778.78748 21166358.3364 21166363.0374
+ 2324.3524 1811.1784
+ 24000321.3854 -3997447.15549 -3086218.23646 24000320.7674 24000320.8354
+ 3321.0634 2587.8444
+ 23795178.5504 -4908896.73049 -3530827.97346 23795178.2384 23795183.8714
+ 550.9914 429.3424
+ 20882061.2514 -21956637.18149 -17093950.81948 20882061.3534 20882065.7624
+ -706.3174 -550.3754
+ 22744446.9814 -11182182.71449 -8470845.16246 22744445.4614 22744451.1104
+ -2697.8464 -2102.2234
+ 21955917.6224 -14212599.12149 -10560306.79647 21955917.5304 21955922.2124
+ 605.9684 472.1804
+ 20344387.7634 -26108017.62949 -20323418.22948 20344387.7204 20344392.7684
+ -369.0184 -287.5454
+ 24225196.5284 -2281861.87349 -1756218.68045 24225195.4834 24225201.9494
+ -3557.0804 -2771.7474
+ 05 1 20 9 0 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21153132.0934 -17174916.77949 -13355942.35048 21153131.2564 21153136.2134
+ 2309.5754 1799.6684
+ 23981365.6414 -4097064.95949 -3163842.49846 23981365.0394 23981364.5074
+ 3320.0214 2587.0254
+ 23792078.3784 -4925196.30549 -3543528.96246 23792078.2364 23792082.3974
+ 535.3234 417.1354
+ 20886111.5564 -21935353.61049 -17077366.22048 20886111.0074 20886116.0354
+ -712.6064 -555.2764
+ 22759873.6114 -11101112.63749 -8407673.70546 22759873.9514 22759877.4804
+ -2706.8604 -2109.2464
+ 21952515.5094 -14230480.37349 -10574240.24747 21952515.2184 21952519.7424
+ 586.0344 456.6514
+ 20346532.9584 -26096746.15449 -20314635.27448 20346532.5114 20346537.6434
+ -382.4434 -298.0074
+ 24245517.4934 -2175076.14949 -1673009.00945 24245517.7034 24245522.5924
+ -3561.9354 -2775.5404
+ 05 1 20 9 1 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21139988.9714 -17243982.28449 -13409759.62148 21139988.4184 21139993.2984
+ 2294.7654 1788.1264
+ 23962413.7824 -4196651.11949 -3241442.09246 23962413.5394 23962414.3224
+ 3319.0694 2586.2864
+ 23789064.2874 -4941025.16149 -3555863.09946 23789064.8514 23789069.1624
+ 519.6224 404.9004
+ 20890197.4984 -21913882.09849 -17060635.18748 20890197.3414 20890201.7104
+ -718.8534 -560.1454
+ 22775352.9384 -11019772.82649 -8344292.05046 22775351.5354 22775355.5344
+ -2715.8034 -2116.2074
+ 21949227.6034 -14247762.19649 -10587706.59447 21949226.2554 21949230.6864
+ 566.0664 441.0804
+ 20348754.1314 -26085072.33749 -20305538.81448 20348753.9224 20348759.1634
+ -395.8504 -308.4554
+ 24265867.4544 -2068146.98249 -1589687.61645 24265865.2734 24265871.6704
+ -3566.5604 -2779.1274
+ 05 1 20 9 1 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21126931.5884 -17312601.73749 -13463229.32348 21126931.2504 21126935.1494
+ 2279.8794 1776.5294
+ 23943468.1274 -4296204.15649 -3319015.87546 23943468.0194 23943469.4034
+ 3317.8574 2585.3554
+ 23786140.3144 -4956381.92049 -3567829.39646 23786142.2644 23786147.9544
+ 503.8954 392.6444
+ 20894319.0694 -21892222.97849 -17043757.95048 20894318.8604 20894323.1114
+ -725.0804 -565.0004
+ 22790882.5904 -10938164.11049 -8280700.84946 22790882.1434 22790884.8424
+ -2724.7834 -2123.2124
+ 21946052.8124 -14264444.03949 -10600705.43847 21946052.0964 21946056.8734
+ 546.0504 425.4924
+ 20351052.2644 -26072995.43649 -20296128.25648 20351052.0334 20351057.4194
+ -409.2844 -318.9214
+ 24286242.2314 -1961077.00049 -1506256.47745 24286237.2914 24286244.2364
+ -3571.2364 -2782.7794
+ 05 1 20 9 2 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21113958.4434 -17380773.44949 -13516350.12048 21113957.9844 21113962.6474
+ 2264.8934 1764.8514
+ 23924531.7474 -4395722.58449 -3396562.68646 23924530.9794 23924532.3094
+ 3316.6614 2584.4144
+ 23783311.7434 -4971265.46649 -3579426.96946 23783311.5434 23783315.6474
+ 488.0554 380.2924
+ 20898475.8794 -21870376.72849 -17026734.90148 20898475.8894 20898480.6254
+ -731.3394 -569.8754
+ 22806461.5604 -10856287.11449 -8216900.60746 22806462.3984 22806465.7754
+ -2733.6474 -2130.1034
+ 21942991.3154 -14280525.61449 -10613236.53247 21942991.4534 21942996.2894
+ 526.0434 409.9024
+ 20353427.5474 -26060514.49949 -20286402.86248 20353427.1334 20353432.4294
+ -422.7884 -329.4474
+ 24306643.5214 -1853868.65049 -1422717.58645 24306642.8194 24306645.8684
+ -3575.8854 -2786.4044
+ 05 1 20 9 2 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21101070.6074 -17448495.84549 -13569120.80948 21101070.8764 21101075.2024
+ 2249.9114 1753.1784
+ 23905600.1074 -4495204.43449 -3474081.03946 23905599.4654 23905602.0164
+ 3315.4624 2583.4784
+ 23780567.5864 -4985674.66049 -3590654.89446 23780567.6964 23780572.9864
+ 472.2484 367.9784
+ 20902668.7604 -21848343.79249 -17009566.39848 20902668.6494 20902673.1024
+ -737.5664 -574.7274
+ 22822095.3334 -10774142.88249 -8152892.13946 22822094.8634 22822098.0574
+ -2742.5624 -2137.0514
+ 21940047.0514 -14296006.38149 -10625299.46547 21940045.7024 21940050.4474
+ 506.0004 394.2774
+ 20355879.8074 -26047628.74549 -20276362.01948 20355879.3724 20355884.2464
+ -436.2954 -339.9714
+ 24327068.7554 -1746524.56249 -1339072.86445 24327066.4424 24327075.3394
+ -3580.4054 -2789.9234
+ 05 1 20 9 3 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21088270.1034 -17515767.45049 -13621540.22848 21088269.6904 21088273.8194
+ 2234.8394 1741.4334
+ 23886674.6464 -4594648.16749 -3551569.63646 23886675.4774 23886678.0494
+ 3314.0874 2582.4024
+ 23777916.7644 -4999608.20449 -3601512.18846 23777916.4734 23777921.6244
+ 456.4004 355.6304
+ 20906896.9124 -21826124.48649 -16992252.65048 20906896.6914 20906901.1144
+ -743.7544 -579.5494
+ 22837777.2074 -10691732.17449 -8088676.01046 22837777.4994 22837780.5444
+ -2751.4484 -2143.9854
+ 21937214.8214 -14310885.79449 -10636893.82547 21937214.7424 21937218.4384
+ 485.9464 378.6564
+ 20358409.0854 -26034337.27649 -20266005.03748 20358408.5294 20358413.8894
+ -449.8214 -350.5114
+ 24347520.3224 -1639047.29349 -1255324.29645 24347521.3334 24347523.0504
+ -3584.7374 -2793.3034
+ 05 1 20 9 3 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21075554.3224 -17582586.96649 -13673607.36948 21075553.6544 21075558.6374
+ 2219.7824 1729.7014
+ 23867758.9524 -4694051.80849 -3629027.04046 23867759.5634 23867762.2404
+ 3312.7774 2581.3904
+ 23775355.8904 -5013064.91849 -3611997.94646 23775356.6814 23775360.1364
+ 440.4634 343.2124
+ 20911160.1924 -21803719.63649 -16974794.33848 20911160.2794 20911164.8564
+ -749.9014 -584.3414
+ 22853511.3464 -10609055.74849 -8024252.82546 22853509.8064 22853513.1624
+ -2760.3404 -2150.9324
+ 21934498.4334 -14325163.64349 -10648019.43347 21934497.4904 21934501.7394
+ 465.9064 363.0424
+ 20361015.2374 -26020639.35149 -20255331.33548 20361014.9754 20361020.3514
+ -463.3714 -361.0704
+ 24367997.2824 -1531439.06549 -1171473.66944 24367998.1284 24368002.3954
+ -3589.0484 -2796.6654
+ 05 1 20 9 4 0.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21062924.8234 -17648952.55349 -13725320.80048 21062925.0614 21062929.7644
+ 2204.6254 1717.8884
+ 23848854.6304 -4793414.07749 -3706452.19346 23848851.9714 23848854.4554
+ 3311.3724 2580.2924
+ 23772887.1274 -5026043.61049 -3622111.19746 23772886.7104 23772890.7214
+ 424.4974 330.7814
+ 20915459.0454 -21781129.56149 -16957191.71148 20915458.9834 20915463.4804
+ -756.0914 -589.1624
+ 22869293.0064 -10526114.50449 -7959623.30346 22869292.0584 22869295.4824
+ -2769.0704 -2157.7424
+ 21931895.3034 -14338839.64549 -10658676.05147 21931894.9164 21931899.7594
+ 445.8354 347.4044
+ 20363699.6994 -26006534.14449 -20244340.27648 20363699.2094 20363704.6814
+ -476.9764 -371.6714
+ 24388497.2384 -1423702.58058 -1087523.20554 24388498.4854 24388497.2824
+ -3593.4054 -2800.0554
+ 05 1 20 9 4 30.0000000 0 8G16G23G 6G25G14G20G 1G30
+ 21050383.5034 -17714862.82849 -13776679.44148 21050382.8754 21050387.4594
+ 2189.4084 1706.0344
+ 23829952.4684 -4892733.11749 -3783843.64546 23829952.1844 23829955.2214
+ 3309.8884 2579.1224
+ 23770508.3474 -5038543.21349 -3631851.15646 23770507.5314 23770511.5454
+ 408.5294 318.3354
+ 20919793.4114 -21758354.78349 -16939445.15048 20919793.0154 20919797.5934
+ -762.2304 -593.9464
+ 22885124.2414 -10442909.15449 -7894787.97546 22885124.9024 22885129.8814
+ -2777.8524 -2164.5594
+ 21929408.7344 -14351913.35649 -10668863.36647 21929407.2524 21929411.7454
+ 425.7414 331.7474
+ 20366461.3764 -25992020.86349 -20233031.23448 20366461.1584 20366466.5894
+ -490.5914 -382.2784
+ 24409025.1734 -1315840.28258 -1003474.64054 24409025.4054 24409025.9854
+ -3597.4234 -2803.1854
+ 05 1 20 9 5 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 21037927.6644 -17780316.26949 -13827682.11348 21037927.5164 21037932.1854
+ 2174.1434 1694.1354
+ 23811060.2964 -4992007.31849 -3861200.15546 23811060.3754 23811064.5714
+ 3308.3374 2577.9204
+ 23768220.6724 -5050562.53149 -3641216.83646 23768220.4734 23768226.2524
+ 392.4794 305.8274
+ 20924162.7314 -21735395.67449 -16921554.94548 20924162.2424 20924166.4284
+ -768.3654 -598.7274
+ 22901008.7664 -10359440.80649 -7829747.70546 22901007.7114 22901012.9434
+ -2786.6774 -2171.4374
+ 21927034.0844 -14364384.49049 -10678581.13847 21927034.4674 21927038.6744
+ 405.6494 316.0914
+ 20369300.4344 -25977098.82949 -20221403.69648 20369300.4844 20369305.9204
+ -504.2304 -392.9094
+ 05 1 20 9 5 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 21025559.2664 -17845311.73249 -13878327.91148 21025559.0654 21025563.7644
+ 2158.8704 1682.2364
+ 23792180.8204 -5091234.75349 -3938520.25046 23792179.5284 23792181.2484
+ 3306.7744 2576.7024
+ 23766023.7414 -5062100.52549 -3650207.49746 23766023.4754 23766030.0364
+ 376.4244 293.3254
+ 20928566.4644 -21712252.60849 -16903521.40148 20928566.4284 20928570.4774
+ -774.5134 -603.5194
+ 22916943.6174 -10275710.27149 -7764503.16046 22916941.9034 22916946.4784
+ -2795.3854 -2178.2204
+ 21924776.9724 -14376252.66749 -10687829.07847 21924775.8724 21924779.8164
+ 385.5444 300.4244
+ 20372218.5454 -25961767.32349 -20209457.08348 20372218.1854 20372223.5134
+ -517.8914 -403.5534
+ 05 1 20 9 6 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 21013279.0614 -17909847.46249 -13928615.48148 21013278.5004 21013283.0844
+ 2143.5184 1670.2754
+ 23773305.8484 -5190414.08849 -4015802.88546 23773306.2934 23773307.7904
+ 3305.0564 2575.3794
+ 23763921.5824 -5073156.20949 -3658822.32546 23763920.9554 23763925.3794
+ 360.3204 280.7754
+ 20933005.0124 -21688925.97349 -16885344.80048 20933004.8664 20933009.4254
+ -780.6094 -608.2694
+ 22932924.1134 -10191718.38149 -7699054.94746 22932924.2444 22932929.2694
+ -2804.0444 -2184.9694
+ 21922632.7514 -14387517.64049 -10696606.98047 21922631.8634 21922636.1214
+ 365.4384 284.7534
+ 20375214.4474 -25946025.41349 -20197190.66048 20375213.7224 20375218.9064
+ -531.5794 -414.2204
+ 05 1 20 9 6 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 21001086.1064 -17973922.08749 -13978543.75448 21001085.7174 21001089.6064
+ 2128.1184 1658.2734
+ 23754442.5104 -5289543.22349 -4093046.36346 23754441.4604 23754444.9384
+ 3303.4414 2574.1044
+ 23761909.2004 -5083728.44949 -3667060.40246 23761907.7764 23761913.8764
+ 344.1994 268.2184
+ 20937478.6044 -21665416.19649 -16867025.50648 20937478.9314 20937483.2434
+ -786.7204 -613.0284
+ 22948959.1974 -10107466.17349 -7633403.87246 22948957.4414 22948961.9154
+ -2812.7614 -2191.7584
+ 21920603.9874 -14398179.36849 -10704914.83147 21920603.3564 21920607.8684
+ 345.3394 269.0974
+ 20378287.6274 -25929872.57749 -20184604.03548 20378287.5844 20378292.8234
+ -545.2994 -424.9104
+ 05 1 20 9 7 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20988980.7644 -18037534.22449 -14028111.64348 20988980.5844 20988985.0494
+ 2112.7044 1646.2584
+ 23735590.1484 -5388620.52949 -4170249.45246 23735587.7784 23735590.7094
+ 3301.6974 2572.7534
+ 23759989.7124 -5093816.24049 -3674921.01346 23759989.4304 23759993.3984
+ 328.0164 255.5894
+ 20941987.5464 -21641723.80849 -16848563.90348 20941987.3004 20941991.9334
+ -792.7654 -617.7404
+ 22965038.5934 -10022954.17649 -7567550.40546 22965038.2874 22965044.9014
+ -2821.3124 -2198.4154
+ 21918689.8894 -14408237.63349 -10712752.43647 21918689.0144 21918693.6024
+ 325.2234 253.4164
+ 20381440.2894 -25913308.08949 -20171696.64548 20381439.8454 20381444.9264
+ -559.0084 -435.5934
+ 05 1 20 9 7 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20976963.6284 -18100682.46349 -14077318.05248 20976963.6794 20976968.0204
+ 2097.1834 1634.1684
+ 23716744.5784 -5487644.27349 -4247410.81746 23716745.0394 23716747.3454
+ 3299.8694 2571.3374
+ 23758162.5494 -5103418.43349 -3682403.22446 23758163.3034 23758167.7054
+ 311.7974 242.9754
+ 20946530.6404 -21617849.23449 -16829960.35048 20946530.6684 20946535.0564
+ -798.8564 -622.4834
+ 22981172.2014 -9938183.47149 -7501495.32246 22981171.1264 22981175.5184
+ -2829.9924 -2205.1914
+ 21916890.8464 -14417692.31249 -10720119.73247 21916890.6414 21916894.4294
+ 305.0904 237.7384
+ 20384670.6814 -25896331.17949 -20158467.88648 20384670.3594 20384675.5154
+ -572.7904 -446.3304
+ 05 1 20 9 8 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20965036.4504 -18163365.44649 -14126161.92448 20965035.9144 20965039.8734
+ 2081.6614 1622.0754
+ 23697914.3604 -5586612.68949 -4324529.05546 23697911.8084 23697913.5924
+ 3297.9944 2569.8624
+ 23756427.9424 -5112534.05949 -3689506.33046 23756428.2784 23756432.2234
+ 295.5924 230.3314
+ 20951108.4884 -21593792.94349 -16811215.19648 20951108.4154 20951112.8804
+ -804.8894 -627.1854
+ 22997353.5564 -9853154.97849 -7435239.34846 22997352.8994 22997356.8864
+ -2838.6014 -2211.9064
+ 21915205.8364 -14426543.12349 -10727016.46747 21915205.5944 21915209.9584
+ 284.9294 222.0244
+ 20387979.5424 -25878941.15249 -20144917.22448 20387979.3284 20387984.8474
+ -586.5614 -457.0594
+ 05 1 20 9 8 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20953196.5554 -18225581.84949 -14174642.23648 20953196.4804 20953200.3884
+ 2066.0854 1609.9364
+ 23679090.4584 -5685523.96449 -4401602.79146 23679089.8084 23679091.9854
+ 3296.0664 2568.3664
+ 23754784.7744 -5121162.37949 -3696229.68946 23754786.0634 23754789.8604
+ 279.3214 217.6474
+ 20955720.6884 -21569555.49049 -16792328.88248 20955720.6434 20955724.8744
+ -810.9344 -631.8964
+ 23013581.9864 -9767869.73049 -7368783.35046 23013581.3274 23013584.9854
+ -2847.1534 -2218.5684
+ 21913637.4274 -14434789.66449 -10733442.35847 21913637.0654 21913640.6494
+ 264.8224 206.3504
+ 20391367.6074 -25861137.30549 -20131044.10248 20391367.3264 20391372.9494
+ -600.3704 -467.8174
+ 05 1 20 9 9 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20941445.9814 -18287330.12749 -14222757.76848 20941445.6194 20941450.2394
+ 2050.4664 1597.7664
+ 23660278.1734 -5784376.31049 -4478630.58946 23660278.8634 23660280.6654
+ 3294.0834 2566.8244
+ 23753237.4754 -5129302.17949 -3702572.39046 23753236.2604 23753240.3634
+ 263.0224 204.9554
+ 20960367.2724 -21545137.02049 -16773301.53048 20960367.1944 20960371.7774
+ -816.9704 -636.6004
+ 23029861.0314 -9682328.54849 -7302127.88746 23029859.2714 23029863.6544
+ -2855.5924 -2225.1454
+ 21912182.7874 -14442432.16049 -10739397.55547 21912182.0604 21912186.8204
+ 244.6934 190.6634
+ 20394834.6654 -25842918.97849 -20116848.00248 20394834.2954 20394839.6164
+ -614.1964 -478.5944
+ 05 1 20 9 9 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20929784.5844 -18348609.13449 -14270507.62348 20929784.4844 20929789.3864
+ 2034.8024 1585.5564
+ 23641477.8354 -5883168.08049 -4555611.17846 23641479.1734 23641481.1594
+ 3292.0514 2565.2334
+ 23751780.2834 -5136952.74549 -3708533.86446 23751780.5634 23751785.1244
+ 246.7164 192.2514
+ 20965048.9404 -21520537.77549 -16754133.30848 20965048.5394 20965052.7674
+ -822.9794 -641.2844
+ 23046185.7474 -9596532.36849 -7235273.73346 23046184.8614 23046190.2544
+ -2864.1144 -2231.7864
+ 21910843.7964 -14449470.48449 -10744881.97347 21910842.9764 21910847.1434
+ 224.5324 174.9604
+ 20398380.4794 -25824285.41649 -20102328.35548 20398380.0124 20398385.4594
+ -628.0474 -489.3874
+ 05 1 20 9 10 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20918214.0354 -18409417.44649 -14317890.71548 20918213.5464 20918217.8394
+ 2019.0874 1573.3134
+ 23622692.7554 -5981897.35549 -4632543.08246 23622691.9754 23622693.8774
+ 3289.9094 2563.5644
+ 23750418.2354 -5144112.98549 -3714113.26346 23750417.7834 23750422.7304
+ 230.4014 179.5324
+ 20969763.6314 -21495758.13449 -16734824.50748 20969763.5434 20969768.5264
+ -828.9804 -645.9614
+ 23062561.6124 -9510482.10149 -7168221.58746 23062560.5524 23062565.6384
+ -2872.5554 -2238.3504
+ 21909618.7494 -14455904.70549 -10749895.65847 21909618.3344 21909622.5054
+ 204.4024 159.2724
+ 20402005.6224 -25805236.00949 -20087484.67748 20402005.0774 20402010.5554
+ -641.9264 -500.2014
+ 05 1 20 9 10 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20906732.5944 -18469753.76549 -14364906.01348 20906731.8764 20906735.9534
+ 2003.3384 1561.0444
+ 23603916.6494 -6080562.39549 -4709424.94546 23603916.2634 23603918.4004
+ 3287.7944 2561.9194
+ 23749149.3434 -5150782.09149 -3719309.97146 23749148.4834 23749153.9434
+ 213.9174 166.6824
+ 20974513.2314 -21470798.90549 -16715375.77648 20974513.3704 20974517.9424
+ -834.9744 -650.6294
+ 23078983.8484 -9424178.84649 -7100972.32946 23078983.3084 23078987.0864
+ -2881.0004 -2244.9374
+ 21908510.1124 -14461734.71449 -10754438.53247 21908509.5544 21908513.7684
+ 184.2694 143.5874
+ 20405709.5824 -25785770.27949 -20072316.59448 20405709.2474 20405714.4644
+ -655.8094 -511.0164
+ 05 1 20 9 11 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20895340.1134 -18529616.91349 -14411552.61648 20895340.2384 20895344.6864
+ 1987.5354 1548.7294
+ 23585156.2944 -6179161.18549 -4786255.15646 23585154.6044 23585155.5074
+ 3285.4564 2560.0874
+ 23747972.6044 -5156959.13949 -3724123.24446 23747972.7564 23747978.3844
+ 197.5244 153.9304
+ 20979297.4294 -21445660.39049 -16695787.32648 20979297.1294 20979301.5844
+ -840.9354 -655.2694
+ 23095455.0414 -9337623.50549 -7033526.60946 23095454.6634 23095458.6184
+ -2889.3674 -2251.4454
+ 21907515.1104 -14466960.51449 -10758510.58247 21907514.7334 21907519.0774
+ 164.0894 127.8604
+ 20409492.7824 -25765887.49149 -20056823.51948 20409492.6274 20409498.2744
+ -669.7314 -521.8674
+ 05 1 20 9 11 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20884040.0144 -18589005.74349 -14457829.62748 20884039.1704 20884043.5174
+ 1971.7084 1536.3994
+ 23566405.1104 -6277691.91449 -4863032.35246 23566404.9534 23566405.2504
+ 3283.1634 2558.3034
+ 23746890.9024 -5162643.33549 -3728552.49846 23746891.7394 23746895.9874
+ 181.1074 141.1144
+ 20984114.7514 -21420343.00549 -16676059.51548 20984114.7074 20984119.4874
+ -846.8774 -659.9014
+ 23111973.5604 -9250816.96449 -6965885.18546 23111972.8654 23111977.6294
+ -2897.7264 -2257.9644
+ 21906635.7054 -14471582.13049 -10762111.86247 21906635.7304 21906639.3994
+ 143.9524 112.1744
+ 20413356.3494 -25745586.99449 -20041004.96748 20413356.0284 20413361.2354
+ -683.6604 -532.7214
+ 05 1 20 9 12 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20872828.6054 -18647918.86549 -14503735.95448 20872828.4074 20872832.3644
+ 1955.8254 1524.0174
+ 23547669.9664 -6376152.85949 -4939755.15346 23547668.2584 23547669.2044
+ 3280.8574 2556.5134
+ 23745904.9924 -5167833.83249 -3732597.04346 23745905.0704 23745909.3984
+ 164.5814 128.2384
+ 20988967.1654 -21394847.11049 -16656192.60048 20988966.6954 20988970.9334
+ -852.8144 -664.5324
+ 23128540.1794 -9163760.31449 -6898048.86146 23128540.3024 23128543.5184
+ -2906.0554 -2264.4514
+ 21905870.8004 -14475599.76649 -10765242.48647 21905870.5904 21905875.2914
+ 123.8544 96.5024
+ 20417299.1304 -25724868.20849 -20024860.47148 20417298.7254 20417303.9694
+ -697.6014 -543.5894
+ 05 1 20 9 12 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20861708.5754 -18706355.05349 -14549270.63048 20861707.7074 20861712.4284
+ 1939.9334 1511.6354
+ 23528943.9604 -6474542.10849 -5016422.10446 23528945.6654 23528946.6644
+ 3278.4264 2554.6184
+ 23745010.3534 -5172529.74649 -3736256.19346 23745010.4834 23745015.7054
+ 148.1414 115.4294
+ 20993852.2734 -21369173.12049 -16636186.90448 20993852.2574 20993856.6564
+ -858.7794 -669.1794
+ 23145154.3314 -9076454.39749 -6830018.29446 23145153.2704 23145157.7714
+ -2914.3814 -2270.9474
+ 21905221.9834 -14479013.29749 -10767902.39347 21905221.6814 21905225.4234
+ 103.7454 80.8464
+ 20421321.2164 -25703730.51449 -20008389.53948 20421320.9314 20421326.5844
+ -711.5784 -554.4754
+ 05 1 20 9 13 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20850678.7234 -18764313.14849 -14594432.77048 20850678.7584 20850683.2024
+ 1923.9594 1499.1854
+ 23510238.1414 -6572857.68849 -5093031.63746 23510235.8794 23510237.4864
+ 3276.0324 2552.7524
+ 23744212.0634 -5176730.29949 -3739529.34546 23744212.0194 23744215.3734
+ 131.6064 102.5544
+ 20998771.9484 -21343321.12749 -16616042.50348 20998771.8454 20998776.1224
+ -864.6684 -673.7734
+ 23161815.7684 -8988900.33149 -6761794.36946 23161815.9954 23161818.3614
+ -2922.6354 -2277.3754
+ 21904687.0284 -14481822.94049 -10770091.72547 21904686.0224 21904690.5564
+ 83.5894 65.1314
+ 20425423.7624 -25682173.41649 -19991591.82048 20425423.2964 20425428.5334
+ -725.5764 -565.3914
+ 05 1 20 9 13 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20839741.8924 -18821791.99949 -14639221.47548 20839741.1874 20839745.6894
+ 1907.9554 1486.7194
+ 23491542.5524 -6671098.12949 -5169582.63346 23491542.0644 23491542.1394
+ 3273.4304 2550.7284
+ 23743505.9734 -5180434.90249 -3742416.02446 23743505.5294 23743511.6234
+ 115.0624 89.6754
+ 21003724.9734 -21317291.69349 -16595759.82548 21003724.5434 21003729.2114
+ -870.6034 -678.3924
+ 23178521.7114 -8901099.17549 -6693377.85846 23178520.9624 23178525.9234
+ -2930.8274 -2283.7674
+ 21904267.1874 -14484028.95749 -10771810.70547 21904266.8594 21904270.8424
+ 63.4704 49.4564
+ 20429605.9604 -25660196.13949 -19974466.67848 20429605.4014 20429610.6684
+ -739.5754 -576.2934
+ 05 1 20 9 14 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20828895.3834 -18878790.38749 -14683635.79748 20828894.7964 20828899.1754
+ 1891.9314 1474.2374
+ 23472862.6784 -6769261.22949 -5246073.36546 23472861.7244 23472863.1354
+ 3270.7734 2548.6584
+ 23742896.6594 -5183642.57649 -3744915.52146 23742896.1114 23742900.7764
+ 98.4944 76.7494
+ 21008711.7554 -21291084.97149 -16575339.00648 21008711.8314 21008716.3934
+ -876.5164 -682.9934
+ 23195277.2784 -8813051.66849 -6624769.45946 23195277.3044 23195282.3194
+ -2939.0574 -2290.1794
+ 21903962.5244 -14485631.37649 -10773059.36347 21903961.4854 21903965.9974
+ 43.3604 33.7934
+ 20433867.3834 -25637798.37549 -19957013.89148 20433867.2614 20433872.7774
+ -753.6094 -587.2264
+ 05 1 20 9 14 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20818140.2774 -18935307.02249 -14727674.72348 20818139.8974 20818144.3524
+ 1875.8314 1461.6884
+ 23454198.2554 -6867345.10949 -5322502.35646 23454197.1214 23454198.8194
+ 3268.1204 2546.5794
+ 23742380.6964 -5186352.80849 -3747027.39046 23742379.9004 23742386.6524
+ 81.9034 63.8204
+ 21013732.9974 -21264701.47949 -16554780.42748 21013732.5904 21013737.0004
+ -882.4144 -687.5944
+ 23212080.1034 -8724759.21949 -6555970.16746 23212078.4744 23212083.4014
+ -2947.1444 -2296.4834
+ 21903772.6764 -14486630.42049 -10773837.84747 21903772.0624 21903776.2004
+ 23.2344 18.1114
+ 20438209.8434 -25614979.46449 -19939232.91048 20438209.6954 20438215.1314
+ -767.6654 -598.1774
+ 05 1 20 9 15 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20807477.6434 -18991340.82549 -14771337.42148 20807477.0824 20807481.5284
+ 1859.7414 1449.1484
+ 23435551.5014 -6965348.11849 -5398868.33146 23435548.6364 23435548.9324
+ 3265.4004 2544.4544
+ 23741958.7724 -5188564.80249 -3748751.02746 23741958.5644 23741963.6544
+ 65.3164 50.9024
+ 21018786.6504 -21238141.54849 -16534084.37148 21018786.6484 21018791.2094
+ -888.2464 -692.1374
+ 23228928.3694 -8636222.76849 -6486980.73946 23228927.2684 23228930.7804
+ -2955.2974 -2302.8194
+ 21903696.1724 -14487026.28949 -10774146.32047 21903696.0304 21903701.2544
+ 3.1454 2.4494
+ 20442632.4774 -25591738.90749 -19921123.39748 20442632.3274 20442637.4554
+ -781.7014 -609.1174
+ 05 1 20 9 15 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20796906.5484 -19046890.70049 -14814623.03348 20796906.4234 20796910.9774
+ 1843.5954 1436.5704
+ 23416915.7174 -7063268.11949 -5475169.62846 23416914.3714 23416915.8834
+ 3262.5944 2542.2894
+ 23741634.6874 -5190277.73949 -3750085.79046 23741634.1334 23741638.8354
+ 48.5864 37.8624
+ 21023874.4914 -21211405.26449 -16513250.89948 21023874.2534 21023879.0324
+ -894.1224 -696.7144
+ 23245820.1464 -8547443.16749 -6417801.86446 23245820.7064 23245825.2064
+ -2963.3344 -2309.0904
+ 21903736.8294 -14486819.27749 -10773985.01747 21903735.6934 21903740.7094
+ -16.9274 -13.1874
+ 20447135.7494 -25568076.19349 -19902684.92248 20447135.3534 20447140.5104
+ -795.7954 -620.0974
+ 05 1 20 9 16 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20786428.2394 -19101955.53049 -14857530.67148 20786427.7484 20786432.3084
+ 1827.4154 1423.9594
+ 23398297.9454 -7161103.33749 -5551404.83346 23398296.6584 23398297.6784
+ 3259.7274 2540.0384
+ 23741401.5544 -5191491.14449 -3751031.27246 23741401.8944 23741408.0534
+ 31.9564 24.8994
+ 21028995.6614 -21184493.43749 -16492280.63748 21028995.7094 21028999.8194
+ -899.9904 -701.2904
+ 23262762.6344 -8458421.56849 -6348434.39246 23262760.8094 23262766.1234
+ -2971.3744 -2315.3564
+ 21903890.5624 -14486009.62849 -10773354.13247 21903889.7324 21903894.4474
+ -37.0254 -28.8474
+ 20451719.0144 -25543990.77549 -19883917.06748 20451718.4954 20451723.9294
+ -809.8844 -631.0764
+ 05 1 20 9 16 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20776041.7754 -19156534.27549 -14900059.55848 20776041.8614 20776045.9914
+ 1811.1804 1411.3094
+ 23379695.0334 -7258851.83649 -5627572.50646 23379695.4394 23379697.2154
+ 3256.7934 2537.7644
+ 23741266.2784 -5192204.29849 -3751586.97246 23741266.8044 23741272.1764
+ 15.2874 11.9094
+ 21034150.0004 -21157406.10849 -16471173.62448 21034150.0764 21034154.3894
+ -905.8154 -705.8264
+ 23279747.5634 -8369158.91749 -6278879.09546 23279747.1264 23279751.1584
+ -2979.4224 -2321.6294
+ 21904158.8034 -14484597.72949 -10772253.95847 21904158.4044 21904162.8224
+ -57.0914 -44.4884
+ 20456383.0844 -25519482.27449 -19864819.55848 20456382.6444 20456387.7104
+ -824.0194 -642.0934
+ 05 1 20 9 17 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20765749.4084 -19210625.90249 -14942208.86448 20765748.6714 20765753.0074
+ 1794.9304 1398.6444
+ 23361112.9214 -7356511.67249 -5703671.07146 23361111.7014 23361112.9784
+ 3253.8464 2535.4634
+ 23741226.5944 -5192416.54849 -3751752.37046 23741226.5604 23741230.9404
+ -1.3874 -1.0824
+ 21039338.2584 -21130143.63449 -16449930.14248 21039338.1354 21039342.2004
+ -911.6524 -710.3784
+ 23296780.4744 -8279656.39649 -6209136.86946 23296779.1804 23296782.9004
+ -2987.4084 -2327.8534
+ 21904542.9954 -14482583.80849 -10770684.67947 21904541.6974 21904546.2004
+ -77.1654 -60.1314
+ 20461126.9884 -25494550.08649 -19845391.89148 20461126.9014 20461131.9784
+ -838.1394 -653.0984
+ 05 1 20 9 17 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20755547.9074 -19264229.48949 -14983977.88848 20755548.0604 20755552.6044
+ 1778.6364 1385.9524
+ 23342545.6224 -7454080.79849 -5779698.94146 23342544.9984 23342546.2104
+ 3250.7614 2533.0614
+ 23741281.3904 -5192127.35149 -3751527.00346 23741282.0824 23741286.4074
+ -18.1444 -14.1394
+ 21044558.8094 -21102706.51049 -16428550.56648 21044559.0184 21044563.4144
+ -917.4874 -714.9234
+ 23313856.0024 -8189914.90249 -6139208.47046 23313855.8444 23313860.0094
+ -2995.3234 -2334.0244
+ 21905040.3714 -14479968.26649 -10768646.60947 21905039.6694 21905043.9104
+ -97.2114 -75.7514
+ 20465951.9244 -25469193.76649 -19825633.72248 20465951.8034 20465957.3764
+ -852.2754 -664.1094
+ 05 1 20 9 18 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20745440.5484 -19317343.74049 -15025365.60948 20745440.3694 20745444.9754
+ 1762.3214 1373.2364
+ 23323997.2054 -7551557.21449 -5855654.61146 23323995.6574 23323997.1774
+ 3247.6654 2530.6514
+ 23741431.6924 -5191336.10249 -3750910.45846 23741431.0674 23741436.5054
+ -34.8764 -27.1724
+ 21049813.7654 -21075094.77149 -16407034.92948 21049813.5804 21049817.9804
+ -923.2834 -719.4414
+ 23330980.9784 -8099935.74749 -6069094.84346 23330979.9274 23330983.0324
+ -3003.2194 -2340.1694
+ 21905651.9034 -14476751.63249 -10766140.15247 21905651.2674 21905656.2564
+ -117.2434 -91.3594
+ 20470858.5464 -25443412.81349 -19805544.68348 20470857.6944 20470862.9444
+ -866.4344 -675.1484
+ 05 1 20 9 18 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20735426.3474 -19369967.78949 -15066371.34948 20735426.5704 20735431.0484
+ 1745.9694 1360.4954
+ 23305463.5334 -7648939.17949 -5931536.64846 23305464.3284 23305466.2714
+ 3244.4594 2528.1494
+ 23741679.1684 -5190042.30949 -3749902.27546 23741678.9334 23741683.0954
+ -51.6224 -40.2204
+ 21055101.1154 -21047308.73549 -16385383.46848 21055100.9984 21055105.4064
+ -929.1184 -723.9854
+ 23348147.1134 -8009719.96849 -5998796.87546 23348147.2764 23348150.9934
+ -3011.1344 -2346.3394
+ 21906378.6204 -14472934.26749 -10763165.59247 21906378.5934 21906382.6974
+ -137.2674 -106.9594
+ 20475844.8414 -25417206.85949 -19785124.45748 20475844.5514 20475850.1084
+ -880.6114 -686.1894
+ 05 1 20 9 19 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20725507.1414 -19422100.64449 -15106994.33548 20725506.4124 20725510.6094
+ 1729.5624 1347.7124
+ 23286951.8544 -7746224.54349 -6007343.43446 23286951.0424 23286953.6134
+ 3241.2434 2525.6434
+ 23742019.5644 -5188245.38049 -3748502.06346 23742019.2264 23742025.2334
+ -68.4434 -53.3364
+ 21060421.8124 -21019348.97849 -16363596.65648 21060421.5084 21060426.0454
+ -934.8964 -728.4914
+ 23365359.4954 -7919268.54549 -5928315.25746 23365358.7164 23365362.5874
+ -3018.9574 -2352.4334
+ 21907219.7834 -14468516.20749 -10759722.96347 21907218.8234 21907222.9244
+ -157.2854 -122.5554
+ 20480912.8334 -25390575.46049 -19764372.73048 20480912.5644 20480917.6414
+ -894.8184 -697.2624
+ 05 1 20 9 19 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20715679.6494 -19473741.13649 -15147233.67048 20715679.4054 20715683.7264
+ 1713.1254 1334.9044
+ 23268458.7634 -7843411.39149 -6083073.47046 23268457.5384 23268459.8334
+ 3237.9304 2523.0624
+ 23742458.3094 -5185944.87949 -3746709.46746 23742457.8654 23742463.3074
+ -85.2024 -66.4004
+ 21065775.3304 -20991215.72849 -16341674.65148 21065775.0694 21065779.6184
+ -940.6794 -732.9964
+ 23382617.3184 -7828582.65249 -5857650.94146 23382616.2624 23382620.4454
+ -3026.7774 -2358.5254
+ 21908175.0644 -14463498.22749 -10755812.87447 21908174.1754 21908177.9624
+ -177.2684 -138.1284
+ 20486061.3794 -25363518.19649 -19743289.15448 20486061.3724 20486066.8864
+ -909.0114 -708.3204
+ 05 1 20 9 20 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20705946.6664 -19524888.42049 -15187088.68448 20705946.3374 20705950.6404
+ 1696.6684 1322.0774
+ 23249982.7004 -7940497.70249 -6158725.15046 23249982.1014 23249984.7074
+ 3234.5044 2520.3934
+ 23742991.8554 -5183140.18049 -3744523.98346 23742991.8644 23742997.3504
+ -102.0464 -79.5114
+ 21071161.5624 -20962909.13749 -16319617.57848 21071161.8664 21071165.8954
+ -946.4464 -737.4904
+ 23399916.6404 -7737663.54849 -5786804.90346 23399916.9664 23399922.0444
+ -3034.5084 -2364.5434
+ 21909242.6704 -14457880.94249 -10751435.76847 21909242.1414 21909247.4524
+ -197.2404 -153.6934
+ 20491291.6804 -25336034.70549 -19721873.45548 20491291.0554 20491296.6034
+ -923.2364 -719.4014
+ 05 1 20 9 20 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20696308.0534 -19575541.62949 -15226558.70748 20696307.3784 20696311.4664
+ 1680.1914 1309.2384
+ 23231527.2524 -8037481.42549 -6234296.88746 23231527.4054 23231528.4664
+ 3231.0824 2517.7174
+ 23743621.2594 -5179830.81749 -3741945.25246 23743622.6684 23743625.7164
+ -118.8984 -92.6574
+ 21076581.1044 -20934429.79449 -16297425.89448 21076580.8914 21076585.4104
+ -952.1894 -741.9674
+ 23417262.6564 -7646512.07849 -5715777.83145 23417262.2404 23417267.2804
+ -3042.2584 -2370.5794
+ 21910426.8374 -14451664.67849 -10746591.93647 21910425.7554 21910429.7614
+ -217.1854 -169.2324
+ 20496602.2984 -25308124.63349 -19700125.35848 20496602.1684 20496607.8364
+ -937.4694 -730.4944
+ 05 1 20 9 21 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20686762.6354 -19625699.97749 -15265643.12748 20686762.5014 20686766.6784
+ 1663.6664 1296.3634
+ 23213091.9974 -8134360.80749 -6309787.32446 23213091.7454 23213093.2354
+ 3227.5374 2514.9654
+ 23744349.0164 -5176016.52549 -3738973.06646 23744347.8104 23744351.8314
+ -135.7114 -105.7384
+ 21082033.3284 -20905777.87049 -16275099.73248 21082033.2464 21082037.6334
+ -957.9424 -746.4494
+ 23434652.4104 -7555129.25649 -5644570.45845 23434651.0954 23434655.7554
+ -3049.9194 -2376.5684
+ 21911722.1394 -14444850.06849 -10741281.85947 21911722.0194 21911726.6534
+ -237.1464 -184.7954
+ 20501995.4334 -25279787.64349 -19678044.59948 20501994.6964 20501999.9854
+ -951.7044 -741.5924
+ 05 1 20 9 21 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20677312.4464 -19675362.42249 -15304341.13048 20677311.7804 20677316.2754
+ 1647.1364 1283.4854
+ 23194680.1634 -8231133.58049 -6385194.68046 23194676.7184 23194678.4184
+ 3223.9684 2512.1934
+ 23745168.7594 -5171696.54949 -3735606.84446 23745169.2904 23745174.6514
+ -152.5574 -118.8714
+ 21087518.1494 -20876953.70549 -16252639.35948 21087518.5374 21087522.7454
+ -963.6894 -750.9324
+ 23452085.7944 -7463516.52749 -5573183.92246 23452085.5914 23452090.6204
+ -3057.5774 -2382.5344
+ 21913133.2434 -14437437.54349 -10735505.87747 21913132.7234 21913137.5414
+ -257.0654 -200.3094
+ 20507468.6074 -25251023.26849 -19655630.83248 20507468.4284 20507473.5234
+ -965.9454 -752.6754
+ 05 1 20 9 22 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20667956.0304 -19724527.94049 -15342651.91548 20667955.9324 20667960.2464
+ 1630.5774 1270.5814
+ 23176280.2924 -8327797.77649 -6460517.44146 23176281.0384 23176284.0414
+ 3220.2974 2509.3224
+ 23746086.4434 -5166870.82849 -3731846.52746 23746086.4984 23746091.3584
+ -169.4264 -132.0284
+ 21093036.2634 -20847957.32349 -16230044.79348 21093036.1444 21093040.6094
+ -969.3974 -755.3724
+ 23469560.0074 -7371674.82449 -5501618.98245 23469562.0644 23469566.8654
+ -3065.1994 -2388.4694
+ 21914656.0814 -14429427.90949 -10729264.61447 21914656.2394 21914661.5544
+ -276.9464 -215.7984
+ 20513023.7474 -25221831.04849 -19632883.66248 20513023.3744 20513028.7744
+ -980.2124 -763.7974
+ 05 1 20 9 22 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20658695.6864 -19773195.74449 -15380574.87848 20658694.9944 20658699.3344
+ 1613.9464 1257.6214
+ 23157909.7694 -8424351.41249 -6535754.03346 23157907.8734 23157910.4094
+ 3216.5964 2506.4474
+ 23747101.1574 -5161538.81049 -3727691.70246 23747101.6914 23747108.9154
+ -186.3274 -145.1824
+ 21098586.3434 -20818789.05349 -16207316.29848 21098586.5784 21098591.2424
+ -975.1584 -759.8634
+ 23487084.1244 -7279605.59449 -5429876.76446 23487083.6904 23487086.8024
+ -3072.7644 -2394.3644
+ 21916296.0344 -14420821.64749 -10722558.45347 21916294.9084 21916299.4474
+ -296.8214 -231.2934
+ 20518660.2844 -25192210.70449 -19609802.88648 20518660.2344 20518665.3384
+ -994.4764 -774.9184
+ 05 1 20 9 23 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20649529.0444 -19821365.05449 -15418109.39048 20649528.7624 20649533.2024
+ 1597.3094 1244.6554
+ 23139553.8164 -8520792.73749 -6610903.11246 23139554.9064 23139557.4924
+ 3212.8014 2503.4884
+ 23748213.2184 -5155700.12549 -3723142.07146 23748214.3044 23748218.3114
+ -203.2074 -158.3454
+ 21104170.2704 -20789449.30349 -16184454.16948 21104170.2124 21104174.5614
+ -980.8774 -764.3214
+ 23504645.8164 -7187309.66049 -5357957.86246 23504645.9294 23504651.4734
+ -3080.3024 -2400.2344
+ 21918045.6084 -14411619.66949 -10715388.10647 21918045.6924 21918050.3254
+ -316.6754 -246.7574
+ 20524378.4254 -25162161.88949 -19586388.22548 20524378.1554 20524383.7724
+ -1008.7934 -786.0724
+ 05 1 20 9 23 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20640458.1324 -19869035.02349 -15455254.81548 20640457.3544 20640461.5724
+ 1580.6774 1231.6974
+ 23121227.2364 -8617119.29449 -6685962.78146 23121226.1454 23121227.7894
+ 3208.9364 2500.4724
+ 23749419.7984 -5149354.53249 -3718197.47746 23749421.0864 23749425.7374
+ -220.1054 -171.5154
+ 21109785.7404 -20759938.09949 -16161458.44348 21109785.7694 21109790.5404
+ -986.5644 -768.7504
+ 23522252.2224 -7094788.47649 -5285863.48545 23522253.2174 23522255.4954
+ -3087.7554 -2406.0424
+ 21919910.5854 -14401822.39849 -10707753.87347 21919909.9704 21919914.7734
+ -336.4954 -262.2094
+ 20530178.5034 -25131684.22949 -19562639.41148 20530178.3014 20530183.3104
+ -1023.0744 -797.1994
+ 05 1 20 9 24 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20631481.2884 -19916204.97049 -15492010.61248 20631481.1644 20631485.2004
+ 1564.0054 1218.7054
+ 23102917.6344 -8713329.10649 -6760931.44946 23102916.4894 23102920.0534
+ 3205.0444 2497.4384
+ 23750725.8884 -5142501.69449 -3712857.58746 23750724.8894 23750730.9664
+ -237.0234 -184.6804
+ 21115434.1424 -20730256.17949 -16138329.70048 21115433.8214 21115438.7214
+ -992.2394 -773.1704
+ 23539900.3644 -7002043.12749 -5213594.37846 23539901.2564 23539906.4784
+ -3095.2164 -2411.8554
+ 21921887.8724 -14391430.52949 -10699656.31447 21921887.1694 21921892.6264
+ -356.2994 -277.6364
+ 20536059.7854 -25100777.45749 -19538556.21648 20536059.3894 20536064.8904
+ -1037.3544 -808.3254
+ 05 1 20 9 24 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20622600.5884 -19962873.98449 -15528376.06948 20622600.2864 20622604.6364
+ 1547.2664 1205.6644
+ 23084631.8824 -8809420.04949 -6835807.51646 23084631.9154 23084633.9354
+ 3201.0114 2494.2984
+ 23752125.9504 -5135141.24949 -3707122.16946 23752125.0004 23752129.7134
+ -253.9494 -197.8774
+ 21121115.0364 -20700403.44049 -16115067.83648 21121114.9184 21121119.6714
+ -997.9314 -777.6034
+ 23557593.4204 -6909074.64649 -5141151.44946 23557592.2264 23557596.8384
+ -3102.6384 -2417.6464
+ 21923979.1714 -14380444.79949 -10691096.02347 21923978.7184 21923983.2564
+ -376.0874 -293.0514
+ 20542022.9184 -25069441.34749 -19514138.46348 20542022.1424 20542027.5304
+ -1051.7084 -819.5114
+ 05 1 20 9 25 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20613816.0554 -20009041.35349 -15564350.63848 20613815.5234 20613819.2994
+ 1530.5494 1192.6354
+ 23066368.6034 -8905390.20149 -6910589.44346 23066369.4944 23066371.1254
+ 3196.9944 2491.1634
+ 23753623.4694 -5127272.97449 -3700991.03946 23753624.2954 23753627.7434
+ -270.9144 -211.1084
+ 21126828.0114 -20670380.18849 -16091673.10348 21126828.2004 21126832.5964
+ -1003.6234 -782.0464
+ 23575325.8044 -6815884.38849 -5068535.68245 23575326.8694 23575330.6344
+ -3110.0234 -2423.4074
+ 21926181.2884 -14368865.99449 -10682073.58047 21926181.2014 21926186.2784
+ -395.8394 -308.4464
+ 20548067.6524 -25037675.63749 -19489385.95948 20548067.2874 20548072.5044
+ -1066.0264 -830.6724
+ 05 1 20 9 25 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20605125.5754 -20054706.15749 -15599933.58648 20605125.0854 20605129.6914
+ 1513.7824 1179.5724
+ 23048131.3134 -9001237.46049 -6985275.62946 23048130.3704 23048131.7684
+ 3192.8624 2487.9354
+ 23755216.0754 -5118896.51049 -3694463.90146 23755215.5964 23755222.7194
+ -287.8264 -224.2854
+ 21132574.3744 -20640186.71749 -16068145.73648 21132573.8174 21132578.5074
+ -1009.2984 -786.4634
+ 23593101.7924 -6722473.49149 -4995747.98745 23593101.7424 23593106.1844
+ -3117.3234 -2429.0834
+ 21928498.5054 -14356694.91349 -10672589.64747 21928498.0264 21928502.0674
+ -415.5794 -323.8244
+ 20554193.8284 -25005480.08649 -19464298.51948 20554193.7974 20554199.1274
+ -1080.3514 -841.8314
+ 05 1 20 9 26 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20596531.4994 -20099867.73149 -15635124.42548 20596531.1674 20596535.1424
+ 1496.9954 1166.4864
+ 23029913.5384 -9096959.71449 -7059864.41046 23029915.0644 23029916.7124
+ 3188.6514 2484.6624
+ 23756907.7094 -5110011.59949 -3687540.61146 23756907.5464 23756911.5464
+ -304.7954 -237.4954
+ 21138351.4164 -20609823.32549 -16044485.94348 21138351.3634 21138355.8974
+ -1014.9534 -790.8764
+ 23610919.3644 -6628843.12349 -4922789.31646 23610919.7294 23610922.7854
+ -3124.6554 -2434.8004
+ 21930926.9534 -14343932.31349 -10662644.76747 21930925.7424 21930931.0124
+ -435.2634 -339.1714
+ 20560402.9304 -24972854.41149 -19438875.92448 20560402.3164 20560407.5574
+ -1094.6924 -853.0084
+ 05 1 20 9 26 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20588034.0614 -20144525.41149 -15669922.61148 20588033.3784 20588037.5334
+ 1480.1794 1153.3864
+ 23011723.4674 -9192554.90449 -7134354.15546 23011723.7404 23011725.4184
+ 3184.3824 2481.3344
+ 23758694.5234 -5100618.25749 -3680221.09146 23758693.6124 23758700.1564
+ -321.7424 -250.7114
+ 21144161.5144 -20579289.99149 -16020693.72648 21144161.9574 21144166.2364
+ -1020.6104 -795.2794
+ 23628775.8694 -6534994.61849 -4849660.60245 23628775.9304 23628781.8504
+ -3131.9524 -2440.4844
+ 21933468.6014 -14330579.03649 -10652239.63547 21933468.0084 21933472.0304
+ -454.9454 -354.4994
+ 20566692.4874 -24939798.33049 -19413117.93848 20566692.4354 20566697.9134
+ -1109.0654 -864.2054
+ 05 1 20 9 27 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20579631.0414 -20188678.63249 -15704327.72248 20579630.8364 20579635.5154
+ 1463.3654 1140.2814
+ 22993558.6494 -9288020.82149 -7208743.16346 22993557.6954 22993558.9564
+ 3180.0434 2477.9494
+ 23760580.0434 -5090716.04949 -3672505.09746 23760580.5054 23760584.0364
+ -338.6774 -263.9204
+ 21150004.7674 -20548587.13749 -15996769.40948 21150004.7394 21150008.8664
+ -1026.2464 -799.6744
+ 23646677.1744 -6440929.15849 -4776362.87945 23646677.2284 23646681.9914
+ -3138.9984 -2445.9734
+ 21936121.5284 -14316636.09649 -10641375.01547 21936120.7904 21936125.5814
+ -474.5874 -369.8124
+ 20573064.7334 -24906311.66049 -19387024.41048 20573064.5864 20573070.5224
+ -1123.4034 -875.3784
+ 05 1 20 9 27 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20571325.7594 -20232326.49549 -15738339.03748 20571325.3474 20571329.5024
+ 1446.5084 1127.1504
+ 22975416.6084 -9383355.44049 -7283029.89646 22975417.2654 22975418.5014
+ 3175.6364 2474.5324
+ 23762560.7274 -5080304.90549 -3664392.52146 23762560.4324 23762564.8424
+ -355.6464 -277.1254
+ 21155879.7874 -20517714.79349 -15972713.03848 21155879.4464 21155883.8974
+ -1031.8774 -804.0594
+ 23664618.4104 -6346648.06249 -4702897.12645 23664618.3894 23664624.2554
+ -3146.2444 -2451.6134
+ 21938887.3014 -14302104.44549 -10630051.66147 21938886.3294 21938890.2424
+ -494.1804 -385.0714
+ 20579519.7704 -24872394.27749 -19360595.27148 20579519.4454 20579524.2824
+ -1137.7394 -886.5484
+ 05 1 20 9 28 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20563115.6544 -20275468.40249 -15771956.11448 20563115.5184 20563119.8394
+ 1429.6244 1113.9894
+ 22957301.5414 -9478556.71849 -7357212.71046 22957300.3944 22957301.4104
+ 3171.1424 2471.0214
+ 23764639.0544 -5069384.72649 -3655883.28446 23764638.1444 23764644.3534
+ -372.6214 -290.3514
+ -88802.82441
+ 3412.3414
+ 21161786.4154 -20486673.32649 -15948524.89148 21161786.2574 21161790.9734
+ -1037.5374 -808.4754
+ 23682601.2644 -6252152.08849 -4629263.92245 23682600.7904 23682604.5734
+ -3153.4834 -2457.2524
+ 21941764.4624 -14286984.53049 -10618269.92747 21941763.6094 21941767.3124
+ -513.7954 -400.3604
+ 20586055.8004 -24838045.94949 -19333830.32448 20586055.4854 20586061.0844
+ -1152.1314 -897.7664
+ 05 1 20 9 28 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20555002.5184 -20318103.73749 -15805178.44848 20555002.4544 20555006.6654
+ 1412.7244 1100.8234
+ 22939213.2994 -9573622.29549 -7431289.77446 22939210.7274 22939211.0634
+ 3166.5654 2467.4604
+ 23766812.8814 -5057955.40949 -3646977.30646 23766813.0744 23766817.7034
+ -389.6194 -303.6034
+ -191259.13241 -16682.739 3 25504334.157
+ 3417.7844 2659.496
+ 21167724.8814 -20455463.15649 -15924205.27648 21167725.1254 21167730.0464
+ -1043.1494 -812.8464
+ 23700624.4854 -6157442.55349 -4555464.32045 23700624.3954 23700627.8284
+ -3160.5104 -2462.7334
+ 21944753.0564 -14271277.73849 -10606030.89047 21944752.9344 21944756.2794
+ -533.3294 -415.5854
+ 20592674.1144 -24803266.40749 -19306729.36648 20592673.7044 20592679.4084
+ -1166.5084 -908.9684
+ 05 1 20 9 29 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20546986.0044 -20360232.04149 -15838005.70248 20546985.5384 20546989.6764
+ 1395.8264 1087.6554
+ 22921146.2614 -9668550.07749 -7505259.47246 22921146.6834 22921146.6284
+ 3161.9434 2463.8474
+ 23769086.5174 -5046016.73449 -3637674.44446 23769085.6674 23769090.0174
+ -406.5584 -316.7824
+ -293884.90741
+ 3423.6474
+ 21173696.3904 -20424084.33249 -15899754.24148 21173696.3144 21173701.2904
+ -1048.7704 -817.2234
+ 23718686.2764 -6062520.87349 -4481499.39045 23718686.3674 23718690.5934
+ -3167.5964 -2468.2654
+ 21947852.8774 -14254984.82949 -10593335.12047 21947852.3934 21947856.9034
+ -552.8474 -430.7944
+ 20599374.7124 -24768055.56649 -19279292.35248 20599374.3744 20599379.3844
+ -1180.8924 -920.1794
+ 05 1 20 9 29 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20539066.0794 -20401852.64249 -15870437.34948 20539065.7094 20539069.7794
+ 1378.8634 1074.4424
+ 22903108.4104 -9763337.84949 -7579120.08146 22903108.4904 22903109.2034
+ 3157.2234 2460.1544
+ 23771453.9684 -5033568.68349 -3627974.65046 23771454.4564 23771459.1064
+ -423.5784 -330.0614
+ 21179699.8574 -20392537.11949 -15875172.00948 21179699.6604 21179704.5604
+ -1054.4144 -821.6194
+ 23736790.6184 -5967388.44749 -4407370.25145 23736790.6834 23736795.1684
+ -3174.5864 -2473.6924
+ 21951065.3504 -14238106.75449 -10580183.39547 21951064.2614 21951069.0624
+ -572.3404 -445.9734
+ 20606156.7404 -24732413.24849 -19251519.11948 20606156.4524 20606161.9744
+ -1195.2824 -931.3844
+ 05 1 20 9 30 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20531242.2824 -20442964.79049 -15902472.77748 20531242.0594 20531246.3834
+ 1361.9184 1061.2394
+ 22885099.1904 -9857983.61149 -7652870.03146 22885097.6834 22885098.9244
+ 3152.4744 2456.4824
+ 23773920.9904 -5020611.15549 -3617877.87346 23773919.8434 23773925.7644
+ -440.5464 -343.2824
+ 21185735.1244 -20360821.60449 -15850458.61648 21185734.7994 21185739.7274
+ -1059.9924 -825.9674
+ 23754933.7644 -5872046.44749 -4333077.83045 23754933.4704 23754936.9664
+ -3181.5224 -2479.1124
+ 21954387.6814 -14220644.69049 -10566576.57947 21954386.8634 21954392.0194
+ -591.7734 -461.1214
+ 20613021.2354 -24696339.37749 -19223409.59148 20613020.9844 20613026.7214
+ -1209.6544 -942.5904
+ 05 1 20 9 30 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20523516.1374 -20483568.01849 -15934111.67448 20523515.7324 20523519.8874
+ 1344.9504 1048.0124
+ 22867114.9824 -9952485.18249 -7726507.61646 22867114.0704 22867115.8054
+ 3147.6374 2452.7094
+ 23776482.0314 -5007144.12249 -3607384.09546 23776481.8814 23776486.6424
+ -457.5094 -356.4954
+ 21191802.4684 -20328937.96449 -15825614.23148 21191802.4604 21191806.9474
+ -1065.5904 -830.3324
+ 23773114.9404 -5776496.22949 -4258623.10245 23773115.6524 23773119.5934
+ -3188.4344 -2484.4914
+ 21957822.6884 -14202599.55749 -10552515.45447 21957821.4914 21957825.8314
+ -611.2264 -476.2774
+ 20619968.2384 -24659833.86649 -19194963.74548 20619968.0894 20619973.3584
+ -1224.0484 -953.8054
+ 05 1 20 9 31 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20515886.3084 -20523661.78249 -15965353.56348 20515885.9944 20515890.3094
+ 1327.9764 1034.7874
+ 22849158.4654 -10046840.56049 -7800031.28946 22849158.8104 22849160.3564
+ 3142.7124 2448.8664
+ 23779141.5684 -4993167.55249 -3596493.23046 23779141.3154 23779146.8274
+ -474.5124 -369.7454
+ 21197901.7374 -20296886.32649 -15800638.93448 21197901.6004 21197906.5444
+ -1071.1704 -834.6774
+ 23791338.0514 -5680738.99149 -4184007.09945 23791337.3344 23791340.8464
+ -3195.3574 -2489.8944
+ 21961365.0324 -14183972.32849 -10538000.73447 21961365.0604 21961370.4454
+ -630.5744 -491.3544
+ 20626997.2494 -24622896.57149 -19166181.44248 20626997.0474 20627002.4684
+ -1238.4464 -965.0244
+ 05 1 20 9 31 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20508353.9624 -20563245.67249 -15996198.15648 20508353.5774 20508357.6494
+ 1310.9674 1021.5334
+ 22831231.5744 -10141047.30849 -7873439.15046 22831231.4604 22831233.5254
+ 3137.7394 2444.9964
+ 23781897.4004 -4978681.50349 -3585205.42746 23781898.7224 23781903.5414
+ -491.5034 -382.9944
+ 21204032.6644 -20264666.91549 -15775532.92348 21204032.6704 21204037.5554
+ -1076.7634 -839.0354
+ 23809599.2074 -5584776.21449 -4109230.95845 23809598.2334 23809602.0584
+ -3202.1484 -2495.1854
+ 21965022.1414 -14164764.30849 -10523033.46447 21965020.9534 21965025.9994
+ -649.9424 -506.4514
+ 20634107.9644 -24585527.30249 -19137062.52548 20634107.8534 20634113.7304
+ -1252.8464 -976.2434
+ 05 1 20 9 32 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20500918.0964 -20602319.22149 -16026645.08748 20500917.7554 20500922.1464
+ 1293.9364 1008.2624
+ 22813332.9724 -10235103.37349 -7946729.57546 22813333.3484 22813335.1374
+ 3132.6454 2441.0184
+ 23784752.9164 -4963686.05449 -3573520.63546 23784752.7394 23784756.5574
+ -508.4864 -396.2214
+ 21210196.1004 -20232280.15149 -15750296.49248 21210195.7614 21210200.5374
+ -1082.3504 -843.3934
+ 23827900.1524 -5488608.90149 -4034295.41545 23827899.0884 23827903.5114
+ -3209.0114 -2500.5384
+ 21968786.3944 -14144976.49849 -10507614.40847 21968786.4644 21968791.4334
+ -669.2514 -521.5004
+ 20641301.6534 -24547726.05549 -19107607.01148 20641301.2834 20641306.8864
+ -1267.2434 -987.4644
+ 05 1 20 9 32 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20493579.8754 -20640881.77049 -16056693.83148 20493579.6934 20493584.1214
+ 1276.9094 994.9944
+ 22795465.5584 -10329006.41449 -8019900.78746 22795463.7134 22795465.8704
+ 3127.5264 2437.0364
+ 23787702.8374 -4948181.08449 -3561438.85646 23787702.3304 23787708.2934
+ -525.4594 -409.4524
+ 21216390.8694 -20199726.24449 -15724929.82448 21216390.7114 21216395.2664
+ -1087.9194 -847.7324
+ 23846238.4744 -5392238.12349 -3959201.31645 23846238.2434 23846241.3524
+ -3215.7304 -2505.7584
+ 21972662.7934 -14124610.05449 -10491744.47147 21972661.8954 21972666.3204
+ -688.5284 -536.5154
+ 20648576.7814 -24509492.82649 -19077814.87148 20648576.6134 20648582.1534
+ -1281.6384 -998.6804
+ 05 1 20 9 33 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20486339.2534 -20678932.82349 -16086344.00348 20486338.8204 20486343.0014
+ 1259.8364 981.6904
+ 22777624.0254 -10422754.44449 -8092951.20146 22777624.2604 22777626.3324
+ 3122.3324 2432.9894
+ 23790748.9524 -4932166.63449 -3548960.06146 23790750.5624 23790754.7204
+ -542.4474 -422.6834
+ 21222617.4544 -20167005.02749 -15699432.77348 21222617.3524 21222621.3364
+ -1093.5124 -852.0864
+ 23864614.6314 -5295665.45149 -3883949.91045 23864614.2484 23864618.5424
+ -3222.4814 -2511.0154
+ 21976647.7184 -14103665.97849 -10475424.42447 21976647.3344 21976651.7614
+ -707.7624 -551.4914
+ 20655934.9234 -24470827.56749 -19047686.10148 20655934.8094 20655940.1714
+ -1296.0634 -1009.9194
+ 05 1 20 9 33 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20479195.9574 -20716471.99749 -16115595.31548 20479195.2484 20479199.9174
+ 1242.7744 968.3994
+ 22759815.7634 -10516345.05449 -8165878.93547 22759814.8294 22759817.0744
+ 3117.0364 2428.8664
+ 23793893.6134 -4915643.00549 -3536084.49846 23793894.5944 23793899.8944
+ -559.4174 -435.9104
+ -187176.15141 -118272.63944 25283338.4694
+ 3470.7784 2704.3864
+ 21228876.0154 -20134116.73549 -15673805.52648 21228875.6554 21228880.2364
+ -1099.0534 -856.4024
+ 23883030.4184 -5198892.22949 -3808542.22945 23883029.3974 23883034.1274
+ -3229.1104 -2516.1844
+ 21980742.3674 -14082145.55349 -10458655.27047 21980742.0914 21980747.1364
+ -726.9724 -566.4694
+ 20663375.0284 -24431730.20949 -19017220.62248 20663374.5724 20663380.0274
+ -1310.4464 -1021.1254
+ 05 1 20 9 34 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20472149.5974 -20753498.83549 -16144447.39348 20472149.2864 20472153.6674
+ 1225.6824 955.0814
+ 22742034.7814 -10609776.09749 -8238682.34647 22742035.8764 22742037.0254
+ 3111.6764 2424.6894
+ 23797135.6944 -4898610.20349 -3522812.16246 23797135.2724 23797140.9824
+ -576.4044 -449.1454
+ -291372.83741 -135854.201 4 25279044.390
+ 3475.7284 2704.986
+ 21235166.1304 -20101061.67849 -15648048.35148 21235166.0514 21235170.4554
+ -1104.6084 -860.7304
+ 23901484.4214 -5101919.89049 -3732979.36845 23901483.2564 23901486.7404
+ -3235.7174 -2521.3424
+ 21984947.7914 -14060050.27149 -10441438.16747 21984947.2754 21984951.8504
+ -746.0614 -581.3434
+ 20670896.8994 -24392200.66049 -18986418.38548 20670897.0124 20670902.5084
+ -1324.8534 -1032.3524
+ 05 1 20 9 34 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20465201.8244 -20790012.94249 -16172899.94848 20465201.0884 20465205.5084
+ 1208.5774 941.7514
+ 22724288.8874 -10703045.25449 -8311359.61147 22724287.4784 22724289.0104
+ 3106.2394 2420.4424
+ 23800473.4994 -4881068.32949 -3509143.16746 23800473.7574 23800479.6774
+ -593.3544 -462.3514
+ 21241487.9474 -20067840.21149 -15622161.48148 21241487.9394 21241492.4734
+ -1110.1634 -865.0574
+ 23919972.7644 -5004749.67549 -3657262.34545 23919973.1154 23919980.0054
+ -3242.2884 -2526.4564
+ 21989263.3024 -14037381.14949 -10423773.93747 21989262.0134 21989266.0564
+ -765.1984 -596.2564
+ 20678501.5974 -24352239.04549 -18955279.46048 20678501.3234 20678506.7824
+ -1339.2494 -1043.5684
+ 05 1 20 9 35 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20458350.2454 -20826014.11549 -16200952.81648 20458350.1034 20458354.5734
+ 1191.4784 928.4224
+ 22706570.7454 -10796150.35549 -8383909.04447 22706570.4454 22706571.7464
+ 3100.7194 2416.1434
+ 23803908.8054 -4863017.56449 -3495077.66246 23803909.1784 23803913.7414
+ -610.3234 -475.5824
+ 21247841.4794 -20034452.35749 -15596144.96148 21247841.3124 21247845.6254
+ -1115.7134 -869.3934
+ 23938501.5294 -4907383.01249 -3581392.21545 23938501.1424 23938508.9034
+ -3248.8384 -2531.5654
+ 21993684.3434 -14014139.46249 -10405663.53047 21993683.8434 21993688.8954
+ -784.2714 -611.1184
+ 20686188.1144 -24311845.28949 -18923803.80348 20686187.8984 20686193.5764
+ -1353.6814 -1054.8224
+ 05 1 20 9 35 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20451597.8164 -20861501.98949 -16228605.71848 20451597.3044 20451601.5154
+ 1174.3714 915.0944
+ 22688885.1724 -10889089.27749 -8456328.97747 22688885.2084 22688886.2794
+ 3095.1694 2411.8174
+ 23807441.0614 -4844458.05649 -3480615.69046 23807441.0174 23807444.9164
+ -627.2454 -488.7804
+ 21254226.5314 -20000898.01249 -15569998.71148 21254226.5164 21254230.7064
+ -1121.2494 -873.7034
+ 23957065.7414 -4809821.12149 -3505370.03545 23957066.2394 23957071.3174
+ -3255.3064 -2536.6094
+ 21998216.2594 -13990326.56249 -10387108.02347 21998215.2774 21998220.1294
+ -803.2534 -625.9184
+ 20693957.4594 -24271019.29349 -18891991.33248 20693957.0054 20693962.0764
+ -1368.0674 -1066.0254
+ 05 1 20 9 36 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20444941.9414 -20896476.06949 -16255858.23948 20444941.6024 20444945.9504
+ 1157.2384 901.7444
+ 22671231.9464 -10981859.67449 -8528617.57847 22671230.7444 22671232.5814
+ 3089.5104 2407.4064
+ 23811067.9494 -4825390.01249 -3465757.47146 23811067.8454 23811074.2164
+ -644.2324 -502.0034
+ 21260643.3294 -19967177.23549 -15543722.76448 21260643.3234 21260647.9874
+ -1126.7924 -878.0254
+ 23975669.0434 -4712065.24449 -3429196.58845 23975669.7484 23975673.3704
+ -3261.7564 -2541.6254
+ 22002855.1334 -13965943.57049 -10368108.29347 22002855.1444 22002859.9484
+ -822.2584 -640.7244
+ 20701808.2024 -24229761.23649 -18859842.20848 20701808.2104 20701813.7004
+ -1382.4734 -1077.2544
+ 05 1 20 9 36 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20438384.3734 -20930936.10049 -16282710.21648 20438384.0814 20438388.6364
+ 1140.0864 888.3784
+ 22653609.8994 -11074459.37149 -8600773.19547 22653609.5194 22653611.7204
+ 3083.7774 2402.9484
+ 23814795.5784 -4805813.79449 -3450503.26146 23814794.4444 23814798.6694
+ -661.1414 -515.1774
+ 21267091.7804 -19933290.54649 -15517317.55548 21267091.7124 21267096.4384
+ -1132.3234 -882.3304
+ 23994307.9174 -4614116.87549 -3352873.21645 23994307.6154 23994313.5814
+ -3268.1244 -2546.5924
+ 22007604.2354 -13940992.09549 -10348665.60447 22007603.6304 22007608.0774
+ -841.1524 -655.4404
+ 20709741.7724 -24188071.08449 -18827356.39348 20709741.3274 20709746.6964
+ -1396.8714 -1088.4724
+ 05 1 20 9 37 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20431924.8344 -20964881.63249 -16309161.28548 20431924.5594 20431928.8124
+ 1122.9344 875.0114
+ 22636021.1124 -11166886.06349 -8672793.97547 22636021.4214 22636023.3064
+ 3077.9964 2398.4304
+ 23818614.4054 -4785729.38749 -3434853.04546 23818614.9904 23818622.1944
+ -678.0884 -528.3874
+ 21273572.4174 -19899238.04649 -15490783.13048 21273571.6294 21273576.3484
+ -1137.8554 -886.6424
+ 24012983.0964 -4515977.24749 -3276400.77345 24012983.4214 24012988.7574
+ -3274.5274 -2551.5764
+ 22012461.4084 -13915473.29749 -10328780.83747 22012460.0934 22012464.0344
+ -860.0754 -670.1924
+ 20717757.4284 -24145949.00149 -18794533.98048 20717756.8364 20717762.3354
+ -1411.2754 -1099.6954
+ 05 1 20 9 37 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20425563.0994 -20998312.45249 -16335211.27948 20425563.0154 20425567.2494
+ 1105.7754 861.6444
+ 22618467.3534 -11259137.40649 -8744678.14547 22618467.3684 22618468.2924
+ 3072.1364 2393.8684
+ 23822536.4474 -4765137.17949 -3418807.20146 23822534.7634 23822540.1334
+ -695.0054 -541.5624
+ 21280082.7334 -19865019.72649 -15464119.50248 21280083.0074 21280087.4554
+ -1143.3734 -890.9454
+ 24031697.0794 -4417647.75249 -3199780.45745 24031695.7644 24031699.2854
+ -3280.8384 -2556.5034
+ 22017423.2664 -13889388.61149 -10308455.12447 22017423.3734 22017428.2764
+ -878.8984 -684.8564
+ 20725855.8464 -24103394.99749 -18761375.01948 20725855.1154 20725860.1254
+ -1425.6644 -1110.9124
+ 05 1 20 9 38 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20419299.6644 -21031228.35849 -16360860.03248 20419299.3314 20419303.4814
+ 1088.5924 848.2514
+ 22600945.6574 -11351211.02649 -8816423.83447 22600946.0154 22600947.4314
+ 3066.1484 2389.2034
+ 23826549.7974 -4744037.46449 -3402365.86746 23826549.6534 23826554.3814
+ -711.9114 -554.7354
+ 21286626.5134 -19830635.82749 -15437326.84048 21286626.2244 21286630.5444
+ -1148.8964 -895.2454
+ 24050440.2044 -4319129.90449 -3123013.33945 24050441.5964 24050447.6064
+ -3287.0804 -2561.3634
+ 22022495.5144 -13862739.56449 -10287689.64247 22022493.9584 22022499.6334
+ -897.7154 -699.5204
+ 20734034.3344 -24060409.21849 -18727879.59448 20734034.4484 20734040.2874
+ -1440.0724 -1122.1384
+ 05 1 20 9 38 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20413134.5884 -21063629.09249 -16386107.35648 20413133.7464 20413137.9304
+ 1071.4434 834.8944
+ 22583458.3704 -11443104.87849 -8888029.44347 22583459.0964 22583460.4664
+ 3060.1144 2384.5054
+ 23830660.2584 -4722430.58349 -3385529.32846 23830660.9364 23830665.6874
+ -728.8214 -567.9194
+ 21293200.4884 -19796086.36149 -15410405.18748 21293200.4614 21293205.4694
+ -1154.4094 -899.5334
+ 24069224.3414 -4220425.00449 -3046100.42045 24069224.6694 24069230.8154
+ -3293.2924 -2566.2024
+ 22027672.3624 -13835527.36149 -10266485.33947 22027672.1734 22027677.1904
+ -916.4584 -714.1244
+ 20742297.9714 -24016991.83849 -18694047.85948 20742297.0024 20742302.2074
+ -1454.4304 -1133.3214
+ 05 1 20 9 39 0.0000000 0 7G16G23G 6G25G14G20G 1
+ 20407066.1684 -21095514.38349 -16410953.02548 20407066.1014 20407070.3154
+ 1054.2734 821.5084
+ 22566007.4934 -11534816.54249 -8959493.08747 22566006.8404 22566008.3784
+ 3053.9984 2379.7514
+ 23834870.3434 -4700316.68149 -3368297.71146 23834869.6474 23834875.1384
+ -745.7024 -581.0734
+ 21299805.8674 -19761371.39849 -15383354.56548 21299806.3604 21299811.4884
+ -1159.9224 -903.8324
+ 24088044.8154 -4121534.29949 -2969042.76245 24088043.2494 24088048.7734
+ -3299.4444 -2570.9964
+ 22032958.9264 -13807753.65349 -10244843.47847 22032958.0804 22032962.6914
+ -935.1184 -728.6634
+ 20750641.1814 -23973142.93249 -18659879.85248 20750641.0264 20750646.3464
+ -1468.8124 -1144.5284
+ 05 1 20 9 39 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20401097.4994 -21126883.91649 -16435396.81148 20401096.7594 20401100.9594
+ 1037.0524 808.0924
+ 22548590.0604 -11626343.84049 -9030813.07547 22548588.8144 22548590.9234
+ 3047.8404 2374.9354
+ 23839175.8824 -4677696.24049 -3350671.38546 23839173.4004 23839179.7294
+ -762.6114 -594.2404
+ 21306444.0574 -19726491.27449 -15356175.25148 21306444.0604 21306448.6274
+ -1165.4204 -908.1204
+ 24106897.1524 -4022459.17749 -2891841.35045 24106897.2294 24106903.3324
+ -3305.5484 -2575.7464
+ 22038351.6014 -13779419.90649 -10222765.25847 22038350.5454 22038354.1124
+ -953.7944 -743.2194
+ 20759067.1364 -23928862.53649 -18625375.61248 20759067.1294 20759072.5244
+ -1483.2114 -1155.7504
+ 05 1 20 9 40 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20395226.0584 -21157737.74749 -16459438.75848 20395225.5074 20395229.6904
+ 1019.8364 794.6774
+ 22531207.1314 -11717684.38549 -9101987.52547 22531207.7004 22531209.2264
+ 3041.5574 2370.0384
+ 23843575.1504 -4654569.53149 -3332650.56646 23843574.7144 23843580.9594
+ -779.4874 -607.3964
+ 25023236.905
+
+ 21313113.3304 -19691445.87149 -15328867.14348 21313113.0244 21313117.7274
+ -1170.9434 -912.4244
+ 24125783.8124 -3923201.17549 -2814497.48645 24125784.0904 24125792.5114
+ -3311.6364 -2580.4924
+ 22043849.7304 -13750527.53149 -10200251.74547 22043848.4064 22043851.9604
+ -972.3954 -757.7054
+ 20767575.1244 -23884150.90549 -18590535.32348 20767574.9844 20767580.5004
+ -1497.5844 -1166.9524
+ 05 1 20 9 40 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20389452.5024 -21188075.48549 -16483078.55748 20389452.0274 20389456.3084
+ 1002.6534 781.2824
+ 22513861.7944 -11808835.83149 -9173014.62647 22513862.5744 22513863.9824
+ 3035.2304 2365.1084
+ 23848072.0874 -4630937.03749 -3314235.62846 23848072.2014 23848076.7354
+ -796.3124 -620.5004
+ -130587.48341 -59868.214 3 25006111.941
+ 3531.4354 2750.826
+ 21319814.0564 -19656235.36549 -15301430.39448 21319813.8424 21319818.0384
+ -1176.4324 -916.7014
+ 24144706.7164 -3823761.80449 -2737012.28945 24144707.3754 24144712.5614
+ -3317.6864 -2585.2084
+ 22049452.4264 -13721078.19249 -10177304.22847 22049451.8374 22049456.6084
+ -990.9404 -772.1564
+ 20776166.0904 -23839008.15549 -18555359.09148 20776165.7174 20776170.9954
+ -1511.9524 -1178.1484
+ 05 1 20 9 41 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20383777.4704 -21217897.08649 -16506316.17448 20383777.2904 20383781.5574
+ 985.4384 767.8734
+ 22496553.6654 -11899795.92349 -9243892.61647 22496553.5594 22496554.7354
+ 3028.8044 2360.1044
+ 23852666.6644 -4606799.09249 -3295426.83646 23852665.7854 23852670.0714
+ -813.1654 -633.6324
+ 24982916.0094 -236587.23849 -154848.13944
+ 3535.1384 2754.6724
+ 21326545.4384 -19620859.73749 -15273864.96948 21326545.1384 21326549.8594
+ -1181.9464 -920.9994
+ 24163666.6474 -3724142.35849 -2659386.76545 24163666.5364 24163670.9934
+ -3323.6074 -2589.8204
+ 22055161.3724 -13691073.29049 -10153923.79547 22055161.0914 22055166.0444
+ -1009.4094 -786.5524
+ 20784838.6024 -23793434.37249 -18519846.97948 20784838.0704 20784843.0254
+ -1526.3194 -1189.3464
+ 05 1 20 9 41 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20378200.9544 -21247202.56549 -16529151.61948 20378200.6174 20378204.8604
+ 968.2414 754.4774
+ 22479281.2084 -11990562.28449 -9314619.65447 22479281.4704 22479282.9284
+ 3022.2974 2355.0434
+ 23857354.7714 -4582156.24949 -3276224.63846 23857355.2294 23857359.7174
+ -829.9924 -646.7484
+ 24962723.2174 -342697.36649 -237532.00744
+ 3538.7854 2757.5204
+ 21333308.2994 -19585319.46049 -15246171.25748 21333308.3784 21333313.2514
+ -1187.4374 -925.2724
+ 24182655.3994 -3624344.23149 -2581621.99745 24182656.1494 24182661.9364
+ -3329.5794 -2594.4734
+ 22060977.0214 -13660514.40749 -10130111.68747 22060976.4424 22060980.7204
+ -1027.8674 -800.9324
+ 20793592.8694 -23747429.67549 -18483999.07948 20793592.5624 20793597.8334
+ -1540.6744 -1200.5244
+ 05 1 20 9 42 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20372722.9164 -21275991.58149 -16551584.61948 20372722.4914 20372726.9084
+ 951.0164 741.0514
+ 22462047.6194 -12081132.53249 -9385193.86347 22462046.5344 22462048.0434
+ 3015.7294 2349.9254
+ 23862140.8884 -4557008.81949 -3256629.22846 23862140.5464 23862145.6654
+ -846.8044 -659.8434
+ -448915.45241 -17275.001 3 24954597.481
+ 3542.3874 2757.536
+ 21340103.1544 -19549614.37949 -15218349.11848 21340102.6154 21340107.1684
+ -1192.9264 -929.5514
+ 24201679.2124 -3524368.88249 -2503719.20445 24201679.3084 24201685.4594
+ -3335.4074 -2599.0184
+ 22066898.1434 -13629403.13749 -10105869.14747 22066896.9214 22066901.2784
+ -1046.2514 -815.2544
+ 20802429.4834 -23700994.65749 -18447815.86348 20802429.1334 20802434.0824
+ -1555.0294 -1211.7144
+ 05 1 20 9 42 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20367342.9124 -21304264.02249 -16573615.08548 20367342.5274 20367346.4714
+ 933.7954 727.6314
+ 22444850.2684 -12171504.43149 -9455613.52647 22444849.5154 22444850.4124
+ 3009.0654 2344.7184
+ 23867021.4724 -4531357.27849 -3236640.99246 23867021.8724 23867027.2584
+ -863.5854 -672.9124
+ -555239.29741 -147031.333 4 24923016.539
+ 3545.8874 2762.426
+ 21346928.6464 -19513744.69649 -15190398.72048 21346928.5604 21346932.9414
+ -1198.3864 -933.8094
+ 24220740.6614 -3424217.68549 -2425679.30045 24220738.7404 24220743.4454
+ -3341.2474 -2603.5704
+ 22072922.7564 -13597741.24349 -10081197.55547 22072922.2854 22072926.5294
+ -1064.5454 -829.5124
+ 20811347.3704 -23654129.43649 -18411297.44848 20811346.7874 20811352.1124
+ -1569.3584 -1222.8804
+ 05 1 20 9 43 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20362061.1814 -21332019.89449 -16595243.03748 20362060.7554 20362064.7654
+ 916.6034 714.2374
+ 22427691.0484 -12261675.69149 -9525876.85547 22427690.6364 22427691.5824
+ 3002.3454 2339.4844
+ 23871998.1634 -4505202.10649 -3216260.36746 23871997.6634 23872003.3064
+ -880.3464 -685.9944
+ -661666.25841 -188484.567 4 24912922.474
+ 3549.2814 2763.986
+ 21353785.3274 -19477710.39649 -15162320.04648 21353785.4334 21353790.2854
+ -1203.8804 -938.0894
+ 24239829.9684 -3323892.06149 -2347503.56545 24239831.2984 24239834.1204
+ -3347.1274 -2608.1504
+ 22079051.8044 -13565530.16649 -10056098.04147 22079051.6414 22079055.9144
+ -1082.8394 -843.7674
+ 20820347.1054 -23606834.10949 -18374443.89048 20820346.8134 20820352.1714
+ -1583.6704 -1234.0314
+ 05 1 20 9 43 30.0000000 0 7G16G23G 6G25G14G20G 1
+ 20356877.2664 -21359259.31549 -16616468.56048 20356876.9354 20356881.3464
+ 899.3644 700.8044
+ 22410570.4064 -12351644.00449 -9595982.02947 22410569.6914 22410570.4194
+ 2995.5144 2334.1654
+ 23877071.1944 -4478543.92549 -3195487.74846 23877071.9414 23877076.0714
+ -897.1074 -699.0424
+ 21360674.3554 -19441511.35949 -15134113.00748 21360674.2284 21360678.6034
+ -1209.3914 -942.3814
+ 24258955.5124 -3223393.37149 -2269192.91645 24258955.1274 24258960.0444
+ -3352.8124 -2612.5754
+ 22085286.1304 -13532771.59849 -10030571.87847 22085285.0174 22085290.5024
+ -1101.0584 -857.9604
+ 20829428.8074 -23559109.02149 -18337255.46748 20829428.4854 20829433.5834
+ -1598.0184 -1245.2134
+ 05 1 20 9 44 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20351792.1814 -21385982.10649 -16637291.51748 20351791.9204 20351795.8924
+ 882.1464 687.3794
+ 22393488.4104 -12441406.75849 -9665927.03047 22393487.8874 22393489.3854
+ 2988.6084 2328.7844
+ 23882240.6054 -4451383.23149 -3174323.55546 23882240.4954 23882245.0934
+ -913.9024 -712.1334
+ -75494.10141 -25699.740 3 24864939.276
+ 3555.7964 2770.186
+ 21367594.2824 -19405148.01449 -15105777.93248 21367593.9834 21367598.3684
+ -1214.8634 -946.6484
+ 24278113.7264 -3122723.17549 -2190748.61245 24278112.2954 24278115.5944
+ -3358.5074 -2617.0164
+ 22091622.9994 -13499467.43749 -10004620.61547 22091622.4484 22091627.7224
+ -1119.2364 -872.1284
+ 20838592.1524 -23510954.58249 -18299732.49748 20838592.0384 20838597.1154
+ -1612.3194 -1256.3524
+ 05 1 20 9 44 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20346805.3754 -21412188.15449 -16657711.80848 20346805.0514 20346809.5134
+ 864.9244 673.9654
+ 22376446.7684 -12530961.69549 -9735710.09547 22376446.0194 22376447.8984
+ 2981.6874 2323.3904
+ 23887504.1234 -4423720.45149 -3152768.15446 23887503.8634 23887509.4594
+ -930.5834 -725.1294
+ -182214.92041 -82508.672 4 24850977.584
+ 3558.9944 2772.012
+ 21374543.9014 -19368620.47949 -15077314.91848 21374544.2164 21374549.2994
+ -1220.3084 -950.8864
+ 24297303.5324 -3021882.98449 -2112171.83845 24297301.6214 24297303.1254
+ -3364.1684 -2621.4294
+ 22098064.1504 -13465619.44349 -9978245.55247 22098063.8834 22098068.9264
+ -1137.3184 -886.2194
+ 20847837.7034 -23462371.06249 -18261875.19148 20847837.2214 20847842.3624
+ -1626.5894 -1267.4724
+ 05 1 20 9 45 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20341917.1664 -21437877.58149 -16677729.54748 20341916.6454 20341920.9124
+ 847.7044 660.5514
+ 22359444.7714 -12620306.54249 -9805329.44847 22359444.0724 22359446.7584
+ 2974.6414 2317.9074
+ 23892862.3934 -4395556.22549 -3130821.98446 23892862.9134 23892868.6514
+ -947.3094 -738.1704
+ -289028.63541 -203167.197 5 24821512.170
+ 3562.0054 2775.498
+ 21381527.4154 -19331928.53249 -15048723.79548 21381527.3814 21381531.7784
+ -1225.8084 -955.1724
+ 24316522.0954 -2920874.35449 -2033463.81745 24316522.2764 24316528.7464
+ -3369.7594 -2625.7864
+ 22104607.7774 -13431229.06049 -9951447.87247 22104608.0034 22104613.6104
+ -1155.3354 -900.2504
+ 20857164.4034 -23413358.78749 -18223683.79848 20857164.1964 20857169.0224
+ -1640.8844 -1278.6104
+ 05 1 20 9 45 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20337126.6644 -21463050.39349 -16697344.72148 20337126.3644 20337130.7864
+ 830.4754 647.1224
+ 22342482.2554 -12709438.88049 -9874783.22147 22342482.6314 22342484.8364
+ 2967.4914 2312.3284
+ 23898320.3244 -4366891.09749 -3108485.53346 23898318.6284 23898322.6374
+ -963.9854 -751.1624
+ 24800486.8184 -395932.57749 -289244.51945 24800484.1724 24800492.3644
+ 3564.9414 2777.8824
+ 21388540.4554 -19295072.25449 -15020004.61248 21388540.6874 21388545.3674
+ -1231.2914 -959.4494
+ 24335777.1764 -2819698.46049 -1954625.50345 24335775.8754 24335778.9194
+ -3375.2844 -2630.0884
+ 22111256.0904 -13396298.13449 -9924228.96747 22111255.3924 22111259.5694
+ -1173.4044 -914.3364
+ 20866572.4574 -23363917.91849 -18185158.43248 20866572.1194 20866577.3544
+ -1655.1844 -1289.7564
+ 05 1 20 9 46 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20332434.9004 -21487706.67349 -16716557.41448 20332434.4524 20332438.6164
+ 813.2594 633.7114
+ 22325563.4404 -12798356.11749 -9944069.37947 22325562.7454 22325564.4824
+ 2960.3094 2306.7374
+ 23903867.4404 -4337725.74749 -3085759.27246 23903868.2664 23903873.2674
+ -980.6314 -764.1234
+ 24780120.9854 -502924.24548 -372614.66645 24780125.4794 24780130.0394
+ 3567.8674 2780.1564
+ 21395585.3364 -19258051.84449 -14991157.53348 21395585.5224 21395590.0914
+ -1236.7684 -963.7134
+ 24355059.3074 -2718356.90149 -1875658.11745 24355060.7344 24355065.2674
+ -3380.7354 -2634.3384
+ 22118006.6984 -13360828.49349 -9896590.29547 22118005.8544 22118009.6144
+ -1191.2824 -928.2784
+ 20876062.4054 -23314048.78149 -18146299.35848 20876061.9244 20876067.2584
+ -1669.4314 -1300.8524
+ 05 1 20 9 46 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20327841.2944 -21511846.47649 -16735367.65048 20327840.8194 20327844.9564
+ 796.0654 620.3104
+ 22308683.8914 -12887056.18949 -10013186.31047 22308683.4884 22308685.4924
+ 2953.0054 2301.0404
+ 23909513.2084 -4308060.95149 -3062643.85046 23909512.5294 23909518.3464
+ -997.2654 -777.0944
+ 24759748.6484 -610001.39549 -456051.34445 24759748.3734 24759754.2904
+ 3570.6444 2782.3184
+ 21402661.3514 -19220867.10549 -14962182.40948 21402661.5324 21402665.9994
+ -1242.2274 -967.9694
+ 24374376.2384 -2616851.24449 -1796562.84045 24374375.0914 24374380.9094
+ -3386.2694 -2638.6524
+ 22124858.0274 -13324821.86249 -9868533.19947 22124857.2484 22124861.7644
+ -1209.1594 -942.2024
+ 20885633.7064 -23263751.70449 -18107106.82448 20885633.5114 20885638.1124
+ -1683.7114 -1311.9824
+ 05 1 20 9 47 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20323345.3864 -21535469.69149 -16753775.35248 20323345.0744 20323349.8024
+ 778.8574 606.9014
+ 22291846.4064 -12975536.67849 -10082132.15147 22291846.8024 22291848.0574
+ 2945.6634 2295.3264
+ 23915254.2234 -4277897.16849 -3039139.60646 23915254.1654 23915258.2824
+ -1013.9164 -790.0664
+ 24739359.6744 -717161.48849 -539552.70745 24739357.3804 24739362.2924
+ 3573.3904 2784.4654
+ 21409768.5724 -19183518.56149 -14933079.64948 21409768.5944 21409773.3524
+ -1247.6744 -972.2124
+ 24393725.0484 -2515182.84549 -1717340.74345 24393722.5024 24393725.3994
+ -3391.5994 -2642.7994
+ 22131810.9334 -13288280.02249 -9840059.06747 22131810.8634 22131814.6274
+ -1226.9744 -956.0864
+ 20895286.1684 -23213027.07449 -18067581.13948 20895285.7704 20895290.7654
+ -1697.9384 -1323.0684
+ 05 1 20 9 47 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20318948.9164 -21558576.52249 -16771780.67748 20318948.3744 20318952.2794
+ 761.6094 593.4614
+ 22275052.5104 -13063795.10949 -10150904.94447 22275051.8254 22275053.1854
+ 2938.2234 2289.5294
+ 23921084.9264 -4247235.07149 -3015247.06546 23921086.5874 23921093.1914
+ -1030.4924 -802.9764
+ 24718950.0514 -824401.61949 -623116.44445 24718950.5744 24718956.2464
+ 3575.9664 2786.4694
+ 21416907.4284 -19146006.03449 -14903849.09948 21416906.9144 21416911.5504
+ -1253.1374 -976.4744
+ 24413100.7914 -2413353.21849 -1637993.03945 24413100.7174 24413103.5374
+ -3396.8964 -2646.9324
+ 22138865.5014 -13251205.03149 -9811169.46747 22138865.4764 22138870.3334
+ -1244.6834 -969.8804
+ 20905019.6404 -23161875.25949 -18027722.58048 20905019.3814 20905024.5574
+ -1712.1824 -1334.1704
+ 05 1 20 9 48 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20314649.5614 -21581167.14749 -16789383.76548 20314649.3604 20314653.5464
+ 744.4224 580.0694
+ 22258300.0524 -13151829.18649 -10219502.93147 22258299.8434 22258301.1224
+ 2930.6924 2283.6574
+ 23927019.2294 -4216075.37549 -2990966.78846 23927017.2544 23927022.3024
+ -1047.0754 -815.8984
+ 24698526.1704 -931719.30949 -706740.61745 24698527.5944 24698533.7144
+ 3578.5124 2788.4474
+ 21424076.4744 -19108329.50649 -14874490.76248 21424075.9254 21424081.2174
+ -1258.6164 -980.7414
+ 24432508.3594 -2311363.91349 -1558520.87245 24432508.9554 24432511.7434
+ -3402.2694 -2651.1184
+ 22146022.1844 -13213598.69249 -9781865.83747 22146021.9544 22146027.0684
+ -1262.3654 -983.6454
+ 20914834.6904 -23110296.60849 -17987531.42648 20914834.7624 20914840.0014
+ -1726.3944 -1345.2454
+ 05 1 20 9 48 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20310449.0954 -21603241.67649 -16806584.69248 20310448.7614 20310453.0294
+ 727.2234 566.6694
+ 22241591.8134 -13239636.30849 -10287924.06947 22241590.8304 22241591.8454
+ 2923.1094 2277.7554
+ 23933040.6574 -4184418.72649 -2966299.25646 23933041.4654 23933046.7714
+ -1063.6524 -828.8134
+ 24678093.1644 -1039111.90549 -790423.11945 24678093.0294 24678099.7124
+ 3580.9234 2790.3324
+ 21431277.0874 -19070489.20749 -14845004.82348 21431277.3834 21431281.6894
+ -1264.0674 -984.9864
+ 24451946.8464 -2209216.44349 -1478925.45545 24451944.6574 24451951.6084
+ -3407.4834 -2655.1824
+ 22153279.3114 -13175462.69349 -9752149.48047 22153279.0464 22153283.9464
+ -1280.0014 -997.3964
+ 20924731.3624 -23058291.65249 -17947008.08548 20924730.8794 20924736.1384
+ -1740.6014 -1356.3094
+ 05 1 20 9 49 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20306346.5714 -21624800.18649 -16823383.53548 20306346.2804 20306350.6654
+ 709.9974 553.2474
+ 22224925.9544 -13327214.16349 -10356166.55247 22224924.9914 22224926.3094
+ 2915.4054 2271.7494
+ 23939161.8464 -4152265.96249 -2941245.16746 23939159.3074 23939164.4234
+ -1080.1344 -841.6634
+ 24657642.0244 -1146576.88849 -874162.08745 24657641.3574 24657647.7384
+ 3583.3094 2792.1864
+ 21438509.8234 -19032484.90849 -14815391.09448 21438509.4664 21438513.5224
+ -1269.5394 -989.2504
+ 24471414.4054 -2106912.01549 -1399207.74545 24471414.4984 24471420.0244
+ -3412.7414 -2659.2784
+ 22160637.9014 -13136799.19649 -9722022.08147 22160636.8704 22160640.6944
+ -1297.5504 -1011.0744
+ 20934707.9064 -23005860.70649 -17906152.80148 20934707.8014 20934713.5814
+ -1754.7984 -1367.3754
+ 05 1 20 9 49 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20302342.7244 -21645843.15549 -16839780.65148 20302342.0684 20302346.2764
+ 692.8434 539.8774
+ 22208304.5354 -13414560.37149 -10424228.54247 22208303.6534 22208304.9164
+ 2907.6764 2265.7254
+ 23945372.4974 -4119617.81949 -2915805.04546 23945373.3044 23945378.7694
+ -1096.7564 -854.6124
+ 24637178.9164 -1254111.68749 -957955.42745 24637179.6314 24637186.5294
+ 3585.6734 2794.0304
+ 21445771.6764 -18994316.81149 -14785649.72448 21445772.0594 21445776.9004
+ -1275.0054 -993.5114
+ 24490911.7044 -2004452.30449 -1319369.06345 24490911.9654 24490916.4284
+ -3417.9174 -2663.3114
+ 22168094.5294 -13097610.00249 -9691485.05547 22168094.1774 22168098.4104
+ -1315.0664 -1024.7224
+ 20944767.3304 -22953004.31149 -17864965.99348 20944766.3454 20944771.2544
+ -1768.9704 -1378.4234
+ 05 1 20 9 50 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20298436.0274 -21666370.55049 -16855776.02948 20298435.7884 20298440.0144
+ 675.6544 526.4794
+ 22191727.6514 -13501672.49149 -10492108.11347 22191726.6204 22191728.1784
+ 2899.8164 2259.5924
+ 23951679.0484 -4086475.06349 -2889979.49145 23951678.5834 23951684.0974
+ -1113.1194 -867.3684
+ 24616705.5034 -1361713.64149 -1041801.08645 24616704.8634 24616710.1094
+ 3587.8334 2795.7124
+ 21453066.9204 -18955984.98949 -14755780.77748 21453066.7954 21453071.5194
+ -1280.4514 -997.7554
+ 24510439.5954 -1901838.97949 -1239410.68545 24510440.9834 24510445.9724
+ -3422.9894 -2667.2644
+ 22175651.9464 -13057896.99749 -9660539.88447 22175651.3974 22175654.9924
+ -1332.4824 -1038.3024
+ 20954905.6134 -22899722.76449 -17823447.90848 20954905.7264 20954910.5004
+ -1783.1294 -1389.4554
+ 05 1 20 9 50 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20294627.9984 -21686382.49949 -16871369.74948 20294627.6674 20294631.7554
+ 658.4624 513.0894
+ 22175194.1534 -13588548.04649 -10559803.34547 22175193.7074 22175196.3004
+ 2891.8834 2253.4114
+ 23958079.1124 -4052838.34649 -2863769.10045 23958079.4254 23958085.0024
+ -1129.5584 -880.1744
+ 24596213.5764 -1469380.06349 -1125697.00545 24596214.6394 24596219.8874
+ 3589.9404 2797.3604
+ 21460392.8674 -18917489.08849 -14725783.97048 21460392.2484 21460397.1454
+ -1285.9344 -1002.0274
+ 24529992.9644 -1799073.43949 -1159333.65745 24529993.6144 24529999.4614
+ -3428.0454 -2671.2044
+ 22183309.2134 -13017662.24449 -9629188.14547 22183308.0904 22183312.0884
+ -1349.8234 -1051.8074
+ 20965126.5544 -22846016.60349 -17781598.94948 20965125.5654 20965130.6604
+ -1797.2864 -1400.4834
+ 05 1 20 9 51 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20290917.7364 -21705879.40049 -16886562.13548 20290917.3604 20290921.6464
+ 641.3254 499.7334
+ 22158707.1574 -13675184.62049 -10627312.36547 22158707.4844 22158709.7164
+ 2883.8574 2247.1584
+ 23964576.3764 -4018708.66649 -2837174.52546 23964575.5244 23964579.7304
+ -1145.9884 -892.9794
+ 24575714.3864 -1577108.71249 -1209641.39945 24575714.6034 24575718.8014
+ 3591.9214 2798.8974
+ 21467748.5634 -18878829.34049 -14695659.50148 21467748.7504 21467753.6344
+ -1291.3664 -1006.2664
+ 24549578.3884 -1696157.32249 -1079139.28745 24549577.8504 24549584.3794
+ -3433.0994 -2675.1454
+ 22191064.0444 -12976907.67249 -9597431.34047 22191063.3024 22191067.6094
+ -1367.1284 -1065.2954
+ 20975426.5994 -22791886.33249 -17739419.50948 20975426.0684 20975431.6124
+ -1811.3984 -1411.4794
+ 05 1 20 9 51 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20287305.8014 -21724861.36749 -16901353.27948 20287305.3054 20287309.5564
+ 624.1634 486.3614
+ 22142267.1234 -13761579.73549 -10694633.23147 22142266.8784 22142270.0274
+ 2875.8004 2240.8894
+ 23971163.5934 -3984086.81549 -2810196.45646 23971163.4924 23971168.2164
+ -1162.3494 -905.7304
+ 24555206.6094 -1684896.50449 -1293631.88245 24555203.5794 24555207.4534
+ 3593.9214 2800.4604
+ 21475137.0884 -18840005.92049 -14665407.49848 21475136.8854 21475141.6644
+ -1296.8244 -1010.5084
+ 24569189.8154 -1593092.10749 -998828.77545 24569191.1084 24569197.9294
+ -3437.9364 -2678.9124
+ 22198917.8974 -12935635.35349 -9565271.09847 22198916.5154 22198921.8814
+ -1384.3424 -1078.7054
+ 20985807.8114 -22737332.48649 -17696910.03148 20985807.4384 20985812.3944
+ -1825.5094 -1422.4754
+ 05 1 20 9 52 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20283791.3644 -21743328.67849 -16915743.39148 20283791.0764 20283795.3164
+ 606.9834 472.9724
+ 22125872.4674 -13847730.95749 -10761764.05947 22125873.0414 22125875.1404
+ 2867.6064 2234.4944
+ 23977845.6774 -3948973.62049 -2782835.51245 23977845.3824 23977850.1794
+ -1178.7444 -918.4974
+ 24534683.8364 -1792740.91949 -1377666.45445 24534682.6954 24534687.5244
+ 3595.7074 2801.8484
+ 21482556.2274 -18801018.81849 -14635027.95048 21482555.8594 21482560.4664
+ -1302.3044 -1014.7844
+ 24588831.5434 -1489879.21549 -918403.16245 24588831.7214 24588835.5034
+ -3442.9154 -2682.7904
+ 22206869.6084 -12893847.16749 -9532708.89447 22206868.9714 22206873.4734
+ -1401.5124 -1092.0974
+ 20996269.4574 -22682355.63149 -17654070.92248 20996268.8184 20996274.4744
+ -1839.6014 -1433.4554
+ 05 1 20 9 52 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20280374.9744 -21761281.75049 -16929732.79848 20280374.5034 20280379.1444
+ 589.8554 459.6284
+ 22109526.5994 -13933636.02749 -10828703.07447 22109526.0414 22109527.7964
+ 2859.3484 2228.0694
+ 23984620.3504 -3913369.77149 -2755092.30245 23984619.6704 23984624.4244
+ -1195.1374 -931.2744
+ 24514152.6134 -1900639.45649 -1461743.21445 24514150.1244 24514155.5874
+ 3597.4064 2803.1704
+ 21490005.4494 -18761868.02649 -14604520.84148 21490005.7934 21490010.4354
+ -1307.7574 -1019.0334
+ 24608501.7704 -1386520.35349 -837863.77845 24608501.4014 24608505.0064
+ -3447.7814 -2686.5844
+ 22214919.1184 -12851545.31949 -9499746.42247 22214918.3994 22214922.8754
+ -1418.5834 -1105.3904
+ 21006811.2394 -22626956.27949 -17610902.59648 21006811.1494 21006816.4704
+ -1853.7014 -1444.4424
+ 05 1 20 9 53 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20277056.3144 -21778720.78449 -16943321.66348 20277056.1044 20277060.7234
+ 572.7264 446.2794
+ 22093226.5854 -14019292.19549 -10895448.15547 22093226.4174 22093228.3464
+ 2851.0294 2221.5824
+ 23991490.3674 -3877276.46849 -2726967.66545 23991489.7784 23991491.7844
+ -1211.4274 -943.9744
+ 24493608.3274 -2008589.20549 -1545859.91945 24493606.3484 24493613.4654
+ 3599.0654 2804.4714
+ 21497487.7064 -18722553.62749 -14573886.25748 21497487.2514 21497492.2014
+ -1313.2184 -1023.2894
+ 24628198.0364 -1283016.83049 -757211.71345 24628196.9174 24628201.0784
+ -3452.5094 -2690.2604
+ 22223066.7864 -12808731.87749 -9466385.30647 22223065.9854 22223070.5194
+ -1435.6544 -1118.6964
+ 21017433.9224 -22571134.86949 -17567405.40448 21017433.5674 21017438.7074
+ -1867.7644 -1455.4024
+ 05 1 20 9 53 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20273835.8754 -21795646.22849 -16956510.32148 20273835.4484 20273839.7834
+ 555.6454 432.9684
+ 22076974.5914 -14104697.25449 -10961997.54647 22076974.3704 22076975.9654
+ 2842.6234 2215.0314
+ 23998449.2344 -3840694.41149 -2698462.11745 23998450.2684 23998454.8604
+ -1227.6534 -956.6144
+ 24473054.7934 -2116587.28449 -1630014.26745 24473054.6464 24473061.0634
+ 3600.7464 2805.7744
+ 21504998.7854 -18683075.48949 -14543124.07948 21504999.4114 21505004.1304
+ -1318.6744 -1027.5414
+ 24647919.8724 -1179370.44449 -676448.38045 24647920.7444 24647924.4094
+ -3457.2464 -2693.9554
+ 22231310.6734 -12765408.95449 -9432627.18947 22231309.9324 22231314.8384
+ -1452.6194 -1131.9084
+ 21028137.1994 -22514892.05749 -17523579.83748 21028136.7574 21028141.5874
+ -1881.7814 -1466.3204
+ 05 1 20 9 54 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20270712.4404 -21812058.38949 -16969299.01548 20270712.4894 20270716.5504
+ 538.5304 419.6344
+ 22060771.7054 -14189848.73249 -11028349.35047 22060771.0434 22060771.8214
+ 2834.1304 2208.4134
+ 24005505.7744 -3803624.57349 -2669576.53145 24005504.6354 24005507.9714
+ -1243.9114 -969.2704
+ 24452497.5594 -2224631.57649 -1714204.62745 24452496.3854 24452501.5454
+ 3602.2144 2806.9184
+ 21512543.7484 -18643433.51449 -14512234.24148 21512543.2954 21512547.5484
+ -1324.1254 -1031.7864
+ 24667672.0154 -1075582.84149 -595574.92145 24667671.7064 24667671.9354
+ -3462.0244 -2697.6884
+ 22239651.7774 -12721578.64449 -9398473.70347 22239651.0814 22239655.2894
+ -1469.4244 -1145.0094
+ 21038919.7954 -22458228.43349 -17479426.37348 21038919.0794 21038924.3014
+ -1895.7834 -1477.2344
+ 05 1 20 9 54 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20267687.7404 -21827957.49449 -16981687.93248 20267686.9774 20267690.9844
+ 521.4154 406.2974
+ 22044617.2134 -14274743.97949 -11094501.49647 22044616.2984 22044617.2304
+ 2825.5264 2201.7134
+ 24012650.4504 -3766067.69449 -2640311.41645 24012650.2054 24012656.4304
+ -1260.1444 -981.9284
+ 24431927.0084 -2332719.30249 -1798428.81645 24431926.7504 24431932.6724
+ 3603.5784 2807.9784
+ 21520117.9244 -18603627.94649 -14481216.93248 21520118.1294 21520122.7424
+ -1329.5894 -1036.0434
+ 24687449.3284 -971655.40049 -514592.51044 24687448.6514 24687450.5364
+ -3466.6674 -2701.2994
+ 22248087.7004 -12677242.96649 -9363926.44247 22248087.3284 22248091.7184
+ -1486.2434 -1158.1104
+ 21049781.7154 -22401144.51249 -17434945.39848 21049781.4474 21049786.8794
+ -1909.8134 -1488.1654
+ 05 1 20 9 55 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20264759.4064 -21843344.00349 -16993677.42048 20264759.1784 20264762.9794
+ 504.3544 393.0064
+ 22028511.2054 -14359380.64849 -11160452.13847 22028509.9964 22028510.9274
+ 2816.9004 2194.9884
+ 24019891.9554 -3728025.03649 -2610667.77945 24019890.8914 24019895.8554
+ -1276.2734 -994.4964
+ 24411348.7894 -2440847.53149 -1882684.56145 24411348.9544 24411356.0444
+ 3604.9254 2809.0314
+ 21527724.0564 -18563658.61849 -14450072.01648 21527724.1564 21527729.0194
+ -1335.0394 -1040.2894
+ 24707248.0534 -867589.64148 -433502.36844 24707248.2394 24707257.3414
+ -3471.2404 -2704.8594
+ 22256619.2634 -12632403.97449 -9328986.95747 22256618.8924 22256624.5804
+ -1502.9784 -1171.1524
+ 21060724.6834 -22343640.86049 -17390137.35348 21060724.3124 21060729.9294
+ -1923.7704 -1499.0404
+ 05 1 20 9 55 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20261929.0694 -21858218.33849 -17005267.80948 20261928.5444 20261932.5764
+ 487.2964 379.7134
+ 22012454.2024 -14443756.42849 -11226199.49647 22012454.3934 22012455.0234
+ 2808.1474 2188.1694
+ 24027221.9284 -3689497.48849 -2580646.33345 24027221.5134 24027225.4254
+ -1292.4884 -1007.1374
+ 24390766.6654 -2549013.69649 -1966969.90245 24390767.3854 24390774.4304
+ 3606.1754 2810.0064
+ 21535360.8674 -18523525.43549 -14418799.40848 21535361.1404 21535365.7494
+ -1340.5034 -1044.5464
+ 24727079.0764 -763387.26549 -352305.73844 24727076.4624 24727083.7824
+ -3475.7114 -2708.3364
+ 22265247.8874 -12587064.19149 -9293657.25247 22265247.1514 22265252.3074
+ -1519.6814 -1184.1634
+ 21071746.7504 -22285717.98949 -17345002.66048 21071746.8374 21071751.5584
+ -1937.7414 -1509.9284
+ 05 1 20 9 56 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20259195.2944 -21872580.99449 -17016459.48848 20259195.1344 20259199.3554
+ 470.2054 366.3944
+ 21996448.8724 -14527868.68349 -11291741.51147 21996447.6754 21996449.0374
+ 2799.3064 2181.2784
+ 24034644.0604 -3650486.02649 -2550247.82745 24034645.6664 24034648.5234
+ -1308.6354 -1019.7164
+ 24370176.6494 -2657214.86849 -2051282.46745 24370175.5504 24370184.1404
+ 3607.2544 2810.8474
+ 21543029.5614 -18483228.55249 -14387399.23148 21543029.6644 21543033.7844
+ -1345.9854 -1048.8174
+ 24746934.0844 -659049.74948 -271003.75444 24746931.9344 24746937.0724
+ -3480.1934 -2711.8344
+ 22273971.8644 -12541225.50849 -9257938.81247 22273970.9134 22273975.2244
+ -1536.2274 -1197.0564
+ 21082848.9804 -22227376.56649 -17299541.81348 21082848.6634 21082853.7924
+ -1951.6924 -1520.7954
+ 05 1 20 9 56 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20256559.4024 -21886432.29849 -17027252.71448 20256558.9474 20256563.3394
+ 453.2174 353.1524
+ 21980492.4934 -14611714.82349 -11357076.17947 21980492.4024 21980493.7754
+ 2790.4074 2174.3474
+ 24042162.6434 -3610991.61249 -2519472.92145 24042162.3614 24042163.7714
+ -1324.6714 -1032.2094
+ 24349579.0644 -2765448.40949 -2135620.27945 24349579.5704 24349586.9374
+ 3608.3054 2811.6674
+ 21550728.8124 -18442767.83749 -14355871.39648 21550728.8714 21550733.5414
+ -1351.4194 -1053.0574
+ 24766812.8164 -554578.73048 -189597.76344 24766811.8584 24766816.2734
+ -3484.6034 -2715.2634
+ 22282788.6234 -12494890.23849 -9221833.42847 22282788.3264 22282792.0384
+ -1552.7584 -1209.9464
+ 21094030.3684 -22168617.20949 -17253755.31048 21094030.4044 21094035.5034
+ -1965.6124 -1531.6494
+ 05 1 20 9 57 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20254020.8324 -21899772.73249 -17037647.86048 20254020.7094 20254024.8114
+ 436.1854 339.8864
+ 21964588.1964 -14695292.52449 -11422201.65947 21964587.7724 21964589.4974
+ 2781.4344 2167.3544
+ 24049767.6664 -3571015.37649 -2488322.58645 24049767.4454 24049774.6874
+ -1340.6864 -1044.6924
+ 24328982.5334 -2873711.59549 -2219981.23845 24328978.9924 24328984.6094
+ 3609.2164 2812.3804
+ 21558459.4714 -18402143.20849 -14324215.84548 21558459.3444 21558463.7784
+ -1356.8744 -1057.3014
+ 24786721.0994 -449975.82548 -108089.05044 24786721.8594 24786723.5294
+ -3488.8614 -2718.5984
+ 22291700.0324 -12448060.69649 -9185342.90147 22291699.4534 22291702.8774
+ -1569.2044 -1222.7644
+ 21105291.3124 -22109440.65049 -17207643.71248 21105290.8614 21105296.3984
+ -1979.4874 -1542.4514
+ 05 1 20 9 57 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20251579.8644 -21912602.70149 -17047645.23548 20251579.2684 20251583.5364
+ 419.1614 326.6204
+ 21948734.5194 -14778599.36649 -11487116.08247 21948734.5614 21948737.1434
+ 2772.3614 2160.2824
+ 24057466.7484 -3530558.37249 -2456797.64845 24057467.5134 24057472.5254
+ -1356.7184 -1057.1794
+ 24308373.7494 -2982001.92149 -2304363.25645 24308373.6304 24308378.6724
+ 3610.1274 2813.0854
+ 21566221.1634 -18361354.74049 -14292432.62848 21566221.2514 21566225.4004
+ -1362.3494 -1061.5704
+ 24806653.0064 -345242.57648 -26478.72744 24806650.8564 24806656.0814
+ -3493.2744 -2722.0304
+ 22300704.3584 -12400738.88949 -9148468.78047 22300704.0344 22300709.6274
+ -1585.5674 -1235.5054
+ 21116631.8674 -22049847.70649 -17161207.66048 21116631.2884 21116636.3744
+ -1993.3824 -1553.2874
+ 05 1 20 9 58 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20249234.9694 -21924922.80249 -17057245.30948 20249234.7224 20249239.1864
+ 402.1724 313.3794
+ 21932934.8924 -14861632.83549 -11551817.49347 21932934.0304 21932936.5934
+ 2763.2024 2153.1484
+ 24065257.7394 -3489621.66849 -2424898.91545 24065256.8064 24065260.6684
+ -1372.6874 -1069.6104
+ 24287760.4204 -3090316.56749 -2388764.24245 24287760.3664 24287769.3524
+ 3610.8884 2813.6784
+ 21574014.1354 -18320402.41249 -14260521.71448 21574013.8454 21574018.8284
+ -1367.8054 -1065.8234
+ 24826599.7464 -240380.42058 55231.97654 24826600.7894 24826608.7304
+ -3497.5624 -2725.3774
+ 22309802.3854 -12352927.17549 -9111212.89147 22309802.0764 22309807.7114
+ -1601.8774 -1248.2174
+ 21128051.0384 -21989839.01349 -17114447.63748 21128050.7354 21128055.8304
+ -2007.2164 -1564.0654
+ 05 1 20 9 58 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20246987.2684 -21936733.48349 -17066448.43248 20246987.1964 20246991.5964
+ 385.1904 300.1484
+ 21917185.8164 -14944390.51349 -11616303.99747 21917185.9054 21917188.0934
+ 2753.9574 2145.9454
+ 24073138.7774 -3448206.13649 -2392627.06645 24073138.7364 24073143.5794
+ -1388.6284 -1082.0564
+ 24267143.7154 -3198653.08349 -2473182.31645 24267143.1224 24267151.6104
+ 3611.5884 2814.2254
+ 21581838.3684 -18279286.27849 -14228483.17248 21581838.3214 21581843.2874
+ -1373.2804 -1070.0854
+ 24846584.3474 -135391.08648 137041.64944 24846582.4204 24846580.2224
+ -3501.8474 -2728.7104
+ 22318994.2914 -12304627.98849 -9073577.15047 22318993.8614 22318998.3354
+ -1618.0824 -1260.8394
+ 21139549.4874 -21929415.29749 -17067364.23148 21139549.2544 21139553.8814
+ -2021.0534 -1574.8474
+ 05 1 20 9 59 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20244836.7394 -21948035.26149 -17075255.01348 20244836.6844 20244840.9194
+ 368.2354 286.9314
+ 21901490.8094 -15026869.69649 -11680573.49347 21901490.7274 21901492.7294
+ 2744.6224 2138.6664
+ 24081109.4354 -3406313.26149 -2359983.22745 24081110.6564 24081113.3594
+ -1404.5084 -1094.4274
+ 24246525.2514 -3307008.47249 -2557615.07845 24246524.2184 24246533.1074
+ 3612.1014 2814.6274
+ 21589693.4224 -18238006.20749 -14196316.87848 21589693.3164 21589698.0534
+ -1378.7504 -1074.3494
+ 24866589.5654 -30276.25148 218949.29444 24866585.2244 24866588.8604
+ -3505.9564 -2731.9224
+ 22328277.4894 -12255843.44549 -9035563.22347 22328276.6544 22328281.1534
+ -1634.2504 -1273.4484
+ 21151126.5754 -21868577.17149 -17019957.90348 21151126.0864 21151131.5914
+ -2034.8504 -1585.5994
+ 05 1 20 9 59 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20242782.6444 -21958828.69949 -17083665.47848 20242782.6734 20242786.9994
+ 351.3304 273.7634
+ 21885849.2874 -15109067.93549 -11744624.07347 21885849.2224 21885850.9494
+ 2735.2394 2131.3564
+ 24089172.1854 -3363943.95949 -2326968.20945 24089172.4734 24089176.8914
+ -1420.3904 -1106.7914
+ 24225902.7394 -3415379.84649 -2642060.27245 24225903.6664 24225910.5354
+ 3612.6084 2815.0154
+ 21597580.1104 -18196561.95749 -14164022.62948 21597580.0464 21597584.7404
+ -1384.1784 -1078.5824
+ 24886613.1924 74962.45349 300953.53545 24886611.6194 24886616.4344
+ -3510.0394 -2735.0964
+ 22337651.7244 -12206575.86149 -8997172.91447 22337651.5714 22337656.8584
+ -1650.2864 -1285.9324
+ 21162781.9024 -21807325.43949 -16972229.28548 21162781.8104 21162786.9134
+ -2048.5984 -1596.3104
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 10 0 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20240826.0204 -21969114.39449 -17091680.30348 20240825.4644 20240829.7644
+ 334.3954 260.5664
+ 21870261.8374 -15190982.81149 -11808453.84947 21870261.5794 21870263.2454
+ 2725.7514 2123.9594
+ 24097325.9634 -3321099.22549 -2293582.69646 24097325.7374 24097330.5414
+ -1436.2194 -1119.1314
+ 24205278.5704 -3523764.50949 -2726515.83245 24205278.0594 24205282.8334
+ 3613.0114 2815.3314
+ 21605498.3534 -18154953.90449 -14131600.73348 21605497.7544 21605502.5194
+ -1389.6644 -1082.8574
+ 24906659.0284 180323.54648 383053.04845 24906662.8484 24906669.4314
+ -3513.8514 -2738.0674
+ 22347119.4124 -12156827.47649 -8958407.95747 22347119.2684 22347123.8204
+ -1666.2604 -1298.3844
+ 21174516.3794 -21745660.80349 -16924178.92448 21174516.1574 21174521.4914
+ -2062.3614 -1607.0364
+ 05 1 20 10 0 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20238964.9444 -21978892.90549 -17099299.91848 20238964.7324 20238969.1364
+ 317.5034 247.4064
+ 21854728.4964 -15272611.87249 -11872060.91047 21854727.9044 21854729.6604
+ 2716.1784 2116.4944
+ 24105569.4344 -3277780.49949 -2259827.81945 24105568.8814 24105574.2064
+ -1451.9814 -1131.4194
+ 24184651.2634 -3632159.64049 -2810979.59945 24184651.5844 24184656.4204
+ 3613.3554 2815.6034
+ 21613446.9044 -18113181.85349 -14099051.05148 21613446.7924 21613451.3204
+ -1395.1234 -1087.1074
+ 24926733.6184 285805.43848 465246.57944 24926735.0774 24926738.0354
+ -3518.1634 -2741.4274
+ 22356678.9604 -12106600.95149 -8919270.42347 22356677.2684 22356682.4584
+ -1682.1714 -1310.7824
+ 21186329.1534 -21683583.99949 -16875807.39648 21186328.8134 21186334.2394
+ -2076.0904 -1617.7314
+ 05 1 20 10 1 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20237200.9794 -21988164.82149 -17106524.78848 20237200.6314 20237204.7654
+ 300.6344 234.2604
+ 21839249.6384 -15353952.43549 -11935443.16247 21839249.6674 21839251.0574
+ 2706.5054 2108.9684
+ 24113902.5444 -3233988.91249 -2225704.50946 24113901.8574 24113907.4164
+ -1467.7244 -1143.6794
+ 24164021.8974 -3740562.68949 -2895449.50945 24164021.6154 24164028.1764
+ 3613.5824 2815.7844
+ 21621426.4064 -18071245.56849 -14066373.37347 21621426.2804 21621431.3204
+ -1400.6154 -1091.3914
+ 24946830.1224 391406.31248 547532.92844 24946828.5894 24946837.7764
+ -3522.0124 -2744.4204
+ 22366325.5164 -12055898.39949 -8879761.94847 22366324.8274 22366330.3474
+ -1698.0174 -1323.1264
+ 21198220.6764 -21621095.85849 -16827115.34148 21198220.1554 21198225.1854
+ -2089.7954 -1628.4104
+ 05 1 20 10 1 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20235532.9034 -21996930.66249 -17113355.30448 20235532.4614 20235536.6304
+ 283.7674 221.1174
+ 21823827.0834 -15435001.96649 -11998598.64847 21823826.2234 21823827.8664
+ 2696.7984 2101.4024
+ 24122325.9504 -3189725.48649 -2191213.53146 24122325.7594 24122330.6144
+ -1483.3834 -1155.8834
+ 24143392.2874 -3848970.67649 -2979923.25745 24143392.6954 24143398.8794
+ 3613.6034 2815.7974
+ 21629438.4124 -18029145.20749 -14033567.81847 21629438.1584 21629442.4024
+ -1406.0674 -1095.6464
+ 24966947.9604 497124.67448 629910.78444 24966947.0804 24966954.4984
+ -3525.8254 -2747.3894
+ 22376063.6804 -12004722.26449 -8839884.45447 22376063.2914 22376068.5204
+ -1713.6814 -1335.3414
+ 21210189.6594 -21558197.07549 -16778103.30948 21210189.4474 21210194.5514
+ -2103.4494 -1639.0514
+ 05 1 20 10 2 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20233960.7704 -22005191.32749 -17119792.18148 20233960.3724 20233964.6034
+ 266.9294 207.9934
+ 21808458.0134 -15515758.11349 -12061525.51947 21808458.8944 21808460.1054
+ 2686.9624 2093.7374
+ 24130836.5724 -3144991.49849 -2156355.86146 24130837.4534 24130843.1854
+ -1499.1124 -1168.1434
+ 24122763.6434 -3957381.20349 -3064398.98645 24122763.5244 24122768.7394
+ 3613.6934 2815.8634
+ 21637481.4864 -17986880.67849 -14000634.29547 21637480.9404 21637485.3124
+ -1411.5694 -1099.9304
+ 24987088.4864 602958.95848 712378.92044 24987090.4724
+ -3529.6704 -2750.4004
+ 22385892.4604 -11953074.79949 -8799639.69847 22385892.0864 22385895.4644
+ -1729.3844 -1347.5664
+ 21222237.0144 -21494888.53049 -16728771.97348 21222236.4484 21222242.0614
+ -2117.0974 -1649.6904
+ 05 1 20 10 2 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20232485.3494 -22012947.04349 -17125835.59548 20232484.7224 20232488.8184
+ 250.1204 194.8994
+ 21793148.0184 -15596218.40749 -12124221.85447 21793147.2624 21793149.2044
+ 2677.0534 2086.0174
+ 24139440.7124 -3099788.21949 -2121132.55246 24139439.6144 24139443.9124
+ -1514.7134 -1180.2934
+ 24102134.5914 -4065791.06449 -3148874.16645 24102133.8444 24102140.8404
+ 3613.5934 2815.7854
+ 21645554.7474 -17944451.85049 -13967572.74947 21645554.5154 21645559.5134
+ -1417.0134 -1104.1674
+ 25007251.7144 708907.36648 794936.08644
+ -3533.5114 -2753.4064
+ 22395810.3224 -11900958.58849 -8759029.69147 22395809.7244 22395814.1684
+ -1744.9904 -1359.7304
+ 21234361.9874 -21431170.93049 -16679121.90848 21234361.7624 21234367.0554
+ -2130.7234 -1660.3034
+ 05 1 20 10 3 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20231104.8184 -22020198.82349 -17131486.32248 20231104.5224 20231108.6994
+ 233.3484 181.8284
+ 21777893.1864 -15676380.34249 -12186685.69947 21777893.0894 21777894.6584
+ 2667.0654 2078.2304
+ 24148130.6964 -3054116.89049 -2085544.47546 24148130.7684 24148137.0984
+ -1530.3074 -1192.4424
+ 24081505.8954 -4174197.49049 -3233346.68645 24081505.2444 24081511.3524
+ 3613.4484 2815.6714
+ 21653659.5774 -17901859.00649 -13934383.44648 21653659.7514 21653664.6424
+ -1422.4924 -1108.4354
+ 25027428.5204 814968.26448 877580.87644
+ -3537.3064 -2756.3624
+ 22405817.1784 -11848376.16849 -8718056.37347 22405815.2184 22405820.7024
+ -1760.4774 -1371.7954
+ 21246564.4374 -21367045.18049 -16629153.79048 21246564.2344 21246569.3954
+ -2144.3194 -1670.9004
+ 05 1 20 10 3 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20229820.6724 -22026947.32749 -17136744.89948 20229820.4804 20229824.4044
+ 216.5724 168.7554
+ 21762696.1124 -15756241.26749 -12248914.98647 21762695.9924 21762697.8864
+ 2656.9854 2070.3734
+ 24156910.0184 -3007978.72349 -2049592.66246 24156910.5024 24156914.6424
+ -1545.8084 -1204.5274
+ 24060879.0714 -4282597.97549 -3317814.59246 24060878.2224 24060882.6244
+ 3613.2024 2815.4804
+ 21661797.3324 -17859101.99349 -13901066.26248 21661796.5064 21661800.7574
+ -1427.9744 -1112.7114
+ 25047631.6314 921140.13058 73796.95953
+ -3541.1244 -2761.0904
+ 22415909.1574 -11795329.84749 -8676721.57847 22415908.8934 22415914.6744
+ -1775.9054 -1383.8274
+ 21258844.9644 -21302512.17049 -16578868.33048 21258844.4764 21258849.9894
+ -2157.8904 -1681.4754
+ 05 1 20 10 4 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20228631.9584 -22033193.15549 -17141611.77348 20228631.6904 20228635.7514
+ 199.8214 155.7014
+ 21747558.0224 -15835798.80249 -12310907.87547 21747557.1834 21747558.5144
+ 2646.8264 2062.4604
+ 24165779.7954 -2961375.16349 -2013278.19246 24165780.1004 24165784.1744
+ -1561.3594 -1216.6554
+ 24040251.7744 -4390989.52349 -3402275.54246 24040251.5204 24040256.0194
+ 3612.8724 2815.2254
+ 21669964.1394 -17816180.33849 -13867620.80247 21669963.5984 21669968.2714
+ -1433.4724 -1116.9934
+ 25067859.1304 1027421.53058 156667.00254
+ -3544.5444 -2763.7554
+ 22426092.6144 -11741821.98449 -8635027.15947 22426091.8894 22426096.6094
+ -1791.2524 -1395.7764
+ 21271202.0874 -21237572.77149 -16528266.21348 21271201.9794 21271207.4594
+ -2171.4114 -1692.0124
+ 05 1 20 10 4 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20227538.9744 -22038936.97349 -17146087.47448 20227538.8014 20227542.6834
+ 183.0854 142.6614
+ 21732476.5524 -15915050.25849 -12372662.26847 21732475.8484 21732477.4314
+ 2636.5704 2054.4704
+ 24174736.3854 -2914307.36049 -1976601.95346 24174736.5144 24174741.4234
+ -1576.8414 -1228.7064
+ 24019626.4264 -4499369.38549 -3486727.35445 24019625.9154 24019632.8804
+ 3612.4114 2814.8604
+ 21678162.9754 -17773094.29349 -13834047.24647 21678162.8364 21678167.0644
+ -1438.9454 -1121.2614
+ 25088105.1894 1133810.25848 239620.64144
+ -3548.2394 -2766.6294
+ 22436363.8874 -11687855.05349 -8592975.02647 22436363.5934 22436365.5494
+ -1806.5174 -1407.6794
+ 21283636.7334 -21172227.78449 -16477348.03747 21283636.4694 21283642.6164
+ -2184.9334 -1702.5464
+ 05 1 20 10 5 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20226541.3884 -22044179.61149 -17150172.63848 20226541.1334 20226545.4014
+ 166.4084 129.6674
+ 21717453.8694 -15993993.54649 -12434176.51447 21717453.5264 21717455.0694
+ 2626.2704 2046.4494
+ 24183780.9694 -2866776.57049 -1939565.02646 24183781.2064 24183785.8144
+ -1592.1884 -1240.6634
+ 23999004.5154 -4607734.57249 -3571167.76845 23999005.2434 23999011.1194
+ 3611.8624 2814.4364
+ 21686393.4004 -17729843.82449 -13800345.58747 21686393.5284 21686397.4204
+ -1444.4114 -1125.5134
+ 25108371.7174 1240304.99358 67119.78653
+ -3551.4504 -2767.3644
+ 22446719.6904 -11633431.85449 -8550567.37147 22446719.0724 22446722.1014
+ -1821.6854 -1419.4934
+ 21296148.4314 -21106478.07249 -16426114.50347 21296148.2914 21296153.7964
+ -2198.3954 -1713.0324
+ 05 1 20 10 5 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20225639.5714 -22048921.72949 -17153867.79448 20225638.9654 20225643.0524
+ 149.7684 116.7054
+ 21702490.5654 -16072625.80449 -12495448.40747 21702490.2324 21702491.6834
+ 2615.8804 2038.3534
+ 24192912.7954 -2818784.33849 -1902168.43846 24192913.1864 24192917.2654
+ -1607.5604 -1252.6484
+ 23978386.7544 -4716082.45249 -3655594.65945 23978386.8084 23978392.7484
+ 3611.3264 2814.0114
+ 21694655.3184 -17686428.95549 -13766515.83147 21694654.7254 21694659.1184
+ -1449.8814 -1129.7744
+ 25128656.4324 1346904.14758 150154.88954
+ -3554.9814 -2769.1204
+ 22457160.5334 -11578554.66649 -8507805.94347 22457160.1134 22457166.0814
+ -1836.7794 -1431.2584
+ 21308737.8324 -21040324.56949 -16374566.32447 21308737.2754 21308742.6284
+ -2211.8264 -1723.5014
+ 05 1 20 10 6 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20224831.3854 -22053164.31449 -17157173.69748 20224831.2514 20224835.7624
+ 133.1034 103.7124
+ 21687586.8384 -16150944.57149 -12556476.02247 21687586.5324 21687588.1204
+ 2605.3894 2030.1694
+ 24202133.6684 -2770331.85349 -1864413.25746 24202133.6854 24202138.5354
+ -1622.8744 -1264.5714
+ 23957774.0034 -4824410.14649 -3740005.84645 23957772.5614 23957778.1274
+ 3610.4814 2813.3664
+ 21702947.9624 -17642849.39749 -13732557.74247 21702947.9134 21702952.0484
+ -1455.3954 -1134.0744
+ 25148955.9674 1453606.04458 233269.09254
+ -3558.5104 -2771.8574
+ 22467688.6874 -11523225.92949 -8464692.64847 22467688.9114 22467694.6864
+ -1851.7894 -1442.9514
+ 21321403.1214 -20973768.14649 -16322704.18347 21321402.5444 21321407.6574
+ -2225.2644 -1733.9744
+ 05 1 20 10 6 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20224119.4184 -22056907.88049 -17160090.76148 20224119.0214 20224123.1224
+ 116.4704 90.7574
+ 21672743.0914 -16228947.34249 -12617257.40747 21672743.5554 21672744.7284
+ 2594.8114 2021.9284
+ 24211439.7414 -2721420.50049 -1826300.50646 24211440.9214 24211445.5364
+ -1638.1254 -1276.4674
+ 23937163.3214 -4932714.87049 -3824399.12545 23937163.3464 23937169.3224
+ 3609.7104 2812.7534
+ 21711271.5404 -17599105.14149 -13698471.30847 21711271.7994 21711276.8184
+ -1460.8914 -1138.3554
+ 25169283.4814 1560408.80548 60379.82743
+ -3561.8154 -2775.4414
+ 22478305.1014 -11467448.33549 -8421229.59747 22478303.6424 22478307.6294
+ -1866.6964 -1454.5594
+ 21334144.0134 -20906809.78149 -16270528.84647 21334144.2254 21334149.5974
+ -2238.6264 -1744.3834
+ 05 1 20 10 7 0.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20223501.8734 -22060153.35649 -17162619.70148 20223501.5304 20223505.6724
+ 99.9084 77.8524
+ 21657962.0584 -16306631.48949 -12677790.51747 21657960.1884 21657962.3254
+ 2584.1424 2013.6184
+ 24220836.8814 -2672051.62749 -1787831.24246 24220835.3894 24220841.8404
+ -1653.3634 -1288.3224
+ 23916560.6314 -5040993.63249 -3908772.19145 23916559.5064 23916563.2384
+ 3608.8344 2812.0854
+ 21719627.3504 -17555196.10349 -13664256.46747 21719627.4014 21719632.4844
+ -1466.3864 -1142.6394
+ 25189629.3904 1667311.16948 143718.68144
+ -3565.1064 -2779.4594
+ 22489003.9604 -11411224.48949 -8377418.82647 22489003.3864 22489007.7874
+ -1881.4984 -1466.1034
+ 21346962.6994 -20839450.49149 -16218041.08547 21346962.2484 21346967.5604
+ -2251.9694 -1754.7794
+ 05 1 20 10 7 30.0000000 0 8G16G23G 6G 3G25G14G20G 1
+ 20222978.6724 -22062901.52449 -17164761.12248 20222978.4594 20222982.5924
+ 83.3464 64.9444
+ 21643238.2564 -16383994.41949 -12738073.32347 21643238.4584 21643240.6784
+ 2573.3784 2005.2304
+ 24230316.9464 -2622226.73149 -1749006.67446 24230317.3624 24230320.1304
+ -1668.5144 -1300.1344
+ 23895959.6454 -5149243.60649 -3993122.79145 23895959.9034 23895964.5824
+ 3607.8114 2811.2814
+ 21728014.4864 -17511122.11849 -13629913.09547 21728014.0844 21728019.0674
+ -1471.8934 -1146.9314
+ 25209983.0914 1774311.03458 227138.39954
+ -3568.3824 -2782.0014
+ 22499786.0264 -11354556.89949 -8333262.27947 22499786.3584 22499790.8094
+ -1896.2964 -1477.6374
+ 21359857.0324 -20771691.25149 -16165241.68247 21359856.6854 21359861.9764
+ -2265.2964 -1765.1694
+ 05 1 20 10 8 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20222550.6744 -22065153.23949 -17166515.70148 20222550.1584 20222554.0204
+ 66.7934 52.0494
+ 21628578.7464 -16461033.75749 -12798103.97147 21628578.3924 21628580.9274
+ 2562.5634 1996.8074
+ 24239884.8414 -2571947.22049 -1709827.81946 24239884.9884 24239890.0094
+ -1683.6664 -1311.9554
+ 23875366.1464 -5257462.06949 -4077448.83846 23875366.1944 23875372.2844
+ 3606.7924 2810.4824
+ 21736432.9684 -17466882.99549 -13595441.04847 21736433.0384 21736437.3174
+ -1477.3974 -1151.2144
+ 22510654.8474 -11297447.93749 -8288761.82247 22510654.1344 22510658.1584
+ -1910.9384 -1489.0354
+ 21372826.9154 -20703533.01949 -16112131.37847 21372826.7124 21372831.7914
+ -2278.5724 -1775.5124
+ 05 1 20 10 8 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20222216.4264 -22066909.26649 -17167884.03048 20222215.8424 20222219.9254
+ 50.2924 39.1924
+ 21613980.6384 -16537747.09849 -12857880.59947 21613980.1624 21613982.4564
+ 2551.6404 1988.2944
+ 24249540.7424 -2521214.52949 -1670295.83246 24249539.7584 24249543.2884
+ -1698.7864 -1323.7364
+ 23854781.4354 -5365646.12049 -4161748.06546 23854780.1634 23854784.7344
+ 3605.5554 2809.5244
+ 21744883.3464 -17422478.82249 -13560840.40047 21744882.7504 21744887.1434
+ -1482.8804 -1155.4924
+ 22521605.1764 -11239900.51949 -8243919.69147 22521605.3244 22521609.8574
+ -1925.5284 -1500.4134
+ 21385872.3554 -20634976.74749 -16058710.91447 21385871.8784 21385877.6964
+ -2291.8324 -1785.8374
+ 05 1 20 10 9 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20221976.4954 -22068170.72349 -17168866.97848 20221975.8164 20221979.5254
+ 33.8344 26.3604
+ 21599445.7714 -16614131.80249 -12917401.15247 21599445.3374 21599446.3694
+ 2540.6394 1979.7184
+ 24259278.6534 -2470029.94649 -1630411.73846 24259279.1624 24259284.9294
+ -1713.8234 -1335.4474
+ 23834200.4214 -5473793.01949 -4246018.37346 23834200.1754 23834205.2804
+ 3604.2324 2808.4904
+ 21753364.4704 -17377909.54349 -13526111.07847 21753364.2104 21753368.4914
+ -1488.4004 -1159.7944
+ 22532639.4404 -11181917.03249 -8198737.75147 22532638.3524 22532643.3764
+ -1940.0244 -1511.7084
+ 21398994.1084 -20566023.54249 -16004981.13847 21398993.7764 21398999.1414
+ -2305.0514 -1796.1414
+ 05 1 20 10 9 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20221829.9064 -22068938.22749 -17169465.02748 20221829.6164 20221833.7224
+ 17.3674 13.5344
+ 21584973.0934 -16690185.20949 -12976663.55347 21584972.5644 21584974.1184
+ 2529.5874 1971.1104
+ 24269103.6724 -2418395.06749 -1590176.78246 24269103.8904 24269109.6154
+ -1728.8284 -1347.1464
+ 23813627.6934 -5581899.74449 -4330257.35546 23813627.7224 23813632.2884
+ 3602.8584 2807.4204
+ 21761876.6954 -17333175.18649 -13491253.13547 21761876.4714 21761881.2994
+ -1493.8914 -1164.0724
+ 22543754.7264 -11123500.26549 -8153218.21547 22543754.2534 22543759.4384
+ -1954.3904 -1522.9014
+ 21412191.5394 -20496674.26349 -15950942.74647 21412190.2664 21412196.1104
+ -2318.2394 -1806.4204
+ 05 1 20 10 10 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20221777.6644 -22069212.67249 -17169678.87648 20221777.3894 20221781.6734
+ .9344 .7284
+ 21570563.1074 -16765905.13449 -13035666.09847 21570563.7424 21570565.4354
+ 2518.3954 1962.3874
+ 24279016.4274 -2366311.35449 -1549592.10546 24279016.2074 24279020.4674
+ -1743.7484 -1358.7704
+ 23793064.9764 -5689963.39149 -4414462.79646 23793065.1334 23793069.0484
+ 3601.3544 2806.2574
+ 21770420.1794 -17288275.59249 -13456266.43047 21770420.2314 21770425.4984
+ -1499.4074 -1168.3694
+ 22554953.9364 -11064652.68349 -8107362.97247 22554953.4614 22554957.5174
+ -1968.7484 -1534.0904
+ 21425462.5844 -20426929.87749 -15896596.48647 21425462.6774 21425467.8244
+ -2331.3994 -1816.6744
+ 05 1 20 10 10 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20221819.3274 -22068995.08249 -17169509.32248 20221818.9324 20221822.8004
+ -15.4324 -12.0234
+ 21556219.2974 -16841288.92549 -13094406.71147 21556218.2654 21556220.2304
+ 2507.1424 1953.6184
+ 24289011.8314 -2313780.26349 -1508658.76246 24289011.3504 24289016.6064
+ -1758.6364 -1370.3644
+ 23772509.4254 -5797981.17549 -4498632.47946 23772508.8194 23772514.9354
+ 3599.8164 2805.0544
+ 21778997.3574 -17243210.39349 -13421150.68347 21778996.8224 21779000.6024
+ -1504.8984 -1172.6484
+ 22566233.5064 -11005377.12549 -8061174.24047 22566232.8914 22566237.7884
+ -1982.9504 -1545.1554
+ 21438809.2304 -20356791.46449 -15841943.18347 21438809.0634 21438814.5804
+ -2344.5134 -1826.8934
+ 05 1 20 10 11 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20221954.0664 -22068286.36249 -17168957.07048 20221953.7484 20221957.7564
+ -31.8164 -24.7924
+ 21541938.4894 -16916333.99749 -13152883.39548 21541938.0114 21541939.6814
+ 2495.8394 1944.8054
+ 24299093.2024 -2260803.10049 -1467377.88846 24299092.6374 24299098.9784
+ -1773.4724 -1381.9214
+ 23751963.9304 -5905950.22149 -4582764.20546 23751963.4374 23751967.6714
+ 3598.1004 2803.7214
+ 21787603.4174 -17197979.64149 -13385905.93447 21787603.6494 21787607.7634
+ -1510.4714 -1176.9924
+ 22577595.2954 -10945676.06049 -8014653.94447 22577594.1584 22577598.5634
+ -1997.0834 -1556.1724
+ 21452231.0444 -20286260.19249 -15786983.75547 21452230.6234 21452236.4664
+ -2357.5694 -1837.0664
+ 05 1 20 10 11 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20222181.9244 -22067087.46249 -17168022.86448 20222181.7474 20222185.8024
+ -48.1244 -37.4984
+ 21527722.6154 -16991037.84249 -13211094.18848 21527722.6104 21527724.2434
+ 2484.4044 1935.8994
+ 24309260.2484 -2207381.73649 -1425750.82246 24309259.2224 24309264.9634
+ -1788.2664 -1393.4594
+ 23731429.0344 -6013867.58549 -4666855.64646 23731427.8304 23731432.0784
+ 3596.3344 2802.3364
+ 21796242.8774 -17152583.29149 -13350532.15347 21796242.5704 21796246.8284
+ -1515.9664 -1181.2714
+ 22589036.0664 -10885552.41849 -7967804.37647 22589035.1094 22589040.8734
+ -2011.1454 -1567.1184
+ 21465727.7234 -20215337.25549 -15731719.13847 21465727.1364 21465732.3584
+ -2370.6114 -1847.2284
+ 05 1 20 10 12 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20222503.5354 -22065399.22749 -17166707.34648 20222503.2284 20222507.1694
+ -64.4284 -50.1994
+ 21513572.5094 -17065397.83249 -13269037.03648 21513571.8464 21513573.9254
+ 2472.9524 1926.9754
+ 24319508.9844 -2153517.62349 -1383778.81846 24319509.8064 24319513.8554
+ -1802.9924 -1404.9334
+ 23710903.9054 -6121730.29149 -4750904.48146 23710902.4414 23710906.1144
+ 3594.4814 2800.8964
+ 21804912.5634 -17107021.21649 -13315029.23147 21804912.1274 21804916.7174
+ -1521.5354 -1185.6144
+ 22600557.8864 -10825008.82449 -7920627.56747 22600556.2504 22600561.2644
+ -2025.0684 -1577.9704
+ 21479298.3034 -20144023.60249 -15676150.06647 21479297.9434 21479303.2234
+ -2383.6244 -1857.3664
+ 05 1 20 10 12 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20222917.8154 -22063222.68549 -17165011.32748 20222917.3254 20222921.4044
+ -80.6844 -62.8684
+ 21499487.9464 -17139411.58549 -13326710.09148 21499487.8184 21499489.4874
+ 2461.3194 1917.9104
+ 24329844.4264 -2099212.21049 -1341462.88246 24329841.9534 24329847.9494
+ -1817.6824 -1416.3684
+ 23690387.8324 -6229535.58449 -4834908.59246 23690387.5764 23690391.5004
+ 3592.4914 2799.3454
+ 21813614.1944 -17061293.30749 -13279397.09547 21813614.4854 21813618.7604
+ -1527.0654 -1189.9164
+ 22612156.3054 -10764047.76749 -7873125.44847 22612156.0954 22612161.1984
+ -2038.9594 -1588.7924
+ 21492943.1674 -20072320.28949 -15620277.36647 21492942.4564 21492947.5734
+ -2396.6094 -1867.4904
+ 05 1 20 10 13 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20223425.0034 -22060559.06049 -17162935.76848 20223424.3504 20223428.2624
+ -96.9184 -75.5194
+ 21485469.6094 -17213076.65849 -13384111.45048 21485469.4214 21485471.5184
+ 2449.6754 1908.8424
+ 24340260.7204 -2044467.14649 -1298804.39846 24340260.7634 24340265.3244
+ -1832.3004 -1427.7704
+ 23669885.4744 -6337280.69649 -4918865.81246 23669883.6684 23669888.2144
+ 3590.4324 2797.7324
+ 21822347.7304 -17015399.60049 -13243635.76347 21822347.2614 21822352.0004
+ -1532.5844 -1194.2204
+ 22623836.4164 -10702672.13349 -7825300.31146 22623835.9944 22623840.2654
+ -2052.7714 -1599.5614
+ 21506660.8624 -20000228.38849 -15564101.86447 21506661.0804 21506666.2534
+ -2409.5394 -1877.5594
+ 05 1 20 10 13 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20224023.8564 -22057409.22249 -17160481.34348 20224023.5224 20224027.6044
+ -113.0724 -88.1094
+ 21471519.0224 -17286390.32349 -13441238.98147 21471518.1914 21471520.3034
+ 2437.9194 1899.6774
+ 24350761.8584 -1989283.89349 -1255804.46346 24350762.4064 24350767.0944
+ -1846.8584 -1439.1134
+ 23649393.1754 -6444962.42149 -5002773.63946 23649392.6214 23649397.5914
+ 3588.3194 2796.1034
+ 21831112.3904 -16969339.79149 -13207745.00847 21831112.5274 21831117.1464
+ -1538.1024 -1198.5204
+ 22635595.5374 -10640884.67049 -7777154.26147 22635593.8344 22635598.5674
+ -2066.4144 -1610.1934
+ 21520454.5584 -19927749.15749 -15507624.55347 21520453.6384 21520458.4984
+ -2422.4084 -1887.5874
+ 05 1 20 10 14 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20224715.7514 -22053774.04849 -17157648.73948 20224715.3164 20224719.4364
+ -129.2394 -100.7034
+ 21457634.8224 -17359350.26349 -13498090.88748 21457635.0654 21457636.4354
+ 2426.0894 1890.4634
+ 24361346.0934 -1933664.22849 -1212464.42346 24361345.5164 24361350.9584
+ -1861.4074 -1450.4464
+ 23628915.3894 -6552578.03649 -5086629.95646 23628914.8844 23628919.6854
+ 3586.0484 2794.3184
+ 21839908.9404 -16923113.70749 -13171724.67447 21839908.4574 21839913.6544
+ -1543.6344 -1202.8284
+ 22647428.5634 -10578688.07049 -7728689.38447 22647428.7994 22647434.9144
+ -2079.9974 -1620.7814
+ 21534319.2964 -19854883.71649 -15450846.28447 21534319.2894 21534325.1894
+ -2435.2754 -1897.6124
+ 05 1 20 10 14 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20225499.8904 -22049654.72349 -17154438.86948 20225499.3444 20225503.1584
+ -145.3684 -113.2744
+ 21443820.0164 -17431953.98549 -13554665.22648 21443818.9024 21443820.2794
+ 2414.1554 1881.1604
+ 24372011.3884 -1877609.67649 -1168785.54946 24372011.3904 24372018.1684
+ -1875.8494 -1461.6994
+ 23608450.0784 -6660124.68949 -5170432.51246 23608448.6784 23608455.7214
+ 3583.6924 2792.4784
+ 21848737.0164 -16876721.32049 -13135574.77147 21848736.5674 21848741.4924
+ -1549.1754 -1207.1454
+ 22659342.7104 -10516085.08049 -7679907.84047 22659342.1344 22659346.8314
+ -2093.4884 -1631.2934
+ 21548259.0894 -19781633.33649 -15393768.07547 21548258.4684 21548263.8134
+ -2448.0724 -1907.5914
+ 05 1 20 10 15 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20226375.0704 -22045052.08549 -17150852.38748 20226375.1024 20226379.1584
+ -161.4704 -125.8214
+ 21430071.1264 -17504198.72749 -13610959.83748 21430071.2634 21430072.3424
+ 2402.1424 1871.7994
+ 24382762.4884 -1821121.83549 -1124769.06446 24382763.0404 24382767.7814
+ -1890.2494 -1472.9204
+ 23587995.5424 -6767599.29149 -5254178.93846 23587996.3794 23588002.5484
+ 3581.2724 2790.6064
+ 21857596.5564 -16830162.60149 -13099295.24847 21857596.5714 21857601.5674
+ -1554.7284 -1211.4754
+ 22671332.3864 -10453078.40249 -7630811.75846 22671331.7444 22671336.4124
+ -2106.9454 -1641.7754
+ 21562270.8584 -19707999.10749 -15336390.75947 21562270.5424 21562275.6444
+ -2460.8634 -1917.5574
+ 05 1 20 10 15 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20227342.8614 -22039967.35349 -17146890.25448 20227342.4304 20227346.8954
+ -177.5244 -138.3344
+ 21416393.2674 -17576082.13049 -13666972.87348 21416392.0384 21416393.5014
+ 2390.0714 1862.3924
+ 24393594.0334 -1764202.07149 -1080416.02446 24393593.7014 24393598.1994
+ -1904.6394 -1484.1384
+ 23567559.5724 -6874998.88949 -5337866.93846 23567559.3304 23567565.5554
+ 3578.6984 2788.5874
+ 21866489.0864 -16783437.32049 -13062885.94247 21866488.5014 21866492.6674
+ -1560.3044 -1215.8274
+ 22683399.4304 -10389670.89649 -7581403.34146 22683398.6554 22683402.6304
+ -2120.2284 -1652.1234
+ 21576355.2224 -19633982.16049 -15278715.23047 21576355.4184 21576360.5204
+ -2473.5844 -1927.4674
+ 05 1 20 10 16 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20228401.7714 -22034401.66949 -17142553.35248 20228401.6434 20228405.9634
+ -193.5414 -150.8134
+ 21402782.7454 -17647601.68949 -13722702.40948 21402782.4134 21402783.8364
+ 2377.8814 1852.8904
+ 24404507.8734 -1706852.50749 -1035728.00846 24404508.1074 24404512.1124
+ -1918.9614 -1495.2914
+ 23547136.9094 -6982320.47649 -5421494.15046 23547136.4464 23547142.5184
+ 3576.0264 2786.5204
+ 21875411.5084 -16736545.46049 -13026346.83247 21875411.6294 21875416.1334
+ -1565.8524 -1220.1464
+ 22695540.9114 -10325865.48549 -7531684.89346 22695539.8914 22695544.6184
+ -2133.4514 -1662.4264
+ 21590513.6374 -19559583.56649 -15220742.30847 21590513.0654 21590517.4634
+ -2486.2924 -1937.3724
+ 05 1 20 10 16 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20229552.5094 -22028356.13549 -17137842.54248 20229552.0834 20229556.2974
+ -209.4954 -163.2464
+ 21389242.4204 -17718754.85049 -13778146.43448 21389242.5164 21389243.9944
+ 2365.6494 1843.3594
+ 24415500.4754 -1649074.52449 -990706.21345 24415501.4274 24415507.6834
+ -1933.2044 -1506.3894
+ 23526729.1114 -7089561.22949 -5505058.36046 23526728.6244 23526734.8854
+ 3573.3184 2784.4044
+ 21884366.5574 -16689487.05449 -12989677.94247 21884366.5794 21884371.3304
+ -1571.3744 -1224.4534
+ 22707757.1424 -10261664.96549 -7481658.53847 22707756.2674 22707762.4644
+ -2146.5564 -1672.6404
+ 21604743.0504 -19484804.66749 -15162473.03847 21604742.6624 21604748.0494
+ -2498.9534 -1947.2354
+ 05 1 20 10 17 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20230793.9284 -22021831.53149 -17132758.42648 20230793.6684 20230797.8164
+ -225.4714 -175.6914
+ 21375773.2374 -17789539.07749 -13833302.97748 21375772.6554 21375774.3334
+ 2353.2894 1833.7314
+ 24426575.9544 -1590869.92449 -945352.05245 24426577.0494 24426581.7134
+ -1947.4224 -1517.4764
+ 23506337.0524 -7196718.34249 -5588557.38546 23506337.3284 23506343.8364
+ 3570.4394 2782.1584
+ 21893354.3454 -16642261.55949 -12952878.86047 21893353.3854 21893357.6934
+ -1576.9794 -1228.8184
+ 22720049.6584 -10197071.85849 -7431326.28346 22720049.1784 22720053.3344
+ -2159.6284 -1682.8294
+ 21619045.4234 -19409646.62449 -15103908.34647 21619045.0034 21619050.5644
+ -2511.5854 -1957.0824
+ 05 1 20 10 17 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20232126.4844 -22014829.25149 -17127302.10048 20232126.2824 20232130.1724
+ -241.3504 -188.0684
+ 21362373.9684 -17859952.11649 -13888170.28548 21362373.3804 21362375.4714
+ 2340.8904 1824.0684
+ 24437731.9064 -1532240.27849 -899666.65245 24437733.3474 24437739.8464
+ -1961.5124 -1528.4474
+ 23485964.0334 -7303788.96849 -5671989.03546 23485962.9104 23485969.7124
+ 3567.5554 2779.9144
+ 21902371.9414 -16594868.95949 -12915949.56547 21902372.2164 21902376.1724
+ -1582.5274 -1233.1374
+ 22732416.8064 -10132089.29849 -7380690.54546 22732415.0444 22732418.7374
+ -2172.5474 -1692.8984
+ 21633420.2064 -19334110.76449 -15045049.23847 21633419.1424 21633423.9704
+ -2524.1464 -1966.8684
+ 05 1 20 10 18 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20233549.8914 -22007350.48449 -17121474.48348 20233549.4904 20233553.3604
+ -257.2134 -200.4264
+ 21349044.9954 -17929991.16249 -13942746.17048 21349045.3504 21349047.1904
+ 2328.3704 1814.3134
+ 24448972.8154 -1473187.51049 -853651.51245 24448971.4714 24448975.2924
+ -1975.5994 -1539.4324
+ 23465606.1574 -7410769.95649 -5755350.82746 23465605.5704 23465612.1694
+ 3564.4914 2777.5244
+ 21911422.3924 -16547309.82949 -12878890.50947 21911422.0544 21911426.7304
+ -1588.0844 -1237.4664
+ 22744855.1194 -10066719.95949 -7329753.43646 22744854.0314 22744857.7804
+ -2185.3814 -1702.8904
+ 21647864.2404 -19258198.18149 -14985896.58247 21647864.4884 21647870.8184
+ -2536.6944 -1976.6454
+ 05 1 20 10 18 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20235063.3664 -21999396.30649 -17115276.41948 20235063.0404 20235067.0884
+ -273.0564 -212.7734
+ 21335789.2494 -17999653.95049 -13997028.87048 21335788.6904 21335790.7794
+ 2315.7914 1804.5114
+ 24460287.5534 -1413713.03049 -807307.73145 24460287.9044 24460295.1774
+ -1989.6214 -1550.3584
+ 23445264.8274 -7517658.35149 -5838640.46446 23445264.5074 23445271.0124
+ 3561.3454 2775.0724
+ 21920504.3954 -16499583.46749 -12841701.14647 21920503.9164 21920508.1364
+ -1593.6774 -1241.8274
+ 22757365.9014 -10000966.70949 -7278517.15746 22757365.6174 22757370.9184
+ -2198.1394 -1712.8354
+ 21662381.8214 -19181910.18749 -14926451.40147 21662381.7534 21662386.8924
+ -2549.1914 -1986.3834
+ 05 1 20 10 19 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20236667.2634 -21990967.80349 -17108708.74748 20236666.7854 20236670.9164
+ -288.8404 -225.0704
+ 21322605.9954 -18068937.88349 -14051016.35348 21322604.8864 21322606.3534
+ 2303.1184 1794.6414
+ 24471687.1804 -1353818.79849 -760636.89745 24471687.5694 24471691.4834
+ -2003.5774 -1561.2304
+ 23424943.5824 -7624450.87449 -5921855.40646 23424943.6064 23424948.6274
+ 3558.1194 2772.5544
+ 21929617.2664 -16451689.65649 -12804381.28547 21929617.6754 21929622.5264
+ -1599.2464 -1246.1614
+ 22769950.9834 -9934832.46349 -7226983.97846 22769950.7864 22769956.0874
+ -2210.8014 -1722.7014
+ 21676970.2884 -19105248.10449 -14866714.72347 21676970.1604 21676975.3074
+ -2561.6364 -1996.0814
+ 05 1 20 10 19 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20238361.3194 -21982066.19449 -17101772.42648 20238360.8504 20238364.7634
+ -304.6014 -237.3494
+ 21309493.5494 -18137840.56549 -14104706.75048 21309492.5994 21309494.5604
+ 2290.3614 1784.6974
+ 24483163.0934 -1293506.54349 -713640.33645 24483162.7644 24483169.2644
+ -2017.4294 -1572.0184
+ 23404641.0844 -7731144.92649 -6004993.63046 23404639.8204 23404646.1354
+ 3554.7924 2769.9704
+ 21938764.1724 -16403628.32349 -12766930.89947 21938764.1354 21938768.2564
+ -1604.8564 -1250.5404
+ 22782610.4934 -9868320.01949 -7175156.11547 22782608.9734 22782613.1714
+ -2223.3564 -1732.4864
+ 21691629.8834 -19028213.19249 -14806687.53347 21691629.6874 21691635.2134
+ -2574.0264 -2005.7344
+ 05 1 20 10 20 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20240144.9734 -21972692.82549 -17094468.49948 20240144.6524 20240148.7474
+ -320.2894 -249.5764
+ 21296453.6484 -18206359.33349 -14158098.00448 21296454.1404 21296455.6694
+ 2277.5454 1774.7114
+ 24494719.8494 -1232777.95549 -666319.38445 24494719.6744 24494723.9014
+ -2031.3584 -1582.8794
+ 23384354.8474 -7837737.82949 -6088053.01046 23384355.3314 23384361.7224
+ 3551.3734 2767.2964
+ 21947941.4084 -16355399.27549 -12729349.82347 21947941.3194 21947945.9534
+ -1610.4164 -1254.8734
+ 22795336.4184 -9801432.24349 -7123035.79946 22795336.1914 22795340.5594
+ -2235.8004 -1742.1794
+ 21706359.4034 -18950806.85849 -14746370.91147 21706359.5774 21706364.6794
+ -2586.4034 -2015.3794
+ 05 1 20 10 20 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20242018.6534 -21962848.71049 -17086797.76148 20242018.0954 20242021.7204
+ -335.9654 -261.7924
+ 21283489.1214 -18274491.77849 -14211188.21748 21283489.1094 21283490.4804
+ 2264.6084 1764.6334
+ 24506354.2244 -1171634.79149 -618675.32045 24506354.8844 24506359.9294
+ -2045.1164 -1593.5964
+ 23364091.7714 -7944226.41149 -6171031.12346 23364091.4454 23364097.2624
+ 3547.8524 2764.5644
+ 21957150.9354 -16307002.53549 -12691638.07947 21957150.8804 21957154.8394
+ -1616.0164 -1259.2304
+ 22808135.2364 -9734172.04649 -7070625.27946 22808135.3184 22808141.0194
+ -2248.1854 -1751.8334
+ 21721160.3504 -18873030.27449 -14685765.78047 21721159.8624 21721164.9934
+ -2598.6894 -2024.9524
+ 05 1 20 10 21 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20243980.7044 -21952534.95849 -17078761.06448 20243980.3414 20243984.3634
+ -351.6044 -273.9794
+ 21270598.1834 -18342235.47149 -14263975.52348 21270597.8714 21270599.3394
+ 2251.6234 1754.5094
+ 24518068.8274 -1110078.82249 -570709.64745 24518068.7044 24518074.2784
+ -2058.8684 -1604.3144
+ 23343848.8154 -8050607.50949 -6253925.47246 23343847.8534 23343853.6704
+ 3544.2084 2761.7124
+ 21966392.3754 -16258437.97749 -12653795.56947 21966392.5054 21966396.7254
+ -1621.6174 -1263.5974
+ 22821006.9224 -9666542.19749 -7017926.70646 22821005.6754 22821009.6554
+ -2260.4524 -1761.4004
+ 21736031.3494 -18794884.60949 -14624873.07547 21736030.8664 21736035.9224
+ -2610.9864 -2034.5334
+ 05 1 20 10 21 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20246032.6194 -21941752.93849 -17070359.49048 20246031.9164 20246036.3544
+ -367.1974 -286.1264
+ 21257781.5434 -18409588.09049 -14316458.08848 21257781.0164 21257782.5664
+ 2238.5284 1744.3114
+ 24529861.3464 -1048111.91249 -522423.74345 24529861.1334 24529865.7984
+ -2072.5674 -1614.9874
+ 23323624.8394 -8156878.11149 -6336733.70846 23323624.5744 23323630.1304
+ 3540.4684 2758.8014
+ 21975665.9264 -16209705.46949 -12615822.19147 21975665.5144 21975670.4884
+ -1627.2394 -1267.9854
+ 22833944.5974 -9598545.63249 -6964942.37446 22833944.5524 22833950.2374
+ -2272.6404 -1770.8924
+ 21750971.4844 -18716371.26249 -14563693.85847 21750971.2054 21750976.7684
+ -2623.2204 -2044.0654
+ 05 1 20 10 22 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20248173.0184 -21930503.86949 -17061593.97848 20248172.6934 20248176.8274
+ -382.7554 -298.2524
+ 21245039.6244 -18476546.88949 -14368633.77348 21245039.3184 21245041.1444
+ 2225.3664 1734.0504
+ 24541731.4554 -985735.74049 -473818.98145 24541731.6364 24541736.2644
+ -2086.1794 -1625.5944
+ 23303425.2444 -8263035.21849 -6419453.50846 23303424.2974 23303430.2104
+ 3536.6374 2755.8214
+ 21984970.9664 -16160805.12849 -12577718.02347 21984971.1634 21984976.1124
+ -1632.8414 -1272.3514
+ 22846953.5714 -9530185.55649 -6911674.80146 22846952.6824 22846957.5174
+ -2284.7074 -1780.3014
+ 21765980.7394 -18637491.77849 -14502229.32347 21765980.9374 21765986.3274
+ -2635.3964 -2053.5594
+ 05 1 20 10 22 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20250402.1404 -21918789.11249 -17052465.59748 20250402.0104 20250406.1354
+ -398.2554 -310.3304
+ 21232373.3214 -18543109.60649 -14420500.82548 21232372.6274 21232374.5304
+ 2212.1304 1723.7384
+ 24553676.7564 -922952.24349 -424896.81045 24553677.3594 24553681.8764
+ -2099.6634 -1636.1034
+ 23283246.1644 -8369076.06149 -6502082.74146 23283245.7644 23283251.1104
+ 3532.7264 2752.7804
+ 21994308.7694 -16111736.21749 -12539482.52947 21994309.0374 21994313.1504
+ -1638.4404 -1276.7024
+ 22860031.1344 -9461464.72049 -6858126.12146 22860030.1334 22860034.2424
+ -2296.6904 -1789.6324
+ 21781061.3164 -18558247.34949 -14440480.41847 21781060.9324 21781067.1524
+ -2647.5614 -2063.0304
+ 05 1 20 10 23 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20252720.1944 -21906609.88249 -17042975.28648 20252719.8094 20252723.7834
+ -413.7084 -322.3714
+ 21219783.0184 -18609273.73049 -14472057.28448 21219782.3934 21219783.9724
+ 2198.7914 1713.3454
+ 24565702.1014 -859763.25249 -375658.56945 24565701.4424 24565708.4254
+ -2113.2194 -1646.6634
+ 23263088.6264 -8474997.87849 -6584619.21146 23263088.6554 23263093.6064
+ 3528.6894 2749.6274
+ 22003679.2134 -16062499.11349 -12501115.96047 22003678.3304 22003683.0014
+ -1644.0484 -1281.0774
+ 22873175.5734 -9392386.08849 -6804298.62146 22873174.8224 22873180.1804
+ -2308.5634 -1798.8724
+ 21796210.2584 -18478639.42549 -14378448.29047 21796209.7814 21796215.0764
+ -2659.6454 -2072.4544
+ 05 1 20 10 23 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20255125.8564 -21893967.42149 -17033124.01148 20255125.4174 20255129.5914
+ -429.1234 -334.3814
+ 21207268.4884 -18675036.64349 -14523301.12948 21207268.0414 21207269.4834
+ 2185.3964 1702.9054
+ 24577803.8104 -796170.66449 -326105.91145 24577804.3584 24577808.8724
+ -2126.5874 -1657.0804
+ 23242956.3744 -8580797.17949 -6667060.21146 23242956.4974 23242962.3014
+ 3524.6074 2746.4464
+ 22013080.5064 -16013093.49349 -12462618.07147 22013080.0074 22013084.3564
+ -1649.6674 -1285.4564
+ 22886389.0834 -9322952.33549 -6750194.43846 22886388.5574 22886392.8884
+ -2320.3594 -1808.0824
+ 21811428.4564 -18398669.51949 -14316134.08947 21811428.1154 21811433.1744
+ -2671.6744 -2081.8284
+ 05 1 20 10 24 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20257619.9834 -21880862.97049 -17022912.74148 20257619.2714 20257623.0494
+ -444.4994 -346.3634
+ 21194831.2894 -18740395.98749 -14574230.49248 21194830.6884 21194832.2994
+ 2171.9044 1692.3934
+ 24589981.4504 -732176.17249 -276239.97545 24589981.4054 24589986.4974
+ -2139.9914 -1667.5294
+ 23222847.3314 -8686471.30049 -6749403.65946 23222847.2284 23222851.0714
+ 3520.3224 2743.1164
+ 22022514.0304 -15963519.23249 -12423988.78747 22022513.7534 22022518.5204
+ -1655.2984 -1289.8414
+ 22899670.1454 -9253166.73149 -6695816.07246 22899668.2734 22899673.3294
+ -2332.0274 -1817.1494
+ 21826713.7244 -18318338.91549 -14253538.81947 21826713.6964 21826719.2364
+ -2683.7004 -2091.1884
+ 05 1 20 10 24 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20260200.7804 -21867297.84449 -17012342.50248 20260200.3314 20260204.5724
+ -459.8374 -358.3164
+ 21182470.6554 -18805349.41549 -14624843.55248 21182470.3444 21182471.7094
+ 2158.3084 1681.7984
+ 24602232.8584 -667781.68249 -226062.53145 24602234.0234 24602239.9624
+ -2153.2814 -1677.8774
+ 23202762.5654 -8792017.20049 -6831647.21546 23202762.3494 23202767.9294
+ 3516.0144 2739.7464
+ 22031979.4474 -15913776.29149 -12385228.05347 22031979.2154 22031983.8034
+ -1660.9364 -1294.2374
+ 22913015.1574 -9183032.19249 -6641165.78046 22913014.6294 22913019.3544
+ -2343.6154 -1826.1974
+ 21842069.5384 -18237648.88449 -14190663.48647 21842069.0524 21842074.0344
+ -2695.6394 -2100.5044
+ 05 1 20 10 25 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20262869.3484 -21853273.52649 -17001414.45448 20262869.0554 20262873.1694
+ -475.1224 -370.2244
+ 21170188.5314 -18869894.37949 -14675138.34348 21170187.9274 21170189.4774
+ 2144.6564 1671.1614
+ 24614564.6814 -602989.22249 -175574.88545 24614564.5634 24614568.7374
+ -2166.4834 -1688.1644
+ 23182702.5414 -8897431.76649 -6913788.40346 23182702.8514 23182708.4214
+ 3511.5744 2736.2894
+ 22041477.7824 -15863864.40049 -12346335.67547 22041477.5054 22041481.7554
+ -1666.5454 -1298.6044
+ 22926426.1564 -9112551.64749 -6586245.88546 22926425.8114 22926430.8884
+ -2355.0974 -1835.1354
+ 21857492.4234 -18156601.01449 -14127509.31047 21857491.9454 21857496.9044
+ -2707.5704 -2109.7974
+ 05 1 20 10 25 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20265625.3704 -21838791.05949 -16990129.41048 20265624.9544 20265629.1494
+ -490.3694 -382.1034
+ 21157983.1244 -18934028.52449 -14725113.00948 21157983.1554 21157985.4004
+ 2130.9254 1660.4664
+ 24626970.9524 -537800.44049 -124778.36845 24626970.8904 24626976.5964
+ -2179.6784 -1698.4484
+ 23162668.8764 -9002712.19549 -6995825.11746 23162668.4154 23162673.7074
+ 3507.1074 2732.8234
+ 22051007.9974 -15813783.42449 -12307311.54547 22051007.5054 22051012.5084
+ -1672.2004 -1303.0114
+ 22939904.2594 -9041727.85049 -6531058.51446 22939903.6794 22939908.5724
+ -2366.4824 -1844.0164
+ 21872983.0794 -18075196.68849 -14064077.38547 21872981.9064 21872987.6494
+ -2719.4124 -2119.0154
+ 05 1 20 10 26 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20268468.1694 -21823852.07349 -16978488.63448 20268467.8254 20268471.7604
+ -505.5594 -393.9454
+ 21145857.9674 -18997749.44849 -14774765.67248 21145857.6264 21145859.4874
+ 2117.1114 1649.6964
+ 24639448.7374 -472217.44749 -73674.72745 24639449.6954 24639453.8514
+ -2192.7854 -1708.6634
+ 23142658.9134 -9107855.62049 -7077755.04846 23142660.4394 23142666.4094
+ 3502.4724 2729.1934
+ 22060569.5194 -15763533.28849 -12268155.59547 22060569.3944 22060574.2274
+ -1677.8304 -1307.3994
+ 22953445.9644 -8970564.23349 -6475606.33246 22953445.2094 22953450.5404
+ -2377.7434 -1852.7994
+ 21888541.2184 -17993437.35849 -14000368.81847 21888540.6804 21888546.6584
+ -2731.2184 -2128.2294
+ 05 1 20 10 26 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20271397.8234 -21808457.64849 -16966492.97048 20271397.3224 20271401.4474
+ -520.7084 -405.7484
+ 21133811.4324 -19061054.58649 -14824094.36848 21133811.0184 21133812.9374
+ 2103.2274 1638.8784
+ 24652005.6844 -406242.03349 -22265.31045 24652004.8284 24652009.3904
+ -2205.8634 -1718.8564
+ 23122679.3404 -9212858.85249 -7159575.74146 23122678.8504 23122684.8114
+ 3497.7534 2725.5164
+ 22070164.7144 -15713113.72349 -12228867.64047 22070163.9204 22070168.5494
+ -1683.4514 -1311.7794
+ 22967052.1594 -8899063.60149 -6419891.55046 22967051.4454 22967056.3624
+ -2388.9234 -1861.5024
+ 21904167.3394 -17911324.52849 -13936384.81047 21904166.6234 21904171.4754
+ -2742.9634 -2137.3744
+ 05 1 20 10 27 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20274413.2964 -21792609.46849 -16954143.73548 20274413.2164 20274417.3634
+ -535.8074 -417.5124
+ 21121843.8494 -19123941.57149 -14873097.21448 21121843.7984 21121846.0224
+ 2089.2574 1627.9934
+ 24664634.4184 -339876.22049 29448.28645 24664634.3364 24664637.0334
+ -2218.8154 -1728.9434
+ 23102725.7554 -9317718.73149 -7241284.71946 23102724.8734 23102730.2984
+ 3492.8934 2721.7324
+ 22079790.7464 -15662524.49649 -12189447.44847 22079790.5414 22079795.6104
+ -1689.1244 -1316.1984
+ 22980722.2814 -8827228.87149 -6363916.46846 22980721.7534 22980725.4974
+ -2400.0284 -1870.1464
+ 21919859.1724 -17828859.57749 -13872126.41047 21919858.9814 21919864.4594
+ -2754.6744 -2146.5004
+ 05 1 20 10 27 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20277515.3304 -21776308.66649 -16941441.80748 20277515.0964 20277519.3424
+ -550.8794 -429.2614
+ 21109957.7564 -19186407.89549 -14921772.27848 21109957.3344 21109958.9334
+ 2075.1764 1617.0214
+ 24677335.0734 -273121.94049 81464.69945 24677335.6414 24677342.0174
+ -2231.7934 -1739.0604
+ 23082799.6524 -9422432.27949 -7322879.67546 23082798.7854 23082804.8664
+ 3487.9734 2717.9024
+ 22089449.3164 -15611765.50649 -12149894.98447 22089449.5964 22089455.1154
+ -1694.8084 -1320.6304
+ 22994454.6864 -8755062.85649 -6307683.22646 22994453.8044 22994457.7794
+ -2411.0084 -1878.7024
+ 21935618.9484 -17746044.01149 -13807594.81847 21935618.6974 21935623.3324
+ -2766.3324 -2155.5884
+ 05 1 20 10 28 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20280703.0994 -21759556.63449 -16928388.26848 20280702.7774 20280707.0914
+ -565.9164 -440.9774
+ 21098151.8334 -19248451.12249 -14970117.65648 21098150.9154 21098152.5214
+ 2061.0354 1605.9974
+ 24690114.0384 -205981.01249 133782.25845 24690113.3674 24690118.4594
+ -2244.5484 -1748.9854
+ 23062900.6914 -9526996.52249 -7404358.29846 23062900.3094 23062906.5354
+ 3482.9794 2714.0164
+ 22099142.3744 -15560837.03649 -12110210.46647 22099141.5884 22099145.9624
+ -1700.4344 -1325.0104
+ 23008247.9634 -8682568.82249 -6251194.38246 23008248.1044 23008253.3614
+ -2421.9084 -1887.2164
+ 21951444.8174 -17662879.30849 -13742791.16747 21951444.1354 21951449.5344
+ -2777.9644 -2164.6464
+ 05 1 20 10 28 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20283976.2454 -21742354.90849 -16914984.31748 20283976.0744 20283980.5304
+ -580.8624 -452.6214
+ 21086425.4654 -19310069.07849 -15018131.64948 21086425.3904 21086427.0064
+ 2046.8434 1594.9384
+ 24702963.5364 -138455.34549 186399.70245 24702962.9574 24702967.5304
+ -2257.3704 -1758.9964
+ 23043031.6864 -9631408.73949 -7485718.46046 23043031.9484 23043036.5674
+ 3477.8514 2710.0034
+ 22108865.0584 -15509738.74149 -12070393.62247 22108865.1814 22108869.5944
+ -1706.1304 -1329.4554
+ 23022107.0934 -8609749.91149 -6194452.39646 23022106.8724 23022111.3474
+ -2432.6724 -1895.5944
+ 21967336.3674 -17579366.94549 -13677716.61647 21967336.4734 21967341.3914
+ -2789.5234 -2173.6564
+ 05 1 20 10 29 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20287335.0934 -21724704.96949 -16901231.11148 20287334.8834 20287339.0584
+ -595.7864 -464.2494
+ 21074781.5444 -19371259.48649 -15065812.48748 21074781.2244 21074782.7994
+ 2032.5294 1583.7864
+ 24715885.8504 -70547.06149 239315.22745 24715886.2354 24715888.7684
+ -2270.0934 -1768.9004
+ 23023192.0374 -9735665.49349 -7566957.47846 23023191.9584 23023198.0684
+ 3472.5914 2705.9124
+ 22118620.6444 -15458470.20249 -12030444.11347 22118620.9834 22118625.8194
+ -1711.7914 -1333.8634
+ 23036025.6954 -8536608.88449 -6137459.40346 23036024.5484 23036029.3664
+ -2443.3644 -1903.9214
+ 21983294.1194 -17495508.48749 -13612372.36647 21983293.9634 21983298.5524
+ -2801.0194 -2182.6154
+ 05 1 20 10 29 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20290779.1834 -21706607.83449 -16887129.44248 20290778.6194 20290782.7424
+ -610.6574 -475.8354
+ 21063219.5184 -19432019.74249 -15113158.14948 21063219.1464 21063220.6534
+ 2018.1754 1572.6034
+ 24728881.2954 -2258.16849 292527.40745 24728880.7284 24728886.3454
+ -2282.7364 -1778.7444
+ 23003384.0524 -9839764.05149 -7648073.22246 23003383.4184 23003388.5494
+ 3467.2474 2701.7454
+ 22128409.2264 -15407031.32549 -11990361.87347 22128409.3624 22128414.4384
+ -1717.4574 -1338.2784
+ 23050004.6654 -8463149.00249 -6080217.96146 23050003.9924 23050007.6944
+ -2453.9374 -1912.1634
+ 21999316.7144 -17411305.44749 -13546759.61047 21999316.6254 21999322.7334
+ -2812.4864 -2191.5484
+ 05 1 20 10 30 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20294307.5534 -21688065.19649 -16872680.63048 20294307.1934 20294311.4084
+ -625.5054 -487.4054
+ 21051739.7354 -19492347.51049 -15160166.80348 21051739.0914 21051740.8774
+ 2003.6774 1561.3064
+ 24741947.8514 66409.46449 346034.70945 24741947.4904 24741954.5024
+ -2295.3564 -1788.5934
+ 22983604.6914 -9943701.32249 -7729063.28546 22983604.4974 22983610.2654
+ 3461.8714 2697.5554
+ 22138230.6574 -15355422.27849 -11950147.03947 22138230.2304 22138235.0294
+ -1723.1424 -1342.7104
+ 23064042.6994 -8389372.99549 -6022730.19746 23064042.9954 23064047.4744
+ -2464.4344 -1920.3404
+ 22015405.9474 -17326759.38649 -13480879.59347 22015405.5884 22015410.8904
+ -2823.9284 -2200.4634
+ 05 1 20 10 30 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20297920.4514 -21669078.38249 -16857885.69548 20297920.3814 20297924.5674
+ -640.2854 -498.9224
+ 21040342.3874 -19552240.33349 -15206836.54748 21040341.9384 21040343.5064
+ 1989.1374 1549.9804
+ 24755089.1574 135453.79549 399835.48045 24755086.6724 24755091.1204
+ -2307.8814 -1798.3364
+ 22963857.7064 -10047474.38649 -7809925.40346 22963857.4124 22963862.8444
+ 3456.3044 2693.2314
+ 22148084.2214 -15303642.81049 -11909799.40547 22148084.0674 22148088.5184
+ -1728.8324 -1347.1464
+ 23078142.3694 -8315284.12349 -5964998.63246 23078141.7594 23078147.0134
+ -2474.8134 -1928.4244
+ 22031559.9614 -17241871.87649 -13414733.48147 22031559.3704 22031564.7424
+ -2835.2634 -2209.2994
+ 05 1 20 10 31 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20301617.7464 -21649648.98449 -16842745.90148 20301617.3654 20301621.7454
+ -654.9884 -510.3764
+ 21029027.8044 -19611695.78449 -15253165.47948 21029027.4104 21029029.8284
+ 1974.5564 1538.6174
+ 24768294.2444 204872.93149 453928.28645 24768295.3734 24768300.5294
+ -2320.3654 -1808.0794
+ 22944141.6074 -10151080.27449 -7890657.26046 22944140.7464 22944146.8744
+ 3450.7064 2688.8484
+ 22157969.7194 -15251692.74849 -11869318.83947 22157969.2614 22157974.8604
+ -1734.5174 -1351.5704
+ 23092299.3304 -8240885.57549 -5907025.75546 23092298.1814 23092303.3904
+ -2485.0844 -1936.4224
+ 22047778.3264 -17156644.49949 -13348322.54847 22047777.4434 22047783.3514
+ -2846.5624 -2218.1004
+ 05 1 20 10 31 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20305399.6614 -21629778.56049 -16827262.44548 20305398.7944 20305402.9314
+ -669.6884 -521.8364
+ 21017797.3314 -19670711.58049 -15299151.81648 21017797.0984 21017799.3034
+ 1959.8424 1527.1544
+ 24781579.7734 274664.68949 508311.47945 24781577.0034 24781581.1484
+ -2332.7034 -1817.6694
+ 22924457.8084 -10254515.81049 -7971256.36846 22924457.7664 22924463.4264
+ 3444.9754 2684.4014
+ 22167888.3844 -15199571.81049 -11828705.12647 22167888.2264 22167892.2954
+ -1740.2034 -1356.0064
+ 23106513.9154 -8166180.34149 -5848813.89146 23106513.2164 23106519.4194
+ -2495.2464 -1944.3544
+ 22064060.2134 -17071078.79149 -13281647.99347 22064059.6214 22064065.3214
+ -2857.8124 -2226.8754
+ 05 1 20 10 32 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20309263.9094 -21609468.39149 -16811436.32748 20309263.6234 20309267.7274
+ -684.3174 -533.2354
+ 21006651.3324 -19729285.53049 -15344793.86248 21006650.8404 21006653.2424
+ 1945.0814 1515.6464
+ 24794929.2074 344827.14549 562983.48445 24794928.8674 24794931.7124
+ -2344.9964 -1827.2654
+ 22904807.4794 -10357778.15749 -8051720.50246 22904806.9074 22904812.5084
+ 3439.1544 2679.8634
+ 22177838.7704 -15147280.02649 -11787958.28447 22177838.2294 22177843.6594
+ -1745.8914 -1360.4404
+ 23120788.7264 -8091171.28149 -5790365.25946 23120788.1944 23120792.8984
+ -2505.3274 -1952.2204
+ 22080406.2764 -16985176.33849 -13214711.02947 22080406.2134 22080411.9164
+ -2869.0164 -2235.6004
+ 05 1 20 10 32 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20313212.0194 -21588719.97649 -16795268.72348 20313211.8434 20313216.2444
+ -698.9064 -544.6034
+ 20995589.8344 -19787415.14349 -15390089.66648 20995589.3094 20995591.0134
+ 1930.2284 1504.0724
+ 24808351.9174 415358.14949 617942.74245 24808349.6354 24808355.9904
+ -2357.2804 -1836.8394
+ 22885190.8744 -10460864.20149 -8132047.29046 22885191.7794 22885195.7164
+ 3433.2124 2675.2314
+ 22187822.4924 -15094817.33649 -11747078.26347 22187821.8334 22187826.6124
+ -1751.6094 -1364.8964
+ 23135120.4974 -8015861.56149 -5731682.37346 23135120.2104 23135124.3724
+ -2515.3124 -1959.9884
+ 22096818.1864 -16898938.65749 -13147512.84547 22096817.8154 22096821.9514
+ -2880.1644 -2244.2924
+ 05 1 20 10 33 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20317243.5604 -21567534.84349 -16778760.82448 20317243.4664 20317247.1414
+ -713.4234 -555.9164
+ 20984612.4804 -19845098.39949 -15435037.66548 20984612.7074 20984614.1984
+ 1915.3044 1492.4424
+ 24821840.3764 486255.83349 673187.69245 24821840.1674 24821846.4954
+ -2369.4844 -1846.3564
+ 22865608.4074 -10563770.79449 -8212234.23446 22865608.5424 22865614.1294
+ 3427.1684 2670.5294
+ 22197838.4354 -15042183.32949 -11706064.75047 22197838.2224 22197843.0944
+ -1757.3154 -1369.3404
+ 23149508.6584 -7940254.41849 -5672767.71846 23149507.3314 23149511.8764
+ -2525.1744 -1967.6794
+ 22113290.6684 -16812367.39749 -13080054.73747 22113291.1494 22113296.5384
+ -2891.2434 -2252.9234
+ 05 1 20 10 33 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20321357.7814 -21545914.64749 -16761913.91148 20321357.4004 20321361.3634
+ -727.9194 -567.2104
+ 20973722.8694 -19902332.55449 -15479635.70948 20973721.5914 20973723.1564
+ 1900.2904 1480.7454
+ 24835406.4464 557518.05149 728716.67345 24835404.6274 24835408.0284
+ -2381.5644 -1855.7624
+ 22846061.7534 -10666494.86749 -8292278.95646 22846061.3074 22846066.1974
+ 3421.0484 2665.7404
+ 22207886.1634 -14989377.93649 -11664917.70147 22207886.5654 22207890.6014
+ -1763.0404 -1373.8024
+ 23163952.6214 -7864352.82349 -5613623.62146 23163951.5584 23163955.0064
+ -2534.9234 -1975.2684
+ 22129828.3834 -16725464.15049 -13012337.93747 22129828.4654 22129833.2054
+ -2902.2824 -2261.5204
+ 05 1 20 10 34 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20325554.6194 -21523860.66449 -16744728.98348 20325554.3194 20325558.2674
+ -742.3464 -578.4494
+ 20962916.1104 -19959115.48849 -15523882.15748 20962916.3134 20962917.8324
+ 1885.1994 1468.9894
+ 24849028.1254 629142.77348 784528.20945 24849031.5164 24849036.3194
+ -2393.7184 -1865.2354
+ 22826550.6234 -10769033.61649 -8372179.26446 22826549.1744 22826554.4764
+ 3414.8114 2660.8834
+ 22217967.7124 -14936401.04549 -11623636.99847 22217967.2004 22217972.6174
+ -1768.7464 -1378.2454
+ 23178450.5884 -7788159.86149 -5554252.47846 23178449.6584 23178453.5864
+ -2544.5814 -1982.7954
+ 22146429.1724 -16638230.50949 -12944363.67147 22146428.1894 22146433.6114
+ -2913.2874 -2270.0924
+ 05 1 20 10 34 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20329833.5894 -21501374.38249 -16727207.19748 20329833.1784 20329837.1584
+ -756.7094 -589.6484
+ 20952197.1744 -20015444.84949 -15567775.16748 20952196.7144 20952198.2904
+ 1870.0754 1457.2004
+ 24862728.5204 701127.96848 840620.57945 24862728.4804 24862737.3534
+ -2405.6804 -1874.5534
+ 22807072.8344 -10871383.86549 -8451932.70546 22807071.8344 22807077.3504
+ 3408.5114 2655.9754
+ 22228082.0874 -14883252.49849 -11582222.55547 22228082.0014 22228085.7764
+ -1774.4674 -1382.7094
+ 23193005.0914 -7711678.50749 -5494656.61146 23193003.8104 23193008.0124
+ -2554.1344 -1990.2464
+ 22163092.2524 -16550668.13749 -12876133.27647 22163091.5754 22163096.8724
+ -2924.2034 -2278.6054
+ 05 1 20 10 35 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20334194.5784 -21478457.45349 -16709349.83948 20334194.2304 20334198.2654
+ -771.0374 -600.8064
+ 20941565.2744 -20071318.26149 -15611312.90748 20941564.5654 20941566.2554
+ 1854.8244 1445.3184
+ 24876496.6084 773471.40448 896991.99444 24876493.5254 24876500.0814
+ -2417.6204 -1883.8574
+ 22787631.6704 -10973542.59849 -8531536.89346 22787631.6284 22787637.8814
+ 3402.0524 2650.9384
+ 22238228.2764 -14829931.92049 -11540674.05947 22238228.0214 22238232.7704
+ -1780.2354 -1387.1944
+ 23207612.8924 -7634912.14949 -5434838.65646 23207611.4424 23207616.9514
+ -2563.5794 -1997.5884
+ 22179816.5124 -16462778.58749 -12807647.91647 22179815.3864 22179821.2894
+ -2935.0964 -2287.0894
+ 05 1 20 10 35 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20338637.2134 -21455111.33349 -16691158.04648 20338636.8414 20338640.7774
+ -785.3364 -611.9484
+ 20931019.3544 -20126733.37549 -15654493.51848 20931018.9954 20931021.2234
+ 1839.5174 1433.3914
+ 24890327.1084 846171.18248 953641.07645 24890331.3834 24890333.5604
+ -2429.4104 -1893.0484
+ 22768229.4024 -11075506.89849 -8610989.59846 22768228.7144 22768233.9684
+ 3395.5444 2645.8844
+ 22248406.9074 -14776439.69149 -11498991.80947 22248407.6484 22248411.6264
+ -1785.9214 -1391.6234
+ 23222274.4874 -7557863.67249 -5374800.90746 23222273.6494 23222279.1114
+ -2572.9424 -2004.8794
+ 22196602.4164 -16374563.60549 -12738908.97947 22196602.1324 22196608.1324
+ -2945.8814 -2295.4924
+ 05 1 20 10 36 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20343161.2004 -21431337.63449 -16672633.07448 20343160.7594 20343164.7864
+ -799.5564 -623.0354
+ 20920561.1724 -20181688.19549 -15697315.46048 20920561.3124 20920563.5844
+ 1824.1324 1421.3994
+ 24904235.2074 919225.09648 1010566.20845 24904234.2854 24904238.4824
+ -2441.0894 -1902.1474
+ 22748863.5784 -11177273.76949 -8690288.45346 22748863.3604 22748868.5004
+ 3388.9024 2640.7064
+ 22258619.9534 -14722775.35749 -11457175.43347 22258618.9964 22258623.9434
+ -1791.6874 -1396.1244
+ 23236990.0124 -7480536.05749 -5314545.64346 23236989.0284 23236993.6784
+ -2582.2234 -2012.1344
+ 22213452.1724 -16286024.88949 -12669917.78147 22213451.3574 22213456.3854
+ -2956.6634 -2303.8984
+ 05 1 20 10 36 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20347766.2434 -21407137.82449 -16653776.06748 20347765.7404 20347770.0024
+ -813.7334 -634.0804
+ 20910192.5594 -20236180.35249 -15739776.88848 20910192.0714 20910194.3524
+ 1808.6774 1409.3554
+ 24918201.7704 992631.06948 1067765.65445 24918201.5844 24918206.9024
+ -2452.8834 -1911.3414
+ 22729535.8294 -11278839.98249 -8769430.95346 22729535.8024 22729540.8864
+ 3382.1664 2635.4604
+ 22268864.7494 -14668938.76449 -11415224.85747 22268864.6074 22268868.9834
+ -1797.4324 -1400.6054
+ 23251756.2714 -7402932.53049 -5254075.39346 23251755.1464 23251760.9794
+ -2591.3434 -2019.2234
+ 22230359.3614 -16197164.06749 -12600675.60347 22230360.2794 22230366.1044
+ -2967.3994 -2312.2714
+ 05 1 20 10 37 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20352452.3124 -21382513.75049 -16634588.46348 20352451.6544 20352455.6274
+ -827.8524 -645.0834
+ 20899911.4504 -20290207.54749 -15781876.01048 20899911.0914 20899913.4764
+ 1793.1174 1397.2344
+ 24932234.5744 1066386.91648 1125237.71145 24932234.4774 24932239.2584
+ -2464.3914 -1920.2974
+ 22710246.5894 -11380202.80449 -8848414.94446 22710246.4214 22710252.5104
+ 3375.3464 2630.1404
+ 22279141.3334 -14614929.68649 -11373139.85647 22279141.5034 22279145.8484
+ -1803.1904 -1405.0864
+ 23266576.3074 -7325056.29649 -5193392.64746 23266574.9874 23266579.9954
+ -2600.4044 -2026.3044
+ 22247332.1644 -16107982.84449 -12531183.75547 22247331.5514 22247336.6514
+ -2978.0234 -2320.5454
+ 05 1 20 10 37 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20357218.3834 -21357466.67249 -16615071.25148 20357217.9894 20357222.0224
+ -841.9454 -656.0624
+ 20889719.7704 -20343767.47049 -15823611.02948 20889719.5624 20889720.7744
+ 1777.5014 1385.0654
+ 24946344.4324 1140490.71548 1182980.95845 24946343.7464 24946342.8974
+ -2476.0014 -1929.3504
+ 22690997.4904 -11481359.09849 -8927238.02646 22690997.2234 22691003.0734
+ 3368.3724 2624.7064
+ 22289452.8024 -14560748.17149 -11330920.49947 22289452.3374 22289456.5514
+ -1808.9274 -1409.5614
+ 23281446.3764 -7246910.57549 -5132499.88446 23281445.7924 23281450.7264
+ -2609.3364 -2033.2454
+ 22264363.2644 -16018482.92449 -12461443.58247 22264362.7504 22264368.0244
+ -2988.6264 -2328.7954
+ 05 1 20 10 38 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20362064.4884 -21331998.38349 -16595225.82748 20362064.1264 20362068.2534
+ -855.9424 -666.9694
+ 20879616.9814 -20396858.00649 -15864980.28548 20879616.3764 20879618.3094
+ 1761.8434 1372.8654
+ 24960497.6934 1214940.00858 1240993.36354 24960498.1534 24960513.8464
+ -2487.3444 -1938.2034
+ 22671787.0644 -11582305.66149 -9005897.67846 22671787.7404 22671793.5914
+ 3361.3524 2619.2364
+ 22299795.5954 -14506394.06149 -11288566.65147 22299795.4044 22299799.9374
+ -1814.6684 -1414.0344
+ 23296367.6674 -7168498.23649 -5071399.38946 23296366.8124 23296373.1554
+ -2618.1804 -2040.1364
+ 22281454.7204 -15928666.10949 -12391456.46147 22281454.1374 22281459.0834
+ -2999.1544 -2337.0024
+ 05 1 20 10 38 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20366990.8524 -21306110.41849 -16575053.38848 20366990.7744 20366994.9444
+ -869.9014 -677.8504
+ 20869604.0664 -20449476.78249 -15905981.94148 20869603.9104 20869605.1904
+ 1746.0624 1360.5664
+ 24974750.1564 1289733.05558 1299273.63354 24974747.4954 24974744.0184
+ -2498.8194 -1947.1234
+ 22652618.3424 -11683039.56649 -9084391.61046 22652618.2014 22652624.6384
+ 3354.2084 2613.6514
+ 22310171.3834 -14451867.40749 -11246078.34947 22310171.2904 22310176.1424
+ -1820.4254 -1418.5104
+ 23311339.7354 -7089822.57549 -5010093.69446 23311339.2514 23311344.3744
+ -2626.8484 -2046.8904
+ 22298605.8954 -15838533.96749 -12321223.63847 22298605.5244 22298611.1204
+ -3009.6374 -2345.1654
+ 05 1 20 10 39 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20371997.1624 -21279804.43449 -16554555.20748 20371996.5294 20372000.7014
+ -883.8084 -688.6824
+ 20859681.0624 -20501621.65549 -15946614.31048 20859680.6924 20859682.3834
+ 1730.2464 1348.2384
+ 24989033.3984 1364866.14248 1357818.80144 24989037.4604
+ -2510.3804 -1956.1404
+ 22633492.3944 -11783557.76049 -9162717.47847 22633491.4284 22633495.8224
+ 3346.9794 2608.0304
+ 22320580.2754 -14397167.84549 -11203455.31347 22320580.2444 22320584.5064
+ -1826.1964 -1423.0104
+ 23326361.4374 -7010886.63049 -4948585.14746 23326359.8304 23326365.0834
+ -2635.4954 -2053.6384
+ 22315817.9484 -15748088.40949 -12250746.60647 22315816.9594 22315822.7134
+ -3020.0624 -2353.2974
+ 05 1 20 10 39 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20377082.0084 -21253081.82049 -16533732.38248 20377081.7014 20377085.5784
+ -897.6804 -699.4934
+ 20849849.2604 -20553290.35749 -15986875.65048 20849848.3344 20849850.0284
+ 1714.3154 1335.8254
+ 25003404.8414 1440339.80448 1416629.38944 25003401.8714
+ -2521.5874 -1964.8674
+ 22614405.2464 -11883857.28049 -9240872.93047 22614404.5414 22614410.9394
+ 3339.6424 2602.3084
+ 22331022.8824 -14342295.01149 -11160697.26847 22331022.6064 22331027.0504
+ -1831.9934 -1427.5324
+ 23341430.3154 -6931693.54849 -4886876.27446 23341429.5314 23341435.0524
+ -2644.0214 -2060.2774
+ 22333087.4154 -15657331.19049 -12180026.67247 22333087.1524 22333093.1354
+ -3030.4184 -2361.3704
+ 05 1 20 10 40 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20382246.0514 -21225944.29649 -16512586.25548 20382245.6424 20382249.8804
+ -911.4844 -710.2454
+ 20840107.3754 -20604480.77749 -16026764.29548 20840107.0644 20840108.7904
+ 1698.3614 1323.4024
+ 25017815.8284 1516150.36758 1475702.46954 25017820.5954 25017830.4934
+ -2532.7574 -1973.5754
+ 22595360.7954 -11983935.23949 -9318855.75646 22595360.7574 22595365.2314
+ 3332.2004 2596.5304
+ 22341497.5664 -14287248.82849 -11117804.15647 22341497.6424 22341502.0754
+ -1837.7544 -1432.0074
+ 23356549.2014 -6852246.53349 -4824969.50946 23356548.0364 23356552.7424
+ -2652.4464 -2066.8324
+ 22350416.9674 -15566263.73849 -12109065.06847 22350417.1324 22350422.9994
+ -3040.7194 -2369.3904
+ 05 1 20 10 40 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20387488.5244 -21198393.47049 -16491118.07948 20387488.5354 20387492.3224
+ -925.2344 -720.9634
+ 20830457.3304 -20655190.71449 -16066278.53548 20830457.2454 20830459.1964
+ 1682.3084 1310.8914
+ 25032313.5814 1592296.08148 1535036.79344 25032312.1554 25032316.1164
+ -2543.9474 -1982.2894
+ 22576359.5904 -12083788.51649 -9396663.49747 22576359.5644 22576364.4214
+ 3324.6594 2590.6414
+ 22352005.2654 -14232029.31849 -11074775.97047 22352005.2064 22352009.7054
+ -1843.5584 -1436.5394
+ 23371713.5234 -6772548.60149 -4762867.20346 23371713.7424 23371718.5694
+ -2660.7634 -2073.3254
+ 22367805.4754 -15474888.02749 -12037863.22747 22367804.7484 22367810.6604
+ -3050.9864 -2377.3974
+ 05 1 20 10 41 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20392809.7624 -21170431.09549 -16469329.20448 20392809.4544 20392813.8144
+ -938.9184 -731.6264
+ 20820899.4394 -20705418.05449 -16105416.71748 20820898.7874 20820900.9104
+ 1666.1764 1298.3174
+ 25046866.8474 1668774.51049 1594630.39344 25046867.8434 25046871.2204
+ -2554.9204 -1990.8594
+ 22557401.6314 -12183414.04949 -9474293.75847 22557400.9494 22557406.2254
+ 3317.0364 2584.6974
+ 22362546.0784 -14176636.37149 -11031612.63347 22362546.1884 22362551.1824
+ -1849.3494 -1441.0494
+ 23386927.3534 -6692603.03749 -4700571.96046 23386926.4484 23386932.3954
+ -2668.9614 -2079.7074
+ 22385251.9284 -15383205.77549 -11966422.54147 22385252.1364 22385256.9394
+ -3061.1634 -2385.3254
+ 05 1 20 10 41 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20398209.0864 -21142058.63349 -16447220.79248 20398208.6144 20398212.6324
+ -952.5674 -742.2634
+ 20811434.4854 -20755160.48649 -16144177.06248 20811433.6344 20811435.7914
+ 1649.9634 1285.6854
+ 25061483.7214 1745583.56249 1654481.66745 25061484.6714 25061490.0324
+ -2565.9694 -1999.4514
+ 22538487.1384 -12282808.76849 -9551744.19147 22538486.5334 22538491.7594
+ 3309.2744 2578.6594
+ 22373120.0254 -14121069.79249 -10988314.00447 22373119.7094 22373124.1444
+ -1855.1194 -1445.5464
+ 23402187.5134 -6612412.88649 -4638086.15146 23402186.0244 23402192.6244
+ -2677.0864 -2086.0484
+ 22402756.9144 -15291218.79049 -11894744.39047 22402756.7664 22402761.8414
+ -3071.3094 -2393.2214
+ 05 1 20 10 42 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20403685.7664 -21113277.90349 -16424794.24548 20403685.5914 20403689.4964
+ -966.1324 -752.8334
+ 20802061.6924 -20804416.00449 -16182557.98548 20802061.0254 20802062.7914
+ 1633.6994 1273.0104
+ 25076162.3204 1822721.08848 1714588.90544 25076161.5744 25076167.0104
+ -2576.7954 -2007.8994
+ 22519617.0744 -12381969.88049 -9629012.58347 22519616.6974 22519622.7934
+ 3301.4514 2572.5694
+ 22383728.1154 -14065329.31649 -10944879.87647 22383727.2184 22383732.2034
+ -1860.9224 -1450.0704
+ 23417492.8594 -6531981.32049 -4575412.21246 23417492.8054 23417497.5214
+ -2685.0404 -2092.2474
+ 22420319.7214 -15198928.76449 -11822830.08647 22420318.4224 22420323.7724
+ -3081.3834 -2401.0794
+ 05 1 20 10 42 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20409239.8734 -21084090.56149 -16402050.85148 20409239.6344 20409243.6534
+ -979.6864 -763.3954
+ 20792780.7704 -20853182.35549 -16220557.74548 20792780.4254 20792783.0274
+ 1617.3664 1260.2864
+ 25090902.8854 1900184.84348 1774950.28544 25090901.9124 25090907.6264
+ -2587.6254 -2016.3234
+ 22500791.4984 -12480894.24749 -9706096.50147 22500791.5934 22500797.4534
+ 3293.4914 2566.3464
+ 22394367.8934 -14009414.90749 -10901310.21947 22394367.8564 22394372.4204
+ -1866.7154 -1454.5864
+ 23432845.1224 -6451311.52249 -4512552.62946 23432844.0774 23432848.4484
+ -2692.9114 -2098.3754
+ 22437938.2844 -15106337.57849 -11750681.14347 22437937.8434 22437943.7714
+ -3091.3674 -2408.8654
+ 05 1 20 10 43 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20414871.3744 -21054498.18249 -16378991.83948 20414870.8144 20414874.7234
+ -993.1424 -773.8784
+ 20783595.4824 -20901457.48749 -16258174.73148 20783594.0954 20783596.2504
+ 1600.9564 1247.5014
+ 25105707.1014 1977972.58448 1835564.11744 25105701.1064 25105708.0624
+ -2598.5724 -2024.8564
+ 22482012.9044 -12579578.82549 -9782993.54747 22482012.8414 22482018.7634
+ 3285.4414 2560.0774
+ 22405040.2814 -13953326.46649 -10857604.94047 22405040.3394 22405045.0244
+ -1872.5044 -1459.0914
+ 23448238.3234 -6370406.56349 -4449509.82146 23448238.4654 23448244.5944
+ -2700.7254 -2104.4674
+ 22455615.2324 -15013447.01549 -11678298.90747 22455614.7264 22455620.0884
+ -3101.3104 -2416.6044
+ 05 1 20 10 43 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20420578.9274 -21024502.26649 -16355618.39848 20420578.8114 20420582.9244
+ -1006.5694 -784.3414
+ 20774501.9764 -20949239.18849 -16295407.22448 20774501.7754 20774503.6504
+ 1584.4984 1234.6764
+ 25120566.6324 2056082.15558 1896428.72754 25120573.0954
+ -2609.1114 -2033.0784
+ 22463281.0484 -12678020.64749 -9859701.46747 22463280.2214 22463285.4204
+ 3277.3164 2553.7554
+ 22415746.6564 -13897063.98549 -10813764.05247 22415747.2194 22415751.5364
+ -1878.3154 -1463.6244
+ 23463680.5024 -6289269.58249 -4386286.20646 23463679.2854 23463684.1514
+ -2708.3874 -2110.4274
+ 22473348.1404 -14920258.97949 -11605684.84747 22473347.4994 22473353.2474
+ -3111.1864 -2424.3014
+ 05 1 20 10 44 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20426363.7404 -20994104.47149 -16331931.80348 20426363.2534 20426367.4664
+ -1019.9204 -794.7434
+ 20765503.7564 -20996525.51449 -16332253.72348 20765503.5604 20765505.2464
+ 1567.9554 1221.7834
+ 25135495.4804 2134511.14648 1957542.23244 25135496.7834 25135501.4414
+ -2619.6994 -2041.3264
+ 22444594.3184 -12776216.74049 -9936217.88947 22444594.1834 22444599.6524
+ 3269.0714 2547.3264
+ 22426486.7204 -13840627.27049 -10769787.39147 22426486.1874 22426491.2524
+ -1884.1204 -1468.1454
+ 23479163.7374 -6207903.96949 -4322884.44046 23479162.4564 23479168.1034
+ -2715.9614 -2116.3324
+ 22491136.7794 -14826775.22049 -11532840.40247 22491136.7954 22491142.3794
+ -3121.0514 -2431.9894
+ 05 1 20 10 44 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20432224.5324 -20963306.82549 -16307933.62848 20432223.9744 20432227.9794
+ -1033.2424 -805.1244
+ 20756599.9084 -21043314.15349 -16368712.40648 20756599.5664 20756601.7204
+ 1551.3084 1208.8104
+ 25150478.9424 2213257.71548 2018903.26544 25150478.7834 25150485.4604
+ -2630.2974 -2049.5724
+ 22425955.8554 -12874164.10649 -10012540.49247 22425955.2634 22425960.5854
+ 3260.7334 2540.8314
+ 22437259.8504 -13784015.88949 -10725674.65047 22437259.9354 22437263.5324
+ -1889.9894 -1472.7194
+ 23494688.8504 -6126312.58549 -4259306.74846 23494688.8534 23494692.8694
+ -2723.4594 -2122.1634
+ 22508981.2044 -14732997.59549 -11459766.93047 22508982.1064 22508988.0084
+ -3130.8264 -2439.6104
+ 05 1 20 10 45 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20438160.7044 -20932110.86449 -16283625.06848 20438160.3834 20438164.3724
+ -1046.4814 -815.4434
+ 20747791.6134 -21089603.16249 -16404781.76948 20747791.3304 20747793.3074
+ 1534.6274 1195.8114
+ 25165524.7514 2292319.72948 2080509.95944 25165524.4374 25165533.4704
+ -2640.7554 -2057.7334
+ 22407364.8074 -12971859.67049 -10088666.88847 22407365.0044 22407369.3454
+ 3252.2764 2534.2414
+ 22448065.3104 -13727230.05449 -10681425.94447 22448065.3904 22448069.8864
+ -1895.7674 -1477.2234
+ 23510257.9674 -6044498.76349 -4195555.68746 23510257.6784 23510262.3934
+ -2730.8224 -2127.9154
+ 22526884.0584 -14638927.87949 -11386465.86146 22526882.7654 22526888.0554
+ -3140.4844 -2447.1344
+ 05 1 20 10 45 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20444172.4174 -20900518.23649 -16259007.42948 20444172.3204 20444176.3064
+ -1059.6814 -825.7244
+ 20739078.5764 -21135390.45449 -16440460.18048 20739078.2234 20739080.2294
+ 1517.8504 1182.7424
+ 25180629.6294 2371694.71748 2142360.46844 25180629.6244 25180633.5384
+ -2651.1794 -2065.8484
+ 22388822.6724 -13069300.44449 -10164594.76447 22388822.6894 22388827.6164
+ 3243.7424 2527.5874
+ 22458904.7404 -13670269.55349 -10637041.15547 22458904.5334 22458909.5284
+ -1901.6024 -1481.7694
+ 23525869.2304 -5962465.65849 -4131633.81046 23525868.1054 23525873.0434
+ -2738.0904 -2133.5754
+ 22544840.0234 -14544567.99149 -11312938.68946 22544839.7774 22544845.5204
+ -3150.1454 -2454.6494
+ 05 1 20 10 46 0.0000000 0 8G16G23G 6G 3G19G25G20G 1
+ 20450259.6134 -20868530.82449 -16234082.16748 20450259.2244 20450263.1324
+ -1072.7904 -835.9454
+ 20730462.0544 -21180673.99349 -16475746.07048 20730461.7044 20730462.8574
+ 1501.0464 1169.6454
+ 25195795.2264 2451380.22448 2204453.09044 25195792.7874 25195795.1984
+ -2661.4994 -2073.9014
+ 22370329.6124 -13166483.21249 -10240321.58047 22370329.5154 22370334.8244
+ 3235.1024 2520.8574
+ -332183.57641 -175213.224 5 24791601.759
+ 3614.6554 2815.881
+ 22469777.1314 -13613134.09449 -10592520.01647 22469777.4974 22469781.1324
+ -1907.4174 -1486.3064
+ 23541519.8294 -5880216.51049 -4067543.59146 23541519.2944 23541524.1374
+ -2745.2374 -2139.1464
+ 22562850.4884 -14449919.93449 -11239186.97247 22562850.5074 22562856.0194
+ -3159.7374 -2462.1414
+ 05 1 20 10 46 30.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20456421.0414 -20836150.02249 -16208850.37148 20456420.8694 20456425.2024
+ -1085.8874 -846.1424
+ 20721941.2634 -21225451.80649 -16510637.88248 20721940.8264 20721942.0834
+ 1484.1554 1156.4884
+ 25211018.4944 2531374.38448 2266786.14844 25211018.8934
+ -2671.7334 -2081.8724
+ 22351885.7854 -13263405.18049 -10315845.18347 22351886.2184 22351890.3374
+ 3226.3694 2514.0604
+ 22480682.5944 -13555823.60249 -10547862.49347 22480682.7374 22480687.5724
+ -1913.2674 -1490.8634
+ 23557212.4194 -5797754.32449 -4003287.36346 23557211.6194 23557216.1544
+ -2752.2504 -2144.6144
+ 22580915.9244 -14354985.40849 -11165212.03346 22580915.0664 22580920.8864
+ -3169.2434 -2469.5404
+ 05 1 20 10 47 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20462657.6834 -20803377.73349 -16183313.52148 20462657.2384 20462661.3624
+ -1098.9254 -856.3084
+ 20713516.4114 -21269721.70549 -16545133.91548 20713515.9484 20713517.8214
+ 1467.1594 1143.2374
+ 25226293.5554 2611674.42749 2329357.55744 25226293.3704 25226297.8904
+ -2681.7934 -2089.7224
+ 22333491.4704 -13360063.23349 -10391163.14247 22333491.9304 22333497.0554
+ 3217.4884 2507.1274
+ 22491622.0604 -13498338.17349 -10503068.66147 22491622.1084 22491626.2754
+ -1919.0864 -1495.3854
+ 23572944.1574 -5715082.29749 -3938867.59346 23572944.0064 23572947.8454
+ -2759.1874 -2150.0234
+ 22599036.3644 -14259766.21849 -11091015.30546 22599035.1224 22599040.7834
+ -3178.6904 -2476.9094
+ 05 1 20 10 47 30.0000000 0 8G16G23G 6G 3G19G25G20G 1
+ 20468968.1474 -20770215.62449 -16157472.91148 20468968.0004 20468972.1314
+ -1111.8834 -866.3944
+ 20705188.7914 -21313481.84649 -16579232.73348 20705188.4854 20705190.6644
+ 1450.1734 1130.0104
+ 25241636.1374 2692278.51949 2392166.00244 25241635.5554 25241637.6584
+ -2691.9934 -2097.6654
+ 22315150.0384 -13456454.72149 -10466273.37047 22315149.5954 22315154.9584
+ 3208.5764 2500.1884
+ -112297.06341 -72647.132 2 24713490.802
+ 3619.4104 2819.671
+ 22502595.1514 -13440677.41949 -10458138.21447 22502594.7604 22502599.0854
+ -1924.9484 -1499.9584
+ 23588714.3584 -5632203.61249 -3874286.84146 23588713.6504 23588720.1294
+ -2766.0244 -2155.3384
+ 22617209.2074 -14164264.28349 -11016598.23846 22617208.3624 22617214.7964
+ -3188.0874 -2484.2194
+ 05 1 20 10 48 0.0000000 0 8G16G23G 6G 3G19G25G20G 1
+ 20475352.4744 -20736665.53249 -16131329.96948 20475352.0334 20475356.0474
+ -1124.7924 -876.4644
+ 20696959.6144 -21356730.12449 -16612932.71148 20696959.1134 20696960.5914
+ 1433.0364 1116.6554
+ 25257028.8334 2773184.31148 2455209.61644 25257029.4564
+ -2702.1724 -2105.5824
+ 22296859.6304 -13552576.39749 -10541173.37947 22296858.4974 22296863.5064
+ 3199.5154 2493.1244
+ -220899.65041 -131881.798 5 24699009.055
+ 3620.7384 2821.271
+ 22513599.3404 -13382841.40049 -10413071.18447 22513600.4884 22513605.2494
+ -1930.8044 -1504.5184
+ 23604525.3424 -5549121.48649 -3809547.53546 23604523.6584 23604528.5494
+ -2772.7874 -2160.6074
+ 22635434.7214 -14068481.55949 -10941962.37646 22635434.9364 22635441.4574
+ -3197.4384 -2491.5084
+ 05 1 20 10 48 30.0000000 0 8G16G23G 6G 3G19G25G20G 1
+ 20481810.1804 -20702729.13449 -16104886.01148 20481810.0114 20481814.0074
+ -1137.6314 -886.4684
+ 20688827.7924 -21399464.59849 -16646232.32048 20688827.2224 20688828.4164
+ 1415.9004 1103.2974
+ 25272480.8914 2854389.52858 2518486.50054
+ -2711.7514 -2113.0684
+ 22278619.3774 -13648425.27649 -10615860.79747 22278618.7114 22278623.7154
+ 3190.3804 2486.0174
+ -329542.75441 -131881.798 5 24699009.055
+ 3622.1094 2821.271
+ 22524639.5734 -13324829.93349 -10367867.44347 22524639.3024 22524643.7604
+ -1936.6404 -1509.0644
+ 23620373.8164 -5465838.89849 -3744652.00246 23620372.1684 23620377.6044
+ -2779.4264 -2165.7834
+ 22653715.0304 -13972419.88649 -10867109.15546 22653715.4114 22653721.0564
+ -3206.7024 -2498.7294
+ 05 1 20 10 49 0.0000000 0 7G16G23G 6G 3G25G20G 1
+ 20488341.4524 -20668407.99249 -16078142.25248 20488341.3274 20488345.3204
+ -1150.4344 -896.4424
+ 20680793.4464 -21441683.50049 -16679130.17748 20680792.5694 20680794.7134
+ 1398.6784 1089.8774
+ 25288003.9994 2935892.27858 2581995.24454
+ -2721.9324 -2120.9884
+ 22260432.1884 -13743998.18549 -10690333.18747 22260431.8484 22260436.3174
+ 3181.1394 2478.8104
+ 22535712.1594 -13266642.70949 -10322526.75947 22535712.0364 22535716.9564
+ -1942.4954 -1513.6344
+ 23636259.2784 -5382359.22249 -3679602.90946 23636258.0734 23636263.1894
+ -2785.9164 -2170.8324
+ 22672049.1374 -13876081.16749 -10792040.05346 22672047.5764 22672053.9634
+ -3215.8884 -2505.8784
+ 05 1 20 10 49 30.0000000 0 7G16G23G 3G19G25G20G 1
+ 20494945.8954 -20633703.92449 -16051100.11248 20494945.1204 20494949.2404
+ -1163.1574 -906.3584
+ 20672857.1214 -21483384.63149 -16711624.57348 20672857.0844 20672859.4114
+ 1381.4014 1076.4184
+ 22242297.4394 -13839292.32549 -10764588.36147 22242297.8194 22242301.8674
+ 3171.7964 2471.5314
+ 24630434.0314 -101770.48949 -57250.73143
+ 3624.4574 2824.2524
+ 22546818.8704 -13208280.05949 -10277049.37847 22546818.4114 22546822.8614
+ -1948.3524 -1518.2024
+ 23652180.5614 -5298685.64149 -3614402.75346 23652180.7114 23652186.2314
+ -2792.3514 -2175.8534
+ 22690433.0134 -13779467.27149 -10716756.51946 22690433.5234 22690439.1684
+ -3225.0294 -2513.0074
+ 05 1 20 10 50 0.0000000 0 7G16G23G 3G19G25G20G 1
+ 20501621.6604 -20598618.80549 -16023761.05248 20501621.4884 20501625.9214
+ -1175.8354 -916.2374
+ 20665021.1904 -21524565.90849 -16743713.88448 20665020.7224 20665022.8384
+ 1364.0124 1062.8644
+ 22224217.3654 -13934304.88149 -10838624.09947 22224217.1984 22224222.7154
+ 3162.3374 2464.1544
+ 24609738.9874 -210519.96049 -141990.72845
+ 3625.4804 2825.0494
+ 22557958.0064 -13149741.34449 -10231434.79847 22557957.4064 22557961.7694
+ -1954.2334 -1522.7844
+ 23668141.8714 -5214821.25349 -3549053.91146 23668140.6594 23668144.6204
+ -2798.6114 -2180.7304
+ 22708872.6914 -13682580.18249 -10641260.11346 22708870.6164 22708875.9054
+ -3234.1174 -2520.0894
+ 05 1 20 10 50 30.0000000 0 7G16G23G 3G19G25G20G 1
+ 20508370.5254 -20563154.36649 -15996126.42148 20508370.2964 20508374.4824
+ -1188.4574 -926.0714
+ 20657284.0054 -21565225.66649 -16775396.82548 20657283.6994 20657285.4644
+ 1346.6004 1049.3004
+ 22206192.2384 -14029032.78649 -10912438.04547 22206191.1204 22206196.3104
+ 3152.8264 2456.7434
+ 24589039.0524 -319299.50749 -226753.96545 24589044.0684
+ 3626.4704 2825.8164
+ 22569130.3844 -13091026.72049 -10185683.15147 22569130.9424 22569135.6234
+ -1960.1034 -1527.3554
+ 23684135.1454 -5130769.28249 -3483558.91346 23684134.5724 23684139.6354
+ -2804.8334 -2185.5804
+ 22727358.9854 -13585421.86349 -10565552.36046 22727358.8624 22727364.0734
+ -3243.1464 -2527.1164
+ 05 1 20 10 51 0.0000000 0 7G16G23G 3G19G25G20G 1
+ 20515191.1754 -20527312.27549 -15968197.50848 20515190.5934 20515194.9024
+ -1200.9874 -935.8334
+ 20649645.6944 -21605362.00349 -16806671.89648 20649645.5484 20649647.7794
+ 1329.1554 1035.7074
+ 22188220.2494 -14123473.12949 -10986027.91047 22188219.7894 22188225.3174
+ 3143.1964 2449.2444
+ 24568327.3534 -428106.78049 -311538.82445 24568330.4614 24568337.0524
+ 3627.3714 2826.5214
+ 22580338.3764 -13032136.08649 -10139794.33347 22580337.5784 22580342.2264
+ -1965.9394 -1531.8974
+ 23700164.5444 -5046532.79749 -3417920.10446 23700163.0834 23700168.6924
+ -2810.9174 -2190.3254
+ 22745899.0894 -13487994.30449 -10489634.81146 22745898.4314 22745903.9314
+ -3252.0534 -2534.0714
+ 05 1 20 10 51 30.0000000 0 7G16G23G 3G19G25G20G 1
+ 20522083.3884 -20491094.24149 -15939975.66148 20522082.9114 20522087.0724
+ -1213.4934 -945.5814
+ 20642108.5264 -21644972.88249 -16837537.51948 20642107.9954 20642109.8864
+ 1311.5964 1022.0274
+ 22170303.2524 -14217622.82849 -11059391.31447 22170303.3454 22170308.4444
+ 3133.4614 2441.6524
+ 24547621.5974 -536939.06249 -396343.25445 24547622.7934 24547628.6364
+ 3628.2064 2827.1764
+ 22591577.5704 -12973069.29149 -10093768.28347 22591577.9284 22591582.2874
+ -1971.8164 -1536.4774
+ 23716228.9354 -4962114.99749 -3352140.01446 23716228.1494 23716233.4674
+ -2816.9284 -2195.0114
+ 22764490.6114 -13390299.53349 -10413509.03346 22764490.2224 22764494.7384
+ -3260.9324 -2540.9934
+ 05 1 20 10 52 0.0000000 0 7G16G23G 3G19G25G20G 1
+ 20529046.2124 -20454501.98849 -15911462.20948 20529045.9964 20529050.2584
+ -1225.9494 -955.2854
+ 20634671.3264 -21684056.57149 -16867992.34948 20634670.8914 20634672.6014
+ 1293.9844 1008.3044
+ 22152443.0594 -14311478.89549 -11132525.89847 22152443.1344 22152448.2324
+ 3123.6164 2433.9774
+ 24526910.8714 -645793.72449 -481165.03445 24526909.2004 24526912.6894
+ 3628.7964 2827.6314
+ 22602850.6674 -12913826.16249 -10047604.80447 22602850.9254 22602855.6534
+ -1977.6864 -1541.0514
+ 23732325.2764 -4877519.03949 -3286221.07846 23732325.2804 23732331.9684
+ -2822.7984 -2199.5854
+ 22783131.6224 -13292339.44849 -10337176.51646 22783130.3004 22783136.6884
+ -3269.7244 -2547.8354
+ 05 1 20 10 52 30.0000000 0 7G16G23G 3G19G25G20G 1
+ 20536080.9184 -20417537.45149 -15882658.66848 20536080.1474 20536084.4094
+ -1238.3404 -964.9354
+ 20627334.8974 -21722611.20149 -16898034.92248 20627334.3064 20627335.9294
+ 1276.3124 994.5314
+ 22134640.3064 -14405038.31149 -11205429.32547 22134640.1744 22134644.2504
+ 3113.6554 2426.2274
+ 24506193.1114 -754668.08849 -566002.17845 24506192.0144 24506193.9624
+ 3629.4414 2828.1374
+ 22614158.3464 -12854406.78149 -10001303.99447 22614158.1134 22614162.9944
+ -1983.5914 -1545.6634
+ 23748459.7094 -4792748.11549 -3220165.82446 23748458.7384 23748462.7824
+ -2828.5734 -2204.0814
+ 22801822.0764 -13194116.08649 -10260638.83646 22801822.0034 22801827.2624
+ -3278.4714 -2554.6514
+ 05 1 20 10 53 0.0000000 0 7G16G23G 3G19G25G20G 1
+ 20543185.1004 -20380202.35049 -15853566.37548 20543184.8164 20543188.7614
+ -1250.6704 -974.5514
+ 20620098.2674 -21760634.80049 -16927663.70048 20620098.2754 20620100.2364
+ 1258.5854 980.7144
+ 22116893.1504 -14498298.16049 -11278099.32847 22116892.9654 22116898.0984
+ 3103.6414 2418.4134
+ 24485468.7064 -863559.51949 -650852.62745 24485468.0094 24485473.6784
+ 3629.9814 2828.5514
+ 22625499.7284 -12794810.71549 -9954865.49947 22625499.6564 22625503.9124
+ -1989.4674 -1550.2314
+ 23764622.6354 -4707805.49449 -3153976.78846 23764621.9734 23764626.9734
+ -2834.2874 -2208.5344
+ 22820563.0884 -13095631.20749 -10183897.39646 22820562.6904 22820568.3104
+ -3287.1804 -2561.4284
+ 05 1 20 10 53 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20550359.9264 -20342498.41949 -15824186.68248 20550359.7204 20550363.8774
+ -1262.9134 -984.0844
+ 20612964.5704 -21798125.63049 -16956877.33848 20612964.1594 20612966.1954
+ 1240.7974 966.8614
+ 22099203.7134 -14591255.88349 -11350533.89647 22099203.5954 22099208.7784
+ 3093.5054 2410.5264
+ 22441188.9744 -9756162.28049 -7580010.33147 22441188.8124 22441192.5894
+ 2816.5104 2194.6904
+ 24464745.8214 -972465.37449 -735714.29345 24464745.9054 24464750.7634
+ 3630.3684 2828.8594
+ 22636873.2354 -12735038.14749 -9908289.48747 22636874.0044 22636877.1594
+ -1995.3514 -1554.8154
+ 23780819.1164 -4622694.29049 -3087656.41746 23780819.0254 23780822.2664
+ -2839.8284 -2212.8514
+ 22839354.9094 -12996886.73549 -10106953.66946 22839354.1204 22839359.4844
+ -3295.7984 -2568.1584
+ 05 1 20 10 54 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20557605.0484 -20304427.52749 -15794521.05248 20557604.5754 20557608.3084
+ -1275.1084 -993.5884
+ 20605932.2084 -21835081.95849 -16985674.49048 20605931.7774 20605933.4814
+ 1222.9494 952.9524
+ 22081572.8754 -14683908.17449 -11422730.48747 22081572.3004 22081577.7674
+ 3083.2864 2402.5554
+ 22425139.8544 -9840496.79449 -7645725.54047 22425139.6614 22425144.3314
+ 2805.7804 2186.3334
+ 24444019.4624 -1081383.00749 -820585.17245 24444018.9224 24444023.4274
+ 3630.7674 2829.1714
+ 22648282.2944 -12675088.65849 -9861575.59247 22648281.3614 22648286.0454
+ -2001.2734 -1559.4244
+ 23797047.4614 -4537417.64549 -3021207.09946 23797046.9384 23797050.7164
+ -2845.3114 -2217.1174
+ 22858192.8274 -12897884.63149 -10029809.20346 22858192.5884 22858199.1504
+ -3304.3354 -2574.8094
+ 05 1 20 10 54 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20564919.2454 -20265991.55949 -15764570.93948 20564918.8054 20564922.8084
+ -1287.2504 -1003.0474
+ 20599001.8774 -21871501.67649 -17014053.50348 20599001.4054 20599003.2214
+ 1205.0474 939.0024
+ 22063999.6224 -14776252.12849 -11494686.81247 22063999.7174 22064004.3794
+ 3072.9474 2394.5084
+ 22409153.5464 -9924508.48949 -7711189.19647 22409153.2004 22409156.6574
+ 2795.0054 2177.9274
+ 24423295.2744 -1190309.71649 -905463.10246 24423292.7324 24423294.9734
+ 3630.9944 2829.3474
+ 22659723.2584 -12614962.59149 -9814724.11547 22659723.0174 22659727.7154
+ -2007.1224 -1563.9804
+ 23813303.8554 -4451978.67049 -2954631.27046 23813303.9824 23813310.1594
+ -2850.6234 -2221.2624
+ 22877082.2034 -12798626.90849 -9952465.56946 22877081.4414 22877086.3274
+ -3312.7804 -2581.3684
+ 05 1 20 10 55 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20572302.3804 -20227191.92249 -15734337.45748 20572301.9854 20572305.5854
+ -1299.3494 -1012.4784
+ 20592173.0984 -21907383.43949 -17042013.32648 20592173.3014 20592174.7634
+ 1187.0844 925.0034
+ 22046487.2774 -14868284.73649 -11566400.52647 22046486.4784 22046492.2554
+ 3062.5444 2386.3994
+ 22393227.6644 -10008194.48449 -7776399.07147 22393227.6824 22393231.9024
+ 2784.0844 2169.4064
+ 24402565.0774 -1299242.96449 -990346.17346 24402562.8874 24402564.8194
+ 3631.1954 2829.5034
+ 22671199.8064 -12554659.72249 -9767734.88547 22671198.5154 22671202.6224
+ -2013.0174 -1568.5774
+ 23829592.7544 -4366380.52049 -2887931.46846 23829592.7924 23829597.6154
+ -2855.8764 -2225.3604
+ 22896017.5654 -12699115.77549 -9874924.43346 22896017.7204 22896023.6264
+ -3321.2204 -2587.9484
+ 05 1 20 10 55 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20579754.4574 -20188030.46549 -15703822.02948 20579754.0954 20579758.1144
+ -1311.4124 -1021.8774
+ 20585448.2234 -21942725.15949 -17069552.33948 20585447.7734 20585449.5064
+ 1169.0264 910.9294
+ 22029033.9444 -14960003.04449 -11637869.31347 22029033.1994 22029038.5144
+ 3052.0024 2378.1794
+ 22377365.6524 -10091552.21149 -7841353.15447 22377365.8004 22377369.7814
+ 2773.0724 2160.8384
+ 24381834.0174 -1408179.92049 -1075232.07646 24381832.5964 24381835.5194
+ 3631.3034 2829.5844
+ 22682707.2814 -12494179.64549 -9720607.57547 22682706.7834 22682711.4394
+ -2018.9594 -1573.2034
+ 23845912.1324 -4280626.45849 -2821110.13546 23845911.4034 23845915.7924
+ -2861.0284 -2229.3734
+ 22915001.8264 -12599353.23649 -9797187.41646 22915001.6024 22915007.6264
+ -3329.6154 -2594.4974
+ 05 1 20 10 56 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20587274.9654 -20148509.25249 -15673026.27448 20587274.5304 20587278.5844
+ -1323.3654 -1031.1914
+ 20578825.8614 -21977525.49449 -17096669.48948 20578825.6684 20578827.2494
+ 1150.9414 896.8364
+ 22011640.5724 -15051404.12749 -11709090.93547 22011640.8744 22011645.3824
+ 3041.3684 2369.8954
+ 22361565.6224 -10174579.20149 -7906049.51247 22361566.3784 22361570.7314
+ 2762.0174 2152.2314
+ 24361105.6854 -1517118.03649 -1160118.89946 24361103.6874 24361105.2104
+ 3631.2174 2829.5194
+ 22694249.7444 -12433522.33049 -9673342.15647 22694249.7464 22694254.2194
+ -2024.8744 -1577.8304
+ 23862260.4034 -4194719.59449 -2754169.77846 23862259.4474 23862264.3724
+ -2866.0764 -2233.2934
+ 22934033.9624 -12499341.29449 -9719256.05446 22934034.1894 22934038.6584
+ -3337.8644 -2600.9374
+ 05 1 20 10 56 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20594863.7224 -20108629.87049 -15641951.41748 20594863.3984 20594867.6944
+ -1335.2634 -1040.4624
+ 20572307.4444 -22011782.18749 -17123363.01948 20572306.9654 20572308.6514
+ 1132.7994 882.7004
+ 21994309.3004 -15142485.11749 -11780063.11847 21994308.3284 21994313.3004
+ 3030.6804 2361.5694
+ 22345829.8114 -10257272.62549 -7970485.95047 22345830.2404 22345834.2624
+ 2750.8614 2143.5354
+ 24340373.1114 -1626054.51849 -1245004.46646 24340371.1764 24340374.2634
+ 3631.1384 2829.4574
+ 22705826.0824 -12372687.71649 -9625938.55947 22705826.2914 22705831.0074
+ -2030.7844 -1582.4304
+ 23878636.6844 -4108663.05849 -2687112.77146 23878636.4514 23878640.2154
+ -2870.9744 -2237.1194
+ 22953112.2784 -12399081.85349 -9641131.85546 22953111.2924 22953117.0004
+ -3346.1224 -2607.3564
+ 05 1 20 10 57 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20602520.0854 -20068394.24549 -15610598.98648 20602519.8034 20602524.0624
+ -1347.1104 -1049.6984
+ 20565892.1054 -22045493.85649 -17149631.86348 20565891.8104 20565893.4934
+ 1114.6134 868.5274
+ 21977037.8844 -15233243.27749 -11850783.76247 21977037.9564 21977042.4324
+ 3019.8324 2353.1204
+ 22330157.2404 -10339629.91449 -8034660.46847 22330158.5844 22330162.0144
+ 2739.5944 2134.7484
+ 24319643.0594 -1734986.97149 -1329886.88446 24319642.9814 24319644.9694
+ 3631.0274 2829.3754
+ 22717436.1164 -12311675.92849 -9578396.92847 22717436.0464 22717440.3894
+ -2036.7034 -1587.0374
+ 23895040.4194 -4022460.01849 -2619941.57946 23895039.8344 23895043.5414
+ -2875.8384 -2240.9184
+ 22972236.3174 -12298577.02549 -9562816.43546 22972236.9244 22972241.5204
+ -3354.2064 -2613.6584
+ 05 1 20 10 57 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20610244.3704 -20027804.22649 -15578970.38548 20610244.0294 20610248.0444
+ -1358.8914 -1058.8804
+ 20559580.7514 -22078658.72149 -17175474.61548 20559580.4914 20559582.4974
+ 1096.3524 854.2974
+ 21959828.7734 -15323675.56749 -11921250.46247 21959828.5304 21959833.9794
+ 3008.9264 2344.6164
+ 22314550.1394 -10421648.26549 -8098570.86747 22314550.1854 22314554.3994
+ 2728.2464 2125.8934
+ 24298915.8344 -1843912.46849 -1414763.89346 24298914.4554 24298917.6504
+ 3630.7194 2829.1284
+ 22729080.2034 -12250486.82249 -9530717.10347 22729079.6614 22729085.0554
+ -2042.5824 -1591.6184
+ 23911471.3174 -3936113.71749 -2552658.74046 23911470.2674 23911475.4154
+ -2880.5204 -2244.5494
+ 22991409.2194 -12197828.76549 -9484311.28846 22991409.2574 22991414.8044
+ -3362.3744 -2620.0514
+ 05 1 20 10 58 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20618035.4324 -19986861.57449 -15547067.02048 20618035.1774 20618039.1784
+ -1370.6174 -1068.0144
+ 20553374.3284 -22111274.99749 -17200889.89348 20553373.9674 20553375.9424
+ 1078.0454 840.0364
+ 21942683.4894 -15413779.13949 -11991461.02447 21942682.8234 21942688.2454
+ 2997.9374 2336.0644
+ 22299007.6004 -10503325.27449 -8162215.30547 22299007.6014 22299012.0584
+ 2716.8434 2117.0174
+ 24278190.0464 -1952828.34249 -1499633.39345 24278188.6904 24278191.3524
+ 3630.3694 2828.8644
+ 22740758.8574 -12189120.51149 -9482899.20447 22740759.0904 22740763.1504
+ -2048.5034 -1596.2374
+ 23927927.7414 -3849627.23049 -2485266.64546 23927927.5434 23927934.0594
+ -2885.1944 -2248.2084
+ 23010627.5944 -12096839.15349 -9405618.11746 23010627.8024 23010633.3954
+ -3370.3304 -2626.2114
+ 05 1 20 10 58 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20625893.6854 -19945568.05249 -15514890.24048 20625893.0984 20625897.0554
+ -1382.2894 -1077.1064
+ 20547272.1094 -22143341.28749 -17225876.62448 20547272.1684 20547273.8674
+ 1059.6664 825.7164
+ 21925599.7504 -15503551.32149 -12061413.36447 21925599.5544 21925604.7434
+ 2986.8244 2327.3964
+ 22283530.5204 -10584658.04949 -8225591.50047 22283530.5054 22283535.0434
+ 2705.3174 2108.0424
+ 24257467.1124 -2061732.14349 -1584493.44746 24257465.5624 24257468.2054
+ 3629.9154 2828.5064
+ 22752469.2284 -12127576.76849 -9434943.04547 22752468.7324 22752474.3194
+ -2054.4254 -1600.8534
+ 23944413.7324 -3763003.71649 -2417767.84846 23944412.5664 23944417.0314
+ -2889.7224 -2251.7314
+ 23029890.6834 -11995610.16549 -9326738.39446 23029890.0764 23029896.5964
+ -3378.2764 -2632.4154
+ 05 1 20 10 59 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20633817.5114 -19903925.44949 -15482441.46148 20633817.0954 20633821.6344
+ -1393.8834 -1086.1414
+ 20541275.9504 -22174855.84049 -17250433.42048 20541275.1234 20541276.7194
+ 1041.2734 811.3824
+ 21908581.8984 -15592988.95149 -12131105.02747 21908580.6144 21908586.0334
+ 2975.6364 2318.6824
+ 22268118.7884 -10665644.14049 -8288697.55547 22268119.6964 22268123.3804
+ 2693.7304 2099.0054
+ 24236748.1394 -2170620.95049 -1669341.84946 24236744.9544 24236747.6624
+ 3629.3764 2828.0884
+ 22764215.0694 -12065855.28749 -9386848.40147 22764214.7084 22764219.3484
+ -2060.3694 -1605.4854
+ 23960922.6334 -3676246.39749 -2350164.72245 23960922.1744 23960925.2054
+ -2894.1294 -2255.1754
+ 23049198.4794 -11894143.93349 -9247673.84146 23049198.3554 23049203.9624
+ -3386.2004 -2638.6034
+ 05 1 20 10 59 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20641807.9954 -19861935.58449 -15449722.07848 20641807.7954 20641812.1094
+ -1405.4414 -1095.1534
+ 20535383.9364 -22205817.06549 -17274559.05548 20535383.3904 20535385.0924
+ 1022.7984 796.9854
+ 21891625.2784 -15682089.08749 -12200533.68447 21891624.7554 21891630.6974
+ 2964.3234 2309.8644
+ 22252775.0894 -10746280.64849 -8351531.19647 22252774.8034 22252778.7454
+ 2682.0044 2089.8694
+ 24216028.0864 -2279492.10349 -1754176.51246 24216026.2474 24216029.6624
+ 3628.7804 2827.6114
+ 22775993.3054 -12003956.03349 -9338615.20847 22775993.4754 22775998.5474
+ -2066.2674 -1610.0814
+ 23977455.8744 -3589358.41949 -2282459.83946 23977454.8314 23977461.0044
+ -2898.4294 -2258.5224
+ 23068552.0154 -11792442.63549 -9168426.09946 23068551.8264 23068557.2594
+ -3393.9644 -2644.6474
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 11 0 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20649864.0244 -19819600.27149 -15416733.51548 20649863.5614 20649868.2104
+ -1416.9264 -1104.0994
+ 20529596.8024 -22236223.26049 -17298252.19648 20529596.8744 20529598.9294
+ 1004.2724 782.5464
+ 21874734.2534 -15770848.94349 -12269697.20147 21874734.3194 21874739.4454
+ 2952.9664 2301.0094
+ 22237496.3774 -10826565.01549 -8414090.44247 22237496.8324 22237501.0634
+ 2670.2474 2080.7144
+ 24195313.3194 -2388342.72849 -1838995.17146 24195312.6874 24195316.4314
+ 3627.9854 2827.0054
+ 22787805.2944 -11941879.08949 -9290243.58747 22787805.4364 22787811.6884
+ -2072.2094 -1614.7114
+ 23994013.5674 -3502342.91449 -2214655.64746 23994013.4014 23994019.4574
+ -2902.5914 -2261.7594
+ 23087949.6694 -11690508.32749 -9088996.80446 23087949.2934 23087953.7154
+ -3401.5984 -2650.6034
+ 05 1 20 11 0 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20657985.1114 -19776921.49249 -15383477.32248 20657985.0754 20657989.7604
+ -1428.3374 -1112.9904
+ 20523917.7614 -22266072.65749 -17321511.46648 20523917.0604 20523918.7254
+ 985.6854 768.0674
+ 21857909.3114 -15859265.81649 -12338593.46447 21857909.2314 21857914.7494
+ 2941.4614 2292.0434
+ 22222287.5714 -10906494.56449 -8476373.21547 22222287.1104 22222290.5034
+ 2658.3864 2071.4714
+ 24174606.2404 -2497170.31949 -1923795.89346 24174603.8884 24174606.3864
+ 3627.2114 2826.3964
+ 22799653.4134 -11879624.19649 -9241733.31647 22799653.7124 22799657.1924
+ -2078.1064 -1619.2994
+ 24010600.4104 -3415202.89249 -2146754.34246 24010597.7984 24010601.0874
+ -2906.6914 -2264.9534
+ 23107391.4944 -11588343.03949 -9009387.53046 23107390.8704 23107395.4004
+ -3409.3124 -2656.6204
+ 05 1 20 11 1 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20666172.6444 -19733900.89249 -15349954.77148 20666171.9994 20666176.0864
+ -1439.6714 -1121.8194
+ 20518343.1624 -22295364.10449 -17344335.97848 20518343.0434 20518344.6864
+ 967.0764 753.5694
+ 21841151.1064 -15947336.74049 -12407220.13647 21841150.4864 21841155.2134
+ 2929.8984 2283.0404
+ 22207144.9194 -10986066.74949 -8538377.52447 22207145.4204 22207148.8844
+ 2646.4194 2062.1534
+ 24153899.9224 -2605972.13349 -2008576.48446 24153899.7894 24153904.1004
+ 3626.2674 2825.6664
+ 22811533.1004 -11817191.40249 -9193084.37547 22811533.6294 22811538.4884
+ -2084.0854 -1623.9524
+ 24027201.6284 -3327941.66049 -2078758.55445 24027201.1804 24027206.2224
+ -2910.7494 -2268.1184
+ 23126875.4604 -11485948.83949 -8929599.86746 23126874.9414 23126881.0844
+ -3416.9384 -2662.5594
+ 05 1 20 11 1 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20674423.1764 -19690540.45049 -15316167.40648 20674423.0384 20674427.1284
+ -1451.0084 -1130.6624
+ 20512875.9834 -22324096.00649 -17366724.47548 20512875.4884 20512877.1974
+ 948.3704 738.9894
+ 21824457.8194 -16035058.77449 -12475574.96947 21824457.7214 21824461.7014
+ 2918.1734 2273.8944
+ 22192071.8804 -11065278.93249 -8600101.31347 22192071.9914 22192075.4414
+ 2634.3694 2052.7524
+ 24133201.2034 -2714745.36349 -2093334.83546 24133200.7784 24133205.9354
+ 3625.2894 2824.9034
+ 22823447.7854 -11754580.66949 -9144296.80447 22823448.3824 22823452.7724
+ -2089.9704 -1628.5474
+ 24043827.5584 -3240562.42049 -2010670.91746 24043829.3434 24043835.2544
+ -2914.5994 -2271.1074
+ 23146404.6374 -11383327.74249 -8849635.41846 23146403.3934 23146409.8304
+ -3424.4684 -2668.4254
+ 05 1 20 11 2 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20682738.9274 -19646841.82849 -15282116.53948 20682738.5934 20682742.5404
+ -1462.2354 -1139.4024
+ 20507514.8004 -22352266.55049 -17388675.55048 20507514.5314 20507516.5464
+ 929.6544 724.4054
+ 21807831.7084 -16122428.88949 -12543655.56947 21807831.0034 21807836.0084
+ 2906.4454 2264.7544
+ 22177067.8594 -11144128.22449 -8661542.32447 22177067.2984 22177070.8344
+ 2622.2234 2043.2864
+ 24112509.9204 -2823487.63049 -2178069.05546 24112507.4614 24112512.1244
+ 3624.1974 2824.0484
+ 22835396.6644 -11691792.07449 -9095370.64847 22835396.8634 22835401.4734
+ -2095.9544 -1633.2154
+ 24060480.6994 -3153068.17349 -1942493.60946 24060479.4064 24060484.5574
+ -2918.3264 -2274.0164
+ 23165975.1434 -11280481.86749 -8769495.83146 23165975.6064 23165979.9534
+ -3431.9274 -2674.2224
+ 05 1 20 11 2 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20691118.3204 -19602806.73749 -15247803.47548 20691117.9134 20691122.4214
+ -1473.4344 -1148.1284
+ 20502261.4414 -22379874.38249 -17410188.13848 20502260.9704 20502263.2064
+ 910.8514 709.7534
+ 21791273.1174 -16209444.50049 -12611459.92447 21791272.9894 21791277.9984
+ 2894.5704 2255.5104
+ 22162132.5584 -11222612.16949 -8722698.64447 22162132.1384 22162135.8004
+ 2609.9864 2033.7554
+ 24091820.9424 -2932195.76749 -2262776.70046 24091821.0194 24091825.6864
+ 3623.0554 2823.1574
+ 22847378.7504 -11628825.60049 -9046305.85647 22847378.4664 22847382.7974
+ -2101.8964 -1637.8414
+ 24077149.8014 -3065462.08949 -1874229.20845 24077149.4214 24077155.7374
+ -2922.0264 -2276.8964
+ 23185589.7674 -11177413.43649 -8689182.78646 23185587.9074 23185593.2814
+ -3439.3214 -2679.9874
+ 05 1 20 11 3 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20699561.3604 -19558437.13249 -15213229.75948 20699561.4344 20699565.6484
+ -1484.5264 -1156.7774
+ 20497115.2144 -22406917.96349 -17431261.05948 20497115.0164 20497116.7954
+ 892.0404 695.0924
+ 21774782.8864 -16296102.75149 -12678985.82547 21774781.8894 21774786.9724
+ 2882.6154 2246.1924
+ 22147268.3924 -11300727.97349 -8783568.09947 22147268.1354 22147270.8084
+ 2597.7114 2024.1904
+ 24071143.5774 -3040867.21949 -2347455.73446 24071140.7324 24071145.2954
+ 3621.7474 2822.1424
+ 22859392.4224 -11565680.98849 -8997102.25747 22859393.5404 22859399.8494
+ -2107.7614 -1642.4074
+ 24093841.1254 -2977747.22449 -1805879.99845 24093841.6304 24093844.4694
+ -2925.5784 -2279.6704
+ 23205243.4784 -11074124.39049 -8608697.83946 23205242.8184 23205249.4334
+ -3446.5994 -2685.6544
+ 05 1 20 11 3 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20708068.3684 -19513734.99449 -15178396.91848 20708068.0934 20708072.4684
+ -1495.5904 -1165.3954
+ 20492076.7924 -22433395.89149 -17451893.21048 20492076.2314 20492078.1034
+ 873.1554 680.3774
+ 21758359.4084 -16382400.92649 -12746231.15247 21758359.7274 21758365.2004
+ 2870.5844 2236.8214
+ 22132472.7924 -11378473.20049 -8844148.80447 22132473.3384 22132476.3334
+ 2585.2794 2014.5094
+ 24050468.5614 -3149499.25849 -2432104.08246 24050468.5634 24050472.6724
+ 3620.4204 2821.1014
+ 22871445.6834 -11502358.07249 -8947759.77247 22871444.4204 22871448.0624
+ -2113.7644 -1647.0904
+ 24110554.6244 -2889926.75049 -1737448.44545 24110552.9814 24110558.3574
+ -2929.0904 -2282.4044
+ 23224942.1874 -10970616.90149 -8528042.69046 23224940.4894 23224945.9284
+ -3453.8514 -2691.3124
+ 05 1 20 11 4 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20716638.2144 -19468702.00349 -15143306.27648 20716637.5524 20716641.7984
+ -1506.5924 -1173.9694
+ 20487146.0764 -22459306.72549 -17472083.48348 20487145.8704 20487147.4144
+ 854.2204 665.6284
+ 21742006.3024 -16468336.17949 -12813193.67947 21742006.1884 21742012.2634
+ 2858.4384 2227.3534
+ 22117750.1284 -11455845.25649 -8904438.72947 22117750.3384 22117752.7584
+ 2572.8074 2004.7844
+ 24029807.4654 -3258089.07149 -2516719.49146 24029806.3314 24029809.8964
+ 3618.9244 2819.9374
+ 22883529.5984 -11438856.72849 -8898278.19047 22883528.6394 22883533.5534
+ -2119.7034 -1651.7154
+ 24127284.8394 -2802003.97649 -1668937.24345 24127284.6574 24127289.2204
+ -2932.4684 -2285.0384
+ 23244678.6744 -10866893.00849 -8447218.89846 23244678.4234 23244683.7334
+ -3461.0384 -2696.9174
+ 05 1 20 11 4 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20725270.0954 -19423339.89849 -15107959.17448 20725269.7844 20725273.9704
+ -1517.5174 -1182.4774
+ 20482323.4444 -22484649.24149 -17491830.89448 20482323.1704 20482324.9884
+ 835.2914 650.8804
+ 21725723.7494 -16553905.65349 -12879871.17947 21725723.1274 21725728.7634
+ 2846.1844 2217.8094
+ 22103097.8364 -11532841.45849 -8964435.76647 22103097.5174 22103101.2904
+ 2560.2664 1995.0174
+ 24009152.8564 -3366633.94149 -2601299.87846 24009150.1844 24009154.5584
+ 3617.4034 2818.7584
+ 22895646.5954 -11375176.93449 -8848657.58147 22895646.5594 22895651.7344
+ -2125.6224 -1656.3304
+ 24144035.4104 -2713981.58449 -1600348.39745 24144035.1754 24144039.5654
+ -2935.6834 -2287.5414
+ 23264454.5344 -10762954.93049 -8366228.20946 23264456.3594 23264463.6304
+ -3468.1744 -2702.4704
+ 05 1 20 11 5 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20733964.1564 -19377650.66349 -15072357.17148 20733963.8904 20733968.2374
+ -1528.3984 -1190.9604
+ 20477609.9274 -22509421.83949 -17511134.21948 20477609.0784 20477611.0174
+ 816.2434 636.0354
+ 21709510.7364 -16639106.49049 -12946261.43947 21709510.3124 21709515.2864
+ 2833.8364 2208.1874
+ 22088517.5234 -11609459.24449 -9024137.95347 22088517.9984 22088520.9904
+ 2547.5834 1985.1324
+ 23988503.9054 -3475131.22249 -2685843.21646 23988502.9474 23988507.5084
+ 3615.7344 2817.4564
+ 22907797.4074 -11311318.85849 -8798898.07147 22907797.5504 22907802.6354
+ -2131.5814 -1660.9804
+ 24160804.0124 -2625863.07949 -1531684.66945 24160803.3524 24160807.6734
+ -2938.8494 -2290.0154
+ 23284276.2234 -10658804.81549 -8285072.31146 23284275.9054 23284281.6224
+ -3475.1884 -2707.9314
+ 05 1 20 11 5 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20742720.5014 -19331636.27149 -15036501.79748 20742720.0014 20742724.6204
+ -1539.2034 -1199.3794
+ 20473003.9164 -22533623.11249 -17529992.34748 20473003.4504 20473005.8964
+ 797.1854 621.1854
+ 21693367.9034 -16723935.89649 -13012362.26147 21693367.6464 21693372.8264
+ 2821.4134 2198.5034
+ 22074010.5644 -11685695.73149 -9083543.00847 22074010.2184 22074014.1674
+ 2534.8474 1975.2114
+ 23967866.6474 -3583578.24749 -2770347.38146 23967866.3114 23967870.6184
+ 3614.0424 2816.1394
+ 22919984.4784 -11247282.59149 -8748999.69847 22919984.4904 22919987.8714
+ -2137.5114 -1665.5894
+ 24177590.7454 -2537651.58049 -1462948.47746 24177590.7264 24177595.1614
+ -2941.9294 -2292.4054
+ 23304135.7884 -10554444.63849 -8203752.74146 23304135.2754 23304141.0794
+ -3482.1374 -2713.3574
+ 05 1 20 11 6 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20751538.7994 -19285298.28449 -15000394.27448 20751538.1084 20751542.3094
+ -1549.9494 -1207.7524
+ 20468508.0044 -22557251.59549 -17548404.15848 20468507.6064 20468509.1054
+ 778.0694 606.2874
+ 21677297.7094 -16808391.07749 -13078171.47847 21677296.8344 21677302.2394
+ 2808.9014 2188.7564
+ 22059575.6664 -11761548.41149 -9142648.99447 22059576.0674 22059579.8514
+ 2521.9944 1965.1874
+ 23947241.7854 -3691972.12449 -2854810.14846 23947240.8154 23947245.1204
+ 3612.2154 2814.7054
+ 22932204.0254 -11183068.01949 -8698962.36946 22932203.2614 22932208.3014
+ -2143.4704 -1670.2294
+ 24194392.7754 -2449350.07149 -1394142.13646 24194392.9954 24194398.2444
+ -2944.8524 -2294.6794
+ 23324035.7624 -10449876.69149 -8122271.26046 23324034.8784 23324040.5314
+ -3489.0894 -2718.7734
+ 05 1 20 11 6 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20760417.7054 -19238638.64149 -14964036.10748 20760417.4304 20760421.1754
+ -1560.6664 -1216.1054
+ 20464120.8284 -22580306.18149 -17566368.76848 20464120.2614 20464122.3444
+ 758.9084 591.3574
+ 21661297.5584 -16892469.36549 -13143687.02647 21661297.4574 21661302.3194
+ 2796.2884 2178.9244
+ 22045215.4514 -11837014.65449 -9201453.87047 22045215.3034 22045218.6634
+ 2509.0724 1955.1224
+ 23926625.8004 -3800310.10849 -2939229.32946 23926624.0484 23926628.1724
+ 3610.3004 2813.2234
+ 22944456.1344 -11118674.84449 -8648785.88646 22944457.4344 22944461.9984
+ -2149.4174 -1674.8704
+ 24211212.0634 -2360961.48649 -1325267.93145 24211212.1044 24211217.3994
+ -2947.7074 -2296.9164
+ 23343970.0244 -10345103.11649 -8040629.55746 23343970.4014 23343977.7864
+ -3495.9084 -2724.0784
+ 05 1 20 11 7 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20769357.5274 -19191659.14649 -14927428.70948 20769357.1394 20769361.0874
+ -1571.2944 -1224.3854
+ 20459842.9834 -22602785.30049 -17583884.96848 20459842.4914 20459844.7644
+ 739.7114 576.4024
+ 21645370.2924 -16976167.85349 -13208906.62147 21645370.0304 21645375.1714
+ 2783.5904 2169.0314
+ 22030928.0874 -11912091.79749 -9259955.55547 22030928.4844 22030932.9794
+ 2496.0394 1944.9704
+ 23906019.2514 -3908589.49449 -3023602.86646 23906018.5104 23906024.0134
+ 3608.3024 2811.6584
+ 22956745.1164 -11054103.26149 -8598470.39246 22956744.6124 22956749.4424
+ -2155.3524 -1679.4874
+ 24228047.2484 -2272489.09549 -1256328.35745 24228048.2924 24228051.4844
+ -2950.4374 -2299.0474
+ 23363949.8664 -10240126.05349 -7958829.28146 23363948.0614 23363954.0054
+ -3502.6354 -2729.3184
+ 05 1 20 11 7 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20778357.4094 -19144361.73449 -14890573.57548 20778357.2304 20778361.3534
+ -1581.8614 -1232.6204
+ 20455674.9724 -22624687.98549 -17600951.98148 20455674.4714 20455676.6804
+ 720.4734 561.4074
+ 21629516.0854 -17059483.98849 -13273828.27547 21629515.5854 21629520.6824
+ 2770.8024 2159.0644
+ 22016716.9214 -11986777.41549 -9318152.14947 22016716.7114 22016720.2984
+ 2482.9674 1934.7814
+ 23885427.7594 -4016807.56749 -3107928.59746 23885426.4204 23885429.5954
+ 3606.2144 2810.0424
+ 22969064.9564 -10989353.24249 -8548015.83346 22969065.6884 22969069.7504
+ -2161.2874 -1684.1244
+ 24244897.7104 -2183936.31249 -1187326.19345 24244898.1664 24244903.7464
+ -2953.1114 -2301.1284
+ 23383962.7564 -10134947.64349 -7876872.12946 23383963.0894 23383968.5024
+ -3509.3234 -2734.5404
+ 05 1 20 11 8 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20787418.6084 -19096748.10249 -14853472.04448 20787417.7994 20787422.3914
+ -1592.3794 -1240.8124
+ 20451616.9244 -22646012.70249 -17617568.64948 20451616.6604 20451618.6434
+ 701.1684 546.3664
+ 21613733.8494 -17142414.80249 -13338449.67847 21613733.5904 21613739.1654
+ 2757.8924 2149.0084
+ 22002578.5794 -12061068.79949 -9376041.53147 22002579.3904 22002583.1654
+ 2469.7624 1924.4934
+ 23864846.9644 -4124961.40249 -3192204.31046 23864844.8164 23864848.8264
+ 3603.9934 2808.3104
+ 22981422.7124 -10924424.52649 -8497422.03746 22981422.0314 22981427.0554
+ -2167.2534 -1688.7734
+ 24261767.4604 -2095305.79549 -1118263.40945 24261765.7974 24261769.9294
+ -2955.6644 -2303.1224
+ 23404016.9414 -10029569.93649 -7794759.65046 23404016.5864 23404021.6344
+ -3515.9064 -2739.6664
+ 05 1 20 11 8 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20796538.6944 -19048820.14549 -14816125.57948 20796538.3714 20796542.2574
+ -1602.8234 -1248.9514
+ 20447669.3584 -22666758.26949 -17633734.02148 20447668.8784 20447670.7054
+ 681.8454 531.3114
+ 21598026.0784 -17224957.87549 -13402768.94647 21598026.4284 21598031.8294
+ 2744.9464 2138.9204
+ 21988517.7574 -12134963.43449 -9433621.75947 21988517.2454 21988521.6374
+ 2456.5084 1914.1644
+ 23844277.0134 -4233048.39049 -3276427.89146 23844276.6264 23844281.0574
+ 3601.7484 2806.5484
+ 22993811.1124 -10859317.25149 -8446689.12046 22993810.7844 22993815.4394
+ -2173.2164 -1693.4154
+ 24278645.3874 -2006600.69149 -1049142.47345 24278644.8834 24278649.6464
+ -2958.0414 -2304.9694
+ 23424107.4784 -9923995.14749 -7712493.61046 23424106.4394 23424112.2434
+ -3522.3914 -2744.7184
+ 05 1 20 11 9 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20805719.1174 -19000579.70949 -14778535.61948 20805718.2824 20805722.3984
+ -1613.2064 -1257.0424
+ 20443831.8914 -22686923.33149 -17649447.05348 20443831.7124 20443833.5364
+ 662.4854 516.2234
+ 21582393.4964 -17307110.32149 -13466783.83447 21582393.1584 21582398.7204
+ 2731.8734 2128.7354
+ 21974531.5824 -12208458.73549 -9490890.82547 21974531.5464 21974535.5214
+ 2443.1494 1903.7524
+ 23823725.5254 -4341065.73749 -3360597.29246 23823722.9584 23823724.7184
+ 3599.3764 2804.7094
+ 23006234.5164 -10794031.41949 -8395817.05747 23006235.1664 23006239.2424
+ -2179.1694 -1698.0584
+ 24295538.4324 -1917824.33849 -979966.18745 24295538.6024 24295544.0194
+ -2960.3984 -2306.8024
+ 23444231.8154 -9818225.47349 -7630075.72746 23444232.5504 23444238.9074
+ -3528.8514 -2749.7494
+ 05 1 20 11 9 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20814957.5354 -18952028.67949 -14740703.64648 20814957.4964 20814961.3704
+ -1623.5124 -1265.0764
+ 20440105.8224 -22706506.73349 -17664706.84548 20440105.0944 20440106.7554
+ 643.0844 501.1014
+ 21566834.9534 -17388869.39149 -13530492.18747 21566835.0854 21566840.4764
+ 2718.7154 2118.4794
+ 21960622.2164 -12281552.12549 -9547846.72347 21960622.7844 21960626.4044
+ 2429.7334 1893.3004
+ 23803180.5054 -4449010.54749 -3444710.12146 23803181.2074 23803183.1304
+ 3596.9454 2802.8224
+ 23018693.4584 -10728567.07449 -8344805.90147 23018692.6754 23018696.5364
+ -2185.1204 -1702.6864
+ 24312446.7374 -1828979.54549 -910736.49945 24312445.7364 24312449.0274
+ -2962.5914 -2308.5224
+ 23464396.5654 -9712263.07749 -7547507.65446 23464396.7254 23464403.3124
+ -3535.2614 -2754.7474
+ 05 1 20 11 10 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20824255.4034 -18903168.79649 -14702631.00548 20824255.0284 20824259.0894
+ -1633.8044 -1273.0954
+ 20436489.7774 -22725507.33049 -17679512.50548 20436489.2784 20436491.2054
+ 623.6254 485.9394
+ 21551353.7654 -17470232.09149 -13593891.69547 21551352.8764 21551357.7944
+ 2705.4544 2108.1434
+ 21946790.7114 -12354240.91949 -9604487.34347 21946790.5634 21946794.4274
+ 2416.1794 1882.7254
+ 23782655.0624 -4556880.12949 -3528764.30346 23782654.9744 23782657.5314
+ 3594.3754 2800.8074
+ 23031184.4094 -10662924.24649 -8293655.67047 23031184.3354 23031188.8564
+ -2191.0674 -1707.3164
+ 24329365.3724 -1740069.43449 -841455.81845 24329363.2334 24329368.9414
+ -2964.7394 -2310.1934
+ 23484596.7504 -9606110.15949 -7464791.13046 23484597.3754 23484602.9424
+ -3541.5834 -2759.6844
+ 05 1 20 11 10 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20833611.8284 -18854001.81049 -14664319.06248 20833611.3464 20833615.3394
+ -1644.0174 -1281.0544
+ 20432985.1314 -22743923.81449 -17693863.01748 20432984.8634 20432986.5914
+ 604.1274 470.7424
+ 21535946.2294 -17551195.99649 -13656980.43947 21535946.0214 21535950.8484
+ 2692.1024 2097.7414
+ 21933035.5424 -12426522.57249 -9660810.70547 21933035.8124 21933039.7214
+ 2402.5564 1872.1204
+ 23762143.4174 -4664671.75449 -3612757.76646 23762142.6534 23762144.6104
+ 3591.7134 2798.7464
+ 23043709.2494 -10597102.77249 -8242366.21047 23043709.3494 23043713.5894
+ -2197.0504 -1711.9884
+ 24346295.6194 -1651097.18349 -772126.76845 24346294.1234 24346299.9784
+ -2966.7694 -2311.7654
+ 23504832.6204 -9499768.84149 -7381927.79446 23504833.6314 23504839.5104
+ -3547.8264 -2764.5314
+ 05 1 20 11 11 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20843025.9294 -18804529.85049 -14625769.47948 20843025.4434 20843029.3954
+ -1654.1134 -1288.9194
+ 20429592.0224 -22761755.31849 -17707757.68848 20429591.4624 20429593.6044
+ 584.6344 455.5604
+ 21520615.6024 -17631758.42749 -13719756.36547 21520615.4424 21520620.4364
+ 2678.6774 2087.2814
+ 21919359.0504 -12498394.74949 -9716815.00247 21919359.0004 21919362.4854
+ 2388.8464 1861.4344
+ 23741646.1274 -4772382.66249 -3696688.32146 23741645.5564 23741648.5734
+ 3588.9274 2796.5744
+ 23056267.9234 -10531102.73449 -8190937.63947 23056268.2174 23056273.8014
+ -2202.9874 -1716.6104
+ 24363235.6344 -1562065.98449 -702751.85045 24363236.7074 24363240.6944
+ -2968.6044 -2313.1954
+ 23525106.4674 -9393241.40249 -7298919.41446 23525105.8274 23525111.1504
+ -3553.9954 -2769.3504
+ 05 1 20 11 11 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20852497.7124 -18754754.50649 -14586983.49448 20852497.1604 20852501.3514
+ -1664.1884 -1296.7644
+ 20426310.7194 -22779000.48349 -17721195.47548 20426310.1104 20426311.9764
+ 565.0764 440.3224
+ 21505362.3194 -17711916.67649 -13782217.31247 21505361.6504 21505366.6214
+ 2665.1774 2076.7634
+ 21905760.7844 -12569854.49449 -9772497.93047 21905760.6644 21905764.2304
+ 2375.0914 1850.7214
+ 23721165.1234 -4880010.11249 -3780553.83446 23721163.7464 23721167.0804
+ 3586.1434 2794.3994
+ 23068862.2044 -10464923.84549 -8139369.69946 23068861.8064 23068867.5284
+ -2208.9384 -1721.2564
+ 24380191.6214 -1472978.78549 -633333.28945 24380189.5784 24380194.1364
+ -2970.4824 -2314.6594
+ 23545413.3014 -9286530.11649 -7215767.78246 23545412.6194 23545418.0164
+ -3560.0714 -2774.0864
+ 05 1 20 11 12 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20862026.8334 -18704677.66349 -14547962.57348 20862026.6824 20862030.5314
+ -1674.2384 -1304.6014
+ 20423140.7934 -22795658.15649 -17734175.48148 20423140.2984 20423141.9684
+ 545.4544 425.0314
+ 21490185.5964 -17791667.91549 -13844361.13347 21490185.3754 21490190.4864
+ 2651.5664 2066.1544
+ 21892241.3634 -12640899.37349 -9827857.59247 21892241.3914 21892244.9414
+ 2361.2134 1839.9114
+ 23700700.8234 -4987550.93949 -3864351.88246 23700700.2784 23700703.8084
+ 3583.2314 2792.1374
+ 23081490.5814 -10398566.47249 -8087662.68046 23081489.3994 23081493.9524
+ -2214.8804 -1725.8754
+ 24397153.8864 -1383838.69549 -563873.53045 24397152.9574 24397156.3574
+ -2972.1564 -2315.9664
+ 23565753.0314 -9179636.99649 -7132474.49846 23565753.3454 23565758.9634
+ -3566.1284 -2778.8044
+ 05 1 20 11 12 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20871613.0964 -18654301.31749 -14508708.27448 20871612.8814 20871616.8544
+ -1684.1884 -1312.3514
+ 20420082.6404 -22811727.47549 -17746697.02148 20420082.3594 20420084.2274
+ 525.8174 409.7324
+ 21475086.5504 -17871009.86249 -13906186.02347 21475086.7464 21475092.3584
+ 2637.8704 2055.4854
+ 21878801.5484 -12711526.95949 -9882892.07947 21878801.2454 21878805.0244
+ 2347.2724 1829.0434
+ 23680253.2824 -5095002.75149 -3948080.55746 23680252.0514 23680256.0914
+ 3580.2344 2789.7964
+ 23094151.5484 -10332030.48849 -8035816.49446 23094150.8194 23094154.9974
+ -2220.8694 -1730.5524
+ 24414124.3314 -1294648.79049 -494374.89045 24414124.4724 24414129.1264
+ -2973.8324 -2317.2764
+ 23586128.2844 -9072564.27549 -7049041.21445 23586126.6304 23586133.5244
+ -3572.0594 -2783.4374
+ 05 1 20 11 13 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20881256.1734 -18603627.16049 -14469221.91148 20881255.9234 20881259.7854
+ -1694.0714 -1320.0574
+ 20417136.7264 -22827207.45249 -17758759.33248 20417136.3254 20417138.2024
+ 506.1614 394.4134
+ 21460067.8324 -17949939.70549 -13967689.79147 21460067.2194 21460072.1834
+ 2624.0894 2044.7434
+ 21865441.2634 -12781734.71149 -9937599.43047 21865441.0644 21865445.0684
+ 2333.2334 1818.1044
+ 23659822.9724 -5202362.53049 -4031737.51246 23659822.7334 23659825.8214
+ 3577.1154 2787.3694
+ 23106846.0694 -10265315.74449 -7983831.00946 23106846.2724 23106850.6214
+ -2226.7994 -1735.1624
+ 24431104.8164 -1205411.80749 -424839.58345 24431106.0554 24431111.6314
+ -2975.2864 -2318.4024
+ 23606537.2284 -8965314.09049 -6965469.68345 23606536.0594 23606542.3484
+ -3577.9274 -2787.9724
+ 05 1 20 11 13 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20890955.1324 -18552657.00449 -14429504.90148 20890954.8104 20890959.0394
+ -1703.9204 -1327.7334
+ 20414304.0504 -22842096.78049 -17770361.39848 20414303.3024 20414304.7144
+ 486.4504 379.0504
+ 21445126.1974 -18028454.80949 -14028870.38747 21445125.7414 21445131.0954
+ 2610.1964 2033.9154
+ 21852161.0834 -12851520.12949 -9991977.68247 21852161.3154 21852165.0634
+ 2319.0854 1807.0724
+ 23639410.8274 -5309627.74749 -4115320.79746 23639410.5424 23639413.8544
+ 3573.8864 2784.8524
+ 23119575.6674 -10198422.44249 -7931706.37046 23119575.0444 23119580.3464
+ -2232.7484 -1739.8024
+ 24448097.8914 -1116131.02349 -355270.13845 24448096.5704 24448101.0854
+ -2976.7324 -2319.5254
+ 23626980.2944 -8857888.77549 -6881761.68545 23626979.0244 23626984.2084
+ -3583.7334 -2792.5134
+ 05 1 20 11 14 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20900710.9524 -18501392.76349 -14389558.74348 20900710.1964 20900714.4934
+ -1713.6784 -1335.3314
+ 20411582.3444 -22856394.49149 -17781502.46448 20411582.2584 20411584.2494
+ 466.7314 363.6884
+ 21430265.3224 -18106552.49349 -14089725.71947 21430264.7214 21430269.7734
+ 2596.2724 2023.0714
+ 21838962.4584 -12920880.59149 -10046024.79647 21838962.4474 21838966.2694
+ 2304.8984 1796.0214
+ 23619017.5174 -5416795.40849 -4198828.04246 23619016.9734 23619020.4504
+ 3570.5794 2782.2694
+ 23132338.5794 -10131350.56049 -7879442.55246 23132338.7634 23132343.8374
+ -2238.7394 -1744.4844
+ 24465094.5614 -1026809.45149 -285668.95945 24465094.2094 24465098.1974
+ -2978.0574 -2320.5674
+ 23647457.1614 -8750290.52649 -6797918.92645 23647455.9894 23647460.4674
+ -3589.5064 -2797.0184
+ 05 1 20 11 14 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20910521.9284 -18449836.25049 -14349384.82748 20910521.3614 20910525.3374
+ -1723.3884 -1342.9034
+ 20408975.2834 -22870099.74049 -17792181.86648 20408974.3134 20408976.0554
+ 446.9554 348.2754
+ 21415483.8784 -18184230.11849 -14150253.72147 21415483.3544 21415488.2714
+ 2582.2124 2012.1144
+ 21825845.0144 -12989813.42749 -10099738.71047 21825844.9814 21825849.0744
+ 2290.5944 1784.8764
+ 23598643.7774 -5523862.78149 -4282257.12946 23598643.0854 23598645.8884
+ 3567.2324 2779.6614
+ 23145136.4554 -10064100.26949 -7827039.74746 23145136.5074 23145140.9004
+ -2244.6824 -1749.1054
+ 24482098.2644 -937450.28949 -216038.43045 24482097.7384 24482101.3174
+ -2979.1904 -2321.4464
+ 23667963.1964 -8642521.49049 -6713943.08645 23667963.8774 23667968.5604
+ -3595.1414 -2801.4064
+ 05 1 20 11 15 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20920388.0474 -18397989.14949 -14308984.49648 20920387.6444 20920391.4734
+ -1733.0534 -1350.4314
+ 20406479.3024 -22883211.43349 -17802398.75648 20406479.1294 20406481.0524
+ 427.1524 332.8434
+ 21400782.7424 -18261484.99049 -14210452.32547 21400782.2834 21400787.2214
+ 2568.1124 2001.1284
+ 21812809.5524 -13058316.42349 -10153117.66347 21812809.4874 21812813.2914
+ 2276.2614 1773.7084
+ 23578290.3664 -5630827.07949 -4365605.92546 23578289.0314 23578290.6734
+ 3563.7514 2776.9434
+ 23157968.2024 -9996671.59049 -7774497.95146 23157967.8144 23157973.3084
+ -2250.5764 -1753.6914
+ 24499108.4654 -848056.34849 -146380.80045 24499108.7384 24499113.8514
+ -2980.4074 -2322.3944
+ 23688506.2164 -8534583.81349 -6629835.86045 23688504.1974 23688508.6664
+ -3600.6254 -2805.6744
+ 05 1 20 11 15 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20930309.1454 -18345853.53349 -14268359.33548 20930308.5824 20930312.3994
+ -1742.6454 -1357.9044
+ 20404098.0854 -22895728.57949 -17812152.36848 20404097.7674 20404099.0924
+ 407.3374 317.4054
+ 21386161.3454 -18338314.81249 -14270319.70847 21386161.5264 21386167.0014
+ 2553.8844 1990.0374
+ 21799855.4654 -13126386.87849 -10206159.58647 21799855.8134 21799859.6404
+ 2261.7764 1762.4224
+ 23557955.7904 -5737685.40149 -4448872.13746 23557954.7534 23557956.5964
+ 3560.1554 2774.1444
+ 23170833.5334 -9929064.48149 -7721817.08446 23170832.8864 23170836.3154
+ -2256.5504 -1758.3564
+ 24516124.6134 -758630.79449 -76698.53745 24516124.6704 24516130.3584
+ -2981.3384 -2323.1164
+ 23709074.3974 -8426479.90249 -6545599.06045 23709073.8444 23709080.8344
+ -3606.2404 -2810.0534
+ 05 1 20 11 16 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20940284.6604 -18293431.07049 -14227510.65348 20940284.1654 20940288.0364
+ -1752.1914 -1365.3474
+ 20401829.5594 -22907650.33549 -17821442.03848 20401828.8204 20401830.4694
+ 387.4384 301.8974
+ 21371623.9594 -18414716.92149 -14329853.80847 21371623.5134 21371627.9524
+ 2539.5664 1978.8804
+ 21786985.6984 -13194022.31149 -10258862.52447 21786985.4504 21786989.2494
+ 2247.2354 1751.0874
+ 23537640.8184 -5844435.21349 -4532053.82146 23537639.7074 23537643.2074
+ 3556.4984 2771.2864
+ 23183731.8974 -9861278.75949 -7668997.05846 23183731.9054 23183737.6224
+ -2262.4864 -1762.9834
+ 24533149.6494 -669176.53349 -6993.92045 24533149.1254 24533154.4214
+ -2982.2174 -2323.8044
+ 23729676.3994 -8318211.93049 -6461234.42145 23729675.9624 23729682.4774
+ -3611.5454 -2814.2024
+ 05 1 20 11 16 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20950314.0314 -18240723.54949 -14186439.85948 20950313.8964 20950317.7644
+ -1761.6204 -1372.6844
+ 20399674.3134 -22918975.76249 -17830267.03348 20399673.6104 20399675.2834
+ 367.5624 286.4164
+ 21357166.3174 -18490688.84749 -14389052.70347 21357165.9184 21357171.1544
+ 2525.1994 1967.6954
+ 21774198.4674 -13261220.39049 -10311224.66747 21774198.1364 21774201.9274
+ 2232.6054 1739.7014
+ 23517349.8344 -5951073.61849 -4615148.67846 23517347.2994 23517351.6274
+ 3552.7274 2768.3664
+ 23196665.6204 -9793314.83349 -7616038.17246 23196664.9094 23196670.0594
+ -2268.4524 -1767.6174
+ 24550175.7804 -579696.87749 62730.45045 24550175.4814 24550181.6844
+ -2983.0474 -2324.4474
+ 23750305.6964 -8209782.13249 -6376743.71045 23750309.9484 23750317.4384
+ -3616.9544 -2818.4024
+ 05 1 20 11 17 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20960398.3374 -18187732.93049 -14145148.46648 20960397.7744 20960401.7134
+ -1771.0354 -1380.0294
+ 20397632.0884 -22929704.07949 -17838626.75448 20397632.0524 20397633.6644
+ 347.6454 270.8874
+ 21342791.6914 -18566228.14549 -14447914.49247 21342791.0774 21342796.5894
+ 2510.7214 1956.4004
+ 21761494.3154 -13327978.49449 -10363243.97947 21761494.7234 21761498.0904
+ 2217.8754 1728.2084
+ 23497077.5084 -6057597.54949 -4698154.32146 23497075.9204 23497080.4474
+ 3548.8744 2765.3474
+ 23209632.9114 -9725172.33749 -7562940.14346 23209632.5004 23209635.8224
+ -2274.3944 -1772.2604
+ 24567206.8614 -490194.60649 132472.44845 24567207.1264 24567212.7754
+ -2983.7594 -2325.0074
+ 23770974.6954 -8101192.70349 -6292128.61945 23770973.5434 23770980.7234
+ -3622.3204 -2822.5904
+ 05 1 20 11 17 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20970535.1594 -18134460.87649 -14103637.76848 20970534.9064 20970538.8934
+ -1780.3784 -1387.3064
+ 20395704.4014 -22939834.52849 -17846520.59448 20395704.3274 20395706.1124
+ 327.7094 255.3604
+ 21328499.2954 -18641332.06249 -14506437.01447 21328499.5764 21328504.6394
+ 2496.1654 1945.0634
+ 21748875.4984 -13394294.35749 -10414918.68247 21748875.1584 21748878.9114
+ 2203.1194 1716.7184
+ 23476830.4574 -6164004.36249 -4781068.70246 23476828.9614 23476832.2774
+ 3544.9334 2762.2784
+ 23222632.9324 -9656851.50149 -7509703.14646 23222633.3334 23222638.7204
+ -2280.3174 -1776.8714
+ 24584242.8004 -400672.43149 202230.02745 24584243.6614 24584248.7304
+ -2984.3794 -2325.4914
+ 23791667.8514 -7992445.75049 -6207390.80345 23791668.3354 23791674.1794
+ -3627.4914 -2826.6104
+ 05 1 20 11 18 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20980725.8324 -18080909.19549 -14061909.18848 20980725.8414 20980729.7114
+ -1789.6914 -1394.5634
+ 20393891.0864 -22949366.01649 -17853947.72448 20393890.5974 20393892.1754
+ 307.7244 239.7824
+ 21314291.0204 -18715997.82349 -14564618.12448 21314291.1674 21314296.6714
+ 2481.5304 1933.6624
+ 21736339.6024 -13460165.13049 -10466246.55947 21736340.2734 21736344.1274
+ 2188.2584 1705.1344
+ 23456603.1804 -6270291.26349 -4863889.66346 23456602.2564 23456605.8434
+ 3540.8514 2759.1074
+ 23235669.7424 -9588352.43249 -7456327.27946 23235668.8024 23235673.6404
+ -2286.2594 -1781.5004
+ 24601281.4144 -311133.69649 272000.50045 24601280.5524 24601287.2854
+ -2984.8934 -2325.8944
+ 23812390.8124 -7883543.71049 -6122532.09745 23812391.8424 23812398.1924
+ -3632.6144 -2830.6044
+ 05 1 20 11 18 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 20990969.6254 -18027079.79549 -14019964.19248 20990969.0974 20990973.0114
+ -1798.9124 -1401.7524
+ 20392191.1014 -22958297.77349 -17860907.52248 20392190.8094 20392192.6074
+ 287.7294 224.2014
+ 21300167.0424 -18790223.22849 -14622456.09647 21300166.4054 21300171.2524
+ 2466.8134 1922.1894
+ 21723890.4414 -13525588.37849 -10517225.72247 21723890.8644 21723894.2394
+ 2173.2974 1693.4794
+ 23436399.6294 -6376455.37549 -4946614.93346 23436399.1674 23436403.3994
+ 3536.7594 2755.9184
+ 23248737.3394 -9519675.05849 -7402812.47446 23248738.0254 23248741.8844
+ -2292.2164 -1786.1444
+ 24618323.2744 -221581.23849 341781.70045 24618322.8034 24618327.2154
+ -2985.2744 -2326.1964
+ 23833144.9844 -7774488.86049 -6037554.36145 23833145.1694 23833149.0164
+ -3637.7154 -2834.5904
+ 05 1 20 11 19 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21001265.0634 -17972974.55849 -13977804.26548 21001264.9724 21001269.1544
+ -1808.0794 -1408.8924
+ 20390606.1714 -22966629.21049 -17867399.53748 20390605.4184 20390607.3144
+ 267.7194 208.6114
+ 21286125.9414 -18864005.86249 -14679949.05047 21286125.4094 21286131.2064
+ 2451.9994 1910.6524
+ 21711526.6094 -13590562.36649 -10567854.80647 21711526.3154 21711530.5594
+ 2158.2964 1681.7904
+ 23416222.3044 -6482494.09249 -5029242.49746 23416221.5654 23416225.2174
+ 3532.5074 2752.5984
+ 23261840.3854 -9450819.54349 -7349158.84146 23261839.5264 23261844.8484
+ -2298.1344 -1790.7614
+ 24635367.5544 -132017.98949 411571.35845 24635367.3484 24635370.7214
+ -2985.5194 -2326.3894
+ 23853925.2054 -7665283.38349 -5952459.22445 23853926.0564 23853930.7664
+ -3642.6294 -2838.4164
+ 05 1 20 11 19 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21011613.5864 -17918595.23649 -13935430.76148 21011612.9174 21011617.0124
+ -1817.1734 -1415.9804
+ 20389134.8534 -22974359.52749 -17873423.14948 20389134.3784 20389136.3174
+ 247.6614 192.9804
+ 21272170.7624 -18937343.11649 -14737094.95148 21272170.6354 21272175.4114
+ 2437.1224 1899.0534
+ 21699247.5724 -13655083.84049 -10618131.27847 21699248.3814 21699252.1144
+ 2143.1474 1669.9804
+ 23396067.7764 -6588404.43749 -5111770.02946 23396067.3544 23396071.0114
+ 3528.1654 2749.2174
+ 23274974.2344 -9381785.92249 -7295366.45846 23274976.1944 23274981.9604
+ -2304.0504 -1795.3644
+ 24652411.3374 -42447.08849 481366.96445 24652410.3874 24652415.5864
+ -2985.8354 -2326.6244
+ 23874736.0104 -7555929.45749 -5867248.41445 23874734.3284 23874740.0304
+ -3647.5824 -2842.2764
+ 05 1 20 11 20 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21022012.9894 -17863943.53849 -13892845.03148 21022012.8414 21022016.8714
+ -1826.2504 -1423.0534
+ 20387778.4294 -22981487.94149 -17878977.74848 20387778.0424 20387779.5214
+ 227.5754 177.3304
+ 21258299.9574 -19010232.46349 -14793891.85347 21258300.0024 21258304.7644
+ 2422.1484 1887.3874
+ 21687057.6254 -13719150.62449 -10668053.45647 21687057.3354 21687060.5154
+ 2127.9614 1658.1504
+ 23375940.0484 -6694183.78649 -5194195.48246 23375939.0224 23375942.0104
+ 3523.7594 2745.7874
+ 23288148.4994 -9312574.05949 -7241435.16046 23288147.3614 23288151.1724
+ -2310.0304 -1800.0254
+ 24669456.1664 47128.47849 551166.23645 24669455.8454 24669463.2754
+ -2985.8814 -2326.6634
+ 23895570.6824 -7446429.44149 -5781923.75345 23895571.7364 23895578.2734
+ -3652.4074 -2846.0264
+ 05 1 20 11 20 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21032464.5594 -17809021.46749 -13850048.60648 21032464.3274 21032468.2934
+ -1835.2334 -1430.0524
+ 20386536.2364 -22988013.63449 -17884062.69148 20386535.9894 20386537.8794
+ 207.4874 161.6804
+ 21244515.5364 -19082671.34549 -14850337.71848 21244515.2714 21244520.5724
+ 2407.0914 1875.6614
+ 21674952.1154 -13782760.27849 -10717619.42047 21674952.1204 21674955.8974
+ 2112.6674 1646.2344
+ 23355836.5114 -6799829.04849 -5276516.46146 23355835.0774 23355837.8944
+ 3519.2494 2742.2764
+ 23301351.4144 -9243184.24549 -7187365.17946 23301351.6534 23301357.0594
+ -2315.9504 -1804.6514
+ 24686499.8244 136705.75549 620966.82045 24686500.9104 24686506.2224
+ -2985.8584 -2326.6464
+ 23916439.0654 -7336785.40449 -5696486.93045 23916437.5164 23916441.2164
+ -3657.2174 -2849.7834
+ 05 1 20 11 21 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21042967.2764 -17753830.66449 -13807042.78148 21042966.5154 21042970.4504
+ -1844.1534 -1437.0014
+ 20385409.4204 -22993936.17549 -17888677.64448 20385408.8204 20385410.7124
+ 187.3544 145.9894
+ 21230817.3294 -19154657.71649 -14906430.98948 21230817.2534 21230821.8514
+ 2391.9754 1863.8764
+ 21662934.9034 -13845910.18549 -10766827.14947 21662935.3834 21662939.0104
+ 2097.3134 1634.2654
+ 23335758.4434 -6905337.47549 -5358730.81046 23335757.3004 23335760.7214
+ 3514.6414 2738.6844
+ 23314589.8794 -9173616.55149 -7133156.61146 23314590.5324 23314594.5944
+ -2321.8744 -1809.2554
+ 24703549.4724 226281.69149 690766.36945 24703547.3484 24703552.4334
+ -2985.8054 -2326.6044
+ 23937330.7284 -7226999.64849 -5610939.62145 23937329.3884 23937333.9054
+ -3661.8994 -2853.4224
+ 05 1 20 11 21 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21053520.0034 -17698373.16149 -13763829.14648 21053520.1154 21053523.7624
+ -1853.0134 -1443.9084
+ 20384396.9944 -22999254.67849 -17892821.91648 20384396.9314 20384398.9144
+ 167.2194 130.2944
+ 21217204.9494 -19226189.02049 -14962169.65948 21217204.7834 21217210.1084
+ 2376.7584 1852.0184
+ 21651006.3874 -13908598.61049 -10815675.28347 21651006.1784 21651009.8044
+ 2081.9014 1622.2584
+ 23315707.0604 -7010706.30849 -5440836.38146 23315705.9554 23315710.1014
+ 3509.9474 2735.0294
+ 23327862.4594 -9103871.22549 -7078809.62846 23327862.1104 23327866.5204
+ -2327.8164 -1813.8964
+ 24720595.0174 315853.36349 760562.53345 24720593.8404 24720597.9904
+ -2985.6294 -2326.4684
+ 23958247.3674 -7117074.48649 -5525283.74245 23958247.4184 23958251.4074
+ -3666.4374 -2856.9624
+ 05 1 20 11 22 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21064124.0484 -17642650.48349 -13720408.87048 21064123.5974 21064127.4414
+ -1861.8144 -1450.7594
+ 20383500.6344 -23003968.61849 -17896495.10048 20383500.0044 20383501.8854
+ 147.0404 114.5804
+ 21203681.4094 -19297262.72849 -15017551.76248 21203680.4464 21203685.3424
+ 2361.4484 1840.0904
+ 21639164.2414 -13970822.92649 -10864161.76447 21639165.1304 21639169.1304
+ 2066.3764 1610.1664
+ 23295682.4774 -7115932.81149 -5522831.04546 23295682.2664 23295685.7854
+ 3505.1604 2731.2954
+ 23341168.2764 -9033948.14749 -7024324.14946 23341168.5784 23341171.7544
+ -2333.7644 -1818.5124
+ 24737637.5464 405417.67649 830352.93945 24737635.0794 24737640.7454
+ -2985.3324 -2326.2314
+ 23979187.5334 -7007012.38149 -5439521.08145 23979188.7914 23979195.5494
+ -3671.1334 -2860.6174
+ 05 1 20 11 22 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21074777.9074 -17586664.50349 -13676783.42748 21074777.3214 21074781.1064
+ -1870.5884 -1457.6044
+ 20382718.5154 -23008077.24149 -17899696.61548 20382718.0774 20382720.0004
+ 126.8644 98.8524
+ 21190242.1494 -19367876.10449 -15072575.17448 21190242.2264 21190247.8754
+ 2346.0834 1828.1114
+ 21627413.1544 -14032580.48149 -10912284.54047 21627413.3934 21627416.8064
+ 2050.7754 1598.0044
+ 23275687.5504 -7221014.15549 -5604712.60346 23275685.8524 23275689.2634
+ 3500.2364 2727.4434
+ 23354507.2584 -8963847.37449 -6969700.19246 23354506.7704 23354512.0634
+ -2339.6694 -1823.1224
+ 24754678.5894 494971.87849 900135.38245 24754678.1784 24754681.9424
+ -2985.0384 -2325.9954
+ 24000157.5074 -6896815.53849 -5353653.49045 24000157.1524 24000165.6134
+ -3675.4374 -2863.9724
+ 05 1 20 11 23 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21085480.9794 -17530417.07149 -13632954.26048 21085480.8534 21085484.9094
+ -1879.2544 -1464.3534
+ 20382051.7994 -23011580.19549 -17902426.17848 20382051.4024 20382053.2684
+ 106.6554 83.1094
+ 21176893.1554 -19438027.05449 -15127238.24248 21176893.1104 21176898.0074
+ 2330.6174 1816.0704
+ 21615750.1824 -14093869.03549 -10960041.85447 21615750.4344 21615753.9004
+ 2035.1014 1585.7924
+ 23255717.8834 -7325947.50749 -5686478.84046 23255717.3114 23255721.6854
+ 3495.2934 2723.6024
+ 23367881.4554 -8893568.98049 -6914937.83946 23367881.2504 23367885.4814
+ -2345.5584 -1827.6974
+ 24771716.8684 584512.92249 969907.62445 24771714.1424 24771723.0884
+ -2984.4674 -2325.5524
+ 24021151.2384 -6786486.19149 -5267682.65945 24021153.5994 24021161.3304
+ -3679.8764 -2867.4304
+ 05 1 20 11 23 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21096234.2374 -17473910.05249 -13588922.81748 21096233.6794 21096237.5174
+ -1887.8724 -1471.0714
+ 20381500.4344 -23014476.77649 -17904683.24548 20381500.1864 20381502.0094
+ 86.4464 67.3584
+ 21163632.0354 -19507713.31549 -15181539.22048 21163632.3264 21163637.4204
+ 2315.1004 1803.9734
+ 21604176.8154 -14154686.10649 -11007431.78947 21604177.5334 21604180.8284
+ 2019.3624 1573.5284
+ 23235778.4624 -7430730.07449 -5768127.56746 23235778.5744 23235780.8904
+ 3490.2084 2719.6414
+ 23381290.0404 -8823113.33649 -6860037.36346 23381288.6404 23381293.6024
+ -2351.4724 -1832.3154
+ 24788755.6404 674038.12249 1039667.48845 24788754.0034 24788757.7574
+ -2983.8344 -2325.0684
+ 24042175.1044 -6676026.63149 -5181610.31645 24042174.5144 24042181.9014
+ -3684.1104 -2870.7314
+ 05 1 20 11 24 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21107036.6784 -17417145.20249 -13544690.46548 21107036.0604 21107039.6004
+ -1896.4424 -1477.7504
+ 20381064.7544 -23016766.51549 -17906467.44848 20381064.5204 20381066.3324
+ 66.2064 51.5864
+ 21150460.5834 -19576932.63349 -15235476.34148 21150460.1754 21150465.8314
+ 2299.4854 1791.8044
+ 21592694.7314 -14215029.62549 -11054452.71047 21592694.5914 21592698.1504
+ 2003.5194 1561.1794
+ 23215870.8134 -7535358.85749 -5849656.48846 23215868.2524 23215871.2664
+ 3485.0334 2715.5984
+ 23394731.0574 -8752480.29049 -6804998.64846 23394729.0104 23394735.2254
+ -2357.4104 -1836.9404
+ 24805786.3744 763544.62349 1109412.87445 24805785.5514 24805789.8124
+ -2983.2344 -2324.5994
+ 24063221.8754 -6565438.89849 -5095438.09345 24063218.1854 24063224.5434
+ -3688.4084 -2874.0804
+ 05 1 20 11 24 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21117886.9104 -17360124.17649 -13500258.50048 21117886.5984 21117890.1424
+ -1904.9554 -1484.3844
+ 20380744.8144 -23018448.82649 -17907778.32548 20380744.0994 20380746.0474
+ 45.9594 35.8084
+ 21137378.0074 -19645682.42549 -15289047.61048 21137378.2004 21137383.2744
+ 2283.8074 1779.5894
+ 21581302.1934 -14274896.97249 -11101102.59947 21581302.3144 21581305.6494
+ 1987.6164 1548.7894
+ 23195988.4764 -7639831.11249 -5931063.41946 23195988.1934 23195991.1034
+ 3479.7814 2711.5174
+ 23408204.9094 -8681669.90349 -6749821.77846 23408204.5444 23408208.7414
+ -2363.3234 -1841.5554
+ 24822815.9544 853029.36549 1179141.28145 24822815.0994 24822817.6984
+ -2982.4874 -2324.0164
+ 24084286.0314 -6454725.46549 -5009167.93545 24084286.6194 24084290.6444
+ -3692.4894 -2877.2694
+ 05 1 20 11 25 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21128786.3714 -17302848.68649 -13455628.24748 21128785.6254 21128789.8514
+ -1913.3984 -1490.9594
+ 20380540.3864 -23019523.35949 -17908615.61448 20380539.7524 20380541.7294
+ 25.6924 20.0194
+ 21124384.7634 -19713960.39349 -15342251.20548 21124384.9964 21124389.8464
+ 2268.0434 1767.3064
+ 21570000.5554 -14334285.98449 -11147379.75247 21570000.6424 21570004.3154
+ 1971.6424 1536.3404
+ 23176138.8764 -7744143.96449 -6012346.14647 23176138.1684 23176141.6324
+ 3474.4244 2707.3454
+ 23421710.0964 -8610682.38149 -6694506.79846 23421712.0934 23421717.3834
+ -2369.2104 -1846.1484
+ 24839839.0844 942489.35449 1248850.37545 24839837.7644 24839841.1074
+ -2981.5734 -2323.2974
+ 24105380.1694 -6343888.50549 -4922801.57045 24105379.0404 24105382.9214
+ -3696.5874 -2880.4524
+ 05 1 20 11 25 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21139733.4514 -17245320.73949 -13410801.27648 21139732.9024 21139736.9804
+ -1921.7824 -1497.4924
+ 20380451.4334 -23019989.63649 -17908978.94648 20380451.1794 20380452.7664
+ 5.3984 4.2064
+ 21111483.1564 -19781764.22049 -15395085.36148 21111482.5784 21111487.1634
+ 2252.1874 1754.9524
+ 21558791.0514 -14393194.25249 -11193282.31447 21558791.0574 21558794.6774
+ 1955.5694 1523.8214
+ 23156319.3344 -7848294.88049 -6093502.70746 23156318.5684 23156321.4594
+ 3468.9524 2703.0754
+ 23435254.4884 -8539517.98349 -6639054.04046 23435254.0284 23435260.4184
+ -2375.1054 -1850.7274
+ 24856855.0034 1031921.74349 1318537.89745 24856854.8494 24856861.3864
+ -2980.6054 -2322.5464
+ 24126494.2224 -6232930.32149 -4836340.73645 24126492.7384 24126502.1014
+ -3700.6014 -2883.5684
+ 05 1 20 11 26 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21150728.6524 -17187542.01949 -13365778.89148 21150727.8404 21150731.8894
+ -1930.1264 -1503.9924
+ 20380478.3054 -23019847.22649 -17908867.96748 20380477.9604 20380480.1904
+ -14.9174 -11.6224
+ 21098670.0514 -19849091.90349 -15447548.47248 21098670.1724 21098675.0204
+ 2236.2814 1742.5574
+ 21547672.2224 -14451619.60949 -11238808.57247 21547672.5364 21547676.4484
+ 1939.4324 1511.2464
+ 23136531.7674 -7952280.87949 -6174530.75846 23136530.3974 23136533.6404
+ 3463.4054 2698.7604
+ 23448831.4414 -8468176.59849 -6583463.39746 23448830.0844 23448835.6514
+ -2381.0194 -1855.3354
+ 24873872.7884 1121323.64749 1388201.77145 24873869.7154 24873872.2994
+ -2979.5074 -2321.6984
+ 24147632.1344 -6121853.23049 -4749787.25045 24147628.9864 24147636.5794
+ -3704.5924 -2886.6974
+ 05 1 20 11 26 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21161770.4184 -17129514.23549 -13320562.43848 21161770.1564 21161774.3544
+ -1938.3864 -1510.4294
+ 20380621.8354 -23019095.59849 -17908282.27648 20380621.1294 20380623.0034
+ -35.2014 -27.4274
+ 21085949.2914 -19915941.10049 -15499638.74648 21085949.0864 21085954.3724
+ 2220.3264 1730.1254
+ 21536647.2134 -14509559.55549 -11283956.58947 21536647.1594 21536651.1534
+ 1923.2394 1498.6354
+ 23116775.0704 -8056099.01949 -6255428.01147 23116774.6984 23116777.4844
+ 3457.7964 2694.3834
+ 23462440.1324 -8396658.38749 -6527734.96646 23462440.5814 23462445.0984
+ -2386.8514 -1859.8724
+ 24890875.2714 1210692.06149 1457839.51045 24890874.7034 24890879.8384
+ -2978.3204 -2320.7654
+ 24168790.8014 -6010659.38849 -4663142.77645 24168789.3154 24168796.7604
+ -3708.4074 -2889.6684
+ 05 1 20 11 27 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21172859.0584 -17071239.42349 -13275153.49248 21172859.1274 21172863.7254
+ -1946.6104 -1516.8384
+ 20380880.2514 -23017734.44349 -17907221.63248 20380879.9924 20380882.2464
+ -55.5374 -43.2734
+ 21073320.1104 -19982309.41649 -15551354.30848 21073319.5504 21073324.8874
+ 2204.2214 1717.5724
+ 21525714.0934 -14567012.05149 -11328724.77047 21525714.2624 21525718.1834
+ 1906.9434 1485.9344
+ 23097051.0744 -8159746.63649 -6336192.38346 23097050.7094 23097054.3804
+ 3452.0494 2689.8944
+ 23476084.0874 -8324963.72549 -6471869.01146 23476083.6284 23476088.7964
+ -2392.7694 -1864.4894
+ 24907875.6564 1300024.13449 1527448.89745 24907873.5054 24907878.8214
+ -2977.0924 -2319.8124
+ 24189973.8074 -5899351.18249 -4576409.17645 24189972.4134 24189977.9214
+ -3712.1214 -2892.5584
+ 05 1 20 11 27 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21183995.7974 -17012718.96349 -13229553.14048 21183995.3184 21183999.5034
+ -1954.7654 -1523.1944
+ 20381256.1544 -23015763.43449 -17905685.77348 20381255.2734 20381257.1194
+ -75.8544 -59.1064
+ 21060783.0924 -20048194.39149 -15602693.25148 21060782.6844 21060787.4904
+ 2188.1024 1705.0144
+ 21514874.6094 -14623974.84749 -11373111.37047 21514874.6114 21514878.4074
+ 1890.5694 1473.1684
+ 23077361.1544 -8263221.11049 -6416821.80347 23077360.2474 23077364.5464
+ 3446.2164 2685.3574
+ 23489760.5064 -8253092.37849 -6415865.41846 23489760.5324 23489764.6284
+ -2398.6034 -1869.0284
+ 24924867.8354 1389317.08849 1597027.80345 24924866.4334 24924870.6574
+ -2975.7694 -2318.7804
+ 24211177.7504 -5787930.81849 -4489588.18745 24211177.9524 24211180.2594
+ -3715.8414 -2895.4534
+ 05 1 20 11 28 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21195178.8384 -16953954.78249 -13183762.87448 21195178.2174 21195181.9114
+ -1962.8594 -1529.4994
+ 20381746.8434 -23013182.19049 -17903674.41748 20381746.3614 20381748.2664
+ -96.2344 -74.9894
+ 21048337.1724 -20113593.91649 -15653653.90948 21048337.3544 21048342.4644
+ 2171.8514 1692.3514
+ 21504128.7974 -14680445.52349 -11417114.49547 21504128.4374 21504132.5554
+ 1874.1134 1460.3464
+ 23057703.3084 -8366519.30649 -6497313.88847 23057703.0924 23057706.9514
+ 3440.3024 2680.7654
+ 23503470.4324 -8181044.67549 -6359724.35246 23503470.7354 23503474.7224
+ -2404.5464 -1873.6664
+ 24941851.0914 1478568.03149 1666574.03245 24941849.3074 24941853.3294
+ -2974.3124 -2317.6454
+ 24232400.7894 -5676400.68549 -4402681.62645 24232399.9634 24232402.2374
+ -3719.5384 -2898.3364
+ 05 1 20 11 28 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21206406.5664 -16894948.64749 -13137784.06648 21206406.5134 21206410.4414
+ -1970.8854 -1535.7544
+ 20382354.6324 -23009990.34949 -17901187.25348 20382353.7514 20382355.5424
+ -116.5724 -90.8344
+ 21035985.2614 -20178505.86449 -15704234.64248 21035984.7944 21035989.8934
+ 2155.5504 1679.6514
+ 21493476.1534 -14736421.87449 -11460732.43447 21493476.8814 21493480.7164
+ 1857.6164 1447.4964
+ 23038082.2814 -8469638.29649 -6577666.35047 23038080.6534 23038083.5504
+ 3434.2954 2676.0774
+ 23517213.4534 -8108820.92049 -6303446.15546 23517212.6844 23517218.7274
+ -2410.3944 -1878.2304
+ 24958825.6694 1567774.11349 1736085.24845 24958825.5024 24958831.1534
+ -2972.7684 -2316.4394
+ 24253638.1594 -5564763.24749 -4315691.48945 24253642.1394 24253643.1574
+ -3723.0134 -2901.0464
+ 05 1 20 11 29 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21217681.2704 -16835702.58149 -13091618.30248 21217680.8744 21217684.7524
+ -1978.8514 -1541.9594
+ 20383077.6824 -23006187.58549 -17898224.05948 20383077.5894 20383079.3304
+ -136.9484 -106.7164
+ 21023726.7574 -20242927.94349 -15754433.66548 21023726.2184 21023730.7034
+ 2139.2074 1666.9214
+ 21482919.4564 -14791901.83749 -11503963.57547 21482919.4394 21482922.7694
+ 1841.0414 1434.5804
+ 23018494.2994 -8572575.63349 -6657877.26846 23018492.5434 23018495.6134
+ 3428.1684 2671.2984
+ 23530990.1784 -8036421.20349 -6247030.82946 23530990.6814 23530996.4104
+ -2416.2834 -1882.8214
+ 24975792.2784 1656932.48249 1805559.31745 24975791.9814 24975795.1554
+ -2971.0724 -2315.1264
+ 24274904.0814 -5453020.58649 -4228619.38745 24274904.1664 24274911.0134
+ -3726.4954 -2903.7644
+ 05 1 20 11 29 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21229000.8024 -16776217.90149 -13045266.60048 21229000.0694 21229004.0224
+ -1986.7694 -1548.1274
+ 20383918.0364 -23001773.95049 -17894784.85548 20383917.3874 20383919.3674
+ -157.3134 -122.5774
+ 21011560.8394 -20306858.14049 -15804249.39448 21011560.6144 21011565.4604
+ 2122.7774 1654.1134
+ 21472457.0394 -14846883.04749 -11546806.07947 21472456.9044 21472460.4764
+ 1824.3784 1421.5924
+ 22998939.6314 -8675328.35249 -6737944.30747 22998938.8254 22998942.6724
+ 3421.9944 2666.4894
+ 23544801.5544 -7963845.44349 -6190478.34646 23544801.9544 23544806.9404
+ -2422.0954 -1887.3534
+ 24992744.7724 1746040.30949 1874993.95645 24992744.8744 24992753.2344
+ -2969.3924 -2313.8204
+ 24296192.6604 -5341175.00249 -4141467.09045 24296192.3654 24296194.4444
+ -3729.8914 -2906.3994
+ 05 1 20 11 30 0.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21240365.4714 -16716496.45249 -12998730.40148 21240364.8644 21240368.7584
+ -1994.6514 -1554.2724
+ 20384873.5864 -22996749.14349 -17890869.41148 20384873.5904 20384875.5034
+ -177.6754 -138.4494
+ 20999488.9394 -20370294.16849 -15853680.05548 20999488.8534 20999493.8874
+ 2106.2684 1641.2484
+ 21462089.4814 -14901363.38849 -11589258.30447 21462089.7714 21462093.0124
+ 1807.6324 1408.5474
+ 22979421.8274 -8777893.83749 -6817865.44347 22979421.1164 22979424.9764
+ 3415.6954 2661.5794
+ 23558646.2924 -7891093.93549 -6133788.87746 23558646.2714 23558651.9434
+ -2428.0094 -1891.9474
+ 25009694.8934 1835094.68149 1944386.98945 25009695.6914 25009698.8944
+ -2967.5394 -2312.3704
+ 24317492.8354 -5229228.87149 -4054236.40745 24317492.0314 24317499.0514
+ -3733.1804 -2908.9674
+ 05 1 20 11 30 30.0000000 0 8G16G23G 3G13G19G25G20G 1
+ 21251774.2004 -16656540.14549 -12952011.20848 21251774.2254 21251778.0504
+ -2002.4404 -1560.3464
+ 20385946.8024 -22991112.98949 -17886477.60548 20385946.0914 20385947.8964
+ -198.0744 -154.3474
+ 20987511.7794 -20433233.88749 -15902723.99948 20987511.4684 20987516.8114
+ 2089.6914 1628.3274
+ 21451817.6784 -14955340.62949 -11631318.49147 21451817.7124 21451821.8994
+ 1790.8064 1395.4314
+ 22959940.5774 -8880268.98749 -6897638.28447 22959940.3344 22959943.0094
+ 3409.3014 2656.5964
+ 23572523.6474 -7818166.98649 -6076962.68346 23572524.2294 23572529.3734
+ -2433.8274 -1896.4944
+ 25026632.4484 1924092.81849 2013736.19745 25026632.1774 25026636.8484
+ -2965.6764 -2310.9214
+ 24338809.0794 -5117184.43248 -3966929.15545 24338814.6274 24338819.4594
+ -3736.4574 -2911.5234
+ 05 1 20 11 31 0.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21263228.2614 -16596350.59049 -12905110.24948 21263227.8484 21263231.9114
+ -2010.1744 -1566.3694
+ 20387135.0414 -22984865.20349 -17881609.19148 20387134.7784 20387136.8544
+ -218.4544 -170.2254
+ 20975630.3374 -20495675.18749 -15951379.55048 20975630.1544 20975634.9554
+ 2073.0524 1615.3654
+ 21441642.5024 -15008812.33949 -11672984.76047 21441642.4444 21441646.2864
+ 1773.9374 1382.2874
+ 22940495.7984 -8982451.13649 -6977260.72447 22940494.9384 22940498.4724
+ 3402.8324 2651.5504
+ 23586433.5324 -7745064.56449 -6019999.83246 23586434.8474 23586440.0274
+ -2439.6624 -1901.0424
+ 25195386.9904 -234527.92349 -171382.12045 25195386.2134 25195392.7454
+ 2743.4014 2137.7164
+ 25043554.4004 2013031.89649 2083039.37245 25043554.7394 25043559.2654
+ -2963.6444 -2309.3354
+ 24360151.4974 -5005044.02449 -3879547.10844 24360153.1824 24360159.4644
+ -3739.6374 -2914.0074
+ 05 1 20 11 31 30.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21274725.7074 -16535929.55049 -12858028.92548 21274725.2354 21274729.9514
+ -2017.8744 -1572.3694
+ 20388440.8294 -22978005.47549 -17876263.95148 20388440.3244 20388441.8784
+ -238.8484 -186.1184
+ 20963843.6034 -20557615.96349 -15999645.08048 20963842.9004 20963847.8654
+ 2056.3164 1602.3244
+ 21431562.7074 -15061776.76949 -11714255.74147 21431563.5864 21431567.4254
+ 1756.9764 1369.0764
+ 22921088.0544 -9084437.32849 -7056730.47047 22921087.9594 22921091.7014
+ 3396.2564 2646.4344
+ 23600380.4304 -7671787.07449 -5962900.52046 23600380.1384 23600384.5874
+ -2445.4984 -1905.5874
+ 25179721.4104 -316864.25149 -235540.32345 25179719.2664 25179722.3614
+ 2745.9354 2139.6934
+ 25060465.4754 2101909.24049 2152294.41845 25060466.8824 25060474.3134
+ -2961.4394 -2307.6074
+ 24381513.0624 -4892809.85148 -3792092.01244 24381508.5994 24381514.6414
+ -3742.5294 -2916.2554
+ 05 1 20 11 32 0.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21286267.5314 -16475278.83949 -12810768.63348 21286267.1104 21286271.0614
+ -2025.5154 -1578.3244
+ 20389862.5904 -22970533.84549 -17870441.89548 20389862.1414 20389863.9454
+ -259.2724 -202.0324
+ 20952151.2434 -20619054.11249 -16047518.95848 20952151.1924 20952156.4854
+ 2039.5154 1589.2304
+ 21421581.8144 -15114231.73449 -11755129.73547 21421581.8544 21421585.5304
+ 1739.9674 1355.8174
+ 22901719.5834 -9186224.83949 -7136045.40847 22901718.9784 22901721.9034
+ 3389.5734 2641.2194
+ 23614356.4194 -7598334.67549 -5905664.91946 23614356.2824 23614361.1284
+ -2451.3434 -1910.1364
+ 25164036.9584 -399270.23649 -299752.76645 25164035.5604 25164040.5874
+ 2748.0454 2141.3324
+ 25077368.7014 2190721.98349 2221499.17045 25077367.5544 25077373.6124
+ -2959.1244 -2305.8164
+ 24402879.8914 -4780484.16948 -3704565.60244 24402885.3584 24402891.0264
+ -3745.7214 -2918.7314
+ 05 1 20 11 32 30.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21297852.2724 -16414400.07649 -12763330.64448 21297851.8354 21297856.2314
+ -2033.0764 -1584.2214
+ 20391400.5994 -22962450.11749 -17864142.88048 20391400.2044 20391402.4174
+ -279.6514 -217.9124
+ 20940555.3834 -20679987.66849 -16094999.65448 20940555.7274 20940560.7294
+ 2022.6734 1576.1084
+ 21411696.6014 -15166174.97849 -11795604.99647 21411697.4284 21411701.2164
+ 1722.8914 1342.5094
+ 22882388.3284 -9287810.91949 -7215203.40047 22882387.8414 22882390.6864
+ 3382.7964 2635.9414
+ 23628367.2584 -7524707.42249 -5848293.05446 23628367.6604 23628372.2064
+ -2457.1624 -1914.6764
+ 25148341.2364 -481745.44049 -364019.15945 25148342.3304 25148345.2824
+ 2750.1844 2143.0004
+ 25094258.5284 2279467.05149 2290651.15145 25094257.7284 25094259.6884
+ -2957.0524 -2304.2004
+ 24424279.2004 -4668069.44949 -3616969.88845 24424275.9574 24424284.1934
+ -3748.6554 -2921.0174
+ 05 1 20 11 33 0.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21309480.5904 -16353294.88349 -12715716.20848 21309479.9004 21309483.8174
+ -2040.5944 -1590.0744
+ 20393056.2674 -22953754.30049 -17857366.92048 20393055.4454 20393057.0964
+ -300.0524 -233.8054
+ 20929057.9164 -20740414.41449 -16142085.42348 20929057.3534 20929062.7644
+ 2005.7654 1562.9304
+ 21401910.3414 -15217604.37649 -11835679.86747 21401910.4674 21401914.4744
+ 1705.7174 1329.1214
+ 22863095.3414 -9389192.80249 -7294202.24947 22863095.1634 22863098.8504
+ 3375.9474 2630.5974
+ 23642411.4074 -7450905.57349 -5790785.17246 23642411.7074 23642416.4054
+ -2462.9884 -1919.2024
+ 25132635.8254 -564289.48249 -428339.19445 25132635.5524 25132637.5924
+ 2752.5964 2144.8784
+ 25111130.6054 2368142.02549 2359748.57445 25111128.1324 25111136.5354
+ -2954.6584 -2302.3324
+ 24445687.3364 -4555568.05649 -3529306.53745 24445686.6044 24445691.0374
+ -3751.5384 -2923.2794
+ 05 1 20 11 33 30.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21321150.7444 -16291964.97149 -12667926.66648 21321150.6054 21321154.5814
+ -2048.0404 -1595.8754
+ 20394826.6534 -22944446.43549 -17850114.02948 20394826.3044 20394828.2054
+ -320.5034 -249.7434
+ 20917655.7524 -20800332.34149 -16188774.71248 20917655.0774 20917660.5544
+ 1988.7444 1549.6684
+ 21392222.3444 -15268517.88849 -11875352.73447 21392221.9064 21392226.1694
+ 1688.5194 1315.7334
+ 22843843.8124 -9490367.49449 -7373039.65847 22843842.5474 22843844.9954
+ 3369.0094 2625.2094
+ 23656488.0224 -7376929.31049 -5733141.36246 23656488.1594 23656493.7754
+ -2468.7864 -1923.7344
+ 25116913.8264 -646901.89849 -492712.47045 25116914.3104 25116920.1024
+ 2754.7764 2146.5794
+ 25127990.4344 2456744.01649 2428788.99545 25127990.5394 25127995.2054
+ -2952.1204 -2300.3524
+ 24467113.5894 -4442982.09549 -3441577.33045 24467111.7714 24467116.7494
+ -3754.2644 -2925.3954
+ 05 1 20 11 34 0.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21332863.7434 -16230412.33649 -12619963.57948 21332863.7274 21332868.0354
+ -2055.4404 -1601.6394
+ 20396714.5644 -22934526.30649 -17842384.05648 20396714.3094 20396715.8654
+ -340.8594 -265.6014
+ 20906350.0534 -20859739.51649 -16235066.01648 20906349.9554 20906355.6514
+ 1971.6914 1536.3854
+ 21382632.0924 -15318913.37249 -11914621.94647 21382632.1964 21382636.5104
+ 1671.1874 1302.2294
+ 22824629.8674 -9591332.45149 -7451713.64447 22824628.9474 22824632.8644
+ 3361.9524 2619.7074
+ 23670599.0034 -7302779.04449 -5675361.96446 23670598.2634 23670603.3514
+ -2474.5754 -1928.2274
+ 25101182.8934 -729582.19249 -557138.67645 25101181.0614 25101185.2284
+ 2757.1374 2148.4194
+ 25144838.5634 2545270.16849 2497770.40245 25144837.0474 25144838.8374
+ -2949.5804 -2298.3754
+ 24488554.9574 -4330313.85049 -3353784.01945 24488551.7874 24488556.6984
+ -3756.9604 -2927.4984
+ 05 1 20 11 34 30.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21344618.8184 -16168638.43749 -12571828.07348 21344618.7154 21344622.7524
+ -2062.7704 -1607.3524
+ 20398719.4204 -22923994.09649 -17834177.13648 20398718.6394 20398720.0214
+ -361.2684 -281.5064
+ 20895142.9444 -20918633.93149 -16280957.76348 20895142.8624 20895148.5854
+ 1954.5574 1523.0334
+ 21373141.4394 -15368788.85449 -11953485.95347 21373141.0964 21373145.1664
+ 1653.8304 1288.7034
+ 22805457.2464 -9692084.72449 -7530221.89447 22805456.2394 22805458.9804
+ 3354.8404 2614.1634
+ 23684742.1814 -7228454.87649 -5617447.07446 23684742.8524 23684747.1444
+ -2480.3694 -1932.7594
+ 25085433.6744 -812329.95849 -621617.50445 25085433.1624 25085438.9024
+ 2759.3614 2150.1554
+ 25161668.6444 2633717.81249 2566690.61945 25161668.1874 25161672.9424
+ -2946.8924 -2296.2824
+ 24510008.5984 -4217565.67648 -3265928.44944 24510003.9464 24510008.5484
+ -3759.6254 -2929.5724
+ 05 1 20 11 35 0.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21356416.5384 -16106645.12249 -12523521.58348 21356415.8104 21356419.9164
+ -2070.0734 -1613.0444
+ 20400838.9234 -22912849.94149 -17825493.37548 20400838.7784 20400840.8354
+ -381.6884 -297.4214
+ 20884034.2964 -20977013.73249 -16326448.51848 20884033.9384 20884039.1694
+ 1937.3734 1509.6394
+ 21363750.0254 -15418142.00549 -11991942.96347 21363749.8884 21363753.8584
+ 1636.3884 1275.1074
+ 22786325.3634 -9792621.53949 -7608562.27747 22786324.9064 22786328.0594
+ 3347.5924 2608.5034
+ 23698918.9434 -7153956.54749 -5559396.47146 23698919.3344 23698923.9394
+ -2486.1564 -1937.2474
+ 25069673.6504 -895144.69749 -686148.48445 25069674.9044 25069678.6444
+ 2761.5814 2151.8834
+ 25178484.6594 2722084.05749 2635547.39545 25178481.9784 25178488.3284
+ -2944.1824 -2294.1644
+ 24531482.1194 -4104740.00548 -3178012.51144 24531479.9254 24531480.8544
+ -3762.0774 -2931.4854
+ 05 1 20 11 35 30.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21368253.9624 -16044434.00649 -12475045.39648 21368253.9874 21368258.1834
+ -2077.3214 -1618.6934
+ 20403076.8654 -22901093.61649 -17816332.59848 20403076.0834 20403077.8264
+ -402.0924 -313.3194
+ 20873023.0184 -21034876.82849 -16371536.64048 20873022.7694 20873028.1124
+ 1920.0924 1496.1774
+ 21354457.3714 -15466970.89249 -12029991.43847 21354457.7524 21354461.9784
+ 1618.8664 1261.4554
+ 22767235.2694 -9892940.10349 -7686732.56447 22767234.4114 22767238.4154
+ 3340.2584 2602.7974
+ 23713130.3084 -7079284.23549 -5501210.31946 23713129.3874 23713134.7124
+ -2491.9434 -1941.7814
+ 25053903.2524 -978025.93349 -750731.22445 25053902.5374 25053906.3354
+ 2763.8044 2153.6164
+ 25195285.2484 2810366.01749 2704338.54045 25195283.0024 25195287.5904
+ -2941.2934 -2291.9154
+ 24552956.6984 -3991839.14358 -3090037.89454 24552961.9344 24552970.4524
+ -3764.6924 -2933.5214
+ 05 1 20 11 36 0.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21380133.8024 -15982006.97049 -12426400.95748 21380133.4074 21380137.5244
+ -2084.4714 -1624.2604
+ 20405430.4574 -22888725.26349 -17806694.92448 20405429.9884 20405431.4694
+ -422.4814 -329.2014
+ 20862111.2364 -21092221.10749 -16416220.49348 20862110.6504 20862115.5574
+ 1902.8114 1482.7084
+ 21345266.2264 -15515273.86549 -12067630.12147 21345266.0184 21345270.2254
+ 1601.2974 1247.7644
+ 22748187.5974 -9993037.48749 -7764730.52447 22748187.0234 22748190.1194
+ 3332.8944 2597.0644
+ 23727370.4394 -7004438.79849 -5442889.21946 23727371.8194 23727376.6414
+ -2497.7254 -1946.2844
+ 25038118.9604 -1060973.18549 -815365.45045 25038118.9714 25038121.8714
+ 2766.0154 2155.3394
+ 25212065.4804 2898561.23149 2773062.02945 25212064.5054 25212070.7684
+ -2938.3424 -2289.6224
+ 24574457.8544 -3878865.34858 -3002006.36154 24574452.5504
+ -3767.0304 -2935.3514
+ 05 1 20 11 36 30.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21392054.2294 -15919365.37149 -12377589.32048 21392053.8354 21392057.7494
+ -2091.6184 -1629.8324
+ 20407899.8134 -22875745.05049 -17796580.47148 20407899.5714 20407901.5924
+ -442.8654 -345.0934
+ 20851297.3784 -21149044.78749 -16460498.68248 20851296.8924 20851302.8164
+ 1885.4204 1469.1564
+ 21336174.7374 -15563048.65249 -12104857.23448 21336175.3194 21336178.6174
+ 1583.6644 1234.0234
+ 22729181.6364 -10092911.27749 -7842554.23347 22729181.3514 22729185.6274
+ 3325.3644 2591.1964
+ 23741647.5714 -6929420.45449 -5384433.40346 23741647.5584 23741653.2544
+ -2503.4954 -1950.7684
+ 25022321.6144 -1143986.10949 -880050.85145 25022320.0964 25022325.0924
+ 2768.1554 2157.0024
+ 25228829.8114 2986666.99949 2841715.90445 25228830.2564 25228833.4864
+ -2935.3724 -2287.3044
+ 24595970.2934 -3765820.78449 -2913919.80044 24595972.3874 24595978.2664
+ -3769.3004 -2937.1104
+ 05 1 20 11 37 0.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21404015.5774 -15856511.01549 -12328611.90248 21404014.4804 21404018.2324
+ -2098.6704 -1635.3274
+ 20410487.1774 -22862153.10249 -17785989.33948 20410486.5844 20410488.2204
+ -463.2574 -360.9824
+ 20840584.3124 -21205346.01749 -16504369.77348 20840583.9854 20840588.6324
+ 1867.9704 1455.5624
+ 21327184.6864 -15610293.31349 -12141671.26347 21327184.6144 21327188.2084
+ 1565.9444 1220.2154
+ 22710220.0144 -10192558.42149 -7920201.35547 22710219.3064 22710223.0294
+ 3317.7774 2585.2814
+ 23755954.8454 -6854229.40149 -5325843.04046 23755955.4244 23755960.7404
+ -2509.2784 -1955.2724
+ 25006512.6344 -1227064.03149 -944786.87445 25006513.0664 25006517.8684
+ 2770.3314 2158.7044
+ 25245581.7744 3074680.42449 2910297.80645 25245581.6554 25245587.7984
+ -2932.2574 -2284.8734
+ 24617496.8514 -3652707.76749 -2825779.93744 24617495.9964 24617499.7504
+ -3771.5864 -2938.8984
+ 05 1 20 11 37 30.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21416015.9404 -15793445.55349 -12279469.97848 21416015.7584 21416019.4254
+ -2105.6934 -1640.8004
+ 20413189.4404 -22847949.62449 -17774921.69648 20413189.0044 20413190.8274
+ -483.6534 -376.8724
+ 20829970.6444 -21261122.66349 -16547832.09648 20829969.9134 20829974.8754
+ 1850.4494 1441.9074
+ 21318295.2264 -15657005.82649 -12178070.62247 21318295.2264 21318299.3644
+ 1548.1844 1206.3744
+ 22691302.1884 -10291976.39949 -7997669.89147 22691300.8374 22691304.6184
+ 3310.0744 2579.2864
+ 23770297.3064 -6778865.72149 -5267118.15446 23770297.0194 23770300.7514
+ -2515.0354 -1959.7704
+ 24990692.8514 -1310206.61149 -1009573.28045 24990690.9514 24990695.9844
+ 2772.4504 2160.3524
+ 25262311.3304 3162598.83349 2978805.63645 25262310.4864 25262316.7564
+ -2929.0474 -2282.3734
+ 24639031.5334 -3539528.58549 -2737588.54444 24639032.6164 24639038.2064
+ -3773.6874 -2940.5254
+ 05 1 20 11 38 0.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21428056.9834 -15730170.74049 -12230164.92748 21428056.1864 21428060.4044
+ -2112.6214 -1646.2004
+ 20416008.9134 -22833134.83749 -17763377.70748 20416008.5864 20416010.1484
+ -504.0064 -392.7334
+ 20819456.0174 -21316372.69349 -16590884.05748 20819456.1984 20819461.1174
+ 1832.8814 1428.2164
+ 21309507.7774 -15703184.44749 -12214053.96747 21309507.7704 21309511.5834
+ 1530.3734 1192.4934
+ 22672427.3014 -10391161.99749 -8074957.36447 22672426.0544 22672430.8324
+ 3302.2954 2573.2164
+ 23784670.5384 -6703329.51349 -5208258.82146 23784670.1294 23784676.3914
+ -2520.7524 -1964.2044
+ 24974855.6414 -1393413.13449 -1074409.52445 24974856.2354 24974862.1724
+ 2774.6084 2162.0304
+ 25279024.2824 3250419.63349 3047237.42345 25279022.9274 25279024.5194
+ -2925.7624 -2279.8194
+ 24660581.5174 -3426285.58149 -2649347.38845 24660583.7434 24660588.0264
+ -3775.7514 -2942.1374
+ 05 1 20 11 38 30.0000000 0 9G16G23G 3G13G19G25G27G20G 1
+ 21440136.6934 -15666688.37849 -12180698.15748 21440136.7964 21440140.6014
+ -2119.5214 -1651.5734
+ 20418944.1044 -22817708.98149 -17751357.56548 20418943.8504 20418945.3964
+ -524.3824 -408.6094
+ 20809043.2854 -21371094.67149 -16633524.55848 20809042.6324 20809047.9484
+ 1815.2364 1414.4694
+ 21300821.8784 -15748826.91949 -12249619.53747 21300822.1204 21300826.0794
+ 1512.4584 1178.5404
+ 22653597.5584 -10490112.56649 -8152061.69647 22653596.4664 22653600.4354
+ 3294.4154 2567.0784
+ 23799078.6564 -6627621.06149 -5149265.31246 23799078.8504 23799082.3754
+ -2526.4634 -1968.6714
+ 24959009.4284 -1476683.18549 -1139295.28645 24959010.1864 24959018.0934
+ 2776.7424 2163.6974
+ 25295714.3314 3338140.08748 3115591.02845 25295711.9794 25295719.1354
+ -2922.3884 -2277.1864
+ 24682141.6134 -3312981.11048 -2561058.34944 24682139.6314 24682147.7214
+ -3777.7094 -2943.6664
+ 05 1 20 11 39 0.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21452256.6054 -15603000.00349 -12131070.85248 21452255.9774 21452260.3474
+ -2126.3714 -1656.9124
+ 20421995.1194 -22801672.17849 -17738861.35348 20421995.1594 20421997.3834
+ -544.7304 -424.4624
+ 20798730.3884 -21425286.79349 -16675752.18948 20798729.9904 20798735.5694
+ 1797.5524 1400.6914
+ 21292238.8014 -15793931.60749 -12284766.05247 21292239.0834 21292243.3414
+ 1494.5084 1164.5534
+ 22634813.5344 -10588825.45349 -8228980.83547 22634812.4334 22634815.6094
+ 3286.4504 2560.8734
+ 23813517.4094 -6551740.77149 -5090137.84846 23813517.3054 23813522.5094
+ -2532.1864 -1973.1264
+ 24943157.5504 -1560016.21949 -1204230.13445 24943153.4724 24943160.2174
+ 2778.8234 2165.3214
+ 24703714.0074 -3199617.39748 -2472723.20344 24703713.9384 24703726.7614
+ -3779.6334 -2945.1594
+ 05 1 20 11 39 30.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21464414.8934 -15539107.13349 -12081284.20448 21464414.5224 21464418.7604
+ -2133.1574 -1662.2014
+ 20425163.8994 -22785024.68949 -17725889.28548 20425163.2024 20425165.0924
+ -565.0914 -440.3344
+ 20788519.0264 -21478946.95349 -16717565.30248 20788518.9594 20788524.3594
+ 1779.7654 1386.8254
+ 21283758.0034 -15838496.00249 -12319491.55147 21283758.5094 21283763.1604
+ 1476.4424 1150.4694
+ 22616074.6714 -10687297.99149 -8305712.66047 22616074.3784 22616077.8994
+ 3278.3714 2554.5744
+ 23827990.8584 -6475688.55849 -5030876.45646 23827990.0514 23827994.9864
+ -2537.9394 -1977.6094
+ 24927286.2904 -1643411.84349 -1269213.76845 24927284.4864 24927289.5284
+ 2780.8704 2166.9124
+ 24725300.2064 -3086196.82148 -2384343.74144 24725299.6094 24725305.7064
+ -3781.7004 -2946.7784
+ 05 1 20 11 40 0.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21476612.6454 -15475011.39449 -12031339.47147 21476611.5564 21476615.0864
+ -2139.8884 -1667.4474
+ 20428447.8664 -22767766.81649 -17712441.59848 20428447.5334 20428449.4244
+ -585.4264 -456.1744
+ 20778409.9834 -21532073.46349 -16758962.58248 20778409.5134 20778414.6244
+ 1761.9724 1372.9654
+ 21275381.0744 -15882518.83249 -12353795.05447 21275381.3204 21275385.4924
+ 1458.3674 1136.3884
+ 22597382.6544 -10785527.25849 -8382254.95447 22597381.9184 22597384.6674
+ 3270.1984 2548.2104
+ 23842493.0724 -6399464.88949 -4971481.44246 23842493.8894 23842500.5254
+ -2543.5794 -1982.0154
+ 24911402.8094 -1726869.28849 -1334245.55745 24911401.8804 24911407.7654
+ 2782.9854 2168.5604
+ 24746893.2084 -2972721.79749 -2295921.78744 24746892.6074 24746896.8264
+ -3783.3824 -2948.0804
+ 05 1 20 11 40 30.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21488846.6334 -15410714.47349 -11981237.98447 21488846.7084 21488851.0454
+ -2146.5584 -1672.6424
+ 20431847.7774 -22749898.96049 -17698518.59548 20431847.5244 20431849.2964
+ -605.7624 -472.0224
+ 20768402.5264 -21584664.72749 -16799942.79648 20768401.8984 20768407.1634
+ 1744.1114 1359.0494
+ 21267108.1314 -15925998.02949 -12387674.96048 21267107.9104 21267111.7794
+ 1440.2314 1122.2604
+ 22578737.4364 -10883510.57849 -8458605.58747 22578735.8464 22578738.9734
+ 3261.9834 2541.8074
+ 23857031.1274 -6323070.34049 -4911953.33446 23857032.8214 23857037.4914
+ -2549.3684 -1986.5224
+ 24895510.3044 -1810388.19849 -1399325.23645 24895510.4684 24895515.9564
+ 2785.0034 2170.1354
+ 24768493.5994 -2859194.46648 -2207459.07344 24768491.9464 24768503.3314
+ -3785.0514 -2949.3764
+ 05 1 20 11 41 0.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21501120.5174 -15346218.12149 -11930981.08647 21501120.1654 21501123.9754
+ -2153.1874 -1677.8064
+ 20435364.1984 -22731421.62149 -17684120.67648 20435363.6534 20435365.4214
+ -626.0664 -487.8414
+ 20758495.9984 -21636718.98849 -16840504.55348 20758495.9134 20758500.9834
+ 1726.1764 1345.0764
+ 21258936.5474 -15968931.77849 -12421129.83747 21258937.6394 21258941.6814
+ 1422.0234 1108.0714
+ 22560138.5704 -10981245.11949 -8534762.37047 22560137.0964 22560140.9934
+ 3253.6124 2535.2834
+ 23871602.4054 -6246505.07349 -4852292.16246 23871602.6484 23871607.0684
+ -2555.0064 -1990.9094
+ 24879604.0354 -1893967.97349 -1464452.36445 24879603.5994 24879609.8174
+ 2786.9784 2171.6734
+ 24790114.2044 -2745617.19949 -2118957.45044 24790109.3734 24790116.1744
+ -3786.6754 -2950.6574
+ 05 1 20 11 41 30.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21513431.3634 -15281523.98849 -11880570.06747 21513430.7234 21513434.6194
+ -2159.7544 -1682.9254
+ 20438995.7864 -22712335.03949 -17669248.01848 20438995.6774 20438997.4084
+ -646.3784 -503.6724
+ 20748693.8144 -21688234.37549 -16880646.41248 20748693.0734 20748697.7904
+ 1708.1794 1331.0454
+ 21250872.4074 -16011318.35649 -12454158.34148 21250872.0934 21250876.1254
+ 1403.7534 1093.8354
+ 22541587.4434 -11078728.03549 -8610723.07747 22541586.5924 22541591.0274
+ 3245.2084 2528.7364
+ 23886203.1014 -6169769.10249 -4792497.99245 23886204.0884 23886208.8434
+ -2560.7064 -1995.3494
+ 24863687.9924 -1977607.99449 -1529626.41745 24863688.3944 24863694.6644
+ 2789.0334 2173.2694
+ 24811732.4634 -2631992.27348 -2030418.73344 24811733.9624 24811735.6294
+ -3788.3454 -2951.9584
+ 05 1 20 11 42 0.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21525779.3414 -15216633.66249 -11830006.18747 21525779.2064 21525783.6984
+ -2166.2664 -1687.9954
+ 20442744.4324 -22692639.41849 -17653900.78348 20442743.7494 20442745.6644
+ -666.6704 -519.4804
+ 20738992.8974 -21739209.30949 -16920367.13948 20738992.8134 20738998.0884
+ 1690.1454 1316.9984
+ 21242910.3024 -16053155.74949 -12486758.91348 21242910.7334 21242914.6884
+ 1385.3984 1079.5334
+ 22523086.2094 -11175956.68049 -8686485.63047 22523084.8974 22523089.1974
+ 3236.7014 2522.1054
+ 23900838.8414 -6092863.21049 -4732571.38545 23900839.0284 23900843.3984
+ -2566.3774 -1999.7634
+ 24847764.5044 -2061307.70949 -1594846.97345 24847762.1164 24847766.3654
+ 2790.9724 2174.7844
+ 24833364.2974 -2518321.93248 -1941844.53544 24833362.7824 24833367.9294
+ -3789.6994 -2953.0094
+ 05 1 20 11 42 30.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21538164.8064 -15151548.75249 -11779290.67347 21538164.1484 21538168.6544
+ -2172.7414 -1693.0444
+ 20446608.3314 -22672335.33349 -17638079.42648 20446607.6554 20446609.2684
+ -686.9474 -535.2854
+ 20729396.2234 -21789641.92349 -16959665.27548 20729395.9114 20729400.9134
+ 1672.0234 1302.8704
+ 21235054.4624 -16094442.27049 -12518930.23148 21235054.6464 21235058.2094
+ 1367.0094 1065.2014
+ 22504633.1634 -11272928.29249 -8762047.94247 22504631.5094 22504635.9754
+ 3228.0704 2515.3834
+ 23915503.2124 -6015787.19949 -4672512.21845 23915505.3874 23915510.0154
+ -2572.0414 -2004.1814
+ 24831819.4034 -2145066.68849 -1660113.70145 24831820.3324 24831827.2924
+ 2792.9624 2176.3384
+ 24855003.1244 -2404608.42049 -1853236.77645 24855002.9704 24855008.2604
+ -3791.1034 -2954.1014
+ 05 1 20 11 43 0.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21550586.5304 -15086270.84349 -11728424.78447 21550586.1954 21550590.1864
+ -2179.1294 -1698.0234
+ 20450586.8834 -22651423.35049 -17621784.38148 20450586.7384 20450588.6054
+ -707.1904 -551.0544
+ 20719903.2164 -21839530.77649 -16998539.71148 20719902.8254 20719907.2054
+ 1653.8844 1288.7454
+ 21227302.4414 -16135175.99149 -12550670.78848 21227302.2064 21227306.5224
+ 1348.5514 1050.8184
+ 22486227.7124 -11369640.36149 -8837407.98547 22486227.4794 22486231.2904
+ 3219.3664 2508.5984
+ 23930205.8664 -5938541.43149 -4612320.76846 23930204.6534 23930212.5874
+ -2577.6414 -2008.5424
+ 24815874.0244 -2228884.12049 -1725426.01945 24815871.8204 24815877.4104
+ 2794.8254 2177.7874
+ 24876648.7284 -2290854.13048 -1764597.21344 24876647.0364 24876656.4734
+ -3792.4614 -2955.1604
+ 05 1 20 11 43 30.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21563045.4634 -15020801.45349 -11677409.67547 21563044.9184 21563048.8504
+ -2185.4864 -1702.9744
+ 20454682.3044 -22629903.80149 -17605015.90548 20454681.7424 20454683.8454
+ -727.4364 -566.8324
+ 20710512.5074 -21888874.14649 -17036989.08448 20710512.5074 20710517.5914
+ 1635.6634 1274.5464
+ 21219656.7214 -16175355.18049 -12581979.25948 21219657.1584 21219660.7364
+ 1330.0534 1036.4074
+ 22467875.1094 -11466089.80949 -8912563.41247 22467874.9934 22467877.2814
+ 3210.5994 2501.7654
+ 23944937.1904 -5861126.39649 -4551997.49846 23944936.8434 23944943.3084
+ -2583.3294 -2012.9814
+ 24799912.6094 -2312759.48049 -1790783.42645 24799912.6874 24799917.4454
+ 2796.7914 2179.3164
+ 24898304.0134 -2177061.46248 -1675927.81444 24898301.1164 24898312.7704
+ -3793.6604 -2956.0924
+ 05 1 20 11 44 0.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21575540.1554 -14955142.33349 -11626246.72947 21575539.5194 21575543.7034
+ -2191.7914 -1707.8874
+ 20458892.4204 -22607777.26249 -17587774.45248 20458892.1234 20458894.1934
+ -747.6684 -582.6054
+ 20701227.6924 -21937670.37649 -17075012.12248 20701227.1234 20701232.0774
+ 1617.3954 1260.3044
+ 21212116.2234 -16214978.28149 -12612854.39448 21212116.5194 21212120.8054
+ 1311.4694 1021.9184
+ 22449572.0254 -11562274.02949 -8987512.14247 22449570.9244 22449574.3994
+ 3201.6594 2494.7984
+ 23959699.7334 -5783542.11449 -4491542.22746 23959701.0794 23959706.4374
+ -2588.9494 -2017.3574
+ 24783938.0514 -2396692.38449 -1856185.68945 24783937.9734 24783944.7444
+ 2798.7164 2180.8164
+ 24919966.6174 -2063232.70149 -1587230.29844 24919963.3164 24919971.8224
+ -3794.9684 -2957.1174
+ 05 1 20 11 44 30.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21588069.1774 -14889295.03949 -11574937.14947 21588069.4074 21588073.6264
+ -2198.0334 -1712.7524
+ 20463218.8614 -22585044.19849 -17570060.38048 20463218.2754 20463220.3134
+ -767.8804 -598.3494
+ 20692046.1484 -21985917.92349 -17112607.60948 20692045.7424 20692050.7384
+ 1599.0784 1246.0354
+ 21204683.3614 -16254043.33649 -12643294.69948 21204683.3534 21204686.9324
+ 1292.8434 1007.4144
+ 22431320.4054 -11658190.27249 -9062252.06247 22431319.6124 22431322.3524
+ 3192.6984 2487.8154
+ 23974495.8354 -5705789.28049 -4430955.66545 23974496.4244 23974502.1494
+ -2594.5644 -2021.7324
+ 24767956.7534 -2480681.85249 -1921632.05345 24767957.6714 24767962.8174
+ 2800.5394 2182.2364
+ 24941633.7764 -1949370.18348 -1498506.40844 24941634.4244 24941639.1704
+ -3795.8724 -2957.8194
+ 05 1 20 11 45 0.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21600634.7244 -14823261.22749 -11523482.24047 21600635.1684 21600639.6974
+ -2204.2094 -1717.5594
+ 20467659.6664 -22561705.19649 -17551874.15248 20467659.8384 20467661.5624
+ -788.0584 -614.0674
+ 20682969.9374 -22033615.03649 -17149774.19248 20682969.4334 20682974.4834
+ 1580.7034 1231.7224
+ 21197355.6324 -16292549.11949 -12673299.20748 21197355.7084 21197359.3534
+ 1274.1614 992.8564
+ 22413117.5574 -11753835.93849 -9136781.14947 22413117.4654 22413121.5254
+ 3183.6454 2480.7694
+ 23989327.3534 -5627868.18549 -4370238.04346 23989325.7834 23989330.8834
+ -2600.1854 -2026.1094
+ 24751966.0624 -2564727.53649 -1987122.20145 24751963.7194 24751969.6964
+ 2802.3454 2183.6474
+ 24963304.4684 -1835476.02158 -1409757.85454 24963305.5204 24963308.3554
+ -3796.8594 -2958.5754
+ 05 1 20 11 45 30.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21613237.5384 -14757042.34949 -11471883.12147 21613236.6234 21613240.4634
+ -2210.3754 -1722.3734
+ 20472216.4564 -22537760.78549 -17533216.17248 20472215.9164 20472217.9984
+ -808.2404 -629.7974
+ 20673998.4814 -22080760.28349 -17186510.75448 20673998.0394 20674002.7084
+ 1562.2654 1217.3484
+ 21190134.7044 -16330493.35849 -12702866.14248 21190135.3644 21190139.1054
+ 1255.3994 978.2324
+ 22394970.2944 -11849208.12549 -9211097.14547 22394968.9854 22394973.1514
+ 3174.4724 2473.6154
+ 24004185.0594 -5549778.90049 -4309389.33045 24004184.7854 24004190.5614
+ -2605.7844 -2030.4814
+ 24735959.0934 -2648828.85949 -2052655.64545 24735958.2354 24735965.1984
+ 2804.2394 2185.1174
+ 24984986.2364 -1721552.47448 -1320986.52844 24984985.5624
+ -3797.8634 -2959.3514
+ 05 1 20 11 46 0.0000000 0 8G16G23G 3G13G19G25G27G 1
+ 21625873.0114 -14690640.07849 -11420141.09747 21625872.5624 21625876.6884
+ -2216.4304 -1727.0934
+ 20476888.4694 -22513211.63349 -17514086.97048 20476887.8324 20476889.3594
+ -828.3674 -645.4804
+ 20665132.3524 -22127352.19349 -17222816.13348 20665131.9594 20665136.8934
+ 1543.8224 1202.9794
+ 21183021.7644 -16367874.65349 -12731994.42048 21183021.6674 21183025.5364
+ 1236.6384 963.6154
+ 22376873.5194 -11944304.20249 -9285197.97447 22376873.1184 22376876.5464
+ 3165.2294 2466.4204
+ 24019076.6364 -5471522.12849 -4248410.07645 24019077.0394 24019081.5384
+ -2611.3624 -2034.8184
+ 24719947.8214 -2732985.01749 -2118231.89545 24719945.1644 24719949.7974
+ 2806.0764 2186.5564
+ 25006668.0684 -1607601.84249 -1232194.09844 25006668.1504
+ -3798.8574 -2960.1424
+ 05 1 20 11 46 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21638544.1464 -14624055.95149 -11368257.36647 21638543.1524 21638547.5884
+ -2222.4934 -1731.8074
+ 20481674.8344 -22488058.32149 -17494486.99048 20481674.0714 20481675.9754
+ -848.5214 -661.1854
+ 20656370.9994 -22173389.08149 -17258689.03748 20656371.1834 20656376.2194
+ 1525.2854 1188.5354
+ 21176016.3664 -16404691.37949 -12760682.77948 21176016.0974 21176019.5974
+ 1217.7844 948.9294
+ 22358831.0864 -12039121.44549 -9359081.53447 22358829.9134 22358833.3754
+ 3155.8914 2459.1374
+ 24033999.6834 -5393097.75449 -4187300.21845 24034000.0204 24034006.0794
+ -2616.9304 -2039.1674
+ 24703923.0584 -2817195.43449 -2183850.42445 24703920.7304 24703923.8314
+ 2807.8204 2187.9124
+ 05 1 20 11 47 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21651248.6354 -14557291.43849 -11316233.08147 21651248.4334 21651252.3524
+ -2228.4674 -1736.4734
+ 20486576.5184 -22462301.78549 -17474416.97248 20486575.6144 20486577.2894
+ -868.6074 -676.8404
+ 20647717.0484 -22218869.48149 -17294128.31348 20647716.5704 20647721.6144
+ 1506.7164 1174.0584
+ 21169117.3664 -16440941.74249 -12788929.81048 21169117.4484 21169120.9944
+ 1198.9054 934.2104
+ 22340840.3074 -12133657.12649 -9432745.70047 22340840.1224 22340843.6364
+ 3146.4404 2451.7724
+ 24048955.9864 -5314506.21949 -4126060.19346 24048956.5744 24048960.2134
+ -2622.4924 -2043.5024
+ 24687885.7804 -2901459.42849 -2249510.68845 24687886.4274 24687890.4564
+ 2809.6834 2189.3574
+ 05 1 20 11 47 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21663987.2764 -14490348.19249 -11264069.51847 21663987.2694 21663990.8064
+ -2234.4114 -1741.0984
+ 20491591.3364 -22435942.42649 -17453877.21848 20491591.1544 20491593.4254
+ -888.6794 -692.4754
+ 20639168.0094 -22263791.82449 -17329132.73548 20639167.8964 20639173.1524
+ 1488.0844 1159.5474
+ 21162327.2054 -16476624.39849 -12816734.47748 21162327.1684 21162331.0254
+ 1179.9074 919.4104
+ 22322906.2544 -12227908.58749 -9506188.38347 22322904.8304 22322908.7334
+ 3136.9334 2444.3624
+ 24063945.1334 -5235748.10349 -4064690.28846 24063944.1434 24063949.8784
+ -2628.0544 -2047.8364
+ 24671840.7754 -2985776.35249 -2315212.18445 24671840.1944 24671845.7654
+ 2811.4294 2190.7244
+ 05 1 20 11 48 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21676760.0514 -14423227.90349 -11211767.99947 21676759.5504 21676763.5484
+ -2240.2874 -1745.6814
+ 20496722.2224 -22408980.99649 -17432868.32348 20496721.8624 20496723.7204
+ -908.7464 -708.1164
+ 20630726.5564 -22308154.60049 -17363701.13548 20630726.0924 20630731.2714
+ 1469.4104 1144.9894
+ 21155644.8274 -16511737.70249 -12844095.48448 21155645.0004 21155649.1294
+ 1160.9194 904.6064
+ 22305025.2554 -12321873.21049 -9579407.57247 22305024.2634 22305027.7554
+ 3127.3394 2436.8854
+ 24078963.5664 -5156823.68449 -4003190.79646 24078963.7934 24078967.9644
+ -2633.5884 -2052.1474
+ 24655788.6884 -3070145.50249 -2380954.41345 24655786.1004 24655791.2394
+ 2813.0984 2192.0234
+ 05 1 20 11 48 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21689565.7284 -14355932.00749 -11159329.65047 21689565.1154 21689568.9494
+ -2246.1134 -1750.2254
+ 20501967.3704 -22381418.47649 -17411391.04248 20501967.0354 20501968.5054
+ -928.7634 -723.7134
+ 20622391.1534 -22351956.55449 -17397832.52948 20622390.6634 20622396.1854
+ 1450.6914 1130.4064
+ 21149071.8734 -16546280.10349 -12871011.63548 21149071.9084 21149075.9574
+ 1141.8654 889.7594
+ 22287200.1114 -12415548.07149 -9652400.97147 22287198.6104 22287202.2424
+ 3117.6274 2429.3184
+ 24094013.9984 -5077733.42049 -3941562.11145 24094012.6234 24094017.7974
+ -2639.0844 -2056.4394
+ 24639721.4704 -3154566.30049 -2446736.82945 24639721.0694 24639726.3384
+ 2814.8414 2193.3814
+ 05 1 20 11 49 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21702404.5834 -14288462.01249 -11106755.63247 21702404.5374 21702408.0884
+ -2251.8744 -1754.7054
+ 20507326.7534 -22353255.37349 -17389445.77748 20507326.3474 20507328.1254
+ -948.7704 -739.2974
+ 20614163.3194 -22395196.15949 -17431525.73248 20614162.7744 20614168.0824
+ 1431.9364 1115.7974
+ 21142607.9054 -16580249.93349 -12897481.62948 21142607.8374 21142611.5584
+ 1122.7814 874.8994
+ 22269428.9684 -12508930.73449 -9725166.67947 22269428.7044 22269431.7234
+ 3107.8464 2421.6994
+ 24109094.7364 -4998477.76249 -3879804.49445 24109095.6544 24109100.0074
+ -2644.6134 -2060.7374
+ 24623648.2474 -3239038.12449 -2512559.02545 24623647.2824 24623651.2404
+ 2816.5494 2194.7134
+ 05 1 20 11 49 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21715276.7314 -14220819.51249 -11054047.19647 21715276.4454 21715280.0454
+ -2257.6364 -1759.1954
+ 20512800.7754 -22324492.36849 -17367033.04648 20512799.9064 20512801.7324
+ -968.7734 -754.8894
+ 20606041.8554 -22437872.21949 -17464779.80848 20606041.7364 20606047.1594
+ 1413.1084 1101.1224
+ 21136253.5144 -16613645.57149 -12923504.20548 21136253.2104 21136256.8224
+ 1103.5874 859.9364
+ 22251715.4264 -12602018.53849 -9797702.64147 22251714.4684 22251717.9184
+ 3097.9734 2414.0034
+ 24124208.7934 -4919056.83049 -3817918.11845 24124208.0894 24124213.7334
+ -2650.1114 -2065.0384
+ 24607563.0314 -3323560.26249 -2578420.44245 24607562.1954 24607567.1664
+ 2818.1774 2195.9834
+ 05 1 20 11 50 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21728181.3124 -14153005.90049 -11001205.42847 21728181.1264 21728185.1164
+ -2263.2884 -1763.5994
+ 20518387.4334 -22295130.50649 -17344153.68348 20518387.2634 20518389.3654
+ -988.7074 -770.4174
+ 20598028.2404 -22479983.44349 -17497593.75248 20598028.4054 20598033.2964
+ 1394.2674 1086.4464
+ 21130007.5674 -16646465.62649 -12949078.27448 21130007.5754 21130011.3194
+ 1084.3934 844.9904
+ 22234058.7264 -12694808.56249 -9870006.54747 22234057.3674 22234060.7044
+ 3087.9914 2406.2294
+ 24139352.4564 -4839471.00149 -3755903.29245 24139352.1514 24139358.2434
+ -2655.6154 -2069.3074
+ 24591469.8284 -3408131.84049 -2644320.38945 24591469.3354 24591475.0054
+ 2819.8694 2197.3014
+ 05 1 20 11 50 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21741117.9564 -14085022.68849 -10948231.51047 21741117.6934 21741121.6354
+ -2268.9124 -1767.9854
+ 20524089.0344 -22265170.38349 -17320808.13648 20524088.2894 20524090.2164
+ -1008.6374 -785.9514
+ 20590122.6154 -22521528.40749 -17529966.45048 20590122.7204 20590127.9594
+ 1375.3654 1071.7144
+ 21123871.3054 -16678708.71349 -12974202.75748 21123871.8884 21123875.7074
+ 1065.1274 829.9684
+ 22216456.4034 -12787298.09849 -9942076.32347 22216456.2724 22216459.6814
+ 3077.9744 2398.4304
+ 24154529.7594 -4759720.81349 -3693760.41645 24154529.5704 24154534.4854
+ -2661.0954 -2073.5774
+ 24575365.2594 -3492752.32049 -2710258.41745 24575366.7274 24575371.8644
+ 2821.4564 2198.5394
+ 05 1 20 11 51 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21754086.5514 -14016871.54649 -10895126.73847 21754086.4634 21754089.9234
+ -2274.4904 -1772.3274
+ 20529903.3934 -22234613.02049 -17296997.21148 20529903.1664 20529905.2114
+ -1028.5344 -801.4574
+ 20582325.3834 -22562505.81849 -17561896.90448 20582324.8184 20582329.8994
+ 1356.4364 1056.9624
+ 21117845.6724 -16710373.34949 -12998876.48048 21117846.0004 21117850.2204
+ 1045.8314 814.9264
+ 22198914.9924 -12879484.66549 -10013910.00947 22198914.3174 22198917.7864
+ 3067.7904 2390.4834
+ 24169737.4714 -4679806.73749 -3631489.79145 24169735.7534 24169740.8804
+ -2666.5044 -2077.7914
+ 24559252.7264 -3577421.03149 -2776234.06345 24559253.7114 24559258.8384
+ 2823.0614 2199.7864
+ 05 1 20 11 51 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21767088.4754 -13948553.89549 -10841892.21447 21767087.3594 21767091.2424
+ -2280.0094 -1776.6264
+ 20535831.3654 -22203459.44249 -17272721.71148 20535831.3814 20535833.4174
+ -1048.3724 -816.9134
+ 20574635.7164 -22602914.20049 -17593383.96248 20574635.3804 20574640.6774
+ 1337.4484 1042.1714
+ 21111931.2914 -16741458.12949 -13023098.38948 21111931.2044 21111934.5934
+ 1026.4704 799.8484
+ 22181430.7774 -12971365.62749 -10085505.56247 22181430.2524 22181433.6744
+ 3057.5684 2382.5214
+ 24184974.2584 -4599728.91049 -3569091.53145 24184975.2544 24184979.2884
+ -2671.9874 -2082.0524
+ 24543136.7674 -3662137.15349 -2842246.61445 24543134.5194 24543138.5134
+ 2824.6764 2201.0484
+ 05 1 20 11 52 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21780119.3024 -13880071.38549 -10788529.23947 21780118.8864 21780122.5744
+ -2285.4774 -1780.8914
+ 20541873.4394 -22171710.48649 -17247982.27348 20541873.0904 20541875.1384
+ -1068.2134 -832.3734
+ 20567054.0734 -22642752.50549 -17624426.79748 20567053.9764 20567059.5654
+ 1318.4234 1027.3444
+ 21106126.0224 -16771961.37349 -13046867.15048 21106126.4574 21106130.1354
+ 1007.0744 784.7334
+ 22164005.4684 -13062938.43249 -10156860.99847 22164004.6444 22164007.5834
+ 3047.2624 2374.4914
+ 24200244.3724 -4519488.13549 -3506566.33545 24200243.2494 24200249.5394
+ -2677.4064 -2086.2904
+ 24527002.7424 -3746899.96649 -2908295.56545 24527003.6454 24527009.3024
+ 2826.1794 2202.2194
+ 05 1 20 11 52 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21793182.6664 -13811425.23949 -10735038.73747 21793181.9394 21793185.3494
+ -2290.8914 -1785.1094
+ 20548028.7244 -22139367.18549 -17222779.71148 20548028.2114 20548029.8574
+ -1087.9954 -847.7884
+ 20559582.3754 -22682019.42049 -17655024.39648 20559581.9774 20559587.4414
+ 1299.3604 1012.4884
+ 21100432.7194 -16801882.24049 -13070182.10348 21100432.5364 21100436.6004
+ 987.6464 769.5944
+ 22146638.5484 -13154200.34749 -10227974.16747 22146638.0974 22146640.8934
+ 3036.8764 2366.3964
+ 24215544.7534 -4439084.51849 -3443914.24845 24215544.1064 24215550.1964
+ -2682.7984 -2090.4854
+ 24510866.3434 -3831708.69749 -2974380.28345 24510865.0884 24510869.2464
+ 2827.6294 2203.3464
+ 05 1 20 11 53 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21806275.3904 -13742617.09049 -10681422.00447 21806275.1434 21806279.5854
+ -2296.2714 -1789.3004
+ 20554296.7354 -22106430.28349 -17197114.59848 20554295.9974 20554297.5114
+ -1107.7614 -863.1914
+ 20552218.5634 -22720713.67049 -17685175.76248 20552218.6664 20552224.1744
+ 1280.2714 997.6154
+ 21094849.9634 -16831218.92049 -13093041.84548 21094850.0474 21094854.0134
+ 968.1464 754.3984
+ 22129331.7814 -13245148.79149 -10298843.07747 22129330.3244 22129334.0254
+ 3026.3684 2358.2074
+ 24230874.8884 -4358518.56749 -3381135.64745 24230875.1974 24230880.3764
+ -2688.2654 -2094.7474
+ 24494719.1154 -3916562.83849 -3040500.39845 24494717.6904 24494722.7834
+ 2829.2714 2204.6274
+ 05 1 20 11 53 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21819399.5614 -13673648.51649 -10627680.28847 21819399.4974 21819404.1284
+ -2301.6144 -1793.4654
+ 20560677.0454 -22072900.81049 -17170987.74848 20560676.3044 20560677.8924
+ -1127.5144 -878.5824
+ 20544964.9854 -22758834.08949 -17714879.99348 20544964.7054 20544970.0904
+ 1261.0994 982.6754
+ 21089378.6794 -16859969.91349 -13115445.21748 21089379.1274 21089382.8164
+ 948.5784 739.1514
+ 22112085.7384 -13335781.01549 -10369465.60147 22112084.3514 22112087.4774
+ 3015.7624 2349.9484
+ 24246235.5734 -4277790.61049 -3318230.78645 24246236.8684 24246241.4174
+ -2693.6304 -2098.9294
+ 24478563.2224 -4001461.35049 -3106655.09445 24478562.2884 24478567.5594
+ 2830.6344 2205.6854
+ 05 1 20 11 54 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21832553.8854 -13604520.95649 -10573814.66947 21832553.7684 21832558.5554
+ -2306.8914 -1797.5804
+ 20567168.9784 -22038779.85749 -17144400.00548 20567168.9774 20567171.0354
+ -1147.2184 -893.9384
+ 20537820.8284 -22796379.40849 -17744136.09248 20537820.1584 20537825.2784
+ 1241.9074 967.7174
+ 21084019.6574 -16888134.00649 -13137391.26148 21084019.6814 21084022.8264
+ 928.9894 723.8854
+ 22094897.5934 -13426094.26049 -10439839.55147 22094897.5654 22094901.4044
+ 3005.0854 2341.6244
+ 24261630.3274 -4196901.07949 -3255200.09845 24261630.1584 24261634.1594
+ -2699.0154 -2103.1254
+ 24462397.9634 -4086403.63949 -3172843.87145 24462398.4534 24462402.7424
+ 2832.1014 2206.8334
+ 05 1 20 11 54 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21845738.7344 -13535235.73249 -10519826.19347 21845738.3314 21845742.5224
+ -2312.1104 -1801.6484
+ 20573774.7484 -22004068.48449 -17117352.18748 20573774.3984 20573776.1794
+ -1166.8644 -909.2474
+ 20530785.1934 -22833348.56449 -17772943.22648 20530785.0884 20530790.3554
+ 1222.6964 952.7484
+ 21078771.4444 -16915710.12649 -13158879.14548 21078771.9014 21078775.3634
+ 909.3944 708.6164
+ 22077775.1284 -13516086.11549 -10509963.08547 22077773.3894 22077777.0864
+ 2994.3494 2333.2554
+ 24277053.6744 -4115850.44649 -3192043.81245 24277053.6734 24277058.2204
+ -2704.3794 -2107.3094
+ 24446226.5054 -4171388.74549 -3239066.05645 24446225.1604 24446231.2934
+ 2833.5784 2207.9824
+ 05 1 20 11 55 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21858953.8054 -13465794.38849 -10465716.06947 21858953.2954 21858957.0054
+ -2317.3064 -1805.6954
+ 20580492.7944 -21968767.64449 -17089845.05248 20580492.1234 20580493.9364
+ -1186.4924 -924.5454
+ 20523860.0214 -22869740.56849 -17801300.64048 20523860.3614 20523864.9984
+ 1203.4284 937.7324
+ 21073636.9884 -16942696.89849 -13179907.80148 21073637.0324 21073640.2484
+ 889.7384 693.2964
+ 22060710.3574 -13605754.09849 -10579834.24147 22060709.6764 22060713.2364
+ 2983.5184 2324.8144
+ 24292507.1224 -4034639.39149 -3128762.53845 24292507.5274 24292513.4754
+ -2709.6944 -2111.4394
+ 24430045.9844 -4256416.05649 -3305321.10445 24430045.6134 24430050.7124
+ 2835.0404 2209.1204
+ 05 1 20 11 55 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21872197.3754 -13396198.28749 -10411485.34547 21872196.5644 21872200.4034
+ -2322.4194 -1809.6744
+ 20587322.2914 -21932878.61149 -17061879.59148 20587322.1074 20587323.3194
+ -1206.0854 -939.8074
+ 20517045.1434 -22905554.00249 -17829207.21048 20517045.0404 20517050.0214
+ 1184.1484 922.7124
+ 21068613.5934 -16969093.13949 -13200476.29248 21068613.5524 21068617.4014
+ 870.0204 677.9324
+ 22043710.7454 -13695095.45949 -10649450.89747 22043708.8944 22043712.4884
+ 2972.5964 2316.3084
+ 24307991.2494 -3953268.35849 -3065356.68045 24307992.9234 24307998.7564
+ -2715.0094 -2115.5964
+ 24413857.3184 -4341484.89449 -3371608.51745 24413857.9554 24413863.2054
+ 2836.2684 2210.0834
+ 05 1 20 11 56 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21885469.5084 -13326449.03349 -10357135.29547 21885469.3994 21885473.9194
+ -2327.5184 -1813.6514
+ 20594262.9264 -21896402.37349 -17033456.55748 20594262.6134 20594264.4014
+ -1225.6574 -955.0574
+ 20510340.5624 -22940787.91249 -17856662.20948 20510340.1224 20510345.4024
+ 1164.7894 907.6254
+ 21063703.2504 -16994897.49349 -13220583.58548 21063703.4584 21063706.8094
+ 850.2734 662.5454
+ 22026770.8164 -13784107.54049 -10718810.95747 22026770.4084 22026773.6474
+ 2961.5594 2307.7074
+ 24323506.7204 -3871737.60649 -3001826.28845 24323506.7554 24323511.7014
+ -2720.3434 -2119.7494
+ 24397660.3304 -4426594.34849 -3437927.55645 24397660.7704 24397666.6094
+ 2837.6204 2211.1344
+ 05 1 20 11 56 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21898771.6534 -13256547.98349 -10302666.95947 21898771.1454 21898775.4574
+ -2332.5424 -1817.5714
+ 20601315.4724 -21859340.05349 -17004576.84548 20601315.2994 20601317.1284
+ -1245.1644 -970.2604
+ 20503745.7944 -22975441.17849 -17883664.76448 20503745.7414 20503751.0874
+ 1145.4264 892.5404
+ 21058905.2534 -17020108.88849 -13240228.81548 21058905.3714 21058909.1394
+ 830.4794 647.1224
+ 22009895.9314 -13872787.84249 -10787912.48647 22009894.9464 22009898.5824
+ 2950.4564 2299.0564
+ 24339053.9774 -3790047.26349 -2938171.55845 24339052.9654 24339057.3164
+ -2725.6554 -2123.8884
+ 24381459.6524 -4511743.39149 -3504277.49845 24381458.5914 24381463.7644
+ 2838.9184 2212.1444
+ 05 1 20 11 57 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21912102.3934 -13186496.55249 -10248081.44247 21912101.5294 21912105.6984
+ -2337.5554 -1821.4714
+ 20608479.5504 -21821692.83449 -16975241.36348 20608479.1554 20608481.3604
+ -1264.6524 -985.4424
+ 20497262.3424 -23009512.85049 -17910214.12248 20497262.0504 20497267.0894
+ 1126.0054 877.4054
+ 21054221.1814 -17044725.84749 -13259410.86448 21054221.3374 21054224.7534
+ 810.6354 631.6664
+ 21993084.6064 -13961133.89849 -10856753.57447 21993083.3764 21993085.8734
+ 2939.2684 2290.3364
+ 24354629.2024 -3708198.20749 -2874393.13545 24354628.3774 24354632.9444
+ -2730.9854 -2128.0434
+ 24365248.6574 -4596931.46849 -3570657.80645 24365247.1894 24365253.1284
+ 2840.1724 2213.1194
+ 05 1 20 11 57 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21925460.5084 -13116296.20449 -10193379.88647 21925460.2084 21925464.1134
+ -2342.4814 -1825.3074
+ 20615755.4144 -21783462.05249 -16945451.15548 20615754.8824 20615756.6874
+ -1284.0744 -1000.5764
+ 20490889.5474 -23043001.75149 -17936309.37448 20490889.5054 20490894.7964
+ 1106.5724 862.2634
+ 21049650.3924 -17068747.65949 -13278129.15748 21049650.0244 21049653.7604
+ 790.8024 616.2074
+ 21976336.9114 -14049143.18149 -10925332.23747 21976336.2174 21976338.9524
+ 2927.9884 2281.5494
+ 24370231.0554 -3626191.01349 -2810491.49345 24370232.3294 24370238.7334
+ -2736.2104 -2132.1144
+ 24349030.8394 -4682157.76349 -3637067.93045 24349028.8904 24349035.0674
+ 2841.4404 2214.1094
+ 05 1 20 11 58 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21938848.2164 -13045948.28849 -10138563.33947 21938847.6604 21938851.0674
+ -2347.3574 -1829.1114
+ 20623141.5724 -21744648.64949 -16915206.95648 20623140.8074 20623142.5894
+ -1303.4774 -1015.6984
+ 20484628.6044 -23075907.27149 -17961950.04848 20484628.0304 20484632.6614
+ 1087.1154 847.1034
+ 21045191.8654 -17092173.16049 -13296382.78848 21045191.9584 21045196.0584
+ 770.9034 600.7044
+ 21959654.1764 -14136812.85949 -10993646.27547 21959652.7634 21959656.0664
+ 2916.6464 2272.7084
+ 24385866.6314 -3544026.11149 -2746467.00045 24385867.9094 24385875.6174
+ -2741.4734 -2136.2194
+ 24332805.1994 -4767421.51249 -3703507.21845 24332805.1934 24332810.7544
+ 2842.7124 2215.1024
+ 05 1 20 11 58 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21952262.1414 -12975454.45649 -10083633.09647 21952261.5374 21952266.2434
+ -2352.2094 -1832.8844
+ 20630636.8374 -21705254.09849 -16884509.91548 20630636.8314 20630639.0254
+ -1322.8334 -1030.7784
+ 20478477.4164 -23108228.23649 -17987135.22248 20478477.4644 20478482.6654
+ 1067.6104 831.9034
+ 21040848.4474 -17115000.72749 -13314170.49748 21040848.0704 21040852.2214
+ 750.9304 585.1354
+ 21943035.9024 -14224140.50349 -11061693.78747 21943035.0174 21943038.9024
+ 2905.1934 2263.7894
+ 24401535.5944 -3461703.81949 -2682319.86345 24401533.8464 24401538.7764
+ -2746.7294 -2140.3114
+ 24316572.7814 -4852721.58049 -3769974.80945 24316572.6574 24316578.2074
+ 2843.9254 2216.0474
+ 05 1 20 11 59 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21965705.1054 -12904815.72949 -10028589.94847 21965704.1034 21965707.6574
+ -2357.0034 -1836.6224
+ 20638244.2574 -21665279.65949 -16853361.01148 20638243.6284 20638245.8904
+ -1342.1384 -1045.8214
+ 20472438.8714 -23139963.77249 -18011864.21548 20472438.3864 20472443.4904
+ 1048.0824 816.6894
+ 21036618.0654 -17137228.97849 -13331491.21148 21036618.1804 21036622.0484
+ 730.9624 569.5844
+ 21926482.3894 -14311123.45049 -11129472.70947 21926482.2394 21926486.5314
+ 2893.6804 2254.8154
+ 24417227.4644 -3379224.67449 -2618050.50745 24417227.8854 24417235.1414
+ -2751.8484 -2144.2954
+ 24300334.7404 -4938057.45649 -3836470.29945 24300334.6974 24300339.6244
+ 2845.0854 2216.9504
+ 05 1 20 11 59 30.0000000 0 7G16G23G 3G13G19G25G27
+ 21979173.6074 -12834033.85649 -9973435.26847 21979173.2234 21979177.0194
+ -2361.7404 -1840.3084
+ 20645961.0724 -21624726.58849 -16821761.23548 20645961.0184 20645962.6504
+ -1361.4214 -1060.8514
+ 20466511.4654 -23171112.89749 -18036136.26648 20466511.1074 20466515.9454
+ 1028.5064 801.4354
+ 21032502.4794 -17158857.72949 -13348344.78648 21032502.4244 21032506.4764
+ 710.9384 553.9804
+ 21909996.9394 -14397759.30749 -11196981.16847 21909995.8994 21910000.2234
+ 2882.0234 2245.7324
+ 24432954.3384 -3296589.09149 -2553659.22645 24432954.2434 24432958.6444
+ -2757.1684 -2148.4424
+ 24284090.7964 -5023428.14049 -3902992.93145 24284089.2784 24284094.7354
+ 2846.2954 2217.8954
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 12 0 0.0000000 0 7G16G23G 3G13G19G25G27
+ 21992669.3704 -12763110.07349 -9918169.99347 21992669.4294 21992673.4454
+ -2366.5324 -1844.0514
+ 20653788.7874 -21583596.09149 -16789711.50948 20653788.1014 20653789.5714
+ -1380.6174 -1075.8054
+ 20460695.6384 -23201674.63249 -18059950.61248 20460695.3894 20460700.4324
+ 1008.9094 786.1644
+ 21028500.2574 -17179885.25349 -13364729.85748 21028500.6624 21028505.2324
+ 690.8694 538.3384
+ 21893576.5614 -14484045.53349 -11264217.19847 21893576.3074 21893580.0714
+ 2870.3504 2236.6334
+ 24448708.2044 -3213797.77349 -2489146.53545 24448708.4394 24448716.3154
+ -2762.3484 -2152.4714
+ 24267836.4794 -5108832.67549 -3969541.91845 24267837.0354 24267842.3684
+ 2847.3534 2218.7164
+ 05 1 20 12 0 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22006194.0604 -12692045.69749 -9862795.16647 22006193.0014 22006196.5654
+ -2371.1474 -1847.6404
+ 20661724.4514 -21541889.64549 -16757212.99348 20661724.2434 20661726.2794
+ -1399.7954 -1090.7484
+ 20454991.7294 -23231648.19949 -18083306.64148 20454991.4274 20454996.5614
+ 989.3124 770.8974
+ 21024613.8324 -17200310.80449 -13380645.87248 21024614.1374 21024618.0524
+ 670.8034 522.7084
+ 21877224.2904 -14569979.55449 -11331178.76347 21877223.5234 21877227.1364
+ 2858.5594 2227.4524
+ 24464494.4284 -3130850.93549 -2424512.75845 24464495.1074 24464499.4054
+ -2767.4874 -2156.4824
+ 24251578.9774 -5194270.47849 -4036116.83746 24251578.2784 24251584.4064
+ 2848.4474 2219.5674
+ 05 1 20 12 1 0.0000000 0 7G16G23G 3G13G19G25G27
+ 22019743.4924 -12620842.19449 -9807311.92847 22019742.4664 22019745.9914
+ -2375.7544 -1851.2384
+ 20669770.1394 -21499608.56849 -16724266.71448 20669769.7604 20669772.0214
+ -1418.9264 -1105.6574
+ 20449399.8704 -23261033.00149 -18106203.89348 20449399.5394 20449404.7054
+ 969.6604 755.5804
+ 21020841.8534 -17220133.44649 -13396092.08948 21020842.1374 21020845.8354
+ 650.7014 507.0384
+ 21860939.7834 -14655558.88849 -11397863.96747 21860938.8184 21860941.5774
+ 2846.7204 2218.2234
+ 24480307.0334 -3047749.28249 -2359758.36045 24480307.0184 24480311.9874
+ -2772.6044 -2160.4654
+ 24235315.7264 -5279740.38749 -4102716.76646 24235315.8684 24235320.1814
+ 2849.5394 2220.4164
+ 05 1 20 12 1 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22033317.3984 -12549500.79549 -9751721.25047 22033317.4714 22033322.3454
+ -2380.3094 -1854.7824
+ 20677925.1084 -21456754.19149 -16690873.70848 20677924.7774 20677926.9704
+ -1438.0134 -1120.5284
+ 20443920.3174 -23289827.91949 -18128641.50048 20443920.0804 20443925.2264
+ 949.9864 740.2524
+ 21017184.5234 -17239352.29149 -13411067.81648 21017184.9284 21017188.7954
+ 630.5594 491.3434
+ 21844722.6814 -14740781.15249 -11464270.93047 21844721.4514 21844724.6824
+ 2834.7514 2208.8954
+ 24496150.6714 -2964493.43849 -2294883.69445 24496149.9724 24496153.7304
+ -2777.7464 -2164.4784
+ 24219041.8194 -5365241.57149 -4169341.09046 24219044.3414 24219049.7484
+ 2850.5244 2221.1894
+ 05 1 20 12 2 0.0000000 0 7G16G23G 3G13G19G25G27
+ 22046919.7364 -12478022.91549 -9696024.21647 22046919.4884 22046923.9734
+ -2384.8734 -1858.3394
+ 20686189.5714 -21413327.89049 -16657035.04848 20686189.2144 20686190.8354
+ -1457.0644 -1135.3764
+ 20438552.8884 -23318032.28149 -18150618.93248 20438553.0374 20438558.2364
+ 930.2964 724.9054
+ 21013642.1634 -17257966.23449 -13425572.18048 21013642.5964 21013646.9514
+ 610.3744 475.6194
+ 21828573.6024 -14825643.41149 -11530397.36747 21828572.6934 21828575.6704
+ 2822.7224 2199.5204
+ 24512022.5314 -2881084.10449 -2229889.49045 24512024.1914 24512027.6484
+ -2782.8394 -2168.4334
+ 24202769.7604 -5450773.28149 -4235989.18546 24202768.7514 24202773.0944
+ 2851.5554 2221.9904
+ 05 1 20 12 2 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22060547.1674 -12406410.16549 -9640222.09547 22060546.8654 22060551.8284
+ -2389.3564 -1861.8374
+ 20694561.3704 -21369331.17549 -16622751.89748 20694561.1824 20694563.0274
+ -1476.0634 -1150.1814
+ 20433299.2214 -23345645.27649 -18172135.55248 20433298.6864 20433303.5594
+ 910.5544 709.5214
+ 21010216.1024 -17275974.66849 -13439604.72348 21010216.1174 21010219.3584
+ 590.1784 459.8804
+ 21812493.5584 -14910143.69449 -11596241.74447 21812493.0624 21812496.1454
+ 2810.6004 2190.0784
+ 24527925.8204 -2797521.66049 -2164775.96045 24527927.6604 24527931.7074
+ -2787.9304 -2172.4064
+ 24186488.3684 -5536334.47449 -4302660.26346 24186485.7314 24186491.6204
+ 2852.5484 2222.7644
+ 05 1 20 12 3 0.0000000 0 7G16G23G 3G13G19G25G27
+ 22074200.9884 -12334663.66749 -9584315.75447 22074200.4974 22074204.3804
+ -2393.7474 -1865.2564
+ 20703041.9394 -21324765.31149 -16588025.26848 20703041.4304 20703043.6704
+ -1494.9864 -1164.9214
+ 20428156.9214 -23372666.31749 -18193190.92348 20428156.4834 20428161.4944
+ 890.8364 694.1594
+ 21006904.2834 -17293376.41449 -13453164.53348 21006904.3204 21006907.9444
+ 569.9384 444.1104
+ 21796483.8344 -14994279.45649 -11661802.09747 21796482.6354 21796486.0454
+ 2798.4264 2180.5934
+ 24543856.1594 -2713806.14049 -2099543.19845 24543854.6794 24543862.2424
+ -2793.0754 -2176.4214
+ 24170201.2644 -5621924.27149 -4369353.60346 24170199.7944 24170203.6844
+ 2853.4694 2223.4884
+ 05 1 20 12 3 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22087878.7544 -12262784.74549 -9528306.22347 22087878.1234 22087882.6084
+ -2398.1654 -1868.6984
+ 20711630.0114 -21279632.06749 -16552856.53048 20711629.9974 20711632.0344
+ -1513.8884 -1179.6514
+ 20423127.2924 -23399094.72649 -18213784.49348 20423126.9764 20423132.5624
+ 871.0514 678.7404
+ 21003708.5644 -17310170.70449 -13466250.99948 21003708.7194 21003711.9824
+ 549.6654 428.3154
+ 21780542.2404 -15078048.29149 -11727076.49847 21780541.1894 21780545.4214
+ 2786.1414 2171.0184
+ 24559813.7054 -2629938.61549 -2034191.94045 24559813.7234 24559820.7364
+ -2798.0714 -2180.3234
+ 24153904.9304 -5707541.80149 -4436068.56446 24153905.7294 24153911.1384
+ 2854.3154 2224.1414
+ 05 1 20 12 4 0.0000000 0 7G16G23G 3G13G19G25G27
+ 22101581.3264 -12190774.65949 -9472194.48247 22101581.6214 22101585.8644
+ -2402.5114 -1872.0824
+ 20720327.3574 -21233932.68749 -16517246.63848 20720326.6734 20720328.6054
+ -1532.7374 -1194.3364
+ 20418211.0374 -23424929.52949 -18233915.51748 20418210.7914 20418216.4784
+ 851.2584 663.3204
+ 21000628.7604 -17326356.39449 -13478863.22348 21000628.8214 21000632.6864
+ 529.3684 412.4984
+ 21764672.5654 -15161447.69149 -11792063.05647 21764671.4814 21764674.8224
+ 2773.8034 2161.4104
+ 24575803.2224 -2545919.89449 -1968722.89045 24575802.3184 24575808.5224
+ -2803.1424 -2184.2714
+ 24137609.8524 -5793185.88049 -4502804.23446 24137609.2794 24137613.2384
+ 2855.1884 2224.8244
+ 05 1 20 12 4 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22115309.9894 -12118634.78349 -9415981.60747 22115309.3534 22115313.2094
+ -2406.8074 -1875.4374
+ 20729131.3944 -21187668.81749 -16481196.88748 20729130.7304 20729132.4954
+ -1551.5314 -1208.9854
+ 20413407.9734 -23450170.16149 -18253583.55248 20413407.8994 20413413.3154
+ 831.4234 647.8624
+ 20997665.2354 -17341932.65649 -13491000.57748 20997664.8964 20997668.3024
+ 509.0354 396.6494
+ 21748871.6484 -15244475.27149 -11856759.87447 21748870.9164 21748875.1394
+ 2761.3664 2151.7114
+ 24591820.0924 -2461750.34849 -1903136.28445 24591819.6634 24591825.4204
+ -2808.2154 -2188.2194
+ 24121304.1424 -5878855.98849 -4569560.12846 24121305.9874 24121311.1224
+ 2856.0414 2225.4824
+ 05 1 20 12 5 0.0000000 0 7G16G23G 3G13G19G25G27
+ 22129062.2894 -12046366.65249 -9359668.79947 22129061.7544 22129065.2374
+ -2411.0824 -1878.7614
+ 20738041.6294 -21140841.92549 -16444708.42048 20738041.1844 20738043.1934
+ -1570.2584 -1223.5774
+ 20408718.8014 -23474815.90749 -18272788.03548 20408718.4134 20408723.2224
+ 811.5994 632.4154
+ 20994816.2154 -17356898.89349 -13502662.59048 20994816.5464 20994820.1954
+ 488.6964 380.8034
+ 21733144.1174 -15327128.44049 -11921164.95947 21733143.1784 21733146.9324
+ 2748.8314 2141.9474
+ 24607863.8994 -2377430.10249 -1837432.28545 24607864.3874 24607869.9224
+ -2813.1824 -2192.0874
+ 24104999.5194 -5964551.00549 -4636335.51646 24104998.4764 24105004.3064
+ 2856.8954 2226.1564
+ 05 1 20 12 5 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22142838.0224 -11973971.26049 -9303256.83547 22142837.9764 22142841.3304
+ -2415.2784 -1882.0314
+ 20747059.2794 -21093453.79849 -16407782.62248 20747059.0174 20747060.8384
+ -1588.9654 -1238.1564
+ 20404142.1334 -23498866.32749 -18291528.62648 20404141.5464 20404146.6304
+ 791.7284 616.9304
+ 20992084.9534 -17371254.37749 -13513848.68248 20992084.6284 20992088.5184
+ 468.3284 364.9324
+ 21717486.8034 -15409404.95949 -11985276.53147 21717486.3804 21717490.6424
+ 2736.2454 2132.1384
+ 24623938.2184 -2292960.10449 -1771611.61345 24623939.3434 24623947.6974
+ -2818.1184 -2195.9304
+ 24088688.2464 -6050269.84849 -4703129.40246 24088686.9354 24088692.2434
+ 2857.6134 2226.7134
+ 05 1 20 12 6 0.0000000 0 7G16G23G 3G13G19G25G27
+ 22156638.9244 -11901450.12749 -9246746.86647 22156638.0084 22156641.6354
+ -2419.4544 -1885.2864
+ 20756183.5214 -21045505.91949 -16370420.65448 20756183.3754 20756185.0384
+ -1607.5774 -1252.6544
+ 20399678.4224 -23522320.94349 -18309804.95448 20399678.4874 20399683.2384
+ 771.8794 601.4644
+ 20989469.1794 -17384998.69749 -13524558.55448 20989469.5394 20989473.2304
+ 447.9274 349.0364
+ 21701903.5754 -15491302.20849 -12049092.56347 21701902.1864 21701905.3034
+ 2723.5514 2122.2484
+ 24640041.8344 -2208340.89449 -1705674.65344 24640041.6944 24640046.9344
+ -2823.1424 -2199.8514
+ 24072372.5344 -6136011.68149 -4769941.21546 24072371.8244 24072375.9804
+ 2858.4134 2227.3344
+ 05 1 20 12 6 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22170462.3664 -11828804.48749 -9190139.89147 22170462.0304 22170466.4324
+ -2423.5824 -1888.5064
+ 20765414.9324 -20996999.68149 -16332623.60548 20765413.8614 20765415.5154
+ -1626.1674 -1267.1434
+ 20395328.2614 -23545179.04449 -18327616.47148 20395328.1544 20395333.7684
+ 751.9934 585.9684
+ 20986970.4094 -17398130.47949 -13534791.11348 20986970.3914 20986974.5184
+ 427.5214 333.1324
+ 21686391.3114 -15572817.88749 -12112611.28148 21686390.7804 21686393.5194
+ 2710.7864 2112.2964
+ 24656173.1014 -2123573.03349 -1639621.84844 24656173.7744 24656185.5184
+ -2828.0954 -2203.7044
+ 24056050.3784 -6221775.43649 -4836770.11546 24056051.4134 24056055.5364
+ 2859.1684 2227.9184
+ 05 1 20 12 7 0.0000000 0 7G16G23G 3G13G19G25G27
+ 22184310.9474 -11756035.59849 -9133436.88747 22184310.1544 22184313.5734
+ -2427.6644 -1891.6904
+ 20774750.3124 -20947936.82749 -16294392.82248 20774749.8264 20774752.0454
+ -1644.6824 -1281.5694
+ 20391092.1764 -23567440.06749 -18344962.73248 20391091.9614 20391097.4344
+ 732.0684 570.4414
+ 20984587.5694 -17410649.24449 -13544545.99648 20984587.8334 20984591.9774
+ 407.0704 317.1994
+ 21670951.6504 -15653949.64749 -12175830.83647 21670951.1194 21670954.5274
+ 2697.9704 2102.3124
+ 24672336.2164 -2038657.13548 -1573453.68444 24672332.6704 24672332.4874
+ -2833.0324 -2207.5624
+ 24039726.8104 -6307560.18949 -4903615.41546 24039726.4394 24039731.2964
+ 2859.8034 2228.4154
+ 05 1 20 12 7 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22198181.1184 -11683144.61349 -9076638.73247 22198180.5004 22198185.1694
+ -2431.7424 -1894.8594
+ 20784191.6744 -20898319.21149 -16255729.76548 20784191.4024 20784193.7224
+ -1663.1584 -1295.9684
+ 20386970.1724 -23589103.36549 -18361843.23648 20386969.8654 20386975.1604
+ 712.1294 554.9084
+ 20982322.3204 -17422554.34049 -13553822.70748 20982322.6294 20982326.2254
+ 386.5844 301.2324
+ 21655586.8504 -15734694.96649 -12238749.26847 21655585.9284 21655589.2994
+ 2685.0534 2092.2464
+ 24688520.2004 -1953593.84648 -1507170.58744 24688523.4934
+ -2837.9234 -2211.3704
+ 24023398.2194 -6393365.04249 -4970476.33445 24023398.4424 24023403.1084
+ 2860.4614 2228.9264
+ 05 1 20 12 8 0.0000000 0 7G16G23G 3G13G19G25G27
+ 22212075.3034 -11610132.97349 -9019746.56847 22212074.5544 22212078.6214
+ -2435.7204 -1897.9634
+ 20793738.9834 -20848148.39349 -16216635.64048 20793738.9234 20793741.1314
+ -1681.5794 -1310.3234
+ 20382962.1664 -23610168.43049 -18378257.57448 20382961.5694 20382966.4474
+ 692.2004 539.3764
+ 20980174.2174 -17433845.14949 -13562620.74548 20980174.2674 20980177.5954
+ 366.1144 285.2864
+ 21640294.1204 -15815051.68349 -12301364.89647 21640293.6374 21640298.1054
+ 2672.0504 2082.1144
+ 24704732.5614 -1868383.85848 -1440773.18644 24704731.4214
+ -2842.8184 -2215.1804
+ 24007067.6714 -6479188.92849 -5037352.09246 24007067.4294 24007071.8954
+ 2861.0814 2229.4094
+ 05 1 20 12 8 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22225990.4864 -11537001.92849 -8962761.36647 22225990.4824 22225994.0024
+ -2439.6884 -1901.0564
+ 20803391.9514 -20797426.10349 -16177111.78648 20803391.0714 20803393.0654
+ -1699.9164 -1324.6104
+ 20379067.0414 -23630635.05049 -18394205.59848 20379066.9634 20379071.8204
+ 672.2264 523.8114
+ 20978142.9024 -17444521.21849 -13570939.77048 20978142.8634 20978146.5484
+ 345.6094 269.3004
+ 21625078.3034 -15895017.44149 -12363675.88348 21625077.3614 21625081.2574
+ 2658.9694 2071.9224
+ 24720985.8394 -1783027.52348 -1374261.89444 24720971.6094
+ -2847.6114 -2218.9014
+ 23990729.9204 -6565030.85449 -5104241.88746 23990732.1564 23990736.6234
+ 2861.5854 2229.8004
+ 05 1 20 12 9 0.0000000 0 7G16G23G 3G13G19G25G27
+ 22239930.0374 -11463752.82549 -8905684.15747 22239929.1734 22239933.0064
+ -2443.5944 -1904.1044
+ 20813148.6124 -20746153.85349 -16137159.40448 20813148.3264 20813149.8044
+ -1718.2154 -1338.8724
+ 20375286.1924 -23650502.79249 -18409686.96348 20375286.0034 20375291.2264
+ 652.2644 508.2554
+ 20976228.0384 -17454581.52549 -13578778.96648 20976227.9134 20976231.8634
+ 325.0544 253.2884
+ 21609935.9124 -15974589.74649 -12425680.27548 21609935.4814 21609938.9254
+ 2645.8254 2061.6804
+ 24737251.5414 -1697525.78148 -1307637.32044 24737251.6984 24737249.8924
+ -2852.4624 -2222.6934
+ 23974395.1564 -6650889.62149 -5171144.83646 23974393.6364 23974397.4704
+ 2862.1974 2230.2794
+ 05 1 20 12 9 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22253890.9364 -11390386.56049 -8848515.65847 22253890.2624 22253894.8364
+ -2447.4754 -1907.1284
+ 20823009.0184 -20694333.52149 -16096779.94048 20823008.9364 20823011.0044
+ -1736.4464 -1353.0744
+ 20371619.1414 -23669771.27249 -18424701.37348 20371619.2034 20371624.3254
+ 632.2904 492.6904
+ 20974430.9264 -17464025.61449 -13586138.00848 20974430.7954 20974434.4884
+ 304.5284 237.2914
+ 21594870.0504 -16053766.15249 -12487376.17948 21594869.1044 21594872.2314
+ 2632.5754 2051.3624
+ 24753539.8584 -1611878.83058 -1240899.48554 24753538.5814
+ -2857.2784 -2226.4524
+ 23958053.4174 -6736764.53049 -5238060.34846 23958051.3504 23958056.6714
+ 2862.7504 2230.7204
+ 05 1 20 12 10 0.0000000 0 7G16G23G 3G13G19G25G27
+ 22267873.3894 -11316904.69249 -8791257.08847 22267873.4864 22267877.6984
+ -2451.3114 -1910.1164
+ 20832975.0664 -20641966.79449 -16055974.71848 20832974.0314 20832976.0494
+ -1754.6294 -1367.2434
+ 20368067.4244 -23688439.96649 -18439248.41148 20368067.0054 20368072.0364
+ 612.2574 477.0834
+ 20972750.3494 -17472853.20549 -13593016.65948 20972750.8914 20972754.9994
+ 283.9574 221.2674
+ 21579878.8484 -16132544.60249 -12548761.98648 21579877.5144 21579881.4694
+ 2619.3324 2041.0384
+ 24769875.0374 -1526087.58248 -1174049.20544
+ -2861.9954 -2230.1284
+ 23941708.8854 -6822654.29949 -5304987.45846 23941707.9024 23941712.5424
+ 2863.2064 2231.0664
+ 05 1 20 12 10 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22281878.3074 -11243308.38649 -8733909.33347 22281877.8974 22281882.1584
+ -2455.0944 -1913.0574
+ 20843042.9484 -20589055.66249 -16014745.28748 20843042.7784 20843044.8194
+ -1772.7694 -1381.3784
+ 20364628.6684 -23706508.54549 -18453327.82748 20364628.4944 20364633.6044
+ 592.2714 461.5104
+ 20971188.9064 -17481063.61649 -13599414.39048 20971188.8324 20971192.5814
+ 263.3974 205.2474
+ 21564963.4254 -16210922.59049 -12609835.74248 21564962.7664 21564966.4504
+ 2605.9054 2030.5764
+ 24786226.4814 -1440152.70148 -1107087.14244
+ -2866.8424 -2233.8924
+ 23925360.0134 -6908558.00449 -5371925.39946 23925360.5354 23925365.9334
+ 2863.6934 2231.4474
+ 05 1 20 12 11 0.0000000 0 7G16G23G 3G13G19G25G27
+ 22295904.3204 -11169598.76249 -8676473.28047 22295904.4544 22295908.9884
+ -2458.8574 -1915.9894
+ 20853215.5144 -20535601.87449 -15973093.00048 20853214.7664 20853216.5154
+ -1790.8184 -1395.4454
+ 20361304.8664 -23723976.68949 -18466939.37348 20361304.5794 20361309.6114
+ 572.2644 445.9144
+ 20969743.7454 -17488656.45049 -13605330.89348 20969744.0604 20969748.1924
+ 242.7934 189.1884
+ 21550125.8594 -16288898.10349 -12670595.88048 21550124.8454 21550127.9274
+ 2592.4624 2020.1004
+ 24802603.7764 -1354074.59848 23014.59643
+ -2871.6974 -2237.6864
+ 23909011.9314 -6994474.57049 -5438873.39446 23909011.5374 23909016.9144
+ 2864.1154 2231.7794
+ 05 1 20 12 11 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22309952.7944 -11095777.21949 -8618950.03347 22309952.9714 22309955.7384
+ -2462.5564 -1918.8864
+ 20863489.5014 -20481607.25049 -15931019.29548 20863489.3824 20863491.6764
+ -1808.8084 -1409.4594
+ 20358095.5254 -23740844.07249 -18480082.80048 20358094.8874 20358100.0404
+ 552.2294 430.3124
+ 20968416.6064 -17495631.06849 -13610765.67048 20968416.7334 20968420.4964
+ 222.1874 173.1354
+ 21535364.2014 -16366468.66149 -12731040.47348 21535363.3014 21535366.7844
+ 2578.9354 2009.5604
+ 24819009.8164 -1267854.20358 90154.75554
+ -2876.2694 -2238.3014
+ 23892660.1924 -7080402.79049 -5505830.44046 23892659.7334 23892664.8934
+ 2864.4804 2232.0604
+ 05 1 20 12 12 0.0000000 0 7G16G23G 3G13G19G25G27
+ 22324021.7854 -11021844.85449 -8561340.41847 22324021.1814 22324025.3144
+ -2466.2384 -1921.7354
+ 20873868.1794 -20427073.46449 -15888525.45148 20873867.3774 20873868.8694
+ -1826.7704 -1423.4594
+ 20354999.3864 -23757110.36749 -18492757.83548 20354999.0054 20355004.6234
+ 532.1854 414.6884
+ 20967206.7514 -17501987.21849 -13615718.52248 20967206.9254 20967210.6404
+ 201.5694 157.0674
+ 21520679.4014 -16443631.99049 -12791167.73848 21520679.3484 21520683.0634
+ 2565.2974 1998.9374
+ 24835442.7584 -1181491.91848 157361.22244
+ -2881.0434 -2241.9934
+ 23876307.0514 -7166341.70649 -5572795.84746 23876306.3324 23876310.7084
+ 2864.8214 2232.3284
+ 05 1 20 12 12 30.0000000 0 7G16G23G 3G13G19G25G27
+ 22338111.0874 -10947802.82249 -8503645.36147 22338111.2454 22338115.1094
+ -2469.8774 -1924.5774
+ 20884346.6374 -20372002.51049 -15845613.04348 20884346.5214 20884348.6284
+ -1844.6194 -1437.3634
+ 20352018.7274 -23772775.35149 -18504964.32848 20352018.2734 20352023.8054
+ 512.1394 399.0704
+ 20966114.4474 -17507724.35249 -13620189.02748 20966115.0774 20966119.3224
+ 180.9034 140.9634
+ 21506074.4804 -16520385.80749 -12850975.91248 21506073.7394 21506077.7614
+ 2551.6094 1988.2654
+ 24851908.0554 -1094988.65848 18621.26243
+ -2885.8284 -2248.6974
+ 23859949.4834 -7252290.31249 -5639768.80746 23859950.1424 23859955.0604
+ 2865.0304 2232.4904
+ 05 1 20 12 13 0.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22352221.7474 -10873652.44049 -8445865.85947 22352221.2354 22352225.2844
+ -2473.4984 -1927.4054
+ 20894928.7664 -20316396.23049 -15802283.48948 20894928.1164 20894930.3454
+ -1862.4254 -1451.2404
+ 20349152.0514 -23787838.70349 -18516702.01048 20349151.7704 20349156.9944
+ 492.0894 383.4484
+ 20965141.3784 -17512842.36649 -13624177.09348 20965141.4384 20965145.7664
+ 160.2694 124.8914
+ 21491547.5264 -16596727.86349 -12910463.21948 21491546.0984 21491550.1684
+ 2537.8774 1977.5704
+ 24868393.6804 -1008344.91758 86170.41054
+ -2890.1744 -2254.7604
+ 23843593.8464 -7338247.35949 -5706748.30646 23843593.8874 23843599.1234
+ 2865.3474 2232.7394
+ -72485.86441 -21012.131 3 24711681.317
+ 2024.6654 1580.845
+ 05 1 20 12 13 30.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22366353.2194 -10799394.71449 -8388002.72947 22366352.6214 22366356.3014
+ -2477.0234 -1930.1444
+ 20905612.7184 -20260256.71349 -15758538.43048 20905611.4074 20905613.2074
+ -1880.1774 -1465.0704
+ 20346400.3754 -23802300.17149 -18527970.69648 20346399.9734 20346405.3404
+ 472.0134 367.8034
+ 20964285.8334 -17517340.19549 -13627681.90048 20964285.7584 20964289.9204
+ 139.6044 108.7864
+ 21477098.5284 -16672655.97349 -12969627.98748 21477097.7014 21477101.4934
+ 2524.0114 1966.7694
+ 24884910.5264 -921561.51748 153873.32344
+ -2895.1204 -2258.5804
+ 23827234.2124 -7424211.89749 -5773733.68546 23827235.0614 23827240.1284
+ 2865.5814 2232.9184
+ 24694984.6024 -133082.33349 -88760.13945
+ 2015.1424 1570.2414
+ 05 1 20 12 14 0.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22380505.1434 -10725030.95849 -8330056.94747 22380503.6284 22380507.5584
+ -2480.5484 -1932.8974
+ 20916394.9604 -20203585.83549 -15714379.31748 20916394.8374 20916397.3024
+ -1897.8804 -1478.8684
+ 20343762.7904 -23816159.61149 -18538770.26848 20343762.4994 20343767.8404
+ 451.9374 352.1584
+ 20963547.5334 -17521218.36049 -13630703.85748 20963547.5324 20963551.3824
+ 118.9224 92.6664
+ 21462728.8454 -16748168.20949 -13028468.68548 21462728.1544 21462731.8834
+ 2510.1084 1955.9254
+ 24901457.0484 -834638.94848 14172.03943
+ -2899.9194 -2259.6794
+ 23810874.5804 -7510182.77649 -5840723.99646 23810874.5344 23810880.6064
+ 2865.8234 2233.1034
+ 24683507.4314 -193391.68349 -135754.40345 24683511.7604
+ 2005.4724 1562.7024
+ 05 1 20 12 14 30.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22394673.8804 -10650562.30649 -8272029.45347 22394674.0854 22394678.9444
+ -2484.0364 -1935.6144
+ 20927280.5254 -20146385.28149 -15669807.47948 20927280.4074 20927282.5224
+ -1915.5044 -1492.6044
+ 20341239.8734 -23829416.78249 -18549100.53548 20341239.7494 20341245.0594
+ 431.8524 336.5074
+ 20962927.6704 -17524476.13649 -13633242.39148 20962927.9354 20962931.6714
+ 98.2324 76.5434
+ 21448438.8524 -16823262.09149 -13086983.40348 21448438.2564 21448441.8974
+ 2496.1174 1945.0234
+ 24918019.8614 -747578.01848 81963.15744
+ -2904.0924 -2258.5204
+ 23794514.1354 -7596158.78049 -5907718.30946 23794514.5824 23794518.9604
+ 2865.9174 2233.1784
+ 24672084.1854 -253410.87149 -182522.53845 24672083.5014 24672093.3824
+ 1995.8374 1555.2024
+ 05 1 20 12 15 0.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22408864.6234 -10575989.89549 -8213921.10947 22408864.8534 22408870.0454
+ -2487.4554 -1938.2804
+ 20938266.1714 -20088657.24149 -15624824.61048 20938265.7174 20938267.6884
+ -1933.0144 -1506.2434
+ 20338832.5544 -23842071.94249 -18558961.70848 20338831.9014 20338837.0184
+ 411.8154 320.8954
+ 20962425.9724 -17527113.31049 -13635297.34948 20962426.1204 20962429.7724
+ 77.5874 60.4554
+ 21434229.2664 -16897935.40849 -13145170.39848 21434228.3694 21434232.2694
+ 2482.0854 1934.0924
+ 24934605.6924 -660379.66658 149778.04554
+ -2909.2224 -2262.5194
+ 23778152.2954 -7682139.01849 -5974715.88246 23778152.5394 23778157.9124
+ 2866.0954 2233.3244
+ 24660723.0574 -313137.22659 -229062.51355 24660722.3274 24660729.4534
+ 1985.9994 1547.5284
+ 05 1 20 12 15 30.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22423075.5594 -10501314.95549 -8155732.86647 22423075.0864 22423079.8224
+ -2490.8684 -1940.9334
+ 20949352.0714 -20030403.79249 -15579432.33048 20949351.0444 20949353.1194
+ -1950.5204 -1519.8864
+ 20336539.0814 -23854124.72849 -18568353.48848 20336538.1234 20336543.5404
+ 391.7214 305.2354
+ 20962042.7044 -17529129.55549 -13636868.46048 20962042.2524 20962046.2464
+ 56.8424 44.2894
+ 21420100.4424 -16972185.96849 -13203027.97248 21420099.1284 21420102.7534
+ 2467.9474 1923.0744
+ 24951231.1844 -573045.49858 5159.67653
+ -2913.5164 -2270.2324
+ 23761791.6654 -7768122.20549 -6041715.78546 23761791.1544 23761796.3214
+ 2866.1124 2233.3414
+ 24649414.1424 -372567.88949 -275372.11845 24649411.2414 24649419.2074
+ 1976.0614 1539.7924
+ 05 1 20 12 16 0.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22437304.7644 -10426538.61349 -8097465.61647 22437304.8294 22437308.7534
+ -2494.2084 -1943.5334
+ 20960536.4464 -19971626.63949 -15533631.98048 20960536.1114 20960537.8594
+ -1967.9794 -1533.4894
+ 20334359.5324 -23865575.03749 -18577275.82648 20334359.2694 20334364.3764
+ 371.6244 289.5764
+ 20961775.7644 -17530524.73849 -13637955.62748 20961776.7014 20961780.4734
+ 36.1824 28.1944
+ 21406050.8924 -17046011.73949 -13260554.55148 21406050.3034 21406054.1254
+ 2453.7504 1912.0124
+ 24967876.4044 -485573.41148 73351.07044
+ -2917.9884 -2278.1864
+ 23745428.9894 -7854107.11349 -6108717.03846 23745428.3844 23745433.1264
+ 2866.1524 2233.3584
+ 24638156.9874 -431699.84049 -321449.01845 24638158.5944 24638165.1564
+ 1966.0464 1531.9824
+ 05 1 20 12 16 30.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22451552.9524 -10351662.12749 -8039120.32547 22451552.6974 22451557.3334
+ -2497.5264 -1946.1174
+ 20971820.7794 -19912328.12849 -15487425.36948 20971820.1454 20971822.0024
+ -1985.2694 -1546.9614
+ 20332294.8294 -23876422.73849 -18585728.58048 20332294.7004 20332300.1064
+ 351.5324 273.9214
+ 20961629.9514 -17531298.45949 -13638558.53948 20961630.0394 20961633.3524
+ 15.4404 12.0314
+ 21392084.3184 -17119410.08649 -13317748.06348 21392083.4624 21392086.9754
+ 2439.4794 1900.8914
+ 24984543.6774 -397965.57758 141750.52154
+ -2922.5314 -2281.7504
+ 23729066.9454 -7940092.73249 -6175718.82946 23729066.0504 23729071.0384
+ 2866.1934 2233.3964
+ 24626963.9774 -490530.39149 -367290.93645 24626963.4934 24626968.6424
+ 1955.8624 1524.0474
+ 05 1 20 12 17 0.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22465820.5884 -10276686.35749 -7980697.67847 22465821.2364 22465825.6974
+ -2500.8214 -1948.6914
+ 20983203.6494 -19852510.00449 -15440813.87648 20983203.2934 20983205.1314
+ -2002.5714 -1560.4444
+ 20330345.5444 -23886668.04149 -18593711.94648 20330345.3944 20330350.5524
+ 331.4544 258.2764
+ 20961599.8134 -17531450.68149 -13638677.16948 20961600.4504 20961604.4944
+ -5.2994 -4.1344
+ 21378198.9234 -17192379.29449 -13374607.19148 21378197.3834 21378201.1324
+ 2425.1224 1889.7044
+ 25001241.618
+
+ 23712703.4224 -8026077.82749 -6242720.21646 23712702.8154 23712708.8704
+ 2866.0914 2233.3114
+ 24615830.0514 -549056.69049 -412895.85545 24615828.2844 24615833.4714
+ 1945.8174 1516.2234
+ 05 1 20 12 17 30.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22480107.8624 -10201612.43849 -7922198.54147 22480106.9324 22480110.6614
+ -2504.0814 -1951.2354
+ 20994684.9154 -19792174.55249 -15393799.25548 20994684.0174 20994686.3564
+ -2019.8064 -1573.8764
+ 20328510.7094 -23896310.80449 -18601225.79448 20328510.4604 20328515.5674
+ 311.3814 242.6354
+ 20961689.6694 -17530981.39349 -13638311.49848 20961689.6734 20961694.0894
+ -25.9794 -20.2394
+ 21364394.9334 -17264917.30249 -13431130.30848 21364394.2924 21364397.7934
+ 2410.7214 1878.4864
+ 25017967.2004 -222346.78748 67957.00644
+ -2931.4774 -2284.0434
+ 23696341.7314 -8112061.36849 -6309720.37846 23696341.1984 23696346.5814
+ 2866.1174 2233.3304
+ 24604747.6464 -607275.92649 -458261.47345 24604746.8324 24604755.7514
+ 1935.5234 1508.1964
+ 05 1 20 12 18 0.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22494412.4224 -10126441.60549 -7863623.88647 22494411.2764 22494415.7164
+ -2507.2954 -1953.7464
+ 21006264.3024 -19731323.69149 -15346383.01748 21006263.6764 21006266.0424
+ -2036.9264 -1587.2154
+ 20326790.8804 -23905351.00349 -18608270.11448 20326790.2294 20326795.4174
+ 291.2994 226.9884
+ 20961897.1834 -17529890.22949 -13637461.25548 20961897.7894 20961901.5074
+ -46.7324 -36.4144
+ 21350674.5604 -17337021.84349 -13487315.67248 21350673.3084 21350676.8984
+ 2396.2294 1867.1894
+ 25034715.4264 -134336.84948 136530.23744
+ -2935.8664 -2287.4934
+ 23679982.1534 -8198041.99249 -6376718.29246 23679980.5134 23679985.1524
+ 2865.9694 2233.2284
+ 24593723.7674 -665185.31849 -503385.66145 24593725.8874 24593735.6314
+ 1925.2094 1500.1594
+ 05 1 20 12 18 30.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22508734.9214 -10051175.14549 -7804974.71747 22508733.9444 22508738.7004
+ -2510.4554 -1956.1984
+ 21017941.7354 -19669959.76249 -15298566.99748 21017941.1984 21017943.1494
+ -2054.0154 -1600.5314
+ 20325184.8454 -23913788.89449 -18614845.10148 20325184.6574 20325189.6394
+ 271.2224 211.3444
+ 20962223.6074 -17528177.49749 -13636126.67748 20962223.3344 20962227.3824
+ -67.4394 -52.5494
+ 21337035.4564 -17408690.86249 -13543161.65648 21337034.7904 21337038.5874
+ 2381.6744 1855.8524
+ 25051488.3244 -46194.58548 205206.60344
+ -2940.2324 -2290.9064
+ 23663619.2034 -8284018.61349 -6443713.06546 23663618.9464 23663624.3534
+ 2865.7824 2233.0764
+ 24582772.3944 -722782.11949 -548266.25645 24582770.1384 24582774.7794
+ 1914.6874 1491.9604
+ 05 1 20 12 19 0.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22523075.0474 -9975814.08549 -7746251.86047 22523074.2654 22523079.1184
+ -2513.5884 -1958.6384
+ 21029715.7174 -19608084.71749 -15250352.69048 21029715.3234 21029717.5144
+ -2071.0214 -1613.7804
+ 20323693.2954 -23921624.48049 -18620950.76148 20323693.2564 20323698.6074
+ 251.1434 195.6964
+ 20962667.1514 -17525842.84349 -13634307.47948 20962667.7834 20962671.5094
+ -88.1734 -68.7054
+ 21323481.4844 -17479922.32049 -13598666.68548 21323480.2664 21323483.5814
+ 2367.0744 1844.4714
+ 25068284.5794 42079.77148 63614.54043
+ -2944.5814 -2294.5594
+ 23647260.2684 -8369990.04449 -6510703.79546 23647259.9664 23647264.5564
+ 2865.5834 2232.9274
+ 24571869.5604 -780063.28749 -592900.89345 24571868.4274 24571873.3384
+ 1904.0534 1483.6794
+ 05 1 20 12 19 30.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22537434.4834 -9900359.38849 -7687456.00747 22537433.9304 22537437.6864
+ -2516.7084 -1961.0724
+ 21041587.2504 -19545700.70449 -15201741.79748 21041586.8674 21041588.9154
+ -2087.9184 -1626.9524
+ 20322317.1124 -23928857.93449 -18626587.23248 20322316.8714 20322322.2274
+ 231.0664 180.0514
+ 20963230.2404 -17522886.29349 -13632003.68548 20963230.1744 20963234.3044
+ -108.9344 -84.8834
+ 21310009.1674 -17550714.09049 -13653829.10648 21310008.7614 21310012.3024
+ 2352.3634 1833.0144
+ 25085109.5764 130485.26949 132505.17244
+ -2948.9854 -2298.0244
+ 23630900.8394 -8455954.96049 -6577689.47346 23630900.7794 23630905.7004
+ 2865.4054 2232.7864
+ 24561028.2134 -837025.89249 -637287.33745 24561027.6844 24561034.3184
+ 1893.4304 1475.4064
+ 05 1 20 12 20 0.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22551810.4374 -9824812.10849 -7628588.01247 22551809.6334 22551813.9524
+ -2519.7844 -1963.4644
+ 21053555.2434 -19482810.07649 -15152736.13748 21053554.8264 21053556.6354
+ -2104.7844 -1640.0914
+ 20321055.4014 -23935489.08649 -18631754.37548 20321055.1214 20321060.4054
+ 210.9964 164.4154
+ 20963911.3484 -17519307.86249 -13629215.30748 20963911.4964 20963915.5034
+ -129.6424 -101.0194
+ 21296622.7754 -17621064.03149 -13708647.24248 21296621.8844 21296625.2904
+ 2337.6014 1821.5114
+ 25101954.9294 219021.33448 201497.51044
+ -2953.3244 -2301.3904
+ 23614542.3034 -8541912.19249 -6644669.14446 23614543.2294 23614549.2304
+ 2865.0784 2232.5354
+ 24550249.6834 -893667.36249 -681423.56145 24550249.3324 24550256.8484
+ 1882.6434 1466.9944
+ 05 1 20 12 20 30.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22566204.0014 -9749173.34249 -7569648.74347 22566203.3594 22566207.9554
+ -2522.7914 -1965.8104
+ 21065619.1414 -19419414.85149 -15103337.27748 21065618.6694 21065620.6114
+ -2121.5644 -1653.1694
+ 20319908.5764 -23941518.16149 -18636452.36248 20319907.8674 20319912.9504
+ 190.9274 148.7734
+ 20964710.6324 -17515107.47449 -13625942.29848 20964710.7824 20964714.5954
+ -150.4004 -117.1954
+ 21283319.7744 -17690970.19349 -13763119.56848 21283318.8844 21283322.5744
+ 2322.7894 1809.9644
+ 25118830.2004 307686.89148 58210.89043
+ -2957.6994 -2304.6584
+ 23598188.3924 -8627860.61449 -6711641.95246 23598188.0534 23598193.3244
+ 2864.6994 2232.2394
+ 24539533.2024 -949984.94849 -725307.39245 24539533.5954 24539540.7234
+ 1871.7624 1458.5124
+ 05 1 20 12 21 0.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22580614.0074 -9673444.14649 -7510639.01647 22580614.0324 22580618.8624
+ -2525.7964 -1968.1514
+ 21077777.6024 -19355517.14749 -15053546.88548 21077777.6324 21077779.9914
+ -2138.2724 -1666.1874
+ 20318874.9774 -23946945.38049 -18640681.37148 20318874.9654 20318880.0374
+ 170.8934 133.1634
+ 20965627.9824 -17510285.22749 -13622184.71848 20965628.0614 20965632.4664
+ -171.0984 -133.3214
+ 21270102.3954 -17760430.59249 -13817244.55648 21270101.2284 21270104.9364
+ 2307.9084 1798.3734
+ 25135728.1024 396481.34649 127391.93044
+ -2961.9624 -2307.7164
+ 23581834.8944 -8713799.05249 -6778607.00246 23581835.0834 23581839.9224
+ 2864.3844 2231.9864
+ 24528880.5064 -1005975.93149 -768936.71245 24528879.6364 24528884.1204
+ 1860.9104 1450.0584
+ 05 1 20 12 21 30.0000000 0 8G16G23G 3G13G19G25G27G15
+ 22595041.5114 -9597625.63549 -7451559.69147 22595041.3734 22595046.6474
+ -2528.7764 -1970.4684
+ 21090032.4334 -19291119.18249 -15003366.67848 21090032.2914 21090034.6144
+ -2154.9084 -1679.1464
+ 20317956.4794 -23951770.92849 -18644441.54348 20317956.4584 20317961.8834
+ 150.8294 117.5294
+ 20966663.0114 -17504841.17849 -13617942.60448 20966663.7814 20966668.0894
+ -191.8404 -149.4854
+ 21256969.0834 -17829443.18149 -13871020.59848 21256968.5954 21256972.3974
+ 2292.9274 1786.6954
+ 25152648.2544 485403.95348 196672.84844
+ -2966.1284 -2310.9414
+ 23565485.2264 -8799726.03449 -6845563.10446 23565483.8334 23565488.6754
+ 2864.0124 2231.6974
+ 24518284.7574 -1061637.45849 -812309.31945 24518285.3194 24518291.2584
+ 1849.8394 1441.4284
+ 05 1 20 12 22 0.0000000 0 7G16G23G 3G13G19G27G15
+ 22609486.7554 -9521718.81349 -7392411.54347 22609486.3084 22609491.5234
+ -2531.6764 -1972.7344
+ 21102382.1604 -19226223.30849 -14952798.48048 21102381.2444 21102383.3494
+ -2171.4724 -1692.0514
+ 20317153.1314 -23955994.91549 -18647732.97448 20317152.9004 20317158.1174
+ 130.7714 101.9024
+ 20967819.0254 -17498775.44649 -13613216.07748 20967818.8534 20967822.5704
+ -212.5594 -165.6264
+ 21243922.7514 -17898005.92149 -13924446.11048 21243921.6254 21243925.0454
+ 2277.9014 1774.9894
+ 23549134.6324 -8885640.48449 -6912509.44846 23549134.5404 23549138.8894
+ 2863.5524 2231.3414
+ 24507755.7304 -1116966.77349 -855423.03145 24507755.8194 24507764.4914
+ 1838.6324 1432.7024
+ 05 1 20 12 22 30.0000000 0 7G16G23G 3G13G19G27G15
+ 22623947.7154 -9445724.85249 -7333195.49147 22623947.1674 22623952.4044
+ -2534.5794 -1974.9974
+ 21114824.3834 -19160831.62149 -14901843.94048 21114824.5774 21114827.3134
+ -2187.9774 -1704.9174
+ 20316464.0114 -23959617.71849 -18650555.94348 20316463.6894 20316469.0724
+ 110.7374 86.2874
+ 20969091.0814 -17492088.18249 -13608005.23848 20969091.2474 20969094.7984
+ -233.2844 -181.7834
+ 21230961.2444 -17966116.73549 -13977519.46348 21230960.7654 21230963.7254
+ 2262.8034 1763.2244
+ 23532790.4744 -8971541.00549 -6979444.94346 23532788.4654 23532793.3704
+ 2863.1244 2231.0054
+ 24497292.1834 -1171961.20749 -898275.83045 24497291.3814 24497300.3204
+ 1827.5324 1424.0484
+ 05 1 20 12 23 0.0000000 0 7G16G23G 3G13G19G27G15
+ 22638425.0764 -9369644.69949 -7273912.28847 22638424.7194 22638429.8974
+ -2537.4024 -1977.1974
+ 21127363.7014 -19094946.42549 -14850504.85048 21127362.8554 21127364.8024
+ -2204.3674 -1717.6894
+ 20315888.7464 -23962639.80349 -18652910.82048 20315888.6614 20315893.7434
+ 90.7074 70.6804
+ 20970480.9354 -17484779.54249 -13602310.20248 20970481.5974 20970485.7024
+ -253.9624 -197.8964
+ 21218086.9874 -18033773.86449 -14030239.30648 21218086.0494 21218089.2674
+ 2247.6484 1751.4124
+ 23516443.8674 -9057426.41049 -7046368.66146 23516444.6594 23516449.5734
+ 2862.5794 2230.5954
+ 24486893.8114 -1226618.15649 -940865.65245 24486891.1864 24486897.3874
+ 1816.2294 1415.2464
+ 05 1 20 12 23 30.0000000 0 7G16G23G 3G13G19G27G15
+ 22652919.4954 -9293479.49149 -7214562.81047 22652919.0754 22652923.2294
+ -2540.2574 -1979.4204
+ 21139994.3014 -19028570.18849 -14798783.12148 21139993.8034 21139996.1904
+ -2220.6864 -1730.4024
+ 20315428.1104 -23965061.18149 -18654797.61548 20315427.7754 20315433.0164
+ 70.7014 55.0934
+ 20971991.1394 -17476849.60749 -13596131.03948 20971990.8394 20971994.8794
+ -274.6844 -214.0374
+ 21205297.8694 -18100975.22449 -14082604.00248 21205297.4634 21205301.3224
+ 2232.4294 1739.5544
+ 23500105.6944 -9143295.44249 -7113279.62446 23500104.9424 23500109.2754
+ 2862.0114 2230.1394
+ 24476551.5624 -1280934.57149 -983190.10145 24476552.2974 24476559.9924
+ 1804.7414 1406.2944
+ 05 1 20 12 24 0.0000000 0 7G16G23G 3G13G19G27G15
+ 22667429.5904 -9217230.35449 -7155147.93646 22667428.1204 22667433.2784
+ -2543.0274 -1981.5754
+ 21152717.1154 -18961705.08149 -14746680.47748 21152717.4284 21152720.3334
+ -2236.9494 -1743.0784
+ 20315081.2544 -23966882.16749 -18656216.57348 20315080.7364 20315086.3904
+ 50.6914 39.4984
+ 20973618.3724 -17468298.72149 -13589468.02848 20973618.5184 20973622.1674
+ -295.3724 -230.1614
+ 21192597.4044 -18167718.96249 -14134612.11148 21192596.4184 21192600.6424
+ 2217.1494 1727.6504
+ 23483769.6744 -9229146.74349 -7180176.74746 23483767.2814 23483772.4104
+ 2861.4254 2229.6794
+ 24466284.6854 -1334908.11249 -1025247.40945 24466282.8134 24466290.4494
+ 1793.3924 1397.4494
+ 05 1 20 12 24 30.0000000 0 7G16G23G 3G13G19G27G15
+ 22681953.8734 -9140897.93649 -7095668.15346 22681953.7464 22681957.9504
+ -2545.7804 -1983.7204
+ 21165535.1834 -18894353.34249 -14694198.61848 21165534.4044 21165536.6934
+ -2253.1224 -1755.6784
+ 20314848.9474 -23968103.28649 -18657168.10148 20314848.8784 20314854.0084
+ 30.7264 23.9454
+ 20975363.2364 -17459126.94949 -13582321.20848 20975363.3434 20975367.2484
+ -316.0594 -246.2774
+ 21179983.8934 -18234003.05649 -14186262.05748 21179983.5064 21179987.1634
+ 2201.7944 1715.6834
+ 23467433.6684 -9314979.16749 -7247059.18046 23467434.5024 23467439.7034
+ 2860.7444 2229.1474
+ 24456081.3764 -1388535.87249 -1067035.27245 24456080.3614 24456087.2364
+ 1781.7924 1388.4114
+ 05 1 20 12 25 0.0000000 0 7G16G23G 3G13G19G27G15
+ 22696496.5844 -9064483.38349 -7036124.35947 22696495.5754 22696500.0174
+ -2548.4984 -1985.8394
+ 21178444.0104 -18826517.27849 -14641339.37548 21178443.2094 21178445.2904
+ -2269.2444 -1768.2464
+ 20314730.7524 -23968724.83149 -18657652.42748 20314730.5934 20314735.6974
+ 10.7234 8.3554
+ 20977226.5124 -17449334.79449 -13574690.97248 20977226.7084 20977230.4044
+ -336.7544 -262.4084
+ 21167458.4484 -18299825.74249 -14237552.46448 21167457.5004 21167461.3114
+ 2186.3934 1703.6784
+ 23451102.8084 -9400791.23549 -7313925.74546 23451104.6094 23451109.9334
+ 2860.0114 2228.5764
+ 24445939.8974 -1441814.97449 -1108551.46445 24445939.5544 24445945.8704
+ 1770.0604 1379.2704
+ 05 1 20 12 25 30.0000000 0 7G16G23G 3G13G19G27G15
+ 22711052.8594 -8987987.68949 -6976517.36847 22711052.5004 22711056.9214
+ -2551.2044 -1987.9454
+ 21191442.4574 -18758199.44749 -14588104.73348 21191443.1044 21191445.6234
+ -2285.2694 -1780.7294
+ 20314726.7664 -23968747.26149 -18657669.91248 20314726.2574 20314731.4754
+ -9.2254 -7.1884
+ 20979208.1144 -17438922.43349 -13566577.46348 20979208.4084 20979212.1074
+ -357.4074 -278.4994
+ 21155021.6704 -18365185.03749 -14288481.78448 21155020.4444 21155023.6294
+ 2170.8954 1691.6064
+ 23434781.4994 -9486581.73449 -7380775.49246 23434779.8714 23434784.0114
+ 2859.2904 2228.0134
+ 24435868.4744 -1494742.75749 -1149793.92745 24435867.9834 24435874.3624
+ 1758.3614 1370.1494
+ 05 1 20 12 26 0.0000000 0 7G16G23G 3G13G19G27G15
+ 22725623.7854 -8911411.82449 -6916847.90447 22725623.9274 22725628.7874
+ -2553.8524 -1990.0084
+ 21204535.9894 -18689402.09249 -14534496.43748 21204535.5054 21204537.6814
+ -2301.1964 -1793.1384
+ 20314836.0474 -23968171.02949 -18657220.90548 20314835.9194 20314841.4654
+ -29.1734 -22.7334
+ 20981308.2634 -17427890.45549 -13557981.12648 20981308.0854 20981311.4654
+ -378.0504 -294.5864
+ 21142671.8854 -18430079.04749 -14339048.54848 21142671.2024 21142674.7344
+ 2155.3664 1679.5054
+ 23418458.8394 -9572349.30549 -7447607.37946 23418458.2994 23418463.2414
+ 2858.5114 2227.4144
+ 24425864.5574 -1547316.81249 -1190760.73445 24425864.8784 24425871.5934
+ 1746.5334 1360.9324
+ 05 1 20 12 26 30.0000000 0 7G16G23G 3G13G19G27G15
+ 22740211.2954 -8834756.89249 -6857116.80046 22740211.0654 22740214.8194
+ -2556.4644 -1992.0484
+ 21217718.8784 -18620127.49749 -14480516.25248 21217717.7684 21217720.4484
+ -2317.0864 -1805.5204
+ 20315059.7574 -23966996.34049 -18656305.57448 20315059.4234 20315064.7004
+ -49.1404 -38.2914
+ 20983524.6174 -17416238.79149 -13548901.92748 20983524.8694 20983529.1284
+ -398.7124 -310.6844
+ 21130412.2964 -18494506.24549 -14389251.56048 21130411.3824 21130414.5304
+ 2139.7734 1667.3534
+ 23402141.8824 -9658092.72049 -7514420.46046 23402142.7824 23402147.0154
+ 2857.7034 2226.7794
+ 24415928.2684 -1599534.40349 -1231449.77045 24415926.5864 24415933.5344
+ 1734.5914 1351.6354
+ 05 1 20 12 27 0.0000000 0 7G16G23G 3G13G19G27G15
+ 22754813.6924 -8758023.83249 -6797324.83447 22754813.0094 22754817.4434
+ -2559.0554 -1994.0694
+ 21230990.7614 -18550378.29149 -14426166.25848 21230990.2934 21230992.9224
+ -2332.8504 -1817.8024
+ 20315397.0754 -23965223.85649 -18654924.43048 20315396.7904 20315402.2204
+ -69.0184 -53.7804
+ 20985859.8024 -17403967.91649 -13539340.21948 20985859.7884 20985863.6764
+ -419.3344 -326.7554
+ 21118241.4204 -18558464.31949 -14439089.02648 21118240.5424 21118243.7084
+ 2124.1084 1655.1514
+ 23385829.1904 -9743810.54549 -7581213.57446 23385829.2514 23385834.9714
+ 2856.8184 2226.0884
+ 24406059.7924 -1651392.97349 -1271859.07945 24406059.7194 24406067.0484
+ 1722.6084 1342.2934
+ 05 1 20 12 27 30.0000000 0 7G16G23G 3G13G19G27G15
+ 22769430.7574 -8681213.53149 -6737472.69746 22769429.8274 22769433.5564
+ -2561.6284 -1996.0734
+ 21244353.7404 -18480156.61749 -14371448.10048 21244353.5084 21244355.5594
+ -2348.5734 -1830.0544
+ 20315848.2294 -23962853.97949 -18653077.77648 20315847.7774 20315852.9494
+ -88.9464 -69.3094
+ 20988312.5564 -17391078.19949 -13529296.29548 20988312.7034 20988316.8164
+ -439.9784 -342.8414
+ 21106160.1034 -18621951.75049 -14488559.74948 21106159.2364 21106162.7984
+ 2108.3734 1642.8884
+ 23369522.5784 -9829501.35049 -7647985.65246 23369523.0674 23369528.5654
+ 2855.8844 2225.3624
+ 24396259.0204 -1702889.95149 -1311986.56345 24396259.7024 24396266.1174
+ 1710.4564 1332.8234
+ 05 1 20 12 28 0.0000000 0 7G16G23G 3G13G19G27G15
+ 22784062.0354 -8604327.11849 -6677561.23947 22784061.6814 22784064.8754
+ -2564.1484 -1998.0414
+ 21257806.1294 -18409465.12949 -14316363.85147 21257805.5954 21257807.8984
+ -2364.1884 -1842.2214
+ 20316412.7414 -23959887.22949 -18650766.03348 20316412.5474 20316417.4224
+ -108.8514 -84.8204
+ 20990882.8684 -17377570.11449 -13518770.53948 20990883.2794 20990886.9874
+ -460.5784 -358.8914
+ 21094168.7054 -18684966.56149 -14537662.20048 21094167.7944 21094171.8514
+ 2092.5934 1630.5914
+ 23353223.8474 -9915163.79949 -7714735.63246 23353222.6604 23353227.6174
+ 2854.9544 2224.6384
+ 24386529.4194 -1754022.33749 -1351829.96146 24386530.4474 24386536.1454
+ 1698.2764 1323.3244
+ 05 1 20 12 28 30.0000000 0 7G16G23G 3G13G19G27G15
+ 22798706.7024 -8527365.31249 -6617591.02246 22798705.9644 22798709.9824
+ -2566.6324 -1999.9644
+ 21271347.2194 -18338306.06849 -14260915.25748 21271346.8244 21271349.2764
+ -2379.7424 -1854.3434
+ 20317090.6464 -23956324.13249 -18647989.59248 20317090.3324 20317095.6784
+ -128.7174 -100.3004
+ 20993571.5564 -17363444.24749 -13507763.38348 20993571.4214 20993575.4924
+ -481.1684 -374.9364
+ 21082267.1764 -18747507.13049 -14586395.11448 21082266.4704 21082270.3884
+ 2076.7474 1618.2424
+ 23336926.2574 -10000796.61149 -7781462.51846 23336926.7794 23336932.6194
+ 2853.8964 2223.8194
+ 24376868.9874 -1804787.68249 -1391387.32845 24376868.9454 24376875.3924
+ 1685.9904 1313.7664
+ 05 1 20 12 29 0.0000000 0 7G16G23G 3G13G19G27G15
+ 22813365.1694 -8450329.38049 -6557563.03846 22813365.1314 22813369.9434
+ -2569.1054 -2001.8974
+ 21284977.4864 -18266682.09349 -14205104.40748 21284976.9644 21284978.5944
+ -2395.1914 -1866.3764
+ 20317882.2664 -23952165.17849 -18644748.86248 20317881.9014 20317887.1494
+ -148.5684 -115.7694
+ 20996376.4364 -17348700.94349 -13496275.11048 20996376.7954 20996380.7174
+ -501.7324 -390.9624
+ 21070456.3784 -18809571.48249 -14634756.95148 21070456.0074 21070460.1214
+ 2060.8604 1605.8644
+ 23320637.0944 -10086398.46549 -7848165.27146 23320637.1664 23320643.2494
+ 2852.8374 2222.9904
+ 24367280.6944 -1855183.47249 -1430656.75346 24367280.1594 24367287.1934
+ 1673.6124 1304.1134
+ 05 1 20 12 29 30.0000000 0 7G16G23G 3G13G19G27G15
+ 22828040.3154 -8373220.10949 -6497477.92146 22828039.4504 22828043.2504
+ -2571.5164 -2003.7804
+ 21298694.4914 -18194595.73549 -14148933.23948 21298694.1284 21298696.4164
+ -2410.5754 -1878.3664
+ 20318787.0424 -23947410.96449 -18641044.28748 20318786.6644 20318791.7594
+ -168.3894 -131.2074
+ 20999299.8674 -17333340.73849 -13484306.13048 20999299.8774 20999304.1884
+ -522.3004 -406.9854
+ 21058738.1304 -18871157.96149 -14682746.42248 21058736.9204 21058740.2064
+ 2044.9054 1593.4354
+ 23304354.8064 -10171967.71149 -7914842.62146 23304354.5004 23304360.0914
+ 2851.7024 2222.1024
+ 24357761.1844 -1905207.03049 -1469636.10446 24357760.9154 24357766.4984
+ 1661.1684 1294.4164
+ 05 1 20 12 30 0.0000000 0 7G16G23G 3G13G19G27G15
+ 22842727.5304 -8296038.23849 -6437336.24146 22842726.7224 22842730.6684
+ -2573.9134 -2005.6474
+ 21312499.9394 -18122049.24649 -14092403.53547 21312499.3434 21312501.4494
+ -2425.8594 -1890.2824
+ 20319804.2044 -23942062.27049 -18636876.48748 20319804.2274 20319809.6144
+ -188.1974 -146.6454
+ 21002340.3374 -17317364.41149 -13471857.05948 21002340.2954 21002344.0344
+ -542.8214 -422.9744
+ 21047108.9244 -18932264.88449 -14730362.20548 21047108.4964 21047112.2944
+ 2028.8794 1580.9474
+ 23288078.8074 -10257503.08649 -7981493.57746 23288077.4454 23288083.0734
+ 2850.5684 2221.2194
+ 24348311.6024 -1954855.64849 -1508323.34946 24348311.3724 24348318.9674
+ 1648.6944 1284.6934
+ 05 1 20 12 30 30.0000000 0 7G16G23G 3G13G19G27G15
+ 22857427.8704 -8218784.84049 -6377138.81146 22857427.1144 22857431.3894
+ -2576.2734 -2007.4864
+ 21326391.5854 -18049045.07849 -14035517.19347 21326391.4044 21326393.6624
+ -2441.0814 -1902.1394
+ 20320935.5064 -23936119.68549 -18632245.91348 20320935.1874 20320940.4784
+ -207.9924 -162.0714
+ 21005497.8334 -17300772.32049 -13458928.17748 21005497.9664 21005501.0824
+ -563.3414 -438.9694
+ 21035573.7554 -18992890.59449 -14777603.01548 21035572.1734 21035575.4194
+ 2012.7984 1568.4144
+ 23271807.4754 -10343003.37049 -8048117.21046 23271808.5834 23271813.1114
+ 2849.3774 2220.2974
+ 24338935.9404 -2004126.98749 -1546716.60945 24338936.1504 24338941.2624
+ 1636.0654 1274.8524
+ 05 1 20 12 31 0.0000000 0 7G16G23G 3G13G19G27G15
+ 22872141.6274 -8141460.79849 -6316886.33346 22872141.0814 22872146.0154
+ -2578.5734 -2009.2794
+ 21340371.0914 -17975585.85449 -13978276.26647 21340370.4074 21340372.5374
+ -2456.1864 -1913.9124
+ 20322179.5254 -23929583.85549 -18627153.06048 20322179.0004 20322184.0434
+ -227.7444 -177.4624
+ 21008771.3294 -17283565.04249 -13445519.92148 21008772.1044 21008776.0284
+ -583.8504 -454.9504
+ 21024127.9624 -19053033.04549 -14824467.26148 21024127.0344 21024130.9184
+ 1996.6824 1555.8574
+ 23255546.9164 -10428466.94849 -8114712.21246 23255545.0964 23255550.3704
+ 2848.1614 2219.3514
+ 24329632.8634 -2053018.48749 -1584813.82946 24329632.0574 24329639.0684
+ 1623.3834 1264.9674
+ 05 1 20 12 31 30.0000000 0 7G16G23G 3G13G19G27G15
+ 22886869.9414 -8064067.09049 -6256579.57646 22886869.2284 22886874.3344
+ -2580.9744 -2011.1404
+ 21354435.9174 -17901674.11549 -13920682.73347 21354435.2444 21354437.0304
+ -2471.2194 -1925.6214
+ 20323535.3604 -23922455.31549 -18621598.36648 20323535.1814 20323540.7024
+ -247.4804 -192.8394
+ 21012163.4014 -17265743.02749 -13431632.64848 21012163.2504 21012167.2284
+ -604.2864 -470.8684
+ 21012775.2324 -19112690.88549 -14870953.88948 21012774.4514 21012778.3494
+ 1980.4934 1543.2414
+ 23239288.9594 -10513892.46049 -8181277.56246 23239289.0454 23239294.5224
+ 2846.8604 2218.3354
+ 24320402.1884 -2101527.68849 -1622613.17045 24320402.1544 24320406.8774
+ 1610.5744 1254.9984
+ 05 1 20 12 32 0.0000000 0 7G16G23G 3G13G19G27G15
+ 22901609.2494 -7986604.71949 -6196219.33146 22901609.6384 22901613.3854
+ -2583.2054 -2012.8944
+ 21368586.2884 -17827312.38949 -13862738.55847 21368586.0324 21368587.6234
+ -2486.2074 -1937.3024
+ 20325005.1574 -23914734.94049 -18615582.49848 20325004.8124 20325009.5564
+ -267.2094 -208.2174
+ 21015671.1734 -17247307.14849 -13417267.04848 21015671.5944 21015675.2794
+ -624.7574 -486.8244
+ 21001515.6854 -19171862.27349 -14917061.47248 21001514.7654 21001518.2034
+ 1964.2424 1530.5764
+ 23223040.4214 -10599278.37349 -8247812.06846 23223041.0294 23223045.9744
+ 2845.4944 2217.2704
+ 24311244.2044 -2149651.71949 -1660112.40245 24311244.3434 24311249.0754
+ 1597.6764 1244.9374
+ 05 1 20 12 32 30.0000000 0 7G16G23G 3G13G19G27G15
+ 22916364.1254 -7909074.35849 -6135806.09346 22916363.4564 22916367.2654
+ -2585.4574 -2014.6344
+ 21382821.5464 -17752503.19949 -13804445.71347 21382821.5034 21382823.5514
+ -2501.0574 -1948.8774
+ 20326586.2564 -23906423.40949 -18609105.98548 20326585.9044 20326591.4404
+ -286.8904 -223.5544
+ 21019296.1634 -17228258.06749 -13402423.62248 21019296.3094 21019300.2494
+ -645.1884 -502.7444
+ 20990348.4174 -19230545.73849 -14962788.84248 20990347.4724 20990351.4504
+ 1947.9644 1517.8954
+ 23206800.5044 -10684623.41449 -8314314.71446 23206800.5044 23206805.2634
+ 2844.1084 2216.1914
+ 24302159.8564 -2197388.02349 -1697309.44045 24302159.0754 24302167.2814
+ 1584.7064 1234.8374
+ 05 1 20 12 33 0.0000000 0 8G16G23G21G 3G13G19G27G15
+ 22931130.9544 -7831477.01949 -6075340.64446 22931129.3644 22931133.8034
+ -2587.6784 -2016.3684
+ 21397143.1514 -17677249.03849 -13745806.12747 21397142.5144 21397144.5094
+ -2515.8604 -1960.4084
+ 12114.82241
+ -481.8014
+ 20328280.6484 -23897521.53949 -18602169.47648 20328280.1144 20328285.5794
+ -306.5704 -238.8834
+ 21023038.2844 -17208596.46649 -13387102.91448 21023038.1014 21023041.9944
+ -665.5884 -518.6424
+ 20979274.2934 -19288739.45449 -15008134.59048 20979273.3894 20979277.3704
+ 1931.5934 1505.1424
+ 23190568.0204 -10769926.09549 -8380784.35146 23190567.7434 23190572.9744
+ 2842.6634 2215.0644
+ 24293150.8984 -2244733.93949 -1734202.37245 24293149.1974 24293156.8734
+ 1571.6394 1224.6594
+ 05 1 20 12 33 30.0000000 0 8G16G23G21G 3G13G19G27G15
+ 22945908.6644 -7753813.48449 -6014823.64146 22945907.7084 22945912.5864
+ -2589.8744 -2018.0834
+ 21411546.7774 -17601552.98549 -13686822.22147 21411546.1024 21411548.7004
+ -2530.5404 -1971.8514
+ 26809.88551
+ -498.0564
+ 20330086.8124 -23888030.07249 -18594773.53548 20330086.6504 20330091.6854
+ -326.2034 -254.1834
+ 21026895.6874 -17188323.06049 -13371305.46648 21026895.8934 21026900.0734
+ -685.9704 -534.5224
+ 20968294.0734 -19346441.95449 -15053097.58348 20968293.3044 20968296.7964
+ 1915.2294 1492.3874
+ 23174343.5974 -10855184.86949 -8447219.76946 23174343.3114 23174348.5624
+ 2841.1914 2213.9084
+ 24284215.6394 -2291687.37549 -1770789.41845 24284215.8364 24284220.5194
+ 1558.5354 1214.4364
+ 05 1 20 12 34 0.0000000 0 8G16G23G21G 3G13G19G27G15
+ 22960698.5224 -7676084.70949 -5954255.79746 22960698.8844 22960704.6534
+ -2592.0404 -2019.7644
+ 21426034.9944 -17525417.12749 -13627495.61047 21426034.7754 21426036.4004
+ -2545.1574 -1983.2394
+ 41994.02141
+ -514.1844
+ 20332004.8194 -23877949.98949 -18586918.93748 20332004.6234 20332009.7884
+ -345.8124 -269.4644
+ 21030869.7914 -17167438.54249 -13355031.83548 21030870.0204 21030874.3084
+ -706.3384 -550.3914
+ 20957407.8254 -19403651.57249 -15097676.50648 20957406.6324 20957410.5134
+ 1898.7624 1479.5574
+ 23158128.7124 -10940398.28949 -8513619.85746 23158128.1474 23158132.8684
+ 2839.6414 2212.7064
+ 24275356.9244 -2338245.71849 -1807068.65745 24275355.0854 24275360.9484
+ 1545.2974 1204.1334
+ 05 1 20 12 34 30.0000000 0 7G16G23G 3G13G19G27G15
+ 22975504.4234 -7598291.44849 -5893637.70846 22975503.7074 22975506.9564
+ -2594.1894 -2021.4504
+ 21440606.7344 -17448844.46349 -13567828.62747 21440606.3794 21440607.8584
+ -2559.6924 -1994.5594
+ 20334034.4534 -23867282.11349 -18578606.31148 20334034.4224 20334039.7214
+ -365.4004 -284.7254
+ 21034960.1394 -17145943.95049 -13338282.81448 21034960.4074 21034964.2384
+ -726.6604 -566.2274
+ 20946614.6624 -19460366.69449 -15141870.10248 20946613.8584 20946617.6684
+ 1882.2404 1466.6824
+ 23141921.4324 -11025564.90249 -8579983.48146 23141920.8484 23141925.8224
+ 2838.0974 2211.5114
+ 24266571.2704 -2384406.56949 -1843038.10846 24266571.2214 24266577.2864
+ 1532.0464 1193.7984
+ 05 1 20 12 35 0.0000000 0 7G16G23G 3G13G19G27G15
+ 22990319.4794 -7520434.74849 -5832970.17446 22990319.2634 22990322.9404
+ -2596.2744 -2023.0734
+ 21455260.5514 -17371837.30249 -13507823.07447 21455259.8864 21455262.3564
+ -2574.1054 -2005.7934
+ 20336177.0564 -23856027.12749 -18569836.20348 20336176.3254 20336181.3624
+ -384.9554 -299.9634
+ 21039166.5454 -17123839.78149 -13321058.80748 21039167.0104 21039170.6184
+ -746.9644 -582.0474
+ 20935916.5214 -19516585.75349 -15185677.16348 20935915.7994 20935919.7824
+ 1865.6814 1453.7784
+ 23125722.5234 -11110683.29849 -8646309.51346 23125723.2174 23125728.5914
+ 2836.4614 2210.2254
+ 24257863.2074 -2430167.36149 -1878695.88046 24257862.9264 24257869.4604
+ 1518.6264 1183.3464
+ 05 1 20 12 35 30.0000000 0 7G16G23G 3G13G19G27G15
+ 23005146.4324 -7442515.30649 -5772253.74946 23005146.1174 23005150.4094
+ -2598.3644 -2024.6984
+ 21469996.0754 -17294398.10849 -13447480.88347 21469996.0754 21469998.0164
+ -2588.4874 -2017.0014
+ 20338429.9924 -23844185.91449 -18560609.28948 20338429.8314 20338435.0594
+ -404.4844 -315.1814
+ 21043488.9604 -17101126.85349 -13303360.43248 21043489.1914 21043493.0284
+ -767.2434 -597.8484
+ 20925313.0224 -19572307.30449 -15229096.56248 20925312.4164 20925316.4254
+ 1849.0584 1440.8264
+ 23109534.8154 -11195751.85249 -8712596.70946 23109535.5944 23109540.3474
+ 2834.8134 2208.9504
+ 24249231.5514 -2475525.75349 -1914040.02945 24249230.5704 24249239.4624
+ 1505.2184 1172.8964
+ 05 1 20 12 36 0.0000000 0 7G16G23G 3G13G19G27G15
+ 23019984.7294 -7364534.05149 -5711489.17146 23019985.4724 23019990.5344
+ -2600.3674 -2026.2434
+ 21484814.7064 -17216529.90549 -13386804.38147 21484814.0864 21484815.7834
+ -2602.7224 -2028.0974
+ 20340794.8024 -23831759.25949 -18550926.19548 20340794.4064 20340799.7374
+ -423.9734 -330.3674
+ 21047926.9814 -17077806.39649 -13285188.66648 21047927.0514 21047930.5264
+ -787.4654 -613.6114
+ 20914804.9174 -19627529.93349 -15272127.18348 20914803.9774 20914807.7714
+ 1832.4224 1427.8614
+ 23093356.6114 -11280769.21949 -8778844.02446 23093356.7074 23093362.3304
+ 2833.0494 2207.5834
+ 24240677.6484 -2520479.29349 -1949068.71445 24240677.0744 24240683.5664
+ 1491.6564 1162.3344
+ 05 1 20 12 36 30.0000000 0 7G16G23G 3G13G19G27G15
+ 23034837.2404 -7286491.64849 -5650676.92746 23034836.3234 23034840.7594
+ -2602.4244 -2027.8744
+ 21499713.5434 -17138235.23049 -13325795.57947 21499713.0344 21499715.8684
+ -2616.9184 -2039.1564
+ 20343271.3224 -23818748.04649 -18540787.59248 20343270.4704 20343275.8654
+ -443.4494 -345.5444
+ 21052480.3554 -17053879.15349 -13266544.08648 21052480.0484 21052483.9144
+ -807.6964 -629.3734
+ 20904391.2644 -19682251.75749 -15314767.57348 20904390.8544 20904394.3624
+ 1815.6744 1414.8124
+ 23077188.7184 -11365733.66549 -8845050.11046 23077189.0404 23077193.9264
+ 2831.2604 2206.1824
+ 24232201.3504 -2565025.48149 -1983780.02245 24232200.5794 24232206.1994
+ 1478.0434 1151.7144
+ 05 1 20 12 37 0.0000000 0 7G16G23G 3G13G19G27G15
+ 23049698.9714 -7208389.03249 -5589817.80546 23049699.5204 23049704.1724
+ -2604.4174 -2029.4074
+ 21514693.5554 -17059516.64849 -13264456.46247 21514693.1234 21514695.1174
+ -2630.9924 -2050.1234
+ 20345857.7624 -23805153.34449 -18530194.32848 20345857.2974 20345862.5444
+ -462.8844 -360.6894
+ 21057148.5054 -17029345.76449 -13247427.17848 21057148.5644 21057152.3104
+ -827.8864 -645.1084
+ 20894074.2544 -19736471.63749 -15357016.83748 20894073.4154 20894076.6724
+ 1798.9574 1401.7814
+ 23061031.4494 -11450643.85449 -8911213.90246 23061030.6724 23061036.4364
+ 2829.3604 2204.6984
+ 24223799.8504 -2609161.86949 -2018171.97745 24223798.8674 24223807.6504
+ 1464.3834 1141.0714
+ 05 1 20 12 37 30.0000000 0 7G16G23G 3G13G19G27G15
+ 23064572.9924 -7130227.02449 -5528912.36946 23064573.0004 23064577.3684
+ -2606.3654 -2030.9354
+ 21529753.2084 -16980376.92949 -13202789.17147 21529752.3364 21529755.1704
+ -2644.9954 -2061.0294
+ 20348555.4854 -23790976.08749 -18519147.13048 20348555.1594 20348560.3934
+ -482.2834 -375.8024
+ 21061931.6244 -17004207.14849 -13227838.66348 21061931.9794 21061936.5184
+ -848.0314 -660.7954
+ 20883851.9714 -19790188.04749 -15398873.78248 20883851.0584 20883854.8274
+ 1782.1364 1388.6794
+ 23044883.3474 -11535498.09449 -8977334.11046 23044883.5904 23044888.7614
+ 2827.4544 2203.2104
+ 24215485.1784 -2652886.19149 -2052242.87545 24215483.5154 24215486.1874
+ 1450.5134 1130.2734
+ 05 1 20 12 38 0.0000000 0 7G16G23G 3G13G19G27G15
+ 23079458.0844 -7052006.47949 -5467961.33746 23079458.3304 23079462.3244
+ -2608.3194 -2032.4624
+ 21544892.8684 -16900818.88749 -13140795.92647 21544892.2264 21544894.3324
+ -2658.8814 -2071.8534
+ 20351363.8464 -23776217.20249 -18507646.70048 20351363.6384 20351368.9824
+ -501.6504 -390.8954
+ 21066830.6684 -16978464.57249 -13207779.52848 21066831.0374 21066834.7564
+ -868.1344 -676.4684
+ 20873726.2764 -19843399.34149 -15440337.12848 20873725.4664 20873728.9004
+ 1765.2864 1375.5474
+ 23028746.6694 -11620295.04349 -9043409.66746 23028747.8644 23028752.9634
+ 2825.5654 2201.7274
+ 24207237.0764 -2696196.08149 -2085990.81445 24207238.5954 24207246.0794
+ 1436.7184 1119.5264
+ 05 1 20 12 38 30.0000000 0 7G16G23G 3G13G19G27G15
+ 23094354.7564 -6973728.28649 -5406965.37146 23094354.2934 23094359.1734
+ -2610.2354 -2033.9524
+ 21560109.6734 -16820845.11849 -13078478.72647 21560109.7084 21560112.7964
+ -2672.7054 -2082.6254
+ 20354283.0064 -23760877.63249 -18495693.80048 20354282.5374 20354287.8754
+ -520.9934 -405.9684
+ 21071843.9444 -16952119.03649 -13187250.56248 21071844.2284 21071848.2994
+ -888.2214 -692.1204
+ 20863696.8694 -19896104.29549 -15481405.93248 20863696.2644 20863699.6124
+ 1748.3864 1362.3774
+ 23012622.9764 -11705032.98449 -9109439.26846 23012622.8994 23012628.0084
+ 2823.5734 2200.1854
+ 24199078.2794 -2739089.10749 -2119413.95345 24199077.5144 24199083.1444
+ 1422.7884 1108.6694
+ 05 1 20 12 39 0.0000000 0 7G16G23G 3G13G19G27G15
+ 23109261.7574 -6895393.08849 -5345925.00346 23109260.1754 23109265.0164
+ -2612.1004 -2035.4034
+ 21575408.2784 -16740458.26749 -13015839.66147 21575407.6054 21575409.4844
+ -2686.3834 -2093.2884
+ 20357312.3404 -23744958.74449 -18483289.47848 20357311.9804 20357317.5054
+ -540.2694 -420.9904
+ 21076972.4534 -16925171.35949 -13166252.39448 21076972.6114 21076975.9454
+ -908.2724 -707.7404
+ 20853764.3964 -19948301.54249 -15522079.11148 20853763.3504 20853767.0794
+ 1731.4484 1349.1834
+ 22996508.9154 -11789710.51649 -9175421.77646 22996509.5204 22996514.0544
+ 2821.5634 2198.6314
+ 24190995.7624 -2781562.76749 -2152510.28845 24190993.8294 24191001.1214
+ 1408.7334 1097.7164
+ 05 1 20 12 39 30.0000000 0 7G16G23G 3G13G19G27G15
+ 23124179.2734 -6817001.62049 -5284840.78046 23124178.2504 23124182.6714
+ -2613.9574 -2036.8454
+ 21590782.8124 -16659661.26849 -12952880.98847 21590782.8104 21590784.6714
+ -2700.0514 -2103.9344
+ 20360451.4844 -23728461.49149 -18470434.48348 20360451.1494 20360456.5494
+ -559.5454 -436.0104
+ 21082214.0224 -16897622.53349 -13144785.78548 21082214.1814 21082218.5794
+ -928.2924 -723.3444
+ 20843928.1934 -19999989.53849 -15562355.48048 20843927.5764 20843930.8924
+ 1714.4354 1335.9204
+ 22980408.3504 -11874325.92849 -9241355.87147 22980407.8684 22980413.4444
+ 2819.4524 2196.9864
+ 24182993.8144 -2823614.79349 -2185278.07945 24182993.6174 24182998.1994
+ 1394.6584 1086.7424
+ 05 1 20 12 40 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23139105.6534 -6738554.79649 -5223713.42246 23139105.5904 23139110.5874
+ -2615.8114 -2038.2944
+ 21606236.5544 -16578456.73649 -12889604.75647 21606235.5774 21606238.2044
+ -2713.5514 -2114.4584
+ 20363701.2174 -23711386.68949 -18457129.45548 20363700.8664 20363705.8424
+ -578.7564 -450.9814
+ 21087571.2104 -16869473.91949 -13122851.82148 21087571.1994 21087575.0964
+ -948.2724 -738.9144
+ 20834189.9274 -20051166.85049 -15602233.90548 20834188.5624 20834192.1704
+ 1697.3914 1322.6414
+ 22964319.0344 -11958877.60749 -9307240.30646 22964317.4944 22964322.8924
+ 2817.3314 2195.3084
+ 24594024.5324 -285321.35349 -211130.11545 24594024.5824 24594029.1544
+ 3376.2564 2630.8474
+ 24175070.2334 -2865243.03549 -2217715.66245 24175070.7004 24175077.3924
+ 1380.5424 1075.7484
+ 05 1 20 12 40 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23154043.9264 -6660053.39249 -5162543.52146 23154044.1824 23154048.7964
+ -2617.6374 -2039.7104
+ 21621765.1824 -16496847.48549 -12826013.17247 21621765.0234 21621767.8834
+ -2727.0504 -2124.9744
+ 20367059.8844 -23693735.62249 -18443375.38148 20367059.3964 20367064.8864
+ -597.9814 -465.9594
+ 21093041.1664 -16840726.53449 -13100451.27648 21093041.2984 21093045.5324
+ -968.2434 -754.4744
+ 20824548.5914 -20101832.36549 -15641713.53648 20824547.4344 20824550.6314
+ 1680.2804 1309.3084
+ 22948239.6584 -12043364.08549 -9373073.94946 22948240.4884 22948245.4494
+ 2815.0914 2193.5854
+ 24574746.9814 -386620.91949 -290064.88845 24574747.3924 24574751.1244
+ 3377.1084 2631.5144
+ 24167230.7574 -2906445.07449 -2249821.14045 24167230.4204 24167236.4824
+ 1366.2544 1064.6124
+ 05 1 20 12 41 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23168993.6314 -6581498.00749 -5101331.55246 23168993.1324 23168998.7494
+ -2619.4144 -2041.0884
+ 21637373.0484 -16414836.20449 -12762108.30647 21637372.1304 21637374.2874
+ -2740.3664 -2135.3464
+ 20370527.6844 -23675509.37749 -18429173.12248 20370527.8624 20370533.2104
+ -617.1004 -480.8584
+ 21098625.6104 -16811381.40149 -13077584.95748 21098625.7054 21098629.8654
+ -988.1044 -769.9494
+ 20815004.3934 -20151984.57349 -15680793.17748 20815003.8134 20815007.2754
+ 1663.1784 1295.9824
+ 22932175.8824 -12127783.80649 -9438855.57147 22932175.7324 22932181.2494
+ 2812.8494 2191.8374
+ 24555466.7634 -487946.26049 -369019.76545 24555466.3294 24555469.3904
+ 3377.8964 2632.1284
+ 24159471.9934 -2947218.54849 -2281592.67945 24159471.0744 24159479.0484
+ 1351.9444 1053.4644
+ 05 1 20 12 41 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23183952.2144 -6502889.64049 -5040078.32146 23183951.9414 23183956.7774
+ -2621.1614 -2042.4674
+ 21653053.7154 -16332425.67249 -12697892.33447 21653053.5934 21653056.3324
+ -2753.6494 -2145.6994
+ 20374105.6744 -23656709.20049 -18414523.64248 20374105.3434 20374110.5174
+ -636.2254 -495.7574
+ 21104323.4754 -16781439.79249 -13054253.85448 21104323.5364 21104327.9294
+ -1007.9834 -785.4404
+ 20805558.3634 -20201622.13749 -15719471.79948 20805557.6424 20805561.4664
+ 1645.9794 1282.5834
+ 22916124.1974 -12212135.13249 -9504583.88946 22916123.7304 22916129.1844
+ 2810.5254 2190.0164
+ 24536178.3844 -589295.70249 -447993.39045 24536179.1034 24536183.0134
+ 3378.7504 2632.7924
+ 24151792.8414 -2987561.18149 -2313028.52045 24151794.1144 24151801.8114
+ 1337.5754 1042.2664
+ 05 1 20 12 42 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23198920.9344 -6424228.89149 -4978784.26746 23198920.9014 23198924.2464
+ -2622.8734 -2043.8014
+ 21668812.6254 -16249618.68749 -12633367.43947 21668811.9374 21668813.7554
+ -2766.8214 -2155.9664
+ 20377792.4524 -23637336.15649 -18399427.77548 20377792.0494 20377797.1144
+ -655.3214 -510.6404
+ 21110134.5334 -16750902.79049 -13030458.79848 21110134.4404 21110138.7594
+ -1027.8394 -800.9144
+ 20796210.9964 -20250743.91349 -15757748.51248 20796210.2414 20796214.0174
+ 1628.7754 1269.1764
+ 22900086.4154 -12296416.41349 -9570257.62347 22900085.7264 22900090.9614
+ 2808.1864 2188.1994
+ 24516890.1574 -690668.73449 -526985.39545 24516888.8304 24516891.8734
+ 3379.4424 2633.3274
+ 24144200.6994 -3027470.92049 -2344127.02845 24144199.4134 24144205.2264
+ 1323.1034 1030.9914
+ 05 1 20 12 42 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23213898.9594 -6345516.47249 -4917449.96346 23213899.0834 23213903.8204
+ -2624.6174 -2045.1594
+ 21684643.9194 -16166417.98949 -12568535.76247 21684643.7354 21684646.3694
+ -2779.9064 -2166.1574
+ 20381587.7854 -23617391.28749 -18383886.32448 20381587.5184 20381592.4634
+ -674.3514 -525.4684
+ 21116058.3074 -16719771.43249 -13006200.61848 21116058.5034 21116062.6194
+ -1047.6024 -816.3124
+ 20786962.7744 -20299348.53849 -15795622.24848 20786961.6434 20786964.7414
+ 1611.5244 1255.7324
+ 22884062.6034 -12380625.89249 -9635875.43047 22884061.1504 22884067.1114
+ 2805.7534 2186.2944
+ 24497594.8544 -792063.81149 -605994.57945 24497594.6814 24497597.1724
+ 3380.1744 2633.9004
+ 24136686.3914 -3066945.52449 -2374886.47145 24136685.7634 24136693.2564
+ 1308.5254 1019.6304
+ 05 1 20 12 43 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23228887.7704 -6266753.19849 -4856076.01146 23228886.5004 23228891.9374
+ -2626.2484 -2046.4174
+ 21700552.1784 -16082826.50849 -12503399.57947 21700551.4424 21700552.8024
+ -2792.8574 -2176.2484
+ 20385491.6044 -23596875.89549 -18367900.31348 20385491.2854 20385496.6534
+ -693.3504 -540.2704
+ 21122095.6064 -16688047.16949 -12981480.43348 21122095.8294 21122099.8054
+ -1067.3294 -831.6844
+ 20777811.8194 -20347434.66049 -15833091.95348 20777810.5514 20777814.4594
+ 1594.2174 1242.2474
+ 22868051.1744 -12464762.17549 -9701436.18647 22868050.6624 22868056.4594
+ 2803.2714 2184.3714
+ 24478295.8354 -893479.56249 -685019.88345 24478295.0754 24478299.7334
+ 3380.8574 2634.4384
+ 24129263.4124 -3105982.71149 -2405305.07345 24129261.9424 24129266.3244
+ 1293.8874 1008.2244
+ 05 1 20 12 43 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23243885.6014 -6187939.77049 -4794662.98346 23243885.0354 23243889.9584
+ -2627.9694 -2047.7624
+ 21716532.3834 -15998846.83849 -12437960.89347 21716531.9414 21716534.2784
+ -2805.7584 -2186.3024
+ 20389503.8284 -23575791.09849 -18351470.60848 20389503.4954 20389509.0554
+ -712.3134 -555.0474
+ 21128244.1414 -16655731.33649 -12956299.28548 21128245.0884 21128248.8944
+ -1087.0524 -847.0514
+ 20768759.5974 -20395001.18649 -15870156.78548 20768759.0044 20768762.7174
+ 1576.8784 1228.7394
+ 22852054.1284 -12548823.52149 -9766938.55747 22852054.1504 22852060.0004
+ 2800.7784 2182.4284
+ 24458991.6314 -994914.23149 -764059.93245 24458992.4554 24458996.4204
+ 3381.4584 2634.9074
+ 24121914.3844 -3144580.14449 -2435381.00645 24121914.8094 24121921.3444
+ 1279.2494 996.8194
+ 05 1 20 12 44 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23258892.1784 -6109076.92249 -4733211.42946 23258891.8114 23258897.0524
+ -2629.5644 -2048.9984
+ 21732586.9124 -15914481.96549 -12372222.06747 21732585.8254 21732588.6794
+ -2818.5304 -2196.2584
+ 20393624.3804 -23554138.22549 -18334598.24648 20393623.8904 20393628.9154
+ -731.2154 -569.7824
+ 21134507.5324 -16622824.89349 -12930657.91148 21134507.1054 21134510.9924
+ -1106.7134 -862.3754
+ 20759807.2964 -20442046.91649 -15906815.78848 20759806.6564 20759810.1754
+ 1559.4954 1215.1914
+ 22836072.9834 -12632808.42149 -9832381.34647 22836072.2264 22836078.7204
+ 2798.2014 2180.4224
+ 24439685.1854 -1096366.94849 -843114.01845 24439685.9834 24439691.0774
+ 3381.9924 2635.3214
+ 24114652.7054 -3182735.61349 -2465112.57446 24114653.2114 24114660.9314
+ 1264.3854 985.2354
+ 05 1 20 12 44 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23273909.7634 -6030165.47249 -4671722.03546 23273908.4544 23273912.5484
+ -2631.2244 -2050.3104
+ 21748713.1094 -15829734.76249 -12306185.31547 21748712.8624 21748714.9844
+ -2831.2644 -2206.1764
+ 20397852.8524 -23531918.50549 -18317284.19348 20397852.5734 20397857.6334
+ -750.1004 -584.4954
+ 21140880.1784 -16589329.33349 -12904557.49848 21140880.7664 21140884.7724
+ -1126.3204 -877.6524
+ 20750954.7184 -20488570.70049 -15943068.09648 20750953.7964 20750956.9584
+ 1542.0644 1201.6084
+ 22820107.1464 -12716715.06449 -9897763.16547 22820106.6564 22820111.6844
+ 2795.5574 2178.3554
+ 24420377.0114 -1197836.25549 -922181.07645 24420377.2434 24420382.5674
+ 3382.5984 2635.7954
+ 24107478.5874 -3220446.97749 -2494498.07446 24107477.9384 24107484.2144
+ 1249.5354 973.6644
+ 05 1 20 12 45 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23288934.0904 -5951205.90949 -4610195.13746 23288933.3854 23288938.9764
+ -2632.7854 -2051.5174
+ 21764911.0794 -15744608.03149 -12239852.82847 21764911.1404 21764913.8404
+ -2843.8874 -2216.0214
+ 20402188.4404 -23509133.13549 -18299529.36548 20402188.2024 20402193.3414
+ -768.9344 -599.1724
+ 21147366.4954 -16555246.14249 -12877999.18448 21147366.7184 21147370.8784
+ -1145.9044 -892.9164
+ 20742200.4134 -20534571.33449 -15978912.74848 20742199.8284 20742203.5354
+ 1524.5984 1187.9974
+ 22804156.5294 -12800541.82649 -9963082.72847 22804154.5534 22804159.7484
+ 2792.8484 2176.2524
+ 24401064.4374 -1299321.07149 -1001260.17345 24401064.6124 24401071.2374
+ 3383.0664 2636.1554
+ 24100387.6834 -3257711.96449 -2523535.70046 24100385.3394 24100393.1984
+ 1234.6434 962.0634
+ 05 1 20 12 45 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23303968.2374 -5872199.18749 -4548631.49246 23303967.7454 23303972.6524
+ -2634.3494 -2052.7424
+ 21781183.5904 -15659104.66349 -12173226.84747 21781182.8614 21781185.4854
+ -2856.3484 -2225.7194
+ 20406632.2324 -23485783.70449 -18281335.01448 20406631.5994 20406637.0134
+ -787.6934 -613.7884
+ 21153963.8914 -16520576.19649 -12850983.66248 21153964.0114 21153968.6084
+ -1165.4304 -908.1264
+ 20733547.0514 -20580047.50849 -16014348.72148 20733546.3494 20733549.4794
+ 1507.1234 1174.3844
+ 22788218.6814 -12884287.05949 -10028338.76347 22788218.7064 22788223.5474
+ 2790.1264 2174.1224
+ 24381752.2214 -1400819.47749 -1080349.92145 24381750.3634 24381755.9784
+ 3383.5184 2636.5094
+ 24093379.6064 -3294528.30349 -2552223.80746 24093379.4654 24093386.4204
+ 1219.6824 950.4054
+ 05 1 20 12 46 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23319010.9114 -5793145.86349 -4487031.51746 23319010.5014 23319015.5854
+ -2635.8784 -2053.9264
+ 21797524.3134 -15573227.62149 -12106309.71047 21797524.1444 21797527.1094
+ -2868.7674 -2235.4054
+ 20411181.0634 -23461871.69849 -18262702.28948 20411181.4384 20411186.9634
+ -806.4384 -628.3954
+ 21160673.5814 -16485321.18149 -12823512.24048 21160673.2834 21160677.1144
+ -1184.9064 -923.3034
+ 20724992.4004 -20624998.19549 -16049375.23748 20724991.8914 20724995.9484
+ 1489.5874 1160.7164
+ 22772297.8364 -12967948.99249 -10093529.88547 22772298.0264 22772302.7714
+ 2787.3414 2171.9544
+ 24362432.1744 -1502330.56449 -1159449.51045 24362433.3664 24362439.2724
+ 3383.8934 2636.7974
+ 24086461.3764 -3330894.08649 -2580560.75546 24086460.5554 24086467.4774
+ 1204.6634 938.6964
+ 05 1 20 12 46 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23334063.9314 -5714046.48549 -4425395.68246 23334062.8644 23334068.0864
+ -2637.4134 -2055.1054
+ 21813938.7404 -15486979.63549 -12039103.51747 21813937.5294 21813939.4324
+ -2881.0854 -2245.0044
+ 20415839.7054 -23437397.97049 -18243631.86548 20415839.2004 20415844.2004
+ -825.1464 -642.9694
+ 21167492.0984 -16449482.63849 -12795586.12448 21167492.9504 21167497.0584
+ -1204.3454 -938.4484
+ 20716539.5274 -20669422.33149 -16083991.45248 20716538.4754 20716542.2634
+ 1472.0154 1147.0254
+ 22756393.9984 -13051526.00049 -10158654.84247 22756394.0124 22756399.0514
+ 2784.4884 2169.7294
+ 24343113.8884 -1603852.49349 -1238557.58245 24343114.2594 24343120.6234
+ 3384.2194 2637.0654
+ 24079626.0114 -3366807.21949 -2608545.03746 24079626.1154 24079631.9314
+ 1189.5854 926.9464
+ 05 1 20 12 47 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23349125.8504 -5634901.95549 -4363724.64946 23349125.0744 23349128.0154
+ -2638.8804 -2056.2784
+ 21830419.9844 -15400363.52049 -11971610.47147 21830419.5014 21830422.0754
+ -2893.3044 -2254.5234
+ 20420603.5994 -23412363.95949 -18224124.84948 20420602.8144 20420607.9384
+ -843.8004 -657.5064
+ 21174423.5854 -16413061.67149 -12767206.17148 21174423.5504 21174427.5744
+ -1223.7224 -953.5514
+ 20708186.3604 -20713318.81349 -16118196.51148 20708185.4284 20708188.9994
+ 1454.4244 1133.3164
+ 22740506.3614 -13135016.43949 -10223712.33747 22740505.1654 22740511.5724
+ 2781.5934 2167.4784
+ 24323793.1244 -1705384.09849 -1317673.21645 24323793.0314 24323798.7614
+ 3384.6104 2637.3604
+ 24072877.4954 -3402265.59549 -2636174.93846 24072877.6614 24072886.2384
+ 1174.3694 915.0904
+ 05 1 20 12 47 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23364193.1874 -5555713.05349 -4302019.06846 23364193.9054 23364198.8324
+ -2640.3514 -2057.4114
+ 21846971.6894 -15313382.08749 -11903832.76447 21846971.6704 21846974.4494
+ -2905.4314 -2263.9704
+ 20425472.7504 -23386770.97849 -18204182.27548 20425472.8144 20425478.2364
+ -862.3924 -671.9954
+ 21181464.6634 -16376059.98449 -12738373.71348 21181464.8604 21181468.6814
+ -1243.0564 -968.6154
+ 20699933.5334 -20756686.51949 -16151989.52448 20699932.7174 20699936.1484
+ 1436.7634 1119.5544
+ 22724633.4504 -13218418.55549 -10288701.01747 22724633.8994 22724640.3864
+ 2778.5594 2165.1104
+ 24304471.7814 -1806924.35149 -1396795.49945 24304470.8234 24304477.7664
+ 3384.7874 2637.4954
+ 24066218.2234 -3437267.04249 -2663448.77746 24066216.2014 24066225.0374
+ 1159.0194 903.1334
+ 05 1 20 12 48 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23379272.7314 -5476480.26249 -4240279.25746 23379271.5604 23379275.6454
+ -2641.8114 -2058.5504
+ 21863593.8344 -15226038.60849 -11835772.94747 21863592.7114 21863594.7534
+ -2917.4454 -2273.3304
+ 20430449.7564 -23360620.51449 -18183805.30248 20430449.3354 20430454.8504
+ -880.9634 -686.4624
+ 21188615.6454 -16338478.93549 -12709089.80848 21188615.9734 21188620.5354
+ -1262.3344 -983.6384
+ 20691782.1484 -20799524.36449 -16185369.67348 20691781.1104 20691784.4024
+ 1419.0664 1105.7644
+ 22708781.5514 -13301730.58849 -10353619.49147 22708780.9174 22708786.7464
+ 2775.5514 2162.7624
+ 24285148.5964 -1908471.37949 -1475923.06345 24285147.5474 24285153.2944
+ 3384.9494 2637.6244
+ 24059646.9014 -3471809.80949 -2690365.20146 24059644.6154 24059651.7164
+ 1143.7204 891.2074
+ 05 1 20 12 48 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23394357.2164 -5397204.04049 -4178505.64346 23394358.1554 23394360.9274
+ -2643.2334 -2059.6584
+ 21880282.1434 -15138335.85149 -11767433.16147 21880281.7684 21880284.1944
+ -2929.3854 -2282.6344
+ 20435531.6084 -23333914.10149 -18162995.12348 20435531.3734 20435536.4574
+ -899.4674 -700.8844
+ 21195877.6244 -16300320.09049 -12679355.66748 21195877.8374 21195881.8754
+ -1281.5764 -998.6304
+ 20683731.0364 -20841831.42649 -16218336.22148 20683730.1504 20683733.8874
+ 1401.3694 1091.9764
+ 22692944.8974 -13384950.90649 -10418466.50347 22692944.3754 22692950.5564
+ 2772.4324 2160.3354
+ 24265823.4164 -2010023.95249 -1555055.01645 24265822.7754 24265829.0004
+ 3385.1424 2637.7774
+ 24053160.0624 -3505891.56949 -2716922.41646 24053159.6354 24053166.0384
+ 1128.3404 879.2274
+ 05 1 20 12 49 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23409452.1074 -5317885.23449 -4116698.80246 23409451.1864 23409456.2204
+ -2644.6584 -2060.7764
+ 21897039.5074 -15050276.28549 -11698815.36347 21897038.9734 21897041.7524
+ -2941.2364 -2291.8664
+ 20440719.0754 -23306653.25349 -18141752.91248 20440718.7054 20440724.2584
+ -917.9184 -715.2594
+ 21203248.9704 -16261585.02249 -12649172.52748 21203248.7854 21203252.7854
+ -1300.7534 -1013.5744
+ 20675780.9624 -20883606.71749 -16250888.39848 20675780.3324 20675784.4274
+ 1383.6474 1078.1674
+ 22677126.4544 -13468077.71949 -10483240.65447 22677126.1734 22677131.9024
+ 2769.3104 2157.9004
+ 24246498.3764 -2111580.07649 -1634189.73245 24246498.1764 24246503.7544
+ 3385.2514 2637.8584
+ 24046761.6384 -3539510.21949 -2743118.73746 24046761.9484 24046769.1084
+ 1112.8294 867.1354
+ 05 1 20 12 49 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23424552.5644 -5238524.52549 -4054859.37246 23424552.3634 23424555.7854
+ -2646.0224 -2061.8284
+ 21913863.9154 -14961863.23049 -11629922.10647 21913864.0654 21913866.3464
+ -2952.9924 -2301.0304
+ 20446012.0174 -23278839.21849 -18120079.65248 20446011.9594 20446017.1104
+ -936.3544 -729.6214
+ 21210729.2314 -16222275.29749 -12618541.59248 21210729.3794 21210733.3114
+ -1319.8934 -1028.4884
+ 20667933.0484 -20924849.13549 -16283025.35148 20667932.4324 20667936.2154
+ 1365.8414 1064.2914
+ 22661326.7314 -13551109.18749 -10547940.50547 22661326.3484 22661331.2904
+ 2766.0964 2155.3984
+ 24227173.0594 -2213138.74949 -1713326.39845 24227171.3214 24227178.4104
+ 3385.3634 2637.9454
+ 24040454.6164 -3572663.83249 -2768952.69046 24040454.0954 24040459.8814
+ 1097.3494 855.0674
+ 05 1 20 12 50 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23439661.9504 -5159122.45749 -3992987.64546 23439662.0704 23439668.0474
+ -2647.3964 -2062.9064
+ 21930754.8644 -14873099.66349 -11560755.72647 21930754.3634 21930757.4644
+ -2964.6004 -2310.0804
+ 20451410.3854 -23250473.54749 -18097976.54448 20451409.4014 20451415.0844
+ -954.6964 -743.9154
+ 21218317.9774 -16182392.34049 -12587463.98548 21218318.3074 21218322.6904
+ -1338.9814 -1043.3554
+ 20660186.7064 -20965557.72849 -16314746.33748 20660185.9504 20660189.8194
+ 1348.0384 1050.4234
+ 22645545.3814 -13634043.78249 -10612564.88447 22645544.5714 22645548.9294
+ 2762.8464 2152.8684
+ 24207848.3404 -2314698.76349 -1792464.10345 24207847.0434 24207851.7004
+ 3385.3784 2637.9594
+ 24034232.8614 -3605350.52949 -2794422.82746 24034233.6934 24034238.9774
+ 1081.7454 842.9154
+ 05 1 20 12 50 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23454781.0284 -5079679.72249 -3931084.26246 23454779.9334 23454783.9494
+ -2648.7654 -2063.9754
+ 21947711.4924 -14783988.35549 -11491318.38347 21947711.9624 21947714.5734
+ -2976.1654 -2319.0894
+ 20456911.9924 -23221557.84549 -18075444.83148 20456912.2534 20456917.1794
+ -973.0174 -758.1954
+ 21226017.1004 -16141937.46849 -12555940.73348 21226017.1134 21226021.3994
+ -1358.0144 -1058.1914
+ 20652541.9564 -21005731.66549 -16346050.71048 20652540.9884 20652544.5164
+ 1330.2094 1036.5274
+ 22629782.0474 -13716879.68349 -10677112.33647 22629781.4034 22629785.8974
+ 2759.5074 2150.2684
+ 24188521.5634 -2416258.28549 -1871601.42045 24188521.0954 24188526.3804
+ 3385.2964 2637.8994
+ 24028101.7354 -3637568.41349 -2819527.66546 24028101.1814 24028108.5944
+ 1066.0924 830.7144
+ 05 1 20 12 51 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23469904.0644 -5000197.12649 -3869149.76846 23469904.1664 23469909.9094
+ -2650.1064 -2065.0164
+ 21964734.8954 -14694532.30349 -11421612.41047 21964734.9534 21964737.1114
+ -2987.5794 -2327.9884
+ 20462519.1674 -23192093.49549 -18052485.60448 20462518.8624 20462524.1884
+ -991.2814 -772.4254
+ 21233823.4824 -16100912.68649 -12523973.39448 21233823.8024 21233827.8494
+ -1376.9784 -1072.9704
+ 20644998.9334 -21045369.94349 -16376937.68448 20644998.1424 20645001.7974
+ 1312.3324 1022.5974
+ 22614037.2234 -13799615.02749 -10741581.44247 22614037.4754 22614041.9614
+ 2756.1594 2147.6574
+ 24169195.8934 -2517815.80949 -1950737.19645 24169195.1474 24169200.4814
+ 3385.1924 2637.8134
+ 24022061.1104 -3669315.31649 -2844265.49546 24022060.9074 24022066.8434
+ 1050.3284 818.4344
+ 05 1 20 12 51 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23485037.8014 -4920675.16949 -3807184.65646 23485037.9544 23485042.2584
+ -2651.3394 -2065.9834
+ 21981823.9434 -14604734.42549 -11351640.06747 21981823.0554 21981825.6084
+ -2998.9294 -2336.8224
+ 20468230.4984 -23162082.05949 -18029100.07748 20468230.1254 20468235.1394
+ -1009.4774 -786.6054
+ 21241738.5984 -16059319.49149 -12491563.14248 21241738.8054 21241742.9234
+ -1395.9064 -1087.7184
+ 20637557.9874 -21084471.62249 -16407406.52648 20637557.2004 20637560.9004
+ 1294.4334 1008.6474
+ 22598313.2314 -13882248.15049 -10805970.89547 22598312.6964 22598317.6534
+ 2752.6874 2144.9534
+ 24149870.4044 -2619369.44049 -2029869.94245 24149870.0864 24149874.5904
+ 3385.0814 2637.7274
+ 24016111.1374 -3700589.23549 -2868634.76746 24016110.2644 24016115.4274
+ 1034.5814 806.1664
+ 05 1 20 12 52 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23500178.0074 -4841114.39949 -3745189.29046 23500177.1974 23500182.2354
+ -2652.6734 -2067.0044
+ 21998975.4684 -14514597.75249 -11281403.73047 21998975.3934 21998978.1764
+ -3010.1834 -2345.5924
+ 20474045.6614 -23131524.99149 -18005289.38048 20474044.6914 20474049.9384
+ -1027.6414 -800.7594
+ 21249762.3144 -16017159.63749 -12458711.33548 21249761.6224 21249765.4544
+ -1414.7554 -1102.4074
+ 20630219.9354 -21123035.96849 -16437456.66748 20630218.9804 20630222.0284
+ 1276.5204 994.6904
+ 22582608.7684 -13964777.24149 -10870279.28247 22582607.8714 22582612.8854
+ 2749.1964 2142.2304
+ 24130546.8154 -2720918.73649 -2108999.30845 24130545.9134 24130550.6604
+ 3384.8354 2637.5324
+ 24010249.4734 -3731388.30249 -2892634.04646 24010248.1384 24010256.4434
+ 1018.6604 793.7574
+ 05 1 20 12 52 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23515325.8224 -4761515.35949 -3683164.10246 23515326.2884 23515328.6974
+ -2653.9334 -2067.9944
+ 22016192.5414 -14424125.01349 -11210905.53647 22016191.5914 22016194.7104
+ -3021.3254 -2354.2814
+ 20479962.7544 -23100423.91649 -17981054.78948 20479962.6734 20479968.8424
+ -1045.7684 -814.8844
+ 21257891.6554 -15974434.88749 -12425419.34348 21257891.8304 21257895.9784
+ -1433.5594 -1117.0584
+ 20622983.4774 -21161061.90249 -16467087.26448 20622982.6264 20622986.1614
+ 1258.5524 980.6894
+ 22566923.9144 -14047200.42149 -10934505.15547 22566922.8984 22566928.6444
+ 2745.6624 2139.4784
+ 24111225.4934 -2822461.73649 -2188123.76745 24111223.7584 24111227.8104
+ 3384.6414 2637.3854
+ 24004480.3544 -3761710.60549 -2916261.80446 24004478.7144 24004485.4654
+ 1002.8074 781.4104
+ 05 1 20 12 53 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23530479.0754 -4681878.88549 -3621109.75746 23530477.7114 23530483.2094
+ -2655.1844 -2068.9854
+ 22033471.1944 -14333319.33849 -11140147.90447 22033471.4184 22033474.3444
+ -3032.3974 -2362.9104
+ 20485984.5274 -23068780.49249 -17956397.58548 20485984.3974 20485990.0874
+ -1063.7984 -828.9334
+ 21266129.0454 -15931146.77949 -12391688.37247 21266129.1764 21266133.3474
+ -1452.3094 -1131.6724
+ 20615850.8074 -21198548.90449 -16496297.92748 20615849.5184 20615852.7714
+ 1240.5834 966.6874
+ 22551259.4204 -14129515.92549 -10998647.10047 22551258.6924 22551264.3664
+ 2742.0164 2136.6314
+ 24091903.0784 -2923996.24949 -2267241.61746 24091902.8154 24091906.6884
+ 3384.3374 2637.1484
+ 23998800.0494 -3791554.44849 -2939516.73746 23998799.6334 23998804.3814
+ 986.7714 768.9074
+ 05 1 20 12 53 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23545643.2514 -4602205.39949 -3559026.55946 23545640.9974 23545646.8334
+ -2656.3984 -2069.9224
+ 22050814.4624 -14242183.80649 -11069133.23947 22050814.1234 22050816.6394
+ -3043.3474 -2371.4354
+ 20492109.4334 -23036596.22749 -17931318.95648 20492109.3174 20492114.5434
+ -1081.8064 -842.9654
+ 21274473.0764 -15887297.23949 -12357519.92647 21274473.2404 21274477.8174
+ -1470.9974 -1146.2324
+ 20608818.5114 -21235496.01849 -16525087.88648 20608818.1054 20608822.1244
+ 1222.5674 952.6484
+ 22535615.1344 -14211722.04349 -11062703.83547 22535614.9884 22535621.4294
+ 2738.3594 2133.7824
+ 24072582.0284 -3025521.61649 -2346352.30646 24072582.1564 24072586.7654
+ 3384.0564 2636.9244
+ 23993211.5944 -3820917.71249 -2962397.16646 23993212.1854 23993218.3194
+ 970.7904 756.4624
+ 05 1 20 12 54 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23560808.1714 -4522495.35949 -3496914.89646 23560807.5664 23560813.1304
+ -2657.6314 -2070.8764
+ 22068219.8874 -14150721.45249 -10997863.90847 22068218.5654 22068221.6094
+ -3054.1884 -2379.8904
+ 20498336.4184 -23003872.76149 -17905820.15848 20498336.1914 20498341.5724
+ -1099.7654 -856.9614
+ 21282924.0524 -15842887.82549 -12322915.20147 21282924.1564 21282928.4404
+ -1489.6594 -1160.7764
+ 20601890.8184 -21271902.50349 -16553456.58648 20601890.0624 20601894.0594
+ 1204.5064 938.5744
+ 22519993.6804 -14293816.93449 -11126673.89747 22519993.1514 22519999.0244
+ 2734.5954 2130.8544
+ 24053263.9624 -3127036.73549 -2425455.02446 24053264.7314 24053269.6104
+ 3383.6034 2636.5784
+ 23987717.4204 -3849798.65749 -2984901.82046 23987716.2124 23987722.3954
+ 954.6664 743.8934
+ 05 1 20 12 54 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23575983.4914 -4442749.56049 -3434775.35146 23575983.6914 23575988.4474
+ -2658.7964 -2071.7864
+ 22085684.2784 -14058935.00449 -10926342.05147 22085684.5924 22085688.1134
+ -3064.8894 -2388.2284
+ 20504666.3684 -22970611.82049 -17879902.54848 20504665.5464 20504670.9004
+ -1117.6404 -870.8864
+ 21291482.1094 -15797920.21449 -12287875.52847 21291481.6594 21291485.7564
+ -1508.1984 -1175.2174
+ 20595066.3384 -21307767.43749 -16581403.28948 20595065.4474 20595069.1294
+ 1186.4724 924.5264
+ 22504393.6644 -14375798.79549 -11190555.87647 22504392.6754 22504397.9504
+ 2730.8354 2127.9344
+ 24033950.5654 -3228538.77849 -2504547.56446 24033949.5894 24033953.7064
+ 3383.1814 2636.2464
+ 23982312.9764 -3878195.51049 -3007029.20946 23982313.0464 23982319.0184
+ 938.4834 731.2874
+ 05 1 20 12 55 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23591165.9904 -4362968.52149 -3372608.36846 23591165.8604 23591171.6404
+ -2659.9104 -2072.6534
+ 22103213.5804 -13966827.75749 -10854570.20647 22103213.1014 22103215.3104
+ -3075.5744 -2396.5514
+ 20511097.0884 -22936814.96849 -17853567.34748 20511096.8024 20511101.8094
+ -1135.4724 -884.7814
+ 21300144.3584 -15752396.41949 -12252402.46247 21300144.5704 21300148.5514
+ -1526.7094 -1189.6444
+ 20588344.7304 -21343090.24449 -16608927.56148 20588343.7244 20588347.2854
+ 1168.3894 910.4374
+ 22488814.5014 -14457665.61249 -11254348.21547 22488814.1774 22488819.5844
+ 2726.9554 2124.9034
+ 24014638.5754 -3330026.33649 -2583628.83646 24014637.1904 24014641.1104
+ 3382.6884 2635.8654
+ 23977001.9224 -3906106.22049 -3028777.82446 23977001.2344 23977007.7994
+ 922.1984 718.6044
+ 05 1 20 12 55 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23606355.8914 -4283152.75049 -3310414.29246 23606354.0844 23606359.2124
+ -2661.1164 -2073.5954
+ 22120801.3744 -13874402.46149 -10782550.53247 22120800.6084 22120803.6124
+ -3086.1124 -2404.7644
+ 20517630.0374 -22902483.96949 -17826815.93348 20517629.8924 20517634.9924
+ -1153.2584 -898.6414
+ 21308912.7534 -15706318.21749 -12216497.40047 21308912.8484 21308917.1044
+ -1545.1684 -1204.0234
+ 20581725.3984 -21377870.08349 -16636028.73648 20581725.1054 20581729.0734
+ 1150.2744 896.3164
+ 22473258.7964 -14539415.79449 -11318049.66547 22473258.0674 22473263.2534
+ 2723.0214 2121.8304
+ 23995325.6794 -3431497.40549 -2662697.23946 23995327.7484 23995332.7444
+ 3382.0794 2635.3894
+ 23971782.3384 -3933529.10349 -3050146.28546 23971781.8254 23971789.6124
+ 905.9404 705.9294
+ 05 1 20 12 56 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23621549.9654 -4203302.86849 -3248193.68346 23621549.7374 23621553.9334
+ -2662.2144 -2074.4454
+ 22138449.0684 -13781662.07949 -10710285.35847 22138449.3934 22138451.1074
+ -3096.5534 -2412.9014
+ 20524264.8434 -22867620.31349 -17799649.45248 20524264.2064 20524269.5854
+ -1170.9854 -912.4554
+ 21317786.5254 -15659687.62849 -12180161.89847 21317786.4914 21317790.1034
+ -1563.5554 -1218.3524
+ 20575211.7884 -21412106.05649 -16662706.12648 20575210.8164 20575214.0104
+ 1132.1414 882.1884
+ 22457725.1224 -14621047.29649 -11381658.63347 22457724.3624 22457728.7144
+ 2719.0414 2118.7314
+ 23976023.6224 -3532951.47649 -2741752.37846 23976021.2224 23976025.9184
+ 3381.5064 2634.9394
+ 23966656.4744 -3960462.65049 -3071133.48146 23966657.0614 23966663.9754
+ 889.5894 693.1794
+ 05 1 20 12 56 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23636751.3064 -4123419.40649 -3185946.85646 23636751.0754 23636756.3034
+ -2663.3514 -2075.3424
+ 22156156.7414 -13688609.89649 -10637777.19247 22156155.7984 22156158.7054
+ -3106.9264 -2420.9794
+ 20530999.7294 -22832225.74649 -17772069.28148 20530999.6864 20531004.8704
+ -1188.6694 -926.2334
+ 21326764.4724 -15612506.15249 -12143397.13247 21326764.4714 21326768.6784
+ -1581.8804 -1232.6364
+ 20568800.6374 -21445797.68749 -16688959.34148 20568799.5314 20568802.9514
+ 1113.9584 868.0214
+ 22442214.2904 -14702558.36049 -11445173.76247 22442213.4164 22442217.8444
+ 2715.0064 2115.5904
+ 23956718.9484 -3634386.57349 -2820792.75146 23956719.4894 23956723.2394
+ 3380.8284 2634.4134
+ 23961627.4134 -3986904.92549 -3091737.84346 23961625.6524 23961632.6404
+ 873.1354 680.3654
+ 05 1 20 12 57 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23651958.6374 -4043503.04749 -3123674.40846 23651958.3874 23651962.7924
+ -2664.3924 -2076.1414
+ 22173921.4504 -13595248.67049 -10565028.23147 22173921.4514 22173925.0604
+ -3117.1504 -2428.9444
+ 20537835.6734 -22796302.06249 -17744076.80448 20537835.6044 20537840.8324
+ -1206.2674 -939.9524
+ 21335846.9754 -15564776.12249 -12106204.91347 21335847.1774 21335851.5064
+ -1600.1344 -1246.8584
+ 20562492.8254 -21478944.15749 -16714787.76348 20562491.8944 20562495.5884
+ 1095.7854 853.8564
+ 22426726.1904 -14783947.09549 -11508593.55847 22426725.9394 22426730.1074
+ 2710.8974 2112.3884
+ 23937419.3024 -3735800.92449 -2899816.97246 23937420.3904 23937425.1384
+ 3380.1454 2633.8944
+ 23956688.0924 -4012854.29949 -3111958.12746 23956687.9084 23956693.4994
+ 856.7294 667.5694
+ 05 1 20 12 57 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23667173.1684 -3963553.96449 -3061376.44946 23667172.2074 23667176.9924
+ -2665.4724 -2076.9804
+ 22191747.0354 -13501581.55549 -10492040.91447 22191746.4114 22191750.0754
+ -3127.3044 -2436.8534
+ 20544772.5894 -22759851.06349 -17715673.44248 20544771.8774 20544777.3834
+ -1223.8124 -953.6174
+ 21345034.1374 -15516498.87249 -12068586.30847 21345034.3674 21345038.4914
+ -1618.3334 -1261.0384
+ 20556289.3024 -21511544.98449 -16740191.01048 20556288.1774 20556291.5344
+ 1077.5804 839.6744
+ 22411261.6834 -14865211.75049 -11571916.65947 22411260.9754 22411265.5644
+ 2706.7204 2109.1334
+ 23918127.6444 -3837193.30249 -2978824.05146 23918126.1524 23918129.8904
+ 3379.3784 2633.2934
+ 23951844.1344 -4038308.93249 -3131792.91646 23951843.7454 23951849.9374
+ 840.2344 654.7344
+ 05 1 20 12 58 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23682392.7544 -3883572.92649 -2999053.60846 23682392.1884 23682397.4984
+ -2666.5764 -2077.8584
+ 22209627.8604 -13407611.48449 -10418817.51647 22209627.7254 22209631.1424
+ -3137.3434 -2444.6904
+ 20551808.5504 -22722874.34249 -17686860.42448 20551808.4094 20551813.8334
+ -1241.3184 -967.2624
+ 21354325.0194 -15467676.67149 -12030543.04347 21354324.8244 21354329.0954
+ -1636.4924 -1275.1924
+ 20550189.2524 -21543599.46149 -16765168.52848 20550188.5004 20550191.7254
+ 1059.3754 825.4854
+ 22395820.5394 -14946350.36849 -11635141.56247 22395820.7054 22395825.4064
+ 2702.4834 2105.8274
+ 23898834.2984 -3938561.67449 -3057812.42246 23898834.5194 23898841.3634
+ 3378.5354 2632.6244
+ 23947094.6444 -4063267.31749 -3151241.01546 23947094.3664 23947101.3454
+ 823.6754 641.8314
+ 05 1 20 12 58 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23697617.5014 -3803560.60349 -2936706.36546 23697617.4204 23697622.9804
+ -2667.6024 -2078.6434
+ 22227568.3684 -13313341.46049 -10345360.40947 22227567.4874 22227570.1314
+ -3147.2634 -2452.4064
+ 20558944.6934 -22685373.78949 -17657639.22448 20558944.7694 20558949.8074
+ -1258.7214 -980.8234
+ 21363719.0124 -15418311.48049 -11992076.69747 21363719.3264 21363723.0804
+ -1654.5264 -1289.2424
+ 20544193.3234 -21575107.15049 -16789719.97348 20544192.6984 20544196.0074
+ 1041.1534 811.2894
+ 22380405.6354 -15027361.09249 -11698266.80547 22380404.8154 22380409.8974
+ 2698.1994 2102.4984
+ 23879549.2624 -4039905.39549 -3136781.58745 23879550.0474 23879555.6264
+ 3377.7364 2631.9984
+ 23942439.0274 -4087727.52949 -3170300.91746 23942438.7084 23942445.1994
+ 807.0324 628.8644
+ 05 1 20 12 59 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23712850.2194 -3723517.30549 -2874335.02946 23712850.7254 23712853.6214
+ -2668.6424 -2079.4574
+ 22245564.0374 -13218774.92949 -10271672.23847 22245563.0324 22245565.8794
+ -3157.1454 -2460.1164
+ 20566180.3044 -22647351.33649 -17628011.34348 20566180.1554 20566185.2354
+ -1276.1004 -994.3664
+ 21373215.3694 -15368405.28549 -11953188.77847 21373215.6554 21373219.4954
+ -1672.5464 -1303.2874
+ 20538301.8464 -21606067.44849 -16813844.88348 20538301.0334 20538304.4924
+ 1022.8664 797.0354
+ 22365013.0404 -15108241.86749 -11761290.80347 22365013.8424 22365018.7944
+ 2693.8034 2099.0674
+ 23860270.4074 -4141221.23849 -3215729.03745 23860270.6594 23860276.5214
+ 3376.7004 2631.1934
+ 23937881.6404 -4111687.98749 -3188971.41846 23937880.8204 23937886.8094
+ 790.3254 615.8454
+ 05 1 20 12 59 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23728087.2104 -3643443.76349 -2811940.08646 23728086.8464 23728091.6874
+ -2669.6084 -2080.1984
+ 22263613.3374 -13123914.41049 -10197755.01347 22263613.4374 22263616.8084
+ -3166.8884 -2467.7084
+ 20573514.9374 -22608808.62749 -17597978.07348 20573514.5954 20573519.9814
+ -1293.4144 -1007.8554
+ 21382814.6694 -15317960.05349 -11913880.82247 21382815.0064 21382819.2194
+ -1690.4634 -1317.2414
+ 20532514.7504 -21636479.70949 -16837542.75448 20532513.8014 20532517.4284
+ 1004.5994 782.8034
+ 22349647.5334 -15188990.92549 -11824212.15247 22349647.8704 22349652.7854
+ 2689.4194 2095.6534
+ 23840998.2744 -4242508.48249 -3294654.19745 23840995.9214 23841003.0834
+ 3375.7804 2630.4814
+ 23933416.1644 -4135147.13449 -3207251.27446 23933415.5364 23933422.2574
+ 773.6024 602.8074
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 13 0 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23743331.1944 -3563340.15249 -2749521.71946 23743330.0224 23743335.7434
+ -2670.6224 -2081.0014
+ 22281721.6454 -13028763.03049 -10123611.11247 22281720.4994 22281723.5714
+ -3176.5154 -2475.2054
+ 20580947.7954 -22569747.33949 -17567540.71548 20580947.2604 20580952.9294
+ -1310.6564 -1021.2904
+ 21392517.0134 -15266977.90249 -11874154.50347 21392516.9224 21392520.8284
+ -1708.3314 -1331.1664
+ 20526832.1674 -21666343.49149 -16860813.23548 20526831.0904 20526834.5454
+ 986.3194 768.5604
+ 22334307.5524 -15269606.26049 -11887029.30047 22334306.6304 22334312.9774
+ 2684.9204 2092.1434
+ 23821727.8964 -4343765.25049 -3373555.61045 23821727.8644 23821733.9374
+ 3374.7284 2629.6564
+ 23929049.0964 -4158103.49749 -3225139.35446 23929047.4574 23929052.8114
+ 756.8164 589.7444
+ 05 1 20 13 0 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23758579.5044 -3483207.06449 -2687080.40846 23758579.4714 23758584.3154
+ -2671.5524 -2081.7184
+ 22299882.8994 -12933324.17249 -10049243.21347 22299881.8464 22299884.7434
+ -3186.0354 -2482.6314
+ 20588478.8914 -22530169.41849 -17536700.79448 20588478.8884 20588484.3144
+ -1327.8444 -1034.6824
+ 21402319.9784 -15215460.74349 -11834011.29047 21402320.1444 21402324.2464
+ -1726.1354 -1345.0394
+ 20521253.3714 -21695658.01049 -16883655.71848 20521252.7034 20521255.8454
+ 968.0114 754.2924
+ 22318989.9524 -15350086.13749 -11949740.89647 22318991.9374 22318998.0514
+ 2680.3864 2088.6084
+ 23802464.2624 -4444989.75549 -3452431.87546 23802465.9574 23802471.8624
+ 3373.6844 2628.8484
+ 23924775.8044 -4180555.36649 -3242634.29746 23924774.9194 23924782.4564
+ 740.0094 576.6464
+ 05 1 20 13 1 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23773835.2904 -3403045.15449 -2624616.65046 23773834.9334 23773838.2574
+ -2672.5644 -2082.5244
+ 22318097.3894 -12837600.58649 -9974653.46747 22318097.0534 22318100.3734
+ -3195.4954 -2489.9954
+ 20596108.5444 -22490076.78349 -17505459.79148 20596108.4434 20596113.6704
+ -1344.9934 -1048.0494
+ 21412224.7554 -15163410.46149 -11793452.65547 21412224.7764 21412228.9924
+ -1743.8614 -1358.8534
+ 20515779.8644 -21724423.07949 -16906070.06748 20515778.8784 20515782.1684
+ 949.6704 740.0044
+ 22303703.5294 -15430428.59949 -12012345.42747 22303703.4984 22303709.1174
+ 2675.7564 2085.0064
+ 23783208.7354 -4546180.39049 -3531281.77145 23783209.3124 23783215.9404
+ 3372.3904 2627.8404
+ 23920598.8164 -4202501.24349 -3259735.01046 23920598.4634 23920605.6044
+ 723.0454 563.4154
+ 05 1 20 13 1 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23789093.1644 -3322854.93549 -2562130.81546 23789093.7914 23789098.8504
+ -2673.4934 -2083.2584
+ 22336366.9824 -12741595.21449 -9899844.12747 22336366.7554 22336369.9474
+ -3204.8424 -2497.2814
+ 20603835.8814 -22449471.15649 -17473819.05048 20603835.5754 20603840.6074
+ -1362.0504 -1061.3384
+ 21422230.6224 -15110829.43149 -11752480.45147 21422230.9894 21422234.8704
+ -1761.5264 -1372.6224
+ 20510410.3134 -21752638.16149 -16928055.83948 20510409.5594 20510413.0124
+ 931.3254 725.7044
+ 22288442.0374 -15510631.57949 -12074841.26347 22288441.5304 22288446.7824
+ 2671.0944 2081.3734
+ 23763958.4094 -4647335.26449 -3610103.74546 23763960.7014 23763967.0914
+ 3371.2214 2626.9294
+ 23916520.3034 -4223939.48149 -3276440.12846 23916519.1724 23916525.9444
+ 706.1244 550.2314
+ 05 1 20 13 2 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23804359.3014 -3242636.90149 -2499623.26046 23804359.1714 23804363.1394
+ -2674.3754 -2083.9244
+ 22354689.1524 -12645311.28749 -9824817.74747 22354689.8124 22354691.3724
+ -3214.0734 -2504.4784
+ 20611660.3744 -22408354.44549 -17441780.05948 20611659.9744 20611664.6674
+ -1379.0594 -1074.5894
+ 21432336.5604 -15057719.73149 -11711096.30347 21432337.1684 21432341.5234
+ -1779.1094 -1386.3184
+ 20505146.2084 -21780302.87649 -16949612.76548 20505145.2274 20505148.7844
+ 912.9764 711.4094
+ 22273206.2394 -15590693.21349 -12137226.96047 22273206.3634 22273211.6454
+ 2666.3474 2077.6764
+ 23744721.4894 -4748452.44149 -3688896.38346 23744719.4544 23744725.7034
+ 3369.9584 2625.9404
+ 23912537.7464 -4244868.21049 -3292748.24646 23912537.1364 23912543.2694
+ 689.1304 537.0034
+ 05 1 20 13 2 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23819629.6054 -3162391.33449 -2437094.31146 23819627.8854 23819633.5864
+ -2675.2774 -2084.6334
+ 22373064.4144 -12548751.94049 -9749576.74247 22373064.2224 22373066.1654
+ -3223.2094 -2511.5924
+ 20619581.5674 -22366728.50749 -17409344.28048 20619580.8214 20619586.0824
+ -1396.0074 -1087.7974
+ 21442543.9134 -15004083.32849 -11669301.73147 21442543.8294 21442547.9054
+ -1796.6554 -1399.9934
+ 20499986.1604 -21807416.69749 -16970740.41548 20499985.4564 20499989.2244
+ 894.6114 697.0994
+ 22257999.4194 -15670611.48149 -12199500.93647 22257998.3204 22258004.0944
+ 2661.5314 2073.9114
+ 23725483.3794 -4849530.71849 -3767658.69446 23725483.8224 23725490.5594
+ 3368.6444 2624.9134
+ 23908652.7334 -4265286.04349 -3308658.22646 23908652.0304 23908658.4784
+ 672.0194 523.6414
+ 05 1 20 13 3 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23834903.6454 -3082118.80849 -2374544.34646 23834904.7644 23834909.2344
+ -2676.1894 -2085.3574
+ 22391490.7594 -12451920.32749 -9674123.59347 22391490.4364 22391493.0774
+ -3232.2404 -2518.6274
+ 20627598.6614 -22324595.34849 -17376513.25048 20627598.3744 20627603.9124
+ -1412.8744 -1100.9404
+ 21452850.6314 -14949922.34349 -11627098.40447 21452850.6654 21452854.7694
+ -1814.0914 -1413.5744
+ 20494931.5454 -21833979.20349 -16991438.47648 20494930.7804 20494934.2844
+ 876.2084 682.7614
+ 22242818.2454 -15750384.60549 -12261661.81247 22242817.9634 22242823.2204
+ 2656.6504 2070.1204
+ 23706257.6764 -4950568.91549 -3846389.77846 23706257.5944 23706263.7734
+ 3367.2634 2623.8374
+ 23904862.4394 -4285191.63549 -3324169.10746 23904863.2394 23904870.0914
+ 654.9654 510.3614
+ 05 1 20 13 3 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23850184.3014 -3001819.62949 -2311973.60746 23850184.8654 23850189.5674
+ -2677.1024 -2086.0574
+ 22409969.3514 -12354819.29749 -9598460.49747 22409968.5524 22409971.0314
+ -3241.1854 -2525.5954
+ 20635712.2224 -22281956.91549 -17343288.50848 20635711.8344 20635718.0364
+ -1429.6924 -1114.0414
+ 21463256.0744 -14895239.07049 -11584488.08947 21463256.1634 21463260.8684
+ -1831.4654 -1427.1084
+ 20489982.0404 -21859990.00449 -17011706.63548 20489980.9004 20489984.6234
+ 857.8154 668.4304
+ 22227666.2884 -15830010.51649 -12323707.98147 22227665.6094 22227670.6774
+ 2651.7234 2066.2724
+ 23687038.2644 -5051564.37649 -3925087.55446 23687038.4344 23687044.9214
+ 3365.7624 2622.6754
+ 23901173.9644 -4304583.76149 -3339279.85046 23901172.4074 23901178.6034
+ 637.7834 496.9564
+ 05 1 20 13 4 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 23865469.5244 -2921494.41249 -2249382.60745 23865468.7634 23865474.5824
+ -2677.9344 -2086.6984
+ 22428497.3534 -12257451.90349 -9522589.86047 22428496.4724 22428499.4184
+ -3249.9904 -2532.4624
+ 20643922.0874 -22238815.13449 -17309671.55948 20643921.6604 20643927.4094
+ -1446.4414 -1127.0964
+ 21473760.9284 -14840035.68449 -11541472.47647 21473760.9494 21473765.4544
+ -1848.7574 -1440.5894
+ 20485137.5904 -21885449.00449 -17031544.81748 20485136.6974 20485140.0734
+ 839.4204 654.0924
+ -40576.80341 -10724.167 3 25014515.016
+ 3225.6024 2513.496
+ 22212541.7254 -15909487.19649 -12385637.86347 22212541.9294 22212546.6384
+ 2646.7074 2062.3734
+ 23667828.3234 -5152515.28749 -4003750.62346 23667829.0064 23667833.6354
+ 3364.2644 2621.5054
+ 23897582.0324 -4323460.83349 -3353989.27746 23897580.9894 23897587.6414
+ 620.5854 483.5694
+ 05 1 20 13 4 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 23880761.1054 -2841143.69849 -2186771.70545 23880758.5754 23880763.5864
+ -2678.7884 -2087.3784
+ 22447075.8024 -12159821.29249 -9446514.11247 22447075.5884 22447078.4584
+ -3258.7024 -2539.2494
+ 20652226.9024 -22195171.81449 -17275663.78848 20652226.9554 20652232.3044
+ -1463.1124 -1140.0874
+ 21484363.4264 -14784314.43949 -11498053.35547 21484364.2564 21484368.8224
+ -1865.9974 -1454.0224
+ 20480398.0634 -21910355.60549 -17050952.56248 20480397.1534 20480400.3074
+ 821.0084 639.7464
+ -137409.46841 -94973.460 4 24993968.165
+ 3229.8014 2516.747
+ 22197446.4754 -15988812.74349 -12447449.99147 22197446.5724 22197452.0274
+ 2641.6274 2058.4074
+ 23648627.8844 -5253420.09449 -4082377.76246 23648627.1524 23648632.9344
+ 3362.6924 2620.2774
+ 23894089.0724 -4341821.39149 -3368296.18346 23894087.7744 23894094.1264
+ 603.3854 470.1734
+ 05 1 20 13 5 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 23896053.4704 -2760767.90149 -2124141.25845 23896054.2244 23896059.8124
+ -2679.5704 -2087.9724
+ 22465702.5974 -12061930.67949 -9370235.76047 22465703.1824 22465706.1004
+ -3267.3174 -2545.9584
+ 20660628.0884 -22151029.17049 -17241266.92748 20660627.3944 20660632.5734
+ -1479.7374 -1153.0414
+ 21495065.4434 -14728077.25149 -11454232.20147 21495065.8074 21495069.9764
+ -1883.1554 -1467.3914
+ 20475763.6344 -21934709.47349 -17069929.59848 20475762.6634 20475766.1714
+ 802.5874 625.3934
+ -234368.88541 -169265.567 4 24975816.743
+ 3234.0794 2519.806
+ 22182381.4644 -16067985.28549 -12509142.87947 22182381.0604 22182386.1654
+ 2636.4734 2054.3964
+ 23629432.9614 -5354277.34849 -4160967.84446 23629433.6684 23629440.5334
+ 3361.0854 2619.0304
+ 23890690.9984 -4359663.98549 -3382199.52246 23890690.1814 23890698.3254
+ 586.1134 456.6974
+ 05 1 20 13 5 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23911352.6044 -2680367.36149 -2061491.54345 23911353.6044 23911358.6164
+ -2680.4244 -2088.6484
+ 22484380.3194 -11963782.99749 -9293757.09947 22484380.1444 22484383.4534
+ -3275.8324 -2552.5934
+ 20669122.1674 -22106388.95049 -17206482.34148 20669121.7944 20669126.9694
+ -1496.2704 -1165.9264
+ 21505866.0214 -14671326.52249 -11410010.88347 21505865.7064 21505869.6594
+ -1900.2134 -1480.6864
+ 20471234.6424 -21958510.54549 -17088475.88748 20471233.4554 20471236.8064
+ 784.1624 611.0324
+ 22167344.8264 -16147002.68749 -12570714.89347 22167344.4264 22167349.4724
+ 2631.3094 2050.3734
+ 23610249.9794 -5455085.21949 -4239519.45346 23610251.2174 23610257.4354
+ 3359.4184 2617.7274
+ 23887396.8884 -4376987.39549 -3395698.26746 23887395.3904 23887401.7814
+ 568.8264 443.2454
+ 05 1 20 13 6 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 23926659.2974 -2599942.60249 -1998822.92045 23926658.8674 23926663.5184
+ -2681.2564 -2089.2924
+ 22503107.5954 -11865381.36749 -9217080.55647 22503106.4914 22503109.0114
+ -3284.2674 -2559.1614
+ 20677710.7834 -22061253.19949 -17171311.63948 20677710.6404 20677716.3734
+ -1512.7514 -1178.7684
+ 21516760.7674 -14614064.56249 -11365391.20547 21516761.9724 21516766.7314
+ -1917.2104 -1493.9354
+ 20466810.7844 -21981758.17749 -17106590.92448 20466809.6254 20466812.9164
+ 765.7294 596.6724
+ 24938242.1364 -97166.43049 -66301.94043
+ 3242.1954 2526.2844
+ 22152337.7144 -16225862.98849 -12632164.48947 22152337.8144 22152342.5454
+ 2626.0194 2046.2474
+ 23591079.5364 -5555841.35049 -4318030.73246 23591078.7094 23591084.4804
+ 3357.6634 2616.3644
+ 23884198.8714 -4393790.18749 -3408791.35646 23884198.3604 23884204.4954
+ 551.4074 429.6654
+ 05 1 20 13 6 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 23941968.6314 -2519493.94849 -1936135.69545 23941968.0434 23941973.4944
+ -2682.0144 -2089.8904
+ 22521878.0424 -11766728.85449 -9140208.51847 22521878.4944 22521881.3294
+ -3292.5504 -2565.6264
+ 20686393.8104 -22015624.09349 -17135756.50748 20686393.6354 20686399.1714
+ -1529.1904 -1191.5744
+ 21527755.5594 -14556293.51549 -11320374.83347 21527755.8724 21527760.0334
+ -1934.1734 -1507.1464
+ 20462491.8604 -22004452.42549 -17124274.75748 20462491.0754 20462494.5224
+ 747.2444 582.2674
+ -194491.89141 -87779.728 4 24932994.427
+ 3246.1474 2527.263
+ 22137362.2874 -16304564.19349 -12693490.11047 22137361.2404 22137366.3234
+ 2620.6914 2042.0974
+ 23571915.4754 -5656543.92349 -4396500.28346 23571914.5804 23571920.5104
+ 3355.8574 2614.9464
+ 23881101.9944 -4410071.05749 -3421477.74546 23881101.0074 23881104.7364
+ 533.9744 416.0974
+ 05 1 20 13 7 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 23957282.7944 -2439021.88649 -1873430.19145 23957282.4474 23957284.9934
+ -2682.7864 -2090.4984
+ 22540698.9334 -11667828.73049 -9063143.54747 22540698.5194 22540701.4884
+ -3300.7774 -2572.0304
+ 20695170.1314 -21969503.43849 -17099818.34148 20695170.1394 20695175.9034
+ -1545.5504 -1204.3254
+ 21538845.3774 -14498015.58649 -11274963.50047 21538845.5514 21538850.1264
+ -1951.0294 -1520.2854
+ 20458278.2924 -22026593.21549 -17141527.32248 20458277.6504 20458281.2074
+ 728.7924 567.8894
+ -291934.34941 -87779.728 4 24932994.427
+ 3250.0174 2527.263
+ 22122416.4764 -16383104.27849 -12754690.17447 22122415.7394 22122421.2964
+ 2615.2734 2037.8734
+ 23552760.7394 -5757191.62349 -4474927.08146 23552761.7404 23552768.0834
+ 3353.9944 2613.4974
+ 23878101.3904 -4425828.56349 -3433756.30246 23878100.4104 23878107.0334
+ 516.4834 402.4644
+ 05 1 20 13 7 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23972597.7664 -2358526.88349 -1810706.87445 23972597.6134 23972605.0854
+ -2683.5244 -2091.0604
+ 22559565.9614 -11568683.78049 -8985887.79647 22559564.9214 22559568.4874
+ -3308.8844 -2578.3434
+ 20704040.9704 -21922893.36649 -17063498.81348 20704040.0864 20704045.2564
+ -1561.8314 -1217.0144
+ 21550031.1214 -14439233.26549 -11229159.12347 21550031.4844 21550035.8484
+ -1967.8104 -1533.3584
+ 20454170.3774 -22048179.99349 -17158348.18548 20454169.7544 20454173.2714
+ 710.3064 553.4874
+ 22107501.8544 -16461481.27749 -12815763.17147 22107501.4344 22107506.3764
+ 2609.7844 2033.5994
+ 23533622.1724 -5857782.96649 -4553309.94946 23533620.4724 23533626.6054
+ 3352.0614 2612.0034
+ 23875202.1644 -4441061.64049 -3445626.21246 23875202.0844 23875207.8664
+ 498.9924 388.8304
+ 05 1 20 13 8 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 23987920.9224 -2278009.36749 -1747966.01745 23987921.0994 23987925.1634
+ -2684.2984 -2091.6604
+ 22578478.2414 -11469297.18049 -8908443.74347 22578477.8394 22578481.0424
+ -3316.9304 -2584.6164
+ 20713002.3394 -21875795.79149 -17026799.41348 20713002.2284 20713007.4314
+ -1578.0334 -1229.6334
+ 21561312.6114 -14379949.16949 -11182963.75947 21561312.9024 21561317.4704
+ -1984.4814 -1546.3454
+ 20450168.0784 -22069212.72849 -17174737.33448 20450167.3174 20450170.9294
+ 691.8544 539.1104
+ 22092618.0784 -16539693.06449 -12876707.43347 22092617.5424 22092623.2584
+ 2604.2894 2029.3254
+ 23514489.6184 -5958315.38149 -4631646.90146 23514489.8384 23514495.4364
+ 3350.0554 2610.4304
+ 23872404.8584 -4455768.90749 -3457086.42046 23872403.6254 23872409.9954
+ 481.4524 375.1544
+ 05 1 20 13 8 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 24003249.0284 -2197469.70349 -1685207.86945 24003248.4084 24003252.2864
+ -2685.0514 -2092.2494
+ 22597435.8364 -11369672.07449 -8830813.85347 22597436.5474 22597438.8984
+ -3324.6994 -2590.6714
+ 20722056.9774 -21828212.67449 -16989721.67448 20722056.8924 20722062.4664
+ -1594.1824 -1242.2204
+ 21572688.9724 -14320165.28249 -11136378.94947 21572689.4314 21572693.5564
+ -2001.0994 -1559.3004
+ 20446271.4004 -22089691.27249 -17190694.64148 20446270.6084 20446273.9474
+ 673.3424 524.6814
+ 22077765.3374 -16617737.66449 -12937521.41447 22077765.9964 22077771.7824
+ 2598.6504 2024.9214
+ 23495373.4054 -6058787.25349 -4709936.68146 23495370.7434 23495375.9714
+ 3348.0384 2608.8604
+ 23869706.0374 -4469949.12649 -3468135.93446 23869705.4414 23869711.8384
+ 463.8734 361.4614
+ 05 1 20 13 9 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 24018579.1884 -2116908.12149 -1622432.67246 24018578.7434 24018582.3954
+ -2685.7374 -2092.7894
+ 22616439.7184 -11269811.58049 -8753000.53447 22616438.9244 22616442.4454
+ -3332.5894 -2596.8204
+ 20731204.1734 -21780146.28349 -16952267.35648 20731203.6724 20731209.3384
+ -1610.2474 -1254.7334
+ 21584160.7314 -14259883.98449 -11089406.54447 21584160.5464 21584164.5534
+ -2017.6524 -1572.1954
+ 20442480.2714 -22109615.45449 -17206219.97648 20442479.1324 20442482.5734
+ 654.9154 510.3244
+ 22062947.3384 -16695613.05749 -12998203.53447 22062946.7134 22062952.8354
+ 2593.0084 2020.5254
+ 23476264.6854 -6159196.72949 -4788177.83146 23476263.7684 23476269.1164
+ 3345.9344 2607.2274
+ 23867108.0124 -4483600.99049 -3478773.72946 23867108.2134 23867113.0874
+ 446.2224 347.7124
+ 05 1 20 13 9 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24033912.0614 -2036325.34449 -1559640.94746 24033912.4584 24033917.9854
+ -2686.4124 -2093.2954
+ 22635486.4614 -11169718.72649 -8675006.16247 22635486.3084 22635488.1754
+ -3340.2484 -2602.7964
+ 20740442.5544 -21731598.64849 -16914438.04248 20740442.1994 20740447.3664
+ -1626.2534 -1267.2074
+ 21595725.5124 -14199107.53849 -11042048.30647 21595725.8184 21595730.4534
+ -2034.1154 -1585.0264
+ 20438794.0704 -22128985.25449 -17221313.32748 20438793.1154 20438796.3264
+ 636.4214 495.9134
+ -56890.36741 -669.499 3 24813120.748
+ 3268.1544 2545.296
+ 22048160.1904 -16773317.29049 -13058752.29247 22048160.3414 22048166.1814
+ 2587.2904 2016.0794
+ 23457169.9284 -6259541.81249 -4866368.80546 23457168.7544 23457174.7234
+ 3343.7244 2605.4964
+ 23864611.5404 -4496723.31849 -3488998.92146 23864611.0454 23864617.0284
+ 428.5554 333.9384
+ 05 1 20 13 10 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24049250.1154 -1955721.56449 -1496832.85746 24049250.3754 24049255.4684
+ -2687.1354 -2093.8614
+ 22654576.6194 -11069396.70949 -8596833.21547 22654576.4374 22654579.1994
+ -3347.8714 -2608.7314
+ 20749771.4294 -21682571.64949 -16876235.19648 20749771.4474 20749777.2134
+ -1642.1974 -1279.6334
+ 21607384.4424 -14137838.48949 -10994306.21647 21607384.6184 21607390.0074
+ -2050.4854 -1597.7804
+ 20435214.0424 -22147800.40649 -17235974.48148 20435212.8344 20435216.1534
+ 617.9524 481.5194
+ -154985.61341 -88556.417 4 24791664.583
+ 3271.5244 2548.596
+ 22033406.9324 -16850848.16449 -13119165.96447 22033406.7164 22033412.1344
+ 2581.4444 2011.5144
+ 23438086.2974 -6359820.69949 -4944508.20146 23438086.6314 23438092.4324
+ 3341.4804 2603.7474
+ 23862214.3994 -4509315.20149 -3498810.76646 23862213.3854 23862220.4034
+ 410.8294 320.1234
+ 05 1 20 13 10 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24064592.9104 -1875097.15949 -1434008.69246 24064593.1424 24064598.2924
+ -2687.8554 -2094.4294
+ 22673710.3104 -10968848.44549 -8518483.96647 22673709.9934 22673713.3954
+ -3355.3394 -2614.5504
+ 20759192.5684 -21633067.54449 -16837660.57648 20759191.8834 20759197.7284
+ -1658.0654 -1292.0024
+ 21619137.3774 -14076079.27749 -10946182.19347 21619137.1494 21619141.9574
+ -2066.7844 -1610.4824
+ 20431738.3594 -22166060.96549 -17250203.48948 20431737.6534 20431741.3894
+ 599.4414 467.0944
+ 24770790.8374 -253181.13949 -173998.47044
+ 3274.8054 2551.9094
+ 22018687.1024 -16928203.71249 -13179443.02247 22018686.6744 22018691.8074
+ 2575.5944 2006.9564
+ 23419016.7344 -6460031.70049 -5022594.72646 23419017.2734 23419022.6234
+ 3339.2954 2602.0464
+ 23859920.5024 -4521375.22349 -3508208.15646 23859918.5784 23859925.5964
+ 393.1094 306.3184
+ 05 1 20 13 11 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24079940.6714 -1794452.37449 -1371168.64046 24079940.2414 24079944.9174
+ -2688.5074 -2094.9264
+ 22692886.4384 -10868076.98249 -8439960.81747 22692887.0414 22692889.4684
+ -3362.7404 -2620.3184
+ 20768703.0924 -21583088.44649 -16798715.83648 20768702.7874 20768708.0864
+ -1673.8504 -1304.2944
+ 21630983.0954 -14013832.38249 -10897678.15247 21630982.9494 21630986.4574
+ -2083.0084 -1623.1224
+ 20428369.7224 -22183766.98149 -17264000.38848 20428368.7424 20428372.0064
+ 580.9764 452.7114
+ 24752084.6504 -351474.25849 -15995.62743
+ 3278.0624 2554.3314
+ 22004000.6944 -17005381.88349 -13239581.86647 22004000.3414 22004005.4584
+ 2569.6224 2002.3084
+ 23399963.1634 -6560173.08949 -5100626.95146 23399960.6214 23399966.2944
+ 3336.8234 2600.1184
+ 23857727.1214 -4532902.20349 -3517190.24046 23857726.4534 23857731.8274
+ 375.3034 292.4624
+ 05 1 20 13 11 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24095289.4084 -1713787.91149 -1308313.26046 24095289.5864 24095294.1554
+ -2689.1204 -2095.4204
+ 22712106.3694 -10767085.93249 -8361266.53847 22712104.9594 22712107.6954
+ -3369.9774 -2625.9534
+ 20778303.6584 -21532636.47549 -16759402.62948 20778303.4674 20778308.5694
+ -1689.5864 -1316.5614
+ 21642919.4114 -13951099.99349 -10848795.81047 21642919.7144 21642925.0094
+ -2099.1484 -1635.6984
+ 20425105.3394 -22200918.32249 -17277365.07448 20425104.7604 20425108.4664
+ 562.4704 438.2874
+ 24733362.3174 -449862.87849 -92662.38644
+ 3281.1744 2556.7984
+ 21989347.3244 -17082380.53249 -13299580.81347 21989347.8134 21989353.6624
+ 2563.6084 1997.6244
+ 23380917.1524 -6660242.04649 -5178602.78446 23380917.9074 23380923.1464
+ 3334.4054 2598.2334
+ 23855633.2384 -4543895.05649 -3525756.08046 23855632.5744 23855639.2004
+ 357.4924 278.5614
+ 05 1 20 13 12 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24110644.9544 -1633104.09049 -1245442.82146 24110644.4614 24110648.3854
+ -2689.7854 -2095.9354
+ 22731364.5734 -10665877.95049 -8282403.24347 22731364.1504 22731367.4694
+ -3377.2104 -2631.5954
+ 20787993.7394 -21481713.77049 -16719722.60748 20787993.8724 20787999.0044
+ -1705.2464 -1328.7624
+ 21654948.7064 -13887884.77349 -10799537.22647 21654949.3144 21654954.4964
+ -2115.1944 -1648.2054
+ 20421947.6034 -22217514.98149 -17290297.53748 20421946.8144 20421950.1704
+ 543.9784 423.8784
+ -548344.77841 -168123.509 4 24714942.856
+ 3284.3354 2559.096
+ 21974730.4384 -17159197.66449 -13359438.32447 21974729.9534 21974735.2074
+ 2557.4664 1992.8334
+ 23361890.2364 -6760237.66949 -5256521.45946 23361889.5774 23361895.1344
+ 3331.8944 2596.2854
+ 23853644.9454 -4554352.97049 -3533905.10046 23853642.8094 23853649.3914
+ 339.6384 264.6604
+ 05 1 20 13 12 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24126000.7944 -1552401.10049 -1182557.42346 24125999.7374 24126005.4224
+ -2690.4174 -2096.4214
+ 22750664.6414 -10564456.21749 -8203373.38947 22750663.8434 22750666.8614
+ -3384.2474 -2637.0754
+ 20797773.1634 -21430322.34749 -16679677.35248 20797772.9774 20797778.4314
+ -1720.8414 -1340.9164
+ 21667070.9534 -13824189.29549 -10749904.41147 21667071.1144 21667075.8014
+ -2131.1674 -1660.6524
+ 20418894.5484 -22233556.98649 -17302797.79948 20418893.6194 20418897.1894
+ 525.5024 409.4834
+ 24695866.3674 -646916.77249 -9638.15643
+ 3287.3064 2561.5324
+ 21960146.8004 -17235831.25049 -13419152.80447 21960146.6374 21960152.6064
+ 2551.3684 1988.0794
+ 23342874.3894 -6860157.32549 -5334380.94946 23342875.1994 23342882.0334
+ 3329.4024 2594.3414
+ 23851755.7474 -4564274.66849 -3541636.31746 23851755.0634 23851762.3604
+ 321.7494 250.7194
+ 05 1 20 13 13 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24141361.2714 -1471679.33249 -1119657.38946 24141361.9884 24141367.1524
+ -2691.0014 -2096.8844
+ 22770004.2154 -10462824.04749 -8124179.53847 22770004.3664 22770006.8864
+ -3391.2114 -2642.4884
+ 20807641.7454 -21378464.56849 -16639268.70548 20807641.4064 20807646.8204
+ -1736.3454 -1352.9954
+ 21679281.8974 -13760015.51749 -10699898.88747 21679282.1444 21679287.1254
+ -2147.0664 -1673.0364
+ 20415947.5694 -22249044.38449 -17314865.90548 20415946.7064 20415950.0504
+ 507.0114 395.0764
+ -745576.76641 -76261.380 4 24679600.508
+ 3290.1524 2563.756
+ 21945599.3464 -17312279.07449 -13478722.54747 21945599.5804 21945605.0014
+ 2545.1064 1983.1984
+ 23323877.0914 -6959999.45449 -5412180.00646 23323875.6924 23323882.1134
+ 3326.7174 2592.2474
+ 23849971.3014 -4573659.22449 -3548948.96446 23849969.8174 23849975.3174
+ 303.8654 236.7854
+ 05 1 20 13 13 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24156726.0624 -1390939.29849 -1056743.12846 24156725.1294 24156731.2424
+ -2691.6274 -2097.3704
+ 22789383.9404 -10360984.16849 -8044823.84047 22789383.0064 22789386.3724
+ -3398.0834 -2647.8514
+ 20817598.7074 -21326142.40349 -16598498.20048 20817597.9864 20817603.7194
+ -1751.7974 -1365.0384
+ 21691584.7434 -13695366.69549 -10649523.22747 21691584.5574 21691588.7054
+ -2162.8604 -1685.3424
+ 20413105.9434 -22263977.27649 -17326501.92648 20413104.9484 20413108.5424
+ 488.5254 380.6704
+ 24658302.2974 -844322.38849 -163458.44544
+ 3292.9084 2566.2064
+ 21931088.5684 -17388539.00649 -13538145.87147 21931087.9294 21931093.4154
+ 2538.8364 1978.3164
+ 23304892.6214 -7059761.96349 -5489917.03546 23304892.0904 23304898.2234
+ 3324.0894 2590.2014
+ 23848287.8614 -4582505.63549 -3555842.27946 23848286.5844 23848291.4644
+ 285.8704 222.7614
+ 05 1 20 13 14 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 24172093.8474 -1310181.13949 -993814.76546 24172092.9834 24172097.7544
+ -2692.2714 -2097.8624
+ 22808801.7754 -10258939.89949 -7965308.88346 22808801.3124 22808804.1304
+ -3404.8564 -2653.1354
+ 20827642.4674 -21273357.89649 -16557367.42148 20827642.4054 20827648.1374
+ -1767.1604 -1377.0104
+ 21703977.1624 -13630245.10649 -10598779.15747 21703977.2334 21703981.5974
+ -2178.5744 -1697.5844
+ 20410369.9504 -22278355.81249 -17337705.98248 20410369.0074 20410372.0984
+ 470.0444 366.2704
+ 21916612.3314 -17464609.11949 -13597421.28347 21916611.9704 21916617.6804
+ 2532.4764 1973.3624
+ 23285923.9464 -7159442.90849 -5567590.51246 23285923.4434 23285929.2814
+ 3321.3014 2588.0184
+ 23846705.2434 -4590812.97249 -3562315.54146 23846706.4014 23846712.1814
+ 267.8724 208.7324
+ 05 1 20 13 14 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 24187464.7684 -1229405.16649 -930872.50846 24187464.1104 24187469.6854
+ -2692.8644 -2098.3204
+ 22828258.1714 -10156694.24149 -7885636.98146 22828258.3094 22828261.9224
+ -3411.5244 -2658.3294
+ 20837775.6874 -21220113.35449 -16515878.18148 20837774.6804 20837780.0784
+ -1782.4604 -1388.9294
+ 21716458.9144 -13564653.23649 -10547668.63547 21716458.7584 21716463.4924
+ -2194.2154 -1709.7734
+ 20407738.7864 -22292179.99349 -17348478.06448 20407737.9474 20407741.6614
+ 451.5674 351.8704
+ 21902173.5584 -17540487.14249 -13656547.01847 21902172.9704 21902178.0504
+ 2526.0164 1968.3244
+ 23266969.4934 -7259040.32449 -5645198.87946 23266969.8404 23266976.7294
+ 3318.5004 2585.8474
+ 23845227.7894 -4598580.12849 -3568367.90446 23845227.3934 23845233.7474
+ 249.8854 194.7144
+ 05 1 20 13 15 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 24202840.2084 -1148611.85449 -867916.75346 24202840.2964 24202844.5564
+ -2693.3844 -2098.7354
+ 22847754.8614 -10054250.45349 -7805810.71447 22847753.6474 22847756.5994
+ -3418.0544 -2663.4154
+ 20847993.9404 -21166411.06949 -16474032.26648 20847993.7114 20847999.3674
+ -1797.6864 -1400.7994
+ 21729029.0034 -13498593.53249 -10496193.58647 21729029.2264 21729034.2274
+ -2209.7534 -1721.8884
+ 20405213.8134 -22305449.88249 -17358818.24548 20405213.1594 20405216.3304
+ 433.1054 337.4854
+ 21887771.0294 -17616171.08049 -13715521.51147 21887770.9764 21887776.1554
+ 2519.5234 1963.2634
+ 23248034.0144 -7358552.10149 -5722740.55146 23248033.8334 23248039.2494
+ 3315.6544 2583.6184
+ 23843854.0454 -4605806.21149 -3573998.64446 23843853.1944 23843858.7594
+ 231.8374 180.6604
+ 05 1 20 13 15 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 24218217.1714 -1067801.66649 -804947.80146 24218215.8504 24218223.1754
+ -2693.9564 -2099.1824
+ 22867287.0564 -9951611.67149 -7725832.49046 22867284.9274 22867287.1794
+ -3424.5084 -2668.4494
+ 20858300.5684 -21112253.18649 -16431831.32448 20858300.1434 20858305.3284
+ -1812.8424 -1412.6014
+ 21741688.9844 -13432068.64949 -10444356.03347 21741689.1404 21741693.8454
+ -2225.2114 -1733.9334
+ 20402794.2704 -22318165.72649 -17368726.69048 20402793.4304 20402796.6454
+ 414.6294 323.0874
+ 21873406.3504 -17691658.77149 -13774343.10647 21873406.4084 21873411.2394
+ 2512.9444 1958.1424
+ 23229113.9254 -7457976.60849 -5800214.17846 23229113.5554 23229119.9714
+ 3312.6374 2581.2674
+ 23842580.6834 -4612490.24649 -3579206.98746 23842580.0974 23842588.1254
+ 213.7274 166.5394
+ 05 1 20 13 16 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 24233597.3314 -986974.60149 -741965.77845 24233596.8594 24233601.0744
+ -2694.4904 -2099.6094
+ 22886853.7884 -9848780.58449 -7645704.43046 22886852.3724 22886855.9404
+ -3430.8674 -2673.4064
+ 20868692.2054 -21057642.04649 -16389277.21048 20868691.9384 20868697.1354
+ -1827.9084 -1424.3464
+ 21754435.9164 -13365081.27549 -10392158.10947 21754436.4394 21754441.1364
+ -2240.6014 -1745.9244
+ 20400479.8044 -22330327.78049 -17378203.61148 20400479.0224 20400482.4174
+ 396.1704 308.7054
+ 21859079.1774 -17766948.22649 -13833010.21847 21859078.8714 21859084.4094
+ 2506.3364 1952.9904
+ 23210212.0574 -7557311.81949 -5877618.25146 23210210.8284 23210217.2054
+ 3309.6394 2578.9434
+ 23841412.8954 -4618631.16949 -3583992.16046 23841412.5024 23841418.9934
+ 195.5694 152.3824
+ 05 1 20 13 16 30.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 24248983.1844 -906131.34649 -678971.05945 24248981.8234 24248987.0544
+ -2695.0654 -2100.0464
+ 22906456.5474 -9745760.69149 -7565429.24646 22906456.3384 22906459.8534
+ -3437.0854 -2678.2474
+ 20879170.2024 -21002579.76249 -16346371.54248 20879170.0354 20879175.2604
+ -1842.9094 -1436.0314
+ 21767270.5114 -13297633.96249 -10339601.78947 21767270.6594 21767275.6764
+ -2255.8844 -1757.8304
+ 20398270.3284 -22341936.20149 -17387249.13648 20398269.7474 20398273.3754
+ 377.7174 294.3264
+ 21844790.0494 -17842037.16849 -13891521.07647 21844789.9724 21844795.3094
+ 2499.5824 1947.7274
+ 23191327.7034 -7656554.95749 -5954950.57646 23191326.2414 23191331.7204
+ 3306.5834 2576.5584
+ 23840347.0594 -4624228.19849 -3588353.46546 23840346.0924 23840352.8104
+ 177.4784 138.2934
+ 05 1 20 13 17 0.0000000 0 8G16G23G 3G13G19G27G 8G15
+ 24264368.4724 -825272.04749 -615963.88045 24264367.1854 24264373.7194
+ -2695.5434 -2100.4184
+ 22926097.5284 -9642555.38549 -7485009.58146 22926096.5754 22926099.7944
+ -3443.2454 -2683.0394
+ 20889734.3494 -20947068.27149 -16303115.85148 20889733.8074 20889739.0544
+ -1857.8274 -1447.6524
+ 21780193.1004 -13229729.18949 -10286689.00547 21780192.9754 21780197.2224
+ -2271.0794 -1769.6734
+ 20396167.3114 -22352991.15949 -17395863.39148 20396166.2334 20396169.7994
+ 359.2994 279.9774
+ 21830540.3804 -17916923.62349 -13949874.17047 21830539.5404 21830544.6644
+ 2492.8334 1942.4704
+ 23172455.9024 -7755704.79649 -6032210.19946 23172457.3864 23172463.8714
+ 3303.4004 2574.0874
+ 23839385.4144 -4629280.64149 -3592290.50846 23839385.8314 23839391.2564
+ 159.3264 124.1554
+ 05 1 20 13 17 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24279760.1234 -744396.90249 -552944.34245 24279758.6164 24279764.2744
+ -2696.1334 -2100.8864
+ 22945770.3894 -9539167.27249 -7404447.47146 22945770.7064 22945773.0674
+ -3449.2894 -2687.7614
+ 20900381.9054 -20891110.07749 -16259512.07248 20900381.8504 20900387.3084
+ -1872.6794 -1459.2304
+ 21793201.2394 -13161369.59149 -10233421.81647 21793201.3114 21793205.6654
+ -2286.1984 -1781.4504
+ 20394168.6364 -22363492.96049 -17404046.60748 20394167.8514 20394171.2574
+ 340.8434 265.5944
+ 24507446.4454 -76308.48049 -36808.82543
+ 3312.3584 2581.0574
+ 21816328.2444 -17991605.35449 -14008067.72347 21816328.0474 21816333.6244
+ 2485.9634 1937.1164
+ 23153606.2834 -7854758.96649 -6109395.26046 23153607.4624 23153614.4874
+ 3300.1804 2571.5594
+ 23838527.9174 -4633787.56049 -3595802.41046 23838528.0594 23838534.9204
+ 141.0674 109.9224
+ 05 1 20 13 18 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24295151.7644 -663506.30249 -489912.74845 24295150.9594 24295155.8604
+ -2696.6824 -2101.3084
+ 22965477.6034 -9435599.41749 -7323745.27346 22965478.1934 22965481.0524
+ -3455.2434 -2692.3904
+ 20911115.4504 -20834707.55149 -16215562.06748 20911114.8294 20911120.2464
+ -1887.4784 -1470.7604
+ 21806295.1654 -13092557.96949 -10179802.40347 21806295.5444 21806300.3734
+ -2301.2324 -1793.1644
+ 20392275.6844 -22373441.65449 -17411798.83648 20392274.7594 20392278.0684
+ 322.4024 251.2224
+ 24488530.6394 -175710.29049 -114264.26245
+ 3314.3514 2582.6024
+ 21802156.3184 -18066080.13849 -14066100.02847 21802155.9914 21802161.5884
+ 2479.0034 1931.6964
+ 23134779.2784 -7953715.35449 -6186504.13246 23134777.3514 23134782.5804
+ 3296.8684 2568.9844
+ 23837774.4174 -4637748.19449 -3598888.66546 23837774.0064 23837780.1604
+ 122.8984 95.7674
+ 05 1 20 13 18 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24310548.6604 -582600.66549 -426869.49645 24310546.9324 24310552.8544
+ -2697.1414 -2101.6684
+ 22985219.2074 -9331855.09749 -7242905.62946 22985220.1584 22985223.8664
+ -3461.0324 -2696.9034
+ 20921932.6264 -20777862.71549 -16171267.41048 20921932.3834 20921938.0744
+ -1902.1894 -1482.2274
+ 21819475.8124 -13023297.19649 -10125833.00047 21819475.7364 21819480.6034
+ -2316.1584 -1804.7994
+ 20390487.7804 -22382837.56649 -17419120.32948 20390486.5774 20390490.1964
+ 303.9894 236.8764
+ 24469601.4004 -275172.27349 -191767.04945 24469613.8614
+ 3316.3734 2584.1824
+ 21788023.6564 -18140345.96649 -14123969.51047 21788023.8374 21788029.3454
+ 2472.0014 1926.2394
+ 23115967.0424 -8052572.32249 -6263535.53646 23115965.4694 23115971.8444
+ 3293.5624 2566.4144
+ 23837125.7924 -4641161.77249 -3601548.61146 23837124.5744 23837132.0534
+ 104.6784 81.5634
+ 05 1 20 13 19 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24325948.3004 -501680.11549 -363814.62245 24325948.0834 24325951.1384
+ -2697.5904 -2102.0214
+ 23004994.4814 -9227937.39249 -7161930.85746 23004995.4154 23004998.2934
+ -3466.7634 -2701.3704
+ 20932833.2124 -20720577.91549 -16126629.91048 20932832.9744 20932838.6484
+ -1916.8004 -1493.6134
+ 21832740.4074 -12953589.78849 -10071515.56647 21832740.3944 21832745.2484
+ -2330.9954 -1816.3604
+ 20388804.8164 -22391681.13649 -17426011.42448 20388803.8094 20388807.3214
+ 285.5824 222.5324
+ 24450664.3404 -374692.04449 -269314.97045 24450663.9004 24450670.7844
+ 3318.3574 2585.7344
+ 21773931.9184 -18214400.57249 -14181674.40547 21773931.4124 21773936.7214
+ 2464.9054 1920.7074
+ 23097172.4214 -8151326.86549 -6340487.14046 23097172.5824 23097179.0104
+ 3290.1374 2563.7424
+ 23836581.1594 -4644027.43649 -3603781.61246 23836581.8664 23836585.3674
+ 86.4214 67.3464
+ 05 1 20 13 19 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24341346.4384 -420744.99349 -300748.32145 24341347.4644 24341353.8544
+ -2698.1484 -2102.4454
+ 23024803.3674 -9123849.41149 -7080823.38846 23024802.8004 23024806.6274
+ -3472.4124 -2705.7664
+ 20943817.7294 -20662855.47449 -16081651.40248 20943817.5594 20943822.8634
+ -1931.3664 -1504.9624
+ 21846090.3224 -12883438.18649 -10016852.01847 21846089.9544 21846094.8374
+ -2345.7584 -1827.8564
+ 20387226.5794 -22399972.62149 -17432472.32848 20387225.9184 20387229.4704
+ 267.1974 208.2054
+ 24431717.6034 -474266.88249 -346905.70645 24431716.3604 24431722.7894
+ 3320.0074 2587.0194
+ 21759880.5904 -18288241.84249 -14239213.06447 21759879.8754 21759885.3764
+ 2457.7814 1915.1544
+ 23078400.5834 -8249978.10349 -6417358.23446 23078401.0074 23078406.8384
+ 3286.5914 2560.9834
+ 23836137.5414 -4646344.56349 -3605587.18046 23836138.0744 23836145.0084
+ 68.0884 53.0534
+ 05 1 20 13 20 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24356751.1054 -339795.72649 -237671.05745 24356749.9554 24356755.6094
+ -2698.4804 -2102.7174
+ 23044642.7314 -9019594.30049 -6999585.69946 23044641.7404 23044645.3534
+ -3477.9514 -2710.0904
+ 20954884.7084 -20604697.66749 -16036333.64148 20954884.4474 20954890.0794
+ -1945.8444 -1516.2404
+ 21859523.3334 -12812845.14949 -9961844.48147 21859524.0284 21859528.2214
+ -2360.4304 -1839.2994
+ 20385754.0064 -22407712.49349 -17438503.40448 20385753.1774 20385756.6144
+ 248.7994 193.8704
+ 24412753.7774 -573894.35449 -424537.39045 24412756.3614 24412763.3564
+ 3321.7704 2588.3924
+ 21745869.7184 -18361867.70449 -14296583.87547 21745869.3854 21745874.8434
+ 2450.5624 1909.5244
+ 23059648.5324 -8348523.74049 -6494147.05546 23059647.5884 23059654.2334
+ 3283.0514 2558.2154
+ 23835803.6274 -4648112.50049 -3606964.81846 23835802.3574 23835808.5874
+ 49.7534 38.7584
+ 05 1 20 13 20 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24372159.6534 -258832.40149 -174582.83545 24372158.4634 24372164.7914
+ -2699.0304 -2103.1324
+ 23064510.7524 -8915175.06949 -6918220.12546 23064511.3874 23064516.0544
+ -3483.2984 -2714.2624
+ 20966034.7344 -20546106.70049 -15990678.35848 20966034.0194 20966039.8874
+ -1960.2314 -1527.4554
+ 21873039.5104 -12741813.47749 -9906495.16347 21873039.7874 21873044.6344
+ -2374.9964 -1850.6414
+ 20384386.5404 -22414901.00849 -17444104.84748 20384385.2544 20384388.8244
+ 230.4404 179.5644
+ 24393786.5784 -673571.49149 -502207.80945 24393786.3624 24393796.9444
+ 3323.3494 2589.6264
+ 21731900.4534 -18435275.78449 -14353784.97747 21731900.5604 21731905.7134
+ 2443.2914 1903.8664
+ 23040917.8844 -8446960.95649 -6570851.37246 23040916.3504 23040922.5184
+ 3279.3564 2555.3324
+ 23835570.9564 -4649330.43849 -3607913.86746 23835570.7234 23835576.5034
+ 31.4104 24.4744
+ 05 1 20 13 21 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24387569.2184 -177855.44749 -111483.98645 24387568.7944 24387574.0444
+ -2699.4954 -2103.4894
+ 23084413.2414 -8810594.75049 -6836729.05446 23084412.9494 23084416.8404
+ -3488.6334 -2718.3994
+ 20977264.7874 -20487084.83549 -15944687.31148 20977265.0894 20977271.2914
+ -1974.5624 -1538.6184
+ 21886640.4314 -12670345.95349 -9850806.22347 21886640.6024 21886644.2474
+ -2389.4874 -1861.9314
+ 20383123.4204 -22421538.62449 -17449277.01648 20383122.2634 20383125.6674
+ 212.0864 165.2634
+ 24374816.1674 -773295.83449 -579915.08145 24374813.3964 24374819.2534
+ 3324.8784 2590.8194
+ 21717973.4194 -18508464.14449 -14410814.87147 21717972.9494 21717978.2904
+ 2435.9244 1898.1234
+ 23022203.8844 -8545287.90449 -6647469.78146 23022205.5284 23022211.1064
+ 3275.7074 2552.5024
+ 23835443.3094 -4649997.63649 -3608433.77646 23835443.3824 23835449.0884
+ 13.1394 10.2384
+ 05 1 20 13 21 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24402979.9814 -96865.14849 -48374.69745 24402980.2294 24402987.2754
+ -2699.8914 -2103.8074
+ 23104344.5904 -8705856.58649 -6755114.94946 23104345.0844 23104347.6974
+ -3493.8594 -2722.4784
+ 20988578.6654 -20427634.39449 -15898362.30048 20988578.2764 20988583.9214
+ -1988.8174 -1549.7284
+ 21900322.5414 -12598445.35549 -9794779.79847 21900322.7154 21900326.5164
+ -2403.9014 -1873.1684
+ 20381964.0904 -22427625.73749 -17454020.23348 20381963.4694 20381967.2164
+ 193.7184 150.9484
+ 24355827.7364 -873064.97449 -657657.17245 24355828.0674 24355833.0494
+ 3326.3124 2591.9304
+ 21704087.7124 -18581430.69749 -14467671.91947 21704087.9044 21704093.3374
+ 2428.4324 1892.2854
+ 23003515.7824 -8643503.06549 -6724001.07646 23003515.7034 23003522.0134
+ 3271.9474 2549.5734
+ 23835422.5374 -4650113.60049 -3608524.12646 23835421.3564 23835427.0224
+ -5.3574 -4.1954
+ 05 1 20 13 22 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24418395.8894 -15861.57949 14744.87645 24418394.9484 24418399.1674
+ -2700.3224 -2104.1484
+ 23124304.4064 -8600963.63049 -6673380.23546 23124303.9624 23124307.5714
+ -3498.9934 -2726.4964
+ 20999972.5004 -20367757.45749 -15851704.96748 20999972.3104 20999978.0484
+ -2002.9704 -1560.7604
+ 21914085.8914 -12526114.31849 -9738417.99947 21914086.0164 21914091.2034
+ -2418.1824 -1884.2904
+ 20380910.8594 -22433162.70249 -17458334.76048 20380910.0844 20380913.6344
+ 175.3854 136.6674
+ 24336833.0264 -972876.04249 -735431.87445 24336833.3744 24336839.4834
+ 3327.6934 2593.0014
+ 21690246.0154 -18654172.87449 -14524354.12947 21690245.6844 21690250.8594
+ 2420.9684 1886.4684
+ 22984848.8234 -8741603.88249 -6800443.28746 22984848.2114 22984854.0464
+ 3268.1104 2546.5894
+ 23835504.7874 -4649677.84249 -3608184.58346 23835504.2164 23835510.9204
+ -23.7564 -18.4984
+ 05 1 20 13 22 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24433810.9934 65154.92849 77874.59645 24433811.2374 24433817.7734
+ -2700.7774 -2104.4934
+ 23144294.1104 -8495918.79449 -6591527.17246 23144293.3704 23144297.7194
+ -3503.9944 -2730.3744
+ 21011447.9394 -20307456.51649 -15804717.22948 21011447.7594 21011453.0134
+ -2017.0724 -1571.7434
+ 21927931.4564 -12453355.72749 -9681723.03047 21927931.9794 21927936.7224
+ -2432.4024 -1895.3754
+ 20379962.1894 -22438150.06049 -17462221.02148 20379960.9354 20379964.6404
+ 157.0844 122.4044
+ 24317833.2904 -1072726.49149 -813237.40045 24317832.0424 24317837.9004
+ 3328.9444 2593.9844
+ 21676445.9954 -18726688.79649 -14580860.04847 21676446.0024 21676451.7944
+ 2413.3894 1880.5664
+ 22966202.0814 -8839588.55649 -6876794.95946 22966202.0924 22966207.7224
+ 3264.1524 2543.4944
+ 23835693.4364 -4648689.65549 -3607414.56446 23835692.5444 23835698.3524
+ -42.1564 -32.8604
+ 05 1 20 13 23 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24449232.6024 146184.11349 141014.11145 24449232.1214 24449236.9364
+ -2701.1574 -2104.7984
+ 23164310.8144 -8390725.32349 -6509558.33346 23164311.5304 23164315.1264
+ -3508.8924 -2734.2064
+ 21023002.8364 -20246733.86249 -15757400.89048 21023002.3154 21023008.0854
+ -2031.0774 -1582.6564
+ 21941859.3194 -12380172.25349 -9624696.96947 21941858.7634 21941863.0674
+ -2446.4944 -1906.3554
+ 20379117.4764 -22442588.24949 -17465679.35348 20379116.5864 20379120.1334
+ 138.7954 108.1544
+ 24298827.6574 -1172613.77949 -891071.58345 24298826.2174 24298828.7184
+ 3330.1604 2594.9274
+ 21662690.8014 -18798976.05349 -14637187.77747 21662690.6204 21662695.6514
+ 2405.7424 1874.6014
+ 22947579.7414 -8937454.30449 -6953053.98846 22947579.3904 22947584.5944
+ 3260.2034 2540.4144
+ 23835986.9894 -4647148.60149 -3606213.72846 23835985.7444 23835991.9344
+ -60.5954 -47.2084
+ 05 1 20 13 23 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24464655.8064 227225.65649 204163.27245 24464654.6704 24464658.3124
+ -2701.5934 -2105.1314
+ 23184359.1634 -8285386.34049 -6427476.06746 23184358.0244 23184360.5454
+ -3513.7174 -2737.9694
+ 21034637.7374 -20185591.94549 -15709757.84948 21034637.8014 21034642.8924
+ -2045.0404 -1593.5374
+ 21955864.6784 -12306566.57049 -9567341.92947 21955865.0564 21955869.8124
+ -2460.5284 -1917.2944
+ 20378377.9004 -22446477.74149 -17468710.13348 20378376.6694 20378379.9514
+ 120.5004 93.8964
+ 24279811.8304 -1272535.03649 -968932.19745 24279810.5644 24279817.0514
+ 3331.2354 2595.7674
+ 21648978.8134 -18871032.72249 -14693335.83147 21648978.5664 21648983.9354
+ 2397.9964 1868.5654
+ 22928979.1064 -9035199.40549 -7029219.00646 22928978.7264 22928984.9174
+ 3256.1094 2537.2264
+ 23836384.2084 -4645054.14049 -3604581.67946 23836383.7504 23836390.4814
+ -79.0864 -61.6314
+ 05 1 20 13 24 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24480077.3994 308279.30949 267321.95145 24480076.8444 24480081.4894
+ -2701.9904 -2105.4514
+ 23204431.3284 -8179905.05349 -6345282.91146 23204430.4874 23204432.7664
+ -3518.3924 -2741.6034
+ 21046352.8624 -20124033.10349 -15661789.93448 21046352.0934 21046357.3914
+ -2058.9024 -1604.3394
+ 21969951.1114 -12232541.82449 -9509660.33747 21969951.7394 21969956.4714
+ -2474.4814 -1928.1654
+ 20377741.5574 -22449819.09749 -17471313.79448 20377740.5494 20377743.9974
+ 102.2314 79.6584
+ 24260790.9944 -1372488.16149 -1046817.61845 24260790.0024 24260798.7434
+ 3332.2774 2596.5774
+ 21635311.3414 -18942856.44649 -14749302.37547 21635310.7784 21635316.3924
+ 2390.1904 1862.4844
+ 22910403.8334 -9132821.63049 -7105288.27946 22910402.2554 22910407.8204
+ 3251.9854 2534.0034
+ 23836888.3084 -4642405.64249 -3602517.93046 23836887.4484 23836893.7004
+ -97.5534 -76.0134
+ 05 1 20 13 24 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24495504.6214 389344.71749 330489.69245 24495504.4544 24495508.8634
+ -2702.3754 -2105.7544
+ 23224530.0504 -8074284.31949 -6262981.09746 23224528.8484 23224531.9844
+ -3522.9714 -2745.1914
+ 21058145.7034 -20062059.71049 -15613498.97948 21058145.1234 21058150.7154
+ -2072.6704 -1615.0694
+ 21984117.7394 -12158100.63749 -9451654.25147 21984117.6724 21984121.9594
+ -2488.2854 -1938.9264
+ 20377209.9184 -22452612.87449 -17473490.77148 20377209.1574 20377212.2114
+ 84.0044 65.4574
+ 24241763.6374 -1472470.07449 -1124725.53745 24241762.9574 24241770.0634
+ 3333.1864 2597.2834
+ 21621688.0784 -19014445.05049 -14805085.70747 21621688.0894 21621693.7084
+ 2382.3584 1856.3804
+ 22891848.9294 -9230319.28749 -7181260.48046 22891848.3974 22891853.9264
+ 3247.8334 2530.7754
+ 23837499.7014 -4639202.51349 -3600022.02346 23837498.7334 23837503.3714
+ -116.0344 -90.4084
+ 05 1 20 13 25 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24510933.0784 470421.78449 393666.56545 24510932.3814 24510937.2054
+ -2702.7824 -2106.0564
+ 23244653.7464 -7968527.25549 -6180573.05846 23244654.1104 23244657.0164
+ -3527.4554 -2748.6794
+ 21070017.2974 -19999674.03249 -15564886.78448 21070016.9964 21070022.5594
+ -2086.3854 -1625.7524
+ 21998360.9094 -12083245.80649 -9393325.83947 21998361.5424 21998366.4254
+ -2502.0474 -1949.6454
+ 20376781.8714 -22454859.45749 -17475241.36348 20376781.1814 20376784.8834
+ 65.7674 51.2474
+ 24222734.6694 -1572478.35249 -1202653.99745 24222734.6244 24222738.9204
+ 3334.0164 2597.9284
+ 21608110.3484 -19085796.36349 -14860684.12747 21608110.2104 21608116.0774
+ 2374.4044 1850.1834
+ 22873320.0384 -9327689.20649 -7257133.14646 22873319.2244 22873325.3184
+ 3243.5664 2527.4624
+ 23838212.0724 -4635444.34449 -3597093.58746 23838212.4924 23838219.8924
+ -134.5324 -104.8254
+ 05 1 20 13 25 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24526362.8104 551510.31149 456852.39345 24526362.2224 24526367.0084
+ -2703.1624 -2106.3674
+ 23264804.7244 -7862637.04849 -6098061.28346 23264804.5234 23264808.0954
+ -3531.8624 -2752.0984
+ 21081966.9994 -19936878.22249 -15515954.99548 21081966.3894 21081971.9754
+ -2099.9914 -1636.3534
+ 22012684.8174 -12007980.05449 -9334677.24247 22012684.4994 22012689.4064
+ -2515.6774 -1960.2654
+ 20376458.8314 -22456559.76149 -17476566.27948 20376457.7894 20376461.2364
+ 47.5734 37.0704
+ 24203698.4424 -1672510.17949 -1280600.78945 24203697.1924 24203702.7914
+ 3334.8084 2598.5504
+ 21594578.9754 -19156908.19649 -14916095.95147 21594577.9954 21594583.6944
+ 2366.3734 1843.9264
+ 22854814.5434 -9424929.78149 -7332905.00746 22854814.8144 22854820.9864
+ 3239.1394 2524.0034
+ 23839034.9434 -4631130.85149 -3593732.40346 23839032.9474 23839039.6844
+ -153.0924 -119.2814
+ 05 1 20 13 26 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24541794.7834 632610.12249 520046.97745 24541793.3064 24541801.6514
+ -2703.5004 -2106.6164
+ 23284979.3894 -7756616.55049 -6015447.98746 23284978.8024 23284982.8144
+ -3536.1854 -2755.4644
+ 21093993.9514 -19873674.78449 -15466705.57548 21093993.7204 21093999.4074
+ -2113.5714 -1646.9414
+ 22027085.0844 -11932306.55449 -9275710.90447 22027084.5244 22027089.2304
+ -2529.2274 -1970.8264
+ 20376239.5054 -22457714.07649 -17477465.75648 20376238.3164 20376241.5674
+ 29.3744 22.8894
+ 24184657.9984 -1772562.69749 -1358563.73245 24184658.5294 24184663.3084
+ 3335.3654 2598.9834
+ 21581092.4604 -19227778.21049 -14971319.34647 21581092.3324 21581097.3994
+ 2358.2724 1837.6154
+ 22836335.9254 -9522038.90149 -7408574.46146 22836335.4444 22836341.4724
+ 3234.7474 2520.5894
+ 23839960.7084 -4626261.44049 -3589938.05046 23839961.3854 23839967.3894
+ -171.5884 -133.7194
+ 05 1 20 13 26 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24557233.6234 713720.72149 583249.95045 24557231.2544 24557234.6114
+ -2703.8984 -2106.9314
+ 23305178.2164 -7650468.99349 -5932735.68546 23305178.0564 23305182.3334
+ -3540.3894 -2758.7374
+ 21106098.0384 -19810066.05749 -15417140.34147 21106097.6044 21106103.3104
+ -2127.0174 -1657.4164
+ 22041561.0324 -11856227.95449 -9216428.92547 22041562.0004 22041566.5494
+ -2542.6654 -1981.2994
+ 20376123.3984 -22458323.15949 -17477940.37148 20376122.5404 20376125.5934
+ 11.2244 8.7474
+ 24165614.4564 -1872633.60249 -1436541.02445 24165615.2754 24165620.2314
+ 3335.9234 2599.4214
+ 21567652.0474 -19298404.41649 -15026352.74547 21567652.1464 21567657.8834
+ 2350.1114 1831.2534
+ 22817882.1944 -9619014.49149 -7484139.86146 22817882.2344 22817887.3244
+ 3230.2104 2517.0344
+ 23840994.5064 -4620835.95549 -3585710.41546 23840992.8924 23840999.1834
+ -190.1334 -148.1594
+ 05 1 20 13 27 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24572667.7454 794841.84049 646461.20045 24572668.2184 24572674.3464
+ -2704.2544 -2107.2104
+ 23325401.4374 -7544197.48349 -5849926.79646 23325400.9614 23325404.0114
+ -3544.4154 -2761.8674
+ 21118279.4904 -19746054.56149 -15367261.26847 21118279.0054 21118284.2914
+ -2140.4244 -1667.8654
+ 22056116.3764 -11779747.43049 -9156833.73847 22056116.1094 22056120.2104
+ -2556.0264 -1991.7054
+ 20376110.9314 -22458387.67949 -17477990.64648 20376109.7564 20376113.3894
+ -6.9424 -5.4114
+ 24146569.2574 -1972720.21349 -1514530.57145 24146569.5074 24146575.8584
+ 3336.4234 2599.8104
+ 21554259.6914 -19368784.41949 -15081194.31947 21554259.5494 21554264.9964
+ 2341.8744 1824.8364
+ 22799453.8444 -9715853.25049 -7559598.61646 22799453.5304 22799459.7154
+ 3225.6694 2513.5044
+ 23842130.9254 -4614853.99649 -3581049.15246 23842130.6164 23842138.1164
+ -208.7054 -162.6274
+ 05 1 20 13 27 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24588105.5894 875973.62649 709680.72445 24588105.1114 24588109.4624
+ -2704.5774 -2107.4674
+ 23345647.1544 -7437805.04149 -5767023.62846 23345647.2024 23345650.6244
+ -3548.3954 -2764.9854
+ 21130535.8504 -19681642.60149 -15317070.14447 21130535.9424 21130541.7784
+ -2153.7274 -1678.2264
+ 22070745.4044 -11702867.53049 -9096927.35147 22070745.3354 22070750.6654
+ -2569.2904 -2002.0434
+ 20376202.9524 -22457908.14249 -17477616.99148 20376201.4674 20376204.5414
+ -25.0524 -19.5224
+ 24127521.3644 -2072819.60249 -1592530.01645 24127521.4004 24127527.8034
+ 3336.7924 2600.0954
+ 21540913.9564 -19438915.92249 -15135842.23947 21540913.7814 21540919.3714
+ 2333.5634 1818.3584
+ 22781052.6714 -9812554.63949 -7634950.33846 22781052.1694 22781057.7394
+ 3221.0624 2509.9244
+ 23843375.4324 -4608315.29649 -3575954.04046 23843374.7364 23843382.4384
+ -227.2474 -177.0694
+ 05 1 20 13 28 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24603547.0484 957115.59649 772908.17545 24603547.5344 24603555.1584
+ -2704.9334 -2107.7414
+ 23365916.2034 -7331294.62849 -5684028.56046 23365916.0144 23365919.2564
+ -3552.2954 -2768.0164
+ 21142869.9574 -19616832.43349 -15266568.73547 21142869.2464 21142874.4974
+ -2166.9714 -1688.5514
+ 22085449.8004 -11625591.08949 -9036711.98347 22085449.9774 22085455.5734
+ -2582.4574 -2012.3064
+ 20376396.5934 -22456885.43749 -17476820.08548 20376395.7724 20376399.2924
+ -43.1424 -33.6164
+ 24108472.8174 -2172929.16749 -1670537.44145 24108471.8154 24108476.5914
+ 3337.1374 2600.3664
+ 21527616.4624 -19508796.82149 -15190294.88347 21527616.0214 21527621.4384
+ 2325.1594 1811.8134
+ 22762676.6224 -9909115.48349 -7710192.56046 22762677.3044 22762683.0764
+ 3216.3214 2506.2244
+ 23844725.7244 -4601219.25649 -3570424.69546 23844725.3004 23844732.5364
+ -245.8484 -191.5654
+ 05 1 20 13 28 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24618989.7814 1038267.63149 836143.45845 24618989.8744 24618995.7324
+ -2705.2604 -2107.9914
+ 23386203.7404 -7224669.36249 -5600944.03446 23386203.6324 23386209.4244
+ -3556.0524 -2770.9414
+ 21155277.1154 -19551626.62249 -15215759.02747 21155276.9224 21155282.8274
+ -2180.0984 -1698.7804
+ 22100230.0684 -11547921.42449 -8976190.19447 22100230.4364 22100235.2344
+ -2595.5164 -2022.4804
+ 20376694.0874 -22455320.05949 -17475600.31148 20376693.5014 20376697.2964
+ -61.2044 -47.6914
+ 24089419.6024 -2273046.21149 -1748550.70145 24089418.2334 24089425.1554
+ 3337.3114 2600.5044
+ 21514366.8364 -19578424.93449 -15244550.56448 21514366.5044 21514371.5634
+ 2316.6864 1805.2104
+ 22744330.3184 -10005533.26649 -7785323.30346 22744329.8644 22744335.6544
+ 3211.5274 2502.4864
+ 23846183.1944 -4593565.56649 -3564460.81546 23846182.2524 23846188.1154
+ -264.4004 -206.0174
+ 05 1 20 13 29 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24634436.3824 1119429.39449 899386.27145 24634436.2854 24634438.5034
+ -2705.5474 -2108.2174
+ 23406517.0994 -7117932.33549 -5517772.40746 23406516.7104 23406520.7544
+ -3559.7634 -2773.8424
+ 21167760.9764 -19486027.36649 -15164642.73847 21167760.0714 21167765.9664
+ -2193.1984 -1708.9904
+ 22115085.7174 -11469860.85649 -8915363.81947 22115085.7074 22115090.3864
+ -2608.5034 -2032.6084
+ 20377095.8454 -22453212.84049 -17473958.32948 20377094.6844 20377098.2854
+ -79.2844 -61.7814
+ 24070367.5484 -2373168.03049 -1826567.66245 24070367.7084 24070373.3934
+ 3337.4794 2600.6314
+ 21501165.8914 -19647797.95749 -15298607.46548 21501165.4724 21501170.5444
+ 2308.1714 1798.5774
+ 22726010.9054 -10101806.35549 -7860341.28546 22726009.9224 22726015.3324
+ 3206.6414 2498.6794
+ 23847745.9014 -4585354.04549 -3558062.22846 23847744.8304 23847751.1104
+ -283.0374 -220.5564
+ 05 1 20 13 29 30.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24649879.9854 1200600.74949 962636.66545 24649879.4764 24649886.2714
+ -2705.8434 -2108.4424
+ 23426850.1384 -7011086.77349 -5434516.20446 23426849.3844 23426852.9034
+ -3563.2784 -2776.5784
+ 21180317.9414 -19420036.73349 -15113221.48747 21180317.7604 21180323.8234
+ -2206.1904 -1719.1044
+ 22130012.1304 -11391412.89249 -8854235.57347 22130013.2954 22130017.8044
+ -2621.3584 -2042.6154
+ 20377599.8844 -22450564.40449 -17471894.62548 20377598.9194 20377602.3024
+ -97.2834 -75.8014
+ 24051315.1664 -2473292.00449 -1904586.27945 24051313.7934 24051320.2334
+ 3337.4684 2600.6244
+ 21488012.8134 -19716913.77249 -15352463.94048 21488012.9704 21488018.3594
+ 2299.5294 1791.8434
+ 22707716.6404 -10197932.30949 -7935244.62246 22707717.6764 22707723.3614
+ 3201.7014 2494.8394
+ 23849414.8974 -4576584.36149 -3551228.74546 23849413.6164 23849419.8404
+ -301.6354 -235.0314
+ 05 1 20 13 30 0.0000000 0 9G16G23G 3G13G19G11G27G 8G15
+ 24665328.4704 1281781.71449 1025894.45345 24665327.4444 24665334.6634
+ -2706.1994 -2108.7244
+ 23447202.0254 -6904135.55849 -5351177.66746 23447201.9984 23447204.3674
+ -3566.7584 -2779.2864
+ 21192950.4274 -19353657.45949 -15061497.40047 21192949.9364 21192955.3914
+ -2219.1074 -1729.1784
+ 22145013.7704 -11312580.30749 -8792807.62247 22145014.3174 22145019.3544
+ -2634.1554 -2052.5914
+ 20378206.5344 -22447375.69249 -17469409.91548 20378205.6754 20378208.8184
+ -115.2764 -89.8264
+ 24032262.6244 -2573415.40949 -1982604.40845 24032261.4274 24032267.3714
+ 3337.3844 2600.5574
+ 21474910.9154 -19785769.90949 -15406118.07947 21474910.0904 21474915.1564
+ 2290.8514 1785.0774
+ 22689454.3784 -10293908.64549 -8010031.36146 22689454.0634 22689459.4224
+ 3196.6954 2490.9244
+ 23851188.6864 -4567256.38449 -3543960.18646 23851188.5814 23851193.9854
+ -320.2304 -249.5374
+ 05 1 20 13 30 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24680780.1724 1362971.87349 1089159.38345 24680780.6534 24680785.9284
+ -2706.4724 -2108.9384
+ 23467573.4884 -6797081.82149 -5267759.25646 23467573.8824 23467576.4674
+ -3570.1274 -2781.9174
+ 25431344.5444 -880807.74449 -670760.27645 25431344.9974 25431348.0094
+ 2586.1784 2015.2044
+ 21205654.8604 -19286891.96949 -15009472.35547 21205654.8184 21205660.4124
+ -2231.9394 -1739.1724
+ 22160088.3494 -11233365.92249 -8731082.16447 22160088.6464 22160093.7624
+ -2646.7964 -2062.4364
+ 20378915.9424 -22443647.40949 -17466504.76148 20378914.9514 20378918.4124
+ -133.2604 -103.8394
+ 24013209.1494 -2673535.58949 -2060620.05445 24013209.1834 24013213.9064
+ 3337.2374 2600.4384
+ 21461857.4484 -19854364.36249 -15459568.30648 21461857.0114 21461862.2824
+ 2282.0904 1778.2534
+ 22671220.2994 -10389733.40249 -8084700.00046 22671220.0014 22671224.8924
+ 3191.6094 2486.9704
+ 23853071.1324 -4557370.13749 -3536256.65546 23853069.8894 23853076.0764
+ -338.8544 -264.0374
+ 05 1 20 13 31 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24696232.1344 1444170.99149 1152431.37145 24696231.4944 24696235.2644
+ -2706.8214 -2109.2054
+ 23487964.2314 -6689928.48149 -5184263.24346 23487963.7314 23487967.2364
+ -3573.4054 -2784.4754
+ 25416579.7904 -958380.39349 -731206.51245 25416582.1074 25416587.3004
+ 2585.3884 2014.5884
+ 21218433.5054 -19219742.73049 -14957148.28747 21218433.2354 21218438.5634
+ -2244.6814 -1749.1054
+ 22175234.1694 -11153772.60549 -8669061.43547 22175234.3374 22175239.8564
+ -2659.4244 -2072.2744
+ 20379727.7894 -22439380.45749 -17463179.86548 20379726.9604 20379730.4744
+ -151.1994 -117.8184
+ 23994157.3434 -2773649.42949 -2138630.75545 23994157.5494 23994163.1224
+ 3337.0064 2600.2624
+ 21448853.8694 -19922694.71449 -15512812.74348 21448853.7444 21448859.5694
+ 2273.2394 1771.3544
+ 22653014.3384 -10485404.35449 -8159248.78647 22653014.6904 22653019.3254
+ 3186.4244 2482.9324
+ 23855059.0234 -4546925.33049 -3528117.84546 23855058.1284 23855064.7654
+ -357.4664 -278.5394
+ 05 1 20 13 31 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24711683.9864 1525378.90149 1215710.20145 24711684.2034 24711690.6124
+ -2707.0704 -2109.4064
+ 23508373.6324 -6582678.58349 -5100691.97346 23508373.1264 23508376.3164
+ -3576.5984 -2786.9614
+ 25401827.1724 -1035928.03349 -791633.24445 25401827.0724 25401829.5964
+ 2584.5344 2013.9264
+ 21231284.0204 -19152212.07049 -14904527.01547 21231283.6894 21231288.9744
+ -2257.3614 -1758.9834
+ 22190452.2174 -11073803.54649 -8606747.90847 22190452.2094 22190457.3994
+ -2671.8764 -2081.9884
+ 20380642.2694 -22434575.46449 -17459435.72748 20380641.5384 20380644.9684
+ -169.1314 -131.7914
+ 23975108.0064 -2873754.46449 -2216634.57545 23975106.9644 23975115.4454
+ 3336.6594 2599.9874
+ 21435902.5174 -19990758.78249 -15565849.68948 21435901.6654 21435907.1304
+ 2264.3304 1764.4124
+ 22634839.3714 -10580918.85249 -8233675.66847 22634838.2984 22634843.7194
+ 3181.1624 2478.8224
+ 23857151.7024 -4535921.70949 -3519543.63946 23857151.3104 23857157.5274
+ -376.1134 -293.0704
+ 05 1 20 13 32 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24727137.8384 1606595.64349 1278995.86245 24727139.5004 24727144.4144
+ -2707.2894 -2109.5754
+ 23528800.7504 -6475335.19049 -5017047.84146 23528799.9304 23528802.6234
+ -3579.6554 -2789.3304
+ 25387070.5204 -1113450.33049 -852040.24345 25387071.6434 25387077.1794
+ 2583.6654 2013.2444
+ 21244206.7744 -19084302.45249 -14851610.44447 21244206.5154 21244211.5494
+ -2269.9594 -1768.7954
+ 22205741.4184 -10993461.65249 -8544143.88947 22205741.1194 22205746.1374
+ -2684.2484 -2091.6244
+ 20381659.3624 -22429233.19149 -17455272.92148 20381658.2964 20381661.6594
+ -187.0184 -145.7284
+ 23956060.6584 -2973848.10649 -2294629.53445 23956061.2104 23956066.7744
+ 3336.2004 2599.6324
+ 21423000.5524 -20058554.37449 -15618677.42548 21423000.5434 21423005.9724
+ 2255.3464 1757.4134
+ 22616693.5654 -10676274.49349 -8307978.77047 22616692.5264 22616697.4954
+ 3175.8794 2474.7174
+ 23859353.3064 -4524359.11549 -3510533.87746 23859352.3004 23859358.7394
+ -394.7144 -307.5644
+ 05 1 20 13 32 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24742597.1874 1687820.74849 1342288.09445 24742595.8574 24742602.2134
+ -2707.5474 -2109.7804
+ 23549245.2794 -6367901.23749 -4933333.17946 23549243.3244 23549246.9734
+ -3582.6244 -2791.6504
+ 25372327.1534 -1190947.53949 -912427.73545 25372326.7764 25372333.1534
+ 2582.8074 2012.5744
+ 21257200.7394 -19016016.14749 -14798400.34747 21257200.8354 21257205.8714
+ -2282.4674 -1778.5444
+ 22221099.1604 -10912749.77449 -8481251.56047 22221100.3474 22221105.0194
+ -2696.5284 -2101.1904
+ 20382777.6824 -22423354.67249 -17450692.25948 20382776.7014 20382780.1624
+ -204.8664 -159.6334
+ 23937015.5304 -3073927.50549 -2372613.36645 23937016.0884 23937022.2594
+ 3335.6874 2599.2324
+ 21410151.7444 -20126079.19749 -15671294.17348 21410151.4254 21410156.5424
+ 2246.2804 1750.3484
+ 22598577.9144 -10771469.28549 -8382156.54247 22598577.2274 22598583.0344
+ 3170.4664 2470.4944
+ 23861660.5464 -4512237.50549 -3501088.47846 23861658.7544 23861664.3214
+ -413.3594 -322.0944
+ 05 1 20 13 33 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24758054.5684 1769054.09849 1405586.73545 24758055.3184 24758059.4294
+ -2707.9054 -2110.0564
+ 23569705.2144 -6260379.95249 -4849550.46146 23569704.0244 23569708.5014
+ -3585.4784 -2793.8764
+ 25357581.3114 -1268419.75949 -972795.73145 25357582.6474 25357589.9414
+ 2582.0234 2011.9714
+ 21270266.0724 -18947355.45349 -14744898.52347 21270266.2484 21270271.8534
+ -2294.9204 -1788.2524
+ 22236530.0304 -10831671.02449 -8418073.34347 22236529.4594 22236533.7874
+ -2708.7374 -2110.6964
+ 20383997.8894 -22416940.70749 -17445694.36848 20383997.2734 20384000.6524
+ -222.7154 -173.5454
+ 23917974.5004 -3173989.64049 -2450583.76145 23917974.4724 23917980.8004
+ 3335.0654 2598.7514
+ 21397354.9084 -20193331.09549 -15723698.25548 21397354.0054 21397359.0344
+ 2237.1674 1743.2514
+ 22580493.8004 -10866501.02849 -8456207.26547 22580493.4254 22580499.5024
+ 3164.9844 2466.2214
+ 23864072.0484 -4499556.98849 -3491207.57846 23864070.9734 23864076.8494
+ -432.0234 -336.6494
+ 05 1 20 13 33 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24773513.3794 1850295.74849 1468891.84045 24773513.0464 24773520.4134
+ -2708.2154 -2110.2964
+ 23590182.2494 -6152774.15749 -4765701.89646 23590181.1084 23590185.0894
+ -3588.2184 -2796.0084
+ 25342847.7384 -1345866.73749 -1033144.02145 25342845.1554 25342850.3844
+ 2581.1224 2011.2814
+ 21283402.8224 -18878322.74149 -14691106.81447 21283402.7204 21283408.4634
+ -2307.2464 -1797.8494
+ 22252026.3614 -10750228.61849 -8354611.76447 22252026.1514 22252031.7944
+ -2720.7564 -2120.0634
+ 20385320.6924 -22409992.44149 -17440280.13548 20385319.4884 20385322.8574
+ -240.4884 -187.3934
+ 23898937.4074 -3274031.88749 -2528538.67245 23898937.2014 23898942.0324
+ 3334.4004 2598.2394
+ 21384609.2674 -20260307.62849 -15775887.76048 21384608.6964 21384613.8154
+ 2227.9424 1736.0604
+ 22562441.6204 -10961367.41849 -8530129.13647 22562440.3604 22562446.7974
+ 3159.4354 2461.9034
+ 23866591.6114 -4486317.47649 -3480891.12146 23866590.8524 23866597.9764
+ -450.6314 -351.1394
+ 05 1 20 13 34 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24788977.4764 1931545.37149 1532203.15145 24788976.5084 24788981.4974
+ -2708.5124 -2110.5314
+ 23610675.2004 -6045087.13149 -4681790.01246 23610673.3454 23610677.8014
+ -3590.8644 -2798.0714
+ 25328113.1654 -1423288.88449 -1093472.97345 25328112.7434 25328117.8874
+ 2580.3734 2010.6844
+ 21296609.9254 -18808920.76249 -14637027.36847 21296609.9254 21296615.3624
+ -2319.5324 -1807.4224
+ 22267592.7354 -10668425.09449 -8290868.79347 22267593.4914 22267598.1484
+ -2732.7564 -2129.4234
+ 20386744.1184 -22402510.41949 -17434449.99348 20386743.1404 20386746.6594
+ -258.2754 -201.2524
+ 23879903.6034 -3374051.65249 -2606476.05145 23879902.7714 23879909.1384
+ 3333.6104 2597.6104
+ 21371916.6404 -20327006.77949 -15827861.12548 21371916.1704 21371921.1244
+ 2218.6704 1728.8314
+ 22544419.8834 -11056065.89749 -8603920.17047 22544420.2634 22544426.1534
+ 3153.7934 2457.5024
+ 23869218.1824 -4472518.96649 -3470139.05746 23869218.0694 23869223.4094
+ -469.2714 -365.6634
+ 05 1 20 13 34 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24804438.3204 2012802.70749 1595520.44745 24804437.0964 24804441.5934
+ -2708.7424 -2110.7114
+ 23631182.6604 -5937321.79649 -4597817.12846 23631181.9514 23631184.5424
+ -3593.4684 -2800.1034
+ 25313387.9354 -1500685.97049 -1153782.39545 25313385.3724 25313390.8364
+ 2579.4854 2009.9864
+ 21309886.4534 -18739151.76149 -14582661.93547 21309886.3754 21309891.7974
+ -2331.7374 -1816.9374
+ 22283228.1304 -10586263.54549 -8226846.85247 22283228.3084 22283233.3494
+ -2744.6664 -2138.6974
+ 20388269.1294 -22394495.75149 -17428204.80048 20388268.4104 20388271.8904
+ -276.0244 -215.0834
+ 23860874.8134 -3474046.07049 -2684393.65445 23860875.6304 23860880.0684
+ 3332.6584 2596.8684
+ 21359277.2474 -20393426.14349 -15879616.48048 21359276.7844 21359282.0234
+ 2209.3204 1721.5424
+ 22526432.7554 -11150594.15449 -8677578.54947 22526432.6944 22526437.7764
+ 3148.0724 2453.0464
+ 23871950.2434 -4458161.52449 -3458951.45846 23871948.5534 23871955.6914
+ -487.9014 -380.1844
+ 05 1 20 13 35 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24819903.3164 2094067.71549 1658843.76245 24819903.3944 24819909.0604
+ -2708.9384 -2110.8604
+ 23651703.1674 -5829481.19949 -4513785.58546 23651702.1504 23651704.6234
+ -3595.9184 -2802.0214
+ 25298663.3384 -1578058.17149 -1214072.41545 25298661.0714 25298665.0384
+ 2578.6394 2009.3234
+ 21323232.8854 -18669018.30349 -14528012.49547 21323232.3864 21323237.6234
+ -2343.8474 -1826.3794
+ 22298930.7064 -10503747.16649 -8162548.41347 22298930.5344 22298936.1494
+ -2756.4274 -2147.8704
+ 20389895.5364 -22385949.43849 -17421545.34448 20389894.7464 20389898.2394
+ -293.7314 -228.8804
+ 23841853.8924 -3574012.36549 -2762289.39445 23841852.8444 23841858.2854
+ 3331.6784 2596.1114
+ 21346691.3754 -20459563.41449 -15931152.01448 21346691.1974 21346696.9084
+ 2199.8364 1714.1594
+ 22508478.3694 -11244949.80049 -8751102.42747 22508477.1574 22508482.5294
+ 3142.2954 2448.5384
+ 23874788.9384 -4443245.13949 -3447328.32246 23874787.5854 23874793.5924
+ -506.5214 -394.7004
+ 05 1 20 13 35 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24835369.8374 2175340.32249 1722173.00245 24835370.0634 24835374.4884
+ -2709.1994 -2111.0624
+ 23672238.0974 -5721568.20849 -4429697.60446 23672238.1374 23672240.9164
+ -3598.2994 -2803.8604
+ 25283942.5284 -1655405.54749 -1274343.14845 25283941.6834 25283948.6004
+ 2577.9024 2008.7534
+ 21336647.0034 -18598522.65549 -14473080.84047 21336646.7874 21336652.8034
+ -2355.8884 -1835.7544
+ 22314699.9914 -10420879.02049 -8097975.87047 22314700.4384 22314704.9884
+ -2768.1014 -2156.9674
+ 20391623.3524 -22376872.33549 -17414472.28048 20391622.1624 20391625.5504
+ -311.4104 -242.6584
+ 23822835.3504 -3673947.90349 -2840161.16745 23822835.3324 23822842.1664
+ 3330.6414 2595.3024
+ 21334160.2204 -20525416.48049 -15982466.09648 21334159.7344 21334165.4744
+ 2190.3304 1706.7514
+ 22490555.8464 -11339130.47549 -8824489.95547 22490555.5824 22490560.8074
+ 3136.3964 2443.9494
+ 23877733.0114 -4427769.94149 -3435269.72146 23877732.1094 23877737.8124
+ -525.1594 -409.2094
+ 05 1 20 13 36 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24850832.3554 2256619.89548 1785507.59545 24850832.5894 24850840.0154
+ -2709.3394 -2111.1704
+ 23692786.8544 -5613585.71649 -4345555.54046 23692785.7534 23692789.8454
+ -3600.5564 -2805.6194
+ 25269229.1444 -1732727.94649 -1334594.39645 25269229.1184 25269235.9164
+ 2576.9344 2008.0144
+ 21350130.3854 -18527667.32049 -14417868.91347 21350130.6024 21350135.9514
+ -2367.8064 -1845.0394
+ 22330535.2784 -10337662.20949 -8033131.64847 22330535.4594 22330541.0334
+ -2779.6604 -2165.9664
+ 20393451.4114 -22367265.56349 -17406986.49248 20393450.1564 20393453.3944
+ -329.0174 -256.3774
+ 23803827.0744 -3773849.85049 -2918006.79845 23803826.3944 23803830.8454
+ 3329.5284 2594.4314
+ 21321683.0154 -20590983.02249 -16033556.91348 21321682.6534 21321688.4894
+ 2180.7364 1699.2774
+ 22472667.1764 -11433133.65349 -8897739.18847 22472666.8574 22472672.2954
+ 3130.4524 2439.3084
+ 23880784.1774 -4411735.73349 -3422775.59146 23880783.6054 23880789.7604
+ -543.7884 -423.7234
+ 05 1 20 13 36 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24866305.2314 2337906.84049 1848847.95545 24866304.5594 24866310.4124
+ -2709.7264 -2111.4684
+ 23713348.4064 -5505537.20049 -4261361.99946 23713347.2094 23713350.9074
+ -3602.6954 -2807.2944
+ 25254518.6654 -1810025.56749 -1394826.32645 25254519.2624 25254524.2364
+ 2576.0954 2007.3504
+ 21363681.8544 -18456454.81149 -14362378.65947 21363681.7204 21363687.0914
+ -2379.6724 -1854.2924
+ 22346436.9934 -10254099.60349 -7968017.97547 22346436.9114 22346442.7974
+ -2791.1884 -2174.9484
+ 20395379.6164 -22357130.11649 -17399088.73848 20395378.8244 20395382.5574
+ -346.6404 -270.1074
+ 23784821.2124 -3873715.48749 -2995824.09545 23784819.4854 23784826.7914
+ 3328.2034 2593.3984
+ 21309260.6684 -20656260.70349 -16084422.64048 21309261.0654 21309266.8754
+ 2171.0914 1691.7624
+ 22454814.8154 -11526957.11149 -8970848.37947 22454813.4284 22454818.1934
+ 3124.4214 2434.6114
+ 23883942.1454 -4395142.72949 -3409845.98646 23883940.0754 23883946.8644
+ -562.4104 -438.2424
+ 05 1 20 13 37 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24881774.9374 2419200.81949 1912193.82645 24881773.7674 24881779.4384
+ -2709.8434 -2111.5554
+ 23733920.7454 -5397425.15549 -4177118.95646 23733921.0644 23733924.4554
+ -3604.7934 -2808.9224
+ 25239816.9104 -1887298.35049 -1455038.95145 25239815.4154 25239819.8404
+ 2575.3364 2006.7614
+ 21377300.4444 -18384887.36249 -14306611.83147 21377300.1614 21377306.4954
+ -2391.4914 -1863.4984
+ 22362402.6614 -10170194.23549 -7902637.21047 22362404.3414 22362408.5694
+ -2802.5164 -2183.7784
+ 20397408.6994 -22346467.01049 -17390779.83548 20397407.8154 20397411.4364
+ -364.2024 -283.7934
+ 23765825.3774 -3973541.78849 -3073610.74046 23765824.6424 23765831.1274
+ 3326.8484 2592.3484
+ 21296894.9564 -20721247.36749 -16135061.60648 21296894.6154 21296900.0134
+ 2161.3334 1684.1544
+ 22436993.4734 -11620598.81249 -9043815.94147 22436993.0914 22436998.9114
+ 3118.3344 2429.8754
+ 23887205.8734 -4377991.06949 -3396481.06546 23887203.8854 23887211.8444
+ -581.0434 -452.7604
+ 05 1 20 13 37 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24897247.0814 2500501.54049 1975544.90145 24897246.6584 24897252.1584
+ -2710.1354 -2111.7894
+ 23754505.4944 -5289252.68249 -4092828.80846 23754505.4084 23754508.7814
+ -3606.7764 -2810.4764
+ 25225116.0494 -1964546.23749 -1515232.08145 25225114.1134 25225119.4944
+ 2574.4844 2006.0884
+ 21390987.4874 -18312967.55649 -14250570.44147 21390986.5574 21390991.7054
+ -2403.2104 -1872.6244
+ 22378436.5074 -10085949.41549 -7836991.93047 22378434.9974 22378440.1564
+ -2813.8044 -2192.5704
+ 20399537.9274 -22335277.22149 -17382060.52848 20399537.1764 20399540.7474
+ -381.7714 -297.4844
+ 23746834.6794 -4073326.13949 -3151364.70046 23746835.9144 23746841.6294
+ 3325.3804 2591.1984
+ 21284584.1474 -20785940.64049 -16185471.94648 21284583.7714 21284588.7824
+ 2151.4864 1676.4854
+ 22419208.9904 -11714056.00749 -9116639.73947 22419209.0634 22419214.2144
+ 3112.1374 2425.0344
+ 23890575.8784 -4360280.91749 -3382680.93946 23890574.7954 23890581.5344
+ -599.6744 -467.2824
+ 05 1 20 13 38 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24912718.2174 2581808.91749 2038901.25045 24912716.2514 24912722.0174
+ -2710.3074 -2111.9244
+ 23775101.1094 -5181022.82649 -4008493.95346 23775100.3524 23775103.7954
+ -3608.5984 -2811.8904
+ 25210420.2684 -2041769.55449 -1575406.16845 25210419.8574 25210424.9624
+ 2573.7114 2005.4924
+ 21404738.7404 -18240697.73949 -14194256.30247 21404738.7424 21404744.6084
+ -2414.8204 -1881.6774
+ 22394530.9164 -10001368.03749 -7771084.42347 22394530.8334 22394536.0504
+ -2824.9714 -2201.2744
+ 20401767.4844 -22323561.93749 -17372931.73348 20401766.6424 20401770.0564
+ -399.2574 -311.1094
+ 23727857.8154 -4173065.85649 -3229083.87846 23727857.0034 23727862.5004
+ 3323.8854 2590.0424
+ 21272329.5494 -20850338.23949 -16235651.89448 21272329.4624 21272334.8094
+ 2141.6204 1668.7964
+ 22401460.5114 -11807326.27949 -9189317.86547 22401460.0384 22401465.6324
+ 3105.8624 2420.1594
+ 23894052.3604 -4342012.34949 -3368445.71346 23894051.3184 23894058.5234
+ -618.2524 -481.7514
+ 05 1 20 13 38 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24928188.4784 2663122.91649 2102262.70045 24928188.9304 24928195.3114
+ -2710.4994 -2112.0754
+ 23795707.0894 -5072738.61549 -3924116.74946 23795705.4244 23795710.5844
+ -3610.3524 -2813.2474
+ 25195731.9184 -2118968.27749 -1635561.08145 25195730.8184 25195735.5104
+ 2572.9354 2004.8834
+ 21418557.2834 -18168080.33049 -14137671.33047 21418557.3094 21418563.3024
+ -2426.3314 -1890.6454
+ 22410689.8764 -9916453.05049 -7704916.94047 22410689.7414 22410694.0074
+ -2836.0024 -2209.8724
+ 20404096.5434 -22311322.13249 -17363394.23048 20404095.5234 20404099.2524
+ -416.7394 -324.7324
+ 23708882.3524 -4272757.87349 -3306765.93645 23708883.6404 23708890.5414
+ 3322.2544 2588.7704
+ 21260131.6214 -20914438.07249 -16285599.81448 21260131.8054 21260136.8944
+ 2131.6454 1661.0194
+ 22383747.5874 -11900407.29749 -9261848.51947 22383746.9884 22383752.9084
+ 3099.5344 2415.2124
+ 23897634.2554 -4323185.77049 -3353775.64146 23897634.0154 23897640.2524
+ -636.8594 -496.2614
+ 05 1 20 13 39 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24943668.6904 2744443.59649 2165629.34945 24943667.9354 24943673.1334
+ -2710.7994 -2112.3064
+ 23816320.0754 -4964403.04149 -3839699.54546 23816320.9414 23816325.9174
+ -3612.0054 -2814.5564
+ 25181046.0634 -2196142.27149 -1695696.68145 25181044.5844 25181048.1224
+ 2572.0194 2004.1714
+ 21432442.9184 -18095117.80049 -14080817.42447 21432441.7774 21432447.2354
+ -2437.8324 -1899.6164
+ 22426911.2654 -9831207.56149 -7638491.93447 22426911.3374 22426916.5504
+ -2846.9954 -2218.4314
+ 20406525.4284 -22298558.89449 -17353448.85948 20406524.5834 20406528.1754
+ -434.1564 -338.3044
+ 23689925.0074 -4372399.54049 -3384408.73645 23689923.7814 23689928.9314
+ 3320.5014 2587.4114
+ 21247991.9864 -20978237.80249 -16335313.89448 21247991.1004 21247996.0794
+ 2121.5834 1653.1764
+ 22366071.4724 -11993296.75349 -9334229.90847 22366070.7104 22366077.1124
+ 3093.0914 2410.1944
+ 23901324.0654 -4303801.18649 -3338670.81046 23901323.0584 23901329.7584
+ -655.4684 -510.7514
+ 05 1 20 13 39 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24959140.1254 2825770.25749 2229000.67045 24959140.1614 24959147.9704
+ -2711.0624 -2112.5144
+ 23836947.8394 -4856019.06349 -3755244.60646 23836946.7334 23836950.2944
+ -3613.6194 -2815.8004
+ 25166365.3564 -2273291.62449 -1755813.03145 25166363.0774 25166366.2454
+ 2571.2104 2003.5424
+ 21446390.8784 -18021812.69549 -14023696.58747 21446390.9284 21446396.8664
+ -2449.1674 -1908.4474
+ 22443195.2704 -9745634.83049 -7571811.93047 22443195.1994 22443200.0224
+ -2857.8734 -2226.9144
+ 20409054.0794 -22285273.32749 -17343096.47748 20409053.0234 20409056.1604
+ -451.5664 -351.8704
+ 23670972.7894 -4471988.07149 -3462010.15545 23670972.1864 23670977.1414
+ 3318.6874 2585.9854
+ 21235908.2334 -21041735.06349 -16384792.28348 21235907.7144 21235913.0624
+ 2111.5074 1645.3314
+ 22348431.0754 -12085992.42149 -9406460.29847 22348432.0184 22348437.6524
+ 3086.6154 2405.1594
+ 23905118.1714 -4283859.04649 -3323131.45446 23905117.9244 23905124.9504
+ -674.0544 -525.2314
+ 05 1 20 13 40 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24974620.0604 2907103.00449 2292376.70945 24974618.6814 24974623.8754
+ -2711.1974 -2112.6164
+ 23857578.7374 -4747589.55049 -3670754.18946 23857579.3594 23857583.7454
+ -3615.0464 -2816.9174
+ 25151686.0524 -2350416.39649 -1815910.29645 25151685.7534 25151692.9684
+ 2570.3564 2002.8764
+ 21460406.1234 -17948167.37449 -13966310.63547 21460405.4464 21460411.1954
+ -2460.5144 -1917.2834
+ 22459541.2664 -9659738.10749 -7504879.45947 22459541.1264 22459546.3844
+ -2868.5934 -2235.2654
+ 20411681.2324 -22271466.56849 -17332337.96748 20411680.2634 20411683.7134
+ -468.8864 -365.3644
+ 23652033.3374 -4571520.57949 -3539567.87246 23652032.8314 23652037.3264
+ 3316.7634 2584.4764
+ 21223882.6234 -21104927.65949 -16434033.26748 21223882.2754 21223887.8594
+ 2101.3194 1637.3904
+ 22330830.5254 -12178491.18949 -9478537.27347 22330829.9464 22330835.5574
+ 3079.9764 2399.9824
+ 23909019.9294 -4263359.50049 -3307157.80946 23909019.0934 23909025.1404
+ -692.5954 -539.6894
+ 05 1 20 13 40 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 24990098.8554 2988441.94049 2355757.53445 24990097.5464 24990101.4394
+ -2711.4294 -2112.8014
+ 23878222.5014 -4639117.62149 -3586230.74046 23878222.7734 23878224.9924
+ -3616.4004 -2817.9774
+ 25137015.4084 -2427516.47949 -1875988.31245 25137014.1584 25137020.5884
+ 2569.5694 2002.2614
+ 21474484.9804 -17874184.11849 -13908661.35747 21474484.4904 21474489.6254
+ -2471.7234 -1926.0204
+ 22475946.8814 -9573520.30649 -7437696.80747 22475947.3724 22475953.1564
+ -2879.2784 -2243.5874
+ 20414407.3864 -22257139.75349 -17321174.22348 20414406.4074 20414410.0884
+ -486.2154 -378.8684
+ 23633102.6484 -4670994.06849 -3617079.57946 23633102.6544 23633109.6894
+ 3314.7464 2582.9234
+ 21211915.8534 -21167813.46749 -16483035.20048 21211915.5534 21211921.2674
+ 2091.0314 1629.3764
+ 22313267.3094 -12270790.80349 -9550459.05547 22313265.8574 22313271.6144
+ 3073.3264 2394.8054
+ 23913026.1194 -4242303.08949 -3290750.22346 23913026.0984 23913032.5464
+ -711.2074 -554.1884
+ 05 1 20 13 41 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25005577.2544 3069786.82649 2419143.08945 25005576.5624 25005582.8284
+ -2711.6084 -2112.9354
+ 23898873.1464 -4530606.38449 -3501676.64746 23898870.6324 23898874.8694
+ -3617.6524 -2818.9404
+ 25122348.0524 -2504592.04249 -1936047.25545 25122348.2484 25122352.5134
+ 2568.7314 2001.6124
+ 21488627.0524 -17799865.62349 -13850750.86847 21488626.9274 21488632.4514
+ -2482.8634 -1934.6934
+ 22492414.8624 -9486984.28749 -7370266.20047 22492415.3754 22492420.0394
+ -2889.8284 -2251.8114
+ 20417232.7674 -22242294.23949 -17309606.29948 20417231.5614 20417234.7014
+ -503.4904 -392.3294
+ 23614186.2354 -4770405.87849 -3694543.30145 23614184.9344 23614190.9294
+ 3312.6634 2581.2994
+ 21200008.1754 -21230389.89849 -16531796.06648 21200007.8564 21200013.2964
+ 2080.7074 1621.3304
+ 22295740.0064 -12362889.42149 -9622224.21147 22295740.2644 22295746.0844
+ 3066.5784 2389.5404
+ 23917138.9454 -4220689.99349 -3273908.85046 23917138.6234 23917145.2144
+ -729.7514 -568.6354
+ 05 1 20 13 41 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25021058.0724 3151137.44749 2482533.10145 25021057.1074 25021063.8894
+ -2711.7854 -2113.0784
+ 23919527.5104 -4422058.39249 -3417093.92946 23919527.4354 23919531.6664
+ -3618.9244 -2819.9374
+ 25107684.5104 -2581642.94849 -1996086.97045 25107684.0554 25107691.0294
+ 2567.9284 2000.9864
+ 21502832.0884 -17725214.07049 -13792580.84447 21502832.3084 21502837.6654
+ -2493.9214 -1943.3134
+ 22508942.2644 -9400133.41149 -7302590.22047 22508941.6934 22508947.4734
+ -2900.2524 -2259.9304
+ 20420155.6384 -22226930.98649 -17297634.93248 20420154.8134 20420158.4644
+ -520.7394 -405.7684
+ 23595280.7964 -4869753.24849 -3771956.77946 23595280.9234 23595287.0014
+ 3310.4384 2579.5604
+ 21188159.9874 -21292654.96149 -16580314.30648 21188159.7334 21188164.7394
+ 2070.2534 1613.1864
+ 22278254.5794 -12454784.30449 -9693830.61247 22278253.1514 22278258.9684
+ 3059.7284 2384.1994
+ 23921358.3044 -4198520.27649 -3256633.82246 23921357.3174 23921364.6714
+ -748.3034 -583.0914
+ 05 1 20 13 42 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25036538.8114 3232493.75649 2545927.51545 25036539.4464 25036546.5974
+ -2711.9644 -2113.2174
+ 23940190.6424 -4313476.58849 -3332484.85746 23940189.6474 23940194.6444
+ -3619.9044 -2820.7004
+ 25093030.2744 -2658669.34049 -2056107.49245 25093028.7464 25093033.3554
+ 2567.1334 2000.3634
+ 21517100.9194 -17650232.15849 -13734153.39847 21517100.9054 21517106.2484
+ -2504.8954 -1951.8664
+ 22525528.9654 -9312970.57949 -7234671.17647 22525529.0054 22525534.1514
+ -2910.5874 -2267.9764
+ 20423177.2134 -22211051.14349 -17285261.03848 20423176.6154 20423180.1954
+ -537.9054 -419.1464
+ 23576388.5664 -4969033.14449 -3849317.69446 23576388.1214 23576393.7794
+ 3308.1484 2577.7784
+ 21176371.0414 -21354606.29749 -16628588.07648 21176370.5944 21176375.8034
+ 2059.8104 1605.0474
+ 22260806.5104 -12546472.85349 -9765276.23647 22260805.5554 22260811.4294
+ 3052.8164 2378.8184
+ 23925682.8264 -4175794.70049 -3238925.60146 23925682.3464 23925686.9534
+ -766.7684 -597.4814
+ 05 1 20 13 42 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25052021.8144 3313855.70949 2609326.29145 25052022.1474 25052027.4514
+ -2712.1064 -2113.3214
+ 23960856.7964 -4204864.18949 -3247851.92246 23960856.8084 23960860.8574
+ -3620.8894 -2821.4784
+ 25078374.7414 -2735671.29549 -2116109.01445 25078374.9164 25078381.2884
+ 2566.3234 1999.7334
+ 21531432.5804 -17574922.26749 -13675470.36847 21531432.0874 21531437.7044
+ -2515.7834 -1960.3564
+ 22542173.4544 -9225499.17349 -7166511.69847 22542173.7434 22542179.0394
+ -2920.8234 -2275.9594
+ 20426297.5044 -22194656.03649 -17272485.63148 20426296.5164 20426300.0574
+ -555.0814 -432.5304
+ 23557510.6394 -5068242.66849 -3926623.76946 23557509.0624 23557515.2674
+ 3305.7844 2575.9284
+ 21164641.4504 -21416241.63149 -16676615.60948 21164641.3444 21164647.0194
+ 2049.1874 1596.7724
+ 22243398.4584 -12637952.61449 -9836559.17547 22243397.7154 22243403.1934
+ 3045.8294 2373.3754
+ 23930112.4274 -4152513.52449 -3220784.44646 23930111.5404 23930119.4714
+ -785.3174 -611.9394
+ 05 1 20 13 43 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25067507.3784 3395223.01649 2672729.25045 25067507.0344 25067511.2854
+ -2712.3774 -2113.5374
+ 23981529.5044 -4096224.13749 -3163197.49146 23981530.6434 23981535.5254
+ -3621.7724 -2822.1624
+ 25063725.3554 -2812648.80849 -2176091.50845 25063727.2084 25063733.0034
+ 2565.5074 1999.0964
+ 21545825.2744 -17499286.64049 -13616533.54347 21545825.0024 21545830.7854
+ -2526.6124 -1968.7914
+ 22558877.4164 -9137722.14449 -7098114.06747 22558877.6984 22558881.7924
+ -2930.9744 -2283.8744
+ 20429515.4764 -22177746.93649 -17259309.71448 20429514.2614 20429518.0104
+ -572.2014 -445.8704
+ 23538644.4714 -5167379.24549 -4003872.96446 23538644.6384 23538651.0724
+ 3303.2754 2573.9724
+ 21152974.0754 -21477558.58949 -16724395.06048 21152973.5294 21152978.8784
+ 2038.5414 1588.4784
+ 22226030.5024 -12729221.38749 -9907677.70347 22226029.5584 22226035.1454
+ 3038.7524 2367.8584
+ 23934647.6364 -4128677.09649 -3202210.60246 23934647.8804 23934654.3404
+ -803.7764 -626.3154
+ 05 1 20 13 43 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25082988.9564 3476595.68449 2736136.45345 25082989.1584 25082996.1714
+ -2712.5174 -2113.6474
+ 24002210.1874 -3987559.18249 -3078523.63946 24002209.6124 24002213.4384
+ -3622.6124 -2822.8174
+ 25049084.7544 -2889602.01449 -2236055.05745 25049082.7034 25049088.5694
+ 2564.7104 1998.4764
+ 21560279.1344 -17423327.84649 -13557344.88147 21560279.4224 21560285.0364
+ -2537.3514 -1977.1594
+ 22575638.8744 -9049642.91749 -7029480.92447 22575638.1094 22575643.7254
+ -2940.9974 -2291.6864
+ 20432830.1204 -22160325.29649 -17245734.40948 20432829.5824 20432833.1514
+ -589.2524 -459.1614
+ 23519793.8264 -5266440.05449 -4081063.15546 23519794.0554 23519799.2364
+ 3300.7164 2571.9894
+ 21141366.3334 -21538555.19349 -16771924.88248 21141365.9144 21141371.6514
+ 2027.8514 1580.1404
+ 22208702.7914 -12820276.85549 -9978630.02247 22208702.4664 22208707.8894
+ 3031.5534 2362.2434
+ 23939289.8694 -4104286.05749 -3183204.58146 23939289.6284 23939295.4924
+ -822.2704 -640.7224
+ 05 1 20 13 44 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25098475.3644 3557973.48449 2799547.61745 25098475.8524 25098482.0324
+ -2712.6884 -2113.7784
+ 24022892.3994 -3878872.44849 -2993832.79946 24022892.6534 24022897.1254
+ -3623.2114 -2823.2744
+ 25034445.7974 -2966530.79549 -2295999.56145 25034444.3104 25034449.9344
+ 2563.8454 1997.8074
+ 21574795.3884 -17347048.36849 -13497906.35847 21574794.8604 21574800.7534
+ -2547.9734 -1985.4374
+ 22592455.1534 -8961264.45249 -6960614.65446 22592456.1024 22592461.5624
+ -2950.9054 -2299.4014
+ 20436243.3144 -22142392.05249 -17231760.45548 20436242.3124 20436245.6654
+ -606.2894 -472.4334
+ 23500957.2474 -5365422.26349 -4158192.08746 23500957.4604 23500962.1574
+ 3298.0234 2569.8864
+ 21129820.6174 -21599228.86149 -16819203.07348 21129820.1724 21129825.8364
+ 2017.0334 1571.7174
+ 22191416.4614 -12911116.05149 -10049413.80747 22191415.8164 22191421.9934
+ 3024.3524 2356.6374
+ 23944037.5614 -4079340.60549 -3163766.57646 23944036.7514 23944044.3374
+ -840.7194 -655.0994
+ 05 1 20 13 44 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25113965.2124 3639356.45549 2862962.81345 25113963.5294 25113969.6664
+ -2712.8274 -2113.8884
+ 24043580.0734 -3770166.66549 -2909127.08146 24043578.2634 24043583.1274
+ -3623.8084 -2823.7414
+ 25019805.3664 -3043435.17749 -2355925.07445 25019807.3784 25019813.7564
+ 2563.0124 1997.1544
+ 21589372.3674 -17270450.70049 -13438219.86647 21589371.2784 21589376.8904
+ -2558.5424 -1993.6724
+ 22609330.7204 -8872589.74149 -6891517.50547 22609330.6194 22609335.3634
+ -2960.7344 -2307.0724
+ 20439752.8594 -22123948.72049 -17217389.02948 20439751.5424 20439755.2414
+ -623.2634 -485.6594
+ 23482138.8684 -5464322.83749 -4235257.40346 23482138.2874 23482142.9574
+ 3295.2984 2567.7644
+ 21118336.6394 -21659577.55549 -16866228.03348 21118336.1224 21118341.5644
+ 2006.1634 1563.2444
+ 22174171.2874 -13001736.44449 -10120027.09647 22174171.3304 22174177.2464
+ 3017.0374 2350.9404
+ 23948890.8614 -4053841.30749 -3143897.04046 23948889.2644 23948894.8844
+ -859.1634 -669.4684
+ 05 1 20 13 45 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25129449.2334 3720744.47349 2926381.95745 25129450.0644 25129454.8484
+ -2712.9884 -2114.0124
+ 24064267.9554 -3661444.63649 -2824408.74846 24064267.0304 24064271.5894
+ -3624.2724 -2824.1004
+ 25005179.6454 -3120315.13949 -2415831.54745 25005179.6854 25005183.9894
+ 2562.2994 1996.5934
+ 21604007.0724 -17193537.06949 -13378287.18347 21604007.2884 21604012.8464
+ -2569.0234 -2001.8354
+ 22626260.7694 -8783622.05349 -6822192.09147 22626260.9734 22626266.4674
+ -2970.4314 -2314.6274
+ 20443358.8584 -22104996.50349 -17202621.07048 20443358.2414 20443361.9344
+ -640.2004 -498.8554
+ 23463334.4214 -5563139.00949 -4312256.97046 23463333.6764 23463338.3254
+ 3292.4104 2565.5164
+ 21106914.8024 -21719598.93749 -16912997.94748 21106914.4584 21106920.0334
+ 1995.1934 1554.7004
+ 22156969.2094 -13092135.68549 -10190468.05447 22156968.9394 22156974.8824
+ 3009.6164 2345.1564
+ 23953846.7124 -4027788.75649 -3123596.38046 23953847.5054 23953853.5744
+ -877.6174 -683.8574
+ 05 1 20 13 45 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25144939.5264 3802137.41149 2989804.90745 25144938.9844 25144945.3804
+ -2713.1554 -2114.1484
+ 24084958.4194 -3552709.49149 -2739680.20246 24084958.7464 24084964.4354
+ -3624.7314 -2824.4634
+ 24990555.1324 -3197170.87549 -2475719.07545 24990554.2554 24990557.7404
+ 2561.4734 1995.9564
+ 21618703.3134 -17116309.92949 -13318110.20847 21618703.3324 21618708.3114
+ -2579.4304 -2009.9434
+ 22643245.3554 -8694364.34049 -6752640.67746 22643245.5944 22643251.2264
+ -2980.0934 -2322.1664
+ 20447061.7854 -22085536.59949 -17187457.51548 20447061.1864 20447065.1154
+ -657.0994 -512.0274
+ 23444546.2164 -5661867.65049 -4389188.32346 23444544.9744 23444550.5284
+ 3289.4824 2563.2194
+ 21095556.1814 -21779290.74849 -16959511.04248 21095555.6874 21095560.8064
+ 1984.2274 1546.1504
+ 22139809.9854 -13182311.03549 -10260734.56247 22139809.0514 22139814.8364
+ 3002.1214 2339.3144
+ 23958908.3594 -4001183.68049 -3102865.14646 23958908.8374 23958916.4814
+ -896.0464 -698.2184
+ 05 1 20 13 46 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25160431.6404 3883535.28249 3053231.71145 25160430.6504 25160435.3634
+ -2713.2624 -2114.2294
+ 24105655.0694 -3443964.13249 -2654943.70046 24105652.6114 24105657.7074
+ -3624.9634 -2824.6434
+ 24975934.3464 -3274002.26549 -2535587.67045 24975934.6534 24975941.0584
+ 2560.6214 1995.2904
+ 21633458.5194 -17038771.86949 -13257690.95047 21633458.0674 21633464.0384
+ -2589.7484 -2017.9874
+ 22660283.8184 -8604819.92749 -6682865.84346 22660284.5004 22660290.4994
+ -2989.5704 -2329.5384
+ 20450861.5254 -22065570.36649 -17171899.41248 20450860.7014 20450864.3694
+ -673.9654 -525.1704
+ 23425775.6244 -5760506.05649 -4466049.35946 23425776.0254 23425781.3674
+ 3286.4124 2560.8204
+ 21084259.9504 -21838650.57149 -17005765.44848 21084259.7844 21084264.9154
+ 1973.0784 1537.4594
+ 22122693.6864 -13272260.47549 -10330825.03247 22122692.2614 22122698.0054
+ 2994.5094 2333.3754
+ 23964075.9964 -3974026.56349 -3081703.77645 23964076.0084 23964083.9314
+ -914.3734 -712.5024
+ 05 1 20 13 46 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25175918.1184 3964937.92349 3116662.32345 25175917.8694 25175926.3294
+ -2713.4044 -2114.3434
+ 24126346.0244 -3335211.48349 -2570201.51646 24126347.7294 24126351.8344
+ -3625.1404 -2824.7724
+ 24961319.0774 -3350809.47449 -2595437.45045 24961317.0184 24961325.4414
+ 2559.8784 1994.7084
+ 21648271.4664 -16960925.22449 -13197031.24947 21648271.6404 21648277.2094
+ -2600.0244 -2025.9924
+ 22677378.8074 -8514992.26449 -6612870.31146 22677378.7874 22677384.4804
+ -2998.9524 -2336.8444
+ 20454757.3794 -22045099.42949 -17155948.03848 20454756.1014 20454759.8574
+ -690.7744 -538.2644
+ 23407025.2924 -5859051.52549 -4542837.97446 23407022.4554 23407028.9794
+ 3283.2784 2558.4094
+ 21073028.2174 -21897676.48349 -17051759.67148 21073027.8474 21073032.8554
+ 1961.9174 1528.7674
+ 22105620.0994 -13361981.27549 -10400737.34447 22105619.3764 22105624.6544
+ 2986.8444 2327.4044
+ 23969352.3814 -3946317.75549 -3060112.53646 23969351.6484 23969357.0474
+ -932.8304 -726.8794
+ 05 1 20 13 47 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25191412.7434 4046345.10949 3180096.41145 25191412.5784 25191416.9984
+ -2713.6484 -2114.5274
+ 24147042.5764 -3226454.17449 -2485455.69146 24147043.4394 24147048.7434
+ -3625.3504 -2824.9424
+ 24946707.2834 -3427592.43949 -2655268.29645 24946706.6054 24946711.7934
+ 2559.0384 1994.0544
+ 21663143.9904 -16882772.46949 -13136133.01647 21663143.8664 21663149.1094
+ -2610.1554 -2033.8874
+ 22694526.9044 -8424884.28049 -6542656.34846 22694526.6184 22694530.6094
+ -3008.2674 -2344.0994
+ 20458748.8654 -22024124.91649 -17139604.26648 20458747.5904 20458751.0034
+ -707.5264 -551.3194
+ 23388287.6294 -5957501.01249 -4619551.77246 23388287.9424 23388293.7894
+ 3279.9364 2555.7764
+ 21061859.6264 -21956365.96049 -17097491.73248 21061859.4764 21061864.6824
+ 1950.6604 1519.9934
+ 22088590.8484 -13451470.47949 -10470469.19947 22088590.2064 22088595.2464
+ 2979.1334 2321.4004
+ 23974728.0484 -3918057.92849 -3038091.94646 23974728.4054 23974734.4784
+ -951.2234 -741.2104
+ 05 1 20 13 47 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25206903.0464 4127756.78749 3243533.93845 25206902.0784 25206909.4244
+ -2713.8014 -2114.6504
+ 24167738.9554 -3117695.29149 -2400708.68045 24167739.5444 24167745.9834
+ -3625.2854 -2824.8934
+ 24932101.9344 -3504351.16149 -2715080.30145 24932100.5614 24932104.0364
+ 2558.1864 1993.3904
+ 21678073.1374 -16804316.23349 -13074998.30747 21678073.5204 21678079.0094
+ -2620.2364 -2041.7434
+ 22711725.7644 -8334498.95049 -6472226.25346 22711725.6904 22711731.4424
+ -3017.4584 -2351.2674
+ 20462835.0874 -22002648.26949 -17122869.21648 20462834.5924 20462838.0234
+ -724.2464 -564.3484
+ 23369574.2104 -6055851.77649 -4696188.64346 23369574.1144 23369579.6804
+ 3276.7724 2553.3234
+ 21050755.5934 -22014716.83349 -17142959.93948 21050755.3514 21050761.0654
+ 1939.3584 1511.1904
+ 22071606.1564 -13540726.75149 -10540019.52547 22071605.2644 22071610.2364
+ 2971.2784 2315.2774
+ 23980209.9504 -3889247.78649 -3015642.49946 23980209.7684 23980216.2764
+ -969.5244 -755.4774
+ 05 1 20 13 48 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25222397.7924 4209172.87949 3306974.97645 25222396.8974 25222401.3744
+ -2713.9824 -2114.7914
+ 24188435.9564 -3008937.79849 -2315962.73645 24188435.5434 24188441.6054
+ -3625.2094 -2824.8284
+ 24917499.6854 -3581085.62149 -2774873.33645 24917498.5424 24917504.3324
+ 2557.4294 1992.8024
+ 21693061.4494 -16725558.50849 -13013628.65947 21693060.8444 21693066.6694
+ -2630.2594 -2049.5534
+ 22728977.3544 -8243839.68949 -6401582.71846 22728977.3164 22728983.1284
+ -3026.5324 -2358.3354
+ 20467017.4484 -21980670.90149 -17105743.99648 20467016.3874 20467020.1974
+ -740.9074 -577.3314
+ 23350877.9334 -6154100.56549 -4772746.07846 23350877.1124 23350882.7474
+ 3273.1834 2550.5304
+ 21039716.4784 -22072726.80949 -17188162.51848 21039716.3184 21039722.2134
+ 1927.9604 1502.3094
+ 22054666.1874 -13629746.50149 -10609385.55547 22054665.9794 22054670.8424
+ 2963.3544 2309.1144
+ 23985799.1344 -3859888.06349 -2992764.74546 23985797.0704 23985804.9104
+ -987.8564 -769.7584
+ 05 1 20 13 48 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25237889.7184 4290593.35049 3370419.44045 25237888.5504 25237895.0624
+ -2714.0364 -2114.8294
+ 24209128.6834 -2900184.45849 -2231220.01645 24209130.0444 24209137.2974
+ -3625.0134 -2824.6794
+ 24902901.8664 -3657795.87449 -2834647.48445 24902901.0184 24902906.4464
+ 2556.5934 1992.1484
+ 21708104.2504 -16646501.94249 -12952026.15647 21708104.6054 21708110.5924
+ -2640.1764 -2057.2804
+ 22746280.5394 -8152909.48949 -6330728.06346 22746281.2074 22746286.0294
+ -3035.4804 -2365.3014
+ 20471294.8964 -21958194.30549 -17088229.76148 20471293.8154 20471297.1384
+ -757.5134 -590.2704
+ 23332200.9774 -6252244.90449 -4849222.09246 23332201.1654 23332206.0354
+ 3269.6964 2547.8024
+ 21028743.1214 -22130393.60549 -17233097.68248 21028742.9064 21028748.6024
+ 1916.4584 1493.3454
+ 22037771.1744 -13718527.35749 -10678565.43447 22037770.9844 22037776.1124
+ 2955.3734 2302.8904
+ 23991488.5104 -3829979.16549 -2969459.15045 23991487.8704 23991494.8834
+ -1006.1284 -783.9894
+ 05 1 20 13 49 0.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25253385.2704 4372018.25249 3433867.30845 25253385.6344 25253390.8314
+ -2714.3014 -2115.0344
+ 24229821.7664 -2791438.27349 -2146482.87645 24229824.3494 24229831.2974
+ -3624.6884 -2824.4184
+ 24888308.6864 -3734482.12849 -2894403.01545 24888308.2574 24888314.1404
+ 2555.8304 1991.5564
+ 21723205.4944 -16567148.90549 -12890192.64547 21723205.0894 21723210.7564
+ -2650.0184 -2064.9504
+ 22763634.4384 -8061711.65649 -6259664.86346 22763635.5404 22763640.2194
+ -3044.3844 -2372.2624
+ 20475666.4974 -21935219.95349 -17070327.67348 20475665.7024 20475669.2494
+ -774.1094 -603.2034
+ 23313545.8804 -6350282.09349 -4925614.61046 23313544.6194 23313550.8894
+ 3266.1034 2545.0104
+ 21017836.4134 -22187715.08249 -17277763.76748 21017835.2944 21017840.3694
+ 1904.9274 1484.3584
+ 22020922.7694 -13807067.07549 -10747557.42147 22020922.5344 22020927.3284
+ 2947.2824 2296.5814
+ 23997284.7144 -3799522.04049 -2945726.42745 23997285.0134 23997291.1244
+ -1024.3804 -798.2144
+ 05 1 20 13 49 30.0000000 0 10G16G23G28G 3G13G19G11G27G 8G15
+ 25268880.0274 4453447.43249 3497318.52845 25268878.5234 25268885.6334
+ -2714.3224 -2115.0474
+ 24250515.9624 -2682701.89049 -2061753.37845 24250515.0874 24250521.3094
+ -3624.3654 -2824.1764
+ 24873718.0984 -3811144.42149 -2954139.86745 24873718.4484 24873723.6484
+ 2554.9954 1990.9074
+ 21738361.0414 -16487501.86049 -12828130.01647 21738361.1144 21738366.9054
+ -2659.7434 -2072.5234
+ 22781040.2964 -7970249.18949 -6188395.43446 22781040.6114 22781046.0374
+ -3053.1394 -2379.0844
+ 20480132.9254 -21911749.13749 -17052038.72548 20480132.2164 20480135.6084
+ -790.6154 -616.0604
+ 23294909.7534 -6448209.13449 -5001921.32146 23294909.6364 23294915.6714
+ 3262.3324 2542.0754
+ 21006993.8064 -22244688.93049 -17322158.97148 21006993.2284 21006998.6254
+ 1893.3374 1475.3294
+ 22004121.1054 -13895363.07349 -10816359.49047 22004120.0614 22004125.4174
+ 2939.1044 2290.2044
+ 24003185.2254 -3768517.29649 -2921566.90046 24003184.9044 24003192.6624
+ -1042.5414 -812.3654
+ 05 1 20 13 50 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24271204.9524 -2573978.11849 -1977033.72845 24271205.6574 24271210.8014
+ -3623.8784 -2823.8024
+ 24859134.7944 -3887782.49349 -3013857.85145 24859135.2964 24859140.4484
+ 2554.2084 1990.2964
+ 21753572.4564 -16407563.33049 -12765840.27347 21753572.8954 21753578.5714
+ -2669.4514 -2080.0914
+ 22798494.9964 -7878525.46749 -6116922.43246 22798495.3954 22798500.5484
+ -3061.7994 -2385.8184
+ 20484693.5724 -21887783.24049 -17033363.99648 20484692.5134 20484696.5194
+ -807.1024 -628.9104
+ 23276295.9724 -6546022.75349 -5078139.60546 23276296.0314 23276302.1274
+ 3258.4994 2539.0884
+ 20996219.0784 -22301312.95449 -17366281.58348 20996218.1264 20996223.6174
+ 1881.5864 1466.1704
+ 21987364.9884 -13983412.60249 -10884969.51047 21987364.6074 21987370.7834
+ 2930.8934 2283.8164
+ 24009189.3754 -3736965.82749 -2896981.34445 24009187.1904 24009195.5704
+ -1060.8314 -826.6274
+ 05 1 20 13 50 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24291894.1254 -2465269.84749 -1892326.15945 24291892.3684 24291897.2674
+ -3623.4144 -2823.4304
+ 24844559.2714 -3964395.87349 -3073556.49445 24844557.4654 24844562.6474
+ 2553.3984 1989.6574
+ 21768841.3374 -16327335.78049 -12703325.31947 21768840.3954 21768845.8574
+ -2679.0434 -2087.5594
+ 22815998.5454 -7786543.68049 -6045248.37346 22815998.9234 22816003.1064
+ -3070.3224 -2392.4544
+ 20489348.0034 -21863323.39549 -17014304.37948 20489347.1264 20489350.9264
+ -823.5364 -641.7174
+ 23257705.8884 -6643720.03349 -5154267.27746 23257704.9124 23257710.5914
+ 3254.5854 2536.0264
+ 20985509.8774 -22357584.79849 -17410129.76448 20985509.8304 20985515.3344
+ 1869.8064 1456.9924
+ 21970657.1134 -14071212.98349 -10953385.38547 21970656.8454 21970663.0764
+ 2922.4964 2277.2754
+ 24015298.0464 -3704868.40649 -2871970.38645 24015297.0744 24015302.5174
+ -1079.0654 -840.8314
+ 05 1 20 13 51 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24312575.8544 -2356579.92749 -1807632.89045 24312576.7104 24312581.2124
+ -3622.6704 -2822.8564
+ 24829981.3914 -4040985.15849 -3133236.43445 24829981.8234 24829987.1404
+ 2552.6004 1989.0414
+ 21784161.4084 -16246821.73249 -12640587.11547 21784161.4094 21784166.7144
+ -2688.5454 -2094.9694
+ 22833551.9204 -7694306.98749 -5973375.64846 22833551.2204 22833555.1104
+ -3078.7544 -2399.0284
+ 20494096.2404 -21838371.49649 -16994861.35048 20494095.3464 20494098.8444
+ -839.9124 -654.4764
+ 23239136.5714 -6741298.10849 -5230302.06946 23239136.7864 23239142.7854
+ 3250.5674 2532.8884
+ 20974869.0824 -22413502.37449 -17453701.89648 20974868.9084 20974874.6164
+ 1857.9864 1447.7824
+ 21953997.1744 -14158761.29149 -11021604.84447 21953997.0124 21954003.0394
+ 2913.9954 2270.6474
+ 24021508.5964 -3672225.95049 -2846534.72745 24021508.2424 24021514.0524
+ -1097.1774 -854.9514
+ 05 1 20 13 51 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24333254.4424 -2247911.40849 -1722956.26145 24333255.5114 24333260.7324
+ -3621.8894 -2822.2434
+ 24815411.7334 -4117550.53049 -3192897.75845 24815411.0064 24815416.3704
+ 2551.7014 1988.3424
+ 21799537.5174 -16166023.39449 -12577627.39447 21799536.8814 21799542.6954
+ -2698.0114 -2102.3424
+ 22851150.0984 -7601818.42749 -5901306.68146 22851150.6754 22851156.4654
+ -3087.0734 -2405.5114
+ 20498937.5384 -21812929.11349 -16975036.11548 20498936.8414 20498940.4954
+ -856.2634 -667.2184
+ 23220592.4824 -6838754.19749 -5306241.77746 23220591.7034 23220596.7844
+ 3246.4434 2529.6874
+ 20964296.0294 -22469063.30749 -17496996.12548 20964295.9624 20964301.6474
+ 1846.0374 1438.4724
+ 21937386.4324 -14246055.46149 -11089626.26847 21937385.4234 21937391.6574
+ 2905.5364 2264.0534
+ 24027824.6744 -3639038.99549 -2820674.79445 24027823.9764 24027830.3154
+ -1115.3314 -869.0914
+ 05 1 20 13 52 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24353931.3194 -2139266.94249 -1638298.44745 24353929.7234 24353934.6414
+ -3621.0384 -2821.5834
+ 24800846.3124 -4194091.80749 -3252540.32545 24800846.4094 24800854.1224
+ 2551.0264 1987.8154
+ 21814965.7874 -16084943.22849 -12514448.04947 21814965.8724 21814971.7514
+ -2707.3344 -2109.6094
+ 22868797.3474 -7509081.26049 -5829044.00246 22868798.0974 22868801.9754
+ -3095.3194 -2411.9334
+ 20503873.0984 -21786997.69549 -16954829.81748 20503871.8554 20503874.8204
+ -872.5044 -679.8674
+ 23202070.5444 -6936085.63549 -5382084.39746 23202069.7264 23202074.8684
+ 3242.2834 2526.4674
+ 20953791.9334 -22524265.47949 -17540010.81048 20953791.4344 20953796.8424
+ 1834.0824 1429.1604
+ 21920822.4374 -14333093.68249 -11157448.25847 21920822.5734 21920828.9804
+ 2896.9824 2257.3964
+ 24034240.6784 -3605308.62149 -2794391.38245 24034240.8704 24034248.9874
+ -1133.3734 -883.1454
+ 05 1 20 13 52 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24374599.9174 -2030649.26549 -1553661.49145 24374598.5574 24374605.6614
+ -3620.0954 -2820.8484
+ 24786287.2124 -4270608.92949 -3312164.01945 24786287.1944 24786292.6654
+ 2550.2024 1987.1754
+ 21830447.6964 -16003583.71349 -12451051.03447 21830447.5414 21830453.4774
+ -2716.6144 -2116.8474
+ 22886491.0554 -7416098.67649 -5756590.08146 22886490.6754 22886496.6924
+ -3103.4534 -2418.2704
+ 20508899.8174 -21760578.90549 -16934243.74648 20508899.1174 20508902.1994
+ -888.7404 -692.5254
+ 23183572.8894 -7033289.53649 -5457827.62646 23183571.5314 23183578.5114
+ 3237.9814 2523.1054
+ 20943355.7104 -22579106.47049 -17582744.04548 20943355.5364 20943361.0334
+ 1821.9614 1419.7134
+ 21904310.1054 -14419872.68549 -11225068.26247 21904309.0554 21904315.2064
+ 2888.2674 2250.6014
+ 24040763.2864 -3571035.64549 -2767685.19645 24040761.8644 24040770.1864
+ -1151.4464 -897.2274
+ 05 1 20 13 53 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24395263.2854 -1922061.31949 -1469047.67445 24395262.4644 24395267.8434
+ -3619.1244 -2820.0944
+ 24771729.4314 -4347101.88849 -3371768.89545 24771730.2064 24771735.0284
+ 2549.3244 1986.4864
+ 21845983.0754 -15921947.10749 -12387438.12247 21845983.3584 21845988.4194
+ -2725.8174 -2124.0134
+ 22904232.8974 -7322874.01949 -5683947.52946 22904233.1144 22904237.3424
+ -3111.5084 -2424.5564
+ 20514019.5314 -21733674.17149 -16913279.01348 20514018.7594 20514022.0404
+ -904.9074 -705.1274
+ 23165100.0924 -7130362.90149 -5533469.15046 23165100.3924 23165104.6874
+ 3233.5474 2519.6374
+ 20932989.5974 -22633584.29249 -17625194.29748 20932989.0224 20932994.3244
+ 1809.8534 1410.2714
+ 21887844.2584 -14506389.66649 -11292484.08247 21887845.2904 21887851.2584
+ 2879.4834 2243.7514
+ 24047391.4824 -3536220.77949 -2740556.76545 24047390.1914 24047395.5384
+ -1169.4984 -911.2964
+ 05 1 20 13 53 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24415921.2904 -1813505.88149 -1384459.18145 24415920.6084 24415926.8754
+ -3617.9404 -2819.1664
+ 24757179.0464 -4423570.78949 -3431355.03245 24757177.7514 24757181.4774
+ 2548.5594 1985.8874
+ 21861570.0314 -15840035.86549 -12323611.18147 21861569.6244 21861575.3924
+ -2734.9144 -2131.1004
+ 22922016.2904 -7229410.39149 -5611118.77646 22922017.4464 22922024.0674
+ -3119.4134 -2430.7164
+ 20519231.4934 -21706285.08749 -16891936.87048 20519230.5694 20519233.8984
+ -921.0154 -717.6724
+ 23146651.5554 -7227302.54749 -5609006.47746 23146653.1794 23146658.8134
+ 3229.0494 2516.1414
+ 20922692.4104 -22687696.57549 -17667359.71348 20922691.7514 20922697.2274
+ 1797.6454 1400.7684
+ 21871432.0064 -14592642.10549 -11359693.75747 21871431.9044 21871438.1424
+ 2870.6694 2236.8794
+ 24054117.1384 -3500865.16849 -2713006.87245 24054115.3614 24054122.3684
+ -1187.4974 -925.3234
+ 05 1 20 13 54 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24436573.0474 -1704985.55849 -1299898.06645 24436572.0224 24436577.1384
+ -3616.6984 -2818.1954
+ 24742631.4854 -4500015.68549 -3490922.46845 24742630.5534 24742637.2964
+ 2547.7734 1985.2734
+ 21877209.5164 -15757852.39349 -12259572.13347 21877209.3084 21877214.9774
+ -2743.9624 -2138.1504
+ 22939847.2994 -7135711.01449 -5538106.29946 22939848.4294 22939853.5084
+ -3127.2234 -2436.8044
+ 20524534.9274 -21678413.14649 -16870218.47348 20524534.2054 20524538.2114
+ -937.0964 -730.2054
+ 23128232.1714 -7324106.04449 -5684437.74746 23128232.4124 23128236.4574
+ 3224.4784 2512.5814
+ 20912464.6094 -22741441.22749 -17709238.65948 20912464.6904 20912469.7614
+ 1785.3274 1391.1604
+ 21855069.5534 -14678627.28149 -11426695.17747 21855069.4444 21855075.0084
+ 2861.6884 2229.8794
+ 24060948.6844 -3464969.62349 -2685036.31445 24060948.5534 24060954.2224
+ -1205.5404 -939.3874
+ 05 1 20 13 54 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24457215.6824 -1596503.45449 -1215366.76045 24457215.3704 24457219.1754
+ -3615.5174 -2817.2824
+ 24728090.6494 -4576436.54849 -3550471.14945 24728089.7594 24728095.6514
+ 2546.9414 1984.6334
+ 21892899.8364 -15675398.96249 -12195322.71947 21892899.9554 21892904.9944
+ -2752.9194 -2145.1294
+ 22957724.0374 -7041779.12649 -5464912.67546 22957723.1894 22957728.8164
+ -3134.9214 -2442.7984
+ 20529930.4704 -21650059.94849 -16848125.07648 20529929.5584 20529933.4254
+ -953.1034 -742.6764
+ 23109837.7474 -7420770.04349 -5759760.29846 23109837.1644 23109842.4854
+ 3219.7814 2508.9164
+ 20902308.5404 -22794815.98249 -17750829.37548 20902307.8284 20902312.9884
+ 1772.9764 1381.5404
+ 21838759.4154 -14764342.80349 -11493486.49247 21838758.6364 21838764.1784
+ 2852.6944 2222.8774
+ 24067879.9804 -3428535.07049 -2656645.79045 24067880.2624 24067887.6414
+ -1223.5094 -953.3864
+ 05 1 20 13 55 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24477849.6124 -1488062.22549 -1130867.25745 24477849.7274 24477855.4934
+ -3613.9744 -2816.0744
+ 24713552.0814 -4652833.24249 -3610001.00845 24713551.3194 24713556.4764
+ 2546.1284 1983.9984
+ 21908641.0544 -15592678.17549 -12130864.96947 21908640.4634 21908646.4174
+ -2761.8174 -2152.0714
+ 22975641.6204 -6947618.10949 -5391540.51046 22975641.0914 22975646.2084
+ -3142.4744 -2448.6944
+ 20535417.2964 -21621227.02749 -16825657.86548 20535416.3304 20535420.1794
+ -969.0704 -755.1214
+ 23091468.7834 -7517291.96949 -5834972.12146 23091469.3624 23091475.1604
+ 3214.9924 2505.1964
+ 20892222.0414 -22847818.46449 -17792130.01248 20892221.7304 20892226.8394
+ 1760.5194 1371.8324
+ 21822499.1254 -14849786.63649 -11560066.08647 21822498.7654 21822504.7284
+ 2843.5684 2215.7694
+ 24074916.5634 -3391562.58249 -2627836.05045 24074915.9214 24074922.4614
+ -1241.2574 -967.2144
+ 05 1 20 13 55 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24498475.9834 -1379664.79149 -1046401.83745 24498476.1564 24498484.8324
+ -3612.4924 -2814.9234
+ 24699019.6354 -4729205.94549 -3669512.14845 24699017.5344 24699023.4024
+ 2545.3514 1983.3944
+ 21924432.3044 -15509692.36349 -12066200.72347 21924432.5954 21924439.0194
+ -2770.6024 -2158.9044
+ 22993601.8234 -6853230.74449 -5317991.96746 22993602.9784 22993606.0394
+ -3149.9844 -2454.5414
+ 20540995.3514 -21591916.00549 -16802818.11448 20540994.5854 20540997.8834
+ -984.9844 -767.5234
+ 23073129.0094 -7613668.64749 -5910070.80346 23073129.1494 23073134.9194
+ 3210.0534 2501.3414
+ 20882206.9494 -22900446.62349 -17833138.96648 20882206.8544 20882212.0624
+ 1747.9794 1362.0634
+ 21806292.9584 -14934955.49749 -11626431.43047 21806291.9254 21806297.7544
+ 2834.3304 2208.5714
+ 24082054.2244 -3354052.95449 -2598607.81345 24082054.2094 24082061.8634
+ -1259.3474 -981.3104
+ 05 1 20 13 56 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24519094.6014 -1271313.41349 -961972.36645 24519096.8084 24519099.5294
+ -3610.9074 -2813.6924
+ 24684488.6784 -4805554.43649 -3729004.42845 24684488.8964 24684494.7894
+ 2544.5464 1982.7654
+ 21940275.0324 -15426444.00649 -12001331.90447 21940274.5574 21940279.3904
+ -2779.3064 -2165.6884
+ 23011605.0894 -6758620.38149 -5244269.63446 23011606.4564 23011612.0724
+ -3157.3424 -2460.2864
+ 20546663.5664 -21562128.68849 -16779607.22248 20546662.5454 20546666.3964
+ -1000.8234 -779.8634
+ 23054818.0054 -7709897.15049 -5985054.03046 23054817.2404 23054823.2704
+ 3205.1084 2497.4874
+ 20872263.7064 -22952698.27349 -17873854.54148 20872263.3814 20872269.1334
+ 1735.4204 1352.2734
+ 21790137.6644 -15019847.17849 -11692580.78547 21790137.8754 21790143.3454
+ 2825.0684 2201.3514
+ 24089293.8234 -3316007.42849 -2568961.94245 24089291.7984 24089300.1144
+ -1277.0874 -995.1314
+ 05 1 20 13 56 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24539702.3104 -1163011.25248 -877581.25045 24539703.2644 24539710.6034
+ -3609.3104 -2812.4344
+ 24669963.7514 -4881878.82249 -3788477.97245 24669964.1924 24669971.0934
+ 2543.7254 1982.1244
+ 21956165.8504 -15342935.26449 -11936260.16047 21956165.4084 21956170.4884
+ -2787.9334 -2172.4154
+ 23029651.1714 -6663790.26249 -5170376.11046 23029651.8064 23029656.8854
+ -3164.6304 -2465.9294
+ 20552422.4704 -21531866.41349 -16756026.23448 20552421.5194 20552425.1144
+ -1016.6294 -792.1784
+ 23036535.4854 -7805974.70749 -6059919.63446 23036534.6734 23036541.0224
+ 3200.0164 2493.5054
+ 20862392.6284 -23004571.20849 -17914275.00948 20862392.2624 20862397.9394
+ 1722.7564 1342.4054
+ 21774037.7814 -15104458.35649 -11758511.57347 21774036.9594 21774042.5244
+ 2815.7004 2194.0524
+ 24096635.3994 -3277427.17349 -2538899.45745 24096635.0084 24096642.2964
+ -1294.9504 -1009.0514
+ 05 1 20 13 57 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24560307.4374 -1054761.26349 -793230.86345 24560306.5794 24560309.5744
+ -3607.4234 -2810.9724
+ 24655445.3414 -4958179.20249 -3847932.77145 24655445.5404 24655449.9674
+ 2542.9004 1981.4764
+ 21972106.0274 -15259168.65149 -11870987.49947 21972105.2744 21972110.3064
+ -2796.5054 -2179.0884
+ 23047739.1844 -6568743.40349 -5096313.67646 23047739.1614 23047744.0894
+ -3171.7914 -2471.5214
+ 20558271.1314 -21501131.02149 -16732076.58848 20558270.3094 20558273.7994
+ -1032.3854 -804.4554
+ 23018281.2414 -7901898.33949 -6134665.28546 23018281.4864 23018287.0864
+ 3194.8894 2489.5404
+ 20852593.9164 -23056063.16449 -17954398.61448 20852593.8834 20852599.4454
+ 1710.0304 1332.4904
+ 21757988.9524 -15188786.96549 -11824222.16347 21757989.3164 21757995.4004
+ 2806.1994 2186.6464
+ 24104077.8784 -3238313.09749 -2508421.04345 24104077.8934 24104085.9524
+ -1312.7144 -1022.8864
+ 05 1 20 13 57 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24580896.4104 -946565.90449 -708922.94645 24580895.3824 24580899.5724
+ -3605.5634 -2809.5234
+ 24640932.8044 -5034455.35149 -3907368.65345 24640932.0294 24640936.9074
+ 2542.1274 1980.8784
+ 21988095.0764 -15175146.55949 -11805515.75947 21988094.3674 21988099.1644
+ -2804.9474 -2185.6654
+ 23065864.7124 -6473483.29749 -5022085.06846 23065865.2814 23065870.9534
+ -3178.8654 -2477.0314
+ 20564209.5154 -21469924.12349 -16707759.53348 20564208.7004 20564212.0754
+ -1048.0834 -816.6864
+ 23000056.8804 -7997665.32049 -6209288.87846 23000056.4384 23000063.5644
+ 3189.5194 2485.3424
+ 20842868.4414 -23107172.03349 -17994223.71348 20842868.3724 20842873.4454
+ 1697.2164 1322.5094
+ 21741997.0194 -15272830.21549 -11889710.40647 21741996.9424 21742002.5974
+ 2796.6814 2179.2374
+ 24111624.3794 -3198666.31149 -2477527.44245 24111623.0974 24111630.8754
+ -1330.4404 -1036.7084
+ 05 1 20 13 58 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24601472.9054 -838427.89949 -624659.74045 24601472.5334 24601479.9084
+ -3603.6444 -2808.0264
+ 24626421.4524 -5110707.31749 -3966785.76645 24626420.9084 24626425.0034
+ 2541.3044 1980.2364
+ 22004132.1424 -15090871.40349 -11739846.82447 22004131.6024 22004137.0004
+ -2813.3614 -2192.2304
+ 23084032.0874 -6378013.03249 -4947692.69746 23084033.0414 23084039.4174
+ -3185.8354 -2482.4764
+ 20570237.6094 -21438247.39749 -16683076.37548 20570236.3254 20570240.0054
+ -1063.7184 -828.8704
+ 22981863.1864 -8093272.48449 -6283787.94346 22981863.9414 22981869.0394
+ 3184.1904 2481.1894
+ 20833215.8304 -23157895.58449 -18033748.56648 20833215.6794 20833220.9534
+ 1684.3234 1312.4634
+ 21726058.7124 -15356585.85249 -11954974.53847 21726058.4834 21726064.3304
+ 2787.0234 2171.7074
+ 24119269.6894 -3158487.95649 -2446219.65545 24119269.0114 24119274.6154
+ -1348.1034 -1050.4724
+ 05 1 20 13 58 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24622033.8194 -730350.04748 -540443.49645 24622037.3924 24622045.7764
+ -3601.5584 -2806.4104
+ 24611912.2974 -5186935.08649 -4026183.96845 24611914.6744 24611921.2494
+ 2540.4874 1979.6044
+ 22020215.8354 -15006345.41749 -11673982.45847 22020216.4454 22020221.9514
+ -2821.6984 -2198.7224
+ 23102241.0224 -6282335.92749 -4873139.15846 23102240.6964 23102245.1404
+ -3192.6724 -2487.7874
+ 20576354.2984 -21406102.58349 -16658028.47248 20576353.4584 20576356.8024
+ -1079.3054 -841.0174
+ 22963701.3464 -8188716.94049 -6358160.22546 22963701.4204 22963707.6244
+ 3178.7054 2476.9404
+ 20823637.0974 -23208231.65649 -18072971.48748 20823636.9004 20823642.4744
+ 1671.3554 1302.3524
+ 21710175.1974 -15440050.96049 -12020012.29147 21710175.4684 21710181.4444
+ 2777.2824 2164.1174
+ 24127015.9054 -3117779.03249 -2414498.41545 24127015.5164 24127022.4084
+ -1365.8044 -1064.2674
+ 05 1 20 13 59 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24642594.3334 -622334.99648 -456276.09345 24642595.2614 24642599.1644
+ -3599.4584 -2804.7674
+ 24597413.5514 -5263138.73749 -4085563.43845 24597413.9074 24597417.9034
+ 2539.7284 1979.0014
+ 22036347.7454 -14921571.22249 -11607924.67847 22036347.7604 22036354.0134
+ -2829.9424 -2205.1514
+ 23120486.5964 -6186455.09249 -4798426.87246 23120486.7364 23120491.8564
+ -3199.3794 -2493.0184
+ 20582560.0724 -21373491.15749 -16632616.98348 20582559.3194 20582562.8504
+ -1094.7934 -853.0874
+ 22945570.0194 -8283995.87049 -6432403.51246 22945569.5834 22945575.9954
+ 3173.2064 2472.6424
+ 20814132.8674 -23258178.05149 -18111890.75248 20814132.2454 20814138.0814
+ 1658.3564 1292.2234
+ 21694348.3704 -15523222.86449 -12084821.57147 21694348.1224 21694354.0994
+ 2767.4844 2156.4744
+ 24134864.6944 -3076540.71949 -2382364.69145 24134864.0364 24134869.9044
+ -1383.4184 -1077.9844
+ 05 1 20 13 59 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24663138.3434 -514385.53249 -372159.86645 24663136.9694 24663143.1034
+ -3597.1804 -2802.9924
+ 24582919.6124 -5339318.13649 -4144924.01245 24582918.1194 24582922.2654
+ 2538.9434 1978.3964
+ 22052527.1924 -14836551.11949 -11541675.26947 22052527.1104 22052532.8264
+ -2838.0904 -2211.4954
+ 23138771.0324 -6090373.69449 -4723558.33146 23138770.4934 23138775.4714
+ -3206.0204 -2498.2084
+ 20588854.2374 -21340415.04649 -16606843.39848 20588853.3234 20588856.7974
+ -1110.2454 -865.1244
+ 22927471.7504 -8379106.15249 -6506515.39846 22927471.2924 22927476.6694
+ 3167.5264 2468.2124
+ 20804702.4294 -23307732.54649 -18150504.65048 20804702.6844 20804708.1844
+ 1645.2714 1282.0324
+ 21678577.3984 -15606098.75249 -12149400.17647 21678577.6764 21678583.6944
+ 2757.6024 2148.7854
+ 24142811.3544 -3034774.12449 -2349819.32945 24142810.5744 24142817.9424
+ -1400.9984 -1091.6834
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 14 0 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24683666.2244 -406504.54549 -288096.97745 24683666.4934 24683670.3264
+ -3594.8654 -2801.1904
+ 24568424.4514 -5415473.52049 -4204265.79045 24568425.0264 24568430.6594
+ 2538.0824 1977.7294
+ 22068752.9994 -14751287.28549 -11475235.95247 22068752.3694 22068758.5944
+ -2846.1444 -2217.7754
+ 23157090.8194 -5994095.08949 -4648536.11746 23157090.8124 23157096.3094
+ -3212.5324 -2503.2724
+ 20595236.3034 -21306876.00049 -16580709.08748 20595235.4474 20595239.1504
+ -1125.6484 -877.1304
+ 22909406.4104 -8474044.96849 -6580493.65346 22909405.3314 22909411.0524
+ 3161.6954 2463.6624
+ 20795348.7294 -23356893.13649 -18188811.61048 20795347.8244 20795353.1544
+ 1632.0844 1271.7534
+ 21662863.3974 -15688676.25649 -12213746.28547 21662863.5154 21662869.7924
+ 2747.5794 2140.9664
+ 24150861.6914 -2992480.35749 -2316863.17145 24150860.1134 24150866.7524
+ -1418.5364 -1105.3454
+ 05 1 20 14 0 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24704177.7244 -298694.42549 -204089.29945 24704182.2504 24704185.8764
+ -3592.4114 -2799.2754
+ 24553938.8374 -5491604.48449 -4263588.58645 24553938.7984 24553942.1734
+ 2537.3024 1977.1234
+ 22085024.1434 -14665782.29249 -11408608.72147 22085023.3174 22085029.4624
+ -2854.1844 -2224.0314
+ 23175447.9364 -5897622.48249 -4573362.69946 23175448.7464 23175454.6994
+ -3218.9234 -2508.2634
+ 20601706.9394 -21272875.89249 -16554215.50948 20601705.7094 20601709.3544
+ -1141.0094 -889.0964
+ 22891372.1914 -8568809.28649 -6654335.95246 22891372.4304 22891376.7234
+ 3155.8504 2459.1184
+ 20786068.2654 -23405657.50649 -18226809.83048 20786068.2324 20786073.8334
+ 1618.8624 1261.4534
+ 21647207.1894 -15770952.61549 -12277857.75147 21647206.9784 21647212.9744
+ 2737.5174 2133.1284
+ 24159008.1864 -2949660.87449 -2283497.39145 24159008.3604 24159014.9234
+ -1436.0794 -1119.0174
+ 05 1 20 14 1 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24724688.2834 -190958.12349 -120139.12045 24724686.4384 24724688.5734
+ -3589.9494 -2797.3574
+ 24539457.5124 -5567711.27349 -4322892.58345 24539456.5304 24539460.2704
+ 2536.4744 1976.4704
+ 22101340.7794 -14580038.10349 -11341795.11847 22101340.1514 22101345.8894
+ -2862.0914 -2230.2034
+ 23193843.4614 -5800958.94549 -4498040.54646 23193843.4114 23193849.3574
+ -3225.2754 -2513.1974
+ 20608263.4024 -21238416.01049 -16527363.66748 20608263.0274 20608266.8744
+ -1156.3054 -901.0194
+ 22873371.8294 -8663396.28949 -6728040.07046 22873371.6514 22873377.3244
+ 3149.8834 2454.4504
+ 20776864.9684 -23454023.62949 -18264497.73848 20776864.6604 20776870.0334
+ 1605.5094 1251.0434
+ 21631608.2664 -15852925.23849 -12341732.53447 21631608.1584 21631613.8414
+ 2727.3444 2125.2004
+ 24167255.4004 -2906316.74349 -2249722.80545 24167255.5454 24167260.8324
+ -1453.5034 -1132.6014
+ 05 1 20 14 1 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24745177.7374 -83298.10448 -36248.41845 24745171.7644 24745178.9814
+ -3587.4124 -2795.3794
+ 24524978.1284 -5643793.75049 -4382177.63045 24524976.0274 24524981.8864
+ 2535.7044 1975.8624
+ 22117701.9684 -14494057.52849 -11274797.30447 22117701.7094 22117707.5694
+ -2869.9334 -2236.2954
+ 23212274.1504 -5704107.60249 -4422572.03046 23212273.3924 23212278.8034
+ -3231.4684 -2518.0374
+ 20614909.1044 -21203498.25349 -16500155.04748 20614907.8404 20614911.5614
+ -1171.5314 -912.8784
+ 22855408.7414 -8757803.22949 -6801603.86746 22855408.0204 22855412.0164
+ 3143.8284 2449.7354
+ 20767738.2964 -23501989.29149 -18301873.58548 20767737.4524 20767742.4754
+ 1592.1494 1240.6394
+ 21616068.4464 -15934591.90649 -12405368.91747 21616068.0474 21616073.0534
+ 2717.1024 2117.2264
+ 24175604.5024 -2862449.37049 -2215540.44245 24175603.5374 24175609.8064
+ -1470.9544 -1146.1974
+ 05 1 20 14 2 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24765648.2114 24282.70948 47580.48945 24765649.0854 24765650.0804
+ -3584.6874 -2793.2604
+ 24510505.1714 -5719851.91449 -4441443.75545 24510504.0004 24510510.4024
+ 2534.8154 1975.1834
+ 22134108.0674 -14407842.88149 -11207617.09047 22134107.6144 22134113.3974
+ -2877.6954 -2242.3564
+ 23230738.5554 -5607071.93349 -4346959.89946 23230738.6204 23230745.5704
+ -3237.5804 -2522.7854
+ 20621640.4324 -21168124.38749 -16472591.00648 20621639.2174 20621642.8774
+ -1186.7034 -924.7024
+ 22837477.2394 -8852026.84949 -6875024.82646 22837477.1164 22837481.7484
+ 3137.6824 2444.9414
+ 20758686.0004 -23549552.44749 -18338935.79748 20758686.2174 20758691.3414
+ 1578.7144 1230.1704
+ 21600585.2614 -16015949.23049 -12468764.23647 21600585.3564 21600591.5714
+ 2706.7424 2109.1504
+ 24184051.2594 -2818060.11049 -2180951.50345 24184050.4344 24184056.7854
+ -1488.3034 -1159.7164
+ 05 1 20 14 2 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24786101.7134 131781.85348 131345.85444 24786099.4084 24786105.4584
+ -3581.9004 -2791.0774
+ 24496034.3544 -5795885.69049 -4500690.85645 24496034.4314 24496038.9754
+ 2534.1114 1974.6274
+ 22150557.3104 -14321396.33149 -11140256.19247 22150557.8424 22150564.0314
+ -2885.3924 -2248.3574
+ 23249239.6784 -5509854.81349 -4271206.37246 23249240.3904 23249244.8124
+ -3243.5714 -2527.4504
+ 20628457.3524 -21132296.33149 -16444673.05948 20628456.9474 20628460.7374
+ -1201.8164 -936.4784
+ 22819581.6054 -8946064.52449 -6948300.89646 22819582.3864 22819587.9364
+ 3131.4394 2440.0864
+ 20749712.3314 -23596711.01549 -18375682.74248 20749712.1554 20749717.2834
+ 1565.1824 1219.6234
+ 21585163.4544 -16096994.75849 -12531916.60747 21585163.5364 21585169.5614
+ 2696.3024 2101.0164
+ 24192597.7454 -2773150.27549 -2145956.82845 24192596.1204 24192605.3474
+ -1505.6244 -1173.2014
+ 05 1 20 14 3 0.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24806537.1484 239196.39048 215045.31844 24806535.8034 24806545.3134
+ -3579.0754 -2788.8904
+ 24481568.6924 -5871895.07249 -4559918.93445 24481569.1294 24481575.4294
+ 2533.1534 1973.8764
+ 22167052.0444 -14234720.06549 -11072716.28447 22167052.0284 22167057.9904
+ -2893.0184 -2254.2894
+ 23267772.6774 -5412459.76949 -4195314.15646 23267772.2474 23267778.1164
+ -3249.4224 -2532.0384
+ 20635361.9294 -21096015.82549 -16416402.55248 20635361.0584 20635364.6464
+ -1216.8774 -948.2174
+ 22801723.7444 -9039913.05749 -7021429.58146 22801723.8784 22801729.2274
+ 3125.0794 2435.1324
+ 20740815.8324 -23643462.63849 -18412112.59648 20740815.7454 20740820.9334
+ 1551.5784 1209.0224
+ 21569801.4904 -16177725.70649 -12594823.83947 21569800.6764 21569807.0344
+ 2685.7774 2092.8124
+ 24201242.7954 -2727720.96649 -2110557.46845 24201245.1344 24201247.1324
+ -1522.9914 -1186.7384
+ 05 1 20 14 3 30.0000000 0 9G23G28G 3G13G19G11G27G 8G15
+ 24826962.7994 346524.07458 298677.00054 24826961.3084
+ -3575.9734 -2786.4674
+ 24467112.8474 -5947880.00049 -4619127.99245 24467111.9104 24467116.5544
+ 2532.4324 1973.3324
+ 22183589.4704 -14147816.71749 -11004999.43647 22183588.9994 22183594.5664
+ -2900.5544 -2260.1744
+ 23286338.4864 -5314890.29249 -4119286.09046 23286339.5394 23286344.9884
+ -3255.2154 -2536.5204
+ 20642352.6404 -21059284.75049 -16387780.94948 20642351.1874 20642354.2224
+ -1231.8654 -959.8954
+ 22783901.7464 -9133569.87349 -7094408.87046 22783902.0904 22783907.0954
+ 3118.6534 2430.1274
+ 20731997.0064 -23689805.25849 -18448223.73448 20731996.9634 20732002.2884
+ 1537.8904 1198.3544
+ 21554499.0184 -16258139.79249 -12657484.17347 21554498.8284 21554504.4364
+ 2675.1234 2084.5114
+ 24209985.6094 -2681773.71949 -2074754.34345 24209988.3234 24209993.3644
+ -1540.1984 -1200.1504
+ 05 1 20 14 4 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24452658.6824 -6023840.42149 -4678317.91445 24452657.7104 24452662.8694
+ 2531.7204 1972.7704
+ 22200169.2164 -14060688.48849 -10937107.35947 22200169.5314 22200175.3174
+ -2907.9794 -2265.9584
+ 23304939.6884 -5217148.87949 -4043124.05246 23304938.7364 23304944.6864
+ -3260.8624 -2540.9114
+ 20649426.3844 -21022104.73149 -16358809.51948 20649425.7434 20649429.5394
+ -1246.7834 -971.5194
+ 22766116.8764 -9227031.81249 -7167236.31946 22766117.3584 22766121.5504
+ 3112.0994 2425.0064
+ 20723256.1884 -23735736.82949 -18484014.57948 20723256.1454 20723261.9084
+ 1524.1764 1187.6704
+ 21539258.1574 -16338234.25749 -12719895.45447 21539257.0794 21539262.7184
+ 2664.4584 2076.1924
+ 24218827.2714 -2635309.78549 -2038548.75045 24218827.2834 24218835.6304
+ -1557.4134 -1213.5684
+ 05 1 20 14 4 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24438208.4704 -6099776.28249 -4737488.68045 24438207.8524 24438212.6744
+ 2530.7994 1972.0534
+ 22216792.2804 -13973337.71749 -10869041.84847 22216791.4124 22216796.7964
+ -2915.3784 -2271.7154
+ 23323570.7344 -5119238.94549 -3966830.68246 23323569.9104 23323576.4314
+ -3266.4034 -2545.2394
+ 20656587.2484 -20984477.65449 -16329489.73748 20656585.8754 20656589.6584
+ -1261.6724 -983.1154
+ 22748369.2434 -9320295.72649 -7239909.49046 22748369.2324 22748374.6424
+ 3105.4614 2419.8464
+ 20714594.8144 -23781255.29149 -18519483.52548 20714594.4674 20714600.2544
+ 1510.3654 1176.9084
+ 21524077.7374 -16418006.36849 -12782055.55647 21524077.1244 21524083.0864
+ 2653.6724 2067.7974
+ 24227767.6004 -2588330.63449 -2001941.67645 24227766.9654 24227775.2214
+ -1574.5144 -1226.8894
+ 05 1 20 14 5 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24423761.7004 -6175687.70249 -4796640.48545 24423762.0094 24423765.2984
+ 2529.9474 1971.3954
+ 22233456.0164 -13885766.60349 -10800804.65947 22233455.7804 22233461.1774
+ -2922.6694 -2277.4034
+ 23342234.8044 -5021163.78649 -3890408.53246 23342234.6034 23342240.1244
+ -3271.8774 -2549.5114
+ 20663832.1324 -20946405.47149 -16299823.11748 20663830.9054 20663834.7364
+ -1276.4814 -994.6594
+ 22730659.6304 -9413359.03649 -7312426.32946 22730659.5064 22730664.4264
+ 3098.7174 2414.5734
+ 20706011.9404 -23826358.47649 -18554628.87048 20706011.6334 20706017.0914
+ 1496.4794 1166.0894
+ 21508958.7754 -16497453.68249 -12843962.56847 21508958.1734 21508964.4344
+ 2642.8044 2059.3274
+ 24236805.2204 -2540837.83049 -1964934.28645 24236805.2594 24236812.1254
+ -1591.6584 -1240.2634
+ 05 1 20 14 5 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24409320.6944 -6251574.52949 -4855773.09445 24409319.1014 24409326.8984
+ 2529.1564 1970.7614
+ 22250162.3914 -13797977.50049 -10732397.61346 22250161.7584 22250167.1714
+ -2929.9114 -2283.0394
+ 23360928.5674 -4922926.59749 -3813860.14146 23360928.8854 23360933.0534
+ -3277.2314 -2553.6854
+ 20671160.7434 -20907889.71249 -16269810.85248 20671160.0874 20671163.8294
+ -1291.2204 -1006.1444
+ 22712988.6634 -9506218.56549 -7384784.35346 22712988.7124 22712993.7234
+ 3091.8784 2409.2444
+ 20697508.6994 -23871044.23649 -18589448.95148 20697508.4834 20697513.9114
+ 1482.5524 1155.2334
+ 21493902.6044 -16576573.44449 -12905614.33047 21493902.1504 21493908.6384
+ 2631.8314 2050.7764
+ 24245941.1024 -2492832.50649 -1927527.69845 24245939.8634 24245946.5404
+ -1608.7014 -1253.5214
+ 05 1 20 14 6 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24394883.2964 -6327436.55649 -4914886.33345 24394884.7774 24394890.6854
+ 2528.3854 1970.1794
+ 22266909.1674 -13709972.77249 -10663822.54746 22266908.7344 22266913.6494
+ -2937.0724 -2288.6244
+ 23379652.0124 -4824530.61449 -3737188.07146 23379652.6114 23379656.6834
+ -3282.4624 -2557.7564
+ 20678574.6914 -20868932.41149 -16239454.53448 20678573.4784 20678577.4984
+ -1305.9324 -1017.6084
+ 22695357.4964 -9598871.47849 -7456981.42046 22695357.2484 22695362.7334
+ 3084.9324 2403.8504
+ 20689084.2404 -23915310.65349 -18623942.26948 20689084.4094 20689090.0874
+ 1468.5074 1144.2964
+ 21478910.3914 -16655362.86049 -12967008.69647 21478909.6754 21478915.5214
+ 2620.7394 2042.1364
+ 24255171.4694 -2444316.27049 -1889722.88145 24255172.1654 24255175.8274
+ -1625.7124 -1266.7864
+ 05 1 20 14 6 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24380455.3864 -6403273.86649 -4973980.39645 24380454.0034 24380456.5444
+ 2527.5234 1969.5024
+ 22283696.1134 -13621754.66449 -10595081.19746 22283695.2694 22283700.5414
+ -2944.1304 -2294.1184
+ 23398405.9634 -4725979.01649 -3660394.68346 23398405.7454 23398411.4214
+ -3287.6414 -2561.8024
+ 20686071.6744 -20829535.38749 -16208755.57848 20686070.7444 20686074.2234
+ -1320.5434 -1028.9954
+ 22677764.8534 -9691315.06249 -7529015.37146 22677764.3734 22677770.5724
+ 3077.9204 2398.3694
+ 20680741.4554 -23959155.54349 -18658107.12548 20680741.0534 20680746.7474
+ 1454.4584 1133.3464
+ 21463980.0754 -16733819.40249 -13028143.67047 21463979.4694 21463985.3484
+ 2609.6634 2033.5064
+ 24264503.3504 -2395290.40149 -1851520.96045 24264502.9554 24264509.9614
+ -1642.6734 -1279.9864
+ 05 1 20 14 7 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24366026.4864 -6479086.43249 -5033055.14045 24366027.9534 24366032.3514
+ 2526.6134 1968.7904
+ 22300522.4634 -13533325.33549 -10526175.27446 22300523.4374 22300529.0494
+ -2951.1524 -2299.5994
+ 23417189.2794 -4627274.92249 -3583482.46546 23417189.2624 23417195.0324
+ -3292.6814 -2565.7434
+ 20693651.7514 -20789700.49349 -16177715.42248 20693651.0614 20693654.7584
+ -1335.0914 -1040.3294
+ 22660214.2454 -9783546.19549 -7600883.75046 22660214.0874 22660220.2414
+ 3070.7624 2392.8024
+ 20672478.5504 -24002576.96149 -18691942.00848 20672478.2744 20672483.9534
+ 1440.2684 1122.2864
+ 21449115.5444 -16811940.65649 -13089017.38747 21449114.2524 21449119.6164
+ 2598.4114 2024.7444
+ 24273925.9224 -2345756.32949 -1812923.14545 24273928.1654 24273935.0624
+ -1659.5494 -1293.1374
+ 05 1 20 14 7 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24351604.0144 -6554874.23549 -5092110.56445 24351603.4814 24351610.2044
+ 2525.8874 1968.2264
+ 22317389.7444 -13444687.15349 -10457106.60146 22317389.9534 22317396.5374
+ -2958.0594 -2304.9874
+ 23435999.3514 -4528421.70949 -3506454.09646 23436000.9274 23436005.8014
+ -3297.5274 -2569.4994
+ 20701314.7824 -20749429.79549 -16146335.68048 20701314.1074 20701317.8294
+ -1349.6044 -1051.6404
+ 22642704.3434 -9875561.98649 -7672584.35446 22642704.6614 22642710.4274
+ 3063.5614 2387.1744
+ 20664297.0484 -24045572.75749 -18725445.24748 20664296.6034 20664302.0524
+ 1426.0324 1111.1914
+ 21434313.7684 -16889723.70349 -13149627.57247 21434312.5304 21434317.7644
+ 2587.1014 2015.9254
+ 24283451.2904 -2295715.65049 -1773930.44745 24283450.5234 24283457.3484
+ -1676.4724 -1306.3454
+ 05 1 20 14 8 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24337188.8674 -6630636.97849 -5151146.43145 24337187.6364 24337193.2474
+ 2525.0234 1967.5474
+ 22334297.5684 -13355842.56849 -10387877.10546 22334297.7574 22334302.8524
+ -2964.9344 -2310.3304
+ 23454838.7674 -4429422.30949 -3429311.79946 23454838.9914 23454845.9224
+ -3302.3664 -2573.2674
+ 20709061.1944 -20708725.09849 -16114617.75848 20709060.0334 20709063.7944
+ -1364.0284 -1062.8774
+ 22625236.7504 -9967359.80449 -7744115.11846 22625236.4614 22625242.1314
+ 3056.2474 2381.4944
+ 20656195.5934 -24088140.93549 -18758615.27348 20656196.0684 20656201.5974
+ 1411.7764 1100.0874
+ 21419576.5504 -16967165.46349 -13209971.81047 21419575.6404 21419581.0534
+ 2575.6724 2007.0164
+ 24293069.8994 -2245170.10349 -1734544.38945 24293068.6064 24293076.0324
+ -1693.2684 -1319.4324
+ 05 1 20 14 8 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24322773.0704 -6706374.75249 -5210162.93145 24322774.0724 24322779.3314
+ 2524.1514 1966.8664
+ 22351243.0454 -13266793.79349 -10318488.47146 22351241.9554 22351249.0154
+ -2971.6324 -2315.5614
+ 23473705.8534 -4330280.00249 -3352058.15546 23473706.7024 23473710.0614
+ -3307.1204 -2576.9704
+ 20716889.4774 -20667588.14349 -16082563.01248 20716888.2564 20716891.9424
+ -1378.4154 -1074.0894
+ 22607809.5564 -10058936.29749 -7815473.41046 22607810.5934 22607815.4134
+ 3048.8024 2375.6864
+ 20648177.7024 -24130279.40949 -18791450.46248 20648177.1814 20648182.8654
+ 1397.4084 1088.8924
+ 21404904.4104 -17044263.47449 -13270048.19047 21404904.1644 21404909.8154
+ 2564.1744 1998.0644
+ 24302783.8564 -2194121.25249 -1694766.03945 24302783.4124 24302790.1454
+ -1710.0564 -1332.5104
+ 05 1 20 14 9 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24308367.9444 -6782087.48649 -5269159.86345 24308367.7914 24308372.1484
+ 2523.3354 1966.2464
+ 22368226.9094 -13177542.96249 -10248942.44546 22368227.1364 22368232.4604
+ -2978.3834 -2320.8084
+ 23492599.4774 -4230998.05849 -3274695.67446 23492599.4784 23492603.7174
+ -3311.7014 -2580.5384
+ 20724799.1204 -20626020.91449 -16050172.99348 20724798.1894 20724802.1564
+ -1392.7404 -1085.2524
+ 22590427.2334 -10150288.55949 -7886656.97046 22590426.4124 22590431.8744
+ 3041.2704 2369.8114
+ 20640241.6814 -24171986.09849 -18823949.20048 20640240.7344 20640246.4834
+ 1382.9974 1077.6604
+ 21390299.6924 -17121014.94349 -13329854.54447 21390299.2204 21390304.7394
+ 2552.5634 1989.0164
+ 24312592.2684 -2142570.40149 -1654596.71745 24312591.8274 24312599.5284
+ -1726.7324 -1345.5014
+ 05 1 20 14 9 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24293963.4664 -6857774.99349 -5328137.11645 24293964.8304 24293969.6794
+ 2522.4794 1965.5724
+ 22385249.8454 -13088092.43049 -10179240.75847 22385248.7994 22385254.0194
+ -2985.0294 -2326.0024
+ 23511517.5644 -4131579.70349 -3197226.90946 23511517.4724 23511522.2664
+ -3316.2104 -2584.0754
+ 20732790.4184 -20584025.36449 -16017449.21248 20732789.6444 20732793.7344
+ -1406.9804 -1096.3474
+ 22573085.3564 -10241413.90549 -7957663.70746 22573085.5214 22573091.0604
+ 3033.6954 2363.9194
+ 20632386.9194 -24213259.06849 -18856109.96748 20632386.8504 20632392.2834
+ 1368.4934 1066.3584
+ 21375760.4104 -17197417.58549 -13389389.08547 21375759.7604 21375765.8264
+ 2540.9154 1979.9364
+ 24322500.9434 -2090519.03449 -1614037.30745 24322499.1064 24322503.9384
+ -1743.4234 -1358.5064
+ 05 1 20 14 10 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24279567.2064 -6933437.39549 -5387094.82745 24279565.4364 24279571.0654
+ 2521.6814 1964.9384
+ 22402308.8224 -12998444.32949 -10109385.12347 22402308.4844 22402314.2934
+ -2991.5524 -2331.0784
+ 23530460.4444 -4032028.10149 -3119654.34146 23530460.5374 23530466.2564
+ -3320.5524 -2587.4334
+ 20740863.4614 -20541603.21449 -15984393.01748 20740862.4274 20740866.3334
+ -1421.1824 -1107.4154
+ 22555788.8484 -10332309.25849 -8028491.22846 22555788.5394 22555794.2864
+ 3025.9634 2357.8984
+ 20624616.3904 -24254096.33349 -18887931.22148 20624615.7204 20624621.5124
+ 1353.9574 1055.0334
+ 21361288.6924 -17273468.82949 -13448649.80647 21361287.9484 21361294.0314
+ 2529.1494 1970.7684
+ 24332498.8104 -2037968.95449 -1573089.30145 24332497.4154 24332502.9634
+ -1759.9474 -1371.3754
+ 05 1 20 14 10 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24265171.1304 -7009074.53049 -5446032.84145 24265171.7204 24265177.9414
+ 2520.8914 1964.3474
+ 22419404.9504 -12908601.27849 -10039377.59947 22419404.3114 22419410.5064
+ -2997.9784 -2336.0814
+ 23549428.2724 -3932346.38949 -3041980.35446 23549429.3094 23549434.9674
+ -3324.8474 -2590.7784
+ 20749016.7874 -20498756.63549 -15951006.09848 20749015.8174 20749019.8794
+ -1435.2734 -1118.3944
+ 22538536.4084 -10422971.83049 -8099137.38246 22538536.0664 22538541.3524
+ 3018.2044 2351.8494
+ 20616928.7304 -24294495.80749 -18919411.35048 20616928.1754 20616933.6784
+ 1339.3294 1043.6354
+ 21346883.8404 -17349165.90049 -13507634.55947 21346883.2794 21346888.9494
+ 2517.3094 1961.5424
+ 24342592.8574 -1984921.80549 -1531753.95245 24342592.9874 24342600.2274
+ -1776.4314 -1384.2364
+ 05 1 20 14 11 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24250787.2004 -7084686.36649 -5504951.15946 24250785.8654 24250789.9084
+ 2520.0104 1963.6464
+ 22436537.8394 -12818565.26649 -9969219.71847 22436537.5384 22436544.1724
+ -3004.3934 -2341.0784
+ 23568423.6214 -3832537.61449 -2964207.37646 23568423.9654 23568428.5294
+ -3329.0474 -2594.0664
+ 20757250.8114 -20455487.34949 -15917289.80048 20757249.9814 20757253.7504
+ -1449.3284 -1129.3414
+ 22521329.1344 -10513398.80749 -8169599.91046 22521328.6294 22521333.9774
+ 3010.2644 2345.6654
+ 20609324.6104 -24334455.61649 -18950548.87648 20609323.9534 20609329.5734
+ 1324.6334 1032.1854
+ 21332546.9384 -17424505.88349 -13566341.04947 21332546.4214 21332552.4134
+ 2505.3664 1952.2314
+ 24352784.7734 -1931379.23449 -1490032.49245 24352782.6794 24352789.2054
+ -1792.9714 -1397.1174
+ 05 1 20 14 11 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24236400.9044 -7160272.80249 -5563849.73145 24236400.0554 24236405.6234
+ 2519.0364 1962.8834
+ 22453709.2814 -12728338.46549 -9898913.14747 22453708.4304 22453713.1704
+ -3010.6984 -2346.0024
+ 23587440.4214 -3732605.11149 -2886337.98946 23587439.1164 23587443.9844
+ -3333.1084 -2597.2364
+ 20765564.7974 -20411797.45749 -15883245.75148 20765563.8444 20765567.5544
+ -1463.3004 -1140.2324
+ 22504167.1024 -10603587.28649 -8239876.62346 22504166.4234 22504172.1534
+ 3002.2734 2339.4164
+ 20601804.2314 -24373973.66449 -18981342.17448 20601804.0064 20601809.5694
+ 1309.8664 1020.6754
+ 21318278.5644 -17499486.12049 -13624767.22547 21318278.3904 21318284.1994
+ 2493.3194 1942.8434
+ 24363060.9784 -1877342.71848 -1447926.09645 24363063.3554 24363073.8054
+ -1809.4554 -1409.9644
+ 05 1 20 14 12 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24222024.0154 -7235833.82149 -5622728.39545 24222023.2734 24222028.5914
+ 2518.2894 1962.3054
+ 22470912.7754 -12637923.18149 -9828459.71346 22470912.9834 22470918.4374
+ -3016.9474 -2350.8604
+ 23606479.4014 -3632552.05549 -2808374.66746 23606479.7564 23606485.3054
+ -3337.0854 -2600.3304
+ 20773958.4094 -20367688.78749 -15848875.37848 20773957.3444 20773961.0084
+ -1477.2574 -1151.1084
+ 22487049.4004 -10693533.92949 -8309964.89647 22487049.8874 22487054.6594
+ 2994.1904 2333.1444
+ 20594368.6034 -24413048.02649 -19011789.74248 20594368.2964 20594373.9854
+ 1295.0794 1009.1524
+ 21304078.6214 -17574104.59749 -13682911.49447 21304078.6784 21304084.4864
+ 2481.1904 1933.3944
+ 24373440.2614 -1822813.73348 -1405436.17645 24373439.4004 24373450.1854
+ -1825.7234 -1422.6374
+ 05 1 20 14 12 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24207648.2714 -7311369.08949 -5681587.06746 24207649.2954 24207653.4314
+ 2517.4054 1961.6164
+ 22488152.8204 -12547321.93049 -9757861.38346 22488153.7594 22488159.4254
+ -3023.1014 -2355.6544
+ 23625541.8544 -3532381.52949 -2730319.80646 23625540.9414 23625546.8824
+ -3340.9444 -2603.3344
+ 20782431.0564 -20323163.48049 -15814180.35948 20782430.3724 20782433.9014
+ -1491.1214 -1161.9114
+ 22469981.7654 -10783236.10349 -8379862.65047 22469981.0164 22469985.8654
+ 2985.9694 2326.7234
+ 20587017.8624 -24451676.68749 -19041890.00848 20587017.5914 20587023.2104
+ 1280.1634 997.5314
+ 21289949.4534 -17648357.96649 -13740771.27747 21289948.9354 21289954.9094
+ 2468.9894 1923.8874
+ 24383912.5944 -1767794.05648 -1362563.91644 24383910.0344 24383915.9624
+ -1842.1274 -1435.4224
+ 05 1 20 14 13 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24193279.8754 -7386878.62249 -5740425.69846 24193279.7154 24193284.4974
+ 2516.5844 1960.9774
+ 22505430.3334 -12456536.66849 -9687119.64946 22505429.9684 22505435.7854
+ -3029.2384 -2360.4344
+ 23644624.7924 -3432096.55749 -2652175.75746 23644625.3464 23644630.0044
+ -3344.6944 -2606.2464
+ 20790982.9234 -20278223.23149 -15779162.00448 20790982.0714 20790985.5164
+ -1504.8984 -1172.6484
+ 22452958.0064 -10872690.76749 -8449567.52247 22452957.4454 22452962.0434
+ 2977.6754 2320.2724
+ 20579753.0164 -24489857.71549 -19071641.47248 20579752.1824 20579757.6064
+ 1265.2054 985.8724
+ 21275889.4214 -17722243.71949 -13798344.59247 21275888.7064 21275894.9204
+ 2456.7204 1914.3244
+ 24394475.3034 -1712285.58648 -1319310.62145 24394473.4094 24394479.3724
+ -1858.3984 -1448.1084
+ 05 1 20 14 13 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24178915.8584 -7462362.32949 -5799244.14546 24178915.2344 24178921.2854
+ 2515.6814 1960.2654
+ 22522741.7344 -12365569.38549 -9616236.09747 22522740.2644 22522746.6384
+ -3035.2394 -2365.1214
+ 23663728.0224 -3331700.60449 -2573945.24846 23663728.7754 23663734.6474
+ -3348.3274 -2609.0884
+ 20799613.7424 -20232870.18649 -15743821.98748 20799612.6134 20799616.2514
+ -1518.6184 -1183.3374
+ 22435982.5244 -10961895.30049 -8519077.51346 22435982.2764 22435987.3304
+ 2969.2724 2313.7094
+ 20572572.5474 -24527589.19249 -19101042.63648 20572572.2804 20572577.6194
+ 1250.1924 974.1774
+ 21261899.4464 -17795759.57949 -13855629.67747 21261899.3784 21261905.2554
+ 2444.3284 1904.6734
+ 24405131.4184 -1656290.02649 -1275677.76545 24405126.6174 24405137.0854
+ -1874.6434 -1460.7554
+ 05 1 20 14 14 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24164558.2864 -7537820.02749 -5858042.33146 24164556.5644 24164561.8584
+ 2514.8134 1959.5844
+ 22540085.9864 -12274422.38049 -9545212.51046 22540085.1194 22540091.3384
+ -3041.2344 -2369.7964
+ 23682854.4844 -3231196.64449 -2495630.57646 23682854.8054 23682860.9044
+ -3351.8934 -2611.8554
+ 20808322.3114 -20187106.24649 -15708161.79748 20808321.2014 20808324.7644
+ -1532.2814 -1193.9894
+ 22419055.0544 -11050846.86449 -8588390.36246 22419054.8754 22419059.9334
+ 2960.8084 2307.1134
+ 20565478.3744 -24564869.21649 -19130092.01448 20565477.8334 20565483.2554
+ 1235.0904 962.4054
+ 21247981.0714 -17868902.13249 -13912623.88647 21247980.7944 21247986.6174
+ 2431.8364 1894.9354
+ 24415877.1574 -1599809.18149 -1231666.77945 24415876.9684 24415884.7414
+ -1890.7434 -1473.3054
+ 05 1 20 14 14 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24150203.9234 -7613251.72949 -5916820.30746 24150202.3094 24150206.8134
+ 2513.9204 1958.9094
+ 22557463.5174 -12183097.80249 -9474050.54546 22557463.8084 22557469.2644
+ -3047.0544 -2374.3214
+ 23701999.8034 -3130587.98249 -2417234.28646 23702000.2284 23702005.3914
+ -3355.3644 -2614.5604
+ 20817108.1894 -20140933.57749 -15672183.10648 20817107.3094 20817111.2874
+ -1545.8814 -1204.5804
+ 22402177.1824 -11139542.36149 -8657503.69747 22402176.6214 22402182.2064
+ 2952.2074 2300.4044
+ 20558470.1364 -24601695.88449 -19158788.13548 20558469.7644 20558475.2584
+ 1219.9914 950.6454
+ 21234134.6104 -17941669.21549 -13969325.51447 21234133.7284 21234139.4594
+ 2419.2914 1885.1634
+ 24426718.8974 -1542844.71549 -1187279.00845 24426716.9924 24426725.1514
+ -1906.7824 -1485.8014
+ 05 1 20 14 15 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24135853.1734 -7688657.45549 -5975577.98446 24135851.3324 24135858.8784
+ 2513.0944 1958.2474
+ 22574875.2764 -12091597.96949 -9402752.00946 22574874.4184 22574880.6594
+ -3052.8704 -2378.8464
+ 23721164.7234 -3029877.75649 -2338758.87546 23721165.1804 23721170.7164
+ -3358.6404 -2617.1194
+ 20825972.6974 -20094353.88249 -15635887.26248 20825971.3164 20825974.9634
+ -1559.4174 -1215.1284
+ 22385347.3094 -11227978.86249 -8726415.21947 22385347.2324 22385353.8574
+ 2943.5274 2293.6534
+ 20551548.9624 -24638067.24849 -19187129.46748 20551548.6264 20551554.2244
+ 1204.8054 938.8134
+ 21220359.0364 -18014058.28149 -14025732.58947 21220358.3784 21220364.2134
+ 2406.6574 1875.3164
+ 24437651.6904 -1485398.62548 -1142515.89445 24437649.9704 24437657.1494
+ -1922.8504 -1498.3194
+ 05 1 20 14 15 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24121509.2834 -7764036.93149 -6034315.23846 24121508.7554 24121514.1914
+ 2512.1974 1957.5624
+ 22592320.6084 -11999925.01149 -9331318.56346 22592320.3874 22592326.4334
+ -3058.6394 -2383.3544
+ 23740347.6834 -2929069.06149 -2260206.73446 23740347.5174 23740354.2954
+ -3361.9044 -2619.6674
+ 20834912.8134 -20047369.37049 -15599275.97248 20834912.0564 20834915.9844
+ -1572.8774 -1225.6204
+ 22368568.0154 -11316153.42949 -8795122.60547 22368568.0484 22368574.3254
+ 2934.7304 2286.8044
+ 20544714.7504 -24673981.34749 -19215114.49748 20544714.4494 20544719.9194
+ 1189.4844 926.8714
+ 21206656.1894 -18086066.48749 -14081842.88048 21206655.7694 21206661.4954
+ 2393.8924 1865.3724
+ 24448670.5254 -1427472.39758 -1097378.65954 24448670.1744
+ -1938.9844 -1510.8874
+ 05 1 20 14 16 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24107170.8064 -7839390.07349 -6093032.00046 24107169.2594 24107175.4694
+ 2511.3834 1956.9124
+ 22609797.5564 -11908081.19449 -9259751.98746 22609797.6944 22609803.8924
+ -3064.2694 -2387.7374
+ 23759548.7224 -2828165.04249 -2181580.32646 23759550.1444 23759556.3524
+ -3365.0124 -2622.0634
+ 20843931.0194 -19999981.97549 -15562350.75148 20843929.6544 20843933.4544
+ -1586.2674 -1236.0524
+ 22351841.0394 -11404063.45049 -8863623.87347 22351840.4744 22351845.1524
+ 2925.8654 2279.8854
+ 20537967.7524 -24709436.38249 -19242741.81248 20537967.7034 20537973.1764
+ 1174.1644 914.9324
+ 21193026.8374 -18157691.06749 -14137654.24648 21193026.1424 21193032.0794
+ 2381.0794 1855.3874
+ 24459788.5404 -1369067.81148 -1051868.70444 24459786.7984 24459792.5254
+ -1954.8084 -1523.2184
+ 05 1 20 14 16 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24092836.0364 -7914716.66549 -6151728.02446 24092835.8574 24092840.9314
+ 2510.4454 1956.1904
+ 22627307.5174 -11816068.88549 -9188054.14346 22627307.5074 22627313.0584
+ -3069.8534 -2392.0924
+ 23778768.6024 -2727168.65849 -2102881.94546 23778768.9144 23778774.7474
+ -3368.0384 -2624.4484
+ 20853024.2774 -19952193.78649 -15525113.21548 20853023.5334 20853027.5574
+ -1599.5844 -1246.4334
+ 22335162.2984 -11491705.84449 -8931916.60747 22335162.1004 22335167.2224
+ 2916.9014 2272.9044
+ 20531308.4534 -24744430.47949 -19270009.94248 20531308.1354 20531314.2124
+ 1158.7604 902.9274
+ 21179470.5814 -18228929.03549 -14193164.35948 21179469.9874 21179476.2094
+ 2368.1604 1845.3204
+ 24470993.4084 -1310187.00148 -1005987.60745 24470991.4914 24471002.9384
+ -1970.5014 -1535.4504
+ 05 1 20 14 17 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24078507.6224 -7990016.74749 -6210403.38746 24078505.7384 24078511.0354
+ 2509.5514 1955.4814
+ 22644849.8264 -11723890.13849 -9116226.58146 22644848.4664 22644854.5934
+ -3075.3684 -2396.4004
+ 23798004.8074 -2626083.23349 -2024114.16146 23798004.8624 23798010.6814
+ -3370.9734 -2626.7254
+ 20862194.0044 -19904006.79649 -15487564.92848 20862192.9914 20862196.9704
+ -1612.8524 -1256.7664
+ 22318536.0704 -11579077.78349 -8999998.59347 22318535.5514 22318541.1924
+ 2907.8454 2265.8524
+ 20524737.6874 -24778961.64049 -19296917.35848 20524737.5004 20524743.2324
+ 1143.2864 890.8734
+ 21165988.6174 -18299778.12249 -14248371.44448 21165987.9634 21165993.9844
+ 2355.1234 1835.1564
+ 24482287.7764 -1250831.69948 -959736.86045 24482288.5514 24482294.0024
+ -1986.3944 -1547.8374
+ 05 1 20 14 17 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24064182.7224 -8065289.94649 -6269057.83746 24064181.3884 24064187.1614
+ 2508.6764 1954.8164
+ 22662421.6424 -11631547.09949 -9044271.01146 22662421.0284 22662426.4184
+ -3080.8344 -2400.6464
+ 23817256.0904 -2524911.84549 -1945279.41346 23817257.5314 23817262.3824
+ -3373.7524 -2628.9044
+ 20871439.7864 -19855422.93749 -15449707.38448 20871438.4964 20871442.3594
+ -1626.0614 -1267.0604
+ 22301962.4104 -11666176.28849 -9067867.51647 22301962.4024 22301966.9574
+ 2898.6894 2258.7234
+ 20518254.8884 -24813028.14949 -19323462.69548 20518254.7224 20518260.5014
+ 1127.7854 878.7954
+ 21152581.2854 -18370236.03149 -14303273.71448 21152580.2764 21152586.1824
+ 2342.0404 1824.9634
+ 24493671.7324 -1191003.82148 -913117.81244 24493671.0144 24493678.3594
+ -2002.0974 -1560.0794
+ 05 1 20 14 18 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24049863.3254 -8140536.30749 -6327691.35046 24049862.7764 24049868.1164
+ 2507.7524 1954.0894
+ 22680022.9594 -11539041.83849 -8972189.02446 22680023.6264 22680029.6044
+ -3086.2064 -2404.8404
+ 23836525.7564 -2423657.73049 -1866380.16846 23836526.3704 23836530.3644
+ -3376.4824 -2631.0154
+ 20880759.2714 -19806444.19649 -15411542.15348 20880758.7104 20880762.6374
+ -1639.1694 -1277.2734
+ 22285440.4384 -11752998.67949 -9135521.28847 22285439.6474 22285445.0604
+ 2889.4344 2251.5034
+ 20511861.2564 -24846628.22949 -19349644.58748 20511860.7724 20511866.7444
+ 1112.1994 866.6504
+ 21139247.8174 -18440299.94749 -14357868.98048 21139247.4804 21139253.5734
+ 2328.8774 1814.7104
+ 24505144.1964 -1130705.25658 -866131.95354 24505143.6984 24505150.6644
+ -2017.7104 -1572.2404
+ 05 1 20 14 18 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24035549.7134 -8215755.68849 -6386303.86746 24035548.8444 24035554.8944
+ 2506.9034 1953.4354
+ 22697656.5384 -11446376.35849 -8899982.18846 22697656.6234 22697663.3344
+ -3091.5154 -2408.9834
+ 23855809.4484 -2322324.01649 -1787418.93146 23855808.7214 23855813.9514
+ -3379.0934 -2633.0584
+ 20890154.7914 -19757072.82949 -15373070.97448 20890153.7024 20890157.8974
+ -1652.2474 -1287.4654
+ 22268971.0094 -11839542.10549 -9202957.69047 22268971.0534 22268975.9664
+ 2880.0744 2244.2054
+ 20505556.2394 -24879759.87149 -19375461.46048 20505556.1844 20505562.0314
+ 1096.5404 854.4434
+ 21125991.0354 -18509967.13049 -14412155.10748 21125990.0714 21125996.5634
+ 2315.5934 1804.3584
+ 24516709.1114 -1069937.52248 -818780.44944 24516706.6854 24516718.0014
+ -2033.5214 -1584.5654
+ 05 1 20 14 19 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24021240.9884 -8290948.08049 -6444895.33546 24021239.5324 24021246.1514
+ 2505.9804 1952.7044
+ 22715320.8644 -11353552.75949 -8827652.16846 22715321.4534 22715328.1724
+ -3096.7344 -2413.0384
+ 23875107.1544 -2220913.71049 -1708398.01746 23875107.0224 23875112.4154
+ -3381.5834 -2635.0094
+ 20899624.2184 -19707310.71749 -15334295.31348 20899623.3734 20899627.3724
+ -1665.2304 -1297.5824
+ 22252556.3594 -11925803.73949 -9270174.50847 22252556.3094 22252561.5324
+ 2870.6604 2236.8714
+ 20499341.4334 -24912421.25149 -19400911.89548 20499341.1754 20499346.8564
+ 1080.8344 842.2124
+ 21112809.0864 -18579234.91949 -14466129.99748 21112808.4184 21112815.0304
+ 2302.2364 1793.9474
+ 24528362.1504 -1008702.63248 -771065.15944 24528362.4764 24528372.4494
+ -2049.1754 -1596.7534
+ 05 1 20 14 19 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 24006937.0204 -8366113.25749 -6503465.60346 24006937.6014 24006941.5734
+ 2505.0524 1951.9894
+ 22733016.3534 -11260573.43549 -8755200.79246 22733015.1724 22733021.0014
+ -3101.8694 -2417.0384
+ 23894417.5904 -2119430.18049 -1629320.01646 23894417.5974 23894422.9454
+ -3383.9554 -2636.8544
+ 20909167.3074 -19657159.85849 -15295216.73848 20909166.6014 20909170.5854
+ -1678.1384 -1307.6404
+ 22236194.9994 -12011780.46949 -9337169.33347 22236194.9264 22236200.2704
+ 2861.1084 2229.4284
+ 20493216.2884 -24944610.80849 -19425994.68048 20493215.7204 20493221.1194
+ 1065.1044 829.9514
+ 21099703.9294 -18648100.49449 -14519791.49348 21099703.9634 21099710.0594
+ 2288.8054 1783.4804
+ 24540105.9084 -947002.66249 -722987.46144 24540101.9414 24540110.5204
+ -2064.3874 -1608.6204
+ 05 1 20 14 20 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23992638.7174 -8441250.89149 -6562014.39546 23992638.0304 23992644.4054
+ 2504.1614 1951.2924
+ 22750737.1014 -11167440.39749 -8682629.63446 22750737.4814 22750743.2444
+ -3106.9904 -2421.0344
+ 23913743.1754 -2017876.10649 -1550187.07246 23913743.5134 23913748.9284
+ -3386.3084 -2638.6654
+ 20918784.8244 -19606622.48549 -15255836.97948 20918783.5764 20918787.6404
+ -1690.9984 -1317.6614
+ 22219889.4534 -12097469.66649 -9403940.10247 22219888.2774 22219894.7884
+ 2851.4814 2221.9364
+ 20487180.1514 -24976326.55049 -19450708.25348 20487180.1324 20487185.6784
+ 1049.2704 817.6124
+ 21086677.4614 -18716561.95149 -14573138.09448 21086676.7394 21086682.2664
+ 2275.2844 1772.9444
+ 24551933.6804 -884839.60048 -674548.75344 24551933.4134 24551942.3114
+ -2079.7734 -1620.6054
+ 05 1 20 14 20 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23978346.9384 -8516360.93649 -6620541.70846 23978345.7404 23978350.8864
+ 2503.2454 1950.5724
+ 22768488.9634 -11074155.69649 -8609940.28246 22768488.3854 22768494.9844
+ -3111.9824 -2424.9064
+ 23933078.0154 -1916254.81849 -1471001.73346 23933080.6814 23933086.8804
+ -3388.4964 -2640.3794
+ 20928474.9414 -19555700.50049 -15216157.52548 20928473.7804 20928477.7714
+ -1703.7724 -1327.6144
+ 22203638.1954 -12182868.37549 -9470484.51847 22203638.4704 22203642.9574
+ 2841.7324 2214.3414
+ 20481235.8494 -25007566.67049 -19475051.21248 20481235.6404 20481241.0574
+ 1033.3834 805.2344
+ 21073726.9154 -18784616.30949 -14626167.46848 21073726.4344 21073731.8784
+ 2261.6654 1762.3384
+ 24563850.8254 -822215.38049 -625750.68445 24563851.2004 24563857.6754
+ -2095.1814 -1632.5984
+ 05 1 20 14 21 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23964058.1904 -8591443.20249 -6679047.37446 23964057.6734 23964063.6644
+ 2502.2534 1949.8074
+ 22786268.6004 -10980721.48849 -8537134.44746 22786268.4884 22786275.2944
+ -3116.9334 -2428.7804
+ 23952430.7374 -1814569.32849 -1391766.39746 23952431.1204 23952437.6634
+ -3390.5604 -2641.9844
+ 20938237.6434 -19504396.07449 -15176180.06748 20938236.7404 20938240.5484
+ -1716.4954 -1337.5334
+ 22187443.2934 -12267973.75549 -9536800.37947 22187443.3874 22187448.7064
+ 2831.9164 2206.6934
+ 20475381.7204 -25038329.57949 -19499022.32248 20475381.6344 20475386.9884
+ 1017.4264 792.8014
+ 21060854.4924 -18852260.33249 -14678877.09248 21060854.0514 21060860.1834
+ 2247.9434 1751.6414
+ 24575854.5654 -759131.79048 -576594.82744 24575855.0754 24575862.0184
+ -2110.4664 -1644.5224
+ 05 1 20 14 21 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23949775.8194 -8666497.65149 -6737531.33246 23949775.1124 23949780.4424
+ 2501.3394 1949.0864
+ 22804076.8154 -10887139.90949 -8464213.76246 22804076.2374 22804083.9814
+ -3121.7954 -2432.5804
+ 23971791.6284 -1712822.97149 -1312483.59546 23971792.6504 23971800.2264
+ -3392.5344 -2643.5284
+ 20948072.8724 -19452711.12149 -15135906.08948 20948072.0284 20948075.8994
+ -1729.1674 -1347.4034
+ 22171306.0304 -12352782.99849 -9602885.49847 22171305.4964 22171309.5704
+ 2821.9964 2198.9594
+ 20469619.1624 -25068613.27549 -19522620.00948 20469618.7664 20469624.4734
+ 1001.4334 780.3394
+ 21048060.5134 -18919491.92449 -14731265.35148 21048060.3324 21048066.4064
+ 2234.1424 1740.8874
+ 24587943.8784 -695591.05948 -527082.67545 24587946.0884 24587950.8944
+ -2125.5434 -1656.2654
+ 05 1 20 14 22 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23935500.6684 -8741523.94249 -6795993.42046 23935499.0574 23935504.5114
+ 2500.4144 1948.3784
+ 22821911.9064 -10793412.99349 -8391179.88346 22821912.2714 22821919.8254
+ -3126.6374 -2436.3304
+ 23991165.2844 -1611018.79949 -1233155.77345 23991165.7214 23991171.3074
+ -3394.3904 -2644.9654
+ 20957980.3394 -19400647.87249 -15095337.34148 20957979.4274 20957983.5864
+ -1741.7284 -1357.1894
+ 22155222.7984 -12437293.39549 -9668737.72647 22155222.5884 22155227.8274
+ 2811.9914 2191.1604
+ 20463947.7834 -25098416.27449 -19545843.13648 20463947.4194 20463953.0694
+ 985.4224 767.8664
+ 21035345.8494 -18986308.33349 -14783330.08948 21035345.6094 21035351.8094
+ 2220.2664 1730.0844
+ 24600124.3734 -631594.86748 -477215.55444 24600120.4964 24600133.6804
+ -2140.8154 -1668.1654
+ 05 1 20 14 22 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23921229.6144 -8816522.03449 -6854433.45446 23921227.3994 23921232.7964
+ 2499.4604 1947.6224
+ 22839776.5714 -10699542.68049 -8318034.21946 22839775.5634 22839781.8544
+ -3131.3774 -2440.0454
+ 24010548.5584 -1509159.96049 -1153785.33745 24010548.6014 24010555.6444
+ -3396.1794 -2646.3594
+ 20967958.6104 -19348208.27149 -15054475.32148 20967957.8574 20967962.1054
+ -1754.2264 -1366.9274
+ 22139200.1694 -12521501.85349 -9734354.69147 22139199.3154 22139204.1154
+ 2801.9044 2183.3044
+ 20458367.9644 -25127736.72649 -19568690.24448 20458367.9804 20458373.5484
+ 969.2844 755.2874
+ 21022711.1194 -19052707.05249 -14835069.35448 21022710.1414 21022716.5584
+ 2206.3164 1719.2104
+ 24612388.6694 -567145.49149 -426995.36144 24612389.8904 24612393.6624
+ -2155.6974 -1679.7664
+ 05 1 20 14 23 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23906961.6474 -8891491.78249 -6912851.44146 23906961.3274 23906964.9384
+ 2498.4994 1946.8874
+ 22857665.1794 -10605531.14449 -8244778.53246 22857664.1154 22857672.0564
+ -3136.0484 -2443.6674
+ 24029942.6884 -1407248.99349 -1074374.31145 24029942.3084 24029948.8874
+ -3397.8974 -2647.7164
+ 20978009.0524 -19295394.38949 -15013321.66848 20978007.7484 20978012.3274
+ -1766.6804 -1376.6294
+ 22123231.0054 -12605405.69449 -9799734.30047 22123231.8374 22123237.0494
+ 2791.6744 2175.3354
+ 20452881.0634 -25156573.02149 -19591160.09148 20452880.4104 20452886.1994
+ 953.0944 742.6724
+ 21010155.1154 -19118685.37649 -14886481.04048 21010154.7194 21010161.1014
+ 2192.2304 1708.2324
+ 24624738.0534 -502245.02849 -376423.56445 24624738.4514 24624747.9984
+ -2170.9564 -1691.6424
+ 05 1 20 14 23 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23892701.0554 -8966432.98149 -6971247.15046 23892700.8844 23892705.7034
+ 2497.5744 1946.1654
+ 22875582.2054 -10511380.66949 -8171414.60646 22875580.9714 22875587.2584
+ -3140.6284 -2447.2324
+ 24049345.2064 -1305289.33049 -994925.28445 24049343.8684 24049350.8744
+ -3399.4564 -2648.9244
+ 20988130.3944 -19242208.55849 -14971878.17448 20988129.2664 20988132.8664
+ -1779.0464 -1386.2684
+ 22107323.1184 -12689002.12349 -9864874.35847 22107323.2514 22107329.5674
+ 2781.3864 2167.3194
+ 20447485.8434 -25184923.32849 -19613251.25348 20447485.7634 20447491.1854
+ 936.8874 730.0444
+ 20997680.3544 -19184240.71149 -14937563.12348 20997680.1144 20997686.3064
+ 2178.0944 1697.2164
+ 24637174.4764 -436895.46548 -325501.91144 24637172.4354 24637178.4604
+ -2185.7164 -1703.1554
+ 05 1 20 14 24 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23878445.2104 -9041345.49749 -7029620.54746 23878444.4984 23878449.7264
+ 2496.6234 1945.4234
+ 22893524.2354 -10417093.06949 -8097943.79546 22893523.2494 22893530.4694
+ -3145.1764 -2450.7964
+ 24068756.3144 -1203284.10749 -915440.81846 24068755.6454 24068761.6624
+ -3400.9014 -2650.0504
+ 20998321.7564 -19188652.63049 -14930146.29248 20998320.7764 20998324.7004
+ -1791.3444 -1395.8544
+ 22091475.4184 -12772288.31749 -9929772.68747 22091475.3604 22091480.5064
+ 2770.9944 2159.2184
+ 20442183.6244 -25212786.03349 -19634962.46048 20442183.4314 20442189.2034
+ 920.6174 717.3654
+ 20985286.4764 -19249370.65149 -14988313.72548 20985286.2494 20985292.4764
+ 2163.8764 1686.1364
+ 24649692.5574 -371098.62248 -274231.79544 24649694.1354 24649699.5194
+ -2200.7394 -1714.8534
+ 05 1 20 14 24 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23864194.3924 -9116229.03249 -7087971.35146 23864194.4844 23864200.3444
+ 2495.6354 1944.6454
+ 22911491.1954 -10322670.58449 -8024367.87546 22911491.9444 22911497.7884
+ -3149.6344 -2454.2654
+ 24088175.4724 -1101236.74649 -835923.49645 24088173.8734 24088180.1544
+ -3402.1974 -2651.0664
+ 21008583.0854 -19134728.71049 -14888127.66748 21008582.2624 21008585.7834
+ -1803.5594 -1405.3704
+ 22075686.6794 -12855261.62649 -9994427.18747 22075686.3964 22075691.1684
+ 2760.5314 2151.0634
+ 20436974.6504 -25240159.47849 -19656292.42548 20436974.4744 20436980.0834
+ 904.2514 704.6134
+ 20972974.7984 -19314072.40549 -15038730.67348 20972974.0584 20972980.1254
+ 2149.5704 1674.9884
+ 24662300.4274 -304856.73048 -222614.83644 24662299.8074 24662306.9914
+ -2215.4794 -1726.3454
+ 05 1 20 14 25 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23849950.9924 -9191083.40349 -7146299.41946 23849949.9504 23849956.0684
+ 2494.6494 1943.8814
+ 22929486.4024 -10228115.16149 -7950688.38846 22929485.7094 22929491.6264
+ -3153.9904 -2457.6514
+ 24107599.8254 -999149.70849 -756375.26845 24107600.5324 24107606.7084
+ -3403.5564 -2652.1024
+ 21018914.3194 -19080438.72849 -14845823.79848 21018913.1814 21018917.5624
+ -1815.7284 -1414.8484
+ 22059957.2634 -12937919.05749 -10058835.55847 22059956.6794 22059961.8844
+ 2749.9644 2142.8274
+ 20431859.5164 -25267041.88049 -19677239.76448 20431859.2814 20431864.5264
+ 887.8754 691.8554
+ 20960744.3964 -19378343.64049 -15088812.15948 20960743.9014 20960749.3354
+ 2135.1754 1663.7744
+ 24674991.4004 -238171.71448 -170652.62844 24674989.8744 24674997.8124
+ -2230.1244 -1737.7594
+ 05 1 20 14 25 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23835712.7744 -9265908.50549 -7204604.69546 23835711.1614 23835718.0254
+ 2493.6794 1943.1214
+ 22947504.8164 -10133428.95249 -7876906.98546 22947503.4084 22947510.0854
+ -3158.3554 -2461.0404
+ 24127036.0374 -897026.31049 -676798.66145 24127034.1634 24127039.7864
+ -3404.7224 -2653.0284
+ 21029314.0544 -19025785.01349 -14803236.50448 21029313.3684 21029317.0754
+ -1827.8254 -1424.2784
+ 22044288.3494 -13020257.71349 -10122995.52747 22044288.2384 22044293.5864
+ 2739.2754 2134.4964
+ 20426837.4304 -25293431.82949 -19697803.36848 20426837.0824 20426842.7964
+ 871.4164 679.0294
+ 20948596.3064 -19442181.73749 -15138556.12748 20948595.6994 20948601.3264
+ 2120.6664 1652.4674
+ 24687763.9104 -171045.94249 -118347.00044 24687765.3194 24687770.0914
+ -2244.8814 -1749.2624
+ 05 1 20 14 26 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23821480.1434 -9340704.03349 -7262886.91346 23821479.0974 23821484.7354
+ 2492.6754 1942.3444
+ 22965546.7094 -10038613.78049 -7803025.09646 22965547.3604 22965552.5644
+ -3162.6364 -2464.3894
+ 24146473.3254 -794869.63549 -597196.17345 24146473.8444 24146479.5854
+ -3405.7384 -2653.8074
+ 21039783.2144 -18970769.74449 -14760367.47848 21039782.3104 21039786.6224
+ -1839.8454 -1433.6434
+ 22028681.4934 -13102275.03349 -10186905.10747 22028681.3704 22028686.0644
+ 2728.5374 2126.1264
+ 20421909.6754 -25319327.45749 -19717981.79148 20421909.4784 20421915.1124
+ 854.9254 666.1754
+ 20936531.1904 -19505583.94949 -15187960.45148 20936530.7864 20936536.1144
+ 2106.1264 1641.1384
+ 24700618.3114 -103481.46748 -65699.52644 24700618.2464 24700629.2014
+ -2259.5414 -1760.6764
+ 05 1 20 14 26 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23807250.6464 -9415469.84349 -7321145.98146 23807251.1924 23807256.8864
+ 2491.6904 1941.5814
+ 22983612.9424 -9943671.63349 -7729044.26046 22983613.3024 22983618.8054
+ -3166.8644 -2467.6774
+ 24165919.1984 -692682.68749 -517570.07345 24165919.6154 24165926.8864
+ -3406.6994 -2654.5654
+ 21050320.9084 -18915394.84149 -14717218.21848 21050320.0344 21050323.8394
+ -1851.8004 -1442.9614
+ 22013136.6744 -13183968.06449 -10250562.00447 22013135.3434 22013140.2314
+ 2717.6684 2117.6644
+ 20417076.2744 -25344727.28449 -19737773.87048 20417075.9064 20417081.6014
+ 838.3594 653.2674
+ 20924549.7004 -19568547.99349 -15237023.34148 20924549.0084 20924554.6734
+ 2091.4874 1629.7304
+ 24713557.9964 -35480.54058 -12711.83854 24713561.5984 24713564.0144
+ -2273.9234 -1771.8894
+ 05 1 20 14 27 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23793028.9084 -9490205.70049 -7379381.70446 23793028.4794 23793036.4554
+ 2490.6904 1940.7904
+ 23001704.6544 -9848604.53249 -7654966.04746 23001703.8354 23001709.4594
+ -3170.9944 -2470.9074
+ 24185366.8414 -590468.57749 -437922.82445 24185369.7874 24185377.2184
+ -3407.5664 -2655.2404
+ 21060926.1764 -18859662.50149 -14673790.43548 21060925.2334 21060929.6164
+ -1863.6734 -1452.2134
+ 21997651.1494 -13265334.26649 -10313964.20247 21997651.1634 21997657.0344
+ 2706.7184 2109.1274
+ 20412337.8084 -25369629.82849 -19757178.46648 20412337.0554 20412342.7084
+ 821.7984 640.3624
+ 20912651.8384 -19631071.19849 -15285742.72348 20912651.0304 20912656.9654
+ 2076.7434 1618.2424
+ 24726586.5654 32954.78648 40614.37044
+ -2288.4134 -1783.1664
+ 05 1 20 14 27 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23778812.6144 -9564911.56149 -7437594.07046 23778812.5314 23778818.6094
+ 2489.6624 1940.0024
+ 23019818.4414 -9753414.69049 -7580792.20646 23019817.8944 23019824.4654
+ -3175.0184 -2474.0424
+ 24204825.0794 -488230.02449 -358256.53945 24204825.6334 24204833.0504
+ -3408.3044 -2655.8194
+ 21071599.9364 -18803574.81549 -14630085.76548 21071599.0494 21071602.3724
+ -1875.4934 -1461.4254
+ 21982230.2514 -13346370.62649 -10377109.38947 21982230.5534 21982235.9404
+ 2695.6614 2100.5124
+ 20407693.5794 -25394033.40749 -19776194.25248 20407693.2834 20407698.9514
+ 805.0884 627.3404
+ 20900837.3624 -19693151.02749 -15334116.61148 20900837.1044 20900843.9854
+ 2061.9064 1606.6774
+ 24739689.1114 101822.51448 94277.58344
+ -2302.7854 -1794.3934
+ 05 1 20 14 28 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23764603.4764 -9639587.17049 -7495782.83646 23764603.4124 23764608.6514
+ 2488.6764 1939.2334
+ 23037956.2924 -9658103.95949 -7506524.16646 23037954.6854 23037961.4134
+ -3179.0544 -2477.1974
+ 24224284.1624 -385970.23349 -278573.72145 24224285.8894 24224292.4504
+ -3408.9274 -2656.2934
+ 21082339.4684 -18747133.77049 -14586105.74148 21082338.8754 21082342.7614
+ -1887.2074 -1470.5514
+ 21966873.8664 -13427074.66649 -10439995.63647 21966873.3014 21966878.0554
+ 2684.5474 2091.8624
+ 20403144.8934 -25417936.39549 -19794819.96948 20403144.7974 20403150.4704
+ 788.3884 614.3304
+ 20889109.0084 -19754784.87349 -15382142.98548 20889109.0564 20889115.5244
+ 2047.0084 1595.0714
+ 24752877.9494 171120.59049 148276.17144
+ -2317.0924 -1805.5264
+ 05 1 20 14 28 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23750399.6194 -9714232.11249 -7553947.73546 23750399.0634 23750403.4834
+ 2487.6494 1938.4254
+ 23056114.3894 -9562674.39649 -7432163.53846 23056114.5084 23056121.5864
+ -3182.9424 -2480.2134
+ 24243749.1684 -283692.28049 -198876.72745 24243748.7874 24243754.8094
+ -3409.5314 -2656.7664
+ 21093147.0424 -18690341.67149 -14541852.16748 21093146.0804 21093150.1304
+ -1898.8994 -1479.6604
+ 21951579.5754 -13507443.29949 -10502620.53247 21951579.6404 21951585.1634
+ 2673.3554 2083.1354
+ 20398692.3524 -25441337.29049 -19813054.44348 20398691.7994 20398697.4064
+ 771.6284 601.2704
+ 20877466.6554 -19815970.13449 -15429819.82348 20877466.2044 20877472.2804
+ 2032.0054 1583.3814
+ 24766142.9204 240846.77548 49391.26343
+ -2331.4044 -1818.0504
+ 05 1 20 14 29 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23736199.5274 -9788846.07849 -7612088.47146 23736200.1944 23736205.1364
+ 2486.6104 1937.6104
+ 23074296.8574 -9467127.95549 -7357711.83546 23074296.5414 23074303.2284
+ -3186.7874 -2483.2084
+ 24263213.9494 -181399.26249 -119167.97545 24263214.4554 24263219.4354
+ -3409.9684 -2657.1244
+ 21104020.8344 -18633200.64549 -14497326.70048 21104019.8434 21104023.4594
+ -1910.5064 -1488.7084
+ 21936351.3974 -13587474.15549 -10564982.20847 21936351.0034 21936355.4024
+ 2662.0364 2074.3084
+ 20394335.2524 -25464234.49749 -19830896.43248 20394334.5934 20394340.0584
+ 754.8174 588.1694
+ 20865909.6974 -19876704.45949 -15477145.27048 20865909.0504 20865914.8594
+ 2016.9324 1571.6304
+ 24779494.1664 310998.72448 104095.53244
+ -2345.5694 -1829.0554
+ 05 1 20 14 29 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23722008.0214 -9863429.13449 -7670205.12546 23722007.3614 23722012.1254
+ 2485.5624 1936.7944
+ 23092500.0974 -9371466.51649 -7283170.52846 23092501.8574 23092506.5634
+ -3190.5974 -2486.1854
+ 24282683.5354 -79094.01249 -39449.71245 24282683.1264 24282690.6284
+ -3410.3644 -2657.4204
+ 21114960.7054 -18575712.64749 -14452530.87548 21114959.5124 21114963.2714
+ -1922.0174 -1497.6784
+ 21921185.7044 -13667164.26949 -10627078.38247 21921185.8314 21921189.9944
+ 2650.6394 2065.4344
+ 20390073.6494 -25486626.64849 -19848344.87148 20390073.4544 20390079.2434
+ 737.9344 575.0124
+ 20854438.3384 -19936985.00149 -15524117.13048 20854437.8684 20854443.2674
+ 2001.7484 1559.8024
+ 24792925.6594 381574.21848 159129.92944
+ -2359.5474 -1839.9594
+ 05 1 20 14 30 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23707820.5324 -9937980.91449 -7728297.41346 23707820.3734 23707825.9464
+ 2484.5084 1935.9794
+ 23110725.4654 -9275692.06549 -7208541.13146 23110725.4174 23110731.6384
+ -3194.3144 -2489.0784
+ 24302154.4034 23220.43649 40275.70145 24302153.2344 24302159.7684
+ -3410.5604 -2657.5874
+ 21125965.5434 -18517880.00949 -14407466.49648 21125964.6754 21125968.1024
+ -1933.4764 -1506.6014
+ 21906086.5914 -13746510.87549 -10688906.88747 21906086.5334 21906091.2074
+ 2639.1164 2056.4504
+ 20385908.9514 -25508512.06149 -19865398.44448 20385908.8184 20385914.5254
+ 721.0394 561.8554
+ 20843053.9004 -19996809.24749 -15570733.42148 20843053.6224 20843059.5634
+ 1986.5234 1547.9424
+ 24806433.3374 452571.26758 45688.25653
+ -2373.7554 -1849.6794
+ 05 1 20 14 30 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23693639.0074 -10012501.15849 -7786365.12546 23693639.7594 23693645.2374
+ 2483.4964 1935.1944
+ 23128974.0864 -9179806.57349 -7133825.22646 23128971.8314 23128977.7034
+ -3197.9854 -2491.9254
+ 24321625.3664 125540.86049 120005.80845 24321624.6624 24321628.4904
+ -3410.7854 -2657.7544
+ 21137035.7644 -18459704.70149 -14362135.10348 21137034.9094 21137039.0014
+ -1944.8714 -1515.4794
+ 21891053.6954 -13825511.14849 -10750465.50747 21891053.8324 21891058.1584
+ 2627.5504 2047.4454
+ 20381841.2004 -25529889.37049 -19882056.09548 20381840.9474 20381846.4054
+ 704.0704 548.6264
+ 20831757.5584 -20056175.01149 -15616992.46848 20831757.2014 20831762.5734
+ 1971.2084 1536.0104
+ 24820026.3704 523985.67258 101327.02654
+ -2387.3884 -1860.0014
+ 05 1 20 14 31 0.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23679465.4744 -10086989.59449 -7844408.04646 23679464.4804 23679470.1854
+ 2482.4534 1934.3894
+ 23147240.3794 -9083812.25949 -7059024.49446 23147239.1924 23147244.9274
+ -3201.6064 -2494.7544
+ 24341095.1264 227864.60949 199738.46945 24341095.2744 24341100.4704
+ -3410.8194 -2657.7714
+ 21148171.3504 -18401188.76049 -14316538.28448 21148170.3684 21148174.0254
+ -1956.1644 -1524.2834
+ 21876087.3764 -13904162.77249 -10811752.47547 21876087.0014 21876091.2144
+ 2615.9004 2038.3684
+ 20377870.4674 -25550757.07449 -19898316.65048 20377869.8854 20377875.5814
+ 687.1004 535.4074
+ 20820548.0674 -20115080.15549 -15662892.58348 20820547.3644 20820553.2794
+ 1955.7994 1524.0014
+ 24833695.4724 595818.78148 157291.91444
+ -2401.1314 -1870.6984
+ 05 1 20 14 31 30.0000000 0 8G28G 3G13G19G11G27G 8G15
+ 23665296.5614 -10161446.08649 -7902426.07146 23665295.3904 23665301.4224
+ 2481.3324 1933.5044
+ 23165527.7524 -8987710.59549 -6984140.14546 23165527.3434 23165533.1934
+ -3205.1414 -2497.5274
+ 24360566.8494 330188.35949 279471.16945 24360566.1174 24360572.9184
+ -3410.7694 -2657.7404
+ 21159371.2994 -18342334.29349 -14270677.67948 21159370.0784 21159373.8554
+ -1967.4444 -1533.0714
+ 21861186.2574 -13982462.70349 -10872765.39247 21861186.8054 21861190.6974
+ 2604.1004 2029.1694
+ 20373996.5044 -25571113.67049 -19914178.94248 20373996.1324 20374001.6974
+ 670.0034 522.0804
+ 20809427.0434 -20173521.47949 -15708431.27848 20809426.3664 20809432.2474
+ 1940.3034 1511.9254
+ 24847442.7134 668066.56158 42717.67353
+ -2415.1904 -1881.9664
+ 05 1 20 14 32 0.0000000 0 7G28G 3G13G19G11G27G 8
+ 23651135.1034 -10235870.26749 -7960418.94346 23651133.9314 23651139.0404
+ 2480.2504 1932.6554
+ 23183834.4714 -8891503.88249 -6909173.93246 23183833.8734 23183841.0374
+ -3208.6404 -2500.2474
+ 24380037.3804 432509.31049 359201.63845 24380038.0274 24380044.3494
+ -3410.5574 -2657.5684
+ 21170634.0704 -18283143.48949 -14224554.99648 21170633.5154 21170637.2434
+ -1978.6174 -1541.7824
+ 21846353.8174 -14060408.37549 -10933502.25547 21846353.9774 21846358.7264
+ 2592.2684 2019.9514
+ 20370220.5824 -25590957.86649 -19929641.96148 20370220.1854 20370225.4834
+ 652.8904 508.7444
+ 20798393.8094 -20231496.88149 -15753606.92048 20798393.6804 20798399.9994
+ 1924.7234 1499.7814
+ 05 1 20 14 32 30.0000000 0 7G28G 3G13G19G11G27G 8
+ 23636976.8624 -10310261.95249 -8018386.48246 23636977.4824 23636981.9094
+ 2479.1604 1931.8104
+ 23202162.3174 -8795193.76249 -6834127.14746 23202160.6624 23202166.2754
+ -3212.0574 -2502.8984
+ 24399506.8334 534824.53449 438927.68245 24399505.7404 24399515.5764
+ -3410.3244 -2657.3884
+ 21181962.1304 -18223618.73249 -14178172.08448 21181960.7154 21181964.9944
+ -1989.7104 -1550.4264
+ 21831590.4664 -14137997.16049 -10993961.02447 21831589.4954 21831594.0404
+ 2580.3114 2010.6354
+ 20366542.0474 -25610288.17449 -19944704.55248 20366541.5874 20366547.0574
+ 635.7284 495.3734
+ 20787451.5024 -20289003.72649 -15798417.46448 20787450.8654 20787456.7864
+ 1909.0604 1487.5784
+ 05 1 20 14 33 0.0000000 0 7G28G 3G13G19G11G27G 8
+ 23622828.8714 -10384620.95549 -8076328.52746 23622827.5614 23622833.0474
+ 2478.0694 1930.9634
+ 23220508.1204 -8698782.17749 -6759001.27146 23220508.4224 23220513.6534
+ -3215.3824 -2505.4814
+ 24418975.1834 637131.09549 518646.97145 24418974.4534 24418983.1594
+ -3410.0954 -2657.2134
+ 21193351.4564 -18163761.96049 -14131530.47148 21193351.1854 21193355.3374
+ -2000.7264 -1559.0094
+ 21816893.3514 -14215226.39149 -11054139.62547 21816893.4044 21816898.0744
+ 2568.2794 2001.2544
+ 20362961.7814 -25629103.09149 -19959365.52648 20362961.1954 20362966.9054
+ 618.5474 481.9844
+ 20776598.4614 -20346039.39149 -15842860.83648 20776597.4824 20776603.3594
+ 1893.3224 1475.3174
+ 05 1 20 14 33 30.0000000 0 7G28G 3G13G19G11G27G 8
+ 23608683.8244 -10458946.75349 -8134244.72846 23608683.7634 23608689.4894
+ 2476.9784 1930.1144
+ 23238873.5994 -8602271.16649 -6683797.93346 23238873.0124 23238881.2594
+ -3218.6544 -2508.0294
+ 24438442.3284 739425.58249 598356.83245 24438443.2344 24438449.1734
+ -3409.6184 -2656.8494
+ 21204805.3274 -18103575.18549 -14084631.70648 21204804.3804 21204808.0784
+ -2011.7104 -1567.5724
+ 21802266.2264 -14292093.15549 -11114035.78447 21802265.9794 21802270.4034
+ 2556.1564 1991.8094
+ 20359479.4594 -25647401.24649 -19973623.84148 20359479.1224 20359484.6814
+ 601.3114 468.5524
+ 20765834.9234 -20402601.52849 -15886935.23448 20765834.2804 20765840.0904
+ 1877.4874 1462.9744
+ 05 1 20 14 34 0.0000000 0 7G28G 3G13G19G11G27G 8
+ 23594547.0684 -10533239.19149 -8192134.92046 23594546.6524 23594552.3704
+ 2475.8384 1929.2114
+ 23257256.3994 -8505662.53449 -6608518.53246 23257256.5564 23257264.4084
+ -3221.9304 -2510.5904
+ 24457905.2834 841705.43449 678055.25445 24457905.7034 24457913.1324
+ -3409.0784 -2656.4314
+ 21216320.5534 -18043060.81549 -14037477.67348 21216320.0574 21216323.9464
+ -2022.6044 -1576.0544
+ 21787708.3484 -14368594.98149 -11173647.57247 21787708.4904 21787713.2654
+ 2543.9424 1982.2964
+ 20356096.1564 -25665181.37049 -19987478.48548 20356095.7004 20356101.6154
+ 583.9904 455.0574
+ 20755161.6144 -20458687.91049 -15930638.91448 20755161.1594 20755167.2714
+ 1861.5894 1450.5894
+ 05 1 20 14 34 30.0000000 0 7G28G 3G13G19G11G27G 8
+ 23580415.9214 -10607498.13949 -8249999.01746 23580414.7594 23580421.2294
+ 2474.7514 1928.3874
+ 23275660.7714 -8408958.07749 -6533164.47046 23275660.1344 23275667.1344
+ -3225.0804 -2513.0414
+ 24477365.7954 943967.74249 757740.03345 24477364.9174 24477373.5674
+ -3408.3924 -2655.8874
+ 21227898.2764 -17982220.72549 -13990069.83648 21227897.0274 21227901.3264
+ -2033.3904 -1584.4594
+ 21773220.1334 -14444729.12749 -11232972.86347 21773219.8664 21773224.4374
+ 2531.6514 1972.7144
+ 20352811.2614 -25682442.13349 -20000928.44348 20352810.9344 20352816.9234
+ 566.6914 441.5784
+ 20744579.8524 -20514295.90149 -15973969.82248 20744579.0804 20744585.2194
+ 1845.6184 1438.1464
+ 05 1 20 14 35 0.0000000 0 7G28G 3G13G19G11G27G 8
+ 23566291.2684 -10681723.13649 -8307836.67346 23566290.7654 23566296.2544
+ 2473.6164 1927.4904
+ 23294079.5394 -8312159.64849 -6457737.18346 23294079.4974 23294086.6284
+ -3228.1644 -2515.4544
+ 24496821.4604 1046209.38849 837408.66745 24496823.2424 24496827.9004
+ -3407.6424 -2655.3004
+ 21239537.0444 -17921057.21949 -13942409.98148 21239536.3864 21239540.2194
+ -2044.1314 -1592.8324
+ 21758803.2204 -14520492.99849 -11292009.63347 21758803.0164 21758807.5694
+ 2519.2584 1963.0644
+ 20349625.9274 -25699182.20349 -20013972.65848 20349625.7014 20349631.2224
+ 549.3474 428.0634
+ 20734089.0134 -20569423.31849 -16016926.25048 20734088.7164 20734094.9884
+ 1829.5564 1425.6284
+ 05 1 20 14 35 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ -352311.43641 -27065.078 3 25340974.092
+ 3080.3524 2400.537
+ 23552172.9204 -10755913.98049 -8365647.70546 23552171.9354 23552177.7824
+ 2472.4564 1926.5814
+ 23312518.2094 -8215269.43349 -6382238.39446 23312516.7834 23312523.8234
+ -3231.2114 -2517.8314
+ 24516274.3694 1148427.54849 917059.08245 24516272.8324 24516279.2154
+ -3406.8444 -2654.6844
+ 21251236.7614 -17859572.30549 -13894499.68748 21251236.3824 21251240.3674
+ -2054.8294 -1601.1704
+ 21744457.0264 -14595883.97549 -11350755.83247 21744456.4064 21744461.0694
+ 2506.7924 1953.3424
+ 20346539.5954 -25715400.21649 -20026610.08348 20346539.2634 20346545.1164
+ 531.8594 414.4374
+ 20723690.3434 -20624067.74749 -16059506.33248 20723690.0214 20723696.2524
+ 1813.4244 1413.0594
+ 05 1 20 14 36 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ -444664.00041 -95433.143 4 25324178.714
+ 3076.6284 2398.037
+ 23538061.2484 -10830070.32249 -8423431.84846 23538061.2204 23538066.7654
+ 2471.2884 1925.6854
+ 23330971.3504 -8118289.17649 -6306669.42746 23330971.3594 23330979.8434
+ -3234.1504 -2520.1224
+ 24535717.9594 1250619.43249 996688.97345 24535719.0024 24535725.9604
+ -3405.9384 -2653.9704
+ 21262998.9544 -17797768.17249 -13846340.63948 21262997.4904 21263001.8104
+ -2065.4604 -1609.4464
+ 21730181.5544 -14670899.50549 -11409209.45947 21730180.9844 21730186.2404
+ 2494.2054 1943.5294
+ 20343553.1334 -25731094.76149 -20038839.60748 20343553.0324 20343558.4604
+ 514.3824 400.8164
+ 20713385.1054 -20678226.43949 -16101707.91248 20713383.9684 20713390.2224
+ 1797.1594 1400.3834
+ 05 1 20 14 36 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ -536904.06741 -95433.143 4 25324178.714
+ 3072.8104 2398.037
+ 23523955.0314 -10904191.86949 -8481188.89746 23523956.6334 23523961.4774
+ 2470.1244 1924.7694
+ 23349444.1614 -8021220.70149 -6231031.70946 23349443.8594 23349450.5034
+ -3237.0944 -2522.4094
+ 24555160.8194 1352781.88849 1076295.88745 24555161.8484 24555167.4724
+ -3404.9044 -2653.1714
+ 21274819.5184 -17735646.96049 -13797934.52848 21274818.6884 21274823.1204
+ -2075.9734 -1617.6434
+ 21715978.4264 -14745536.74549 -11467368.32947 21715978.1634 21715983.3294
+ 2481.5814 1933.7034
+ 20340666.5034 -25746264.80149 -20050660.42848 20340666.1854 20340671.9084
+ 496.9104 387.2034
+ 20703171.7154 -20731897.34449 -16143529.40048 20703171.0704 20703177.0814
+ 1780.8944 1387.7114
+ 05 1 20 14 37 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ -35970.67751
+ 3069.0504
+ 23509859.1184 -10978278.21149 -8538918.52946 23509858.7624 23509863.7464
+ 2468.9264 1923.8524
+ 23367931.5554 -7924065.70349 -6155326.56046 23367931.9984 23367939.0274
+ -3239.9454 -2524.6234
+ 24574596.6344 1454911.96949 1155877.58645 24574595.8704 24574602.2584
+ -3403.7394 -2652.2574
+ 21286700.7504 -17673210.83949 -13749283.03348 21286699.8164 21286704.5164
+ -2086.4294 -1625.7874
+ 21701847.6014 -14819793.32149 -11525230.58247 21701847.2474 21701852.5104
+ 2468.8214 1923.7574
+ 20337879.4914 -25760908.75649 -20062071.31648 20337879.4174 20337885.0744
+ 479.3674 373.5344
+ 20693051.3574 -20785078.37549 -16184969.16648 20693050.8834 20693056.9154
+ 1764.5074 1374.9444
+ 05 1 20 14 37 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ -127982.72141
+ 3065.2494
+ 23495765.6464 -11052329.17749 -8596620.53346 23495766.0784 23495773.3064
+ 2467.7654 1922.9294
+ 23386436.5364 -7826825.98849 -6079555.43546 23386435.4454 23386442.6764
+ -3242.7384 -2526.8174
+ 24594027.5974 1557006.97849 1235431.96745 24594025.2134 24594030.2894
+ -3402.5194 -2651.3134
+ 21298642.1674 -17610461.80649 -13700387.70848 21298640.8774 21298645.1784
+ -2096.8384 -1633.9014
+ 21687789.7274 -14893666.54449 -11582794.12547 21687789.7784 21687794.9894
+ 2456.0114 1913.7704
+ 20335193.5794 -25775025.62749 -20073071.49148 20335193.0724 20335198.7894
+ 461.7314 359.7934
+ 20683025.4514 -20837766.37249 -16226024.74448 20683024.8314 20683030.8194
+ 1748.0114 1362.0894
+ 05 1 20 14 38 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ -219879.34341
+ 3061.3664
+ 23481683.6584 -11126344.42049 -8654294.75546 23481682.4104 23481687.0224
+ 2466.5784 1922.0164
+ 23404957.1184 -7729503.48249 -6003719.78346 23404956.1554 23404962.2264
+ -3245.4184 -2528.8924
+ 24613443.5104 1659063.73549 1314956.54945 24613445.7054 24613450.7114
+ -3401.2254 -2650.2864
+ 21310641.6434 -17547401.98549 -13651250.21948 21310640.7064 21310644.3884
+ -2107.1604 -1641.9394
+ 21673806.4424 -14967153.75549 -11640056.85747 21673806.1254 21673810.5154
+ 2443.0764 1903.6954
+ 20332607.5604 -25788614.12949 -20083659.94048 20332607.1224 20332612.9304
+ 444.1114 346.0614
+ 20673093.9654 -20889958.96449 -16266694.30148 20673092.9794 20673098.8624
+ 1731.4934 1349.2174
+ 05 1 20 14 38 30.0000000 0 7G28G 3G13G19G11G27G 8
+ 23467605.5874 -11200323.53649 -8711940.80746 23467604.0034 23467609.9084
+ 2465.3884 1921.0904
+ 23423491.7424 -7632099.98249 -5927821.01046 23423490.8804 23423497.5634
+ -3248.1304 -2531.0164
+ 24632855.9084 1761079.62149 1394449.27945 24632856.5144 24632862.9484
+ -3399.8204 -2649.2154
+ 21322700.0064 -17484033.74149 -13601872.38548 21322699.6694 21322703.1474
+ -2117.3844 -1649.9074
+ 21659895.9254 -15040252.41749 -11697016.83747 21659895.9134 21659900.4464
+ 2430.0944 1893.5774
+ 20330122.3784 -25801673.05549 -20093835.74348 20330122.2804 20330128.1284
+ 426.4664 332.3114
+ 20663256.3774 -20941654.42049 -16306976.47648 20663255.9264 20663261.6284
+ 1714.8624 1336.2574
+ 05 1 20 14 39 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ -96870.43441
+ 3053.5704
+ 23453535.1584 -11274266.30649 -8769558.54746 23453533.8884 23453538.2924
+ 2464.1604 1920.1354
+ 23442042.8044 -7534617.31749 -5851860.54646 23442041.5934 23442047.9114
+ -3250.7244 -2533.0264
+ 24652264.4654 1863051.83349 1473908.01945 24652261.6954 24652268.2954
+ -3398.3124 -2648.0254
+ 21334816.5484 -17420359.04549 -13552255.76148 21334815.9644 21334820.3074
+ -2127.5564 -1657.8364
+ 21646060.3234 -15112959.98649 -11753672.06147 21646059.8194 21646064.8314
+ 2417.0534 1883.4154
+ 20327738.7004 -25814201.20549 -20103597.94948 20327738.3564 20327743.7214
+ 408.7244 318.4844
+ 20653513.4994 -20992850.10949 -16346869.21548 20653513.2354 20653519.1544
+ 1698.1914 1323.2644
+ 05 1 20 14 39 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ -188414.78741
+ 3049.5424
+ 23439470.1724 -11348172.23649 -8827147.56146 23439469.4214 23439474.4104
+ 2462.9304 1919.1664
+ 23460607.2454 -7437057.23249 -5775839.76146 23460606.1044 23460614.2404
+ -3253.2284 -2534.9954
+ 24671657.1184 1964977.30949 1553330.34545 24671657.1694 24671667.7654
+ -3396.7024 -2646.7674
+ 21346992.2964 -17356380.23749 -13502402.16648 21346990.7324 21346994.9364
+ -2137.6734 -1665.7204
+ 21632300.0364 -15185274.00049 -11810020.63347 21632299.2674 21632303.7114
+ 2403.8804 1873.1554
+ 20325455.6564 -25826197.47849 -20112945.70448 20325455.3254 20325460.9494
+ 390.9764 304.6564
+ 20643867.2144 -21043543.98749 -16386370.94648 20643866.5574 20643872.4944
+ 1681.4084 1310.1894
+ 05 1 20 14 40 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ -279839.84541 -111301.881 5 25205806.947
+ 3045.5984 2376.757
+ 23425414.2694 -11422041.03449 -8884707.65146 23425412.6814 23425418.9874
+ 2461.6804 1918.1924
+ 23479186.9164 -7339421.62949 -5699760.11546 23479186.2134 23479193.4424
+ -3255.7714 -2536.9604
+ 24691043.8644 2066853.21849 1632714.03245 24691043.4584 24691052.6734
+ -3394.9484 -2645.4064
+ 21359224.2734 -17292099.27649 -13452313.13548 21359222.9804 21359227.0224
+ -2147.7164 -1673.5464
+ 21618613.3504 -15257192.00349 -11866060.61247 21618613.6744 21618618.1594
+ 2390.6264 1862.8274
+ 20323274.4814 -25837660.67849 -20121878.07748 20323274.0754 20323279.6914
+ 373.1854 290.7934
+ 20634316.6874 -21093733.60549 -16425479.74648 20634315.8524 20634321.8784
+ 1664.5554 1297.0524
+ 05 1 20 14 40 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 25165511.4164 -64260.60249 -5387.35543
+ 3041.5674 2369.9954
+ 23411364.1114 -11495872.54349 -8942238.68646 23411363.0154 23411368.2174
+ 2460.4404 1917.2114
+ 23497777.3764 -7241712.24849 -5623622.97946 23497777.9564 23497786.7154
+ -3258.2174 -2538.8644
+ 24710419.1024 2168676.81749 1712056.97645 24710421.6664 24710430.3864
+ -3393.2014 -2644.0414
+ 21371513.2754 -17227518.45349 -13401990.43448 21371512.2164 21371516.6614
+ -2157.6664 -1681.2964
+ 21605004.0194 -15328711.25449 -11921789.87547 21605003.7664 21605008.4434
+ 2377.3124 1852.4554
+ 20321194.4294 -25848589.60249 -20130394.13348 20321194.3884 20321199.8884
+ 355.3714 276.9164
+ 20624862.2884 -21143416.47949 -16464193.67848 20624861.6474 20624867.3914
+ 1647.6324 1283.8704
+ 05 1 20 14 41 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 25148160.0934 -155443.96949 -76439.35845
+ 3037.4994 2366.8914
+ 23397320.3824 -11569666.24849 -8999740.25846 23397321.1494 23397325.9334
+ 2459.1694 1916.2374
+ 23516386.8474 -7143930.63149 -5547429.56746 23516386.5394 23516394.3684
+ -3260.5514 -2540.6904
+ 24729788.6634 2270445.06149 1791356.79345 24729786.3824 24729794.5844
+ -3391.2954 -2642.5674
+ 21383859.4024 -17162639.61649 -13351435.51648 21383858.5324 21383862.5084
+ -2167.5334 -1688.9914
+ 21591469.9294 -15399829.28049 -11977206.49047 21591469.9514 21591475.1834
+ 2363.8864 1841.9884
+ 20319217.4554 -25858983.29349 -20138493.12248 20319216.6674 20319222.3434
+ 337.5134 262.9974
+ 20615503.8814 -21192590.25549 -16502510.90648 20615503.9914 20615510.0524
+ 1630.6324 1270.6244
+ 05 1 20 14 41 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 25130834.4064 -246505.09949 -147395.97945
+ 3033.4204 2363.6964
+ 23383285.4504 -11643421.86949 -9057212.17846 23383285.0324 23383289.9464
+ 2457.8304 1915.1864
+ 23535007.8574 -7046078.64949 -5471181.33546 23535008.4164 23535015.0074
+ -3262.8864 -2542.5074
+ 24749139.1514 2372155.09449 1870611.24245 24749141.2974 24749148.8434
+ -3389.3194 -2641.0234
+ 21396262.4324 -17097465.10749 -13300650.20948 21396261.1134 21396265.1534
+ -2177.3874 -1696.6654
+ 21578015.2634 -15470543.53149 -12032308.49147 21578014.3274 21578018.9344
+ 2350.3804 1831.4694
+ 20317340.8444 -25868840.53349 -20146174.11048 20317340.9104 20317346.5784
+ 319.6354 249.0694
+ 20606244.6304 -21241252.75649 -16540429.74348 20606243.7234 20606249.7834
+ 1613.5544 1257.3184
+ 05 1 20 14 42 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 25113529.2124 -337443.01749 -218256.54445 25113535.0814
+ 3029.3164 2360.4994
+ 23369258.6184 -11717139.08849 -9114654.16046 23369257.5614 23369263.1774
+ 2456.6324 1914.2584
+ 23553641.7514 -6948158.24449 -5394879.78746 23553641.7364 23553648.9034
+ -3265.1644 -2544.2794
+ 24768483.2914 2473804.13849 1949818.17045 24768485.5664 24768492.4224
+ -3387.2034 -2639.3704
+ 21408719.5124 -17031996.98049 -13249636.10548 21408718.7594 21408723.3384
+ -2187.1284 -1704.2554
+ 21564635.0824 -15540851.56349 -12087093.95347 21564634.9274 21564639.2304
+ 2336.8024 1820.8834
+ 20315567.5164 -25878160.26549 -20153436.24748 20315567.1284 20315572.9774
+ 301.6914 235.0834
+ 20597082.4174 -21289401.94849 -16577948.59548 20597081.6154 20597087.4214
+ 1596.4174 1243.9624
+ 05 1 20 14 42 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 25096243.4144 -428256.73149 -289020.38645 25096242.0304 25096251.4904
+ 3025.0524 2357.1804
+ 23355238.3874 -11790817.34549 -9172065.78046 23355236.8854 23355242.9834
+ 2455.2984 1913.2214
+ 23572288.2554 -6850171.04049 -5318526.18946 23572288.0694 23572294.3094
+ -3267.3154 -2545.9624
+ 24787817.6304 2575389.35149 2028975.36645 24787817.1154 24787824.0504
+ -3385.1254 -2637.7584
+ 21421233.5624 -16966237.47649 -13198394.95148 21421232.6564 21421236.9404
+ -2196.8114 -1711.7964
+ 21551333.5234 -15610750.79049 -12141560.87347 21551333.5934 21551338.3124
+ 2323.1204 1810.2234
+ 20313896.7364 -25886941.58849 -20160278.85348 20313896.3844 20313901.9164
+ 283.7384 221.0984
+ 20588017.3944 -21337035.53049 -16615065.67948 20588017.4894 20588022.8934
+ 1579.1784 1230.5344
+ 05 1 20 14 43 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 25078986.0634 -518945.37849 -359686.75745 25078983.9314 25078994.0284
+ 3020.8324 2353.8924
+ 23341224.9704 -11864456.60149 -9229447.02946 23341224.6754 23341229.6244
+ 2453.9844 1912.1884
+ 23590946.0374 -6752118.81449 -5242121.91546 23590947.1644 23590954.4634
+ -3269.4884 -2547.6464
+ 24807134.4394 2676907.77849 2108080.45645 24807133.9104 24807141.4904
+ -3382.8024 -2635.9554
+ 21433802.4074 -16900188.49149 -13146928.23848 21433801.6174 21433805.9924
+ -2206.4404 -1719.3044
+ 21538109.9924 -15680238.84549 -12195707.39947 21538109.8184 21538114.9984
+ 2309.3904 1799.5294
+ 20312328.5764 -25895183.32849 -20166701.00148 20312327.9794 20312333.7434
+ 265.7234 207.0574
+ 20579051.8204 -21384151.22449 -16651779.21548 20579051.2034 20579057.1634
+ 1561.8714 1217.0424
+ 05 1 20 14 43 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 25061750.3184 -609508.01049 -430254.90645 25061751.7434 25061761.2294
+ 3016.6354 2350.6204
+ 23327219.6244 -11938055.98249 -9286797.18546 23327219.6314 23327225.1524
+ 2452.6544 1911.1624
+ 23609617.6734 -6654003.21549 -5165668.30246 23609616.2904 23609625.1974
+ -3271.5534 -2549.2504
+ 24826441.2844 2778356.97849 2187131.67945 24826440.3384 24826447.2984
+ -3380.4684 -2634.1204
+ 21446425.8704 -16833852.28949 -13095237.71748 21446424.9864 21446429.1404
+ -2215.9754 -1726.7304
+ 21524965.7944 -15749313.35149 -12249531.67647 21524965.3924 21524969.9994
+ 2295.5534 1788.7414
+ 20310862.6374 -25902884.47649 -20172701.91148 20310862.4324 20310867.9774
+ 247.6694 192.9874
+ 20570184.7254 -21430746.78249 -16688087.45248 20570184.1794 20570190.2214
+ 1544.4884 1203.4964
+ 05 1 20 14 44 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 25044538.9434 -699943.65149 -500724.08645 25044541.2684 25044550.1514
+ 3012.4964 2347.4004
+ 23313220.2204 -12011615.38349 -9344116.17946 23313220.2844 23313226.2214
+ 2451.2884 1910.0944
+ 23628301.6424 -6555826.05749 -5089166.68346 23628300.2634 23628307.6184
+ -3273.5954 -2550.8444
+ 24845730.9154 2879733.93849 2266126.59545 24845732.1644 24845739.1374
+ -3377.9834 -2632.1874
+ 21459103.6564 -16767230.97749 -13043325.03148 21459102.5754 21459107.1104
+ -2225.4454 -1734.1104
+ 21511900.4194 -15817971.70649 -12303031.68947 21511900.5544 21511905.1674
+ 2281.6504 1777.9094
+ 20309500.0804 -25910043.99949 -20178280.77448 20309499.8474 20309505.7084
+ 229.6154 178.9234
+ 20561417.4574 -21476819.62849 -16723988.37348 20561417.0674 20561423.0314
+ 1527.0384 1189.9024
+ 05 1 20 14 44 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 25027357.1514 -790251.37049 -571093.63545 25027358.0494 25027366.1894
+ 3008.1834 2344.0364
+ 23299230.3244 -12085134.54449 -9401403.83846 23299230.4084 23299236.3484
+ 2449.9604 1909.0544
+ 23646993.8004 -6457588.79949 -5012618.23045 23646994.0004 23647000.1534
+ -3275.5494 -2552.3674
+ 24865009.0714 2981035.43149 2345062.67945 24865008.4964 24865015.8384
+ -3375.4944 -2630.2514
+ 21471834.9114 -16700326.67849 -12991191.83948 21471833.9134 21471838.0304
+ -2234.8344 -1741.4294
+ 21498915.8624 -15886211.64849 -12356205.67147 21498914.9764 21498919.4934
+ 2267.6604 1767.0064
+ 20308241.5614 -25916661.03849 -20183436.92248 20308241.0354 20308246.5544
+ 211.5254 164.8254
+ 20552749.5014 -21522368.07449 -16759480.67848 20552749.7504 20552755.4124
+ 1509.5304 1176.2534
+ 05 1 20 14 45 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 25010196.0184 -880430.33649 -641362.83645 25010197.7204 25010205.1564
+ 3003.9134 2340.7104
+ 23285248.8764 -12158612.94149 -9458659.74146 23285248.6454 23285253.6564
+ 2448.5944 1908.0014
+ 23665698.2244 -6359293.05849 -4936024.21845 23665698.7234 23665705.6594
+ -3277.4344 -2553.8274
+ 24884270.9794 3082259.33649 2423938.27145 24884271.0244 24884277.0574
+ -3372.7304 -2628.0864
+ 21484619.9744 -16633141.54349 -12938839.80848 21484618.9254 21484622.9864
+ -2244.1504 -1748.6874
+ 21486009.5964 -15954030.55049 -12409051.54747 21486009.1104 21486014.1414
+ 2253.5834 1756.0334
+ 20307085.2574 -25922734.57849 -20188169.57148 20307085.2434 20307090.9914
+ 193.3784 150.6844
+ 20544182.8714 -21567390.02949 -16794562.72448 20544182.1484 20544188.1474
+ 1491.9204 1162.5334
+ 05 1 20 14 45 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24993059.4054 -970479.58549 -711530.95145 24993059.5714 24993068.9594
+ 2999.5944 2337.3404
+ 23271274.1644 -12232049.80049 -9515883.26446 23271273.4444 23271278.8764
+ 2447.2134 1906.9114
+ 23684416.4564 -6260940.94449 -4859386.29246 23684415.3294 23684421.4984
+ -3279.3134 -2555.3004
+ 24903516.2544 3183402.66049 2502751.09345 24903517.7524 24903525.2664
+ -3370.0354 -2625.9894
+ 21497457.1834 -16565677.78549 -12886270.68548 21497457.2264 21497460.7484
+ -2253.4084 -1755.8984
+ 21473184.9944 -16021425.96149 -12461567.44347 21473184.4824 21473189.4704
+ 2239.4224 1745.0054
+ 20306032.8214 -25928263.72049 -20192478.00548 20306032.6284 20306038.8564
+ 175.2204 136.5384
+ 20535715.4444 -21611883.07749 -16829232.63848 20535715.3594 20535721.5664
+ 1474.2544 1148.7734
+ 05 1 20 14 46 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24975952.8734 -1060398.12649 -781597.21745 24975951.4994 24975958.0704
+ 2995.1154 2333.8524
+ 23257307.6254 -12305445.01949 -9573074.35646 23257307.1444 23257312.2534
+ 2445.8034 1905.8334
+ 23703143.0414 -6162534.06549 -4782705.69645 23703141.9224 23703147.4304
+ -3281.1574 -2556.7564
+ 24922750.7394 3284462.73849 2581498.99445 24922750.1284 24922757.0424
+ -3367.2304 -2623.8134
+ 21510348.6814 -16497937.38849 -12833485.97748 21510347.6314 21510351.6024
+ -2262.5854 -1763.0554
+ 21460440.5754 -16088395.56749 -12513751.54747 21460440.5034 21460445.8024
+ 2225.1934 1733.9124
+ 20305084.6854 -25933247.53649 -20196361.50748 20305084.4414 20305090.5294
+ 156.9854 122.3284
+ 20527350.8114 -21655844.89849 -16863488.61248 20527349.9494 20527355.6324
+ 1456.5294 1134.9624
+ 05 1 20 14 46 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24958864.7294 -1150185.02149 -851560.86745 24958864.2544 24958873.1504
+ 2990.6984 2330.4064
+ 23243346.8034 -12378798.28249 -9630232.72146 23243347.3924 23243353.0794
+ 2444.3874 1904.7114
+ 23721879.0334 -6064074.03849 -4705983.66345 23721878.9254 23721884.7944
+ -3282.9054 -2558.1054
+ 24941961.6614 3385436.25249 2660179.49745 24941964.1744 24941971.6664
+ -3364.3154 -2621.5414
+ 21523291.4884 -16429922.59549 -12780487.45748 21523290.1704 21523294.5394
+ -2271.7084 -1770.1614
+ 21447777.6644 -16154936.90549 -12565601.94347 21447777.5814 21447783.3754
+ 2210.8704 1722.7534
+ 20304240.2554 -25937685.10249 -20199819.36948 20304239.8704 20304245.8494
+ 138.8114 108.1654
+ 20519085.9954 -21699273.60049 -16897329.16548 20519085.6484 20519091.3834
+ 1438.7054 1121.0714
+ 05 1 20 14 47 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24941803.7654 -1239839.61449 -921421.45945 24941802.2654 24941811.4524
+ 2986.2514 2326.9484
+ 23229397.1994 -12452109.19449 -9687358.10346 23229397.6824 23229402.6804
+ 2442.9754 1903.6164
+ 23740623.0404 -5965562.35649 -4629221.39145 23740623.0724 23740629.2614
+ -3284.5494 -2559.3964
+ 24961165.0074 3486320.80449 2738790.67145 24961163.6474 24961170.6094
+ -3361.3264 -2619.2044
+ 21536286.3104 -16361635.49849 -12727276.76148 21536285.0324 21536289.1694
+ -2280.7564 -1777.2114
+ 21435198.3214 -16221047.77549 -12617116.90047 21435197.8544 21435202.0274
+ 2196.4704 1711.5344
+ 20303500.1724 -25941575.59049 -20202850.93048 20303499.7634 20303505.6324
+ 120.5304 93.9234
+ 20510923.7984 -21742167.09549 -16930752.68048 20510923.1594 20510929.1094
+ 1420.8274 1107.1384
+ 05 1 20 14 47 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24924769.5184 -1329360.89449 -991178.19945 24924768.7964 24924775.7034
+ 2981.8864 2323.5464
+ 23215456.4774 -12525377.14049 -9744450.03646 23215455.7254 23215460.0144
+ 2441.5624 1902.5184
+ 23759379.1034 -5867000.59949 -4552420.10745 23759378.3914 23759386.6584
+ -3286.2814 -2560.7234
+ 24980342.5004 3587113.86649 2817330.57245 24980341.5694 24980349.6884
+ -3358.2214 -2616.7934
+ 21549331.4184 -16293077.97949 -12673855.34948 21549330.9894 21549335.0194
+ -2289.7104 -1784.1904
+ 21422700.2964 -16286725.89249 -12668294.64747 21422699.7884 21422704.3904
+ 2182.0324 1700.2804
+ 20302864.3164 -25944918.07949 -20205455.48548 20302863.6624 20302869.5664
+ 102.2844 79.7034
+ 20502863.1944 -21784523.22349 -16963757.46648 20502862.9044 20502868.8694
+ 1402.9114 1093.1744
+ 05 1 20 14 48 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24907755.8344 -1418748.00449 -1060830.39845 24907756.7914 24907766.5234
+ 2977.4324 2320.0684
+ 23201521.7084 -12598601.63349 -9801508.08046 23201520.9644 23201525.8404
+ 2440.0934 1901.3694
+ 23778142.5854 -5768390.56449 -4475581.18245 23778143.8174 23778149.9184
+ -3287.7984 -2561.9284
+ 24999504.1324 3687812.43349 2895796.83645 24999505.8104 24999511.6104
+ -3355.0244 -2614.3024
+ 21562428.9894 -16224252.36549 -12620225.02748 21562428.0824 21562432.6414
+ -2298.6204 -1791.1324
+ 21410284.6724 -16351968.80149 -12719133.27047 21410284.2064 21410288.6534
+ 2167.4664 1688.9374
+ 20302332.8554 -25947711.94049 -20207632.53448 20302332.0814 20302337.7244
+ 83.9704 65.4334
+ 20494906.0074 -21826339.91649 -16996341.90848 20494905.6484 20494911.6004
+ 1384.8874 1079.1314
+ 05 1 20 14 48 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24890772.0634 -1507999.92949 -1130377.25845 24890774.5134 24890783.1734
+ 2972.8874 2316.5324
+ 23187595.0764 -12671782.46149 -9858532.09446 23187594.8794 23187601.0684
+ 2438.6224 1900.2384
+ 23796918.1184 -5669733.96749 -4398706.00445 23796918.5674 23796924.2184
+ -3289.3064 -2563.0914
+ 25018646.7154 3788413.78049 2974187.36445 25018646.8534 25018657.3054
+ -3351.7554 -2611.7544
+ 21575576.1324 -16155160.68449 -12566387.39648 21575575.6054 21575579.5024
+ -2307.4594 -1798.0164
+ 21397952.3914 -16416774.00949 -12769630.81847 21397952.0924 21397956.9754
+ 2152.8394 1677.5304
+ 20301905.1884 -25949956.12049 -20209381.26148 20301905.1854 20301910.9324
+ 65.6354 51.1434
+ 20487051.7024 -21867615.00749 -17028504.32248 20487051.2224 20487057.2144
+ 1366.7944 1065.0374
+ 05 1 20 14 49 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24873813.5634 -1597115.98349 -1199818.26845 24873814.7224 24873823.9694
+ 2968.1974 2312.8754
+ 23173676.2054 -12744919.01649 -9915521.60246 23173676.6724 23173683.0484
+ 2437.1344 1899.0584
+ 23815702.5234 -5571032.36049 -4321795.73045 23815702.0714 23815707.2774
+ -3290.8264 -2564.2794
+ 25037774.7614 3888915.37849 3052500.11545 25037772.2804 25037781.4054
+ -3348.4314 -2609.1664
+ 21588775.1024 -16085805.16749 -12512344.16348 21588773.7494 21588777.8174
+ -2316.2454 -1804.8654
+ 21385704.5424 -16481139.35649 -12819785.63247 21385703.7734 21385708.7754
+ 2138.1284 1666.0744
+ 20301582.9734 -25951650.08349 -20210701.24648 20301582.7284 20301588.5044
+ 47.2524 36.8214
+ 20479300.8454 -21908346.45649 -17060243.12648 20479300.3094 20479306.2404
+ 1348.6044 1050.8614
+ 05 1 20 14 49 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24856883.0884 -1686095.24049 -1269152.69345 24856883.6784 24856891.5964
+ 2963.7454 2309.4134
+ 23159768.4944 -12818010.91849 -9972476.35246 23159768.7154 23159773.6284
+ 2435.6554 1897.9144
+ 23834491.8254 -5472287.35449 -4244851.62345 23834490.8434 23834498.7164
+ -3292.1814 -2565.3274
+ 25056875.0504 3989314.38449 3130732.93245 25056877.3294 25056885.7804
+ -3344.8144 -2606.3374
+ 21602021.6094 -16016187.71049 -12458096.82248 21602021.2554 21602026.0394
+ -2324.9154 -1811.6204
+ 21373539.4834 -16545062.46349 -12869595.83247 21373539.3714 21373545.0844
+ 2123.3924 1654.5934
+ 20301365.6544 -25952792.75449 -20211591.66048 20301365.4044 20301371.2854
+ 28.8904 22.5174
+ 20471654.2184 -21948532.03949 -17091556.57048 20471653.4764 20471659.2804
+ 1330.4204 1036.6954
+ 05 1 20 14 50 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24839977.1594 -1774936.68949 -1338379.73145 24839976.7054 24839987.3524
+ 2959.1234 2305.8094
+ 23145869.2164 -12891057.56149 -10029395.81446 23145868.5494 23145872.9564
+ 2434.1514 1896.7484
+ 23853290.3104 -5373500.31049 -4167874.78545 23853289.4424 23853297.4114
+ -3293.6144 -2566.4584
+ 25075966.1454 4089608.00549 3208883.59645 25075964.6654 25075973.8104
+ -3341.3574 -2603.6514
+ 21615319.2294 -15946310.45449 -12403647.04848 21615318.7354 21615322.7994
+ -2333.5484 -1818.3514
+ 21361459.0794 -16608541.17249 -12919059.75247 21361459.2744 21361464.7264
+ 2108.4954 1642.9894
+ 20301253.1084 -25953383.69949 -20212052.15048 20301252.5734 20301258.6404
+ 10.4794 8.1654
+ 20464111.2944 -21988170.08249 -17122443.36648 20464110.5364 20464116.3034
+ 1312.1214 1022.4274
+ 05 1 20 14 50 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24823096.1724 -1863639.66149 -1407498.83445 24823095.8974 24823105.8324
+ 2954.4684 2302.1804
+ 23131977.2904 -12964058.56249 -10086279.70646 23131977.0084 23131981.9514
+ 2432.6044 1895.5264
+ 23872096.1024 -5274672.96949 -4090866.55045 23872095.5404 23872103.5194
+ -3294.9214 -2567.4624
+ 25095029.3324 4189793.64849 3286950.12744 25095029.9434 25095035.2394
+ -3337.7024 -2600.7964
+ 21628665.7564 -15876175.65749 -12348996.58848 21628665.0674 21628669.1514
+ -2342.0874 -1824.9994
+ 21349465.9804 -16671573.00849 -12968175.45347 21349465.5644 21349470.4964
+ 2093.5754 1631.3594
+ 20301246.0424 -25953422.05349 -20212082.06148 20301245.6914 20301251.5124
+ -7.9474 -6.1914
+ 20456672.6254 -22027258.76849 -17152902.09348 20456672.0864 20456678.1204
+ 1293.7764 1008.1394
+ 05 1 20 14 51 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24806248.6804 -1952203.19449 -1476509.32745 24806244.7304 24806251.2404
+ 2949.8224 2298.5614
+ 23118093.3744 -13037013.47549 -10143127.68546 23118093.3774 23118099.0634
+ 2431.0724 1894.3434
+ 23890911.1294 -5175806.97849 -4013828.19545 23890910.3804 23890917.6194
+ -3296.1494 -2568.4274
+ 25114076.1584 4289868.45549 3364930.28745 25114074.8224 25114080.7934
+ -3333.9684 -2597.8954
+ 21642060.1534 -15805785.27649 -12294146.96747 21642059.3654 21642064.1024
+ -2350.5864 -1831.6254
+ 21337556.6494 -16734155.72949 -13016941.21147 21337556.5044 21337560.9484
+ 2078.5694 1619.6674
+ 20301343.7534 -25952907.07849 -20211680.79448 20301343.6434 20301349.5864
+ -26.4324 -20.5964
+ 20449339.6264 -22065795.71449 -17182930.89448 20449338.9824 20449344.6494
+ 1275.3504 993.7784
+ 05 1 20 14 51 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24789419.4064 -2040626.46649 -1545410.51545 24789416.8854 24789424.9634
+ 2945.1054 2294.8864
+ 23104221.0094 -13109921.87549 -10199939.42146 23104220.1254 23104225.6244
+ 2429.5324 1893.1544
+ 23909731.8554 -5076903.92449 -3936760.93446 23909730.8034 23909737.7064
+ -3297.3664 -2569.3664
+ 25133093.8164 4389829.75449 3442822.04844 25133091.3844 25133101.7544
+ -3330.1324 -2594.8954
+ 21655503.6384 -15735141.40949 -12239099.84347 21655503.1354 21655507.0774
+ -2358.9884 -1838.1684
+ 21325733.4674 -16796287.22049 -13065355.35547 21325733.3404 21325738.1444
+ 2063.5174 1607.9374
+ 20301547.5614 -25951838.09449 -20210847.83648 20301547.2264 20301553.0034
+ -44.8904 -34.9744
+ 20442111.6114 -22103778.92449 -17212528.21048 20442110.9244 20442116.7444
+ 1256.8624 979.3754
+ 05 1 20 14 52 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24772617.9024 -2128908.72149 -1614201.79945 24772617.4274 24772625.5784
+ 2940.5134 2291.3084
+ 23090356.7924 -13182783.18049 -10256714.47046 23090355.2864 23090359.7324
+ 2427.9034 1891.8804
+ 23928558.9054 -4977965.35449 -3859666.03446 23928558.8674 23928565.0784
+ -3298.5284 -2570.2864
+ 25152094.6814 4489675.42649 3520623.71844 25152095.5574 25152105.1454
+ -3326.2734 -2591.9064
+ 21668995.3784 -15664246.27549 -12183856.90647 21668993.8764 21668997.9234
+ -2367.3314 -1844.6694
+ 21313996.9924 -16857965.26649 -13113416.14547 21313996.5094 21314001.0014
+ 2048.3404 1596.1094
+ 20301856.5014 -25950214.58349 -20209582.77848 20301856.0004 20301861.9074
+ -63.3604 -49.3704
+ 20434989.0234 -22141206.42249 -17241692.50648 20434988.7034 20434994.3014
+ 1238.3014 964.9124
+ 05 1 20 14 52 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24755843.9634 -2217049.04449 -1682882.50745 24755845.6664 24755854.6204
+ 2935.7494 2287.6004
+ 23076499.1014 -13255596.93949 -10313452.45546 23076498.4364 23076504.1134
+ 2426.3464 1890.6544
+ 23947391.7604 -4878992.99649 -3782544.78646 23947391.0054 23947398.5134
+ -3299.6484 -2571.1554
+ 25171074.5514 4589402.44149 3598332.86345 25171074.6634 25171078.2674
+ -3322.2564 -2588.7634
+ 21682533.5204 -15593101.92449 -12128419.78647 21682532.3924 21682536.4534
+ -2375.6154 -1851.1264
+ 21302347.0924 -16919187.44649 -13161121.74047 21302346.4714 21302350.7224
+ 2033.1164 1584.2434
+ 20302271.6704 -25948035.75349 -20207885.00548 20302271.1254 20302276.2764
+ -81.9164 -63.8284
+ 20427972.8934 -22178076.46249 -17270422.41748 20427972.4394 20427978.4184
+ 1219.6894 950.4074
+ 05 1 20 14 53 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24739096.3354 -2305046.53449 -1751451.89845 24739098.7014 24739109.9224
+ 2930.8384 2283.7684
+ 23062652.4044 -13328362.73949 -10370153.08846 23062651.6774 23062656.8084
+ 2424.7604 1889.4344
+ 23966232.7074 -4779988.39349 -3705398.44846 23966232.6454 23966237.8844
+ -3300.6594 -2571.9414
+ 25190028.8364 4689007.80249 3675947.21344 25190028.8784 25190032.3254
+ -3318.1024 -2585.5254
+ 21696118.5564 -15521710.22749 -12072789.91647 21696117.4234 21696122.2904
+ -2383.8204 -1857.5234
+ 21290783.6434 -16979951.61849 -13208470.43947 21290783.4774 21290787.8804
+ 2017.8194 1572.3324
+ 20302791.2314 -25945301.11549 -20205754.13548 20302791.2924 20302796.8404
+ -100.4314 -78.2544
+ 20421063.5514 -22214386.93649 -17298716.29848 20421062.8584 20421068.7914
+ 1201.0214 935.8594
+ 05 1 20 14 53 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24722383.4074 -2392900.44249 -1819909.43745 24722382.7474 24722391.6654
+ 2926.0454 2280.0334
+ 23048814.7154 -13401079.92449 -10426815.81646 23048813.9274 23048819.6744
+ 2423.0914 1888.1344
+ 23985077.2244 -4680953.13949 -3628228.20946 23985077.6484 23985085.8554
+ -3301.6734 -2572.7324
+ 25208958.3724 4788489.10449 3753464.95345 25208959.3924 25208965.7874
+ -3313.9174 -2582.2654
+ 21709750.7554 -15450073.46849 -12016969.11447 21709749.6014 21709753.6624
+ -2391.9524 -1863.8614
+ 21279306.9734 -17040255.65649 -13255460.59147 21279307.2164 21279311.7064
+ 2002.4094 1560.3174
+ 20303417.5264 -25942009.93749 -20203189.59948 20303417.1664 20303423.0654
+ -118.9924 -92.7184
+ 20414260.3594 -22250136.10949 -17326572.81148 20414260.3104 20414266.1864
+ 1182.2684 921.2514
+ 05 1 20 14 54 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24705693.3074 -2480610.05649 -1888254.54345 24705692.0144 24705700.0414
+ 2921.2644 2276.3084
+ 23034986.6824 -13473748.09049 -10483440.35746 23034985.9004 23034991.1814
+ 2421.4424 1886.8354
+ 24003929.0754 -4581888.27849 -3551034.87446 24003929.5254 24003936.9744
+ -3302.6394 -2573.4934
+ 25227863.6504 4887843.67549 3830883.89844 25227865.5754 25227873.2324
+ -3309.6714 -2578.9494
+ 21723428.2154 -15378193.66549 -11960958.90747 21723427.9174 21723432.4554
+ -2400.0124 -1870.1364
+ 21267920.9824 -17100097.21249 -13302090.37447 21267920.2624 21267924.5464
+ 1986.9794 1548.2974
+ 20304150.1954 -25938161.84649 -20200191.10048 20304149.5674 20304155.4694
+ -137.5734 -107.1944
+ 20407564.3334 -22285322.31349 -17353990.63448 20407563.9134 20407570.2174
+ 1163.4404 906.5744
+ 05 1 20 14 54 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24689031.5084 -2568174.44549 -1956486.48145 24689030.2884 24689036.9884
+ 2916.3794 2272.5054
+ 23021167.7974 -13546366.45449 -10540026.09046 23021167.7094 23021172.1214
+ 2419.7834 1885.5414
+ 24022786.0524 -4482795.67749 -3473819.93746 24022785.3184 24022793.2714
+ -3303.5134 -2574.1634
+ 25246748.6534 4987069.25949 3908202.36144 25246747.3844 25246751.0374
+ -3305.3634 -2575.6044
+ 21737152.9644 -15306072.79449 -11904760.86647 21737151.9524 21737156.4474
+ -2408.0224 -1876.3834
+ 21256621.4164 -17159474.45249 -13348358.34247 21256621.0544 21256626.0304
+ 1971.4604 1536.2054
+ 20304988.1214 -25933756.15849 -20196758.10948 20304987.9474 20304993.6694
+ -156.1794 -121.6964
+ 20400976.3204 -22319943.08949 -17380967.87348 20400976.1774 20400982.2514
+ 1144.5834 891.8864
+ 05 1 20 14 55 0.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24672396.2784 -2655592.94949 -2024604.70945 24672394.8684 24672402.6334
+ 2911.5614 2268.7524
+ 23007358.6984 -13618934.79949 -10596572.85246 23007357.5824 23007363.6214
+ 2418.0994 1884.2214
+ 24041647.7554 -4383676.78049 -3396584.54446 24041648.3664 24041654.3054
+ -3304.3454 -2574.7984
+ 25265600.6964 5086162.76649 3985417.91244 25265598.0004 25265616.0984
+ -3300.7654 -2572.0284
+ 21750922.5374 -15233713.17749 -11848376.78347 21750921.6004 21750925.3834
+ -2415.9304 -1882.5434
+ 21245411.0754 -17218385.15149 -13394262.78347 21245410.6804 21245415.2904
+ 1955.8934 1524.0714
+ 20305932.8884 -25928792.37449 -20192890.24448 20305932.6244 20305938.4424
+ -174.7794 -136.1894
+ 20394496.3764 -22353997.04049 -17407503.42848 20394495.8954 20394501.8434
+ 1125.6794 877.1524
+ 05 1 20 14 55 30.0000000 0 8G 7G28G 3G13G19G11G27G 8
+ 24655788.0804 -2742864.66449 -2092608.57345 24655787.1084 24655795.9834
+ 2906.6164 2264.8954
+ 22993558.0404 -13691452.26649 -10653079.97746 22993558.3234 22993563.8204
+ 2416.4044 1882.9094
+ 24060516.1544 -4284533.01949 -3319329.75646 24060514.7874 24060521.3724
+ -3305.1664 -2575.4664
+ 25284436.7774 5185121.91349 4062528.65344 25284431.6814 25284439.4794
+ -3296.4034 -2568.6224
+ 21764737.4144 -15161116.66749 -11791808.11247 21764736.5154 21764740.6114
+ -2423.8104 -1888.6804
+ 21234289.8654 -17276827.11049 -13439801.97848 21234289.7914 21234294.7334
+ 1940.2204 1511.8614
+ 20306983.7924 -25923270.17449 -20188587.25348 20306983.4514 20306989.3584
+ -193.3824 -150.6874
+ 20388124.7694 -22387482.10849 -17433595.70548 20388123.8334 20388129.9804
+ 1106.6574 862.3314
+ 05 1 20 14 56 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24639208.3864 -2829988.67249 -2160497.40945 24639208.2694 24639214.4614
+ 2901.7164 2261.0784
+ 22979768.2064 -13763918.57649 -10709547.21247 22979769.5284 22979773.9014
+ 2414.6704 1881.5624
+ 24079384.9224 -4185366.02349 -3242056.89745 24079385.6734 24079391.4484
+ -3305.9134 -2576.0254
+ 21778596.7764 -15088285.38249 -11735056.49848 21778595.7324 21778600.5164
+ -2431.6044 -1894.7544
+ 21223258.4804 -17334798.16749 -13484974.22648 21223257.8964 21223262.4894
+ 1924.5004 1499.6154
+ 20308141.1844 -25917188.62549 -20183848.40348 20308141.0294 20308146.5414
+ -212.0324 -165.2174
+ 20381860.6474 -22420396.24449 -17459243.08948 20381860.4384 20381866.4294
+ 1087.6144 847.4914
+ 05 1 20 14 56 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24622654.2554 -2916964.40749 -2228270.63345 24622655.4224 24622663.6434
+ 2896.8084 2257.2514
+ 22965990.9154 -13836333.11149 -10765974.13647 22965988.4784 22965994.0944
+ 2412.9334 1880.2144
+ 24098260.6974 -4086177.27349 -3164767.04745 24098260.7054 24098268.3234
+ -3306.6784 -2576.6364
+ 21792501.1934 -15015221.35149 -11678123.52847 21792499.6984 21792503.1834
+ -2439.3404 -1900.7824
+ 21212316.9904 -17392296.25349 -13529777.92247 21212316.4784 21212320.9734
+ 1908.6774 1487.2834
+ 20309405.0304 -25910547.70349 -20178673.67048 20309404.5484 20309410.3474
+ -230.7054 -179.7664
+ 20375706.7954 -22452738.38249 -17484444.76548 20375706.0104 20375712.1244
+ 1068.5244 832.6214
+ 05 1 20 14 57 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24606131.6164 -3003790.95349 -2295927.61945 24606131.7864 24606140.6784
+ 2891.7144 2253.2884
+ 22952218.9524 -13908695.47449 -10822360.39347 22952218.6514 22952224.1244
+ 2411.1914 1878.8624
+ 24117138.7004 -3986968.00249 -3087461.26545 24117137.9564 24117146.2684
+ -3307.3054 -2577.1154
+ 21806447.5884 -14941926.47249 -11621010.66247 21806447.0994 21806451.4244
+ -2446.9694 -1906.7284
+ 21201465.5874 -17449319.28249 -13574211.45947 21201465.2534 21201469.9024
+ 1892.8164 1474.9244
+ 20310775.7464 -25903346.83049 -20173062.61948 20310775.2364 20310780.6234
+ -249.3794 -194.3224
+ 20369661.4534 -22484506.15049 -17509198.88148 20369661.1724 20369666.6984
+ 1049.3484 817.6794
+ 05 1 20 14 57 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24589638.4494 -3090467.59849 -2363467.83545 24589638.8514 24589646.0194
+ 2886.9134 2249.5424
+ 22938458.4254 -13981005.03049 -10878705.49647 22938457.7074 22938463.9334
+ 2409.4454 1877.4844
+ 24136021.6754 -3887739.69949 -3010140.59545 24136021.6224 24136029.0184
+ -3307.9374 -2577.6154
+ 21820438.9034 -14868402.90449 -11563719.61847 21820438.3354 21820442.5604
+ -2454.5324 -1912.6194
+ 21190704.6184 -17505865.06049 -13618273.10648 21190704.8424 21190709.7904
+ 1876.9004 1462.5184
+ 20312251.8724 -25895585.57649 -20167014.90548 20312251.6184 20312257.6184
+ -268.0464 -208.8664
+ 20363725.6294 -22515698.34549 -17533504.50048 20363725.2234 20363731.1084
+ 1030.1324 802.7024
+ 05 1 20 14 58 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24573174.4774 -3176993.68349 -2430890.69245 24573174.0044 24573182.9824
+ 2881.7624 2245.5304
+ 22924708.9554 -14053261.11049 -10935008.94147 22924708.2594 22924713.9054
+ 2407.6334 1876.0754
+ 24154910.9574 -3788494.06349 -2932806.45545 24154909.4734 24154914.6074
+ -3308.4224 -2577.9884
+ 21834473.0354 -14794652.75949 -11506252.01047 21834472.2754 21834476.7834
+ -2462.0934 -1918.5194
+ 21180036.2084 -17561931.80349 -13661961.48047 21180035.5314 21180040.4564
+ 1860.8774 1450.0344
+ 20313835.3124 -25887263.61849 -20160530.28748 20313835.2014 20313841.3784
+ -286.7584 -223.4464
+ 20357899.9464 -22546312.34749 -17557359.57848 20357899.7184 20357905.5404
+ 1010.8404 787.6684
+ 05 1 20 14 58 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24556737.3994 -3263368.28249 -2498195.51045 24556738.0324 24556746.1854
+ 2876.7354 2241.6114
+ 22910969.8154 -14125463.08149 -10991270.23047 22910969.5394 22910974.4684
+ 2405.8254 1874.6764
+ 24173795.7804 -3689232.45349 -2855459.83545 24173796.1214 24173802.9304
+ -3309.0054 -2578.4424
+ 21848550.5814 -14720678.00449 -11448609.38147 21848549.5434 21848553.4344
+ -2469.5434 -1924.3164
+ 21169458.2974 -17617517.62949 -13705275.11948 21169458.3044 21169462.9544
+ 1844.8214 1437.5244
+ 20315525.9274 -25878380.51749 -20153608.40848 20315525.8274 20315531.6484
+ -305.4844 -238.0354
+ 20352184.2704 -22576346.89349 -17580763.13348 20352184.1004 20352190.2794
+ 991.4804 772.5854
+ 05 1 20 14 59 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24540331.8834 -3349590.74249 -2565381.78245 24540329.1794 24540339.4384
+ 2871.6204 2237.6224
+ 22897240.7554 -14197610.53749 -11047489.04147 22897239.8644 22897245.2684
+ 2403.9694 1873.2264
+ 24192688.6634 -3589956.26349 -2778101.90245 24192688.6864 24192695.2724
+ -3309.4594 -2578.7894
+ 21862669.6984 -14646480.67349 -11390793.32647 21862668.8914 21862673.1444
+ -2476.9334 -1930.0764
+ 21158972.9034 -17672620.22249 -13748212.20848 21158972.8784 21158977.5434
+ 1828.6524 1424.9244
+ 20317323.8254 -25868935.90049 -20146248.99248 20317323.1514 20317328.9194
+ -324.1944 -252.6164
+ 20346579.7384 -22605800.54349 -17603714.04048 20346579.1914 20346585.5404
+ 972.0804 757.4684
+ 05 1 20 14 59 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24523949.9124 -3435660.22949 -2632448.88945 24523948.9864 24523959.1124
+ 2866.5454 2233.6764
+ 22883521.9154 -14269702.82049 -11103664.83247 22883521.0254 22883526.6944
+ 2402.1614 1871.8214
+ 24211582.0774 -3490666.84649 -2700733.68345 24211582.3434 24211589.5444
+ -3309.8404 -2579.0934
+ 21876831.2414 -14572062.85649 -11332805.44347 21876829.9284 21876834.1554
+ -2484.2424 -1935.7664
+ 21148579.8874 -17727237.69049 -13790771.27048 21148579.4944 21148584.1234
+ 1812.4834 1412.3344
+ 20319227.7354 -25858929.56049 -20138451.86248 20319227.6024 20319233.1474
+ -342.9004 -267.1894
+ 20341086.4874 -22634671.75549 -17626211.10348 20341085.4884 20341091.4274
+ 952.6574 742.3374
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 15 0 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24507602.5374 -3521576.14949 -2699396.33145 24507601.4874 24507608.8454
+ 2861.3534 2229.6264
+ 22869812.4924 -14341739.26849 -11159797.13647 22869812.7254 22869818.0884
+ 2400.2684 1870.3354
+ 24230479.7934 -3391365.72949 -2623356.30645 24230479.4164 24230485.3204
+ -3310.2344 -2579.4034
+ 21891033.8304 -14497426.61249 -11274647.36747 21891033.0144 21891036.6834
+ -2491.5014 -1941.4254
+ 21138278.1324 -17781367.91249 -13832950.67248 21138278.4504 21138283.2014
+ 1796.1964 1399.6274
+ 20321238.9784 -25848361.06849 -20130216.69548 20321238.7074 20321244.3224
+ -361.6744 -281.8234
+ 20335702.8064 -22662958.61949 -17648252.82648 20335702.2714 20335708.7034
+ 933.1354 727.1214
+ 05 1 20 15 0 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24491283.9244 -3607337.77449 -2766223.52545 24491281.7964 24491287.5164
+ 2856.1764 2225.5924
+ 22856116.0954 -14413719.30249 -11215885.48447 22856115.9434 22856120.9424
+ 2398.3824 1868.8724
+ 24249379.7824 -3292054.17549 -2545970.82245 24249378.5004 24249384.5924
+ -3310.5314 -2579.6284
+ 21905276.9244 -14422573.70749 -11216320.48647 21905276.9344 21905280.6894
+ -2498.6854 -1947.0294
+ 21128070.8754 -17835009.09249 -13874749.00348 21128070.7134 21128075.7894
+ 1779.8644 1386.9034
+ 20323357.2134 -25837230.27049 -20121543.37048 20323356.7514 20323362.4534
+ -380.4284 -296.4404
+ 20330431.7514 -22690658.97549 -17669837.53848 20330431.3384 20330437.3464
+ 913.5524 711.8574
+ 05 1 20 15 1 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24474991.5294 -3692944.25349 -2832929.77745 24474992.0944 24474999.0804
+ 2851.0154 2221.5724
+ 22842429.8344 -14485642.44449 -11271929.50947 22842428.7824 22842434.1984
+ 2396.4914 1867.3924
+ 24268277.6484 -3192733.74649 -2468578.37445 24268277.0934 24268285.8814
+ -3310.8174 -2579.8514
+ 21919563.3194 -14347506.43749 -11157826.54547 21919561.6164 21919565.8284
+ -2505.7974 -1952.5634
+ 21117957.5754 -17888159.11549 -13916164.61148 21117956.9774 21117961.0664
+ 1763.4444 1374.1134
+ 20325582.3324 -25825536.88549 -20112431.66048 20325581.8014 20325587.7454
+ -399.1464 -311.0214
+ 20325272.2294 -22717771.70749 -17690964.35148 20325271.9294 20325277.9434
+ 893.9614 696.5914
+ 05 1 20 15 1 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24458730.8834 -3778394.88749 -2899514.65445 24458730.9684 24458739.2224
+ 2845.8374 2217.5334
+ 22828753.2744 -14557507.86549 -11327928.53347 22828753.2094 22828758.2474
+ 2394.5674 1865.8844
+ 24287178.7604 -3093405.83849 -2391180.13645 24287178.0634 24287187.2044
+ -3311.0534 -2580.0324
+ 21933888.0504 -14272226.77049 -11099167.09947 21933886.7434 21933891.1814
+ -2512.8214 -1958.0424
+ 21107937.1604 -17940816.15149 -13957196.07148 21107936.8404 21107941.3154
+ 1746.9904 1361.2944
+ 20327914.2834 -25813280.72149 -20102881.42848 20327914.0224 20327919.7614
+ -417.9504 -325.6764
+ 20320225.2684 -22744295.66149 -17711632.38348 20320224.7654 20320230.5744
+ 874.2934 681.2694
+ 05 1 20 15 2 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24442499.3584 -3863689.06349 -2965977.56545 24442498.6024 24442507.5234
+ 2840.4894 2213.3644
+ 22815089.4404 -14629315.04149 -11383882.18047 22815088.6574 22815094.7094
+ 2392.5734 1864.3484
+ 24306082.4154 -2994071.87949 -2313777.13245 24306081.3944 24306089.4064
+ -3311.1614 -2580.1254
+ 21948252.5654 -14196736.54149 -11040343.58847 21948252.1244 21948255.9864
+ -2519.8314 -1963.5014
+ 21098009.9734 -17992978.39949 -13997841.97648 21098010.1364 21098015.2014
+ 1730.4614 1348.4134
+ 20330353.5464 -25800461.54449 -20092892.48648 20330353.5144 20330359.4294
+ -436.6904 -340.2794
+ 20315290.0204 -22770228.93049 -17731840.13848 20315289.6864 20315295.8124
+ 854.5924 665.9134
+ 05 1 20 15 2 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24426298.5284 -3948825.96849 -3032318.01445 24426298.1084 24426306.1944
+ 2835.3584 2209.3674
+ 22801435.5504 -14701063.33449 -11439789.95147 22801435.7994 22801441.1774
+ 2390.6274 1862.8384
+ 24324986.8474 -2894733.25949 -2236370.52345 24324986.5274 24324993.7554
+ -3311.3794 -2580.2904
+ 21962659.0244 -14121037.80149 -10981357.60447 21962657.0434 21962661.8174
+ -2526.7584 -1968.8994
+ 21088179.1234 -18044643.90249 -14038100.82248 21088179.1034 21088183.7674
+ 1713.8694 1335.4824
+ 20332900.4134 -25787079.09149 -20082464.62348 20332899.9324 20332905.9124
+ -455.4704 -354.9094
+ 20310467.8444 -22795569.90849 -17751586.37148 20310467.4124 20310473.4534
+ 834.7764 650.4774
+ 05 1 20 15 3 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24410129.2824 -4033804.89649 -3098535.29045 24410127.3004 24410135.4534
+ 2830.0764 2205.2534
+ 22787794.5064 -14772752.08949 -11495651.32347 22787794.4814 22787798.7674
+ 2388.6144 1861.2544
+ 24343889.4064 -2795391.18149 -2158961.19445 24343889.9204 24343897.1944
+ -3311.4154 -2580.3194
+ 21977102.3914 -14045132.65349 -10922210.78447 21977101.8534 21977106.1234
+ -2533.5914 -1974.2244
+ 21078442.1314 -18095810.76649 -14077971.10548 21078441.8884 21078446.7654
+ 1697.2264 1322.5134
+ 20335554.2074 -25773133.33149 -20071597.82248 20335554.1044 20335559.7074
+ -474.2514 -369.5494
+ 20305758.8204 -22820316.95649 -17770869.79248 20305758.1864 20305764.3534
+ 814.9894 635.0534
+ 05 1 20 15 3 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24393989.7934 -4118625.26749 -3164629.01845 24393987.8324 24393994.9174
+ 2824.7454 2201.0994
+ 22774164.1664 -14844380.77149 -11551465.88547 22774163.7244 22774168.3434
+ 2386.6114 1859.7034
+ 24362796.1144 -2696046.87049 -2081550.17445 24362795.4744 24362801.6204
+ -3311.4924 -2580.3834
+ 21991585.6284 -13969023.02649 -10862904.63747 21991584.5664 21991589.1344
+ -2540.3614 -1979.4994
+ 21068801.2954 -18146477.03549 -14117451.31148 21068801.0994 21068805.6294
+ 1680.5064 1309.4864
+ 20338315.6684 -25758624.01349 -20060291.88148 20338315.0074 20338320.6874
+ -493.0264 -384.1764
+ 20301162.7364 -22844468.64349 -17789689.31048 20301162.4384 20301168.4324
+ 795.1424 619.5934
+ 05 1 20 15 4 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24377877.5254 -4203286.27949 -3230598.57545 24377875.9924 24377884.4944
+ 2819.4124 2196.9524
+ 22760546.6504 -14915948.57449 -11607233.01447 22760545.1664 22760549.5134
+ 2384.5684 1858.1144
+ 24381700.1334 -2596701.70949 -2004138.45145 24381699.0424 24381706.0714
+ -3311.5104 -2580.3994
+ 22006107.7074 -13892710.92049 -10803440.70747 22006106.5414 22006111.0134
+ -2547.0984 -1984.7444
+ 21059254.6814 -18196641.01749 -14156540.13648 21059254.7284 21059259.3454
+ 1663.7234 1296.4144
+ 20341183.8894 -25743551.17349 -20048546.83648 20341183.2074 20341189.1904
+ -511.8244 -398.8234
+ 20296680.5004 -22868023.49749 -17808043.75548 20296679.8854 20296686.1604
+ 775.1904 604.0424
+ 05 1 20 15 4 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24361796.3484 -4287787.29549 -3296443.44445 24361796.1974 24361804.3124
+ 2814.1734 2192.8604
+ 22746938.1914 -14987455.01349 -11662952.32347 22746937.9304 22746942.4784
+ 2382.5184 1856.5034
+ 24400604.5394 -2497357.12149 -1926727.17245 24400604.8224 24400612.5884
+ -3311.4994 -2580.3834
+ 22020666.8234 -13816198.37749 -10743820.58547 22020666.2894 22020670.8744
+ -2553.7344 -1989.9204
+ 21049804.5474 -18246300.78149 -14195236.05048 21049804.6914 21049809.8274
+ 1646.8854 1283.2904
+ 20344158.9504 -25727914.64749 -20036362.55148 20344158.7634 20344164.6434
+ -530.6174 -413.4644
+ 20292312.2964 -22890979.70449 -17825931.72348 20292311.7304 20292317.7904
+ 755.2194 588.4834
+ 05 1 20 15 5 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24345745.9224 -4372127.61549 -3362163.15745 24345745.2744 24345755.1644
+ 2808.6704 2188.5724
+ 22733342.4734 -15058899.13549 -11718623.07247 22733341.8094 22733347.4684
+ 2380.4074 1854.8624
+ 24419508.4014 -2398014.48149 -1849317.41145 24419507.6184 24419517.3504
+ -3311.3554 -2580.2734
+ 22035265.0834 -13739487.23249 -10684045.71847 22035264.3934 22035268.8754
+ -2560.3614 -1995.0814
+ 21040450.7044 -18295454.58049 -14233537.72048 21040450.8674 21040455.7074
+ 1629.9904 1270.1224
+ 20347241.8414 -25711714.30649 -20023738.93048 20347241.3374 20347247.3574
+ -549.4334 -428.1314
+ 20288058.1574 -22913336.50849 -17843352.63248 20288057.6364 20288063.4724
+ 735.2144 572.8944
+ 05 1 20 15 5 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24329727.3684 -4456306.65549 -3427757.20645 24329727.6904 24329737.8534
+ 2803.2544 2184.3634
+ 22719758.4674 -15130280.49049 -11774244.92847 22719758.3374 22719764.0964
+ 2378.3434 1853.2504
+ 24438410.9104 -2298675.08949 -1771910.19845 24438411.5224 24438417.8394
+ -3311.2864 -2580.2194
+ 22049900.9954 -13662579.57149 -10624117.72747 22049899.6454 22049903.8064
+ -2566.8544 -2000.1474
+ 21031194.2404 -18344100.64249 -14271443.74948 21031194.0854 21031198.5224
+ 1613.0594 1256.9324
+ 20350431.9264 -25694950.13449 -20010675.96748 20350431.7074 20350437.5134
+ -568.1994 -442.7504
+ 20283917.5334 -22935091.97849 -17860304.96148 20283917.3494 20283923.7154
+ 715.1264 557.2414
+ 05 1 20 15 6 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24313741.3024 -4540323.78149 -3493225.04345 24313740.2174 24313748.0894
+ 2797.9004 2180.1794
+ 22706187.2074 -15201598.43149 -11829817.34647 22706187.0874 22706192.9574
+ 2376.1964 1851.5874
+ 24457315.2124 -2199340.21749 -1694506.48545 24457314.6524 24457322.8484
+ -3311.0694 -2580.0544
+ 22064571.1704 -13585477.21249 -10564038.01947 22064570.9464 22064575.5974
+ -2573.2954 -2005.1724
+ 21022033.9564 -18392237.42049 -14308952.93648 21022033.6884 21022038.8924
+ 1596.0284 1243.6664
+ 20353729.7434 -25677622.29349 -19997173.78348 20353729.2654 20353735.1524
+ -586.9934 -457.3934
+ 20279892.6394 -22956244.86349 -17876787.74548 20279892.2724 20279898.3744
+ 695.0584 541.6044
+ 05 1 20 15 6 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24297784.5524 -4624178.21949 -3558566.10845 24297783.8334 24297790.0814
+ 2792.5034 2175.9794
+ 22692627.7004 -15272852.15249 -11885339.73647 22692627.7024 22692633.3574
+ 2374.0314 1849.8964
+ 24476217.1914 -2100011.36349 -1617107.45845 24476216.8024 24476225.3404
+ -3310.8034 -2579.8374
+ 22079281.0704 -13508182.13449 -10503808.14247 22079280.2424 22079284.3604
+ -2579.6704 -2010.1244
+ 21012971.4404 -18439862.93749 -14346063.72348 21012971.7174 21012976.1984
+ 1578.9754 1230.3754
+ 20357134.0114 -25659730.62949 -19983232.24848 20357133.9934 20357139.9174
+ -605.7554 -472.0164
+ 20275982.0234 -22976793.76649 -17892799.89948 20275981.8514 20275988.0494
+ 674.8704 525.8764
+ 05 1 20 15 7 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24281858.5794 -4707869.44749 -3623779.99745 24281858.9784 24281863.8004
+ 2787.0254 2171.7114
+ 22679081.6614 -15344041.05649 -11940811.61847 22679081.2594 22679087.1654
+ 2371.8894 1848.2274
+ 24495118.3864 -2000689.44549 -1539713.83945 24495117.7134 24495124.9444
+ -3310.6394 -2579.7104
+ 22094026.2394 -13430696.35349 -10443429.65947 22094025.1894 22094030.1124
+ -2585.9974 -2015.0694
+ 21004006.0834 -18486975.31949 -14382774.67548 21004005.7394 21004010.7364
+ 1561.8464 1217.0224
+ 20360646.4394 -25641275.19449 -19968851.41048 20360645.8384 20360651.9184
+ -624.5844 -486.6894
+ 20272187.4174 -22996737.75349 -17908340.68448 20272186.7284 20272192.6694
+ 654.7234 510.1724
+ 05 1 20 15 7 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24265962.2784 -4791396.69649 -3688866.14145 24265961.1294 24265969.0444
+ 2781.5714 2167.4554
+ 22665547.1244 -15415164.32349 -11996232.34647 22665546.3704 22665552.4154
+ 2369.6994 1846.5214
+ 24514016.6574 -1901375.91049 -1462326.79845 24514015.6664 24514024.2544
+ -3310.3154 -2579.4544
+ 22108808.1744 -13353021.70549 -10382904.01247 22108806.4154 22108810.9604
+ -2592.2864 -2019.9654
+ 20995138.1204 -18533573.31549 -14419084.81048 20995138.0274 20995143.3004
+ 1544.6564 1203.6284
+ 20364265.2234 -25622256.02449 -19954031.30548 20364264.8104 20364270.9704
+ -643.3974 -501.3444
+ 20268507.0054 -23016074.87749 -17923408.59148 20268506.8274 20268512.9864
+ 634.4354 494.3664
+ 05 1 20 15 8 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24250098.2164 -4874759.38149 -3753824.04545 24250097.1904 24250106.8824
+ 2776.0824 2163.1794
+ 22652024.8314 -15486221.22249 -12051601.35447 22652024.4954 22652030.7814
+ 2367.4364 1844.7504
+ 24532914.5124 -1802072.13249 -1384947.31245 24532914.8624 24532920.0374
+ -3309.9284 -2579.1614
+ 22123624.1164 -13275160.15249 -10322232.72747 22123623.0894 22123627.5974
+ -2598.4454 -2024.7614
+ 20986369.3364 -18579654.87749 -14454992.52648 20986369.6354 20986374.7074
+ 1527.4204 1190.2044
+ 20367991.9694 -25602673.22749 -19938772.00548 20367991.5414 20367997.4694
+ -662.1484 -515.9564
+ 20264943.5304 -23034804.29649 -17938002.96148 20264942.8774 20264949.0254
+ 614.1804 478.5834
+ 05 1 20 15 8 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24234266.7384 -4957956.96049 -3818653.29245 24234266.5184 24234275.8384
+ 2770.5364 2158.8574
+ 22638516.0044 -15557211.17049 -12106918.21747 22638516.0794 22638521.2454
+ 2365.1774 1842.9914
+ 24551808.5024 -1702779.49749 -1307576.53445 24551808.9214 24551816.3884
+ -3309.5504 -2578.8514
+ 22138476.4734 -13197113.67249 -10261417.33947 22138474.9374 22138479.2444
+ -2604.6144 -2029.5684
+ 20977699.0234 -18625218.46849 -14490496.62148 20977698.8354 20977703.6914
+ 1510.1234 1176.7174
+ 20371825.4064 -25582526.94449 -19923073.63048 20371825.2894 20371831.0874
+ -680.9504 -530.6124
+ 20261495.3004 -23052924.71249 -17952122.78348 20261494.6434 20261500.8184
+ 593.8344 462.7264
+ 05 1 20 15 9 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24218469.3614 -5040988.67749 -3883353.32546 24218468.0704 24218475.7764
+ 2764.9964 2154.5454
+ 22625020.9784 -15628133.38649 -12162182.28447 22625020.0744 22625025.4854
+ 2362.9294 1841.2444
+ 24570701.3104 -1603499.00749 -1230215.18645 24570700.0544 24570709.9904
+ -3309.1554 -2578.5524
+ 22153361.4484 -13118884.22049 -10200459.37447 22153360.8624 22153365.8384
+ -2610.6654 -2034.2824
+ 20969128.5954 -18670262.59049 -14525595.94948 20969128.1474 20969132.1474
+ 1492.7834 1163.2094
+ 20375766.1684 -25561817.15849 -19906936.15748 20375766.0724 20375772.2084
+ -699.7364 -545.2494
+ 20258163.0704 -23070434.62849 -17965766.89548 20258162.6984 20258168.9674
+ 573.4844 446.8724
+ 05 1 20 15 9 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24202698.0564 -5123854.13749 -3947923.79045 24202697.6754 24202706.0514
+ 2759.4394 2150.2024
+ 22611536.2544 -15698987.12049 -12217392.99447 22611536.6814 22611542.3124
+ 2360.6494 1839.4714
+ 24589591.1534 -1504231.80749 -1152864.23645 24589591.2084 24589597.4014
+ -3308.6614 -2578.1904
+ 22168282.9764 -13040473.68049 -10139360.30347 22168281.6714 22168287.2404
+ -2616.6754 -2038.9604
+ 20960655.0444 -18714785.29649 -14560288.96548 20960655.1014 20960659.9094
+ 1475.3804 1149.6474
+ 20379814.7884 -25540544.29649 -19890359.92048 20379814.0184 20379820.3894
+ -718.4814 -559.8534
+ 20254947.2434 -23087332.69049 -17978934.23248 20254947.0134 20254953.5074
+ 553.0744 430.9694
+ 05 1 20 15 10 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24186962.9534 -5206552.47849 -4012364.05146 24186961.0134 24186968.6934
+ 2753.8824 2145.8864
+ 22598067.7154 -15769771.63849 -12272549.76347 22598067.3764 22598073.0364
+ 2358.3444 1837.6684
+ 24608478.0974 -1404979.01749 -1075524.47445 24608478.2444 24608484.1734
+ -3308.1924 -2577.8054
+ 22183238.3234 -12961883.86749 -10078121.54647 22183237.9074 22183242.0434
+ -2622.6304 -2043.6094
+ 20952282.8454 -18758785.21449 -14594574.62548 20952282.3434 20952287.0624
+ 1457.9314 1136.0524
+ 20383970.0194 -25518708.24249 -19873344.84148 20383969.6434 20383975.5924
+ -737.2744 -574.4984
+ 20251848.9734 -23103617.75849 -17991623.91348 20251848.2864 20251854.2654
+ 532.5954 415.0114
+ 05 1 20 15 10 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24171255.9224 -5289083.16549 -4076673.65545 24171254.2344 24171262.8574
+ 2748.2684 2141.4994
+ 22584611.6454 -15840486.26049 -12327652.07447 22584610.8284 22584615.6124
+ 2355.9644 1835.8084
+ 24627362.7654 -1305742.04449 -998197.09545 24627362.3694 24627369.8864
+ -3307.6214 -2577.3694
+ 22198227.7254 -12883116.80949 -10016744.66747 22198226.7664 22198231.2834
+ -2628.5074 -2048.1904
+ 20944009.6764 -18802260.60249 -14628451.55048 20944009.1864 20944014.1504
+ 1440.4004 1122.3834
+ 20388231.9974 -25496309.23649 -19855891.09548 20388232.0234 20388238.1954
+ -756.0474 -589.1284
+ 20248866.7704 -23119288.61149 -18003834.98648 20248866.1854 20248872.4834
+ 512.1304 399.0604
+ 05 1 20 15 11 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24155581.1674 -5371445.69049 -4140852.22145 24155582.7644 24155590.5134
+ 2742.6044 2137.0874
+ 22571168.1474 -15911130.19049 -12382699.29247 22571167.8374 22571173.0764
+ 2353.5984 1833.9624
+ 24646244.1884 -1206522.11549 -920882.96345 24646243.3414 24646251.4814
+ -3306.9944 -2576.8754
+ 22213249.8124 -12804174.34849 -9955231.11647 22213249.0824 22213253.1234
+ -2634.3414 -2052.7334
+ 20935836.0074 -18845209.94749 -14661918.58648 20935836.0644 20935840.6594
+ 1422.8334 1108.7064
+ 20392601.7264 -25473347.65549 -19837998.98348 20392601.2244 20392607.1494
+ -774.7714 -603.7234
+ 20246001.3654 -23134344.44649 -18015566.82248 20246001.0724 20246007.3814
+ 491.5804 383.0464
+ 05 1 20 15 11 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24139941.6914 -5453639.35749 -4204899.24045 24139941.1494 24139948.8814
+ 2737.0084 2132.7404
+ 22557739.5414 -15981702.51849 -12437690.73147 22557738.2054 22557743.6104
+ 2351.2134 1832.1204
+ 24665120.4984 -1107320.58149 -843583.18745 24665120.0194 24665126.0564
+ -3306.4084 -2576.4114
+ 22228305.0504 -12725058.43649 -9893582.40747 22228304.8104 22228308.9314
+ -2640.0724 -2057.1994
+ 20927764.0674 -18887631.82149 -14694974.59948 20927763.7714 20927768.3434
+ 1405.2484 1095.0034
+ 20397077.8384 -25449823.59949 -19819668.57448 20397077.8884 20397083.9154
+ -793.5214 -618.3324
+ 20243253.8544 -23148783.74549 -18026818.24348 20243253.6644 20243259.6534
+ 471.0324 367.0374
+ 05 1 20 15 12 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24124335.6224 -5535663.74849 -4268814.30846 24124333.5204 24124341.9144
+ 2731.3824 2128.3504
+ 22544322.4514 -16052202.62849 -12492625.88447 22544322.6804 22544327.2114
+ 2348.8404 1830.2624
+ 24683994.7534 -1008138.55749 -766298.65145 24683994.5944 24684001.9134
+ -3305.7184 -2575.8904
+ 22243393.5754 -12645771.01949 -9831800.04247 22243392.1984 22243396.6464
+ -2645.7894 -2061.6544
+ 20919792.0644 -18929524.62549 -14727618.35248 20919791.7884 20919796.4544
+ 1387.5824 1081.2324
+ 20401661.4594 -25425737.35449 -19800900.09648 20401661.2714 20401667.4084
+ -812.2684 -632.9344
+ 20240624.0274 -23162605.62349 -18037588.55148 20240623.4384 20240629.5364
+ 450.4364 350.9924
+ 05 1 20 15 12 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24108757.6974 -5617518.08549 -4332596.89845 24108756.4454 24108764.7274
+ 2725.6624 2123.8954
+ 22530922.0544 -16122629.72949 -12547504.15647 22530921.1164 22530926.2654
+ 2346.3104 1828.3034
+ 24702864.4634 -908977.20649 -689030.10945 24702864.2574 24702872.7264
+ -3305.0264 -2575.3444
+ 22258513.1944 -12566313.80949 -9769885.38947 22258512.4234 22258517.2924
+ -2651.3494 -2065.9924
+ 20911920.9794 -18970886.82849 -14759848.64348 20911920.7734 20911925.6524
+ 1369.8704 1067.4294
+ 20406351.8474 -25401089.26149 -19781693.81548 20406351.5314 20406357.7034
+ -830.9834 -647.5164
+ 20238111.2564 -23175809.09249 -18047876.98848 20238110.9064 20238116.7304
+ 429.7984 334.9084
+ 05 1 20 15 13 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24093212.8214 -5699202.05749 -4396246.72745 24093211.5344 24093220.0844
+ 2719.9554 2119.4434
+ 22517532.4944 -16192983.09449 -12602324.96647 22517532.4514 22517538.3204
+ 2343.8634 1826.3934
+ 24721732.2484 -809837.75749 -611778.70745 24721730.8224 24721737.5014
+ -3304.3654 -2574.8264
+ 22273665.5884 -12486688.77149 -9707839.95647 22273664.9044 22273669.2664
+ -2656.9514 -2070.3594
+ 20904150.9774 -19011716.83949 -14791664.25048 20904151.1514 20904155.6404
+ 1352.0784 1053.5694
+ 20411149.5834 -25375879.74349 -19762050.05748 20411149.1114 20411155.1404
+ -849.6674 -662.0794
+ 20235717.1634 -23188392.79949 -18057682.48848 20235716.4124 20235722.2314
+ 409.1214 318.7974
+ 05 1 20 15 13 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24077700.5244 -5780714.80649 -4459763.15446 24077700.1034 24077709.2074
+ 2714.2774 2115.0194
+ 22504159.4694 -16263261.74549 -12657087.54747 22504158.8054 22504165.2434
+ 2341.3754 1824.4564
+ 24740590.8394 -710721.52149 -534545.34145 24740588.6414 24740596.8194
+ -3303.6174 -2574.2504
+ 22288848.5184 -12406897.73849 -9645665.18047 22288847.9674 22288852.6554
+ -2662.3954 -2074.5964
+ 20896482.3864 -19052013.56649 -14823064.30548 20896482.6554 20896487.4294
+ 1334.2954 1039.7034
+ 20416053.3124 -25350108.90649 -19741968.90748 20416053.0624 20416059.3054
+ -868.3684 -676.6474
+ 20233440.0154 -23200355.99149 -18067004.47348 20233439.6024 20233445.9514
+ 388.4264 302.6704
+ 05 1 20 15 14 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24062224.0674 -5862055.97649 -4523145.85345 24062222.3434 24062228.5584
+ 2708.5624 2110.5724
+ 22490800.9054 -16333464.88149 -12711791.29747 22490800.2134 22490805.4624
+ 2338.7994 1822.4494
+ 24759447.2034 -611629.28549 -457330.67445 24759446.8324 24759454.7964
+ -3302.7404 -2573.5574
+ 22304063.9214 -12326942.59349 -9583362.52847 22304063.2154 22304067.5124
+ -2667.8544 -2078.8434
+ 20888917.6564 -19091775.34449 -14854047.51848 20888916.5294 20888921.1534
+ 1316.4544 1025.8134
+ 20421063.9704 -25323777.25849 -19721450.76548 20421063.7414 20421070.1264
+ -887.0764 -691.2234
+ 20231281.6174 -23211697.79449 -18075842.26348 20231281.2684 20231287.6294
+ 367.6914 286.5194
+ 05 1 20 15 14 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24046777.6524 -5943224.93749 -4586394.39846 24046777.5344 24046783.1344
+ 2702.8394 2106.0984
+ 22477456.0684 -16403591.95749 -12766435.76947 22477455.5984 22477460.7114
+ 2336.3004 1820.5024
+ 24778300.6044 -512562.37849 -380135.79845 24778298.9134 24778307.7454
+ -3301.7824 -2572.8234
+ 22319310.4014 -12246825.20649 -9520933.44347 22319309.3134 22319313.8904
+ -2673.2504 -2083.0524
+ 20881452.8084 -19131000.60249 -14884612.66348 20881452.1354 20881457.0694
+ 1298.5454 1011.8544
+ 20426181.7804 -25296885.17249 -19700495.91248 20426181.0904 20426187.6404
+ -905.7574 -705.7824
+ 20229242.0104 -23222417.13249 -18084195.00948 20229241.4364 20229247.6704
+ 346.9054 270.3174
+ 05 1 20 15 15 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24031363.3774 -6024221.16349 -4649508.31346 24031363.9314 24031370.8804
+ 2697.0594 2101.6034
+ 22464126.6214 -16473641.90149 -12821020.14247 22464125.8164 22464130.7704
+ 2333.7204 1818.4884
+ 24797145.7014 -413522.13649 -302961.63345 24797146.1494 24797154.3064
+ -3300.9344 -2572.1544
+ 22334586.5214 -12166547.36949 -9458379.33947 22334586.2214 22334590.3724
+ -2678.6094 -2087.2294
+ 20874090.3394 -19169688.27649 -14914758.91748 20874090.5214 20874095.2444
+ 1280.6044 997.8724
+ 20431404.9744 -25269433.00849 -19679104.63848 20431404.9394 20431411.2464
+ -924.3924 -720.3064
+ 20227320.8534 -23232512.80949 -18092061.78348 20227320.4794 20227326.5964
+ 326.1284 254.1244
+ 05 1 20 15 15 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24015983.4414 -6105044.10649 -4712487.18846 24015982.4904 24015991.6664
+ 2691.2804 2097.1024
+ 22450809.7344 -16543614.14949 -12875543.97047 22450809.7784 22450815.5274
+ 2331.1154 1816.4544
+ 24815987.0634 -314509.24949 -225808.86045 24815987.3674 24815994.5634
+ -3300.0234 -2571.4414
+ 22349892.1024 -12086110.97049 -9395701.67747 22349891.8064 22349896.5214
+ -2683.8274 -2091.2874
+ 20866831.1864 -19207836.85249 -14944485.08848 20866830.8294 20866835.5074
+ 1262.6154 983.8564
+ 20436736.0934 -25241421.25549 -19657277.32948 20436735.9084 20436742.0604
+ -943.0494 -734.8414
+ 20225518.3134 -23241983.94349 -18099441.91048 20225518.0414 20225524.2864
+ 305.2824 237.8844
+ 05 1 20 15 16 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 24000637.5294 -6185693.09749 -4775330.51346 24000635.4204 24000645.0724
+ 2685.4304 2092.5324
+ 22437509.7974 -16613507.66849 -12930006.45647 22437509.6624 22437515.0354
+ 2328.4934 1814.4024
+ 24834823.3324 -215525.09849 -148678.43745 24834825.0854 24834829.8444
+ -3298.9774 -2570.6324
+ 22365229.3114 -12005517.78649 -9332901.84547 22365228.6914 22365233.3684
+ -2689.0194 -2095.3394
+ 20859674.2374 -19245444.88649 -14973790.06048 20859674.4204 20859678.8234
+ 1244.5764 969.8024
+ 20442172.8054 -25212850.37949 -19635014.33548 20442172.6064 20442178.9624
+ -961.7074 -749.3774
+ 20223835.6354 -23250829.32049 -18106334.43048 20223835.2154 20223840.9944
+ 284.4044 221.6154
+ 05 1 20 15 16 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 23985322.8444 -6266167.81449 -4838038.10646 23985322.1944 23985331.0634
+ 2679.6174 2088.0134
+ 22424224.3984 -16683321.65349 -12984406.96347 22424224.3244 22424229.8014
+ 2325.7924 1812.3044
+ 24853655.4824 -116571.01149 -71571.38845 24853654.7654 24853661.2734
+ -3297.9854 -2569.8594
+ 22380594.5024 -11924769.86049 -9269981.43947 22380593.3574 22380599.0584
+ -2694.1734 -2099.3584
+ 20852620.6334 -19282511.16949 -15002672.88448 20852620.1184 20852625.3574
+ 1226.4954 955.7104
+ 20447716.6304 -25183720.87649 -19612316.04048 20447715.9434 20447722.1864
+ -980.3314 -763.8944
+ 20222271.4844 -23259048.62149 -18112739.09948 20222270.9594 20222276.8284
+ 263.5374 205.3504
+ 05 1 20 15 17 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 23970042.8464 -6346467.77749 -4900609.48046 23970041.9274 23970049.6934
+ 2673.7894 2083.4724
+ 22410954.5484 -16753055.25349 -13038744.84647 22410954.1934 22410960.0344
+ 2323.1164 1810.2234
+ 24872479.4114 -17647.92649 5511.48045 24872479.0104 24872487.0064
+ -3296.9324 -2569.0314
+ 22395988.9294 -11843868.81349 -9206941.73247 22395989.5644 22395993.5284
+ -2699.2094 -2103.2764
+ 20845670.8054 -19319034.17049 -15031132.38348 20845670.4594 20845675.3034
+ 1208.3554 941.5794
+ 20453365.5784 -25154033.22249 -19589182.83048 20453365.3664 20453371.4394
+ -998.8884 -778.3594
+ 20220826.6274 -23266640.81649 -18118655.11348 20220826.2664 20220832.2944
+ 242.6074 189.0454
+ 05 1 20 15 17 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 23954796.3534 -6426592.48649 -4963044.27646 23954795.4294 23954803.2814
+ 2667.9334 2078.9054
+ 22397700.6904 -16822707.63749 -13093019.43747 22397700.3774 22397705.7194
+ 2320.3864 1808.0934
+ 24891297.0684 81243.16449 82569.43445 24891297.6834 24891304.3824
+ -3295.8294 -2568.1814
+ 22411413.9834 -11762816.48149 -9143784.11847 22411413.0704 22411418.3714
+ -2704.2374 -2107.1934
+ 20838824.2504 -19355012.88649 -15059167.75848 20838824.2174 20838828.7724
+ 1190.2194 927.4464
+ 20459120.8014 -25123787.97249 -19565615.13348 20459120.6054 20459126.6784
+ -1017.4704 -792.8334
+ 20219501.6804 -23273604.85649 -18124081.65348 20219501.0144 20219507.2574
+ 221.6764 172.7374
+ 05 1 20 15 18 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 23939582.3864 -6506541.14149 -5025341.94646 23939580.5624 23939588.0534
+ 2662.0934 2074.3504
+ 22384462.4954 -16892277.89249 -13147230.03547 22384462.2284 22384466.8294
+ 2317.6254 1805.9364
+ 24910108.7634 180101.12449 159601.54945 24910109.5994 24910116.7494
+ -3294.7044 -2567.2974
+ 22426865.9264 -11681614.48449 -9080509.87847 22426864.7834 22426870.1574
+ -2709.1844 -2111.0474
+ 20832080.9864 -19390445.86249 -15086777.87448 20832081.0184 20832086.2024
+ 1171.9904 913.2394
+ 20464982.8604 -25092985.57549 -19541613.29348 20464982.2184 20464988.3474
+ -1035.9964 -807.2664
+ 20218295.8634 -23279940.22849 -18129018.32648 20218295.5194 20218301.5014
+ 200.7084 156.3964
+ 05 1 20 15 18 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 23924400.7684 -6586313.56549 -5087502.21846 23924400.9124 23924408.1284
+ 2656.1524 2069.7374
+ 22371239.1614 -16961765.27549 -13201376.04847 22371238.3934 22371243.8334
+ 2314.8424 1803.7804
+ 24928915.7924 278924.81949 236606.94545 24928914.2604 24928923.2134
+ -3293.5694 -2566.4204
+ 22442346.0924 -11600264.75349 -9017120.54747 22442345.2454 22442350.3674
+ -2714.0624 -2114.8404
+ 20825443.6934 -19425331.72749 -15113961.67448 20825442.9074 20825447.5334
+ 1153.7234 899.0084
+ 20470949.7344 -25061626.69449 -19517177.82748 20470949.6394 20470955.5534
+ -1054.5634 -821.7364
+ 20217210.1744 -23285646.19649 -18133464.55248 20217209.5524 20217215.5464
+ 179.6784 140.0044
+ 05 1 20 15 19 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 23909253.9614 -6665909.11149 -5149524.70146 23909254.5634 23909261.9914
+ 2650.2984 2065.1624
+ 22358032.8774 -17031168.80449 -13255456.72047 22358031.8744 22358036.8974
+ 2312.0224 1801.5744
+ 24947713.2104 377713.37649 313584.97545 24947713.4714 24947721.7294
+ -3292.3564 -2565.4754
+ 22457855.1224 -11518769.11649 -8953617.49347 22457854.0954 22457859.0274
+ -2718.9374 -2118.6514
+ 20818908.3484 -19459669.53149 -15140718.40748 20818908.4764 20818913.3724
+ 1135.4484 884.7624
+ 20477023.7544 -25029711.94349 -19492309.21148 20477023.0234 20477029.2314
+ -1073.1054 -836.1864
+ 20216244.6854 -23290721.72749 -18137419.53248 20216243.7984 20216249.9694
+ 158.6514 123.6254
+ 05 1 20 15 19 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 23894143.3474 -6745327.39549 -5211409.04946 23894141.9434 23894148.2814
+ 2644.3864 2060.5604
+ 22344841.6134 -17100487.72649 -13309471.47647 22344841.1984 22344845.4354
+ 2309.2464 1799.4074
+ 24966505.4384 476465.53249 390534.62545 24966504.5224 24966514.4754
+ -3291.1084 -2564.5024
+ 22473391.0484 -11437129.45749 -8890002.25847 22473390.2744 22473394.6644
+ -2723.6814 -2122.3494
+ 20812479.1004 -19493457.98549 -15167047.09148 20812478.7384 20812483.6674
+ 1117.1154 870.4744
+ 20483202.0214 -24997241.91849 -19467007.92648 20483201.8084 20483207.8504
+ -1091.5864 -850.5864
+ 20215398.4824 -23295165.98749 -18140882.61248 20215398.1474 20215404.2094
+ 137.6424 107.2564
+ 05 1 20 15 20 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 23879063.6944 -6824567.82349 -5273154.82346 23879062.7404 23879069.5414
+ 2638.4264 2055.9154
+ 22331666.8724 -17169720.89549 -13363419.42447 22331666.3374 22331671.2504
+ 2306.3044 1797.1284
+ 24985290.2184 575180.14149 467454.99245 24985289.2514 24985298.9854
+ -3289.8204 -2563.4874
+ 22488952.4354 -11355347.47649 -8826276.12147 22488951.6964 22488956.9374
+ -2728.3934 -2126.0194
+ 20806153.4804 -19526696.11149 -15192946.94048 20806153.6324 20806158.6814
+ 1098.7424 856.1644
+ 20489486.1604 -24964217.21749 -19441274.42148 20489485.7754 20489492.2694
+ -1110.0494 -864.9734
+ 20214672.6604 -23298978.53549 -18143853.45348 20214672.4154 20214678.6094
+ 116.5404 90.8114
+ 05 1 20 15 20 30.0000000 0 7G 7G28G 3G19G11G27G 8
+ 23864018.0104 -6903629.98149 -5334761.65346 23864017.6664 23864026.2134
+ 2632.4424 2051.2604
+ 22318508.6594 -17238867.64049 -13417299.99947 22318507.8954 22318513.0244
+ 2303.4294 1794.8814
+ 25004067.7654 673856.11849 544345.28645 25004068.6514 25004076.6634
+ -3288.5684 -2562.5164
+ 22504542.2154 -11273424.95749 -8762440.45647 22504541.4794 22504545.4604
+ -2733.0754 -2129.6704
+ 20799934.3654 -19559382.42849 -15218416.81048 20799933.6584 20799938.3584
+ 1080.3834 841.8504
+ 20495875.9344 -24930638.62049 -19415109.32148 20495876.1204 20495881.6214
+ -1128.5104 -879.3624
+ 20214067.9144 -23302159.08549 -18146331.82148 20214067.3854 20214073.5034
+ 95.4334 74.3634
+ 05 1 20 15 21 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 23849007.2034 -6982513.39449 -5396229.19046 23849006.2994 23849014.5814
+ 2626.5394 2046.6424
+ 22305366.6754 -17307926.91249 -13471112.43247 22305366.5194 22305371.3874
+ 2300.5034 1792.5964
+ 25022836.7094 772492.71349 621204.87345 25022836.5524 25022844.0224
+ -3287.3064 -2561.5394
+ 22520157.4444 -11191363.68049 -8698496.63647 22520156.8024 22520162.1864
+ -2737.6784 -2133.2604
+ 20793819.2064 -19591515.86449 -15243455.85948 20793819.1784 20793823.8964
+ 1061.8804 827.4414
+ 20502371.2434 -24896506.69149 -19388513.04248 20502371.1864 20502376.9554
+ -1146.9604 -893.7334
+ 20213583.2004 -23304705.92749 -18148316.39448 20213582.8894 20213588.8444
+ 74.3624 57.9464
+ 05 1 20 15 21 30.0000000 0 8G29G 7G28G 3G19G11G27G 8
+ -32170.37641 -18636.196 4 24987720.273
+ 429.1924 338.273
+ 23834029.7414 -7061217.52749 -5457557.07846 23834028.9304 23834038.3204
+ 2620.5024 2041.9504
+ 22292242.4674 -17376897.90849 -13524856.07547 22292241.7454 22292247.3734
+ 2297.5724 1790.3264
+ 25041600.8824 871088.79349 698032.92845 25041600.0034 25041607.6464
+ -3285.8894 -2560.4274
+ 22535800.1484 -11109165.22149 -8634445.95047 22535799.3944 22535803.8614
+ -2742.2504 -2136.8144
+ 20787810.3234 -19623095.28849 -15268063.21748 20787810.2964 20787814.4064
+ 1043.3874 813.0284
+ 20508971.7964 -24861822.26849 -19361486.24648 20508971.2294 20508977.2904
+ -1165.3784 -908.0834
+ 20213219.5254 -23306619.53349 -18149807.53448 20213218.7324 20213224.7014
+ 53.2114 41.4654
+ 05 1 20 15 22 0.0000000 0 7G 7G28G 3G19G11G27G 8
+ 23819086.4564 -7139741.96149 -5518744.90446 23819086.2464 23819095.7274
+ 2614.4924 2037.2584
+ 22279134.7354 -17445779.64149 -13578530.15847 22279133.7514 22279139.1894
+ 2294.5674 1787.9684
+ 25060353.4734 969643.41849 774828.65845 25060354.7354 25060360.7684
+ -3284.5274 -2559.3714
+ 22551467.0494 -11026831.24149 -8570289.65447 22551466.9124 22551472.5884
+ -2746.7024 -2140.2824
+ 20781906.4144 -19654119.84449 -15292238.19748 20781905.9574 20781910.7934
+ 1024.8814 798.6094
+ 20515676.8984 -24826586.07249 -19334029.50148 20515676.4614 20515682.8364
+ -1183.7464 -922.3984
+ 20212975.1964 -23307898.96449 -18150804.50448 20212975.0414 20212981.3164
+ 32.0754 24.9944
+ 05 1 20 15 22 30.0000000 0 8G29G 7G28G 3G19G11G27G 8
+ -3849.59441 -394.965 3 24982321.073
+ 395.8404 308.808
+ 23804177.9974 -7218086.36849 -5579792.49646 23804178.1084 23804186.8474
+ 2608.4524 2032.5564
+ 22266043.7384 -17514571.15449 -13632133.95047 22266043.0844 22266048.5794
+ 2291.5154 1785.5934
+ 25079102.0904 1068155.25749 851591.11245 25079101.8854 25079109.3604
+ -3283.0014 -2558.1804
+ 22567160.9984 -10944364.10749 -8506029.62547 22567160.1474 22567165.7584
+ -2751.1084 -2143.7144
+ 20776108.0864 -19684588.62249 -15315980.11348 20776108.0684 20776112.9844
+ 1006.3234 784.1464
+ 20522486.2164 -24790798.78549 -19306143.34148 20522486.4904 20522492.5554
+ -1202.1174 -936.7174
+ 20212852.7034 -23308543.19549 -18151306.52448 20212852.5784 20212858.7954
+ 10.9034 8.4944
+ 05 1 20 15 23 0.0000000 0 8G29G 7G28G 3G19G11G27G 8
+ 24980016.9354 -15476.86349 -9763.70944
+ 379.3524 295.5924
+ 23789305.7094 -7296250.22949 -5640699.35846 23789304.8064 23789311.6854
+ 2602.4934 2027.9164
+ 22252970.8734 -17583271.53149 -13685666.71247 22252969.8824 22252975.3974
+ 2288.4974 1783.2404
+ 25097837.8164 1166623.61549 928319.61645 25097836.4234 25097849.4414
+ -3281.4944 -2557.0074
+ 22582879.4804 -10861765.28149 -8441666.95847 22582878.1244 22582882.4694
+ -2755.4784 -2147.1254
+ 20770416.4694 -19714500.04549 -15339287.72548 20770415.9774 20770420.8684
+ 987.7524 769.6754
+ 20529402.2354 -24754461.22749 -19277828.38348 20529401.6424 20529407.7974
+ -1220.4334 -950.9814
+ 20212851.2634 -23308552.11849 -18151313.49948 20212850.9294 20212856.8704
+ -10.2594 -7.9934
+ 05 1 20 15 23 30.0000000 0 8G29G 7G28G 3G19G11G27G 8
+ 24977899.0404 -26605.72549 -18435.54545
+ 362.6584 282.5914
+ 23774463.0044 -7374233.17349 -5701465.25646 23774462.7984 23774470.9894
+ 2596.4824 2023.2364
+ 22239914.5134 -17651879.96349 -13739127.83447 22239914.1574 22239919.4444
+ 2285.3954 1780.8194
+ 25116567.2224 1265047.62449 1005013.49445 25116567.2204 25116576.4194
+ -3280.0414 -2555.8744
+ 22598620.4664 -10779035.92449 -8377202.59647 22598620.6104 22598625.5034
+ -2759.8004 -2150.4984
+ 20764830.1614 -19743853.17249 -15362160.31048 20764830.0384 20764835.0674
+ 969.1364 755.1754
+ 20536421.2774 -24717574.24849 -19249085.31348 20536421.0344 20536427.0054
+ -1238.7294 -965.2394
+ 20212970.6534 -23307925.58049 -18150825.30448 20212969.8464 20212976.1294
+ -31.5024 -24.5524
+ 05 1 20 15 24 0.0000000 0 8G29G 7G28G 3G19G11G27G 8
+ 24975875.8854 -37236.32149 -26719.18645 24975882.4024
+ 346.0904 269.6714
+ 23759660.7774 -7452034.63349 -5762089.73246 23759659.0444 23759664.7564
+ 2590.3714 2018.4814
+ 22226876.4734 -17720395.32349 -13792516.42847 22226876.3434 22226881.5624
+ 2282.2684 1778.3864
+ 25135289.3244 1363426.17449 1081672.00145 25135289.7074 25135296.0124
+ -3278.5874 -2554.7394
+ 22614389.2394 -10696177.83049 -8312637.89147 22614388.1404 22614392.6424
+ -2764.0644 -2153.8164
+ 20759351.2204 -19772646.89349 -15384596.98248 20759351.0594 20759355.8974
+ 950.4354 740.5984
+ 20543544.7414 -24680138.65249 -19219914.74748 20543544.3704 20543550.7314
+ -1256.9844 -979.4694
+ 20213211.1234 -23306662.51749 -18149841.11948 20213210.5384 20213216.6054
+ -52.7104 -41.0744
+ 05 1 20 15 24 30.0000000 0 8G29G 7G28G 3G19G11G27G 8
+ 24973949.3604 -47368.86749 -34614.67145 24973948.2864 24973955.8774
+ 329.4814 256.7374
+ 23744888.4194 -7529654.26249 -5822572.50546 23744888.1394 23744894.6654
+ 2584.3384 2013.7754
+ 22213856.5214 -17788816.58549 -13845831.69347 22213855.8554 22213861.6624
+ 2279.1394 1775.9494
+ 25154000.9054 1461758.25249 1158294.31545 25154002.2724 25154007.8924
+ -3276.9564 -2553.4694
+ 22630179.8704 -10613193.18649 -8247974.60047 22630179.2704 22630184.9004
+ -2768.2414 -2157.0644
+ 20753979.0684 -19800880.55049 -15406597.24848 20753978.4114 20753983.5354
+ 931.8024 726.0804
+ 20550772.4904 -24642155.40749 -19190317.45048 20550772.5734 20550778.7004
+ -1275.2374 -993.6944
+ 20213572.0944 -23304762.52749 -18148360.62048 20213571.7754 20213578.3874
+ -73.9424 -57.6164
+ 05 1 20 15 25 0.0000000 0 8G29G 7G28G 3G19G11G27G 8
+ 24972114.3464 -57003.26249 -42122.03845 24972114.4294 24972122.0944
+ 312.9214 243.8374
+ 23730154.9454 -7607091.74649 -5882913.32846 23730153.5614 23730159.7194
+ 2578.2234 2009.0154
+ 22200854.9684 -17857143.02449 -13899073.07347 22200853.8914 22200859.2204
+ 2275.9434 1773.4654
+ 25172705.5844 1560043.05849 1234879.80345 25172705.3554 25172711.2484
+ -3275.4304 -2552.2844
+ 22645996.8814 -10530083.62849 -8183213.97747 22645995.7884 22646000.1604
+ -2772.3864 -2160.2974
+ 20748712.6704 -19828553.19049 -15428160.35448 20748712.2644 20748717.0804
+ 913.0564 711.4734
+ 20558104.6334 -24603625.31049 -19160294.03148 20558104.5754 20558110.9234
+ -1293.4524 -1007.8844
+ 20214055.5184 -23302225.38149 -18146383.65048 20214054.8354 20214061.0634
+ -95.2014 -74.1834
+ 05 1 20 15 25 30.0000000 0 8G29G 7G28G 3G19G11G27G 8
+ 24970377.7014 -66139.93749 -49241.56845 24970378.1264 24970382.7494
+ 296.2714 230.8584
+ 23715451.7164 -7684346.47249 -5943111.78246 23715451.5254 23715459.3174
+ 2572.1354 2004.2684
+ 22187870.8454 -17925373.53649 -13952239.72247 22187870.2724 22187875.8784
+ 2272.7454 1770.9664
+ 25191397.8234 1658279.53849 1311427.61845 25191397.2484 25191404.6824
+ -3273.8104 -2551.0234
+ 22661834.8744 -10446850.79549 -8118357.26447 22661833.8194 22661839.4814
+ -2776.4804 -2163.4894
+ 20743553.2124 -19855663.81049 -15449285.53048 20743553.0434 20743558.5594
+ 894.3284 696.8814
+ 20565541.8814 -24564549.21549 -19129845.15348 20565540.9724 20565546.8334
+ -1311.6334 -1022.0524
+ 20214659.4804 -23299050.29049 -18143909.57048 20214658.9374 20214665.5434
+ -116.4634 -90.7504
+ 05 1 20 15 26 0.0000000 0 8G29G 7G28G 3G19G11G27G 8
+ 24968733.1994 -74778.96349 -55973.32545 24968733.3794 24968736.9954
+ 279.7144 217.9574
+ 23700786.2354 -7761418.19349 -6003167.64046 23700784.7764 23700793.6104
+ 2566.0484 1999.5094
+ 22174905.5794 -17993507.07249 -14005330.78647 22174904.8564 22174910.1524
+ 2269.4854 1768.4294
+ 25210081.0434 1756466.68149 1387936.96945 25210080.5144 25210092.3334
+ -3272.1194 -2549.6974
+ 22677696.7794 -10363496.17049 -8053405.67347 22677695.8654 22677700.9644
+ -2780.5084 -2166.6374
+ 20738502.1504 -19882211.52749 -15469972.07848 20738501.7534 20738506.3654
+ 875.4974 682.2084
+ 20573080.8894 -24524928.03849 -19098971.54248 20573080.4364 20573086.4794
+ -1329.7834 -1036.1944
+ 20215384.7854 -23295237.46049 -18140938.55248 20215384.5094 20215390.8594
+ -137.7314 -107.3234
+ 05 1 20 15 26 30.0000000 0 8G29G 7G28G 3G19G11G27G 8
+ 24967184.8974 -82920.52149 -62317.46445 24967182.8994 24967187.6594
+ 263.2004 205.0934
+ 23686153.4644 -7838306.50549 -6063080.59546 23686154.0974 23686162.4714
+ 2559.9814 1994.7964
+ 22161957.6764 -18061542.77549 -14058345.62847 22161957.4574 22161963.6594
+ 2266.2164 1765.8924
+ 25228757.9994 1854603.50749 1464407.15044 25228757.6574 25228767.4734
+ -3270.3834 -2548.3514
+ 22693581.2694 -10280021.75149 -7988360.72547 22693580.5174 22693585.5764
+ -2784.4564 -2169.7064
+ 20733556.9294 -19908195.54249 -15490219.37948 20733556.8994 20733561.5064
+ 856.7414 667.5934
+ 20580723.4094 -24484762.81549 -19067673.99448 20580723.4514 20580729.6534
+ -1347.8844 -1050.2974
+ 20216232.2564 -23290786.23149 -18137470.08248 20216231.6934 20216237.8114
+ -159.0094 -123.9014
+ 05 1 20 15 27 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24965729.9074 -90564.90549 -68274.14245 24965728.6284 24965734.5734
+ 246.5514 192.1234
+ 23671558.6894 -7915010.88549 -6122850.19546 23671556.9014 23671565.5804
+ 2553.7764 1989.9634
+ 22149030.8444 -18129479.60349 -14111283.42247 22149029.9784 22149035.4274
+ 2262.8864 1763.2814
+ 22709488.6064 -10196429.24249 -7923223.78747 22709488.2874 22709493.7744
+ -2788.3744 -2172.7494
+ 20728720.6024 -19933614.74649 -15510026.56648 20728720.1074 20728724.5764
+ 837.8654 652.8824
+ 20588470.5264 -24444054.50349 -19035953.26448 20588469.9594 20588476.3714
+ -1366.0034 -1064.4184
+ 20217200.9824 -23285696.33449 -18133503.94848 20217200.2454 20217206.4374
+ -180.3064 -140.4974
+ 05 1 20 15 27 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24964370.4804 -97712.42349 -73843.67245 24964371.1034 24964375.4374
+ 229.9784 179.2044
+ 23656997.6644 -7991531.13549 -6182476.34246 23656996.3884 23657004.6384
+ 2547.5984 1985.1454
+ 22136121.7134 -18197316.42849 -14164143.28647 22136121.0584 22136126.4094
+ 2259.5404 1760.6774
+ 22725419.6894 -10112720.03349 -7857995.88747 22725416.7724 22725422.6474
+ -2792.2474 -2175.7684
+ 20723990.7504 -19958468.47749 -15529393.11848 20723990.5444 20723995.3284
+ 819.0154 638.1924
+ 20596320.0614 -24402803.98149 -19003810.02948 20596320.1184 20596326.2294
+ -1384.0714 -1078.4994
+ 20218290.8944 -23279967.61149 -18129040.03548 20218290.4214 20218296.7594
+ -201.6334 -157.1124
+ 05 1 20 15 28 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24963104.4834 -104363.43049 -79026.32145 24963104.3684 24963109.7324
+ 213.4964 166.3614
+ 23642470.7244 -8067866.79949 -6241958.64746 23642469.9034 23642477.8904
+ 2541.5024 1980.3894
+ 22123231.7564 -18265052.34249 -14216924.52947 22123231.2044 22123236.8484
+ 2256.1764 1758.0594
+ 22741367.5764 -10028895.82949 -7792678.39847 22741368.3444 22741373.0294
+ -2796.0054 -2178.7024
+ 20719369.5964 -19982755.96249 -15548318.45148 20719368.7064 20719373.2364
+ 800.1384 623.4844
+ 20604272.5244 -24361012.32749 -18971245.14248 20604272.3774 20604278.5404
+ -1402.0844 -1092.5304
+ 20219502.8374 -23273599.58049 -18124077.95248 20219502.0714 20219508.4794
+ -222.9174 -173.6994
+ 05 1 20 15 28 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24961932.3244 -110518.05049 -83822.18945 24961932.7634 24961938.7694
+ 196.9424 153.4694
+ 23627978.9524 -8144017.46949 -6301296.80946 23627979.5714 23627987.2124
+ 2535.3514 1975.5984
+ 22110361.4174 -18332686.38349 -14269626.37447 22110361.0034 22110366.7284
+ 2252.7594 1755.3914
+ 22757342.5324 -9944958.29949 -7727272.59047 22757341.0354 22757345.6794
+ -2799.8094 -2181.6664
+ 20714854.7164 -20006476.56949 -15566802.05148 20714854.6244 20714859.7294
+ 781.2134 608.7354
+ 20612328.0714 -24318680.64349 -18938259.44048 20612327.9254 20612334.1684
+ -1420.0734 -1106.5524
+ 20220836.4144 -23266591.74149 -18118617.32048 20220835.8214 20220842.1804
+ -244.2544 -190.3314
+ 05 1 20 15 29 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24960858.6634 -116176.72149 -88231.56445 24960857.1074 24960862.7154
+ 180.3694 140.5424
+ 23613524.6004 -8219982.88349 -6360490.61346 23613523.7434 23613530.9654
+ 2529.0894 1970.7194
+ 22097510.4664 -18400217.33049 -14322247.91347 22097510.1544 22097515.9464
+ 2249.3024 1752.7054
+ 22773336.5664 -9860909.23549 -7661779.87047 22773335.5854 22773340.0514
+ -2803.4734 -2184.5184
+ 20710449.0904 -20029629.14649 -15584843.04048 20710448.8604 20710453.4494
+ 762.2714 593.9744
+ 20620485.9364 -24275810.01649 -18904853.79048 20620486.0134 20620492.3774
+ -1437.9834 -1120.5054
+ 20222291.5994 -23258944.32249 -18112658.31448 20222291.0984 20222297.3274
+ -265.5844 -206.9484
+ 05 1 20 15 29 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24959867.1484 -121339.60348 -92254.63345 24959870.9694 24959879.2974
+ 163.8824 127.6994
+ 23599103.4604 -8295762.52049 -6419539.66446 23599103.2364 23599110.2174
+ 2522.9814 1965.9664
+ 22084680.7204 -18467644.31649 -14374788.42847 22084679.8384 22084684.9394
+ 2245.8244 1749.9884
+ 22789350.7164 -9776750.16749 -7596201.42147 22789349.9504 22789355.6464
+ -2807.1014 -2187.3474
+ 20706151.4094 -20052213.32049 -15602441.11448 20706151.2874 20706155.8654
+ 743.3074 579.2004
+ 20628746.8734 -24232401.47749 -18871028.98548 20628746.6224 20628752.7184
+ -1455.9274 -1134.4904
+ 20223868.3174 -23250657.08149 -18106200.74548 20223868.1624 20223874.4274
+ -286.8964 -223.5564
+ 05 1 20 15 30 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24958986.1364 -126007.25449 -95891.81345 24958984.1464 24958991.4804
+ 147.3654 114.8314
+ 23584719.2504 -8371356.24949 -6478443.83246 23584718.4964 23584724.5904
+ 2516.6754 1961.0574
+ 22071869.3324 -18534966.26649 -14427247.09947 22071868.5594 22071874.0164
+ 2242.2944 1747.2444
+ 22805384.4544 -9692482.42049 -7530538.31347 22805385.0234 22805391.1764
+ -2810.7104 -2190.1614
+ 20701962.8424 -20074227.87749 -15619595.32648 20701961.9274 20701967.0944
+ 724.3004 564.3944
+ 20637109.0914 -24188456.13549 -18836785.89448 20637108.6754 20637115.3564
+ -1473.7684 -1148.3874
+ 20225567.5884 -23241730.23249 -18099244.78448 20225567.1434 20225573.3194
+ -308.2314 -240.1764
+ 05 1 20 15 30 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24958189.9484 -130180.05549 -99143.34945 24958190.1734 24958198.4144
+ 130.8804 101.9874
+ 23570370.1334 -8446763.51749 -6537202.68346 23570368.0624 23570374.8624
+ 2510.5234 1956.2484
+ 22059078.5384 -18602182.14249 -14479623.11247 22059078.0394 22059083.6034
+ 2238.7534 1744.4874
+ 22821442.0704 -9608107.97449 -7464792.07247 22821441.8444 22821446.8444
+ -2814.2174 -2192.8974
+ 20697881.9874 -20095672.35949 -15636305.33148 20697881.5974 20697886.2634
+ 705.3264 549.6054
+ 20645573.6124 -24143975.12749 -18802125.40448 20645573.3134 20645579.7124
+ -1491.6334 -1162.3074
+ 20227388.2594 -23232163.09849 -18091789.89848 20227387.4454 20227393.7814
+ -329.5694 -256.8064
+ 05 1 20 15 31 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24957486.8344 -133858.41848 -102009.61545 24957488.8734 24957497.9264
+ 114.3304 89.0884
+ 23556055.1814 -8521984.01349 -6595816.03146 23556055.2364 23556061.6484
+ 2504.3124 1951.4024
+ 22046308.0044 -18669290.71449 -14531915.51547 22046307.4464 22046312.5404
+ 2235.1694 1741.6924
+ 22837518.6854 -9523628.35749 -7398963.86047 22837517.2254 22837522.4774
+ -2817.7164 -2195.6344
+ 20693909.1954 -20116546.17449 -15652570.66248 20693909.3994 20693914.4544
+ 686.2714 534.7594
+ 20654140.2494 -24098959.50049 -18767048.32948 20654139.6274 20654145.7994
+ -1509.4114 -1176.1664
+ 20229330.0194 -23221955.54149 -18083835.97848 20229329.7844 20229336.1814
+ -350.9224 -273.4444
+ 05 1 20 15 31 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24956883.7834 -137042.74849 -104490.93645 24956882.5544 24956892.4664
+ 97.9414 76.3184
+ 23541775.5794 -8597017.53449 -6654283.68446 23541774.7174 23541782.9064
+ 2498.0504 1946.5384
+ 22033557.9274 -18736291.09349 -14584123.61447 22033557.4824 22033562.5664
+ 2231.5204 1738.8424
+ 22853614.6984 -9439045.12949 -7333054.90247 22853613.2214 22853618.1194
+ -2821.1734 -2198.3204
+ 20690046.4604 -20136848.73049 -15668390.85148 20690045.7884 20690050.8454
+ 667.2034 519.8994
+ 20662807.8584 -24053410.56649 -18731555.68448 20662807.4854 20662813.7154
+ -1527.2104 -1190.0324
+ 20231394.5374 -23211107.55349 -18075383.02648 20231394.3164 20231400.5374
+ -372.2804 -290.0844
+ 05 1 20 15 32 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24956370.0854 -139733.56549 -106587.73345 24956371.4024 24956378.1494
+ 81.4814 63.4874
+ 23527533.5084 -8671863.60049 -6712605.27546 23527532.5654 23527540.4674
+ 2491.7934 1941.6564
+ 22020829.1194 -18803182.11949 -14636246.49447 22020828.7464 22020833.8554
+ 2227.8344 1735.9734
+ 22869728.9554 -9354359.79949 -7267066.40347 22869728.0534 22869734.0164
+ -2824.5394 -2200.9474
+ 20686291.0414 -20156579.24349 -15683765.28948 20686291.1594 20686296.3664
+ 648.1364 505.0414
+ 20671576.7574 -24007329.60249 -18695648.47248 20671576.3124 20671582.8144
+ -1544.9044 -1203.8184
+ 20233581.3024 -23199619.55149 -18066431.36148 20233580.5084 20233586.5474
+ -393.6224 -306.7194
+ 05 1 20 15 32 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24955954.1064 -141931.13449 -108300.14345 24955953.0584 24955961.7004
+ 65.0824 50.7124
+ 23513327.4124 -8746522.04749 -6770780.67846 23513325.4344 23513334.4434
+ 2485.5104 1936.7674
+ 22008120.3014 -18869962.72349 -14688283.34447 22008120.5544 22008125.7784
+ 2224.1614 1733.1064
+ 22885864.0894 -9269574.18649 -7200999.75547 22885862.3344 22885867.9834
+ -2827.8224 -2203.4904
+ 20682646.2084 -20175737.24749 -15698693.62148 20682645.7884 20682650.8454
+ 629.0664 490.1864
+ 20680446.6634 -23960717.49249 -18659327.39248 20680446.1934 20680452.4894
+ -1562.5634 -1217.5814
+ 20235888.5824 -23187491.07549 -18056980.62348 20235888.0504 20235894.7804
+ -414.9354 -323.3244
+ 05 1 20 15 33 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24955627.1724 -143636.16149 -109628.76345 24955627.1164 24955638.1644
+ 48.7154 37.9594
+ 23499154.9134 -8820992.37649 -6828809.47146 23499153.4344 23499162.7094
+ 2479.2714 1931.8874
+ 21995434.9324 -18936631.76249 -14740233.25047 21995434.2044 21995439.6384
+ 2220.4324 1730.2104
+ 22902016.7794 -9184689.68249 -7134856.03447 22902015.4424 22902020.8794
+ -2831.0984 -2206.0444
+ 20679109.4724 -20194321.92449 -15713175.19948 20679109.2844 20679113.9614
+ 609.9094 475.2534
+ 20689417.1174 -23913575.75849 -18622593.60048 20689416.8954 20689423.4174
+ -1580.2294 -1231.3474
+ 20238317.9274 -23174722.42849 -18047031.05548 20238317.8294 20238324.3514
+ -436.3014 -339.9744
+ 05 1 20 15 33 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24955395.4594 -144849.01549 -110573.92445 24955397.4264 24955408.5644
+ 32.2784 25.1554
+ 23485020.5954 -8895274.35749 -6886691.53646 23485018.8574 23485027.6464
+ 2472.9584 1926.9634
+ 21982769.8264 -19003188.20449 -14792095.43147 21982769.1344 21982773.8214
+ 2216.6514 1727.2594
+ 22918188.1714 -9099707.78449 -7068636.44747 22918187.3744 22918192.7504
+ -2834.3014 -2208.5394
+ 20675682.1664 -20212332.88149 -15727209.72648 20675681.9194 20675686.7424
+ 590.8014 460.3644
+ 20698488.5924 -23865905.57249 -18585448.03948 20698488.1854 20698494.6534
+ -1597.7934 -1245.0354
+ 20240869.7114 -23161313.55949 -18036582.61248 20240869.3894 20240875.9684
+ -457.6104 -356.5784
+ 05 1 20 15 34 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24955258.8014 -145570.38049 -111136.11545 24955258.8214 24955270.0574
+ 15.9404 12.4274
+ 23470920.4264 -8969367.83549 -6944426.71546 23470920.7594 23470927.2384
+ 2466.6844 1922.1084
+ 21970126.2584 -19069631.02349 -14843869.05747 21970125.4994 21970130.9084
+ 2212.8504 1724.2964
+ 22934376.5884 -9014630.25049 -7002342.32247 22934376.4034 22934382.5234
+ -2837.5014 -2211.0314
+ 20672364.5554 -20229769.75849 -15740796.91648 20672363.8524 20672368.4944
+ 571.6524 445.4404
+ 20707660.7344 -23817708.24049 -18547891.71548 20707660.4634 20707666.4994
+ -1615.3574 -1258.7164
+ 20243543.3284 -23147264.58849 -18025635.38548 20243542.8534 20243549.2884
+ -478.9614 -373.2184
+ 05 1 20 15 34 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24955215.3044 -145800.83049 -111315.72145 24955216.1464 24955225.1224
+ -.4234 -.3244
+ 23456856.7594 -9043272.24349 -7002014.55046 23456856.2064 23456864.6374
+ 2460.4334 1917.2184
+ 21957503.9614 -19135958.88149 -14895553.11047 21957503.6154 21957509.0454
+ 2209.0144 1721.3084
+ 22950586.1294 -8929458.41249 -6935974.72147 22950584.4514 22950589.4784
+ -2840.6034 -2213.4664
+ 20669154.8614 -20246631.85149 -15753936.22748 20669155.0184 20669159.9764
+ 552.4994 430.5234
+ 20716932.6034 -23768985.20749 -18509925.74448 20716931.8594 20716938.1774
+ -1632.8324 -1272.3374
+ 20246339.1554 -23132575.26849 -18014189.18948 20246338.6494 20246344.7004
+ -500.2844 -389.8304
+ 05 1 20 15 35 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24955264.7284 -145540.77449 -111113.13345 24955265.8424 24955274.6084
+ -16.9454 -13.2014
+ 23442829.2054 -9116987.47549 -7059454.98346 23442828.5604 23442836.3104
+ 2454.0724 1912.2674
+ 21944904.3364 -19202170.78449 -14947146.81647 21944903.8354 21944909.4984
+ 2205.1314 1718.2894
+ 22966809.5714 -8844194.08249 -6869535.04646 22966809.4984 22966815.7964
+ -2843.6394 -2215.8164
+ 20666055.7394 -20262918.74949 -15766627.33348 20666055.8164 20666060.4634
+ 533.3024 415.5614
+ 20726303.9054 -23719737.56449 -18471551.00548 20726303.6644 20726309.5784
+ -1650.3204 -1285.9604
+ 20249256.3344 -23117245.86849 -18002244.23348 20249255.9134 20249261.9434
+ -521.6584 -406.4854
+ 05 1 20 15 35 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24955409.5114 -144791.07649 -110528.98745 24955408.6534 24955416.3904
+ -33.0884 -25.7844
+ 23428838.1254 -9190513.12349 -7116747.66146 23428836.7704 23428844.4184
+ 2447.7184 1907.3124
+ 21932327.0854 -19268265.76949 -14998649.40447 21932326.6144 21932331.6394
+ 2201.2154 1715.2334
+ 22983054.1884 -8758838.62949 -6803024.37847 22983053.4024 22983058.3324
+ -2846.6784 -2218.1844
+ 20663066.3524 -20278629.87749 -15778869.78848 20663065.7894 20663070.7794
+ 514.1014 400.6034
+ 20735775.0584 -23669966.79249 -18432768.61948 20735774.5944 20735780.8334
+ -1667.7504 -1299.5404
+ 20252295.1184 -23101276.79749 -17989800.82648 20252294.5714 20252300.7934
+ -542.9474 -423.0694
+ 05 1 20 15 36 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24955644.4024 -143552.15749 -109563.63545 24955645.5604 24955654.6704
+ -49.3964 -38.4844
+ 23414881.6974 -9263848.98649 -7173892.48546 23414882.1774 23414888.7714
+ 2441.4354 1902.4274
+ 21919771.9354 -19334242.33949 -15050059.72847 21919771.5454 21919776.5924
+ 2197.2504 1712.1404
+ 22999313.5414 -8673393.50449 -6736443.84247 22999312.4904 22999318.2394
+ -2849.6254 -2220.4864
+ 20660185.2694 -20293764.94849 -15790663.36148 20660185.3664 20660190.5914
+ 494.9174 385.6514
+ 20745345.5964 -23619674.20349 -18393579.62348 20745344.9074 20745351.2564
+ -1685.0924 -1313.0594
+ 20255455.4874 -23084667.81449 -17976858.78548 20255454.9494 20255461.3524
+ -564.2684 -439.6874
+ 05 1 20 15 36 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24955976.0854 -141824.80449 -108217.67245 24955973.3454 24955982.1394
+ -65.6794 -51.1824
+ 23400964.1514 -9336994.77649 -7230889.17946 23400962.9874 23400969.7094
+ 2435.0884 1897.4764
+ 21907240.1024 -19400099.61049 -15101377.09347 21907239.0464 21907244.3174
+ 2193.2374 1709.0154
+ 23015590.4884 -8587860.22849 -6669794.59847 23015589.9604 23015594.4464
+ -2852.5604 -2222.7784
+ 20657415.6344 -20308323.55249 -15802007.74548 20657415.4284 20657420.4304
+ 475.6714 370.6514
+ 20755014.8844 -23568861.19149 -18353985.10548 20755014.5484 20755020.7304
+ -1702.4524 -1326.5854
+ 20258738.4304 -23067419.29549 -17963418.40648 20258737.5794 20258743.8144
+ -585.6004 -456.3134
+ 05 1 20 15 37 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24956395.1494 -139609.47449 -106491.47845 24956395.7204 24956404.0154
+ -82.0294 -63.9164
+ 23387079.7844 -9409950.27349 -7287737.59446 23387080.0594 23387087.9804
+ 2428.7314 1892.5304
+ 21894730.1414 -19465836.38549 -15152600.55947 21894729.6864 21894734.8884
+ 2189.2134 1705.8844
+ 23031882.7604 -8502240.53349 -6603078.01846 23031881.9524 23031887.6024
+ -2855.4224 -2225.0034
+ 20654754.9794 -20322305.11449 -15812902.48848 20654754.6944 20654759.5594
+ 456.4284 355.6614
+ 20764782.6184 -23517529.19049 -18313986.17848 20764782.6244 20764788.7004
+ -1719.7544 -1340.0674
+ 20262141.9724 -23049531.91849 -17949480.22048 20262141.4434 20262147.6074
+ -606.9364 -472.9384
+ 05 1 20 15 37 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24956912.2884 -136907.01049 -104385.72945 24956910.0544 24956917.7734
+ -98.1304 -76.4674
+ 23373233.0124 -9482715.03149 -7344437.39646 23373232.9904 23373241.1954
+ 2422.4014 1887.5774
+ 21882243.8574 -19531451.44849 -15203729.19347 21882243.5934 21882248.7284
+ 2185.1424 1702.7094
+ 23048190.5254 -8416535.59349 -6536295.04246 23048190.5104 23048196.9684
+ -2858.2404 -2227.1984
+ 20652204.1164 -20335709.46249 -15823347.45348 20652204.0374 20652209.0804
+ 437.1874 340.6684
+ 20774649.5694 -23465679.56049 -18273583.90948 20774649.3964 20774655.5304
+ -1736.9304 -1353.4544
+ 20265667.1364 -23031005.16849 -17935043.81848 20265666.6514 20265673.1384
+ -628.1624 -489.4794
+ 05 1 20 15 38 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24957517.5154 -133718.01249 -101900.82745 24957517.6424 24957523.5794
+ -114.3284 -89.0864
+ 23359423.8034 -9555288.97249 -7400988.52546 23359422.5684 23359430.6484
+ 2416.0044 1882.5994
+ 21869781.6664 -19596943.74549 -15254762.14847 21869781.0894 21869786.4584
+ 2181.0104 1699.4854
+ 23064518.0564 -8330747.16249 -6469446.97347 23064516.1784 23064521.3244
+ -2860.9774 -2229.3244
+ 20649763.4014 -20348536.27349 -15833342.39048 20649763.2174 20649767.9604
+ 417.9124 325.6464
+ 20784614.4744 -23413313.89149 -18232779.52148 20784613.7764 20784620.5894
+ -1754.1474 -1366.8644
+ 20269314.2454 -23011840.17949 -17920110.08448 20269313.8384 20269319.9544
+ -649.4774 -506.0834
+ 05 1 20 15 38 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24958215.5674 -130043.29949 -99037.43045 24958218.5604 24958224.7234
+ -130.5334 -101.7064
+ 23345648.8014 -9627671.90049 -7457390.77146 23345647.7624 23345656.0164
+ 2409.6714 1877.6574
+ 21857342.1064 -19662311.78549 -15305698.29647 21857341.9724 21857347.4874
+ 2176.8504 1696.2484
+ 23080857.0524 -8244876.53349 -6402534.87346 23080856.6384 23080862.4174
+ -2863.6894 -2231.4364
+ 20647432.8874 -20360785.14349 -15842886.98148 20647432.3524 20647437.1924
+ 398.6364 310.6274
+ 20794677.1354 -23360433.49449 -18191574.06848 20794677.0104 20794683.7474
+ -1771.2484 -1380.1914
+ 20273083.0044 -22992037.17849 -17904679.19948 20273082.3124 20273088.6314
+ -670.7394 -522.6524
+ 05 1 20 15 39 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24959011.7064 -125883.69549 -95796.22245 24959009.1524 24959015.0864
+ -146.6694 -114.2914
+ 23331912.3674 -9699863.32749 -7513643.82946 23331910.7284 23331918.5514
+ 2403.2804 1872.6924
+ 21844927.3254 -19727554.53249 -15356536.81547 21844926.8264 21844932.1934
+ 2172.6674 1692.9894
+ 23097212.5514 -8158925.22449 -6335559.91046 23097212.5674 23097218.1054
+ -2866.3754 -2233.5334
+ 20645211.6374 -20372455.74049 -15851980.97048 20645211.2074 20645216.6264
+ 379.3824 295.6294
+ 20804838.1084 -23307040.17749 -18149968.91848 20804837.5474 20804843.6974
+ -1788.3364 -1393.5094
+ 20276972.3884 -22971596.10549 -17888751.13248 20276972.2404 20276978.3964
+ -692.0094 -539.2234
+ 05 1 20 15 39 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24959893.0834 -121239.91949 -92177.74745 24959893.7734 24959899.8054
+ -162.7244 -126.7974
+ 23318211.5374 -9771863.22249 -7569747.63246 23318211.0714 23318217.6624
+ 2396.8754 1867.6994
+ 21832536.0454 -19792670.88549 -15407276.83647 21832535.4624 21832541.1614
+ 2168.4264 1689.6784
+ 23113586.0074 -8072894.92349 -6268523.38946 23113583.9044 23113589.2424
+ -2868.9844 -2235.5684
+ 20643100.4224 -20383547.83149 -15860624.17448 20643100.5994 20643105.3804
+ 360.1024 280.5984
+ 20815095.2024 -23253135.04049 -18107964.95648 20815095.0454 20815101.5284
+ -1805.3414 -1406.7554
+ 20280983.3904 -22950517.47149 -17872326.24748 20280983.1014 20280989.7264
+ -713.2284 -555.7624
+ 05 1 20 15 40 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24960869.9244 -116112.79649 -88182.63545 24960869.6094 24960873.5684
+ -178.8984 -139.3994
+ 23304545.1464 -9843671.26249 -7625701.92246 23304545.5844 23304553.5644
+ 2390.4324 1862.6844
+ 21820169.0314 -19857659.67949 -15457917.47647 21820168.6074 21820174.0534
+ 2164.1414 1686.3454
+ 23129971.1684 -7986786.86749 -6201426.28146 23129969.6794 23129975.1704
+ -2871.5164 -2237.5414
+ 20641100.2794 -20394061.27149 -15868816.48248 20641100.2774 20641105.3354
+ 340.8034 265.5634
+ 20825450.6534 -23198719.88249 -18065563.58048 20825450.1504 20825456.6914
+ -1822.3224 -1419.9934
+ 20285115.3004 -22928801.74149 -17855404.92048 20285115.2424 20285122.0734
+ -734.4674 -572.3144
+ 05 1 20 15 40 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24961936.3024 -110503.07149 -83811.46245 24961937.2874 24961943.3434
+ -194.9914 -151.9334
+ 23290917.5324 -9915287.27949 -7681506.58746 23290917.3644 23290925.1304
+ 2384.1024 1857.7434
+ 21807826.4944 -19922519.59249 -15508457.68747 21807826.1814 21807831.6514
+ 2159.8144 1682.9734
+ 23146370.2774 -7900602.57649 -6134269.77646 23146369.4344 23146375.3284
+ -2874.0764 -2239.5384
+ 20639210.2194 -20403995.80249 -15876557.70048 20639209.7174 20639214.7514
+ 321.4914 250.5134
+ 20835902.2904 -23143796.15049 -18022765.90648 20835901.8824 20835908.2804
+ -1839.2484 -1433.1814
+ 20289369.5984 -22906449.37649 -17837987.52048 20289368.9414 20289375.4344
+ -755.6754 -588.8384
+ 05 1 20 15 41 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24963096.9664 -104411.65649 -79064.95545 24963096.8864 24963101.0694
+ -211.0584 -164.4644
+ 23277327.1434 -9986710.93649 -7737161.38146 23277326.1504 23277333.0194
+ 2377.6014 1852.6964
+ 21795509.1684 -19987249.49049 -15558896.57347 21795508.5754 21795513.7524
+ 2155.4864 1679.6024
+ 23162785.2504 -7814343.42449 -6067054.93646 23162785.1464 23162790.1164
+ -2876.5294 -2241.4434
+ 20637429.5484 -20413351.15349 -15883847.60048 20637429.3534 20637434.2824
+ 302.1794 235.4654
+ 20846450.2674 -23088365.51849 -17979573.25148 20846449.6684 20846456.2704
+ -1856.1524 -1446.3534
+ 20293744.2494 -22883461.00949 -17820074.53748 20293743.5704 20293750.1534
+ -776.8624 -605.3484
+ 05 1 20 15 41 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24964347.5604 -97839.34749 -73943.74645 24964346.7604 24964352.3854
+ -227.0504 -176.9194
+ 23263771.4534 -10057942.16149 -7792666.20546 23263770.9754 23263779.1304
+ 2371.1954 1847.6814
+ 21783216.4314 -20051848.08449 -15609233.15947 21783215.9304 21783220.9394
+ 2151.1034 1676.1784
+ 23179214.3644 -7728010.99149 -5999782.97246 23179213.0004 23179218.7664
+ -2878.9064 -2243.2994
+ 20635759.4914 -20422127.19849 -15890686.10048 20635759.5964 20635764.3474
+ 282.8694 220.4194
+ 20857094.2354 -23032429.46149 -17935986.75848 20857093.9704 20857100.5714
+ -1872.9804 -1459.4634
+ 20298239.9994 -22859836.74249 -17801666.04648 20298239.3014 20298245.6514
+ -798.0694 -621.8764
+ 05 1 20 15 42 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24965690.3094 -90786.96449 -68448.45145 24965689.5454 24965693.2044
+ -243.0574 -189.3914
+ 23250253.0974 -10128980.60949 -7848020.82846 23250252.9004 23250261.0064
+ 2364.6784 1842.6014
+ 21770948.3534 -20116314.22149 -15659466.51847 21770948.2504 21770953.5344
+ 2146.6254 1672.6954
+ 23195656.6884 -7641606.49749 -5932454.87046 23195655.7264 23195660.4554
+ -2881.3464 -2245.1874
+ 20634199.7864 -20430323.81949 -15897073.09648 20634199.7874 20634204.5914
+ 263.5394 205.3574
+ 20867834.8674 -22975989.53249 -17892007.62648 20867834.8674 20867840.7644
+ -1889.7014 -1472.4954
+ 20302856.2064 -22835577.19749 -17782762.52948 20302855.6914 20302862.2384
+ -819.2514 -638.3774
+ 05 1 20 15 42 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24967119.8144 -83255.59849 -62579.88145 24967122.1014 24967125.7644
+ -259.0084 -201.8184
+ 23236771.5014 -10199826.05149 -7903225.04646 23236770.5604 23236778.6254
+ 2358.3854 1837.7054
+ 21758706.9904 -20180646.63649 -15709595.68247 21758706.4704 21758711.3754
+ 2142.1574 1669.2084
+ 23212111.7704 -7555131.49649 -5865071.85046 23212110.4394 23212115.8764
+ -2883.6574 -2247.0064
+ 20632751.1614 -20437941.02249 -15903008.59948 20632750.4014 20632755.2044
+ 244.2334 190.3114
+ 20878670.4104 -22919047.59549 -17847637.32348 20878669.8624 20878676.7674
+ -1906.4244 -1485.5244
+ 20307593.8114 -22810683.09849 -17763364.55348 20307592.9994 20307599.5474
+ -840.3554 -654.8204
+ 05 1 20 15 43 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24968646.4294 -75245.94249 -56338.61445 24968643.7854 24968650.7384
+ -274.9264 -214.2294
+ 23223327.1864 -10270478.43749 -7958278.84146 23223326.2744 23223333.5394
+ 2351.8904 1832.6404
+ 21746490.3474 -20244843.98549 -15759619.60347 21746490.2564 21746495.3484
+ 2137.6354 1665.6894
+ 23228581.3614 -7468587.50949 -5797635.06046 23228580.1164 23228585.7414
+ -2885.9274 -2248.7784
+ 20631410.9074 -20444978.53849 -15908492.39348 20631410.9174 20631416.1994
+ 224.9074 175.2534
+ 20889601.8384 -22861605.20349 -17802877.07048 20889600.9334 20889607.3284
+ -1923.0694 -1498.4914
+ 20312450.7004 -22785154.98449 -17743472.54748 20312450.6814 20312457.0804
+ -861.4974 -671.2934
+ 05 1 20 15 43 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24970261.5204 -66758.95849 -49725.42645 24970261.5344 24970266.9694
+ -290.8204 -226.6104
+ 23209918.4334 -10340937.47449 -8013181.95946 23209919.0974 23209925.0214
+ 2345.4924 1827.6574
+ 21734300.1074 -20308904.95849 -15809537.25147 21734299.6174 21734305.0264
+ 2133.1084 1662.1624
+ 23245062.4914 -7381975.76849 -5730145.47446 23245062.2164 23245067.5814
+ -2888.1584 -2250.5174
+ 20630182.0834 -20451436.20949 -15913524.36548 20630182.1004 20630186.9014
+ 205.6004 160.2084
+ 20900627.6784 -22803664.10049 -17757728.19948 20900626.8604 20900633.3454
+ -1939.6304 -1511.3994
+ 20317429.8954 -22758993.18449 -17723086.75848 20317429.1954 20317435.5524
+ -882.6154 -687.7504
+ 05 1 20 15 44 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24971965.1134 -57795.70449 -42741.12745 24971963.5334 24971971.8574
+ -306.5674 -238.8864
+ 23196547.2884 -10411203.03949 -8067934.34446 23196547.2694 23196554.5684
+ 2338.9704 1822.5724
+ 21722135.2254 -20372828.52449 -15859347.83147 21722135.2504 21722140.3794
+ 2128.4934 1658.5634
+ 23261557.7904 -7295297.74749 -5662604.26046 23261556.7774 23261561.1924
+ -2890.2844 -2252.1724
+ 20629063.3634 -20457314.11149 -15918104.57148 20629063.3744 20629068.6194
+ 186.2384 145.1164
+ 20911747.3434 -22745225.78249 -17712191.89848 20911747.4924 20911754.2054
+ -1956.2634 -1524.3554
+ 20322528.8474 -22732198.54949 -17702207.85148 20322528.2804 20322534.6924
+ -903.6844 -704.1714
+ 05 1 20 15 44 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24973762.1384 -48357.14149 -35386.43445 24973759.5004 24973767.1014
+ -322.4434 -251.2454
+ 23183213.5824 -10481275.01849 -8122535.85946 23183212.9984 23183220.3324
+ 2332.5214 1817.5554
+ 21709997.6744 -20436613.28849 -15909050.25747 21709997.1414 21710003.0454
+ 2123.8354 1654.9384
+ 23278063.7104 -7208554.62549 -5595012.28646 23278063.6374 23278068.7934
+ -2892.4724 -2253.8724
+ 20628056.1704 -20462612.42049 -15922233.15348 20628055.7004 20628060.3954
+ 166.9474 130.0924
+ 20922962.0044 -22686292.21549 -17666269.67848 20922961.9704 20922968.5744
+ -1972.7024 -1537.1674
+ 20327747.5704 -22704771.85549 -17680836.43348 20327747.2384 20327753.6064
+ -924.7444 -720.5774
+ 05 1 20 15 45 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24975646.8844 -38444.40249 -27662.28045 24975648.0454 24975655.3804
+ -338.2794 -263.5974
+ 23169916.9334 -10551152.98249 -8176986.20946 23169916.3074 23169923.4534
+ 2326.0474 1812.5304
+ 21697887.1914 -20500257.93149 -15958643.48947 21697886.3424 21697891.6924
+ 2119.1474 1651.2834
+ 23294583.1774 -7121747.76449 -5527370.65946 23294581.7974 23294587.8814
+ -2894.6834 -2255.6044
+ 20627157.7724 -20467330.92949 -15925909.92748 20627157.3834 20627162.4494
+ 147.6054 115.0174
+ 20934271.3074 -22626865.00549 -17619962.80448 20934270.7054 20934277.2424
+ -1989.1144 -1549.9554
+ 20333086.6864 -22676713.89349 -17658973.10848 20333086.4344 20333093.1644
+ -945.7744 -736.9654
+ 05 1 20 15 45 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24977624.1474 -28058.22648 -19569.13545 24977624.7754 24977630.9394
+ -354.0314 -275.8614
+ 23156655.7914 -10620836.99749 -8231285.42746 23156654.8744 23156662.1224
+ 2319.6254 1807.5034
+ 21685802.0754 -20563761.32349 -16008126.66047 21685801.9964 21685807.8224
+ 2114.4234 1647.6054
+ 23311112.6784 -7034878.79649 -5459680.61346 23311112.7774 23311118.5074
+ -2896.6984 -2257.1734
+ 20626369.6594 -20471469.65349 -15929134.93348 20626369.5724 20626374.8344
+ 128.2874 99.9604
+ 20945672.9854 -22566945.95549 -17573272.67348 20945673.1794 20945679.3624
+ -2005.5074 -1562.7394
+ 20338546.1294 -22648025.20149 -17636618.31148 20338545.6304 20338551.9944
+ -966.8024 -753.3554
+ 05 1 20 15 46 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24979689.0644 -17200.02948 -11108.22945 24979689.7564 24979697.0854
+ -369.7744 -288.1324
+ 23143431.2614 -10690326.72249 -8285433.26146 23143431.0574 23143439.6824
+ 2313.1494 1802.4694
+ 21673745.4894 -20627122.06849 -16057498.68347 21673744.9684 21673750.3714
+ 2109.6514 1643.8824
+ 23327655.3544 -6947949.07049 -5391943.24546 23327654.9754 23327660.0704
+ -2898.6224 -2258.6564
+ 20625692.6804 -20475028.54649 -15931908.12048 20625692.3364 20625697.8524
+ 108.9084 84.8604
+ 20957168.8734 -22506536.73249 -17526200.59848 20957168.4464 20957174.7584
+ -2021.7904 -1575.4234
+ 20344125.1434 -22618705.94449 -17613772.15948 20344124.9494 20344131.5134
+ -987.7984 -769.7094
+ 05 1 20 15 46 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24981846.1414 -5870.60449 -2280.12745 24981844.9404 24981854.2514
+ -385.3984 -300.3114
+ 23130246.2424 -10759622.09049 -8339429.65746 23130245.6984 23130253.0134
+ 2306.6964 1797.4374
+ 21661716.0814 -20690338.92249 -16106758.57247 21661714.9374 21661720.4284
+ 2104.8044 1640.1104
+ 23344209.2704 -6860959.77849 -5324159.47246 23344208.2694 23344214.1374
+ -2900.6574 -2260.2424
+ 20625126.8014 -20478007.76849 -15934229.62048 20625126.2274 20625130.9584
+ 89.6354 69.8444
+ 20968757.5294 -22445639.13149 -17478747.97248 20968757.1734 20968763.6104
+ -2038.0414 -1588.0844
+ 20349824.5844 -22588757.87249 -17590436.02648 20349824.0254 20349830.5344
+ -1008.7564 -786.0434
+ 05 1 20 15 47 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24984093.2954 5929.11049 6914.41445 24984092.2074 24984100.3914
+ -401.0884 -312.5274
+ 23117096.3754 -10828722.97149 -8393274.48446 23117094.6784 23117103.4234
+ 2300.1534 1792.3324
+ 21649713.4874 -20753410.54149 -16155905.28447 21649712.8024 21649718.4244
+ 2099.9684 1636.3434
+ 23360772.5324 -6773912.15249 -5256330.22146 23360772.6114 23360778.2144
+ -2902.6194 -2261.7764
+ 20624668.8924 -20480407.36749 -15936099.45548 20624669.0194 20624674.3544
+ 70.3314 54.8084
+ 20980437.6684 -22384255.05949 -17430916.26748 20980437.9714 20980444.9434
+ -2054.2294 -1600.6944
+ 20355642.9994 -22558181.70949 -17566610.47448 20355642.4164 20355648.9554
+ -1029.6634 -802.3334
+ 05 1 20 15 47 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24986425.6674 18197.66849 16474.28645 24986426.7264 24986433.7074
+ -416.7124 -324.7104
+ 23103984.0664 -10897629.10449 -8446967.57146 23103982.8134 23103991.0584
+ 2293.6904 1787.2824
+ 21637738.9524 -20816335.75449 -16204937.92047 21637738.6084 21637744.1944
+ 2095.0644 1632.5184
+ 23377349.5514 -6686807.75149 -5188456.74046 23377348.7524 23377353.3294
+ -2904.4274 -2263.1914
+ 20624323.3204 -20482227.65949 -15937517.88848 20624322.9034 20624327.9594
+ 51.0364 39.7704
+ 20992212.5714 -22322386.23249 -17382706.83748 20992211.5244 20992218.0944
+ -2070.3634 -1613.2634
+ 20361580.8844 -22526977.85449 -17542295.80148 20361580.2794 20361587.1354
+ -1050.5754 -818.6274
+ 05 1 20 15 48 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24988850.7744 30934.13148 26398.79345 24988849.7694 24988856.7914
+ -432.3504 -336.8994
+ 23090908.6164 -10966340.47849 -8500508.90346 23090909.1224 23090915.4334
+ 2287.1484 1782.1854
+ 21625792.6424 -20879113.02849 -16253855.28547 21625792.4634 21625797.6534
+ 2090.0894 1628.6384
+ 23393935.2164 -6599647.80049 -5120539.94446 23393934.3054 23393940.4244
+ -2906.2664 -2264.6334
+ 20624087.3174 -20483468.60949 -15938484.87948 20624086.7414 20624091.6364
+ 31.6804 24.6854
+ 21004076.8274 -22260034.71549 -17334121.28748 21004076.8094 21004083.4624
+ -2086.3994 -1625.7634
+ 20367637.8614 -22495147.02649 -17517492.59548 20367637.7334 20367644.3424
+ -1071.4654 -834.9084
+ 05 1 20 15 48 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24991363.5934 44137.38348 36687.00045 24991361.4794 24991369.3644
+ -447.8994 -349.0114
+ 23077870.2674 -11034856.80249 -8553898.24646 23077869.4894 23077877.0014
+ 2280.6774 1777.1564
+ 21613874.8434 -20941741.15049 -16302656.42647 21613874.4324 21613879.9814
+ 2085.1154 1624.7614
+ 23410531.4844 -6512433.58749 -5052580.91546 23410530.1734 23410537.2854
+ -2907.9944 -2265.9584
+ 20623961.3294 -20484130.29749 -15939000.51148 20623961.1224 20623965.8214
+ 12.3874 9.6494
+ 21016033.1654 -22197202.24449 -17285160.96548 21016032.8094 21016039.8054
+ -2102.4314 -1638.2614
+ 20373814.5584 -22462690.53849 -17492201.84948 20373813.9254 20373820.4844
+ -1092.2954 -851.1434
+ 05 1 20 15 49 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24993954.4964 57806.04858 47337.93554 24993959.2484 24993971.7574
+ -463.2704 -360.9974
+ 23064869.6804 -11103178.12549 -8607135.64346 23064868.9304 23064876.6374
+ 2274.2144 1772.1184
+ 21601985.9854 -21004218.69749 -16351340.23347 21601985.7474 21601991.1994
+ 2080.0614 1620.8224
+ 23427138.2284 -6425166.55849 -4984580.71046 23427136.8894 23427143.1434
+ -2909.7914 -2267.3744
+ 20623945.5184 -20484213.23849 -15939065.15948 20623945.2224 20623950.0114
+ -6.8974 -5.3734
+ 21028081.7364 -22133890.62149 -17235827.27948 21028081.3274 21028087.5644
+ -2118.2964 -1650.6224
+ 20380109.9844 -22429609.08549 -17466424.11748 20380109.6334 20380115.7754
+ -1113.1634 -867.3994
+ 05 1 20 15 49 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 24996650.7534 71939.35158 58350.86554 24996650.0444 24996660.4234
+ -478.8224 -373.0954
+ 23051907.1424 -11171304.14849 -8660220.89746 23051905.3524 23051913.1974
+ 2267.6494 1767.0024
+ 21590126.6974 -21066544.41049 -16399905.72347 21590125.3084 21590131.0844
+ 2074.9804 1616.8634
+ 23443755.3944 -6337847.85549 -4916540.25346 23443753.9724 23443759.6874
+ -2911.4524 -2268.6514
+ 20624039.2404 -20483717.64749 -15938679.00348 20624039.4254 20624044.3444
+ -26.1844 -20.4064
+ 21040220.1364 -22070101.85849 -17186121.79548 21040219.4694 21040226.4294
+ -2134.2484 -1663.0534
+ 20386523.5564 -22395903.67149 -17440160.18848 20386523.2424 20386529.3664
+ -1133.9014 -883.5604
+ 05 1 20 15 50 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 24999431.3884 86535.53548 69724.45644 24999427.7294 24999437.6874
+ -494.1774 -385.0674
+ 23038978.8654 -11239234.86849 -8713153.92046 23038978.1284 23038985.9324
+ 2261.1554 1761.9304
+ 21578295.1224 -21128716.88549 -16448351.82747 21578294.7864 21578300.1284
+ 2069.8514 1612.8754
+ 23460380.5274 -6250478.89149 -4848460.65546 23460378.9754 23460385.4134
+ -2913.0734 -2269.9174
+ 20624244.2604 -20482643.49849 -15937842.03448 20624243.7824 20624248.7284
+ -45.4474 -35.4134
+ 21052449.0284 -22005837.86449 -17136046.01247 21052448.9364 21052455.1414
+ -2150.0504 -1675.3654
+ 20393056.9554 -22361575.30349 -17413410.83948 20393055.7504 20393062.1134
+ -1154.6494 -899.7244
+ 05 1 20 15 50 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25002297.4984 101594.10749 81458.35745 25002297.1674 25002304.7194
+ -509.5274 -397.0334
+ 23026089.3604 -11306970.09449 -8765934.62946 23026089.6374 23026095.8834
+ 2254.6194 1756.8444
+ 21566493.8104 -21190734.77549 -16496677.46347 21566492.9784 21566498.2164
+ 2064.6764 1608.8364
+ 23477014.0464 -6163060.84849 -4780342.77446 23477013.7994 23477020.0904
+ -2914.7284 -2271.2034
+ 20624558.5384 -20480991.06749 -15936554.44748 20624558.1894 20624563.3864
+ -64.7254 -50.4324
+ 21064767.6774 -21941100.51349 -17085601.36547 21064767.6874 21064774.6054
+ -2165.7964 -1687.6364
+ 20399707.0734 -22326624.67949 -17386176.62048 20399706.5924 20399713.1154
+ -1175.3604 -915.8644
+ 05 1 20 15 51 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25005250.0584 117113.10149 93551.04345 25005247.5114 25005255.3984
+ -524.9334 -409.0384
+ 23013236.7954 -11374509.57349 -8818562.82046 23013236.4624 23013244.0714
+ 2248.1144 1751.7854
+ 21554721.4934 -21252596.65949 -16544881.53447 21554720.9424 21554726.0434
+ 2059.4484 1604.7664
+ 23493659.5114 -6075595.09849 -4712187.73246 23493658.7264 23493664.4384
+ -2916.3274 -2272.4654
+ 20624982.8044 -20478760.53749 -15934816.40148 20624982.8834 20624987.8704
+ -83.9994 -65.4524
+ 21077176.8354 -21875891.80649 -17034789.43747 21077176.4434 21077183.8224
+ -2181.4874 -1699.8644
+ 20406475.7244 -22291053.39449 -17358458.76248 20406475.3324 20406482.0424
+ -1196.0564 -931.9914
+ 05 1 20 15 51 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25008291.8324 133091.80849 106001.96645 25008289.3564 25008297.3704
+ -540.2794 -420.9914
+ 23000419.8294 -11441853.43149 -8871038.54046 23000420.3544 23000428.7184
+ 2241.5804 1746.6814
+ 21542978.6004 -21314301.30749 -16592963.08747 21542978.7274 21542983.9744
+ 2054.1874 1600.6614
+ 23510313.8314 -5988082.69149 -4643996.32646 23510312.5304 23510318.2364
+ -2917.8174 -2273.6234
+ 20625517.4174 -20475952.54849 -15932628.37448 20625517.0674 20625522.3284
+ -103.2204 -80.4314
+ 21089674.8744 -21810213.71449 -16983611.75247 21089674.6784 21089681.5294
+ -2197.0864 -1712.0174
+ 20413362.7894 -22254862.08249 -17330257.76848 20413362.2574 20413369.0954
+ -1216.6744 -948.0594
+ 05 1 20 15 52 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25011415.5004 149528.63149 118809.87245 25011416.0324 25011426.2434
+ -555.5094 -432.8644
+ 22987645.0354 -11509001.42349 -8923361.65846 22987644.5834 22987649.7934
+ 2235.0384 1741.5894
+ 21531267.2084 -21375847.22849 -16640920.95247 21531266.9284 21531272.3654
+ 2048.8434 1596.4984
+ 23526975.3994 -5900525.07349 -4575769.66846 23526974.4214 23526981.1694
+ -2919.3384 -2274.8084
+ 20626161.6194 -20472567.31949 -15929990.55048 20626161.2524 20626166.5654
+ -122.4764 -95.4364
+ 21102262.4674 -21744068.20949 -16932069.83947 21102262.0154 21102268.5274
+ -2212.6094 -1724.1074
+ 20420367.9434 -22218052.26649 -17301574.82048 20420367.4204 20420373.7054
+ -1237.3114 -964.1374
+ 05 1 20 15 52 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25014631.9514 166422.42049 131973.83145 25014632.4054 25014640.5874
+ -570.6954 -444.7024
+ 22974903.3304 -11575953.41949 -8975532.06246 22974902.9884 22974910.0474
+ 2228.5214 1736.5094
+ 21519585.9874 -21437233.07049 -16688754.08547 21519586.0204 21519590.9254
+ 2043.5294 1592.3534
+ 23543644.6404 -5812923.40449 -4507508.72246 23543643.8954 23543650.3574
+ -2920.7414 -2275.9044
+ 20626915.4674 -20468604.86249 -15926902.95248 20626915.5674 20626920.2474
+ -141.7064 -110.4204
+ 21114937.9434 -21677457.36849 -16880165.33947 21114937.6574 21114944.3544
+ -2228.0664 -1736.1514
+ 20427490.1814 -22180624.62749 -17272410.45048 20427489.5454 20427495.8034
+ -1257.8594 -980.1484
+ 05 1 20 15 53 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25017933.8734 183771.91649 145492.83145 25017933.2864 25017941.1674
+ -585.9044 -456.5474
+ 22962198.0844 -11642709.42249 -9027549.71446 22962197.5004 22962207.1114
+ 2222.0154 1731.4404
+ 21507934.8134 -21498457.50049 -16736461.44047 21507934.7894 21507940.3554
+ 2038.1124 1588.1414
+ 23560324.5494 -5725278.81049 -4439214.31546 23560322.7234 23560328.2964
+ -2922.1794 -2277.0144
+ 20627779.7414 -20464066.02049 -15923366.21248 20627779.4924 20627784.3064
+ -160.9074 -125.3834
+ 21127702.1754 -21610383.00449 -16827899.65547 21127701.7074 21127708.2914
+ -2243.5624 -1748.2274
+ 20434729.2394 -22142580.50449 -17242765.70948 20434728.9984 20434735.6724
+ -1278.4124 -996.1664
+ 05 1 20 15 53 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25021324.3294 201575.52149 159365.76745 25021322.2664 25021328.7614
+ -600.9244 -468.2564
+ 22949534.4034 -11709269.33249 -9079414.59546 22949533.5024 22949541.2854
+ 2215.4404 1726.3234
+ 21496316.0694 -21559519.09349 -16784041.89847 21496315.5054 21496320.6674
+ 2032.6534 1583.8814
+ 23577008.0634 -5637592.79649 -4370887.62246 23577008.5244 23577014.9064
+ -2923.5764 -2278.1024
+ 20628752.8834 -20458950.95249 -15919380.46848 20628752.5774 20628757.8404
+ -180.1014 -140.3384
+ 21140553.3464 -21542847.37649 -16775274.53747 21140553.0614 21140559.6954
+ -2258.8514 -1760.1454
+ 20442085.8484 -22103920.48249 -17212641.04948 20442085.7144 20442092.5664
+ -1298.9164 -1012.1434
+ 05 1 20 15 54 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25024795.6374 219832.15449 173591.66745 25024795.6194 25024806.3534
+ -616.0344 -480.0234
+ 22936906.3024 -11775633.02049 -9131126.58846 22936905.0444 22936912.2054
+ 2208.9204 1721.2414
+ 21484728.2354 -21620416.39149 -16831494.35048 21484727.3564 21484732.7934
+ 2027.1344 1579.5864
+ 23593704.6694 -5549866.35649 -4302529.44546 23593702.4164 23593708.7124
+ -2924.8644 -2279.1154
+ 20629835.4744 -20453260.28049 -15914946.20248 20629835.5164 20629840.5534
+ -199.2974 -155.3014
+ 21153493.2124 -21474852.40249 -16722291.49547 21153492.5584 21153499.0794
+ -2274.1644 -1772.0764
+ 20449560.2864 -22064646.09549 -17182037.65848 20449559.4804 20449566.3284
+ -1319.3744 -1028.0854
+ 05 1 20 15 54 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25028352.0264 238540.41849 188169.46245 25028354.4964 25028362.6544
+ -631.0174 -491.6964
+ 22924314.6074 -11841800.42349 -9182685.57647 22924314.2334 22924321.7084
+ 2202.3454 1716.1044
+ 21473171.1584 -21681147.99649 -16878817.68248 21473170.4824 21473176.2904
+ 2021.6074 1575.2794
+ 23610404.7544 -5462100.93549 -4234140.90846 23610403.8404 23610410.1794
+ -2926.1404 -2280.1124
+ 20631028.2594 -20446994.39349 -15910063.71548 20631027.7674 20631032.9534
+ -218.4484 -170.2214
+ 21166518.1934 -21406400.28249 -16668952.22847 21166517.6044 21166525.2764
+ -2289.3474 -1783.9014
+ 20457150.3244 -22024758.93149 -17150956.78148 20457149.9874 20457156.2834
+ -1339.7884 -1043.9904
+ 05 1 20 15 55 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25032002.0094 257698.62849 203097.88545 25032001.8264 25032010.4204
+ -646.0574 -503.4234
+ 22911761.7404 -11907771.52449 -9234091.64647 22911760.5574 22911767.4944
+ 2195.8214 1711.0364
+ 21461645.4414 -21741712.60349 -16926010.89748 21461645.3934 21461651.3244
+ 2016.0254 1570.9274
+ 23627112.2334 -5374297.52549 -4165722.75646 23627111.6114 23627118.8164
+ -2927.3864 -2281.0714
+ 20632329.7744 -20440153.59849 -15904733.24948 20632329.5574 20632334.4334
+ -237.6214 -185.1584
+ 21179630.8674 -21337493.04149 -16615258.33147 21179630.5864 21179637.5164
+ -2304.4544 -1795.6794
+ 20464857.0514 -21984259.71149 -17119398.97648 20464856.3684 20464862.8204
+ -1360.1454 -1059.8534
+ 05 1 20 15 55 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25035732.8554 277305.67049 218376.01045 25035733.9324 25035740.0124
+ -661.0154 -515.0754
+ 22899242.9964 -11973546.14149 -9285344.59146 22899242.7024 22899250.7734
+ 2189.2594 1705.9144
+ 21450152.8444 -21802108.68249 -16973072.78548 21450152.4184 21450158.2074
+ 2010.3774 1566.5244
+ 23643828.5284 -5286457.31649 -4097275.94046 23643827.7384 23643833.0804
+ -2928.6044 -2282.0354
+ 20633740.5694 -20432738.36749 -15898955.16648 20633740.5114 20633745.3334
+ -256.7514 -200.0694
+ 21192829.2334 -21268132.86449 -16561211.49147 21192829.4074 21192836.6064
+ -2319.5424 -1807.4394
+ 20472679.4054 -21943149.92849 -17087365.41048 20472679.2424 20472686.3314
+ -1380.4854 -1075.7044
+ 05 1 20 15 56 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25039550.5794 297360.04949 234002.74845 25039548.8614 25039556.3504
+ -675.8854 -526.6634
+ 22886764.4224 -12039124.32249 -9336444.47547 22886763.4624 22886771.8244
+ 2182.7194 1700.8204
+ 21438692.0374 -21862334.63049 -17020002.10648 21438691.5274 21438697.4224
+ 2004.6934 1562.0984
+ 23660552.1564 -5198581.71249 -4028801.51246 23660550.6594 23660555.7134
+ -2929.7574 -2282.9254
+ 20635261.7384 -20424749.31649 -15892729.96048 20635261.1694 20635265.9724
+ -275.8804 -214.9684
+ 21206115.5984 -21198321.78049 -16506813.29547 21206114.3664 21206120.9754
+ -2334.5484 -1819.1244
+ 20480618.3344 -21901430.80449 -17054857.03848 20480618.0424 20480624.9404
+ -1400.7784 -1091.5094
+ 05 1 20 15 56 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25043450.1554 317860.43649 249977.03545 25043450.9404 25043457.8044
+ -690.6994 -538.2074
+ 22874322.6444 -12104505.94249 -9387391.20547 22874322.8004 22874331.2104
+ 2176.1844 1695.7224
+ 21427264.6904 -21922389.12349 -17066797.82248 21427263.7524 21427269.4474
+ 1998.9444 1557.6184
+ 23677279.9994 -5110671.66149 -3960300.27746 23677279.4364 23677285.2944
+ -2930.8794 -2283.8034
+ 20636891.2654 -20416187.05749 -15886058.08848 20636890.3714 20636895.7404
+ -294.9584 -229.8364
+ 21219484.6054 -21128061.85749 -16452065.35447 21219484.5514 21219490.6834
+ -2349.4464 -1830.7424
+ 20488673.4894 -21859103.93549 -17021875.09048 20488672.8764 20488679.7894
+ -1420.9994 -1107.2724
+ 05 1 20 15 57 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25047436.3724 338804.90349 266297.38345 25047435.7194 25047441.6614
+ -705.5214 -549.7584
+ 22861917.5354 -12169690.87649 -9438184.65247 22861917.2004 22861926.0474
+ 2169.6114 1690.6134
+ 21415868.7604 -21982270.83049 -17113458.90148 21415868.8254 21415874.3604
+ 1993.1384 1553.1014
+ 23694014.9064 -5022728.26449 -3891773.05046 23694013.5034 23694019.7714
+ -2931.9864 -2284.6704
+ 20638628.0474 -20407052.21249 -15878940.05248 20638628.3454 20638633.9384
+ -314.0664 -244.7224
+ 21232939.6634 -21057355.29549 -16396969.38847 21232939.6074 21232946.2794
+ -2364.3204 -1842.3174
+ 20496843.1264 -21816170.52749 -16988420.51548 20496842.8954 20496849.5694
+ -1441.2284 -1123.0334
+ 05 1 20 15 57 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25051506.5394 360192.46449 282962.97745 25051505.9944 25051514.1434
+ -720.3244 -561.2864
+ 22849553.0894 -12234679.16849 -9488824.88247 22849551.6504 22849559.8164
+ 2163.0384 1685.4854
+ 21404507.6594 -22041978.21349 -17159984.14148 21404506.8384 21404512.2824
+ 1987.3234 1548.5614
+ 23710756.0544 -4934752.97449 -3823220.94846 23710755.4844 23710761.6624
+ -2933.0284 -2285.4674
+ 20640475.7764 -20397345.19449 -15871376.17548 20640475.7494 20640481.0344
+ -333.1204 -259.5734
+ 21246480.0954 -20986204.43349 -16341527.20947 21246479.2574 21246485.5844
+ -2379.0984 -1853.8414
+ 20505129.0444 -21772631.86549 -16954494.32248 20505128.4154 20505134.5774
+ -1461.3484 -1138.7104
+ 05 1 20 15 58 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25055657.6464 382021.35348 299972.43945 25055659.5514 25055669.2464
+ -734.8874 -572.6374
+ 22837222.9064 -12299470.70749 -9539311.80147 22837222.0214 22837229.4654
+ 2156.4404 1680.3424
+ 21393178.2094 -22101509.89949 -17206372.47148 21393178.0174 21393183.7854
+ 1981.4444 1543.9834
+ 23727503.4574 -4846746.76349 -3754644.76746 23727502.6324 23727508.3694
+ -2934.0664 -2286.2794
+ 20642432.7454 -20387066.63449 -15863366.93048 20642432.2834 20642436.9284
+ -352.1554 -274.4084
+ 21260103.6524 -20914611.46349 -16285740.53747 21260102.7954 21260109.9384
+ -2393.7984 -1865.2974
+ 20513528.3204 -21728489.52449 -16920097.73048 20513528.0814 20513534.8024
+ -1481.4364 -1154.3624
+ 05 1 20 15 58 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25059897.3654 404290.25348 317324.85545 25059895.5164 25059904.0114
+ -749.5604 -584.0644
+ 22824929.6664 -12364065.48349 -9589645.39247 22824929.0244 22824937.8894
+ 2149.9434 1675.2884
+ 21381883.7774 -22160864.58149 -17252622.88448 21381883.3764 21381888.9864
+ 1975.5274 1539.3784
+ 23744256.2634 -4758710.87549 -3686045.48346 23744254.3894 23744259.6194
+ -2934.9944 -2287.0044
+ 20644497.5364 -20376217.19349 -15854912.84148 20644496.7734 20644501.2584
+ -371.1634 -289.2164
+ 21273811.0854 -20842578.43549 -16229610.96447 21273810.5164 21273817.2104
+ -2408.4054 -1876.6754
+ 20522042.9264 -21683745.09549 -16885231.97348 20522042.6674 20522049.3724
+ -1501.5294 -1170.0214
+ 05 1 20 15 59 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25064218.7624 426997.37648 335018.68745 25064218.5074 25064225.0904
+ -764.0994 -595.4034
+ 22812675.8264 -12428463.51449 -9639825.66247 22812675.5604 22812682.8924
+ 2143.3714 1670.1664
+ 21370623.2304 -22220040.59149 -17298734.06748 21370622.3554 21370628.0204
+ 1969.5274 1534.6954
+ 23761013.4364 -4670646.36749 -3617423.88546 23761012.6634 23761017.9744
+ -2935.9124 -2287.7294
+ 20646669.4894 -20364797.40949 -15846014.33348 20646669.5104 20646674.4544
+ -390.1614 -304.0154
+ 21287600.8614 -20770107.57449 -16173140.21347 21287600.9834 21287607.8644
+ -2422.9704 -1888.0284
+ 20530672.8384 -21638398.11149 -16849896.69448 20530672.1544 20530679.0014
+ -1521.5444 -1185.6154
+ 05 1 20 15 59 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25068623.9834 450141.44548 353053.00645 25068621.1694 25068629.0954
+ -778.7754 -606.8454
+ 22800459.5954 -12492664.61049 -9689852.49847 22800459.1674 22800465.9644
+ 2136.7924 1665.0214
+ 21359396.7664 -22279036.24849 -17344704.72148 21359396.1474 21359401.5274
+ 1963.4974 1529.9984
+ 23777776.7324 -4582554.31649 -3548780.81746 23777776.2594 23777782.8114
+ -2936.8374 -2288.4484
+ 20648951.0494 -20352808.27649 -15836672.17748 20648950.8964 20648956.0814
+ -409.1414 -318.8114
+ 21301474.8484 -20697201.14049 -16116330.05547 21301474.3264 21301481.1594
+ -2437.4964 -1899.3494
+ 20539415.6594 -21592452.32149 -16814094.81348 20539415.3424 20539421.9714
+ -1541.5164 -1201.1804
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 16 0 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25073112.0854 473720.78948 371426.48145 25073108.8594 25073119.7504
+ -793.2294 -618.0994
+ 22788279.1764 -12556668.87849 -9739725.93547 22788278.5534 22788285.8414
+ 2130.2294 1659.9114
+ 21348205.2434 -22337850.44049 -17390533.96648 21348204.2104 21348209.7504
+ 1957.4164 1525.2574
+ 23794545.4774 -4494435.73549 -3480117.09746 23794544.0904 23794550.3144
+ -2937.6924 -2289.1134
+ 20651341.1454 -20340250.35849 -15826886.81148 20651340.6734 20651345.9074
+ -428.0664 -333.5594
+ 21315431.2414 -20623861.35149 -16059182.22747 21315431.0774 21315437.4894
+ -2451.8684 -1910.5434
+ 20548272.9424 -21545908.71549 -16777827.10948 20548272.4444 20548278.8964
+ -1561.4194 -1216.6924
+ 05 1 20 16 0 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25077679.9454 497733.64449 390137.72645 25077679.7954 25077685.7514
+ -807.5474 -629.2644
+ 22776137.1184 -12620476.23749 -9789445.94047 22776136.4514 22776143.5914
+ 2123.6674 1654.7924
+ 21337047.2424 -22396481.42849 -17436220.45848 21337047.1114 21337052.5884
+ 1951.2994 1520.4904
+ 23811317.4614 -4406291.97049 -3411433.75546 23811318.3794 23811324.0494
+ -2938.4774 -2289.7254
+ 20653838.3694 -20327124.38349 -15816658.80448 20653838.5574 20653843.4184
+ -446.9914 -348.3064
+ 21329470.1464 -20550090.54149 -16001698.54547 21329469.4214 21329476.1054
+ -2466.2394 -1921.7484
+ 20557242.7994 -21498768.34649 -16741094.39048 20557242.4854 20557249.6094
+ -1581.2764 -1232.1644
+ 05 1 20 16 1 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25082333.2994 522178.62849 409185.77145 25082331.4814 25082339.8984
+ -821.8804 -640.4264
+ 22764033.9084 -12684086.69749 -9839012.52047 22764031.5424 22764038.8734
+ 2117.1374 1649.7154
+ 21325925.1854 -22454927.75249 -17481763.05148 21325924.9774 21325930.5124
+ 1945.1324 1515.6874
+ 23828095.5504 -4318124.20649 -3342731.69346 23828095.7744 23828101.5344
+ -2939.3824 -2290.4284
+ 20656444.8564 -20313430.89049 -15805988.57648 20656444.6024 20656449.6184
+ -465.8964 -363.0374
+ 21343588.8504 -20475890.89649 -15943880.70647 21343589.3024 21343595.5344
+ -2480.4224 -1932.7984
+ 20566326.9574 -21451032.80549 -16703897.90348 20566326.4174 20566333.1954
+ -1601.0654 -1247.5824
+ 05 1 20 16 1 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25087064.8864 547053.99849 428569.15545 25087064.6944 25087072.9534
+ -836.2984 -651.6544
+ 22751964.2344 -12747500.30549 -9888425.71447 22751964.0784 22751971.9804
+ 2110.5434 1644.5834
+ 21314838.9744 -22513188.03449 -17527160.68348 21314838.5644 21314844.1034
+ 1938.8674 1510.8124
+ 23844881.3704 -4229933.32549 -3274011.64346 23844879.0114 23844885.2044
+ -2940.0944 -2290.9734
+ 20659158.9744 -20299170.77049 -15794876.81248 20659158.2104 20659162.8254
+ -484.7864 -377.7534
+ 21357789.6044 -20401264.78549 -15885730.54447 21357789.6524 21357797.1644
+ -2494.6454 -1943.8764
+ 20575523.5564 -21402704.09449 -16666239.20948 20575523.2734 20575529.7964
+ -1620.8254 -1262.9804
+ 05 1 20 16 2 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25091879.2404 572358.11649 448286.55445 25091881.0334 25091888.3404
+ -850.5664 -662.7814
+ 22739934.4794 -12810716.85049 -9937685.35647 22739934.0434 22739942.5344
+ 2104.0204 1639.4974
+ 21303787.8904 -22571260.61749 -17572412.04248 21303787.6874 21303793.1434
+ 1932.6044 1505.9244
+ 23861665.7504 -4141720.37449 -3205274.35346 23861665.6004 23861671.1034
+ -2940.7824 -2291.5144
+ 20661979.5844 -20284344.87749 -15783324.18548 20661979.3904 20661984.0054
+ -503.6204 -392.4314
+ 21372070.8724 -20326214.55549 -15827249.91147 21372071.1734 21372078.3304
+ -2508.7744 -1954.8864
+ 20584833.2314 -21353783.46849 -16628119.27848 20584832.4524 20584839.2814
+ -1640.5244 -1278.3244
+ 05 1 20 16 2 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25096778.6014 598089.32149 468336.85945 25096778.8634 25096784.3934
+ -864.7874 -673.8624
+ 22727943.3384 -12873736.43549 -9986791.51947 22727942.2174 22727951.3264
+ 2097.4464 1634.3684
+ 21292773.2334 -22629144.07049 -17617516.03648 21292772.7284 21292778.1534
+ 1926.2884 1501.0044
+ 23878454.9814 -4053486.50149 -3136520.79646 23878454.9274 23878460.2394
+ -2941.5004 -2292.0694
+ 20664908.6124 -20268953.82549 -15771331.18248 20664907.8374 20664913.3474
+ -522.4594 -407.1054
+ 21386434.2274 -20250742.36549 -15768440.47647 21386433.7864 21386440.0614
+ -2522.7244 -1965.7634
+ 20594254.8314 -21304272.72249 -16589539.51748 20594254.1094 20594260.9264
+ -1660.1604 -1293.6264
+ 05 1 20 16 3 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25101754.5744 624246.02649 488718.68945 25101755.1584 25101763.3594
+ -878.8784 -684.8424
+ 22715988.6924 -12936559.00649 -10035744.16347 22715988.3114 22715995.5304
+ 2090.7874 1629.1904
+ 21281794.6704 -22686836.82949 -17662471.43048 21281794.1564 21281799.6314
+ 1919.8764 1496.0094
+ 23895249.5824 -3965232.74949 -3067751.72246 23895248.4714 23895254.8044
+ -2942.1294 -2292.5664
+ 20667944.0694 -20252998.72549 -15758898.66048 20667944.1454 20667949.4194
+ -541.2344 -421.7404
+ 21400875.0504 -20174850.82749 -15709304.27847 21400874.4084 21400881.7484
+ -2536.7064 -1976.6504
+ 20603787.7204 -21254173.31549 -16550501.05648 20603787.7084 20603794.6984
+ -1679.7854 -1308.9214
+ 05 1 20 16 3 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25106811.9734 650826.53049 509430.66245 25106811.2324 25106820.0824
+ -893.1024 -695.9254
+ 22704070.5684 -12999184.66149 -10084543.36147 22704070.6984 22704078.7304
+ 2084.2774 1624.1164
+ 21270852.4394 -22744337.41349 -17707277.09048 21270852.2244 21270857.7984
+ 1913.4764 1491.0154
+ 23912047.6124 -3876960.21449 -2998968.01545 23912046.9384 23912053.6614
+ -2942.6744 -2292.9864
+ 20671087.5954 -20236480.19749 -15746027.10348 20671087.7804 20671092.7434
+ -559.9864 -436.3574
+ 21415396.4924 -20098541.98249 -15649842.92247 21415396.2294 21415403.3934
+ -2550.5554 -1987.4494
+ 20613433.5144 -21203486.94149 -16511005.23248 20613433.3674 20613439.6734
+ -1699.2734 -1324.1124
+ 05 1 20 16 4 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25111952.0654 677828.90049 530471.47745 25111952.2424 25111957.2234
+ -907.0724 -706.8124
+ 22692191.6044 -13061613.37449 -10133189.11147 22692191.0014 22692198.7324
+ 2077.7074 1619.0004
+ 21259947.7584 -22801644.26649 -17751931.78048 21259947.2554 21259952.5524
+ 1906.9894 1485.9634
+ 23928848.6464 -3788669.98349 -2930170.55545 23928847.9474 23928854.0844
+ -2943.2234 -2293.4144
+ 20674338.4954 -20219399.30549 -15732717.34248 20674338.0014 20674343.2634
+ -578.7234 -450.9504
+ 21429996.8364 -20021818.32049 -15590058.32047 21429996.5334 21430002.9584
+ -2564.3324 -1998.1724
+ 20623190.6804 -21152215.51249 -16471053.50448 20623189.8134 20623196.4204
+ -1718.7644 -1339.2924
+ 05 1 20 16 4 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25117172.7914 705251.61949 551839.73345 25117168.7954 25117177.0424
+ -921.1114 -717.7444
+ 22680348.9194 -13123845.12849 -10181681.38747 22680348.7294 22680356.4194
+ 2071.1414 1613.8714
+ 21249079.5814 -22858755.91149 -17796434.36748 21249079.0844 21249084.5684
+ 1900.4434 1480.8624
+ 23945655.4354 -3700363.11349 -2861360.05446 23945652.2584 23945659.8914
+ -2943.8314 -2293.8914
+ 20677695.2964 -20201756.73449 -15718969.90048 20677695.4804 20677700.7274
+ -597.4494 -465.5434
+ 21444674.7504 -19944682.22549 -15529952.33047 21444674.7024 21444681.8774
+ -2578.0294 -2008.8484
+ 20633057.3224 -21100360.44749 -16430647.01548 20633057.0774 20633064.2314
+ -1738.2114 -1354.4504
+ 05 1 20 16 5 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25122468.1834 733092.93249 573534.21245 25122467.6964 25122476.4694
+ -934.9814 -728.5524
+ 22668543.8694 -13185879.90349 -10230020.15347 22668543.4474 22668550.8054
+ 2064.6194 1608.7954
+ 21238248.9064 -22915670.75849 -17840783.59548 21238248.2584 21238254.1294
+ 1893.8504 1475.7304
+ 23962460.5164 -3612040.43449 -2792537.29146 23962459.3664 23962466.1314
+ -2944.3694 -2294.3154
+ 20681159.5674 -20183553.70249 -15704785.73948 20681158.9114 20681164.1914
+ -616.0984 -480.0754
+ 21459431.4684 -19867136.03749 -15469526.79847 21459430.9574 21459438.5684
+ -2591.6734 -2019.4854
+ 20643036.1934 -21047923.35149 -16389786.97148 20643035.7254 20643042.8924
+ -1757.5704 -1369.5364
+ 05 1 20 16 5 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25127845.5874 761351.04449 595553.46344 25127845.3494 25127852.6384
+ -948.8134 -739.3324
+ 22656777.8344 -13247717.69849 -10278205.44547 22656776.7594 22656784.0124
+ 2058.0114 1603.6424
+ 21227455.7914 -22972387.17849 -17884978.21348 21227455.8234 21227461.5324
+ 1887.2174 1470.5594
+ 23979270.5304 -3523703.14849 -2723703.11546 23979269.3314 23979275.7584
+ -2944.7784 -2294.6194
+ 20684729.9284 -20164791.05049 -15690165.51248 20684729.6554 20684734.7004
+ -634.7614 -494.6144
+ 21474265.2554 -19789182.20049 -15408783.62147 21474265.6954 21474273.1754
+ -2605.2444 -2030.0554
+ 20653125.3224 -20994906.29349 -16348475.02548 20653124.8274 20653131.5714
+ -1776.8924 -1384.5924
+ 05 1 20 16 6 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25133302.3794 790024.17249 617896.12244 25133301.4824 25133309.5534
+ -962.6644 -750.1264
+ 22645047.8394 -13309358.58049 -10326237.30547 22645046.6984 22645054.0374
+ 2051.4994 1598.5754
+ 21216701.8334 -23028903.49649 -17929016.91048 21216701.2684 21216706.5254
+ 1880.5084 1465.3294
+ 23996082.9424 -3435352.18749 -2654858.32246 23996082.6034 23996089.5264
+ -2945.3134 -2295.0484
+ 20688406.9484 -20145469.37649 -15675109.68748 20688406.6844 20688412.3384
+ -653.3664 -509.1164
+ 21489176.2204 -19710823.14349 -15347724.67847 21489176.7024 21489183.8654
+ -2618.7324 -2040.5614
+ 20663324.8914 -20941310.71649 -16306712.28448 20663323.8084 20663330.5504
+ -1796.1334 -1399.5844
+ 05 1 20 16 6 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25138835.4584 819110.46948 640560.69844 25138831.9294 25138842.7994
+ -976.3874 -760.8154
+ 22633353.9244 -13370802.52149 -10374115.67947 22633353.6604 22633361.8924
+ 2044.8894 1593.4264
+ 21205985.4564 -23085218.40749 -17972898.66648 21205984.7984 21205990.3454
+ 1873.7964 1460.0984
+ 24012897.9414 -3346988.70249 -2586003.74246 24012898.0494 24012904.5254
+ -2945.6264 -2295.2804
+ 20692190.1454 -20125590.10149 -15659619.36648 20692189.4954 20692194.5504
+ -671.9324 -523.5864
+ 21504165.2734 -19632061.30849 -15286351.90047 21504164.8894 21504171.9064
+ -2632.1034 -2050.9934
+ 20673632.8304 -20887138.76049 -16264500.41648 20673632.1554 20673639.5214
+ -1815.3174 -1414.5284
+ 05 1 20 16 7 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25144449.3564 848608.18648 663545.94944 25144448.8154 25144456.7184
+ -990.1344 -771.5284
+ 22621699.9154 -13432049.67449 -10421840.75847 22621699.4424 22621706.5764
+ 2038.3414 1588.3224
+ 21195307.4914 -23141330.34049 -18016622.25848 21195307.0454 21195312.5334
+ 1866.9934 1454.7924
+ 24029715.2974 -3258613.58149 -2517140.12546 24029714.6664 24029722.2554
+ -2946.0524 -2295.6104
+ 20696078.1974 -20105153.66849 -15643694.89548 20696078.1734 20696083.5714
+ -690.4984 -538.0464
+ 21519229.4344 -19552899.15849 -15224667.16747 21519229.0154 21519236.0864
+ -2645.3834 -2061.3374
+ 20684050.5694 -20832392.63449 -16221841.13648 20684049.9304 20684057.2274
+ -1834.4264 -1429.4224
+ 05 1 20 16 7 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25150140.2154 878515.66149 686850.47444 25150139.9744 25150147.3794
+ -1003.6694 -782.0754
+ 22610082.5104 -13493099.98149 -10469412.40847 22610082.2904 22610089.4154
+ 2031.7584 1583.1864
+ 21184668.7584 -23197237.60349 -18060186.36048 21184668.0524 21184673.7294
+ 1860.1424 1449.4594
+ 24046535.1864 -3170227.95149 -2448268.32346 24046534.2434 24046540.5424
+ -2946.3214 -2295.8324
+ 20700073.5134 -20084161.11949 -15627337.08848 20700073.1944 20700078.3464
+ -709.0024 -552.4724
+ 21534369.1354 -19473339.02849 -15162672.33047 21534369.0584 21534375.3254
+ -2658.6194 -2071.6544
+ 20694577.1064 -20777073.53249 -16178735.37748 20694576.7784 20694584.3334
+ -1853.5024 -1444.2864
+ 05 1 20 16 8 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25155911.9434 908830.77249 710472.61645 25155910.3044 25155919.3824
+ -1017.3194 -792.7194
+ 22598502.7724 -13553953.35449 -10516830.61647 22598502.0094 22598509.7414
+ 2025.1684 1578.0574
+ 21174069.2704 -23252938.58349 -18103589.73348 21174068.7724 21174074.1694
+ 1853.2384 1444.0884
+ 24063356.6884 -3081832.49749 -2379388.84546 24063355.9534 24063363.0344
+ -2946.6674 -2296.0994
+ 20704173.6404 -20062614.27849 -15610547.36948 20704173.7934 20704178.5264
+ -727.4704 -566.8594
+ 21549584.1994 -19393383.48849 -15100369.38647 21549583.7104 21549590.7484
+ -2671.7884 -2081.9084
+ 20705213.3634 -20721183.54449 -16135184.78448 20705212.8024 20705219.7174
+ -1872.5034 -1459.0914
+ 05 1 20 16 8 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25161754.4434 939551.77649 734410.99745 25161754.5894 25161760.3804
+ -1030.7134 -803.1514
+ 22586960.1484 -13614609.97449 -10564095.51847 22586959.0964 22586966.9564
+ 2018.6574 1572.9824
+ 21163508.8024 -23308431.78049 -18146831.19548 21163508.7244 21163514.1994
+ 1846.3034 1438.6794
+ 24080178.3464 -2993428.42849 -2310502.68646 24080177.8284 24080183.5854
+ -2946.9554 -2296.3274
+ 20708379.0294 -20040513.78449 -15593326.22448 20708379.0894 20708383.9034
+ -745.9174 -581.2354
+ 21564873.0734 -19313034.96349 -15037760.22047 21564873.7494 21564880.9004
+ -2684.7674 -2092.0244
+ 20715956.9594 -20664724.43549 -16091190.71548 20715956.2734 20715963.5104
+ -1891.4314 -1473.8474
+ 05 1 20 16 9 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25167678.8224 970676.74049 758664.18945 25167677.9874 25167685.1074
+ -1044.0954 -813.5774
+ 22575453.5924 -13675069.92849 -10611207.16847 22575452.9774 22575461.9714
+ 2012.1284 1567.8894
+ 21152989.3294 -23363715.63249 -18189909.52548 21152988.4884 21152994.1234
+ 1839.3044 1433.2254
+ 24097004.3434 -2905016.46749 -2241610.34046 24097002.3304 24097008.2164
+ -2947.1634 -2296.4814
+ 20712690.3044 -20017860.89949 -15575674.65248 20712689.6304 20712694.8064
+ -764.2854 -595.5464
+ 21580238.0514 -19232295.95149 -14974846.77047 21580237.2164 21580245.0394
+ -2697.7864 -2102.1674
+ 20726808.6494 -20607698.08649 -16046754.64048 20726808.1174 20726815.3114
+ -1910.2994 -1488.5444
+ 05 1 20 16 9 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25173677.6064 1002203.97849 783230.81545 25173677.8304 25173685.5394
+ -1057.4984 -824.0194
+ 22563986.9064 -13735333.11649 -10658165.50747 22563986.3904 22563994.7204
+ 2005.5484 1562.7674
+ 21142508.7574 -23418788.51949 -18232823.47148 21142508.4054 21142514.0944
+ 1832.2344 1427.7194
+ 24113829.4044 -2816597.90349 -2172712.84246 24113828.6654 24113834.8264
+ -2947.3914 -2296.6584
+ 20717105.8584 -19994656.55749 -15557593.36948 20717105.5904 20717110.6404
+ -782.6554 -609.8604
+ 21595675.4694 -19151168.95849 -14911631.01847 21595675.9534 21595683.2024
+ -2710.6794 -2112.2154
+ 20737768.2124 -20550106.60249 -16001878.20348 20737767.6054 20737774.4054
+ -1929.1194 -1503.2084
+ 05 1 20 16 10 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25179755.0294 1034131.44049 808109.25045 25179752.2234 25179760.3534
+ -1070.8764 -834.4474
+ 22552556.7424 -13795399.74749 -10704970.68747 22552556.7184 22552563.6654
+ 1998.9934 1557.6584
+ 21132069.2984 -23473648.80449 -18275571.75148 21132068.8974 21132074.6094
+ 1825.1064 1422.1634
+ 24130655.1644 -2728173.54549 -2103810.84446 24130653.4714 24130660.5704
+ -2947.6254 -2296.8484
+ 20721625.7334 -19970901.81849 -15539083.21148 20721625.5694 20721631.3474
+ -801.0074 -624.1594
+ 21611187.2284 -19069656.67049 -14848115.01847 21611187.1254 21611194.5774
+ -2723.4794 -2122.1944
+ 20748835.1814 -20491951.99349 -15956562.95548 20748834.1074 20748840.6964
+ -1947.8594 -1517.8124
+ 05 1 20 16 10 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25185907.8194 1066456.99349 833297.95045 25185905.3914 25185912.2374
+ -1084.1344 -844.7864
+ 22541164.8614 -13855269.84249 -10751622.68847 22541163.6794 22541170.5904
+ 1992.4194 1552.5334
+ 21121671.2644 -23528294.89249 -18318153.12548 21121670.0774 21121675.6944
+ 1817.9364 1416.5724
+ 24147482.9934 -2639744.28649 -2034905.04846 24147482.4714 24147489.8894
+ -2947.7084 -2296.8974
+ 20726250.6214 -19946597.67349 -15520144.93648 20726250.3714 20726255.9844
+ -819.2934 -638.4104
+ 21626770.8454 -18987761.27749 -14784300.50347 21626771.1894 21626778.6424
+ -2736.2344 -2132.1354
+ 20760007.3284 -20433236.16949 -15910810.41648 20760006.9544 20760014.4084
+ -1966.5314 -1532.3594
+ 05 1 20 16 11 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25192131.8464 1099179.05349 858795.63245 25192132.5024 25192139.6944
+ -1097.3414 -855.0634
+ 22529809.3994 -13914943.34049 -10798121.50647 22529808.3014 22529815.3404
+ 1985.8874 1547.4494
+ 21111312.4594 -23582725.21949 -18360566.38048 21111312.3004 21111317.6284
+ 1810.7244 1410.9554
+ 24164312.7264 -2551311.21049 -1965996.27846 24164311.0664 24164317.1604
+ -2947.7854 -2296.9634
+ 20730979.8144 -19921745.41849 -15500779.58248 20730980.0114 20730984.5764
+ -837.5524 -652.6384
+ 21642428.6834 -18905485.57649 -14720189.65347 21642428.3234 21642435.3794
+ -2748.8544 -2141.9614
+ 20771286.6234 -20373961.26049 -15864622.22548 20771286.7254 20771294.0424
+ -1985.1324 -1546.8544
+ 05 1 20 16 11 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25198434.5054 1132295.47149 884600.55145 25198433.8394 25198440.5894
+ -1110.3914 -865.2384
+ 22518490.8904 -13974420.23049 -10844467.14047 22518490.1074 22518496.9634
+ 1979.3374 1542.3364
+ 21100996.5104 -23636938.16349 -18402810.23348 21100995.9984 21101001.4334
+ 1803.4514 1405.2864
+ 24181141.0154 -2462875.17849 -1897085.16946 24181139.6004 24181146.7234
+ -2947.9154 -2297.0804
+ 20735813.5484 -19896346.31149 -15480988.08948 20735813.2284 20735818.4164
+ -855.7394 -666.8084
+ 21658157.1304 -18822831.99949 -14655784.35047 21658156.1924 21658164.3144
+ -2761.3904 -2151.7294
+ 20782673.3204 -20314128.85449 -15817999.61748 20782672.8664 20782680.0374
+ -2003.6594 -1561.2894
+ 05 1 20 16 12 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25204808.2314 1165804.42658 910711.35754 25204806.1874 25204816.3794
+ -1123.3814 -875.3474
+ 22507210.1244 -14033700.76949 -10890659.75347 22507208.6884 22507216.5584
+ 1972.7544 1537.2044
+ 21090721.8274 -23690931.98549 -18444883.34648 21090721.4534 21090726.9844
+ 1796.1064 1399.5664
+ 24197967.4074 -2374436.95949 -1828172.40246 24197967.7784 24197975.4584
+ -2947.9314 -2297.0814
+ 20740750.7174 -19870401.60049 -15460771.45748 20740750.3694 20740755.7224
+ -873.9114 -680.9684
+ 21673957.2754 -18739803.12949 -14591086.61447 21673956.3674 21673964.4424
+ -2773.8764 -2161.4574
+ 20794165.1054 -20253741.30049 -15770944.42748 20794164.3954 20794171.4204
+ -2022.1524 -1575.7014
+ 05 1 20 16 12 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25211260.1924 1199703.89248 937126.55344 25211260.0094 25211267.3884
+ -1136.4314 -885.5334
+ 22495964.8244 -14092784.97849 -10936699.39647 22495964.5304 22495973.4864
+ 1966.2234 1532.1244
+ 21080489.3154 -23744705.16549 -18486784.53448 21080488.7224 21080494.0474
+ 1788.7514 1393.8284
+ 24214798.4154 -2285997.48949 -1759258.64846 24214797.5014 24214805.0104
+ -2948.0054 -2297.1464
+ 20745791.3364 -19843912.29749 -15440130.46848 20745791.1404 20745796.6134
+ -892.0514 -695.1054
+ 21689827.5224 -18656401.55649 -14526098.46247 21689827.5334 21689835.0904
+ -2786.2574 -2171.1064
+ 20805761.0924 -20192800.72549 -15723458.31148 20805760.7794 20805767.7304
+ -2040.5424 -1590.0384
+ 05 1 20 16 13 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25217783.3914 1233991.69358 963844.27254 25217782.1814
+ -1149.2794 -895.5364
+ 22484759.9174 -14151672.83949 -10982586.04847 22484758.9934 22484767.3994
+ 1959.6914 1527.0374
+ 21070299.2744 -23798255.96249 -18528512.43248 21070298.4514 21070303.7814
+ 1781.2954 1388.0224
+ 24231628.9454 -2197557.87249 -1690344.81546 24231628.2914 24231635.2604
+ -2947.9524 -2297.1024
+ 20750935.8614 -19816879.66049 -15419066.10448 20750935.4414 20750940.6314
+ -910.1384 -709.1964
+ 21705767.9394 -18572629.77349 -14460821.82147 21705768.2774 21705776.5654
+ -2798.5604 -2180.6864
+ 20817462.6304 -20131309.21549 -15675542.89948 20817462.5694 20817469.5324
+ -2058.9084 -1604.3414
+ 05 1 20 16 13 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25224379.3704 1268665.88848 990863.07854 25224384.5354 25224392.0294
+ -1162.1914 -905.5994
+ 22473591.0594 -14210364.51549 -11028319.82347 22473589.9164 22473598.3454
+ 1953.1614 1521.9474
+ 21060150.6464 -23851582.97049 -18570065.94148 21060150.3234 21060156.0694
+ 1773.8274 1382.2044
+ 24248457.9724 -2109118.82349 -1621431.39346 24248457.6314 24248463.1514
+ -2947.9764 -2297.1184
+ 20756182.1544 -19789305.14449 -15397579.49348 20756182.2974 20756188.0004
+ -928.1824 -723.2594
+ 21721779.9924 -18488490.58149 -14395258.90747 21721779.7184 21721787.5194
+ -2810.7474 -2190.1854
+ 20829268.8854 -20069268.96749 -15627199.89148 20829268.2664 20829274.8894
+ -2077.1374 -1618.5464
+ 05 1 20 16 14 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25231056.4604 1303724.72349 1018181.55645 25231058.4794 25231064.7834
+ -1175.0974 -915.6564
+ 22462459.5514 -14268860.08049 -11073900.77647 22462459.1474 22462467.0544
+ 1946.6014 1516.8324
+ 21050045.6664 -23904684.38549 -18611443.67648 21050045.6224 21050051.0714
+ 1766.2904 1376.3334
+ 24265286.2574 -2020681.19249 -1552519.09746 24265286.8864 24265294.3094
+ -2947.8984 -2297.0514
+ 20761533.1164 -19761189.89849 -15375671.54048 20761532.8914 20761538.1234
+ -946.1694 -737.2724
+ 21737861.3654 -18403986.36849 -14329411.55447 21737860.7854 21737868.1754
+ -2822.8744 -2199.6394
+ 20841178.3044 -20006682.31049 -15578431.11048 20841177.8294 20841185.5164
+ -2095.3164 -1632.7124
+ 05 1 20 16 14 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25237800.8124 1339165.88849 1045797.96244 25237800.4104 25237805.3404
+ -1187.7304 -925.4984
+ 22451366.5214 -14327159.67049 -11119329.01447 22451365.7354 22451373.1884
+ 1940.0864 1511.7554
+ 21039984.8914 -23957558.65749 -18652644.41248 21039984.2344 21039989.6074
+ 1758.6744 1370.3964
+ 24282116.3814 -1932246.12949 -1483608.77346 24282115.2234 24282121.9124
+ -2947.8504 -2297.0174
+ 20766985.6764 -19732535.39149 -15353343.37648 20766985.5964 20766990.5954
+ -964.1304 -751.2714
+ 21754011.4344 -18319119.85149 -14263281.88847 21754010.6344 21754017.8274
+ -2834.9114 -2209.0114
+ 20853191.6464 -19943551.16449 -15529238.06148 20853191.6434 20853198.8934
+ -2113.4094 -1646.8104
+ 05 1 20 16 15 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25244615.9104 1374987.55949 1073710.96145 25244614.8364 25244625.0044
+ -1200.4164 -935.3894
+ 22440310.3424 -14385263.13549 -11164604.43047 22440309.2194 22440316.3594
+ 1933.5824 1506.6864
+ 21029966.4274 -24010204.13449 -18693666.86848 21029966.1134 21029971.4424
+ 1751.0374 1364.4454
+ 24298942.6194 -1843814.29449 -1414700.98645 24298941.8954 24298949.5194
+ -2947.7294 -2296.9284
+ 20772540.8614 -19703342.62849 -15330595.79348 20772540.6684 20772546.1454
+ -982.0634 -765.2404
+ 21770227.0044 -18233893.74249 -14196872.01647 21770227.7854 21770235.8734
+ -2846.8414 -2218.3104
+ 20865308.3774 -19879877.16149 -15479621.99248 20865308.2914 20865315.8884
+ -2131.4954 -1660.9004
+ 05 1 20 16 15 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25251507.2234 1411187.44649 1101918.62745 25251507.5114 25251513.1194
+ -1212.8094 -945.0434
+ 22429290.1454 -14443170.79649 -11209727.26047 22429289.1004 22429296.7924
+ 1927.0054 1501.5644
+ 21019992.2214 -24062619.17849 -18734509.75348 21019991.7564 21019996.9664
+ 1743.3014 1358.4154
+ 24315772.1204 -1755386.61549 -1345796.43246 24315771.0194 24315778.1114
+ -2947.4774 -2296.7354
+ 20778198.5644 -19673613.16649 -15307430.00248 20778198.2104 20778203.5104
+ -999.9394 -779.1734
+ 21786514.8654 -18148310.51549 -14130183.86847 21786514.7604 21786521.2864
+ -2858.7244 -2227.5704
+ 20877528.5734 -19815663.23449 -15429585.22148 20877528.0854 20877534.9074
+ -2149.4624 -1674.9004
+ 05 1 20 16 16 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25258465.1864 1447763.57049 1130419.47945 25258465.8134 25258472.7694
+ -1225.4584 -954.9034
+ 22418307.8514 -14500882.61249 -11254697.50147 22418307.5664 22418314.7734
+ 1920.5214 1496.5004
+ 21010061.8594 -24114801.84949 -18775171.58548 21010061.6434 21010066.7864
+ 1735.5194 1352.3484
+ 24332599.3094 -1666963.83649 -1276895.72146 24332597.6154 24332605.0764
+ -2947.3204 -2296.6124
+ 20783957.8564 -19643348.25849 -15283846.98748 20783957.4984 20783962.7964
+ -1017.7444 -793.0494
+ 21802867.7624 -18062372.84349 -14063219.53447 21802867.7594 21802875.1204
+ -2870.4684 -2236.7254
+ 20889850.5984 -19750911.27049 -15379129.19548 20889849.8594 20889856.7914
+ -2167.3404 -1688.8394
+ 05 1 20 16 16 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25265496.9084 1484713.87649 1159211.85845 25265496.5254 25265504.2684
+ -1237.7974 -964.5114
+ 22407363.5624 -14558398.66549 -11299515.18747 22407362.1614 22407369.5084
+ 1913.9684 1491.4014
+ 21000175.4384 -24166750.76449 -18815651.26248 21000175.7604 21000181.5114
+ 1727.7014 1346.2594
+ 24349422.5244 -1578546.84049 -1207999.48845 24349421.9244 24349430.7104
+ -2947.1434 -2296.4674
+ 20789818.2014 -19612549.40649 -15259847.90148 20789818.0664 20789823.5804
+ -1035.5294 -806.9054
+ 21819288.6334 -17976083.39649 -13995981.08847 21819288.0184 21819295.8044
+ -2882.1774 -2245.8564
+ 20902274.4414 -19685623.36949 -15328255.55048 20902273.7754 20902280.9084
+ -2185.1714 -1702.7254
+ 05 1 20 16 17 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25272600.1864 1522036.24349 1188294.16144 25272599.1274 25272606.6614
+ -1250.2404 -974.2084
+ 22396454.5294 -14615719.14549 -11344180.48447 22396453.4724 22396462.0974
+ 1907.4614 1486.3304
+ 20990335.9614 -24218464.18349 -18855947.43748 20990335.1264 20990341.0314
+ 1719.8334 1340.1354
+ 24366247.6374 -1490136.39749 -1139108.35845 24366246.9454 24366255.0294
+ -2946.8664 -2296.2564
+ 20795780.4134 -19581218.04949 -15235433.88548 20795780.6544 20795785.9034
+ -1053.2434 -820.7094
+ 21835776.2944 -17889444.87949 -13928470.64447 21835775.5024 21835783.1294
+ -2893.7164 -2254.8414
+ 20914799.4684 -19619801.96649 -15276966.19148 20914799.2874 20914806.5194
+ -2202.9094 -1716.5474
+ 05 1 20 16 17 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25279768.6834 1559728.30648 1217664.52144 25279770.8484 25279776.6844
+ -1262.3704 -983.6684
+ 22385584.4044 -14672844.01949 -11388693.36447 22385583.9234 22385591.9634
+ 1900.9294 1481.2384
+ 20980540.2324 -24269940.32249 -18896058.71148 20980539.7544 20980545.3414
+ 1711.8914 1333.9394
+ 24383068.3644 -1401733.49849 -1070223.10045 24383068.4974 24383077.5924
+ -2946.6404 -2296.0744
+ 20801843.7134 -19549355.29949 -15210605.78148 20801843.5124 20801848.9854
+ -1070.9354 -834.4984
+ 21852328.1824 -17802460.01149 -13860690.31147 21852327.9754 21852335.6414
+ -2905.2714 -2263.8444
+ 20927426.2824 -19553449.49949 -15225263.01048 20927425.4714 20927432.7764
+ -2220.5554 -1730.3014
+ 05 1 20 16 18 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25287015.1384 1597788.27748 1247321.60944 25287015.7654 25287025.1374
+ -1274.6984 -993.2684
+ 22374750.6884 -14729773.51949 -11433054.01247 22374750.0224 22374758.4024
+ 1894.4784 1476.2194
+ 20970790.0394 -24321177.61249 -18935983.87848 20970789.4974 20970795.1814
+ 1703.9004 1327.7114
+ 24399889.2784 -1313338.97749 -1001344.39045 24399890.3244 24399896.7034
+ -2946.3264 -2295.8314
+ 20808008.0954 -19516962.52949 -15185364.69048 20808007.6464 20808012.8594
+ -1088.5914 -848.2464
+ 21868945.2434 -17715131.27949 -13792642.03747 21868945.5864 21868953.4234
+ -2916.7034 -2272.7394
+ 20940153.1764 -19486568.12549 -15173147.70448 20940152.9254 20940160.0074
+ -2238.1614 -1744.0194
+ 05 1 20 16 18 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25294327.9904 1636214.00658 1277263.68454 25294322.5784 25294332.6154
+ -1286.7864 -1002.6994
+ 22363955.1824 -14786507.68449 -11477262.44547 22363954.5724 22363961.9044
+ 1887.9044 1471.0904
+ 20961085.8114 -24372174.43449 -18975721.66648 20961085.2904 20961090.5874
+ 1695.8624 1321.4484
+ 24416710.3164 -1224953.54949 -932472.74845 24416709.9494 24416716.7004
+ -2946.0464 -2295.6144
+ 20814272.9394 -19484041.52949 -15159711.98448 20814272.5144 20814277.7884
+ -1106.1534 -861.9414
+ 21885629.5174 -17627461.51449 -13724328.02547 21885629.0394 21885636.5674
+ -2927.9894 -2281.5474
+ 20952980.7084 -19419160.06449 -15120621.98748 20952980.2414 20952987.1374
+ -2255.6864 -1757.6754
+ 05 1 20 16 19 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25301706.9944 1675003.06149 1307488.95244 25301706.9824 25301714.1044
+ -1299.0924 -1012.2804
+ 22353196.5794 -14843046.65449 -11521318.75947 22353195.3334 22353202.8464
+ 1881.4534 1466.0724
+ 20951426.7284 -24422929.03149 -19015270.70348 20951426.6294 20951432.1834
+ 1687.7584 1315.1324
+ 24433528.1314 -1136578.23549 -863608.96345 24433527.0924 24433533.7444
+ -2945.7624 -2295.4014
+ 20820637.7624 -19450593.62449 -15133648.69748 20820637.2634 20820642.9624
+ -1123.7304 -875.6334
+ 21902377.0204 -17539453.43349 -13655750.39147 21902376.9634 21902384.3604
+ -2939.1874 -2290.2744
+ 20965907.7584 -19351227.46649 -15067687.54848 20965907.6924 20965914.2664
+ -2273.1344 -1771.2754
+ 05 1 20 16 19 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25309157.8064 1714153.36549 1337995.64445 25309158.3024 25309164.7614
+ -1310.8674 -1021.4554
+ 22342474.4314 -14899390.48349 -11565223.02847 22342473.8724 22342480.8044
+ 1874.9034 1460.9664
+ 20941815.6024 -24473439.87749 -19054629.81348 20941815.0284 20941820.4954
+ 1679.6104 1308.7814
+ 24450342.9814 -1048213.47049 -794753.35545 24450342.0404 24450348.7524
+ -2945.3674 -2295.0894
+ 20827102.5204 -19416620.30349 -15107176.00548 20827102.2364 20827107.3504
+ -1141.2134 -889.2554
+ 21919188.1724 -17451109.66949 -13586911.16147 21919187.3534 21919195.4284
+ -2950.3684 -2298.9844
+ 20978934.8734 -19282773.04549 -15014346.47648 20978933.9794 20978940.8454
+ -2290.5104 -1784.8134
+ 05 1 20 16 20 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25316675.6884 1753662.77849 1368782.19345 25316675.6794 25316684.6074
+ -1323.0534 -1030.9524
+ 22331789.1744 -14955539.28249 -11608975.32947 22331788.3984 22331796.0984
+ 1868.4504 1455.9314
+ 20932250.4114 -24523705.09049 -19093797.51048 20932250.0234 20932255.5734
+ 1671.4114 1302.3994
+ 24467156.3504 -959860.02349 -725906.59145 24467157.1114 24467162.1744
+ -2945.0044 -2294.8034
+ 20833666.9234 -19382122.94349 -15080294.96848 20833666.8944 20833672.4154
+ -1158.6314 -902.8304
+ 21936062.3404 -17362432.98649 -13517812.54247 21936062.0174 21936069.9004
+ -2961.3744 -2307.5644
+ 20992059.2774 -19213798.86649 -14960600.41848 20992059.0904 20992066.3974
+ -2307.7524 -1798.2504
+ 05 1 20 16 20 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25324263.3184 1793529.26449 1399846.94345 25324262.4014 25324272.2744
+ -1334.8064 -1040.1104
+ 22321141.1974 -15011493.22349 -11652575.78047 22321140.6614 22321148.7364
+ 1861.9254 1450.8524
+ 20922732.4684 -24573722.94849 -19132772.46748 20922731.5904 20922737.5014
+ 1663.1444 1295.9584
+ 24483968.0004 -871518.93149 -657069.38845 24483965.5284 24483971.9984
+ -2944.4104 -2294.3404
+ 20840331.4504 -19347103.11049 -15053006.80748 20840331.1514 20840336.7524
+ -1176.0234 -916.3774
+ 21952999.8734 -17273426.09549 -13448456.62447 21952999.7814 21953007.5824
+ -2972.3994 -2316.1524
+ 21005283.1714 -19144307.67249 -14906451.48448 21005282.8194 21005289.9864
+ -2324.9704 -1811.6604
+ 05 1 20 16 21 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25331917.8544 1833750.28549 1431187.98445 25331919.1064 25331924.8364
+ -1346.4724 -1049.1974
+ 22310530.5094 -15067252.32649 -11696024.42947 22310529.9134 22310538.0044
+ 1855.4084 1445.7684
+ 20913261.2284 -24623491.73649 -19171553.34448 20913261.1904 20913266.6014
+ 1654.8004 1289.4544
+ 24500774.9464 -783190.86749 -588242.37545 24500774.3524 24500781.0024
+ -2944.0164 -2294.0364
+ 20847095.3354 -19311562.40549 -15025312.77248 20847094.9594 20847099.7884
+ -1193.3674 -929.8974
+ 21969999.5014 -17184091.82649 -13378845.59647 21969998.9604 21970007.3684
+ -2983.2084 -2324.5774
+ 21018605.2974 -19074301.65649 -14851901.38148 21018604.6904 21018611.9904
+ -2342.1234 -1825.0294
+ 05 1 20 16 21 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25339638.4404 1874323.97149 1462803.82045 25339636.6344 25339644.2654
+ -1358.4104 -1058.4884
+ 22299957.3214 -15122816.75949 -11739321.37847 22299956.5164 22299964.5674
+ 1848.9554 1440.7414
+ 20903838.3074 -24673010.02949 -19210139.03348 20903838.1714 20903843.7994
+ 1646.3724 1282.8834
+ 24517581.8134 -694876.75449 -519426.30645 24517581.0654 24517586.5324
+ -2943.5644 -2293.6854
+ 20853956.4164 -19275502.24749 -14997213.97048 20853956.4374 20853961.8744
+ -1210.6574 -943.3714
+ 21987063.0534 -17094432.81749 -13308981.52447 21987061.7704 21987069.7384
+ -2994.0424 -2333.0124
+ 21032023.3754 -19003783.42849 -14796952.16448 21032023.6254 21032030.7344
+ -2359.0704 -1838.2364
+ 05 1 20 16 22 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25347424.4874 1915247.55949 1494692.26644 25347424.8494 25347429.4684
+ -1369.8304 -1067.4064
+ 22289421.2824 -15178186.72149 -11782466.79247 22289420.0094 22289427.6064
+ 1842.4984 1435.7154
+ 20894463.4564 -24722275.79049 -19248527.94848 20894463.3364 20894468.8944
+ 1637.9414 1276.3184
+ 24534384.1824 -606577.31149 -450621.62546 24534382.5444 24534390.6054
+ -2943.0564 -2293.2954
+ 20860916.7984 -19238924.19549 -14968711.61048 20860916.8944 20860922.7134
+ -1227.8904 -956.7964
+ 22004185.0134 -17004451.84149 -13238866.56047 22004184.6534 22004192.6454
+ -3004.6904 -2341.3214
+ 21045540.3364 -18932755.35149 -14741605.67448 21045540.3944 21045547.4834
+ -2376.0664 -1851.4814
+ 05 1 20 16 22 30.0000000 0 7G29G 7G28G19G11G27G 8
+ 25355276.5464 1956519.14948 1526851.93845 25355279.4864 25355285.9414
+ -1381.3234 -1076.3594
+ 22278921.0754 -15233362.22549 -11825460.67847 22278919.9714 22278928.3864
+ 1835.9764 1430.6404
+ 20885136.9234 -24771287.43749 -19286718.84548 20885136.7524 20885142.3114
+ 1629.4484 1269.7034
+ 24551184.1994 -518293.04149 -381828.79146 24551183.1414 24551190.2614
+ -2942.5474 -2292.8954
+ 20867976.1834 -19201829.91749 -14939807.01348 20867975.7274 20867981.0414
+ -1245.0734 -970.1844
+ 22021367.1664 -16914151.62749 -13168502.85147 22021367.2134 22021376.0684
+ -3015.3214 -2349.5974
+ 21059154.5484 -18861219.40749 -14685863.42848 21059153.1144 21059160.4754
+ -2392.9764 -1864.6534
+ 05 1 20 16 23 0.0000000 0 7G29G 7G28G19G11G27G 8
+ 25363200.8754 1998136.54548 1559281.09744 25363198.3924 25363206.4254
+ -1393.0554 -1085.4964
+ 22268458.0274 -15288343.40049 -11868303.13147 22268458.4504 22268466.0454
+ 1829.5294 1425.6064
+ 20875859.8254 -24820043.23949 -19324710.38048 20875858.5984 20875864.1974
+ 1620.9144 1263.0494
+ 24567980.8684 -430024.74149 -313048.39446 24567980.1754 24567987.6284
+ -2941.9834 -2292.4494
+ 20875132.6764 -19164221.04149 -14910501.41248 20875132.6364 20875137.7484
+ -1262.2064 -983.5374
+ 22038612.3644 -16823534.92449 -13097892.52847 22038612.0194 22038619.6344
+ -3025.8084 -2357.7694
+ 21072861.9404 -18789178.44249 -14629727.65948 21072861.9574 21072869.1604
+ -2409.7774 -1877.7434
+ 05 1 20 16 23 30.0000000 0 6G 7G28G19G11G27G 8
+ 22258033.5654 -15343130.41549 -11910994.31047 22258032.9904 22258040.4444
+ 1823.0144 1420.5414
+ 20866629.6584 -24868541.64749 -19362501.36048 20866629.7024 20866635.1434
+ 1612.2824 1256.3314
+ 24584775.4394 -341773.44749 -244281.21846 24584775.2014 24584782.1414
+ -2941.4154 -2292.0074
+ 20882387.8594 -19126099.09849 -14880796.02448 20882387.1484 20882392.2794
+ -1279.2764 -996.8364
+ 22055915.0204 -16732604.56749 -13027037.80347 22055914.9514 22055923.4204
+ -3036.1944 -2365.8524
+ 21086667.6074 -18716634.95849 -14573200.32748 21086666.4654 21086674.1804
+ -2426.4364 -1890.7254
+ 05 1 20 16 24 0.0000000 0 6G 7G28G19G11G27G 8
+ 22247644.9964 -15397723.40249 -11953534.28347 22247643.9044 22247651.3054
+ 1816.5484 1415.4904
+ 20857451.2544 -24916780.72549 -19400090.25048 20857450.1274 20857455.6544
+ 1603.6334 1249.5804
+ 24601564.2794 -253539.68449 -175527.72845 24601562.8854 24601571.4464
+ -2940.8264 -2291.5594
+ 20889738.7784 -19087465.87349 -14850692.23948 20889738.8064 20889743.9634
+ -1296.3104 -1010.1154
+ 22073277.8824 -16641363.37849 -12955940.87247 22073277.7944 22073285.9924
+ -3046.5454 -2373.9324
+ 21100566.2354 -18643591.59149 -14516283.46748 21100566.1624 21100573.7804
+ -2443.0984 -1903.7134
+ 05 1 20 16 24 30.0000000 0 6G 7G28G19G11G27G 8
+ 22237292.4544 -15452122.43849 -11995923.13347 22237291.6304 22237299.7054
+ 1810.1224 1410.4854
+ 20848320.5674 -24964758.83249 -19437475.79048 20848320.2044 20848325.7704
+ 1594.9074 1242.7864
+ 24618352.3244 -165324.21449 -106788.51146 24618352.0654 24618359.9824
+ -2940.2284 -2291.0894
+ 20897187.7614 -19048322.49049 -14820190.92748 20897187.4554 20897192.9884
+ -1313.2864 -1023.3384
+ 22090699.7764 -16549814.17249 -12884603.90947 22090699.5364 22090706.3724
+ -3056.7624 -2381.8944
+ 21114560.9174 -18570050.82549 -14458979.02748 21114560.5764 21114568.2164
+ -2459.6134 -1916.5784
+ 05 1 20 16 25 0.0000000 0 6G 7G28G19G11G27G 8
+ 22226977.1604 -15506327.66849 -12038160.97447 22226976.7214 22226984.8154
+ 1803.6784 1405.4674
+ 20839240.8684 -25012474.44049 -19474656.79048 20839240.5144 20839245.7624
+ 1586.1204 1235.9394
+ 24635135.1754 -77127.67349 -38064.03945 24635133.8254 24635141.1864
+ -2939.5434 -2290.5404
+ 20904732.8024 -19008671.18949 -14789293.83448 20904732.6494 20904738.5134
+ -1330.1614 -1036.4804
+ 22108178.4744 -16457959.50949 -12813028.94247 22108178.7684 22108186.1544
+ -3066.8944 -2389.7884
+ 21128650.4154 -18496015.11449 -14401288.92048 21128649.6904 21128656.4824
+ -2476.0874 -1929.4164
+ 05 1 20 16 25 30.0000000 0 7G 7G28G19G11G27G 8G20
+ 22216698.3204 -15560339.31649 -12080247.95547 22216698.2474 22216707.1364
+ 1797.2264 1400.4394
+ 20830211.0634 -25059925.62749 -19511631.74548 20830210.7004 20830215.9714
+ 1577.2854 1229.0544
+ 24651913.8844 11049.18849 30645.08445 24651913.4974 24651921.6124
+ -2938.8374 -2290.0044
+ 20912374.6844 -18968513.64949 -14758002.27248 20912374.6934 20912380.1684
+ -1346.9984 -1049.6044
+ 22125717.0824 -16365802.38549 -12741218.29647 22125715.8724 22125723.9894
+ -3076.9084 -2397.5894
+ 21142831.6374 -18421486.96749 -14343215.09048 21142831.6144 21142838.8614
+ -2492.4154 -1942.1414
+ 24448030.2574 -94729.14949 -56678.64042
+ 2768.2644 2155.5044
+ 05 1 20 16 26 0.0000000 0 7G 7G28G19G11G27G 8G20
+ 22206457.8634 -15614157.43949 -12122184.14847 22206457.4874 22206465.2314
+ 1790.7394 1395.3814
+ 20821231.8444 -25107110.58649 -19548399.24848 20821231.6364 20821237.3194
+ 1568.3684 1222.1084
+ 24668692.8514 99205.63049 99338.28446 24668690.2294 24668696.7224
+ -2938.1854 -2289.4874
+ 20920112.3814 -18927851.15449 -14726317.23248 20920112.2174 20920117.5614
+ -1363.8454 -1062.7364
+ 22143309.8134 -16273345.61849 -12669174.16647 22143309.8354 22143317.7574
+ -3086.8674 -2405.3514
+ 21157106.7784 -18346469.19549 -14284759.73747 21157106.3714 21157114.3814
+ -2508.7304 -1954.8484
+ 24432235.3544 -177726.17149 -121350.27344
+ 2764.9174 2154.4114
+ 05 1 20 16 26 30.0000000 0 7G 7G28G19G11G27G 8G20
+ 22196254.0384 -15667782.08049 -12163969.58647 22196253.3004 22196261.1744
+ 1784.3064 1390.3714
+ 20812304.0444 -25154027.88349 -19584958.18348 20812303.4614 20812309.3284
+ 1559.4434 1215.1524
+ 24685463.0374 187340.74549 168014.92745 24685462.3904 24685470.1484
+ -2937.5004 -2288.9574
+ 20927945.9184 -18886685.86149 -14694240.40848 20927945.6424 20927951.0684
+ -1380.5444 -1075.7524
+ 22160960.5274 -16180591.94249 -12596898.67547 22160960.0804 22160968.8284
+ -3096.6934 -2413.0034
+ 21171475.6084 -18270963.70849 -14225924.33747 21171475.0904 21171482.5524
+ -2524.9214 -1967.4724
+ 24416458.4734 -260622.95249 -185943.54244
+ 2761.4764 2151.7574
+ 05 1 20 16 27 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22186087.3674 -15721213.61949 -12205604.54447 22186085.4044 22186093.2594
+ 1777.8564 1385.3444
+ 20803427.3574 -25200675.67449 -19621307.11448 20803426.7314 20803432.3734
+ 1550.3924 1208.1044
+ 24702229.6524 275453.90349 236674.44045 24702228.7034 24702236.0514
+ -2936.7534 -2288.3764
+ 20935875.0394 -18845019.22249 -14661772.92048 20935874.8694 20935880.0494
+ -1397.2314 -1088.7514
+ 22178667.1874 -16087544.19649 -12524394.03747 22178666.7334 22178673.8584
+ -3106.4714 -2420.6174
+ 21185936.2734 -18194973.85449 -14166711.52147 21185935.6024 21185942.7874
+ -2541.0424 -1980.0304
+ 24400703.8724 -343416.50449 -52159.57443
+ 2758.0444 2149.1254
+ -324291.42941 -118899.815 4 24930469.211
+ 3787.7774 2952.416
+ 05 1 20 16 27 30.0000000 0 7G 7G28G19G11G27G 8G20
+ 22175953.7954 -15774452.03549 -12247089.00247 22175953.9644 22175962.2184
+ 1771.4514 1380.3454
+ 20794602.5414 -25247051.80249 -19657444.35748 20794601.8944 20794607.2324
+ 1541.3294 1201.0344
+ 24718993.0604 363544.72849 305316.54345 24718992.1224 24718999.9894
+ -2936.0134 -2287.7914
+ 20943899.0834 -18802852.85049 -14628916.02748 20943898.8014 20943904.0294
+ -1413.8644 -1101.7124
+ 22196428.8204 -15994205.30049 -12451662.52446 22196428.8374 22196436.0434
+ -3116.1554 -2428.1624
+ 21200488.3674 -18118501.93349 -14107123.06747 21200487.7874 21200495.0694
+ -2557.0934 -1992.5374
+ 24384972.3194 -426103.58949 -116591.41445 24384976.8754
+ 2754.4084 2146.2984
+ 05 1 20 16 28 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22165861.5784 -15827497.46549 -12288423.11247 22165860.9174 22165867.8374
+ 1765.0104 1375.3394
+ 20785829.4304 -25293154.89049 -19693368.83348 20785828.6914 20785833.9034
+ 1532.1934 1193.9134
+ 24735753.2094 451612.58149 373940.70145 24735752.3874 24735756.5394
+ -2935.1634 -2287.1444
+ 20952018.4914 -18760188.40049 -14595671.02448 20952017.8774 20952022.9884
+ -1430.4384 -1114.6314
+ 22214246.4104 -15900577.87249 -12378706.19247 22214245.3874 22214253.2584
+ -3125.6964 -2435.6154
+ 21215132.2784 -18041550.52649 -14047160.99747 21215131.8384 21215138.8064
+ -2572.9654 -2004.9054
+ 24369258.0924 -508681.16749 -180937.46445 24369256.0364 24369265.1494
+ 2750.7384 2143.4314
+ -43923.28441
+ 3785.2194
+ 05 1 20 16 28 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22155803.5084 -15880350.21249 -12329607.04947 22155803.0164 22155810.6004
+ 1758.6114 1370.3484
+ 20777108.4244 -25338983.13949 -19729079.16448 20777107.8624 20777113.1894
+ 1522.9964 1186.7534
+ 24752505.3564 539656.73049 442546.43745 24752505.5064 24752511.8004
+ -2934.3924 -2286.5324
+ 20960231.1744 -18717027.59749 -14562039.24648 20960230.5924 20960236.1674
+ -1446.9584 -1127.4974
+ 22232116.7924 -15806664.87849 -12305527.34747 22232116.8644 22232124.2394
+ -3135.1634 -2442.9854
+ 21229865.4064 -17964122.29049 -13986827.36447 21229865.1074 21229872.7814
+ -2588.8404 -2017.2724
+ 24353564.9754 -591145.99649 -245195.79345 24353564.1544 24353573.3164
+ 2746.9254 2140.4654
+ -157461.38441 -83351.607 4 24839670.154
+ 3783.9254 2947.427
+ 05 1 20 16 29 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22145782.7754 -15933010.20749 -12370640.80047 22145781.8994 22145789.4564
+ 1752.1444 1365.3044
+ 20768439.3504 -25384534.84949 -19764574.00348 20768439.3894 20768444.9074
+ 1513.7594 1179.5514
+ 24769256.3944 627676.54049 511133.20045 24769255.2374 24769263.0454
+ -2933.6014 -2285.9174
+ 20968537.6954 -18673372.49849 -14528022.31448 20968537.8504 20968543.1884
+ -1463.3944 -1140.3084
+ 22250041.0284 -15712469.28949 -12232128.28846 22250040.7504 22250049.0804
+ -3144.5484 -2450.2894
+ 21244689.8824 -17886220.02449 -13926124.34547 21244689.6674 21244697.3944
+ -2604.6124 -2029.5734
+ 24337893.4334 -673494.91149 -309363.81045 24337892.8184 24337903.0474
+ 2743.0264 2137.4204
+ 24815177.9604 -270958.17749 -183584.54944
+ 3782.5094 2947.3934
+ 05 1 20 16 29 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22135798.7184 -15985477.68249 -12411524.54647 22135798.2424 22135805.2424
+ 1745.7404 1360.3234
+ 20759824.8154 -25429808.31849 -19799852.03048 20759824.2324 20759829.7104
+ 1504.4634 1172.3074
+ 24786000.9124 715671.20249 579700.35745 24786000.6264 24786007.8514
+ -2932.7434 -2285.2504
+ 20976939.3614 -18629224.98649 -14493621.67748 20976938.8864 20976944.9354
+ -1479.7954 -1153.0864
+ 22268020.2664 -15617993.84849 -12158511.17346 22268020.1204 22268027.1274
+ -3153.8334 -2457.5324
+ 21259604.6034 -17807846.31449 -13865053.98247 21259603.7904 21259611.2424
+ -2620.2904 -2041.7804
+ 24322245.2444 -755724.97849 -373439.18945 24322245.3454 24322254.7464
+ 2739.0934 2134.3564
+ 24793591.8274 -384411.42549 -271989.23544
+ 3780.9714 2946.1744
+ 05 1 20 16 30 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22125851.0364 -16037752.77849 -12452258.38747 22125850.1454 22125857.9234
+ 1739.3484 1355.3374
+ 20751262.9644 -25474801.67349 -19834911.78848 20751262.2374 20751267.9294
+ 1495.0794 1164.9994
+ 24802739.8364 803640.19649 648247.54245 24802739.2514 24802747.7714
+ -2931.8414 -2284.5604
+ 20985434.3554 -18584586.74749 -14458838.66048 20985433.8934 20985439.3264
+ -1496.1314 -1165.8154
+ 22286050.5944 -15523241.38949 -12084678.20246 22286051.1604 22286057.6014
+ -3163.0084 -2464.6814
+ 21274607.4184 -17729004.28749 -13803618.70847 21274607.3614 21274614.2704
+ -2635.8314 -2053.8854
+ 24306619.9344 -837833.01849 -437419.43145 24306620.1444 24306629.2874
+ 2734.8554 2131.0554
+ 24772008.9214 -497818.87749 -360358.35144
+ 3779.4864 2945.0164
+ 05 1 20 16 30 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22115939.0264 -16089835.75149 -12492842.51247 22115938.7594 22115947.2864
+ 1732.9334 1350.3404
+ 20742754.4324 -25519512.81549 -19869751.63748 20742754.0914 20742759.7254
+ 1485.6354 1157.6454
+ 24819473.9354 891583.23249 716774.50145 24819473.2894 24819484.9334
+ -2930.8974 -2283.8124
+ 20994020.7514 -18539459.16349 -14423674.33148 20994021.0754 20994026.5534
+ -1512.3824 -1178.4744
+ 22304135.0384 -15428214.84349 -12010631.62847 22304133.6174 22304141.6634
+ -3172.0974 -2471.7614
+ 21289699.0504 -17649696.09049 -13741820.16047 21289698.7174 21289706.2504
+ -2651.3694 -2065.9974
+ 24291018.4914 -919815.64749 -501301.98445 24291019.7444 24291030.4064
+ 2730.6064 2127.7454
+ 24750434.8534 -611178.09749 -22764.99743
+ 3777.8134 2943.7494
+ 05 1 20 16 31 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22106064.2824 -16141726.70249 -12533277.02147 22106064.1604 22106072.6644
+ 1726.5444 1345.3554
+ 20734300.4624 -25563940.52849 -19904370.63448 20734299.9614 20734305.1884
+ 1476.1334 1150.2334
+ 24836207.2334 979499.25249 785280.30245 24836206.0804 24836209.8274
+ -2930.0864 -2283.1734
+ 21002701.5044 -18493844.43749 -14388130.41648 21002701.1504 21002706.5024
+ -1528.5504 -1191.0834
+ 22322268.3404 -15332916.96749 -11936373.69546 22322267.6734 22322275.1854
+ -3181.0964 -2478.7654
+ 21304879.8634 -17569924.56349 -13679660.60347 21304878.9664 21304886.1744
+ -2666.7424 -2077.9804
+ 24275442.4284 -1001670.02449 -565084.63145 24275443.3824 24275451.6924
+ 2726.2814 2124.3804
+ 24728873.5594 -724486.64349 -111057.41845
+ 3776.1294 2942.4404
+ 05 1 20 16 31 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22096228.3984 -16193425.81349 -12573562.04547 22096227.3024 22096234.6384
+ 1720.1164 1340.3594
+ 20725900.6034 -25608082.91749 -19938767.29248 20725899.8774 20725905.2494
+ 1466.6324 1142.8324
+ 24852931.3504 1067387.49549 853764.60545 24852930.4954 24852936.9644
+ -2929.1024 -2282.4104
+ 21011473.5764 -18447744.77149 -14352208.62748 21011473.6584 21011478.9914
+ -1544.7094 -1203.6644
+ 22340453.6024 -15237350.80049 -11861906.65646 22340453.9764 22340461.7944
+ -3189.9744 -2485.7014
+ 21320147.4494 -17489692.51449 -13617142.18547 21320147.0004 21320153.9544
+ -2682.0194 -2089.8834
+ 24259893.6304 -1083392.98149 -628764.86445 24259892.4934 24259901.1394
+ 2721.8784 2120.9384
+ 24707321.0544 -837742.46049 -199308.65445 24707329.8194
+ 3774.2264 2940.9414
+ 05 1 20 16 32 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22086426.0514 -16244933.22749 -12613697.67847 22086425.2774 22086432.4474
+ 1713.7634 1335.3974
+ 20717555.0124 -25651938.38549 -19972940.38048 20717554.4084 20717559.6594
+ 1457.0374 1135.3524
+ 24869650.1524 1155247.54649 922226.85345 24869648.9904 24869656.2544
+ -2928.1674 -2281.6974
+ 21020338.1674 -18401161.57349 -14315910.06048 21020338.1774 21020343.1784
+ -1560.8284 -1216.2304
+ 22358691.5024 -15141519.10949 -11787232.73446 22358690.0544 22358698.1884
+ -3198.8054 -2492.5664
+ 21335501.6974 -17409002.75949 -13554267.11747 21335501.0194 21335508.6024
+ -2697.2274 -2101.7354
+ 24244368.1904 -1164981.38049 -692340.25645 24244366.8834 24244376.2774
+ 2717.3474 2117.4074
+ 24685776.4754 -950943.17449 -287516.88945 24685778.6644 24685791.3124
+ 3772.4254 2939.5474
+ 05 1 20 16 32 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22076660.7014 -16296249.01949 -12653684.00147 22076659.7304 22076667.3374
+ 1707.4124 1330.4474
+ 20709263.8784 -25695505.23049 -20006888.56948 20709264.0444 20709269.2934
+ 1447.3944 1127.8414
+ 24886364.3284 1243078.77049 990666.68045 24886363.0354 24886371.0044
+ -2927.2534 -2280.9764
+ 21029295.3254 -18354096.90149 -14279236.31048 21029294.8024 21029299.6324
+ -1576.8264 -1228.6944
+ 22376975.5414 -15045424.84749 -11712354.19846 22376975.8254 22376984.5234
+ -3207.5084 -2499.3524
+ 21350943.7004 -17327857.88449 -13491037.41947 21350943.4104 21350950.7364
+ -2712.3794 -2113.5384
+ 24228869.1104 -1246431.82649 -755808.10345 24228867.5694 24228875.3074
+ 2712.5714 2113.6884
+ 24664250.0724 -1064086.12349 -375680.13245 24664248.4164 24664259.6824
+ 3770.4394 2938.0024
+ 05 1 20 16 33 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22066931.9164 -16347373.45649 -12693521.22247 22066931.2374 22066939.0684
+ 1701.0174 1325.4714
+ 20701028.7444 -25738781.38049 -20040610.24148 20701028.4274 20701034.3454
+ 1437.6944 1120.2874
+ 24903069.7134 1330880.52449 1059083.55845 24903068.8324 24903078.1224
+ -2926.2614 -2280.2044
+ 21038341.8604 -18306552.49549 -14242188.74748 21038341.9274 21038347.4034
+ -1592.7934 -1241.1344
+ 22395311.6004 -14949070.78149 -11637273.26146 22395312.0004 22395320.3014
+ -3216.1064 -2506.0494
+ 21366471.5374 -17246260.83249 -13427455.35647 21366470.7084 21366478.0524
+ -2727.4104 -2125.2534
+ 24213392.9924 -1327741.35649 -819166.09045 24213391.8524 24213403.1134
+ 2707.9524 2110.0864
+ 24642730.5934 -1177169.20549 -463796.73445 24642730.9404 24642740.5264
+ 3768.4014 2936.4164
+ 05 1 20 16 33 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22057239.5404 -16398306.64949 -12733209.42447 22057239.1194 22057246.7924
+ 1694.6604 1320.5144
+ 20692849.5894 -25781765.32149 -20074104.21548 20692848.9564 20692854.5784
+ 1427.9184 1112.6614
+ 24919772.9114 1418652.43449 1127477.09645 24919773.0774 24919779.9174
+ -2925.1374 -2279.3194
+ 21047479.7464 -18258530.31149 -14204768.88048 21047479.7134 21047485.7414
+ -1608.6774 -1253.5144
+ 22413697.1594 -14852459.85249 -11561992.12746 22413697.0264 22413705.0354
+ -3224.6084 -2512.6744
+ 21382083.5464 -17164214.39149 -13363523.13347 21382083.1914 21382091.0824
+ -2742.3404 -2136.8864
+ 24197948.3964 -1408906.62149 -882411.71445 24197948.9824 24197958.2094
+ 2703.0364 2106.2594
+ 24621223.7004 -1290190.29949 -551865.05745 24621223.3224 24621232.9774
+ 3766.2724 2934.7544
+ 05 1 20 16 34 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22047584.0854 -16449048.70949 -12772748.68447 22047583.1664 22047591.0754
+ 1688.2514 1315.5234
+ 20684725.9944 -25824455.08549 -20107368.96748 20684725.4794 20684731.0334
+ 1418.0574 1104.9854
+ 24936470.2784 1506393.50949 1195846.69545 24936469.1154 24936479.2774
+ -2924.1264 -2278.5384
+ 21056709.0844 -18210032.41249 -14166978.33548 21056709.1074 21056714.4824
+ -1624.5264 -1265.8604
+ 22432129.1454 -14755595.08749 -11486513.20946 22432129.2344 22432138.0134
+ -3233.0494 -2519.2454
+ 21397782.2424 -17081720.95649 -13299242.60547 21397781.8244 21397788.6774
+ -2757.2264 -2148.4824
+ 24182530.9034 -1489924.66349 -945542.59145 24182531.1444 24182542.1814
+ 2698.1254 2102.4354
+ 24599728.0224 -1403146.64249 -639882.90545 24599728.9944 24599737.8254
+ 3764.0684 2933.0444
+ 05 1 20 16 34 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22037964.4724 -16499599.90049 -12812139.21047 22037963.4504 22037971.4364
+ 1681.9434 1310.6054
+ 20676658.7434 -25866849.01649 -20140403.19748 20676658.5034 20676663.8114
+ 1408.1874 1097.2894
+ 24953163.6744 1594103.53649 1264192.08545 24953160.6114 24953168.7314
+ -2923.1974 -2277.8094
+ 21066028.0284 -18161060.42049 -14128818.36348 21066028.1054 21066033.6944
+ -1640.2844 -1278.1414
+ 22450610.3954 -14658479.22949 -11410838.61846 22450609.7864 22450617.9824
+ -3241.3474 -2525.7134
+ 21413564.6024 -16998783.91849 -13234616.41047 21413564.0154 21413571.5964
+ -2771.9214 -2159.9324
+ 24167142.8914 -1570792.47349 -1008556.42745 24167142.9604 24167152.0384
+ 2693.0364 2098.4694
+ 24578248.9604 -1516036.05549 -727848.56745 24578246.9684 24578256.3224
+ 3761.7804 2931.2554
+ 05 1 20 16 35 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22028381.3684 -16549960.28849 -12851381.06347 22028380.8754 22028387.8014
+ 1675.5444 1305.6194
+ 20668647.7944 -25908945.24749 -20173205.45148 20668647.4724 20668653.1854
+ 1398.2194 1089.5204
+ 24969844.5764 1681781.79349 1332512.68245 24969844.4524 24969854.7444
+ -2922.0394 -2276.9084
+ 21075437.9084 -18111616.41949 -14090290.59448 21075437.2554 21075442.5494
+ -1655.9884 -1290.3824
+ 22469138.1934 -14561115.17849 -11334970.65246 22469137.8194 22469146.1024
+ -3249.5664 -2532.1224
+ 21429430.7714 -16915405.68249 -13169646.41847 21429430.3344 21429437.4604
+ -2786.5814 -2171.3624
+ 24151784.4264 -1651506.69749 -1071450.56445 24151782.1974 24151792.6554
+ 2687.8624 2094.4344
+ 24556778.2664 -1628856.10749 -815760.22945 24556778.8514 24556788.1184
+ 3759.4354 2929.4284
+ 05 1 20 16 35 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22018834.5994 -16600130.09549 -12890474.40447 22018833.3154 22018840.9364
+ 1669.2124 1300.6814
+ 20660694.2984 -25950742.10149 -20205774.43048 20660693.8894 20660699.2754
+ 1388.2114 1081.7204
+ 24986524.5134 1769427.84349 1400808.19745 24986524.2334 24986533.4644
+ -2920.9694 -2276.0764
+ 21084936.0914 -18061702.36649 -14051396.55248 21084935.5504 21084940.6394
+ -1671.6394 -1302.5764
+ 22487712.6224 -14463506.03349 -11258911.70246 22487712.3934 22487720.9184
+ -3257.7214 -2538.4864
+ 21445380.4204 -16831589.62049 -13104335.26947 21445379.7214 21445387.9144
+ -2801.1224 -2182.6834
+ 24136453.6784 -1732064.26949 -1134222.58645 24136452.9404 24136460.3814
+ 2682.6264 2090.3524
+ 24535322.3824 -1741604.38149 -903615.96945 24535322.9444 24535332.8394
+ 3757.0594 2927.5714
+ 05 1 20 16 36 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 22009322.9784 -16650109.51449 -12929419.39447 22009322.2434 22009329.8404
+ 1662.8584 1295.7314
+ 20652797.9994 -25992237.78049 -20238108.72548 20652797.4234 20652803.1054
+ 1378.1484 1073.8834
+ 25003199.1734 1857041.03849 1469078.11145 25003196.9884 25003203.4294
+ -2919.9154 -2275.2514
+ 21094522.8934 -18011319.92849 -14012137.52748 21094522.7704 21094528.5054
+ -1687.2104 -1314.7054
+ 22506333.2274 -14365654.53149 -11182663.89946 22506332.4994 22506341.6494
+ -3265.7154 -2544.7164
+ 21461412.7864 -16747338.14249 -13038684.83847 21461412.8544 21461420.1154
+ -2815.6274 -2193.9954
+ 24121155.3674 -1812461.76549 -1196869.89245 24121155.5834 24121164.0584
+ 2677.2244 2086.1444
+ 24513878.9044 -1854278.50649 -991413.87945 24513879.9524 24513890.7024
+ 3754.5034 2925.5834
+ 05 1 20 16 36 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 21999848.3564 -16699898.69749 -12968216.13447 21999848.0854 21999855.4804
+ 1656.5254 1290.7954
+ 20644958.9324 -26033430.78449 -20270207.17148 20644958.5964 20644964.1754
+ 1368.0234 1065.9894
+ 25019862.2434 1944620.88549 1537321.99745 25019862.0374 25019873.1534
+ -2918.6954 -2274.3094
+ 21104199.1004 -17960471.39149 -13972515.30848 21104198.5774 21104204.7234
+ -1702.6934 -1326.7724
+ 22524998.9944 -14267563.57049 -11106229.51946 22524999.0974 22525008.1164
+ -3273.6684 -2550.9014
+ 21477528.0264 -16662654.26149 -12972697.47147 21477527.6444 21477535.0714
+ -2829.9794 -2205.1794
+ 24105885.5974 -1892696.30849 -1259390.23645 24105884.8084 24105893.9244
+ 2671.6854 2081.8284
+ 24492455.1644 -1966876.27149 -1079152.32145 24492454.7854 24492464.9144
+ 3751.9814 2923.6204
+ 05 1 20 16 37 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 21990410.8794 -16749497.77749 -13006864.75147 21990409.9154 21990416.8094
+ 1650.1764 1285.8494
+ 20637178.7334 -26074319.09349 -20302068.19148 20637178.1284 20637183.4524
+ 1357.8384 1058.0584
+ 25036521.5384 2032166.63349 1605539.33845 25036524.2744 25036526.4784
+ -2917.6474 -2273.4874
+ 21113964.1204 -17909158.82349 -13932531.51848 21113963.2574 21113969.1414
+ -1718.1284 -1338.8004
+ 22543708.6664 -14169236.17349 -11029610.90246 22543709.9504 22543718.5494
+ -3281.5114 -2557.0114
+ 21493724.4474 -16577540.80649 -12906375.36647 21493724.0714 21493731.5964
+ -2844.2674 -2216.3094
+ 24090652.2804 -1972764.73249 -1321781.08745 24090650.7834 24090659.4594
+ 2666.1344 2077.4974
+ 24471043.7354 -2079395.60249 -1166829.68045 24471042.9524 24471052.3454
+ 3749.2514 2921.4864
+ 05 1 20 16 37 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 21981008.5244 -16798906.84149 -13045365.31647 21981007.9244 21981014.3174
+ 1643.8524 1280.9224
+ 20629456.0354 -26114900.92549 -20333690.39648 20629455.5214 20629460.8664
+ 1347.6104 1050.0844
+ 25053177.6884 2119678.08249 1673729.99045 25053176.2614 25053182.1454
+ -2916.4914 -2272.5864
+ 21123816.6004 -17857383.90649 -13892187.44748 21123815.7694 21123821.4094
+ -1733.5224 -1350.7944
+ 22562466.4764 -14070675.25849 -10952810.30446 22562465.9024 22562474.4264
+ -3289.2204 -2563.0184
+ 21510002.2854 -16492000.09649 -12839720.34147 21510001.8104 21510008.9224
+ -2858.4224 -2227.3444
+ 24075447.0944 -2052663.59249 -1384039.89345 24075445.7954 24075454.4364
+ 2660.4184 2073.0524
+ 24449645.8084 -2191833.78449 -1254443.78945 24449646.2064 24449656.9244
+ 3746.5604 2919.3944
+ 05 1 20 16 38 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 21971641.6794 -16848126.29149 -13083718.10347 21971640.8984 21971648.4324
+ 1637.5314 1275.9994
+ 20621792.3904 -26155174.53849 -20365072.42948 20621791.7494 20621797.2044
+ 1337.2934 1042.0464
+ 25069821.0894 2207154.58049 1741893.42145 25069821.6484 25069829.4644
+ -2915.2514 -2271.6214
+ 21133755.3544 -17805148.74649 -13851484.74348 21133755.7584 21133761.6964
+ -1748.8434 -1362.7324
+ 22581265.1844 -13971883.69449 -10875830.00146 22581264.9224 22581274.1804
+ -3296.9034 -2569.0164
+ 21526361.4534 -16406035.60849 -12772735.09447 21526360.5234 21526368.5194
+ -2872.5244 -2238.3274
+ 24060275.6314 -2132390.19849 -1446164.42945 24060273.9314 24060282.9004
+ 2654.6144 2068.5304
+ 24428264.4144 -2304188.64049 -1341992.93145 24428265.2214 24428277.4674
+ 3743.7224 2917.1834
+ 05 1 20 16 38 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 21962311.9384 -16897156.13549 -13121923.16547 21962310.8624 21962318.7184
+ 1631.1964 1271.0584
+ 20614187.1904 -26195138.37949 -20396213.08448 20614186.8574 20614192.2734
+ 1326.9354 1033.9774
+ 25086461.6784 2294595.53849 1810029.10445 25086461.8884 25086466.1554
+ -2914.0834 -2270.7004
+ 21143783.9774 -17752455.49049 -13810425.08548 21143783.0104 21143788.5894
+ -1764.0704 -1374.5984
+ 22600107.5954 -13872864.47749 -10798672.31146 22600108.2284 22600116.4014
+ -3304.4134 -2574.8594
+ 21542798.5614 -16319650.62449 -12705422.18447 21542798.7164 21542806.7294
+ -2886.4664 -2249.1904
+ 24045135.5294 -2211941.21449 -1508152.17245 24045135.6924 24045144.7284
+ 2648.7714 2063.9604
+ 24406899.7644 -2416457.74949 -1429475.24745 24406901.4444 24406912.7194
+ 3740.8164 2914.9204
+ 05 1 20 16 39 0.0000000 0 9G 7G28G19G11G27G 8G20G26G24
+ 21953017.2024 -16945996.59649 -13159980.65647 21953016.8714 21953024.6864
+ 1624.9244 1266.1784
+ 20606641.8244 -26234790.42249 -20427110.78548 20606641.0694 20606646.7134
+ 1316.5234 1025.8614
+ 25103095.5564 2382000.65749 1878136.90445 25103094.1294 25103103.4004
+ -2912.8294 -2269.7334
+ 21153896.6434 -17699305.97849 -13769009.89348 21153897.3874 21153902.5704
+ -1779.2374 -1386.4154
+ 22618995.2034 -13773620.55049 -10721339.51246 22618994.2684 22619002.3964
+ -3311.8524 -2580.6684
+ 21559318.3584 -16232847.55749 -12637783.50647 21559317.7754 21559324.9694
+ -2900.3784 -2260.0304
+ 24030031.4494 -2291313.51949 -1570000.67345 24030031.6354 24030039.7674
+ 2642.7634 2059.2934
+ 167041.10041
+ -1777.1344
+ 24385552.4804 -2528638.87149 -1516889.05745 24385552.9844 24385564.1854
+ 3737.8414 2912.6024
+ 05 1 20 16 39 30.0000000 0 9G 7G28G19G11G27G 8G20G26G24
+ 21943759.2774 -16994647.83549 -13197890.69647 21943758.4944 21943766.4694
+ 1618.6024 1261.2504
+ 20599155.6774 -26274128.96049 -20457764.18848 20599155.1924 20599160.9274
+ 1306.0374 1017.6954
+ 25119717.0284 2469369.32248 1946216.26345 25119717.5164 25119729.3084
+ -2911.4644 -2268.6764
+ 21164098.1344 -17645702.25749 -13727240.77548 21164097.5404 21164103.1154
+ -1794.3394 -1398.1804
+ 22637922.1644 -13674154.80349 -10643833.86146 22637922.0684 22637930.6274
+ -3319.2424 -2586.4284
+ 21575915.4124 -16145629.30549 -12569821.29947 21575914.3794 21575921.9714
+ -2914.1634 -2270.7764
+ 24014963.6204 -2370503.78749 -1631707.29145 24014961.9554 24014971.9134
+ 2636.5444 2054.4564
+ 24877.34741 7340.321 3 25453716.665
+ -1788.8344 -1392.417
+ 24364221.9914 -2640729.45449 -1604232.26045 24364223.0704 24364234.5914
+ 3734.8544 2910.2694
+ 05 1 20 16 40 0.0000000 0 9G 7G28G19G11G27G 8G20G26G24
+ 21934537.3924 -17043110.10149 -13235653.49247 21934536.5634 21934544.0214
+ 1612.3294 1256.3594
+ 20591729.4794 -26313152.25249 -20488171.94348 20591729.2564 20591734.9494
+ 1295.5154 1009.4904
+ 25136339.9074 2556701.07249 2014266.81445 25136339.3284 25136345.6384
+ -2910.4534 -2267.8804
+ 21174384.1554 -17591646.55249 -13685119.45048 21174383.9564 21174389.6334
+ -1809.3954 -1409.9164
+ 22656889.8994 -13574470.23149 -10566157.72146 22656890.3164 22656900.3594
+ -3326.4374 -2592.0154
+ 21592590.1844 -16057999.14449 -12501538.13247 21592589.5944 21592597.3704
+ -2927.8354 -2281.4314
+ 23999928.4524 -2449508.97449 -1693269.70345 23999928.6674 23999938.6084
+ 2630.4184 2049.6754
+ 78717.80441 29667.197 3 25459123.453
+ -1800.5244 -1397.537
+ 24342910.6344 -2752727.18749 -1691503.11345 24342911.2144 24342922.8454
+ 3731.6714 2907.7934
+ 05 1 20 16 40 30.0000000 0 9G 7G28G19G11G27G 8G20G26G24
+ 21925351.7034 -17091383.42649 -13273269.05147 21925351.1804 21925357.9204
+ 1606.0024 1251.4244
+ 20584364.4934 -26351858.55949 -20518332.69648 20584364.0864 20584369.4524
+ 1284.9024 1001.2184
+ 25152952.2614 2643995.11149 2082288.10445 25152950.8054 25152956.5304
+ -2909.0834 -2266.8214
+ 21184755.3224 -17537140.77649 -13642647.43047 21184755.6124 21184761.6054
+ -1824.3394 -1421.5624
+ 22675901.8064 -13474569.57549 -10488313.19846 22675901.5284 22675910.2764
+ -3333.5894 -2597.6044
+ 21609343.6674 -15969959.84749 -12432936.14847 21609343.0654 21609351.3474
+ -2941.4264 -2292.0174
+ 23984931.1004 -2528325.78249 -1754685.34145 23984929.6894 23984938.9794
+ 2624.0484 2044.7224
+ 132905.99941 29667.197 3 25459123.453
+ -1811.9944 -1397.537
+ 24321616.9694 -2864629.99949 -1778699.98545 24321616.3884 24321627.9894
+ 3728.4884 2905.3124
+ 05 1 20 16 41 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 21916201.8734 -17139468.06149 -13310737.58247 21916200.8934 21916207.6674
+ 1599.7024 1246.5284
+ 20577059.6674 -26390245.86649 -20548244.87948 20577059.2374 20577064.3094
+ 1274.2414 992.9144
+ 25169555.3594 2731251.26149 2150279.85945 25169553.5444 25169563.8494
+ -2907.8984 -2265.8894
+ 21195213.5174 -17482186.97749 -13599826.29647 21195213.3144 21195219.1944
+ -1839.2584 -1433.1874
+ 22694954.4804 -13374456.03249 -10410302.77146 22694953.3124 22694961.8284
+ -3340.6864 -2603.1344
+ 21626174.2894 -15881514.40549 -12364017.69447 21626173.6994 21626181.8324
+ -2954.9004 -2302.5144
+ 23969967.8074 -2606951.41949 -1815952.04445 23969967.4394 23969974.6324
+ 2617.6364 2039.7124
+ 24300340.2364 -2976435.13849 -1865820.76445 24300340.2074 24300351.7564
+ 3725.1874 2902.7374
+ 05 1 20 16 41 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 21907086.2624 -17187364.19849 -13348059.23247 21907085.9694 21907093.2974
+ 1593.4524 1241.6524
+ 20569815.7534 -26428312.89449 -20577907.49848 20569815.3314 20569820.7414
+ 1263.5414 984.5784
+ 25186153.6984 2818469.08449 2218241.67045 25186152.8264 25186160.7384
+ -2906.6564 -2264.9134
+ 21205756.4194 -17426787.24249 -13556657.68047 21205756.2154 21205761.6344
+ -1854.0694 -1444.7334
+ 22714045.8294 -13274132.43049 -10332128.68446 22714044.4644 22714051.5294
+ -3347.5994 -2608.5144
+ 21643081.5324 -15792666.01949 -12294785.26147 21643081.0954 21643089.0604
+ -2968.2944 -2312.9574
+ 23955042.9774 -2685382.38649 -1877067.04945 23955042.3804 23955049.8014
+ 2611.1194 2034.6374
+ 24279082.9204 -3088140.38749 -1952863.68045 24279083.0564 24279095.9474
+ 3721.8144 2900.1104
+ 05 1 20 16 42 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 21898007.8334 -17235071.98349 -13385234.11947 21898007.4124 21898014.9174
+ 1587.1824 1236.7634
+ 20562632.8654 -26466057.55849 -20607318.92548 20562632.7014 20562637.9824
+ 1252.7684 976.1844
+ 25202741.0914 2905647.94849 2286173.18744 25202740.5494 25202747.1904
+ -2905.2714 -2263.8464
+ 21216382.3564 -17370943.79849 -13513143.31547 21216382.2644 21216388.4044
+ -1868.8154 -1456.2214
+ 22733175.8294 -13173601.74549 -10253793.21146 22733173.8774 22733183.4574
+ -3354.4304 -2613.8324
+ 21660065.4044 -15703416.92049 -12225240.58547 21660064.6114 21660072.9364
+ -2981.5954 -2323.3164
+ 23940154.7474 -2763615.70749 -1938028.01645 23940154.2214 23940164.6964
+ 2604.4184 2029.4134
+ 24257845.5304 -3199743.71449 -2039827.21445 24257845.4254 24257857.6484
+ 3718.3894 2897.4434
+ 05 1 20 16 42 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 21888965.6514 -17282591.61449 -13422262.38547 21888964.8634 21888971.6814
+ 1580.9354 1231.8964
+ 20555511.9004 -26503478.12349 -20636477.81148 20555511.5784 20555517.3524
+ 1241.9384 967.7454
+ 25219323.9374 2992787.36058 2354073.97554 25219318.7504 25219332.7604
+ -2903.8194 -2262.7274
+ 21227092.9704 -17314658.49849 -13469284.65047 21227092.9084 21227098.5314
+ -1883.5164 -1467.6714
+ 22752342.2794 -13072866.91649 -10175298.70146 22752343.2384 22752351.6014
+ -3361.1484 -2619.0724
+ 21677123.9004 -15613770.98649 -12155386.69847 21677124.0584 21677131.2854
+ -2994.7674 -2333.5824
+ 23925306.7614 -2841648.07349 -1998832.41545 23925307.6084 23925314.5974
+ 2597.6764 2024.1624
+ 24236628.2284 -3311242.56949 -2126709.32345 24236629.0584 24236641.4604
+ 3714.8774 2894.7074
+ 05 1 20 16 43 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 21879959.2324 -17329923.23649 -13459144.15547 21879958.5074 21879965.2574
+ 1574.6454 1226.9884
+ 20548453.2064 -26540572.91549 -20665382.84248 20548452.7804 20548458.3254
+ 1231.0504 959.2534
+ 25235899.8334 3079886.98648 2421943.78244 25235899.0934 25235903.3654
+ -2902.6774 -2261.8354
+ 21237887.4144 -17257933.55349 -13425083.40847 21237887.4424 21237892.8834
+ -1898.1454 -1479.0764
+ 22771551.8774 -12971930.93049 -10096647.42746 22771551.0434 22771559.5564
+ -3367.8654 -2624.3154
+ 21694258.6064 -15523730.80849 -12085225.58847 21694257.6744 21694265.8324
+ -3007.8774 -2343.8084
+ 23910497.4184 -2919476.48249 -2059477.89445 23910495.0894 23910504.5344
+ 2590.8644 2018.8514
+ 24215431.1244 -3422634.43049 -2213508.04545 24215430.2714 24215443.6314
+ 3711.2674 2891.8914
+ 05 1 20 16 43 30.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 21870987.8014 -17377067.09349 -13495879.61547 21870987.2224 21870994.0374
+ 1568.3944 1222.1124
+ 20541456.2944 -26577340.05449 -20694032.55748 20541455.9644 20541461.5374
+ 1220.0874 950.7114
+ 25252462.2824 3166946.41958 2489782.26654 25252460.3164 25252474.3124
+ -2901.3354 -2260.7814
+ 21248766.1354 -17200771.01349 -13380541.18147 21248765.3884 21248770.7984
+ -1912.6934 -1490.4154
+ 22790796.6484 -12870796.66149 -10017841.66746 22790796.4174 22790805.3464
+ -3374.4134 -2629.4214
+ 21711467.4774 -15433299.49949 -12014759.71647 21711466.1424 21711474.6774
+ -3020.8624 -2353.9204
+ 23895727.9364 -2997097.66349 -2119961.90145 23895726.2424 23895735.3934
+ 2583.8844 2013.4154
+ 24194255.6464 -3533916.90949 -2300221.55945 24194254.8404 24194266.0864
+ 3707.6014 2889.0314
+ 05 1 20 16 44 0.0000000 0 8G 7G28G19G11G27G 8G20G24
+ 21862052.6064 -17424023.30249 -13532468.85147 21862051.4554 21862058.7714
+ 1562.1624 1217.2704
+ 20534523.1034 -26613777.93449 -20722425.71548 20534522.4034 20534527.5984
+ 1209.0944 942.1524
+ 25269026.2714 3253964.91148 2557588.81645 25269025.7814 25269031.5944
+ -2899.8674 -2259.6324
+ 21259725.5364 -17143173.02649 -13335659.64047 21259725.4364 21259731.2044
+ -1927.1674 -1501.6914
+ 22810079.1894 -12769467.07449 -9938883.68846 22810078.4144 22810087.1494
+ -3380.8714 -2634.4544
+ 21728749.0964 -15342479.79949 -11943991.21047 21728749.2034 21728756.3874
+ -3033.7754 -2363.9734
+ 23880993.9424 -3074508.56849 -2180282.02845 23880994.7824 23881001.1934
+ 2576.8214 2007.9314
+ 24173099.1484 -3645087.84949 -2386848.13645 24173099.4964 24173110.7824
+ 3703.8584 2886.1204
+ 05 1 20 16 44 30.0000000 0 7G 7G28G11G27G 8G20G24
+ 21853152.5224 -17470792.03149 -13568912.00847 21853151.8574 21853158.8334
+ 1555.8924 1212.3874
+ 20527652.0494 -26649884.78949 -20750560.91548 20527651.4814 20527656.7534
+ 1198.0224 933.5304
+ 21270769.6564 -17085141.80149 -13290440.51847 21270768.6954 21270774.5344
+ -1941.5954 -1512.9294
+ 22829397.4484 -12667945.16449 -9859775.87246 22829397.4464 22829406.6024
+ -3387.2284 -2639.3874
+ 21746104.8304 -15251274.76449 -11872922.41347 21746105.0574 21746112.9834
+ -3046.5164 -2373.8954
+ 23866303.3954 -3151705.88849 -2240435.74745 23866303.9424 23866313.0264
+ 2569.6364 2002.3024
+ 24151963.6034 -3756145.02549 -2473386.10345 24151964.4594 24151976.9064
+ 3699.9634 2883.0854
+ 05 1 20 16 45 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21844287.8044 -17517373.60149 -13605209.31347 21844287.0524 21844295.0574
+ 1549.6584 1207.5264
+ 20520844.3214 -26685658.72749 -20778436.71248 20520844.0254 20520849.1634
+ 1186.9044 924.8604
+ 24931760.7044 -289939.38349 -208048.30445 24931772.7704
+ 3909.5304 3046.3904
+ 21281894.2954 -17026679.41649 -13244885.42647 21281893.5864 21281899.2494
+ -1955.9214 -1524.0934
+ 22848754.0824 -12566233.94949 -9780520.53746 22848753.2404 22848761.7774
+ -3393.4514 -2644.2434
+ 21763533.7004 -15159687.38849 -11801555.70747 21763532.8054 21763541.7844
+ -3059.2394 -2383.8204
+ 23851655.2434 -3228686.50549 -2300420.61746 23851655.6124 23851665.0964
+ 2562.4024 1996.6824
+ 24130852.6714 -3867085.97049 -2559833.49645 24130853.7954 24130866.2664
+ 3696.1004 2880.0714
+ 05 1 20 16 45 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21835458.8014 -17563767.99649 -13641360.77247 21835458.3804 21835466.4124
+ 1543.3994 1202.6494
+ 20514100.7104 -26721098.00849 -20806051.73348 20514100.1494 20514105.1854
+ 1175.7024 916.1364
+ 24909446.5554 -407205.48249 -299424.39745 24909445.2524 24909454.4424
+ 3908.2394 3045.3824
+ 21293100.1824 -16967787.97449 -13198996.00747 21293100.3584 21293106.3274
+ -1970.1824 -1535.2054
+ 22868145.9384 -12464336.39249 -9701120.00446 22868144.6694 22868152.4104
+ -3399.6464 -2649.0714
+ 21781033.7484 -15067721.06449 -11729893.73047 21781033.3394 21781042.1484
+ -3071.8364 -2393.6354
+ 23837049.3494 -3305447.51549 -2360234.38245 23837046.7294 23837055.9484
+ 2555.0214 1990.9194
+ 24109766.0574 -3977908.30949 -2646188.47745 24109765.9124 24109776.7774
+ 3692.0864 2876.9464
+ 05 1 20 16 46 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21826666.2714 -17609975.44349 -13677366.56447 21826665.6634 21826673.3004
+ 1537.1714 1197.7924
+ 20507420.6844 -26756201.00949 -20833404.71948 20507420.2794 20507425.5054
+ 1164.4724 907.3804
+ 24887136.8964 -524435.13949 -390772.06845 24887136.9254 24887146.8294
+ 3907.1204 3044.5024
+ 21304387.7384 -16908469.80649 -13152774.07447 21304388.1494 21304394.2074
+ -1984.3734 -1546.2664
+ 22887569.6184 -12362255.44449 -9621576.56446 22887569.5324 22887579.0934
+ -3405.7774 -2653.8414
+ 21798607.3614 -14975378.80949 -11657938.79647 21798606.1714 21798614.7944
+ -3084.3284 -2403.3734
+ 23822483.5504 -3381985.63849 -2419874.43845 23822482.6314 23822490.3104
+ 2547.4674 1985.0314
+ 24088700.1684 -4088609.60349 -2732449.12845 24088699.2424 24088710.1674
+ 3687.9624 2873.7294
+ 05 1 20 16 46 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21817909.0724 -17655996.16449 -13713226.85447 21817908.4184 21817915.7904
+ 1530.9654 1192.9594
+ 20500805.4884 -26790966.05849 -20860494.36748 20500804.7984 20500810.1634
+ 1153.1844 898.5844
+ 24864833.5264 -641625.77149 -482089.32845 24864834.7314 24864845.2194
+ 3905.7774 3043.4544
+ 21315757.7474 -16848726.87149 -13106221.15347 21315757.4604 21315762.6664
+ -1998.4974 -1557.2634
+ 22907028.9454 -12259993.85449 -9541892.33346 22907029.3484 22907037.8014
+ -3411.7594 -2658.5164
+ 21816249.5434 -14882663.87149 -11585693.47247 21816249.5734 21816257.2924
+ -3096.7014 -2413.0194
+ 23807961.2154 -3458297.57049 -2479338.25446 23807961.1254 23807970.2324
+ 2539.9094 1979.1524
+ 24067658.3864 -4199187.91349 -2818613.96445 24067657.9504 24067666.9804
+ 3683.8244 2870.5104
+ 05 1 20 16 47 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21809186.9244 -17701830.30749 -13748941.74947 21809186.5274 21809193.7434
+ 1524.7444 1188.1074
+ 20494253.5244 -26825391.20649 -20887319.14448 20494253.5984 20494259.2034
+ 1141.8064 889.7154
+ 24842543.8344 -758775.31949 -573374.57845 24842543.5894 24842553.3374
+ 3904.2904 3042.2974
+ 21327205.5194 -16788561.42949 -13059339.00547 21327205.8174 21327211.7604
+ -2012.5814 -1568.2454
+ 22926522.5014 -12157554.75949 -9462069.82046 22926522.5164 22926531.2144
+ -3417.6214 -2663.0794
+ 21833963.5764 -14789578.77949 -11513159.71247 21833963.1364 21833970.9434
+ -3108.9704 -2422.5774
+ 23793484.6614 -3534380.28749 -2538623.44445 23793484.3224 23793492.8394
+ 2532.2164 1973.1644
+ 24046638.5154 -4309640.85849 -2904681.12145 24046638.8344 24046648.0544
+ 3679.6354 2867.2444
+ 05 1 20 16 47 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21800500.8014 -17747478.07449 -13784511.42147 21800499.8784 21800507.6244
+ 1518.5264 1183.2684
+ 20487767.9314 -26859474.71749 -20913877.72448 20487767.8394 20487773.2314
+ 1130.4124 880.8404
+ 24820257.9444 -875881.42749 -664626.01745 24820257.7634 24820267.5984
+ 3902.8074 3041.1404
+ 21338735.9644 -16727975.52749 -13012129.22447 21338734.9944 21338741.0744
+ -2026.5174 -1579.1064
+ 22946050.8614 -12054941.13649 -9382111.34146 22946050.8044 22946058.6874
+ -3423.3254 -2667.5184
+ 21851747.0134 -14696126.40849 -11440339.77747 21851746.5874 21851754.3154
+ -3121.1514 -2432.0664
+ 23779050.4374 -3610230.75549 -2597727.67445 23779049.8884 23779058.3184
+ 2524.4474 1967.1014
+ 24025646.1614 -4419965.86549 -2990648.59245 24025644.9054 24025652.9224
+ 3675.3494 2863.9054
+ 05 1 20 16 48 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21791848.7854 -17792939.58749 -13819935.96647 21791848.6254 21791856.6244
+ 1512.3254 1178.4364
+ 20481347.8994 -26893214.87749 -20940168.75248 20481347.1914 20481352.5724
+ 1118.9104 871.8824
+ 24797983.8994 -992941.78449 -755841.78745 24797982.0264 24797991.5314
+ 3901.2924 3039.9624
+ 21350344.0904 -16666971.55049 -12964593.68347 21350344.0374 21350349.4734
+ -2040.4234 -1589.9454
+ 22965610.1724 -11952155.96249 -9302019.11546 22965609.7014 22965618.2064
+ -3429.0264 -2671.9704
+ 21869599.5784 -14602310.53849 -11367236.57347 21869599.1654 21869607.1334
+ -3133.2264 -2441.4664
+ 23764659.9554 -3685845.84849 -2656648.46145 23764659.3774 23764668.8494
+ 2516.5704 1960.9734
+ 24004676.0034 -4530160.68249 -3076514.61645 24004675.6724 24004684.1754
+ 3670.9444 2860.4754
+ 05 1 20 16 48 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21783234.2294 -17838215.12049 -13855215.58447 21783233.1784 21783241.1514
+ 1506.1074 1173.5854
+ 20474992.9594 -26926610.05349 -20966190.96448 20474992.4994 20474997.6084
+ 1107.3914 862.9024
+ 24775715.3804 -1109954.31749 -847020.22445 24775715.0274 24775727.0074
+ 3899.4514 3038.5324
+ 21362031.9454 -16605551.48849 -12916733.92347 21362031.7204 21362037.6194
+ -2054.2364 -1600.7074
+ 22985200.5804 -11849202.10449 -9221795.47546 22985200.3504 22985209.3894
+ -3434.6024 -2676.2984
+ 21887520.7694 -14508134.15549 -11293852.46347 21887520.3724 21887529.0394
+ -3145.1934 -2450.7984
+ 23750317.9634 -3761222.18449 -2715383.22745 23750316.2084 23750325.6154
+ 2508.4904 1954.6664
+ 23983730.7704 -4640223.07249 -3162277.44945 23983731.5204 23983741.1954
+ 3666.5504 2857.0494
+ 05 1 20 16 49 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21774653.4714 -17883304.71649 -13890350.32247 21774652.8564 21774660.1714
+ 1499.9514 1168.7874
+ 20468703.8564 -26959658.38249 -20991942.90248 20468703.5034 20468708.6894
+ 1095.8034 853.8704
+ 24753459.6804 -1226916.62849 -938159.58745 24753458.3264 24753467.6364
+ 3898.0114 3037.4104
+ 21373798.7944 -16543717.72249 -12868551.79047 21373798.3624 21373803.9174
+ -2068.0094 -1611.4354
+ 23004823.4534 -11746082.74049 -9141442.87046 23004824.3374 23004832.7584
+ -3440.0184 -2680.5254
+ 21905509.2424 -14413600.43349 -11220189.91747 21905509.3744 21905517.5104
+ -3157.0384 -2460.0374
+ 23736018.3584 -3836356.75849 -2773929.62146 23736018.5184 23736027.6784
+ 2500.4364 1948.3954
+ 23962813.3834 -4750150.57249 -3247935.18845 23962812.9314 23962823.6334
+ 3661.9544 2853.4594
+ 05 1 20 16 49 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21766108.5474 -17928208.68249 -13925340.40247 21766107.8804 21766115.3104
+ 1493.7534 1163.9684
+ 20462481.0994 -26992358.03949 -21017423.15648 20462480.9894 20462486.3444
+ 1084.1524 844.7974
+ 24731210.2954 -1343826.51049 -1029258.08745 24731210.6684 24731221.4304
+ 3896.1604 3035.9684
+ 21385643.8944 -16481472.34649 -12820048.91947 21385643.2964 21385648.9114
+ -2081.6884 -1622.0954
+ 23024477.4154 -11642800.64749 -9060963.49546 23024477.4064 23024487.1804
+ -3445.4534 -2684.7694
+ 21923567.4084 -14318711.91749 -11146250.89747 21923566.3194 21923574.1304
+ -3168.8314 -2469.2164
+ 23721767.9574 -3911246.44749 -2832285.22446 23721768.3164 23721776.4794
+ 2492.1734 1941.9494
+ 23941919.4994 -4859940.92249 -3333486.06545 23941920.9514 23941931.0474
+ 3657.4064 2849.9264
+ 05 1 20 16 50 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21757598.7664 -17972927.18349 -13960185.96247 21757598.0514 21757605.3644
+ 1487.5844 1159.1564
+ 20456325.9274 -27024707.40349 -21042630.44748 20456325.1124 20456330.4624
+ 1072.4534 835.6744
+ 24708972.1874 -1460681.64549 -1120313.91245 24708971.2164 24708984.0834
+ 3894.2634 3034.4904
+ 21397566.4374 -16418817.63849 -12771227.09547 21397565.9114 21397571.8854
+ -2095.2974 -1632.7004
+ 23044164.9074 -11539358.80849 -8980359.61946 23044162.9784 23044172.1004
+ -3450.7294 -2688.8714
+ 21941691.4404 -14223471.99549 -11072038.05347 21941690.2534 21941698.3124
+ -3180.5014 -2478.3084
+ 23707563.5414 -3985888.25149 -2890447.62846 23707563.3884 23707572.5594
+ 2483.8924 1935.5064
+ 23921051.6174 -4969591.80649 -3418928.26345 23921053.2494 23921064.8604
+ 3652.6664 2846.2294
+ 05 1 20 16 50 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21749124.7124 -18017460.33849 -13994887.10447 21749124.1444 21749131.1964
+ 1481.4214 1154.3494
+ 20450236.5404 -27056704.87249 -21067563.53448 20450235.9154 20450241.6764
+ 1060.6894 826.5144
+ 24686746.2014 -1577479.80449 -1211325.37445 24686746.9564 24686758.2184
+ 3892.3614 3033.0064
+ 21409565.9644 -16355755.88049 -12722088.08447 21409566.1964 21409572.4234
+ -2108.8204 -1643.2344
+ 23063878.9214 -11435760.13549 -8899633.54346 23063877.6244 23063885.0834
+ -3455.8564 -2692.8754
+ 21959879.7254 -14127883.64949 -10997553.71747 21959879.7774 21959888.0384
+ -3192.0444 -2487.2984
+ 23693408.7594 -4060278.78149 -2948414.23646 23693407.9804 23693417.0964
+ 2475.4694 1928.9384
+ 23900214.5084 -5079100.98749 -3504260.03345 23900215.7244 23900226.3194
+ 3647.9314 2842.5414
+ 05 1 20 16 51 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21740684.7784 -18061808.33149 -14029443.95347 21740684.6174 21740692.1454
+ 1475.2424 1149.5394
+ 20444214.4884 -27088348.70649 -21092221.06948 20444214.4554 20444219.9444
+ 1048.8754 817.3054
+ 24664531.4514 -1694219.00349 -1302290.88445 24664530.6834 24664543.8364
+ 3890.3584 3031.4374
+ 21421643.6504 -16292289.17549 -12672633.54547 21421643.8364 21421649.7114
+ -2122.2984 -1653.7354
+ 23083619.9454 -11332007.74749 -8818787.66546 23083619.5524 23083629.6414
+ -3460.9184 -2696.8024
+ 21978135.2264 -14031950.39949 -10922800.61947 21978134.7244 21978143.8164
+ -3203.4984 -2496.2324
+ 23679300.0104 -4134415.14749 -3006182.77746 23679299.5144 23679308.6744
+ 2466.9564 1922.3034
+ 23879405.0684 -5188465.91349 -3589479.40645 23879403.7804 23879414.6264
+ 3643.0704 2838.7564
+ 05 1 20 16 51 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21732280.9964 -18105971.36749 -14063856.67947 21732280.6884 21732288.1114
+ 1469.0654 1144.7264
+ 20438261.0664 -27119637.17349 -21116601.68548 20438260.4044 20438265.9684
+ 1037.0054 808.0534
+ 24642329.4894 -1810896.56949 -1393208.30745 24642329.0944 24642338.5434
+ 3888.3104 3029.8474
+ 21433797.7684 -16228419.72649 -12622865.16147 21433797.8994 21433803.2214
+ -2135.6934 -1664.1784
+ 23103393.4474 -11228104.59049 -8737824.30946 23103391.7914 23103401.0944
+ -3465.9574 -2700.7354
+ 21996456.2674 -13935675.10949 -10847780.99447 21996455.8524 21996464.0334
+ -3214.8464 -2505.0774
+ 23665242.0774 -4208294.17449 -3063750.80946 23665242.1064 23665250.4854
+ 2458.3114 1915.5764
+ 23858620.3874 -5297684.38349 -3674584.67345 23858620.2874 23858629.8444
+ 3638.1334 2834.9024
+ 05 1 20 16 52 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21723913.0104 -18149949.53149 -14098125.35047 21723911.7514 21723919.3114
+ 1462.8954 1139.9144
+ 20432374.9544 -27150568.52649 -21140704.03648 20432374.3324 20432379.8534
+ 1025.0704 798.7534
+ 24620138.9044 -1927510.34749 -1484076.07845 24620139.0014 24620148.8054
+ 3885.9614 3028.0174
+ 21446028.0524 -16164149.90049 -12572784.80447 21446027.9104 21446033.8444
+ -2148.9894 -1674.5374
+ 23123193.6884 -11124053.55849 -8656745.76146 23123193.3794 23123203.0894
+ -3470.8364 -2704.5454
+ 22014842.4804 -13839060.88949 -10772497.27647 22014840.9024 22014849.5764
+ -3226.1184 -2513.8604
+ 23651233.3384 -4281912.52449 -3121115.72646 23651232.3644 23651240.9274
+ 2449.5814 1908.7644
+ 23837866.5124 -5406754.32049 -3759574.17646 23837865.1454 23837876.0994
+ 3633.1634 2831.0384
+ 05 1 20 16 52 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21715578.2444 -18193743.14849 -14132250.22047 21715577.8694 21715585.5444
+ 1456.7404 1135.1234
+ 20426557.3264 -27181140.90349 -21164526.66548 20426556.7384 20426562.1514
+ 1013.0514 789.3984
+ 24597960.9464 -2044058.10149 -1574892.45645 24597960.2144 24597970.4674
+ 3883.8404 3026.3744
+ 21458333.9114 -16099481.81449 -12522394.11947 21458333.9174 21458339.3614
+ -2162.2404 -1684.8544
+ 23143021.7554 -11019857.69949 -8575554.33146 23143021.0204 23143031.0644
+ -3475.6484 -2708.2914
+ 22033290.4474 -13742111.28249 -10696952.20647 22033290.5184 22033298.0274
+ -3237.1974 -2522.4884
+ 23637274.5934 -4355267.47849 -3178275.42346 23637274.6524 23637281.9464
+ 2440.7244 1901.8664
+ 23817137.5734 -5515673.19349 -3844445.97945 23817136.8974 23817149.2124
+ 3628.0514 2827.0624
+ 05 1 20 16 53 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21707281.1814 -18237352.34949 -14166231.38447 21707279.6514 21707287.1674
+ 1450.6264 1130.3554
+ 20420808.5574 -27211352.63849 -21188068.26848 20420807.7814 20420812.9284
+ 1001.0214 780.0144
+ 24575792.3244 -2160537.65149 -1665655.69245 24575794.0024 24575802.7644
+ 3881.5044 3024.5534
+ 21470715.3504 -16034417.74449 -12471694.85747 21470714.8534 21470721.0444
+ -2175.3774 -1695.1044
+ 23162875.0484 -10915519.90449 -8494252.35746 23162875.2684 23162885.2514
+ -3480.2644 -2711.8884
+ 22051802.7984 -13644829.15149 -10621148.03047 22051802.2014 22051810.7014
+ -3248.2444 -2531.0994
+ 23623365.2714 -4428355.89049 -3235227.39846 23623364.8264 23623374.3024
+ 2431.7434 1894.8574
+ 23796440.2424 -5624438.35849 -3929197.98846 23796440.5024 23796451.9884
+ 3622.9244 2823.0604
+ 05 1 20 16 53 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21699016.7674 -18280777.30349 -14200068.98347 21699016.3014 21699023.7054
+ 1444.4614 1125.5504
+ 20415128.1054 -27241202.07049 -21211327.56048 20415127.5384 20415132.8534
+ 988.9174 770.5844
+ 24553643.9514 -2276946.73349 -1756363.99645 24553643.1804 24553652.1894
+ 3879.0874 3022.6584
+ 21483172.1534 -15968960.00849 -12420688.86147 21483171.3444 21483177.2814
+ -2188.4834 -1705.3074
+ 23182757.1484 -10811043.12349 -8412842.03046 23182756.8904 23182766.0944
+ -3484.8194 -2715.4474
+ 22070377.1564 -13547217.40849 -10545087.02247 22070377.2224 22070386.0934
+ -3259.1904 -2539.6234
+ 23609509.0214 -4501174.31549 -3291968.96046 23609508.6744 23609517.7184
+ 2422.7074 1887.8194
+ 23775773.2324 -5733048.07749 -4013828.89146 23775772.8534 23775783.2714
+ 3617.6724 2818.9584
+ 05 1 20 16 54 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21690789.2154 -18324018.04549 -14233763.04247 21690788.2124 21690795.1104
+ 1438.3204 1120.7624
+ 20409516.6514 -27270687.53449 -21234303.24048 20409516.5164 20409521.9594
+ 976.7674 761.1154
+ 24531506.6434 -2393283.15449 -1847015.70245 24531506.2604 24531516.2044
+ 3876.6394 3020.7624
+ 21495702.3374 -15903110.77849 -12369377.79347 21495701.8674 21495707.7494
+ -2201.4904 -1715.4544
+ 23202665.0224 -10706430.39949 -8331325.79246 23202664.3804 23202672.7094
+ -3489.3484 -2718.9654
+ 22089014.5074 -13449279.23249 -10468771.65347 22089014.9574 22089022.7244
+ -3270.0044 -2548.0514
+ 23595703.6754 -4573719.73449 -3348497.85546 23595702.7784 23595712.4054
+ 2413.6104 1880.7284
+ 23755132.9764 -5841499.96849 -4098336.80045 23755133.8684 23755145.1354
+ 3612.3674 2814.8244
+ 05 1 20 16 54 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21682594.7144 -18367074.93249 -14267313.82947 21682594.3134 21682601.6724
+ 1432.2114 1116.0044
+ 20403975.6724 -27299807.28649 -21256993.95148 20403975.2094 20403980.7034
+ 964.5374 751.5834
+ 24509383.8704 -2509544.59649 -1937608.94545 24509381.7614 24509391.6764
+ 3874.0874 3018.7664
+ 21508306.1734 -15836872.41949 -12317763.50347 21508306.8774 21508312.4364
+ -2214.4334 -1725.5364
+ 23222596.0244 -10601684.67349 -8249705.90446 23222596.7244 23222607.1004
+ -3493.7434 -2722.3974
+ 22107714.0094 -13351017.97049 -10392204.50147 22107713.0214 22107721.9484
+ -3280.6924 -2556.3844
+ 23581952.2234 -4645989.33749 -3404811.82446 23581951.9244 23581959.2504
+ 2404.3174 1873.4894
+ 23734528.4784 -5949791.84649 -4182720.03946 23734528.1304 23734538.7454
+ 3607.0084 2810.6444
+ 05 1 20 16 55 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21674435.6274 -18409948.00149 -14300721.39047 21674435.8464 21674443.1584
+ 1426.0884 1111.2294
+ 20398504.1674 -27328559.64049 -21279398.37848 20398503.8744 20398509.1004
+ 952.2634 742.0224
+ 24487272.4194 -2625728.72749 -2028142.02245 24487271.4954 24487283.2684
+ 3871.5224 3016.7664
+ 21520986.1174 -15770247.00849 -12265847.62947 21520985.6324 21520990.3874
+ -2227.2714 -1735.5434
+ 23242555.2954 -10496808.77549 -8167984.60646 23242554.5564 23242564.1894
+ -3497.9544 -2725.6714
+ 22126472.2714 -13252436.85749 -10315388.13147 22126472.3504 22126480.9614
+ -3291.3434 -2564.6854
+ 23568251.7974 -4717979.83249 -3460908.28546 23568252.2144 23568260.5294
+ 2394.9704 1866.2004
+ 23713951.9304 -6057921.09149 -4266976.53546 23713951.7804 23713961.8134
+ 3601.6244 2806.4614
+ 05 1 20 16 55 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21666313.5754 -18452637.50549 -14333985.91447 21666312.3994 21666319.6464
+ 1419.9704 1106.4664
+ 20393103.1784 -27356942.69349 -21301515.03548 20393102.9024 20393108.2344
+ 939.9234 732.4034
+ 24465178.2764 -2741833.23349 -2118613.02645 24465177.9574 24465187.6874
+ 3868.7734 3014.6294
+ 21533737.0914 -15703237.10849 -12213632.14047 21533736.5564 21533742.3794
+ -2240.0734 -1745.5124
+ 23262536.3424 -10391805.89149 -8086164.35246 23262536.4884 23262546.3694
+ -3502.3014 -2729.0564
+ 22145291.9214 -13153538.89249 -10238324.87147 22145291.8944 22145300.3724
+ -3301.8444 -2572.8714
+ 23554606.9774 -4789688.17049 -3516784.89546 23554606.5594 23554613.6874
+ 2385.5644 1858.8654
+ 23693407.1054 -6165885.47849 -4351104.56946 23693407.1304 23693416.5804
+ 3596.0494 2802.1114
+ 05 1 20 16 56 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21658224.3014 -18495143.55549 -14367107.48047 21658223.6814 21658230.7124
+ 1413.8544 1101.7044
+ 20387772.9034 -27384955.00949 -21323342.80548 20387772.0474 20387777.5164
+ 927.5244 722.7474
+ 24443100.5934 -2857855.77149 -2209020.13845 24443099.3244 24443110.7344
+ 3866.0864 3012.5334
+ 21546561.5954 -15635844.90849 -12161118.75847 21546560.8104 21546566.4834
+ -2252.7704 -1755.4024
+ 23282540.5924 -10286678.93449 -8004247.42046 23282540.8674 23282550.1324
+ -3506.2974 -2732.1674
+ 22164170.0504 -13054327.60649 -10161017.45547 22164170.8194 22164179.6104
+ -3312.2554 -2580.9794
+ 23541016.4794 -4861111.33649 -3572439.28246 23541014.4224 23541022.5564
+ 2375.9904 1851.4164
+ 23672894.2504 -6273682.75249 -4435102.40646 23672894.0964 23672902.7874
+ 3590.3854 2797.7004
+ 05 1 20 16 56 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21650170.6734 -18537466.37949 -14400086.28347 21650170.0394 21650177.2194
+ 1407.7424 1096.9414
+ 20382512.7274 -27412594.84649 -21344880.33548 20382512.7004 20382517.8404
+ 915.0884 713.0574
+ 24421036.0884 -2973794.45649 -2299362.01045 24421036.7174 24421047.5014
+ 3863.1844 3010.2704
+ 21559458.6594 -15568072.57149 -12108309.16747 21559457.8664 21559463.7664
+ -2265.3934 -1765.2374
+ 23302568.4094 -10181430.76849 -7922236.04946 23302568.3314 23302578.5394
+ -3510.3234 -2735.3104
+ 22183109.5334 -12954805.57749 -10083467.91247 22183109.7474 22183118.6114
+ -3322.5584 -2588.9994
+ 23527478.8914 -4932246.30449 -3627869.11346 23527477.2924 23527486.6574
+ 2366.3284 1843.8784
+ 23652411.3264 -6381310.93349 -4518968.47346 23652411.9774 23652422.8114
+ 3584.7334 2793.3034
+ 05 1 20 16 57 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21642151.9384 -18579606.08649 -14432922.40347 21642151.0194 21642158.1624
+ 1401.6544 1092.1944
+ 20377324.4574 -27439860.58649 -21366126.35848 20377324.0354 20377329.4204
+ 902.6024 703.3284
+ 24398990.7364 -3089646.62349 -2389636.35445 24398991.4764 24399002.4334
+ 3860.3124 3008.0304
+ 21572426.9564 -15499922.61649 -12055205.33147 21572426.7434 21572432.4524
+ -2277.9374 -1775.0114
+ 23322621.9464 -10076064.30549 -7840132.46446 23322619.3284 23322629.7134
+ -3514.1454 -2738.2884
+ 22202108.7294 -12854976.62849 -10005679.20447 22202107.1384 22202114.5174
+ -3332.7384 -2596.9374
+ 23513997.7024 -5003090.08649 -3683072.05146 23513995.9814 23514005.3064
+ 2356.5574 1836.2844
+ 23631964.5184 -6488767.52549 -4602700.81846 23631964.0324 23631974.0754
+ 3579.0144 2788.8384
+ 05 1 20 16 57 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21634167.6084 -18621562.91549 -14465616.00847 21634166.7884 21634173.8304
+ 1395.5654 1087.4514
+ 20372207.2444 -27466750.58449 -21387079.59448 20372206.8894 20372212.1564
+ 890.0544 693.5494
+ 24376962.2704 -3205410.27849 -2479841.76945 24376963.1174 24376973.5354
+ 3857.3334 3005.7124
+ 21585467.2354 -15431397.07349 -12001808.81747 21585466.3124 21585471.2324
+ -2290.4244 -1784.7454
+ 23342691.6134 -9970582.47449 -7757939.01946 23342691.5254 23342702.7694
+ -3517.9644 -2741.2674
+ 22221163.2064 -12754843.41749 -9927653.41247 22221162.1334 22221169.9844
+ -3342.8064 -2604.7844
+ 23500571.9924 -5073639.32549 -3738045.42146 23500571.2864 23500579.9014
+ 2346.6614 1828.5684
+ 23611548.3554 -6596050.00649 -4686297.50146 23611548.7644 23611558.7884
+ 3573.1744 2784.2944
+ 05 1 20 16 58 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21626217.6454 -18663336.87649 -14498167.12947 21626217.4734 21626224.7044
+ 1389.4954 1082.7214
+ 20367162.5344 -27493263.11749 -21407738.70248 20367161.7664 20367167.2474
+ 877.4404 683.7214
+ 24354947.7964 -3321082.87449 -2569976.26245 24354950.1084 24354962.3124
+ 3854.2934 3003.3444
+ 21598578.0474 -15362498.31149 -11948121.47747 21598577.9014 21598583.7764
+ -2302.8304 -1794.4124
+ 23362787.6414 -9864988.45549 -7675658.14846 23362787.0814 23362797.0784
+ -3521.6844 -2744.1624
+ 22240275.0494 -12654409.65849 -9849393.43447 22240274.5244 22240281.7484
+ -3352.7684 -2612.5424
+ 23487203.0334 -5143891.01249 -3792786.97146 23487202.4194 23487210.4624
+ 2336.7344 1820.8354
+ 23591166.6154 -6703156.16849 -4769756.77846 23591166.8984 23591176.7244
+ 3567.2444 2779.6724
+ 05 1 20 16 58 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21618303.7654 -18704928.28849 -14530575.99447 21618302.8354 21618310.4814
+ 1383.3834 1077.9604
+ 20362189.4584 -27519396.36349 -21428102.26648 20362188.8194 20362194.2864
+ 864.7764 673.8484
+ 24332956.8704 -3436662.36249 -2660038.19345 24332956.7434 24332967.5134
+ 3850.9924 3000.7724
+ 21611759.5404 -15293228.69649 -11894145.17547 21611758.9974 21611764.9514
+ -2315.1604 -1804.0234
+ 23382900.7894 -9759285.13749 -7593292.06745 23382900.6664 23382910.8294
+ -3525.2784 -2746.9644
+ 22259442.6994 -12553678.15249 -9770901.43547 22259442.4494 22259450.4254
+ -3362.6304 -2620.2364
+ 23473892.5304 -5213842.31749 -3847294.45546 23473892.6654 23473900.6434
+ 2326.6874 1813.0004
+ 23570819.6404 -6810083.98849 -4853077.10646 23570818.8874 23570828.6954
+ 3561.2774 2775.0124
+ 05 1 20 16 59 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21610423.2404 -18746337.23449 -14562842.68247 21610422.9384 21610430.0504
+ 1377.3144 1073.2344
+ 20357288.5814 -27545148.94449 -21448169.20248 20357288.4314 20357293.5034
+ 852.0484 663.9354
+ 24310976.0254 -3552146.44749 -2750025.74945 24310978.7664 24310989.4314
+ 3847.8974 2998.3584
+ 21625011.7014 -15223590.54249 -11839881.69247 21625010.7214 21625016.7394
+ -2327.3824 -1813.5444
+ 23403035.8224 -9653475.26549 -7510843.00845 23403034.5284 23403045.8304
+ -3528.7204 -2749.6484
+ 22278666.5454 -12452652.54949 -9692180.28147 22278666.7104 22278675.4914
+ -3372.3954 -2627.8414
+ 23460638.4814 -5283490.08849 -3901565.41446 23460637.9854 23460646.4554
+ 2316.5664 1805.1094
+ 23550506.7674 -6916831.06949 -4936256.58546 23550506.5324 23550516.3414
+ 3555.2214 2770.3174
+ 05 1 20 16 59 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21602578.4964 -18787563.92549 -14594967.35847 21602577.7084 21602585.0684
+ 1371.2444 1068.5014
+ 20352461.5164 -27570518.83849 -21467937.94048 20352460.5964 20352465.7524
+ 839.2574 653.9664
+ 24289021.2554 -3667532.79149 -2839937.17045 24289022.1684 24289033.2334
+ 3844.5964 2995.7844
+ 21638332.8774 -15153586.10349 -11785332.78947 21638332.2714 21638338.2084
+ -2339.5704 -1823.0424
+ 23423190.8204 -9547561.97249 -7428313.35346 23423189.7434 23423201.9284
+ -3532.1534 -2752.3184
+ 22297948.1284 -12351335.41949 -9613231.95547 22297947.2564 22297954.8564
+ -3382.0544 -2635.3674
+ 23447444.0764 -5352831.21249 -3955597.36246 23447443.7524 23447451.7584
+ 2306.2014 1797.0424
+ 23530226.4504 -7023395.27049 -5019293.55746 23530226.5104 23530237.7864
+ 3549.0644 2765.4934
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 17 0 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21594768.0784 -18828608.49549 -14626950.11748 21594767.3144 21594774.6854
+ 1365.1754 1063.7754
+ 20347705.5924 -27595504.60649 -21487407.36048 20347705.8834 20347711.0904
+ 826.4544 643.9934
+ 24267085.2264 -3782819.21649 -2929770.69145 24267084.3934 24267094.6614
+ 3841.2024 2993.1424
+ 21651723.1044 -15083217.90349 -11730500.45047 21651722.9914 21651728.2964
+ -2351.6374 -1832.4404
+ 23443365.5174 -9441548.26849 -7345705.45646 23443364.6734 23443375.7714
+ -3535.3844 -2754.8374
+ 22317281.6664 -12249730.66549 -9534059.52247 22317282.0514 22317289.8904
+ -3391.5774 -2642.7794
+ 23434307.9294 -5421862.86549 -4009388.26446 23434307.5514 23434314.3474
+ 2295.8904 1789.0234
+ 23509982.8904 -7129774.23449 -5102186.20446 23509984.0584 23509994.1534
+ 3542.8594 2760.6684
+ 05 1 20 17 0 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21586991.5954 -18869471.12049 -14658791.09948 21586991.0684 21586998.7004
+ 1359.0624 1059.0084
+ 20343024.8394 -27620104.74149 -21506576.28648 20343024.7194 20343029.8834
+ 813.5494 633.9354
+ 24245166.3204 -3898003.34149 -3019524.53245 24245166.5954 24245176.3034
+ 3837.7964 2990.4834
+ 21665181.9364 -15012488.13449 -11675386.34647 21665182.2644 21665188.0834
+ -2363.6764 -1841.8224
+ 23463558.5574 -9335436.91749 -7263021.48146 23463557.4194 23463568.3284
+ -3538.6534 -2757.3854
+ 22336671.6014 -12147840.92549 -9454665.00547 22336670.6604 22336678.9754
+ -3401.0324 -2650.1524
+ 23421230.8584 -5490581.91749 -4062935.48146 23421229.6704 23421238.8864
+ 2285.3664 1780.8144
+ 23489776.0994 -7235965.84449 -5184932.84446 23489776.5104 23489787.0294
+ 3536.5514 2755.7554
+ 05 1 20 17 1 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21579250.7454 -18910151.90949 -14690490.39848 21579249.8644 21579257.2804
+ 1353.0204 1054.2984
+ 20338417.5624 -27644317.54249 -21525443.39448 20338416.9814 20338422.6424
+ 800.6254 623.8634
+ 24223267.9994 -4013083.02049 -3109196.95045 24223266.4674 24223278.0204
+ 3834.2974 2987.7614
+ 21678709.9044 -14941399.18749 -11619992.38447 21678709.9814 21678715.7124
+ -2375.5834 -1851.1114
+ 23483769.3264 -9229230.98849 -7180263.79046 23483768.0864 23483778.0564
+ -3541.7234 -2759.7844
+ 22356113.6004 -12045669.39749 -9375050.93347 22356113.0994 22356121.4504
+ -3410.4044 -2657.4504
+ 23408212.4974 -5558985.25049 -4116236.72146 23408212.1454 23408221.2784
+ 2274.8084 1772.5744
+ 23469605.5934 -7341967.53149 -5267531.47746 23469605.4484 23469615.6954
+ 3530.1754 2750.7804
+ 05 1 20 17 1 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21571543.8744 -18950651.03649 -14722048.13348 21571543.1754 21571550.5164
+ 1346.9924 1049.6034
+ 20333884.0924 -27668141.24549 -21544007.30648 20333883.7034 20333889.0724
+ 787.6224 613.7374
+ 24201387.4754 -4128056.03149 -3198786.26845 24201386.8834 24201399.0534
+ 3830.6654 2984.9294
+ 21692305.5014 -14869953.23949 -11564320.23647 21692305.6044 21692311.6224
+ -2387.4854 -1860.3764
+ 23503995.8504 -9122933.27749 -7097434.56645 23503995.3314 23504004.6234
+ -3544.7364 -2762.1324
+ 22375610.0394 -11943219.82449 -9295220.20347 22375609.4204 22375617.4154
+ -3419.5734 -2664.6114
+ 23395258.4164 -5627069.74949 -4169289.48046 23395256.8394 23395264.9764
+ 2264.1324 1764.2654
+ 23449469.8574 -7447777.30249 -5349980.56046 23449469.1304 23449480.3984
+ 3523.7444 2745.7724
+ 05 1 20 17 2 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21563871.1644 -18990968.62849 -14753464.41748 21563871.1264 21563878.4814
+ 1340.9254 1044.8744
+ 20329424.7264 -27691574.29949 -21562266.82348 20329424.4404 20329429.7104
+ 774.5754 603.5614
+ 24179529.6814 -4242919.99449 -3288290.61245 24179529.4624 24179540.7674
+ 3827.0094 2982.0844
+ 21705969.9894 -14798152.42349 -11508371.57447 21705968.7384 21705974.9624
+ -2399.2514 -1869.5454
+ 23524239.7324 -9016546.81149 -7014536.21345 23524239.4344 23524249.7784
+ -3547.6564 -2764.4004
+ 22395157.4204 -11840494.86749 -9215174.86947 22395156.7404 22395165.0274
+ -3428.7114 -2671.7244
+ 23382363.2544 -5694832.47649 -4222091.55246 23382361.6664 23382370.2144
+ 2253.3504 1755.8584
+ 23429373.7834 -7553393.03849 -5432278.45546 23429372.6014 23429382.2644
+ 3517.2694 2740.7214
+ 05 1 20 17 2 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21556234.4964 -19031104.92449 -14784739.42748 21556233.4014 21556240.5604
+ 1334.8754 1040.1614
+ 20325040.3934 -27714615.04549 -21580220.64148 20325039.8274 20325044.9394
+ 761.4664 593.3464
+ 24157692.8164 -4357672.73649 -3377708.29345 24157693.2674 24157702.7964
+ 3823.3164 2979.2134
+ 21719699.9684 -14725999.56549 -11452148.57147 21719699.2814 21719705.2024
+ -2410.9564 -1878.6694
+ 23544501.2314 -8910074.57749 -6931571.02345 23544501.1054 23544511.6544
+ -3550.4814 -2766.5924
+ 22414757.4204 -11737497.75049 -9134917.48447 22414756.9664 22414765.1554
+ -3437.7504 -2678.7574
+ 23369529.0234 -5762270.52949 -4274640.58846 23369528.8604 23369537.0894
+ 2242.4794 1747.3784
+ 23409312.1404 -7658812.20949 -5514423.20846 23409312.0864 23409321.2194
+ 3510.6254 2735.5474
+ 05 1 20 17 3 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21548631.5084 -19071060.04049 -14815873.26948 21548630.3894 21548637.6424
+ 1328.8774 1035.4904
+ 20320730.4634 -27737261.89649 -21597867.53648 20320730.2724 20320735.5244
+ 748.3204 583.1054
+ 24135877.7234 -4472311.89149 -3467037.51545 24135878.3054 24135889.3784
+ 3819.4244 2976.1764
+ 21733496.4064 -14653496.59849 -11395652.76447 21733496.0144 21733501.4424
+ -2422.5394 -1887.6934
+ 23564779.0444 -8803519.42349 -6848541.21145 23564779.5944 23564788.1304
+ -3553.2044 -2768.7274
+ 22434408.4284 -11634232.12849 -9054450.86247 22434407.1664 22434416.2534
+ -3446.6114 -2685.6534
+ 23356756.5964 -5829380.95249 -4326934.34346 23356756.8334 23356766.0994
+ 2231.5274 1738.8414
+ 23389288.8464 -7764032.55949 -5596413.00846 23389288.4884 23389298.5614
+ 3503.9894 2730.3534
+ 05 1 20 17 3 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21541061.7954 -19110834.09249 -14846866.01348 21541061.4724 21541068.5854
+ 1322.8234 1030.7714
+ 20316496.3314 -27759513.25749 -21615206.25348 20316496.0434 20316501.3574
+ 735.1044 572.8124
+ 24114084.1734 -4586835.39649 -3556276.58445 24114083.8654 24114096.9324
+ 3815.4754 2973.0984
+ 21747358.3974 -14580645.95349 -11338886.04147 21747358.4934 21747364.7264
+ -2434.1504 -1896.7314
+ 23585071.0704 -8696884.33049 -6765449.08845 23585071.0144 23585080.8894
+ -3555.8234 -2770.7634
+ 22454109.3854 -11530701.07449 -8973777.43747 22454109.4984 22454118.1224
+ -3455.4034 -2692.5204
+ 23344050.8894 -5896160.78449 -4378970.49546 23344051.0534 23344059.3704
+ 2220.4334 1730.2024
+ 23369304.2904 -7869052.55949 -5678246.68446 23369303.5394 23369314.0184
+ 3497.2954 2725.1594
+ 05 1 20 17 4 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21533527.5994 -19150427.26249 -14877717.80948 21533526.8094 21533534.2044
+ 1316.8074 1026.0824
+ 20312337.6764 -27781367.56449 -21632235.57748 20312337.4014 20312342.5904
+ 721.8254 562.4614
+ 24092312.9104 -4701240.90149 -3645423.70345 24092314.1024 24092325.0774
+ 3811.5924 2970.0714
+ 21761288.6954 -14507450.17349 -11281850.37347 21761287.9424 21761293.4154
+ -2445.5684 -1905.6404
+ 23605375.5384 -8590172.16349 -6682296.95945 23605376.1854 23605387.7664
+ -3558.2964 -2772.6894
+ 22473860.8564 -11426908.23549 -8892899.99347 22473860.4334 22473868.8384
+ -3464.1134 -2699.3024
+ 23331407.3924 -5962606.97749 -4430746.64446 23331406.9354 23331414.5424
+ 2209.2724 1721.5044
+ 23349358.0044 -7973869.62449 -5759922.24146 23349357.9224 23349368.3124
+ 3490.4804 2719.8654
+ 05 1 20 17 4 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21526027.6514 -19189839.65249 -14908428.73248 21526026.8584 21526034.2144
+ 1310.7814 1021.3854
+ 20308254.8604 -27802823.20049 -21648954.24148 20308254.3004 20308259.6224
+ 708.5194 552.0894
+ 24070564.9354 -4815526.11349 -3734477.06145 24070564.8074 24070576.8834
+ 3807.5004 2966.8874
+ 21775282.3174 -14433911.47149 -11224547.50847 21775282.0784 21775287.5424
+ -2457.0034 -1914.5544
+ 23625698.1214 -8483385.85249 -6599087.04345 23625698.9614 23625708.5874
+ -3560.7514 -2774.6014
+ 22493661.3984 -11322856.31849 -8811820.67246 22493660.5474 22493668.9104
+ -3472.6484 -2705.9594
+ 23318827.1724 -6028716.75049 -4482260.65446 23318825.4294 23318834.0394
+ 2197.9984 1712.7144
+ 23329451.1204 -8078481.32849 -5841437.74446 23329451.7074 23329461.2634
+ 3483.5904 2714.4844
+ 05 1 20 17 5 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21518562.0564 -19229071.40849 -14938998.90448 21518561.8394 21518568.7564
+ 1304.7654 1016.7024
+ 20304248.1474 -27823878.47149 -21665360.94048 20304247.8544 20304252.9104
+ 695.1314 541.6634
+ 24048842.3014 -4929688.86349 -3823434.99745 24048842.5864 24048852.7704
+ 3803.3824 2963.6714
+ 21789340.5334 -14360032.37349 -11166979.38847 21789340.1294 21789346.0834
+ -2468.3034 -1923.3544
+ 23646033.0344 -8376528.43449 -6515821.69645 23646033.1054 23646041.5044
+ -3563.0434 -2776.3874
+ 22513510.1974 -11218548.39249 -8730541.87346 22513509.5374 22513518.1914
+ -3481.1474 -2712.5734
+ 23306309.1534 -6094486.83449 -4533509.98246 23306309.6474 23306317.4594
+ 2186.6524 1703.8914
+ 23309583.4824 -8182885.63249 -5922791.66846 23309582.9994 23309593.3954
+ 3476.6294 2709.0634
+ 05 1 20 17 5 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21511130.7644 -19268122.77649 -14969428.51248 21511130.3784 21511137.4524
+ 1298.7494 1012.0064
+ 20300317.9934 -27844531.87449 -21681454.48448 20300317.5234 20300322.7624
+ 681.7244 531.2134
+ 24027141.5114 -5043726.75949 -3912295.71645 24027140.8624 24027152.0244
+ 3799.1554 2960.3784
+ 21803462.9534 -14285814.83449 -11109147.55647 21803463.2454 21803468.9424
+ -2479.5124 -1932.0924
+ 23666381.0734 -8269602.72349 -6432503.11445 23666381.2784 23666391.0674
+ -3565.2884 -2778.1404
+ 22533407.8084 -11113987.95649 -8649066.28847 22533407.6214 22533416.4044
+ -3489.5104 -2719.1014
+ 23293859.4934 -6159914.55249 -4584492.51646 23293859.4944 23293867.0034
+ 2175.1524 1694.9154
+ 23289757.3604 -8287080.17749 -6003982.11746 23289756.3984 23289765.3964
+ 3469.6184 2703.5964
+ 05 1 20 17 6 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21503734.0094 -19306993.71549 -14999717.52248 21503733.3324 21503740.4264
+ 1292.7454 1007.3324
+ 20296464.4294 -27864781.95449 -21697233.75448 20296464.0074 20296469.3444
+ 668.2744 520.7314
+ 24005464.4894 -5157637.73349 -4001057.49545 24005464.8864 24005474.8624
+ 3794.8784 2957.0514
+ 21817651.0634 -14211261.26549 -11051053.87947 21817650.9594 21817656.7734
+ -2490.6634 -1940.7754
+ 23686740.6714 -8162611.53949 -6349133.55745 23686739.6604 23686749.7224
+ -3567.4564 -2779.8264
+ 22553352.5744 -11009178.34549 -8567396.58346 22553351.5844 22553360.6734
+ -3497.7574 -2725.5164
+ 23281476.6284 -6224996.90649 -4635205.94046 23281475.2384 23281482.9294
+ 2163.6244 1685.9414
+ 23269968.1244 -8391062.42449 -6085007.16246 23269967.8634 23269978.3194
+ 3462.5584 2698.0984
+ 05 1 20 17 6 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21496371.6424 -19345684.52249 -15029866.17248 21496370.7884 21496377.7304
+ 1286.7664 1002.6764
+ 20292687.7214 -27884627.00749 -21712697.41948 20292687.3474 20292692.8764
+ 654.7374 510.1844
+ 23983811.7934 -5271419.52149 -4089718.60545 23983813.5284 23983822.9944
+ 3790.6054 2953.7184
+ 21831902.1854 -14136374.14149 -10992700.30347 21831901.4484 21831906.9524
+ -2501.7664 -1949.4204
+ 23707113.1864 -8055557.99249 -6265715.37845 23707112.1224 23707120.6934
+ -3569.4454 -2781.3824
+ 22573343.2834 -10904122.75249 -8485535.19846 22573343.0434 22573351.7904
+ -3505.9194 -2731.8954
+ 23269155.4924 -6289730.94149 -4685647.93146 23269155.0054 23269164.0864
+ 2151.9224 1676.8224
+ 23250222.0174 -8494830.72949 -6165865.46546 23250221.5434 23250232.3034
+ 3455.3494 2692.4914
+ 05 1 20 17 7 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21489042.8364 -19384195.23349 -15059874.48548 21489042.2064 21489049.4414
+ 1280.7374 997.9784
+ 20288989.1864 -27904065.42549 -21727844.22748 20288988.5394 20288993.7964
+ 641.1514 499.5984
+ 23962184.9154 -5385069.81349 -4178277.24245 23962185.6964 23962195.9294
+ 3786.1294 2950.2294
+ 21846214.9404 -14061155.83549 -10934088.63047 21846214.6124 21846220.2394
+ -2512.7884 -1958.0144
+ 23727497.2924 -7948444.84349 -6182250.76945 23727496.4394 23727505.2204
+ -3571.4054 -2782.9074
+ 22593382.3364 -10798824.37549 -8403484.60546 22593381.5394 22593389.2014
+ -3513.9324 -2738.1204
+ 23256904.8914 -6354113.76749 -4735816.26946 23256903.5514 23256912.9354
+ 2140.2234 1667.7224
+ 23230516.4274 -8598382.83649 -6246555.32946 23230515.6544 23230527.0694
+ 3448.1164 2686.8354
+ 05 1 20 17 7 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21481749.0344 -19422526.05449 -15089742.62048 21481747.9364 21481755.1384
+ 1274.7364 993.3024
+ 20285367.2844 -27923095.71849 -21742673.01548 20285367.2844 20285372.4934
+ 627.5144 488.9734
+ 23940583.5044 -5498586.32049 -4266731.61945 23940584.3794 23940593.9854
+ 3781.6774 2946.7594
+ 21860591.0164 -13985608.64649 -10875220.71447 21860590.6354 21860596.7554
+ -2523.7324 -1966.5424
+ 23747889.7074 -7841275.11149 -6098742.06345 23747887.9384 23747900.1074
+ -3573.2364 -2784.3314
+ 22613465.5214 -10693286.17449 -8321247.12046 22613464.1964 22613474.1074
+ -3521.8914 -2744.3304
+ 23244719.5404 -6418142.31149 -4785708.57846 23244720.0664 23244728.0504
+ 2128.3054 1658.4114
+ 23210851.9614 -8701716.52449 -6327074.99646 23210852.6374 23210863.0674
+ 3440.7524 2681.0944
+ 05 1 20 17 8 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21474488.5334 -19460677.07749 -15119470.65948 21474488.0884 21474495.3564
+ 1268.7314 988.6164
+ 20281824.4244 -27941716.35049 -21757182.58648 20281824.0124 20281829.1344
+ 613.8374 478.3124
+ 23919010.0974 -5611966.87949 -4355080.06245 23919010.0344 23919018.9464
+ 3777.0774 2943.1734
+ 21875029.1174 -13909734.94049 -10816098.36147 21875028.9084 21875034.9374
+ -2534.5504 -1974.9694
+ 23768293.6354 -7734051.57949 -6015191.45545 23768292.3914 23768303.0694
+ -3574.9654 -2785.6854
+ 22633592.7924 -10587511.87149 -8238825.70346 22633592.6744 22633601.3084
+ -3529.7094 -2750.4294
+ 23232604.1824 -6481813.69549 -4835322.54646 23232602.6554 23232611.7754
+ 2116.3744 1649.1144
+ 23191230.7864 -8804829.60549 -6407422.77346 23191229.9064 23191240.9554
+ 3433.4164 2675.3914
+ 05 1 20 17 8 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21467262.9824 -19498648.39349 -15149058.66348 21467262.3284 21467269.8054
+ 1262.7754 983.9764
+ 20278359.4634 -27959925.83649 -21771371.77648 20278358.7304 20278364.0344
+ 600.1274 467.6314
+ 23897458.1254 -5725209.05649 -4443320.70345 23897459.5124 23897469.0754
+ 3772.3934 2939.5274
+ 21889529.9064 -13833537.17949 -10756723.48347 21889529.2894 21889535.1744
+ -2545.3134 -1983.3554
+ 23788707.2814 -7626777.28249 -5931601.29345 23788704.8744 23788717.7074
+ -3576.5854 -2786.9384
+ 22653765.8654 -10481504.37749 -8156222.56046 22653764.9324 22653773.1824
+ -3537.4264 -2756.4364
+ 23220557.7244 -6545124.95649 -4884655.90246 23220556.0784 23220563.6964
+ 2104.3764 1639.7644
+ 23171651.7644 -8907719.89249 -6487596.93346 23171651.3634 23171661.1404
+ 3425.9134 2669.5444
+ 05 1 20 17 9 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21460072.1154 -19536440.26249 -15178506.84048 21460071.0194 21460078.0434
+ 1256.7944 979.3204
+ 20274972.9574 -27977722.65249 -21785239.41148 20274972.1294 20274977.2884
+ 586.3414 456.8894
+ 23875936.3314 -5838310.90649 -4531451.97345 23875936.7544 23875948.4404
+ 3767.7404 2935.8974
+ 21904091.0824 -13757017.76449 -10697097.98747 21904090.6874 21904096.3164
+ -2555.9934 -1991.6704
+ 23809130.6854 -7519454.93949 -5847973.71045 23809130.2114 23809140.1374
+ -3578.1614 -2788.1704
+ 22673981.7004 -10375266.75749 -8073440.12446 22673981.6544 22673991.1794
+ -3545.0814 -2762.3924
+ 23208577.9814 -6608073.55849 -4933706.63946 23208578.0984 23208585.5094
+ 2092.2084 1630.2754
+ 23152115.1694 -9010385.25649 -6567595.81046 23152114.1974 23152124.8374
+ 3418.4504 2663.7314
+ 05 1 20 17 9 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21452914.0704 -19574052.62149 -15207815.14148 21452913.6664 21452920.7454
+ 1250.7894 974.6424
+ 20271664.8854 -27995105.25849 -21798784.28548 20271664.3274 20271669.7104
+ 572.4834 446.0954
+ 23854442.0924 -5951270.01949 -4619472.00145 23854441.7684 23854452.3244
+ 3762.9304 2932.1504
+ 21918712.7894 -13680178.89549 -10637223.53747 21918712.2894 21918718.0274
+ -2566.5984 -1999.9434
+ 23829563.5334 -7412087.69549 -5764311.11445 23829561.6804 23829573.0764
+ -3579.6264 -2789.3154
+ 22694240.6474 -10268802.68549 -7990481.22246 22694241.0514 22694249.8294
+ -3552.5314 -2768.2144
+ 23196668.9314 -6670656.27749 -4982472.33246 23196668.1514 23196674.7154
+ 2079.9404 1620.7264
+ 23132620.7904 -9112823.57949 -6647417.80246 23132621.2394 23132631.5924
+ 3410.8114 2657.7834
+ 05 1 20 17 10 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21445790.7974 -19611485.73449 -15236983.75948 21445790.2924 21445797.1264
+ 1244.8424 970.0064
+ 20268435.8654 -28012072.17649 -21812005.25148 20268435.6694 20268440.8164
+ 558.6304 435.2954
+ 23832973.4994 -6064084.28249 -4707379.14146 23832974.1234 23832985.1454
+ 3758.0664 2928.3584
+ 21933395.7254 -13603022.70349 -10577101.82547 21933395.2514 21933400.6514
+ -2577.1414 -2008.1594
+ 23849999.8954 -7304678.15649 -5680615.53245 23850001.2564 23850011.3024
+ -3580.9874 -2790.3774
+ 22714544.0314 -10162115.39649 -7907348.37446 22714543.2364 22714551.9864
+ -3559.9214 -2773.9534
+ 23184829.1364 -6732870.39549 -5030950.76946 23184828.2914 23184837.7514
+ 2067.6234 1611.1324
+ 23113170.9814 -9215032.65249 -6727061.14746 23113171.2434 23113182.0324
+ 3403.1344 2651.7764
+ 05 1 20 17 10 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21438701.3224 -19648739.67349 -15266012.77048 21438701.1484 21438707.9544
+ 1238.8744 965.3544
+ 20265286.8914 -28028621.89549 -21824901.12648 20265286.3284 20265291.3284
+ 544.6814 424.4234
+ 23811534.4134 -6176751.36049 -4795171.56245 23811533.4034 23811544.6504
+ 3753.1484 2924.5194
+ 21948137.2514 -13525551.90149 -10516734.96747 21948136.9364 21948142.4604
+ -2587.5954 -2016.3154
+ 23870447.2174 -7197229.31149 -5596889.34145 23870446.7344 23870459.6394
+ -3582.2254 -2791.3394
+ 22734887.6594 -10055208.03049 -7824044.04446 22734887.0804 22734895.6454
+ -3567.2564 -2779.6864
+ 23173060.5264 -6794713.10449 -5079139.80046 23173059.9224 23173068.4084
+ 2055.2114 1601.4484
+ 23093765.6354 -9317010.37449 -6806524.23446 23093765.8604 23093775.8334
+ 3395.3574 2645.7314
+ 05 1 20 17 11 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21431646.7254 -19685814.60649 -15294902.29048 21431645.7314 21431653.0204
+ 1232.9124 960.7114
+ 20262217.1614 -28044753.03249 -21837470.83248 20262216.8284 20262221.6884
+ 530.6974 413.5304
+ 23790120.9554 -6289269.15849 -4882847.63345 23790120.8764 23790132.2724
+ 3748.1374 2920.6184
+ 21962939.0794 -13447768.68849 -10456124.67947 21962938.4614 21962943.8784
+ -2597.9624 -2024.3844
+ 23890899.6684 -7089743.93049 -5513134.73645 23890901.2224 23890911.3594
+ -3583.4554 -2792.2944
+ 22755273.4974 -9948083.48049 -7740570.48846 22755272.5604 22755281.5374
+ -3574.4124 -2785.2454
+ 23161363.9184 -6856181.42249 -5127037.08246 23161363.5394 23161370.6894
+ 2042.6884 1591.6944
+ 23074405.5334 -9418754.38449 -6885805.19446 23074404.0984 23074414.6694
+ 3387.5394 2639.6494
+ 05 1 20 17 11 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21424625.1424 -19722710.61049 -15323652.39048 21424624.6564 21424631.7424
+ 1226.9564 956.0674
+ 20259227.6034 -28060463.77349 -21849712.95148 20259226.8464 20259232.0204
+ 516.6764 402.6004
+ 23768736.4794 -6401635.08449 -4970405.37945 23768737.8414 23768750.2244
+ 3743.0194 2916.6284
+ 21977799.3244 -13369675.58849 -10395272.90947 21977798.7274 21977804.9814
+ -2608.2734 -2032.4314
+ 23911362.7994 -6982225.08849 -5429353.93345 23911362.1434 23911373.9524
+ -3584.5024 -2793.1174
+ 22775699.2274 -9840745.46549 -7656930.59346 22775698.5164 22775706.4524
+ -3581.4254 -2790.7174
+ 23149738.5324 -6917272.67549 -5174640.54746 23149736.7934 23149744.9154
+ 2030.0744 1581.8634
+ 23055088.7174 -9520262.76249 -6964902.53346 23055087.5274 23055097.7674
+ 3379.6444 2633.4884
+ 05 1 20 17 12 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21417637.8584 -19759427.79349 -15352263.14748 21417637.3784 21417644.7564
+ 1220.9914 951.4184
+ 20256317.8734 -28075752.81249 -21861626.47348 20256317.4554 20256322.5984
+ 502.6194 391.6524
+ 23747386.6044 -6513847.24849 -5057843.27046 23747385.7844 23747397.0964
+ 3737.8274 2912.5874
+ 21992717.7084 -13291274.59849 -10334181.23047 21992717.5684 21992725.0184
+ -2618.4504 -2040.3444
+ 23931827.6444 -6874675.55149 -5345549.32145 23931827.9874 23931837.9344
+ -3585.4344 -2793.8534
+ 22796165.3034 -9733197.04749 -7573126.73146 22796164.5404 22796172.8094
+ -3588.3964 -2796.1464
+ 23138186.6914 -6977983.96149 -5221947.94346 23138185.3384 23138193.8014
+ 2017.3544 1571.9644
+ 23035817.1604 -9621533.52549 -7043814.74546 23035815.8634 23035825.9244
+ 3371.6734 2627.2824
+ 05 1 20 17 12 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21410685.3264 -19795966.29749 -15380734.68348 21410684.2874 21410691.8854
+ 1215.0244 946.7744
+ 20253489.3034 -28090618.68349 -21873210.25948 20253488.5204 20253493.5434
+ 488.4704 380.6284
+ 23726061.5704 -6625903.40349 -5145159.58746 23726062.1104 23726072.8494
+ 3732.6174 2908.5324
+ 22007696.1204 -13212568.54349 -10272851.86547 22007695.7894 22007701.3534
+ -2628.5944 -2048.2534
+ 23952299.4454 -6767098.04849 -5261722.85945 23952299.5524 23952309.4964
+ -3586.3974 -2794.5964
+ 22816669.3074 -9625441.70249 -7489161.65246 22816670.0694 22816679.2244
+ -3595.2554 -2801.4984
+ 23126704.1234 -7038312.50849 -5268957.08446 23126704.5974 23126712.3104
+ 2004.5564 1561.9874
+ 23016591.9674 -9722564.14149 -7122539.80646 23016591.7714 23016601.6804
+ 3363.6354 2621.0134
+ 05 1 20 17 13 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21403766.0364 -19832326.13949 -15409067.00848 21403765.4094 21403772.7464
+ 1209.0634 942.1224
+ 20250741.0984 -28105060.04949 -21884463.26148 20250740.6574 20250745.6604
+ 474.2744 369.5584
+ 23704766.8454 -6737801.32749 -5232352.60346 23704769.6064 23704778.8024
+ 3727.3224 2904.4034
+ 22022730.2064 -13133559.45049 -10211286.32947 22022730.1264 22022736.4604
+ -2638.6494 -2056.0934
+ 23972776.3534 -6659495.59749 -5177876.94945 23972776.0614 23972785.8794
+ -3587.1894 -2795.2064
+ 22837213.8314 -9517482.20449 -7405037.47946 22837213.6234 22837222.9974
+ -3602.0414 -2806.7764
+ 23115299.7024 -7098255.42249 -5315665.74146 23115297.9834 23115306.1974
+ 1991.6344 1551.9134
+ 22997411.4954 -9823352.70349 -7201076.25446 22997411.4234 22997421.0914
+ 3355.5254 2614.7014
+ 05 1 20 17 13 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21396881.0474 -19868507.50949 -15437260.25248 21396880.1474 21396887.5974
+ 1203.1764 937.5354
+ 20248073.4444 -28119075.35249 -21895384.26148 20248073.3734 20248078.7794
+ 460.0684 358.4944
+ 23683507.4134 -6849538.85749 -5319420.65446 23683506.8744 23683515.0064
+ 3721.9254 2900.1964
+ 22037822.6224 -13054249.92549 -10149486.70547 22037822.3944 22037828.4844
+ -2648.6384 -2063.8734
+ 23993256.5524 -6551871.09549 -5094013.91445 23993256.1574 23993266.2904
+ -3587.8544 -2795.7244
+ 22857796.4244 -9409321.78649 -7320756.75846 22857795.9134 22857804.7474
+ -3608.6454 -2811.9244
+ 23103965.5284 -7157809.85649 -5362071.69346 23103964.4944 23103973.2974
+ 1978.6524 1541.7984
+ 22978278.1694 -9923897.13449 -7279422.43746 22978278.3754 22978288.2614
+ 3347.4104 2608.3634
+ 05 1 20 17 14 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21390029.4814 -19904510.58649 -15465314.57048 21390028.9074 21390036.5184
+ 1197.2024 932.8834
+ 20245488.4954 -28132663.03549 -21905972.05248 20245487.9544 20245492.9344
+ 445.7694 347.3464
+ 23662275.2574 -6961113.55449 -5406361.80246 23662273.8924 23662283.1564
+ 3716.3904 2895.8784
+ 22052971.8984 -12974642.28949 -10087454.77847 22052971.7254 22052977.1084
+ -2658.5164 -2071.5764
+ 24013740.1734 -6444227.45049 -5010135.91045 24013741.5914 24013749.9124
+ -3588.4464 -2796.1814
+ 22878417.2604 -9300964.24049 -7236322.40246 22878416.0454 22878425.2654
+ -3615.1694 -2817.0124
+ 23092706.7084 -7216973.12049 -5408172.82846 23092706.8264 23092714.3274
+ 1965.5564 1531.5974
+ 22959192.1754 -10024195.29049 -7357576.73746 22959192.5614 22959201.9514
+ 3339.1354 2601.9204
+ 05 1 20 17 14 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21383212.0934 -19940335.34049 -15493229.93848 21383211.7754 21383219.0594
+ 1191.2204 928.2194
+ 20242983.8634 -28145821.99049 -21916225.76248 20242983.6254 20242988.7754
+ 431.4904 336.2264
+ 23641072.6034 -7072523.39349 -5493174.46146 23641072.6374 23641083.6414
+ 3710.9544 2891.6374
+ 22068176.3804 -12894738.77849 -10025192.31447 22068176.4524 22068182.0024
+ -2668.3564 -2079.2364
+ 24034226.8264 -6336567.17149 -4926244.96245 24034225.5814 24034238.5754
+ -3588.9784 -2796.6064
+ 22899074.1644 -9192412.57449 -7151736.81546 22899072.2964 22899082.3234
+ -3621.6284 -2822.0464
+ 23081523.2314 -7275742.40949 -5453967.00046 23081522.7814 23081530.6324
+ 1952.3574 1521.2944
+ 22940153.3424 -10124245.05649 -7435537.49346 22940153.1284 22940162.2394
+ 3330.8064 2595.4284
+ 05 1 20 17 15 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21376429.2314 -19975981.90649 -15521006.45148 21376428.6304 21376435.7184
+ 1185.3114 923.6184
+ 20240562.0234 -28158550.72349 -21926144.23748 20240561.5784 20240566.8124
+ 417.1584 325.0604
+ 23619903.6144 -7183766.16649 -5579856.92446 23619904.1044 23619913.5734
+ 3705.3114 2887.2454
+ 22083437.7454 -12814541.76049 -9962701.13147 22083437.5474 22083443.1104
+ -2678.1294 -2086.8574
+ 24054719.7174 -6228893.38249 -4842343.46945 24054717.8584 24054728.1734
+ -3589.4814 -2796.9874
+ 22919766.2664 -9083670.29249 -7067002.68346 22919766.0464 22919774.8384
+ -3627.9044 -2826.9454
+ 23070414.6914 -7334114.99249 -5499452.02946 23070415.4004 23070422.8314
+ 1939.1134 1510.9744
+ 22921163.4454 -10224044.30449 -7513303.01946 22921162.7824 22921172.6054
+ 3322.3994 2588.8794
+ 05 1 20 17 15 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21369680.3204 -20011450.41449 -15548644.22048 21369679.2964 21369686.4344
+ 1179.3764 918.9924
+ 20238222.0844 -28170847.44949 -21935726.08348 20238221.4524 20238226.7314
+ 402.6764 313.7764
+ 23598766.2214 -7294839.64049 -5666407.51846 23598766.6354 23598777.1584
+ 3699.6504 2882.8304
+ 22098754.6734 -12734053.60549 -9899983.08447 22098753.8144 22098759.7014
+ -2687.7784 -2094.3634
+ 24075209.5574 -6121208.77249 -4758433.56545 24075209.2324 24075221.4764
+ -3589.5754 -2797.0664
+ 22940494.3144 -8974740.11349 -6982122.13746 22940494.6574 22940503.7974
+ -3634.1234 -2831.7844
+ 23059385.4114 -7392088.21849 -5544625.86346 23059383.0394 23059391.6224
+ 1925.7464 1500.5734
+ 22902218.9944 -10323590.99149 -7590871.72946 22902218.5204 22902228.1024
+ 3314.0304 2582.3514
+ 05 1 20 17 16 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21362964.4244 -20046740.85649 -15576143.24748 21362963.7474 21362970.7284
+ 1173.4224 914.3584
+ 20235964.3334 -28182711.00849 -21944970.39948 20235964.0764 20235969.3104
+ 388.2274 302.5164
+ 23577664.0334 -7405741.84049 -5752824.62046 23577663.8914 23577672.4114
+ 3693.8954 2878.3564
+ 22114125.2374 -12653276.79549 -9837040.13047 22114124.7544 22114131.1214
+ -2697.3514 -2101.8334
+ 24095700.5274 -6013516.24549 -4674517.52545 24095702.2904 24095713.3994
+ -3589.8184 -2797.2564
+ 22961258.8514 -8865625.24249 -6897097.66246 22961258.1064 22961266.7544
+ -3640.1864 -2836.5134
+ 23048428.6404 -7449659.27149 -5589486.34046 23048427.2054 23048435.3074
+ 1912.3024 1490.0944
+ 22883325.2284 -10422883.01749 -7668242.02246 22883324.2134 22883334.2544
+ 3305.5174 2575.7314
+ 05 1 20 17 16 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21356282.1804 -20081853.38449 -15603503.62548 21356281.7024 21356288.8754
+ 1167.5144 909.7464
+ 20233789.5414 -28194140.12849 -21953876.18948 20233789.1804 20233794.3344
+ 373.7164 291.2034
+ 23556590.5024 -7516470.29149 -5839106.35246 23556592.2404 23556602.4754
+ 3688.0744 2873.8254
+ 22129550.9044 -12572213.29349 -9773873.76847 22129550.8694 22129556.9594
+ -2706.8524 -2109.2394
+ 24116197.1334 -5905818.72849 -4590597.54445 24116197.4974 24116208.6314
+ -3590.0104 -2797.4094
+ 22982055.3324 -8756328.88349 -6811931.78346 22982055.9724 22982066.1214
+ -3646.1654 -2841.1564
+ 23037549.6464 -7506825.36849 -5634031.27846 23037548.3634 23037555.8164
+ 1898.7384 1479.5294
+ 22864477.0874 -10521918.10949 -7745412.07346 22864477.7984 22864488.0584
+ 3296.8294 2568.9484
+ 05 1 20 17 17 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21349634.2454 -20116788.13949 -15630725.48848 21349633.9244 21349641.0154
+ 1161.6204 905.1624
+ 20231697.6744 -28205133.36849 -21962442.33848 20231697.2624 20231702.4434
+ 359.1504 279.8624
+ 23535554.6734 -7627022.84449 -5925250.99646 23535553.6774 23535565.0584
+ 3682.2154 2869.2534
+ 22145031.1604 -12490865.82749 -9710486.13347 22145031.1214 22145037.2224
+ -2716.2844 -2116.5804
+ 24136690.9174 -5798118.79449 -4506675.66245 24136691.9414 24136702.7144
+ -3590.0794 -2797.4604
+ 23002890.0364 -8646854.35849 -6726627.08546 23002888.7344 23002898.2504
+ -3652.0614 -2845.7584
+ 23026749.6524 -7563583.72849 -5678258.51046 23026749.1174 23026757.1044
+ 1885.1234 1468.9244
+ 22845682.6384 -10620694.47449 -7822380.54646 22845682.1774 22845692.2164
+ 3288.1994 2562.2274
+ 05 1 20 17 17 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21343020.8394 -20151545.18749 -15657808.87548 21343020.0484 21343026.9484
+ 1155.6714 900.5214
+ 20229689.0444 -28215689.35549 -21970667.76548 20229688.5244 20229693.3064
+ 344.5714 268.4904
+ 23514551.1384 -7737397.35049 -6011256.95246 23514550.7384 23514560.6264
+ 3676.2074 2864.5704
+ 22160565.4364 -12409236.56949 -9646878.92747 22160565.0324 22160570.7814
+ -2725.6324 -2123.8674
+ 24157186.6634 -5690419.41049 -4422754.21545 24157184.7314 24157197.9004
+ -3590.0104 -2797.4004
+ 23023754.4254 -8537205.15749 -6641186.24746 23023754.1164 23023764.5894
+ -3657.8734 -2850.2664
+ 23016025.4264 -7619931.87949 -5722166.08946 23016025.6784 23016033.9124
+ 1871.4064 1458.2374
+ 22826935.4764 -10719210.04449 -7899145.75646 22826934.8344 22826943.6044
+ 3279.4624 2555.4074
+ 05 1 20 17 18 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21336440.6084 -20186124.44849 -15684753.72348 21336439.6814 21336446.9254
+ 1149.7394 895.9004
+ 20227763.3594 -28225806.55749 -21978551.28448 20227763.2514 20227768.2504
+ 329.9144 257.0804
+ 23493581.3444 -7847591.62149 -6097122.47046 23493582.1944 23493591.5574
+ 3670.1604 2859.8594
+ 22176151.6184 -12327328.02249 -9583054.09847 22176151.5244 22176156.9974
+ -2734.8874 -2131.0724
+ 24177677.5354 -5582723.42648 -4338835.46245 24177677.4194 24177691.9514
+ -3589.7384 -2797.1934
+ 23044653.6284 -8427384.65249 -6555611.96646 23044652.5304 23044661.4744
+ -3663.5074 -2854.6804
+ 23005382.4614 -7675866.85749 -5765751.69746 23005381.9854 23005389.9044
+ 1857.5854 1447.4544
+ 22808238.7064 -10817462.60449 -7975706.04646 22808237.0144 22808246.8514
+ 3270.6774 2548.5674
+ 05 1 20 17 18 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21329893.8634 -20220526.25349 -15711560.29348 21329893.4184 21329900.3424
+ 1143.8074 891.2774
+ 20225921.9244 -28235483.80049 -21986091.97248 20225921.4114 20225926.9284
+ 315.2414 245.6414
+ 23472646.6444 -7957603.58349 -6182845.93946 23472647.0734 23472656.8264
+ 3664.0884 2855.1254
+ 22191790.3054 -12245142.50949 -9519013.44147 22191790.7874 22191796.8794
+ -2744.1294 -2138.2904
+ 24198170.1834 -5475033.46948 -4254921.45044 24198172.9474 24198183.3554
+ -3589.5254 -2797.0264
+ 23065583.1584 -8317395.71249 -6469906.40746 23065583.2484 23065592.4634
+ -3669.0754 -2859.0104
+ 22994816.5584 -7731386.16249 -5809013.45146 22994816.1194 22994823.6444
+ 1843.7104 1436.6534
+ 22789589.8574 -10915450.48049 -8052060.08346 22789590.4584 22789600.7874
+ 3261.8274 2541.6704
+ 05 1 20 17 19 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21323381.2904 -20254750.47249 -15738228.49048 21323380.8714 21323387.6224
+ 1137.9124 886.6884
+ 20224165.0244 -28244719.81149 -21993288.85648 20224164.2334 20224169.0104
+ 300.4974 234.1584
+ 23451746.4604 -8067430.76149 -6268425.42446 23451747.6924 23451757.6634
+ 3657.8524 2850.2694
+ 22207481.5054 -12162682.23849 -9454758.70247 22207481.7754 22207488.9204
+ -2753.2574 -2145.3964
+ 24218659.7104 -5367352.44358 -4171014.32954 24218659.7254 24218671.1694
+ -3589.3314 -2796.8794
+ 23086545.7854 -8207241.55149 -6384072.11846 23086545.5694 23086553.9484
+ -3674.4704 -2863.2234
+ 22984332.7124 -7786487.19849 -5851949.23746 22984330.7344 22984339.3614
+ 1829.6694 1425.7094
+ 22770995.7134 -11013171.56549 -8128206.24946 22770995.7534 22771004.4354
+ 3252.9214 2534.7384
+ 05 1 20 17 19 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21316902.3174 -20288797.34849 -15764758.48948 21316901.8814 21316908.7104
+ 1132.0234 882.0924
+ 20222491.0774 -28253513.05249 -22000140.71148 20222490.7354 20222495.6754
+ 285.7304 222.6424
+ 23430884.0024 -8177071.27949 -6353859.44546 23430883.6174 23430893.2444
+ 3651.5564 2845.3704
+ 22223225.3984 -12079949.56649 -9390291.70347 22223225.4184 22223231.5804
+ -2762.2874 -2152.4414
+ 24239153.3324 -5259683.08948 -4087116.30144 24239149.7974 24239160.6464
+ -3588.7624 -2796.4324
+ 23107537.5544 -8096925.50549 -6298111.68646 23107537.3954 23107546.1604
+ -3679.8894 -2867.4434
+ 22973926.5464 -7841167.28749 -5894557.02846 22973925.9394 22973933.0874
+ 1815.6144 1414.7534
+ 22752451.0654 -11110623.70249 -8204142.84146 22752450.5964 22752459.5714
+ 3243.8874 2527.7044
+ 05 1 20 17 20 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21310457.6384 -20322666.88649 -15791150.30348 21310456.3264 21310463.4414
+ 1126.0764 877.4584
+ 20220902.5644 -28261862.36649 -22006646.65748 20220902.0954 20220906.8844
+ 270.8704 211.0634
+ 23410054.3924 -8286522.86849 -6439146.24846 23410054.3094 23410064.0064
+ 3645.2434 2840.4484
+ 22239019.8594 -11996946.70149 -9325614.14547 22239020.0264 22239026.9914
+ -2771.2384 -2159.4164
+ 24259637.6204 -5152028.30949 -4003229.61045 24259638.0024 24259649.5794
+ -3588.2134 -2796.0094
+ 23128560.3444 -7986450.82249 -6212027.62146 23128559.7094 23128570.3104
+ -3685.0584 -2871.4694
+ 22963600.9194 -7895423.84849 -5936834.79746 22963600.7734 22963608.8964
+ 1801.4904 1403.7614
+ 22733959.1524 -11207804.87149 -8279868.24946 22733957.6564 22733967.2754
+ 3234.8414 2520.6504
+ 05 1 20 17 20 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21304044.5964 -20356359.18649 -15817404.02448 21304044.8034 21304051.9594
+ 1120.1754 872.8624
+ 20219398.3274 -28269766.47849 -22012805.69448 20219397.9804 20219402.8594
+ 256.0144 199.4894
+ 23389265.1894 -8395783.41049 -6524284.21646 23389264.2014 23389273.4534
+ 3638.7764 2835.4204
+ 22254867.4404 -11913676.44149 -9260728.24647 22254866.8334 22254872.3764
+ -2780.0834 -2166.2984
+ 24280122.8744 -5044390.66449 -3919356.26245 24280121.5794 24280131.0954
+ -3587.6264 -2795.5494
+ 23149613.1074 -7875820.47049 -6125822.28046 23149613.0844 23149622.0054
+ -3690.2304 -2875.4974
+ 22953358.0304 -7949254.15349 -5978780.41346 22953358.2334 22953365.0104
+ 1787.1804 1392.6064
+ 22715516.7004 -11304713.04949 -8355380.96146 22715516.3304 22715525.9814
+ 3225.6624 2513.5054
+ 05 1 20 17 21 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21297668.3164 -20389874.18549 -15843519.57548 21297666.9524 21297674.1074
+ 1114.2604 868.2524
+ 20217979.2794 -28277223.95149 -22018616.69948 20217978.8074 20217983.9004
+ 241.1214 187.8834
+ 23368507.4324 -8504850.62749 -6609271.50546 23368508.7074 23368518.2664
+ 3632.3944 2830.4384
+ 22270762.9564 -11830140.95349 -9195635.67347 22270763.4004 22270768.6774
+ -2788.8834 -2173.1544
+ 24300603.1334 -4936773.17049 -3835498.64745 24300601.7914 24300611.0284
+ -3586.9184 -2794.9934
+ 23170695.5614 -7765037.95449 -6039498.37846 23170694.3064 23170703.7544
+ -3695.2154 -2879.3764
+ 22943197.5734 -8002655.36349 -6020391.65646 22943194.7304 22943203.9994
+ 1772.8814 1381.4614
+ 22697128.1934 -11401346.13349 -8430679.34146 22697128.0404 22697137.2344
+ 3216.4114 2506.2774
+ 05 1 20 17 21 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21291322.9474 -20423212.06549 -15869497.11248 21291322.7444 21291330.0284
+ 1108.3544 863.6514
+ 20216645.3074 -28284233.76749 -22024078.88648 20216644.7034 20216649.7124
+ 226.1654 176.2334
+ 23347790.5034 -8613722.57849 -6694106.64746 23347790.6174 23347800.8894
+ 3625.7854 2825.2874
+ 22286710.0524 -11746342.45349 -9130338.14647 22286709.5254 22286714.3874
+ -2797.6644 -2179.9974
+ 24321076.6234 -4829178.43349 -3751658.77545 24321076.3214 24321086.4554
+ -3586.1464 -2794.3974
+ 23191804.9174 -7654106.47949 -5953058.39246 23191803.8644 23191813.8454
+ -3700.1824 -2883.2564
+ 22933114.4174 -8055625.24149 -6061666.80746 22933115.6304 22933123.6624
+ 1758.4434 1370.2374
+ 22678791.5544 -11497702.24449 -8505761.87446 22678791.6614 22678801.0064
+ 3207.2464 2499.1444
+ 05 1 20 17 22 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21285013.5204 -20456372.88249 -15895336.68248 21285012.8234 21285019.9784
+ 1102.4704 859.0684
+ 20215396.2174 -28290794.44149 -22029191.08648 20215395.9834 20215401.3104
+ 211.1994 164.5704
+ 23327109.1494 -8722396.78049 -6778787.68446 23327110.0754 23327120.2954
+ 3619.2264 2820.1644
+ 22302704.4484 -11662283.21449 -9064837.44647 22302705.0164 22302711.3574
+ -2806.2254 -2186.6724
+ 24341546.4994 -4721609.33449 -3667838.84945 24341545.3204 24341558.7384
+ -3585.1944 -2793.6574
+ 23212941.6654 -7543029.01649 -5866504.66046 23212940.1604 23212950.3134
+ -3704.9424 -2886.9534
+ 22923118.8114 -8108161.27649 -6102603.90246 22923118.5674 22923125.8934
+ 1743.9274 1358.9024
+ 22660510.0564 -11593779.26349 -8580626.95446 22660508.9844 22660517.7744
+ 3197.7694 2491.7564
+ 05 1 20 17 22 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21278737.1924 -20489356.54949 -15921038.19948 21278736.3634 21278743.3184
+ 1096.5344 854.4434
+ 20214234.4504 -28296904.70049 -22033952.31648 20214233.7424 20214238.6364
+ 196.1504 152.8454
+ 23306466.3124 -8830871.43649 -6863313.22546 23306467.7514 23306477.4444
+ 3612.5044 2814.9304
+ 22318750.7434 -11577965.77949 -8999135.57847 22318750.2884 22318756.3854
+ -2814.8504 -2193.3824
+ 24362012.4124 -4614068.62049 -3584041.01745 24362009.6654 24362022.7784
+ -3584.2184 -2792.8944
+ 23234106.8344 -7431808.67649 -5779839.58946 23234105.4004 23234116.3684
+ -3709.6914 -2890.6714
+ 22913203.9184 -8160260.74049 -6143200.79246 22913203.5684 22913212.2884
+ 1729.3114 1347.5054
+ 22642279.5864 -11689575.68049 -8655273.34946 22642278.8634 22642288.2944
+ 3188.4924 2484.5254
+ 05 1 20 17 23 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21272494.2224 -20522163.24849 -15946601.82948 21272493.6694 21272500.4854
+ 1090.6434 849.8534
+ 20213157.1434 -28302563.37649 -22038361.66048 20213156.6324 20213161.6294
+ 181.1024 141.1204
+ 23285866.4464 -8939144.21149 -6947681.45046 23285865.5804 23285874.1394
+ 3605.7394 2809.6534
+ 22334843.6144 -11493392.44949 -8933234.29047 22334843.2194 22334850.4844
+ -2823.3544 -2200.0184
+ 24382467.0414 -4506558.89048 -3500267.30744 24382467.3374 24382483.7574
+ -3583.0984 -2792.0224
+ 23255297.1904 -7320449.14449 -5693066.04646 23255296.4554 23255306.7324
+ -3714.2784 -2894.2454
+ 22903372.8564 -8211921.05349 -6183455.49146 22903373.4454 22903381.0164
+ 1714.6534 1336.0724
+ 22624103.5344 -11785089.15649 -8729699.30146 22624103.5514 22624112.8204
+ 3179.0074 2477.1424
+ 05 1 20 17 23 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21266285.1174 -20554793.07549 -15972027.63248 21266284.5304 21266291.0774
+ 1084.7644 845.2664
+ 20212166.1924 -28307769.12849 -22042418.08148 20212165.8634 20212171.1404
+ 165.9584 129.3174
+ 23265300.1634 -9047212.92649 -7031890.67146 23265300.8744 23265310.1054
+ 3598.8884 2804.3344
+ 22350985.1504 -11408565.18049 -8867135.13247 22350986.1164 22350992.1844
+ -2831.8094 -2206.6034
+ 24402919.2344 -4399082.91448 -3416520.01144 24402917.8934 24402931.9424
+ -3581.9684 -2791.1334
+ 23276515.5934 -7208953.34849 -5606186.33946 23276514.0584 23276523.1364
+ -3718.7764 -2897.7354
+ 22893627.7894 -8263139.58349 -6223365.93646 22893626.4624 22893633.7164
+ 1699.8854 1324.5844
+ 22605983.4214 -11880317.70149 -8803903.23246 22605982.3624 22605990.3884
+ 3169.4734 2469.7104
+ 05 1 20 17 24 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21260109.1854 -20587245.92349 -15997315.52948 21260108.7434 21260115.5534
+ 1078.8584 840.6634
+ 20211261.9964 -28312520.75549 -22046120.63548 20211261.7354 20211266.9674
+ 150.7894 117.4954
+ 23244773.7644 -9155075.64249 -7115939.34346 23244773.6794 23244784.0834
+ 3591.9684 2798.9264
+ 22367176.4304 -11323486.74649 -8800840.26647 22367176.3634 22367182.2394
+ -2840.0724 -2213.0424
+ 24423365.9044 -4291643.58748 -3332801.22144 24423365.2294 24423380.5774
+ -3580.6314 -2790.1064
+ 23297758.8614 -7097325.00149 -5519203.32946 23297756.6314 23297766.7254
+ -3723.1504 -2901.1504
+ 22883963.8174 -8313913.92849 -6262930.26546 22883964.6044 22883972.1784
+ 1685.0524 1313.0154
+ 22587914.0314 -11975259.36449 -8877883.60346 22587915.1074 22587924.2944
+ 3159.9134 2462.2474
+ 05 1 20 17 24 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21253967.1734 -20619521.98249 -16022465.66448 21253966.5554 21253973.6664
+ 1072.9964 836.1014
+ 20210444.9374 -28316817.12649 -22049468.44348 20210444.3164 20210449.3784
+ 135.6124 105.6724
+ 23224288.1414 -9262729.99249 -7199825.66446 23224288.2664 23224297.7024
+ 3585.0534 2793.5454
+ 22383413.8164 -11238159.39449 -8734351.43447 22383413.1654 22383419.5504
+ -2848.3814 -2219.5114
+ 24443801.5184 -4184243.46248 -3249112.90344 24443802.9714 24443813.6454
+ -3579.2394 -2789.0214
+ 23319024.2164 -6985566.43249 -5432118.86246 23319022.3524 23319033.4864
+ -3727.4084 -2904.4704
+ 22874388.2484 -8364241.63949 -6302146.56446 22874386.2094 22874395.1334
+ 1670.1294 1301.4074
+ 22569903.6324 -12069912.13349 -8951638.87546 22569903.5064 22569911.5174
+ 3150.2794 2454.7674
+ 05 1 20 17 25 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21247859.5354 -20651621.28549 -16047478.07748 21247858.2234 21247865.5474
+ 1067.0924 831.5024
+ 20209713.5774 -28320657.00149 -22052460.54348 20209713.4424 20209718.4944
+ 120.3794 93.8054
+ 23203842.2324 -9370173.90749 -7283548.01246 23203842.5344 23203851.1454
+ 3577.9784 2788.0264
+ 22399698.3594 -11152585.29649 -8667670.33647 22399697.9284 22399702.9854
+ -2856.5164 -2225.8564
+ 24464231.9534 -4076885.36948 -3165457.34444 24464232.5784 24464243.8964
+ -3577.9344 -2788.0054
+ 23340317.3764 -6873681.07349 -5344935.61446 23340315.1844 23340324.3254
+ -3731.6194 -2907.7524
+ 22864896.0594 -8414120.26249 -6341012.94946 22864895.1204 22864903.1034
+ 1655.1144 1289.7034
+ 22551946.3484 -12164274.35849 -9025167.74246 22551946.3794 22551955.9944
+ 3140.4994 2447.1444
+ 05 1 20 17 25 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21241783.9204 -20683543.86049 -16072352.78448 21241783.2694 21241790.6144
+ 1061.1714 826.8834
+ 20209070.2494 -28324039.31649 -22055096.11048 20209069.8694 20209075.0894
+ 105.0894 81.8854
+ 23183434.7574 -9477405.44749 -7367104.86846 23183435.8624 23183445.6034
+ 3570.8504 2782.4924
+ 22416028.1994 -11066766.97049 -8600798.93247 22416028.1464 22416034.4974
+ -2864.6584 -2232.2084
+ 24484653.4804 -3969572.03949 -3081836.64744 24484653.7484 24484663.1654
+ -3576.3334 -2786.7614
+ 23361627.3634 -6761672.44749 -5257656.30646 23361628.4704 23361638.9084
+ -3735.6534 -2910.8884
+ 22855490.0664 -8463547.35749 -6379527.45946 22855489.9484 22855498.0534
+ 1639.9764 1277.8964
+ 22534046.4714 -12258343.74449 -9098468.42047 22534046.5334 22534054.5214
+ 3130.7454 2439.5414
+ 05 1 20 17 26 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21235742.6744 -20715289.52749 -16097089.63848 21235742.2884 21235749.4784
+ 1055.2964 822.3074
+ 20208514.3594 -28326962.83749 -22057374.16448 20208513.6104 20208518.6304
+ 89.7724 69.9514
+ 23163070.7314 -9584422.26749 -7450494.36646 23163070.7974 23163080.7694
+ 3563.6604 2776.8624
+ 22432405.5674 -10980706.86449 -8533739.11247 22432404.1514 22432410.6614
+ -2872.6884 -2238.4554
+ 24505066.6204 -3862306.10549 -2998252.92245 24505064.0924 24505080.0104
+ -3574.6814 -2785.4634
+ 23382966.6004 -6649543.51749 -5170283.25046 23382966.3194 23382976.6434
+ -3739.6054 -2913.9864
+ 22846172.6594 -8512520.33949 -6417688.12246 22846170.3794 22846178.7344
+ 1624.8064 1266.0724
+ 22516199.2754 -12352118.60849 -9171539.61846 22516199.6644 22516208.8544
+ 3120.8774 2431.8424
+ 05 1 20 17 26 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21229735.6234 -20746858.60649 -16121688.89448 21229734.7774 21229742.0374
+ 1049.4414 817.7464
+ 20208045.2604 -28329426.28449 -22059293.72148 20208044.8294 20208049.9954
+ 74.4444 58.0114
+ 23142746.4174 -9691222.35549 -7533715.01346 23142747.7334 23142757.4154
+ 3556.3844 2771.1964
+ 22448827.2784 -10894406.49949 -8466492.12547 22448827.5294 22448832.9264
+ -2880.6694 -2244.6784
+ 24525473.6954 -3755090.16148 -2914708.17144 24525469.2054 24525474.8584
+ -3572.9004 -2784.0764
+ 23404324.9894 -6537297.34149 -5082818.82646 23404325.7714 23404335.9854
+ -3743.4714 -2916.9924
+ 22836938.1364 -8561036.83549 -6455493.09146 22836937.1434 22836945.7004
+ 1609.5754 1254.2054
+ 22498412.5344 -12445596.99849 -9244379.78146 22498412.6884 22498420.8274
+ 3110.9814 2424.1424
+ 05 1 20 17 27 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21223762.2294 -20778251.01049 -16146150.48048 21223761.4444 21223768.2024
+ 1043.5264 813.1354
+ 20207664.1484 -28331428.53749 -22060853.90848 20207663.9534 20207668.7394
+ 59.0364 45.9994
+ 23122465.3744 -9797803.63349 -7616765.18546 23122466.5424 23122474.9374
+ 3549.0554 2765.4924
+ 22465295.8074 -10807868.85349 -8399060.18547 22465295.4884 22465300.7424
+ -2888.5044 -2250.7824
+ 24545859.4384 -3647926.93348 -2831204.50344 24545859.0414 24545871.6274
+ -3571.1324 -2782.6904
+ 23425707.5554 -6424937.10449 -4995265.51846 23425707.4754 23425716.7634
+ -3747.1974 -2919.8934
+ 22827794.2534 -8609094.35849 -6492940.42746 22827793.6534 22827800.4444
+ 1594.2284 1242.2704
+ 22480681.4924 -12538777.04749 -9316987.46847 22480680.6774 22480689.6454
+ 3101.0054 2416.3674
+ 05 1 20 17 27 30.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21217822.4214 -20809466.62949 -16170474.30648 21217821.3084 21217827.7014
+ 1037.6184 808.5284
+ 20207371.0904 -28332968.56449 -22062053.91748 20207370.5484 20207375.6454
+ 43.5874 33.9644
+ 23102225.1984 -9904163.85549 -7699643.09346 23102226.1214 23102235.1674
+ 3541.6574 2759.7154
+ 22481807.3054 -10721095.89049 -8331444.91347 22481806.7784 22481813.4564
+ -2896.3274 -2256.8714
+ 24566239.6984 -3540819.21148 -2747744.11144 24566243.7714 24566255.3264
+ -3569.1524 -2781.1594
+ 23447108.8244 -6312466.34049 -4907626.09546 23447109.4074 23447120.3094
+ -3750.8384 -2922.7264
+ 22818737.4524 -8656690.50749 -6530028.25146 22818735.2354 22818742.8424
+ 1578.8424 1230.2674
+ 22463006.1214 -12631656.85149 -9389361.21147 22463006.0024 22463014.3784
+ 3090.9524 2408.5254
+ 05 1 20 17 28 0.0000000 0 8G 7G28G 4G11G27G 8G20G24
+ 21211915.7064 -20840505.56549 -16194660.46348 21211915.0494 21211921.3114
+ 1031.7604 803.9684
+ 20207166.2734 -28334045.22949 -22062892.86548 20207165.8434 20207170.9254
+ 28.1534 21.9374
+ 23082029.1094 -10010301.26749 -7782347.35946 23082028.0814 23082037.6924
+ 3534.2144 2753.9224
+ 22498365.1114 -10634090.20049 -8263648.31447 22498364.4754 22498369.7604
+ -2904.0544 -2262.8814
+ 24586611.8444 -3433769.57048 -2664328.95744 24586613.1764 24586623.4914
+ -3567.4224 -2779.8014
+ 23468536.0404 -6199888.00349 -4819902.83646 23468533.0224 23468542.4044
+ -3754.3854 -2925.4804
+ 22809766.3844 -8703822.81249 -6566754.62746 22809766.1994 22809774.5164
+ 1563.3094 1218.1484
+ 22445389.0474 -12724234.63749 -9461499.61547 22445389.1004 22445398.2404
+ 3080.8694 2400.6754
+ 05 1 20 17 28 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21206042.6044 -20871367.90249 -16218709.00748 21206042.0094 21206048.6384
+ 1025.8444 799.3604
+ 20207049.5754 -28334657.46349 -22063369.91548 20207049.1594 20207054.2264
+ 12.6324 9.8444
+ 23061872.6604 -10116213.48549 -7864876.16446 23061874.1174 23061883.7074
+ 3526.6574 2748.0364
+ 22514965.4964 -10546854.03949 -8195672.11147 22514964.6964 22514970.0884
+ -2911.6904 -2268.8394
+ 23489974.7964 -6087205.54149 -4732098.49046 23489975.1964 23489986.8254
+ -3757.7494 -2928.1174
+ 22800887.1114 -8750488.83649 -6603117.67946 22800885.8564 22800894.0414
+ 1547.7454 1206.0264
+ 22427828.7034 -12816508.31249 -9533401.05447 22427829.4974 22427838.8004
+ 3070.6984 2392.7474
+ 05 1 20 17 29 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21200202.6564 -20902053.67549 -16242619.96948 21200202.3024 21200209.4824
+ 1019.9544 794.7734
+ 20207022.2244 -28334804.01649 -22063484.10148 20207021.3144 20207026.5934
+ -2.8954 -2.2554
+ 23041763.7804 -10221898.50049 -7947227.96846 23041762.6114 23041772.0114
+ 3519.0994 2742.1474
+ 22531608.8864 -10459389.65449 -8127518.05746 22531608.7404 22531614.1534
+ -2919.2774 -2274.7694
+ 23511437.1984 -5974421.59449 -4644215.03946 23511438.0634 23511448.8704
+ -3761.0974 -2930.7214
+ 22792096.2074 -8796686.56049 -6639115.80246 22792095.4074 22792102.3894
+ 1532.0914 1193.8384
+ 22410328.9894 -12908476.10249 -9605064.14247 22410328.6284 22410337.5764
+ 3060.4414 2384.7674
+ 05 1 20 17 29 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21194397.1794 -20932562.76849 -16266393.26148 21194396.6764 21194403.7434
+ 1014.0524 790.1684
+ 20207082.4114 -28334483.98549 -22063234.71848 20207082.3404 20207087.3374
+ -18.4534 -14.3814
+ 23021694.6194 -10327354.29449 -8029401.11246 23021695.1804 23021705.2434
+ 3511.3524 2736.1074
+ 22548295.3474 -10371699.19549 -8059187.85046 22548295.2024 22548300.7904
+ -2926.7534 -2280.5954
+ 23532920.4764 -5861539.62749 -4556255.19446 23532918.7834 23532930.0484
+ -3764.3284 -2933.2294
+ 22783393.4804 -8842413.51549 -6674747.10346 22783393.1134 22783399.9504
+ 1516.3594 1181.5654
+ 22392886.2594 -13000136.21049 -9676487.47747 22392886.0394 22392894.8374
+ 3050.1954 2376.7674
+ 05 1 20 17 30 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21188625.1254 -20962895.27949 -16290028.95648 21188624.5204 21188631.4404
+ 1008.1784 785.5874
+ 20207232.1914 -28333696.15749 -22062620.80948 20207231.8304 20207237.2304
+ -34.0594 -26.5414
+ 23001670.6364 -10432578.65749 -8111393.96646 23001671.3354 23001680.3064
+ 3503.6404 2730.0984
+ 22565025.2434 -10283785.07149 -7990683.36146 22565024.7964 22565031.1894
+ -2934.1994 -2286.3824
+ 23554418.7794 -5748562.49349 -4468221.21046 23554418.5434 23554428.4794
+ -3767.4664 -2935.6854
+ 22774781.5724 -8887667.18149 -6710009.60946 22774782.2074 22774789.4204
+ 1500.5594 1169.2504
+ 22375502.4114 -13091486.66849 -9747669.54447 22375503.3934 22375511.2284
+ 3039.8454 2368.7024
+ 05 1 20 17 30 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21182886.3134 -20993051.19449 -16313527.05248 21182886.0684 21182892.8474
+ 1002.3014 781.0154
+ 20207472.2354 -28332439.55349 -22061641.62448 20207471.2674 20207476.4564
+ -49.7184 -38.7404
+ 22981692.7734 -10537569.60849 -8193204.92646 22981692.9764 22981701.0124
+ 3495.8484 2724.0434
+ 22581795.4154 -10195649.53949 -7922006.37046 22581796.1594 22581802.6214
+ -2941.5204 -2292.0944
+ 23575935.3654 -5635493.74149 -4380115.81546 23575934.1414 23575945.1274
+ -3770.4414 -2938.0034
+ 22766261.7154 -8932445.28449 -6744901.55347 22766260.6934 22766268.0384
+ 1484.6364 1156.8614
+ 22358179.2974 -13182525.87549 -9818609.06047 22358178.2564 22358187.0954
+ 3029.4534 2360.6044
+ 05 1 20 17 31 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21177182.0384 -21023030.46649 -16336887.50148 21177180.9484 21177187.8784
+ 996.4064 776.4164
+ 20207800.6424 -28330713.39649 -22060296.55848 20207799.9114 20207804.7534
+ -65.3934 -50.9584
+ 22961756.4594 -10642325.09349 -8274832.39446 22961756.7374 22961766.8924
+ 3487.9434 2717.8704
+ 22598609.4474 -10107295.23049 -7853158.90546 22598609.9374 22598616.5634
+ -2948.7644 -2297.7384
+ 23597467.2974 -5522336.42649 -4291941.40546 23597467.8184 23597477.8144
+ -3773.3504 -2940.2744
+ 22757831.4144 -8976745.77249 -6779421.32047 22757831.2894 22757837.9684
+ 1468.6744 1144.4244
+ 22340913.7674 -13273251.91749 -9889304.57747 22340913.9224 22340922.1704
+ 3018.9444 2352.4174
+ 05 1 20 17 31 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21171510.1814 -21052833.16349 -16360110.36048 21171509.9854 21171516.7724
+ 990.5174 771.8344
+ 20208218.6524 -28328516.37749 -22058584.58148 20208217.9454 20208223.0694
+ -81.1154 -63.2084
+ 22941867.9144 -10746842.96449 -8356274.71446 22941867.9374 22941878.3074
+ 3479.9474 2711.6324
+ 22615463.4444 -10018723.68849 -7784142.15046 22615463.7264 22615469.7644
+ -2955.9784 -2303.3614
+ 23619019.0254 -5409093.46649 -4203700.27746 23619017.9384 23619027.4804
+ -3776.1454 -2942.4414
+ 22749492.6594 -9020566.45749 -6813567.21047 22749491.7044 22749499.5984
+ 1452.6584 1131.9434
+ 22323711.0404 -13363663.04749 -9959754.71047 22323709.7184 22323718.0124
+ 3008.4334 2344.2314
+ 05 1 20 17 32 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21165872.4904 -21082459.14349 -16383195.51548 21165871.8024 21165879.1434
+ 984.6554 767.2604
+ 20208726.3144 -28325847.16649 -22056504.66748 20208725.9014 20208730.7854
+ -96.8434 -75.4624
+ 22922025.3004 -10851121.29749 -8437530.39646 22922025.7154 22922034.4574
+ 3471.9104 2705.3684
+ 22632360.1624 -9929937.32349 -7714957.98946 22632360.0334 22632366.3514
+ -2963.1224 -2308.9284
+ 23640582.5164 -5295768.03949 -4115394.89346 23640582.1734 23640592.6204
+ -3778.8524 -2944.5644
+ 22741245.6144 -9063904.76849 -6847337.23047 22741245.1134 22741252.0244
+ 1436.5404 1119.3774
+ 22306564.4244 -13453757.21649 -10029957.84047 22306564.3124 22306573.0444
+ 2997.8264 2335.9694
+ 05 1 20 17 32 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21160268.5554 -21111908.53949 -16406143.07748 21160268.0634 21160274.9804
+ 978.7384 762.6554
+ 20209324.4284 -28322704.96049 -22054056.18648 20209323.8814 20209328.8344
+ -112.6294 -87.7624
+ 22902226.7724 -10955157.86049 -8518597.68146 22902226.8844 22902237.3794
+ 3463.8864 2699.1304
+ 22649296.5934 -9840938.61249 -7645608.39446 22649296.2284 22649301.3084
+ -2970.1504 -2314.4014
+ 23662164.2464 -5182362.89649 -4027027.38846 23662162.6694 23662172.0384
+ -3781.4484 -2946.5774
+ 22733090.4104 -9106758.44049 -6880729.61447 22733090.0664 22733096.8464
+ 1420.3504 1106.7654
+ 22289480.6344 -13543532.63449 -10099912.62247 22289480.8264 22289489.4234
+ 2987.1844 2327.6704
+ 05 1 20 17 33 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21154698.2614 -21141181.12949 -16428952.86748 21154697.4854 21154704.7994
+ 972.8544 758.0654
+ 20210012.5634 -28319089.13249 -22051238.64548 20210012.0434 20210016.7714
+ -128.4514 -100.0934
+ 22882476.1184 -11058950.82049 -8599475.13546 22882475.8304 22882484.9454
+ 3455.7084 2692.7464
+ 22666271.7054 -9751730.03249 -7576095.26046 22666271.1574 22666278.3964
+ -2977.0794 -2319.7944
+ 23683758.6964 -5068881.88349 -3938600.76846 23683757.3334 23683769.0054
+ -3783.8964 -2948.4894
+ 22725029.3064 -9149125.35149 -6913742.69846 22725028.2224 22725034.3734
+ 1404.0864 1094.1024
+ 22272459.3214 -13632987.66849 -10169617.73547 22272458.4244 22272467.1654
+ 2976.4494 2319.3134
+ 05 1 20 17 33 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21149161.9484 -21170277.06349 -16451625.00648 21149161.1704 21149167.9414
+ 966.9584 753.4704
+ 20210790.6304 -28314998.46049 -22048051.10548 20210790.1444 20210795.4084
+ -144.2854 -112.4314
+ 22862771.8664 -11162498.03749 -8680161.11346 22862771.4294 22862780.8314
+ 3447.4954 2686.3424
+ 22683287.8544 -9662313.73649 -7506420.26546 22683287.4524 22683293.0494
+ -2984.0194 -2325.2024
+ 23705366.2124 -4955328.01049 -3850117.38746 23705364.6684 23705376.6524
+ -3786.3274 -2950.3854
+ 22717058.9594 -9191003.31749 -6946374.81546 22717058.8484 22717065.8484
+ 1387.7594 1081.3694
+ 22255497.3934 -13722120.24249 -10239071.58947 22255496.6564 22255505.1964
+ 2965.7194 2310.9414
+ 05 1 20 17 34 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21143658.4684 -21199196.36649 -16474159.50048 21143657.4794 21143664.6394
+ 961.0764 748.8904
+ 20211659.6914 -28310432.03549 -22044492.84048 20211658.9504 20211664.3024
+ -160.1654 -124.8054
+ 22843114.3374 -11265797.53149 -8760654.06446 22843114.6854 22843121.9404
+ 3439.1814 2679.8754
+ 22700341.2134 -9572691.86749 -7436585.09546 22700342.3114 22700347.6284
+ -2990.8274 -2330.5144
+ 23726989.6084 -4841703.91149 -3761579.26746 23726988.2804 23726999.3014
+ -3788.6064 -2952.1634
+ 22709183.9904 -9232390.17649 -6978624.20346 22709183.0674 22709190.4384
+ 1371.3514 1068.5764
+ 22238596.2844 -13810928.92049 -10308273.04347 22238597.3514 22238605.5244
+ 2954.8494 2302.4884
+ 05 1 20 17 34 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21138188.9594 -21227938.91849 -16496556.27848 21138188.5914 21138195.3484
+ 955.1774 744.2934
+ 20212618.8534 -28305388.98749 -22040563.19048 20212618.5694 20212623.8764
+ -176.0604 -137.1914
+ 22823504.2524 -11368847.35049 -8840952.46946 22823504.0444 22823513.6524
+ 3430.8314 2673.3624
+ 22717435.2494 -9482866.60649 -7366591.43646 22717435.0624 22717441.3354
+ -2997.5544 -2335.7474
+ 23748623.9704 -4728013.51049 -3672989.51846 23748623.6674 23748633.9254
+ -3790.7674 -2953.8394
+ 22701401.5344 -9273283.82549 -7010489.31746 22701400.7454 22701408.3284
+ 1354.8404 1055.7324
+ 22221759.2614 -13899411.70949 -10377220.58147 22221759.2054 22221767.4394
+ 2943.9724 2294.0074
+ 05 1 20 17 35 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21132753.1454 -21256504.63949 -16518815.25448 21132752.0694 21132759.3404
+ 949.3114 739.7254
+ 20213670.0194 -28299868.19649 -22036261.27548 20213669.3934 20213674.2794
+ -191.9924 -149.6044
+ 22803943.1294 -11471645.40849 -8921054.68146 22803942.6824 22803951.4894
+ 3422.4274 2666.8094
+ 22734566.5534 -9392840.34449 -7296441.16046 22734567.1154 22734572.8264
+ -3004.1834 -2340.9144
+ 23770269.8414 -4614259.04049 -3584349.83946 23770270.3264 23770280.1944
+ -3792.8354 -2955.4454
+ 22693714.2064 -9313682.24449 -7041968.54146 22693712.9744 22693720.4774
+ 1338.3394 1042.8574
+ 22204984.6874 -13987566.92949 -10445912.85747 22204983.6924 22204991.9674
+ 2933.0524 2285.5004
+ 05 1 20 17 35 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21127351.0894 -21284893.50749 -16540936.43648 21127350.0924 21127356.8024
+ 943.3884 735.1094
+ 20214811.0814 -28293868.98349 -22031586.55448 20214810.8774 20214815.9184
+ -207.9714 -162.0564
+ 22784429.2414 -11574189.53049 -9000959.03946 22784430.2264 22784437.4814
+ 3413.9334 2660.2104
+ 22751736.1294 -9302615.12149 -7226135.85346 22751735.9924 22751741.5494
+ -3010.8634 -2346.1044
+ 23791928.6834 -4500443.84149 -3495662.81346 23791928.2434 23791938.7504
+ -3794.8474 -2957.0234
+ 22686120.6444 -9353582.91849 -7073059.86546 22686120.5784 22686127.7184
+ 1321.7034 1029.8944
+ 22188271.7464 -14075393.10649 -10514348.73547 22188272.0374 22188279.4534
+ 2922.0284 2276.9064
+ 05 1 20 17 36 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21121982.3314 -21313105.58949 -16562919.86248 21121981.5154 21121988.5914
+ 937.5434 730.5554
+ 20216044.3084 -28287390.34149 -22026538.26048 20216043.7254 20216048.8144
+ -223.9684 -174.5184
+ 22764963.1794 -11676477.98049 -9080664.18646 22764963.6454 22764972.6674
+ 3405.3454 2653.5294
+ 22768942.7274 -9212193.53549 -7155677.49846 22768942.8434 22768948.2254
+ -3017.3164 -2351.1514
+ 23813598.8024 -4386571.07449 -3406930.94145 23813596.9604 23813607.8404
+ -3796.6784 -2958.4474
+ 22678624.1234 -9392983.92449 -7103761.86146 22678622.3544 22678630.2274
+ 1305.0064 1016.8884
+ 22171622.2024 -14162888.38149 -10582526.77247 22171620.5224 22171629.3154
+ 2910.9734 2268.2964
+ 05 1 20 17 36 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21116646.8004 -21341140.72049 -16584765.40248 21116646.4084 21116653.4784
+ 931.5694 725.8974
+ 20217367.9364 -28280431.57449 -22021115.83748 20217367.8794 20217373.1144
+ -239.9824 -187.0004
+ 22745549.5034 -11778508.66649 -9160168.45946 22745548.7634 22745556.9264
+ 3396.7354 2646.7974
+ 22786187.0254 -9121577.50649 -7085067.66146 22786186.9844 22786192.1514
+ -3023.7654 -2356.1884
+ 23835277.6194 -4272644.00649 -3318156.77146 23835277.7004 23835286.5404
+ -3798.4334 -2959.8114
+ 22671221.0304 -9431883.21749 -7134072.93946 22671220.1864 22671227.5524
+ 1288.2704 1003.8424
+ 22155034.7544 -14250050.98049 -10650445.56347 22155034.6684 22155042.7334
+ 2899.8524 2259.6254
+ 05 1 20 17 37 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21111345.5114 -21368998.82749 -16606473.00648 21111345.3704 21111352.3834
+ 925.6874 721.3134
+ 20218784.3964 -28272991.82449 -22015318.62448 20218783.8794 20218789.0484
+ -256.0294 -199.5044
+ 22726179.7844 -11880279.66249 -9239470.38746 22726181.2074 22726189.7054
+ 3388.0524 2640.0234
+ 22803467.0784 -9030769.28149 -7014308.06446 22803466.1604 22803472.2114
+ -3030.1664 -2361.1724
+ 23856967.9724 -4158665.53549 -3229342.51946 23856967.4334 23856978.1744
+ -3800.0854 -2961.1014
+ 22663914.5554 -9470278.75649 -7163991.44146 22663913.4474 22663920.7214
+ 1271.4004 990.6994
+ 22138511.8574 -14336879.09549 -10718103.74347 22138511.2394 22138519.6084
+ 2888.6594 2250.9034
+ 05 1 20 17 37 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21106078.6004 -21396679.94849 -16628042.69948 21106077.8214 21106084.9234
+ 919.7954 716.7224
+ 20220291.9184 -28265069.79249 -22009145.61248 20220291.6274 20220296.3394
+ -272.1094 -212.0374
+ 22706863.7594 -11981788.72649 -9318568.23046 22706865.6164 22706873.7134
+ 3379.2314 2633.1634
+ 22820782.8754 -8939770.97149 -6943400.35346 22820783.3714 22820789.1534
+ -3036.4374 -2366.0524
+ 23878665.9284 -4044639.00549 -3140490.84946 23878665.5694 23878677.1124
+ -3801.6344 -2962.3074
+ 22656703.4394 -9508168.42249 -7193515.79046 22656703.1804 22656710.2444
+ 1254.5504 977.5594
+ 22122052.0464 -14423371.22349 -10785500.09447 22122052.0644 22122060.8634
+ 2877.4584 2242.1794
+ 05 1 20 17 38 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21100844.8974 -21424184.02749 -16649474.43648 21100844.0934 21100850.8714
+ 913.8824 712.1144
+ 20221891.1884 -28256664.97349 -22002596.40048 20221890.5614 20221895.7544
+ -288.2244 -224.5914
+ 22687600.2144 -12083034.12249 -9397460.60046 22687598.4384 22687606.8434
+ 3370.4824 2626.3524
+ 22838135.4554 -8848584.82549 -6872346.25846 22838135.2574 22838140.7114
+ -3042.6664 -2370.9174
+ 23900370.3664 -3930566.85549 -3051603.61345 23900370.6214 23900384.7604
+ -3803.1264 -2963.4584
+ 22649590.9674 -9545550.31349 -7222644.46346 22649590.6194 22649596.4464
+ 1237.5554 964.3264
+ 22105658.8474 -14509525.52649 -10852633.22547 22105657.9844 22105666.3844
+ 2866.1694 2233.3764
+ 05 1 20 17 38 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21095644.6274 -21451510.93249 -16670768.10748 21095643.8284 21095650.6424
+ 907.9684 707.5074
+ 20223582.7124 -28247776.45149 -21995670.27048 20223581.9964 20223587.1484
+ -304.3594 -237.1624
+ 22668383.1984 -12184013.80849 -9476145.91846 22668383.3644 22668390.0204
+ 3361.5844 2619.4124
+ 22855522.6434 -8757213.06549 -6801147.53546 22855522.5444 22855528.9334
+ -3048.7634 -2375.6474
+ 23922089.6184 -3816452.60849 -2962683.61545 23922088.4514 23922098.4824
+ -3804.4584 -2964.5074
+ 22642573.4404 -9582422.30749 -7251375.81046 22642572.8694 22642581.0564
+ 1220.5274 951.0534
+ 22089327.9974 -14595340.41949 -10919501.85547 22089327.3564 22089335.8764
+ 2854.8144 2224.5274
+ 05 1 20 17 39 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21090478.2604 -21478660.62649 -16691923.70248 21090477.1814 21090484.1354
+ 902.0804 702.9194
+ 20225366.0464 -28238403.54949 -21988366.70548 20225365.8824 20225370.8584
+ -320.5224 -249.7614
+ 22649217.0674 -12284725.86749 -9554622.70946 22649217.2164 22649225.8794
+ 3352.6254 2612.4444
+ 22872944.4354 -8665657.95449 -6729805.97046 22872944.7764 22872951.8124
+ -3054.8634 -2380.4074
+ 23943811.6004 -3702299.26249 -2873733.10946 23943811.1544 23943822.3674
+ -3805.7484 -2965.5164
+ 22635654.7794 -9618782.39349 -7279708.27846 22635654.1534 22635660.5634
+ 1203.4414 937.7464
+ 22073063.2814 -14680814.13249 -10986104.65547 22073062.5784 22073071.0634
+ 2843.3864 2215.6164
+ 05 1 20 17 39 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21085345.3824 -21505633.09449 -16712941.19848 21085344.6064 21085351.4994
+ 896.1854 698.3274
+ 20227241.8254 -28228545.32549 -21980684.97048 20227241.4904 20227246.5764
+ -336.7084 -262.3684
+ 22630102.5724 -12385168.34349 -9632889.41646 22630103.9244 22630112.1584
+ 3343.5814 2605.3914
+ 22890402.4744 -8573921.64849 -6658323.20346 22890402.8724 22890408.7784
+ -3060.9114 -2385.1174
+ 23965541.2484 -3588109.72049 -2784754.41846 23965542.4404 23965551.7984
+ -3806.8624 -2966.3774
+ 22628833.0404 -9654628.60149 -7307640.32146 22628832.7154 22628840.3654
+ 1186.2834 924.3734
+ 22056862.9094 -14765945.22649 -11052440.46347 22056862.3724 22056870.9864
+ 2831.9484 2206.7124
+ 05 1 20 17 40 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21080246.5204 -21532428.15749 -16733820.45648 21080245.6414 21080252.5124
+ 890.2314 693.6874
+ 20229210.3204 -28218201.10049 -21972624.53648 20229210.0294 20229215.1574
+ -352.9024 -274.9874
+ 22611041.7754 -12485339.21849 -9710944.50346 22611042.5004 22611049.7134
+ 3334.5324 2598.3284
+ 22907894.1054 -8482006.54449 -6586701.11646 22907893.2464 22907898.9654
+ -3066.7954 -2389.7074
+ 23987276.9084 -3473887.18549 -2695750.01346 23987277.8744 23987288.5114
+ -3807.9414 -2967.2174
+ 22622110.3764 -9689959.03349 -7335170.46846 22622109.4974 22622117.3404
+ 1169.0484 910.9514
+ 22040728.0054 -14850731.87949 -11118507.88947 22040727.9804 22040736.3094
+ 2820.4704 2197.7614
+ 05 1 20 17 40 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21075180.7764 -21559045.83049 -16754561.48548 21075180.3904 21075187.3454
+ 884.3124 689.0694
+ 20231271.3474 -28207369.94349 -21964184.66148 20231270.8294 20231276.0934
+ -369.1834 -287.6804
+ 22592031.9654 -12585236.63549 -9788786.51046 22592031.6834 22592040.2144
+ 3325.3594 2591.1984
+ 22925417.7074 -8389914.69649 -6514941.27646 22925417.8364 22925423.4644
+ -3072.6994 -2394.2954
+ 24009018.6774 -3359634.70349 -2606722.25345 24009019.1814 24009029.5154
+ -3808.8734 -2967.9444
+ 22615485.5734 -9724771.77249 -7362297.24646 22615484.0924 22615491.7924
+ 1151.7564 897.4724
+ 22024660.4124 -14935172.49149 -11184305.65247 22024659.2554 22024667.2874
+ 2808.8794 2188.7384
+ 05 1 20 17 41 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21070149.8634 -21585485.91649 -16775164.13248 21070149.1034 21070155.9154
+ 878.3934 684.4624
+ 20233425.7904 -28196051.36549 -21955364.98548 20233425.0244 20233430.1774
+ -385.4184 -300.3244
+ 22573073.9494 -12684858.74349 -9866413.96746 22573074.3984 22573082.8644
+ 3316.1614 2584.0074
+ 22942976.1734 -8297648.22349 -6443045.36146 22942975.7274 22942981.4764
+ -3078.4324 -2398.7844
+ 24030767.0484 -3245355.48249 -2517673.67145 24030765.5874 24030776.3684
+ -3809.6954 -2968.5944
+ 22608959.5324 -9759064.90849 -7389019.11347 22608958.7794 22608966.5874
+ 1134.4204 883.9614
+ 22008656.8954 -15019265.56649 -11249832.62947 22008656.8954 22008665.1104
+ 2797.2954 2179.7084
+ 05 1 20 17 41 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21065152.6334 -21611748.35249 -16795628.34848 21065151.6724 21065158.4474
+ 872.5004 679.8704
+ 20235671.6414 -28184244.50049 -21946164.82548 20235671.6464 20235676.9054
+ -401.7044 -313.0154
+ 22554169.0854 -12784203.44949 -9943825.29946 22554169.5954 22554178.1974
+ 3306.8884 2576.7934
+ 22960566.8664 -8205209.09249 -6371014.91746 22960566.0524 22960572.3514
+ -3084.1404 -2403.2374
+ 24052518.5234 -3131052.18649 -2428606.34345 24052517.4184 24052527.1774
+ -3810.4644 -2969.1884
+ 22602535.0784 -9792836.41549 -7415334.54847 22602532.6944 22602539.5894
+ 1116.9874 870.3784
+ 21992720.4114 -15103009.57449 -11315087.59747 21992720.8724 21992729.9194
+ 2785.6244 2170.6134
+ 05 1 20 17 42 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21060188.7994 -21637833.20949 -16815954.19448 21060187.7764 21060194.6864
+ 866.6124 675.2824
+ 20238011.4184 -28171948.76149 -21936583.72248 20238011.5294 20238016.6674
+ -418.0124 -325.7204
+ 22535317.4504 -12883268.86449 -10021018.96746 22535317.4354 22535326.0734
+ 3297.5394 2569.5074
+ 22978187.2644 -8112599.61649 -6298851.77246 22978189.3214 22978195.0614
+ -3089.7974 -2407.6224
+ 24074271.1824 -3016728.16649 -2339522.81745 24074270.9674 24074283.2244
+ -3811.0874 -2969.6684
+ 22596206.1424 -9826084.71149 -7441242.27247 22596205.7654 22596212.4594
+ 1099.5324 856.7884
+ 21976851.6854 -15186402.66449 -11380069.13447 21976851.7754 21976859.6244
+ 2773.9114 2161.4884
+ 05 1 20 17 42 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21055258.8664 -21663740.15849 -16836141.41048 21055257.9484 21055264.6044
+ 860.6394 670.6244
+ 20240444.7454 -28159163.39949 -21926621.10348 20240444.4224 20240449.5494
+ -434.3694 -338.4724
+ 22516520.9064 -12982053.23249 -10097993.65346 22516519.8064 22516527.8224
+ 3288.1244 2562.1504
+ 22995844.4774 -8019821.95849 -6226557.56346 22995843.6684 22995850.4884
+ -3095.3394 -2411.9514
+ 24096031.3134 -2902386.22449 -2250425.35445 24096029.1474 24096042.5994
+ -3811.7054 -2970.1554
+ 22589979.4764 -9858807.62649 -7466740.59847 22589978.1544 22589986.1224
+ 1081.9584 843.0794
+ 21961050.7894 -15269443.31849 -11444776.04447 21961050.1034 21961057.5524
+ 2762.0844 2152.2714
+ 05 1 20 17 43 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21050362.4624 -21689469.32249 -16856190.09748 21050361.9004 21050368.4684
+ 854.6974 665.9994
+ 20242971.5954 -28145887.68949 -21916276.38948 20242970.8314 20242975.8524
+ -450.6984 -351.1934
+ 22497775.4314 -13080554.38949 -10174747.65646 22497775.5804 22497783.1034
+ 3278.6354 2554.7654
+ 23013530.8864 -7926878.49449 -6154134.15646 23013530.1564 23013537.0194
+ -3100.8584 -2416.2534
+ 24117791.1864 -2788029.20949 -2161316.19245 24117791.8664 24117804.3694
+ -3812.1394 -2970.4874
+ 22583851.8814 -9891003.44649 -7491828.22046 22583851.0484 22583858.5854
+ 1064.3644 829.3694
+ 21945314.7154 -15352129.97249 -11509207.10547 21945314.8454 21945322.9584
+ 2750.2934 2143.0904
+ 05 1 20 17 43 30.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21045499.9864 -21715020.51849 -16876100.10348 21045499.5084 21045506.3224
+ 848.7944 661.3964
+ 20245590.7184 -28132120.95949 -21905549.06448 20245590.5264 20245595.3544
+ -467.0684 -363.9524
+ 22479083.5484 -13178770.64849 -10251279.66446 22479085.2944 22479094.0764
+ 3269.1434 2547.3724
+ 23031247.2914 -7833771.20349 -6081583.08946 23031247.9404 23031254.1814
+ -3106.3034 -2420.4884
+ 24139555.5244 -2673660.20249 -2072197.69345 24139555.7804 24139566.7904
+ -3812.4724 -2970.7494
+ 22577826.8434 -9922670.69749 -7516503.98246 22577826.4094 22577832.4024
+ 1046.7234 815.6374
+ 21929648.1624 -15434461.29149 -11573361.28747 21929647.5504 21929655.4424
+ 2738.4554 2133.8584
+ 05 1 20 17 44 0.0000000 0 7G 7G28G 4G11G 8G20G24
+ 21040671.7734 -21740393.56549 -16895871.29548 21040671.1094 21040677.7214
+ 842.8624 656.7744
+ 20248304.2464 -28117862.76049 -21894438.77948 20248303.7274 20248308.8304
+ -483.4734 -376.7324
+ 22460449.6434 -13276700.19049 -10327588.26246 22460449.7934 22460457.8844
+ 3259.5474 2539.9024
+ 23048997.6404 -7740502.19549 -6008906.01346 23048997.3334 23049002.8244
+ -3111.6284 -2424.6504
+ 24161322.7314 -2559282.59549 -1983072.46345 24161321.3674 24161332.5044
+ -3812.6654 -2970.8964
+ 22571900.6794 -9953807.12849 -7540766.10746 22571900.9714 22571906.9154
+ 1029.0124 801.8204
+ 21914049.5514 -15516435.50549 -11637237.21347 21914048.4374 21914056.4524
+ 2726.4834 2124.5294
+ 05 1 20 17 44 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24252660.6064 -152859.94549 -104589.93145
+ 1946.6474 1516.8684
+ 21035877.2394 -21765588.36449 -16915503.59148 21035876.6774 21035883.5524
+ 836.8954 652.1244
+ 20251110.7204 -28103112.32949 -21882944.93048 20251110.4594 20251115.7844
+ -499.8934 -389.5254
+ 22441869.4774 -13374340.83149 -10403671.73046 22441869.1414 22441877.5894
+ 3249.9214 2532.4184
+ 23066776.1344 -7647073.58649 -5936104.58946 23066776.3764 23066782.0504
+ -3116.9194 -2428.7674
+ 24183085.9694 -2444899.04149 -1893942.58045 24183087.2054 24183100.0404
+ -3812.8694 -2971.0574
+ 22566078.5654 -9984411.10649 -7564613.32747 22566077.4684 22566083.0924
+ 1011.2284 787.9824
+ 21898516.4574 -15598050.98549 -11700833.60947 21898517.1984 21898525.5034
+ 2714.5284 2115.2214
+ 05 1 20 17 45 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24241597.3274 -211004.59149 -149897.43645 24241606.2824
+ 1929.5764 1503.5654
+ 21031116.9704 -21790604.86849 -16934996.95448 21031116.2344 21031123.1814
+ 830.9714 647.5104
+ 20254012.1204 -28087869.01649 -21871067.02248 20254011.6194 20254016.4284
+ -516.3204 -402.3274
+ 22423344.0184 -13471690.90749 -10479528.80446 22423344.4644 22423351.5864
+ 3240.1874 2524.8184
+ 23084585.0874 -7553487.49749 -5863180.43146 23084584.5674 23084590.4014
+ -3122.1364 -2432.8354
+ 24204855.5444 -2330512.67449 -1804810.54445 24204854.9634 24204865.7894
+ -3812.8774 -2971.0734
+ 22560354.8814 -10014480.94949 -7588044.34147 22560355.1254 22560362.7184
+ 993.3864 774.0644
+ 21883055.0044 -15679306.51849 -11764149.52047 21883055.2224 21883063.2994
+ 2702.4974 2105.8284
+ 05 1 20 17 45 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24230628.5144 -268636.95849 -194805.70845 24230626.5954 24230640.4074
+ 1912.5344 1490.2804
+ 21026390.5344 -21815442.94149 -16954351.28948 21026389.8314 21026396.6314
+ 825.0214 642.8754
+ 20257006.3404 -28072132.25549 -21858804.61848 20257006.2084 20257010.8924
+ -532.7984 -415.1644
+ 22404874.7704 -13568748.42649 -10555157.91646 22404874.9374 22404882.5754
+ 3230.4124 2517.2034
+ 23102423.3414 -7459746.02749 -5790135.20746 23102423.4094 23102428.3914
+ -3127.2964 -2436.8704
+ 24226622.6614 -2216126.22349 -1715678.43845 24226622.3854 24226633.8764
+ -3812.8344 -2971.0254
+ 22554736.4624 -10044014.98149 -7611057.84047 22554735.4084 22554741.5264
+ 975.5274 760.1494
+ 21867661.9584 -15760200.37149 -11827183.60947 21867661.3044 21867669.1724
+ 2690.4014 2096.4194
+ 05 1 20 17 46 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24219756.1414 -325755.15958 -239313.38255 24219755.6814 24219769.9834
+ 1895.1934 1476.7714
+ 21021697.9944 -21840102.43149 -16973566.46348 21021697.3104 21021703.8464
+ 819.0494 638.2184
+ 20260095.1734 -28055901.55149 -21846157.30548 20260094.5154 20260099.5794
+ -549.2764 -428.0094
+ 22386461.0154 -13665511.79949 -10630557.82146 22386460.8184 22386468.5914
+ 3220.5614 2509.5244
+ 23120289.7864 -7365851.27149 -5716970.52446 23120291.0554 23120296.2664
+ -3132.3714 -2440.7954
+ 24248388.2964 -2101742.62549 -1626548.49645 24248388.0364 24248398.2384
+ -3812.6774 -2970.9114
+ 22549216.6324 -10073011.55849 -7633652.53247 22549216.6784 22549223.6914
+ 957.5594 746.1424
+ 21852337.2184 -15840731.11849 -11889934.75547 21852336.7524 21852344.7844
+ 2678.2644 2086.9574
+ 05 1 20 17 46 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24208985.2854 -382357.16549 -283418.78445 24208986.2384 24208999.9394
+ 1878.1624 1463.5024
+ 21017039.3914 -21864583.18749 -16992642.36948 21017038.7324 21017045.5064
+ 813.0974 633.5844
+ 20263277.6234 -28039176.37549 -21833124.69848 20263277.0644 20263282.6334
+ -565.7674 -440.8554
+ 22368103.4064 -13761979.03849 -10705726.96346 22368104.2374 22368111.8044
+ 3210.6364 2501.7844
+ 23138187.6074 -7271805.35749 -5643688.06146 23138186.9784 23138192.3464
+ -3137.3814 -2444.7024
+ 24270152.2654 -1987364.86849 -1537423.11045 24270153.1294 24270165.7744
+ -3812.4354 -2970.7144
+ 22543802.4614 -10101468.85049 -7655827.00647 22543801.5054 22543807.9434
+ 939.5624 732.1254
+ 21837081.7494 -15920897.27349 -11952401.81447 21837081.6904 21837089.3554
+ 2666.0964 2077.4714
+ 05 1 20 17 47 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24198317.1144 -438441.22549 -327120.58845 24198316.5294 24198326.2394
+ 1860.7504 1449.9334
+ 21012414.8274 -21888885.18849 -17011578.98748 21012414.1534 21012421.1464
+ 807.1204 628.9294
+ 20266554.3764 -28021956.08449 -21819706.28848 20266554.1334 20266559.1614
+ -582.2894 -453.7314
+ 22349803.4034 -13858148.19049 -10780663.85146 22349803.9714 22349811.0484
+ 3200.6844 2494.0474
+ 23156111.8754 -7177610.35649 -5570289.45846 23156111.5544 23156117.9684
+ -3142.2914 -2448.5394
+ 24291917.4314 -1872996.37349 -1448305.01045 24291917.7984 24291929.3934
+ -3812.1344 -2970.4924
+ 22538488.8164 -10129385.27749 -7677580.03847 22538488.5054 22538495.3924
+ 921.4714 718.0334
+ 21821896.2554 -16000697.32049 -12014583.59047 21821895.7034 21821903.5374
+ 2653.8864 2067.9624
+ 05 1 20 17 47 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24187745.1884 -494005.68249 -370417.51645 24187745.2464 24187753.0084
+ 1843.4004 1436.4164
+ 21007824.2074 -21913008.07249 -17030376.03348 21007823.5704 21007830.3264
+ 801.1504 624.2724
+ 20269925.2684 -28004240.21949 -21805901.71648 20269925.0654 20269930.8064
+ -598.8184 -466.6124
+ 22331559.0474 -13954017.59949 -10855367.17146 22331559.7814 22331566.8474
+ 3190.6304 2486.1834
+ 23174065.0674 -7083268.55949 -5496776.44946 23174064.6484 23174070.3454
+ -3147.2004 -2452.3564
+ 24313676.4034 -1758639.24549 -1359195.74745 24313679.4524 24313689.5484
+ -3811.6354 -2970.0944
+ 22533281.0884 -10156759.25049 -7698910.35547 22533280.0384 22533286.6474
+ 903.3774 703.9254
+ 21806780.4194 -16080129.86049 -12076478.99247 21806780.2574 21806788.1044
+ 2641.6104 2058.3914
+ 05 1 20 17 48 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24177270.4014 -549048.85149 -413308.25945 24177272.0124 24177277.3334
+ 1826.1544 1422.9764
+ 21003267.7534 -21936951.81349 -17049033.48648 21003267.1444 21003273.9924
+ 795.1664 619.6124
+ 20273391.7434 -27986028.22349 -21791710.54448 20273390.9814 20273396.1704
+ -615.3564 -479.5004
+ 22313374.2064 -14049585.41449 -10929835.47246 22313374.1284 22313381.1774
+ 3180.5694 2478.3564
+ 23192044.9164 -6988781.91249 -5423150.56146 23192044.2804 23192051.2684
+ -3151.9364 -2456.0474
+ 24335437.1644 -1644297.27349 -1270098.32445 24335436.8404 24335448.7364
+ -3811.1064 -2969.6864
+ 22528174.4054 -10183589.12649 -7719816.72447 22528174.5244 22528181.5804
+ 885.2184 689.7764
+ 21791734.8904 -16159193.42549 -12138086.88347 21791734.7854 21791742.7434
+ 2629.2944 2048.7964
+ 05 1 20 17 48 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24166899.5644 -603568.88549 -455791.38745 24166898.1414 24166902.3584
+ 1808.6724 1409.3574
+ 20998745.6534 -21960716.29049 -17067551.25548 20998744.9364 20998751.6144
+ 789.2304 614.9824
+ 20276951.5194 -27967319.51949 -21777132.33348 20276951.0534 20276956.1934
+ -631.9134 -492.4014
+ 22295246.4534 -14144849.70149 -11004067.29247 22295246.1434 22295253.4444
+ 3170.4554 2470.4814
+ 23210051.3364 -6894152.54449 -5349413.45346 23210052.2454 23210057.1994
+ -3156.7084 -2459.7694
+ 24357194.2004 -1529973.25749 -1181014.87245 24357194.7354 24357204.6824
+ -3810.4634 -2969.1824
+ 22523173.7924 -10209873.37849 -7740297.95047 22523172.1974 22523179.8004
+ 867.0144 675.5884
+ 21776761.4504 -16237886.66849 -12199406.22947 21776760.2384 21776767.5654
+ 2616.9094 2039.1424
+ 05 1 20 17 49 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24156623.3984 -657564.14349 -497865.59345 24156622.9044 24156626.0044
+ 1791.0264 1395.6064
+ 20994257.6894 -21984301.36349 -17085929.22548 20994256.8854 20994263.7724
+ 783.2224 610.3034
+ 20280606.2844 -27948113.81049 -21762166.84848 20280606.0844 20280611.1604
+ -648.4784 -505.3064
+ 22277175.2604 -14239808.78549 -11078061.26546 22277175.3094 22277182.5824
+ 3160.2034 2462.4964
+ 23228085.6434 -6799382.53149 -5275566.75046 23228086.6584 23228093.0954
+ -3161.2834 -2463.3294
+ 24378946.7634 -1415669.64149 -1091947.30045 24378945.8364 24378958.4114
+ -3809.8174 -2968.6914
+ 22518275.5474 -10235610.46049 -7760352.79047 22518274.9264 22518281.3674
+ 848.7884 661.3924
+ 21761854.8614 -16316208.13749 -12260435.87747 21761855.1904 21761863.6104
+ 2604.4824 2029.4704
+ 05 1 20 17 49 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24146450.9784 -711032.96349 -539529.56945 24146451.0054 24146450.8284
+ 1773.4924 1381.9444
+ 20989803.0864 -22007706.86049 -17104167.25948 20989802.9364 20989809.8124
+ 777.2384 605.6354
+ 20284355.4934 -27928410.70249 -21746813.77548 20284355.2884 20284360.2664
+ -665.0704 -518.2374
+ 22259163.4574 -14334460.79549 -11151815.97047 22259163.5874 22259171.6434
+ 3149.9764 2454.5124
+ 23246148.4974 -6704474.01949 -5201612.11946 23246147.0744 23246152.7924
+ -3165.9314 -2466.9524
+ 24400691.3064 -1301389.38549 -1002897.97545 24400692.9664 24400702.0074
+ -3808.9064 -2967.9754
+ 22513483.0984 -10260798.85449 -7779980.08047 22513482.7154 22513488.9114
+ 830.4724 647.1114
+ 21747024.2604 -16394156.29249 -12321174.62747 21747023.5004 21747030.6544
+ 2592.0424 2019.7764
+ 05 1 20 17 50 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24136370.3214 -763973.67748 -580782.04245 24136369.5554 24136375.6214
+ 1756.0374 1368.3404
+ 20985384.5864 -22030932.48749 -17122265.13948 20985383.6794 20985390.2474
+ 771.2274 600.9554
+ 20288199.6654 -27908209.64649 -21731072.68348 20288199.1354 20288204.4354
+ -681.6644 -531.1674
+ 22241210.2264 -14428803.99149 -11225330.04147 22241210.2194 22241217.9264
+ 3139.6394 2446.4684
+ 23264235.0264 -6609428.83349 -5127551.02246 23264234.6534 23264239.8604
+ -3170.4334 -2470.4574
+ 24422436.1254 -1187135.80949 -913869.35045 24422434.7014 24422445.9854
+ -3807.9874 -2967.2544
+ 22508794.9224 -10285436.92849 -7799178.56447 22508793.7044 22508799.7434
+ 812.0644 632.7804
+ 21732261.2104 -16471729.63349 -12381621.30947 21732260.6344 21732269.4014
+ 2579.5184 2010.0134
+ 05 1 20 17 50 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24126396.1414 -816384.35048 -621621.47445 24126396.5674 24126405.4324
+ 1738.0634 1354.3364
+ 20980999.0884 -22053978.20549 -17140222.82848 20980998.3324 20981004.6794
+ 765.2304 596.2834
+ 20292138.3824 -27887510.15849 -21714943.21448 20292138.1374 20292143.3144
+ -698.3014 -544.1294
+ 22223317.1284 -14522836.66049 -11298602.14147 22223317.0164 22223325.0524
+ 3129.2764 2438.4004
+ 23282344.9524 -6514249.14449 -5053385.11046 23282345.4834 23282352.3894
+ -3174.8964 -2473.9344
+ 24444169.7264 -1072911.15949 -824863.34145 24444169.6784 24444179.5074
+ -3806.9864 -2966.4734
+ 22504210.7474 -10309523.29149 -7817947.12447 22504209.7184 22504216.4024
+ 793.6734 618.4454
+ 21717570.9294 -16548927.03549 -12441775.06947 21717570.9134 21717578.8994
+ 2566.9534 2000.2224
+ 05 1 20 17 51 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24116519.2664 -868263.59949 -662046.85245 24116520.6634 24116531.9084
+ 1720.4374 1340.5994
+ 20976646.7624 -22076843.85149 -17158040.19948 20976646.4334 20976653.7564
+ 759.2294 591.6094
+ 20296172.4374 -27866311.89549 -21698425.08548 20296172.2294 20296177.6424
+ -714.9204 -557.0774
+ 22205483.1994 -14616556.89849 -11371630.79047 22205482.8574 22205491.2464
+ 3118.8124 2430.2454
+ 23300482.6834 -6418936.72449 -4979115.75046 23300483.0704 23300489.4264
+ -3179.3034 -2477.3714
+ 24465899.8234 -958718.93349 -735882.58345 24465899.8334 24465912.1824
+ -3805.7864 -2965.5394
+ 22499732.1494 -10333056.41249 -7836284.60847 22499732.4314 22499739.0584
+ 775.2174 604.0574
+ 21702952.6504 -16625747.08749 -12501634.78847 21702952.3034 21702960.7824
+ 2554.3764 1990.4174
+ 05 1 20 17 51 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24106752.5984 -919609.59949 -702056.71245 24106752.3674 24106760.0864
+ 1702.6144 1326.7164
+ 20972330.4564 -22099529.30249 -17175717.16448 20972329.4994 20972336.6624
+ 753.2284 586.9334
+ 20300301.8054 -27844614.48849 -21681518.01248 20300300.9234 20300306.2904
+ -731.5794 -570.0594
+ 22187707.6224 -14709963.10249 -11444414.74747 22187708.0804 22187715.0694
+ 3108.3294 2422.0734
+ 23318645.0924 -6323494.00149 -4904744.88346 23318644.9924 23318651.0794
+ -3183.6074 -2480.7454
+ 24487623.5894 -844562.24749 -646929.52845 24487623.9264 24487634.8754
+ -3804.5574 -2964.5854
+ 22495359.5364 -10356034.93949 -7854189.92147 22495358.8104 22495365.6164
+ 756.6834 589.5934
+ 21688405.1424 -16702188.18049 -12561199.20047 21688405.4914 21688414.2574
+ 2541.7264 1980.5594
+ 05 1 20 17 52 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24097083.5354 -970420.70849 -741649.75145 24097083.7134 24097093.6374
+ 1684.7784 1312.8074
+ 20968047.1394 -22122034.18149 -17193253.42648 20968046.9234 20968054.2334
+ 747.1774 582.2154
+ 20304525.4714 -27822417.47049 -21664221.63948 20304525.1844 20304530.6404
+ -748.2334 -583.0374
+ 22169994.2114 -14803053.45049 -11516952.56747 22169992.7014 22170000.1794
+ 3097.7734 2413.8434
+ 23336831.6714 -6227922.94949 -4830274.00546 23336832.2524 23336837.9254
+ -3187.8174 -2484.0144
+ 24509341.9224 -730443.26649 -558005.81045 24509340.5364 24509352.9854
+ -3803.3094 -2963.6124
+ 22491093.8574 -10378457.42149 -7871661.98147 22491092.9574 22491098.8164
+ 738.1164 575.1684
+ 21673933.1414 -16778249.22949 -12620467.50347 21673932.2354 21673939.8204
+ 2529.0094 1970.6544
+ 05 1 20 17 52 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24087518.6464 -1020695.50749 -780824.88645 24087518.0194 24087528.6654
+ 1666.8224 1298.8194
+ 20963799.5924 -22144358.49249 -17210648.98448 20963799.0914 20963805.5924
+ 741.1754 577.5404
+ 20308843.8134 -27799720.76249 -21646535.88948 20308843.9634 20308848.9564
+ -764.8984 -596.0284
+ 22152337.9334 -14895826.13149 -11589242.88347 22152338.2714 22152346.4484
+ 3087.1474 2405.5664
+ 23355043.3644 -6132225.40449 -4755704.53946 23355042.9114 23355049.1294
+ -3192.0244 -2487.2914
+ 24531048.4614 -616364.95849 -469113.85445 24531049.1984 24531063.0794
+ -3801.9214 -2962.5244
+ 22486931.0934 -10400322.32749 -7888699.53847 22486931.6134 22486939.1414
+ 719.5014 560.6484
+ 21659531.0394 -16853928.76749 -12679438.49847 21659530.5754 21659538.6914
+ 2516.2714 1960.7204
+ 05 1 20 17 53 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24078050.8644 -1070432.51949 -819580.95645 24078051.6214 24078062.3424
+ 1648.9894 1284.9274
+ 20959586.7534 -22166501.93749 -17227903.59548 20959585.2984 20959592.2764
+ 735.1374 572.8334
+ 20313259.2744 -27776523.78649 -21628460.32648 20313258.5764 20313263.4564
+ -781.5874 -609.0274
+ 22134744.6214 -14988279.43349 -11661284.29847 22134745.8214 22134752.3064
+ 3076.4624 2397.2344
+ 23373278.6994 -6036403.44249 -4681038.15946 23373277.6784 23373283.9744
+ -3196.1074 -2490.4694
+ 24552748.8354 -502330.57449 -380256.09845 24552749.5454 24552759.1364
+ -3800.3814 -2961.3294
+ 22482877.2584 -10421628.42749 -7905301.68947 22482877.1264 22482883.5194
+ 700.8694 546.1354
+ 21645202.2574 -16929225.63849 -12738111.32747 21645202.6694 21645210.0304
+ 2503.5064 1950.7834
+ 05 1 20 17 53 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24068692.7634 -1119629.93949 -857916.56645 24068691.6894 24068700.7934
+ 1630.8794 1270.8134
+ 20955406.9414 -22188464.44849 -17245017.22948 20955406.0114 20955412.8014
+ 729.1244 568.1494
+ 20317768.2204 -27752826.30049 -21609994.75548 20317767.7684 20317772.8854
+ -798.2774 -622.0334
+ 22117214.2004 -15080411.66349 -11733075.55747 22117214.1144 22117221.1204
+ 3065.7494 2388.8944
+ 23391534.4494 -5940459.37149 -4606276.62046 23391533.6714 23391540.9494
+ -3200.2004 -2493.6604
+ 24574438.7874 -388342.97849 -291434.75645 24574441.6074 24574451.5924
+ -3798.8194 -2960.1134
+ 22478930.9864 -10442374.43849 -7921467.41347 22478929.7814 22478936.3024
+ 682.1684 531.5574
+ 21630946.6264 -17004138.67849 -12796485.06647 21630946.7204 21630954.4084
+ 2490.6644 1940.7764
+ 05 1 20 17 54 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24059432.8744 -1168286.25649 -895830.57245 24059431.7434 24059441.2404
+ 1612.7764 1256.7124
+ 20951261.3934 -22210245.72549 -17261989.63448 20951261.1164 20951268.1454
+ 723.0774 563.4374
+ 20322373.2764 -27728627.97449 -21591138.91748 20322372.5394 20322377.8134
+ -814.9584 -635.0314
+ 22099742.2484 -15172221.20049 -11804615.36147 22099742.1004 22099750.1434
+ 3054.9824 2380.5174
+ 23409815.8284 -5844394.96249 -4531421.30546 23409814.5964 23409820.7484
+ -3204.1074 -2496.7084
+ 24596122.5874 -274404.66349 -202651.84045 24596123.1644 24596134.5544
+ -3797.0874 -2958.7674
+ 22475088.8584 -10462558.75849 -7937195.43047 22475088.0974 22475094.8914
+ 663.4394 516.9714
+ 21616764.9544 -17078666.27649 -12854558.45347 21616764.8654 21616771.8274
+ 2477.8024 1930.7554
+ 05 1 20 17 54 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24050278.1954 -1216399.97949 -933321.75145 24050277.0144 24050285.0764
+ 1594.7264 1242.6434
+ 20947151.0344 -22231845.59749 -17278820.69348 20947150.5684 20947157.8094
+ 717.0264 558.7204
+ 20327073.2414 -27703928.46249 -21571892.54748 20327072.7224 20327077.9354
+ -831.6844 -648.0604
+ 22082334.2644 -15263706.44449 -11875902.47147 22082333.7764 22082340.9704
+ 3044.1204 2372.0454
+ 23428118.1264 -5748211.82949 -4456473.49346 23428117.6754 23428123.9344
+ -3208.0634 -2499.7864
+ 24617792.8284 -160518.82549 -113909.78645 24617792.4614 24617805.8134
+ -3795.3444 -2957.4054
+ 22471355.1794 -10482180.31149 -7952484.95147 22471354.7104 22471360.6714
+ 644.6344 502.3134
+ 21602657.0564 -17152807.07649 -12912330.44147 21602656.4494 21602663.4364
+ 2464.8794 1920.6884
+ 05 1 20 17 55 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24041226.6184 -1263969.71149 -970389.03945 24041226.7684 24041232.8364
+ 1576.5344 1228.4664
+ 20943075.6174 -22253263.86849 -17295510.24348 20943074.9304 20943081.8464
+ 710.9234 553.9644
+ 20331868.5644 -27678727.80449 -21552255.67348 20331868.3324 20331873.5234
+ -848.3704 -661.0694
+ 22064986.6704 -15354865.47049 -11946935.38947 22064986.7244 22064994.1114
+ 3033.2254 2363.5474
+ 23446444.5434 -5651912.54149 -4381435.18246 23446443.6044 23446448.5134
+ -3211.8904 -2502.7574
+ 24639455.7474 -46687.95049 -25210.62445 24639455.2844 24639470.2954
+ -3793.4014 -2955.8894
+ 22467728.5844 -10501237.92649 -7967335.01647 22467727.3784 22467734.9034
+ 625.8224 487.6584
+ 21588620.6364 -17226559.87949 -12969800.09747 21588620.3094 21588628.8944
+ 2451.9544 1910.6114
+ 05 1 20 17 55 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24032276.5484 -1310994.11149 -1007031.40345 24032276.0904 24032283.6014
+ 1558.3004 1214.2624
+ 20939034.5274 -22274500.28549 -17312058.08948 20939033.5864 20939040.4654
+ 704.8814 549.2574
+ 20336759.6654 -27653025.64049 -21532228.01548 20336759.0084 20336764.4494
+ -865.1244 -674.1244
+ 22047701.7304 -15445696.71649 -12017712.88547 22047701.2864 22047708.7174
+ 3022.2684 2355.0124
+ 23464789.7914 -5555498.78049 -4306307.64446 23464789.8224 23464796.4734
+ -3215.6644 -2505.7114
+ 24661101.2274 67084.93248 63443.37445 24661105.5734 24661117.9914
+ -3791.3984 -2954.3234
+ 22464209.0614 -10519730.18949 -7981744.55647 22464208.7454 22464214.9044
+ 606.9784 472.9694
+ 21574661.0344 -17299923.63949 -13026966.59947 21574660.7854 21574667.9134
+ 2438.9584 1900.4804
+ 05 1 20 17 56 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24023431.1084 -1357471.68549 -1043247.68245 24023431.8294 24023440.0004
+ 1540.1504 1200.1184
+ 20935027.9044 -22295554.65149 -17328464.07848 20935027.2334 20935034.0834
+ 698.8294 544.5414
+ 20341746.0064 -27626821.69849 -21511809.36548 20341745.6384 20341750.8824
+ -881.8484 -687.1534
+ 22030479.4754 -15536198.52749 -12088233.69347 22030479.7474 22030486.8064
+ 3011.2364 2346.4144
+ 23483159.4104 -5458972.63549 -4231092.54146 23483157.6144 23483164.9454
+ -3219.3754 -2508.5994
+ 24682740.9014 180797.45948 152050.34545 24682741.4674 24682764.0294
+ -3789.3694 -2952.7414
+ 22460797.9744 -10537655.89149 -7995712.61347 22460798.0384 22460804.6934
+ 588.0634 458.2314
+ 21560774.6354 -17372897.18749 -13083829.04947 21560774.3344 21560782.2724
+ 2425.9214 1890.3264
+ 05 1 20 17 56 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24014693.6044 -1403400.86449 -1079036.64445 24014693.3994 24014700.2354
+ 1521.8044 1185.8214
+ 20931056.1104 -22316426.69949 -17344728.00248 20931055.4154 20931062.3684
+ 692.7614 539.8144
+ 20346828.1584 -27600115.65449 -21490999.46048 20346827.7304 20346832.8214
+ -898.5694 -700.1814
+ 22013322.2204 -15626369.06949 -12158496.37647 22013321.5104 22013328.5924
+ 3000.1614 2337.7794
+ 23501548.2664 -5362336.19549 -4155791.48246 23501547.5394 23501554.7134
+ -3223.0414 -2511.4704
+ 24704369.6734 294446.37648 240607.67145 24704370.4754 24704383.4344
+ -3787.2544 -2951.1004
+ 22457497.0664 -10555013.75349 -8009238.20547 22457495.3184 22457501.1994
+ 569.1204 443.4714
+ 21546961.2534 -17445478.91149 -13140386.16247 21546961.8694 21546969.7874
+ 2412.8484 1880.1384
+ 05 1 20 17 57 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 24006055.9824 -1448780.40349 -1114397.32745 24006056.5874 24006063.2724
+ 1503.4774 1171.5424
+ 20927118.9694 -22337116.23949 -17360849.71148 20927118.5554 20927125.0164
+ 686.6294 535.0324
+ 20352005.4724 -27572907.38849 -21469798.21448 20352005.0864 20352010.3974
+ -915.3154 -713.2344
+ 21996223.8654 -15716206.98449 -12228499.85547 21996224.6814 21996232.2964
+ 2989.0604 2329.1424
+ 23519959.0134 -5265591.15249 -4080405.82246 23519958.3264 23519965.3354
+ -3226.6324 -2514.2704
+ 24725981.2994 408028.56948 329113.00644 24725983.6594 24725994.9754
+ -3784.9114 -2949.2734
+ 22454299.4134 -10571802.78849 -8022320.54947 22454299.5744 22454306.6984
+ 550.1694 428.7114
+ 21533224.9524 -17517667.86449 -13196637.24247 21533225.1714 21533232.5184
+ 2399.7194 1869.9074
+ 05 1 20 17 57 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23997526.3434 -1493608.90049 -1149328.57345 23997526.4374 23997532.9744
+ 1485.0754 1157.2014
+ 20923216.8954 -22357623.09549 -17376829.07048 20923216.1114 20923222.8394
+ 680.5484 530.3024
+ 20357278.9644 -27545196.76449 -21448205.52848 20357278.5064 20357283.4244
+ -932.0664 -726.2864
+ 21979192.7594 -15805710.33049 -12298242.65047 21979193.1994 21979200.4864
+ 2977.8874 2320.4354
+ 23538388.4904 -5168739.52149 -4004937.09546 23538388.1414 23538395.2154
+ -3230.1554 -2516.9864
+ 24747591.0384 521541.60849 417564.49645 24747589.1124 24747599.5624
+ -3782.5204 -2947.4124
+ 22451214.3824 -10588021.67049 -8034958.62947 22451213.4494 22451220.8654
+ 531.1564 413.8944
+ 21519564.1084 -17589463.01549 -13252581.45147 21519562.7144 21519570.3294
+ 2386.5934 1859.6814
+ 05 1 20 17 58 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23989097.1384 -1537885.02449 -1183829.44145 23989099.5264 23989106.9704
+ 1466.6554 1142.8504
+ 20919349.3064 -22377947.04949 -17392665.90948 20919348.6794 20919355.2114
+ 674.4484 525.5414
+ 20362647.9494 -27516983.73549 -21426221.35248 20362647.0564 20362652.0864
+ -948.8054 -739.3304
+ 21962225.6844 -15894877.65549 -12367723.60447 21962225.7574 21962232.5544
+ 2966.6404 2311.6644
+ 23556839.9624 -5071783.30249 -3929386.88946 23556838.8304 23556846.4284
+ -3233.6104 -2519.6974
+ 24769179.6644 634983.04249 505960.20545 24769177.6234 24769186.8524
+ -3780.1234 -2945.5444
+ 22448235.1124 -10603669.46249 -8047151.69547 22448235.5554 22448242.7354
+ 512.0914 399.0274
+ 21505974.9424 -17660863.00249 -13308217.74547 21505975.7134 21505983.3004
+ 2373.4044 1849.4004
+ 05 1 20 17 58 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23980778.9034 -1581607.52449 -1217898.91745 23980778.6964 23980787.2494
+ 1448.1564 1128.4284
+ 20915516.9764 -22398087.76349 -17408359.96248 20915515.8964 20915522.5164
+ 668.3814 520.8124
+ 20368112.2544 -27488268.33549 -21403845.71748 20368111.8484 20368116.9424
+ -965.5544 -752.3834
+ 21945321.5044 -15983707.21049 -12436941.35647 21945321.9344 21945328.0184
+ 2955.3794 2302.8914
+ 23575308.1434 -4974724.35849 -3853756.66546 23575308.5604 23575315.9124
+ -3237.0014 -2522.3414
+ 24790748.0274 748349.60749 594297.52844 24790747.2874 24790759.9094
+ -3777.5784 -2943.5584
+ 22445367.7794 -10618744.97349 -8058898.82947 22445367.2794 22445373.1764
+ 492.9724 384.1314
+ 21492463.3604 -17731866.63749 -13363545.18847 21492463.5774 21492472.3754
+ 2360.1694 1839.0844
+ 05 1 20 17 59 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23972563.9144 -1624774.97949 -1251535.86745 23972563.2944 23972572.5394
+ 1429.6704 1114.0304
+ 20911718.2034 -22418045.06449 -17423911.10548 20911717.9354 20911724.9774
+ 662.2094 516.0074
+ 20373671.9314 -27459050.10349 -21381078.27348 20373671.6114 20373676.8644
+ -982.3204 -765.4414
+ 21928481.3504 -16072197.44249 -12505894.70947 21928481.7734 21928489.5634
+ 2943.9894 2294.0214
+ 23593797.2654 -4877564.68149 -3778047.89846 23593797.2984 23593804.4624
+ -3240.3134 -2524.9084
+ 24812305.6504 861638.53749 682574.42145 24812306.6844 24812318.7964
+ -3774.9644 -2941.5214
+ 22442607.8584 -10633247.19349 -8070199.24847 22442607.5204 22442613.5704
+ 473.8434 369.2294
+ 21479027.8814 -17802472.80649 -13418562.92247 21479027.6044 21479035.9674
+ 2346.8944 1828.7484
+ 05 1 20 17 59 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23964455.4944 -1667386.23949 -1284739.41345 23964455.3734 23964463.5734
+ 1411.0844 1099.5484
+ 20907955.9524 -22437818.68749 -17439319.12248 20907955.2754 20907962.0464
+ 656.1324 511.2744
+ 20379327.6924 -27429329.02849 -21357918.99248 20379327.3464 20379332.6114
+ -999.0584 -778.4874
+ 21911707.5964 -16160346.74149 -12574582.39247 21911707.9604 21911714.8564
+ 2932.6364 2285.1674
+ 23612303.9644 -4780306.26149 -3702262.18446 23612305.1594 23612312.0724
+ -3243.5454 -2527.4414
+ 24833851.5024 974847.26449 770788.87344 24833847.9784 24833857.7554
+ -3772.2134 -2939.3734
+ 22439956.3624 -10647175.05149 -8081052.11447 22439955.6534 22439964.0424
+ 454.6804 354.2954
+ 21465667.9664 -17872680.20949 -13473269.94947 21465667.9334 21465676.5094
+ 2333.5934 1818.3864
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 18 0 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23956450.9714 -1709439.92449 -1317508.49045 23956452.3924 23956461.9154
+ 1392.4834 1085.0484
+ 20904228.2224 -22457408.26149 -17454583.72248 20904227.3994 20904234.3454
+ 649.9424 506.4504
+ 20385079.2564 -27399105.13749 -21334367.91548 20385078.8714 20385083.9704
+ -1015.8494 -791.5714
+ 21894998.3634 -16248153.55649 -12643003.21647 21894998.8754 21895005.7794
+ 2921.2144 2276.2744
+ 23630833.5144 -4682950.73649 -3626400.82446 23630831.3894 23630838.7744
+ -3246.7834 -2529.9524
+ 24855377.0424 1087973.38049 858938.91945 24855376.1914 24855390.2014
+ -3769.5014 -2937.2684
+ 22437416.3254 -10660527.31049 -8091456.47047 22437416.0934 22437422.4524
+ 435.4614 339.3234
+ 21452384.9734 -17942487.88349 -13527665.49847 21452384.4814 21452391.7984
+ 2320.2394 1807.9794
+ 05 1 20 18 0 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23948554.3994 -1750934.83449 -1349842.17745 23948556.4204 23948565.3054
+ 1373.8604 1070.5434
+ 20900535.6634 -22476813.67849 -17469704.82648 20900534.9414 20900541.6964
+ 643.8254 501.6824
+ 20390925.9124 -27368378.29149 -21310424.92248 20390925.8384 20390931.0314
+ -1032.6114 -804.6314
+ 21878354.6764 -16335616.34649 -12711155.96747 21878354.8194 21878362.4354
+ 2909.6924 2267.2914
+ 23649374.6724 -4585500.50349 -3550465.67346 23649375.5544 23649383.2054
+ -3249.9304 -2532.4194
+ 24876890.2934 1201013.55949 947021.92945 24876891.2384 24876902.9604
+ -3766.5694 -2934.9714
+ 22434986.4734 -10673303.22549 -8101411.70547 22434985.1694 22434991.2674
+ 416.2424 324.3404
+ 21439176.7514 -18011894.52849 -13581748.54147 21439176.8074 21439183.8364
+ 2306.8484 1797.5434
+ 05 1 20 18 1 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23940766.5564 -1791869.73049 -1381739.47545 23940766.4904 23940776.1314
+ 1355.1984 1055.9964
+ 20896877.3074 -22496034.64349 -17484682.20148 20896877.2094 20896883.9604
+ 637.6764 496.8904
+ 20396868.8204 -27337148.45049 -21286089.98248 20396868.6904 20396873.8054
+ -1049.3574 -817.6824
+ 21861778.4564 -16422733.50349 -12779039.39847 21861777.8874 21861784.8764
+ 2898.1744 2258.3184
+ 23667938.1864 -4487957.03949 -3474457.89846 23667937.2304 23667946.0604
+ -3252.9794 -2534.7854
+ 24898384.9484 1313965.31249 1035036.07745 24898381.4374 24898392.7594
+ -3763.4904 -2932.5844
+ 22432664.4744 -10685501.70949 -8110917.01147 22432664.0274 22432669.7764
+ 397.0024 309.3534
+ 21426046.6904 -18080899.46249 -13635518.57847 21426045.2864 21426052.4564
+ 2293.4624 1787.1074
+ 05 1 20 18 1 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23933084.9444 -1832243.46549 -1413199.52646 23933085.2254 23933093.7964
+ 1336.4984 1041.4274
+ 20893255.5144 -22515070.81749 -17499515.58048 20893254.7304 20893261.5534
+ 631.5414 492.1104
+ 20402907.4834 -27305415.59049 -21261363.08148 20402907.1944 20402912.4154
+ -1066.1214 -830.7454
+ 21845265.4184 -16509503.61149 -12846652.38747 21845265.3524 21845272.5054
+ 2886.5514 2249.2604
+ 23686516.5634 -4390322.40249 -3398379.04946 23686516.9194 23686524.8074
+ -3256.0104 -2537.1434
+ 24919858.8624 1426825.96549 1122979.24144 24919858.0724 24919873.6604
+ -3760.3904 -2930.1714
+ 22430452.4254 -10697121.75349 -8119971.57747 22430452.4514 22430459.0094
+ 377.6894 294.3154
+ 21412990.4624 -18149501.08949 -13688974.34347 21412990.8124 21412998.2794
+ 2279.9894 1776.6134
+ 05 1 20 18 2 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23925509.4524 -1872054.91649 -1444221.39146 23925509.3084 23925517.5544
+ 1317.6924 1026.7714
+ 20889668.1704 -22533922.01649 -17514204.83348 20889667.5264 20889674.1294
+ 625.3364 487.2744
+ 20409042.1134 -27273179.61349 -21236244.15348 20409041.5054 20409046.9674
+ -1082.9094 -843.8244
+ 21828819.0444 -16595924.89149 -12913993.57447 21828820.0354 21828827.3174
+ 2874.9164 2240.2004
+ 23705114.7964 -4292598.43249 -3322230.62246 23705113.0524 23705119.4624
+ -3258.9574 -2539.4324
+ 24941314.8234 1539592.69849 1210849.19244 24941316.9884 24941330.2774
+ -3757.2534 -2927.7164
+ 22428350.8374 -10708162.64249 -8128574.86347 22428351.3064 22428357.5244
+ 358.3644 279.2474
+ 21400014.2854 -18217698.59849 -13742115.22147 21400013.3604 21400020.7824
+ 2266.5104 1766.1124
+ 05 1 20 18 2 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23918040.8524 -1911302.90049 -1474804.21446 23918040.6704 23918049.2514
+ 1298.8194 1012.0624
+ 20886116.2754 -22552587.96649 -17528749.72648 20886115.4794 20886122.0354
+ 619.1494 482.4544
+ 20415271.7664 -27240440.77549 -21210733.36748 20415271.3824 20415276.6664
+ -1099.6784 -856.8904
+ 21812440.3744 -16681995.84249 -12981061.77747 21812441.1474 21812448.0134
+ 2863.2014 2231.0634
+ 23723727.0744 -4194786.82449 -3246013.88146 23723727.3334 23723733.2224
+ -3261.8294 -2541.6824
+ 24962759.9224 1652262.93949 1298643.89244 24962760.1884 24962768.9524
+ -3754.1374 -2925.2904
+ 22426361.4694 -10718623.22349 -8136725.95147 22426361.1724 22426368.1584
+ 338.9994 264.1584
+ 21387113.0394 -18285490.75849 -13794940.23647 21387112.7854 21387120.7044
+ 2252.9634 1755.5594
+ 05 1 20 18 3 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23910680.6804 -1949986.24149 -1504947.08346 23910680.4794 23910687.3644
+ 1280.0534 997.4414
+ 20882599.2764 -22571068.27449 -17543149.96648 20882598.5794 20882605.4024
+ 612.9754 477.6404
+ 20421597.3854 -27207199.03249 -21184830.73148 20421597.0334 20421602.6074
+ -1116.4514 -869.9594
+ 21796128.4934 -16767715.10649 -13047855.94347 21796128.6274 21796135.8544
+ 2851.4554 2221.9094
+ 23742356.8044 -4096889.66449 -3169730.47445 23742356.6724 23742363.4884
+ -3264.6604 -2543.8834
+ 24984178.2274 1764834.01948 1386361.37844 24984177.6064 24984190.9744
+ -3750.7734 -2922.6694
+ 22424480.5844 -10728502.74749 -8144424.27147 22424480.1344 22424486.7104
+ 319.6284 249.0574
+ 21374290.1364 -18352876.47849 -13847448.55547 21374289.9424 21374297.6424
+ 2239.4064 1744.9914
+ 05 1 20 18 3 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23903424.7734 -1988103.88749 -1534649.13045 23903425.7154 23903434.0294
+ 1261.1234 982.6944
+ 20879117.8524 -22589362.77149 -17557405.41548 20879117.4064 20879124.1834
+ 606.7434 472.7874
+ 20428019.1104 -27173454.47749 -21158536.27248 20428018.4444 20428023.5534
+ -1133.1994 -883.0134
+ 21779885.2844 -16853080.94649 -13114374.71447 21779885.1364 21779891.4624
+ 2839.6544 2212.7124
+ 23761002.4724 -3998908.82249 -3093381.84845 23761001.4964 23761007.7124
+ -3267.4174 -2546.0424
+ 25005586.8604 1877303.19648 1473999.43444 25005584.7054 25005594.7564
+ -3747.0704 -2919.7844
+ 22422712.8474 -10737800.38549 -8151669.19147 22422711.7314 22422717.9034
+ 300.2064 233.9164
+ 21361544.2474 -18419855.06049 -13899639.62447 21361543.9544 21361551.2334
+ 2225.7964 1734.3864
+ 05 1 20 18 4 0.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23896281.6134 -2025654.83849 -1563909.58245 23896280.8024 23896288.9214
+ 1242.2224 967.9604
+ 20875672.4834 -22607471.20649 -17571515.88048 20875671.4074 20875678.2414
+ 600.5344 467.9444
+ 20434536.0884 -27139207.10849 -21131850.01948 20434535.6454 20434541.0364
+ -1149.9654 -896.0794
+ 21763706.4134 -16938092.09349 -13180617.09247 21763707.3114 21763714.3064
+ 2827.7944 2203.4694
+ 23779662.9124 -3900846.06849 -3016969.43645 23779661.6344 23779667.1094
+ -3270.1014 -2548.1164
+ 25026963.8824 1989669.30958 1561557.13154 25026965.7044
+ -3743.9784 -2917.3894
+ 22421054.3884 -10746515.29249 -8158460.01847 22421053.2284 22421060.1714
+ 280.7774 218.7864
+ 21348875.6254 -18486425.51449 -13951512.66447 21348875.8344 21348883.4564
+ 2212.2074 1723.7974
+ 05 1 20 18 4 30.0000000 0 8G 9G 7G28G 4G11G 8G20G24
+ 23889242.4934 -2062638.05449 -1592727.65645 23889241.2754 23889250.3134
+ 1223.3344 953.2474
+ 20872261.8764 -22625393.06949 -17585480.97348 20872260.8644 20872267.8104
+ 594.3334 463.1154
+ 20441148.5564 -27104457.02049 -21104772.03548 20441148.4144 20441153.7334
+ -1166.7044 -909.1214
+ 21747598.0684 -17022746.89449 -13246581.81547 21747598.4804 21747604.7394
+ 2815.9104 2194.2134
+ 23798340.3044 -3802703.08749 -2940494.46545 23798338.6434 23798344.1444
+ -3272.7304 -2550.1744
+ 25048339.9304 2101925.24258 1649029.13454
+ -3740.0624 -2914.3364
+ 22419505.8164 -10754646.68049 -8164796.16247 22419506.1924 22419512.5044
+ 261.3104 203.6224
+ 21336287.1004 -18552586.73749 -14003066.83147 21336286.7244 21336293.3764
+ 2198.5424 1713.1494
+ 05 1 20 18 5 0.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23882314.7904 -2099052.41349 -1621102.48046 23882313.9034 23882321.9034
+ 1204.3424 938.4494
+ 20868887.2234 -22643128.29649 -17599300.63348 20868886.1234 20868892.9424
+ 588.1134 458.2664
+ 20447856.6704 -27069204.19549 -21077302.31648 20447856.7634 20447862.2324
+ -1183.4724 -922.1854
+ 21731556.1324 -17107043.82649 -13312267.68147 21731556.7014 21731563.4774
+ 2803.9684 2184.9074
+ 23817028.8524 -3704482.12249 -2863958.76045 23817028.8364 23817035.2594
+ -3275.2814 -2552.1574
+ 22418068.3564 -10762193.76849 -8170676.99447 22418068.3584 22418075.3674
+ 241.8024 188.4064
+ 21323774.2974 -18618337.62749 -14054301.25047 21323774.2884 21323781.0134
+ 2184.8514 1702.4774
+ 05 1 20 18 5 30.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23875492.1824 -2134896.92549 -1649033.24646 23875492.4314 23875501.0464
+ 1185.3914 923.6794
+ 20865547.4544 -22660676.41249 -17612974.49248 20865546.9924 20865553.6734
+ 581.8254 453.3664
+ 20454661.5414 -27033449.14449 -21049441.24148 20454660.7674 20454665.9774
+ -1200.2354 -935.2484
+ 21715582.8084 -17190981.59649 -13377673.66047 21715583.5674 21715590.7504
+ 2791.9184 2175.5184
+ 23835732.3754 -3606184.76049 -2787363.54545 23835733.6664 23835739.2094
+ -3277.8634 -2554.1674
+ 22416745.9554 -10769155.74849 -8176101.92047 22416745.4534 22416751.1914
+ 222.2584 173.1894
+ 21311340.6584 -18683677.36449 -14105215.29147 21311340.4984 21311347.6224
+ 2171.1204 1691.7794
+ 05 1 20 18 6 0.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23868780.8184 -2170170.80849 -1676519.39546 23868780.5334 23868788.6414
+ 1166.3284 908.8234
+ 20862244.0504 -22678037.27149 -17626502.43448 20862243.3374 20862250.2164
+ 575.6164 448.5354
+ 20461560.4184 -26997191.68949 -21021188.69448 20461560.4884 20461565.4234
+ -1216.9514 -948.2734
+ 21699680.6074 -17274558.63649 -13442798.58847 21699680.6984 21699686.7584
+ 2779.9054 2166.1634
+ 23854453.3864 -3507812.47849 -2710709.91845 23854452.1694 23854458.8704
+ -3280.2994 -2556.0754
+ 22415531.4954 -10775531.88349 -8181070.31447 22415530.7544 22415538.5264
+ 202.7554 157.9914
+ 21298984.8614 -18748604.81849 -14155808.07247 21298985.1984 21298992.3444
+ 2157.3494 1681.0464
+ 05 1 20 18 6 30.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23862178.6134 -2204872.91249 -1703559.96846 23862178.3034 23862183.8904
+ 1147.1904 893.9164
+ 20858975.8284 -22695210.52449 -17639884.18848 20858975.1314 20858981.9524
+ 569.3774 443.6724
+ 20468555.8444 -26960432.13349 -20992544.89148 20468555.4894 20468560.8124
+ -1233.6844 -961.3124
+ 21683844.0854 -17357773.67749 -13507641.41847 21683844.4964 21683851.3944
+ 2767.8244 2156.7474
+ 23873186.9394 -3409367.48549 -2633999.65445 23873186.6904 23873193.8354
+ -3282.7204 -2557.9664
+ 22414429.6944 -10781321.64749 -8185581.83547 22414429.6974 22414436.6334
+ 183.2124 142.7664
+ 21286708.9554 -18813119.09849 -14206078.90047 21286708.1144 21286716.0604
+ 2143.6094 1670.3444
+ 05 1 20 18 7 0.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23855683.4094 -2239002.26949 -1730154.27546 23855682.0844 23855690.0034
+ 1128.1354 879.0644
+ 20855743.7254 -22712195.76549 -17653119.44448 20855743.0664 20855749.7254
+ 563.1074 438.7884
+ 20475646.5974 -26923170.71649 -20963510.03648 20475646.2934 20475651.3434
+ -1250.3914 -974.3294
+ 21668079.0774 -17440625.16149 -13572200.96447 21668078.8234 21668085.0954
+ 2755.6904 2147.2974
+ 23891935.3034 -3310851.54349 -2557234.08045 23891934.4954 23891940.3244
+ -3285.0544 -2559.7744
+ 22413440.2044 -10786524.36749 -8189635.89647 22413439.4264 22413445.6704
+ 163.6174 127.4944
+ 21274510.1004 -18877219.21349 -14256027.01147 21274510.3924 21274518.2034
+ 2129.7514 1659.5464
+ 05 1 20 18 7 30.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23849297.8054 -2272557.96249 -1756301.54646 23849297.2634 23849305.6834
+ 1108.9554 864.1144
+ 20852547.5074 -22728992.65949 -17666207.93048 20852546.8304 20852553.5944
+ 556.8034 433.8724
+ 20482832.6674 -26885407.66149 -20934084.29748 20482832.2294 20482837.6814
+ -1267.1184 -987.3654
+ 21652381.9204 -17523111.63849 -13636476.09647 21652382.3604 21652387.8844
+ 2743.4994 2137.7934
+ 23910696.0894 -3212266.40749 -2480414.56245 23910695.0214 23910701.9704
+ -3287.3224 -2561.5484
+ 22412562.5224 -10791139.23449 -8193231.88847 22412560.9414 22412567.7844
+ 144.0224 112.2214
+ 21262391.8384 -18940904.18449 -14305651.62147 21262391.2704 21262398.9934
+ 2115.8964 1648.7454
+ 05 1 20 18 8 0.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23843019.5644 -2305539.20649 -1782001.22346 23843020.7404 23843028.9714
+ 1089.7264 849.1414
+ 20849386.8004 -22745600.93349 -17679149.44048 20849386.2974 20849393.0364
+ 550.5054 428.9674
+ 20490114.4874 -26847143.17649 -20904267.82848 20490113.8584 20490118.7004
+ -1283.8414 -1000.3974
+ 21636754.3434 -17605231.63749 -13700465.64947 21636755.1214 21636760.8244
+ 2731.2604 2128.2514
+ 23929468.4364 -3113613.77149 -2403542.50145 23929468.7444 23929474.6654
+ -3289.5384 -2563.2704
+ 22411795.2994 -10795165.69649 -8196369.39147 22411794.8144 22411802.4324
+ 124.4114 96.9484
+ 21250351.8494 -19004172.97449 -14354951.94447 21250352.0654 21250359.0754
+ 2102.0094 1637.9304
+ 05 1 20 18 8 30.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23836850.9074 -2337945.34549 -1807252.74045 23836853.4844 23836862.5614
+ 1070.6374 834.2614
+ 20846262.6454 -22762020.28249 -17691943.74148 20846261.7054 20846268.8374
+ 544.2214 424.0744
+ 20497490.3494 -26808377.32049 -20874060.68648 20497490.2754 20497496.1144
+ -1300.5514 -1013.4144
+ 21621198.6044 -17686983.80649 -13764168.59547 21621198.2824 21621205.2294
+ 2718.9674 2118.6734
+ 23948253.7804 -3014895.85149 -2326619.52646 23948253.3354 23948260.2834
+ -3291.6784 -2564.9324
+ 22411141.7004 -10798603.18549 -8199047.97547 22411140.7084 22411147.1864
+ 104.7444 81.6184
+ 21238392.0004 -19067025.21349 -14403927.67348 21238391.9104 21238398.9414
+ 2088.1234 1627.1094
+ 05 1 20 18 9 0.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23830794.8354 -2369775.31449 -1832055.30245 23830794.4074 23830804.1384
+ 1051.3884 819.2654
+ 20843173.8484 -22778250.28749 -17704590.49848 20843173.1254 20843180.1304
+ 537.8754 419.1224
+ 20504963.2464 -26769110.43149 -20843463.12048 20504962.8724 20504967.8884
+ -1317.2314 -1026.4154
+ 21605709.9124 -17768366.92149 -13827583.95747 21605710.5864 21605717.8344
+ 2706.6224 2109.0544
+ 23967050.5484 -2916113.79849 -2249646.58546 23967049.8354 23967057.6524
+ -3293.7874 -2566.5794
+ 22410599.9724 -10801451.16449 -8201267.17847 22410598.5434 22410605.6834
+ 85.1344 66.3444
+ 21226510.9354 -19129460.08249 -14452578.17847 21226510.4954 21226517.8604
+ 2074.1874 1616.2474
+ 05 1 20 18 9 30.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23824847.5394 -2401028.30749 -1856408.29445 23824849.6634 23824858.1644
+ 1032.1324 804.2644
+ 20840121.5444 -22794290.68749 -17717089.51448 20840121.0104 20840127.7074
+ 531.5624 414.2054
+ 20512530.7774 -26729342.99249 -20812475.52748 20512530.3814 20512535.6284
+ -1333.9234 -1039.4194
+ 21590294.4294 -17849379.33549 -13890710.46847 21590294.8674 21590301.9384
+ 2694.2554 2099.4224
+ 23985859.8944 -2817269.48749 -2172625.13046 23985859.6184 23985866.5344
+ -3295.7454 -2568.1144
+ 22410170.5974 -10803709.24549 -8203026.72247 22410169.5154 22410175.4064
+ 65.3824 50.9514
+ 21214709.4444 -19191476.34049 -14500902.51248 21214709.3134 21214716.8764
+ 2060.2314 1605.3774
+ 05 1 20 18 10 0.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23819009.7124 -2431703.68249 -1880311.14845 23819009.8324 23819019.6514
+ 1012.9184 789.2824
+ 20837105.6244 -22810141.12149 -17729440.49948 20837104.7444 20837111.5544
+ 525.2134 409.2564
+ 20520194.1674 -26689075.07649 -20781097.94048 20520193.0394 20520198.4844
+ -1350.5994 -1052.4154
+ 21574949.6774 -17930019.88549 -13953547.22047 21574948.7564 21574955.9314
+ 2681.8384 2089.7364
+ 24004681.2234 -2718364.80549 -2095556.65946 24004680.9614 24004688.2544
+ -3297.8234 -2569.7364
+ 22409852.4724 -10805376.74149 -8204326.08247 22409851.3734 22409859.3764
+ 45.7484 35.6574
+ 21202987.8344 -19253073.22749 -14548900.04748 21202987.2574 21202995.0754
+ 2046.2174 1594.4534
+ 05 1 20 18 10 30.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23813282.5524 -2461800.44449 -1903763.19045 23813282.9244 23813292.3744
+ 993.5874 774.2164
+ 20834125.4124 -22825801.24149 -17741643.19748 20834124.6624 20834131.2784
+ 518.8634 404.3114
+ 20527951.0564 -26648307.06249 -20749330.67448 20527951.0024 20527956.4964
+ -1367.2574 -1065.3944
+ 21559674.2424 -18010287.28949 -14016093.20147 21559674.8984 21559681.3114
+ 2669.3744 2080.0374
+ 24023514.0594 -2619401.40749 -2018442.44446 24023513.5484 24023520.7194
+ -3299.7824 -2571.2534
+ 22409647.8464 -10806453.12449 -8205164.82147 22409647.3354 22409653.0084
+ 26.0414 20.2844
+ 21191346.1454 -19314250.20849 -14596570.39448 21191346.2234 21191353.2174
+ 2032.2074 1583.5344
+ 05 1 20 18 11 0.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23807667.6104 -2491317.90049 -1926763.78345 23807666.6044 23807676.3704
+ 974.2784 759.1814
+ 20831181.6224 -22841270.62549 -17753697.26448 20831180.9054 20831187.6044
+ 512.5304 399.3734
+ 20535804.0524 -26607039.40549 -20717174.07548 20535803.8384 20535809.2784
+ -1383.9074 -1078.3644
+ 21544472.1374 -18090179.98449 -14078347.20547 21544472.5064 21544478.2394
+ 2656.8704 2070.2894
+ 24042358.1784 -2520381.14549 -1941283.91446 24042357.1754 24042364.0014
+ -3301.5784 -2572.6634
+ 22409555.4544 -10806938.09349 -8205542.73147 22409554.3674 22409561.6114
+ 6.2984 4.9094
+ 21179784.7504 -19375006.23149 -14643912.72648 21179784.7584 21179791.5114
+ 2018.1814 1572.6104
+ 05 1 20 18 11 30.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23802157.8714 -2520255.47749 -1949312.53645 23802158.9434 23802168.0984
+ 954.9324 744.0964
+ 20828273.9764 -22856549.00449 -17765602.49648 20828273.4574 20828280.3804
+ 506.1564 394.4094
+ 20543751.7964 -26565272.25549 -20684628.25648 20543751.7334 20543756.9944
+ -1400.5664 -1091.3484
+ 21529340.1694 -18169696.77049 -14140308.27847 21529340.2074 21529346.5054
+ 2644.3044 2060.4974
+ 24061210.9234 -2421305.83349 -1864082.46746 24061210.7854 24061217.5574
+ -3303.4324 -2574.1024
+ 22409575.2234 -10806830.88149 -8205459.20147 22409574.3474 22409582.2534
+ -13.4354 -10.4694
+ 21168302.6824 -19435340.76649 -14690926.62048 21168303.1414 21168310.1824
+ 2004.1194 1561.6544
+ 05 1 20 18 12 0.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23796762.2654 -2548612.45749 -1971408.87745 23796763.1194 23796771.9594
+ 935.5664 729.0164
+ 20825403.1654 -22871636.08749 -17777358.66848 20825402.6814 20825409.3014
+ 499.7574 389.4244
+ 20551795.4744 -26523006.23949 -20651693.71748 20551795.0134 20551800.1634
+ -1417.1784 -1104.2954
+ 21514280.8534 -18248836.24649 -14201975.36647 21514280.6644 21514287.2904
+ 2631.7274 2050.6984
+ 24080074.1544 -2322176.73949 -1786839.11946 24080073.5264 24080082.2214
+ -3305.1584 -2575.4324
+ 22409709.2134 -10806131.35349 -8204914.14347 22409708.2334 22409714.7184
+ -33.2044 -25.8724
+ 21156903.0614 -19495252.93749 -14737611.40448 21156902.5584 21156909.6644
+ 1990.0114 1550.6584
+ 05 1 20 18 12 30.0000000 0 7G 9G 7G28G 4G11G20G24
+ 23791476.8614 -2576388.16649 -1993052.29345 23791477.9464 23791485.7674
+ 916.1654 713.8934
+ 20822568.5664 -22886531.31849 -17788965.34848 20822568.1574 20822574.8864
+ 493.3924 384.4644
+ 20559933.1264 -26480241.84649 -20618370.83148 20559932.7644 20559938.1684
+ -1433.7934 -1117.2394
+ 21499292.4154 -18327597.25049 -14263347.53147 21499292.7534 21499299.8494
+ 2619.0534 2040.8224
+ 24098948.2754 -2222996.20849 -1709555.72246 24098947.4374 24098954.2714
+ -3306.8754 -2576.7804
+ 22409955.8414 -10804839.18449 -8203907.25347 22409954.4064 22409961.9324
+ -52.9754 -41.2824
+ 21145581.7764 -19554741.63849 -14783966.21748 21145582.0584 21145589.2104
+ 1975.8854 1539.6534
+ 05 1 20 18 13 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23786303.6694 -2603582.05949 -2014242.35945 23786303.8464 23786311.8854
+ 896.7474 698.7684
+ 20819770.7774 -22901234.45449 -17800422.34448 20819770.2344 20819777.3044
+ 486.9434 379.4384
+ 20568165.3614 -26436979.36149 -20584659.82248 20568165.3964 20568170.8794
+ -1450.3894 -1130.1724
+ 21484376.8964 -18405978.33749 -14324423.66947 21484377.0454 21484383.5694
+ 2606.3774 2030.9384
+ 25375228.7974 -1062293.33349 -814325.84145 25375227.0634 25375235.4344
+ 3589.5184 2797.0284
+ 24117830.1964 -2123765.56149 -1632233.26846 24117829.9524 24117838.1514
+ -3308.5474 -2578.0844
+ 22410312.9514 -10802953.99549 -8202438.29247 22410312.9974 22410319.0054
+ -72.7634 -56.6984
+ 21134342.1564 -19613806.16349 -14829990.49948 21134342.2144 21134349.3624
+ 1961.7364 1528.6224
+ 05 1 20 18 13 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23781239.6294 -2630193.52449 -2034978.58046 23781239.9854 23781248.6394
+ 877.3744 683.6724
+ 20817009.0944 -22915745.04249 -17811729.30448 20817008.6924 20817015.7114
+ 480.5474 374.4524
+ 20576493.2524 -26393219.09149 -20550560.92948 20576492.6814 20576498.2844
+ -1466.9494 -1143.0774
+ 21469534.6494 -18483978.35849 -14385202.88447 21469534.7524 21469540.2834
+ 2593.7054 2021.0674
+ 25354743.2564 -1169943.64249 -898209.03245 25354742.4324 25354749.3174
+ 3587.1284 2795.1644
+ 24136723.0144 -2024486.46849 -1554873.04346 24136722.4664 24136729.2034
+ -3310.0824 -2579.2844
+ 22410784.8114 -10800475.40649 -8200506.94147 22410784.6254 22410791.9364
+ -92.5134 -72.0854
+ 21123183.7904 -19672445.89849 -14875683.77748 21123183.7654 21123190.8074
+ 1947.5954 1517.6064
+ 05 1 20 18 14 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23776288.7974 -2656221.99849 -2055260.52746 23776287.0894 23776295.8374
+ 857.8814 668.4844
+ 20814285.4624 -22930062.74549 -17822885.96648 20814284.3434 20814291.1414
+ 474.0644 369.3994
+ 20584914.6174 -26348961.48949 -20516074.51148 20584914.8814 20584919.8924
+ -1483.5464 -1156.0124
+ 21454763.7584 -18561596.07949 -14445684.17947 21454763.7064 21454770.6904
+ 2580.8924 2011.0844
+ 25334267.5204 -1277520.95849 -982035.32345 25334269.5404 25334277.3824
+ 3584.6714 2793.2454
+ 24155625.7104 -1925160.83049 -1477476.58246 24155623.7904 24155631.4204
+ -3311.6174 -2580.4804
+ 22411370.3024 -10797403.12049 -8198112.96247 22411369.5564 22411375.9264
+ -112.3184 -87.5124
+ 21112106.4454 -19730660.17049 -14921045.53348 21112105.9444 21112112.9714
+ 1933.3554 1506.5104
+ 05 1 20 18 14 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23771445.2344 -2681666.86449 -2075087.71146 23771445.3974 23771453.3474
+ 838.4714 653.3524
+ 20811597.5254 -22944187.13449 -17833891.99248 20811596.9734 20811603.4064
+ 467.6434 364.3984
+ 20593431.6024 -26304207.13649 -20481201.00548 20593431.0784 20593436.6644
+ -1500.0844 -1168.8984
+ 21440066.8584 -18638830.14749 -14505866.53947 21440067.1754 21440073.8314
+ 2568.0924 2001.1014
+ 25313815.4044 -1385023.87849 -1065803.48845 25313813.6604 25313822.2854
+ 3582.1344 2791.2614
+ 24174533.6924 -1825790.22349 -1400045.08545 24174534.6264 24174540.7914
+ -3313.0854 -2581.6224
+ 22412067.3504 -10793736.93749 -8195256.21447 22412066.9874 22412073.7644
+ -132.1134 -102.9424
+ 21101108.8044 -19788448.21749 -14966075.14948 21101108.5804 21101116.3704
+ 1919.1554 1495.4424
+ 05 1 20 18 15 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23766715.6254 -2706527.60549 -2094459.71846 23766715.1694 23766722.9264
+ 818.9534 638.1474
+ 20808947.0394 -22958117.87449 -17844747.11648 20808946.0014 20808952.5614
+ 461.1844 359.3634
+ 20602042.0714 -26258956.49649 -20445940.79148 20602042.0224 20602047.3334
+ -1516.6084 -1181.7734
+ 21425444.1014 -18715679.40349 -14565749.05647 21425443.3324 21425449.5214
+ 2555.2354 1991.0914
+ 25293371.6414 -1492450.85549 -1149512.53245 25293370.8424 25293380.5344
+ 3579.6144 2789.3004
+ 24193451.3434 -1726376.06549 -1322579.66245 24193451.1114 24193459.5514
+ -3314.4864 -2582.7174
+ 22412878.6814 -10789476.46549 -8191936.36847 22412877.6574 22412884.0734
+ -151.9144 -118.3784
+ 21090194.6174 -19845809.33849 -15010772.11148 21090193.9284 21090200.7054
+ 1904.9244 1484.3534
+ 05 1 20 18 15 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23762094.2334 -2730803.84049 -2113376.29246 23762094.6204 23762102.6054
+ 799.4754 622.9624
+ 20806332.2014 -22971854.54949 -17855451.02548 20806331.8904 20806338.2474
+ 454.7174 354.3254
+ 20610748.1584 -26213209.95149 -20410294.15248 20610747.2254 20610752.7174
+ -1533.1584 -1194.6664
+ 21410891.6684 -18792142.54949 -14625330.70347 21410892.3014 21410899.6444
+ 2542.3514 1981.0514
+ 25272944.6904 -1599800.33349 -1233161.27045 25272940.9014 25272949.3624
+ 3577.0064 2787.2724
+ 24212377.5934 -1626920.10649 -1245081.65145 24212377.7674 24212383.9624
+ -3315.9374 -2583.8404
+ 22413802.9364 -10784621.48749 -8188153.27547 22413801.6234 22413808.9824
+ -171.7614 -133.8384
+ 21079359.7224 -19902742.90649 -15055135.91948 21079359.8124 21079366.3424
+ 1890.6454 1473.2344
+ 05 1 20 18 16 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23757587.6394 -2754495.08349 -2131837.01246 23757587.2824 23757594.6634
+ 779.9964 607.7874
+ 20803755.0094 -22985396.74649 -17866003.39448 20803754.7924 20803761.5024
+ 448.2034 349.2494
+ 20619547.0724 -26166968.22549 -20374261.66448 20619546.9794 20619552.3624
+ -1549.6414 -1207.5104
+ 21396415.3444 -18868218.27849 -14684610.46947 21396415.8054 21396422.5094
+ 2529.4544 1971.0054
+ 25252530.7254 -1707071.20549 -1316748.70145 25252530.8504 25252537.5994
+ 3574.3944 2785.2334
+ 24231310.9254 -1527424.29349 -1167552.53445 24231310.4494 24231316.8324
+ -3317.1464 -2584.7844
+ 22414840.0964 -10779171.98449 -8183906.92947 22414839.3844 22414845.3714
+ -191.5654 -149.2734
+ 21068606.9384 -19959248.38349 -15099166.13648 21068606.5334 21068613.9214
+ 1876.3884 1462.1254
+ 05 1 20 18 16 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23753190.5304 -2777600.79549 -2149841.48746 23753190.0554 23753197.6204
+ 760.3974 592.5274
+ 20801215.2164 -22998744.05449 -17876403.90048 20801214.9424 20801221.8064
+ 441.6894 344.1764
+ 20628440.8554 -26120231.75949 -20337843.66348 20628440.5074 20628445.9004
+ -1566.0984 -1220.3344
+ 21382013.4214 -18943905.54449 -14743587.54247 21382012.5094 21382019.4894
+ 2516.4674 1960.8914
+ 25232131.7334 -1814261.79249 -1400273.59245 25232130.7134 25232138.1964
+ 3571.7664 2783.1804
+ 24250250.3584 -1427889.80549 -1089993.31945 24250251.3564 24250259.3554
+ -3318.4414 -2585.7924
+ 22415989.6124 -10773127.54849 -8179196.99647 22415988.2234 22415996.0834
+ -211.4074 -164.7294
+ 21057935.7934 -20015325.16049 -15142862.30048 21057935.7524 21057943.0654
+ 1862.0764 1450.9714
+ 05 1 20 18 17 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23748904.4974 -2800120.37049 -2167389.19946 23748904.4214 23748912.4234
+ 740.9054 577.3294
+ 20798713.0264 -23011896.17349 -17886652.30748 20798712.1334 20798719.0464
+ 435.1884 339.1084
+ 20637429.0994 -26073001.18549 -20301040.63948 20637428.2614 20637433.6784
+ -1582.5654 -1233.1634
+ 21367685.2664 -19019203.09249 -14802260.92547 21367685.0834 21367690.4864
+ 2503.4704 1950.7604
+ 25211747.6824 -1921370.77149 -1483734.89745 25211746.8414 25211755.9004
+ 3568.9544 2780.9904
+ 24269199.2974 -1328318.45249 -1012405.37045 24269199.4794 24269207.3294
+ -3319.6324 -2586.7184
+ 22417253.0064 -10766488.28549 -8174023.55747 22417252.7094 22417259.3554
+ -231.2344 -180.1894
+ 21047347.2274 -20070972.45049 -15186223.80648 21047346.8324 21047353.6494
+ 1847.7494 1439.8074
+ 05 1 20 18 17 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23744731.5034 -2822053.60349 -2184480.05646 23744731.3094 23744738.2264
+ 721.3154 562.0644
+ 20796247.7074 -23024852.58949 -17896748.22948 20796246.6584 20796253.4174
+ 428.6734 334.0314
+ 20646510.2704 -26025277.18949 -20263853.12648 20646509.7574 20646515.3544
+ -1599.0274 -1245.9944
+ 21353430.0074 -19094109.85149 -14860629.81247 21353430.5574 21353436.5744
+ 2490.3694 1940.5494
+ 25191382.1214 -2028396.72249 -1567131.54345 25191381.6614 25191390.3894
+ 3566.1074 2778.7734
+ 24288153.6914 -1228712.12049 -934790.15945 24288153.9274 24288162.7094
+ -3320.7754 -2587.6164
+ 22418629.8024 -10759254.01749 -8168386.47647 22418628.8434 22418635.5684
+ -251.0534 -195.6194
+ 21036838.5884 -20126189.79749 -15229250.28448 21036838.2234 21036845.9114
+ 1833.4144 1428.6364
+ 05 1 20 18 18 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23740668.5994 -2843400.48749 -2201113.95646 23740667.5914 23740676.5884
+ 701.7434 546.8064
+ 20793819.2404 -23037612.82649 -17906691.27348 20793818.4824 20793824.9724
+ 422.1124 328.9154
+ 20655685.6914 -25977060.06649 -20226281.36648 20655685.3554 20655690.9004
+ -1615.4284 -1258.7754
+ 21339250.4204 -19168624.56649 -14918693.19847 21339250.6514 21339256.4854
+ 2477.3194 1930.3764
+ 25171031.0824 -2135338.00449 -1650462.21745 25171030.0614 25171042.2884
+ 3563.3524 2776.6304
+ 24307115.7334 -1129072.37549 -857148.90745 24307116.3534 24307123.2124
+ -3321.8524 -2588.4514
+ 22420120.1394 -10751424.54649 -8162285.59347 22420119.1564 22420125.7594
+ -270.9054 -211.0964
+ 21026413.1934 -20180976.68149 -15271941.34348 21026413.1724 21026420.0744
+ 1819.0354 1417.4254
+ 05 1 20 18 18 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23736718.8374 -2864160.27949 -2217290.43746 23736717.9644 23736726.3184
+ 682.2504 531.6214
+ 20791428.3474 -23050176.55749 -17916481.19648 20791427.6644 20791434.4424
+ 415.5884 323.8384
+ 20664954.9554 -25928350.51049 -20188325.88548 20664954.4104 20664959.7694
+ -1631.8574 -1271.5754
+ 21325144.9104 -19242746.14349 -14976450.24547 21325145.4824 21325151.9194
+ 2464.2164 1920.1644
+ 25150695.5674 -2242193.29749 -1733725.93545 25150696.9294 25150706.3924
+ 3560.3994 2774.3304
+ 24326083.7424 -1029400.63849 -779482.69845 24326081.1454 24326090.2984
+ -3322.9204 -2589.2854
+ 22421722.3634 -10742999.89249 -8155720.94347 22421722.0844 22421728.2184
+ -290.7444 -226.5544
+ 21016070.4234 -20235332.14349 -15314296.22348 21016069.8014 21016076.8024
+ 1804.6574 1406.2264
+ 05 1 20 18 19 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23732880.4624 -2884332.77149 -2233009.28946 23732880.4274 23732887.2154
+ 662.6504 516.3554
+ 20789074.8374 -23062543.27849 -17926117.60948 20789074.3334 20789081.0224
+ 409.0104 318.7114
+ 20674317.2724 -25879149.37349 -20149987.35148 20674316.8124 20674322.8564
+ -1648.2274 -1284.3314
+ 21311115.9674 -19316473.33649 -15033899.98247 21311115.8684 21311122.1974
+ 2451.0374 1909.8954
+ 25130379.1404 -2348961.22249 -1816921.56545 25130379.2174 25130390.1924
+ 3557.4694 2772.0484
+ 24345054.3384 -929698.35649 -701792.78045 24345054.3474 24345062.8824
+ -3323.8924 -2590.0394
+ 22423438.0584 -10733980.01949 -8148692.48447 22423437.7974 22423444.5054
+ -310.5774 -242.0104
+ 21005808.7274 -20289255.86649 -15356314.69648 21005808.1154 21005815.5654
+ 1790.2624 1395.0134
+ 05 1 20 18 19 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23729152.8044 -2903917.68449 -2248270.27245 23729153.2664 23729160.9234
+ 643.0364 501.0744
+ 20786759.3874 -23074712.63149 -17935600.22448 20786758.6734 20786765.2394
+ 402.3834 313.5434
+ 20683773.9834 -25829457.27649 -20111266.25648 20683773.4474 20683778.7124
+ -1664.5854 -1297.0774
+ 21297160.2814 -19389805.16949 -15091041.65147 21297160.4894 21297167.4264
+ 2437.8444 1899.6204
+ 25110080.1664 -2455640.24649 -1900047.99445 25110079.4674 25110089.5644
+ 3554.4994 2769.7424
+ 24364033.1524 -829967.09349 -624080.20245 24364032.2654 24364039.6524
+ -3324.9234 -2590.8354
+ 22425269.2844 -10724364.89649 -8141200.18947 22425268.5444 22425274.4484
+ -330.4244 -257.4824
+ 20995629.4404 -20342747.39749 -15397996.38548 20995628.9304 20995636.6254
+ 1775.8294 1383.7624
+ 05 1 20 18 20 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23725537.9754 -2922914.67549 -2263073.13945 23725537.7694 23725545.9014
+ 623.3464 485.7214
+ 20784481.5444 -23086684.21749 -17944928.73248 20784480.5124 20784487.2754
+ 395.7874 308.4064
+ 20693322.8894 -25779274.96449 -20072163.18348 20693322.3134 20693328.0804
+ -1680.9254 -1309.8144
+ 21283282.5994 -19462740.45249 -15147874.32047 21283282.0594 21283288.1054
+ 2424.6084 1889.3004
+ 25089796.6114 -2562228.88849 -1983103.98645 25089796.3634 25089804.2964
+ 3551.3824 2767.3104
+ 24383016.9094 -730208.88449 -546346.65445 24383016.4284 24383023.5174
+ -3325.7634 -2591.4964
+ 22427211.7114 -10714154.61449 -8133244.13847 22427211.1514 22427217.8714
+ -350.2674 -272.9314
+ 20985533.2424 -20395805.83449 -15439340.61248 20985532.7134 20985540.0254
+ 1761.3914 1372.5124
+ 05 1 20 18 20 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23722034.0844 -2941323.44349 -2277417.66445 23722035.1554 23722042.9884
+ 603.8164 470.5054
+ 20782240.7014 -23098457.59949 -17954102.80748 20782240.1414 20782246.8684
+ 389.1934 303.2704
+ 20702965.1934 -25728603.02949 -20032678.57448 20702965.1744 20702970.4364
+ -1697.2224 -1322.5034
+ 21269478.5834 -19535278.07549 -15204397.11547 21269478.7924 21269484.9534
+ 2411.3084 1878.9484
+ 25069529.5154 -2668725.61449 -2066088.34345 25069530.8114 25069536.9554
+ 3548.2894 2764.8974
+ 24402006.2534 -630425.09549 -468593.14545 24402004.7894 24402013.6104
+ -3326.5334 -2592.1054
+ 22429267.7284 -10703349.09949 -8124824.26447 22429266.9954 22429274.2274
+ -370.0944 -288.3874
+ 20975518.6054 -20448431.01249 -15480347.22948 20975518.4004 20975525.3164
+ 1746.9384 1361.2544
+ 05 1 20 18 21 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23718642.6944 -2959143.69249 -2291303.57746 23718643.0364 23718651.2744
+ 584.1974 455.2224
+ 20780038.3074 -23110032.31049 -17963122.07048 20780037.3544 20780044.3414
+ 382.5474 298.0904
+ 20712701.1004 -25677442.19049 -19992813.01348 20712700.7014 20712706.0414
+ -1713.5274 -1335.2134
+ 21255750.8954 -19607416.92549 -15260609.18047 21255750.7844 21255757.0184
+ 2397.9954 1868.5684
+ 25049282.4344 -2775128.98449 -2148999.90645 25049283.0094 25049291.1414
+ 3545.2024 2762.4874
+ 24420998.4564 -530617.30349 -390820.96245 24420997.8934 24421005.0794
+ -3327.3314 -2592.7214
+ 22431437.0654 -10691948.52649 -8115940.72647 22431437.4084 22431442.8604
+ -389.9544 -303.8604
+ 20965586.8484 -20500622.59149 -15521015.98548 20965586.5514 20965593.4064
+ 1732.4734 1349.9864
+ 05 1 20 18 21 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23715365.0624 -2976375.56949 -2304731.02846 23715364.9344 23715372.3364
+ 564.6064 439.9544
+ 20777873.5194 -23121407.81849 -17971986.11648 20777872.8164 20777879.4084
+ 375.9774 292.9714
+ 20722529.3094 -25625793.17849 -19952567.04848 20722529.0144 20722534.6924
+ -1729.7494 -1347.8554
+ 21242099.4594 -19679156.04649 -15316509.77747 21242099.6744 21242105.7544
+ 2384.6304 1858.1544
+ 25029053.5734 -2881437.60349 -2231837.62245 25029052.7254 25029061.0954
+ 3541.9554 2759.9584
+ 24439995.9104 -430786.87549 -313031.12745 24439995.9624 24440002.0544
+ -3328.0304 -2593.2614
+ 22433720.0544 -10679952.90049 -8106593.49947 22433718.8304 22433726.3034
+ -409.7684 -319.2924
+ 20955736.9874 -20552379.78549 -15561346.24848 20955737.4124 20955744.3524
+ 1717.9964 1338.6964
+ 05 1 20 18 22 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23712198.3334 -2993018.75549 -2317699.75146 23712197.0294 23712206.4024
+ 544.9474 424.6224
+ 20775746.6594 -23132583.76549 -17980694.64948 20775746.0774 20775752.7794
+ 369.2354 287.7164
+ 20732451.3294 -25573656.89849 -19911941.39248 20732450.4384 20732456.2204
+ -1745.9834 -1360.5034
+ 21228522.7424 -19750494.39049 -15372098.07047 21228523.3274 21228530.6264
+ 2371.2894 1847.7554
+ 25008840.8364 -2987650.10049 -2314600.38545 25008841.3844 25008849.2854
+ 3538.8054 2757.5014
+ 24458996.7944 -330935.61049 -235224.95345 24458995.8864 24459003.2954
+ -3328.7304 -2593.8344
+ 22436116.0824 -10667362.39649 -8096782.73747 22436115.2944 22436122.3544
+ -429.5864 -334.7554
+ 20945971.5734 -20603702.11549 -15601337.66648 20945971.4054 20945978.3074
+ 1703.4674 1327.3744
+ 05 1 20 18 22 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23709144.2684 -3009073.12549 -2330209.68045 23709143.4384 23709150.2814
+ 525.3434 409.3594
+ 20773658.2194 -23143559.70649 -17989247.34448 20773657.4884 20773664.3704
+ 362.5804 282.5324
+ 20742464.0364 -25521033.88149 -19870936.46848 20742463.8924 20742469.7734
+ -1762.1904 -1373.1344
+ 21215024.8144 -19821430.79649 -15427373.17547 21215025.0174 21215032.2064
+ 2357.8534 1837.2914
+ 24988646.1754 -3093764.85549 -2397286.99045 24988646.8244 24988654.9614
+ 3535.5014 2754.9334
+ 24478000.1444 -231064.70249 -157403.55645 24478001.5884 24478009.4944
+ -3329.3284 -2594.2934
+ 22438626.0544 -10654177.28849 -8086508.64847 22438624.9944 22438631.3654
+ -449.4044 -350.1834
+ 20936288.1544 -20654589.18349 -15640989.91648 20936287.8044 20936294.7294
+ 1688.9684 1316.0784
+ 05 1 20 18 23 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23706201.0334 -3024538.63449 -2342260.71845 23706200.4754 23706206.6994
+ 505.7674 394.1054
+ 20771607.6444 -23154335.10949 -17997643.77648 20771606.9344 20771613.7494
+ 355.8774 277.3074
+ 20752570.7384 -25467925.02549 -19829552.96248 20752570.6614 20752575.7764
+ -1778.3804 -1385.7494
+ 21201603.0824 -19891964.16749 -15482334.21947 21201603.1954 21201609.6934
+ 2344.4304 1826.8324
+ 24968470.1474 -3199780.48249 -2479896.29545 24968471.4984 24968479.6824
+ 3532.1374 2752.3094
+ 24497009.5574 -131175.92849 -79568.27045 24497009.1694 24497016.2294
+ -3329.8994 -2594.7224
+ 22441246.8894 -10640397.59849 -8075771.24547 22441246.3194 22441252.8844
+ -469.2414 -365.6594
+ 20926686.9544 -20705040.35349 -15680302.50548 20926686.9374 20926694.3204
+ 1674.4594 1304.7724
+ 05 1 20 18 23 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23703368.1694 -3039415.03849 -2353852.72945 23703367.8934 23703376.7004
+ 486.0904 378.7774
+ 20769594.9314 -23164909.55649 -18005883.60948 20769594.4704 20769601.3854
+ 349.1514 272.0664
+ 20762769.2474 -25414331.32149 -19787791.65048 20762769.0454 20762774.8994
+ -1794.5424 -1398.3444
+ 21188257.5554 -19962093.81049 -15536980.67547 21188257.6004 21188264.4464
+ 2330.9264 1816.3064
+ 24948316.6434 -3305695.72749 -2562427.42945 24948319.0544 24948327.4534
+ 3528.7384 2749.6554
+ 24516020.0214 -31270.85649 -1720.26145 24516020.2314 24516029.1134
+ -3330.4314 -2595.1404
+ 22443982.7454 -10626023.45449 -8064570.63247 22443982.1264 22443988.8304
+ -489.0484 -381.0714
+ 20917170.2814 -20755055.34849 -15719275.22148 20917169.6664 20917176.5264
+ 1659.8834 1293.4174
+ 05 1 20 18 24 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23700651.4834 -3053702.35449 -2364985.69945 23700650.4944 23700658.0704
+ 466.4494 363.4654
+ 20767621.5264 -23175282.53149 -18013966.46248 20767620.5294 20767627.7504
+ 342.4604 266.8544
+ 20773060.3684 -25360253.26749 -19745652.93848 20773059.7784 20773065.6094
+ -1810.6404 -1410.8884
+ 21174990.0034 -20031818.44749 -15591311.55047 21174990.3134 21174996.5424
+ 2317.4444 1805.8014
+ 24928181.7604 -3411509.34049 -2644879.28245 24928182.5764 24928190.3954
+ 3525.4234 2747.0764
+ 24535035.6544 68649.26249 76139.44745 24535034.5544 24535042.6764
+ -3330.8994 -2595.4984
+ 22446831.3144 -10611055.20849 -8052907.09747 22446830.5084 22446836.9924
+ -508.8444 -396.4974
+ 20907734.8364 -20804633.70649 -15757907.70348 20907734.8844 20907742.1114
+ 1645.3464 1282.0904
+ 05 1 20 18 24 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23698041.0254 -3067400.58349 -2375659.61545 23698043.1314 23698050.0284
+ 446.8264 348.1714
+ 20765686.1994 -23185453.68649 -18021892.05348 20765685.1984 20765692.2304
+ 335.7224 261.6034
+ 20783442.9594 -25305691.85749 -19703137.57848 20783442.5444 20783447.7784
+ -1826.7604 -1423.4504
+ 21161799.3294 -20101137.13749 -15645326.09947 21161799.1104 21161805.4344
+ 2303.8974 1795.2444
+ 24908065.8244 -3517219.67449 -2727250.67645 24908065.5474 24908074.5964
+ 3521.9414 2744.3604
+ 24554050.9914 168582.64349 154009.54545 24554051.5284 24554059.8844
+ -3331.3534 -2595.8644
+ 22449792.1754 -10595492.98049 -8040780.70347 22449791.2144 22449799.5034
+ -528.6534 -411.9294
+ 20898383.7604 -20853775.19949 -15796199.76448 20898383.5444 20898390.7434
+ 1630.7574 1270.7194
+ 05 1 20 18 25 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23695549.3084 -3080509.54949 -2385874.40945 23695548.6024 23695556.7484
+ 427.1214 332.8294
+ 20763789.0534 -23195422.44549 -18029659.92948 20763788.2744 20763795.1554
+ 328.9774 256.3464
+ 20793917.8284 -25250647.95349 -19660246.24748 20793917.3524 20793922.9014
+ -1842.8294 -1435.9714
+ 21148684.9154 -20170048.94349 -15699023.58447 21148685.4784 21148691.8624
+ 2290.2844 1784.6344
+ 24887969.5754 -3622825.46049 -2809540.60445 24887969.4834 24887978.0994
+ 3518.4014 2741.6004
+ 24573070.0544 268527.89049 231888.85945 24573070.8154 24573078.3394
+ -3331.6934 -2596.1254
+ 22452866.5274 -10579337.24349 -8028191.86347 22452865.6054 22452873.2414
+ -548.4324 -427.3514
+ 20889115.9094 -20902479.37949 -15834151.05748 20889115.6684 20889122.7844
+ 1616.1674 1259.3474
+ 05 1 20 18 25 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23693166.6544 -3093029.57549 -2395630.24945 23693165.6864 23693173.6254
+ 407.5354 317.5644
+ 20761930.4274 -23205188.39549 -18037269.77248 20761929.8124 20761936.6584
+ 322.2334 251.0934
+ 20804484.0034 -25195122.49949 -19616979.68548 20804483.2394 20804489.2334
+ -1858.8434 -1448.4434
+ 21135649.5704 -20238552.78349 -15752403.18347 21135649.5984 21135656.3224
+ 2276.7124 1774.0634
+ 24867896.5644 -3728325.34949 -2891748.00845 24867895.5634 24867903.9274
+ 3514.8704 2738.8574
+ 24592093.3574 368483.82149 309776.51145 24592093.3774 24592101.2854
+ -3332.0054 -2596.3704
+ 22456053.2384 -10562588.11149 -8015140.62347 22456053.3354 22456060.2874
+ -568.1694 -442.7264
+ 20879931.7114 -20950745.79049 -15871761.23848 20879931.0184 20879937.8814
+ 1601.5934 1247.9944
+ 05 1 20 18 26 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23690896.2954 -3104960.55749 -2404927.13246 23690896.2904 23690902.4664
+ 387.9084 302.2684
+ 20760110.7414 -23214751.00349 -18044721.16548 20760110.2034 20760117.0294
+ 315.4034 245.7714
+ 20815140.5804 -25139116.44749 -19573338.62648 20815140.5784 20815146.6944
+ -1874.8784 -1460.9414
+ 21122691.6324 -20306647.80349 -15805464.21647 21122691.2164 21122697.7514
+ 2263.0474 1763.4124
+ 24847840.0454 -3833717.68949 -2973871.74445 24847838.2824 24847846.8244
+ 3511.2724 2736.0434
+ 24611114.5024 468448.48149 387670.91245 24611114.3394 24611124.3564
+ -3332.3084 -2596.5924
+ 22459354.0994 -10545246.07949 -8001627.37047 22459352.9774 22459360.6764
+ -587.9654 -458.1514
+ 20870829.1034 -20998574.10649 -15909030.03848 20870829.0644 20870836.7294
+ 1586.9794 1236.6094
+ 05 1 20 18 26 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23688737.1624 -3116302.70449 -2413765.18545 23688737.3534 23688744.6824
+ 368.2574 286.9534
+ 20758330.1814 -23224109.72449 -18052013.68548 20758329.2404 20758336.1574
+ 308.5884 240.4564
+ 20825889.9794 -25082630.48549 -19529323.61748 20825889.5684 20825895.3314
+ -1890.8464 -1473.3864
+ 21109810.1404 -20374333.11549 -15858205.99447 21109811.3704 21109817.8194
+ 2249.3344 1752.7294
+ 24827802.0464 -3939001.31049 -3055910.68045 24827801.7764 24827813.1064
+ 3507.6174 2733.1994
+ 24630138.0424 568420.60149 465571.15745 24630138.8414 24630147.7254
+ -3332.4794 -2596.7274
+ 22462767.7764 -10527311.42749 -7987652.36447 22462766.9044 22462772.4834
+ -607.7194 -473.5464
+ 20861811.0294 -21045964.14949 -15945957.33448 20861811.0034 20861818.5344
+ 1572.3534 1225.2084
+ 05 1 20 18 27 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23686689.8974 -3127055.92449 -2422144.35645 23686690.7494 23686699.0564
+ 348.6254 271.6544
+ 20756587.9944 -23233264.22549 -18059147.07048 20756587.2314 20756594.0814
+ 301.7924 235.1604
+ 20836730.5114 -25025665.77949 -19484935.56348 20836730.0854 20836735.2684
+ -1906.7894 -1485.8114
+ 21097009.4154 -20441607.92249 -15910627.91147 21097009.5274 21097015.3844
+ 2235.6704 1742.0774
+ 24807790.7074 -4044174.61849 -3137863.67745 24807788.2344 24807796.8344
+ 3503.8414 2730.2614
+ 24649164.5004 668398.72649 543476.07245 24649163.8784 24649172.3934
+ -3332.6924 -2596.8994
+ 22466292.5714 -10508784.65149 -7973215.92847 22466291.6304 22466298.8264
+ -627.4464 -488.9234
+ 20852877.4284 -21092915.60049 -15982542.87348 20852877.1284 20852884.1254
+ 1557.7394 1213.8214
+ 05 1 20 18 27 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23684757.0624 -3137220.49849 -2430064.80246 23684756.2644 23684765.5974
+ 329.0304 256.3874
+ 20754884.8084 -23242213.82449 -18066120.78848 20754884.1394 20754891.0424
+ 294.9444 229.8284
+ 20847661.0264 -24968223.25449 -19440175.17448 20847660.7344 20847666.2034
+ -1922.7194 -1498.2244
+ 21084285.7474 -20508471.11149 -15962729.07547 21084285.5874 21084292.1804
+ 2221.9444 1731.3854
+ 24787797.0564 -4149236.24349 -3219729.65545 24787796.7254 24787805.4954
+ 3500.2184 2727.4354
+ 24668190.4614 768381.48149 621384.64245 24668189.9434 24668198.3424
+ -3332.9064 -2597.0704
+ 22469930.9144 -10489665.97249 -7958318.30547 22469930.2574 22469937.0514
+ -647.1554 -504.2614
+ 20844026.1474 -21139428.20649 -16018786.44548 20844025.6264 20844032.6504
+ 1543.0834 1202.3984
+ 05 1 20 18 28 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23682934.7394 -3146796.60649 -2437526.70446 23682934.6154 23682942.7514
+ 309.3164 241.0264
+ 20753220.6854 -23250958.19649 -18072934.58448 20753220.2164 20753227.1674
+ 288.0954 224.4914
+ 20858683.3414 -24910303.77349 -19395043.14148 20858682.7684 20858688.4044
+ -1938.5934 -1510.5894
+ 21071640.9174 -20574921.79349 -16014508.80747 21071640.9564 21071646.7914
+ 2208.1874 1720.6634
+ 24767827.3524 -4254184.96449 -3301507.67945 24767826.1534 24767833.8974
+ 3496.4214 2724.4754
+ 24687216.1634 868367.44849 699295.69045 24687216.2564 24687225.7794
+ -3332.8894 -2597.0574
+ 22473682.1844 -10469956.00649 -7942959.91447 22473680.8954 22473688.3254
+ -666.8524 -519.6314
+ 20835258.1144 -21185501.31749 -16054687.55748 20835257.9524 20835265.0794
+ 1528.4544 1191.0004
+ 05 1 20 18 28 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23681224.2374 -3155784.24549 -2444530.06745 23681223.7684 23681231.7814
+ 289.9324 225.9254
+ 20751596.1394 -23259496.70949 -18079587.97848 20751595.4774 20751602.0454
+ 281.2334 219.1414
+ 20869795.6094 -24851908.31749 -19349540.21648 20869794.7644 20869800.4334
+ -1954.4304 -1522.9384
+ 21059074.1284 -20640959.28149 -16065966.57447 21059074.1314 21059080.4314
+ 2194.3814 1709.9044
+ 24747875.3564 -4359019.18749 -3383196.44545 24747874.7904 24747883.9344
+ 3492.5214 2721.4284
+ 24706244.0274 968355.05548 777208.00545 24706243.1404 24706253.1814
+ -3332.8894 -2597.0554
+ 22477543.8674 -10449655.16549 -7927141.11147 22477543.9394 22477550.4954
+ -686.5434 -534.9654
+ 20826574.0924 -21231135.05849 -16090246.30348 20826574.3454 20826581.6384
+ 1513.7914 1179.5744
+ 05 1 20 18 29 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23679625.4164 -3164183.69849 -2451075.08645 23679625.6194 23679633.7504
+ 270.1864 210.5334
+ 20750010.0894 -23267828.91649 -18086080.60648 20750009.7444 20750016.5144
+ 274.3314 213.7644
+ 20880997.0734 -24793037.95149 -19303667.22948 20880997.3454 20881003.2054
+ -1970.2644 -1535.2774
+ 21046586.0744 -20706582.49549 -16117101.52247 21046586.4144 21046592.5924
+ 2180.5674 1699.1414
+ 24727948.0034 -4463737.75949 -3464795.03045 24727946.6594 24727955.2814
+ 3488.5984 2718.3804
+ 24725274.3154 1068342.91449 855120.47745 24725273.4324 24725276.8044
+ -3332.9904 -2597.1324
+ 22481519.8264 -10428763.95349 -7910862.27347 22481519.0714 22481526.2994
+ -706.2074 -550.3064
+ 20817974.5924 -21276328.78349 -16125462.17748 20817974.4754 20817981.6124
+ 1499.1264 1168.1504
+ 05 1 20 18 29 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23678137.6854 -3171995.37949 -2457162.13746 23678138.3554 23678147.4464
+ 250.5644 195.2444
+ 20748464.3104 -23275954.36149 -18092412.12448 20748463.6914 20748470.5384
+ 267.4284 208.3844
+ 20892290.5234 -24733693.94349 -19257425.17548 20892290.0764 20892295.8664
+ -1986.0274 -1547.5554
+ 21034177.3124 -20771790.70649 -16167913.09847 21034177.5904 21034183.9934
+ 2166.6974 1688.3294
+ 24708043.4554 -4568339.14349 -3546302.31945 24708044.2664 24708050.1034
+ 3484.7424 2715.3754
+ 24744298.0204 1168329.63649 933032.12745 24744297.8164 24744304.9154
+ -3332.8624 -2597.0344
+ 22485607.6784 -10407282.69349 -7894123.66647 22485607.1774 22485614.4014
+ -725.8734 -565.6024
+ 20809458.5174 -21321082.45649 -16160335.15948 20809458.1504 20809465.0794
+ 1484.4414 1156.7064
+ 05 1 20 18 30 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23676767.0544 -3179219.30849 -2462791.15946 23676765.0624 23676772.8624
+ 230.9444 179.9554
+ 20746957.9434 -23283872.38449 -18098582.01948 20746957.0024 20746963.7744
+ 260.5044 202.9884
+ 20903674.2734 -24673877.09649 -19210814.67648 20903673.4734 20903678.8484
+ -2001.7794 -1559.8284
+ 21021848.1974 -20836583.00749 -16218400.59047 21021847.8594 21021854.5124
+ 2152.8144 1677.5144
+ 24688161.7574 -4672821.88849 -3627717.15745 24688161.8254 24688168.0154
+ 3480.6604 2712.1894
+ 24763325.1284 1268313.95949 1010941.85245 24763324.4524 24763334.3574
+ -3332.7354 -2596.9304
+ 22489807.9814 -10385212.22049 -7876925.91247 22489806.7214 22489814.4984
+ -745.5294 -580.9344
+ 20801025.8874 -21365395.91849 -16194865.11548 20801025.4244 20801032.3044
+ 1469.7654 1145.2684
+ 05 1 20 18 30 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23675501.0284 -3185855.84249 -2467962.48646 23675501.0354 23675510.6604
+ 211.4544 164.7714
+ 20745490.5464 -23291582.62949 -18104590.00648 20745489.7854 20745496.4704
+ 253.6124 197.6184
+ 20915146.0274 -24613588.38849 -19163836.49048 20915145.4064 20915151.2914
+ -2017.4834 -1572.0644
+ 21009597.3144 -20900958.54749 -16268563.33347 21009597.2894 21009604.2704
+ 2138.9234 1666.6954
+ 24668302.5924 -4777184.60349 -3709038.45445 24668300.8614 24668307.6544
+ 3476.7014 2709.1214
+ 24782350.2134 1368294.37649 1088848.53145 24782351.3484 24782357.6914
+ -3332.5914 -2596.8194
+ 22494120.5324 -10362552.79749 -7859269.24647 22494119.9554 22494125.9804
+ -765.1504 -596.2204
+ 20792676.8224 -21409269.03149 -16229051.94448 20792676.4344 20792683.7174
+ 1455.0894 1133.8324
+ 05 1 20 18 31 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23674349.9914 -3191905.36549 -2472676.43746 23674351.3204 23674358.4884
+ 191.8884 149.5234
+ 20744063.0664 -23299084.50549 -18110435.62848 20744062.0144 20744068.8414
+ 246.6354 192.1804
+ 20926708.4134 -24552828.96349 -19116491.52048 20926707.9634 20926713.3494
+ -2033.1274 -1584.2554
+ 20997426.2944 -20964916.53849 -16318400.71147 20997426.6084 20997433.2374
+ 2125.0014 1655.8474
+ 24648462.5274 -4881426.16949 -3790265.38845 24648463.2394 24648471.0504
+ 3472.7214 2706.0064
+ 24801375.0764 1468269.37449 1166751.04345 24801374.3604 24801382.7114
+ -3332.4244 -2596.6954
+ 22498544.1854 -10339305.19949 -7841154.26747 22498543.7844 22498550.6514
+ -784.7214 -611.4764
+ 20784412.0694 -21452701.49849 -16262895.41148 20784411.8594 20784418.9294
+ 1440.4084 1122.3904
+ 05 1 20 18 31 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23673312.0164 -3197368.23049 -2476933.19046 23673309.7664 23673318.6844
+ 172.3394 134.3004
+ 20742674.8944 -23306377.49849 -18116118.48648 20742674.4114 20742681.0224
+ 239.6554 186.7444
+ 20938359.7234 -24491599.99649 -19068780.66848 20938359.2814 20938365.1624
+ -2048.7684 -1596.4414
+ 20985335.5624 -21028456.28249 -16367912.18347 20985335.7234 20985342.0684
+ 2111.0474 1644.9724
+ 24628651.0404 -4985545.11949 -3871396.70845 24628650.1604 24628659.0164
+ 3468.5144 2702.7204
+ 24820399.2954 1568237.65649 1244648.36045 24820396.9444 24820407.0504
+ -3332.1614 -2596.4864
+ 22503079.5734 -10315469.99349 -7822581.39247 22503079.4074 22503085.9804
+ -804.2884 -626.7184
+ 20776231.5064 -21495693.12549 -16296395.38048 20776230.9434 20776238.0364
+ 1425.7284 1110.9574
+ 05 1 20 18 32 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23672381.8554 -3202244.74649 -2480733.08845 23672381.4244 23672390.4474
+ 152.7734 119.0324
+ 20741327.2624 -23313461.03149 -18121638.13148 20741326.4864 20741333.0654
+ 232.6814 181.3104
+ 20950099.7374 -24429902.56449 -19020704.77448 20950099.6394 20950105.4584
+ -2064.3774 -1608.6054
+ 20973324.3584 -21091576.81849 -16417096.99647 20973324.1894 20973331.0034
+ 2097.0574 1634.0714
+ 24608861.1344 -5089540.30549 -3952431.64246 24608859.5134 24608868.9704
+ 3464.4014 2699.5274
+ 24839420.6264 1668197.95049 1322539.37245 24839421.3754 24839428.5874
+ -3331.8784 -2596.2684
+ 22507726.0784 -10291047.76549 -7803551.11947 22507725.6154 22507733.2114
+ -823.8304 -641.9534
+ 20768133.3514 -21538244.06649 -16329551.93948 20768133.2124 20768140.7444
+ 1411.0194 1099.4944
+ 05 1 20 18 32 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23671563.4314 -3206535.36949 -2484076.44745 23671566.1764 23671574.1554
+ 133.1994 103.7854
+ 20740019.2704 -23320334.67449 -18126994.22448 20740018.3994 20740024.9524
+ 225.6724 175.8494
+ 20961929.8784 -24367737.84349 -18972264.76848 20961929.6144 20961935.1414
+ -2079.9304 -1620.7254
+ 20961392.7984 -21154277.57049 -16465954.69948 20961392.9114 20961399.2564
+ 2083.0224 1623.1294
+ 24589095.2864 -5193410.20649 -4033368.95846 24589095.3214 24589102.8204
+ 3460.1844 2696.2394
+ 24858440.0624 1768148.79149 1400423.04345 24858438.8144 24858447.5884
+ -3331.5614 -2596.0124
+ 22512486.3514 -10266039.25049 -7784063.97847 22512484.9494 22512492.4944
+ -843.3904 -657.1744
+ 20760119.5444 -21580353.89949 -16362364.78548 20760120.0014 20760127.1394
+ 1396.2984 1088.0254
+ 05 1 20 18 33 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23670862.6294 -3210240.62049 -2486963.66145 23670860.4984 23670869.4884
+ 113.8224 88.7004
+ 20738750.8564 -23326997.80749 -18132186.28348 20738750.4084 20738757.0604
+ 218.6524 170.3794
+ 20973848.1304 -24305107.04749 -18923461.57448 20973847.6814 20973853.3034
+ -2095.4624 -1632.8274
+ 20949540.8994 -21216557.68349 -16514484.63847 20949541.3544 20949547.4684
+ 2069.0124 1612.2204
+ 24569353.1574 -5297153.43049 -4114207.56645 24569351.9354 24569359.7884
+ 3455.9254 2692.9204
+ 24877457.5084 1868088.84749 1478298.39345 24877457.6684 24877466.8734
+ -3331.1404 -2595.6934
+ 22517356.3534 -10240445.01649 -7764120.44347 22517355.3324 22517362.3224
+ -862.8834 -672.3784
+ 20752191.8394 -21622022.39749 -16394833.74248 20752191.1884 20752197.9074
+ 1381.5904 1076.5644
+ 05 1 20 18 33 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23670265.2504 -3213360.84449 -2489395.03746 23670267.0934 23670276.2914
+ 94.2864 73.4784
+ 20737523.1844 -23333449.89749 -18137213.89648 20737522.5694 20737529.5374
+ 211.5914 164.8784
+ 20985854.7704 -24242011.17249 -18874295.99647 20985854.5174 20985860.3704
+ -2110.9204 -1644.8694
+ 20937769.3824 -21278416.57049 -16562686.35148 20937769.6784 20937776.2194
+ 2054.9734 1601.2744
+ 24549636.5014 -5400768.59049 -4194946.44345 24549636.2244 24549643.2374
+ 3451.6524 2689.6024
+ 24896473.3864 1968016.93949 1556164.37045 24896473.8634 24896482.6354
+ -3330.6984 -2595.3534
+ 22522338.2364 -10214265.98449 -7743721.21547 22522337.1004 22522344.3984
+ -882.3764 -687.5614
+ 20744346.4594 -21663249.52249 -16426958.76148 20744345.9084 20744352.9164
+ 1366.8824 1065.1014
+ 05 1 20 18 34 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23669785.0924 -3215896.48049 -2491370.86946 23669785.1154 23669794.6214
+ 74.7994 58.2924
+ 20736335.3254 -23339690.41849 -18142076.64748 20736335.0094 20736342.0054
+ 204.5504 159.3914
+ 20997950.0854 -24178451.59549 -18824769.07848 20997949.5074 20997955.2574
+ -2126.3624 -1656.9024
+ 20926078.5894 -21339853.23649 -16610559.05948 20926078.9844 20926085.2714
+ 2040.8824 1590.2994
+ 24529941.7624 -5504254.34549 -4275584.49645 24529942.1344 24529949.9404
+ 3447.3864 2686.2724
+ 24915486.9954 2067931.80249 1634019.98344 24915484.2304 24915495.5324
+ -3330.2914 -2595.0244
+ 22527429.8674 -10187502.63649 -7722866.69047 22527429.4314 22527437.2454
+ -901.8614 -702.7384
+ 20736584.3854 -21704035.44349 -16458739.99148 20736584.2144 20736591.5824
+ 1352.1754 1053.6444
+ 05 1 20 18 34 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23669414.0014 -3217848.06449 -2492891.57646 23669413.3394 23669422.9154
+ 55.3434 43.1264
+ 20735189.0394 -23345718.86549 -18146774.14448 20735187.9384 20735194.7074
+ 197.4814 153.8774
+ 21010132.6554 -24114429.28549 -18774881.59548 21010132.6134 21010138.2744
+ -2141.7654 -1668.9114
+ 20914468.0634 -21400867.21949 -16658102.40648 20914468.2264 20914474.7294
+ 2026.7664 1579.2964
+ 24510273.2174 -5607609.46349 -4356120.75546 24510273.9964 24510283.0184
+ 3443.0074 2682.8604
+ 24934499.3474 2167831.66149 1711863.98544 24934496.6184 24934504.7494
+ -3329.6694 -2594.5374
+ 22532635.8424 -10160155.79349 -7701557.50247 22532634.3954 22532640.9124
+ -921.2674 -717.8694
+ 20728906.7724 -21744379.91949 -16490177.23248 20728907.3204 20728914.1774
+ 1337.4624 1042.1774
+ 05 1 20 18 35 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23669151.0424 -3219216.13649 -2493957.61746 23669153.4234 23669161.1544
+ 35.9254 27.9934
+ 20734082.0984 -23351534.66249 -18151305.94048 20734081.2464 20734087.9844
+ 190.3824 148.3514
+ 21022403.8354 -24049945.57449 -18724634.58648 21022403.8474 21022409.2034
+ -2157.1124 -1680.8614
+ 20902937.9974 -21461457.77549 -16705315.80348 20902938.4854 20902944.8684
+ 2012.6484 1568.3004
+ 24490630.1994 -5710832.61549 -4436554.12245 24490630.8174 24490639.9234
+ 3438.4914 2679.3374
+ 24953505.2124 2267715.63348 1789695.64244 24953505.0154 24953511.6984
+ -3329.1754 -2594.1574
+ 22537947.9124 -10132226.31349 -7679794.28647 22537948.4114 22537955.6224
+ -940.6784 -732.9954
+ 20721314.4164 -21784282.89449 -16521270.44848 20721313.7964 20721320.7654
+ 1322.7304 1030.6984
+ 05 1 20 18 35 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23669002.4944 -3220001.11649 -2494569.28846 23669003.4964 23669012.0224
+ 16.4934 12.8484
+ 20733015.7174 -23357137.20449 -18155671.57748 20733015.2314 20733021.7824
+ 183.2484 142.7924
+ 21034762.7504 -23985001.97849 -18674029.21948 21034762.1364 21034768.1134
+ -2172.4324 -1692.7954
+ 20891488.3624 -21521624.13749 -16752198.66448 20891488.6994 20891495.6734
+ 1998.5174 1557.2894
+ 24471012.8894 -5813922.40049 -4516883.65745 24471013.7294 24471021.3074
+ 3434.0894 2675.9064
+ 24972505.8134 2367581.92048 1867513.45544 24972508.1294 24972518.5594
+ -3328.5564 -2593.6834
+ 22543376.1534 -10103714.97049 -7657577.68847 22543375.1824 22543381.6924
+ -960.0854 -748.1194
+ 20713805.2104 -21823743.94449 -16552019.31748 20713804.8304 20713811.6854
+ 1308.0134 1019.2334
+ 05 1 20 18 36 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23668964.7434 -3220203.53849 -2494727.02946 23668964.4074 23668973.7884
+ -2.9814 -2.3244
+ 20731990.7074 -23362525.97849 -18159870.62748 20731989.7894 20731996.3434
+ 176.0924 137.2164
+ 21047207.9524 -23919599.39749 -18623066.21547 21047207.6454 21047213.0334
+ -2187.7274 -1704.7204
+ 20880120.2414 -21581365.70249 -16798750.51748 20880120.0264 20880127.0454
+ 1984.3394 1546.2334
+ 24451421.2674 -5916877.57749 -4597108.29645 24451420.9204 24451428.3434
+ 3429.5604 2672.3744
+ 24991511.3204 2467429.61549 1945316.80544 24991509.8684 24991514.9464
+ -3327.9604 -2593.2144
+ 22548910.8724 -10074622.68749 -7634908.41347 22548910.1854 22548917.4694
+ -979.4094 -763.1754
+ 20706379.4164 -21862763.33449 -16582424.02748 20706379.3094 20706386.5874
+ 1293.2764 1007.7484
+ 05 1 20 18 36 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23669039.1594 -3219824.14749 -2494431.44146 23669038.2204 23669046.6634
+ -22.3424 -17.4084
+ 20731005.4834 -23367700.38249 -18163902.63748 20731004.9814 20731011.7824
+ 168.9504 131.6474
+ 21059740.6524 -23853739.24149 -18571746.64247 21059740.2354 21059745.9204
+ -2202.9484 -1716.5794
+ 20868832.4894 -21640681.90449 -16844970.92448 20868832.7604 20868839.3564
+ 1970.1644 1535.1924
+ 24431858.8674 -6019696.70549 -4677226.91945 24431856.2034 24431862.2854
+ 3424.9724 2668.7984
+ 25010505.5154 2567257.44248 2023104.71744 25010503.4654 25010516.7294
+ -3327.1844 -2592.6124
+ 22554557.8174 -10044950.39949 -7611787.18347 22554557.4724 22554564.3074
+ -998.7304 -778.2284
+ 20699038.7064 -21901340.84849 -16612484.42548 20699038.3874 20699045.2024
+ 1278.5524 996.2714
+ 05 1 20 18 37 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23669220.9514 -3218863.82449 -2493683.15046 23669220.6624 23669229.2304
+ -41.6774 -32.4794
+ 20730062.1154 -23372659.89449 -18167767.20748 20730061.4704 20730068.0534
+ 161.7844 126.0654
+ 21072360.2374 -23787422.68149 -18520071.44747 21072360.1314 21072366.2254
+ -2218.1564 -1728.4294
+ 20857626.5954 -21699571.96849 -16890859.26648 20857626.2994 20857632.8334
+ 1955.9224 1524.0994
+ 24412317.3604 -6122378.43849 -4757238.46345 24412315.5214 24412321.9934
+ 3420.4314 2665.2594
+ 25029496.5734 2667063.97458 2100876.04754 25029500.5484 25029504.1294
+ -3326.5384 -2592.1014
+ 22560314.2334 -10014698.73349 -7588214.47247 22560313.6704 22560320.6104
+ -1018.0194 -793.2634
+ 20691781.9684 -21939476.77549 -16642200.72448 20691781.6074 20691788.7134
+ 1263.8404 984.8104
+ 05 1 20 18 37 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23669512.8094 -3217323.08849 -2492482.60146 23669513.1184 23669522.8824
+ -60.9564 -47.4994
+ 20729159.6344 -23377403.93249 -18171463.87348 20729158.4164 20729165.6494
+ 154.6314 120.4934
+ 21085066.6434 -23720651.29849 -18468041.84247 21085066.3204 21085071.9044
+ -2233.2514 -1740.1984
+ 20846501.7904 -21758035.11249 -16936414.96048 20846502.0014 20846507.7094
+ 1941.7034 1513.0154
+ 24392802.4604 -6224921.69249 -4837142.10045 24392802.6494 24392808.8924
+ 3415.7784 2661.6394
+ 25048490.2004 2766847.70748 2178629.58244 25048489.7774 25048494.6224
+ -3325.7134 -2591.4614
+ 22566182.3434 -9983868.77749 -7564191.16847 22566181.3454 22566188.3694
+ -1037.2744 -808.2544
+ 20684608.4054 -21977171.16449 -16671572.96948 20684608.3864 20684615.3824
+ 1249.1394 973.3524
+ 05 1 20 18 38 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23669917.4064 -3215202.61849 -2490830.29746 23669916.5174 23669925.3974
+ -80.3414 -62.5944
+ 20728297.3504 -23381931.95949 -18174992.22148 20728296.7084 20728303.7864
+ 147.3914 114.8504
+ 21097859.6224 -23653426.10549 -18415658.61947 21097859.1204 21097864.3704
+ -2248.3674 -1751.9744
+ 20835457.2604 -21816071.14649 -16981637.81948 20835457.0334 20835463.7434
+ 1927.3984 1501.8664
+ 24373314.5654 -6327325.16049 -4916936.77746 24373316.1204 24373323.3394
+ 3411.1054 2658.0004
+ 25067471.1004 2866607.79448 2256364.72444 25067471.4724
+ -3324.9024 -2590.8304
+ 22572155.8574 -9952461.48749 -7539718.00446 22572156.3294 22572164.2114
+ -1056.5424 -823.2874
+ 20677519.3604 -22014423.87049 -16700601.04548 20677519.3784 20677526.3474
+ 1234.3834 961.8604
+ 05 1 20 18 38 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23670430.8864 -3212502.88549 -2488726.64745 23670430.7734 23670439.3274
+ -99.6524 -77.6494
+ 20727477.0554 -23386243.45949 -18178351.84448 20727476.4674 20727482.9084
+ 140.1514 109.2104
+ 21110738.1464 -23585748.53049 -18362922.87447 21110737.6624 21110743.4344
+ -2263.4544 -1763.7294
+ 20824494.0654 -21873679.19149 -17026527.19048 20824494.2594 20824501.3024
+ 1913.1714 1490.7844
+ 24353856.2794 -6429587.37849 -4996621.47846 24353855.7094 24353862.9204
+ 3406.3404 2654.2794
+ 25086450.2904 2966343.22748 2334080.56044 25086448.6794
+ -3324.2394 -2590.3054
+ 22578244.0044 -9920477.90949 -7514795.75447 22578243.6734 22578250.6204
+ -1075.7454 -838.2464
+ 20670514.7764 -22051234.95449 -16729285.00648 20670514.2594 20670521.4674
+ 1219.6734 950.3954
+ 05 1 20 18 39 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23671052.3464 -3209224.80149 -2486172.30246 23671054.4994 23671062.8234
+ -118.9474 -92.6754
+ 20726697.4034 -23390337.68249 -18181542.16148 20726697.2314 20726704.0424
+ 132.9114 103.5744
+ 21123703.1164 -23517619.87549 -18309835.65847 21123702.2494 21123708.0504
+ -2278.4214 -1775.3884
+ 20813614.6214 -21930858.80049 -17071082.72748 20813614.5064 20813620.5364
+ 1898.8814 1479.6514
+ 24334422.5004 -6531707.07049 -5076195.06945 24334422.0374 24334429.9824
+ 3401.6334 2650.6104
+ 25105424.4944 3066052.29748 2411775.91144 25105426.0604 25105431.4564
+ -3323.2294 -2589.5174
+ 22584440.2034 -9887918.76049 -7489425.05246 22584438.5864 22584446.8284
+ -1094.8864 -853.1484
+ 20663593.4444 -22087604.49649 -16757624.90448 20663593.2304 20663600.7294
+ 1204.9544 938.9304
+ 05 1 20 18 39 30.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23671787.7334 -3205368.97449 -2483167.78345 23671786.6124 23671797.3294
+ -138.1774 -107.6704
+ 20725960.4614 -23394214.20249 -18184562.83148 20725959.5414 20725966.5734
+ 125.6184 97.8904
+ 21136752.3644 -23449041.57349 -18256398.04747 21136751.5684 21136757.9844
+ -2293.4234 -1787.0784
+ 20802814.9634 -21987609.33049 -17115303.91048 20802814.9054 20802821.2164
+ 1884.5814 1468.5104
+ 24315019.4894 -6633683.04049 -5155656.66346 24315018.5734 24315024.5774
+ 3396.7514 2646.8084
+ 25124389.0274 3165733.86758 2489449.91554 25124392.2714 25124401.1524
+ -3322.1794 -2588.7104
+ 22590744.2864 -9854785.22949 -7463606.74646 22590744.4084 22590751.6174
+ -1114.0574 -868.1014
+ 20656756.9134 -22123532.57049 -16785620.80248 20656756.7004 20656763.7064
+ 1190.2304 927.4524
+ 05 1 20 18 40 0.0000000 0 8G 9G 7G28G 4G 2G11G20G24
+ 23672631.7324 -3200936.28149 -2479713.76245 23672631.7314 23672640.6164
+ -157.3724 -122.6274
+ 20725264.6184 -23397872.42549 -18187413.41248 20725263.6604 20725270.3664
+ 118.3584 92.2284
+ 21149887.7644 -23380014.91549 -18202611.09047 21149887.4894 21149893.1204
+ -2308.3594 -1798.7284
+ 20792097.2474 -22043930.18649 -17159190.27748 20792097.2974 20792103.8884
+ 1870.2504 1457.3374
+ 24295640.0994 -6735513.70249 -5235005.03846 24295639.9054 24295647.2214
+ 3391.9014 2643.0314
+ 25143357.2584 3265386.69258 2567101.36554 25143365.9694
+ -3321.3634 -2588.0624
+ 22597159.4514 -9821078.16049 -7437341.54447 22597159.3314 22597165.8834
+ -1133.2164 -883.0284
+ 20650004.7874 -22159018.99249 -16813272.56348 20650004.1734 20650010.9264
+ 1175.5184 915.9904
+ 05 1 20 18 40 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23673581.1874 -3195927.64649 -2475810.91345 23673583.4064 23673594.8404
+ -176.5854 -137.6024
+ 20724609.7264 -23401311.64349 -18190093.33448 20724608.9134 20724615.8264
+ 111.0254 86.5114
+ 21163108.2184 -23310541.46049 -18148475.97147 21163107.7694 21163113.7104
+ -2323.2044 -1810.2884
+ 20781461.0534 -22099820.95549 -17202741.51548 20781461.7244 20781467.9704
+ 1855.8944 1446.1514
+ 24276288.4394 -6837197.95549 -5314239.31646 24276288.5834 24276297.6914
+ 3387.0134 2639.2224
+ 22603682.8464 -9786798.63149 -7410630.27647 22603682.9904 22603689.0984
+ -1152.1984 -897.8064
+ 20643335.0344 -22194064.37749 -16840580.65848 20643334.9414 20643341.9964
+ 1160.8244 904.5394
+ 05 1 20 18 41 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23674645.4154 -3190343.68849 -2471459.77146 23674646.5274 23674656.5484
+ -195.7014 -152.4974
+ 20723997.2524 -23404531.37749 -18192602.22848 20723996.4224 20724002.9884
+ 103.6914 80.7954
+ 21176414.2274 -23240622.75949 -18093993.90247 21176413.3794 21176418.6594
+ -2338.0294 -1821.8414
+ 20770908.2354 -22155281.10949 -17245957.20648 20770908.0064 20770914.0814
+ 1841.5144 1434.9424
+ 24256968.2684 -6938734.70049 -5393358.69646 24256967.2784 24256972.7664
+ 3382.0704 2635.3714
+ 22610315.0994 -9751947.69649 -7383473.72447 22610314.4044 22610321.3194
+ -1171.2034 -912.6304
+ 20636749.8384 -22228668.70049 -16867545.05748 20636749.8124 20636756.8304
+ 1146.1094 893.0674
+ 05 1 20 18 41 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23675818.0344 -3184185.36949 -2466661.12045 23675819.0724 23675826.9534
+ -214.8304 -167.4024
+ 20723426.6554 -23407530.97749 -18194939.58248 20723425.6984 20723432.1394
+ 96.3524 75.0824
+ 21189802.3384 -23170259.99049 -18039165.82347 21189802.5664 21189808.6514
+ -2352.8144 -1833.3624
+ 20760435.7074 -22210309.95749 -17288836.81948 20760436.0854 20760442.5894
+ 1827.1434 1423.7474
+ 24237674.9474 -7040122.47049 -5472362.00046 24237674.3184 24237680.3994
+ 3377.0854 2631.4894
+ 22617053.6464 -9716526.61649 -7355872.90547 22617053.6554 22617061.8924
+ -1190.1804 -927.4234
+ 20630249.8854 -22262831.72749 -16894165.59748 20630249.1064 20630255.7714
+ 1131.4094 881.6184
+ 05 1 20 18 42 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23677099.8024 -3177453.83849 -2461415.79145 23677099.9944 23677108.4064
+ -233.8524 -182.2194
+ 20722897.1704 -23410310.00749 -18197105.07048 20722896.7744 20722903.3904
+ 89.0204 69.3664
+ 21203276.8424 -23099454.73649 -17983992.92647 21203276.2004 21203282.3274
+ -2367.5244 -1844.8254
+ 20750046.9654 -22264907.20449 -17331380.11648 20750046.7514 20750053.1384
+ 1812.7374 1412.5224
+ 24218406.5264 -7141360.17849 -5551248.37046 24218408.5724 24218414.5994
+ 3372.1404 2627.6264
+ 22623905.2414 -9680536.45449 -7327828.68047 22623903.5344 22623910.2304
+ -1209.1444 -942.1834
+ 20623831.9154 -22296553.57449 -16920442.35948 20623831.8224 20623838.9044
+ 1116.7324 870.1784
+ 05 1 20 18 42 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23678490.7224 -3170149.69249 -2455724.28046 23678489.2014 23678499.7124
+ -253.0114 -197.1504
+ 20722411.0424 -23412867.74049 -18199098.12048 20722410.1334 20722416.5904
+ 81.6114 63.5944
+ 21216834.4724 -23028208.39149 -17928476.34647 21216833.9574 21216839.8824
+ -2382.2144 -1856.2644
+ 20739740.2334 -22319072.40649 -17373586.75648 20739739.6014 20739745.7814
+ 1798.3224 1401.2924
+ 24199172.0264 -7242446.31149 -5630016.63646 24199172.4154 24199178.5814
+ 3366.9624 2623.5984
+ 22630858.8364 -9643978.23849 -7299341.79746 22630859.2644 22630867.0794
+ -1228.0564 -956.9274
+ 20617499.4704 -22329834.65149 -16946375.67148 20617499.2034 20617505.8194
+ 1102.0144 858.7124
+ 05 1 20 18 43 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23679988.4164 -3162273.89349 -2449587.31046 23679988.5024 23679997.9954
+ -272.0474 -211.9774
+ 20721966.2024 -23415203.51349 -18200918.20448 20721965.5514 20721972.5514
+ 74.1874 57.8084
+ 21230476.1464 -22956522.54549 -17872617.27347 21230475.7964 21230481.4584
+ -2396.8574 -1867.6834
+ 20729514.1954 -22372804.91049 -17415456.22848 20729514.4784 20729521.0284
+ 1783.9104 1390.0594
+ 24179965.0614 -7343379.80849 -5708665.96546 24179964.7784 24179972.1804
+ 3361.8834 2619.6414
+ 22637925.3464 -9606853.15649 -7270413.20347 22637924.8764 22637932.2694
+ -1246.9394 -971.6374
+ 20611249.6014 -22362675.11549 -16971965.63448 20611249.3674 20611256.6274
+ 1087.3194 847.2604
+ 05 1 20 18 43 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23681596.3504 -3153827.73049 -2443005.89246 23681596.4304 23681604.8354
+ -290.9814 -226.7374
+ 20721564.0504 -23417316.90749 -18202565.01348 20721563.4024 20721570.3084
+ 66.7904 52.0444
+ 21244200.8184 -22884398.42149 -17816416.69947 21244200.1214 21244205.7924
+ -2411.4264 -1879.0374
+ 20719371.3574 -22426104.43349 -17456988.31748 20719371.8684 20719378.1644
+ 1769.4274 1378.7754
+ 24160788.0834 -7444159.22949 -5787195.26446 24160787.9844 24160795.7104
+ 3356.7074 2615.6094
+ 22645098.7634 -9569162.46449 -7241043.85547 22645097.0104 22645104.4724
+ -1265.7594 -986.3144
+ 20605084.1224 -22395075.29649 -16997212.53148 20605084.0354 20605090.8354
+ 1072.6534 835.8314
+ 05 1 20 18 44 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23683312.8924 -3144811.96949 -2435980.66246 23683312.2074 23683320.8404
+ -310.0164 -241.5764
+ 20721204.9174 -23419207.25449 -18204038.02048 20721203.9404 20721210.4184
+ 59.3164 46.2214
+ 21258007.5564 -22811837.69849 -17759875.93147 21258008.1834 21258014.1054
+ -2425.9434 -1890.3464
+ 20709312.0164 -22478970.42749 -17498182.58248 20709311.9774 20709318.2214
+ 1755.0074 1367.5354
+ 24141640.2494 -7544783.44849 -5865603.66746 24141639.8604 24141647.7144
+ 3351.5724 2611.6064
+ 22652376.9084 -9530907.45349 -7211234.78946 22652376.0814 22652383.4624
+ -1284.5514 -1000.9604
+ 20599002.4714 -22427035.18449 -17022116.33748 20599002.1954 20599008.9344
+ 1058.0104 824.4274
+ 05 1 20 18 44 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23685137.3884 -3135227.59749 -2428512.36646 23685135.7464 23685144.3104
+ -328.9014 -256.2844
+ 20720887.7914 -23420873.86249 -18205336.68648 20720886.7624 20720893.1604
+ 51.8814 40.4244
+ 21271899.9054 -22738841.99349 -17702996.19647 21271898.8644 21271904.7754
+ -2440.4414 -1901.6444
+ 20699334.0214 -22531402.49049 -17539038.73248 20699334.4574 20699340.5814
+ 1740.5324 1356.2584
+ 24122520.2274 -7645251.37549 -5943890.26946 24122520.6324 24122528.8414
+ 3346.2744 2607.4854
+ 22659762.8474 -9492089.20249 -7180986.82446 22659763.1144 22659770.7084
+ -1303.3254 -1015.5794
+ 20593004.7784 -22458555.23349 -17046677.41948 20593004.3324 20593011.0974
+ 1043.3344 812.9904
+ 05 1 20 18 45 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23687067.2934 -3125075.66849 -2420601.74746 23687067.6234 23687076.8144
+ -347.8614 -271.0714
+ 20720613.2494 -23422316.14249 -18206460.54848 20720612.4254 20720618.9624
+ 44.3994 34.5974
+ 21285872.4224 -22665412.65549 -17645778.57247 21285872.0934 21285877.7434
+ -2454.8784 -1912.8864
+ 20689439.2844 -22583400.28549 -17579556.48348 20689439.5834 20689445.7474
+ 1726.0414 1344.9624
+ 24103434.4724 -7745561.59449 -6022053.99846 24103433.5254 24103439.8484
+ 3341.0434 2603.4074
+ 22667258.4454 -9452709.16749 -7150301.13046 22667257.8634 22667264.5944
+ -1322.0504 -1030.1724
+ 20587090.0174 -22489635.44549 -17070895.76648 20587089.6364 20587096.7834
+ 1028.6794 801.5714
+ 05 1 20 18 45 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23689107.2984 -3114357.31949 -2412249.79346 23689108.3424 23689115.9884
+ -366.7144 -285.7544
+ 20720381.0544 -23423533.44249 -18207409.10048 20720380.6474 20720387.1394
+ 36.8654 28.7254
+ 21299927.7724 -22591551.48649 -17588224.44647 21299927.2894 21299933.6764
+ -2469.2384 -1924.0804
+ 20679626.6744 -22634963.42949 -17619735.55348 20679627.2734 20679633.8454
+ 1711.5434 1333.6744
+ 24084373.0794 -7845712.76749 -6100093.79346 24084374.5244 24084380.8104
+ 3335.7214 2599.2614
+ 22674857.5464 -9412768.37949 -7119178.45346 22674857.5534 22674864.9374
+ -1340.7564 -1044.7454
+ 20581259.2524 -22520276.15349 -17094771.64548 20581258.7554 20581266.1204
+ 1014.0284 790.1494
+ 05 1 20 18 46 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23691255.1184 -3103073.62649 -2403457.33146 23691254.6264 23691263.8994
+ -385.5044 -300.3914
+ 20720192.1854 -23424525.28349 -18208181.97748 20720191.7494 20720198.3994
+ 29.3524 22.8724
+ 21314064.7684 -22517259.91449 -17530334.96047 21314064.6434 21314070.6354
+ -2483.5334 -1935.2234
+ 20669898.3814 -22686091.40549 -17659575.52948 20669898.1374 20669904.2504
+ 1697.0614 1322.3864
+ 24065344.4604 -7945703.83349 -6178008.86546 24065346.8494 24065353.7284
+ 3330.3374 2595.0704
+ 22682566.2774 -9372268.35149 -7087620.03546 22682565.1754 22682571.6734
+ -1359.2634 -1059.1704
+ 20575511.9024 -22550477.57649 -17118305.22148 20575511.7564 20575518.8644
+ 999.4044 778.7554
+ 05 1 20 18 46 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23693510.0634 -3091225.50049 -2394225.03145 23693509.5124 23693516.1524
+ -404.3114 -315.0394
+ 20720046.7584 -23425290.98849 -18208778.63548 20720045.9994 20720052.8614
+ 21.8134 17.0004
+ 21328283.2894 -22442539.71249 -17472111.46447 21328282.7304 21328289.1034
+ -2497.8004 -1946.3424
+ 20660251.8414 -22736783.98249 -17699076.22748 20660251.4074 20660257.8834
+ 1682.5234 1311.0574
+ 24046349.5124 -8045533.54049 -6255798.17546 24046350.0614 24046356.5674
+ 3324.9364 2590.8664
+ 22690378.9104 -9331210.09049 -7055626.60646 22690378.4194 22690384.5984
+ -1377.9154 -1073.7094
+ 20569848.4794 -22580239.95749 -17141496.68248 20569848.2564 20569855.3494
+ 984.7564 767.3434
+ 05 1 20 18 47 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23695871.4304 -3078814.33549 -2384554.00346 23695871.3944 23695880.4094
+ -423.1494 -329.7324
+ 20719944.4024 -23425829.84249 -18209198.53248 20719943.4854 20719950.2034
+ 14.2504 11.1044
+ 21342584.2054 -22367392.32349 -17413555.10247 21342583.5674 21342589.8024
+ -2512.0284 -1957.4174
+ 20650687.4854 -22787040.83949 -17738237.41448 20650687.9674 20650694.2314
+ 1667.9734 1299.7184
+ 24027384.0724 -8145200.45649 -6333460.65046 24027383.5604 24027390.7624
+ 3319.5244 2586.6434
+ 22698297.6454 -9289595.10549 -7023199.36046 22698297.0864 22698303.9084
+ -1396.4194 -1088.1184
+ 20564268.7984 -22609563.65849 -17164346.32648 20564268.1934 20564275.1414
+ 970.1404 755.9574
+ 05 1 20 18 47 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23698341.0394 -3065841.20849 -2374445.11646 23698340.2054 23698348.2534
+ -441.7734 -344.2334
+ 20719884.5654 -23426141.32649 -18209441.25948 20719884.2164 20719891.0574
+ 6.6264 5.1584
+ 21356965.6464 -22291819.32049 -17354667.08647 21356964.7684 21356970.6544
+ -2526.1704 -1968.4434
+ 20641207.2554 -22836861.43549 -17777058.65948 20641207.4514 20641213.5774
+ 1653.4544 1288.4044
+ 24008449.1284 -8244703.51749 -6410995.45346 24008449.2194 24008455.1344
+ 3314.0174 2582.3464
+ 22706321.7724 -9247424.82849 -6990339.44846 22706322.0714 22706328.2224
+ -1414.9114 -1102.5194
+ 20558771.9264 -22638448.75849 -17186854.19848 20558771.4834 20558778.5584
+ 955.5284 744.5634
+ 05 1 20 18 48 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23700913.5564 -3052307.21949 -2363899.14946 23700914.6594 23700923.5394
+ -460.5064 -358.8374
+ 20719868.9124 -23426224.79349 -18209506.31548 20719868.3134 20719875.2444
+ -.9894 -.7704
+ 21371428.1004 -22215822.36549 -17295448.73547 21371426.9494 21371432.5694
+ -2540.2764 -1979.4314
+ 20631810.0944 -22886245.73549 -17815539.92848 20631809.9934 20631816.2804
+ 1638.8874 1277.0574
+ 23989544.5374 -8344041.67949 -6488401.74746 23989544.3634 23989552.2494
+ 3308.4954 2578.0454
+ 22714453.2494 -9204700.60749 -6957047.85246 22714451.0134 22714459.7664
+ -1433.3864 -1116.9134
+ 20553357.7984 -22666895.75749 -17209020.69148 20553357.8824 20553365.3184
+ 940.9314 733.1944
+ 05 1 20 18 48 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23703598.2474 -3038213.74349 -2352917.25246 23703596.7054 23703604.9714
+ -479.1004 -373.3294
+ 20719896.5124 -23426079.65149 -18209393.22848 20719895.8814 20719902.7374
+ -8.5944 -6.6964
+ 21385969.1064 -22139403.19149 -17235901.37647 21385968.6684 21385974.6124
+ -2554.3474 -1990.3964
+ 20622495.5484 -22935193.19849 -17853680.80348 20622495.5614 20622501.5604
+ 1624.3024 1265.6904
+ 23970673.9754 -8443213.64049 -6565678.51346 23970673.2374 23970679.6684
+ 3302.9284 2573.7154
+ 22722688.2324 -9161423.82949 -6923325.72246 22722687.3484 22722694.1904
+ -1451.7764 -1131.2694
+ 20548027.9914 -22694904.95249 -17230846.04748 20548028.0774 20548035.3374
+ 926.3464 721.8284
+ 05 1 20 18 49 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23706385.3494 -3023561.98549 -2341500.32146 23706384.7114 23706392.6624
+ -497.6674 -387.7934
+ 20719968.0724 -23425705.28549 -18209101.52648 20719967.3244 20719974.0274
+ -16.2524 -12.6654
+ 21400590.6894 -22062563.33449 -17176026.20347 21400590.1704 21400596.6084
+ -2568.3344 -2001.2934
+ 20613263.4854 -22983703.79849 -17891481.26248 20613263.9604 20613270.3464
+ 1609.7944 1254.3824
+ 23951835.0024 -8542218.00049 -6642824.72846 23951835.0974 23951839.5614
+ 3297.3284 2569.3434
+ 22731027.7004 -9117595.85749 -6889174.08946 22731027.3694 22731034.2484
+ -1470.1404 -1145.5674
+ 20542782.2284 -22722476.73249 -17252330.55148 20542781.7414 20542788.5874
+ 911.7654 710.4704
+ 05 1 20 18 49 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23709279.9584 -3008353.16449 -2329649.28946 23709279.8164 23709287.9974
+ -516.2144 -402.2464
+ 20720083.1264 -23425101.02449 -18208630.68148 20720082.4064 20720089.3184
+ -23.9244 -18.6424
+ 21415292.8134 -21985304.49349 -17115824.54247 21415292.2614 21415298.5804
+ -2582.2594 -2012.1514
+ 20604116.2614 -23031776.99149 -17928940.89248 20604116.3614 20604122.5504
+ 1595.1664 1242.9844
+ 23933027.4984 -8641053.61949 -6719839.41646 23933027.5384 23933033.2784
+ 3291.6974 2564.9614
+ 22739473.5284 -9073218.35649 -6854594.24346 22739472.4534 22739479.4584
+ -1488.3854 -1159.7844
+ 20537618.8634 -22749611.59549 -17273474.60248 20537618.3554 20537625.0214
+ 897.2144 699.1314
+ 05 1 20 18 50 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23712279.0564 -2992588.58649 -2317365.22045 23712279.2414 23712288.3584
+ -534.7434 -416.6734
+ 20720241.8054 -23424266.21649 -18207980.19048 20720241.1874 20720247.9484
+ -31.6464 -24.6624
+ 21430074.6364 -21907628.42649 -17055297.78547 21430074.0484 21430080.1034
+ -2596.1484 -2022.9644
+ 20595051.6064 -23079412.65449 -17966059.58148 20595051.5234 20595057.6364
+ 1580.5794 1231.6224
+ 23914251.3664 -8739719.34349 -6796721.69746 23914250.5794 23914258.0274
+ 3285.9564 2560.4714
+ 22748022.1904 -9028292.59849 -6819587.18046 22748021.4584 22748029.5194
+ -1506.6364 -1173.9994
+ 20532537.4954 -22776309.71949 -17294278.33648 20532537.2664 20532544.3544
+ 882.6424 687.7754
+ 05 1 20 18 50 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23715382.6824 -2976269.70449 -2304649.22045 23715383.6924 23715393.6474
+ -553.2164 -431.0754
+ 20720444.6944 -23423200.26549 -18207149.59548 20720444.1784 20720450.8194
+ -39.3314 -30.6494
+ 21444934.7964 -21829536.88649 -16994447.27247 21444934.3344 21444940.0784
+ -2609.9444 -2033.7174
+ 20586069.9084 -23126610.56449 -18002837.16848 20586070.0104 20586076.0314
+ 1566.0274 1220.2784
+ 23895508.0904 -8838214.06349 -6873470.76846 23895506.8794 23895513.7974
+ 3280.2884 2556.0594
+ 22756675.2344 -8982820.06349 -6784154.08346 22756673.5174 22756681.2424
+ -1524.8214 -1188.1614
+ 20527540.2634 -22802571.28549 -17314741.89848 20527540.0154 20527546.8934
+ 868.1094 676.4474
+ 05 1 20 18 51 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23718595.4134 -2959397.68549 -2291502.20346 23718595.0824 23718603.9734
+ -571.5754 -445.3834
+ 20720691.4854 -23421902.51249 -18206138.37348 20720691.0524 20720697.8854
+ -47.0954 -36.6994
+ 21459874.0114 -21751031.44849 -16933274.24647 21459874.0084 21459878.7684
+ -2623.7274 -2044.4644
+ 20577171.7874 -23173370.45449 -18039273.43348 20577171.8544 20577177.9374
+ 1551.3914 1208.8704
+ 23876795.5844 -8936536.39149 -6950085.49946 23876797.1854 23876803.2984
+ 3274.5124 2551.5464
+ 22765431.9334 -8936802.38549 -6748296.18346 22765431.7314 22765438.4444
+ -1543.0454 -1202.3584
+ 20522625.8964 -22828397.01449 -17334865.83848 20522625.6044 20522632.5364
+ 853.5934 665.1354
+ 05 1 20 18 51 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23721911.3474 -2941973.77549 -2277925.15746 23721910.4584 23721920.1184
+ -589.9194 -459.6784
+ 20720982.4844 -23420372.27149 -18204945.98648 20720982.0854 20720989.0334
+ -54.8244 -42.7224
+ 21474891.2664 -21672114.05449 -16871780.21747 21474890.9934 21474896.8354
+ -2637.4194 -2055.1294
+ 20568357.2174 -23219692.13249 -18075368.24548 20568357.3584 20568363.3724
+ 1536.7734 1197.4854
+ 23858120.6194 -9034685.44049 -7026565.17246 23858120.4254 23858126.7334
+ 3268.7064 2547.0414
+ 22774292.1274 -8890241.07149 -6712014.65546 22774291.6514 22774299.0274
+ -1561.1074 -1216.4474
+ 20517793.8774 -22853787.36649 -17354650.52848 20517793.8134 20517800.9424
+ 839.0814 653.8294
+ 05 1 20 18 52 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23725333.7094 -2923999.49549 -2263919.23346 23725331.8114 23725339.2644
+ -608.2954 -473.9964
+ 20721318.4314 -23418608.99849 -18203572.01848 20721317.8694 20721324.6174
+ -62.6204 -48.7954
+ 21489986.8154 -21592786.29849 -16809966.43747 21489986.4754 21489992.6434
+ -2651.0494 -2065.7534
+ 20559625.8144 -23265575.27649 -18111121.34148 20559625.7924 20559632.1064
+ 1522.1664 1186.1034
+ 23839476.8104 -9132659.87449 -7102908.80346 23839476.7624 23839481.5684
+ 3262.8984 2542.5194
+ 22783256.7564 -8843137.58749 -6675310.67446 22783256.0644 22783262.3144
+ -1579.1364 -1230.4874
+ 20513045.8484 -22878742.55549 -17374096.13048 20513045.3054 20513052.3254
+ 824.5984 642.5454
+ 05 1 20 18 52 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23728856.2134 -2905476.18549 -2249485.49546 23728856.8684 23728863.6194
+ -626.5644 -488.2364
+ 20721698.2734 -23416612.02149 -18202015.94448 20721697.5824 20721704.7454
+ -70.4234 -54.8744
+ 21505159.8694 -21513050.03749 -16747834.32847 21505159.7814 21505165.3534
+ -2664.6764 -2076.3674
+ 20550977.6314 -23311019.86749 -18146532.70948 20550978.0144 20550984.3514
+ 1507.5394 1174.7044
+ 23820865.6424 -9230458.53449 -7179115.47546 23820865.0624 23820870.8224
+ 3257.0074 2537.9104
+ 22792321.5824 -8795493.46049 -6638185.40346 22792321.6544 22792329.0494
+ -1597.1544 -1244.5344
+ 20508379.2754 -22903263.05049 -17393203.01148 20508379.0054 20508386.0714
+ 810.1134 631.2554
+ 05 1 20 18 53 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23732484.4884 -2886405.45049 -2234625.19546 23732485.1374 23732493.5984
+ -644.7534 -502.4144
+ 20722122.8494 -23414380.65249 -18200277.21848 20722122.2244 20722129.3384
+ -78.2454 -60.9694
+ 21520411.5644 -21432906.91849 -16685385.17047 21520410.5624 21520416.9164
+ -2678.1934 -2086.9094
+ 20542413.5004 -23356025.61949 -18181602.11148 20542413.6534 20542419.7404
+ 1492.9304 1163.3214
+ 23802289.2114 -9328080.43949 -7255184.37146 23802287.9134 23802295.1604
+ 3251.1294 2533.3394
+ 22801490.8464 -8747310.37949 -6600640.17946 22801490.7314 22801497.9674
+ -1615.0574 -1258.4844
+ 20503795.8604 -22927349.53649 -17411971.70348 20503795.6594 20503802.6324
+ 795.6494 619.9844
+ 05 1 20 18 53 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23736219.7414 -2866788.65049 -2219339.38046 23736219.0314 23736226.2224
+ -662.9604 -516.5994
+ 20722592.6404 -23411914.28149 -18198355.38148 20722591.7664 20722598.5054
+ -86.0754 -67.0714
+ 21535738.8454 -21352358.90649 -16622620.55147 21535738.3604 21535744.6814
+ -2691.6764 -2097.4054
+ 20533933.1404 -23400592.45649 -18216329.51248 20533933.0914 20533939.3694
+ 1478.2874 1151.9094
+ 23783746.6534 -9425524.36649 -7331114.60646 23783745.7424 23783752.4334
+ 3245.1694 2528.7124
+ 22810763.2744 -8698589.86249 -6562676.16946 22810762.0394 22810768.8364
+ -1632.9484 -1272.4224
+ 20499294.8934 -22951002.23649 -17430402.37748 20499294.5554 20499301.7124
+ 781.1894 608.7174
+ 05 1 20 18 54 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23740054.5874 -2846627.16249 -2203629.13546 23740055.4344 23740063.0174
+ -681.0894 -530.7214
+ 20723106.0724 -23409212.22749 -18196249.89648 20723105.8564 20723112.7044
+ -93.9334 -73.1984
+ 21551143.8784 -21271407.67149 -16559541.70947 21551143.1604 21551149.0154
+ -2705.0594 -2107.8374
+ 20525535.8784 -23444720.09449 -18250714.68548 20525535.7654 20525542.1954
+ 1463.6404 1140.4984
+ 23765237.0494 -9522788.89749 -7406905.06346 23765236.7334 23765243.8054
+ 3239.1374 2523.9884
+ 22820134.5484 -8649333.68249 -6524294.75746 22820134.2984 22820142.7994
+ -1650.7634 -1286.3024
+ 20494876.4764 -22974221.67149 -17448495.44148 20494875.9704 20494883.0864
+ 766.7774 597.4864
+ 05 1 20 18 54 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23743995.2064 -2825922.50649 -2187495.65246 23743994.3014 23744003.6614
+ -699.1814 -544.8194
+ 20723665.7794 -23406273.91249 -18193960.30148 20723665.0324 20723671.9674
+ -101.8574 -79.3684
+ 21566624.0054 -21190055.01849 -16496150.07947 21566623.6164 21566629.8244
+ -2718.4274 -2118.2544
+ 20517221.5924 -23488408.59049 -18284757.65948 20517221.8154 20517228.2074
+ 1448.9964 1129.0884
+ 23746760.9744 -9619873.09849 -7482554.97146 23746760.9764 23746768.3504
+ 3233.1224 2519.3114
+ 22829611.0254 -8599543.42749 -6485497.17746 22829610.1274 22829617.1634
+ -1668.5594 -1300.1814
+ 20490539.8834 -22997008.34249 -17466251.29348 20490539.7964 20490546.9204
+ 752.3434 586.2404
+ 05 1 20 18 55 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23748038.6414 -2804676.22349 -2170940.08646 23748037.8494 23748046.4564
+ -717.1884 -558.8564
+ 20724269.7334 -23403098.49949 -18191485.95548 20724269.3494 20724276.3374
+ -109.7544 -85.5194
+ 21582181.4094 -21108302.90149 -16432447.17747 21582181.1824 21582186.9014
+ -2731.7124 -2128.6054
+ 20508991.6714 -23531657.82949 -18318458.35848 20508991.7804 20508998.0384
+ 1434.3534 1117.6774
+ 23728322.2614 -9716775.85849 -7558063.54546 23728322.7504 23728329.0774
+ 3227.0474 2514.5724
+ 22839186.1894 -8549220.89349 -6446284.84646 22839185.2354 22839192.7854
+ -1686.2584 -1313.9664
+ 20486286.2234 -23019362.86349 -17483670.39648 20486285.7324 20486292.8384
+ 737.9574 575.0324
+ 05 1 20 18 55 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23752182.5014 -2782889.79449 -2153963.65446 23752183.6214 23752191.9214
+ -735.2224 -572.8964
+ 20724918.9744 -23399685.50349 -18188826.48148 20724918.6054 20724925.7324
+ -117.6824 -91.7034
+ 21597814.0864 -21026153.09249 -16368434.38547 21597813.4124 21597819.9394
+ -2744.9294 -2138.9094
+ 20500845.9264 -23574467.56149 -18351816.58548 20500845.5184 20500851.9094
+ 1419.7124 1106.2674
+ 23709916.6694 -9813495.88749 -7633429.67746 23709916.6314 23709922.6324
+ 3220.9174 2509.8014
+ 22848863.7764 -8498367.51949 -6406658.86546 22848863.4624 22848869.9214
+ -1703.9424 -1327.7464
+ 20482113.8204 -23041285.76749 -17500753.18448 20482114.0264 20482120.9634
+ 723.5664 563.8194
+ 05 1 20 18 56 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23756432.3674 -2760564.86549 -2136567.60546 23756432.4764 23756440.4084
+ -753.1414 -586.8614
+ 20725614.2934 -23396034.23349 -18185981.33448 20725613.4584 20725620.3204
+ -125.6764 -97.9294
+ 21613521.5354 -20943607.43149 -16304113.15047 21613521.5194 21613527.6534
+ -2758.1214 -2149.1804
+ 20492782.6224 -23616837.88549 -18384832.41948 20492782.9354 20492789.1674
+ 1405.0324 1094.8304
+ 23691546.5204 -9910032.19249 -7708652.70246 23691545.5584 23691552.5294
+ 3214.7804 2505.0284
+ 22858641.9034 -8446985.19149 -6366620.70446 22858640.7244 22858648.7154
+ -1721.5314 -1341.4454
+ 20478024.3984 -23062777.44249 -17517499.94348 20478024.1774 20478031.4534
+ 709.1824 552.6094
+ 05 1 20 18 56 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23760782.3504 -2737703.06649 -2118753.20846 23760782.8534 23760790.7654
+ -770.9944 -600.7754
+ 20726354.4474 -23392144.04749 -18182950.02648 20726353.8904 20726360.8604
+ -133.6254 -104.1224
+ 21629304.8774 -20860667.83849 -16239484.94347 21629304.3724 21629310.4484
+ -2771.1994 -2159.3714
+ 20484803.4354 -23658768.54049 -18417505.65548 20484803.7634 20484809.9154
+ 1390.3664 1083.4024
+ 23673211.4724 -10006383.57649 -7783731.60746 23673211.7164 23673218.1864
+ 3208.6004 2500.2064
+ 22868519.1324 -8395075.69049 -6326171.80246 22868518.8144 22868524.8744
+ -1739.1104 -1355.1364
+ 20474016.8054 -23083838.44149 -17533911.11148 20474016.5414 20474023.7514
+ 694.8714 541.4614
+ 05 1 20 18 57 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23765234.9114 -2714306.16249 -2100521.86846 23765234.9434 23765243.6034
+ -788.8314 -614.6744
+ 20727140.5734 -23388014.28749 -18179732.03348 20727139.4804 20727146.5984
+ -141.6154 -110.3504
+ 21645162.0544 -20777336.13449 -16174551.20647 21645162.3144 21645168.0974
+ -2784.2204 -2169.5154
+ 20476908.2224 -23700259.56649 -18449836.31648 20476908.0964 20476914.5774
+ 1375.7324 1071.9994
+ 23654911.5234 -10102549.08849 -7858665.67946 23654911.6284 23654917.0824
+ 3202.4034 2495.3804
+ 22878498.6024 -8342640.63049 -6285313.32946 22878497.0324 22878505.0414
+ -1756.5574 -1368.7424
+ 20470090.8254 -23104469.54849 -17549987.30248 20470090.7204 20470097.6684
+ 680.5424 530.2904
+ 05 1 20 18 57 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23769788.1114 -2690375.63349 -2081874.73146 23769788.6074 23769797.0084
+ -806.5914 -628.5144
+ 20727971.5514 -23383644.38049 -18176326.91648 20727971.2184 20727978.1284
+ -149.6504 -116.6104
+ 21661094.5634 -20693614.28649 -16109313.45247 21661093.7124 21661099.9834
+ -2797.2204 -2179.6494
+ 20469096.0884 -23741310.98949 -18481824.43448 20469096.2614 20469102.5714
+ 1361.0994 1060.5954
+ 23636648.3344 -10198527.49249 -7933453.95846 23636647.7054 23636653.6084
+ 3196.1234 2490.4894
+ 22888574.6774 -8289681.71149 -6244046.68046 22888574.1604 22888581.2494
+ -1773.9894 -1382.3284
+ 20466247.2854 -23124671.07349 -17565728.74948 20466246.6164 20466253.3884
+ 666.2144 519.1264
+ 05 1 20 18 58 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23774443.7474 -2665913.15149 -2062813.04846 23774443.8464 23774452.2524
+ -824.3254 -642.3284
+ 20728849.7874 -23379033.46949 -18172734.00048 20728848.7414 20728855.4044
+ -157.6684 -122.8584
+ 21677100.2464 -20609504.04649 -16043773.06947 21677100.0784 21677105.6734
+ -2810.1324 -2189.7054
+ 20461368.2154 -23781922.49449 -18513469.75948 20461368.4584 20461374.2184
+ 1346.4004 1049.1434
+ 23618418.7434 -10294317.49649 -8008095.39646 23618419.7054 23618424.7414
+ 3189.8884 2485.6204
+ 22898752.8434 -8236200.76349 -6202373.25446 22898752.0354 22898760.0654
+ -1791.3874 -1395.8934
+ 20462484.1934 -23144443.57049 -17581135.89348 20462483.8994 20462491.1504
+ 651.9154 507.9874
+ 05 1 20 18 58 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23779198.9214 -2640920.48349 -2043338.26546 23779200.5604 23779207.7684
+ -841.9274 -656.0474
+ 20729772.9464 -23374181.01149 -18168952.87348 20729772.1184 20729779.0284
+ -165.7284 -129.1414
+ 21693179.3704 -20525007.59449 -15977931.71447 21693178.9974 21693184.7434
+ -2822.9694 -2199.7234
+ 20453723.8604 -23822094.35849 -18544772.50648 20453723.7314 20453729.9804
+ 1331.7814 1037.7484
+ 23600227.3204 -10389918.12849 -8082589.31046 23600226.2724 23600232.5304
+ 3183.4924 2480.6394
+ 22909029.1854 -8182199.69349 -6160294.53346 22909028.2724 22909035.5054
+ -1808.6814 -1409.3564
+ 20458803.0804 -23163787.63749 -17596209.18548 20458802.5794 20458809.8924
+ 637.6774 496.8924
+ 05 1 20 18 59 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23784056.5094 -2615399.15549 -2023451.51546 23784056.2864 23784065.2314
+ -859.4844 -669.7344
+ 20730741.8644 -23369086.32549 -18164982.99748 20730741.5884 20730748.3144
+ -173.8324 -135.4504
+ 21709331.5854 -20440126.67549 -15911790.80447 21709331.2094 21709337.4624
+ -2835.7394 -2209.6634
+ 20446163.0714 -23861826.33449 -18575732.48748 20446163.0894 20446169.2804
+ 1317.1104 1026.3224
+ 23582069.9414 -10485328.45449 -8156934.95746 23582069.8654 23582076.7444
+ 3177.1714 2475.7244
+ 22919402.5674 -8127680.07949 -6117811.77646 22919402.6214 22919409.8384
+ -1825.9634 -1422.8344
+ 20455202.7174 -23182704.12849 -17610949.30648 20455202.8204 20455210.2694
+ 623.4064 485.7754
+ 05 1 20 18 59 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23789013.3174 -2589350.71049 -2003154.04346 23789013.2704 23789021.0054
+ -877.0634 -683.4314
+ 20731757.9404 -23363748.80949 -18160823.89848 20731757.2254 20731764.1984
+ -181.9274 -141.7634
+ 21725555.9924 -20354863.30249 -15845351.87047 21725555.7854 21725562.4734
+ -2848.4834 -2219.5914
+ 20438685.5734 -23901118.71549 -18606349.91948 20438685.8334 20438692.2394
+ 1302.4474 1014.8944
+ 23563951.6294 -10580547.35649 -8231131.41546 23563950.8514 23563957.7974
+ 3170.7474 2470.7044
+ 22929875.7054 -8072643.97249 -6074926.54046 22929875.3574 22929883.1034
+ -1843.1384 -1436.2114
+ 20451685.2404 -23201193.44849 -17625356.56448 20451684.6444 20451691.7914
+ 609.1834 474.6884
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 19 0 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23794071.1834 -2562777.02149 -1982447.29746 23794070.8024 23794076.7554
+ -894.5354 -697.0384
+ 20732820.0984 -23358167.64849 -18156474.95348 20732819.2574 20732826.3124
+ -190.0664 -148.1044
+ 21741854.0044 -20269219.30449 -15778616.34447 21741853.7754 21741859.2944
+ -2861.1394 -2229.4514
+ 20431292.7754 -23939971.27449 -18636624.63348 20431292.6474 20431299.0634
+ 1287.7734 1003.4594
+ 23545869.2054 -10675573.62049 -8305177.76046 23545868.4964 23545873.4584
+ 3164.3024 2465.6954
+ 22940448.3024 -8017093.08849 -6031640.15946 22940446.6584 22940453.9564
+ -1860.2414 -1449.5344
+ 20448247.4894 -23219256.45149 -17639431.62948 20448247.3864 20448254.4514
+ 594.9914 463.6294
+ 05 1 20 19 0 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23799225.9344 -2535679.87849 -1961332.64046 23799226.4814 23799235.0444
+ -911.9484 -710.6054
+ 20733928.1304 -23352342.35749 -18151935.77948 20733927.8644 20733934.8084
+ -198.1984 -154.4374
+ 21758223.5534 -20183196.77449 -15711585.84947 21758223.4634 21758229.4414
+ -2873.6904 -2239.2384
+ 20423982.3294 -23978384.17349 -18666556.75548 20423982.7874 20423989.1624
+ 1273.1424 992.0594
+ 23527823.0074 -10770406.27349 -8379073.26446 23527822.8384 23527826.7584
+ 3157.8644 2460.6724
+ 22951115.7024 -7961029.22149 -5987954.08846 22951114.6104 22951122.8794
+ -1877.3164 -1462.8494
+ 20444891.6084 -23236893.80049 -17653175.01548 20444891.4204 20444898.2584
+ 580.8304 452.5954
+ 05 1 20 19 1 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23804484.4254 -2508061.15949 -1939811.55046 23804483.1214 23804490.2094
+ -929.3564 -724.1714
+ 20735083.6514 -23346272.20249 -18147205.79748 20735082.9624 20735089.9474
+ -206.3834 -160.8154
+ 21774664.1264 -20096797.69349 -15644261.94847 21774664.1074 21774670.5454
+ -2886.2354 -2249.0124
+ 20416757.0804 -24016357.56749 -18696146.40748 20416756.9174 20416762.9294
+ 1258.4844 980.6364
+ 23509812.8804 -10865044.04249 -8452816.90346 23509812.1404 23509818.8864
+ 3151.2994 2455.5414
+ 22961881.9044 -7904454.24849 -5943869.73946 22961881.1164 22961889.4194
+ -1894.3554 -1476.1244
+ 20441616.0374 -23254105.95349 -17666587.07348 20441615.7024 20441622.8044
+ 566.6494 441.5434
+ 05 1 20 19 1 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23809837.3274 -2479922.62849 -1917885.41646 23809836.4084 23809844.8064
+ -946.6094 -737.6104
+ 20736285.5334 -23339956.43849 -18142284.43448 20736284.9364 20736291.9534
+ -214.5694 -167.1954
+ 21791176.7514 -20010023.98649 -15576646.13947 21791177.0624 21791183.3594
+ -2898.6714 -2258.6954
+ 20409613.6234 -24053891.38449 -18725393.52848 20409614.3094 20409620.2564
+ 1243.8264 969.2144
+ 23491841.2774 -10959486.01349 -8526407.99046 23491841.4494 23491848.2894
+ 3144.7864 2450.4874
+ 22972745.3834 -7847370.20549 -5899388.70846 22972744.4344 22972751.8504
+ -1911.2714 -1489.2914
+ 20438421.6514 -23270893.64749 -17679668.38748 20438421.0824 20438428.0854
+ 552.5174 430.5334
+ 05 1 20 19 2 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23815290.2244 -2451266.11849 -1895555.67246 23815289.9714 23815298.4384
+ -963.8174 -751.0244
+ 20737534.3654 -23333394.41349 -18137171.17348 20737533.4504 20737540.5524
+ -222.8024 -173.6114
+ 21807761.5124 -19922877.69149 -15508739.99447 21807760.9034 21807766.3694
+ -2911.0854 -2268.3794
+ 20402555.2654 -24090985.68649 -18754298.16348 20402555.2624 20402561.7344
+ 1229.1744 957.7964
+ 23473904.0214 -11053731.20049 -8599845.72846 23473906.4024 23473912.9804
+ 3138.1914 2445.3384
+ 22983704.1764 -7789779.24349 -5854512.69846 22983702.6494 22983710.9124
+ -1928.1124 -1502.4224
+ 20435306.9504 -23287257.62449 -17692419.53348 20435306.9724 20435314.3854
+ 538.4044 419.5344
+ 05 1 20 19 2 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23820843.0604 -2422093.39549 -1872823.70545 23820841.6274 23820849.8284
+ -981.0014 -764.4154
+ 20738830.1464 -23326585.55849 -18131865.58948 20738829.3314 20738835.8614
+ -231.0644 -180.0514
+ 21824415.3244 -19835361.09149 -15440545.29347 21824414.5164 21824419.8564
+ -2923.3624 -2277.9424
+ 20395579.9574 -24127640.65949 -18782860.47848 20395579.9374 20395586.2114
+ 1214.5514 946.4024
+ 23456013.4354 -11147778.36649 -8673129.20546 23456011.3534 23456016.6544
+ 3131.6004 2440.2044
+ 22994757.4054 -7731683.18949 -5809243.08046 22994758.6674 22994766.6714
+ -1944.9394 -1515.5394
+ 20432274.2484 -23303198.57149 -17704841.04648 20432273.6164 20432280.7564
+ 524.3114 408.5544
+ 05 1 20 19 3 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23826489.4474 -2392406.54749 -1849691.08745 23826489.2084 23826497.8174
+ -998.1184 -777.7524
+ 20740172.3764 -23319529.16449 -18126367.10148 20740172.0584 20740178.9134
+ -239.3034 -186.4734
+ 21841138.9544 -19747475.93949 -15372063.42647 21841138.4274 21841144.3604
+ -2935.6254 -2287.5024
+ 20388688.4974 -24163856.40449 -18811080.52648 20388688.5724 20388694.6454
+ 1199.8914 934.9774
+ 23438152.3634 -11241626.54449 -8746257.60546 23438151.9624 23438157.9104
+ 3124.9444 2435.0344
+ 23005911.9364 -7673083.84449 -5763581.29646 23005910.4104 23005917.5394
+ -1961.6844 -1528.5814
+ 20429320.9294 -23318717.15149 -17716933.43848 20429320.6724 20429327.5774
+ 510.2564 397.5964
+ 05 1 20 19 3 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23832238.8984 -2362207.53749 -1826159.38246 23832236.7784 23832246.3044
+ -1015.1544 -791.0374
+ 20741562.8444 -23312224.56349 -18120675.20748 20741562.0374 20741568.9104
+ -247.5864 -192.9284
+ 21857933.1274 -19659224.03349 -15303295.75947 21857932.1824 21857938.4184
+ -2947.8254 -2297.0074
+ 20381880.4374 -24199633.02149 -18838958.39748 20381880.4454 20381886.8384
+ 1185.2624 923.5804
+ 23420328.9524 -11335274.75549 -8819230.20646 23420330.5114 23420335.7894
+ 3118.2694 2429.8204
+ 23017154.9704 -7613983.05249 -5717528.78446 23017155.3044 23017163.7934
+ -1978.3634 -1541.5924
+ 20426448.0254 -23333814.04049 -17728697.24648 20426447.9854 20426454.9204
+ 496.1994 386.6454
+ 05 1 20 19 4 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23838082.1674 -2331497.98549 -1802229.89646 23838081.9764 23838089.9084
+ -1032.1514 -804.2674
+ 20743000.3264 -23304671.08049 -18114789.38148 20742999.6694 20743006.2224
+ -255.8714 -199.3794
+ 21874795.4414 -19570607.71449 -15234244.14147 21874795.3254 21874802.1944
+ -2959.9304 -2306.4294
+ 20375156.1174 -24234970.62649 -18866494.18448 20375155.9584 20375161.9974
+ 1170.6044 912.1594
+ 23402549.4584 -11428721.97449 -8892046.18246 23402549.1034 23402554.2514
+ 3111.5314 2424.5724
+ 23028499.3874 -7554383.00349 -5671087.20246 23028497.8654 23028505.6234
+ -1994.9784 -1554.5244
+ 20423655.3094 -23348490.08149 -17740133.11648 20423655.1644 20423662.1364
+ 482.1964 375.7364
+ 05 1 20 19 4 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23844021.6624 -2300280.00949 -1777904.22345 23844021.1054 23844030.1714
+ -1049.0624 -817.4624
+ 20744485.2274 -23296867.98349 -18108709.04848 20744484.5274 20744491.0864
+ -264.2304 -205.8954
+ 21891726.7084 -19481628.96149 -15164910.11547 21891726.9444 21891733.6234
+ -2971.9854 -2315.8264
+ 20368514.5614 -24269869.29149 -18893687.93348 20368514.8464 20368521.1064
+ 1156.0074 900.7854
+ 23384806.3544 -11521966.93349 -8964704.53446 23384805.3894 23384811.5314
+ 3104.7844 2419.3004
+ 23039934.8224 -7494285.62449 -5624258.10846 23039934.0934 23039940.9854
+ -2011.4814 -1567.3794
+ 20420942.3214 -23362745.85549 -17751241.50248 20420941.9754 20420949.2814
+ 468.1884 364.8174
+ 05 1 20 19 5 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23850057.2334 -2268555.35349 -1753183.69846 23850057.7474 23850067.6364
+ -1065.8934 -830.5674
+ 20746017.4014 -23288814.66349 -18102433.73148 20746016.7174 20746023.8484
+ -272.5804 -212.3974
+ 21908728.7284 -19392290.08549 -15095295.45347 21908727.8134 21908734.3104
+ -2983.9414 -2325.1444
+ 20361956.9434 -24304329.34449 -18920539.90748 20361957.3084 20361963.6344
+ 1141.4144 889.4154
+ 23367099.9134 -11615008.82149 -9037204.65946 23367100.1094 23367106.4554
+ 3098.0074 2414.0364
+ 23051463.5024 -7433692.95249 -5577043.07446 23051462.9694 23051471.9574
+ -2027.9924 -1580.2554
+ 20418309.2454 -23376582.19149 -17762023.05948 20418309.2004 20418316.3064
+ 454.2284 353.9444
+ 05 1 20 19 5 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23856191.1614 -2236325.93449 -1728069.88045 23856190.3124 23856200.4894
+ -1082.6744 -843.6384
+ 20747598.0724 -23280510.38149 -18095962.86648 20747597.1774 20747604.0894
+ -280.9514 -218.9214
+ 21925798.3014 -19302592.85849 -15025401.57047 21925797.6034 21925803.1214
+ -2995.8554 -2334.4394
+ 20355483.6104 -24338350.89549 -18947050.19348 20355483.6044 20355489.4314
+ 1126.7814 878.0114
+ 23349432.9204 -11707846.60449 -9109545.76546 23349432.7794 23349439.0594
+ 3091.1334 2408.6844
+ 23063089.6834 -7372606.96549 -5529443.64646 23063088.9504 23063096.2834
+ -2044.4294 -1593.0624
+ 20415756.0904 -23389999.86349 -17772478.39048 20415755.8984 20415762.9894
+ 440.2634 343.0654
+ 05 1 20 19 6 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23862419.4004 -2203593.81749 -1702564.37546 23862420.1784 23862428.6604
+ -1099.4244 -856.6894
+ 20749226.1814 -23271954.56449 -18089295.99448 20749225.1344 20749232.0724
+ -289.3394 -225.4594
+ 21942934.1914 -19212539.54949 -14955230.22247 21942933.5554 21942939.4474
+ -3007.6844 -2343.6414
+ 20349092.2344 -24371934.39749 -18973219.13748 20349092.3194 20349098.6864
+ 1112.2064 866.6554
+ 23331805.3434 -11800479.19949 -9181726.96246 23331805.3424 23331810.0684
+ 3084.2944 2403.3394
+ 23074807.1504 -7311029.74849 -5481461.43146 23074806.1254 23074814.5844
+ -2060.7564 -1605.7804
+ 20413282.4044 -23402999.57549 -17782608.03348 20413282.3084 20413289.1734
+ 426.3674 332.2344
+ 05 1 20 19 6 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23868743.2984 -2170361.12549 -1676668.79146 23868744.3544 23868752.5304
+ -1116.0414 -869.6404
+ 20750902.0304 -23263146.46249 -18082432.53548 20750901.1524 20750908.1804
+ -297.7604 -232.0244
+ 21960137.9304 -19122132.27149 -14884783.05447 21960137.4114 21960144.1644
+ -3019.4604 -2352.8314
+ 20342784.8264 -24405079.61149 -18999046.57348 20342785.3164 20342791.2994
+ 1097.5714 855.2504
+ 23314216.0834 -11892905.65049 -9253747.50846 23314216.9034 23314222.4184
+ 3077.4064 2397.9834
+ 23086616.0444 -7248963.44849 -5433098.12646 23086616.5204 23086624.9394
+ -2077.0424 -1618.4544
+ 20410887.8544 -23415582.43949 -17792412.86048 20410887.7964 20410894.8264
+ 412.4734 321.4104
+ 05 1 20 19 7 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23875162.3344 -2136630.07249 -1650384.87345 23875163.5894 23875170.1824
+ -1132.6324 -882.5644
+ 20752626.3714 -23254085.46149 -18075372.01848 20752625.6554 20752632.5624
+ -306.1794 -238.5834
+ 21977409.6704 -19031373.14049 -14814061.71547 21977409.1664 21977414.4844
+ -3031.1414 -2361.9274
+ 20336561.2764 -24437787.00349 -19024532.83348 20336561.4524 20336567.2744
+ 1082.9684 843.8674
+ 23296668.4644 -11985124.73549 -9325606.50046 23296667.6854 23296672.6304
+ 3070.5294 2392.6224
+ 23098522.2744 -7186410.02449 -5384355.22946 23098521.5964 23098528.5784
+ -2093.2104 -1631.0714
+ 20408572.1424 -23427748.81049 -17801893.14148 20408572.3474 20408579.5384
+ 398.6094 310.6034
+ 05 1 20 19 7 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23881676.6594 -2102402.60349 -1623714.12546 23881676.8494 23881684.1454
+ -1149.1314 -895.4284
+ 20754399.2104 -23244770.94249 -18068113.94948 20754398.2354 20754404.8804
+ -314.6624 -245.1914
+ 21994746.8164 -18940264.20549 -14743067.79447 21994746.2644 21994752.1214
+ -3042.7774 -2370.9894
+ 20330420.1874 -24470056.77849 -19049678.10148 20330420.3254 20330426.4064
+ 1068.4224 832.5384
+ 23279157.3934 -12077135.65649 -9397303.26246 23279158.4984 23279164.2834
+ 3063.6304 2387.2414
+ 23110517.0294 -7123371.70749 -5335234.47946 23110516.3744 23110523.9784
+ -2109.3304 -1643.6324
+ 20406336.7074 -23439499.61749 -17811049.61048 20406336.4984 20406343.4844
+ 384.7784 299.8264
+ 05 1 20 19 8 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23888285.0884 -2067680.66149 -1596658.06146 23888283.6604 23888292.2974
+ -1165.6144 -908.2684
+ 20756219.6134 -23235202.06949 -18060657.69048 20756219.0134 20756225.7644
+ -323.1494 -251.8064
+ 22012149.9304 -18848807.63449 -14671803.00347 22012149.5134 22012156.0394
+ -3054.3254 -2380.0014
+ 20324363.3244 -24501889.15649 -19074482.54048 20324362.8614 20324369.1244
+ 1053.8024 821.1454
+ 23261691.5424 -12168937.18849 -9468836.86446 23261690.6834 23261696.5134
+ 3056.5454 2381.7084
+ 23122605.1404 -7059850.47849 -5285737.45446 23122604.0854 23122611.7424
+ -2125.4094 -1656.1554
+ 20404179.6004 -23450835.95949 -17819883.11748 20404179.1824 20404186.3094
+ 370.9844 289.0764
+ 05 1 20 19 8 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23894983.9844 -2032466.38849 -1569218.41646 23894985.9584 23894993.6064
+ -1181.9924 -921.0314
+ 20758089.5964 -23225378.15149 -18053002.69548 20758088.7984 20758095.4714
+ -331.6704 -258.4444
+ 22029618.9344 -18757005.52049 -14600268.95747 22029619.1594 22029625.7804
+ -3065.7994 -2388.9294
+ 20318388.6214 -24533284.30749 -19098946.28548 20318388.6394 20318394.9584
+ 1039.2394 809.7954
+ 23244261.7214 -12260528.51949 -9540206.68746 23244260.8264 23244266.8544
+ 3049.5454 2376.2694
+ 23134784.0924 -6995848.45849 -5235865.77346 23134783.3904 23134790.9394
+ -2141.4364 -1668.6604
+ 20402101.2924 -23461758.71149 -17828394.34748 20402100.6884 20402107.6034
+ 357.1914 278.3314
+ 05 1 20 19 9 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23901779.3234 -1996761.89749 -1541396.72646 23901778.3504 23901787.8134
+ -1198.2904 -933.7304
+ 20760006.9244 -23215298.75149 -18045148.61948 20760006.4454 20760013.4614
+ -340.1954 -265.0904
+ 22047154.0204 -18664860.02549 -14528467.33147 22047153.4884 22047160.0894
+ -3077.2344 -2397.8464
+ 20312496.4854 -24564242.65449 -19123069.66948 20312497.3974 20312503.5254
+ 1024.7064 798.4724
+ 23226870.3404 -12351908.79349 -9611412.04246 23226870.6874 23226877.8474
+ 3042.4904 2370.7624
+ 23147053.5984 -6931367.79449 -5185621.13746 23147053.2064 23147061.7244
+ -2157.3114 -1681.0164
+ 20400100.6684 -23472268.56449 -17836583.83848 20400100.6474 20400107.7724
+ 343.4364 267.6114
+ 05 1 20 19 9 30.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23908667.0254 -1960569.28949 -1513194.73145 23908666.3464 23908674.6654
+ -1214.5264 -946.3824
+ 20761973.7134 -23204962.94949 -18037094.75348 20761973.4394 20761980.1654
+ -348.7554 -271.7574
+ 22064754.6934 -18572373.26249 -14456399.77647 22064753.1724 22064760.3744
+ -3088.5584 -2406.6654
+ 20306689.1094 -24594764.42849 -19146852.85548 20306689.3414 20306695.6594
+ 1010.1624 787.1394
+ 23209522.0934 -12443076.96649 -9682452.13146 23209522.5014 23209529.1754
+ 3035.4104 2365.2544
+ 23159415.5984 -6866410.64949 -5135005.24846 23159414.9224 23159422.2244
+ -2173.1434 -1693.3544
+ 20398179.6134 -23482366.04049 -17844451.99348 20398179.2464 20398186.0974
+ 329.7164 256.9204
+ 05 1 20 19 10 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23915647.5504 -1923890.63249 -1484613.98445 23915645.5174 23915655.0384
+ -1230.7174 -959.0024
+ 20763990.0974 -23194370.16649 -18028840.65148 20763989.2874 20763996.0184
+ -357.3224 -278.4314
+ 22082417.6604 -18479547.53849 -14384068.13047 22082417.4634 22082424.3384
+ -3099.8244 -2415.4404
+ 20300964.1044 -24624850.00349 -19170296.16148 20300964.1504 20300970.1914
+ 995.6174 775.8064
+ 23192214.3244 -12534032.10749 -9753326.22446 23192215.2704 23192220.5844
+ 3028.2864 2359.7044
+ 23171865.5524 -6800979.26149 -5084019.77946 23171866.3194 23171874.2334
+ -2188.9694 -1705.6864
+ 20396336.3714 -23492052.29649 -17851999.72348 20396335.8244 20396342.7734
+ 316.0234 246.2534
+ 05 1 20 19 10 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 23922718.2794 -1886728.05349 -1455656.15346 23922718.7644 23922727.0724
+ -1246.7414 -971.4924
+ 20766054.3394 -23183519.83249 -18020385.84348 20766053.5984 20766060.5164
+ -365.9324 -285.1414
+ 22100146.3244 -18386384.99249 -14311474.00147 22100145.4184 22100152.5794
+ -3111.0264 -2424.1834
+ 20295321.7664 -24654499.49049 -19193399.64948 20295322.0524 20295328.3814
+ 981.1164 764.5064
+ 23174947.5754 -12624773.07349 -9824033.41146 23174947.0064 23174952.3604
+ 3021.1184 2354.1094
+ -269487.42241 -154056.575 4 25624566.012
+ 2978.4454 2321.846
+ 23184408.4544 -6735075.77549 -5032666.45046 23184407.7644 23184414.0174
+ -2204.6204 -1717.8884
+ 20394570.8834 -23501328.04849 -17859227.57348 20394570.7364 20394577.5744
+ 302.3744 235.6134
+ 05 1 20 19 11 0.0000000 0 7G 9G 7G28G 4G 2G20G24
+ 23929884.4584 -1849084.03749 -1426323.15346 23929882.0474 23929890.3834
+ -1262.8204 -984.0134
+ 20768168.7154 -23172411.11349 -18011729.71348 20768168.1544 20768174.5994
+ -374.5474 -291.8514
+ 22117938.3554 -18292887.96849 -14238619.23847 22117937.6714 22117944.3274
+ -3122.1274 -2432.8214
+ 20289762.7844 -24683713.38249 -19216163.71148 20289762.9644 20289769.2284
+ 966.5904 753.1894
+ 23157720.3384 -12715299.02349 -9894573.05046 23157720.9924 23157726.1464
+ 3013.9314 2348.5174
+ 23197038.1164 -6668702.39749 -4980946.97246 23197037.0094 23197045.5194
+ -2220.2634 -1730.0834
+ 20392884.1844 -23510194.38649 -17866136.41048 20392883.9824 20392890.7134
+ 288.7324 224.9864
+ 05 1 20 19 11 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 23937136.3824 -1810960.60949 -1396616.60346 23937136.5724 23937145.6324
+ -1278.7094 -996.3954
+ 20770331.2514 -23161043.37949 -18002871.74548 20770330.8634 20770337.6964
+ -383.1944 -298.5954
+ 22135793.7354 -18199058.47149 -14165505.41747 22135793.2514 22135799.2604
+ -3133.1634 -2441.4254
+ 20284286.3394 -24712492.05049 -19238588.63648 20284286.4044 20284292.5444
+ 952.0784 741.8744
+ 23140536.4414 -12805608.92349 -9964944.35746 23140535.4944 23140540.6934
+ 3006.7114 2342.8894
+ 25579122.7164 -76689.17049 -33057.37843
+ 2972.6404 2316.3434
+ 23209756.3094 -6601861.23549 -4928862.98846 23209756.1534 23209763.7834
+ -2235.7874 -1742.1764
+ 20391274.5054 -23518652.24249 -17872726.93448 20391274.3594 20391281.0914
+ 275.1304 214.3844
+ 05 1 20 19 12 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 23944481.8864 -1772359.98649 -1366538.21745 23944482.3074 23944489.5014
+ -1294.5974 -1008.7684
+ 20772544.9814 -23149416.04849 -17993811.49648 20772543.8664 20772550.5784
+ -391.8734 -305.3564
+ 22153712.6504 -18104898.87549 -14092134.36247 22153711.6054 22153718.0984
+ -3144.1484 -2449.9804
+ 20278892.4614 -24740835.66449 -19260674.55848 20278892.6564 20278898.9124
+ 937.5694 730.5684
+ 23123391.7914 -12895701.87049 -10035146.62246 23123391.3884 23123395.9734
+ 2999.4304 2337.2104
+ 25562160.7684 -165819.94949 -102509.37945
+ 2969.3984 2313.8104
+ 23222566.4144 -6534554.42149 -4876416.13846 23222564.5614 23222572.6314
+ -2251.3074 -1754.2754
+ 20389742.8564 -23526702.35349 -17878999.75348 20389742.5134 20389749.2674
+ 261.5414 203.7984
+ 05 1 20 19 12 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 23951919.3694 -1733284.44849 -1336089.74745 23951918.5734 23951925.5254
+ -1310.4164 -1021.0954
+ 20774806.1854 -23137528.46849 -17984548.45548 20774805.8604 20774812.5474
+ -400.5524 -312.1204
+ 22171691.4784 -18010411.13849 -14018507.62347 22171691.0824 22171698.3524
+ -3155.0164 -2458.4524
+ 20273581.3924 -24768744.75549 -19282421.88848 20273581.8324 20273588.0994
+ 923.1034 719.3014
+ 23106287.5114 -12985576.85149 -10105179.02646 23106288.1504 23106293.9714
+ 2992.1824 2331.5724
+ 25545218.8964 -254859.65349 -171890.89045
+ 2966.4604 2311.5284
+ 23235460.7394 -6466784.39049 -4823608.34346 23235460.5504 23235467.8984
+ -2266.6944 -1766.2554
+ 20388288.0894 -23534345.84649 -17884955.71148 20388287.7724 20388294.8474
+ 248.0134 193.2564
+ 05 1 20 19 13 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 23959440.4514 -1693736.23549 -1305272.98445 23959442.8064 23959450.2334
+ -1326.1024 -1033.3294
+ 20777118.2164 -23125379.88949 -17975082.04348 20777117.4534 20777124.4814
+ -409.2394 -318.8894
+ 22189734.2524 -17915597.69749 -13944627.08447 22189733.7774 22189740.6524
+ -3165.8374 -2466.8834
+ 20268353.4714 -24796219.60349 -19303830.85248 20268353.7094 20268359.7094
+ 908.6224 708.0154
+ 23089227.7054 -13075233.15849 -10175041.05747 23089227.8844 23089233.3154
+ 2984.8674 2325.8624
+ 25528293.2174 -343806.89349 -241200.33945 25528288.2004 25528298.8204
+ 2963.3414 2309.0904
+ 23248446.8374 -6398553.33749 -4770441.29846 23248446.0734 23248453.3694
+ -2282.0154 -1778.1894
+ 20386910.5674 -23541583.73449 -17890595.62848 20386910.4204 20386917.6644
+ 234.5064 182.7284
+ 05 1 20 19 13 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 23967059.5274 -1653717.37549 -1274089.46945 23967057.5494 23967066.6514
+ -1341.7734 -1045.5394
+ 20779479.5814 -23112969.57049 -17965411.68048 20779479.1174 20779485.9534
+ -418.0064 -325.7144
+ 22207838.9984 -17820460.87249 -13870494.55347 22207838.4324 22207845.1424
+ -3176.5784 -2475.2504
+ 20263207.8454 -24823260.64949 -19324901.78048 20263207.9964 20263214.0174
+ 894.1914 696.7724
+ 23072208.0404 -13164669.64349 -10244731.79246 23072208.1404 23072213.4824
+ 2977.5474 2320.1634
+ 25511382.2164 -432661.24049 -310437.38945 25511379.6674 25511391.2284
+ 2960.2734 2306.7074
+ 23261516.1554 -6329863.55049 -4716916.82546 23261516.0814 23261523.4694
+ -2297.2614 -1790.0734
+ 20385610.4404 -23548416.69849 -17895920.01148 20385610.0674 20385617.3544
+ 221.0244 172.2294
+ 05 1 20 19 14 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 23974763.4724 -1613230.23849 -1242541.08346 23974763.0424 23974771.7704
+ -1357.3414 -1057.6704
+ 20781891.5004 -23100296.99549 -17955536.95448 20781890.6904 20781897.7264
+ -426.7604 -332.5414
+ 22226002.2054 -17725002.87249 -13796111.77147 22226002.4834 22226009.3034
+ -3187.2644 -2483.5754
+ 20258143.8924 -24849868.28849 -19345634.99148 20258144.2994 20258150.8114
+ 879.7234 685.4954
+ 23055232.2254 -13253885.57149 -10314250.65547 23055231.1624 23055236.6064
+ 2970.1584 2314.3954
+ 25494490.8864 -521421.48849 -379601.19345 25494488.9834 25494500.4254
+ 2957.1364 2304.2554
+ 23274675.7634 -6260717.28549 -4663036.64446 23274675.8734 23274682.6014
+ -2312.4734 -1801.9204
+ 20384387.1724 -23554845.65649 -17900929.58448 20384386.7834 20384393.8784
+ 207.5724 161.7404
+ 05 1 20 19 14 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 23982556.3214 -1572277.30249 -1210629.69346 23982556.0124 23982564.7194
+ -1372.8224 -1069.7304
+ 20784353.2154 -23087361.34249 -17945457.24048 20784352.3674 20784359.2264
+ -435.5164 -339.3624
+ 22244229.0164 -17629225.76849 -13721480.33747 22244229.0274 22244235.8154
+ -3197.8524 -2491.8374
+ 20253164.2004 -24876042.77049 -19366030.68348 20253164.1824 20253170.0324
+ 865.3124 674.2734
+ 23038296.8214 -13342879.78249 -10383596.77947 23038297.1744 23038301.1324
+ 2962.7354 2308.6314
+ 25477616.7364 -610086.74049 -448690.94545 25477615.1754 25477626.6714
+ 2954.0344 2301.8504
+ 23287919.9964 -6191116.73149 -4608802.49646 23287919.5084 23287925.9514
+ -2327.5834 -1813.6924
+ 20383240.1074 -23560871.45049 -17905625.00148 20383240.1584 20383247.2684
+ 194.1484 151.2864
+ 05 1 20 19 15 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 23990437.9754 -1530860.86849 -1178357.16646 23990438.5224 23990445.7934
+ -1388.2444 -1081.7404
+ 20786864.1844 -23074161.99549 -17935172.04348 20786863.9564 20786870.7914
+ -444.3124 -346.2224
+ 22262515.6454 -17533132.03449 -13646602.17146 22262515.1024 22262521.0964
+ -3208.3754 -2500.0404
+ 20248265.1334 -24901784.80649 -19386089.40048 20248265.4164 20248271.3484
+ 850.9194 663.0524
+ 23021402.4654 -13431651.56649 -10452769.54747 23021403.2814 23021408.6854
+ 2955.3604 2302.8704
+ 25460759.0994 -698656.30449 -517706.18045 25460762.8654 25460773.7204
+ 2950.3624 2298.9904
+ 23301249.5004 -6121064.13849 -4554216.08946 23301249.1864 23301256.9464
+ -2342.5754 -1825.3734
+ 20382170.5334 -23566495.24049 -17910007.17048 20382170.0244 20382177.0034
+ 180.7654 140.8554
+ 05 1 20 19 15 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 23998406.9004 -1488983.23349 -1145725.25146 23998407.0204 23998415.0824
+ -1403.6074 -1093.7174
+ 20789426.6474 -23060698.37149 -17924680.91848 20789426.1124 20789432.9124
+ -453.1644 -353.1174
+ 22280861.4534 -17436723.92449 -13571479.03847 22280861.3554 22280866.9034
+ -3218.8334 -2508.1814
+ 20243448.7154 -24927094.60349 -19405811.30648 20243449.0834 20243455.0664
+ 836.5014 651.8154
+ 23004554.1514 -13520199.91649 -10521768.23647 23004553.3884 23004557.9514
+ 2947.8674 2297.0384
+ 25443925.3734 -787129.27249 -586646.14745 25443928.1064 25443938.4674
+ 2947.4474 2296.7134
+ 23314665.1574 -6050561.95149 -4499279.34646 23314665.5884 23314672.9584
+ -2357.5444 -1837.0394
+ 20381176.2984 -23571717.99749 -17914076.84448 20381175.9434 20381183.1844
+ 167.4184 130.4534
+ 05 1 20 19 16 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24006461.6094 -1446646.87649 -1112735.90245 24006461.8384 24006471.3464
+ -1418.8334 -1105.5814
+ 20792039.2014 -23046969.73649 -17913983.28748 20792038.7094 20792045.4854
+ -462.0114 -360.0104
+ 22299267.1634 -17340003.70049 -13496112.68647 22299266.3864 22299272.7684
+ -3229.1794 -2516.2534
+ 20238714.1834 -24951972.77549 -19425196.88848 20238714.7494 20238720.8324
+ 822.1344 640.6244
+ 22987744.0554 -13608523.69749 -10590591.91947 22987745.0304 22987750.1914
+ 2940.3734 2291.2064
+ 25427110.1374 -875504.85849 -655510.18645 25427110.2174 25427120.7374
+ 2944.1014 2294.0984
+ 23328168.7114 -5979612.35849 -4443994.01246 23328167.6154 23328174.9154
+ -2372.3864 -1848.6204
+ 20380258.4854 -23576540.76249 -17917834.83748 20380258.1544 20380265.4094
+ 154.1034 120.0834
+ 05 1 20 19 16 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24014606.8344 -1403854.04449 -1079390.88945 24014607.1854 24014613.8444
+ -1433.9734 -1117.3884
+ 20794701.8884 -23032975.51249 -17903078.70348 20794701.4514 20794708.5014
+ -470.8724 -366.9134
+ 22317730.8294 -17242973.53449 -13420504.84247 22317729.9354 22317737.6214
+ -3239.4624 -2524.2494
+ 20234062.7054 -24976419.72649 -19444246.44548 20234062.6734 20234068.6514
+ 807.7414 629.4094
+ 22970979.7524 -13696622.48049 -10659240.26847 22970980.1884 22970986.4214
+ 2932.8504 2285.3294
+ 25410310.1674 -963782.36349 -724297.80545 25410310.2894 25410322.5334
+ 2940.8254 2291.5504
+ 23341754.2544 -5908217.82949 -4388361.94246 23341753.7324 23341760.1284
+ -2387.2374 -1860.1714
+ 20379416.4254 -23580964.51749 -17921281.91048 20379416.3114 20379423.7034
+ 140.8204 109.7314
+ 05 1 20 19 17 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24022833.7834 -1360607.03449 -1045691.89345 24022833.5514 24022843.0944
+ -1449.1234 -1129.1894
+ 20797416.1204 -23018714.95549 -17891966.59648 20797415.4494 20797422.2024
+ -479.7514 -373.8294
+ 22336254.0244 -17145635.74349 -13344657.30047 22336254.2764 22336259.6584
+ -3249.7054 -2532.2284
+ 20229492.3854 -25000435.90449 -19462960.34048 20229492.3854 20229498.5984
+ 793.3944 618.2284
+ 22954259.0864 -13784495.27049 -10727712.52547 22954258.8084 22954264.5204
+ 2925.3344 2279.4864
+ 25393527.9924 -1051960.81749 -793008.19445 25393530.1184 25393540.3664
+ 2937.6044 2289.0374
+ 23355423.0124 -5836380.60349 -4332384.91346 23355422.7524 23355431.7654
+ -2401.9184 -1871.6294
+ 20378650.7264 -23584990.43249 -17924418.98948 20378650.1784 20378657.5224
+ 127.5764 99.4124
+ 05 1 20 19 17 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24031150.4864 -1316908.36049 -1011641.02445 24031150.0454 24031160.3174
+ -1464.1724 -1140.9134
+ 20800180.0504 -23004187.28149 -17880646.33448 20800179.3394 20800186.7694
+ -488.6144 -380.7344
+ 22354834.4044 -17047992.79449 -13268571.93746 22354833.4054 22354840.3344
+ -3259.8244 -2540.1184
+ 20225004.2474 -25024021.82049 -19481338.96748 20225004.4074 20225010.3624
+ 779.0804 607.0804
+ 22937580.7864 -13872140.96349 -10796007.82247 22937580.5114 22937586.7644
+ 2917.6994 2273.5294
+ 25376771.4144 -1140039.26649 -861640.63945 25376769.5544 25376781.8304
+ 2934.2934 2286.4574
+ 23369177.7054 -5764103.12249 -4276064.83546 23369177.0764 23369184.7554
+ -2416.5404 -1883.0134
+ 20377960.0994 -23588619.34049 -17927246.70748 20377959.8744 20377967.0574
+ 114.3594 89.1164
+ 05 1 20 19 18 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24039554.3354 -1272760.43749 -977240.08845 24039552.3014 24039559.8424
+ -1479.0494 -1152.5074
+ 20802995.7364 -22989391.92849 -17869117.49548 20802995.0794 20803002.4074
+ -497.6174 -387.7524
+ 22373472.7514 -16950046.93349 -13192250.56246 22373472.4904 22373479.3974
+ -3269.9124 -2547.9754
+ 20220598.2564 -25047177.89949 -19499382.65848 20220598.0134 20220603.7894
+ 764.7574 595.9144
+ 22920944.9484 -13959558.82949 -10864125.59447 22920945.2054 22920950.5704
+ 2910.1344 2267.6494
+ 25360030.7044 -1228017.03849 -930194.60345 25360029.1584 25360039.6484
+ 2930.8164 2283.7484
+ 23383015.2634 -5691387.68849 -4219403.51646 23383014.7084 23383022.3944
+ -2431.1064 -1894.3684
+ 20377345.2324 -23591852.22249 -17929765.83048 20377344.7944 20377351.7414
+ 101.1804 78.8414
+ 05 1 20 19 18 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24048038.8944 -1228165.67849 -942490.93446 24048039.5604 24048046.1294
+ -1493.9064 -1164.0854
+ 20805862.2084 -22974328.26749 -17857379.58548 20805861.7344 20805868.8054
+ -506.5584 -394.7174
+ 22392169.1974 -16851800.38849 -13115694.87546 22392168.2774 22392175.1314
+ -3279.8804 -2555.7424
+ 20216272.4044 -25069904.84849 -19517091.95848 20216272.8354 20216278.9694
+ 750.4554 584.7714
+ 22904354.0004 -14046747.98349 -10932065.13147 22904353.5164 22904358.7754
+ 2902.4784 2261.6574
+ 25343307.4374 -1315893.22949 -998669.45145 25343305.2704 25343318.1954
+ 2927.5084 2281.1704
+ 23396934.1884 -5618236.83649 -4162402.90946 23396934.2444 23396942.6954
+ -2445.6504 -1905.6904
+ 20376805.1454 -23594690.01249 -17931977.09448 20376804.9194 20376811.7314
+ 88.0144 68.5844
+ 05 1 20 19 19 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24056612.0114 -1183126.55449 -907395.49246 24056611.0294 24056618.8684
+ -1508.7194 -1175.6204
+ 20808780.0124 -22958995.70349 -17845432.14148 20808779.3814 20808786.1864
+ -515.5244 -401.7054
+ 22410921.8704 -16753255.63249 -13038906.82046 22410921.2744 22410927.3414
+ -3289.7664 -2563.4464
+ 20212030.2174 -25092202.94949 -19534467.09748 20212029.8814 20212035.9624
+ 736.1804 573.6484
+ 22887805.8894 -14133707.33849 -10999825.62447 22887806.5474 22887811.2014
+ 2894.8034 2255.6884
+ 25326606.8844 -1403667.43349 -1067064.77645 25326603.1444 25326614.1974
+ 2924.0694 2278.4904
+ 23410936.1674 -5544652.70349 -4105064.71346 23410936.2724 23410945.2594
+ -2459.9834 -1916.8754
+ 20376339.6424 -23597133.71149 -17933881.27748 20376339.7264 20376346.6674
+ 74.9034 58.3664
+ 05 1 20 19 19 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24065262.3954 -1137645.63549 -871955.82345 24065263.9914 24065271.6864
+ -1523.3594 -1187.0384
+ 20811748.9834 -22943393.46549 -17833274.55948 20811748.4174 20811755.5674
+ -524.5074 -408.7074
+ 22429730.4774 -16654414.83349 -12961888.07346 22429729.6434 22429736.9144
+ -3299.6314 -2571.1404
+ 20207867.9014 -25114072.99849 -19551508.68648 20207867.9794 20207874.3704
+ 721.9244 562.5394
+ 22871303.4964 -14220436.19649 -11067406.47947 22871302.9354 22871308.4364
+ 2887.0784 2249.6624
+ 25309920.4354 -1491338.13649 -1135379.46945 25309919.4654 25309930.7294
+ 2920.5494 2275.7474
+ 23425023.7704 -5470637.63949 -4047390.69846 23425022.2254 23425029.7264
+ -2474.2914 -1928.0314
+ 20375949.2804 -23599184.62849 -17935479.39348 20375949.4314 20375956.2184
+ 61.8414 48.1894
+ 05 1 20 19 20 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24074003.4664 -1091725.08749 -836173.63846 24074002.2014 24074011.7734
+ -1537.9934 -1198.4414
+ 20814769.4784 -22927521.00149 -17820906.41448 20814768.9244 20814775.8404
+ -533.5254 -415.7354
+ 22448595.6494 -16555280.47649 -12884640.60846 22448595.1204 22448601.6314
+ -3309.3434 -2578.7154
+ 20203787.6164 -25135515.33849 -19568216.99448 20203787.6604 20203793.8204
+ 707.6704 551.4324
+ 22854841.6664 -14306933.88649 -11134807.20247 22854841.3774 22854847.8254
+ 2879.3844 2243.6594
+ 25293257.6874 -1578905.29849 -1203613.49745 25293256.2024 25293268.5104
+ 2917.1494 2273.1024
+ 23439190.3304 -5396194.28249 -3989382.92546 23439188.7224 23439195.8774
+ -2488.5494 -1939.1204
+ 20375633.9064 -23600843.99649 -17936772.40348 20375633.6274 20375640.4904
+ 48.8004 38.0264
+ 05 1 20 19 20 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24082822.8274 -1045367.66449 -800051.00845 24082824.3194 24082831.8524
+ -1552.5024 -1209.7404
+ 20817841.2714 -22911377.64449 -17808327.18048 20817840.7404 20817847.5144
+ -542.5924 -422.7974
+ 22467515.6124 -16455854.89749 -12807166.20446 22467515.0964 22467521.0244
+ -3319.0204 -2586.2494
+ 20199788.5924 -25156530.66949 -19584592.56748 20199788.6974 20199794.6804
+ 693.4314 540.3354
+ 22838425.9454 -14393199.40149 -11202027.03647 22838425.5714 22838432.0204
+ 2871.6144 2237.6214
+ 25276612.9154 -1666367.94449 -1271766.06345 25276611.4264 25276624.4574
+ 2913.6604 2270.3854
+ 23453434.8774 -5321324.87549 -3931043.17046 23453434.3134 23453444.0834
+ -2502.8024 -1950.2304
+ 20375393.0404 -23602112.66149 -17937760.97248 20375392.3284 20375399.0444
+ 35.7754 27.8784
+ 05 1 20 19 21 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24091727.9434 -998575.83349 -763589.89845 24091728.4944 24091736.1884
+ -1566.9814 -1221.0334
+ 20820964.8974 -22894962.65249 -17795536.28348 20820964.4184 20820971.4644
+ -551.6404 -429.8474
+ 22486490.9934 -16356140.39149 -12729466.65246 22486489.9964 22486496.1474
+ -3328.6464 -2593.7694
+ 20195870.4164 -25177119.36949 -19600635.70048 20195870.6924 20195876.7764
+ 679.2434 529.2834
+ 22822055.0514 -14479231.90349 -11269065.29247 22822055.0924 22822059.7524
+ 2863.8374 2231.5574
+ 25259988.4544 -1753725.02149 -1339836.39045 25259987.7344 25259999.2114
+ 2910.0674 2267.5814
+ 23467764.3064 -5246032.03349 -3872373.45946 23467763.7464 23467770.9924
+ -2516.8104 -1961.1574
+ 20375224.8484 -23602991.65649 -17938445.89848 20375224.9584 20375231.9694
+ 22.8234 17.7874
+ 05 1 20 19 21 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24100715.1334 -951352.01449 -726792.12945 24100715.4824 24100721.5054
+ -1581.3224 -1232.2044
+ 20824140.1644 -22878275.38449 -17782533.22448 20824139.8534 20824146.9544
+ -560.7414 -436.9444
+ 22505519.3194 -16256139.52149 -12651543.96746 22505519.2294 22505526.1024
+ -3338.1484 -2601.1474
+ 20192033.3144 -25197282.11049 -19616346.92148 20192033.8774 20192040.0184
+ 665.0034 518.1814
+ 22805728.7554 -14565030.60449 -11335921.34947 22805727.8014 22805731.4314
+ 2856.0144 2225.4584
+ 25243383.8324 -1840975.92949 -1407824.04145 25243385.9324 25243395.3234
+ 2906.5064 2264.8124
+ 23482171.1344 -5170318.01149 -3813375.57946 23482171.3774 23482179.2224
+ -2530.7994 -1972.0594
+ 20375131.7604 -23603482.16149 -17938828.10948 20375131.6434 20375138.5254
+ 9.8754 7.6974
+ 05 1 20 19 22 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24109784.3634 -903698.71149 -689659.67946 24109783.1674 24109791.5204
+ -1595.5984 -1243.3314
+ 20827368.1824 -22861315.23349 -17769317.53148 20827367.3284 20827374.4754
+ -569.8574 -444.0404
+ 22524603.8014 -16155854.51749 -12573399.87746 22524602.7074 22524610.4194
+ -3347.5404 -2608.4644
+ 20188277.9034 -25217019.66849 -19631726.82448 20188277.9594 20188283.9754
+ 650.8724 507.1754
+ 22789446.4584 -14650594.62749 -11402594.54347 22789445.6394 22789450.2174
+ 2848.2214 2219.3864
+ 25226797.5164 -1928119.93349 -1475728.37545 25226800.7804 25226813.0594
+ 2902.9874 2262.0634
+ 23496658.9234 -5094185.41649 -3754051.49146 23496658.1144 23496666.6234
+ -2544.7104 -1982.8854
+ 20375112.1614 -23603585.39049 -17938908.54548 20375112.0434 20375118.8084
+ -3.0004 -2.3354
+ 05 1 20 19 22 30.0000000 0 9G 9G 7G28G 4G 2G 5G17G20G24
+ 24118933.4714 -855618.47949 -652194.53645 24118933.5504 24118940.5274
+ -1609.7554 -1254.3484
+ 20830647.0574 -22844081.63849 -17755888.76348 20830646.7864 20830653.7954
+ -578.9804 -451.1504
+ 22543740.1954 -16055287.93149 -12495036.37446 22543740.3114 22543747.0854
+ -3356.8674 -2615.7424
+ 20184602.4244 -25236332.40149 -19646775.69448 20184602.6844 20184608.9764
+ 636.7184 496.1484
+ 22773207.9924 -14735923.18449 -11469084.25847 22773207.9904 22773212.8454
+ 2840.3604 2213.2814
+ -275197.95941 -63144.798 3 24051114.351
+ 3125.7714 2447.297
+ 25210240.9044 -2015156.25949 -1543548.74145 25210241.0534 25210250.5734
+ 2899.3564 2259.2344
+ 23511226.4794 -5017636.53949 -3694403.06046 23511226.1974 23511233.1494
+ -2558.5384 -1993.6524
+ 20375166.0454 -23603302.11949 -17938687.80848 20375165.8974 20375172.6754
+ -15.8614 -12.3574
+ 05 1 20 19 23 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24128160.0754 -807113.96249 -614398.83645 24128161.0004 24128170.3974
+ -1623.8724 -1265.3604
+ 20833979.6034 -22826573.85949 -17742246.34448 20833978.6684 20833985.3554
+ -588.1244 -458.2844
+ 22562929.8924 -15954441.95549 -12416455.15946 22562929.6304 22562937.4814
+ -3366.1444 -2622.9724
+ 20181008.6054 -25255220.92749 -19661494.01748 20181008.4464 20181014.3784
+ 622.6004 485.1414
+ 22757013.0674 -14821015.69949 -11535390.05147 22757013.5224 22757021.6134
+ 2832.4514 2207.0934
+ 25193700.7144 -2102084.18249 -1611284.63745 25193699.4834 25193708.7224
+ 2895.7304 2256.4094
+ 23525871.9854 -4940673.89349 -3634432.21446 23525871.8634 23525879.2484
+ -2572.2644 -2004.3524
+ 20375293.5124 -23602633.49049 -17938166.79348 20375293.2234 20375299.8834
+ -28.7034 -22.3724
+ 05 1 20 19 23 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24137472.7914 -758187.65449 -576274.53245 24137472.3094 24137481.3094
+ -1637.8254 -1276.2284
+ 20837362.9304 -22808791.13649 -17728389.68548 20837362.3184 20837369.4874
+ -597.3024 -465.4304
+ 22582174.5264 -15853318.95549 -12337658.09846 22582174.4784 22582181.3424
+ -3375.3334 -2630.1264
+ 20177494.2344 -25273686.13049 -19675882.47748 20177494.6114 20177500.4454
+ 608.5074 474.1644
+ 22740867.2374 -14905871.08049 -11601511.09547 22740866.9994 22740873.1394
+ 2824.5554 2200.9524
+ 25177179.3174 -2188902.92249 -1678935.48945 25177177.2284 25177187.0504
+ 2892.1064 2253.5854
+ 23540595.1524 -4863299.86049 -3574140.76946 23540595.4034 23540603.0434
+ -2585.9474 -2015.0184
+ 20375493.2534 -23601580.58549 -17937346.34848 20375493.4374 20375500.3994
+ -41.4854 -32.3274
+ 05 1 20 19 24 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24146863.4604 -708842.30849 -537823.61346 24146863.7104 24146871.4314
+ -1651.7644 -1287.0864
+ 20840799.7164 -22790733.02349 -17714318.43248 20840799.1984 20840805.9444
+ -606.4734 -472.5764
+ 22601469.4414 -15751921.45149 -12258647.12846 22601469.0934 22601475.9834
+ -3384.4634 -2637.2444
+ 20174061.0844 -25291728.39949 -19689941.37848 20174061.1824 20174067.1704
+ 594.4034 463.1694
+ 22724766.2574 -14990488.40949 -11667446.63647 22724765.1624 22724770.1934
+ 2816.5974 2194.7504
+ 25160680.3564 -2275611.67549 -1746500.65445 25160677.7864 25160686.4414
+ 2888.4384 2250.7314
+ 23555397.8394 -4785516.97549 -3513530.77846 23555397.3184 23555404.6674
+ -2599.5384 -2025.6204
+ 20375766.9124 -23600144.55049 -17936227.35748 20375766.7444 20375773.7724
+ -54.2434 -42.2664
+ 05 1 20 19 24 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24156332.9594 -659080.55849 -499048.23745 24156332.9414 24156340.1264
+ -1665.6634 -1297.9154
+ 20844288.9174 -22772398.74249 -17700031.98548 20844287.9264 20844294.6294
+ -615.7064 -479.7654
+ 22620818.2504 -15650251.72149 -12179424.02446 22620816.5264 22620824.1894
+ -3393.5094 -2644.2804
+ 20170708.2844 -25309348.48349 -19703671.31148 20170708.4694 20170714.3384
+ 580.3454 452.2224
+ 22708709.8994 -15074867.07749 -11733196.18847 22708708.6304 22708713.6984
+ 2808.6234 2188.5414
+ 25144197.3574 -2362209.56449 -1813979.39845 25144197.2594 25144207.2524
+ 2884.6724 2247.7954
+ 23570276.0754 -4707327.70849 -3452604.09746 23570275.3934 23570283.0474
+ -2613.0234 -2036.1084
+ 20376112.2224 -23598326.56849 -17934810.74948 20376112.4064 20376119.6844
+ -66.9624 -52.1764
+ 05 1 20 19 25 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24165882.1124 -608904.89549 -459950.32045 24165880.7754 24165887.8184
+ -1679.4324 -1308.6534
+ 20847830.0614 -22753787.80949 -17685529.96648 20847829.3194 20847836.2504
+ -624.9374 -486.9604
+ 22640214.6834 -15548312.50249 -12099990.94346 22640214.7174 22640222.0274
+ -3402.4384 -2651.2584
+ 20167435.0714 -25326547.17149 -19717072.87348 20167435.3954 20167441.8364
+ 566.3204 441.2874
+ 22692697.4774 -15159006.16949 -11798759.05147 22692697.0534 22692703.0034
+ 2800.6224 2182.2944
+ 25127743.1884 -2448696.41849 -1881371.68245 25127739.9604 25127750.2074
+ 2881.0314 2244.9594
+ 23585233.1324 -4628734.66349 -3391362.80846 23585231.0174 23585239.4874
+ -2626.4334 -2046.5694
+ 20376531.4574 -23596127.87949 -17933097.48648 20376530.9644 20376538.0324
+ -79.6344 -62.0514
+ 05 1 20 19 25 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24175505.5814 -558317.88549 -420531.86445 24175506.3764 24175513.5344
+ -1693.0414 -1319.2454
+ 20851424.9334 -22734899.44849 -17670811.77048 20851423.6994 20851430.7134
+ -634.1784 -494.1594
+ 22659664.4564 -15446105.86549 -12020349.47546 22659663.7074 22659670.7834
+ -3411.3214 -2658.1694
+ 20164242.6994 -25343324.94449 -19730146.45848 20164242.7554 20164249.1604
+ 552.2784 430.3514
+ 22676732.9154 -15242905.05049 -11864134.76347 22676732.5474 22676737.3104
+ 2792.6084 2176.0614
+ 25111300.7004 -2535070.86749 -1948676.36545 25111301.9824 25111312.0564
+ 2877.2124 2241.9794
+ 23600262.7474 -4549740.36749 -3329808.85946 23600263.7014 23600271.4334
+ -2639.8844 -2057.0564
+ 20377022.0134 -23593549.44049 -17931088.31248 20377021.7414 20377028.6544
+ -92.2724 -71.8994
+ 05 1 20 19 26 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24185210.0584 -507322.12349 -380794.94645 24185211.2934 24185218.5334
+ -1706.6434 -1329.8434
+ 20855071.7104 -22715733.10749 -17655876.97448 20855070.9334 20855077.8724
+ -643.4494 -501.3864
+ 22679164.1104 -15343634.31049 -11940501.59046 22679163.8584 22679171.3454
+ -3420.1144 -2665.0154
+ 20161130.1384 -25359682.50549 -19742892.60748 20161129.9154 20161136.2434
+ 538.2984 419.4564
+ 22660811.7634 -15326562.92049 -11929322.65647 22660812.5704 22660819.3464
+ 2784.5524 2169.7834
+ 25094887.1984 -2621332.58649 -2015893.18145 25094887.9414 25094899.2144
+ 2873.4984 2239.0854
+ 23615372.0224 -4470347.15649 -3267944.05946 23615371.0924 23615379.5414
+ -2653.0704 -2067.3154
+ 20377584.8324 -23590592.35549 -17928784.09848 20377584.3834 20377591.3714
+ -104.8454 -81.6944
+ 05 1 20 19 26 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24194990.6624 -455920.30949 -340741.60345 24194991.9424 24194999.7224
+ -1720.1274 -1340.3654
+ 20858771.9784 -22696288.19349 -17640725.10048 20858771.0924 20858777.8214
+ -652.7394 -508.6274
+ 22698713.7454 -15240900.39549 -11860449.25346 22698713.5604 22698720.2034
+ -3428.7814 -2671.7614
+ 20158096.5314 -25375620.48349 -19755311.81248 20158097.0724 20158103.4204
+ 524.3044 408.5494
+ 22644939.5264 -15409978.97349 -11994322.13547 22644939.5424 22644944.3734
+ 2776.5044 2163.5124
+ 25078495.4924 -2707480.56149 -2083021.31845 25078494.1064 25078505.3514
+ 2869.6004 2236.0574
+ 23630556.7394 -4390557.66549 -3205770.42646 23630555.3454 23630564.3224
+ -2666.2074 -2077.5584
+ 20378219.1864 -23587258.03349 -17926185.92748 20378219.0024 20378226.0244
+ -117.4114 -91.4904
+ 05 1 20 19 27 0.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24204851.5714 -404115.23049 -300374.04146 24204850.8214 24204860.1364
+ -1733.4994 -1350.7824
+ 20862525.0074 -22676563.98749 -17625355.60148 20862524.2564 20862531.3914
+ -662.0584 -515.8934
+ 22718313.4894 -15137906.49049 -11780194.35246 22718312.9544 22718319.3224
+ -3437.4274 -2678.5064
+ 20155143.9944 -25391139.79349 -19767404.77948 20155143.8994 20155150.0714
+ 510.3744 397.6894
+ 22629111.9164 -15493152.39849 -12059132.53047 22629111.0044 22629116.2764
+ 2768.3764 2157.1764
+ 25062123.8054 -2793514.18349 -2150060.32645 25062123.4594 25062133.3794
+ 2865.8424 2233.1214
+ 23645813.5724 -4310374.39449 -3143290.01346 23645813.1084 23645821.1204
+ -2679.3604 -2087.8234
+ 20378925.1514 -23583547.65449 -17923294.72448 20378925.0814 20378931.9954
+ -129.9314 -101.2514
+ 05 1 20 19 27 30.0000000 0 8G 9G 7G28G 4G 2G17G20G24
+ 24214783.5564 -351909.72749 -259694.43945 24214784.5714 24214793.0944
+ -1746.8264 -1361.1674
+ 20866331.6604 -22656559.88549 -17609768.00148 20866331.2134 20866338.1164
+ -671.3964 -523.1664
+ 22737961.9314 -15034655.00449 -11699738.70046 22737960.2704 22737967.5634
+ -3445.9894 -2685.1834
+ 20152270.3144 -25406240.95449 -19779171.91648 20152270.1804 20152276.6004
+ 496.4534 386.8504
+ 22613329.8494 -15576082.40849 -12123753.25147 22613329.6894 22613335.0614
+ 2760.2464 2150.8594
+ 25045772.0604 -2879432.90549 -2217009.86045 25045771.7484 25045783.0314
+ 2862.0564 2230.1674
+ 23661146.0434 -4229799.94949 -3080504.74746 23661145.4184 23661153.9704
+ -2692.2464 -2097.8544
+ 20379702.5064 -23579462.15349 -17920111.21848 20379702.4534 20379709.5094
+ -142.4254 -110.9764
+ 05 1 20 19 28 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24224794.3444 -299306.10549 -218704.61645 24224794.5614 24224803.0704
+ -1760.0384 -1371.4624
+ 20870192.0124 -22636275.28149 -17593961.82848 20870191.2914 20870198.2774
+ -680.7994 -530.4864
+ 22757657.6084 -14931148.50349 -11619084.37946 22757657.7964 22757664.2894
+ -3454.4054 -2691.7464
+ 20149475.8414 -25420924.69549 -19790613.79348 20149476.0624 20149482.2174
+ 482.5124 375.9864
+ 22597595.7764 -15658768.36649 -12188183.82047 22597596.2544 22597600.6334
+ 2752.0854 2144.4764
+ 23825486.5664 -71021.02849 -33601.42443
+ 3023.0744 2355.6424
+ 25029445.7064 -2965235.96449 -2283869.24145 25029444.9914 25029456.3854
+ 2858.0594 2227.0614
+ -94739.00141 -31483.283 3 25257680.386
+ 1987.3104 1552.759
+ 23676555.1344 -4148836.77049 -3017416.64246 23676554.1974 23676561.3044
+ -2705.2304 -2107.9824
+ 20380551.0124 -23575002.91749 -17916636.48748 20380550.9114 20380558.1524
+ -154.8574 -120.6674
+ 05 1 20 19 28 30.0000000 0 9G 9G 7G28G 4G 2G 5G17G20G24
+ 24234880.3504 -246307.33349 -177406.88445 24234879.0604 24234889.4514
+ -1773.1844 -1381.7054
+ 20874105.5634 -22615709.63849 -17577936.66648 20874104.7454 20874111.4924
+ -690.1554 -537.7834
+ 22777402.3854 -14827389.40049 -11538233.19846 22777403.1954 22777409.4084
+ -3462.8364 -2698.3024
+ 20146760.8144 -25435191.83049 -19801731.03848 20146761.0604 20146767.2574
+ 468.6614 365.1884
+ 22581908.5484 -15741209.63549 -12252423.69347 22581907.2224 22581913.2284
+ 2743.9514 2138.1444
+ 23808254.8184 -161566.97449 -104157.15045
+ 3013.2524 2347.9884
+ 25013138.1714 -3050922.39749 -2350637.73245 25013139.3674 25013147.5874
+ 2854.1784 2224.0294
+ 23692033.5204 -4067487.45749 -2954027.56245 23692033.8394 23692040.8094
+ -2718.0724 -2117.9844
+ 20381470.4874 -23570171.16049 -17912871.48948 20381470.3384 20381477.4924
+ -167.2644 -130.3354
+ 05 1 20 19 29 0.0000000 0 9G 9G 7G28G 4G 2G 5G17G20G24
+ 24245040.5864 -192916.20249 -135803.45945 24245040.1204 24245047.1754
+ -1786.2094 -1391.8524
+ 20878072.4504 -22594862.10449 -17561691.84448 20878071.6954 20878078.8344
+ -699.5874 -545.1324
+ 22797193.6714 -14723380.05349 -11457187.04346 22797194.7164 22797201.2594
+ -3471.1304 -2704.7704
+ 20144124.9654 -25449043.04549 -19812524.19548 20144125.1844 20144131.4214
+ 454.7814 354.3774
+ 22566266.6834 -15823405.23349 -12316472.15247 22566266.9574 22566271.7194
+ 2735.7234 2131.7264
+ 23791081.2054 -251816.28149 -174481.07945 23791091.1314
+ 3003.3784 2340.2894
+ 24996854.9684 -3136492.06149 -2417315.21745 24996854.5244 24996863.4844
+ 2850.4324 2221.1104
+ 23707589.0124 -3985754.46949 -2890339.54945 23707586.1594 23707593.7924
+ -2730.8094 -2127.8904
+ 20382460.8334 -23564968.15749 -17908817.20548 20382460.4484 20382467.6094
+ -179.5824 -139.9334
+ 05 1 20 19 29 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24255274.3794 -139135.31049 -93896.27045 24255273.4974 24255283.3124
+ -1799.1614 -1401.9494
+ 20882093.2854 -22573732.31549 -17545227.08348 20882092.7144 20882099.6374
+ -708.9824 -552.4554
+ 22817034.8944 -14619123.01549 -11375947.87046 22817033.8234 22817041.3564
+ -3479.3454 -2711.1754
+ 20141568.2304 -25462479.20549 -19822993.93048 20141568.4404 20141574.3444
+ 441.0224 343.6514
+ 22550672.0134 -15905354.50049 -12380328.65247 22550671.8024 22550676.6704
+ 2727.5164 2125.3314
+ 23773967.1114 -341766.28549 -244571.91346 23773964.5794 23773975.1254
+ 2993.3444 2332.4744
+ 24980594.2454 -3221943.88249 -2483900.90145 24980594.1704 24980604.2254
+ 2846.4164 2217.9824
+ -272450.22141 -47903.610 4 25218946.955
+ 1961.8244 1528.519
+ 23723212.9824 -3903640.46849 -2826354.65045 23723213.2594 23723219.7374
+ -2743.4804 -2137.7784
+ 20383520.9634 -23559394.97349 -17904474.46648 20383520.9614 20383528.1434
+ -191.9274 -149.5554
+ 05 1 20 19 30 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24265582.7534 -84967.23949 -51687.37845 24265582.0694 24265590.9664
+ -1812.0034 -1411.9504
+ 20886168.2244 -22552319.52849 -17528541.80748 20886167.3314 20886174.6834
+ -718.4344 -559.8174
+ 22836920.8264 -14514620.77649 -11294517.62046 22836919.9414 22836928.3664
+ -3487.4574 -2717.4894
+ 20139090.2864 -25475500.88849 -19833140.68748 20139090.2794 20139096.4194
+ 427.2124 332.8954
+ 22535123.8404 -15987056.72149 -12443992.65047 22535123.9494 22535128.7144
+ 2719.2704 2118.9124
+ 23756906.9774 -431414.52549 -314427.64945 23756905.9024 23756914.2924
+ 2983.2224 2324.5854
+ 24964356.8714 -3307277.40949 -2550394.38045 24964355.9094 24964365.8784
+ 2842.4244 2214.8664
+ -331174.16741 -97501.837 4 25206920.856
+ 1953.1134 1522.359
+ 23738908.7104 -3821148.16349 -2762074.96045 23738909.1694 23738917.4364
+ -2756.0514 -2147.5634
+ 20384651.5874 -23553452.65649 -17899844.08848 20384651.6354 20384659.0284
+ -204.2164 -159.1274
+ 05 1 20 19 30 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24275962.8664 -30415.01549 -9179.22745 24275962.8734 24275972.1314
+ -1824.7184 -1421.8584
+ 20890296.2354 -22530623.14049 -17511635.53848 20890295.7914 20890302.9114
+ -727.8934 -567.1944
+ 22856852.7484 -14409875.86949 -11212898.30346 22856852.3124 22856859.6984
+ -3495.4974 -2723.7644
+ 20136690.9894 -25488109.19149 -19842965.33548 20136691.0744 20136697.1324
+ 413.4384 322.1574
+ 22519623.7694 -16068511.24849 -12507463.62947 22519624.0224 22519629.0654
+ 2710.9884 2112.4624
+ 23739905.2814 -520758.54049 -384046.28046 23739903.4564 23739912.9794
+ 2973.0254 2316.6394
+ 24948142.1074 -3392491.79149 -2616795.07345 24948141.4574 24948149.7374
+ 2838.4164 2211.7434
+ 25194775.8264 -389637.21449 -5672.84443
+ 1944.4274 1515.1464
+ 23754679.9704 -3738280.12549 -2697502.53145 23754678.7604 23754686.3904
+ -2768.5324 -2157.3084
+ 20385852.9544 -23547142.60749 -17894927.16448 20385852.5354 20385859.6714
+ -216.4484 -168.6654
+ 05 1 20 19 31 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24286417.0294 24518.63349 33626.16645 24286416.0324 24286425.2354
+ -1837.4474 -1431.7614
+ 20894479.9134 -22508642.66449 -17494507.91148 20894478.9484 20894485.7634
+ -737.4264 -574.6194
+ 22876829.0654 -14304890.82849 -11131091.86446 22876830.0324 22876838.2474
+ -3503.4874 -2729.9894
+ 20134370.3164 -25500304.63149 -19852468.27048 20134370.4664 20134376.4974
+ 399.6654 311.4244
+ 22504171.5334 -16149717.14549 -12570740.86747 22504170.6824 22504176.3774
+ 2702.7114 2106.0054
+ 23722962.4484 -609795.41849 -453425.61345 23722960.4034 23722969.0604
+ 2962.7464 2308.6314
+ 24931947.0244 -3477586.44849 -2683102.47245 24931946.5684 24931956.9414
+ 2834.4244 2208.6374
+ 25183697.8694 -447836.16149 -51022.78945
+ 1935.5414 1508.2194
+ 23770521.0514 -3655038.54349 -2632638.93945 23770519.5824 23770526.7684
+ -2780.9554 -2166.9754
+ 20387123.4264 -23540466.03549 -17889724.64448 20387123.2484 20387130.2204
+ -228.6734 -178.1874
+ 05 1 20 19 31 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24296941.8514 79830.79249 76726.53145 24296940.7364 24296950.2324
+ -1850.0534 -1441.5974
+ 20898716.8624 -22486377.31649 -17477158.30448 20898716.2784 20898722.9944
+ -746.9144 -582.0094
+ 22896855.0814 -14199667.98349 -11049100.13746 22896853.4604 22896861.3834
+ -3511.3834 -2736.1514
+ 20132127.9854 -25512087.99849 -19861650.10948 20132128.4204 20132134.5764
+ 385.9544 300.7444
+ 22488764.6854 -16230673.92449 -12633824.00747 22488764.5544 22488769.8734
+ 2694.3784 2099.5114
+ 23706075.6884 -698522.72349 -522563.69845 23706074.8074 23706085.1824
+ 2952.4144 2300.5814
+ 24915777.9764 -3562560.75749 -2749316.09245 24915776.9844 24915787.8224
+ 2830.4614 2205.5494
+ -505768.32641 -75124.523 5 25177812.325
+ 1926.6274 1504.419
+ 23786431.6254 -3571426.29549 -2567486.55845 23786431.3544 23786439.2154
+ -2793.2134 -2176.5264
+ 20388462.9374 -23533424.21149 -17884237.51048 20388463.0344 20388470.3414
+ -240.8234 -187.6524
+ 05 1 20 19 32 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24307538.3144 135518.79749 120119.72645 24307539.5484 24307548.5204
+ -1862.4794 -1451.2834
+ 20903008.1094 -22463826.60549 -17459586.33448 20903007.3634 20903013.9234
+ -756.4024 -589.4004
+ 22916923.3314 -14094209.76949 -10966924.98646 22916921.9734 22916929.2384
+ -3519.1404 -2742.1884
+ 20129964.2324 -25523460.15449 -19870511.51648 20129964.4304 20129970.4624
+ 372.2594 290.0744
+ 22473407.5814 -16311380.68249 -12696712.33447 22473407.3024 22473412.1064
+ 2686.0294 2093.0124
+ 23689250.1604 -786937.99949 -591458.66245 23689251.7684 23689261.0734
+ 2941.9574 2292.4334
+ 24899630.1234 -3647413.73449 -2815435.21245 24899630.1404 24899639.6624
+ 2826.3924 2202.3814
+ 25161700.1954 -563430.84749 -141096.59545 25161702.0764
+ 1917.5884 1494.2284
+ 23802412.6324 -3487445.78749 -2502047.24945 23802411.3594 23802420.7314
+ -2805.5654 -2186.1554
+ 20389872.6924 -23526018.04149 -17878466.47148 20389872.3894 20389879.5424
+ -252.9414 -197.0934
+ 05 1 20 19 32 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24318208.2304 191580.00949 163803.79845 24318206.6464 24318216.0864
+ -1874.8514 -1460.9234
+ 20907353.0574 -22440989.98449 -17441791.57548 20907352.9864 20907359.6474
+ -765.9324 -596.8304
+ 22937035.8904 -13988518.78149 -10884568.45346 22937034.3464 22937042.1984
+ -3526.9094 -2748.2304
+ 20127878.2014 -25534421.98049 -19879053.19048 20127878.1414 20127884.2154
+ 358.6014 279.4264
+ 22458097.6254 -16391836.92449 -12759405.43847 22458096.4034 22458102.5614
+ 2677.6744 2086.5034
+ 23672488.6894 -875038.80249 -660108.57745 23672487.1794 23672495.1734
+ 2931.3724 2284.1864
+ 24883507.7414 -3732145.07549 -2881459.59845 24883506.8114 24883515.4294
+ 2822.3714 2199.2454
+ 25150778.2484 -620821.07949 -185816.26145 25150777.5914 25150784.1774
+ 1908.4454 1487.0984
+ 23818462.8264 -3403099.84949 -2436323.15845 23818462.2974 23818469.2504
+ -2817.6554 -2195.5684
+ 20391351.1094 -23518248.85649 -17872412.56248 20391350.6614 20391357.9864
+ -265.0014 -206.4964
+ 05 1 20 19 33 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24328947.1674 248011.45549 207776.28345 24328946.0524 24328954.0524
+ -1887.1574 -1470.5094
+ 20911753.6924 -22417866.75749 -17423773.48548 20911753.2114 20911759.9974
+ -775.5154 -604.2984
+ 22957191.7434 -13882597.41849 -10802032.43046 22957191.6174 22957198.2614
+ -3534.5064 -2754.1654
+ 20125870.4404 -25544974.27649 -19887275.75448 20125870.2434 20125876.4964
+ 344.9444 268.7824
+ 22442833.8884 -16472041.88549 -12821902.74347 22442834.1124 22442839.2124
+ 2669.2924 2079.9674
+ 23655780.8404 -962822.24949 -728511.19645 23655782.4714 23655790.1224
+ 2920.8974 2276.0204
+ 24867405.3664 -3816754.09649 -2947388.58445 24867405.9624 24867414.9834
+ 2818.2484 2196.0334
+ 25139906.0354 -677936.05559 -230321.51755 25139907.4454 25139919.3014
+ 1899.2224 1479.9144
+ 23834581.2754 -3318391.06149 -2370316.34645 23834581.1054 23834587.9674
+ -2829.6834 -2204.9344
+ 20392897.9734 -23510118.30449 -17866077.07648 20392898.0104 20392905.1474
+ -277.0384 -215.8794
+ 05 1 20 19 33 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24339753.4904 304810.39249 252035.15945 24339754.1584 24339762.1644
+ -1899.4054 -1480.0514
+ 20916208.3764 -22394456.38949 -17405531.65448 20916207.6674 20916214.5754
+ -785.0924 -611.7594
+ 22977391.0254 -13776448.39949 -10719318.99446 22977390.8264 22977397.0254
+ -3542.0514 -2760.0394
+ 20123940.0524 -25555117.79149 -19895179.78048 20123939.9714 20123946.0114
+ 331.3494 258.1944
+ 22427619.1494 -16551994.80749 -12884203.67347 22427619.3874 22427624.8414
+ 2660.8864 2073.4144
+ 23639137.8574 -1050285.92249 -796664.62245 23639137.4964 23639146.0374
+ 2910.0764 2267.5904
+ 24851329.8394 -3901240.35449 -3013221.97645 24851328.5504 24851338.3674
+ 2814.1314 2192.8264
+ 25129096.9064 -734773.15749 -274610.22845 25129095.2664 25129098.3734
+ 1889.9294 1472.6724
+ 23850768.6974 -3233322.17349 -2304028.91345 23850769.3564 23850779.0184
+ -2841.6094 -2214.2494
+ 20394513.9674 -23501627.43049 -17859460.81448 20394513.7894 20394520.7374
+ -289.0284 -225.2184
+ 05 1 20 19 34 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24350633.3864 361974.07249 296578.26945 24350633.8634 24350641.6754
+ -1911.5234 -1489.4984
+ 20920717.9354 -22370758.28749 -17387065.60948 20920717.7644 20920724.6864
+ -794.6864 -619.2364
+ 22997632.9614 -13670074.05149 -10636429.99446 22997632.1074 22997639.2744
+ -3549.5584 -2765.8784
+ 20122086.9454 -25564853.39449 -19902765.95948 20122087.2034 20122093.4274
+ 317.7484 247.5934
+ 22412454.5814 -16631695.11149 -12946307.75447 22412453.3474 22412458.8774
+ 2652.4714 2066.8594
+ 23622558.0874 -1137427.31249 -864566.93445 23622556.8884 23622564.3194
+ 2899.3394 2259.2224
+ 24835278.0064 -3985602.85849 -3078958.96245 24835275.2184 24835285.5244
+ 2809.9884 2189.6004
+ 25118329.9014 -791329.33749 -318680.06345 25118329.8504 25118338.2354
+ 1880.4904 1465.3204
+ 23867027.0784 -3147895.39049 -2237462.68245 23867025.7584 23867034.1734
+ -2853.4944 -2223.5004
+ 20396198.2244 -23492777.48749 -17852564.75948 20396197.9924 20396205.0004
+ -300.9794 -234.5294
+ 05 1 20 19 34 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24361580.5544 419499.65649 341403.38145 24361579.9164 24361587.9904
+ -1923.5174 -1498.8384
+ 20925282.5354 -22346771.79949 -17368374.85048 20925282.0024 20925289.3374
+ -804.3044 -626.7334
+ 23017919.1764 -13563476.99749 -10553367.45546 23017918.3974 23017925.3154
+ -3556.9324 -2771.6384
+ 20120312.0264 -25574181.97949 -19910034.98048 20120312.3074 20120318.2524
+ 304.2034 237.0394
+ 22397336.2724 -16711142.06849 -13008214.41947 22397335.7884 22397339.3414
+ 2644.0094 2060.2634
+ 23606034.1314 -1224243.69049 -932215.98745 23606035.1564 23606043.6154
+ 2888.4184 2250.7124
+ 24819244.0604 -4069841.21649 -3144599.17845 24819245.9434 24819254.8584
+ 2805.7874 2186.3274
+ 25107622.3194 -847601.93949 -362528.92145 25107622.6284 25107629.3884
+ 1871.0004 1457.9244
+ 23883350.5434 -3062113.67549 -2170619.81345 23883349.7744 23883357.6744
+ -2865.2754 -2232.6834
+ 20397949.9674 -23483569.49549 -17845389.70348 20397950.0494 20397957.0604
+ -312.8784 -243.8024
+ 05 1 20 19 35 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24372594.5694 477384.36049 386508.25445 24372594.9884 24372601.8644
+ -1935.4144 -1508.1114
+ 20929901.3064 -22322496.53649 -17349459.06748 20929901.1874 20929908.2834
+ -813.9224 -634.2254
+ 23038244.1534 -13456659.70249 -10470133.28246 23038244.0394 23038251.6574
+ -3564.2384 -2777.3114
+ 20118614.3344 -25583104.41449 -19916987.52048 20118614.2654 20118620.5164
+ 290.6874 226.5094
+ 22382266.5864 -16790335.04549 -13069923.16347 22382265.5694 22382269.5574
+ 2635.5204 2053.6524
+ 23589574.7144 -1310732.58849 -999609.82945 23589575.2244 23589585.3894
+ 2877.4494 2242.1664
+ 24803239.4074 -4153954.71349 -3210142.06945 24803238.0054 24803248.4604
+ 2801.6374 2183.0924
+ 25096972.7084 -903588.15849 -406154.52845 25096970.4654 25096975.6224
+ 1861.3974 1450.4414
+ 23899741.2254 -2975979.45449 -2103502.21245 23899740.7244 23899749.6554
+ -2876.9484 -2241.7764
+ 20399770.8714 -23474004.84549 -17837936.73148 20399770.3224 20399777.1374
+ -324.7684 -253.0674
+ 05 1 20 19 35 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24383676.6174 535625.06149 431890.60145 24383675.1674 24383685.5824
+ -1947.2534 -1517.3444
+ 20934576.8984 -22297931.71549 -17330317.66248 20934575.8414 20934582.9954
+ -823.6094 -641.7714
+ 23058614.1774 -13349624.78749 -10386729.54746 23058612.8184 23058620.3264
+ -3571.4434 -2782.9244
+ 20116993.4274 -25591621.56949 -19923624.26648 20116993.5104 20116999.6404
+ 277.1854 215.9904
+ 22367241.9144 -16869273.24349 -13131433.39147 22367242.9704 22367248.2114
+ 2627.0214 2047.0324
+ 23573182.5044 -1396891.37249 -1066746.43645 23573180.0574 23573190.1114
+ 2866.4464 2233.5924
+ 24787255.0304 -4237942.51149 -3275587.08545 24787254.3714 24787265.6194
+ 2797.4484 2179.8274
+ 25086366.6834 -959285.20849 -449554.83245 25086367.7374 25086376.9414
+ 1851.7644 1442.9324
+ 23916199.3604 -2889495.38249 -2036112.04345 23916197.8344 23916205.7594
+ -2888.5974 -2250.8584
+ 20401658.4964 -23464084.90849 -17830206.91348 20401658.2244 20401665.1014
+ -336.5894 -262.2724
+ 05 1 20 19 36 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24394826.9764 594219.00349 477548.18445 24394827.3194 24394834.8654
+ -1958.9704 -1526.4734
+ 20939306.3304 -22273076.93049 -17310950.31148 20939305.7734 20939312.8644
+ -833.3104 -649.3364
+ 23079020.9124 -13242374.66249 -10303158.09346 23079020.9694 23079028.4764
+ -3578.5744 -2788.4934
+ 20115449.6734 -25599734.33949 -19929945.90348 20115449.6014 20115455.7654
+ 263.7024 205.4824
+ 22352271.4574 -16947956.17549 -13192744.72647 22352270.7404 22352276.3164
+ 2618.4924 2040.3894
+ 23556848.4974 -1482717.51749 -1133623.90045 23556848.9234 23556857.5514
+ 2855.3094 2224.9134
+ 24771295.8404 -4321804.35749 -3340933.94545 24771296.0144 24771307.9264
+ 2793.1934 2176.5154
+ 25075828.5134 -1014690.29149 -492727.62645 25075826.9914 25075833.9384
+ 1841.8784 1435.2284
+ 23932722.5744 -2802664.25549 -1968451.45146 23932721.8904 23932729.1034
+ -2900.1844 -2259.8854
+ 20403613.0894 -23453810.89749 -17822201.19548 20403613.0764 20403620.1084
+ -348.3864 -271.4714
+ 05 1 20 19 36 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24406045.2694 653163.32349 523478.80045 24406044.7514 24406052.6744
+ -1970.6154 -1535.5444
+ 20944091.4044 -22247931.60149 -17291356.55848 20944090.5174 20944097.4994
+ -842.9674 -656.8544
+ 23099470.2374 -13134912.00049 -10219421.04246 23099470.4444 23099479.4764
+ -3585.5894 -2793.9574
+ 20113982.6684 -25607443.53349 -19935953.06748 20113982.6294 20113988.5894
+ 250.2834 195.0274
+ 22337347.3954 -17026383.23949 -13253856.69047 22337346.3334 22337352.2424
+ 2609.9454 2033.7204
+ 23540580.4084 -1568208.67949 -1200240.32145 23540579.9794 23540588.6754
+ 2844.1004 2216.1764
+ 24755363.8984 -4405539.28649 -3406181.88645 24755362.9484 24755373.2894
+ 2789.0314 2173.2664
+ 25065342.8234 -1069800.78049 -535670.72545 25065340.6654 25065346.9174
+ 1832.0804 1427.5854
+ 23949311.1824 -2715488.58649 -1900522.38946 23949310.9274 23949318.1064
+ -2911.5784 -2268.7534
+ 20405635.4114 -23443184.06849 -17813920.55048 20405635.1854 20405642.5204
+ -360.0914 -280.5874
+ 05 1 20 19 37 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24417325.3674 712455.33849 569680.32145 24417326.5024 24417335.2334
+ -1982.1734 -1544.5514
+ 20948932.0364 -22222495.03049 -17271535.87348 20948931.3264 20948937.8584
+ -852.6784 -664.4234
+ 23119960.7784 -13027239.05649 -10135520.14746 23119960.5894 23119968.8424
+ -3592.5734 -2799.4024
+ 20112591.7524 -25614750.02249 -19941646.43448 20112592.1124 20112598.3644
+ 236.8944 184.5944
+ 22322470.4624 -17104553.54249 -13314768.57947 22322471.4154 22322475.5974
+ 2601.3904 2027.0574
+ 23524376.0904 -1653362.02849 -1266593.51046 23524376.2154 23524384.7754
+ 2832.7754 2207.3534
+ 24739454.2334 -4489147.35649 -3471330.96845 24739452.8304 24739462.4834
+ 2784.7924 2169.9664
+ 25054906.8364 -1124613.86049 -578382.16245 25054907.9314 25054916.2004
+ 1822.1554 1419.8604
+ 23965965.4244 -2627971.04249 -1832326.92746 23965964.0994 23965972.3364
+ -2922.9174 -2277.6084
+ 20407724.9434 -23432205.68349 -17805365.96348 20407724.5834 20407731.5824
+ -371.7964 -289.7124
+ 05 1 20 19 37 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24428676.0844 772092.00649 616150.41745 24428673.9054 24428684.4974
+ -1993.6174 -1553.4524
+ 20953827.8374 -22196766.75249 -17251487.87948 20953826.9494 20953834.0144
+ -862.4064 -672.0014
+ 23140489.3034 -12919358.63149 -10051457.59746 23140489.4594 23140496.7174
+ -3599.4544 -2804.7664
+ 20111277.9684 -25621654.69449 -19947026.70148 20111278.2724 20111284.3204
+ 223.5104 174.1664
+ 22307646.2524 -17182466.69449 -13375480.07647 22307644.8424 22307648.9824
+ 2592.7784 2020.3444
+ 23508237.1694 -1738175.43049 -1332681.81846 23508237.0784 23508245.4284
+ 2821.3804 2198.4754
+ 24723569.3294 -4572627.03849 -3536379.99145 24723568.9494 24723576.3634
+ 2780.5564 2166.6654
+ 25044538.9214 -1179126.84449 -620859.74645 25044536.8484 25044542.0864
+ 1812.0694 1411.9984
+ 23982683.7364 -2540114.12149 -1763867.03146 23982683.3214 23982691.4454
+ -2934.1964 -2286.3804
+ 20409880.3324 -23420877.10349 -17796538.50248 20409880.2724 20409887.2344
+ -383.4214 -298.7664
+ 05 1 20 19 38 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24440089.7954 832070.38249 662886.77945 24440088.7794 24440097.9974
+ -2004.8994 -1562.2524
+ 20958779.2694 -22170746.15349 -17231212.09748 20958778.3974 20958785.5244
+ -872.1684 -679.6134
+ 23161059.2424 -12811273.18149 -9967235.24646 23161057.7644 23161065.6024
+ -3606.2184 -2810.0434
+ 20110040.7244 -25628158.58349 -19952094.66248 20110040.8524 20110046.5764
+ 210.1584 163.7584
+ 22292867.2124 -17260122.01249 -13435990.67547 22292867.4214 22292871.8944
+ 2584.1764 2013.6384
+ 23492162.6344 -1822645.95249 -1398502.94246 23492161.9914 23492171.1504
+ 2809.9144 2189.5434
+ 24707706.6244 -4655978.77049 -3601329.33145 24707705.5394 24707715.2414
+ 2776.1954 2163.2724
+ 25034219.3624 -1233336.93249 -663101.26745 25034219.2004 25034226.2314
+ 1801.9094 1404.0794
+ 23999467.3724 -2451920.69649 -1695144.90446 23999465.9684 23999475.0894
+ -2945.3964 -2295.1074
+ 20412102.4374 -23409199.67849 -17787439.20748 20412102.3314 20412109.2964
+ -395.0694 -307.8494
+ 05 1 20 19 38 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24451568.4954 892387.43349 709887.04345 24451567.6794 24451577.1194
+ -2016.1594 -1571.0334
+ 20963787.0164 -22144432.72949 -17210708.15048 20963786.0314 20963792.6734
+ -881.9794 -687.2594
+ 23181665.3454 -12702985.26149 -9882855.17246 23181665.0054 23181670.6294
+ -3612.9504 -2815.2874
+ 20108879.5164 -25634262.54449 -19956851.00048 20108879.5114 20108885.1624
+ 196.8424 153.3844
+ 22278139.0974 -17337518.81649 -13496299.82147 22278138.9354 22278144.3394
+ 2575.5644 2006.9344
+ 23476154.4364 -1906771.42349 -1464055.19846 23476154.3494 23476162.3154
+ 2798.4154 2180.5814
+ 24691866.7874 -4739201.33549 -3666178.00345 24691867.2674 24691879.9774
+ 2771.8614 2159.8844
+ 25023964.7804 -1287241.27649 -705104.60745 25023963.2984 25023969.5104
+ 1791.6594 1396.0934
+ 24016312.3964 -2363393.54049 -1626162.73946 24016312.4954 24016320.8454
+ -2956.4494 -2303.7194
+ 20414390.4314 -23397174.51449 -17778068.95448 20414390.5484 20414397.6514
+ -406.6374 -316.8604
+ 05 1 20 19 39 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24463107.1784 953040.29949 757149.01445 24463108.1214 24463117.8114
+ -2027.3124 -1579.7204
+ 20968849.5654 -22117825.96049 -17189975.61648 20968849.1014 20968856.1224
+ -891.7374 -694.8594
+ 23202310.1844 -12594497.40349 -9798319.27546 23202308.2924 23202315.8234
+ -3619.5494 -2820.4224
+ 20107793.0684 -25639967.69649 -19961296.57148 20107793.6084 20107799.5244
+ 183.5814 143.0514
+ 22263461.6984 -17414656.42549 -13556407.03347 22263460.8934 22263465.8804
+ 2566.9444 2000.2224
+ 23460212.0274 -1990548.99749 -1529336.38246 23460212.5164 23460219.6424
+ 2786.7194 2171.4684
+ 24676052.1914 -4822294.24449 -3730925.65245 24676054.3514 24676067.0414
+ 2767.4924 2156.4854
+ 25013764.7614 -1340837.50149 -746867.78745 25013763.8984 25013768.9484
+ 1781.3974 1388.0994
+ 24033222.5634 -2274535.07549 -1556922.40146 24033221.4634 24033229.5654
+ -2967.4504 -2312.2964
+ 20416744.9044 -23384802.99849 -17768428.81448 20416744.6494 20416752.0534
+ -418.1354 -325.8204
+ 05 1 20 19 39 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24474714.9414 1014026.24749 804670.53045 24474713.7524 24474723.4604
+ -2038.4164 -1588.3814
+ 20973968.7544 -22090925.32049 -17169014.10248 20973968.1474 20973975.0614
+ -901.5654 -702.5134
+ 23222991.2894 -12485812.13049 -9713629.56146 23222990.8694 23222998.5334
+ -3626.1354 -2825.5584
+ 20106783.6534 -25645274.53449 -19965431.76148 20106783.6574 20106789.6044
+ 170.2704 132.6784
+ 22248831.1544 -17491534.35549 -13616311.87047 22248830.6404 22248836.6254
+ 2558.2454 1993.4374
+ 23444337.4914 -2073976.22149 -1594344.55546 23444336.2934 23444344.3894
+ 2775.0444 2162.3684
+ 24660269.7484 -4905257.05949 -3795571.96545 24660270.2374 24660278.6334
+ 2763.2174 2153.1534
+ 25003624.2324 -1394122.62649 -788388.58645 25003623.1814 25003630.5274
+ 1770.9554 1379.9644
+ 24050193.7664 -2185348.15049 -1487426.13346 24050193.2944 24050200.4744
+ -2978.3474 -2320.7914
+ 20419165.2984 -23372086.43849 -17758519.81048 20419164.5614 20419171.8164
+ -429.6414 -334.7844
+ 05 1 20 19 40 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24486384.1664 1075342.20149 852449.12245 24486381.6414 24486390.1814
+ -2049.3204 -1596.8674
+ 20979143.7084 -22063730.10049 -17147823.03148 20979143.1214 20979150.1794
+ -911.3694 -710.1584
+ 23243710.9684 -12376932.08349 -9628788.09046 23243710.0904 23243717.6234
+ -3632.5234 -2830.5264
+ 20105849.0514 -25650184.50349 -19969257.71248 20105849.4104 20105855.2084
+ 157.1034 122.4164
+ 22234252.1204 -17568152.01449 -13676013.88747 22234251.5614 22234255.5284
+ 2549.5774 1986.6844
+ 23428527.5004 -2157050.65549 -1659077.81646 23428527.4104 23428535.4564
+ 2763.2694 2153.1914
+ 24644510.2254 -4988088.96449 -3860116.22745 24644508.1544 24644516.4624
+ 2758.8374 2149.7404
+ 24993542.1024 -1447094.14849 -829665.04445 24993541.9514 24993551.0514
+ 1760.4914 1371.8094
+ 24067227.0714 -2095835.24049 -1417675.84446 24067226.6884 24067234.1864
+ -2989.1594 -2329.2154
+ 20421649.6634 -23359026.17449 -17748342.98148 20421649.8164 20421657.2824
+ -441.0524 -343.6754
+ 05 1 20 19 40 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24498111.5604 1136985.28449 900482.64545 24498110.8864 24498121.3214
+ -2060.2094 -1605.3564
+ 20984374.4004 -22036239.94049 -17126402.14148 20984373.9304 20984381.1604
+ -921.2154 -717.8294
+ 23264467.2064 -12267859.89849 -9543796.85846 23264466.4884 23264473.3094
+ -3638.9414 -2835.5384
+ 20104990.1294 -25654698.20349 -19972774.88048 20104990.4844 20104996.2984
+ 143.9154 112.1404
+ 22219720.9794 -17644508.72449 -13735512.59247 22219721.0354 22219724.7784
+ 2540.8634 1979.8934
+ 23412786.3984 -2239769.78849 -1723534.22546 23412786.1604 23412795.1524
+ 2751.3554 2143.9114
+ 24628771.1654 -5070789.81049 -3924558.32445 24628770.6184 24628778.5884
+ 2754.4264 2146.3024
+ 24983522.3814 -1499749.44249 -870695.14045 24983521.7754 24983529.5404
+ 1749.9484 1363.6004
+ 24084323.3914 -2005999.00149 -1347673.59346 24084322.5254 24084329.8014
+ -2999.9304 -2337.6154
+ 20424200.6084 -23345623.75349 -17737899.54448 20424200.3824 20424207.4814
+ -452.4334 -352.5434
+ 05 1 20 19 41 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24509904.1244 1198952.49249 948768.79945 24509901.7524 24509913.0594
+ -2070.9224 -1613.7064
+ 20989663.2354 -22008454.21749 -17104750.94148 20989662.0814 20989668.7864
+ -931.0824 -725.5214
+ 23285258.7834 -12158597.86449 -9458657.72846 23285258.0054 23285267.1344
+ -3645.2074 -2840.4174
+ 20104206.4744 -25658816.74049 -19975984.12848 20104206.7144 20104212.5444
+ 130.7074 101.8484
+ 22205239.0324 -17720603.81949 -13794807.41747 22205240.1994 22205245.0864
+ 2532.1344 1973.0814
+ 23397112.9654 -2322131.26249 -1787711.93546 23397113.3064 23397121.7444
+ 2739.3824 2134.5814
+ 24613060.5624 -5153358.98149 -3988897.83445 24613058.3074 24613065.1594
+ 2750.0434 2142.8904
+ 24973563.6804 -1552085.44249 -911476.45445 24973563.8974 24973568.2334
+ 1739.1654 1355.2024
+ 24101478.7324 -1915842.20949 -1277421.57546 24101478.5144 24101486.4214
+ -3010.5714 -2345.9004
+ 20426815.8384 -23331880.19449 -17727190.28448 20426815.5464 20426822.8614
+ -463.7994 -361.4014
+ 05 1 20 19 41 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24521758.5204 1261240.97649 997305.22845 24521757.4564 24521765.5264
+ -2081.6074 -1622.0284
+ 20995006.3034 -21980372.51849 -17082869.11148 20995005.6764 20995012.8994
+ -940.9604 -733.2124
+ 23306087.0834 -12049148.67149 -9373372.74546 23306086.5544 23306093.3934
+ -3651.3754 -2845.2264
+ 20103497.4744 -25662541.13049 -19978886.25048 20103497.8934 20103504.0124
+ 117.6344 91.6654
+ 22190809.8944 -17796436.77949 -13853897.98047 22190809.6494 22190815.1504
+ 2523.3564 1966.2484
+ 23381510.1974 -2404132.38449 -1851608.85246 23381509.3114 23381518.1914
+ 2727.3114 2125.1824
+ 24597368.7164 -5235795.56349 -4053134.06045 24597369.7444 24597378.6814
+ 2745.6334 2139.4564
+ 24963666.2274 -1604099.82449 -952007.09645 24963665.0224 24963672.8464
+ 1728.4264 1346.8264
+ 24118695.7964 -1825367.57449 -1206921.85445 24118695.1674 24118701.9814
+ -3021.1284 -2354.1194
+ 20429495.9404 -23317796.98149 -17716216.35748 20429495.5554 20429502.9864
+ -475.0774 -370.1834
+ 05 1 20 19 42 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24533671.8644 1323847.54049 1046089.54845 24533672.8224 24533679.2364
+ -2092.1534 -1630.2464
+ 21000406.9994 -21951994.30149 -17060756.22648 21000405.7304 21000412.9744
+ -950.8154 -740.8914
+ 23326948.3694 -11939514.92249 -9287943.95745 23326948.2634 23326956.5644
+ -3657.5334 -2850.0304
+ 20102863.9974 -25665872.31149 -19981481.97448 20102864.1214 20102870.0394
+ 104.5384 81.4624
+ 22176429.4174 -17872007.03349 -13912783.87747 22176429.3714 22176434.5294
+ 2514.5994 1959.4334
+ 23365974.9214 -2485770.74949 -1915223.10346 23365974.0904 23365982.3134
+ 2715.2384 2115.7784
+ 24581706.4264 -5318099.09849 -4117266.54445 24581707.0424 24581719.9214
+ 2741.2034 2135.9904
+ 24953830.8204 -1655789.86549 -992285.06445 24953828.9424 24953836.2374
+ 1717.5764 1338.3754
+ 24135973.3874 -1734577.83849 -1136176.63045 24135972.2864 24135979.3094
+ -3031.5964 -2362.2744
+ 20432240.2664 -23303375.31449 -17704978.69848 20432239.8564 20432247.1504
+ -486.3434 -378.9664
+ 05 1 20 19 42 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24545642.7104 1386769.32749 1095119.52045 24545644.2344 24545655.1414
+ -2102.5864 -1638.3824
+ 21005863.0734 -21923318.94849 -17038411.80948 21005862.7234 21005869.5194
+ -960.7374 -748.6264
+ 23347846.2484 -11829699.18449 -9202373.35546 23347845.8634 23347853.6894
+ -3663.5344 -2854.6974
+ 20102305.1704 -25668811.15549 -19983771.98948 20102304.9244 20102310.8944
+ 91.4624 71.2704
+ 22162098.9214 -17947314.08649 -13971464.65347 22162098.3254 22162104.2784
+ 2505.7984 1952.5694
+ 23350509.5634 -2567043.82349 -1978552.71346 23350508.5474 23350516.7454
+ 2702.9844 2106.2094
+ 24566073.1264 -5400269.36149 -4181295.21445 24566072.1624 24566082.4124
+ 2736.6484 2132.4514
+ 24944053.0224 -1707152.83449 -1032308.16145 24944053.9014 24944061.3464
+ 1706.6014 1329.8154
+ 24153307.1154 -1643475.36449 -1065187.72345 24153305.9494 24153316.7844
+ -3041.9334 -2370.3404
+ 20435048.7474 -23288616.47749 -17693478.31348 20435048.4224 20435055.8384
+ -497.5694 -387.7174
+ 05 1 20 19 43 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24557679.3214 1450003.27349 1144392.69545 24557679.1474 24557687.9884
+ -2112.9784 -1646.4744
+ 21011376.7664 -21894345.97949 -17015835.48648 21011375.7444 21011382.9474
+ -970.6894 -756.3844
+ 23368779.1784 -11719703.95749 -9116662.91546 23368777.8404 23368784.6824
+ -3669.4854 -2859.3294
+ 20101819.6034 -25671358.76149 -19985757.13748 20101820.0024 20101826.2154
+ 78.4454 61.1264
+ 22147818.2194 -18022357.26949 -14029939.82247 22147818.5314 22147823.7744
+ 2497.0194 1945.7254
+ 23335111.1724 -2647949.02449 -2041595.68046 23335112.9544 23335120.7674
+ 2690.6484 2096.6064
+ 24550463.3424 -5482305.52149 -4245219.37545 24550461.8564 24550469.4914
+ 2732.2404 2129.0144
+ 24934346.7594 -1758186.15549 -1072074.37245 24934345.5774 24934350.3734
+ 1695.6294 1321.2684
+ 24170704.4614 -1552063.12849 -993957.47845 24170702.2764 24170711.6424
+ -3052.2324 -2378.3584
+ 20437921.0794 -23273521.59149 -17681716.07048 20437920.9374 20437928.0454
+ -508.7494 -396.4274
+ 05 1 20 19 43 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24569769.6464 1513546.46049 1193906.82045 24569769.8584 24569778.3824
+ -2123.1984 -1654.4364
+ 21016946.3494 -21865074.83849 -16993026.80848 21016945.6304 21016953.3484
+ -980.6374 -764.1324
+ 23389742.1224 -11609531.84749 -9030814.63746 23389742.0404 23389749.0824
+ -3675.2784 -2863.8474
+ 20101409.0714 -25673516.08749 -19987438.17548 20101409.3904 20101415.6694
+ 65.4664 51.0154
+ 22133589.9574 -18097135.91449 -14088208.86247 22133588.7104 22133593.0384
+ 2488.2204 1938.8764
+ 23319789.3374 -2728484.04949 -2104350.17446 23319787.6474 23319795.6444
+ 2678.2974 2086.9834
+ 24534877.0024 -5564207.25249 -4309038.76345 24534876.8424 24534884.0644
+ 2727.7954 2125.5504
+ 24924694.2164 -1808887.09749 -1111581.53745 24924695.4924 24924702.1774
+ 1684.4344 1312.5414
+ 24188158.1494 -1460343.85549 -922487.94345 24188157.6904 24188164.7234
+ -3062.3924 -2386.2764
+ 20440857.4954 -23258092.35949 -17669693.29748 20440857.2744 20440864.0184
+ -519.8844 -405.1034
+ 05 1 20 19 44 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24581917.8204 1577395.88349 1243659.58145 24581919.3004 24581928.8764
+ -2133.3584 -1662.3524
+ 21022573.7394 -21835505.15749 -16969985.51748 21022573.3624 21022580.0674
+ -990.6174 -771.9124
+ 23410739.7684 -11499185.51149 -8944830.57346 23410740.5364 23410748.8684
+ -3681.0764 -2868.3694
+ 20101073.0464 -25675284.34849 -19988816.04548 20101072.9094 20101079.1664
+ 52.5034 40.9124
+ 22119408.9184 -18171649.68449 -14146271.49247 22119409.3434 22119413.5674
+ 2479.3674 1931.9754
+ 23304533.2274 -2808646.32449 -2166814.22346 23304532.2024 23304541.3354
+ 2665.8504 2077.2844
+ 24519315.4144 -5645973.95049 -4372752.92145 24519314.5084 24519323.3314
+ 2723.2784 2122.0314
+ 24915110.1224 -1859252.87849 -1150827.53245 24915109.7304 24915119.5014
+ 1673.2134 1303.8014
+ 24205666.0794 -1368320.04949 -850781.15645 24205667.5104 24205677.7204
+ -3072.5914 -2394.2274
+ 20443856.6974 -23242329.95849 -17657410.90148 20443856.4694 20443863.6044
+ -530.9604 -413.7334
+ 05 1 20 19 44 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24594128.4614 1641548.58149 1293648.65245 24594127.9144 24594135.3484
+ -2143.4284 -1670.2014
+ 21028257.7854 -21805636.42849 -16946711.19848 21028257.1094 21028263.8314
+ -1000.5544 -779.6524
+ 23431770.6724 -11388667.38049 -8858712.64045 23431770.9024 23431779.7604
+ -3686.7454 -2872.7924
+ 20100810.2404 -25676664.16349 -19989891.22848 20100810.3204 20100816.4704
+ 39.5974 30.8564
+ 22105280.4674 -18245897.94549 -14204127.23747 22105280.4374 22105284.5654
+ 2470.5104 1925.0764
+ 23289349.6914 -2888433.38249 -2228985.88446 23289349.6524 23289357.6244
+ 2653.2804 2067.4914
+ 24503778.6484 -5727605.20249 -4436361.55945 24503779.4204 24503790.0454
+ 2718.7804 2118.5274
+ 24905592.4654 -1909281.20949 -1189810.59545 24905591.1214 24905597.9524
+ 1661.9314 1295.0064
+ 24223239.8414 -1275994.58349 -778839.33345 24223237.7194 24223245.7204
+ -3082.4884 -2401.9414
+ 20446919.1054 -23226235.87949 -17644870.06748 20446918.9904 20446926.0514
+ -541.9664 -422.3114
+ 05 1 20 19 45 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24606394.5184 1706001.73349 1343871.87845 24606393.5414 24606403.3214
+ -2153.4064 -1677.9774
+ 21033997.8464 -21775468.01549 -16923203.36348 21033997.5044 21034004.4984
+ -1010.5674 -787.4544
+ 23452834.9784 -11277980.05549 -8772462.90845 23452832.7704 23452842.9204
+ -3692.4134 -2877.1904
+ 20100621.6704 -25677656.80149 -19990664.71548 20100621.5614 20100627.4554
+ 26.6784 20.7904
+ 22091203.0114 -18319880.15449 -14261775.66547 22091201.7954 22091206.4004
+ 2461.6224 1918.1464
+ 23274239.6084 -2967842.66749 -2290863.20446 23274238.4244 23274246.6404
+ 2640.6584 2057.6554
+ 24488273.3554 -5809100.28449 -4499864.08145 24488273.4844 24488281.1524
+ 2714.2224 2114.9744
+ 24896135.8654 -1958969.35649 -1228528.55645 24896135.6624 24896141.0284
+ 1650.6104 1286.1874
+ 24240863.6434 -1183369.99749 -706664.35145 24240863.5794 24240872.1154
+ -3092.4574 -2409.7054
+ 20450044.9944 -23209811.35049 -17632071.73648 20450044.6914 20450051.6924
+ -552.9864 -430.8954
+ 05 1 20 19 45 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24618717.3384 1770752.36449 1394326.86845 24618716.8294 24618724.3114
+ -2163.2394 -1685.6464
+ 21039796.9354 -21744999.61849 -16899461.76348 21039795.8614 21039803.2324
+ -1020.5754 -795.2494
+ 23473929.6104 -11167126.11949 -8686083.32245 23473929.9124 23473937.8274
+ -3697.8524 -2881.4424
+ 20100505.7454 -25678263.22349 -19991137.24848 20100505.9704 20100512.2944
+ 13.8194 10.7744
+ 22077173.6774 -18393595.77049 -14319216.36847 22077173.5674 22077179.5864
+ 2452.7304 1911.2194
+ 23259198.5084 -3046871.97049 -2352444.43846 23259199.1524 23259207.9544
+ 2627.9424 2047.7484
+ 24472792.4024 -5890458.74849 -4563260.10946 24472791.2494 24472801.2364
+ 2709.6684 2111.4314
+ 24886746.0594 -2008314.73249 -1266979.38545 24886745.6844 24886754.0494
+ 1639.2094 1277.3054
+ 24258546.0014 -1090448.91149 -634258.33745 24258545.0964 24258553.8074
+ -3102.2794 -2417.3604
+ 20453233.1634 -23193057.64649 -17619016.90348 20453232.8784 20453239.7454
+ -563.9124 -439.4104
+ 05 1 20 19 46 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24631089.7984 1835797.27249 1445011.18745 24631091.6784 24631101.7064
+ -2173.0374 -1693.2754
+ 21045651.2114 -21714230.67949 -16875485.98348 21045650.6154 21045657.9314
+ -1030.5854 -803.0524
+ 23495055.1584 -11056108.19949 -8599575.95445 23495054.9524 23495062.7634
+ -3703.3394 -2885.7094
+ 20100463.8884 -25678484.46749 -19991309.64848 20100464.0864 20100469.9854
+ 1.0084 .7824
+ 22063197.6514 -18467044.12049 -14376448.80647 22063196.8794 22063202.2924
+ 2443.8004 1904.2604
+ 23244235.5954 -3125518.83549 -2413727.65946 23244233.5684 23244242.0284
+ 2615.1754 2037.7994
+ 24457338.3584 -5971680.40349 -4626549.57646 24457335.4634 24457344.5754
+ 2705.1064 2107.8704
+ 24877421.8804 -2057314.70349 -1305161.10245 24877421.3964 24877427.5264
+ 1627.5614 1268.2224
+ 24276284.5914 -997234.22049 -561623.54245 24276283.9454 24276292.6114
+ -3112.0164 -2424.9424
+ 20456483.9664 -23175976.42549 -17605706.85948 20456483.3504 20456490.3474
+ -574.8174 -447.9094
+ 05 1 20 19 46 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24643524.5284 1901133.33849 1495922.38145 24643525.8334 24643533.8904
+ -2182.6924 -1700.8034
+ 21051563.9364 -21683160.58349 -16851275.52748 21051563.0554 21051570.4724
+ -1040.6584 -810.9034
+ 23516210.5014 -10944928.94649 -8512942.86845 23516212.1924 23516219.7684
+ -3708.6824 -2889.8864
+ 20100495.2084 -25678321.57649 -19991182.71348 20100495.0494 20100501.2814
+ -11.7924 -9.1914
+ 22049271.3854 -18540224.75849 -14433472.65547 22049271.1014 22049276.2434
+ 2434.8714 1897.2954
+ 23229342.8854 -3203780.69049 -2474710.87646 23229341.5014 23229349.2524
+ 2602.2794 2027.7494
+ 24441902.5324 -6052764.62749 -4689731.92745 24441903.6284 24441913.4064
+ 2700.4414 2104.2374
+ 24868163.2314 -2105966.56049 -1343071.52445 24868163.1594 24868171.0484
+ 1615.8814 1259.1274
+ 24294077.9874 -903728.43949 -488761.90845 24294076.7584 24294086.3404
+ -3121.6824 -2432.4744
+ 20459796.0694 -23158568.83649 -17592142.51148 20459795.8554 20459802.8194
+ -585.6804 -456.3764
+ 05 1 20 19 47 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24656013.6584 1966757.59649 1547058.06745 24656014.4414 24656020.7034
+ -2192.2334 -1708.2374
+ 21057533.8504 -21651789.13549 -16826830.25848 21057532.8614 21057539.9264
+ -1050.6694 -818.6984
+ 23537399.6624 -10833590.85849 -8426186.04045 23537399.3514 23537407.9824
+ -3713.8864 -2893.9344
+ 20100598.6104 -25677775.73049 -19990757.37748 20100598.9144 20100604.9494
+ -24.5584 -19.1364
+ 22035397.1614 -18613137.40949 -14490287.65447 22035396.6664 22035401.5284
+ 2425.9184 1890.3184
+ 23214522.4134 -3281655.05049 -2535392.12546 23214521.3354 23214529.8614
+ 2589.3074 2017.6404
+ 24426502.3584 -6133710.80749 -4752806.73646 24426500.4654 24426511.5594
+ 2695.8704 2100.6684
+ 24858972.4164 -2154268.04149 -1380709.02145 24858969.6754 24858979.3504
+ 1604.1434 1249.9844
+ 24311927.2734 -809934.41749 -415675.68645 24311927.2254 24311934.2174
+ -3131.2254 -2439.9154
+ 20463170.8014 -23140836.19249 -17578324.86948 20463170.3444 20463177.3194
+ -596.4854 -464.7924
+ 05 1 20 19 47 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24668555.7244 2032666.93949 1598415.97145 24668554.0454 24668563.7874
+ -2201.7504 -1715.6564
+ 21063560.8684 -21620115.73849 -16802149.70248 21063560.4854 21063567.4154
+ -1060.7894 -826.5834
+ 23558617.5424 -10722096.43549 -8339307.38145 23558616.4464 23558623.8514
+ -3719.0584 -2897.9634
+ 20100774.9944 -25676847.87249 -19990034.36748 20100775.3114 20100781.5424
+ -37.2514 -29.0234
+ 22021572.9934 -18685781.18449 -14546893.16547 22021572.9654 22021577.8224
+ 2416.9834 1883.3604
+ 23199778.6454 -3359139.67249 -2595769.69046 23199776.6034 23199784.9904
+ 2576.3054 2007.5194
+ 24411121.9524 -6214518.40549 -4815773.57245 24411122.6784 24411134.5434
+ 2691.2574 2097.0824
+ 24849848.3344 -2202216.57749 -1418071.39445 24849848.0924 24849853.0654
+ 1592.3984 1240.8284
+ 24329828.6374 -715854.73849 -342366.87645 24329827.4614 24329837.1154
+ -3140.7174 -2447.3134
+ 20466606.7174 -23122780.05049 -17564255.14848 20466606.2174 20466613.3364
+ -607.2634 -473.1914
+ 05 1 20 19 48 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24681151.2134 2098858.46849 1649993.75745 24681150.9814 24681158.6374
+ -2211.0754 -1722.9164
+ 21069645.6534 -21588139.84749 -16777233.42748 21069645.1374 21069652.3214
+ -1070.8884 -834.4574
+ 23579863.6464 -10610448.40749 -8252308.99846 23579863.0684 23579870.8014
+ -3724.1424 -2901.9234
+ 20101024.3244 -25675539.06949 -19989014.51748 20101024.3364 20101030.6194
+ -49.9204 -38.9004
+ 22007800.8704 -18758155.84549 -14603288.96847 22007800.2894 22007805.5334
+ 2407.9834 1876.3444
+ 23185106.5564 -3436231.96649 -2655841.56446 23185106.7574 23185114.2264
+ 2563.1624 1997.2614
+ 24395774.6384 -6295187.21149 -4878632.23846 24395773.2074 24395781.7174
+ 2686.5954 2093.4434
+ 24840788.2174 -2249809.60649 -1455156.72545 24840788.4524 24840795.9434
+ 1580.5014 1231.5524
+ 24347787.4404 -621492.27749 -268837.65845 24347785.1844 24347792.6434
+ -3150.1064 -2454.6294
+ 20470103.6164 -23104401.66849 -17549934.33448 20470103.4624 20470110.4464
+ -617.9834 -481.5454
+ 05 1 20 19 48 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24693802.9424 2165329.21249 1701789.09345 24693801.2404 24693809.7274
+ -2220.3094 -1730.1104
+ 21075788.0224 -21555861.11249 -16752081.18048 21075787.3834 21075794.3214
+ -1080.9744 -842.3134
+ 23601138.1704 -10498649.41049 -8165193.01945 23601136.9834 23601145.1924
+ -3729.1434 -2905.8124
+ 20101345.4934 -25673850.19149 -19987698.50848 20101345.7674 20101352.0514
+ -62.5824 -48.7644
+ 21994078.9854 -18830260.93249 -14659474.72647 21994078.7524 21994084.5044
+ 2398.9724 1869.3274
+ 23170510.6814 -3512929.60449 -2715605.88846 23170511.3064 23170519.7334
+ 2549.9424 1986.9684
+ 24380450.2754 -6375716.49249 -4941382.17746 24380449.7034 24380457.7844
+ 2681.9594 2089.8334
+ 24831801.7204 -2297044.34349 -1491962.87645 24831801.5834 24831808.3164
+ 1568.4744 1222.1854
+ 24365795.3394 -526849.39749 -195089.96545 24365795.1834 24365802.4924
+ -3159.4244 -2461.8854
+ 20473662.1134 -23085702.13049 -17535363.26948 20473661.8194 20473669.0254
+ -628.6674 -489.8674
+ 05 1 20 19 49 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24706504.2514 2232076.09049 1753799.58045 24706502.1744 24706509.3654
+ -2229.4364 -1737.2254
+ 21081987.8594 -21523279.02749 -16726692.55148 21081987.3954 21081994.5074
+ -1091.0774 -850.1914
+ 23622442.0164 -10386702.00449 -8077961.36245 23622440.4004 23622448.4054
+ -3734.0514 -2909.6504
+ 20101739.2044 -25671782.73449 -19986087.50148 20101739.2914 20101745.4014
+ -75.1754 -58.5804
+ 21980409.1424 -18902095.59349 -14715449.75447 21980409.3524 21980414.5134
+ 2389.9814 1862.3194
+ 23155990.5544 -3589230.03749 -2775060.71746 23155990.9684 23156000.5584
+ 2536.7024 1976.6544
+ 24365150.8644 -6456106.11049 -5004023.29446 24365150.8974 24365160.6224
+ 2677.2434 2086.1594
+ 24822881.3804 -2343918.45849 -1528488.02045 24822881.9084 24822889.9854
+ 1556.4544 1212.8164
+ 24383857.7204 -431929.03749 -121126.01445 24383858.1844 24383867.0794
+ -3168.6114 -2469.0464
+ 20477281.2224 -23066683.02849 -17520543.19048 20477281.1904 20477288.2624
+ -639.2764 -498.1394
+ 05 1 20 19 49 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24719254.9384 2299096.17449 1806022.95745 24719254.1374 24719265.3534
+ -2238.5564 -1744.3284
+ 21088246.5254 -21490393.15749 -16701067.20648 21088245.7744 21088252.7424
+ -1101.2104 -858.0864
+ 23643773.3464 -10274608.62849 -7990615.99345 23643770.9854 23643779.9364
+ -3738.8894 -2913.4034
+ 20102205.0224 -25669337.42249 -19984182.06048 20102204.6604 20102210.7234
+ -87.7594 -68.3844
+ 21966792.5464 -18973659.35949 -14771213.69347 21966792.0284 21966796.2054
+ 2380.9364 1855.2734
+ 23141545.9864 -3665130.99549 -2834204.24446 23141547.3264 23141556.5384
+ 2523.3354 1966.2324
+ 24349879.9634 -6536355.28849 -5066554.99245 24349878.5294 24349888.0984
+ 2672.6104 2082.5484
+ 24814033.9844 -2390429.32149 -1564730.08845 24814030.3204 24814036.2794
+ 1544.2724 1203.3264
+ 24401974.2104 -336734.08349 -46948.10545 24401973.2894 24401979.9884
+ -3177.7364 -2476.1614
+ 20480960.9564 -23047345.84949 -17505475.25348 20480960.7704 20480967.8874
+ -649.8804 -506.3994
+ 05 1 20 19 50 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24732058.7054 2366386.37149 1858456.84545 24732059.8004 24732070.3954
+ -2247.4384 -1751.2434
+ 21094562.1834 -21457202.97949 -16675204.73548 21094561.5884 21094568.9054
+ -1111.3364 -865.9744
+ 23665129.7314 -10162372.01349 -7903158.99245 23665129.5694 23665137.0864
+ -3743.5704 -2917.0694
+ 20102741.1754 -25666515.61549 -19981983.24848 20102741.5904 20102747.5814
+ -100.2874 -78.1474
+ 21953224.9694 -19044952.09349 -14826766.45447 21953224.3914 21953229.4354
+ 2371.8694 1848.2104
+ 23127184.0524 -3740630.09949 -2893034.67046 23127181.2074 23127189.1154
+ 2509.9124 1955.7694
+ 24334636.1824 -6616463.77749 -5128977.03945 24334634.3204 24334643.6364
+ 2667.9204 2078.8904
+ 24805248.3164 -2436574.61649 -1600687.24445 24805249.2444 24805254.6294
+ 1532.0504 1193.8004
+ 24420140.6874 -241266.94049 27441.91745 24420139.8024 24420146.4864
+ -3186.6944 -2483.1384
+ 20484700.8484 -23027692.00549 -17490160.57348 20484700.9004 20484708.0004
+ -660.3764 -514.5774
+ 05 1 20 19 50 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24744917.8324 2433943.32349 1911098.62645 24744917.1584 24744926.7224
+ -2256.3244 -1758.1764
+ 21100935.9784 -21423708.14949 -16649104.88648 21100935.0934 21100942.5894
+ -1121.5414 -873.9244
+ 23686514.9844 -10049994.72349 -7815592.37545 23686514.1614 23686522.7424
+ -3748.1864 -2920.6584
+ 20103349.9134 -25663318.17049 -19979491.73448 20103350.0264 20103356.0664
+ -112.7794 -87.8794
+ 21939709.5094 -19115973.24449 -14882107.57547 21939709.3544 21939714.9434
+ 2362.8424 1841.1724
+ 23112890.5664 -3815724.88949 -2951550.04246 23112891.3764 23112899.5554
+ 2496.3914 1945.2394
+ 24319417.5914 -6696430.92549 -5191288.98346 24319417.1614 24319428.1904
+ 2663.2454 2075.2544
+ 24796539.4264 -2482351.69649 -1636357.49945 24796538.7624 24796545.6854
+ 1519.7834 1184.2414
+ 24438356.1074 -145530.39549 102041.80945 24438357.8914 24438365.5904
+ -3195.6594 -2490.1244
+ 20488501.1664 -23007722.70849 -17474600.07848 20488500.8544 20488507.8544
+ -670.8804 -522.7634
+ 05 1 20 19 51 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24757821.6914 2501763.92149 1963945.77945 24757820.8284 24757830.7394
+ -2265.0394 -1764.9654
+ 21107368.1414 -21389908.32449 -16622767.36348 21107367.4924 21107374.7024
+ -1131.7104 -881.8554
+ 23707923.9724 -9937479.31349 -7727918.17445 23707924.8474 23707931.6424
+ -3752.7724 -2924.2324
+ 20104029.5604 -25659746.29849 -19976708.45748 20104029.6514 20104035.6194
+ -125.2454 -97.5914
+ 21926247.2464 -19186722.26749 -14937236.68047 21926246.9194 21926251.5604
+ 2353.7454 1834.0834
+ 23098677.5454 -3890412.95449 -3009748.48546 23098678.1094 23098686.5294
+ 2482.7654 1934.6184
+ 24304229.4844 -6776256.69849 -5253490.75146 24304228.6434 24304238.4124
+ 2658.5214 2071.5664
+ 24787895.7484 -2527758.14649 -1671738.91245 24787895.8804 24787905.1224
+ 1507.3104 1174.5224
+ 24456626.9084 -49527.19749 176849.53045 24456625.2464 24456634.4904
+ -3204.5274 -2497.0344
+ 20492361.1384 -22987439.34149 -17458794.86048 20492360.7594 20492367.7464
+ -681.3444 -530.9184
+ 05 1 20 19 51 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24770776.2824 2569845.24649 2016996.09345 24770776.9834 24770784.0324
+ -2273.6744 -1771.6884
+ 21113858.1204 -21355803.00349 -16596191.80748 21113857.7064 21113864.0894
+ -1141.8674 -889.7674
+ 23729362.5104 -9824828.43849 -7640138.38045 23729362.1714 23729370.7194
+ -3757.2464 -2927.7054
+ 20104780.2104 -25655801.07549 -19973634.25648 20104780.3554 20104786.3674
+ -137.7014 -107.2984
+ 21912835.2154 -19257198.51049 -14992153.21747 21912835.5394 21912841.0074
+ 2344.6284 1826.9904
+ 23084543.3924 -3964691.98149 -3067628.17546 23084543.4694 23084551.8384
+ 2469.1444 1924.0124
+ 24289064.3324 -6855940.49149 -5315581.87846 24289063.7354 24289074.6894
+ 2653.7084 2067.8254
+ 24779329.6024 -2572791.88249 -1706829.89145 24779327.9924 24779332.8314
+ 1494.8534 1164.8124
+ 24474946.5094 46739.89849 251862.85945 24474945.1074 24474954.6554
+ -3213.2734 -2503.8514
+ 20496280.1784 -22966843.18349 -17442745.90348 20496280.1264 20496286.9054
+ -691.7504 -539.0284
+ 05 1 20 19 52 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24783782.0104 2638184.56149 2070247.43645 24783780.9014 24783791.9304
+ -2282.2864 -1778.4054
+ 21120405.9104 -21321391.80449 -16569377.89348 21120405.4984 21120412.8874
+ -1152.1014 -897.7374
+ 23750823.3124 -9712044.82049 -7552255.13945 23750823.9214 23750832.0674
+ -3761.6304 -2931.1274
+ 20105601.7924 -25651483.49149 -19970269.90648 20105602.0904 20105608.0724
+ -150.0924 -116.9554
+ 21899476.3494 -19327401.78049 -15046857.04547 21899476.2834 21899481.0424
+ 2335.5374 1819.9024
+ 23070488.0324 -4038559.93549 -3125187.57846 23070486.4944 23070495.4574
+ 2455.3724 1913.2774
+ 24273928.6644 -6935481.42249 -5377561.74046 24273928.6024 24273937.2704
+ 2649.0494 2064.1904
+ 24770829.4394 -2617449.99249 -1741628.18745 24770828.9154 24770836.0294
+ 1482.3174 1155.0474
+ 24493315.9434 143268.42749 327079.95545 24493315.7184 24493322.3344
+ -3221.9334 -2510.5974
+ 20500258.5684 -22945935.67649 -17426454.33848 20500258.5974 20500265.8964
+ -702.1054 -547.0924
+ 05 1 20 19 52 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24796834.6084 2706778.67849 2123697.31145 24796834.7104 24796843.4934
+ -2290.6204 -1784.8844
+ 21127012.8944 -21286674.28049 -16542325.28648 21127011.9674 21127019.0764
+ -1162.3094 -905.6954
+ 23772311.3164 -9599130.89049 -7464270.41845 23772310.6174 23772318.7784
+ -3765.9704 -2934.5094
+ 20106493.7974 -25646794.76149 -19966616.34448 20106494.1394 20106500.2084
+ -162.4234 -126.5654
+ 21886169.9644 -19397331.51449 -15101347.74247 21886169.4764 21886174.2224
+ 2326.4274 1812.7964
+ 23056509.4884 -4112014.09749 -3182424.54646 23056508.4804 23056517.0314
+ 2441.5204 1902.4814
+ 24258821.9254 -7014879.73549 -5439430.42146 24258819.4184 24258828.0234
+ 2644.1914 2060.4104
+ 24762403.6294 -2661730.15949 -1776132.00645 24762403.5364 24762409.1604
+ 1469.7234 1145.2374
+ 24511733.8484 240055.47349 402498.43745 24511732.5534 24511741.4354
+ -3230.4974 -2517.2714
+ 20504296.3274 -22924718.21349 -17409921.24748 20504295.8714 20504302.9444
+ -712.4224 -555.1394
+ 05 1 20 19 53 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24809935.3484 2775624.23749 2177343.16545 24809936.0284 24809944.5324
+ -2299.0614 -1791.4744
+ 21133677.9644 -21251650.08849 -16515033.71448 21133677.0594 21133684.1694
+ -1172.5304 -913.6624
+ 23793822.7174 -9486089.18149 -7376186.07645 23793821.8524 23793830.3994
+ -3770.1754 -2937.7984
+ 20107457.0994 -25641736.21049 -19962674.61248 20107456.9354 20107462.8264
+ -174.7724 -136.1854
+ 21872913.3564 -19466987.37649 -15155625.02647 21872913.8744 21872918.7794
+ 2317.2754 1805.6664
+ 23042608.7614 -4185052.33649 -3239337.43646 23042609.4324 23042617.8094
+ 2427.6034 1891.6474
+ 24243738.8474 -7094134.70549 -5501187.42746 24243738.0174 24243746.6914
+ 2639.4114 2056.6824
+ 24754050.3174 -2705630.09249 -1810339.53245 24754049.2304 24754053.0634
+ 1457.0074 1135.3214
+ 24530198.2014 337098.45149 478116.35845 24530199.6874 24530207.2124
+ -3238.9704 -2523.8724
+ 20508392.3144 -22903192.05349 -17393147.61848 20508392.2924 20508399.4694
+ -722.6834 -563.1294
+ 05 1 20 19 53 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24823083.0624 2844718.08649 2231182.48045 24823083.2234 24823095.0374
+ -2307.2124 -1797.8234
+ 21140400.2764 -21216318.70849 -16487502.77348 21140399.7774 21140407.5704
+ -1182.7954 -921.6614
+ 23815358.3194 -9372922.45949 -7288004.33645 23815357.6644 23815363.5104
+ -3774.2774 -2940.9844
+ 20108489.5524 -25636308.71149 -19958445.39148 20108489.9664 20108495.7844
+ -187.0304 -145.7384
+ 21859711.8434 -19536368.73449 -15209688.41647 21859711.2954 21859715.6944
+ 2308.0984 1798.5174
+ 23028791.8374 -4257672.12749 -3295924.23746 23028791.6184 23028799.4334
+ 2413.6744 1880.7784
+ 24228681.5804 -7173246.02849 -5562832.48946 24228682.2964 24228691.3934
+ 2634.5724 2052.9074
+ 24745768.9394 -2749147.16249 -1844248.80245 24745768.5974 24745775.3574
+ 1444.1904 1125.3424
+ 24548716.4734 434394.70949 553931.65945 24548712.0244 24548721.7174
+ -3247.4124 -2530.4584
+ 20512546.4884 -22881358.70249 -17376134.61848 20512547.0434 20512554.2184
+ -732.8824 -571.0794
+ 05 1 20 19 54 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24836278.5534 2914057.29149 2285213.04145 24836276.9364 24836288.9164
+ -2315.3904 -1804.2074
+ 21147183.3514 -21180679.88349 -16459732.27848 21147182.2434 21147189.0874
+ -1193.0504 -929.6494
+ 23836916.3164 -9259633.24449 -7199727.13045 23836915.9094 23836922.6354
+ -3778.3414 -2944.1594
+ 20109592.3414 -25630513.38749 -19953929.55048 20109592.6014 20109598.7284
+ -199.2604 -155.2674
+ 21846561.3674 -19605475.24349 -15263537.62247 21846561.1834 21846564.9964
+ 2298.9594 1791.3944
+ 23015053.1304 -4329871.15349 -3352183.19046 23015051.2514 23015059.9134
+ 2399.5974 1869.8124
+ 24213657.5064 -7252213.22649 -5624365.24746 24213655.7364 24213663.4184
+ 2629.7784 2049.1744
+ 24737559.1864 -2792279.16449 -1877857.97345 24737559.0864 24737567.3894
+ 1431.2664 1115.2684
+ 24567279.3014 531941.22449 629941.95145 24567277.5494 24567283.0214
+ -3255.7344 -2536.9394
+ 20516760.6964 -22859219.75049 -17358883.49248 20516760.1164 20516767.2954
+ -743.0514 -579.0014
+ 05 1 20 19 54 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24849518.4334 2983638.95149 2339432.47445 24849519.2154 24849530.7974
+ -2323.3684 -1810.4184
+ 21154023.5774 -21144733.13349 -16431721.84048 21154022.9774 21154029.6184
+ -1203.3174 -937.6474
+ 23858497.5744 -9146223.98849 -7111356.40245 23858496.1304 23858505.1434
+ -3782.3144 -2947.2514
+ 20110764.9214 -25624351.57049 -19949128.13448 20110765.2204 20110771.2294
+ -211.4794 -164.7884
+ 21833462.9824 -19674306.36649 -15317172.24947 21833462.6764 21833466.7044
+ 2289.7474 1784.2164
+ 23001391.9944 -4401647.22449 -3408112.54246 23001391.8464 23001401.5144
+ 2385.4684 1858.8044
+ 24198657.6324 -7331036.03949 -5685785.53046 24198656.9574 24198666.1154
+ 2624.9814 2045.4374
+ 24729427.3734 -2835023.69249 -1911165.33345 24729426.5834 24729431.7094
+ 1418.3774 1105.2254
+ 24585886.2794 629735.69849 706145.48345 24585886.5134 24585894.6154
+ -3263.9014 -2543.2904
+ 20521031.5744 -22836776.29349 -17341395.08548 20521030.7574 20521037.9914
+ -753.1854 -586.8924
+ 05 1 20 19 55 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24862805.9744 3053459.73549 2393838.22645 24862807.0064 24862815.8994
+ -2331.3214 -1816.6084
+ 21160922.2614 -21108478.11249 -16403471.17248 21160921.7814 21160929.1354
+ -1213.6144 -945.6714
+ 23880098.4604 -9032697.50349 -7022894.32045 23880098.3234 23880107.5564
+ -3786.1194 -2950.2234
+ 20112006.8164 -25617824.37449 -19944042.00148 20112007.1304 20112013.3894
+ -223.6074 -174.2334
+ 21820417.2824 -19742861.75049 -15370592.01347 21820416.6974 21820421.5894
+ 2280.5744 1777.0734
+ 22987815.7654 -4472997.97149 -3463710.47546 22987815.0144 22987824.3684
+ 2371.2394 1847.7244
+ 24183684.2444 -7409713.96549 -5747092.87346 24183683.3334 24183693.4314
+ 2620.1424 2041.6714
+ 24721366.2124 -2877378.40849 -1944168.87345 24721367.0324 24721371.7214
+ 1405.3044 1095.0374
+ 24604545.5324 727775.16949 782539.94445 24604542.8544 24604548.8534
+ -3272.0694 -2549.6604
+ 20525359.4654 -22814029.71749 -17323670.48648 20525359.3574 20525366.6614
+ -763.2524 -594.7374
+ 05 1 20 19 55 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24876141.6414 3123516.63849 2448427.90145 24876140.4974 24876146.9744
+ -2339.1204 -1822.6904
+ 21167880.1744 -21071914.46549 -16374980.03148 21167879.5784 21167886.4404
+ -1223.9034 -953.6844
+ 23901724.2794 -8919056.26549 -6934342.86845 23901724.4924 23901731.7104
+ -3789.8694 -2953.1514
+ 20113318.1914 -25610932.71049 -19938671.87248 20113318.4904 20113324.9354
+ -235.7334 -183.6874
+ 21807424.5624 -19811140.80649 -15423796.46047 21807424.0374 21807428.7164
+ 2271.3674 1769.8994
+ 22974317.8634 -4543921.20149 -3518975.29046 22974319.0374 22974327.3344
+ 2356.9574 1836.5924
+ 24168740.0054 -7488246.51449 -5808286.97046 24168739.5794 24168749.1864
+ 2615.2664 2037.8764
+ 24713381.5544 -2919340.79449 -1976866.72345 24713380.6064 24713386.5634
+ 1392.1754 1084.8104
+ 24623244.2474 826056.98748 859123.14645 24623242.3794 24623251.9374
+ -3280.0664 -2555.9004
+ 20529745.3044 -22790981.45449 -17305710.80448 20529745.1024 20529752.4354
+ -773.2914 -602.5604
+ 05 1 20 19 56 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24889513.4924 3193806.56849 2503199.17345 24889513.9774 24889521.2904
+ -2346.8684 -1828.7244
+ 21174897.2964 -21035041.85149 -16346248.13148 21174896.3374 21174903.3464
+ -1234.1894 -961.7044
+ 23923370.7034 -8805302.90249 -6845703.99645 23923371.8444 23923380.2904
+ -3793.5904 -2956.0444
+ 20114698.7744 -25603677.92449 -19933018.79248 20114699.0704 20114705.5204
+ -247.8094 -193.0954
+ 21794484.0504 -19879143.21749 -15476785.34547 21794483.4634 21794488.2864
+ 2262.1064 1762.6774
+ 22960906.2804 -4614414.68149 -3573905.22946 22960905.0144 22960913.1664
+ 2342.5874 1825.3964
+ 24153823.1154 -7566633.02749 -5869367.27646 24153823.2834 24153831.7274
+ 2610.3864 2034.0754
+ 24705470.5754 -2960908.72149 -2009257.24645 24705470.7414 24705478.4974
+ 1378.9934 1074.5404
+ 24641995.7194 924578.49048 935893.09544 24641990.9854 24642000.0444
+ -3287.9584 -2562.0484
+ 20534188.3324 -22767633.01549 -17287517.22048 20534188.3394 20534195.5574
+ -783.2604 -610.3274
+ 05 1 20 19 56 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24902932.9164 3264326.33949 2558149.64945 24902932.4084 24902943.6454
+ -2354.3534 -1834.5664
+ 21181972.4014 -20997859.91649 -16317275.20348 21181971.9994 21181979.0044
+ -1244.4834 -969.7284
+ 23945037.5844 -8691440.10449 -6756979.84745 23945039.3944 23945047.6234
+ -3797.1624 -2958.8144
+ 20116148.7054 -25596061.04949 -19927083.56648 20116148.6254 20116154.8264
+ -259.8694 -202.4944
+ 21781595.1114 -19946868.83849 -15529558.54447 21781595.4584 21781600.3064
+ 2252.8924 1755.5034
+ 22947573.4834 -4684476.03449 -3628498.44546 22947573.3134 22947581.6274
+ 2328.1534 1814.1404
+ 24138934.6094 -7644873.81149 -5930334.02946 24138935.1374 24138943.1474
+ 2605.6134 2030.3434
+ 24697633.7674 -3002079.91049 -2041338.58245 24697634.2854 24697641.9614
+ 1365.7824 1064.2444
+ 24660785.2364 1023337.02358 1012847.75454 24660787.9584 24660794.3324
+ -3295.7304 -2568.1064
+ 20538688.4834 -22743985.55749 -17269090.63548 20538688.3644 20538695.3404
+ -793.2094 -618.0864
+ 05 1 20 19 57 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24916394.2054 3335072.98449 2613276.79945 24916395.1244 24916405.2394
+ -2361.9794 -1840.4994
+ 21189106.2794 -20960368.19249 -16288060.87848 21189105.9314 21189113.3294
+ -1254.8344 -977.7904
+ 23966728.9844 -8577470.61349 -6668172.56945 23966727.3744 23966733.9734
+ -3800.7484 -2961.6244
+ 20117666.9944 -25588083.33049 -19920867.16248 20117666.7374 20117672.7844
+ -271.9064 -211.8744
+ 21768761.5394 -20014316.93149 -15582115.47547 21768761.0254 21768765.3834
+ 2243.6284 1748.2794
+ 22934324.4334 -4754102.88949 -3682753.09246 22934324.2164 22934331.6274
+ 2313.6404 1802.8344
+ 24124074.2844 -7722968.22349 -5991186.73546 24124073.7314 24124081.3964
+ 2600.6444 2026.4794
+ 24689881.0724 -3042851.82049 -2073108.84645 24689878.1994 24689881.7404
+ 1352.3684 1053.7924
+ 24679626.6084 1122329.79858 1089984.94054 24679620.6994 24679629.6954
+ -3303.7134 -2574.3114
+ 20543245.2684 -22720040.65149 -17250432.27148 20543245.1444 20543252.1234
+ -803.1084 -625.7914
+ 05 1 20 19 57 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24929900.7684 3406043.28049 2668578.30045 24929900.9964 24929910.5554
+ -2369.3124 -1846.2174
+ 21196300.1384 -20922566.38149 -16258604.93848 21196299.7474 21196306.6124
+ -1265.1834 -985.8564
+ 23988434.5574 -8463396.51349 -6579283.76045 23988433.9214 23988441.5524
+ -3804.2194 -2964.3174
+ 20119253.0614 -25579745.91349 -19914370.47848 20119253.4954 20119259.3494
+ -283.8534 -221.1824
+ 21755979.8724 -20081487.25249 -15634455.97047 21755979.0314 21755983.7054
+ 2234.3664 1741.0694
+ 22921156.7854 -4823292.97449 -3736667.39046 22921156.9844 22921165.2054
+ 2299.0324 1791.4424
+ 24109240.8854 -7800915.73649 -6051924.97146 24109241.2964 24109250.0474
+ 2595.7504 2022.6654
+ 24682194.4514 -3083222.12249 -2104566.14545 24682194.4744 24682202.4144
+ 1338.9214 1043.3164
+ 24698508.0894 1221554.17448 1167302.69844 24698508.2104 24698510.7664
+ -3311.4084 -2580.3214
+ 20547858.4264 -22695799.78249 -17231543.28048 20547858.0364 20547865.0064
+ -812.9374 -633.4554
+ 05 1 20 19 58 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+ 24943451.0424 3477234.11449 2724051.60245 24943450.0004 24943458.4394
+ -2376.6944 -1851.9674
+ 21203552.7754 -20884454.19149 -16228907.13748 21203552.2264 21203559.2004
+ -1275.5294 -993.9224
+ 24010163.6454 -8349220.79349 -6490315.77145 24010162.8874 24010169.2464
+ -3807.5294 -2966.9034
+ 20120907.8094 -25571050.01249 -19907594.44948 20120908.0274 20120913.9264
+ -295.7904 -230.4854
+ 21743249.2794 -20148379.29749 -15686579.61847 21743249.2124 21743254.3574
+ 2225.0614 1733.8074
+ 22908074.1204 -4892044.17949 -3790239.72846 22908074.4844 22908082.2834
+ 2284.3824 1780.0424
+ 24094437.9564 -7878716.18149 -6112548.61446 24094437.3704 24094446.1104
+ 2590.8144 2018.8084
+ 24674589.8914 -3123188.46649 -2135708.74945 24674590.4034 24674595.6814
+ 1325.4544 1032.8244
+ 24717434.8004 1321002.47258 1244794.89854 24717432.3064 24717442.7784
+ -3318.9034 -2586.1474
+ 20552526.8014 -22671264.43349 -17212424.83148 20552526.8114 20552533.9184
+ -822.7534 -641.1094
+ 05 1 20 19 58 30.0000000 0 9G 9G 7G28G 4G 2G 5G17G23G24
+ 24957039.2504 3548642.27349 2779694.20445 24957038.3654 24957046.0274
+ -2383.8744 -1857.5574
+ 21210864.1364 -20846031.25149 -16198967.19848 21210863.9154 21210871.2464
+ -1285.8774 -1001.9824
+ 24031909.4004 -8234945.91049 -6401270.50145 24031907.6844 24031914.1644
+ -3810.8544 -2969.4874
+ 20122630.9844 -25561996.75449 -19900539.96048 20122630.8914 20122637.0224
+ -307.6814 -239.7494
+ 21730573.9184 -20214992.74649 -15738486.18547 21730573.6274 21730577.9164
+ 2215.7864 1726.5924
+ 22895077.1434 -4960354.35049 -3843468.38046 22895074.7304 22895082.9634
+ 2269.5814 1768.5014
+ 24079659.3914 -7956368.97149 -6173057.19846 24079658.4914 24079667.6404
+ 2585.9354 2015.0164
+ 24667062.2414 -3162748.83849 -2166534.89345 24667061.6664 24667067.6814
+ 1311.8934 1022.2494
+ 20557252.2574 -22646435.60349 -17193077.69048 20557251.9074 20557258.5964
+ -832.4964 -648.6954
+ 05 1 20 19 59 0.0000000 0 9G 9G 7G28G 4G 2G 5G17G23G24
+ 24970667.9024 3620264.85549 2835503.95245 24970666.7924 24970676.2284
+ -2390.9604 -1863.0874
+ 21218235.5314 -20807297.33549 -16168784.93148 21218234.8884 21218241.8094
+ -1296.2874 -1010.0924
+ 24053673.2254 -8120574.57749 -6312150.07845 24053673.9034 24053679.7214
+ -3814.0034 -2971.9514
+ 20124421.3814 -25552587.36349 -19893207.96348 20124421.4914 20124427.5444
+ -319.5354 -248.9854
+ 21717951.0224 -20281327.25949 -15790175.39247 21717950.5234 21717954.9884
+ 2206.4804 1719.3374
+ 22882160.6444 -5028221.23949 -3896351.65046 22882160.0964 22882168.8324
+ 2254.8024 1756.9894
+ 24064908.6224 -8033874.00149 -6233450.68846 24064909.0694 24064919.0444
+ 2581.0794 2011.2294
+ 24659612.5334 -3201900.77649 -2197042.86545 24659612.1564 24659617.6454
+ 1298.2054 1011.5864
+ 20562032.2834 -22621314.71549 -17173502.96848 20562032.0874 20562039.1244
+ -842.2174 -656.2724
+ 05 1 20 19 59 30.0000000 0 9G 9G 7G28G 4G 2G 5G17G23G24
+ 24984335.9414 3692098.64349 2891478.24545 24984335.0384 24984345.3584
+ -2397.9174 -1868.5054
+ 21225665.4844 -20768252.02449 -16138360.03148 21225664.8304 21225672.0504
+ -1306.6794 -1018.1924
+ 24075455.5464 -8006109.22349 -6222956.39845 24075456.7754 24075461.0744
+ -3817.0334 -2974.3034
+ 20126279.2984 -25542822.86849 -19885599.26248 20126279.3424 20126285.7274
+ -331.3624 -258.2024
+ 21705380.8624 -20347382.42849 -15841646.92547 21705380.4444 21705384.3514
+ 2197.1664 1712.0774
+ 22869330.8414 -5095642.44349 -3948887.59946 22869330.2004 22869338.2194
+ 2239.8634 1745.3414
+ 24050187.7104 -8111230.78849 -6293728.63546 24050188.8664 24050198.8524
+ 2576.0124 2007.2784
+ 24652238.2364 -3240642.18249 -2227230.87145 24652238.8664 24652243.8614
+ 1284.4714 1000.8834
+ 20566867.8764 -22595903.25149 -17153701.82248 20566867.9074 20566874.7134
+ -851.8934 -663.8134
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 20 0 0.0000000 0 9G 9G 7G28G 4G 2G 5G17G23G24
+ 24998040.6424 3764140.35949 2947614.59345 24998041.3464 24998052.9694
+ -2404.7604 -1873.8364
+ 21233155.0744 -20728895.06249 -16107692.27848 21233154.2144 21233160.9104
+ -1317.0504 -1026.2764
+ 24097253.3894 -7891552.46649 -6133691.52045 24097254.5174 24097260.9634
+ -3819.9934 -2976.6164
+ 20128205.0714 -25532704.67949 -19877714.95548 20128204.8914 20128210.8524
+ -343.1494 -267.3924
+ 21692863.1904 -20413157.89649 -15892900.50747 21692863.4574 21692867.5534
+ 2187.8444 1704.8114
+ 22856585.1264 -5162616.05649 -4001074.79946 22856585.8274 22856594.1654
+ 2224.9804 1733.7524
+ 24035499.2544 -8188439.31749 -6353891.03746 24035497.4944 24035504.8274
+ 2571.1224 2003.4764
+ 24644945.5334 -3278970.58749 -2257097.05245 24644945.0654 24644950.1634
+ 1270.7244 990.1694
+ 20571758.9904 -22570202.42049 -17133675.19748 20571758.5014 20571765.2754
+ -861.4954 -671.2974
+ 05 1 20 20 0 30.0000000 0 9G 9G 7G28G 4G 2G 5G17G23G24
+ 25011791.5984 3836387.26549 3003910.79245 25011792.8874 25011800.9874
+ -2411.5984 -1879.1644
+ 21240704.0964 -20689226.08549 -16076781.40348 21240703.6364 21240709.9494
+ -1327.4514 -1034.3804
+ 24119073.2014 -7776907.04049 -6044357.54545 24119072.1374 24119077.6814
+ -3822.9374 -2978.9064
+ 20130197.0114 -25522233.68649 -19869555.73348 20130197.5824 20130203.5064
+ -354.8614 -276.5164
+ 21680400.9844 -20478653.33049 -15943935.87947 21680400.2474 21680404.5834
+ 2178.4914 1697.5274
+ 22843927.4354 -5229139.94149 -4052911.52046 22843926.0924 22843934.0714
+ 2209.9664 1722.0464
+ 24020835.3834 -8265498.98349 -6413937.44846 24020834.6704 24020840.5424
+ 2566.1264 1999.5784
+ 24637730.7404 -3316884.13549 -2286639.97945 24637730.5804 24637736.0054
+ 1256.7894 979.3134
+ 20576703.6234 -22544213.80949 -17113424.32748 20576703.5844 20576710.6374
+ -871.0614 -678.7514
+ 05 1 20 20 1 0.0000000 0 9G 9G 7G28G 4G 2G 5G17G23G24
+ 25025580.7694 3908836.28449 3060364.47945 25025580.9084 25025589.9204
+ -2418.3074 -1884.3894
+ 21248312.6764 -20649244.81649 -16045627.18648 21248311.5114 21248318.0884
+ -1337.8724 -1042.4994
+ 24140904.4294 -7662175.57049 -5954956.49745 24140903.4724 24140910.4114
+ -3825.8454 -2981.1704
+ 20132256.8354 -25511411.35849 -19861122.74848 20132256.9444 20132262.9614
+ -366.5734 -285.6404
+ 21667991.5424 -20543868.18949 -15994752.62647 21667990.7174 21667995.1904
+ 2169.1334 1690.2314
+ 22831354.9484 -5295211.73149 -4104396.00546 22831354.3424 22831362.0214
+ 2194.8154 1710.2384
+ 24006198.3174 -8342409.09249 -6473867.30646 24006197.7214 24006205.4704
+ 2561.1274 1995.6814
+ 24630594.9084 -3354380.37349 -2315857.72345 24630593.9264 24630602.7244
+ 1242.8954 968.4874
+ 20581704.4604 -22517938.93349 -17092950.40448 20581703.7364 20581710.7064
+ -880.5884 -686.1784
+ 05 1 20 20 1 30.0000000 0 9G 9G 7G28G 4G 2G 5G17G23G24
+ 25039405.6254 3981484.12249 3116973.05145 25039405.9394 25039413.1894
+ -2424.8474 -1889.4884
+ 21255979.0494 -20608951.00149 -16014229.42248 21255978.4834 21255986.1194
+ -1348.2734 -1050.6024
+ 24162753.3214 -7547360.54449 -5865490.36445 24162751.0824 24162758.9284
+ -3828.5434 -2983.2814
+ 20134382.9574 -25500238.80649 -19852416.86348 20134383.0504 20134389.1344
+ -378.1854 -294.6894
+ 21655634.1274 -20608802.27549 -16045350.59447 21655633.7744 21655638.8534
+ 2159.7854 1682.9504
+ 22818866.6984 -5360829.12349 -4155526.39646 22818866.5714 22818874.7524
+ 2179.6744 1698.4384
+ 23991589.7844 -8419169.61249 -6533680.62346 23991589.7234 23991598.2604
+ 2556.1954 1991.8384
+ 24623538.1234 -3391457.27149 -2344748.74045 24623538.7224 24623543.8864
+ 1228.8644 957.5554
+ 20586758.3974 -22491378.93349 -17072254.30348 20586757.8654 20586764.5644
+ -890.0754 -693.5634
+ 05 1 20 20 2 0.0000000 0 9G 9G 7G28G 4G 2G 5G17G23G24
+ 25053266.9434 4054327.64849 3173734.14245 25053266.5724 25053275.4534
+ -2431.3234 -1894.5284
+ 21263706.0904 -20568344.21149 -15982587.80048 21263706.0074 21263713.1504
+ -1358.7394 -1058.7564
+ 24184616.4694 -7432464.62849 -5775961.17545 24184614.2844 24184622.7594
+ -3831.2244 -2985.3634
+ 20136575.3024 -25488717.22549 -19843439.00548 20136575.3504 20136581.4444
+ -389.8124 -303.7524
+ 21643330.6344 -20673455.21849 -16095729.48747 21643331.0454 21643335.5514
+ 2150.4114 1675.6434
+ 22806470.3084 -5425990.22749 -4206301.25246 22806468.2064 22806475.0334
+ 2164.4114 1686.5454
+ 23977011.0054 -8495780.41449 -6593377.27346 23977010.9984 23977020.3024
+ 2551.1924 1987.9254
+ 24616565.4594 -3428112.56949 -2373311.20245 24616563.3764 24616568.9304
+ 1214.8044 946.5984
+ 20591866.3734 -22464535.42049 -17051337.27348 20591865.8974 20591873.0194
+ -899.4894 -700.9044
+ 05 1 20 20 2 30.0000000 0 9G 9G 7G28G 4G 2G 5G17G23G24
+ 25067164.1154 4127363.94149 3230645.47045 25067164.1854 25067175.6484
+ -2437.7614 -1899.5524
+ 21271493.9914 -20527424.38749 -15950702.23248 21271492.9414 21271500.1064
+ -1369.1884 -1066.8964
+ 24206494.8594 -7317490.21849 -5686370.87045 24206494.4724 24206503.1004
+ -3833.7794 -2987.3544
+ 20138833.4634 -25476847.80349 -19834190.10448 20138833.9064 20138840.2014
+ -401.3854 -312.7634
+ 21631081.4724 -20737826.72449 -16145889.07547 21631081.0394 21631085.5124
+ 2141.0074 1668.3134
+ 22794155.6534 -5490692.84149 -4256718.82646 22794154.5614 22794163.6334
+ 2149.0764 1674.5994
+ 23962460.0764 -8572240.94249 -6652956.82546 23962460.0724 23962470.8174
+ 2546.1964 1984.0484
+ 24609669.4534 -3464344.09449 -2401543.45945 24609669.3414 24609676.6384
+ 1200.6054 935.5344
+ 20597028.3164 -22437409.54249 -17030200.22848 20597027.9284 20597034.7604
+ -908.8874 -708.2204
+ 05 1 20 20 3 0.0000000 0 9G 9G 7G28G 4G 2G 5G17G23G24
+ 25081099.0894 4200589.64249 3287704.38245 25081097.4784 25081108.8414
+ -2443.9634 -1904.3814
+ 21279339.6454 -20486191.12349 -15918572.43048 21279339.3754 21279346.5434
+ -1379.5964 -1075.0074
+ 24228389.3904 -7202440.04549 -5596721.47945 24228387.9184 24228394.4094
+ -3836.1994 -2989.2484
+ 20141158.5394 -25464631.79549 -19824671.14348 20141158.6944 20141165.0054
+ -412.9234 -321.7584
+ 21618885.5004 -20801916.26549 -16195828.96147 21618885.3134 21618889.8704
+ 2131.6264 1661.0084
+ 22781931.9674 -5554934.72449 -4306777.37546 22781930.7444 22781938.0354
+ 2133.6774 1662.6034
+ 23947941.7884 -8648551.10749 -6712419.23846 23947941.0874 23947948.8604
+ 2541.0924 1980.0604
+ 24602854.2644 -3500149.64249 -2429443.73845 24602854.0334 24602861.8244
+ 1186.2824 924.3754
+ 20602243.1894 -22410002.76949 -17008844.30448 20602243.1534 20602250.4564
+ -918.2144 -715.4904
+ 05 1 20 20 3 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25095067.4614 4274001.56149 3344908.41545 25095068.1734 25095077.5274
+ -2450.1264 -1909.1874
+ 21287246.2654 -20444644.15449 -15886198.18848 21287245.5204 21287252.8184
+ -1390.1004 -1083.1974
+ 24250297.5064 -7087316.53349 -5507014.95245 24250295.4654 24250303.2094
+ -3838.6784 -2991.1714
+ 20143548.9734 -25452070.27849 -19814882.94848 20143549.1334 20143555.2444
+ -424.4174 -330.7164
+ 21606744.1264 -20865723.57849 -16245548.92347 21606743.2564 21606747.9474
+ 2122.2144 1653.6724
+ 22769795.0444 -5618713.56749 -4356475.14946 22769793.7774 22769801.1354
+ 2118.2384 1650.5804
+ 23933448.5444 -8724711.16249 -6771764.64646 23933447.8774 23933456.8534
+ 2536.0764 1976.1624
+ 24596123.4774 -3535527.21249 -2457010.61145 24596122.6114 24596127.0024
+ 1172.0964 913.3194
+ -53768.09541 -10245.838 3 24558066.537
+ 2286.2344 1783.999
+ 20607512.5564 -22382316.45149 -16987270.54748 20607511.5334 20607518.8644
+ -927.5414 -722.7624
+ 05 1 20 20 4 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25109075.4694 4347597.12249 3402255.56245 25109074.0454 25109083.4784
+ -2456.1854 -1913.9054
+ 21295212.1784 -20402783.28849 -15853579.34647 21295211.3194 21295218.0534
+ -1400.5434 -1091.3274
+ 24272218.0194 -6972122.56849 -5417253.55645 24272216.5814 24272225.1354
+ -3840.8414 -2992.8594
+ 20146004.9194 -25439164.60949 -19804826.59048 20146004.8554 20146011.1404
+ -435.8804 -339.6434
+ 21594654.8054 -20929248.63049 -16295048.95547 21594654.5714 21594659.5314
+ 2112.7854 1646.3274
+ 22757746.6064 -5682027.62849 -4405810.73046 22757745.1034 22757752.8224
+ 2102.7044 1638.4604
+ 23918982.4894 -8800719.61949 -6830991.95846 23918982.6144 23918992.9184
+ 2531.0924 1972.2714
+ 24589472.6854 -3570474.79449 -2484242.34845 24589473.0644 24589478.5974
+ 1157.6614 902.0704
+ -122234.42541 -10245.838 3 24558066.537
+ 2277.9744 1783.999
+ 20612833.4154 -22354352.03149 -16965480.09648 20612833.1404 20612840.5484
+ -936.7564 -729.9364
+ 05 1 20 20 4 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25123113.3714 4421372.72049 3459742.93745 25123114.2654 25123122.4414
+ -2462.0844 -1918.5024
+ 21303237.3594 -20360608.31749 -15820715.75647 21303236.9984 21303244.1104
+ -1410.9914 -1099.4784
+ 24294152.1474 -6856860.63549 -5327439.14945 24294150.1194 24294158.5154
+ -3843.1604 -2994.6664
+ 20148525.7644 -25425915.99549 -19794502.99348 20148525.8824 20148532.3254
+ -447.3014 -348.5444
+ 21582619.9094 -20992490.73549 -16344328.49847 21582619.6604 21582624.5644
+ 2103.3344 1638.9524
+ 22745785.9064 -5744874.88449 -4454782.59946 22745786.2814 22745792.9754
+ 2087.1024 1626.3084
+ 23904548.0074 -8876576.64049 -6890101.27046 23904547.3834 23904556.3024
+ 2526.0404 1968.3324
+ 24582904.7734 -3604990.09949 -2511137.23345 24582903.6724 24582909.2924
+ 1143.2894 890.8704
+ 24528310.5784 -190448.14349 -131907.16544
+ 2269.5234 1768.5824
+ 20618207.3994 -22326110.81449 -16943473.95248 20618207.1734 20618214.3934
+ -945.9844 -737.1334
+ 05 1 20 20 5 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25137184.3554 4495325.22049 3517368.16645 25137185.7314 25137194.0714
+ -2467.9784 -1923.0974
+ 21311323.3694 -20318118.77549 -15787607.03447 21311322.2614 21311329.4814
+ -1421.5134 -1107.6724
+ 24316096.4524 -6741533.19649 -5237573.74745 24316096.2474 24316108.3194
+ -3845.2334 -2996.2714
+ 20151112.0514 -25412325.47949 -19783912.98148 20151111.9414 20151118.3874
+ -458.6644 -357.3994
+ 21570639.1944 -21055449.62849 -16393387.34947 21570639.4534 21570643.7664
+ 2093.8964 1631.6064
+ 22733916.0144 -5807253.17149 -4503389.01146 22733915.7984 22733922.6444
+ 2071.4044 1614.0764
+ 23890142.0534 -8952282.23749 -6949092.58346 23890142.0144 23890150.1664
+ 2520.9354 1964.3514
+ 24576416.3874 -3639071.17649 -2537693.79845 24576417.5894 24576423.4044
+ 1128.7134 879.5094
+ 24515371.5374 -258405.91249 -20704.56443
+ 2260.9484 1761.7774
+ 20623633.8334 -22297594.22349 -16921253.23848 20623633.6754 20623641.1904
+ -955.1364 -744.2614
+ 05 1 20 20 5 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25151290.1604 4569451.51949 3575128.83745 25151292.9634 25151300.8484
+ -2473.7834 -1927.6204
+ 21319468.7944 -20275314.62549 -15754253.16847 21319468.2694 21319474.6864
+ -1431.9944 -1115.8364
+ 24338051.3824 -6626142.97949 -5147659.37145 24338053.4784 24338061.9884
+ -3847.3524 -2997.9354
+ 20153763.1444 -25398394.47249 -19773057.65148 20153763.2564 20153769.5354
+ -469.9974 -366.2304
+ 21558714.4284 -21118125.04349 -16442225.31647 21558713.6524 21558716.8384
+ 2084.4464 1624.2474
+ 22722136.4644 -5869160.30849 -4551628.30546 22722135.7034 22722142.4624
+ 2055.6694 1601.8264
+ 23875766.7984 -9027835.75449 -7007965.41146 23875765.7334 23875773.4424
+ 2515.8914 1960.4344
+ 24570019.2924 -3672715.80549 -2563910.24945 24570018.0464 24570024.7734
+ 1114.1954 868.2004
+ 24502491.6564 -326104.53949 -73455.89944
+ 2252.3604 1755.0334
+ 20629112.3634 -22268803.79149 -16898819.14048 20629112.6114 20629119.5964
+ -964.2324 -751.3474
+ 05 1 20 20 6 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25165427.0784 4643748.56849 3633022.60945 25165427.9024 25165438.8434
+ -2479.4494 -1932.0324
+ 21327673.4184 -20232195.66049 -15720653.98747 21327673.0074 21327680.4094
+ -1442.5144 -1124.0384
+ 24360023.4774 -6510692.36049 -5057697.94045 24360025.4624 24360031.2144
+ -3849.3494 -2999.5014
+ 20156478.3504 -25384124.02349 -19761937.81748 20156478.8724 20156484.9664
+ -481.2924 -375.0324
+ 21546840.7514 -21180516.70049 -16490842.15347 21546840.2054 21546843.9634
+ 2074.9724 1616.8594
+ 22710445.2804 -5930594.47349 -4599499.02246 22710444.7164 22710452.0934
+ 2039.8604 1589.5104
+ 23861416.6534 -9103237.20549 -7066719.70446 23861416.7304 23861424.8864
+ 2510.8774 1956.5164
+ 24563697.4764 -3705922.21249 -2589785.20645 24563696.4824 24563701.9444
+ 1099.6114 856.8304
+ 24489662.9274 -393540.94949 -126002.30844
+ 2243.4874 1748.1344
+ 20634643.7024 -22239740.68349 -16876172.56348 20634643.1634 20634650.4244
+ -973.3014 -758.4184
+ 05 1 20 20 6 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25179600.9124 4718213.26849 3691046.98045 25179600.4024 25179608.7584
+ -2484.9584 -1936.3304
+ 21335939.0404 -20188761.54349 -15686809.23548 21335938.5774 21335945.4304
+ -1453.0034 -1132.2054
+ 24382005.9654 -6395184.07049 -4967691.59045 24382005.1204 24382012.9804
+ -3851.2054 -3000.9304
+ 20159258.8294 -25369515.46949 -19750554.51848 20159258.8504 20159264.9774
+ -492.5474 -383.8004
+ 21535021.4754 -21242624.24249 -16539237.61047 21535020.9704 21535025.7354
+ 2065.5104 1609.4894
+ 22698844.4194 -5991553.33849 -4646999.38946 22698843.8384 22698851.6754
+ 2024.0264 1577.1714
+ 23847097.9984 -9178486.04449 -7125355.12046 23847096.8014 23847105.6514
+ 2505.7034 1952.4894
+ 24557462.5174 -3738688.09949 -2615316.97545 24557462.9034 24557467.9824
+ 1084.7994 845.2884
+ -460711.95941 -6524.215 3 24479252.062
+ 2234.6234 1742.500
+ 20640225.5704 -22210406.24349 -16853314.55948 20640225.4074 20640232.2584
+ -982.3244 -765.4474
+ 05 1 20 20 7 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25193802.0194 4792842.50649 3749199.52945 25193801.5554 25193810.0044
+ -2490.4514 -1940.6124
+ 21344264.1934 -20145012.09949 -15652718.76848 21344263.5364 21344271.1734
+ -1463.5284 -1140.4114
+ 24403996.2234 -6279620.72549 -4877642.33945 24403996.0654 24404005.2114
+ -3853.0314 -3002.3564
+ 20162102.8784 -25354570.03549 -19738908.71248 20162102.8074 20162108.8584
+ -503.7584 -392.5374
+ 21523256.2604 -21304447.47649 -16587411.53147 21523256.0904 21523261.1734
+ 2056.0204 1602.0934
+ 22687336.6704 -6052034.87149 -4694127.81546 22687336.3324 22687342.8094
+ 2008.0724 1564.7244
+ 23832806.0714 -9253582.43149 -7183871.71746 23832806.6634 23832815.4084
+ 2500.6434 1948.5584
+ 24551312.2324 -3771011.78749 -2640504.12045 24551311.0464 24551317.2034
+ 1070.0544 833.8094
+ -527614.57741 -6524.215 3 24479252.062
+ 2225.6184 1742.500
+ 20645858.8704 -22180802.12449 -16830246.40948 20645858.4284 20645866.0024
+ -991.2874 -772.4304
+ 05 1 20 20 7 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25208033.0114 4867633.07649 3807477.87245 25208033.3014 25208043.9064
+ -2495.8254 -1944.7954
+ 21352650.2104 -20100947.24549 -15618382.53048 21352648.9774 21352656.3024
+ -1474.0684 -1148.6264
+ 24425995.1924 -6164004.89049 -4787552.19145 24425996.0424 24426004.4034
+ -3854.7684 -3003.7134
+ 20165010.0814 -25339288.83649 -19727001.27848 20165010.5264 20165016.8124
+ -514.9154 -401.2324
+ 21511545.9074 -21365986.05849 -16635363.66347 21511545.8504 21511551.3584
+ 2046.5194 1594.6954
+ 22675917.4284 -6112037.06849 -4740882.73046 22675917.7594 22675923.8694
+ 1992.0724 1552.2654
+ 23818546.9824 -9328525.84949 -7242269.16246 23818545.5694 23818553.1334
+ 2495.5034 1944.5474
+ 24545246.6144 -3802891.14649 -2665345.08445 24545246.5114 24545249.2584
+ 1055.2084 822.2324
+ 24451472.2414 -594245.75549 -120156.92744
+ 2216.4004 1727.0464
+ 20651543.5444 -22150929.46349 -16806969.01148 20651543.2794 20651550.3724
+ -1000.2244 -779.3984
+ 05 1 20 20 8 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25222297.0444 4942581.99449 3865879.51545 25222297.3034 25222306.4884
+ -2500.9174 -1948.7654
+ 21361094.4274 -20056566.62949 -15583800.24147 21361094.1214 21361101.5974
+ -1484.5874 -1156.8164
+ 24448006.2994 -6048339.00249 -4697423.02645 24448007.1894 24448015.0484
+ -3856.3404 -3004.9284
+ 20167981.8344 -25323673.32549 -19714833.34048 20167982.0564 20167988.1324
+ -526.0444 -409.9054
+ 21499890.1244 -21427239.56849 -16683093.65748 21499889.8634 21499895.0594
+ 2037.0374 1587.3014
+ 22664591.3974 -6171558.03249 -4787262.66146 22664590.7544 22664598.1974
+ 1975.9684 1539.7144
+ 23804312.6854 -9403315.80649 -7300546.97746 23804313.0304 23804321.1404
+ 2490.4064 1940.5744
+ 24539263.5034 -3834324.31949 -2689838.33245 24539261.9994 24539268.4404
+ 1040.3494 810.6484
+ 24438843.2234 -660602.33149 -171863.04045 24438847.3934
+ 2207.1714 1719.8734
+ 20657278.8664 -22120789.87049 -16783483.61348 20657278.6834 20657285.4324
+ -1009.1034 -786.3134
+ 05 1 20 20 8 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25236586.8644 5017686.01249 3924401.99145 25236586.9314 25236594.8994
+ -2506.0674 -1952.7754
+ 21369599.8434 -20011870.12049 -15548971.79247 21369599.3514 21369606.8624
+ -1495.1184 -1165.0214
+ 24470026.6054 -5932625.62149 -4607256.86545 24470024.7104 24470036.4204
+ -3857.8684 -3006.1264
+ 20171016.8864 -25307724.73949 -19702405.85748 20171017.1964 20171023.1004
+ -537.1134 -418.5294
+ 21488288.8004 -21488207.98249 -16730601.48648 21488288.4274 21488293.0774
+ 2027.5024 1579.8734
+ 22653357.5894 -6230595.87149 -4833266.13547 22653356.3354 22653363.3734
+ 1959.8354 1527.1404
+ 23790111.0904 -9477951.92349 -7358704.93546 23790109.9174 23790118.0224
+ 2485.3024 1936.6074
+ 24533367.2744 -3865309.08849 -2713982.20345 24533367.2824 24533371.2254
+ 1025.3824 798.9924
+ 24426256.0334 -726681.25058 -223352.97855 24426263.9874 24426273.6964
+ 2197.7814 1712.5494
+ 20663064.6554 -22090384.40249 -16759791.02748 20663064.5354 20663071.3994
+ -1017.9334 -793.1944
+ 05 1 20 20 9 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25250908.7914 5092942.06649 3983042.99145 25250909.9414 25250916.0414
+ -2510.9674 -1956.5974
+ 21378165.8914 -19966857.49049 -15513897.03047 21378165.4194 21378172.6064
+ -1505.6114 -1173.2034
+ 24492055.5254 -5816867.34449 -4517055.72745 24492054.2624 24492060.5114
+ -3859.3204 -3007.2604
+ 20174115.1934 -25291444.07249 -19689719.61348 20174115.2704 20174121.5504
+ -548.1884 -427.1624
+ 21476741.8504 -21548890.65249 -16777886.65448 21476741.0574 21476745.2594
+ 2017.9874 1572.4524
+ 22642213.5164 -6289148.65449 -4878891.64246 22642214.0234 22642221.3214
+ 1943.6824 1514.5644
+ 23775935.8664 -9552434.71149 -7416743.41046 23775936.1614 23775945.8674
+ 2480.1264 1932.5594
+ 24527558.4024 -3895843.71549 -2737775.38145 24527557.8724 24527560.3514
+ 1010.3024 787.2394
+ 24413742.9284 -792479.55849 -274624.18645 24413741.0204 24413750.8734
+ 2188.5774 1705.3804
+ 20668901.2544 -22059714.57549 -16735892.45248 20668900.8624 20668907.9034
+ -1026.7404 -800.0594
+ 05 1 20 20 9 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25265257.8994 5168347.11349 4041800.04545 25265257.5464 25265267.7954
+ -2516.0034 -1960.5134
+ 21386791.8964 -19921528.67249 -15478575.87547 21386791.2144 21386798.1094
+ -1516.1874 -1181.4454
+ 24514087.9374 -5701066.69648 -4426821.58344 24514090.8344 24514098.2114
+ -3860.7024 -3008.3394
+ 20177276.8664 -25274832.65049 -19676775.63948 20177276.5054 20177282.3194
+ -559.1914 -435.7354
+ 21465248.1384 -21609287.68449 -16824949.25948 21465248.0664 21465252.1394
+ 2008.4584 1565.0294
+ 22631164.8104 -6347214.47849 -4924137.69446 22631164.4064 22631171.8114
+ 1927.3544 1501.8324
+ 23761791.5284 -9626763.06949 -7474661.58446 23761791.3014 23761801.6274
+ 2475.0154 1928.5814
+ 24521831.7994 -3925926.23149 -2761216.21045 24521832.2744 24521839.1584
+ 995.1724 775.4464
+ 24401279.2994 -857993.89549 -325674.25645 24401278.3894 24401285.7374
+ 2179.0334 1697.9454
+ 20674787.0704 -22028781.59149 -16711788.81248 20674786.9764 20674794.2414
+ -1035.4684 -806.8634
+ 05 1 20 20 10 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25279634.9854 5243897.95149 4100670.78545 25279634.5374 25279644.0514
+ -2520.6964 -1964.1764
+ 21395477.2714 -19875883.48849 -15443008.21147 21395477.1674 21395484.3204
+ -1526.7234 -1189.6534
+ 24536133.4824 -5585226.42449 -4336556.61645 24536133.7864 24536144.1504
+ -3862.0894 -3009.4134
+ 20180499.8914 -25257891.80349 -19663574.96848 20180500.0884 20180506.3444
+ -570.1294 -444.2554
+ 21453809.2054 -21669398.67349 -16871788.96948 21453808.7444 21453813.0914
+ 1998.9214 1557.5994
+ 22620207.4124 -6404791.16949 -4969002.61346 22620207.5574 22620214.8074
+ 1911.0574 1489.1454
+ 23747678.0374 -9700937.83849 -7532460.06346 23747677.0674 23747686.5864
+ 2469.8904 1924.5944
+ 24516193.8744 -3955554.64149 -2784303.28245 24516193.4134 24516197.6164
+ 979.9544 763.6034
+ 24388863.3434 -923221.31949 -376500.75045 24388865.1334 24388872.9724
+ 2169.4594 1690.4844
+ 20680723.5404 -21997587.01849 -16687481.34448 20680723.3454 20680730.3194
+ -1044.1544 -813.6244
+ 05 1 20 20 10 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25294040.1894 5319591.59049 4159652.75645 25294038.7944 25294049.7674
+ -2525.4994 -1967.9184
+ 21404223.4944 -19829921.78949 -15407193.90147 21404223.0084 21404230.1274
+ -1537.2754 -1197.8774
+ 24558185.6644 -5469348.97549 -4246262.59145 24558183.6444 24558191.7864
+ -3863.1984 -3010.2784
+ 20183786.2004 -25240622.87249 -19650118.64848 20183786.1914 20183792.2404
+ -581.0434 -452.7614
+ 21442423.1374 -21729223.28549 -16918405.52248 21442423.6404 21442429.1074
+ 1989.3564 1550.1504
+ 22609344.9154 -6461877.09749 -5013485.11146 22609344.4814 22609351.8574
+ 1894.6924 1476.3924
+ 23733593.2054 -9774957.67049 -7590137.78346 23733592.5254 23733600.7174
+ 2464.7824 1920.6114
+ 24510642.8284 -3984727.35549 -2807035.20145 24510643.3094 24510648.2184
+ 964.9034 751.8694
+ 24376508.2704 -988158.96149 -427101.36945 24376508.2004 24376513.5704
+ 2159.6834 1682.8704
+ 20686708.9364 -21966132.00349 -16662970.92648 20686708.6794 20686716.1514
+ -1052.8244 -820.3814
+ 05 1 20 20 11 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25308469.7164 5395424.94849 4218743.61545 25308470.0414 25308479.1374
+ -2530.0404 -1971.4524
+ 21413030.0824 -19783643.36149 -15371132.78147 21413029.4624 21413036.7004
+ -1547.8604 -1206.1194
+ 24580240.9244 -5353436.79749 -4155941.49545 24580240.9444 24580250.4444
+ -3864.3434 -3011.1784
+ 20187134.3314 -25223026.88849 -19636407.48048 20187134.5994 20187140.6224
+ -591.9494 -461.2564
+ 21431095.0444 -21788761.35549 -16964798.81648 21431094.8774 21431099.1214
+ 1979.7984 1542.7004
+ 22598575.2234 -6518470.25849 -5057583.63147 22598575.2634 22598582.7474
+ 1878.1934 1463.5324
+ 23719536.7234 -9848822.87249 -7647695.04746 23719536.0344 23719543.3954
+ 2459.5984 1916.5744
+ 24505179.6584 -4013442.23749 -2829410.40545 24505178.7964 24505182.1364
+ 949.4764 739.8544
+ 24364208.8924 -1052803.45549 -477473.49645 24364204.8404 24364214.2704
+ 2149.8544 1675.2104
+ 20692744.0624 -21934418.09349 -16638258.77848 20692743.8234 20692750.8644
+ -1061.4374 -827.0884
+ 05 1 20 20 11 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25322925.9794 5471394.87849 4277940.82845 25322926.8964 25322937.4454
+ -2534.5484 -1974.9744
+ 21421897.2064 -19737048.07249 -15334824.77047 21421896.6054 21421903.9244
+ -1558.4134 -1214.3444
+ 24602307.0064 -5237492.55449 -4065595.45045 24602305.8684 24602314.0084
+ -3865.2894 -3011.9064
+ 20190544.8284 -25205105.15349 -19622442.47748 20190544.8724 20190551.0154
+ -602.7844 -469.7014
+ 21419820.3374 -21848012.64149 -17010968.63448 21419819.4014 21419823.8204
+ 1970.2514 1535.2644
+ 22587900.6134 -6574568.74149 -5101296.67947 22587899.8024 22587907.4214
+ 1861.6884 1450.6664
+ 23705510.6194 -9922533.35049 -7705131.73146 23705509.8464 23705516.5164
+ 2454.3614 1912.4884
+ 24499801.8314 -4041697.44349 -2851427.36745 24499802.2314 24499807.6464
+ 934.2004 727.9384
+ 24351959.2724 -1117151.93049 -527615.00745 24351959.3644 24351969.2554
+ 2139.9854 1667.5164
+ 20698828.0604 -21902446.67849 -16613345.97948 20698827.7354 20698834.9224
+ -1070.0104 -833.7754
+ 05 1 20 20 12 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25337406.6054 5547498.06649 4337241.87045 25337407.0744 25337417.6294
+ -2538.8244 -1978.3004
+ 21430824.1384 -19690135.75949 -15298269.71847 21430823.8364 21430831.1534
+ -1568.9524 -1222.5584
+ 24624378.6624 -5121518.97349 -3975226.55345 24624374.7804 24624384.1824
+ -3866.2784 -3012.6754
+ 20194016.9284 -25186858.90849 -19608224.61448 20194017.0474 20194023.1954
+ -613.5544 -478.0924
+ 21408598.1634 -21906976.73249 -17056914.66348 21408598.5884 21408603.3234
+ 1960.6794 1527.8004
+ 22577320.5284 -6630170.72749 -5144622.86347 22577319.0764 22577326.9034
+ 1845.1084 1437.7404
+ 23691513.5584 -9996088.66849 -7762447.51346 23691512.4664 23691519.6124
+ 2449.2324 1908.4694
+ 24494511.7204 -4069491.13949 -2873084.81145 24494512.7174 24494517.5994
+ 918.8394 715.9744
+ 24339771.5484 -1181201.27949 -577523.49145 24339772.3544 24339779.8074
+ 2129.9074 1659.6654
+ 20704960.7194 -21870219.07549 -16588233.55048 20704960.2244 20704967.7414
+ -1078.5034 -840.3954
+ 05 1 20 20 12 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25351915.2384 5623731.59549 4396644.51545 25351916.1544 25351924.1714
+ -2543.2594 -1981.7614
+ 21439812.0834 -19642906.39749 -15261467.61747 21439811.0344 21439818.6584
+ -1579.5734 -1230.8334
+ 24646447.9854 -5005518.32549 -3884836.54445 24646449.2074 24646455.7094
+ -3867.1424 -3013.3574
+ 20197549.8214 -25168289.37249 -19593754.83548 20197550.3974 20197556.8004
+ -624.3234 -486.4884
+ 21397433.3864 -21965653.56849 -17102636.85248 21397433.2654 21397437.5294
+ 1951.0924 1520.3384
+ 22566835.1014 -6685274.24749 -5187560.63647 22566833.5184 22566840.6594
+ 1828.4544 1424.7674
+ 23677545.4144 -10069488.41249 -7819642.07046 23677544.3044 23677553.3554
+ 2444.0314 1904.4524
+ 24489311.9194 -4096821.44549 -2894381.06945 24489311.9704 24489315.2824
+ 903.2604 703.8424
+ 24327643.2094 -1244948.41649 -627196.56245 24327642.9414 24327647.8074
+ 2119.8924 1651.8564
+ 20711141.9904 -21837736.43149 -16562922.39248 20711141.6504 20711148.9154
+ -1086.9824 -846.9984
+ 05 1 20 20 13 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25366445.1054 5700092.28449 4456146.29545 25366444.4824 25366455.5274
+ -2547.3994 -1984.9834
+ 21448859.5934 -19595359.78449 -15224418.33447 21448859.2114 21448866.3354
+ -1590.1244 -1239.0554
+ 24668531.6444 -4889493.30049 -3794427.48245 24668527.3314 24668537.1624
+ -3867.8724 -3013.9234
+ 20201145.6964 -25149398.14249 -19579034.38048 20201145.5274 20201151.6984
+ -635.0204 -494.8184
+ 21386323.0924 -22024042.80249 -17148134.93348 21386322.5844 21386326.8974
+ 1941.4964 1512.8574
+ 22556442.8164 -6739877.40049 -5230108.51647 22556443.0204 22556450.0724
+ 1811.7334 1411.7374
+ 23663606.0354 -10142732.88449 -7876715.65546 23663605.0224 23663615.2744
+ 2438.8494 1900.4014
+ 24484200.2844 -4123686.93549 -2915315.17845 24484198.3994 24484204.5724
+ 887.7074 691.7174
+ 24315567.5604 -1308390.29749 -676631.68345 24315568.0174 24315576.1074
+ 2109.6664 1643.8944
+ 20717371.1724 -21805000.40449 -16537413.79348 20717371.3234 20717378.5554
+ -1095.4144 -853.5664
+ 05 1 20 20 13 30.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25381001.1274 5776576.96749 4515744.67345 25381000.1824 25381011.4074
+ -2551.5894 -1988.2484
+ 21457967.1884 -19547495.86949 -15187121.78947 21457967.0604 21457974.3124
+ -1600.6994 -1247.2934
+ 24690610.7264 -4773446.44148 -3704001.43545 24690611.3734 24690619.9234
+ -3868.5404 -3014.4484
+ 20204801.2974 -25130185.91849 -19564063.80948 20204801.7204 20204807.8094
+ -645.7104 -503.1504
+ 21375266.0544 -22082144.18549 -17193408.71648 21375265.4544 21375270.0984
+ 1931.8984 1505.3744
+ 22546147.8734 -6793978.58349 -5272265.23647 22546147.1904 22546155.4074
+ 1794.9744 1398.6814
+ 23649698.7314 -10215821.79449 -7933668.02746 23649698.6694 23649706.8084
+ 2433.6564 1896.3484
+ 24479176.3184 -4150085.54249 -2935885.42845 24479176.5744 24479179.6424
+ 872.1524 679.5964
+ 24303552.4704 -1371523.94649 -725826.64245 24303554.2614 24303561.8824
+ 2099.2164 1635.7574
+ 20723648.7754 -21772012.00549 -16511708.54048 20723648.5264 20723655.8524
+ -1103.8104 -860.1104
+ 05 1 20 20 14 0.0000000 0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+ 25395581.1494 5853182.63649 4575437.29645 25395579.4884 25395586.7334
+ -2555.4734 -1991.2744
+ 21467136.4844 -19499314.54149 -15149577.91047 21467135.8684 21467143.0854
+ -1611.2884 -1255.5444
+ 24712698.5864 -4657380.14448 -3613560.24844 24712697.4904 24712709.9344
+ -3869.1014 -3014.8794
+ 20208518.2604 -25110654.30049 -19548844.35348 20208518.4094 20208524.4504
+ -656.3284 -511.4204
+ 21364264.0634 -22139957.54349 -17238458.07148 21364263.6384 21364268.5834
+ 1922.3094 1497.9024
+ 22535947.6994 -6847575.89149 -5314029.32346 22535947.6994 22535955.1314
+ 1778.1564 1385.5654
+ 23635820.6054 -10288754.33349 -7990498.55746 23635819.9274 23635827.6474
+ 2428.4434 1892.3014
+ 24474241.1184 -4176015.29549 -2956090.39845 24474241.6074 24474248.1954
+ 856.4664 667.3724
+ 24291602.8464 -1434346.47949 -774779.19545 24291599.6194 24291607.4884
+ 2088.8864 1627.6964
+ 20729973.9474 -21738772.99549 -16485808.00548 20729973.9564 20729981.0264
+ -1112.1354 -866.5974
+ 05 1 20 20 14 30.0000000 0 9G 7G28G 4G 2G 5G17G23G13G24
+ 21476365.9894 -19450815.70849 -15111786.61047 21476365.0074 21476371.6874
+ -1621.8824 -1263.8044
+ 24734789.8444 -4541297.18848 -3523106.10644 24734787.7434 24734799.6754
+ -3869.6334 -3015.2894
+ 20212295.5944 -25090804.42149 -19533376.90148 20212295.5124 20212301.5714
+ -666.9284 -519.6884
+ 21353317.2244 -22197482.62149 -17283282.79248 21353317.3244 21353321.9184
+ 1912.6754 1490.3944
+ 22525844.9904 -6900667.49949 -5355399.36947 22525845.3244 22525852.3584
+ 1761.2614 1372.4104
+ 23621971.4124 -10361530.78449 -8047207.45546 23621970.6984 23621978.6024
+ 2423.2154 1888.2174
+ 24469397.5884 -4201474.75749 -2975928.87845 24469396.3424 24469401.9774
+ 840.7414 655.1174
+ 24279705.4764 -1496854.72549 -823486.76945 24279704.8594 24279713.8254
+ 2078.2914 1619.4404
+ 20736346.5614 -21705284.63549 -16459713.18148 20736346.5284 20736353.5954
+ -1120.4484 -873.0804
+ 05 1 20 20 15 0.0000000 0 9G 7G28G 4G 2G 5G17G23G13G24
+ 21485655.1874 -19401999.29849 -15073747.85947 21485654.8284 21485661.4574
+ -1632.4474 -1272.0414
+ 24756881.7844 -4425199.95248 -3432640.81744 24756885.1744 24756891.6654
+ -3870.1194 -3015.6714
+ 20216133.0774 -25070637.65349 -19517662.53248 20216133.0984 20216139.4214
+ -677.4844 -527.9114
+ 21342425.2514 -22254719.26549 -17327882.76648 21342425.3644 21342430.3784
+ 1903.0864 1482.9224
+ 22515839.5214 -6953251.60449 -5396373.96447 22515838.6064 22515846.0054
+ 1744.3254 1359.2044
+ 23608150.9384 -10434151.10449 -8103794.68046 23608150.8784 23608159.9114
+ 2418.0204 1884.1654
+ 24464641.1604 -4226462.18049 -2995399.52345 24464642.3104 24464644.2644
+ 825.0724 642.9064
+ 24267865.5414 -1559045.78448 -871947.27945 24267869.4994 24267879.7134
+ 2067.7254 1611.2124
+ 20742766.6904 -21671548.14949 -16433425.00748 20742766.3594 20742773.3994
+ -1128.6814 -879.4954
+ 05 1 20 20 15 30.0000000 0 9G 7G28G 4G 2G 5G17G23G13G24
+ 21495005.0204 -19352865.22149 -15035461.57347 21495004.1754 21495011.1884
+ -1643.0624 -1280.3054
+ 24778977.7314 -4309090.90848 -3342166.34944 24778975.9034 24778979.7674
+ -3870.5364 -3016.0004
+ 20220030.6814 -25050155.24149 -19501702.20348 20220030.6494 20220036.8104
+ -687.9874 -536.0984
+ 21331588.7914 -22311667.24849 -17372257.78448 21331588.9354 21331593.5814
+ 1893.4284 1475.3924
+ 22505929.9344 -7005326.27749 -5436951.60147 22505928.6614 22505936.5034
+ 1727.3004 1345.9494
+ 23594361.3824 -10506614.53949 -8160259.67546 23594361.4614 23594370.0844
+ 2412.8054 1880.0974
+ 24459976.9234 -4250975.84649 -3014500.94045 24459976.4584 24459981.5624
+ 809.2324 630.5554
+ 24256099.4054 -1620916.64649 -920158.18645 24256098.9394 24256104.1984
+ 2057.0534 1602.8884
+ 20749233.7264 -21637564.97149 -16406944.59648 20749233.1484 20749240.4504
+ -1136.8794 -885.8844
+ 05 1 20 20 16 0.0000000 0 9G 7G28G 4G 2G 5G17G23G13G24
+ 21504415.2184 -19303413.46449 -14996927.74847 21504414.5894 21504421.8554
+ -1653.6074 -1288.5194
+ 24801073.0834 -4192972.71648 -3251684.72944 24801071.4034 24801081.3024
+ -3870.6554 -3016.0974
+ 20223988.2644 -25029358.23449 -19485496.73748 20223988.2514 20223994.4204
+ -698.4304 -544.2294
+ 21320806.9624 -22368326.33349 -17416407.70148 21320806.7274 21320811.2844
+ 1883.8244 1467.9164
+ 22496116.3164 -7056889.86649 -5477130.97847 22496116.4044 22496123.8764
+ 1710.2354 1332.6514
+ 23580602.8564 -10578921.22149 -8216602.54346 23580602.6304 23580609.9634
+ 2407.5484 1876.0224
+ 24455402.6114 -4275014.06349 -3033231.92045 24455401.6364 24455407.0954
+ 793.3014 618.1554
+ 24244382.1764 -1682464.22149 -968117.17845 24244384.0834 24244390.4614
+ 2046.1714 1594.4164
+ 20755746.5064 -21603336.28849 -16380272.89848 20755746.4834 20755753.4914
+ -1145.0274 -892.2284
+ 05 1 20 20 16 30.0000000 0 9G 7G28G 4G 2G 5G17G23G13G24
+ 21513885.7474 -19253643.99449 -14958146.35547 21513885.1354 21513892.8294
+ -1664.2414 -1296.8124
+ 24823173.0064 -4076847.77949 -3161197.81945 24823171.3704 24823178.4144
+ -3870.9134 -3016.2974
+ 20228005.4414 -25008248.00449 -19469047.20248 20228005.3114 20228011.6034
+ -708.8464 -552.3484
+ 21310080.9074 -22424696.35249 -17460332.36248 21310080.0754 21310083.9594
+ 1874.1774 1460.3984
+ 22486402.3274 -7107940.74849 -5516910.85447 22486402.4254 22486409.6254
+ 1693.1364 1319.3254
+ 23566874.6634 -10651071.35149 -8272823.38746 23566873.3144 23566880.8724
+ 2402.3794 1871.9854
+ 24450916.9374 -4298575.10649 -3051591.05145 24450916.9694 24450924.5544
+ 777.3904 605.7604
+ 24232737.0114 -1743685.36549 -1015821.80245 24232736.2414 24232743.4944
+ 2035.1854 1585.8524
+ 20762306.6234 -21568863.59249 -16353411.04548 20762306.8764 20762313.5234
+ -1153.1554 -898.5644
+ 05 1 20 20 17 0.0000000 0 9G 7G28G 4G 2G 5G17G23G13G24
+ 21523417.3434 -19203556.61049 -14919117.23247 21523416.6714 21523424.2884
+ -1674.8324 -1305.0644
+ 24845270.6194 -3960718.62449 -3070707.65144 24845270.5294 24845278.0444
+ -3870.9804 -3016.3484
+ 20232081.7554 -24986825.87249 -19452354.63148 20232081.9454 20232088.0894
+ -719.2174 -560.4314
+ 21299408.8674 -22480777.02849 -17504031.56148 21299408.5284 21299412.4514
+ 1864.5414 1452.8844
+ 22476785.4654 -7158477.51049 -5556290.12147 22476784.9864 22476792.4684
+ 1675.9794 1305.9454
+ 23553173.8114 -10723064.32149 -8328921.78946 23553173.4564 23553181.3374
+ 2397.2134 1867.9734
+ 24446528.8504 -4321657.45649 -3069577.13945 24446526.6434 24446529.8774
+ 761.4454 593.3194
+ 24221149.6194 -1804577.16949 -1063269.76845 24221147.1274 24221155.8974
+ 2024.2244 1577.3144
+ 20768912.5024 -21534148.15549 -16326360.04548 20768912.5004 20768919.4744
+ -1161.2134 -904.8444
+ 05 1 20 20 17 30.0000000 0 9G 7G28G 4G 2G 5G17G23G13G24
+ 21533009.4534 -19153151.34549 -14879840.41247 21533008.8774 21533015.8374
+ -1685.4164 -1313.3124
+ 24867368.2654 -3844587.81549 -2980216.19344 24867367.6884 24867378.9234
+ -3871.0354 -3016.3914
+ 20236217.2434 -24965093.02149 -19435419.93548 20236217.4764 20236223.6464
+ -729.5384 -568.4704
+ 21288792.3424 -22536568.26049 -17547505.21348 21288791.6174 21288795.9494
+ 1854.8714 1445.3514
+ 22467267.1864 -7208498.28749 -5595267.30247 22467266.2624 22467274.3914
+ 1658.7424 1292.5204
+ 23539501.8534 -10794900.20149 -8384897.76746 23539501.9824 23539511.1624
+ 2391.8734 1863.7984
+ 24442225.8634 -4344259.56149 -3087189.10145 24442226.9984 24442231.0524
+ 745.3924 580.8224
+ 24209616.8414 -1865137.01948 -1110459.08245 24209620.9384 24209631.6594
+ 2013.1174 1568.6544
+ 20775565.2904 -21499191.10549 -16299120.76048 20775564.8034 20775571.6254
+ -1169.2484 -911.1014
+ 05 1 20 20 18 0.0000000 0 9G 7G28G 4G 2G 5G17G23G13G24
+ 21542661.6304 -19102428.18549 -14840315.88247 21542660.6064 21542667.8854
+ -1696.0394 -1321.5924
+ 24889468.5344 -3728457.90349 -2889725.39144 24889467.8454 24889476.3084
+ -3871.0114 -3016.3594
+ 20240412.2504 -24943050.66849 -19418244.07648 20240412.2224 20240418.1864
+ -739.8604 -576.5154
+ 21278230.1924 -22592069.80849 -17590753.15248 21278229.7344 21278234.3114
+ 1845.2124 1437.8244
+ 22457846.6264 -7258001.20049 -5633840.96547 22457846.5494 22457853.2084
+ 1641.4474 1279.0504
+ 23525862.2074 -10866578.54249 -8440750.98646 23525861.9054 23525870.8124
+ 2386.6584 1859.7344
+ 24438015.3854 -4366379.77049 -3104425.49145 24438016.8314 24438020.1744
+ 729.2464 568.2484
+ 24198163.0994 -1925362.10649 -1157387.54245 24198163.4144 24198169.2094
+ 2001.8824 1559.9054
+ 20782262.3704 -21463993.92249 -16271694.37248 20782262.6474 20782269.5614
+ -1177.2364 -917.3274
+ 05 1 20 20 18 30.0000000 0 9G 7G28G 4G 2G 5G17G23G13G24
+ 21552374.5154 -19051387.19349 -14800543.69547 21552373.5564 21552380.3314
+ -1706.5974 -1329.8114
+ 24911564.6674 -3612331.15949 -2799237.16344 24911561.7324 24911574.3884
+ -3870.8774 -3016.2544
+ 20244665.4054 -24920700.40149 -19400828.27348 20244665.4014 20244671.1194
+ -750.1064 -584.4994
+ 21267723.3454 -22647281.34149 -17633775.09648 21267723.1404 21267728.1974
+ 1835.5314 1430.2794
+ 22448524.6834 -7306984.55349 -5672009.78647 22448525.2574 22448532.4754
+ 1624.0954 1265.5314
+ 23512253.1194 -10938099.19349 -8496481.34946 23512252.1624 23512261.8734
+ 2381.3454 1855.5894
+ 24433898.9474 -4388016.63949 -3121285.31245 24433896.7514 24433903.3434
+ 713.1494 555.7004
+ 24186764.0994 -1985248.99049 -1204052.43145 24186764.9574 24186772.0574
+ 1990.4994 1551.0274
+ 20789006.1414 -21428557.83349 -16244081.81648 20789005.7874 20789012.6414
+ -1185.1774 -923.5164
+ 05 1 20 20 19 0.0000000 0 9G 7G28G 4G 2G 5G17G23G13G24
+ 21562147.8404 -19000028.21949 -14760523.72647 21562146.9574 21562154.1624
+ -1717.2024 -1338.0744
+ 24933660.8504 -3496210.32748 -2708753.50644 24933661.7784 24933671.7924
+ -3870.6934 -3016.1244
+ 20248977.0484 -24898042.92449 -19383173.08648 20248977.0794 20248983.0874
+ -760.3204 -592.4564
+ 21257272.6914 -22702202.89049 -17676571.08948 21257272.2274 21257276.6194
+ 1825.8914 1422.7774
+ 22439304.9624 -7355446.86049 -5709772.57347 22439303.5724 22439310.6974
+ 1606.6904 1251.9634
+ 23498673.1104 -11009462.06649 -8552088.76046 23498672.0404 23498681.2164
+ 2376.1254 1851.5164
+ 24429874.0824 -4409168.17249 -3137766.89845 24429874.4274 24429878.8404
+ 696.9454 543.0734
+ 24175430.7074 -2044794.67649 -1250451.51345 24175433.0984 24175441.9424
+ 1979.2584 1542.2754
+ 20795794.1114 -21392884.18849 -16216284.15148 20795794.1344 20795801.4044
+ -1193.0634 -929.6574
+ 05 1 20 20 19 30.0000000 0 9G 7G28G 4G 2G 5G17G23G13G24
+ 21571981.6404 -18948351.33049 -14720256.02247 21571980.5154 21571987.7724
+ -1727.8324 -1346.3614
+ 24955755.6474 -3380097.75448 -2618276.28744 24955757.6844 24955763.3914
+ -3870.1944 -3015.7364
+ 20253346.4554 -24875079.84149 -19365279.76048 20253346.6494 20253352.7054
+ -770.4654 -600.3654
+ 21246876.8164 -22756834.23549 -17719140.93848 21246876.2504 21246880.4334
+ 1816.1834 1415.2054
+ 22430180.8164 -7403386.60249 -5747128.17247 22430180.7294 22430187.7544
+ 1589.2574 1238.3864
+ 23485122.3354 -11080667.22449 -8607573.26846 23485122.7474 23485131.4394
+ 2370.8314 1847.3934
+ 24425941.4644 -4429833.11149 -3153869.32145 24425939.8044 24425943.7774
+ 680.6924 530.4034
+ 24164170.6784 -2103996.56449 -1296582.67745 24164169.5474 24164176.6604
+ 1967.6124 1533.1954
+ 20802628.1834 -21356974.64949 -16188302.66548 20802627.7924 20802634.8504
+ -1200.9104 -935.7774
+ 05 1 20 20 20 0.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21581875.3114 -18896356.47849 -14679740.56447 21581874.9974 21581882.8314
+ -1738.4074 -1354.5994
+ 20257774.2144 -24851812.42649 -19347149.28548 20257774.3604 20257780.1864
+ -780.6014 -608.2614
+ 21236536.5884 -22811175.16649 -17761484.48648 21236535.8294 21236539.8554
+ 1806.5214 1407.6804
+ 22421159.0464 -7450802.06049 -5784075.23547 22421157.3804 22421164.1924
+ 1571.7584 1224.7524
+ 23471605.5554 -11151714.54849 -8662934.78146 23471604.0714 23471611.4094
+ 2365.5314 1843.2634
+ 24422100.6824 -4450010.02149 -3169591.48945 24422100.3614 24422105.5704
+ 664.4034 517.7064
+ 24152970.3864 -2162851.98849 -1342443.86445 24152969.1724 24152975.6414
+ 1956.1074 1524.2354
+ 20809505.7144 -21320830.13349 -16160138.09248 20809505.5434 20809512.9664
+ -1208.7284 -941.8644
+ 05 1 20 20 20 30.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21591830.1594 -18844043.73149 -14638977.38147 21591829.8454 21591836.9914
+ -1749.0254 -1362.8764
+ 20262259.2724 -24828241.82349 -19328782.55948 20262259.6314 20262265.4374
+ -790.6954 -616.1294
+ 21226249.7554 -22865225.42949 -17803601.54048 21226249.6094 21226254.4854
+ 1796.8134 1400.1114
+ 22412235.2164 -7497691.73549 -5820612.60047 22412234.7094 22412242.0884
+ 1554.2014 1211.0604
+ 23458114.0334 -11222603.94749 -8718173.23946 23458113.4514 23458121.7574
+ 2360.3284 1839.2114
+ 24418354.3644 -4469697.36449 -3184932.22545 24418352.7904 24418361.2064
+ 648.0624 504.9874
+ 24141834.0464 -2221357.46349 -1388032.38045 24141833.1474 24141844.2044
+ 1944.2664 1515.0094
+ 20816428.3114 -21284452.11849 -16131791.56248 20816428.0634 20816434.9454
+ -1216.4864 -947.9134
+ 05 1 20 20 21 0.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21601845.5964 -18791413.15649 -14597966.55047 21601844.9784 21601852.0934
+ -1759.6544 -1371.1594
+ 20266802.4194 -24804369.19849 -19310180.48548 20266802.3314 20266808.0864
+ -800.7544 -623.9654
+ 21216019.8034 -22918984.94049 -17845492.05248 21216019.6874 21216024.4484
+ 1787.1144 1392.5574
+ 22403412.4734 -7544054.03749 -5856739.01647 22403411.6554 22403419.6044
+ 1536.6014 1197.3554
+ 23444654.5044 -11293334.68249 -8773288.05346 23444654.2314 23444662.2574
+ 2355.0044 1835.0734
+ 24414702.2704 -4488893.61349 -3199890.30545 24414702.2914 24414706.8314
+ 631.6604 492.1974
+ 24130769.9074 -2279510.25549 -1433346.11145 24130768.9834 24130776.0074
+ 1932.5244 1505.8594
+ 20823394.6674 -21247841.95449 -16103264.14348 20823394.4924 20823401.8354
+ -1224.2374 -953.9504
+ 05 1 20 20 21 30.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21611921.8954 -18738464.61849 -14556707.95947 21611921.0824 21611927.9894
+ -1770.2124 -1379.3874
+ 20271402.3974 -24780195.97349 -19291344.17548 20271402.1554 20271408.1604
+ -810.7274 -631.7364
+ 21205845.3224 -22972453.55549 -17887155.87748 21205844.8964 21205849.7134
+ 1777.4174 1384.9974
+ 22394691.2344 -7589887.22649 -5892453.15347 22394690.5134 22394697.5474
+ 1518.9374 1183.5784
+ 23431224.7014 -11363907.22049 -8828279.60946 23431224.3404 23431232.4704
+ 2349.7504 1830.9774
+ 24411142.9204 -4507597.24349 -3214464.49445 24411142.0964 24411146.7664
+ 615.2504 479.4214
+ 24119769.1394 -2337307.61949 -1478382.88145 24119769.6034 24119777.5074
+ 1920.6324 1496.5934
+ 20830404.9814 -21211000.57949 -16074556.56848 20830405.2814 20830412.5344
+ -1231.8784 -959.9074
+ 05 1 20 20 22 0.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21622058.0904 -18685198.25449 -14515201.70447 21622057.2754 21622064.1704
+ -1780.8084 -1387.6404
+ 20276058.5334 -24755723.43549 -19272274.64648 20276059.0564 20276065.2384
+ -820.6974 -639.5024
+ 21195726.0084 -23025631.03849 -17928592.86048 21195725.8854 21195730.6414
+ 1767.7024 1377.4344
+ 22386070.1124 -7635189.92349 -5927753.90547 22386069.7364 22386077.7104
+ 1501.2374 1169.7934
+ 23417824.9694 -11434320.84649 -8883147.33046 23417824.2934 23417832.5594
+ 2344.4524 1826.8474
+ 24407677.3284 -4525806.87949 -3228653.77345 24407676.7034 24407682.7924
+ 598.7114 466.5234
+ 24108842.2194 -2394746.58649 -1523140.36045 24108841.2854 24108846.9314
+ 1908.6224 1487.2324
+ 20837460.4494 -21173929.33349 -16045669.87148 20837459.7094 20837467.0404
+ -1239.5104 -965.8514
+ 05 1 20 20 22 30.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21632254.8314 -18631614.15949 -14473447.87847 21632254.2704 21632260.9894
+ -1791.3644 -1395.8724
+ 20280773.1084 -24730952.84649 -19252972.85948 20280772.8374 20280778.8554
+ -830.6024 -647.2204
+ 21185662.0724 -23078517.29849 -17969802.90548 21185661.9074 21185666.0784
+ 1757.9724 1369.8444
+ 22377548.3654 -7679960.78849 -5962640.24847 22377549.2284 22377557.0224
+ 1483.4824 1155.9644
+ 23404456.0284 -11504576.05649 -8937891.61246 23404455.5094 23404462.8854
+ 2339.1744 1822.7354
+ 24404306.9944 -4543520.99149 -3242456.96645 24404305.7854 24404310.4584
+ 582.2244 453.6864
+ 24097976.5544 -2451824.23349 -1567616.35245 24097978.0664 24097986.2294
+ 1896.5144 1477.7974
+ 20844558.2694 -21136629.69449 -16016605.21148 20844557.8534 20844564.7684
+ -1247.0694 -971.7384
+ 05 1 20 20 23 0.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21642511.1964 -18577712.46549 -14431446.55547 21642510.7744 21642517.8974
+ -1801.9844 -1404.1464
+ 20285542.4924 -24705885.38149 -19233439.75148 20285543.0204 20285548.9884
+ -840.4794 -654.9244
+ 21175653.0564 -23131112.27849 -18010785.97548 21175653.1684 21175657.7834
+ 1748.2384 1362.2664
+ 22369132.8614 -7724198.02049 -5997110.77847 22369132.5084 22369139.4664
+ 1465.6374 1142.0544
+ 23391118.0344 -11574672.08549 -8992511.83946 23391116.4614 23391125.5914
+ 2333.8224 1818.5584
+ 24401029.5234 -4560738.23349 -3255872.92545 24401029.5534 24401035.3154
+ 565.6404 440.7664
+ 24087187.6824 -2508537.85549 -1611808.65245 24087186.2674 24087194.7834
+ 1884.3524 1468.3234
+ 20851699.0474 -21099103.02349 -15987363.64148 20851698.8524 20851706.0664
+ -1254.6124 -977.6204
+ 05 1 20 20 23 30.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21652829.2764 -18523493.03249 -14389197.66647 21652828.8214 21652835.8334
+ -1812.5584 -1412.3864
+ 20290369.6734 -24680522.36649 -19213676.34748 20290369.6254 20290375.3014
+ -850.3434 -662.6054
+ 21165700.3584 -23183415.65549 -18051541.82248 21165700.0314 21165704.5234
+ 1738.5614 1354.7264
+ 22360816.3824 -7767900.22849 -6031164.40147 22360815.4574 22360823.3164
+ 1447.8044 1128.1644
+ 23377807.8744 -11644609.31249 -9047008.34346 23377807.8124 23377816.6324
+ 2328.5994 1814.5064
+ 24397846.9934 -4577457.21649 -3268900.67445 24397847.9304 24397852.2234
+ 549.0014 427.7894
+ 24076461.6064 -2564884.53549 -1655715.07145 24076462.9654 24076469.1884
+ 1872.0894 1458.7674
+ 20858883.2974 -21061350.66749 -15957946.22148 20858883.0214 20858889.7474
+ -1262.1674 -983.5084
+ 05 1 20 20 24 0.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21663206.5854 -18468956.05949 -14346701.32247 21663206.3924 21663213.8684
+ -1823.1354 -1420.6274
+ 20295251.9994 -24654864.99549 -19193683.56748 20295251.9144 20295257.7944
+ -860.0934 -670.2044
+ 21155804.1774 -23235427.32349 -18092070.37048 21155802.9954 21155807.3214
+ 1728.8524 1347.1534
+ 22352602.4514 -7811066.28449 -6064800.24247 22352601.4684 22352609.0734
+ 1429.9274 1114.2264
+ 23364530.6344 -11714387.51449 -9101380.92646 23364530.0674 23364538.1234
+ 2323.2444 1810.3234
+ 24394763.1014 -4593676.82449 -3281539.31646 24394761.9404 24394768.3344
+ 532.3184 414.7884
+ 24065810.9824 -2620861.60349 -1699333.44645 24065811.0734 24065818.8594
+ 1859.7594 1449.1574
+ 20866109.9084 -21023373.91349 -15928353.93348 20866109.2694 20866116.4484
+ -1269.6114 -989.3094
+ 05 1 20 20 24 30.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21673646.0534 -18414101.57849 -14303957.58447 21673645.1434 21673652.3384
+ -1833.7394 -1428.8924
+ 20300190.4964 -24628914.40949 -19173462.31748 20300190.2714 20300196.2964
+ -869.8584 -677.8144
+ 21145960.7744 -23287147.15649 -18132371.50448 21145960.7404 21145965.3944
+ 1719.1244 1339.5734
+ 22344489.9214 -7853694.29649 -6098016.82647 22344489.7314 22344497.2384
+ 1411.9654 1100.2234
+ 23351282.9514 -11784006.69849 -9155629.60946 23351282.7674 23351289.7934
+ 2317.8844 1806.1374
+ 24391771.3104 -4609395.48849 -3293787.52745 24391770.7924 24391774.3454
+ 515.5884 401.7574
+ 24055230.4804 -2676465.94949 -1742661.40146 24055230.1014 24055237.8664
+ 1847.2104 1439.3824
+ 20873378.7014 -20985173.75749 -15898587.58148 20873378.7104 20873385.7804
+ -1277.0514 -995.1064
+ 05 1 20 20 25 0.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21684144.9494 -18358929.80849 -14260966.61147 21684143.9744 21684151.1034
+ -1844.2834 -1437.0974
+ 20305184.0124 -24602671.97949 -19153013.66248 20305184.0344 20305190.0014
+ -879.5704 -685.3754
+ 21136174.4424 -23338575.11749 -18172445.20948 21136174.4954 21136178.5714
+ 1709.3924 1331.9934
+ 22336479.6014 -7895783.04549 -6130813.20447 22336479.6564 22336487.5814
+ 1393.9604 1086.2134
+ 23338065.3504 -11853466.46049 -9209754.04846 23338063.7974 23338072.7094
+ 2312.6244 1802.0424
+ 24388875.5804 -4624611.78449 -3305644.30646 24388875.3614 24388879.5114
+ 498.8264 388.6884
+ 24044720.2184 -2731694.72549 -1785696.75245 24044719.8864 24044726.6804
+ 1834.6794 1429.6164
+ 20880690.4364 -20946751.61949 -15868648.25048 20880690.0604 20880697.3164
+ -1284.4134 -1000.8364
+ 05 1 20 20 25 30.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21694703.8074 -18303440.73349 -14217728.37447 21694702.9664 21694710.1234
+ -1854.8654 -1445.3504
+ 20310233.2024 -24576139.17649 -19132338.74348 20310232.9364 20310238.9534
+ -889.2104 -692.8924
+ 21126444.5484 -23389711.05849 -18212291.36548 21126443.6184 21126448.0324
+ 1699.6424 1324.3954
+ 22328573.4354 -7937331.20149 -6163188.34447 22328573.3664 22328581.2944
+ 1375.9024 1072.1274
+ 23324875.2064 -11922767.26549 -9263754.63046 23324876.3014 23324884.9674
+ 2307.3684 1797.9504
+ 24386076.5814 -4639324.74449 -3317108.83946 24386075.9964 24386079.6254
+ 482.0264 375.5974
+ 24034282.7114 -2786545.29549 -1828437.33346 24034283.3424 24034290.6374
+ 1822.0244 1419.7514
+ 20888044.0424 -20908108.68949 -15838536.87548 20888044.0214 20888050.9404
+ -1291.7534 -1006.5624
+ 05 1 20 20 26 0.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21705322.4604 -18247634.45749 -14174242.98147 21705322.6964 21705330.4034
+ -1865.4464 -1453.5904
+ 20315336.7034 -24549316.94849 -19111438.30348 20315337.0584 20315343.0744
+ -898.8664 -700.4144
+ 21116768.2194 -23440554.82649 -18251909.85448 21116768.1024 21116772.7434
+ 1689.9164 1316.8154
+ 22320771.5244 -7978337.33949 -6195141.14847 22320770.9654 22320777.4554
+ 1357.8114 1058.0344
+ 23311719.0514 -11991908.25349 -9317630.67546 23311718.7974 23311726.6934
+ 2302.0214 1793.7744
+ 24383370.4034 -4653532.87849 -3328180.02645 24383370.1194 24383374.7134
+ 465.1884 362.4714
+ 24023918.7204 -2841015.13849 -1870881.30245 24023918.1734 24023923.7034
+ 1809.2804 1409.8304
+ 20895439.3884 -20869246.26749 -15808254.45748 20895439.3524 20895446.0584
+ -1299.0644 -1012.2604
+ 05 1 20 20 26 30.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21716003.6164 -18191511.10749 -14130510.50747 21716002.6424 21716009.4814
+ -1876.0084 -1461.8264
+ 20320495.3224 -24522206.59849 -19090313.34748 20320495.5464 20320501.8284
+ -908.4334 -707.8704
+ 21107149.4264 -23491106.30049 -18291300.57848 21107148.7834 21107152.9124
+ 1680.1874 1309.2304
+ 22313072.0384 -8018800.19949 -6226670.60647 22313070.8004 22313077.5674
+ 1339.7094 1043.9234
+ 23298593.4334 -12060889.74249 -9371382.44046 23298592.5104 23298600.3084
+ 2296.7144 1789.6374
+ 24380765.1744 -4667235.09849 -3338856.99045 24380763.3474 24380769.5654
+ 448.2924 349.3204
+ 24013624.4424 -2895101.11549 -1913026.15545 24013625.2224 24013632.1684
+ 1796.4244 1399.8034
+ 20902876.6674 -20830165.65049 -15777802.01648 20902875.9654 20902882.8994
+ -1306.3134 -1017.9084
+ 05 1 20 20 27 0.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21726744.4184 -18135070.83549 -14086531.08447 21726743.1354 21726749.9864
+ -1886.5744 -1470.0664
+ 20325709.3784 -24494809.51849 -19068964.96948 20325709.4384 20325715.3194
+ -917.9504 -715.2894
+ 21097585.0054 -23541365.31549 -18330463.41548 21097584.4994 21097588.8274
+ 1670.3994 1301.6084
+ 22305474.8694 -8058718.48049 -6257775.72547 22305474.5104 22305481.5384
+ 1321.5164 1029.7464
+ 23285498.0814 -12129711.45349 -9425009.69246 23285496.7314 23285503.8494
+ 2291.3594 1785.4794
+ 24378252.6094 -4680429.86249 -3349138.56945 24378251.2774 24378257.5694
+ 431.3414 336.1074
+ 24003405.0484 -2948800.60349 -1954869.80645 24003405.4334 24003412.2574
+ 1783.5274 1389.7484
+ 20910353.8804 -20790868.15449 -15747180.58848 20910354.0824 20910361.1014
+ -1313.5224 -1023.5254
+ 05 1 20 20 27 30.0000000 0 8G 7G 4G 2G 5G17G23G13G24
+ 21737543.6294 -18078313.91749 -14042304.92847 21737543.4304 21737550.6574
+ -1897.1024 -1478.2634
+ 20330977.1284 -24467126.80049 -19047394.01548 20330977.1884 20330983.2164
+ -927.4644 -722.7014
+ 21088075.7894 -23591331.86249 -18369398.35048 21088075.9754 21088080.6714
+ 1660.6644 1294.0224
+ 22297982.9394 -8098090.79549 -6288455.40747 22297982.2364 22297988.6414
+ 1303.3064 1015.5574
+ 23272431.2374 -12198373.59849 -9478512.60946 23272430.7434 23272438.1264
+ 2286.0894 1781.3664
+ 24375840.0034 -4693116.38749 -3359024.04645 24375838.0284 24375841.1484
+ 414.4364 322.9264
+ 23993262.8394 -3002110.50949 -1996409.91546 23993262.8654 23993268.2184
+ 1770.4594 1379.5694
+ 20917873.0574 -20751354.83949 -15716390.97848 20917873.0104 20917879.8534
+ -1320.6824 -1029.1034
+ 05 1 20 20 28 0.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21748404.6244 -18021240.28449 -13997831.98347 21748404.3714 21748411.6814
+ -1907.6634 -1486.4904
+ 20336299.0604 -24439159.79549 -19025601.54348 20336299.2304 20336305.1124
+ -936.9614 -730.1014
+ 21078623.3884 -23641005.75249 -18408105.25448 21078623.5594 21078628.0864
+ 1650.9014 1286.4154
+ 22290595.1494 -8136916.05449 -6318708.82647 22290594.2924 22290601.0484
+ 1285.0324 1001.3214
+ 23259394.7004 -12266876.05349 -9531891.10446 23259393.3214 23259402.4374
+ 2280.7314 1777.2014
+ 24373521.9764 -4705293.23249 -3368512.43745 24373520.2284 24373525.1464
+ 397.3884 309.6654
+ 23983192.1534 -3055028.37049 -2037644.55445 23983191.0554 23983198.8074
+ 1757.3514 1369.3594
+ 24195661.6984 -198668.35749 -141733.38945
+ 2910.8794 2268.2134
+ 20925433.3244 -20711627.14849 -15685434.32948 20925433.1034 20925440.3054
+ -1327.8224 -1034.6724
+ 05 1 20 20 28 30.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21759326.1664 -17963850.15749 -13953112.41147 21759325.3524 21759332.4294
+ -1918.2194 -1494.7124
+ 20341674.5784 -24410909.53849 -19003588.35448 20341674.9944 20341680.8894
+ -946.3694 -737.4314
+ 21069226.6014 -23690386.81149 -18446583.97548 21069226.4004 21069230.8834
+ 1641.1434 1278.8114
+ 22283311.6284 -8175192.63449 -6348534.71347 22283310.5444 22283316.7934
+ 1266.7194 987.0554
+ 23246389.7634 -12335218.56049 -9585144.95746 23246389.7194 23246397.0654
+ 2275.3574 1773.0064
+ 24371301.4164 -4716959.29549 -3377602.75345 24371301.8914 24371304.8154
+ 380.3544 296.3744
+ 23973195.8954 -3107551.34749 -2078571.44145 23973197.2794 23973204.9404
+ 1744.1704 1359.0904
+ 24179074.7754 -285821.95049 -209645.21045 24179080.4874
+ 2899.3844 2259.2614
+ 20933033.3814 -20671686.37949 -15654311.65048 20933033.3414 20933040.6474
+ -1334.9074 -1040.1884
+ 05 1 20 20 29 0.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21770307.0944 -17906143.79649 -13908146.42747 21770306.6034 21770313.5344
+ -1928.7904 -1502.9534
+ 20347104.7204 -24382377.51849 -18981355.59748 20347104.3294 20347110.2404
+ -955.7194 -744.7134
+ 21059885.9174 -23739475.03749 -18484834.50748 21059885.6244 21059889.4154
+ 1631.3704 1271.1974
+ 22276130.6504 -8212919.34949 -6377932.12847 22276131.1904 22276138.0184
+ 1248.3434 972.7424
+ 23233415.5974 -12403400.96549 -9638274.05846 23233414.9284 23233422.5794
+ 2270.0504 1768.8704
+ 24369179.8054 -4728113.50849 -3386294.33545 24369178.9664 24369180.6884
+ 363.2524 283.0534
+ 23963279.7974 -3159676.91549 -2119188.70945 23963278.7174 23963283.4524
+ 1730.8404 1348.7024
+ 24162555.7134 -372627.95149 -277286.14845 24162554.6444 24162561.6624
+ 2887.6874 2250.1434
+ 20940674.6854 -20631533.83449 -15623023.94148 20940674.3064 20940681.5444
+ -1341.9544 -1045.6804
+ 05 1 20 20 29 30.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21781348.2204 -17848121.31849 -13862934.10747 21781347.9234 21781355.2714
+ -1939.2714 -1511.1154
+ 20352587.2034 -24353564.95749 -18958904.24948 20352587.1804 20352593.1464
+ -965.0284 -751.9664
+ 21050600.7864 -23788270.36249 -18522856.81048 21050600.2014 21050604.1304
+ 1621.6364 1263.6154
+ 22269058.3004 -8250094.77549 -6406899.96347 22269056.4854 22269063.8984
+ 1230.0024 958.4434
+ 23220471.9574 -12471423.52949 -9691278.60746 23220470.2274 23220478.2214
+ 2264.7354 1764.7314
+ 24367153.2914 -4738754.62549 -3394586.09545 24367153.3304 24367157.5984
+ 346.1824 269.7494
+ 23953433.1344 -3211402.45049 -2159494.26445 23953434.1454 23953439.5274
+ 1717.4944 1338.3054
+ 24146103.5384 -459083.89549 -344654.33245 24146103.2824 24146110.6124
+ 2876.0404 2241.0744
+ 20948355.7534 -20591170.44549 -15591571.94448 20948355.5064 20948362.2344
+ -1348.9434 -1051.1214
+ 05 1 20 20 30 0.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21792449.1844 -17789782.87249 -13817475.58747 21792448.9724 21792456.4714
+ -1949.8514 -1519.3654
+ 20358123.2734 -24324473.00149 -18936235.17748 20358123.2154 20358129.3434
+ -974.3494 -759.2384
+ 21041370.4324 -23836772.57849 -18560650.71248 21041370.1624 21041374.4824
+ 1611.8374 1255.9734
+ 22262087.3754 -8286717.90349 -6435437.45147 22262087.8234 22262094.6374
+ 1211.5224 944.0374
+ 23207556.8474 -12539285.81149 -9744158.28146 23207555.7854 23207564.4944
+ 2259.3634 1760.5414
+ 24365225.9874 -4748881.60249 -3402477.24245 24365226.7274 24365229.4574
+ 328.9544 256.3264
+ 23943668.1174 -3262724.97749 -2199485.78945 23943667.3664 23943675.2154
+ 1703.9704 1327.7624
+ 24129714.9484 -545187.17149 -411747.70045 24129716.1784 24129725.8414
+ 2864.2404 2231.8724
+ 20956075.7804 -20550597.53849 -15559956.68248 20956075.6914 20956082.7594
+ -1355.9264 -1056.5694
+ 05 1 20 20 30 30.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21803611.3474 -17731128.73649 -13771771.08047 21803610.7644 21803618.1234
+ -1960.3504 -1527.5424
+ 20363712.0554 -24295102.80049 -18913349.29648 20363712.2454 20363718.2814
+ -983.5604 -766.4114
+ 21032196.3194 -23884981.68949 -18598216.22348 21032196.2154 21032200.6174
+ 1602.0914 1248.3834
+ 22255223.6424 -8322787.75149 -6463543.79547 22255223.5164 22255230.5774
+ 1193.0884 929.6774
+ 23194673.9874 -12606987.88449 -9796913.11346 23194672.9724 23194681.5154
+ 2254.0654 1756.4054
+ 24363397.8704 -4758493.55949 -3409967.01745 24363397.5524 24363403.8454
+ 311.8034 242.9804
+ 23933979.2504 -3313641.94449 -2239161.30545 23933978.6534 23933986.4674
+ 1690.4844 1317.2604
+ 24113400.6644 -630935.10149 -478564.15845 24113399.5424 24113407.6254
+ 2852.3124 2222.5754
+ 20963836.7004 -20509816.25549 -15528179.05548 20963836.3984 20963843.2484
+ -1362.8114 -1061.9334
+ 05 1 20 20 31 0.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21814832.7394 -17672159.00349 -13725820.63447 21814832.0394 21814839.4014
+ -1970.8864 -1535.7554
+ 20369353.8474 -24265455.71249 -18890247.64748 20369353.7994 20369359.9294
+ -992.8094 -773.6194
+ 21023078.2094 -23932897.50549 -18635553.18848 21023078.1724 21023082.3964
+ 1592.2904 1240.7394
+ 22248465.0174 -8358303.07549 -6491218.03647 22248464.6104 22248472.8394
+ 1174.5724 915.2404
+ 23181818.9224 -12674529.96849 -9849543.26946 23181819.9854 23181828.2854
+ 2248.7004 1752.2304
+ 24361666.9054 -4767589.10449 -3417054.42545 24361666.8474 24361671.4394
+ 294.5534 229.5104
+ 23924368.1974 -3364150.51149 -2278518.55245 23924368.5584 23924373.7354
+ 1676.7184 1306.5384
+ 24097151.5384 -716325.21149 -545101.80545 24097150.3934 24097158.8024
+ 2840.3414 2213.2484
+ 20971636.4234 -20468827.86549 -15496240.03748 20971636.0764 20971642.9994
+ -1369.7274 -1067.3214
+ 05 1 20 20 31 30.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21826113.6844 -17612874.02549 -13679624.56047 21826113.4404 21826120.9894
+ -1981.3774 -1543.9274
+ 20375048.0424 -24235532.98149 -18866931.21948 20375048.0374 20375054.0024
+ -1001.9784 -780.7604
+ 21014017.1224 -23980520.11949 -18672661.68548 21014016.0464 21014020.3134
+ 1582.5204 1233.1324
+ 22241812.2224 -8393262.89749 -6518459.43847 22241812.4784 22241819.1634
+ 1156.0364 900.8174
+ 23168999.3514 -12741911.68749 -9902048.47346 23168998.2564 23169005.6524
+ 2243.3624 1748.0594
+ 24360034.2884 -4776167.54549 -3423738.93945 24360034.0064 24360036.9774
+ 277.3404 216.1104
+ 23914833.6284 -3414248.29349 -2317555.76345 23914834.0324 23914840.4884
+ 1663.0414 1295.8694
+ 24080965.8304 -801354.74849 -611358.49345 24080966.6704 24080977.8294
+ 2828.3094 2203.8684
+ 20979475.6624 -20427633.38349 -15464140.42948 20979475.3514 20979481.9374
+ -1376.5654 -1072.6484
+ 05 1 20 20 32 0.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21837456.3924 -17553274.05449 -13633183.03247 21837455.2444 21837461.8244
+ -1991.8544 -1552.0934
+ 20380794.3074 -24205335.85449 -18843400.97448 20380794.4364 20380800.3334
+ -1011.0994 -787.8674
+ 21005009.9484 -24027849.32249 -18709541.55648 21005009.7144 21005013.9084
+ 1572.7424 1225.5154
+ 22235265.6414 -8427665.81149 -6545266.87547 22235265.3624 22235272.8424
+ 1137.4584 886.3354
+ 23156207.0804 -12809132.98649 -9954428.67246 23156206.3244 23156214.3254
+ 2238.0094 1743.9074
+ 24358500.8044 -4784227.64649 -3430019.53245 24358499.1364 24358504.5254
+ 260.0064 202.6074
+ 23905380.7274 -3463932.52449 -2356270.69945 23905380.4264 23905385.8414
+ 1649.1904 1285.0714
+ 24064860.2964 -886021.28949 -677332.33245 24064858.0344 24064867.7054
+ 2816.1474 2194.4014
+ 20987352.9464 -20386234.33849 -15431881.41848 20987353.1504 20987360.0874
+ -1383.3644 -1077.9444
+ 05 1 20 20 32 30.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21848857.2854 -17493359.14949 -13586496.09847 21848856.7934 21848864.1464
+ -2002.3624 -1560.2754
+ 20386592.7124 -24174865.54649 -18819657.85248 20386592.6194 20386598.5134
+ -1020.2014 -794.9584
+ 20996058.7354 -24074885.18249 -18746192.83948 20996058.3634 20996063.0984
+ 1562.9464 1217.8844
+ 22228826.0544 -8461510.87249 -6571639.63347 22228825.6504 22228832.2614
+ 1118.8494 871.8384
+ 23143445.9454 -12876193.79549 -10006683.82246 23143444.6004 23143453.3004
+ 2232.6644 1739.7484
+ 24357065.8764 -4791768.48349 -3435895.43645 24357063.4124 24357067.1284
+ 242.6914 189.0874
+ 23896003.4534 -3513200.52949 -2394661.26845 23896003.2644 23896012.1944
+ 1635.3154 1274.2724
+ 24048815.3414 -970322.27649 -743021.32545 24048815.7684 24048825.6724
+ 2803.9214 2184.8664
+ 20995270.5584 -20344631.93749 -15399463.94448 20995270.0014 20995276.8824
+ -1390.1264 -1083.2094
+ 05 1 20 20 33 0.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21860318.6124 -17433129.65649 -13539564.03047 21860317.7584 21860325.0754
+ -2012.8604 -1568.4564
+ 20392441.9484 -24144123.28149 -18795702.82648 20392442.4544 20392448.5484
+ -1029.2314 -802.0004
+ 20987164.7434 -24121627.36849 -18782615.29648 20987164.0754 20987168.4774
+ 1553.1694 1210.2624
+ 22222492.5974 -8494796.73049 -6597576.62847 22222491.8854 22222498.3444
+ 1100.1864 857.2844
+ 23130713.2334 -12943094.18749 -10058813.97746 23130713.4754 23130722.2704
+ 2227.3004 1735.5634
+ 24355730.3714 -4798789.08549 -3441365.97845 24355729.1634 24355735.8604
+ 225.3454 175.5874
+ 23886707.6854 -3562049.60949 -2432725.43445 23886708.3884 23886713.2944
+ 1621.2164 1263.2824
+ 24032840.4464 -1054254.98048 -808423.34245 24032844.8424 24032853.1584
+ 2791.5634 2175.2404
+ 21003225.1704 -20302827.35749 -15366888.93448 21003225.0624 21003231.8334
+ -1396.8304 -1088.4384
+ 05 1 20 20 33 30.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21871839.4314 -17372585.85549 -13492387.04147 21871838.9544 21871846.1164
+ -2023.2914 -1576.5934
+ 20398344.3784 -24113110.24749 -18771536.80448 20398344.1974 20398349.8224
+ -1038.2304 -809.0164
+ 20978325.3684 -24168075.90049 -18818808.91748 20978325.2874 20978329.5104
+ 1543.3914 1202.6394
+ 22216264.4124 -8527522.47949 -6623077.19647 22216264.3294 22216270.5774
+ 1081.5054 842.7254
+ 23118013.6124 -13009834.17149 -10110819.10046 23118013.5154 23118021.7494
+ 2221.9554 1731.3954
+ 24354492.4144 -4805288.37349 -3446430.30245 24354491.7594 24354496.2184
+ 207.9494 162.0464
+ 23877494.5814 -3610477.25649 -2470461.15545 23877494.1594 23877498.9724
+ 1607.1754 1252.3394
+ 24016944.1374 -1137817.08849 -873536.58245 24016943.1894 24016952.3734
+ 2779.2054 2165.6064
+ 21011218.8214 -20260821.87949 -15334157.36448 21011218.3364 21011224.8724
+ -1403.5174 -1093.6554
+ 05 1 20 20 34 0.0000000 0 9G 7G 4G 2G 5G17G23G13G30G24
+ 21883420.6074 -17311727.93049 -13444965.29547 21883420.3544 21883427.1234
+ -2033.7734 -1584.7554
+ 20404296.7724 -24081827.76249 -18747160.83148 20404297.1114 20404302.8664
+ -1047.2184 -816.0144
+ 20969542.6714 -24214230.72749 -18854773.67148 20969542.2054 20969546.3574
+ 1533.5784 1194.9984
+ 22210144.1904 -8559687.08249 -6648140.48347 22210142.9834 22210150.1214
+ 1062.7844 828.1384
+ 23105345.4604 -13076413.38149 -10162698.99147 23105345.2404 23105352.0894
+ 2216.5964 1727.2214
+ 24353356.3144 -4811265.59349 -3451087.88745 24353355.8854 24353359.6704
+ 190.5084 148.4634
+ 23868356.4094 -3658480.91649 -2507866.51945 23868358.0764 23868364.1334
+ 1592.9364 1241.2434
+ 24001118.5094 -1221005.78149 -938358.84645 24001113.3134 24001122.1144
+ 2766.8034 2155.9434
+ 21019250.3714 -20218616.41449 -15301269.97048 21019249.8354 21019256.9654
+ -1410.1754 -1098.8384
+ 05 1 20 20 34 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 21895061.0104 -17250556.19349 -13397299.02447 21895060.3544 21895067.6764
+ -2044.2664 -1592.9274
+ 23223270.4164 -249253.95449 -182159.26946
+ 3748.7024 2921.0624
+ 20410300.6324 -24050276.95349 -18722575.76648 20410300.8504 20410306.6734
+ -1056.1434 -822.9664
+ 20960816.0384 -24260091.86649 -18890509.58448 20960815.2574 20960819.2494
+ 1523.7944 1187.3674
+ 22204129.8474 -8591289.58749 -6672765.78747 22204129.5374 22204135.8124
+ 1044.0464 813.5474
+ 23092704.9134 -13142832.30849 -10214453.92747 23092705.3564 23092712.8914
+ 2211.2734 1723.0664
+ 24352317.3174 -4816719.99649 -3455338.00045 24352316.4344 24352321.8524
+ 173.0684 134.8694
+ 23859305.2544 -3706057.96549 -2544939.40545 23859304.6074 23859309.7534
+ 1578.8244 1230.2554
+ 23985355.0034 -1303818.72449 -1002888.31445 23985353.7854 23985362.7914
+ 2754.2044 2146.1324
+ 21027319.1524 -20176212.09049 -15268227.62648 21027319.1944 21027325.7664
+ -1416.7914 -1103.9914
+ 05 1 20 20 35 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 21906761.1344 -17189070.95949 -13349388.47147 21906760.8924 21906768.1394
+ -2054.6844 -1601.0554
+ 23201887.5624 -361616.23549 -269714.23846 23201889.4424 23201897.4334
+ 3742.0864 2915.9114
+ 20416355.2124 -24018459.05449 -18697782.58148 20416355.6794 20416361.5134
+ -1064.9924 -829.8634
+ 20952143.1564 -24305659.17949 -18926016.53548 20952143.4214 20952148.0444
+ 1514.0054 1179.7434
+ 22198223.6564 -8622328.97249 -6696952.27347 22198222.7204 22198230.1024
+ 1025.2474 798.8914
+ 23080097.5124 -13209090.54349 -10266083.65747 23080097.1444 23080104.9384
+ 2205.9264 1718.8984
+ 24351378.2394 -4821650.61349 -3459179.99145 24351378.1834 24351382.6894
+ 155.6644 121.2914
+ 23850334.1734 -3753206.05249 -2581678.02845 23850332.2564 23850340.4984
+ 1564.5024 1219.0824
+ 23969665.1284 -1386253.28149 -1067122.94645 23969666.6494 23969675.9924
+ 2741.5194 2136.2494
+ 21035426.4584 -20133610.34149 -15235031.44148 21035426.1984 21035432.8914
+ -1423.3294 -1109.0904
+ 05 1 20 20 35 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 21918521.5444 -17127272.54149 -13301233.85847 21918520.4034 21918527.4224
+ -2065.0874 -1609.1564
+ 23180546.1334 -473778.88749 -357113.67446 23180544.9464 23180553.5694
+ 3735.4154 2910.7114
+ 20422460.7844 -23986375.31749 -18672782.23948 20422460.8704 20422466.8384
+ -1073.8374 -836.7574
+ 20943528.1234 -24350932.61949 -18961294.50148 20943528.4764 20943532.6364
+ 1504.2164 1172.1174
+ 22192423.5124 -8652804.26849 -6720699.22647 22192423.2804 22192430.3304
+ 1006.4484 784.2374
+ 23067519.3574 -13275187.89949 -10317588.04347 23067518.8604 23067526.0904
+ 2200.5404 1714.7114
+ 24350541.8594 -4826056.44049 -3462613.05845 24350539.3314 24350542.3834
+ 138.1324 107.6334
+ 23841440.8794 -3799922.63649 -2618080.46245 23841441.5984 23841449.0374
+ 1549.9964 1207.7824
+ 23954052.5934 -1468306.82849 -1131060.69445 23954052.7234 23954061.5104
+ 2728.7894 2126.3274
+ 21043570.3944 -20090812.10049 -15201682.13648 21043570.2524 21043576.9664
+ -1429.8684 -1114.1854
+ 05 1 20 20 36 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 21930339.7034 -17065161.23549 -13252835.45547 21930339.2774 21930347.7424
+ -2075.5384 -1617.2954
+ 23159239.6514 -585739.25749 -444355.45646 23159239.0904 23159248.0994
+ 3728.6014 2905.4004
+ 20428616.8374 -23954026.98649 -18647575.72848 20428616.8304 20428622.6244
+ -1082.6474 -843.6194
+ 20934969.9884 -24395912.16049 -18996343.44748 20934969.2384 20934973.5264
+ 1494.4104 1164.4754
+ 22186732.1724 -8682714.54049 -6744005.90047 22186731.2144 22186738.2654
+ 987.5854 769.5394
+ 23054972.1694 -13341124.66549 -10368967.26147 23054970.8114 23054978.8094
+ 2195.1974 1710.5354
+ 24349802.2794 -4829936.81649 -3465636.68245 24349800.9784 24349804.0484
+ 120.5534 93.9364
+ 23832636.2344 -3846204.96549 -2654144.46745 23832637.0314 23832641.7944
+ 1535.4294 1196.4424
+ 23938512.0084 -1549977.07849 -1194699.74745 23938512.3434 23938520.3724
+ 2715.9254 2116.3084
+ 21051751.4774 -20047818.87149 -15168180.90948 21051751.3684 21051758.3704
+ -1436.3554 -1119.2354
+ 05 1 20 20 36 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 21942219.9454 -17002737.30549 -13204193.45747 21942218.7094 21942226.1944
+ -2086.0114 -1625.4684
+ 23137974.7454 -697494.69449 -531437.52346 23137973.6704 23137982.7134
+ 3721.7374 2900.0514
+ 20434822.2374 -23921415.17749 -18622163.90648 20434822.6744 20434828.2634
+ -1091.3974 -850.4424
+ 20926466.7824 -24440597.67449 -19031163.27148 20926466.2594 20926469.8544
+ 1484.5884 1156.8184
+ 22181147.9024 -8712058.98949 -6766871.67247 22181147.6994 22181154.6724
+ 968.7174 754.8354
+ 23042455.3414 -13406900.76349 -10420221.31247 23042454.8584 23042462.8864
+ 2189.8434 1706.3694
+ 24349164.2844 -4833290.88249 -3468250.22945 24349164.0154 24349165.1374
+ 102.9844 80.2384
+ 23823910.4004 -3892050.46649 -2689868.10045 23823911.8404 23823915.7194
+ 1520.8614 1185.0834
+ 23923044.5244 -1631261.35549 -1258038.08945 23923044.3874 23923050.2704
+ 2703.0444 2106.2704
+ 21059970.3594 -20004631.68849 -15134528.54548 21059969.7224 21059976.4654
+ -1442.8014 -1124.2614
+ 05 1 20 20 37 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 21954157.9814 -16940001.01849 -13155308.05747 21954157.6704 21954164.9124
+ -2096.3804 -1633.5494
+ 23116747.8744 -809042.65049 -618357.96446 23116746.1564 23116754.7984
+ 3714.7714 2894.6244
+ 20441078.4074 -23888541.15549 -18596547.75948 20441078.2034 20441084.1404
+ -1100.1224 -857.2414
+ 20918018.9134 -24484989.25649 -19065754.06048 20918018.5874 20918022.5334
+ 1474.8094 1149.2014
+ 22175671.7074 -8740836.63949 -6789295.78647 22175671.3274 22175678.4564
+ 949.7904 740.0984
+ 23029968.2424 -13472516.12649 -10471350.09847 23029967.8244 23029976.8834
+ 2184.4994 1702.2044
+ 24348625.2824 -4836117.81149 -3470452.96645 24348626.2924 24348631.0444
+ 85.4544 66.5854
+ 23815269.9734 -3937456.88449 -2725249.62345 23815270.7494 23815277.1414
+ 1506.2324 1173.6744
+ 23907655.0904 -1712157.17649 -1321073.72845 23907652.3514 23907657.2144
+ 2690.0004 2096.1064
+ 21068224.3674 -19961251.65949 -15100725.91048 21068224.4154 21068231.2884
+ -1449.2154 -1129.2624
+ 05 1 20 20 37 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 21966155.6604 -16876952.81049 -13106179.60247 21966154.9514 21966162.1094
+ -2106.7274 -1641.6024
+ 23095557.1094 -920380.61649 -705114.76246 23095558.1894 23095567.4134
+ 3707.7424 2889.1504
+ 20447383.6314 -23855406.22649 -18570728.30848 20447383.4854 20447389.1694
+ -1108.7764 -863.9814
+ 20909626.9984 -24529086.83449 -19100115.76848 20909626.5844 20909630.4814
+ 1465.0154 1141.5714
+ 22170304.0134 -8769046.48649 -6811277.45247 22170302.9764 22170310.4924
+ 930.8284 725.3184
+ 23017513.8244 -13537970.93149 -10522353.76947 23017512.3794 23017520.5144
+ 2179.1194 1698.0094
+ 24348187.6584 -4838417.01349 -3472244.57345 24348187.1074 24348191.7554
+ 67.8124 52.8424
+ 23806712.4824 -3982421.79949 -2760287.06845 23806712.3084 23806719.6324
+ 1491.4664 1162.1744
+ 23892328.4654 -1792662.19849 -1383804.84245 23892332.0494 23892338.2824
+ 2676.9724 2085.9484
+ 21076515.9294 -19917679.87949 -15066773.86548 21076515.9214 21076523.0374
+ -1455.5774 -1134.2124
+ 05 1 20 20 38 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 21978213.1374 -16813592.90249 -13056808.26947 21978212.0824 21978219.2274
+ -2117.1544 -1649.7284
+ 23074412.9844 -1031506.04749 -791705.93746 23074412.8944 23074421.4054
+ 3700.6244 2883.6004
+ 20453738.3634 -23822011.33249 -18544706.28648 20453738.2394 20453743.9604
+ -1117.4804 -870.7664
+ 20901291.6934 -24572890.19449 -19134248.21348 20901291.3154 20901295.2544
+ 1455.1874 1133.9104
+ 22165043.5134 -8796687.58649 -6832815.93947 22165043.1664 22165050.2864
+ 911.8874 710.5624
+ 23005086.0014 -13603264.81049 -10573232.04247 23005086.8144 23005095.0064
+ 2173.7284 1693.8114
+ 24347851.4994 -4840187.55649 -3473624.16345 24347850.8304 24347855.1024
+ 50.2094 39.1214
+ 23798240.9624 -4026942.69049 -2794978.58445 23798241.1944 23798245.5284
+ 1476.5864 1150.5674
+ 23877090.4824 -1872773.76249 -1446229.36145 23877087.9344 23877093.4884
+ 2663.8434 2075.7194
+ 21084844.1274 -19873917.49149 -15032673.29448 21084843.6964 21084849.8904
+ -1461.9174 -1139.1594
+ 05 1 20 20 38 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 21990328.3864 -16749921.81649 -13007194.45847 21990328.2844 21990335.4224
+ -2127.5064 -1657.7904
+ 23053308.4544 -1142416.36749 -878129.49646 23053306.7074 23053315.8824
+ 3693.3694 2877.9464
+ 20460142.1484 -23788357.93249 -18518482.83648 20460142.1684 20460148.0694
+ -1126.0484 -877.4424
+ 20893011.5614 -24616399.43949 -19168151.46848 20893011.6644 20893015.9054
+ 1445.3804 1126.2694
+ 22159892.8474 -8823759.14349 -6853910.62747 22159891.4504 22159899.2504
+ 892.8724 695.7454
+ 22992693.9954 -13668397.92649 -10623985.05847 22992693.5114 22992700.7844
+ 2168.4154 1689.6654
+ 24347614.5224 -4841428.87449 -3474591.37045 24347613.9254 24347619.1014
+ 32.5314 25.3574
+ 23789854.8034 -4071017.04349 -2829322.10045 23789854.4704 23789860.4874
+ 1461.6694 1138.9594
+ 23861920.3084 -1952489.34049 -1508345.35045 23861919.5854 23861923.8524
+ 2650.5494 2065.3614
+ 21093207.8034 -19829965.90549 -14998425.28748 21093207.7444 21093214.2824
+ -1468.2114 -1144.0624
+ 05 1 20 20 39 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22002504.0854 -16685939.77449 -12957338.34247 22002504.0024 22002510.8684
+ -2137.8754 -1665.8794
+ 23032245.4914 -1253109.05449 -964383.47946 23032243.0454 23032251.4754
+ 3686.1094 2872.2884
+ 20466595.2674 -23754447.11349 -18492058.79648 20466595.3204 20466600.8314
+ -1134.6034 -884.1104
+ 20884788.2554 -24659614.61349 -19201825.58548 20884787.9604 20884792.1944
+ 1435.5684 1118.6174
+ 22154848.8354 -8850260.46749 -6874560.97547 22154848.6434 22154855.4684
+ 873.8784 680.9384
+ 22980329.2794 -13733370.27249 -10674612.78847 22980328.9244 22980336.8104
+ 2163.0214 1685.4654
+ 24347481.0084 -4842140.36949 -3475145.77845 24347480.7504 24347484.5864
+ 14.8504 11.5784
+ 23781553.9304 -4114642.34249 -2863315.73345 23781554.0734 23781558.9454
+ 1446.7324 1127.3204
+ 23846826.9394 -2031806.60649 -1570150.93245 23846826.8054 23846830.6144
+ 2637.2074 2054.9614
+ 21101607.1294 -19785825.89749 -14964030.46248 21101606.9344 21101613.5404
+ -1474.4724 -1148.9454
+ 05 1 20 20 39 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22014739.0834 -16621647.22649 -12907240.26747 22014738.2874 22014745.2004
+ -2148.1634 -1673.8884
+ 23011221.5914 -1363581.34349 -1050465.69446 23011219.7924 23011229.4934
+ 3678.6934 2866.5164
+ 20473096.7974 -23720280.15449 -18465435.17448 20473096.9154 20473103.0244
+ -1143.1354 -890.7564
+ 20876620.7814 -24702535.44249 -19235270.34848 20876620.7294 20876624.7504
+ 1425.7704 1110.9884
+ 22149914.5034 -8876190.96549 -6894766.51547 22149913.8654 22149921.3064
+ 854.7914 666.0684
+ 22967996.1354 -13798181.85149 -10725115.23547 22967995.6514 22968003.3714
+ 2157.6594 1681.2904
+ 24347445.3474 -4842321.17749 -3475286.66045 24347444.6014 24347450.6474
+ -2.8174 -2.2024
+ 23773336.2454 -4157816.31849 -2896957.73645 23773336.5714 23773342.4424
+ 1431.6244 1115.5604
+ 23831806.8084 -2110722.97149 -1631644.13545 23831807.4864 23831811.1844
+ 2623.8444 2044.5494
+ 21110042.5624 -19741498.67849 -14929489.75448 21110042.3684 21110049.0584
+ -1480.6944 -1153.7874
+ 05 1 20 20 40 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22027031.9674 -16557044.45749 -12856900.45947 22027031.8374 22027038.8344
+ -2158.4884 -1681.9444
+ 22990242.2724 -1473830.75249 -1136374.25346 22990241.2334 22990249.7644
+ 3671.2614 2860.7214
+ 20479647.2874 -23685858.23749 -18438612.88348 20479647.4434 20479653.3024
+ -1151.6204 -897.3724
+ 20868508.8764 -24745161.98349 -19268485.79148 20868508.9664 20868513.2634
+ 1415.9844 1103.3574
+ 22145087.9614 -8901549.83049 -6914526.65047 22145088.6924 22145095.6174
+ 835.7284 651.2114
+ 22955695.6404 -13862832.68049 -10775492.44047 22955693.9044 22955700.9644
+ 2152.3354 1677.1374
+ 24347512.1804 -4841970.51849 -3475013.40845 24347512.9644 24347516.6454
+ -20.5464 -16.0094
+ 23765207.2184 -4200536.50949 -2930246.07946 23765207.7244 23765215.0064
+ 1416.3134 1103.6464
+ 23816863.6724 -2189236.06349 -1692823.06545 23816865.0304 23816871.5064
+ 2610.4504 2034.1104
+ 21118513.0584 -19696985.61649 -14894804.23848 21118512.6104 21118519.1584
+ -1486.8524 -1158.5904
+ 05 1 20 20 40 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22039383.9724 -16492131.95849 -12806319.31547 22039383.8094 22039391.5614
+ -2168.9004 -1690.0504
+ 22969304.3054 -1583854.88749 -1222107.27346 22969303.8994 22969312.3534
+ 3663.6644 2854.8114
+ 20486245.7874 -23651182.22649 -18411592.60248 20486245.8974 20486252.1174
+ -1160.0854 -903.9634
+ 20860454.0514 -24787494.39349 -19301472.05448 20860453.4964 20860457.2594
+ 1406.1704 1095.7194
+ 22140372.2694 -8926336.27449 -6933840.71547 22140371.5114 22140378.7854
+ 816.6604 636.3584
+ 22943422.1784 -13927322.58249 -10825744.26347 22943421.2094 22943428.7894
+ 2146.9474 1672.9404
+ 24347678.9804 -4841088.11549 -3474325.78645 24347678.1384 24347684.8914
+ -38.3254 -29.8614
+ 23757162.8164 -4242800.48149 -2963178.96645 23757163.8654 23757170.1364
+ 1401.3034 1091.9294
+ 23801998.0534 -2267343.26149 -1753685.74245 23802001.3974 23802007.5234
+ 2596.7224 2023.4164
+ 21127018.3014 -19652287.60449 -14859974.59948 21127018.5264 21127025.2664
+ -1493.0054 -1163.3834
+ 05 1 20 20 41 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22051796.4174 -16426910.12749 -12755497.14847 22051795.2894 22051802.6184
+ -2179.1694 -1698.0504
+ 22948410.8474 -1693651.07349 -1307662.65246 22948410.0054 22948417.0744
+ 3656.0144 2848.8394
+ 20492892.2594 -23616253.66249 -18384375.52748 20492892.4994 20492898.4244
+ -1168.4364 -910.4734
+ 20852453.0174 -24829532.63949 -19334229.08948 20852453.4424 20852457.4914
+ 1396.3584 1088.0714
+ 22135764.3744 -8950549.53849 -6952708.16847 22135763.9394 22135770.5304
+ 797.5594 621.4754
+ 22931178.1844 -13991651.79349 -10875870.85947 22931178.5124 22931187.4614
+ 2141.5824 1668.7604
+ 24347949.2024 -4839673.31849 -3473223.30145 24347947.9344 24347954.3074
+ -56.0064 -43.6384
+ 23749209.8664 -4284605.98149 -2995754.63846 23749208.5244 23749216.0394
+ 1385.8464 1079.8694
+ 23787213.0234 -2345042.35849 -1814230.41045 23787215.3454 23787221.1104
+ 2583.1924 2012.8754
+ 21135559.5114 -19607405.82049 -14825001.76048 21135558.8374 21135565.9984
+ -1499.1054 -1168.1344
+ 05 1 20 20 41 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22064266.3764 -16361379.36049 -12704434.23147 22064265.1014 22064272.6614
+ -2189.4424 -1706.0604
+ 22927560.6844 -1803216.79849 -1393038.45046 22927559.8154 22927568.9114
+ 3648.3234 2842.8394
+ 20499586.2624 -23581073.63949 -18356962.50448 20499586.9944 20499593.0674
+ -1176.8164 -917.0004
+ 20844510.8704 -24871276.44049 -19366756.68248 20844510.0234 20844513.8414
+ 1386.5404 1080.4214
+ 22131266.9494 -8974188.89849 -6971128.42047 22131265.8474 22131272.1414
+ 778.4134 606.5554
+ 22918969.6964 -14055820.23249 -10925872.20947 22918969.6934 22918976.3304
+ 2136.2554 1664.6034
+ 24348320.1534 -4837725.62649 -3471705.61145 24348320.6144 24348323.2944
+ -73.8234 -57.5204
+ 23741342.1994 -4325950.95949 -3027971.43546 23741341.6384 23741347.5104
+ 1370.4174 1067.8554
+ 23772507.7344 -2422330.90349 -1874455.17045 23772505.8344 23772513.7134
+ 2569.5004 2002.2014
+ 21144134.4094 -19562341.45149 -14789886.64848 21144134.3454 21144141.2554
+ -1505.1824 -1172.8694
+ 05 1 20 20 42 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22076794.3004 -16295540.00449 -12653130.86347 22076793.8284 22076801.5254
+ -2199.7134 -1714.0594
+ 22906753.9674 -1912549.41649 -1478232.59246 22906753.8224 22906763.4094
+ 3640.5244 2836.7704
+ 20506329.2944 -23545643.30049 -18329354.43648 20506329.2584 20506335.4284
+ -1185.1644 -923.5034
+ 20836622.2964 -24912726.00449 -19399054.99848 20836622.2284 20836626.3844
+ 1376.7384 1072.7884
+ 22126875.9384 -8997253.77249 -6989101.00847 22126876.4174 22126883.5604
+ 759.2484 591.6274
+ 22906788.9104 -14119827.79349 -10975748.17447 22906788.0134 22906796.5394
+ 2130.9204 1660.4624
+ 24348792.9764 -4835244.15349 -3469771.95245 24348792.0154 24348795.5204
+ -91.6294 -71.3994
+ 23733562.1374 -4366832.38449 -3059827.05446 23733561.8294 23733568.2144
+ 1354.9804 1055.8264
+ 23757877.5504 -2499206.14649 -1934357.88745 23757878.5674 23757885.1254
+ 2555.6214 1991.3914
+ 21152744.6074 -19517095.20849 -14754629.81348 21152744.6124 21152751.5264
+ -1511.2254 -1177.5754
+ 05 1 20 20 42 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22089382.6364 -16229392.63049 -12601587.47547 22089381.4104 22089388.9904
+ -2209.9344 -1722.0354
+ 22885994.8144 -2021646.49749 -1563243.19546 22885994.1364 22886002.8334
+ 3632.6354 2830.6184
+ 20513118.5904 -23509963.99749 -18301552.36848 20513118.8094 20513124.4484
+ -1193.4364 -929.9584
+ 20828791.0554 -24953881.14249 -19431123.89548 20828790.6224 20828794.8864
+ 1366.9224 1065.1294
+ 22122596.0064 -9019743.30249 -7006625.25847 22122596.4544 22122603.6054
+ 740.0664 576.6624
+ 22894638.7624 -14183674.65449 -11025498.92747 22894638.5954 22894646.4394
+ 2125.4924 1656.2254
+ 24349366.0224 -4832228.52549 -3467422.08245 24349365.7624 24349367.4734
+ -109.4374 -85.2784
+ 23725870.3644 -4407248.24649 -3091319.87446 23725872.3604 23725877.1584
+ 1339.4064 1043.6864
+ 23743326.6914 -2575666.07449 -1993937.00045 23743329.0594 23743335.6534
+ 2541.7684 1980.5924
+ 21161389.5424 -19471668.46749 -14719232.33048 21161389.1244 21161395.8684
+ -1517.2124 -1182.2444
+ 05 1 20 20 43 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22102028.2304 -16162937.64349 -12549804.39847 22102027.3754 22102034.9004
+ -2220.2404 -1730.0494
+ 22865279.7894 -2130505.64149 -1648068.39046 22865278.7014 22865287.4264
+ 3624.6584 2824.4064
+ 20519954.5984 -23474036.70549 -18273557.06448 20519955.1144 20519961.5294
+ -1201.6564 -936.3544
+ 20821015.4084 -24994741.88349 -19462963.40448 20821015.0954 20821019.3174
+ 1357.1154 1057.4934
+ 22118427.0724 -9041656.89549 -7023700.75647 22118426.7244 22118434.1144
+ 720.8514 561.7014
+ 22882520.0514 -14247360.55149 -11075124.26147 22882519.6064 22882527.3214
+ 2120.1764 1652.0854
+ 24350040.7874 -4828678.42749 -3464655.72945 24350040.6044 24350047.1994
+ -127.2704 -99.1804
+ 23718268.3574 -4447196.57349 -3122448.35745 23718267.8824 23718274.1984
+ 1323.7954 1031.5294
+ 23728858.1294 -2651708.13349 -2053190.49545 23728858.3244 23728864.9154
+ 2527.7824 1969.6984
+ 21170068.3734 -19426062.41949 -14683695.12948 21170067.5994 21170074.3104
+ -1523.1784 -1186.8924
+ 05 1 20 20 43 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22114733.4534 -16096175.36749 -12497781.86547 22114732.4334 22114739.7384
+ -2230.4744 -1738.0314
+ 22844610.4594 -2239124.11049 -1732706.06846 22844609.9974 22844617.8704
+ 3616.5974 2818.1234
+ 20526839.0194 -23437862.63549 -18245369.46148 20526839.0834 20526845.1524
+ -1209.8924 -942.7724
+ 20813295.6424 -25035308.36249 -19494573.60848 20813295.7814 20813299.8434
+ 1347.3004 1049.8464
+ 22114367.1894 -9062994.16149 -7040327.15547 22114366.7244 22114373.5214
+ 701.6344 546.7304
+ 22870431.4944 -14310885.61849 -11124624.25747 22870430.4764 22870439.6254
+ 2114.7814 1647.8774
+ 24350818.2884 -4824593.15649 -3461472.41345 24350817.9604 24350823.6284
+ -145.0114 -112.9914
+ 23710757.5614 -4486674.85649 -3153210.63046 23710756.3634 23710763.1034
+ 1308.0564 1019.2654
+ 23714466.9234 -2727330.01249 -2112116.56545 23714467.4414 23714475.6824
+ 2513.7094 1958.7334
+ 21178779.8094 -19380278.12649 -14648019.04248 21178780.1494 21178786.9674
+ -1529.1084 -1191.5134
+ 05 1 20 20 44 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22127495.1834 -16029106.34349 -12445520.30947 22127494.8554 22127502.5314
+ -2240.7144 -1746.0044
+ 22823988.3444 -2347499.62849 -1817154.42346 22823986.7294 22823994.6394
+ 3608.4514 2811.7724
+ 20533769.5124 -23401442.84249 -18216990.38648 20533769.8024 20533775.7384
+ -1218.0284 -949.1104
+ 20805632.7934 -25075580.43349 -19525954.41248 20805632.1684 20805636.2364
+ 1337.4864 1042.2014
+ 22110417.1674 -9083754.62849 -7056504.10447 22110416.1584 22110422.3864
+ 682.3944 531.7344
+ 22858372.7734 -14374249.96949 -11173999.03147 22858372.7194 22858381.1064
+ 2109.4394 1643.7134
+ 24351697.3794 -4819972.45649 -3457871.82545 24351697.7724 24351701.8244
+ -162.8684 -126.9144
+ 23703332.7054 -4525680.69849 -3183604.72346 23703332.8754 23703340.4864
+ 1292.2764 1006.9644
+ 23700160.0754 -2802529.24149 -2170713.32545 23700157.6034 23700165.8934
+ 2499.5874 1947.7254
+ 21187526.4564 -19334316.70849 -14612204.93148 21187526.0994 21187532.6844
+ -1534.9914 -1196.0954
+ 05 1 20 20 44 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22140316.5174 -15961731.07149 -12393020.13147 22140315.7604 22140323.4874
+ -2250.9124 -1753.9664
+ 22803411.9594 -2455629.55449 -1901411.41546 22803410.2084 22803417.6344
+ 3600.1884 2805.3344
+ 20540746.5234 -23364778.72649 -18188420.92348 20540746.7234 20540752.3544
+ -1226.1514 -955.4444
+ 20798025.1514 -25115557.99449 -19557105.71748 20798024.8464 20798028.6194
+ 1327.6604 1034.5384
+ 22106575.1744 -9103937.49849 -7072230.97647 22106575.0544 22106581.6164
+ 663.1294 516.7244
+ 22846346.6544 -14437453.48649 -11223248.46347 22846346.5914 22846353.0844
+ 2104.1004 1639.5554
+ 24352680.1804 -4814815.76649 -3453853.61645 24352679.2254 24352682.5604
+ -180.8534 -140.9274
+ 23696002.0794 -4564212.03649 -3213629.06646 23696001.0604 23696007.6544
+ 1276.4054 994.5964
+ 23685926.9524 -2877303.43349 -2228978.86845 23685928.1294 23685937.1374
+ 2485.4094 1936.6844
+ 21196305.6394 -19288179.16349 -14576253.57848 21196305.5614 21196312.5914
+ -1540.8524 -1200.6654
+ 05 1 20 20 45 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22153196.0624 -15894049.96949 -12340281.61847 22153195.3084 22153202.7404
+ -2261.0644 -1761.8784
+ 22782881.9384 -2563511.51149 -1985475.20446 22782881.0844 22782888.6794
+ 3591.9164 2798.8834
+ 20547769.6534 -23327871.39349 -18159661.94148 20547769.7814 20547775.9684
+ -1234.2444 -961.7484
+ 20790473.1304 -25155241.28849 -19588027.72648 20790473.0184 20790476.9924
+ 1317.8684 1026.9084
+ 22102845.0224 -9123542.27949 -7087507.38547 22102844.2164 22102851.2424
+ 643.8474 501.6964
+ 22834351.6604 -14500496.41749 -11272372.76247 22834350.0894 22834357.0054
+ 2098.7024 1635.3454
+ 24353761.5554 -4809122.66249 -3449417.41345 24353763.0574 24353765.9344
+ -198.7164 -154.8484
+ 23688759.8144 -4602266.34749 -3243281.74746 23688759.6244 23688767.4594
+ 1260.5214 982.2294
+ 23671781.5504 -2951650.26549 -2286911.41845 23671781.0464 23671789.3554
+ 2471.1094 1925.5394
+ 21205118.8164 -19241866.59549 -14540165.84948 21205118.6414 21205125.7084
+ -1546.6594 -1205.1924
+ 05 1 20 20 45 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22166133.2624 -15826063.59449 -12287305.26747 22166132.8724 22166140.6374
+ -2271.2444 -1769.8064
+ 22762399.3134 -2671142.88549 -2069343.71546 22762398.7534 22762406.7524
+ 3583.5284 2792.3604
+ 20554839.0284 -23290721.79749 -18130714.19048 20554839.2064 20554845.1884
+ -1242.3194 -968.0404
+ 20782978.0184 -25194630.10749 -19618720.28248 20782977.6824 20782981.3614
+ 1308.0644 1019.2744
+ 22099223.7914 -9142568.24049 -7102332.77147 22099223.7384 22099230.6644
+ 624.5604 486.6654
+ 22822383.6014 -14563378.58649 -11321371.78747 22822383.1074 22822391.4154
+ 2093.3924 1631.2144
+ 24354947.2584 -4802892.99749 -3444563.09745 24354945.3674 24354949.8724
+ -216.5714 -168.7494
+ 23681609.3394 -4639841.66849 -3272561.11246 23681610.2524 23681616.1464
+ 1244.5294 969.7604
+ 23657713.2824 -3025567.33549 -2344509.08546 23657714.8474 23657723.4864
+ 2456.7914 1914.3784
+ 21213965.3494 -19195379.91749 -14503942.44748 21213964.7914 21213971.6024
+ -1552.4384 -1209.6904
+ 05 1 20 20 46 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22179128.1254 -15757772.31649 -12234091.32047 22179128.2054 22179135.7534
+ -2281.4084 -1777.7204
+ 22741966.8224 -2778521.13749 -2153015.01946 22741966.2564 22741973.3384
+ 3575.0404 2785.7364
+ 20561954.7614 -23253331.25849 -18101578.68348 20561954.5144 20561960.0884
+ -1250.3064 -974.2614
+ 20775537.3064 -25233724.53949 -19649183.44048 20775537.6204 20775542.0124
+ 1298.2534 1011.6254
+ 22095713.9164 -9161015.29649 -7116707.06947 22095713.6354 22095720.2614
+ 605.2634 471.6374
+ 22810448.2954 -14626100.26449 -11370245.76047 22810447.6544 22810455.0014
+ 2088.0634 1627.0624
+ 24356237.4934 -4796126.23949 -3439290.27145 24356236.4294 24356238.1194
+ -234.4624 -182.6924
+ 23674550.4514 -4676936.03049 -3301465.73446 23674548.8694 23674556.6254
+ 1228.4464 957.2184
+ 23643730.4094 -3099052.29549 -2401770.03546 23643731.3104 23643738.8484
+ 2442.2834 1903.0784
+ 21222844.1384 -19148720.18149 -14467584.20248 21222843.9014 21222850.6674
+ -1558.1814 -1214.1624
+ 05 1 20 20 46 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22192182.1574 -15689176.69249 -12180640.20447 22192181.6244 22192189.2624
+ -2291.5134 -1785.5894
+ 22721582.1294 -2885643.77749 -2236487.12946 22721580.8224 22721588.7924
+ 3566.4924 2779.0804
+ 20569114.6544 -23215700.85349 -18072256.27848 20569114.9054 20569121.2414
+ -1258.3064 -980.4994
+ 20768155.2664 -25272524.63349 -19679417.24448 20768154.8064 20768158.7704
+ 1288.4254 1003.9654
+ 22092313.5754 -9178882.87149 -7130629.82047 22092313.4064 22092320.2854
+ 585.9224 456.5604
+ 22798542.3724 -14688660.98149 -11418994.31747 22798541.9674 22798550.2124
+ 2082.6374 1622.8354
+ 24357624.2124 -4788822.29449 -3433598.86545 24357623.9744 24357630.7364
+ -252.4474 -196.7064
+ 23667583.6184 -4713546.91949 -3329993.62146 23667584.5464 23667590.3784
+ 1212.3004 944.6484
+ 23629829.4994 -3172102.97049 -2458692.57946 23629830.1764 23629837.3124
+ 2427.7664 1891.7664
+ 21231755.9814 -19101888.60349 -14431092.04848 21231755.7234 21231762.3474
+ -1563.9014 -1218.6234
+ 05 1 20 20 47 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22205293.7014 -15620277.39849 -12126952.46647 22205292.4444 22205300.3554
+ -2301.6624 -1793.5004
+ 22701246.8844 -2992508.12149 -2319757.98046 22701245.8544 22701252.6634
+ 3557.7904 2772.3094
+ 20576321.6194 -23177831.83849 -18042747.94448 20576321.5974 20576327.1154
+ -1266.2554 -986.6894
+ 20760827.8994 -25311030.28949 -19709421.61648 20760827.5524 20760831.4344
+ 1278.6054 996.3154
+ 22089024.9234 -9196170.55349 -7144100.70647 22089024.2294 22089030.6744
+ 566.5854 441.4974
+ 22786667.2274 -14751061.37449 -11467617.96047 22786667.4144 22786676.4954
+ 2077.3094 1618.6774
+ 24359119.1204 -4780980.51549 -3427488.36445 24359118.5934 24359121.3374
+ -270.2954 -210.6194
+ 23660709.8694 -4749672.31849 -3358143.17046 23660709.5324 23660716.0434
+ 1196.0474 931.9874
+ 23616012.7334 -3244716.99149 -2515274.85846 23616011.8644 23616019.7014
+ 2413.1954 1880.4074
+ 21240700.0394 -19054886.23049 -14394466.81848 21240700.0374 21240706.4254
+ -1569.6004 -1223.0634
+ 05 1 20 20 47 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22218462.0834 -15551074.85449 -12073028.43647 22218461.3724 22218469.0774
+ -2311.7084 -1801.3294
+ 22680960.0574 -3099111.88249 -2402825.77846 22680959.3704 22680966.3224
+ 3549.0574 2765.4894
+ 20583572.7164 -23139725.14849 -18013054.40048 20583572.7234 20583578.3484
+ -1274.1454 -992.8434
+ 20753556.5384 -25349241.58749 -19739196.60848 20753556.3554 20753560.2414
+ 1268.7954 988.6674
+ 22085844.6304 -9212877.98549 -7157119.45647 22085844.3254 22085851.0614
+ 547.2374 426.4214
+ 22774824.3594 -14813301.09149 -11516116.37947 22774823.5264 22774831.9184
+ 2071.9514 1614.5064
+ 24360712.2074 -4772600.62949 -3420958.54145 24360712.6474 24360716.2084
+ -288.2564 -224.6164
+ 23653926.3844 -4785309.88049 -3385912.62046 23653928.0474 23653934.6654
+ 1179.7734 919.3094
+ 23602277.4304 -3316891.96549 -2571515.04146 23602277.7504 23602284.9794
+ 2398.5104 1868.9664
+ 21249676.8994 -19007713.96849 -14357709.20348 21249676.5634 21249683.0374
+ -1575.2284 -1227.4544
+ 05 1 20 20 48 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22231689.0484 -15481569.47949 -12018868.42347 22231688.2724 22231695.7214
+ -2321.8554 -1809.2364
+ 22660723.2194 -3205452.41449 -2485688.47546 22660722.8484 22660731.0934
+ 3540.2664 2758.6344
+ 20590869.2864 -23101382.07649 -17983176.66648 20590869.3164 20590874.9754
+ -1282.0024 -998.9654
+ 20746341.3044 -25387158.72649 -19768742.40048 20746340.8454 20746344.7194
+ 1258.9984 981.0364
+ 22082775.5964 -9229004.66249 -7169685.66547 22082775.7674 22082782.0704
+ 527.8634 411.3244
+ 22763011.3444 -14875380.14449 -11564489.60947 22763011.2924 22763018.1764
+ 2066.6084 1610.3454
+ 24362409.3964 -4763682.65349 -3414009.46045 24362407.9614 24362411.9674
+ -306.1834 -238.5894
+ 23647238.3204 -4820457.91849 -3413300.61546 23647238.5384 23647245.3584
+ 1163.4204 906.5624
+ 23588629.3454 -3388625.71049 -2627411.42046 23588628.7784 23588634.5594
+ 2383.7754 1857.4814
+ 21258685.3324 -18960372.99949 -14320820.13348 21258685.2904 21258691.7494
+ -1580.8344 -1231.8204
+ 05 1 20 20 48 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22244973.1194 -15411762.02349 -11964473.02747 22244972.2674 22244979.0894
+ -2331.8814 -1817.0564
+ 22640536.4384 -3311527.55349 -2568344.37746 22640537.2904 22640545.4234
+ 3531.4054 2751.7414
+ 20598210.0174 -23062803.64349 -17953115.53948 20598210.3964 20598216.0664
+ -1289.8234 -1005.0584
+ 20739180.7714 -25424781.43249 -19798058.75948 20739180.8614 20739185.0054
+ 1249.1704 973.3754
+ 22079818.0004 -9244550.22849 -7181799.05547 22079817.1874 22079824.3464
+ 508.5114 396.2484
+ 22751229.9324 -14937298.61049 -11612737.70447 22751229.1264 22751235.7364
+ 2061.2454 1606.1614
+ 24364209.7454 -4754226.15849 -3406640.73645 24364209.4634 24364213.1174
+ -324.1714 -252.5974
+ 23640644.7234 -4855113.89949 -3440305.22746 23640643.9874 23640650.5194
+ 1146.9914 893.7504
+ 23575061.9434 -3459915.75549 -2682962.03846 23575062.2474 23575069.3504
+ 2368.9404 1845.9194
+ 21267726.2774 -18912864.00249 -14283800.12848 21267726.1134 21267732.9494
+ -1586.4244 -1236.1764
+ 05 1 20 20 49 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22258313.3514 -15341652.90249 -11909842.57247 22258313.6514 22258321.1404
+ -2341.9454 -1824.8904
+ 22620405.4424 -3417334.81249 -2650791.52047 22620403.0804 22620411.4734
+ 3522.4224 2744.7404
+ 20605596.2094 -23023991.15849 -17922872.02348 20605596.0964 20605602.0494
+ -1297.6204 -1011.1344
+ 20732077.6284 -25462109.62649 -19827145.63048 20732077.2954 20732081.6554
+ 1239.3574 965.7284
+ 22076969.4284 -9259514.47849 -7193459.47147 22076968.9094 22076976.4624
+ 489.1154 381.1254
+ 22739476.8334 -14999056.60749 -11660860.74747 22739476.5624 22739483.8934
+ 2055.9014 1601.9984
+ 24366111.7264 -4744230.84949 -3398852.19345 24366111.7314 24366113.1904
+ -342.1544 -266.6064
+ 23634141.8714 -4889276.17349 -3466925.08746 23634142.6514 23634148.9454
+ 1130.4544 880.8664
+ 23561581.4174 -3530760.00349 -2738165.27946 23561581.2824 23561587.1044
+ 2354.0234 1834.2954
+ 21276798.3354 -18865188.43849 -14246650.33648 21276798.1864 21276805.3084
+ -1591.9524 -1240.4864
+ 05 1 20 20 49 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22271711.7414 -15271242.69149 -11854977.50047 22271711.7394 22271718.9484
+ -2351.9754 -1832.7114
+ 22600321.6854 -3522871.67849 -2733027.96946 22600319.6744 22600327.1624
+ 3513.3574 2737.6684
+ 20613025.5584 -22984945.79749 -17892447.06248 20613026.2724 20613031.9994
+ -1305.3484 -1017.1594
+ 20725030.7574 -25499143.57949 -19856003.22248 20725030.2094 20725034.0434
+ 1229.5454 958.0844
+ 22074232.9954 -9273896.98549 -7204666.58547 22074232.3484 22074239.4374
+ 469.6914 365.9914
+ 22727754.2944 -15060654.30249 -11708858.87247 22727754.6384 22727761.9884
+ 2050.5474 1597.8194
+ 24368114.4284 -4733696.73549 -3390643.70445 24368113.8404 24368119.2204
+ -360.0844 -280.5934
+ 23627736.9154 -4922942.61849 -3493158.60046 23627736.8274 23627742.3524
+ 1113.9514 868.0154
+ 23548182.3284 -3601156.12949 -2793019.33746 23548184.4624 23548192.2684
+ 2339.0614 1822.6354
+ 21285902.3744 -18817347.11649 -14209371.37948 21285901.8864 21285908.8694
+ -1597.4584 -1244.7724
+ 05 1 20 20 50 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22285168.4214 -15200532.02549 -11799878.27947 22285166.9454 22285175.2004
+ -2361.9374 -1840.4654
+ 22580290.1114 -3628135.38149 -2815051.58346 22580289.0564 22580296.9754
+ 3504.2234 2730.5684
+ 20620500.5194 -22945668.48549 -17861841.35248 20620500.4874 20620506.1084
+ -1313.0544 -1023.1634
+ 20718039.2984 -25535883.23949 -19884631.49148 20718038.9114 20718042.8394
+ 1219.7604 950.4594
+ 22071606.7864 -9287697.57249 -7215420.26047 22071606.7154 22071613.3864
+ 450.3234 350.8994
+ 22716063.9444 -15122091.32049 -11756731.80847 22716063.7614 22716070.5674
+ 2045.2214 1593.6794
+ 24370222.7754 -4722623.52949 -3382015.26545 24370222.5534 24370227.6534
+ -378.0734 -294.6094
+ 23621424.4264 -4956111.17049 -3519004.11346 23621424.2364 23621430.5074
+ 1097.3364 855.0584
+ 23534873.9574 -3671101.88849 -2847522.44746 23534873.5214 23534881.3694
+ 2324.0484 1810.9344
+ 21295037.0574 -18769340.88149 -14171963.92448 21295037.0964 21295044.6094
+ -1602.9464 -1249.0514
+ 05 1 20 20 50 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22298681.7014 -15129521.44149 -11744545.39247 22298680.8644 22298687.5194
+ -2371.9054 -1848.2394
+ 22560310.7954 -3733123.56649 -2896860.49146 22560310.6954 22560318.6964
+ 3494.9894 2723.3524
+ 20628019.2224 -22906160.03149 -17831055.53448 20628019.3064 20628024.4564
+ -1320.7414 -1029.1464
+ 20711104.1394 -25572328.80249 -19913030.59648 20711103.9254 20711107.5674
+ 1209.9494 942.8144
+ 22069091.7944 -9300916.02749 -7225720.31947 22069090.9664 22069097.9244
+ 430.8984 335.7644
+ 22704404.1014 -15183368.00749 -11804479.81447 22704402.8304 22704409.6334
+ 2039.8404 1589.4804
+ 24372434.9344 -4711011.28449 -3372966.76245 24372432.5254 24372437.2764
+ -396.0364 -308.5874
+ 23615208.9784 -4988779.62849 -3544459.96146 23615208.4404 23615214.9184
+ 1080.6084 842.0284
+ 23521646.4204 -3740595.15149 -2901672.96745 23521648.2914 23521657.0854
+ 2308.8664 1799.1074
+ 21304204.3874 -18721170.92849 -14134428.88948 21304203.6784 21304210.7694
+ -1608.3794 -1253.2824
+ 05 1 20 20 51 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22312251.2234 -15058211.54149 -11688979.24747 22312251.1964 22312258.1414
+ -2381.9484 -1856.0664
+ 22540386.0784 -3837833.94449 -2978452.91947 22540385.9004 22540392.3914
+ 3485.6974 2716.1214
+ 20635579.9554 -22866422.27749 -17800091.03448 20635580.4164 20635586.3734
+ -1328.3764 -1035.1014
+ 20704225.1874 -25608480.08249 -19941200.39048 20704224.7664 20704227.9574
+ 1200.1414 935.1664
+ 22066687.1504 -9313552.08249 -7235566.57347 22066686.4514 22066693.0044
+ 411.5014 320.6464
+ 22692772.3404 -15244484.34549 -11852102.87347 22692772.1034 22692779.8904
+ 2034.5134 1585.3324
+ 24374744.9224 -4698859.71949 -3363497.95645 24374744.8244 24374747.6394
+ -414.0284 -322.6154
+ 23609087.2194 -5020946.15349 -3569524.70346 23609087.0274 23609094.2044
+ 1063.8424 828.9674
+ 23508510.8774 -3809633.49249 -2955469.01345 23508511.5584 23508519.1134
+ 2293.6774 1787.2794
+ 21313401.1534 -18672838.48349 -14096767.23648 21313401.1584 21313407.9144
+ -1613.7984 -1257.5094
+ 05 1 20 20 51 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22325878.6484 -14986603.00849 -11633180.42847 22325876.9064 22325884.0874
+ -2391.9094 -1863.8194
+ 22520512.7784 -3942263.91449 -3059826.86046 22520512.2824 22520520.9644
+ 3476.3054 2708.8084
+ 20643185.8934 -22826455.82949 -17768948.34848 20643186.1084 20643191.6954
+ -1335.9954 -1041.0364
+ 20697401.3334 -25644337.04049 -19969140.84248 20697400.7874 20697404.7614
+ 1190.3124 927.5114
+ 22064393.0004 -9325605.38849 -7244958.72947 22064392.6784 22064400.0134
+ 392.0354 305.4814
+ 22681173.5714 -15305440.42849 -11899601.05247 22681172.7924 22681180.3174
+ 2029.1384 1581.1484
+ 24377160.2324 -4686168.64149 -3353608.76145 24377159.7784 24377163.4594
+ -432.0644 -336.6784
+ 23603060.9864 -5052608.74149 -3594196.79846 23603062.2754 23603068.7474
+ 1046.9784 815.8354
+ 23495462.7714 -3878214.91449 -3008909.00345 23495462.3704 23495468.1054
+ 2278.4204 1775.3874
+ 21322628.8594 -18624344.03649 -14058979.35548 21322628.9094 21322636.5844
+ -1619.1794 -1261.6994
+ 05 1 20 20 52 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22339560.7314 -14914696.37149 -11577149.30247 22339560.0924 22339568.1834
+ -2401.7924 -1871.5294
+ 22500695.2754 -4046411.22749 -3140980.52946 22500693.6604 22500701.0544
+ 3466.8084 2701.4064
+ 20650834.9634 -22786261.88749 -17737628.38748 20650834.5254 20650840.2794
+ -1343.5504 -1046.9224
+ 20690633.7264 -25679899.70449 -19996851.98548 20690633.4924 20690637.5304
+ 1180.5154 919.8804
+ 22062210.1674 -9337075.80549 -7253896.67247 22062209.7114 22062216.5974
+ 372.6254 290.3614
+ 22669604.8134 -15366236.39749 -11946974.46147 22669603.6774 22669611.4344
+ 2023.8384 1577.0114
+ 24379678.3794 -4672938.20949 -3343299.34845 24379676.1234 24379679.3834
+ -450.0364 -350.6844
+ 23597131.7544 -5083765.29449 -3618474.55246 23597132.3604 23597137.7744
+ 1030.1094 802.6664
+ 23482498.0414 -3946337.16449 -3061991.22145 23482498.0624 23482504.7134
+ 2263.0874 1763.4444
+ 21331887.5224 -18575688.86949 -14021066.23348 21331888.0354 21331894.9204
+ -1624.5034 -1265.8524
+ 05 1 20 20 52 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22353301.2494 -14842492.39449 -11520886.49047 22353300.1784 22353307.8664
+ -2411.7034 -1879.2514
+ 22480930.4564 -4150273.45649 -3221912.05947 22480929.5244 22480937.1434
+ 3457.3004 2693.9934
+ 20658525.8944 -22745841.51649 -17706131.98748 20658526.0994 20658532.2414
+ -1351.0874 -1052.8004
+ 20683922.2154 -25715168.27949 -20024333.96348 20683922.1204 20683926.2084
+ 1170.7054 912.2354
+ 22060139.4024 -9347963.31449 -7262380.41547 22060138.5394 22060144.7994
+ 353.1794 275.1974
+ 22658065.2084 -15426872.05349 -11994222.95347 22658065.3044 22658072.7354
+ 2018.4594 1572.8134
+ 24382297.5874 -4659168.40449 -3332569.60145 24382297.2834 24382299.0254
+ -467.9614 -364.6564
+ 23591301.6714 -5114414.16049 -3642356.67946 23591300.8404 23591307.4354
+ 1013.1534 789.4684
+ 23469622.5534 -4013997.99449 -3114713.86045 23469622.2084 23469630.3934
+ 2247.7044 1751.4504
+ 21341177.8174 -18526873.91249 -13983028.59048 21341177.1664 21341184.2824
+ -1629.8394 -1270.0134
+ 05 1 20 20 53 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22367098.1374 -14769991.64449 -11464392.41347 22367097.1284 22367104.5104
+ -2421.5804 -1886.9434
+ 22461220.3614 -4253847.96649 -3302619.38647 22461219.6264 22461227.7594
+ 3447.6544 2686.4824
+ 20666260.3834 -22705195.84349 -17674460.03848 20666260.8264 20666266.9064
+ -1358.5584 -1058.6144
+ 20677266.7794 -25750142.66749 -20051586.70048 20677266.7684 20677270.7314
+ 1160.9134 904.6094
+ 22058176.9924 -9358267.65549 -7270409.73647 22058177.0614 22058184.7054
+ 333.7854 260.0864
+ 22646558.0984 -15487347.45049 -12041346.57047 22646557.6384 22646564.5004
+ 2013.1604 1568.6964
+ 24385019.0974 -4644859.01849 -3321419.46645 24385019.7014 24385023.7854
+ -485.9584 -378.6694
+ 23585566.1224 -5144553.36249 -3665841.69546 23585565.3734 23585572.1544
+ 996.1184 776.1984
+ 23456836.3224 -4081195.30349 -3167075.33845 23456835.7024 23456842.2124
+ 2232.1884 1739.3684
+ 21350496.3044 -18477900.07549 -13944867.16148 21350496.8514 21350503.5364
+ -1635.0954 -1274.0984
+ 05 1 20 20 53 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22380951.2664 -14697194.55249 -11407667.44147 22380950.2454 22380956.9954
+ -2431.4524 -1894.6364
+ 22441566.1984 -4357132.20549 -3383100.55246 22441564.8134 22441572.7364
+ 3437.9624 2678.9374
+ 20674038.3754 -22664325.95349 -17642613.36248 20674038.4064 20674044.0004
+ -1366.0364 -1064.4424
+ 20670667.5824 -25784822.93649 -20078610.25548 20670667.4974 20670671.4024
+ 1151.1044 896.9694
+ 22056328.4024 -9367988.67349 -7277984.52647 22056327.9324 22056333.8494
+ 314.3314 244.9394
+ 22635080.5184 -15547662.73549 -12088345.41247 22635080.0364 22635086.8974
+ 2007.8324 1564.5394
+ 24387847.4814 -4630009.98649 -3309848.76945 24387845.6014 24387851.3224
+ -503.9504 -392.6874
+ 23579927.8864 -5174180.92749 -3688928.01946 23579927.4244 23579933.3564
+ 979.0594 762.9054
+ 23444136.7684 -4147926.98249 -3219073.98245 23444136.3644 23444144.4264
+ 2216.6264 1727.2374
+ 21359847.1944 -18428767.94049 -13906582.37048 21359846.7774 21359853.3194
+ -1640.3484 -1278.1904
+ 05 1 20 20 54 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22394858.9654 -14624102.06249 -11350712.29447 22394859.0824 22394866.2804
+ -2441.2834 -1902.3024
+ 22421966.7694 -4460124.22049 -3463353.99546 22421965.5974 22421973.9704
+ 3428.1934 2671.3204
+ 20681858.0014 -22623233.11949 -17610592.96548 20681857.9884 20681863.7074
+ -1373.4244 -1070.1994
+ 20664123.8484 -25819209.15049 -20105404.67748 20664123.7354 20664127.6544
+ 1141.3014 889.3254
+ 22054588.7344 -9377126.46349 -7285104.85147 22054588.3004 22054595.1594
+ 294.8654 229.7634
+ 22623632.7734 -15607818.06349 -12135219.61247 22623632.2494 22623639.6744
+ 2002.4734 1560.3664
+ 24390773.5454 -4614621.54949 -3297857.72845 24390773.9874 24390780.1934
+ -521.9074 -406.6814
+ 23574385.0874 -5203294.87949 -3711614.15946 23574386.3554 23574392.8764
+ 961.8884 749.5314
+ 23431527.9224 -4214190.71649 -3270707.99445 23431526.6334 23431534.7564
+ 2200.9934 1715.0594
+ 21369225.8094 -18379479.00549 -13868175.39948 21369225.7174 21369232.4694
+ -1645.5624 -1282.2544
+ 05 1 20 20 54 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22408824.6654 -14550714.73949 -11293527.38247 22408823.8394 22408831.0784
+ -2451.0964 -1909.9334
+ 22402424.4644 -4562821.37349 -3543377.67447 22402423.4084 22402432.0494
+ 3418.3024 2663.6204
+ 20689719.7594 -22581918.18449 -17578399.50348 20689719.9754 20689725.9004
+ -1380.8074 -1075.9534
+ 20657636.3894 -25853301.29849 -20131969.95448 20657635.8454 20657639.9974
+ 1131.4864 881.6774
+ 22052961.5014 -9385680.86749 -7291770.60047 22052960.7154 22052967.3024
+ 275.4354 214.6254
+ 22612215.3864 -15667813.46149 -12181969.18647 22612214.9634 22612222.6614
+ 1997.1414 1556.2184
+ 24393807.3374 -4598693.77249 -3285446.46645 24393806.1504 24393807.1744
+ -539.8894 -420.6934
+ 23568946.4724 -5231893.60849 -3733898.79646 23568945.3944 23568951.2244
+ 944.6894 736.1154
+ 23419005.1794 -4279984.53049 -3321975.83145 23419005.3534 23419013.8774
+ 2185.2924 1702.8224
+ 21378635.1644 -18330034.11649 -13829646.90648 21378634.7254 21378641.9804
+ -1650.7444 -1286.2904
+ 05 1 20 20 55 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22422844.7864 -14477033.33249 -11236113.32647 22422844.4884 22422853.2414
+ -2460.9154 -1917.5964
+ 22382937.8224 -4665221.35049 -3623169.78847 22382937.0114 22382945.4374
+ 3408.3534 2655.8524
+ 20697623.8834 -22540382.21049 -17546033.79948 20697623.8894 20697629.7914
+ -1388.2004 -1081.7134
+ 20651204.8254 -25887099.41249 -20158306.12948 20651204.3194 20651208.3224
+ 1121.6914 874.0404
+ 22051444.5264 -9393652.00449 -7297981.85747 22051443.9114 22051450.5034
+ 255.9794 199.4664
+ 22600828.5034 -15727648.85649 -12228594.10947 22600828.6174 22600836.2644
+ 1991.8294 1552.0704
+ 24396939.2214 -4582226.63349 -3272614.92345 24396938.5944 24396945.3924
+ -557.8924 -434.7264
+ 23563598.7584 -5259975.27949 -3755780.58046 23563599.7614 23563607.9294
+ 927.4304 722.6824
+ 23406576.4194 -4345306.30949 -3372875.82746 23406575.3144 23406583.2954
+ 2169.5294 1690.5404
+ 21388072.7334 -18280434.27849 -13790997.68248 21388072.6884 21388080.0834
+ -1655.9054 -1290.3154
+ 05 1 20 20 55 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22436921.8114 -14403058.39849 -11178470.55147 22436921.7444 22436929.7464
+ -2470.6484 -1925.1734
+ 22363508.9584 -4767321.79249 -3702728.51147 22363508.2404 22363516.2824
+ 3398.3324 2648.0594
+ 20705569.7064 -22498626.36649 -17513496.76448 20705570.0604 20705575.3864
+ -1395.4804 -1087.3854
+ 20644829.2804 -25920603.66249 -20184413.31048 20644828.8914 20644832.6754
+ 1111.9074 866.4244
+ 22050039.2334 -9401039.57249 -7303738.37747 22050038.1714 22050044.5654
+ 236.5424 184.3274
+ 22589474.0694 -15787324.26349 -12275094.35147 22589472.8424 22589479.9814
+ 1986.4894 1547.9014
+ 24400175.1004 -4565220.06849 -3259363.04445 24400174.0484 24400179.8114
+ -575.8694 -448.7314
+ 23558356.3194 -5287537.95649 -3777257.89946 23558354.6114 23558360.4174
+ 910.0944 709.1604
+ 23394237.6214 -4410153.85749 -3423406.33646 23394236.3394 23394243.4734
+ 2153.6494 1678.1644
+ 21397540.7214 -18230680.28349 -13752228.33248 21397540.5504 21397548.0034
+ -1661.0254 -1294.3054
+ 05 1 20 20 56 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22451056.1294 -14328790.63649 -11120599.60147 22451054.6554 22451062.8084
+ -2480.4244 -1932.7934
+ 22344137.9294 -4869120.26149 -3782051.91047 22344136.4204 22344144.7144
+ 3388.2214 2640.1694
+ 20713557.0074 -22456651.66449 -17480789.19748 20713557.3684 20713563.1854
+ -1402.7504 -1093.0514
+ 20638509.2864 -25953813.84449 -20210291.34448 20638509.3004 20638513.1904
+ 1102.0834 858.7694
+ 22048743.9744 -9407843.87549 -7309040.40647 22048743.5614 22048749.7344
+ 217.0754 169.1514
+ 22578148.2854 -15846839.70349 -12321469.93847 22578147.3364 22578155.0644
+ 1981.1274 1543.7404
+ 24403515.5934 -4547674.45749 -3245691.10845 24403514.3314 24403518.9104
+ -593.8224 -462.7174
+ 23553208.9174 -5314579.91049 -3798329.50246 23553208.6584 23553216.9474
+ 892.6924 695.6104
+ 23381986.7664 -4474525.22849 -3473565.78846 23381986.3464 23381994.3754
+ 2137.7734 1665.7984
+ 21407037.9404 -18180773.21049 -13713339.69948 21407038.1174 21407045.2784
+ -1666.1214 -1298.2764
+ 05 1 20 20 56 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22465243.3424 -14254230.93849 -11062501.17147 22465242.7384 22465251.1444
+ -2490.1794 -1940.4034
+ 22324824.4424 -4970614.29249 -3861138.08447 22324822.8934 22324831.2624
+ 3378.0064 2632.2024
+ 20721585.6414 -22414459.12849 -17447911.88448 20721586.2484 20721592.1604
+ -1409.9834 -1098.6904
+ 20632245.7404 -25986730.11349 -20235940.36348 20632245.6254 20632249.0164
+ 1092.3144 851.1504
+ 22047559.2684 -9414064.85349 -7313887.90747 22047559.8054 22047565.5994
+ 197.6484 154.0084
+ 22566853.1254 -15906195.59849 -12367721.20747 22566852.7934 22566860.0554
+ 1975.8434 1539.6034
+ 24406954.0434 -4529589.83649 -3231599.29745 24406954.6804 24406960.0264
+ -611.7684 -476.6954
+ 23548163.1544 -5341099.62449 -3818994.14846 23548162.8034 23548168.5934
+ 875.2354 682.0014
+ 23369828.4904 -4538418.20549 -3523352.48546 23369828.7564 23369835.2604
+ 2121.7644 1653.3164
+ 21416564.2574 -18130713.81849 -13674332.37248 21416563.8094 21416571.1074
+ -1671.1664 -1302.2144
+ 05 1 20 20 57 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22479487.1394 -14179379.90949 -11004175.73347 22479487.0494 22479494.2744
+ -2499.8374 -1947.9234
+ 22305568.6694 -5071801.48549 -3939985.17947 22305567.9794 22305575.6244
+ 3367.7764 2624.2424
+ 20729656.4864 -22372049.98149 -17414865.79048 20729656.8564 20729662.1094
+ -1417.2144 -1104.3224
+ 20626037.9544 -26019352.69949 -20261360.53148 20626037.6024 20626041.2174
+ 1082.5014 843.5074
+ 22046487.8304 -9419702.67649 -7318280.99447 22046486.7484 22046492.8404
+ 178.1884 138.8464
+ 22555589.3084 -15965391.73749 -12413847.99047 22555588.3694 22555594.9224
+ 1970.4794 1535.4394
+ 24410500.0134 -4510966.36449 -3217087.50645 24410498.5734 24410502.3674
+ -629.7514 -490.7134
+ 23543216.2724 -5367094.85749 -3839250.13646 23543215.7994 23543222.9894
+ 857.7544 668.3854
+ 23357762.2914 -4601830.81449 -3572764.84846 23357761.7284 23357768.1714
+ 2105.7774 1640.8604
+ 21426119.1274 -18080503.03549 -13635207.09648 21426118.6574 21426125.7254
+ -1676.2084 -1306.1404
+ 05 1 20 20 57 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22493786.5534 -14104238.18349 -10945623.75646 22493785.4884 22493793.7314
+ -2509.5174 -1955.4664
+ 22286371.9334 -5172679.46049 -4018591.30847 22286371.5614 22286379.6214
+ 3357.4364 2616.1744
+ 20737768.0204 -22329425.14049 -17381651.61248 20737767.7644 20737773.9264
+ -1424.3874 -1109.9094
+ 20619885.6384 -26051681.37549 -20286551.67648 20619885.2844 20619889.5204
+ 1072.7104 835.8834
+ 22045525.9054 -9424757.22849 -7322219.59147 22045524.9164 22045531.4154
+ 158.7574 123.7104
+ 22544353.7124 -16024428.29349 -12459850.44047 22544353.4404 22544360.8084
+ 1965.2024 1531.3224
+ 24414144.2094 -4491804.28049 -3202155.97345 24414143.3884 24414148.3224
+ -647.7044 -504.7014
+ 23538369.4604 -5392564.20349 -3859096.33546 23538369.3424 23538376.1844
+ 840.1784 654.6774
+ 23345784.7764 -4664761.07249 -3621801.35646 23345785.4834 23345792.6214
+ 2089.6244 1628.2774
+ 21435702.9594 -18030141.83649 -13595964.59548 21435702.3614 21435708.9304
+ -1681.2114 -1310.0354
+ 05 1 20 20 58 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22508140.4464 -14028806.62049 -10886845.96946 22508139.7624 22508147.3374
+ -2519.1664 -1962.9854
+ 22267234.9234 -5273246.02449 -4096954.77347 22267233.8534 22267241.9314
+ 3347.0014 2608.0504
+ 20745920.0104 -22286585.58249 -17348270.13548 20745919.8064 20745925.8824
+ -1431.5174 -1115.4674
+ 20613789.4574 -26083716.38549 -20311514.00248 20613789.4044 20613793.3384
+ 1062.9414 828.2684
+ 22044674.1394 -9429228.61349 -7325703.76647 22044673.5264 22044680.1534
+ 139.3294 108.5724
+ 22533149.7674 -16083305.18949 -12505728.47047 22533149.0694 22533156.6804
+ 1959.8834 1527.1784
+ 24417896.6964 -4472103.78449 -3186804.91345 24417895.4954 24417899.6424
+ -665.7074 -518.7354
+ 23533623.9044 -5417505.79149 -3878531.31146 23533623.2414 23533629.3934
+ 822.5504 640.9374
+ 23333902.8954 -4727206.73749 -3670460.26546 23333903.1874 23333909.7854
+ 2073.4054 1615.6414
+ 21445314.2974 -17979631.07949 -13556605.55748 21445313.9744 21445321.2244
+ -1686.1784 -1313.9024
+ 05 1 20 20 58 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22522549.5124 -13953085.82949 -10827842.77546 22522548.8914 22522556.9924
+ -2528.8054 -1970.4924
+ 22248156.5404 -5373498.63449 -4175073.60247 22248156.6614 22248163.9704
+ 3336.5004 2599.8604
+ 20754112.4894 -22243532.55549 -17314722.31148 20754112.5604 20754118.3584
+ -1438.6284 -1121.0114
+ 20607749.2614 -26115457.71849 -20336247.48348 20607749.1574 20607753.0944
+ 1053.1304 820.6154
+ 22043934.3384 -9433117.18149 -7328733.79047 22043933.8314 22043940.2534
+ 119.8834 93.4094
+ 22521976.9334 -16142022.56049 -12551482.20947 22521976.0844 22521983.0574
+ 1954.5334 1523.0094
+ 24421746.5754 -4451865.12449 -3171034.49645 24421746.9384 24421747.4624
+ -683.6114 -532.6854
+ 23528978.3754 -5441918.20049 -3897553.91146 23528978.1844 23528984.6264
+ 804.8914 627.1914
+ 23322110.8164 -4789166.04349 -3718740.19546 23322112.5654 23322118.8604
+ 2057.2344 1603.0484
+ 21454954.2224 -17928971.70749 -13517130.72548 21454954.0744 21454961.0344
+ -1691.1414 -1317.7764
+ 05 1 20 20 59 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22537014.3804 -13877076.60449 -10768614.85146 22537013.4104 22537020.8044
+ -2538.4034 -1977.9754
+ 22229139.8694 -5473435.14249 -4252946.13547 22229138.9424 22229147.2704
+ 3325.9204 2591.6264
+ 20762345.9354 -22200267.06149 -17281008.93248 20762345.5374 20762351.2934
+ -1445.7064 -1126.5204
+ 20601765.1904 -26146905.23749 -20360752.02248 20601764.8234 20601768.7154
+ 1043.3274 812.9824
+ 22043305.7134 -9436423.09749 -7331309.81547 22043304.8694 22043310.6164
+ 100.4734 78.2954
+ 22510833.2624 -16200580.45649 -12597111.68847 22510832.1824 22510840.1854
+ 1949.2354 1518.8834
+ 24425701.2364 -4431088.57549 -3154844.94345 24425699.2004 24425705.0094
+ -701.5614 -546.6574
+ 23524432.6044 -5465799.59449 -3916162.74846 23524433.0604 23524438.6754
+ 787.2014 613.3984
+ 23310416.2014 -4850636.98749 -3766639.60846 23310414.7124 23310420.8454
+ 2040.8974 1590.3084
+ 21464623.4334 -17878164.51949 -13477540.70348 21464622.7884 21464629.4924
+ -1696.0484 -1321.5954
+ 05 1 20 20 59 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22551531.9864 -13800779.85449 -10709162.85946 22551532.1244 22551539.2884
+ -2547.9644 -1985.4234
+ 22210182.4834 -5573053.28349 -4330570.54947 22210182.1404 22210190.3164
+ 3315.2594 2583.3094
+ 20770618.6594 -22156789.89749 -17247130.62248 20770619.0834 20770624.7304
+ -1452.7034 -1131.9774
+ 20595837.6794 -26178059.19849 -20385027.82048 20595836.8144 20595840.3174
+ 1033.5614 805.3704
+ 22042786.6414 -9439146.40749 -7333431.84747 22042786.3854 22042793.5604
+ 81.0804 63.1784
+ 22499718.4974 -16258979.06449 -12642617.03747 22499718.7534 22499726.3444
+ 1943.9084 1514.7294
+ 24429752.0824 -4409774.23249 -3138236.41045 24429753.4244 24429757.5264
+ -719.5154 -560.6624
+ 23519991.4084 -5489148.41649 -3934356.57246 23519991.4664 23519997.7524
+ 769.3874 599.5204
+ 23298811.9414 -4911617.49949 -3814156.84146 23298811.0914 23298817.9064
+ 2024.5534 1577.5754
+ 21474319.1384 -17827210.46949 -13437836.24248 21474318.8414 21474325.7874
+ -1700.9124 -1325.3844
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 21 0 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22566105.7474 -13724196.16849 -10649487.29546 22566104.9584 22566112.4334
+ -2557.5474 -1992.8994
+ 22191288.3374 -5672350.72149 -4407945.08147 22191287.0954 22191294.3154
+ 3304.5584 2574.9814
+ 20778932.3784 -22113102.39649 -17213088.40748 20778932.5244 20778937.7104
+ -1459.7344 -1137.4584
+ 20589964.0204 -26208919.60049 -20409074.86348 20589963.8204 20589967.6984
+ 1023.7824 797.7484
+ 22042379.6834 -9441287.28349 -7335100.04447 22042379.1204 22042385.5544
+ 61.6584 48.0474
+ 22488637.6954 -16317218.26149 -12687998.18247 22488637.5574 22488644.2024
+ 1938.6144 1510.6044
+ 24433915.2864 -4387922.61849 -3121209.15645 24433914.4184 24433917.0454
+ -737.3184 -574.5374
+ 23515649.4814 -5511963.13549 -3952134.24546 23515649.1184 23515654.5834
+ 751.5654 585.6504
+ 23287299.3384 -4972105.57249 -3861290.36646 23287299.4474 23287306.4734
+ 2008.0824 1564.7384
+ 21484042.1374 -17776110.41249 -13398018.01147 21484042.4754 21484049.5884
+ -1705.7614 -1329.1654
+ 05 1 20 21 0 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22580735.2424 -13647326.45449 -10589588.83746 22580733.5314 22580740.8794
+ -2567.0504 -2000.2934
+ 22172453.4184 -5771324.92349 -4485067.74647 22172452.5744 22172459.7454
+ 3293.7504 2566.5614
+ 20787285.6424 -22069205.30649 -17178882.87548 20787285.7634 20787291.3924
+ -1466.6804 -1142.8674
+ 20584147.5274 -26239486.32849 -20432893.07748 20584147.4034 20584151.0224
+ 1013.9874 790.1224
+ 22042081.8304 -9442846.22749 -7336314.78547 22042081.9074 22042088.6444
+ 42.2514 32.9224
+ 22477586.4744 -16375298.13249 -12733255.17447 22477585.0644 22477592.0024
+ 1933.3354 1506.4984
+ 24438173.5274 -4365534.04549 -3103763.47045 24438174.3884 24438178.4404
+ -755.1924 -588.4574
+ 23511410.0634 -5534241.92449 -3969494.31846 23511409.8494 23511416.0314
+ 733.6924 571.7214
+ 23275884.1524 -5032099.32649 -3908038.70346 23275883.6874 23275890.9224
+ 1991.5684 1551.8714
+ 21493794.7094 -17724865.34549 -13358086.78247 21493794.2674 21493800.9094
+ -1710.5854 -1332.9184
+ 05 1 20 21 1 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22595415.4124 -13570171.41949 -10529468.06346 22595414.9964 22595422.9694
+ -2576.5464 -2007.7024
+ 22153681.2304 -5869973.49449 -4561936.67047 22153680.8364 22153687.4724
+ 3282.8514 2558.0564
+ 20795678.8414 -22025099.91149 -17144515.03548 20795678.9944 20795684.4914
+ -1473.6194 -1148.2794
+ 20578386.7424 -26269759.66449 -20456482.67248 20578386.4244 20578390.2794
+ 1004.2124 782.5034
+ 22041896.3984 -9443823.63349 -7337076.37647 22041895.6594 22041903.2384
+ 22.8874 17.8354
+ 22466563.1704 -16433218.88549 -12778388.18947 22466562.7104 22466569.7754
+ 1928.0044 1502.3344
+ 24442537.0244 -4342608.77249 -3085899.63845 24442535.2794 24442541.3684
+ -773.1924 -602.4784
+ 23507272.1074 -5555983.39349 -3986435.67946 23507272.3714 23507277.5084
+ 715.7534 557.7434
+ 23264559.7654 -5091596.77449 -3954400.29946 23264561.0744 23264568.7804
+ 1974.9884 1538.9564
+ 21503574.0534 -17673476.09549 -13318043.19747 21503573.4314 21503580.0344
+ -1715.3904 -1336.6674
+ 05 1 20 21 1 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22610152.1324 -13492731.92149 -10469125.62746 22610151.8944 22610159.5224
+ -2585.9684 -2015.0324
+ 22134972.3974 -5968294.22149 -4638550.11647 22134970.8394 22134977.9764
+ 3271.8304 2549.4714
+ 20804111.0684 -21980786.99649 -17109985.48248 20804111.3524 20804116.7174
+ -1480.5244 -1153.6564
+ 20572681.5384 -26299739.75149 -20479843.77148 20572681.4524 20572685.2894
+ 994.4274 774.8774
+ 22041820.6574 -9444219.50449 -7337384.83147 22041820.8494 22041826.9254
+ 3.5054 2.7364
+ 22455571.4224 -16490980.59549 -12823397.27147 22455571.1784 22455578.2084
+ 1922.6934 1498.1964
+ 24447001.1684 -4319147.31149 -3067617.97545 24447001.3794 24447002.9364
+ -791.0034 -616.3704
+ 23503238.5264 -5577186.09549 -4002957.22546 23503237.9704 23503243.3094
+ 697.7514 543.7004
+ 23253335.4084 -5150596.11849 -4000373.74646 23253334.9934 23253340.9694
+ 1958.3494 1525.9854
+ 21513380.0034 -17621943.40949 -13277887.85547 21513379.7534 21513386.0914
+ -1720.1204 -1340.3574
+ 05 1 20 21 2 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22624942.5844 -13415008.76349 -10408562.13246 22624942.3054 22624949.6914
+ -2595.4644 -2022.4444
+ 22116324.4664 -6066285.02349 -4714906.49647 22116323.3964 22116330.7554
+ 3260.8414 2540.9134
+ 20812582.7694 -21936267.69649 -17075295.10948 20812582.8674 20812588.8574
+ -1487.3784 -1158.9994
+ 20567032.8274 -26329426.39249 -20502976.19748 20567032.1424 20567035.9904
+ 984.6474 767.2534
+ 22041856.7684 -9444034.15949 -7337240.39647 22041856.3434 22041862.7494
+ -15.8654 -12.3644
+ 22444610.5544 -16548583.21449 -12868282.38247 22444610.0824 22444616.4684
+ 1917.4234 1494.0954
+ 24451570.4564 -4295149.92449 -3048918.74645 24451569.6774 24451572.5354
+ -808.8414 -630.2634
+ 23499304.9584 -5597848.57649 -4019057.81846 23499303.8494 23499311.8484
+ 679.7214 529.6454
+ 23242202.4974 -5209095.39949 -4045957.53446 23242202.5404 23242208.5444
+ 1941.6474 1512.9674
+ 21523213.6164 -17570268.18949 -13237621.43547 21523213.2034 21523219.9284
+ -1724.8594 -1344.0514
+ 05 1 20 21 2 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22639786.0474 -13337002.84049 -10347778.29646 22639785.7024 22639794.0004
+ -2604.8474 -2029.7634
+ 22097738.6614 -6163943.58949 -4791003.98047 22097738.7524 22097746.5474
+ 3249.7034 2532.2334
+ 20821094.0224 -21891542.84049 -17040444.57048 20821094.2684 20821099.5474
+ -1494.2124 -1164.3224
+ 20561439.1294 -26358819.70249 -20525880.06448 20561439.2124 20561442.5454
+ 974.8894 759.6514
+ 22042002.1664 -9443267.93449 -7336643.31647 22042001.9994 22042008.9434
+ -35.2554 -27.4754
+ 22433678.9834 -16606026.85449 -12913043.61947 22433678.6954 22433685.4764
+ 1912.1104 1489.9484
+ 24456236.9674 -4270617.15149 -3029802.32445 24456236.2724 24456240.6034
+ -826.6274 -644.1274
+ 23495476.8994 -5617969.12449 -4034736.12146 23495476.8124 23495482.4424
+ 661.6314 515.5534
+ 23231163.9544 -5267092.82249 -4091150.25046 23231166.0474 23231171.7224
+ 1924.8674 1499.9024
+ 21533074.9144 -17518451.30049 -13197244.63547 21533074.2384 21533080.1714
+ -1729.5814 -1347.7274
+ 05 1 20 21 3 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22654683.8274 -13258714.77949 -10286774.66446 22654683.3704 22654691.6524
+ -2614.2544 -2037.0804
+ 22079220.7324 -6261267.49449 -4866840.69647 22079219.4434 22079226.9744
+ 3238.5134 2523.5144
+ 20829643.5494 -21846613.71249 -17005434.85348 20829643.4914 20829649.3234
+ -1501.0114 -1169.6204
+ 20555901.9734 -26387919.99149 -20548555.58948 20555901.3554 20555904.9114
+ 965.1044 752.0264
+ 22042258.7624 -9441921.06849 -7335593.80247 22042258.3064 22042264.3504
+ -54.5604 -42.5164
+ 22422778.9754 -16663311.50849 -12957680.96647 22422777.8324 22422785.0354
+ 1906.8304 1485.8424
+ 24461005.0504 -4245549.42049 -3010268.99445 24461004.9594 24461009.9664
+ -844.4884 -658.0474
+ 23491752.1174 -5637546.30049 -4049991.04346 23491752.6864 23491757.1154
+ 643.4814 501.4164
+ 23220225.9464 -5324586.38549 -4135950.37446 23220225.1374 23220230.9564
+ 1908.0434 1486.7904
+ 21542960.8304 -17466493.65049 -13156758.14247 21542960.7014 21542967.3054
+ -1734.2614 -1351.3784
+ 05 1 20 21 3 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22669636.2714 -13180145.69649 -10225552.00946 22669635.3624 22669642.0774
+ -2623.5834 -2044.3484
+ 22060763.9464 -6358254.59649 -4942414.95647 22060763.1064 22060770.5024
+ 3227.2754 2514.7604
+ 20838232.5444 -21801481.00549 -16970266.49948 20838232.2944 20838237.6844
+ -1507.7684 -1174.8824
+ 20550419.8324 -26416726.95149 -20571002.55448 20550419.6374 20550423.3784
+ 955.3384 744.4224
+ 22042625.2044 -9439994.09249 -7334092.24747 22042624.8104 22042631.5714
+ -73.8824 -57.5654
+ 22411906.9834 -16720437.32149 -13002194.52947 22411906.9214 22411914.5354
+ 1901.5344 1481.7154
+ 24465880.5644 -4219947.18149 -2990319.23645 24465879.3544 24465883.3464
+ -862.3084 -671.9174
+ 23488128.5914 -5656578.67649 -4064821.44946 23488128.8154 23488135.0814
+ 625.3084 487.2804
+ 23209382.2444 -5381574.34349 -4180356.50146 23209381.3964 23209386.5464
+ 1891.1534 1473.6284
+ 21552875.0404 -17414396.09449 -13116162.64347 21552874.4544 21552881.3424
+ -1738.9144 -1354.9954
+ 05 1 20 21 4 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22684639.8614 -13101296.18649 -10164110.83346 22684639.2694 22684646.7874
+ -2632.9374 -2051.6294
+ 22042371.1024 -6454902.74349 -5017725.10447 22042371.2944 22042378.4424
+ 3215.9394 2505.9214
+ 20846859.0294 -21756145.92749 -16934940.45748 20846859.0024 20846864.2434
+ -1514.4854 -1180.1184
+ 20544993.7134 -26445241.00749 -20593221.28548 20544993.4264 20544997.0064
+ 945.5774 736.8124
+ 22043102.8814 -9437487.56249 -7332139.10047 22043101.9064 22043108.6974
+ -93.2404 -72.6604
+ 22401066.4424 -16777404.40449 -13046584.42547 22401066.4004 22401073.6084
+ 1896.2244 1477.5724
+ 24470853.8994 -4193810.96948 -2969953.41745 24470851.0514 24470856.9754
+ -879.9394 -685.6554
+ 23484612.3034 -5675064.93549 -4079226.29146 23484612.1464 23484617.2334
+ 607.1064 473.0434
+ 23198630.5694 -5438054.77049 -4224367.17546 23198632.7464 23198638.5494
+ 1874.2304 1460.4374
+ 21562815.4994 -17362159.39649 -13075458.71947 21562814.9394 21562821.6414
+ -1743.5334 -1358.5984
+ 05 1 20 21 4 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22699698.4604 -13022167.24349 -10102451.95746 22699698.2584 22699703.9524
+ -2642.2474 -2058.8964
+ 22024045.3594 -6551209.37449 -5092769.14347 22024044.8634 22024052.5204
+ 3204.5104 2497.0274
+ 20855523.5754 -21710609.51049 -16899457.53248 20855524.0914 20855530.0504
+ -1521.2144 -1185.3574
+ 20539623.4554 -26473461.86449 -20615211.54648 20539623.2254 20539626.7674
+ 935.8004 729.1984
+ 22043688.7164 -9434402.05749 -7329734.79047 22043688.7944 22043695.1964
+ -112.4254 -87.6054
+ 22390257.0814 -16834212.72149 -13090850.61147 22390256.4614 22390263.2024
+ 1890.9144 1473.4374
+ 24475930.9224 -4167141.25249 -2949171.91745 24475928.3144 24475931.0604
+ -897.8684 -699.6434
+ 23481198.1904 -5693003.76549 -4093204.56546 23481198.7224 23481203.8734
+ 588.8464 458.8634
+ 23187981.2234 -5494025.97249 -4267981.01946 23187981.8704 23187988.6614
+ 1857.2594 1447.2114
+ 21572782.2474 -17309784.29749 -13034646.94847 21572781.5514 21572788.1214
+ -1748.1514 -1362.1894
+ 05 1 20 21 5 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22714809.5384 -12942759.77749 -10040576.02946 22714808.0534 22714816.1014
+ -2651.4864 -2066.0884
+ 22005785.1324 -6647172.47349 -5167545.48747 22005784.1654 22005790.2294
+ 3193.0094 2488.0524
+ 20864227.8844 -21664872.39549 -16863818.21148 20864228.0734 20864233.8494
+ -1527.8814 -1190.5624
+ 20534308.3244 -26501389.81949 -20636973.57148 20534308.6614 20534312.5294
+ 926.0394 721.5854
+ 22044388.1334 -9430737.60549 -7326879.36447 22044386.9364 22044393.3354
+ -131.8024 -102.7124
+ 22379477.1334 -16890862.47449 -13134993.22347 22379476.3954 22379483.2014
+ 1885.6354 1469.3234
+ 24481102.9324 -4139938.57448 -2927975.04144 24481104.0084 24481106.6634
+ -915.6494 -713.4844
+ 23477889.8654 -5710393.66449 -4106755.12646 23477889.2384 23477895.1814
+ 570.5174 444.5554
+ 23177428.6334 -5549486.05849 -4311196.59946 23177428.3114 23177434.2784
+ 1840.1734 1433.8874
+ 21582774.5724 -17257271.32749 -12993727.74647 21582774.8894 21582780.8954
+ -1752.7294 -1365.7654
+ 05 1 20 21 5 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22729972.3444 -12863074.62149 -9978483.72546 22729971.6184 22729979.2564
+ -2660.7444 -2073.3074
+ 21987589.1904 -6742789.73349 -5242052.36447 21987588.1094 21987595.0554
+ 3181.4384 2479.0394
+ 20872969.5674 -21618935.71249 -16828023.38948 20872969.4164 20872975.1494
+ -1534.5224 -1195.7284
+ 20529050.1084 -26529024.74449 -20658507.26148 20529049.9404 20529053.5724
+ 916.2574 713.9704
+ 22045194.5784 -9426494.87349 -7323573.33547 22045194.0064 22045199.7594
+ -151.0784 -117.7164
+ 22368726.4474 -16947353.61649 -13179012.24947 22368725.3044 22368733.2294
+ 1880.3844 1465.2374
+ 24486384.1144 -4112203.64149 -2906363.38445 24486383.5514 24486385.9924
+ -933.5384 -727.4284
+ 23474684.0024 -5727233.25149 -4119876.83046 23474684.3374 23474689.1974
+ 552.1034 430.2094
+ 23166970.7054 -5604433.41349 -4354012.69246 23166971.5814 23166977.8064
+ 1823.0444 1420.5534
+ 21592793.8694 -17204621.72049 -12952702.06647 21592793.8454 21592800.2644
+ -1757.2754 -1369.3024
+ 05 1 20 21 6 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22745187.6754 -12783112.55549 -9916175.66146 22745188.0984 22745195.6974
+ -2669.9554 -2080.4774
+ 21969460.2254 -6838058.97849 -5316288.04347 21969458.9034 21969466.5184
+ 3169.8134 2469.9824
+ 20881748.0644 -21572800.62849 -16792073.96948 20881748.3714 20881754.3424
+ -1541.1044 -1200.8584
+ 20523847.7674 -26556366.90649 -20679812.82148 20523846.9244 20523850.6404
+ 906.5214 706.3794
+ 22046111.4324 -9421674.54949 -7319817.24247 22046111.1244 22046117.4764
+ -170.3364 -132.7234
+ 22358006.5784 -17003686.34549 -13222907.84547 22358006.1514 22358013.3334
+ 1875.0884 1461.1094
+ 24491763.4664 -4083936.93449 -2884337.31245 24491759.8434 24491764.2854
+ -951.1254 -741.1334
+ 23471585.0694 -5743521.06749 -4132568.60046 23471584.1294 23471590.3204
+ 533.7224 415.8854
+ 23156614.9424 -5658866.07649 -4396427.72446 23156613.3984 23156619.1524
+ 1805.8304 1407.1394
+ 21602838.3524 -17151835.96849 -12911570.31947 21602838.1554 21602845.2834
+ -1761.8074 -1372.8374
+ 05 1 20 21 6 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22760458.8404 -12702874.57549 -9853652.57646 22760456.7974 22760464.7474
+ -2679.1284 -2087.6284
+ 21951396.7934 -6932977.93449 -5390250.77447 21951396.1524 21951403.0644
+ 3158.1164 2460.8624
+ 20890564.8684 -21526467.86449 -16755970.51648 20890565.3614 20890570.8624
+ -1547.6494 -1205.9584
+ 20518700.1514 -26583416.22849 -20700890.20348 20518699.8764 20518703.3554
+ 896.7634 698.7774
+ 22047138.5424 -9416276.97649 -7315611.31547 22047137.7354 22047144.8154
+ -189.5344 -147.6864
+ 22347316.8124 -17059860.73249 -13266680.06147 22347316.7754 22347323.3694
+ 1869.8244 1457.0084
+ 24497242.2634 -4055138.89349 -2861897.29045 24497239.7804 24497244.9864
+ -968.7404 -754.8544
+ 23468588.8284 -5759256.07349 -4144829.64646 23468590.0774 23468596.3704
+ 515.3034 401.5404
+ 23146353.8524 -5712782.45449 -4438440.42846 23146353.0564 23146360.1794
+ 1788.6234 1393.7414
+ 21612909.0844 -17098914.89949 -12870333.13147 21612908.5784 21612915.3474
+ -1766.2814 -1376.3224
+ 05 1 20 21 7 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22775778.3224 -12622361.62049 -9790915.21646 22775778.2094 22775785.9984
+ -2688.2684 -2094.7484
+ 21933401.4304 -7027544.40549 -5463938.84947 21933400.9044 21933408.1134
+ 3146.3134 2451.6654
+ 20899419.2814 -21479938.50549 -16719713.86648 20899419.5784 20899424.9954
+ -1554.2074 -1211.0764
+ 20513608.5434 -26610172.75649 -20721739.42748 20513608.0604 20513611.6164
+ 886.9884 691.1554
+ 22048275.7614 -9410303.13449 -7310956.37147 22048275.2564 22048281.2024
+ -208.7334 -162.6544
+ 22336658.0354 -17115876.73649 -13310328.85447 22336657.2864 22336664.1464
+ 1864.5334 1452.8774
+ 24502821.5374 -4025810.27549 -2839043.81245 24502821.5614 24502824.1414
+ -986.4044 -768.6304
+ 23465700.9284 -5774436.99749 -4156658.88846 23465701.1514 23465706.9764
+ 496.7794 387.0964
+ 23136190.9554 -5766180.72649 -4480049.41946 23136192.5184 23136199.2034
+ 1771.3074 1380.2384
+ 21623005.6614 -17045859.46649 -12828991.23347 21623005.2024 21623011.6254
+ -1770.7354 -1379.7974
+ 05 1 20 21 7 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22791151.4624 -12541574.66749 -9727964.36946 22791151.1074 22791158.8914
+ -2697.4094 -2101.8754
+ 21915472.9594 -7121756.31749 -5537350.64447 21915472.7694 21915479.8164
+ 3134.4664 2442.4364
+ 20908311.3874 -21433213.49849 -16683304.76348 20908311.1104 20908316.7354
+ -1560.7054 -1216.1374
+ 20508572.2454 -26636636.50949 -20742360.51848 20508572.2374 20508575.6994
+ 877.2384 683.5594
+ 22049521.2064 -9403753.34149 -7305852.61847 22049520.8034 22049528.0684
+ -227.9134 -177.5964
+ 22326028.1334 -17171734.35549 -13353854.22447 22326027.8234 22326034.7344
+ 1859.2514 1448.7594
+ 24508502.9314 -3995951.83748 -2815777.48045 24508503.1814 24508508.3874
+ -1004.0624 -782.3804
+ 23462917.6184 -5789062.49549 -4168055.36446 23462918.8834 23462923.5094
+ 478.2084 372.6354
+ 23126129.5874 -5819059.25649 -4521253.42746 23126130.1624 23126135.9004
+ 1753.9414 1366.6974
+ 21633127.0124 -16992670.36149 -12787545.17647 21633126.7964 21633133.1004
+ -1775.1814 -1383.2604
+ 05 1 20 21 8 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22806577.6344 -12460514.41549 -9664800.56646 22806576.7854 22806583.9634
+ -2706.5064 -2108.9574
+ 21897614.0374 -7215611.53349 -5610484.47747 21897612.6654 21897619.8134
+ 3122.5414 2433.1474
+ 20917239.1654 -21386293.55849 -16646743.77348 20917239.7804 20917245.2724
+ -1567.1924 -1221.1904
+ 20503592.4544 -26662807.85649 -20762753.75748 20503591.9154 20503595.4594
+ 867.4834 675.9634
+ 22050879.0984 -9396628.01349 -7300300.39947 22050877.7594 22050883.3034
+ -247.1024 -192.5464
+ 22315429.4904 -17227433.95449 -13397256.48147 22315428.8574 22315435.0244
+ 1853.9624 1444.6504
+ 24514285.6154 -3965564.04548 -2792098.73945 24514286.0694 24514290.0804
+ -1021.6894 -796.1174
+ 23460240.5624 -5803131.32749 -4179018.07946 23460241.5404 23460246.1124
+ 459.6994 358.1894
+ 23116167.1414 -5871416.31649 -4562051.06646 23116166.6354 23116172.1474
+ 1736.5464 1353.1464
+ 21643273.2744 -16939348.36349 -12745995.57447 21643273.4234 21643280.0504
+ -1779.6074 -1386.7094
+ 05 1 20 21 8 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22822055.3744 -12379181.97049 -9601424.65446 22822054.4194 22822061.3184
+ -2715.5434 -2116.0044
+ 21879821.8424 -7309107.78149 -5683338.62447 21879821.3554 21879827.9164
+ 3110.5294 2423.7814
+ 20926204.6114 -21339179.95249 -16610031.87248 20926205.1674 20926210.5514
+ -1573.6514 -1226.2224
+ 20498667.5934 -26688686.66049 -20782919.04348 20498667.3024 20498671.0684
+ 857.7394 668.3694
+ 22052342.7854 -9388928.03849 -7294300.42447 22052342.3254 22052349.0014
+ -266.2254 -207.4504
+ 22304859.3684 -17282975.30249 -13440535.40547 22304858.7494 22304866.1374
+ 1848.7324 1440.5674
+ 24520169.9254 -3934647.73148 -2768008.07645 24520170.2874 24520171.9244
+ -1039.4164 -809.9374
+ 23457670.6284 -5816642.19649 -4189546.01346 23457670.4094 23457674.9254
+ 441.0744 343.7054
+ 23106304.1404 -5923250.22849 -4602441.06446 23106302.7194 23106308.8804
+ 1719.0684 1339.5254
+ 21653445.7554 -16885894.40049 -12704343.13347 21653445.4544 21653451.6654
+ -1784.0074 -1390.1404
+ 05 1 20 21 9 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22837583.8254 -12297578.20049 -9537837.33446 22837583.3694 22837590.0234
+ -2724.6134 -2123.0634
+ 21862098.2524 -7402242.79649 -5755911.27147 21862097.9334 21862105.5724
+ 3098.4434 2414.3654
+ 20935207.6044 -21291873.51449 -16573169.70048 20935207.4684 20935212.8904
+ -1580.0714 -1231.2264
+ 20493798.7284 -26714273.01249 -20802856.44248 20493798.0714 20493802.1114
+ 848.0124 660.7854
+ 22053918.6294 -9380653.96549 -7287853.08847 22053917.4864 22053923.3484
+ -285.3634 -222.3634
+ 22294320.0464 -17338358.65049 -13483691.23247 22294319.9644 22294327.0694
+ 1843.4194 1436.4284
+ 24526153.5954 -3903203.66548 -2743506.18245 24526151.7834 24526155.7764
+ -1056.9494 -823.5944
+ 23455205.1574 -5829593.89849 -4199638.20246 23455204.7424 23455210.8414
+ 422.4194 329.1564
+ 23096538.3794 -5974559.45749 -4642422.26146 23096539.5244 23096545.1834
+ 1701.5954 1325.8974
+ 21663642.3974 -16832309.08849 -12662588.33847 21663641.9324 21663648.9464
+ -1788.3694 -1393.5354
+ 05 1 20 21 9 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22853164.6714 -12215704.07649 -9474039.36146 22853162.9944 22853169.6774
+ -2733.6004 -2130.0714
+ 21844444.7074 -7495014.48349 -5828200.81647 21844444.4944 21844450.6884
+ 3086.3084 2404.9174
+ 20944245.5894 -21244375.03849 -16536157.90148 20944245.7264 20944251.8624
+ -1586.4534 -1236.1924
+ 20488984.9154 -26739566.97549 -20822566.01348 20488984.8324 20488988.8114
+ 838.2534 653.1904
+ 22055601.4204 -9371806.50449 -7280958.95647 22055600.6434 22055606.7664
+ -304.4744 -237.2484
+ 22283811.8034 -17393584.05149 -13526723.98447 22283811.4484 22283817.9944
+ 1838.1734 1432.3374
+ 24532238.3414 -3871232.57449 -2718593.62745 24532236.7464 24532239.8924
+ -1074.4184 -837.2044
+ 23452847.5024 -5841985.68849 -4209294.10346 23452846.9624 23452852.7994
+ 403.7334 314.6034
+ 23086875.1124 -6025342.29249 -4681993.24246 23086876.0014 23086881.2104
+ 1684.0014 1312.2034
+ 21673863.8684 -16778593.35349 -12620731.92247 21673863.7814 21673870.2034
+ -1792.7054 -1396.9124
+ 05 1 20 21 10 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22868795.7214 -12133560.66749 -9410031.51946 22868794.3104 22868800.6814
+ -2742.5344 -2137.0474
+ 21826860.0394 -7587420.71749 -5900205.59547 21826858.9694 21826866.4064
+ 3074.1014 2395.3984
+ 20953320.7214 -21196685.55049 -16498997.25648 20953320.9224 20953326.5854
+ -1592.7944 -1241.1364
+ 20484227.7534 -26764568.55049 -20842047.75148 20484227.1254 20484230.9944
+ 828.5134 645.5944
+ 22057392.7884 -9362386.59349 -7273618.75647 22057393.5114 22057399.9114
+ -323.5264 -252.0954
+ 22273333.0364 -17448651.51649 -13569633.65747 22273332.4554 22273339.1434
+ 1832.8814 1428.2214
+ 24538420.3154 -3838734.87558 -2693270.81154 24538416.4704 24538428.1964
+ -1092.0564 -850.9454
+ 23450595.3404 -5853816.18149 -4218512.66746 23450596.0974 23450601.1924
+ 384.9954 300.0074
+ 23077310.2854 -6075597.12949 -4721152.81646 23077312.1074 23077317.5834
+ 1666.3584 1298.4584
+ 21684110.7904 -16724747.72649 -12578774.28947 21684110.2924 21684117.2484
+ -1797.0244 -1400.2794
+ 05 1 20 21 10 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22884476.0664 -12051148.81549 -9345814.52346 22884476.0174 22884483.9194
+ -2751.4554 -2143.9874
+ 21809346.0324 -7679459.49049 -5971924.04647 21809345.6894 21809352.1784
+ 3061.8094 2385.8234
+ 20962431.4694 -21148805.88449 -16461688.42548 20962432.0694 20962437.8604
+ -1599.1024 -1246.0554
+ 20479525.7874 -26789277.76349 -20861301.67648 20479525.3124 20479528.9454
+ 818.7474 637.9814
+ 22059295.4984 -9352394.84949 -7265832.97347 22059294.8994 22059300.8784
+ -342.5954 -266.9604
+ 22262883.6244 -17503561.10649 -13612420.31647 22262883.0784 22262889.8044
+ 1827.6994 1424.1794
+ 24544705.5024 -3805711.83149 -2667538.65445 24544701.7704 24544704.0124
+ -1109.4724 -864.5264
+ 23448451.6874 -5865084.21049 -4227292.90546 23448451.1634 23448457.2604
+ 366.2194 285.3684
+ 23067849.1944 -6125322.41049 -4759899.75046 23067849.0594 23067855.5484
+ 1648.7274 1284.7324
+ 21694381.5614 -16670772.87549 -12536715.97047 21694381.8834 21694388.0954
+ -1801.3164 -1403.6314
+ 05 1 20 21 11 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22900210.0244 -11968469.63349 -9281389.20646 22900209.1894 22900216.3234
+ -2760.3894 -2150.9574
+ 21791902.2714 -7771128.53249 -6043354.38847 21791900.7264 21791908.6114
+ 3049.4564 2376.1934
+ 20971578.8254 -21100737.05249 -16424232.18648 20971579.1204 20971584.7464
+ -1605.4244 -1250.9784
+ 20474878.7854 -26813694.87249 -20880327.98448 20474878.6904 20474882.4224
+ 809.0244 630.4114
+ 22061305.2384 -9341831.90749 -7257602.09947 22061304.8854 22061310.5694
+ -361.6254 -281.7814
+ 22252464.6624 -17558313.00649 -13655084.09447 22252464.1714 22252470.8904
+ 1822.4024 1420.0524
+ 24551091.2574 -3772164.12648 -2641397.44545 24551091.5694 24551094.0794
+ -1127.1494 -878.2974
+ 23446414.8714 -5875788.72249 -4235634.04046 23446414.7044 23446420.4654
+ 347.4484 270.7634
+ 23058488.5254 -6174516.51549 -4798232.75746 23058486.9854 23058493.9394
+ 1631.0034 1270.9124
+ 21704677.5614 -16616669.84849 -12494557.75947 21704676.9374 21704683.4924
+ -1805.5764 -1406.9424
+ 05 1 20 21 11 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22915994.1864 -11885523.99249 -9216756.23646 22915993.1604 22916000.6114
+ -2769.2444 -2157.8574
+ 21774527.8594 -7862425.69549 -6114494.95747 21774527.5744 21774534.6894
+ 3037.0174 2366.5084
+ 20980762.2324 -21052479.94949 -16386629.25148 20980762.1004 20980767.5744
+ -1611.6464 -1255.8264
+ 20470288.4494 -26837819.87649 -20899126.67548 20470288.3934 20470291.7164
+ 799.2924 622.8264
+ 22063423.5814 -9330698.62149 -7248926.81047 22063423.1934 22063429.7174
+ -380.6034 -296.5724
+ 22242075.8304 -17612907.26249 -13697625.04447 22242075.0314 22242082.3654
+ 1817.1744 1415.9834
+ 24557571.1634 -3738092.62658 -2614848.15854 24557571.1144 24557574.5574
+ -1144.2404 -891.6184
+ 23444485.0764 -5885928.66049 -4243535.24146 23444484.7264 23444490.8334
+ 328.5764 256.0274
+ 23049225.5654 -6223177.89149 -4836150.65646 23049227.2294 23049235.4404
+ 1613.1734 1257.0174
+ 21714996.5624 -16562439.25649 -12452300.15947 21714996.4954 21715003.5094
+ -1809.8064 -1410.2374
+ 05 1 20 21 12 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22931828.9594 -11802312.89049 -9151916.46646 22931828.0544 22931835.8034
+ -2778.0964 -2164.7554
+ 21757225.8434 -7953349.00949 -6185344.23847 21757225.6904 21757232.2964
+ 3024.5264 2356.7704
+ 20989980.6834 -21004035.33149 -16348880.19748 20989980.7204 20989986.3744
+ -1617.9144 -1260.7124
+ 20465753.2944 -26861652.93549 -20917697.87848 20465752.8184 20465756.5024
+ 789.5594 615.2354
+ 22065651.0594 -9318996.00249 -7239807.86147 22065650.1874 22065656.1894
+ -399.6024 -311.3814
+ 22231716.7484 -17667343.93949 -13740043.20447 22231716.0054 22231722.8614
+ 1811.9024 1411.8704
+ 24564156.8444 -3703498.04148 -2587891.34144 24564155.0214 24564162.0734
+ -1161.9984 -905.4434
+ 23442663.5464 -5895503.03149 -4250995.74946 23442664.0694 23442669.1334
+ 309.7274 241.3484
+ 23040068.7934 -6271305.00249 -4873652.23246 23040068.8744 23040075.3724
+ 1595.4624 1243.2074
+ 21725340.8904 -16508081.75449 -12409943.65147 21725340.6414 21725347.3274
+ -1814.0194 -1413.5244
+ 05 1 20 21 12 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22947714.1694 -11718837.42149 -9086870.68246 22947713.5924 22947721.6454
+ -2786.9264 -2171.6264
+ 21739995.3324 -8043896.30349 -6255900.49847 21739994.9094 21740001.5154
+ 3011.9304 2346.9564
+ 20999235.3034 -20955404.14149 -16310985.76348 20999235.2654 20999240.6544
+ -1624.1264 -1265.5524
+ 20461273.4524 -26885193.98649 -20936041.54248 20461273.1224 20461276.7344
+ 779.8214 607.6504
+ 22067985.4034 -9306724.50649 -7230245.65047 22067984.8734 22067992.2274
+ -418.5124 -326.1164
+ 22221386.6434 -17721623.10249 -13782338.62347 22221386.9274 22221393.9874
+ 1806.6434 1407.7724
+ 24570838.2974 -3668381.51048 -2560527.87744 24570835.8724 24570842.5114
+ -1179.1364 -918.8074
+ 23440948.6714 -5904510.90049 -4258014.82646 23440948.7834 23440954.4074
+ 290.7934 226.5914
+ 23031016.2714 -6318896.51349 -4910736.49246 23031013.8504 23031019.4464
+ 1577.4654 1229.2024
+ 21735709.1824 -16453598.04849 -12367488.81447 21735708.2654 21735715.3514
+ -1818.2364 -1416.8084
+ 05 1 20 21 13 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22963649.7104 -11635098.57349 -9021619.64346 22963648.2844 22963657.5494
+ -2795.6264 -2178.4134
+ 21722837.2344 -8134065.64849 -6326162.25347 21722836.1504 21722842.7924
+ 2999.3314 2337.1454
+ 21008525.5684 -20906587.49049 -16272946.82148 21008525.2214 21008530.3514
+ -1630.2434 -1270.3164
+ 20456849.7394 -26908442.93749 -20954157.59348 20456849.2084 20456852.7004
+ 770.0874 600.0694
+ 22070430.0304 -9293885.16449 -7220240.94547 22070429.0244 22070435.3334
+ -437.4024 -340.8284
+ 22211089.1924 -17775744.66749 -13824511.22547 22211088.2694 22211095.5264
+ 1801.4684 1403.7424
+ 24577617.6694 -3632743.77358 -2532758.26454 24577617.7804 24577623.1424
+ -1196.7114 -932.5054
+ 23439342.7194 -5912951.34449 -4264591.74846 23439343.0344 23439348.9214
+ 271.8764 211.8414
+ 23022059.1334 -6365950.67449 -4947402.03546 23022059.6604 23022065.7774
+ 1559.4554 1215.1464
+ 21746100.5934 -16398988.63849 -12324936.02847 21746100.1244 21746107.1034
+ -1822.3954 -1420.0434
+ 05 1 20 21 13 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22979632.3134 -11551097.33949 -8956164.15746 22979632.4104 22979640.7164
+ -2804.3744 -2185.2154
+ 21705750.4454 -8223854.91949 -6396127.87147 21705750.0804 21705756.4234
+ 2986.5994 2327.2214
+ 21017848.7974 -20857586.11449 -16234763.92548 21017849.2084 21017855.1164
+ -1636.4044 -1275.1174
+ 20452481.1284 -26931400.07549 -20972046.26048 20452480.6524 20452484.0374
+ 760.3584 592.4894
+ 22072979.2854 -9280479.02649 -7209794.59847 22072979.3574 22072985.6774
+ -456.3034 -355.5574
+ 22200819.4764 -17829709.12449 -13866561.41347 22200819.0224 22200826.5174
+ 1796.1944 1399.6374
+ 24584501.3294 -3596585.62948 -2504582.97644 24584497.6824 24584504.8824
+ -1213.7724 -945.7994
+ 23437845.2234 -5920823.19749 -4270725.62246 23437845.7314 23437851.0764
+ 252.9074 197.0764
+ 23013207.9924 -6412466.11449 -4983647.82046 23013207.9194 23013213.8774
+ 1541.5344 1201.2014
+ 21756516.9454 -16344254.40849 -12282285.98447 21756515.7804 21756522.8244
+ -1826.5504 -1423.2774
+ 05 1 20 21 14 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 22995668.4104 -11466834.71849 -8890504.96846 22995667.0644 22995676.0684
+ -2813.0504 -2191.9774
+ 21688737.1354 -8313261.92049 -6465795.60147 21688736.0064 21688742.9434
+ 2973.8264 2317.2644
+ 21027208.5184 -20808400.90449 -16196437.80048 21027208.7584 21027214.3534
+ -1642.5484 -1279.9064
+ 20448167.7144 -26954065.37349 -20989707.51448 20448167.3174 20448170.7994
+ 750.6334 584.9084
+ 22075638.6034 -9266507.11549 -7198907.36247 22075638.4334 22075645.2494
+ -475.1774 -370.2714
+ 22190580.8734 -17883516.12649 -13908488.92147 22190579.6784 22190586.4604
+ 1790.9304 1395.5324
+ 24591482.5714 -3559908.05349 -2476003.12145 24591480.8524 24591484.8684
+ -1231.2144 -959.3874
+ 23436453.6054 -5928125.52049 -4276415.69646 23436454.5014 23436460.5004
+ 233.9004 182.2734
+ 23004457.7424 -6458441.44049 -5019472.70846 23004458.4884 23004464.3194
+ 1523.5544 1187.1914
+ 21766954.6484 -16289396.10549 -12239539.25847 21766954.9554 21766961.5624
+ -1830.6844 -1426.5074
+ 05 1 20 21 14 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23011752.0784 -11382311.76749 -8824642.98146 23011752.1274 23011758.6684
+ -2821.7624 -2198.7874
+ 21671796.4974 -8402284.77149 -6535163.99547 21671795.4474 21671802.7944
+ 2960.9964 2307.2684
+ 21036603.3404 -20759032.62149 -16157969.00548 21036603.5004 21036609.0814
+ -1648.6334 -1284.6484
+ 20443910.1424 -26976439.02249 -21007141.50948 20443909.6464 20443913.5204
+ 740.9264 577.3474
+ 22078406.0624 -9251970.31649 -7187579.98147 22078404.8604 22078410.2204
+ -493.9774 -384.9134
+ 22180370.8824 -17937165.86849 -13950293.87947 22180370.5164 22180377.4154
+ 1785.6534 1391.4184
+ 24598556.5864 -3522712.00249 -2447019.19345 24598557.1904 24598563.0384
+ -1248.5414 -972.8894
+ 23435174.4144 -5934857.70749 -4281661.51746 23435173.5624 23435179.6254
+ 214.8854 167.4444
+ 22995812.8404 -6503875.17849 -5054875.55446 22995812.1604 22995819.1084
+ 1505.4024 1173.0374
+ 21777417.5404 -16234414.29649 -12196696.28647 21777417.7184 21777424.1554
+ -1834.7704 -1429.6904
+ 05 1 20 21 15 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23027885.2664 -11297529.74949 -8758579.08946 23027884.5234 23027892.6484
+ -2830.3354 -2205.4594
+ 21654928.8054 -8490921.43249 -6604231.47847 21654928.3574 21654935.6494
+ 2948.1314 2297.2484
+ 21046032.2354 -20709482.22749 -16119358.30948 21046032.2254 21046038.3674
+ -1654.6854 -1289.3624
+ 20439707.7284 -26998521.07249 -21024348.29148 20439707.4994 20439711.1434
+ 731.2194 569.7804
+ 22081278.1744 -9236869.39549 -7175813.01747 22081278.2224 22081284.3794
+ -512.7534 -399.5414
+ 22170192.0014 -17990658.41049 -13991976.33547 22170190.9994 22170198.2944
+ 1780.4344 1387.3554
+ 24605734.8274 -3484998.68749 -2417632.16645 24605735.7614 24605735.6864
+ -1265.8314 -986.3534
+ 23434001.0234 -5941018.85749 -4286462.40846 23434001.3104 23434007.6894
+ 195.8724 152.6344
+ 22987270.9024 -6548766.02349 -5089855.42246 22987271.4564 22987277.1184
+ 1487.3384 1158.9574
+ 21787903.6194 -16179309.67849 -12153757.61447 21787903.8384 21787910.5354
+ -1838.8464 -1432.8684
+ 05 1 20 21 15 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23044069.0344 -11212489.54049 -8692313.99846 23044067.8784 23044075.6364
+ -2838.9274 -2212.1544
+ 21638136.1904 -8579169.98449 -6672996.52947 21638135.5324 21638142.7234
+ 2935.1334 2287.1184
+ 21055495.3144 -20659750.47949 -16080606.30148 21055495.8844 21055501.8324
+ -1660.7034 -1294.0524
+ 20435561.3264 -27020311.70749 -21041327.99648 20435561.0974 20435564.7794
+ 721.5114 562.2184
+ 22084258.8334 -9221205.37249 -7163607.26747 22084258.4444 22084265.5984
+ -531.5264 -414.1734
+ 22160042.9494 -18043993.81349 -14033536.35247 22160041.9664 22160048.6854
+ 1775.1834 1383.2614
+ 24613009.5384 -3446769.07858 -2387842.79854 24613007.5834 24613013.7394
+ -1282.9554 -999.7004
+ 23432939.0904 -5946607.94249 -4290817.50446 23432938.3214 23432944.8244
+ 176.7224 137.7104
+ 22978832.3734 -6593112.47349 -5124411.06546 22978831.7904 22978837.9874
+ 1469.1634 1144.7994
+ 21798413.3214 -16124083.07949 -12110723.91047 21798412.7854 21798420.0114
+ -1842.9354 -1436.0544
+ 05 1 20 21 16 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23060299.4154 -11127192.26849 -8625848.59446 23060299.5224 23060307.3524
+ -2847.4234 -2218.7794
+ 21621417.8724 -8667028.14249 -6741457.37647 21621416.9214 21621423.5834
+ 2922.0334 2276.9084
+ 21064994.3374 -20609838.47149 -16041713.83348 21064994.1164 21064999.9514
+ -1666.7274 -1298.7474
+ 20431470.6674 -27041810.74449 -21058080.48648 20431469.8634 20431473.4854
+ 711.7474 554.6064
+ 22087347.0114 -9204979.05849 -7150963.37447 22087346.3424 22087353.1094
+ -550.2684 -428.7774
+ 22149923.3294 -18097172.05349 -14074973.90547 22149922.6094 22149929.0674
+ 1769.9554 1379.1794
+ 24620389.5844 -3408024.87258 -2357652.73754 24620381.2524
+ -1300.1064 -1013.0674
+ 23431981.7094 -5951624.04249 -4294726.13946 23431982.3774 23431988.8344
+ 157.5574 122.7704
+ 22970496.6484 -6636913.13949 -5158541.44046 22970497.4814 22970503.4094
+ 1450.9274 1130.5814
+ 21808945.2054 -16068735.06049 -12067595.59347 21808945.6354 21808952.2584
+ -1846.9734 -1439.2014
+ 05 1 20 21 16 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23076580.5134 -11041638.96449 -8559183.68146 23076579.5804 23076588.2254
+ -2856.0404 -2225.4814
+ 21604773.2124 -8754494.11149 -6809612.62647 21604772.4894 21604779.2544
+ 2908.9804 2266.7354
+ 21074525.7174 -20559746.80849 -16002681.36948 21074526.1064 21074531.8054
+ -1672.6534 -1303.3604
+ 20427434.3454 -27063018.43749 -21074605.95148 20427434.1964 20427437.6974
+ 702.0694 547.0694
+ 22090542.4324 -9188191.79249 -7137882.37847 22090541.3184 22090547.4274
+ -568.9114 -443.3044
+ 22139832.2204 -18150193.32449 -14116289.15947 22139832.2334 22139839.4494
+ 1764.7484 1375.1284
+ 24627849.8754 -3368765.50848 -2327061.05744 24627852.0124 24627850.5634
+ -1317.4244 -1026.5754
+ 23431137.2814 -5956066.56349 -4298187.81146 23431137.2544 23431143.1454
+ 138.5064 107.9274
+ 22962265.7344 -6680166.73149 -5192245.50246 22962266.0444 22962271.2974
+ 1432.7094 1116.3964
+ 21819501.3494 -16013266.05649 -12024372.99447 21819501.2964 21819507.5224
+ -1850.9654 -1442.3064
+ 05 1 20 21 17 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23092906.8374 -10955830.67149 -8492320.11746 23092906.9614 23092916.6774
+ -2864.4584 -2232.0394
+ 21588203.6474 -8841565.88649 -6877460.71347 21588202.5074 21588209.5774
+ 2895.8174 2256.4804
+ 21084092.1664 -20509476.27049 -15963509.51748 21084092.6564 21084097.8304
+ -1678.6174 -1308.0134
+ 20423454.9304 -27083934.72149 -21090904.34648 20423454.3074 20423457.5774
+ 692.3424 539.4914
+ 22093841.5454 -9170844.66949 -7124365.13347 22093841.9114 22093848.8624
+ -587.5664 -457.8424
+ 22129772.8464 -18203057.74849 -14157482.18747 22129772.5654 22129779.4754
+ 1759.5134 1371.0444
+ 24635421.6714 -3328992.66149 -2296069.20444 24635421.9614 24635429.4894
+ -1334.2914 -1039.7044
+ 23430402.0094 -5959934.63349 -4301201.88146 23430402.3204 23430408.3724
+ 119.3334 92.9854
+ 22954138.8954 -6722871.88149 -5225522.22046 22954138.7544 22954145.5084
+ 1414.3424 1102.0964
+ 21830079.8454 -15957676.95449 -11981056.81347 21830079.1534 21830085.8624
+ -1854.9684 -1445.4274
+ 05 1 20 21 17 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23109287.8324 -10869768.61449 -8425258.78546 23109285.7554 23109293.3164
+ -2872.9104 -2238.6304
+ 21571709.7054 -8928241.65849 -6945000.21547 21571708.9794 21571715.8024
+ 2882.5474 2246.1354
+ 21093692.8354 -20459028.02749 -15924199.19448 21093692.5564 21093697.9014
+ -1684.5304 -1312.6204
+ 20419529.7794 -27104559.77449 -21106975.80348 20419529.2624 20419532.5234
+ 682.6394 531.9274
+ 22097249.5224 -9152938.91949 -7110412.59447 22097249.0644 22097255.8324
+ -606.1664 -472.3374
+ 22119742.9794 -18255765.63049 -14198553.23647 22119742.6904 22119749.6674
+ 1754.2914 1366.9784
+ 24643086.8414 -3288707.65658 -2264678.27054 24643085.4974 24643092.8404
+ -1351.4404 -1053.0754
+ 23429777.2694 -5963227.70049 -4303767.90446 23429776.3044 23429780.5304
+ 100.1524 78.0354
+ 22946117.6144 -6765027.37749 -5258370.61446 22946116.3914 22946122.7534
+ 1395.9984 1087.7994
+ 21840680.3314 -15901968.35849 -11937647.52647 21840679.7714 21840686.6184
+ -1858.9454 -1448.5284
+ 05 1 20 21 18 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23125709.9234 -10783453.90349 -8358000.59546 23125710.3044 23125718.6494
+ -2881.3354 -2245.1954
+ 21555292.1064 -9014519.19449 -7012229.42047 21555291.3634 21555298.4024
+ 2869.2724 2235.7904
+ 21103325.8444 -20408402.68149 -15884750.87348 21103326.0874 21103331.8494
+ -1690.4194 -1317.2114
+ 20415660.1834 -27124893.68249 -21122820.39348 20415659.7624 20415663.4084
+ 672.9374 524.3674
+ 22100763.1494 -9134475.17949 -7096025.25747 22100763.1334 22100769.4494
+ -624.7264 -486.7974
+ 22109742.7134 -18308316.63149 -14239502.04047 22109742.5524 22109750.2334
+ 1749.0464 1362.8934
+ 24650853.6524 -3247911.57449 -2232889.30144 24650852.4954 24650853.0904
+ -1368.3574 -1066.2444
+ 23429257.0364 -5965944.86049 -4305885.16346 23429258.3174 23429264.2384
+ 80.9414 63.0664
+ 22938200.3304 -6806631.81649 -5290789.63946 22938200.2184 22938206.6544
+ 1377.6404 1073.4834
+ 21851304.7334 -15846140.76849 -11894145.50547 21851303.9344 21851310.8134
+ -1862.8654 -1451.5834
+ 05 1 20 21 18 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23142184.6674 -10696887.64449 -8290546.40146 23142183.6084 23142191.3294
+ -2889.6684 -2251.6934
+ 21538950.1574 -9100396.62849 -7079146.84847 21538948.6424 21538956.2254
+ 2855.8674 2225.3514
+ 21112993.0144 -20357601.17649 -15845165.27548 21112993.0994 21112998.9564
+ -1696.2994 -1321.7954
+ 20411846.2034 -27144936.44749 -21138438.12648 20411845.5724 20411849.2434
+ 663.2254 516.7954
+ 22104383.4804 -9115454.82249 -7081204.20747 22104382.8334 22104389.0064
+ -643.2724 -501.2524
+ 22099772.4124 -18360711.08049 -14280328.85847 22099771.8564 22099779.5624
+ 1743.8354 1358.8314
+ 24658712.2684 -3206605.68648 -2200702.84745 24658710.0334 24658713.6234
+ -1385.3154 -1079.4724
+ 23428851.0134 -5968085.37149 -4307553.07046 23428849.9884 23428856.8004
+ 61.6794 48.0724
+ 22930388.6304 -6847684.01549 -5322778.33146 22930388.5784 22930394.3914
+ 1359.1644 1059.0694
+ 21861949.6854 -15790195.09649 -11850551.48347 21861949.7524 21861956.5374
+ -1866.8284 -1454.6754
+ 05 1 20 21 19 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23158705.1654 -10610070.88549 -8222896.98446 23158703.5954 23158713.1184
+ -2898.0224 -2258.2054
+ 21522684.1354 -9185872.00249 -7145750.98847 21522683.7234 21522690.8004
+ 2842.4584 2214.9064
+ 21122692.8784 -20306624.27049 -15805443.01148 21122693.3994 21122699.6344
+ -1702.1134 -1326.3184
+ 20408087.3604 -27164688.09049 -21153829.00848 20408087.0334 20408090.6084
+ 653.5434 509.2584
+ 22108108.0664 -9095878.98749 -7065950.29947 22108107.9434 22108113.9274
+ -661.7654 -515.6544
+ 22089831.9614 -18412948.94749 -14321033.68347 22089831.5374 22089839.1274
+ 1738.6244 1354.7764
+ 24666669.9174 -3164791.01248 -2168120.00844 24666668.9914 24666671.9714
+ -1402.1864 -1092.6164
+ 23428554.0554 -5969648.60149 -4308771.19046 23428553.8324 23428557.9764
+ 42.4954 33.1174
+ 22922680.2264 -6888182.67949 -5354335.70246 22922681.0274 22922687.6024
+ 1340.7474 1044.7274
+ 21872618.9414 -15734131.93949 -11806865.90147 21872618.4494 21872625.4634
+ -1870.7264 -1457.7054
+ 05 1 20 21 19 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23175272.9584 -10523004.83449 -8155053.32346 23175272.1384 23175281.2614
+ -2906.2914 -2264.6364
+ 21506495.3564 -9270943.64549 -7212040.52447 21506494.7964 21506502.5604
+ 2828.9624 2204.3834
+ 21132427.4184 -20255472.67049 -15765584.61948 21132427.2424 21132433.6434
+ -1707.9314 -1330.8534
+ 20404383.8024 -27184148.71949 -21168993.12148 20404383.6294 20404387.4244
+ 643.8304 501.6884
+ 22111938.3734 -9075748.92549 -7050264.52947 22111938.4944 22111944.8204
+ -680.2304 -530.0454
+ 22079921.5814 -18465029.94849 -14361616.26047 22079921.0714 22079927.9584
+ 1733.3944 1350.6934
+ 24674722.2304 -3122468.73848 -2135141.51744 24674724.6294 24674728.1944
+ -1419.1724 -1105.8494
+ 23428365.8124 -5970634.04749 -4309539.06046 23428366.3654 23428371.8504
+ 23.2064 18.0804
+ 22915079.2584 -6928126.77549 -5385460.92446 22915080.3574 22915086.5044
+ 1322.2144 1030.2934
+ 21883309.0214 -15677951.78149 -11763089.15647 21883308.7964 21883316.1794
+ -1874.6094 -1460.7344
+ 05 1 20 21 20 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23191887.6494 -10435690.50449 -8087016.22246 23191887.5194 23191895.6174
+ -2914.5234 -2271.0644
+ 21490384.6044 -9355609.42549 -7278013.81947 21490383.7124 21490390.4464
+ 2815.4264 2193.8384
+ 21142194.1944 -20204147.46649 -15725590.95248 21142194.3004 21142200.4924
+ -1713.6724 -1335.3354
+ 20400736.1784 -27203318.53549 -21183930.63148 20400735.8874 20400739.4584
+ 634.1634 494.1504
+ 22115874.2384 -9055065.90449 -7034147.88247 22115873.9614 22115880.2894
+ -698.6524 -544.4104
+ 22070041.0674 -18516954.44749 -14402076.88847 22070040.4634 22070047.1424
+ 1728.2054 1346.6564
+ 24682870.4744 -3079639.89448 -2101768.41144 24682869.4284 24682878.2164
+ -1436.1164 -1119.0534
+ 23428288.6094 -5971041.05149 -4309856.23346 23428288.9184 23428293.3724
+ 3.9354 3.0504
+ 22907585.0454 -6967514.92349 -5416152.94446 22907584.0244 22907591.1624
+ 1303.7144 1015.8874
+ 21894022.1334 -15621655.31649 -11719221.77647 21894022.0494 21894028.4554
+ -1878.4754 -1463.7504
+ 05 1 20 21 20 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23208552.5354 -10348129.21949 -8018786.65146 23208551.1234 23208556.2854
+ -2922.7434 -2277.4564
+ 21474350.6784 -9439867.32649 -7343669.28247 21474349.2014 21474356.1324
+ 2801.7604 2183.1944
+ 21151994.5334 -20152649.15649 -15685462.40148 21151994.2214 21152000.2484
+ -1719.4454 -1339.8244
+ 20397143.4014 -27222197.61049 -21198641.58448 20397143.0994 20397146.8184
+ 624.4404 486.5764
+ 22119915.6004 -9033831.03249 -7017601.22447 22119914.9314 22119921.7954
+ -717.0244 -558.7244
+ 22060189.7784 -18568722.64149 -14442415.72247 22060188.8944 22060195.5934
+ 1722.9544 1342.5664
+ 24691122.3254 -3036305.48748 -2068001.49844 24691125.1784 24691122.7784
+ -1452.9374 -1132.1544
+ 23428321.2574 -5970868.96849 -4309722.14546 23428320.4374 23428327.2884
+ -15.4094 -12.0194
+ 22900195.8684 -7006345.92849 -5446410.84846 22900196.2494 22900202.1114
+ 1285.1094 1001.3894
+ 21904757.3744 -15565242.91449 -11675264.05147 21904756.7164 21904763.6544
+ -1882.3434 -1466.7554
+ 05 1 20 21 21 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23225259.0834 -10260322.14449 -7950365.55246 23225259.4204 23225268.1734
+ -2930.9604 -2283.8614
+ 21458393.6674 -9523715.52049 -7409005.48447 21458393.7444 21458401.5024
+ 2788.0794 2172.5224
+ 21161826.8994 -20100978.66449 -15645199.68948 21161826.9904 21161832.7714
+ -1725.1794 -1344.2934
+ 20393606.8654 -27240785.79549 -21213125.87648 20393606.2494 20393609.5704
+ 614.7424 479.0204
+ 22124061.6574 -9012045.46449 -7000625.45047 22124060.9244 22124067.1874
+ -735.3484 -572.9944
+ 22050367.5314 -18620334.53149 -14482632.75647 22050367.2904 22050374.0504
+ 1717.7474 1338.4974
+ 24699462.5584 -2992467.41558 -2033842.08354 24699459.8774
+ -1469.7214 -1145.2394
+ 23428465.5134 -5970117.47049 -4309136.52846 23428463.8664 23428471.3484
+ -34.7294 -27.0444
+ 22892912.3794 -7044618.76549 -5476233.80046 22892912.7244 22892919.3614
+ 1266.4234 986.8244
+ 21915513.4554 -15508715.36249 -11631216.61947 21915513.9254 21915520.3294
+ -1886.1654 -1469.7404
+ 05 1 20 21 21 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23242014.0064 -10172270.29149 -7881753.77546 23242015.1834 23242023.1584
+ -2939.0524 -2290.1724
+ 21442517.4614 -9607152.31849 -7474021.12047 21442516.3194 21442523.2864
+ 2774.3444 2161.8274
+ 21171692.0634 -20049136.73649 -15604803.37448 21171691.9634 21171697.6534
+ -1730.8924 -1348.7494
+ 20390124.2114 -27259083.29849 -21227383.66248 20390124.0834 20390127.9504
+ 605.0534 471.4724
+ 22128312.0064 -8989710.36849 -6983221.49047 22128311.7804 22128317.2574
+ -753.6544 -587.2634
+ 22040576.2074 -18671789.94349 -14522727.85847 22040575.7634 22040582.3444
+ 1712.5604 1334.4644
+ 24707894.5924 -2948126.77048 -1999290.70154 24707895.8204 24707902.7744
+ -1486.5404 -1158.3334
+ 23428718.5014 -5968785.57949 -4308098.71946 23428718.0114 23428722.7354
+ -54.0924 -42.1434
+ 22885734.9914 -7082332.15949 -5505620.82946 22885736.3374 22885742.7434
+ 1247.7994 972.3144
+ 21926292.7464 -15452073.47849 -11587080.08947 21926292.3374 21926298.9504
+ -1890.0014 -1472.7294
+ 05 1 20 21 22 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23258818.8214 -10083974.94449 -7812952.23346 23258816.7514 23258824.8964
+ -2947.1784 -2296.5054
+ 21426718.4824 -9690175.95449 -7538714.82447 21426717.3974 21426724.5534
+ 2760.5364 2151.0654
+ 21181589.3754 -19997124.29649 -15564274.20648 21181589.7574 21181595.6394
+ -1736.5764 -1353.1754
+ 20386698.0414 -27277090.33849 -21241415.10948 20386697.6034 20386701.0694
+ 595.3804 463.9304
+ 22132665.9934 -8966827.30649 -6965390.52347 22132665.6264 22132671.6674
+ -771.9054 -601.4844
+ 22030814.3894 -18723089.06449 -14562701.18547 22030814.2004 22030820.5864
+ 1707.3554 1330.4004
+ 24716432.3364 -2903284.62848 -1964348.72045 24716432.9944 24716439.5694
+ -1503.1434 -1171.2704
+ 23429081.1044 -5966873.05749 -4306608.45146 23429082.5714 23429087.2294
+ -73.4504 -57.2464
+ 22878666.5094 -7119485.15949 -5534571.18146 22878666.3434 22878671.9944
+ 1229.1134 957.7384
+ 21937092.4544 -15395317.61049 -11542854.72847 21937092.5154 21937099.4674
+ -1893.7714 -1475.6684
+ 05 1 20 21 22 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23275666.0134 -9995437.23949 -7743961.83146 23275664.7234 23275672.5704
+ -2955.1914 -2302.7664
+ 21410998.1314 -9772784.37749 -7603084.97347 21410997.2584 21411004.2654
+ 2746.6974 2140.2844
+ 21191519.3564 -19944942.06649 -15523612.73248 21191519.7364 21191525.4294
+ -1742.1784 -1357.5414
+ 20383326.2124 -27294806.72749 -21255220.07748 20383325.8494 20383329.9074
+ 585.7054 456.3934
+ 22137124.0794 -8943397.42949 -6947133.48947 22137123.3664 22137130.1774
+ -790.0744 -615.6344
+ 22021082.5294 -18774232.22049 -14602552.96647 22021081.4714 22021088.7234
+ 1702.1374 1326.3394
+ 24725061.2774 -2857942.43049 -1929017.01145 24725060.9694 24725063.4494
+ -1519.7574 -1184.2294
+ 23429554.6074 -5964379.30449 -4304665.25646 23429555.0204 23429560.9704
+ -92.8004 -72.3274
+ 22871702.2574 -7156076.66749 -5563084.01746 22871703.0044 22871708.4374
+ 1210.3374 943.1254
+ 21947915.2924 -15338448.31249 -11498540.99047 21947914.5024 21947921.4684
+ -1897.5174 -1478.5894
+ 05 1 20 21 23 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23292560.6884 -9906658.37349 -7674783.50646 23292559.8924 23292566.5184
+ -2963.2614 -2309.0244
+ 21395357.9224 -9854975.73549 -7667130.14347 21395356.7884 21395363.7154
+ 2732.7484 2129.4084
+ 21201481.8424 -19892590.71849 -15482819.46848 21201481.5644 21201487.7064
+ -1747.8194 -1361.9384
+ 20380009.6934 -27312232.69649 -21268798.74148 20380009.6724 20380013.7944
+ 576.0284 448.8544
+ 22141685.3044 -8919422.25349 -6928451.50947 22141685.0034 22141692.4664
+ -808.2194 -629.7854
+ 22011380.1894 -18825219.04849 -14642282.94247 22011378.9824 22011386.0554
+ 1696.9344 1322.2844
+ 24733782.1204 -2812101.04748 -1893296.35645 24733783.4834 24733786.2274
+ -1536.3404 -1197.1474
+ 23430141.7794 -5961303.84549 -4302268.80546 23430141.9724 23430147.0934
+ -112.2094 -87.4414
+ 22864845.9694 -7192105.55349 -5591158.44446 22864846.1624 22864852.4864
+ 1191.5924 928.5054
+ 21958757.4674 -15281466.43249 -11454139.52947 21958757.6204 21958764.9644
+ -1901.2594 -1481.4984
+ 05 1 20 21 23 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23309500.5484 -9817639.61349 -7605418.21246 23309499.6694 23309507.6634
+ -2971.2814 -2315.2944
+ 21379796.2334 -9936748.09349 -7730848.81447 21379796.1134 21379803.4494
+ 2718.7454 2118.4974
+ 21211476.2744 -19840071.21649 -15441895.18648 21211476.1634 21211481.5804
+ -1753.4194 -1366.3024
+ 20376749.9604 -27329368.18949 -21282151.06948 20376749.4584 20376752.9764
+ 566.3334 441.2954
+ 22146352.9614 -8894902.92349 -6909345.54547 22146351.7724 22146358.4534
+ -826.3524 -643.9114
+ 22001706.2684 -18876049.71849 -14681891.23947 22001706.2484 22001712.9044
+ 1691.7104 1318.2154
+ 24742600.1844 -2765762.03149 -1857188.06545 24742598.6654 24742605.8454
+ -1552.9674 -1210.0974
+ 23430838.6314 -5957646.40749 -4299418.83246 23430837.5614 23430841.7064
+ -131.6314 -102.5814
+ 22858097.9224 -7227570.73649 -5618793.63946 22858097.5074 22858104.1484
+ 1172.7884 913.8624
+ 21969622.0244 -15224372.21949 -11409650.53147 21969621.8254 21969629.1514
+ -1905.0214 -1484.4354
+ 05 1 20 21 24 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23326486.5794 -9728382.13349 -7535866.97146 23326484.7154 23326493.0954
+ -2979.1704 -2321.4244
+ 21364316.2924 -10018099.85449 -7794239.74547 21364314.9334 21364322.5464
+ 2704.6874 2107.5474
+ 21221501.9614 -19787384.15249 -15400840.32348 21221502.1324 21221507.4434
+ -1759.0044 -1370.6554
+ 20373544.0164 -27346213.37049 -21295277.16748 20373543.7174 20373547.4444
+ 556.6524 433.7564
+ 22151121.9914 -8869840.95549 -6889816.74647 22151121.5754 22151127.7354
+ -844.4414 -658.0074
+ 21992063.2964 -18926724.39849 -14721377.98147 21992063.3444 21992070.1424
+ 1686.5424 1314.1854
+ 24751515.2684 -2718926.83358 -1820693.10754 24751512.6204 24751517.0334
+ -1569.4184 -1222.9264
+ 23431644.4874 -5953406.40749 -4296114.93246 23431644.1394 23431648.8874
+ -151.0404 -117.6834
+ 22851455.6014 -7262471.37449 -5645988.91946 22851456.6934 22851463.2564
+ 1153.9294 899.1714
+ 21980508.0794 -15167166.16049 -11365074.37647 21980507.7294 21980515.4214
+ -1908.7284 -1487.3244
+ 05 1 20 21 24 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23343514.3434 -9638887.15449 -7466130.63946 23343514.6064 23343522.2904
+ -2987.0374 -2327.5534
+ 21348916.5574 -10099029.45249 -7857301.73547 21348915.5584 21348921.6654
+ 2690.5934 2096.5664
+ 21231559.5654 -19734530.43149 -15359655.60348 21231559.6564 21231565.5544
+ -1764.5184 -1374.9504
+ 20370394.4174 -27362768.17949 -21308177.00948 20370393.6674 20370397.3154
+ 546.9694 426.2114
+ 22155992.9924 -8844237.76349 -6869866.22247 22155993.5664 22155999.8774
+ -862.4494 -672.0394
+ 21982451.7614 -18977243.06949 -14760743.17347 21982450.1954 21982456.7774
+ 1681.3234 1310.1204
+ 24760519.7704 -2671596.94458 -1783812.64054 24760517.8084 24760524.9214
+ -1585.9774 -1235.8224
+ 23432561.8404 -5948583.84549 -4292357.05946 23432562.5194 23432567.9464
+ -170.4574 -132.8194
+ 22844922.4624 -7296806.29749 -5672743.37146 22844922.6524 22844929.1924
+ 1135.0564 884.4634
+ 21991415.1024 -15109849.03849 -11320411.70147 21991415.5324 21991422.5404
+ -1912.4354 -1490.2084
+ 05 1 20 21 25 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23360590.9304 -9549155.82649 -7396210.12546 23360590.3554 23360598.4914
+ -2994.8674 -2333.6654
+ 21333596.1704 -10179534.87149 -7920033.17447 21333595.2664 21333602.2244
+ 2676.4454 2085.5374
+ 21241648.3434 -19681510.54349 -15318341.40748 21241649.1784 21241654.3354
+ -1770.0374 -1379.2524
+ 20367298.3454 -27379032.91749 -21320850.81648 20367298.2424 20367301.9524
+ 537.3304 418.7004
+ 22160969.9674 -8818094.92349 -6849495.16847 22160967.9404 22160974.7824
+ -880.4024 -686.0234
+ 21972866.8494 -19027605.81549 -14799986.85647 21972866.3634 21972872.9014
+ 1676.1354 1306.0854
+ 24769621.2404 -2623773.83549 -1746547.92345 24769621.8964 24769624.9564
+ -1602.2924 -1248.5304
+ 23433589.7554 -5943178.06849 -4288144.79646 23433590.6514 23433596.0734
+ -189.8944 -147.9644
+ 22838496.6874 -7330574.51349 -5699056.23746 22838496.0734 22838503.4744
+ 1116.1844 869.7434
+ 22002343.9024 -15052421.41349 -11275662.91547 22002343.8544 22002350.1584
+ -1916.0904 -1493.0524
+ 05 1 20 21 25 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23377711.9814 -9459189.45349 -7326106.47646 23377710.5774 23377718.2214
+ -3002.7464 -2339.8054
+ 21318357.3984 -10259614.32949 -7982432.70047 21318356.9314 21318363.2784
+ 2662.1974 2074.4414
+ 21251768.9794 -19628325.46549 -15276898.48848 21251769.5384 21251775.4804
+ -1775.5584 -1383.5554
+ 20364259.1264 -27395007.54049 -21333298.56948 20364258.6374 20364262.1564
+ 527.6534 411.1574
+ 22166044.9214 -8791413.75049 -6828704.63947 22166044.8354 22166052.2054
+ -898.3354 -700.0064
+ 21963312.6034 -19077812.47549 -14839108.91047 21963312.3424 21963318.9644
+ 1670.9114 1302.0124
+ 24778813.5954 -2575458.53048 -1708899.58244 24778813.5494 24778812.5524
+ -1618.7794 -1261.4024
+ 23434729.8414 -5937188.69649 -4283477.73346 23434728.7094 23434737.2794
+ -209.3994 -163.1544
+ 22832177.0704 -7363775.32349 -5724926.96246 22832178.3144 22832184.6654
+ 1097.2494 854.9944
+ 22013292.2654 -14994883.81749 -11230828.42947 22013293.0744 22013299.7594
+ -1919.7344 -1495.8934
+ 05 1 20 21 26 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23394874.0364 -9368989.29649 -7255820.66746 23394873.8644 23394883.1434
+ -3010.5074 -2345.8454
+ 21303200.4574 -10339266.11449 -8044498.98147 21303199.5094 21303205.8774
+ 2647.9134 2063.3124
+ 21261921.3434 -19574975.84949 -15235327.37148 21261921.5154 21261927.6814
+ -1781.0254 -1387.8084
+ 20361274.1654 -27410691.87449 -21345520.11848 20361274.0074 20361277.4744
+ 517.9714 403.6184
+ 22171225.9354 -8764195.68849 -6807495.75147 22171224.9414 22171231.7144
+ -916.1844 -713.9064
+ 21953788.1604 -19127863.18649 -14878109.44847 21953788.1044 21953794.8394
+ 1665.7214 1297.9674
+ 24788098.6804 -2526652.75458 -1670869.07654 24788100.8054 24788110.9254
+ -1634.9954 -1274.0274
+ 23435980.8904 -5930615.43949 -4278355.72246 23435980.4564 23435986.0094
+ -228.8324 -178.3244
+ 22825969.6904 -7396407.59949 -5750354.69146 22825969.4734 22825975.5554
+ 1078.2344 840.1864
+ 22024262.8344 -14937236.64549 -11185908.57047 22024262.9624 22024269.0574
+ -1923.4104 -1498.7594
+ 05 1 20 21 26 30.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23412084.2184 -9278556.60849 -7185353.68346 23412083.4984 23412091.1544
+ -3018.2194 -2351.8504
+ 21288124.7854 -10418488.46249 -8106230.62947 21288123.5874 21288130.6414
+ 2633.5664 2052.1314
+ 21272105.0734 -19521462.43849 -15193628.60848 21272105.1764 21272110.7984
+ -1786.4624 -1392.0434
+ 20358344.6954 -27426086.23549 -21357515.71348 20358344.3354 20358348.0204
+ 508.3074 396.0854
+ 22176506.2474 -8736442.22149 -6785869.67347 22176506.1544 22176512.7344
+ -934.0064 -727.7894
+ 21944294.2134 -19177758.50049 -14916988.89547 21944293.2164 21944299.8504
+ 1660.5684 1293.9524
+ 24797484.0684 -2477357.89348 -1632457.45644 24797484.0634 24797484.9754
+ -1651.3494 -1286.7604
+ 23437344.3704 -5923458.25349 -4272778.66646 23437343.8314 23437349.5574
+ -248.3024 -193.4814
+ 22819869.0624 -7428470.50049 -5775338.74746 22819867.9364 22819873.8384
+ 1059.2804 825.4264
+ 22035253.4184 -14879480.36349 -11140903.67747 22035253.2624 22035259.9164
+ -1927.0364 -1501.5804
+ 05 1 20 21 27 0.0000000 0 10G 7G10G 4G 2G 5G17G23G13G30G24
+ 23429337.8914 -9187892.72349 -7114706.48246 23429336.5474 23429344.2894
+ -3025.8894 -2357.8404
+ 21273130.3364 -10497279.59149 -8167626.26947 21273129.8894 21273136.9664
+ 2619.1824 2040.9204
+ 21282319.3964 -19467786.07449 -15151802.87048 21282319.2034 21282325.0984
+ -1791.8644 -1396.2544
+ 20355470.3114 -27441190.80549 -21369285.49948 20355469.9754 20355473.7894
+ 498.6494 388.5584
+ 22181890.6524 -8708154.86649 -6763827.59147 22181889.8654 22181895.8404
+ -951.7744 -741.6374
+ 21934828.0524 -19227497.80749 -14955746.78347 21934827.9054 21934835.1264
+ 1655.3764 1289.9044
+ 24806955.9404 -2427575.11248 -1593665.55444 24806955.6264 24806960.7314
+ -1667.5764 -1299.4044
+ 23438815.8684 -5915716.61349 -4266746.22246 23438816.2094 23438821.1664
+ -267.7984 -208.6614
+ 22813873.4384 -7459963.17949 -5799878.47646 22813873.9724 22813880.9194
+ 1040.2584 810.6004
+ 22046264.4634 -14821615.45049 -11095814.13947 22046264.4764 22046270.9864
+ -1930.6364 -1504.3924
+ 05 1 20 21 27 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23446631.0324 -9096998.61949 -7043879.93946 23446631.4134 23446640.3814
+ -3033.5794 -2363.8204
+ 21258220.6454 -10575638.06449 -8228684.78047 21258219.3074 21258226.2354
+ 2604.7204 2029.6544
+ 21292564.4644 -19413947.36449 -15109850.62947 21292564.4164 21292570.5134
+ -1797.2814 -1400.4784
+ 20352651.4114 -27456005.56149 -21380829.45748 20352650.9404 20352654.4774
+ 488.9904 381.0294
+ 22187373.9954 -8679335.06649 -6741370.61347 22187373.5104 22187379.4954
+ -969.4944 -755.4494
+ 21925393.3324 -19277081.24549 -14994383.21247 21925392.7154 21925399.7794
+ 1650.1644 1285.8394
+ 23440401.9794 -5907390.33449 -4260258.21646 23440400.9384 23440407.8034
+ -287.2934 -223.8584
+ 22807990.5384 -7490884.87949 -5823973.27846 22807990.3984 22807996.9284
+ 1021.1804 795.7184
+ 22057296.5184 -14763642.70249 -11050640.57547 22057296.3584 22057303.1744
+ -1934.2214 -1507.1864
+ 05 1 20 21 28 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23463974.3104 -9005875.96949 -6972875.29245 23463973.5374 23463978.8704
+ -3041.1344 -2369.7144
+ 21243391.3054 -10653562.03749 -8289404.71347 21243390.7764 21243397.5004
+ 2590.2054 2018.3394
+ 21302840.5744 -19359946.93849 -15067772.38248 21302840.3264 21302846.2294
+ -1802.6714 -1404.6784
+ 20349887.2584 -27470530.56749 -21392147.63748 20349887.1194 20349890.5684
+ 479.3254 373.5024
+ 22192958.4214 -8649984.32549 -6718499.91147 22192958.3504 22192964.8854
+ -987.1804 -769.2384
+ 21915986.8764 -19326509.23249 -15032898.51147 21915986.8034 21915993.7894
+ 1644.9634 1281.7924
+ 23442094.6954 -5898479.33049 -4253314.56446 23442095.9014 23442101.6974
+ -306.8074 -239.0694
+ 22802216.1394 -7521234.53249 -5847622.32946 22802215.4744 22802221.8984
+ 1002.1504 780.8944
+ 22068349.7934 -14705562.51249 -11005383.28947 22068348.9034 22068355.4534
+ -1937.8034 -1509.9774
+ 05 1 20 21 28 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23481357.0234 -8914525.76749 -6901693.32446 23481357.5054 23481363.8054
+ -3048.7574 -2375.6574
+ 21228645.4544 -10731049.84349 -8349784.78747 21228645.2934 21228652.4594
+ 2575.6464 2006.9974
+ 21313146.6094 -19305785.68649 -15025568.81147 21313147.0034 21313153.0524
+ -1808.0294 -1408.8524
+ 20347178.7574 -27484765.87349 -21403240.07748 20347178.3674 20347181.8254
+ 469.6634 365.9734
+ 22198644.2314 -8620104.53049 -6695216.93547 22198643.9064 22198651.1014
+ -1004.7904 -782.9484
+ 21906611.6844 -19375781.64149 -15071292.58047 21906610.9954 21906617.1364
+ 1639.7804 1277.7504
+ 23443905.2484 -5888983.38849 -4245915.13146 23443903.8004 23443908.6544
+ -326.2664 -254.2284
+ 22796549.5224 -7551011.48449 -5870825.14746 22796549.1544 22796555.3014
+ 983.0684 766.0354
+ 22079422.4354 -14647375.26649 -10960042.59347 22079421.4104 22079427.8704
+ -1941.3524 -1512.7434
+ 05 1 20 21 29 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23498782.8744 -8822949.48049 -6830335.18546 23498782.7634 23498790.7814
+ -3056.2794 -2381.5134
+ 21213983.9204 -10808099.77749 -8409823.64647 21213983.0024 21213990.2034
+ 2561.0024 1995.5854
+ 21323484.2404 -19251464.17249 -14983240.36648 21323484.2494 21323490.0384
+ -1813.3394 -1412.9814
+ 20344524.3184 -27498711.35449 -21414106.67648 20344524.4494 20344528.0344
+ 460.0154 358.4554
+ 22204430.2924 -8589697.28749 -6671522.97147 22204430.5124 22204437.4634
+ -1022.3594 -796.6404
+ 21897264.1614 -19424898.10449 -15109565.12447 21897263.8854 21897270.6404
+ 1634.5654 1273.6934
+ 23445821.7224 -5878902.68249 -4238059.99846 23445822.2384 23445827.6654
+ -345.7804 -269.4424
+ 22790991.5304 -7580214.96249 -5893581.08546 22790991.9724 22790998.0584
+ 963.9494 751.1374
+ 22090513.6674 -14589081.49249 -10914618.88147 22090514.1644 22090521.7144
+ -1944.9004 -1515.5094
+ 05 1 20 21 29 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23516252.3584 -8731148.25449 -6758801.78946 23516250.9854 23516259.4694
+ -3063.7484 -2387.3324
+ 21199406.4434 -10884710.27649 -8469520.09847 21199405.1564 21199411.3304
+ 2546.3364 1984.1544
+ 21333851.8474 -19196983.01449 -14940787.51747 21333851.8854 21333856.7594
+ -1818.6864 -1417.1634
+ 20341925.6294 -27512367.18449 -21424747.57848 20341925.6444 20341929.1554
+ 450.3614 350.9274
+ 22210318.4464 -8558764.18349 -6647419.25947 22210317.2614 22210323.7964
+ -1039.8604 -810.2824
+ 21887947.0734 -19473859.38349 -15147716.75047 21887946.4854 21887953.5724
+ 1629.4274 1269.6794
+ 23447851.8824 -5868236.61649 -4229748.79546 23447852.0184 23447856.0164
+ -365.2804 -284.6424
+ 22785544.1704 -7608844.28449 -5915889.63846 22785543.6144 22785549.7444
+ 944.7254 736.1354
+ 22101626.2014 -14530681.94549 -10869112.74847 22101626.7274 22101633.9094
+ -1948.4314 -1518.2624
+ 05 1 20 21 30 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23533766.1334 -8639123.47549 -6687094.19445 23533763.8274 23533770.3384
+ -3071.1284 -2393.0934
+ 21184911.3434 -10960879.79349 -8528872.92547 21184910.1824 21184916.9964
+ 2531.6254 1972.6914
+ 21344249.1184 -19142343.31049 -14898211.12347 21344249.2014 21344255.2134
+ -1823.9294 -1421.2424
+ 20339382.7334 -27525733.40749 -21435162.81048 20339382.1324 20339385.5854
+ 440.7234 343.4214
+ 22216305.4204 -8527306.66049 -6622906.91147 22216304.4154 22216309.6494
+ -1057.3014 -823.8694
+ 21878659.9024 -19522664.53349 -15185746.71547 21878659.2944 21878666.5364
+ 1624.2204 1265.6264
+ 23449992.6544 -5856985.31349 -4220981.55546 23449992.6784 23449997.6204
+ -384.8314 -299.8804
+ 22780205.3084 -7636898.55149 -5937750.10646 22780205.5994 22780211.9284
+ 925.5884 721.2394
+ 22112760.3884 -14472176.86049 -10823524.36747 22112760.2224 22112767.6394
+ -1951.9094 -1520.9734
+ 05 1 20 21 30 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23551317.1834 -8546876.55049 -6615213.49645 23551317.7124 23551324.9064
+ -3078.5084 -2398.8304
+ 21170499.3574 -11036606.55749 -8587880.75647 21170499.3764 21170505.7884
+ 2516.8334 1961.1684
+ 21354676.7574 -19087545.33249 -14855511.40947 21354677.0884 21354682.4464
+ -1829.1824 -1425.3374
+ 20336894.1874 -27538810.42349 -21445352.69048 20336893.6734 20336897.2774
+ 431.0824 335.9084
+ 22222389.4294 -8495326.50349 -6597987.31847 22222389.0894 22222395.5504
+ -1074.6864 -837.4144
+ 21869402.7264 -19571314.41549 -15223655.70647 21869401.7954 21869408.8384
+ 1619.0834 1261.6194
+ 23452244.8884 -5845148.74649 -4211758.23346 23452244.0674 23452249.9004
+ -404.3204 -315.0634
+ 22774975.9154 -7664377.07849 -5959161.93246 22774976.2074 22774982.4264
+ 906.3504 706.2374
+ 22123915.1024 -14413566.71949 -10777854.13347 22123914.0924 22123920.3354
+ -1955.4234 -1523.7114
+ 05 1 20 21 31 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23568915.2964 -8454408.72649 -6543160.67046 23568914.1344 23568922.4984
+ -3085.8694 -2404.5684
+ 21156175.2764 -11111888.90849 -8646542.28947 21156174.5384 21156180.2914
+ 2502.0124 1949.6204
+ 21365134.3174 -19032589.96949 -14812689.05547 21365134.6294 21365140.0404
+ -1834.4094 -1429.4094
+ 20334460.6084 -27551598.03349 -21455317.05248 20334460.3954 20334463.7334
+ 421.4384 328.3924
+ 22228573.1114 -8462825.17149 -6572661.59747 22228572.9964 22228580.7274
+ -1092.0554 -850.9574
+ 21860174.0234 -19619808.87049 -15261443.56547 21860173.7764 21860180.6714
+ 1613.9134 1257.5954
+ 23454609.7604 -5832726.80249 -4202078.79146 23454609.7104 23454615.0154
+ -423.8104 -330.2474
+ 22769856.5054 -7691279.32649 -5980124.69246 22769856.2074 22769862.8924
+ 887.1374 691.2894
+ 22135086.9504 -14354852.00649 -10732102.41947 22135086.8074 22135093.7044
+ -1958.8874 -1526.4064
+ 05 1 20 21 31 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23586551.4944 -8361721.35249 -6470936.77046 23586551.3244 23586559.9194
+ -3093.1784 -2410.2624
+ 21141933.0584 -11186725.48149 -8704856.46447 21141932.5084 21141939.3974
+ 2487.0884 1937.9904
+ 21375622.1894 -18977477.77049 -14769744.48347 21375621.7774 21375627.5764
+ -1839.6204 -1433.4664
+ 20332082.3934 -27564096.19449 -21465055.87148 20332082.1534 20332085.4984
+ 411.7724 320.8614
+ 22234857.0744 -8429804.50849 -6546931.20947 22234856.5814 22234863.7794
+ -1109.3274 -864.4164
+ 21850975.3724 -19668147.60349 -15299110.09147 21850975.0224 21850982.0594
+ 1608.6584 1253.5014
+ 23457083.1384 -5819719.55849 -4191943.29346 23457084.2254 23457090.2914
+ -443.3304 -345.4414
+ 22764847.1944 -7717604.54649 -6000637.82946 22764847.1294 22764853.7794
+ 867.9044 676.2884
+ 22146278.9754 -14296033.39449 -10686269.72847 22146278.7304 22146286.0054
+ -1962.3634 -1529.1124
+ 05 1 20 21 32 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23604231.8184 -8268815.77349 -6398542.83146 23604230.7944 23604238.8604
+ -3100.4454 -2415.9234
+ 21127776.9384 -11261114.70249 -8762822.04347 21127776.5504 21127784.3904
+ 2472.1584 1926.3554
+ 21386138.8434 -18922209.57649 -14726678.36547 21386139.1544 21386144.8594
+ -1844.8634 -1437.5554
+ 20329759.4914 -27576305.05149 -21474569.25348 20329758.6804 20329762.3384
+ 402.1234 313.3434
+ 22241239.6754 -8396266.30649 -6520797.55347 22241239.5684 22241246.0044
+ -1126.5634 -877.8404
+ 21841806.5314 -19716330.88949 -15336655.49247 21841806.1884 21841813.1994
+ 1603.5064 1249.4864
+ 23459671.2574 -5806127.05549 -4181351.72946 23459670.9064 23459676.3204
+ -462.8654 -360.6604
+ 22759946.4664 -7743352.05549 -6020700.80846 22759947.2004 22759953.5314
+ 848.6134 661.2594
+ 22157492.5324 -14237111.10249 -10640356.25447 22157492.2764 22157498.7734
+ -1965.8174 -1531.8084
+ 05 1 20 21 32 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23621953.0004 -8175693.22849 -6325979.85545 23621951.8394 23621958.2894
+ -3107.6254 -2421.5234
+ 21113708.4204 -11335054.79949 -8820437.67748 21113707.0894 21113713.7444
+ 2457.1784 1914.6824
+ 21396685.3524 -18866785.95549 -14683491.13647 21396685.9734 21396691.6094
+ -1849.9864 -1441.5504
+ 20327491.1454 -27588224.73749 -21483857.31948 20327490.6664 20327494.0944
+ 392.5054 305.8504
+ 22247719.2114 -8362212.45149 -6494262.08747 22247719.6094 22247726.2404
+ -1143.7024 -891.1954
+ 21832666.8734 -19764358.92249 -15374079.91447 21832666.3844 21832673.3994
+ 1598.3204 1245.4464
+ 23462368.8924 -5791949.06649 -4170303.92346 23462368.7064 23462374.6854
+ -482.3354 -375.8614
+ 22755157.2044 -7768521.24549 -6040313.14446 22755157.6764 22755165.3484
+ 829.3324 646.2324
+ 22168723.3664 -14178085.73749 -10594362.47747 22168724.1114 22168731.3864
+ -1969.2094 -1534.4514
+ 05 1 20 21 33 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23639713.1774 -8082355.16949 -6253248.90146 23639713.4234 23639720.5424
+ -3114.7874 -2427.1114
+ 21099722.7384 -11408544.28649 -8877702.17647 21099721.7424 21099728.4914
+ 2442.1364 1902.9584
+ 21407262.0724 -18811207.59749 -14640183.32247 21407261.8894 21407267.7154
+ -1855.1324 -1445.5614
+ 20325277.1854 -27599855.21249 -21492920.01548 20325277.1384 20325280.6924
+ 382.8554 298.3264
+ 22254298.9394 -8327644.64349 -6467326.11547 22254298.1834 22254304.2694
+ -1160.7974 -904.5234
+ 21823557.0564 -19812231.60149 -15411383.28747 21823556.7734 21823563.4324
+ 1593.1084 1241.3794
+ 23465177.2224 -5777185.69449 -4158800.00046 23465177.6214 23465182.7914
+ -501.9094 -391.1174
+ 22750477.8864 -7793111.60549 -6059474.44246 22750478.2234 22750485.3584
+ 810.0514 631.1994
+ 22179975.7444 -14118957.50049 -10548288.52547 22179975.3354 22179982.6454
+ -1972.6454 -1537.1244
+ 05 1 20 21 33 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23657517.6794 -7988802.92349 -6180351.05746 23657515.5964 23657523.9434
+ -3121.9384 -2432.6804
+ 21085823.8444 -11481581.82349 -8934614.49948 21085823.3704 21085829.9284
+ 2427.0284 1891.1864
+ 21417867.3084 -18755475.08849 -14596755.39147 21417867.6404 21417873.0624
+ -1860.3204 -1449.6054
+ 20323119.4444 -27611196.51749 -21501757.38748 20323119.1414 20323122.7804
+ 373.2054 290.8094
+ 22260974.1284 -8292564.68249 -6439991.08747 22260973.9354 22260979.7404
+ -1177.8634 -917.8224
+ 21814477.6334 -19859948.71649 -15448565.43147 21814476.5804 21814483.3674
+ 1587.9264 1237.3444
+ 23468098.2104 -5761837.42549 -4146840.30546 23468099.1094 23468105.5934
+ -521.3654 -406.2474
+ 22745909.4464 -7817122.52949 -6078184.23946 22745909.9584 22745915.6004
+ 790.7304 616.1574
+ 22191246.9554 -14059727.25649 -10502135.08947 22191247.2554 22191254.1484
+ -1976.0424 -1539.7664
+ 05 1 20 21 34 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23675358.0794 -7895037.81649 -6107287.40045 23675358.2904 23675366.6624
+ -3129.0294 -2438.2064
+ 21072011.9064 -11554165.77749 -8991173.40048 21072011.3804 21072017.7444
+ 2411.8844 1879.3894
+ 21428502.2894 -18699589.15449 -14553207.91347 21428502.6684 21428508.1504
+ -1865.3544 -1453.5224
+ 20321015.9474 -27622248.95449 -21510369.67448 20321015.9844 20321019.2744
+ 363.5944 283.3214
+ 22267746.8344 -8256974.26049 -6412258.28647 22267746.4084 22267752.6854
+ -1194.8304 -931.0394
+ 21805426.3754 -19907510.34749 -15485626.42447 21805425.8314 21805432.6604
+ 1582.7524 1233.3154
+ 23471131.3544 -5745904.08049 -4134424.69446 23471131.3004 23471136.2754
+ -540.8024 -421.4054
+ 22741451.2524 -7840553.56349 -6096442.17046 22741450.7094 22741456.2434
+ 771.3704 601.0574
+ 22202538.3814 -14000395.15449 -10455902.29447 22202537.4964 22202544.6114
+ -1979.4414 -1542.4254
+ 05 1 20 21 34 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23693241.9514 -7801061.38949 -6034059.01445 23693240.4024 23693248.1214
+ -3136.0264 -2443.6624
+ 21058286.3544 -11626294.63449 -9047377.66448 21058285.2694 21058292.1994
+ 2396.6964 1867.5534
+ 21439166.5024 -18643550.48749 -14509541.42247 21439166.2074 21439171.7544
+ -1870.4814 -1457.5194
+ 20318968.1864 -27633012.34049 -21518756.71648 20318967.6284 20318971.1764
+ 353.9534 275.8084
+ 22274615.4644 -8220875.18149 -6384129.14447 22274615.3494 22274621.5584
+ -1211.7424 -944.2254
+ 21796405.2864 -19954916.68349 -15522566.41847 21796404.6514 21796411.4394
+ 1577.5904 1229.2934
+ 23474273.9404 -5729385.88949 -4121553.40346 23474274.8324 23474279.6924
+ -560.3684 -436.6574
+ 22737100.4624 -7863404.12649 -6114247.78946 22737102.1814 22737108.8954
+ 752.0034 585.9864
+ 22213847.2784 -13940961.45249 -10409590.32447 22213847.3834 22213854.2874
+ -1982.7904 -1545.0304
+ 05 1 20 21 35 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23711163.9954 -7706874.92249 -5960666.99045 23711164.7524 23711173.0584
+ -3142.9974 -2449.0864
+ 21044648.0874 -11697966.76749 -9103226.04548 21044647.2204 21044653.0374
+ 2381.4504 1855.6764
+ 21449859.2374 -18587359.69249 -14465756.39347 21449859.5214 21449864.4574
+ -1875.4944 -1461.4234
+ 20316974.8124 -27643486.56949 -21526918.45048 20316974.5544 20316977.8734
+ 344.3164 268.2974
+ 22281580.3524 -8184269.42649 -6355605.16147 22281579.6714 22281587.8154
+ -1228.6224 -957.3634
+ 21787413.6884 -20002167.73649 -15559385.40247 21787413.1004 21787420.0074
+ 1572.4104 1225.2544
+ 23477527.0104 -5712283.04549 -4108226.50346 23477527.7574 23477533.2824
+ -579.8354 -451.8194
+ 22732864.7214 -7885673.86949 -6131600.83146 22732864.2154 22732870.7924
+ 732.6574 570.9014
+ 22225176.9874 -13881426.93949 -10363199.79947 22225176.7524 22225183.0484
+ -1986.1634 -1547.6644
+ 05 1 20 21 35 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23729127.5594 -7612479.76749 -5887112.39045 23729126.8764 23729135.5064
+ -3149.8734 -2454.4484
+ 21031095.8624 -11769181.05149 -9158717.66148 21031094.9134 21031101.9134
+ 2366.1614 1843.7604
+ 21460580.2224 -18531017.20549 -14421853.16347 21460580.7334 21460586.5154
+ -1880.5714 -1465.3794
+ 20315036.1964 -27653672.10849 -21534855.22248 20315036.2344 20315039.6854
+ 334.7074 260.8104
+ 22288643.1874 -8147158.61349 -6326687.65647 22288643.3054 22288649.8184
+ -1245.4154 -970.4534
+ 21778452.0724 -20049263.21149 -15596083.15847 21778451.0024 21778457.8594
+ 1567.2214 1221.2104
+ 23480895.1624 -5694595.71249 -4094444.17346 23480895.1914 23480900.1714
+ -599.3094 -466.9954
+ 22728737.6614 -7907362.15349 -6148500.76846 22728737.0704 22728743.6224
+ 713.2804 555.8054
+ 22236525.5064 -13821791.99449 -10316731.02447 22236525.1194 22236531.5104
+ -1989.5084 -1550.2644
+ 05 1 20 21 36 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23747129.2384 -7517877.45349 -5813396.31845 23747130.1654 23747137.4304
+ -3156.7644 -2459.8074
+ 21017631.5764 -11839936.00949 -9213851.36148 21017630.8714 21017637.6094
+ 2350.8254 1831.8144
+ 21471330.7264 -18474523.91649 -14377832.41447 21471330.8194 21471336.6004
+ -1885.5864 -1469.2864
+ 20313152.8994 -27663568.84349 -21542566.96248 20313153.0214 20313156.4194
+ 325.0574 253.2894
+ 22295802.6204 -8109544.87149 -6297378.24647 22295801.2284 22295807.6834
+ -1262.1574 -983.4974
+ 21769519.1044 -20096203.36849 -15632659.89247 21769518.6274 21769525.2594
+ 1562.0204 1217.1554
+ 23484371.3814 -5676324.06649 -4080206.52846 23484372.4414 23484376.0104
+ -618.8064 -482.1854
+ 22724720.9184 -7928468.55249 -6164947.29346 22724721.0564 22724727.6064
+ 693.8754 540.6854
+ 22247892.0674 -13762056.74649 -10270184.07447 22247892.2134 22247898.9544
+ -1992.8424 -1552.8614
+ 05 1 20 21 36 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23765172.9524 -7423069.20949 -5739519.78145 23765172.1074 23765180.3704
+ -3163.6334 -2465.1684
+ 21004255.3644 -11910230.21049 -9268626.03448 21004254.8044 21004260.8714
+ 2335.4344 1819.8184
+ 21482109.6454 -18417880.44349 -14333694.65247 21482109.5974 21482115.7344
+ -1890.5704 -1473.1724
+ 20311324.6194 -27673176.79549 -21550053.67148 20311324.6664 20311328.3604
+ 315.4384 245.7964
+ 22303055.6104 -8071429.72649 -6267678.15447 22303054.5754 22303059.4994
+ -1278.8344 -996.4844
+ 21760616.3554 -20142988.18949 -15669115.58247 21760615.7694 21760622.3214
+ 1556.8654 1213.1384
+ 23487958.6434 -5657468.59949 -4065513.95546 23487958.8754 23487964.8814
+ -638.2794 -497.3554
+ 22720815.0304 -7948992.66749 -6180940.10246 22720815.6524 22720821.8834
+ 674.4384 525.5324
+ 22259278.4674 -13702221.65149 -10223559.32647 22259278.0734 22259284.5444
+ -1996.1724 -1555.4594
+ 05 1 20 21 37 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23783252.6324 -7328056.48949 -5665483.93045 23783250.3084 23783259.6764
+ -3170.5014 -2470.5224
+ 20990966.2164 -11980062.23149 -9323040.56548 20990965.3884 20990972.0764
+ 2319.9984 1807.7894
+ 21492917.2454 -18361087.22749 -14289440.20247 21492917.0924 21492922.8504
+ -1895.5784 -1477.0704
+ 20309551.3034 -27682495.97249 -21557315.36748 20309551.2554 20309554.5844
+ 305.8104 238.2944
+ 22310401.6454 -8032815.51149 -6237589.15347 22310401.6394 22310408.5354
+ -1295.4374 -1009.4264
+ 21751742.9954 -20189617.70349 -15705450.24947 21751742.5504 21751748.8574
+ 1551.6864 1209.1044
+ 23491657.6924 -5638029.39349 -4050366.49646 23491658.9074 23491664.8934
+ -657.7124 -512.4984
+ 22717020.7074 -7968934.18049 -6196478.91546 22717021.2184 22717026.7214
+ 655.0254 510.4144
+ 22270683.2844 -13642287.02449 -10176857.02747 22270683.2244 22270689.9204
+ -1999.4834 -1558.0364
+ 05 1 20 21 37 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23801370.8934 -7232840.85949 -5591289.97345 23801370.8574 23801378.5934
+ -3177.1384 -2475.7024
+ 20977766.2264 -12049430.52949 -9377093.74848 20977765.4334 20977771.9314
+ 2304.5034 1795.7144
+ 21503753.3714 -18304145.02549 -14245069.64947 21503753.2434 21503758.6424
+ -1900.5324 -1480.9364
+ 20307833.2024 -27691526.50249 -21564352.13348 20307832.8734 20307836.4324
+ 296.1934 230.8004
+ 22317845.6124 -7993704.16549 -6207112.78747 22317844.4884 22317850.7544
+ -1311.9744 -1022.3194
+ 21742899.7424 -20236091.74249 -15741663.77047 21742898.8684 21742905.1014
+ 1546.5414 1205.0944
+ 23495469.0094 -5618006.63249 -4034764.34746 23495468.5254 23495474.3344
+ -677.1164 -527.6314
+ 22713338.1284 -7988292.81549 -6211563.55646 22713337.4564 22713342.2904
+ 635.5704 495.2484
+ 22282108.2004 -13582253.39249 -10130077.57847 22282107.7874 22282114.4274
+ -2002.7774 -1560.6024
+ 05 1 20 21 38 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23819528.7374 -7137423.62949 -5516938.91445 23819527.6764 23819536.0014
+ -3183.8694 -2480.9264
+ 20964654.9264 -12118333.80149 -9430784.58048 20964653.6684 20964660.0384
+ 2289.0094 1783.6414
+ 21514616.8024 -18247054.30749 -14200583.38847 21514617.0694 21514622.8974
+ -1905.4384 -1484.7584
+ 20306169.7604 -27700268.52149 -21571164.09248 20306169.1874 20306172.5364
+ 286.6034 223.3284
+ 22325381.4034 -7954097.63349 -6176250.57047 22325381.0654 22325387.6654
+ -1328.4224 -1035.1344
+ 21734085.6744 -20282410.57649 -15777756.35248 21734084.9214 21734091.2504
+ 1541.3574 1201.0584
+ 23499388.8434 -5597400.84649 -4018707.87446 23499389.6294 23499395.3644
+ -696.6064 -542.8084
+ 22709762.3084 -8007068.03649 -6226193.59246 22709764.0294 22709770.0394
+ 616.1394 480.1084
+ 22293550.1364 -13522121.26449 -10083221.38047 22293550.7884 22293557.4434
+ -2006.0414 -1563.1484
+ 05 1 20 21 38 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23837724.1004 -7041806.28749 -5442431.94345 23837723.3104 23837731.3604
+ -3190.5404 -2486.1294
+ 20951630.3714 -12186770.59049 -9484111.91148 20951629.7624 20951636.7104
+ 2273.4074 1771.4874
+ 21525509.0164 -18189815.76849 -14155981.93147 21525509.4794 21525514.7174
+ -1910.3924 -1488.6184
+ 20304560.5664 -27708721.88949 -21577751.12548 20304560.5574 20304563.9844
+ 276.9694 215.8224
+ 22333012.8804 -7913997.98149 -6145004.09947 22333011.9914 22333018.9274
+ -1344.8524 -1047.9334
+ 21725300.3224 -20328573.85049 -15813727.71348 21725300.0774 21725306.8454
+ 1536.1684 1197.0154
+ 23503421.2054 -5576212.44549 -4002197.43046 23503420.8654 23503427.0104
+ -715.9964 -557.9024
+ 22706302.1724 -8025259.71749 -6240368.91546 22706302.3124 22706307.9954
+ 596.6774 464.9454
+ 22305010.4854 -13461890.97249 -10036288.68047 22305011.2844 22305018.7724
+ -2009.2974 -1565.6804
+ 05 1 20 21 39 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23855957.3564 -6945990.20349 -5367770.10045 23855956.4484 23855963.6384
+ -3197.1134 -2491.2634
+ 20938698.0404 -12254739.56849 -9537074.71848 20938696.7874 20938702.4354
+ 2257.8274 1759.3504
+ 21536429.2774 -18132429.89049 -14111265.66447 21536429.4324 21536435.3124
+ -1915.2614 -1492.4064
+ 20303007.2744 -27716886.67149 -21584113.28648 20303006.9984 20303010.1604
+ 267.3404 208.3214
+ 22340737.5274 -7873407.06049 -6113374.81647 22340736.5104 22340742.9504
+ -1361.2124 -1060.6774
+ 21716544.8134 -20374581.84249 -15849578.07047 21716544.4244 21716551.5634
+ 1530.9674 1192.9624
+ 23507564.8154 -5554441.67449 -3985233.17546 23507565.1404 23507570.4174
+ -735.3814 -573.0294
+ 22702952.0384 -8042867.44949 -6254089.23646 22702952.8244 22702958.1074
+ 577.2204 449.7784
+ 22316491.7824 -13401563.03149 -9989279.89747 22316492.2244 22316498.1664
+ -2012.5474 -1568.2194
+ 05 1 20 21 39 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23874227.8674 -6849976.80249 -5292954.49045 23874227.1914 23874236.1424
+ -3203.6924 -2496.3734
+ 20925851.5624 -12322239.55949 -9589672.07448 20925851.1874 20925857.7654
+ 2242.1594 1747.1354
+ 21547377.0854 -18074897.29649 -14066435.07547 21547377.4394 21547383.6824
+ -1920.1674 -1496.2314
+ 20301508.1294 -27724763.00149 -21590250.68248 20301508.1434 20301511.1694
+ 257.7314 200.8334
+ 22348554.1684 -7832327.10249 -6081364.46747 22348553.3824 22348559.8264
+ -1377.4624 -1073.3394
+ 21707820.2734 -20420434.31649 -15885307.25848 21707819.4834 21707826.3014
+ 1525.8224 1188.9534
+ 23511818.0164 -5532088.87249 -3967815.42446 23511819.5784 23511823.2524
+ -754.7664 -588.1124
+ 22699711.7484 -8059891.03249 -6267354.33746 22699711.5654 22699717.6114
+ 557.7624 434.6174
+ 22327990.0684 -13341137.84249 -9942195.33547 22327989.7534 22327997.0504
+ -2015.8074 -1570.7584
+ 05 1 20 21 40 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23892537.1364 -6753767.71749 -5217986.43345 23892536.4984 23892543.1174
+ -3210.1994 -2501.4574
+ 20913096.6794 -12389269.18549 -9641902.91948 20913095.9844 20913102.5024
+ 2226.4584 1734.9014
+ 21558353.5384 -18017218.67649 -14021490.70947 21558353.3644 21558359.5494
+ -1925.0044 -1500.0004
+ 20300065.0704 -27732350.91149 -21596163.32548 20300064.2904 20300067.4034
+ 248.1124 193.3334
+ 22356464.3464 -7790759.85649 -6048974.40747 22356463.1954 22356469.8444
+ -1393.6714 -1085.9774
+ 21699124.1344 -20466131.18449 -15920915.18548 21699123.6854 21699130.2654
+ 1520.6144 1184.8924
+ 23516182.4844 -5509154.70249 -3949944.61846 23516182.2514 23516188.3854
+ -774.0734 -603.1724
+ 22696583.8364 -8076330.21149 -6280164.10046 22696584.5734 22696590.6134
+ 538.2434 419.4194
+ 22339507.1354 -13280615.50849 -9895035.07547 22339506.4664 22339514.2114
+ -2019.0284 -1573.2764
+ 05 1 20 21 40 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23910881.9824 -6657364.30849 -5142866.91745 23910880.5654 23910887.9094
+ -3216.6274 -2506.4554
+ 20900431.8734 -12455827.14349 -9693766.22348 20900430.4684 20900436.8604
+ 2210.7114 1722.6294
+ 21569356.0884 -17959394.64949 -13976433.03147 21569356.8984 21569362.7654
+ -1929.8604 -1503.7834
+ 20298675.4514 -27739650.42149 -21601851.24648 20298675.1204 20298678.5314
+ 238.4924 185.8404
+ 22364466.4884 -7748707.43349 -6016206.31147 22364466.2694 22364472.4814
+ -1409.8164 -1098.5554
+ 21690457.6814 -20511672.99149 -15956402.28548 21690457.0914 21690463.9134
+ 1515.4194 1180.8504
+ 23520657.9344 -5485639.11349 -3931620.78546 23520658.8714 23520662.7254
+ -793.5314 -618.3264
+ 22693566.4454 -8092184.81049 -6292518.31546 22693566.9824 22693573.2814
+ 518.7614 404.2244
+ 22351043.0724 -13219996.48649 -9847799.47347 22351042.2854 22351049.2624
+ -2022.2364 -1575.7644
+ 05 1 20 21 41 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23929261.4074 -6560767.94549 -5067597.08445 23929261.7524 23929270.6214
+ -3223.0254 -2511.4474
+ 20887855.6344 -12521912.22649 -9745261.06148 20887855.0274 20887861.2704
+ 2194.9414 1710.3454
+ 21580388.0904 -17901425.56849 -13931262.31747 21580387.9114 21580393.6434
+ -1934.6604 -1507.5344
+ 20297341.3274 -27746661.54949 -21607314.45348 20297340.9724 20297344.3344
+ 228.8844 178.3494
+ 22372560.2154 -7706172.00949 -5983061.85347 22372560.2104 22372567.0044
+ -1425.8904 -1111.0784
+ 21681821.1724 -20557059.25049 -15991768.18148 21681820.5424 21681827.2944
+ 1510.2514 1176.8194
+ 23525241.1434 -5461543.32349 -3912844.83246 23525242.3254 23525248.9574
+ -812.8734 -633.4104
+ 22690660.5524 -8107454.59549 -6304416.85146 22690661.1204 22690667.1634
+ 499.2764 389.0474
+ 22362597.5504 -13159281.03749 -9800488.74347 22362597.0604 22362603.1894
+ -2025.4454 -1578.2764
+ 05 1 20 21 41 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23947682.7134 -6463980.23249 -4992178.16045 23947680.2284 23947687.9034
+ -3229.3564 -2516.3824
+ 20875370.6674 -12587523.19049 -9796386.44948 20875369.2264 20875376.1524
+ 2179.1204 1698.0134
+ 21591447.3394 -17843312.11349 -13885979.11647 21591447.0784 21591452.0224
+ -1939.4924 -1511.2914
+ 20296062.2804 -27753384.43949 -21612553.06048 20296061.6534 20296065.1664
+ 219.2874 170.8714
+ 22380746.9834 -7663155.50249 -5949542.49347 22380745.9074 22380752.7464
+ -1441.8914 -1123.5444
+ 21673214.2104 -20602289.82349 -16027012.76948 21673213.7764 21673220.3124
+ 1505.0564 1172.7724
+ 23529938.3424 -5436867.43049 -3893616.88146 23529938.3004 23529944.2574
+ -832.2394 -648.5074
+ 22687864.6554 -8122139.49749 -6315859.61646 22687865.5484 22687873.1154
+ 479.7504 373.8224
+ 22374168.3124 -13098469.53349 -9753103.17347 22374168.6464 22374175.6694
+ -2028.6524 -1580.7644
+ 05 1 20 21 42 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23966134.3644 -6367002.63449 -4916611.22745 23966135.1464 23966143.3584
+ -3235.6804 -2521.3024
+ 20862974.7344 -12652658.82049 -9847141.44848 20862974.3864 20862981.0184
+ 2163.2604 1685.6514
+ 21602531.8204 -17785054.89949 -13840583.88947 21602532.6184 21602538.2604
+ -1944.2644 -1515.0044
+ 20294837.8094 -27759819.07549 -21617567.05348 20294837.1914 20294840.4974
+ 209.6674 163.3734
+ 22389022.8564 -7619660.16749 -5915650.02547 22389022.1244 22389029.3034
+ -1457.8124 -1135.9534
+ 21664636.1494 -20647364.94749 -16062136.22048 21664635.5284 21664642.7204
+ 1499.8684 1168.7304
+ 23534742.9914 -5411612.12349 -3873937.42546 23534744.4194 23534750.1454
+ -851.5544 -663.5434
+ 22685182.8454 -8136239.32249 -6326846.47846 22685183.1384 22685189.7994
+ 460.2654 358.6504
+ 22385758.9174 -13037562.38049 -9705643.05347 22385758.7414 22385765.8444
+ -2031.8324 -1583.2464
+ 05 1 20 21 42 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 23984624.2644 -6269836.63049 -4840897.50545 23984624.4754 23984631.5844
+ -3241.9704 -2526.2104
+ 20850671.0504 -12717317.94049 -9897525.14648 20850670.1774 20850676.6714
+ 2147.3514 1673.2564
+ 21613646.2274 -17726654.44649 -13795077.04847 21613646.1094 21613651.4404
+ -1949.0304 -1518.7234
+ 20293667.8194 -27765965.40949 -21622356.40348 20293667.4004 20293670.7534
+ 200.0664 155.8934
+ 22397390.3704 -7575688.25449 -5881386.22447 22397390.0484 22397397.0484
+ -1473.6544 -1148.2934
+ 21656088.5004 -20692284.33249 -16097138.31948 21656087.9194 21656094.8854
+ 1494.6774 1164.6814
+ 23539659.7844 -5385777.98349 -3853806.91146 23539660.0644 23539665.3784
+ -870.7874 -678.5504
+ 22682610.5274 -8149754.00549 -6337377.37746 22682611.0124 22682618.2564
+ 440.7664 343.4584
+ 22397367.6234 -12976559.73349 -9658108.53647 22397367.4824 22397373.6874
+ -2035.0144 -1585.7194
+ 05 1 20 21 43 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24003150.0984 -6172483.72449 -4765038.16345 24003149.6764 24003157.5564
+ -3248.1904 -2531.0494
+ 20838457.3874 -12781499.16949 -9947536.45848 20838457.0734 20838463.5484
+ 2131.4074 1660.8394
+ 21624785.7234 -17668111.15049 -13749458.89647 21624786.0914 21624792.0164
+ -1953.7824 -1522.4294
+ 20292552.9484 -27771823.68149 -21626921.28148 20292552.6424 20292556.0214
+ 190.4584 148.4114
+ 22405848.7074 -7531241.68349 -5846752.53747 22405847.9284 22405854.6974
+ -1489.4364 -1160.5934
+ 21647570.3674 -20737048.52049 -16132019.48548 21647569.4454 21647576.4924
+ 1489.5184 1160.6654
+ 23544687.4564 -5359365.25249 -3833225.56546 23544687.1484 23544692.0384
+ -890.0604 -693.5394
+ 22680151.3244 -8162683.42049 -6347452.24046 22680151.1194 22680157.6644
+ 421.2444 328.2394
+ 22408994.7734 -12915462.21649 -9610500.08647 22408993.9184 22408999.9914
+ -2038.1604 -1588.1834
+ 05 1 20 21 43 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24021711.0814 -6074945.44349 -4689034.36945 24021710.2464 24021719.1254
+ -3254.3034 -2535.8134
+ 20826336.1004 -12845201.45449 -9997174.56948 20826334.7964 20826341.0404
+ 2115.4094 1648.3674
+ 21635954.0304 -17609425.75049 -13703730.02147 21635953.7604 21635959.3154
+ -1958.4984 -1526.1034
+ 20291493.2484 -27777393.75249 -21631261.59348 20291492.8244 20291496.0034
+ 180.8664 140.9314
+ 22414397.3004 -7486322.46249 -5811750.55847 22414396.4114 22414402.0334
+ -1505.1564 -1172.8504
+ 21639081.7324 -20781656.72249 -16166779.11348 21639081.0724 21639087.7064
+ 1484.2974 1156.5954
+ 23549822.9484 -5332374.88149 -3812194.07046 23549823.1674 23549828.7704
+ -909.3044 -708.5524
+ 22677801.3104 -8175027.59649 -6357071.06946 22677802.3024 22677808.0394
+ 401.7674 313.0684
+ 22420639.0234 -12854270.09149 -9562817.93247 22420638.5354 22420644.3694
+ -2041.3084 -1590.6344
+ 05 1 20 21 44 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24040307.8804 -5977223.21249 -4612887.21245 24040307.7654 24040315.2144
+ -3260.3954 -2540.5664
+ 20814304.6984 -12908423.26149 -10046438.28248 20814304.0864 20814310.4614
+ 2099.3774 1635.8784
+ 21647147.8654 -17550598.72449 -13657890.78047 21647148.3374 21647153.6204
+ -1963.2324 -1529.7874
+ 20290488.2554 -27782675.84649 -21635377.50748 20290487.7884 20290490.9604
+ 171.2424 133.4354
+ 22423032.9534 -7440933.01449 -5776382.17647 22423033.6484 22423039.6364
+ -1520.7914 -1185.0414
+ 21630622.5684 -20826109.29849 -16201417.46748 21630622.3434 21630628.6384
+ 1479.1134 1152.5604
+ 23555068.4244 -5304807.43149 -3790712.94446 23555068.7574 23555073.9894
+ -928.5434 -723.5404
+ 22675563.9644 -8186786.43449 -6366233.77746 22675564.1194 22675570.3664
+ 382.2364 297.8494
+ 22432300.1904 -12792983.54049 -9515062.18647 22432300.6904 22432307.3004
+ -2044.4634 -1593.0924
+ 05 1 20 21 44 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24058940.5014 -5879318.56549 -4536597.93945 24058938.8994 24058945.1014
+ -3266.4654 -2545.2884
+ 20802365.3634 -12971163.83049 -10095326.99748 20802364.8524 20802371.4564
+ 2083.3114 1623.3584
+ 21658369.5064 -17491630.69049 -13611941.66547 21658369.5984 21658375.4944
+ -1967.9504 -1533.4674
+ 20289537.2834 -27787669.74149 -21639268.84948 20289537.1604 20289540.7814
+ 161.6374 125.9504
+ 22431761.1794 -7395075.53449 -5740649.07647 22431760.9474 22431766.1904
+ -1536.3664 -1197.1694
+ 21622193.5944 -20870405.88749 -16235934.27348 21622192.9924 21622199.1664
+ 1473.9274 1148.5114
+ 23560423.3774 -5276663.51849 -3768782.61046 23560423.7354 23560429.3984
+ -947.7334 -738.4864
+ 22673438.3124 -8197959.98349 -6374940.41846 22673438.5084 22673444.9444
+ 362.7134 282.6294
+ 22443980.9674 -12731602.97249 -9467233.18947 22443980.8204 22443987.4924
+ -2047.5894 -1595.5244
+ 05 1 20 21 45 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24077604.1654 -5781233.05649 -4460167.74145 24077604.0304 24077610.6994
+ -3272.5044 -2550.0064
+ 20790517.8224 -13033422.03049 -10143839.85348 20790517.5814 20790523.7794
+ 2067.2264 1610.8244
+ 21669617.5304 -17432522.05549 -13565882.99347 21669617.6804 21669622.9154
+ -1972.6274 -1537.1124
+ 20288642.2114 -27792375.59049 -21642935.73848 20288641.8104 20288644.9484
+ 152.0494 118.4814
+ 22440576.0484 -7348752.24849 -5704553.02047 22440574.6354 22440581.6204
+ -1551.8574 -1209.2364
+ 21613793.4584 -20914546.70949 -16270329.70148 21613793.1814 21613799.4664
+ 1468.7324 1144.4654
+ 23565889.9814 -5247943.72149 -3746403.55846 23565889.4044 23565894.5054
+ -966.9194 -753.4454
+ 22671424.2164 -8208548.17049 -6383190.95146 22671424.1654 22671429.4454
+ 343.1694 267.4004
+ 22455678.1734 -12670128.40149 -9419330.92547 22455678.7024 22455685.8444
+ -2050.7204 -1597.9694
+ 05 1 20 21 45 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24096303.5674 -5682968.17949 -4383597.75745 24096302.7204 24096309.2804
+ -3278.4394 -2554.6264
+ 20778763.1874 -13095196.57849 -10191975.83448 20778762.4724 20778768.9114
+ 2051.0614 1598.2274
+ 21680892.2024 -17373273.42249 -13519715.22547 21680892.1524 21680898.0954
+ -1977.2454 -1540.7114
+ 20287801.6124 -27796793.50849 -21646378.27348 20287801.1164 20287804.4834
+ 142.4394 110.9904
+ 22449476.7724 -7301965.14549 -5668095.55247 22449477.2364 22449485.3394
+ -1567.2794 -1221.2554
+ 21605423.2114 -20958531.94349 -16304603.89048 21605422.7184 21605429.2454
+ 1463.5284 1140.4074
+ 23571464.1704 -5218649.08949 -3723576.54746 23571464.4744 23571467.9594
+ -986.0344 -768.3574
+ 22669518.8334 -8218551.16549 -6390985.46546 22669519.2284 22669525.8564
+ 323.6894 252.2234
+ 22467395.3794 -12608560.54249 -9371355.98947 22467395.3314 22467401.6214
+ -2053.8514 -1600.3984
+ 05 1 20 21 46 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24115037.2734 -5584525.55549 -4306889.24145 24115035.9324 24115043.0184
+ -3284.3014 -2559.1904
+ 20767098.9764 -13156486.41649 -10239734.11148 20767098.7284 20767105.5594
+ 2034.9114 1585.6494
+ 21692192.3664 -17313885.31249 -13473438.77747 21692193.1244 21692199.0564
+ -1981.9114 -1544.3444
+ 20287014.9394 -27800923.55049 -21649596.48948 20287015.2974 20287018.5544
+ 132.8634 103.5354
+ 22458469.4764 -7254716.57549 -5631278.48547 22458469.0194 22458475.7424
+ -1582.6094 -1233.2044
+ 21597082.3284 -21002360.96649 -16338756.36048 21597082.3014 21597088.9964
+ 1458.3554 1136.3814
+ 23577146.5514 -5188780.02749 -3700301.93246 23577146.5794 23577153.1304
+ -1005.1864 -783.2604
+ 22667728.1704 -8227968.96949 -6398324.00046 22667728.4004 22667734.0894
+ 304.1754 237.0194
+ 22479129.1684 -12546899.52049 -9323308.43947 22479128.4334 22479135.6704
+ -2056.9264 -1602.7954
+ 05 1 20 21 46 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24133804.0084 -5485906.56549 -4230043.32545 24133802.4684 24133809.9054
+ -3290.2254 -2563.8174
+ 20755529.7854 -13217290.31849 -10287113.75148 20755528.7284 20755534.7904
+ 2018.6814 1572.9994
+ 21703521.3074 -17254358.14949 -13427053.98447 21703520.8744 21703526.2784
+ -1986.4864 -1547.9074
+ 20286284.7024 -27804765.64249 -21652590.32848 20286284.1724 20286287.3574
+ 123.2584 96.0474
+ 22467549.9074 -7207008.90649 -5594103.70847 22467548.6004 22467554.3314
+ -1597.8774 -1245.0964
+ 21588772.5044 -21046034.38149 -16372787.58548 21588771.7274 21588777.9274
+ 1453.1404 1132.3224
+ 23582940.0954 -5158337.31149 -3676580.35946 23582941.1934 23582946.6234
+ -1024.3354 -798.1844
+ 22666046.4384 -8236801.69949 -6405206.64246 22666047.3254 22666053.1794
+ 284.7184 221.8684
+ 22490879.9514 -12485145.61149 -9275188.51847 22490880.2924 22490887.5184
+ -2060.0154 -1605.2114
+ 05 1 20 21 47 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24152602.8104 -5387112.93249 -4153061.31445 24152602.9394 24152611.1074
+ -3295.9824 -2568.2904
+ 20744051.0954 -13277607.46149 -10334114.09648 20744050.3994 20744056.8464
+ 2002.4434 1560.3454
+ 21714874.4134 -17194692.49849 -13380561.27147 21714875.0874 21714880.0574
+ -1991.1204 -1551.5234
+ 20285608.0964 -27808319.83649 -21655359.82348 20285607.6364 20285611.0384
+ 113.6674 88.5694
+ 22476714.5854 -7158844.45549 -5556572.95947 22476713.0534 22476720.1974
+ -1613.0764 -1256.9414
+ 21580490.7924 -21089551.61749 -16406697.09848 21580490.5084 21580497.2654
+ 1447.9234 1128.2534
+ 23588841.5314 -5127321.94049 -3652412.53446 23588841.3534 23588848.8234
+ -1043.4284 -813.0574
+ 22664477.9964 -8245049.58449 -6411633.55546 22664478.5894 22664483.3654
+ 265.2364 206.6754
+ 22502649.5644 -12423299.07249 -9226996.42747 22502649.3374 22502655.9034
+ -2063.0944 -1607.6114
+ 05 1 20 21 47 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24171436.6794 -5288146.10449 -4075944.35845 24171435.6164 24171443.2314
+ -3301.7454 -2572.7814
+ 20732665.6364 -13337436.89049 -10380734.39548 20732665.0424 20732671.6804
+ 1986.1694 1547.6654
+ 21726255.4874 -17134888.98749 -13333961.14347 21726255.6374 21726260.4224
+ -1995.7034 -1555.0904
+ 20284986.0954 -27811586.17049 -21657905.01448 20284986.0044 20284989.3914
+ 104.0634 81.0864
+ 22485964.0214 -7110225.41549 -5518688.01847 22485964.9174 22485972.2244
+ -1628.1784 -1268.7084
+ 21572239.5254 -21132912.62449 -16440484.88448 21572239.2214 21572246.0674
+ 1442.7574 1124.2234
+ 23594851.8084 -5095734.78149 -3627799.17246 23594851.6004 23594859.0904
+ -1062.4684 -827.9024
+ 22663020.4574 -8252712.61349 -6417604.73246 22663019.3364 22663025.2354
+ 245.7074 191.4584
+ 22514435.6124 -12361360.38549 -9178732.53147 22514435.5284 22514442.2894
+ -2066.1574 -1609.9864
+ 05 1 20 21 48 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24190300.2794 -5189007.64449 -3998693.66945 24190301.0254 24190308.6874
+ -3307.4724 -2577.2584
+ 20721374.0954 -13396777.31449 -10426973.66348 20721373.3454 20721379.5634
+ 1969.8584 1534.9504
+ 21737661.1424 -17074947.90249 -13287253.80747 21737661.5304 21737667.7884
+ -2000.2894 -1558.6684
+ 20284419.2604 -27814564.76349 -21660225.99648 20284419.1144 20284422.4824
+ 94.4804 73.6174
+ 22495304.2914 -7061154.17849 -5480450.71347 22495303.4124 22495309.8694
+ -1643.2254 -1280.4394
+ 21564018.5614 -21176117.64249 -16474151.11948 21564017.6554 21564024.0834
+ 1437.5184 1120.1424
+ 23600974.4194 -5063576.56749 -3602740.84846 23600974.2984 23600978.6614
+ -1081.4554 -842.6934
+ 22661672.2884 -8259791.03249 -6423120.37346 22661672.2244 22661678.6454
+ 226.2234 176.2814
+ 22526239.9834 -12299329.86649 -9130397.07547 22526240.3814 22526246.0164
+ -2069.2224 -1612.3834
+ 05 1 20 21 48 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24209197.0184 -5089699.25349 -3921310.55345 24209197.1334 24209204.8904
+ -3313.0434 -2581.5924
+ 20710175.8764 -13455627.78749 -10472831.15148 20710174.5804 20710180.7834
+ 1953.5144 1522.2184
+ 21749093.6404 -17014869.85049 -13240439.74447 21749093.6164 21749099.8564
+ -2004.8554 -1562.2284
+ 20283907.1114 -27817255.52849 -21662322.69448 20283907.1054 20283910.3984
+ 84.8884 66.1464
+ 22504727.1984 -7011633.05549 -5441862.82847 22504726.1844 22504733.4054
+ -1658.1734 -1292.0864
+ 21555825.4914 -21219166.38449 -16507695.57448 21555825.4454 21555832.1314
+ 1432.3094 1116.0844
+ 23607202.1874 -5030848.09649 -3577238.15346 23607202.2964 23607206.4574
+ -1100.3684 -857.4234
+ 22660436.6224 -8266285.00649 -6428180.60946 22660436.6554 22660442.2384
+ 206.7674 161.1154
+ 22538060.4394 -12237207.53449 -9081990.07947 22538060.6724 22538067.9254
+ -2072.2794 -1614.7644
+ 05 1 20 21 49 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24228127.0894 -4990222.35149 -3843796.09745 24228126.1704 24228134.5934
+ -3318.6154 -2585.9404
+ 20699069.3204 -13513987.38849 -10518306.13148 20699068.8224 20699075.5174
+ 1937.1164 1509.4384
+ 21760552.4894 -16954655.27449 -13193519.30047 21760552.8924 21760558.4114
+ -2009.3724 -1565.7444
+ 20283450.3414 -27819658.42349 -21664195.07348 20283449.8944 20283453.1724
+ 75.2924 58.6644
+ 22514234.4814 -6961664.47949 -5402926.28247 22514234.8404 22514242.0734
+ -1673.0634 -1303.6904
+ 21547663.3374 -21262058.72949 -16541118.16448 21547663.0444 21547669.9684
+ 1427.1004 1112.0194
+ 23613537.5994 -4997550.13049 -3551291.66246 23613537.5504 23613543.0774
+ -1119.3764 -872.2554
+ 22659311.6834 -8272194.83049 -6432785.64946 22659311.6874 22659317.8294
+ 187.2434 145.9004
+ 22549900.3414 -12174993.76649 -9033511.82047 22549899.7364 22549906.7904
+ -2075.3144 -1617.1284
+ 05 1 20 21 49 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24247091.1294 -4890578.56749 -3766151.65245 24247090.1384 24247097.5404
+ -3324.2454 -2590.3214
+ 20688057.7824 -13571854.98449 -10563397.74348 20688056.7684 20688063.4234
+ 1920.6924 1496.6444
+ 21772036.2514 -16894304.63349 -13146492.83247 21772036.4834 21772042.0614
+ -2013.9024 -1569.2784
+ 20283047.7284 -27821773.56849 -21665843.23048 20283047.6644 20283050.9214
+ 65.6974 51.1894
+ 22523829.6804 -6911250.63349 -5363642.77047 22523828.8104 22523835.1474
+ -1687.8714 -1315.2314
+ 21539530.7044 -21304794.95049 -16574419.09248 21539530.4424 21539537.6954
+ 1421.8984 1107.9724
+ 23619981.1164 -4963683.72249 -3524902.27846 23619981.6934 23619988.0354
+ -1138.3244 -887.0004
+ 22658298.2544 -8277520.70249 -6436935.66846 22658298.2934 22658304.3674
+ 167.8004 130.7614
+ 22561755.5594 -12112688.93049 -8984962.61447 22561755.8704 22561763.1884
+ -2078.3474 -1619.4894
+ 05 1 20 21 50 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24266084.7154 -4790769.44049 -3688378.33545 24266082.9844 24266090.9514
+ -3329.6454 -2594.5314
+ 20677139.8714 -13629229.69949 -10608105.28748 20677139.0104 20677145.6814
+ 1904.2674 1483.8454
+ 21783546.3564 -16833818.38649 -13099360.69447 21783546.9124 21783552.4154
+ -2018.4444 -1572.8174
+ 20282700.3584 -27823600.83049 -21667267.05548 20282699.7384 20282703.3344
+ 56.1174 43.7254
+ 22533507.2594 -6860394.03949 -5324014.26247 22533506.3314 22533512.7634
+ -1702.5884 -1326.6934
+ 21531429.4644 -21347374.30549 -16607597.80048 21531428.5244 21531434.7084
+ 1416.6594 1103.8894
+ 23626533.0994 -4929249.85349 -3498070.70846 23626533.8674 23626540.6334
+ -1157.2534 -901.7504
+ 22657395.0914 -8282262.92049 -6440630.89146 22657396.3034 22657402.1084
+ 148.3964 115.6324
+ 22573630.8584 -12050292.99849 -8936342.40547 22573629.8794 22573636.9894
+ -2081.3744 -1621.8554
+ 05 1 20 21 50 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24285108.8634 -4690796.54249 -3610477.45145 24285108.7374 24285114.5714
+ -3335.0634 -2598.7484
+ 20666315.6644 -13686110.63049 -10652428.06748 20666314.6454 20666321.1644
+ 1887.7844 1470.9994
+ 21795083.3624 -16773196.98449 -13052123.23347 21795082.8644 21795088.4394
+ -2022.9064 -1576.2874
+ 20282406.8454 -27825140.58649 -21668466.85948 20282406.6014 20282410.0004
+ 46.5214 36.2484
+ 22543268.0264 -6809096.83049 -5284042.43147 22543267.8444 22543274.3874
+ -1717.2264 -1338.1084
+ 21523356.4944 -21389797.19249 -16640654.57648 21523355.7434 21523362.3334
+ 1411.4444 1099.8264
+ 23633194.6794 -4894249.43149 -3470797.66346 23633194.5824 23633200.4854
+ -1176.1214 -916.4644
+ 22656604.8414 -8286421.94449 -6443871.68046 22656604.0304 22656610.8774
+ 128.9424 100.4674
+ 22585520.6074 -11987806.33749 -8887651.51947 22585520.3284 22585528.1984
+ -2084.4064 -1624.2024
+ 05 1 20 21 51 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24304160.2654 -4590661.55449 -3532450.22145 24304161.3544 24304170.4504
+ -3340.4774 -2602.9684
+ 20655586.4424 -13742496.91249 -10696365.41048 20655585.0994 20655591.4574
+ 1871.2894 1458.1454
+ 21806643.9884 -16712441.00649 -13004780.92847 21806644.4464 21806649.7884
+ -2027.3974 -1579.7924
+ 20282168.4394 -27826392.63149 -21669442.47948 20282168.3314 20282171.9974
+ 36.9424 28.7844
+ 22553113.7904 -6757361.37649 -5243729.10847 22553113.7684 22553119.1614
+ -1731.8044 -1349.4564
+ 21515313.2204 -21432063.62049 -16673589.44348 21515312.4414 21515319.1764
+ 1406.2384 1095.7664
+ 23639962.4994 -4858683.27949 -3443083.75446 23639962.7014 23639967.4534
+ -1194.9554 -931.1434
+ 22655924.6444 -8289997.96549 -6446658.18446 22655924.0724 22655929.4164
+ 109.5134 85.3284
+ 22597428.8794 -11925229.10349 -8838890.03847 22597428.3864 22597435.0644
+ -2087.4224 -1626.5624
+ 05 1 20 21 51 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24323244.4474 -4490366.10249 -3454297.96845 24323245.3724 24323253.7754
+ -3345.8394 -2607.1424
+ 20644950.2424 -13798387.53749 -10739916.52848 20644949.3904 20644955.5674
+ 1854.7624 1445.2714
+ 21818231.6864 -16651550.91949 -12957334.11747 21818231.4324 21818236.6964
+ -2031.8764 -1583.2844
+ 20281984.7534 -27827357.00849 -21670193.93848 20281984.8764 20281988.1944
+ 27.3514 21.3104
+ 22563042.2474 -6705189.92049 -5203076.05247 22563041.8044 22563047.5344
+ -1746.2744 -1360.7324
+ 21507299.4684 -21474173.07449 -16706401.99348 21507299.4814 21507305.9604
+ 1401.0214 1091.7044
+ 23646838.4804 -4822552.83849 -3414930.13646 23646838.7604 23646844.0914
+ -1213.7374 -945.7604
+ 22655353.4744 -8292991.35249 -6448990.69246 22655354.7144 22655361.1194
+ 90.1014 70.2104
+ 22609353.4734 -11862561.64549 -8790058.26247 22609353.4364 22609360.8654
+ -2090.4434 -1628.9184
+ 05 1 20 21 52 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24342360.9954 -4389911.72249 -3376021.87145 24342360.4434 24342370.9984
+ -3351.0614 -2611.2154
+ 20634408.8074 -13853781.79349 -10783080.86448 20634407.8074 20634414.4604
+ 1838.1974 1432.3624
+ 21829844.7894 -16590527.06549 -12909783.06347 21829844.0684 21829849.4434
+ -2036.3194 -1586.7394
+ 20281856.5954 -27828033.76049 -21670721.26748 20281856.1414 20281859.4264
+ 17.7414 13.8254
+ 22573051.9984 -6652585.26749 -5162085.42147 22573051.6804 22573057.7304
+ -1760.6954 -1371.9734
+ 21499316.5514 -21516125.75549 -16739092.37948 21499316.1574 21499322.7694
+ 1395.7914 1087.6304
+ 23653822.2174 -4785858.70249 -3386337.33446 23653821.6904 23653827.0134
+ -1232.5384 -960.4134
+ 22654895.5104 -8295402.52649 -6450869.51246 22654895.5904 22654902.4024
+ 70.7244 55.1064
+ 22621297.7754 -11799804.31049 -8741156.45047 22621296.2754 22621302.6704
+ -2093.4374 -1631.2524
+ 05 1 20 21 52 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24361508.4714 -4289300.03449 -3297623.23345 24361508.8964 24361517.4654
+ -3356.3084 -2615.3044
+ 20623962.6974 -13908678.77549 -10825857.71648 20623961.5014 20623967.6324
+ 1821.5894 1419.4194
+ 21841482.2364 -16529370.13649 -12862128.32947 21841482.1084 21841487.6574
+ -2040.7904 -1590.2264
+ 20281782.6214 -27828422.91749 -21671024.50148 20281782.3854 20281785.5154
+ 8.1684 6.3644
+ 22583142.4884 -6599549.96349 -5120759.22447 22583142.5804 22583150.0244
+ -1774.9944 -1383.1184
+ 21491362.7684 -21557921.37449 -16771660.37848 21491362.6404 21491369.1864
+ 1390.5144 1083.5174
+ 23660909.3884 -4748602.11549 -3357306.21746 23660911.2114 23660915.1894
+ -1251.2454 -974.9954
+ 22654547.7464 -8297231.79849 -6452294.91946 22654547.6184 22654552.9444
+ 51.3004 39.9644
+ 22633256.0824 -11736957.41249 -8692184.84547 22633255.8154 22633261.9734
+ -2096.4174 -1633.5804
+ 05 1 20 21 53 0.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24380686.7894 -4188532.66549 -3219103.28945 24380685.0634 24380693.1104
+ -3361.4584 -2619.3104
+ 20613610.8604 -13963077.55149 -10868246.35548 20613609.6724 20613616.2424
+ 1804.9714 1406.4724
+ 21853144.0664 -16468080.25249 -12814369.98147 21853144.5774 21853150.6564
+ -2045.1794 -1593.6464
+ 20281762.9504 -27828524.54849 -21671103.68748 20281762.8084 20281766.1964
+ -1.4274 -1.1104
+ 22593316.5984 -6546086.32549 -5079099.24947 22593317.2114 22593324.1634
+ -1789.2264 -1394.1964
+ 21483440.0084 -21599559.89449 -16804105.96948 21483439.2234 21483445.7284
+ 1385.2884 1079.4464
+ 23668107.3204 -4710784.07349 -3327837.61946 23668106.8924 23668113.2054
+ -1269.9924 -989.6004
+ 22654309.3404 -8298479.71549 -6453267.31346 22654309.4664 22654316.3394
+ 31.9364 24.8954
+ 22645232.2254 -11674020.86249 -8643143.36847 22645231.5194 22645239.3744
+ -2099.3824 -1635.8804
+ 05 1 20 21 53 30.0000000 0 9G 7G10G 4G 2G 5G17G13G30G24
+ 24399890.8874 -4087611.16749 -3140463.23945 24399889.4094 24399897.4954
+ -3366.5674 -2623.2994
+ 20603353.3704 -14016977.23349 -10910246.09548 20603352.9274 20603359.3544
+ 1788.3274 1393.4984
+ 21864831.9404 -16406658.11949 -12766508.58847 21864832.7194 21864838.2194
+ -2049.5364 -1597.0444
+ 20281798.2364 -27828338.44349 -21670958.66048 20281798.0404 20281801.6324
+ -10.9984 -8.5724
+ 22603574.2914 -6492196.81349 -5037107.42547 22603572.7434 22603578.3934
+ -1803.3774 -1405.2254
+ 21475545.4264 -21641041.08949 -16836428.96348 21475545.3104 21475552.0384
+ 1380.0654 1075.3734
+ 23675410.3464 -4672405.61149 -3297932.32846 23675410.3474 23675415.5104
+ -1288.6104 -1004.1074
+ 22654181.5744 -8299146.75449 -6453787.08646 22654183.2254 22654189.2714
+ 12.6034 9.8234
+ 22657224.8684 -11610995.07849 -8594032.37747 22657224.9664 22657232.8274
+ -2102.3254 -1638.1654
+ 05 1 20 21 54 0.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24969459.6374 -263647.76849 -194838.71944
+ 3365.9614 2622.9274
+ 24419124.5044 -3986537.28349 -3061704.40445 24419123.7454 24419131.8534
+ -3371.5964 -2627.2214
+ 20593191.7484 -14070377.01749 -10951856.29848 20593190.9044 20593197.3374
+ 1771.6594 1380.5134
+ 21876546.8154 -16345104.01249 -12718544.33747 21876545.8424 21876552.0014
+ -2053.9844 -1600.5094
+ 20281888.6584 -27827864.75549 -21670589.54848 20281888.2424 20281891.6934
+ -20.5834 -16.0394
+ 22613908.4354 -6437883.89849 -4994785.68147 22613907.9964 22613914.3964
+ -1817.4694 -1416.2084
+ 21467682.3104 -21682365.03749 -16868629.43048 21467681.6304 21467688.3734
+ 1374.8404 1071.3014
+ 23682819.7404 -4633467.84749 -3267591.18845 23682819.9884 23682824.5174
+ -1307.2404 -1018.6214
+ 22654165.5674 -8299233.40849 -6453854.59746 22654165.9344 22654172.8294
+ -6.7854 -5.2714
+ 22669235.6694 -11547880.40249 -8544852.11747 22669235.8364 22669241.9394
+ -2105.3024 -1640.4924
+ 05 1 20 21 54 30.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24950240.5284 -364616.78949 -30820.03643
+ 3365.1124 2622.1654
+ 24438386.8084 -3885312.52349 -2982828.04145 24438385.7354 24438394.3664
+ -3376.5744 -2631.0974
+ 20583125.9624 -14123276.05949 -10993076.31348 20583125.0054 20583131.3944
+ 1754.9694 1367.5084
+ 21888283.8574 -16283418.43849 -12670477.66847 21888284.1524 21888290.5414
+ -2058.3304 -1603.8974
+ 20282032.8044 -27827103.52149 -21669996.37748 20282033.2824 20282036.5394
+ -30.1594 -23.5024
+ 22624321.6984 -6383150.06749 -4952135.97947 22624322.3464 22624329.7234
+ -1831.4494 -1427.1054
+ 21459847.9354 -21723531.45349 -16900707.14848 21459847.7834 21459854.4914
+ 1369.5674 1067.1894
+ 23690335.6924 -4593972.04549 -3236815.26845 23690335.8174 23690340.7464
+ -1325.8214 -1033.1094
+ 22654260.6894 -8298740.11749 -6453470.20246 22654260.1954 22654266.2734
+ -26.0674 -20.3364
+ 22681264.3894 -11484677.01549 -8495602.72547 22681263.6554 22681269.3194
+ -2108.2414 -1642.7984
+ 05 1 20 21 55 0.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24931035.8034 -465553.00649 -109471.90845
+ 3363.8574 2621.8824
+ 24457677.5234 -3783938.54949 -2903835.41845 24457676.1044 24457685.5374
+ -3381.4934 -2634.9234
+ 20573154.2324 -14175673.89449 -11033905.78148 20573153.5514 20573160.3184
+ 1738.2484 1354.4774
+ 21900046.7954 -16221601.87049 -12622308.91747 21900047.3414 21900053.5974
+ -2062.7024 -1607.2984
+ 20282233.6244 -27826054.67349 -21669179.08748 20282232.9274 20282236.3084
+ -39.7554 -30.9794
+ 22634819.5034 -6327997.99149 -4909160.35147 22634818.6974 22634824.4374
+ -1845.3524 -1437.9324
+ 21452045.1354 -21764540.62749 -16932662.34348 21452044.3464 21452050.8694
+ 1364.3134 1063.1044
+ 23697956.2284 -4553919.45149 -3205605.44645 23697957.2334 23697963.3314
+ -1344.3504 -1047.5444
+ 22654465.4934 -8297667.40049 -6452634.32546 22654465.5794 22654470.3064
+ -45.3724 -35.3884
+ 22693306.9734 -11421384.97849 -8446284.26947 22693307.0764 22693313.7144
+ -2111.1974 -1645.0904
+ 05 1 20 21 55 30.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24911831.8874 -566454.57549 -188096.28745
+ 3362.6184 2619.9724
+ 24476996.8594 -3682417.11649 -2824727.86745 24476996.5154 24477000.8424
+ -3386.4494 -2638.7914
+ 20563279.6454 -14227569.66849 -11074344.03648 20563278.5054 20563284.9434
+ 1721.4784 1341.4094
+ 21911835.6694 -16159654.66149 -12574038.37547 21911835.5654 21911841.1564
+ -2067.0734 -1610.7184
+ 20282487.1214 -27824718.19249 -21668137.67148 20282486.9144 20282490.5744
+ -49.3444 -38.4524
+ 22645392.6014 -6272430.10049 -4865860.69947 22645392.6484 22645398.4644
+ -1859.1654 -1448.7024
+ 21444270.8004 -21805391.97049 -16964494.55048 21444270.4914 21444276.9464
+ 1359.0394 1058.9914
+ 23705685.6974 -4513311.16349 -3173962.64645 23705684.5594 23705690.4874
+ -1362.8084 -1061.9264
+ 22654778.9184 -8296015.93349 -6451347.44846 22654779.4324 22654785.1944
+ -64.6504 -50.3684
+ 22705368.2244 -11358004.41749 -8396896.83747 22705368.1234 22705375.1284
+ -2114.1524 -1647.3824
+ 05 1 20 21 56 0.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24892641.8764 -667319.56349 -266692.28445 24892641.5614 24892651.9804
+ 3361.4014 2619.2754
+ 24496343.9004 -3580749.70049 -2745506.45345 24496340.4144 24496348.5514
+ -3391.2944 -2642.5614
+ 20553499.2234 -14278962.63749 -11114390.48948 20553498.7934 20553504.9514
+ 1704.7154 1328.3524
+ 21923648.4984 -16097577.22949 -12525666.34147 21923648.8454 21923654.8094
+ -2071.4104 -1614.0854
+ 20282796.6194 -27823094.18449 -21666872.20748 20282796.0474 20282799.5404
+ -58.9384 -45.9274
+ 22656046.6594 -6216448.64249 -4822238.81047 22656045.5454 22656052.2324
+ -1872.9264 -1459.4154
+ 21436527.1244 -21846085.51449 -16996203.79848 21436526.6504 21436533.3394
+ 1353.8124 1054.9194
+ 23713518.0754 -4472148.66249 -3141887.95345 23713518.6104 23713524.5774
+ -1381.3094 -1076.3354
+ 22655202.8144 -8293786.24549 -6449610.02946 22655203.0934 22655209.2564
+ -83.9404 -65.4124
+ 22717445.8224 -11294535.66749 -8347440.66747 22717445.7884 22717452.7554
+ -2117.0904 -1649.6824
+ 05 1 20 21 56 30.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24873457.7174 -768146.30649 -345258.52845 24873456.3034 24873462.9324
+ 3360.0524 2618.2154
+ 24515717.7594 -3478938.19849 -2666172.89245 24515714.8244 24515723.3164
+ -3396.0854 -2646.2874
+ 20543815.7014 -14329852.15149 -11154044.64248 20543814.7554 20543820.9604
+ 1687.9014 1315.2454
+ 21935486.4184 -16035370.05049 -12477193.21647 21935486.7634 21935493.1164
+ -2075.7854 -1617.4934
+ 20283159.6664 -27821182.76349 -21665382.78148 20283159.6694 20283163.0504
+ -68.5044 -53.3804
+ 22666775.2194 -6160056.42349 -4778296.82747 22666775.2154 22666783.5714
+ -1886.5684 -1470.0514
+ 21428813.6714 -21886621.45649 -17027790.23148 21428812.8994 21428819.8074
+ 1348.5154 1050.7914
+ 23721454.1244 -4430432.52449 -3109381.86045 23721455.7944 23721461.2654
+ -1399.7244 -1090.6894
+ 22655737.6594 -8290979.02949 -6447422.56346 22655737.2974 22655743.0584
+ -103.2024 -80.4234
+ 22729539.6154 -11230978.74149 -8297915.79946 22729539.8994 22729546.4844
+ -2120.0464 -1652.0004
+ 05 1 20 21 57 0.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24854276.7024 -868932.92749 -423793.46845 24854275.3804 24854284.6524
+ 3358.7734 2617.2214
+ 24535119.9884 -3376984.03749 -2586728.13845 24535118.3864 24535126.1824
+ -3400.8004 -2649.9874
+ 20534227.2264 -14380237.34249 -11193305.81348 20534226.4774 20534233.1974
+ 1671.0904 1302.1424
+ 21947349.0434 -15973033.46749 -12428619.26447 21947349.1144 21947354.6334
+ -2080.0054 -1620.7884
+ 20283578.7634 -27818983.83849 -21663669.32848 20283578.4004 20283581.4594
+ -78.1104 -60.8674
+ 22677584.7344 -6103255.90049 -4734036.67847 22677584.8704 22677592.0304
+ -1900.1254 -1480.6134
+ 21421129.7304 -21926998.78849 -17059253.08448 21421129.3804 21421136.0374
+ 1343.2344 1046.6684
+ 23729501.1414 -4388164.63849 -3076445.81345 23729499.7824 23729505.6154
+ -1418.1004 -1105.0084
+ 22656381.2604 -8287594.74049 -6444785.44046 22656381.1384 22656387.3844
+ -122.3814 -95.3674
+ 22741651.9854 -11167333.93349 -8248322.44547 22741651.7654 22741658.3704
+ -2122.9894 -1654.2724
+ 05 1 20 21 57 30.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24835104.7554 -969677.38349 -502295.57045 24835104.2784 24835113.1884
+ 3357.2814 2616.0604
+ 24554546.1354 -3274888.89049 -2507173.56445 24554548.5974 24554553.1324
+ -3405.4214 -2653.5664
+ 20524735.8344 -14430117.66249 -11232173.57848 20524734.7924 20524741.0034
+ 1654.2524 1289.0264
+ 21959235.6174 -15910567.87049 -12379944.77747 21959236.2684 21959241.4704
+ -2084.2934 -1624.1224
+ 20284051.7724 -27816497.38849 -21661731.82148 20284051.2694 20284054.8604
+ -87.6924 -68.3324
+ 22688472.7794 -6046049.57649 -4689460.34847 22688471.8474 22688477.5414
+ -1913.6264 -1491.1334
+ 21413476.0164 -21967218.48449 -17090593.10048 21413475.9104 21413482.5424
+ 1337.9884 1042.5864
+ 23737648.6944 -4345345.98249 -3043080.66345 23737648.3934 23737652.6624
+ -1436.4534 -1119.3174
+ 22657134.8144 -8283634.19849 -6441699.30346 22657135.0794 22657140.8744
+ -141.5744 -110.3204
+ 22753779.7544 -11103601.28949 -8198660.64547 22753779.4024 22753786.5504
+ -2125.8824 -1656.5274
+ 05 1 20 21 58 0.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24815944.3174 -1070377.90649 -580763.40645 24815941.7744 24815949.9294
+ 3355.8004 2614.9084
+ 24574003.1064 -3172654.47349 -2427510.42545 24574002.5964 24574008.3314
+ -3410.0294 -2657.1734
+ 20515339.2944 -14479492.28049 -11270647.29348 20515339.0354 20515345.5344
+ 1637.3824 1275.8874
+ 21971146.6094 -15847973.74749 -12331170.13947 21971146.5844 21971152.3384
+ -2088.5814 -1627.4604
+ 20284578.9034 -27813723.32249 -21659570.20348 20284579.0034 20284582.6184
+ -97.2774 -75.7974
+ 22699434.9584 -5988440.27149 -4644569.97147 22699434.1994 22699440.3424
+ -1926.9884 -1501.5444
+ 21405852.6484 -22007279.42249 -17121809.40548 21405852.2864 21405859.1424
+ 1332.7474 1038.5114
+ 23745899.9204 -4301977.89649 -3009287.35645 23745899.2514 23745906.2154
+ -1454.7484 -1133.5634
+ 22657997.8194 -8279097.97849 -6438164.56946 22657998.2484 22658003.6984
+ -160.7614 -125.2714
+ 22765924.7704 -11039781.52449 -8148930.97547 22765923.8904 22765930.1524
+ -2128.7874 -1658.7934
+ 05 1 20 21 58 30.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24796783.7534 -1171032.73849 -659195.64945 24796788.0714 24796796.3394
+ 3354.2304 2613.6824
+ 24593483.6754 -3070282.53549 -2347740.10245 24593482.9194 24593487.3014
+ -3414.5754 -2660.7014
+ 20506041.1584 -14528360.69949 -11308726.56548 20506039.8804 20506046.3864
+ 1620.4854 1262.7174
+ 21983082.3804 -15785251.46149 -12282295.62547 21983083.0104 21983087.9794
+ -2092.8814 -1630.8224
+ 20285162.0094 -27810661.77049 -21657184.56448 20285161.7064 20285165.2144
+ -106.8604 -83.2674
+ 22710472.8644 -5930430.50249 -4599367.58247 22710472.6764 22710479.4824
+ -1940.3084 -1511.9294
+ 21398260.1344 -22047182.00049 -17152902.31048 21398259.3384 21398265.8014
+ 1327.3974 1034.3354
+ 23754257.3984 -4258061.75649 -2975067.02145 23754258.5194 23754264.1094
+ -1473.0064 -1147.8004
+ 22658969.1744 -8273986.83449 -6434181.85446 22658970.3614 22658976.4454
+ -179.9414 -140.2214
+ 22778084.4714 -10975874.44649 -8099133.26546 22778084.3314 22778091.9124
+ -2131.7014 -1661.0584
+ 05 1 20 21 59 0.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24777643.2494 -1271639.97049 -737590.82345 24777643.8284 24777651.2734
+ 3352.6114 2612.4204
+ 24612988.4364 -2967774.71649 -2267863.89545 24612986.8504 24612996.7774
+ -3419.0524 -2664.1994
+ 20496837.6224 -14576722.27949 -11346410.90248 20496837.0814 20496843.0344
+ 1603.5974 1249.5544
+ 21995042.4364 -15722401.34249 -12233321.51447 21995042.7514 21995048.5474
+ -2097.1104 -1634.1064
+ 20285800.0174 -27807312.65049 -21654574.85848 20285799.4034 20285802.6084
+ -116.4214 -90.7184
+ 22721588.5394 -5872022.95049 -4553855.23047 22721588.0224 22721593.9354
+ -1953.5124 -1522.2124
+ 21390696.9714 -22086925.44449 -17183871.22648 21390696.1694 21390703.1664
+ 1322.1454 1030.2434
+ 23762717.7534 -4213598.79649 -2940420.48245 23762718.4254 23762724.6774
+ -1491.2014 -1161.9874
+ 22660052.0894 -8268301.60349 -6429751.81446 22660051.8274 22660058.0114
+ -199.0444 -155.1084
+ 22790263.5974 -10911880.14349 -8049267.57246 22790262.3614 22790269.5164
+ -2134.5814 -1663.3094
+ 05 1 20 21 59 30.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24758506.0864 -1372197.52349 -815947.25345 24758507.7884 24758515.7594
+ 3350.9614 2611.1354
+ 24632521.2124 -2865132.60149 -2187883.02945 24632519.3734 24632528.5884
+ -3423.5774 -2667.7194
+ 20487731.4174 -14624576.32249 -11383699.74448 20487730.7444 20487736.7194
+ 1586.6774 1236.3714
+ 22007027.9554 -15659423.78049 -12184248.09347 22007027.2244 22007032.1064
+ -2101.3344 -1637.4024
+ 20286491.3384 -27803676.09649 -21651741.17248 20286491.0924 20286494.5314
+ -126.0164 -98.1984
+ 22732779.5344 -5813220.14649 -4508034.86847 22732778.6224 22732784.0754
+ -1966.6564 -1532.4574
+ 21383164.6434 -22126510.49749 -17214716.71248 21383163.3584 21383169.9794
+ 1316.8024 1026.0794
+ 23771283.8614 -4168590.48249 -2905349.10045 23771284.3024 23771288.9494
+ -1509.3504 -1176.1094
+ 22661242.3744 -8262043.08949 -6424875.03746 22661243.1364 22661249.1454
+ -218.1374 -169.9754
+ 22802457.3904 -10847798.98349 -7999334.20446 22802457.1694 22802463.8654
+ -2137.4924 -1665.5864
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 22 0 0.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24739381.2964 -1472703.78849 -894263.73145 24739382.2754 24739389.5814
+ 3349.1944 2609.7564
+ 24652079.3944 -2762357.90148 -2107798.91144 24652076.3914 24652082.7014
+ -3428.2324 -2671.3414
+ 20478721.8614 -14671922.33249 -11420592.72748 20478720.9224 20478726.9734
+ 1569.7124 1223.1544
+ 22019034.5394 -15596319.28849 -12135075.76447 22019035.0104 22019040.5414
+ -2105.5394 -1640.6784
+ 20287238.2954 -27799752.02149 -21648683.44848 20287237.9764 20287241.3284
+ -135.5974 -105.6594
+ 22744042.7964 -5754024.63949 -4461908.51547 22744041.5884 22744049.1424
+ -1979.7004 -1542.6274
+ 21375661.2754 -22165936.41049 -17245438.19548 21375660.8334 21375667.7364
+ 1311.5324 1021.9764
+ 23779952.8404 -4123038.28549 -2869853.86545 23779953.0414 23779957.3914
+ -1527.4404 -1190.2134
+ 22662544.0324 -8255212.06849 -6419552.14746 22662543.2914 22662549.6024
+ -237.1974 -184.8394
+ 22814668.3814 -10783631.22249 -7949333.36546 22814667.1364 22814674.9504
+ -2140.3514 -1667.8044
+ 05 1 20 22 0 30.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24720269.9734 -1573156.64649 -972538.61145 24720266.6034 24720274.7814
+ 3347.3664 2608.3364
+ 24671662.2424 -2659452.52858 -2027612.93754 24671660.0354 24671667.6404
+ -3432.1154 -2674.3664
+ 20469808.7224 -14718759.78349 -11457089.42848 20469807.9474 20469814.0364
+ 1552.7474 1209.9334
+ 22031067.4964 -15533088.18349 -12085804.78147 22031067.6364 22031073.4614
+ -2109.7984 -1643.9954
+ 20288039.5584 -27795540.40549 -21645401.66148 20288039.3054 20288042.7444
+ -145.2034 -113.1444
+ 22755378.1714 -5694439.09449 -4415478.22246 22755379.3824 22755387.0394
+ -1992.6774 -1552.7374
+ 21368189.4844 -22205203.11849 -17276035.61748 21368188.6324 21368195.5004
+ 1306.1894 1017.8094
+ 23788722.5074 -4076943.43249 -2833935.74445 23788722.9294 23788728.8284
+ -1545.4964 -1204.2794
+ 22663952.5614 -8247809.22749 -6413783.69046 22663951.9214 22663958.2774
+ -256.2814 -199.6994
+ 22826893.4664 -10719376.68749 -7899264.89446 22826894.3504 22826902.2034
+ -2143.3204 -1670.1194
+ 05 1 20 22 1 0.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24701162.1674 -1673554.27649 -1050770.44146 24701161.8854 24701169.2654
+ 3345.5164 2606.8944
+ 24691268.8184 -2556416.81958 -1947325.24154 24691265.9084 24691269.8514
+ -3436.6214 -2677.8904
+ 20460992.3904 -14765088.12449 -11493189.41948 20460992.0894 20460998.3304
+ 1535.7814 1196.7154
+ 22043124.3844 -15469730.57849 -12036435.22847 22043123.6554 22043130.3604
+ -2113.9614 -1647.2434
+ 20288895.6184 -27791041.21449 -21641895.79548 20288895.6664 20288898.8994
+ -154.7914 -120.6164
+ 22766792.4474 -5634466.18649 -4368746.09747 22766792.5194 22766798.8534
+ -2005.5114 -1562.7414
+ 21360747.1594 -22244310.37649 -17306508.79448 21360746.6924 21360753.3934
+ 1300.8424 1013.6424
+ 23797598.5814 -4030307.62949 -2797596.17945 23797597.8874 23797603.2404
+ -1563.5684 -1218.3424
+ 22665468.0874 -8239835.41949 -6407570.31746 22665468.8504 22665475.5204
+ -275.2854 -214.5094
+ 22839139.6704 -10655035.59349 -7849128.98146 22839138.3954 22839145.6864
+ -2146.1354 -1672.3074
+ 05 1 20 22 1 30.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24682068.4034 -1773894.71349 -1128957.70745 24682067.1684 24682076.3024
+ 3343.6094 2605.4044
+ 24710899.1944 -2453254.77248 -1866939.23344 24710899.5244 24710905.3484
+ -3440.9824 -2681.2864
+ 20452273.6014 -14810906.82049 -11528892.28848 20452272.7144 20452279.4184
+ 1518.7944 1183.4744
+ 22055203.3244 -15406247.29049 -11986967.73047 22055204.5424 22055210.5624
+ -2118.1604 -1650.5164
+ 20289806.8764 -27786254.63549 -21638165.98648 20289806.4074 20289809.8044
+ -164.3434 -128.0604
+ 22778280.4754 -5574108.77949 -4321714.35947 22778279.1654 22778285.4244
+ -2018.3164 -1572.7214
+ 21353335.8404 -22283257.99949 -17336857.58048 21353335.3974 21353342.0654
+ 1295.5354 1009.5084
+ 23806571.6004 -3983132.12449 -2760836.04445 23806573.0514 23806580.8124
+ -1581.4834 -1232.3224
+ 22667094.0624 -8231291.64149 -6400912.82146 22667095.3894 22667101.6154
+ -294.2684 -229.2964
+ 22851399.2224 -10590608.00449 -7798925.67446 22851399.3354 22851406.0114
+ -2149.0164 -1674.5614
+ 05 1 20 22 2 0.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24662983.5474 -1874176.06449 -1207098.93146 24662984.0104 24662992.2184
+ 3341.5914 2603.8344
+ 24730554.3364 -2349966.98748 -1786455.29444 24730551.1654 24730557.8944
+ -3444.7904 -2684.2484
+ 20443651.6774 -14856215.43749 -11564197.68848 20443651.2594 20443657.2274
+ 1501.7764 1170.2134
+ 22067309.4274 -15342638.29149 -11937402.27747 22067309.5324 22067315.0214
+ -2122.3414 -1653.7724
+ 20290771.8804 -27781180.65649 -21634212.23948 20290771.8864 20290775.2674
+ -173.9444 -135.5394
+ 22789836.9514 -5513369.30049 -4274384.91647 22789837.5004 22789843.8134
+ -2030.9994 -1582.6054
+ 21345954.6224 -22322045.84249 -17367081.86648 21345953.9504 21345960.9954
+ 1290.2264 1005.3694
+ 23815654.0884 -3935418.22449 -2723656.43345 23815652.7804 23815657.9624
+ -1599.4154 -1246.2984
+ 22668828.5114 -8222178.65849 -6393811.79146 22668828.4904 22668835.2194
+ -313.2164 -244.0664
+ 22863676.5094 -10526094.29549 -7748655.25446 22863675.0644 22863681.8984
+ -2151.9004 -1676.8044
+ 05 1 20 22 2 30.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24643914.5384 -1974396.41449 -1285192.63646 24643913.4874 24643920.9794
+ 3339.4974 2602.2044
+ 24750230.8214 -2246555.12749 -1705874.69744 24750231.6564 24750238.0254
+ -3449.0894 -2687.6044
+ 20435126.8844 -14901013.24149 -11599105.06048 20435126.1904 20435132.4554
+ 1484.7334 1156.9344
+ 22079437.0784 -15278904.29849 -11887739.42847 22079437.2514 22079442.9694
+ -2126.5294 -1657.0314
+ 20291793.0364 -27775818.96749 -21630034.29248 20291792.1794 20291795.5084
+ -183.5184 -142.9984
+ 22801467.5834 -5452250.61349 -4226759.97347 22801467.5624 22801473.8584
+ -2043.5924 -1592.4124
+ 21338604.3734 -22360673.98349 -17397181.71548 21338603.7004 21338610.2134
+ 1284.8894 1001.2134
+ 23824835.4464 -3887167.53149 -2686058.45045 23824836.4374 23824843.3634
+ -1617.2994 -1260.2224
+ 22670672.0444 -8212497.53649 -6386268.01446 22670671.6584 22670678.2444
+ -332.1584 -258.8214
+ 22875968.4224 -10461494.33349 -7698317.63646 22875967.9664 22875974.9964
+ -2154.8064 -1679.0704
+ 05 1 20 22 3 0.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24624854.4574 -2074553.61449 -1363237.13146 24624853.9624 24624860.9104
+ 3337.3594 2600.5384
+ 24769932.1744 -2143020.93348 -1625198.75144 24769934.0164 24769938.9624
+ -3453.1424 -2690.7624
+ 20426699.6594 -14945299.97649 -11633614.19748 20426698.7524 20426705.0584
+ 1467.7084 1143.6694
+ 22091589.5984 -15215045.54649 -11837979.36147 22091589.4434 22091595.3324
+ -2130.6654 -1660.2594
+ 20292867.1954 -27770169.65349 -21625632.22548 20292867.1704 20292870.7424
+ -193.1234 -150.4834
+ 22813169.8474 -5390755.03249 -4178841.36347 22813170.5024 22813175.9104
+ -2056.1024 -1602.1484
+ 21331284.1064 -22399141.75249 -17427156.59348 21331283.4064 21331290.1514
+ 1279.5664 997.0694
+ 23834119.4284 -3838381.74949 -2648043.60145 23834119.8414 23834124.2834
+ -1635.0954 -1274.1074
+ 22672622.8484 -8202249.02549 -6378282.15846 22672622.6164 22672628.4204
+ -351.0484 -273.5394
+ 22888276.9924 -10396808.38849 -7647912.99846 22888277.3114 22888285.6654
+ -2157.6224 -1681.2654
+ 05 1 20 22 3 30.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24605806.5144 -2174646.05849 -1441231.15346 24605806.9914 24605814.6804
+ 3335.1644 2598.8274
+ 24789657.9294 -2039366.26948 -1544428.90344 24789659.9774 24789664.9474
+ -3457.1344 -2693.8674
+ 20418369.0754 -14989075.18449 -11667724.73348 20418368.3544 20418374.8994
+ 1450.6184 1130.3524
+ 22103765.2404 -15151062.37749 -11788122.36047 22103765.4194 22103770.5824
+ -2134.8224 -1663.4964
+ 20293997.0714 -27764232.98249 -21621006.25048 20293996.9594 20294000.1834
+ -202.6944 -157.9444
+ 22824942.6164 -5328885.60949 -4130631.42847 22824942.6364 22824949.5844
+ -2068.5354 -1611.8444
+ 21323994.9384 -22437449.48849 -17457006.76448 21323993.8874 21324000.3014
+ 1274.2094 992.8934
+ 23843505.0484 -3789062.68249 -2609613.12045 23843504.8464 23843508.0994
+ -1652.8344 -1287.9194
+ 22674678.8194 -8191434.26049 -6369855.07946 22674679.9414 22674685.4564
+ -369.9034 -288.2374
+ 22900604.3744 -10332036.62149 -7597441.50146 22900603.3584 22900610.5584
+ -2160.4924 -1683.4954
+ 05 1 20 22 4 0.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24586772.5984 -2274671.54049 -1519173.02146 24586773.1654 24586780.2804
+ 3332.9424 2597.0964
+ 24809405.9634 -1935592.71548 -1463566.41044 24809406.5454 24809411.7954
+ -3460.9834 -2696.8724
+ 20410136.3734 -15032338.29849 -11701436.24148 20410135.6694 20410142.0964
+ 1433.5674 1117.0694
+ 22115965.3764 -15086954.96649 -11738168.51947 22115964.5354 22115969.1444
+ -2138.9214 -1666.6954
+ 20295181.1634 -27758008.70449 -21616156.15848 20295181.1744 20295184.8574
+ -212.2784 -165.4054
+ 22836787.8694 -5266645.08249 -4082132.32947 22836786.6514 22836793.9864
+ -2080.8464 -1621.4374
+ 21316736.0734 -22475596.50949 -17486731.70848 21316734.9364 21316741.2954
+ 1268.8554 988.7194
+ 23852991.4264 -3739211.40549 -2570767.98045 23852991.7004 23852998.1214
+ -1670.6234 -1301.7834
+ 22676845.4764 -8180054.25949 -6360987.52146 22676844.9364 22676851.3264
+ -388.7304 -302.9044
+ 22912945.4824 -10267179.66349 -7546903.62246 22912945.6824 22912952.2234
+ -2163.3024 -1685.6844
+ 05 1 20 22 4 30.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24567751.7174 -2374628.17749 -1597061.21446 24567750.4634 24567758.7974
+ 3330.5744 2595.2484
+ 24829174.9174 -1831701.85858 -1382612.44754 24829172.9804 24829183.6984
+ -3464.9634 -2699.9674
+ 20402001.6304 -15075088.97649 -11734748.44448 20402000.7214 20402006.9234
+ 1416.4854 1103.7524
+ 22128186.3344 -15022723.80549 -11688118.27847 22128187.1234 22128192.1584
+ -2143.0694 -1669.9304
+ 20296420.7924 -27751496.74349 -21611081.90148 20296420.4254 20296423.9104
+ -221.8634 -172.8814
+ 22848699.6534 -5204036.14049 -4033346.15346 22848700.5534 22848707.9024
+ -2093.0724 -1630.9664
+ 21309506.7264 -22513582.65349 -17516331.28848 21309506.1494 21309512.8294
+ 1263.5144 984.5584
+ 23862578.1854 -3688829.41949 -2531509.24345 23862578.7704 23862583.6804
+ -1688.2184 -1315.4884
+ 22679118.2384 -8168109.89349 -6351680.20946 22679118.0644 22679124.2484
+ -407.4874 -317.5284
+ 22925304.6044 -10202237.24649 -7496299.15646 22925304.1204 22925309.7844
+ -2166.1724 -1687.9354
+ 05 1 20 22 5 0.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24548741.9214 -2474514.02749 -1674894.25446 24548742.6424 24548750.2234
+ 3328.1774 2593.3784
+ 24848963.7094 -1727695.60857 -1301568.61854 24848971.2394
+ -3468.6964 -2702.8954
+ 20393964.0064 -15117326.97149 -11767661.15748 20393963.2764 20393969.1024
+ 1399.3874 1090.4284
+ 22140433.1684 -14958369.18149 -11637971.81847 22140433.0884 22140439.3554
+ -2147.1724 -1673.1234
+ 20297715.3764 -27744697.13349 -21605783.49948 20297714.4744 20297717.7554
+ -231.4494 -180.3514
+ 22860684.5254 -5141061.59149 -3984275.07546 22860683.8074 22860690.7794
+ -2105.2444 -1640.4584
+ 21302308.7634 -22551407.93249 -17545805.52548 21302308.2744 21302314.6444
+ 1258.1154 980.3484
+ 23872267.3284 -3637918.13849 -2491838.10745 23872267.4664 23872271.8854
+ -1705.8034 -1329.2054
+ 22681496.9714 -8155602.28449 -6341934.00846 22681497.4894 22681505.1344
+ -426.2904 -332.1804
+ 22937676.6174 -10137209.33549 -7445628.06146 22937677.4274 22937685.4884
+ -2169.0364 -1690.1514
+ 05 1 20 22 5 30.0000000 0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+ 24529749.5494 -2574326.97549 -1752670.47246 24529749.0644 24529756.9064
+ 3325.7424 2591.4854
+ 24868777.1514 -1623573.37858 -1220434.69254
+ -3473.1784 -2706.3614
+ 20386024.2844 -15159052.02749 -11800174.18048 20386023.2204 20386029.3024
+ 1382.2714 1077.0954
+ 22152703.2494 -14893891.45149 -11587729.43647 22152703.4334 22152708.2664
+ -2151.2834 -1676.3294
+ 20299063.2344 -27737609.99649 -21600261.05748 20299063.0694 20299066.5994
+ -241.0424 -187.8254
+ 22872738.6884 -5077723.97549 -3934921.11046 22872738.0014 22872743.2904
+ -2117.3014 -1649.8494
+ 21295141.5554 -22589071.81849 -17575154.00948 21295141.1424 21295147.5614
+ 1252.7334 976.1554
+ 23882056.6394 -3586479.91349 -2451756.38145 23882055.0854 23882060.6894
+ -1723.4194 -1342.9264
+ 22683985.0464 -8142532.49449 -6331749.76146 22683985.4944 22683990.8834
+ -445.0084 -346.7434
+ 22950069.0564 -10072096.12749 -7394890.47846 22950068.5644 22950075.3394
+ -2171.8764 -1692.3744
+ 05 1 20 22 6 0.0000000 0 9G 6G10G 4G 2G 5G17G13G30G24
+ 24510769.3584 -2674065.07949 -1830388.35846 24510769.0644 24510777.5604
+ 3323.2104 2589.5134
+ 20378181.7854 -15200263.62449 -11832287.09348 20378180.6784 20378186.8774
+ 1365.1674 1063.7684
+ 22164995.1554 -14829290.86549 -11537391.31847 22164995.9344 22165002.0624
+ -2155.3474 -1679.4894
+ 20300466.1234 -27730235.16749 -21594514.42948 20300466.2824 20300469.8104
+ -250.6394 -195.3034
+ 22884860.0854 -5014025.98849 -3885286.35147 22884858.3324 22884865.8684
+ -2129.2624 -1659.1504
+ 21288005.3274 -22626574.87249 -17604377.15848 21288004.2424 21288011.1244
+ 1247.3704 971.9804
+ 23891942.9254 -3534515.99349 -2411264.98045 23891943.8624 23891949.0944
+ -1740.8724 -1356.5264
+ 22686578.3394 -8128901.60149 -6321128.27346 22686579.1824 22686584.7584
+ -463.6664 -361.2904
+ 22962475.7604 -10006897.76749 -7344086.57946 22962475.8654 22962482.7254
+ -2174.7044 -1694.5714
+ 05 1 20 22 6 30.0000000 0 9G 6G10G 4G 2G 5G17G13G30G24
+ 24491805.1484 -2773726.45449 -1908046.49746 24491804.1324 24491811.5994
+ 3320.6244 2587.4984
+ 20370437.2404 -15240961.18549 -11863999.47048 20370436.3264 20370442.4084
+ 1348.0144 1050.4004
+ 22177311.6654 -14764567.84449 -11486957.80547 22177312.5914 22177318.5534
+ -2159.4854 -1682.7144
+ 20301924.9444 -27722572.83949 -21588543.77948 20301924.4594 20301927.8344
+ -260.2144 -202.7634
+ 22897049.5064 -4949970.59349 -3835373.07847 22897048.8814 22897055.3484
+ -2141.1164 -1668.4004
+ 21280898.5054 -22663916.07149 -17633474.18848 21280898.4324 21280904.9204
+ 1241.9554 967.7604
+ 23901933.0244 -3482027.91749 -2370365.16945 23901932.8004 23901936.5494
+ -1758.3254 -1370.1234
+ 22689279.4144 -8114710.79749 -6310070.50946 22689279.6984 22689285.9914
+ -482.3474 -375.8514
+ 22974898.0574 -9941614.18249 -7293216.26346 22974897.7814 22974904.7484
+ -2177.5624 -1696.7844
+ 05 1 20 22 7 0.0000000 0 9G 6G10G 4G 2G 5G17G13G30G24
+ 24472854.5984 -2873309.02949 -1985643.20546 24472854.4704 24472861.8994
+ 3317.9614 2585.4254
+ 20362790.8144 -15281144.52849 -11895311.15048 20362789.7214 20362795.8834
+ 1330.8754 1037.0454
+ 22189652.8894 -14699722.82649 -11436429.23947 22189652.7514 22189658.4684
+ -2163.5334 -1685.8714
+ 20303437.4734 -27714622.90849 -21582349.02648 20303437.1554 20303440.7364
+ -269.7964 -210.2314
+ 22909305.6394 -4885560.37249 -3785183.29847 22909305.5684 22909312.6444
+ -2152.8424 -1677.5434
+ 21273824.1124 -22701095.41949 -17662445.10448 21273823.5074 21273830.2324
+ 1236.5824 963.5714
+ 23912020.2384 -3429017.70349 -2329058.51145 23912020.0224 23912024.4674
+ -1775.7134 -1383.6824
+ 22692087.3174 -8099961.09049 -6298577.22946 22692087.6794 22692092.9114
+ -500.9544 -390.3504
+ 22987336.4044 -9876245.68249 -7242279.77846 22987337.0874 22987343.7514
+ -2180.3454 -1698.9594
+ 05 1 20 22 7 30.0000000 0 9G 6G10G 4G 2G 5G17G13G30G24
+ 24453924.6024 -2972810.78349 -2063176.92846 24453920.0244 24453927.5054
+ 3315.2404 2583.2954
+ 20355241.1474 -15320813.47249 -11926222.00348 20355240.9964 20355247.1784
+ 1313.7164 1023.6714
+ 22202015.1474 -14634756.00849 -11385805.73647 22202014.7504 22202020.3304
+ -2167.5604 -1689.0114
+ 20305005.3424 -27706385.10349 -21575929.95848 20305005.0104 20305008.3054
+ -279.3964 -217.7114
+ 22921630.0044 -4820798.17949 -3734719.28747 22921629.9214 22921636.5654
+ -2164.5704 -1686.6774
+ 21266779.6174 -22738112.77449 -17691289.78648 21266779.2554 21266785.8564
+ 1231.1644 959.3494
+ 23922205.7864 -3375486.74249 -2287346.05145 23922206.1964 23922211.2034
+ -1792.9864 -1397.1294
+ 22694999.4104 -8084653.69349 -6286649.37446 22694999.4934 22695005.6944
+ -519.5164 -404.8104
+ 22999793.2024 -9810792.26949 -7191277.10146 22999793.0194 22999800.3854
+ -2183.2144 -1701.2114
+ 05 1 20 22 8 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24435003.8774 -3072229.62949 -2140646.03146 24435000.9294 24435008.1434
+ 3312.4164 2581.0924
+ 20347790.8214 -15359967.76049 -11956731.81748 20347789.8644 20347796.3124
+ 1296.5514 1010.3014
+ 22214399.7254 -14569667.60549 -11335087.50447 22214399.9534 22214405.8164
+ -2171.6214 -1692.1654
+ 20306627.7654 -27697859.54349 -21569286.65448 20306627.3554 20306630.7974
+ -288.9884 -225.1864
+ 22934020.2234 -4755686.93849 -3683983.26146 22934019.4324 22934025.4024
+ -2176.1294 -1695.6904
+ 21259766.1004 -22774967.44449 -17720007.70748 21259765.9964 21259772.6434
+ 1225.7294 955.1144
+ 23932491.1494 -3321436.84649 -2245229.23346 23932491.1244 23932496.5684
+ -1810.2884 -1410.6174
+ 22698018.7104 -8068789.91149 -6274287.96546 22698018.7644 22698023.7834
+ -538.0724 -419.2824
+ 24796045.2314 -70628.98649 -40127.35643
+ 3611.1454 2813.8784
+ 23012264.4424 -9745254.13749 -7140208.43146 23012264.2414 23012271.3274
+ -2186.0444 -1703.4224
+ 05 1 20 22 8 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24416097.8154 -3171563.53049 -2218048.94845 24416097.6534 24416106.0104
+ 3309.5334 2578.8594
+ 20340437.7744 -15398607.03349 -11986840.33148 20340437.2734 20340443.2444
+ 1279.3854 996.9244
+ 22226809.2904 -14504458.05549 -11284274.88847 22226810.1304 22226814.6864
+ -2175.6114 -1695.2774
+ 20308304.4144 -27689046.31849 -21562419.20048 20308304.4084 20308307.8804
+ -298.5824 -232.6624
+ 22946475.0734 -4690229.44849 -3632977.46346 22946474.9734 22946482.0594
+ -2187.6644 -1704.6554
+ 21252784.6564 -22811659.74449 -17748599.10048 21252783.8404 21252790.5254
+ 1220.3254 950.9004
+ 23942874.9324 -3266869.79249 -2202709.43546 23942875.3764 23942880.9414
+ -1827.5474 -1424.0574
+ 22701143.4674 -8052370.76949 -6261493.84046 22701143.2674 22701148.7274
+ -556.5244 -433.6554
+ -178996.13341 -92193.228 4 24783336.596
+ 3613.4434 2815.283
+ 23024752.1824 -9679631.34249 -7089073.78146 23024752.3904 23024758.7394
+ -2188.8414 -1705.5924
+ 05 1 20 22 9 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24397212.4164 -3270810.50949 -2295384.14846 24397211.6654 24397219.1584
+ 3306.6434 2576.6004
+ 20333183.4264 -15436731.11349 -12016547.39148 20333182.4754 20333188.9514
+ 1262.2194 983.5504
+ 22239241.0194 -14439127.64449 -11233368.07747 22239241.1244 22239247.0984
+ -2179.6664 -1698.4454
+ 20310035.8944 -27679945.40849 -21555327.58448 20310036.0874 20310039.5794
+ -308.1714 -240.1344
+ 22958996.8344 -4624428.70649 -3581704.18246 22958996.6054 22959003.3294
+ -2199.0844 -1713.5774
+ 21245832.8624 -22848189.51549 -17777063.84848 21245832.3964 21245839.0324
+ 1214.9414 946.7084
+ 23953356.8034 -3211787.27749 -2159788.02546 23953356.1504 23953362.8034
+ -1844.6384 -1437.3834
+ 22704372.3444 -8035397.58449 -6248267.97446 22704373.0174 22704379.0164
+ -574.9914 -448.0474
+ -287429.58141 -134423.449 4 24773052.614
+ 3615.4574 2815.453
+ 23037255.7324 -9613924.16649 -7037873.37646 23037255.2254 23037262.6234
+ -2191.6634 -1707.7814
+ 05 1 20 22 9 30.0000000 0 9G 6G10G 4G 2G 5G17G13G30G24
+ 24378343.1574 -3369968.45749 -2372649.96946 24378343.0714 24378350.2044
+ 3303.6264 2574.2514
+ 20326027.0054 -15474339.65049 -12045852.72848 20326026.1894 20326031.9374
+ 1245.0184 970.1414
+ 22251695.6174 -14373676.64049 -11182367.28547 22251696.4054 22251702.4054
+ -2183.7034 -1701.5964
+ 20311823.3534 -27670556.74349 -21548011.73748 20311822.8334 20311826.1264
+ -317.7644 -247.6114
+ 22971585.2724 -4558287.13049 -3530165.31346 22971584.2094 22971589.8914
+ -2210.3714 -1722.3644
+ 21238912.5734 -22884556.18149 -17805401.49748 21238911.8554 21238918.7004
+ 1209.4724 942.4454
+ 23963936.2154 -3156191.11649 -2116466.35246 23963936.5594 23963941.1474
+ -1861.7554 -1450.7174
+ 22707708.3814 -8017871.53249 -6234611.28446 22707708.7454 22707714.3264
+ -593.3854 -462.3724
+ 23049776.5154 -9548132.64049 -6986607.25546 23049775.9224 23049782.6754
+ -2194.4594 -1709.9684
+ 05 1 20 22 10 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24359490.9514 -3469035.54149 -2449844.98946 24359491.3254 24359497.9684
+ 3300.5314 2571.8344
+ 20318967.8944 -15511432.62249 -12074756.33148 20318967.1044 20318973.3734
+ 1227.8514 956.7694
+ 22264174.3574 -14308105.54849 -11131272.92047 22264174.0924 22264180.0184
+ -2187.6654 -1704.6764
+ 20313664.5374 -27660880.33549 -21540471.67648 20313664.2784 20313667.7414
+ -327.3414 -255.0724
+ 22984234.4864 -4491807.51949 -3478363.03346 22984233.4444 22984240.4074
+ -2221.5614 -1731.0914
+ 21232023.1704 -22920759.22549 -17833611.65848 21232022.5384 21232029.5374
+ 1204.0414 938.2134
+ 23974612.7154 -3100083.35149 -2072746.00346 23974613.5964 23974618.7304
+ -1878.7684 -1463.9874
+ 22711148.3434 -7999794.06649 -6220524.95046 22711148.2374 22711153.7574
+ -611.7234 -476.6694
+ -113650.85541 -72603.029 3 24713836.115
+ 3619.6564 2820.444
+ 23062310.7244 -9482256.94049 -6935275.53746 23062310.2014 23062318.1254
+ -2197.2244 -1712.1204
+ 05 1 20 22 10 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24340656.9924 -3568009.49049 -2526967.43046 24340655.7274 24340664.4104
+ 3297.4434 2569.4404
+ 20312007.2554 -15548009.95149 -12103258.13448 20312006.4614 20312012.9594
+ 1210.6504 943.3654
+ 22276674.4284 -14242414.30249 -11080084.96047 22276674.4814 22276681.1064
+ -2191.6564 -1707.7824
+ 20315560.5774 -27650915.98449 -21532707.23848 20315560.1294 20315563.9184
+ -336.9464 -262.5534
+ 22996949.7814 -4424993.11349 -3426299.88246 22996948.1894 22996954.9654
+ -2232.7204 -1739.7784
+ 21225164.9184 -22956798.69649 -17861694.35748 21225164.4914 21225171.1934
+ 1198.5954 933.9704
+ 23985387.4974 -3043465.31549 -2028628.03446 23985386.8124 23985393.2734
+ -1895.7554 -1477.2144
+ 22714692.1954 -7981166.44649 -6206009.91046 22714693.0734 22714698.4524
+ -630.0404 -490.9284
+ -222266.34541 -155826.786 4 24693512.407
+ 3621.5194 2821.891
+ 23074862.2844 -9416296.71449 -6883877.96446 23074862.4194 23074869.7444
+ -2200.0774 -1714.3374
+ 05 1 20 22 11 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24321839.3284 -3666888.46649 -2604015.88345 24321839.0684 24321847.1354
+ 3294.1874 2566.8944
+ 20305145.3784 -15584071.33949 -12131357.90848 20305144.5904 20305150.6214
+ 1193.4474 929.9534
+ 22289197.0494 -14176603.49349 -11028803.80547 22289197.2504 22289204.0164
+ -2195.6504 -1710.8924
+ 20317511.4564 -27640664.06149 -21524718.72348 20317511.3294 20317514.5104
+ -346.5324 -270.0264
+ 23009726.5934 -4357846.70449 -3373978.03546 23009726.9284 23009732.4384
+ -2243.7034 -1748.3364
+ 21218338.7624 -22992674.39549 -17889649.44548 21218337.9764 21218344.3784
+ 1193.0784 929.6774
+ 23996257.3514 -2986339.07649 -1984114.07946 23996257.6354 23996263.2724
+ -1912.6334 -1490.3584
+ 22718341.9214 -7961990.01849 -6191067.23746 22718342.0414 22718348.2744
+ -648.3264 -505.1804
+ 24672138.7034 -330937.06649 -243327.08745 24672142.1454
+ 3623.2354 2822.7734
+ 23087431.5874 -9350252.21949 -6832414.73846 23087431.3934 23087437.3884
+ -2202.8934 -1716.5384
+ 05 1 20 22 11 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24303042.3484 -3765670.11749 -2680988.51645 24303041.6974 24303050.3134
+ 3290.9104 2564.3464
+ 20298381.7814 -15619616.76549 -12159055.63248 20298380.7794 20298386.4854
+ 1176.2674 916.5714
+ 22301745.3214 -14110673.26149 -10977429.59747 22301744.8264 22301749.8874
+ -2199.6144 -1713.9884
+ 20319516.7494 -27630124.15649 -21516505.80548 20319516.6944 20319520.1344
+ -356.1244 -277.4984
+ 23022568.4814 -4290370.82849 -3321399.46746 23022566.9814 23022573.0224
+ -2254.6554 -1756.8764
+ 21211543.0964 -23028385.92849 -17917476.59748 21211542.0404 21211548.7994
+ 1187.6194 925.4224
+ 24007225.5094 -2928706.48849 -1939205.56546 24007226.2844 24007230.2264
+ -1929.4914 -1503.5044
+ 22722094.8584 -7942266.00049 -6175697.88046 22722094.7994 22722101.5644
+ -666.5324 -519.3854
+ 24651443.3944 -439660.38248 -328046.42845 24651445.2504 24651452.4844
+ 3625.0194 2824.6824
+ 23100016.3734 -9284123.41949 -6780885.79846 23100014.9844 23100021.3624
+ -2205.7124 -1718.7314
+ 05 1 20 22 12 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24284262.1144 -3864352.61649 -2757883.87046 24284263.7794 24284270.8094
+ 3287.6154 2561.7784
+ 20291715.1644 -15654646.17949 -12186351.25848 20291714.5804 20291720.5394
+ 1159.0474 903.1534
+ 22314314.0034 -14044623.84849 -10925962.53247 22314313.6514 22314318.8564
+ -2203.6394 -1717.1274
+ 20321577.5154 -27619296.27549 -21508068.48848 20321577.3684 20321580.7504
+ -365.7404 -284.9934
+ 23035470.2244 -4222568.51649 -3268566.49846 23035468.9794 23035475.8274
+ -2265.4844 -1765.3154
+ 21204778.6634 -23063932.87349 -17945175.49748 21204777.9154 21204784.1124
+ 1182.1844 921.1824
+ 24018286.8354 -2870569.42249 -1893903.92846 24018288.1244 24018294.9724
+ -1946.2774 -1516.5684
+ 22725951.6464 -7921995.84049 -6159902.95146 22725951.5174 22725958.0304
+ -684.7554 -533.5724
+ 24630748.4094 -548433.57549 -412804.57445 24630748.4394 24630752.6914
+ 3626.5864 2825.9124
+ 23112614.1004 -9217910.62249 -6729291.39546 23112613.0994 23112621.8724
+ -2208.4374 -1720.8594
+ 05 1 20 22 12 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24265506.0394 -3962933.67349 -2834700.19646 24265504.2074 24265511.5284
+ 3284.1774 2559.0914
+ 20285147.6784 -15689159.09349 -12213244.43048 20285146.8564 20285153.2044
+ 1141.8194 889.7304
+ 22326903.8884 -13978455.80249 -10874403.03347 22326904.8954 22326910.1894
+ -2207.5444 -1720.1544
+ 20323692.9474 -27608180.51949 -21499406.85948 20323692.7834 20323696.0524
+ -375.3344 -292.4664
+ 23048432.1784 -4154442.65649 -3215481.43746 23048431.5834 23048439.8174
+ -2276.2254 -1773.6884
+ 21198044.8674 -23099315.23749 -17972746.15448 21198044.6624 21198051.2474
+ 1176.6434 916.8674
+ 24029447.6534 -2811929.64249 -1848210.58246 24029447.4464 24029451.5944
+ -1963.0254 -1529.6474
+ 22729913.1564 -7901180.87349 -6143683.49146 22729912.5004 22729919.7314
+ -702.8434 -547.6754
+ 24610039.7624 -657253.79448 -497599.36144 24610038.0054 24610047.3034
+ 3627.9524 2826.9814
+ 23125231.2554 -9151613.88949 -6677631.61346 23125231.9334 23125237.5614
+ -2211.3034 -1723.1044
+ 05 1 20 22 13 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24246766.2804 -4061411.21649 -2911435.87745 24246763.9814 24246772.1984
+ 3280.7134 2556.4074
+ 20278678.4854 -15723155.52249 -12239735.13848 20278677.5934 20278683.7444
+ 1124.6064 876.3144
+ 22339519.0974 -13912169.11649 -10822751.06247 22339517.8834 22339523.3544
+ -2211.4684 -1723.2234
+ 20325862.5924 -27596776.81249 -21490520.84248 20325862.5884 20325865.9754
+ -384.9304 -299.9444
+ 23061457.7454 -4085996.22349 -3162146.56346 23061457.6554 23061464.3884
+ -2286.8584 -1781.9724
+ 21191343.2804 -23134532.62549 -18000188.26148 21191343.0854 21191349.4484
+ 1171.1324 912.5714
+ 24040701.1754 -2752788.99649 -1802126.94946 24040701.9844 24040706.8524
+ -1979.6784 -1542.6074
+ 22733977.2984 -7879822.57649 -6127040.67346 22733976.9114 22733983.4034
+ -720.9284 -561.7654
+ 24589320.9834 -766118.54748 -582428.87844 24589323.4424 24589330.8714
+ 3629.3934 2828.0964
+ 23137861.6544 -9085233.43649 -6625906.57746 23137861.7124 23137869.0044
+ -2214.1484 -1725.3194
+ 05 1 20 22 13 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24228043.1164 -4159783.21449 -2988089.30745 24228043.8034 24228052.2604
+ 3277.1314 2553.6094
+ 20272307.6134 -15756635.43049 -12265823.36848 20272306.5104 20272313.0224
+ 1107.3864 862.9014
+ 22352153.7494 -13845764.03449 -10771006.85647 22352154.0854 22352161.1414
+ -2215.4154 -1726.2924
+ 20328087.8084 -27585085.30349 -21481410.57148 20328087.5484 20328090.8764
+ -394.5274 -307.4204
+ 23074545.0224 -4017231.98149 -3108564.06946 23074543.1824 23074549.1384
+ -2297.4354 -1790.2144
+ 21184673.5674 -23169584.81849 -18027501.64248 21184672.8764 21184679.4084
+ 1165.6364 908.2924
+ 24052051.2374 -2693149.67449 -1755654.74946 24052050.8164 24052054.8944
+ -1996.2864 -1555.5614
+ 22738144.1774 -7857922.45749 -6109975.64946 22738144.7884 22738151.4344
+ -739.0244 -575.8624
+ 24568596.8944 -875024.90549 -667290.85044 24568594.5494 24568605.5044
+ 3630.9174 2829.2794
+ 23150510.7434 -9018768.97549 -6574116.08746 23150510.2714 23150516.9784
+ -2216.9174 -1727.4814
+ 05 1 20 22 14 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24209344.2564 -4258047.57849 -3064658.88145 24209345.8224 24209353.4354
+ 3273.5184 2550.7934
+ 20266035.0614 -15789599.00249 -12291509.26148 20266034.1874 20266040.1204
+ 1090.1744 849.4854
+ 22364812.5434 -13779241.08549 -10719170.79847 22364813.6224 22364819.7964
+ -2219.3654 -1729.3694
+ 20330367.5194 -27573105.56349 -21472075.70548 20330367.3664 20330370.5454
+ -404.1394 -314.9164
+ 23087688.4164 -3948152.72949 -3054736.07846 23087687.5484 23087694.8854
+ -2307.8784 -1798.3444
+ 21178035.3884 -23204471.64849 -18054686.17448 21178034.1444 21178040.5554
+ 1160.0974 903.9714
+ 24063493.6884 -2633013.40049 -1708795.30846 24063493.8694 24063498.9414
+ -2012.8424 -1568.4514
+ 22742414.9014 -7835481.92749 -6092489.52646 22742414.5604 22742420.6154
+ -757.0034 -589.8674
+ 24547862.6234 -983970.19948 -752183.18845 24547863.6174 24547875.3064
+ 3632.1784 2830.2674
+ 23163174.0904 -8952220.70649 -6522260.29446 23163173.3054 23163180.2034
+ -2219.6944 -1729.6484
+ 05 1 20 22 14 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24190667.0304 -4356202.13249 -3141142.88646 24190667.5394 24190675.3824
+ 3269.8184 2547.9024
+ 20259860.2164 -15822046.26949 -12316792.83448 20259859.2834 20259865.6244
+ 1072.9534 836.0664
+ 22377494.7264 -13712600.31249 -10667242.91147 22377495.2434 22377500.6894
+ -2223.2734 -1732.4334
+ 20332701.8654 -27560837.78949 -21462516.39748 20332701.7404 20332705.0134
+ -413.7554 -322.4094
+ 23100893.6884 -3878761.49149 -3000665.02146 23100892.9934 23100899.1284
+ -2318.2364 -1806.4164
+ 21171427.6824 -23239192.46149 -18081741.34148 21171427.0324 21171433.5554
+ 1154.5334 899.6384
+ 24075032.0064 -2572382.20649 -1661550.15846 24075031.0874 24075038.0134
+ -2029.2974 -1581.2714
+ 22746785.9354 -7812502.54049 -6074583.51346 22746787.5124 22746794.2984
+ -774.9314 -603.8534
+ 24527126.9054 -1092951.54349 -837103.52645 24527127.6984 24527134.7854
+ 3633.1684 2831.0344
+ 23175853.4804 -8885588.72649 -6470339.26146 23175853.0854 23175859.4844
+ -2222.4934 -1731.7814
+ 05 1 20 22 15 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24172009.4714 -4454244.78749 -3217539.69846 24172010.5044 24172017.9504
+ 3266.0754 2544.9884
+ 20253784.1094 -15853977.07949 -12341673.98348 20253783.2854 20253789.1814
+ 1055.7514 822.6644
+ 22390199.4034 -13645842.15749 -10615223.57447 22390199.6034 22390204.5424
+ -2227.1744 -1735.4514
+ 20335091.0324 -27548281.90949 -21452732.58748 20335090.8954 20335094.3734
+ -423.3314 -329.8674
+ 23114156.6164 -3809061.10149 -2946353.05346 23114156.5384 23114163.1744
+ -2328.4764 -1814.3944
+ 21164851.4094 -23273747.13049 -18108667.04548 21164851.1324 21164857.8714
+ 1149.0174 895.3414
+ 24086662.3724 -2511258.16649 -1613921.07245 24086663.7764 24086667.9274
+ -2045.6534 -1593.9984
+ 22751264.0844 -7788985.79349 -6056258.78346 22751263.2944 22751269.0064
+ -792.7904 -617.7614
+ 24506382.5614 -1201966.30849 -922049.91245 24506382.2734 24506391.7794
+ 3634.4104 2832.0014
+ 23188549.3374 -8818873.21049 -6418353.15846 23188549.3124 23188556.8274
+ -2225.2304 -1733.9384
+ 05 1 20 22 15 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24153376.4054 -4552173.30549 -3293847.59146 24153375.7244 24153383.4084
+ 3262.2034 2541.9744
+ 20247806.1724 -15885391.23349 -12366152.53448 20247805.5934 20247811.3544
+ 1038.5174 809.2334
+ 22402924.1454 -13578966.89449 -10563112.98447 22402924.6264 22402930.5744
+ -2231.1314 -1738.5474
+ 20337535.4294 -27535437.89349 -21442724.26148 20337535.2124 20337538.4104
+ -432.9474 -337.3624
+ 23127479.4654 -3739054.50049 -2891802.49146 23127478.4224 23127486.1554
+ -2338.6534 -1822.3254
+ 21158308.0114 -23308135.07649 -18135462.83948 21158307.6054 21158314.2524
+ 1143.4384 890.9904
+ 24098387.8404 -2449643.26549 -1565909.47045 24098387.9494 24098393.4044
+ -2062.0164 -1606.7704
+ 22755840.1674 -7764933.19649 -6037516.50046 22755840.3084 22755846.6864
+ -810.6504 -631.6684
+ 24485631.6724 -1311011.74349 -1007020.22645 24485630.9224 24485639.7954
+ 3635.4304 2832.7974
+ 23201260.6224 -8752074.01449 -6366301.82246 23201260.1474 23201267.7224
+ -2228.0354 -1736.1444
+ 05 1 20 22 16 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24134762.4994 -4649985.63849 -3370064.93446 24134762.6074 24134770.4814
+ 3258.2754 2538.9184
+ 20241925.7894 -15916288.85549 -12390228.59248 20241925.3314 20241931.7624
+ 1021.3154 795.8304
+ 22415671.6914 -13511974.65549 -10510911.22747 22415672.1934 22415678.8984
+ -2234.9744 -1741.5484
+ 20340034.5884 -27522305.71249 -21432491.39048 20340034.1594 20340037.5054
+ -442.5454 -344.8404
+ 23140856.8934 -3668744.49449 -2837015.47346 23140857.2694 23140865.0004
+ -2348.6754 -1830.1324
+ 21151796.2434 -23342356.25249 -18162128.67648 21151795.6424 21151802.0354
+ 1137.8914 886.6684
+ 24110206.2554 -2387539.17449 -1517516.66146 24110206.2084 24110211.5634
+ -2078.2304 -1619.4044
+ 22760519.1984 -7740346.24149 -6018357.83846 22760519.6094 22760525.6524
+ -828.4204 -645.5144
+ 24464875.7644 -1420084.73549 -1092011.96245 24464876.4654 24464884.4204
+ 3636.1744 2833.3724
+ 23213986.6984 -8685190.88449 -6314185.10746 23213986.4334 23213995.0424
+ -2230.8404 -1738.3014
+ 05 1 20 22 16 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24116172.9944 -4747679.66449 -3446190.09746 24116171.8734 24116179.0624
+ 3254.3074 2535.8204
+ 20236145.0364 -15946670.06849 -12413902.25848 20236144.3884 20236150.3824
+ 1004.0924 782.4094
+ 22428443.6204 -13444865.67049 -10458618.52647 22428443.5064 22428449.4424
+ -2238.8544 -1744.5574
+ 20342587.6094 -27508885.33749 -21422033.95048 20342587.6104 20342591.3604
+ -452.1664 -352.3374
+ 23154294.2174 -3598134.01149 -2781994.33046 23154294.6164 23154301.9534
+ -2358.6714 -1837.9264
+ 21145316.0944 -23376410.02249 -18188664.06748 21145315.5754 21145321.8474
+ 1132.3184 882.3244
+ 24122114.5794 -2324948.06949 -1468744.38545 24122117.0234 24122122.0354
+ -2094.4754 -1632.0574
+ 22765298.9044 -7715226.63049 -5998784.12846 22765299.5354 22765304.5264
+ -846.1624 -659.3444
+ 24444114.5204 -1529182.72049 -1177023.20045 24444114.7494 24444123.2364
+ 3637.1154 2834.1094
+ 23226732.6484 -8618224.36949 -6262003.40746 23226731.8714 23226738.7364
+ -2233.6714 -1740.5254
+ 05 1 20 22 17 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24097605.1174 -4845253.27549 -3522221.43846 24097605.1464 24097612.1564
+ 3250.2884 2532.6874
+ 20230461.8144 -15976535.06249 -12437173.67748 20230460.9104 20230467.2044
+ 986.8774 768.9944
+ 22441235.5794 -13377640.41749 -10406235.22247 22441236.2794 22441241.2954
+ -2242.7594 -1747.6074
+ 20345196.3694 -27495176.63749 -21411351.84248 20345196.2964 20345200.0164
+ -461.7794 -359.8294
+ 23167789.5874 -3527225.86249 -2726741.25546 23167788.4444 23167795.1504
+ -2368.5534 -1845.6344
+ 21138867.2984 -23410296.60949 -18215069.18948 21138867.0494 21138873.3324
+ 1126.7734 878.0044
+ 24134118.4714 -2261871.99049 -1419594.16245 24134118.9684 24134125.2464
+ -2110.5994 -1644.6274
+ 22770180.0604 -7689575.72649 -5978796.41146 22770180.3344 22770184.9764
+ -863.8604 -673.1484
+ 24423351.8674 -1638302.96049 -1262051.78445 24423349.9114 24423357.6464
+ 3637.7264 2834.5854
+ 23239489.8144 -8551174.26249 -6209756.56446 23239489.4994 23239497.0604
+ -2236.3614 -1742.6254
+ 05 1 20 22 17 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24079059.2714 -4942704.27749 -3598157.21946 24079059.9324 24079067.7264
+ 3246.1554 2529.4704
+ 20224876.5914 -16005883.77449 -12460042.79548 20224875.9894 20224882.2104
+ 969.6924 755.6034
+ 22454050.0344 -13310298.88449 -10353761.29047 22454050.6014 22454056.1934
+ -2246.5654 -1750.5724
+ 20347860.6504 -27481179.76049 -21400445.17848 20347860.2104 20347863.3854
+ -471.3654 -367.2984
+ 23181338.6994 -3456023.03349 -2671258.56146 23181337.5724 23181343.6724
+ -2378.3104 -1853.2204
+ 21132451.1684 -23444015.19149 -18241343.39748 21132450.3024 21132456.8724
+ 1121.1124 873.5884
+ 24146213.8634 -2198312.95549 -1370067.67345 24146214.4764 24146219.9864
+ -2126.6494 -1657.1284
+ 22775161.0394 -7663395.37049 -5958396.14646 22775161.9484 22775168.3374
+ -881.4324 -686.8214
+ 24402580.4954 -1747442.64449 -1347095.46045 24402581.0444 24402589.5964
+ 3638.3234 2835.0514
+ 23252264.3294 -8484040.62349 -6157444.65346 23252265.0624 23252272.3314
+ -2239.2294 -1744.8544
+ 05 1 20 22 18 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24060539.7814 -5040030.34149 -3673995.67245 24060539.3764 24060546.1424
+ 3241.9704 2526.2114
+ 20219390.2094 -16034716.29449 -12482509.69148 20219389.4474 20219395.4474
+ 952.4944 742.2014
+ 22466887.4864 -13242841.45249 -10301197.06147 22466887.3294 22466892.8254
+ -2250.4804 -1753.6204
+ 20350578.8084 -27466894.76549 -21389314.01048 20350578.4034 20350581.5954
+ -480.9794 -374.7914
+ 23194943.8424 -3384528.49449 -2615548.55046 23194942.7604 23194949.7074
+ -2387.9734 -1860.7514
+ 21126066.1764 -23477565.52549 -18267486.50448 21126065.7734 21126072.5864
+ 1115.5064 869.2264
+ 24158401.5334 -2134273.14649 -1320166.56345 24158401.7284 24158404.4414
+ -2142.6374 -1669.5904
+ 22780242.7094 -7636687.18049 -5937584.57846 22780243.8964 22780250.7154
+ -899.0184 -700.5144
+ 24381808.0804 -1856598.92749 -1432152.11945 24381808.7774 24381817.2854
+ 3638.8164 2835.4324
+ 23265057.8194 -8416823.74749 -6105067.87646 23265056.4214 23265062.9734
+ -2241.9884 -1747.0144
+ 05 1 20 22 18 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24042042.8094 -5137229.52349 -3749735.22445 24042043.2204 24042050.2224
+ 3237.7074 2522.8704
+ 20214001.8834 -16063032.87449 -12504574.54648 20214000.9594 20214007.4034
+ 935.2864 728.7944
+ 22479746.0664 -13175268.24649 -10248542.63247 22479745.9974 22479751.5324
+ -2254.3464 -1756.6374
+ 20353351.8374 -27452321.28749 -21377958.05248 20353351.4124 20353355.0384
+ -490.5904 -382.2784
+ 23208603.4114 -3312745.38949 -2559613.69846 23208602.1904 23208608.9364
+ -2397.5664 -1868.2464
+ 21119714.2124 -23510947.55649 -18293498.46848 21119713.4954 21119720.2434
+ 1109.9244 864.8744
+ 24170678.6414 -2069754.59649 -1269892.30245 24170677.0594 24170684.5504
+ -2158.6114 -1682.0354
+ 22785426.8524 -7609452.88649 -5916363.04646 22785426.6494 22785433.8054
+ -916.5084 -714.1604
+ 24361037.3764 -1965769.00649 -1517219.52845 24361035.9994 24361040.8434
+ 3639.2634 2835.7884
+ 23277863.4064 -8349523.46449 -6052626.10746 23277862.5964 23277870.4814
+ -2244.7374 -1749.1474
+ 05 1 20 22 19 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24023572.1354 -5234299.43849 -3825374.06945 24023572.6024 24023578.4874
+ 3233.3724 2519.5024
+ 20208711.2004 -16090833.56749 -12526237.41948 20208710.7814 20208716.7774
+ 918.0874 715.3934
+ 22492626.4764 -13107579.57649 -10195798.21347 22492626.0904 22492631.9134
+ -2258.1794 -1759.6214
+ 20356179.6444 -27437459.47649 -21366377.41948 20356179.6594 20356183.2844
+ -500.2064 -389.7704
+ 23222317.0444 -3240676.55549 -2503456.18446 23222316.1624 23222323.0564
+ -2407.0124 -1875.5964
+ 21113393.2364 -23544160.65549 -18319378.79248 21113392.8674 21113399.9624
+ 1104.2424 860.4494
+ 24183045.0844 -2004759.36149 -1219246.71645 24183046.9274 24183051.2044
+ -2174.4724 -1694.4024
+ 22790708.8834 -7581694.02249 -5894732.77546 22790708.6094 22790715.1534
+ -933.9964 -727.7724
+ 24340259.8094 -2074950.13549 -1602295.52945 24340258.8844 24340265.1724
+ 3639.5654 2836.0214
+ 23290685.7364 -8282139.87349 -6000119.41546 23290684.3714 23290693.2194
+ -2247.5324 -1751.3174
+ 05 1 20 22 19 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 24005124.5224 -5331238.11749 -3900910.64745 24005125.1494 24005131.4734
+ 3228.9434 2516.0654
+ 20203520.1294 -16118118.58749 -12547498.46148 20203518.6644 20203524.6434
+ 900.9024 701.9994
+ 22505528.2264 -13039775.79449 -10142964.08447 22505528.3424 22505535.1084
+ -2262.0154 -1762.6144
+ 20359063.3674 -27422309.16949 -21354571.97948 20359062.7334 20359066.4014
+ -509.8254 -397.2644
+ 23236085.4964 -3168325.04149 -2447078.39446 23236084.3384 23236091.7574
+ -2416.3934 -1882.9114
+ 21107105.9584 -23577204.50549 -18345127.24248 21107105.5374 21107111.5574
+ 1098.5914 856.0424
+ 24195502.9424 -1939289.69349 -1168231.40545 24195504.6644 24195510.6064
+ -2190.2234 -1706.6644
+ 22796092.4754 -7553412.30549 -5872695.07846 22796092.5354 22796097.5594
+ -951.3824 -741.3334
+ 24319479.7354 -2184139.46049 -1687377.93245 24319480.6594 24319486.8624
+ 3639.7514 2836.1694
+ 23303524.8354 -8214672.97449 -5947547.82146 23303524.4834 23303531.3774
+ -2250.2864 -1753.4684
+ 05 1 20 22 20 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23986703.2274 -5428043.44849 -3976343.29045 23986702.6934 23986709.7764
+ 3224.5014 2512.5974
+ 20198425.1144 -16144888.08049 -12568357.79348 20198424.4384 20198430.5454
+ 883.7404 688.6284
+ 22518454.4744 -12971856.96149 -10090040.33447 22518454.0704 22518459.7314
+ -2265.8004 -1765.5564
+ 20362001.1474 -27406870.35249 -21342541.72948 20362000.8674 20362004.0394
+ -519.4534 -404.7694
+ 23249906.6084 -3095693.65049 -2390482.53546 23249905.5454 23249912.2274
+ -2425.7054 -1890.1684
+ 21100850.2014 -23610078.73849 -18370743.51048 21100849.6924 21100856.1554
+ 1092.9614 851.6594
+ 24208055.0454 -1873347.57949 -1116847.90445 24208053.5364 24208058.6394
+ -2205.8824 -1718.8664
+ 22801573.6404 -7524609.59049 -5850251.39446 22801573.4214 22801578.1674
+ -968.7344 -754.8564
+ 24298702.4104 -2293333.96949 -1772464.42345 24298700.7584 24298708.0204
+ 3639.8764 2836.2624
+ 23316378.0214 -8147122.77949 -5894911.29446 23316378.7694 23316385.9344
+ -2253.0584 -1755.6274
+ 05 1 20 22 20 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23968309.2244 -5524712.86549 -4051670.03346 23968308.0904 23968315.5104
+ 3219.8664 2508.9934
+ 20193429.1694 -16171142.24849 -12588815.57848 20193428.4634 20193434.6954
+ 866.5574 675.2384
+ 22531398.8454 -12903823.35849 -10037027.13947 22531399.5824 22531406.3334
+ -2269.6704 -1768.5754
+ 20364994.2024 -27391142.97149 -21330286.61848 20364993.5604 20364996.8914
+ -529.0544 -412.2504
+ 23263780.6094 -3022785.24949 -2333670.81446 23263780.3864 23263786.7564
+ -2434.8694 -1897.2874
+ 21094627.7194 -23642782.81649 -18396227.19648 21094626.5184 21094632.6524
+ 1087.2774 847.2314
+ 24220691.6364 -1806935.11049 -1065098.00245 24220692.0874 24220696.1624
+ -2221.5334 -1731.0644
+ 22807150.0924 -7495287.54949 -5827403.06246 22807153.1244 22807158.2324
+ -986.0384 -768.3574
+ 24277923.6434 -2402531.11549 -1857552.95445 24277920.7094 24277928.2794
+ 3639.9134 2836.2914
+ 23329247.5574 -8079489.28349 -5842209.88646 23329247.9844 23329255.0684
+ -2255.8144 -1757.7724
+ 05 1 20 22 21 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23949938.1324 -5621244.42649 -4126889.37846 23949938.2184 23949945.2394
+ 3215.2614 2505.3914
+ 20188531.1054 -16196881.35949 -12608872.02148 20188530.5414 20188536.6474
+ 849.3864 661.8564
+ 22544368.8804 -12835675.26749 -9983924.71847 22544368.4194 22544373.6874
+ -2273.4714 -1771.5464
+ 20368041.5914 -27375126.94149 -21317806.59048 20368041.1924 20368044.7404
+ -538.6884 -419.7594
+ 23277709.6024 -2949602.80849 -2276645.54746 23277706.3804 23277713.3884
+ -2443.9554 -1904.3854
+ 21088436.0024 -23675316.76649 -18421578.31348 21088435.3624 21088441.4724
+ 1081.5674 842.7764
+ 24233420.2334 -1740054.57949 -1012983.24645 24233419.4864 24233424.2064
+ -2237.1174 -1743.2114
+ 22812831.2284 -7465448.02449 -5804151.47546 22812831.3154 22812836.4534
+ -1003.2184 -781.7264
+ 24257141.8624 -2511727.95849 -1942641.19545 24257140.7344 24257149.2254
+ 3639.8504 2836.2404
+ 23342135.3714 -8011772.62449 -5789443.65646 23342134.9104 23342142.1934
+ -2258.6154 -1759.9534
+ 05 1 20 22 21 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23931595.4274 -5717635.91749 -4201999.55346 23931594.5284 23931603.0894
+ 3210.5634 2501.7354
+ 20183731.4214 -16222105.77349 -12628527.40048 20183730.4234 20183736.7914
+ 832.2424 648.4954
+ 22557358.9444 -12767412.87249 -9930733.25347 22557358.7874 22557364.5674
+ -2277.2774 -1774.5024
+ 20371143.7764 -27358822.40749 -21305101.75448 20371143.6994 20371147.3644
+ -548.3144 -427.2594
+ 23291682.3584 -2876149.40649 -2219409.14546 23291682.6374 23291690.2594
+ -2452.9294 -1911.3844
+ 21082277.0424 -23707679.99049 -18446796.40648 21082276.6254 21082282.8844
+ 1075.8994 838.3604
+ 24246232.2984 -1672708.16749 -960505.48145 24246232.1734 24246239.5964
+ -2252.6334 -1755.2944
+ 22818607.7384 -7435092.73249 -5780498.01246 22818606.9454 22818612.5404
+ -1020.4294 -795.1384
+ 24236363.4784 -2620921.72149 -2027727.11445 24236363.6844 24236370.0614
+ 3639.7424 2836.1574
+ 23355038.7194 -7943972.71849 -5736612.57046 23355038.2454 23355043.4004
+ -2261.3854 -1762.1214
+ 05 1 20 22 22 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23913280.1214 -5813885.05349 -4276998.80446 23913279.4174 23913286.7564
+ 3205.7724 2498.0054
+ 20179028.9594 -16246815.86849 -12647782.01248 20179028.2834 20179034.3574
+ 815.0894 635.1364
+ 22570370.1824 -12699036.25849 -9877452.78747 22570370.1294 22570376.2624
+ -2281.1114 -1777.4824
+ 20374302.5724 -27342229.19349 -21292171.96848 20374301.7124 20374304.9934
+ -557.9374 -434.7544
+ 23305711.0114 -2802428.11749 -2161964.00446 23305711.8444 23305718.7274
+ -2461.7964 -1918.2774
+ 21076150.8684 -23739872.24749 -18471881.26748 21076150.5544 21076157.0384
+ 1070.1674 833.8964
+ 24259140.0494 -1604897.99649 -907666.39545 24259138.7754 24259142.9714
+ -2268.0654 -1767.3264
+ 22824479.7734 -7404223.44449 -5756444.01946 22824480.2954 22824487.2504
+ -1037.4974 -808.4504
+ 24215583.3174 -2730109.37349 -2112808.19445 24215583.0744 24215591.8134
+ 3639.4684 2835.9414
+ 23367954.4244 -7876089.58249 -5683716.61946 23367954.5174 23367961.9544
+ -2264.1294 -1764.2514
+ 05 1 20 22 22 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23894991.4454 -5909989.49249 -4351885.30646 23894991.0974 23894998.8474
+ 3200.9114 2494.2194
+ 20174424.5644 -16271011.86249 -12666636.02848 20174423.7824 20174430.0724
+ 797.9734 621.7974
+ 22583403.1834 -12630545.95349 -9824083.71647 22583403.1614 22583409.0414
+ -2284.8614 -1780.4114
+ 20377514.1814 -27325347.15949 -21279017.13348 20377514.1044 20377517.3974
+ -567.5534 -442.2514
+ 23319793.4714 -2728441.92849 -2104312.44146 23319791.8544 23319798.5324
+ -2470.5894 -1925.1254
+ 21070057.6994 -23771892.89849 -18496832.41748 21070057.1534 21070063.5814
+ 1064.4724 829.4564
+ 24272129.1214 -1536626.18449 -854467.57445 24272128.6394 24272133.4754
+ -2283.4214 -1779.2814
+ 22830452.6614 -7372842.03449 -5731990.96946 22830453.3124 22830459.6524
+ -1054.5284 -821.7264
+ 24194808.6614 -2839287.94449 -2197882.24745 24194808.4384 24194817.3544
+ 3639.1394 2835.6894
+ 23380889.2504 -7808123.24249 -5630755.84846 23380888.1714 23380895.1354
+ -2266.9594 -1766.4534
+ 05 1 20 22 23 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23876729.0734 -6005947.27049 -4426657.52646 23876730.9914 23876739.3134
+ 3195.9864 2490.3684
+ 20169918.2224 -16294693.60549 -12685089.32648 20169917.3244 20169923.4764
+ 780.8184 608.4324
+ 22596458.6684 -12561941.83949 -9770625.96047 22596458.4664 22596464.6904
+ -2288.6764 -1783.3884
+ 20380781.5594 -27308176.31649 -21265637.24848 20380781.2634 20380784.8014
+ -577.1874 -449.7554
+ 23333920.7574 -2654193.72449 -2046456.72346 23333920.6614 23333928.0874
+ -2479.3004 -1931.9304
+ 21063997.4394 -23803741.48749 -18521649.49148 21063996.9384 21064003.1944
+ 1058.7314 824.9864
+ 24285207.5914 -1467894.91249 -800910.71645 24285208.6004 24285213.2944
+ -2298.7234 -1791.2224
+ 22836520.9924 -7340950.40749 -5707140.36546 22836520.7164 22836527.2474
+ -1071.5254 -834.9494
+ 24174033.2314 -2948455.14049 -2282947.49045 24174035.0474 24174042.4934
+ 3638.7434 2835.3734
+ 23393837.1314 -7740073.61249 -5577730.16146 23393837.7514 23393844.7934
+ -2269.7254 -1768.6204
+ 05 1 20 22 23 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23858497.3614 -6101756.02249 -4501313.63846 23858499.0304 23858506.7074
+ 3190.9654 2486.4644
+ 20165508.8404 -16317861.58449 -12703142.28948 20165508.5914 20165514.6244
+ 763.7014 595.0894
+ 22609535.0954 -12493224.36949 -9717079.89147 22609534.8414 22609539.9374
+ -2292.4114 -1786.2964
+ 20384104.4214 -27290716.77449 -21252032.40948 20384103.9944 20384107.0914
+ -586.8084 -457.2554
+ 23348099.0114 -2579686.59949 -1988399.25446 23348098.1974 23348106.2534
+ -2487.8704 -1938.6034
+ 21057969.9464 -23835418.14849 -18546332.59248 21057969.0134 21057975.2824
+ 1052.9684 820.4914
+ 24298372.2634 -1398706.74349 -746997.74245 24298373.4144 24298380.8494
+ -2313.8644 -1803.0154
+ 22842686.3984 -7308550.52449 -5681893.70746 22842687.0224 22842693.9914
+ -1088.4134 -848.1274
+ 24153260.7684 -3057607.57749 -2368001.24845 24153262.1774 24153272.3474
+ 3638.1694 2834.9324
+ 23406803.4354 -7671940.83049 -5524639.68946 23406802.9114 23406807.8144
+ -2272.4464 -1770.7494
+ 05 1 20 22 24 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23840294.8294 -6197413.49449 -4575851.82946 23840295.8544 23840303.9204
+ 3185.8854 2482.5054
+ 20161199.1184 -16340516.28449 -12720795.29648 20161197.9324 20161203.7144
+ 746.6004 581.7684
+ 22622632.3954 -12424393.53849 -9663445.46546 22622632.2644 22622638.6964
+ -2296.2074 -1789.2414
+ 20387481.9104 -27272968.58549 -21238202.64348 20387481.2674 20387484.6454
+ -596.4394 -464.7584
+ 23362324.4544 -2504923.36149 -1930142.19746 23362324.9264 23362331.9384
+ -2496.3554 -1945.2194
+ 21051974.8424 -23866921.80049 -18570880.88448 21051974.0914 21051980.3864
+ 1047.2014 816.0034
+ 24311628.5674 -1329063.72649 -692730.45845 24311627.6674 24311632.9294
+ -2329.0024 -1814.8074
+ 22848947.5984 -7275644.03149 -5656252.28546 22848949.5124 22848955.0204
+ -1105.2804 -861.2524
+ 24132492.1584 -3166742.68449 -2453041.45345 24132493.5084 24132503.1554
+ 3637.6234 2834.5094
+ 23419784.9094 -7603724.83649 -5471484.37546 23419783.6194 23419790.8504
+ -2275.2524 -1772.9144
+ 05 1 20 22 24 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23822124.5564 -6292917.55349 -4650270.51546 23822122.2194 23822129.3854
+ 3180.7614 2478.5134
+ 20156985.5464 -16362658.04949 -12738048.61248 20156984.5494 20156990.0834
+ 729.5094 568.4494
+ 22635752.8534 -12355449.71249 -9609723.01147 22635753.1844 22635757.7794
+ -2299.9734 -1792.1904
+ 20390914.3114 -27254931.33249 -21224147.63648 20390913.8224 20390917.0564
+ -606.0654 -472.2564
+ 23376602.5024 -2429907.16949 -1871688.06646 23376601.5574 23376606.9734
+ -2504.7294 -1951.7444
+ 21046012.5974 -23898252.28249 -18595294.23848 21046012.0414 21046018.4834
+ 1041.4154 811.4904
+ 24324963.6364 -1258968.00649 -638110.39445 24324964.4454 24324968.9924
+ -2344.0904 -1826.5654
+ 22855306.0504 -7242233.15149 -5630217.81546 22855306.3014 22855312.5604
+ -1122.0674 -874.3314
+ 24111732.2924 -3275857.40349 -2538065.77645 24111729.5064 24111739.7474
+ 3636.8184 2833.8814
+ 23432781.5394 -7535425.64149 -5418264.22246 23432780.9574 23432787.6714
+ -2278.0214 -1775.0764
+ 05 1 20 22 25 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23803977.7024 -6388265.80949 -4724567.78546 23803978.5104 23803985.4864
+ 3175.5174 2474.4284
+ 20152869.2484 -16384287.18549 -12754902.47348 20152868.3634 20152874.5284
+ 712.4234 555.1344
+ 22648893.6284 -12286392.92849 -9555912.54147 22648893.7914 22648899.1574
+ -2303.7274 -1795.1164
+ 20394401.3054 -27236605.22149 -21209867.54348 20394400.9184 20394404.4014
+ -615.6954 -479.7644
+ 23390923.8624 -2354640.66149 -1813038.87046 23390924.5314 23390930.4494
+ -2513.0374 -1958.2134
+ 21040083.9044 -23929409.35149 -18619572.46548 21040082.9464 21040089.5084
+ 1035.6674 807.0144
+ 24338390.7834 -1188421.69349 -583139.28445 24338390.4704 24338396.9194
+ -2359.1164 -1838.2694
+ 22861760.1734 -7208319.49849 -5603791.61446 22861761.2904 22861766.4954
+ -1138.7734 -887.3664
+ 24090969.4754 -3384948.83549 -2623072.00245 24090971.4734 24090979.5054
+ 3635.9804 2833.2334
+ 23445794.4514 -7467043.41549 -5364979.37046 23445793.6324 23445800.0674
+ -2280.7734 -1777.2144
+ 05 1 20 22 25 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23785866.2914 -6483456.09049 -4798741.97246 23785864.2654 23785871.5294
+ 3170.2374 2470.3144
+ 20148850.6074 -16405404.04449 -12771357.16548 20148850.0624 20148856.1404
+ 695.3624 541.8434
+ 22662055.6824 -12217223.64749 -9502014.39847 22662055.8404 22662061.8874
+ -2307.4254 -1797.9904
+ 20397943.1944 -27217990.17449 -21195362.31148 20397943.4534 20397946.6124
+ -625.3284 -487.2684
+ 23405293.9374 -2279126.99649 -1754197.08246 23405292.8784 23405301.2244
+ -2521.1974 -1964.5534
+ 21034187.8454 -23960392.51949 -18643715.19448 21034187.1854 21034193.4464
+ 1029.8354 802.4734
+ 24351898.6054 -1117427.62649 -527819.27045 24351899.8534 24351903.5814
+ -2373.9534 -1849.8424
+ 22868308.7854 -7173905.28749 -5576975.33446 22868308.9744 22868315.3594
+ -1155.4334 -900.3334
+ 24070215.9134 -3494014.18449 -2708057.91945 24070217.3434 24070225.1124
+ 3635.0684 2832.5154
+ 23458822.5204 -7398577.94549 -5311629.67246 23458822.4314 23458828.0534
+ -2283.5204 -1779.3574
+ 05 1 20 22 26 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23767781.8054 -6578486.23549 -4872791.35646 23767781.0614 23767787.7154
+ 3164.8514 2466.1134
+ 20144929.6704 -16426009.13049 -12787413.06948 20144928.8114 20144934.9964
+ 678.3414 528.5794
+ 22675240.0674 -12147942.05049 -9448028.74447 22675239.6924 22675245.5564
+ -2311.2344 -1800.9584
+ 20401542.0084 -27199086.01549 -21180631.78848 20401540.7124 20401544.2014
+ -634.9544 -494.7694
+ 23419708.2674 -2203369.24449 -1695165.08546 23419708.4254 23419717.1314
+ -2529.3284 -1970.9094
+ 21028324.9074 -23991201.23449 -18667721.97948 21028324.5084 21028330.5124
+ 1024.0224 797.9424
+ 24365495.9684 -1045987.60949 -472151.67945 24365495.6634 24365501.0494
+ -2388.7284 -1861.3444
+ 22874951.9534 -7138992.27249 -5549770.38546 22874953.1534 22874958.5134
+ -1172.0324 -913.2634
+ 24049470.6634 -3603050.70949 -2793021.32845 24049468.2324 24049477.0974
+ 3634.0534 2831.7244
+ 23471866.4364 -7330029.33849 -5258215.16446 23471866.1934 23471874.6024
+ -2286.3214 -1781.5334
+ 05 1 20 22 26 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23749728.4754 -6673353.79549 -4946714.07646 23749728.7944 23749734.5224
+ 3159.3894 2461.8534
+ 20141105.8074 -16446102.92449 -12803070.56348 20141105.1694 20141111.3354
+ 661.2714 515.2754
+ 22688444.6624 -12078548.07149 -9393955.51746 22688444.6414 22688450.5524
+ -2314.9484 -1803.8654
+ 20405193.1794 -27179892.53349 -21165675.82448 20405192.9534 20405196.3604
+ -644.6154 -502.2974
+ 23434173.4194 -2127370.41449 -1635945.24346 23434171.9774 23434179.5594
+ -2537.2794 -1977.1024
+ 21022495.3354 -24021835.27849 -18691592.65048 21022494.8114 21022501.2094
+ 1018.1854 793.3924
+ 24379172.3304 -974104.18649 -416138.56745 24379172.4034 24379179.3174
+ -2403.5684 -1872.9114
+ 22881691.0834 -7103582.59849 -5522178.43246 22881690.4684 22881697.7514
+ -1188.5324 -926.1264
+ 24028725.1414 -3712055.35849 -2877959.93045 24028725.5184 24028733.2724
+ 3632.9504 2830.8664
+ 23484927.0684 -7261397.46949 -5204735.80346 23484926.6684 23484933.4824
+ -2289.1114 -1783.7124
+ 05 1 20 22 27 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23731708.0224 -6768056.61449 -5020508.41446 23731707.4194 23731713.8644
+ 3153.8524 2457.5494
+ 20137379.7424 -16465685.70349 -12818329.87048 20137378.9184 20137384.5764
+ 644.2384 502.0064
+ 22701671.8154 -12009042.31249 -9339795.19046 22701671.4854 22701677.7024
+ -2318.7204 -1806.7874
+ 20408900.4804 -27160409.87649 -21150494.52848 20408900.4714 20408903.7524
+ -654.2484 -509.8024
+ 23448679.8664 -2051133.57849 -1576539.94646 23448679.0024 23448685.2034
+ -2545.1714 -1983.2534
+ 21016699.0944 -24052294.19849 -18715326.86648 21016698.8394 21016705.1404
+ 1012.3424 788.8364
+ 24392937.4984 -901779.78149 -359781.85945 24392937.4084 24392942.1164
+ -2418.1484 -1884.2784
+ 22888521.9724 -7067678.25149 -5494201.03446 22888523.6434 22888530.2454
+ -1204.9954 -938.9554
+ 24007988.8834 -3821025.17249 -2962871.39845 24007989.3324 24007998.1304
+ 3631.7264 2829.9154
+ 23498002.4384 -7192682.49049 -5151191.67446 23498002.8224 23498009.1674
+ -2291.9014 -1785.8874
+ 05 1 20 22 27 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23713716.7414 -6862592.34849 -5094172.54246 23713716.5884 23713723.4494
+ 3148.2314 2453.1544
+ 20133749.9674 -16484757.99149 -12833191.37748 20133749.2074 20133755.4214
+ 627.2244 488.7434
+ 22714919.3414 -11939424.43249 -9285547.48746 22714919.2744 22714925.1454
+ -2322.4024 -1809.6734
+ 20412663.6364 -27140638.07349 -21135087.92748 20412663.2624 20412666.2104
+ -663.8994 -517.3254
+ 23463230.8944 -1974661.89149 -1516951.66746 23463231.1094 23463239.1204
+ -2552.9714 -1989.3304
+ 21010936.6074 -24082577.41049 -18738924.16048 21010935.9704 21010942.4864
+ 1006.4594 784.2534
+ 24406783.6864 -829016.22549 -303082.90045 24406781.9084 24406786.0284
+ -2432.7774 -1895.6754
+ 22895451.3544 -7031281.20249 -5465839.68246 22895449.5004 22895455.8554
+ -1221.4204 -951.7524
+ 23987260.6414 -3929957.27149 -3047753.44545 23987260.7264 23987268.1464
+ 3630.4244 2828.9034
+ 23511094.2764 -7123884.30849 -5097582.70046 23511094.1844 23511101.3444
+ -2294.6954 -1788.0654
+ 05 1 20 22 28 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23695760.7434 -6956958.75349 -5167704.75546 23695759.6844 23695766.4224
+ 3142.5874 2448.7724
+ 20130217.7854 -16503320.11349 -12847655.36548 20130217.0544 20130223.0774
+ 610.2434 475.5114
+ 22728187.6934 -11869694.98949 -9231212.85846 22728188.2894 22728194.0674
+ -2326.1414 -1812.5794
+ 20416481.2984 -27120577.11749 -21119456.00348 20416480.5194 20416483.7784
+ -673.5354 -524.8354
+ 23477828.2244 -1897958.16649 -1457182.55346 23477827.1794 23477834.7144
+ -2560.6044 -1995.2794
+ 21005207.1944 -24112684.44549 -18762384.17648 21005206.8414 21005213.6324
+ 1000.5944 779.6844
+ 24420709.8884 -755816.40649 -246044.07945 24420711.7744 24420715.5704
+ -2447.2314 -1906.9284
+ 22902467.5244 -6994393.55549 -5437096.07746 22902468.5734 22902475.3384
+ -1237.7434 -964.4754
+ 23966540.3294 -4038848.73249 -3132603.86145 23966538.9144 23966546.1194
+ 3629.1244 2827.8884
+ 23524204.0904 -7055002.88449 -5043908.86046 23524202.9064 23524208.6974
+ -2297.3914 -1790.1604
+ 05 1 20 22 28 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23677834.5664 -7051153.52649 -5241103.19746 23677834.7424 23677841.7814
+ 3136.7854 2444.2454
+ 20126782.9714 -16521372.81049 -12861722.40048 20126781.8494 20126787.6584
+ 593.2614 462.2834
+ 22741477.8364 -11799854.16249 -9176791.44946 22741478.0494 22741484.4404
+ -2329.8514 -1815.4684
+ 20420353.4884 -27100226.85249 -21103598.65748 20420352.9414 20420356.3344
+ -683.1774 -532.3464
+ 23492467.3244 -1821025.40949 -1397234.96946 23492467.2764 23492474.7204
+ -2568.2364 -2001.2184
+ 20999511.6894 -24142614.88349 -18785706.58648 20999511.2744 20999518.0094
+ 994.6764 775.0744
+ 24434723.1464 -682182.52249 -188666.97845 24434724.3424 24434727.1504
+ -2461.5924 -1918.1274
+ 22909582.1844 -6957017.40049 -5407971.80946 22909581.9124 22909586.9034
+ -1253.9604 -977.1174
+ 23945823.8654 -4147696.74149 -3217420.39145 23945825.3574 23945834.1414
+ 3627.5144 2826.6304
+ 23537326.5854 -6986038.27749 -4990170.22246 23537327.0594 23537333.6884
+ -2300.2084 -1792.3664
+ 05 1 20 22 29 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23659940.5724 -7145174.50649 -5314366.24446 23659941.7714 23659949.6504
+ 3130.9684 2439.7154
+ 20123443.6024 -16538916.47149 -12875392.77648 20123443.2904 20123449.2564
+ 576.3164 449.0754
+ 22754790.3044 -11729901.99749 -9122283.26946 22754790.6934 22754796.4824
+ -2333.5434 -1818.3474
+ 20424280.8444 -27079587.25349 -21087515.84848 20424280.6244 20424283.9334
+ -692.8074 -539.8514
+ 23507151.6784 -1743866.70049 -1337111.32146 23507151.1844 23507157.5394
+ -2575.6924 -2007.0324
+ 20993849.2874 -24172368.34249 -18808891.09048 20993849.2834 20993855.9774
+ 988.7924 770.4864
+ 24448817.6404 -608116.73849 -130953.35444 24448814.6934 24448823.9054
+ -2476.0334 -1929.3754
+ 22916786.3584 -6919154.75749 -5378468.45846 22916786.7334 22916793.0934
+ -1270.1484 -989.7314
+ 23925121.3704 -4256498.25349 -3302200.66645 23925122.0594 23925128.5794
+ 3625.9024 2825.3754
+ 23550466.1004 -6916990.23249 -4936366.54046 23550465.1764 23550471.2884
+ -2302.9814 -1794.5234
+ 05 1 20 22 29 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23642083.6344 -7239019.28549 -5387491.97946 23642084.4414 23642091.9154
+ 3125.0484 2435.1004
+ 20120202.4904 -16555951.49849 -12888666.81748 20120201.8164 20120207.8704
+ 559.3894 435.8924
+ 22768122.8124 -11659838.75449 -9067688.52446 22768122.5054 22768129.2734
+ -2337.2594 -1821.2334
+ 20428263.4364 -27058658.22549 -21071207.51348 20428263.2854 20428266.4984
+ -702.4484 -547.3594
+ 23521876.5684 -1666484.80149 -1276813.77946 23521876.3334 23521882.5144
+ -2583.0644 -2012.7824
+ 20988221.7034 -24201944.22849 -18831937.22648 20988221.2894 20988227.7044
+ 982.8804 765.8854
+ 24462995.0914 -533621.78149 -72905.31044 24462996.8834 24462999.0164
+ -2490.2224 -1940.4364
+ 22924083.5574 -6880807.75549 -5348587.67846 22924083.4264 22924090.1624
+ -1286.2764 -1002.3054
+ 23904427.5954 -4365250.56249 -3386942.62945 23904426.8524 23904433.9204
+ 3624.2544 2824.0904
+ 23563620.0704 -6847859.19849 -4882498.23146 23563620.1534 23563626.6124
+ -2305.7644 -1796.6884
+ 05 1 20 22 30 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23624260.5044 -7332685.48749 -5460478.58946 23624259.7214 23624266.9774
+ 3119.0944 2430.4614
+ 20117057.5664 -16572478.71649 -12901545.16348 20117056.6584 20117062.7074
+ 542.4544 422.6874
+ 22781476.1904 -11589664.83149 -9013007.55446 22781476.6934 22781481.7234
+ -2340.9074 -1824.0864
+ 20432300.8534 -27037439.68349 -21054673.57748 20432300.9624 20432304.4554
+ -712.1124 -554.8974
+ 23536643.4134 -1588883.07749 -1216344.92446 23536643.7674 23536649.3534
+ -2590.3464 -2018.4554
+ 20982627.4024 -24231342.43949 -18854844.90748 20982626.8764 20982633.4484
+ 976.9454 761.2524
+ 24477252.2014 -458699.84649 -14524.44745 24477251.1004 24477257.1614
+ -2504.4664 -1951.5414
+ 22931471.7854 -6841978.56249 -5318331.18246 22931472.5144 22931477.6434
+ -1302.2944 -1014.7804
+ 23883742.6084 -4473950.53749 -3471643.78645 23883742.5214 23883749.9784
+ 3622.4734 2822.7034
+ 23576791.2384 -6778645.22749 -4828565.25846 23576791.5834 23576798.1024
+ -2308.5284 -1798.8394
+ 05 1 20 22 30 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23606471.8384 -7426170.89149 -5533324.32746 23606471.0324 23606477.7724
+ 3112.9954 2425.7104
+ 20114009.2034 -16588498.48649 -12914028.09648 20114008.3154 20114014.3094
+ 525.5384 409.5114
+ 22794851.3454 -11519380.04849 -8958240.20146 22794851.3334 22794855.9514
+ -2344.6434 -1826.9864
+ 20436393.9534 -27015931.67249 -21037914.08448 20436393.9764 20436397.1894
+ -721.7714 -562.4184
+ 23551452.2034 -1511064.48149 -1155707.07146 23551450.5664 23551457.3234
+ -2597.5314 -2024.0524
+ 20977067.0014 -24260561.82549 -18877613.25448 20977066.7624 20977073.0884
+ 970.9734 756.6034
+ 24491588.1034 -383353.35348 44187.15044 24491589.3704 24491595.4904
+ -2518.6224 -1962.5604
+ 22938953.1134 -6802669.35049 -5287700.64046 22938952.8594 22938958.4664
+ -1318.2834 -1027.2564
+ 23863066.8244 -4582595.28949 -3556301.89045 23863066.2174 23863074.1574
+ 3620.5604 2821.2124
+ 23589979.7774 -6709347.90149 -4774567.33446 23589978.4684 23589985.7854
+ -2311.2944 -1801.0114
+ 05 1 20 22 31 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23588714.1194 -7519473.16249 -5606027.35046 23588714.5954 23588722.6164
+ 3106.8434 2420.9094
+ 20111057.0754 -16604011.61149 -12926116.24048 20111056.1144 20111062.2504
+ 508.6794 396.3684
+ 22808247.2514 -11448984.49249 -8903386.51146 22808247.1514 22808253.2834
+ -2348.2884 -1829.8424
+ 20440542.1034 -26994134.22149 -21020929.05448 20440541.9774 20440545.1164
+ -731.4094 -569.9304
+ 23566299.5574 -1433031.86249 -1094902.45346 23566299.5774 23566306.7634
+ -2604.5994 -2029.5584
+ 20971540.4764 -24289602.52049 -18900242.34748 20971540.3984 20971546.6324
+ 964.9864 751.9344
+ 24506006.8374 -307584.67248 103227.71144 24506003.9414 24506015.7044
+ -2532.5774 -1973.4304
+ 22946523.1624 -6762882.23749 -5256697.68546 22946523.9304 22946530.9614
+ -1334.1114 -1039.5634
+ 23842403.3484 -4691182.01749 -3640914.84045 23842403.3464 23842410.5444
+ 3618.5254 2819.6224
+ 23603179.7224 -6639967.31549 -4720504.55046 23603180.1784 23603188.2864
+ -2314.0434 -1803.1624
+ 05 1 20 22 31 30.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23570996.0474 -7612589.95349 -5678585.85746 23570995.1794 23571003.7514
+ 3100.6704 2416.1004
+ 20108200.8934 -16619018.46949 -12937809.89148 20108200.2634 20108206.4404
+ 491.7954 383.2234
+ 22821662.8044 -11378478.68349 -8848446.94446 22821663.3634 22821669.0034
+ -2351.9784 -1832.7234
+ 20444745.2784 -26972047.00649 -21003718.22748 20444744.7994 20444747.9954
+ -741.0734 -577.4594
+ 23581191.4304 -1354788.45949 -1033933.60746 23581189.7374 23581196.4994
+ -2611.6214 -2035.0324
+ 20966049.0744 -24318463.71749 -18922731.57348 20966048.2474 20966054.6284
+ 959.0054 747.2824
+ 24520504.6044 -231396.21048 162595.36144 24520504.8914 24520510.5584
+ -2546.5074 -1984.3094
+ 22954187.6364 -6722619.27949 -5225323.96446 22954185.7734 22954192.2794
+ -1349.9974 -1051.9494
+ 23821752.9124 -4799707.72449 -3725480.22345 23821752.6854 23821759.0174
+ 3616.4964 2818.0464
+ 23616399.7374 -6570503.56649 -4666376.95246 23616399.7634 23616405.2124
+ -2316.8474 -1805.3344
+ 05 1 20 22 32 0.0000000 0 10G 6G10G 4G 2G 5G17G13G30G29G24
+ 23553313.0404 -7705518.99749 -5750998.06046 23553312.3994 23553320.2054
+ 3094.3514 2411.1904
+ 20105441.6684 -16633519.77049 -12949109.59748 20105440.8624 20105446.8764
+ 474.9524 370.0934
+ 22835102.2014 -11307862.84349 -8793421.59946 22835101.7084 22835107.7204
+ -2355.6634 -1835.5864
+ 20449003.1054 -26949670.18749 -20986281.74248 20449002.9624 20449006.3144
+ -750.7264 -584.9794
+ 23596120.0134 -1276337.10349 -972802.70746 23596119.5044 23596124.9644
+ -2618.4734 -2040.3744
+ 20960590.3164 -24347144.78349 -18945080.44148 20960590.3424 20960596.8804
+ 953.0004 742.5994
+ 24535086.8574 -154790.47458 222288.10854 24535088.8524 24535089.5874
+ -2560.5204 -1995.2084
+ 22961937.5054 -6681882.88649 -5193581.32846 22961938.1574 22961944.0434
+ -1365.7194 -1064.1774
+ 23801112.7254 -4908169.48749 -3809995.76245 23801111.7444 23801118.5814
+ 3614.3824 2816.3924
+ 23629633.6074 -6500956.46549 -4612184.40246 23629632.9004 23629641.1914
+ -2319.6264 -1807.4954
+ 05 1 20 22 32 30.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23535664.2794 -7798257.94649 -5823262.11846 23535664.1364 23535671.9744
+ 3087.9854 2406.2084
+ 20102778.2944 -16647515.93449 -12960015.69148 20102777.2814 20102783.6224
+ 458.1144 356.9704
+ 22848560.6274 -11237136.92749 -8738310.51346 22848560.2204 22848566.3894
+ -2359.3324 -1838.4454
+ 20453316.5924 -26927003.62749 -20968619.47848 20453316.1124 20453319.3714
+ -760.3974 -592.5174
+ 23611085.8364 -1197680.91149 -911512.19646 23611085.6954 23611093.2054
+ -2625.3024 -2045.6854
+ 20955167.5634 -24375645.66049 -18967288.90348 20955166.7584 20955173.2014
+ 946.9734 737.8984
+ 22969779.3434 -6640675.12749 -5161471.38446 22969779.2344 22969786.5704
+ -1381.3784 -1076.4014
+ 23780486.9204 -5016564.39649 -3894459.20045 23780485.9644 23780491.8354
+ 3612.0424 2814.5704
+ 23642885.0724 -6431326.21749 -4557927.09846 23642883.9734 23642891.5144
+ -2322.4034 -1809.6634
+ 05 1 20 22 33 0.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23518052.5114 -7890804.64249 -5895376.37646 23518053.2014 23518061.4124
+ 3081.4904 2401.1584
+ 20100210.9594 -16661007.96449 -12970528.95548 20100210.1044 20100216.0604
+ 441.3254 343.8864
+ 22862039.9914 -11166301.19449 -8683113.81846 22862040.0774 22862046.0124
+ -2362.9804 -1841.2944
+ 20457685.1014 -26904047.27249 -20950731.40148 20457684.6754 20457687.7484
+ -770.0484 -600.0424
+ 23626093.8754 -1118823.07949 -850064.55946 23626092.3754 23626099.2084
+ -2631.9324 -2050.8554
+ 20949778.1374 -24403965.50849 -18989356.30348 20949777.6624 20949784.1324
+ 940.9634 733.2154
+ 22977710.5234 -6598998.23049 -5128995.89146 22977709.9474 22977715.7804
+ -1396.9934 -1088.5664
+ 23759871.8524 -5124889.45149 -3978868.21545 23759871.0934 23759878.1724
+ 3609.6394 2812.7034
+ 23656150.5064 -6361612.59449 -4503604.79346 23656150.7694 23656156.7844
+ -2325.1644 -1811.8154
+ 05 1 20 22 33 30.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23500478.4814 -7983156.40149 -5967338.75146 23500479.8184 23500486.3854
+ 3075.0054 2396.1064
+ 20097738.8794 -16673996.44349 -12980649.84148 20097738.1824 20097744.6394
+ 424.5594 330.8274
+ 22875539.6074 -11095355.74149 -8627831.65046 22875539.8374 22875545.9354
+ -2366.6274 -1844.1264
+ 20462108.6374 -26880801.07049 -20932617.47448 20462108.6174 20462111.3164
+ -779.7134 -607.5694
+ 23641137.2284 -1039766.35549 -788461.94546 23641137.0094 23641143.0314
+ -2638.5164 -2055.9884
+ 20944422.7214 -24432103.96849 -19011282.36248 20944423.0374 20944429.9174
+ 934.8894 728.4854
+ 22985730.0994 -6556854.49149 -5096156.61446 22985730.4924 22985735.8964
+ -1412.5374 -1100.6694
+ 23739271.9364 -5233141.59749 -4063220.44145 23739272.0734 23739279.3764
+ 3607.2204 2810.8144
+ 23669431.8464 -6291815.41849 -4449217.38046 23669430.9894 23669440.1104
+ -2327.9814 -1814.0084
+ 05 1 20 22 34 0.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23482943.8244 -8075311.20749 -6039147.65146 23482943.8844 23482950.5734
+ 3068.3884 2390.9504
+ 20095363.3204 -16686481.92349 -12990378.78348 20095362.5604 20095368.4984
+ 407.8124 317.7724
+ 22889061.2744 -11024300.69749 -8572464.10146 22889061.6884 22889066.8744
+ -2370.3104 -1846.9894
+ 20466587.8404 -26857265.02349 -20914277.68448 20466587.5194 20466590.2054
+ -789.3674 -615.0944
+ 23656219.8374 -960513.77149 -726706.70246 23656218.1244 23656224.4014
+ -2644.9984 -2061.0224
+ 20939103.5204 -24460060.43549 -19033066.61548 20939103.3064 20939109.6964
+ 928.8714 723.7944
+ 22993838.5914 -6514246.10249 -5062955.29646 22993838.2234 22993844.3004
+ -1427.9834 -1112.7044
+ 23718686.4524 -5341318.03949 -4147513.68646 23718686.8454 23718693.0794
+ 3604.6384 2808.8054
+ 23682727.8404 -6221934.88149 -4394765.03146 23682729.4114 23682736.6384
+ -2330.7354 -1816.1574
+ 05 1 20 22 34 30.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23465445.4734 -8167266.58449 -6110801.13946 23465444.9994 23465452.2454
+ 3061.6904 2385.7334
+ 20093082.9184 -16698465.09549 -12999716.31348 20093082.3214 20093088.2324
+ 391.0744 304.7354
+ 22902603.5964 -10953136.33849 -8517011.36446 22902603.9804 22902609.7054
+ -2373.9694 -1849.8504
+ 20471121.2034 -26833438.82749 -20895711.80948 20471120.8184 20471124.2954
+ -799.0444 -622.6314
+ 23671335.9374 -881068.36449 -664801.24146 23671335.3544 23671343.3334
+ -2651.3794 -2066.0174
+ 20933819.0214 -24487834.77149 -19054708.94048 20933818.2524 20933824.3184
+ 922.7304 719.0124
+ 23002034.7704 -6471175.43949 -5029393.75146 23002034.9594 23002040.3914
+ -1443.3514 -1124.6944
+ 23698117.0824 -5449415.70249 -4231745.51646 23698116.4774 23698123.5384
+ 3601.9904 2806.7424
+ 23696044.2514 -6151970.95649 -4340247.71746 23696043.8624 23696049.9684
+ -2333.5144 -1818.3224
+ 05 1 20 22 35 0.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23447987.2584 -8259020.12049 -6182297.35646 23447985.0424 23447991.8694
+ 3054.9404 2380.4694
+ 20090898.4924 -16709946.72249 -13008663.02048 20090897.3624 20090903.4334
+ 374.3574 291.7054
+ 22916166.2974 -10881862.69449 -8461473.46846 22916166.5164 22916172.9714
+ -2377.5634 -1852.6404
+ 20475710.4894 -26809322.57949 -20876919.92048 20475710.2294 20475713.1054
+ -808.7164 -630.1714
+ 23686488.8644 -801433.38849 -602748.03846 23686489.6984 23686495.9544
+ -2657.6244 -2070.8934
+ 20928568.2884 -24515425.92849 -19076208.52948 20928567.4314 20928573.8034
+ 916.6054 714.2364
+ 23010317.4244 -6427644.74949 -4995473.73446 23010317.7724 23010324.0964
+ -1458.6544 -1136.6204
+ 23677560.9474 -5557431.86349 -4315913.83746 23677561.3384 23677567.7054
+ 3599.1604 2804.5394
+ 23709374.5304 -6081923.66449 -4285665.41246 23709373.0094 23709380.6274
+ -2336.2894 -1820.4914
+ 05 1 20 22 35 30.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23430563.3494 -8350569.55749 -6253634.54046 23430563.2854 23430570.1084
+ 3048.0834 2375.1274
+ 20088808.6244 -16720927.59749 -13017219.54348 20088807.6354 20088813.7564
+ 357.6934 278.7224
+ 22929750.2254 -10810480.04549 -8405850.62846 22929750.2964 22929756.7784
+ -2381.2274 -1855.4954
+ 20480355.0864 -26784916.34649 -20857902.07048 20480354.4364 20480357.5154
+ -818.3824 -637.6994
+ 23701678.7994 -721611.95049 -540549.52846 23701678.7324 23701686.4854
+ -2663.7974 -2075.6884
+ 20923352.6834 -24542833.92749 -19097565.40748 20923352.0214 20923358.2594
+ 910.4454 709.4374
+ 23018690.0444 -6383656.38849 -4961197.09846 23018689.7224 23018694.5924
+ -1473.8734 -1148.4694
+ 23657022.5144 -5665363.31949 -4400016.18146 23657022.8684 23657029.0494
+ 3596.2954 2802.3114
+ 23722716.5924 -6011792.81049 -4231017.99846 23722717.2364 23722725.2724
+ -2339.1214 -1822.6994
+ 05 1 20 22 36 0.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23413182.4724 -8441912.49649 -6324810.80546 23413181.9844 23413188.6694
+ 3041.1644 2369.7414
+ 20086814.0474 -16731408.26449 -13025386.29048 20086813.5154 20086819.2824
+ 341.0434 265.7474
+ 22943353.9414 -10738988.50849 -8350142.95246 22943353.9394 22943360.1244
+ -2384.8224 -1858.2974
+ 20485054.0804 -26760220.02949 -20838658.18148 20485053.8544 20485057.4204
+ -828.0534 -645.2384
+ 23716904.3214 -641606.91049 -478207.94246 23716903.5894 23716910.6364
+ -2669.8694 -2080.4304
+ 20918171.7524 -24570057.63249 -19118778.67948 20918171.4144 20918177.8124
+ 904.3914 704.7214
+ 23027145.2214 -6339212.65049 -4926565.61346 23027145.2884 23027152.7454
+ -1489.0174 -1160.2754
+ 23636499.9994 -5773207.26949 -4484050.33546 23636499.9954 23636506.6974
+ 3593.3074 2799.9794
+ 23736080.7824 -5941578.52249 -4176305.61146 23736080.4504 23736085.8544
+ -2341.8504 -1824.8204
+ 05 1 20 22 36 30.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23395839.2314 -8533046.70249 -6395824.44246 23395839.5924 23395846.2634
+ 3034.1214 2364.2604
+ 20084914.8004 -16741389.70049 -13033164.02348 20084914.0774 20084919.6554
+ 324.3984 252.7824
+ 22956980.0564 -10667388.24149 -8294350.54046 22956980.4224 22956985.7304
+ -2388.4524 -1861.1304
+ 20489809.4954 -26735233.70349 -20819188.30948 20489808.9304 20489812.0624
+ -837.7214 -652.7674
+ 23732162.4014 -561421.45249 -415725.79046 23732161.5294 23732169.6704
+ -2675.7824 -2085.0294
+ 20913026.6534 -24597097.07249 -19139848.36548 20913026.1644 20913032.4864
+ 898.2024 699.9014
+ 23035689.7974 -6294315.97849 -4891581.17746 23035689.3944 23035695.2684
+ -1504.0664 -1172.0074
+ 23615994.3454 -5880960.56349 -4568013.84146 23615995.8704 23616002.9514
+ 3590.2634 2797.6044
+ 23749458.6354 -5871280.68349 -4121528.10146 23749458.0424 23749464.7054
+ -2344.6404 -1826.9844
+ 05 1 20 22 37 0.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23378537.6834 -8623969.68749 -6466673.48846 23378537.1694 23378544.4514
+ 3027.0644 2358.7474
+ 20083110.2734 -16750872.73749 -13040553.38948 20083109.4854 20083115.4124
+ 307.8144 239.8574
+ 22970625.6894 -10595679.39449 -8238473.51846 22970626.1264 22970632.0144
+ -2392.0754 -1863.9594
+ 20494619.3864 -26709956.88349 -20799492.08048 20494618.8034 20494621.9154
+ -847.3854 -660.2974
+ 23747456.2934 -481058.31249 -353105.20746 23747455.4124 23747462.2914
+ -2681.6704 -2089.6024
+ 20907916.7084 -24623951.19849 -19160773.64748 20907915.8194 20907922.4174
+ 892.0254 695.0834
+ 23044318.0524 -6248968.51549 -4856245.49846 23044318.6194 23044324.2974
+ -1519.0304 -1183.6804
+ 23595509.6394 -5988620.35149 -4651904.49146 23595508.2974 23595515.8114
+ 3587.0844 2795.1394
+ 23762849.1864 -5800899.55049 -4066685.69046 23762850.1294 23762858.1954
+ -2347.4324 -1829.1654
+ 05 1 20 22 37 30.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23361277.3434 -8714679.26549 -6537356.21946 23361275.5774 23361282.5504
+ 3019.9084 2353.1734
+ 20081400.6224 -16759857.91749 -13047554.82248 20081399.6254 20081405.5374
+ 291.2214 226.9264
+ 22984291.9824 -10523862.04449 -8182511.94946 22984292.5444 22984298.1264
+ -2395.6844 -1866.7674
+ 20499484.2694 -26684389.94349 -20779569.77948 20499484.2144 20499487.2964
+ -857.0794 -667.8554
+ 23762781.7204 -400520.63849 -290348.61446 23762781.9624 23762786.9474
+ -2687.4494 -2094.1234
+ 20902841.9824 -24650619.67049 -19181554.26248 20902841.1174 20902847.5354
+ 885.8514 690.2754
+ 23053034.5794 -6203172.82849 -4820560.56646 23053035.1884 23053039.5364
+ -1533.9354 -1195.2634
+ 23575039.8574 -6096183.64349 -4735719.94445 23575039.1314 23575047.1394
+ 3583.8444 2792.5974
+ 23776258.7154 -5730434.60949 -4011777.95546 23776260.2244 23776266.8004
+ -2350.2264 -1831.3464
+ 05 1 20 22 38 0.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23344056.5404 -8805172.78249 -6607870.60846 23344056.0414 23344062.3134
+ 3012.6944 2347.5514
+ 20079784.8774 -16768346.18749 -13054169.05248 20079784.2014 20079790.4374
+ 274.6514 214.0154
+ 22997979.1044 -10451936.58949 -8126466.14646 22997979.4944 22997984.4384
+ -2399.3034 -1869.5784
+ 20504404.4064 -26658532.70549 -20759421.27748 20504404.4044 20504407.7524
+ -866.7694 -675.4024
+ 23778140.0294 -319811.34549 -227458.27246 23778139.0184 23778147.6704
+ -2693.1534 -2098.5574
+ 20897802.0014 -24677101.88749 -19202189.74448 20897801.5524 20897808.0784
+ 879.5484 685.3634
+ 23061834.2204 -6156931.27949 -4784528.19046 23061833.5744 23061839.0454
+ -1548.7864 -1206.8444
+ 23554589.4824 -6203647.54149 -4819457.96445 23554589.4004 23554596.4014
+ 3580.4384 2789.9584
+ 23789684.2774 -5659886.12749 -3956805.11046 23789683.4894 23789690.8164
+ -2353.0274 -1833.5184
+ 05 1 20 22 38 30.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23326877.8304 -8895447.98949 -6678214.89546 23326877.5154 23326882.8984
+ 3005.3654 2341.8414
+ 20078264.0824 -16776338.49349 -13060396.81448 20078263.3904 20078269.4064
+ 258.1454 201.1514
+ 23011685.7254 -10379902.95149 -8070336.04746 23011686.2784 23011691.7404
+ -2402.8764 -1872.3644
+ 20509380.7664 -26632385.21749 -20739046.60748 20509380.2254 20509383.3644
+ -876.4354 -682.9394
+ 23793529.6684 -238933.64149 -164436.73046 23793530.0144 23793536.7114
+ -2698.7264 -2102.9064
+ 20892798.1484 -24703397.31249 -19222679.67848 20892797.7014 20892804.0884
+ 873.3394 680.5224
+ 23070716.4254 -6110246.20549 -4748150.22046 23070717.6984 23070722.9514
+ -1563.5214 -1218.3274
+ 23534157.7264 -6311008.98249 -4903116.14945 23534158.9044 23534166.1924
+ 3576.9934 2787.2534
+ 23803124.4654 -5589254.01949 -3901767.11546 23803125.0074 23803132.1574
+ -2355.8154 -1835.6924
+ 05 1 20 22 39 0.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23309739.3024 -8985502.63549 -6748387.30846 23309739.9384 23309746.2434
+ 2997.9384 2336.0634
+ 20076837.6014 -16783835.62949 -13066238.72848 20076836.3594 20076842.5694
+ 241.6504 188.2954
+ 23025415.4034 -10307761.40649 -8014121.84946 23025415.1924 23025420.3634
+ -2406.4784 -1875.1764
+ 20514411.2024 -26605947.24549 -20718445.58948 20514411.0314 20514414.4534
+ -886.1254 -690.4874
+ 23808952.3834 -157890.65549 -101286.36846 23808950.0364 23808959.5854
+ -2704.1564 -2107.1334
+ 20887830.3584 -24729505.38449 -19243023.62548 20887829.6174 20887835.9344
+ 867.1154 675.6744
+ 23079683.4284 -6063120.13849 -4711428.61146 23079684.4274 23079690.4874
+ -1578.1614 -1229.7324
+ 23513751.8744 -6418265.08349 -4986692.25545 23513749.9844 23513755.3344
+ 3573.4364 2784.4884
+ 23816581.4984 -5518538.28349 -3846663.98646 23816582.6824 23816589.3384
+ -2358.6134 -1837.8714
+ 05 1 20 22 39 30.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23292645.3414 -9075334.18949 -6818385.88646 23292645.8744 23292651.5064
+ 2990.5304 2330.2784
+ 20075504.2904 -16790838.40849 -13071695.42748 20075503.8744 20075510.3114
+ 225.1944 175.4764
+ 23039162.5564 -10235511.96849 -7957823.60646 23039163.4104 23039170.3834
+ -2410.0544 -1877.9614
+ 20519498.2034 -26579218.65249 -20697618.10448 20519497.6714 20519500.7994
+ -895.8044 -698.0304
+ 23824406.6594 -76685.47249 -38009.61946 23824405.5774 23824412.7774
+ -2709.5244 -2111.3224
+ 20882897.0184 -24755425.99149 -19263221.48948 20882897.0184 20882903.0844
+ 860.8454 670.7894
+ 23088735.4564 -6015555.36549 -4674365.15846 23088735.9864 23088742.5064
+ -1592.7674 -1241.1104
+ 23493360.3104 -6525412.74549 -5070183.85946 23493360.2794 23493365.9164
+ 3569.7454 2781.6104
+ 23830056.4464 -5447738.93949 -3791495.68246 23830054.9574 23830060.3064
+ -2361.3514 -1840.0094
+ 05 1 20 22 40 0.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23275593.0264 -9164940.38149 -6888208.83646 23275594.1374 23275600.1744
+ 2982.9334 2324.3604
+ 20074265.8754 -16797347.52049 -13076767.45048 20074265.2704 20074271.2704
+ 208.7554 162.6674
+ 23052932.0284 -10163154.95649 -7901441.51446 23052932.3204 23052938.6604
+ -2413.6724 -1880.7884
+ 20524639.1564 -26552199.52549 -20676564.23048 20524638.8054 20524642.3344
+ -905.4834 -705.5694
+ 23839887.9794 4679.11949 25391.33046 23839887.2854 23839895.0284
+ -2714.7994 -2115.4254
+ 20878000.9464 -24781157.88049 -19283272.30148 20878000.3714 20878006.6084
+ 854.5434 665.8784
+ 23097871.2884 -5967554.47849 -4636961.86646 23097871.2324 23097876.0214
+ -1607.2334 -1252.3964
+ 23472992.2154 -6632449.05049 -5153588.70646 23472991.6204 23472997.9024
+ 3566.0594 2778.7404
+ 23843543.9834 -5376855.73249 -3736261.99746 23843543.9884 23843551.4114
+ -2364.1604 -1842.2094
+ 05 1 20 22 40 30.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23258587.8844 -9254318.65349 -6957854.21946 23258586.9164 23258592.5284
+ 2975.3164 2318.4284
+ 20073121.1334 -16803364.00049 -13081455.60848 20073120.3234 20073126.5944
+ 192.3644 149.8924
+ 23066721.8394 -10090690.48049 -7844975.70246 23066722.0024 23066727.0834
+ -2417.2334 -1883.5604
+ 20529836.4254 -26524889.70149 -20655283.84548 20529835.7574 20529839.0354
+ -915.1644 -713.1184
+ 23855400.0734 86200.05249 88914.08146 23855399.9904 23855407.7414
+ -2719.9224 -2119.4094
+ 20873140.5554 -24806700.83049 -19303175.88348 20873139.8134 20873145.9864
+ 848.2654 660.9874
+ 23107086.8664 -5919119.91249 -4599220.67946 23107087.5184 23107093.1584
+ -1621.6504 -1263.6144
+ 23452644.7784 -6739371.00749 -5236904.46346 23452645.0114 23452650.9834
+ 3562.1734 2775.7214
+ 23857048.3564 -5305888.58849 -3680962.98046 23857047.9104 23857054.7324
+ -2366.9604 -1844.3744
+ 05 1 20 22 41 0.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23241622.0134 -9343466.80349 -7027320.26446 23241622.2104 23241627.8124
+ 2967.5744 2312.3894
+ 20072069.9784 -16808888.96849 -13085760.77048 20072069.1804 20072075.1134
+ 175.9684 137.1184
+ 23080531.1464 -10018118.66549 -7788426.24346 23080531.0444 23080538.0894
+ -2420.7994 -1886.3274
+ 20535088.4714 -26497289.29049 -20633777.02548 20535087.9374 20535091.2754
+ -924.8774 -720.6844
+ 23870944.5634 167874.17749 152556.25646 23870942.7344 23870949.4684
+ -2725.0474 -2123.4184
+ 20868315.5974 -24832053.90649 -19322931.51248 20868315.0274 20868321.3744
+ 841.8954 656.0224
+ 23116384.9424 -5870254.12249 -4561143.44046 23116385.0964 23116391.5184
+ -1635.9694 -1274.7754
+ 23432319.9914 -6846175.66249 -5320128.79146 23432320.1654 23432326.0824
+ 3558.1564 2772.5884
+ 23870567.8384 -5234837.81049 -3625598.74546 23870568.7624 23870575.3234
+ -2369.7514 -1846.5624
+ 05 1 20 22 41 30.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23224701.7714 -9432382.49249 -7096605.18346 23224701.8204 23224707.5204
+ 2959.8004 2306.3284
+ 20071112.0264 -16813923.17049 -13089683.51948 20071111.4234 20071117.1914
+ 159.6494 124.4024
+ 23094361.6844 -9945439.43949 -7731793.08346 23094362.2264 23094368.8934
+ -2424.3774 -1889.1264
+ 20540395.4654 -26469398.26449 -20612043.75448 20540395.4364 20540398.8494
+ -934.5414 -728.2104
+ 23886514.4294 249698.56949 216315.49646 23886513.1054 23886521.9034
+ -2729.9554 -2127.2354
+ 20863527.7084 -24857216.66749 -19342538.85048 20863526.8304 20863533.1874
+ 835.5464 651.0734
+ 23125765.8534 -5820959.51449 -4522732.07346 23125766.8564 23125772.2784
+ -1650.2424 -1285.9034
+ 23412018.7664 -6952860.06649 -5403259.43846 23412019.0934 23412025.3724
+ 3554.1404 2769.4524
+ 23884106.0784 -5163703.21149 -3570169.18146 23884105.2444 23884112.2814
+ -2372.5304 -1848.7344
+ 05 1 20 22 42 0.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23207825.7124 -9521063.04149 -7165706.86946 23207826.4084 23207832.0034
+ 2951.9094 2300.1844
+ 20070247.4094 -16818467.49349 -13093224.53648 20070246.5984 20070252.4174
+ 143.3244 111.6804
+ 23108213.5764 -9872653.26049 -7675076.57946 23108213.2774 23108217.4424
+ -2427.9464 -1891.9104
+ 20545758.7324 -26441216.58049 -20590083.99348 20545758.3724 20545761.4064
+ -944.2484 -735.7784
+ 23902112.2494 331670.24149 280189.47746 23902112.7034 23902120.0214
+ -2734.7874 -2131.0024
+ 20858775.3144 -24882188.83049 -19361997.66648 20858774.4284 20858781.2514
+ 829.1744 646.1074
+ 23135227.1344 -5771238.73749 -4483988.61646 23135227.0224 23135234.0304
+ -1664.4124 -1296.9384
+ 23391741.1944 -7059421.01249 -5486293.87246 23391740.9404 23391746.4174
+ 3549.9504 2766.1844
+ 23897656.9244 -5092484.55449 -3514674.15746 23897656.0724 23897665.3354
+ -2375.3914 -1850.9624
+ 05 1 20 22 42 30.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23190994.8464 -9609506.32649 -7234623.67446 23190995.4394 23191001.7824
+ 2944.0164 2294.0514
+ 20069475.1124 -16822523.20049 -13096384.81848 20069474.4644 20069480.6354
+ 127.0864 99.0264
+ 23122082.9634 -9799760.15049 -7618276.74446 23122083.4624 23122090.2574
+ -2431.5284 -1894.7024
+ 20551176.8894 -26412744.09649 -20567897.63648 20551176.4094 20551179.4834
+ -953.9184 -743.3134
+ 23917738.0614 413786.24749 344175.97046 23917738.0414 23917745.4464
+ -2739.5984 -2134.7404
+ 20854059.5704 -24906969.25449 -19381307.07548 20854058.9724 20854065.3954
+ 822.7834 641.1284
+ 23144768.6274 -5721094.23649 -4444914.97646 23144770.4834 23144776.0034
+ -1678.4504 -1307.8804
+ 23371489.3684 -7165855.68349 -5569229.93946 23371488.0244 23371493.7874
+ 3545.7214 2762.8894
+ 23911228.3854 -5021181.95149 -3459113.70446 23911227.1994 23911233.4254
+ -2378.1654 -1853.1164
+ 05 1 20 22 43 0.0000000 0 9G 6G10G 4G 2G 5G17G30G29G24
+ 23174210.9914 -9697709.87249 -7303353.66946 23174210.3624 23174217.4974
+ 2935.9464 2287.7614
+ 20068796.2454 -16826091.08849 -13099164.98448 20068795.4554 20068801.6674
+ 110.8014 86.3394
+ 23135975.6514 -9726760.10549 -7561393.64846 23135975.9744 23135980.7004
+ -2435.0864 -1897.4744
+ 20556650.5214 -26383980.63849 -20545484.55448 20556649.9504 20556653.0254
+ -963.6484 -750.8954
+ 23933393.5184 496043.27649 408272.34846 23933392.7184 23933398.9614
+ -2744.2044 -2138.3344
+ 20849380.7054 -24931557.92649 -19400467.06848 20849379.9164 20849386.5264
+ 816.3814 636.1404
+ 23154393.2054 -5670528.66649 -4405513.25246 23154392.2134 23154397.6504
+ -1692.5244 -1318.8524
+ 23351259.2984 -7272161.08549 -5652065.26846 23351259.2754 23351264.3384
+ 3541.3524 2759.5014
+ 23924811.3304 -4949795.41549 -3403487.89346 23924810.7904 23924817.0814
+ -2380.9864 -1855.3134
+ 05 1 20 22 43 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 23157471.6024 -9785671.09249 -7371894.83846 23157472.4434 23157478.6744
+ 2927.8434 2281.4394
+ 20068210.1074 -16829171.93849 -13101565.64148 20068209.4274 20068215.6434
+ 94.5844 73.7074
+ 23149886.2314 -9653653.56949 -7504427.50746 23149886.9674 23149892.7654
+ -2438.6264 -1900.2224
+ 20562178.8654 -26354926.30149 -20522844.80248 20562178.9564 20562182.0394
+ -973.3454 -758.4454
+ 23949070.8724 578438.37549 472476.26846 23949070.2574 23949078.0744
+ -2748.7834 -2141.9014
+ 20844737.9794 -24955953.88649 -19419476.89648 20844737.5614 20844744.0834
+ 809.9704 631.1464
+ 24532270.9214 -139406.48349 -83956.48843
+ 4105.5184 3199.3104
+ 23164093.1584 -5619544.45349 -4365785.31146 23164094.4794 23164101.2804
+ -1706.3814 -1329.6404
+ 23331054.6124 -7378334.25349 -5734797.53646 23331054.0664 23331060.4784
+ 3536.9444 2756.0634
+ 23938409.4104 -4878324.88849 -3347796.57745 23938409.3604 23938415.7434
+ -2383.7444 -1857.4704
+ 05 1 20 22 44 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 23140781.0994 -9873387.90449 -7440245.54746 23140779.7424 23140787.0664
+ 2919.6484 2275.0564
+ 20067716.1054 -16831766.83549 -13103587.62748 20067715.5994 20067721.6034
+ 78.4054 61.0934
+ 23163819.3424 -9580440.54249 -7447378.39646 23163818.6544 23163824.5744
+ -2442.1494 -1902.9844
+ 20567763.0374 -26325580.88849 -20499978.24048 20567762.9634 20567766.2764
+ -983.0384 -766.0024
+ 23964776.1584 660968.69049 536785.55346 23964775.4094 23964782.9224
+ -2753.2334 -2145.3664
+ 20840132.7404 -24980156.52449 -19438336.08248 20840132.0924 20840138.2084
+ 803.4874 626.0934
+ 24508824.9154 -262593.52849 -179946.61145
+ 4106.9734 3200.0134
+ 23173875.5974 -5568144.21349 -4325733.16746 23173875.6344 23173882.0524
+ -1720.1964 -1340.4054
+ 23310876.0954 -7484372.12349 -5817424.38846 23310875.9194 23310881.7434
+ 3532.3484 2752.4794
+ 23952027.6774 -4806770.24149 -3292039.72545 23952027.3634 23952034.1784
+ -2386.5644 -1859.6684
+ 05 1 20 22 44 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 23124135.5974 -9960857.68649 -7508403.76946 23124134.5984 23124140.7644
+ 2911.3944 2268.6154
+ 20067314.9774 -16833876.77349 -13105231.72448 20067314.2554 20067320.2144
+ 62.2734 48.5214
+ 23177770.7534 -9507121.06449 -7390246.38346 23177770.6994 23177777.6434
+ -2445.7244 -1905.7614
+ 20573403.0054 -26295944.77349 -20476885.16448 20573402.7744 20573405.5854
+ -992.7334 -773.5584
+ 23980508.1424 743631.12849 601197.82446 23980506.5304 23980512.5004
+ -2757.6064 -2148.7874
+ 20835564.1824 -25004165.17849 -19457044.10448 20835563.1704 20835569.6584
+ 797.0534 621.0784
+ 24485376.5824 -385822.68349 -275969.07945 24485386.5224
+ 4108.3054 3201.2674
+ 23183735.6444 -5516330.56349 -4285358.90346 23183736.3894 23183741.6834
+ -1733.9494 -1351.1324
+ 23290724.2174 -7590271.64449 -5899943.43946 23290723.9214 23290729.5724
+ 3527.6914 2748.8534
+ 23965660.8744 -4735131.57049 -3236217.40245 23965661.4024 23965667.6324
+ -2389.3864 -1861.8534
+ 05 1 20 22 45 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 23107537.8814 -10048078.16449 -7576367.72446 23107537.3074 23107544.2854
+ 2903.0374 2262.0964
+ 20067005.6594 -16835502.79549 -13106498.75048 20067004.7194 20067010.6384
+ 46.1484 35.9554
+ 23191745.6494 -9433695.33249 -7333031.53046 23191745.0804 23191748.8224
+ -2449.2464 -1908.5084
+ 20579097.5874 -26266017.52149 -20453565.21948 20579097.7764 20579100.9164
+ -1002.4314 -781.1174
+ 23996261.5584 826422.66349 665710.68546 23996260.5054 23996267.3774
+ -2761.8454 -2152.0764
+ 20831032.1994 -25027979.36249 -19475600.59948 20831031.7214 20831038.0114
+ 790.5194 615.9864
+ 24461921.3764 -509090.80849 -372022.04345 24461920.8224 24461928.4434
+ 4109.5764 3202.2654
+ 23193672.9194 -5464106.03549 -4244664.46546 23193673.1524 23193680.2824
+ -1747.6234 -1361.7884
+ 23270597.1284 -7696029.86849 -5982352.38246 23270597.5594 23270605.0814
+ 3522.8964 2745.1104
+ 23979304.5174 -4663409.01949 -3180329.71845 23979305.1374 23979315.7734
+ -2392.1354 -1864.0004
+ 05 1 20 22 45 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 23090988.5514 -10135046.75449 -7644135.40846 23090987.8854 23090995.2504
+ 2894.6064 2255.5454
+ 20066788.0474 -16836646.05949 -13107389.59748 20066787.1094 20066792.9264
+ 30.0784 23.4334
+ 23205736.3304 -9360163.54149 -7275734.00246 23205736.1074 23205742.7934
+ -2452.8154 -1911.2914
+ 20584848.3194 -26235799.08649 -20430018.37948 20584847.9224 20584851.2624
+ -1012.1374 -788.6834
+ 24012038.8754 909340.14649 730321.68546 24012039.2064 24012046.4474
+ -2765.9904 -2155.3194
+ 20826538.1844 -25051598.22249 -19494004.88948 20826537.2524 20826543.5224
+ 784.0034 610.9074
+ 24438455.0704 -632394.97949 -468103.08745 24438454.9554 24438462.6704
+ 4110.7714 3203.1944
+ 23203688.5814 -5411473.22549 -4203651.90146 23203689.1494 23203695.3434
+ -1761.1914 -1372.3544
+ 23250501.2204 -7801643.77149 -6064648.86946 23250500.7414 23250507.4164
+ 3518.0744 2741.3514
+ 23992971.4644 -4591601.93649 -3124376.17245 23992971.8614 23992979.1334
+ -2394.9864 -1866.2134
+ 05 1 20 22 46 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 23074485.9434 -10221761.17549 -7711705.03646 23074486.9404 23074493.1724
+ 2886.0624 2248.8614
+ 20066661.7204 -16837307.71849 -13107905.16548 20066661.1554 20066667.0774
+ 14.0374 10.9374
+ 23219748.1694 -9286525.74549 -7218353.91946 23219748.7774 23219755.1824
+ -2456.3174 -1914.0224
+ 20590653.6054 -26205289.50349 -20406244.67248 20590653.4284 20590656.8574
+ -1021.8414 -796.2444
+ 24027843.2214 992380.49349 795028.43246 24027841.4534 24027849.0684
+ -2770.0254 -2158.4654
+ 20822080.1784 -25075021.46749 -19512256.75848 20822079.8144 20822086.0884
+ 777.4864 605.8334
+ 24414985.5804 -755732.17949 -564209.86345 24414985.7724 24414991.2004
+ 4111.7874 3203.9854
+ 23213781.1134 -5358434.75649 -4162323.23746 23213781.8874 23213787.9084
+ -1774.6554 -1382.8574
+ 23230431.8974 -7907110.35149 -6146830.56446 23230430.8704 23230436.4954
+ 3513.1254 2737.4844
+ 24006655.0404 -4519710.71949 -3068357.07945 24006652.3494 24006659.4404
+ -2397.8304 -1868.4334
+ 05 1 20 22 46 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 23058035.3274 -10308219.06449 -7779074.76346 23058034.1154 23058040.6574
+ 2877.5264 2242.2224
+ 20066628.0454 -16837488.52049 -13108046.04448 20066626.7974 20066632.6034
+ -1.9774 -1.5444
+ 23233783.1134 -9212782.08049 -7160891.33546 23233782.7404 23233787.1944
+ -2459.8534 -1916.7584
+ 20596514.2604 -26174488.84549 -20382244.15248 20596514.5834 20596518.0684
+ -1031.5354 -803.7954
+ 24043667.0324 1075540.94749 859828.72346 24043666.3854 24043674.2644
+ -2773.9964 -2161.5524
+ 20817660.3844 -25098248.29749 -19530355.57348 20817659.9514 20817666.0864
+ 770.9384 600.7274
+ 24391509.5144 -879099.83349 -660340.41645 24391509.3354 24391515.8694
+ 4112.6634 3204.6684
+ 23223951.1864 -5304993.35849 -4120680.60146 23223950.4864 23223956.3754
+ -1788.0434 -1393.2764
+ 23210389.1944 -8012426.81949 -6228895.28746 23210389.6104 23210395.5084
+ 3508.0574 2733.5404
+ 24020349.2504 -4447735.30849 -3012272.35545 24020351.0144 24020355.3294
+ -2400.5974 -1870.5994
+ 05 1 20 22 47 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 23041632.4864 -10394417.91649 -7846242.66446 23041631.4404 23041637.3494
+ 2868.8454 2235.4604
+ 20066684.7174 -16837189.66849 -13107813.16248 20066683.8214 20066689.7054
+ -17.9334 -13.9754
+ 23247835.4654 -9138932.71349 -7103346.36346 23247834.9944 23247841.5534
+ -2463.3614 -1919.5114
+ 20602431.9154 -26143397.02849 -20358016.75248 20602431.2784 20602434.5034
+ -1041.2634 -811.3774
+ 24059514.8944 1158818.54249 924720.33946 24059513.9264 24059521.3844
+ -2777.8294 -2164.5444
+ 20813278.1254 -25121277.71949 -19548300.56248 20813277.5634 20813283.9744
+ 764.3324 595.5834
+ 24368027.0164 -1002494.55349 -756491.93145 24368027.6454 24368034.8394
+ 4113.5584 3205.3624
+ 23234195.7564 -5251151.60049 -4078726.00946 23234196.9644 23234203.4894
+ -1801.3294 -1403.6284
+ 23190377.6684 -8117589.81449 -6310840.41346 23190378.2154 23190383.5814
+ 3502.8904 2729.5234
+ 24034063.1104 -4375675.55649 -2956121.91945 24034061.5554 24034070.3414
+ -2403.4184 -1872.7974
+ 05 1 20 22 47 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 23025278.7804 -10480355.37149 -7913206.85846 23025277.2324 23025283.9434
+ 2860.0824 2228.6324
+ 20066832.4444 -16836412.11549 -13107207.26948 20066831.5644 20066837.6824
+ -33.8804 -26.4014
+ 23261907.8294 -9064977.66249 -7045719.09746 23261908.8224 23261914.5754
+ -2466.8814 -1922.2484
+ 20608403.8094 -26112013.80249 -20333562.28748 20608403.3814 20608406.6684
+ -1050.9574 -818.9334
+ 24075383.2824 1242210.05849 989700.72246 24075381.5004 24075388.9634
+ -2781.5604 -2167.4544
+ 20808933.4184 -25144109.29849 -19566091.38848 20808932.8884 20808938.9814
+ 757.7314 590.4404
+ 24344544.5194 -1125913.52149 -852662.43845 24344543.1484 24344549.2544
+ 4114.3584 3205.9914
+ 23244518.2634 -5196912.14849 -4036461.50046 23244518.7444 23244524.6954
+ -1814.5744 -1413.9704
+ 23170395.7944 -8222596.57249 -6392663.82646 23170395.7704 23170402.0044
+ 3497.6524 2725.4444
+ 24047789.7744 -4303531.44349 -2899905.71045 24047791.6854 24047797.8314
+ -2406.2174 -1874.9734
+ 05 1 20 22 48 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 23008975.2824 -10566028.99249 -7979965.47247 23008974.8004 23008981.1504
+ 2851.2304 2221.7354
+ 20067071.1384 -16835157.44249 -13106229.59548 20067070.4154 20067076.3514
+ -49.7474 -38.7664
+ 23276002.7514 -8990917.30849 -6988009.74646 23276002.4124 23276007.3754
+ -2470.4074 -1924.9784
+ 20614430.6024 -26080339.36449 -20308880.89948 20614430.9374 20614433.9614
+ -1060.6984 -826.5244
+ 24091273.0694 1325712.55649 1054767.55846 24091272.7644 24091279.3764
+ -2785.2594 -2170.3334
+ 20804626.1724 -25166742.67149 -19583727.76948 20804625.8364 20804632.0754
+ 751.1034 585.2754
+ 24321052.8154 -1249353.78449 -948849.48245 24321051.6184 24321058.5914
+ 4114.9744 3206.4714
+ 23254914.1684 -5142277.58949 -3993889.14546 23254916.2664 23254921.7674
+ -1827.6864 -1424.1674
+ 23150443.5274 -8327444.25049 -6474363.24746 23150444.3404 23150449.9704
+ 3492.2734 2721.2454
+ 24061535.9434 -4231302.94049 -2843623.78345 24061533.9944 24061540.9174
+ -2409.0384 -1877.1714
+ 05 1 20 22 48 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22992722.8114 -10651436.39949 -8046516.65146 22992722.1654 22992727.9764
+ 2842.3284 2214.8054
+ 20067400.2464 -16833426.56749 -13104880.85548 20067399.7134 20067405.7644
+ -65.5814 -51.1034
+ 23290114.8654 -8916751.69049 -6930218.35546 23290115.1784 23290120.6914
+ -2473.9104 -1927.7144
+ 20620514.1034 -26048373.61949 -20283972.51948 20620513.6784 20620517.0074
+ -1070.4284 -834.1044
+ 24107185.6184 1409323.10049 1119918.60346 24107183.9774 24107190.2944
+ -2788.7684 -2173.0684
+ 20800357.1224 -25189176.86249 -19601208.94748 20800356.7584 20800363.0844
+ 744.4594 580.0964
+ 24297559.4554 -1372812.40149 -1045050.82945 24297557.8094 24297566.6694
+ 4115.5354 3206.9054
+ 23265387.0384 -5087250.75849 -3951011.10546 23265387.7574 23265393.0954
+ -1840.7084 -1434.3204
+ 23130524.9954 -8432129.47649 -6555936.10046 23130523.5124 23130529.5484
+ 3486.7964 2716.9774
+ 24075294.7394 -4158989.96749 -2787275.99745 24075295.8164 24075302.0834
+ -2411.8374 -1879.3504
+ 05 1 20 22 49 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22976520.9414 -10736575.01649 -8112858.37047 22976521.1964 22976527.4614
+ 2833.3104 2207.7714
+ 20067820.1514 -16831220.46549 -13103161.80448 20067819.3684 20067825.3734
+ -81.4304 -63.4614
+ 23304249.2794 -8842480.90749 -6872345.02446 23304248.5314 23304255.1304
+ -2477.3904 -1930.4454
+ 20626652.2154 -26016116.57449 -20258837.15548 20626651.8184 20626655.5964
+ -1080.1104 -841.6434
+ 24123113.6364 1493038.62649 1185151.46846 24123113.6194 24123120.9034
+ -2792.2464 -2175.7704
+ 20796125.9924 -25211411.35149 -19618534.51248 20796125.4474 20796132.1714
+ 737.7924 574.9024
+ 24274057.2974 -1496286.37249 -1141264.18645 24274059.5584 24274069.2114
+ 4115.9954 3207.2634
+ 23275932.3894 -5031834.24849 -3907829.42046 23275932.3374 23275937.9414
+ -1853.6314 -1444.3924
+ 23110634.6814 -8536649.54949 -6637380.25346 23110634.0954 23110639.2904
+ 3481.2314 2712.6484
+ 24089073.8434 -4086592.63149 -2730862.51445 24089073.5304 24089078.9624
+ -2414.6394 -1881.5394
+ 05 1 20 22 49 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22960371.1794 -10821442.66849 -8178988.96447 22960371.3784 22960377.1774
+ 2824.2664 2200.7314
+ 20068330.3624 -16828540.25149 -13101073.31848 20068329.5204 20068335.2544
+ -97.2494 -75.7804
+ 23318400.3524 -8768104.97349 -6814389.75046 23318401.7454 23318407.7264
+ -2480.8744 -1933.1484
+ 20632845.3374 -25983568.11549 -20233474.70548 20632845.5694 20632849.0944
+ -1089.7994 -849.1904
+ 24139064.4044 1576856.13049 1250463.75546 24139063.3024 24139070.7334
+ -2795.5764 -2178.3604
+ 20791933.3524 -25233445.43049 -19635703.90648 20791932.5464 20791939.0274
+ 731.0594 569.6574
+ 24250563.3074 -1619772.68449 -1237487.16245 24250563.2474 24250570.0484
+ 4116.3884 3207.5734
+ 23286550.7864 -4976030.74249 -3864346.16046 23286550.1934 23286557.6714
+ -1866.5004 -1454.4134
+ 23090776.5284 -8641001.13449 -6718693.13646 23090776.4294 23090782.4234
+ 3475.5934 2708.2544
+ 24102866.7284 -4014110.72149 -2674383.10046 24102865.9824 24102872.5434
+ -2417.4644 -1883.7404
+ 05 1 20 22 50 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22944274.2774 -10906036.73149 -8244906.37347 22944273.8994 22944279.6554
+ 2815.0814 2193.5754
+ 20068930.2944 -16825387.18649 -13098616.37548 20068929.3554 20068935.4694
+ -112.9664 -88.0274
+ 23332576.4814 -8693624.20749 -6756352.81546 23332574.8074 23332579.9314
+ -2484.4204 -1935.9164
+ 20639096.0594 -25950728.02449 -20207885.01448 20639095.0714 20639098.5034
+ -1099.5244 -856.7714
+ 24155032.3454 1660772.57649 1315853.15746 24155031.8074 24155039.9534
+ -2798.8344 -2180.9094
+ 20787778.4574 -25255278.31649 -19652716.53748 20787777.9344 20787784.3364
+ 724.3564 564.4334
+ 24227061.1014 -1743268.34149 -1333717.44445 24227061.9494 24227070.0444
+ 4116.6244 3207.7544
+ 23297243.5414 -4919842.91249 -3820563.45646 23297243.0974 23297248.8214
+ -1879.2984 -1464.3924
+ 23070949.4544 -8745181.51649 -6799872.61346 23070949.7874 23070957.2174
+ 3469.8384 2703.7614
+ 24116672.3554 -3941544.44849 -2617837.96046 24116672.9374 24116681.7844
+ -2420.2844 -1885.9184
+ 05 1 20 22 50 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22928228.1064 -10990354.87649 -8310608.78446 22928227.9474 22928234.5474
+ 2805.8274 2186.3554
+ 20069620.2974 -16821762.34949 -13095791.81948 20069619.4244 20069625.2324
+ -128.6704 -100.2604
+ 23346767.9864 -8619038.86249 -6698234.35846 23346768.5164 23346773.3234
+ -2487.8804 -1938.6124
+ 20645399.8264 -25917596.54449 -20182068.27248 20645399.7214 20645403.1424
+ -1109.2584 -864.3534
+ 24171020.1454 1744784.93449 1381317.30246 24171018.7434 24171026.5964
+ -2801.9994 -2183.3724
+ 20783662.0444 -25276909.38249 -19669571.90048 20783661.5504 20783668.1134
+ 717.6254 559.1904
+ 24203559.1004 -1866770.29949 -1429952.59745 24203560.2824 24203569.1184
+ 4116.8224 3207.9084
+ 23308007.6304 -4863273.71149 -3776483.57246 23308007.4454 23308014.0734
+ -1891.9444 -1474.2384
+ 23051159.2164 -8849187.47749 -6880916.17946 23051159.1454 23051165.3424
+ 3463.9844 2699.2124
+ 24130496.9924 -3868893.75549 -2561227.09045 24130497.1414 24130505.6824
+ -2423.1274 -1888.1524
+ 05 1 20 22 51 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22912236.1254 -11074394.85049 -8376094.43347 22912236.0704 22912242.4684
+ 2796.5414 2179.1384
+ 20070399.1974 -16817667.02949 -13092600.64948 20070398.6194 20070404.5514
+ -144.3534 -112.4854
+ 23360979.8794 -8544348.75049 -6640034.28146 23360980.3214 23360987.7264
+ -2491.3894 -1941.3424
+ 20651759.6004 -25884173.60149 -20156024.40748 20651759.7674 20651763.3194
+ -1118.9734 -871.9274
+ 24187025.2354 1828890.34849 1446853.97346 24187024.2164 24187031.7754
+ -2805.0574 -2185.7584
+ 20779584.2954 -25298338.05249 -19686269.55248 20779583.6964 20779590.3564
+ 710.8904 553.9414
+ 24180058.2494 -1990275.48949 -1526190.28645 24180058.5154 24180065.4704
+ 4116.8244 3207.9124
+ 23318843.6684 -4806325.57849 -3732108.42446 23318844.5804 23318851.6084
+ -1904.5374 -1484.0644
+ 23031401.4394 -8953016.27649 -6961821.69746 23031401.8174 23031407.8174
+ 3457.9844 2694.5264
+ 24144342.5484 -3796158.42849 -2504550.22046 24144341.6954 24144346.5524
+ -2425.9194 -1890.3234
+ 05 1 20 22 51 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22896297.2844 -11158153.86749 -8441361.14347 22896297.3504 22896303.7564
+ 2787.0714 2171.7364
+ 20071267.9744 -16813102.48449 -13089043.85048 20071267.1764 20071273.0884
+ -159.9594 -124.6464
+ 23375213.9594 -8469554.12049 -6581752.77446 23375214.3314 23375219.6054
+ -2494.8504 -1944.0454
+ 20658175.6724 -25850458.96949 -20129753.25448 20658175.6484 20658178.6974
+ -1128.6964 -879.5084
+ 24203045.8394 1913085.84649 1512460.82145 24203044.9564 24203053.3844
+ -2808.0024 -2188.0574
+ 20775544.8304 -25319563.55749 -19702808.88548 20775544.5024 20775551.3864
+ 704.0694 548.6234
+ 24156557.5554 -2113781.08849 -1622428.31145 24156556.7094 24156563.0224
+ 4116.8384 3207.9234
+ 23329753.9254 -4749001.42349 -3687440.24846 23329754.2414 23329760.1384
+ -1917.0024 -1493.7614
+ 23011677.0544 -9056664.69649 -7042586.63946 23011677.1314 23011683.8784
+ 3451.9234 2689.7924
+ 24158197.3764 -3723338.43049 -2447807.36346 24158197.3904 24158203.6524
+ -2428.7544 -1892.5374
+ 05 1 20 22 52 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22880412.7224 -11241629.80349 -8506407.29347 22880411.9414 22880418.3254
+ 2777.6204 2164.3774
+ 20072225.7964 -16808069.93149 -13085122.37048 20072224.8684 20072230.7744
+ -175.5504 -136.7954
+ 23389466.9234 -8394655.16649 -6523389.95646 23389465.9504 23389472.7564
+ -2498.3464 -1946.7654
+ 20664646.8354 -25816452.70249 -20103254.85948 20664646.8864 20664650.4704
+ -1138.4064 -887.0714
+ 24219085.6884 1997368.45149 1578135.54746 24219084.0404 24219091.7364
+ -2810.8344 -2190.2604
+ 20771545.0654 -25340585.16649 -19719189.34848 20771544.5184 20771551.0144
+ 697.2774 543.3294
+ 24133054.9964 -2237283.76849 -1718664.02945 24133055.1454 24133060.0804
+ 4116.6564 3207.7764
+ 23340731.6324 -4691304.06749 -3642481.28446 23340732.8544 23340738.7684
+ -1929.4004 -1503.4244
+ 22991988.3884 -9160129.89249 -7123208.83946 22991988.6674 22991994.5134
+ 3445.7644 2685.0084
+ 24172069.2674 -3650433.71049 -2390998.53345 24172069.2564 24172079.0024
+ -2431.5894 -1894.7404
+ 05 1 20 22 52 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22864581.8174 -11324820.01149 -8571230.80347 22864581.6124 22864587.7794
+ 2768.1054 2156.9694
+ 20073272.2864 -16802570.40449 -13080837.01948 20073271.3484 20073277.3534
+ -191.0924 -148.8994
+ 23403738.6644 -8319651.86349 -6464945.84346 23403739.2344 23403744.4434
+ -2501.8244 -1949.4904
+ 20671173.5024 -25782154.94549 -20076529.32448 20671173.1074 20671176.8534
+ -1148.1254 -894.6394
+ 24235140.1804 2081735.00649 1643875.65846 24235139.8534 24235146.9084
+ -2813.6154 -2192.4274
+ 20767583.9414 -25361402.21749 -19735410.41348 20767583.1764 20767589.8184
+ 690.4274 537.9994
+ 24109556.8194 -2360780.47849 -1814895.12045 24109555.8224 24109558.9484
+ 4116.4254 3207.6014
+ 23351783.3964 -4633236.09149 -3597233.52546 23351783.1154 23351788.3044
+ -1941.7504 -1513.0404
+ 22972335.1934 -9263408.78549 -7203685.85746 22972335.5514 22972341.5924
+ 3439.4964 2680.1254
+ 24185961.1534 -3577444.43649 -2334123.78546 24185960.1614 24185968.1634
+ -2434.3704 -1896.9234
+ 05 1 20 22 53 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22848804.0834 -11407722.31749 -8635829.97647 22848804.9924 22848811.3064
+ 2758.4444 2149.4434
+ 20074406.9894 -16796605.28549 -13076188.86148 20074406.2974 20074412.5084
+ -206.5934 -160.9774
+ 23418031.7754 -8244544.37249 -6406420.55046 23418032.3334 23418038.5454
+ -2505.3114 -1952.1924
+ 20677756.3484 -25747565.46949 -20049576.47948 20677755.5634 20677758.7194
+ -1157.8624 -902.2264
+ 24251209.9564 2166182.75149 1709679.05646 24251208.7614 24251215.8064
+ -2816.2534 -2194.4804
+ 20763661.7474 -25382013.57849 -19751471.20248 20763661.2164 20763667.6584
+ 683.5874 532.6644
+ 24086056.9074 -2484268.48449 -1911119.44545 24086055.7374 24086060.0964
+ 4116.0724 3207.3264
+ 23362901.8794 -4574800.35249 -3551699.18246 23362902.3314 23362909.1454
+ -1953.9124 -1522.5374
+ 22952718.4644 -9366498.45049 -7284015.41146 22952718.0524 22952724.2004
+ 3433.1434 2675.1774
+ 24199867.7924 -3504370.46249 -2277183.04146 24199866.4554 24199872.1954
+ -2437.2164 -1899.1224
+ 05 1 20 22 53 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22833083.8644 -11490334.11549 -8700202.76647 22833084.9524 22833091.1094
+ 2748.7104 2141.8584
+ 20075630.5754 -16790175.74449 -13071178.82148 20075629.8424 20075635.8124
+ -222.0394 -173.0184
+ 23432344.6504 -8169332.97249 -6347814.27946 23432344.6424 23432349.9504
+ -2508.7354 -1954.8564
+ 20684393.3014 -25712684.15949 -20022396.23648 20684393.0454 20684396.3764
+ -1167.5794 -909.7994
+ 24267295.1774 2250708.68849 1775543.39945 24267292.6444 24267300.7414
+ -2818.7834 -2196.4504
+ 20759778.6424 -25402419.30849 -19767371.75648 20759778.0134 20759784.1194
+ 676.7394 527.3264
+ 24062557.0464 -2607744.46249 -2007334.37545 24062557.7524 24062564.0754
+ 4115.6324 3206.9824
+ 23374090.9794 -4515999.72049 -3505880.52346 23374091.8304 23374098.9534
+ -1966.0364 -1531.9744
+ 22933138.0444 -9469395.71749 -7364195.07046 22933137.5654 22933142.9404
+ 3426.7124 2670.1674
+ 24213785.8544 -3431211.69649 -2220176.18446 24213786.3074 24213795.9234
+ -2440.0624 -1901.3444
+ 05 1 20 22 54 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22817420.1904 -11572653.06649 -8764347.38247 22817419.9094 22817426.6574
+ 2738.9134 2134.2204
+ 20076942.1814 -16783283.18149 -13065807.98548 20076941.5844 20076947.4134
+ -237.4564 -185.0264
+ 23446675.9664 -8094017.73449 -6289127.12446 23446675.8024 23446681.8714
+ -2512.1974 -1957.5534
+ 20691086.4504 -25677511.20949 -19994988.73748 20691086.2934 20691089.9374
+ -1177.3074 -917.3784
+ 24283392.6134 2335309.66449 1841466.22545 24283391.7204 24283400.7034
+ -2821.2424 -2198.3664
+ 20755934.7274 -25422618.10149 -19783111.05648 20755934.4444 20755940.5184
+ 669.7994 521.9254
+ 24039064.6574 -2731205.33849 -2103537.55345 24039064.3454 24039069.7884
+ 4115.0594 3206.5344
+ 23385351.9084 -4456836.91549 -3459779.65046 23385351.7454 23385357.4794
+ -1978.1344 -1541.3924
+ 22913594.2014 -9572097.66949 -7444222.53946 22913594.2304 22913598.5694
+ 3420.1444 2665.0524
+ 24227725.9674 -3357968.06749 -2163103.27845 24227725.7814 24227732.3744
+ -2442.8414 -1903.5104
+ 05 1 20 22 54 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22801810.0714 -11654676.67149 -8828261.84047 22801811.3404 22801818.0884
+ 2729.0394 2126.5194
+ 20078341.8354 -16775928.83549 -13060077.30848 20078341.0264 20078346.7884
+ -252.8244 -197.0054
+ 23461028.1254 -8018598.82849 -6230359.13846 23461028.2504 23461033.4634
+ -2515.6204 -1960.2214
+ 20697835.1574 -25642046.48849 -19967353.88048 20697835.1184 20697838.5384
+ -1187.0174 -924.9474
+ 24299507.1254 2419982.73149 1907445.22046 24299506.2434 24299511.5914
+ -2823.6154 -2200.2324
+ 20752130.7654 -25442609.62249 -19798688.84448 20752130.0514 20752136.2914
+ 662.9424 516.5804
+ 24015573.2454 -2854648.13049 -2199726.65345 24015573.9164 24015579.0514
+ 4114.4234 3206.0404
+ 23396676.1654 -4397314.75249 -3413398.74546 23396676.8864 23396683.3104
+ -1989.9984 -1550.6564
+ 22894088.0804 -9674601.39949 -7524095.53446 22894088.4214 22894094.2814
+ 3413.4884 2659.8584
+ 24241680.4714 -3284639.68949 -2105964.27346 24241679.3894 24241686.2624
+ -2445.6934 -1905.7354
+ 05 1 20 22 55 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22786259.8344 -11736402.53749 -8891944.29947 22786259.1194 22786266.3214
+ 2719.0624 2118.7494
+ 20079829.0704 -16768113.95449 -13053987.77848 20079828.0504 20079834.0164
+ -268.1614 -208.9594
+ 23475399.8554 -7943076.13849 -6171510.31546 23475399.9624 23475405.2334
+ -2519.1364 -1962.9654
+ 20704639.3444 -25606290.11849 -19939491.76348 20704639.4244 20704642.6654
+ -1196.7624 -932.5434
+ 24315631.7174 2504725.02949 1973478.16646 24315630.9354 24315639.0364
+ -2825.8454 -2201.9564
+ 20748365.5924 -25462392.89749 -19814104.36448 20748365.2344 20748371.5484
+ 655.9054 511.0914
+ 23992087.8394 -2978069.76949 -2295899.26745 23992086.9644 23992093.7264
+ 4113.6694 3205.4544
+ 23408072.0784 -4337436.05549 -3366740.03746 23408072.5424 23408078.1144
+ -2001.9054 -1559.9394
+ 22874621.3724 -9776903.73849 -7603811.60246 22874620.9304 22874626.7674
+ 3406.7414 2654.6014
+ 24255648.9734 -3211226.40149 -2048759.09045 24255648.5854 24255654.8944
+ -2448.5164 -1907.9464
+ 05 1 20 22 55 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22770765.0184 -11817828.24749 -8955392.86647 22770764.8634 22770771.3584
+ 2709.0444 2110.9504
+ 20081403.4214 -16759839.93049 -13047540.47848 20081402.6844 20081408.5004
+ -283.4234 -220.8474
+ 23489790.4344 -7867449.99949 -6112580.87546 23489790.0304 23489795.8414
+ -2522.5544 -1965.6314
+ 20711499.4584 -25570242.01749 -19911402.32748 20711498.9404 20711502.6654
+ -1206.4704 -940.1044
+ 24331770.6474 2589533.71649 2039562.79045 24331769.4984 24331778.0494
+ -2828.0324 -2203.6494
+ 20744641.0184 -25481967.05849 -19829356.94348 20744640.5434 20744646.7024
+ 648.9694 505.6904
+ 23968603.8044 -3101467.01149 -2392052.87445 23968603.7514 23968612.1794
+ 4112.7864 3204.7684
+ 23419532.1794 -4277203.67649 -3319805.75546 23419534.2244 23419539.4974
+ -2013.5674 -1569.0204
+ 22855192.9394 -9879001.89249 -7683368.56046 22855191.3254 22855198.0434
+ 3399.9064 2649.2744
+ 24269634.4714 -3137728.22949 -1991487.80745 24269635.0534 24269642.7394
+ -2451.3384 -1910.1364
+ 05 1 20 22 56 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22755326.2924 -11898951.30449 -9018605.60947 22755327.4504 22755333.7654
+ 2698.9184 2103.0444
+ 20083064.6994 -16751107.90149 -13040736.28448 20083064.2694 20083070.2404
+ -298.7084 -232.7624
+ 23504200.8204 -7791720.68149 -6053571.00146 23504201.1324 23504207.7844
+ -2526.0144 -1968.3324
+ 20718414.3594 -25533902.11249 -19883085.51448 20718414.1124 20718417.6514
+ -1216.2174 -947.7054
+ 24347920.5624 2674405.81449 2105696.84545 24347920.8924 24347928.1784
+ -2830.0874 -2205.2724
+ 20740956.1794 -25501331.74349 -19844446.29648 20740955.5954 20740961.8454
+ 641.9804 500.2414
+ 23945127.9464 -3224836.95249 -2488185.23046 23945128.1684 23945135.3054
+ 4111.8044 3204.0074
+ 23431063.2864 -4216620.40949 -3272598.00246 23431062.2464 23431067.7904
+ -2025.2444 -1578.1154
+ 22835802.9804 -9980892.71349 -7762763.96146 22835803.0864 22835807.9974
+ 3392.8914 2643.8024
+ 24283637.6014 -3064145.03849 -1934150.27945 24283638.1024 24283644.3704
+ -2454.2154 -1912.3804
+ 05 1 20 22 56 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22739947.3064 -11979769.42049 -9081580.72947 22739948.1944 22739954.5104
+ 2688.7344 2095.1164
+ 20084813.4534 -16741919.38849 -13033576.39448 20084812.9074 20084818.6424
+ -313.8964 -244.5934
+ 23518631.8854 -7715888.03549 -5994480.64846 23518631.8694 23518637.0794
+ -2529.3924 -1970.9444
+ 20725385.4544 -25497270.15249 -19854541.12448 20725385.3464 20725388.4744
+ -1225.9444 -955.2784
+ 24364084.3284 2759338.18649 2171877.90745 24364083.3834 24364089.5734
+ -2832.0384 -2206.7834
+ 20737311.3344 -25520486.17149 -19859371.80748 20737310.6264 20737316.7484
+ 634.9914 494.8014
+ 23921656.7164 -3348176.35449 -2584293.75246 23921657.1874 23921665.6084
+ 4110.7664 3203.1904
+ 23442655.6684 -4155689.07249 -3225119.03846 23442655.9224 23442663.6334
+ -2036.8154 -1587.1314
+ 22816454.4254 -10082573.41149 -7841995.63246 22816454.1764 22816459.1594
+ 3385.8474 2638.3264
+ 24297658.5894 -2990476.88949 -1876746.53745 24297657.8174 24297663.4214
+ -2457.0844 -1914.6064
+ 05 1 20 22 57 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22724628.4694 -12060280.23449 -9144316.41247 22724627.9524 22724634.0764
+ 2678.3674 2087.0334
+ 20086648.3574 -16732275.60049 -13026061.74448 20086647.8894 20086653.8094
+ -329.0454 -256.3994
+ 23533082.1194 -7639952.35249 -5935309.99046 23533082.4054 23533088.2084
+ -2532.8884 -1973.6854
+ 20732411.7234 -25460346.40449 -19825769.36948 20732411.1684 20732414.6734
+ -1235.6944 -962.8804
+ 24380258.5094 2844327.98349 2238103.71646 24380257.1964 24380264.0674
+ -2833.9074 -2208.2364
+ 20733705.7844 -25539429.38049 -19874132.73348 20733705.4404 20733711.9764
+ 627.8734 489.2504
+ 23898193.1834 -3471481.92449 -2680375.99346 23898193.3174 23898198.7454
+ 4109.5884 3202.2764
+ 23454317.9474 -4094412.56649 -3177371.13046 23454316.6154 23454323.7854
+ -2048.2014 -1596.0034
+ 22797145.1144 -10184040.82749 -7921061.12646 22797145.2614 22797151.1444
+ 3378.6804 2632.7334
+ 24311692.0324 -2916723.87249 -1819276.64745 24311691.3784 24311698.0324
+ -2459.9124 -1916.8084
+ 05 1 20 22 57 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22709365.9834 -12140481.21149 -9206810.65047 22709366.1164 22709371.8664
+ 2668.0184 2078.9724
+ 20088570.2764 -16722177.83049 -13018193.33848 20088569.3944 20088575.3904
+ -344.1384 -268.1604
+ 23547553.0854 -7563913.78749 -5876059.16146 23547552.7374 23547558.5754
+ -2536.2864 -1976.3234
+ 20739493.2554 -25423130.90349 -19796770.27148 20739492.9944 20739496.7304
+ -1245.3884 -970.4344
+ 24396438.5214 2929372.24049 2304371.91845 24396438.1904 24396446.4784
+ -2835.7114 -2209.6504
+ 20730141.5594 -25558160.62949 -19888728.49948 20730141.3384 20730147.6274
+ 620.7994 483.7404
+ 23874736.6484 -3594751.02549 -2776429.76746 23874736.1474 23874743.7874
+ 4108.3174 3201.2884
+ 23466042.4724 -4032793.78149 -3129356.50446 23466043.4674 23466048.7254
+ -2059.6214 -1604.8944
+ 22777877.0914 -10285291.93249 -7999958.05046 22777877.3484 22777882.5274
+ 3371.4144 2627.0664
+ 24325742.1344 -2842885.91949 -1761740.58545 24325742.3454 24325749.6264
+ -2462.7004 -1918.9824
+ 05 1 20 22 58 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22694163.2624 -12220369.95549 -9269061.59247 22694163.4514 22694169.5814
+ 2657.6164 2070.8684
+ 20090577.4654 -16711627.48849 -13009972.28248 20090576.8774 20090583.0654
+ -359.2164 -279.9064
+ 23562041.1704 -7487772.34049 -5816728.21546 23562041.0384 23562047.5184
+ -2539.7344 -1979.0094
+ 20746631.0644 -25385623.37249 -19767543.61848 20746630.7504 20746634.3094
+ -1255.1254 -978.0174
+ 24412634.3524 3014468.19149 2370680.42146 24412632.6934 24412640.4754
+ -2837.3854 -2210.9504
+ 20726618.2174 -25576679.09449 -19903158.45748 20726617.5384 20726623.9074
+ 613.6904 478.2004
+ 23851285.2504 -3717980.09049 -2872452.31445 23851285.6244 23851293.1694
+ 4106.9004 3200.1794
+ 23477833.2944 -3970835.51949 -3081077.37446 23477835.1864 23477837.8684
+ -2070.8674 -1613.6614
+ 22758650.9694 -10386323.74249 -8078684.10346 22758650.9494 22758657.2114
+ 3364.0514 2621.3524
+ 24339810.4444 -2768962.83849 -1704138.21745 24339809.3894 24339816.9924
+ -2465.5104 -1921.1764
+ 05 1 20 22 58 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22679022.0224 -12299943.99749 -9331067.29547 22679021.4704 22679027.1134
+ 2647.0664 2062.6344
+ 20092670.9364 -16700625.87649 -13001399.58948 20092670.3804 20092676.6264
+ -374.2204 -291.6044
+ 23576549.6494 -7411528.27449 -5757317.28646 23576549.2064 23576554.8164
+ -2543.1244 -1981.6504
+ 20753824.6514 -25347823.99849 -19738089.54048 20753823.7634 20753826.8394
+ -1264.8474 -985.5984
+ 24428835.2314 3099612.52449 2437026.59345 24428835.7534 24428842.2154
+ -2838.9134 -2212.1354
+ 20723134.4534 -25594984.30649 -19917422.24548 20723133.8334 20723140.2404
+ 606.5834 472.6584
+ 23827844.0664 -3841166.35149 -2968441.59945 23827845.0024 23827850.3784
+ 4105.4534 3199.0624
+ 23489687.8164 -3908540.73749 -3032536.01046 23489687.2104 23489694.1804
+ -2082.0594 -1622.3944
+ 22739467.5824 -10487133.42549 -8157237.05046 22739467.8594 22739473.9284
+ 3356.6454 2615.5714
+ 24353893.4304 -2694954.89149 -1646469.64145 24353891.3494 24353898.6614
+ -2468.3284 -1923.3714
+ 05 1 20 22 59 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22663938.4674 -12379201.06249 -9392826.03247 22663939.6244 22663945.0724
+ 2636.4704 2054.3954
+ 20094850.4234 -16689174.58549 -12992476.49848 20094849.7604 20094855.7434
+ -389.2134 -303.2784
+ 23591078.7404 -7335181.53249 -5697826.30746 23591079.4354 23591084.7564
+ -2546.5464 -1984.3214
+ 20761072.1784 -25309732.46349 -19708407.82448 20761072.4204 20761076.0414
+ -1274.5794 -993.1734
+ 24445046.6644 3184802.63649 2503408.46645 24445044.5874 24445053.2894
+ -2840.4104 -2213.3134
+ 20719691.6624 -25613075.33049 -19931519.13548 20719691.2514 20719697.4834
+ 599.4294 467.0874
+ 23804410.6714 -3964306.50149 -3064394.86545 23804410.7204 23804418.6784
+ 4103.8804 3197.8324
+ 23501604.4414 -3845912.22249 -2983734.60846 23501604.7764 23501612.0504
+ -2093.1334 -1631.0204
+ 22720327.5004 -10587717.85449 -8235614.50646 22720327.6414 22720333.6754
+ 3349.0164 2609.6354
+ 24367989.0964 -2620861.90549 -1588734.88545 24367990.7614 24367998.5634
+ -2471.1844 -1925.6054
+ 05 1 20 22 59 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22648918.7314 -12458138.64549 -9454335.79347 22648918.4834 22648923.8954
+ 2625.7544 2046.0444
+ 20097114.8744 -16677274.78349 -12983203.91848 20097114.1634 20097120.1554
+ -404.1484 -314.9214
+ 23605625.8624 -7258732.28749 -5638255.52846 23605625.7964 23605632.0114
+ -2549.9844 -1986.9974
+ 20768376.6454 -25271349.21749 -19678498.79848 20768376.5854 20768379.9654
+ -1284.3274 -1000.7774
+ 24461265.1444 3270035.51449 2569823.68045 24461265.0354 24461272.7454
+ -2841.8034 -2214.3864
+ 20716289.8604 -25630951.39549 -19945448.52248 20716289.5604 20716295.9514
+ 592.2504 461.4954
+ 23780988.6404 -4087397.21549 -3160309.64345 23780987.8434 23780995.9554
+ 4102.1484 3196.4784
+ 23513586.1284 -3782953.02549 -2934675.49146 23513586.2574 23513591.9894
+ -2104.1134 -1639.5624
+ 22701230.8294 -10688074.17649 -8313814.19146 22701230.3594 22701236.2764
+ 3341.3924 2603.6854
+ 24382109.1584 -2546683.85449 -1530933.83045 24382108.4884 24382115.0504
+ -2474.0424 -1927.8254
+ 4 1
+RINEX FILE SPLICE; other post-header comments skipped COMMENT
+ 05 1 20 23 0 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22633958.4444 -12536754.31549 -9515594.72047 22633958.3294 22633963.5364
+ 2614.9874 2037.6384
+ 20099464.2834 -16664928.06249 -12973583.07948 20099463.7234 20099469.5654
+ -419.0064 -326.4994
+ 23620191.2254 -7182180.89849 -5578605.08646 23620192.3294 23620198.9324
+ -2553.3664 -1989.6434
+ 20775736.4654 -25232674.14349 -19648362.36748 20775735.6964 20775739.4254
+ -1294.0524 -1008.3504
+ 24477493.1294 3355308.13449 2636269.82445 24477493.0364 24477498.8714
+ -2843.0544 -2215.3714
+ 20712929.0954 -25648611.75349 -19959209.83048 20712928.8334 20712935.3334
+ 585.0584 455.8894
+ 23757575.5334 -4210435.59849 -3256183.64346 23757575.6524 23757581.9514
+ 4100.3794 3195.0994
+ 23525629.4444 -3719665.85349 -2885360.83146 23525629.0764 23525635.8094
+ -2114.9764 -1648.0294
+ 22682177.8214 -10788199.36949 -8391833.79646 22682176.9774 22682183.0674
+ 3333.6444 2597.6374
+ 24396241.4974 -2472420.69849 -1473066.45045 24396241.0414 24396246.0404
+ -2476.8214 -1930.0024
+ 05 1 20 23 0 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22619060.5684 -12615045.70349 -9576600.98347 22619060.3644 22619065.3844
+ 2604.1574 2029.2184
+ 20101899.1284 -16652135.65649 -12963614.96148 20101898.0714 20101904.0484
+ -433.8074 -338.0294
+ 23634779.0114 -7105527.38049 -5518875.08246 23634778.5744 23634785.2084
+ -2556.7934 -1992.3044
+ 20783150.8724 -25193707.02349 -19617998.37548 20783151.1464 20783154.3894
+ -1303.7644 -1015.9204
+ 24493725.2494 3440617.68649 2702744.78345 24493725.6954 24493732.9614
+ -2844.2194 -2216.2634
+ 20709609.9024 -25666055.59749 -19972802.42248 20709609.5274 20709615.6614
+ 577.7924 450.2274
+ 23734170.5114 -4333418.53749 -3352014.44645 23734171.7834 23734177.8724
+ 4098.4854 3193.6214
+ 23537734.1194 -3656053.73149 -2835792.94946 23537734.3124 23537741.1044
+ -2125.7804 -1656.4454
+ 22663168.7874 -10888090.41649 -8469670.92646 22663168.3174 22663175.2684
+ 3325.8144 2591.5484
+ 24410384.7674 -2398072.44149 -1415132.68945 24410385.1634 24410396.3764
+ -2479.6714 -1932.2134
+ 05 1 20 23 1 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22604223.0174 -12693010.47649 -9637352.72047 22604223.0724 22604229.1804
+ 2593.1894 2020.6684
+ 20104417.8684 -16638899.04549 -12953300.70848 20104416.9104 20104422.8104
+ -448.5994 -349.5574
+ 23649385.4394 -7028771.80149 -5459065.57246 23649385.6094 23649391.5514
+ -2560.1774 -1994.9334
+ 20790622.7304 -25154447.99549 -19587406.92448 20790621.9564 20790625.0144
+ -1313.5114 -1023.5124
+ 24509968.1884 3525961.28649 2769246.23545 24509967.0854 24509975.1004
+ -2845.3024 -2217.1184
+ 20706331.5564 -25683282.04949 -19986225.61648 20706331.4654 20706337.7444
+ 570.5644 444.5984
+ 23710779.7854 -4456342.49149 -3447799.30245 23710779.0284 23710785.4664
+ 4096.5214 3192.0914
+ 23549902.0564 -3592119.47249 -2785974.07746 23549902.0294 23549907.0504
+ -2136.4904 -1664.7954
+ 22644205.0494 -10987744.38749 -8547323.34546 22644204.6554 22644211.2964
+ 3317.8534 2585.3464
+ 24424551.9684 -2323639.05149 -1357132.67445 24424552.3134 24424558.3454
+ -2482.5644 -1934.4624
+ 05 1 20 23 1 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22589449.5564 -12770646.04449 -9697847.94747 22589449.9144 22589455.5764
+ 2582.1924 2012.0904
+ 20107020.8394 -16625219.72049 -12942641.48648 20107019.8184 20107025.7854
+ -463.3384 -361.0444
+ 23664013.0294 -6951914.31249 -5399176.63646 23664012.0104 23664017.8604
+ -2563.5804 -1997.5974
+ 20798148.1484 -25114897.18049 -19556588.10248 20798148.1784 20798151.2884
+ -1323.2234 -1031.0854
+ 24526213.7464 3611335.82849 2835771.82446 24526214.1864 24526221.6114
+ -2846.2834 -2217.8824
+ 20703095.6254 -25700290.45249 -19999478.90648 20703095.0794 20703101.1354
+ 563.2604 438.9024
+ 23687397.3814 -4579204.64349 -3543535.97845 23687398.8094 23687406.6354
+ 4094.2794 3190.3364
+ 23562128.6744 -3527866.21249 -2735906.61846 23562127.8994 23562134.4654
+ -2147.0304 -1673.0134
+ 22625287.1574 -11087158.40349 -8624788.77646 22625287.2324 22625293.3924
+ 3309.7924 2579.0594
+ 24438735.3094 -2249120.38749 -1299066.21045 24438733.9714 24438740.0604
+ -2485.3704 -1936.6494
+ 05 1 20 23 2 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22574740.3124 -12847950.18649 -9758084.93147 22574739.6304 22574745.1544
+ 2571.1174 2003.4594
+ 20109707.4694 -16611099.05549 -12931638.36148 20109706.8764 20109712.9304
+ -478.0434 -372.5014
+ 23678656.7384 -6874955.14349 -5339208.46246 23678656.8664 23678662.4134
+ -2566.9634 -2000.2294
+ 20805730.7984 -25075054.35749 -19525541.74248 20805730.2404 20805733.1004
+ -1332.9794 -1038.6864
+ 24542467.3334 3696738.59749 2902319.40245 24542464.0494 24542471.0294
+ -2847.2024 -2218.6064
+ 20699900.8554 -25717079.99049 -20012561.65148 20699899.8384 20699906.1814
+ 555.9284 433.1914
+ 23664031.6394 -4702001.80549 -3639222.01345 23664031.7374 23664038.5004
+ 4092.1174 3188.6604
+ 23574415.0244 -3463296.65949 -2685592.70046 23574415.9994 23574421.8224
+ -2157.5564 -1681.1934
+ 22606416.0544 -11186329.36349 -8702064.82246 22606415.7294 22606420.9714
+ 3301.6324 2572.6984
+ 24452928.4784 -2174516.39849 -1240933.24945 24452928.9174 24452934.2864
+ -2488.1944 -1938.8494
+ 05 1 20 23 2 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22560092.6314 -12924920.40249 -9818061.70447 22560092.3404 22560098.2714
+ 2559.9344 1994.7574
+ 20112478.7704 -16596538.40749 -12920292.39248 20112477.7384 20112483.5204
+ -492.6674 -383.8974
+ 23693320.1104 -6797894.25449 -5279161.04046 23693319.9824 23693327.8794
+ -2570.3454 -2002.8674
+ 20813367.9524 -25034919.50649 -19494267.82248 20813367.2904 20813370.8014
+ -1342.6974 -1046.2554
+ 24558721.6894 3782166.72649 2968886.75945 24558720.0654 24558727.1074
+ -2847.9944 -2219.2234
+ 20696747.0814 -25733649.80249 -20025473.18048 20696746.5884 20696753.0904
+ 548.6254 427.4984
+ 23640676.6224 -4824730.72949 -3734854.87645 23640677.3384 23640683.9704
+ 4089.8024 3186.8544
+ 23586762.4904 -3398413.82449 -2635034.68246 23586761.9624 23586767.2884
+ -2167.9294 -1689.3154
+ 22587590.2984 -11285254.33849 -8779149.16046 22587590.1644 22587596.0014
+ 3293.4004 2566.2814
+ 24467140.1904 -2099827.29249 -1182733.93445 24467140.6194 24467147.8394
+ -2491.1614 -1941.1564
+ 05 1 20 23 3 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22545509.0864 -13001554.37749 -9877776.46047 22545508.5924 22545515.0644
+ 2548.7244 1986.0214
+ 20115332.9794 -16581539.42649 -12908604.86748 20115331.9724 20115337.7074
+ -507.2624 -395.2684
+ 23708003.2314 -6720731.89249 -5219034.52946 23708003.9654 23708009.8534
+ -2573.7514 -2005.5154
+ 20821060.5714 -24994492.67749 -19462766.38948 20821060.6524 20821064.0834
+ -1352.4524 -1053.8574
+ 24574982.0054 3867617.40149 3035471.66345 24574981.9104 24574988.4384
+ -2848.6994 -2219.7594
+ 20693635.3864 -25749999.42549 -20038213.13648 20693635.3324 20693641.8044
+ 541.2344 421.7444
+ 23617335.7824 -4947388.05749 -3830431.92746 23617336.5384 23617343.5914
+ 4087.3724 3184.9654
+ 23599167.7024 -3333220.73049 -2584234.88946 23599166.8354 23599173.9664
+ -2178.2374 -1697.3374
+ 22568814.3434 -11383930.41549 -8856039.57346 22568813.7294 22568818.8874
+ 3285.0424 2559.7724
+ 24481370.7624 -2025052.95149 -1124468.24745 24481369.9894 24481378.5544
+ -2493.8254 -1943.2394
+ 05 1 20 23 3 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22530988.9554 -13077849.61449 -9937227.26947 22530989.4674 22530996.8654
+ 2537.3534 1977.1644
+ 20118269.9094 -16566103.62049 -12896576.95548 20118269.3594 20118275.1834
+ -521.7924 -406.5924
+ 23722708.1134 -6643468.17149 -5158829.05746 23722707.6044 23722712.9364
+ -2577.0974 -2008.1204
+ 20828808.9954 -24953773.82949 -19431037.41248 20828808.9724 20828812.5494
+ -1362.1714 -1061.4324
+ 24591246.1214 3953087.79249 3102071.95345 24591245.0874 24591254.3484
+ -2849.3374 -2220.2624
+ 20690566.6264 -25766127.67049 -20050780.59248 20690566.3364 20690572.6244
+ 533.8684 416.0034
+ 23594012.8084 -5069970.87349 -3925950.97246 23594011.2784 23594016.8494
+ 4084.7694 3182.9324
+ 23611632.1674 -3267720.32049 -2533195.66046 23611631.4244 23611637.4614
+ -2188.4454 -1705.2594
+ 22550082.7174 -11482354.66949 -8932733.76946 22550082.5314 22550089.7464
+ 3276.6094 2553.2064
+ 24495618.4134 -1950193.39749 -1066136.11745 24495616.0554 24495624.9564
+ -2496.7974 -1945.5574
+ 05 1 20 23 4 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22516536.5374 -13153803.76349 -9996412.30347 22516536.2924 22516543.2044
+ 2525.9604 1968.2784
+ 20121290.0474 -16550232.10949 -12884209.53148 20121289.4624 20121295.5304
+ -536.2874 -417.8854
+ 23737426.5024 -6566103.36449 -5098544.82246 23737427.4854 23737433.1294
+ -2580.4714 -2010.7484
+ 20836613.5714 -24912763.18349 -19399081.05548 20836613.2334 20836616.6614
+ -1371.8744 -1068.9904
+ 24607514.2184 4038574.78949 3168685.15346 24607514.0374 24607522.5454
+ -2849.8094 -2220.6254
+ 20687540.2874 -25782033.84649 -20063175.00248 20687539.4024 20687545.7484
+ 526.4614 410.2324
+ 23570697.9104 -5192475.78749 -4021409.29846 23570698.0644 23570703.8904
+ 4082.1914 3180.9254
+ 23624152.8714 -3201915.46949 -2481919.15046 23624154.0984 23624160.1064
+ -2198.4724 -1713.0964
+ 22531403.4214 -11580524.04149 -9009229.34846 22531402.0524 22531409.7244
+ 3268.0884 2546.5634
+ 24509878.4084 -1875248.53049 -1007737.53845 24509878.1664 24509883.9384
+ -2499.5644 -1947.7114
+ 05 1 20 23 4 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22502148.1394 -13229414.49949 -10055329.74347 22502148.2494 22502154.4974
+ 2514.4414 1959.3044
+ 20124393.0384 -16533926.83449 -12871504.11348 20124392.3284 20124398.6074
+ -550.7204 -429.1314
+ 23752169.7084 -6488637.55449 -5038181.84746 23752170.6734 23752176.7854
+ -2583.7944 -2013.3434
+ 20844472.5504 -24871460.64449 -19366897.25548 20844472.4774 20844475.9384
+ -1381.6084 -1076.5834
+ 24623785.5914 4124075.53549 3235309.08345 24623783.8914 24623792.2454
+ -2850.2614 -2220.9854
+ 20684555.4114 -25797717.02749 -20075395.65248 20684555.2844 20684561.3584
+ 519.0344 404.4414
+ 23547402.8244 -5314899.59249 -4116804.44246 23547401.4124 23547407.5684
+ 4079.4114 3178.7624
+ 23636733.4954 -3135809.04649 -2430407.67546 23636733.2954 23636740.6774
+ -2208.4854 -1720.8964
+ 22512769.3034 -11678435.53549 -9085523.99446 22512770.1604 22512776.1754
+ 3259.4444 2539.8294
+ 24524154.3604 -1800218.60849 -949272.66245 24524155.8724 24524163.5224
+ -2502.3674 -1949.8944
+ 05 1 20 23 5 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22487825.9434 -13304679.34049 -10113977.64847 22487825.4314 22487832.4434
+ 2502.9474 1950.3464
+ 20127578.6574 -16517189.03349 -12858461.65748 20127577.3124 20127583.4584
+ -565.1104 -440.3454
+ 23766931.2814 -6411070.59849 -4977740.09446 23766931.1854 23766937.5984
+ -2587.1724 -2015.9844
+ 20852388.4934 -24829866.06449 -19334485.88248 20852387.9144 20852391.4054
+ -1391.3494 -1084.1674
+ 24640057.9884 4209587.10949 3301941.44945 24640057.2544 24640064.3074
+ -2850.5624 -2221.2104
+ 20681613.4614 -25813176.57149 -20087442.03948 20681613.1334 20681619.4394
+ 511.5714 398.6294
+ 23524120.8654 -5437239.18649 -4212133.92946 23524120.8224 23524128.3964
+ 4076.5534 3176.5404
+ 23649368.9224 -3069404.27749 -2378663.71046 23649370.0914 23649377.3794
+ -2218.4164 -1728.6284
+ 22494187.3774 -11776086.39249 -9161615.54746 22494187.3664 22494194.6684
+ 3250.6994 2533.0234
+ 24538448.0574 -1725103.36949 -890741.31045 24538448.5424 24538454.8694
+ -2505.2764 -1952.1604
+ 05 1 20 23 5 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22473569.4274 -13379596.03049 -10172354.27047 22473569.6424 22473575.8524
+ 2491.2274 1941.2094
+ 20130845.1894 -16500020.46949 -12845083.55048 20130844.4344 20130850.4924
+ -579.4454 -451.5174
+ 23781710.5564 -6333403.04549 -4917219.94146 23781710.6084 23781715.5614
+ -2590.5004 -2018.5704
+ 20860358.7214 -24787979.77949 -19301847.21848 20860358.5284 20860361.8914
+ -1401.0684 -1091.7454
+ 24656331.6564 4295106.74049 3368580.08445 24656329.9804 24656336.0234
+ -2850.7834 -2221.3954
+ 20678714.6294 -25828411.49449 -20099313.39648 20678713.9544 20678720.4294
+ 504.0494 392.7664
+ 23500856.9224 -5559491.30149 -4307395.26546 23500857.3404 23500863.5244
+ 4073.5624 3174.2104
+ 23662065.7134 -3002703.93149 -2326689.41546 23662064.6794 23662069.4604
+ -2228.1774 -1736.2424
+ 22475655.8144 -11873473.66149 -9237501.67946 22475655.0604 22475661.9974
+ 3241.8724 2526.1314
+ 24552757.3824 -1649902.81049 -832143.49145 24552758.7964 24552767.0984
+ -2508.0464 -1954.3184
+ 05 1 20 23 6 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22459379.9654 -13454162.03649 -10230457.62047 22459380.2264 22459386.5064
+ 2479.5394 1932.1094
+ 20134193.8994 -16482422.46449 -12831370.81048 20134193.1614 20134199.0654
+ -593.7294 -462.6474
+ 23796507.5164 -6255634.86649 -4856621.37046 23796509.3584 23796514.9694
+ -2593.9734 -2021.2774
+ 20868384.6704 -24745801.59549 -19268981.09248 20868384.8944 20868387.9634
+ -1410.8044 -1099.3304
+ 24672603.5784 4380631.66549 3435222.84345 24672605.0154 24672612.3684
+ -2850.8894 -2221.4674
+ 20675858.9174 -25843421.26349 -20111009.30748 20675858.0104 20675864.2624
+ 496.4954 386.8794
+ 23477611.4564 -5681652.58449 -4402585.81346 23477610.7794 23477616.8054
+ 4070.5054 3171.8174
+ 23674810.2824 -2935711.09349 -2274487.22946 23674810.5804 23674817.8224
+ -2237.9024 -1743.8334
+ 22457174.4554 -11970594.22349 -9313180.01246 22457174.3254 22457179.9134
+ 3232.9454 2519.1714
+ 24567091.2224 -1574616.87349 -773479.16745 24567088.6614 24567094.3804
+ -2510.8944 -1956.5434
+ 05 1 20 23 6 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22445259.1234 -13528375.10449 -10288285.95747 22445258.2834 22445264.2314
+ 2467.7274 1922.9014
+ 20137624.6724 -16464396.55349 -12817324.63848 20137623.4624 20137629.5124
+ -607.9994 -473.7684
+ 23811327.1084 -6177766.15349 -4795944.46446 23811327.0314 23811332.9484
+ -2597.2814 -2023.8584
+ 20876466.7024 -24703331.46949 -19235887.49148 20876466.4614 20876469.6784
+ -1420.5704 -1106.9334
+ 24688882.3664 4466159.05249 3501867.54045 24688881.9924 24688887.5824
+ -2850.9194 -2221.4974
+ 20673044.8904 -25858204.55049 -20122528.73648 20673044.3754 20673051.0554
+ 488.9564 381.0044
+ 23454381.6564 -5803720.12549 -4497703.33046 23454382.2634 23454388.9184
+ 4067.2934 3169.3174
+ 23687614.3394 -2868428.64749 -2222059.34646 23687615.8444 23687621.2384
+ -2247.5344 -1751.3304
+ 22438742.7194 -12067445.36349 -9388648.38447 22438743.6774 22438750.5284
+ 3223.8534 2512.0894
+ 24581421.7494 -1499245.70649 -714748.32945 24581425.4514 24581436.5404
+ -2513.8264 -1958.8324
+ 05 1 20 23 7 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22431202.7274 -13602232.90549 -10345837.46447 22431203.1594 22431209.4874
+ 2455.8294 1913.6314
+ 20141135.6504 -16445944.18249 -12802946.15948 20141134.8314 20141140.8554
+ -622.1674 -484.8034
+ 23826164.2364 -6099796.96649 -4735189.27446 23826164.8794 23826170.8824
+ -2600.6524 -2026.4764
+ 20884603.5544 -24660569.59549 -19202566.53148 20884603.3864 20884607.2014
+ -1430.2784 -1114.5034
+ 24705155.9384 4551685.95249 3568511.84345 24705155.3054 24705163.5594
+ -2850.9094 -2221.4864
+ 20670275.0384 -25872761.14149 -20133871.52348 20670274.5504 20670280.7824
+ 481.4064 375.1244
+ 23431170.1604 -5925690.41349 -4592745.03746 23431171.4224 23431178.2924
+ 4064.0134 3166.7684
+ 23700472.3804 -2800859.82049 -2169408.29646 23700472.8564 23700478.9534
+ -2257.0324 -1758.7364
+ 22420367.0194 -12164024.01849 -9463904.44847 22420367.0114 22420371.7864
+ 3214.7114 2504.9664
+ 24595783.0994 -1423789.44049 -655951.19845 24595785.4394 24595792.7024
+ -2516.6744 -1961.0454
+ 05 1 20 23 7 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22417217.7344 -13675732.87049 -10403110.13147 22417216.9054 22417222.7444
+ 2443.8994 1904.3314
+ 20144727.5934 -16427066.98049 -12788236.64448 20144726.9014 20144732.9054
+ -636.3104 -495.8274
+ 23841017.4064 -6021727.61449 -4674356.01846 23841018.9014 23841026.7774
+ -2603.9684 -2029.0514
+ 20892796.7144 -24617515.91149 -19169018.20648 20892796.6744 20892799.6294
+ -1440.0144 -1122.0884
+ 24721429.3354 4637209.63349 3635153.62945 24721430.2184 24721438.7714
+ -2850.6914 -2221.3184
+ 20667548.2834 -25887089.76549 -20145036.67448 20667547.9294 20667553.9334
+ 473.7654 369.1674
+ 23407981.1244 -6047560.24149 -4687708.52346 23407980.8274 23407987.2414
+ 4060.6434 3164.1334
+ 23713386.0034 -2733007.42649 -2116536.32846 23713383.8984 23713390.1544
+ -2266.4324 -1766.0564
+ 22402040.6874 -12260327.43749 -9538946.03947 22402040.3514 22402045.8484
+ 3205.5024 2497.7914
+ 24610168.5184 -1348247.81649 -597087.65045 24610165.2604 24610170.2854
+ -2519.5244 -1963.2594
+ 05 1 20 23 8 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22403299.8534 -13748872.84949 -10460102.29647 22403299.7544 22403304.9024
+ 2431.7934 1894.9054
+ 20148400.3224 -16407766.31049 -12773197.15648 20148399.7514 20148405.7414
+ -650.4114 -506.8114
+ 23855896.6964 -5943558.24449 -4613444.84046 23855895.8324 23855903.2834
+ -2607.3004 -2031.6614
+ 20901046.1884 -24574170.23249 -19135242.35148 20901045.5564 20901048.6264
+ -1449.7434 -1129.6704
+ 24737705.6134 4722726.98249 3701790.47345 24737703.7544 24737713.1464
+ -2850.3994 -2221.0944
+ 20664865.1024 -25901189.79349 -20156023.69948 20664864.8404 20664870.9474
+ 466.1224 363.2144
+ 23384808.5054 -6169326.53049 -4782591.29746 23384808.7804 23384815.5874
+ 4057.0844 3161.3684
+ 23726348.5914 -2664874.53249 -2063445.74746 23726349.0494 23726355.0194
+ -2275.7434 -1773.3034
+ 22383767.3424 -12356352.61649 -9613770.81047 22383767.1544 22383772.8804
+ 3196.1614 2490.5114
+ 24624559.0834 -1272620.93049 -538157.67045 24624557.5604 24624562.3334
+ -2522.2774 -1965.4044
+ 05 1 20 23 8 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22389449.6604 -13821650.36449 -10516812.00447 22389449.9384 22389455.9124
+ 2419.7244 1885.5044
+ 20152153.6044 -16388043.80949 -12757828.96548 20152152.7804 20152158.5894
+ -664.4054 -517.7204
+ 23870791.0584 -5865289.00149 -4552455.81845 23870789.1664 23870796.7884
+ -2610.6074 -2034.2264
+ 20909349.2524 -24530532.92549 -19101239.24048 20909349.1254 20909352.0894
+ -1459.4354 -1137.2224
+ 24753973.3384 4808235.44049 3768420.40245 24753974.2394 24753981.2264
+ -2850.0704 -2220.8414
+ 20662226.2944 -25915060.15849 -20166831.76048 20662225.3994 20662231.6174
+ 458.4924 357.2684
+ 23361657.9654 -6290986.02849 -4877390.83946 23361658.3634 23361664.3474
+ 4053.4654 3158.5364
+ 23739368.4074 -2596464.10549 -2010138.98546 23739368.9834 23739374.0794
+ -2284.9234 -1780.4564
+ 22365548.7164 -12452096.50049 -9688376.39047 22365548.0494 22365553.2384
+ 3186.7914 2483.2104
+ 24638954.3464 -1196909.20649 -479161.53445 24638959.8154 24638967.4934
+ -2525.0184 -1967.5464
+ 05 1 20 23 9 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22375670.6474 -13894063.11049 -10573237.48347 22375670.3634 22375675.9474
+ 2407.5134 1875.9774
+ 20155986.8864 -16367901.23349 -12742133.44248 20155985.8454 20155991.8574
+ -678.4104 -528.6324
+ 23885703.8854 -5786919.87249 -4491388.97445 23885703.6844 23885709.1114
+ -2613.9634 -2036.8574
+ 20917708.8404 -24486603.80749 -19067008.76148 20917708.5044 20917711.7474
+ -1469.1884 -1144.8224
+ 24770247.9404 4893732.15049 3835041.19545 24770244.4784 24770251.4784
+ -2849.6334 -2220.4914
+ 20659630.4194 -25928700.11749 -20177460.29048 20659629.7184 20659635.8224
+ 450.7764 351.2534
+ 23338529.0714 -6412535.22849 -4972104.46746 23338528.1884 23338535.0124
+ 4049.7674 3155.6614
+ 23752438.6234 -2527779.21349 -1956618.29846 23752439.1514 23752444.8654
+ -2294.0304 -1787.5514
+ 22347381.8164 -12547556.16949 -9762760.49946 22347381.5234 22347387.3544
+ 3177.2444 2475.7794
+ 24653384.6524 -1121112.01849 -420098.75344 24653384.9864 24653391.8104
+ -2528.1334 -1969.9864
+ 05 1 20 23 9 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22361961.3734 -13966108.77249 -10629376.92247 22361960.5544 22361966.2324
+ 2395.2484 1866.4314
+ 20159899.2804 -16347339.90549 -12726111.61748 20159898.3694 20159904.2794
+ -692.3344 -539.4824
+ 23900632.6584 -5708451.12149 -4430244.51745 23900634.1964 23900641.0294
+ -2617.3134 -2039.4644
+ 20926123.7294 -24442383.32849 -19032551.23748 20926123.2574 20926126.3014
+ -1478.8694 -1152.3654
+ 24786514.3744 4979214.25449 3901650.58145 24786512.9114 24786519.4734
+ -2849.1434 -2220.1094
+ 20657078.5474 -25942108.98849 -20187908.74548 20657078.0174 20657084.3374
+ 443.0864 345.2624
+ 23315420.2774 -6533971.14749 -5066729.78746 23315420.0634 23315425.2324
+ 4045.9534 3152.6904
+ 23765560.9674 -2458822.82949 -1902886.03546 23765560.2744 23765567.3274
+ -2303.0354 -1794.5734
+ 22329272.1004 -12642728.86449 -9836921.01847 22329271.6954 22329277.4414
+ 3167.6594 2468.3044
+ 24667831.7344 -1045229.50349 -360969.54644 24667825.2544 24667830.9284
+ -2530.7684 -1972.0284
+ 05 1 20 23 10 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22348319.3464 -14037785.02249 -10685228.49747 22348320.1124 22348326.0764
+ 2382.8704 1856.7804
+ 20163890.7144 -16326361.51649 -12709764.81348 20163890.4444 20163896.3884
+ -706.2234 -550.3044
+ 23915585.7384 -5629883.01549 -4369022.67445 23915586.9354 23915591.0744
+ -2620.5624 -2042.0024
+ 20934593.5374 -24397871.12549 -18997866.39348 20934593.4614 20934596.9634
+ -1488.6054 -1159.9504
+ 24802779.2774 5064678.93249 3968246.42645 24802776.8494 24802783.7134
+ -2848.5254 -2219.6334
+ 20654571.5764 -25955285.81849 -20198176.39348 20654570.5004 20654576.9374
+ 435.3304 339.2164
+ 23292333.1914 -6655290.28749 -5161264.14646 23292333.1124 23292339.3394
+ 4041.9684 3149.5764
+ 23778735.0564 -2389597.89149 -1848944.58246 23778734.9074 23778740.1794
+ -2311.9064 -1801.4894
+ 22311216.2214 -12737611.73749 -9910855.68647 22311215.6844 22311221.3604
+ 3157.9244 2460.7114
+ 24682285.3674 -969261.77549 -301774.01344 24682285.7534 24682284.8374
+ -2533.7304 -1974.3374
+ 05 1 20 23 10 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22334752.5184 -14109089.34349 -10740790.28047 22334752.1284 22334758.4014
+ 2370.4304 1847.0874
+ 20167962.9094 -16304967.68149 -12693094.28448 20167961.6624 20167967.5064
+ -720.0524 -561.0814
+ 23930555.8654 -5551215.39549 -4307723.23445 23930556.2254 23930562.1014
+ -2623.8204 -2044.5324
+ 20943120.0744 -24353067.21149 -18962954.25348 20943119.9234 20943122.7714
+ -1498.3474 -1167.5384
+ 24819036.8954 5150123.47449 4034826.50045 24819034.6584 24819041.8604
+ -2847.8094 -2219.0634
+ 20652108.2014 -25968229.73549 -20208262.55148 20652107.3624 20652113.6504
+ 427.5714 333.1704
+ 23269269.2264 -6776489.54949 -5255705.07546 23269269.9404 23269275.1404
+ 4037.9184 3146.4254
+ 23791955.4194 -2320107.66649 -1794796.30946 23791955.6534 23791963.8264
+ -2320.7244 -1808.3634
+ 22293215.1844 -12832201.89249 -9984562.24347 22293215.6614 22293222.0124
+ 3148.1034 2453.0674
+ 24696751.6004 -893209.15949 -242512.12645 24696752.5004 24696759.3084
+ -2536.5664 -1976.5504
+ 05 1 20 23 11 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22321253.9714 -14180019.58649 -10796060.57247 22321253.9474 22321260.0514
+ 2357.9464 1837.3614
+ 20172112.2254 -16283159.75549 -12676101.08648 20172111.6514 20172117.4404
+ -733.8234 -571.8104
+ 23945546.3764 -5472448.55149 -4246346.48645 23945545.7224 23945550.1364
+ -2627.1884 -2047.1564
+ 20951701.4884 -24307971.74249 -18927814.91348 20951700.9914 20951704.1254
+ -1508.0464 -1175.0984
+ 24835291.1414 5235545.06849 4101388.74245 24835289.9994 24835296.8774
+ -2846.9554 -2218.4114
+ 20649689.0774 -25980939.68749 -20218166.39948 20649688.7994 20649695.0264
+ 419.7224 327.0584
+ 23246228.3134 -6897565.73149 -5350050.10446 23246229.0804 23246235.5764
+ 4033.7634 3143.1904
+ 23805229.0074 -2250354.93049 -1740443.58746 23805230.2574 23805236.2114
+ -2329.4184 -1815.1334
+ 22275272.7574 -12926496.25849 -10058038.33547 22275272.3054 22275278.0854
+ 3138.2324 2445.3734
+ 24711243.9714 -817071.19049 -183183.77245 24711241.9864 24711253.7254
+ -2539.1664 -1978.5694
+ 05 1 20 23 11 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22307828.3564 -14250573.38649 -10851037.52047 22307828.1264 22307834.2364
+ 2345.3424 1827.5334
+ 20176340.4834 -16260939.59849 -12658786.66848 20176339.9234 20176345.9114
+ -747.5194 -582.4854
+ 23960550.1754 -5393582.77549 -4184892.65145 23960552.3294 23960557.1664
+ -2630.5864 -2049.8104
+ 20960338.8644 -24262584.64549 -18892448.34548 20960338.2134 20960341.0934
+ -1517.7544 -1182.6664
+ 24851541.8804 5320940.79349 4167930.80345 24851541.8204 24851548.5744
+ -2846.0914 -2217.7314
+ 20647315.4894 -25993415.04449 -20227887.44548 20647314.9444 20647320.9064
+ 411.8884 320.9504
+ 23223212.3514 -7018515.33749 -5444296.49746 23223213.1534 23223220.2384
+ 4029.4644 3139.8454
+ 23818551.3574 -2180342.90549 -1685888.74146 23818552.0224 23818558.3784
+ -2337.9674 -1821.7944
+ 22257385.0284 -13020491.97949 -10131281.73347 22257385.0844 22257390.8694
+ 3128.2044 2437.5614
+ 24725743.8624 -740848.03548 -123789.15744 24725746.2424 24725755.2474
+ -2542.3334 -1981.0404
+ 05 1 20 23 12 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22294473.8644 -14320748.41149 -10905719.32047 22294474.0974 22294480.6624
+ 2332.7044 1817.6884
+ 20180647.0764 -16238308.78349 -12641152.25948 20180646.4584 20180652.2344
+ -761.1724 -593.1224
+ 23975578.4264 -5314618.20649 -4123361.86245 23975578.5674 23975584.8504
+ -2633.7214 -2052.2494
+ 20969030.3934 -24216906.03349 -18856854.61748 20969030.5204 20969033.3684
+ -1527.4754 -1190.2414
+ 24867786.7354 5406307.88849 4234450.64945 24867785.3964 24867793.0294
+ -2845.0124 -2216.8984
+ 20644986.0054 -26005654.85649 -20237424.94848 20644985.5754 20644991.8824
+ 404.0764 314.8634
+ 23200223.6434 -7139335.40149 -5538441.93846 23200222.6824 23200228.4964
+ 4025.1204 3136.4564
+ 23831925.1734 -2110074.59749 -1631134.21846 23831925.1694 23831930.9214
+ -2346.4504 -1828.3974
+ 22239555.7034 -13114186.40649 -10204290.33447 22239555.7204 22239561.1304
+ 3118.1444 2429.7234
+ 24740266.9694 -664539.78048 -64328.22844 24740267.3884 24740272.8354
+ -2545.0444 -1983.1504
+ 05 1 20 23 12 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22281192.7954 -14390542.38249 -10960104.20747 22281192.7544 22281199.2514
+ 2319.9384 1807.7444
+ 20185032.0554 -16215268.84649 -12623199.05448 20185030.9374 20185036.8514
+ -774.8224 -603.7594
+ 23990625.1234 -5235554.82549 -4061754.01045 23990623.8154 23990629.5934
+ -2637.0204 -2054.8114
+ 20977778.4454 -24170936.06649 -18821033.85648 20977777.9314 20977781.5064
+ -1537.2074 -1197.8234
+ 24884025.6004 5491643.64149 4300946.01445 24884024.6254 24884032.5164
+ -2844.0004 -2216.0964
+ 20642702.4124 -26017658.51649 -20246778.44048 20642701.3814 20642707.6184
+ 396.1324 308.6754
+ 23177257.3764 -7260022.23949 -5632483.58846 23177256.8404 23177262.1664
+ 4020.6234 3132.9444
+ 23845345.3414 -2039552.89149 -1576182.28046 23845343.9274 23845350.6434
+ -2354.8834 -1834.9844
+ 22221786.0154 -13207576.57249 -10277061.85347 22221784.8164 22221790.0534
+ 3107.9324 2421.7654
+ 24754805.4824 -588146.39649 -4800.90744 24754803.8204 24754810.0844
+ -2547.6694 -1985.2034
+ 05 1 20 23 13 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22267985.8544 -14459952.74549 -11014190.17047 22267984.4434 22267990.5424
+ 2307.1154 1797.7504
+ 20189493.4344 -16191821.56849 -12604928.43748 20189492.8434 20189498.6584
+ -788.3384 -614.2874
+ 24005689.8934 -5156393.04249 -4000069.51445 24005689.9714 24005693.8644
+ -2640.2944 -2057.3714
+ 20986581.0244 -24124674.88949 -18784986.19248 20986581.3614 20986584.6384
+ -1546.9114 -1205.3784
+ 24900254.8084 5576945.32949 4367414.80845 24900256.0474 24900262.8454
+ -2842.7784 -2215.1504
+ 20640462.5534 -26029424.73249 -20255946.91048 20640462.4574 20640468.7314
+ 388.2324 302.5244
+ 23154316.3854 -7380572.90749 -5726419.13046 23154316.4984 23154322.1104
+ 4016.0054 3129.3544
+ 23858813.2754 -1968781.03049 -1521035.41146 23858812.5484 23858818.2564
+ -2363.1874 -1841.4404
+ 22204071.8704 -13300659.62149 -10349594.06847 22204071.3754 22204076.1844
+ 3097.6364 2413.7494
+ 24769358.8414 -511668.20149 54792.42744 24769358.5244 24769365.9414
+ -2550.6754 -1987.5504
+ 05 1 20 23 13 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22254849.2154 -14528977.53449 -11067975.69047 22254849.1664 22254855.9114
+ 2294.2374 1787.7134
+ 20194032.4424 -16167968.62549 -12586341.72448 20194031.8094 20194037.5164
+ -801.8474 -624.8164
+ 24020769.5904 -5077132.86949 -3938308.34245 24020771.6524 24020777.9704
+ -2643.5694 -2059.9354
+ 20995440.2124 -24078122.28349 -18748711.42448 20995439.8984 20995443.4694
+ -1556.6194 -1212.9514
+ 24916482.4074 5662210.20449 4433854.91345 24916481.4504 24916491.7684
+ -2841.4794 -2214.1404
+ 20638269.1694 -26040952.83749 -20264929.83548 20638268.6474 20638275.1364
+ 380.2554 296.3034
+ 23131401.6544 -7500983.98949 -5820245.91746 23131402.6084 23131409.2464
+ 4011.3584 3125.7574
+ 23872324.9424 -1897762.06649 -1465695.99146 23872326.3904 23872333.0324
+ -2371.3664 -1847.8054
+ 22186417.1134 -13393432.61949 -10421884.68047 22186416.8584 22186422.2144
+ 3087.2894 2405.6714
+ 24783922.7314 -435104.95448 114452.12544 24783925.2124 24783936.3344
+ -2553.6484 -1989.8584
+ 05 1 20 23 14 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22241788.4074 -14597614.24949 -11121458.81847 22241788.3584 22241793.9614
+ 2281.2524 1777.6004
+ 20198648.4914 -16143711.42049 -12567439.99448 20198647.7524 20198653.6854
+ -815.2804 -635.2864
+ 24035871.6694 -4997774.38249 -3876470.57745 24035873.4124 24035879.0444
+ -2646.9174 -2062.5384
+ 21004354.2324 -24031278.35649 -18712209.65448 21004354.3274 21004357.4464
+ -1566.3164 -1220.5074
+ 24932700.2634 5747435.56649 4500264.21245 24932701.1964 24932707.5684
+ -2840.1124 -2213.0794
+ 20636121.1474 -26052241.85349 -20273726.46148 20636120.4344 20636126.3554
+ 372.2904 290.0924
+ 23108516.0104 -7621252.06049 -5913961.22746 23108516.3014 23108522.7364
+ 4006.5274 3121.9544
+ 23885887.6604 -1826498.92149 -1410166.26945 23885888.2434 23885893.8184
+ -2379.4074 -1854.0874
+ 22168823.2134 -13485892.78649 -10493931.52547 22168822.0314 22168827.8614
+ 3076.8224 2397.5194
+ 24798517.7924 -358456.48749 174178.23245 24798515.8484 24798524.6574
+ -2556.4414 -1992.0334
+ 05 1 20 23 14 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22228801.7784 -14665860.65749 -11174637.80547 22228801.4294 22228807.2934
+ 2268.2064 1767.4374
+ 20203341.2884 -16119051.68649 -12548224.60848 20203340.2604 20203345.9954
+ -828.7004 -645.7424
+ 24050992.4494 -4918317.85149 -3814556.40145 24050992.0914 24050996.7684
+ -2650.1644 -2065.0654
+ 21013323.1854 -23984143.35149 -18675481.07448 21013323.1894 21013326.4784
+ -1576.0464 -1228.0934
+ 24948909.3394 5832618.63449 4566640.63145 24948910.4494 24948915.5214
+ -2838.7414 -2212.0074
+ 20634018.3414 -26063291.02749 -20282336.19748 20634017.7164 20634023.7934
+ 364.2604 283.8374
+ 23085659.6274 -7741374.20949 -6007562.86346 23085658.9544 23085664.9424
+ 4001.5354 3118.0734
+ 23899493.1594 -1754994.80649 -1354448.78346 23899494.1054 23899501.7364
+ -2387.4734 -1860.3644
+ 22151287.1704 -13578037.28449 -10565732.38247 22151287.4854 22151293.3944
+ 3066.2194 2389.2604
+ 24813123.9104 -281723.05049 233970.48644 24813118.0454 24813123.2034
+ -2559.2804 -1994.2304
+ 05 1 20 23 15 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22215889.6944 -14733714.38149 -11227510.81347 22215889.8524 22215895.1404
+ 2255.0834 1757.2014
+ 20208109.6074 -16093991.05249 -12528696.83548 20208109.0974 20208114.9134
+ -842.0264 -656.1274
+ 24066129.6244 -4838763.63549 -3752566.10945 24066130.2424 24066137.1744
+ -2653.4484 -2067.6214
+ 21022348.8334 -23936717.25449 -18638525.66748 21022348.7414 21022351.4714
+ -1585.7264 -1235.6374
+ 24965110.6694 5917756.66249 4632981.92045 24965110.2844 24965118.9754
+ -2837.3644 -2210.9324
+ 20631961.0774 -26074099.36249 -20290758.26548 20631961.0104 20631967.0644
+ 356.2134 277.5634
+ 23062828.1704 -7861346.70249 -6101047.87346 23062827.6764 23062834.8384
+ 3996.5304 3114.1674
+ 23913145.2864 -1683252.55149 -1298545.75146 23913146.8954 23913153.3904
+ -2395.3094 -1866.4784
+ 22133814.5674 -13669863.28349 -10637285.08047 22133813.8254 22133818.7354
+ 3055.5234 2380.9144
+ 24827742.2934 -204904.64048 293828.86244 24827740.0974 24827741.7694
+ -2562.1604 -1996.4884
+ 05 1 20 23 15 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22203052.7324 -14801173.35649 -11280076.22147 22203052.3164 22203058.2044
+ 2241.8694 1746.9074
+ 20212954.4674 -16068531.28349 -12508858.04848 20212953.9304 20212959.7394
+ -855.2954 -666.4674
+ 24081288.7634 -4759111.59849 -3690499.61645 24081289.2194 24081295.6274
+ -2656.6764 -2070.1454
+ 21031429.1744 -23889000.04949 -18601343.43048 21031429.0184 21031431.9564
+ -1595.4324 -1243.1974
+ 24981299.4214 6002846.60649 4699285.72245 24981301.8224 24981309.5224
+ -2835.4884 -2209.4684
+ 20629950.6034 -26084666.00149 -20298991.99348 20629950.1124 20629956.2894
+ 348.1484 271.2814
+ 23040027.6414 -7981166.47049 -6194413.87646 23040028.6534 23040032.9014
+ 3991.4284 3110.1894
+ 23926844.5384 -1611275.22649 -1242459.51946 23926843.7524 23926849.6274
+ -2403.1274 -1872.5684
+ 22116401.2974 -13761367.96449 -10708587.39047 22116401.1424 22116406.8204
+ 3044.7754 2372.5444
+ 24842363.5904 -128001.45348 353753.42144 24842366.6424 24842368.5694
+ -2564.9084 -1998.6314
+ 05 1 20 23 16 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22190290.6144 -14868235.23449 -11332332.20747 22190290.8624 22190296.6384
+ 2228.6144 1736.5814
+ 20217875.2374 -16042673.86749 -12488709.40548 20217874.5864 20217880.2274
+ -868.5414 -676.7884
+ 24096462.5544 -4679362.06349 -3628357.16745 24096464.1844 24096468.8274
+ -2659.9704 -2072.7094
+ 21040563.9204 -23840991.81849 -18563934.41548 21040564.0194 21040567.3314
+ -1605.1414 -1250.7604
+ 24997487.0604 6087886.07249 4765550.19245 24997486.4124 24997494.7644
+ -2833.7994 -2208.1534
+ 20627986.4374 -26094990.14749 -20307036.77248 20627985.5504 20627991.8474
+ 340.0434 264.9644
+ 23017255.2114 -8100830.07049 -6287658.20646 23017256.0744 23017261.8764
+ 3986.2214 3106.1404
+ 23940583.9944 -1539066.12749 -1186192.68445 23940583.4814 23940591.7734
+ -2410.8114 -1878.5554
+ 22099049.2134 -13852548.41149 -10779637.04847 22099049.9414 22099055.3164
+ 3033.9604 2364.1244
+ 24857021.8324 -51013.47949 413744.22644 24857022.1844 24857026.6034
+ -2567.6504 -2000.7694
+ 05 1 20 23 16 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22177605.7054 -14934897.53349 -11384276.82047 22177605.1964 22177611.1204
+ 2215.2674 1726.1904
+ 20222870.9324 -16016420.48849 -12468252.21548 20222870.2874 20222876.2704
+ -881.6994 -687.0384
+ 24111659.5234 -4599515.15649 -3566138.79745 24111657.6944 24111664.2114
+ -2663.1294 -2075.1634
+ 21049754.7074 -23792692.69049 -18526298.73148 21049754.8814 21049758.5744
+ -1614.8354 -1258.3164
+ 25013658.7714 6172872.15449 4831773.07645 25013658.3894 25013665.8444
+ -2831.9924 -2206.7524
+ 20626067.9314 -26105070.87249 -20314891.87048 20626067.4294 20626073.4614
+ 331.9034 258.6274
+ 22994513.5584 -8220334.35449 -6380778.38946 22994514.6034 22994520.5684
+ 3980.7434 3101.8724
+ 23954369.1034 -1466628.15649 -1129747.54246 23954368.7184 23954375.1044
+ -2418.3534 -1884.4284
+ 22081761.7804 -13943401.81749 -10850431.86447 22081761.3154 22081767.2264
+ 3023.0044 2355.5894
+ 24871688.4894 26059.55649 473801.06244 24871685.6214 24871691.5974
+ -2570.4884 -2002.9714
+ 05 1 20 23 17 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22164995.3924 -15001158.26249 -11435908.52247 22164996.1604 22165002.3794
+ 2201.8254 1715.7104
+ 20227941.6924 -15989772.75749 -12447487.73848 20227941.1744 20227947.0564
+ -894.8074 -697.2524
+ 24126872.0424 -4519571.01949 -3503844.69345 24126871.6214 24126877.4214
+ -2666.4114 -2077.7194
+ 21059002.3914 -23744102.58149 -18488436.30548 21059001.7144 21059004.9544
+ -1624.5204 -1265.8574
+ 25029819.8514 6257802.22549 4897952.29245 25029818.3974 25029826.0134
+ -2829.9724 -2205.1764
+ 20624196.2704 -26114907.11849 -20322556.46248 20624195.7874 20624201.6034
+ 323.7554 252.2734
+ 22971805.2014 -8339675.73749 -6473771.60546 22971804.8054 22971811.5044
+ 3975.2944 3097.6294
+ 23968196.0194 -1393964.53849 -1073126.53846 23968196.2084 23968202.6564
+ -2425.8434 -1890.2724
+ 22064534.8144 -14033925.49449 -10920969.75647 22064534.5854 22064540.3424
+ 3011.9914 2347.0094
+ 24886370.4994 103217.23648 533923.83744 24886366.4184 24886379.6074
+ -2573.2794 -2005.1474
+ 05 1 20 23 17 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22152464.9704 -15067015.06549 -11487225.47947 22152464.6254 22152469.8174
+ 2188.2964 1705.1654
+ 20233087.4624 -15962732.23249 -12426417.18848 20233086.8694 20233092.6404
+ -907.8864 -707.4464
+ 24142102.0314 -4439529.73949 -3441474.89445 24142103.0534 24142108.7134
+ -2669.6224 -2080.2314
+ 21068303.3374 -23695221.82149 -18450347.39648 21068303.5544 21068306.6414
+ -1634.2134 -1273.4124
+ 25045972.7084 6342673.59149 4964085.84145 25045971.0884 25045977.7394
+ -2828.0114 -2203.6454
+ 20622370.9874 -26124498.03949 -20330029.89148 20622370.3604 20622376.5754
+ 315.5624 245.8904
+ 22949127.6204 -8458851.23549 -6566635.58346 22949126.7504 22949132.0704
+ 3969.7084 3093.2784
+ 23982065.6674 -1321078.22749 -1016332.00646 23982066.5684 23982071.5634
+ -2433.1854 -1895.9904
+ 22047372.1404 -14124116.68449 -10991248.58147 22047372.2724 22047377.4274
+ 3000.8154 2338.3004
+ 24901066.4924 180459.58048 594112.62644 24901059.5984
+ -2576.1544 -2007.3934
+ 05 1 20 23 18 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22140009.4054 -15132465.70249 -11538225.94947 22140009.4384 22140015.3304
+ 2174.7464 1694.6054
+ 20238308.0684 -15935300.96249 -12405042.16648 20238307.0774 20238312.8214
+ -920.8634 -717.5564
+ 24157352.8244 -4359391.75349 -3379029.72345 24157352.5554 24157358.6104
+ -2672.7954 -2082.6964
+ 21077661.2674 -23646050.34349 -18412031.96148 21077660.1904 21077663.1644
+ -1643.9074 -1280.9664
+ 25062107.3044 6427483.63249 5030171.55745 25062107.4484 25062117.5464
+ -2825.9894 -2202.0694
+ 20620592.5944 -26133842.91649 -20337311.60348 20620592.1314 20620598.4104
+ 307.3274 239.4754
+ 22926481.0474 -8577857.39049 -6659367.59346 22926481.2214 22926486.6844
+ 3963.9834 3088.8124
+ 23995977.7094 -1247972.22149 -959366.33546 23995978.9184 23995983.4734
+ -2440.4284 -1901.6274
+ 22030272.2134 -14213972.51349 -11061266.06947 22030272.8244 22030278.9344
+ 2989.6034 2329.5574
+ 24915786.8474 257786.46248 654367.25244 24915785.3144
+ -2579.0684 -2009.6584
+ 05 1 20 23 18 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22127631.8944 -15197507.88849 -11588908.14547 22127632.2554 22127637.5814
+ 2161.1174 1683.9904
+ 20243601.2514 -15907480.55849 -12383363.91648 20243600.9464 20243606.8514
+ -933.8174 -727.6474
+ 24172620.5814 -4279156.98449 -3316509.15345 24172621.3444 24172627.6664
+ -2675.9874 -2085.1784
+ 21087073.1224 -23596588.39849 -18373490.18748 21087072.9594 21087075.9064
+ -1653.5794 -1288.4974
+ 25078231.4324 6512229.68749 5096207.33745 25078235.0984 25078244.1404
+ -2823.7034 -2200.2854
+ 20618861.9124 -26142940.78349 -20344400.83348 20618860.8394 20618866.9454
+ 299.1144 233.0804
+ 22903867.5624 -8696690.90149 -6751965.08646 22903867.6094 22903873.0664
+ 3958.2054 3084.3224
+ 24009930.1594 -1174649.69449 -902231.92545 24009931.1344 24009936.4434
+ -2447.6524 -1907.2574
+ 22013237.5024 -14303490.16649 -11131020.03147 22013237.6504 22013244.5484
+ 2978.2934 2320.7484
+ 24930512.1754 335197.96348 714687.99444
+ -2581.8494 -2011.8524
+ 05 1 20 23 19 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22115333.1864 -15262139.51849 -11639270.42447 22115333.0314 22115338.8784
+ 2147.3904 1673.2864
+ 20248969.5904 -15879272.37449 -12361383.50348 20248968.7554 20248974.6794
+ -946.7134 -737.7004
+ 24187907.3254 -4198825.79449 -3253913.44945 24187907.3864 24187914.0934
+ -2679.2614 -2087.7374
+ 21096539.9584 -23546835.90249 -18334722.00848 21096540.0684 21096543.2584
+ -1663.2584 -1296.0444
+ 25094351.8654 6596908.71549 5162190.97445 25094350.5614 25094356.5034
+ -2821.4804 -2198.5584
+ 20617176.8984 -26151790.54549 -20351296.74648 20617177.0604 20617182.9324
+ 290.8374 226.6274
+ 22881286.6594 -8815348.46549 -6844425.48346 22881286.5134 22881292.9024
+ 3952.2674 3079.6684
+ 24023925.6424 -1101113.79449 -844931.20245 24023924.0874 24023929.6884
+ -2454.6944 -1912.7524
+ 21996268.7974 -14392666.94249 -11200508.39347 21996268.6044 21996273.4884
+ 2966.8664 2311.8374
+ 24945257.8034 412694.43648 9571.87143
+ -2584.7214 -2014.0724
+ 05 1 20 23 19 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22103113.0494 -15326358.27849 -11689310.98847 22103112.5394 22103118.6624
+ 2133.5754 1662.5204
+ 20254410.5974 -15850678.30949 -12339102.40448 20254410.0404 20254415.8984
+ -959.5514 -747.7024
+ 24203210.7414 -4118398.12749 -3191242.56345 24203212.3904 24203216.9244
+ -2682.4784 -2090.2404
+ 21106063.0884 -23496793.11049 -18295727.61648 21106062.7954 21106067.0234
+ -1672.9274 -1303.5774
+ 25110448.5284 6681518.31949 5228120.53145 25110450.7994 25110458.4974
+ -2819.1824 -2196.7614
+ 20615540.7294 -26160391.40749 -20357998.69748 20615540.2114 20615546.2564
+ 282.5234 220.1464
+ 22858742.1644 -8933826.74449 -6936746.16046 22858741.4564 22858747.2414
+ 3946.2854 3075.0094
+ 24037957.3714 -1027367.50649 -787466.57146 24037956.3964 24037964.6124
+ -2461.6544 -1918.1744
+ 21979365.4294 -14481500.02849 -11269728.95147 21979364.8634 21979369.6834
+ 2955.3734 2302.8874
+ 24960028.1044 490275.35548 70020.97544
+ -2587.5144 -2015.8734
+ 05 1 20 23 20 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22090971.3484 -15390162.14649 -11739028.25747 22090970.9724 22090976.9194
+ 2119.7344 1651.7414
+ 20259925.4674 -15821700.11049 -12316521.97948 20259924.5304 20259930.1874
+ -972.3174 -757.6524
+ 24218533.8374 -4037874.34249 -3128496.76145 24218535.5174 24218542.0824
+ -2685.6894 -2092.7434
+ 21115641.1664 -23446460.01349 -18256507.02648 21115641.0704 21115644.7614
+ -1682.6024 -1311.1184
+ 25126537.5294 6766055.92749 5293993.90145 25126537.7334 25126546.3304
+ -2816.6664 -2194.8014
+ 20613951.4954 -26168742.52149 -20364506.04248 20613950.8424 20613957.3114
+ 274.1684 213.6364
+ 22836230.3424 -9052122.19349 -7028924.38746 22836230.3604 22836237.2954
+ 3940.0994 3070.2044
+ 24052029.9884 -953413.93049 -729840.41746 24052030.7954 24052037.4464
+ -2468.5174 -1923.5214
+ 21962526.4624 -14569986.66449 -11338679.53047 21962526.5174 21962531.1244
+ 2943.7994 2293.8604
+ 24974802.2114 567940.55748 130528.14044
+ -2590.0794 -2017.8624
+ 05 1 20 23 20 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22078909.1684 -15453548.59849 -11788420.27447 22078908.7144 22078915.2524
+ 2105.7734 1640.8654
+ 20265512.4104 -15792339.51849 -12293643.58948 20265511.4334 20265517.5464
+ -985.0244 -767.5494
+ 24233877.9114 -3957254.74149 -3065676.27745 24233876.9634 24233882.9754
+ -2688.9074 -2095.2584
+ 21125275.6304 -23395836.58049 -18217060.19748 21125274.6454 21125278.0304
+ -1692.2994 -1318.6734
+ 25142611.1354 6850518.68449 5359808.96345 25142610.0584 25142617.6044
+ -2814.1054 -2192.8064
+ 20612410.1564 -26176842.87249 -20370817.99348 20612409.3404 20612415.8284
+ 265.8054 207.1244
+ 22813754.9574 -9170231.65249 -7120957.67846 22813755.5384 22813761.1724
+ 3933.8474 3065.3224
+ 24066143.0814 -879256.19749 -672055.14745 24066140.9174 24066149.1214
+ -2475.3014 -1928.7994
+ 21945755.0564 -14658124.07349 -11407357.98847 21945754.3214 21945758.9764
+ 2932.1084 2284.7554
+ 24989592.0544 645690.10348 5492.04543
+ -2593.1454 -2020.6774
+ 05 1 20 23 21 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22066926.8654 -15516515.62149 -11837485.45547 22066927.1614 22066933.2554
+ 2091.7484 1629.9264
+ 20271171.5034 -15762598.42249 -12270468.70048 20271170.8774 20271176.7914
+ -997.7174 -777.4444
+ 24249234.4014 -3876539.21749 -3002781.14945 24249236.2504 24249242.1614
+ -2692.0714 -2097.6974
+ 21134963.7634 -23344923.12249 -18177387.37848 21134963.1864 21134966.5914
+ -1701.9634 -1326.2054
+ 25158667.7614 6934904.05849 5425563.76145 25158666.7294 25158677.3374
+ -2811.5714 -2190.8344
+ 20610916.7074 -26184691.74249 -20376933.98548 20610915.9154 20610922.3104
+ 257.3894 200.5594
+ 22791315.3744 -9288151.87049 -7212843.52246 22791315.6974 22791322.2434
+ 3927.4264 3060.3274
+ 24080292.3054 -804897.28249 -614113.12246 24080292.5234 24080299.2574
+ -2481.9714 -1934.0094
+ 21929048.6054 -14745909.73249 -11475762.36047 21929048.4134 21929054.2204
+ 2920.3044 2275.5624
+ 25004409.5824 723523.82948 66151.30044
+ -2595.8504 -2024.0224
+ 05 1 20 23 21 30.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22055025.5934 -15579060.94449 -11886222.04847 22055025.1174 22055030.9074
+ 2077.6284 1618.9304
+ 20276903.3084 -15732478.38249 -12246998.52548 20276902.6924 20276908.2644
+ -1010.2994 -787.2474
+ 24264616.2784 -3795728.23849 -2939811.56845 24264614.7154 24264621.3754
+ -2695.2854 -2100.2194
+ 21144706.3844 -23293719.80749 -18137488.68648 21144706.4654 21144709.4554
+ -1711.6264 -1333.7344
+ 25174709.7144 7019209.21749 5491256.06845 25174709.8724 25174718.1064
+ -2808.8804 -2188.7384
+ 20609470.2964 -26192287.89049 -20382853.05148 20609470.2704 20609476.6504
+ 248.9644 193.9964
+ 22768910.3504 -9405879.30149 -7304579.12146 22768912.6454 22768918.7584
+ 3921.0014 3055.3254
+ 24094480.2544 -730340.39449 -556016.87445 24094480.3084 24094485.7464
+ -2488.4474 -1939.0524
+ 21912410.5654 -14833340.66149 -11543890.32047 21912410.9194 21912416.6934
+ 2908.4644 2266.3354
+ 25019232.8464 801442.03448 126905.25744
+ -2598.6734 -2026.2304
+ 05 1 20 23 22 0.0000000 0 10G 6G10G 4G 2G 5G17G26G30G29G24
+ 22043202.9254 -15641182.52449 -11934628.44947 22043203.6634 22043209.3744
+ 2063.4884 1607.9184
+ 20282707.4144 -15701980.90049 -12223234.25148 20282706.2264 20282711.7204
+ -1022.8514 -797.0274
+ 24280007.4084 -3714822.02149 -2876767.76245 24280008.7484 24280016.1584
+ -2698.4354 -2102.6794
+ 21154505.5984 -23242226.56549 -18097364.09048 21154505.0234 21154508.9004
+ -1721.2724 -1341.2494
+ 25190741.6464 7103431.58149 5556883.84545 25190739.4524 25190747.5924
+ -2806.0344 -2186.5234
+ 20608074.0084 -26199630.54449 -20388574.58448 20608073.0744 20608079.2554
+ 240.4724 187.3804
+ 22746546.3714 -9523410.84349 -7396162.09846 22746545.9054 22746552.8834
+ 3914.4144 3050.1954
+ 24108704.6324 -655588.60049 -497768.75846 24108705.5424 24108710.0404
+ -2494.9154 -1944.0864
+ 21895841.0204 -14920414.17249 -11611739.77947 21895840.8494 21895846.8794
+ 2896.4914 2257.0084
+ 25034075.3034 879444.51258 502.72153
+ -2602.0944 -2027.6134
+ 05 1 20 23 22 30.0000000 0 11G 6G10G 4G 2G 5G17G26G21G30G29G24
+ 22031464.8064 -15702878.07349 -11982702.87647 22031463.5954 22031469.3424
+ 2049.2694 1596.8304
+ 20288581.7844 -15671107.80449 -12199177.27448 20288581.1454 20288586.6084
+ -1035.3414 -806.7554
+ 24295424.4554 -3633820.53349 -2813649.73145 24295426.5364 24295430.3074
+ -2701.4964 -2105.0594
+ 21164359.7194 -23190443.51049 -18057013.64948 21164359.2694 21164362.6224
+ -1730.9454 -1348.7894
+ 25206745.9264 7187568.50649 5622445.06645 25206747.2164 25206755.4034
+ -2803.0244 -2184.1744
+ 20606724.8984 -26206718.86049 -20394097.93448 20606724.1514 20606730.5244
+ 232.0054 180.7824
+ 22724219.8324 -9640742.99849 -7487589.70146 22724219.2704 22724225.8014
+ 3907.7004 3044.9714
+ 25404361.0994 -253893.30949 -185343.23244 25404368.5644
+ 2966.9574 2311.9044
+ 24122966.5314 -580644.95449 -439371.10445 24122965.5574 24122970.4104
+ -2501.2474 -1949.0304
+ 21879340.0444 -15007127.78849 -11679308.79347 21879340.3944 21879346.3164
+ 2884.4434 2247.6204
+ 25048944.0184 957531.13648 61343.78144
+ -2604.4084 -2028.1964
+ 05 1 20 23 23 0.0000000 0 11G 6G10G 4G 2G 5G17G26G21G30G29G24
+ 22019803.9734 -15764145.53149 -12030443.73447 22019804.3844 22019810.5994
+ 2034.9234 1585.6574
+ 20294528.2884 -15639860.63949 -12174828.82648 20294527.3104 20294533.0734
+ -1047.8044 -816.4714
+ 24310859.6434 -3552724.19249 -2750457.77945 24310857.0104 24310863.8744
+ -2704.8014 -2107.6314
+ 21174268.5804 -23138370.71149 -18016437.45648 21174268.6324 21174271.5224
+ -1740.6064 -1356.3174
+ 25222743.7954 7271617.31949 5687937.61045 25222743.7814 25222751.8694
+ -2800.1174 -2181.9154
+ 20605424.0194 -26213551.75149 -20399422.25548 20605423.8314 20605430.3474
+ 223.4514 174.1184
+ 22701930.7844 -9757872.58649 -7578859.45946 22701930.0414 22701936.4054
+ 3900.8504 3039.6174
+ 25387415.6304 -342931.66449 -254723.78244 25387415.8734 25387419.6764
+ 2968.8404 2313.3804
+ 24137262.2954 -505512.51049 -380826.38145 24137262.2744 24137268.0594
+ -2507.4894 -1953.8894
+ 21862908.2214 -15093478.48249 -11746595.00447 21862908.4644 21862913.6344
+ 2872.3034 2238.1594
+ 25063820.0434 1035701.79158 122221.46654
+ -2607.1464 -2030.3884
+ 05 1 20 23 23 30.0000000 0 11G 6G10G 4G 2G 5G17G26G21G30G29G24
+ 22008228.2944 -15824982.64749 -12077849.25647 22008227.5924 22008233.3294
+ 2020.5984 1574.4884
+ 20300545.1984 -15608241.44249 -12150190.47848 20300544.0954 20300549.9734
+ -1060.1564 -826.0984
+ 24326305.4594 -3471532.94649 -2687191.91745 24326306.5084 24326312.7094
+ -2707.9434 -2110.0784
+ 21184232.9044 -23086008.41949 -17975635.66648 21184232.7894 21184236.3324
+ -1750.2244 -1363.8154
+ 25238719.8544 7355575.62349 5753359.64845 25238718.9764 25238729.0384
+ -2797.0844 -2179.5444
+ 20604173.1924 -26220128.41749 -20404546.92148 20604172.6884 20604178.8114
+ 214.9164 167.4644
+ 22679680.1374 -9874796.11249 -7669968.65346 22679680.8534 22679686.9894
+ 3893.9694 3034.2534
+ 25370461.3854 -432029.73749 -324150.74644 25370461.0564 25370470.4394
+ 2970.9234 2314.9954
+ 24151594.8704 -430194.30449 -322136.90745 24151595.4534 24151600.9824
+ -2513.6824 -1958.7134
+ 21846544.9654 -15179463.65149 -11813596.40447 21846545.5064 21846551.0494
+ 2860.0644 2228.6044
+ 25078695.0684 1113956.14358 183164.22154
+ -2609.9704 -2032.5904
+ 05 1 20 23 24 0.0000000 0 11G 6G10G 4G 2G 5G17G26G21G30G29G24
+ 21996733.1584 -15885387.43049 -12124917.88647 21996732.9494 21996739.0154
+ 2006.1264 1563.2184
+ 20306631.8454 -15576251.95349 -12125263.59648 20306631.2964 20306637.4474
+ -1072.4724 -835.6914
+ 24341772.0294 -3390247.09649 -2623852.30445 24341774.4424 24341781.8004
+ -2711.1284 -2112.5734
+ 21194253.2814 -23033356.80949 -17934608.43548 21194252.6734 21194255.8134
+ -1759.8844 -1371.3344
+ 25254676.8454 7439440.86049 5818709.12045 25254678.5394 25254685.2884
+ -2793.8724 -2177.0434
+ 20602970.7154 -26226447.94749 -20409471.22248 20602969.9204 20602976.1004
+ 206.3434 160.7894
+ 22657470.6334 -9991510.14749 -7760914.59546 22657470.8734 22657476.7014
+ 3886.9604 3028.7904
+ 25353497.4074 -521188.18749 -393624.85844 25353495.8094 25353499.1294
+ 2972.9324 2316.5764
+ 24165961.4474 -354693.50449 -263305.12645 24165962.2324 24165969.5784
+ -2519.6514 -1963.3674
+ 21830254.0504 -15265080.83549 -11880311.06447 21830253.7114 21830258.8794
+ 2847.7614 2219.0334
+ 25093616.5924 1192294.39048 53378.44843
+ -2612.7314 -2033.5134
+ 05 1 20 23 24 30.0000000 0 11G 6G10G 4G 2G 5G17G26G21G30G29G24
+ 21985322.0744 -15945357.48449 -12171647.78447 21985321.7154 21985326.6494
+ 1991.5984 1551.8894
+ 20312789.3884 -15543893.72949 -12100049.38348 20312788.8244 20312794.8954
+ -1084.7384 -845.2554
+ 24357260.9334 -3308866.93849 -2560439.23745 24357258.7284 24357266.9454
+ -2714.2434 -2114.9924
+ 21204326.8304 -22980416.06849 -17893355.91548 21204326.3354 21204329.9274
+ -1769.5404 -1378.8614
+ 25270620.0544 7523210.19349 5883983.92545 25270617.8254 25270627.6394
+ -2790.8034 -2174.6444
+ 20601817.0384 -26232509.39449 -20414194.41548 20601816.4654 20601822.3894
+ 197.6914 154.0434
+ 22635302.1294 -10108011.50949 -7851694.82946 22635302.2164 22635307.0584
+ 3879.7914 3023.1954
+ 25336519.5534 -610405.77449 -463144.97444 25336516.2924 25336520.9364
+ 2974.8444 2318.0554
+ 24180364.4264 -279013.28349 -204333.53745 24180364.7294 24180371.9814
+ -2525.5854 -1967.9954
+ 21814031.6144 -15350327.05749 -11946736.65547 21814031.6384 21814037.0264
+ 2835.3324 2209.3464
+ 25108538.8234 1270716.16848 114417.83244
+ -2615.5054 -2035.7744
+ 05 1 20 23 25 0.0000000 0 11G 6G10G 4G 2G 5G17G26G21G30G29G24
+ 21973992.6464 -16004890.94249 -12218037.47047 21973992.3854 21973997.9544
+ 1977.0064 1540.5234
+ 20319017.0424 -15511168.57849 -12074549.26748 20319016.4934 20319022.2684
+ -1096.9394 -854.7524
+ 24372768.5824 -3227392.58949 -2496952.79245 24372767.0294 24372770.7174
+ -2717.3014 -2117.3754
+ 21214455.1814 -22927185.99649 -17851877.94048 21214455.3804 21214459.3784
+ -1779.1514 -1386.3484
+ 25286540.4404 7606881.32249 5949182.17545 25286539.3234 25286550.3064
+ -2787.4204 -2172.0104
+ 20600712.9524 -26238311.86149 -20418715.80848 20600712.2574 20600718.3024
+ 189.0514 147.3174
+ 22613173.2344 -10224296.82049 -7942306.71346 22613172.3534 22613178.4364
+ 3872.5334 3017.5544
+ 25319523.9164 -699682.73648 -532711.38044 25319526.5894 25319532.8664
+ 2976.8944 2319.6564
+ 24194796.5404 -203156.54049 -145224.37445 24194796.9774 24194807.7774
+ -2531.4054 -1972.5194
+ 21797880.6154 -15435199.94049 -12012871.33847 21797880.8564 21797886.3814
+ 2822.8564 2199.6294
+ 25123468.7004 1349221.40558 175522.20054
+ -2618.3104 -2037.9494
+ 05 1 20 23 25 30.0000000 0 10G 6G10G 4G 2G 5G17G26G21G30G29
+ 21962747.3154 -16063985.54649 -12264085.19447 21962746.9974 21962752.7424
+ 1962.3754 1529.1194
+ 20325314.3074 -15478078.33149 -12048764.64648 20325313.1004 20325318.8944
+ -1109.0704 -864.2094
+ 24388288.2324 -3145824.38649 -2433393.17145 24388288.5184 24388294.0994
+ -2720.3944 -2119.7814
+ 21224640.8954 -22873667.06749 -17810174.87548 21224640.1854 21224643.3654
+ -1788.7744 -1393.8464
+ 25302447.0534 7690451.47349 6014301.60545 25302445.3524 25302451.4874
+ -2783.9454 -2169.3064
+ 20599657.9874 -26243854.30149 -20423034.58748 20599657.5124 20599663.6864
+ 180.3784 140.5524
+ 22591085.9904 -10340362.73449 -8032747.62846 22591085.9424 22591092.4224
+ 3865.1904 3011.8274
+ 25302526.9764 -789018.40049 -602323.50844 25302527.7794 25302537.8094
+ 2978.7134 2321.0754
+ 24209266.7354 -127126.57049 -85980.22745 24209266.8404 24209274.9844
+ -2537.1564 -1977.0144
+ 21781801.9654 -15519696.75249 -12078712.97547 21781801.3474 21781807.2794
+ 2810.2994 2189.8414
+ 05 1 20 23 26 0.0000000 0 10G 6G10G 4G 2G 5G17G26G21G30G29
+ 21951585.1844 -16122639.29149 -12309789.39547 21951585.2194 21951591.2694
+ 1947.6184 1517.6274
+ 20331680.2984 -15444624.69449 -12022696.87248 20331679.4184 20331685.1064
+ -1121.1564 -873.6304
+ 24403825.1694 -3064162.35449 -2369760.47045 24403827.8354 24403832.1344
+ -2723.6194 -2122.3004
+ 21234879.9944 -22819859.34649 -17768246.78548 21234879.3214 21234882.7394
+ -1798.4154 -1401.3614
+ 25318330.0104 7773917.78849 6079340.27545 25318328.1334 25318333.5204
+ -2780.4654 -2166.5964
+ 20598653.0784 -26249135.66449 -20427149.92748 20598652.5284 20598658.4774
+ 171.6474 133.7524
+ 22569043.9324 -10456205.84549 -8123014.94046 22569042.8694 22569048.3674
+ 3857.6634 3005.9674
+ 25285517.2264 -878412.51349 -671981.17845 25285517.3374 25285523.0354
+ 2980.7404 2322.6524
+ 24223769.2594 -50926.22349 -26603.34046 24223770.0114 24223775.4354
+ -2542.7784 -1981.3874
+ 21765794.7474 -15603814.65049 -12144259.35947 21765794.3814 21765800.4954
+ 2797.6254 2179.9684
+ 05 1 20 23 26 30.0000000 0 10G 6G10G 4G 2G 5G17G26G21G30G29
+ 21940508.1944 -16180850.06549 -12355148.40347 21940507.8894 21940514.0784
+ 1932.8194 1506.0934
+ 20338115.1434 -15410809.60149 -11996347.43248 20338114.1404 20338119.9844
+ -1133.1854 -882.9994
+ 24419387.0474 -2982406.60249 -2306054.73245 24419385.0004 24419390.8044
+ -2726.7144 -2124.7104
+ 21245173.2094 -22765763.01049 -17726093.80748 21245173.3374 21245176.4374
+ -1808.0204 -1408.8424
+ 25334192.9064 7857278.16349 6144296.40745 25334190.4844 25334197.5074
+ -2776.8764 -2163.7994
+ 20597697.3264 -26254155.26649 -20431061.29248 20597697.3034 20597703.3834
+ 162.9124 126.9484
+ 22547040.4104 -10571822.96649 -8213106.15046 22547040.4204 22547047.4804
+ 3850.0924 3000.0664
+ 25268498.0484 -967864.41049 -741683.88345 25268495.6184 25268501.6424
+ 2982.6744 2324.1604
+ 24238301.9664 25441.14849 32903.65746 24238302.0374 24238306.4404
+ -2548.2964 -1985.6774
+ 21749859.2964 -15687551.14449 -12209508.54447 21749859.5214 21749865.5134
+ 2784.8534 2170.0214
+ 05 1 20 23 27 0.0000000 0 10G 6G10G 4G 2G 5G17G26G21G30G29
+ 21929516.7564 -16238615.68549 -12400160.56347 21929515.8494 21929520.9904
+ 1917.9434 1494.4944
+ 20344618.0984 -15376634.47249 -11969717.45248 20344617.5094 20344623.2954
+ -1145.1684 -892.3424
+ 24434955.2584 -2900557.62249 -2242276.29545 24434958.0094 24434965.0204
+ -2729.8574 -2127.1594
+ 21255523.0484 -22711377.98349 -17683715.87148 21255522.8624 21255526.1204
+ -1817.6674 -1416.3654
+ 25350035.2644 7940529.85649 6209167.86445 25350033.3594 25350040.2344
+ -2773.2894 -2161.0034
+ 20596792.4814 -26258912.07749 -20434767.88748 20596792.1244 20596798.2454
+ 154.1384 120.1014
+ 22525084.0324 -10687210.53149 -8303018.47346 22525083.1464 22525089.7534
+ 3842.3504 2994.0364
+ 25251461.3664 -1057373.64149 -811431.26245 25251462.7534 25251470.1414
+ 2984.5034 2325.5814
+ 24252864.8584 101972.66649 92538.57745 24252864.3144 24252868.9184
+ -2553.7624 -1989.9444
+ 21733998.2754 -15770903.61049 -12274458.48747 21733998.3244 21734003.8124
+ 2772.0334 2160.0174
+ 05 1 20 23 27 30.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21918608.0024 -16295934.15449 -12444824.27847 21918608.0514 21918614.5434
+ 1903.0134 1482.8674
+ 20351190.1924 -15342100.91549 -11942808.18148 20351189.0104 20351195.0714
+ -1157.0594 -901.6024
+ 24450548.3574 -2818615.51649 -2178425.25445 24450550.5834 24450558.9264
+ -2732.8894 -2129.5234
+ 21265927.1974 -22656704.53049 -17641113.17548 21265926.6944 21265930.4634
+ -1827.2384 -1423.8204
+ 20595937.4564 -26263405.19449 -20438269.00848 20595936.9204 20595943.3754
+ 145.3304 113.2474
+ 22503171.9984 -10802365.41249 -8392749.50946 22503170.8174 22503176.0684
+ 3834.5924 2987.9884
+ 25234418.2574 -1146940.04149 -881223.18645 25234418.3474 25234426.0704
+ 2986.4644 2327.1094
+ 24267457.3004 178665.18249 152298.94445 24267458.4444 24267464.1364
+ -2559.0344 -1994.0424
+ 21718210.9384 -15853869.38849 -12339107.11047 21718210.6414 21718215.8674
+ 2759.0794 2149.9334
+ 05 1 20 23 28 0.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21907785.7854 -16352803.32849 -12489137.89347 21907786.2574 21907791.9184
+ 1887.9964 1471.1674
+ 20357828.5984 -15307211.06449 -11915621.27548 20357828.0094 20357834.1484
+ -1168.9064 -910.8354
+ 24466166.2514 -2736580.52049 -2114501.88845 24466164.1524 24466170.7834
+ -2736.0334 -2131.9704
+ 21276386.0904 -22601742.85549 -17598285.90848 21276385.4464 21276388.7504
+ -1836.8554 -1431.3124
+ 20595132.4004 -26267633.46649 -20441563.75248 20595132.1804 20595138.4924
+ 136.5164 106.3794
+ 22481302.1784 -10917284.04849 -8482296.44446 22481302.5634 22481307.8434
+ 3826.6054 2981.7754
+ 25217365.1094 -1236562.93449 -951059.16045 25217364.5314 25217369.5534
+ 2988.3264 2328.5674
+ 24282080.5814 255515.52949 212182.35645 24282081.5144 24282088.0814
+ -2564.2624 -1998.1274
+ 21702497.5364 -15936446.04449 -12403452.52747 21702497.0804 21702502.2954
+ 2746.0884 2139.8134
+ 05 1 20 23 28 30.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21897050.9874 -16409221.29149 -12533099.92547 21897050.7614 21897055.9634
+ 1872.9224 1459.4214
+ 20364535.6654 -15271966.62549 -11888158.07048 20364534.9134 20364541.0124
+ -1180.7064 -920.0334
+ 24481796.8424 -2654452.85349 -2050506.39145 24481794.3354 24481796.5974
+ -2739.0794 -2134.3504
+ 21286899.8434 -22546493.16849 -17555234.20348 21286899.3044 21286902.4414
+ -1846.4754 -1438.8114
+ 20594379.3454 -26271596.13649 -20444651.54148 20594378.2934 20594384.5344
+ 127.6154 99.4374
+ 22459479.2814 -11031963.13049 -8571656.72746 22459478.3304 22459485.3064
+ 3818.6614 2975.5644
+ 25200299.5914 -1326241.86749 -1020938.78645 25200298.4874 25200304.6974
+ 2990.2234 2330.0424
+ 24296734.5844 332520.71649 272186.39645 24296735.3504 24296743.7424
+ -2569.3614 -2002.0954
+ 21686856.9264 -16018630.88349 -12467492.62747 21686857.3044 21686862.8464
+ 2732.9634 2129.5694
+ 05 1 20 23 29 0.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21886401.1654 -16465185.93449 -12576708.72147 21886400.8544 21886406.7714
+ 1857.7544 1447.6034
+ 20371309.9084 -15236369.16749 -11860419.78648 20371309.1764 20371314.9504
+ -1192.4554 -929.1884
+ 24497433.9464 -2572232.85849 -1986438.85145 24497436.2624 24497444.6304
+ -2742.2244 -2136.8054
+ 21297467.9634 -22490955.51949 -17511958.11348 21297467.6784 21297471.0004
+ -1856.0754 -1446.2924
+ 20593674.9974 -26275292.45349 -20447531.78048 20593674.7704 20593681.1804
+ 118.7124 92.4994
+ 22437702.5114 -11146399.32249 -8660827.74446 22437703.4844 22437708.6504
+ 3810.3994 2969.1484
+ 25183224.3184 -1415976.34949 -1090861.69945 25183221.9314 25183228.1074
+ 2992.0484 2331.4674
+ 24311417.2904 409677.64249 332308.67645 24311417.6124 24311424.9734
+ -2574.4374 -2006.0484
+ 21671293.1264 -16100421.24449 -12531225.34247 21671293.1294 21671299.1784
+ 2719.7394 2119.2704
+ 05 1 20 23 29 30.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21875837.9314 -16520695.31049 -12619962.75147 21875837.6234 21875843.7454
+ 1842.5534 1435.7614
+ 20378150.2344 -15200420.57149 -11832407.87948 20378149.6424 20378155.9634
+ -1204.1264 -938.2754
+ 24513103.7854 -2489920.69849 -1922299.51745 24513102.2224 24513108.9714
+ -2745.2574 -2139.1574
+ 21308091.3474 -22435130.24449 -17468457.89348 21308090.7534 21308094.3584
+ -1865.6474 -1453.7454
+ 20593023.4944 -26278721.09049 -20450203.43548 20593022.8014 20593028.7034
+ 109.7644 85.5344
+ 22415973.0654 -11260589.46849 -8749807.02946 22415972.4134 22415978.2664
+ 3802.1334 2962.6954
+ 25166138.0484 -1505766.28949 -1160827.82545 25166137.1814 25166142.1204
+ 2993.8814 2332.8914
+ 24326129.2994 486983.08249 392546.68445 24326129.0674 24326134.8464
+ -2579.2704 -2009.8234
+ 21655805.8164 -16181814.67649 -12594648.76747 21655805.0514 21655809.8424
+ 2706.4854 2108.9514
+ 05 1 20 23 30 0.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21865361.3734 -16575747.31349 -12662860.39647 21865361.6434 21865367.2174
+ 1827.2954 1423.8604
+ 20385057.8894 -15164122.65049 -11804123.77848 20385057.0484 20385062.9854
+ -1215.7124 -947.3114
+ 24528788.0864 -2407516.49149 -1858088.41745 24528783.3274 24528790.3924
+ -2748.3144 -2141.5424
+ 21318769.6554 -22379017.25749 -17424733.50248 21318769.3794 21318771.3264
+ -1875.2234 -1461.2124
+ 20592422.1014 -26281881.28749 -20452665.91848 20592421.4834 20592427.0004
+ 100.8694 78.5984
+ 22394289.8164 -11374529.92949 -8838591.77346 22394290.1624 22394295.6394
+ 3793.7894 2956.1904
+ 25149038.9264 -1595610.83449 -1230836.47345 25149037.8184 25149045.2634
+ 2995.6924 2334.3044
+ 24340867.0324 564434.19949 452898.16045 24340866.5744 24340873.8634
+ -2584.0654 -2013.5464
+ 21640391.9374 -16262808.67849 -12657760.93947 21640392.1724 21640397.3234
+ 2693.1564 2098.5624
+ 05 1 20 23 30 30.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21854973.0064 -16630339.93349 -12705400.06747 21854972.6344 21854978.9774
+ 1811.9444 1411.8974
+ 20392031.5144 -15127477.04149 -11775568.74948 20392030.5874 20392036.4154
+ -1227.2824 -956.3234
+ 24544482.6634 -2325020.52849 -1793805.85145 24544481.0814 24544488.8154
+ -2751.3864 -2143.9304
+ 21329501.9544 -22322616.87249 -17380785.14248 21329501.3904 21329504.8174
+ -1884.8104 -1468.6824
+ 20591871.3634 -26284771.95249 -20454918.37448 20591871.0474 20591877.2084
+ 91.8374 71.5634
+ 22372655.1754 -11488217.50149 -8927179.43946 22372655.8364 22372662.7114
+ 3785.3264 2949.6034
+ 25131931.3694 -1685509.47249 -1300887.25445 25131931.1724 25131938.5204
+ 2997.4974 2335.7074
+ 24355632.3204 642027.76249 513360.67445 24355632.3424 24355638.7514
+ -2588.7244 -2017.1914
+ 21625055.8254 -16343400.52849 -12720559.76047 21625055.9694 21625061.5074
+ 2679.7134 2088.0884
+ 05 1 20 23 31 0.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21844672.7284 -16684471.14649 -12747580.21447 21844672.3474 21844677.8814
+ 1796.5204 1399.8844
+ 20399070.4284 -15090485.71649 -11746744.32948 20399069.7064 20399075.8294
+ -1238.7974 -965.2974
+ 24560193.0704 -2242433.04749 -1729451.96745 24560196.7104 24560202.7924
+ -2754.3934 -2146.2834
+ 21340290.2734 -22265929.37449 -17336613.07748 21340289.2624 21340292.2334
+ -1894.3694 -1476.1324
+ 20591373.0234 -26287392.13349 -20456960.06348 20591372.5454 20591378.6274
+ 82.7934 64.5144
+ 22351071.3014 -11601648.84849 -9015567.44047 22351071.1614 22351077.3414
+ 3776.7324 2942.9104
+ 25114814.0694 -1775461.73549 -1370979.86445 25114814.2614 25114820.5254
+ 2999.2994 2337.1094
+ 24370424.6424 719760.65949 573931.78545 24370425.1584 24370432.0164
+ -2593.3824 -2020.8164
+ 21609797.5034 -16423587.84349 -12783043.36047 21609796.7414 21609802.1014
+ 2666.2004 2077.5584
+ 05 1 20 23 31 30.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21834459.5394 -16738139.09849 -12789399.37047 21834459.1724 21834464.8474
+ 1781.0584 1387.8344
+ 20406175.2894 -15053150.17349 -11717651.69048 20406174.2414 20406180.2754
+ -1250.2284 -974.2034
+ 24575931.8864 -2159754.37649 -1665027.03045 24575927.7044 24575935.7564
+ -2757.4794 -2148.6844
+ 21351130.6994 -22208954.99849 -17292217.46448 21351130.4394 21351134.1774
+ -1903.9154 -1483.5664
+ 20590925.6804 -26289741.14149 -20458790.45448 20590925.4884 20590931.5894
+ 73.7604 57.4754
+ 22329534.7864 -11714820.46249 -9103753.06647 22329535.8954 22329541.1554
+ 3768.0234 2936.1144
+ 25097685.6764 -1865467.31949 -1441113.92545 25097686.3834 25097693.7484
+ 3001.1474 2338.5524
+ 24385243.6584 797629.88049 634609.11345 24385244.4164 24385249.3494
+ -2597.8504 -2024.2974
+ 21594615.0614 -16503368.68859 -12845210.42857 21594615.1334 21594620.6294
+ 2652.5614 2066.9334
+ 05 1 20 23 32 0.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21824336.3304 -16791341.93149 -12830856.10747 21824335.4644 21824340.9944
+ 1765.5294 1375.7284
+ 20413344.8444 -15015472.05849 -11688292.11348 20413344.1014 20413350.2624
+ -1261.6394 -983.0984
+ 24591677.4324 -2076984.69449 -1600531.26245 24591680.8074 24591684.5494
+ -2760.4234 -2150.9824
+ 21362027.2794 -22151693.80049 -17247598.34548 21362027.1444 21362030.5454
+ -1913.4754 -1491.0234
+ 20590530.9294 -26291817.82249 -20460408.63948 20590530.2064 20590536.4054
+ 64.6574 50.3814
+ 22308049.6924 -11827729.14649 -9191733.81946 22308049.3624 22308054.9704
+ 3759.2234 2929.2734
+ 25080547.2464 -1955525.85449 -1511289.29445 25080548.0614 25080555.2744
+ 3002.8964 2339.9114
+ 24400084.4624 875632.38849 695390.26145 24400085.5204 24400092.7894
+ -2602.2294 -2027.7034
+ 21579511.8464 -16582739.27049 -12907057.60947 21579510.9874 21579516.6154
+ 2638.8534 2056.2494
+ 05 1 20 23 32 30.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21814299.4604 -16844077.39849 -12871948.65347 21814299.9194 21814305.6984
+ 1749.9094 1363.5644
+ 20420579.5264 -14977453.49749 -11658667.25548 20420578.6824 20420584.7224
+ -1272.9474 -991.9074
+ 24607449.1964 -1994124.18749 -1535964.60545 24607450.2804 24607455.8174
+ -2763.5464 -2153.4184
+ 21372979.2144 -22094145.98749 -17202755.89648 21372978.2094 21372981.5824
+ -1923.0284 -1498.4644
+ 20590187.8994 -26293621.22149 -20461813.87548 20590187.2034 20590193.2684
+ 55.5154 43.2574
+ 22286614.6334 -11940371.50349 -9279507.03947 22286614.5834 22286620.1264
+ 3750.3064 2922.3244
+ 25063403.2634 -2045636.55749 -1581505.33445 25063401.5314 25063409.7454
+ 3004.5064 2341.1734
+ 24414956.3674 953765.10649 756272.84545 24414955.9784 24414961.1574
+ -2606.5204 -2031.0554
+ 21564485.9884 -16661697.80349 -12968583.70547 21564486.1304 21564491.1404
+ 2625.0984 2045.5334
+ 05 1 20 23 33 0.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21804354.3194 -16896343.72749 -12912675.63647 21804353.9334 21804359.7794
+ 1734.2534 1351.3714
+ 20427878.0424 -14939096.35649 -11628778.57048 20427877.8124 20427883.8144
+ -1284.1994 -1000.6774
+ 24623232.1574 -1911173.04249 -1471327.34645 24623233.8764 24623242.4574
+ -2766.4984 -2155.7114
+ 21383984.4524 -22036311.74449 -17157690.25948 21383983.7764 21383986.8304
+ -1932.5694 -1505.9004
+ 20589897.1064 -26295150.61149 -20463005.60148 20589896.2794 20589902.3044
+ 46.3844 36.1454
+ 22265231.0734 -12052744.19749 -9367070.12947 22265230.2024 22265236.2614
+ 3741.2324 2915.2244
+ 25046246.8894 -2135798.83748 -1651761.56145 25046245.8544 25046251.5744
+ 3006.2424 2342.5224
+ 24429847.0144 1032024.89149 817254.51845 24429846.9344 24429851.9964
+ -2610.7194 -2034.3254
+ 21549539.2404 -16740241.67549 -13029786.69447 21549539.5354 21549544.9444
+ 2611.2214 2034.7194
+ 05 1 20 23 33 30.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21794497.7744 -16948138.93449 -12953035.51847 21794497.6294 21794503.4054
+ 1718.4814 1339.0774
+ 20435241.2884 -14900402.32949 -11598627.36948 20435241.0084 20435247.2254
+ -1295.3934 -1009.3974
+ 24639036.1814 -1828131.73249 -1406619.87545 24639035.4044 24639043.8764
+ -2769.5254 -2158.0744
+ 21395043.0494 -21978191.19249 -17112401.52047 21395043.3044 21395046.4304
+ -1942.1194 -1513.3344
+ 20589657.7984 -26296404.71649 -20463982.81848 20589657.3594 20589663.7924
+ 37.1854 28.9804
+ 22243898.4214 -12164843.75749 -9454420.41347 22243898.5814 22243904.5844
+ 3732.0764 2908.1164
+ 25029082.5204 -2226012.15249 -1722057.55645 25029080.3584 25029082.5874
+ 3008.0084 2343.9074
+ 24444759.6834 1110408.65049 878332.75345 24444761.5604 24444770.7354
+ -2614.8334 -2037.5304
+ 21534671.9054 -16818368.50349 -13090664.70347 21534672.3804 21534677.4834
+ 2597.2914 2023.8634
+ 05 1 20 23 34 0.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21784731.5554 -16999461.20149 -12993026.87247 21784731.3184 21784737.1324
+ 1702.6834 1326.7664
+ 20442668.6174 -14861373.08649 -11568214.96548 20442668.0184 20442674.0154
+ -1306.5214 -1018.0654
+ 24654854.5324 -1745000.39648 -1341842.18044 24654853.8324 24654858.2214
+ -2772.3834 -2160.2994
+ 21406158.5404 -21919784.63049 -17066889.91148 21406157.8174 21406161.7944
+ -1951.6644 -1520.7734
+ 20589471.7354 -26297382.83149 -20464744.97648 20589471.3374 20589477.5664
+ 27.9444 21.7784
+ 22222619.7334 -12276667.24549 -9541555.56247 22222619.5974 22222624.8194
+ 3722.8154 2900.8994
+ 25011906.3114 -2316276.17949 -1792393.04645 25011902.9574 25011905.0274
+ 3009.6864 2345.2104
+ 24459701.2434 1188913.33649 939505.23745 24459700.8864 24459706.8504
+ -2618.7884 -2040.6074
+ 21519885.8014 -16896075.94549 -13151215.92747 21519885.1964 21519890.4644
+ 2583.2814 2012.9454
+ 05 1 20 23 34 30.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21775055.8744 -17050308.56449 -13032648.17347 21775055.2964 21775061.1504
+ 1686.8474 1314.4244
+ 20450159.4054 -14822010.44549 -11537542.76748 20450158.7394 20450164.5464
+ -1317.6344 -1026.7274
+ 24670690.6664 -1661779.37248 -1276994.57545 24670687.5064 24670696.4344
+ -2775.3844 -2162.6414
+ 21417327.0324 -21861092.42049 -17021155.73347 21417327.2084 21417329.8784
+ -1961.1694 -1528.1844
+ 20589338.9134 -26298083.84849 -20465291.22348 20589338.2734 20589343.6914
+ 18.7004 14.5724
+ 22201392.1874 -12388210.95349 -9628472.70547 22201392.8094 22201398.5894
+ 3713.3924 2893.5564
+ 24994714.7564 -2406590.46449 -1862767.75845 24994714.5174 24994722.8584
+ 3011.2154 2346.4024
+ 24474662.2574 1267535.93149 1000769.61645 24474662.2534 24474668.1824
+ -2622.6804 -2043.6454
+ 21505177.9184 -16973361.48649 -13211438.39447 21505178.1674 21505183.9554
+ 2569.1614 2001.9474
+ 05 1 20 23 35 0.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21765470.0364 -17100679.05149 -13071897.86747 21765469.9794 21765476.1404
+ 1670.9184 1302.0114
+ 20457712.6674 -14782316.09749 -11506612.09948 20457712.1304 20457717.9994
+ -1328.6704 -1035.3234
+ 24686544.1924 -1578468.81549 -1212077.24144 24686542.8744 24686549.6014
+ -2778.4734 -2165.0454
+ 21428549.4374 -21802114.56749 -16975198.96947 21428549.4164 21428553.5544
+ -1970.6774 -1535.5874
+ 20589257.6314 -26298506.77249 -20465620.75648 20589257.0474 20589263.6284
+ 9.4424 7.3584
+ 22180220.2564 -12499471.57449 -9715169.25747 22180220.6994 22180227.0624
+ 3703.9074 2886.1654
+ 24977519.8274 -2496954.57949 -1933181.26945 24977517.3474 24977526.2484
+ 3012.9414 2347.7404
+ 24489645.5904 1346273.35849 1062123.46045 24489645.9044 24489653.7894
+ -2626.5004 -2046.6294
+ 21490551.3704 -17050222.56349 -13271330.10447 21490551.6004 21490557.3024
+ 2554.9864 1990.9004
+ 05 1 20 23 35 30.0000000 0 10G 6G27G10G 4G 2G17G26G21G30G29
+ 21755976.8094 -17150570.97049 -13110774.67547 21755976.2994 21755981.9934
+ 1654.9444 1289.5744
+ -14862.46441 -2493.651 3 25502295.884
+ 603.3594 475.077
+ 20465329.4584 -14742291.69949 -11475424.24748 20465328.5214 20465334.3874
+ -1339.6334 -1043.8694
+ 24702424.5674 -1495068.96649 -1147090.43344 24702415.1654 24702421.3484
+ -2781.3734 -2167.2954
+ 21439827.4544 -21742851.41049 -16929019.89047 21439827.2894 21439830.5664
+ -1980.2034 -1543.0154
+ 20589230.6384 -26298650.82149 -20465732.99648 20589230.1604 20589236.3114
+ .1414 .1144
+ 22159102.7414 -12610445.91549 -9801642.72347 22159102.4084 22159108.6694
+ 3694.3294 2878.6914
+ 24960314.6364 -2587367.69249 -2003632.96245 24960316.5764 24960318.0044
+ 3014.5204 2348.9774
+ 24504650.2954 1425122.50749 1123564.34945 24504650.8764 24504657.8384
+ -2630.1004 -2049.4274
+ 21476007.9034 -17126656.93749 -13330889.34247 21476007.5164 21476012.3794
+ 2540.7304 1979.7944
+ 05 1 20 23 36 0.0000000 0 10G 6G27G10G 4G 2G17G26G21G30G29
+ 21746573.4524 -17199982.22649 -13149276.94247 21746573.6134 21746579.1844
+ 1638.8854 1277.0524
+ -32773.31541 -2493.651 3 25502295.884
+ 590.7084 475.077
+ 20473008.0734 -14701939.10049 -11443980.65448 20473007.3614 20473013.2234
+ -1350.5394 -1052.3694
+ 24718315.0794 -1411580.23648 -1082034.39044 24718307.5194 24718305.0344
+ -2784.4024 -2169.6444
+ 21451158.7544 -21683302.99249 -16882618.52347 21451158.8394 21451162.1164
+ -1989.6964 -1550.4164
+ 20589256.1774 -26298514.90849 -20465627.08748 20589255.9814 20589261.7564
+ -9.2284 -7.1914
+ 22138041.1214 -12721130.37449 -9887890.31647 22138040.5434 22138046.6954
+ 3684.6094 2871.1184
+ 24943100.1344 -2677829.15449 -2074122.36845 24943098.3554 24943101.3074
+ 3016.0734 2350.1844
+ 24519677.7844 1504080.42049 1185089.91845 24519677.7074 24519681.8164
+ -2633.6644 -2052.2094
+ 21461543.4834 -17202662.14449 -13390114.14647 21461543.9704 21461548.9214
+ 2526.3724 1968.5964
+ 05 1 20 23 36 30.0000000 0 10G 6G27G10G 4G 2G17G26G21G30G29
+ 21737262.7674 -17248911.10849 -13187403.31947 21737262.3584 21737268.0664
+ 1622.7424 1264.4764
+ -50301.60741 -36073.420 4 25494023.383
+ 577.8864 451.032
+ 20480749.1754 -14661260.35949 -11412282.92848 20480748.0334 20480754.2694
+ -1361.3984 -1060.8294
+ 24734200.4784 -1328002.99358 -1016909.27954 24734205.3854 24734214.4474
+ -2787.4944 -2172.0724
+ 21462545.4604 -21623469.80349 -16835995.26447 21462544.9024 21462548.3564
+ -1999.2014 -1557.8194
+ 20589335.4304 -26298098.29349 -20465302.44248 20589334.8654 20589341.2964
+ -18.6094 -14.5014
+ 22117033.9654 -12831521.87349 -9973909.62647 22117034.2904 22117039.8224
+ 3674.7884 2863.4714
+ 24925875.9634 -2768338.82549 -2144649.28145 24925874.3184 24925884.8494
+ 3017.7754 2351.5104
+ 24534721.6654 1583144.01449 1246697.90745 24534721.1544 24534727.8004
+ -2637.1504 -2054.9234
+ 21447162.3484 -17278235.82149 -13449002.68547 21447162.5254 21447167.8544
+ 2511.9324 1957.3494
+ 05 1 20 23 37 0.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21728043.6034 -17297355.78749 -13225152.40047 21728043.7444 21728049.4184
+ 1606.5984 1251.8934
+ 20488551.8974 -14620257.09849 -11380332.32748 20488551.1344 20488556.8904
+ -1372.1804 -1069.2304
+ 24750128.8134 -1244337.12248 -951714.98944 24750127.9884 24750135.7874
+ -2790.2694 -2174.2354
+ 21473986.0804 -21563351.84749 -16789150.10447 21473985.0694 21473987.6554
+ -2008.6894 -1565.2124
+ 20589468.4804 -26297399.80249 -20464758.15548 20589468.2904 20589474.4054
+ -28.0074 -21.8214
+ 22096083.7034 -12941617.15249 -10059698.10547 22096082.8084 22096089.4564
+ 3664.8704 2855.7434
+ 24908642.5694 -2858896.09849 -2215213.34145 24908641.8504 24908648.8364
+ 3019.3994 2352.7784
+ 24549787.3954 1662310.15149 1308385.81745 24549786.3584 24549790.4144
+ -2640.4984 -2057.5374
+ 21432863.8624 -17353375.59849 -13507553.12647 21432864.0054 21432868.8914
+ 2497.4144 1946.0414
+ 05 1 20 23 37 30.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21718918.4504 -17345314.39849 -13262522.73447 21718917.9474 21718923.3304
+ 1590.3594 1239.2444
+ 20496415.8674 -14578931.21549 -11348130.33148 20496415.1274 20496420.8664
+ -1382.8844 -1077.5684
+ 24766076.0984 -1160582.98548 -886451.98944 24766073.4664 24766082.1274
+ -2793.3294 -2176.6164
+ 21485478.3474 -21502949.47349 -16742083.32347 21485478.6424 21485482.2344
+ -2018.1684 -1572.5954
+ 20589655.6524 -26296418.43349 -20463993.44848 20589654.7814 20589661.0074
+ -37.4634 -29.1874
+ 22075190.0034 -13051412.57549 -10145252.95247 22075190.3254 22075195.3424
+ 3654.7964 2847.8954
+ 24891398.2954 -2949500.00949 -2285813.78145 24891397.6564 24891404.4354
+ 3020.8644 2353.9134
+ 24564868.4634 1741575.70849 1370151.20745 24564869.3344 24564875.4674
+ -2643.7494 -2060.0694
+ 21418648.4504 -17428079.04649 -13565763.58747 21418648.2324 21418653.8484
+ 2482.8564 1934.6984
+ 05 1 20 23 38 0.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21709884.7974 -17392785.07749 -13299512.86347 21709884.5394 21709889.6314
+ 1574.0804 1226.5534
+ 20504341.1524 -14537284.20049 -11315678.10348 20504340.1954 20504346.1394
+ -1393.5664 -1085.8974
+ 24782029.7564 -1076741.14648 -821120.71244 24782025.2394
+ -2796.1374 -2178.8184
+ 21497027.3534 -21442262.91849 -16694795.11347 21497027.1474 21497030.4584
+ -2027.6094 -1579.9594
+ 20589895.5634 -26295153.43449 -20463007.72648 20589895.3204 20589901.4924
+ -46.9504 -36.5884
+ 22054354.4794 -13160904.96949 -10230571.66247 22054354.0434 22054359.6124
+ 3644.6504 2839.9884
+ 24874155.3244 -3040149.82149 -2356450.01545 24874153.8614 24874157.1324
+ 3022.4584 2355.1594
+ 24579971.3634 1820937.88349 1431991.82345 24579972.2504 24579979.2374
+ -2646.9294 -2062.5374
+ 21404515.7504 -17502343.81449 -13623632.20947 21404516.1794 21404521.3834
+ 2468.1734 1923.2544
+ 05 1 20 23 38 30.0000000 0 9G 6G10G 4G 2G17G26G21G30G29
+ 21700945.0844 -17439766.07849 -13336121.40347 21700943.8214 21700949.8794
+ 1557.6914 1213.7814
+ 20512326.9154 -14495317.87449 -11282977.06048 20512326.1134 20512331.8714
+ -1404.1734 -1094.1664
+ 24797997.2884 -992811.44658 -755720.93354
+ -2799.1144 -2181.1154
+ 21508629.2184 -21381292.56049 -16647285.74247 21508629.2954 21508633.4534
+ -2037.1004 -1587.3564
+ 20590191.0224 -26293603.57449 -20461800.02948 20590190.5254 20590196.6894
+ -56.4264 -43.9744
+ 22033575.1894 -13270091.17749 -10315651.79547 22033575.8534 22033582.4304
+ 3634.3784 2831.9794
+ 24856893.2524 -3130845.53349 -2427121.96045 24856892.5404 24856897.4614
+ 3023.9294 2356.3074
+ 24595095.3094 1900393.43349 1493905.20145 24595094.8774 24595097.8094
+ -2650.0084 -2064.9414
+ 21390468.2524 -17576167.87649 -13681157.41547 21390467.9504 21390473.2334
+ 2453.4384 1911.7664
+ 05 1 20 23 39 0.0000000 0 8G 6G10G 2G17G26G21G30G29
+ 21692097.5654 -17486255.68049 -13372347.05847 21692097.3334 21692103.2884
+ 1541.3104 1201.0254
+ 20520373.2554 -14453034.10049 -11250028.65848 20520372.6034 20520378.3414
+ -1414.7394 -1102.3934
+ 21520286.2284 -21320038.52949 -16599555.33247 21520286.2184 21520289.2944
+ -2046.5444 -1594.7114
+ 20590540.7324 -26291768.19149 -20460369.85648 20590539.6334 20590545.7594
+ -65.9604 -51.4014
+ 22012857.9764 -13378967.64249 -10400490.54547 22012857.9784 22012863.5594
+ 3623.9894 2823.8894
+ 24839627.2784 -3221586.12749 -2497828.87945 24839625.0374 24839632.9294
+ 3025.3974 2357.4584
+ 24610230.4874 1979939.29849 1555888.99145 24610229.3694 24610235.9294
+ -2652.9814 -2067.2594
+ 21376503.8544 -17649548.50949 -13738337.11547 21376504.1264 21376508.9964
+ 2438.6234 1900.2224
+ 05 1 20 23 39 30.0000000 0 8G 6G10G 2G17G26G21G30G29
+ 21683344.4524 -17532252.22449 -13408188.49447 21683344.0894 21683350.3124
+ 1524.8574 1188.2064
+ 20528479.6324 -14410434.63849 -11216834.26848 20528478.7664 20528484.7214
+ -1425.2134 -1110.5554
+ 21531996.5184 -21258500.99249 -16551603.99447 21531996.1984 21531998.7374
+ -2055.9854 -1602.0684
+ 20590943.4834 -26289646.25149 -20458716.39048 20590943.2274 20590949.2894
+ -75.5124 -58.8384
+ 21992198.7564 -13487531.06749 -10485085.37347 21992198.8514 21992205.0274
+ 3613.5134 2815.7264
+ 24822349.6864 -3312371.14649 -2568570.48345 24822349.3234 24822355.1634
+ 3026.8704 2358.6014
+ 24625379.6154 2059572.63549 1617940.95845 24625381.7264 24625390.5774
+ -2655.7884 -2069.4514
+ 21362624.6544 -17722483.47649 -13795169.52147 21362625.1704 21362630.4054
+ 2423.7294 1888.6214
+ 05 1 20 23 40 0.0000000 0 8G 6G10G 2G17G26G21G30G29
+ 21674685.6834 -17577753.78249 -13443644.24147 21674685.3584 21674691.2714
+ 1508.3074 1175.3064
+ 20536645.6354 -14367521.22249 -11183395.23548 20536645.1144 20536650.8754
+ -1435.6424 -1118.6764
+ 21543760.0174 -21196680.30849 -16503432.04147 21543759.8604 21543763.7064
+ -2065.4104 -1609.4084
+ 20591402.4254 -26287236.74449 -20456838.84548 20591401.8924 20591408.1394
+ -85.1424 -66.3424
+ 21971600.9614 -13595778.27449 -10569433.81747 21971600.3634 21971606.4704
+ 3602.9184 2807.4634
+ 24805066.9084 -3403200.02249 -2639346.21045 24805065.5414 24805070.4234
+ 3028.4204 2359.8114
+ 24640550.4564 2139290.23849 1680058.57545 24640551.5274 24640559.3314
+ -2658.5714 -2071.6114
+ 21348831.0454 -17794970.69249 -13851653.04047 21348831.0334 21348836.3234
+ 2408.7924 1876.9874
+ 05 1 20 23 40 30.0000000 0 8G 6G10G 2G17G26G21G30G29
+ 21666121.8014 -17622758.52649 -13478712.85447 21666121.3324 21666127.3654
+ 1491.7204 1162.3844
+ 20544871.4834 -14324295.70149 -11149713.00248 20544870.6894 20544876.4984
+ -1446.0224 -1126.7654
+ 21555578.9714 -21134576.78349 -16455039.69647 21555578.1784 21555581.2604
+ -2074.8264 -1616.7474
+ 20591915.8304 -26284538.73549 -20454736.49148 20591915.2394 20591921.5194
+ -94.7814 -73.8514
+ 21951061.7464 -13703706.04649 -10653533.33247 21951062.2264 21951068.1994
+ 3592.2244 2799.1414
+ 24787776.4234 -3494071.95149 -2710155.51945 24787774.2414 24787778.1954
+ 3029.7614 2360.8534
+ 24655739.2214 2219089.20649 1742239.56445 24655737.3384 24655743.7484
+ -2661.2594 -2073.7084
+ 21335122.7084 -17867007.81949 -13907785.84247 21335122.7344 21335127.6894
+ 2393.7104 1865.2304
+ 05 1 20 23 41 0.0000000 0 8G 6G10G 2G17G26G21G30G29
+ 21657652.5334 -17667265.00549 -13513393.19847 21657652.0734 21657658.3744
+ 1475.0914 1149.4214
+ 20553155.6394 -14280759.98649 -11115789.06248 20553155.1414 20553160.8434
+ -1456.3544 -1134.8214
+ 21567448.8514 -21072190.77349 -16406427.22547 21567449.3434 21567452.7524
+ -2084.2594 -1624.1024
+ 20592484.3224 -26281551.32849 -20452408.62848 20592483.9034 20592489.8404
+ -104.4564 -81.3934
+ 21930585.5424 -13811310.76849 -10737381.12447 21930585.9304 21930591.8754
+ 3581.3864 2790.6914
+ 24770472.3534 -3584986.67449 -2780998.14245 24770472.0804 24770478.4864
+ 3031.1234 2361.9144
+ 24670938.7634 2298966.45749 1804481.55145 24670938.4114 24670942.8214
+ -2663.7844 -2075.6784
+ 21321500.0854 -17938592.53549 -13963566.11047 21321500.2184 21321505.7594
+ 2378.6094 1853.4584
+ 05 1 20 23 41 30.0000000 0 8G 6G10G 2G17G26G21G30G29
+ 21649278.4814 -17711271.32649 -13547683.82647 21649278.3044 21649283.8254
+ 1458.3864 1136.3994
+ 20561499.4424 -14236915.79049 -11081624.74548 20561498.3934 20561504.1764
+ -1466.6074 -1142.8174
+ 21579375.9754 -21009522.47549 -16357594.78447 21579375.1544 21579378.5034
+ -2093.6524 -1631.4244
+ 20593108.4804 -26278273.34349 -20449854.35648 20593107.8014 20593113.5284
+ -114.1524 -88.9564
+ 21910171.1044 -13918589.25249 -10820974.70847 21910171.3594 21910177.1464
+ 3570.4124 2782.1434
+ 24753163.1224 -3675943.14249 -2851873.33745 24753164.0984 24753170.5684
+ 3032.6054 2363.0694
+ 24686153.9354 2378918.81749 1866782.09445 24686153.3834 24686157.9374
+ -2666.2424 -2077.5924
+ 21307964.8674 -18009722.54349 -14018992.07147 21307965.0834 21307969.9954
+ 2363.4064 1841.6104
+ 05 1 20 23 42 0.0000000 0 8G 6G10G 2G17G26G21G30G29
+ 21641000.3164 -17754775.88149 -13581583.47047 21640999.9504 21641005.0764
+ 1441.6314 1123.3454
+ 20569900.5964 -14192764.61249 -11047221.22748 20569899.9394 20569906.1434
+ -1476.8164 -1150.7684
+ 21591355.0994 -20946572.07649 -16308542.53847 21591354.6034 21591357.2534
+ -2103.0624 -1638.7534
+ 20593787.6604 -26274704.03149 -20447073.06648 20593786.9654 20593792.8344
+ -123.8824 -96.5354
+ 21889819.6194 -14025538.21149 -10904311.49747 21889819.4554 21889824.7334
+ 3559.4264 2773.5694
+ 24735848.6454 -3766940.94549 -2922780.73145 24735848.6484 24735851.7084
+ 3033.9164 2364.0994
+ 24701379.2404 2458943.43949 1929138.94345 24701380.2504 24701387.0874
+ -2668.6004 -2079.4314
+ 21294516.6614 -18080395.82949 -14074062.13847 21294516.1504 21294521.6484
+ 2348.1714 1829.7434
+ 05 1 20 23 42 30.0000000 0 8G 6G10G 2G17G26G21G30G29
+ 21632816.4734 -17797777.04649 -13615090.85647 21632816.6804 21632822.4174
+ 1424.8244 1110.2514
+ 20578360.7944 -14148308.34949 -11012579.98348 20578359.9914 20578365.8444
+ -1486.9314 -1158.6484
+ 21603385.3204 -20883339.84949 -16259270.66847 21603386.1104 21603390.7734
+ -2112.4094 -1646.0334
+ 20594522.4574 -26270842.31649 -20444063.92748 20594521.7364 20594527.8454
+ -133.6424 -104.1384
+ 21869530.4454 -14132154.39849 -10987389.01447 21869531.1024 21869536.0444
+ 3548.2564 2764.8834
+ 24718524.3824 -3857979.32849 -2993719.72745 24718524.3644 24718530.0504
+ 3035.3034 2365.1684
+ 24716622.1164 2539037.25749 1991549.70845 24716621.9394 24716629.2494
+ -2670.8684 -2081.1914
+ 21281154.6964 -18150609.96949 -14128774.43447 21281154.8424 21281160.0544
+ 2332.8404 1817.7984
+ 05 1 20 23 43 0.0000000 0 8G 6G10G 2G17G26G21G30G29
+ 21624730.0704 -17840273.08649 -13648204.63047 21624729.9624 21624735.7554
+ 1407.9574 1097.1144
+ 20586877.2624 -14103548.94449 -10977702.51348 20586877.0564 20586882.9054
+ -1497.0204 -1166.5034
+ 21615472.5154 -20819826.22749 -16209779.53347 21615472.5924 21615476.4434
+ -2121.8184 -1653.3644
+ 20595313.0614 -26266687.43349 -20440826.35148 20595312.4204 20595318.7134
+ -143.4284 -111.7604
+ 21849306.9484 -14238434.48749 -11070204.62747 21849306.7444 21849312.1744
+ 3537.0474 2756.1404
+ 24701192.4514 -3949057.62249 -3064689.82145 24701190.4204 24701197.5164
+ 3036.5814 2366.1614
+ 24731877.6704 2619197.37049 2054012.09645 24731877.7594 24731882.5894
+ -2673.0674 -2082.9094
+ 21267881.4164 -18220363.05449 -14183127.45147 21267881.5114 21267886.8334
+ 2317.4164 1805.7804
+ 05 1 20 23 43 30.0000000 0 8G 6G10G 2G17G26G21G30G29
+ 21616739.5154 -17882262.43249 -13680923.58547 21616739.3134 21616745.2604
+ 1391.0124 1083.9014
+ 20595452.8194 -14058487.98649 -10942590.07448 20595452.0054 20595458.2144
+ -1507.0614 -1174.3324
+ 21627613.7854 -20756031.60149 -16160069.45547 21627613.2804 21627615.0094
+ -2131.1994 -1660.6734
+ 20596158.8444 -26262238.29349 -20437359.48448 20596158.7254 20596164.7834
+ -153.2584 -119.4224
+ 21829146.8494 -14344375.24849 -11152755.83247 21829146.8404 21829151.9574
+ 3525.6514 2747.2614
+ 24683852.5244 -4040175.41249 -3135690.71945 24683852.3314 24683858.5864
+ 3037.8994 2367.1944
+ 24747144.6364 2699420.53649 2116523.64145 24747143.7484 24747147.7124
+ -2675.1394 -2084.5164
+ 21254695.9244 -18289652.60449 -14237119.29147 21254695.7074 21254701.4494
+ 2301.9044 1793.6914
+ 05 1 20 23 44 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21608846.3334 -17923743.33449 -13713246.34647 21608846.1344 21608851.5444
+ 1374.0564 1070.6984
+ 20604084.7164 -14013127.33149 -10907244.10348 20604083.6234 20604089.7874
+ -1517.0034 -1182.0774
+ 21639807.4074 -20691955.87149 -16110140.30347 21639806.2574 21639809.6784
+ -2140.5414 -1667.9574
+ 20597062.1564 -26257494.03549 -20433662.64748 20597061.6124 20597068.0934
+ -163.0884 -127.0794
+ 21809052.7384 -14449973.25449 -11235039.94147 21809052.6464 21809057.9594
+ 3514.1854 2738.3204
+ 24666509.8894 -4131331.54449 -3206721.48245 24666507.2724 24666512.8654
+ 3039.1364 2368.1584
+ 24762417.7374 2779703.85849 2179082.07445 24762419.0664 24762426.4404
+ -2676.9854 -2085.9614
+ 21241598.9124 -18358476.75149 -14290748.47147 21241598.9904 21241604.2584
+ 2286.4014 1781.6114
+ 25236254.2484 -30398.17949 -11379.99743
+ 1768.0554 1377.7054
+ 05 1 20 23 44 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21601049.8224 -17964714.41849 -13745171.85747 21601049.5474 21601054.9424
+ 1357.0334 1057.4274
+ 20612772.9614 -13967468.86349 -10871666.07448 20612772.4394 20612778.2474
+ -1526.8894 -1189.7854
+ 21652051.7824 -20627599.66549 -16059992.61547 21652052.0714 21652055.8474
+ -2149.8944 -1675.2404
+ 20598021.5734 -26252453.68949 -20429735.09448 20598020.7864 20598027.0774
+ -172.9834 -134.7944
+ 21789023.4084 -14555225.48249 -11317054.62847 21789023.1624 21789029.0024
+ 3502.6034 2729.3024
+ 24649156.0394 -4222525.61149 -3277781.77545 24649153.3304 24649159.1054
+ 3040.4154 2369.1524
+ 24777705.8414 2860044.36949 2241685.06245 24777706.8624 24777714.0624
+ -2678.9084 -2087.4674
+ 21228591.5114 -18426833.05949 -14344013.09947 21228591.3104 21228596.6044
+ 2270.7654 1769.4264
+ 25226192.7394 -83276.95549 -52584.27745
+ 1757.2074 1369.2504
+ 05 1 20 23 45 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21593350.2024 -18005173.98049 -13776698.78347 21593350.3194 21593355.7714
+ 1339.9614 1044.1184
+ 20621518.1474 -13921514.28449 -10835857.30148 20621517.3554 20621523.1904
+ -1536.7514 -1197.4694
+ 21664352.2354 -20562963.39949 -16009626.69047 21664352.0814 21664355.7994
+ -2159.2254 -1682.5114
+ 20599036.9564 -26247116.22749 -20425576.03048 20599036.3914 20599042.5814
+ -182.9104 -142.5284
+ 21769060.6274 -14660128.48749 -11398797.19347 21769060.9614 21769066.6654
+ 3490.8944 2720.1744
+ 24631792.0984 -4313756.95249 -3348871.13545 24631791.3674 24631798.8014
+ 3041.6384 2370.1014
+ 24793003.0184 2940439.09849 2304330.30845 24793005.3654 24793012.8654
+ -2680.7524 -2088.8954
+ 21215672.9474 -18494719.42649 -14396911.54247 21215672.9654 21215678.2484
+ 2255.0574 1757.1874
+ 25216190.3804 -135829.09149 -93533.94045 25216198.7944
+ 1746.2744 1360.7304
+ 05 1 20 23 45 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21585748.8194 -18045120.42849 -13807825.86347 21585748.3814 21585754.4384
+ 1322.8654 1030.8044
+ 20630319.0424 -13875265.28849 -10799819.11948 20630318.2664 20630324.2344
+ -1546.5254 -1205.0844
+ 21676705.5114 -20498047.28349 -15959042.72147 21676705.3804 21676708.7044
+ -2168.5374 -1689.7684
+ 20600109.4924 -26241480.74649 -20421184.73948 20600108.9404 20600115.1014
+ -192.8614 -150.2824
+ 21749165.1824 -14764679.00349 -11480265.09947 21749165.5114 21749171.6104
+ 3479.0974 2710.9814
+ 24614423.9874 -4405024.52949 -3419988.74145 24614423.3514 24614429.8434
+ 3042.8564 2371.0564
+ 24808312.5744 3020885.04149 2367015.41645 24808313.1874 24808321.0044
+ -2682.3494 -2090.1354
+ 21202844.4314 -18562133.83749 -14449442.22847 21202844.5404 21202849.3894
+ 2239.3084 1744.9204
+ 25206254.8784 -188051.87849 -134226.97345 25206253.5354 25206259.8214
+ 1735.2314 1352.1264
+ 05 1 20 23 46 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21578245.5504 -18084552.12749 -13838551.85248 21578245.2574 21578251.1774
+ 1305.6674 1017.3994
+ 20639175.7014 -13828723.57349 -10763552.84048 20639174.8754 20639180.4714
+ -1556.2354 -1212.6544
+ 21689112.6364 -20432851.62749 -15908240.90347 21689111.7354 21689115.6164
+ -2177.8624 -1697.0354
+ 20601239.3474 -26235546.48649 -20416560.63748 20601238.4394 20601244.2944
+ -202.8144 -158.0384
+ 21729337.7014 -14868873.86849 -11561455.86747 21729337.2244 21729344.2304
+ 3467.1774 2701.7004
+ 24597050.6664 -4496328.09749 -3491134.35545 24597050.7774 24597056.4714
+ 3044.1134 2372.0374
+ 24823633.3664 3101379.16249 2429738.10945 24823632.8894 24823638.1814
+ -2683.8324 -2091.3004
+ 21190106.3354 -18629074.32749 -14501603.63147 21190106.3044 21190111.2594
+ 2223.4724 1732.5724
+ 25196380.6724 -239943.08849 -174661.63445 25196379.4904 25196383.7194
+ 1724.1444 1343.4884
+ 05 1 20 23 46 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21570840.2694 -18123467.63149 -13868875.60847 21570839.9614 21570845.5524
+ 1288.4454 1003.9854
+ 20648087.4444 -13781890.73749 -10727059.71348 20648086.7554 20648092.8084
+ -1565.9144 -1220.1934
+ 21701571.7674 -20367376.61349 -15857221.42447 21701571.3364 21701575.0404
+ -2187.1544 -1704.2724
+ 20602425.3824 -26229312.28749 -20411702.81148 20602424.6024 20602430.4184
+ -212.8714 -165.8764
+ 21709578.7894 -14972709.69549 -11642366.87447 21709579.0354 21709584.6374
+ 3455.1584 2692.3214
+ 24579672.5004 -4587666.76149 -3562307.32545 24579668.6904 24579675.3804
+ 3045.1844 2372.8714
+ 24838958.0354 3181918.47749 2492495.99445 24838959.1414 24838965.9474
+ -2685.3944 -2092.5164
+ 21177458.5884 -18695538.61449 -14553393.95647 21177458.7034 21177463.9254
+ 2207.5464 1720.1624
+ 25186569.8994 -291499.83549 -214835.67345 25186568.7604 25186574.1514
+ 1713.0264 1334.8284
+ 05 1 20 23 47 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21563532.8274 -18161865.37649 -13898795.91947 21563533.0624 21563538.4854
+ 1271.1384 990.5014
+ 20657054.6034 -13734768.89649 -10690341.39448 20657053.8144 20657059.9364
+ -1575.5394 -1227.6914
+ 21714085.3444 -20301622.79149 -15805984.66547 21714084.1624 21714087.1374
+ -2196.4514 -1711.5184
+ 20603668.9494 -26222777.15249 -20406610.49448 20603668.4644 20603674.2144
+ -222.8844 -173.6744
+ 21689888.2004 -15076183.49249 -11722995.77347 21689888.1494 21689893.8584
+ 3443.0414 2682.8844
+ 24562281.0474 -4679039.72149 -3633506.99845 24562280.9734 24562287.2004
+ 3046.3414 2373.7774
+ 24854293.7294 3262500.00249 2555286.78645 24854291.8314 24854298.2974
+ -2686.7314 -2093.5544
+ 21164901.4744 -18761524.75849 -14604811.70147 21164901.4814 21164906.5874
+ 2191.6074 1707.7474
+ 25176821.8704 -342719.85549 -254747.34545 25176821.3354 25176826.9894
+ 1701.6994 1325.9974
+ 05 1 20 23 47 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21556325.5264 -18199743.88249 -13928311.62747 21556324.7114 21556330.8924
+ 1253.8094 976.9964
+ 20666076.0684 -13687359.91149 -10653399.31948 20666075.3784 20666081.2964
+ -1585.0704 -1235.1204
+ 21726650.4294 -20235590.16049 -15754530.69047 21726650.2444 21726653.1064
+ -2205.7294 -1718.7454
+ 20604969.9814 -26215940.38449 -20401283.13648 20604969.0774 20604975.5424
+ -232.9564 -181.5204
+ 21670267.4804 -15179291.68249 -11803339.78147 21670267.4324 21670272.2364
+ 3430.8134 2673.3614
+ 24544885.1824 -4770446.33849 -3704732.91945 24544887.1694 24544893.7524
+ 3047.4334 2374.6254
+ 24869633.6074 3343120.81049 2618108.19545 24869634.6134 24869641.7204
+ -2687.9334 -2094.4874
+ 21152436.1804 -18827030.70949 -14655855.28347 21152436.1814 21152441.5144
+ 2175.5414 1695.2284
+ 25167136.0904 -393599.64449 -294393.87045 25167137.2094 25167147.4694
+ 1690.2734 1317.0994
+ 05 1 20 23 48 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21549215.3354 -18237101.63549 -13957421.55747 21549216.0074 21549221.4004
+ 1236.4214 963.4424
+ 20675152.3524 -13639665.31249 -10616234.68948 20675151.3684 20675157.2364
+ -1594.5774 -1242.5304
+ 21739267.7724 -20169279.39349 -15702859.96747 21739267.7744 21739271.3594
+ -2215.0074 -1725.9754
+ 20606328.0124 -26208801.05249 -20395720.00948 20606327.5234 20606333.6754
+ -243.0784 -189.4114
+ 21650716.5394 -15282031.21649 -11883396.52947 21650716.6464 21650721.6204
+ 3418.4464 2663.7244
+ 24527486.2064 -4861885.91849 -3775984.54145 24527485.3314 24527492.2944
+ 3048.5484 2375.4834
+ 24884983.1154 3423777.97049 2680957.91545 24884983.5824 24884990.1424
+ -2689.1154 -2095.4164
+ 21140061.8244 -18892054.45549 -14706523.10947 21140062.5374 21140067.6354
+ 2159.4274 1682.6664
+ 25157523.3274 -444138.09349 -333774.50745 25157523.0334 25157526.4934
+ 1678.8734 1308.2104
+ 05 1 20 23 48 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21542206.4594 -18273937.26449 -13986124.63747 21542206.2014 21542211.7004
+ 1218.9904 949.8744
+ 20684282.0684 -13591686.81749 -10578848.84448 20684281.3574 20684287.3904
+ -1604.0114 -1249.8794
+ 21751939.8044 -20102690.89049 -15650972.81947 21751939.7884 21751942.5954
+ -2224.2384 -1733.1704
+ 20607744.4104 -26201357.95849 -20389920.19348 20607744.1594 20607750.2924
+ -253.2254 -197.3164
+ 21631236.4034 -15384398.89249 -11963163.52747 21631236.9264 21631242.1014
+ 3406.0104 2654.0394
+ 24510081.3384 -4953357.61749 -3847261.17045 24510079.7684 24510086.2154
+ 3049.5634 2376.2734
+ 24900338.0854 3504468.45049 2743833.57745 24900338.4804 24900345.5514
+ -2690.1874 -2096.2454
+ 21127781.3504 -18956593.89949 -14756813.56747 21127780.9984 21127785.8794
+ 2143.2464 1670.0634
+ 25147972.0714 -494332.71249 -372887.10945 25147970.4204 25147975.3754
+ 1667.2924 1299.1834
+ 05 1 20 23 49 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21535295.8444 -18310249.17549 -14014419.61347 21535296.0854 21535301.9054
+ 1201.5204 936.2504
+ 20693465.5334 -13543426.07149 -10541243.06048 20693465.0164 20693471.0594
+ -1613.3854 -1257.1824
+ 21764663.6064 -20035824.96949 -15598869.50847 21764663.1724 21764666.9064
+ -2233.4864 -1740.3744
+ 20609218.8364 -26193610.32349 -20383883.06948 20609218.2044 20609224.4714
+ -263.3644 -205.2174
+ 21611828.2554 -15486391.62449 -12042638.33247 21611828.1634 21611833.9074
+ 3393.4774 2644.2624
+ 24492670.2444 -5044860.70149 -3918562.24845 24492668.4594 24492675.1024
+ 3050.6324 2377.1164
+ 24915697.5974 3585189.24549 2806732.91945 24915697.3584 24915702.1414
+ -2691.1074 -2096.9684
+ 21115592.1294 -19020647.10549 -14806725.12047 21115592.1534 21115597.4264
+ 2127.0174 1657.4154
+ 25138485.3244 -544178.01349 -411727.54845 25138485.1914 25138491.5364
+ 1655.7274 1290.1774
+ 05 1 20 23 49 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21528487.0954 -18346036.02649 -14042305.47047 21528486.4094 21528491.7424
+ 1183.9854 922.5804
+ 20702703.1804 -13494884.95849 -10503418.81248 20702702.3234 20702708.1704
+ -1622.6914 -1264.4384
+ 21777440.8244 -19968681.69549 -15546550.07347 21777440.4204 21777443.9524
+ -2242.7184 -1747.5764
+ 20610751.5444 -26185557.25549 -20377607.95048 20610750.9264 20610756.6044
+ -273.5404 -213.1494
+ 21592490.5974 -15588005.76049 -12121818.16247 21592491.1664 21592497.3264
+ 3380.8334 2634.4154
+ 24475250.9794 -5136394.40749 -3989887.15745 24475249.8334 24475254.5364
+ 3051.6514 2377.9134
+ 24931066.1764 3665937.54949 2869653.63245 24931065.4224 24931071.2614
+ -2691.9384 -2097.6094
+ 21103495.7934 -19084212.17849 -14856256.32147 21103495.8784 21103501.0064
+ 2110.7204 1644.7194
+ 25129063.9734 -593674.62349 -450296.32845 25129063.1824 25129072.0804
+ 1643.9984 1281.0384
+ 05 1 20 23 50 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21521776.2944 -18381296.40349 -14069781.07247 21521776.2814 21521782.2404
+ 1166.4364 908.9094
+ 20711993.0244 -13446065.24149 -10465377.46748 20711992.2534 20711998.0714
+ -1631.9504 -1271.6504
+ 21790270.0964 -19901261.72649 -15494015.03547 21790270.4294 21790273.3384
+ -2251.9494 -1754.7614
+ 20612342.4094 -26177197.74849 -20371094.04148 20612341.8564 20612347.6534
+ -283.8024 -221.1454
+ 21573228.4074 -15689238.61449 -12200700.87847 21573227.9094 21573233.1474
+ 3368.0424 2624.4484
+ 24457825.4044 -5227958.27249 -4061235.56645 24457824.9294 24457831.6884
+ 3052.6344 2378.6744
+ 24946436.0754 3746710.30049 2932593.41045 24946434.1194 24946440.3404
+ -2692.8244 -2098.3064
+ 21091492.9804 -19147287.09749 -14905405.58647 21091493.2734 21091498.7714
+ 2094.3604 1631.9654
+ 25119713.9014 -642818.78149 -488590.49445 25119714.2224 25119722.1464
+ 1632.2334 1271.8724
+ 05 1 20 23 50 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21515167.9394 -18416028.84549 -14096845.29947 21515167.1504 21515172.6984
+ 1148.8004 895.1694
+ 20721335.9794 -13396968.55149 -10427120.29948 20721335.1084 20721340.7454
+ -1641.1554 -1278.8184
+ 21803151.9464 -19833565.21649 -15441264.52147 21803152.0664 21803155.7864
+ -2261.1854 -1761.9624
+ 20613990.7984 -26168530.84949 -20364340.61048 20613990.4994 20613997.0354
+ -294.0624 -229.1364
+ 21554036.5564 -15790086.56049 -12279283.66347 21554037.2294 21554042.4064
+ 3355.1414 2614.3974
+ 24440399.5494 -5319550.79949 -4132606.37745 24440395.9594 24440400.7174
+ 3053.5384 2379.3864
+ 24961808.1654 3827504.52649 2995549.94445 24961809.4194 24961816.1564
+ -2693.3204 -2098.6874
+ 21079583.8704 -19209869.89549 -14954171.37147 21079583.7414 21079589.0154
+ 2077.8754 1619.1224
+ 25110430.4914 -691608.05549 -526608.03245 25110429.6284 25110434.7604
+ 1620.3774 1262.6244
+ 05 1 20 23 51 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21508658.3484 -18450231.98549 -14123497.07748 21508658.3874 21508664.3264
+ 1131.1134 881.3854
+ 20730731.3734 -13347596.75449 -10388648.76248 20730730.4134 20730735.8874
+ -1650.3094 -1285.9554
+ 21816087.7704 -19765592.73549 -15388298.95247 21816087.4124 21816090.0554
+ -2270.3564 -1769.1094
+ 20615699.1554 -26159555.71149 -20357346.98648 20615698.5244 20615704.9614
+ -304.3174 -237.1284
+ 21534920.3504 -15890546.71549 -12357564.26647 21534919.9604 21534926.0124
+ 3342.1514 2604.2724
+ 24422963.8374 -5411171.69649 -4203999.19245 24422963.1634 24422967.4534
+ 3054.4974 2380.1344
+ 24977186.5374 3908317.42849 3058521.00145 24977187.3734 24977193.9434
+ -2694.0174 -2099.2364
+ 21067768.9074 -19271958.69349 -15002552.23048 21067768.9894 21067774.6684
+ 2061.3934 1606.2804
+ 25101212.8434 -740039.75849 -564346.99845 25101213.2644 25101219.2514
+ 1608.3864 1253.2894
+ 05 1 20 23 51 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21502250.6164 -18483904.57249 -14149735.43747 21502250.8064 21502256.1984
+ 1113.4194 867.5994
+ 20740178.5344 -13297951.65749 -10349964.26448 20740177.4624 20740183.1154
+ -1659.3874 -1293.0354
+ 21829074.5414 -19697344.62549 -15335118.62447 21829074.5304 21829077.6584
+ -2279.5484 -1776.2744
+ 20617466.0614 -26150271.37849 -20350112.43748 20617465.5164 20617471.6414
+ -314.6594 -245.1934
+ 21515877.5294 -15990615.67749 -12435540.04647 21515876.7364 21515882.8414
+ 3329.1164 2594.1124
+ 24405521.1084 -5502820.16049 -4275413.45545 24405521.7864 24405527.0124
+ 3055.4004 2380.8334
+ 24992566.6504 3989146.05349 3121504.33045 24992567.2954 24992574.4864
+ -2694.5144 -2099.6214
+ 21056048.5874 -19333551.48949 -15050546.59547 21056048.2824 21056053.2074
+ 2044.8464 1593.3844
+ 25092066.5874 -788111.44249 -601805.41245 25092065.2974 25092073.2874
+ 1596.3984 1243.9474
+ 05 1 20 23 52 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21495945.0754 -18517045.26449 -14175559.34548 21495944.4874 21495949.8634
+ 1095.6904 853.7804
+ 20749676.9924 -13248034.77349 -10311067.99148 20749676.0854 20749681.7954
+ -1668.4014 -1300.0534
+ 21842113.9964 -19628821.22549 -15281723.77747 21842113.8934 21842117.0504
+ -2288.6804 -1783.3864
+ 20619291.9334 -26140676.94549 -20342636.25348 20619291.3524 20619297.2504
+ -325.0194 -253.2594
+ 21496908.8994 -16090290.44449 -12513208.67347 21496909.2254 21496915.2134
+ 3315.8824 2583.8084
+ 24388075.7914 -5594495.25949 -4346848.49745 24388074.9724 24388080.6494
+ 3056.2624 2381.5044
+ 25007951.8324 4069987.28449 3184497.46045 25007951.9894 25007959.5854
+ -2694.8684 -2099.8974
+ 21044422.1274 -19394646.56449 -15098153.11047 21044421.9274 21044427.5194
+ 2028.2314 1580.4444
+ 25082987.7404 -835820.63849 -638981.35745 25082987.0224 25082993.0594
+ 1584.2424 1234.4704
+ 05 1 20 23 52 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21489739.1044 -18549652.60249 -14200967.64447 21489739.2714 21489744.9054
+ 1077.8804 839.9064
+ 20759227.5554 -13197847.89849 -10271961.32448 20759226.7424 20759232.5464
+ -1677.3744 -1307.0434
+ 21855206.7284 -19560022.98049 -15228114.77547 21855205.8974 21855209.2584
+ -2297.8534 -1790.5354
+ 20621177.3854 -26130771.63349 -20334917.82648 20621176.5034 20621182.0424
+ -335.3994 -261.3484
+ 21478017.3084 -16189567.61849 -12590567.48947 21478017.8544 21478023.3914
+ 3302.5594 2573.4224
+ 24370627.0404 -5686196.09049 -4418303.63145 24370625.3754 24370631.3944
+ 3057.1194 2382.1624
+ 25023338.1224 4150838.29749 3247498.23845 25023336.7194 25023344.7984
+ -2695.0994 -2100.0794
+ 21032891.2464 -19455241.89249 -15145370.22748 21032891.3814 21032896.1794
+ 2011.5344 1567.4284
+ 25073977.3504 -883164.79049 -675872.90945 25073976.7364 25073983.4854
+ 1572.0794 1224.9964
+ 05 1 20 23 53 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21483636.1194 -18581725.33149 -14225959.37248 21483636.0084 21483641.6384
+ 1060.0074 825.9794
+ 20768828.2524 -13147392.73849 -10232645.61348 20768827.9244 20768833.5804
+ -1686.2924 -1313.9904
+ 21868349.4754 -19490950.36749 -15174291.96547 21868349.8014 21868353.5234
+ -2307.0034 -1797.6634
+ 20623120.6054 -26120554.32549 -20326956.28148 20623120.3564 20623126.4644
+ -345.8254 -269.4724
+ 21459201.9444 -16288444.34349 -12667614.24447 21459201.9434 21459207.8714
+ 3289.1334 2562.9624
+ 24353172.1574 -5777922.02649 -4489778.33245 24353172.4314 24353174.6564
+ 3057.9474 2382.8134
+ 25038728.1754 4231696.34949 3310504.48745 25038725.7784 25038730.2044
+ -2695.2814 -2100.2204
+ 21021456.4044 -19515335.71249 -15192196.56348 21021456.0474 21021461.0574
+ 1994.7824 1554.3764
+ 25065041.9534 -930141.33749 -712477.99945 25065039.4124 25065043.7384
+ 1559.7114 1215.3544
+ 05 1 20 23 53 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21477635.2374 -18613262.24549 -14250533.56748 21477634.8204 21477640.4534
+ 1042.1524 812.0674
+ 20778480.3004 -13096671.02249 -10193122.19148 20778479.6304 20778485.6024
+ -1695.1424 -1320.8854
+ 21881546.3964 -19421603.62649 -15120255.55347 21881546.3184 21881549.3234
+ -2316.1134 -1804.7604
+ 20625125.1164 -26110024.05249 -20318750.86648 20625124.3934 20625130.4624
+ -356.2614 -277.6034
+ 21440463.3274 -16386917.34349 -12744346.41347 21440463.7494 21440469.2064
+ 3275.6634 2552.4684
+ 24335711.0954 -5869672.21149 -4561271.87245 24335710.9994 24335716.5204
+ 3058.7254 2383.4184
+ 25054114.6554 4312558.37649 3373513.86045 25054113.1394 25054119.4684
+ -2695.3864 -2100.2984
+ 21010115.1564 -19574926.51249 -15238630.91647 21010115.6584 21010121.2474
+ 1977.9854 1541.2904
+ 25056169.7694 -976747.97449 -748794.78145 25056169.1954 25056174.7854
+ 1547.3944 1205.7574
+ 05 1 20 23 54 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21471735.5454 -18644262.01449 -14274689.21548 21471735.6514 21471741.4534
+ 1024.2174 798.0954
+ 20788183.7794 -13045684.61849 -10153392.51748 20788182.4154 20788188.2214
+ -1703.9524 -1327.7494
+ 21894794.8864 -19351983.23949 -15066005.90847 21894793.8544 21894797.4954
+ -2325.2524 -1811.8874
+ 20627188.3974 -26099180.12949 -20310301.05648 20627187.8354 20627194.0744
+ -366.7524 -285.7804
+ 21421802.8244 -16484983.34549 -12820761.45047 21421802.3894 21421807.4074
+ 3262.0314 2541.8364
+ 24318246.4314 -5961445.61049 -4632783.55945 24318246.5714 24318252.0814
+ 3059.4754 2384.0004
+ 25069498.6434 4393421.52049 3436524.08745 25069500.1654 25069505.0674
+ -2695.3224 -2100.2554
+ 20998873.2974 -19634012.03349 -15284671.56548 20998872.8884 20998877.4204
+ 1961.1134 1528.1414
+ 25047373.8614 -1022982.07149 -784821.30245 25047373.0514 25047376.1924
+ 1534.8974 1196.0244
+ 05 1 20 23 54 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21465939.2314 -18674723.31849 -14298425.27748 21465938.9154 21465944.6744
+ 1006.2594 784.0954
+ 20797935.7174 -12994435.09849 -10113457.82448 20797934.6144 20797940.3634
+ -1712.6754 -1334.5494
+ 21908094.9154 -19282089.64649 -15011543.36547 21908094.9064 21908098.6234
+ -2334.3384 -1818.9614
+ 20629311.6704 -26088021.58549 -20301606.07948 20629311.0904 20629316.9534
+ -377.2404 -293.9544
+ 21403217.9394 -16582639.36049 -12896857.00947 21403218.6924 21403224.4054
+ 3248.3424 2531.1804
+ 24300782.1624 -6053241.65449 -4704312.85845 24300780.7384 24300783.8504
+ 3060.2144 2384.5814
+ 25084886.1654 4474282.96849 3499532.93945 25084888.3564 25084892.5334
+ -2695.2544 -2100.2054
+ 20987725.6984 -19692590.59849 -15330317.17248 20987725.5394 20987730.4784
+ 1944.1774 1514.9434
+ 25038643.8344 -1068841.11449 -820555.59145 25038642.8874 25038649.6324
+ 1522.3774 1186.2674
+ 05 1 20 23 55 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21460244.9624 -18704645.06949 -14321740.91548 21460245.1164 21460250.9054
+ 988.2414 770.0594
+ 20807737.9254 -12942924.35349 -10073319.56948 20807736.8024 20807742.5834
+ -1721.3504 -1341.3124
+ 21921447.0244 -19211923.23349 -14956868.25247 21921447.0784 21921450.4474
+ -2343.4424 -1826.0544
+ 20631495.5734 -26076547.50249 -20292665.22848 20631494.7334 20631500.8454
+ -387.7504 -302.1444
+ 21384713.6744 -16679882.15649 -12972630.58547 21384713.6264 21384719.3364
+ 3234.5174 2520.3974
+ 24283305.3384 -6145059.51649 -4775859.10045 24283306.2674 24283313.0764
+ 3060.9794 2385.1844
+ 25100270.4864 4555139.59849 3562538.06845 25100272.9714 25100279.9784
+ -2695.1384 -2100.1034
+ 20976675.4864 -19750660.51349 -15375566.42748 20976675.0684 20976680.1884
+ 1927.2044 1501.7154
+ 25029989.2224 -1114322.97449 -855995.95145 25029988.8354 25029994.8934
+ 1509.7524 1176.4284
+ 05 1 20 23 55 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21454654.5284 -18734025.96949 -14344635.10648 21454653.9734 21454659.8194
+ 970.1824 755.9864
+ 20817588.7424 -12891153.83549 -10032978.90848 20817588.2984 20817594.0984
+ -1730.0024 -1348.0554
+ 21934851.6854 -19141484.58449 -14901981.00547 21934851.3994 21934853.9574
+ -2352.5014 -1833.1214
+ 20633739.3514 -26064756.92749 -20283477.76148 20633738.4464 20633744.3364
+ -398.3324 -310.3894
+ 21366289.6034 -16776708.76849 -13048079.85947 21366289.0694 21366294.3854
+ 3220.5634 2509.5244
+ 24265828.5314 -6236898.10149 -4847421.60545 24265829.2674 24265834.6644
+ 3061.6404 2385.6914
+ 25115654.5614 4635988.67549 3625537.28945 25115658.0874 25115663.4104
+ -2694.7944 -2099.8394
+ 20965721.8284 -19808219.96549 -15420417.93348 20965721.9194 20965726.8414
+ 1910.1394 1488.4204
+ 25021409.3824 -1159425.03949 -891140.36445 25021408.2074 25021412.0464
+ 1497.0854 1166.5584
+ 05 1 20 23 56 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21449166.1924 -18762864.85949 -14367106.96348 21449166.2174 21449171.6964
+ 952.0954 741.8884
+ 20827490.3124 -12839125.34249 -9992437.22248 20827489.3214 20827494.8324
+ -1738.5824 -1354.7444
+ 21948307.4374 -19070773.94449 -14846881.82547 21948307.3544 21948310.2994
+ -2361.5784 -1840.2004
+ 20636043.0014 -26052648.92949 -20274042.95748 20636042.2784 20636048.5784
+ -408.9304 -318.6504
+ 21347942.1424 -16873115.91549 -13123202.27247 21347942.2844 21347948.0034
+ 3206.5314 2498.5954
+ 24248352.1964 -6328756.86049 -4918999.80045 24248351.0654 24248354.6514
+ 3062.2474 2386.1704
+ 25131041.5584 4716827.31249 3688528.42345 25131041.6994 25131049.7964
+ -2694.4444 -2099.5704
+ 20954865.6944 -19865267.33449 -15464870.40548 20954865.7184 20954870.8644
+ 1893.0524 1475.1034
+ 25012895.5874 -1204145.00349 -925987.03445 25012895.1214 25012903.0954
+ 1484.2404 1156.5504
+ 05 1 20 23 56 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21443781.6894 -18791160.67949 -14389155.63348 21443781.6634 21443787.1164
+ 933.9924 727.7864
+ 20837439.0454 -12786840.55849 -9951695.82848 20837438.4824 20837444.1604
+ -1747.0734 -1361.3574
+ 21961814.4104 -18999791.57749 -14791570.90847 21961814.3384 21961817.3634
+ -2370.5934 -1847.2114
+ 20638407.4054 -26040222.80949 -20264360.26048 20638407.2114 20638413.1294
+ -419.5424 -326.9134
+ 21329677.2494 -16969100.80349 -13197995.65947 21329677.3324 21329683.1884
+ 3192.4354 2487.6084
+ 24230866.0624 -6420634.68649 -4990592.79745 24230865.5924 24230870.5954
+ 3062.8694 2386.6594
+ 25146422.3544 4797652.69849 3751509.17245 25146421.1304 25146426.0684
+ -2693.9144 -2099.1624
+ 20944108.3914 -19921800.82449 -15508922.45048 20944108.0624 20944112.9554
+ 1875.9034 1461.7474
+ 25004460.9634 -1248480.59149 -960534.27545 25004459.6344 25004465.7754
+ 1471.4464 1146.5834
+ 05 1 20 23 57 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21438500.0644 -18818912.17149 -14410780.16348 21438500.7234 21438506.4524
+ 915.8464 713.6444
+ 20847436.9494 -12734301.16249 -9910756.03048 20847436.2354 20847442.3114
+ -1755.5394 -1367.9504
+ 21975373.9544 -18928538.20649 -14736048.80747 21975373.2404 21975376.4174
+ -2379.6354 -1854.2614
+ 20640833.0674 -26027477.51349 -20254428.85948 20640832.4364 20640838.6574
+ -430.2114 -335.2324
+ 21311493.2474 -17064659.99949 -13272457.33047 21311493.2694 21311498.6694
+ 3178.1854 2476.5034
+ 24213379.4314 -6512530.53849 -5062199.87345 24213378.3414 24213384.1064
+ 3063.4974 2387.1384
+ 25161802.2024 4878461.78349 3814477.31645 25161800.3954 25161806.6574
+ -2693.3154 -2098.6944
+ 20933448.1734 -19977818.98349 -15552572.94148 20933447.8364 20933453.1014
+ 1858.6824 1448.3224
+ 24996096.9804 -1292428.95549 -994779.68645 24996098.0104 24996100.4214
+ 1458.4424 1136.4404
+ 05 1 20 23 57 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21433324.2664 -18846118.26849 -14431979.70648 21433323.8464 21433329.2874
+ 897.6344 699.4574
+ 20857482.8934 -12681508.97549 -9869619.26448 20857482.3734 20857488.3134
+ -1763.9334 -1374.4934
+ 21988983.2674 -18857014.26649 -14680315.87347 21988983.4114 21988987.5884
+ -2388.6284 -1861.2664
+ 20643319.3534 -26014412.16449 -20244248.05948 20643318.6344 20643324.8044
+ -440.8754 -343.5424
+ 21293390.7174 -17159790.78049 -13346585.17247 21293390.7694 21293395.7514
+ 3163.8484 2465.3314
+ 24195889.1014 -6604443.53749 -5133820.36645 24195888.0834 24195891.7354
+ 3064.0434 2387.5594
+ 25177177.3174 4959251.99449 3877430.78245 25177175.2644 25177182.4874
+ -2692.6794 -2098.1924
+ 20922887.2894 -20033319.86349 -15595820.35948 20922886.9404 20922891.9634
+ 1841.4354 1434.8824
+ 24987809.1054 -1335988.01149 -1028721.77245 24987808.4504 24987814.7304
+ 1445.4004 1126.2844
+ 05 1 20 23 58 0.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21428250.7024 -18872777.84049 -14452753.39348 21428250.6774 21428256.0794
+ 879.3904 685.2374
+ 20867577.2644 -12628465.48549 -9828286.66348 20867575.8824 20867582.1784
+ -1772.2724 -1380.9924
+ 22002645.2834 -18785220.13349 -14624372.40247 22002645.3944 22002649.2794
+ -2397.6484 -1868.2994
+ 20645867.1994 -26001026.01949 -20233817.29348 20645866.1784 20645872.1184
+ -451.5844 -351.8884
+ 21275369.5304 -17254489.71949 -13420376.52447 21275369.4964 21275375.0544
+ 3149.3904 2454.0714
+ 24178394.2884 -6696372.97649 -5205453.62445 24178394.0004 24178399.4274
+ 3064.5784 2387.9714
+ 25192543.9114 5040020.36149 3940367.14245 25192543.6074 25192550.3884
+ -2691.8604 -2097.5514
+ 20912423.5224 -20088301.81249 -15638663.41148 20912423.9244 20912428.6414
+ 1824.1064 1421.3794
+ 24979593.9464 -1379155.44049 -1062358.77045 24979592.8804 24979600.2794
+ 1432.3444 1116.1144
+ 05 1 20 23 58 30.0000000 0 9G 6G10G 2G17G26G21G30G29G 8
+ 21423282.0384 -18898889.76549 -14473100.33148 21423281.8174 21423287.2744
+ 861.1454 671.0244
+ 20877717.8134 -12575172.50849 -9786759.66348 20877717.5024 20877723.3904
+ -1780.5564 -1387.4454
+ 22016359.5674 -18713156.36449 -14568218.82447 22016358.6244 22016362.1414
+ -2406.6214 -1875.2844
+ 20648474.7314 -25987317.98549 -20223135.70648 20648474.3274 20648480.2484
+ -462.3344 -360.2614
+ 21257432.1644 -17348754.07849 -13493829.23947 21257431.6514 21257436.9824
+ 3134.8674 2442.7524
+ 24160899.0924 -6788317.87949 -5277098.94445 24160897.8954 24160902.4444
+ 3065.1004 2388.3864
+ 25207910.0744 5120763.88849 4003284.12645 25207908.3244 25207915.6584
+ -2690.9154 -2096.8164
+ 20902059.6604 -20142763.43649 -15681101.01548 20902059.8234 20902065.0894
+ 1806.7324 1407.8414
+ 24971455.0234 -1421928.57649 -1095688.41545 24971454.5034 24971460.0014
+ 1419.2064 1105.8764
+ 05 1 20 23 59 0.0000000 0 8G 6G10G 2G17G26G21G29G 8
+ 21418417.8684 -18924452.94749 -14493019.68648 21418417.2594 21418422.5034
+ 842.8134 656.7354
+ 20887906.5204 -12521631.74949 -9745039.59148 20887905.9734 20887911.8624
+ -1788.8014 -1393.8724
+ 22030123.7894 -18640823.29149 -14511855.39947 22030123.9044 22030127.0304
+ -2415.6084 -1882.2934
+ 20651145.2744 -25973287.35149 -20212202.73648 20651144.6194 20651150.2304
+ -473.0934 -368.6424
+ 21239576.4194 -17442580.54449 -13566940.73247 21239576.7354 21239582.9334
+ 3120.1864 2431.3184
+ 24143398.5884 -6880277.39149 -5348755.63145 24143397.8094 24143404.3074
+ 3065.5344 2388.7234
+ 20891795.7344 -20196702.78349 -15723131.65548 20891795.9794 20891800.8134
+ 1789.2814 1394.2424
+ 24963388.7494 -1464305.63849 -1128709.48145 24963389.1084 24963393.1564
+ 1405.9134 1095.5154
+ 05 1 20 23 59 30.0000000 0 8G 6G10G 2G17G26G21G29G 8
+ 21413657.6044 -18949466.47649 -14512510.73348 21413657.2644 21413662.6534
+ 824.4904 642.4614
+ 20898142.8194 -12467844.95549 -9703127.79148 20898141.4774 20898147.0764
+ -1796.9914 -1400.2544
+ 22043938.9984 -18568221.26249 -14455282.38647 22043939.0364 22043942.4124
+ -2424.5544 -1889.2594
+ 20653876.8684 -25958933.35949 -20201017.81048 20653876.2134 20653881.8734
+ -483.8994 -377.0654
+ 21221806.5104 -17535966.39749 -13639708.89647 21221806.6544 21221811.4184
+ 3105.4844 2419.8544
+ 24125894.7604 -6972250.40549 -5420422.81745 24125895.5444 24125901.0854
+ 3066.0084 2389.0944
+ 20881631.2354 -20250118.56049 -15764754.31648 20881631.0554 20881636.1384
+ 1771.7984 1380.6204
+ 24955402.5804 -1506283.90749 -1161419.78845 24955401.7674 24955407.6494
+ 1392.5884 1085.1324
diff --git a/trunk/apps/positioning/poscvt b/trunk/apps/positioning/poscvt
new file mode 100755
index 0000000..9b7f97d
Binary files /dev/null and b/trunk/apps/positioning/poscvt differ
diff --git a/trunk/apps/positioning/poscvt.cpp b/trunk/apps/positioning/poscvt.cpp
new file mode 100644
index 0000000..73e8983
--- /dev/null
+++ b/trunk/apps/positioning/poscvt.cpp
@@ -0,0 +1,215 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/positioning/poscvt.cpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "BasicFramework.hpp"
+#include "Position.hpp"
+#include "CommandOptionWithPositionArg.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class PosCvt : public BasicFramework
+{
+public:
+ PosCvt(char* arg0);
+ virtual bool initialize(int argc, char *argv[])
+ throw();
+
+protected:
+ virtual void process();
+
+private:
+ CommandOptionWithPositionArg ecefOption;
+ CommandOptionWithPositionArg geodeticOption;
+ CommandOptionWithPositionArg geocentricOption;
+ CommandOptionWithPositionArg sphericalOption;
+ CommandOptionNoArg listFormatsOption;
+ CommandOptionWithAnyArg outputFormatOption;
+ CommandOptionMutex mutexOption;
+
+ string stringToParse;
+ string posSpec;
+};
+
+PosCvt::PosCvt(char* arg0)
+ : BasicFramework(arg0, "Converts from a given input position "
+ "specification to other position formats. Include the "
+ "quotation marks."),
+ ecefOption('\0', "ecef", "%x %y %z", "ECEF \"X Y Z\" in meters"),
+ geodeticOption('\0', "geodetic", "%A %L %h",
+ "Geodetic \"lat lon alt\" in deg, deg, meters"),
+ geocentricOption('\0', "geocentric", "%a %l %r",
+ "Geocentric \"lat lon radius\" in deg, deg, meters"),
+ sphericalOption('\0', "spherical", "%t %p %r",
+ "Spherical \"theta, phi, radius\" in deg, deg, meters"),
+ listFormatsOption('l', "list-formats", "List the available format codes"
+ " for use by the input and output format options."),
+ outputFormatOption('F', "output-format", "Write the position with the"
+ " given format.")
+{
+ ecefOption.setMaxCount(1);
+ geodeticOption.setMaxCount(1);
+ geocentricOption.setMaxCount(1);
+ sphericalOption.setMaxCount(1);
+ listFormatsOption.setMaxCount(1);
+ outputFormatOption.setMaxCount(1);
+
+ mutexOption.addOption(&ecefOption);
+ mutexOption.addOption(&geodeticOption);
+ mutexOption.addOption(&geocentricOption);
+ mutexOption.addOption(&sphericalOption);
+}
+
+bool PosCvt::initialize(int argc, char *argv[])
+ throw()
+{
+ if(!BasicFramework::initialize(argc, argv))
+ return false;
+
+ if(listFormatsOption.getCount())
+ {
+ cout << " %X %Y %Z (cartesian or ECEF in kilometers)" << endl
+ << " %x %y %z (cartesian or ECEF in meters)" << endl
+ << " %a %l %r (geocentric lat,lon,radius, longitude E, "
+ "radius in meters)" << endl
+ << " %A %L %h (geodetic lat,lon,height, longitude E, "
+ "height in meters)" << endl
+ << " %a %w %R (geocentric lat,lon,radius, longitude W, "
+ "radius in kilometers)" << endl
+ << " %A %W %H (geodetic lat,lon,height, longitude W, "
+ "height in kilometers)" << endl
+ << " %t %p %r (spherical theta, phi, radius, "
+ "degrees and meters)" << endl
+ << " %T %P %R (spherical theta, phi, radius, "
+ "radians and kilometers)" << endl;
+
+ return false;
+ }
+
+ return true;
+}
+
+void PosCvt::process()
+{
+ try
+ {
+ Position pos;
+
+ CommandOptionWithPositionArg *whichOpt =
+ dynamic_cast<CommandOptionWithPositionArg *>(mutexOption.whichOne());
+
+ if (whichOpt != NULL)
+ {
+ pos = whichOpt->getPosition().front();
+ }
+
+ if (outputFormatOption.getCount())
+ {
+ cout << pos.printf(outputFormatOption.getValue()[0]) << endl;
+ }
+ else
+ {
+ using StringUtils::leftJustify;
+ string four(4, ' '); // four spaces!
+
+ Position foo = pos.asECEF();
+
+ cout << endl
+ << four << leftJustify("ECEF (x,y,z) in meters", 36)
+ << foo.printf("%.4x %.4y %.4z") << endl;
+
+ foo = pos.asGeodetic();
+
+ cout << four << leftJustify("Geodetic (llh) in deg, deg, m", 36)
+ << foo.printf("%.8A %.8L %.4h") << endl;
+
+ // no Position::asGeocentric() available
+ foo = pos.transformTo(Position::Geocentric);
+
+ cout << four << leftJustify("Geocentric (llr) in deg, deg, m", 36)
+ << pos.printf("%.8a %.8L %.4r") << endl;
+
+ foo = pos.transformTo(Position::Spherical);
+
+ cout << four << leftJustify("Spherical (tpr) in deg, deg, m", 36)
+ << pos.printf("%.8t %.8p %.4r") << endl
+
+ << endl << endl;
+ }
+
+ }
+ catch(GeometryException& ge)
+ {
+ cout << ge << endl;
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ PosCvt pc(argv[0]);
+
+ if (!pc.initialize(argc, argv))
+ return 0;
+
+ if(!pc.run())
+ return 1;
+
+ return 0;
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "Caught an unknown exception." << endl;
+ }
+
+ return 1;
+}
diff --git a/trunk/apps/positioning/rinexpvt b/trunk/apps/positioning/rinexpvt
new file mode 100755
index 0000000..4c0706d
Binary files /dev/null and b/trunk/apps/positioning/rinexpvt differ
diff --git a/trunk/apps/positioning/rinexpvt.cpp b/trunk/apps/positioning/rinexpvt.cpp
new file mode 100644
index 0000000..cdbc3ef
--- /dev/null
+++ b/trunk/apps/positioning/rinexpvt.cpp
@@ -0,0 +1,467 @@
+#include "rinexpvt.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+double carrierPhaseSmooth(RinexPrn prn, double range, double phase,
+ DayTime t, double maxAge=86400,
+ double datarate=30)
+{
+ static map<RinexPrn,double> smoothedRange;
+ static map<RinexPrn,DayTime> lastEpoch;
+ static map<RinexPrn,double> lastPhase;
+ static map<RinexPrn,DayTime> firstEpoch;
+
+ bool debug = true;
+ const double teps = .1; // fudge factor for missed epochs
+ const int k = 10;
+
+ // Should this smoother be (re)started?
+ bool initialize = false;
+
+ // Record why the smoother is restarted, if necessary
+ enum smootherState { NORMAL=0, NODATA, SKIPPEDEPOCH, AGE, SLIP};
+ smootherState thisState = NORMAL;
+
+ // Yes, if we are just beginning to see data for this PRN
+ map<RinexPrn,double>::iterator i, j;
+ i = smoothedRange.find(prn);
+ j = lastPhase.find(prn);
+
+ initialize = ((i==smoothedRange.end())||(j==lastPhase.end()));
+ if (initialize) thisState = NODATA;
+
+ // Yes, if we skipped an epoch
+ if (!initialize)
+ {
+ if (initialize = ( fabs(t - lastEpoch[prn] - datarate) > teps ))
+ thisState = SKIPPEDEPOCH;
+ }
+
+ // Yes, if the filter is too old
+ if (!initialize)
+ {
+ if (initialize = ( fabs( t - firstEpoch[prn]) > maxAge))
+ thisState = AGE;
+ }
+
+ if (initialize)
+ {
+ smoothedRange[prn]=range;
+ firstEpoch[prn]=t;
+ }
+ else
+ smoothedRange[prn] =
+ (range + (k-1)*(smoothedRange[prn] + phase - lastPhase[prn]))/k;
+
+ if (fabs((smoothedRange[prn] - range)) > 20)
+ {
+ initialize = true;
+ smoothedRange[prn]=range;
+ firstEpoch[prn]=t;
+ thisState = SLIP;
+ }
+
+ lastPhase[prn] = phase;
+ lastEpoch[prn] = t;
+
+ if (debug)
+ {
+ static ofstream debugStream("smootherdebug.txt");
+ debugStream << t.printf("%F %g ");
+ //debugStream << t.printf("%Y %m %d %02H %02M %f ");
+ debugStream << prn.prn << " ";
+ debugStream << setprecision(12) << smoothedRange[prn] << " ";
+ debugStream << range << " " << phase << " ";
+ debugStream << thisState << " ";
+// debugStream << lastPhase[prn];
+ debugStream << endl;
+ }
+
+ return smoothedRange[prn];
+
+}
+
+RINEXPVTSolution::RINEXPVTSolution(char *arg0)
+ : BasicFramework(arg0, "GPSTk PVT Generator\n\nThis application generates user positions based on RINEX observations.\n\nNOTE: Although the -n and -p arguments appear as optional below, one of the two must be used. An ephemeris source must be specified."),
+ obsOption('o', "obs-file", "RINEX Obs File.", true),
+ navOption('n', "nav-file", "RINEX Nav File. Required for single frequency ionosphere correction.", false),
+ peOption ('p', "pe-file", "SP3 Precise Ephemeris File. Repeat this for each input file.", false),
+ metOption('m', "met-file", "RINEX Met File.", false),
+ spsOption('s', "single-frequency", "Use only C1 (SPS)"),
+ ppsOption('f', "dual-frequency", "Use only P1 and P2 (PPS)"),
+ timeFormatOption('t',"time-format","Alternate time format string."),
+ ionoOption('i',"no-ionosphere", "Do NOT correct for ionosphere delay."),
+ enuOption('e', "enu", "Use the following as origin to solve for East/North/Up coordinates, formatted as a string: \"X Y Z\" "),
+ elevationMaskOption('l',"elevation-mask","Elevation mask (degrees)."),
+ searchNearOption('x',"no-closest-ephemeris","Allow ephemeris use outside of fit interval."),
+ smootherOption('c',"no-carrier-smoothing","Do NOT use carrier phase smoothing."),
+ hasBCEstore(false)
+ {
+ obsOption.setMaxCount(1);
+ navOption.setMaxCount(1);
+ metOption.setMaxCount(1);
+ spsOption.setMaxCount(1);
+ ppsOption.setMaxCount(1);
+ searchNearOption.setMaxCount(1);
+ elevationMaskOption.setMaxCount(1);
+
+ enuOption.setMaxCount(1);
+ timeFormatOption.setMaxCount(1);
+ ionoOption.setMaxCount(1);
+ smootherOption.setMaxCount(1);
+
+ gotMet = false;
+ spsSolution = false;
+ ppsSolution = false;
+ aprioriPositionDefined = false;
+ transformENU = false;
+ removeIonosphere = true;
+ searchNear = false;
+ useSmoother = true;
+
+ elevationMask = 0;
+
+ obsFileName = metFileName = "";
+ }
+
+
+bool RINEXPVTSolution::initialize(int argc, char *argv[])
+ throw()
+ {
+ if(!BasicFramework::initialize(argc, argv))
+ return false;
+
+ obsFileName = obsOption.getValue().front();
+
+ if(metOption.getCount())
+ {
+ gotMet = true;
+ metFileName = metOption.getValue().front();
+ }
+
+ spsSolution = (spsOption.getCount()>0);
+ ppsSolution = (ppsOption.getCount()>0);
+
+ if (enuOption.getCount())
+ {
+ double x, y, z;
+ sscanf(enuOption.getValue().front().c_str(),"%lf %lf %lf",
+ &x, &y, &z);
+ enuOrigin=Triple(x,y,z);
+ double mag = enuOrigin.mag();
+ upVector = Triple( enuOrigin[0] / mag, enuOrigin[1]/mag, enuOrigin[2]/mag);
+ Triple poleVector(0,0,1.);
+ if (enuOrigin[2]<0) poleVector[2]=-1.;
+ eastVector = upVector.cross(poleVector);
+ northVector = upVector.cross(eastVector);
+
+ transformENU = true;
+
+ }
+
+ if (timeFormatOption.getCount()>0)
+ {
+ epochFormat = timeFormatOption.getValue().front();
+ }
+ else
+ epochFormat = string("%Y %m %d %02H %02M %f");
+
+ if (elevationMaskOption.getCount()>0)
+ {
+ elevationMask =
+ StringUtils::asFloat(elevationMaskOption.getValue().front());
+ }
+
+ searchNear = (searchNearOption.getCount()>0);
+ removeIonosphere = (ionoOption.getCount()==0);
+ useSmoother = (smootherOption.getCount()==0);
+
+ return true;
+ }
+
+
+void RINEXPVTSolution::process()
+ {
+ IonoModel spsIonoCorr;
+
+ // Read nav file and store unique list of ephemeredes
+ if (navOption.getCount()>0)
+ {
+ RinexNavStream rnffs(navOption.getValue().front().c_str());
+ RinexNavData rne;
+ RinexNavHeader hdr;
+ rnffs >> hdr;
+ spsIonoCorr = IonoModel(hdr.ionAlpha, hdr.ionBeta);
+ while (rnffs >> rne) bcestore.addEphemeris(rne);
+ if (searchNear) bcestore.SearchNear();
+ virtualEphStore = &bcestore;
+ hasBCEstore = true;
+ }
+
+ //
+ if (peOption.getCount()>0)
+ {
+ for (int i=0; i<peOption.getCount(); i++)
+ sp3store.loadFile(peOption.getValue()[i].c_str());
+
+ virtualEphStore = &sp3store;
+ }
+
+
+ // If provided, open and store met file into a linked list.
+ list<RinexMetData> rml;
+ if (metFileName != "")
+ {
+ RinexMetStream rms(metFileName.c_str());
+ RinexMetHeader rmh;
+ rms >> rmh;
+
+ RinexMetData rmd;
+ while (rms >> rmd) rml.push_back(rmd);
+ }
+
+ // Open and read the observation file one epoch at a time.
+ // For each epoch, compute and print a position solution
+ RinexObsStream roffs(obsFileName.c_str());
+ roffs.exceptions(ios::failbit);
+
+ RinexObsHeader roh;
+ RinexObsData rod;
+
+ roffs >> roh;
+
+ if ((!aprioriPositionDefined) && (roh.valid & RinexObsHeader::antennaPositionValid) )
+ {
+ aprioriPosition = roh.antennaPosition;
+ aprioriPositionDefined = true;
+ }
+
+ double obsInterval = 30.0;
+ bool intervalDefined = false;
+ if (roh.valid & RinexObsHeader::intervalValid)
+ {
+ obsInterval = roh.interval;
+ intervalDefined = true;
+ }
+
+ // Determine if we can have access to dual frequency measurements.
+ bool p1Found(false), p2Found(false), caFound(false);
+ std::vector<RinexObsHeader::RinexObsType>::iterator i;
+ for (i = roh.obsTypeList.begin(); i != roh.obsTypeList.end(); i++)
+ {
+ if ((*i)== RinexObsHeader::P1) p1Found = true;
+ if ((*i)== RinexObsHeader::P2) p2Found = true;
+ if ((*i)== RinexObsHeader::C1) caFound = true;
+ }
+
+ if ( !p1Found || !p2Found )
+ spsSolution = true;
+
+ if ((spsOption) && !caFound)
+ {
+ // Should probably use a throw here
+ cerr << "RINEX header claims CA observations cannot be found." << endl;
+ exit(-1);
+ }
+
+ // Tweaking the PRSolution object
+ prSolver.RMSLimit = 400;
+ //prSolver.Debug = true;
+
+ // Engage default weather model. Start weather data list at the beginning.
+ ggTropModel.setWeather(20., 1000., 50.);
+ list<RinexMetData>::iterator mi=rml.begin();
+
+ while (roffs >> rod)
+ {
+ double T, P, H;
+
+ // Find a weather point.
+ while ( (gotMet) &&
+ (!rml.empty()) &&
+ (mi != rml.end()) &&
+ ((*mi).time < rod.time) )
+ {
+ ggTropModel.setWeather((*mi).data[RinexMetHeader::TD],
+ (*mi).data[RinexMetHeader::PR],
+ (*mi).data[RinexMetHeader::HR]);
+ mi++;
+ }
+
+
+ // Apply editing criteria
+ if (rod.epochFlag == 0 || rod.epochFlag == 1) // Begin usable data
+ {
+ vector<RinexPrn> prnVec;
+ vector<double> rangeVec;
+ Xvt svpos;
+ double ionocorr;
+
+ RinexObsData::RinexPrnMap::const_iterator it;
+ for (it = rod.obs.begin(); it!= rod.obs.end(); it++)
+ {
+ RinexObsData::RinexObsTypeMap otmap = (*it).second;
+
+ svpos = virtualEphStore->getPrnXvt((*it).first.prn,rod.time);
+ double elevation = aprioriPosition.elvAngle(svpos.x);
+ double azimuth = aprioriPosition.azAngle(svpos.x);
+
+ bool healthy=true;
+ if (hasBCEstore)
+ {
+ if (bcestore.getPrnHealth((*it).first.prn,rod.time)!=0)
+ healthy=false;
+ }
+
+ // Editing criteria
+ if ( (elevation >= elevationMask) &&
+ (healthy) )
+ {
+
+ if ((spsSolution) && (!ppsSolution))
+ {
+ RinexObsData::RinexObsTypeMap::const_iterator itCA =
+ otmap.find(RinexObsHeader::C1);
+ RinexObsData::RinexObsTypeMap::const_iterator itL1 =
+ otmap.find(RinexObsHeader::L1);
+
+ ionocorr = 0;
+
+ if ((aprioriPositionDefined) && (removeIonosphere))
+ ionocorr = spsIonoCorr.getCorrection(rod.time,
+ aprioriPosition,
+ elevation, azimuth);
+ prnVec.push_back((*it).first);
+ double range = (*itCA).second.data-ionocorr;
+
+ if ((useSmoother) && (itL1 != otmap.end()))
+ {
+ double phase = ((*itL1).second.data)*C_GPS_M / L1_FREQ
+ + ionocorr;
+ range = carrierPhaseSmooth( (*it).first, range, phase,
+ rod.time, 300.0, obsInterval);
+ }
+
+ rangeVec.push_back(range);
+ }
+ else
+ {
+ ionocorr = 0;
+
+ RinexObsData::RinexObsTypeMap::const_iterator itP1, itP2, itL1, itL2;
+ itP1 = otmap.find(RinexObsHeader::P1);
+ itP2 = otmap.find(RinexObsHeader::P2);
+ itL1 = otmap.find(RinexObsHeader::L1);
+ itL2 = otmap.find(RinexObsHeader::L2);
+
+ if ((removeIonosphere) &&
+ (itP1!=otmap.end()) && (itP2!=otmap.end()))
+ ionocorr = 1./(1.-gamma)*((*itP1).second.data-(*itP2).second.data);
+
+ if (fabs(ionocorr) < maxIonoDelay)
+ {
+ prnVec.push_back((*it).first);
+ double range = (*itP1).second.data-ionocorr;
+
+ if ( (useSmoother) && (itL1!=otmap.end()) && (itL2!=otmap.end()) )
+ {
+ double ionocorrPhase = -1./(1.-gamma)*((*itL1).second.data*C_GPS_M / L1_FREQ-(*itL2).second.data*C_GPS_M / L2_FREQ);
+ double phase = (*itL1).second.data * C_GPS_M / L1_FREQ - ionocorrPhase;
+ range = carrierPhaseSmooth( (*it).first, range, phase,
+ rod.time, 86400.0, obsInterval);
+ }
+
+ rangeVec.push_back(range);
+ }
+
+ }
+
+ } // If above elevation mask
+
+ }
+
+
+ try {
+ prSolver.RAIMCompute(rod.time,prnVec,rangeVec, *virtualEphStore, \
+ &ggTropModel);
+ }
+ catch (Exception e) {
+ cerr << e << endl;
+ }
+ catch (...) {
+ cerr << "Unknown exception occured." << endl;
+ }
+
+ if (prSolver.isValid())
+ {
+ // Output epoch tag
+ cout << rod.time.printf(epochFormat) << " ";
+
+ if (!transformENU)
+ {
+ cout << setprecision(12) << prSolver.Solution[0] << " " ;
+ cout << prSolver.Solution[1] << " " ;
+ cout << prSolver.Solution[2] << " " ;
+ cout << prSolver.Solution[3];
+ cout << endl ;
+ }
+ else
+ {
+ Triple x(prSolver.Solution[0] - enuOrigin[0],
+ prSolver.Solution[1] - enuOrigin[1],
+ prSolver.Solution[2] - enuOrigin[2]);
+
+ cout << setprecision(12) << x.dot(eastVector) << " " ;
+ cout << x.dot(northVector) << " " ;
+ cout << x.dot(upVector) << " ";
+ cout << prSolver.Solution[3];
+
+ cout << endl;
+ }
+
+ if (!aprioriPositionDefined)
+ aprioriPosition = Triple(prSolver.Solution[0],
+ prSolver.Solution[1],
+ prSolver.Solution[2]);
+ }
+
+ } // End usable data
+
+ } // End loop through each epoch
+ }
+
+const double RINEXPVTSolution::gamma = (L1_FREQ / L2_FREQ)*(L1_FREQ / L2_FREQ);
+const double RINEXPVTSolution::maxIonoDelay = 1000;
+
+int main(int argc, char *argv[])
+{
+ try
+ {
+ RINEXPVTSolution rinexpvt(argv[0]);
+
+ if(!rinexpvt.initialize(argc, argv))
+ return 0;
+
+ if(!rinexpvt.run())
+ return 1;
+
+ return 0;
+ }
+ catch(Exception& exc)
+ {
+ cout << exc << endl;
+ }
+ catch(...)
+ {
+ cout << "Caught an unknown exception." << endl;
+ }
+ return 1;
+}
+
+
+
+
+
+
diff --git a/trunk/apps/positioning/rinexpvt.hpp b/trunk/apps/positioning/rinexpvt.hpp
new file mode 100644
index 0000000..0884caa
--- /dev/null
+++ b/trunk/apps/positioning/rinexpvt.hpp
@@ -0,0 +1,112 @@
+#ifndef RINEXPVT_HPP
+#define RINEXPVT_HPP
+
+#include <string>
+#include <cstring>
+#include <vector>
+
+#include "icd_200_constants.hpp"
+
+#include "RinexObsBase.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+
+#include "RinexNavBase.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+#include "BCEphemerisStore.hpp"
+
+#include "RinexMetBase.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetHeader.hpp"
+#include "RinexMetStream.hpp"
+#include "TropModel.hpp"
+
+#include "SP3EphemerisStore.hpp"
+
+#include "PRSolution.hpp"
+
+#include "IonoModel.hpp"
+
+#include "BasicFramework.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class RINEXPVTSolution : public BasicFramework
+{
+public:
+
+ // Linear relation between iono delay on L1 and L2.
+ static const double gamma;
+
+ // Maximum sane value of the ionosphere delay
+ static const double maxIonoDelay;
+
+
+ RINEXPVTSolution(char *arg0);
+
+ virtual bool initialize(int argc, char *argv[]) throw();
+
+
+protected:
+ virtual void process();
+
+
+ EphemerisStore *virtualEphStore;
+ BCEphemerisStore bcestore;
+ SP3EphemerisStore sp3store;
+ PRSolution prSolver;
+ GGTropModel ggTropModel;
+
+ bool gotMet;
+ bool spsSolution;
+ bool ppsSolution;
+ bool transformENU;
+ bool removeIonosphere;
+ bool hasBCEstore;
+
+ double elevationMask;
+
+ Geodetic aprioriPosition, enuOrigin;
+ Triple eastVector, upVector, northVector;
+
+ bool aprioriPositionDefined;
+
+ string obsFileName;
+ string metFileName;
+
+ string epochFormat;
+
+ bool searchNear;
+ bool useSmoother;
+
+ CommandOptionWithAnyArg obsOption;
+ CommandOptionWithAnyArg navOption;
+ CommandOptionWithAnyArg peOption;
+ CommandOptionWithAnyArg metOption;
+ CommandOptionWithAnyArg timeFormatOption;
+ CommandOptionWithAnyArg enuOption;
+ CommandOptionWithAnyArg elevationMaskOption;
+
+ CommandOptionNoArg spsOption;
+ CommandOptionNoArg ppsOption;
+ CommandOptionNoArg ionoOption;
+ CommandOptionNoArg searchNearOption;
+ CommandOptionNoArg smootherOption;
+
+};
+
+#endif
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/reszilla/DDEpoch.cpp b/trunk/apps/reszilla/DDEpoch.cpp
new file mode 100644
index 0000000..4d64401
--- /dev/null
+++ b/trunk/apps/reszilla/DDEpoch.cpp
@@ -0,0 +1,402 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/DDEpoch.cpp#1 $"
+
+#include "DDEpoch.hpp"
+
+using namespace std;
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+std::map<RinexObsType, double> DDEpoch::singleDifference(
+ const gpstk::RinexObsData::RinexObsTypeMap& rx1obs,
+ const gpstk::RinexObsData::RinexObsTypeMap& rx2obs)
+{
+ map<RinexObsType, double> diff;
+
+ gpstk::RinexObsData::RinexObsTypeMap::const_iterator d1_itr = rx1obs.find(D1);
+ if (d1_itr == rx1obs.end())
+ return diff;
+
+ // clock offset correction
+ double coc = clockOffset * d1_itr->second.data * gpstk::C_GPS_M/gpstk::L1_FREQ;
+ gpstk::RinexObsData::RinexObsTypeMap::const_iterator roti1, roti2;
+ for (roti1 = rx1obs.begin(); roti1 != rx1obs.end(); roti1++)
+ {
+ const RinexObsType& rot = roti1->first;
+
+ // Make sure we have an obs from the other receiver
+ roti2 = rx2obs.find(rot);
+ if (roti2 == rx2obs.end())
+ continue;
+
+ // Compute the first difference
+ diff[rot] = roti1->second.data - roti2->second.data;
+
+ // Need to convert the phase/doppler observables to meters
+ if (rot == L1 || rot == D1)
+ diff[rot] *= gpstk::C_GPS_M/gpstk::L1_FREQ;
+ if (rot == L2 || rot == D2)
+ diff[rot] *= gpstk::C_GPS_M/gpstk::L2_FREQ;
+
+ // Then pull off the clock correction
+ diff[rot] -= coc;
+ }
+
+ return diff;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void DDEpoch::doubleDifference(
+ const gpstk::RinexObsData& rx1,
+ const gpstk::RinexObsData& rx2)
+{
+ valid = false;
+ dd.clear();
+ if (masterPrn.prn < 0)
+ {
+ if (verbosity>2)
+ cout << rx1.time.printf(timeFormat) << " No master SV selected. Skipping epoch." << endl;
+ return;
+ }
+
+ clockOffset = rx1.clockOffset - rx2.clockOffset;
+ if (std::abs(clockOffset)>2.1e-3 || std::abs(clockOffset)<1e-10)
+ {
+ if (verbosity>2)
+ cout << rx1.time.printf(timeFormat)
+ << " Rx1-Rx2 clock offset is " << 1e3*clockOffset << " ms. Skipping epoch."
+ << endl;
+ return;
+ }
+
+ gpstk::RinexObsData::RinexPrnMap::const_iterator oi1, oi2;
+ oi1 = rx1.obs.find(masterPrn);
+ oi2 = rx2.obs.find(masterPrn);
+ const gpstk::RinexObsData::RinexObsTypeMap& rx1obs = oi1->second;
+ const gpstk::RinexObsData::RinexObsTypeMap& rx2obs = oi2->second;
+
+ ROTDM masterDiff = singleDifference(rx1obs, rx2obs);
+ if (masterDiff.size() == 0)
+ return;
+
+ // Now walk through all prns in track
+ for (oi1=rx1.obs.begin(); oi1!=rx1.obs.end(); oi1++)
+ {
+ gpstk::RinexPrn prn = oi1->first;
+ oi2 = rx2.obs.find(prn);
+ if (oi2 == rx2.obs.end())
+ continue;
+
+ ROTDM otherDiff;
+
+ if (prn != masterPrn)
+ otherDiff = singleDifference( oi1->second, oi2->second);
+
+ // Now compute the double differences
+ // Note that for the master this will be a single diff
+ for (ROTDM::const_iterator roti = masterDiff.begin(); roti != masterDiff.end(); roti++)
+ dd[prn][roti->first] = roti->second - otherDiff[roti->first];
+ }
+
+ valid = true;
+}
+
+
+// ---------------------------------------------------------------------
+// Criteria for the masterPrn
+// it has an elevation > the min,
+// it it on the way up (i.e. doppler>0),
+// there is a record for it on the other receiver
+// ---------------------------------------------------------------------
+void DDEpoch::selectMasterPrn(
+ const gpstk::RinexObsData& rx1,
+ const gpstk::RinexObsData& rx2,
+ PrnElevationMap& pem)
+{
+ double minElevation = 15.0;
+
+ // If there is already one selected, try to keep using that one...
+ if (masterPrn.prn >0)
+ {
+ RinexPrnMap::const_iterator i = rx1.obs.find(masterPrn);
+ RinexPrnMap::const_iterator j = rx2.obs.find(masterPrn);
+ if (i != rx1.obs.end() && j != rx2.obs.end() &&
+ pem[rx1.time][masterPrn] > minElevation)
+ return;
+ }
+
+ gpstk::RinexPrn prn;
+ for (RinexPrnMap::const_iterator i=rx1.obs.begin(); i != rx1.obs.end(); i++)
+ {
+ prn = i->first;
+ RinexPrnMap::const_iterator j = rx2.obs.find(prn);
+ RinexObsTypeMap obs = i->second;
+ if (j != rx2.obs.end() && obs[D1].data >= 0 &&
+ pem[rx1.time][i->first] > minElevation)
+ {
+ masterPrn = prn;
+ break;
+ }
+ }
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+bool phaseDisc(const ROTDM& curr, const ROTDM& prev)
+{
+ typedef std::set<RinexObsType> RinexObsTypeSet;
+ RinexObsTypeSet phaseObsTypes;
+ phaseObsTypes.insert(L1);
+ phaseObsTypes.insert(L2);
+
+ for (ROTDM::const_iterator i=curr.begin(); i != curr.end(); i++)
+ {
+ const RinexObsType& rot = i->first;
+ if (phaseObsTypes.find(rot) == phaseObsTypes.end())
+ continue;
+
+ ROTDM::const_iterator j = prev.find(rot);
+ if (j == prev.end())
+ continue;
+
+ // Replace with double lamda = rot.lamda();
+ double lamda = ((rot==L1) ? gpstk::C_GPS_M/gpstk::L1_FREQ : gpstk::C_GPS_M/gpstk::L2_FREQ);
+ double td = (i->second - j->second) / lamda;
+ if (std::abs(td) > 0.9)
+ return true;
+ }
+
+ // No problems were found.
+ return false;
+}
+
+//-----------------------------------------------------------------------------
+// Similiar to computeDD but does a triple difference to look for cycle slips
+//-----------------------------------------------------------------------------
+void computeDDEpochMap(
+ RODEpochMap& rx1,
+ RODEpochMap& rx2,
+ PrnElevationMap& pem,
+ DDEpochMap& ddem)
+{
+ if (verbosity)
+ cout << "Computing 2nd differences residuals with new SV master selection using a" << endl
+ << "3rd difference cycle slip detection." << endl;
+
+ float minMasterElevation = 15;
+ if (verbosity>1)
+ cout << "Using a minimum master SV elevation of "
+ << minMasterElevation << " degrees." << std::endl;
+
+ DDEpoch prev;
+
+ // We use the data from rx1 walk us through the data
+ // loop over all epochs for this station
+ for (RODEpochMap::const_iterator ei1=rx1.begin(); ei1!=rx1.end(); ei1++)
+ {
+ // first make sure we have data from the other receiver for this
+ // epoch...
+ gpstk::DayTime t = ei1->first;
+ RODEpochMap::const_iterator ei2 = rx2.find(t);
+ if (ei2 == rx2.end())
+ {
+ if (verbosity>2)
+ cout << t.printf(timeFormat)
+ << " No data in second set. Skipping epoch." << endl;
+ continue;
+ }
+
+ DDEpoch curr;
+
+ // Try to keep using the previous master PRN
+ if (prev.valid)
+ curr.masterPrn = prev.masterPrn;
+
+ curr.selectMasterPrn(ei1->second, ei2->second, pem);
+
+ curr.doubleDifference(ei1->second, ei2->second);
+
+ if (!curr.valid)
+ continue;
+
+ if (prev.valid &&
+ phaseDisc(curr.dd[curr.masterPrn], prev.dd[curr.masterPrn]))
+ {
+ // since it appears that there is a cycle slip on the current master,
+ // we want to back up 7 epochs, select a new master, and reprocess
+ // the those epochs. if we can't back up, then skip this epoch
+ if (verbosity)
+ cout << t.printf(timeFormat)
+ << " Possible cycle slip on the master ("
+ << curr.masterPrn.prn << "). Backing up 7 epochs." << endl;
+
+ int n;
+ for (n=0; n<7 && ei1 != rx1.begin(); n++)
+ ei1--;
+
+ if (n!=7 && verbosity)
+ cout << t.printf(timeFormat)
+ << " Failed to back up 7 epochs." << endl;
+
+ gpstk::DayTime prevTime = ei1->first;
+ ei1++;
+ t = ei1->first;
+ ei2 = rx2.find(t);
+
+ gpstk::RinexPrn prn, badPrn = curr.masterPrn;
+ for (RinexPrnMap::const_iterator i=ei1->second.obs.begin(); i != ei1->second.obs.end(); i++)
+ {
+ prn = i->first;
+ RinexPrnMap::const_iterator j = ei2->second.obs.find(prn);
+ RinexObsTypeMap obs = i->second;
+ if (j != ei2->second.obs.end() && obs[D1].data >= 0 &&
+ pem[t][prn] > minMasterElevation &&
+ prn != badPrn)
+ break;
+ }
+ // Now recompute the double differences
+ curr = DDEpoch(); // cheap way to clear this out...
+ curr.masterPrn = prn;
+ curr.doubleDifference(ei1->second, ei2->second);
+ if (!curr.valid)
+ continue;
+ } // end dealing with a slip on the master SV
+
+ ddem[t] = curr;
+ prev = curr;
+ } // end of looping over all epochs in the first set.
+} // end of computeDDEpochMap()
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dumpStats(DDEpochMap& ddem,
+ const CycleSlipList& csl,
+ PrnElevationMap& pem)
+{
+ cout << endl
+ << "ord elev stddev mean z #obs #del max strip slips" << endl
+ << "---------- ----- ------- ---------- ------ ---- ------ ------ -----" << endl;
+
+ for (ElevationRangeList::const_iterator i = elr.begin(); i != elr.end(); i++)
+ {
+ cout << "c1 dd res " << computeStats(C1, ddem, *i, pem) << " " << endl;
+ cout << "p1 dd res " << computeStats(P1, ddem, *i, pem) << " " << endl;
+ cout << "l1 dd res " << computeStats(L1, ddem, *i, pem) << " "
+ << computeStats(csl, *i, L1) << endl;
+ cout << "d1 dd res " << computeStats(D1, ddem, *i, pem) << " " << endl;
+ cout << endl;
+ }
+ cout << "------------------------------------------------------------------------ " << endl;
+
+ for (ElevationRangeList::const_iterator i = elr.begin(); i != elr.end(); i++)
+ {
+ cout << "p2 dd res " << computeStats(P2, ddem, *i, pem) << " " << endl;
+ cout << "l2 dd res " << computeStats(L2, ddem, *i, pem) << " "
+ << computeStats(csl, *i, L2) << endl;
+ cout << "d2 dd res " << computeStats(D2, ddem, *i, pem) << " " << endl;
+ cout << endl;
+ }
+ cout << "------------------------------------------------------------------------ " << endl;
+}
+
+
+// ---------------------------------------------------------------------
+// Returns a string containing a statistical summary of the double difference
+// residuals for the specified obs type within the given elevation range.
+// ---------------------------------------------------------------------
+string computeStats(
+ const RinexObsType rot,
+ DDEpochMap& ddem,
+ const ElevationRange er,
+ PrnElevationMap& pem)
+{
+ ostringstream oss;
+ float minElevation = er.first;
+ float maxElevation = er.second;
+
+ gpstk::Stats<double> good, bad;
+ DDEpochMap::iterator ei;
+ for (ei = ddem.begin(); ei != ddem.end(); ei++)
+ {
+ const gpstk::DayTime& t = ei->first;
+ PrnROTDM::iterator pi;
+ for (pi = ei->second.dd.begin(); pi != ei->second.dd.end(); pi++)
+ {
+ const gpstk::RinexPrn& prn = pi->first;
+ ROTDM& ddr = pi->second;
+ if (pem[t][prn]>minElevation && pem[t][prn]<maxElevation)
+ {
+ if (abs(ddr[rot]) < 1000 )
+ good.Add(ddr[rot]);
+ else
+ bad.Add(ddr[rot]);
+ }
+ }
+ }
+
+ oss << right << " " << setprecision(2) << setw(2) << minElevation
+ << "-" << setw(2) << maxElevation << " ";
+
+ char b1[200];
+ char zero = good.Average() < good.StdDev()/sqrt((float)good.N())?'0':' ';
+ double maxDD = max(abs(good.Minimum()), abs(good.Maximum()));
+ sprintf(b1, "%8.5f %8.4f %c %7d %4d %6.2f %6.2f",
+ good.StdDev()/sqrt(2), good.Average(), zero,
+ good.N(), bad.N(), maxDD, 1000.0);
+
+ oss << b1;
+ return oss.str();
+}
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dump(std::ostream& s,
+ DDEpochMap& ddem,
+ PrnElevationMap& pem)
+{
+ s.setf(ios::fixed, ios::floatfield);
+ s << "# time PRN type elev clk(m)"
+ << " 2nd diff(m)"
+ << endl;
+
+ DDEpochMap::iterator ei;
+ PrnROTDM::iterator pi;
+ for (ei = ddem.begin(); ei != ddem.end(); ei++)
+ {
+ const gpstk::DayTime& t = ei->first;
+ double clk = ei->second.clockOffset;
+ string time=t.printf(timeFormat);
+ gpstk::RinexPrn& masterPrn = ei->second.masterPrn;
+ for (pi = ei->second.dd.begin(); pi != ei->second.dd.end(); pi++)
+ {
+ const gpstk::RinexPrn& prn = pi->first;
+ ROTDM& ddr = pi->second;
+
+ s << left << setw(20) << time << right
+ << setfill(' ')
+ << " " << setw(2) << prn.prn
+ << " " << setw(4) << 1
+ << " " << setprecision(1) << setw(5) << pem[t][prn]
+ << " " << setprecision(3) << setw(12) << clk
+
+ << " " << setprecision(6) << setw(14) << ddr[L1]
+ << endl;
+
+ s << left << setw(20) << time << right
+ << setfill(' ')
+ << " " << setw(2) << prn.prn
+ << " " << setw(4) << 2
+ << " " << setprecision(1) << setw(5) << pem[t][prn]
+ << " " << setprecision(3) << setw(12) << clk
+
+ << " " << setprecision(6) << setw(14) << ddr[L2]
+ << endl;
+ }
+ }
+ s << endl;
+} // end dump()
+
diff --git a/trunk/apps/reszilla/DDEpoch.hpp b/trunk/apps/reszilla/DDEpoch.hpp
new file mode 100644
index 0000000..207c86a
--- /dev/null
+++ b/trunk/apps/reszilla/DDEpoch.hpp
@@ -0,0 +1,61 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/DDEpoch.hpp#1 $"
+
+#ifndef DDEPOCH_HPP
+#define DDEPOCH_HPP
+
+#include "DayTime.hpp"
+#include "stl_helpers.hpp"
+#include "icd_200_constants.hpp"
+#include "Stats.hpp"
+
+#include "util.hpp"
+
+struct DDEpoch
+{
+ DDEpoch() : valid(false){};
+ PrnROTDM dd;
+ double clockOffset;
+ gpstk::RinexPrn masterPrn;
+ bool valid;
+
+ // Computes a single difference between two sets of obs
+ ROTDM singleDifference(
+ const gpstk::RinexObsData::RinexObsTypeMap& rx1obs,
+ const gpstk::RinexObsData::RinexObsTypeMap& rx2obs);
+
+ // Sets the valid flag true if successfull
+ // also sets the masterPrn to the one actually used
+ void doubleDifference(
+ const gpstk::RinexObsData& rx1,
+ const gpstk::RinexObsData& rx2);
+
+ void selectMasterPrn(
+ const gpstk::RinexObsData& rx1,
+ const gpstk::RinexObsData& rx2,
+ PrnElevationMap& pem);
+};
+
+typedef std::map<gpstk::DayTime, DDEpoch> DDEpochMap;
+
+void computeDDEpochMap(
+ RODEpochMap& rx1,
+ RODEpochMap& rx2,
+ PrnElevationMap& pem,
+ DDEpochMap& ddem);
+
+void dump(std::ostream& s,
+ DDEpochMap& ddem,
+ PrnElevationMap& pem);
+
+void dumpStats(
+ DDEpochMap& oem,
+ const CycleSlipList& csl,
+ PrnElevationMap& pem);
+
+std::string computeStats(
+ const RinexObsType rot,
+ DDEpochMap& oem,
+ const ElevationRange er,
+ PrnElevationMap& pem);
+
+#endif
diff --git a/trunk/apps/reszilla/ElevationRange.hpp b/trunk/apps/reszilla/ElevationRange.hpp
new file mode 100644
index 0000000..b29c130
--- /dev/null
+++ b/trunk/apps/reszilla/ElevationRange.hpp
@@ -0,0 +1,36 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/ElevationRange.hpp#1 $"
+
+#ifndef ELEVATIONRANGE_HPP
+#define ELEVATIONRANGE_HPP
+
+#include <iostream>
+#include <list>
+
+typedef std::pair<float, float> ElevationRange;
+typedef std::list< ElevationRange > ElevationRangeList;
+
+inline void dump(std::ostream& s, const ElevationRange& er)
+{
+ s << er.first << "-" << er.second;
+};
+
+inline std::ostream& operator<<(std::ostream& s, const ElevationRange& er)
+{
+ dump(s, er);
+ return s;
+};
+
+inline void dump(std::ostream& s, const ElevationRangeList& erl)
+{
+ for (ElevationRangeList::const_iterator i=erl.begin(); i != erl.end(); i++)
+ s << *i << " ";
+ s << std::endl;
+};
+
+inline std::ostream& operator<<(std::ostream& s, const ElevationRangeList& erl)
+{
+ dump(s, erl);
+ return s;
+};
+
+#endif
diff --git a/trunk/apps/reszilla/Jamfile b/trunk/apps/reszilla/Jamfile
new file mode 100644
index 0000000..57de4ff
--- /dev/null
+++ b/trunk/apps/reszilla/Jamfile
@@ -0,0 +1,22 @@
+# $Id: //depot/sgl/gpstk/dev/apps/reszilla/Jamfile#7 $
+
+SubDir TOP apps reszilla ;
+
+# It seems that if I explicity add the src directory, things are much happier.
+SEARCH_SOURCE += $(TOP)/src ;
+
+if ( $(C++) = CC ) && ( $(OS) = SOLARIS )
+{
+ CCFLAGS += -Xc ;
+ C++FLAGS += -compat=5 ;
+}
+
+Library rlib : util.cpp readers.cpp ordUtils.cpp DDEpoch.cpp PhaseCleaner.cpp
+ PhaseResidual.cpp ;
+
+LinkLibraries reszilla : rlib ;
+
+GPSLinkLibraries reszilla : gpstk rlib ;
+
+GPSMain reszilla : reszilla.cpp ;
+
diff --git a/trunk/apps/reszilla/Makefile.am b/trunk/apps/reszilla/Makefile.am
new file mode 100644
index 0000000..e79053b
--- /dev/null
+++ b/trunk/apps/reszilla/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = -I../../src
+LDADD = ./librlib.la ../../src/libgpstk.la
+
+noinst_LTLIBRARIES = librlib.la
+librlib_la_SOURCES = util.cpp readers.cpp
+
+noinst_PROGRAMS = reszilla aoa2rin
+
+reszilla_SOURCES = reszilla.cpp
+aoa2rin_SOURCES = aoa2rin.cpp
diff --git a/trunk/apps/reszilla/Makefile.in b/trunk/apps/reszilla/Makefile.in
new file mode 100644
index 0000000..0695fc2
--- /dev/null
+++ b/trunk/apps/reszilla/Makefile.in
@@ -0,0 +1,451 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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@
+noinst_PROGRAMS = reszilla$(EXEEXT) aoa2rin$(EXEEXT)
+subdir = apps/reszilla
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+librlib_la_LIBADD =
+am_librlib_la_OBJECTS = util.lo readers.lo
+librlib_la_OBJECTS = $(am_librlib_la_OBJECTS)
+PROGRAMS = $(noinst_PROGRAMS)
+am_aoa2rin_OBJECTS = aoa2rin.$(OBJEXT)
+aoa2rin_OBJECTS = $(am_aoa2rin_OBJECTS)
+aoa2rin_LDADD = $(LDADD)
+aoa2rin_DEPENDENCIES = ./librlib.la ../../src/libgpstk.la
+am_reszilla_OBJECTS = reszilla.$(OBJEXT)
+reszilla_OBJECTS = $(am_reszilla_OBJECTS)
+reszilla_LDADD = $(LDADD)
+reszilla_DEPENDENCIES = ./librlib.la ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(librlib_la_SOURCES) $(aoa2rin_SOURCES) $(reszilla_SOURCES)
+DIST_SOURCES = $(librlib_la_SOURCES) $(aoa2rin_SOURCES) \
+ $(reszilla_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ./librlib.la ../../src/libgpstk.la
+noinst_LTLIBRARIES = librlib.la
+librlib_la_SOURCES = util.cpp readers.cpp
+reszilla_SOURCES = reszilla.cpp
+aoa2rin_SOURCES = aoa2rin.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apps/reszilla/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu apps/reszilla/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+librlib.la: $(librlib_la_OBJECTS) $(librlib_la_DEPENDENCIES)
+ $(CXXLINK) $(librlib_la_LDFLAGS) $(librlib_la_OBJECTS) $(librlib_la_LIBADD) $(LIBS)
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+aoa2rin$(EXEEXT): $(aoa2rin_OBJECTS) $(aoa2rin_DEPENDENCIES)
+ @rm -f aoa2rin$(EXEEXT)
+ $(CXXLINK) $(aoa2rin_LDFLAGS) $(aoa2rin_OBJECTS) $(aoa2rin_LDADD) $(LIBS)
+reszilla$(EXEEXT): $(reszilla_OBJECTS) $(reszilla_DEPENDENCIES)
+ @rm -f reszilla$(EXEEXT)
+ $(CXXLINK) $(reszilla_LDFLAGS) $(reszilla_OBJECTS) $(reszilla_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/aoa2rin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/readers.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reszilla.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/util.Plo at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(LTLIBRARIES) $(PROGRAMS)
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ clean-noinstPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstLTLIBRARIES clean-noinstPROGRAMS \
+ ctags distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-exec install-exec-am install-info \
+ install-info-am install-man install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/reszilla/PhaseCleaner.cpp b/trunk/apps/reszilla/PhaseCleaner.cpp
new file mode 100644
index 0000000..5ea7561
--- /dev/null
+++ b/trunk/apps/reszilla/PhaseCleaner.cpp
@@ -0,0 +1,180 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/PhaseCleaner.cpp#1 $"
+
+#include "PhaseCleaner.hpp"
+
+using namespace std;
+
+
+PhaseCleaner::PhaseCleaner()
+{
+ lamda[L1] = gpstk::C_GPS_M/gpstk::L1_FREQ;
+ lamda[L2] = gpstk::C_GPS_M/gpstk::L2_FREQ;
+
+ phaseObsTypes.insert(L1);
+ phaseObsTypes.insert(L2);
+
+ if (verbosity)
+ cout << "1 mm on L1 is " << 0.001/lamda[L1] << " cycles" << endl
+ << "1 mm on L2 is " << 0.001/lamda[L2] << " cycles" << endl;
+}
+
+
+//-----------------------------------------------------------------------------
+// Pulls the phase data data from the double difference epochs into arcs.
+//-----------------------------------------------------------------------------
+void PhaseCleaner::addData(
+ const RODEpochMap& rx1,
+ const RODEpochMap& rx2,
+ const DDEpochMap& ddem)
+{
+ if (verbosity)
+ cout << "Pulling phase data into arcs." << endl;
+
+ // Now loop over all the epochs, pulling the data into the arcs
+ for (RODEpochMap::const_iterator ei1=rx1.begin(); ei1!=rx1.end(); ei1++)
+ {
+ gpstk::DayTime t = ei1->first;
+ const gpstk::RinexObsData& rod1 = ei1->second;
+ RODEpochMap::const_iterator ei2 = rx2.find(t);
+
+ for (RinexPrnMap::const_iterator pi1=rod1.obs.begin(); pi1 != rod1.obs.end(); pi1++)
+ {
+ const gpstk::RinexPrn& prn = pi1->first;
+ const gpstk::RinexObsData::RinexObsTypeMap& rotm = pi1->second;
+
+ DDEpochMap::const_iterator ddi = ddem.find(t);
+ if (ddi == ddem.end())
+ continue;
+
+ PrnROTDM::const_iterator proti = ddi->second.dd.find(prn);
+ if (proti == ddi->second.dd.end())
+ continue;
+
+ RinexObsTypeSet::const_iterator rot_itr;
+ for (rot_itr = phaseObsTypes.begin(); rot_itr != phaseObsTypes.end(); rot_itr++)
+ {
+ const RinexObsType& rot = *rot_itr;
+ ROTDM::const_iterator rotdi = proti->second.find(rot);
+ RinexObsTypeMap::const_iterator l1 = rotm.find(rot);
+ if (rotdi == proti->second.end() || l1 == rotm.end())
+ continue;
+
+ // Initially add all data to the first arc for this prn -
+ // it gets split up later.
+ PhaseResidual::Arc& arc = pot[rot][prn].front();
+ // get the double differences
+ arc[t].dd = rotdi->second/lamda[rot];
+ arc.master = ddi->second.masterPrn;
+
+ // Get the phases from the original obs
+ arc[t].phase = l1->second.data/lamda[rot];
+ }
+ }
+ }
+}
+
+
+void PhaseCleaner::debias(void)
+{
+ if (verbosity)
+ cout << "Debiasing phase data." << endl;
+
+ // At this point, the pot has the phase, dd, and master prn set.
+ for (PraPrnOt::iterator i = pot.begin(); i != pot.end(); i++)
+ {
+ const RinexObsType& rot = i->first;
+ PraPrn& praPrn = i->second;
+
+ for (PraPrn::iterator j = praPrn.begin(); j != praPrn.end(); j++)
+ {
+ const gpstk::RinexPrn& prn = j->first;
+ PhaseResidual::ArcList& pral = j->second;
+ if (verbosity>1)
+ cout << "Debiasing prn " << prn.prn << " " << rot.type << endl;
+ pral.split();
+ pral.debias();
+ if (verbosity>1)
+ cout << pral;
+ }
+ }
+} // end of debias()
+
+//-----------------------------------------------------------------------------
+// Gets the double differences and puts them back into the DDEpochMap
+//-----------------------------------------------------------------------------
+void PhaseCleaner::getPhaseDD(DDEpochMap& ddem) const
+{
+ if (verbosity)
+ cout << "Putting phase data back into the ddem." << endl;
+
+ // Really should use pot to walk through the data...
+
+ for (PraPrnOt::const_iterator i = pot.begin(); i != pot.end(); i++)
+ {
+ const gpstk::RinexObsHeader::RinexObsType& rot = i->first;
+ const PraPrn& pp = i->second;
+
+ for (PraPrn::const_iterator j = pp.begin(); j != pp.end(); j++)
+ {
+ const gpstk::RinexPrn& prn = j->first;
+ const PhaseResidual::ArcList& al = j->second;
+
+ for (PhaseResidual::ArcList::const_iterator k = al.begin(); k != al.end(); k++)
+ {
+ const PhaseResidual::Arc& arc = *k;
+
+ for (PhaseResidual::Arc::const_iterator l = arc.begin(); l != arc.end(); l++)
+ {
+ const gpstk::DayTime& t = l->first;
+ const PhaseResidual::Obs& obs = l->second;
+
+ // Whew! thats deep. Now to stuff the dd back in to the ddem
+ // remember that ddem has it's values in meters
+ ddem[t].dd[prn][rot] = obs.dd * lamda[rot];
+ }
+ }
+ }
+ }
+}
+
+//-----------------------------------------------------------------------------
+// Gets the double differences and puts them back into the DDEpochMap
+//-----------------------------------------------------------------------------
+void PhaseCleaner::getSlips(CycleSlipList& csl) const
+{
+ // At this point, the pot has the phase, dd, and master prn set.
+ for (PraPrnOt::const_iterator i = pot.begin(); i != pot.end(); i++)
+ {
+ const RinexObsType& rot = i->first;
+ const PraPrn& praPrn = i->second;
+
+ for (PraPrn::const_iterator j = praPrn.begin(); j != praPrn.end(); j++)
+ {
+ const gpstk::RinexPrn& prn = j->first;
+ const PhaseResidual::ArcList& al = j->second;
+
+ for (PhaseResidual::ArcList::const_iterator k = al.begin(); k != al.end(); k++)
+ {
+ if (k==al.begin())
+ continue;
+ const PhaseResidual::Arc& arc = *k;
+ if (arc.size() > 5)
+ {
+ PhaseResidual::ArcList::const_iterator l = k;
+ l--;
+ const PhaseResidual::Arc& prev_arc = *l;
+
+ CycleSlipRecord cs;
+ cs.t = arc.begin()->first;
+ cs.cycles = (arc.ddBias - prev_arc.ddBias);
+ cs.rot = rot;
+ cs.prn = prn;
+ cs.masterPrn = arc.master;
+ cs.postCount = arc.size();
+ cs.preCount = prev_arc.size();
+ }
+ }
+ }
+
+ }
+}
diff --git a/trunk/apps/reszilla/PhaseCleaner.hpp b/trunk/apps/reszilla/PhaseCleaner.hpp
new file mode 100644
index 0000000..4fb5d9b
--- /dev/null
+++ b/trunk/apps/reszilla/PhaseCleaner.hpp
@@ -0,0 +1,38 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/PhaseCleaner.hpp#1 $"
+
+#ifndef PHASECLEANER_HPP
+#define PHASECLEANER_HPP
+
+#include <set>
+
+#include "DDEpoch.hpp"
+#include "PhaseResidual.hpp"
+
+class PhaseCleaner
+{
+public:
+ PhaseCleaner();
+ void addData(const RODEpochMap& rx1, const RODEpochMap& rx2, const DDEpochMap& ddem);
+
+ void debias(void);
+
+ void getSlips(CycleSlipList& csl) const;
+
+ void dump(std::ostream& s) const;
+
+ void getPhaseDD(DDEpochMap& ddem) const;
+
+ typedef std::set<RinexObsType> RinexObsTypeSet;
+ RinexObsTypeSet phaseObsTypes;
+
+ mutable ROTDM lamda;
+
+ // And an set of arcs for each PRN
+ typedef std::map<gpstk::RinexPrn, PhaseResidual::ArcList> PraPrn;
+
+ // And a set of those for each obs type
+ typedef std::map<gpstk::RinexObsHeader::RinexObsType, PraPrn> PraPrnOt;
+
+ PraPrnOt pot;
+};
+#endif
diff --git a/trunk/apps/reszilla/PhaseResidual.cpp b/trunk/apps/reszilla/PhaseResidual.cpp
new file mode 100644
index 0000000..841925f
--- /dev/null
+++ b/trunk/apps/reszilla/PhaseResidual.cpp
@@ -0,0 +1,115 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/PhaseResidual.cpp#1 $"
+
+#include "Stats.hpp"
+
+#include "PhaseResidual.hpp"
+
+namespace PhaseResidual
+{
+//------------------------------------------------------------------------------
+ void Obs::dump(std::ostream& s) const
+ {
+ s << "phase:" << phase
+ << " dd:" << dd
+ << " td:" << td;
+ }
+
+ std::ostream& operator << (std::ostream& s, const Obs& pr) { pr.dump(s); }
+
+
+//------------------------------------------------------------------------------
+ void Arc::computeTD(void)
+ {
+ iterator i, j;
+ for (i = j = begin(); i != end(); j=i++)
+ {
+ if (i == begin())
+ continue;
+ Obs& curr = i->second;
+ Obs& prev = j->second;
+ curr.td = curr.dd - prev.dd;
+ }
+ }
+
+ void Arc::debiasDD(double bias)
+ {
+ ddBias = bias;
+ for (iterator i = begin(); i != end(); i++)
+ i->second.dd -= ddBias;
+ }
+
+ gpstk::Stats<double> Arc::statsDD(void) const
+ {
+ gpstk::Stats<double> stats;
+
+ for (const_iterator i = begin(); i != end(); i++)
+ stats.Add(i->second.dd);
+
+ return stats;
+ }
+
+ void Arc::dump(std::ostream& s) const
+ {
+ gpstk::Stats<double> stats = statsDD();
+
+ s << "Arc size:" << size()
+ << " StdDev:" << stats.StdDev()
+ << " Average:" << stats.Average()
+ << std::endl;
+ }
+
+ std::ostream& operator <<(std::ostream& s, const Arc& arc) { arc.dump(s); }
+
+
+//------------------------------------------------------------------------------
+ void ArcList::split(void)
+ {
+ // First compute the triple differences for the first arc
+ front().computeTD();
+
+ // Now break the arc on big triple differences
+ iterator arc = begin();
+ for (Arc::iterator i = arc->begin(); i != arc->end(); i++)
+ {
+ Obs& pr = i->second;
+ bool slip = std::abs(pr.td) > 0.45;
+ if (slip)
+ {
+ int prevSize = arc->size();
+ // move from here to end to the next arc
+ Arc pra;
+ push_back(pra);
+ iterator nextArc = end();
+ nextArc--;
+ nextArc->insert(i, arc->end());
+ arc->erase(i, arc->end());
+ arc = nextArc;
+ i = arc->begin();
+ }
+ }
+ }
+
+ void ArcList::debias(void)
+ {
+ for (iterator i = begin(); i != end(); i++)
+ i->debiasDD(i->statsDD().Average());
+ }
+
+ void ArcList::dump(std::ostream& s) const
+ {
+ for (const_iterator i = begin(); i != end(); i++)
+ i->dump(s);
+
+ gpstk::Stats<double> stats;
+ for (const_iterator i = begin(); i != end(); i++)
+ for (Arc::const_iterator j = i->begin(); j != i->end(); j++)
+ stats.Add(j->second.dd);
+
+ s << "ArcList N:" << stats.N()
+ << " StdDev:" << stats.StdDev()
+ << " Average:" << stats.Average()
+ << std::endl;
+ }
+
+ std::ostream& operator <<(std::ostream& s, const ArcList& al) { al.dump(s); }
+} // end of PhaseResidual namespace
diff --git a/trunk/apps/reszilla/PhaseResidual.hpp b/trunk/apps/reszilla/PhaseResidual.hpp
new file mode 100644
index 0000000..90f28c7
--- /dev/null
+++ b/trunk/apps/reszilla/PhaseResidual.hpp
@@ -0,0 +1,71 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/PhaseResidual.hpp#1 $"
+
+#ifndef PHASERESIDUAL_HPP
+#define PHASERESIDUAL_HPP
+
+#include <map>
+#include <iostream>
+
+#include "DayTime.hpp"
+#include "RinexObsHeader.hpp"
+
+#include "ElevationRange.hpp"
+
+// This namespace is just to keep the identifiers meaninfull and short...
+namespace PhaseResidual
+{
+ // The value of phase, double difference, triple difference for a single
+ // sv observable at a point in time.
+ class Obs
+ {
+ public:
+ double phase, dd, td; // units of cycles
+
+ Obs():phase(0),dd(0),td(0){};
+
+ void dump(std::ostream& s) const;
+ };
+
+ std::ostream& operator << (std::ostream& s, const Obs& pr);
+
+
+ // This is a set of observations over time plus a bias that has been
+ // removed from the double difference
+ class Arc : public std::map<gpstk::DayTime, Obs>
+ {
+ public:
+ Arc():ddBias(0){};
+ void dump(std::ostream& s) const;
+
+ double ddBias;
+ gpstk::RinexPrn master;
+
+ void computeTD();
+ void debiasDD(double bias);
+
+ gpstk::Stats<double> statsDD(void) const;
+ };
+
+ std::ostream& operator << (std::ostream& s, const Arc& arc);
+
+
+ // This is a set of arcs. While this class doesn't enforce it, the will
+ // be all from the same SV/observation type
+ class ArcList : public std::list<Arc>
+ {
+ public:
+ ArcList() {push_back(Arc());};
+
+ // compute triple differences in the first arc and then split that
+ // arc up based upon jumps in the triple differences.
+ void split();
+
+ // make each arc have a zero mean
+ void debias();
+
+ void dump(std::ostream& s) const;
+ };
+
+ std::ostream& operator << (std::ostream& s, const ArcList& pral);
+}
+#endif
diff --git a/trunk/apps/reszilla/ordUtils.cpp b/trunk/apps/reszilla/ordUtils.cpp
new file mode 100644
index 0000000..87a1b8a
--- /dev/null
+++ b/trunk/apps/reszilla/ordUtils.cpp
@@ -0,0 +1,268 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/ordUtils.cpp#1 $"
+
+#include "util.hpp"
+
+#include "ordUtils.hpp"
+
+#include "LinearClockModel.cpp"
+
+using namespace std;
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void compute_ords(ORDEpochMap& oem,
+ const RODEpochMap& rem,
+ const gpstk::RinexObsHeader& roh,
+ const gpstk::EphemerisStore& eph,
+ const gpstk::WxObsData& wod,
+ bool svTime,
+ const string& ordModeStr,
+ const std::string& clkModelStr)
+{
+ bool dualFreq=false;
+ RinexObsType p1,p2;
+
+ if (ordModeStr=="p1p2" || ordModeStr=="c1p2") dualFreq=true;
+
+ if (ordModeStr=="p1p2") p1=P1, p2=P2;
+ else if (ordModeStr=="c1p2") p1=C1, p2=P2;
+ else if (ordModeStr=="c1") p1=C1;
+ else if (ordModeStr=="p1") p1=P1;
+ else if (ordModeStr=="p2") p1=P2;
+ else
+ {
+ cout << "Unknown ORD computation requested, mode=" << ordModeStr << endl;
+ return;
+ }
+
+ if (verbosity)
+ cout << "Computing observed range deviations." << endl;
+
+ if (verbosity>1)
+ if (svTime)
+ cout << "Assuming data is tagged in SV time (time of emission)." << endl;
+ else
+ cout << "Assuming data is taged in Receiver time (gps time)." << endl;
+
+
+ if (gpstk::RSS(roh.antennaPosition[0],
+ roh.antennaPosition[1],
+ roh.antennaPosition[2]) < 1)
+ {
+ cout << "Warning! The antenna appears to be within one meter of the" << endl
+ << "center of the geoid. This program is not capable of" << endl
+ << "accurately estimating the propigation of GNSS signals" << endl
+ << "through solids such as a planetary crust or magma. Also," << endl
+ << "if this location is correct, your antenna is probally" << endl
+ << "no longer in the best of operating condition." << endl;
+ return;
+ }
+
+ gpstk::ObsClockModel* cm;
+ if (clkModelStr=="epoch")
+ {
+ if (verbosity)
+ cout << "Using an epoch clock model." << endl;
+ cm = new(gpstk::EpochClockModel);
+ }
+ else if (clkModelStr=="linear")
+ {
+ if (verbosity)
+ cout << "Using a linear clock model." << endl;
+ cm = new(gpstk::LinearClockModel);
+ }
+ else
+ {
+ cout << "Unknown clock model requestd, model=" << clkModelStr << endl;
+ return;
+ }
+
+ if (verbosity>4)
+ gpstk::ObsRngDev::debug = true;
+
+ cm->setElevationMask(5);
+ gpstk::GPSGeoid gm;
+ gpstk::ECEF ap(roh.antennaPosition);
+ gpstk::Geodetic geo(ap, &gm);
+ gpstk::NBTropModel tm(geo.getAltitude(), geo.getLatitude(), roh.firstObs.DOYday());
+
+ RODEpochMap::const_iterator i;
+ for (i=rem.begin(); i!=rem.end(); i++)
+ {
+ const gpstk::DayTime& t = i->first;
+ const gpstk::RinexObsData& rod = i->second;
+
+ gpstk::ORDEpoch& oe = oem[t];
+ oe.time = t;
+
+ // Now set up our trop model for this epoch
+ const gpstk::WxObservation wx = wod.getMostRecent(t);
+ if (verbosity>3)
+ cout << "wx: " << wx << endl;
+ if (wx.isAllValid())
+ tm.setWeather(wx.temperature, wx.pressure, wx.humidity);
+
+ // Walk over all prns in this epoch
+ gpstk::RinexObsData::RinexPrnMap::const_iterator rpi;
+ for (rpi=rod.obs.begin(); rpi!=rod.obs.end(); rpi++)
+ {
+ short prn = rpi->first.prn;
+
+ gpstk::RinexObsData::RinexObsTypeMap rotm = rpi->second;
+
+ try
+ {
+ if (dualFreq)
+ {
+ gpstk::ObsRngDev ord(rotm[p1].data, rotm[p2].data,
+ prn, t, ap, eph, gm, tm, svTime);
+ oe.ords[prn] = ord;
+ }
+ else
+ {
+ gpstk::ObsRngDev ord(rotm[p1].data,
+ prn, t, ap, eph, gm, tm, svTime);
+ oe.ords[prn] = ord;
+ }
+ }
+ catch (gpstk::EphemerisStore::NoEphemerisFound& e)
+ {
+ if (verbosity>2)
+ cout << e.getText() << endl;
+ }
+ }
+
+ cm->addEpoch(oe);
+ if (verbosity>3)
+ cout << "clk: " << *cm << endl;
+ oe.applyClockModel(*cm);
+ if (verbosity>3)
+ cout << "oe: " << oe;
+ }
+
+ delete cm;
+} // end of compute_ords()
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dumpStats(const ORDEpochMap& oem,
+ const string& ordMode,
+ const double sigmam)
+{
+ cout << endl
+ << "ord elev stddev mean z #obs #del max strip" << endl
+ << "---------- ----- ------- ---------- ------ ---- ------ ------" << endl;
+
+ string desc = ordMode + " ord ";
+
+ for (ElevationRangeList::const_iterator i = elr.begin(); i != elr.end(); i++)
+ computeStats(desc, oem, *i, sigmam);
+
+ if (verbosity>1)
+ cout << endl
+ << "stddev, mean, max, and strip in meters" << endl
+ << "z: 0 if mean < stddev/sqrt(n)" << endl;
+}
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void computeStats(
+ const string desc,
+ const ORDEpochMap& oem,
+ const ElevationRange er,
+ const double sigmam)
+{
+ float minElevation = er.first;
+ float maxElevation = er.second;
+
+ gpstk::Stats<double> fp;
+ ORDEpochMap::const_iterator ei;
+ for (ei = oem.begin(); ei != oem.end(); ei++)
+ {
+ const gpstk::DayTime& t = ei->first;
+ gpstk::ORDEpoch::ORDMap::const_iterator pi;
+ for (pi = ei->second.ords.begin(); pi != ei->second.ords.end(); pi++)
+ {
+ const float el = pi->second.getElevation();
+ const double ord = pi->second.getORD();
+ if (el>minElevation && el<maxElevation && abs(ord) < 1e6)
+ fp.Add(ord);
+ }
+ }
+
+ double strip = sigmam * fp.StdDev();
+ gpstk::Stats<double> good, bad;
+ for (ei = oem.begin(); ei != oem.end(); ei++)
+ {
+ const gpstk::DayTime& t = ei->first;
+ gpstk::ORDEpoch::ORDMap::const_iterator pi;
+ for (pi = ei->second.ords.begin(); pi != ei->second.ords.end(); pi++)
+ {
+ const float el = pi->second.getElevation();
+ const double ord = pi->second.getORD();
+ if (el>minElevation && el<maxElevation)
+ {
+ if (abs(ord) < strip)
+ good.Add(ord);
+ else
+ bad.Add(ord);
+ }
+ }
+ }
+
+ cout << left << setw(10) << desc << right
+ << " "
+ << setprecision(2) << setw(2) << minElevation
+ << "-"
+ << setw(2) << maxElevation
+ << " ";
+
+ char b1[200];
+ char zero = good.Average() < good.StdDev()/sqrt((float)good.N())?'0':' ';
+ double maxOrd = max(abs(good.Minimum()), abs(good.Maximum()));
+ sprintf(b1, "%8.5f %8.4f %c %7d %4d %6.2f %6.2f",
+ good.StdDev(), good.Average(), zero,
+ good.N(), bad.N(), maxOrd, strip);
+
+ cout << b1 << endl;
+}
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dump(std::ostream& s, const ORDEpochMap& oem)
+{
+ s.setf(ios::fixed, ios::floatfield);
+ s << "# time PRN type elev clk(m)"
+ << " ord(m) iodc health"
+ << endl;
+
+ ORDEpochMap::const_iterator ei;
+ for (ei = oem.begin(); ei != oem.end(); ei++)
+ {
+ const gpstk::DayTime& t = ei->first;
+ string time=t.printf(timeFormat);
+ gpstk::ORDEpoch::ORDMap::const_iterator pi;
+ const gpstk::ORDEpoch& e = ei->second;
+ for (pi = e.ords.begin(); pi != e.ords.end(); pi++)
+ {
+ const short& prn = pi->first;
+ const gpstk::ObsRngDev& ord = pi->second;
+
+ s << left << setw(20) << time << right
+ << setfill(' ')
+ << " " << setw(2) << prn
+ << " " << setw(4) << 0
+ << " " << setprecision(1) << setw(5) << ord.getElevation()
+ << " " << setprecision(3) << setw(12) << e.clockOffset
+
+ << " " << setw(14) << setprecision(5) << ord.getORD()
+ << hex
+ << " " << setw(4) << ord.getIODC()
+ << " " << setw(7) << ord.getHealth()
+ << dec
+ << endl;
+ }
+ }
+} // end dump()
diff --git a/trunk/apps/reszilla/ordUtils.hpp b/trunk/apps/reszilla/ordUtils.hpp
new file mode 100644
index 0000000..aecd530
--- /dev/null
+++ b/trunk/apps/reszilla/ordUtils.hpp
@@ -0,0 +1,28 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/ordUtils.hpp#1 $"
+
+#include <iostream>
+#include <string>
+
+#include "util.hpp"
+
+void compute_ords(ORDEpochMap& oem,
+ const RODEpochMap& rem,
+ const gpstk::RinexObsHeader& roh,
+ const gpstk::EphemerisStore& bce,
+ const gpstk::WxObsData& wod,
+ bool svTime,
+ const std::string& ordModeStr,
+ const std::string& clkModelStr);
+
+void dump(std::ostream& s, const ORDEpochMap& oem);
+
+void dumpStats(const ORDEpochMap& oem,
+ const std::string& ordMode,
+ const double sigmam=5);
+
+void computeStats(const std::string desc,
+ const ORDEpochMap& oem,
+ const ElevationRange er,
+ const double sigmam);
+
+
diff --git a/trunk/apps/reszilla/readers.cpp b/trunk/apps/reszilla/readers.cpp
new file mode 100644
index 0000000..ec0390f
--- /dev/null
+++ b/trunk/apps/reszilla/readers.cpp
@@ -0,0 +1,499 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/readers.cpp#10 $"
+
+#include <iostream>
+#include <iomanip>
+#include <string>
+#include <map>
+
+#include "SP3EphemerisStore.hpp"
+#include "RinexEphemerisStore.hpp"
+#include "GPSGeoid.hpp"
+#include "TropModel.hpp"
+#include "Geodetic.hpp"
+
+
+#include "DayTime.hpp"
+
+#include "RinexObsStream.hpp"
+#include "RinexObsData.hpp"
+
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "RinexMetStream.hpp"
+#include "RinexMetData.hpp"
+
+#include "FICStream.hpp"
+#include "FICData.hpp"
+
+#include "SMODFStream.hpp"
+#include "SMODFData.hpp"
+
+#include "MSCData.hpp"
+#include "MSCStream.hpp"
+
+
+#include "readers.hpp"
+
+
+using namespace std;
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void read_msc_data(std::string& fn,
+ unsigned long msid,
+ gpstk::RinexObsHeader& roh)
+{
+ gpstk::MSCStream msc(fn.c_str(), ios::in);
+ gpstk::MSCData mscd;
+ while (msc >> mscd)
+ {
+ if (mscd.station == msid)
+ {
+ roh.antennaPosition = mscd.coordinates;
+ if (verbosity>1)
+ cout << "Station " << msid
+ << " location: " << mscd.coordinates << endl;
+ break;
+ }
+ }
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void read_obs_data(gpstk::CommandOption& files, //string& fn,
+ unsigned long msid,
+ RODEpochMap& rem,
+ gpstk::RinexObsHeader& roh)
+{
+ string fn;
+ try
+ {
+ for (int i=0; i<files.getCount(); i++)
+ {
+ fn = (files.getValue())[i];
+ try {
+ read_rinex_data(fn, rem, roh);
+ }
+ catch (gpstk::FFStreamError& e) {
+ if (verbosity > 3)
+ cout << e << endl;
+ try {
+ read_smo_data(fn, msid, rem, roh);
+ }
+ catch (gpstk::FFStreamError& e) {
+ if (verbosity > 3)
+ cout << e << endl;
+ cout << "Could not determine the type of obs data files" << endl;
+ }
+ }
+ }
+ }
+ catch (std::exception e)
+ {
+ cout << "Error opening obs data file " << fn << endl;
+ exit(-1);
+ }
+
+} // end of read_obs_data()
+
+
+
+void read_rinex_data(string& fn, RODEpochMap& rem, gpstk::RinexObsHeader& roh)
+{
+ gpstk::RinexObsStream ros(fn.c_str(), ios::in);
+ ros.exceptions(std::fstream::failbit);
+ ros >> roh;
+
+ if (verbosity>1)
+ cout << "Reading RINEX obs data from " << fn << "." << endl;
+
+ if (verbosity > 3)
+ roh.dump(cout);
+
+ gpstk::DayTime t0(gpstk::DayTime::END_OF_TIME);
+ gpstk::DayTime t1(gpstk::DayTime::BEGINNING_OF_TIME);
+ gpstk::DayTime t2(gpstk::DayTime::BEGINNING_OF_TIME);
+
+ gpstk::RinexObsData rod;
+ while(ros >> rod)
+ {
+ const gpstk::DayTime& t = rod.time;
+ if (t<t0) t0=t;
+ if (t>t1) t1=t;
+ if (t<=t2 && verbosity>1)
+ cout << "Out of order obs data in rinex input ("
+ << t2 << " -> " << t << ")" << endl;
+ t2=t;
+ rem[t] = rod;
+ }
+
+ roh.firstObs = t0;
+ roh.valid |= gpstk::RinexObsHeader::firstTimeValid;
+ roh.lastObs = t1;
+ roh.valid |= gpstk::RinexObsHeader::lastTimeValid;
+} // end of read_rinex_data()
+
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+short snr2ssi(float x)
+{
+ // These values were obtained from the comments in a RINEX obs file that was
+ // generated from a TurboBinary file recorded on an AOA Benchmark receiver
+ if (x>316) return 9;
+ if (x>100) return 8;
+ if (x>31.6) return 7;
+ if (x>10) return 6;
+ if (x>3.2) return 5;
+ if (x>0) return 4;
+ return 0;
+}
+
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void read_smo_data(string& fn,
+ unsigned long msid,
+ RODEpochMap& rem,
+ gpstk::RinexObsHeader& roh)
+{
+ roh.valid |= gpstk::RinexObsHeader::allValid21;
+ roh.fileType = "unk";
+ roh.markerName = gpstk::StringUtils::asString(msid);
+ roh.observer = "unk";
+ roh.agency = "unk";
+ roh.antennaOffset = gpstk::Triple(0,0,0);
+ roh.wavelengthFactor[0] = 1;
+ roh.wavelengthFactor[1] = 1;
+ roh.recType = "unk";
+ roh.recVers = "unk";
+ roh.recNo = "1";
+ roh.antType = "unk";
+ roh.antNo = "1";
+ roh.obsTypeList.push_back(gpstk::RinexObsHeader::P1);
+ roh.obsTypeList.push_back(gpstk::RinexObsHeader::L1);
+
+ gpstk::DayTime startTime(gpstk::DayTime::END_OF_TIME);
+ gpstk::DayTime endTime(gpstk::DayTime::BEGINNING_OF_TIME);
+ gpstk::DayTime thisTime=endTime;
+ gpstk::DayTime lastTime=endTime;
+
+ gpstk::SMODFData smodata;
+ gpstk::RinexObsData rod;
+ gpstk::RinexObsData::RinexObsTypeMap rotm;
+ bool first=true;
+
+ gpstk::SMODFStream smo(fn.c_str(), ios::in);
+
+ smo.exceptions(std::fstream::failbit);
+ while (smo >> smodata)
+ {
+ if (first)
+ {
+ first=false;
+ if (verbosity>1)
+ cout << "Reading SMODF obs data from " << fn << "." << endl;
+ }
+
+ if (smodata.station != msid)
+ continue;
+
+ rod.numSvs++;
+ const gpstk::DayTime& thisTime = smodata.time;
+ startTime = min(thisTime, startTime);
+ endTime = max(thisTime, endTime);
+
+ if (thisTime != lastTime)
+ {
+ if (rod.obs.size())
+ rem[rod.time]=rod;
+
+ lastTime=thisTime;
+ rod.time = thisTime;
+ rod.clockOffset = 0;
+ rod.obs.clear();
+ rod.epochFlag = 0;
+ rod.numSvs = 0;
+ }
+
+ if (smodata.type==0)
+ {
+ rotm[gpstk::RinexObsHeader::P1].data = smodata.obs*1000;
+ rotm[gpstk::RinexObsHeader::P1].lli = 0;
+ rotm[gpstk::RinexObsHeader::P1].ssi = 9;
+ }
+ else if (smodata.type==9)
+ {
+ rotm[gpstk::RinexObsHeader::L1].data = smodata.obs;
+ rotm[gpstk::RinexObsHeader::L1].lli = 0;
+ rotm[gpstk::RinexObsHeader::L1].ssi = 9;
+ }
+
+ gpstk::RinexPrn p(smodata.PRNID, gpstk::systemGPS);
+ rod.obs[p] = rotm;
+ }
+
+ roh.firstObs = startTime;
+ roh.valid |= gpstk::RinexObsHeader::firstTimeValid;
+ roh.lastObs = endTime;
+ roh.valid |= gpstk::RinexObsHeader::lastTimeValid;
+} // end of read_smo_data()
+
+
+// ---------------------------------------------------------------------
+// Read in weather data into the indicated store
+// ---------------------------------------------------------------------
+gpstk::WxObsData& read_met_data(gpstk::CommandOption& files)
+{
+ gpstk::WxObsData *wod = new(gpstk::WxObsData);
+
+ for (int i=0; i<files.getCount(); i++)
+ {
+ string fn = (files.getValue())[i];
+ gpstk::RinexMetStream rms;
+ try { rms.open(fn.c_str(), ios::in); }
+ catch (...) {
+ cout << "Error reading weather data from file " << fn << endl;
+ exit(-1);
+ }
+ if (verbosity>1)
+ cout << "Reading met data from " << fn << "." << endl;
+
+ gpstk::RinexMetData rmd;
+ while (rms >> rmd)
+ {
+ gpstk::WxObservation wob(
+ rmd.time,
+ rmd.data[gpstk::RinexMetHeader::TD],
+ rmd.data[gpstk::RinexMetHeader::PR],
+ rmd.data[gpstk::RinexMetHeader::HR]);
+ wod->insertObservation(wob);
+ }
+
+ }
+
+ if (verbosity>1)
+ if (wod->firstTime < wod->lastTime)
+ cout << "Have met data from " << wod->firstTime
+ << " to " << wod->lastTime << "." << endl;
+ else
+ cout << "No met data for you!" << endl;
+
+ return *wod;
+} // end of read_met_data()
+
+
+// ---------------------------------------------------------------------
+// Read in ephemeris data into the indicated store
+// ---------------------------------------------------------------------
+gpstk::EphemerisStore& read_eph_data(gpstk::CommandOption& files)
+{
+ gpstk::EphemerisStore* eph=NULL;
+ gpstk::BCEphemerisStore* bce;
+ gpstk::SP3EphemerisStore* pe;
+
+ try
+ {
+ // First try the first file as a RINEX nav file
+ bce = new(gpstk::BCEphemerisStore);
+ for (int i=0; i<files.getCount(); i++)
+ {
+ string fn = (files.getValue())[i];
+ if (verbosity>2 && i==0)
+ cout << "Attepmting to read " << fn << " as RINEX nav." << endl;
+
+ gpstk::RinexNavStream rns(fn.c_str(), ios::in);
+ rns.exceptions(ifstream::failbit);
+ gpstk::RinexNavData rnd;
+ while (rns >> rnd)
+ bce->addEphemeris(rnd);
+ }
+ if (verbosity>1)
+ cout << "Read RINEX format broadcast ephemerides." << endl;
+ eph = bce;
+ }
+ catch (gpstk::FFStreamError& e)
+ {
+ if (verbosity>3)
+ cout << e << endl;
+ delete bce;
+ }
+
+ // If the file failed to read as a RINEX file, try it as a SP3 file
+ if (!eph) try
+ {
+ pe = new(gpstk::SP3EphemerisStore);
+ for (int i=0; i<files.getCount(); i++)
+ {
+ string fn = (files.getValue())[i];
+ if (verbosity>2 && i==0)
+ cout << "Attempting to read " << fn << " as SP3." << endl;
+
+ gpstk::SP3Stream pefile(fn.c_str(),ios::in);
+ pefile.exceptions(ifstream::failbit);
+
+ gpstk::SP3Header header;
+ pefile >> header;
+
+ gpstk::SP3Data data;
+ while(pefile >> data)
+ pe->addEphemeris(data);
+ }
+ if (verbosity>1)
+ cout << "Read SP3 format precise ephemerides." << endl;
+ eph = pe;
+ }
+ catch (gpstk::FFStreamError& e)
+ {
+ if (verbosity>3)
+ cout << e << endl;
+ delete pe;
+ }
+
+
+ // If the file failed to read as a RINEX or SP3 file, try it as a FIC file
+ if (!eph) try
+ {
+ bce = new(gpstk::BCEphemerisStore);
+ for (int i=0; i<files.getCount(); i++)
+ {
+ string fn = (files.getValue())[i];
+ if (verbosity>2 && i==0)
+ cout << "Attempting to read " << fn << "as FIC." << endl;
+
+ gpstk::FICStream fs(fn.c_str());
+ // Note that we don't want to set the stream failbit since the binary
+ // read routines take care of throwing all the error conditions.
+
+ gpstk::FICHeader header;
+ fs >> header;
+
+ gpstk::FICData data;
+ while(fs >> data)
+ if (data.blockNum==9) // Only look at the eng ephemeris
+ bce->addEphemeris(data);
+ }
+ if (verbosity>1)
+ cout << "Read FIC format broadcast ephemerides." << endl;
+ eph = bce;
+ }
+ catch (gpstk::FFStreamError& e)
+ {
+ if (verbosity>3)
+ cout << e << "Blarf, man." << endl;
+ delete bce;
+ }
+
+
+ // If the file failed to read as a RINEX, FIC, or SP3 file give up
+ if (!eph)
+ {
+ cout << "Could not determine type of nav data supplied" << endl;
+ eph = new(gpstk::BCEphemerisStore);
+ }
+ else
+ {
+ if (verbosity>1)
+ if (eph->getInitialTime() < eph->getFinalTime())
+ cout << "Have ephemeris data from " << eph->getInitialTime()
+ << " to " << eph->getFinalTime() << endl;
+ else
+ cout << "Do not have any ephemeris data" << endl;
+ }
+
+ return *eph;
+} // end of read_eph_data()
+
+
+std::string myGetLine(std::ifstream& s, unsigned long& lineNumber, unsigned long target=0)
+{
+ std::string line;
+
+ while (true)
+ {
+ std::getline(s, line);
+ lineNumber++;
+ if (lineNumber>=target)
+ break;
+ }
+
+ return line;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void read_pec_data(string& fn, unsigned long msid, RODEpochMap& rem)
+{
+ std::ifstream input(fn.c_str(), ios::in);
+ input.exceptions(std::fstream::failbit);
+
+ unsigned long lineNumber=0;
+
+ try
+ {
+ std::istringstream p2(myGetLine(input, lineNumber, 6));
+ unsigned year, doy;
+ string master;
+ p2 >> master >> year >> doy;
+ cout << master << ", " << year << ", " << doy;
+
+ std::istringstream parser(myGetLine(input, lineNumber, 7));
+ int n;
+ parser >> n;
+ unsigned long msIndex;
+ for (int j=1; j<=n; j++)
+ {
+ unsigned long i;
+ parser >> i;
+ if (i==msid)
+ {
+ msIndex=i;
+ if (verbosity)
+ cout << "msIndex: " << msIndex << endl;
+ continue;
+ }
+ }
+ if (msIndex>n)
+ cout << "uh, we are borked.";
+
+ gpstk::DayTime startTime(gpstk::DayTime::END_OF_TIME);
+ gpstk::DayTime endTime(gpstk::DayTime::BEGINNING_OF_TIME);
+ gpstk::DayTime thisTime=endTime;
+ gpstk::DayTime lastTime=endTime;
+ gpstk::RinexObsData rod;
+ gpstk::RinexObsData::RinexObsTypeMap rotm;
+ unsigned long epochNumber=0;
+ myGetLine(input, lineNumber, 10);
+
+ while (input)
+ {
+ std::istringstream parser(myGetLine(input, lineNumber));
+ string w[10];
+ parser >> w[0] >> w[1] >> w[2];
+ if (w[0] == "DATA" && w[1]=="RECORD")
+ {
+ std::istringstream parser(myGetLine(input, lineNumber));
+ long double epochOffset;
+ parser >> epochOffset;
+ thisTime.setYDoySod(year, doy, 0);
+ thisTime+= epochOffset;
+ cout << "epoch : " << thisTime;
+ }
+ if (w[0]=="STATION" && w[1]=="TIME" && w[2]=="OFFSET")
+ {
+ cout << "Rx offset: " << endl;
+ }
+ }
+ if (verbosity>1)
+ cout << "Have clock data from " << startTime << " to " << endTime << "." << endl;
+ }
+ catch (...)
+ {
+ cout << "caught one!" << endl;
+ }
+
+} // end of read_pec_data()
diff --git a/trunk/apps/reszilla/readers.hpp b/trunk/apps/reszilla/readers.hpp
new file mode 100644
index 0000000..b6ddbb8
--- /dev/null
+++ b/trunk/apps/reszilla/readers.hpp
@@ -0,0 +1,41 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/readers.hpp#7 $"
+//
+// Utilitiy functions for reading in various types of data
+//
+
+#include <string>
+
+#include "CommandOption.hpp"
+#include "CommandOptionParser.hpp"
+#include "EphemerisStore.hpp"
+
+#include "util.hpp"
+
+
+void read_obs_data(gpstk::CommandOption& files,
+ unsigned long msid,
+ RODEpochMap& rem,
+ gpstk::RinexObsHeader& roh);
+
+void read_rinex_data(std::string& fn,
+ RODEpochMap& rem,
+ gpstk::RinexObsHeader& roh);
+
+void read_msc_data(std::string& fn,
+ unsigned long msid,
+ gpstk::RinexObsHeader& roh);
+
+void read_smo_data(std::string& fn,
+ unsigned long msid,
+ RODEpochMap& rem,
+ gpstk::RinexObsHeader& roh);
+
+void read_pec_data(std::string& fn,
+ unsigned long msid,
+ RODEpochMap& rem);
+
+gpstk::EphemerisStore& read_eph_data(gpstk::CommandOption& files);
+
+gpstk::WxObsData& read_met_data(gpstk::CommandOption& files);
+
+
diff --git a/trunk/apps/reszilla/reszilla b/trunk/apps/reszilla/reszilla
new file mode 100755
index 0000000..964145d
Binary files /dev/null and b/trunk/apps/reszilla/reszilla differ
diff --git a/trunk/apps/reszilla/reszilla.cpp b/trunk/apps/reszilla/reszilla.cpp
new file mode 100644
index 0000000..d6cf4c6
--- /dev/null
+++ b/trunk/apps/reszilla/reszilla.cpp
@@ -0,0 +1,318 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/reszilla.cpp#13 $"
+//
+// Compute observed range deviations (ORDs) and double
+// difference residuals from rinex obs files.
+//
+
+#include <fstream>
+#include <BCEphemerisStore.hpp>
+
+#include "readers.hpp"
+#include "util.hpp"
+#include "ordUtils.hpp"
+#include "PhaseCleaner.hpp"
+
+using namespace std;
+
+int verbosity;
+string timeFormat;
+ElevationRangeList elr;
+
+int main(int argc, char *argv[])
+{
+ string hmsFmt="%Y %3j %02H:%02M:%02S";
+ string sodFmt="%Y %3j %7.1s";
+ string ordMode="c1p2";
+ string clkMode="epoch";
+ string ddMode="sv";
+ unsigned long msid=0;
+ double sigmaMask=6;
+
+ timeFormat = hmsFmt;
+ verbosity = 1;
+
+ try
+ {
+ gpstk::CommandOptionNoArg
+ nearOption('n', "search-near", "Use BCEphemeris.searchNear()"),
+ helpOption('h', "help", "Print usage. Repeat for more info. "),
+ clkOption('c', "clock-from-rinex", "Use the receiver clock offset from the rinex obs data."),
+ svTimeOption('\0', "svtime", "Observation data is in SV time frame. The default is RX time frame."),
+ checkObsOption('\0',"check-obs", "Report data rate, order of data, data present, data gaps"),
+ statsOption('s', "no-stats", "Don't compute & output the statistics"),
+ cycleSlipOption('\0', "cycle-slips", "Output a list of cycle slips");
+
+ gpstk::CommandOptionWithAnyArg
+ rawOutputOption('r', "raw-output", "Dump the computed residuals/ords into specified file. If '-' is given as the file name, output is sent to stdout. The default is to no otput the raw residuals."),
+ timeFmtOption('t', "timeFormat", "Daytime format specifier used for the timestamps in the raw output. The default is \"" + timeFormat + "\". If this option is specified with the format as \"s\", the format \"" + sodFmt + "\" is used."),
+ ordModeOption('\0', "omode", "ORD mode: P1P2, C1P2, C1, P1, P2. The default is " + ordMode),
+ clkModeOption('\0', "cmode", "Clock computation mode: epoch, linear. The default is " + clkMode + "."),
+ ddModeOption('\0', "ddmode", "Double difference residual mode: none, sv, or c1p2. The default is " + ddMode + "."),
+ mscFileOption('\0', "msc", "Station coordinate file"),
+ ephFileOption('e', "ephemeris", "Ephemeris data file name (either broadcast in RINEX nav, broadcast in FIC, or precise in SP3)", false),
+ obs1FileOption('o', "obs1", "Observation data file name. If this option is specified more than once the contents of all files will be used.", true),
+ obs2FileOption('2', "obs2", " Second receiver's observation data file name. Only used when computing a double difference. If this option is specified more than once the contents of all the files will be used."),
+ metFileOption('w', "weather", "Weather data file name (RINEX met format only)"),
+ elevBinsOption('b', "elev-bin", "A range of elevations, used in computing the statistical summaries. Repeat to specify multiple bins. The default is \"-b 0-10 -b 10-20 -b 20-60 -b 10-90\".");
+
+ gpstk::CommandOptionWithNumberArg
+ msidOption('m', "msid", "Station to process data for. Used to select a station from smoothed data files."),
+ sigmaOption('\0', "sigma", "Multiplier for sigma stripping used in computation of statistics on the raw residuals. The default is " + gpstk::StringUtils::asString((int)sigmaMask) + "."),
+ verbosityOption('v', "verbosity", "How much detail to provide about intermediate steps. The default is 1. Specify -hh for more info.");
+
+ string appDesc("Computes various residuals from GPS observations.");
+ gpstk::CommandOptionParser cop(appDesc);
+ cop.parseOptions(argc, argv);
+
+ if (helpOption.getCount() || cop.hasErrors())
+ {
+ if (cop.hasErrors() && helpOption.getCount()==0)
+ {
+ cop.dumpErrors(cout);
+ cout << "use -h for help" << endl;
+ }
+ else
+ {
+ cop.displayUsage(cout);
+ if (helpOption.getCount() > 1)
+ cout << endl
+ << "Verbosity values:" << endl
+ << " 0: nothing but the results" << endl
+ << " 1: Output status before potentially time consuming operations (default)" << endl
+ << " 2: more details about each step and the options chosen" << endl
+ << " 3: add the reasons for editing data" << endl
+ << " 4: dump intermediate values for each epoch" << endl
+ << endl
+ << "The -ddmode=slipper is a test mode version of the sv double difference with a more" << endl
+ << "complex debiasing algorithm. The intent of this mode is to do a better job at detecting" << endl
+ << "real cycle slips as opposed to single point outliers." << endl
+ << endl
+ << "Example command to compute ORDs on an ICD-GPS-211 formated smoothed" << endl
+ << "measurement data file:" << endl
+ << " reszilla --omode=p1 --svtime --msc=mscoords.cfg -m 85401 -o asm2004.138 -e s011138a.04n" << endl
+ << endl;
+ }
+ exit(0);
+ }
+
+ if (verbosityOption.getCount())
+ verbosity = gpstk::StringUtils::asInt(verbosityOption.getValue()[0]);
+
+ if (ddModeOption.getCount())
+ ddMode = gpstk::StringUtils::lowerCase(ddModeOption.getValue().front());
+
+ if (ordModeOption.getCount())
+ ordMode=gpstk::StringUtils::lowerCase(ordModeOption.getValue()[0]);
+
+ bool svTime = svTimeOption.getCount()>0;
+
+ if (clkModeOption.getCount())
+ clkMode=gpstk::StringUtils::lowerCase(clkModeOption.getValue().front());
+
+ if (msidOption.getCount())
+ msid=gpstk::StringUtils::asUnsigned(msidOption.getValue().front());
+
+ if (sigmaOption.getCount())
+ sigmaMask=gpstk::StringUtils::asDouble(sigmaOption.getValue().front());
+
+ if (timeFmtOption.getCount())
+ {
+ if ((timeFmtOption.getValue())[0] == "s")
+ timeFormat = sodFmt;
+ else
+ timeFormat = (timeFmtOption.getValue())[0];
+ }
+
+
+ // set up where the raw data will be written
+ ofstream ofs;
+ string outputFileName;
+ if (rawOutputOption.getCount())
+ {
+ outputFileName=(rawOutputOption.getValue())[0];
+ if (outputFileName != "-")
+ ofs.open(outputFileName.c_str());
+ else
+ {
+ ofs.copyfmt(std::cout);
+ ofs.clear(std::cout.rdstate());
+ ofs.std::basic_ios<char>::rdbuf(std::cout.rdbuf());
+ }
+ }
+
+ if (ddMode=="none" && obs2FileOption.getCount())
+ {
+ cout << "Specifying two sets of obs data requires a ddmode other than 'none'." << endl;
+ exit(1);
+ }
+
+ // Set up the elevation ranges for the various statistical summaries
+ if (elevBinsOption.getCount())
+ {
+ for (int i=0; i<elevBinsOption.getCount(); i++)
+ {
+ string pr = elevBinsOption.getValue()[i];
+ float minElev = gpstk::StringUtils::asFloat(pr);
+ gpstk::StringUtils::stripFirstWord(pr, '-');
+ float maxElev = gpstk::StringUtils::asFloat(pr);
+ elr.push_back( ElevationRange(minElev, maxElev) );
+ }
+ }
+ else
+ {
+ elr.push_back( ElevationRange( 0, 10) );
+ elr.push_back( ElevationRange(10, 20) );
+ elr.push_back( ElevationRange(20, 60) );
+ elr.push_back( ElevationRange(60, 90) );
+ elr.push_back( ElevationRange(10, 90) );
+ }
+
+ if (verbosity>1)
+ {
+ cout << "Double difference mode: " << ddMode << endl
+ << "Format to use for time in raw output: " << timeFormat << endl
+ << "Data time tag: " << (svTime?"sv":"rx") << endl
+ << "Clock computation mode: " << clkMode << endl
+ << "Double difference computation mode: " << ddMode << endl
+ << "Sigma stripping multiplier: " << sigmaMask << endl
+ << "Verbosity: " << verbosity << endl;
+ cout << "Elevation bins: ";
+ for (ElevationRangeList::const_iterator i=elr.begin(); i!= elr.end(); i++)
+ cout << i->first << "-" << i->second << " ";
+ cout << endl;
+ if (msid)
+ {
+ cout << "msid: " << msid << endl;
+ if (mscFileOption.getCount()>0)
+ cout << "msc file: " << mscFileOption.getValue().front() << endl;
+ }
+ if (rawOutputOption.getCount())
+ cout << "Raw output file: " << outputFileName << endl;
+ }
+
+
+ // -------------------------------------------------------------------
+ // End of processing/checking command line arguments, now on to the
+ // data processing portion. First we get all the data into memory.
+ // -------------------------------------------------------------------
+
+ // Get the ephemeris data
+ gpstk::EphemerisStore& eph = read_eph_data(ephFileOption);
+ if (nearOption.getCount())
+ {
+ gpstk::BCEphemerisStore& bce = dynamic_cast<gpstk::BCEphemerisStore&>(eph);
+ bce.SearchNear();
+ }
+
+ gpstk::WxObsData& wod = read_met_data(metFileOption);
+
+ // Get the obs data
+ RODEpochMap rem1;
+ gpstk::RinexObsHeader roh1;
+ if (verbosity>1)
+ cout << "Reading obs1 data." << endl;
+ read_obs_data(obs1FileOption, msid, rem1, roh1);
+ if (checkObsOption.getCount())
+ check_data(roh1, rem1);
+
+ // If a msid & msc file is specified, then get & use the msc file
+ // to overwrite the position in the rinex obs header
+ if (msid && mscFileOption.getCount()>0)
+ {
+ string mscfn = (mscFileOption.getValue())[0];
+ read_msc_data(mscfn, msid, roh1);
+ }
+
+ // If we are given a second set of obs data, don't compute separate ords
+ // since this is a double-difference run
+ if (ordMode!="none" && !obs2FileOption.getCount())
+ {
+ // Compute the ords
+ ORDEpochMap oem1;
+ compute_ords(oem1, rem1, roh1, eph, wod,
+ svTimeOption, ordMode, clkMode);
+
+ // Now, output statistics to stdout
+ if (statsOption.getCount()==0)
+ dumpStats(oem1, ordMode, sigmaMask);
+
+ // Save the raw ORDs to a file
+ if (rawOutputOption.getCount())
+ dump(ofs, oem1);
+ }
+
+ // Now compute double difference residuals on the obs2 data
+ if (obs2FileOption.getCount())
+ {
+ PrnElevationMap pem = elevation_map(rem1, roh1, eph);
+
+ RODEpochMap rem2;
+ rem2.clear();
+ gpstk::RinexObsHeader roh2;
+ if (verbosity>1)
+ cout << "Reading obs data from receiver 2." << endl;
+ read_obs_data(obs2FileOption, msid, rem2, roh2);
+
+ // copy the position from the other file if it was taken from the msc
+ if (msid && mscFileOption.getCount()>0)
+ roh2.antennaPosition = roh1.antennaPosition;
+
+ // we need the rx clock offset for this double differece
+ // If we haven't been told to use the receiver clock offset in
+ // the rinex data, compute the ords just to get a clock offset.
+ if (ddMode != "c1p2" && !clkOption.getCount())
+ {
+ ORDEpochMap oem1,oem2;
+ compute_ords(oem1, rem1, roh1, eph, wod, svTimeOption, ordMode, clkMode);
+ compute_ords(oem2, rem2, roh2, eph, wod, svTimeOption, ordMode, clkMode);
+ add_clock_to_rinex(rem1, oem1);
+ add_clock_to_rinex(rem2, oem2);
+ }
+
+ if (ddMode == "sv")
+ {
+ DDEpochMap ddem;
+
+ computeDDEpochMap(rem1, rem2, pem, ddem);
+
+ PhaseCleaner pc;
+
+ pc.addData(rem1, rem2, ddem);
+ pc.debias();
+ pc.getPhaseDD(ddem);
+
+ CycleSlipList sl;
+ pc.getSlips(sl);
+
+ if (statsOption.getCount()==0)
+ dumpStats(ddem, sl, pem);
+
+ if (cycleSlipOption.getCount())
+ dump(cout, sl);
+
+ if (rawOutputOption.getCount())
+ dump(ofs, ddem, pem);
+ }
+
+ else if (ddMode=="c1p2")
+ {
+ DD2EpochMap ddem;
+ computeDD2(rem1, rem2, ddem);
+ if (statsOption.getCount()==0)
+ dumpStats(ddem, pem);
+
+ if (rawOutputOption.getCount())
+ dump(ofs, ddem, pem);
+ }
+ else
+ cout << "Unknow ddMode:" << ddMode << endl;
+ } // end for()
+ }
+ catch (gpstk::Exception& e)
+ {
+ cerr << "Caught Excption: " << typeid(e).name() << endl
+ << "Terminating." << endl;
+ exit(0);
+ }
+ exit(0);
+}
diff --git a/trunk/apps/reszilla/rlib.a b/trunk/apps/reszilla/rlib.a
new file mode 100644
index 0000000..f4c6293
Binary files /dev/null and b/trunk/apps/reszilla/rlib.a differ
diff --git a/trunk/apps/reszilla/util.cpp b/trunk/apps/reszilla/util.cpp
new file mode 100644
index 0000000..6db1dea
--- /dev/null
+++ b/trunk/apps/reszilla/util.cpp
@@ -0,0 +1,360 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/util.cpp#18 $"
+
+#include "util.hpp"
+
+using namespace std;
+
+const RinexObsType& L1=gpstk::RinexObsHeader::L1;
+const RinexObsType& L2=gpstk::RinexObsHeader::L2;
+const RinexObsType& P1=gpstk::RinexObsHeader::P1;
+const RinexObsType& P2=gpstk::RinexObsHeader::P2;
+const RinexObsType& C1=gpstk::RinexObsHeader::C1;
+const RinexObsType& C2=gpstk::RinexObsHeader::C2;
+const RinexObsType& D1=gpstk::RinexObsHeader::D1;
+const RinexObsType& D2=gpstk::RinexObsHeader::D2;
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void computeDD2(const RODEpochMap& rx1,
+ const RODEpochMap& rx2,
+ DD2EpochMap& ddem)
+{
+ if (verbosity)
+ cout << "Computing 2nd differences residuals across codes." << endl;
+
+ // We use the data from rx1 walk us through the data
+ // loop over all epochs for this station
+ RODEpochMap::const_iterator ei1, ei2;
+ for (ei1=rx1.begin(); ei1!=rx1.end(); ei1++)
+ {
+ // first make sure we have data from the other receiver for this
+ // epoch...
+ const gpstk::DayTime& t = ei1->first;
+ ei2 = rx2.find(t);
+ if (ei2 == rx2.end())
+ {
+ if (verbosity>2)
+ cout << "Epoch with no data in second file at " << t << endl;
+ continue;
+ }
+
+ gpstk::RinexObsData e1 = ei1->second;
+ gpstk::RinexObsData e2 = ei2->second;
+
+ DD2Epoch dde;
+ if (dde.compute(e1, e2))
+ ddem[t] = dde;
+ }
+} // end of computeDD2()
+
+
+// ---------------------------------------------------------------------
+// Compute a double difference for each prn in track on both receivers
+// (C1(prn1)-P2(prn1)) - (C1(prn2)-P2(prn2))
+// ---------------------------------------------------------------------
+bool DD2Epoch::compute(gpstk::RinexObsData rx1,
+ gpstk::RinexObsData rx2)
+{
+ gpstk::RinexObsData::RinexPrnMap::iterator oi1, oi2;
+ for (oi1=rx1.obs.begin(); oi1!=rx1.obs.end(); oi1++)
+ {
+ gpstk::RinexPrn prn = oi1->first;
+ oi2 = rx2.obs.find(prn);
+ if (oi2 == rx2.obs.end())
+ continue;
+
+ gpstk::RinexObsData::RinexObsTypeMap& rx1obs = oi1->second;
+ gpstk::RinexObsData::RinexObsTypeMap& rx2obs = oi2->second;
+
+ // Now compute the C1-P2 for each receiver
+ double d1 = rx1obs[C1].data - rx1obs[P2].data;
+ double d2 = rx2obs[C1].data - rx2obs[P2].data;
+
+ // Now compute the double differences
+ res[prn] = d1 - d2;
+ }
+
+ return true;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+PrnElevationMap elevation_map(const RODEpochMap& rem,
+ const gpstk::RinexObsHeader& roh,
+ const gpstk::EphemerisStore& eph)
+{
+ PrnElevationMap pem;
+ if (verbosity>1)
+ cout << "Computing elevation map." << endl;
+
+ gpstk::ECEF rxpos(roh.antennaPosition);
+
+ RODEpochMap::const_iterator i;
+ for (i=rem.begin(); i!=rem.end(); i++)
+ {
+ const gpstk::DayTime& t = i->first;
+ const gpstk::RinexObsData& rod = i->second;
+ gpstk::RinexObsData::RinexPrnMap::const_iterator rpi;
+ for (rpi=rod.obs.begin(); rpi!=rod.obs.end(); rpi++)
+ try
+ {
+ short prn = rpi->first.prn;
+ gpstk::Xvt svpos = eph.getPrnXvt(prn, t);
+ pem[t][rpi->first] = rxpos.elvAngle(svpos.x);
+ }
+ catch (gpstk::EphemerisStore::NoEphemerisFound& e)
+ {
+ if (verbosity>2)
+ cout << e.getText() << endl;
+ }
+ }
+ return pem;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+PrnElevationMap elevation_map(const ORDEpochMap& oem)
+{
+ PrnElevationMap pem;
+ if (verbosity>1)
+ cout << "Computing elevation map." << endl;
+ ORDEpochMap::const_iterator i;
+ for (i=oem.begin(); i!=oem.end(); i++)
+ {
+ const gpstk::DayTime& t=i->first;
+ const gpstk::ORDEpoch& epoch=i->second;
+ gpstk::ORDEpoch::ORDMap::const_iterator j;
+ for (j=epoch.ords.begin(); j!=epoch.ords.end(); j++)
+ {
+ gpstk::ObsRngDev ord = j->second;
+ gpstk::RinexPrn prn(j->first, gpstk::systemGPS);
+ pem[t][prn] = ord.getElevation();
+ }
+ }
+ return pem;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void add_clock_to_rinex(RODEpochMap& rem, const ORDEpochMap& oem)
+{
+ const gpstk::GPSGeoid gm;
+ RODEpochMap::iterator i;
+ for (i=rem.begin(); i!=rem.end(); i++)
+ {
+ gpstk::RinexObsData& rod = i->second;
+ ORDEpochMap::const_iterator j = oem.find(rod.time);
+ if (j==oem.end() || !j->second.validClock)
+ {
+ if (verbosity)
+ cout << "Epoch has no clock " << rod.time << endl;
+ continue;
+ }
+ rod.clockOffset = j->second.clockOffset/gm.c();
+ }
+} // end of add_clock_to_rinex()
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void check_data(const gpstk::RinexObsHeader& roh, const RODEpochMap& rem)
+{
+ if (verbosity>1)
+ {
+ cout << "First obs data is at " << roh.firstObs << endl;
+ cout << "Last obs data is at " << roh.lastObs << endl;
+ }
+
+ RODEpochMap::const_iterator i=rem.begin();
+ gpstk::DayTime t1 = i->second.time; i++;
+ gpstk::DayTime t = i->second.time; i++;
+ double rate=t-t1;
+ long rateChanges=0;
+ long n=0;
+
+ for (; i!=rem.end();i++)
+ {
+ gpstk::RinexObsData rod = i->second;
+ t1 = t;
+ t = i->second.time;
+ // Check for how many obs are in this epoch
+
+ if (std::abs(t-t1-rate) > 1e-3)
+ {
+ if (verbosity>2)
+ cout << "Data rate change at "
+ << t <<". Was " << rate
+ << " now is " << t-t1 << " seconds." << endl;
+ rate = t - t1;
+ rateChanges++;
+ n=0;
+ }
+ else
+ n++;
+ }
+
+ if (verbosity>1)
+ {
+ if (n > rem.size()/2)
+ cout << "Data rate appears to be " << rate << " seconds after "
+ << n << " epochs." << endl;
+ else
+ cout << "Coulnd not estimate data rate after " << n
+ << " epochs." << endl;
+ }
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dumpStats(DD2EpochMap& ddem, PrnElevationMap& pem)
+{
+
+ cout << endl
+ << "obs elev sdev(m) mean(m) [err] #obs #del min max " << endl
+ << "--------- ------ ------- -------------------- ------ ---- -------------- " << endl;
+
+ for (ElevationRangeList::const_iterator i = elr.begin(); i != elr.end(); i++)
+ {
+ cout << "C1-P2 res ";
+ computeStats(ddem, *i, pem);
+ cout << endl;
+ }
+ cout << endl;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void computeStats(
+ DD2EpochMap& ddem,
+ const ElevationRange er,
+ PrnElevationMap& pem)
+{
+ float minElevation = er.first;
+ float maxElevation = er.second;
+
+ gpstk::Stats<double> good, bad;
+ DD2EpochMap::iterator ei;
+ for (ei = ddem.begin(); ei != ddem.end(); ei++)
+ {
+ const gpstk::DayTime& t = ei->first;
+ DD2Epoch::DD2ResidualMap::iterator pi;
+ for (pi = ei->second.res.begin(); pi != ei->second.res.end(); pi++)
+ {
+ const gpstk::RinexPrn& prn = pi->first;
+ double ddr = pi->second;
+ if (pem[t][prn]>minElevation && pem[t][prn]<maxElevation)
+ {
+ if (abs(ddr) < 1000 )
+ good.Add(ddr);
+ else
+ bad.Add(ddr);
+ }
+ }
+ }
+
+ cout << setprecision(2) << setw(2) << minElevation
+ << "-"
+ << setw(2) << maxElevation
+ << " ";
+
+ char b1[200];
+ sprintf(b1, "%8.5f %9.2e [%8.2e] %7d %4d %7.2f %7.2f",
+ good.StdDev()/2, good.Average(), good.StdDev()/sqrt((float)good.N()),
+ good.N(), bad.N(),
+ good.Minimum(), good.Maximum());
+
+ cout << b1;
+}
+
+// ---------------------------------------------------------------------
+// Returns a string with the number of cycle slips that are in the elevation range
+// specififed.
+// ---------------------------------------------------------------------
+string computeStats(
+ const CycleSlipList& csl,
+ const ElevationRange& er,
+ const RinexObsType& rot)
+{
+ ostringstream oss;
+ int slipCount=0;
+
+ float minElev = er.first;
+ float maxElev = er.second;
+ CycleSlipList::const_iterator i;
+ for (i=csl.begin(); i!=csl.end(); i++)
+ {
+ const CycleSlipRecord& cs = *i;
+ if (cs.rot == rot && minElev < cs.elevation && cs.elevation <= maxElev)
+ slipCount++;
+ }
+ oss << slipCount;
+ return oss.str();
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dump(std::ostream& s, const CycleSlipList& csl)
+{
+ s << "Cycle slips:" << endl;
+ if (csl.size() == 0)
+ {
+ s << " No cycle slips detected." << endl << endl;
+ return;
+ }
+
+ s << "# time obs cyles elev pre post" << endl;
+ s.setf(ios::fixed, ios::floatfield);
+ CycleSlipList::const_iterator i;
+ for (i=csl.begin(); i!=csl.end(); i++)
+ {
+ const CycleSlipRecord& cs=*i;
+ s << left << setw(20) << cs.t.printf(timeFormat)
+ << " " << right << setw(2) << cs.masterPrn.prn << ":" << setw(2) << cs.prn.prn
+ << " " << cs.rot.type
+ << " " << setprecision(3) << setw(14) << cs.cycles
+ << " " << std::setprecision(2) << setw(5) << cs.elevation
+ << " " << setw(5) << cs.preCount
+ << " " << setw(5) << cs.postCount
+ << endl;
+ }
+ s << endl;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dump(std::ostream& s,
+ DD2EpochMap& ddem,
+ PrnElevationMap& pem)
+{
+ s.setf(ios::fixed, ios::floatfield);
+ s << "# time, PRN, RES(m), SV_EL" << endl;
+
+ DD2EpochMap::iterator ei;
+ DD2Epoch::DD2ResidualMap::iterator pi;
+ for (ei = ddem.begin(); ei != ddem.end(); ei++)
+ {
+ const gpstk::DayTime& t = ei->first;
+ string time=t.printf(timeFormat);
+ for (pi = ei->second.res.begin(); pi != ei->second.res.end(); pi++)
+ {
+ const gpstk::RinexPrn& prn = pi->first;
+ double ddr = pi->second;
+ s << time
+ << setfill(' ')
+ << " " << setw(2) << prn.prn
+ << setprecision(6)
+ << " " << setw(11) << ddr
+ << setprecision(1)
+ << " " << setw(4) << pem[t][prn]
+ << endl;
+ }
+ }
+} // end dump()
diff --git a/trunk/apps/reszilla/util.hpp b/trunk/apps/reszilla/util.hpp
new file mode 100644
index 0000000..c78a9a9
--- /dev/null
+++ b/trunk/apps/reszilla/util.hpp
@@ -0,0 +1,126 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/util.hpp#12 $"
+
+#ifndef RESZILLA_UTIL_HPP
+#define RESZILLA_UTIL_HPP
+
+#include <iostream>
+#include <iomanip>
+#include <string>
+#include <map>
+#include <set>
+
+// gpstk crud
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "stl_helpers.hpp"
+#include "EphemerisStore.hpp"
+#include "icd_200_constants.hpp"
+#include "GPSGeoid.hpp"
+#include "TropModel.hpp"
+#include "Geodetic.hpp"
+#include "Stats.hpp"
+
+#include "RinexObsData.hpp"
+
+#include "ORDEpoch.hpp"
+#include "EpochClockModel.hpp"
+
+#include "ElevationRange.hpp"
+
+extern int verbosity;
+extern std::string timeFormat;
+
+typedef gpstk::RinexObsHeader::RinexObsType RinexObsType;
+typedef gpstk::RinexObsData::RinexPrnMap RinexPrnMap;
+typedef gpstk::RinexObsData::RinexObsTypeMap RinexObsTypeMap;
+
+extern const RinexObsType& C1;
+extern const RinexObsType& C2;
+extern const RinexObsType& D1;
+extern const RinexObsType& D2;
+extern const RinexObsType& L1;
+extern const RinexObsType& L2;
+extern const RinexObsType& P1;
+extern const RinexObsType& P2;
+
+extern ElevationRangeList elr;
+
+// a store of epochs for a single receiver/antenna
+typedef std::map<gpstk::DayTime, gpstk::RinexObsData> RODEpochMap;
+
+// this is a store of ORDs over time
+typedef std::map<gpstk::DayTime, gpstk::ORDEpoch> ORDEpochMap;
+
+
+// The key for this map is the prn of the SV
+// PrnElevationMap pem;
+// pem[time][prn] = elevation;
+typedef std::map<gpstk::DayTime, std::map<gpstk::RinexPrn, float> > PrnElevationMap;
+PrnElevationMap elevation_map(const ORDEpochMap& oem);
+PrnElevationMap elevation_map(const RODEpochMap& rem,
+ const gpstk::RinexObsHeader& roh,
+ const gpstk::EphemerisStore& bce);
+
+
+ // Rinex Obs Type Double Map => ROTM
+typedef std::map<RinexObsType, double> ROTDM;
+
+typedef std::map< gpstk::RinexPrn, ROTDM> PrnROTDM;
+
+void add_clock_to_rinex(RODEpochMap& rem, const ORDEpochMap& oem);
+
+void check_data(const gpstk::RinexObsHeader& roh, const RODEpochMap& rem);
+
+
+
+struct CycleSlipRecord
+{
+ gpstk::DayTime t;
+ double cycles;
+ gpstk::RinexPrn prn, masterPrn;
+ RinexObsType rot;
+ double elevation;
+ long preCount; // for How many epochs had the bias been stable
+ double preGap; // time between the end of the previous arc and this point
+ long postCount; // how long the arc after the slip is
+};
+
+typedef std::list<CycleSlipRecord> CycleSlipList;
+
+void dump(std::ostream& s, const CycleSlipList& sl);
+
+std::string computeStats(
+ const CycleSlipList& csl,
+ const ElevationRange& er,
+ const RinexObsType& rot);
+
+
+// these still need to be re-factored.
+struct DD2Epoch
+{
+ typedef std::map<gpstk::RinexPrn, double> DD2ResidualMap;
+ DD2ResidualMap res;
+
+ // Returns true if successfull
+ bool compute(gpstk::RinexObsData rx1,
+ gpstk::RinexObsData rx2);
+};
+
+typedef std::map<gpstk::DayTime, DD2Epoch> DD2EpochMap;
+
+void dump(std::ostream& s,
+ DD2EpochMap& ddem,
+ PrnElevationMap& pem);
+
+void dumpStats(DD2EpochMap& ddem,
+ PrnElevationMap& pem);
+
+void computeStats(DD2EpochMap& ddem,
+ const ElevationRange er,
+ PrnElevationMap& pem);
+
+void computeDD2(const RODEpochMap& rx1,
+ const RODEpochMap& rx2,
+ DD2EpochMap& ddem);
+
+#endif
diff --git a/trunk/apps/time/Jamfile b/trunk/apps/time/Jamfile
new file mode 100644
index 0000000..e0f21cc
--- /dev/null
+++ b/trunk/apps/time/Jamfile
@@ -0,0 +1,7 @@
+SubDir TOP apps time ;
+
+GPSLinkLibraries timcvt calgps : gpstk ;
+BonkForte ; # bleah.
+
+GPSMain timcvt : timcvt.cpp ;
+GPSMain calgps : calgps.cpp ;
diff --git a/trunk/apps/time/Makefile.am b/trunk/apps/time/Makefile.am
new file mode 100644
index 0000000..49e8a38
--- /dev/null
+++ b/trunk/apps/time/Makefile.am
@@ -0,0 +1,7 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = timcvt calgps
+
+timcvt_SOURCES = timcvt.cpp
+calgps_SOURCES = calgps.cpp
diff --git a/trunk/apps/time/Makefile.in b/trunk/apps/time/Makefile.in
new file mode 100644
index 0000000..e2c6682
--- /dev/null
+++ b/trunk/apps/time/Makefile.in
@@ -0,0 +1,430 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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@
+noinst_PROGRAMS = timcvt$(EXEEXT) calgps$(EXEEXT)
+subdir = apps/time
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_calgps_OBJECTS = calgps.$(OBJEXT)
+calgps_OBJECTS = $(am_calgps_OBJECTS)
+calgps_LDADD = $(LDADD)
+calgps_DEPENDENCIES = ../../src/libgpstk.la
+am_timcvt_OBJECTS = timcvt.$(OBJEXT)
+timcvt_OBJECTS = $(am_timcvt_OBJECTS)
+timcvt_LDADD = $(LDADD)
+timcvt_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(calgps_SOURCES) $(timcvt_SOURCES)
+DIST_SOURCES = $(calgps_SOURCES) $(timcvt_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+timcvt_SOURCES = timcvt.cpp
+calgps_SOURCES = calgps.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apps/time/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu apps/time/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+calgps$(EXEEXT): $(calgps_OBJECTS) $(calgps_DEPENDENCIES)
+ @rm -f calgps$(EXEEXT)
+ $(CXXLINK) $(calgps_LDFLAGS) $(calgps_OBJECTS) $(calgps_LDADD) $(LIBS)
+timcvt$(EXEEXT): $(timcvt_OBJECTS) $(timcvt_DEPENDENCIES)
+ @rm -f timcvt$(EXEEXT)
+ $(CXXLINK) $(timcvt_LDFLAGS) $(timcvt_OBJECTS) $(timcvt_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/calgps.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/timcvt.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/time/README.txt b/trunk/apps/time/README.txt
new file mode 100644
index 0000000..6069952
--- /dev/null
+++ b/trunk/apps/time/README.txt
@@ -0,0 +1,94 @@
+Application: timcvt.exe
+Purpose: To convert time between different time specifications
+Usage: timcvt {option} "{time specification}"
+Help: timcvt -h
+Notes: 1) timcvt must be invoked from the command line.
+ 2) All years are 4 digits.
+ 3) Time specifications should be enclosed in quotes.
+
+Optional arguments:
+ -d, --debug Increase debug level
+ -v, --verbose Increase verbosity
+ -h, --help Print help usage
+ -c, --calendar=TIME "Month(numeric) DayOfMonth Year"
+ -r, --rinex=TIME "Month(numeric) DayOfMonth Year Hour:Minute:Second"
+ -R, --rinex-file=TIME "Year(2-digit) Month(numeric) DayOfMonth Hour Minute Second"
+ -y, --doy=TIME "Year DayOfYear SecondsOfDay"
+ -m, --mjd=TIME "ModifiedJulianDate"
+ -o, --shortweekandsow=TIME "10bitGPSweek SecondsOfWeek Year"
+ -z, --shortweekandzcounts=TIME "10bitGPSweek ZCounts Year"
+ -f, --fullweekandsow=TIME "FullGPSweek SecondsOfWeek"
+ -w, --fullweekandzcounts=TIME "FullGPSweek ZCounts"
+ -u, --unixtime=TIME "UnixSeconds UnixMicroseconds"
+ -Z, --fullZcounts=TIME "fullZcounts"
+ -F, --format=ARG Time format to use on output
+ -a, --add-offset=NUM add NUM seconds to specified time
+ -s, --sub-offset=NUM subtract NUM seconds from specified time
+
+Examples:
+c:\time> timcvt -y "2004 9 9"
+
+ Month/Day/Year 1/9/2004
+ Hour:Min:Sec 00:00:09
+ Modified Julian Date 53013.0001041666
+ GPSweek DayOfWeek SecOfWeek 228 5 432009.000000
+ FullGPSweek Zcount 1252 288006
+ Year DayOfYear SecondOfDay 2004 9 9.000000
+ Unix_sec Unix_usec 1073606409 0
+ FullZcount 119825670
+
+c:\time>timcvt -m "54327.65"
+
+ Month/Day/Year 8/15/2007
+ Hour:Min:Sec 15:36:00
+ Modified Julian Date 54327.6499999999
+ GPSweek DayOfWeek SecOfWeek 416 3 315360.000000
+ FullGPSweek Zcount 1440 210240
+ Year DayOfYear SecondOfDay 2007 227 56160.000000
+ Unix_sec Unix_usec 1187192160 0
+ FullZcount 218314048
+
+
+c:\time>timcvt -c "9 9 2004" -a 86510
+
+ Month/Day/Year 9/10/2004
+ Hour:Min:Sec 00:01:50
+ Modified Julian Date 53258.0012731482
+ GPSweek DayOfWeek SecOfWeek 263 5 432110.000000
+ FullGPSweek Zcount 1287 288074
+ Year DayOfYear SecondOfDay 2004 254 110.000000
+ Unix_sec Unix_usec 1094774510 0
+ FullZcount 138175818
+
+
+
+---------------------------------------------------------------
+
+Application: calgps (UNIX), calgps.exe (Windows)
+Purpose: To print a simple GPS calendar to the command line
+Usage: calgps (options)
+Help: calgps -h
+Notes: Calgps uses the system's current time to determine
+ which months to print.
+
+The program calgps behave much like the UNIX utility cal. It prints
+one month of Julian days and GPS week numbers. The user can also
+print a full year, either the current year or a given year.
+
+The arguments are:
+ -h, --help Display argument list.
+ -3, --three-months Display last, this and next months.
+ -y, --year Display all months for the current year
+ -Y, --specific-year=NUM Display all months for a given year
+
+Examples:
+
+c:\gpstk\apps\time\> calgps -3
+
+user at server:/home/user/gpstk/apps/time% ./calgps -Y 2004
+
+
+timcvt and calgps are provided as part of the GPSTk open source project (www.gpstk.org).
+GPSTk has been developed by Applied Research Laboratories, The University of
+Texas at Austin, and is released under the LGPL.
+
diff --git a/trunk/apps/time/calgps b/trunk/apps/time/calgps
new file mode 100755
index 0000000..4031387
Binary files /dev/null and b/trunk/apps/time/calgps differ
diff --git a/trunk/apps/time/calgps.cpp b/trunk/apps/time/calgps.cpp
new file mode 100644
index 0000000..8364675
--- /dev/null
+++ b/trunk/apps/time/calgps.cpp
@@ -0,0 +1,142 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/time/calgps.cpp#1 $"
+
+// FIXME. This calendar app should simplify by updating it
+// to use the new TimeTag class. Not sure which one to user now tho..
+
+#include <iostream>
+#include <iomanip>
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+void printMonth(short month, short year)
+{
+ DayTime thisDay(year, month, 1, 0, 0, 0.0);
+
+ short gpsweek = thisDay.GPSfullweek();
+ short dow = thisDay.GPSday();
+
+ cout << endl << thisDay.printf("%26b %4Y") << endl;
+
+ bool done = false;
+ do
+ {
+ cout << setw(4) << gpsweek << " ";
+ short thisDow=0;
+
+ while (thisDow < 7)
+ {
+ thisDay = DayTime(gpsweek, thisDow* gpstk::DayTime::SEC_DAY);
+ short thisMonth = thisDay.month();
+ if (thisMonth==month)
+ cout << thisDay.printf("%2d-%03j ");
+ else
+ cout << " ";
+
+ // Iterate
+ thisDow++;
+ }
+ cout << endl;
+
+ gpsweek++;
+ thisDay = DayTime(gpsweek, 0.0);
+
+ done = ( (thisDay.month()>month) ||
+ (thisDay.year() >year) );
+ } while (!done);
+
+ return;
+}
+
+int main(int argc, char* argv[])
+{
+
+ try {
+
+ CommandOptionNoArg helpOption('h',"help","Display argument list.",false);
+ CommandOptionNoArg threeOption('3',"three-months","Display last, this and next months.",false);
+ CommandOptionNoArg thisYearOption('y',"year","Display all months for the current year");
+ CommandOptionWithNumberArg givenYearOption('Y',"specific-year","Display all months for a given year");
+ CommandOptionParser cop("GPSTk GPS Calendar Generator");
+ cop.parseOptions(argc, argv);
+
+ if (cop.hasErrors())
+ {
+ cop.dumpErrors(cout);
+ cop.displayUsage(cout);
+ return 1;
+ }
+
+ if(helpOption.getCount())
+ {
+ cop.displayUsage(cout);
+ return 0;
+ }
+
+ // Default condition is to just print this month
+ DayTime now;
+ short firstMonth = now.month();
+ short lastMonth = now.month();
+ short firstYear = now.year();
+ short lastYear = now.year();
+
+ if (thisYearOption.getCount())
+ {
+ firstMonth =1;
+ lastMonth =12;
+ }
+
+ if (givenYearOption.getCount())
+ {
+ firstMonth =1;
+ lastMonth =12;
+
+ firstYear = gpstk::StringUtils::asInt((givenYearOption.getValue())[0]);
+ lastYear = firstYear;
+
+ }
+
+ if (threeOption.getCount())
+ {
+ firstMonth--;
+ if (firstMonth==0)
+ {
+ firstMonth = 12;
+ firstYear--;
+ }
+
+ lastMonth++;
+ if (lastMonth==13)
+ {
+ lastMonth = 1;
+ lastYear++;
+ }
+ }
+
+
+ for (short m=firstMonth, y=firstYear;
+ (m<=lastMonth) && (y<=lastYear);
+ m++)
+ {
+ if (m==13)
+ {
+ m=1;
+ y++;
+ }
+
+ printMonth(m, y);
+ }
+
+ cout << endl;
+
+ }
+ catch( Exception error)
+ {
+ cout << error << endl;
+ exit(-1);
+ }
+
+ exit(0);
+}
diff --git a/trunk/apps/time/timcvt b/trunk/apps/time/timcvt
new file mode 100755
index 0000000..cf51d64
Binary files /dev/null and b/trunk/apps/time/timcvt differ
diff --git a/trunk/apps/time/timcvt.cpp b/trunk/apps/time/timcvt.cpp
new file mode 100644
index 0000000..c203fdf
--- /dev/null
+++ b/trunk/apps/time/timcvt.cpp
@@ -0,0 +1,217 @@
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "BasicFramework.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class TimCvt : public BasicFramework
+{
+public:
+ TimCvt(char* arg0);
+
+protected:
+ virtual void process();
+
+private:
+ CommandOptionWithTimeArg CalendarTime;
+ CommandOptionWithTimeArg RinexTime;
+ CommandOptionWithTimeArg RinexFileTime;
+ CommandOptionWithTimeArg DOYTime;
+ CommandOptionWithTimeArg MJDTime;
+ CommandOptionWithTimeArg ShortWeekSOWTime;
+ CommandOptionWithTimeArg ShortWeekZCountsTime;
+ CommandOptionWithTimeArg FullWeekSOWTime;
+ CommandOptionWithTimeArg FullWeekZCountsTime;
+ CommandOptionWithTimeArg UnixTime;
+ CommandOptionWithTimeArg ZCountsTime;
+ CommandOptionWithAnyArg formatOption;
+ CommandOptionWithNumberArg addOption;
+ CommandOptionWithNumberArg subOption;
+ CommandOptionMutex mutexOption;
+
+ string stringToParse;
+ string timeSpec;
+};
+
+TimCvt::TimCvt(char* arg0)
+ : BasicFramework(arg0, "Converts from a given input time specification"
+ " to other time formats. Include the quotation marks."
+ " All year values are four digit years."),
+ CalendarTime('c', "calendar", "%m %d %Y",
+ "\"Month(numeric) DayOfMonth Year\""),
+ RinexTime('r',"rinex","%m %d %Y %H:%M:%S",
+ "\"Month(numeric) DayOfMonth Year Hour:Minute:Second\""),
+ RinexFileTime('R', "rinex-file", "%y %m %d %H %M %S",
+ "\"Year(2-digit) Month(numeric) DayOfMonth Hour Minute Second\""),
+ DOYTime('y',"doy","%Y %j %s",
+ "\"Year DayOfYear SecondsOfDay\""),
+ MJDTime('m',"mjd","%Q",
+ "\"ModifiedJulianDate\""),
+ ShortWeekSOWTime('o',"shortweekandsow","%G %g %Y",
+ "\"10bitGPSweek SecondsOfWeek Year\""),
+ ShortWeekZCountsTime('z',"shortweekandzcounts","%G %Z %Y",
+ "\"10bitGPSweek ZCounts Year\""),
+ FullWeekSOWTime('f',"fullweekandsow","%F %g",
+ "\"FullGPSweek SecondsOfWeek\""),
+ FullWeekZCountsTime('w',"fullweekandzcounts","%F %Z",
+ "\"FullGPSweek ZCounts\""),
+ UnixTime('u',"unixtime","%U %u",
+ "\"UnixSeconds UnixMicroseconds\""),
+ ZCountsTime('Z',"fullZcounts","%C",
+ "\"fullZcounts\""),
+ formatOption('F', "format", "Time format to use on output"),
+ addOption('a', "add-offset", "add NUM seconds to specified time"),
+ subOption('s', "sub-offset", "subtract NUM seconds from specified time")
+{
+ CalendarTime.setMaxCount(1);
+ RinexTime.setMaxCount(1);
+ RinexFileTime.setMaxCount(1);
+ DOYTime.setMaxCount(1);
+ MJDTime.setMaxCount(1);
+ ShortWeekSOWTime.setMaxCount(1);
+ ShortWeekZCountsTime.setMaxCount(1);
+ FullWeekSOWTime.setMaxCount(1);
+ FullWeekZCountsTime.setMaxCount(1);
+ UnixTime.setMaxCount(1);
+ ZCountsTime.setMaxCount(1);
+ formatOption.setMaxCount(1);
+
+ mutexOption.addOption(&CalendarTime);
+ mutexOption.addOption(&RinexTime);
+ mutexOption.addOption(&RinexFileTime);
+ mutexOption.addOption(&DOYTime);
+ mutexOption.addOption(&MJDTime);
+ mutexOption.addOption(&ShortWeekSOWTime);
+ mutexOption.addOption(&ShortWeekZCountsTime);
+ mutexOption.addOption(&FullWeekSOWTime);
+ mutexOption.addOption(&FullWeekZCountsTime);
+ mutexOption.addOption(&UnixTime);
+ mutexOption.addOption(&ZCountsTime);
+}
+
+void TimCvt::process()
+{
+ DayTime dt;
+ //dt.setToString(stringToParse, timeSpec);
+ CommandOptionWithTimeArg* whichOpt =
+ (CommandOptionWithTimeArg*)mutexOption.whichOne();
+
+ if (whichOpt)
+ dt = whichOpt->getTime().front();
+
+ int i;
+ int addOptions = addOption.getCount();
+ int subOptions = subOption.getCount();
+ for (i = 0; i < addOptions; i++)
+ dt += StringUtils::asDouble(addOption.getValue()[i]);
+ for (i = 0; i < subOptions; i++)
+ dt -= StringUtils::asDouble(subOption.getValue()[i]);
+
+ if (formatOption.getCount())
+ {
+ cout << dt.printf(formatOption.getValue()[0]) << endl;
+ }
+ else
+ {
+ using StringUtils::leftJustify;
+ string eight(8, ' '); // eight spaces
+
+ cout << endl
+ << eight << leftJustify("Month/Day/Year", 32)
+ << dt.printf("%m/%d/%Y") << endl
+
+ << eight << leftJustify("Hour:Min:Sec", 32)
+ << dt.printf("%02H:%02M:%02S") << endl
+
+ << eight << leftJustify("Modified Julian Date", 32)
+ << setprecision(15) << dt.MJDdate() << endl
+
+ << eight << leftJustify("GPSweek DayOfWeek SecOfWeek", 32)
+ << dt.printf("%G %w %g") << endl
+
+ << eight << leftJustify("FullGPSweek Zcount", 32)
+ << dt.printf("%F %z") << endl
+
+ << eight << leftJustify("Year DayOfYear SecondOfDay", 32)
+ << dt.printf("%Y %j %s") << endl
+
+ << eight << leftJustify("Unix_sec Unix_usec", 32)
+ << dt.printf("%U %u") << endl
+
+ << eight << leftJustify("FullZcount", 32)
+ << dt.printf("%c") << endl
+
+ << endl << endl;
+ }
+
+ return;
+}
+
+int main(int argc, char* argv[])
+{
+ try
+ {
+ TimCvt tc(argv[0]);
+ if (!tc.initialize(argc, argv))
+ return 0;
+ if (!tc.run())
+ return 1;
+
+ return 0;
+ }
+ catch(Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(exception& e)
+ {
+ cout << e.what() << endl;
+ }
+ catch(...)
+ {
+ cout << "unknown error" << endl;
+ }
+ return 0;
+}
diff --git a/trunk/apps/visibility/Jamfile b/trunk/apps/visibility/Jamfile
new file mode 100644
index 0000000..3e9f0e4
--- /dev/null
+++ b/trunk/apps/visibility/Jamfile
@@ -0,0 +1,7 @@
+SubDir TOP apps visibility ;
+
+GPSLinkLibraries wheresat : gpstk ;
+BonkForte ;
+
+GPSMain wheresat : WhereSat.cpp ;
+
diff --git a/trunk/apps/visibility/Makefile.am b/trunk/apps/visibility/Makefile.am
new file mode 100644
index 0000000..a7d074d
--- /dev/null
+++ b/trunk/apps/visibility/Makefile.am
@@ -0,0 +1,6 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = wheresat
+
+vecsol_SOURCES = WhereSat.cpp
diff --git a/trunk/apps/visibility/UsingWhereSat.doc b/trunk/apps/visibility/UsingWhereSat.doc
new file mode 100644
index 0000000..870c0da
Binary files /dev/null and b/trunk/apps/visibility/UsingWhereSat.doc differ
diff --git a/trunk/apps/visibility/WhereSat.cpp b/trunk/apps/visibility/WhereSat.cpp
new file mode 100644
index 0000000..aa18b0c
--- /dev/null
+++ b/trunk/apps/visibility/WhereSat.cpp
@@ -0,0 +1,261 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/visibility/WhereSat.cpp#1 $"
+//
+// Computes SV position (Earth-fixed) and SV clock
+// correction. If given a user position, computes
+// azimuth, elevation and range to SV.
+//
+
+
+
+#include <iostream>
+#include <iomanip>
+
+#include "RinexNavData.hpp"
+#include "DayTime.hpp"
+#include "RinexEphemerisStore.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionParser.hpp"
+#include "BCEphemerisStore.hpp"
+#include "WGS84Geoid.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int j=0,incr=900,mm,dd,yy,hh,minu; // because sscanf doesnt read in shorts?...
+short year, month, day, hour, minute, myprn; // for DayTime usage
+string OutputFileName,NavFileName;
+ofstream ofs;
+double x, y, z, ss, correction;
+RinexEphemerisStore BCEphList;
+RinexNavData data;
+Xvt BCPVT,ANTPVT;
+DayTime t,tStart,tEnd,tFile;
+WGS84Geoid geoid;
+ECEF rxPos;
+
+int main(int argc, char *argv[])
+{
+
+CommandOptionNoArg
+ helpOption('h',"help", "Print help usage.");
+
+ CommandOptionWithAnyArg
+ BceFiles('b',"broadcast","RINEX navigation file. User may enter multiple files.",true),
+ PositionOption('u',"position","Antenna position in ECEF (x,y,z) coordinates. Format as a string: \"X Y Z\". Used to give user-centered data (SV range, azimuth & elevation)."),
+ StartTimeOption('s',"start","Starting time for analysis. Format as string: \"MO/DD/YYYY HH:MM:SS\". If no start time is specified, the default is end of file."),
+ EndTimeOption('e',"end", "End time for analysis. Format as string: \"MO/DD/YYYY HH:MM:SS\". If no end time is specified, the default is beginning of file."),
+ MatlabOption('o',"output-filename", "Results output to a MATLAB suitable file.");
+
+ CommandOptionWithNumberArg
+ MyPrnOption('p',"prn","Which SV to analyze.",true),
+ TimeIncrementOption('t',"time","Time increment for ephemeris calculation. Enter increment in seconds. Default is 900 (15 min).");
+
+ string appDesc("Computes the ephemeris data for a single prn.");
+ CommandOptionParser cop(appDesc);
+ cop.parseOptions(argc, argv);
+
+ if (helpOption.getCount() || cop.hasErrors())
+ {
+ if (cop.hasErrors())
+ cop.dumpErrors(cout);
+ cop.displayUsage(cout);
+ exit(0);
+ }
+
+ NavFileName = (BceFiles.getValue())[0];
+ BCEphList.loadFiles(BceFiles.getValue());
+ BCEphList.SearchNear();
+ myprn = StringUtils::asInt((MyPrnOption.getValue())[0]);
+
+ if (MatlabOption.getCount())
+ {
+ OutputFileName = (MatlabOption.getValue())[0];
+ ofs.open(OutputFileName.c_str(), ios::out);
+ if (PositionOption.getCount())
+ {
+ ofs << "#10-bit GPS week, GPS seconds of week,X,Y,Z(m),Clock Corr.(sec), azimuth (deg), elevation (deg), range (m)" << endl;
+ }
+ }
+ else
+ {
+ ofs << "#10-bit GPS week, GPS seconds of week,X,Y,Z(m),Clock Corr.(sec)" << endl;
+ }
+ if (StartTimeOption.getCount())
+ {
+ sscanf(StartTimeOption.getValue().front().c_str(), "%i/%i/%i %i:%i:%lf",&mm,&dd,&yy,&hh,&minu,&ss);
+ tStart.setYMDHMS((short)yy, (short)mm, (short)dd, (short)hh, (short)minu, (double)ss);
+ }
+ else
+ {
+ DayTime tFile(BCEphList.getInitialTime()); //extra code b/c sscanf reads in int's but setYMDHMS needs shorts
+ year = tFile.year();
+ month = tFile.month();
+ day = tFile.day();
+ hour = tFile.hour();
+ minute = tFile.minute();
+ ss = tFile.second();
+ tStart.setYMDHMS(year,month,day,hour,minute,ss);
+ }
+ if (EndTimeOption.getCount())
+ {
+ sscanf(EndTimeOption.getValue().front().c_str(), "%i/%i/%i %i:%i:%lf",&mm,&dd,&yy,&hh,&minu,&ss);
+ tEnd.setYMDHMS((short)yy, (short)mm, (short)dd, (short)hh, (short)minu, (double)ss);
+ }
+ else
+ {
+ DayTime tFile(BCEphList.getFinalTime()); //extra code b/c sscanf reads in int's but setYMDHMS needs shorts
+ year = tFile.year();
+ month = tFile.month();
+ day = tFile.day();
+ hour = tFile.hour();
+ minute = tFile.minute();
+ ss = tFile.second();
+ tEnd.setYMDHMS(year,month,day,hour,minute,ss);
+ }
+ if (TimeIncrementOption.getCount())
+ incr = gpstk::StringUtils::asInt((TimeIncrementOption.getValue())[0]);
+ if (PositionOption.getCount())
+ {
+ sscanf(PositionOption.getValue().front().c_str(),"%lf %lf %lf", &x, &y, &z);
+ ANTPVT.x[0] = x; ANTPVT.x[1] = y; ANTPVT.x[2] = z;
+ }
+
+ if (PositionOption.getCount())
+ {
+ cout << endl << endl << setw(20) << left << " Antenna Position: "
+ << ANTPVT.x[0] << " " << ANTPVT.x[1] << " " << ANTPVT.x[2] << endl;
+ }
+
+ cout << setw(20) << left << " Navigation File: "
+ << NavFileName << endl;
+ cout << setw(20) << left << " Start Time: "
+ << tStart << endl;
+ cout << setw(20) << left << " End Time: "
+ << tEnd << endl;
+ cout << setw(20) << left << " PRN: "
+ << myprn << endl << endl;
+ cout << " Prn " << myprn
+ << " Earth-fixed position and clock information:"
+ << endl << endl;
+ cout << setw(20) << left << " Date Time(UTC) "
+ << setw(20) << " X (meters)"
+ << setw(20) << " Y (meters)"
+ << setw(20) << " Z (meters)"
+ << setw(20) << " Clock Correc (s)"
+ << endl;
+ cout << setw(98) << setfill('=') << " =" << endl;
+ cout.width(0);
+ cout.fill(' ');
+
+ t = tStart;
+
+ while (t < tEnd)
+ {
+ try
+ {
+ BCPVT = BCEphList.getPrnXvt(myprn, t);
+ cout << " " << left << setw(20) << t
+ << fixed
+ << " " << left << setw(20) << BCPVT.x[0]
+ << " " << left << setw(20) << BCPVT.x[1]
+ << " " << left << setw(20) << BCPVT.x[2]
+ << " " << left << setw(20) << BCPVT.dtime << endl;
+ j++;
+ }
+ catch (gpstk::EphemerisStore::NoEphemerisFound& e)
+ {
+ ; // I don't know what to throw in these blocks
+ // without disrupting the printing of the charts.
+ // For ex., this would disrupt the printing:
+ // cerr << t << " " << e << endl;
+ }
+ t += incr;
+ }
+ if (PositionOption.getCount())
+ {
+ rxPos = Triple(ANTPVT.x);
+
+ cout << endl << endl;
+ cout << " Data for user reference frame:" << endl << endl;;
+ cout << setw(20) << left << " Date Time(UTC) "
+ << setw(15) << " Azimuth"
+ << setw(15) << " Elevation"
+ << setw(15) << " Range to SV (m)"
+ << endl;
+ cout << setw(70) << setfill('=') << " =" << endl;
+ cout.width(0);
+ cout.fill(' ');
+
+ t = tStart;
+
+ while (t < tEnd)
+ {
+ try
+ {
+ BCPVT = BCEphList.getPrnXvt(myprn, t);
+ correction = (BCPVT.dtime) * (geoid.c());
+ cout << fixed
+ << " " << left << setw(20) <<t
+ << " " << left << setw(15) << ANTPVT.x.azAngle(BCPVT.x)
+ << " " << left << setw(15) << ANTPVT.x.elvAngle(BCPVT.x)
+ << " " << left << setw(15) << BCPVT.preciseRho(rxPos, geoid, correction)
+ << endl;
+ }
+ catch (gpstk::Exception& e)
+ {
+ ;
+ }
+
+ t += incr;
+
+ }
+ }
+
+ if (MatlabOption.getCount())
+ {
+ t = tStart;
+ while (t < tEnd)
+ {
+ try
+ {
+ BCPVT = BCEphList.getPrnXvt(myprn, t);
+ correction = (BCPVT.dtime) * (geoid.c());
+
+ ofs << fixed
+ << left << setw(6) <<t.GPSfullweek()
+ << " " << left << setw(8) << t.GPSsecond()
+ << " " << left << setw(20) << BCPVT.x[0]
+ << " " << left << setw(20) << BCPVT.x[1]
+ << " " << left << setw(20) << BCPVT.x[2]
+ << " " << left << setw(10) << BCPVT.dtime;
+ if (PositionOption.getCount())
+ {
+ ofs << fixed
+ << " " << left << setw(15) << ANTPVT.x.azAngle(BCPVT.x)
+ << " " << left << setw(15) << ANTPVT.x.elvAngle(BCPVT.x)
+ << " " << left << setw(15) << BCPVT.preciseRho(rxPos, geoid, correction);
+ }
+ ofs << endl;
+ }
+ catch (gpstk::Exception& e)
+ {
+ ;
+ }
+ t += incr;
+ }
+ }
+
+ if (j==0)
+ {
+ cout << endl << endl << " No epochs for prn " << myprn << "!" << endl << endl;
+ }
+ else
+ {
+ cout << endl << " Calculated " << j << " increments for prn " << myprn << " ." << endl<< endl << endl;
+ }
+
+ ofs.close();
+ exit(0);
+
+}
+
diff --git a/trunk/apps/visibility/wheresat b/trunk/apps/visibility/wheresat
new file mode 100755
index 0000000..2c67407
Binary files /dev/null and b/trunk/apps/visibility/wheresat differ
diff --git a/trunk/configure.ac b/trunk/configure.ac
new file mode 100644
index 0000000..bc17383
--- /dev/null
+++ b/trunk/configure.ac
@@ -0,0 +1,54 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.59)
+AC_INIT([GPSTK], [1.2], [http://www.gpstk.org/])
+AC_CONFIG_SRCDIR([src/DayTime.hpp])
+AM_INIT_AUTOMAKE
+
+# Checks for programs.
+AC_PROG_CXX
+AC_PROG_CC
+
+# Checks for libraries.
+AC_PROG_LIBTOOL
+
+# Checks for header files.
+AC_FUNC_ALLOCA
+AC_HEADER_DIRENT
+AC_HEADER_STDC
+AC_CHECK_HEADERS([libintl.h stddef.h stdlib.h string.h strings.h sys/param.h sys/time.h sys/timeb.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_STDBOOL
+AC_C_CONST
+AC_C_INLINE
+AC_TYPE_SIZE_T
+AC_HEADER_TIME
+AC_STRUCT_TM
+
+# Checks for library functions.
+AC_FUNC_CLOSEDIR_VOID
+AC_FUNC_ERROR_AT_LINE
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_FUNC_STAT
+AC_FUNC_STRTOD
+AC_CHECK_FUNCS([bzero floor ftime getcwd gettimeofday memset mkdir modf pow re_comp regcomp sqrt strstr strtol strtoul])
+
+AC_CONFIG_FILES([Makefile
+ src/Makefile
+ apps/Makefile
+ apps/Rinextools/Makefile
+ apps/checktools/Makefile
+ apps/cycleslips/Makefile
+ apps/difftools/Makefile
+ apps/filetools/Makefile
+ apps/ionosphere/Makefile
+ apps/mergetools/Makefile
+ apps/reszilla/Makefile
+ apps/time/Makefile
+ apps/positioning/Makefile
+ apps/differential/Makefile
+ examples/Makefile])
+AC_OUTPUT
diff --git a/trunk/examples/Jamfile b/trunk/examples/Jamfile
new file mode 100644
index 0000000..fed89f5
--- /dev/null
+++ b/trunk/examples/Jamfile
@@ -0,0 +1,7 @@
+#
+# $Id: //depot/sgl/gpstk/dev/examples/Jamfile#1 $
+#
+
+SubDir TOP examples ;
+
+# SubInclude TOP examples foo ;
diff --git a/trunk/examples/Makefile.am b/trunk/examples/Makefile.am
new file mode 100644
index 0000000..2420039
--- /dev/null
+++ b/trunk/examples/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = -I../src
+LDADD = ../src/libgpstk.la
+
+noinst_PROGRAMS = example1 example2 example3 example4
+example1_SOURCES = example1.cpp
+example2_SOURCES = example2.cpp
+example3_SOURCES = example3.cpp
+example4_SOURCES = example4.cpp
+
+EXTRA_DIST = bahr1620.04m bahr1620.04o bahr1620.04n
diff --git a/trunk/examples/Makefile.in b/trunk/examples/Makefile.in
new file mode 100644
index 0000000..4433e0f
--- /dev/null
+++ b/trunk/examples/Makefile.in
@@ -0,0 +1,452 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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@
+noinst_PROGRAMS = example1$(EXEEXT) example2$(EXEEXT) \
+ example3$(EXEEXT) example4$(EXEEXT)
+subdir = examples
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_example1_OBJECTS = example1.$(OBJEXT)
+example1_OBJECTS = $(am_example1_OBJECTS)
+example1_LDADD = $(LDADD)
+example1_DEPENDENCIES = ../src/libgpstk.la
+am_example2_OBJECTS = example2.$(OBJEXT)
+example2_OBJECTS = $(am_example2_OBJECTS)
+example2_LDADD = $(LDADD)
+example2_DEPENDENCIES = ../src/libgpstk.la
+am_example3_OBJECTS = example3.$(OBJEXT)
+example3_OBJECTS = $(am_example3_OBJECTS)
+example3_LDADD = $(LDADD)
+example3_DEPENDENCIES = ../src/libgpstk.la
+am_example4_OBJECTS = example4.$(OBJEXT)
+example4_OBJECTS = $(am_example4_OBJECTS)
+example4_LDADD = $(LDADD)
+example4_DEPENDENCIES = ../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(example1_SOURCES) $(example2_SOURCES) $(example3_SOURCES) \
+ $(example4_SOURCES)
+DIST_SOURCES = $(example1_SOURCES) $(example2_SOURCES) \
+ $(example3_SOURCES) $(example4_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../src
+LDADD = ../src/libgpstk.la
+example1_SOURCES = example1.cpp
+example2_SOURCES = example2.cpp
+example3_SOURCES = example3.cpp
+example4_SOURCES = example4.cpp
+EXTRA_DIST = bahr1620.04m bahr1620.04o bahr1620.04n
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu examples/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; for p in $$list; do \
+ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
+example1$(EXEEXT): $(example1_OBJECTS) $(example1_DEPENDENCIES)
+ @rm -f example1$(EXEEXT)
+ $(CXXLINK) $(example1_LDFLAGS) $(example1_OBJECTS) $(example1_LDADD) $(LIBS)
+example2$(EXEEXT): $(example2_OBJECTS) $(example2_DEPENDENCIES)
+ @rm -f example2$(EXEEXT)
+ $(CXXLINK) $(example2_LDFLAGS) $(example2_OBJECTS) $(example2_LDADD) $(LIBS)
+example3$(EXEEXT): $(example3_OBJECTS) $(example3_DEPENDENCIES)
+ @rm -f example3$(EXEEXT)
+ $(CXXLINK) $(example3_LDFLAGS) $(example3_OBJECTS) $(example3_LDADD) $(LIBS)
+example4$(EXEEXT): $(example4_OBJECTS) $(example4_DEPENDENCIES)
+ @rm -f example4$(EXEEXT)
+ $(CXXLINK) $(example4_LDFLAGS) $(example4_OBJECTS) $(example4_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/example1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/example2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/example3.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/example4.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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 $(PROGRAMS)
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/examples/bahr1620.04m b/trunk/examples/bahr1620.04m
new file mode 100644
index 0000000..857b3a5
--- /dev/null
+++ b/trunk/examples/bahr1620.04m
@@ -0,0 +1,109 @@
+ 2.10 Meteorological RINEX VERSION / TYPE
+GFW - RMW NIMA 06/09/2004 23:58:58 PGM / RUN BY / DATE
+Some weather data may have corrected values COMMENT
+85405 MARKER NAME
+85405 MARKER NUMBER
+ 3 PR TD HR # / TYPES OF OBSERV
+Vaisala PTB220 0.1 PR SENSOR MOD/TYPE/ACC
+Vaisala HMP230 0.1 TD SENSOR MOD/TYPE/ACC
+Vaisala HMP230 0.1 HR SENSOR MOD/TYPE/ACC
+ 3633910.6549 4425277.7603 2799862.8820 0.0000 PR SENSOR POS XYZ/H
+ 3633910.6549 4425277.7603 2799862.8820 0.0000 TD SENSOR POS XYZ/H
+ 3633910.6549 4425277.7603 2799862.8820 0.0000 HR SENSOR POS XYZ/H
+ END OF HEADER
+ 04 6 10 0 0 0 999.7 30.6 42.6
+ 04 6 10 0 15 0 999.7 30.5 44.4
+ 04 6 10 0 30 0 999.8 30.3 44.6
+ 04 6 10 0 45 0 999.7 30.4 45.6
+ 04 6 10 1 0 0 999.9 30.5 44.0
+ 04 6 10 1 15 0 1000.0 30.6 41.3
+ 04 6 10 1 30 0 1000.2 30.8 40.0
+ 04 6 10 1 45 0 1000.3 30.7 39.9
+ 04 6 10 2 0 0 1000.4 30.6 39.8
+ 04 6 10 2 15 0 1000.6 31.1 38.0
+ 04 6 10 2 30 0 1000.6 31.4 37.0
+ 04 6 10 2 45 0 1000.8 32.0 36.3
+ 04 6 10 3 0 0 1000.9 33.0 34.3
+ 04 6 10 3 15 0 1001.2 33.7 32.4
+ 04 6 10 3 30 0 1001.3 34.2 31.3
+ 04 6 10 3 45 0 1001.4 35.3 26.4
+ 04 6 10 4 0 0 1001.6 35.9 23.9
+ 04 6 10 4 15 0 1001.5 36.6 21.5
+ 04 6 10 4 30 0 1001.5 36.9 20.0
+ 04 6 10 4 45 0 1001.5 37.3 18.8
+ 04 6 10 5 0 0 1001.6 37.6 21.1
+ 04 6 10 5 15 0 1001.7 38.1 19.7
+ 04 6 10 5 30 0 1001.6 38.3 19.4
+ 04 6 10 5 45 0 1001.5 38.4 20.4
+ 04 6 10 6 0 0 1001.6 39.2 20.6
+ 04 6 10 6 15 0 1001.6 38.9 20.1
+ 04 6 10 6 30 0 1001.8 39.7 18.0
+ 04 6 10 6 45 0 1001.8 39.2 18.9
+ 04 6 10 7 0 0 1001.9 40.0 18.7
+ 04 6 10 7 15 0 1002.0 39.8 18.8
+ 04 6 10 7 30 0 1002.1 39.4 19.0
+ 04 6 10 7 45 0 1002.0 39.8 17.6
+ 04 6 10 8 0 0 1001.8 41.0 18.3
+ 04 6 10 8 15 0 1001.7 40.8 16.4
+ 04 6 10 8 30 0 1001.7 41.6 14.8
+ 04 6 10 8 45 0 1001.6 41.7 14.6
+ 04 6 10 9 0 0 1001.7 41.3 15.0
+ 04 6 10 9 15 0 1001.5 41.5 14.7
+ 04 6 10 9 30 0 1001.4 42.7 15.3
+ 04 6 10 9 45 0 1001.3 42.3 15.8
+ 04 6 10 10 0 0 1001.2 41.8 15.4
+ 04 6 10 10 15 0 1001.1 42.4 15.5
+ 04 6 10 10 30 0 1001.0 42.3 18.3
+ 04 6 10 10 45 0 1000.8 42.4 15.2
+ 04 6 10 11 0 0 1000.7 41.7 19.7
+ 04 6 10 11 15 0 1000.5 41.9 20.5
+ 04 6 10 11 30 0 1000.5 40.9 23.6
+ 04 6 10 11 45 0 1000.5 40.2 23.3
+ 04 6 10 12 0 0 1000.3 40.4 25.2
+ 04 6 10 12 15 0 1000.1 40.8 23.9
+ 04 6 10 12 30 0 1000.0 41.3 21.6
+ 04 6 10 12 45 0 999.8 41.6 18.7
+ 04 6 10 13 0 0 999.8 40.6 22.9
+ 04 6 10 13 15 0 999.6 40.4 18.5
+ 04 6 10 13 30 0 999.6 41.1 17.8
+ 04 6 10 13 45 0 999.7 40.7 17.3
+ 04 6 10 14 0 0 999.6 40.5 18.6
+ 04 6 10 14 15 0 999.6 39.8 18.3
+ 04 6 10 14 30 0 999.5 39.1 21.2
+ 04 6 10 14 45 0 999.4 38.0 26.0
+ 04 6 10 15 0 0 999.4 37.2 31.1
+ 04 6 10 15 15 0 999.2 36.4 33.9
+ 04 6 10 15 30 0 999.3 36.2 32.3
+ 04 6 10 15 45 0 999.2 35.9 34.1
+ 04 6 10 16 0 0 999.2 35.8 33.3
+ 04 6 10 16 15 0 999.2 35.6 32.4
+ 04 6 10 16 30 0 999.4 35.4 35.3
+ 04 6 10 16 45 0 999.5 35.0 36.4
+ 04 6 10 17 0 0 999.6 34.6 40.4
+ 04 6 10 17 15 0 999.6 34.2 43.4
+ 04 6 10 17 30 0 999.8 34.1 43.9
+ 04 6 10 17 45 0 999.8 34.1 45.3
+ 04 6 10 18 0 0 999.7 33.9 44.5
+ 04 6 10 18 15 0 999.8 33.7 42.4
+ 04 6 10 18 30 0 999.8 33.7 42.8
+ 04 6 10 18 45 0 999.6 33.6 44.0
+ 04 6 10 19 0 0 999.6 33.6 41.5
+ 04 6 10 19 15 0 999.6 33.1 45.7
+ 04 6 10 19 30 0 999.4 33.1 45.3
+ 04 6 10 19 45 0 999.5 32.7 50.8
+ 04 6 10 20 0 0 999.2 32.8 47.5
+ 04 6 10 20 15 0 999.2 32.1 53.4
+ 04 6 10 20 30 0 999.1 32.1 53.3
+ 04 6 10 20 45 0 998.9 32.1 54.1
+ 04 6 10 21 0 0 998.9 31.7 54.4
+ 04 6 10 21 15 0 998.7 31.7 55.9
+ 04 6 10 21 30 0 998.6 31.4 57.1
+ 04 6 10 21 45 0 998.4 31.5 54.4
+ 04 6 10 22 0 0 998.4 31.5 53.2
+ 04 6 10 22 15 0 998.4 31.3 53.6
+ 04 6 10 22 30 0 998.3 31.0 53.0
+ 04 6 10 22 45 0 998.4 30.9 54.7
+ 04 6 10 23 0 0 998.3 30.9 57.1
+ 04 6 10 23 15 0 998.2 31.0 57.3
+ 04 6 10 23 30 0 998.2 31.2 50.5
+ 04 6 10 23 45 0 998.3 30.8 49.8
diff --git a/trunk/examples/bahr1620.04n b/trunk/examples/bahr1620.04n
new file mode 100644
index 0000000..43cafe8
--- /dev/null
+++ b/trunk/examples/bahr1620.04n
@@ -0,0 +1,1331 @@
+ 2.10 Navigation RINEX VERSION / TYPE
+GFW - RNW NIMA 06/10/2004 00:00:26 PGM / RUN BY / DATE
+ END OF HEADER
+ 5 04 6 10 2 0 0.0 .341222621500D-04 .181898940355D-11 .000000000000D+00
+ .900000000000D+02 -.386250000000D+02 .501449458811D-08 .237108733125D+01
+ -.217743217945D-05 .526548980270D-02 .109504908323D-04 .515376806831D+04
+ .352800000000D+06 -.540167093277D-07 -.152094815689D+01 -.912696123123D-07
+ .935617824444D+00 .151375000000D+03 .833656182315D+00 -.815033949435D-08
+ -.124290891500D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.419095158577D-08 .346000000000D+03
+ .345606000000D+06 .400000000000D+01
+ 9 04 6 10 2 0 0.0 -.485517084599D-04 -.181898940355D-11 .000000000000D+00
+ .216000000000D+03 -.687812500000D+02 .502699510881D-08 -.299872356341D+01
+ -.362657010555D-05 .156574887224D-01 .553391873837D-05 .515370327950D+04
+ .352800000000D+06 .184401869774D-06 -.252921697572D+01 -.236555933952D-06
+ .952019175420D+00 .264937500000D+03 .104784333493D+01 -.818676958324D-08
+ -.739316509786D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.558793544769D-08 .472000000000D+03
+ .345606000000D+06 .400000000000D+01
+30 04 6 10 2 0 0.0 .546381808817D-03 .466116034659D-11 .000000000000D+00
+ .530000000000D+02 -.402500000000D+02 .489341811622D-08 .134833572584D+01
+ -.215321779251D-05 .735930528026D-02 .106804072857D-04 .515365774727D+04
+ .352800000000D+06 -.165775418282D-06 -.147951043029D+01 -.596046447754D-07
+ .942506053217D+00 .165593750000D+03 .126609082544D+01 -.822819988041D-08
+ -.109647424398D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.838190317154D-08 .309000000000D+03
+ .345606000000D+06 .400000000000D+01
+ 4 04 6 10 2 0 0.0 -.172388274223D-03 -.127329258248D-10 .000000000000D+00
+ .172000000000D+03 .531250000000D+01 .460804908660D-08 .267604400100D+01
+ .251457095146D-06 .662042386830D-02 .636838376522D-05 .515366585541D+04
+ .352800000000D+06 -.800937414169D-07 .669513552475D+00 .689178705215D-07
+ .959705613260D+00 .257281250000D+03 -.566281602987D-01 -.813069581897D-08
+ -.268582616115D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .428000000000D+03
+ .345606000000D+06 .400000000000D+01
+ 6 04 6 10 2 0 0.0 .948891974986D-04 .616182660451D-10 .000000000000D+00
+ .220000000000D+02 .493437500000D+02 .508342603081D-08 -.269257883594D+01
+ .245124101639D-05 .661199598107D-02 .774115324020D-05 .515380031395D+04
+ .352800000000D+06 .745058059692D-07 -.422439076877D+00 -.540167093277D-07
+ .935864754775D+00 .214468750000D+03 -.200835451427D+01 -.822819988041D-08
+ .149291932894D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.465661287308D-08 .278000000000D+03
+ .345606000000D+06 .400000000000D+01
+10 04 6 10 2 0 0.0 .453772954643D-04 .568434188608D-12 .000000000000D+00
+ .138000000000D+03 .208750000000D+02 .384694595503D-08 .501461919216D+00
+ .113062560558D-05 .608099380042D-02 .942870974541D-05 .515373151970D+04
+ .352800000000D+06 .689178705215D-07 .170729495587D+01 .102445483208D-06
+ .979931953734D+00 .208343750000D+03 .315768757882D+00 -.784104089654D-08
+ .571452374714D-11 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.232830643654D-08 .650000000000D+03
+ .345606000000D+06 .400000000000D+01
+17 04 6 10 2 0 0.0 -.369045883417D-04 -.192130755750D-10 .000000000000D+00
+ .206000000000D+03 -.443750000000D+01 .427017787005D-08 -.201479578938D+01
+ -.365078449249D-06 .168322910322D-01 .679865479469D-05 .515362426758D+04
+ .352800000000D+06 .316649675369D-07 .763743451655D+00 -.219792127609D-06
+ .968678959653D+00 .253000000000D+03 -.278154677971D+01 -.790104339589D-08
+ -.582167106740D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.139698386192D-08 .462000000000D+03
+ .345606000000D+06 .400000000000D+01
+24 04 6 10 2 0 0.0 .334703363478D-04 .295585778076D-11 .000000000000D+00
+ .230000000000D+02 .421875000000D+01 .429482175371D-08 -.285128883025D+01
+ .230967998505D-06 .934673927259D-02 .634603202343D-05 .515364943123D+04
+ .352800000000D+06 .726431608200D-07 .696339543577D+00 .298023223877D-07
+ .969969227066D+00 .261718750000D+03 -.139802388908D+01 -.784854120896D-08
+ -.239295681911D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.139698386192D-08 .279000000000D+03
+ .345606000000D+06 .400000000000D+01
+21 04 6 10 2 0 0.0 .763442367315D-04 .341060513165D-12 .000000000000D+00
+ .790000000000D+02 .631250000000D+01 .471555356459D-08 -.279801627195D+01
+ .448897480965D-06 .882159930188D-02 .626035034657D-05 .515368687820D+04
+ .352800000000D+06 -.800937414169D-07 .694151764219D+00 .223517417908D-07
+ .953292034108D+00 .256375000000D+03 .300439997083D+01 -.817426906255D-08
+ -.202151277555D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.121071934700D-07 .335000000000D+03
+ .345996000000D+06 .400000000000D+01
+25 04 6 10 1 59 44.0 .685257837176D-04 .795807864051D-12 .000000000000D+00
+ .970000000000D+02 -.509062500000D+02 .518057293451D-08 -.222544676032D+01
+ -.243820250034D-05 .113382412819D-01 .497885048389D-05 .515371109772D+04
+ .352784000000D+06 .163912773132D-06 -.257905077831D+01 .117346644402D-06
+ .945149945563D+00 .273937500000D+03 -.157394456454D+01 -.827570185906D-08
+ .335728270144D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.745058059692D-08 .970000000000D+02
+ .349566000000D+06 .400000000000D+01
+18 04 6 10 2 0 0.0 -.429092906415D-04 -.363797880709D-11 .000000000000D+00
+ .114000000000D+03 .581250000000D+01 .423267630796D-08 .216129916891D+01
+ .393018126488D-06 .486231700052D-02 .915862619877D-05 .515367535591D+04
+ .352800000000D+06 -.106170773506D-06 .173972981439D+01 .782310962677D-07
+ .963614831728D+00 .198906250000D+03 -.295334328576D+01 -.802033407911D-08
+ .289297764699D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.102445483208D-07 .370000000000D+03
+ .351366000000D+06 .400000000000D+01
+29 04 6 10 2 0 0.0 .226536765695D-03 -.397903932026D-11 .000000000000D+00
+ .710000000000D+02 .193750000000D+02 .433446626220D-08 .103295459882D+01
+ .920146703720D-06 .819498160854D-02 .614114105701D-05 .515371554565D+04
+ .352800000000D+06 -.596046447754D-07 .272039290386D+01 -.204890966415D-06
+ .979167292305D+00 .271781250000D+03 -.135760581931D+01 -.816712590786D-08
+ .352871841386D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.651925802231D-08 .710000000000D+02
+ .352416000000D+06 .400000000000D+01
+ 5 04 6 10 4 0 0.0 .341348350048D-04 .181898940355D-11 .000000000000D+00
+ .910000000000D+02 -.279687500000D+02 .504592446872D-08 -.286201996488D+01
+ -.145658850670D-05 .526402774267D-02 .107344239950D-04 .515377082062D+04
+ .360000000000D+06 .428408384323D-07 -.152100716369D+01 -.139698386192D-06
+ .935616895491D+00 .154062500000D+03 .833704477629D+00 -.819176979152D-08
+ -.778603860547D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.419095158577D-08 .347000000000D+03
+ .352806000000D+06 .400000000000D+01
+ 9 04 6 10 4 0 0.0 -.485647469759D-04 -.181898940355D-11 .000000000000D+00
+ .217000000000D+03 -.626562500000D+02 .500342269835D-08 -.194859675234D+01
+ -.323355197906D-05 .156577152666D-01 .526569783688D-05 .515370222664D+04
+ .360000000000D+06 .203028321266D-06 -.252927688221D+01 .558793544769D-08
+ .952019465078D+00 .267343750000D+03 .104788338377D+01 -.818641242551D-08
+ .105361531588D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.558793544769D-08 .473000000000D+03
+ .352806000000D+06 .400000000000D+01
+30 04 6 10 4 0 0.0 .546414870769D-03 .466116034659D-11 .000000000000D+00
+ .480000000000D+02 -.328125000000D+02 .489198948528D-08 .239872958529D+01
+ -.181607902050D-05 .735924241599D-02 .108648091555D-04 .515365516281D+04
+ .360000000000D+06 .391155481339D-07 -.147956890313D+01 -.102445483208D-06
+ .942506258026D+00 .155468750000D+03 .126589177935D+01 -.801890544817D-08
+ -.992898501065D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.838190317154D-08 .560000000000D+03
+ .352806000000D+06 .400000000000D+01
+ 6 04 6 10 4 0 0.0 .953329727054D-04 .616182660451D-10 .000000000000D+00
+ .230000000000D+02 .570937500000D+02 .516485799421D-08 -.164262979867D+01
+ .288523733616D-05 .661282730289D-02 .743381679058D-05 .515379780006D+04
+ .360000000000D+06 .191852450371D-06 -.422498003218D+00 .428408384323D-07
+ .935865413088D+00 .220375000000D+03 -.200819517030D+01 -.831391773662D-08
+ .760745973838D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.465661287308D-08 .279000000000D+03
+ .352806000000D+06 .400000000000D+01
+21 04 6 10 4 0 0.0 .763470306993D-04 .341060513165D-12 .000000000000D+00
+ .800000000000D+02 .937500000000D-01 .469948146655D-08 -.174791522433D+01
+ -.147148966789D-06 .882221502252D-02 .638142228127D-05 .515368519402D+04
+ .360000000000D+06 -.819563865662D-07 .694092510185D+00 -.465661287308D-07
+ .953290505359D+00 .254937500000D+03 .300447382771D+01 -.822069956799D-08
+ -.181078971237D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.121071934700D-07 .336000000000D+03
+ .352806000000D+06 .400000000000D+01
+25 04 6 10 3 59 44.0 .685318373144D-04 .795807864051D-12 .000000000000D+00
+ .980000000000D+02 -.487812500000D+02 .534486549224D-08 -.117536722637D+01
+ -.231154263020D-05 .113383752760D-01 .559911131859D-05 .515370927048D+04
+ .359984000000D+06 -.175088644028D-06 -.257911124803D+01 .236555933952D-06
+ .945148506052D+00 .267468750000D+03 -.157386031509D+01 -.862500212310D-08
+ .285726187357D-11 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.745058059692D-08 .980000000000D+02
+ .352806000000D+06 .400000000000D+01
+10 04 6 10 4 0 0.0 .453819520772D-04 .568434188608D-12 .000000000000D+00
+ .131000000000D+03 .153437500000D+02 .388909056766D-08 .155189044983D+01
+ .815838575363D-06 .608000229113D-02 .878982245922D-05 .515372772408D+04
+ .360000000000D+06 -.409781932831D-07 .170723922162D+01 .242143869400D-07
+ .979931671390D+00 .221562500000D+03 .315481847462D+00 -.780175354578D-08
+ -.957182727646D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.232830643654D-08 .643000000000D+03
+ .352806000000D+06 .400000000000D+01
+18 04 6 10 4 0 0.0 -.429353676736D-04 -.363797880709D-11 .000000000000D+00
+ .115000000000D+03 .165312500000D+02 .412624330317D-08 -.307149383975D+01
+ .104866921902D-05 .486358755734D-02 .979006290436D-05 .515367235947D+04
+ .360000000000D+06 -.279396772385D-07 .173967232171D+01 -.521540641785D-07
+ .963615829439D+00 .191843750000D+03 -.295355655873D+01 -.787925677410D-08
+ .692886004340D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.102445483208D-07 .371000000000D+03
+ .352806000000D+06 .400000000000D+01
+24 04 6 10 4 0 0.0 .334917567670D-04 .295585778076D-11 .000000000000D+00
+ .240000000000D+02 .300000000000D+01 .436839624695D-08 -.180104297715D+01
+ .253319740295D-06 .934664078522D-02 .619515776634D-05 .515365021706D+04
+ .360000000000D+06 .428408384323D-07 .696283140770D+00 .273808836937D-06
+ .969966415337D+00 .266500000000D+03 -.139807568662D+01 -.804854954011D-08
+ -.327513642258D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.139698386192D-08 .240000000000D+02
+ .352806000000D+06 .400000000000D+01
+17 04 6 10 4 0 0.0 -.370428897440D-04 -.192130755750D-10 .000000000000D+00
+ .207000000000D+03 .153125000000D+01 .441661254107D-08 -.964680010177D+00
+ .000000000000D+00 .168324153638D-01 .625103712082D-05 .515362125969D+04
+ .360000000000D+06 .426545739174D-06 .763687552092D+00 -.121071934700D-06
+ .968677410422D+00 .263218750000D+03 -.278145245221D+01 -.810176604250D-08
+ -.296798077117D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.139698386192D-08 .463000000000D+03
+ .352806000000D+06 .400000000000D+01
+29 04 6 10 4 0 0.0 .226507894695D-03 -.397903932026D-11 .000000000000D+00
+ .720000000000D+02 .194687500000D+02 .418338854064D-08 .208302944997D+01
+ .968575477600D-06 .819511956070D-02 .580027699471D-05 .515371676445D+04
+ .360000000000D+06 .160187482834D-06 .272033553552D+01 -.204890966415D-07
+ .979170937897D+00 .276625000000D+03 -.135752800377D+01 -.788497129785D-08
+ .299655338991D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.651925802231D-08 .720000000000D+02
+ .352836000000D+06 .400000000000D+01
+26 04 6 10 4 0 0.0 .111297238618D-03 .159161572810D-10 .000000000000D+00
+ .132000000000D+03 .195312500000D+02 .427589239380D-08 -.960625800435D-01
+ .123865902424D-05 .155206799973D-01 .592507421970D-05 .515366611099D+04
+ .360000000000D+06 .150874257088D-06 .275290627280D+01 .156462192535D-06
+ .982242101800D+00 .278906250000D+03 .595283139064D+00 -.827463038585D-08
+ .359657838335D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.605359673500D-08 .388000000000D+03
+ .353406000000D+06 .400000000000D+01
+15 04 6 10 4 0 0.0 .277879647911D-03 .511590769747D-11 .000000000000D+00
+ .850000000000D+02 .425000000000D+01 .449375861166D-08 -.174345574531D+01
+ .294297933578D-06 .886550394353D-02 .649876892567D-05 .515367621231D+04
+ .360000000000D+06 -.134110450745D-06 .721975275271D+00 .931322574615D-07
+ .966696672008D+00 .260062500000D+03 .224725544127D+01 -.817784063989D-08
+ -.262153776900D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.232830643654D-08 .850000000000D+02
+ .354246000000D+06 .400000000000D+01
+30 04 6 10 3 59 44.0 .546414870769D-03 .466116034659D-11 .000000000000D+00
+ .730000000000D+02 -.328125000000D+02 .489198948528D-08 .239639570137D+01
+ -.181607902050D-05 .735924148466D-02 .108648091555D-04 .515365515709D+04
+ .359984000000D+06 .391155481339D-07 -.147956878902D+01 -.102445483208D-06
+ .942506244860D+00 .155468750000D+03 .126589185249D+01 -.801890544817D-08
+ -.992898501065D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.838190317154D-08 .730000000000D+02
+ .354246000000D+06 .400000000000D+01
+22 04 6 10 3 59 44.0 .103362835944D-04 .284217094304D-11 .000000000000D+00
+ .900000000000D+01 .126562500000D+02 .432410868791D-08 .116984299755D+01
+ .758096575737D-06 .481260858942D-02 .940635800362D-05 .515368057060D+04
+ .359984000000D+06 -.577419996262D-07 .174948640858D+01 -.124797224998D-06
+ .960978559723D+00 .195656250000D+03 -.143730510619D+01 -.808783689087D-08
+ .435732435719D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.176951289177D-07 .900000000000D+01
+ .355326000000D+06 .400000000000D+01
+16 04 6 10 4 0 0.0 .107493251562D-04 -.568434188608D-12 .000000000000D+00
+ .231000000000D+03 -.378750000000D+02 .454804658725D-08 -.279284825197D+01
+ -.171363353729D-05 .254810845945D-02 .107716768980D-04 .515355228043D+04
+ .360000000000D+06 .465661287308D-07 -.144859011038D+01 .707805156708D-07
+ .960771675311D+00 .172312500000D+03 -.143638256225D+01 -.793783064251D-08
+ -.546451333320D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.977888703346D-08 .231000000000D+03
+ .358506000000D+06 .400000000000D+01
+15 04 6 10 6 0 0.0 .277916435152D-03 .511590769747D-11 .000000000000D+00
+ .860000000000D+02 .562500000000D+00 .446697178159D-08 -.693335897732D+00
+ -.115483999252D-06 .886537018232D-02 .636652112007D-05 .515367517662D+04
+ .367200000000D+06 -.171363353729D-06 .721916259693D+00 -.502914190292D-07
+ .966694754122D+00 .261062500000D+03 .224731507858D+01 -.820248452355D-08
+ -.294655130712D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.232830643654D-08 .860000000000D+02
+ .360006000000D+06 .400000000000D+01
+21 04 6 10 6 0 0.0 .763498246670D-04 .341060513165D-12 .000000000000D+00
+ .810000000000D+02 .134375000000D+01 .474698344520D-08 -.697814121113D+00
+ -.104308128357D-06 .882202945650D-02 .607408583164D-05 .515368389702D+04
+ .367200000000D+06 .109896063805D-06 .694034122198D+00 -.191852450371D-06
+ .953288505550D+00 .259656250000D+03 .300454788062D+01 -.828998816843D-08
+ -.361800784741D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.121071934700D-07 .337000000000D+03
+ .360006000000D+06 .400000000000D+01
+30 04 6 10 5 59 44.0 .546448398381D-03 .466116034659D-11 .000000000000D+00
+ .740000000000D+02 -.277187500000D+02 .496056377025D-08 -.283668291278D+01
+ -.143237411976D-05 .735938898288D-02 .105462968349D-04 .515365514183D+04
+ .367184000000D+06 .156462192535D-06 -.147962715067D+01 -.409781932831D-07
+ .942505642137D+00 .164031250000D+03 .126597972998D+01 -.806319300721D-08
+ -.964325882329D-11 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.838190317154D-08 .740000000000D+02
+ .360006000000D+06 .400000000000D+01
+ 6 04 6 10 6 0 0.0 .957762822509D-04 .616182660451D-10 .000000000000D+00
+ .240000000000D+02 .571875000000D+02 .529700635586D-08 -.592435447600D+00
+ .293552875519D-05 .661309156567D-02 .719167292118D-05 .515379896545D+04
+ .367200000000D+06 -.484287738800D-07 -.422558765520D+00 .894069671631D-07
+ .935864804514D+00 .224843750000D+03 -.200827974745D+01 -.856249951962D-08
+ .664313385605D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.465661287308D-08 .280000000000D+03
+ .360006000000D+06 .400000000000D+01
+16 04 6 10 6 0 0.0 .107451342046D-04 -.568434188608D-12 .000000000000D+00
+ .232000000000D+03 -.289687500000D+02 .463233581252D-08 -.174317587153D+01
+ -.142492353916D-05 .254893582314D-02 .112280249596D-04 .515354914665D+04
+ .367200000000D+06 -.111758708954D-07 -.144864726513D+01 .596046447754D-07
+ .960771413449D+00 .162750000000D+03 -.143579870433D+01 -.792925885689D-08
+ -.342871424828D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.977888703346D-08 .232000000000D+03
+ .360006000000D+06 .400000000000D+01
+29 04 6 10 6 0 0.0 .226479023695D-03 -.397903932026D-11 .000000000000D+00
+ .730000000000D+02 .239687500000D+02 .409981363084D-08 .313310209650D+01
+ .114180147648D-05 .819366693031D-02 .623054802418D-05 .515371971512D+04
+ .367200000000D+06 .156462192535D-06 .272027867190D+01 .819563865662D-07
+ .979173148366D+00 .265875000000D+03 -.135744937778D+01 -.787639951223D-08
+ .340371320689D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.651925802231D-08 .730000000000D+02
+ .360006000000D+06 .400000000000D+01
+17 04 6 10 6 0 0.0 -.371807254851D-04 -.192130755750D-10 .000000000000D+00
+ .208000000000D+03 .375000000000D+00 .454447500991D-08 .855709587510D-01
+ .931322574615D-08 .168339249212D-01 .562891364098D-05 .515362442207D+04
+ .367200000000D+06 .189989805222D-06 .763628283429D+00 .167638063431D-06
+ .968673587817D+00 .274906250000D+03 -.278149180178D+01 -.841713632180D-08
+ -.369658254893D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.139698386192D-08 .464000000000D+03
+ .360006000000D+06 .400000000000D+01
+18 04 6 10 6 0 0.0 -.429614447057D-04 -.363797880709D-11 .000000000000D+00
+ .110000000000D+03 .103125000000D+02 .406695511929D-08 -.202151917362D+01
+ .478699803352D-06 .486398115754D-02 .943243503571D-05 .515367068672D+04
+ .367200000000D+06 -.800937414169D-07 .173961598181D+01 -.223517417908D-07
+ .963616359015D+00 .200812500000D+03 -.295335301709D+01 -.783782647693D-08
+ .300012496725D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.102445483208D-07 .622000000000D+03
+ .360006000000D+06 .400000000000D+01
+22 04 6 10 6 0 0.0 .103567726910D-04 .284217094304D-11 .000000000000D+00
+ .100000000000D+02 .173125000000D+02 .412588614543D-08 .222228078616D+01
+ .877305865288D-06 .481232174207D-02 .953674316406D-05 .515368125343D+04
+ .367200000000D+06 .111758708954D-06 .174942936356D+01 .540167093277D-07
+ .960979766630D+00 .196312500000D+03 -.143723473105D+01 -.784604110482D-08
+ -.100004165575D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.176951289177D-07 .100000000000D+02
+ .360006000000D+06 .400000000000D+01
+26 04 6 10 6 0 0.0 .111412256956D-03 .159161572810D-10 .000000000000D+00
+ .133000000000D+03 .247187500000D+02 .410517099685D-08 .954063884316D+00
+ .131875276566D-05 .155217084102D-01 .631809234619D-05 .515366864586D+04
+ .367200000000D+06 -.119209289551D-06 .275284846120D+01 .193715095520D-06
+ .982244416137D+00 .269968750000D+03 .595338835281D+00 -.812355266429D-08
+ .162149611325D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.605359673500D-08 .389000000000D+03
+ .360006000000D+06 .400000000000D+01
+ 3 04 6 10 6 0 0.0 .177677720785D-04 .318323145621D-11 .000000000000D+00
+ .134000000000D+03 .503437500000D+02 .549630037154D-08 .141734202221D+01
+ .282377004623D-05 .560716143809D-02 .816024839878D-05 .515368783760D+04
+ .367200000000D+06 -.186264514923D-08 -.475713038123D+00 .108033418655D-06
+ .928328475236D+00 .205281250000D+03 .539688253896D+00 -.856964267430D-08
+ .750031241812D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.419095158577D-08 .902000000000D+03
+ .362376000000D+06 .400000000000D+01
+14 04 6 10 6 0 0.0 -.213114544749D-04 -.568434188608D-12 .000000000000D+00
+ .237000000000D+03 .259375000000D+02 .417481675502D-08 .114641555679D+01
+ .152736902237D-05 .134624703787D-02 .605732202530D-05 .515361303139D+04
+ .367200000000D+06 -.260770320892D-07 .274089175232D+01 -.502914190292D-07
+ .978327160396D+00 .267375000000D+03 -.150892977431D+01 -.807212195057D-08
+ .447518640948D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.102445483208D-07 .237000000000D+03
+ .362616000000D+06 .400000000000D+01
+ 9 04 6 10 6 0 0.0 -.485777854919D-04 -.181898940355D-11 .000000000000D+00
+ .218000000000D+03 -.518125000000D+02 .512414201251D-08 -.898514024841D+00
+ -.236928462982D-05 .156579436734D-01 .573322176933D-05 .515369976044D+04
+ .367200000000D+06 .111758708954D-07 -.252933611577D+01 .312924385071D-06
+ .952018419091D+00 .265312500000D+03 .104796879624D+01 -.853178395448D-08
+ .750031241812D-11 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.558793544769D-08 .474000000000D+03
+ .367176000000D+06 .400000000000D+01
+ 3 04 6 10 8 0 0.0 .177905894816D-04 .318323145621D-11 .000000000000D+00
+ .135000000000D+03 .588437500000D+02 .551022952318D-08 .246771980420D+01
+ .296905636787D-05 .560739263892D-02 .809505581856D-05 .515368573952D+04
+ .374400000000D+06 -.763684511185D-07 -.475774882985D+00 -.596046447754D-07
+ .928329933765D+00 .205937500000D+03 .539491154943D+00 -.841963642594D-08
+ .169292766009D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.419095158577D-08 .903000000000D+03
+ .367206000000D+06 .400000000000D+01
+ 9 04 6 10 8 0 0.0 -.485903583467D-04 -.181898940355D-11 .000000000000D+00
+ .219000000000D+03 -.416562500000D+02 .503235247482D-08 .151698523470D+00
+ -.227428972721D-05 .156593524152D-01 .565871596336D-05 .515370279121D+04
+ .374400000000D+06 -.121071934700D-06 -.252939848143D+01 .152736902237D-06
+ .952018187950D+00 .269750000000D+03 .104792442301D+01 -.864928884903D-08
+ .264296723305D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.558793544769D-08 .475000000000D+03
+ .367206000000D+06 .400000000000D+01
+15 04 6 10 8 0 0.0 .277953222394D-03 .511590769747D-11 .000000000000D+00
+ .870000000000D+02 .312500000000D+00 .454126059030D-08 .356829440750D+00
+ -.273808836937D-06 .886528182309D-02 .628642737865D-05 .515367496681D+04
+ .374400000000D+06 -.167638063431D-07 .721857611307D+00 -.949949026108D-07
+ .966691949708D+00 .262937500000D+03 .224732941957D+01 -.827105880851D-08
+ -.414302971667D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.232830643654D-08 .870000000000D+02
+ .367206000000D+06 .400000000000D+01
+ 6 04 6 10 8 0 0.0 .962195917964D-04 .615045792074D-10 .000000000000D+00
+ .250000000000D+02 .584687500000D+02 .538022410793D-08 .457657782186D+00
+ .329874455929D-05 .661351310555D-02 .759214162827D-05 .515379976082D+04
+ .374400000000D+06 -.596046447754D-07 -.422620453850D+00 .540167093277D-07
+ .935865272648D+00 .221562500000D+03 -.200826282734D+01 -.856892835883D-08
+ .585738684082D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.465661287308D-08 .281000000000D+03
+ .367206000000D+06 .400000000000D+01
+16 04 6 10 8 0 0.0 .107409432530D-04 -.568434188608D-12 .000000000000D+00
+ .227000000000D+03 -.192812500000D+02 .457269047091D-08 -.692433650321D+00
+ -.116229057312D-05 .254956667777D-02 .111591070890D-04 .515355173302D+04
+ .374400000000D+06 -.353902578354D-07 -.144870488362D+01 -.204890966415D-07
+ .960770955555D+00 .166406250000D+03 -.143628367777D+01 -.800569061201D-08
+ -.500020827875D-11 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.977888703346D-08 .483000000000D+03
+ .367206000000D+06 .400000000000D+01
+21 04 6 10 8 0 0.0 .763526186347D-04 .341060513165D-12 .000000000000D+00
+ .760000000000D+02 -.243750000000D+01 .485698802733D-08 .352368980120D+00
+ -.417232513428D-06 .882356194779D-02 .526942312717D-05 .515368680382D+04
+ .374400000000D+06 .987201929092D-07 .693974211314D+00 .186264514923D-08
+ .953285010639D+00 .270156250000D+03 .300454063479D+01 -.843856578585D-08
+ -.426803492364D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.121071934700D-07 .588000000000D+03
+ .367206000000D+06 .400000000000D+01
+14 04 6 10 8 0 0.0 -.213161110878D-04 -.568434188608D-12 .000000000000D+00
+ .238000000000D+03 .232500000000D+02 .401838166744D-08 .219693689053D+01
+ .131316483021D-05 .134641467594D-02 .648759305477D-05 .515361221886D+04
+ .374400000000D+06 .100582838058D-06 .274083438691D+01 .540167093277D-07
+ .978331016648D+00 .265156250000D+03 -.150923619567D+01 -.791282960111D-08
+ .418231706744D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.102445483208D-07 .238000000000D+03
+ .367206000000D+06 .400000000000D+01
+18 04 6 10 8 0 0.0 -.429875217378D-04 -.363797880709D-11 .000000000000D+00
+ .111000000000D+03 .634375000000D+01 .419481758813D-08 -.971657225332D+00
+ .223517417908D-06 .486457895022D-02 .880844891071D-05 .515366783714D+04
+ .374400000000D+06 .156462192535D-06 .173956045821D+01 -.160187482834D-06
+ .963615705091D+00 .215375000000D+03 -.295303393564D+01 -.792711591048D-08
+ -.177507393895D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.102445483208D-07 .623000000000D+03
+ .367206000000D+06 .400000000000D+01
+22 04 6 10 8 0 0.0 .103772617877D-04 .284217094304D-11 .000000000000D+00
+ .110000000000D+02 .101875000000D+02 .418160275197D-08 -.301055767244D+01
+ .491738319397D-06 .481465924531D-02 .876560807228D-05 .515367661667D+04
+ .374400000000D+06 -.223517417908D-07 .174937386776D+01 -.540167093277D-07
+ .960979305811D+00 .212812500000D+03 -.143740717837D+01 -.779496754883D-08
+ -.148934775160D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.176951289177D-07 .110000000000D+02
+ .367206000000D+06 .400000000000D+01
+19 04 6 10 8 0 0.0 -.370740890503D-04 .648014975013D-11 .000000000000D+00
+ .193000000000D+03 .573750000000D+02 .482770109313D-08 -.185255918527D+01
+ .304728746414D-05 .345413421746D-02 .749714672565D-05 .515382856560D+04
+ .374400000000D+06 .707805156708D-07 -.346880605952D+00 .242143869400D-07
+ .960789502431D+00 .234968750000D+03 -.201671597177D+01 -.811319509000D-08
+ .177150236161D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.698491930962D-08 .449000000000D+03
+ .367626000000D+06 .400000000000D+01
+18 04 6 10 7 59 44.0 -.429875217378D-04 -.363797880709D-11 .000000000000D+00
+ .135000000000D+03 .634375000000D+01 .419481758813D-08 -.973991491067D+00
+ .223517417908D-06 .486457895022D-02 .880844891071D-05 .515366784477D+04
+ .374384000000D+06 .156462192535D-06 .173956058695D+01 -.160187482834D-06
+ .963615728497D+00 .215375000000D+03 -.295303347921D+01 -.792711591048D-08
+ -.177507393895D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.102445483208D-07 .135000000000D+03
+ .371106000000D+06 .400000000000D+01
+25 04 6 10 8 0 0.0 .685439445078D-04 .795807864051D-12 .000000000000D+00
+ .100000000000D+03 -.525000000000D+02 .517985861905D-08 .927262685287D+00
+ -.278651714325D-05 .113384160213D-01 .539049506187D-05 .515370906639D+04
+ .374400000000D+06 -.245869159698D-06 -.257923739692D+01 -.745058059692D-07
+ .945148820579D+00 .264625000000D+03 -.157382619691D+01 -.867464704815D-08
+ .610739725475D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.745058059692D-08 .100000000000D+03
+ .371406000000D+06 .400000000000D+01
+31 04 6 10 7 59 44.0 .205250456929D-03 .189857018995D-10 .000000000000D+00
+ .194000000000D+03 .495937500000D+02 .536736642950D-08 .816188270432D+00
+ .291690230370D-05 .128702261718D-01 .848248600960D-05 .515583281326D+04
+ .374384000000D+06 -.912696123123D-07 -.451611758277D+00 .912696123123D-07
+ .936949780633D+00 .206031250000D+03 .998713035012D+00 -.861857328389D-08
+ .332156692802D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .194000000000D+03
+ .373746000000D+06 .400000000000D+01
+11 04 6 10 8 0 0.0 .123809557408D-03 .295585778076D-11 .000000000000D+00
+ .480000000000D+02 .909375000000D+01 .606632411532D-08 .107446056030D+01
+ .625848770142D-06 .291253277101D-02 .463612377644D-05 .515368215942D+04
+ .374400000000D+06 .279396772385D-07 .541464175002D+00 .577419996262D-07
+ .906916275812D+00 .256718750000D+03 .900391479776D-01 -.895144429216D-08
+ -.353228999120D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.121071934700D-07 .304000000000D+03
+ .374376000000D+06 .400000000000D+01
+ 3 04 6 10 10 0 0.0 .178129412234D-04 .318323145621D-11 .000000000000D+00
+ .136000000000D+03 .606875000000D+02 .547772816937D-08 -.276532464351D+01
+ .301003456116D-05 .560679472983D-02 .788643956184D-05 .515368690491D+04
+ .381600000000D+06 -.111758708954D-07 -.475835496070D+00 -.968575477600D-07
+ .928331209430D+00 .210531250000D+03 .539530352371D+00 -.841856495274D-08
+ .187507810453D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.419095158577D-08 .904000000000D+03
+ .374406000000D+06 .400000000000D+01
+15 04 6 10 10 0 0.0 .277990009636D-03 .511590769747D-11 .000000000000D+00
+ .820000000000D+02 .190625000000D+01 .452697428094D-08 .140682357100D+01
+ -.156462192535D-06 .886646797881D-02 .507570803165D-05 .515367882538D+04
+ .381600000000D+06 .111758708954D-06 .721798528435D+00 -.596046447754D-07
+ .966689532968D+00 .277125000000D+03 .224751446700D+01 -.814141055100D-08
+ -.422517599554D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.232830643654D-08 .338000000000D+03
+ .374406000000D+06 .400000000000D+01
+21 04 6 10 10 0 0.0 .763554126024D-04 .341060513165D-12 .000000000000D+00
+ .770000000000D+02 .781250000000D+01 .492949104737D-08 .140242798055D+01
+ .648200511932D-06 .882467464544D-02 .504590570927D-05 .515368965340D+04
+ .381600000000D+06 .819563865662D-07 .693913699171D+00 .447034835815D-07
+ .953281958991D+00 .274156250000D+03 .300465598442D+01 -.841035032485D-08
+ -.443947063606D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.121071934700D-07 .589000000000D+03
+ .374406000000D+06 .400000000000D+01
+14 04 6 10 10 0 0.0 -.213203020394D-04 -.568434188608D-12 .000000000000D+00
+ .239000000000D+03 .219687500000D+02 .396980821559D-08 -.303596734818D+01
+ .121816992760D-05 .134593923576D-02 .678189098835D-05 .515361297226D+04
+ .381600000000D+06 -.782310962677D-07 .274077858683D+01 -.316649675369D-07
+ .978333668919D+00 .260343750000D+03 -.150930298080D+01 -.783925510787D-08
+ .262510934634D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.102445483208D-07 .239000000000D+03
+ .374406000000D+06 .400000000000D+01
+19 04 6 10 10 0 0.0 -.370279885828D-04 .636646291241D-11 .000000000000D+00
+ .194000000000D+03 .587500000000D+02 .485413076546D-08 -.802439628809D+00
+ .310502946377D-05 .345429556910D-02 .749342143536D-05 .515382882690D+04
+ .381600000000D+06 -.931322574615D-08 -.346939207525D+00 .651925802231D-07
+ .960790353849D+00 .236781250000D+03 -.201674691541D+01 -.819891294621D-08
+ .166078346401D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.698491930962D-08 .450000000000D+03
+ .374406000000D+06 .400000000000D+01
+25 04 6 10 10 0 0.0 .685495324433D-04 .795807864051D-12 .000000000000D+00
+ .101000000000D+03 -.510625000000D+02 .489877548223D-08 .197734915932D+01
+ -.267475843430D-05 .113383431453D-01 .504590570927D-05 .515371068573D+04
+ .381600000000D+06 .163912773132D-06 -.257929856298D+01 -.195577740669D-06
+ .945151402630D+00 .271000000000D+03 -.157374979894D+01 -.823355724642D-08
+ .992898501065D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.745058059692D-08 .101000000000D+03
+ .374406000000D+06 .400000000000D+01
+18 04 6 10 9 59 44.0 -.430135987699D-04 -.363797880709D-11 .000000000000D+00
+ .136000000000D+03 -.659375000000D+01 .428589281035D-08 .764588048390D-01
+ -.495463609695D-06 .486636732239D-02 .807642936707D-05 .515367198372D+04
+ .381584000000D+06 .800937414169D-07 .173950317327D+01 .447034835815D-07
+ .963613380514D+00 .225781250000D+03 -.295330331152D+01 -.811426656320D-08
+ -.240724312848D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.102445483208D-07 .136000000000D+03
+ .374406000000D+06 .400000000000D+01
+22 04 6 10 10 0 0.0 .103977508843D-04 .284217094304D-11 .000000000000D+00
+ .120000000000D+02 -.609375000000D+01 .424053377811D-08 -.196003723400D+01
+ -.461935997009D-06 .481307203881D-02 .849924981594D-05 .515368087578D+04
+ .381600000000D+06 .102445483208D-06 .174931807938D+01 .124797224998D-06
+ .960977209449D+00 .218125000000D+03 -.143775209642D+01 -.796068873750D-08
+ -.271439877989D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.176951289177D-07 .120000000000D+02
+ .374406000000D+06 .400000000000D+01
+31 04 6 10 9 59 44.0 .205386895686D-03 .189857018995D-10 .000000000000D+00
+ .195000000000D+03 .543750000000D+02 .536379485216D-08 .186510634690D+01
+ .261701643467D-05 .128700903151D-01 .845827162266D-05 .515583159065D+04
+ .381584000000D+06 -.219792127609D-06 -.451674311191D+00 -.230967998505D-06
+ .936951520043D+00 .205968750000D+03 .998664409078D+00 -.835213361418D-08
+ .206080012631D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .195000000000D+03
+ .374406000000D+06 .400000000000D+01
+11 04 6 10 10 0 0.0 .123830512166D-03 .295585778076D-11 .000000000000D+00
+ .430000000000D+02 .100937500000D+02 .611275462077D-08 .212463008273D+01
+ .609084963799D-06 .291260436643D-02 .492855906487D-05 .515368224907D+04
+ .381600000000D+06 -.651925802231D-07 .541399375046D+00 .121071934700D-06
+ .906913974642D+00 .256093750000D+03 .900568273426D-01 -.892072872702D-08
+ -.277868717205D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.121071934700D-07 .555000000000D+03
+ .374406000000D+06 .400000000000D+01
+21 04 6 10 9 59 44.0 .763544812799D-04 .341060513165D-12 .000000000000D+00
+ .101000000000D+03 .781250000000D+01 .492949104737D-08 .140009347051D+01
+ .648200511932D-06 .882467336487D-02 .504590570927D-05 .515368965721D+04
+ .381584000000D+06 .819563865662D-07 .693913846926D+00 .447034835815D-07
+ .953281926807D+00 .274156250000D+03 .300465657690D+01 -.841035032485D-08
+ -.443947063606D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.121071934700D-07 .101000000000D+03
+ .375306000000D+06 .400000000000D+01
+ 1 04 6 10 10 0 0.0 .347856897861D-03 .170530256582D-11 .000000000000D+00
+ .410000000000D+02 .230000000000D+02 .409838499990D-08 .166506690534D+01
+ .116229057312D-05 .514837005176D-02 .643543899059D-05 .515354935837D+04
+ .381600000000D+06 .447034835815D-07 .276730788498D+01 -.163912773132D-06
+ .979713462530D+00 .265406250000D+03 -.168664558191D+01 -.800283335013D-08
+ .348585948575D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.325962901115D-08 .297000000000D+03
+ .377106000000D+06 .400000000000D+01
+20 04 6 10 10 0 0.0 -.154380220920D-03 .397903932026D-11 .000000000000D+00
+ .200000000000D+01 .606250000000D+01 .424053377811D-08 -.627444161259D+00
+ .270083546638D-06 .240924884565D-02 .925175845623D-05 .515364872360D+04
+ .381600000000D+06 -.745058059692D-08 .168715299212D+01 .409781932831D-07
+ .963603893490D+00 .200718750000D+03 .157197830316D+01 -.803354891527D-08
+ -.217151902391D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.698491930962D-08 .200000000000D+01
+ .377346000000D+06 .400000000000D+01
+11 04 6 10 9 59 44.0 .123830512166D-03 .295585778076D-11 .000000000000D+00
+ .670000000000D+02 .100937500000D+02 .611275462077D-08 .212229762955D+01
+ .609084963799D-06 .291260797530D-02 .492855906487D-05 .515368224144D+04
+ .381584000000D+06 -.651925802231D-07 .541399538892D+00 .121071934700D-06
+ .906913970253D+00 .256093750000D+03 .900555546039D-01 -.892072872702D-08
+ -.277868717205D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.121071934700D-07 .670000000000D+02
+ .379326000000D+06 .400000000000D+01
+ 3 04 6 10 12 0 0.0 .178357586265D-04 .318323145621D-11 .000000000000D+00
+ .137000000000D+03 .581250000000D+02 .546451333320D-08 -.171509405596D+01
+ .287964940071D-05 .560682604555D-02 .791251659393D-05 .515368729210D+04
+ .388800000000D+06 .558793544769D-07 -.475896580214D+00 -.316649675369D-07
+ .928332805473D+00 .208375000000D+03 .539479845124D+00 -.844035157452D-08
+ .255010622216D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.419095158577D-08 .905000000000D+03
+ .381606000000D+06 .400000000000D+01
+15 04 6 10 12 0 0.0 .278026331216D-03 .511590769747D-11 .000000000000D+00
+ .830000000000D+02 .512500000000D+01 .469269546960D-08 .245697245312D+01
+ .538304448128D-06 .886668683961D-02 .522099435329D-05 .515367914200D+04
+ .388800000000D+06 .212341547012D-06 .721739392897D+00 .577419996262D-07
+ .966686592502D+00 .280562500000D+03 .224754376925D+01 -.817069748520D-08
+ -.328227957726D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.232830643654D-08 .339000000000D+03
+ .381606000000D+06 .400000000000D+01
+20 04 6 10 12 0 0.0 -.154350884259D-03 .397903932026D-11 .000000000000D+00
+ .237000000000D+03 .190625000000D+01 .433625205087D-08 .422629638049D+00
+ .689178705215D-07 .240696524270D-02 .856630504131D-05 .515364436913D+04
+ .388800000000D+06 -.316649675369D-07 .168709539996D+01 -.372529029846D-08
+ .963602186265D+00 .216656250000D+03 .157210028420D+01 -.802569144512D-08
+ -.257867884090D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.698491930962D-08 .493000000000D+03
+ .381606000000D+06 .400000000000D+01
+ 1 04 6 10 12 0 0.0 .347869470716D-03 .170530256582D-11 .000000000000D+00
+ .420000000000D+02 .206875000000D+02 .398480884043D-08 .271536847514D+01
+ .103563070297D-05 .514859450050D-02 .647269189358D-05 .515354873657D+04
+ .388800000000D+06 .428408384323D-07 .276725182011D+01 .102445483208D-06
+ .979716506862D+00 .264593750000D+03 -.168669395476D+01 -.778460997454D-08
+ .243581574722D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.325962901115D-08 .298000000000D+03
+ .381606000000D+06 .400000000000D+01
+14 04 6 10 12 0 0.0 -.213249586523D-04 -.568434188608D-12 .000000000000D+00
+ .000000000000D+00 .140000000000D+02 .401838166744D-08 -.198536279049D+01
+ .657513737679D-06 .134479394183D-02 .708363950253D-05 .515361530304D+04
+ .388800000000D+06 .540167093277D-07 .274072240200D+01 .111758708954D-07
+ .978334909473D+00 .255031250000D+03 -.150969463323D+01 -.792211570220D-08
+ .169649923743D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.102445483208D-07 .000000000000D+00
+ .381606000000D+06 .400000000000D+01
+25 04 6 10 12 0 0.0 .685555860400D-04 .795807864051D-12 .000000000000D+00
+ .102000000000D+03 -.429062500000D+02 .486305970881D-08 .302744033517D+01
+ -.214204192162D-05 .113376091467D-01 .506266951561D-05 .515371265221D+04
+ .388800000000D+06 .156462192535D-06 -.257935728305D+01 -.577419996262D-07
+ .945152131163D+00 .271531250000D+03 -.157368113249D+01 -.817319758934D-08
+ .832177520677D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.745058059692D-08 .102000000000D+03
+ .381606000000D+06 .400000000000D+01
+19 04 6 10 12 0 0.0 -.369814224541D-04 .636646291241D-11 .000000000000D+00
+ .195000000000D+03 .614062500000D+02 .480305720947D-08 .247657464545D+00
+ .306777656078D-05 .345471862238D-02 .755675137043D-05 .515382962608D+04
+ .388800000000D+06 -.260770320892D-07 -.346998315267D+00 .391155481339D-07
+ .960791530035D+00 .235156250000D+03 -.201675580703D+01 -.820784188956D-08
+ .163221084528D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.698491930962D-08 .451000000000D+03
+ .381606000000D+06 .400000000000D+01
+22 04 6 10 12 0 0.0 .104182399809D-04 .284217094304D-11 .000000000000D+00
+ .130000000000D+02 -.129062500000D+02 .443518474325D-08 -.909938458292D+00
+ -.659376382828D-06 .481261161622D-02 .828132033348D-05 .515368008232D+04
+ .388800000000D+06 -.819563865662D-07 .174925962556D+01 .000000000000D+00
+ .960974447460D+00 .218406250000D+03 -.143767575258D+01 -.817212611614D-08
+ -.233938315898D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.176951289177D-07 .130000000000D+02
+ .381606000000D+06 .400000000000D+01
+31 04 6 10 12 0 0.0 .205523334444D-03 .189857018995D-10 .000000000000D+00
+ .196000000000D+03 .609375000000D+02 .521950312754D-08 .291622465655D+01
+ .293739140034D-05 .128688844852D-01 .779889523983D-05 .515583453178D+04
+ .388800000000D+06 .409781932831D-07 -.451733370657D+00 -.171363353729D-06
+ .936953932395D+00 .215562500000D+03 .998744369255D+00 -.813069581897D-08
+ .193579491934D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .196000000000D+03
+ .381606000000D+06 .400000000000D+01
+11 04 6 10 11 59 44.0 .123851466924D-03 .295585778076D-11 .000000000000D+00
+ .680000000000D+02 .109687500000D+02 .607989610922D-08 -.311067806100D+01
+ .532716512680D-06 .291241216473D-02 .475905835629D-05 .515368251228D+04
+ .388784000000D+06 -.894069671631D-07 .541335389935D+00 -.558793544769D-08
+ .906912554148D+00 .258406250000D+03 .900332860649D-01 -.882536761199D-08
+ -.228938107620D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.121071934700D-07 .680000000000D+02
+ .381606000000D+06 .400000000000D+01
+16 04 6 10 12 0 0.0 .107320956886D-04 -.568434188608D-12 .000000000000D+00
+ .229000000000D+03 -.302187500000D+02 .441982696068D-08 .140733725567D+01
+ -.149756669998D-05 .254844792653D-02 .973604619503D-05 .515355117035D+04
+ .388800000000D+06 -.372529029846D-08 -.144882028884D+01 -.782310962677D-07
+ .960771391505D+00 .190937500000D+03 -.143554037348D+01 -.794354516626D-08
+ .346443002170D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.977888703346D-08 .485000000000D+03
+ .382626000000D+06 .400000000000D+01
+13 04 6 10 12 0 0.0 -.275610946119D-04 .454747350886D-12 .000000000000D+00
+ .174000000000D+03 .237187500000D+02 .400659546221D-08 -.425259509788D+00
+ .122189521790D-05 .234649307095D-02 .661052763462D-05 .515365548706D+04
+ .388800000000D+06 .931322574615D-07 .275005441202D+01 .409781932831D-07
+ .983904974449D+00 .264187500000D+03 .806888571885D+00 -.797711799327D-08
+ .269654089318D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.111758708954D-07 .686000000000D+03
+ .384606000000D+06 .400000000000D+01
+13 04 6 10 11 59 44.0 -.275606289506D-04 .568434188608D-12 .000000000000D+00
+ .200000000000D+03 .237187500000D+02 .400659546221D-08 -.427596060601D+00
+ .122189521790D-05 .234648503829D-02 .661052763462D-05 .515365547752D+04
+ .388784000000D+06 .931322574615D-07 .275005453490D+01 .409781932831D-07
+ .983904946653D+00 .264187500000D+03 .806891399706D+00 -.797711799327D-08
+ .269654089318D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.111758708954D-07 .200000000000D+03
+ .385986000000D+06 .400000000000D+01
+13 04 6 10 13 59 44.0 -.275569036603D-04 .568434188608D-12 .000000000000D+00
+ .201000000000D+03 .227812500000D+02 .395087885568D-08 .622504164860D+00
+ .118836760521D-05 .234645535238D-02 .676698982716D-05 .515365547180D+04
+ .395984000000D+06 -.838190317154D-07 .274999821841D+01 .949949026108D-07
+ .983906835280D+00 .261187500000D+03 .806979189420D+00 -.787068498848D-08
+ .147148986489D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.111758708954D-07 .201000000000D+03
+ .388806000000D+06 .400000000000D+01
+16 04 6 10 14 0 0.0 .107274390757D-04 -.568434188608D-12 .000000000000D+00
+ .230000000000D+03 -.365312500000D+02 .438732560686D-08 .245784866937D+01
+ -.187009572983D-05 .254890299402D-02 .981055200100D-05 .515354972458D+04
+ .396000000000D+06 .204890966415D-07 -.144887701202D+01 -.745058059692D-08
+ .960771824529D+00 .190312500000D+03 -.143579675280D+01 -.787675666996D-08
+ .103575742917D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.977888703346D-08 .486000000000D+03
+ .388806000000D+06 .400000000000D+01
+20 04 6 10 14 0 0.0 -.154322013259D-03 .397903932026D-11 .000000000000D+00
+ .238000000000D+03 -.108125000000D+02 .431482258682D-08 .147212795172D+01
+ -.761821866035D-06 .240800960455D-02 .816769897938D-05 .515364809990D+04
+ .396000000000D+06 -.223517417908D-07 .168703760153D+01 -.279396772385D-07
+ .963600421985D+00 .223093750000D+03 .157279847940D+01 -.800640492747D-08
+ -.251439044874D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.698491930962D-08 .494000000000D+03
+ .388806000000D+06 .400000000000D+01
+ 1 04 6 10 14 0 0.0 .347881577909D-03 .170530256582D-11 .000000000000D+00
+ .430000000000D+02 .183437500000D+02 .393694970404D-08 -.251749520417D+01
+ .907108187675D-06 .514688901603D-02 .713951885700D-05 .515355198669D+04
+ .396000000000D+06 .223517417908D-07 .276719627896D+01 -.149011611938D-07
+ .979717921504D+00 .252125000000D+03 -.168676333658D+01 -.777853829306D-08
+ .151434879299D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.325962901115D-08 .299000000000D+03
+ .388806000000D+06 .400000000000D+01
+11 04 6 10 14 0 0.0 .123872421682D-03 .295585778076D-11 .000000000000D+00
+ .690000000000D+02 .170937500000D+02 .612418366826D-08 -.205801711448D+01
+ .795349478722D-06 .291152996942D-02 .459328293800D-05 .515368432999D+04
+ .396000000000D+06 .279396772385D-07 .541270569498D+00 -.154599547386D-06
+ .906910709408D+00 .261968750000D+03 .898926850083D-01 -.896501628606D-08
+ -.129648257513D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.121071934700D-07 .690000000000D+02
+ .388806000000D+06 .400000000000D+01
+25 04 6 10 14 0 0.0 .685616396368D-04 .795807864051D-12 .000000000000D+00
+ .970000000000D+02 -.348750000000D+02 .494234872581D-08 -.220563873542D+01
+ -.170804560184D-05 .113389188191D-01 .475905835629D-05 .515370996475D+04
+ .396000000000D+06 .257045030594D-06 -.257941596362D+01 .428408384323D-07
+ .945152628555D+00 .278281250000D+03 -.157362693723D+01 -.823034282681D-08
+ .510735559900D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.745058059692D-08 .353000000000D+03
+ .388806000000D+06 .400000000000D+01
+27 04 6 10 14 0 0.0 .246713869274D-03 .246700437856D-10 .000000000000D+00
+ .760000000000D+02 -.502500000000D+02 .474126892145D-08 .250030310355D+01
+ -.278651714325D-05 .181970166741D-01 .532157719135D-05 .515373566818D+04
+ .396000000000D+06 .633299350739D-07 -.255097249568D+01 -.292435288429D-06
+ .949658824393D+00 .269500000000D+03 -.215881325855D+01 -.802747723379D-08
+ .217866217860D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.419095158577D-08 .760000000000D+02
+ .388866000000D+06 .400000000000D+01
+ 4 04 6 10 14 0 0.0 -.172940082848D-03 -.127329258248D-10 .000000000000D+00
+ .172000000000D+03 .490625000000D+01 .491270463387D-08 .269374191287D+01
+ .279396772385D-06 .661827984732D-02 .580400228500D-05 .515366606331D+04
+ .396000000000D+06 -.191852450371D-06 .669156129404D+00 .949949026108D-07
+ .959691857441D+00 .269343750000D+03 -.563900616038D-01 -.821034199370D-08
+ -.220366321999D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.605359673500D-08 .684000000000D+03
+ .389916000000D+06 .400000000000D+01
+ 8 04 6 10 14 0 0.0 -.177603214979D-05 -.682121026330D-12 .000000000000D+00
+ .200000000000D+01 -.477812500000D+02 .450697344782D-08 -.258427408342D+01
+ -.231899321079D-05 .894277368207D-02 .605359673500D-05 .515363043022D+04
+ .396000000000D+06 -.577419996262D-07 -.246061929577D+01 .124797224998D-06
+ .965059968038D+00 .263593750000D+03 .242093641840D+01 -.802390565645D-08
+ -.282154610015D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.419095158577D-08 .770000000000D+03
+ .393036000000D+06 .400000000000D+01
+ 4 04 6 10 13 59 44.0 -.172939151525D-03 -.127329258248D-10 .000000000000D+00
+ .197000000000D+03 .490625000000D+01 .491270463387D-08 .269140851610D+01
+ .279396772385D-06 .661829358432D-02 .580400228500D-05 .515366605759D+04
+ .395984000000D+06 -.191852450371D-06 .669156304955D+00 .949949026108D-07
+ .959691873533D+00 .269343750000D+03 -.563904917018D-01 -.821034199370D-08
+ -.220366321999D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .197000000000D+03
+ .394746000000D+06 .400000000000D+01
+ 3 04 6 10 14 0 0.0 .178585760295D-04 .318323145621D-11 .000000000000D+00
+ .138000000000D+03 .503437500000D+02 .539843915237D-08 -.664734377586D+00
+ .274181365967D-05 .560697668698D-02 .805966556072D-05 .515368918610D+04
+ .396000000000D+06 .614672899246D-07 -.475957301555D+00 .316649675369D-07
+ .928334372259D+00 .206781250000D+03 .539298314545D+00 -.849142513051D-08
+ .229652423088D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.419095158577D-08 .906000000000D+03
+ .394836000000D+06 .400000000000D+01
+13 04 6 10 16 0 0.0 -.275531783700D-04 .568434188608D-12 .000000000000D+00
+ .202000000000D+03 .129062500000D+02 .391016287398D-08 .167419079039D+01
+ .573694705963D-06 .234743417241D-02 .745430588722D-05 .515365960693D+04
+ .403200000000D+06 -.968575477600D-07 .274994151131D+01 .745058059692D-08
+ .983907723272D+00 .249093750000D+03 .807812689921D+00 -.785747015231D-08
+ .121433629627D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.111758708954D-07 .202000000000D+03
+ .396006000000D+06 .400000000000D+01
+20 04 6 10 16 0 0.0 -.154293142259D-03 .397903932026D-11 .000000000000D+00
+ .239000000000D+03 -.210312500000D+02 .443911347832D-08 .252279454006D+01
+ -.106543302536D-05 .240883126389D-02 .817701220512D-05 .515364552116D+04
+ .403200000000D+06 .372529029846D-08 .168697975483D+01 -.726431608200D-07
+ .963598546524D+00 .219812500000D+03 .157232789084D+01 -.803712049261D-08
+ -.230366738556D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.698491930962D-08 .495000000000D+03
+ .396006000000D+06 .400000000000D+01
+27 04 6 10 16 0 0.0 .246891751885D-03 .246700437856D-10 .000000000000D+00
+ .770000000000D+02 -.425937500000D+02 .472841124302D-08 -.273275098772D+01
+ -.231713056564D-05 .181960127084D-01 .525824725628D-05 .515373755074D+04
+ .403200000000D+06 .176951289177D-06 -.255103034385D+01 -.193715095520D-06
+ .949659042368D+00 .269968750000D+03 -.215880054140D+01 -.802569144512D-08
+ .703600736366D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.419095158577D-08 .770000000000D+02
+ .396006000000D+06 .400000000000D+01
+ 1 04 6 10 16 0 0.0 .347893685102D-03 .170530256582D-11 .000000000000D+00
+ .440000000000D+02 .156562500000D+02 .404052544696D-08 -.146725814905D+01
+ .672414898872D-06 .514655280858D-02 .726804137230D-05 .515355212975D+04
+ .403200000000D+06 -.186264514923D-07 .276714029601D+01 .139698386192D-06
+ .979718288696D+00 .247906250000D+03 -.168674968170D+01 -.791247244338D-08
+ .982183769039D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.325962901115D-08 .300000000000D+03
+ .396006000000D+06 .400000000000D+01
+ 4 04 6 10 15 59 44.0 -.173031352460D-03 -.127329258248D-10 .000000000000D+00
+ .198000000000D+03 .659375000000D+01 .488270338419D-08 -.254155981890D+01
+ .305473804474D-06 .661686446983D-02 .529736280441D-05 .515366875267D+04
+ .403184000000D+06 -.208616256714D-06 .669097080179D+00 -.838190317154D-07
+ .959690295044D+00 .279593750000D+03 -.564198217463D-01 -.823962892790D-08
+ -.178936024832D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .198000000000D+03
+ .396006000000D+06 .400000000000D+01
+16 04 6 10 16 0 0.0 .107232481241D-04 -.568434188608D-12 .000000000000D+00
+ .231000000000D+03 -.388437500000D+02 .432518016111D-08 -.277510270164D+01
+ -.198930501938D-05 .254735921044D-02 .103041529655D-04 .515355260086D+04
+ .403200000000D+06 .335276126862D-07 -.144893353040D+01 -.502914190292D-07
+ .960771783567D+00 .179125000000D+03 -.143577591792D+01 -.788032824730D-08
+ -.267868300647D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.977888703346D-08 .487000000000D+03
+ .396006000000D+06 .400000000000D+01
+ 3 04 6 10 16 0 0.0 .178809277713D-04 .318323145621D-11 .000000000000D+00
+ .139000000000D+03 .504375000000D+02 .538772442035D-08 .385391523550D+00
+ .262819230556D-05 .560656411108D-02 .840425491333D-05 .515368833923D+04
+ .403200000000D+06 .204890966415D-07 -.476018593434D+00 .298023223877D-07
+ .928335921489D+00 .202000000000D+03 .539350752844D+00 -.851571185644D-08
+ .228223792151D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.419095158577D-08 .395000000000D+03
+ .396006000000D+06 .400000000000D+01
+ 8 04 6 10 16 0 0.0 -.178162008524D-05 -.682121026330D-12 .000000000000D+00
+ .300000000000D+01 -.420937500000D+02 .450875923649D-08 -.153396895580D+01
+ -.222772359848D-05 .894242571667D-02 .605732202530D-05 .515363218689D+04
+ .403200000000D+06 -.154599547386D-06 -.246067812994D+01 -.428408384323D-07
+ .965059175137D+00 .267687500000D+03 .242083842923D+01 -.820105589261D-08
+ .260725145963D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.419095158577D-08 .771000000000D+03
+ .396006000000D+06 .400000000000D+01
+11 04 6 10 16 0 0.0 .123893376440D-03 .295585778076D-11 .000000000000D+00
+ .700000000000D+02 .183750000000D+02 .614847039419D-08 -.100816836756D+01
+ .892207026482D-06 .291152729187D-02 .421144068241D-05 .515368248177D+04
+ .403200000000D+06 .502914190292D-07 .541205476958D+00 -.223517417908D-07
+ .906910233960D+00 .268968750000D+03 .902309394637D-01 -.897001649433D-08
+ -.314298806093D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.121071934700D-07 .700000000000D+02
+ .396006000000D+06 .400000000000D+01
+24 04 6 10 16 0 0.0 .336212106049D-04 .295585778076D-11 .000000000000D+00
+ .510000000000D+02 .359375000000D+01 .465090801470D-08 -.178295054554D+01
+ .398606061935D-06 .934586441144D-02 .559911131859D-05 .515365051651D+04
+ .403200000000D+06 -.409781932831D-07 .695929714392D+00 .255182385445D-06
+ .969952858476D+00 .277218750000D+03 -.139818095528D+01 -.808962267954D-08
+ -.185722021782D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.139698386192D-08 .510000000000D+02
+ .396186000000D+06 .400000000000D+01
+19 04 6 10 16 0 0.0 -.368892215192D-04 .636646291241D-11 .000000000000D+00
+ .191000000000D+03 .525937500000D+02 .458519099161D-08 .234753925387D+01
+ .275857746601D-05 .345635728445D-02 .821799039841D-05 .515383259964D+04
+ .403200000000D+06 -.931322574615D-08 -.347116081635D+00 -.968575477600D-07
+ .960795343863D+00 .220593750000D+03 -.201646705772D+01 -.800926218935D-08
+ .253224833545D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.698491930962D-08 .703000000000D+03
+ .396306000000D+06 .400000000000D+01
+31 04 6 10 16 0 0.0 .205796211958D-03 .188720150618D-10 .000000000000D+00
+ .198000000000D+03 .562500000000D+02 .504271004911D-08 -.126916755868D+01
+ .329315662384D-05 .128683506045D-01 .771321356297D-05 .515583647156D+04
+ .403200000000D+06 .210478901863D-06 -.451851656361D+00 .156462192535D-06
+ .936957771092D+00 .212031250000D+03 .998681801711D+00 -.828820237975D-08
+ .296798077117D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .198000000000D+03
+ .397656000000D+06 .400000000000D+01
+19 04 6 10 15 59 44.0 -.368892215192D-04 .636646291241D-11 .000000000000D+00
+ .216000000000D+03 .525937500000D+02 .458519099161D-08 .234520327799D+01
+ .275857746601D-05 .345635181293D-02 .821799039841D-05 .515383260345D+04
+ .403184000000D+06 -.931322574615D-08 -.347115935343D+00 -.968575477600D-07
+ .960795316067D+00 .220593750000D+03 -.201646467024D+01 -.800926218935D-08
+ .253224833545D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.698491930962D-08 .216000000000D+03
+ .397836000000D+06 .400000000000D+01
+28 04 6 10 16 0 0.0 .343350693583D-04 .113686837722D-11 .000000000000D+00
+ .236000000000D+03 -.264062500000D+02 .437518224390D-08 .213397339233D+01
+ -.131875276566D-05 .897944380995D-02 .996142625809D-05 .515370164680D+04
+ .403200000000D+06 -.152736902237D-06 -.143834078782D+01 -.139698386192D-06
+ .958729165181D+00 .186062500000D+03 -.237472462689D+01 -.789925760721D-08
+ .785747015231D-11 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.102445483208D-07 .492000000000D+03
+ .398886000000D+06 .400000000000D+01
+ 1 04 6 10 15 59 44.0 .347899738699D-03 .170530256582D-11 .000000000000D+00
+ .690000000000D+02 .156562500000D+02 .404052544696D-08 -.146959034037D+01
+ .672414898872D-06 .514655222651D-02 .726804137230D-05 .515355214310D+04
+ .403184000000D+06 -.186264514923D-07 .276714036038D+01 .139698386192D-06
+ .979718290159D+00 .247906250000D+03 -.168675147378D+01 -.791247244338D-08
+ .982183769039D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.325962901115D-08 .690000000000D+02
+ .400596000000D+06 .400000000000D+01
+ 3 04 6 10 15 59 44.0 .178799964488D-04 .318323145621D-11 .000000000000D+00
+ .162000000000D+03 .504375000000D+02 .538772442035D-08 .383058833378D+00
+ .262819230556D-05 .560658308677D-02 .840425491333D-05 .515368833733D+04
+ .403184000000D+06 .204890966415D-07 -.476018458845D+00 .298023223877D-07
+ .928335880527D+00 .202000000000D+03 .539349646878D+00 -.851571185644D-08
+ .228223792151D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.419095158577D-08 .674000000000D+03
+ .400776000000D+06 .400000000000D+01
+10 04 6 10 16 0 0.0 .454005785286D-04 .568434188608D-12 .000000000000D+00
+ .162000000000D+03 -.453125000000D+01 .415981613018D-08 .156953379338D+01
+ .391155481339D-07 .607935234439D-02 .886805355549D-05 .515372740173D+04
+ .403200000000D+06 .204890966415D-07 .170690251639D+01 .135973095894D-06
+ .979923050414D+00 .221281250000D+03 .315505913928D+00 -.790890086604D-08
+ -.273225666660D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.232830643654D-08 .162000000000D+03
+ .401586000000D+06 .400000000000D+01
+13 04 6 10 18 0 0.0 -.275494530797D-04 .568434188608D-12 .000000000000D+00
+ .203000000000D+03 .142500000000D+02 .399266631058D-08 .272472275955D+01
+ .558793544769D-06 .234808051027D-02 .756047666073D-05 .515365766335D+04
+ .410400000000D+06 -.819563865662D-07 .274988502512D+01 -.614672899246D-07
+ .983908817534D+00 .241656250000D+03 .807466715647D+00 -.782425448303D-08
+ .138934358602D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.111758708954D-07 .203000000000D+03
+ .403206000000D+06 .400000000000D+01
+20 04 6 10 18 0 0.0 -.154264271259D-03 .397903932026D-11 .000000000000D+00
+ .000000000000D+00 -.247500000000D+02 .449054419205D-08 -.271009068510D+01
+ -.116601586342D-05 .240785174537D-02 .884756445885D-05 .515364731026D+04
+ .410400000000D+06 .428408384323D-07 .168692137269D+01 .260770320892D-07
+ .963597183085D+00 .212156250000D+03 .157222573088D+01 -.804997817105D-08
+ -.144291724615D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.698491930962D-08 .256000000000D+03
+ .403206000000D+06 .400000000000D+01
+27 04 6 10 18 0 0.0 .247069634497D-03 .246700437856D-10 .000000000000D+00
+ .780000000000D+02 -.340625000000D+02 .480127142080D-08 -.168268193704D+01
+ -.178627669811D-05 .181969091063D-01 .473111867905D-05 .515373451233D+04
+ .410400000000D+06 .411644577980D-06 -.255108774437D+01 -.102445483208D-06
+ .949659276435D+00 .278312500000D+03 -.215872559465D+01 -.812533845296D-08
+ -.171435712414D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.419095158577D-08 .780000000000D+02
+ .403206000000D+06 .400000000000D+01
+ 1 04 6 10 17 59 44.0 .347912311554D-03 .170530256582D-11 .000000000000D+00
+ .700000000000D+02 .148125000000D+02 .421696136765D-08 -.419400733541D+00
+ .864267349243D-06 .514646584634D-02 .732019543648D-05 .515355154037D+04
+ .410384000000D+06 -.316649675369D-07 .276708204846D+01 -.856816768646D-07
+ .979718521300D+00 .245156250000D+03 -.168668801970D+01 -.810319467344D-08
+ .187150652719D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.325962901115D-08 .700000000000D+02
+ .403206000000D+06 .400000000000D+01
+ 4 04 6 10 18 0 0.0 -.173123553395D-03 -.127329258248D-10 .000000000000D+00
+ .199000000000D+03 .743750000000D+01 .488698927701D-08 -.148907920190D+01
+ .800937414169D-07 .661672151182D-02 .490806996822D-05 .515366842270D+04
+ .410400000000D+06 .707805156708D-07 .669035862909D+00 -.100582838058D-06
+ .959689298797D+00 .283343750000D+03 -.563796002767D-01 -.838142054838D-08
+ .178578867098D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .199000000000D+03
+ .403206000000D+06 .400000000000D+01
+10 04 6 10 18 0 0.0 .454047694802D-04 .568434188608D-12 .000000000000D+00
+ .163000000000D+03 -.177500000000D+02 .409838499990D-08 .261942607820D+01
+ -.962987542152D-06 .607816805132D-02 .859424471855D-05 .515373100853D+04
+ .410400000000D+06 -.119209289551D-06 .170684533531D+01 -.260770320892D-07
+ .979922111221D+00 .226687500000D+03 .315758587675D+00 -.775675167127D-08
+ -.153577825704D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.232830643654D-08 .163000000000D+03
+ .403206000000D+06 .400000000000D+01
+ 8 04 6 10 18 0 0.0 -.178674235940D-05 -.682121026330D-12 .000000000000D+00
+ .400000000000D+01 -.414687500000D+02 .452411701906D-08 -.483826403735D+00
+ -.228174030781D-05 .894186517689D-02 .569596886635D-05 .515363070107D+04
+ .410400000000D+06 -.968575477600D-07 -.246073676516D+01 -.217929482460D-06
+ .965059166359D+00 .273812500000D+03 .242090204568D+01 -.821891377932D-08
+ -.785747015231D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.419095158577D-08 .772000000000D+03
+ .403206000000D+06 .400000000000D+01
+19 04 6 10 17 59 44.0 -.368426553905D-04 .636646291241D-11 .000000000000D+00
+ .217000000000D+03 .583437500000D+02 .454376069444D-08 -.288794316876D+01
+ .289082527161D-05 .345554761589D-02 .826269388199D-05 .515383412933D+04
+ .410384000000D+06 .931322574615D-07 -.347174035135D+00 -.949949026108D-07
+ .960797162270D+00 .218812500000D+03 -.201641963138D+01 -.805033532878D-08
+ .312155859687D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.698491930962D-08 .217000000000D+03
+ .403206000000D+06 .400000000000D+01
+31 04 6 10 18 0 0.0 .205932185054D-03 .188720150618D-10 .000000000000D+00
+ .199000000000D+03 .520000000000D+02 .509235497417D-08 -.220380922470D+00
+ .291317701340D-05 .128673266154D-01 .865198671818D-05 .515583372307D+04
+ .410400000000D+06 -.428408384323D-07 -.451912472791D+00 .149011611938D-06
+ .936958973611D+00 .202875000000D+03 .998760056125D+00 -.850821154402D-08
+ .302155443130D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .199000000000D+03
+ .403206000000D+06 .400000000000D+01
+ 3 04 6 10 17 59 44.0 .179028138518D-04 .318323145621D-11 .000000000000D+00
+ .163000000000D+03 .563750000000D+02 .529236330532D-08 .143311274285D+01
+ .285543501377D-05 .560747878626D-02 .851415097713D-05 .515369040871D+04
+ .410384000000D+06 .000000000000D+00 -.476079866295D+00 .633299350739D-07
+ .928337568735D+00 .195343750000D+03 .539472654881D+00 -.850999733269D-08
+ .251081887140D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.419095158577D-08 .675000000000D+03
+ .403206000000D+06 .400000000000D+01
+28 04 6 10 18 0 0.0 .343434512615D-04 .113686837722D-11 .000000000000D+00
+ .237000000000D+03 -.332187500000D+02 .427982112887D-08 -.309903410646D+01
+ -.173225998878D-05 .898032053374D-02 .101719051600D-04 .515370007133D+04
+ .410400000000D+06 .745058059692D-08 -.143839673712D+01 -.558793544769D-07
+ .958729868844D+00 .183375000000D+03 -.237474005483D+01 -.773496504948D-08
+ -.153577825704D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.102445483208D-07 .493000000000D+03
+ .403206000000D+06 .400000000000D+01
+ 7 04 6 10 18 0 0.0 .508723780513D-03 -.154614099301D-10 .000000000000D+00
+ .980000000000D+02 .511250000000D+02 .503985278724D-08 .144993903935D+01
+ .267848372459D-05 .129729919136D-01 .836513936520D-05 .515379827309D+04
+ .410400000000D+06 -.305473804474D-06 -.450769067724D+00 -.234693288803D-06
+ .937507131941D+00 .204187500000D+03 -.183929301549D+01 -.841642200633D-08
+ .283583240952D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.186264514923D-08 .354000000000D+03
+ .405756000000D+06 .400000000000D+01
+29 04 6 10 18 0 0.0 .226305332035D-03 -.397903932026D-11 .000000000000D+00
+ .730000000000D+02 .214375000000D+02 .418767443345D-08 -.313271643325D+01
+ .136531889439D-05 .819207588211D-02 .718981027603D-05 .515371917343D+04
+ .410400000000D+06 .162050127983D-06 .271993609159D+01 .126659870148D-06
+ .979184180231D+00 .248656250000D+03 -.135709771275D+01 -.784889836669D-08
+ .162863926793D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.651925802231D-08 .329000000000D+03
+ .407586000000D+06 .400000000000D+01
+11 04 6 10 18 0 0.0 .123914331198D-03 .295585778076D-11 .000000000000D+00
+ .710000000000D+02 .178437500000D+02 .614239871270D-08 .420344655099D-01
+ .955536961555D-06 .291158852633D-02 .425800681114D-05 .515368262291D+04
+ .410400000000D+06 .447034835815D-07 .541140858403D+00 .186264514923D-07
+ .906909806788D+00 .269250000000D+03 .902152174831D-01 -.900644658322D-08
+ -.457161899771D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.121071934700D-07 .710000000000D+02
+ .408336000000D+06 .400000000000D+01
+26 04 6 10 18 0 0.0 .112100504339D-03 .159161572810D-10 .000000000000D+00
+ .157000000000D+03 .229062500000D+02 .419874632321D-08 .971758925934D+00
+ .160001218319D-05 .155242297333D-01 .714696943760D-05 .515366811371D+04
+ .410400000000D+06 -.949949026108D-07 .275250699271D+01 .216066837311D-06
+ .982255488964D+00 .253531250000D+03 .595539348684D+00 -.811319509000D-08
+ -.250010413937D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .157000000000D+03
+ .408936000000D+06 .400000000000D+01
+13 04 6 10 20 0 0.0 -.275457277894D-04 .568434188608D-12 .000000000000D+00
+ .204000000000D+03 .141875000000D+02 .414445834761D-08 -.250825802050D+01
+ .903382897377D-06 .234806980006D-02 .770948827267D-05 .515365769386D+04
+ .417600000000D+06 .124797224998D-06 .274982749002D+01 -.949949026108D-07
+ .983909892779D+00 .241093750000D+03 .807450117378D+00 -.793533053837D-08
+ .277868717205D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.111758708954D-07 .204000000000D+03
+ .410406000000D+06 .400000000000D+01
+27 04 6 10 20 0 0.0 .247247517109D-03 .246700437856D-10 .000000000000D+00
+ .730000000000D+02 -.291875000000D+02 .515592905085D-08 -.632590875298D+00
+ -.144541263580D-05 .181966042146D-01 .517442822456D-05 .515373243904D+04
+ .417600000000D+06 -.502914190292D-07 -.255114763916D+01 .333413481712D-06
+ .949655911723D+00 .272562500000D+03 -.215866939811D+01 -.875822195796D-08
+ -.137862885400D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.419095158577D-08 .329000000000D+03
+ .410406000000D+06 .400000000000D+01
+29 04 6 10 20 0 0.0 .226276461035D-03 -.409272615798D-11 .000000000000D+00
+ .680000000000D+02 .179062500000D+02 .417838833236D-08 -.208256539187D+01
+ .106170773506D-05 .819144304842D-02 .751391053200D-05 .515372019958D+04
+ .417600000000D+06 .558793544769D-08 .271987942546D+01 .152736902237D-06
+ .979185891846D+00 .243625000000D+03 -.135709855832D+01 -.780389649218D-08
+ .242867259253D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.651925802231D-08 .580000000000D+03
+ .410406000000D+06 .400000000000D+01
+ 7 04 6 10 20 0 0.0 .508612021804D-03 -.154614099301D-10 .000000000000D+00
+ .990000000000D+02 .524375000000D+02 .481484341470D-08 .250013330703D+01
+ .272504985332D-05 .129732217174D-01 .877492129803D-05 .515379618454D+04
+ .417600000000D+06 .130385160446D-06 -.450827585910D+00 -.137835741043D-06
+ .937511080357D+00 .195468750000D+03 -.183937892097D+01 -.797354641593D-08
+ .257153568621D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.186264514923D-08 .355000000000D+03
+ .410406000000D+06 .400000000000D+01
+10 04 6 10 20 0 0.0 .454094260931D-04 .568434188608D-12 .000000000000D+00
+ .164000000000D+03 -.254687500000D+02 .415088718683D-08 -.261367587681D+01
+ -.142492353916D-05 .607894198038D-02 .865571200848D-05 .515372956657D+04
+ .417600000000D+06 -.949949026108D-07 .170678908611D+01 -.147148966789D-06
+ .979920826779D+00 .225343750000D+03 .315818377137D+00 -.782604027170D-08
+ -.113219001740D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.232830643654D-08 .420000000000D+03
+ .410406000000D+06 .400000000000D+01
+11 04 6 10 20 0 0.0 .123935285956D-03 .295585778076D-11 .000000000000D+00
+ .720000000000D+02 .177187500000D+02 .608632494844D-08 .109222957437D+01
+ .787898898125D-06 .291160552297D-02 .425241887569D-05 .515368263054D+04
+ .417600000000D+06 .186264514923D-07 .541076226682D+00 .465661287308D-07
+ .906909508353D+00 .269656250000D+03 .902069505330D-01 -.898037406863D-08
+ -.650027076237D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.121071934700D-07 .720000000000D+02
+ .410406000000D+06 .400000000000D+01
+ 8 04 6 10 20 0 0.0 -.179186463356D-05 -.682121026330D-12 .000000000000D+00
+ .239000000000D+03 -.409375000000D+02 .465912264259D-08 .566364450964D+00
+ -.251270830631D-05 .894182908814D-02 .547990202904D-05 .515363062859D+04
+ .417600000000D+06 .875443220139D-07 -.246079580415D+01 -.109896063805D-06
+ .965057690275D+00 .276031250000D+03 .242091876830D+01 -.833677583161D-08
+ -.192150860997D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.419095158577D-08 .751000000000D+03
+ .410406000000D+06 .400000000000D+01
+19 04 6 10 20 0 0.0 -.367965549231D-04 .636646291241D-11 .000000000000D+00
+ .218000000000D+03 .672500000000D+02 .455411826873D-08 -.183588849059D+01
+ .348128378391D-05 .345662154723D-02 .771135091782D-05 .515383103561D+04
+ .417600000000D+06 .130385160446D-06 -.347232172962D+00 -.279396772385D-07
+ .960799520494D+00 .226812500000D+03 -.201605696374D+01 -.806890753096D-08
+ .323584907182D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.698491930962D-08 .218000000000D+03
+ .410406000000D+06 .400000000000D+01
+31 04 6 10 20 0 0.0 .206068158150D-03 .188720150618D-10 .000000000000D+00
+ .194000000000D+03 .550000000000D+02 .501735184999D-08 .828459222892D+00
+ .297091901302D-05 .128682290670D-01 .892207026482D-05 .515583555984D+04
+ .417600000000D+06 -.163912773132D-06 -.451972743553D+00 -.558793544769D-08
+ .936960740816D+00 .196781250000D+03 .998784295215D+00 -.846320966951D-08
+ .147506144223D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .450000000000D+03
+ .410406000000D+06 .400000000000D+01
+26 04 6 10 20 0 0.0 .112215057015D-03 .159161572810D-10 .000000000000D+00
+ .158000000000D+03 .105625000000D+02 .413160066918D-08 .202179388330D+01
+ .480562448502D-06 .155246441718D-01 .796094536781D-05 .515367242813D+04
+ .417600000000D+06 -.452622771263D-06 .275244764066D+01 -.335276126862D-07
+ .982256728055D+00 .242312500000D+03 .595685483960D+00 -.786854204207D-08
+ .215723271454D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .158000000000D+03
+ .410406000000D+06 .400000000000D+01
+28 04 6 10 20 0 0.0 .343513675034D-04 .113686837722D-11 .000000000000D+00
+ .238000000000D+03 -.367500000000D+02 .425553440295D-08 -.204883410559D+01
+ -.196695327759D-05 .898036826402D-02 .102818012238D-04 .515370032120D+04
+ .417600000000D+06 -.111758708954D-07 -.143845192717D+01 -.180676579475D-06
+ .958729564557D+00 .180312500000D+03 -.237477706080D+01 -.772782189480D-08
+ -.108218793461D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.102445483208D-07 .494000000000D+03
+ .410406000000D+06 .400000000000D+01
+ 8 04 6 10 19 59 44.0 -.179279595613D-05 -.682121026330D-12 .000000000000D+00
+ .270000000000D+02 -.409375000000D+02 .465912264259D-08 .564031253160D+00
+ -.251270830631D-05 .894185702782D-02 .547990202904D-05 .515363062477D+04
+ .417584000000D+06 .875443220139D-07 -.246079570174D+01 -.109896063805D-06
+ .965057701978D+00 .276031250000D+03 .242091820654D+01 -.833677583161D-08
+ -.192150860997D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.419095158577D-08 .270000000000D+02
+ .410976000000D+06 .400000000000D+01
+29 04 6 10 19 59 44.0 .226279255003D-03 -.397903932026D-11 .000000000000D+00
+ .930000000000D+02 .179062500000D+02 .417838833236D-08 -.208489692341D+01
+ .106170773506D-05 .819144863635D-02 .751391053200D-05 .515372019577D+04
+ .417584000000D+06 .558793544769D-08 .271987957175D+01 .152736902237D-06
+ .979185888920D+00 .243625000000D+03 -.135710065468D+01 -.780389649218D-08
+ .242867259253D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.651925802231D-08 .930000000000D+02
+ .411336000000D+06 .400000000000D+01
+ 4 04 6 10 20 0 0.0 -.173215288669D-03 -.127329258248D-10 .000000000000D+00
+ .200000000000D+03 .107500000000D+02 .480341436720D-08 -.438982690785D+00
+ .670552253723D-06 .661643780768D-02 .449642539024D-05 .515366717339D+04
+ .417600000000D+06 .115483999252D-06 .668975590684D+00 -.596046447754D-07
+ .959689323667D+00 .286781250000D+03 -.562892226606D-01 -.840927885165D-08
+ -.250010413937D-11 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .200000000000D+03
+ .413826000000D+06 .400000000000D+01
+ 9 04 6 10 20 0 0.0 -.486681237817D-04 -.181898940355D-11 .000000000000D+00
+ .219000000000D+03 -.305000000000D+02 .504020994498D-08 .169425357223D+00
+ -.138953328133D-05 .156613715226D-01 .531785190105D-05 .515370164299D+04
+ .417600000000D+06 -.128522515297D-06 -.252975843242D+01 .171363353729D-06
+ .952017557433D+00 .270843750000D+03 .104800907916D+01 -.866036073879D-08
+ -.152506352502D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.558793544769D-08 .731000000000D+03
+ .416466000000D+06 .400000000000D+01
+ 9 04 6 10 22 0 0.0 -.486806966364D-04 -.181898940355D-11 .000000000000D+00
+ .214000000000D+03 -.298437500000D+02 .513235664040D-08 .121960189581D+01
+ -.157766044140D-05 .156612209976D-01 .567734241486D-05 .515370125580D+04
+ .424800000000D+06 -.281259417534D-06 -.252982079808D+01 .800937414169D-07
+ .952016356377D+00 .272093750000D+03 .104800065129D+01 -.860500128999D-08
+ -.142148778210D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.558793544769D-08 .726000000000D+03
+ .417606000000D+06 .400000000000D+01
+27 04 6 10 22 0 0.0 .247424934059D-03 .246700437856D-10 .000000000000D+00
+ .740000000000D+02 -.314375000000D+02 .522736059769D-08 .417554678680D+00
+ -.134855508804D-05 .181962874485D-01 .533275306225D-05 .515373180199D+04
+ .424800000000D+06 -.212341547012D-06 -.255121067923D+01 .193715095520D-06
+ .949654807220D+00 .272250000000D+03 -.215866495962D+01 -.876500795491D-08
+ -.206080012631D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.419095158577D-08 .330000000000D+03
+ .417606000000D+06 .400000000000D+01
+29 04 6 10 21 59 44.0 .226250384003D-03 -.397903932026D-11 .000000000000D+00
+ .940000000000D+02 .143750000000D+02 .429875048878D-08 -.103495101533D+01
+ .730156898499D-06 .819154176861D-02 .834651291370D-05 .515371700478D+04
+ .424784000000D+06 -.169500708580D-06 .271982210833D+01 -.428408384323D-07
+ .979186674507D+00 .232187500000D+03 -.135689477237D+01 -.805783564120D-08
+ .302512600864D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.651925802231D-08 .940000000000D+02
+ .417606000000D+06 .400000000000D+01
+ 4 04 6 10 22 0 0.0 -.173307489604D-03 -.127329258248D-10 .000000000000D+00
+ .201000000000D+03 .110000000000D+02 .472341103474D-08 .611204769943D+00
+ .681728124619D-06 .661610998213D-02 .487267971039D-05 .515366654968D+04
+ .424800000000D+06 .147148966789D-06 .668915220444D+00 .633299350739D-07
+ .959689411442D+00 .284468750000D+03 -.562898268458D-01 -.836356266167D-08
+ -.317870383435D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .201000000000D+03
+ .417606000000D+06 .400000000000D+01
+ 7 04 6 10 22 0 0.0 .508500263095D-03 -.154614099301D-10 .000000000000D+00
+ .100000000000D+03 .590000000000D+02 .479555689705D-08 -.273297271343D+01
+ .302493572235D-05 .129726112355D-01 .883825123310D-05 .515379737473D+04
+ .424800000000D+06 .137835741043D-06 -.450885012759D+00 -.838190317154D-07
+ .937512955818D+00 .195031250000D+03 -.183935087244D+01 -.796854620765D-08
+ .275368613065D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.186264514923D-08 .356000000000D+03
+ .417606000000D+06 .400000000000D+01
+11 04 6 10 22 0 0.0 .123956240714D-03 .295585778076D-11 .000000000000D+00
+ .670000000000D+02 .181562500000D+02 .600489298504D-08 .214237450515D+01
+ .879168510437D-06 .291165045928D-02 .405311584473D-05 .515368284988D+04
+ .424800000000D+06 -.465661287308D-07 .541011382839D+00 .763684511185D-07
+ .906909167493D+00 .268593750000D+03 .902484813144D-01 -.895858744684D-08
+ -.228580949885D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.121071934700D-07 .323000000000D+03
+ .417606000000D+06 .400000000000D+01
+ 8 04 6 10 21 59 44.0 -.179838389158D-05 -.682121026330D-12 .000000000000D+00
+ .280000000000D+02 -.420625000000D+02 .472198240381D-08 .161425192798D+01
+ -.214390456676D-05 .894185970537D-02 .508688390255D-05 .515363044739D+04
+ .424784000000D+06 .130385160446D-06 -.246085481534D+01 .521540641785D-07
+ .965056755470D+00 .276062500000D+03 .242090574833D+01 -.818962684512D-08
+ -.246438836595D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.419095158577D-08 .280000000000D+02
+ .417606000000D+06 .400000000000D+01
+26 04 6 10 22 0 0.0 .112330075353D-03 .159161572810D-10 .000000000000D+00
+ .153000000000D+03 .114062500000D+02 .409552773803D-08 .307202656576D+01
+ .420957803726D-06 .155257583829D-01 .819936394691D-05 .515366985893D+04
+ .424800000000D+06 -.156462192535D-06 .275239192982D+01 -.225380063057D-06
+ .982259648040D+00 .232281250000D+03 .595632508771D+00 -.761424573533D-08
+ .260367988229D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .409000000000D+03
+ .417606000000D+06 .400000000000D+01
+28 04 6 10 22 0 0.0 .343597494066D-04 .113686837722D-11 .000000000000D+00
+ .233000000000D+03 -.327812500000D+02 .444589947527D-08 -.998732522544D+00
+ -.181421637535D-05 .898006092757D-02 .104829668999D-04 .515369925117D+04
+ .424800000000D+06 .227242708206D-06 -.143850704407D+01 .117346644402D-06
+ .958727032246D+00 .176062500000D+03 -.237471616537D+01 -.800854787388D-08
+ -.320013329840D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.102445483208D-07 .745000000000D+03
+ .417606000000D+06 .400000000000D+01
+24 04 6 10 22 0 0.0 .336854718626D-04 .295585778076D-11 .000000000000D+00
+ .480000000000D+02 .978125000000D+01 .449518724259D-08 .136774871019D+01
+ .530853867531D-06 .934528477956D-02 .488385558128D-05 .515365095520D+04
+ .424800000000D+06 .111758708954D-07 .695748292069D+00 -.251457095146D-06
+ .969950738707D+00 .287687500000D+03 -.139829370384D+01 -.824355766298D-08
+ .250010413937D-11 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.139698386192D-08 .304000000000D+03
+ .418086000000D+06 .400000000000D+01
+ 5 04 6 10 22 0 0.0 .342563726008D-04 .181898940355D-11 .000000000000D+00
+ .114000000000D+03 -.403125000000D+02 .506699677504D-08 .305361124179D+00
+ -.204332172871D-05 .526805710979D-02 .903755426407D-05 .515376499176D+04
+ .424800000000D+06 -.596046447754D-07 -.152154017496D+01 .132247805595D-06
+ .935612534532D+00 .191062500000D+03 .834287434392D+00 -.832391815317D-08
+ -.258582199558D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.419095158577D-08 .370000000000D+03
+ .418866000000D+06 .400000000000D+01
+28 04 6 10 21 59 44.0 .343611463904D-04 .113686837722D-11 .000000000000D+00
+ .170000000000D+02 -.327812500000D+02 .444589947527D-08 -.100106643572D+01
+ -.181421637535D-05 .898005918134D-02 .104829668999D-04 .515369924927D+04
+ .424784000000D+06 .227242708206D-06 -.143850689924D+01 .117346644402D-06
+ .958727019080D+00 .176062500000D+03 -.237471592838D+01 -.800854787388D-08
+ -.320013329840D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.102445483208D-07 .170000000000D+02
+ .418866000000D+06 .400000000000D+01
+ 9 04 6 10 21 59 44.0 -.486834906042D-04 -.181898940355D-11 .000000000000D+00
+ .100000000000D+01 -.298437500000D+02 .513235664040D-08 .121726724386D+01
+ -.157766044140D-05 .156612175051D-01 .567734241486D-05 .515370127678D+04
+ .424784000000D+06 -.281259417534D-06 -.252982063277D+01 .800937414169D-07
+ .952016365154D+00 .272093750000D+03 .104800146759D+01 -.860500128999D-08
+ -.142148778210D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.558793544769D-08 .100000000000D+01
+ .420876000000D+06 .400000000000D+01
+17 04 6 10 22 0 0.0 -.382880680263D-04 -.190993887372D-10 .000000000000D+00
+ .229000000000D+03 .721875000000D+01 .448482966830D-08 .220393031482D+01
+ .433996319771D-06 .168377062073D-01 .499561429024D-05 .515362675476D+04
+ .424800000000D+06 -.370666384697D-06 .763152865774D+00 .428408384323D-07
+ .968657936057D+00 .285625000000D+03 -.278134592106D+01 -.815855412224D-08
+ -.778603860547D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.139698386192D-08 .485000000000D+03
+ .421536000000D+06 .400000000000D+01
+ 9 04 6 10 23 59 44.0 -.486965291202D-04 -.181898940355D-11 .000000000000D+00
+ .200000000000D+01 -.317187500000D+02 .500735143343D-08 .226741842861D+01
+ -.199675559998D-05 .156612438150D-01 .522658228874D-05 .515370174408D+04
+ .431984000000D+06 -.745058059692D-08 -.252988200365D+01 -.279396772385D-06
+ .952017624727D+00 .273000000000D+03 .104801860568D+01 -.818141221723D-08
+ -.275011455331D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.558793544769D-08 .770000000000D+03
+ .424806000000D+06 .400000000000D+01
+17 04 6 11 0 0 0.0 -.384259037673D-04 -.190993887372D-10 .000000000000D+00
+ .230000000000D+03 .543750000000D+01 .431482258682D-08 -.302904412933D+01
+ .339001417160D-06 .168381478870D-01 .532716512680D-05 .515362595177D+04
+ .432000000000D+06 -.147148966789D-06 .763094906423D+00 -.134110450745D-06
+ .968658663127D+00 .282718750000D+03 -.278134792964D+01 -.792247285994D-08
+ -.350014579512D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.139698386192D-08 .486000000000D+03
+ .424806000000D+06 .400000000000D+01
+29 04 6 11 0 0 0.0 .226221513003D-03 -.397903932026D-11 .000000000000D+00
+ .950000000000D+02 .127812500000D+02 .428660712582D-08 .175174301970D-01
+ .542029738426D-06 .819143804256D-02 .819563865662D-05 .515371668625D+04
+ .432000000000D+06 -.614672899246D-07 .271976331512D+01 -.577419996262D-07
+ .979189070767D+00 .232406250000D+03 -.135687628254D+01 -.810569477758D-08
+ .369658254893D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.651925802231D-08 .950000000000D+02
+ .424806000000D+06 .400000000000D+01
+ 4 04 6 11 0 0 0.0 -.173399690539D-03 -.127329258248D-10 .000000000000D+00
+ .202000000000D+03 .105937500000D+02 .465912264259D-08 .166139034936D+01
+ .614672899246D-06 .661607051734D-02 .491552054882D-05 .515366653061D+04
+ .432000000000D+06 -.502914190292D-07 .668856280937D+00 .633299350739D-07
+ .959688938919D+00 .284000000000D+03 -.562893938221D-01 -.826212986516D-08
+ -.175721605224D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .202000000000D+03
+ .424806000000D+06 .400000000000D+01
+ 5 04 6 11 0 0 0.0 .342689454556D-04 .181898940355D-11 .000000000000D+00
+ .115000000000D+03 -.470000000000D+02 .502806658201D-08 .135517225070D+01
+ -.240653753281D-05 .526921381243D-02 .982545316219D-05 .515376880836D+04
+ .432000000000D+06 -.968575477600D-07 -.152159961918D+01 .558793544769D-08
+ .935610255305D+00 .177781250000D+03 .834604125435D+00 -.831248910568D-08
+ -.347157317639D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .200000000000D+01 .000000000000D+00 -.419095158577D-08 .371000000000D+03
+ .424806000000D+06 .400000000000D+01
+ 7 04 6 11 0 0 0.0 .508388970047D-03 -.154614099301D-10 .000000000000D+00
+ .101000000000D+03 .690625000000D+02 .496663545173D-08 -.168294828029D+01
+ .361911952496D-05 .129738518735D-01 .849924981594D-05 .515379436111D+04
+ .432000000000D+06 .365078449249D-06 -.450941702298D+00 .186264514923D-06
+ .937513704832D+00 .203062500000D+03 -.183926688631D+01 -.819855578847D-08
+ .985755346381D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.186264514923D-08 .357000000000D+03
+ .424806000000D+06 .400000000000D+01
+24 04 6 11 0 0 0.0 .337068922818D-04 .295585778076D-11 .000000000000D+00
+ .490000000000D+02 .846875000000D+01 .434053794369D-08 .241795883152D+01
+ .454485416412D-06 .934538443107D-02 .493042171001D-05 .515365062523D+04
+ .432000000000D+06 .102445483208D-06 .695690856442D+00 .428408384323D-07
+ .969951490647D+00 .287500000000D+03 -.139831027138D+01 -.797426073140D-08
+ -.985755346381D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.139698386192D-08 .305000000000D+03
+ .424806000000D+06 .400000000000D+01
+26 04 6 11 0 0 0.0 .112444628030D-03 .159161572810D-10 .000000000000D+00
+ .154000000000D+03 .106250000000D+02 .416588781166D-08 -.216098657989D+01
+ .258907675743D-06 .155259029707D-01 .802613794804D-05 .515366951561D+04
+ .432000000000D+06 .221654772758D-06 .275233480726D+01 -.223517417908D-06
+ .982261858509D+00 .233656250000D+03 .595641777819D+00 -.779639617977D-08
+ .527521973408D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.605359673500D-08 .410000000000D+03
+ .424806000000D+06 .400000000000D+01
+28 04 6 10 23 59 44.0 .343690626323D-04 .113686837722D-11 .000000000000D+00
+ .180000000000D+02 -.235937500000D+02 .453876048616D-08 .491321958560D-01
+ -.120699405670D-05 .898136338219D-02 .100769102573D-04 .515370171928D+04
+ .431984000000D+06 .279396772385D-07 -.143856536476D+01 .117346644402D-06
+ .958724083003D+00 .181187500000D+03 -.237474966327D+01 -.815462538717D-08
+ -.321441960776D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.102445483208D-07 .180000000000D+02
+ .424806000000D+06 .400000000000D+01
+ 6 04 6 11 0 0 0.0 .997581519186D-04 .612772055320D-10 .000000000000D+00
+ .440000000000D+02 .551875000000D+02 .497520723735D-08 .257513401265D+01
+ .277347862720D-05 .661724456586D-02 .866875052452D-05 .515380148125D+04
+ .432000000000D+06 .540167093277D-07 -.423102908140D+00 -.894069671631D-07
+ .935879331291D+00 .196750000000D+03 -.200806038142D+01 -.815855412224D-08
+ .109647424398D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.465661287308D-08 .300000000000D+03
+ .426306000000D+06 .400000000000D+01
+30 04 6 11 0 0 0.0 .546744558960D-03 .454747350886D-11 .000000000000D+00
+ .770000000000D+02 -.364375000000D+02 .496592113626D-08 .334162964623D+00
+ -.175461173058D-05 .736294989474D-02 .943616032600D-05 .515365303421D+04
+ .432000000000D+06 -.139698386192D-06 -.148015435563D+01 .260770320892D-07
+ .942499723171D+00 .188375000000D+03 .126604065028D+01 -.831606068302D-08
+ -.307155651409D-09 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .000000000000D+00 .000000000000D+00 -.838190317154D-08 .333000000000D+03
+ .426576000000D+06 .400000000000D+01
+10 04 6 11 0 0 0.0 .454178079963D-04 .568434188608D-12 .000000000000D+00
+ .160000000000D+03 -.275625000000D+02 .400766693541D-08 -.513306495424D+00
+ -.123120844364D-05 .607857736759D-02 .887364149094D-05 .515372985268D+04
+ .432000000000D+06 .875443220139D-07 .170667536618D+01 -.372529029846D-08
+ .979919931473D+00 .214406250000D+03 .315735697396D+00 -.793318759196D-08
+ -.525021869268D-10 .100000000000D+01 .127400000000D+04 .000000000000D+00
+ .100000000000D+01 .000000000000D+00 -.232830643654D-08 .416000000000D+03
+ .426816000000D+06 .400000000000D+01
diff --git a/trunk/examples/bahr1620.04o b/trunk/examples/bahr1620.04o
new file mode 100644
index 0000000..b13e04c
--- /dev/null
+++ b/trunk/examples/bahr1620.04o
@@ -0,0 +1,2013 @@
+ 2.10 Observation GPS RINEX VERSION / TYPE
+GFW - ROW NIMA 06/09/2004 23:59:50 PGM / RUN BY / DATE
+Data are thinned (not smoothed) 30s. observations COMMENT
+BAHR MARKER NAME
+24901M002 MARKER NUMBER
+NIMA NATIONAL IMAGERY AND MAPPING AGENCY OBSERVER / AGENCY
+03215 ASHTECH Z-XII3 1Y07-1DY4 REC # / TYPE / VERS
+11942 ASH700936B_M SNOW ANT # / TYPE
+ 3633909.1016 4425275.5033 2799861.2736 APPROX POSITION XYZ
+ 3.122 .0000 .0000 ANTENNA: DELTA H/E/N
+ 1 1 WAVELENGTH FACT L1/2
+ 9 L1 L2 C1 P1 P2 D1 D2 S1 S2# / TYPES OF OBSERV
+ 30 INTERVAL
+ 2004 6 10 0 0 0.0000000 TIME OF FIRST OBS
+ END OF HEADER
+ 04 6 10 0 0 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -4163185.462 7 -3221253.335 7 24236698.057 24236698.474 24236701.852
+ -3468.113 -2702.427 39.020 36.240
+ -24427464.594 9 -19023455.680 8 20576567.763 20576567.469 20576570.973
+ 1063.071 828.369 51.180 48.050
+ -9865068.837 8 -7679434.221 7 23523582.258 23523582.877 23523586.029
+ 1614.770 1258.271 41.100 37.980
+ -13714338.112 8 -10674627.667 8 22141230.525 22141230.616 22141233.839
+ -2753.216 -2145.357 47.700 44.230
+ -10408234.922 8 -8095254.721 8 23044359.240 23044357.397 23044361.846
+ 2504.879 1951.866 41.800 40.060
+ -23488911.056 8 -18291343.413 8 20813497.339 20813496.926 20813501.340
+ 478.914 373.188 49.440 49.440
+ -17641408.437 8 -13706556.260 8 21415744.099 21415744.065 21415748.245
+ -2041.643 -1590.884 48.750 45.620
+ -14855795.469 8 -11555992.528 8 22341902.327 22341902.993 22341906.794
+ 2784.951 2170.104 43.880 41.800
+ 04 6 10 0 0 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -4059087.096 7 -3140137.736 7 24256507.804 24256507.611 24256511.589
+ -3471.811 -2705.310 39.020 36.930
+ -24459178.263 9 -19048167.598 8 20570533.175 20570532.490 20570536.040
+ 1051.116 819.050 51.180 48.050
+ -9913472.595 8 -7717151.405 7 23514371.789 23514372.047 23514375.741
+ 1611.953 1256.058 41.450 38.320
+ -13631600.123 8 -10610156.517 8 22156975.177 22156974.844 22156978.190
+ -2762.645 -2152.706 48.050 43.880
+ -10483278.807 8 -8153730.450 7 23030076.498 23030076.033 23030080.925
+ 2497.996 1946.494 41.800 39.710
+ -23503033.838 8 -18302348.127 8 20810810.119 20810809.521 20810813.766
+ 462.668 360.519 49.790 49.440
+ -17579962.756 8 -13658676.501 8 21427437.094 21427436.869 21427440.800
+ -2054.760 -1601.111 49.090 45.620
+ -14939283.527 8 -11621048.282 8 22326015.198 22326016.070 22326019.608
+ 2780.878 2166.927 44.230 41.800
+ 04 6 10 0 1 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -3954880.768 7 -3058937.999 7 24276336.440 24276336.709 24276340.667
+ -3475.320 -2708.035 39.020 37.280
+ -24490534.029 9 -19072600.622 8 20564565.705 20564565.273 20564569.484
+ 1039.150 809.732 51.530 48.050
+ -9961794.444 8 -7754804.765 7 23505175.701 23505176.983 23505180.637
+ 1609.241 1253.958 42.150 38.320
+ -13548582.650 8 -10545467.571 8 22172772.495 22172772.304 22172775.825
+ -2771.912 -2159.927 48.050 43.880
+ -10558116.957 8 -8212045.888 7 23015835.408 23015834.794 23015839.985
+ 2491.111 1941.127 42.150 39.710
+ -23516673.014 8 -18312975.994 8 20808214.218 20808213.854 20808218.313
+ 446.573 347.981 49.790 49.440
+ -17518126.421 8 -13610492.326 8 21439203.405 21439203.719 21439207.963
+ -2067.731 -1611.214 49.090 45.620
+ -15022650.471 8 -11686009.702 8 22310151.305 22310151.892 22310155.436
+ 2776.792 2163.745 44.580 41.800
+ 04 6 10 0 1 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -3850568.976 7 -2977656.130 7 24296186.423 24296187.492 24296190.129
+ -3478.627 -2710.621 38.670 36.240
+ -24521529.582 9 -19096752.962 8 20558667.335 20558667.087 20558671.051
+ 1027.247 800.451 51.530 48.050
+ -10010034.392 8 -7792394.339 7 23495994.615 23495996.685 23496000.252
+ 1606.624 1251.925 42.150 38.320
+ -13465288.421 8 -10480562.982 8 22188622.847 22188622.815 22188626.314
+ -2780.955 -2166.977 48.050 43.880
+ -10632745.927 8 -8270198.318 7 23001634.211 23001633.753 23001638.089
+ 2484.232 1935.761 42.490 39.370
+ -23529828.346 8 -18323226.840 8 20805710.772 20805710.339 20805714.756
+ 430.565 335.502 49.790 49.090
+ -17455901.809 8 -13562005.607 8 21451044.769 21451044.465 21451048.903
+ -2080.526 -1621.190 49.090 45.270
+ -15105893.880 8 -11750874.855 8 22294310.448 22294310.950 22294315.123
+ 2772.792 2160.618 44.580 42.150
+ 04 6 10 0 2 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -3746154.712 7 -2896294.345 7 24316058.107 24316056.506 24316059.978
+ -3482.202 -2713.401 39.710 36.240
+ -24552163.517 9 -19120623.491 8 20552838.525 20552837.638 20552841.435
+ 1015.068 790.957 51.530 48.050
+ -10058193.532 8 -7829920.986 7 23486832.192 23486833.423 23486837.438
+ 1603.859 1249.758 42.490 39.370
+ -13381720.535 8 -10415445.153 8 22204525.246 22204525.196 22204528.392
+ -2790.129 -2174.131 47.700 43.540
+ -10707162.597 8 -8328185.359 7 22987473.898 22987472.871 22987476.374
+ 2476.995 1930.123 42.490 39.370
+ -23542500.390 9 -18333101.092 8 20803299.604 20803299.120 20803303.267
+ 414.377 322.888 50.140 49.440
+ -17393291.550 8 -13513218.387 8 21462959.004 21462958.848 21462963.153
+ -2093.410 -1631.232 48.750 45.620
+ -15189012.000 8 -11815642.338 8 22278493.913 22278494.310 22278498.041
+ 2768.486 2157.266 44.580 42.150
+ 04 6 10 0 2 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -3641640.036 7 -2814854.378 7 24335944.491 24335944.206 24335948.388
+ -3485.495 -2715.970 39.020 36.590
+ -24582433.784 9 -19144210.641 8 20547078.149 20547077.403 20547081.180
+ 1002.921 781.489 51.530 48.050
+ -10106272.729 8 -7867385.301 7 23477682.127 23477683.516 23477687.383
+ 1601.209 1247.697 42.490 39.020
+ -13297881.852 8 -10350116.301 8 22220478.554 22220478.809 22220482.260
+ -2799.097 -2181.115 47.360 43.190
+ -10781363.627 8 -8386004.345 7 22973353.013 22973352.246 22973357.451
+ 2469.736 1924.470 42.490 39.370
+ -23554688.968 9 -18342598.612 8 20800979.571 20800979.415 20800983.994
+ 398.272 310.339 50.140 49.440
+ -17330298.044 8 -13464132.539 8 21474946.061 21474946.084 21474950.412
+ -2106.135 -1641.147 48.750 45.270
+ -15272002.689 8 -11880310.541 8 22262701.523 22262702.112 22262705.616
+ 2764.197 2153.921 44.580 41.800
+ 04 6 10 0 3 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -3537027.580 7 -2733338.168 7 24355851.963 24355852.759 24355855.611
+ -3488.677 -2718.451 39.710 36.590
+ -24612338.458 9 -19167512.918 8 20541387.361 20541386.736 20541390.598
+ 990.708 771.974 51.530 48.400
+ -10154271.856 8 -7904787.243 7 23468547.612 23468549.286 23468553.709
+ 1598.524 1245.606 42.490 39.020
+ -13213775.125 8 -10284578.585 8 22236484.068 22236483.919 22236487.588
+ -2807.994 -2188.049 47.360 43.540
+ -10855345.705 8 -8443652.707 8 22959274.653 22959273.978 22959279.346
+ 2462.366 1918.731 42.490 40.060
+ -23566394.433 9 -18351719.690 8 20798752.644 20798752.034 20798756.484
+ 382.170 297.790 50.140 49.440
+ -17266923.723 8 -13414749.943 8 21487005.944 21487005.874 21487009.874
+ -2118.819 -1651.037 48.750 45.270
+ -15354863.587 8 -11944877.596 8 22246933.837 22246934.156 22246937.962
+ 2759.842 2150.524 44.580 41.800
+ 04 6 10 0 3 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -3432320.019 7 -2651747.844 7 24375777.704 24375777.468 24375779.825
+ -3491.829 -2720.903 39.710 35.200
+ -24641875.856 9 -19190528.986 8 20535765.926 20535765.672 20535769.683
+ 978.380 762.375 51.530 48.050
+ -10202192.402 8 -7942127.919 7 23459428.194 23459429.401 23459434.559
+ 1595.822 1243.501 42.490 39.020
+ -13129403.419 8 -10218834.395 8 22252539.561 22252539.299 22252543.015
+ -2816.813 -2194.913 47.010 43.540
+ -10929105.291 8 -8501127.683 7 22945238.609 22945238.004 22945243.012
+ 2454.870 1912.891 42.490 39.710
+ -23577616.798 9 -18360464.325 8 20796616.736 20796616.434 20796620.685
+ 366.046 285.235 50.140 49.440
+ -17203171.112 8 -13365072.571 8 21499137.697 21499137.540 21499142.016
+ -2131.437 -1660.855 48.750 45.270
+ -15437592.757 8 -12009341.981 8 22231191.925 22231191.265 22231195.199
+ 2755.361 2147.047 44.930 42.150
+ 04 6 10 0 4 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -3327519.862 7 -2570085.377 7 24395720.512 24395720.060 24395723.836
+ -3494.925 -2723.310 39.020 35.200
+ -24671044.133 9 -19213257.416 8 20530215.710 20530215.179 20530218.914
+ 966.044 752.760 51.530 48.400
+ -10250033.979 8 -7979407.056 7 23450324.791 23450325.204 23450330.636
+ 1593.297 1241.536 42.150 39.370
+ -13044769.881 8 -10152886.179 8 22268644.447 22268644.427 22268648.069
+ -2825.498 -2201.686 47.010 43.540
+ -11002639.413 8 -8558426.984 7 22931246.472 22931245.162 22931249.293
+ 2447.284 1906.976 42.490 39.710
+ -23588356.283 9 -18368832.700 8 20794573.805 20794572.926 20794577.085
+ 349.916 272.660 50.140 49.440
+ -17139042.560 8 -13315102.270 8 21511340.677 21511340.628 21511345.420
+ -2143.914 -1670.583 48.400 45.620
+ -15520187.985 8 -12073701.998 8 22215473.993 22215474.509 22215478.030
+ 2750.864 2143.534 45.270 42.150
+ 04 6 10 0 4 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -3222629.265 7 -2488352.514 7 24415680.047 24415679.894 24415684.444
+ -3497.781 -2725.553 38.320 36.930
+ -24699841.692 9 -19235697.026 8 20524736.153 20524735.328 20524739.025
+ 953.733 743.164 51.530 48.050
+ -10297798.298 8 -8016626.030 7 23441236.663 23441236.469 23441241.133
+ 1590.780 1239.568 42.150 39.020
+ -12959877.364 8 -10086736.182 8 22284798.963 22284799.255 22284802.909
+ -2834.026 -2208.339 47.010 43.540
+ -11075944.891 8 -8615548.152 7 22917296.188 22917295.503 22917300.415
+ 2439.665 1901.028 42.840 39.710
+ -23598613.145 9 -18376825.023 8 20792621.412 20792620.764 20792625.064
+ 333.863 260.147 50.140 49.090
+ -17074540.645 8 -13264841.068 8 21523615.496 21523615.091 21523619.512
+ -2156.232 -1680.187 48.400 45.270
+ -15602647.181 8 -12137956.012 8 22199782.472 22199782.915 22199786.265
+ 2746.366 2140.025 45.620 41.800
+ 04 6 10 0 5 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -3117651.165 7 -2406551.442 7 24435656.715 24435657.065 24435660.377
+ -3500.725 -2727.851 38.670 36.590
+ -24728266.732 9 -19257846.361 8 20519326.766 20519326.124 20519329.880
+ 941.197 733.396 51.530 48.400
+ -10345485.323 8 -8053784.746 7 23432161.537 23432161.329 23432166.942
+ 1588.106 1237.477 42.150 39.370
+ -12874728.761 8 -10020386.613 8 22301003.110 22301002.669 22301006.202
+ -2842.559 -2214.986 47.360 43.540
+ -11149018.171 8 -8672488.350 8 22903390.717 22903390.191 22903395.499
+ 2431.807 1894.912 42.840 40.060
+ -23608387.684 9 -18384441.509 8 20790761.471 20790760.935 20790765.164
+ 317.747 247.591 50.140 49.440
+ -17009667.859 8 -13214290.836 8 21535959.816 21535960.055 21535964.190
+ -2168.648 -1689.855 48.400 45.270
+ -15684968.184 8 -12202102.314 8 22184117.527 22184117.725 22184121.553
+ 2741.659 2136.359 45.270 41.800
+ 04 6 10 0 5 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -3012587.718 7 -2324683.792 7 24455649.709 24455648.975 24455653.283
+ -3503.597 -2730.066 37.980 35.890
+ -24756317.662 9 -19279704.186 8 20513988.253 20513988.052 20513991.903
+ 928.668 723.639 51.530 48.400
+ -10393095.647 8 -8090883.664 7 23423102.980 23423102.128 23423106.466
+ 1585.528 1235.476 41.800 39.020
+ -12789327.067 8 -9953839.801 8 22317253.913 22317253.937 22317257.360
+ -2851.011 -2221.565 47.360 43.190
+ -11221855.995 8 -8729245.060 7 22889530.622 22889529.629 22889533.782
+ 2423.825 1888.695 42.840 39.710
+ -23617680.086 9 -18391682.289 8 20788993.287 20788992.587 20788996.927
+ 301.615 235.025 50.140 49.440
+ -16944426.475 8 -13163453.365 8 21548375.879 21548375.158 21548379.641
+ -2180.929 -1699.428 48.750 45.270
+ -15767148.922 8 -12266139.266 8 22168479.903 22168479.680 22168482.772
+ 2736.885 2132.640 45.620 42.150
+ 04 6 10 0 6 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -2907441.727 7 -2242751.861 7 24475659.513 24475659.246 24475662.161
+ -3506.208 -2732.112 38.670 36.590
+ -24783992.469 9 -19301268.972 8 20508724.060 20508722.148 20508725.511
+ 916.166 713.890 51.530 48.400
+ -10440630.175 8 -8127923.529 7 23414055.073 23414055.574 23414060.070
+ 1583.122 1233.592 41.800 38.670
+ -12703675.285 8 -9887098.131 8 22333552.921 22333553.092 22333556.543
+ -2859.224 -2227.974 47.700 43.540
+ -11294454.965 8 -8785815.657 8 22875714.772 22875713.981 22875719.297
+ 2415.902 1882.519 42.840 40.060
+ -23626490.694 9 -18398547.670 8 20787316.689 20787315.953 20787320.270
+ 285.639 222.572 50.140 49.440
+ -16878819.537 8 -13112331.058 8 21560859.580 21560859.733 21560864.182
+ -2193.016 -1708.845 48.750 45.620
+ -15849187.255 8 -12330065.240 8 22152867.894 22152868.270 22152871.811
+ 2732.188 2128.972 45.620 42.840
+ 04 6 10 0 6 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -2802215.428 7 -2160757.360 7 24495682.608 24495682.590 24495686.116
+ -3508.866 -2734.187 39.370 36.240
+ -24811289.546 9 -19322539.418 8 20503526.973 20503527.224 20503531.148
+ 903.573 704.080 51.870 48.050
+ -10488089.678 8 -8164904.945 7 23405024.388 23405024.976 23405029.432
+ 1580.591 1231.628 41.450 38.670
+ -12617776.367 8 -9820163.903 8 22349899.045 22349899.032 22349902.253
+ -2867.389 -2234.330 47.700 43.190
+ -11366811.883 8 -8842197.654 7 22861945.614 22861945.363 22861950.180
+ 2407.811 1876.217 42.840 39.710
+ -23634819.637 9 -18405037.746 8 20785731.551 20785731.009 20785735.190
+ 269.648 210.114 50.140 49.090
+ -16812849.176 8 -13060925.580 8 21573413.546 21573413.508 21573417.527
+ -2205.070 -1718.240 48.750 45.270
+ -15931080.947 8 -12393878.457 8 22137283.658 22137284.094 22137287.643
+ 2727.319 2125.179 45.270 42.490
+ 04 6 10 0 7 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -2696911.374 7 -2078702.284 7 24515720.606 24515720.818 24515724.475
+ -3511.394 -2736.160 37.980 35.200
+ -24838207.023 9 -19343514.087 8 20498405.929 20498405.108 20498408.897
+ 890.865 694.174 51.530 48.400
+ -10535474.770 8 -8201828.360 7 23396009.012 23396007.803 23396012.631
+ 1578.150 1229.725 41.800 39.370
+ -12531633.169 8 -9753039.313 8 22366292.075 22366291.571 22366294.581
+ -2875.524 -2240.677 47.700 43.190
+ -11438923.479 8 -8898388.496 7 22848224.603 22848223.135 22848227.185
+ 2399.564 1869.776 43.190 39.710
+ -23642667.382 9 -18411152.858 8 20784238.029 20784237.505 20784241.739
+ 253.573 197.581 50.140 49.440
+ -16746518.383 8 -13009239.248 8 21586036.004 21586035.991 21586039.944
+ -2217.067 -1727.588 48.750 45.270
+ -16012827.930 8 -12457577.353 8 22121727.997 22121728.236 22121731.549
+ 2722.371 2121.320 45.270 42.150
+ 04 6 10 0 7 30.0000000 0 9G 4G 5G 6G 9G10G17G21G24G30 .000000000
+ -2591531.891 7 -1996588.344 7 24535773.686 24535774.219 24535777.718
+ -3513.918 -2738.111 39.370 35.200
+ -24864742.740 9 -19364191.292 8 20493356.001 20493355.693 20493359.356
+ 878.091 684.229 51.870 48.400
+ -10582785.345 8 -8238693.728 7 23387004.700 23387004.770 23387009.412
+ 1575.690 1227.811 41.800 38.670
+ -12445248.650 8 -9685726.686 8 22382730.007 22382729.822 22382733.310
+ -2883.515 -2246.894 47.360 43.190
+ -11510786.440 8 -8954385.582 7 22834548.154 22834547.670 22834551.977
+ 2391.218 1863.283 42.840 39.710
+ -23650034.146 8 -18416893.194 8 20782836.111 20782835.712 20782839.922
+ 237.549 185.103 49.790 49.090
+ -312675.16419 -83103.99815 .00077 25878564.8171 25913429.4001
+ 3360.4661 2621.3991 651.3101 11.9201
+ -16679829.235 8 -12957273.672 8 21598725.936 21598726.100 21598730.320
+ -2228.982 -1736.867 48.750 44.930
+ -16094425.880 8 -12521160.117 8 22106200.613 22106200.807 22106204.327
+ 2717.370 2117.432 45.620 42.150
+ 04 6 10 0 8 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -2486079.692 7 -1914417.835 7 24555838.901 24555840.012 24555844.866
+ -3516.128 -2739.854 37.980 35.890
+ -24890895.231 9 -19384569.886 8 20488380.713 20488379.330 20488382.578
+ 865.438 674.371 51.870 48.400
+ -10630023.075 8 -8275502.315 7 23378016.550 23378016.347 23378020.960
+ 1573.345 1225.982 41.800 39.020
+ -12358626.030 8 -9618228.533 8 22399212.972 22399213.054 22399217.003
+ -2891.293 -2252.955 47.010 43.190
+ -11582397.574 8 -9010186.449 8 22820921.943 22820921.042 22820925.084
+ 2382.867 1856.778 43.190 40.060
+ -23656920.266 8 -18422259.009 8 20781526.001 20781525.270 20781529.409
+ 221.664 172.727 49.790 49.440
+ -16612784.388 8 -12905030.927 8 21611484.694 21611484.289 21611488.572
+ -2240.647 -1745.964 48.400 44.930
+ -16175872.801 8 -12584625.178 8 22090702.525 22090702.083 22090705.526
+ 2712.428 2113.582 45.620 42.840
+ 04 6 10 0 8 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -2380556.844 7 -1832192.276 7 24575921.517 24575922.138 24575924.838
+ -3518.528 -2741.711 38.320 36.590
+ -24916662.887 9 -19404648.590 8 20483475.331 20483475.139 20483479.205
+ 852.499 664.287 51.870 48.400
+ -10677187.941 8 -8312254.129 7 23369040.545 23369040.692 23369045.512
+ 1570.899 1224.083 41.800 38.670
+ -12271768.141 8 -9550547.059 8 22415741.370 22415741.904 22415745.349
+ -2899.139 -2259.059 46.660 42.840
+ -11653753.399 8 -9065788.363 8 22807342.426 22807341.834 22807346.690
+ 2374.258 1850.073 42.840 40.060
+ -23663326.278 9 -18427250.711 8 20780307.006 20780306.400 20780310.459
+ 205.603 160.213 50.140 49.440
+ -16545386.183 8 -12852512.841 8 21624309.901 21624309.910 21624314.517
+ -2252.457 -1755.160 48.400 45.270
+ -16257166.403 8 -12647970.759 8 22075231.195 22075232.022 22075235.548
+ 2707.196 2109.501 45.620 42.490
+ 04 6 10 0 9 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -2274966.256 7 -1749913.869 7 24596015.978 24596013.804 24596017.283
+ -3520.868 -2743.530 38.670 35.540
+ -24942044.093 9 -19424426.152 8 20478644.823 20478645.226 20478649.450
+ 839.511 654.169 51.870 48.400
+ -10724281.213 8 -8348950.157 7 23360079.827 23360079.322 23360083.691
+ 1568.434 1222.162 42.150 39.020
+ -12184678.167 8 -9482684.727 8 22432314.280 22432314.235 22432318.089
+ -2906.884 -2265.102 46.310 42.840
+ -11724850.826 8 -9121188.937 8 22793813.921 22793812.537 22793817.671
+ 2365.508 1843.256 42.840 40.410
+ -23669252.485 9 -18431868.533 8 20779179.513 20779178.541 20779182.762
+ 189.519 147.684 50.140 49.440
+ -16477637.276 8 -12799721.479 8 21637202.053 21637201.712 21637206.469
+ -2264.207 -1764.310 48.400 44.930
+ -16338304.744 8 -12711195.379 8 22059792.039 22059791.985 22059794.791
+ 2701.931 2105.409 45.970 42.150
+ 04 6 10 0 9 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -2169310.021 7 -1667584.388 7 24616119.949 24616119.535 24616123.294
+ -3523.054 -2745.238 37.280 34.850
+ -24967036.969 9 -19443901.139 8 20473891.761 20473890.452 20473893.346
+ 826.462 643.994 51.870 48.400
+ -10771302.718 8 -8385590.248 7 23351130.627 23351131.193 23351135.711
+ 1566.003 1220.260 42.150 39.020
+ -12097358.990 8 -9414643.810 8 22448930.807 22448930.648 22448934.138
+ -2914.571 -2271.101 46.310 42.840
+ -11795686.595 8 -9176385.616 8 22780333.547 22780332.919 22780337.836
+ 2356.671 1836.358 43.190 40.410
+ -23674699.220 8 -18436112.743 8 20778142.642 20778142.106 20778146.266
+ 173.442 135.144 49.790 49.440
+ -16409540.001 8 -12746658.670 8 21650161.384 21650160.621 21650164.800
+ -2275.823 -1773.372 48.400 44.930
+ -16419285.347 8 -12774297.088 8 22044380.303 22044381.548 22044385.230
+ 2696.529 2101.183 45.970 42.490
+ 04 6 10 0 10 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -2063590.655 7 -1585205.673 7 24636238.914 24636238.815 24636241.394
+ -3525.001 -2746.762 38.320 35.200
+ -24991639.941 9 -19463072.302 8 20469210.176 20469208.594 20469211.648
+ 813.563 633.945 51.870 48.400
+ -10818253.745 8 -8422175.423 7 23342197.763 23342197.289 23342201.801
+ 1563.734 1218.492 42.490 39.020
+ -12009813.537 8 -9346426.564 8 22465591.015 22465590.496 22465593.828
+ -2921.925 -2276.831 46.660 42.840
+ -11866257.320 8 -9231375.772 8 22766905.010 22766904.188 22766908.728
+ 2347.885 1829.523 43.190 40.410
+ -23679666.828 8 -18439983.596 8 20777197.266 20777196.621 20777200.988
+ 157.639 122.832 49.790 49.440
+ -16341097.279 8 -12693326.678 8 21663184.426 21663184.583 21663189.041
+ -2287.176 -1782.218 48.050 44.930
+ -16500106.060 8 -12837274.184 8 22029002.113 22029001.950 22029005.532
+ 2691.328 2097.131 45.620 42.840
+ 04 6 10 0 10 30.0000000 0 9G 4G 5G 6G 9G10G17G21G24G30 .000000000
+ -1957810.385 7 -1502779.458 7 24656367.093 24656367.274 24656370.825
+ -3527.037 -2748.359 38.670 33.810
+ -25015851.304 9 -19481938.301 8 20464600.330 20464600.429 20464604.448
+ 800.495 623.758 51.870 48.400
+ -10865134.471 8 -8458705.815 7 23333276.202 23333276.209 23333279.894
+ 1561.436 1216.699 42.490 38.320
+ -11922044.966 8 -9278035.470 8 22482291.916 22482292.173 22482295.456
+ -2929.296 -2282.573 46.660 42.490
+ -11936559.809 8 -9286156.909 8 22753526.305 22753525.844 22753530.515
+ 2338.895 1822.506 43.190 40.060
+ -23684155.788 8 -18443481.471 8 20776343.160 20776342.502 20776346.679
+ 141.714 110.423 49.790 49.090
+ -116519.21019 -50137.11019 .00077 25763644.4921 25764297.1491
+ 3349.4461 2609.3501 651.3101 651.3101
+ -16272311.507 8 -12639727.369 8 21676274.579 21676274.225 21676278.649
+ -2298.548 -1791.081 48.050 44.930
+ -16580764.771 8 -12900125.034 8 22013652.795 22013652.820 22013656.632
+ 2685.877 2092.879 45.970 42.840
+ 04 6 10 0 11 0.0000000 0 9G 4G 5G 6G 9G10G17G21G24G30 .000000000
+ -1851971.917 7 -1420307.937 7 24676507.289 24676506.956 24676511.587
+ -3528.861 -2749.772 38.320 35.200
+ -25039669.229 9 -19500497.729 8 20460067.783 20460067.975 20460071.869
+ 787.369 613.529 51.870 48.400
+ -10911945.587 8 -8495181.990 7 23324368.011 23324367.402 23324372.528
+ 1559.131 1214.902 42.840 38.670
+ -11834055.964 8 -9209472.596 8 22499036.063 22499035.883 22499038.889
+ -2936.595 -2288.261 47.010 42.490
+ -12006590.689 8 -9340726.397 8 22740200.050 22740199.267 22740203.929
+ 2329.799 1815.425 43.190 40.410
+ -23688166.542 8 -18446606.721 8 20775579.770 20775579.373 20775583.427
+ 125.746 97.980 49.790 49.440
+ -216970.33019 -61881.44219 .00077 25744529.2691 25761429.0591
+ 3347.3691 2609.9791 651.3101 651.3101
+ -16203185.162 8 -12585862.676 8 21689427.962 21689428.420 21689432.676
+ -2309.871 -1799.899 48.050 44.580
+ -16661259.077 8 -12962847.807 8 21998334.396 21998335.499 21998338.483
+ 2680.366 2088.593 45.970 42.490
+ 04 6 10 0 11 30.0000000 0 9G 4G 5G 6G 9G10G17G21G24G30 .000000000
+ -1746077.424 7 -1337792.725 7 24696658.337 24696659.089 24696662.195
+ -3530.667 -2751.175 38.670 35.890
+ -25063092.231 9 -19518749.427 8 20455612.051 20455611.147 20455614.810
+ 774.190 603.262 51.870 48.400
+ -10958687.883 8 -8531604.498 7 23315473.518 23315473.687 23315477.663
+ 1556.809 1213.089 43.190 38.670
+ -11745849.851 8 -9140740.543 8 22515821.130 22515820.624 22515824.552
+ -2943.771 -2293.854 46.660 42.490
+ -12076346.967 8 -9395081.910 8 22726926.509 22726925.275 22726930.195
+ 2320.612 1808.260 43.190 40.410
+ -23691699.790 8 -18449359.884 8 20774907.090 20774906.978 20774911.159
+ 109.916 85.645 49.790 49.090
+ -317359.285 9 -61881.44219 .00077 25725425.874 25761429.0591
+ 3345.333 2609.9791 651.310 651.3101
+ -16133720.999 8 -12531734.745 8 21702647.672 21702647.121 21702651.532
+ -2321.078 -1808.638 48.050 44.930
+ -16741587.129 8 -13025441.020 8 21983048.731 21983049.076 21983052.968
+ 2674.874 2084.314 45.970 42.490
+ 04 6 10 0 12 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -1640129.273 7 -1255235.739 7 24716818.283 24716819.884 24716823.950
+ -3532.413 -2752.516 37.980 35.890
+ -25086118.544 9 -19536692.014 8 20451230.445 20451229.702 20451232.950
+ 760.916 592.924 51.870 48.400
+ -11005361.417 8 -8567973.412 7 23306590.775 23306591.187 23306595.333
+ 1554.538 1211.329 42.840 38.320
+ -11657429.367 8 -9071841.459 8 22532647.492 22532646.756 22532649.853
+ -2950.899 -2299.404 46.660 42.490
+ -12145824.939 8 -9449220.568 8 22713704.353 22713703.593 22713708.322
+ 2311.258 1800.981 43.190 40.410
+ -23694755.834 8 -18451741.198 8 20774325.519 20774325.273 20774329.498
+ 93.944 73.207 49.790 49.440
+ -16063921.068 8 -12477345.172 8 21715929.927 21715929.743 21715933.926
+ -2332.213 -1817.310 48.050 44.930
+ -16821746.193 8 -13087902.563 8 21967795.341 21967796.095 21967799.433
+ 2669.130 2079.844 46.310 43.540
+ 04 6 10 0 12 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -1534130.047 7 -1172638.973 7 24736989.678 24736990.917 24736995.165
+ -3534.136 -2753.876 36.930 35.890
+ -25108746.813 9 -19554324.435 8 20446925.434 20446923.892 20446926.872
+ 747.591 582.537 51.870 48.400
+ -11051967.913 8 -8604290.093 7 23297722.930 23297721.937 23297726.270
+ 1552.303 1209.579 42.840 37.980
+ -11568797.726 8 -9002777.833 8 22549511.981 22549512.511 22549516.357
+ -2957.899 -2304.857 46.310 42.490
+ -12215021.870 8 -9503140.237 8 22700536.744 22700536.224 22700540.306
+ 2301.780 1793.591 43.540 40.410
+ -23697335.376 8 -18453751.216 8 20773835.183 20773834.657 20773838.754
+ 78.025 60.796 49.790 49.090
+ -15993788.746 8 -12422696.606 8 21729276.164 21729275.377 21729279.613
+ -2343.296 -1825.947 48.050 44.580
+ -16901734.518 8 -13150231.060 8 21952574.196 21952574.433 21952577.973
+ 2663.349 2075.329 46.660 43.190
+ 04 6 10 0 13 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -1428081.965 7 -1090004.132 7 24757171.739 24757171.375 24757174.517
+ -3535.687 -2755.080 36.930 34.850
+ -25130975.050 9 -19571645.130 8 20442693.476 20442693.187 20442697.122
+ 734.319 572.199 51.870 48.400
+ -11098506.903 8 -8640554.155 7 23288867.178 23288866.718 23288870.249
+ 1550.157 1207.911 42.840 38.670
+ -11479957.683 8 -8933551.824 8 22566418.699 22566418.386 22566422.160
+ -2964.711 -2310.163 46.310 42.840
+ -12283934.157 8 -9556838.102 8 22687424.204 22687422.774 22687427.140
+ 2292.328 1786.235 43.540 40.410
+ -23699438.865 8 -18455390.288 8 20773434.891 20773434.130 20773438.489
+ 62.255 48.511 49.790 49.440
+ -15923326.233 8 -12367790.735 8 21742684.013 21742684.088 21742688.348
+ -2354.180 -1834.427 48.050 44.930
+ -16981549.621 8 -13212424.585 8 21937385.426 21937385.712 21937389.196
+ 2657.653 2070.899 45.970 42.840
+ 04 6 10 0 13 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -1321987.513 7 -1007333.107 7 24777359.042 24777360.512 24777363.698
+ -3537.174 -2756.235 38.320 35.200
+ -25152801.520 9 -19588652.756 8 20438538.791 20438539.336 20438543.785
+ 720.860 561.710 51.870 48.400
+ -11144979.751 8 -8676766.665 7 23280021.500 23280022.326 23280026.598
+ 1547.860 1206.128 42.490 38.670
+ -11390912.168 8 -8864165.690 8 22583362.962 22583363.082 22583366.466
+ -2971.576 -2315.515 46.310 42.150
+ -12352558.426 8 -9610311.535 8 22674364.030 22674363.480 22674368.682
+ 2282.685 1778.711 43.540 40.410
+ -23701066.622 8 -18456658.654 8 20773124.762 20773124.438 20773128.661
+ 46.425 36.175 49.790 49.090
+ -15852535.838 8 -12312629.377 8 21756154.631 21756154.860 21756159.319
+ -2365.111 -1842.941 48.050 44.580
+ -17061189.117 8 -13274481.291 8 21922231.692 21922231.286 21922233.940
+ 2651.720 2066.281 45.970 42.490
+ 04 6 10 0 14 0.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -1215848.745 7 -924627.607 7 24797555.428 24797557.789 24797562.313
+ -3538.566 -2757.335 37.630 34.500
+ -25174224.772 9 -19605346.221 8 20434464.569 20434463.261 20434467.052
+ 707.455 551.263 51.870 48.750
+ -11191386.772 8 -8712927.942 7 23271190.892 23271191.375 23271195.675
+ 1545.821 1204.539 42.150 39.020
+ -11301664.378 8 -8794621.974 8 22600346.158 22600346.492 22600350.106
+ -2978.188 -2320.667 46.310 42.490
+ -12420891.791 8 -9663558.327 8 22661361.286 22661360.563 22661364.298
+ 2272.969 1771.142 43.880 40.410
+ -23702219.449 8 -18457556.976 8 20772905.385 20772904.984 20772909.216
+ 30.627 23.864 49.790 49.440
+ -15781420.341 8 -12257214.728 8 21769687.726 21769687.553 21769692.543
+ -2375.831 -1851.295 48.050 44.930
+ -17140651.042 8 -13336399.675 8 21907108.641 21907109.552 21907113.367
+ 2645.820 2061.677 46.310 43.190
+ 04 6 10 0 14 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -1109668.190 7 -841889.529 7 24817763.448 24817763.918 24817766.574
+ -3540.006 -2758.448 37.630 34.150
+ -25195243.033 9 -19621724.080 8 20430464.883 20430463.845 20430467.295
+ 693.805 540.623 51.870 48.400
+ -11237728.557 8 -8749038.328 7 23262372.494 23262372.197 23262377.884
+ 1543.494 1202.718 42.150 39.370
+ -11212217.142 8 -8724922.835 8 22617367.838 22617367.463 22617371.216
+ -2984.890 -2325.899 45.970 42.490
+ -12488930.835 8 -9716575.747 8 22648413.908 22648412.889 22648417.475
+ 2263.016 1763.381 43.880 40.410
+ -23702897.973 8 -18458085.687 8 20772776.217 20772775.882 20772780.065
+ 14.724 11.472 49.790 49.090
+ -15709982.310 8 -12201548.717 8 21783282.378 21783282.104 21783286.452
+ -2386.642 -1859.722 48.050 44.580
+ -17219933.003 8 -13398177.790 8 21892022.345 21892022.715 21892026.601
+ 2639.680 2056.886 45.970 43.190
+ 04 6 10 0 15 0.0000000 0 9G 4G 5G 6G 9G10G17G21G24G30 .000000000
+ -1003448.284 7 -759120.706 7 24837977.955 24837976.769 24837979.527
+ -3541.377 -2759.508 37.980 34.500
+ -25215855.011 9 -19637785.316 8 20426542.454 20426541.460 20426544.923
+ 680.188 530.022 51.870 48.750
+ -11284005.660 8 -8785098.317 7 23253567.508 23253566.686 23253572.181
+ 1541.339 1201.042 42.150 39.710
+ -11122573.772 8 -8655070.818 8 22634426.507 22634426.302 22634429.904
+ -2991.383 -2330.941 45.970 42.150
+ -12556672.411 8 -9769361.341 8 22635522.471 22635521.989 22635527.219
+ 2252.991 1755.582 43.880 41.100
+ -23703102.709 8 -18458245.188 8 20772737.264 20772736.962 20772741.134
+ -1.094 -.846 49.790 49.440
+ -103122.87219 -42063.50219 .00077 25592062.7451 25594597.3641
+ 3328.7991 2594.1301 651.3101 651.3101
+ -15638224.461 8 -12145633.485 8 21796936.840 21796936.700 21796941.420
+ -2397.306 -1868.024 48.050 44.580
+ -17299032.836 8 -13459813.970 8 21876970.992 21876970.988 21876973.790
+ 2633.538 2052.114 46.310 42.840
+ 04 6 10 0 15 30.0000000 0 9G 4G 5G 6G 9G10G17G21G24G30 .000000000
+ -897191.203 7 -676323.007 7 24858196.840 24858195.613 24858200.037
+ -3542.589 -2760.449 36.930 35.200
+ -25236058.836 9 -19653528.530 8 20422696.371 20422696.352 20422700.206
+ 666.571 519.411 51.870 48.400
+ -11330218.952 8 -8821108.605 7 23244771.447 23244771.850 23244777.076
+ 1539.210 1199.385 42.150 39.710
+ -11032737.142 8 -8585068.240 8 22651522.451 22651521.770 22651525.005
+ -2997.799 -2335.943 45.970 42.150
+ -12624113.318 8 -9821912.666 8 22622690.010 22622688.518 22622693.228
+ 2242.912 1747.724 43.880 40.760
+ -23702834.471 8 -18458036.161 8 20772788.438 20772787.870 20772792.186
+ -16.849 -13.124 49.790 49.090
+ -202951.375 9 -42063.50219 .00077 25573066.000 25594597.3641
+ 3326.228 2594.1301 651.310 651.3101
+ -15566149.201 8 -12089470.939 8 21810652.739 21810652.406 21810656.855
+ -2407.828 -1876.224 48.050 44.580
+ -17377948.149 8 -13521306.414 8 21861953.469 21861953.625 21861956.684
+ 2627.341 2047.283 46.660 42.840
+ 04 6 10 0 16 0.0000000 0 9G 4G 5G 6G 9G10G17G21G24G30 .000000000
+ -790899.036 7 -593497.973 7 24878424.700 24878423.200 24878426.672
+ -3543.706 -2761.331 36.930 35.890
+ -25255853.028 9 -19668952.553 8 20418929.983 20418929.534 20418933.421
+ 652.896 508.744 51.530 48.400
+ -11376368.569 8 -8857069.301 8 23235991.092 23235990.918 23235995.932
+ 1537.134 1197.765 42.490 40.060
+ -10942709.763 8 -8514917.038 8 22668654.085 22668653.678 22668656.920
+ -3004.100 -2340.865 46.310 42.490
+ -12691250.254 8 -9874227.144 8 22609913.193 22609913.008 22609917.640
+ 2232.729 1739.784 43.880 41.100
+ -23702093.450 8 -18457458.733 8 20772929.790 20772929.021 20772933.185
+ -32.599 -25.405 49.790 49.090
+ -302702.153 9 -42063.50219 .00077 25554084.048 25594597.3641
+ 3323.639 2594.1301 651.310 651.3101
+ -15493759.237 8 -12033063.167 8 21824428.212 21824427.647 21824432.102
+ -2418.292 -1884.386 47.700 44.580
+ -17456676.468 8 -13582653.116 8 21846971.594 21846972.215 21846975.557
+ 2621.062 2042.379 46.660 43.540
+ 04 6 10 0 16 30.0000000 0 8G 4G 5G 6G 9G10G17G24G30 .000000000
+ -684574.495 7 -510647.693 7 24898655.865 24898656.661 24898660.084
+ -3544.645 -2762.055 37.630 35.200
+ -25275236.154 9 -19684056.274 8 20415241.740 20415241.120 20415244.977
+ 639.238 498.106 51.530 48.400
+ -11422455.447 8 -8892981.141 7 23227220.631 23227220.313 23227225.526
+ 1535.084 1196.170 42.490 39.710
+ -10852495.008 8 -8444619.819 8 22685820.291 22685820.746 22685823.732
+ -3010.251 -2345.652 46.310 41.800
+ -12758080.069 8 -9926302.291 8 22597196.331 22597195.541 22597200.460
+ 2222.518 1731.831 44.230 40.760
+ -23700880.789 8 -18456513.796 8 20773160.360 20773159.834 20773163.843
+ -48.229 -37.581 49.790 49.090
+ -15421057.095 8 -11976412.145 8 21838262.754 21838262.421 21838266.641
+ -2428.596 -1892.413 47.700 44.230
+ -17535215.688 8 -13643852.451 8 21832027.260 21832026.943 21832030.128
+ 2614.783 2037.491 46.660 43.540
+ 04 6 10 0 17 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25294206.488 9 -19698838.339 8 20411631.495 20411631.177 20411635.066
+ 625.456 487.369 51.530 48.750
+ -11468480.424 8 -8928844.731 8 23218461.641 23218462.296 23218466.660
+ 1533.054 1194.592 42.490 40.060
+ -10762095.982 8 -8374178.993 8 22703023.105 22703023.119 22703025.987
+ -3016.334 -2350.393 46.310 41.800
+ -12824599.503 8 -9978135.594 8 22584537.786 22584536.670 22584541.427
+ 2212.118 1723.727 44.230 40.760
+ -23699197.147 9 -18455201.867 8 20773480.859 20773480.155 20773484.270
+ -63.927 -49.811 50.140 49.090
+ -15348045.480 8 -11919519.968 8 21852156.263 21852156.097 21852160.347
+ -2438.850 -1900.406 47.700 44.230
+ -17613563.701 8 -13704902.812 8 21817117.451 21817117.653 21817120.754
+ 2608.380 2032.503 47.010 43.190
+ 04 6 10 0 17 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25312762.380 9 -19713297.481 8 20408100.976 20408100.400 20408103.949
+ 611.638 476.603 51.530 48.400
+ -11514443.197 8 -8964659.837 7 23209716.017 23209715.929 23209719.647
+ 1531.046 1193.018 42.840 39.370
+ -10671515.661 8 -8303596.913 8 22720259.873 22720259.766 22720263.560
+ -3022.265 -2355.013 45.970 42.150
+ -12890805.295 8 -10029724.506 8 22571939.315 22571938.514 22571943.317
+ 2201.639 1715.567 44.230 40.760
+ -23697042.818 9 -18453523.165 8 20773890.746 20773890.180 20773894.374
+ -79.590 -62.018 50.140 49.090
+ -15274726.709 8 -11862388.449 8 21866108.446 21866108.352 21866112.628
+ -2448.995 -1908.304 47.700 44.230
+ -17691717.951 8 -13765802.199 8 21802244.170 21802244.736 21802248.054
+ 2601.968 2027.512 46.310 42.840
+ 04 6 10 0 18 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25330902.605 9 -19727432.715 8 20404649.260 20404648.323 20404651.942
+ 597.754 465.781 51.870 48.750
+ -11560345.266 8 -9000427.645 7 23200980.765 23200980.803 23200985.615
+ 1528.958 1191.388 42.840 39.710
+ -10580756.847 8 -8232875.759 8 22737529.932 22737530.102 22737534.239
+ -3028.228 -2359.660 45.620 42.490
+ -12956694.616 8 -10081066.811 8 22559400.875 22559400.841 22559404.508
+ 2190.997 1707.267 44.230 41.100
+ -23694418.935 9 -18451478.582 8 20774389.893 20774389.439 20774393.574
+ -95.249 -74.222 50.140 49.090
+ -15201103.427 8 -11805019.648 8 21880118.213 21880118.259 21880122.605
+ -2459.146 -1916.218 47.700 44.230
+ -17769676.318 8 -13826548.922 8 21787409.962 21787410.263 21787413.513
+ 2595.275 2022.288 46.310 43.540
+ 04 6 10 0 18 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25348625.549 9 -19741242.804 8 20401276.370 20401275.782 20401279.296
+ 583.790 454.899 51.530 48.400
+ -11606186.862 8 -9036148.344 7 23192257.542 23192257.592 23192262.012
+ 1526.960 1189.835 43.190 39.710
+ -10489822.560 8 -8162017.877 8 22754833.785 22754834.121 22754838.258
+ -3034.063 -2364.205 45.270 41.800
+ -13022264.035 8 -10132159.852 8 22546924.403 22546922.591 22546927.022
+ 2180.280 1698.918 44.230 40.760
+ -23691326.071 9 -18449068.563 8 20774978.727 20774978.060 20774982.144
+ -110.855 -86.382 50.140 49.090
+ -15127178.167 8 -11747415.540 8 21894186.360 21894186.067 21894189.944
+ -2469.191 -1924.045 47.700 44.230
+ -17847436.347 8 -13887141.114 8 21772613.779 21772613.420 21772616.607
+ 2588.706 2017.170 47.010 43.880
+ 04 6 10 0 19 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25365929.571 9 -19754726.475 8 20397983.535 20397982.903 20397986.593
+ 569.730 443.945 51.530 48.750
+ -11651968.720 8 -9071822.539 7 23183545.153 23183545.541 23183549.972
+ 1524.967 1188.287 43.190 39.710
+ -10398715.907 8 -8091025.708 8 22772171.873 22772171.796 22772175.645
+ -3039.789 -2368.667 45.270 42.150
+ -13087510.329 8 -10183001.117 8 22534507.459 22534506.961 22534511.613
+ 2169.394 1690.438 44.230 41.100
+ -23687764.949 9 -18446293.691 8 20775656.317 20775655.716 20775659.829
+ -126.527 -98.590 50.140 49.090
+ -15052953.585 8 -11689578.219 8 21908310.232 21908310.270 21908314.539
+ -2479.191 -1931.837 47.700 44.230
+ -17924995.837 8 -13947577.057 8 21757853.912 21757853.396 21757856.884
+ 2581.870 2011.849 46.660 43.540
+ 04 6 10 0 19 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25382813.051 9 -19767882.429 8 20394770.475 20394770.066 20394773.848
+ 555.793 433.086 51.530 48.400
+ -11697691.007 8 -9107450.263 7 23174845.482 23174845.102 23174849.017
+ 1523.103 1186.837 43.190 39.370
+ -10307439.921 8 -8019901.557 8 22789541.242 22789541.203 22789544.420
+ -3045.285 -2372.948 45.620 41.800
+ -13152430.454 8 -10233588.212 8 22522154.423 22522153.475 22522157.301
+ 2158.602 1682.026 44.230 40.760
+ -23683736.564 9 -18443154.687 8 20776422.829 20776422.193 20776426.450
+ -141.976 -110.631 50.140 49.090
+ -14978432.313 8 -11631509.680 8 21922492.317 21922491.427 21922495.850
+ -2488.935 -1939.427 48.050 44.230
+ -18002352.546 8 -14007854.979 8 21743132.857 21743133.195 21743136.282
+ 2575.179 2006.632 46.310 43.190
+ 04 6 10 0 20 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25399274.559 9 -19780709.555 8 20391637.623 20391637.349 20391641.305
+ 541.645 422.060 51.530 48.750
+ -11743354.614 8 -9143032.236 7 23166154.493 23166154.965 23166159.514
+ 1521.082 1185.246 43.540 39.710
+ -10215997.213 8 -7948647.475 8 22806941.964 22806942.208 22806945.562
+ -3050.834 -2377.282 45.620 41.800
+ -13217021.037 8 -10283918.491 8 22509862.020 22509861.708 22509865.840
+ 2147.486 1673.369 44.230 41.100
+ -23679241.207 9 -18439651.791 8 20777278.037 20777277.549 20777281.793
+ -157.571 -122.782 50.140 49.090
+ -14903617.081 8 -11573212.061 8 21936728.083 21936728.002 21936732.390
+ -2498.727 -1947.062 47.700 44.230
+ -18079503.863 8 -14067972.839 8 21728452.334 21728452.345 21728455.387
+ 2568.272 2001.253 47.010 43.880
+ 04 6 10 0 20 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25415312.815 9 -19793206.905 8 20388585.824 20388585.432 20388589.303
+ 527.534 411.064 51.530 48.400
+ -11788960.017 8 -9178568.881 7 23157477.701 23157477.282 23157480.955
+ 1519.098 1183.706 43.540 39.710
+ -10124391.283 8 -7877266.223 8 22824374.012 22824374.205 22824377.180
+ -3056.233 -2381.484 45.970 41.450
+ -13281279.179 8 -10333989.745 8 22497634.222 22497633.402 22497638.475
+ 2136.383 1664.709 44.230 41.450
+ -23674280.220 9 -18435786.095 8 20778222.500 20778221.711 20778225.817
+ -173.110 -134.895 50.140 49.090
+ -14828510.511 8 -11514687.445 8 21951020.260 21951020.505 21951024.486
+ -2508.418 -1954.618 47.700 43.880
+ -18156447.766 8 -14127929.097 8 21713809.618 21713809.453 21713813.560
+ 2561.290 1995.807 47.010 43.880
+ 04 6 10 0 21 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25430926.266 9 -19805373.234 8 20385615.201 20385614.387 20385618.218
+ 513.316 399.986 51.530 48.750
+ -11834507.823 8 -9214060.606 7 23148808.863 23148809.206 23148813.032
+ 1517.141 1182.172 43.540 39.370
+ -10032624.662 8 -7805759.751 8 22841837.285 22841836.909 22841839.811
+ -3061.560 -2385.629 45.970 41.450
+ -13345201.682 8 -10383799.457 8 22485469.955 22485469.439 22485474.672
+ 2125.093 1655.912 44.230 41.450
+ -23668854.153 9 -18431557.984 8 20779254.813 20779254.384 20779258.433
+ -188.597 -146.958 50.140 49.090
+ -14753114.800 8 -11455937.528 8 21965367.336 21965367.566 21965371.903
+ -2518.015 -1962.092 47.700 44.230
+ -18233181.750 8 -14187721.771 8 21699207.369 21699208.042 21699210.838
+ 2554.207 1990.290 47.010 43.880
+ 04 6 10 0 21 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25446113.397 9 -19817207.371 8 20382724.898 20382724.423 20382728.225
+ 499.132 388.935 51.870 48.750
+ -11879998.551 8 -9249507.872 7 23140153.047 23140152.981 23140156.787
+ 1515.345 1180.782 43.540 39.370
+ -9940700.608 8 -7734130.608 8 22859329.435 22859329.754 22859332.880
+ -3066.687 -2389.622 45.970 41.800
+ -13408785.186 8 -10433345.041 8 22473370.920 22473370.488 22473374.612
+ 2113.776 1647.094 44.580 41.100
+ -23662963.750 9 -18426968.071 8 20780375.836 20780375.260 20780379.389
+ -203.987 -158.951 50.140 49.090
+ -14677433.038 8 -11396964.716 8 21979769.756 21979769.467 21979773.649
+ -2527.440 -1969.434 47.360 43.880
+ -18309703.453 8 -14247349.065 8 21684646.981 21684646.958 21684649.343
+ 2547.188 1984.823 47.360 43.540
+ 04 6 10 0 22 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25460872.436 9 -19828707.928 8 20379916.629 20379915.961 20379919.600
+ 484.791 377.763 51.870 48.750
+ -11925432.884 8 -9284911.171 7 23131507.342 23131506.858 23131510.879
+ 1513.374 1179.249 43.540 39.370
+ -9848622.026 8 -7662381.064 8 22876851.209 22876850.816 22876854.684
+ -3071.884 -2393.672 45.270 41.450
+ -13472026.640 8 -10482624.081 8 22461336.935 22461335.813 22461340.290
+ 2102.256 1638.122 44.580 41.450
+ -23656610.025 9 -18422017.117 8 20781585.225 20781584.312 20781588.396
+ -219.520 -171.056 50.140 49.090
+ -14601467.531 8 -11337770.802 8 21994225.079 21994225.047 21994229.605
+ -2536.918 -1976.816 47.360 44.230
+ -18386010.516 8 -14306809.103 8 21670125.139 21670125.508 21670128.641
+ 2539.923 1979.158 47.360 44.230
+ 04 6 10 0 22 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25475202.413 9 -19839874.161 8 20377189.566 20377189.001 20377192.633
+ 470.493 366.620 51.870 48.400
+ -11970811.307 8 -9320270.854 7 23122872.009 23122871.640 23122874.885
+ 1511.560 1177.824 43.540 38.670
+ -9756391.913 8 -7590513.437 8 22894402.390 22894401.810 22894405.470
+ -3076.831 -2397.531 44.930 41.450
+ -13534923.064 8 -10531634.253 8 22449367.767 22449367.179 22449371.325
+ 2090.747 1629.150 44.580 41.100
+ -23649793.763 9 -18416705.737 8 20782881.916 20782881.324 20782885.387
+ -234.898 -183.037 50.140 49.090
+ -14525220.733 8 -11278357.709 8 22008734.406 22008734.325 22008738.821
+ -2546.219 -1984.071 47.360 43.880
+ -18462100.801 8 -14366100.179 8 21655644.744 21655645.424 21655649.571
+ 2532.698 1973.531 46.660 44.230
+ 04 6 10 0 23 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25489101.825 9 -19850704.886 8 20374544.842 20374544.172 20374547.753
+ 456.147 355.439 51.870 48.750
+ -12016134.270 8 -9355587.299 7 23114246.798 23114246.461 23114250.406
+ 1509.793 1176.456 43.190 39.020
+ -9664013.273 8 -7518530.087 8 22911980.760 22911980.882 22911984.555
+ -3081.690 -2401.319 44.930 41.800
+ -13597471.343 8 -10580373.168 8 22437465.513 22437464.616 22437468.888
+ 2079.154 1620.118 44.930 41.100
+ -23642516.016 9 -18411034.771 8 20784266.896 20784266.334 20784270.447
+ -250.197 -194.958 50.140 49.090
+ -14448695.651 8 -11218727.767 8 22023296.500 22023296.431 22023300.416
+ -2555.408 -1991.230 47.360 43.880
+ -18537971.853 8 -14425220.447 8 21641208.578 21641208.736 21641211.469
+ 2525.374 1967.821 47.010 44.230
+ 04 6 10 0 23 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25502569.325 9 -19861199.046 8 20371981.617 20371981.375 20371984.912
+ 441.678 344.172 51.870 48.750
+ -12061402.733 8 -9390861.276 7 23105631.522 23105631.356 23105635.562
+ 1507.911 1174.997 42.840 39.020
+ -9571488.996 8 -7446433.244 8 22929587.432 22929587.758 22929591.335
+ -3086.538 -2405.082 44.930 41.800
+ -13659668.348 8 -10628838.345 8 22425629.248 22425628.646 22425633.270
+ 2067.309 1610.896 44.930 41.450
+ -23634777.572 9 -18405004.805 8 20785739.082 20785738.837 20785742.867
+ -265.598 -206.953 50.140 48.750
+ -14371894.641 8 -11158882.806 8 22037911.581 22037911.155 22037915.501
+ -2564.608 -1998.387 47.360 43.880
+ -18613621.376 8 -14484168.116 8 21626812.643 21626812.572 21626815.111
+ 2517.914 1962.015 47.360 43.540
+ 04 6 10 0 24 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25515603.444 9 -19871355.516 8 20369501.769 20369501.055 20369504.508
+ 427.211 332.896 51.870 48.750
+ -12106616.918 8 -9426093.001 7 23097029.199 23097028.216 23097032.019
+ 1506.144 1173.619 43.190 39.370
+ -9478822.130 8 -7374225.299 8 22947222.141 22947221.765 22947225.074
+ -3091.270 -2408.778 45.270 41.100
+ -13721510.983 8 -10677027.399 8 22413861.399 22413860.337 22413864.528
+ 2055.434 1601.638 44.580 41.100
+ -23626579.519 9 -18398616.716 8 20787299.209 20787298.803 20787302.872
+ -280.946 -218.919 50.140 49.090
+ -14294820.396 8 -11098824.943 8 22052577.776 22052578.037 22052582.093
+ -2573.741 -2005.516 47.360 43.540
+ -18689046.884 8 -14542941.204 8 21612457.787 21612458.990 21612462.896
+ 2510.360 1956.130 47.010 44.230
+ 04 6 10 0 24 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25528202.771 9 -19881173.177 8 20367104.111 20367103.575 20367107.106
+ 412.624 321.522 51.870 48.750
+ -12151777.501 8 -9461282.992 7 23088434.962 23088434.180 23088437.567
+ 1504.310 1172.183 43.190 39.370
+ -9386015.607 8 -7301908.518 8 22964882.131 22964882.583 22964885.573
+ -3095.920 -2412.415 45.270 41.100
+ -13782996.271 8 -10724937.998 8 22402161.366 22402160.396 22402164.585
+ 2043.446 1592.291 44.930 41.100
+ -23617922.528 9 -18391871.001 8 20788946.917 20788946.224 20788950.407
+ -296.288 -230.880 50.140 49.090
+ -14217475.583 8 -11038556.247 8 22067296.062 22067296.041 22067300.364
+ -2582.734 -2012.533 47.360 43.540
+ -18764246.047 8 -14601537.906 8 21598149.442 21598150.039 21598152.778
+ 2502.737 1950.180 47.360 44.230
+ 04 6 10 0 25 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25540365.773 9 -19890650.851 8 20364789.649 20364789.006 20364792.485
+ 398.230 310.307 51.870 48.750
+ -12196884.897 8 -9496431.527 7 23079850.485 23079850.395 23079854.348
+ 1502.688 1170.930 42.840 39.710
+ -9293072.512 8 -7229485.323 8 22982569.960 22982568.877 22982572.008
+ -3100.235 -2415.767 45.270 41.450
+ -13844120.960 8 -10772567.606 8 22390529.756 22390528.507 22390532.900
+ 2031.531 1583.014 44.930 41.450
+ -23608807.775 9 -18384768.590 8 20790681.134 20790680.745 20790684.840
+ -311.299 -242.574 50.140 49.090
+ -14139862.569 8 -10978078.573 8 22082066.085 22082065.616 22082069.374
+ -2591.453 -2019.320 47.360 43.540
+ -18839216.585 8 -14659956.495 8 21583883.854 21583883.441 21583886.078
+ 2495.262 1944.357 47.700 43.880
+ 04 6 10 0 25 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25552090.932 9 -19899787.371 8 20362558.401 20362557.832 20362561.330
+ 383.621 298.932 51.870 48.400
+ -12241939.736 8 -9531539.122 8 23071277.177 23071277.435 23071280.929
+ 1500.953 1169.580 42.840 40.060
+ -9199995.662 8 -7156957.930 8 23000280.922 23000281.047 23000283.933
+ -3104.665 -2419.211 44.930 41.100
+ -13904881.924 8 -10819913.817 8 22378966.487 22378965.608 22378970.574
+ 2019.307 1573.493 44.580 41.450
+ -23599235.967 9 -18377310.059 8 20792502.620 20792502.156 20792506.409
+ -326.536 -254.438 50.140 49.090
+ -14061983.823 8 -10917393.844 8 22096884.853 22096885.230 22096889.686
+ -2600.258 -2026.171 47.010 43.540
+ -18913955.912 8 -14718194.923 8 21569660.343 21569660.334 21569663.321
+ 2487.505 1938.319 47.360 43.880
+ 04 6 10 0 26 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25563377.336 9 -19908581.978 8 20360410.730 20360410.233 20360413.667
+ 368.876 287.431 51.870 48.750
+ -12286942.467 8 -9566606.103 8 23062712.287 23062712.579 23062717.162
+ 1499.167 1168.177 42.840 40.410
+ -9106788.030 8 -7084328.595 8 23018017.614 23018017.382 23018020.886
+ -3109.105 -2422.685 44.930 41.100
+ -13965276.073 8 -10866974.178 8 22367474.943 22367473.760 22367477.878
+ 2007.005 1563.893 44.930 41.800
+ -23589208.374 9 -18369496.346 8 20794410.710 20794410.291 20794414.575
+ -341.824 -266.362 50.140 49.090
+ -13983842.194 8 -10856504.259 8 22111756.636 22111755.472 22111759.343
+ -2609.081 -2033.054 47.010 43.540
+ -18988461.872 8 -14776251.475 8 21555482.378 21555482.537 21555485.632
+ 2479.611 1932.160 47.360 44.230
+ 04 6 10 0 26 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25574223.414 9 -19917033.449 8 20358346.671 20358346.193 20358349.651
+ 354.134 275.946 51.870 48.750
+ -12331893.673 8 -9601632.917 8 23054159.441 23054159.216 23054163.420
+ 1497.406 1166.808 42.840 40.410
+ -9013452.683 8 -7011599.731 8 23035778.446 23035778.449 23035782.140
+ -3113.310 -2425.961 44.580 41.100
+ -14025300.319 8 -10913746.282 8 22356052.107 22356050.884 22356055.563
+ 1994.597 1554.235 44.930 41.450
+ -23578725.887 9 -18361328.139 8 20796405.655 20796405.191 20796409.129
+ -356.978 -278.165 50.140 49.090
+ -13905440.557 8 -10795412.031 8 22126674.396 22126674.422 22126678.661
+ -2617.739 -2039.803 47.010 43.190
+ -19062732.049 8 -14834124.275 8 21541349.595 21541349.871 21541352.725
+ 2471.676 1925.977 47.700 44.580
+ 04 6 10 0 27 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25584627.850 9 -19925140.809 8 20356366.845 20356366.383 20356369.850
+ 339.588 264.618 51.870 48.750
+ -12376793.968 8 -9636620.121 8 23045614.605 23045614.481 23045618.980
+ 1495.864 1165.610 43.540 40.760
+ -8919992.590 8 -6938773.697 8 23053563.523 23053563.466 23053567.270
+ -3117.223 -2429.001 44.580 41.450
+ -14084951.846 8 -10960227.967 8 22344700.179 22344699.606 22344704.882
+ 1982.269 1544.626 44.930 41.800
+ -23567789.417 9 -18352806.213 8 20798486.912 20798486.237 20798490.164
+ -371.927 -289.814 50.140 49.090
+ -13826781.297 8 -10734119.093 8 22141642.975 22141643.174 22141647.089
+ -2626.136 -2046.343 47.010 43.540
+ -19136764.017 8 -14891811.461 8 21527260.794 21527261.251 21527264.577
+ 2463.903 1919.922 47.700 44.230
+ 04 6 10 0 27 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25594589.634 9 -19932903.242 8 20354470.827 20354470.568 20354474.011
+ 324.781 253.082 51.870 48.750
+ -12421643.917 8 -9671568.086 8 23037079.968 23037080.079 23037084.277
+ 1494.187 1164.312 43.190 40.060
+ -8826410.663 8 -6865852.723 8 23071372.162 23071371.794 23071375.141
+ -3121.277 -2432.151 44.580 41.450
+ -14144227.537 8 -11006416.814 8 22333422.140 22333420.603 22333424.484
+ 1969.654 1534.798 45.270 41.800
+ -23556400.233 9 -18343931.516 8 20800654.047 20800653.600 20800657.661
+ -387.029 -301.577 50.140 48.750
+ -13747866.812 8 -10672627.274 8 22156659.846 22156659.888 22156663.928
+ -2634.565 -2052.904 47.010 43.190
+ -19210555.507 8 -14949311.267 8 21513218.986 21513219.161 21513222.633
+ 2455.791 1913.605 47.360 44.230
+ 04 6 10 0 28 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25604107.228 9 -19940319.553 8 20352660.075 20352659.410 20352662.852
+ 309.798 241.401 51.870 48.750
+ -12466443.971 8 -9706477.196 8 23028555.247 23028554.904 23028558.721
+ 1492.388 1162.900 43.540 40.410
+ -8732709.632 8 -6792838.948 8 23089202.549 23089202.256 23089205.834
+ -3125.341 -2435.339 44.580 41.100
+ -14203124.282 8 -11052310.364 8 22322213.573 22322212.475 22322216.739
+ 1956.870 1524.833 45.270 41.800
+ -23544559.204 9 -18334704.730 8 20802907.647 20802906.874 20802911.044
+ -402.192 -313.399 50.140 49.090
+ -13668699.634 8 -10610938.555 8 22171725.245 22171724.992 22171729.003
+ -2643.089 -2059.556 47.010 43.190
+ -19284104.005 8 -15006621.723 8 21499224.369 21499223.861 21499227.031
+ 2447.507 1907.143 47.360 44.580
+ 04 6 10 0 28 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25613179.072 9 -19947388.547 8 20350933.400 20350933.056 20350936.713
+ 294.936 229.823 51.870 48.750
+ -12511194.531 8 -9741347.770 8 23020039.181 23020039.003 23020043.157
+ 1490.759 1161.629 43.540 40.410
+ -8638892.496 8 -6719734.697 8 23107055.803 23107055.286 23107058.550
+ -3129.145 -2438.292 44.580 40.760
+ -14261639.137 8 -11097906.359 8 22311077.719 22311077.457 22311082.259
+ 1944.051 1514.845 45.270 41.800
+ -23532267.508 9 -18325126.800 8 20805246.508 20805245.887 20805249.791
+ -417.207 -325.096 50.140 48.750
+ -13589282.530 8 -10549055.110 8 22186838.307 22186837.611 22186841.879
+ -2651.393 -2066.012 47.010 43.540
+ -19357407.082 8 -15063740.948 8 21485274.362 21485274.469 21485277.602
+ 2439.311 1900.761 47.360 44.580
+ 04 6 10 0 29 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25621804.172 9 -19954109.408 8 20349292.580 20349291.922 20349295.480
+ 279.940 218.138 52.220 48.750
+ -12555896.105 8 -9776180.176 8 23011532.919 23011533.007 23011536.697
+ 1489.053 1160.316 43.540 40.410
+ -8544962.343 8 -6646542.356 8 23124929.188 23124929.158 23124932.729
+ -3132.967 -2441.270 44.230 40.760
+ -14319769.178 8 -11143202.484 8 22300016.434 22300015.266 22300019.697
+ 1931.122 1504.768 44.930 41.450
+ -23519526.230 9 -18315198.522 8 20807671.120 20807670.575 20807674.575
+ -432.252 -336.816 50.140 49.090
+ -13509618.197 8 -10486979.005 8 22201997.326 22201997.236 22202001.449
+ -2659.690 -2072.486 47.010 43.540
+ -19430462.531 8 -15120667.171 8 21471370.803 21471371.461 21471375.506
+ 2430.929 1894.233 47.360 44.580
+ 04 6 10 0 29 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25629981.645 9 -19960481.442 8 20347736.459 20347735.840 20347739.257
+ 265.159 206.620 52.220 48.750
+ -12600549.670 8 -9810975.156 8 23003036.121 23003035.906 23003039.701
+ 1487.635 1159.203 43.880 40.410
+ -8450922.173 8 -6573264.278 8 23142824.868 23142824.525 23142828.392
+ -3136.439 -2443.978 44.230 40.410
+ -14377511.346 8 -11188196.347 8 22289028.942 22289028.029 22289032.651
+ 1918.294 1494.777 45.270 41.800
+ -23506336.586 9 -18304920.838 8 20810180.751 20810180.308 20810184.406
+ -447.033 -348.335 50.140 48.750
+ -13429709.065 8 -10424712.113 8 22217203.856 22217203.155 22217207.618
+ -2667.636 -2078.673 47.010 43.190
+ -19503267.859 8 -15177398.478 8 21457517.772 21457517.903 21457520.583
+ 2422.698 1887.821 47.360 44.230
+ 04 6 10 0 30 0.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25637709.800 9 -19966503.382 8 20346265.381 20346265.032 20346268.652
+ 250.048 194.842 51.870 48.750
+ -12645155.074 8 -9845732.629 8 22994548.266 22994548.077 22994551.605
+ 1485.869 1157.827 43.880 40.760
+ -8356774.706 8 -6499902.621 8 23160740.351 23160740.329 23160743.994
+ -3140.060 -2446.798 44.230 40.410
+ -14434862.607 8 -11232885.623 8 22278114.759 22278113.371 22278118.376
+ 1905.083 1484.479 44.930 42.150
+ -23492699.216 9 -18294294.309 8 20812776.324 20812775.530 20812779.578
+ -462.036 -360.028 50.140 49.090
+ -13349557.281 8 -10362256.179 8 22232455.822 22232455.687 22232459.954
+ -2675.807 -2085.042 47.010 43.190
+ -19575820.549 8 -15233932.984 8 21443712.184 21443711.997 21443714.666
+ 2414.126 1881.134 48.050 44.580
+ 04 6 10 0 30 30.0000000 0 7G 5G 6G 9G10G17G24G30 .000000000
+ -25644987.637 9 -19972174.428 8 20344880.623 20344880.199 20344883.590
+ 234.994 183.116 51.870 48.750
+ -12689713.231 8 -9880453.297 8 22986068.160 22986068.384 22986072.555
+ 1484.337 1156.628 43.880 40.760
+ -8262523.236 8 -6426459.910 8 23178675.553 23178675.437 23178679.017
+ -3143.484 -2449.471 44.230 40.410
+ -14491820.104 8 -11277268.067 8 22267275.501 22267275.388 22267279.469
+ 1891.915 1474.219 44.930 41.800
+ -23478615.898 9 -18283320.282 8 20815455.861 20815455.354 20815459.413
+ -476.890 -371.603 50.140 48.750
+ -13269166.037 8 -10299613.651 8 22247753.608 22247753.433 22247758.268
+ -2683.754 -2091.236 47.010 43.190
+ -19648118.572 8 -15290269.048 8 21429952.845 21429953.209 21429956.844
+ 2405.594 1874.486 48.050 44.930
+ 04 6 10 0 31 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25651813.539 9 -19977493.317 8 20343581.928 20343581.408 20343584.660
+ 220.058 171.473 52.220 48.750
+ -12734224.440 8 -9915137.397 8 22977597.389 22977597.959 22977601.936
+ 1482.929 1155.518 43.880 40.410
+ -8168170.368 8 -6352938.203 8 23196629.965 23196629.979 23196634.375
+ -3146.651 -2451.937 43.880 40.760
+ -14548380.672 8 -11321341.225 8 22256513.470 22256511.826 22256517.035
+ 1878.802 1463.998 45.270 42.150
+ -23464087.604 9 -18271999.529 8 20818220.634 20818219.946 20818224.116
+ -491.571 -383.044 50.140 49.090
+ -3250452.08217 -2504904.33217 24993140.0551 24993139.0261 24993141.5921
+ 3218.4311 2507.8551 35.2001 34.5001
+ -13188537.437 8 -10236786.160 8 22263097.054 22263096.816 22263101.119
+ -2691.464 -2097.247 47.010 43.190
+ -19720159.258 8 -15346404.600 8 21416243.598 21416244.627 21416247.771
+ 2397.117 1867.883 47.700 44.930
+ 04 6 10 0 31 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25658186.781 9 -19982459.479 8 20342369.283 20342368.621 20342371.988
+ 204.883 159.652 52.220 48.750
+ -12778689.110 8 -9949785.229 8 22969136.996 22969136.733 22969141.164
+ 1481.283 1154.250 43.880 40.410
+ -8073719.185 8 -6279339.871 8 23214603.962 23214604.202 23214607.415
+ -3149.925 -2454.483 43.880 40.760
+ -14604541.697 8 -11365103.028 8 22245824.573 22245824.416 22245829.289
+ 1865.362 1453.527 44.930 41.800
+ -23449115.223 8 -18260332.722 8 20821069.940 20821069.181 20821073.213
+ -506.418 -394.607 49.790 48.750
+ -3346938.771 7 -2580088.800 7 24974779.664 24974779.058 24974780.196
+ 3214.124 2504.528 36.590 34.850
+ -13107674.288 8 -10173775.910 8 22278484.515 22278484.223 22278488.471
+ -2699.277 -2103.333 46.660 42.840
+ -19791940.377 8 -15402337.949 8 21402585.852 21402585.722 21402587.958
+ 2388.376 1861.079 48.050 44.580
+ 04 6 10 0 32 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25664105.934 9 -19987071.807 8 20341242.583 20341242.097 20341245.692
+ 189.686 147.811 52.220 48.750
+ -12823107.980 8 -9984397.381 8 22960683.621 22960683.556 22960688.207
+ 1479.709 1153.035 43.880 40.060
+ -7979172.711 8 -6205667.292 8 23232595.453 23232595.032 23232599.287
+ -3153.111 -2456.964 43.540 40.760
+ -14660300.161 8 -11408551.177 8 22235215.956 22235214.823 22235218.518
+ 1851.814 1442.973 45.270 41.800
+ -23433700.064 8 -18248320.900 8 20824003.065 20824002.462 20824006.607
+ -521.191 -406.122 49.790 48.750
+ -3443292.848 7 -2655169.901 7 24956444.397 24956443.515 24956444.761
+ 3209.500 2500.898 37.280 34.150
+ -13026579.414 8 -10110585.094 8 22293915.612 22293915.906 22293920.464
+ -2707.039 -2109.377 46.310 42.840
+ -19863459.308 8 -15458066.996 8 21388974.560 21388975.278 21388978.160
+ 2379.522 1854.173 48.050 44.230
+ 04 6 10 0 32 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25669569.947 9 -19991329.478 8 20340202.864 20340202.383 20340205.849
+ 174.454 135.939 52.220 48.750
+ -12867481.524 8 -10018974.243 7 22952240.859 22952240.304 22952243.368
+ 1478.208 1151.852 43.880 39.710
+ -7884533.655 8 -6131922.598 8 23250604.597 23250604.363 23250608.307
+ -3156.182 -2459.359 43.190 40.410
+ -14715653.108 8 -11451683.330 8 22224681.721 22224681.082 22224685.418
+ 1838.228 1432.386 45.620 42.150
+ -23417843.287 8 -18235964.959 8 20827020.355 20827019.788 20827023.968
+ -535.941 -417.615 49.790 48.750
+ -3539513.685 7 -2730147.225 7 24938133.246 24938132.424 24938133.955
+ 3205.004 2497.403 36.930 33.110
+ -12945255.406 8 -10047215.723 8 22309391.337 22309391.364 22309396.014
+ -2714.668 -2115.320 46.310 42.840
+ -19934713.761 8 -15513589.942 8 21375415.534 21375416.293 21375419.298
+ 2370.632 1847.251 48.050 44.580
+ 04 6 10 0 33 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25674577.431 9 -19995231.413 8 20339250.220 20339249.551 20339253.099
+ 159.218 124.066 51.870 48.750
+ -12911810.083 8 -10053516.053 8 22943804.741 22943804.375 22943809.552
+ 1476.733 1150.699 43.880 40.410
+ -7789805.210 8 -6058108.233 8 23268630.524 23268630.780 23268634.162
+ -3159.139 -2461.669 43.540 40.410
+ -14770597.729 8 -11494497.309 8 22214226.495 22214225.912 22214230.180
+ 1824.568 1421.744 45.620 41.800
+ -23401546.293 8 -18223265.991 8 20830121.823 20830121.082 20830125.149
+ -550.589 -429.031 49.790 48.750
+ -3635599.110 7 -2805019.095 7 24919849.759 24919849.433 24919848.732
+ 3200.464 2493.869 38.670 33.460
+ -12863704.637 8 -9983669.667 8 22324910.652 22324909.892 22324914.561
+ -2722.180 -2121.178 46.310 42.840
+ -20005701.234 8 -15568904.852 8 21361908.462 21361908.406 21361911.183
+ 2361.703 1840.288 48.400 44.930
+ 04 6 10 0 33 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25679127.464 9 -19998776.895 8 20338384.206 20338383.616 20338387.031
+ 144.014 112.218 51.870 48.750
+ -12956094.105 8 -10088023.167 7 22935378.933 22935378.257 22935381.493
+ 1475.322 1149.617 43.540 39.710
+ -7694990.119 8 -5984226.341 8 23286674.646 23286673.944 23286677.580
+ -3161.938 -2463.845 43.880 40.760
+ -14825131.050 8 -11536990.796 8 22203849.641 22203848.228 22203852.856
+ 1810.857 1411.056 45.620 42.150
+ -23384810.136 8 -18210224.820 8 20833306.240 20833305.740 20833310.099
+ -565.190 -440.406 49.790 48.750
+ -3731547.852 7 -2879784.426 7 24901590.711 24901590.394 24901592.887
+ 3195.968 2490.364 39.370 36.240
+ -12781929.750 8 -9919948.966 8 22340471.379 22340471.678 22340475.838
+ -2729.558 -2126.928 46.310 42.490
+ -20076419.292 8 -15624009.814 8 21348450.724 21348450.818 21348453.730
+ 2352.734 1833.299 48.400 44.930
+ 04 6 10 0 34 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25683218.964 9 -20001965.101 8 20337605.621 20337605.003 20337608.560
+ 128.730 100.312 51.870 48.750
+ -13000334.127 8 -10122496.053 8 22926959.544 22926959.344 22926963.042
+ 1473.837 1148.455 43.880 40.060
+ -7600091.261 8 -5910279.210 8 23304732.357 23304732.596 23304735.805
+ -3164.623 -2465.932 43.880 40.410
+ -14879250.062 8 -11579161.460 8 22193551.079 22193550.266 22193555.056
+ 1797.031 1400.285 45.620 42.490
+ -23367635.996 8 -18196842.389 8 20836574.361 20836573.896 20836578.192
+ -579.718 -451.726 49.790 48.750
+ -3827358.237 7 -2954441.851 7 24883356.918 24883357.076 24883360.536
+ 3191.293 2486.711 37.280 34.850
+ -12699933.281 8 -9856055.640 8 22356074.723 22356074.664 22356078.705
+ -2736.871 -2132.620 45.970 42.490
+ -20146865.627 8 -15678903.052 8 21335044.099 21335044.472 21335047.865
+ 2343.642 1826.220 48.050 44.930
+ 04 6 10 0 34 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25686850.973 9 -20004795.239 8 20336914.249 20336913.798 20336917.412
+ 113.422 88.384 51.870 48.750
+ -13044530.631 8 -10156934.978 8 22918548.692 22918548.920 22918553.645
+ 1472.401 1147.331 43.880 40.410
+ -7505111.629 8 -5836269.111 8 23322807.624 23322806.922 23322809.759
+ -3167.255 -2467.979 43.880 40.410
+ -14932951.985 8 -11621007.100 8 22183331.271 22183330.437 22183335.144
+ 1783.087 1389.421 45.620 42.490
+ -23350025.220 8 -18183119.696 8 20839925.616 20839925.043 20839929.362
+ -594.227 -463.030 49.790 48.750
+ -3923028.357 7 -3028990.128 7 24865152.552 24865152.678 24865153.131
+ 3186.712 2483.152 38.320 32.420
+ -12617717.677 8 -9791991.523 8 22371719.831 22371719.825 22371724.059
+ -2744.106 -2138.264 46.310 42.490
+ -20217037.768 8 -15733582.629 8 21321691.176 21321691.613 21321694.759
+ 2334.478 1819.079 48.050 44.930
+ 04 6 10 0 35 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25690022.257 9 -20007266.343 8 20336310.739 20336310.353 20336313.834
+ 98.060 76.411 51.870 48.750
+ -13088684.133 8 -10191340.383 8 22910146.909 22910147.056 22910151.175
+ 1470.991 1146.234 43.880 40.060
+ -7410054.181 8 -5762198.346 8 23340895.381 23340895.362 23340898.846
+ -3169.777 -2469.957 43.880 40.060
+ -14986234.072 8 -11662525.564 8 22173191.725 22173191.050 22173195.488
+ 1769.086 1378.506 45.270 42.150
+ -23331979.124 8 -18169057.765 8 20843359.734 20843359.138 20843363.401
+ -608.699 -474.315 49.790 48.750
+ -4018556.831 7 -3103427.955 7 24846973.289 24846972.642 24846976.834
+ 3181.930 2479.419 37.630 34.850
+ -12535285.583 8 -9727758.692 8 22387406.431 22387406.641 22387410.605
+ -2751.265 -2143.844 46.310 42.490
+ -20286933.465 8 -15788046.773 8 21308392.110 21308391.243 21308394.474
+ 2325.253 1811.883 48.400 45.620
+ 04 6 10 0 35 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25692731.532 9 -20009377.469 8 20335795.462 20335794.965 20335798.283
+ 82.569 64.336 51.870 48.750
+ -13132794.796 8 -10225712.413 8 22901753.056 22901752.818 22901757.599
+ 1469.519 1145.076 43.880 40.410
+ -7314921.633 8 -5688069.087 8 23358998.546 23358998.517 23359001.885
+ -3172.301 -2471.924 43.880 40.060
+ -15039093.434 8 -11703714.667 8 22163133.358 22163132.603 22163137.445
+ 1754.883 1367.438 45.620 42.490
+ -23313498.882 8 -18154657.567 8 20846876.063 20846875.551 20846880.272
+ -623.218 -485.626 49.440 48.750
+ -4113942.212 7 -3177754.204 7 24828821.477 24828822.404 24828825.564
+ 3177.103 2475.676 36.240 35.890
+ -12452639.500 8 -9663359.144 8 22403133.673 22403133.363 22403138.129
+ -2758.448 -2149.445 46.310 42.840
+ -20356550.154 8 -15842293.509 8 21295142.541 21295142.983 21295146.719
+ 2315.817 1804.532 48.050 45.270
+ 04 6 10 0 36 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25694977.828 9 -20011127.827 8 20335368.065 20335367.381 20335370.863
+ 67.213 52.376 51.870 48.750
+ -13176863.135 8 -10260051.420 8 22893368.111 22893367.793 22893371.537
+ 1468.220 1144.076 43.880 40.760
+ -7219716.947 8 -5613883.600 8 23377116.289 23377115.505 23377119.081
+ -3174.588 -2473.707 43.540 40.060
+ -15091527.095 8 -11744572.053 8 22153154.950 22153154.298 22153159.189
+ 1740.747 1356.426 45.620 42.150
+ -23294585.777 8 -18139920.074 8 20850475.599 20850474.742 20850479.145
+ -637.555 -496.800 49.440 48.750
+ -4209182.794 7 -3251967.728 7 24810701.309 24810700.718 24810700.075
+ 3172.312 2471.947 38.320 32.760
+ -12369781.928 8 -9598794.803 8 22418901.051 22418900.520 22418904.557
+ -2765.328 -2154.798 46.310 42.150
+ -20425885.262 8 -15896320.836 8 21281948.786 21281949.301 21281952.365
+ 2306.512 1797.280 48.050 44.930
+ 04 6 10 0 36 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25696760.317 9 -20012516.777 8 20335028.756 20335028.151 20335031.639
+ 51.637 40.231 51.870 48.750
+ -13220889.882 8 -10294358.010 8 22884989.327 22884988.900 22884993.130
+ 1466.729 1142.907 43.880 40.060
+ -7124443.174 8 -5539644.312 8 23395245.145 23395244.211 23395249.001
+ -3176.942 -2475.540 42.840 40.060
+ -15143532.598 8 -11785095.815 8 22143259.708 22143258.417 22143263.141
+ 1726.309 1345.171 45.620 42.490
+ -23275241.321 8 -18124846.459 8 20854156.198 20854155.794 20854160.428
+ -652.005 -508.059 49.440 48.750
+ -4304277.122 7 -3326067.331 7 24792603.880 24792604.206 24792604.928
+ 3167.272 2467.994 37.630 33.110
+ -12286715.638 8 -9534067.819 8 22434708.299 22434707.818 22434711.734
+ -2772.394 -2160.320 46.310 42.490
+ -20494936.744 8 -15950127.170 8 21268809.450 21268809.532 21268812.117
+ 2296.932 1789.811 48.400 45.270
+ 04 6 10 0 37 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25698077.655 9 -20013543.296 8 20334777.882 20334777.397 20334781.001
+ 36.188 28.193 51.870 48.750
+ -13264875.231 8 -10328632.358 8 22876618.898 22876619.366 22876623.505
+ 1465.422 1141.875 43.880 40.410
+ -7029103.016 8 -5465353.312 8 23413387.176 23413387.858 23413391.443
+ -3179.067 -2477.202 43.190 40.060
+ -15195107.064 8 -11825283.724 8 22133444.955 22133444.077 22133448.641
+ 1711.966 1333.996 45.620 42.490
+ -23255466.649 8 -18109437.639 8 20857919.115 20857918.786 20857923.222
+ -666.247 -519.162 49.440 48.750
+ -4399223.510 7 -3400051.537 7 24774535.298 24774535.892 24774538.865
+ 3162.450 2464.250 36.930 35.540
+ -12203442.845 8 -9469179.939 8 22450554.378 22450553.858 22450557.803
+ -2779.150 -2165.573 46.310 42.150
+ -20563701.953 8 -16003710.465 8 21255723.361 21255723.723 21255727.235
+ 2287.396 1782.379 48.400 45.620
+ 04 6 10 0 37 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25698929.055 9 -20014206.724 8 20334616.054 20334615.425 20334619.062
+ 20.636 16.081 51.870 48.750
+ -13308819.878 8 -10362874.960 8 22868257.253 22868257.129 22868261.138
+ 1464.139 1140.886 44.230 40.760
+ -6933699.367 8 -5391012.795 7 23431542.131 23431542.361 23431546.568
+ -3181.079 -2478.765 43.190 39.710
+ -15246247.507 8 -11865133.419 8 22123713.237 22123712.330 22123716.376
+ 1697.456 1322.693 45.620 42.150
+ -23235263.019 8 -18093694.543 8 20861764.079 20861763.500 20861767.839
+ -680.528 -530.281 49.440 48.750
+ -4494020.312 7 -3473919.203 7 24756497.483 24756497.297 24756499.759
+ 3157.357 2460.279 37.980 34.850
+ -12119966.220 8 -9404133.223 8 22466439.435 22466439.065 22466443.385
+ -2785.889 -2170.823 45.970 42.490
+ -20632178.471 8 -16057068.771 8 21242692.896 21242693.043 21242696.694
+ 2277.741 1774.862 48.400 45.620
+ 04 6 10 0 38 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25699313.264 9 -20014506.080 8 20334542.827 20334542.335 20334545.891
+ 4.993 3.892 51.870 48.750
+ -13352723.713 8 -10397085.720 8 22859902.637 22859902.633 22859905.890
+ 1462.691 1139.767 44.230 40.410
+ -6838235.192 8 -5316625.097 8 23449708.285 23449708.740 23449712.707
+ -3183.142 -2480.364 43.190 40.060
+ -15296951.131 8 -11904642.688 8 22114064.343 22114063.576 22114068.319
+ 1682.768 1311.250 45.620 42.490
+ -23214631.906 8 -18077618.314 8 20865689.895 20865689.373 20865693.964
+ -694.813 -541.414 49.440 48.750
+ -4588665.851 7 -3547668.988 7 24738486.910 24738486.447 24738488.482
+ 3152.308 2456.348 36.930 33.110
+ -12036288.291 8 -9338929.618 8 22482362.857 22482362.288 22482366.495
+ -2792.639 -2176.085 45.970 42.150
+ -20700363.881 8 -16110200.207 8 21229717.801 21229718.046 21229720.770
+ 2267.933 1767.224 48.750 45.270
+ 04 6 10 0 38 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25699229.465 9 -20014440.784 8 20334558.794 20334558.292 20334561.682
+ -10.673 -8.315 51.870 48.750
+ -13396587.579 8 -10431265.368 8 22851555.400 22851555.473 22851559.998
+ 1461.331 1138.705 44.580 41.100
+ -6742713.180 8 -5242192.353 8 23467886.447 23467885.882 23467889.465
+ -3185.050 -2481.859 43.540 40.060
+ -15347215.200 8 -11943809.488 8 22104499.518 22104498.925 22104503.323
+ 1668.043 1299.770 45.620 42.490
+ -23193574.586 8 -18061210.001 8 20869697.052 20869696.452 20869701.008
+ -709.021 -552.484 49.440 48.750
+ -4683158.429 7 -3621299.665 7 24720505.336 24720505.803 24720507.547
+ 3147.118 2452.300 37.980 34.150
+ -11952411.683 8 -9273571.224 8 22498322.775 22498323.307 22498327.293
+ -2799.247 -2181.236 45.620 41.800
+ -20768255.799 8 -16163103.003 8 21216798.713 21216798.826 21216801.134
+ 2258.066 1759.529 49.090 45.270
+ 04 6 10 0 39 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25698676.993 9 -20014010.283 8 20334663.811 20334663.280 20334666.903
+ -26.255 -20.454 51.870 48.750
+ -13440412.058 8 -10465414.277 8 22843216.003 22843215.942 22843220.384
+ 1460.076 1137.727 44.230 41.100
+ -6647136.419 8 -5167716.942 8 23486073.205 23486073.861 23486077.220
+ -3186.743 -2483.168 43.190 40.060
+ -15397037.454 8 -11982632.015 8 22095019.210 22095018.106 22095022.230
+ 1653.349 1288.327 45.970 42.490
+ -23172092.650 8 -18044470.820 8 20873784.695 20873784.408 20873788.648
+ -723.094 -563.446 49.440 48.750
+ -4777497.122 7 -3694810.322 7 24702551.705 24702552.326 24702555.657
+ 3141.988 2448.298 37.630 35.540
+ -11868338.822 8 -9208059.892 8 22514323.148 22514322.118 22514326.500
+ -2805.675 -2186.242 45.620 42.490
+ -20835851.866 8 -16215775.262 8 21203934.730 21203935.063 21203938.338
+ 2248.256 1751.886 48.750 45.620
+ 04 6 10 0 39 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25697654.690 9 -20013213.685 8 20334858.516 20334857.865 20334861.475
+ -41.957 -32.695 51.870 48.750
+ -13484197.035 8 -10499532.440 8 22834883.971 22834883.890 22834887.349
+ 1458.745 1136.683 44.580 40.760
+ -6551507.609 8 -5093200.976 8 23504271.082 23504271.269 23504274.693
+ -3188.473 -2484.526 43.190 40.060
+ -15446414.596 8 -12021107.699 8 22085622.445 22085621.555 22085626.627
+ 1638.423 1276.689 45.970 42.490
+ -23150187.339 8 -18027401.732 8 20877953.410 20877952.857 20877957.144
+ -737.230 -574.468 49.440 48.750
+ -4871679.996 7 -3768199.568 7 24684630.339 24684630.345 24684632.419
+ 3136.825 2444.279 37.630 33.460
+ -11784072.280 8 -9142397.664 8 22530357.754 22530357.094 22530361.795
+ -2812.145 -2191.286 45.620 42.150
+ -20903149.538 8 -16268214.987 8 21191128.003 21191128.666 21191132.270
+ 2238.209 1744.056 48.400 45.620
+ 04 6 10 0 40 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25696161.631 9 -20012050.265 8 20335142.431 20335141.988 20335145.628
+ -57.687 -44.947 51.870 48.750
+ -13527943.510 8 -10533620.566 8 22826558.975 22826559.071 22826563.520
+ 1457.396 1135.637 44.580 41.450
+ -6455829.702 8 -5018646.756 8 23522478.743 23522478.450 23522481.973
+ -3190.090 -2485.785 43.190 40.410
+ -15495344.307 8 -12059234.731 8 22076311.593 22076311.154 22076315.699
+ 1623.455 1265.037 45.970 42.840
+ -23127860.177 8 -18010003.933 8 20882202.431 20882201.704 20882205.974
+ -751.303 -585.429 49.790 48.750
+ -4965705.925 7 -3841466.602 7 24666738.296 24666738.241 24666740.299
+ 3131.439 2440.088 38.320 34.500
+ -11699614.714 8 -9076586.576 8 22546429.097 22546428.972 22546433.047
+ -2818.480 -2196.215 45.270 41.800
+ -20970146.503 8 -16320420.403 8 21178379.592 21178380.106 21178382.798
+ 2228.139 1736.214 48.750 45.620
+ 04 6 10 0 40 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25694196.859 9 -20010519.271 8 20335516.626 20335515.902 20335519.456
+ -73.355 -57.158 51.870 48.750
+ -13571651.502 8 -10567678.713 8 22818242.043 22818241.863 22818245.957
+ 1456.217 1134.715 44.580 40.760
+ -6360105.517 8 -4944056.477 8 23540694.449 23540693.967 23540697.552
+ -3191.551 -2486.926 43.190 40.060
+ -15543823.618 8 -12097010.815 8 22067087.532 22067086.166 22067090.231
+ 1608.468 1253.347 46.310 42.840
+ -23105112.526 8 -17992278.484 8 20886531.009 20886530.395 20886534.675
+ -765.193 -596.256 49.790 48.750
+ -5059573.019 7 -3914609.752 7 24648874.280 24648874.329 24648877.414
+ 3126.226 2436.000 37.280 35.200
+ -11614968.637 8 -9010628.597 8 22562537.427 22562536.595 22562540.879
+ -2824.626 -2201.011 45.270 41.800
+ -21036840.322 8 -16372389.606 8 21165687.852 21165688.309 21165691.027
+ 2218.070 1728.365 48.750 45.270
+ 04 6 10 0 41 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25691759.641 9 -20008620.133 8 20335980.126 20335979.616 20335983.241
+ -89.134 -69.457 51.870 48.750
+ -13615321.402 8 -10601707.167 8 22809930.907 22809931.347 22809935.277
+ 1454.926 1133.707 44.580 40.410
+ -6264337.883 8 -4869432.356 8 23558918.740 23558918.167 23558921.580
+ -3192.882 -2487.956 43.540 40.410
+ -15591850.018 8 -12134433.955 8 22057947.042 22057946.154 22057951.009
+ 1593.298 1241.533 45.970 42.840
+ -23081945.618 8 -17974226.328 8 20890939.373 20890938.888 20890943.090
+ -779.158 -607.136 49.790 48.750
+ -5153279.967 7 -3987628.173 7 24631043.808 24631044.164 24631045.186
+ 3120.846 2431.832 37.630 33.810
+ -11530136.450 8 -8944525.585 8 22578680.039 22578679.714 22578684.005
+ -2830.820 -2205.838 45.270 41.800
+ -21103228.575 8 -16424120.684 8 21153054.837 21153054.822 21153057.955
+ 2207.833 1720.387 48.400 45.620
+ 04 6 10 0 41 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25688848.929 9 -20006352.045 8 20336534.278 20336533.669 20336537.212
+ -104.828 -81.686 51.870 48.750
+ -13658953.891 8 -10635706.477 8 22801629.567 22801629.062 22801632.891
+ 1453.814 1132.839 44.930 40.760
+ -6168529.657 8 -4794776.575 8 23577149.742 23577149.800 23577153.327
+ -3194.153 -2488.952 43.540 40.060
+ -15639420.744 8 -12171502.034 8 22048894.275 22048893.919 22048898.045
+ 1578.176 1229.745 45.970 42.490
+ -23058361.099 8 -17955848.775 8 20895427.718 20895426.962 20895431.103
+ -792.971 -617.899 49.790 48.750
+ -5246824.920 7 -4060520.394 7 24613243.228 24613242.981 24613244.325
+ 3115.562 2427.709 37.980 35.540
+ -11445120.349 8 -8878279.286 8 22594856.590 22594857.433 22594862.335
+ -2836.808 -2210.500 45.270 42.150
+ -21169308.765 8 -16475611.719 8 21140480.748 21140480.546 21140483.459
+ 2197.608 1712.422 48.750 45.620
+ 04 6 10 0 42 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25685463.816 9 -20003714.290 8 20337178.074 20337177.741 20337181.239
+ -120.588 -93.965 51.870 48.750
+ -13702548.966 8 -10669676.640 8 22793332.453 22793332.372 22793336.268
+ 1452.652 1131.933 44.580 40.410
+ -6072683.717 8 -4720091.424 7 23595389.117 23595388.794 23595391.986
+ -3195.300 -2489.846 43.540 39.370
+ -15686533.206 8 -12208213.039 8 22039930.449 22039929.108 22039933.528
+ 1562.896 1217.838 45.970 42.840
+ -23034360.311 8 -17937146.846 8 20899994.740 20899994.343 20899998.327
+ -806.710 -628.603 49.790 48.750
+ -5340206.726 7 -4133285.439 7 24595473.298 24595473.275 24595475.955
+ 3110.149 2423.484 38.320 36.590
+ -11359923.100 8 -8811891.822 8 22611070.602 22611070.307 22611074.203
+ -2842.762 -2215.135 45.620 41.800
+ -21235078.518 8 -16526860.875 8 21127964.955 21127965.094 21127968.005
+ 2187.277 1704.374 48.750 45.620
+ 04 6 10 0 42 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25681603.676 9 -20000706.388 8 20337913.084 20337912.401 20337915.887
+ -136.706 -106.523 51.870 48.750
+ -13746107.362 8 -10703618.260 8 22785044.164 22785044.172 22785047.626
+ 1451.142 1130.760 44.930 40.760
+ -5976802.713 8 -4645378.934 7 23613633.626 23613633.585 23613637.163
+ -3196.693 -2490.932 42.840 39.020
+ -15733184.669 8 -12244564.807 8 22031052.086 22031050.860 22031055.960
+ 1547.236 1205.639 45.970 43.190
+ -23009944.845 9 -17918121.793 8 20904640.392 20904640.267 20904644.504
+ -820.856 -639.631 50.140 48.750
+ -5433423.445 7 -4205921.849 7 24577734.389 24577733.950 24577736.285
+ 3104.358 2418.986 37.980 35.200
+ -11274547.111 8 -8745365.081 8 22627315.824 22627316.767 22627321.682
+ -2848.947 -2219.960 45.620 42.150
+ -21300535.536 8 -16577866.334 8 21115507.883 21115508.584 21115511.920
+ 2176.536 1696.001 49.090 45.620
+ 04 6 10 0 43 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25677267.613 9 -19997327.633 8 20338737.832 20338737.313 20338740.993
+ -152.569 -118.885 51.870 48.750
+ -13789629.578 8 -10737531.658 8 22776761.482 22776761.434 22776765.855
+ 1449.949 1129.831 44.580 41.100
+ -5880889.709 8 -4570641.535 7 23631884.452 23631885.027 23631888.788
+ -3197.683 -2491.707 42.490 39.020
+ -15779372.882 8 -12280555.601 8 22022262.071 22022261.708 22022266.243
+ 1531.770 1193.586 45.970 42.840
+ -22985116.027 9 -17898774.649 8 20909366.002 20909365.229 20909369.170
+ -834.575 -650.317 50.140 48.750
+ -5526473.878 7 -4278428.695 7 24560028.456 24560028.391 24560030.037
+ 3098.771 2414.628 39.020 35.540
+ -11188995.173 8 -8678701.248 8 22643597.998 22643596.869 22643600.825
+ -2854.736 -2224.474 45.620 41.800
+ -21365677.321 8 -16628626.172 8 21103112.909 21103112.953 21103115.519
+ 2166.067 1687.842 49.090 45.620
+ 04 6 10 0 43 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25672454.713 9 -19993577.318 8 20339653.842 20339653.195 20339656.738
+ -168.429 -131.249 51.870 48.750
+ -13833115.605 8 -10771416.864 8 22768486.917 22768486.893 22768489.907
+ 1448.823 1128.952 44.580 40.760
+ -5784947.588 8 -4495881.422 7 23650141.938 23650142.443 23650146.559
+ -3198.559 -2492.388 42.150 39.370
+ -15825095.080 8 -12316183.282 8 22013562.301 22013561.253 22013565.487
+ 1516.232 1181.474 46.310 42.840
+ -22959875.589 9 -17879106.761 8 20914168.415 20914168.121 20914172.082
+ -848.209 -660.948 50.140 48.750
+ -5619356.850 7 -4350805.093 7 24542353.681 24542352.634 24542355.801
+ 3093.254 2410.318 39.710 35.890
+ -11103269.669 8 -8611902.147 8 22659910.666 22659910.000 22659914.061
+ -2860.459 -2228.930 45.620 41.450
+ -21430501.595 8 -16679138.594 8 21090777.184 21090777.570 21090780.119
+ 2155.429 1679.553 49.440 45.620
+ 04 6 10 0 44 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25667164.113 9 -19989454.778 8 20340660.434 20340660.002 20340663.603
+ -184.248 -143.571 51.870 48.750
+ -13876565.743 8 -10805274.093 8 22760218.613 22760218.428 22760222.944
+ 1447.761 1128.115 44.580 41.450
+ -5688978.841 8 -4421100.579 7 23668405.325 23668404.681 23668408.102
+ -3199.263 -2492.935 42.150 39.370
+ -15870348.511 8 -12351445.700 8 22004950.524 22004949.823 22004954.440
+ 1500.704 1169.382 46.310 42.840
+ -22934224.795 9 -17859119.121 8 20919050.033 20919049.473 20919053.276
+ -861.722 -671.473 50.140 48.400
+ -5712070.491 7 -4423049.498 7 24524709.515 24524709.730 24524711.875
+ 3087.717 2406.014 39.020 36.240
+ -11017372.733 8 -8544969.481 8 22676255.185 22676255.265 22676259.812
+ -2865.965 -2233.221 45.270 41.800
+ -21495005.824 8 -16729401.641 8 21078502.621 21078502.631 21078505.475
+ 2144.846 1671.306 49.440 45.970
+ 04 6 10 0 44 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25661395.005 9 -19984959.394 8 20341758.540 20341757.938 20341761.545
+ -200.268 -156.057 51.870 48.750
+ -13919980.224 8 -10839103.511 8 22751957.125 22751957.283 22751960.637
+ 1446.442 1127.093 44.580 40.760
+ -5592986.314 8 -4346301.211 7 23686670.115 23686671.071 23686674.763
+ -3200.133 -2493.615 42.490 39.020
+ -15915130.661 8 -12386340.884 8 21996427.842 21996427.722 21996432.662
+ 1484.861 1157.024 45.970 43.190
+ -22908165.235 9 -17838812.977 8 20924009.463 20924008.528 20924012.339
+ -875.400 -682.133 50.140 48.750
+ -5804613.234 7 -4495160.772 7 24507098.743 24507098.972 24507102.351
+ 3081.916 2401.477 39.020 36.240
+ -10931306.869 8 -8477905.209 8 22692633.631 22692633.199 22692637.587
+ -2871.628 -2237.632 45.270 41.800
+ -21559187.385 8 -16779413.267 8 21066288.550 21066289.006 21066292.060
+ 2133.974 1662.830 49.440 45.970
+ 04 6 10 0 45 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25655146.764 9 -19980090.640 8 20342947.168 20342946.751 20342950.381
+ -216.100 -168.392 51.870 48.750
+ -13963359.904 8 -10872905.821 8 22743701.424 22743701.768 22743705.179
+ 1445.466 1126.336 44.580 40.760
+ -5496973.038 8 -4271485.649 7 23704942.361 23704942.333 23704945.750
+ -3200.596 -2493.968 43.190 39.020
+ -15959439.128 8 -12420866.948 8 21987997.453 21987996.609 21988001.097
+ 1469.217 1144.845 46.310 43.190
+ -22881698.277 9 -17818189.364 8 20929044.818 20929044.746 20929048.690
+ -888.804 -692.576 50.140 48.400
+ -5896983.660 7 -4567137.760 7 24489522.700 24489522.410 24489524.218
+ 3076.372 2397.177 39.020 35.200
+ -10845075.059 8 -8410711.603 8 22709042.762 22709042.872 22709047.236
+ -2877.010 -2241.825 45.270 41.800
+ -21623044.070 8 -16829171.721 8 21054137.835 21054137.494 21054140.076
+ 2123.267 1654.492 49.090 45.970
+ 04 6 10 0 45 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25648419.031 9 -19974848.227 8 20344227.550 20344226.976 20344230.731
+ -232.107 -180.863 51.530 48.750
+ -14006705.019 8 -10906681.125 8 22735453.759 22735453.702 22735457.892
+ 1444.329 1125.445 44.580 41.100
+ -5400942.030 8 -4196656.227 7 23723216.487 23723216.784 23723220.107
+ -3201.145 -2494.399 43.540 39.370
+ -16003271.407 8 -12455021.934 8 21979656.739 21979656.147 21979659.868
+ 1453.241 1132.389 46.310 43.190
+ -22854825.620 9 -17797249.598 8 20934159.124 20934158.514 20934162.505
+ -902.291 -703.085 50.140 48.750
+ -5989180.583 7 -4638979.544 7 24471977.853 24471977.011 24471979.349
+ 3070.457 2392.550 38.320 34.500
+ -10758679.484 8 -8343390.359 8 22725483.105 22725482.754 22725487.405
+ -2882.398 -2246.026 45.270 41.800
+ -21686573.571 8 -16878675.199 8 21042048.198 21042048.254 21042050.939
+ 2112.314 1645.958 49.090 45.970
+ 04 6 10 0 46 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25641210.704 9 -19969231.353 8 20345599.531 20345598.749 20345602.420
+ -248.317 -193.494 51.530 48.750
+ -14050015.858 8 -10940429.791 8 22727211.509 22727211.673 22727215.275
+ 1443.024 1124.427 44.580 40.760
+ -5304895.948 8 -4121815.096 7 23741493.293 23741493.284 23741497.048
+ -3201.790 -2494.903 43.190 39.710
+ -16046624.783 8 -12488803.778 8 21971406.221 21971405.225 21971410.214
+ 1437.071 1119.796 46.310 42.840
+ -22827548.908 8 -17775995.004 8 20939349.133 20939348.961 20939353.061
+ -915.934 -713.716 49.790 48.400
+ -6081202.263 7 -4710684.783 7 24454467.008 24454466.847 24454469.255
+ 3064.341 2387.800 37.980 35.890
+ -10672122.091 8 -8275943.064 8 22741955.321 22741955.005 22741959.096
+ -2887.900 -2250.314 44.930 41.800
+ -21749773.358 8 -16927921.780 8 21030021.730 21030021.713 21030024.865
+ 2101.106 1637.224 49.090 46.310
+ 04 6 10 0 46 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25633521.047 9 -19963239.440 8 20347062.812 20347062.085 20347065.758
+ -264.474 -206.088 51.870 48.750
+ -14093292.707 8 -10974152.016 8 22718977.487 22718977.036 22718980.737
+ 1441.774 1123.457 44.930 41.450
+ -5208837.220 8 -4046964.167 7 23759774.209 23759773.023 23759776.268
+ -3202.256 -2495.269 42.840 39.710
+ -16089496.985 8 -12522210.716 8 21963247.957 21963247.326 21963251.193
+ 1420.918 1107.209 46.310 42.840
+ -22799869.542 8 -17754426.686 8 20944616.803 20944616.271 20944620.377
+ -929.434 -724.237 49.790 48.400
+ -6173047.270 7 -4782252.374 7 24436988.395 24436988.998 24436991.519
+ 3058.453 2383.211 38.320 35.540
+ -10585405.882 8 -8208372.037 8 22758456.824 22758456.380 22758460.350
+ -2893.277 -2254.503 45.270 41.450
+ -21812641.059 8 -16976909.609 8 21018058.121 21018058.174 21018061.485
+ 2089.896 1628.486 49.090 46.310
+ 04 6 10 0 47 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25625349.387 9 -19956871.914 8 20348617.822 20348617.195 20348620.713
+ -280.384 -218.479 51.870 48.750
+ -14136535.820 8 -11007847.902 8 22710747.816 22710747.370 22710751.600
+ 1440.859 1122.747 44.930 41.450
+ -5112768.816 8 -3972105.653 7 23778054.572 23778054.307 23778057.694
+ -3202.341 -2495.330 42.490 39.020
+ -16131885.674 8 -12555240.851 8 21955181.582 21955181.089 21955185.170
+ 1404.912 1094.740 46.310 42.840
+ -22771789.180 8 -17732545.873 8 20949960.441 20949959.686 20949963.859
+ -942.590 -734.484 49.790 48.400
+ -6264714.471 7 -4853681.407 7 24419546.443 24419544.656 24419547.020
+ 3052.621 2378.668 37.980 34.850
+ -10498533.321 8 -8140679.149 8 22774987.438 22774987.259 22774991.978
+ -2898.311 -2258.424 44.930 41.450
+ -21875174.224 8 -17025636.729 8 21006158.588 21006158.592 21006161.468
+ 2078.905 1619.926 49.090 45.970
+ 04 6 10 0 47 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25616695.107 9 -19950128.298 8 20350264.218 20350263.880 20350267.672
+ -296.511 -231.045 51.870 48.750
+ -14179745.643 8 -11041517.847 8 22702525.324 22702525.358 22702529.066
+ 1439.684 1121.826 44.930 41.450
+ -5016693.527 8 -3897241.761 7 23796337.003 23796337.136 23796339.269
+ -3202.580 -2495.516 42.490 38.320
+ -16173788.085 8 -12587892.059 8 21947208.886 21947207.943 21947211.480
+ 1388.644 1082.061 46.660 43.190
+ -22743309.288 8 -17710353.716 8 20955379.503 20955378.912 20955383.167
+ -955.917 -744.873 49.790 48.400
+ -6356202.184 7 -4924970.571 7 24402136.271 24402136.127 24402137.437
+ 3046.563 2373.945 38.320 35.200
+ -10411506.552 8 -8072866.072 8 22791548.929 22791548.575 22791552.256
+ -2903.420 -2262.405 44.930 41.450
+ -21937370.574 8 -17074101.390 8 20994322.756 20994323.119 20994325.696
+ 2067.586 1611.111 49.090 45.970
+ 04 6 10 0 48 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25607557.363 9 -19943007.981 8 20352003.708 20352002.749 20352006.426
+ -312.643 -243.615 51.530 48.750
+ -14222922.280 8 -11075161.926 8 22694308.358 22694308.320 22694313.013
+ 1438.609 1120.992 44.930 41.800
+ -4920614.083 8 -3822374.643 7 23814620.208 23814619.803 23814622.757
+ -3202.640 -2495.555 41.800 38.320
+ -16215201.928 8 -12620162.563 8 21939326.698 21939326.050 21939330.725
+ 1372.336 1069.354 46.660 42.840
+ -22714431.453 8 -17687851.489 8 20960875.039 20960874.418 20960878.585
+ -969.142 -755.175 49.790 48.400
+ -6447509.090 7 -4996118.879 7 24384761.127 24384760.528 24384762.528
+ 3040.583 2369.297 39.020 35.200
+ -10324328.179 8 -8004934.866 8 22808138.062 22808137.683 22808141.302
+ -2908.433 -2266.309 44.930 40.760
+ -21999227.535 8 -17122301.609 8 20982551.520 20982551.861 20982555.270
+ 2056.228 1602.260 49.090 45.970
+ 04 6 10 0 48 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25597935.716 9 -19935510.604 8 20353834.497 20353833.695 20353837.403
+ -328.882 -256.268 51.530 48.750
+ -14266066.537 8 -11108780.797 8 22686098.793 22686098.334 22686102.005
+ 1437.407 1120.063 44.930 41.450
+ -4824533.209 8 -3747506.421 7 23832903.383 23832903.184 23832906.363
+ -3202.773 -2495.660 41.800 37.980
+ -16256124.840 8 -12652050.545 8 21931540.667 21931539.291 21931543.434
+ 1355.805 1056.469 46.660 42.840
+ -22685157.468 8 -17665040.589 8 20966445.576 20966444.986 20966449.283
+ -982.424 -765.522 49.440 48.400
+ -6538633.579 7 -5067125.066 7 24367419.305 24367419.609 24367422.290
+ 3034.400 2364.470 39.370 34.850
+ -10237000.483 8 -7936887.338 8 22824755.627 22824755.324 22824760.022
+ -2913.463 -2270.227 44.930 41.450
+ -22060742.755 8 -17170235.532 8 20970845.366 20970846.023 20970849.329
+ 2044.710 1593.284 49.090 46.310
+ 04 6 10 0 49 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25587829.602 9 -19927635.710 8 20355757.625 20355756.892 20355760.474
+ -345.003 -268.833 51.530 48.750
+ -14309177.979 8 -11142374.058 8 22677893.878 22677894.351 22677898.567
+ 1436.330 1119.212 44.930 41.450
+ -4728453.557 8 -3672639.147 7 23851187.816 23851187.522 23851189.606
+ -3202.621 -2495.558 42.490 37.630
+ -16296554.421 8 -12683554.101 8 21923845.534 21923845.130 21923850.039
+ 1339.328 1043.629 46.660 42.840
+ -22655488.737 8 -17641922.098 8 20972091.241 20972090.524 20972094.959
+ -995.519 -775.729 49.440 48.400
+ -6629574.336 7 -5137988.080 7 24350115.210 24350114.599 24350116.739
+ 3028.218 2359.651 39.710 35.540
+ -10149526.045 8 -7868725.443 8 22841402.185 22841401.508 22841405.208
+ -2918.287 -2273.990 44.930 40.760
+ -22121913.951 8 -17217901.384 8 20959205.779 20959205.752 20959208.639
+ 2033.207 1584.319 49.440 46.310
+ 04 6 10 0 49 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25577238.364 9 -19919382.801 8 20357772.729 20357772.331 20357775.965
+ -361.012 -281.307 51.530 48.750
+ -14352257.225 8 -11175942.208 8 22669697.363 22669697.044 22669700.377
+ 1435.501 1118.572 44.930 41.450
+ -4632378.124 8 -3597775.135 7 23869469.646 23869469.456 23869472.652
+ -3202.281 -2495.282 43.190 37.630
+ -16336488.453 8 -12714671.527 8 21916247.835 21916246.525 21916250.536
+ 1322.976 1030.894 46.660 43.190
+ -22625427.092 8 -17618497.430 8 20977811.588 20977811.144 20977815.749
+ -1008.457 -785.811 49.440 48.400
+ -6720330.037 7 -5208706.908 7 24332845.401 24332844.277 24332846.230
+ 3022.211 2354.962 39.710 34.850
+ -10061907.417 8 -7800451.195 8 22858074.671 22858074.201 22858078.938
+ -2922.888 -2277.576 44.580 41.100
+ -22182738.897 8 -17265297.439 8 20947630.942 20947631.185 20947633.880
+ 2021.822 1575.448 49.440 46.310
+ 04 6 10 0 50 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25566161.691 9 -19910751.624 8 20359881.013 20359880.196 20359883.928
+ -377.181 -293.903 51.530 48.750
+ -14395304.983 8 -11209485.862 8 22661504.909 22661504.899 22661508.974
+ 1434.434 1117.746 44.930 41.450
+ -4536309.530 8 -3522916.448 7 23887750.643 23887750.452 23887753.991
+ -3201.973 -2495.043 43.190 37.980
+ -16375924.607 8 -12745400.978 8 21908741.323 21908741.139 21908746.736
+ 1306.348 1017.941 46.310 43.190
+ -22594974.034 8 -17594767.768 8 20983607.155 20983606.212 20983610.589
+ -1021.440 -795.926 49.440 48.400
+ -6810898.867 7 -5279280.130 7 24315609.602 24315609.571 24315612.924
+ 3015.982 2350.115 39.370 36.240
+ -9974146.889 8 -7732066.376 8 22874774.946 22874775.033 22874778.385
+ -2927.530 -2281.187 44.580 40.410
+ -22243215.058 8 -17312421.707 8 20936121.730 20936122.709 20936125.545
+ 2010.187 1566.384 49.790 46.310
+ 04 6 10 0 50 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25554598.641 9 -19901741.461 8 20362080.618 20362080.397 20362084.232
+ -393.501 -306.623 51.530 48.750
+ -14438320.979 8 -11243004.777 8 22653320.274 22653319.627 22653323.471
+ 1433.311 1116.866 45.270 41.800
+ -4440250.371 8 -3448065.134 7 23906029.737 23906029.460 23906032.772
+ -3201.739 -2494.851 42.490 37.980
+ -16414860.159 8 -12775740.370 8 21901333.989 21901332.917 21901336.664
+ 1289.533 1004.832 46.660 43.190
+ -22564131.208 8 -17570734.397 8 20989476.027 20989475.383 20989479.915
+ -1034.480 -806.086 49.440 48.400
+ -6901280.066 7 -5349707.105 7 24298411.618 24298411.426 24298413.176
+ 3009.625 2345.175 39.370 35.890
+ -9886246.575 8 -7663572.631 8 22891501.542 22891501.419 22891506.256
+ -2932.271 -2284.880 44.230 41.100
+ -22303339.932 8 -17359272.245 8 20924681.470 20924681.613 20924684.476
+ 1998.321 1557.133 49.790 46.310
+ 04 6 10 0 51 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25542548.863 9 -19892352.029 8 20364374.300 20364373.540 20364377.098
+ -409.772 -319.303 51.530 48.750
+ -14481305.872 8 -11276499.466 8 22645140.283 22645139.857 22645143.730
+ 1432.233 1116.018 45.270 41.800
+ -4344203.804 8 -3373223.614 7 23924306.739 23924306.390 23924310.531
+ -3201.344 -2494.558 41.450 38.670
+ -16453293.107 8 -12805688.113 8 21894020.055 21894019.010 21894023.303
+ 1272.710 991.717 46.660 43.190
+ -22532900.440 8 -17546398.734 8 20995418.986 20995418.456 20995422.702
+ -1047.440 -816.189 49.440 48.400
+ -6991471.978 7 -5419986.604 7 24281249.768 24281248.328 24281249.987
+ 3003.340 2340.277 39.710 35.200
+ -9798209.172 8 -7594972.079 8 22908254.433 22908254.812 22908258.430
+ -2936.834 -2288.442 44.230 40.410
+ -22363111.196 8 -17405847.238 8 20913307.168 20913307.453 20913310.414
+ 1986.469 1547.897 49.790 46.660
+ 04 6 10 0 51 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25530011.807 9 -19882582.926 8 20366759.924 20366759.200 20366763.035
+ -426.031 -331.958 51.530 48.750
+ -14524259.811 8 -11309970.056 8 22636966.041 22636965.924 22636970.209
+ 1431.233 1115.258 45.270 42.150
+ -4248172.230 8 -3298393.829 7 23942580.215 23942580.569 23942584.717
+ -3200.768 -2494.091 41.100 39.020
+ -16491220.883 8 -12835242.247 8 21886802.786 21886801.956 21886806.220
+ 1255.841 978.593 46.660 43.190
+ -22501283.178 8 -17521761.934 8 21001435.504 21001435.066 21001439.362
+ -1060.272 -826.175 49.440 48.400
+ -7081473.149 7 -5490117.481 7 24264121.845 24264122.033 24264123.112
+ 2996.835 2335.215 39.020 35.540
+ -9710037.098 8 -7526266.592 8 22925032.337 22925033.288 22925037.775
+ -2941.267 -2291.885 44.230 40.760
+ -22422526.544 8 -17452144.918 8 20902000.878 20902000.988 20902004.063
+ 1974.558 1538.628 49.790 46.660
+ 04 6 10 0 52 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25516986.714 9 -19872433.497 8 20369237.987 20369237.810 20369241.547
+ -442.299 -344.653 51.530 48.750
+ -14567183.009 8 -11343416.633 8 22628797.220 22628797.569 22628801.197
+ 1430.143 1114.396 44.930 41.800
+ -4152158.322 8 -3223577.768 7 23960852.433 23960851.528 23960855.381
+ -3200.169 -2493.648 41.100 39.020
+ -16528641.466 8 -12864401.123 8 21879681.409 21879680.766 21879684.626
+ 1238.861 965.347 46.660 42.840
+ -22469281.154 8 -17496825.286 8 21007525.415 21007524.811 21007528.906
+ -1073.097 -836.184 49.440 48.050
+ -7171282.156 7 -5560098.604 7 24247031.861 24247032.370 24247035.090
+ 2990.404 2330.196 39.370 36.590
+ -9621732.745 8 -7457458.024 8 22941836.997 22941837.035 22941841.406
+ -2945.643 -2295.308 44.230 40.760
+ -22481583.682 8 -17498163.441 8 20890762.651 20890762.762 20890765.407
+ 1962.560 1529.264 49.790 46.310
+ 04 6 10 0 52 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25503473.411 9 -19861903.654 8 20371809.920 20371809.411 20371812.843
+ -458.585 -357.341 51.530 48.750
+ -14610075.549 8 -11376839.366 8 22620636.115 22620635.800 22620639.342
+ 1429.171 1113.646 44.930 41.800
+ -4056164.878 8 -3148777.648 7 23979119.088 23979118.660 23979122.345
+ -3199.367 -2493.013 40.760 38.670
+ -16565552.531 8 -12893162.980 8 21872657.956 21872656.808 21872661.399
+ 1221.862 952.095 46.660 43.190
+ -22436895.916 8 -17471590.027 8 21013688.418 21013687.699 21013691.720
+ -1085.817 -846.093 49.440 48.050
+ -7260897.930 7 -5629929.121 7 24229978.059 24229977.952 24229980.718
+ 2983.872 2325.091 38.320 35.890
+ -9533298.222 8 -7388548.017 8 22958665.676 22958665.875 22958669.237
+ -2949.927 -2298.647 44.230 40.410
+ -22540280.001 8 -17543900.821 8 20879592.915 20879593.359 20879595.858
+ 1950.528 1519.894 49.790 46.310
+ 04 6 10 0 53 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25489471.290 9 -19850992.885 8 20374474.533 20374473.919 20374477.495
+ -474.925 -370.075 51.530 48.750
+ -14652937.977 8 -11410238.592 8 22612478.484 22612478.900 22612482.566
+ 1428.098 1112.803 44.930 41.450
+ -3960194.626 8 -3073995.578 7 23997381.239 23997381.124 23997384.605
+ -3198.646 -2492.461 40.760 38.670
+ -16601951.976 8 -12921526.152 8 21865731.268 21865730.298 21865734.589
+ 1204.712 938.732 47.010 43.190
+ -22404129.417 8 -17446057.665 8 21019923.614 21019922.868 21019927.058
+ -1098.575 -856.038 49.790 48.050
+ -7350318.741 7 -5699607.744 7 24212964.364 24212962.594 24212964.972
+ 2977.368 2320.031 39.020 35.890
+ -9444736.082 8 -7319538.547 8 22975518.655 22975518.354 22975522.794
+ -2954.249 -2302.006 44.230 40.760
+ -22598613.553 8 -17589355.498 8 20868492.334 20868492.838 20868495.665
+ 1938.317 1510.373 49.790 46.660
+ 04 6 10 0 53 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25474980.257 9 -19839701.166 8 20377232.047 20377231.444 20377235.059
+ -491.116 -382.689 51.530 48.750
+ -14695770.752 8 -11443614.745 8 22604327.945 22604327.851 22604332.150
+ 1427.239 1112.137 44.930 41.450
+ -3864250.406 8 -2999233.822 7 24015639.082 24015638.339 24015642.268
+ -3197.628 -2491.664 40.410 38.670
+ -16637837.489 8 -12949488.878 8 21858901.680 21858901.090 21858905.978
+ 1187.677 925.457 46.660 43.540
+ -22370983.308 8 -17420229.520 8 21026230.837 21026230.414 21026234.549
+ -1111.056 -865.760 49.790 48.050
+ -7439543.539 7 -5769133.638 7 24195984.117 24195983.132 24195985.848
+ 2970.985 2315.046 39.370 36.590
+ -9356048.733 8 -7250431.534 8 22992395.018 22992395.124 22992399.060
+ -2958.216 -2305.105 44.230 40.760
+ -22656581.746 8 -17634525.500 8 20857461.536 20857461.646 20857464.743
+ 1926.228 1500.954 49.790 46.660
+ 04 6 10 0 54 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25459999.682 9 -19828027.990 8 20380082.621 20380082.017 20380085.806
+ -507.450 -395.418 51.530 48.750
+ -14738573.498 8 -11476967.485 8 22596182.535 22596182.714 22596186.793
+ 1426.256 1111.361 44.930 41.450
+ -3768334.688 8 -2924494.272 7 24033891.865 24033891.086 24033894.775
+ -3196.580 -2490.857 40.760 38.670
+ -16673206.927 8 -12977049.470 8 21852171.676 21852170.936 21852175.216
+ 1170.436 912.021 46.660 43.190
+ -22337459.099 8 -17394106.750 8 21032610.169 21032609.859 21032614.082
+ -1123.636 -875.566 49.790 48.050
+ -7528570.661 8 -5838505.485 7 24179043.532 24179042.701 24179044.272
+ 2964.305 2309.858 40.410 35.890
+ -9267238.340 8 -7181228.645 8 23009294.968 23009294.972 23009299.882
+ -2962.317 -2308.300 44.230 40.760
+ -22714182.162 8 -17679408.917 8 20846499.645 20846500.243 20846503.475
+ 1913.931 1491.370 49.790 46.660
+ 04 6 10 0 54 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25444528.885 9 -19815972.825 8 20383027.222 20383026.176 20383029.754
+ -523.749 -408.120 51.530 48.750
+ -14781346.648 8 -11510297.146 8 22588043.012 22588042.927 22588047.091
+ 1425.336 1110.654 44.580 41.800
+ -3672450.054 8 -2849778.946 7 24052137.515 24052137.252 24052140.674
+ -3195.568 -2490.054 41.100 38.320
+ -16708058.019 8 -13004206.169 8 21845540.760 21845539.592 21845543.502
+ 1153.161 898.567 47.010 43.540
+ -22303558.704 8 -17367690.860 8 21039061.980 21039060.949 21039064.810
+ -1136.112 -885.286 49.790 48.050
+ -7617399.286 8 -5907722.694 7 24162140.081 24162138.773 24162141.094
+ 2957.705 2304.709 41.100 35.890
+ -9178307.428 8 -7111931.859 8 23026219.421 23026218.787 23026222.254
+ -2966.226 -2311.344 44.230 40.410
+ -22771412.502 8 -17724003.971 8 20835609.392 20835609.888 20835612.730
+ 1901.601 1481.765 49.440 46.660
+ 04 6 10 0 55 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25428567.671 9 -19803535.537 8 20386063.825 20386063.487 20386067.239
+ -540.154 -420.901 51.530 48.750
+ -14824090.562 8 -11543604.045 8 22579909.512 22579908.893 22579913.559
+ 1424.281 1109.822 44.580 41.800
+ -3576599.440 8 -2775090.147 7 24070376.488 24070377.079 24070380.609
+ -3194.360 -2489.115 41.450 38.320
+ -16742388.797 8 -13030957.435 8 21839007.531 21839006.244 21839010.478
+ 1135.717 884.971 47.010 43.540
+ -22269283.811 8 -17340983.172 8 21045583.827 21045583.360 21045587.341
+ -1148.619 -895.031 49.790 48.050
+ -7706027.910 8 -5976784.062 7 24145272.663 24145273.002 24145276.372
+ 2951.002 2299.474 40.760 35.890
+ -9089258.386 8 -7042543.022 8 23043162.770 23043163.024 23043167.509
+ -2970.213 -2314.457 44.230 40.410
+ -22828270.561 8 -17768308.963 8 20824790.643 20824790.215 20824793.139
+ 1889.096 1472.020 49.790 46.660
+ 04 6 10 0 55 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25412115.773 9 -19790715.874 8 20389194.792 20389194.159 20389197.743
+ -556.646 -433.749 51.530 48.750
+ -14866805.376 8 -11576888.237 8 22571780.303 22571780.923 22571785.013
+ 1423.161 1108.955 44.580 41.800
+ -3480785.402 8 -2700429.821 7 24088610.010 24088609.909 24088613.208
+ -3193.244 -2488.256 41.450 37.630
+ -16776196.857 8 -13057301.372 8 21832573.113 21832572.391 21832576.535
+ 1118.151 871.288 47.010 43.190
+ -22234636.246 8 -17313985.068 8 21052177.474 21052176.523 21052180.409
+ -1161.147 -904.793 49.790 48.050
+ -7794454.956 8 -6045688.322 7 24128446.506 24128446.385 24128449.026
+ 2944.112 2294.124 40.760 36.590
+ -9000093.246 8 -6973063.707 8 23060132.249 23060131.307 23060135.324
+ -2974.149 -2317.526 43.880 40.410
+ -22884753.847 8 -17812321.904 8 20814041.401 20814041.767 20814044.618
+ 1876.432 1462.155 49.790 46.660
+ 04 6 10 0 56 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25395172.765 9 -19777513.506 8 20392418.900 20392418.168 20392422.065
+ -573.000 -446.496 51.530 48.750
+ -14909491.407 8 -11610150.006 8 22563658.745 22563658.152 22563661.780
+ 1422.199 1108.203 44.930 41.450
+ -3385010.546 8 -2625799.998 7 24106834.814 24106835.379 24106838.292
+ -3191.905 -2487.199 41.800 37.630
+ -16809480.401 8 -13083236.570 8 21826239.420 21826238.792 21826243.260
+ 1100.626 857.629 47.010 43.190
+ -22199617.612 8 -17286697.788 8 21058840.816 21058840.180 21058844.358
+ -1173.483 -914.404 49.790 48.050
+ -7882679.377 8 -6114434.632 7 24111657.832 24111657.376 24111660.094
+ 2937.350 2288.842 40.760 36.240
+ -8910814.728 8 -6903496.028 8 23077120.215 23077120.275 23077125.260
+ -2977.877 -2320.417 43.880 40.410
+ -22940860.033 8 -17856040.968 8 20803364.833 20803365.076 20803368.129
+ 1863.835 1452.339 49.790 46.660
+ 04 6 10 0 56 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25377738.314 9 -19763928.217 8 20395736.639 20395735.992 20395739.438
+ -589.385 -459.260 51.530 48.750
+ -14952148.910 8 -11643389.540 8 22555540.492 22555540.782 22555544.341
+ 1421.354 1107.548 44.930 41.450
+ -3289277.679 8 -2551202.909 7 24125052.562 24125052.674 24125055.980
+ -3190.457 -2486.078 41.800 37.630
+ -16842237.151 8 -13108761.305 8 21820006.980 21820006.054 21820009.659
+ 1083.054 843.939 47.010 43.540
+ -22164229.685 8 -17259122.773 8 21065574.718 21065574.318 21065578.345
+ -1185.717 -923.937 49.440 48.050
+ -7970699.712 8 -6183021.956 7 24094907.643 24094908.245 24094910.080
+ 2930.593 2283.574 40.410 36.240
+ -8821424.746 8 -6833841.500 8 23094131.288 23094131.069 23094134.593
+ -2981.519 -2323.254 44.230 40.060
+ -22996586.922 9 -17899464.502 8 20792760.653 20792761.025 20792763.822
+ 1851.183 1442.480 50.140 47.010
+ 04 6 10 0 57 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25359811.732 9 -19749959.457 8 20399147.776 20399147.312 20399150.825
+ -605.638 -471.923 51.530 48.750
+ -14994777.780 8 -11676606.805 8 22547428.764 22547428.892 22547432.822
+ 1420.481 1106.868 45.270 42.150
+ -3193589.335 8 -2476640.508 7 24143261.421 24143261.556 24143264.757
+ -3188.718 -2484.721 41.450 37.980
+ -16874465.180 8 -13133874.051 8 21813873.447 21813872.614 21813877.234
+ 1065.560 830.309 47.010 43.540
+ -22128474.200 8 -17231261.356 8 21072378.859 21072378.216 21072382.503
+ -1197.792 -933.341 49.440 48.050
+ -8058514.660 8 -6251449.202 7 24078197.326 24078197.405 24078200.326
+ 2923.795 2278.273 40.060 36.930
+ -8731925.452 8 -6764101.813 8 23111161.502 23111161.514 23111166.321
+ -2985.009 -2325.986 43.540 40.060
+ -23051931.975 9 -17942590.509 8 20782229.121 20782229.050 20782231.689
+ 1838.551 1432.637 50.140 46.660
+ 04 6 10 0 57 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25341393.312 9 -19735607.443 8 20402653.004 20402652.183 20402655.677
+ -622.259 -484.876 51.530 48.750
+ -15037378.393 8 -11709802.045 8 22539322.187 22539322.355 22539325.704
+ 1419.384 1106.011 45.270 42.150
+ -3097948.043 8 -2402114.804 7 24161461.548 24161461.131 24161464.744
+ -3187.317 -2483.618 41.100 38.320
+ -16906162.330 8 -13158573.125 8 21807841.449 21807840.785 21807845.213
+ 1047.602 816.313 47.010 43.540
+ -22092352.955 8 -17203114.937 8 21079252.784 21079251.950 21079256.056
+ -1210.173 -942.993 49.440 48.050
+ -8146122.939 7 -6319715.409 7 24061526.680 24061526.098 24061529.288
+ 2916.732 2272.785 39.370 36.240
+ -8642319.770 8 -6694279.228 8 23128213.420 23128213.864 23128217.472
+ -2988.718 -2328.874 43.880 40.410
+ -23106893.288 9 -17985417.486 8 20771769.881 20771770.014 20771772.529
+ 1825.521 1422.483 50.140 46.660
+ 04 6 10 0 58 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25322482.485 9 -19720871.734 8 20406251.265 20406250.693 20406254.391
+ -638.591 -497.605 51.530 48.750
+ -15079950.821 8 -11742975.371 8 22531220.403 22531220.614 22531224.521
+ 1418.486 1105.310 45.620 42.150
+ -3002356.500 8 -2327627.888 7 24179651.330 24179651.065 24179655.160
+ -3185.553 -2482.247 40.410 38.320
+ -16937326.818 8 -13182857.132 8 21801910.856 21801909.918 21801914.942
+ 1029.917 802.530 46.660 43.540
+ -22055867.764 8 -17174684.912 8 21086195.403 21086194.894 21086199.057
+ -1222.189 -952.359 49.440 48.050
+ -8233523.387 7 -6387819.702 7 24044894.408 24044894.036 24044896.958
+ 2909.830 2267.397 39.370 36.240
+ -8552609.563 8 -6624375.189 8 23145285.012 23145284.307 23145288.705
+ -2992.060 -2331.475 43.540 40.410
+ -23161468.130 9 -18027943.317 8 20761384.782 20761385.017 20761387.570
+ 1812.642 1412.443 50.140 46.660
+ 04 6 10 0 58 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25303079.121 9 -19705752.229 8 20409943.278 20409943.046 20409946.733
+ -654.953 -510.351 51.530 48.750
+ -15122495.709 8 -11776127.204 8 22523124.582 22523124.554 22523128.481
+ 1417.619 1104.637 45.970 42.150
+ -2906817.451 7 -2253181.866 7 24197831.338 24197831.615 24197835.151
+ -3183.631 -2480.766 39.710 38.320
+ -16967956.692 8 -13206724.568 8 21796082.536 21796081.941 21796085.904
+ 1012.106 788.654 46.660 43.190
+ -22019020.518 8 -17145972.774 8 21093207.120 21093206.563 21093210.884
+ -1234.196 -961.710 49.440 48.050
+ -8320714.799 7 -6455761.067 7 24028303.194 24028302.027 24028304.933
+ 2902.889 2261.992 39.020 36.930
+ -8462797.174 8 -6554391.532 8 23162375.630 23162374.992 23162379.592
+ -2995.437 -2334.110 43.540 40.060
+ -23215654.474 9 -18070166.416 8 20751073.122 20751073.775 20751076.561
+ 1799.734 1402.390 50.480 47.010
+ 04 6 10 0 59 0.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25283182.779 9 -19690248.583 8 20413729.849 20413729.300 20413732.938
+ -671.418 -523.181 51.530 48.750
+ -15165012.657 8 -11809257.269 8 22515034.055 22515034.322 22515037.783
+ 1416.677 1103.908 45.970 42.150
+ -2811333.305 7 -2178778.656 7 24216000.731 24216001.496 24216005.572
+ -3181.812 -2479.326 39.370 38.320
+ -16998049.759 8 -13230173.711 8 21790356.076 21790355.191 21790359.956
+ 994.135 774.655 47.010 43.540
+ -21981812.782 8 -17116979.730 8 21100287.346 21100287.071 21100291.416
+ -1246.256 -971.107 49.440 48.050
+ -8407695.817 7 -6523538.532 7 24011750.098 24011749.698 24011752.636
+ 2895.810 2256.466 39.710 35.890
+ -8372884.973 8 -6484330.086 8 23179485.145 23179485.611 23179490.221
+ -2998.715 -2336.658 43.540 40.410
+ -23269449.939 9 -18112084.934 8 20740836.923 20740836.842 20740839.477
+ 1786.669 1392.213 50.480 47.010
+ 04 6 10 0 59 30.0000000 0 8G 5G 6G 9G10G17G21G24G30 .000000000
+ -25262793.424 9 -19674360.768 8 20417610.077 20417609.120 20417612.787
+ -687.947 -536.068 51.530 48.750
+ -15207501.985 8 -11842365.825 8 22506949.196 22506948.416 22506951.769
+ 1415.687 1103.123 45.970 41.800
+ -2715906.723 8 -2104420.278 7 24234160.858 24234160.398 24234164.193
+ -3180.008 -2477.923 40.060 38.320
+ -17027603.961 8 -13253202.958 8 21784732.610 21784731.469 21784735.293
+ 976.049 760.551 47.010 43.540
+ -21944246.337 8 -17087707.177 8 21107435.959 21107435.443 21107439.934
+ -1258.233 -980.445 49.090 48.050
+ -8494465.117 8 -6591151.010 7 23995239.364 23995239.028 23995241.347
+ 2888.640 2250.885 40.060 36.240
+ -8282875.170 8 -6414192.591 7 23196613.900 23196613.063 23196617.484
+ -3001.988 -2339.210 43.540 39.710
+ -23322852.187 9 -18153697.054 8 20730674.222 20730674.417 20730677.287
+ 1773.401 1381.868 50.140 47.010
diff --git a/trunk/examples/example1.cpp b/trunk/examples/example1.cpp
new file mode 100644
index 0000000..c6042b2
--- /dev/null
+++ b/trunk/examples/example1.cpp
@@ -0,0 +1,27 @@
+#include <iostream>
+#include "DayTime.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+
+ try {
+
+ DayTime time;
+
+ cout << "Hello world!" << endl;
+ cout << " The current GPS week is " << time.GPSfullweek() << endl;
+ cout << " The day of the GPS week is " << time.GPSday() << endl;
+ cout << " The seconds of the GPS week is " << time.GPSsecond() << endl;
+
+ }
+ catch( Exception error)
+ {
+ cout << error << endl;
+ exit(-1);
+ }
+
+ exit(0);
+}
diff --git a/trunk/examples/example2.cpp b/trunk/examples/example2.cpp
new file mode 100644
index 0000000..f03c66f
--- /dev/null
+++ b/trunk/examples/example2.cpp
@@ -0,0 +1,33 @@
+#include <iostream>
+#include <iomanip>
+
+#include "RinexObsBase.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(void)
+{
+ // Create the input file stream
+ RinexObsStream rin("bahr1620.04o");
+
+ // Create the output file stream
+ RinexObsStream rout("bahr1620.04o.new", ios::out|ios::trunc);
+
+ // Read the RINEX header
+ RinexObsHeader head; //RINEX header object
+ rin >> head;
+ rout.header = rin.header;
+ rout << rout.header;
+
+ // Loop over all data epochs
+ RinexObsData data; //RINEX data object
+ while (rin >> data) {
+ rout << data;
+ }
+
+ exit(0);
+}
diff --git a/trunk/examples/example3.cpp b/trunk/examples/example3.cpp
new file mode 100644
index 0000000..0a42c0f
--- /dev/null
+++ b/trunk/examples/example3.cpp
@@ -0,0 +1,112 @@
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "icd_200_constants.hpp"
+#include <iostream>
+
+using namespace std;
+using namespace gpstk;
+
+main(int argc, char *argv[])
+{
+ int myprn;
+
+ if (argc<2)
+ {
+ cout << "Required argument is a RINEX obs file." << endl;
+ exit(-1);
+ }
+
+ cout << "Name your PRN of interest (by number: 1 through 32): ";
+ cin >> myprn;
+
+ double gamma = (L1_FREQ / L2_FREQ)*(L1_FREQ / L2_FREQ);
+
+ try
+ {
+ cout << "Reading " << argv[1] << "." << endl;
+
+//Declare RINEX observation file streams and data objects
+//-------------------------------------------------------
+ RinexObsStream roffs(argv[1]);
+ RinexObsHeader roh;
+ RinexObsData roe;
+ RinexObsData::RinexDatum dataobj;
+
+//Read the RINEX header (this could be skipped).
+//--------------------------------------------
+ roffs >> roh;
+
+//Print RINEX header to terminal screen
+//-------------------------------
+ roh.dump(cout);
+
+//Loop through epochs and process data for each.
+//----------------------------------------------
+ while (roffs >> roe)
+ {
+
+ cout << roe.time << " ";
+
+//Make a GPSTK RinexPrn object for your PRN so you can search for it.
+//-----------------------------------------------------------------
+ RinexPrn prn(myprn, (RinexSystem) systemGPS);
+
+//Check to see if your PRN is in view at this epoch (ie. search for the PRN).
+//-------------------------------------------------------------------------
+ RinexObsData::RinexPrnMap::iterator pointer = roe.obs.find(prn);
+ if( pointer == roe.obs.end() ) cout << "PRN " << myprn << " not in view " << endl;
+ else
+ {
+
+//Get P1 pseudorange code.
+//Here are two equivalent ways to get the RinexDatum from the RinexObsData object
+//-------------------------------------------------------------------------------
+ dataobj = roe.obs[prn][RinexObsHeader::P1]; //The intuitive way
+
+ RinexObsData::RinexDatum dataobj2 = (*pointer).second[RinexObsHeader::P1]; //The more efficient STL way
+
+ if( dataobj.data != dataobj.data) cout << "STL has a bug! (Type crtl-C now or else orcs will crawl from you ears!)" << endl;
+
+ double P1 = dataobj.data;
+
+//Get P2 pseudorange and L1 phase measurement.
+//We will stick with the intuitive way.
+//-------------------------------------
+ dataobj = roe.obs[prn][RinexObsHeader::P2];
+ double P2 = dataobj.data;
+
+ dataobj = roe.obs[prn][RinexObsHeader::L1];
+ double L1 = dataobj.data;
+
+//Compute multipath
+//-----------------
+ double mu = P1 -L1*(C_GPS_M/L1_FREQ) -2*(P1 -P2)/(1-gamma);
+
+ cout << " PRN " << myprn << " biased multipath " << mu << endl;
+ }
+
+ }
+
+ cout << "Read " << roffs.recordNumber << " epochs. Cheers." << endl;
+ exit(0);
+ }
+ catch(FFStreamError& e)
+ {
+ cout << e;
+ exit(1);
+ }
+ catch(Exception& e)
+ {
+ cout << e;
+ exit(1);
+ }
+ catch (...)
+ {
+ cout << "unknown error. I don't feel so well..." << endl;
+ exit(1);
+ }
+
+ exit(0);
+ }
diff --git a/trunk/examples/example4.cpp b/trunk/examples/example4.cpp
new file mode 100644
index 0000000..ee8e03b
--- /dev/null
+++ b/trunk/examples/example4.cpp
@@ -0,0 +1,160 @@
+#include <string>
+#include <vector>
+
+#include "RinexObsBase.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+
+#include "RinexNavBase.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexMetBase.hpp"
+#include "RinexMetData.hpp"
+
+#include "RinexMetHeader.hpp"
+#include "RinexMetStream.hpp"
+
+#include "TropModel.hpp"
+#include "BCEphemerisStore.hpp"
+#include "RAIMSolution.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+main(int argc, char *argv[])
+{
+ BCEphemerisStore bcestore;
+ RAIMSolution raimSolver;
+ ZeroTropModel noTropModel;
+ GGTropModel ggTropModel;
+ TropModel *tropModelPtr=&noTropModel;
+
+
+ if ((argc < 3) || (argc>4))
+ {
+ cerr << "Usage:" << endl;
+ cerr << " " << argv[0] << " <RINEX Obs file> <RINEX Nav file> [<RINEX Met file>]" << endl;
+ exit (-1);
+ }
+
+ const double gamma = (L1_FREQ / L2_FREQ)*(L1_FREQ / L2_FREQ);
+
+ try
+ {
+ // Read nav file and store unique list of ephemeredes
+ RinexNavStream rnffs(argv[2]);
+ RinexNavData rne;
+ RinexNavHeader hdr;
+
+ rnffs >> hdr;
+
+ while (rnffs >> rne) bcestore.addEphemeris(rne);
+ bcestore.SearchNear();
+
+ // If provided, open and store met file into a linked list.
+ list<RinexMetData> rml;
+ if (argc==4)
+ {
+ RinexMetStream rms(argv[3]);
+ RinexMetHeader rmh;
+ rms >> rmh;
+
+ RinexMetData rmd;
+ tropModelPtr=&ggTropModel;
+ while (rms >> rmd) rml.push_back(rmd);
+ }
+
+ // Open and read the observation file one epoch at a time.
+ // For each epoch, compute and print a position solution
+ RinexObsStream roffs(argv[1]);
+ roffs.exceptions(ios::failbit);
+
+ RinexObsHeader roh;
+ RinexObsData rod;
+
+ roffs >> roh;
+
+ list<RinexMetData>::iterator mi=rml.begin();
+
+ while (roffs >> rod)
+ {
+ double T, P, H;
+
+ // Find a weather point.
+ while ( (argc==4) &&
+ (!rml.empty()) &&
+ (mi!=rml.end()) &&
+ ((*mi).time < rod.time) )
+ {
+ mi++;
+ ggTropModel.setWeather((*mi).data[RinexMetHeader::TD],
+ (*mi).data[RinexMetHeader::PR],
+ (*mi).data[RinexMetHeader::HR]);
+ }
+
+
+ // Apply editing criteria
+ if (rod.epochFlag == 0 || rod.epochFlag == 1) // Begin usable data
+ {
+ vector<RinexPrn> prnVec;
+ vector<double> rangeVec;
+
+ RinexObsData::RinexPrnMap::const_iterator it;
+ for (it = rod.obs.begin(); it!= rod.obs.end(); it++)
+ {
+ RinexObsData::RinexObsTypeMap otmap;
+ RinexObsData::RinexObsTypeMap::const_iterator itP1, itP2;
+ RinexObsData::RinexDatum meas;
+ otmap = (*it).second;
+ itP1 = otmap.find(RinexObsHeader::P1);
+
+ if (itP1!=otmap.end())
+ {
+ double ionocorr = 0;
+ itP2 = otmap.find(RinexObsHeader::P2);
+ if (itP2!=otmap.end())
+ ionocorr = 1./(1.-gamma)*((*itP1).second.data-(*itP2).second.data);
+ prnVec.push_back((*it).first);
+ rangeVec.push_back((*itP1).second.data-ionocorr);
+ }
+
+ }
+
+ raimSolver.RMSLimit = 3e6;
+ raimSolver.Compute(rod.time,prnVec,rangeVec, bcestore, \
+ tropModelPtr);
+
+ if (raimSolver.isValid())
+ {
+ cout << setprecision(12) << raimSolver.Solution[0] << " " ;
+ cout << raimSolver.Solution[1] << " " ;
+ cout << raimSolver.Solution[2];
+ cout << endl ;
+ }
+
+
+ } // End usable data
+
+ } // End loop through each epoch
+ }
+ catch(Exception& e)
+ {
+ cerr << e << endl;
+ }
+ catch (...)
+ {
+ cerr << "Caught an unexpected exception." << endl;
+ }
+
+
+ exit(0);
+
+}
+
+
+
+
+
diff --git a/trunk/src/ANSITime.cpp b/trunk/src/ANSITime.cpp
new file mode 100644
index 0000000..b64b2cc
--- /dev/null
+++ b/trunk/src/ANSITime.cpp
@@ -0,0 +1,126 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ANSITime.cpp#2 $"
+
+#include "ANSITime.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+ const std::string ANSITime::printChars( "K" );
+ const std::string ANSITime::defaultFormat( "%K" );
+
+ ANSITime& ANSITime::operator=( const ANSITime& right )
+ throw()
+ {
+ time = right.time;
+ return *this;
+ }
+
+ CommonTime ANSITime::convertToCommonTime() const
+ {
+ return CommonTime( ( MJD_JDAY + UNIX_MJD + time / SEC_PER_DAY ),
+ ( time % SEC_PER_DAY ),
+ 0 );
+ }
+
+ void ANSITime::convertFromCommonTime( const CommonTime& ct )
+ {
+ long jday, sod;
+ double fsod;
+ ct.get( jday, sod, fsod );
+
+ time =
+ static_cast<time_t>((jday - MJD_JDAY - UNIX_MJD) * SEC_PER_DAY + sod);
+ }
+
+ std::string ANSITime::printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using gpstk::StringUtils::formattedPrint;
+ std::string rv( fmt );
+
+ rv = formattedPrint( rv, formatPrefixInt + "K",
+ "Kd", time );
+
+ return rv;
+ }
+ catch( gpstk::StringUtils::StringException& se )
+ {
+ GPSTK_RETHROW( se );
+ }
+ }
+
+ bool ANSITime::setFromInfo( const IdToValue& info )
+ throw()
+ {
+ using namespace gpstk::StringUtils;
+
+ IdToValue::const_iterator i = info.find('K');
+ if( i != info.end() )
+ {
+ time = asInt( i->second );
+ return true;
+ }
+
+ return false;
+ }
+
+ bool ANSITime::isValid() const
+ throw()
+ {
+ ANSITime temp;
+ temp.convertFromCommonTime( convertToCommonTime() );
+ if( *this == temp )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool ANSITime::operator==( const ANSITime& right ) const
+ throw()
+ {
+ if( time == right.time )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool ANSITime::operator!=( const ANSITime& right ) const
+ throw()
+ {
+ return ( !operator==( right ) );
+ }
+
+ bool ANSITime::operator<( const ANSITime& right ) const
+ throw()
+ {
+ if( time < right.time )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool ANSITime::operator>( const ANSITime& right ) const
+ throw()
+ {
+ return ( !operator<=( right ) );
+ }
+
+ bool ANSITime::operator<=( const ANSITime& right ) const
+ throw()
+ {
+ return ( operator<( right ) ||
+ operator==( right ) );
+ }
+
+ bool ANSITime::operator>=( const ANSITime& right ) const
+ throw()
+ {
+ return ( !operator<( right ) );
+ }
+
+} // namespace
diff --git a/trunk/src/ANSITime.hpp b/trunk/src/ANSITime.hpp
new file mode 100644
index 0000000..5fec982
--- /dev/null
+++ b/trunk/src/ANSITime.hpp
@@ -0,0 +1,150 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ANSITime.hpp#2 $"
+
+#ifndef GPSTK_ANSITIME_HPP
+#define GPSTK_ANSITIME_HPP
+
+#include "TimeTag.hpp"
+#include <time.h> // for time_t
+
+namespace gpstk
+{
+ /**
+ * This class encapsulates the "ANSITime (seconds since Unix epoch)" time
+ * representation.
+ */
+ class ANSITime : public TimeTag
+ {
+ public:
+ static const std::string printChars;
+ static const std::string defaultFormat;
+
+ /**
+ * @defgroup utbo ANSITime Basic Operations
+ * Default and Copy Constructors, Assignment Operator and Destructor.
+ */
+ //@{
+
+ /**
+ * Default Constructor.
+ * All elements are initialized to zero.
+ */
+ ANSITime( time_t t = 0 )
+ throw()
+ {
+ time = t;
+ }
+
+ /**
+ * Copy Constructor.
+ * @param right a reference to the ANSITime object to copy
+ */
+ ANSITime( const ANSITime& right )
+ throw()
+ : time( right.time )
+ {}
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const TimeTag reference and copies its contents via
+ * conversion to CommonTime.
+ * @param right a const reference to the BasicTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ ANSITime( const TimeTag& right )
+ throw( gpstk::InvalidRequest )
+ {
+ convertFromCommonTime( right.convertToCommonTime() );
+ }
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const CommonTime reference and copies its contents via
+ * the convertFromCommonTime method.
+ * @param right a const reference to the CommonTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ ANSITime( const CommonTime& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right );
+ }
+
+ /**
+ * Assignment Operator.
+ * @param right a const reference to the ANSITime to copy
+ * @return a reference to this ANSITime
+ */
+ ANSITime& operator=( const ANSITime& right )
+ throw();
+
+ /// Virtual Destructor.
+ virtual ~ANSITime()
+ throw()
+ {}
+ //@}
+
+ // The following functions are required by TimeTag.
+ virtual CommonTime convertToCommonTime() const;
+
+ virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+ /// This function formats this time to a string. The exceptions
+ /// thrown would only be due to problems parsing the fmt string.
+ virtual std::string printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException );
+
+ /**
+ * Set this object using the information provided in \a info.
+ * @param info the IdToValue object to which this object shall be set.
+ * @return true if this object was successfully set using the
+ * data in \a info, false if not.
+ */
+ virtual bool setFromInfo( const IdToValue& info )
+ throw();
+
+ /// Return a string containing the characters that this class
+ /// understands when printing times.
+ virtual std::string getPrintChars() const
+ throw()
+ {
+ return printChars;
+ }
+
+ /// Return a string containing the default format to use in printing.
+ virtual std::string getDefaultFormat() const
+ throw()
+ {
+ return defaultFormat;
+ }
+
+ virtual bool isValid() const
+ throw();
+
+ /**
+ * @defgroup utco ANSITime Comparison Operators
+ * All comparison operators have a parameter "right" which corresponds
+ * to the ANSITime object to the right of the symbol.
+ * All comparison operators are const and return true on success
+ * and false on failure.
+ */
+ //@{
+ bool operator==( const ANSITime& right ) const
+ throw();
+ bool operator!=( const ANSITime& right ) const
+ throw();
+ bool operator<( const ANSITime& right ) const
+ throw();
+ bool operator>( const ANSITime& right ) const
+ throw();
+ bool operator<=( const ANSITime& right ) const
+ throw();
+ bool operator>=( const ANSITime& right ) const
+ throw();
+ //@}
+
+ time_t time;
+ };
+
+} // namespace
+
+#endif // GPSTK_ANSITIME_HPP
diff --git a/trunk/src/AlmOrbit.cpp b/trunk/src/AlmOrbit.cpp
new file mode 100644
index 0000000..6fa03b9
--- /dev/null
+++ b/trunk/src/AlmOrbit.cpp
@@ -0,0 +1,282 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/AlmOrbit.cpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file AlmOrbit.cpp
+ * Encapsulate almanac data, and compute satellite orbit, etc.
+ */
+
+#include "icd_200_constants.hpp"
+#include "GPSGeoid.hpp"
+#include "AlmOrbit.hpp"
+#include <cmath>
+
+namespace gpstk
+{
+ AlmOrbit :: AlmOrbit() throw()
+ {
+ ecc = i_offset = OMEGAdot = Ahalf = OMEGA0 = w = M0 = AF0 = AF1 = 0.0;
+
+ Toa = xmit_time = 0;
+
+ week = SV_health = 0;
+ }
+
+ AlmOrbit :: AlmOrbit(short prn, double aEcc, double ai_offset,
+ double aOMEGAdot, double aAhalf, double aOMEGA0,
+ double aw, double aM0, double aAF0, double aAF1,
+ long aToa, long axmit_time, short aweek,
+ short aSV_health)
+ : ecc(aEcc), i_offset(ai_offset), OMEGAdot(aOMEGAdot), Ahalf(aAhalf),
+ OMEGA0(aOMEGA0), w(aw), M0(aM0), AF0(aAF0), AF1(aAF1), Toa(aToa),
+ xmit_time(axmit_time), week(aweek), SV_health(aSV_health), PRN(prn)
+ {
+ }
+
+ Xvt AlmOrbit :: svXvt(const DayTime& t) const
+ throw()
+ {
+ Xvt sv;
+ GPSGeoid geoid;
+
+ double elapt; /* elapsed time since Toa */
+ double A; /* semi-major axis */
+ double n; /* mean motion */
+ double meana; /* mean anomoly */
+ double ea; /* eccentric anomoly */
+ short loop; /* counter */
+ double f,g,delea,q,gsta,gcta; /* temp. variables */
+ double dtc; /* corrected time */
+ double ta; /* true anomoly */
+ double sinea,cosea,sinu,cosu;
+ double alat; /* arguement of latitude */
+ double ualat; /* corrected arguement of latitude */
+ double r; /* radius */
+ double i; /* inclination */
+ double anlon; /* corrected longitue of ascending node */
+ double xip,yip,can,san,cinc,sinc,xef,yef,zef,dek,dlk,div,domk,duv,
+ drv,dxp,dyp,vxef,vyef,vzef;
+ double sqrtgm = ::sqrt(geoid.gm());
+
+/* Compute time since Almanac epoch (Toa) including week change */
+ elapt = t - getToaTime();
+
+ /* compute mean motion from semi-major axis */
+ A = Ahalf * Ahalf;
+ n = sqrtgm / (Ahalf * A);
+
+ /* compute the mean anomaly */
+ meana = M0 + elapt * n;
+ meana = fmod(meana, 2.0 * PI);
+
+ /* compute eccentric anomaly by iteration */
+
+ ea = meana + ecc * sin(meana);
+ loop = 1;
+
+ do {
+ f = meana - (ea - ecc * sin(ea));
+ g = 1.0 - ecc * ::cos(ea);
+ delea = f / g;
+ ea += delea;
+ loop++;
+ } while ( fabs(delea) > 1.0e-11 && (loop <= 20));
+
+ /* compute clock corrections (no relativistic correction computed) */
+ dtc = AF0 + elapt * AF1;
+ sv.dtime = dtc;
+
+ /* compute the true anomaly */
+ q = sqrt (1.0e0 - ecc * ecc);
+ sinea = ::sin(ea);
+ cosea = ::cos(ea);
+ gsta = q * sinea;
+ gcta = cosea - ecc;
+ ta = ::atan2(gsta,gcta);
+
+ /* compute argument of latitude for orbit */
+ alat = ta + w;
+
+ /* compute correction terms ( no pertubation ) */
+ ualat = alat;
+ r = A * (1.0 - ecc * cosea);
+ i = i_offset + 0.3e0 * PI;
+
+ /* compute corrected longitude of ascending node */
+ anlon = OMEGA0 +
+ (OMEGAdot - geoid.angVelocity()) * elapt -
+ geoid.angVelocity() * (double)Toa;
+
+ /* compute positions in orbital plane */
+ cosu = ::cos(ualat);
+ sinu = ::sin(ualat);
+ xip = r * cosu;
+ yip = r * sinu;
+
+ /* compute earch fixed coordinates (in meters) */
+ can = ::cos (anlon);
+ san = ::sin (anlon);
+ cinc = ::cos(i);
+ sinc = ::sin(i);
+
+ xef = xip * can - yip * cinc * san;
+ yef = xip * san + yip * cinc * can;
+ zef = yip * sinc;
+
+ sv.x[0] = xef;
+ sv.x[1] = yef;
+ sv.x[2] = zef;
+
+ /* compute velocity of rotation coordinates & velocity of sat. */
+ dek = n * A / r;
+ dlk = sqrtgm * Ahalf * q / (r * r);
+ div = 0.0e0;
+ domk = OMEGAdot - geoid.angVelocity();
+ duv = dlk;
+ drv = A * ecc * dek * sinea;
+
+ dxp = drv * cosu - r * sinu * duv;
+ dyp = drv * sinu + r * cosu * duv;
+
+ vxef = dxp * can - xip * san * domk - dyp * cinc * san
+ + yip * (sinc * san * div - cinc * can * domk);
+ vyef = dxp * san + xip * can * domk + dyp * cinc * can
+ - yip * (sinc * can * div + cinc * san * domk);
+ vzef = dyp * sinc + yip * cinc * div;
+
+ sv.v[0] = vxef;
+ sv.v[1] = vyef;
+ sv.v[2] = vzef;
+
+ return sv;
+ }
+
+ DayTime AlmOrbit::getTransmitTime() const throw()
+ {
+ DayTime transmitTime(0.L);
+ transmitTime.setGPSfullweek(getFullWeek(), (double)xmit_time);
+ return transmitTime;
+ }
+
+ short AlmOrbit::getFullWeek() const throw()
+ {
+ // return value of the transmit week for the given PRN
+ short xmit_week = week;
+ double sow_diff = (double)(Toa - xmit_time);
+ if (sow_diff < -DayTime::HALFWEEK)
+ xmit_week--;
+ else if (sow_diff > DayTime::HALFWEEK)
+ xmit_week++;
+
+ return xmit_week;
+ }
+
+ DayTime AlmOrbit::getToaTime() const throw()
+ {
+ DayTime toaTime(0.L);
+ toaTime.setGPSfullweek(week, (double)Toa);
+ return toaTime;
+ }
+
+ void AlmOrbit::dump(std::ostream& s, int verbosity) const
+ {
+ using std::endl;
+ using std::setw;
+ switch (verbosity)
+ {
+ case 0:
+ s << PRN << ", "
+ << Toa << ", "
+ << std::hex
+ << SV_health << ", "
+ << std::dec
+ << AF0 << ", "
+ << AF1 << ", "
+ << ecc << ", "
+ << w << ", "
+ << M0 << ", "
+ << OMEGA0 << ", "
+ << OMEGAdot << ", "
+ << i_offset
+ << endl;
+ break;
+
+ case 1:
+ s << "PRN:" << PRN
+ << " Toa:" << Toa
+ << " H:" << SV_health
+ << " AFO:" << AF0
+ << " AF1:" <<AF1
+ << " Ecc:" << ecc
+ << endl
+ << " " << w
+ << " M0:" << M0
+ << " OMEGA0:" << OMEGA0
+ << " OMEGAdot:" << OMEGAdot
+ << " Ioff:" << i_offset
+ << endl;
+ break;
+
+ default:
+ s << "PRN: " << PRN << endl
+ << "Toa: " << Toa << endl
+ << "xmit_time: " << xmit_time << endl
+ << "week: " << week << endl
+ << "SV_health: " << SV_health << endl
+ << "AFO: " << setw(12) << AF0 << " sec" << endl
+ << "AF1: " << setw(12) << AF1 << " sec/sec" << endl
+ << "Eccentricity: " << setw(12) << ecc << endl
+ << "Arg of perigee: " << setw(12) << w << " rad" << endl
+ << "Mean anomaly at epoch: " << setw(12) << M0 << " rad" << endl
+ << "Right ascension: " << setw(12) << OMEGA0 << " rad " << setw(16) << OMEGAdot << " rad/sec" << endl
+ << "Inclination offset: " << setw(12) << i_offset << " rad " << endl;
+ }
+ }
+
+ std::ostream& operator<<(std::ostream& s, const AlmOrbit& ao)
+ {
+ ao.dump(s);
+ return s;
+ }
+
+} // namespace
diff --git a/trunk/src/AlmOrbit.hpp b/trunk/src/AlmOrbit.hpp
new file mode 100644
index 0000000..3996ff1
--- /dev/null
+++ b/trunk/src/AlmOrbit.hpp
@@ -0,0 +1,118 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/AlmOrbit.hpp#2 $"
+
+#ifndef GPSTK_ALMORBIT_HPP
+#define GPSTK_ALMORBIT_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file AlmOrbit.hpp
+ * Encapsulate almanac data, and compute satellite orbit, etc.
+ */
+
+#include <map>
+#include "DayTime.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+ /** @defgroup ephemcalc Ephemeris calculations */
+ //@{
+
+ /** Encapsulation of almanac SV orbital parameters (page 5,
+ * subframes 1-24). */
+ class AlmOrbit
+ {
+ public:
+ /// Default constructor, initialize to 0.
+ AlmOrbit() throw();
+
+ /// Fill constructor for all fields.
+ AlmOrbit(short prn, double aEcc, double ai_offset, double aOMEGAdot,
+ double aAhalf, double aOMEGA0, double aw, double aM0,
+ double aAF0, double aAF1, long aToa, long axmit_time,
+ short aweek, short aSV_health);
+
+ Xvt svXvt(const DayTime& t) const throw();
+
+ short getPRNID() const throw()
+ { return PRN; }
+
+ /// returns full week of TRANSMIT TIME
+ short getFullWeek() const throw();
+ DayTime getTransmitTime() const throw();
+ DayTime getToaTime() const throw();
+ DayTime getTimestamp() const throw() { return getToaTime(); }
+ short getSVHealth() const throw() { return SV_health; }
+
+ void dump(std::ostream& s = std::cout, int verbosity=1) const;
+
+ protected:
+ short PRN; /**< PRN identifier for this SV */
+ double ecc; /**< eccentricity */
+ double i_offset; /**< i offset from 54 deg. in rads. */
+ double OMEGAdot; /**< Right Ascention rate in rad/sec */
+ double Ahalf; /**< sqrt of semi-major axis in m**1/2 */
+ double OMEGA0; /**< Right Asc. of Ascending node in rads. */
+ double w; /**< arguement of perigee in rads. */
+ double M0; /**< mean anomoly in rads */
+ double AF0; /**< clock model coeff in sec */
+ double AF1; /**< clock model coeff in sec/sec */
+ long Toa; /**< Time of epoch in GPS sec */
+ long xmit_time; /**< Transmission time */
+ short week; /**< week of Toa (full week) */
+ short SV_health; /**< health of SV */
+
+ private:
+ friend class EngAlmanac;
+ }; // class AlmOrbit
+
+ /// Map from PRN to AlmOrbit.
+ typedef std::map<short, AlmOrbit> AlmOrbits;
+
+ std::ostream& operator<<(std::ostream& s, const AlmOrbit& ao);
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/AlmanacStore.cpp b/trunk/src/AlmanacStore.cpp
new file mode 100644
index 0000000..06a1926
--- /dev/null
+++ b/trunk/src/AlmanacStore.cpp
@@ -0,0 +1,164 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/AlmanacStore.cpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file AlmanacStore.cpp
+ * Store almanac information, and access by satellite and time
+ */
+
+#include "AlmanacStore.hpp"
+#include "StringUtils.hpp"
+#include "EngAlmanac.hpp"
+#include "gps_constants.hpp"
+
+namespace gpstk
+{
+ Xvt AlmanacStore::getPrnXvt(short prn, const gpstk::DayTime& t)
+ const throw(AlmanacStore::NoAlmanacFound)
+ {
+ AlmOrbit a = findAlmanac(prn, t);
+ return a.svXvt(t);
+ }
+
+ short AlmanacStore::getPrnHealth(short prn, const gpstk::DayTime& t)
+ const throw(AlmanacStore::NoAlmanacFound)
+ {
+ AlmOrbit a = findAlmanac(prn, t);
+ return a.getSVHealth();
+ }
+
+ bool AlmanacStore::addAlmanac(const AlmOrbit& alm) throw()
+ {
+ if ((alm.getPRNID() >= 1) && (alm.getPRNID() <= MAX_PRN))
+ {
+ uba[alm.getPRNID()][alm.getToaTime()] = alm;
+ return true;
+ }
+ return false;
+ }
+
+ bool AlmanacStore::addAlmanac(const EngAlmanac& alm) throw()
+ {
+ AlmOrbits ao = alm.getAlmOrbElems();
+ AlmOrbits::const_iterator oci;
+ for (oci = ao.begin();
+ oci != ao.end();
+ oci++)
+ {
+ addAlmanac((*oci).second);
+ }
+ return true;
+ }
+
+ /// gets the closest almanac for the given time and prn,
+ /// closest being in the past or future.
+ AlmOrbit AlmanacStore::findAlmanac(short prn, const gpstk::DayTime& t)
+ const throw(AlmanacStore::NoAlmanacFound)
+ {
+ UBAMap::const_iterator prnItr = uba.find(prn);
+ if (prnItr == uba.end())
+ {
+ NoAlmanacFound nef("No almanacs for prn " +
+ gpstk::StringUtils::asString(prn));
+ GPSTK_THROW(nef);
+ }
+
+ const EngAlmMap& eam = (*prnItr).second;
+
+ // find the closest almanac BEFORE t, if any.
+ EngAlmMap::const_iterator nextItr = eam.begin(),
+ almItr = eam.end();
+
+ while ( (nextItr != eam.end()) &&
+ ((*nextItr).first < t) )
+ {
+ almItr = nextItr;
+ nextItr++;
+ }
+
+ if (almItr == eam.end())
+ {
+ if (nextItr == eam.end())
+ {
+ NoAlmanacFound nef("No almanacs for time " + t.asString());
+ GPSTK_THROW(nef);
+ }
+ else
+ {
+ almItr = nextItr;
+ }
+ }
+
+ // check the next almanac (the first one after t's time)
+ // to see if it's closer than the one before t
+ if (nextItr != eam.end())
+ {
+ if ( ((*nextItr).first - t) < (t - (*almItr).first))
+ almItr = nextItr;
+ }
+ return (*almItr).second;
+ }
+
+
+ AlmOrbits AlmanacStore::findAlmanacs(const gpstk::DayTime& t)
+ const
+ {
+ AlmOrbits ao;
+ UBAMap::const_iterator prnItr = uba.begin();
+ while (prnItr != uba.end())
+ {
+ try
+ {
+ AlmOrbit a = findAlmanac((*prnItr).first, t);
+ ao[(*prnItr).first] = a;
+ }
+ /// who cares about exceptions - the map will
+ /// be empty if there are no alms...
+ catch(...)
+ {}
+
+ prnItr++;
+ }
+ return ao;
+ }
+}
diff --git a/trunk/src/AlmanacStore.hpp b/trunk/src/AlmanacStore.hpp
new file mode 100644
index 0000000..0bba42c
--- /dev/null
+++ b/trunk/src/AlmanacStore.hpp
@@ -0,0 +1,114 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/AlmanacStore.hpp#1 $"
+
+#ifndef GPSTK_ALMANACSTORE_HPP
+#define GPSTK_ALMANACSTORE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file AlmanacStore.hpp
+ * Store almanac information, and access by satellite and time
+ */
+
+#include <iostream>
+#include <string>
+#include <map>
+
+#include "Exception.hpp"
+#include "DayTime.hpp"
+#include "AlmOrbit.hpp"
+#include "EngAlmanac.hpp"
+
+namespace gpstk
+{
+ /** @defgroup ephemstore Ephemeris I/O and Storage */
+ //@{
+
+ /// This class defines an interface to hide how we are getting an SV's
+ /// position at some point in time using almanac data.
+ class AlmanacStore
+ {
+ public:
+ /// Thrown when attempting to read an almanac that isn't stored.
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(NoAlmanacFound, gpstk::Exception);
+
+ Xvt getPrnXvt(short prn, const gpstk::DayTime& t)
+ const throw(NoAlmanacFound);
+
+ short getPrnHealth(short prn, const gpstk::DayTime& t)
+ const throw(NoAlmanacFound);
+
+ bool addAlmanac(const AlmOrbit& alm) throw();
+ bool addAlmanac(const EngAlmanac& alm) throw();
+
+ /// gets the closest almanac for the given time and prn,
+ /// closest being in the past or future.
+ AlmOrbit findAlmanac(short prn, const gpstk::DayTime& t)
+ const throw(NoAlmanacFound);
+
+ /// returns all almanacs closest to t for all prns
+ AlmOrbits findAlmanacs(const gpstk::DayTime& t) const;
+
+ /// this isn't accurate, but the 0 case is all that's really important
+ size_t size() const { return uba.size(); }
+
+ protected:
+ /** This is intended to just store weekly sets of unique EngAlmanacs
+ * for a single SV. The key is ToA
+ */
+ typedef std::map<gpstk::DayTime, AlmOrbit> EngAlmMap;
+
+ /** This is intended to hold all unique EngEphemerises for each SV
+ * The key is the prn of the SV.
+ */
+ typedef std::map<short, EngAlmMap> UBAMap;
+
+ /// The map where all EngAlmanacs are stored.
+ UBAMap uba;
+ };
+
+ //@}
+
+}
+
+#endif
diff --git a/trunk/src/BCEphemerisStore.cpp b/trunk/src/BCEphemerisStore.cpp
new file mode 100644
index 0000000..40ae425
--- /dev/null
+++ b/trunk/src/BCEphemerisStore.cpp
@@ -0,0 +1,459 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/BCEphemerisStore.cpp#9 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+/**
+ * @file BCEphemerisStore.cpp
+ * Store GPS broadcast ephemeris information, and access by satellite and time
+ */
+
+#include <iostream>
+#include <fstream>
+#include <iomanip>
+
+#include "StringUtils.hpp"
+#include "BCEphemerisStore.hpp"
+#include "MathBase.hpp"
+
+using namespace std;
+using namespace gpstk;
+using gpstk::StringUtils::asString;
+
+namespace gpstk
+{
+ //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+ const EngEphemeris&
+ BCEphemerisStore::findEphemeris(short prn, const DayTime& t)
+ const throw(EphemerisStore::NoEphemerisFound)
+ {
+ try
+ {
+ const EngEphemeris& eph
+ = (method==0 ? findUserEphemeris(prn, t) : findNearEphemeris(prn,t) );
+ return eph;
+ }
+ catch(NoEphemerisFound& nef)
+ {
+ GPSTK_RETHROW(nef);
+ }
+ catch(InvalidRequest& ir)
+ {
+ NoEphemerisFound nef(ir);
+ GPSTK_THROW(nef);
+ }
+ }
+
+
+ Xvt BCEphemerisStore::getPrnXvt(short prn, const DayTime& t)
+ const throw(EphemerisStore::NoEphemerisFound)
+ {
+ short ref;
+ return getPrnXvt(prn, t, ref);
+ } // end of BCEphemerisStore::getPrnXvt()
+
+
+ Xvt BCEphemerisStore::getPrnXvt(short prn, const DayTime& t, short& ref)
+ const throw(EphemerisStore::NoEphemerisFound)
+ {
+ try
+ {
+ const EngEphemeris& eph = findEphemeris(prn,t);
+ ref = eph.getIODC();
+ Xvt sv = eph.svXvt(t);
+ return sv;
+ }
+ catch(NoEphemerisFound& nef)
+ {
+ GPSTK_RETHROW(nef);
+ }
+ catch(InvalidRequest& ir)
+ {
+ NoEphemerisFound nef(ir);
+ GPSTK_THROW(nef);
+ }
+ } // end of BCEphemerisStore::getPrnXvt()
+
+
+ //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+ short BCEphemerisStore::getPrnHealth(short prn, const gpstk::DayTime& t)
+ const throw(EphemerisStore::NoEphemerisFound)
+ {
+ try
+ {
+ const EngEphemeris& eph = findEphemeris(prn, t);
+ short health = eph.getHealth();
+ return health;
+ }
+ catch(NoEphemerisFound& nef)
+ {
+ GPSTK_RETHROW(nef);
+ }
+ catch(InvalidRequest& ir)
+ {
+ NoEphemerisFound nef(ir);
+ GPSTK_THROW(nef);
+ }
+ } // end of BCEphemerisStore::getHealth()
+
+ //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+ void BCEphemerisStore::dump(short detail, std::ostream& s) const
+ {
+ UBEMap::const_iterator prn_i;
+
+ s << "Dump of BCEphemerisStore:\n";
+ if (detail==0)
+ {
+ unsigned bce_count=0;
+ for (prn_i = ube.begin(); prn_i != ube.end(); prn_i++)
+ bce_count += prn_i->second.size();
+
+ s << " Span is " << initialTime
+ << " to " << finalTime
+ << " with " << bce_count << " entries."
+ << std::endl;
+ }
+ else
+ {
+ for (prn_i = ube.begin(); prn_i != ube.end(); prn_i++)
+ {
+ const EngEphMap& em = prn_i->second;
+ s << " BCE map for prn " << prn_i->first
+ << " has " << em.size() << " entries." << std::endl;
+
+ EngEphMap::const_iterator ei;
+ for (ei=em.begin(); ei != em.end(); ei++)
+ if (detail==1)
+ s << "PRN " << setw(2) << prn_i->first
+ << " TOE " << ei->second.getEpochTime()
+ << " TOC " << fixed << setw(10) << setprecision(3) << ei->second.getToc()
+ << " HOW " << setw(10) << ei->second.getHOWTime(2)
+ << " KEY " << ei->first
+ << std::endl;
+ else
+ ei->second.dump();
+ }
+
+ s << " End of BCE maps." << std::endl << std::endl;
+ }
+ } // end of BCEphemerisStore::dump()
+
+
+ //--------------------------------------------------------------------------
+ // Only keeps one ephemeris with a given IODC/time
+ // It should keep the one with the latest transmit time
+ //--------------------------------------------------------------------------
+ bool BCEphemerisStore::addEphemeris(const EngEphemeris& eph)
+ throw(gpstk::InvalidRequest)
+ {
+ bool rc = false;
+ DayTime t(0.L);
+ t = eph.getEphemerisEpoch();
+ t -= 0.5*3600.0*eph.getFitInterval();
+
+ EngEphMap& eem = ube[eph.getPRNID()];
+ EngEphMap::iterator sfi = eem.find(t);
+ if ( sfi == eem.end())
+ {
+ eem[t] = eph;
+ rc = true;
+ }
+ else
+ {
+ // Store the new eph only if it has a later transmit time
+ EngEphemeris& current = sfi->second;
+ DayTime ephTot, currentTot;
+ ephTot = eph.getTransmitTime();
+ currentTot = current.getTransmitTime();
+
+ if (ephTot > currentTot)
+ {
+ //if (eph.getIODC() != current.getIODC())
+ //cerr << "Wierd: prn:" << setw(2) << eph.getPRNID()
+ //<< ", Toe:" << eph.getToe()
+ //<< ", New IODC:" << eph.getIODC()
+ //<< ", New TTx:" << eph.getTot()
+ //<< ", Old IODC:" << current.getIODC()
+ //<< ", Old TTx:" << current.getTot()
+ //<< endl;
+
+ current = eph;
+ rc = true;
+ }
+ }
+
+ // In any case, update the initial and final times
+ if (t<initialTime)
+ initialTime = t;
+ else if (t>finalTime)
+ finalTime = t;
+
+ return rc;
+ }
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+ unsigned BCEphemerisStore::wiper(const DayTime& t) throw(gpstk::InvalidRequest)
+ {
+ unsigned counter = 0;
+ DayTime test;
+ for(UBEMap::iterator i = ube.begin(); i != ube.end(); i++)
+ {
+ EngEphMap& thisPRN = i->second;
+ EngEphMap::size_type mapSize = i->second.size();
+ bool done = (i->second.size() == 0);
+ while(!done)
+ {
+ EngEphemeris& foo = thisPRN.begin()->second;
+ try
+ {
+ test = foo.getEphemerisEpoch();
+ }
+ catch (gpstk::InvalidRequest& exc)
+ {
+ exc.addText("In wiping ephemerides for PRN " +
+ asString(i->first));
+ exc.addText("Map had " + asString(mapSize) + " elements in"
+ " it to begin with");
+ foo.dump(exc);
+ GPSTK_RETHROW(exc);
+ }
+ if( test < t )
+ {
+ thisPRN.erase(thisPRN.begin());
+ ++counter;
+ done = (i->second.size() == 0);
+ }
+ else
+ {
+ done = true;
+ }
+ }
+ }
+ // update initialTime
+ initialTime = t;
+
+ return counter;
+ }
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+ void BCEphemerisStore::edit(const DayTime& tmin, const DayTime& tmax)
+ {
+ DayTime test;
+ for(UBEMap::iterator i = ube.begin(); i != ube.end(); i++)
+ {
+ EngEphMap& eMap = i->second;
+
+ EngEphMap::iterator lower = eMap.lower_bound(tmin);
+ if (lower != eMap.begin())
+ eMap.erase(eMap.begin(), --lower);
+
+ EngEphMap::iterator upper = eMap.upper_bound(tmax);
+ if (upper != eMap.end())
+ eMap.erase(upper, eMap.end());
+ }
+
+ initialTime = tmin;
+ finalTime = tmax;
+ }
+
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+ void BCEphemerisStore::clear() throw()
+ {
+ ube.clear();
+ initialTime = DayTime::END_OF_TIME;
+ finalTime = DayTime::BEGINNING_OF_TIME;
+ }
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+ unsigned BCEphemerisStore::ubeSize() const throw()
+ {
+ unsigned counter = 0;
+ for(UBEMap::const_iterator i = ube.begin(); i != ube.end(); i++)
+ counter += i->second.size();
+ return counter;
+ }
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+ const EngEphemeris&
+ BCEphemerisStore::findUserEphemeris(short prn, const DayTime& t)
+ const throw(EphemerisStore::NoEphemerisFound)
+ {
+ DayTime test;
+ UBEMap::const_iterator prn_i = ube.find(prn);
+ if (prn_i == ube.end())
+ {
+ NoEphemerisFound nef("No ephemeris for prn " + asString(prn));
+ GPSTK_THROW(nef);
+ }
+
+ const EngEphMap& em = prn_i->second;
+ DayTime t1(0.0L), t2(0.0L), Tot = DayTime::BEGINNING_OF_TIME;
+ EngEphMap::const_iterator it = em.end();
+
+ // Find eph with (Toe-(fitint/2)) > t - 4 hours
+ // Use 4 hours b/c it's the default fit interval.
+ // Backup one ephemeris to make sure you get the
+ // correct one in case of fit intervals greater
+ // than 4 hours.
+ EngEphMap::const_iterator ei = em.upper_bound(t - 4 * 3600);
+ if (!em.empty() && ei != em.begin() )
+ {
+ ei--;
+ }
+
+ for (; ei != em.end(); ei++)
+ {
+ const EngEphemeris& current = ei->second;
+ // t1 = Toe-(fitint / 2)
+ t1 = ei->first;
+ // t2 = HOW time
+ t2 = current.getTransmitTime();
+
+ // Ephemeredes are ordered by fit interval.
+ // If the start of the fit interval is in the future,
+ // this and any more ephemerides are not the one you are
+ // looking for.
+ if( t1 > t )
+ {
+ break;
+ }
+
+ double dt1 = t - t1;
+ double dt2 = t - t2;
+
+ if (dt1 >= 0 && // t is after start of fit interval
+ dt1 < current.getFitInterval() * 3600 && // t is within the fit interval
+ dt2 >= 0 && // t is after Tot
+ t2 > Tot ) // this eph has the latest Tot
+ {
+ it = ei;
+ Tot = t2;
+ }
+ }
+
+ if (it == em.end())
+ {
+ string mess = "No eph found for prn "
+ + asString(prn) + " at " + t.printf("%03j %02H:%02M:%02S");
+ NoEphemerisFound e(mess);
+ GPSTK_THROW(e);
+ }
+
+ return it->second;
+ } // end of BCEphemerisStore::findEphemeris()
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+ const EngEphemeris&
+ BCEphemerisStore::findNearEphemeris(short prn, const DayTime& t)
+ const throw(EphemerisStore::NoEphemerisFound)
+ {
+ DayTime test;
+ UBEMap::const_iterator prn_i = ube.find(prn);
+ if (prn_i == ube.end())
+ {
+ NoEphemerisFound nef("No ephemeris for prn " + asString(prn));
+ GPSTK_THROW(nef);
+ }
+
+ const EngEphMap& em = prn_i->second;
+ double dt2min = -1;
+ DayTime tstart, how;
+ EngEphMap::const_iterator it = em.end();
+
+ // Find eph with (Toe-(fitint/2)) > t - 4 hours
+ // Use 4 hours b/c it's the default fit interval.
+ // Backup one ephemeris to make sure you get the
+ // correct one in case of fit intervals greater
+ // than 4 hours.
+ EngEphMap::const_iterator ei = em.upper_bound(t - 4 * 3600);
+ if (!em.empty() && ei != em.begin() )
+ {
+ ei--;
+ }
+
+ for (; ei != em.end(); ei++)
+ {
+ const EngEphemeris& current = ei->second;
+ // tstart = Toe-(fitint / 2)
+ tstart = ei->first;
+ // how = HOW time
+ how = current.getTransmitTime();
+
+ // Ephemerides are ordered by time of start of fit interval.
+ // If the start of the fit interval is in the future,
+ // this and any more ephemerides are not the one you are
+ // looking for.
+ if( tstart > t ) break;
+
+ double dt1 = t - tstart;
+ double dt2 = t - how;
+
+ if (dt1 >= 0 && // t is after start of fit interval
+ dt1 <= current.getFitInterval()*3600 && // t is within the fit interval
+ (dt2min == -1 || fabs(dt2) < dt2min)) // t is closest to HOW
+ {
+ it = ei;
+ dt2min = fabs(dt2);
+ }
+ }
+
+ if (it == em.end())
+ {
+ string mess = "No eph found for prn "
+ + asString(prn) + " at " + t.printf("%03j %02H:%02M:%02S");
+ NoEphemerisFound e(mess);
+ GPSTK_THROW(e);
+ }
+
+ return it->second;
+ } // end of BCEphemerisStore::findNearEphemeris()
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+ int BCEphemerisStore::addToList(std::list<EngEphemeris>& v) const throw()
+ {
+ int n=0;
+ UBEMap::const_iterator prn_i;
+ for (prn_i = ube.begin(); prn_i != ube.end(); prn_i++)
+ {
+ const EngEphMap& em = prn_i->second;
+ EngEphMap::const_iterator ei;
+ for (ei=em.begin(); ei != em.end(); ei++)
+ {
+ v.push_back(ei->second);
+ n++;
+ }
+ }
+ return n;
+ } // end of BCEphemerisStore::addToList(list<EngEphemeris>&)
+
+} // namespace
diff --git a/trunk/src/BCEphemerisStore.hpp b/trunk/src/BCEphemerisStore.hpp
new file mode 100644
index 0000000..7fd982f
--- /dev/null
+++ b/trunk/src/BCEphemerisStore.hpp
@@ -0,0 +1,243 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/BCEphemerisStore.hpp#5 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+/**
+ * @file BCEphemerisStore.hpp
+ * Store GPS broadcast ephemeris information, and access by satellite and time
+ */
+
+#ifndef GPSTK_BCEPHEMERISSTORE_HPP
+#define GPSTK_BCEPHEMERISSTORE_HPP
+
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include <string>
+#include <list>
+#include <map>
+
+#include "EphemerisStore.hpp"
+#include "EngEphemeris.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup ephemstore */
+ //@{
+
+ /// Broadcast Ephemeris Store. In this variation of the EphemerisStore,
+ /// all ephemerides are broadcast from a satellite.
+ class BCEphemerisStore : public EphemerisStore
+ {
+ public:
+
+ /// Constructor.
+ BCEphemerisStore()
+ throw()
+ : initialTime(DayTime::END_OF_TIME),
+ finalTime(DayTime::BEGINNING_OF_TIME),
+ method(0) {};
+
+ /// Destructor.
+ virtual ~BCEphemerisStore() {}
+
+ /** This returns the pvt of the sv in ecef coordinates
+ * (units m, s, m/s, s/s) at the indicated time.
+ * @param prn the SV's PRN
+ * @param t the time to look up
+ * @return the Xvt of the SV at time t
+ */
+ virtual Xvt getPrnXvt(short prn,
+ const gpstk::DayTime& t) const
+ throw(NoEphemerisFound);
+
+ /** Return the health of an SV for a particular time
+ * @param prn the SV's PRN
+ * @param t the time to look up
+ * @return the SV health bits
+ * @throw NoEphemerisFound no matching ephemeris found in the store
+ */
+ virtual short getPrnHealth(short prn,
+ const gpstk::DayTime& t) const
+ throw(NoEphemerisFound);
+
+ /** Dumps all the ephemeris data stored in this object.
+ * @param detail the level of detail to provide
+ */
+ void dump(short detail = 0,
+ std::ostream& s = std::cout) const ;
+
+ /** Return the time of the first ephemeris in the object.
+ * @return the time of the first ephemeris in the object
+ */
+ virtual gpstk::DayTime getInitialTime() const
+ { return initialTime; }
+
+ /** Return the time of the last ephemeris in the object.
+ * @return the time of the last ephemeris in the object
+ */
+ virtual gpstk::DayTime getFinalTime() const
+ { return finalTime; }
+
+ /** Add an EngEphemeris object to this collection.
+ * @param eph the EngEphemeris to add
+ * @return true if ephemeris was added, false otherwise
+ */
+ bool addEphemeris(const EngEphemeris& eph)
+ throw(gpstk::InvalidRequest);
+
+ /** Remove EngEphemeris objects older than t.
+ * @param t remove EngEphemeris objects older than this
+ * @return number of Engephemeris objects removed
+ */
+ unsigned wiper(const DayTime& t)
+ throw(gpstk::InvalidRequest);
+
+ /// Edit the dataset, removing data outside this time interval
+ virtual void edit(const DayTime& tmin,
+ const DayTime& tmax) ;
+
+ /// Remove all data from this collection.
+ void clear() throw();
+
+
+ //---------------------------------------------------------------
+ // Below are interfaces that are unique to this class (i.e. not
+ // in the parent class)
+ //---------------------------------------------------------------
+
+ /** This returns the pvt of the sv in ecef coordinates
+ * (units m, s, m/s, s/s) at the indicated time.
+ * @param prn the SV's PRN
+ * @param t the time to look up
+ * @param ref a place to return the IODC for future reference.
+ * @return the Xvt of the SV at time t
+ */
+ Xvt getPrnXvt(short prn,
+ const gpstk::DayTime& t,
+ short& ref) const
+ throw(NoEphemerisFound);
+
+ /** Get the number of EngEphemeris objects in this collection.
+ * @return the number of EngEphemeris records in the map
+ */
+ unsigned ubeSize() const
+ throw();
+
+ unsigned size() const
+ { return ubeSize(); };
+
+ /** Find an ephemeris based upon the search method configured
+ * by SearchNear/SearchPast
+ */
+ const EngEphemeris& findEphemeris(short prn,
+ const gpstk::DayTime& t) const
+ throw(NoEphemerisFound);
+
+ /** Find the EngEphemeris for prn at time t. The ephemeris
+ * is chosen to be the one that 1) is within the fit interval
+ * for the given time of interest, and 2) is the last
+ * ephemeris transmitted before the time of interest
+ * (i.e. min(toi - HOW time)).
+ *
+ * @param prn the SV's PRN of interest
+ * @param t the time of interest
+ * @return a reference to the EngEphemeris for prn at time t
+ */
+ const EngEphemeris& findUserEphemeris(short prn,
+ const gpstk::DayTime& t) const
+ throw(NoEphemerisFound);
+
+ /** Find the EngEphemeris for satellite prn at time t. The
+ * ephemeris chosen is the one with HOW time closest to the
+ * time t, i.e. with smallest fabs(t-HOW), but still within
+ * the fit interval.
+ *
+ * @param prn the SV's PRN of interest
+ * @param t the time of interest
+ * @return a reference to the EngEphemeris for prn at time t
+ */
+ const EngEphemeris& findNearEphemeris(short prn,
+ const gpstk::DayTime& t) const
+ throw(NoEphemerisFound);
+
+ /** Add all ephemerides to an existing list<EngEphemeris>.
+ * Return the number of ephemerides added.
+ */
+ int addToList(std::list<EngEphemeris>& v) const
+ throw();
+
+ /// use findNearEphemeris() in the getPrn...() routines
+ void SearchNear(void)
+ { method = 1; }
+
+ /// use findEphemeris() in the getPrn...() routines (the default)
+ void SearchPast(void)
+ { method = 0; }
+
+ private:
+ /** This is intended to just store weekly sets of unique EngEphemerides
+ * for a single SV. The key is the Toe - 1/2 the fit interval.
+ */
+ typedef std::map<gpstk::DayTime, EngEphemeris> EngEphMap;
+
+ /** This is intended to hold all unique EngEphemerides for each SV
+ * The key is the prn of the SV.
+ */
+ typedef std::map<short, EngEphMap> UBEMap;
+
+ /// The map where all EngEphemerides are stored.
+ UBEMap ube;
+
+ gpstk::DayTime initialTime; //< Time of the first EngEphemeris
+ gpstk::DayTime finalTime; //< Time of the last EngEphemeris
+
+ /// flag indicating search method (find...Eph) to use in getPrnXvt
+ /// and getPrnHealth
+ int method;
+
+ }; // end class BCEphemerisStore
+
+ //@}
+
+} // namespace gpstk
+
+#endif // GPSTK_BCEPHEMERISSTORE_HPP
diff --git a/trunk/src/BasicFramework.cpp b/trunk/src/BasicFramework.cpp
new file mode 100644
index 0000000..4352521
--- /dev/null
+++ b/trunk/src/BasicFramework.cpp
@@ -0,0 +1,130 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/BasicFramework.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file BasicFramework.cpp
+ * Basic framework for programs in the GPS toolkit
+ */
+
+#include "Exception.hpp"
+#include "BasicFramework.hpp"
+
+namespace gpstk
+{
+ using namespace std;
+
+ BasicFramework :: BasicFramework(const string& applName,
+ const string& applDesc)
+ throw()
+ : debugLevel(0),
+ verboseLevel(0),
+ argv0(applName),
+ appDesc(applDesc),
+ debugOption('d', "debug", "Increase debug level"),
+ verboseOption('v', "verbose", "Increase verbosity"),
+ helpOption('h', "help", "Print help usage")
+ {
+ }
+
+ bool BasicFramework :: initialize(int argc, char *argv[])
+ throw()
+ {
+ // Making this a pointer and moving it here ensures that the
+ // constructor will not occur until all the command line
+ // option objects are constructed in the sub-classes.
+ CommandOptionParser cop(appDesc);
+
+ cop.parseOptions(argc, argv);
+
+ if (helpOption.getCount())
+ {
+ cop.displayUsage(cerr);
+ return false;
+ }
+
+ if (cop.hasErrors())
+ {
+ cop.dumpErrors(cerr);
+ cop.displayUsage(cerr);
+ return false;
+ }
+
+ debugLevel = debugOption.getCount();
+ verboseLevel = verboseOption.getCount();
+
+ return true;
+ }
+
+ bool BasicFramework :: run()
+ throw()
+ {
+ try
+ {
+ completeProcessing();
+ }
+ catch (Exception& exc)
+ {
+ cerr << exc;
+ return false;
+ }
+ catch (...)
+ {
+ cerr << "Caught unknown exception" << endl;
+ return false;
+ }
+
+ shutDown();
+
+ return true;
+ } // BasicFramework::run()
+
+ void BasicFramework :: completeProcessing()
+ {
+ additionalSetup();
+
+ spinUp();
+
+ process();
+ }
+
+} // namespace
diff --git a/trunk/src/BasicFramework.hpp b/trunk/src/BasicFramework.hpp
new file mode 100644
index 0000000..4679613
--- /dev/null
+++ b/trunk/src/BasicFramework.hpp
@@ -0,0 +1,182 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/BasicFramework.hpp#1 $"
+
+/**
+ * @file BasicFramework.hpp
+ * Basic framework for programs in the GPS toolkit
+ */
+
+#ifndef GPSTK_BASICFRAMEWORK_HPP
+#define GPSTK_BASICFRAMEWORK_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "CommandOptionParser.hpp"
+
+namespace gpstk
+{
+ /** @defgroup appframegroup Framework for Applications
+ *
+ * The application frameworks provide a set of classes that
+ * perform the basic functions of applications within the GPS
+ * toolkit. That is, they provide a framework for applications
+ * so that the applications only have to implement those
+ * features which are unique to that application.
+ *
+ * The classes are defined in a tree of increasing capability,
+ * that is, the BasicFramework class at the root of the tree
+ * does very little and implements only those functions which
+ * are common to all programs within the toolkit. Each
+ * subsequent subclass adds additional layers to these basic
+ * capabilities.
+ *
+ * The end user is expected to create a class, which inherits
+ * from one of these frameworks, and override the appropriate
+ * methods in order to perform the necessary function of that
+ * program. The methods to be overridden depend on the
+ * framework being used and what the program is intended to
+ * do.
+ */
+ //@{
+
+ /**
+ * This is a (very) basic framework for programs in the GPS
+ * toolkit. It is meant to be used by programs that start up,
+ * do some processing, and quit.
+ *
+ * The end user should define subclasses of this class,
+ * implementing those methods described as being meant to be
+ * overridden. When implementing these virtual functions in
+ * subclasses, do not forget to call the parent class'
+ * implementation of that virtual function first.
+ *
+ * In use, the user will construct an object of the class
+ * derived from this, then call the initialize() and run()
+ * methods in that order.
+ */
+ class BasicFramework
+ {
+ public:
+ /**
+ * Constructor for BasicFramework.
+ * @param applName name of the program (argv[0]).
+ * @param applDesc text description of program's function
+ * (used by CommandOption help).
+ */
+ BasicFramework(const std::string& applName, const std::string& applDesc)
+ throw();
+
+ /// Destructor.
+ virtual ~BasicFramework() {}
+
+ /**
+ * Process command line arguments.
+ * @param argc same as main() argc.
+ * @param argv same as main() argv.
+ * @return true if normal processing should proceed (i.e. no
+ * command line errors or help requests).
+ */
+ virtual bool initialize(int argc, char *argv[]) throw();
+
+ /**
+ * Run the program. Processes only once (refer to subclasses
+ * for looped processing).
+ * @return false if an exception occurred
+ */
+ bool run() throw();
+
+ protected:
+ int debugLevel; ///< Debug level for this run of the program.
+ int verboseLevel; ///< Verbose level for this run of the program.
+ std::string argv0; ///< Name of the program.
+ std::string appDesc; ///< Description of program's function.
+
+ /// Command-line options.
+ //@{
+ CommandOptionNoArg debugOption; ///< Enable debugging output and syslog message cloning to stdout.
+ CommandOptionNoArg verboseOption;
+ CommandOptionNoArg helpOption;
+ //@}
+
+ /**
+ * Called by the run() method; calls additionalSetup(),
+ * spinUp(), and process(), in that order. Generally should
+ * not be overridden.
+ */
+ virtual void completeProcessing();
+
+ /**
+ * Additional set-up to be performed before starting
+ * processing. This generally involves things that are
+ * necessary for either the spinUp processing or main
+ * processing.
+ */
+ virtual void additionalSetup() { }
+
+ /**
+ * Code to be executed AFTER initialization. This method
+ * should be implemeneted by the end-user.
+ */
+ virtual void spinUp() { }
+
+ /**
+ * Processing to be performed. This method should be
+ * implemeneted by the end-user.
+ */
+ virtual void process() { }
+
+ /**
+ * Clean-up processing to be done before the program ends.
+ * This method is executed outside of a try block and should
+ * be implemeneted by the end-user.
+ */
+ virtual void shutDown() { }
+
+ private:
+ // Do not allow the use of the default constructor.
+ BasicFramework();
+ }; // class BasicFramework
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/BinUtils.cpp b/trunk/src/BinUtils.cpp
new file mode 100644
index 0000000..357961d
--- /dev/null
+++ b/trunk/src/BinUtils.cpp
@@ -0,0 +1,59 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/BinUtils.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file BinUtils.cpp
+ * Binary manipulation functions
+ */
+
+#include "BinUtils.hpp"
+
+namespace gpstk
+{
+ namespace BinUtils
+ {
+ const CRCParam CRCCCITT(16, 0x1021, 0xffff, 0, true, false, false);
+ const CRCParam CRC16(16, 0x8005, 0, 0, true, true, true);
+ const CRCParam CRC32(32, 0x4c11db7, 0xffffffff, 0xffffffff, true, true, true);
+ }
+}
diff --git a/trunk/src/BinUtils.hpp b/trunk/src/BinUtils.hpp
new file mode 100644
index 0000000..1c25f4f
--- /dev/null
+++ b/trunk/src/BinUtils.hpp
@@ -0,0 +1,388 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/BinUtils.hpp#8 $"
+
+/**
+ * @file BinUtils.hpp
+ * Binary manipulation functions
+ */
+
+#ifndef BINUTILS_HPP
+#define BINUTILS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifdef __sun
+#include <arpa/nameser_compat.h>
+#elif defined (__CYGWIN__)
+#include <sys/param.h>
+#elif defined (_AIX)
+#include <sys/machine.h>
+#endif
+
+#include "Exception.hpp"
+
+#ifndef BYTE_ORDER
+#ifdef _MSC_VER
+#define LITTLE_ENDIAN 1
+#define BIG_ENDIAN 0
+#define BYTE_ORDER LITTLE_ENDIAN
+#else
+#error "Platform doesn't support BYTE_ORDER?"
+#endif
+#endif
+
+namespace gpstk
+{
+ /**
+ * Binary data utilities.
+ *
+ * These functions and macros are to be used for manipulating
+ * binary data.
+ */
+ namespace BinUtils
+ {
+ /** @defgroup binutilsgroup Binary Data Manipulation Tools */
+ //@{
+
+ /**
+ * Reverse bytes.
+ * This function will reverse the bytes in any type, though it
+ * is typically meant to be used in atomic types like int and
+ * double.
+ * @param p object whose bytes are to be reversed.
+ */
+ template <class T> void twiddle(T& p)
+ throw()
+ {
+ unsigned char *front = (unsigned char*)&p;
+ unsigned char *end = front + sizeof(p) - 1;
+ unsigned char temp;
+
+ while (front<end)
+ {
+ temp = *front;
+ *front = *end;
+ *end = temp;
+ front++;
+ end--;
+ }
+ }
+
+ /**
+ * Converts Intel little-endian to host byte order, const version.
+ * @param p the object whose bytes are to be modified.
+ * @return a new object which is in Intel byte ordering.
+ */
+ template <class T> T intelToHost(const T& p)
+ throw()
+ {
+ T temp(p);
+#if BYTE_ORDER == BIG_ENDIAN
+ twiddle(p);
+#endif
+ return temp;
+ }
+
+ /**
+ * Converts host byte order to Intel little-endian, const version
+ * @param p the object whose bytes are to be modified
+ * @return a new object which is in host byte ordering.
+ */
+ template <class T> T hostToIntel(const T& p)
+ throw()
+ {
+ T temp(p);
+#if BYTE_ORDER == BIG_ENDIAN
+ twiddle(p);
+#endif
+ return temp;
+ }
+
+ /**
+ * Converts host byte order to network order, const version.
+ * @param p the object whose bytes are to be modified.
+ * @return a new object which is in network byte order.
+ */
+ template <class T> T netToHost(const T& p)
+ throw()
+ {
+ T temp(p);
+#if BYTE_ORDER == LITTLE_ENDIAN
+ twiddle(p);
+#endif
+ return temp;
+ }
+
+ /**
+ * Converts network byte order to host order, const version.
+ * @param p the object whose bytes are to be modified.
+ * @return a new object which is in host byte order.
+ */
+ template <class T> T hostToNet(const T& p)
+ throw()
+ {
+ T temp(p);
+#if BYTE_ORDER == LITTLE_ENDIAN
+ twiddle(p);
+#endif
+ return temp;
+ }
+
+ /**
+ * Remove (optinally) the item specified from the string and convert it
+ * from network byte order to host byte order.
+ * @param str the string from which to obtain data.
+ * @param pos an offset into the string to pull the data from. If this
+ * value is specified, the item is not removed from the string.
+ * @warn This function does not check for appropriate string length.
+ */
+ template <class T>
+ T decodeVar( std::string& str, std::string::size_type pos = std::string::npos)
+ {
+ T t;
+ char *cp = reinterpret_cast<char*>( &t );
+
+ if (pos == std::string::npos)
+ {
+ str.copy( cp, sizeof(T) );
+ gpstk::BinUtils::netToHost( t );
+ str.erase( 0, sizeof(T) );
+ }
+ else
+ {
+ str.copy( cp, sizeof(T) , pos);
+ gpstk::BinUtils::netToHost( t );
+ }
+ return t;
+ }
+
+ /**
+ * Add the network ordered binary representation of a var to the
+ * the given string.
+ * @param v the object of type T to convert to a string.
+ */
+ template<class T>
+ std::string encodeVar( const T& v )
+ {
+ T tmp = v;
+ gpstk::BinUtils::hostToNet( tmp );
+ return std::string( reinterpret_cast<char*>( &tmp ), sizeof( tmp ) );
+ }
+
+ /// This is thrown when there is an error processing a CRC
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(CRCException, Exception);
+
+ /// Reflects the lower \a bitnum bits of \a crc
+ inline unsigned long reflect (unsigned long crc,
+ int bitnum)
+ {
+ unsigned long i, j = 1, crcout = 0;
+
+ for (i = (unsigned long)1 << (bitnum - 1); i; i >>= 1)
+ {
+ if (crc & i)
+ {
+ crcout |= j;
+ }
+ j <<= 1;
+ }
+ return (crcout);
+ }
+
+ /// Encapsulate parameters for CRC computation
+ class CRCParam
+ {
+ public:
+ /// Constructor
+ CRCParam(int o,
+ unsigned long p,
+ unsigned long i,
+ unsigned long f,
+ bool d,
+ bool ri,
+ bool ro)
+ : order(o), polynom(p), initial(i), final(f), direct(d),
+ refin(ri), refout(ro)
+ {}
+
+ int order; ///< CRC polynomial order (without leading '1' bit).
+ unsigned long polynom; ///< CRC polynomial without the leading '1' bit.
+ unsigned long initial; ///< initial CRC initial value.
+ unsigned long final; ///< final final XOR value.
+ bool direct; ///< kind of algorithm, true = no augmented zero bits.
+ bool refin; ///< reflect the data bytes before processing.
+ bool refout; ///< reflect the CRC result before final XOR.
+ };
+
+ extern const CRCParam CRCCCITT;
+ extern const CRCParam CRC16;
+ extern const CRCParam CRC32;
+
+
+ /**
+ * Compute CRC (suitable for polynomial orders from 1 to 32).
+ * Does bit-by-bit computation (brute-force, no look-up
+ * tables). Default parameters are for CRC16.
+ * \p
+ * The following table lists parameters for common CRC
+ * algorithms (order is decimal, the other parameters are
+ * hex):
+ * \li CRC-CCITT order=16 polynom=1021 initial=ffff final=0 direct=true refin=false refout=false
+ * \li CRC-16 order=16 polynom=8005 initial=0 final=0 direct=true refin=true refout=true
+ * \li CRC-32 order=32 polynom=4c11db7 initial=ffffffff final=ffffffff direct=true refin=true refout=true
+ * @param data data to process CRC on.
+ * @param len length of data to process.
+ * @param params see documentation of CRCParam:w
+ * @return the CRC value
+ */
+ // This code "stolen" from Sven Reifegerste (zorci at gmx.de).
+ // Found at http://rcswww.urz.tu-dresden.de/~sr21/crctester.c
+ // from link at http://rcswww.urz.tu-dresden.de/~sr21/crc.html
+ inline unsigned long computeCRC(const unsigned char *data,
+ unsigned long len,
+ const CRCParam& params)
+ {
+ unsigned long i, j, c, bit;
+ unsigned long crc = params.initial;
+
+ // at first, compute constant bit masks for whole CRC and
+ // CRC high bit
+ unsigned long crcmask =
+ ((((unsigned long)1 << (params.order - 1)) - 1) << 1) | 1;
+ unsigned long crchighbit = (unsigned long)1 << (params.order - 1);
+
+ if (crc && params.direct)
+ {
+ for (i = 0; i < params.order; i++)
+ {
+ bit = crc & 1;
+ if (bit)
+ {
+ crc ^= params.polynom;
+ }
+ crc >>= 1;
+ if (bit)
+ {
+ crc |= crchighbit;
+ }
+ }
+ }
+
+
+ for (i = 0; i < len; i++)
+ {
+ c = (unsigned long) * data++;
+ if (params.refin)
+ {
+ c = reflect(c, 8);
+ }
+
+ for (j = 0x80; j; j >>= 1)
+ {
+ bit = crc & crchighbit;
+ crc <<= 1;
+ if (c & j)
+ {
+ crc |= 1;
+ }
+ if (bit)
+ {
+ crc ^= params.polynom;
+ }
+ }
+ }
+
+ for (i = 0; i < params.order; i++)
+ {
+ bit = crc & crchighbit;
+ crc <<= 1;
+ if (bit)
+ {
+ crc ^= params.polynom;
+ }
+ }
+
+ if (params.refout)
+ {
+ crc = reflect(crc, params.order);
+ }
+ crc ^= params.final;
+ crc &= crcmask;
+
+ return crc;
+ }
+
+ /**
+ * Calculate an Exclusive-OR Checksum on the string /a str.
+ * @return the calculated checksum.
+ * @throws gpstk::InvalidParameter if there is a partial word at
+ * the end of /a str.
+ */
+ template<class X>
+ X xorChecksum(const std::string& str)
+ throw(gpstk::InvalidParameter)
+ {
+ short wordSize = sizeof(X);
+ short strSize = str.size();
+
+ if(strSize % wordSize != 0)
+ {
+ gpstk::Exception ip("Incomplete word in string.");
+ GPSTK_THROW(ip);
+ }
+
+ X temp, xc = 0;
+
+ for(short i = 0; (i + wordSize - 1) < strSize; i += wordSize)
+ {
+ memcpy(&temp, &str[i], wordSize);
+ xc ^= temp;
+ }
+
+ return xc;
+ }
+ //@}
+
+ } // end namespace BinUtils
+} // end namespace gpstk
+
+#endif
diff --git a/trunk/src/CivilTime.cpp b/trunk/src/CivilTime.cpp
new file mode 100644
index 0000000..a2c7e3f
--- /dev/null
+++ b/trunk/src/CivilTime.cpp
@@ -0,0 +1,316 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CivilTime.cpp#6 $"
+
+#include "CivilTime.hpp"
+#include "TimeConverters.hpp"
+
+namespace gpstk
+{
+ const std::string CivilTime::printChars( "YymbBdHMSf" );
+ const std::string
+ CivilTime::defaultFormat( "%02m/%02d/%04Y %02H:%02M:%02.9f");
+
+ /// Long month names for converstion from numbers to strings
+ const char * CivilTime::MonthNames[] =
+ {
+ "Error",
+ "January","February", "March", "April",
+ "May", "June","July", "August",
+ "September", "October", "November", "December"
+ };
+
+ /// Short month names for converstion from numbers to strings
+ const char * CivilTime::MonthAbbrevNames[] =
+ {
+ "err", "Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul",
+ "Aug", "Sep", "Oct", "Nov", "Dec"
+ };
+
+ CivilTime& CivilTime::operator=( CivilTime& right )
+ throw()
+ {
+ year = right.year;
+ month = right.month;
+ day = right.day;
+ hour = right.hour;
+ minute = right.minute;
+ second = right.second;
+ return *this;
+ }
+
+ CommonTime CivilTime::convertToCommonTime() const
+ {
+ // get the julian day
+ long jday = convertCalendarToJD( year, month, day );
+ // get the second of day
+ double sod = convertTimeToSOD( hour, minute, second );
+ // make a CommonTime with jd, whole sod, and fractional second of day
+ return CommonTime( jday, static_cast<long>( sod ),
+ ( sod - static_cast<long>( sod ) ) );
+ }
+
+ void CivilTime::convertFromCommonTime( const CommonTime& ct )
+ {
+ long jday, sod;
+ double fsod;
+ // get the julian day, second of day, and fractional second of day
+ ct.get( jday, sod, fsod );
+ // convert the julian day to calendar "year/month/day of month"
+ convertJDtoCalendar( jday, year, month, day );
+ // convert the (whole) second of day to "hour/minute/second"
+ convertSODtoTime( static_cast<double>( sod ), hour, minute, second );
+ // add the fractional second of day to "second"
+ second += fsod;
+ }
+
+ std::string CivilTime::printf(const std::string& fmt) const
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using gpstk::StringUtils::formattedPrint;
+ std::string rv = fmt;
+
+ rv = formattedPrint( rv, formatPrefixInt + "Y",
+ "Yhd", year );
+ rv = formattedPrint( rv, formatPrefixInt + "y",
+ "yhd", static_cast<short>( year % 100 ) );
+ rv = formattedPrint( rv, formatPrefixInt + "m",
+ "mhd", month );
+ rv = formattedPrint( rv, formatPrefixInt + "b",
+ "bs", MonthAbbrevNames[month] );
+ rv = formattedPrint( rv, formatPrefixInt + "B",
+ "Bs", MonthNames[month] );
+ rv = formattedPrint( rv, formatPrefixInt + "d",
+ "dhd", day );
+ rv = formattedPrint( rv, formatPrefixInt + "H",
+ "Hhd", hour );
+ rv = formattedPrint( rv, formatPrefixInt + "M",
+ "Mhd", minute );
+ rv = formattedPrint( rv, formatPrefixInt + "S",
+ "Sd", static_cast<short>( second ) );
+ rv = formattedPrint( rv, formatPrefixFloat + "f",
+ "ff", second );
+ return rv;
+ }
+ catch( gpstk::StringUtils::StringException& exc )
+ {
+ GPSTK_RETHROW( exc );
+ }
+ }
+
+ bool CivilTime::setFromInfo( const IdToValue& info )
+ throw()
+ {
+ using namespace gpstk::StringUtils;
+
+ bool hyear( false ), hmonth( false ), hday( false ),
+ hhour( false ), hmin( false ), hsec( false );
+ int iyear( 0 ), imonth( 1 ), iday( 1 ), ihour( 0 ), imin( 0 );
+ double isec( 0. );
+
+ for( IdToValue::const_iterator i = info.begin();
+ i != info.end(); i++ )
+ {
+ switch( i->first )
+ {
+ case 'Y':
+ iyear = asInt( i->second );
+ hyear = true;
+ break;
+
+ case 'y':
+ switch( i->second.length() )
+ {
+ case 2:
+ iyear = asInt( i->second ) + 1900;
+ if( iyear < 1980 )
+ iyear += 100;
+ break;
+ case 3:
+ iyear = asInt( i->second ) + 1000;
+ if( iyear < 1980 )
+ iyear += 100;
+ break;
+ default:
+ iyear = asInt( i->second );
+ break;
+ };
+ hyear = true;
+ break;
+
+ case 'm':
+ imonth = asInt( i->second );
+ hmonth = true;
+ break;
+
+ case 'b':
+ case 'B':
+ {
+ std::string thisMonth( i->second );
+ lowerCase(thisMonth);
+
+ if (isLike(thisMonth, "jan.*")) imonth = 1;
+ else if (isLike(thisMonth, "feb.*")) imonth = 2;
+ else if (isLike(thisMonth, "mar.*")) imonth = 3;
+ else if (isLike(thisMonth, "apr.*")) imonth = 4;
+ else if (isLike(thisMonth, "may.*")) imonth = 5;
+ else if (isLike(thisMonth, "jun.*")) imonth = 6;
+ else if (isLike(thisMonth, "jul.*")) imonth = 7;
+ else if (isLike(thisMonth, "aug.*")) imonth = 8;
+ else if (isLike(thisMonth, "sep.*")) imonth = 9;
+ else if (isLike(thisMonth, "oct.*")) imonth = 10;
+ else if (isLike(thisMonth, "nov.*")) imonth = 11;
+ else if (isLike(thisMonth, "dec.*")) imonth = 12;
+ else
+ {
+ return false;
+ //InvalidRequest ir("Invalid month entry for readTime");
+ //GPSTK_THROW( ir );
+ }
+ hmonth = true;
+ }
+ break;
+
+ case 'd':
+ iday = asInt( i->second );
+ hday = true;
+ break;
+
+ case 'H':
+ ihour = asInt( i->second );
+ hhour = true;
+ break;
+
+ case 'M':
+ imin = asInt( i->second );
+ hmin = true;
+ break;
+
+ case 'S':
+ isec = asDouble( i->second );
+ hsec = true;
+ break;
+
+ default:
+ // do nothing
+ break;
+ };
+ }
+
+ if( hyear )
+ {
+ year = iyear;
+ month = imonth;
+ day = iday;
+ hour = ihour;
+ minute = imin;
+ second = isec;
+ return true;
+ }
+
+ return false;
+ }
+
+ bool CivilTime::isValid() const
+ throw()
+ {
+ CivilTime temp;
+ temp.convertFromCommonTime( convertToCommonTime() );
+ if( *this == temp )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool CivilTime::operator==( const CivilTime& right ) const
+ throw()
+ {
+ if( year == right.year &&
+ month == right.month &&
+ day == right.day &&
+ hour == right.hour &&
+ minute == right.minute &&
+ second == right.second )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool CivilTime::operator!=( const CivilTime& right ) const
+ throw()
+ {
+ return (! operator==( right ) );
+ }
+
+ bool CivilTime::operator<( const CivilTime& right ) const
+ throw()
+ {
+ if( year < right.year )
+ {
+ return true;
+ }
+ if( year > right.year )
+ {
+ return false;
+ }
+ if( month < right.month )
+ {
+ return true;
+ }
+ if( month > right.month )
+ {
+ return false;
+ }
+ if( day < right.day )
+ {
+ return true;
+ }
+ if( day > right.day )
+ {
+ return false;
+ }
+ if( hour < right.hour )
+ {
+ return true;
+ }
+ if( hour > right.hour )
+ {
+ return false;
+ }
+ if( minute < right.minute )
+ {
+ return true;
+ }
+ if( minute > right.minute )
+ {
+ return false;
+ }
+ if( second < right.second )
+ {
+ return true;
+ }
+
+ return false;
+ }
+
+ bool CivilTime::operator>( const CivilTime& right ) const
+ throw()
+ {
+ return (! operator<=( right ) );
+ }
+
+ bool CivilTime::operator<=( const CivilTime& right ) const
+ throw()
+ {
+ return ( operator<( right ) || operator==( right ) );
+ }
+
+ bool CivilTime::operator>=( const CivilTime& right ) const
+ throw()
+ {
+ return (! operator<( right ) );
+ }
+
+} // namespace
diff --git a/trunk/src/CivilTime.hpp b/trunk/src/CivilTime.hpp
new file mode 100644
index 0000000..6fcce28
--- /dev/null
+++ b/trunk/src/CivilTime.hpp
@@ -0,0 +1,168 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CivilTime.hpp#4 $"
+
+#ifndef GPSTK_CIVILTIME_HPP
+#define GPSTK_CIVILTIME_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+ /**
+ * This class encapsulates the representation of time consisting of
+ * year, month, day (of month), hour (of day), minute (of hour), and
+ * second (of minute).
+ */
+ class CivilTime : public TimeTag
+ {
+ public:
+
+ static const std::string printChars;
+ static const std::string defaultFormat;
+
+ /**
+ * @defgroup caltbo CivilTime Basic Operations
+ * Default and Copy Constructors, Assignment Operator and Destructor.
+ */
+ //@{
+ /**
+ * Default Constructor.
+ * All elements default to zero.
+ */
+ CivilTime( int yr = 0,
+ int mo = 0,
+ int dy = 0,
+ int hr = 0,
+ int mn = 0,
+ double s = 0. )
+ throw()
+ : year(yr), month(mo), day(dy), hour(hr), minute(mn), second(s)
+ {}
+
+ /**
+ * Copy Constructor.
+ * @param right a const reference to the CivilTime object to copy
+ */
+ CivilTime( const CivilTime& right )
+ throw()
+ : year( right.year ), month( right.month ), day( right.day ),
+ hour( right.hour ), minute( right.minute ),
+ second( right.second )
+ {}
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const TimeTag reference and copies its contents via
+ * conversion to CommonTime.
+ * @param right a const reference to the TimeTag-based object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ CivilTime( const TimeTag& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right.convertToCommonTime() );
+ }
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const CommonTime reference and copies its contents via
+ * the convertFromCommonTime method.
+ * @param right a const reference to the CommonTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ CivilTime( const CommonTime& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right );
+ }
+
+ /**
+ * Assignment Operator.
+ * @param right a const reference to the CivilTime object to copy
+ * @return a reference to this CivilTime object
+ */
+ CivilTime& operator=( CivilTime& right )
+ throw();
+
+ /// Virtual Destructor.
+ virtual ~CivilTime()
+ throw()
+ {}
+ //@}
+
+ /// Long month names for converstion from numbers to strings
+ static const char *MonthNames[];
+
+ /// Short month names for converstion from numbers to strings
+ static const char *MonthAbbrevNames[];
+
+ // The following functions are required by TimeTag.
+ virtual CommonTime convertToCommonTime() const;
+
+ virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+ /// This function formats this time to a string. The exceptions
+ /// thrown would only be due to problems parsing the fmt string.
+ virtual std::string printf(const std::string& fmt) const
+ throw( gpstk::StringUtils::StringException );
+
+ /**
+ * Set this object using the information provided in \a info.
+ * @param info the IdToValue object to which this object shall be set.
+ * @return true if this object was successfully set using the
+ * data in \a info, false if not.
+ */
+ virtual bool setFromInfo( const IdToValue& info )
+ throw();
+
+ /// Return a string containing the characters that this class
+ /// understands when printing times.
+ virtual std::string getPrintChars() const
+ throw()
+ {
+ return printChars;
+ }
+
+ /// Return a string containing the default format to use in printing.
+ virtual std::string getDefaultFormat() const
+ throw()
+ {
+ return defaultFormat;
+ }
+
+ virtual bool isValid() const
+ throw();
+
+ /**
+ * @defgroup ctco CivilTime Comparison Operators
+ * All comparison operators have a parameter "right" which corresponds
+ * to the CivilTime object to the right of the symbol.
+ * All comparison operators are const and return true on success
+ * and false on failure.
+ */
+ //@{
+ bool operator==( const CivilTime& right ) const
+ throw();
+ bool operator!=( const CivilTime& right ) const
+ throw();
+ bool operator<( const CivilTime& right ) const
+ throw();
+ bool operator>( const CivilTime& right ) const
+ throw();
+ bool operator<=( const CivilTime& right ) const
+ throw();
+ bool operator>=( const CivilTime& right ) const
+ throw();
+ //@}
+
+ int year;
+ int month;
+ int day;
+ int hour;
+ int minute;
+ double second;
+
+ };
+
+} // namespace
+
+#endif // GPSTK_CIVILTIME_HPP
diff --git a/trunk/src/ClockModel.hpp b/trunk/src/ClockModel.hpp
new file mode 100644
index 0000000..f1daaea
--- /dev/null
+++ b/trunk/src/ClockModel.hpp
@@ -0,0 +1,75 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ClockModel.hpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ClockModel.hpp
+ * An abstract class to provide an interface to a model of a clock offset.
+ * The model neds to be able to return an offset value at an indicated
+ * point in time.
+ */
+
+#ifndef CLOCKMODEL_HPP
+#define CLOCKMODEL_HPP
+
+#include <map>
+#include "Exception.hpp"
+#include "DayTime.hpp"
+
+/**
+ * This is a abstract base class for a clock model
+ */
+
+namespace gpstk
+{
+ class ClockModel
+ {
+ public:
+ ClockModel() throw() {};
+
+ virtual double getOffset(const gpstk::DayTime& t) const = 0;
+
+ virtual bool isOffsetValid(const gpstk::DayTime& t) const = 0;
+
+ };
+}
+#endif
diff --git a/trunk/src/CodeBuffer.cpp b/trunk/src/CodeBuffer.cpp
new file mode 100644
index 0000000..b3a410f
--- /dev/null
+++ b/trunk/src/CodeBuffer.cpp
@@ -0,0 +1,81 @@
+/* $ID: $
+* CodeBuffer.cpp
+* P(Y)-code Buffer class.
+* Applied Research Laboratories, The University of Texas at Austin
+* August 2003
+*/
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+ // Local headers
+#include "CodeBuffer.hpp"
+
+namespace gpstk
+{
+ CodeBuffer::CodeBuffer( const int SVPRNID )
+ {
+ PRNID = SVPRNID;
+ POrYCode = P_CODE;
+ currentTime = gpstk::DayTime();
+ buffer = new unsigned long[NUM_6SEC_WORDS];
+ }
+
+ // Assignment
+ CodeBuffer& CodeBuffer::operator=( const CodeBuffer& c )
+ {
+ if (this!=&c)
+ {
+ PRNID = c.PRNID;
+ POrYCode = c.POrYCode;
+ currentTime = c.currentTime;
+ for (long i=0;i<NUM_6SEC_WORDS;++i) buffer[i] = c.buffer[i];
+ }
+ return( *this );
+ }
+
+ void CodeBuffer::updateBufferStatus( const gpstk::DayTime& dt, const codeType PYFlag )
+ {
+ currentTime = dt;
+ POrYCode = PYFlag;
+ }
+
+} // end of namespace
diff --git a/trunk/src/CodeBuffer.hpp b/trunk/src/CodeBuffer.hpp
new file mode 100644
index 0000000..caff4d9
--- /dev/null
+++ b/trunk/src/CodeBuffer.hpp
@@ -0,0 +1,173 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CodeBuffer.hpp#1 $"
+// CodeBuffer.hpp
+
+#ifndef CODEBUFFER_HPP
+#define CODEBUFFER_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+ // Library headers
+#include "DayTime.hpp"
+
+ // Project headers
+#include "PCodeConst.hpp"
+
+namespace gpstk
+{
+/** @addtogroup code */
+//@{
+ /** P(Y)-code Buffer class.
+ * Applied Research Laboratories, The University of Texas at Austin
+ * August 2003
+ *
+ * CodeBuffer is a helper class designed to store P-code information.
+ * Six seconds of code for a particular satellite is stored in each
+ * object. The satellite is identified by PRNID and the beginning
+ * time is specified in a DayTime object. The code is stored in an
+ * array of unsigned long (assumed 32-bit) integers. The time order
+ * started with the MSB of first word of the buffer ([0]) and runs
+ * through the LSB of the last word of the buffer.
+ *
+ * The size of the buffer is probably the most notable feature of
+ * this class. 1.5s (one Z-count) of P(Y)-code is 15,345,000 bits.
+ * Therefore, 6 seconds is equal to 4 Z-counts or 4 * 15,345,000 bits
+ * = 61,380,000 bits. These bits are stored in 1,918,125 unsigned
+ * long integers. The fact that 61,380,000 is evenly divisble by 32
+ * is not a coincidence, but part of the design. The constant
+ * NUM_6SEC_WORDS is used to hold the value 1,918,125 and located in
+ * PCodeConst.h.
+ */
+ class CodeBuffer
+ {
+ public:
+ /// Defines the type of code held in the buffer
+ //enum codeType { P_CODE, Y_CODE, BOTH };
+
+ /**
+ * Instantiate and initialize a code buffer for a particular
+ * satellite.
+ */
+ CodeBuffer( const int SVPRNID );
+ ~CodeBuffer( );
+ CodeBuffer& operator=( const CodeBuffer& c );
+
+ /**
+ * Update the time associated with the buffer and the designation
+ * of the data contained in the buffer as P-code or Y-code.
+ */
+ void updateBufferStatus( const gpstk::DayTime& dt,
+ const codeType PYFlag );
+
+ /**
+ * Update the time associated with the buffer and the designation
+ * of the data contained in the buffer as P-code or Y-code. In this
+ * case, the time is not being changed, but the code flag may be
+ * changed.
+ */
+ void updateBufferStatus( const codeType PYFlag ) { POrYCode = PYFlag; }
+
+ /// Accessor returning the current time.
+ const gpstk::DayTime& getCurrentTime( ) { return(currentTime); }
+
+ /// Accessor returning the type of code in the buffer (P or Y)
+ codeType getPYFlag( ) { return(POrYCode); }
+
+ /// Accessor returing the PRN ID of the buffer
+ int getPRNID( ) { return(PRNID); }
+
+ /// Set or return the designated word of the code buffer.
+ unsigned long& operator[]( int i );
+ const unsigned long& operator[]( const int i ) const;
+
+ /** Given a bit number between 0 and (NUM_6SEC_WORDS * MAX_BIT) - 1,
+ * return the value of the bit as a right justified unsigned
+ * long word (0x00000000 or 0x00000001)..
+ */
+ unsigned long getBit( const long i );
+
+ /** Perform an exclusive-or operation on the bits contained in
+ * this instance of CodeBuffer and the instance referenced by cb.
+ */
+ CodeBuffer& operator^=( const CodeBuffer& cb );
+
+ protected:
+ CodeBuffer( const CodeBuffer& c );
+ unsigned long * buffer;
+ int PRNID;
+ gpstk::DayTime currentTime;
+ codeType POrYCode;
+ };
+
+ inline CodeBuffer::~CodeBuffer( ) { delete [] buffer; }
+ inline CodeBuffer& CodeBuffer::operator^=( const CodeBuffer& cb )
+ {
+ for (long i=0;i<NUM_6SEC_WORDS;++i) buffer[i] ^= cb.buffer[i];
+ return( *this );
+ }
+
+ inline unsigned long& CodeBuffer::operator[]( int i )
+ {
+ return(buffer[i]);
+ }
+
+ inline const unsigned long& CodeBuffer::operator[]( int i ) const
+ {
+ return(buffer[i]);
+ }
+
+ inline unsigned long CodeBuffer::getBit( const long i )
+ {
+ unsigned long iret;
+ long bNdx = i / MAX_BIT;
+ long bitNum = i - (bNdx * MAX_BIT);
+ iret = buffer[bNdx];
+
+ // Shift LEFT to clear off msbs
+ iret <<= bitNum;
+ // Then shift RIGHT to clear off lsbs
+ iret >>= (MAX_BIT-1);
+
+ return(iret);
+ }
+ //@}
+} // end of namespace
+#endif // CODEBUFFER_HPP
diff --git a/trunk/src/CommandOption.cpp b/trunk/src/CommandOption.cpp
new file mode 100644
index 0000000..75ba6c7
--- /dev/null
+++ b/trunk/src/CommandOption.cpp
@@ -0,0 +1,394 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOption.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file CommandOption.cpp
+ * Command line options
+ */
+
+#include "CommandOption.hpp"
+#include "StringUtils.hpp"
+
+#include <sstream>
+
+using namespace std;
+using namespace gpstk::StringUtils;
+
+namespace gpstk
+{
+ CommandOptionVec defaultCommandOptionList;
+
+ // Prints out short options with a leading '-' and long ones with '--'.
+ // Puts a '|' between them if it has both.
+ string CommandOption::getOptionString() const
+ {
+ string toReturn;
+ if (shortOpt != 0)
+ {
+ toReturn += string("-") + string(1, shortOpt);
+ if (!longOpt.empty())
+ toReturn += string(" | --") + longOpt;
+ }
+ else
+ {
+ toReturn += string("--") + longOpt;
+ }
+ return toReturn;
+ }
+
+ // Prints out short options with a leading '-' and long ones with '--'.
+ // Puts a ',' between them if it has both.
+ string CommandOption::getFullOptionString() const
+ {
+ string toReturn(" ");
+ if (shortOpt != 0)
+ {
+ toReturn += string("-") + string(1, shortOpt);
+ if (!longOpt.empty())
+ {
+ toReturn += string(", --") + longOpt;
+ if (optFlag == hasArgument)
+ toReturn += "=" + getArgString();
+ }
+ }
+ else
+ {
+ toReturn += string(" --") + longOpt;
+ if (optFlag == hasArgument)
+ toReturn += "=" + getArgString();
+ }
+ return toReturn;
+ }
+
+ // creates the struct option for getopt_long
+ struct option CommandOption::toGetoptLongOption() const
+ {
+ struct option o = {longOpt.c_str(), optFlag, NULL, 0};
+ return o;
+ }
+
+ // makes the string for getopt
+ std::string CommandOption::toGetoptShortOption() const
+ {
+ std::string opt(1, shortOpt);
+ if (optFlag == hasArgument) opt += ":";
+ return opt;
+ }
+
+ // writes out the vector of values for this command option
+ std::ostream& CommandOption::dumpValue(std::ostream& out) const
+ {
+ std::vector<std::string>::const_iterator itr = value.begin();
+ while(itr != value.end())
+ {
+ out << *itr << std::endl;
+ itr++;
+ }
+ return out;
+ }
+
+ // returns a string like this:
+ //
+ // -f | --foo <arg>
+ // this is the description
+ //
+ std::string CommandOption::getDescription() const
+ {
+ ostringstream out;
+ // do the option itself first
+ out << '\t';
+ if (shortOpt != 0)
+ {
+ out << '-' << shortOpt;
+ if (!longOpt.empty())
+ out << " | ";
+ else
+ out << '\t';
+ }
+ if (! longOpt.empty())
+ {
+ out << "--" << longOpt;
+ }
+ if (optFlag == hasArgument)
+ {
+ out << " " << getArgString();
+ }
+ // and the description goes on a new line
+ out << endl << prettyPrint(description,
+ "\n",
+ " ",
+ " ");
+ if (maxCount != 0)
+ {
+ out << "\t\tUp to " << maxCount << " may be used on the command line."
+ << endl;
+ }
+ return out.str();
+ }
+
+ // this checks if it expects number or string type arguments.
+ // it returns a string describing the error, if any.
+ string CommandOption::checkArguments()
+ {
+ if (required && (count == 0))
+ return "Required option " + getOptionString() + " was not found.";
+
+ return string();
+ }
+
+ string CommandOptionRest::checkArguments()
+ {
+ if (required && (count == 0))
+ return "Required trailing argument was not found.";
+
+ return string();
+ }
+
+ string CommandOptionWithNumberArg::checkArguments()
+ {
+ string errstr = CommandOption::checkArguments();
+
+ if (!errstr.empty())
+ return errstr;
+
+ vector<string>::size_type vecindex;
+ for(vecindex = 0; vecindex < value.size(); vecindex++)
+ {
+ if (!isDigitString(value[vecindex]))
+ {
+ string errstr("Argument for ");
+ errstr += getOptionString();
+ errstr += string(" should be a digit string.");
+ return errstr;
+ }
+ }
+
+ return string();
+ }
+
+ string CommandOptionWithStringArg::checkArguments()
+ {
+ string errstr = CommandOption::checkArguments();
+
+ if (!errstr.empty())
+ return errstr;
+
+ vector<string>::size_type vecindex;
+ for(vecindex = 0; vecindex < value.size(); vecindex++)
+ {
+ if (!isAlphaString(value[vecindex]))
+ {
+ string errstr("Argument for ");
+ errstr += getOptionString();
+ errstr += string(" should be an alphabetic string.");
+ return errstr;
+ }
+ }
+ return errstr;
+ }
+
+ string CommandOptionMutex::checkArguments()
+ {
+ if (doOneOfChecking)
+ {
+ string oo = CommandOptionOneOf::checkArguments();
+ if (oo != string())
+ return oo;
+ }
+
+ // mutex doesn't call CommandOption::checkArguments because
+ // it uses "required" differently
+ string errstr("Only one of the following options may be specified: ");
+ int firstSpec = -1;
+ bool touched = false;
+
+ for (int i = 0; i < optionVec.size(); i++)
+ {
+ CommandOption *opt = optionVec[i];
+
+ if (i)
+ errstr += ", ";
+ errstr += opt->getOptionString();
+ if (opt->getCount())
+ {
+ if (firstSpec != -1)
+ touched = true;
+ else
+ firstSpec = i;
+ }
+ }
+
+ if (touched)
+ return errstr;
+
+ return string();
+ }
+
+ string CommandOptionOneOf::checkArguments()
+ {
+ // one-of doesn't call CommandOption::checkArguments because
+ // it doesn't use "required"
+ string errstr("One of the following options must be specified: ");
+ bool found = false;
+
+ for (int i = 0; i < optionVec.size(); i++)
+ {
+ if (optionVec[i]->getCount())
+ found = true;
+ if (i > 0)
+ errstr += ", ";
+ errstr += optionVec[i]->getOptionString();
+ }
+
+ if (!found)
+ return errstr;
+
+ return string();
+ }
+
+ CommandOption* CommandOptionOneOf::whichOne() const
+ {
+ CommandOption *rv = NULL;
+
+ for (int i = 0; i < optionVec.size(); i++)
+ {
+ if (optionVec[i]->getCount())
+ {
+ rv = optionVec[i];
+ break;
+ }
+ }
+
+ return rv;
+ }
+
+ string CommandOptionAllOf::checkArguments()
+ {
+ string errstr("The following options must be used together: ");
+ bool found = false, notFound = false;
+
+ for (int i = 0; i < optionVec.size(); i++)
+ {
+ if (optionVec[i]->getCount())
+ found = true;
+ else
+ notFound = true;
+ if (i > 0)
+ errstr += ", ";
+ errstr += optionVec[i]->getOptionString();
+ }
+
+ if (found && notFound)
+ return errstr;
+
+ return string();
+ }
+
+ unsigned long CommandOptionAllOf::getCount() const
+ {
+ unsigned long rv = 0;
+ for (int i = 0; i < optionVec.size(); i++)
+ {
+ if (optionVec[i]->getCount() == 0)
+ return 0;
+ rv += optionVec[i]->getCount();
+ }
+ return rv;
+ }
+
+ string CommandOptionDependent::checkArguments()
+ {
+ // dependent doesn't call CommandOption::checkArguments because
+ // it doesn't use "required"
+ string errstr;
+
+ if (!requiree)
+ errstr = "Null requiree (parent) for CommandOptionDependent";
+ if (!requirer)
+ errstr = "Null requirer (child) for CommandOptionDependent";
+
+ if (requirer->getCount() && !requiree->getCount())
+ errstr = "Option " + requirer->getOptionString() + " requires " +
+ requiree->getOptionString();
+
+ return errstr;
+ }
+
+ string CommandOptionGroupOr::getOptionString() const
+ {
+ string rv;
+ if (optionVec.size() > 1)
+ rv += "(";
+ for (int i = 0; i < optionVec.size(); i++)
+ {
+ if (i) rv += ",";
+ rv += optionVec[i]->getOptionString();
+ }
+ if (optionVec.size() > 1)
+ rv += ")";
+
+ return rv;
+ }
+
+ unsigned long CommandOptionGroupOr::getCount() const
+ {
+ unsigned long rv = 0;
+ for (int i = 0; i < optionVec.size(); i++)
+ rv += optionVec[i]->getCount();
+
+ return rv;
+ }
+
+ unsigned long CommandOptionGroupAnd::getCount() const
+ {
+ unsigned long rv = 0;
+ for (int i = 0; i < optionVec.size(); i++)
+ {
+ if (optionVec[i]->getCount() == 0)
+ return 0;
+ rv += optionVec[i]->getCount();
+ }
+ return rv;
+ }
+
+} // namespace gpstk
diff --git a/trunk/src/CommandOption.hpp b/trunk/src/CommandOption.hpp
new file mode 100644
index 0000000..fdd0dc0
--- /dev/null
+++ b/trunk/src/CommandOption.hpp
@@ -0,0 +1,629 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOption.hpp#2 $"
+
+/**
+ * @file CommandOption.hpp
+ * Command line options
+ */
+
+#ifndef COMMANDOPTION_HPP
+#define COMMANDOPTION_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifdef __SUNPRO_CC
+#include "getopt.h"
+#elif defined (_AIX)
+#include "getopt.h"
+#else
+#include <getopt.h>
+#endif
+
+#include <string>
+#include <vector>
+
+namespace gpstk
+{
+ /** @defgroup commandoptiongroup Command-Line Options */
+ //@{
+
+ // forward declaration
+ class CommandOption;
+ typedef std::vector<CommandOption*> CommandOptionVec;
+
+ /// The default command option list used by CommandOption and
+ /// gpstk::CommandOptionParser
+ extern CommandOptionVec defaultCommandOptionList;
+
+ /**
+ * This class is part of a replacement for getopt.
+ *
+ * Each CommandOption
+ * represents an option you would enter at a command line. You can
+ * specify whether the option does or does not require an argument,
+ * if the option is of a certain type (string or number), then the
+ * short option (i.e. '-f') and long option ('--foo'), whether it's
+ * a required option or not, then a short description for a help display.
+ * By default, options can appear an unlimited number of times on a
+ * command line. Use setMaxCount() to set a maximum limit to this.
+ * In that case, additional appearances of that option will trigger
+ * an error once parsed.
+ *
+ * When a CommandOption is created (not using the default
+ * constructor), it automatically adds itself to a list that will
+ * be used by gpstk::CommandOptionParser. If you want to manage your
+ * own list, pass in your own std::vector<gpstk::CommandOptionParser>
+ * with the CommandOption constructor. After parsing the command
+ * line, you can use the getValue() and
+ * getCount() methods to see what arguments
+ * the options had and how many times the option was listed on
+ * the command line.
+ *
+ * This class is strongly connected to gpstk::CommandOptionParser, so
+ * if you change anything here, make sure you don't side affect
+ * the other.
+ *
+ * @sa getopttest.cpp in the test directory for some examples.
+ *
+ * @warning DO NOT USE THE DEFAULT CONSTRUCTOR FOR THIS CLASS.
+ * That's for the STL use requirements only.
+ * @warning Do not repeat characters or strings used in the short
+ * or long command options. Doing so will cause one of them not to work.
+ * @warning Do not reuse the CommandOption objects. Make a separate
+ * one for each option you want on the command line.
+ * @warning Make the description an understandable, grammatically
+ * correct sentence.
+ * @warning The resulting behavior of not heeding the above advice
+ * is undefined, and I take no responsibility for the results of you
+ * not taking appropriate action in light of this warning.
+ */
+ class CommandOption
+ {
+ public:
+ /// let's the CommandOptionParser see it's private parts =)
+ friend class CommandOptionParser;
+
+ /// Every option must either have or not have an argument.
+ /// There are no optional arguments because Solaris doesn't support it.
+ enum CommandOptionFlag
+ {
+ noArgument = 0, ///< option requires no arguments
+ hasArgument = 1 ///< option requires an argument
+ };
+
+ /// This is so you can limit what type or argument an option can have.
+ /// If specified, it will be checked when the argument is encountered.
+ /// Errors will get set appropriately if there are any.
+ enum CommandOptionType
+ {
+ trailingType, ///< Special case, no option, just the remaining args.
+ stdType, ///< The argument of this option can be any type.
+ metaType ///< A meta-option that has its own special validation.
+ };
+
+ /**
+ * Constructor.
+ * @param of Whether or not this command requires an argument
+ * @param ot The type of option (string, number, any, etc.)
+ * @param shOpt The one character command line option. Set to 0
+ * if unused.
+ * @param loOpt The long command option. Set to std::string()
+ * if unused.
+ * @param desc A string describing what this option does.
+ * @param req Set to true if this is a required option.
+ * @param optVectorList Use this to create your own
+ * command option list if you want to use an alternate method
+ * of parsing the command options.
+ */
+ CommandOption(const CommandOptionFlag of,
+ const CommandOptionType ot,
+ const char shOpt,
+ const std::string& loOpt,
+ const std::string& desc,
+ const bool req = false,
+ CommandOptionVec& optVectorList =
+ defaultCommandOptionList)
+ : optFlag(of), optType(ot),
+ shortOpt(shOpt), longOpt(loOpt), description(desc),
+ required(req), count(0), maxCount(0), order(0)
+ {optVectorList.push_back(this);}
+
+ /// Sets the maximum number of times this should appear on the
+ /// command line.
+ CommandOption& setMaxCount(const unsigned long l)
+ {maxCount = l; return *this;}
+
+ /// Returns a string with the flags for this CommandOption.
+ /// (i.e. "-f | --foo")
+ virtual std::string getOptionString() const;
+
+ /// Returns a formatted string with the flags for this CommandOption.
+ /// (i.e. " -f, --foo=ARG")
+ std::string getFullOptionString() const;
+
+ /// Returns a string with the argument format.
+ virtual std::string getArgString() const
+ { return "ARG"; }
+
+ /// Returns a struct option for use with getopt_long.
+ struct option toGetoptLongOption() const;
+ /// Returns a string for use with getopt.
+ std::string toGetoptShortOption() const;
+
+ /**
+ * Returns the number of times this option was found on the
+ * command line.
+ */
+ virtual unsigned long getCount() const { return count; }
+
+ /**
+ * Returns the arguments this option had passed in from the
+ * command line.
+ */
+ std::vector<std::string> getValue() const { return value; }
+
+ /// Returns the order which this command option was seen on the
+ /// command line, with 1 being the first option.
+ // If it can be repeated, this order represents the order of
+ /// the last occurance of this option.
+ unsigned int getOrder() const { return order; }
+
+ /// Displays this->value to the stream \c out.
+ std::ostream& dumpValue(std::ostream& out) const;
+
+ /// Returns a formatted string with the description of this option.
+ std::string getDescription() const;
+
+ /**
+ * If you specified a format for the arguments (for example, digit or
+ * string), this function checks them to see if they match.
+ * If they don't, an error string is returned. If they do, an
+ * empty string is returned.
+ * @param optVec complete set of processed command line options
+ * being processed (used by some option types).
+ */
+ virtual std::string checkArguments();
+
+ /// Destructor
+ virtual ~CommandOption() {}
+
+ protected:
+ /// Flag for determining whether this option has an argument or not.
+ CommandOptionFlag optFlag;
+ /// Flag for determining whether this option has a specific
+ /// argument type.
+ CommandOptionType optType;
+ /// The character for the short option (for example, '-f').
+ char shortOpt;
+ /// The string for the long option (for example, "--foo").
+ std::string longOpt;
+ /// The description for the help text.
+ std::string description;
+ /// Any arguments passed with this option get put in here.
+ std::vector<std::string> value;
+ /// Whether or not this is a required command line option.
+ bool required;
+ /// The number of times this option was encountered on the
+ /// command line.
+ unsigned long count;
+ /// The maximum number of times this can appear on the command line.
+ /// If it's 0, then it's unlimited.
+ unsigned long maxCount;
+ /// The order in which this option was encountered on the command line
+ unsigned long order;
+
+ /// Default Constructor
+ CommandOption() {}
+ };
+
+ /// A subclass of CommandOption that is a required command line option.
+ class RequiredOption : public CommandOption
+ {
+ public:
+ /// Constructor
+ RequiredOption(const CommandOptionFlag of,
+ const CommandOptionType ot,
+ const char shOpt,
+ const std::string& loOpt,
+ const std::string& desc)
+ : CommandOption(of, ot, shOpt, loOpt, desc, true)
+ {}
+
+ /// Destructor
+ virtual ~RequiredOption() {}
+
+ protected:
+ /// default constructor
+ RequiredOption() {}
+ };
+
+ /// A subclass of CommandOption that has no arguments
+ class CommandOptionNoArg : public CommandOption
+ {
+ public:
+ /// Constructor
+ CommandOptionNoArg(const char shOpt,
+ const std::string& loOpt,
+ const std::string& desc,
+ const bool required = false)
+ : CommandOption(noArgument, stdType, shOpt, loOpt, desc, required)
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionNoArg() {}
+ /// Returns true if this option was found on the command line
+ operator bool() const throw() { return (getCount() != 0); }
+
+ protected:
+ /// Default Constructor
+ CommandOptionNoArg() {}
+ };
+
+ /// A subclass of CommandOption that has an argument.
+ class CommandOptionWithArg : public CommandOption
+ {
+ public:
+ /// Constructor
+ CommandOptionWithArg(const CommandOptionType ot,
+ const char shOpt,
+ const std::string& loOpt,
+ const std::string& desc,
+ const bool required = false)
+ : CommandOption(hasArgument, ot, shOpt, loOpt, desc, required)
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionWithArg() {}
+
+ protected:
+ /// Default Constructor
+ CommandOptionWithArg() {}
+ };
+
+ /// A CommandOption that requires a string argument.
+ class CommandOptionWithAnyArg : public CommandOptionWithArg
+ {
+ public:
+ /// Constructor
+ CommandOptionWithAnyArg(const char shOpt,
+ const std::string& loOpt,
+ const std::string& desc,
+ const bool required = false)
+ : CommandOptionWithArg(stdType, shOpt, loOpt, desc, required)
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionWithAnyArg() {}
+
+ protected:
+ /// Default Constructor
+ CommandOptionWithAnyArg() {}
+ };
+
+ /// A CommandOption that requires a string argument.
+ class CommandOptionWithStringArg : public CommandOptionWithArg
+ {
+ public:
+ /// Constructor
+ CommandOptionWithStringArg(const char shOpt,
+ const std::string& loOpt,
+ const std::string& desc,
+ const bool required = false)
+ : CommandOptionWithArg(stdType, shOpt, loOpt, desc, required)
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionWithStringArg() {}
+
+ virtual std::string checkArguments();
+
+ /// Returns a string with the argument format.
+ virtual std::string getArgString() const
+ { return "<alpha>"; }
+
+ protected:
+ /// Default Constructor
+ CommandOptionWithStringArg() {}
+ };
+
+ /// A CommandOption that requires a numeric argument.
+ class CommandOptionWithNumberArg : public CommandOptionWithArg
+ {
+ public:
+ /// Constructor
+ CommandOptionWithNumberArg(const char shOpt,
+ const std::string& loOpt,
+ const std::string& desc,
+ const bool required = false)
+ : CommandOptionWithArg(stdType, shOpt, loOpt, desc, required)
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionWithNumberArg() {}
+
+ virtual std::string checkArguments();
+
+ /// Returns a string with the argument format.
+ virtual std::string getArgString() const
+ { return "NUM"; }
+
+ protected:
+ /// Default Constructor
+ CommandOptionWithNumberArg() {}
+ };
+
+ /**
+ * It only makes sense to have a single one of these set. It is
+ * the option that takes the rest of the command line options
+ * that are not part of any other options. e.g. "strace -ofile
+ * command arg1 arg2". The "command arg1 arg2" part is placed in
+ * objects of this class.
+ *
+ * @short CommandOption to take the rest of the command line
+ */
+ class CommandOptionRest : public CommandOptionWithArg
+ {
+ public:
+ /**
+ * CommandOptionRest contructor. This sets the CommandOptionType
+ * for this object to trailingType.
+ *
+ * @param desc short description of the option
+ * @param required true if option is required
+ */
+ CommandOptionRest(const std::string& desc,
+ const bool required = false)
+ : CommandOptionWithArg(trailingType, 0, "", desc, required)
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionRest() {}
+
+ virtual std::string checkArguments();
+
+ protected:
+ /// Default Constructor
+ CommandOptionRest() {}
+ };
+
+ /**
+ * This is a special "command option" which is really a
+ * meta-option to make sure at least one of a set of real
+ * options has been used.
+ * \warning There's nothing to prevent you from, say, adding
+ * another meta-option to the list of mutually exclusive options
+ * contained in a CommandOptionOneOf instance (or even itself),
+ * but the behavior if you try this is undefined.
+ */
+ class CommandOptionOneOf : public CommandOption
+ {
+ public:
+ /**
+ * CommandOptionOneOf contructor. This sets the CommandOptionType
+ * for this object to metaType.
+ */
+ CommandOptionOneOf()
+ : CommandOption(noArgument, metaType, 0, "", "")
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionOneOf() {}
+
+ virtual std::string checkArguments();
+
+ /// Add an option to the list of mutually exclusive options
+ void addOption(CommandOption* opt)
+ { optionVec.push_back(opt); }
+
+ /// @return the command option that was used (NULL if none).
+ CommandOption* whichOne() const;
+
+ protected:
+ CommandOptionVec optionVec;
+ };
+
+ /**
+ * This is a special "command option" which is really a
+ * meta-option to make sure that if one of a set of real options
+ * has been used, all of the set are used.
+ * \warning There's nothing to prevent you from, say, adding
+ * another meta-option to the list of mutually exclusive options
+ * contained in a CommandOptionAllOf instance (or even itself),
+ * but the behavior if you try this is undefined.
+ */
+ class CommandOptionAllOf : public CommandOptionOneOf
+ {
+ public:
+ /**
+ * CommandOptionAllOf contructor. This sets the CommandOptionType
+ * for this object to metaType.
+ */
+ CommandOptionAllOf()
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionAllOf() {}
+
+ virtual std::string checkArguments();
+
+ /// returns the sum of all encapsulated option counts if all are in use, zero otherwise.
+ virtual unsigned long getCount() const;
+
+ private:
+ // hide this as it doesn't make sense for this class
+ CommandOption* whichOne() const;
+ };
+
+ /**
+ * This is a special "command option" which is really a
+ * meta-option to enforce mutual exclusion between a set of real
+ * options.
+ * \warning There's nothing to prevent you from, say, adding
+ * another mutex to the list of mutually exclusive options
+ * contained in a CommandOptionMutex instance (or even itself),
+ * but the behavior if you try this is undefined.
+ */
+ class CommandOptionMutex : public CommandOptionOneOf
+ {
+ public:
+ /**
+ * CommandOptionMutex contructor. This sets the CommandOptionType
+ * for this object to metaType.
+ *
+ * @param required true if option is required. This makes
+ * CommandOptionMutex do CommandOptionOneOf-type checking in
+ * addition to the exclusion (i.e. it checks to make sure at
+ * least one option was specified).
+ */
+ CommandOptionMutex(const bool required = false)
+ : doOneOfChecking(required)
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionMutex() {}
+
+ virtual std::string checkArguments();
+
+ protected:
+ bool doOneOfChecking;
+ };
+
+ /**
+ * This is a special "command option" which is really a
+ * meta-option to make sure that a required option is set where
+ * the requirement is based on another option (that is, if you
+ * specify one, you must have specified another).
+ * \warning There's nothing to prevent you from using other meta
+ * options as requirements, but the behavior if you try this is
+ * undefined.
+ */
+ class CommandOptionDependent : public CommandOption
+ {
+ public:
+ /**
+ * CommandOptionDependent contructor. This sets the
+ * CommandOptionType for this object to metaType. During
+ * command line option validation, if \c child is set, \c
+ * parent is checked to make sure it is also set.
+ *
+ * @param parent Command option that must be used if...
+ * @param child ...is used.
+ */
+ CommandOptionDependent(const CommandOption* parent,
+ const CommandOption* child)
+ : CommandOption(noArgument, metaType, 0, "", ""),
+ requiree(parent), requirer(child)
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionDependent() {}
+
+ virtual std::string checkArguments();
+
+ protected:
+ /// Default Constructor
+ CommandOptionDependent() {}
+
+ const CommandOption *requiree, *requirer;
+ };
+
+ /**
+ * This is a special "command option" which is really a
+ * meta-option to group other options together for use in other
+ * meta-options. This particular meta-option allows a group of
+ * options to be specified in other meta-options. This option
+ * is considered "set" if any of the member options are set.
+ * This class and CommandOptionGroupAnd are designed to make up
+ * for the fact that the verification meta-options are not
+ * designed to work in other verification meta-options.
+ */
+ class CommandOptionGroupOr : public CommandOptionOneOf
+ {
+ public:
+ /**
+ * CommandOptionGroupOr contructor. Does nothing explicitly.
+ */
+ CommandOptionGroupOr()
+ {}
+
+ /// Destructor.
+ virtual ~CommandOptionGroupOr() {}
+
+ /// Do not do any checking.
+ virtual std::string checkArguments() { return std::string(); }
+
+ /// returns the sum of all encapsulated option counts.
+ virtual unsigned long getCount() const;
+
+ /// return a string containing the aggregated option strings
+ virtual std::string getOptionString() const;
+ };
+
+ /**
+ * This is a special "command option" which is really a
+ * meta-option to group other options together for use in other
+ * meta-options. This particular meta-option allows a group of
+ * options to be specified in other meta-options. This option
+ * is considered "set" iff all of the member options are set.
+ * This class and CommandOptionGroupAnd are designed to make up
+ * for the fact that the verification meta-options are not
+ * designed to work in other verification meta-options.
+ */
+ class CommandOptionGroupAnd : public CommandOptionGroupOr
+ {
+ public:
+ /**
+ * CommandOptionGroupAnd contructor. Does nothing explicitly.
+ */
+ CommandOptionGroupAnd()
+ {}
+
+ /// Destructor.
+ virtual ~CommandOptionGroupAnd() {}
+
+ /// returns the sum of all encapsulated option counts if all are in use, zero otherwise.
+ virtual unsigned long getCount() const;
+ };
+
+ //@}
+
+} // namespace gpstk
+#endif
diff --git a/trunk/src/CommandOptionParser.cpp b/trunk/src/CommandOptionParser.cpp
new file mode 100644
index 0000000..c7eb608
--- /dev/null
+++ b/trunk/src/CommandOptionParser.cpp
@@ -0,0 +1,358 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOptionParser.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file CommandOptionParser.cpp
+ * Parse command line options.
+ */
+
+#include "CommandOptionParser.hpp"
+
+#include "StringUtils.hpp"
+
+using namespace std;
+using namespace gpstk::StringUtils;
+
+#ifdef _MSC_VER
+#define min(VAL1, VAL2) _cpp_min(VAL1, VAL2)
+#define max(VAL1, VAL2) _cpp_max(VAL1, VAL2)
+#endif
+
+namespace gpstk
+{
+
+ // parses the command line input
+ void
+ CommandOptionParser::parseOptions(int argc,
+ char* argv[])
+ {
+ // this maps the index of optionVec to the command line options
+ CommandOptionMap com;
+
+ // keep track of the order of command options
+ unsigned int order = 0;
+
+ // get the program name. If there's a / in it, take the part
+ // after the last / as the program name
+ progName = string(argv[0]);
+ string::size_type slashPos = progName.rfind('/');
+ if (slashPos != string::npos)
+ progName = progName.substr(slashPos + 1);
+
+ string shortOptString;
+ struct option* optArray = NULL;
+ unsigned long optArraySize = 0;
+
+ CommandOption *trailing = NULL;
+
+ // build the getopt and getopt_long inputs
+ CommandOptionVec::size_type index;
+ for(index = 0; index < optionVec.size(); index++)
+ {
+ // add short options
+ switch (optionVec[index]->optType)
+ {
+ case CommandOption::trailingType:
+ if (trailing)
+ errorStrings.push_back("More than one trailing argument"
+ " object used (programming error");
+ else
+ trailing = optionVec[index];
+ break;
+ case CommandOption::stdType:
+ if (optionVec[index]->shortOpt != 0)
+ {
+ shortOptString += optionVec[index]->toGetoptShortOption();
+ com[string(1,optionVec[index]->shortOpt)] = optionVec[index];
+ }
+
+ // add long options
+ if (!optionVec[index]->longOpt.empty())
+ {
+ resizeOptionArray(optArray, optArraySize);
+ optArray[optArraySize - 1] =
+ optionVec[index]->toGetoptLongOption();
+ com[optionVec[index]->longOpt] = optionVec[index];
+ }
+
+ // keep track of whether or not there are required or
+ // optional arguments
+ if (optionVec[index]->required)
+ hasRequiredArguments = true;
+ else
+ hasOptionalArguments = true;
+ break;
+ default:
+ // do nothing
+ break;
+ }
+ }
+
+ // add the getopt_long terminator value
+ resizeOptionArray(optArray, optArraySize);
+ struct option lastOption = {0,0,0,0};
+ optArray[optArraySize - 1] = lastOption;
+
+ // use '+' to make getopt not mangle the inputs (if i remember right)
+ shortOptString.insert((string::size_type)0, (string::size_type)1, '+');
+
+ int cha;
+ int optionIndex;
+
+ // disable internal error messages
+ opterr = 0;
+
+ while (optind < argc)
+ {
+ if ((cha = getopt_long(argc, argv, shortOptString.c_str(),
+ optArray, &optionIndex)) == -1)
+ {
+ if (!trailing)
+ errorStrings.push_back("Excess arguments");
+ break;
+ }
+
+ order++;
+
+ // Solaris uses '?' for all getopt errors. Linux uses '?'
+ // for unknown options and ':' for options that require
+ // arguments but don't have then. That's why the error
+ // message is "option error" cause we can't differentiate
+ // what the REAL error is...
+ if ((cha == '?') || (cha == ':'))
+ {
+ // get the argument that had the error and write an
+ // error string
+ string errorArg;
+ // for a character option error
+ if (optopt != 0)
+ errorArg = string(1, (char)optopt);
+ // for a getopt_long error
+ else
+ errorArg = argv[optind - 1];
+ errorStrings.push_back(string("Option error: " + errorArg));
+ }
+ // otherwise this is probably a found option
+ else
+ {
+ string thisOption;
+
+ // determine whether it found the short or long version
+ if (cha != 0)
+ thisOption = string(1,(char)cha);
+ else
+ thisOption = string(optArray[optionIndex].name);
+
+ // try to find the option in our option map
+ map<string, CommandOption*>::iterator itr = com.find(thisOption);
+
+ if (itr != com.end())
+ {
+ CommandOption* pickedOption = (*itr).second;
+ // if there is an value for this option...
+ if (optarg)
+ {
+ if (pickedOption->optFlag == CommandOption::noArgument)
+ {
+ errorStrings.push_back(string("Option ") +
+ thisOption +
+ string(" has an argument but it shouldn't."));
+ }
+ // add this argument to the picked option and
+ // increment the count
+ else if (pickedOption->optFlag == CommandOption::hasArgument)
+ {
+ pickedOption->value.push_back(string(optarg));
+ pickedOption->count++;
+ pickedOption->order = order;
+ }
+
+ }
+ // no value for option...
+ else
+ {
+ if (pickedOption->optFlag == CommandOption::hasArgument)
+ {
+ errorStrings.push_back(string("Option ") +
+ thisOption +
+ string(" has no argument when it should."));
+ }
+ // increment the picked option's count
+ else if (pickedOption->optFlag == CommandOption::noArgument)
+ {
+ pickedOption->count++;
+ pickedOption->order = order;
+ }
+ }
+ } // itr != end()
+ else
+ {
+ errorStrings.push_back("Unknown option error");
+ }
+ } // else cha ==
+ } // getopt_long
+
+ // check for remaining arguments
+ if (optind < argc)
+ {
+ if (trailing)
+ {
+ int i;
+ for(i = optind; i < argc; i++)
+ {
+ trailing->value.push_back(string(argv[i]));
+ trailing->count++;
+ }
+ }
+ // the case where trailing==null is handled above
+ }
+
+ for(index = 0; index < optionVec.size(); index++)
+ {
+ string retVal = optionVec[index]->checkArguments();
+ if (!retVal.empty())
+ errorStrings.push_back(retVal);
+
+ // check max count
+ if (optionVec[index]->maxCount != 0)
+ {
+ if (optionVec[index]->count > optionVec[index]->maxCount)
+ {
+ string errstr("Option ");
+ errstr += optionVec[index]->getOptionString();
+ errstr += string(" appeared more times than allowed.");
+ errorStrings.push_back(errstr);
+ }
+ }
+ }
+
+ delete [] optArray;
+ }
+
+ ostream& CommandOptionParser::dumpErrors(ostream& out)
+ {
+ vector<string>::size_type index;
+ for(index = 0; index < errorStrings.size(); index++)
+ out << errorStrings[index] << endl;
+ return out;
+ }
+
+ // prints the required arguments first (if any) then the optional
+ // ones (if any)
+ ostream& CommandOptionParser::displayUsage(ostream& out, bool doPretty)
+ {
+ CommandOptionVec::size_type index;
+ CommandOption *trailing = NULL;
+
+ char *colch = getenv("COLUMNS");
+ int columns = 80;
+ unsigned maxlen = 0;
+ if (colch)
+ {
+ string colStr(colch);
+ columns = asInt(colStr);
+ }
+
+ // find the trailing argument if any, and max option string length
+ for (index = 0; index < optionVec.size(); index++)
+ {
+ if (optionVec[index]->optType == CommandOption::trailingType)
+ trailing = optionVec[index];
+ else if (optionVec[index]->optType == CommandOption::stdType)
+ maxlen = std::max(maxlen,
+ unsigned(optionVec[index]->getFullOptionString().length()));
+ }
+
+ out << "Usage: " << progName;
+ if (hasRequiredArguments || hasOptionalArguments)
+ out << " [OPTION] ...";
+ if (trailing)
+ out << " " << trailing->description;
+ out << endl
+ << (doPretty ? prettyPrint(text,"\n","","",columns) : text);
+// << endl
+// << endl
+// << "Command options:" << endl;
+
+ for(int required = 1; required >= 0; required--)
+ {
+ if (required==1 && hasRequiredArguments)
+ out << endl << "Required arguments:" << endl;
+ else if (required==0 && hasOptionalArguments)
+ out << endl << "Optional arguments:" << endl;
+
+ for(index = 0; index < optionVec.size(); index++)
+ {
+ if ((optionVec[index]->required == (required==1)) &&
+ (optionVec[index]->optType == CommandOption::stdType))
+ {
+ string optstr(optionVec[index]->getFullOptionString());
+ string desc(optionVec[index]->description);
+ string indent(maxlen, ' ');
+
+ if(doPretty) {
+ leftJustify(optstr, maxlen);
+ prettyPrint(desc, "\n", indent, optstr, columns);
+ }
+ out << desc;
+ if(!doPretty) out << endl;
+ }
+ }
+ }
+
+ return out;
+ }
+
+ // resizes the array for getopt_long
+ void CommandOptionParser::resizeOptionArray(struct option *&oldArray,
+ unsigned long& oldSize)
+ {
+ struct option* newArray = new struct option[1 + oldSize];
+ memcpy(newArray, oldArray, oldSize * sizeof(struct option));
+ delete [] oldArray;
+ oldArray = newArray;
+ newArray = NULL;
+ oldSize += 1;
+ }
+
+} // end namespace gpstk
diff --git a/trunk/src/CommandOptionParser.hpp b/trunk/src/CommandOptionParser.hpp
new file mode 100644
index 0000000..f17f5ea
--- /dev/null
+++ b/trunk/src/CommandOptionParser.hpp
@@ -0,0 +1,153 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOptionParser.hpp#1 $"
+
+/**
+ * @file CommandOptionParser.hpp
+ * Parse command line options
+ */
+
+#ifndef COMMANDOPTIONPARSER_HPP
+#define COMMANDOPTIONPARSER_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "CommandOption.hpp"
+
+#include <vector>
+#include <map>
+#include <ostream>
+
+namespace gpstk
+{
+ /** @addtogroup commandoptiongroup Command-Line Options */
+ //@{
+
+ /**
+ * This class parses the command line options and modifies the
+ * corresponding CommandOptions. By default, any CommandOptions you
+ * create will be put on a static vector<CommandOption> which is used
+ * by CommandOptionParser. You can make your own as well but that
+ * isn't necessary. You can also use addOption() to add individual
+ * CommandOptions to the parser, but again this isn't necessary as the
+ * default list is usually sufficient.
+ *
+ * Call parseOptions() to process the command line, then
+ * call hasErrors() to see if there
+ * were any problems parsing the string. Errors can occur when
+ * a required option isn't found on the command line, when an option
+ * requiring an argument doesn't have one, or when an argument appers
+ * more than its maxCount number of times among other errors.
+ * If so, use dumpErrors() to
+ * display the errors to an output stream, then use
+ * displayUsage() to display a well formatted list of the correct
+ * command line options. Of
+ * course, you can just as well ignore any command line
+ * errors. After hitting an error (which most often happens when
+ * it hits an argument that has no CommandOption), you can use
+ * CommandOptionRest to get the unprocessed command line
+ * options.
+ *
+ * @sa the getopttest.cpp file in the test code for some examples.
+ */
+ class CommandOptionParser
+ {
+ public:
+ /// Typedef for a map between the command line option (-f) and the
+ /// associated CommandOption.
+ typedef std::map<std::string, gpstk::CommandOption*> CommandOptionMap;
+
+ /**
+ * Constructor given a text description of the program.
+ * @param description a short description of this program
+ * @param optList a CommandOptionVec with the list of
+ * CommandOptions for this parser.
+ */
+ CommandOptionParser(const std::string& description,
+ const CommandOptionVec optList =
+ defaultCommandOptionList)
+ : hasRequiredArguments(false), hasOptionalArguments(false),
+ optionVec(optList), text(description)
+ {}
+
+ /// Adds the CommandOption to the list for parsing.
+ CommandOptionParser& addOption(gpstk::CommandOption& co)
+ { optionVec.push_back(&co); return *this; }
+
+ /// Parses the command line.
+ void parseOptions(int argc, char* argv[]);
+
+ /// Returns true if any processing errors occurred.
+ bool hasErrors() { return !errorStrings.empty(); }
+ /// Writes the errors to \c out.
+ std::ostream& dumpErrors(std::ostream& out);
+
+ /** Writes the arguments nicely to the output.
+ * @param out ostream on which to write
+ * @param doPretty if true (the default), 'pretty print' descriptions
+ */
+ std::ostream& displayUsage(std::ostream& out, bool doPretty=true);
+
+ private:
+ /// changes the size of the option array for getopt_long.
+ void resizeOptionArray(struct option* &oldArray, unsigned long& oldSize);
+
+ /// The vector of CommandOptions for the parser
+ CommandOptionVec optionVec;
+ /// The vector of error strings for displaying to the user.
+ std::vector<std::string> errorStrings;
+ /// The vector of unprocessed command line arguments.
+ //std::vector<std::string> remainingArguments;
+
+ /// whether or not this command line has any rrequired options
+ bool hasRequiredArguments;
+ /// whether or not this command line has optional options
+ bool hasOptionalArguments;
+
+ /// the description of this program
+ std::string text;
+
+ /// the name of this program
+ std::string progName;
+ };
+ //@}
+}
+
+#endif
diff --git a/trunk/src/CommandOptionWithPositionArg.cpp b/trunk/src/CommandOptionWithPositionArg.cpp
new file mode 100644
index 0000000..1118efa
--- /dev/null
+++ b/trunk/src/CommandOptionWithPositionArg.cpp
@@ -0,0 +1,89 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOptionWithPositionArg.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file CommandOptionWithPositionArg.cpp
+ * Command line options with position (class Position) arguments
+ */
+
+#include "StringUtils.hpp"
+#include "CommandOptionWithPositionArg.hpp"
+
+using namespace std;
+
+namespace gpstk
+{
+ string CommandOptionWithPositionArg :: checkArguments()
+ {
+ string errstr = CommandOptionWithAnyArg::checkArguments();
+
+ if( errstr != string() )
+ return errstr;
+
+ vector<string>::size_type vecIndex;
+ for( vecIndex = 0; vecIndex < value.size(); vecIndex++ )
+ {
+ string thisPosSpec = getPositionSpec( vecIndex );
+ if( thisPosSpec != string() )
+ {
+ try
+ {
+ Position pos;
+ pos.setToString( value[vecIndex], thisPosSpec );
+ positions.push_back( pos );
+ }
+ catch (...)
+ {
+ errstr += "\"" + value[vecIndex] + "\" is not a valid position.";
+ }
+ }
+ else
+ {
+ errstr += "\"" + value[vecIndex] + "\" is not a valid position.";
+ }
+ }
+
+ return errstr;
+ } // end of checkArguments()
+
+}
diff --git a/trunk/src/CommandOptionWithPositionArg.hpp b/trunk/src/CommandOptionWithPositionArg.hpp
new file mode 100644
index 0000000..cdab35c
--- /dev/null
+++ b/trunk/src/CommandOptionWithPositionArg.hpp
@@ -0,0 +1,129 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOptionWithPositionArg.hpp#1 $"
+
+/**
+ * @file CommandOptionWithPositionArg.hpp
+ * Command line options with position (class Position) arguments.
+ */
+
+#ifndef COMMANDOPTIONWITHPOSITIONARG_HPP
+#define COMMANDOPTIONWITHPOSITIONARG_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "CommandOption.hpp"
+#include "Position.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup commandoptiongroup */
+ //@{
+
+ /** @ingroup positiongroup
+ * @brief Command-line option class for processing position strings.
+ * This class allows the programmer to add command-line options
+ * to an application that can parse strings containing representations
+ * of position. The programmer must specify the format to be
+ * accepted. Refer to Position::printf() for details on the formatting
+ * specifications.
+ */
+ class CommandOptionWithPositionArg : public gpstk::CommandOptionWithAnyArg
+ {
+ public:
+ /** Constructor
+ * @param shOpt The one character command line option. Set to 0
+ * if unused.
+ * @param loOpt The long command option. Set to std::string()
+ * if unused.
+ * @param posFormat format for scanning argument into a Position
+ * (\see Position::setToString() for details).
+ * @param desc A string describing what this option does.
+ * @param required Set to true if this is a required option.
+ */
+ CommandOptionWithPositionArg(const char shOpt,
+ const std::string& loOpt,
+ const std::string& posFormat,
+ const std::string& desc,
+ const bool required = false)
+ : gpstk::CommandOptionWithAnyArg(shOpt, loOpt, desc, required),
+ posSpec(posFormat)
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionWithPositionArg()
+ {}
+
+ /** Returns a string with the argument format (just "POSITION",
+ * not scanning format).
+ */
+ virtual std::string getArgString() const
+ { return "POSITION"; }
+
+ /// Validate arguments passed using this option (and store them).
+ virtual std::string checkArguments();
+
+ /// Return the positions scanned in from the command line.
+ std::vector<Position> getPosition() const
+ { return positions; }
+
+ protected:
+ /// Collection of positions scanned in from the command line.
+ std::vector<Position> positions;
+
+ /// Format used to scan positions in.
+ std::string posSpec;
+
+ /// Default Constructor
+ CommandOptionWithPositionArg()
+ {}
+
+ /// Return the appropriate position scanning format for value[index].
+ virtual std::string
+ getPositionSpec(std::vector<std::string>::size_type index) const
+ { return posSpec; }
+
+ }; // end of class CommandOptionWithPositionArg
+
+ //@}
+
+}
+
+#endif // COMMANDOPTIONWITHPOSITIONARG_HPP
diff --git a/trunk/src/CommandOptionWithTimeArg.cpp b/trunk/src/CommandOptionWithTimeArg.cpp
new file mode 100644
index 0000000..b2c950e
--- /dev/null
+++ b/trunk/src/CommandOptionWithTimeArg.cpp
@@ -0,0 +1,107 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOptionWithTimeArg.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file CommandOptionWithTimeArg.cpp
+ * Command line options with time (class DayTime) arguments
+ */
+
+#include "StringUtils.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+
+using namespace std;
+
+namespace gpstk
+{
+ string CommandOptionWithTimeArg :: checkArguments()
+ {
+ string errstr = CommandOptionWithAnyArg::checkArguments();
+
+ if (errstr != string())
+ return errstr;
+
+ vector<string>::size_type vecindex;
+ for(vecindex = 0; vecindex < value.size(); vecindex++)
+ {
+ string thisTimeSpec = getTimeSpec(vecindex);
+ if (thisTimeSpec != string())
+ {
+ try {
+ DayTime dt;
+ dt.setToString(value[vecindex], thisTimeSpec);
+ times.push_back(dt);
+ }
+ catch (...)
+ {
+ errstr += "\"" + value[vecindex] + "\" is not a valid time.";
+ }
+ }
+ else
+ errstr += "\"" + value[vecindex] + "\" is not a valid time.";
+ }
+
+ return errstr;
+ }
+
+ string CommandOptionWithSimpleTimeArg :: getTimeSpec
+ (vector<string>::size_type index) const
+ {
+ int numwords = gpstk::StringUtils::numWords(value[index]);
+ string thisTimeSpec;
+ switch (numwords)
+ {
+ case 1:
+ thisTimeSpec = "%m/%d/%Y";
+ break;
+ case 2:
+ thisTimeSpec = "%Y %j";
+ break;
+ case 3:
+ thisTimeSpec = "%Y %j %s";
+ break;
+ }
+
+ return thisTimeSpec;
+ }
+
+} // namespace gpstk
diff --git a/trunk/src/CommandOptionWithTimeArg.hpp b/trunk/src/CommandOptionWithTimeArg.hpp
new file mode 100644
index 0000000..ac1c761
--- /dev/null
+++ b/trunk/src/CommandOptionWithTimeArg.hpp
@@ -0,0 +1,160 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOptionWithTimeArg.hpp#1 $"
+
+/**
+ * @file CommandOptionWithTimeArg.hpp
+ * Command line options with time (class DayTime) arguments
+ */
+
+#ifndef COMMANDOPTIONWITHTIMEARG_HPP
+#define COMMANDOPTIONWITHTIMEARG_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "CommandOption.hpp"
+#include "DayTime.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup commandoptiongroup */
+ //@{
+
+ /** @ingroup timegroup
+ * @brief Command-line option class for processing time strings.
+ * This class is allows the programmer to add command-line
+ * options to an application that can parse strings containing
+ * representations of time. The programmer must specify the
+ * format to be accepted. Refer to DayTime::printf() for
+ * details on the formatting specifications. */
+ class CommandOptionWithTimeArg : public gpstk::CommandOptionWithAnyArg
+ {
+ public:
+ /** Constructor
+ * @param shOpt The one character command line option. Set to 0
+ * if unused.
+ * @param loOpt The long command option. Set to std::string()
+ * if unused.
+ * @param timeFormat format for scanning argument into a DayTime
+ * (\see DayTime::setToString() for details).
+ * @param desc A string describing what this option does.
+ * @param required Set to true if this is a required option.
+ */
+ CommandOptionWithTimeArg(const char shOpt,
+ const std::string& loOpt,
+ const std::string& timeFormat,
+ const std::string& desc,
+ const bool required = false)
+ : gpstk::CommandOptionWithAnyArg(shOpt, loOpt, desc, required),
+ timeSpec(timeFormat)
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionWithTimeArg() {}
+
+ /** Returns a string with the argument format (just "TIME",
+ * not scanning format). */
+ virtual std::string getArgString() const
+ { return "TIME"; }
+
+ /// Validate arguments passed using this option (and store them).
+ virtual std::string checkArguments();
+
+ /// Return the times scanned in from the command line.
+ std::vector<DayTime> getTime() const { return times; }
+
+ protected:
+ /// Collection of times scanned in from the command line.
+ std::vector<DayTime> times;
+ /// Format used to scan times in.
+ std::string timeSpec;
+
+ /// Default Constructor
+ CommandOptionWithTimeArg() {}
+
+ /// Return the appropriate time scanning format for value[index].
+ virtual std::string getTimeSpec(std::vector<std::string>::size_type index) const
+ { return timeSpec; }
+ }; // class CommandOptionWithTimeArg
+
+
+ /** @ingroup timegroup
+ * This class is similar to CommandOptionWithTimeArg, but
+ * accepts several different time formats simultaneously.
+ * The user can use any of the following time formats with this
+ * option:
+ * - month/day/year
+ * - year day-of-year
+ * - year day-of-year seconds-of-day
+ */
+ class CommandOptionWithSimpleTimeArg : public CommandOptionWithTimeArg
+ {
+ public:
+ /** Constructor
+ * @param shOpt The one character command line option. Set to 0
+ * if unused.
+ * @param loOpt The long command option. Set to std::string()
+ * if unused.
+ * @param desc A string describing what this option does.
+ * @param required Set to true if this is a required option.
+ */
+ CommandOptionWithSimpleTimeArg(const char shOpt,
+ const std::string& loOpt,
+ const std::string& desc,
+ const bool required = false)
+ : CommandOptionWithTimeArg(shOpt, loOpt, "", desc, required)
+ {}
+
+ /// Destructor
+ virtual ~CommandOptionWithSimpleTimeArg() {}
+
+ protected:
+ /// Default Constructor
+ CommandOptionWithSimpleTimeArg() {}
+
+ /// Return the appropriate time scanning format for value[index].
+ virtual std::string getTimeSpec(std::vector<std::string>::size_type index) const;
+ }; // class CommandOptionWithSimpleTimeArg
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/CommonTime.cpp b/trunk/src/CommonTime.cpp
new file mode 100644
index 0000000..c804353
--- /dev/null
+++ b/trunk/src/CommonTime.cpp
@@ -0,0 +1,314 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommonTime.cpp#1 $"
+
+#include "CommonTime.hpp"
+#include "TimeConstants.hpp"
+
+#include "MathBase.hpp"
+#include "StringUtils.hpp"
+
+namespace gpstk
+{
+ // 'julian day' of earliest epoch expressible by CommonTime; 1/1/4713 B.C.
+ const long CommonTime::BEGIN_LIMIT_JDAY = 0;
+ // 'julian day' of latest 'julian day' expressible by CommonTime,
+ // 1/1/4713 A.D.
+ const long CommonTime::END_LIMIT_JDAY = 3442448;
+
+ // earliest representable CommonTime
+ const CommonTime
+ CommonTime::BEGINNING_OF_TIME( CommonTime::BEGIN_LIMIT_JDAY, 0, 0.0 );
+ // latest representable CommonTime
+ const CommonTime
+ CommonTime::END_OF_TIME( CommonTime::END_LIMIT_JDAY, 0, 0.0 ) ;
+
+ CommonTime::CommonTime( const CommonTime& right )
+ throw()
+ : m_day( right.m_day ), m_msod( right.m_msod ), m_fsod( right.m_fsod )
+ {}
+
+ CommonTime& CommonTime::operator=( const CommonTime& right )
+ throw()
+ {
+ m_day = right.m_day;
+ m_msod = right.m_msod;
+ m_fsod = right.m_fsod;
+ return *this;
+ }
+
+ CommonTime& CommonTime::set( long day,
+ long sod,
+ double fsod )
+ throw( gpstk::InvalidParameter )
+ {
+ // Use temp variables so that we don't modify our
+ // data members until we know these values are good.
+ if( day < BEGIN_LIMIT_JDAY || day > END_LIMIT_JDAY )
+ {
+ gpstk::InvalidParameter ip( "Invalid day: "
+ + gpstk::StringUtils::asString( day ) );
+ GPSTK_THROW( ip );
+ }
+
+ if( sod < 0 || sod >= SEC_PER_DAY )
+ {
+ gpstk::InvalidParameter ip( "Invalid seconds of day: "
+ + gpstk::StringUtils::asString( sod ) );
+ GPSTK_THROW( ip );
+ }
+
+ if( fsod < 0.0 || fsod >= 1 )
+ {
+ gpstk::InvalidParameter ip( "Invalid fractional-seconds: "
+ + gpstk::StringUtils::asString( fsod ) );
+ GPSTK_THROW( ip );
+ }
+
+ // get the number of milliseconds in the fractional seconds argument
+ long msec = static_cast<long>( fsod * MS_PER_SEC );
+
+ // subtract whole milliseconds to obtain the "fractional milliseconds"
+ fsod -= static_cast<double>( msec ) * SEC_PER_MS;
+
+ m_day = day;
+ m_msod = sod * MS_PER_SEC + msec;
+ m_fsod = fsod;
+
+ return *this;
+ }
+
+ CommonTime& CommonTime::set( long day,
+ double sod )
+ throw( gpstk::InvalidParameter )
+ {
+ // separate whole and fractional seconds, then use set()
+ long sec = static_cast<long>( sod );
+ sod -= sec;
+
+ return set( day, sec, sod );
+ }
+
+ CommonTime& CommonTime::set( double day = 0.0 )
+ throw( gpstk::InvalidParameter )
+ {
+ // separate whole and fractional days
+ long lday = static_cast<long>( day );
+ double sec = ( day - lday ) * SEC_PER_DAY;
+ return set( lday, sec );
+ }
+
+ CommonTime& CommonTime::setInternal( long day,
+ long msod,
+ double fsod )
+ throw( gpstk::InvalidParameter )
+ {
+ if( day < BEGIN_LIMIT_JDAY || day > END_LIMIT_JDAY )
+ {
+ gpstk::InvalidParameter ip( "Invalid day: "
+ + gpstk::StringUtils::asString( day ) );
+ GPSTK_THROW( ip );
+ }
+
+ if( msod < 0 || msod >= MS_PER_DAY )
+ {
+ gpstk::InvalidParameter ip( "Invalid milliseconds of day: "
+ + gpstk::StringUtils::asString( msod ) );
+ GPSTK_THROW( ip );
+ }
+
+ if( fsod < 0.0 || fsod >= SEC_PER_MS )
+ {
+ gpstk::InvalidParameter ip( "Invalid fractional-milliseconds: "
+ + gpstk::StringUtils::asString( fsod ) );
+ GPSTK_THROW( ip );
+ }
+
+ m_day = day;
+ m_msod = msod;
+ m_fsod = fsod;
+
+ return *this;
+ }
+
+ void CommonTime::get( long& day,
+ long& sod,
+ double& fsod ) const
+ throw()
+ {
+ day = m_day;
+ sod = m_msod / MS_PER_SEC;
+ long msec = m_msod - sod * MS_PER_SEC; // m_msod % MS_PER_SEC
+ fsod = static_cast<double>( msec ) * SEC_PER_MS + m_fsod;
+ }
+
+ void CommonTime::get( long& day,
+ double& sod ) const
+ throw()
+ {
+ day = m_day;
+ sod = m_msod / MS_PER_SEC + m_fsod;
+ }
+
+ void CommonTime::get( double& day ) const
+ throw()
+ {
+ // convert everything to days
+ day = static_cast<double>( m_day ) +
+ static_cast<double>( m_msod ) * MS_PER_DAY +
+ m_fsod * SEC_PER_DAY;
+ }
+
+ double CommonTime::getDays() const
+ throw()
+ {
+ double day;
+ get( day );
+ return day;
+ }
+
+ double CommonTime::getSecondOfDay() const
+ throw()
+ {
+ long day;
+ double sod;
+ get( day, sod );
+ return sod;
+ }
+
+ double CommonTime::operator-( const CommonTime& right ) const
+ throw()
+ {
+ return ( SEC_PER_DAY * static_cast<double>( m_day - right.m_day ) +
+ SEC_PER_MS * static_cast<double>( m_msod - right.m_msod ) +
+ m_fsod - right.m_fsod ) ;
+ }
+
+ CommonTime CommonTime::operator+( double sec ) const
+ throw( gpstk::InvalidRequest )
+ {
+ return CommonTime( *this ).addSeconds( sec );
+ }
+
+ CommonTime CommonTime::operator-( double sec ) const
+ throw( gpstk::InvalidRequest )
+ {
+ return CommonTime( *this ).addSeconds( -sec );
+ }
+
+ CommonTime& CommonTime::operator+=( double sec )
+ throw( gpstk::InvalidRequest )
+ {
+ addSeconds( sec );
+ return *this;
+ }
+
+ CommonTime& CommonTime::operator-=( double sec )
+ throw( gpstk::InvalidRequest )
+ {
+ addSeconds( -sec );
+ return *this;
+ }
+
+ CommonTime& CommonTime::addSeconds( double seconds )
+ throw( InvalidRequest )
+ {
+ long days=0, ms=0;
+ if ( ABS(seconds) >= SEC_PER_DAY )
+ {
+ days = static_cast<long>( seconds * DAY_PER_SEC );
+ seconds -= days * SEC_PER_DAY;
+ }
+
+ if ( ABS(seconds) >= SEC_PER_MS )
+ {
+ ms = static_cast<long>( seconds * MS_PER_SEC );
+ seconds -= static_cast<double>( ms ) * SEC_PER_MS;
+ }
+
+ add(days, ms, seconds);
+ return *this;
+ }
+
+ CommonTime& CommonTime::addSeconds( long seconds )
+ throw( gpstk::InvalidRequest )
+ {
+ long days( 0 );
+ if( ABS( seconds ) > SEC_PER_DAY )
+ {
+ days = seconds / SEC_PER_DAY;
+ seconds -= days * SEC_PER_DAY; // seconds %= SEC_PER_DAY
+ }
+ add( days, seconds * MS_PER_SEC, 0. );
+
+ // How about this?
+ // add( seconds / SEC_PER_DAY,
+ // seconds % SEC_PER_DAY * MS_PER_SEC,
+ // 0 );
+
+ return *this;
+ }
+
+ CommonTime& CommonTime::addDays( long days )
+ throw( gpstk::InvalidRequest )
+ {
+ add( days, 0, 0.0 );
+ return *this;
+ }
+
+ CommonTime& CommonTime::addMilliseconds( long msec )
+ throw( InvalidRequest )
+ {
+ add( 0, msec, 0.0 );
+ return *this;
+ }
+
+ /// protected functions
+ bool CommonTime::add( long days,
+ long msod,
+ double fsod )
+ throw()
+ {
+ m_day += days;
+ m_msod += msod;
+ m_fsod += fsod;
+ return normalize();
+ }
+
+ bool CommonTime::normalize()
+ throw()
+ {
+ if( ABS( m_fsod ) >= SEC_PER_MS )
+ {
+ long ms = static_cast<long>( m_fsod * MS_PER_SEC );
+ m_msod += ms;
+ m_fsod -= static_cast<double>( ms ) * SEC_PER_MS;
+ }
+
+ if( ABS( m_msod ) >= MS_PER_DAY )
+ {
+ long day = m_msod / MS_PER_DAY;
+ m_day += day;
+ m_msod -= day * MS_PER_DAY;
+ }
+
+ if( ABS(m_fsod) < 1e-15 )
+ {
+ m_fsod = 0.0;
+ }
+
+ if( m_fsod < 0 )
+ {
+ m_fsod += 1;
+ --m_msod;
+ }
+
+ if( m_msod < 0 )
+ {
+ m_msod += MS_PER_DAY;
+ --m_day;
+ }
+
+ return ( ( m_day >= BEGIN_LIMIT_JDAY ) &&
+ ( m_day < END_LIMIT_JDAY ) );
+ }
+
+} // namespace
diff --git a/trunk/src/CommonTime.hpp b/trunk/src/CommonTime.hpp
new file mode 100644
index 0000000..7a3fa9c
--- /dev/null
+++ b/trunk/src/CommonTime.hpp
@@ -0,0 +1,328 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommonTime.hpp#1 $"
+
+#ifndef GPSTK_COMMONTIME_HPP
+#define GPSTK_COMMONTIME_HPP
+
+#include "Exception.hpp"
+
+namespace gpstk
+{
+ /**
+ * This is the common time format that all time formats convert to when
+ * converting between themselves. This allows the decoupling of
+ * inter-format conversions.
+ *
+ * The interface is based on three quantites: days, seconds of day, and
+ * fractional seconds of day. The internal representation, however, is
+ * slightly different. It consists of a day, milliseconds of day, and
+ * fractional seconds of day. Their valid ranges are shown below:
+ *
+ * Quantity >= <
+ * -------- --- ---
+ * day 0 2^31
+ * msod 0 86400000
+ * fsod 0 0.001
+ *
+ * The above is somewhat difficult to grasp at first, but the reason for
+ * keeping the fractional part of time in units of seconds is due to the
+ * fact that the time formats usually break at seconds and partial seconds
+ * not at milliseconds and partial milliseconds. By keeping the value in
+ * seconds, we save ourselves additional work and loss of precision
+ * through conversion of fractional seconds to fractional milliseconds.
+ */
+ class CommonTime
+ {
+ public:
+ /**
+ * @defgroup ctc CommonTime Constants
+ */
+ //@{
+ /// 'julian day' of earliest epoch expressible by CommonTime:
+ /// 1/1/4713 B.C.
+ static const long BEGIN_LIMIT_JDAY;
+ /// 'julian day' of latest epoch expressible by CommonTime:
+ /// 1/1/4713 A.D.
+ static const long END_LIMIT_JDAY;
+ /// earliest representable CommonTime
+ static const CommonTime BEGINNING_OF_TIME;
+ /// latest representable CommonTime
+ static const CommonTime END_OF_TIME;
+
+ //@}
+
+ /**
+ * @defgroup ctbo CommonTime Basic Operations
+ * Default and Copy Constructors, Assignment Operator and Destructor.
+ */
+ //@{
+ /**
+ * Default Constructor.
+ * All elements default to zero.
+ * @see CommonTime::set()
+ */
+ CommonTime( long day = 0,
+ long sod = 0,
+ double fsod = 0.0 )
+ throw( gpstk::InvalidParameter )
+ { set( day, sod, fsod ); }
+
+ /**
+ * Constructor that accepts days and second of day.
+ * All elements default to zero.
+ */
+ CommonTime( long day,
+ double sod )
+ throw( gpstk::InvalidParameter )
+ { set( day, sod ); }
+
+ /**
+ * Constructor that accepts days only.
+ * All elements default to zero.
+ */
+ CommonTime( double day )
+ throw( gpstk::InvalidParameter )
+ { set( day ); }
+
+ /**
+ * Copy Constructor.
+ * @param right a const reference to the CommonTime object to copy.
+ */
+ CommonTime( const CommonTime& right )
+ throw();
+
+ /**
+ * Assignment Operator.
+ * @param right a const reference to the CommonTime object to copy.
+ * @return a reference to this CommonTime object.
+ */
+ CommonTime& operator=( const CommonTime& right )
+ throw();
+
+ /// Destructor.
+ ~CommonTime()
+ throw()
+ {}
+ //@}
+
+ /**
+ * @defgroup ctam CommonTime Accessor Methods
+ */
+ //@{
+ /**
+ * Set method that accepts values for day, seconds of day and
+ * fractional seconds of day. It also checks the validity of the
+ * arguments and throws an exception if any values are out of bounds.
+ */
+ CommonTime& set( long day,
+ long sod,
+ double fsod = 0.0 )
+ throw( gpstk::InvalidParameter );
+
+ /**
+ * Set method that accepts values for day and seconds of day. It also
+ * checks the validity of the arguments and throws an exception if any
+ * values are out of bounds.
+ */
+ CommonTime& set( long day,
+ double sod = 0.0 )
+ throw( gpstk::InvalidParameter );
+
+ /**
+ * Set method that accepts a value for day. It also checks the
+ * validity of the argument and throws an exception if its value is
+ * out of bounds.
+ */
+ CommonTime& set( double day )
+ throw( gpstk::InvalidParameter );
+
+ /**
+ * Set internal values method. Set the data members of this object
+ * directly. Checks the validity of the given time representation
+ * and throws an exception if any values are out of bounds.
+ */
+ CommonTime& setInternal( long day = 0,
+ long msod = 0,
+ double fsod = 0.0 )
+ throw( gpstk::InvalidParameter );
+
+ /**
+ * Get method. Obtain values in days, second of day and fractional
+ * second of day.
+ */
+ void get( long& day,
+ long& sod,
+ double& fsod ) const
+ throw();
+
+ /**
+ * Get method through which one may obtain values for day and
+ * second of day which includes the fractional second of day.
+ */
+ void get( long& day,
+ double& sod ) const
+ throw();
+
+ /**
+ * Get method through which one may obtain a value for day which
+ * includes the fraction of a day.
+ */
+ void get( double& day ) const
+ throw();
+
+ /**
+ * Get internal values method. Obtain the values stored within this
+ * object.
+ */
+ void getInternal( long& day,
+ long& msod,
+ double& fsod ) const
+ throw()
+ { day = m_day; msod = m_msod; fsod = m_fsod; }
+
+ /// Obtain the time, in days, including the fraction of a day.
+ double getDays() const
+ throw();
+
+ /// Obtain the seconds of day ( ignoring the day ).
+ double getSecondOfDay() const
+ throw();
+
+ //@}
+
+ /**
+ * @defgroup ctao CommonTime Arithmetic Operations
+ */
+ //@{
+ /**
+ * Difference two Common Time objects.
+ * @param right CommonTime to subtract from this one
+ * @param reutrn difference in seconds
+ */
+ double operator-( const CommonTime& right ) const
+ throw();
+
+ /**
+ * Add seconds to a copy of this CommonTime.
+ * @param sec the number of seconds to add to a copy of this CommonTime
+ * @return the new CommonTime object
+ * @throws InvalidRequest on over-/under-flow
+ */
+ CommonTime operator+( double seconds ) const
+ throw( InvalidRequest );
+
+ /**
+ * Subtract seconds from a copy of this CommonTime.
+ * @param sec the number of seconds to subtract from a copy of this
+ * CommonTime
+ * @return the new CommonTime object
+ * @throws InvalidRequest on over-/under-flow
+ */
+ CommonTime operator-( double seconds ) const
+ throw( InvalidRequest );
+
+ /**
+ * Add seconds to this CommonTime.
+ * @param sec the number of seconds to add to this CommonTime.
+ * @return a reference to this CommonTime
+ * @throws InvalidRequest on over-/under-flow
+ */
+ CommonTime& operator+=( double seconds )
+ throw( InvalidRequest );
+
+ /**
+ * Subtract seconds from this CommonTime.
+ * @param sec the number of seconds to subtract from this CommonTime
+ * @return a reference to this CommonTime object
+ * @throws InvalidRequest on over-/under-flow
+ */
+ CommonTime& operator-=( double seconds )
+ throw( InvalidRequest );
+
+ /**
+ * Add seconds to this CommonTime object.
+ * This is the workhorse for the addition/subtraction operators.
+ * @param sec the number of seconds to add to this CommonTime
+ * @return a reference to this CommonTime object
+ * @throws InvalidRequest on over-/under-flow
+ */
+ CommonTime& addSeconds( double seconds )
+ throw( InvalidRequest );
+
+ /**
+ * Add integer days to this CommonTime object.
+ * param days the number of days to add to this CommonTime
+ * @return a reference to this CommonTime object
+ * @throws InvalidRequest on over-/under-flow
+ */
+ CommonTime& addDays( long days )
+ throw( InvalidRequest );
+
+ /**
+ * Add integer seconds to this CommonTime object.
+ * @param sec the number of seconds to add to this CommonTime
+ * @return a reference to this CommonTime object
+ * @throws InvalidRequest on over-/under-flow
+ */
+ CommonTime& addSeconds( long seconds )
+ throw( InvalidRequest );
+
+ /**
+ * Add integer milliseconds to this CommonTime object.
+ * @param ms the number of milliseconds to add to this CommonTime
+ * @return a reference to this CommonTime object
+ * @throws InvalidRequest on over-/under-flow
+ */
+ CommonTime& addMilliseconds( long ms )
+ throw( InvalidRequest );
+ //@}
+
+ /**
+ * @defgroup ctco CommonTime Comparison Operators
+ * All comparison operators have a parameter "right" which corresponds
+ * to the CommonTime object to the right of the symbol.
+ * All comparison operators are const and return true on success
+ * and false on failure.
+ */
+ //@{
+ bool operator==( const CommonTime& right ) const
+ throw();
+ bool operator!=( const CommonTime& right ) const
+ throw();
+ bool operator<( const CommonTime& right ) const
+ throw();
+ bool operator>( const CommonTime& right ) const
+ throw();
+ bool operator<=( const CommonTime& right ) const
+ throw();
+ bool operator>=( const CommonTime& right ) const
+ throw();
+ //@}
+
+ protected:
+
+ /**
+ * Add the following quantities to this CommonTime object.
+ * @param days the number of days to add
+ * @param msod the number of milliseconds to add
+ * @param fsod the number of fractional seconds to add
+ * @return the result of calling the normalize() function
+ */
+ bool add( long days,
+ long msod,
+ double fsod )
+ throw();
+
+ /// Normalize the values. This takes out of bounds values and rolls
+ /// other values appropriately.
+ /// @return true if m_day is valid, false otherwise
+ bool normalize()
+ throw();
+
+ long m_day; //< days (as a Julian Day) 0 <= val < 2^31
+ long m_msod; //< milliseconds-of-day 0 <= val < 86400000
+ double m_fsod; //< fractional seconds-of-day 0 <= val < 0.001
+ };
+
+} // namespace
+
+#endif // GPSTK_COMMONTIME_HPP
diff --git a/trunk/src/DayTime.cpp b/trunk/src/DayTime.cpp
new file mode 100644
index 0000000..bacbcd4
--- /dev/null
+++ b/trunk/src/DayTime.cpp
@@ -0,0 +1,1863 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/DayTime.cpp#23 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file DayTime.cpp
+ * gpstk::DayTime - encapsulates date and time-of-day in many formats
+ */
+
+#include <iostream>
+#include <iomanip>
+#include <string>
+#include <ctime>
+
+#if _MSC_VER
+#include <sys/types.h>
+#include <sys/timeb.h>
+#endif
+
+#include "DayTime.hpp"
+
+namespace gpstk
+{
+ using namespace std;
+ using namespace gpstk::StringUtils;
+
+ // ----------- Part 0: month and day labels -------------------
+ //
+ /// Long month names for converstion from numbers to strings
+ static const char *MonthNames[] = {
+ "Error",
+ "January","February", "March", "April",
+ "May", "June","July", "August",
+ "September", "October", "November", "December"
+ };
+
+ /// Short month names for converstion from numbers to strings
+ static const char *MonthAbbrevNames[] = {
+ "err", "Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul",
+ "Aug", "Sep", "Oct", "Nov", "Dec"
+ };
+
+ /// Long day of week names for converstion from numbers to strings
+ static const char *DayOfWeekNames[] = {
+ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
+ "Friday", "Saturday"
+ };
+
+ /// Short day of week names for converstion from numbers to strings
+ static const char *DayOfWeekAbbrevNames[] = {
+ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+ };
+
+ // ----------- Part 1: exceptions and constants ---------------
+ //
+
+ // mSod is sod/FACTOR
+ const long DayTime::FACTOR = 1000;
+
+ // Seconds per half a GPS week.
+ const long DayTime::HALFWEEK = 302400;
+ // Seconds per whole GPS week.
+ const long DayTime::FULLWEEK = 604800;
+ // Seconds per day.
+ const long DayTime::SEC_DAY = 86400;
+ // Milliseconds in a day.
+ const long DayTime::MS_PER_DAY = SEC_DAY*1000;
+
+ // Conversion offset, Julian Date to Modified Julian Date.
+ const double DayTime::JD_TO_MJD = 2400000.5;
+ // 'Julian day' offset from MJD
+ const long DayTime::MJD_JDAY = 2400001;
+ // 'Julian day' of GPS epoch (Jan. 1, 1980).
+ const long DayTime::GPS_EPOCH_JDAY = 2444245L;
+ // Modified Julian Date of GPS epoch (Jan. 1, 1980).
+ const long DayTime::GPS_EPOCH_MJD = 44244L;
+ // Modified Julian Date of UNIX epoch (Jan. 1, 1970).
+ const long DayTime::UNIX_MJD = 40587L;
+
+ // One nanosecond tolerance.
+ const double DayTime::ONE_NSEC_TOLERANCE = 1e-9;
+ // One microsecond tolerance.
+ const double DayTime::ONE_USEC_TOLERANCE = 1e-6;
+ // One millisecond tolerance.
+ const double DayTime::ONE_MSEC_TOLERANCE = 1e-3;
+ // One second tolerance.
+ const double DayTime::ONE_SEC_TOLERANCE = 1;
+ // One minute tolerance.
+ const double DayTime::ONE_MIN_TOLERANCE = 60;
+ // One hour tolerance.
+ const double DayTime::ONE_HOUR_TOLERANCE = 3600;
+
+ // Tolerance for time equality.
+#ifdef _WIN32
+ double DayTime::DAYTIME_TOLERANCE = ONE_USEC_TOLERANCE;
+#else
+ double DayTime::DAYTIME_TOLERANCE = ONE_NSEC_TOLERANCE;
+#endif
+
+ // 'julian day' of earliest epoch expressible by DayTime; 1/1/4713 B.C.
+ const long DayTime::BEGIN_LIMIT_JDAY=0;
+ // 'julian day' of latest 'julian day' expressible by DayTime,
+ // 1/1/4713 A.D.
+ const long DayTime::END_LIMIT_JDAY=3442448;
+ // earliest representable DayTime
+ const DayTime DayTime::BEGINNING_OF_TIME =
+ DayTime(DayTime::BEGIN_LIMIT_JDAY, 0, 0.0, DayTime::DAYTIME_TOLERANCE);
+ // latest representable DayTime
+ const DayTime DayTime::END_OF_TIME =
+ DayTime(DayTime::END_LIMIT_JDAY, 0, 0.0, DayTime::DAYTIME_TOLERANCE);
+
+ // If true, check the validity of inputs and throw DayTimeException
+ // on failure.
+ bool DayTime::DAYTIME_TEST_VALID = true;
+
+ // ----------- Part 2: member functions: tolerance -------------
+ //
+ DayTime& DayTime::setTolerance(const double tol)
+ throw()
+ {
+ tolerance = tol;
+ return *this;
+ }
+
+ // ----------- Part 3: member functions: constructors ----------
+ //
+ // Default constructor; initializes to current system time.
+ DayTime::DayTime()
+ throw(DayTime::DayTimeException)
+ {
+ init();
+ setSystemTime();
+ }
+
+ // GPS time with full week constructor.
+ // @param GPSWeek full week number
+ // @param GPSSecond seconds of week.
+ // @param f Time frame (see #TimeFrame)
+ DayTime::DayTime(short GPSWeek,
+ double GPSSecond,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ init();
+ setGPSfullweek(GPSWeek, GPSSecond, f);
+ }
+
+ // GPS time constructor.
+ // @param GPSWeek 10 bit week number.
+ // @param GPSSecond Seconds of week.
+ // @param year Four-digit year.
+ // @param f Time frame (see #TimeFrame)
+ DayTime::DayTime(short GPSWeek,
+ double GPSSecond,
+ short ayear,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ init();
+ setGPS(GPSWeek, GPSSecond, ayear, f);
+ }
+
+ // GPS time constructor.
+ // @param GPSWeek GPS 10 bit week number.
+ // @param zcount Z-count (seconds of week / 1.5)
+ // @param year Four-digit year.
+ // @param f Time frame (see #TimeFrame)
+ DayTime::DayTime(short GPSWeek,
+ long zcount,
+ short ayear,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ init();
+ setGPS(GPSWeek, zcount, ayear, f);
+ }
+
+ // GPS time constructor.
+ // @param fullZcount Full z-count (3 MSB unused, mid 10 bits -
+ // week number, 19 LSB "normal" z-count).
+ // @param f Time frame (see #TimeFrame)
+ DayTime::DayTime(unsigned long fullZcount,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ init();
+ setGPS(fullZcount, f);
+ }
+
+ // GPS Zcount constructor.
+ // @param z GPSZcount object to set to
+ // @param f Time frame (see #TimeFrame)
+ DayTime::DayTime(const GPSZcount& z,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ init();
+ setGPSZcount(z, f);
+ }
+
+ // Calendar time constructor.
+ // @param yy four-digit year.
+ // @param mm month of year (1-based).
+ // @param dd day of month (1-based).
+ // @param hh hour of day.
+ // @param min minutes of hour.
+ // @param sec seconds of minute.
+ // @param f Time frame (see #TimeFrame)
+ DayTime::DayTime(short yy,
+ short mm,
+ short dd,
+ short hh,
+ short min,
+ double sec,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ init();
+ setYMDHMS(yy, mm, dd, hh, min, sec, f);
+ }
+
+ // Modified Julian date time constructor.
+ // @param julian Modified Julian date.
+ // @param f Time frame (see #TimeFrame)
+ DayTime::DayTime(long double mjd,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ init();
+ setMJD(mjd, f);
+ }
+
+ // Modified Julian date time constructor.
+ // @param MJD Modified Julian date as double.
+ // @param f Time frame (see #TimeFrame)
+ DayTime::DayTime(double mjd,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ init();
+ setMJD((long double)(mjd), f);
+ }
+
+ // Day of year time constructor.
+ // @param year Four-digit year.
+ // @param DOY Day of year.
+ // @param SOD Seconds of day.
+ // @param f Time frame (see #TimeFrame)
+ DayTime::DayTime(short year,
+ short doy,
+ double sod,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ init();
+ setYDoySod(year,doy,sod,f);
+ }
+
+ // UNIX time constructor.
+ // @param t timeval structure (typically from gettimeofday()).
+ // @param f Time frame (see #TimeFrame)
+ DayTime::DayTime(const struct timeval& t,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ init();
+ setUnix(t,f);
+ timeFrame = f;
+ }
+
+ // ----------- Part 4: member functions: assignment and copy ----------
+ //
+ // Copy constructor
+ DayTime::DayTime(const DayTime &right)
+ throw(DayTime::DayTimeException)
+ {
+ init();
+ *this = right;
+ }
+
+ // Assignment operator.
+ DayTime& DayTime::operator=(const DayTime& right)
+ throw()
+ {
+ jday = right.jday;
+ mSod = right.mSod;
+ mSec = right.mSec;
+ timeFrame = right.timeFrame;
+ tolerance = right.tolerance;
+ return *this;
+ }
+
+ // ----------- Part 5: member functions: arithmetic ------------
+ //
+ // DayTime difference function.
+ // @param right DayTime to subtract from this one.
+ // @return difference in seconds.
+ double DayTime::operator-(const DayTime& right) const
+ throw()
+ {
+ return ( SEC_DAY * double(jday - right.jday)
+ + (double(mSod - right.mSod) + mSec - right.mSec) / FACTOR );
+ }
+
+ // Add seconds to this time.
+ // @param seconds Number of seconds to increase this time by.
+ // @return The new time incremented by \c seconds.
+ DayTime DayTime::operator+(double seconds) const
+ throw()
+ {
+ return DayTime(*this).addSeconds(seconds);
+ }
+
+ // Subtract seconds from this time.
+ // @param seconds Number of seconds to decrease this time by.
+ // @return The new time decremented by \c seconds.
+ DayTime DayTime::operator-(double seconds) const
+ throw()
+ {
+ return DayTime(*this).addSeconds(-seconds);
+ }
+
+ // Add seconds to this time.
+ // @param seconds Number of seconds to increase this time by.
+ DayTime& DayTime::operator+=(double seconds)
+ throw(DayTime::DayTimeException)
+ {
+ addSeconds(seconds);
+ return *this;
+ }
+
+ // Subtract seconds from this time.
+ // @param sec Number of seconds to decrease this time by.
+ DayTime& DayTime::operator-=(double seconds)
+ throw(DayTime::DayTimeException)
+ {
+ addSeconds(-seconds);
+ return *this;
+ }
+
+ // Add seconds to this object.
+ // @param seconds Number of seconds to add
+ DayTime& DayTime::addSeconds(double seconds)
+ throw(DayTime::DayTimeException)
+ {
+ addLongDeltaTime(0, 0, seconds * FACTOR);
+ return *this;
+ }
+
+ // Add (integer) seconds to this object.
+ // @param seconds Number of seconds to add.
+ DayTime& DayTime::addSeconds(long seconds)
+ throw(DayTime::DayTimeException)
+ {
+ long ldd, lds ;
+ ldd = seconds / SEC_DAY ; // days
+ seconds %= SEC_DAY ; // seconds-of-day
+ lds = seconds * FACTOR ;
+ addLongDeltaTime(ldd, lds, 0) ;
+ return *this ;
+ }
+
+ // Add (integer) milliseconds to this object.
+ // @param msec Number of milliseconds to add.
+ DayTime& DayTime::addMilliSeconds(long msec)
+ throw(DayTime::DayTimeException)
+ {
+ long ldd, lds ;
+ ldd = msec / MS_PER_DAY ; // days
+ msec %= MS_PER_DAY ; // milliseconds-of-day
+ lds = msec * FACTOR / 1000 ;
+ addLongDeltaTime(ldd, lds, 0) ;
+ return *this;
+ }
+
+ // Add (integer) microseconds to this object.
+ // @param usec Number of microseconds to add.
+ DayTime& DayTime::addMicroSeconds(long usec)
+ throw(DayTime::DayTimeException)
+ {
+ // NB FACTOR must be <, and a factor of, 1000000 :
+ long ldd, lds, mult = (1000000 / FACTOR);
+ double ds;
+ ldd = usec / (1000000 * SEC_DAY) ; // days
+ usec %= (1000000 * SEC_DAY) ; // usec-of-day
+ lds = usec / mult; // long sec/FACTOR's
+ ds = double(usec % mult) / mult; // frac sec/FACTOR's
+ addLongDeltaTime(ldd, lds, ds);
+ return *this;
+ }
+
+ // ----------- Part 6: member functions: comparisons ------------
+ //
+ // Equality operator.
+ bool DayTime::operator==(const DayTime &right) const
+ throw()
+ {
+ // use the smaller of the two tolerances for comparison
+ return (ABS(operator-(right)) <=
+ ((tolerance > right.tolerance) ? right.tolerance : tolerance));
+ }
+ // Inequality operator.
+ bool DayTime::operator!=(const DayTime &right) const
+ throw()
+ {
+ return !(operator==(right));
+ }
+ // Comparison operator (less-than).
+ bool DayTime::operator<(const DayTime &right) const
+ throw()
+ {
+ return (operator-(right) <
+ -((tolerance > right.tolerance) ? right.tolerance : tolerance));
+ }
+ // Comparison operator (greater-than).
+ bool DayTime::operator>(const DayTime &right) const
+ throw()
+ {
+ return (operator-(right) >
+ ((tolerance > right.tolerance) ? right.tolerance : tolerance));
+ }
+ // Comparison operator (less-than or equal-to).
+ bool DayTime::operator<=(const DayTime &right) const
+ throw()
+ {
+ return !(operator>(right));
+ }
+ // Comparison operator (greater-than or equal-to).
+ bool DayTime::operator>=(const DayTime &right) const
+ throw()
+ {
+ return !(operator<(right));
+ }
+
+ // ----------- Part 7: member functions: time frame-----------------------
+ //
+ DayTime& DayTime::setAllButTimeFrame(const DayTime& right)
+ throw(DayTime::DayTimeException)
+ {
+ TimeFrame t = timeFrame;
+ *this = right;
+ timeFrame = t;
+ return *this;
+ }
+
+ // ----------- Part 8: member functions: get -----------------------------
+ //
+ //
+ // These routines let you retrieve the time stored in this object.
+ //
+ // Get Julian Date JD
+ double DayTime::JD() const throw()
+ {
+ return (double(jday) + secOfDay() / SEC_DAY - 0.5);
+ }
+
+ // Get Modified Julian Date MJD
+ double DayTime::MJD() const
+ throw()
+ {
+ return JD() - JD_TO_MJD ;
+ }
+
+ // Get year.
+ short DayTime::year() const
+ throw()
+ {
+ int yy, mm, dd;
+ convertJDtoCalendar(jday, yy, mm, dd);
+ return yy;
+ }
+
+ // Get month of year.
+ short DayTime::month() const
+ throw()
+ {
+ int yy, mm, dd;
+ convertJDtoCalendar(jday, yy, mm, dd);
+ return mm;
+ }
+
+ // Get day of month.
+ short DayTime::day() const
+ throw()
+ {
+ int yy,mm,dd;
+ convertJDtoCalendar(jday, yy, mm, dd);
+ return dd;
+ }
+
+ // Get day of week
+ short DayTime::dayOfWeek() const
+ throw()
+ {
+ return (((jday % 7) + 1) % 7) ;
+ }
+
+ // Get hour of day.
+ short DayTime::hour() const
+ throw()
+ {
+ int hh, mm ;
+ double sec ;
+ convertSODtoTime(secOfDay(), hh, mm, sec);
+ return hh;
+ }
+
+ // Get minutes of hour.
+ short DayTime::minute() const
+ throw()
+ {
+ int hh, mm ;
+ double sec ;
+ convertSODtoTime(secOfDay(), hh, mm, sec);
+ return mm;
+ }
+
+ // Get seconds of minute.
+ double DayTime::second() const
+ throw()
+ {
+ int hh, mm ;
+ double sec ;
+ convertSODtoTime(secOfDay(), hh, mm, sec) ;
+ return sec;
+ }
+
+ // Get 10-bit GPS week.
+ short DayTime::GPS10bitweek() const
+ throw()
+ {
+ return (GPSfullweek() % 1024);
+ }
+
+ // Get normal (19 bit) zcount.
+ long DayTime::GPSzcount() const
+ throw()
+ {
+ return (long)((GPSsow() / 1.5) + .5);
+ }
+
+ // Same as GPSzcount() but without rounding to nearest zcount.
+ long DayTime::GPSzcountFloor() const
+ throw()
+ {
+ return (long)(GPSsow() / 1.5);
+ }
+
+ // Get seconds of week.
+ double DayTime::GPSsow() const
+ throw()
+ {
+ return double(GPSday() * SEC_DAY) + secOfDay() ;
+ }
+
+ // Get full (>10 bits) week
+ short DayTime::GPSfullweek() const
+ throw()
+ {
+ return short(double(jday - GPS_EPOCH_JDAY) / 7) ;
+ }
+
+ // Get day of year.
+ short DayTime::DOY() const
+ throw()
+ {
+ int yy, mm, dd;
+ convertJDtoCalendar(jday, yy, mm, dd);
+ return (jday - convertCalendarToJD(yy, 1, 1) + 1) ;
+ }
+
+ // Get object time as a modified Julian date.
+ long double DayTime::getMJDasLongDouble() const
+ throw()
+ {
+ return ( (long double)(jday)
+ + (long double)(secOfDay() / SEC_DAY - 0.5)
+ - (long double)(JD_TO_MJD) );
+ }
+
+ // Get object time in UNIX timeval structure.
+ struct timeval DayTime::unixTime() const
+ throw(DayTime::DayTimeException)
+ {
+ struct timeval t;
+
+ t.tv_sec = mSod / FACTOR
+ + long(jday - MJD_JDAY - UNIX_MJD) * SEC_DAY ;
+
+ t.tv_usec = (mSod % FACTOR) * (1000000 / FACTOR)
+ + long(mSec * (1000000 / FACTOR) + 0.5) ;
+
+ if (t.tv_usec >= 1000000)
+ {
+ t.tv_usec -= 1000000;
+ ++t.tv_sec;
+ }
+
+ return t;
+ }
+
+ // Get time as 32 bit Z count.
+ // The 13 MSBs are week modulo 1024, 19 LSBs are seconds of
+ // week in Zcounts.
+ unsigned long DayTime::fullZcount() const
+ throw()
+ {
+ return ((long(GPS10bitweek()) << 19) + GPSzcount()) ;
+ }
+
+ // Same as fullZcount() but without rounding to nearest zcount.
+ unsigned long DayTime::fullZcountFloor() const
+ throw()
+ {
+ return ((long(GPS10bitweek()) << 19) + GPSzcountFloor()) ;
+ }
+
+ DayTime::operator GPSZcount() const
+ throw(DayTime::DayTimeException)
+ {
+ try
+ {
+ // account for rounding error in GPSzcount()
+ if(GPSzcount() == GPSZcount::ZCOUNT_WEEK)
+ {
+ return GPSZcount(GPSfullweek() + 1, 0);
+ }
+ else
+ {
+ return GPSZcount(GPSfullweek(), GPSzcount());
+ }
+ }
+ catch (gpstk::InvalidParameter& ip)
+ {
+ DayTime::DayTimeException de(ip);
+ GPSTK_THROW(de);
+ }
+ }
+
+ // ----------- Part 9: member functions: set -------------
+ //
+ // Set the object's time using calendar (Y/M/D) date and ordinary (H:M:S)
+ // time.
+ // @param yy four-digit year.
+ // @param month month of year (1-based).
+ // @param day day of month (1-based).
+ // @param hour hour of day.
+ // @param min minutes of hour.
+ // @param sec seconds of minute.
+ // @param f Time frame (see #TimeFrame)
+ // @return a reference to this object.
+ DayTime& DayTime::setYMDHMS(short yy,
+ short month,
+ short day,
+ short hour,
+ short min,
+ double sec,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ setYMD(yy, month, day, f);
+ return setHMS(hour, min, sec, f);
+ }
+
+ // Set the object time using GPS time. If the GPS week is
+ // 10 bit, the full week is determined from the system clock.
+ // @param week Week number (can be 10 bit).
+ // @param sow Seconds of week.
+ // @param f Time frame (see #TimeFrame)
+ // @return a reference to this object.
+ DayTime& DayTime::setGPS(short week,
+ double sow,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ short fullweek=week;
+ if(week < 1024) {
+ DayTime ndt;
+ ndt.setSystemTime();
+ fullweek = 1024*(ndt.GPSfullweek()/1024) + week;
+ }
+ return setGPSfullweek(fullweek,sow,f);
+ }
+
+ // Set the object's time using GPS time. If the GPS week
+ // is 10 bit, the full week is determined from the system clock.
+ // @param week GPS 10 bit week number.
+ // @param zcount Z-count (seconds of week / 1.5)
+ // @param f Time frame (see #TimeFrame)
+ // @return a reference to this object.
+ DayTime& DayTime::setGPS(short week,
+ long zcount,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ return setGPS(week, double(zcount) * 1.5, f);
+ }
+
+ // Set the object's time using GPS time.
+ // @param week GPS 10 bit week number.
+ // @param zcount Z-count (seconds of week / 1.5)
+ // @param year Four-digit year.
+ // @param f Time frame (see #TimeFrame)
+ // @return a reference to this object.
+ DayTime& DayTime::setGPS(short week,
+ long zcount,
+ short year,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ return setGPS(week, double(zcount) * 1.5, year, f);
+ }
+
+ // Set the object's time using input GPS 10-bit
+ // week and seconds of week; determine the number
+ // of GPS week rollovers by deducing it from the input year and week.
+ // @param week 10 bit week number.
+ // @param sow Seconds of week.
+ // @param year Four-digit year.
+ // @param f Time frame (see #TimeFrame)
+ // @return a reference to this object.
+ DayTime& DayTime::setGPS(short week,
+ double sow,
+ short year,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ bool valid = true;
+
+ if (DAYTIME_TEST_VALID)
+ {
+ if ((year < 1980) || (week < 0))
+ valid = false;
+ }
+
+ if (valid)
+ {
+ DayTime dt;
+
+ // In case the user supplies the full GPS week number.
+ week %= 1024;
+
+ dt.setYMD(year, 1, 1);
+ // z1 is the number of GPS 10-bit-week roll-overs at the beginning
+ // of the year.
+ short z1 = dt.GPSfullweek() / 1024;
+
+ dt.setYMD(year, 12, 31);
+ // z2 is the number of GPS 10-bit-week roll-overs at the end
+ // of the year.
+ short z2 = dt.GPSfullweek() / 1024;
+
+ // GPS 10-bit-week *does not* roll-over during the year.
+ if (z1 == z2)
+ {
+ return setGPSfullweek(week + z1 * 1024, sow, f);
+ }
+ // GPS 10-bit-week *does* roll-over during the year.
+ else
+ {
+ if (week <= 512) // roll-over happened before week ... use z2
+ {
+ return setGPSfullweek(week + z2 * 1024, sow, f);
+ }
+ else if (week > 512) // roll-over happened after week ... use z1
+ {
+ return setGPSfullweek(week + z1 * 1024, sow, f);
+ }
+ }
+ }
+
+ // If we get here, valid is false.
+ if(DAYTIME_TEST_VALID)
+ {
+ using gpstk::StringUtils::asString ;
+ DayTimeException dte("Input inconsistent: year "
+ + asString<int>(year)
+ + " cannot contain 10-bit GPS week "
+ + asString<short>(week));
+ GPSTK_THROW(dte);
+ }
+
+ return *this;
+ }
+
+ // Set the object's time using GPS time. System time
+ // is used to determine which 'zone' of 1024 weeks is assigned.
+ // @param Zcount Full z-count (3 MSB unused, mid 10 bits -
+ // week number, 19 LSB "normal" z-count).
+ // @param f Time frame (see #TimeFrame)
+ // @return a reference to this object.
+ DayTime& DayTime::setGPS(unsigned long Zcount,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ short cweek = (Zcount >> 19) & 0x3FF ;
+ long zcount = Zcount & 0x7FFFFL ;
+ if(DAYTIME_TEST_VALID)
+ {
+ if(cweek < 0 || cweek > 1023 || // Is this is a necessary check?
+ zcount < 0 || zcount > 403199 )
+ {
+ using gpstk::StringUtils::asString ;
+ DayTimeException dte("Invalid Full GPS Z-count: "
+ + asString<unsigned long>(Zcount));
+ GPSTK_THROW(dte);
+ }
+ }
+ return setGPS(cweek, zcount, f);
+ }
+
+ // Set the object's time using GPS time.
+ // @param fullweek Full (i.e. >10bits) GPS week number.
+ // @param sow Seconds of week.
+ // @param f Time frame (see #TimeFrame)
+ // @return a reference to this object.
+ DayTime& DayTime::setGPSfullweek(short fullweek,
+ double sow,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ if(DAYTIME_TEST_VALID)
+ {
+ if(fullweek < 0 ||
+ sow < 0.0 ||
+ sow >= double(FULLWEEK))
+ {
+ using gpstk::StringUtils::asString ;
+ DayTimeException dte("Invalid week/seconds-of-week: "
+ + asString<short>(fullweek)+ "/"
+ + asString(sow));
+ GPSTK_THROW(dte);
+ }
+ }
+ jday = GPS_EPOCH_JDAY + 7 * long(fullweek) + long(sow / SEC_DAY);
+ double sod = sow - SEC_DAY * long(sow / SEC_DAY);
+ return setSecOfDay(sod, f);
+ }
+
+ // Set the object's time using the given GPSZcount.
+ // System time is used to disambiguate which 1024 week 'zone'
+ // is appropriate.
+ // @param z the GPSZcount object to set to
+ // @param f Time frame (see #TimeFrame)
+ // @return a reference to this object.
+ DayTime& DayTime::setGPSZcount(const GPSZcount& z,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ setGPS(z.getWeek(), z.getZcount(), f) ;
+ return *this ;
+ }
+
+ // Set the object's time using day of year.
+ // @param year Four-digit year.
+ // @param day_of_year Day of year.
+ // @param sec_of_day Seconds of day.
+ // @param f Time frame (see #TimeFrame)
+ // @return a reference to this object.
+ DayTime& DayTime::setYDoySod(short year,
+ short doy,
+ double sod,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ setYDoy(year, doy, f);
+ return setSecOfDay(sod, f);
+ }
+
+ // Set the object's time using Modified Julian date.
+ // This just sets the time to the indicated modified Julian date.
+ // @param mjd the MJD of the date & time to set
+ // @param f Time frame (see #TimeFrame)
+ // @return a reference to this object.
+ DayTime& DayTime::setMJD(long double mjd,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ if(DAYTIME_TEST_VALID)
+ {
+ if(mjd < (long double)(BEGIN_LIMIT_JDAY-MJD_JDAY) ||
+ mjd > (long double)(END_LIMIT_JDAY-MJD_JDAY))
+ {
+ DayTimeException dte("Invalid MJD: "
+ + gpstk::StringUtils::asString(mjd)) ;
+ GPSTK_THROW(dte) ;
+ }
+ }
+ jday = long(mjd + 1.0) ; // int part of JD contributed by MJD
+ long double sod = SEC_DAY * (mjd + 1.0 - double(jday)) ;
+ jday += MJD_JDAY - 1 ;
+ mSod = long(FACTOR * sod) ;
+ mSec = FACTOR * double(sod) - double(mSod) ;
+ timeFrame = f ;
+ return *this ;
+ }
+
+ // set using unix timeval struct
+ DayTime& DayTime::setUnix(const struct timeval& t,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ long sec = t.tv_sec ;
+ double dt = double(sec) + (t.tv_usec * 1.e-6) ;
+ jday = MJD_JDAY + UNIX_MJD + long(dt / SEC_DAY) ;
+ sec -= long(dt / SEC_DAY) * SEC_DAY ;
+ dt = double(sec) + (t.tv_usec * 1.e-6) ;
+ return setSecOfDay(dt);
+ }
+
+ // set using ANSI
+ DayTime& DayTime::setANSI(const time_t& t,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ long double dt = (long double)(t);
+ dt /= SEC_DAY;
+ dt += UNIX_MJD;
+ return setMJD(dt, f);
+ }
+
+ // set using system time
+ DayTime& DayTime::setSystemTime()
+ throw(DayTime::DayTimeException)
+ {
+#if defined(ANSI_ONLY)
+ time_t t;
+ time(&t);
+ setANSI(t, LocalSystem);
+#elif defined(WIN32)
+ _timeb t;
+ _ftime(&t);
+ timeval tv;
+ tv.tv_sec = t.time;
+ tv.tv_usec = t.millitm*1000;
+ setUnix(tv, LocalSystem);
+#else
+ timeval t;
+ gettimeofday(&t, NULL);
+ setUnix(t, LocalSystem);
+#endif
+ return *this;
+ }
+
+ // set using local time
+ DayTime& DayTime::setLocalTime()
+ throw(DayTime::DayTimeException)
+ {
+ time_t t;
+ time(&t);
+ struct tm *ltod;
+ ltod = localtime(&t);
+ setYMDHMS(1900 + ltod->tm_year, ltod->tm_mon + 1, ltod->tm_mday,
+ ltod->tm_hour, ltod->tm_min, ltod->tm_sec);
+ return *this;
+ }
+
+ // end of set...() that set Day and Time
+ // add set...() that set only Day or only Time
+ //
+ // Set the object using calendar (Y/M/D) date only (time is unchanged)
+ DayTime& DayTime::setYMD(int yy,
+ int mm,
+ int dd,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ long tempDay = convertCalendarToJD(yy, mm, dd);
+ if(DAYTIME_TEST_VALID)
+ {
+ int y, m, d;
+ convertJDtoCalendar(tempDay, y, m, d);
+ if(y != yy || m != mm || d != dd)
+ {
+ using gpstk::StringUtils::asString ;
+ DayTimeException dte("Invalid yy/mm/dd: " + asString<int>(yy) + "/"
+ + asString<int>(mm) + "/" + asString<int>(dd)
+ + " != " + asString<int>(y) + "/"
+ + asString<int>(m) + "/" + asString<int>(d));
+ GPSTK_THROW(dte);
+ }
+ }
+ jday = tempDay;
+ timeFrame = f;
+ return *this;
+ }
+
+ // Set the object using ordinary (H:M:S) time only (day is unchanged)
+ DayTime& DayTime::setHMS(int hh,
+ int mm,
+ double sec,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ double sod = convertTimeToSOD(hh, mm, sec);
+ if(DAYTIME_TEST_VALID)
+ {
+ int h, m;
+ double s;
+ convertSODtoTime(sod, h, m, s);
+ if(h != hh || m != mm || ABS(s - sec) > tolerance)
+ {
+ using gpstk::StringUtils::asString ;
+ DayTimeException dte("Invalid hh:mm:ss: " + asString<int>(hh)
+ + ":" + asString<int>(mm)
+ + ":" + asString(sec));
+ GPSTK_THROW(dte);
+ }
+ }
+ return setSecOfDay(sod,f);
+ }
+
+ // Set the object using seconds of day only (day is unchanged)
+ DayTime& DayTime::setSecOfDay(double sod,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ if(DAYTIME_TEST_VALID)
+ {
+ if(sod < 0.0 || sod >= double(SEC_DAY))
+ {
+ DayTimeException dte("Invalid seconds-of-day: "
+ + gpstk::StringUtils::asString(sod));
+ GPSTK_THROW(dte);
+ }
+ }
+ mSod = long(FACTOR * sod);
+ mSec = FACTOR * double(sod) - double(mSod);
+ timeFrame = f;
+ return *this;
+ }
+
+ // Set the object using year and day of year only (time is unchanged)
+ DayTime& DayTime::setYDoy(int yy,
+ int doy,
+ TimeFrame f)
+ throw(DayTime::DayTimeException)
+ {
+ jday = convertCalendarToJD(yy, 1, 1) + doy - 1;
+ if(DAYTIME_TEST_VALID)
+ {
+ int y,m,d;
+ convertJDtoCalendar(jday, y, m, d);
+ if(y != yy)
+ {
+ DayTimeException dte("Invalid Year/Day-of-Year: "
+ + gpstk::StringUtils::asString(yy)
+ + "/" + gpstk::StringUtils::asString(doy));
+ GPSTK_THROW(dte);
+ }
+ }
+ timeFrame = f;
+ return *this;
+ }
+
+ // ----------- Part 10: member functions: setToString, printf ---------
+ //
+ DayTime& DayTime::setToString(const string& str,
+ const string& fmt)
+ throw(DayTime::DayTimeException, DayTime::FormatException,
+ StringException)
+ {
+ try
+ {
+ // make an object to return
+ DayTime toReturn(*this);
+
+ // test completeness of specification given by input
+ bool hmjd = false, hsow = false, hweek = false, hfullWeek = false,
+ hdow = false, hyear = false, hmonth = false, hday= false,
+ hzcount = false, hdoy = false, hfullzcount = false,
+ hhour = false, hmin = false, hsec = false, hsod = false,
+ hunixsec = false, hunixusec = false;
+
+ double imjd, isow;
+ short iweek, ifullWeek, idow, imonth, iday;
+ long izcount, idoy;
+ long ifullzcount;
+
+ short iyear, ihour, imin;
+ double isec, isod;
+
+ // unix time
+ long unixsec, unixusec;
+
+ // set the year in case it is not in the input -- for week input
+ iyear = toReturn.year();
+
+ string f = fmt;
+ string s = str;
+
+ // parse strings... As we process each part, it's removed from
+ // both strings so when we reach 0, we're done
+ while ( (s.size() > 0) && (f.size() > 0) )
+ {
+ // remove everything in f and s up to the first % in f
+ // (these parts of the strings must be identical or this will
+ // break after it tries to remove it!)
+ while ( (s.length() != 0) && (f.length() != 0) && (f[0] != '%') )
+ {
+ // remove that character now and other whitespace
+ s.erase(0,1);
+ f.erase(0,1);
+ stripLeading(s);
+ stripLeading(f);
+ }
+
+ // check just in case we hit the end of either string...
+ if ( (s.length() == 0) || (f.length() == 0) )
+ break;
+
+ // lose the '%' in f...
+ f.erase(0,1);
+
+ // if the format string is like %03f, get '3' as the field
+ // length.
+ string::size_type fieldLength = string::npos;
+
+ if (!isalpha(f[0]))
+ {
+ fieldLength = asInt(f);
+
+ // remove everything else up to the next character
+ // (in "%03f", that would be 'f')
+ while ((!f.empty()) && (!isalpha(f[0])))
+ f.erase(0,1);
+ if (f.empty())
+ break;
+ }
+
+ // finally, get the character that should end this field, if any
+ char delimiter = 0;
+ if (f.size() > 1)
+ {
+ if (f[1] != '%')
+ {
+ delimiter = f[1];
+
+ if (fieldLength == string::npos)
+ fieldLength = s.find(delimiter,0);
+ }
+ // if the there is no delimiter character and the next field
+ // is another part of the time to parse, assume the length
+ // of this field is 1
+ else if (fieldLength == string::npos)
+ {
+ fieldLength = 1;
+ }
+ }
+
+ // figure out the next string to be removed. if there is a
+ // field length, use that first
+ string toBeRemoved = s.substr(0, fieldLength);
+
+ // based on char at f[0], convert input to temporary variable
+ switch (f[0])
+ {
+ case 'Q':
+ {
+ imjd = asDouble(toBeRemoved);
+ hmjd = true;
+ }
+ break;
+
+ case 'Z':
+ {
+ izcount = asInt(toBeRemoved);
+ hzcount = true;
+ }
+ break;
+
+ case 's':
+ {
+ isod = asDouble(toBeRemoved);
+ hsod = true;
+ }
+ break;
+
+ case 'g':
+ {
+ isow = asDouble(toBeRemoved);
+ hsow = true;
+ }
+ break;
+
+ case 'w':
+ {
+ idow = asInt(toBeRemoved);
+ hdow = true;
+ }
+ break;
+
+ case 'G':
+ {
+ iweek = asInt(toBeRemoved);
+ hweek = true;
+ }
+ break;
+
+ case 'F':
+ {
+ ifullWeek = asInt(toBeRemoved);
+ hfullWeek = true;
+ }
+ break;
+
+ case 'j':
+ {
+ idoy = asInt(toBeRemoved);
+ hdoy = true;
+ }
+ break;
+
+ case 'b':
+ case 'B':
+ {
+ string thisMonth(toBeRemoved);
+ lowerCase(thisMonth);
+
+ if (isLike(thisMonth, "jan.*")) imonth = 1;
+ else if (isLike(thisMonth, "feb.*")) imonth = 2;
+ else if (isLike(thisMonth, "mar.*")) imonth = 3;
+ else if (isLike(thisMonth, "apr.*")) imonth = 4;
+ else if (isLike(thisMonth, "may.*")) imonth = 5;
+ else if (isLike(thisMonth, "jun.*")) imonth = 6;
+ else if (isLike(thisMonth, "jul.*")) imonth = 7;
+ else if (isLike(thisMonth, "aug.*")) imonth = 8;
+ else if (isLike(thisMonth, "sep.*")) imonth = 9;
+ else if (isLike(thisMonth, "oct.*")) imonth = 10;
+ else if (isLike(thisMonth, "nov.*")) imonth = 11;
+ else if (isLike(thisMonth, "dec.*")) imonth = 12;
+ else
+ {
+ FormatException fe("Invalid month entry for setToString");
+ GPSTK_THROW(fe);
+ }
+ hmonth = true;
+ }
+ break;
+
+ case 'Y':
+ {
+ iyear = asInt(toBeRemoved);
+ hyear = true;
+ }
+ break;
+
+ case 'y':
+ {
+ if (fieldLength == 2)
+ {
+ iyear = asInt(toBeRemoved) + 1900;
+ if (iyear < 1980)
+ iyear += 100;
+ }
+ else if (fieldLength == 3)
+ {
+ iyear = asInt(toBeRemoved) + 1000;
+ if (iyear < 1980)
+ iyear += 100;
+ }
+ else
+ iyear = asInt(toBeRemoved);
+
+ hyear = true;
+ }
+ break;
+
+ case 'a':
+ case 'A':
+ {
+ string thisDay = firstWord(toBeRemoved);
+ lowerCase(thisDay);
+ if (isLike(thisDay, "sun.*")) idow = 0;
+ else if (isLike(thisDay, "mon.*")) idow = 1;
+ else if (isLike(thisDay, "tue.*")) idow = 2;
+ else if (isLike(thisDay, "wed.*")) idow = 3;
+ else if (isLike(thisDay, "thu.*")) idow = 4;
+ else if (isLike(thisDay, "fri.*")) idow = 5;
+ else if (isLike(thisDay, "sat.*")) idow = 6;
+ else
+ {
+ FormatException fe("Invalid day of week for setTostring");
+ GPSTK_THROW(fe);
+ }
+ hdow = true;
+ }
+ break;
+
+ case 'm':
+ {
+ imonth = asInt(toBeRemoved);
+ hmonth = true;
+ }
+ break;
+
+ case 'd':
+ {
+ iday = asInt(toBeRemoved);
+ hday = true;
+ }
+ break;
+
+ case 'H':
+ {
+ ihour = asInt(toBeRemoved);
+ hhour = true;
+ }
+ break;
+
+ case 'M':
+ {
+ imin = asInt(toBeRemoved);
+ hmin = true;
+ }
+ break;
+
+ case 'S':
+ {
+ isec = asDouble(toBeRemoved);
+ isec = double(short(isec));
+ hsec = true;
+ }
+ break;
+
+ case 'f':
+ {
+ isec = asDouble(toBeRemoved);
+ hsec = true;
+ }
+ break;
+
+ case 'U':
+ {
+ unixsec = asInt(toBeRemoved);
+ hunixsec = true;
+ }
+ break;
+
+ case 'u':
+ {
+ unixusec = asInt(toBeRemoved);
+ hunixusec = true;
+ }
+ break;
+
+ case 'C':
+ {
+ ifullzcount = asInt(toBeRemoved);
+ hfullzcount = true;
+ }
+
+ default:
+ {
+ // do nothing
+ }
+ break;
+ }
+ // remove the part of s that we processed
+ stripLeading(s,toBeRemoved,1);
+
+ // remove the character we processed from f
+ f.erase(0,1);
+
+ // check for whitespace again...
+ stripLeading(f);
+ stripLeading(s);
+
+ }
+
+ if ( s.length() != 0 )
+ {
+ // throw an error - something didn't get processed in the strings
+ FormatException fe(
+ "Processing error - parts of strings left unread - " + s);
+ GPSTK_THROW(fe);
+ }
+
+ if (f.length() != 0)
+ {
+ // throw an error - something didn't get processed in the strings
+ FormatException fe(
+ "Processing error - parts of strings left unread - " + f);
+ GPSTK_THROW(fe);
+ }
+
+ if (!hmjd && !hsow && !hweek && !hfullWeek && !hdow && !hmonth &&
+ !hday&& !hzcount && !hdoy && !hfullzcount && !hhour && !hmin &&
+ !hsec && !hsod && !hunixsec && !hunixusec)
+ {
+ FormatException fe("Incomplete time specification for setToString");
+ GPSTK_THROW(fe);
+ }
+
+ // GPS time formats
+ if (hsow)
+ toReturn.setGPSfullweek(0, isow);
+ if (hdow && !hsow)
+ toReturn.setGPSfullweek(0, idow * double(SEC_DAY));
+ if (hzcount)
+ toReturn.setGPSfullweek(0, izcount);
+ if (hfullzcount)
+ toReturn.setGPS(ifullzcount);
+ if (hfullWeek)
+ toReturn.setGPSfullweek(ifullWeek, toReturn.GPSsow());
+ if (hweek) // iyear has been set in any case
+ toReturn.setGPS(iweek, toReturn.GPSsow(), iyear);
+
+ // Calendar time formats
+ /*
+ * Due to inconsistency in number of days/month and
+ * number of days/year, the call to setYMDHMS() needs
+ * to be performed as an atomic call. Changing the pieces
+ * individually can lead to inconsistencies in the
+ * transient states.
+ */
+ if (hyear || hmonth || hday || hhour || hmin || hsec )
+ {
+ int nyear = toReturn.year();
+ int nmonth = toReturn.month();
+ int nday = toReturn.day();
+ int nhour = toReturn.hour();
+ int nmin = toReturn.minute();
+ double dsec = toReturn.second();
+
+ if (hyear) nyear = iyear;
+ if (hmonth) nmonth = imonth;
+ if (hday) nday = iday;
+ if (hhour) nhour = ihour;
+ if (hmin) nmin = imin;
+ if (hmin) dsec = isec;
+ toReturn.setYMDHMS(nyear, nmonth, nday,
+ nhour, nmin, dsec);
+ }
+
+ // DOY time formats
+ if (hdoy)
+ toReturn.setYDoySod(toReturn.year(), idoy, toReturn.DOYsecond());
+ if (hsod)
+ toReturn.setYDoySod(toReturn.year(), toReturn.DOY(), isod);
+
+ // MJD time format
+ if (hmjd)
+ toReturn.setMJD(imjd);
+
+ // unix time formats
+ if (hunixsec || hunixusec)
+ {
+ struct timeval tv = toReturn.unixTime();
+ if (hunixsec) tv.tv_sec = unixsec;
+ if (hunixusec) tv.tv_usec = unixusec;
+
+ toReturn.setUnix(tv);
+ }
+
+ *this = toReturn;
+ return *this;
+ }
+ catch(gpstk::Exception& exc)
+ {
+ DayTime::DayTimeException dte(exc);
+ dte.addText("Cannot generate time");
+ GPSTK_THROW(dte);
+ }
+ catch(std::exception& exc)
+ {
+ DayTime::DayTimeException dte(exc.what());
+ dte.addText("Cannot generate time");
+ GPSTK_THROW(dte);
+ }
+ }
+
+ // Format this time into a string.
+ string DayTime::printf(const char *fmt) const
+ throw(gpstk::StringUtils::StringException)
+ {
+ string rv = fmt;
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*S"),
+ string("Sd"), (short)second());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?f"),
+ string("ff"), second());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*G"),
+ string("Ghd"), GPS10bitweek());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*F"),
+ string("Fhd"), GPSfullweek());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?g"),
+ string("gf"), GPSsow());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?s"),
+ string("sf"), DOYsecond());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?Q"),
+ string("QLf"), getMJDasLongDouble());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*Y"),
+ string("Yhd"), year());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*y"),
+ string("yhd"), (short)(year() % 100));
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*m"),
+ string("mhd"), month());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*b"),
+ string("bs"), MonthAbbrevNames[month()]);
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*B"),
+ string("Bs"), MonthNames[month()]);
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*d"),
+ string("dhd"), day());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*H"),
+ string("Hhd"), hour());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*M"),
+ string("Mhd"), minute());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*w"),
+ string("whd"), dayOfWeek());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*a"),
+ string("as"), DayOfWeekAbbrevNames[dayOfWeek()]);
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*A"),
+ string("As"), DayOfWeekNames[dayOfWeek()]);
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*z"),
+ string("zd"), GPSzcountFloor());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*Z"),
+ string("Zd"), GPSzcount());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*U"),
+ string("Ud"), unixTime().tv_sec);
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*u"),
+ string("ud"), unixTime().tv_usec);
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*j"),
+ string("jhd"), DOY());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*C"),
+ string("Cd"), fullZcount());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*c"),
+ string("cd"), fullZcountFloor());
+
+ return rv;
+ }
+
+ // Format this time into a string.
+ std::string DayTime::asString() const
+ throw(gpstk::StringUtils::StringException)
+ {
+ ostringstream o;
+ o << *this;
+ return o.str();
+ }
+
+ // Dump everything possible, using every get() TD: keep?
+ void DayTime::dump(std::ostream& s) const
+ throw(DayTime::DayTimeException)
+ {
+ // warning: the internal representation, even for objects that are equal
+ // within the tolerance, may be very different
+ //s << " Data: " << jday << " " << mSod
+ //<< " " << fixed << setprecision(6) << mSec << endl;
+
+ s << " double JD(): " << fixed << setprecision(6) << JD() << endl;
+ s << " double MJD(): " << fixed << setprecision(6) << MJD() << endl;
+ s << " short year(): " << year() << endl;
+ s << " short month(): " << month() << endl;
+ s << " short day(): " << day() << endl;
+ s << " short dayOfWeek(): " << dayOfWeek() << endl;
+ int yy,mm,dd;
+ getYMD(yy, mm, dd);
+ s << " void getYMD(int& yy, int& mm, int& dd): " << yy << " " << mm
+ << " " << dd << endl;
+ s << " short hour(): " << hour() << endl;
+ s << " short minute(): " << minute() << endl;
+ s << " double second(): " << fixed << setprecision(6) << second()
+ << endl;
+ s << " double secOfDay(): " << fixed << setprecision(6) << secOfDay()
+ << endl;
+ s << " short GPS10bitweek(): " << GPS10bitweek() << endl;
+ s << " long GPSzcount(): " << GPSzcount() << endl;
+ s << " long GPSzcountFloor(): " << GPSzcountFloor() << endl;
+ s << " double GPSsecond(): " << fixed << setprecision(6) << GPSsecond()
+ << endl;
+ s << " double GPSsow(): " << fixed << setprecision(6) << GPSsow()
+ << endl;
+ s << " short GPSday(): " << GPSday() << endl;
+ s << " short GPSfullweek(): " << GPSfullweek() << endl;
+ s << " short GPSyear(): " << GPSyear() << endl;
+ s << " short DOYyear(): " << DOYyear() << endl;
+ s << " short DOYday(): " << DOYday() << endl;
+ s << " short DOY(): " << DOY() << endl;
+ s << " double DOYsecond(): "<< fixed << setprecision(6) << DOYsecond()
+ << endl;
+ s << " double MJDdate(): " << fixed << setprecision(6) << MJDdate()
+ << endl;
+ s << " long double getMJDasLongDouble(): "
+ << fixed << setprecision(6) << getMJDasLongDouble() << endl;
+ struct timeval tv=unixTime();
+ s << " struct timeval unixTime(): " << tv.tv_sec << " " << tv.tv_usec
+ << endl;
+ s << " unsigned long fullZcount(): " << fullZcount() << endl;
+ s << " unsigned long fullZcountFloor(): " << fullZcountFloor() << endl;
+ }
+
+ // ----------- Part 11: functions: fundamental conversions -----------
+ //
+ // These two routines convert 'integer JD' and calendar time; they were
+ // derived from Sinnott, R. W. "Bits and Bytes" Sky & Telescope Magazine,
+ // Vol 82, p. 183, August 1991, and The Astronomical Almanac, published
+ // by the U.S. Naval Observatory.
+ // NB range of applicability of this routine is from 0JD (4713BC)
+ // to approx 3442448JD (4713AD).
+ void DayTime::convertJDtoCalendar(long jd,
+ int& iyear,
+ int& imonth,
+ int& iday)
+ throw()
+ {
+ long L, M, N, P, Q;
+ if(jd > 2299160) // after Oct 4, 1582
+ {
+ L = jd + 68569;
+ M = (4 * L) / 146097;
+ L = L - ((146097 * M + 3) / 4);
+ N = (4000 * (L + 1)) / 1461001;
+ L = L - ((1461 * N) / 4) + 31;
+ P = (80 * L) / 2447;
+ iday = int(L - (2447 * P) / 80);
+ L = P / 11;
+ imonth = int(P + 2 - 12 * L);
+ iyear = int(100 * (M - 49) + N + L);
+ }
+ else
+ {
+ P = jd + 1402;
+ Q = (P - 1) / 1461;
+ L = P - 1461 * Q;
+ M = (L - 1) / 365 - L / 1461;
+ N = L - 365 * M + 30;
+ P = (80 * N) / 2447;
+ iday = int(N - (2447 * P) / 80);
+ N = P / 11;
+ imonth = int(P + 2 - 12 * N);
+ iyear = int(4 * Q + M + N - 4716);
+ if(iyear <= 0)
+ {
+ --iyear;
+ }
+ }
+ // catch century/non-400 non-leap years
+ if(iyear > 1599 &&
+ !(iyear % 100) &&
+ (iyear % 400) &&
+ imonth == 2 &&
+ iday == 29)
+ {
+ imonth = 3;
+ iday = 1;
+ }
+ }
+
+ long DayTime::convertCalendarToJD(int yy,
+ int mm,
+ int dd)
+ throw()
+ {
+ if(yy == 0)
+ --yy; // there is no year 0
+
+ if(yy < 0)
+ ++yy;
+
+ long jd;
+ double y = double(yy), m = double(mm), d = double(dd);
+
+ // In the conversion from the Julian Calendar to the Gregorian
+ // Calendar the day after October 4, 1582 was October 15, 1582.
+ //
+ // if the date is before October 15, 1582
+ if(yy < 1582 || (yy == 1582 && (mm < 10 || (mm == 10 && dd < 15))))
+ {
+ jd = 1729777 + dd + 367 * yy
+ - long(7 * ( y + 5001 + long((m - 9) / 7)) / 4)
+ + long(275 * m / 9);
+ }
+ else // after Oct 4, 1582
+ {
+ jd = 1721029 + dd + 367 * yy
+ - long(7 * (y + long((m + 9) / 12)) / 4)
+ - long(3 * (long((y + (m - 9) / 7) / 100) + 1) / 4)
+ + long(275 * m / 9);
+
+ // catch century/non-400 non-leap years
+ if( (! (yy % 100) &&
+ (yy % 400) &&
+ mm > 2 &&
+ mm < 9) ||
+ (!((yy - 1) % 100) &&
+ ((yy - 1) % 400) &&
+ mm == 1))
+ {
+ --jd;
+ }
+ }
+ return jd;
+ }
+
+ void DayTime::convertSODtoTime(double sod,
+ int& hh,
+ int& mm,
+ double& sec)
+ throw()
+ {
+ // Get us to within one day.
+ if (sod < 0)
+ {
+ sod += (1 + (unsigned long)(sod / SEC_DAY)) * SEC_DAY ;
+ }
+ else if (sod >= SEC_DAY)
+ {
+ sod -= (unsigned long)(sod / SEC_DAY) * SEC_DAY ;
+ }
+
+ double temp; // variable to hold the integer part of sod
+ sod = modf(sod, &temp); // sod holds the fraction, temp the integer
+ long seconds = long(temp); // get temp into a real integer
+
+ hh = seconds / 3600 ;
+ mm = (seconds % 3600) / 60 ;
+ sec = double(seconds % 60) + sod ;
+
+ }
+
+ double DayTime::convertTimeToSOD(int hh,
+ int mm,
+ double sec)
+ throw()
+ {
+ return (sec + 60. * (mm + 60. * hh));
+ }
+
+ // ----------- Part 12: private functions and member data -----------
+ //
+ void DayTime::init()
+ throw()
+ {
+ timeFrame = Unknown;
+ tolerance = DAYTIME_TOLERANCE;
+ jday = 0;
+ mSod = 0;
+ mSec = 0.0;
+ }
+
+ // ldd is days, lds is milliseconds, and ds is milliseconds
+ void DayTime::addLongDeltaTime(long ldd,
+ long lds,
+ double ds)
+ throw(DayTime::DayTimeException)
+ {
+ // Use temp variables so that we don't modify our
+ // data members until we know these values are good.
+ long workingJday(jday), workingMsod(mSod) ;
+ double workingMsec(mSec), temp(0) ;
+
+ workingMsec += ds ;
+ // check that workingMsod is not out of bounds
+ if (workingMsec < 0.)
+ {
+ // split workingMsec into integer and fraction parts
+ // workingMsec gets the fraction and temp gets the integer
+ workingMsec = 1 + modf(workingMsec, &temp);
+ // add the (negative) integer milliseconds to lds
+ if(workingMsec == 1) {
+ workingMsec = 0;
+ lds += long(temp);
+ }
+ else
+ lds += long(temp) - 1;
+ }
+ else if (workingMsec >= 1.0)
+ {
+ // same as above
+ workingMsec = modf(workingMsec, &temp) ;
+ // add the integer milliseconds to lds
+ lds += long(temp) ;
+ }
+
+ workingMsod += lds ;
+ // add any full days to ldd
+ ldd += workingMsod / (SEC_DAY * FACTOR) ;
+
+ // this will get us here:
+ // -(SEC_DAY * FACTOR) < workingMsod < (SEC_DAY * FACTOR)
+ workingMsod %= (SEC_DAY * FACTOR) ;
+
+ // this will get us here: 0 <= workingMsod < (SEC_DAY * FACTOR)
+ if (workingMsod < 0)
+ {
+ workingMsod += (SEC_DAY * FACTOR) ;
+ --ldd ;
+ }
+
+ workingJday += ldd ;
+ // check that workingJday is not out of bounds
+ if(workingJday < BEGIN_LIMIT_JDAY)
+ {
+ DayTime::DayTimeException dte("DayTime underflow") ;
+ GPSTK_THROW(dte) ;
+ }
+ if(workingJday > END_LIMIT_JDAY)
+ {
+ DayTime::DayTimeException dte("DayTime overflow") ;
+ GPSTK_THROW(dte) ;
+ }
+
+ // everything's OK, so set the data members
+ jday = workingJday ;
+ mSod = workingMsod ;
+ mSec = workingMsec ;
+
+ }
+
+ // ----------- Part 13: operator<< --------------
+ //
+ // Stream output for DayTime objects. Typically used for debugging.
+ // @param s stream to append formatted DayTime to.
+ // @param t DayTime to append to stream \c s.
+ // @return reference to \c s.
+ ostream& operator<<( ostream& s,
+ const DayTime& t )
+ {
+ s << t.printf("%02m/%02d/%04Y %02H:%02M:%02S");
+ return s;
+ }
+
+} // end namespace gpstk
+
diff --git a/trunk/src/DayTime.hpp b/trunk/src/DayTime.hpp
new file mode 100644
index 0000000..8ebd0a3
--- /dev/null
+++ b/trunk/src/DayTime.hpp
@@ -0,0 +1,1185 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/DayTime.hpp#9 $"
+
+/**
+ * @file DayTime.hpp
+ * gpstk::DayTime - encapsulates date and time-of-day in many formats
+ */
+
+#ifndef GPSTK_DAYTIME_HPP
+#define GPSTK_DAYTIME_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <string>
+#ifdef _MSC_VER
+// timeval is defined in winsock.h, which we don't want to include
+// because it breaks lots of this code
+struct timeval {
+ long tv_sec; /* seconds */
+ long tv_usec; /* and microseconds */
+};
+#else
+#include <sys/time.h>
+#endif
+
+#include "MathBase.hpp"
+#include "Exception.hpp"
+#include "StringUtils.hpp"
+#include "GPSZcount.hpp"
+
+namespace gpstk
+{
+ /** @defgroup timegroup GPStk Time Group */
+ //@{
+
+ /**
+ * A time representation class for all common time formats, including
+ * GPS. There is a seamless conversion between dates, times, and both,
+ * as well as the ability to input and output the stored day-time in
+ * formatted strings (printf() and setToString()).
+ *
+ * Internally, the representation of day and time uses three quantities,
+ * (1) jday, an integer representation of Julian Date, specifically
+ * jday = int(JD+0.5) or jday=int(MJD+2400001). [Recall that JD = MJD +
+ * 2400000.5 and MJD is an integer when second-of-day==0. N.B. jday is
+ * NOT == JD or Julian Date, but DayTime::JD() does return JD.]
+ * (2) mSod, the integer part of milliseconds of the day, and
+ * (3) mSec, the (double) fractional part of milliseconds of the day.
+ *
+ * In addition, the representation includes a tolerance value (see below)
+ * and a time frame. The time frame is a simple way of denoting the
+ * origin or type of day-time which is stored in the object. See
+ * #TimeFrame for the list of possible values. The time frame of an
+ * object is determined in the call to a constructor (default is
+ * timeFrame=Unknown), and carried forward into other objects. It may be
+ * read or changed using member functions setAllButTimeFrame(),
+ * setTimeFrame(), and getTimeFrame().
+ *
+ * The member datum 'double tolerance' is used in DayTime comparisons.
+ * It defaults to the value of the static
+ * gpstk::DayTime::DAYTIME_TOLERANCE, but this can be modified with the
+ * static method setDayTimeTolerance(). Several different default
+ * tolerances have been defined and are in the DayTime-Specific
+ * Definitions section. The tolerance can also be changed on a per object
+ * basis with the setTolerance() member function. All comparisons are
+ * done using the tolerance as a range for the comparison.
+ * So, for example, operator==() returns true if the times are within
+ * 'tolerance' seconds. Once set for each object, the tolerance is
+ * appropriately "carried forward" to new objects through the copy
+ * operator (DayTime::operator=), the copy constructor, and elsewhere.
+ *
+ * The internal representation is manipulated using four fundamental
+ * routines, two that convert between 'jday' (the integer
+ * representation of JD) and calendar date: year/month/day-of-month,
+ * and two that convert between seconds-of-day and hour/minute/second.
+ * The range of validity of the jday--calendar routines is approximately
+ * 4317 B.C. to 4317 A.D.; these limits are incorporated into constants
+ * DayTime::BEGINNING_OF_TIME and DayTime::END_OF_TIME.
+ *
+ * * All DayTime objects that lie outside these limits are disallowed. *
+ *
+ * This internal representation allows close to the maximum precision
+ * possible in the time-of-day. Although, note that the code uses
+ * FACTOR=1000 everywhere to compute milliseconds, via e.g.
+ * mSec=seconds/FACTOR, and thus FACTOR could be changed to give a
+ * different precision. (This has not been tested.)
+ *
+ * This representation separates day and time-of-day cleanly.
+ * Because day and time are logically separated, it is possible to use
+ * DayTime for day only, or for time only. Thus, for example, one
+ * could instantiate a DayTime object and only manipulate the date,
+ * without reference to time-of-day; or vice-versa. [However in this
+ * regard note that the default constructor for DayTime sets the
+ * data, not to zero, but to the current (system) time; because there
+ * is no year 0, a DayTime object with all zero data is invalid!]
+ *
+ * When constructing DayTime objects from GPS time values -- such as
+ * GPS week and seconds of weeks, or GPS week and z count -- there
+ * may be ambiguity associated with the GPS week. Many receivers
+ * and receiver processing software store the GPS week as it appears
+ * in the NAV message, as a 10 bit number. This leads to a 1024 week
+ * ambiguity when 10 bit GPS weeks are used to specify a DayTime.
+ * In general, DayTime uses the system time to disambiguate which
+ * 1024 week period to use. This is a good assumption except when
+ * processing binary data from before GPS week rollover, which
+ * occured on August 22, 1999.
+ *
+ */
+ class DayTime
+ {
+ public:
+ // ----------- Part 1: exceptions and constants --------------
+ /**
+ * @ingroup exceptionclass
+ * DayTime basic exception class.
+ */
+ NEW_EXCEPTION_CLASS(DayTimeException, gpstk::Exception);
+
+ /**
+ * @ingroup exceptionclass
+ * DayTime formatting ("printing") error exception class.
+ */
+ NEW_EXCEPTION_CLASS(FormatException, gpstk::Exception);
+
+ /// The various time frames
+ enum TimeFrame
+ {
+ Unknown, /**< unknown time frame */
+ UTC, /**< Coordinated Universal Time (e.g., from NTP) */
+ LocalSystem,/**< time from a local system clock */
+ GPS_Tx, /**< GPS transmit Time (paper clock) (e.g., 15 smooth) */
+ GPS_Rx, /**< GPS receive time (paper clock) */
+ // (e.g., rx data if clock bias is applied)
+ GPS_SV, /**< SV time frame (e.g., 211 1.5s/6packs) */
+ GPS_Receiver/**< Receiver time (e.g., 30s, raw 1.5s) */
+ };
+
+ /**
+ * @name DayTime-Specific Definitions
+ * All of these tolerances are 1/2 of the tolerance they specify.
+ * So one nsec tolerance is actually 1/2 an ns added to the time
+ * in units of days.
+ */
+ //@{
+
+ /// time-of-day is stored as long (seconds-of-day)*FACTOR
+ /// plus double (remaining seconds)/FACTOR
+ static const long FACTOR;
+
+ /// Conversion offset, Julian Date to Modified Julian Date.
+ static const double JD_TO_MJD;
+ /// 'Julian day' offset from MJD
+ static const long MJD_JDAY;
+ /// 'Julian day' of GPS epoch (Jan. 1, 1980).
+ static const long GPS_EPOCH_JDAY;
+ /// Modified Julian Date of GPS epoch (Jan. 1, 1980).
+ static const long GPS_EPOCH_MJD;
+ /// Modified Julian Date of UNIX epoch (Jan. 1, 1970).
+ static const long UNIX_MJD;
+ /// Seconds per half a GPS week.
+ static const long HALFWEEK;
+ /// Seconds per whole GPS week.
+ static const long FULLWEEK;
+ /// Seconds per day.
+ static const long SEC_DAY;
+ /// Milliseconds in a day.
+ static const long MS_PER_DAY;
+
+ /// One nanosecond tolerance.
+ static const double ONE_NSEC_TOLERANCE;
+ /// One microsecond tolerance.
+ static const double ONE_USEC_TOLERANCE;
+ /// One millisecond tolerance.
+ static const double ONE_MSEC_TOLERANCE;
+ /// One second tolerance.
+ static const double ONE_SEC_TOLERANCE;
+ /// One minute tolerance.
+ static const double ONE_MIN_TOLERANCE;
+ /// One hour tolerance.
+ static const double ONE_HOUR_TOLERANCE;
+
+ /// Default tolerance for time equality in days.
+ static double DAYTIME_TOLERANCE;
+
+ /// 'julian day' of earliest epoch expressible by DayTime:
+ /// 1/1/4713 B.C.
+ static const long BEGIN_LIMIT_JDAY;
+ /// 'julian day' of latest epoch expressible by DayTime:
+ /// 1/1/4713 A.D.
+ static const long END_LIMIT_JDAY;
+ /// earliest representable DayTime
+ static const DayTime BEGINNING_OF_TIME;
+ /// latest representable DayTime
+ static const DayTime END_OF_TIME;
+
+ /// If true, check the validity of inputs.
+ /// Throw DayTimeException on failure.
+ static bool DAYTIME_TEST_VALID;
+
+ //@}
+
+ // ----------- Part 2: member functions: tolerance ------------
+ //
+ /// Changes the DAYTIME_TOLERANCE for all DayTime objects
+ static double setDayTimeTolerance(const double tol)
+ throw()
+ { DAYTIME_TOLERANCE = tol; return DAYTIME_TOLERANCE; }
+
+ /// Returns the current DAYTIME_TOLERANCE.
+ static double getDayTimeTolerance()
+ throw()
+ { return DAYTIME_TOLERANCE; }
+
+ /**
+ * Sets the tolerance for output and comparisons on this object only.
+ * See the constants in this file (e.g. ONE_NSEC_TOLERANCE)
+ * for some easy to use tolerance values.
+ * @param tol Tolerance in days to be used by comparison operators.
+ * @sa DayTime-Specific Definitions
+ */
+ DayTime& setTolerance(const double tol) throw();
+
+ /**
+ * Return the tolerance value currently in use by this object.
+ * @return the current tolerance value (in seconds, of course)
+ */
+ double getTolerance() throw()
+ { return tolerance; }
+
+
+ // ----------- Part 3: member functions: constructors ------------
+ //
+ /**
+ * Default constructor.
+ * Initializes to current system time.
+ */
+ DayTime()
+ throw(DayTimeException);
+
+ /**
+ * GPS time with full week constructor.
+ * @param GPSWeek full week number
+ * @param GPSSecond seconds of week.
+ * @param f Time frame (see #TimeFrame)
+ */
+ DayTime(short GPSWeek,
+ double GPSSecond,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * GPS time constructor. In the case of 10-bit week input,
+ * the year and week are used to deduce the number of GPS
+ * week rollovers and thus the full GPS week.
+ * @param GPSWeek week number.
+ * @param GPSSecond Seconds of week.
+ * @param year Four-digit year consistent with GPS input.
+ * @param f Time frame (see #TimeFrame)
+ */
+ DayTime(short GPSWeek,
+ double GPSSecond,
+ short year,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * GPS time constructor. In the case of 10-bit week input,
+ * the year and week are used to deduce the number of GPS
+ * week rollovers and thus the full GPS week.
+ * @param GPSWeek GPS week number.
+ * @param zcount Z-count (seconds of week / 1.5)
+ * @param year Four-digit year consistent with GPS input.
+ * @param f Time frame (see #TimeFrame)
+ */
+ DayTime(short GPSWeek,
+ long zcount,
+ short year,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * GPS time constructor given the full Z count.
+ * @warn The number of GPS week rollovers, and therefore the
+ * full GPS week, is determined from the current system time.
+ * @param fullZcount Full z-count (3 MSB unused, mid 10 bits -
+ * week number, 19 LSB "normal" z-count).
+ * @param f Time frame (see #TimeFrame)
+ */
+ DayTime(unsigned long fullZcount,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * GPS Zcount constructor.
+ * @warn The number of GPS week rollovers, and therefore the
+ * full GPS week, is determined from the current system time.
+ * @param z GPSZcount object to set to
+ * @param f Time frame (see #TimeFrame)
+ */
+ DayTime(const GPSZcount& z,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Calendar time constructor.
+ * @param year four-digit year.
+ * @param month month of year (1-based).
+ * @param day day of month (1-based).
+ * @param hour hour of day.
+ * @param minute minutes of hour.
+ * @param second seconds of minute.
+ * @param f Time frame (see #TimeFrame)
+ */
+ DayTime(short year,
+ short month,
+ short day,
+ short hour,
+ short minute,
+ double second,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Modified Julian date time constructor.
+ * @warn For some compilers, this result may have diminished accuracy.
+ * @param MJD Modified Julian date as long double.
+ * @param f Time frame (see #TimeFrame)
+ */
+ DayTime(long double MJD,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Modified Julian date time constructor.
+ * @warn For some compilers, this result may have diminished accuracy.
+ * @param MJD Modified Julian date as double.
+ * @param f Time frame (see #TimeFrame)
+ */
+ DayTime(double MJD,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Day of year time constructor.
+ * @param year Four-digit year.
+ * @param DOY Day of year.
+ * @param SOD Seconds of day.
+ * @param f Time frame (see #TimeFrame)
+ */
+ DayTime(short year,
+ short doy,
+ double sod,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * UNIX time constructor.
+ * @param t timeval structure (typically from gettimeofday()).
+ * @param f Time frame (see #TimeFrame)
+ */
+ DayTime(const struct timeval& t,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /// Destructor.
+ ~DayTime()
+ throw()
+ {}
+
+ // --------- Part 4: member functions: assignment and copy ----------
+ //
+ /// Copy constructor.
+ DayTime(const DayTime &right)
+ throw(DayTimeException);
+
+ /// Assignment operator.
+ DayTime& operator=(const DayTime& right)
+ throw();
+
+ // ----------- Part 5: member functions: arithmetic ------------
+ //
+ /**
+ * DayTime difference function.
+ * @param right DayTime to subtract from this one.
+ * @return difference in seconds.
+ */
+ double operator-(const DayTime& right) const
+ throw();
+
+ /**
+ * Add seconds to this time.
+ * @param sec Number of seconds to increase this time by.
+ * @return The new time incremented by \c sec.
+ */
+ DayTime operator+(double sec) const
+ throw();
+
+ /**
+ * Subtract seconds from this time.
+ * @param sec Number of seconds to decrease this time by.
+ * @return The new time decremented by \c sec.
+ */
+ DayTime operator-(double sec) const
+ throw();
+
+ /**
+ * Add seconds to this time.
+ * @param sec Number of seconds to increase this time by.
+ * @throws DayTimeException on over/under-flow
+ */
+ DayTime& operator+=(double sec)
+ throw(DayTimeException);
+
+ /**
+ * Subtract seconds from this time.
+ * @param sec Number of seconds to decrease this time by.
+ * @throws DayTimeException on over/under-flow
+ */
+ DayTime& operator-=(double sec)
+ throw(DayTimeException);
+
+ /**
+ * Add (double) seconds to this time.
+ * @param seconds Number of seconds to increase this time by.
+ * @throws DayTimeException on over/under-flow
+ */
+ DayTime& addSeconds(double seconds)
+ throw(DayTimeException);
+
+ /**
+ * Add (integer) seconds to this time.
+ * @param seconds Number of seconds to increase this time by.
+ * @throws DayTimeException on over/under-flow
+ */
+ DayTime& addSeconds(long seconds)
+ throw(DayTimeException);
+
+ /**
+ * Add (integer) milliseconds to this time.
+ * @param msec Number of milliseconds to increase this time by.
+ * @throws DayTimeException on over/under-flow
+ */
+ DayTime& addMilliSeconds(long msec)
+ throw(DayTimeException);
+
+ /**
+ * Add (integer) microseconds to this time.
+ * @param usec Number of microseconds to increase this time by.
+ * @throws DayTimeException on over/under-flow
+ */
+ DayTime& addMicroSeconds(long usec)
+ throw(DayTimeException);
+
+ // ----------- Part 6: member functions: comparisons ------------
+ //
+ /// Equality operator.
+ /// @return true if ABS(*this - right) <= lesser of tolerance
+ /// and right.tolerance; false otherwise
+ bool operator==(const DayTime &right) const
+ throw();
+ /// Inequality operator.
+ bool operator!=(const DayTime &right) const
+ throw();
+ /// Comparison operator (less-than).
+ bool operator<(const DayTime &right) const
+ throw();
+ /// Comparison operator (greater-than).
+ bool operator>(const DayTime &right) const
+ throw();
+ /// Comparison operator (less-than or equal-to).
+ bool operator<=(const DayTime &right) const
+ throw();
+ /// Comparison operator (greater-than or equal-to).
+ bool operator>=(const DayTime &right) const
+ throw();
+
+ // ----------- Part 7: member functions: time frame ------------
+ //
+ /**
+ * Change time frames via pseudo-copy method.
+ * Copies all of \c right except the time frame,
+ * which remains unchanged.
+ * @param right DayTime object to copy time from.
+ * @throws DayTimeException
+ */
+ DayTime& setAllButTimeFrame(const DayTime& right)
+ throw(DayTimeException);
+
+ /// Set the time frame for this time.
+ DayTime& setTimeFrame(TimeFrame f)
+ throw()
+ { timeFrame = f ; return *this ; }
+
+ /// Get the time frame for this time.
+ TimeFrame getTimeFrame() const
+ throw()
+ { return timeFrame ; }
+
+ // ----------- Part 8: member functions: get --------------
+ //
+ // These routines retrieve elements of day, time or both.
+ //
+ /// Get Julian Date JD
+ double JD() const
+ throw();
+
+ /// Get Modified Julian Date MJD
+ /// @warning For some compilers, this result may have diminished
+ /// accuracy.
+ double MJD() const
+ throw();
+
+ /// Get year.
+ short year() const
+ throw();
+
+ /// Get month of year.
+ short month() const
+ throw();
+
+ /// Get day of month.
+ short day() const
+ throw();
+
+ /// Get day of week
+ short dayOfWeek() const
+ throw();
+
+ /// Get year, month and day of month
+ void getYMD(int& yy, int& mm, int& dd) const
+ throw()
+ { convertJDtoCalendar(jday, yy, mm, dd) ; }
+
+ /// Get hour of day.
+ short hour() const
+ throw();
+
+ /// Get minutes of hour.
+ short minute() const
+ throw();
+
+ /// Get seconds of minute.
+ double second() const
+ throw();
+
+ /// Get seconds of day.
+ double secOfDay() const
+ throw()
+ { return (double(mSod) + mSec) / FACTOR ; }
+
+ /// Get 10-bit GPS week.
+ short GPS10bitweek() const
+ throw();
+
+ /// Get normal (19 bit) zcount.
+ long GPSzcount() const
+ throw();
+
+ /// Same as GPSzcount() but without rounding to nearest zcount.
+ long GPSzcountFloor() const
+ throw();
+
+ /// Get seconds of week.
+ double GPSsecond() const
+ throw()
+ { return GPSsow(); }
+
+ /// Get GPS second of week.
+ double GPSsow() const
+ throw();
+
+ /// Get day of week.
+ short GPSday() const
+ throw()
+ { return dayOfWeek(); }
+
+ /// Get full (>10 bits) week
+ short GPSfullweek() const
+ throw();
+
+ /// Get year.
+ short GPSyear() const
+ throw()
+ { return year(); }
+
+ /// Get year.
+ short DOYyear() const
+ throw()
+ { return year(); }
+
+ /// Get day of year.
+ short DOYday() const
+ throw()
+ { return DOY(); }
+
+ /// Get day of year.
+ short DOY() const
+ throw();
+
+ /// Get seconds of day.
+ double DOYsecond() const
+ throw()
+ { return secOfDay(); }
+
+ /// Get object time as a modified Julian date.
+ /// @warning For some compilers, this result may have diminished
+ /// accuracy.
+ double MJDdate() const
+ throw()
+ { return double(getMJDasLongDouble()) ; }
+
+ /// Get object time as a (long double) modified Julian date.
+ /// @Warning For some compilers, this result may have diminished
+ /// accuracy.
+ long double getMJDasLongDouble() const
+ throw();
+
+ /// Get object time in UNIX timeval structure.
+ struct timeval unixTime() const
+ throw(DayTimeException);
+
+ /**
+ * Get time as 32 bit Z count.
+ * The 13 MSBs are week modulo 1024, 19 LSBs are seconds of
+ * week in Zcounts.
+ */
+ unsigned long fullZcount() const
+ throw();
+
+ /// Same as fullZcount() but without rounding to nearest zcount.
+ unsigned long fullZcountFloor() const
+ throw();
+
+ /// Convert this object to a GPSZcount object.
+ /// @throws InvalidParameter if this DayTime's current state
+ /// doesn't constitute a valid GPS Z-count.
+ operator GPSZcount() const
+ throw(DayTimeException) ;
+
+
+ // ----------- Part 9: member functions: set ------------
+ //
+ /**
+ * Set the object's time using calendar (Y/M/D) date
+ * and ordinary (H:M:S) time
+ * @param year four-digit year.
+ * @param month month of year (1-based).
+ * @param day day of month (1-based).
+ * @param hour hour of day.
+ * @param min minutes of hour.
+ * @param sec seconds of minute.
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setYMDHMS(short year,
+ short month,
+ short day,
+ short hour,
+ short min,
+ double sec,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object's time using GPS time.
+ * @warn In the case of 10-bit week input, the number of
+ * GPS week rollovers, and therefore the full GPS week,
+ * is determined from the current system time.
+ * @param week GPS week number.
+ * @param sow GPS seconds of week.
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setGPS(short week,
+ double sow,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object's time using GPS time (week and Z count).
+ * @warn In the case of 10-bit week input, the number of
+ * GPS week rollovers, and therefore the full GPS week,
+ * is determined from the current system time; prefer setGPSfullweek().
+ * @param week GPS week number.
+ * @param zcount Z-count (seconds of week / 1.5)
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setGPS(short week,
+ long zcount,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object's time using GPS time. In case of 10-bit
+ * week input, the year and week are used to deduce the number
+ * of GPS week rollovers and thus the full GPS week;
+ * prefer setGPSfullweek().
+ * @param week GPS week number.
+ * @param zcount GPS Z-count (seconds of week / 1.5)
+ * @param year Four-digit year consistent with GPS input.
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setGPS(short week,
+ long zcount,
+ short year,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object's time using GPS time. In case of 10-bit
+ * week input, the year and week are used to deduce the number
+ * of GPS week rollovers and thus the full GPS week;
+ * prefer setGPSfullweek().
+ * @param week GPS week number.
+ * @param sow GPS seconds of week.
+ * @param year Four-digit year consistent with GPS input.
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setGPS(short week,
+ double sow,
+ short year,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object's time using GPS time (full Z count).
+ * @warn The number of GPS week rollovers, and therefore the
+ * full GPS week, is determined from the current system time.
+ * @param Zcount Full z-count (3 MSB unused, mid 10 bits -
+ * week number, 19 LSB "normal" z-count).
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setGPS(unsigned long Zcount,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object's time using GPS time.
+ * @param fullweek Full (i.e. >10bits) GPS week number.
+ * @param sow Seconds of week.
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setGPSfullweek(short fullweek,
+ double sow,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object's time using GPS time.
+ * @param fullweek Full (i.e. >10bits) GPS week number.
+ * @param zcount Z-count (seconds of week / 1.5)
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setGPSfullweek(short fullweek,
+ long zcount,
+ TimeFrame f = Unknown)
+ throw(DayTimeException)
+ { return setGPSfullweek(fullweek, double(zcount) * 1.5, f) ; }
+
+ /**
+ * Set the object's time using the given GPSZcount.
+ * @warn The number of GPS week rollovers, and therefore the
+ * full GPS week, is determined from the current system time.
+ * @param z the GPSZcount object to set to
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setGPSZcount(const GPSZcount& z,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object's time using day of year.
+ * @param year Four-digit year.
+ * @param day_of_year Day of year.
+ * @param sec_of_day Seconds of day.
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setYDoySod(short year,
+ short day_of_year,
+ double sec_of_day,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object's time using (long double) Modified Julian date.
+ * This just sets the time to the indicated modified Julian date.
+ * @param mjd date/time to set, in MJD.
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setMJD(long double mjd,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /// Same as setMJD
+ DayTime& setMJDdate(long double mjd,
+ TimeFrame f = Unknown)
+ throw(DayTimeException)
+ { return setMJD(mjd, f); }
+
+ /// Same as setMJD but with input of type double
+ DayTime& setMJD(double mjd,
+ TimeFrame f = Unknown)
+ throw(DayTimeException)
+ { return setMJD((long double)(mjd), f) ; }
+
+ /// Same as setMJD but with input of type double
+ DayTime& setMJDdate(double mjd,
+ TimeFrame f = Unknown)
+ throw(DayTimeException)
+ { return setMJD((long double)(mjd), f) ; }
+
+ /**
+ * Set the object's time using POSIX structures.
+ * This uses the POSIX timeval struct to set the time. This
+ * structure represents the time with a resolution of
+ * microseconds.
+ * @param t time to set
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setUnix(const struct timeval& t,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object's time using ANSI structures. This uses
+ * the ANSI C/C++ time_t struct to set the time. This
+ * structure represents the time with a resolution of
+ * seconds.
+ * @param t time to set
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setANSI(const time_t& t,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object's time to the current system time.
+ * If the POSIX gettimeofday() system call is available, it
+ * is used to determine system time. If the gettimeofday()
+ * call is not available, the ANSI time() system call is used
+ * to determine system time.
+ * @return a reference to this object.
+ */
+ DayTime& setSystemTime()
+ throw(DayTimeException);
+
+ /**
+ * Set the object time to the current local time.
+ */
+ DayTime& setLocalTime()
+ throw(DayTimeException);
+
+ /**
+ * Set the object using calendar (Y/M/D) date only (time is unchanged)
+ * @param yy four-digit year.
+ * @param mm month of year (1-based).
+ * @param dd day of month (1-based).
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setYMD(int yy,
+ int mm,
+ int dd,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object using ordinary (H:M:S) time only (day is unchanged)
+ * @param hh hour of day.
+ * @param mm minutes of hour.
+ * @param sec seconds of minute.
+ * @param f Time frame (see #TimeFrame)
+ * @return a reference to this object.
+ */
+ DayTime& setHMS(int hh,
+ int mm,
+ double sec,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object using seconds of day only (day is unchanged)
+ * @param sod seconds of day.
+ */
+ DayTime& setSecOfDay(double sod,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ /**
+ * Set the object using year and day of year only (time is unchanged)
+ * @param sod seconds of day.
+ */
+ DayTime& setYDoy(int yy,
+ int doy,
+ TimeFrame f = Unknown)
+ throw(DayTimeException);
+
+ // ----------- Part 10: member functions: setToString, printf --------
+ //
+ // FIX someone figure out how to make the table below show up
+ // nice in doxygen.
+ /**
+ * Similar to scanf, this function takes a string and a
+ * format describing string in order to read in daytime
+ * values. The parameters it can take are listed below and
+ * described above with the printf() function.
+ *
+ * The specification must resolve to a day at a minimum
+ * level. The following table lists combinations that give valid
+ * times. Anything more or other combinations will give
+ * unknown (read as: "bad") results so don't try it. Anything
+ * less will throw an exception. If nothing changes the time
+ * of day, it will default to midnight. Also, the year
+ * defaults to the current year if a year isn't specified
+ * or can't be determined.
+ *
+ * @code
+ * 1 of... and 1 of.... optional...
+ * %C
+ * %G %w %g %Z %Y %y
+ * %F %w %g %Z
+ * %m %B %b %a %A %d %Y %y %H %M %S
+ * %Q
+ * %j %Y %y %s
+ * @endcode
+ *
+ * So
+ * @code
+ * time.setToString("Aug 1, 2000 20:20:20", "%b %d, %Y %H:%M:%S")
+ * @endcode
+ * works but
+ * @code
+ * time.setToString("Aug 2000", "%b %Y")
+ * @endcode
+ * doesn't work (incomplete specification because it doesn't specify
+ * a day).
+ *
+ * Don't worry about counting whitespace - this function will
+ * take care of that. Just make sure that the extra stuff in
+ * the format string (ie '.' ',') are in the same relative
+ * location as they are in the actual string. (see in the
+ * example above))
+ *
+ * @param str string to get date/time from.
+ * @param fmt format to use to parse \c str.
+ * @throw DayTimeException if \c fmt is an incomplete specification
+ * @throw FormatException if unable to scan \c str.
+ * @throw StringException if an error occurs manipulating the
+ * \c str or \c fmt strings.
+ * @return a reference to this object.
+ */
+ DayTime& setToString(const std::string& str,
+ const std::string& fmt)
+ throw(DayTimeException, FormatException,
+ gpstk::StringUtils::StringException);
+
+
+ // if you can see this, ignore the \'s below, as they are for
+ // the nasty html-ifying of doxygen. Browsers try and
+ // interpret the % and they get all messed up.
+ /**
+ * Format this time into a string.
+ *
+ * Generate and return a string containing a formatted
+ * date, formatted by the specification \c fmt.
+ *
+ * \li \%Y year()
+ * \li \%y year() % 100
+ * \li \%m month()
+ * \li \%d day()
+ * \li \%H hour()
+ * \li \%M minute()
+ * \li \%S (short)second()
+ * \li \%f second()
+ * \li \%G GPS10bitweek()
+ * \li \%F GPSfullweek()
+ * \li \%g GPSsecond() or GPSsow()
+ * \li \%s DOYsecond()
+ * \li \%Q MJDdate()
+ * \li \%w dayOfWeek() or GPSday()
+ * \li \%b MonthAbbrevName[month()]
+ * \li \%B MonthName[month()]
+ * \li \%a DayOfWeekAbbrevName[dayOfWeek()]
+ * \li \%A DayOfWeekName[dayOfWeek()]
+ * \li \%j DOYday() or DOY()
+ * \li \%Z GPSzcount()
+ * \li \%z GPSzcountFloor()
+ * \li \%U unixTime().tv_sec
+ * \li \%u unixTime().tv_usec
+ * \li \%C fullZcount()
+ * \li \%c fullZcountFloor()
+ *
+ * @param fmt format to use for this time.
+ * @return a string containing this time in the
+ * representation specified by \c fmt.
+ */
+ std::string printf(const char *fmt) const
+ throw(gpstk::StringUtils::StringException);
+
+ /// Format this time into a string. @see printf(const char*)
+ std::string printf(const std::string& fmt) const
+ throw(gpstk::StringUtils::StringException)
+ { return printf(fmt.c_str()) ; }
+
+ /// Returns the string that operator<<() would print.
+ std::string asString() const
+ throw(gpstk::StringUtils::StringException);
+
+ /// Dump everything possible, using every get() TD: keep?
+ void dump(std::ostream& s) const
+ throw(DayTimeException);
+
+ // ----------- Part 11: functions: fundamental conversions ----------
+ //
+ /** Fundamental routine to convert from "Julian day" (= JD + 0.5)
+ * to calendar day.
+ * @param jd long integer "Julian day" = JD+0.5
+ * @param iyear reference to integer year
+ * @param imonth reference to integer month (January == 1)
+ * @param iday reference to integer day of month
+ * (1st day of month == 1)
+ * @note range of applicability of this routine is from 0JD (4713BC)
+ * to approx 3442448JD (4713AD).
+ * Algorithm references: Sinnott, R. W. "Bits and Bytes,"
+ * Sky & Telescope Magazine, Vol 82, p. 183, August 1991, and
+ * The Astronomical Almanac, published by the U.S. Naval Observatory.
+ */
+ static void convertJDtoCalendar(long jd,
+ int& iyear,
+ int& imonth,
+ int& iday)
+ throw();
+
+ /** Fundamental routine to convert from calendar day to "Julian day"
+ * (= JD + 0.5)
+ * @param iyear reference to integer year
+ * @param imonth reference to integer month (January == 1)
+ * @param iday reference to integer day of month
+ * (1st day of month == 1)
+ * @return jd long integer "Julian day" = JD+0.5
+ * @note range of applicability of this routine is from 0JD (4713BC)
+ * to approx 3442448JD (4713AD).
+ * Algorithm references: Sinnott, R. W. "Bits and Bytes,"
+ * Sky & Telescope Magazine, Vol 82, p. 183, August 1991, and
+ * The Astronomical Almanac, published by the U.S. Naval Observatory.
+ */
+ static long convertCalendarToJD(int iyear,
+ int imonth,
+ int iday)
+ throw();
+
+ /** Fundamental routine to convert seconds of day to H:M:S
+ * @param sod seconds of day (input)
+ * @param hh reference to integer hour (0 <= hh < 24) (output)
+ * @param mm reference to integer minutes (0 <= mm < 60) (output)
+ * @param sec reference to double seconds (0 <= sec < 60.0) (output)
+ */
+ static void convertSODtoTime(double sod,
+ int& hh,
+ int& mm,
+ double& sec)
+ throw();
+
+ /** Fundamental routine to convert H:M:S to seconds of day
+ * @param hh integer hour (0 <= hh < 24) (input)
+ * @param mm integer minutes (0 <= mm < 60) (input)
+ * @param sec double seconds (0 <= sec < 60.0) (input)
+ * @return sod seconds of day (input)
+ */
+ static double convertTimeToSOD(int hh,
+ int mm,
+ double sec)
+ throw();
+
+ // ----------- Part 12: private functions and member data ----------
+ //
+ private:
+ /// Initialization method. Used by the constructors.
+ void init()
+ throw();
+
+ /// Constructor with direct member data input.
+ DayTime(long jd,
+ long sod,
+ double ms,
+ double tol,
+ TimeFrame f = Unknown)
+ throw()
+ : jday(jd), mSod(sod), mSec(ms), tolerance(tol), timeFrame(f)
+ {}
+
+ /** Helper routine for add...() functions
+ * @param ldd the number of days to add to jday
+ * @param lds the number of milliseconds to add to mSod
+ * @param ds the number of partial milliseconds to add to mSec
+ * @throws DayTimeException if adding these values causes an overflow
+ * of the jday value
+ */
+ void addLongDeltaTime(long ldd,
+ long lds,
+ double ds)
+ throw(DayTimeException);
+
+ /// integer 'Julian day', = JD+0.5 (0 <= jday <= 3442448)
+ long jday;
+
+ /// integer milliseconds of the day (0 <= mSod <= 86400000)
+ long mSod;
+
+ /// double fractional milliseconds (mSec < 1.0)
+ double mSec;
+
+ /// double tolerance used in comparisons (seconds)
+ double tolerance;
+
+ /// @sa TimeFrame
+ TimeFrame timeFrame;
+
+ }; // end class DayTime
+
+ // ----------- Part 13: operator<< -----------
+ //
+ /**
+ * Stream output for DayTime objects. Typically used for debugging.
+ * @param s stream to append formatted DayTime to.
+ * @param t DayTime to append to stream \c s.
+ * @return reference to \c s.
+ */
+ std::ostream& operator<<( std::ostream& s,
+ const gpstk::DayTime& t );
+
+ //@}
+
+} // namespace gpstk
+
+#endif // GPSTK_DAYTIME_HPP
diff --git a/trunk/src/ECEF.cpp b/trunk/src/ECEF.cpp
new file mode 100644
index 0000000..9424390
--- /dev/null
+++ b/trunk/src/ECEF.cpp
@@ -0,0 +1,102 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ECEF.cpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ECEF.cpp
+ * Encapsulate Earth-centered, Earth-fixed Cartesian coordinates
+ */
+
+#include "geometry.hpp"
+#include "ECEF.hpp"
+#include "Geodetic.hpp"
+#include "MiscMath.hpp"
+
+namespace gpstk
+{
+ using namespace std;
+
+ ECEF :: ECEF()
+ : Triple()
+ {
+ }
+
+ ECEF :: ECEF(const ECEF& right)
+ : Triple(right)
+ {
+ }
+
+ ECEF& ECEF :: operator=(const ECEF& right)
+ {
+ Triple::operator=(right);
+ return *this;
+ }
+
+ // Convert Earth-centered, Earth-fixed XYZ coordinates (m)
+ // to Geodetic coordinates (lat,lon(E),ht) (deg,degE,m).
+ Geodetic ECEF::asGeodetic(GeoidModel* geoid)
+ {
+ double X = this->operator[](0); //ecef[0]; // m
+ double Y = this->operator[](1); //ecef[1]; // m
+ double Z = this->operator[](2); //ecef[2]; // m
+ double p = RSS(X,Y);
+ double latd = atan2(Z,p*(1.0-geoid->eccSquared()));
+ double ht = 0.0, slatd, N, htold, latdold;
+ for(int i=0; i<5; i++) {
+ slatd = sin(latd);
+ N = geoid->a() / SQRT(1.0-geoid->eccSquared()*slatd*slatd);
+ htold = ht;
+ ht = p/cos(latd) - N;
+ latdold = latd;
+ latd = atan2(Z,p*(1.0-geoid->eccSquared()*(N/(N+ht))));
+ if(ABS(latd-latdold) < 1.0e-9 &&
+ ABS(ht-htold) < (1.0e-9*geoid->a())) break;
+ }
+ double lon = atan2(Y,X);
+ if(lon < 0.0) lon += 6.2831853071796;
+
+ Geodetic g(latd*RAD_TO_DEG,lon*RAD_TO_DEG,ht,geoid); // deg,deg E,m
+ return g;
+
+ } // end asGeodetic(geoid)
+
+} // namespace gpstk
diff --git a/trunk/src/ECEF.hpp b/trunk/src/ECEF.hpp
new file mode 100644
index 0000000..89dabb2
--- /dev/null
+++ b/trunk/src/ECEF.hpp
@@ -0,0 +1,108 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ECEF.hpp#1 $"
+
+/**
+ * @file ECEF.hpp
+ * Encapsulate Earth-centered, Earth-fixed Cartesian coordinates
+ */
+
+#ifndef GPSTK_ECEF_HPP
+#define GPSTK_ECEF_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Triple.hpp"
+#include "Exception.hpp"
+#include "GeoidModel.hpp"
+
+namespace gpstk
+{
+ class Geodetic;
+
+ /** @addtogroup geodeticgroup */
+ //@{
+
+ /**
+ * Earth ceneted, earth fixed geodetic coordinates in meters.
+ */
+ class ECEF : public Triple
+ {
+ public:
+ /// Default constructor.
+ ECEF();
+
+ /// Copy constructor.
+ ECEF(const ECEF& right);
+
+ /// Construct from three doubles.
+ /// @param x x coordinate in meters
+ /// @param y y coordinate in meters
+ /// @param z z coordinate in meters
+ ECEF(const double& x, const double& y, const double& z)
+ : Triple(x, y, z)
+ { }
+
+ /// Construct from a Triple. The Triple consists of the x coordinate,
+ /// the y coordinate, and the z coordinate. All in meters.
+ /// @param t the Triple to copy from.
+ ECEF(const Triple& t)
+ : Triple(t)
+ { }
+
+ /// destructor
+ virtual ~ECEF() {}
+
+ /// Assignment operator.
+ ECEF& operator=(const ECEF& right);
+
+ /** \deprecated Convert to Geodetic
+ * Geodetic has a constructor that takes an ECEF and GeoidModel.
+ * \sa Geodetic, GeoidModel
+ */
+ Geodetic asGeodetic(GeoidModel *g);
+
+ }; // class ECEF
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/EngAlmanac.cpp b/trunk/src/EngAlmanac.cpp
new file mode 100644
index 0000000..0840d25
--- /dev/null
+++ b/trunk/src/EngAlmanac.cpp
@@ -0,0 +1,495 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EngAlmanac.cpp#7 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file EngAlmanac.cpp
+ * Almanac data encapsulated in engineering terms
+ */
+
+#include "gps_constants.hpp"
+#include "DayTime.hpp"
+#include "EngAlmanac.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+// This is a macro in order to retain useful location information in the exc
+#define CHECK_SV_HERE(itty, prn) \
+if (itty == almPRN.end()) \
+{ \
+ SVNotPresentException \
+ exc("Attempt to get data from EngAlmanac from a SV that is not" \
+ " present."); \
+ GPSTK_THROW(exc); \
+}
+
+namespace gpstk
+{
+ EngAlmanac :: EngAlmanac()
+ throw()
+ {
+ for (int n = 0; n < 4; n++)
+ {
+ alpha[n] = beta[n] = 0.0;
+ }
+
+ A0 = A1 = dt_ls = dt_lsf = 0.0;
+
+ t_ot = t_oa = 0;
+
+ wn_t = wn_lsf = 0;
+
+ alm_wk = 0;
+
+ dn = 0;
+
+ haveUTC = false;
+ }
+
+ bool EngAlmanac::addSubframe(const long subframe[10],
+ const int gpsWeek)
+ throw(InvalidParameter)
+ {
+ double ficked[60];
+
+ if (!subframeConvert(subframe, gpsWeek, ficked))
+ return false;
+
+ short pat = getSubframePattern(subframe);
+
+ // check tlm preamble, subframe id and format #
+ if ((ficked[0] != 0x8b) || ((ficked[4] != 4) && (ficked [4] != 5))
+ || (pat < 4) || (pat > 10))
+ {
+ InvalidParameter
+ exc("EngAlmanac::addSubframe: Not a valid almanac page.");
+ GPSTK_THROW(exc);
+ }
+
+ short svid = (subframe[3] >> 22) & 0x3F;
+ short sfid = (subframe[2] >> 8) & 0x7;
+ long tow = ((subframe[2] >> 13) & 0x1ffff) * 6;
+
+ switch(pat)
+ {
+ case 4:
+ /* Page with Orbital Elements */
+ /*check PRN */
+ if ((ficked[19] < 0) || (ficked[19] > MAX_PRN))
+ {
+ InvalidParameter exc("EngAlmanac::addSubframe, PRN out of range "
+ + StringUtils::asString(ficked[19]));
+ GPSTK_THROW(exc);
+ }
+ {
+ int prn = static_cast<short>( ficked[19] );
+ if (prn)
+ almPRN[prn] = AlmOrbit(prn, ficked[7], ficked[9], ficked[10],
+ ficked[12], ficked[13], ficked[14],
+ ficked[15], ficked[16], ficked[17],
+ static_cast<long>( ficked[8] ),
+ static_cast<long>( ficked[2] ), gpsWeek,
+ static_cast<short>( ficked[11] ));
+ }
+ break;
+
+ case 5: /* Page with Satellite health information 1-24 */
+ for (int i=0; i < 24; i++)
+ health[i] = static_cast<char>( ficked[8 + i] );
+ // manually crack the t_oa and WNa
+ t_oa = ((subframe[2] >> 14) & 0xFF) * 4096;
+ convert8bit(gpsWeek, &ficked[7]);
+ alm_wk = static_cast<int>(ficked[7]);
+ break;
+
+ case 6:
+ case 7:
+ /* ignore page becase no data for our structure */
+ return true;
+
+ case 8: /* Page with UTC and ionosphere parameters */
+ alpha[0] = ficked[7];
+ alpha[1] = ficked[8];
+ alpha[2] = ficked[9];
+ alpha[3] = ficked[10];
+ beta[0] = ficked[11];
+ beta[1] = ficked[12];
+ beta[2] = ficked[13];
+ beta[3] = ficked[14];
+ A0 = ficked[15];
+ A1 = ficked[16];
+ dt_ls = ficked[19];
+ t_ot = static_cast<long>( ficked[17] );
+ wn_t = static_cast<int>( ficked[18] );
+ wn_lsf = static_cast<int>( ficked[20] );
+ dn = static_cast<char>( ficked[21] );
+ dt_lsf = ficked[22];
+ haveUTC = true;
+ break;
+
+ case 9: /* Page with Health for 25-32 and AS/SV config */
+ for (int i=0; i<=MAX_PRN; i++)
+ SV_config[i] = static_cast<char>( ficked[7 + i] );
+
+ for (int i=24; i<=MAX_PRN; i++)
+ health[i] = static_cast<char>( ficked[15 + i] );
+ break;
+
+ case 10:/* Page with Special Message */
+ special_msg = "";
+ for (int i=0; i<22; i++)
+ special_msg += static_cast<char>( ficked[7 + i] );
+ break;
+
+ default:
+ // never reached, see if statement prior to this switch
+ break;
+ }
+ return true;
+ }
+
+ double EngAlmanac::getEcc(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of the ecc for the given PRN
+ return (*i).second.ecc;
+ }
+
+ double EngAlmanac::getIOffset(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of the iOffset for the given PRN
+ return (*i).second.i_offset;
+ }
+
+ double EngAlmanac::getOmegadot(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of OMEGAdot for the given PRN
+ return (*i).second.OMEGAdot;
+ }
+
+ short EngAlmanac::getSVHealth(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of SV_health for the given PRN
+ return (*i).second.SV_health;
+ }
+
+ double EngAlmanac::getAhalf(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of Ahalf for the given PRN
+ return (*i).second.Ahalf;
+ }
+
+ double EngAlmanac::getA(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of A for the given PRN
+ return (*i).second.Ahalf * (*i).second.Ahalf;
+ }
+
+ double EngAlmanac::getOmega0(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of OMEGA0 for the given PRN
+ return (*i).second.OMEGA0;
+ }
+
+ double EngAlmanac::getW(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of w for the given PRN
+ return (*i).second.w;
+ }
+
+ double EngAlmanac::getM0(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of M0 for the given PRN
+ return (*i).second.M0;
+ }
+
+ double EngAlmanac::getAf0(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of the af0 for the given PRN
+ return (*i).second.AF0;
+ }
+
+
+ double EngAlmanac::getAf1(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of af1 for the given PRN
+ return (*i).second.AF1;
+ }
+
+
+ double EngAlmanac::getToa() const throw()
+ {
+ return static_cast<double>( t_oa );
+ }
+
+ double EngAlmanac::getToa(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of the Toa for the given PRN
+ return static_cast<double>( (*i).second.Toa );
+ }
+
+
+ double EngAlmanac::getXmitTime(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of the xmit_time for the given PRN
+ return static_cast<double>( (*i).second.xmit_time );
+ }
+
+
+ short EngAlmanac::getFullWeek(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ return (*i).second.getFullWeek();
+ }
+
+ void EngAlmanac::getIon(double a[4], double b[4]) const
+ throw(InvalidRequest)
+ {
+ if (!haveUTC)
+ {
+ InvalidRequest
+ exc("UTC offset (subframe 4, page 18) is not present.");
+ GPSTK_THROW(exc);
+ }
+ for (int n = 0; n < 4; n++)
+ {
+ a[n] = alpha[n];
+ b[n] = beta[n];
+ }
+ }
+
+ void EngAlmanac::getUTC(double& a0, double& a1, double& deltaTLS,
+ long& tot, int& WNt, int& WNLSF,
+ int& DN, double& deltaTLSF) const
+ throw(InvalidRequest)
+ {
+ if (!haveUTC)
+ {
+ InvalidRequest
+ exc("UTC offset (subframe 4, page 18) is not present.");
+ GPSTK_THROW(exc);
+ }
+ a0 = A0;
+ a1 = A1;
+ deltaTLS = dt_ls;
+ tot = t_ot;
+ WNt = wn_t;
+ WNLSF = wn_lsf;
+ DN = static_cast<int>( dn );
+ deltaTLSF = dt_lsf;
+ }
+
+ short EngAlmanac::getAlmWeek() const throw()
+ {
+ return alm_wk;
+ }
+
+ AlmOrbit EngAlmanac::getAlmOrbElem(short prn) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of the orbit elm. for the given PRN
+ return (*i).second;
+ }
+
+ Xvt EngAlmanac::svXvt(short prn, const DayTime& t) const
+ throw(EngAlmanac::SVNotPresentException)
+ {
+ AlmOrbits::const_iterator i = almPRN.find(prn);
+ CHECK_SV_HERE(i, prn);
+
+ // return value of the orbit elm. for the given PRN
+ return (*i).second.svXvt(t);
+ }
+
+ bool EngAlmanac::isData(short prn) const throw()
+ {
+ return (almPRN.find(prn) != almPRN.end());
+ }
+
+ string int2bin(unsigned int v, int len=8)
+ {
+ string s;
+ for (int i = 0; i < len; i++)
+ {
+ if (v & 1)
+ s = "1" + s;
+ else
+ s = "0" + s;
+ v = v >> 1;
+ }
+ return s;
+ }
+
+ void EngAlmanac::dump(ostream& s) const
+ {
+ ios::fmtflags oldFlags = s.flags();
+
+ s.fill(' ');
+
+ s << "****************************************************************"
+ << "************" << endl
+ << "Broadcast Almanac (Engineering Units)" << endl
+ << endl;
+
+ s << endl << " Iono Parameters" << endl << endl;
+ s << "Alpha: ";
+ for (int i=0; i<4; i++)
+ s << setw(12) << alpha[i] << " ";
+ s << " various" << endl;
+ s << " Beta: ";
+ for (int i=0; i<4; i++)
+ s << setw(12) << beta[i] << " ";
+ s << " various" << endl;
+
+ s << endl << " UTC Paramters" << endl << endl;
+ s << "A0: " << setw(12) << A0 << " sec" << endl
+ << "A1: " << setw(12) << A1 << " sec/sec" << endl
+ << "dt_ls: " << setw(12) << dt_ls << " sec" << endl
+ << "t_ot: " << setw(12) << t_ot << " sec" << endl
+ << "wn_t: " << setw(12) << wn_t << " week" << endl
+ << "wn_lsf " << setw(12) << wn_lsf << " week" << endl
+ << "dn: " << setw(12) << (int)dn << " days" << endl
+ << "dt_lsf: " << setw(12) << dt_lsf << " sec" << endl;
+
+ s << endl << " Orbit Parameters" << endl << endl;
+ for (AlmOrbits::const_iterator i = almPRN.begin(); i != almPRN.end(); i++)
+ s << (*i).second;
+
+ s << endl << " Special Message" << endl << endl;
+ StringUtils::hexDumpData(s, special_msg);
+
+
+ s << endl << " Page 25 Health & SA bits" << endl << endl;
+
+ s << "Toa: " << setfill(' ') << setw(8) << t_oa
+ << ", week: " << setw(5) << alm_wk << endl << endl
+ << "PRN health AS PRN health AS" << endl;
+ string bits[33];
+
+ for (SVBitsMap::const_iterator i = health.begin(); i != health.end(); i++)
+ {
+ int prn = i->first;
+ if (prn >= 1 && prn <= 32)
+ bits[prn] = int2bin(i->second, 6);
+ }
+
+ for (SVBitsMap::const_iterator i = SV_config.begin(); i != SV_config.end(); i++)
+ {
+ int prn = i->first;
+ if (prn >= 1 && prn <= 32)
+ bits[prn] += " " + int2bin(i->second, 4);
+ }
+
+ for (int i=1; i<=16; i++)
+ s << setw(2) << i << " " << bits[i] << " "
+ << setw(2) << i+16 << " " << bits[i+16] << endl;
+
+ s.flags(oldFlags);
+ } // end of dump()
+
+ std::ostream& operator<<(std::ostream& s, const EngAlmanac& alm)
+ {
+ alm.dump(s);
+ return s;
+ }
+
+} // namespace
diff --git a/trunk/src/EngAlmanac.hpp b/trunk/src/EngAlmanac.hpp
new file mode 100644
index 0000000..4aae2e7
--- /dev/null
+++ b/trunk/src/EngAlmanac.hpp
@@ -0,0 +1,320 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EngAlmanac.hpp#5 $"
+
+/**
+ * @file EngAlmanac.hpp
+ * Almanac data encapsulated in engineering terms
+ */
+
+#ifndef GPSTK_ENGALMANAC_HPP
+#define GPSTK_ENGALMANAC_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Exception.hpp"
+#include "EngNav.hpp"
+#include "AlmOrbit.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup ephemcalc */
+ //@{
+
+ /**
+ * Alamanc information for the GPS constellation. This class
+ * encapsulates the almanac navigation message (subframes 4 & 5)
+ * and provides functions to decode the as-broadcast almanac.
+ * It is possible for an EngAlmanac to not contain a complete
+ * set of pages.
+ */
+ class EngAlmanac : public EngNav
+ {
+ public:
+ /// Exception - requested almanac page that wasn't present.
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(SVNotPresentException, gpstk::InvalidRequest);
+
+ /// Map PRN to bits (e.g. health bits).
+ typedef std::map<short, unsigned char, std::less<short> > SVBitsMap;
+
+ /// Default constructor, blank almanac.
+ EngAlmanac() throw();
+
+ /// Destructor
+ virtual ~EngAlmanac() {}
+
+ /**
+ * Store a subframe in this object.
+ * @param subframe ten word navigation subframe stored in the
+ * 30 least-significant bits of each array index.
+ * @param gpsWeek full GPS week number.
+ * @return true if successful.
+ * @throw InvalidParameter if subframe is valid but not subframe 4-5.
+ */
+ bool addSubframe(const long subframe[10], const int gpsWeek)
+ throw(gpstk::InvalidParameter);
+
+ /** This function returns true if data is available for a given
+ * PRN. This data is accessed by the below accesser methods
+ */
+ bool isData(short prn) const throw();
+
+ /** This function returns the value of the eccentricity for
+ * the given PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getEcc(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the value of the offset of the
+ * inclination from 54 degrees in radians for the given PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getIOffset(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the value of the rate of the right
+ * ascension of the ascending node in radians/second for the
+ * given PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getOmegadot(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the value of the health of the given
+ * PRN from the general pages in the almanac. It return the
+ * shortened 6 bit health that is in those pages.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ short get6bitHealth(short prn) const throw();
+
+ /** This function returns the value of the health of the given
+ * PRN from the PRN specific page which might not be present.
+ * This is the full 8 bit health
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ short getSVHealth(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the value of the square root of the
+ * semi-major axis in square root of meters for the given
+ * PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getAhalf(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the value of the semi-major axis in
+ * meters for the specified PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getA(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the value of the right ascension of
+ * the ascending node in radians for the given PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getOmega0(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the value of the argument of perigee
+ * in radians for the given PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getW(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the value of the mean anomaly in
+ * radians for the given PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getM0(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the SV clock error in seconds for
+ * the given PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getAf0(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the SV clock drift in
+ * seconds/seconds for the given PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getAf1(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the value of the time of the almanac
+ * (from page 51) in GPS seconds of week.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getToa() const throw();
+
+ /** This function returns the value of the time of the almanac
+ * in GPS seconds of week for the given PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getToa(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the value of the transmit time for
+ * this almanac data in seconds of week for the given PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ double getXmitTime(short prn) const throw(SVNotPresentException);
+
+ /** This function returns the value of the week of the page
+ * transmission for the given PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ short getFullWeek(short prn) const throw(SVNotPresentException);
+
+ /**
+ * Get the ionospheric parameters.
+ * @throw InvalidRequest if the almanac page isn't present
+ */
+ void getIon(double a[4], double b[4]) const
+ throw(InvalidRequest);
+
+ /**
+ * Get the UTC offset parameters.
+ * @throw InvalidRequest if the almanac page isn't present
+ */
+ void getUTC(double& a0, double& a1, double& deltaTLS, long& tot,
+ int& WNt, int& WNLSF, int& DN, double& deltaTLSF) const
+ throw(InvalidRequest);
+
+ /** This function gets the week number for the almanac stored
+ * in this object. It is replaced when an almanac is
+ * converted to engineering units with the almWeek from the
+ * data. It also is replaced by the week number in the FIC
+ * data (if it is non zero) when addSF is used to add FIC
+ * data to the almanac. This is a full GPS week number (ie >
+ * 10 bits)
+ */
+ short getAlmWeek() const throw();
+
+ /** This function returns an object containing all of the
+ * almanac orbit elements for the given PRN.
+ * @throw SVNotPresentException if almanac page for the given
+ * PRN isn't present.
+ */
+ AlmOrbit getAlmOrbElem(short prn) const
+ throw(SVNotPresentException);
+
+ /** This function returns an object containing all of the
+ * almanac orbit elements.
+ */
+ AlmOrbits getAlmOrbElems() const
+ { return almPRN; }
+
+ /** Compute satellite velocity/position at the given time
+ * using this almanac.
+ * @param prn PRN ID of satellite to get velocity/position of.
+ * @param t time at which to compute SV position.
+ * @throw InvalidRequest if a required subframe has not been stored.
+ */
+ Xvt svXvt(short prn, const DayTime& t) const
+ throw(SVNotPresentException);
+
+ void dump(std::ostream& s = std::cout) const;
+
+ protected:
+ /** This function is used to make sure data is present before
+ * accessing it.
+ */
+ void checkSVHere(short prn) const throw(SVNotPresentException);
+
+
+ /** ionosphere parameters */
+ //@{
+ double alpha[4];
+ double beta[4];
+ //@}
+
+ /** UTC Parameters */
+ //@{
+ double A0; /**< Bias term of difference polynomial */
+ double A1; /**< Drift term of difference polynomial */
+ double dt_ls; /**< time increment due to leap seconds */
+ double dt_lsf; /**< scheduled future time increment due to
+ leap seconds */
+ long t_ot; /**< reference time */
+ long t_oa; /**< Toa from page id 51 (subframe 5,
+ pg 25) */
+ int wn_t; /**< reference week of current leap
+ second */
+ int wn_lsf; /**< week number of last/next leap
+ second */
+ short alm_wk; /**< GPS Week of the Almanac from the last
+ page of orbital data */
+ unsigned char dn; /**< reference day # of future leap
+ second */
+ SVBitsMap health; /**< satellite health array */
+ std::string special_msg; /**< Special message from GPS */
+
+ SVBitsMap SV_config; /**< 4 bit anti-spoofing/SV config sats. */
+ //@}
+
+ AlmOrbits almPRN;
+ bool haveUTC;
+
+ private:
+ bool operator==(const EngAlmanac&);
+ bool operator!=(const EngAlmanac&);
+ bool operator<(const EngAlmanac&);
+ bool operator>(const EngAlmanac&);
+ }; // class EngAlmanac
+
+
+ std::ostream& operator<<(std::ostream& s, const EngAlmanac& alm);
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/EngEphemeris.cpp b/trunk/src/EngEphemeris.cpp
new file mode 100644
index 0000000..3619a45
--- /dev/null
+++ b/trunk/src/EngEphemeris.cpp
@@ -0,0 +1,1383 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EngEphemeris.cpp#7 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file EngEphemeris.cpp
+ * Ephemeris data encapsulated in engineering terms
+ */
+
+#include "StringUtils.hpp"
+#include "icd_200_constants.hpp"
+#include "GPSGeoid.hpp"
+#include "EngEphemeris.hpp"
+
+#include <cmath>
+
+namespace gpstk
+{
+ using namespace std;
+ using namespace gpstk;
+
+ EngEphemeris::EngEphemeris()
+ throw()
+ {
+ haveSubframe[0] = haveSubframe[1] = haveSubframe[2] = false;
+
+ tlm_message[0] = tlm_message[1] = tlm_message[2] = 0;
+
+ PRNID = tracker = ASalert[0] = ASalert[1] = ASalert[2] = weeknum =
+ codeflags = accFlag = health = L2Pdata = 0;
+
+ HOWtime[0] = HOWtime[1] = HOWtime[2] = 0;
+
+ IODC = IODE = 0;
+ Toc = af0 = af1 = af2 = Tgd = Cuc = Cus = Crc = Crs =
+ Cic = Cis = Toe = M0 = dn = ecc = Ahalf = OMEGA0 = i0 = w =
+ OMEGAdot = idot = accuracy = 0.0;
+
+ fitint = 0;
+ }
+
+ bool EngEphemeris::addSubframe(const long subframe[10], const int gpsWeek,
+ short PRN, short track)
+ throw(InvalidParameter)
+ {
+ double ficked[60];
+
+ if (!subframeConvert(subframe, gpsWeek, ficked))
+ return false;
+
+ int sfnum = static_cast<int>( ficked[4] );
+ InvalidParameter exc("Subframe "+StringUtils::asString(sfnum)+
+ " not ephemeris subframe.");
+
+ switch (sfnum)
+ {
+ case 1:
+ tlm_message[0] = (subframe[0] >> 8) & 0x3fff;
+ HOWtime[0] = static_cast<long>( ficked[2] );
+ ASalert[0] = static_cast<short>( ficked[3] );
+ weeknum = static_cast<short>( ficked[5] );
+ codeflags = static_cast<short>( ficked[6] );
+ accFlag = static_cast<short>( ficked[7] );
+ health = static_cast<short>( ficked[8] );
+ IODC = static_cast<short>( ldexp( ficked[9], -11 ) );
+ L2Pdata = static_cast<short>( ficked[10] );
+ Tgd = ficked[11];
+ Toc = ficked[12];
+ af2 = ficked[13];
+ af1 = ficked[14];
+ af0 = ficked[15];
+ tracker = track;
+ PRNID = PRN;
+ haveSubframe[0] = true;
+ // convert the accuracy flag to a value...
+ accuracy = gpstk::ura2accuracy(accFlag);
+ break;
+
+ case 2:
+ tlm_message[1] = (subframe[0] >> 8) & 0x3fff;
+ HOWtime[1] = static_cast<long>( ficked[2] );
+ ASalert[1] = static_cast<short>( ficked[3] );
+ IODE = static_cast<short>( ldexp( ficked[5], -11 ) );
+ Crs = ficked[6];
+ dn = ficked[7];
+ M0 = ficked[8];
+ Cuc = ficked[9];
+ ecc = ficked[10];
+ Cus = ficked[11];
+ Ahalf = ficked[12];
+ Toe = ficked[13];
+ fitint = static_cast<short>( ficked[14] );
+ haveSubframe[1] = true;
+ break;
+
+ case 3:
+ tlm_message[2] = (subframe[0] >> 8) & 0x3fff;
+ HOWtime[2] = static_cast<long>( ficked[2] );
+ ASalert[2] = static_cast<short>( ficked[3] );
+ Cic = ficked[5];
+ OMEGA0 = ficked[6];
+ Cis = ficked[7];
+ i0 = ficked[8];
+ Crc = ficked[9];
+ w = ficked[10];
+ OMEGAdot = ficked[11];
+ idot = ficked[13];
+ haveSubframe[2] = true;
+ break;
+
+ default:
+ GPSTK_THROW(exc);
+ break;
+ } // switch (sfnum)
+
+ return true;
+ }
+
+ bool EngEphemeris::addSubframeNoParity(const long subframe[10],
+ const long gpsWeek,
+ const short PRN,
+ const short track)
+ throw(InvalidParameter)
+ {
+ long paddedSF[10];
+ short PRNArg;
+ short trackArg;
+
+ for (int i=0;i<10;++i)
+ {
+ paddedSF[i] = subframe[i];
+ paddedSF[i] <<= 6;
+ paddedSF[i] &= 0x3FFFFFC0; // Guarantee 2 msb and 6 lsb are zeroes
+ }
+ PRNArg = PRN;
+ trackArg = track;
+ return( addSubframe( paddedSF, gpsWeek, PRNArg, trackArg ));
+ }
+
+ bool EngEphemeris::addIncompleteSF1Thru3(
+ const long sf1[8], const long sf2[8], const long sf3[8],
+ const long sf1TransmitSOW, const int gpsWeek,
+ const short PRN, const short track)
+ {
+ double ficked[60];
+
+ // Need to provide a valid subframe number in the handover word.
+ // While we're at it, we'll fake the A-S bit such that it
+ // appears A-S is ON, even though we warn the user NOT to trust
+ // returns from the getASAlert() method.
+ const long sf1Lead[2] = { 0x00000000, 0x00000900 };
+ const long sf2Lead[2] = { 0x00000000, 0x00000A00 };
+ const long sf3Lead[2] = { 0x00000000, 0x00000B00 };
+ long subframe[10];
+
+ // Handover word times represent the time of the leading edge of the
+ // NEXT subframe. Therefore, HOW should always correspond to
+ // :06/:36 for SF 1
+ // :12/:42 for SF 2
+ // :18/:48 for SF 3
+ // This method hasn't a clue about the accuracy of the SOW input by the
+ // user, but it WILL enforce this relationship.
+ long frameCount = sf1TransmitSOW / 30;
+ long SF1HOWTime = (frameCount * 30) + 6;
+
+ // Convert subframe 1 parameters
+ subframe[0] = sf1Lead[0];
+ subframe[1] = sf1Lead[1];
+ int i;
+ for (i=0; i<8; ++i) subframe[i+2] = sf1[i];
+
+ if (!subframeConvert(subframe, gpsWeek, ficked))
+ return false;
+
+ tlm_message[0] = 0;
+ HOWtime[0] = SF1HOWTime;
+ ASalert[0] = (short)ficked[3];
+ weeknum = (short)ficked[5];
+ codeflags = (short)ficked[6];
+ accFlag = (short)ficked[7];
+ health = (short)ficked[8];
+ IODC = (short)ldexp(ficked[9],-11);
+ L2Pdata = (short)ficked[10];
+ Tgd = ficked[11];
+ Toc = ficked[12];
+ af2 = ficked[13];
+ af1 = ficked[14];
+ af0 = ficked[15];
+ tracker = track;
+ PRNID = PRN;
+ haveSubframe[0] = true;
+ // convert the accuracy flag to a value...
+ accuracy = gpstk::ura2accuracy(accFlag);
+
+
+ // Convert subframe 2 parameters
+ subframe[0] = sf2Lead[0];
+ subframe[1] = sf2Lead[1];
+ for (i=0; i<8; ++i) subframe[i+2] = sf2[i];
+
+ if (!subframeConvert(subframe, gpsWeek, ficked))
+ return false;
+
+ tlm_message[1] = 0;
+ HOWtime[1] = SF1HOWTime + 6;
+ ASalert[1] = (short)ficked[3];
+ IODE = (short)ldexp(ficked[5],-11);
+ Crs = ficked[6];
+ dn = ficked[7];
+ M0 = ficked[8];
+ Cuc = ficked[9];
+ ecc = ficked[10];
+ Cus = ficked[11];
+ Ahalf = ficked[12];
+ Toe = ficked[13];
+ fitint = (short)ficked[14];
+ haveSubframe[1] = true;
+
+ // Convert subframe 3 parameters
+ subframe[0] = sf3Lead[0];
+ subframe[1] = sf3Lead[1];
+ for (i=0; i<8; ++i) subframe[i+2] = sf3[i];
+
+ if (!subframeConvert(subframe, gpsWeek, ficked))
+ return false;
+
+ tlm_message[2] = 0;
+ HOWtime[2] = SF1HOWTime + 12;
+ ASalert[2] = (short)ficked[3];
+ Cic = ficked[5];
+ OMEGA0 = ficked[6];
+ Cis = ficked[7];
+ i0 = ficked[8];
+ Crc = ficked[9];
+ w = ficked[10];
+ OMEGAdot = ficked[11];
+ idot = ficked[13];
+ haveSubframe[2] = true;
+
+ return true;
+ }
+
+ bool EngEphemeris :: isData(short subframe) const
+ throw(gpstk::InvalidRequest)
+ {
+ if ((subframe < 1) || (subframe > 3))
+ {
+ InvalidRequest exc("Subframe "+StringUtils::asString(subframe)+
+ " is not a valid ephemeris subframe.");
+ GPSTK_THROW(exc);
+ }
+
+ return haveSubframe[subframe-1];
+ }
+
+ void EngEphemeris :: setAccuracy(const double& acc)
+ throw(gpstk::InvalidParameter)
+ {
+ if( acc < 0 )
+ {
+ InvalidParameter exc("SV Accuracy of " + StringUtils::asString(acc) +
+ " meters is invalid.");
+ GPSTK_THROW(exc);
+ }
+ accuracy = acc;
+ accFlag = gpstk::accuracy2ura(acc);
+ }
+
+ Xvt EngEphemeris :: svXvt(const DayTime& t) const
+ throw(InvalidRequest)
+ {
+ Xvt sv;
+
+ double ea; /* eccentric anomaly */
+ double delea; /* delta eccentric anomaly during iteration */
+ double elapte; /* elapsed time since Toe */
+ double elaptc; /* elapsed time since Toc */
+ double dtc,dtr,q,sinea,cosea;
+ double GSTA,GCTA;
+ double A; /* semi-major axis */
+ double amm;
+ double meana; /* mean anomaly */
+ double F,G; /* temporary real variables */
+ double alat,talat,c2al,s2al,du,dr,di,U,R,truea,AINC;
+ double ANLON,cosu,sinu,xip,yip,can,san,cinc,sinc;
+ double xef,yef,zef,dek,dlk,div,domk,duv,drv;
+ double dxp,dyp,vxef,vyef,vzef;
+ GPSGeoid geoid;
+
+ double sqrtgm = sqrt(geoid.gm());
+
+ // Check for ground transmitter
+ double twoPI = 2.0e0 * PI;
+ bool igtran; // ground transmitter flag
+ double lecc; // eccentricity
+ double tdrinc; // dt inclination
+ if (getAhalf() < 2550.0e0 )
+ {
+ igtran = true;
+ lecc = 0.0e0;
+ tdrinc = 0.0e0;
+ }
+ else
+ {
+ igtran = false;
+ lecc = getEcc();
+ tdrinc = getIDot();
+ }
+
+ // Compute time since ephemeris & clock epochs
+ elapte = t - getEphemerisEpoch();
+ elaptc = t - getEpochTime();
+
+
+ // Compute mean motion
+ A = getA();
+ amm = (sqrtgm / (A*getAhalf())) + getDn();
+
+
+ // In-plane angles
+ // meana - Mean anomaly
+ // ea - Eccentric anomaly
+ // truea - True anomaly
+ if (!igtran)
+ meana = getM0() + elapte * amm;
+ else
+ meana = getM0();
+ meana = fmod(meana, twoPI);
+
+ ea = meana + lecc * sin(meana);
+
+ int loop_cnt = 1;
+ do {
+ F = meana - ( ea - lecc * sin(ea));
+ G = 1.0 - lecc * cos(ea);
+ delea = F/G;
+ ea = ea + delea;
+ loop_cnt++;
+ } while ( (fabs(delea) > 1.0e-11 ) && (loop_cnt <= 20) );
+
+ // Compute clock corrections
+ dtc = getAf0() + elaptc * getAf1() + elaptc * elaptc * getAf2();
+ dtr = REL_CONST * lecc * getAhalf() * sin(ea);
+ sv.dtime = dtc + dtr;
+ sv.ddtime = getAf1() + elaptc * getAf2();
+
+ // Compute true anomaly
+ q = sqrt ( 1.0e0 - lecc*lecc);
+ sinea = sin(ea);
+ cosea = cos(ea);
+ G = 1.0e0 - lecc * cosea;
+
+ // G*SIN(TA) AND G*COS(TA)
+ GSTA = q * sinea;
+ GCTA = cosea - lecc;
+
+ // True anomaly
+ truea = atan2 ( GSTA, GCTA );
+
+ // Argument of lat and correction terms (2nd harmonic)
+ alat = truea + getW();
+ talat = 2.0e0 * alat;
+ c2al = cos( talat );
+ s2al = sin( talat );
+
+ du = c2al * getCuc() + s2al * getCus();
+ dr = c2al * getCrc() + s2al * getCrs();
+ di = c2al * getCic() + s2al * getCis();
+
+ // U = updated argument of lat, R = radius, AINC = inclination
+ U = alat + du;
+ R = getA()*G + dr;
+ AINC = getI0() + tdrinc * elapte + di;
+
+ // Longitude of ascending node (ANLON)
+ if (!igtran)
+ ANLON = getOmega0() + (getOmegaDot() - geoid.angVelocity()) *
+ elapte - geoid.angVelocity() * getToe();
+ else
+ ANLON = getOmega0() - getOmegaDot() * getToe();
+
+ // In plane location
+ cosu = cos( U );
+ sinu = sin( U );
+
+ xip = R * cosu;
+ yip = R * sinu;
+
+ // Angles for rotation to earth fixed
+ can = cos( ANLON );
+ san = sin( ANLON );
+ cinc = cos( AINC );
+ sinc = sin( AINC );
+
+ // Earth fixed - meters
+ xef = xip*can - yip*cinc*san;
+ yef = xip*san + yip*cinc*can;
+ zef = yip*sinc;
+
+ sv.x[0] = xef;
+ sv.x[1] = yef;
+ sv.x[2] = zef;
+
+ // Compute velocity of rotation coordinates
+ dek = amm * A / R;
+ dlk = getAhalf() * q * sqrtgm / (R*R);
+ div = tdrinc - 2.0e0 * dlk *
+ ( getCic() * s2al - getCis() * c2al );
+ domk = getOmegaDot() - geoid.angVelocity();
+ duv = dlk*(1.e0+ 2.e0 * (getCus()*c2al - getCuc()*s2al) );
+ drv = A * lecc * dek * sinea - 2.e0 * dlk *
+ ( getCrc() * s2al - getCrs() * c2al );
+
+ dxp = drv*cosu - R*sinu*duv;
+ dyp = drv*sinu + R*cosu*duv;
+
+ // Calculate velocities
+ vxef = dxp*can - xip*san*domk - dyp*cinc*san
+ + yip*( sinc*san*div - cinc*can*domk);
+ vyef = dxp*san + xip*can*domk + dyp*cinc*can
+ - yip*( sinc*can*div + cinc*san*domk);
+ vzef = dyp*sinc + yip*cinc*div;
+
+ // Move results into output variables
+ sv.v[0] = vxef;
+ sv.v[1] = vyef;
+ sv.v[2] = vzef;
+
+ return sv;
+ }
+
+ double EngEphemeris::svRelativity(const DayTime& t) const
+ throw(gpstk::InvalidRequest)
+ {
+ GPSGeoid geoid;
+ double twoPI = 2.0e0 * PI;
+ double sqrtgm = sqrt(geoid.gm());
+ double elapte = t - getEphemerisEpoch();
+ double elaptc = t - getEpochTime();
+ double A = getA();
+ double amm = (sqrtgm / (A*getAhalf())) + getDn();
+ double meana,lecc,F,G,delea;
+
+ if (getAhalf() < 2550.0e0 ) { lecc = 0.0e0; meana = getM0(); }
+ else { lecc = getEcc(); meana = getM0() + elapte * amm; }
+ meana = fmod(meana, twoPI);
+ double ea = meana + lecc * sin(meana);
+
+ int loop_cnt = 1;
+ do {
+ F = meana - ( ea - lecc * sin(ea));
+ G = 1.0 - lecc * cos(ea);
+ delea = F/G;
+ ea = ea + delea;
+ loop_cnt++;
+ } while ( (fabs(delea) > 1.0e-11 ) && (loop_cnt <= 20) );
+ double dtr = REL_CONST * lecc * getAhalf() * sin(ea);
+ return dtr;
+ }
+
+ double EngEphemeris::svClockBias(const DayTime& t) const
+ throw(gpstk::InvalidRequest)
+ {
+ double dtc,elaptc;
+ elaptc = t - getEpochTime();
+ dtc = getAf0() + elaptc * getAf1() + elaptc * elaptc * getAf2();
+ return dtc;
+ }
+
+ double EngEphemeris::svClockDrift(const DayTime& t) const
+ throw(gpstk::InvalidRequest)
+ {
+ double drift,elaptc;
+ elaptc = t - getEpochTime();
+ drift = getAf1() + elaptc * getAf2();
+ return drift;
+ }
+
+ short EngEphemeris :: getFitInterval() const
+ throw(InvalidRequest)
+ {
+ short iodc = getIODC();
+ short fiti = getFitInt();
+
+ /* check the IODC */
+ if (iodc < 0 || iodc > 1023)
+ {
+ /* error in iodc, return minimum fit */
+ return 4;
+ }
+
+ if (((fiti == 0) &&
+ (iodc & 0xFF) < 240 || (iodc & 0xFF) > 255 ))
+ {
+ /* fit interval of 4 hours */
+ return 4;
+ }
+ else if (fiti == 1)
+ {
+ if( ((iodc & 0xFF) < 240 || (iodc & 0xFF) > 255))
+ {
+ /* fit interval of 6 hours */
+ return 6;
+ }
+ else if(iodc >=240 && iodc <=247)
+ {
+ /* fit interval of 8 hours */
+ return 8;
+ }
+ else if(iodc >= 248 && iodc <= 255 || iodc == 496)
+ {
+ /* fit interval of 14 hours */
+ return 14;
+ }
+ else if(iodc >= 497 && iodc <=503)
+ {
+ /* fit interval of 26 hours */
+ return 26;
+ }
+ else if(iodc >= 504 && iodc <=510)
+ {
+ /* fit interval of 50 hours */
+ return 50;
+ }
+ else if(iodc == 511 || iodc >= 752 && iodc <= 756)
+ {
+ /* fit interval of 74 hours */
+ return 74;
+ }
+ else if(iodc >= 757 && iodc <= 763)
+ {
+ /* fit interval of 98 hours */
+ return 98;
+ }
+ else if(iodc >= 764 && iodc <=767 || iodc >=1008 && iodc <=1010)
+ {
+ /* fit interval of 122 hours */
+ return 122;
+ }
+ else if(iodc >= 1011 && iodc <=1020)
+ {
+ /* fit interval of 146 hours */
+ return 146;
+ }
+ else
+ {
+ /* error in the iodc or ephemeris, return minimum
+ fit */
+ return 4;
+ }
+ }
+ else
+ {
+ /* error in ephemeris/iodc, return minimum fit */
+ return 4;
+ }
+
+ return 0; // never reached
+ }
+
+ unsigned EngEphemeris::getTLMMessage(short subframe) const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[subframe-1])
+ {
+ InvalidRequest exc("Subframe "+StringUtils::asString(subframe)+
+ " not stored.");
+ GPSTK_THROW(exc);
+ }
+ return tlm_message[subframe-1];
+ }
+
+ DayTime EngEphemeris::getTransmitTime() const
+ throw(InvalidRequest)
+ {
+ DayTime toReturn(0.L);
+ toReturn.setGPSfullweek(getFullWeek(), (double)getTot());
+ return toReturn;
+ }
+
+ DayTime EngEphemeris::getEpochTime() const
+ throw(InvalidRequest)
+ {
+ DayTime toReturn(0.L);
+ if ( (getToc() - getHOWTime(1)) < -DayTime::HALFWEEK)
+ toReturn.setGPSfullweek(getFullWeek() + 1, getToc());
+ else if ( (getToc() - getHOWTime(1)) > DayTime::HALFWEEK)
+ toReturn.setGPSfullweek(getFullWeek() - 1, getToc());
+ else
+ toReturn.setGPSfullweek(getFullWeek(), getToc());
+ return toReturn;
+ }
+
+ DayTime EngEphemeris::getEphemerisEpoch() const
+ throw(InvalidRequest)
+ {
+ DayTime toReturn(0.L);
+ if ( (getToe() - getHOWTime(1)) < -DayTime::HALFWEEK)
+ toReturn.setGPSfullweek(getFullWeek() + 1, getToe());
+ else if ( (getToe() - getHOWTime(1)) > DayTime::HALFWEEK)
+ toReturn.setGPSfullweek(getFullWeek() - 1, getToe());
+ else
+ toReturn.setGPSfullweek(getFullWeek(), getToe());
+ return toReturn;
+ }
+
+ short EngEphemeris::getPRNID() const
+ throw(InvalidRequest)
+ {
+ if(!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return PRNID;
+ }
+
+ short EngEphemeris::getTracker() const
+ throw(InvalidRequest)
+ {
+ if(!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return tracker;
+ }
+
+ double EngEphemeris::getHOWTime(short subframe) const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[subframe-1])
+ {
+ InvalidRequest exc("Subframe "+StringUtils::asString(subframe)+
+ " not stored.");
+ GPSTK_THROW(exc);
+ }
+ // this return as a double is necessary for sets into DayTime
+ // to not get confused. Ints are Zcounts whereas doubles are seconds
+ return (double) HOWtime[subframe-1];
+ }
+
+ short EngEphemeris::getASAlert(short subframe) const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[subframe-1])
+ {
+ InvalidRequest exc("Subframe "+StringUtils::asString(subframe)+
+ " not stored.");
+ GPSTK_THROW(exc);
+ }
+ return ASalert[subframe-1];
+ }
+
+ short EngEphemeris::getFullWeek() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return weeknum;
+ }
+
+ short EngEphemeris::getCodeFlags() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return codeflags;
+ }
+
+ double EngEphemeris::getAccuracy() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return accuracy;
+ }
+
+ short EngEphemeris::getAccFlag() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return accFlag;
+ }
+
+ short EngEphemeris::getHealth() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return health;
+ }
+
+ short EngEphemeris::getL2Pdata() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return L2Pdata;
+ }
+
+ short EngEphemeris::getIODC() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return (short)IODC;
+ }
+
+ short EngEphemeris::getIODE() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[1])
+ {
+ InvalidRequest exc("Required subframe 2 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return (short)IODE;
+ }
+
+ double EngEphemeris::getToc() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return Toc;
+ }
+
+ double EngEphemeris::getAf0() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return af0;
+ }
+
+ double EngEphemeris::getAf1() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return af1;
+ }
+
+ double EngEphemeris::getAf2() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return af2;
+ }
+
+ double EngEphemeris::getTgd() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return Tgd;
+ }
+
+ double EngEphemeris::getCus() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[1])
+ {
+ InvalidRequest exc("Required subframe 2 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return Cus;
+ }
+
+ double EngEphemeris::getCrs() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[1])
+ {
+ InvalidRequest exc("Required subframe 2 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return Crs;
+ }
+
+ double EngEphemeris::getCis() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[2])
+ {
+ InvalidRequest exc("Required subframe 3 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return Cis;
+ }
+
+ double EngEphemeris::getCrc() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[2])
+ {
+ InvalidRequest exc("Required subframe 3 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return Crc;
+ }
+
+ double EngEphemeris::getCuc() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[1])
+ {
+ InvalidRequest exc("Required subframe 2 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return Cuc;
+ }
+
+ double EngEphemeris::getCic() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[2])
+ {
+ InvalidRequest exc("Required subframe 3 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return Cic;
+ }
+
+ double EngEphemeris::getToe() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[1])
+ {
+ InvalidRequest exc("Required subframe 2 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return Toe;
+ }
+
+ double EngEphemeris::getM0() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[1])
+ {
+ InvalidRequest exc("Required subframe 2 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return M0;
+ }
+
+ double EngEphemeris::getDn() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[1])
+ {
+ InvalidRequest exc("Required subframe 2 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return dn;
+ }
+
+ double EngEphemeris::getEcc() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[1])
+ {
+ InvalidRequest exc("Required subframe 2 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return ecc;
+ }
+
+ double EngEphemeris::getAhalf() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[1])
+ {
+ InvalidRequest exc("Required subframe 2 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return Ahalf;
+ }
+
+ double EngEphemeris::getA() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[1])
+ {
+ InvalidRequest exc("Required subframe 2 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return Ahalf * Ahalf;
+ }
+
+ double EngEphemeris::getOmega0() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[2])
+ {
+ InvalidRequest exc("Required subframe 3 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return OMEGA0;
+ }
+
+ double EngEphemeris::getI0() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[2])
+ {
+ InvalidRequest exc("Required subframe 3 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return i0;
+ }
+
+ double EngEphemeris::getW() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[2])
+ {
+ InvalidRequest exc("Required subframe 3 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return w;
+ }
+
+ double EngEphemeris::getOmegaDot() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[2])
+ {
+ InvalidRequest exc("Required subframe 3 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return OMEGAdot;
+ }
+
+ double EngEphemeris::getIDot() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[2])
+ {
+ InvalidRequest exc("Required subframe 3 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return idot;
+ }
+
+ short EngEphemeris::getFitInt() const
+ throw(InvalidRequest)
+ {
+ if (!haveSubframe[1])
+ {
+ InvalidRequest exc("Required subframe 2 not stored.");
+ GPSTK_THROW(exc);
+ }
+ return fitint;
+ }
+
+ long EngEphemeris::getTot() const
+ throw(InvalidRequest)
+ {
+ if(!haveSubframe[0])
+ {
+ InvalidRequest exc("Required subframe 1 not stored.");
+ GPSTK_THROW(exc);
+ }
+ if(!haveSubframe[1])
+ {
+ InvalidRequest exc("Required subframe 2 not stored.");
+ GPSTK_THROW(exc);
+ }
+ if(!haveSubframe[2])
+ {
+ InvalidRequest exc("Required subframe 3 not stored.");
+ GPSTK_THROW(exc);
+ }
+
+ // MSVC
+#ifdef _MSC_VER
+ long foo = static_cast<long>( getHOWTime(1) < getHOWTime(2) ) ? getHOWTime(1) : getHOWTime(2);
+ foo = ( foo < getHOWTime(3) ) ? foo : getHOWTime(3) ;
+#else
+ long foo =
+ static_cast<long>( min( getHOWTime(1),
+ min( getHOWTime(2), getHOWTime(3) ) ) );
+#endif
+ // The ephemeris comes on 30 second boundaries, so...
+ foo/=30;
+ foo*=30;
+ return foo;
+ }
+
+ EngEphemeris& EngEphemeris::setSF1( unsigned tlm, double how, short asalert,
+ short fullweek, short cflags, short acc,
+ short svhealth, short iodc, short l2pdata,
+ double tgd, double toc, double Af2,
+ double Af1, double Af0, short Tracker,
+ short prn )
+ throw()
+ {
+
+ tlm_message[0] = tlm;
+ HOWtime[0] = static_cast<long>( how );
+ ASalert[0] = asalert;
+ weeknum = fullweek;
+ codeflags = cflags;
+ accFlag = acc;
+ health = svhealth;
+ IODC = iodc;
+ L2Pdata = l2pdata;
+ Tgd = tgd;
+ Toc = toc;
+ af2 = Af2;
+ af1 = Af1;
+ af0 = Af0;
+ tracker = Tracker;
+ PRNID = prn;
+ haveSubframe[0] = true;
+ // convert the accuracy flag to a value...
+ accuracy = gpstk::ura2accuracy(accFlag);
+ return *this;
+ }
+
+ EngEphemeris& EngEphemeris::setSF2( unsigned tlm, double how, short asalert,
+ short iode, double crs, double Dn,
+ double m0, double cuc, double Ecc,
+ double cus, double ahalf, double toe,
+ short fitInt )
+ throw()
+ {
+ tlm_message[1] = tlm;
+ HOWtime[1] = static_cast<long>( how );
+ ASalert[1] = asalert;
+ IODE = iode;
+ Crs = crs;
+ dn = Dn;
+ M0 = m0;
+ Cuc = cuc;
+ ecc = Ecc;
+ Cus = cus;
+ Ahalf = ahalf;
+ Toe = toe;
+ fitint = fitInt;
+ haveSubframe[1] = true;
+ return *this;
+ }
+
+
+ EngEphemeris& EngEphemeris::setSF3( unsigned tlm, double how, short asalert,
+ double cic, double Omega0, double cis,
+ double I0, double crc, double W,
+ double OmegaDot, double IDot )
+ throw()
+ {
+ tlm_message[2] = tlm;
+ HOWtime[2] = static_cast<long>( how );
+ ASalert[2] = asalert;
+ Cic = cic;
+ OMEGA0 = Omega0;
+ Cis = cis;
+ i0 = I0;
+ Crc = crc;
+ w = W;
+ OMEGAdot = OmegaDot;
+ idot = IDot;
+ haveSubframe[2] = true;
+ return *this;
+ }
+
+ static void timeDisplay( ostream & os, const gpstk::DayTime& t)
+ {
+ // Convert to daytime struct from GPS wk,SOW to M/D/Y, H:M:S.
+ os << setw(4) << t.GPSfullweek() << "(";
+ os << setw(4) << t.GPS10bitweek() << ") ";
+ os << setw(6) << setfill(' ') << t.GPSsecond() << " ";
+
+ switch (t.GPSday())
+ {
+ case 0: os << "Sun-0"; break;
+ case 1: os << "Mon-1"; break;
+ case 2: os << "Tue-2"; break;
+ case 3: os << "Wed-3"; break;
+ case 4: os << "Thu-4"; break;
+ case 5: os << "Fri-5"; break;
+ case 6: os << "Sat-6"; break;
+ default: break;
+ }
+ os << " " << t.printf("%3j %5.0s %02m/%02d/%04Y %02H:%02M:%02S");
+ }
+
+
+ static void shortcut(ostream & os, const long HOW )
+ {
+ short DOW, hour, min, sec;
+ long SOD, SOW;
+ short SOH;
+
+ SOW = static_cast<long>( HOW );
+ DOW = static_cast<short>( SOW / DayTime::SEC_DAY );
+ SOD = SOW - static_cast<long>( DOW * DayTime::SEC_DAY );
+ hour = static_cast<short>( SOD/3600 );
+
+ SOH = static_cast<short>( SOD - (hour*3600) );
+ min = SOH/60;
+
+ sec = SOH - min * 60;
+ switch (DOW)
+ {
+ case 0: os << "Sun-0"; break;
+ case 1: os << "Mon-1"; break;
+ case 2: os << "Tue-2"; break;
+ case 3: os << "Wed-3"; break;
+ case 4: os << "Thu-4"; break;
+ case 5: os << "Fri-5"; break;
+ case 6: os << "Sat-6"; break;
+ default: break;
+ }
+
+ os << ":" << setfill('0')
+ << setw(2) << hour
+ << ":" << setw(2) << min
+ << ":" << setw(2) << sec
+ << setfill(' ');
+ }
+
+ void EngEphemeris :: dump(ostream& s) const
+ {
+ ios::fmtflags oldFlags = s.flags();
+
+ s.setf(ios::fixed, ios::floatfield);
+ s.setf(ios::right, ios::adjustfield);
+ s.setf(ios::uppercase);
+ s.precision(0);
+ s.fill(' ');
+
+ s << "****************************************************************"
+ << "************" << endl
+ << "Broadcast Ephemeris (Engineering Units)" << endl
+ << endl
+ << "PRN : " << setw(2) << PRNID << endl
+ << endl;
+
+
+ s << " Week(10bt) SOW DOW UTD SOD"
+ << " MM/DD/YYYY HH:MM:SS\n";
+ s << "Clock Epoch: ";
+ timeDisplay(s, getEpochTime());
+ s << endl;
+ s << "Eph Epoch: ";
+ timeDisplay(s, getEphemerisEpoch());
+ s << endl;
+
+#if 0
+ // FIX when moved from sf123, the tot got zapped.. because in
+ // order for engephemeris to be able to use such a thing, it
+ // needs to be pulled out of as-broadcast bits somehow.
+ s << "Transmit time:" << setw(4) << weeknum << ", sow=" << Tot.GPSsecond() << endl
+ << "Fit interval flag : " << setw(2) << fitint
+ << " (" << fitintlen << " hours)" << endl;
+#elsif 0
+ s << "Transmit time:" << setw(4) << weeknum << endl
+ << "Fit interval flag : " << setw(2) << fitint
+ << " (" << getFitInt() << " hours)" << endl;
+#endif
+ // nuts to the above, let's just make it look like navdump output
+ s << "Transmit Week:" << setw(4) << weeknum << endl
+ << "Fit interval flag : " << fitint << endl;
+
+ s << endl
+ << " SUBFRAME OVERHEAD"
+ << endl
+ << endl
+ << " SOW DOW:HH:MM:SS IOD ALERT A-S\n";
+ for (int i=0;i<3;i++)
+ {
+ s << "SF" << setw(1) << (i+1)
+ << " HOW: " << setw(7) << HOWtime[i]
+ << " ";
+
+ shortcut( s, HOWtime[i]);
+ if (i==0)
+ s << " ";
+ else
+ s << " ";
+
+ s << "0x" << setfill('0') << hex;
+
+ if (i==0)
+ s << setw(3) << IODC;
+ else
+ s << setw(2) << IODE;
+
+ s << dec << " " << setfill(' ');
+
+ if (ASalert[i] & 0x0002) // "Alert" bit handling
+ s << "1 ";
+ else
+ s << "0 ";
+
+ if (ASalert[i] & 0x0001) // A-S flag handling
+ s << " on";
+ else
+ s << "off";
+ s << endl;
+ }
+
+ s.setf(ios::scientific, ios::floatfield);
+ s.precision(8);
+
+ s << endl
+ << " CLOCK"
+ << endl
+ << endl
+ << "Bias T0: " << setw(16) << af0 << " sec" << endl
+ << "Drift: " << setw(16) << af1 << " sec/sec" << endl
+ << "Drift rate: " << setw(16) << af2 << " sec/(sec**2)" << endl
+ << "Group delay: " << setw(16) << Tgd << " sec" << endl;
+
+ s << endl
+ << " ORBIT PARAMETERS"
+ << endl
+ << endl
+ << "Semi-major axis: " << setw(16) << Ahalf << " m**.5" << endl
+ << "Motion correction: " << setw(16) << dn << " rad/sec"
+ << endl
+ << "Eccentricity: " << setw(16) << ecc << endl
+ << "Arg of perigee: " << setw(16) << w << " rad" << endl
+ << "Mean anomaly at epoch: " << setw(16) << M0 << " rad" << endl
+ << "Right ascension: " << setw(16) << OMEGA0 << " rad "
+ << setw(16) << OMEGAdot << " rad/sec" << endl
+ << "Inclination: " << setw(16) << i0 << " rad "
+ << setw(16) << idot << " rad/sec" << endl;
+
+ s << endl
+ << " HARMONIC CORRECTIONS"
+ << endl
+ << endl
+ << "Radial Sine: " << setw(16) << Crs << " m Cosine: "
+ << setw(16) << Crc << " m" << endl
+ << "Inclination Sine: " << setw(16) << Cis << " rad Cosine: "
+ << setw(16) << Cic << " rad" << endl
+ << "In-track Sine: " << setw(16) << Cus << " rad Cosine: "
+ << setw(16) << Cuc << " rad" << endl;
+
+ s << endl
+ << " SV STATUS"
+ << endl
+ << endl
+ << "Health bits: 0x" << setfill('0') << setw(2) << health
+ << " URA index: " << setfill(' ') << setw(4) << accFlag << endl
+ << "Code on L2: ";
+
+ switch (codeflags)
+ {
+ case 0:
+ s << "reserved ";
+ break;
+
+ case 1:
+ s << " P only ";
+ break;
+
+ case 2:
+ s << " C/A only";
+ break;
+
+ case 3:
+ s << " P & C/A ";
+ break;
+
+ default:
+ break;
+
+ }
+
+ s << " L2 P Nav data: ";
+ if (L2Pdata!=0)
+ s << "off";
+ else
+ s << "on";
+
+ s << endl
+ << endl;
+ s.flags(oldFlags);
+
+ } // end of SF123::dump()
+
+ ostream& operator<<(ostream& s, const EngEphemeris& eph)
+ {
+ eph.dump(s);
+ return s;
+
+/* this appears to be more like the dump_eph_table routine of gappc
+ * which dumped the bce table.
+
+ s.setf(ios::right);
+ s << "prn:" << setw(2) << eph.PRNID
+ << ", HOW[0]:" << hex << setfill('0') << setw(5) << eph.getHOWTime(1)
+ << ", IODC:" << hex << setw(3) << eph.getIODC()
+ << dec << setfill(' ') << setw(0)
+ << ", Toe: [" << eph.getToc()-1800*eph.getFitInt()
+ << "..." << eph.getToc()+1800*eph.getFitInt()
+ << ")";
+*/
+ } // end of operator<<
+
+} // namespace
diff --git a/trunk/src/EngEphemeris.hpp b/trunk/src/EngEphemeris.hpp
new file mode 100644
index 0000000..4327eed
--- /dev/null
+++ b/trunk/src/EngEphemeris.hpp
@@ -0,0 +1,494 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EngEphemeris.hpp#7 $"
+
+/**
+ * @file EngEphemeris.hpp
+ * Ephemeris data encapsulated in engineering terms
+ */
+
+#ifndef GPSTK_ENGEPHEMERIS_HPP
+#define GPSTK_ENGEPHEMERIS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "EngNav.hpp"
+#include "Exception.hpp"
+#include "DayTime.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup ephemcalc */
+ //@{
+
+ /**
+ * Ephemeris information for a single satellite. This class
+ * encapsulates the ephemeris navigation message (subframes 1-3)
+ * and provides functions to decode the as-broadcast
+ * ephemerides.
+ */
+ class EngEphemeris : public EngNav
+ {
+ public:
+ /// Default constructor
+ EngEphemeris() throw();
+
+ /// Destructor
+ virtual ~EngEphemeris() {}
+
+ /**
+ * Store a subframe in this object.
+ * @param subframe ten word navigation subframe stored in the
+ * 30 least-significant bits of each array index.
+ * @param gpsWeek full GPS week number.
+ * @param PRN PRN ID of source satellite.
+ * @param track tracking number (typically receiver channel number).
+ * @return true if successful.
+ * @throw InvalidParameter if subframe is valid but not subframe 1-3.
+ */
+ bool addSubframe(const long subframe[10], const int gpsWeek,
+ short PRN, short track)
+ throw(gpstk::InvalidParameter);
+
+ /**
+ * Store a subframe in this object. This method is provided in
+ * order to allow construction of an EngEphemeris object for
+ * cases where a receiver only provides the 24 msb of each
+ * word and strips the parity.l
+ * @param subframe ten word navigation subframe (minus the six
+ * parity bits) stored in the 24 least-significant bits of
+ * each array index.
+ * @param gpsWeek full GPS week number.
+ * @param PRN PRN ID of source satellite.
+ * @param track tracking number (typically receiver channel number).
+ * @return true if successful.
+ * @throw InvalidParameter if subframe is valid but not subframe 1-3.
+ */
+ bool addSubframeNoParity(const long subframe[10],
+ const long gpsWeek,
+ const short PRN,
+ const short track)
+ throw(gpstk::InvalidParameter);
+
+ /**
+ * Store a subframe in this object. This method is provided in
+ * order to provide a path to a EngEphemeris object for cases
+ * where a receiver only provides words 3-10 of subframes 1-3.
+ * @note: It is important to appropriately determine the transmit
+ * time of the data. The parameters sf1TransmitSOW and gpsWeek
+ * should be consistent and should represent the time when the
+ * data in sf1, sf2, and sf3 were received. As a general rule,
+ * the transmit time should be somewhere in the range of 0-2 hours
+ * BEFORE the epoch time of the ephemeris.
+ * @note: EngEphemeris objects built via this method will not
+ * contain valid TLM message data, A-S flags, and "Alert" bits.
+ * Methods getTLMMesage() and getASAlert() should not be used.
+ * @param sf1 words 3-10 of navigation subframe1 stored in the
+ * 30 least-significant bits of each array index.
+ * @param sf2 words 3-10 of navigation subframe 2
+ * @param sf3 words 3-10 of navigation subframe 3
+ * @param sf1TransmitSOW time (in GPS seconds of week) corresponding
+ * to leading edge of first bit of subframe 1
+ * @param gpsWeek full GPS week number.
+ * @param PRN PRN ID of source satellite.
+ * @param track tracker number (typically receiver channel number).
+ * @return true if successful.
+ */
+ bool EngEphemeris::addIncompleteSF1Thru3(
+ const long sf1[8], const long sf2[8], const long sf3[8],
+ const long sf1TransmitSOW, const int gpsWeek,
+ const short PRN, const short track);
+
+ /**
+ * Query presence of subframe in this object.
+ * @param subframe subframe ID (1-3) to check.
+ * @return true if the given subframe is present in this object.
+ * @throw InvalidParameter if subframe is not a valid
+ * ephemeris subframe number.
+ */
+ bool isData(short subframe) const throw(gpstk::InvalidRequest);
+
+ /**
+ * Set the value of the SV accuracy (in meters). This is the only
+ * "set" method and is provided so that one can set the SV
+ * accuracy directly and thereby override the conversion of the
+ * SV accuracy flag to meters. This is usually used when entering
+ * data from some source other than an SV nav message.
+ * @note Subsequent use of the addSubframe(), with subframe 1 info,
+ * or the setSF1() methods will overwrite any value set using this
+ * method.
+ * @note This function converts the given accuracy to the appropriate
+ * SV accuracy flag and stores it in the accFlag data member.
+ * @param acc the new value of SV accuracy in meters.
+ * @throw InvalidParameter if the given accuracy value is invalid.
+ */
+ void setAccuracy(const double& acc) throw(gpstk::InvalidParameter);
+
+ /**
+ * This computes and returns the fit interval for the
+ * satellite ephemeris from the IODC and the fit interval
+ * flag. This fit interval is centered around the Toe (time
+ * of ephemeris) for the ephemeris. See Table 20-XIA in the
+ * ICD-GPS-200 and section 20.3.3.4.3.1 for more information.
+ * @return the fit interval in hours (0 = failure).
+ * @throw InvalidRequest if data is missing.
+ */
+ short getFitInterval() const throw(gpstk::InvalidRequest);
+
+ /// Return 0x8b, the upper 5 bits of the 22-bit TLM word.
+ // kinda pointless, huh?
+ unsigned char getTLMPreamble() const throw() { return 0x8b; }
+
+ /// Return the lower 16 bits of the TLM word for the given subframe.
+ unsigned getTLMMessage(short subframe) const
+ throw(gpstk::InvalidRequest);
+
+ /// Extracts the epoch time from this ephemeris, correcting
+ /// for half weeks and HOW time
+ DayTime getEphemerisEpoch() const throw(InvalidRequest);
+
+ /// Extracts the epoch time (time of clock) from this ephemeris, correcting
+ /// for half weeks and HOW time
+ DayTime getEpochTime() const throw(gpstk::InvalidRequest);
+
+ /// Extracts the transmit time from the ephemeris using the Tot
+ DayTime getTransmitTime() const throw(gpstk::InvalidRequest);
+
+ /// used for template functions
+ DayTime getTimestamp() const throw(gpstk::InvalidRequest)
+ { return getEpochTime(); }
+
+ /** This function returns the PRN ID of the SV. */
+ short getPRNID() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the tracker number. */
+ short getTracker() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the time of the HOW in subframe
+ * 1 or 2 or 3 in seconds of week. */
+ double getHOWTime(short subframe) const throw(gpstk::InvalidRequest);
+
+ /** This function returns the A-S alert flag for either
+ * subframe 1 or 2 or 3. */
+ short getASAlert(short subframe) const throw(gpstk::InvalidRequest);
+
+ /** This function return the GPS week number for the
+ * ephemeris. this is the full GPS week (ie > 10 bits). */
+ short getFullWeek() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the values of the L2 codes. */
+ short getCodeFlags() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the SV accuracy (m)
+ * computed from the accuracy flag in the nav message, or
+ * as set by the setAccuracy() method. */
+ double getAccuracy() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the flag based on the SV accuracy
+ * flag as it appears in the nav message. */
+ short getAccFlag() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the SV health flag. */
+ short getHealth() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the L2 P-code data
+ * flag. */
+ short getL2Pdata() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the IODC for the given PRN. */
+ short getIODC() const throw(gpstk::InvalidRequest);
+
+ /** This function return the IODE for the ephemeris. */
+ short getIODE() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the clock epoch in GPS seconds of
+ * week. */
+ double getToc() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the SV clock error in seconds. */
+ double getAf0() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the SV clock drift in
+ * seconds/seconds. */
+ double getAf1() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the SV clock rate of change of the
+ * drift in seconds/(seconds*seconds). */
+ double getAf2() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the group delay
+ * differential in seconds. */
+ double getTgd() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the sine latitude
+ * harmonic perturbation in radians. */
+ double getCus() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the sine radius
+ * harmonic perturbation in meters. */
+ double getCrs() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the sine inclination
+ * harmonic perturbation in radians. */
+ double getCis() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the cosine radius
+ * harmonic perturbation in meters. */
+ double getCrc() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the cosine latitude
+ * harmonic perturbation in radians. */
+ double getCuc() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the cosine inclination
+ * harmonic perturbation in radians. */
+ double getCic() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the time of ephemeris
+ * in GPS seconds of week. */
+ double getToe() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the mean anomaly in
+ * radians. */
+ double getM0() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the correction to the
+ * mean motion in radians/second. */
+ double getDn() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the eccentricity. */
+ double getEcc() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the square root of the
+ * semi-major axis in square root of meters. */
+ double getAhalf() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the semi-major axis in
+ * meters. */
+ double getA() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the right ascension of
+ * the ascending node in radians. */
+ double getOmega0() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the inclination in
+ * radians. */
+ double getI0() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the argument of
+ * perigee in radians. */
+ double getW() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the rate of the right
+ * ascension of the ascending node in radians/second. */
+ double getOmegaDot() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the rate of the
+ * inclination in radians/second. */
+ double getIDot() const throw(gpstk::InvalidRequest);
+
+ /** Compute satellite velocity/position at the given time
+ * using this ephemeris.
+ * @throw InvalidRequest if a required subframe has not been stored.
+ */
+ Xvt svXvt(const DayTime& t) const throw(gpstk::InvalidRequest);
+
+ /** Compute satellite relativity correction (m) at the given time
+ * @throw InvalidRequest if a required subframe has not been stored.
+ */
+ double svRelativity(const DayTime& t) const throw(gpstk::InvalidRequest);
+
+ /** Compute the satellite clock bias (sec) at the given time
+ * @throw InvalidRequest if a required subframe has not been stored.
+ */
+ double svClockBias(const DayTime& t) const throw(gpstk::InvalidRequest);
+
+ /** Compute the satellite clock drift (sec/sec) at the given time
+ * @throw InvalidRequest if a required subframe has not been stored.
+ */
+ double svClockDrift(const DayTime& t) const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the fit interval
+ * flag. */
+ short getFitInt() const throw(gpstk::InvalidRequest);
+
+ /** This function returns the value of the ephemeris key that
+ * is used to sort the ephemerides when they are stored in
+ * the bcetable. */
+ double getEphkey() const throw(gpstk::InvalidRequest);
+
+ /** This function returnst the value of the Time of Transmit.
+ * Basically just the earliest of the HOWs. */
+ long getTot() const throw(gpstk::InvalidRequest);
+
+ /** Set the values contained in SubFrame 1.
+ * @param tlm the new value for the TLM word
+ * @param how the new value for the HOW
+ * @param asalert the new falue for the A-S alert flag
+ * @param fullweek the new value for the full GPS week
+ * @param cflags the nve values for the L2 code flags
+ * @param acc the new value for the SV accuracy flag
+ * @param svhealth the new value for the SV health
+ * @param iodc the new value for the IODC
+ * @param l2pdata the new value for the L2 P-code data flag
+ * @param tgd the new value for the Tgd
+ * @param toc the new value for the clock epoch
+ * @param Af2 the new value for Af2
+ * @param Af1 the new value for Af1
+ * @param Af0 the new value for Af0
+ * @param Tracker the new value of the tracker number
+ * @param prn the new value of the PRN ID
+ * @return a reference to the modified EngEphemeris object
+ */
+ EngEphemeris& setSF1( unsigned tlm, double how, short asalert, short fullweek,
+ short cflags, short acc, short svhealth, short iodc,
+ short l2pdata, double tgd, double toc, double Af2,
+ double Af1, double Af0, short Tracker, short prn )
+ throw();
+
+
+ /** Set the values contained in SubFrame 2.
+ * @param tlm the new value for the TLM word
+ * @param how the new value for the HOW
+ * @param asalert the new falue for the A-S alert flag
+ * @param iode the new value for the IODE
+ * @param crs the new value for the Crs
+ * @param m0 the new value for M0
+ * @param Dn the new value for Dn
+ * @param cuc the new value for the Cuc
+ * @param Ecc the new value for the Ecc
+ * @param cus the new value for the Cus
+ * @param ahalf the new value for Ahalf
+ * @param toe the new value for the Toe
+ * @param fitInt the new value for the fit interval flag
+ * @return a reference to the modified EngEphemeris object
+ */
+ EngEphemeris& setSF2( unsigned tlm, double how, short asalert, short iode,
+ double crs, double Dn, double m0, double cuc, double Ecc,
+ double cus, double ahalf, double toe, short fitInt )
+ throw();
+
+ /** Set the values contained in SubFrame 2.
+ * @param tlm the new value for the TLM word
+ * @param how the new value for the HOW
+ * @param asalert the new falue for the A-S alert flag
+ * @param cic the new value for the Cic
+ * @param Omega0 the enw value for Omega0
+ * @param cis the new value for the Cis
+ * @param I0 the new value for I0
+ * @param crc the new value for the Crc
+ * @param W the new value for W
+ * @param OmegaDot the new value for OmegaDot
+ * @param IDot the new value for IDot
+ * @return a reference to the modified EngEphemeris object
+ */
+ EngEphemeris& setSF3( unsigned tlm, double how, short asalert, double cic,
+ double Omega0, double cis, double I0, double crc,
+ double W, double OmegaDot, double IDot )
+ throw();
+
+ /// Output the contents of this ephemeris to the given stream.
+ void dump(std::ostream& s = std::cout) const;
+
+ protected:
+ bool haveSubframe[3];/**< flags indicating presence of a subframe */
+
+ /// Ephemeris overhead information
+ //@{
+ unsigned short tlm_message[3];
+ short PRNID; /**< SV PRN ID */
+ short tracker; /**< Tracker number */
+ long HOWtime[3]; /**< Time of subframe 1-3 (sec of week) */
+ short ASalert[3]; /**< A-S and "alert" flags for each subframe */
+ short weeknum; /**< GPS full week number that corresponds to the HOWtime of SF1 */
+ short codeflags; /**< L2 codes */
+ double accuracy; /**< SV accuracy (m)*/
+ short accFlag; /**< User Range Accuracy (URA) the accuracy flag */
+ short health; /**< SV health */
+ short L2Pdata; /**< L2 P data flag */
+ short IODC; /**< Index of data-clock */
+ short IODE; /**< Index of data-eph */
+ //@}
+
+ /// Clock information
+ //@{
+ double Toc; /**< Clock epoch (sec of week) */
+ double af0; /**< SV clock error (sec) */
+ double af1; /**< SV clock drift (sec/sec) */
+ double af2; /**< SV clock drift rate (sec/sec**2) */
+ double Tgd; /**< Group delay differential (sec) */
+ //@}
+
+ /// Harmonic perturbations
+ //@{
+ double Cuc; /**< Cosine latitude (rad) */
+ double Cus; /**< Sine latitude (rad) */
+ double Crc; /**< Cosine radius (m) */
+ double Crs; /**< Sine radius (m) */
+ double Cic; /**< Cosine inclination (rad) */
+ double Cis; /**< Sine inclination (rad) */
+ //@}
+
+ /// Major ephemeris parameters
+ //@{
+ double Toe; /**< Ephemeris epoch (sec of week) */
+ double M0; /**< Mean anomaly (rad) */
+ double dn; /**< Correction to mean motion (rad/sec) */
+ double ecc; /**< Eccentricity */
+ double Ahalf; /**< SQRT of semi-major axis (m**1/2) */
+ double OMEGA0; /**< Rt ascension of ascending node (rad) */
+ double i0; /**< Inclination (rad) */
+ double w; /**< Argument of perigee (rad) */
+ double OMEGAdot; /**< Rate of Rt ascension (rad/sec) */
+ double idot; /**< Rate of inclination angle (rad/sec) */
+ short fitint; /**< Fit interval flag */
+ //@}
+
+ friend std::ostream& operator<<(std::ostream& s,
+ const EngEphemeris& eph);
+
+ }; // class EngEphemeris
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/EngNav.cpp b/trunk/src/EngNav.cpp
new file mode 100644
index 0000000..9ed5435
--- /dev/null
+++ b/trunk/src/EngNav.cpp
@@ -0,0 +1,677 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EngNav.cpp#4 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file EngNav.cpp
+ * Engineering units navigation message abstraction.
+ */
+
+#include <cstdlib>
+#include <iostream>
+#include <cmath>
+#include "EngNav.hpp"
+#include "icd_200_constants.hpp"
+
+#ifdef _MSC_VER
+#define LDEXP(x,y) ldexp(x,y)
+#else
+#define LDEXP(x,y) std::ldexp(x,y)
+#endif
+
+namespace gpstk
+{
+ /// DecodeBits .
+ struct DecodeBits
+ {
+ short startBit;
+ short numBits;
+ };
+
+ /** DecodeQuant contains the information necessary to decode
+ * a given quantity for a particular navigation message
+ * subframe. */
+ struct DecodeQuant
+ {
+ short outIndex; ///< Output array index (0-19)
+ short pow2; ///< Power of 2 to scale factor
+ short powPI; ///< Power of PI scale factor
+ double scale; ///< Scalar scale factor
+ short signq; ///< 0 = unsigned, 1 = signed
+ DecodeBits fmt[2]; ///< start bit, #bits for up to 2 sections
+ DecodeQuant *nxtq; ///< Pointer to next structure in list
+ };
+
+ /** Pointers to list of subframe conversions. There are ten
+ * formats numbered 1-10. Index 0 is unused. */
+ static DecodeQuant *subframeList[11];
+
+ /// Table of powers of PI, initialized in EngNav().
+ static double PItab[7] = {0,0,0,0,0,0,0};
+
+ static DecodeQuant formats[] = {
+ { 0, 0, 0, 1.0L, 0,{ { 1, 8} , { 0, 0} }, 0 }, /* Preamble */
+ { 1, 0, 0, 1.0L, 0,{ { 9, 14}, { 0, 0} }, 0 }, /* Message */
+ { 2, 0, 0, 6.0L, 0,{ { 31,17}, { 0, 0} }, 0 }, /* HOW */
+ { 3, 0, 0, 1.0L, 0,{ { 48, 2}, { 0, 0} }, 0 }, /* "alert" */
+ { 4, 0, 0, 1.0L, 0,{ { 50, 3}, { 0, 0} }, 0 }, /* SF ID */
+ { 5, 0, 0, 1.0L, 0,{ { 61, 10},{ 0, 0} }, 0 }, /* week # */
+ { 6, 0, 0, 1.0L, 0,{ { 71, 2},{ 0, 0} }, 0}, /* L2 code */
+ { 7, 0, 0, 1.0L, 0,{ { 73, 4},{ 0, 0} }, 0}, /* accuracy */
+ { 8, 0, 0, 1.0L, 0,{ { 77, 6},{ 0, 0} }, 0}, /* health */
+ { 9, 11, 0, 1.0L, 0,{ { 83, 2},{ 211,8}}, 0}, /* AODC */
+ { 10, 0, 0, 1.0L, 0,{ { 91, 1},{ 0, 0}}, 0}, /* L2 P */
+ { 11, -31, 0, 1.0L, 1,{ {197, 8},{ 0, 0}}, 0}, /* Tgd */
+ { 12, 4, 0, 1.0L, 0,{ {219, 16},{ 0, 0}}, 0}, /* Toc */
+ { 13, -55, 0, 1.0L, 1,{ {241, 8},{ 0, 0}}, 0}, /* Af2 */
+ { 14, -43, 0, 1.0L, 1,{ {249, 16},{ 0, 0}}, 0}, /* Af1 */
+ { 15, -31, 0, 1.0L, 1,{ {271, 22}, {0, 0}}, 0}, /* Af0 */
+ /* Pattern 2 */
+ {0, 0, 0, 1.0L, 0,{ { 1 , 8}, {0, 0 }}, 0 }, /* Preamble */
+ {1, 0, 0, 1.0L, 0,{ { 9, 14}, { 0, 0 }}, 0 }, /* Message */
+ {2, 0, 0, 6.0L, 0,{ { 31,17}, { 0, 0 }}, 0 }, /* HOW */
+ {3, 0, 0, 1.0L, 0,{ { 48, 2}, { 0, 0 }}, 0 }, /* "alert" */
+ {4, 0, 0, 1.0L, 0,{ { 50, 3}, { 0, 0 }}, 0 }, /* SF ID */
+ {5, 11, 0, 1.0L, 0,{ { 61, 8 }, { 0, 0 }}, 0 }, /* AODE */
+ {6, -5, 0, 1.0L, 1,{ { 69, 16 }, { 0, 0 }}, 0 }, /* Crs */
+ {7, -43, 1, 1.0L, 1,{ { 91,16 }, { 0, 0 }}, 0 }, /* delta n */
+ {8, -31, 1, 1.0L, 1,{ { 107, 8 }, {121,24 }}, 0 }, /* M0 */
+ {9, -29, 0, 1.0L, 1,{ { 151, 16}, { 0, 0 }}, 0}, /* Cuc */
+ {10, -33, 0, 1.0L, 0,{ { 167, 8}, {181,24 }}, 0}, /* ecc */
+ {11, -29, 0, 1.0L, 1,{ { 211,16}, { 0, 0 }}, 0}, /* Cus */
+ {12, -19, 0, 1.0L, 0,{ { 227, 8}, {241, 24 }}, 0}, /* sqrt(A) */
+ {13, 4, 0, 1.0L, 0,{ { 271,16}, { 0, 0 }}, 0}, /* Toe */
+ {14, 0, 0, 1.0L, 0,{ { 287, 1}, { 0, 0 }}, 0}, /* fit init */
+ /* Pattern 3 */
+ {0, 0, 0, 1.0L, 0,{ { 1, 8}, { 0, 0 }}, 0}, /* Preamble */
+ {1, 0, 0, 1.0L, 0,{ { 9, 14}, { 0, 0 }}, 0}, /* Message */
+ {2, 0, 0, 6.0L, 0,{ { 31,17}, { 0, 0 }}, 0}, /* HOW */
+ {3, 0, 0, 1.0L, 0,{ { 48, 2}, { 0, 0 }}, 0}, /* "alert" */
+ {4, 0, 0, 1.0L, 0,{ { 50, 3}, { 0, 0 }}, 0}, /* SF ID */
+ {5, -29, 0, 1.0L, 1,{ { 61,16}, { 0, 0 }}, 0}, /* Cic */
+ {6, -31, 1, 1.0L, 1,{ { 77,8}, { 91, 24}}, 0}, /* OMEGA0 */
+ {7, -29, 0, 1.0L, 1,{ { 121,16}, { 0, 0 }}, 0}, /* Cis */
+ {8, -31, 1, 1.0L, 1,{ { 137, 8}, {151, 24}}, 0}, /* i0 */
+ {9, -5, 0, 1.0L, 1,{ { 181,16}, { 0, 0 }}, 0}, /* Crc */
+ {10, -31, 1, 1.0L, 1,{ { 197, 8}, {211, 24}}, 0}, /* w */
+ {11, -43, 1, 1.0L, 1,{ { 241,24}, { 0, 0 }}, 0}, /* OMEGAdot */
+ {12, 11, 0, 1.0L, 0,{ { 271, 8}, { 0, 0 }}, 0}, /* AODE */
+ {13, -43, 1, 1.0L, 1,{ { 279,14}, { 0, 0 }}, 0}, /* idot */
+ /* Pattern 4 */
+ {0, 0, 0, 1.0L, 0,{ { 1, 8}, { 0, 0}}, 0 }, /* Preamble */
+ {1, 0, 0, 1.0L, 0,{ { 9, 14}, { 0, 0}}, 0}, /* Message */
+ {2, 0, 0, 6.0L, 0,{ { 31,17}, { 0, 0}}, 0}, /* HOW */
+ {3, 0, 0, 1.0L, 0,{ { 48, 2}, { 0, 0}}, 0}, /* "alert" */
+ {4, 0, 0, 1.0L, 0,{ { 50, 3}, { 0, 0}}, 0}, /* SF ID */
+ {5, 0, 0, 1.0L, 0,{ { 61, 2}, { 0, 0}}, 0}, /* Dataflag */
+ {6, 0, 0, 1.0L, 0,{ { 63, 6}, { 0, 0}}, 0}, /* Page ID */
+ {7, -21, 0, 1.0L, 0,{ { 69,16}, { 0, 0}}, 0}, /* e */
+ {8, 12, 0, 1.0L, 0,{ { 91, 8}, { 0, 0}}, 0}, /* time ep */
+ {9, -19, 1, 1.0L, 1,{ { 99,16}, { 0, 0}}, 0}, /* i offset */
+ {10, -38, 1, 1.0L, 1,{ {121,16}, { 0, 0}}, 0}, /* OMEGADOT */
+ {11, 0, 0, 1.0L, 0,{ {137, 8}, { 0, 0}}, 0}, /* Health */
+ {12, -11, 0, 1.0L, 0,{ {151,24}, { 0, 0}}, 0}, /* SQRT(a) */
+ {13, -23, 1, 1.0L, 1,{ {181,24}, { 0, 0}}, 0}, /* OMEGA */
+ {14, -23, 1, 1.0L, 1,{ {211,24}, { 0, 0}}, 0}, /* w */
+ {15, -23, 1, 1.0L, 1,{ {241,24}, { 0, 0}}, 0}, /* Mean Ano */
+ {16, -20, 0, 1.0L, 1,{ {271, 8}, {290, 3}}, 0}, /* AF0 */
+ {17, -38, 0, 1.0L, 1,{ {279,11}, { 0, 0}}, 0}, /* AF1 */
+ {18, 0, 0, 1.0L, 0,{ { 0, 0}, { 0, 0}}, 0}, /* REF WEEK */
+ {19, 0, 0, 1.0L, 0,{ { 63, 6}, { 0, 0}}, 0}, /* PRN # */
+
+ /* Pattern 5 */
+ {0, 0, 0, 1.0L, 0,{ { 1, 8}, { 0, 0}}, 0}, /* Preamble */
+ {1, 0, 0, 1.0L, 0,{ { 9, 14}, { 0, 0}}, 0}, /* Message */
+ {2, 0, 0, 6.0L, 0,{ {31, 17}, { 0, 0}}, 0}, /* HOW */
+ {3, 0, 0, 1.0L, 0,{ {48, 2}, { 0, 0}}, 0}, /* "alert" */
+ {4, 0, 0, 1.0L, 0,{ {50, 3}, { 0, 0}}, 0}, /* SF ID */
+ {5, 0, 0, 1.0L, 0,{ { 61, 2}, { 0, 0}}, 0}, /* Dataflag */
+ {6, 0, 0, 1.0L, 0,{ { 63, 6}, { 0, 0}}, 0}, /* Page ID */
+ {7, 0, 0, 1.0L, 0,{ { 77, 8}, { 0, 0}}, 0}, /* Refweek */
+ {8, 0, 0, 1.0L, 0,{ { 91, 6}, { 0, 0}}, 0}, /* SV1 Hlth */
+ {9, 0, 0, 1.0L, 0,{ { 97, 6}, { 0, 0}}, 0}, /* SV2 Hlth */
+ {10, 0, 0, 1.0L, 0,{ { 103,6}, { 0, 0}}, 0}, /* SV3 Hlth */
+ {11, 0, 0, 1.0L, 0,{ { 109,6}, { 0, 0}}, 0}, /* SV4 Hlth */
+ {12, 0, 0, 1.0L, 0,{ { 121,6}, { 0, 0}}, 0}, /* SV5 Hlth */
+ {13, 0, 0, 1.0L, 0,{ { 127,6}, { 0, 0}}, 0}, /* SV6 Hlth */
+ {14, 0, 0, 1.0L, 0,{ { 133,6}, { 0, 0}}, 0}, /* SV7 Hlth */
+ {15, 0, 0, 1.0L, 0,{ { 139,6}, { 0, 0}}, 0}, /* SV8 Hlth */
+ {16, 0, 0, 1.0L, 0,{ { 151,6}, { 0, 0}}, 0}, /* SV9 Hlth */
+ {17, 0, 0, 1.0L, 0,{ { 157,6}, { 0, 0}}, 0}, /* SV10 Hlth*/
+ {18, 0, 0, 1.0L, 0,{ { 163,6}, { 0, 0}}, 0}, /* SV11 Hlth*/
+ {19, 0, 0, 1.0L, 0,{ { 169,6}, { 0, 0}}, 0}, /* SV12 Hlth*/
+ {20, 0, 0, 1.0L, 0,{ { 181,6}, { 0, 0}}, 0}, /* SV13 Hlth*/
+ {21, 0, 0, 1.0L, 0,{ { 187,6}, { 0, 0}}, 0}, /* SV14 Hlth*/
+ {22, 0, 0, 1.0L, 0,{ { 193,6}, { 0, 0}}, 0}, /* SV15 Hlth*/
+ {23, 0, 0, 1.0L, 0,{ { 199,6}, { 0, 0}}, 0}, /* SV16 Hlth*/
+ {24, 0, 0, 1.0L, 0,{ { 211,6}, { 0, 0}}, 0}, /* SV17 Hlth*/
+ {25, 0, 0, 1.0L, 0,{ { 217,6}, { 0, 0}}, 0}, /* SV18 Hlth*/
+ {26, 0, 0, 1.0L, 0,{ { 223,6}, { 0, 0}}, 0}, /* SV19 Hlth*/
+ {27, 0, 0, 1.0L, 0,{ { 229,6}, { 0, 0}}, 0}, /* SV20 Hlth*/
+ {28, 0, 0, 1.0L, 0,{ { 241,6}, { 0, 0}}, 0}, /* SV21 Hlth*/
+ {29, 0, 0, 1.0L, 0,{ { 247,6}, { 0, 0}}, 0}, /* SV22 Hlth*/
+ {30, 0, 0, 1.0L, 0,{ { 253,6}, { 0, 0}}, 0}, /* SV23 Hlth*/
+ {31, 0, 0, 1.0L, 0,{ { 259,6}, { 0, 0}}, 0}, /* SV24 Hlth*/
+ /* Pattern 6 */
+ {0, 0, 0, 1.0L, 0, { { 1, 8},{ 0, 0}}, 0}, /* Preamble */
+ {1, 0, 0, 1.0L, 0, { { 9, 14},{ 0, 0}}, 0}, /* Message */
+ {2, 0, 0, 6.0L, 0, { { 31, 17},{ 0, 0}}, 0}, /* HOW */
+ {3, 0, 0, 1.0L, 0, { { 48, 2},{ 0, 0}}, 0}, /* "alert" */
+ {4, 0, 0, 1.0L, 0, { { 50, 3},{ 0, 0}}, 0}, /* SF ID */
+ {5, 0, 0, 1.0L, 0, { { 61, 2},{ 0, 0}}, 0}, /* Dataflag */
+ {6, 0, 0, 1.0L, 0, { { 63, 6},{ 0, 0}}, 0}, /* Page ID */
+ {7, 0, 0, 1.0L, 0, { { 69, 16},{ 0, 0}}, 0}, /* Reserved */
+ {8, 0, 0, 1.0L, 0, { { 91, 24},{ 0, 0}}, 0}, /* Reserved */
+ {9, 0, 0, 1.0L, 0, { { 121, 24},{ 0, 0}}, 0}, /* Reserved */
+ {10, 0, 0, 1.0L, 0, { { 151, 24},{ 0, 0}}, 0}, /* Reserved */
+ {11, 0, 0, 1.0L, 0, { { 181, 24},{ 0, 0}}, 0}, /* Reserved */
+ {12, 0, 0, 1.0L, 0, { { 211, 24},{ 0, 0}}, 0}, /* Reserved */
+ {13, 0, 0, 1.0L, 0, { { 241, 8},{ 0, 0}}, 0}, /* Reserved */
+ {14, 0, 0, 1.0L, 0, { { 249,16},{ 0, 0}}, 0}, /* Reserved */
+ /* Pattern 7 */
+ {0, 0, 0, 1.0L, 0, { { 1, 8}, { 0, 0} }, 0}, /* Preamble */
+ {1, 0, 0, 1.0L, 0, { { 9, 14}, { 0, 0} }, 0}, /* Message */
+ {2, 0, 0, 6.0L, 0, { { 31, 17}, { 0, 0} }, 0}, /* HOW */
+ {3, 0, 0, 1.0L, 0, { { 48, 2}, { 0, 0} }, 0}, /* "alert" */
+ {4, 0, 0, 1.0L, 0, { { 50, 3}, { 0, 0} }, 0}, /* SF ID */
+ {5, 0, 0, 1.0L, 0, { { 61, 2}, { 0, 0} }, 0}, /* Dataflag */
+ {6, 0, 0, 1.0L, 0, { { 63, 6}, { 0, 0} }, 0}, /* Page ID */
+ {7, 0, 0, 1.0L, 0, { { 69, 16}, { 0, 0} }, 0}, /* Reserved */
+ {8, 0, 0, 1.0L, 0, { { 91, 24}, { 0, 0} }, 0}, /* Reserved */
+ {9, 0, 0, 1.0L, 0, { {121, 24}, { 0, 0} }, 0}, /* Reserved */
+ {10, 0, 0, 1.0L, 0, { {151, 24}, { 0, 0} }, 0}, /* Reserved */
+ {11, 0, 0, 1.0L, 0, { {181, 24}, { 0, 0} }, 0}, /* Reserved */
+ {12, 0, 0, 1.0L, 0, { {211, 24}, { 0, 0} }, 0}, /* Reserved */
+ {13, 0, 0, 1.0L, 0, { {241, 8}, { 0, 0} }, 0}, /* Reserved */
+ {14, 0, 0, 1.0L, 0, { {249, 16}, { 0, 0} }, 0}, /* Reserved */
+ /* Pattern 8 */
+ {0, 0, 0, 1.0L, 0,{ { 1, 8},{ 0, 0}}, 0}, /* Preamble */
+ {1, 0, 0, 1.0L, 0,{ { 9, 14},{ 0, 0}}, 0}, /* Message */
+ {2, 0, 0, 6.0L, 0,{ { 31, 17},{ 0, 0}}, 0}, /* HOW */
+ {3, 0, 0, 1.0L, 0,{ { 48, 2},{ 0, 0}}, 0}, /* "alert" */
+ {4, 0, 0, 1.0L, 0,{ { 50, 3},{ 0, 0}}, 0}, /* SF ID */
+ {5, 0, 0, 1.0L, 0,{ { 61, 2},{ 0, 0}}, 0}, /* Dataflag */
+ {6, 0, 0, 1.0L, 0,{ { 63, 6},{ 0, 0}}, 0}, /* Page ID */
+ {7, -30, 0, 1.0L, 1,{ { 69, 8},{ 0, 0}}, 0}, /* ALPHA0 */
+ {8, -27, -1, 1.0L, 1,{ { 77, 8},{ 0, 0}}, 0}, /* ALPHA1 */
+ {9, -24, -2, 1.0L, 1,{ { 91, 8},{ 0, 0}}, 0}, /* ALPHA2 */
+ {10, -24, -3, 1.0L, 1,{ { 99, 8},{ 0, 0}}, 0}, /* ALPHA3 */
+ {11, 11, 0, 1.0L, 1,{ { 107, 8},{ 0, 0}}, 0}, /* BETA0 */
+ {12, 14, -1, 1.0L, 1,{ { 121, 8},{ 0, 0}}, 0}, /* BETA1 */
+ {13, 16, -2, 1.0L, 1,{ { 129, 8},{ 0, 0}}, 0}, /* BETA2 */
+ {14, 16, -3, 1.0L, 1,{ { 137, 8},{ 0, 0}}, 0}, /* BETA3 */
+ {15, -30, 0, 1.0L, 1,{ { 181,24},{211, 8}}, 0}, /* A0 */
+ {16, -50, 0, 1.0L, 1,{ { 151,24},{ 0, 0}}, 0}, /* A1 */
+ {17, 12, 0, 1.0L, 0,{ { 219, 8},{ 0, 0}}, 0}, /* Tot */
+ {18, 0, 0, 1.0L, 0,{ { 227, 8},{ 0, 0}}, 0}, /* wnt */
+ {19, 0, 0, 1.0L, 1,{ { 241, 8},{ 0, 0}}, 0}, /* DELTATLS */
+ {20, 0, 0, 1.0L, 0,{ { 249, 8},{ 0, 0}}, 0}, /* WN LSF */
+ {21, 0, 0, 1.0L, 0,{ { 257, 8},{ 0, 0}}, 0}, /* DN */
+ {22, 0, 0, 1.0L, 1,{ { 271, 8},{ 0, 0}}, 0}, /* DELTALSF */
+ /* Pattern 9 */
+ {0, 0, 0, 1.0L, 0, { { 1, 8}, { 0, 0}}, 0}, /* Preamble */
+ {1, 0, 0, 1.0L, 0, { { 9, 14}, { 0, 0}}, 0}, /* Message */
+ {2, 0, 0, 6.0L, 0, { { 31, 17}, { 0, 0}}, 0}, /* HOW */
+ {3, 0, 0, 1.0L, 0, { { 48, 2}, { 0, 0}}, 0}, /* "alert" */
+ {4, 0, 0, 1.0L, 0, { { 50, 3}, { 0, 0}}, 0}, /* SF ID */
+ {5, 0, 0, 1.0L, 0, { { 61, 2}, { 0, 0}}, 0}, /* Dataflag */
+ {6, 0, 0, 1.0L, 0, { { 63, 6}, { 0, 0}}, 0}, /* Page ID */
+ {7, 0, 0, 1.0L, 0, { { 69, 4}, { 0, 0}}, 0}, /* SV1 cnfig*/
+ {8, 0, 0, 1.0L, 0, { { 73, 4}, { 0, 0}}, 0}, /* SV2 cnfig*/
+ {9, 0, 0, 1.0L, 0, { { 77, 4}, { 0, 0}}, 0}, /* SV3 cnfig*/
+ {10, 0, 0, 1.0L, 0, { { 81, 4}, { 0, 0}}, 0}, /* SV4 cnfig*/
+ {11, 0, 0, 1.0L, 0, { { 91, 4}, { 0, 0}}, 0}, /* SV5 cnfig*/
+ {12, 0, 0, 1.0L, 0, { { 95, 4}, { 0, 0}}, 0}, /* SV6 cnfig*/
+ {13, 0, 0, 1.0L, 0, { { 99, 4}, { 0, 0}}, 0}, /* SV7 cnfig*/
+ {14, 0, 0, 1.0L, 0, { { 103, 4}, { 0, 0}}, 0}, /* SV8 cnfig*/
+ {15, 0, 0, 1.0L, 0, { { 107, 4}, { 0, 0}}, 0}, /* SV9 cnfig*/
+ {16, 0, 0, 1.0L, 0, { { 111, 4}, { 0, 0}}, 0}, /* SV10 cnfig*/
+ {17, 0, 0, 1.0L, 0, { { 121, 4}, { 0, 0}}, 0}, /* SV11 cnfig*/
+ {18, 0, 0, 1.0L, 0, { { 125, 4}, { 0, 0}}, 0}, /* SV12 cnfig*/
+ {19, 0, 0, 1.0L, 0, { { 129, 4}, { 0, 0}}, 0}, /* SV13 cnfig*/
+ {20, 0, 0, 1.0L, 0, { { 133, 4}, { 0, 0}}, 0}, /* SV14 cnfig*/
+ {21, 0, 0, 1.0L, 0, { { 137, 4}, { 0, 0}}, 0}, /* SV15 cnfig*/
+ {22, 0, 0, 1.0L, 0, { { 141, 4}, { 0, 0}}, 0}, /* SV16 cnfig*/
+ {23, 0, 0, 1.0L, 0, { { 151, 4}, { 0, 0}}, 0}, /* SV17 cnfig*/
+ {24, 0, 0, 1.0L, 0, { { 155, 4}, { 0, 0}}, 0}, /* SV18 cnfig*/
+ {25, 0, 0, 1.0L, 0, { { 159, 4}, { 0, 0}}, 0}, /* SV19 cnfig*/
+ {26, 0, 0, 1.0L, 0, { { 163, 4}, { 0, 0}}, 0}, /* SV20 cnfig*/
+ {27, 0, 0, 1.0L, 0, { { 167, 4}, { 0, 0}}, 0}, /* SV21 cnfig*/
+ {28, 0, 0, 1.0L, 0, { { 171, 4}, { 0, 0}}, 0}, /* SV22 cnfig*/
+ {29, 0, 0, 1.0L, 0, { { 181, 4}, { 0, 0}}, 0}, /* SV23 cnfig*/
+ {30, 0, 0, 1.0L, 0, { { 185, 4}, { 0, 0}}, 0}, /* SV24 cnfig*/
+ {31, 0, 0, 1.0L, 0, { { 189, 4}, { 0, 0}}, 0}, /* SV25 cnfig*/
+ {32, 0, 0, 1.0L, 0, { { 193, 4}, { 0, 0}}, 0}, /* SV26 cnfig*/
+ {33, 0, 0, 1.0L, 0, { { 197, 4}, { 0, 0}}, 0}, /* SV27 cnfig*/
+ {34, 0, 0, 1.0L, 0, { { 201, 4}, { 0, 0}}, 0}, /* SV28 cnfig*/
+ {35, 0, 0, 1.0L, 0, { { 211, 4}, { 0, 0}}, 0}, /* SV29 cnfig*/
+ {36, 0, 0, 1.0L, 0, { { 215, 4}, { 0, 0}}, 0}, /* SV30 cnfig*/
+ {37, 0, 0, 1.0L, 0, { { 219, 4}, { 0, 0}}, 0}, /* SV31 cnfig*/
+ {38, 0, 0, 1.0L, 0, { { 223, 4}, { 0, 0}}, 0}, /* SV32 cnfig*/
+ {39, 0, 0, 1.0L, 0, { { 229, 6}, { 0, 0}}, 0}, /* SV25 Hlth */
+ {40, 0, 0, 1.0L, 0, { { 241, 6}, { 0, 0}}, 0}, /* SV26 Hlth */
+ {41, 0, 0, 1.0L, 0, { { 247, 6}, { 0, 0}}, 0}, /* SV27 Hlth */
+ {42, 0, 0, 1.0L, 0, { { 253, 6}, { 0, 0}}, 0}, /* SV28 Hlth */
+ {43, 0, 0, 1.0L, 0, { { 259, 6}, { 0, 0}}, 0}, /* SV29 Hlth */
+ {44, 0, 0, 1.0L, 0, { { 271, 6}, { 0, 0}}, 0}, /* SV30 Hlth */
+ {45, 0, 0, 1.0L, 0, { { 277, 6}, { 0, 0}}, 0}, /* SV31 Hlth */
+ {46, 0, 0, 1.0L, 0, { { 283, 6}, { 0, 0}}, 0}, /* SV32 Hlth */
+ /* Pattern 10 */
+ {0, 0, 0, 1.0L, 0,{ { 1, 8}, { 0, 0}}, 0}, /* Preamble */
+ {1, 0, 0, 1.0L, 0,{ { 9, 14}, { 0, 0}}, 0}, /* Message */
+ {2, 0, 0, 6.0L, 0,{ { 31, 17}, { 0, 0}}, 0}, /* HOW */
+ {3, 0, 0, 1.0L, 0,{ { 48, 2}, { 0, 0}}, 0}, /* "alert" */
+ {4, 0, 0, 1.0L, 0,{ { 50, 3}, { 0, 0}}, 0}, /* SF ID */
+ {5, 0, 0, 1.0L, 0,{ { 61, 2}, { 0, 0}}, 0}, /* Dataflag */
+ {6, 0, 0, 1.0L, 0,{ { 63, 6}, { 0, 0}}, 0}, /* Page ID */
+ {7, 0, 0, 1.0L, 0,{ { 69, 8}, { 0, 0}}, 0}, /* ASCII */
+ {8, 0, 0, 1.0L, 0,{ { 77, 8}, { 0, 0}}, 0}, /* ASCII */
+ {9, 0, 0, 1.0L, 0,{ { 91, 8}, { 0, 0}}, 0}, /* ASCII */
+ {10, 0, 0, 1.0L, 0,{ { 99, 8}, { 0, 0}}, 0}, /* ASCII */
+ {11, 0, 0, 1.0L, 0,{ { 107, 8}, { 0, 0}}, 0}, /* ASCII */
+ {12, 0, 0, 1.0L, 0,{ { 121, 8}, { 0, 0}}, 0}, /* ASCII */
+ {13, 0, 0, 1.0L, 0,{ { 129, 8}, { 0, 0}}, 0}, /* ASCII */
+ {14, 0, 0, 1.0L, 0,{ { 137, 8}, { 0, 0}}, 0}, /* ASCII */
+ {15, 0, 0, 1.0L, 0,{ { 151, 8}, { 0, 0}}, 0}, /* ASCII */
+ {16, 0, 0, 1.0L, 0,{ { 159, 8}, { 0, 0}}, 0}, /* ASCII */
+ {17, 0, 0, 1.0L, 0,{ { 167, 8}, { 0, 0}}, 0}, /* ASCII */
+ {18, 0, 0, 1.0L, 0,{ { 181, 8}, { 0, 0}}, 0}, /* ASCII */
+ {19, 0, 0, 1.0L, 0,{ { 189, 8}, { 0, 0}}, 0}, /* ASCII */
+ {20, 0, 0, 1.0L, 0,{ { 197, 8}, { 0, 0}}, 0}, /* ASCII */
+ {21, 0, 0, 1.0L, 0,{ { 211, 8}, { 0, 0}}, 0}, /* ASCII */
+ {22, 0, 0, 1.0L, 0,{ { 219, 8}, { 0, 0}}, 0}, /* ASCII */
+ {23, 0, 0, 1.0L, 0,{ { 227, 8}, { 0, 0}}, 0}, /* ASCII */
+ {24, 0, 0, 1.0L, 0,{ { 241, 8}, { 0, 0}}, 0}, /* ASCII */
+ {25, 0, 0, 1.0L, 0,{ { 249, 8}, { 0, 0}}, 0}, /* ASCII */
+ {26, 0, 0, 1.0L, 0,{ { 257, 8}, { 0, 0}}, 0}, /* ASCII */
+ {27, 0, 0, 1.0L, 0,{ { 271, 8}, { 0, 0}}, 0}, /* ASCII */
+ {28, 0, 0, 1.0L, 0,{ { 279, 8}, { 0, 0}}, 0}, /* ASCII */
+ /* Dummy pattern for constructor */
+ {0, 0, 0, 1.0L, 0,{{ 0, 0}, { 0, 0}}, 0}
+ };
+
+
+
+
+ EngNav::EngNav()
+ throw()
+ {
+ short i=0, n=0;
+ static short initialized = 0;
+
+ if (initialized)
+ return;
+
+ // Set up pointers within subframe format structure.
+ for (i=1; i<=10; i++)
+ {
+ subframeList[i] = &formats[n];
+ while (formats[n+1].outIndex != 0)
+ {
+ formats[n].nxtq = &formats[n+1];
+ n++;
+ }
+ formats[n].nxtq = NULL;
+ n++;
+ }
+
+ // Calculate powers of PI table.
+ PItab[3] = 1.0L;
+ for (i=0;i<=2;i++)
+ {
+ PItab[4+i] = PItab[3+i] * PI;
+ PItab[2-i] = PItab[3-i] / PI;
+ }
+
+ initialized = 1;
+ }
+
+ bool EngNav :: subframeConvert(const long input[10],
+ const int gpsWeek,
+ double output[60])
+ throw()
+ {
+ short patId = -2, i = 2;
+ struct DecodeQuant *p=NULL;
+
+ for (i=0; i< 20; i++)
+ output[i] = 0.0L;
+
+ // Get subframe and page id and derive pattern number.
+ if ((patId = getSubframePattern(input)) == 0)
+ return false;
+
+ // convert each quantity in the list
+ p = subframeList[patId];
+ while (p != NULL)
+ {
+ convertQuant(input, output, p);
+ if(p->nxtq)
+ p = p->nxtq;
+ else
+ p = NULL;
+ }
+
+ // Almanac does not contain a reference week
+ // However we need to put one in the FIC version of the Almanac
+ if (patId==4)
+ {
+ output[18]= static_cast<double>( gpsWeek );
+ }
+
+ // Modify the 8-bit week numbers to be the full week numbers
+ if (patId == 8)
+ {
+ if (!convert8bit(gpsWeek, &output[18]))
+ return false;
+
+ if (!convert8bit(gpsWeek, &output[20]))
+ return false;
+ }
+
+ // Change the 10 bit week number in subframe 1 to full weeks
+ if (patId == 1)
+ {
+ if (!convert10bit(gpsWeek, &output[5]))
+ return false;
+ }
+
+ return true;
+ }
+
+ bool EngNav :: convert8bit(const int gpsWeek, double *output)
+ throw()
+ {
+ long high8bits, low8bits;
+ long target, diff;
+
+ high8bits = gpsWeek & 0xFFFFFF00L;
+ low8bits = gpsWeek & 0x000000FFL;
+
+ target = static_cast<long>( *output ) | high8bits;
+
+ diff = static_cast<long>( *output ) - low8bits;
+ if (diff > 127)
+ target -= 256;
+ else if (diff < -127)
+ target += 256;
+
+ *output = static_cast<double>( target );
+
+ if ((target - gpsWeek > 127) || (target - gpsWeek < -127))
+ return false;
+
+ return true;
+ }
+
+ bool EngNav :: convert10bit(const int gpsWeek, double *output)
+ throw()
+ {
+ long high10bits, low10bits;
+ long target, diff;
+
+ high10bits = gpsWeek & 0xFFFFFC00L;
+ low10bits = gpsWeek & 0x000003FFL;
+
+ target = static_cast<long>( *output ) | high10bits;
+
+ diff = static_cast<long>( *output ) - low10bits;
+ if (diff > 511)
+ target -= 1024;
+ else if (diff < -511)
+ target += 1024;
+
+ *output = static_cast<double>( target );
+
+ if ((target - gpsWeek > 511) || (target - gpsWeek < -511))
+ return false;
+
+ return true;
+ }
+
+ short EngNav :: getSubframePattern(const long input[10])
+ throw()
+ {
+ short iret, svid;
+ long itemp;
+
+ short patId[]
+ = { 5, 6, 6, 6, 10, 8, 6, 7, 7, 7, 7, 7, 9 };
+ /*SVid 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 */
+
+ // Get subframe id. If 1-3 return as patId.
+
+ itemp = input[1]; /* move HOW to temp storage */
+ itemp >>= 8; /* shift so subframe id is in 3 lsb */
+ itemp &= 0x00000007L; /* and mask off msbs */
+ iret = static_cast<short>( itemp );
+ /* Not a valid sf id */
+ if ( iret < 1 || iret > 5 )
+ return(0);
+ if ( iret < 4 )
+ return(iret);
+
+
+ /* If subframe 1-5, get page id and look up patId */
+ itemp = input[2]; /* move word 3 into temp storage */
+ itemp >>= 22; /* shift so SV ID is in 6 lsbs */
+ itemp &= 0x0000003FL; /* and mask off msbs */
+ svid = static_cast<short>( itemp );
+ if ( svid <= 32 )
+ iret = 4; /* PRN orbit data */
+ else
+ iret = patId[svid-51]; /* look up pat id for almanac overhead
+ information */
+ return iret;
+ }
+
+ static short countSubframeOnes(long bits)
+ {
+ short i;
+ short count = 0;
+ long mask = 0x00000001;
+
+ for (i=0;i < 30;i++)
+ {
+ if (bits&mask) count++;
+ mask <<= 1;
+ }
+ return count;
+ }
+
+ bool EngNav :: subframeParity(const long input[10])
+ {
+ /*
+ This function is largely table-driven. The first table is bmask.
+ There is one element in bmask for each of the six parity bits.
+ Each element is a bit mask with bits set corresponding to the bits
+ which are to be exclusive-OR'd together to form the parity check
+ bit. The following bit maps define the bmask array. They were
+ drawn from table 20-XIV of ICD-GPS-200C (10 OCT 1993).
+
+ Bit in navigation message
+ bit1 bit 30
+ bit 12 3456 789. 1234 5678 9.12 3456 789.
+ --- -------------------------------------
+ D25 11 1011 0001 1111 0011 0100 1000 0000
+ D26 01 1101 1000 1111 1001 1010 0100 0000
+ D27 10 1110 1100 0111 1100 1101 0000 0000
+ D28 01 0111 0110 0011 1110 0110 1000 0000
+ D29 10 1011 1011 0001 1111 0011 0100 0000
+ D30 00 1011 0111 1010 1000 1001 1100 0000
+ */
+ long bmask[6] = { 0x3B1F3480L, 0x1D8F9A40L, 0x2EC7CD00L,
+ 0x1763E680L, 0x2BB1F340L, 0x0B7A89C0L };
+ /*
+ the pmask array defines whether bit 29 or bit 30 of the
+ previous word is used in determining a given parity bit.
+ As with bmask, pmask is ordered from D25 to D30 and drawn
+ from Table 20-XIV of ICD-GPS-200C (10 OCT 1993).
+ */
+ long pmask[6] = {0x00000002, 0x00000001, 0x00000002,
+ 0x00000001, 0x00000001, 0x00000002 };
+
+ long parity_bits;
+ long test_bits,temp;
+ short i,j,k,count;
+
+ /*
+ Test word 1 for proper preamble
+ */
+ if ( (input[0] & 0x22C00000L) !=0x22C00000L )
+ return false;
+
+ /*
+ For each nav message word from 2-10.
+ */
+ for (i=1;i < 10;i++)
+ {
+ test_bits = 0x0L; /* Clear the test parity word */
+ /* For each parity bit... */
+ for (j=25;j<=30;j++)
+ {
+ k = j-25;
+ /* Build a single word which contains all
+ bits which are to be XOR's together to
+ determine this parity bit */
+ temp = input[i] & bmask[k];
+
+ /* Then add in the state of *D29 or *D30
+ as appropriate. (Note that this info
+ may be stored in bits 29/30 of temp
+ since the parity bits (25-30) are never
+ used in the parity calculation */
+ temp |=input[i-1] & pmask[k];
+
+ /* Count the number of bits set in temp */
+ count = countSubframeOnes(temp);
+ /* Shift the test word left 1 bit and add
+ in the status of the new bit.
+ If count is odd, new bit is one. If
+ count is even, new bit is zero. */
+ test_bits <<= 1;
+ if (count%2) test_bits |= 0x00000001;
+ }
+ /* At this point, the six lsbs of test_bits are equal
+ to D25-D30 as determined by the parity algorithm.
+ Move D25-D30 as received into parity_bits. Compare
+ the determined to the received. If they do not match,
+ a parity failure has occurred. */
+ parity_bits = input[i] & 0x0000003F;
+
+ if (parity_bits != test_bits)
+ return false;
+ }
+ /*
+ If words 2-10 have all passed parity check, return indicating
+ success.
+ */
+ return true;
+ }
+
+ void EngNav :: convertQuant(const long input[10], double output[60],
+ DecodeQuant *p)
+ throw()
+ {
+ double dval;
+ short i, n, bit1, nword, nbit, lsb;
+ union equ
+ {
+ unsigned long u;
+ long s;
+ } temp;
+ long *b;
+ long mask;
+
+ // Convert starting bit number to word/bit pair
+ temp.u = 0x0L;
+ for (n=0; n<=1; n++)
+ {
+ if (p->fmt[n].startBit == 0)
+ break;
+ bit1 = p->fmt[n].startBit;
+ nword = (bit1-1) / 30;
+ nbit = (bit1 % 30) + 1;
+
+ b = const_cast<long *>( input ) + nword;
+ for (i=0;i<p->fmt[n].numBits;i++)
+ {
+ temp.u <<= 1;
+ mask = 0x80000000L >> nbit++;
+ if (*b & mask)
+ temp.u++;
+ if (nbit>=32)
+ {
+ b++;
+ nbit = 0;
+ }
+ }
+ }
+
+ // Convert to double and scale
+ if (p->signq)
+ {
+ nbit = 32 - (p->fmt[0].numBits + p->fmt[1].numBits);
+ temp.u <<= nbit; // Move sign bit to msb
+ temp.s >>= nbit; // Move lsb back to right spot with sign extend
+ dval = temp.s;
+ }
+ else
+ {
+ if (temp.s >= 0)
+ dval = temp.u; // msb = 0
+ else // msb = 1
+ { // This is a special case due to an Alliant bug
+ lsb = temp.u & 0x00000001L; // Store lsb value
+ temp.u >>= 1; // Right shift 1 bit to clear msb
+ dval = temp.u; // Move value to double
+ dval = LDEXP(dval,1); // Multiply by 2 (left shift 1 bit)
+ dval = dval + lsb; // Add lsb value back in
+ }
+ }
+ dval = dval * p->scale; // Scale by scalar
+ dval = dval * PItab[ p->powPI+3 ]; // Scale by power of PI
+ dval = LDEXP(dval,p->pow2); // Scale by power of 2
+ output[p->outIndex] = dval; // Store result in output array
+ }
+
+} // namespace
diff --git a/trunk/src/EngNav.hpp b/trunk/src/EngNav.hpp
new file mode 100644
index 0000000..1f4d5a2
--- /dev/null
+++ b/trunk/src/EngNav.hpp
@@ -0,0 +1,176 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EngNav.hpp#5 $"
+
+/**
+ * @file EngNav.hpp
+ * Engineering units navigation message abstraction.
+ */
+
+#ifndef GPSTK_ENGNAV_HPP
+#define GPSTK_ENGNAV_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <sys/types.h>
+
+#include "gpstkplatform.h"
+
+namespace gpstk
+{
+ /** @addtogroup ephemcalc */
+ //@{
+
+ struct DecodeQuant;
+
+ /**
+ * Base class for ICD-GPS-200 navigation messages. This class
+ * provides functions for decoding the bits in navigation
+ * message, and is the base class for all "engineering units"
+ * types.
+ */
+ class EngNav
+ {
+ public:
+ /// default constructor
+ EngNav() throw();
+
+ /// destructor
+ virtual ~EngNav() {}
+
+ /**
+ * Perform a parity check on a navigation message subframe.
+ * @return true if the parity check is successful.
+ */
+ static bool subframeParity(const long input[10]);
+
+ /**
+ * Given 10 words of a navigation message subframe (as
+ * defined in ICD-GPS-200), convert to the "appropriate" 60
+ * FIC floating point values.
+ * @param input array of ten 30-bit words (stored in the 30
+ * least-significant bits of each long.
+ * @param gpsWeek full (>10 bits) GPS week number.
+ * @param output 60 FIC floating point values as defined in
+ * the documentation for FIC blocks 9 and 62.
+ * @return true if successful.
+ */
+ static bool subframeConvert(const long input[10],
+ const int gpsWeek,
+ double output[60])
+ throw();
+
+ /** Convert the week number in \c out from 8-bit to full
+ * using the full week number \c gpsWeek.
+ * @param gpsWeek source full week number.
+ * @param out 8-bit week number to convert to full
+ * @return true if source and target are within 127 weeks of
+ * each other.
+ */
+ static bool convert8bit(const int gpsWeek, double *out)
+ throw();
+
+ /** Convert the week number in \c out from 10-bit to full
+ * using the full week number \c gpsWeek.
+ * @param gpsWeek source full week number.
+ * @param out 10-bit week number to convert to full
+ * @return true if source and target are within 511 weeks of
+ * each other.
+ */
+ static bool convert10bit(const int gpsWeek, double *out)
+ throw();
+
+ /**
+ * Given a navigation message subframe, return the
+ * pattern number to be used in converting the
+ * subframe to engineering units. The patterns are
+ * defined in the following table. The numbers correspond
+ * to the ordering of the bit definitions in ICD-GPS-200
+ * Figure 20-1.
+ *
+ * Subframe # SV_id Pattern #
+ * 1 n/a 1
+ * 2 n/a 2
+ * 3 n/a 3
+ * 4 1-24 4
+ * 4 25 5
+ * 5 57 6
+ * 5 58-62 7
+ * 5 56 8
+ * 5 63 9
+ * 5 52-55 10
+ *
+ * @param input 10 long integers containing the ten words of
+ * the navigation message subframe.
+ * @return the pattern ID as defined in the above table.
+ */
+ static short getSubframePattern(const long input[10])
+ throw();
+
+ private:
+
+ /**
+ * Given 10 words of a navigation message subframe, in, and a
+ * structure, p, defining a particular conversion, perform
+ * the conversion and store the results in the appropriate
+ * location in the FIC F array, out.
+ *
+ * @param input words of navigation message subframe. Each
+ * nav message word is in the 30 lsbs of the corresponding
+ * input[i].
+ *
+ * @param output array of 60 double which correspond to the
+ * section of a FIC F array. The converted output will be
+ * placed in the output array at the location specified in
+ * the conversion specification.
+ *
+ * @param p pointer to structure defining conversion to be
+ * performed.
+ */
+ static void convertQuant(const long input[10], double output[60],
+ DecodeQuant *p)
+ throw();
+ }; // class EngNav
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/EphemerisRange.cpp b/trunk/src/EphemerisRange.cpp
new file mode 100644
index 0000000..1f28977
--- /dev/null
+++ b/trunk/src/EphemerisRange.cpp
@@ -0,0 +1,230 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EphemerisRange.cpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file EphemerisRange.cpp
+ * Computation of range and associated quantities from EphemerisStore,
+ * given receiver position and time.
+ */
+
+#include "EphemerisRange.hpp"
+#include "MiscMath.hpp"
+#include "GPSGeoid.hpp"
+#include "icd_200_constants.hpp"
+#include "geometry.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+namespace gpstk
+{
+ // Compute the corrected range at RECEIVE time, from receiver at position Rx,
+ // to the GPS satellite given by PRN prn, as well as all the CER quantities,
+ // given the nominal receive time tr_nom and an EphemerisStore.
+ double CorrectedEphemerisRange::ComputeAtReceiveTime(const DayTime& tr_nom,
+ const Position& Rx,
+ const int prn,
+ const EphemerisStore& Eph)
+ {
+ try {
+ int nit;
+ double tof,tof_old,wt,sx,sy;
+ GPSGeoid geoid;
+
+ nit = 0;
+ tof = 0.07; // initial guess 70ms
+ do {
+ // best estimate of transmit time
+ transmit = tr_nom;
+ transmit -= tof;
+ tof_old = tof;
+ // get SV position
+ try {
+ svPosVel = Eph.getPrnXvt(prn,transmit);
+ }
+ catch(EphemerisStore::NoEphemerisFound& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(InvalidRequest& ir)
+ {
+ EphemerisStore::NoEphemerisFound nef(ir);
+ GPSTK_THROW(nef);
+ }
+ // compute new time of flight
+ tof = RSS(svPosVel.x[0]-Rx.X(),
+ svPosVel.x[1]-Rx.Y(),
+ svPosVel.x[2]-Rx.Z());
+ tof /= geoid.c();
+ // correct for Earth rotation
+ wt = geoid.angVelocity()*tof;
+ sx = cos(wt)*svPosVel.x[0] + sin(wt)*svPosVel.x[1];
+ sy = -sin(wt)*svPosVel.x[0] + cos(wt)*svPosVel.x[1];
+ svPosVel.x[0] = sx;
+ svPosVel.x[1] = sy;
+ sx = cos(wt)*svPosVel.v[0] + sin(wt)*svPosVel.v[1];
+ sy = -sin(wt)*svPosVel.v[0] + cos(wt)*svPosVel.v[1];
+ svPosVel.v[0] = sx;
+ svPosVel.v[1] = sy;
+ // update raw range and time of flight
+ rawrange = RSS(svPosVel.x[0]-Rx.X(),
+ svPosVel.x[1]-Rx.Y(),
+ svPosVel.x[2]-Rx.Z());
+ tof = rawrange/geoid.c();
+
+ } while(ABS(tof-tof_old)>1.e-13 && ++nit<5);
+
+ relativity = RelativityCorrection(svPosVel) * C_GPS_M;
+ // relativity correction is added to dtime by the
+ // EphemerisStore::getPrnXvt routines...
+
+ svclkbias = svPosVel.dtime*C_GPS_M - relativity;
+ svclkdrift = svPosVel.ddtime * C_GPS_M;
+
+ cosines[0] = (Rx.X()-svPosVel.x[0])/rawrange;
+ cosines[1] = (Rx.Y()-svPosVel.x[1])/rawrange;
+ cosines[2] = (Rx.Z()-svPosVel.x[2])/rawrange;
+
+ Position SV(svPosVel);
+ elevation = Rx.elevation(SV);
+ azimuth = Rx.azimuth(SV);
+
+ return (rawrange-svclkbias-relativity);
+ }
+ catch(gpstk::Exception& e) {
+ GPSTK_RETHROW(e);
+ }
+ } // end CorrectedEphemerisRange::ComputeAtReceiveTime
+
+ // Compute the corrected range at TRANSMIT time, from receiver at position Rx,
+ // to the GPS satellite given by PRN prn, as well as all the CER quantities,
+ // given the nominal receive time tr_nom and an EphemerisStore, as well as
+ // the raw measured pseudorange.
+ double CorrectedEphemerisRange::ComputeAtTransmitTime(const DayTime& tr_nom,
+ const double& pr,
+ const Position& Rx,
+ const int prn,
+ const EphemerisStore& Eph)
+ {
+ try {
+ unsigned long ref;
+ DayTime tt;
+ GPSGeoid geoid;
+
+ // 0-th order estimate of transmit time = receiver - pseudorange/c
+ transmit = tr_nom;
+ transmit -= pr/C_GPS_M;
+ tt = transmit;
+
+ // correct for SV clock
+ for(int i=0; i<2; i++) {
+ // get SV position
+ try {
+ svPosVel = Eph.getPrnXvt(prn,tt);
+ }
+ catch(EphemerisStore::NoEphemerisFound& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(InvalidRequest& ir)
+ {
+ EphemerisStore::NoEphemerisFound nef(ir);
+ GPSTK_THROW(nef);
+ }
+ tt = transmit;
+ tt -= svPosVel.dtime; // clock and relativity
+ }
+
+ // correct for Earth rotation
+ double tof = RSS(svPosVel.x[0]-Rx.X(),
+ svPosVel.x[1]-Rx.Y(),
+ svPosVel.x[2]-Rx.Z())/geoid.c();
+ double wt = geoid.angVelocity()*tof;
+ double sx = cos(wt)*svPosVel.x[0] + sin(wt)*svPosVel.x[1];
+ double sy = -sin(wt)*svPosVel.x[0] + cos(wt)*svPosVel.x[1];
+ svPosVel.x[0] = sx;
+ svPosVel.x[1] = sy;
+ sx = cos(wt)*svPosVel.v[0] + sin(wt)*svPosVel.v[1];
+ sy = -sin(wt)*svPosVel.v[0] + cos(wt)*svPosVel.v[1];
+ svPosVel.v[0] = sx;
+ svPosVel.v[1] = sy;
+ // raw range
+ rawrange = RSS(svPosVel.x[0]-Rx.X(),
+ svPosVel.x[1]-Rx.Y(),
+ svPosVel.x[2]-Rx.Z());
+
+ relativity = RelativityCorrection(svPosVel) * C_GPS_M;
+ // relativity correction is added to dtime by the
+ // EphemerisStore::getPrnXvt routines...
+
+ svclkbias = svPosVel.dtime*C_GPS_M - relativity;
+ svclkdrift = svPosVel.ddtime * C_GPS_M;
+
+ cosines[0] = (Rx.X()-svPosVel.x[0])/rawrange;
+ cosines[1] = (Rx.Y()-svPosVel.x[1])/rawrange;
+ cosines[2] = (Rx.Z()-svPosVel.x[2])/rawrange;
+
+ Position SV(svPosVel);
+ elevation = Rx.elevation(SV);
+ azimuth = Rx.azimuth(SV);
+
+ return (rawrange-svclkbias-relativity);
+ }
+ catch(gpstk::Exception& e) {
+ GPSTK_RETHROW(e);
+ }
+ } // end CorrectedEphemerisRange::ComputeAtTransmitTime
+
+ double RelativityCorrection(const Xvt& svPosVel)
+ {
+ // relativity correction is added to dtime by the
+ // EphemerisStore::getPrnXvt routines...
+ // dtr = -2*dot(R,V)/(c*c) = -4.4428e-10(s/sqrt(m)) * ecc * sqrt(A(m)) * sinE
+ // compute it separately here, in units seconds.
+ double dtr = -2*(svPosVel.x[0]/C_GPS_M)*(svPosVel.v[0]/C_GPS_M)
+ -2*(svPosVel.x[1]/C_GPS_M)*(svPosVel.v[1]/C_GPS_M)
+ -2*(svPosVel.x[2]/C_GPS_M)*(svPosVel.v[2]/C_GPS_M);
+ return dtr;
+ }
+
+} // namespace gpstk
diff --git a/trunk/src/EphemerisRange.hpp b/trunk/src/EphemerisRange.hpp
new file mode 100644
index 0000000..53a1808
--- /dev/null
+++ b/trunk/src/EphemerisRange.hpp
@@ -0,0 +1,115 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EphemerisRange.hpp#2 $"
+
+/**
+ * @file EphemerisRange.hpp
+ * Computation of range and associated quantities from EphemerisStore
+ */
+
+#ifndef EPHEMERIS_RANGE_HPP
+#define EPHEMERIS_RANGE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "DayTime.hpp"
+#include "Position.hpp"
+#include "EphemerisStore.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup ephemcalc */
+ //@{
+
+ /** class CorrectedEphemerisRange. Compute the corrected range from receiver
+ * at position Rx, to the GPS satellite given by PRN prn, as well as azimuth,
+ * elevation, etc., given a nominal timetag (either received or transmitted
+ * time) and an EphemerisStore.
+ */
+ class CorrectedEphemerisRange
+ {
+ public:
+ /// Default constructor.
+ CorrectedEphemerisRange() {}
+
+ /// Compute the corrected range at RECEIVE time, from receiver at
+ /// position Rx, to the GPS satellite given by PRN prn, as well as all
+ /// the CER quantities, given the nominal receive time tr_nom and
+ /// an EphemerisStore.
+ double ComputeAtReceiveTime(const DayTime& tr_nom,
+ const Position& Rx, const int prn, const EphemerisStore& Eph);
+
+ /// Compute the corrected range at TRANSMIT time, from receiver at
+ /// position Rx, to the GPS satellite given by PRN prn, as well as all
+ /// the CER quantities, given the nominal receive time tr_nom and
+ /// an EphemerisStore.
+ double ComputeAtTransmitTime(const DayTime& tr_nom, const double& pr,
+ const Position& Rx, const int prn, const EphemerisStore& Eph);
+
+ /// The computed raw (geometric) range in meters.
+ double rawrange;
+ /// The satellite clock bias in meters.
+ double svclkbias;
+ /// The satellite clock drift in m/s.
+ double svclkdrift;
+ /// The relativity correction in meters.
+ double relativity;
+ /// The satellite elevation, as seen at the receiver, in degrees.
+ double elevation;
+ /// The satellite azimuth, as seen at the receiver, in degrees.
+ double azimuth;
+ /// The computed transmit time of the signal.
+ DayTime transmit;
+ /// The direction cosines of the satellite, as seen at the receiver (XYZ).
+ Triple cosines;
+ /// The satellite position (m) and velocity (m/s) in ECEF coordinates.
+ Xvt svPosVel;
+
+ }; // end class CorrectedEphemerisRange
+
+ /// Compute relativity correction (meters) from the satellite position and velocity
+ double RelativityCorrection(const Xvt& svPosVel);
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/EphemerisStore.hpp b/trunk/src/EphemerisStore.hpp
new file mode 100644
index 0000000..c26a76b
--- /dev/null
+++ b/trunk/src/EphemerisStore.hpp
@@ -0,0 +1,115 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EphemerisStore.hpp#4 $"
+
+/**
+ * @file EphemerisStore.hpp
+ * Base for ephemeris storage classes
+ */
+
+#ifndef GPSTK_EPHEMERISSTORE_HPP
+#define GPSTK_EPHEMERISSTORE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include <string>
+#include <list>
+#include <map>
+
+#include "Exception.hpp"
+#include "DayTime.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup ephemstore */
+ //@{
+
+ /// This class defines an interface to hide how we are getting an SV's
+ /// position at some point in time.
+ class EphemerisStore
+ {
+ public:
+ /// Thrown when attempting to read an ephemeris that isn't stored.
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(NoEphemerisFound, gpstk::Exception);
+
+ /// destructor.
+ virtual ~EphemerisStore() {}
+
+ /** This returns the PVT of the SV in ECEF coordinates at the
+ * indicated time.
+ * @param prn the SV's PRN
+ * @param t the time to look up
+ * @return the Xvt of the SV at time t
+ */
+ virtual Xvt getPrnXvt(short prn,
+ const gpstk::DayTime& t) const
+ throw(NoEphemerisFound) = 0;
+
+ /** Dumps all the ephemeris data stored in this object.
+ * @param detail the level of detail to provide
+ */
+ virtual void dump(short detail = 0,
+ std::ostream& s = std::cout) const = 0;
+
+ /// Edit the dataset, removing data outside this time interval
+ virtual void edit(const DayTime& tmin,
+ const DayTime& tmax
+ = DayTime(DayTime::END_OF_TIME) ) = 0;
+
+ /** Return the time of the first ephemeris in the object.
+ * @return the time of the first ephemeris in the object
+ */
+ virtual gpstk::DayTime getInitialTime() const = 0;
+
+ /** Return the time of the last ephemeris in the object.
+ * @return the time of the last ephemeris in the object
+ */
+ virtual gpstk::DayTime getFinalTime() const = 0;
+
+ }; // end class EphemerisStore
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/EpochClockModel.hpp b/trunk/src/EpochClockModel.hpp
new file mode 100644
index 0000000..af3a377
--- /dev/null
+++ b/trunk/src/EpochClockModel.hpp
@@ -0,0 +1,115 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EpochClockModel.hpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef EPOCHCLOCKMODEL_HPP
+#define EPOCHCLOCKMODEL_HPP
+
+#include <map>
+#include "Exception.hpp"
+#include "gps_constants.hpp"
+
+#include "ObsClockModel.hpp"
+#include "ORDEpoch.hpp"
+
+/**
+ * @file EpochClockModel.hpp
+ * Finally a concrete class. This model just uses an epoch of ORDs to determine
+ * the clock offset at that point in time.
+ */
+
+namespace gpstk
+{
+ class EpochClockModel : public ObsClockModel
+ {
+ public:
+ EpochClockModel(double sigma = 2,
+ double elmask = 0,
+ PRNMode mode = ALWAYS)
+ :ObsClockModel(sigma, elmask, mode){}
+
+ virtual double EpochClockModel::getOffset(const gpstk::DayTime& t) const
+ throw(gpstk::InvalidArgumentException)
+ {
+ if (t!=time)
+ {
+ gpstk::InvalidArgumentException e;
+ GPSTK_THROW(e);
+ }
+ return clkc;
+ };
+
+ virtual bool isOffsetValid(const gpstk::DayTime& t) const
+ throw(gpstk::InvalidArgumentException)
+ {
+ if (t!=time)
+ {
+ gpstk::InvalidArgumentException e;
+ GPSTK_THROW(e);
+ }
+ return valid;
+ };
+
+
+ // An unchecked accessor for programs that don't need the generic
+ // interface
+ double EpochClockModel::getOffset() const
+ throw() {return clkc;};
+
+ bool isOffsetValid() const
+ throw(){return valid;};
+
+ virtual void addEpoch(const ORDEpoch& oe) throw(gpstk::InvalidValue)
+ {
+ gpstk::Stats<double> stat = simpleOrdClock(oe);
+ clkc = stat.Average();
+ valid = stat.N() >= 3; /// we need at least three to have a real avg
+ time = oe.time;
+ }
+
+ private:
+ gpstk::DayTime time; ///< The time of this offset
+ double clkc; ///< clock bias value (same units as residuals)
+ bool valid; ///< flag indicating clock bias statistical validity
+ };
+}
+#endif
diff --git a/trunk/src/Exception.cpp b/trunk/src/Exception.cpp
new file mode 100644
index 0000000..ac88fe0
--- /dev/null
+++ b/trunk/src/Exception.cpp
@@ -0,0 +1,213 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Exception.cpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file Exception.cpp
+ * Exceptions for all of GPSTK, including location information
+ */
+
+#include "Exception.hpp"
+
+using std::ostream;
+using std::streambuf;
+using std::string;
+using std::endl;
+
+namespace gpstk
+{
+
+ void ExceptionLocation::dump(ostream& s) const
+ throw()
+ {
+ s << getFileName() << ":"
+#ifdef __FUNCTION__
+ << getFunctionName() << ":"
+#endif
+ << getLineNumber();
+ }
+
+ Exception::Exception()
+ throw()
+ : streambuf(), ostream((streambuf*)this)
+ {
+ }
+
+ Exception::Exception(const string& errorText,
+ const unsigned long& errId,
+ const Severity& sever)
+ throw()
+ : streambuf(), ostream((streambuf*)this)
+ {
+ text.push_back(errorText);
+ errorId = errId;
+ severity = sever;
+ }
+
+ Exception::Exception(const Exception& e)
+ throw()
+ : errorId(e.errorId),
+ locations(e.locations),
+ severity(e.severity),
+ text(e.text),
+ streamBuffer(e.streamBuffer),
+ streambuf(),
+ ostream((streambuf*)this)
+ {}
+
+ Exception& Exception::operator=(const Exception& e)
+ throw()
+ {
+ errorId = e.errorId;
+ locations = e.locations;
+ severity = e.severity;
+ text = e.text;
+ // reuse existing stream objects, no matter.
+ //streambuf(), ostream((streambuf*)this),
+ streamBuffer = e.streamBuffer;
+
+ return *this;
+ }
+
+ Exception& Exception::addLocation(
+ const ExceptionLocation& location)
+ throw()
+ {
+ locations.push_back(location);
+ return *this;
+ }
+
+ const ExceptionLocation Exception::getLocation(
+ const size_t& index) const
+ throw()
+ {
+ if (index < 0 || index>=getLocationCount())
+ {
+ return ExceptionLocation();
+ }
+ else
+ {
+ return locations[index];
+ }
+ }
+
+ size_t Exception::getLocationCount() const
+ throw()
+ {
+ return locations.size();
+ }
+
+ Exception& Exception::addText(const string& errorText)
+ throw()
+ {
+ text.push_back(errorText);
+ return *this;
+ }
+
+ string Exception::getText(const size_t& index) const
+ throw()
+ {
+ if (index < 0 || index>=getTextCount())
+ {
+ string tmp;
+ return tmp;
+ }
+ else
+ {
+ return text[index];
+ }
+ }
+
+ size_t Exception::getTextCount() const
+ throw()
+ {
+ return text.size();
+ }
+
+ void Exception::dump(ostream& s) const
+ throw()
+ {
+ int i;
+ for (i=0; i<getTextCount(); i++)
+ {
+ s << "text " << i << ":" << this->getText(i) << endl;
+ }
+ for (i=0; i<getLocationCount(); i++)
+ {
+ s << "location " << i << ":" << getLocation(i) << endl;
+ }
+ }
+
+ int Exception::overflow(int c)
+ {
+ if (c == '\n' || !c)
+ {
+ if (streamBuffer.length() == 0)
+ {
+ return c;
+ }
+ addText(streamBuffer);
+ streamBuffer = "";
+ return c;
+ }
+ streamBuffer.append(1, (char)c);
+ return c;
+ }
+
+ ostream& operator<<( ostream& s,
+ const Exception& e )
+ throw()
+ {
+ e.dump(s);
+ return s;
+ }
+
+ ostream& operator<<( ostream& s,
+ const ExceptionLocation& e )
+ throw()
+ {
+ e.dump(s);
+ return s;
+ }
+
+} // namespace gpstk
+
diff --git a/trunk/src/Exception.hpp b/trunk/src/Exception.hpp
new file mode 100644
index 0000000..989d741
--- /dev/null
+++ b/trunk/src/Exception.hpp
@@ -0,0 +1,479 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Exception.hpp#4 $"
+
+/**
+ * @file Exception.hpp
+ * Exceptions for all of GPSTK, including location information
+ */
+
+// The unusual include macro below is done this way because xerces
+// #defines EXCEPTION_HPP in their own exception class header file.
+#ifndef GPSTK_EXCEPTION_HPP
+#define GPSTK_EXCEPTION_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include <vector>
+#include <string>
+
+namespace gpstk
+{
+ /**
+ * @defgroup exceptiongroup Exception Classes
+ * These classes are the exceptions that can be thrown in
+ * the library code. Use these in your catch() blocks
+ * and you'll be able to get more information
+ * than what std::exception provides. Use GPSTK_THROW()
+ * and GPSTK_RETHROW() to throw or rethrow these exceptions
+ * to automatically add line and file information to your
+ * exceptions..
+ */
+
+ /// A class for recording locations (in the source code) of
+ /// exceptions being thrown.
+ class ExceptionLocation
+ {
+ public:
+ /**
+ * Constructor for location information.
+ * @param filename name of source file where exception occurred.
+ * @param funcName name of function where exception occurred.
+ * @param lineNum line of source file where exception occurred.
+ */
+ ExceptionLocation(const std::string& filename = std::string(),
+ const std::string& funcName = std::string(),
+ const unsigned long& lineNum = 0)
+ throw()
+ : fileName(filename), functionName(funcName),
+ lineNumber(lineNum)
+ { }
+
+ /**
+ * Destructor.
+ */
+ ~ExceptionLocation() throw() {}
+
+ /// Accessor for name of source file where exception occurred.
+ std::string getFileName() const
+ throw()
+ { return fileName; }
+ /// Accessor for name of function where exception occurred.
+ std::string getFunctionName() const
+ throw()
+ { return functionName; }
+ /// Accessor for line of source file where exception occurred.
+ unsigned long getLineNumber() const
+ throw()
+ { return lineNumber; }
+
+ /**
+ * Debug output function.
+ * @param s stream to output debugging information for this class to.
+ */
+ void dump(std::ostream& s) const throw();
+
+ /**
+ * Output stream operator for ::ExceptionLocation.
+ * This is intended just to dump all the data in the
+ * ::ExceptionLocation to the indicated stream. \warning Warning: It
+ * will _not_ preserve the state of the stream.
+ * @param s stream to send ::ExceptionLocation information to.
+ * @param e ::ExceptionLocation to "dump".
+ * @return a reference to the stream \c s.
+ */
+ friend std::ostream& operator<<( std::ostream& s,
+ const ExceptionLocation& e )
+ throw();
+
+ private:
+ /// Name of source file where exception occurred.
+ std::string fileName;
+ /// Name of function where exception occurred.
+ std::string functionName;
+ /// Line in source file where exception occurred.
+ unsigned long lineNumber;
+ }; // class ExceptionLocation
+
+ /**
+ * The Exception class is the base class from which all
+ * exception objects thrown in the library are derived. None of
+ * the functions in this class throws exceptions because an
+ * exception has probably already been thrown or is about to be
+ * thrown. Each exception object contains the following:
+ * - A stack of exception message text strings (descriptions).
+ * - An error ID.
+ * - A severity code.
+ * - An error code group.
+ * - Information about where the exception was thrown.
+ *
+ * Exception provides all of the functions required for it and
+ * its derived classes, including functions that operate on the
+ * text strings in the stack.
+ *
+ * @sa exceptiontest.cpp for some examples of how to use this class.
+ *
+ * @ingroup exceptiongroup
+ */
+ class Exception : protected std::streambuf,
+ public std::ostream
+ {
+ public:
+ /// Exception severity classes.
+ enum Severity
+ {
+ unrecoverable, /**< program can not recover from this exception */
+ recoverable /**< program can recover from this exception */
+ };
+
+ /**
+ * Default constructor.
+ * Does nothing.
+ */
+ Exception() throw();
+
+ /**
+ * Full constructor for exception.
+ * @param errorText text message detailing exception.
+ * @param errorId error code related to exception e.g. MQ result
+ * code.
+ * @param severity severity of error.
+ */
+ Exception(const std::string& errorText,
+ const unsigned long& errorId = 0,
+ const Severity& severity = unrecoverable)
+ throw();
+ /// Copy constructor.
+ Exception(const Exception& exception)
+ throw();
+ /// Destructor.
+ virtual ~Exception()
+ throw()
+ {};
+
+ /// Assignment operator.
+ Exception& operator=(const Exception& e)
+ throw();
+
+ /**
+ * Ends the application. Normally, the library only intends
+ * this function to be used internally by the library's
+ * exception-handling macros when the compiler you are using
+ * does not support C++ exception handling. This only occurs
+ * if you define the NO_EXCEPTIONS_SUPPORT macro.
+ */
+ void terminate()
+ throw()
+ { exit(1); };
+
+ /// Returns the error ID of the exception.
+ unsigned long getErrorId() const
+ throw()
+ { return errorId; };
+
+ /**
+ * Sets the error ID to the specified value.
+ * @param errId The identifier you want to associate with
+ * this error.
+ */
+ Exception& setErrorId(const unsigned long& errId)
+ throw()
+ { errorId = errId; return *this; };
+
+ /**
+ * Adds the location information to the exception object. The
+ * library captures this information when an exception is
+ * thrown or rethrown. An array of ExceptionLocation objects
+ * is stored in the exception object.
+ *
+ * @param location An IExceptionLocation object containing
+ * the following:
+ * \li Function name
+ * \li File name
+ * \li Line number where the function is called
+ */
+ Exception& addLocation(const ExceptionLocation& location)
+ throw();
+
+ /**
+ * Returns the ExceptionLocation object at the specified index.
+ * @param index If the index is not valid, a 0
+ * pointer is returned. (well, not really since someone
+ * changed all this bah)
+ */
+ const ExceptionLocation getLocation(const size_t& index=0) const
+ throw();
+
+ /// Returns the number of locations stored in the exception
+ /// location array.
+ size_t getLocationCount() const
+ throw();
+
+ /**
+ * If the thrower (that is, whatever creates the exception)
+ * determines the exception is recoverable, 1 is returned. If
+ * the thrower determines it is unrecoverable, 0 is returned.
+ */
+ bool isRecoverable() const
+ throw()
+ { return (severity == recoverable); }
+
+ /**
+ * Sets the severity of the exception.
+ * @param sever Use the enumeration Severity to specify
+ * the severity of the exception.
+ */
+ Exception& setSeverity(const Severity& sever)
+ throw()
+ { severity = sever; return *this; };
+
+ /**
+ * Appends the specified text to the text string on the top
+ * of the exception text stack.
+ * @param errorText The text you want to append.
+ */
+ Exception& addText(const std::string& errorText)
+ throw();
+
+ /**
+ * Returns an exception text string from the exception text
+ * stack.
+ *
+ * @param index The default index is 0, which is the
+ * top of the stack. If you specify an index which is not
+ * valid, a 0 pointer is returned.
+ */
+ std::string getText(const size_t& index=0) const
+ throw();
+
+ /// Returns the number of text strings in the exception text stack.
+ size_t getTextCount() const
+ throw();
+
+ /// Returns the name of the object's class.
+ virtual std::string getName() const
+ throw()
+ { return "Exception"; };
+
+ /**
+ * Debug output function.
+ * @param s stream to output debugging information for this class to.
+ */
+ void dump(std::ostream& s) const
+ throw();
+
+ /**
+ * Output stream operator for ::Exception.
+ * This is intended just to dump all the data in the ::Exception to
+ * the indicated stream. \warning Warning: It will _not_ preserve
+ * the state of the stream.
+ * @param s stream to send ::Exception information to.
+ * @param e ::Exception to "dump".
+ * @return a reference to the stream \c s. */
+ friend std::ostream& operator<<( std::ostream& s,
+ const Exception& e )
+ throw();
+
+ protected:
+ /// Error code.
+ unsigned long errorId;
+ /// Stack of exception locations (where it was thrown).
+ std::vector<ExceptionLocation> locations;
+ /// Severity of exception.
+ Severity severity;
+ /// Text stack describing exception condition.
+ std::vector<std::string> text;
+
+ /**
+ * This is the streambuf function that actually outputs the
+ * data to the device. Since all output should be done with
+ * the standard ostream operators, this function should never
+ * be called directly. In the case of this class, the
+ * characters to be output are stored in a buffer and added
+ * to the exception text after each newline.
+ */
+ int overflow(int c);
+
+ private:
+ /// Buffer for stream output.
+ std::string streamBuffer;
+ }; // class Exception
+
+
+} // namespace gpstk
+
+
+/**
+ * Just a comment for the wary. These following macros are quite
+ * useful. They just don't work under gcc 2.96/linux. If you can fix
+ * them I would be quite greatful but I am not holding my breath. For
+ * now, I am just manually putting the code where it needs to be. The
+ * problem seems to be with the __FILE__, __FUNCTION__, LINE__ being
+ * defined in a macro that is in a .hpp file as opposed to the .cpp
+ * file where the code gets used. When you do it you get a segfault.
+ * See the exceptiontest.cpp code in the base/test directory.
+ */
+#if defined ( __FUNCTION__ )
+#define FILE_LOCATION gpstk::ExceptionLocation(__FILE__, __FUNCTION__, __LINE__)
+#else
+#define FILE_LOCATION gpstk::ExceptionLocation(__FILE__, "", __LINE__)
+#endif
+
+// For compilers without exceptions, die if you get an exception.
+#if defined (NO_EXCEPTIONS_SUPPORT)
+/// A macro for adding location when throwing an gpstk::Exception
+/// @ingroup exceptiongroup
+#define GPSTK_THROW(exc) { exc.addLocation(FILE_LOCATION); exc.terminate(); }
+/// A macro for adding location when rethrowing an gpstk::Exception
+/// @ingroup exceptiongroup
+#define GPSTK_RETHROW(exc) { exc.addLocation(FILE_LOCATION); exc.terminate(); }
+#else
+/// A macro for adding location when throwing an gpstk::Exception
+/// @ingroup exceptiongroup
+#define GPSTK_THROW(exc) { exc.addLocation(FILE_LOCATION); throw exc; }
+/// A macro for adding location when rethrowing an gpstk::Exception
+/// @ingroup exceptiongroup
+#define GPSTK_RETHROW(exc) { exc.addLocation(FILE_LOCATION); throw; }
+#endif
+
+
+
+/**
+ * A macro for quickly defining a new exception class that inherits from
+ * an gpstk::Exception derived class. Use this to make specific exceptions,
+ * such as the ones defined in this header file. Make sure that all
+ * exceptions have "\@ingroup exceptiongroup" in their comment block
+ * so doxygen knows what to do with them.
+ *
+ * @ingroup exceptiongroup
+ */
+#define NEW_EXCEPTION_CLASS(child, parent) \
+class child : public parent \
+{ \
+public: \
+ /** Default constructor. */ \
+ child() throw() : parent() {} \
+ /** Copy constructor. */ \
+ child(const child& a) throw() : parent(a) {} \
+ /** Cast constructor. */ \
+ child(const gpstk::Exception& a) throw() : parent(a) {}; \
+ /** \
+ * Common use constructor. \
+ * @param a text description of exception condition. \
+ * @param b error code (default none) \
+ * @param c severity of exception (default unrecoverable) \
+ */ \
+ child(std::string a, unsigned long b = 0,\
+ gpstk::Exception::Severity c = gpstk::Exception::unrecoverable) \
+ throw() \
+ : parent(a, b, c) \
+ {};\
+ /** Destructor. */ \
+ virtual ~child() throw() {} \
+ /** Returns the name of the exception class. */ \
+ virtual std::string getName() const throw() {return ( # child);} \
+ /** assignment operator for derived exceptions */ \
+ child& operator=(const child& kid) \
+ { parent::operator=(kid); return *this; } \
+ /** ostream operator for derived exceptions */ \
+ friend std::ostream& operator<<(std::ostream& s, const child& c) throw() \
+ { c.dump(s); return s; } \
+}
+
+namespace gpstk
+{
+ /// Thrown when a function is given a parameter value that it invalid
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(InvalidParameter, Exception);
+
+ /// Thrown if a function can not satisfy a request
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(InvalidRequest, Exception);
+
+ /// Thrown when a required condition in a function is not met.
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(AssertionFailure, Exception);
+
+ /// Thrown if a function makes a request of the OS that can't be satisfied.
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(AccessError, Exception);
+
+ /// Attempts to access an "array" or other element that doesn't exist
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(IndexOutOfBoundsException, Exception);
+
+ /// A function was passed an invalid argument
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(InvalidArgumentException, Exception);
+
+ /// Application's configuration is invalid
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(ConfigurationException, Exception);
+
+ /// Attempted to open a file that doesn't exist
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(FileMissingException, Exception);
+
+ /// A problem using a system semaphore
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(SystemSemaphoreException, Exception);
+
+ /// A problem using a system pipe
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(SystemPipeException, Exception);
+
+ /// A problem using a system queue
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(SystemQueueException, Exception);
+
+ /// Unable to allocate memory
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(OutOfMemory, Exception);
+
+ /// Operation failed because it was unable to locate the requested obj
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(ObjectNotFound, AccessError);
+
+} // namespace gpstk
+#endif
+
+
+
diff --git a/trunk/src/FFBinaryStream.hpp b/trunk/src/FFBinaryStream.hpp
new file mode 100644
index 0000000..7814438
--- /dev/null
+++ b/trunk/src/FFBinaryStream.hpp
@@ -0,0 +1,219 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFBinaryStream.hpp#1 $"
+
+/**
+ * @file FFBinaryStream.hpp
+ * An FFStream for binary file reading
+ */
+
+#ifndef GPSTK_FFBINARYSTREAM_HPP
+#define GPSTK_FFBINARYSTREAM_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFStream.hpp"
+
+namespace gpstk
+{
+ /** @defgroup formattedfile Formatted file I/O */
+ //@{
+
+ /**
+ * This is an FFStream that is required to be binary. It also includes
+ * functions for reading and writing binary file. Otherwise, this
+ * is the same as FFStream.
+ */
+ class FFBinaryStream : public FFStream
+ {
+ public:
+ /// destructor
+ virtual ~FFBinaryStream() {};
+
+ /// Default constructor
+ FFBinaryStream() {}
+
+ /**
+ * Constructor - opens the stream in binary mode if not set.
+ * @param fn file name.
+ * @param mode file open mode (std::ios)
+ */
+ FFBinaryStream(const char* fn,
+ std::ios::openmode mode=std::ios::in|std::ios::binary)
+ : FFStream(fn, mode|std::ios::binary) {}
+
+ /// Overrides open to ensure binary mode opens
+ virtual void open(const char* fn, std::ios::openmode mode)
+ { FFStream::open(fn, mode|std::ios::binary); }
+
+ /**
+ * Reads a T-object directly from the stream
+ * in binary form.
+ * @throw FFStreamError when the size of the data read
+ * from this stream doesn't match the size of a T-object.
+ * @return a T-object
+ */
+ template <class T> T getData() throw(FFStreamError)
+ {
+ T data;
+ try
+ {
+ read((char*)&data, sizeof(T));
+ }
+ catch(std::exception& exc)
+ {
+ FFStreamError err(exc.what());
+ GPSTK_THROW(err);
+ }
+ catch(...)
+ {
+ FFStreamError err("Unknown exception");
+ GPSTK_THROW(err);
+ }
+
+ if (gcount() != sizeof(T))
+ {
+ FFStreamError err("Error reading data");
+ GPSTK_THROW(err);
+ }
+ return data;
+ } // end of getData(FFStream& strm)
+
+ /**
+ * Writes a T-object directly from the stream
+ * in binary form.
+ * @param data the data to be written.
+ * @throw FFStreamError when the size of the data written
+ * to this stream doesn't match the size of a T-object.
+ * @return a T-object
+ */
+ template <class T> void writeData(const T& data)
+ throw(FFStreamError)
+ {
+ T temp = data;
+ try
+ {
+ write((char*)&temp, sizeof(T));
+ }
+ catch(std::exception& exc)
+ {
+ FFStreamError err(exc.what());
+ GPSTK_THROW(err);
+ }
+ catch(...)
+ {
+ FFStreamError err("Unknown exception");
+ GPSTK_THROW(err);
+ }
+
+ if (fail() || bad())
+ {
+ FFStreamError err("Error writing data");
+ GPSTK_THROW(err);
+ }
+ return;
+ } // end of writeData(FFStream& strm, const T& data)
+ };
+
+ //@}
+
+}
+
+/*
+namespace gpstk
+{
+ template <class T>
+ T FFBinaryStream::getData() throw(FFStreamError)
+ {
+ T data;
+ try
+ {
+ read((char*)&data, sizeof(T));
+ }
+ catch(std::exception& exc)
+ {
+ FFStreamError err(exc.what());
+ GPSTK_THROW(err);
+ }
+ catch(...)
+ {
+ FFStreamError err("Unknown exception");
+ GPSTK_THROW(err);
+ }
+
+ if (gcount() != sizeof(T))
+ {
+ FFStreamError err("Error reading data");
+ GPSTK_THROW(err);
+ }
+ return data;
+ } // end of getData(FFStream& strm)
+
+ template <class T>
+ void FFBinaryStream::writeData(const T& data)
+ throw(FFStreamError)
+ {
+ T temp = data;
+ try
+ {
+ write((char*)&temp, sizeof(T));
+ }
+ catch(std::exception& exc)
+ {
+ FFStreamError err(exc.what());
+ GPSTK_THROW(err);
+ }
+ catch(...)
+ {
+ FFStreamError err("Unknown exception");
+ GPSTK_THROW(err);
+ }
+
+ if (fail() || bad())
+ {
+ FFStreamError err("Error writing data");
+ GPSTK_THROW(err);
+ }
+ return;
+ } // end of writeData(FFStream& strm, const T& data)
+}
+*/
+
+#endif
diff --git a/trunk/src/FFData.cpp b/trunk/src/FFData.cpp
new file mode 100644
index 0000000..5735eed
--- /dev/null
+++ b/trunk/src/FFData.cpp
@@ -0,0 +1,99 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFData.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file FFData.cpp
+ * Formatted File Data base class
+ */
+
+#include "FFData.hpp"
+#include "FFStream.hpp"
+
+namespace gpstk
+{
+ void FFData::putRecord(FFStream& s) const
+ throw(FFStreamError, gpstk::StringUtils::StringException)
+ {
+ s.tryFFStreamPut(*this);
+ }
+
+ void FFData::getRecord(FFStream& s)
+ throw(FFStreamError, gpstk::StringUtils::StringException)
+ {
+ s.tryFFStreamGet(*this);
+ }
+
+ std::ostream& operator<<(std::ostream& o, const FFData& f)
+ throw(FFStreamError, gpstk::StringUtils::StringException)
+ {
+ FFStream* ffs = dynamic_cast<FFStream*>(&o);
+ if (ffs)
+ {
+ f.putRecord(*ffs);
+ return o;
+ }
+ else
+ {
+ FFStreamError e("operator<< stream argument must be an FFStream");
+ GPSTK_THROW(e);
+ }
+
+ }
+
+ std::istream& operator>>(std::istream& i, FFData& f)
+ throw(FFStreamError, gpstk::StringUtils::StringException)
+ {
+ FFStream* ffs = dynamic_cast<FFStream*>(&i);
+ if (ffs)
+ {
+ f.getRecord(*ffs);
+ return i;
+ }
+ else
+ {
+ FFStreamError e("operator<< stream argument must be an FFStream");
+ GPSTK_THROW(e);
+ }
+
+ }
+}
diff --git a/trunk/src/FFData.hpp b/trunk/src/FFData.hpp
new file mode 100644
index 0000000..7862a58
--- /dev/null
+++ b/trunk/src/FFData.hpp
@@ -0,0 +1,189 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFData.hpp#1 $"
+
+/**
+ * @file FFData.hpp
+ * Formatted File Data base class
+ */
+
+#ifndef GPSTK_FFDATA_HPP
+#define GPSTK_FFDATA_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include <typeinfo>
+
+#include "FFStreamError.hpp"
+#include "StringUtils.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup formattedfile */
+ //@{
+
+ /// Forward declaration of FFStream class and friend functions
+ class FFStream;
+
+ /**
+ * This is the base class for all Formatted File Data (FFData).
+ * The data in FFStream objects are read/written into classes derived
+ * from FFData. There are two interfaces for this - one with the
+ * operator<<() and operator>>() and the equivalent with getRecord() and
+ * putRecord().
+ *
+ * Classes that derive from this should override the reallyGetRecord()
+ * and reallyPutRecord() functions where the actual reading and
+ * writing of the data should go as well as the isHeader() or isData()
+ * functions as appropriate for the data type.
+ * Overriding dump() for debugging purposes is highly suggested.
+ *
+ * All FFData derived classes should have all of their members defined
+ * public. These are meant to be simple container classes for reading,
+ * writing, and manipulating file data. Any conversion of data types
+ * should be made in constructors or cast operators. For all FFData
+ * objects, any internal time representation for the data should be
+ * called \c time to ensure consistency between classes.
+ *
+ * Finally, for the sake of organization of the inheritence and
+ * dependency trees, all related file data classes (i.e. RinexObsData and
+ * RinexObsHeader) should derive from a common base (i.e. RinexObsBase).
+ *
+ * \sa FFStream for more information.
+ */
+ class FFData
+ {
+ public:
+ /// virtual desctuctor
+ virtual ~FFData(void) {};
+
+ /**
+ * Send a "record" to the given stream.
+ * @param s a FFStream-based stream
+ */
+ void putRecord(FFStream& s) const
+ throw(FFStreamError, gpstk::StringUtils::StringException);
+
+ /**
+ * Retrieve a "record" from the given stream.
+ * By default, this won't throw exceptions. You can change this
+ * by enabling exceptions with this code:
+ * \code
+ * filestream.exceptions(fstream::failbit);
+ * \endcode
+ * @param s a FFStream-based stream
+ * @throws StringException when a StringUtils function fails
+ * @throws FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ void getRecord(FFStream& s)
+ throw(FFStreamError, gpstk::StringUtils::StringException);
+
+ /**
+ * Send debug output to the given stream.
+ * @param s a generic output stream
+ */
+ virtual void dump(std::ostream& s) const {}
+
+ /**
+ * Returns whether or not this class is a header.
+ * Have your overriding function return the correct value.
+ */
+ virtual bool isHeader() const {return false;}
+ /**
+ * Returns whether or not this class is data.
+ * Have your overriding function return the correct value.
+ */
+ virtual bool isData() const {return false;}
+
+ /**
+ * Our generic formatted output operator
+ * This function provides compatibility with the ostream_iterator
+ * class.
+ * @param o the stream to write to
+ * @param f the data to write
+ * @return a reference to \c o
+ * @warning The ostream provided MUST be an FFStream.
+ */
+ friend std::ostream& operator<<(std::ostream& o, const FFData& f)
+ throw(FFStreamError, gpstk::StringUtils::StringException);
+
+ /**
+ * Generic formatted input operator.
+ * This should throw the same exceptions as
+ * FFData::getRecord(). Please read that for more info.
+ * @see FFData::getRecord().
+ * @warning see FFData::getRecord() for more info on exceptions
+ * @param f formatted file data record.
+ * @param i the stream to read from
+ * @throw FFStreamError if the file being read is formatted
+ * incorrectly or some other file error occurs
+ * @throw StringException when StringUtils messes up.
+ * @warning read the notes for getRecord() for whatever
+ * class you'll be using this with.
+ * @return a reference to \c i.
+ * This function provides compatibility with the istream_iterator
+ * class.
+ * @warning The istream provided MUST be an FFStream.
+ */
+ friend std::istream& operator>>(std::istream& i, FFData& f)
+ throw(FFStreamError, gpstk::StringUtils::StringException);
+
+ friend class FFStream;
+
+ protected:
+ /// Does the actual reading from the stream into this FFData object.
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError) = 0;
+
+ /// Does the actual writing from the stream into this FFData object.
+ virtual void reallyPutRecord(FFStream& s) const
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError) = 0;
+ }; // class
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/FFStream.cpp b/trunk/src/FFStream.cpp
new file mode 100644
index 0000000..2e42a23
--- /dev/null
+++ b/trunk/src/FFStream.cpp
@@ -0,0 +1,276 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFStream.cpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file FFStream.cpp
+ * Formatted File Stream base class
+ */
+
+#include "FFStream.hpp"
+
+namespace gpstk
+{
+ void FFStream::open(const char* fn, std::ios::openmode mode)
+ {
+#ifdef _MSC_VER
+ fstream::open(fn, mode);
+#else
+ std::fstream::open(fn, mode);
+#endif
+ filename = std::string(fn);
+ recordNumber = 0;
+ }
+
+ // the crazy double try block is so that no gpstk::Exception throws
+ // get masked, allowing all exception information (line numbers, text,
+ // etc) to be retained.
+ void FFStream::tryFFStreamGet(FFData& rec)
+ throw(FFStreamError, gpstk::StringUtils::StringException)
+ {
+ // Mark where we start in case there is an error.
+ long initialPosition = tellg();
+ unsigned long initialRecordNumber = recordNumber;
+ clear();
+
+ try
+ {
+ try
+ {
+ rec.reallyGetRecord(*this);
+ recordNumber++;
+ }
+ catch (std::exception &e)
+ {
+ mostRecentException = FFStreamError("std::exception thrown: " +
+ std::string(e.what()));
+ mostRecentException.addText("In record " +
+ gpstk::StringUtils::asString(recordNumber));
+ mostRecentException.addText("In file " + filename);
+ mostRecentException.addLocation(FILE_LOCATION);
+ clear();
+ seekg(initialPosition);
+ recordNumber = initialRecordNumber;
+ setstate(std::ios::failbit);
+ conditionalThrow();
+ }
+ // EOF - do nothing - eof causes fail() to be set which
+ // is handled by std::fstream
+ catch (EndOfFile& e)
+ {
+ e.addText("In record " +
+ gpstk::StringUtils::asString(recordNumber));
+ e.addText("In file " + filename);
+ e.addLocation(FILE_LOCATION);
+ mostRecentException = e;
+ }
+ catch (gpstk::StringUtils::StringException& e)
+ {
+ e.addText("In record " +
+ gpstk::StringUtils::asString(recordNumber));
+ e.addText("In file " + filename);
+ e.addLocation(FILE_LOCATION);
+ mostRecentException = e;
+ clear();
+ seekg(initialPosition);
+ recordNumber = initialRecordNumber;
+ setstate(std::ios::failbit);
+ conditionalThrow();
+ }
+ // catches some errors we can encounter
+ catch (FFStreamError& e)
+ {
+ e.addText("In record " +
+ gpstk::StringUtils::asString(recordNumber));
+ e.addText("In file " + filename);
+ e.addLocation(FILE_LOCATION);
+ mostRecentException = e;
+ clear();
+ seekg(initialPosition);
+ recordNumber = initialRecordNumber;
+ setstate(std::ios::failbit);
+ conditionalThrow();
+ }
+ }
+ // this is if you throw an FFStream error in the above catch
+ // block because the catch(...) below will mask it otherwise.
+ // This also takes care of catching StringExceptions
+ catch (gpstk::Exception &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch (std::ifstream::failure &e)
+ {
+ // setting failbit when catching FFStreamError can cause
+ // this exception to be thrown. in this case, we don't want
+ // to lose the exception info so only make a new exception
+ // if this isn't a fail() case
+ if (!fail())
+ {
+ mostRecentException = FFStreamError("ifstream::failure thrown: " +
+ std::string(e.what()));
+ mostRecentException.addText("In file " + filename);
+ mostRecentException.addLocation(FILE_LOCATION);
+ }
+ conditionalThrow();
+ }
+ catch (std::exception &e)
+ {
+ mostRecentException = FFStreamError("std::exception thrown: " +
+ std::string(e.what()));
+ mostRecentException.addText("In file " + filename);
+ mostRecentException.addLocation(FILE_LOCATION);
+ setstate(std::ios::failbit);
+ conditionalThrow();
+ }
+ catch (...)
+ {
+ mostRecentException = FFStreamError("Unknown exception thrown");
+ mostRecentException.addText("In file " + filename);
+ mostRecentException.addLocation(FILE_LOCATION);
+ setstate(std::ios::failbit);
+ conditionalThrow();
+ }
+ }
+
+ // the crazy double try block is so that no gpstk::Exception throws
+ // get masked, allowing all exception information (line numbers, text,
+ // etc) to be retained.
+ void FFStream::tryFFStreamPut(const FFData& rec)
+ throw(FFStreamError, gpstk::StringUtils::StringException)
+ {
+ // Mark where we start in case there is an error.
+ long initialPosition = tellg();
+ unsigned long initialRecordNumber = recordNumber;
+ clear();
+
+ try
+ {
+ try
+ {
+ rec.reallyPutRecord(*this);
+ recordNumber++;
+ }
+ catch (std::exception &e)
+ {
+ // if this is a stream failure, don't mask it and let the
+ // later catch block handle it
+ if (dynamic_cast<std::ifstream::failure*>(&e))
+ throw;
+
+ // the catch(FFStreamError) below will add file information
+ // to this exception
+ mostRecentException = FFStreamError("std::exception thrown: " +
+ std::string(e.what()));
+ mostRecentException.addLocation(FILE_LOCATION);
+ setstate(std::ios::failbit);
+ conditionalThrow();
+ }
+ catch (gpstk::StringUtils::StringException& e)
+ {
+ e.addText("In record " +
+ gpstk::StringUtils::asString(recordNumber));
+ e.addText("In file " + filename);
+ e.addLocation(FILE_LOCATION);
+ mostRecentException = e;
+ seekg(initialPosition);
+ recordNumber = initialRecordNumber;
+ setstate(std::ios::failbit);
+ conditionalThrow();
+ }
+ // catches some errors we can encounter
+ catch (FFStreamError& e)
+ {
+ e.addText("In record " +
+ gpstk::StringUtils::asString(recordNumber));
+ e.addText("In file " + filename);
+ e.addLocation(FILE_LOCATION);
+ mostRecentException = e;
+ seekg(initialPosition);
+ recordNumber = initialRecordNumber;
+ setstate(std::ios::failbit);
+ conditionalThrow();
+ }
+ }
+ // this is if you throw an FFStream error in the above catch
+ // block because the catch(...) below will mask it otherwise.
+ // This also takes care of catching StringExceptions
+ catch (gpstk::Exception &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch (std::ifstream::failure &e)
+ {
+ // setting failbit when catching FFStreamError can cause
+ // this exception to be thrown. in this case, we don't want
+ // to lose the exception info so only make a new exception
+ // if this isn't a fail() case
+ if (!fail())
+ {
+ mostRecentException = FFStreamError("ifstream::failure thrown: " +
+ std::string(e.what()));
+ mostRecentException.addText("In file " + filename);
+ mostRecentException.addLocation(FILE_LOCATION);
+ }
+ conditionalThrow();
+ }
+ catch (std::exception &e)
+ {
+ mostRecentException = FFStreamError("std::exception thrown: " +
+ std::string(e.what()));
+ mostRecentException.addText("In file " + filename);
+ mostRecentException.addLocation(FILE_LOCATION);
+ setstate(std::ios::failbit);
+ conditionalThrow();
+ }
+ catch (...)
+ {
+ mostRecentException = FFStreamError("Unknown exception thrown");
+ mostRecentException.addText("In file " + filename);
+ mostRecentException.addLocation(FILE_LOCATION);
+ setstate(std::ios::failbit);
+ conditionalThrow();
+ }
+ }
+
+}
+
diff --git a/trunk/src/FFStream.hpp b/trunk/src/FFStream.hpp
new file mode 100644
index 0000000..7de1bea
--- /dev/null
+++ b/trunk/src/FFStream.hpp
@@ -0,0 +1,209 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFStream.hpp#1 $"
+
+/**
+ * @file FFStream.hpp
+ * Formatted File Stream, root class to provide formatted I/O operators ('<<' & '>>')
+ */
+
+#ifndef GPSTK_FFSTREAM_HPP
+#define GPSTK_FFSTREAM_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <typeinfo>
+
+#include "FFStreamError.hpp"
+#include "FFData.hpp"
+
+#include "StringUtils.hpp"
+
+#ifdef _MSC_VER
+using namespace std;
+#endif
+
+namespace gpstk
+{
+ /** @addtogroup formattedfile */
+ //@{
+
+ /// This gets thrown if a valid EOF occurs on formattedGetLine.
+ /// @ingroup exceptionclass
+ NEW_EXCEPTION_CLASS(EndOfFile, gpstk::FFStreamError);
+
+ /**
+ * Formatted File Stream (FFStream).
+ * This is just a root class to provice the single point formatted i/o
+ * operators (such as '<<' & '>>' ).
+ *
+ * As a special design consideration,
+ * all exceptions thrown are based on gpstk::Exception - all
+ * std::exception throws are rethrown as gpstk::Exception.
+ * Furthermore, exceptions will not be thrown unless exceptions
+ * are set to be thrown:
+ * @code
+ * fs.exceptions(std::fstream::failbit);
+ * @endcode
+ * where \c fs is the name of your file stream.
+ * Then when an exception occurs, conditionalThrow() will throw the
+ * last thrown exception.
+ * Otherwise when an exception occurs, the stream sets
+ * \c ios::fail and will not read any more. Exceptions for this
+ * class store the record number of the file for when the exception
+ * occurred as well as the file name and any detailed information
+ * about the error. For gpstk::FFTextStream, the line number
+ * of the file where the error was found is also recorded, allowing
+ * for easy location of file problems.
+ *
+ * When operating on the file, recordNumber will automatically increment
+ * with each read and write operation. When a file is opened with the
+ * constructor or with open(), all internal FFStream variables are
+ * reset. Derived classes should make sure any of their internal
+ * variables are reset when either of those function are called.
+ *
+ * Many file types have header data as part of the file format. When
+ * reading the file, the reader is not required to explicitly read in
+ * the header to access the data. To facilitate this, each of these
+ * stream classes has an internal header object that will store the
+ * header. The stream keeps track of whether it read the
+ * header or not, and reads the header if the internal state says
+ * it hasn't been read. When writing a file, the stream's
+ * internal header is used for those formats which use header information
+ * to determine what data is in the records.
+ * See RinexObsHeader::reallyGetRecord() and
+ * RinexObsData::reallyGetRecord()
+ * for an example of this.
+ *
+ * \sa FFData for more information
+ * \sa RinexObsData::reallyGetRecord() and
+ * RinexObsHeader::reallyGetRecord() for more information for files
+ * that read header data.
+ *
+ * @warning When using open(), the internal header data of the stream
+ * is not guaranteed to be retained.
+ */
+ class FFStream : public std::fstream
+ {
+ public:
+ /// virtual desctructor
+ virtual ~FFStream(void) {}
+
+ /**
+ * Default constructor
+ */
+ FFStream()
+ : recordNumber(0)
+ {}
+
+ /**
+ * Constructor.
+ * @param fn file name.
+ * @param mode file open mode (std::ios)
+ */
+ FFStream(const char* fn, std::ios::openmode mode=std::ios::in)
+ :
+#ifdef _MSC_VER
+ fstream(fn, mode),
+#else
+ std::fstream(fn, mode),
+#endif
+ recordNumber(0), filename(fn)
+ {}
+
+ /**
+ * Overrides fstream:open so derived classes can make appropriate
+ * internal changes (line count, header info, etc).
+ */
+ virtual void open(const char* fn, std::ios::openmode mode);
+
+ /**
+ * Throws \a mostRecentException only if the stream is enabled
+ * to throw exceptions when failbit is set.
+ * You can set this behavior with the following line of code:
+ * @code
+ * ffstreamobject.exceptions(ifstream::failbit);
+ * @endcode
+ * where \a ffstreamobject is the name of your stream object.
+ */
+ inline void conditionalThrow(void) throw(FFStreamError)
+ {
+ if (exceptions() & std::fstream::failbit)
+ GPSTK_THROW(mostRecentException);
+ }
+
+ ///@name Data members
+ ///@{
+ /// This stores the most recently thrown exception.
+ FFStreamError mostRecentException;
+
+ /// keeps track of the number of records read
+ unsigned int recordNumber;
+
+ /// file name
+ std::string filename;
+ //@}
+
+ /// FFData is a friend so it can access the try* functions.
+ friend class FFData;
+
+ protected:
+ /// Encapsulates shared try/catch blocks for all file types
+ /// to hide std::exception.
+ virtual void tryFFStreamGet(FFData& rec)
+ throw(FFStreamError, gpstk::StringUtils::StringException);
+
+ /// Encapsulates shared try/catch blocks for all file types
+ /// to hide std::exception.
+ virtual void tryFFStreamPut(const FFData& rec)
+ throw(FFStreamError, gpstk::StringUtils::StringException);
+
+ };
+
+ //@}
+
+} // end of namespace
+
+
+#endif
+
diff --git a/trunk/src/FFStreamError.hpp b/trunk/src/FFStreamError.hpp
new file mode 100644
index 0000000..e701ea8
--- /dev/null
+++ b/trunk/src/FFStreamError.hpp
@@ -0,0 +1,63 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFStreamError.hpp#1 $"
+
+/**
+ * @file FFStreamError.hpp
+ * Exceptions for FFStream
+ */
+
+#ifndef GPSTK_FFSTREAMERROR_HPP
+#define GPSTK_FFSTREAMERROR_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Exception.hpp"
+
+namespace gpstk
+{
+ /// FFStreamError is an exception for when the file read doesn't
+ /// match the specs for that file type.
+ /// @ingroup exceptionclass
+ /// @ingroup formattedfile
+ NEW_EXCEPTION_CLASS(FFStreamError, gpstk::Exception);
+}
+
+#endif
diff --git a/trunk/src/FFTextStream.hpp b/trunk/src/FFTextStream.hpp
new file mode 100644
index 0000000..af55189
--- /dev/null
+++ b/trunk/src/FFTextStream.hpp
@@ -0,0 +1,220 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFTextStream.hpp#1 $"
+
+/**
+ * @file FFTextStream.hpp
+ * An FFStream for text files
+ */
+
+#ifndef GPSTK_FFTEXTSTREAM_HPP
+#define GPSTK_FFTEXTSTREAM_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFStream.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup formattedfile */
+ //@{
+
+ /**
+ * An FFStream that is meant for reading text. This also includes
+ * an internal line count and a read line method. When reading and
+ * using the formattedGetLine() call, the lineNumber automatically
+ * increments. However, any other read and all write calls do not
+ * update the line number - the derived class or programmer
+ * needs to make sure
+ * that the reader or writer increments lineNumber in these cases.
+ */
+ class FFTextStream : public FFStream
+ {
+ public:
+ /// destructor
+ virtual ~FFTextStream() {}
+
+ /// Default constructor
+ FFTextStream()
+ : lineNumber(0)
+ {}
+
+ /**
+ * Constructor.
+ * @param fn file name.
+ * @param mode file open mode (std::ios)
+ */
+ FFTextStream(const char* fn, std::ios::openmode mode=std::ios::in)
+ : FFStream(fn, mode), lineNumber(0)
+ {}
+
+ /// Overrides open to reset the line number.
+ virtual void open(const char* fn, std::ios::openmode mode)
+ { FFStream::open(fn, mode); lineNumber = 0; }
+
+ /// the internal line count. When writing, make sure
+ /// to increment this.
+ unsigned int lineNumber;
+
+ /**
+ * Like std::istream::getline but checks for EOF and removes '/r'.
+ * Also increments lineNumber. When \a expectEOF is true and EOF
+ * is found, an gpstk::EndOfFile exception is thrown. If
+ * \a expectEOF is false and an EOF is encountered, an
+ * gpstk::FFStreamError is thrown.
+ * @param line is set to the value of the line read from the file.
+ * @param expectEOF set true if finding EOF on this read is acceptable.
+ * @throw EndOfFile if \a expectEOF is true and an EOF is encountered.
+ * @throw FFStreamError if EOF is found and \a expectEOF is false
+ * @throw gpstk::StringUtils::StringException when a string error occurs
+ * or if any other error happens.
+ * @warning There is a maximum line length of 256 characters when
+ * using this function.
+ */
+ inline void formattedGetLine(std::string& line,
+ const bool expectEOF = false)
+ throw(EndOfFile, FFStreamError, gpstk::StringUtils::StringException);
+
+
+ protected:
+ /// calls FFStream::tryFFStreamGet and adds line number information
+ virtual void tryFFStreamGet(FFData& rec)
+ throw(FFStreamError, gpstk::StringUtils::StringException)
+ {
+ unsigned int initialLineNumber = lineNumber;
+
+ try
+ {
+ FFStream::tryFFStreamGet(rec);
+ }
+ catch(gpstk::Exception& e)
+ {
+ e.addText(std::string("Near file line ") +
+ gpstk::StringUtils::asString(lineNumber));
+ lineNumber = initialLineNumber;
+ mostRecentException = e;
+ conditionalThrow();
+ }
+ }
+
+ /// calls FFStream::tryFFStreamPut and adds line number information
+ virtual void tryFFStreamPut(const FFData& rec)
+ throw(FFStreamError, gpstk::StringUtils::StringException)
+ {
+ unsigned int initialLineNumber = lineNumber;
+
+ try
+ {
+ FFStream::tryFFStreamPut(rec);
+ }
+ catch(gpstk::Exception& e)
+ {
+ e.addText(std::string("Near file line ") +
+ gpstk::StringUtils::asString(lineNumber));
+ lineNumber = initialLineNumber;
+ mostRecentException = e;
+ conditionalThrow();
+ }
+ }
+
+ };
+
+ // the reason for checking ffs.eof() in the try AND catch block is
+ // because if the user enabled exceptions on the stream with exceptions()
+ // then eof could throw an exception, in which case we need to catch it
+ // and rethrow an EOF or FFStream exception. In any event, EndOfFile
+ // gets thrown whenever there's an EOF and expectEOF is true
+ void FFTextStream::formattedGetLine(std::string& line,
+ const bool expectEOF)
+ throw(EndOfFile, FFStreamError, gpstk::StringUtils::StringException)
+ {
+ try
+ {
+ const int MAX_LINE_LENGTH = 256;
+ char templine[MAX_LINE_LENGTH + 1];
+ getline(templine, MAX_LINE_LENGTH);
+ lineNumber++;
+ line = templine;
+ gpstk::StringUtils::stripTrailing(line, '\r');
+ // catch EOF when stream exceptions are disabled
+ if ((gcount() == 0) && eof())
+ {
+ if (expectEOF)
+ {
+ EndOfFile err("EOF encountered");
+ GPSTK_THROW(err);
+ }
+ else
+ {
+ FFStreamError err("Unexpected EOF encountered");
+ GPSTK_THROW(err);
+ }
+ }
+ }
+ catch(std::exception &e)
+ {
+ // catch EOF when exceptions are enabled
+ if ( (gcount() == 0) && eof())
+ {
+ if (expectEOF)
+ {
+ EndOfFile err("EOF encountered");
+ GPSTK_THROW(err);
+ }
+ else
+ {
+ FFStreamError err("Unexpected EOF");
+ GPSTK_THROW(err);
+ }
+ }
+ else
+ {
+ FFStreamError err("Critical file error: " +
+ std::string(e.what()));
+ GPSTK_THROW(err);
+ }
+ }
+ }
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/FICAStream.hpp b/trunk/src/FICAStream.hpp
new file mode 100644
index 0000000..5f41961
--- /dev/null
+++ b/trunk/src/FICAStream.hpp
@@ -0,0 +1,90 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICAStream.hpp#1 $"
+
+/**
+ * @file FICAStream.hpp
+ * gpstk::FICAStream - ASCII FIC file stream container.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICASTREAM_HPP
+#define FICASTREAM_HPP
+
+#include "FICStreamBase.hpp"
+#include "FFTextStream.hpp"
+
+namespace gpstk
+{
+ /**
+ * This is a stream used to obtain data from an ascii FIC File.
+ *
+ * \sa fica_test.cpp for an example.
+ *
+ * \sa FICData and FICHeader.
+ */
+ class FICAStream : public FICStreamBase, public FFTextStream
+ {
+ public:
+ /// Default constructor
+ FICAStream() {}
+
+ /**
+ * Constructor
+ * @param fn the name of the ascuu FIC file to be opened
+ * @param mode the ios::openmode to be used on \a fn
+ */
+ FICAStream(const char* fn,
+ std::ios::openmode mode=std::ios::in)
+ : FFTextStream(fn, mode)
+ {}
+
+ /// destructor per the coding standards
+ virtual ~FICAStream() {}
+
+ /// overrides open to reset the header
+ virtual void open(const char* fn, std::ios::openmode mode)
+ { FFTextStream::open(fn, mode); FICStreamBase::open(); }
+
+ }; // class FICStream
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/FICBase.hpp b/trunk/src/FICBase.hpp
new file mode 100644
index 0000000..29619ba
--- /dev/null
+++ b/trunk/src/FICBase.hpp
@@ -0,0 +1,67 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICBase.hpp#1 $"
+
+/**
+ * @file FICBase.hpp
+ * gpstk::FICBase - base class for FIC FFData.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICBASE_HPP
+#define FICBASE_HPP
+
+#include "FFData.hpp"
+
+namespace gpstk
+{
+ /**
+ * This is a base class for all FIC-related classes.
+ */
+ class FICBase : public FFData
+ {
+ public:
+ /// in deference to our coding standards, this is declared virtual
+ virtual ~FICBase() {}
+ };
+}
+
+#endif
diff --git a/trunk/src/FICData.cpp b/trunk/src/FICData.cpp
new file mode 100644
index 0000000..39fecf5
--- /dev/null
+++ b/trunk/src/FICData.cpp
@@ -0,0 +1,1182 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICData.cpp#10 $"
+
+/**
+ * @file FICData.cpp
+ * gpstk::FICData - container for the FIC file data.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "StringUtils.hpp"
+#include "BinUtils.hpp"
+#include "FICData.hpp"
+#include "FICStream.hpp"
+#include "FICAStream.hpp"
+
+#include <cmath>
+
+#include "gpstkplatform.h"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+using namespace gpstk::BinUtils;
+
+ // the "blk " literal is 4 chrs wide
+const int FICBlkHdrSize = 4;
+
+namespace gpstk
+{
+ const string FICData::blockString = "BLK ";
+
+ void FICData::reallyPutRecord(FFStream& ffs) const
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError)
+ {
+ if (!isValid())
+ {
+ FFStreamError e("Tried to write an invalid FIC block");
+ GPSTK_THROW(e);
+ }
+
+ // is this a FIC or FICA stream?
+ // remember that a FICAStream derives from FICStream, so check
+ // for FICA first
+ if (dynamic_cast<FICAStream*>(&ffs))
+ {
+ FICAStream& strm = dynamic_cast<FICAStream&>(ffs);
+
+ strm << '\n' << blockString;
+ strm << setw(6) << blockNum
+ << setw(5) << f.size()
+ << setw(5) << i.size()
+ << setw(5) << c.size();
+ unsigned long index;
+ for (index = 0; index < f.size(); index++)
+ {
+ if ((index % 4) == 0)
+ strm << '\n';
+ double l10 = log10(fabs(f[index]));
+ if ( ((l10 >= 100) || (l10 <= -100)) && (f[index] != 0))
+ strm << doub2for(f[index], 20, 3);
+ else
+ strm << doub2for(f[index], 20, 2);
+ }
+ for (index = 0; index < i.size(); index++)
+ {
+ if ((index % 6) == 0)
+ strm << '\n';
+ strm << setw(12) << i[index];
+ }
+ for (index = 0; index < c.size(); index++)
+ {
+ if ((index % 8) == 0)
+ strm << '\n';
+ strm << setw(8) << c[index];
+ }
+ }
+ else
+ {
+ if (dynamic_cast<FICStream*>(&ffs))
+ {
+ FICStream& strm = dynamic_cast<FICStream&>(ffs);
+
+ strm << blockString;
+ strm.writeData<int32_t>(hostToIntel(blockNum));
+ strm.writeData<uint32_t>(hostToIntel(static_cast<uint32_t>(f.size())));
+ strm.writeData<uint32_t>(hostToIntel(static_cast<uint32_t>(i.size())));
+ strm.writeData<uint32_t>(hostToIntel(static_cast<uint32_t>(c.size())));
+ unsigned long index;
+ for (index = 0; index < f.size(); index++)
+ strm.writeData<double>(hostToIntel(f[index]));
+ for (index = 0; index < i.size(); index++)
+ strm.writeData<int32_t>(hostToIntel(i[index]));
+ for (index = 0; index < c.size(); index++)
+ strm.writeData<char>(hostToIntel(c[index]));
+ }
+ // bad cast!!!
+ else
+ {
+ FFStreamError e("FICData tried to read from a non-FIC file");
+ GPSTK_THROW(e);
+ }
+ }
+ }
+
+ bool FICData::isValid() const
+ {
+ switch(blockNum) {
+ case 109:
+ if((f.size() == 0) && (i.size() == 32) && (c.size() == 0))
+ return true;
+ break;
+ case 9:
+ if((f.size() == 60) && (i.size() == 0) && (c.size() == 0))
+ return true;
+ break;
+ case 162:
+ if((f.size() == 0) && (i.size() == 15) && (c.size() == 0))
+ return true;
+ break;
+ case 62:
+ if(( (f.size() == 20) || (f.size() == 32) || (f.size() == 14) ||
+ (f.size() == 23) || (f.size() == 47) || (f.size() == 29) )
+ && (i.size() == 6) && (c.size() == 0))
+ return true;
+ break;
+ default:
+ return false;
+ break;
+ }
+ return false;
+ }
+
+ void FICData::dump(ostream& s) const
+ {
+ int n;
+ s << "FIC BlockNumber: " << blockNum << endl
+ << " floats: " << flush;
+ for(n = 0; n< f.size(); n++)
+ s << f[n] << " " << flush;
+ s << endl << " integers: " << flush;
+ for(n = 0; n< i.size(); n++)
+ s << i[n] << " " << flush;
+ s << endl << " chars: " << flush;
+ for(n = 0; n< c.size(); n++)
+ s << c[n] << " " << flush;
+ s << endl << endl;
+ };
+
+ void FICData::prettyDump(ostream& os) const
+ {
+ switch (blockNum)
+ {
+ case 109:
+ prettyDump109(os);
+ break;
+ case 9:
+ prettyDump9(os);
+ break;
+ case 62:
+ prettyDump62(os);
+ break;
+ case 162:
+ prettyDump162(os);
+ break;
+ default:
+ break;
+ }
+ }
+
+ void FICData::prettyDump9(ostream& os) const
+ {
+ short j;
+ short ndx[3] = { 9, 25, 52 };
+ short iod;
+ short itemp;
+ short epochWeek;
+ double epochTime, xmitTime, diff;
+
+ os << "**************************************";
+ os << "**************************************\n";
+ os << " Block Number : ";
+ os.width(3);
+ os << blockNum << "\n";
+ os << "Broadcast Ephemeris (Engineering Units)\n";
+ os << "\n";
+ os << "PRN : ";
+ os.width(2);
+ os << f[19] << "\n\n";
+
+ // Check for week rollover between nav msg week # and
+ // epoch time week number.
+ epochTime = f[12];
+ xmitTime = f[2];
+ diff = -1 * (epochTime - xmitTime);
+ if (diff > DayTime::HALFWEEK) epochWeek = (short) f[5] + 1;
+ else epochWeek = (short) f[5];
+ timeDisplay( os, "Clock Epoch:", epochWeek, f[12], 1 );
+
+ epochTime = f[33];
+ xmitTime = f[22];
+ diff = -1 * (epochTime - xmitTime);
+ if (diff > DayTime::HALFWEEK) epochWeek = (short) f[5] + 1;
+ else epochWeek = (short) f[5];
+ timeDisplay( os, "Eph Epoch:", epochWeek, f[33], 0 );
+
+ os << "Transmit Week:";
+ os.width(4);
+ os << f[5] << "\n";
+ os.width(2);
+ os << "Fit interval flag : " << f[34] << "\n";
+
+ os << "\n";
+ os << " SUBFRAME OVERHEAD\n\n";
+ os << " SOW DOW:HH:MM:SS IOD ALERT A-S\n";
+ for (j=0;j<3;j++)
+ {
+ os.width(1);
+ os << "SF" << (j+1) << " HOW: ";
+ os.width(7);
+ os << f[2+j*20];
+
+ // Convert SOW to D:H:M:S and output
+ os << " ";
+ shortcut( os, f[2+j*20]);
+ if (j==0)os << " ";
+ else os << " ";
+ os.setf(ios::uppercase);
+ // Due to ancient use of FIC back
+ // when IODC/IODE were AODC/AODE,
+ // the IODC/IODE values are scaled by 2**10
+ // in FIC and have to unscaled.
+ iod = (short) (f[ndx[j]] / 2048);
+ iod = iod;
+ os << "0x";
+ os.fill('0');
+ if (j==0) os.width(3); // IODC is longer
+ else os.width(2);
+ os << hex << iod << dec << " ";
+ os.fill(' ');
+ // Word 4 (index 3) combines the "Alert" bit and the A-S flag
+ itemp = (short) f[3+j*20];
+ if (itemp & 0x0002) os << "1 "; // "Alert" bit handling
+ else os << "0 ";
+ if (itemp & 0x0001) os << " on\n"; // A-S flag handling
+ else os << "off\n";
+ }
+ os << "\n CLOCK\n\n";
+ os << "Bias T0: ";
+ os.setf(ios::scientific, ios::floatfield);
+ os.setf(ios::right, ios::adjustfield);
+ os.precision(8);
+ os.width(16);
+ os << f[15] << " sec\n";
+ os << "Drift: ";
+ os.width(16);
+ os << f[14] << " sec/sec\n";
+ os << "Drift rate: ";
+ os.width(16);
+ os << f[13] << " sec/(sec**2)\n";
+ os << "Group delay: ";
+ os.width(16);
+ os << f[11] << " sec\n";
+ os.setf(ios::fixed, ios::floatfield);
+ os.precision(0);
+
+ os << "\n ORBIT PARAMETERS\n\n";
+ os << "Semi-major axis: ";
+ os.setf(ios::scientific, ios::floatfield);
+ os.setf(ios::right, ios::adjustfield);
+ os.precision(8);
+ os.width(16);
+ os << f[32] << " m**.5\n";
+ os << "Motion correction: ";
+ os.width(16);
+ os << f[27] << " rad/sec\n";
+ os << "Eccentricity: ";
+ os.width(16);
+ os << f[30] << "\n";
+ os << "Arg of perigee: ";
+ os.width(16);
+ os << f[50] << " rad\n";
+ os << "Mean anomaly at epoch: ";
+ os.width(16);
+ os << f[28] << " rad\n";
+ os << "Right ascension: ";
+ os.width(16);
+ os << f[46] << " rad ";
+ os.width(16);
+ os << f[51] << " rad/sec\n";
+ os << "Inclination: ";
+ os.width(16);
+ os << f[48] << " rad ";
+ os.width(16);
+ os << f[53] << " rad/sec\n";
+ os.setf(ios::fixed, ios::floatfield);
+ os.precision(0);
+
+ os << "\n HARMONIC CORRECTIONS\n\n";
+ os << "Radial Sine: ";
+ os.setf(ios::scientific, ios::floatfield);
+ os.setf(ios::right, ios::adjustfield);
+ os.precision(8);
+ os.width(16);
+ os << f[26] << " m Cosine: ";
+ os.width(16);
+ os << f[49] << " m\n";
+ os << "Inclination Sine: ";
+ os.width(16);
+ os << f[47] << " rad Cosine: ";
+ os.width(16);
+ os << f[45] << " rad\n";
+ os << "In-track Sine: ";
+ os.width(16);
+ os << f[31] << " rad Cosine: ";
+ os.width(16);
+ os << f[29] << " rad\n";
+ os.setf(ios::fixed, ios::floatfield);
+ os.precision(0);
+
+ os << "\n SV STATUS\n\n";
+ os << "Health bits: 0x";
+ os.fill('0');
+ os.width(2);
+ os << (short) f[8] << " URA index: ";
+ os.fill(' ');
+ os.width(4);
+ os << f[7] << "\n";
+ os << "Code on L2: ";
+ switch ( (short) f[6] )
+ {
+ case 0:
+ os << "reserved";
+ break;
+
+ case 1:
+ os << " P only";
+ break;
+
+ case 2:
+ os << " C/A only";
+ break;
+
+ case 3:
+ os << " P & C/A";
+ break;
+
+ default:
+ break;
+
+ }
+ os << " L2 P Nav data: ";
+ if ( (short) f[10]!=0) os << "off";
+ else os << "on";
+ os << "\n";
+ }
+
+ void FICData::prettyDump109(ostream & os) const
+ {
+ os << "**************************************";
+ os << "**************************************\n";
+ os << " Block Number : ";
+ os.width(3);
+ os << blockNum << "\n";
+ os << "Broadcast Ephemeris as Transmitted\n";
+ os << "\n";
+ os << "PRN : ";
+ os.width(2);
+ os << i[1] << "\n";
+ timeDisplay( os, "Transmit time:",
+ i[0],
+ ((i[3] & 0x3FFFFFFFL) >> 13) * 6,
+ 2 );
+ os.setf(ios::uppercase);
+ os << "\n";
+ os << "Hexadecimal dump of words 1-10";
+ short j;
+ for (j=0;j<10;j++)
+ {
+ if (j==0 || j ==5 ) os << "\n";
+ os << " ";
+ os.width(2);
+ os << (j+1) << ":";
+ os.width(8);
+ os.fill('0');
+ os << hex << i[j+2] << dec;
+ os.fill(' ');
+ }
+ os << "\n\n";
+ os << "Hexadecimal dump of words 11-20";
+ for (j=10;j<20;j++)
+ {
+ if (j==10 || j ==15 ) os << "\n";
+ os << " ";
+ os.width(2);
+ os << (j+1) << ":";
+ os.width(8);
+ os.fill('0');
+ os << hex << i[j+2] << dec;
+ os.fill(' ');
+ }
+ os << "\n\n";
+ os << "Hexadecimal dump of words 21-30";
+ for (j=20;j<30;j++)
+ {
+ if (j==20 || j ==25 ) os << "\n";
+ os << " ";
+ os.width(2);
+ os << (j+1) << ":";
+ os.width(8);
+ os.fill('0');
+ os << hex << i[j+2] << dec;
+ os.fill(' ');
+ }
+ os << "\n\n";
+ }
+
+ void FICData::prettyDump62(ostream & os) const
+ {
+ short j,k;
+ unsigned short btmp;
+ unsigned long aword;
+ short rotate;
+ char ochar;
+ short almType;
+
+ os << "**************************************";
+ os << "**************************************\n";
+ os << " Block Number : ";
+ os.width(3);
+ os << blockNum << "\n";
+ os << "Almanac(Engineering Units)\n";
+ os << "\n";
+ os << "SV ID : ";
+ os.setf(ios::right, ios::adjustfield);
+ os.width(2);
+ os << i[3] << "\n";
+ timeDisplay( os, "Transmit time", i[5], i[1], 1 );
+ os << "Reference Wk ";
+ os.width(4);
+ os << i[0] << "\n";
+ almType = (short) f[6];
+ if (almType>0&&almType<33)
+ {
+ // Output of SV almanac data
+ timeDisplay( os, "Epoch time", (short) f[18], f[8], 0);
+ os << "\n";
+ os << "CLOCK\n";
+ os.setf(ios::scientific, ios::floatfield);
+ os.setf(ios::right, ios::adjustfield);
+ os.precision(8);
+ os << " Bias: ";
+ os.width(16);
+ os << f[16] << " sec\n";
+ os << " Drift: ";
+ os.width(16);
+ os << f[17] << " sec/sec\n";
+
+ os << "\nORBIT PARAMETERS\n";
+ os << " Semi-major axis: ";
+ os.width(16);
+ os << f[12] << " m**.5\n";
+ os << " Eccentricity: ";
+ os.width(16);
+ os << f[7] << "\n";
+ os << " Arg of perigee: ";
+ os.width(16);
+ os << f[14] << " rad\n";
+ os << " Mean anamoly of epoch: ";
+ os.width(16);
+ os << f[15] << " rad\n";
+ os << " Right Ascension: ";
+ os.width(16);
+ os << f[13] << " rad ";
+ os.width(16);
+ os << f[10] << " rad/sec\n";
+ os << " Inclination: ";
+ os.width(16);
+ os << f[9] << " rad (from 54 deg)\n";
+
+ os.setf(ios::fixed, ios::floatfield);
+ os.precision(0);
+ }
+ else if (almType>=57 && almType<=62 )
+ {
+ // Hexadecimal dump
+ os << "\n";
+ os << "Hexadecimal dump of non-parity bits of words 3-10\n";
+// os << " **This feature under construction.**\n";
+ os.setf(ios::uppercase);
+ for (k=2;k<10;k++)
+ {
+ if (k==2 || k==6 ) os << "\n";
+ os << " ";
+ os.width(2);
+ os << (k+1) << ":";
+ os.width(6); // 'stead 6
+ os.fill('0');
+ aword = (unsigned long) f[k+5];
+// aword >>= 6; // The data had parity stripped
+ // during subframe conversion.
+ os << hex << aword << dec;
+ os.fill(' ');
+ }
+
+ }
+ else switch (almType)
+ {
+ case 51: // Health 1
+ os << "\n";
+ os << "Page Type: SV Health Information\n";
+ os << "\nAlmanac reference week (8 bit): ";
+ os.precision(0);
+ os << f[7] << "\n";
+ os << "SV Health Information for PRN 1-24\n\n";
+ os << " --Health--- --Health--- --Health--- --Health---\n";
+ os << "PRN Hex Binary PRN Hex Binary PRN Hex Binary PRN Hex Binary\n";
+ os.setf(ios::uppercase);
+ for (k=1;k<=21;k+=4)
+ {
+ for (j=k;j<k+4;j++)
+ {
+ if (j!=k) os << " ";
+ else os << " ";
+ os.width(2);
+ os.fill('0');
+ os << j;
+ os.fill(' ');
+ os << " ";
+ btmp = (unsigned short) f[j+7];
+ btmp &= 0x003F;
+ os.fill('0');
+ os.width(2);
+ os << hex << btmp << dec;
+ os.fill(' ');
+ os << " ";
+ btmp = (unsigned short) f[j+7];
+ for (rotate=0;rotate<6;rotate++)
+ {
+ if (btmp & 0x20) os << "1";
+ else os << "0";
+ btmp <<= 1;
+ }
+ }
+ os << "\n";
+ }
+ break;
+
+ case 52:
+ case 53:
+ case 54:
+ os << "\n";
+ if (almType==52) os << "Page Type: Subframe 4 Page 13, Reserved Bits\n";
+ if (almType==53) os << "Page Type: Subframe 4 Page 14, Reserved Bits\n";
+ if (almType==54) os << "Page Type: Subframe 4 Page 15, Reserved Bits\n";
+ // Hexadecimal dump
+ os << "Hexadecimal dump of non-parity bits of words 3-10\n";
+ os << " **This feature under construction.**\n";
+ os << " **This page is decoded incorrectly in the ";
+ os << "subframe converter.**\n";
+/* os.setf(ios::uppercase);
+ for (j=2;j<10;j++)
+ {
+ if (j==2 || j==6 ) os << "\n";
+ os << " ";
+ os.width(2);
+ os << (j+1) << ":";
+ os.width(6);
+ os.fill('0');
+ aword = i[j+2];
+ aword >>= 6;
+ os << hex << aword << dec;
+ os.fill(' ');
+ }
+*/
+ break;
+
+ case 55:
+ os << "\n";
+ os << "Page Type: Subframe 4 Page 17, Special Message\n";
+ // Hexadecimal dump
+ // Loop over words 3-10
+ os << "\n Message : \"";
+ for (k=1;k<23;k++)
+ {
+ aword = (unsigned long) f[k+6];
+ ochar = (char) aword;
+ os << ochar;
+ }
+ os << "\"\n";
+ break;
+
+ case 56:
+ os << "\n";
+ os << "Page Type: UTC and Ionospheric Information\n";
+ os.setf(ios::scientific, ios::floatfield);
+ os.setf(ios::right, ios::adjustfield);
+ os.precision(8);
+ os << "\n";
+ os << "IONOSPHERIC PARAMETERS \n";
+ os << " Alpha 1 : ";
+ os.width(16);
+ os << f[7] << " sec Beta 1 : ";
+ os.width(16);
+ os << f[11] << "sec\n";
+ os << " Alpha 2 : ";
+ os.width(16);
+ os << f[8] << " sec/rad Beta 2 : ";
+ os.width(16);
+ os << f[12] << " sec/rad\n";
+ os << " Alpha 3 : ";
+ os.width(16);
+ os << f[9] << " sec/rad**2 Beta 3 : ";
+ os.width(16);
+ os << f[13] << " sec/rad**2\n";
+ os << " Alpha 4 : ";
+ os.width(16);
+ os << f[10] << " sec/rad**3 Beta 4 : ";
+ os.width(16);
+ os << f[14] << " sec/rad**3\n\n";
+
+ os << "GPS-UTC CORRECTION PARAMETERS\n";
+ os << " Bias (A0) ";
+ os.width(16);
+ os << f[15] << " sec\n";
+ os << " Drift (A1) ";
+ os.width(16);
+ os << f[16] << " sec/sec\n";
+ os.setf(ios::fixed, ios::floatfield);
+ os.precision(0);
+ os << " Reference time (tot) ";
+ os.width(16);
+ os << f[17] << " sec of week\n";
+ os << " Current leap second (dtls) ";
+ os.width(16);
+ os << f[19] << " sec\n";
+ os << " Ref week of current leap second (WNt) ";
+ os.width(16);
+ os << f[18] << " weeks\n";
+ os << " Week of next/last change (WNLSF) ";
+ os.width(16);
+ os << f[20] << " weeks\n";
+ os << " Day number of future change (DN) ";
+ os.width(16);
+ os << f[21] << " day of week\n";
+ os << " Scheduled future time increment due to\n";
+ os << " lead seconds (dtLSF) ";
+ os.width(16);
+ os << f[22] << " sec\n";
+ break;
+
+ case 63: // Health 2
+ os << "\n";
+ os << "Page Type: SV Health and Configuration Information\n\n";
+ os.precision(0);
+ os << "SV Health Information for PRN 25-32\n";
+ os << "-----Health----- -----Health----- -----Health----- -----Health-----\n";
+ os << "PRN Hex Binary PRN Hex Binary PRN Hex Binary PRN Hex Binary\n";
+ for (k=25;k<=29;k+=4)
+ {
+ for (j=k;j<k+4;j++)
+ {
+ if (j!=k) os << " ";
+ else os << " ";
+ os.width(2);
+ os.fill('0');
+ os << j;
+ os.fill(' ');
+ os << " ";
+ btmp = (unsigned short) f[j+14];
+ btmp &= 0x003F;
+ os.fill('0');
+ os.width(2);
+ os << hex << btmp << dec;
+ os.fill(' ');
+ os << " ";
+ btmp = (unsigned short) f[j+14];
+ for (rotate=0;rotate<6;rotate++)
+ {
+ if (btmp & 0x20) os << "1";
+ else os << "0";
+ btmp <<= 1;
+ }
+ }
+ os << "\n";
+ }
+
+ os << "\nSV Configuration for PRN 1-32 (bit coded)\n";
+ os << "-----Config----- -----Config----- -----Config----- -----Config-----\n";
+ os << "PRN Binary PRN Binary PRN Binary PRN Binary\n";
+ os.fill('0');
+ for (k=1;k<32;k+=4)
+ {
+ for (j=k;j<(k+4);j++)
+ {
+ if (j==k) os << " ";
+ else os << " ";
+ os.width(2);
+ os << j << " ";
+ btmp = (unsigned short) f[j+6];
+ for (rotate=0;rotate<4;rotate++)
+ {
+ if (btmp & 0x08) os << "1";
+ else os << "0";
+ btmp <<= 1;
+ }
+ }
+ os << "\n";
+ }
+ os.fill(' ');
+ break;
+
+ default:
+ break;
+ }
+ os << "\n\n";
+ }
+
+ void FICData::prettyDump162(ostream & os) const
+ {
+ os << "**************************************";
+ os << "**************************************\n";
+ os << " Block Number : ";
+ os.width(3);
+ os << blockNum << "\n";
+ os << "As Broadcast Almanac\n";
+ os << "\n";
+ os << "SV ID : ";
+ os.width(2);
+ os << i[0] << "\n";
+ timeDisplay( os, "Transmit time",
+ i[14],
+ ((i[2] & 0x3FFFFFFFL) >> 13) * 6,
+ 1 );
+
+ // Added to display reference week in addition to transmit week.
+ os << "Reference Wk ";
+ os.width(4);
+ os << i[13];
+ os << "\n";
+
+ os.setf(ios::uppercase);
+ os << "\n";
+ os << "Hexadecimal dump of words in subframe";
+ short j;
+ for (j=0;j<10;j++)
+ {
+ if (j==0 || j ==5 ) os << "\n";
+ os << " ";
+ os.width(2);
+ os << (j+1) << ":";
+ os.width(8);
+ os.fill('0');
+ os << hex << i[j+1] << dec;
+ os.fill(' ');
+ }
+ os << "\n\n";
+ }
+
+ // shortcut is used in outBlock9 to convert the
+ // HOW word time to D:H:M:S and print it out.
+ void FICData::shortcut(ostream & os, const double HOW ) const
+ {
+ short DOW, hour, min, sec;
+ long SOD, SOW;
+ short SOH;
+
+ SOW = (long) HOW;
+ DOW = (short) (SOW / DayTime::SEC_DAY);
+ SOD = SOW - DOW * long(DayTime::SEC_DAY);
+ hour = (short) (SOD/3600);
+
+ SOH = (short) (SOD - (hour*3600));
+ min = SOH/60;
+
+ sec = SOH - min * 60;
+ switch (DOW)
+ {
+ case 0: os << "Sun-0"; break;
+ case 1: os << "Mon-1"; break;
+ case 2: os << "Tue-2"; break;
+ case 3: os << "Wed-3"; break;
+ case 4: os << "Thu-4"; break;
+ case 5: os << "Fri-5"; break;
+ case 6: os << "Sat-6"; break;
+ default: break;
+ }
+ os << ":";
+ os.fill('0');
+ os.width(2);
+ os << hour << ":";
+ os.width(2);
+ os << min << ":";
+ os.width(2);
+ os << sec;
+ }
+
+ // timeDisplay method provides a standard means for displaying
+ // the GPS time and d/m/y h:m:s. The calling program provides
+ // the opening text string for the line, the GPS week, the GPS SOW,
+ // and a flag indicating if the header line is to be output.
+ // (The latter is helpful when there are two or more times to be
+ // output one above the other.)
+ void FICData::timeDisplay( ostream & os, const char * legend,
+ const short week, const double SOW,
+ const short headerFlag ) const
+ {
+ DayTime dt;
+ short slen;
+ short j;
+
+ if (headerFlag)
+ os << " Week(10bt) SOW DOW UTD SOD MM/DD/YYYY HH:MM:SS\n";
+ os << legend;
+ slen = strlen(legend);
+ for (j=1;j<(15-slen);j++) os << " ";
+
+ // Convert to daytime struct from GPS wk,SOW to M/D/Y, H:M:S.
+ dt.setGPSfullweek(week, SOW);
+
+ os.width(4);
+ os << dt.GPSfullweek() << "(";
+ os.width(4);
+ os << dt.GPS10bitweek() << ") ";
+ os.width(6);
+ os << dt.GPSsecond() << " ";
+
+ switch (dt.GPSday())
+ {
+ case 0: os << "Sun-0"; break;
+ case 1: os << "Mon-1"; break;
+ case 2: os << "Tue-2"; break;
+ case 3: os << "Wed-3"; break;
+ case 4: os << "Thu-4"; break;
+ case 5: os << "Fri-5"; break;
+ case 6: os << "Sat-6"; break;
+ default: break;
+ }
+ os << " ";
+ os.fill('0');
+ os.width(3);
+ os << dt.DOYday() << " ";
+ os.width(5);
+ os << dt.DOYsecond() << " ";
+ os.width(2);
+ os << dt.month() << "/";
+ os.width(2);
+ os << dt.day() << "/";
+ os.width(4);
+ os << dt.year() << " ";
+ os.width(2);
+ os << dt.hour() << ":";
+ os.width(2);
+ os << dt.minute() << ":";
+ os.width(2);
+ os << dt.second() << "\n";
+ os.fill(' ');
+ }
+
+ void FICData::reallyGetRecord(FFStream& ffs)
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError)
+ {
+ // is this a FIC or FICA stream?
+ if (dynamic_cast<FICAStream*>(&ffs))
+ {
+ FICAStream& strm = dynamic_cast<FICAStream&>(ffs);
+
+ // Make sure the header has been read.
+ if (!strm.headerRead)
+ strm >> strm.header;
+
+ f.clear();
+ i.clear();
+ c.clear();
+
+ string line;
+ strm.formattedGetLine(line, true);
+ string blkHdr(line.substr(0,4));
+
+ if ( (blkHdr.size() != FICBlkHdrSize) ||
+ (blkHdr != blockString))
+ {
+ FFStreamError e("Bad block header, record=" +
+ asString(strm.recordNumber) +
+ " location=" + asString(strm.tellg()));
+ e.addText(string("blkHdr=[")+string(blkHdr)+string("]"));
+ GPSTK_THROW(e);
+ }
+ // get block number
+ blockNum = asInt(line.substr(4, 6));
+
+ // get num of f,i, and c to read then read them
+ long numf = asInt(line.substr(10,5)),
+ numi = asInt(line.substr(15,5)),
+ numc = asInt(line.substr(20,5));
+
+ long n;
+
+ for (n = 0; n < numf; n++)
+ {
+ if (n%4 == 0)
+ strm.formattedGetLine(line);
+ f.push_back(for2doub(line.substr((n%4)*20, 20), 20));
+ }
+
+ for (n = 0; n < numi; n++)
+ {
+ if (n%6 == 0)
+ strm.formattedGetLine(line);
+ i.push_back(asInt(line.substr((n%6)*12, 12)));
+ }
+
+ for (n = 0; n < numc; n++)
+ {
+ if (n%8 == 0)
+ strm.formattedGetLine(line);
+ c.push_back(line.substr((n%8)*8 + 7, 1)[0]);
+ }
+
+ if (!isValid())
+ {
+ FFStreamError e("Read an invalid FIC block");
+ GPSTK_THROW(e);
+ }
+ }
+ else
+ {
+ if (dynamic_cast<FICStream*>(&ffs))
+ {
+ FICStream& strm = dynamic_cast<FICStream&>(ffs);
+
+ // Make sure the header has been read.
+ if (!strm.headerRead)
+ strm >> strm.header;
+
+ f.clear();
+ i.clear();
+ c.clear();
+
+ char blkHdr[FICBlkHdrSize + 1];
+ unsigned location = strm.tellg();
+
+ try
+ {
+ strm.get(blkHdr, FICBlkHdrSize+1);
+ }
+ catch(std::exception &e)
+ {
+ // process as an end-of-file if it is one.
+ if (strm.gcount() == 0 && strm.eof())
+ {
+ EndOfFile err("EOF encountered");
+ GPSTK_THROW(err);
+ }
+ // rethrow the exception if it's something else
+ throw e;
+ }
+
+ if (strm.gcount() != FICBlkHdrSize ||
+ (string(blkHdr) != blockString))
+ {
+ FFStreamError e("Bad block header, record=" +
+ asString(strm.recordNumber) +
+ " location=" + asString(location));
+ e.addText(string("blkHdr=[")+string(blkHdr)+string("]"));
+ GPSTK_THROW(e);
+ }
+ // get block number
+ blockNum = intelToHost(strm.getData<int32_t>());
+
+ // get num of f,i, and c to read then read them
+ int32_t numf = intelToHost(strm.getData<int32_t>());
+ int32_t numi = intelToHost(strm.getData<int32_t>());
+ int32_t numc = intelToHost(strm.getData<int32_t>());
+
+ long n;
+
+ for (n = 0; n < numf; n++)
+ {
+ double fl = intelToHost(strm.getData<double>());
+ f.push_back(fl);
+ }
+
+ for (n = 0; n < numi; n++)
+ {
+ long lg = intelToHost(strm.getData<int32_t>());
+ i.push_back(lg);
+ }
+
+ for (n = 0; n < numc; n++)
+ {
+ char ch = intelToHost(strm.getData<char>());
+ c.push_back(ch);
+ }
+ }
+ // bad cast!!!
+ else
+ {
+ FFStreamError e("FICData tried to read from a non-FIC file");
+ GPSTK_THROW(e);
+ }
+ }
+ if (!isValid())
+ {
+ FFStreamError e("Read an invalid FIC block");
+ GPSTK_THROW(e);
+ }
+ }
+
+ FICData::operator EngEphemeris() const
+ throw(WrongBlockNumber)
+ {
+ if(blockNum==9)
+ {
+ gpstk::EngEphemeris eph;
+ unsigned tlm = (unsigned)f[0];
+ eph.setSF1( ((tlm >> 8) & 0x3fff), (long)f[2], (short)f[3], (short)f[5],
+ (short)f[6], (short)f[7], (short)f[8], (short)ldexp(f[9],-11),
+ (short)f[10], f[11], f[12], f[13], f[14], f[15], (short)f[18],
+ (short)f[19] );
+ tlm = (unsigned)f[20];
+ eph.setSF2( ((tlm >> 8) & 0x3fff),(long)f[22], (short)f[23],
+ (short)ldexp(f[25],-11), f[26], f[27], f[28], f[29], f[30],
+ f[31], f[32], f[33], (short)f[34] );
+ tlm = (unsigned)f[40];
+ eph.setSF3( ((tlm >> 8) & 0x3fff), (long)f[42], (short)f[43], f[45],
+ f[46], f[47], f[48], f[49], f[50], f[51], f[53] );
+ return eph;
+ }
+ else if(blockNum == 109)
+ {
+ gpstk::EngEphemeris eph;
+ // gotta transfer data in vector<long> to long[].
+ long foo[30];
+ int count = 0;
+ for(int count = 2; count < i.size(); count++)
+ {
+ foo[count-2] = i[count];
+ }
+ eph.addSubframe(foo, i[0], i[1], 0);
+ eph.addSubframe(foo+10, i[0], i[1], 0);
+ eph.addSubframe(foo+20, i[0], i[1], 0);
+ return eph;
+ }
+ else
+ {
+ WrongBlockNumber wbn( "Block number should be 9, was " +
+ asString(blockNum) );
+ GPSTK_THROW(wbn);
+ }
+ }
+
+
+ FICData::operator AlmOrbit() const
+ throw(WrongBlockNumber)
+ {
+ if(blockNum == 62)
+ {
+ AlmOrbit ao(i[3], f[7], f[9], f[10],
+ f[12], f[13], f[14], f[15],
+ f[16], f[17], long(f[8]), i[1],
+ i[0], short(f[11]));
+ return ao;
+ }
+ else
+ {
+ WrongBlockNumber wbn( "Block number should be 62, was " +
+ asString(blockNum) );
+ GPSTK_THROW(wbn);
+ }
+ }
+
+ std::string FICData::generateUniqueKey() const
+ throw(WrongBlockNumber, WrongBlockFormat)
+ {
+ std::ostringstream out;
+ DayTime transmitTime(0.L), howTime(0.L);
+ WrongBlockNumber wbn( "Block number should be 9, 109, or 62, was "+
+ asString(blockNum) );
+
+ switch (blockNum)
+ {
+ case 9:
+ // the keys for EphData are PRN, week, IODC, AS and alert bits
+ out << "EE" << ' '
+ << f[19] << ' '
+ << f[5] << ' '
+ // all bits are as counted from the MSB
+ // AODC is recorded, not IODC so divide by 2048
+ << ldexp(f[9], -11) << ' '
+ // the AS and alert bits
+ << f[3] << ' '
+ << f[23] << ' '
+ << f[43];
+ break;
+
+ case 109:
+ out << "E" << ' '
+ << i[1] << ' ' // prn
+ << i[0] << ' ' // transmit week
+ << (((i[4] & 0xC0)<<2) + ((i[9] & 0x3FC00000)>>22)) << ' '
+ // the AS and alert bits are in the HOW (word 2), bits 18 and 19
+ << ((i[3] & 0x1800)>>11) << ' '
+ << ((i[13] & 0x1800)>>11) << ' '
+ << ((i[23] & 0x1800)>>11);
+ break;
+
+ case 62:
+ transmitTime.setGPSfullweek(i[5], (double)i[1]);
+ howTime.setGPSfullweek(i[5], f[2]);
+
+ // we only have toa in this format message.. yay.
+ // FIX magic number.. I'm a bit apprehensive about
+ // using MAX_PRN here because I don't know how things
+ // may change. erf.
+ if ((i[3] >= 1) && (i[3] <= 32))
+ {
+ out << "A" << ' '
+ << ((short)f[6]) << ' ' // page id
+ << transmitTime.GPSday() << ' '
+ << transmitTime.GPSfullweek() << ' '
+ << ((long)f[8]) << ' ' // toa
+ << howTime.DOYday() << ' '
+ << howTime.DOYyear();
+ }
+ else
+ {
+ WrongBlockFormat wbf("Format " + asString(i[4]) +
+ " (page ID " + asString(i[3]) +
+ ") cannot be used to generate a key.");
+ GPSTK_THROW(wbf);
+ }
+ break;
+ default:
+ GPSTK_THROW(wbn);
+ } // switch (blockNum)
+
+ return out.str();
+
+ }
+
+} // namespace gpstk
+
diff --git a/trunk/src/FICData.hpp b/trunk/src/FICData.hpp
new file mode 100644
index 0000000..7b429a5
--- /dev/null
+++ b/trunk/src/FICData.hpp
@@ -0,0 +1,187 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICData.hpp#2 $"
+
+/**
+ * @file FICData.hpp
+ * gpstk::FICData - container for the FIC file data.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICDATA_HPP
+#define FICDATA_HPP
+
+#include <vector>
+#include <map>
+
+#include "FFStream.hpp"
+#include "FICBase.hpp"
+#include "EngEphemeris.hpp"
+#include "AlmOrbit.hpp"
+
+namespace gpstk
+{
+ /// This gets thrown if we don't have the right data for cast operations.
+ /// @ingroup exceptionclass
+ NEW_EXCEPTION_CLASS(WrongBlockNumber, gpstk::Exception);
+
+ /// This gets thrown if we don't have the wrong format block is used.
+ /// @ingroup exceptionclass
+ NEW_EXCEPTION_CLASS(WrongBlockFormat, gpstk::Exception);
+
+ /**
+ * This does all the grunt-work in reading/decoding
+ * FIC-formatted files (ASCII And Binary).
+ *
+ * \sa fic_test.cpp, fic_read_write.cpp, fica_test.cpp for examples.
+ *
+ * \sa FICStream, FICAStream, and FICHeader.
+ */
+ class FICData : public FICBase
+ {
+ public:
+ /// Default constructor
+ FICData() : blockNum(0) {}
+
+ /*
+ * Construct a FICData from an EngEphemeris object.
+ * @param engEph the EngEphemeris to copy
+ */
+ // if you uncomment this, fix the doxygen comment above as well
+ //FICData(const EngEphemeris& engEph) throw();
+
+ /// Destructor
+ virtual ~FICData() {}
+ /**
+ * Returns whether or not this FICData is valid.
+ * Checks the sizes of the f, i, and c vectors using different
+ * metrics for each FIC Record Type.
+ * See the ICD-GPS-200 for complete details.
+ */
+ bool isValid() const;
+
+ //! This class is "data" so this function always returns "true".
+ virtual bool isData() const {return true;}
+
+ /**
+ * Debug output function.
+ * Dump the contents of each of the f, i, and c vectors to the
+ * given ostream \c s.
+ */
+ virtual void dump(std::ostream& s) const;
+
+ /**
+ * Prints the FIC data in a nice format, labeling all the important
+ * subframes and quantities.
+ */
+ void prettyDump(std::ostream& os) const;
+
+ /**
+ * Cast *this to an Engineering Ephemeiris Object.
+ * @return the constructed EngEphemeris object
+ */
+ operator EngEphemeris() const throw(WrongBlockNumber);
+
+ /**
+ * cast *this into an AlmOrbit, only for block 62s
+ * @return the constructed AlmOrbit object
+ */
+ operator AlmOrbit() const throw(WrongBlockNumber);
+
+ /// Generates a unique key for this FIC data so that redundant
+ /// messages can be filtered. Uses the same criteria
+ /// as other generateUniqueKey() functions.
+ /// Currently only for blocks 9 and 62 (otherwise it throws)
+ /// @sa NavSF::generateUniqueKey()
+ /// @sa EngEphData::generateUniqueKey()
+ std::string generateUniqueKey() const throw(WrongBlockNumber,
+ WrongBlockFormat);
+
+ /// @name data members
+ //@{
+ static const std::string blockString; ///< "BLK " record header constsnt
+ long blockNum; ///< Block number for this FIC Record.
+ std::vector<double> f; ///< Vector of floating point numbers.
+ std::vector<long> i; ///< Vector of long integers.
+ std::vector<char> c; ///< Vector of characters.
+ //@}
+
+ protected:
+ //! Writes this record to the stream \a s.
+ virtual void reallyPutRecord(FFStream& s) const
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError);
+ /**
+ * Read a "FICData" record from the FFStream \c s.
+ * If an error is encountered, the function will
+ * return the stream to its original state and mark its fail-bit.
+ * @throws FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError);
+
+ private:
+ /// nicely prints the data from a block 9 record
+ void prettyDump9(std::ostream& o) const;
+ /// nicely prints the data from a block 109 record
+ void prettyDump109(std::ostream& o) const;
+ /// nicely prints the data from a block 62 record
+ void prettyDump62(std::ostream& o) const;
+ /// nicely prints the data from a block 162 record
+ void prettyDump162(std::ostream& o) const;
+
+ /// nicely prints the time
+ void timeDisplay( std::ostream & os, const char * legend,
+ const short week, const double SOW,
+ const short headerFlag ) const;
+
+ /// shortcut is used in prettyDump9 to convert the
+ /// HOW word time to D:H:M:S and print it out.
+ void shortcut(std::ostream & os, const double HOW ) const;
+ };
+
+}
+
+#endif // FICDATA_HPP
+
diff --git a/trunk/src/FICFilterOperators.hpp b/trunk/src/FICFilterOperators.hpp
new file mode 100644
index 0000000..a6ecc70
--- /dev/null
+++ b/trunk/src/FICFilterOperators.hpp
@@ -0,0 +1,301 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICFilterOperators.hpp#2 $"
+
+/**
+ * @file FICFilterOperators.hpp
+ * gpstk::FICFilterOperators - FIC filter operators.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICFILTEROPERATORS_HPP
+#define FICFILTEROPERATORS_HPP
+
+#include "FileFilter.hpp"
+#include "FICData.hpp"
+
+namespace gpstk
+{
+ /// Removes all data that doesn't match the given SVID/PRN numbers.
+ struct FICDataFilterPRN :
+ public std::unary_function<gpstk::FICData, bool>
+ {
+ public:
+ FICDataFilterPRN(const std::list<long>& lst)
+ : prnList(lst)
+ {}
+
+ /// This should return true when the data is to be erased.
+ bool operator() (const gpstk::FICData& l) const
+ {
+ // this criteria is the same as the r44 navdump criteria
+ switch (l.blockNum)
+ {
+ case 9:
+ return find(prnList.begin(), prnList.end(), l.f[19]) ==
+ prnList.end();
+ break;
+
+ case 109:
+ return find(prnList.begin(), prnList.end(), l.i[1]) ==
+ prnList.end();
+ break;
+
+ // For 62 and 162, all SVIDs 51-63 will be added
+ // as well as any PRNs 1-32 that were selected.
+
+ case 62:
+ if (l.i[3] >= 51)
+ return false;
+ return find(prnList.begin(), prnList.end(), l.i[3]) ==
+ prnList.end();
+
+ break;
+
+ case 162:
+ if (l.i[0] >= 51)
+ return false;
+ return find(prnList.begin(), prnList.end(), l.i[0]) ==
+ prnList.end();
+ break;
+
+ default:
+ return true;
+ break;
+ }
+ }
+
+ private:
+ std::list<long> prnList;
+ };
+
+ /// Removes all data that doesn't match the given block numbers
+ struct FICDataFilterBlock :
+ public std::unary_function<gpstk::FICData, bool>
+ {
+ public:
+ FICDataFilterBlock(const std::list<long>& lst)
+ : blockList(lst)
+ {}
+
+ bool operator() (const gpstk::FICData& l) const
+ {
+ return find(blockList.begin(), blockList.end(), l.blockNum) ==
+ blockList.end();
+ }
+
+ private:
+ std::list<long> blockList;
+ };
+
+ /// Finds all data that matches the given block numbers
+ struct FICDataFindBlock :
+ public std::unary_function<gpstk::FICData, bool>
+ {
+ public:
+ FICDataFindBlock(const std::list<long>& lst)
+ : blockList(lst)
+ {}
+
+ bool operator() (const gpstk::FICData& l) const
+ {
+ return find(blockList.begin(), blockList.end(), l.blockNum) !=
+ blockList.end();
+ }
+ private:
+ std::list<long> blockList;
+ };
+
+ /// Sorting only for block 9 FICData
+ struct FICDataOperatorLessThanBlock9 :
+ public std::binary_function<gpstk::FICData, gpstk::FICData, bool>
+ {
+ public:
+ bool operator() (const gpstk::FICData& l,
+ const gpstk::FICData& r) const
+ {
+ if ( (l.blockNum != 9) || (r.blockNum != 9) )
+ return false;
+
+ // sort by transmit time, prn
+ if (l.f[5] < r.f[5])
+ return true;
+ else if (l.f[5] == r.f[5])
+ if (l.f[33] < r.f[33])
+ return true;
+ else if (l.f[33] == r.f[33])
+ if (l.f[19] < r.f[19])
+ return true;
+
+ return false;
+ }
+ };
+
+ /// Sorting only for block 109 FICData
+ struct FICDataOperatorLessThanBlock109 :
+ public std::binary_function<gpstk::FICData, gpstk::FICData, bool>
+ {
+ public:
+ bool operator() (const gpstk::FICData& l,
+ const gpstk::FICData& r) const
+ {
+ if ( (l.blockNum != 9) || (r.blockNum != 9) )
+ return false;
+
+ // sort by transmit time, prn
+ if(l.i[0] < r.i[0]) // week numbers
+ return true;
+ else if(l.i[0] == r.i[0])
+ {
+ // crack the HOW. Note: I know I'm not multiplying by 6.
+ if( ((l.i[3] >> 13) & 0x1FFFF) <
+ ((r.i[3] >> 13) & 0x1FFFF) )
+ return true;
+ else if( ((l.i[3] >> 13) & 0x1FFFF) ==
+ ((r.i[3] >> 13) & 0x1FFFF) )
+ if(l.i[1] < r.i[1])
+ return true;
+ }
+
+ return false;
+ }
+ };
+
+ /// Useful for FICDiff and others...
+ struct FICDataOperatorLessThanFull :
+ public std::binary_function<gpstk::FICData, gpstk::FICData, bool>
+ {
+ public:
+ bool operator() (const gpstk::FICData& l,
+ const gpstk::FICData& r) const
+ {
+ if (l.blockNum < r.blockNum)
+ return true;
+ if (l.blockNum > r.blockNum)
+ return false;
+
+ if ( (l.f.size() < r.f.size()) ||
+ (l.i.size() < r.i.size()) ||
+ (l.c.size() < r.c.size()))
+ return true;
+
+ if ( (l.f.size() > r.f.size()) ||
+ (l.i.size() > r.i.size()) ||
+ (l.c.size() > r.c.size()))
+ return false;
+
+ // ok, they're the same block and type of data - check
+ // the individual contents
+ std::vector<double>::size_type findex;
+ for (findex = 0; findex < l.f.size(); findex++)
+ {
+ if (l.f[findex] < r.f[findex])
+ return true;
+ if (l.f[findex] > r.f[findex])
+ return false;
+ }
+
+ std::vector<long>::size_type iindex;
+ for (iindex = 0; iindex < l.i.size(); iindex++)
+ {
+ if (l.i[iindex] < r.i[iindex])
+ return true;
+ if (l.i[iindex] > r.i[iindex])
+ return false;
+ }
+
+ std::vector<char>::size_type cindex;
+ for (cindex = 0; cindex < l.c.size(); cindex++)
+ {
+ if (l.c[cindex] < r.c[cindex])
+ return true;
+ if (l.c[cindex] > r.c[cindex])
+ return false;
+ }
+ // they're equal
+ return false;
+ }
+ };
+
+ /// Uniqueness operator for block 9 FIC data
+ struct FICDataUniqueBlock9 :
+ public std::binary_function<gpstk::FICData, gpstk::FICData, bool>
+ {
+ public:
+ bool operator() (const gpstk::FICData& l,
+ const gpstk::FICData& r) const
+ {
+ // the unique criteria are PRN, week, IODC, AS/alert bits
+ return ( (l.f[19] == r.f[19]) &&
+ (l.f[3] == r.f[3]) &&
+ (l.f[5] == r.f[5]) &&
+ (l.f[23] == r.f[23]) &&
+ (l.f[43] == r.f[43]) &&
+ ( (l.f[9] / 2048) == (r.f[9] / 2048) ) );
+ }
+ };
+
+ /// Uniqueness operator for block 109 FIC data
+ struct FICDataUniqueBlock109 :
+ public std::binary_function<gpstk::FICData, gpstk::FICData, bool>
+ {
+ public:
+ bool operator() (const gpstk::FICData& l,
+ const gpstk::FICData& r) const
+ {
+ // the unique criteria are PRN, week, IODC, AS/alert bits
+ return ( (l.i[1] == r.i[1]) &&
+ (l.i[0] == r.i[0]) &&
+ // crack IODC on subframe 1
+ ((((l.i[4] << 2) & 0x00000300) + ((l.i[9] >> 22) & 0xFF)) ==
+ (((r.i[4] << 2) & 0x00000300) + ((r.i[9] >> 22) & 0xFF))) &&
+ // crack AS/Alert on subframe 1
+ ( ((l.i[4] >> 11) & 0x3) == ((r.i[4] >> 11) & 0x3) ) &&
+ // crack AS/Alert on subframe 2
+ ( ((l.i[14] >> 11) & 0x3) == ((r.i[14] >> 11) & 0x3) ) &&
+ // crack AS/Alert on subframe 3
+ ( ((l.i[24] >> 11) & 0x3) == ((r.i[24] >> 11) & 0x3) ) );
+ }
+ };
+}
+
+#endif
+
diff --git a/trunk/src/FICHeader.cpp b/trunk/src/FICHeader.cpp
new file mode 100644
index 0000000..7fe0332
--- /dev/null
+++ b/trunk/src/FICHeader.cpp
@@ -0,0 +1,140 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICHeader.cpp#2 $"
+
+/**
+ * @file FICHeader.cpp
+ * gpstk::FICHeader - container for the FIC file header data.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "StringUtils.hpp"
+#include "FICHeader.hpp"
+#include "FICStream.hpp"
+#include "FICAStream.hpp"
+
+using namespace gpstk::StringUtils;
+
+const int gpstk::FICHeader::headerSize = 40;
+
+
+namespace gpstk
+{
+ using namespace std;
+
+
+ void FICHeader::reallyPutRecord(FFStream& ffs) const
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError)
+ {
+ string theHeader(header);
+ if(FICStream* strm = dynamic_cast<FICStream*>(&ffs))
+ {
+ // This is a binary FIC stream, so
+ // send the 40 character header, truncated or padded
+ // with ' ' as needed.
+ *strm << leftJustify(theHeader, headerSize, ' ');
+ }
+ else if (FICAStream* ficas = dynamic_cast<FICAStream*>(&ffs))
+ {
+ // If this is a FICA stream, add some extra stuff as well as
+ // send the 40 character header, truncated or padded
+ // with ' ' as needed.
+ *ficas << " " << leftJustify(theHeader, headerSize, ' ') << '\n';
+ }
+ else
+ {
+ gpstk::FFStreamError e("Attempt to write a FICHeader object"
+ " to a non-FIC(A)Stream FFStream.");
+ GPSTK_THROW(e);
+ }
+ }
+
+ void FICHeader::dump(ostream& s) const
+ {
+ s << header << endl;
+ };
+
+ void FICHeader::reallyGetRecord(FFStream& ffs)
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError)
+ {
+ FICStreamBase *fsb = dynamic_cast<FICStreamBase *>(&ffs);
+ if(fsb == NULL)
+ {
+ gpstk::FFStreamError e("Attempt to read a FICHeader object"
+ " from a non-FICStreamBase FFStream.");
+ GPSTK_THROW(e);
+ }
+
+ char c[headerSize + 1];
+
+ // if this is a FICA stream, get 4 characters
+ FICAStream* ficas = dynamic_cast<FICAStream*>(&ffs);
+
+ if (ficas)
+ {
+ const int blankChrs = 4;
+ char whitespaces[blankChrs + 1];
+ ffs.read(whitespaces, blankChrs);
+ }
+
+ ffs.read(c, headerSize);
+ if (ffs.gcount() != headerSize)
+ {
+ FFStreamError e("Error reading header");
+ GPSTK_THROW(e);
+ }
+
+ c[headerSize]='\0';
+ header = c;
+ fsb->headerRead=true;
+ fsb->header.header = header;
+
+ if (ficas)
+ {
+ string line;
+ ficas->formattedGetLine(line);
+ ficas->formattedGetLine(line);
+ }
+ } // end of FICHeader::getRecord()
+
+} // namespace gpstk
diff --git a/trunk/src/FICHeader.hpp b/trunk/src/FICHeader.hpp
new file mode 100644
index 0000000..6f92bdf
--- /dev/null
+++ b/trunk/src/FICHeader.hpp
@@ -0,0 +1,111 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICHeader.hpp#1 $"
+
+/**
+ * @file FICHeader.hpp
+ * gpstk::FICHeader - container for the FIC file header data.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICHEADER_HPP
+#define FICHEADER_HPP
+
+#include "FFStream.hpp"
+#include "FICBase.hpp"
+
+namespace gpstk
+{
+ /**
+ * This is the Header for the FIC File Model.
+ * There is one 40 character header at the start of each FIC file,
+ * ASCII or binary.
+ *
+ * \sa fic_test.cpp, fic_read_write.cpp, and fica_test.cpp for examples.
+ *
+ * \sa FICStream, FICAStream, and FICData.
+ */
+ class FICHeader : public FICBase
+ {
+ public:
+ /// Default constructor
+ FICHeader() {}
+
+ /// Destructor
+ virtual ~FICHeader() {}
+
+ /// FICHeader is a header, so this function always returns true.
+ virtual bool isHeader() const {return true;}
+
+ /**
+ * This function does \b nothing.
+ */
+ virtual void dump(std::ostream& s) const;
+
+ /// The header string.
+ std::string header;
+
+ /// constant for the header size.
+ static const int headerSize;
+
+ protected:
+ /// Writes the header string to the FFStream \a s.
+ virtual void reallyPutRecord(FFStream& s) const
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError);
+
+ /**
+ * Retrieve the header string from the FFStream \a s.
+ * If the read fails for some reason, the stream will
+ * be reset to its original position, and its fail-bit
+ * will be set.
+ * @throws FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, gpstk::StringUtils::StringException,
+ gpstk::FFStreamError);
+
+ }; // class FICHeader
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/FICStream.hpp b/trunk/src/FICStream.hpp
new file mode 100644
index 0000000..5cefed5
--- /dev/null
+++ b/trunk/src/FICStream.hpp
@@ -0,0 +1,94 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICStream.hpp#1 $"
+
+/**
+ * @file FICStream.hpp
+ * gpstk::FICStream - binary FIC file stream container.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICSTREAM_HPP
+#define FICSTREAM_HPP
+
+#include <vector>
+#include <map>
+
+#include "FICStreamBase.hpp"
+#include "FFBinaryStream.hpp"
+#include "FICHeader.hpp"
+
+namespace gpstk
+{
+ /**
+ * This is a stream used to obtain data from a binary FIC File.
+ *
+ * \sa fic_test.cpp and fic_read_write.cpp for an example.
+ *
+ * \sa FICData and FICHeader.
+ */
+ class FICStream : public FFBinaryStream, public FICStreamBase
+ {
+ public:
+ /// default constructor
+ FICStream() {}
+
+ /**
+ * Constructor
+ * @param fn the name of the FIC file to be opened
+ * @param mode the ios::openmode to be used on \a fn
+ */
+ FICStream(const char* fn,
+ std::ios::openmode mode=std::ios::in|std::ios::binary)
+ : FFBinaryStream(fn, mode)
+ {}
+
+ /// destructor per the coding standards
+ virtual ~FICStream() {}
+
+ /// overrides open to reset the header
+ virtual void open(const char* fn, std::ios::openmode mode)
+ { FFBinaryStream::open(fn, mode); FICStreamBase::open(); }
+
+ }; // class FICStream
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/FICStreamBase.hpp b/trunk/src/FICStreamBase.hpp
new file mode 100644
index 0000000..90b1ca2
--- /dev/null
+++ b/trunk/src/FICStreamBase.hpp
@@ -0,0 +1,85 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICStreamBase.hpp#1 $"
+
+/**
+ * @file FICStreamBase.hpp
+ * gpstk::FICStreamBase stores common FIC stream data.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICSTREAMBASE_HPP
+#define FICSTREAMBASE_HPP
+
+#include <vector>
+#include <map>
+
+#include "FICHeader.hpp"
+
+namespace gpstk
+{
+ /**
+ * Encapsulates FIC stream data for FIC and FICA files.
+ */
+ class FICStreamBase
+ {
+ public:
+ /// Default constructor
+ FICStreamBase()
+ : headerRead(false)
+ {}
+
+ /// destructor per the coding standards
+ virtual ~FICStreamBase() {}
+
+ /// resets the header info for derived classes
+ void open()
+ { headerRead = false; header = FICHeader(); }
+
+ /// Whether or not the header's been read for this file.
+ bool headerRead;
+ /// The FICHeader object for this file.
+ FICHeader header;
+
+ };
+}
+
+#endif
diff --git a/trunk/src/FileFilter.hpp b/trunk/src/FileFilter.hpp
new file mode 100644
index 0000000..1da02f2
--- /dev/null
+++ b/trunk/src/FileFilter.hpp
@@ -0,0 +1,409 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileFilter.hpp#2 $"
+
+/**
+ * @file FileFilter.hpp
+ * A framework for sorting and filtering file data.
+ */
+
+#ifndef GPSTK_FILEFILTER_HPP
+#define GPSTK_FILEFILTER_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <functional>
+#include <algorithm>
+
+#include "FFData.hpp"
+#include "FileSpec.hpp"
+
+namespace gpstk
+{
+ /** @defgroup filedirgroup File and Directory Processing Utilities */
+ //@{
+
+ /**
+ * This class is a framework for sorting and filtering file data.
+ * It borrows several datatypes from FileSpec for cohesion of data
+ * types. Add the data to the filter, specify the parameters (date,
+ * exclusion filters, etc.), then process it. For the specific data
+ * type, you can specify your own operators for sorting, uniqueness,
+ * or almost anything else you want to do to the data.
+ *
+ * @warning The FFData class you're sorting MUST have a weak strict
+ * ordering as defined in the FileFilterOperator.
+ */
+
+ template<class FileData>
+ class FileFilter
+ {
+ public:
+ /// Default constructor
+ FileFilter(void);
+
+ /// Destructor
+ virtual ~FileFilter();
+
+ /// Adds the given data into the filter.
+ FileFilter& addData(const FileData& ffd);
+
+ /// Adds arbitrary data to the filter.
+ FileFilter& addData(const std::list<FileData>& datavec);
+
+ /// Sorts the data.
+ /// @warning bp MUST be a strict weak ordering!
+ template <class Compare>
+ FileFilter& sort(Compare comp)
+ {
+ // FIX: this someday...
+ // this is a total hack until Solaris gets their act together and
+ // gets list::sort() working again
+ // all the code below can be replaced (someday) by this one line:
+ // dataVec.sort(comp);
+
+ // make a vector of pointer to list iterator objects...
+ std::vector<lItrType> data(dataVec.size());
+ lItrType itr = dataVec.begin();
+ typename std::vector<lItrType>::size_type i = 0;
+ while (itr != dataVec.end())
+ {
+ data[i] = itr;
+ i++;
+ itr++;
+ }
+
+ // use SortAdapter to use comp with the pointer vector
+ // then sort the vector
+ SortAdapter<Compare> sa(comp);
+ std::stable_sort(data.begin(), data.end(), sa);
+
+ // make a new list of the data in the right order, then copy that
+ // over dataVec.
+ lType fdlist;
+ for (i = 0; i < data.size(); i++)
+ {
+ fdlist.push_back(*data[i]);
+ }
+ dataVec = fdlist;
+
+/*
+ // move the items into the correct order with splice.
+ // splice does nothing if (itr == data[i]) || (itr == ++data[i])
+ // so the data is inserted backwards to avoid this...
+ i = data.size();
+ while (i != 0)
+ {
+ itr = dataVec.begin();
+ --i;
+ dataVec.splice(itr, dataVec, data[i]);
+ }
+*/
+ return *this;
+ }
+
+
+ /// Combines the data from the input filter to this object.
+ FileFilter& merge(const FileFilter& right);
+
+ /// Combines the data from the input filter to this object using
+ /// the predicate to sort the data it merges.
+ /// This should use list::merge(list, bp) but since it's broken in
+ /// forte...
+ template <class Compare>
+ FileFilter& merge(const FileFilter& right, Compare bp)
+ { merge(right); sort(bp); return *this; }
+
+ /// After sorting, use this to filter the data.
+ /// @warning The data must be sorted first
+ template <class BinaryPredicate>
+ FileFilter& unique(BinaryPredicate bp)
+ {
+ // FIX: unique is broken or doesnt like my syntax
+ // so i wrote my own version of it
+// list<FileData>::iterator itr =
+// unique(dataVec.begin(), dataVec.end(), bp);
+ filtered = 0;
+
+ typename std::list<FileData>::iterator first = dataVec.begin();
+ typename std::list<FileData>::iterator second= dataVec.begin();
+ second++;
+
+ // keep only the first of many unique values
+ while (second != dataVec.end())
+ {
+ if ( bp(*first, *second))
+ {
+ second = dataVec.erase(second);
+ filtered++;
+ }
+ else
+ {
+ first++;
+ second++;
+ }
+ }
+
+ return *this;
+ }
+
+ /// This filters data based on a single test. All data that
+ /// passes the UnaryPredicate (i.e. it returns true) is removed
+ /// @warning Depending on the filter, your data may need to be sorted
+ template <class Predicate>
+ FileFilter& filter(Predicate up)
+ {
+ // delete all values for which up() is true
+ filtered = 0;
+
+ typename std::list<FileData>::iterator itr = dataVec.begin();
+
+ while (itr != dataVec.end())
+ {
+ if (up(*itr))
+ {
+ itr = dataVec.erase(itr);
+ filtered++;
+ }
+ else
+ itr++;
+ }
+
+ return *this;
+ }
+
+ /// Applies Operation on all the data elements, counting each one that
+ /// gets modified (for which Operation returns true). The operation
+ /// is passed by reference so that it can retain state information
+ /// for use by the program calling it.
+ template <class Operation>
+ FileFilter& touch(Operation& op)
+ {
+ filtered = 0;
+
+ typename std::list<FileData>::iterator itr = dataVec.begin();
+
+ while (itr != dataVec.end())
+ {
+ if (op(*itr))
+ filtered++;
+ itr++;
+ }
+
+ return *this;
+ }
+
+ /// a const operator touch for the classes that need it.
+ template <class Operation>
+ FileFilter& touch(const Operation& op)
+ { Operation o(op); return touch(o); }
+
+ /// Returns two lists - one of the data in *this that isn't in r and
+ /// the second of data in r that isn't in *this. Remember that /a p
+ /// has to be a strict weak ordering on the data.
+ /// @warning the input data needs to be sorted according to /a p
+ /// before running diff(). This also means that /a p is a strict
+ /// weak ordering on the data (i.e. /a p sorts the data).
+ template <class BinaryPredicate>
+ std::pair< std::list<FileData>, std::list<FileData> >
+ diff(const FileFilter<FileData>& r, BinaryPredicate p) const
+ {
+ std::pair< std::list<FileData>, std::list<FileData> > toReturn;
+
+ std::set_difference(dataVec.begin(), dataVec.end(),
+ r.dataVec.begin(), r.dataVec.end(),
+ std::inserter(toReturn.first,
+ toReturn.first.begin()),
+ p);
+
+ std::set_difference(r.dataVec.begin(), r.dataVec.end(),
+ dataVec.begin(), dataVec.end(),
+ std::inserter(toReturn.second,
+ toReturn.second.begin()),
+ p);
+
+ return toReturn;
+ }
+
+ /// Returns a list of data matching the given unary predicate.
+ template <class Predicate>
+ std::list<FileData> findAll(Predicate p) const
+ {
+ std::list<FileData> toReturn;
+ typename std::list<FileData>::const_iterator itr = dataVec.begin();
+
+ while (itr != dataVec.end())
+ {
+ if (p(*itr))
+ toReturn.push_back((*itr));
+ itr++;
+ }
+
+ return toReturn;
+
+ }
+
+ /// Returns the number of items filtered from the last filter()
+ /// touch() or unique() call.
+ int getFiltered() const {return filtered;}
+
+ /// Returns the contents of the data list.
+ std::list<FileData>& getData(void) {return dataVec;}
+
+ /// Returns the contents of the data list, const.
+ std::list<FileData> getData(void) const {return dataVec;}
+
+ /// Returns the number of data items in the filter.
+ typename std::list<FileData>::size_type getDataCount(void) const
+ { return dataVec.size(); }
+
+ typename std::list<FileData>::const_iterator begin() const
+ { return dataVec.begin(); }
+
+ typename std::list<FileData>::const_iterator end() const
+ { return dataVec.end(); }
+
+ typename std::list<FileData>::iterator begin()
+ { return dataVec.begin(); }
+
+ typename std::list<FileData>::iterator end()
+ { return dataVec.end(); }
+
+ bool empty() const
+ { return dataVec.empty(); }
+
+ void clear()
+ { dataVec.clear(); }
+
+ typename std::list<FileData>::size_type size()
+ { return dataVec.size(); }
+
+ FileData& front()
+ { return dataVec.front(); }
+
+ const FileData& front() const
+ { return dataVec.front(); }
+
+ FileData& back()
+ { return dataVec.back(); }
+
+ const FileData& back() const
+ { return dataVec.back(); }
+
+ protected:
+ /// List of file data to be filtered.
+ typedef std::list<FileData> lType;
+ lType dataVec;
+ typedef typename std::list<FileData>::iterator lItrType;
+
+ /// SortAdapter is an adapter class that takes any comparison
+ /// function and instead uses list iterator objects instead
+ /// of FileData. This is only used by sort() and shouldn't be
+ /// used elsewhere.
+ template<class Compare>
+ class SortAdapter :
+ public std::binary_function<lItrType, lItrType, bool>
+ {
+ public:
+ SortAdapter(Compare& c)
+ : comp(c)
+ {}
+
+ bool operator()(const lItrType l,
+ const lItrType r) const
+ {
+ return comp(*l, *r);
+ }
+ private:
+ Compare comp;
+ };
+
+ /// A count of the last number of items filtered
+ int filtered;
+ };
+
+ //@}
+
+ template<class FileData>
+ FileFilter<FileData> :: FileFilter(void)
+ : filtered(0)
+ {}
+
+ template<class FileData>
+ FileFilter<FileData> :: ~FileFilter()
+ {
+ }
+
+ template<class FileData>
+ FileFilter<FileData>& FileFilter<FileData> ::
+ addData(const FileData& ffd)
+ {
+ dataVec.push_back(ffd);
+ return *this;
+ }
+
+ template <class FileData>
+ FileFilter<FileData>& FileFilter<FileData> ::
+ addData(const std::list<FileData>& datavec)
+ {
+ std::copy(datavec.begin(), datavec.end(),
+ std::inserter(dataVec, dataVec.begin()));
+ return *this;
+ }
+
+ template <class FileData>
+ FileFilter<FileData>&
+ FileFilter<FileData> ::
+ merge(const FileFilter<FileData>& right)
+ {
+ // cast out const to use the non-const version of getData()
+ FileFilter<FileData>& r = (FileFilter<FileData>&)(right);
+
+ // copy rightData into *this
+ std::list<FileData>& rightData = r.getData();
+ std::copy(rightData.begin(), rightData.end(),
+ std::inserter(dataVec, dataVec.begin()));
+
+ return *this;
+ }
+
+} // namespace gpstk
+
+#endif // GPSTK_FILEFILTER_HPP
diff --git a/trunk/src/FileFilterFrame.hpp b/trunk/src/FileFilterFrame.hpp
new file mode 100644
index 0000000..7813a20
--- /dev/null
+++ b/trunk/src/FileFilterFrame.hpp
@@ -0,0 +1,376 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileFilterFrame.hpp#3 $"
+
+/**
+ * @file FileFilterFrame.hpp
+ * Wrapper for gpstk::FileHunter and gpstk::FileFilter
+ */
+
+#ifndef GPSTK_FILEFILTERFRAME_HPP
+#define GPSTK_FILEFILTERFRAME_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileSpec.hpp"
+#include "FileFilter.hpp"
+#include "FileHunter.hpp"
+#include "FileUtils.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup filedirgroup */
+ //@{
+
+ /**
+ * This class is a wrapper for FileHunter and FileFilter, allowing you
+ * to easily pick what files you want to process and how to process
+ * them. In the constructors, providing a start and end time will
+ * allow FileHunter to pick the correct files for that date range.
+ * After the object is built, it is ready for filtering.
+ *
+ * Use the filter(), sort(), unique() and touch() operators to run
+ * whatever operations you want to on the data, then write out the
+ * files when you're done. You can also get access to the data with
+ * getData() and run whatever other post processing tools you would like
+ * to.
+ *
+ * See the examples in FileFilterFrameTest.cpp for a demonstration.
+ */
+ template <class FileStream, class FileData>
+ class FileFilterFrame : public FileFilter<FileData>
+ {
+ public:
+ /// Default constructor
+ FileFilterFrame(const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME)
+ throw(gpstk::Exception);
+
+ /// Takes a list of files to open in lieu of day times
+ FileFilterFrame(const std::vector<std::string>& fileList,
+ const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME)
+ throw(gpstk::Exception);
+
+ /// Takes a file name for a single file filter.
+ /// This can throw an exception when there's a file error.
+ FileFilterFrame(const std::string& filename,
+ const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME)
+ throw(gpstk::Exception);
+
+ /// Uses the FileSpec to retrieve files. Use filter like you would
+ /// in FileHunter, to filter FOR stations, receivers, etc.
+ /// This can throw an exception when there's a file error.
+ FileFilterFrame(const FileSpec& spec,
+ const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME,
+ const std::vector<FileHunter::FilterPair>& filter =
+ std::vector<FileHunter::FilterPair>())
+ throw(gpstk::Exception);
+
+ /// Gets the files from the file spec and the time, then adds
+ /// the data to the filter. Use filter like you would
+ /// in FileHunter, to filter FOR stations, receivers, etc.
+ FileFilterFrame&
+ newSource(const FileSpec& filespec,
+ const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME,
+ const std::vector<FileHunter::FilterPair>& filter =
+ std::vector<FileHunter::FilterPair>())
+ throw(gpstk::Exception);
+
+ /// Reads in the file and adds the data to the filter.
+ FileFilterFrame&
+ newSource(const std::string& filename,
+ const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME)
+ throw(gpstk::Exception);
+
+ /// Takes a list of files to open in lieu of day times
+ FileFilterFrame&
+ newSource(const std::vector<std::string>& fileList,
+ const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME)
+ throw(gpstk::Exception);
+
+ virtual ~FileFilterFrame() {}
+
+ /**
+ * Writes the data to the file outputFile, truncating the
+ * output file if it already exists unless append is true.
+ * This can throw an exception when there's a file error.
+ * @return true when it works.
+ * @warning This will not write out headers for files that need them,
+ * and files that depend on header data will (like RINEX) will not
+ * be written correctly with this function. Use
+ * FileFilterFrameWithHeader for those file types.
+ */
+ bool writeFile(const std::string& outputFile,
+ const bool append = false) const
+ throw(gpstk::Exception);
+
+ /**
+ * Writes the data to the supplied stream.
+ * This can throw an exception when there's a file error.
+ * @return true when it works.
+ * @warning This will not write out headers for files that need them,
+ * and files that depend on header data will (like RINEX) will not
+ * be written correctly with this function. Use
+ * FileFilterFrameWithHeader for those file types.
+ */
+ bool writeFile(FileStream& stream) const
+ throw(gpstk::Exception);
+
+ protected:
+ /// Run init() to load the data into the filter.
+ void init(const std::vector<FileHunter::FilterPair>& filter=
+ std::vector<FileHunter::FilterPair>())
+ throw(gpstk::Exception);
+
+
+ protected:
+ /// The file spec for this filter
+ FileSpec fs;
+ /// the start and end dates for the filter.
+ gpstk::DayTime startTime, endTime;
+
+ };
+
+ //@}
+
+ template <class FileStream, class FileData>
+ FileFilterFrame<FileStream,FileData> ::
+ FileFilterFrame(const gpstk::DayTime& start,
+ const gpstk::DayTime& end)
+ throw(gpstk::Exception)
+ : startTime(start), endTime(end)
+ {}
+
+ template <class FileStream, class FileData>
+ FileFilterFrame<FileStream,FileData> ::
+ FileFilterFrame(const std::vector<std::string>& fileList,
+ const gpstk::DayTime& start,
+ const gpstk::DayTime& end)
+ throw(gpstk::Exception)
+ : startTime(start), endTime(end)
+ {
+ typename std::vector<std::string>::const_iterator itr;
+ for (itr = fileList.begin(); itr != fileList.end(); itr++)
+ {
+ fs.newSpec(*itr);
+ init();
+ }
+ }
+
+ template <class FileStream, class FileData>
+ FileFilterFrame<FileStream,FileData> ::
+ FileFilterFrame(const std::string& filename,
+ const gpstk::DayTime& start,
+ const gpstk::DayTime& end)
+ throw(gpstk::Exception)
+ : fs(filename), startTime(start), endTime(end)
+ {
+ init();
+ }
+
+ template <class FileStream, class FileData>
+ FileFilterFrame<FileStream,FileData> ::
+ FileFilterFrame(const FileSpec& spec,
+ const gpstk::DayTime& start,
+ const gpstk::DayTime& end,
+ const std::vector<FileHunter::FilterPair>& filter)
+ throw(gpstk::Exception)
+ : fs(spec), startTime(start), endTime(end)
+ {
+ init(filter);
+ }
+
+ template <class FileStream, class FileData>
+ FileFilterFrame<FileStream, FileData>&
+ FileFilterFrame<FileStream,FileData> ::
+ newSource(const FileSpec& filespec,
+ const gpstk::DayTime& start,
+ const gpstk::DayTime& end,
+ const std::vector<FileHunter::FilterPair>& filter)
+ throw(gpstk::Exception)
+ {
+ startTime = start;
+ endTime = end;
+
+ fs = filespec;
+ init(filter);
+ return *this;
+ }
+
+ template <class FileStream, class FileData>
+ FileFilterFrame<FileStream, FileData>&
+ FileFilterFrame<FileStream,FileData> ::
+ newSource(const std::string& filename,
+ const gpstk::DayTime& start,
+ const gpstk::DayTime& end)
+ throw(gpstk::Exception)
+ {
+ startTime = start;
+ endTime = end;
+
+ fs.newSpec(filename);
+ init();
+ return *this;
+ }
+
+ template <class FileStream, class FileData>
+ FileFilterFrame<FileStream, FileData>&
+ FileFilterFrame<FileStream,FileData> ::
+ newSource(const std::vector<std::string>& fileList,
+ const gpstk::DayTime& start,
+ const gpstk::DayTime& end)
+ throw(gpstk::Exception)
+ {
+ startTime = start;
+ endTime = end;
+
+ typename std::vector<std::string>::const_iterator itr;
+ for (itr = fileList.begin(); itr != fileList.end(); itr++)
+ {
+ fs.newSpec(*itr);
+ init();
+ }
+ return *this;
+ }
+
+ template <class FileStream, class FileData>
+ void
+ FileFilterFrame<FileStream,FileData> ::
+ init(const std::vector<FileHunter::FilterPair>& filter)
+ throw(gpstk::Exception)
+ {
+ // find the files
+ FileHunter fh(fs);
+
+ typename std::vector<FileHunter::FilterPair>::const_iterator itr =
+ filter.begin();
+ while (itr != filter.end())
+ {
+ fh.setFilter((*itr).first, (*itr).second);
+ itr++;
+ }
+
+ std::vector<std::string> listOfFiles =
+ fh.find(startTime, endTime, FileSpec::ascending);
+
+ // for each file, read it into the filter
+ typename std::vector<std::string>::iterator i;
+ for(i = listOfFiles.begin(); i != listOfFiles.end(); i++)
+ {
+ FileStream s((*i).c_str());
+
+ if (s.good())
+ {
+ s.exceptions(std::ios::failbit);
+
+ FileData data;
+
+ while (s >> data)
+ {
+ addData(data);
+ }
+ }
+ }
+ }
+
+ template <class FileStream, class FileData>
+ bool FileFilterFrame<FileStream,FileData> ::
+ writeFile(const std::string& str,
+ const bool append) const
+ throw(gpstk::Exception)
+ {
+ if (!this->dataVec.empty())
+ {
+ // make the directory (if needed)
+ std::string::size_type pos = str.rfind('/');
+ if (pos != std::string::npos)
+ gpstk::FileUtils::makeDir(str.substr(0,pos).c_str(), 0755);
+
+ std::ios::openmode mode = std::ios::out;
+ if (append)
+ mode |= (std::ios::app|std::ios::ate);
+
+ FileStream stream(str.c_str(), mode);
+ return writeFile(stream);
+ }
+
+ return true;
+ }
+
+ template <class FileStream, class FileData>
+ bool FileFilterFrame<FileStream,FileData> ::
+ writeFile(FileStream& stream)
+ const throw(gpstk::Exception)
+ {
+ if (!this->dataVec.empty())
+ {
+ stream.exceptions(std::ios::failbit);
+
+ typename std::list<FileData>::const_iterator index;
+ for(index = this->dataVec.begin(); index != this->dataVec.end(); index++)
+ (*index).putRecord(stream);
+ }
+
+ return true;
+ }
+
+} // namespace gpstk
+
+#endif // GPSTK_FILEFILTERFRAME_HPP
diff --git a/trunk/src/FileFilterFrameWithHeader.hpp b/trunk/src/FileFilterFrameWithHeader.hpp
new file mode 100644
index 0000000..f154ab4
--- /dev/null
+++ b/trunk/src/FileFilterFrameWithHeader.hpp
@@ -0,0 +1,431 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileFilterFrameWithHeader.hpp#3 $"
+
+/**
+ * @file FileFilterFrameWithHeader.hpp
+ * Wrapper for gpstk::FileHunter and gpstk::FileFilter that also handles header data
+ */
+
+#ifndef GPSTK_FILEFILTERFRAMEWITHHEADER_HPP
+#define GPSTK_FILEFILTERFRAMEWITHHEADER_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileFilterFrame.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup filedirgroup */
+ //@{
+
+ /**
+ * This is just like FileFilterFrame but it can also handle header
+ * data. The header data is stored in an internal list that can be
+ * accessed with the *Header() methods below. Certain classes (like
+ * RINEX Obs and Met) have filter functions that can be used with
+ * touch() to combine header data from various files. The merge utilities
+ * in wonky use this ability, and other file types with header data
+ * can benefit from using this class's ability to store and write
+ * header data - see the RINEX and FIC GFW classes for more examples.
+ *
+ * When initializing, this uses the FileFilterFrame::init() to read
+ * the FileData into the filter, then does a second pass with its own
+ * init() function to read the headers from those files. This
+ * is a little inefficient, but the goal of these classes was never
+ * efficiency.
+ */
+ template <class FileStream, class FileData, class FileHeader>
+ class FileFilterFrameWithHeader :
+ public FileFilterFrame<FileStream, FileData>
+ {
+ public:
+ /// Default constructor
+ FileFilterFrameWithHeader(const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME)
+ throw(gpstk::Exception) :
+ FileFilterFrame<FileStream, FileData>(start, end)
+ {}
+
+ /// Takes a list of files to open in lieu of day times
+ FileFilterFrameWithHeader(const std::vector<std::string>& fileList,
+ const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME)
+ throw(gpstk::Exception) :
+ FileFilterFrame<FileStream, FileData>(fileList, start, end)
+ {
+ std::vector<std::string>::const_iterator itr = fileList.begin();
+ while (itr != fileList.end())
+ {
+ this->fs.newSpec(*itr);
+ init();
+ itr++;
+ }
+ }
+
+ /// Takes a file name for a single file filter.
+ /// This can throw an exception when there's a file error.
+ FileFilterFrameWithHeader(const std::string& filename,
+ const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME)
+ throw(gpstk::Exception) :
+ FileFilterFrame<FileStream, FileData>(filename, start, end)
+ {init();}
+
+ /// Uses the FileSpec to retrieve files. Use filter like you would
+ /// in FileHunter, to filter FOR stations, receivers, etc.
+ /// This can throw an exception when there's a file error.
+ FileFilterFrameWithHeader(const FileSpec& spec,
+ const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME,
+ const std::vector<FileHunter::FilterPair>& filter =
+ std::vector<FileHunter::FilterPair>())
+ throw(gpstk::Exception) :
+ FileFilterFrame<FileStream, FileData>(spec, start, end, filter)
+ {init(filter);}
+
+ /// Gets the files from the file spec and the time, then adds
+ /// the data to the filter. Use filter like you would
+ /// in FileHunter, to filter FOR stations, receivers, etc.
+ FileFilterFrameWithHeader&
+ newSource(const FileSpec& filespec,
+ const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME,
+ const std::vector<FileHunter::FilterPair>& filter =
+ std::vector<FileHunter::FilterPair>())
+ throw(gpstk::Exception)
+ {
+ FileFilterFrame<FileStream, FileData>::newSource(filespec, start,
+ end, filter);
+ init(filter);
+ return *this;
+ }
+
+ /// Reads in the file and adds the data to the filter.
+ FileFilterFrameWithHeader&
+ newSource(const std::string& filename,
+ const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME)
+ throw(gpstk::Exception)
+ {
+ FileFilterFrame<FileStream, FileData>::newSource(filename, start,
+ end);
+ init();
+ return *this;
+ }
+
+ /// Reads in the file and adds the data to the filter.
+ FileFilterFrameWithHeader&
+ newSource(const std::vector<std::string>& fileList,
+ const gpstk::DayTime& start =
+ gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end =
+ gpstk::DayTime::END_OF_TIME)
+ throw(gpstk::Exception)
+ {
+ FileFilterFrame<FileStream, FileData>::newSource(fileList, start,
+ end);
+ typename std::vector<std::string>::const_iterator itr;
+ for (itr = fileList.begin(); itr != fileList.end(); itr++)
+ {
+ this->fs.newSpec(*itr);
+ init();
+ }
+ return *this;
+ }
+
+ virtual ~FileFilterFrameWithHeader() {}
+
+ /**
+ * Writes the data to the file outputFile with the given header.
+ * This will overwrite any existing file with the same name.
+ * This can throw an exception when there's a file error.
+ * @return true when it works.
+ * @warning This will not write out headers for files that need them.
+ */
+ bool writeFile(const std::string& outputFile,
+ const FileHeader& fh) const
+ throw(gpstk::Exception);
+
+ /** performs the operation op on the header list. */
+ template <class Operation>
+ FileFilterFrameWithHeader& touchHeader(Operation& op)
+ {
+ typename std::list<FileHeader>::iterator itr = headerList.begin();
+
+ while (itr != headerList.end())
+ {
+ op(*itr);
+ itr++;
+ }
+
+ return *this;
+ }
+
+ /// Returns the contents of the header data list.
+ std::list<FileHeader>& getHeaderData(void) {return headerList;}
+
+ /// Returns the contents of the header data list, const.
+ std::list<FileHeader> getHeaderData(void) const {return headerList;}
+
+ /// Returns the number of data items in the header list.
+ typename std::list<FileHeader>::size_type getHeaderCount(void) const
+ { return headerList.size(); }
+
+ typename std::list<FileHeader>::const_iterator beginHeader() const
+ throw(gpstk::InvalidRequest);
+
+ typename std::list<FileHeader>::const_iterator endHeader() const
+ throw(gpstk::InvalidRequest);
+
+ typename std::list<FileHeader>::iterator beginHeader()
+ throw(gpstk::InvalidRequest);
+
+ typename std::list<FileHeader>::iterator endHeader()
+ throw(gpstk::InvalidRequest);
+
+ bool emptyHeader() const
+ { return headerList.empty(); }
+
+ typename std::list<FileHeader>::size_type sizeHeader()
+ { return headerList.size(); }
+
+ FileHeader& frontHeader()
+ throw(gpstk::InvalidRequest);
+
+ const FileHeader& frontHeader() const
+ throw(gpstk::InvalidRequest);
+
+ FileHeader& backHeader()
+ throw(gpstk::InvalidRequest);
+
+ const FileHeader& backHeader() const
+ throw(gpstk::InvalidRequest);
+
+ protected:
+ /// Run init() to load the data into the filter.
+ void init(const std::vector<FileHunter::FilterPair>& filter=
+ std::vector<FileHunter::FilterPair>())
+ throw(gpstk::Exception);
+
+ /// Check to make sure headerList is empty
+ /// @throw InvalidRequest if headerList is empty
+ inline void chl(const std::string& req) throw(gpstk::InvalidRequest)
+ {
+ gpstk::InvalidRequest exc("Header list is empty attempting to"
+ " satisfy "+req+" request.");
+ if (headerList.empty())
+ {
+ GPSTK_THROW(exc);
+ }
+ }
+
+ protected:
+ std::list<FileHeader> headerList;
+ };
+
+ //@}
+
+ template <class FileStream, class FileData, class FileHeader>
+ bool FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::
+ writeFile(const std::string& outputFile,
+ const FileHeader& fh) const
+ throw(gpstk::Exception)
+ {
+ // make the directory (if needed)
+ std::string::size_type pos = outputFile.rfind('/');
+ if (pos != std::string::npos)
+ gpstk::FileUtils::makeDir(outputFile.substr(0,pos).c_str(), 0755);
+
+ FileStream stream(outputFile.c_str(), std::ios::out|std::ios::trunc);
+ stream.exceptions(std::ios::failbit);
+
+ stream << fh;
+
+ typename std::list<FileData>::const_iterator index;
+ for(index = this->dataVec.begin(); index != this->dataVec.end(); index++)
+ stream << (*index);
+ return true;
+ }
+
+ template <class FileStream, class FileData, class FileHeader>
+ typename std::list<FileHeader>::const_iterator
+ FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::beginHeader()
+ const throw(gpstk::InvalidRequest)
+ {
+ try { chl("beginHeader"); }
+ catch(gpstk::InvalidRequest exc)
+ { GPSTK_RETHROW(exc); }
+ return headerList.begin();
+ }
+
+ template <class FileStream, class FileData, class FileHeader>
+ typename std::list<FileHeader>::const_iterator
+ FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::endHeader()
+ const throw(gpstk::InvalidRequest)
+ {
+ try { chl("endHeader"); }
+ catch(gpstk::InvalidRequest exc)
+ { GPSTK_RETHROW(exc); }
+ return headerList.end();
+ }
+
+ template <class FileStream, class FileData, class FileHeader>
+ typename std::list<FileHeader>::iterator
+ FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::beginHeader()
+ throw(gpstk::InvalidRequest)
+ {
+ try { chl("beginHeader"); }
+ catch(gpstk::InvalidRequest exc)
+ { GPSTK_RETHROW(exc); }
+ return headerList.begin();
+ }
+
+
+ template <class FileStream, class FileData, class FileHeader>
+ typename std::list<FileHeader>::iterator
+ FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::endHeader()
+ throw(gpstk::InvalidRequest)
+ {
+ try { chl("endHeader"); }
+ catch(gpstk::InvalidRequest exc)
+ { GPSTK_RETHROW(exc); }
+ return headerList.end();
+ }
+
+ template <class FileStream, class FileData, class FileHeader>
+ FileHeader&
+ FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::frontHeader()
+ throw(gpstk::InvalidRequest)
+ {
+ try { chl("frontHeader"); }
+ catch(gpstk::InvalidRequest exc)
+ { GPSTK_RETHROW(exc); }
+ return headerList.front();
+ }
+
+
+ template <class FileStream, class FileData, class FileHeader>
+ const FileHeader&
+ FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::frontHeader()
+ const throw(gpstk::InvalidRequest)
+ {
+ try { chl("frontHeader"); }
+ catch(gpstk::InvalidRequest exc)
+ { GPSTK_RETHROW(exc); }
+ return headerList.front();
+ }
+
+
+ template <class FileStream, class FileData, class FileHeader>
+ FileHeader&
+ FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::backHeader()
+ throw(gpstk::InvalidRequest)
+ {
+ try { chl("backHeader"); }
+ catch(gpstk::InvalidRequest exc)
+ { GPSTK_RETHROW(exc); }
+ return headerList.back();
+ }
+
+
+ template <class FileStream, class FileData, class FileHeader>
+ const FileHeader&
+ FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::backHeader()
+ const throw(gpstk::InvalidRequest)
+ {
+ try { chl("backHeader"); }
+ catch(gpstk::InvalidRequest exc)
+ { GPSTK_RETHROW(exc); }
+ return headerList.back();
+ }
+
+ template <class FileStream, class FileData, class FileHeader>
+ void
+ FileFilterFrameWithHeader<FileStream,FileData,FileHeader> ::
+ init(const std::vector<FileHunter::FilterPair>& filter)
+ throw(gpstk::Exception)
+ {
+ // find the files
+ FileHunter fh(this->fs);
+
+ typename std::vector<FileHunter::FilterPair>::const_iterator itr =
+ filter.begin();
+ while (itr != filter.end())
+ {
+ fh.setFilter((*itr).first, (*itr).second);
+ itr++;
+ }
+
+ std::vector<std::string> listOfFiles =
+ fh.find(this->startTime, this->endTime, FileSpec::ascending);
+
+ // for each file, just read the header
+ typename std::vector<std::string>::iterator i;
+ for(i = listOfFiles.begin(); i != listOfFiles.end(); i++)
+ {
+ FileStream s((*i).c_str());
+
+ if (s.good())
+ {
+ s.exceptions(std::ios::failbit);
+
+ FileHeader header;
+ s >> header;
+ headerList.push_back(header);
+ }
+ }
+ }
+
+} // namespace gpstk
+
+#endif //GPSTK_FILEFILTERFRAMEWITHHEADER_HPP
diff --git a/trunk/src/FileHunter.cpp b/trunk/src/FileHunter.cpp
new file mode 100644
index 0000000..b1e1bfb
--- /dev/null
+++ b/trunk/src/FileHunter.cpp
@@ -0,0 +1,696 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileHunter.cpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file FileHunter.cpp
+ * Find all files matching a specification.
+ */
+
+#include "FileHunter.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+// headers for directory searching interface
+#ifndef _WIN32
+#include <unistd.h>
+#include <dirent.h>
+#else
+#include <io.h>
+#include <direct.h>
+#define PATH_MAX _MAX_PATH
+#endif
+
+namespace gpstk
+{
+ FileHunter::FileHunter(const string& filespec)
+ throw(FileHunterException)
+ {
+ try
+ {
+ init(filespec);
+ }
+ catch (FileHunterException& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ }
+
+ FileHunter::FileHunter(const FileSpec& filespec)
+ throw(FileHunterException)
+ {
+ try
+ {
+ init(filespec.getSpecString());
+ }
+ catch (FileHunterException& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ }
+
+ FileHunter& FileHunter::newHunt(const string& filespec)
+ throw(FileHunterException)
+ {
+ try
+ {
+ init(filespec);
+ }
+ catch (FileHunterException& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ return *this;
+ }
+
+ FileHunter& FileHunter::setFilter(const FileSpec::FileSpecType fst,
+ const vector<string>& filter)
+ throw(FileHunterException)
+ {
+ // try to find the field in the fileSpecList.
+ vector<FileSpec>::iterator itr = fileSpecList.begin();
+ while (itr != fileSpecList.end())
+ {
+ if ((*itr).hasField(fst))
+ break;
+ itr++;
+ }
+ // found the field - add the filter.
+ if (itr != fileSpecList.end())
+ {
+ filterList.push_back(FilterPair(fst, filter));
+ return *this;
+ }
+ // didn't find it - throw an exception
+ else
+ {
+ FileHunterException fhe("The FileSpec does not have a field: " +
+ FileSpec::convertFileSpecType(fst));
+ return *this;
+ }
+ }
+
+ vector<string> FileHunter::find(const DayTime& start,
+ const DayTime& end,
+ const FileSpec::FileSpecSortType fsst,
+ enum FileChunking chunk) const
+ throw(FileHunterException)
+ {
+
+ // stupidity check
+ if (end < start)
+ {
+ FileHunterException fhe("The times are specified incorrectly");
+ GPSTK_THROW(fhe);
+ }
+
+ // move the start time back to a boundary defined by the file
+ // chunking
+ DayTime exStart;
+ switch(chunk)
+ {
+ case WEEK:
+ exStart = DayTime(start.GPSfullweek(), 0.0, start.GPSyear());
+ break;
+ case DAY:
+ exStart = DayTime(start.DOYyear(), start.DOYday(), 0.0);
+ break;
+ case HOUR:
+ exStart = DayTime(start.year(), start.month(),
+ start.day(), start.hour(),
+ 0, 0.0);
+ break;
+ case MINUTE:
+ exStart = DayTime(start.year(), start.month(),
+ start.day(), start.hour(),
+ start.minute(), 0.0);
+ break;
+ }
+
+ vector<string> toReturn;
+ // seed the return vector with an empty string. you'll see why later
+ toReturn.push_back(string());
+
+ try
+ {
+ vector<FileSpec>::const_iterator itr = fileSpecList.begin();
+
+#ifdef _WIN32
+ // If Windows, we should seed it with the drive spec
+ if (itr != fileSpecList.end())
+ {
+ toReturn[0] = (*itr).getSpecString() + string(1,'\\');
+ itr++;
+ }
+#endif
+#ifdef __CYGWIN__
+ // If Cygwin AND the user is attempting to use DOS file paths,
+ // need to see with the /cygdrive "head".
+ if (itr != fileSpecList.end())
+ {
+ toReturn[0] = string(1,slash) + (*itr).getSpecString();
+ itr++;
+ }
+#endif
+
+ while (itr != fileSpecList.end())
+ {
+ vector<string> toReturnTemp;
+
+ // counting variables
+ vector<string>::size_type i,j;
+
+ for(i = 0; i < toReturn.size(); i++)
+ {
+ // search for the next entries
+
+ //Debug
+ //printf("In .find() before call to serachHelper()\n");
+ //string temp = (*itr).createSearchString();
+ //printf(" toReturn[%d]:'%s', spec:'%s'\n",
+ // i,toReturn[i].c_str(),temp.c_str());
+
+ vector<string> newEntries = searchHelper(toReturn[i],*itr);
+ //Debug
+ /*
+ vector<string>::iterator itr1 = newEntries.begin();
+ int j1 = 0;
+ printf("In .find() after call to searchHelper\n");
+ while (itr1 != newEntries.end())
+ {
+ printf("toReturn[%d],item %d,'%s'\n",i,j1,(*itr1).c_str());
+ itr1++;
+ j1++;
+ }
+ printf("In .find(). end of list\n");
+ */
+ // after getting the potential entries, filter
+ // them based on the user criteria...
+ filterHelper(newEntries, *itr);
+
+ //Debug
+ /*
+ vector<string>::iterator itr2 = newEntries.begin();
+ int j2 = 0;
+ printf("In .find() after call to filterHelper\n");
+ while (itr2 != newEntries.end())
+ {
+ printf("toReturn[%d],item %d,'%s'\n",i,j2,(*itr2).c_str());
+ itr2++;
+ j2++;
+ }
+ printf("In .find(). end of list\n");
+ */
+
+ // for each new entry, check the time (if possible)
+ // then add it if it's in the correct time range.
+ // this is why we need to enter an empty string to
+ // seed toReturn
+ for(j = 0; j < newEntries.size(); j++)
+ {
+ try
+ {
+ DayTime fileDT = (*itr).extractDayTime(newEntries[j]);
+ if ( (fileDT >= exStart) && (fileDT <= end) )
+ {
+#ifdef _WIN32
+ if (toReturn[i].empty())
+ toReturnTemp.push_back(newEntries[j]);
+ else
+ {
+ if ( toReturn[i][toReturn[i].size()-1]=='\\')
+ toReturnTemp.push_back(toReturn[i] + newEntries[j]);
+ else
+ toReturnTemp.push_back(toReturn[i] + string(1,'\\') +
+ newEntries[j]);
+ }
+#else
+ toReturnTemp.push_back(toReturn[i] + string(1,slash) +
+ newEntries[j]);
+#endif
+ }
+ }
+ // if you can't make a DayTime, just add it -
+ // most likely, this is a field that you can't
+ // make a DayTime out of
+ catch (FileSpecException &e)
+ {
+#ifdef _WIN32
+ if (toReturn[i].empty())
+ toReturnTemp.push_back(newEntries[j]);
+ else
+ {
+ if ( toReturn[i][toReturn[i].size()-1]=='\\')
+ toReturnTemp.push_back(toReturn[i] + newEntries[j]);
+ else
+ toReturnTemp.push_back(toReturn[i] + string(1,'\\') +
+ newEntries[j]);
+ }
+#else
+ toReturnTemp.push_back(toReturn[i] + string(1,slash) +
+ newEntries[j]);
+#endif
+ }
+ }
+ }
+
+ toReturn = toReturnTemp;
+
+ // Debug
+ /*
+ vector<string>::iterator itr3 = toReturn.begin();
+ int j3 = 0;
+ printf("In .find() just above toReturn empty check.\n");
+ while (itr3 != toReturn.end())
+ {
+ printf("toReturn[%d],'%s'\n",j3,(*itr3).c_str());
+ itr3++;
+ j3++;
+ }
+ printf("In .find(). end of list\n");
+ */
+
+ // if at any time toReturn is empty, then there are no matches
+ // so just return
+ if (toReturn.empty())
+ return toReturn;
+
+ itr++;
+ }
+
+ // sort the list by the file spec of the last field
+ itr--;
+ (*itr).sortList(toReturn, fsst);
+
+ return toReturn;
+ }
+ catch(...)
+ {
+ return toReturn;
+ }
+ }
+
+ void FileHunter::init(const string& filespec)
+ throw(FileHunterException)
+ {
+ try
+ {
+ fileSpecList.clear();
+ filterList.clear();
+
+ string fs(filespec);
+
+ // If working under Cygwin, then the file specification will be
+ // handled as if it's a system rooted in '/'. HOWEVER, if the
+ // user provided a spec that starts with a drive letter or
+ // provided a relative path, it needs to be modified to fit the
+ //
+ // /cygdrive/<drive letter>/path
+ //
+ // For example,
+ // c:\ -> /cygdrive/c
+ // something -> <cwd>/something
+ // c:\foo -> /cygdrive/c/foo
+ //
+ // form.
+#ifdef __CYGWIN__
+ //printf(" Entering 'ifdef __CYGWIN__' branch.\n");
+ char backSlash = '\\';
+ string::size_type st;
+ if (fs[1] == ':')
+ {
+ //printf("Cygwin 'if' branch. fs = '%s'. Size = %d\n",
+ // fs.c_str(),fs.size());
+ char driveLetter = fs[0];
+
+ // Change all '\' to '/'
+ while ((st = fs.find( backSlash )) != fs.npos)
+ {
+ //printf(" st = %d, ",st);
+ fs = fs.replace(st, 1, 1, slash );
+ }
+ //printf(" end of back slash replacement.\n");
+ //printf("After backslash replace. fs = '%s'.\n",fs.c_str());
+
+ // Remove drive letter and colon
+ fs.erase(0,2);
+ //printf("After removing draft letter and colon. fs = '%s'.\n",fs.c_str());
+
+ // Prepend "/cygdrive/driveLetter" to filespec
+ fs.insert(0, 1, driveLetter);
+ fs.insert(0,"/cygdrive/");
+ }
+ else
+ {
+ //printf("Cygwin 'else' branch. fs = '%s'.\n",fs.c_str());
+ // Get current working directory.
+ char* cwd = getcwd(NULL, PATH_MAX);
+
+ // If strokes are in wrong directon, fix them
+ while ((st = fs.find( backSlash )) != fs.npos)
+ {
+ //printf(" st = %d, ",st);
+ fs = fs.replace(st, 1, 1, slash );
+ }
+ //printf("After backslash replace. fs = '%s'.\n",fs.c_str());
+
+ // Prepend cwd to filespec
+ if (fs[0]!=slash)
+ {
+ fs.insert(0,string(1,slash));
+ fs.insert(0,cwd);
+ }
+ }
+ //printf(" Operating under Cygwin. Filespec after modification:\n");
+ //printf(" fs = %s.\n",fs.c_str());
+#endif
+
+ // first, check if the file spec has a leading '/'. if not
+ // prepend the current directory to it.
+#ifndef _WIN32
+ if (fs[0] != slash)
+ {
+// #ifdef _WIN32
+// char* cwd = _getcwd(NULL, PATH_MAX);
+// #else
+ char* cwd = getcwd(NULL, PATH_MAX);
+// #endif
+ if (cwd == NULL)
+ {
+ FileHunterException fhe("Cannot get working directory");
+ GPSTK_THROW(fhe);
+ }
+ string wd(cwd);
+ // append a trailing slash if needed
+ if (wd[wd.size()-1] != slash)
+ wd += std::string(1,slash);
+ fs.insert(0, wd);
+ free(cwd);
+ }
+ // Append a closing slash so the breakdown algorithm has a
+ // means to terminate.
+ if (fs[fs.size()-1] != '/') fs += std::string(1,'/');
+#else
+ // If Windows, then check for leading drive name.
+ // If not leading drivename, then prepend current working directory.
+ if (fs[1]!=':')
+ {
+ char* cwdW = _getcwd(NULL, PATH_MAX);
+ if (cwdW == NULL)
+ {
+ FileHunterException fhe("Cannot get working directory");
+ GPSTK_THROW(fhe);
+ }
+ string wdW(cwdW);
+
+ // append a trailing slash if needed
+ if (wdW[wdW.size()-1] != '\\')
+ wdW += std::string(1,'\\');
+ fs.insert(0, wdW);
+ free(cwdW);
+ }
+ // Append a closing slash so the breakdown algorithm has a
+ // means to terminate.
+ if (fs[fs.size()-1] != '\\') fs += std::string(1,'\\');
+#endif
+
+ // break down the filespec directory by directory into the
+ // storage vector
+ while (!fs.empty())
+ {
+#ifndef _WIN32
+ if (fs[0] != slash)
+ {
+ FileHunterException fhe("Unexpected character: " +
+ fs.substr(0,1));
+ GPSTK_THROW(fhe);
+ }
+ else
+ // erase the leading slash
+ fs.erase(0,1);
+
+ string::size_type slashpos = fs.find(slash);
+ FileSpec tempfs(fs.substr(0, slashpos));
+
+ // debug
+ //printf(" fs, slashpos, tempfs = '%s', %d, '%s'.\n",
+ // fs.c_str(),slashpos,tempfs.getSpecString().c_str());
+
+ if (slashpos!=string::npos) fileSpecList.push_back(tempfs);
+ fs.erase(0, slashpos);
+#else
+ // for Windows erase the leading backslash, if present
+ if (fs[0] == '\\') fs.erase(0,1);
+ string::size_type slashpos;
+ slashpos = fs.find('\\');
+ FileSpec tempfs(fs.substr(0, slashpos));
+
+ if (slashpos!=string::npos) fileSpecList.push_back(tempfs);
+ fs.erase(0, slashpos);
+#endif
+ }
+ }
+ catch(FileHunterException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(FileSpecException &e)
+ {
+ FileHunterException fhe(e);
+ fhe.addText("Error in the file spec");
+ GPSTK_THROW(fhe);
+ }
+ catch(Exception &e)
+ {
+ FileHunterException fhe(e);
+ GPSTK_THROW(fhe);
+ }
+ catch(std::exception &e)
+ {
+ FileHunterException fhe("std::exception caught: " + string(e.what()));
+ GPSTK_THROW(fhe);
+ }
+ catch(...)
+ {
+ FileHunterException fhe("unknown exception caught");
+ GPSTK_THROW(fhe);
+ }
+ } // init
+
+ vector<string> FileHunter::searchHelper(const string& directory,
+ const FileSpec& fs) const
+ throw(FileHunterException)
+ {
+ try
+ {
+ vector<string> toReturn;
+
+ // generate a search string
+ string searchString = fs.createSearchString();
+
+#ifndef _WIN32
+ // open the dir
+ DIR* theDir;
+
+ //printf(" In searchHelper(). About to call opendir.\n");
+ // The first clause is a special kludge for Cygwin
+ // referencing DOS drive structures
+ //if (searchString.compare("cygdrive")==0)
+ //{
+ // std::string tempFS = std::string(1,slash) + searchString;
+ // theDir = opendir(tempFS.c_str());
+ //}
+ //else
+ if (directory.empty())
+ theDir = opendir(std::string(1,slash).c_str());
+ else
+ theDir = opendir(directory.c_str());
+
+ //printf(" In searchHelper(). Back from opendir call.\n");
+
+ if (theDir == NULL)
+ {
+ FileHunterException fhe("Cannot open directory: " + directory);
+ GPSTK_THROW(fhe);
+ }
+
+ // get each dir/file entry and compare it to the search string
+ struct dirent* entry;
+
+ while ( (entry = readdir(theDir)) != NULL)
+ {
+ string filename(entry->d_name);
+
+ // DEBUG
+ //printf("Testing '%s'\n",filename.c_str());
+
+ if (isLike(filename, searchString, '*', '+', '?') &&
+ (filename.length() == searchString.length()) &&
+ (filename != ".") && (filename != ".."))
+ {
+ toReturn.push_back(filename);
+ }
+ }
+ // use filespec for extra verification?
+
+ // cleanup
+ if (closedir(theDir) != 0)
+ {
+ FileHunterException fhe("Error closing directory: " +
+ directory);
+ GPSTK_THROW(fhe);
+ }
+#endif
+#ifdef _WIN32
+ // say 'hi' to old school MS io
+ char* cwd = _getcwd(NULL, PATH_MAX);
+ _chdir(directory.c_str());
+
+ struct _finddata_t c_file;
+ long hFile;
+
+ if ( (hFile = _findfirst( searchString.c_str(), &c_file )) != -1 )
+ {
+ std::string filename(c_file.name);
+ if ((filename != ".") && (filename != ".."))
+ {
+ toReturn.push_back(filename);
+ }
+ while( _findnext( hFile, &c_file ) == 0 )
+ {
+ filename = std::string(c_file.name);
+ if ((filename != ".") && (filename != ".."))
+ {
+ toReturn.push_back(filename);
+ }
+ }
+ }
+ _findclose(hFile);
+ _chdir(cwd);
+#endif
+ return toReturn;
+ }
+ catch(Exception& e)
+ {
+ FileHunterException fhe(e);
+ fhe.addText("Search failed");
+ GPSTK_THROW(fhe);
+ }
+ catch(std::exception& e)
+ {
+ FileHunterException fhe("std::exception caught: " + string(e.what()));
+ fhe.addText("Search failed");
+ GPSTK_THROW(fhe);
+ }
+ catch(...)
+ {
+ FileHunterException fhe("unknown exception");
+ fhe.addText("Search failed");
+ GPSTK_THROW(fhe);
+ }
+ }
+
+ void FileHunter::filterHelper(vector<std::string>& fileList,
+ const FileSpec& fs) const
+ throw(FileHunterException)
+ {
+ // go through the filterList. If the filespec has
+ // any fields to filter, remove matches from fileList
+
+ // for each element in the filter....
+ vector<FilterPair>::const_iterator filterItr = filterList.begin();
+ while(filterItr != filterList.end())
+ {
+ // if the file spec has that element...
+ if (fs.hasField((*filterItr).first))
+ {
+
+ // then search through the file list and
+ // remove any files that don't match the filter.
+ vector<string>::iterator fileListItr = fileList.begin();
+ while (fileListItr != fileList.end())
+ {
+ // thisField holds the part of the file name
+ // that we're searching for
+ string thisField = fs.extractField(*fileListItr,
+ (*filterItr).first);
+
+ vector<string>::const_iterator filterStringItr =
+ (*filterItr).second.begin();
+
+ // the iterator searches each element of the filter
+ // and compares it to thisField. If there's a match
+ // then keep it. if there's no match, delete it.
+ while (filterStringItr != (*filterItr).second.end())
+ {
+ if (thisField == rightJustify(*filterStringItr,
+ thisField.size(),
+ '0'))
+ break;
+ filterStringItr++;
+ }
+
+ if (filterStringItr == (*filterItr).second.end())
+ fileList.erase(fileListItr);
+ else
+ fileListItr++;
+ }
+ }
+ filterItr++;
+ }
+ }
+
+
+ void FileHunter::dump(ostream& o) const
+ {
+ vector<FileSpec>::const_iterator itr = fileSpecList.begin();
+ while(itr != fileSpecList.end())
+ {
+ (*itr).dump(o);
+ itr++;
+ }
+ }
+
+} // namespace
+
diff --git a/trunk/src/FileHunter.hpp b/trunk/src/FileHunter.hpp
new file mode 100644
index 0000000..5b6f6d7
--- /dev/null
+++ b/trunk/src/FileHunter.hpp
@@ -0,0 +1,227 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileHunter.hpp#1 $"
+
+/**
+ * @file FileHunter.hpp
+ * Find all files matching a specification.
+ */
+
+#ifndef GPSTK_FILEHUNTER_HPP
+#define GPSTK_FILEHUNTER_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileSpec.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup filedirgroup */
+ //@{
+
+ /// The only exception that class FileHunter throws.
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(FileHunterException, gpstk::Exception);
+
+ /**
+ * FileHunter is a class designed to find files matching specified
+ * criteria. The specified criteria is threefold:
+ * 1. The File Specification. This is a path and/or file description
+ * which is the most important search criteria. For instance, the
+ * specification for a Rinex Obs file might be:
+ * /archive/ADMS%3n/RINEXOBS/S%2n%t%3jA.%2y0
+ * where the '%#char' elements denote fields such as year, day, station
+ * number, and so on. In this example, FileHunter is smart enough to
+ * search all station directories (ADMS401, ADMS402, etc) but it won't
+ * search any directories (or subdirectories) other than ones that
+ * match the initial specification.
+ * 2. Start and end times. If you simply call find(), FileHunter will
+ * return all files that match the specification. You can specify
+ * DayTimes to only return files whose dates (according to the file
+ * name) fall between those times. Note that you can tell find() to
+ * return the list of files ascending, descending, or unsorted
+ * (unsorted will return them in disk order).
+ * 3. Filters. Filters can be used on any field that your file
+ * specification includes. The most appropriate use of this is to
+ * filter for a certain set of stations, but it will allow you to
+ * filter ANY field (day, year, etc) that is in the file specification.
+ *
+ * For more information about file specifications, see the comments in
+ * the FileSpec class. Also check the file FileSpecTest in the test
+ * subdirectory below this one for examples.
+ *
+ * Limitations: If a file specification has two or more of the same
+ * field defined, only the first one is used. This is only if they
+ * repeat in a single directory or path. For instance, this would be ok:
+ * /ADMS%3n/FILE%3n but in this case: /ADMS%3n/%3j%3j only the first
+ * %3j would be used for the day field.
+ * Also, wildcards cannot be used. Sorry - it's a limitation of how
+ * regular expressions are used.
+ * Finally, if you specify a version field, all files matching will
+ * be reurned. You can either use extractField() on the returned files
+ * to determine the latest version or select the version you want
+ * returned by using setFilter().
+ */
+ class FileHunter
+ {
+ public:
+
+ /// This describes how the files to be searched are chunked
+ /// i.e. a DAY chunking means one file is written per day
+ enum FileChunking
+ {
+ WEEK,
+ DAY,
+ HOUR,
+ MINUTE
+ };
+
+ /// Pairs of FileSpecTypes and lists of strings for filtering
+ /// the search results.
+ typedef std::pair<FileSpec::FileSpecType, std::vector<std::string> >
+ FilterPair;
+
+ /**
+ * Constructs a FileHunter using a file specification. This
+ * can be a full or relative path and/or a file specification.
+ * See FileSpec for details on how to format a file specification.
+ * @throw FileHunterException when there's a problem with the filespec
+ */
+ FileHunter(const std::string& filespec)
+ throw(FileHunterException);
+
+ /**
+ * Constructs a FileHunter using a FileSpec.
+ * @throw FileHunterException when there's a problem with the filespec
+ */
+ FileHunter(const FileSpec& filespec)
+ throw(FileHunterException);
+
+ /**
+ * Rather than building a new file hunter, this lets you change
+ * the filespec you're searching for.
+ * @throw FileHunterException when there's a problem with the filespec
+ */
+ FileHunter& newHunt(const std::string& filespec)
+ throw(FileHunterException);
+
+ /**
+ * Changes the file spec you're searching for in FileHunter.
+ * @throw FileHunterException when there's an error in the filespec
+ */
+ FileHunter& newHunt(const FileSpec& filespec)
+ throw(FileHunterException)
+ {return newHunt(filespec.getSpecString());}
+
+ /**
+ * Filters FOR the strings in /a filter in the field specified
+ * by /a fst when searching.
+ * @param fst A FileSpecType you want to run a filter on.
+ * @param filter a list of strings to search for.in the filter.
+ * @throw FileHunterException when /a fst can't be found.
+ */
+ FileHunter& setFilter(const FileSpec::FileSpecType fst,
+ const std::vector<std::string>& filter)
+ throw(FileHunterException);
+
+ /**
+ * Does the searching for the files. Set /a start and /a end
+ * for specifying times of files (according to their file names)
+ * for returning.
+ * \warning This method is NOT MT-Safe.
+ * @param start the start time to limit the search
+ * @param end the end time to limit the search
+ * @param fsst set to change the order the list is returned
+ * @param chunk the type of file chunking to use to select files
+ * @return a list of files matching the file specification,
+ * start and end times, and filters ordered according to fsst.
+ * This list can be empty if no files are found.
+ * @throw FileHunterException when there's a problem searching.
+ */
+ std::vector<std::string>
+ find(const gpstk::DayTime& start = gpstk::DayTime::BEGINNING_OF_TIME,
+ const gpstk::DayTime& end = gpstk::DayTime::END_OF_TIME,
+ const FileSpec::FileSpecSortType fsst = FileSpec::ascending,
+ enum FileChunking chunk = DAY) const
+ throw(FileHunterException);
+
+ /// outputs the file spec into a semi-readable format
+ void dump(std::ostream& o) const;
+
+ private:
+ // disallow these
+ FileHunter();
+ FileHunter(const FileHunter& fh);
+ FileHunter& operator=(const FileHunter& fh);
+
+ protected:
+ ///Shared code between the constructor and newHunt
+ void init(const std::string& filespec)
+ throw(FileHunterException);
+
+ /** Performs a search for the given file spec on the given directory.
+ * \warning This method is NOT MT-Safe.
+ * @return a list of matching directories/files */
+ std::vector<std::string>
+ searchHelper(const std::string& directory,
+ const FileSpec& fs) const
+ throw(FileHunterException);
+
+ /// If there is a filter set, this will find the filtered items
+ /// and set fileList to contain only those.
+ void filterHelper(std::vector<std::string>& fileList,
+ const FileSpec& fs) const
+ throw(FileHunterException);
+
+ /// Holds the broken down list of the file specification for searching
+ std::vector<FileSpec> fileSpecList;
+
+ /// Stores the list of things to filter for
+ std::vector<FilterPair> filterList;
+ }; // FileHunter
+
+ //@}
+
+} // namespace
+
+
+
+
+#endif
diff --git a/trunk/src/FileSpec.cpp b/trunk/src/FileSpec.cpp
new file mode 100644
index 0000000..f3b6b82
--- /dev/null
+++ b/trunk/src/FileSpec.cpp
@@ -0,0 +1,535 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileSpec.cpp#4 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file FileSpec.cpp
+ * Define the specification of a file.
+ */
+
+#include <algorithm>
+
+#include "FileSpec.hpp"
+
+#include "StringUtils.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+namespace gpstk
+{
+ // operator-- for FileSpecType
+ FileSpec::FileSpecType& operator-- (FileSpec::FileSpecType& fst, int)
+ {
+ return fst = (fst == FileSpec::unknown) ?
+ FileSpec::end : FileSpec::FileSpecType(fst-1);
+ }
+
+ // operator++ for FileSpecType
+ FileSpec::FileSpecType& operator++ (FileSpec::FileSpecType& fst, int)
+ {
+ return fst = (fst == FileSpec::end) ?
+ FileSpec::unknown : FileSpec::FileSpecType(fst+1);
+ }
+
+ // compares substrings of \a l and \a r
+ bool FileSpec::FileSpecSort::operator() (const std::string& l,
+ const std::string& r) const
+ {
+ // if there are directories, don't include them in the comparison
+ std::string tl(l, offset + l.find_last_of(slash) + 1, length);
+ std::string tr(r, offset + r.find_last_of(slash) + 1, length);
+ if (sortBy == ascending)
+ return tl < tr;
+ else
+ return tl > tr;
+ }
+
+ string FileSpec::convertFileSpecType(const FileSpecType fst)
+ throw(FileSpecException)
+ {
+ if (fst == station) return string("n");
+ else if (fst == receiver) return string("r");
+ else if (fst == prn) return string("p");
+ else if (fst == selected) return string("t");
+ else if (fst == sequence) return string("I");
+ else if (fst == version) return string("v");
+ else if (fst == fixed) return string("");
+ else if (fst == clock) return string("c");
+
+ else if (fst == year) return string("y");
+ else if (fst == month) return string("m");
+ else if (fst == dayofmonth) return string("d");
+ else if (fst == hour) return string("H");
+ else if (fst == minute) return string("M");
+ else if (fst == second) return string("S");
+ else if (fst == fsecond) return string("f");
+ else if (fst == gpsweek) return string("G");
+ else if (fst == fullgpsweek) return string("F");
+ else if (fst == gpssecond) return string("g");
+ else if (fst == mjd) return string("Q");
+ else if (fst == dayofweek) return string("w");
+ else if (fst == day) return string("j");
+ else if (fst == zcount) return string("Z");
+ else if (fst == zcountfloor) return string("z");
+ else if (fst == unixsec) return string("U");
+ else if (fst == unixusec) return string("u");
+ else if (fst == fullzcount) return string("C");
+ else
+ {
+ FileSpecException fse("Unknown FileSpecType: " + asString(fst));
+ GPSTK_THROW(fse);
+ }
+ }
+
+ FileSpec::FileSpecType FileSpec::convertFileSpecType(const string& fst)
+ throw(FileSpecException)
+ {
+ if (fst == string("n")) return station;
+ else if (fst == string("r")) return receiver;
+ else if (fst == string("p")) return prn;
+ else if (fst == string("t")) return selected;
+ else if (fst == string("I")) return sequence;
+ else if (fst == string("v")) return version;
+ else if (fst == string("c")) return clock;
+
+ else if (fst == string("Y") ||
+ fst == string("y")) return year;
+ else if (fst == string("m")) return month;
+ else if (fst == string("d")) return dayofmonth;
+ else if (fst == string("H")) return hour;
+ else if (fst == string("M")) return minute;
+ else if (fst == string("S")) return second;
+ else if (fst == string("f")) return fsecond;
+ else if (fst == string("G")) return gpsweek;
+ else if (fst == string("F")) return fullgpsweek;
+ else if (fst == string("g")) return gpssecond;
+ else if (fst == string("Q")) return mjd;
+ else if (fst == string("w")) return dayofweek;
+ else if (fst == string("j")) return day;
+ else if (fst == string("Z")) return zcount;
+ else if (fst == string("z")) return zcountfloor;
+ else if (fst == string("U")) return unixsec;
+ else if (fst == string("u")) return unixusec;
+ else if (fst == string("C")) return fullzcount;
+ else
+ {
+ FileSpecException fse("Unknown FileSpecType: " + fst);
+ GPSTK_THROW(fse);
+ }
+ }
+
+
+ string FileSpec::createSearchString() const
+ throw(FileSpecException)
+ {
+ string searchString;
+
+ // go through the file spec element list...
+ vector<FileSpecElement>::const_iterator itr = fileSpecList.begin();
+ while (itr != fileSpecList.end())
+ {
+ // the error case first...
+ if ( ((*itr).type <= unknown) || ((*itr).type >= end) )
+ {
+ FileSpecException fse("Unknown FileSpecType: " +
+ asString((*itr).type));
+ GPSTK_THROW(fse);
+ }
+ // just add the fixed fields
+ else if ((*itr).type == fixed)
+ {
+ searchString += (*itr).field;
+ }
+ // replace all the others with question marks for searching
+ else
+ {
+ searchString += string((*itr).numCh, '?');
+ }
+
+ itr++;
+ }
+
+ return searchString;
+ }
+
+ string FileSpec::extractField(const string& filename,
+ const FileSpecType fst) const
+ throw(FileSpecException)
+ {
+ // stupidity check - is it a valid FST?
+ if ((fst <= unknown) || (fst >= end))
+ {
+ FileSpecException fse("Unknown FileSpecType: " +
+ convertFileSpecType(fst));
+ GPSTK_THROW(fse);
+ }
+
+ // check the FileSpec for this type of FST
+ vector<FileSpecElement>::const_iterator itr = fileSpecList.begin();
+ while (itr != fileSpecList.end())
+ {
+ // found it - get the substring and return
+ if ((*itr).type == fst)
+ {
+ return filename.substr((*itr).offset, (*itr).numCh);
+ }
+
+ // didn't find it on this iteration
+ itr++;
+ }
+ // oops - didn't find it.
+ FileSpecException fse("Couldn't find specified FileSpecType: " +
+ convertFileSpecType(fst));
+ GPSTK_THROW(fse);
+ }
+
+ bool FileSpec::hasField(const FileSpecType fst) const
+ throw(FileSpecException)
+ {
+ vector<FileSpecElement>::const_iterator itr = fileSpecList.begin();
+ while (itr != fileSpecList.end())
+ {
+ // stupidity check - is it a valid FST?
+ if (((*itr).type <= unknown) || ((*itr).type >= end))
+ {
+ FileSpecException fse("Unknown FileSpecType: " +
+ convertFileSpecType((*itr).type));
+ GPSTK_THROW(fse);
+ }
+ if ((*itr).type == fst)
+ return true;
+ itr++;
+ }
+ return false;
+ }
+
+
+ DayTime FileSpec::extractDayTime(const string& filename) const
+ throw(FileSpecException)
+ {
+ // this uses DayTime::setToString to get the time out
+ try
+ {
+ DayTime dt(0.L);
+ dt.setToString(filename, fileSpecString);
+ return dt;
+ }
+ catch(Exception& exc)
+ {
+ // too ambiguous - throw an exception
+ FileSpecException fse(exc);
+ fse.addText("Can't generate a DayTime for this FileSpec");
+ GPSTK_THROW(fse);
+ }
+ catch(std::exception& exc)
+ {
+ FileSpecException fse("std::exception: " + string(exc.what()));
+ fse.addText("Can't generate a DayTime for this FileSpec");
+ GPSTK_THROW(fse);
+ }
+ catch(...)
+ {
+ FileSpecException fse("unknown exception");
+ fse.addText("Can't generate a DayTime for this FileSpec");
+ GPSTK_THROW(fse);
+ }
+
+ }
+
+ std::string FileSpec::toString(const gpstk::DayTime& dt,
+ const FSTStringMap& fstsMap) const
+ {
+ string toReturn;
+
+ // Go through the list and insert all the non-date elements
+ // into the string. In other words, fill in the string with data
+ // from the FSTSMap first.. For date elements, put the FileSpec string
+ // directly into the file name (i.e. '%3j'). Then use Daytime::printf
+ // to fill in all the date elements at the end.
+ vector<FileSpecElement>::const_iterator fslItr = fileSpecList.begin();
+ while (fslItr != fileSpecList.end())
+ {
+ FSTStringMap::const_iterator fstsItr = fstsMap.find((*fslItr).type);
+ // once again, it its found in the map, replace that part of
+ // the file spec. otherwise, just put the fixed field in.
+ if (fstsItr != fstsMap.end())
+ {
+ toReturn += rightJustify((*fstsItr).second, (*fslItr).numCh, '0');
+ }
+ else
+ {
+ toReturn += (*fslItr).field;
+ }
+
+ fslItr++;
+ }
+
+ toReturn = dt.printf(toReturn);
+
+ return toReturn;
+ }
+
+ void FileSpec::sortList(vector<string>& fileList,
+ const FileSpecSortType fsst) const
+ throw(FileSpecException)
+ {
+ // gotta sort them in order as they appear in FileSpecType.
+ // This is kinda like Radix sort... sort one field at a time.
+ for(FileSpecType fst = FileSpecType(end-1); fst > unknown; fst--)
+ {
+ if (hasField(fst))
+ {
+ // check the FileSpec for this type of FST
+ vector<FileSpecElement>::const_iterator itr = fileSpecList.begin();
+ string::size_type ofs, len;
+ while (itr != fileSpecList.end())
+ {
+ // found it - get the substring and return
+ if ((*itr).type == fst)
+ {
+ ofs = (*itr).offset;
+ len = (*itr).numCh;
+ if (fsst != none)
+ {
+ FileSpecSort q(ofs, len, fsst);
+ stable_sort(fileList.begin(), fileList.end(), q);
+ }
+ }
+
+ // didn't find it on this iteration
+ itr++;
+ }
+ }
+ }
+
+ // to filter out versions, generate a list of the version FSEs first
+ // and copy the file list. then make a map of the file name without
+ // the version field to the name with the version field. since its
+ // sorted, the highest version will be the last one set and the map
+ // will only have the latest versions...
+ //
+ // ex. a1a a2a a3a a4a a5a file spec: a%1va
+ // copyOfFileList after versions removed: aa aa aa aa aa
+ // versionMap[aa] = a1a then a2a, a3a, a4a, and finally a5a
+ //
+ // note that this only handles 1 version field right now, not that
+ // it couldnt do more but it gets very difficult...
+
+ // filter out older versions here
+ if (hasField(version))
+ {
+ // copy the file list
+ vector<string> copyOfFileList = fileList;
+
+ // find all the version elements in this file spec
+ vector<FileSpecElement>::const_iterator itr = fileSpecList.begin();
+ vector<FileSpecElement> versionVec;
+ while (itr != fileSpecList.end())
+ {
+ if ((*itr).type == version)
+ versionVec.push_back(*itr);
+ itr++;
+ }
+ // remove the version fields from the copied list, but only for the
+ // last directory/file entry in this name
+ vector<string>::size_type index;
+ for (index = 0; index < copyOfFileList.size(); index++)
+ {
+ string::size_type slashpos = copyOfFileList[index].rfind(slash);
+ if (slashpos != string::npos)
+ copyOfFileList[index].erase(0, slashpos + 1);
+ copyOfFileList[index].erase(versionVec[0].offset,
+ versionVec[0].numCh);
+ }
+
+ // now make one more pass on the copied list. whenever two strings
+ // match, go to the original list and compare the version numbers.
+ // erase the lower version.
+
+ // FIX: this will only compare the first version field encountered.
+ // it could be changed to do more, but it's not essential now...
+ map<string, string> versionMap;
+ for (index = 0; index < copyOfFileList.size(); index++)
+ versionMap[copyOfFileList[index]] = fileList[index];
+
+ fileList.erase(fileList.begin(), fileList.end());
+ map<string, string>::iterator mapitr = versionMap.begin();
+ while (mapitr != versionMap.end())
+ {
+ fileList.push_back((*mapitr).second);
+ mapitr++;
+ }
+ }
+ }
+
+ void FileSpec::dump(ostream& o) const
+ {
+ o << "FileSpec string: " << fileSpecString << endl;
+
+ o << "offset numch type field" << endl;
+ vector<FileSpecElement>::const_iterator itr = fileSpecList.begin();
+ while (itr != fileSpecList.end())
+ {
+ o << setw(6) << (*itr).offset << setw(6) << (*itr).numCh
+ << setw(6) << convertFileSpecType((*itr).type)
+ // this makes the field bigger if the string is
+ // bigger than 5 characters
+ << setw(6 + ((*itr).field.size() > 5 ? ((*itr).field.size()-5): 0))
+ << (*itr).field << endl;
+ itr++;
+ }
+ }
+
+ void FileSpec::init(const string& fileSpec)
+ throw(FileSpecException)
+ {
+ try
+ {
+ fileSpecList.erase(fileSpecList.begin(), fileSpecList.end());
+ fileSpecString.erase(fileSpecString.begin(), fileSpecString.end());
+
+ fileSpecString = fileSpec;
+
+ // holds the offset for where we would be in the real file
+ // name
+ string::size_type offset = 0;
+
+ // copy the string so we can mess with it
+ string fs(fileSpec);
+
+ // bit by bit, parse out the string into FileSpecElements,
+ // stripping out the used parts as we go
+ while (!fs.empty())
+ {
+ string atom;
+ // if fs[0] == '%', then stop to parse. also stop at
+ // the end of the string
+ string::size_type pos = fs.find('%');
+ atom = fs.substr(0,pos);
+ fs.erase(0,pos);
+
+ // if it's at the end of the string...
+ // make a FileSpecElement of any remaining
+ // characters and return (fall through the while loop)
+ if (fs.empty())
+ {
+ if (!atom.empty())
+ {
+ FileSpecElement fse(atom.size(), offset, fixed, atom);
+ fileSpecList.push_back(fse);
+ }
+ }
+ // found a '%' so parse out this little bit of a file spec,
+ // but make sure to add atom to the FileSpec (if there is any)
+ else
+ {
+ if (!atom.empty())
+ {
+ FileSpecElement fse(atom.size(), offset, fixed, atom);
+ fileSpecList.push_back(fse);
+ offset += atom.size();
+ atom.erase(atom.begin(), atom.end());
+ }
+
+ // erase the '%'
+ // also make sure that atom holds the string that
+ // makes up this element.
+ atom += fs[0];
+ fs.erase(0,1);
+
+ // get any integers that come before the letter we're lookin
+ // for, then erase them
+ int numChs = asInt(fs);
+ if (numChs == 0)
+ numChs = 1;
+
+ if (fs[0] == '0')
+ atom += '0';
+
+ stripLeading(fs, "0");
+ stripLeading(fs, asString(numChs));
+
+ atom += asString(numChs);
+
+ // get the file spec type and erase that part of the string
+ FileSpecType fst = convertFileSpecType(fs.substr(0,1));
+ atom += fs[0];
+
+ // super special case - %Y -> %4y FIX shouldn't this be <4?
+ if ((fs.substr(0,1) == string("Y")) && (numChs != 4))
+ numChs = 4;
+ fs.erase(0,1);
+
+ FileSpecElement fse(numChs, offset, fst, atom);
+ fileSpecList.push_back(fse);
+ offset += numChs;
+ }
+
+ } // while !fs.empty()
+ }
+ catch(FileSpecException& e)
+ {
+ e.addText("Check your file spec for errors: " + fileSpec);
+ GPSTK_RETHROW(e);
+ }
+ catch(StringException& e)
+ {
+ FileSpecException fse(e);
+ fse.addText("String exception: Check the file spec for errors: " + fileSpec);
+ GPSTK_THROW(fse);
+ }
+ catch(std::exception& e)
+ {
+ FileSpecException fse("std::exception: " + string(e.what()));
+ fse.addText("Check the file spec for errors: " + fileSpec);
+ GPSTK_THROW(fse);
+ }
+ catch(...)
+ {
+ FileSpecException fse("Unknown exception: Check the file spec for errors: " + fileSpec);
+ GPSTK_THROW(fse);
+ }
+ }
+
+} // namespace
diff --git a/trunk/src/FileSpec.hpp b/trunk/src/FileSpec.hpp
new file mode 100644
index 0000000..8b6c8aa
--- /dev/null
+++ b/trunk/src/FileSpec.hpp
@@ -0,0 +1,317 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileSpec.hpp#2 $"
+
+/**
+ * @file FileSpec.hpp
+ * Define the specification of a file.
+ */
+
+#ifndef GPSTK_FILESPEC_HPP
+#define GPSTK_FILESPEC_HPP
+
+#include <vector>
+#include <functional>
+#include <map>
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "DayTime.hpp"
+
+#ifdef _WIN32
+const char slash = '\\';
+#else
+const char slash = '/';
+#endif
+
+namespace gpstk
+{
+ /** @addtogroup filedirgroup */
+ //@{
+
+ /// This exception is thrown when there is a problem with
+ /// handling file specifications.
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(FileSpecException, gpstk::Exception);
+
+ /**
+ * A FileSpec is how file names are defined. For instance,
+ * ASM%4Y.%3j is the file spec for a SMODF file. The format is similar
+ * to what you would use in sprintf(), and specifically it uses the same
+ * fields as DayTime::printf(). For the most predictable results,
+ * fully specify the field length (as in %4Y vs. %Y). Check the
+ * FileSpecType enum values for how characters map to fields. Any new
+ * fields added should conform to DayTime or already existing fields,
+ * if there are any.
+ */
+ class FileSpec
+ {
+ public:
+ /// This enum lists the different possible elements you can
+ /// have in a FileSpec.
+ enum FileSpecType
+ {
+ unknown, ///< Unknown type
+ station, ///< 'n' A field for station numbers
+ receiver, ///< 'r' A field for the receiver number
+ prn, ///< 'p' A field for PRN number
+ selected, ///< 't' A field for selected/unselected receiver
+ sequence, ///< 'I' A sequence number, as in part 1, part 2, etc..
+ version, ///< 'v' A version number, as in version 2
+ ///< is more recent than version 1
+ fixed, ///< A field for fixed characters
+ clock, ///< 'c' A field for the clock number
+
+
+ // see DayTime for more information on the followint elements
+ year, ///< 'y' or 'Y' A field for a year
+ month, ///< 'm' A field for month (numeric)
+ dayofmonth, ///< 'd' A field for day-of-month
+ hour, ///< 'H' A field for hours (out of 24)
+ minute, ///< 'M' A field for minutes (out of 60)
+ second, ///< 'S' A field for seconds (out of 60)
+ fsecond, ///< 'f' A field for seconds (float)
+ gpsweek, ///< 'G' A field for 10 bit GPS weeks
+ fullgpsweek, ///< 'F' A field for full GPS weeks
+ gpssecond, ///< 'g' A field for GPS second-of-week
+ mjd, ///< 'Q' A field for Modified Julian Date
+ dayofweek, ///< 'w' A field for day-of-week (numeric)
+ day, ///< 'j' A field for day of year
+ zcount, ///< 'Z' A field for GPS Z-count
+ zcountfloor, ///< 'z' A field for GPS Z-count rounded down
+ unixsec, ///< 'U' A field for UNIX seconds
+ unixusec, ///< 'u' A field for UNIX microseconds
+ fullzcount, ///< 'C' A field for Full GPS Z-count
+
+ end ///< A place holder for the end of this list
+ };
+
+ /// A map from a FileSpecType to a string, used in the
+ /// toString function.
+ typedef std::map<FileSpecType, std::string> FSTStringMap;
+
+
+ /// An enum for identifying the sort order of the list returned
+ /// from FileHunter.
+ enum FileSpecSortType
+ {
+ none,
+ ascending,
+ descending
+ };
+
+ /// Default constructor
+ FileSpec() {}
+
+ /// Constructor with a string to parse
+ FileSpec(const std::string& fileSpec)
+ throw(FileSpecException)
+ {init(fileSpec);}
+
+ /// Destructor
+ virtual ~FileSpec() {}
+
+ /// Reinitializes this FileSpec with the new string
+ virtual FileSpec& newSpec(const std::string& fileSpec)
+ throw(FileSpecException)
+ {init(fileSpec); return *this;}
+
+ /// Returns the string of the filespec
+ virtual std::string getSpecString(void) const
+ {return fileSpecString;}
+
+ /**
+ * Returns a string that can be used to search for files
+ * matching this FileSpec. Essentailly turns every non-fixed
+ * field into strings of '?'.
+ * @throw FileSpecException when there's an error in the FileSpec
+ */
+ virtual std::string createSearchString() const
+ throw(FileSpecException);
+
+ /**
+ * Given a file name and a field, returns that field from the string.
+ * Use hasField() first to see if the field exists in the FileSpec.
+ * If multiple fields of FileSpecType are defined, only the first
+ * is returned.
+ * @throw FileSpecException when the FileSpecType doesn't exist
+ * in the FileSpec
+ */
+ virtual std::string extractField(const std::string& filename,
+ const FileSpecType) const
+ throw(FileSpecException);
+
+ /**
+ * Given a field type, returns true if the FileSpec has that field.
+ * @throw FileSpecException when you pass in an invalid FileSpecType
+ */
+ virtual bool hasField(const FileSpecType) const
+ throw(FileSpecException);
+
+ /**
+ * If possible, returns a DayTime object with the time the file
+ * represents. Since the time resolution only goes to days for
+ * most file types, all times are set to midnight of that day.
+ * @throw FileSpecException when a time can't be formed
+ */
+ virtual gpstk::DayTime extractDayTime(const std::string& filename) const
+ throw(FileSpecException);
+
+ /**
+ * For the given FileSpec, fills in the fields with the given
+ * information and returns a string of that file name. Use the
+ * FSTStringMap to provide all the other non-time data for the
+ * string (i.e. FSTSMap[station] = "85408";). Any unspecified
+ * field will be filled with 0's. The one side affect of this
+ * is that you can only specify one of each field in the map,
+ * but you're likely not going to need two different station
+ * numbers in the file name. If you want, you can put the daytime
+ * information into the FSTSMap, but it's not necessary.
+ * @return the new filename.
+ */
+ virtual std::string toString(const gpstk::DayTime& dt,
+ const FSTStringMap& fstsMap = FSTStringMap())
+ const;
+
+ /**
+ * Sort the list of files ascending or
+ * descending. The fields of the files are sorted in the order
+ * that they're specified in the FileSpecType enum.
+ * The list fileList is modified as a result
+ * of this. If the files in fileList have paths listed, then
+ * only the file name (taken to be the word after the last '/')
+ * will be used in the comparison. This function also filters
+ * out older versions of files in the fileList.
+ */
+ virtual void sortList(std::vector<std::string>& fileList,
+ const FileSpecSortType fsst = ascending) const
+ throw(FileSpecException);
+
+ /// semi-nicely print the FileSpec to the stream.
+ virtual void dump(std::ostream& o) const;
+
+ protected:
+ /// Parses the string into the FileSpec object
+ virtual void init(const std::string& fileSpec)
+ throw(FileSpecException);
+
+ public:
+ /**
+ * Converts the FileSpecType to a string it is identified with.
+ * @throw FileSpecException when FileSpecType doesn't match
+ * any known types
+ */
+ static std::string convertFileSpecType(const FileSpecType)
+ throw(FileSpecException);
+
+ /**
+ * Converts the string into its corresponding FileSpecType
+ * @throw FileSpecException when FileSpecType doesn't match
+ * any known types
+ */
+ static FileSpecType convertFileSpecType(const std::string&)
+ throw(FileSpecException);
+
+ protected:
+ /// This is an internal, private class of FileSpec that holds
+ /// information for one individual file specification element.
+ class FileSpecElement
+ {
+ public:
+ /// This is the default constructor too.
+ FileSpecElement(const std::string::size_type numChars = 0,
+ const std::string::size_type offs = 0,
+ const FileSpecType fst = unknown,
+ const std::string& fld = std::string())
+ : numCh(numChars), offset(offs), type(fst), field(fld)
+ {};
+
+ /// The number of characters this field is in the file name.
+ std::string::size_type numCh;
+ /// The offset in the string where this field begins
+ std::string::size_type offset;
+ /// The type which this field corresponds to.
+ FileSpecType type;
+ /// For fixed strings, the characters it represents.
+ /// For all other types, it's the original string for
+ /// that field (i.e. '%03j').
+ std::string field;
+ };
+
+ /// Another private, internal class for doing sorting
+ /// by substring.
+ struct FileSpecSort :
+ public std::binary_function<std::string,std::string,bool>
+ {
+ public:
+ FileSpecSort(std::string::size_type o, std::string::size_type l,
+ const FileSpecSortType s)
+ : offset(o), length(l), sortBy(s) {}
+ /// Compares two strings based on the substrings defined by
+ /// offset and length accounting for any directory names
+ /// in the strings
+ bool operator() (const std::string& l, const std::string& r) const;
+ private:
+ /// the offset of the substring to compare
+ std::string::size_type offset;
+ /// the length of the substring to compare
+ std::string::size_type length;
+ /// ascending, descending or none
+ FileSpecSortType sortBy;
+ };
+
+ /// Holds all of the FileSpecElements for this FileSpec
+ std::vector<FileSpecElement> fileSpecList;
+ /// Holds the string that the fileSpecList was generated from
+ std::string fileSpecString;
+
+
+ }; // class FileSpec
+
+ /// Operator-- for FileSpecType
+ FileSpec::FileSpecType& operator-- (FileSpec::FileSpecType& fst, int);
+ /// Operator++ for FileSpecType
+ FileSpec::FileSpecType& operator++ (FileSpec::FileSpecType& fst, int);
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/FileStore.hpp b/trunk/src/FileStore.hpp
new file mode 100644
index 0000000..cc91499
--- /dev/null
+++ b/trunk/src/FileStore.hpp
@@ -0,0 +1,119 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileStore.hpp#1 $"
+
+/**
+ * @file FileStore.hpp
+ * Read and write data
+ */
+
+#ifndef GPSTK_FILE_STORE_HPP
+#define GPSTK_FILE_STORE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <vector>
+
+#include "Exception.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup filedirgroup */
+ //@{
+ /**
+ * This is an abstract class used to add a list of files and the interface
+ * to read files into a datastore. This is intended to support arbitrary
+ * file names, not a list of similiar file names. See the FileHunter framework
+ * for support of that type of file.
+ */
+
+ template <class HeaderType> class FileStore
+ {
+ public:
+
+ /// Constructor.
+ FileStore() throw() {};
+
+ /// destructor
+ virtual ~FileStore() {};
+
+ std::vector<std::string> getFileNames() const
+ {
+ typedef typename FFDataMap::const_iterator const_iterator;
+ std::vector<std::string> nv;
+ const_iterator i;
+ for (i=headerMap.begin(); i!=headerMap.end(); i++)
+ nv.push_back(i->first);
+ return nv;
+ }
+
+ void addFile(const std::string& fn, const HeaderType& header) throw()
+ { headerMap[fn] = header; };
+
+ const HeaderType& getHeader(const std::string& fn) throw()
+ { return headerMap[fn]; };
+
+ /// Load a single file into the store
+ virtual void loadFile(const std::string& fileName)
+ throw (FileMissingException) = 0;
+
+ virtual void loadFiles(const std::vector<std::string>& fileNames)
+ {
+ std::vector<std::string>::const_iterator f=fileNames.begin();
+ for (f=fileNames.begin(); f!=fileNames.end(); f++)
+ loadFile(*f);
+ };
+
+ /// Return the size of the (filename,header) map
+ unsigned size() const throw() { return headerMap.size(); }
+
+ private:
+
+ typedef std::map<std::string, HeaderType> FFDataMap;
+
+ /// A store of all headers loaded, indexed by file name
+ FFDataMap headerMap;
+ };
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/FileUtils.hpp b/trunk/src/FileUtils.hpp
new file mode 100644
index 0000000..60c7dbd
--- /dev/null
+++ b/trunk/src/FileUtils.hpp
@@ -0,0 +1,132 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileUtils.hpp#1 $"
+
+/**
+ * @file FileUtils.hpp
+ * File and directory utilities
+ */
+
+#ifndef GPSTK_FILEUTILS_HPP
+#define GPSTK_FILEUTILS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifdef __sun
+#include <libgen.h>
+#else
+#include <sys/stat.h>
+#include <sys/types.h>
+#endif
+
+#include <string>
+#include "StringUtils.hpp"
+
+#ifdef _MSC_VER
+#include <direct.h>
+#endif
+
+namespace gpstk
+{
+ /** @addtogroup filedirgroup */
+ //@{
+
+ /**
+ * These functions and macros help process files and directories.
+ */
+ namespace FileUtils
+ {
+ /**
+ * Creates a hierarchy of directories rather than just one dir.
+ * This intentionally doesn't check the mkdir return codes because
+ * there is no difference between return codes for directories
+ * that already exist and error creating new ones.
+ * @param path the full path of the directory you want created
+ * @param mode the permission of the new directory (like 0755)
+ * @return always 0
+ */
+ inline int makeDir(const std::string& path, unsigned mode)
+ {
+#ifdef __sun
+ mkdirp(path.c_str(), mode);
+#else
+ int rc = 0;
+ std::string::size_type i = 0;
+
+ while ((i = path.find('/',i+1)) != std::string::npos)
+ {
+ std::string thispath(path.substr(0,i));
+ if (thispath[thispath.length() - 1] == '/')
+ thispath.erase(thispath.length() - 1);
+#ifdef _MSC_VER
+ _mkdir(path.c_str());
+#else
+ mkdir(thispath.c_str(), mode);
+#endif
+ }
+#ifdef _MSC_VER
+ _mkdir(path.c_str());
+#else
+ mkdir(path.c_str(), mode);
+#endif
+
+#endif // __sun
+ return 0;
+ }
+
+ /**
+ * makeDir that takes a char* for an argument.
+ * @param path the full path of the directory you want created
+ * @param mode the permission of the new directory (like 0755)
+ * @return always 0
+ */
+ inline int makeDir(const char* path, unsigned mode)
+ {
+ return makeDir(std::string(path), mode);
+ }
+
+ } // namespace FileUtils
+
+ //@}
+
+} // namespace
+
+
+#endif
diff --git a/trunk/src/GPSEpochWeekSecond.cpp b/trunk/src/GPSEpochWeekSecond.cpp
new file mode 100644
index 0000000..6ac2d87
--- /dev/null
+++ b/trunk/src/GPSEpochWeekSecond.cpp
@@ -0,0 +1,197 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSEpochWeekSecond.cpp#5 $"
+
+#include "GPSEpochWeekSecond.hpp"
+#include "TimeConstants.hpp"
+//#include "TimeConverters.hpp"
+
+namespace gpstk
+{
+ const std::string GPSEpochWeekSecond::printChars( "EGg" );
+ const std::string GPSEpochWeekSecond::defaultFormat( "%E %04G %g" );
+
+ GPSEpochWeekSecond&
+ GPSEpochWeekSecond::operator=( const GPSEpochWeekSecond& right )
+ throw()
+ {
+ epoch = right.epoch;
+ week = right.week;
+ sow = right.sow;
+ return *this;
+ }
+
+ CommonTime GPSEpochWeekSecond::convertToCommonTime() const
+ {
+ int fullweek( epoch * WEEKS_PER_EPOCH + week );
+ int dow = static_cast<int>( sow * DAY_PER_SEC );
+ int jday = GPS_EPOCH_JDAY + ( 7 * fullweek ) + dow;
+ double sod( sow - SEC_PER_DAY * dow );
+ return CommonTime( jday,
+ static_cast<long>( sod ),
+ sod - static_cast<long>( sod ) );
+ }
+
+ void GPSEpochWeekSecond::convertFromCommonTime( const CommonTime& ct )
+ {
+ long day, sod;
+ double fsod;
+ ct.get( day, sod, fsod );
+
+ // find the number of days since the beginning of the GPS Epoch
+ day -= GPS_EPOCH_JDAY;
+ // find out how many weeks that is
+ int fullweek( static_cast<int>( day / 7 ) );
+ // find out what the day of week is
+ day -= fullweek * 7;
+
+ epoch = fullweek / WEEKS_PER_EPOCH;
+ week = fullweek % WEEKS_PER_EPOCH;
+ sow = static_cast<double>( day * SEC_PER_DAY + sod ) + fsod;
+ }
+
+ std::string GPSEpochWeekSecond::printf(const std::string& fmt) const
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using gpstk::StringUtils::formattedPrint;
+ std::string rv = fmt;
+
+ rv = formattedPrint( rv, formatPrefixInt + "E",
+ "Ehd", epoch );
+ rv = formattedPrint( rv, formatPrefixInt + "G",
+ "Ghd", week );
+ rv = formattedPrint( rv, formatPrefixFloat + "g",
+ "gf", sow);
+ return rv;
+ }
+ catch( gpstk::StringUtils::StringException& exc )
+ {
+ GPSTK_RETHROW( exc );
+ }
+ }
+
+ bool GPSEpochWeekSecond::setFromInfo( const IdToValue& info )
+ throw()
+ {
+ using namespace gpstk::StringUtils;
+
+ bool hepoch( false ), hweek( false ), hsow( false );
+ int iepoch( 0 ), iweek( 0 );
+ double isow( 0. );
+
+ for( IdToValue::const_iterator i = info.begin(); i != info.end(); i++ )
+ {
+ // based on the character, we know what to do...
+ switch ( i->first )
+ {
+ case 'E':
+ iepoch = asInt( i->second );
+ hepoch = true;
+ break;
+ case 'F':
+ iweek = asInt( i->second );
+ hweek = true;
+ break;
+ case 'g':
+ isow = asDouble( i->second );
+ hsow = true;
+ break;
+ default:
+ // do nothing
+ break;
+ };
+
+ } // end of for loop
+
+ if( hepoch )
+ {
+ epoch = iepoch;
+ week = iweek;
+ sow = isow;
+ return true;
+ }
+
+ return false;
+ }
+
+ bool GPSEpochWeekSecond::isValid() const
+ throw()
+ {
+ GPSEpochWeekSecond temp;
+ temp.convertFromCommonTime( convertToCommonTime() );
+ if( *this == temp )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool
+ GPSEpochWeekSecond::operator==( const GPSEpochWeekSecond& right ) const
+ throw()
+ {
+ if( epoch == right.epoch &&
+ week == right.week &&
+ sow == right.sow )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool
+ GPSEpochWeekSecond::operator!=( const GPSEpochWeekSecond& right ) const
+ throw()
+ {
+ return (! operator==( right ) );
+ }
+
+ bool
+ GPSEpochWeekSecond::operator<( const GPSEpochWeekSecond& right ) const
+ throw()
+ {
+ if( epoch < right.epoch )
+ {
+ return true;
+ }
+ if( epoch > right.epoch )
+ {
+ return false;
+ }
+ if( week < right.week )
+ {
+ return true;
+ }
+ if( week > right.week )
+ {
+ return false;
+ }
+ if( sow < right.sow )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool
+ GPSEpochWeekSecond::operator>( const GPSEpochWeekSecond& right ) const
+ throw()
+ {
+ return (! operator<=( right ) );
+ }
+
+ bool
+ GPSEpochWeekSecond::operator<=( const GPSEpochWeekSecond& right ) const
+ throw()
+ {
+ return ( operator<( right ) || operator==( right ) );
+ }
+
+ bool
+ GPSEpochWeekSecond::operator>=( const GPSEpochWeekSecond& right ) const
+ throw()
+ {
+ return (! operator<( right ) );
+ }
+
+} // namespace
diff --git a/trunk/src/GPSEpochWeekSecond.hpp b/trunk/src/GPSEpochWeekSecond.hpp
new file mode 100644
index 0000000..66ebb0a
--- /dev/null
+++ b/trunk/src/GPSEpochWeekSecond.hpp
@@ -0,0 +1,151 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSEpochWeekSecond.hpp#4 $"
+
+#ifndef GPSTK_GPSEPOCHWEEKSECOND_HPP
+#define GPSTK_GPSEPOCHWEEKSECOND_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+ /**
+ * This class encapsulates the "GPS Epoch, GPS Week and GPS
+ * Seconds-of-week" time representation.
+ */
+ class GPSEpochWeekSecond : public TimeTag
+ {
+ public:
+ static const std::string printChars;
+ static const std::string defaultFormat;
+
+ /**
+ * @defgroup gewsbo GPSEpochWeekSecond Basic Operations
+ * Default and Copy Constructors, Assignment Operator and Destructor.
+ */
+ //@{
+ /**
+ * Default Constructor.
+ * All elements are initialized to zero.
+ */
+ GPSEpochWeekSecond( int e = 0,
+ int w = 0,
+ double s = 0. )
+ throw()
+ : epoch(e), week(w), sow(s)
+ {}
+
+ /**
+ * Copy Constructor.
+ * @param right a reference to the GPSEpochWeekSecond object to copy
+ */
+ GPSEpochWeekSecond( const GPSEpochWeekSecond& right )
+ throw()
+ : epoch( right.epoch ), week( right.week ), sow( right.sow )
+ {}
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const TimeTag reference and copies its contents via
+ * conversion to CommonTime.
+ * @param right a const reference to the BasicTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ GPSEpochWeekSecond( const TimeTag& right )
+ throw( gpstk::InvalidRequest )
+ {
+ convertFromCommonTime( right.convertToCommonTime() );
+ }
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const CommonTime reference and copies its contents via
+ * the convertFromCommonTime method.
+ * @param right a const reference to the CommonTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ GPSEpochWeekSecond( const CommonTime& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right );
+ }
+
+ /**
+ * Assignment Operator.
+ * @param right a const reference to the GPSEpochWeekSecond to copy
+ * @return a reference to this GPSEpochWeekSecond
+ */
+ GPSEpochWeekSecond& operator=( const GPSEpochWeekSecond& right )
+ throw();
+
+ /// Virtual Destructor.
+ virtual ~GPSEpochWeekSecond()
+ throw()
+ {}
+ //@}
+
+ // The following functions are required by TimeTag.
+ virtual CommonTime convertToCommonTime() const;
+
+ virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+ /// This function formats this time to a string. The exceptions
+ /// thrown would only be due to problems parsing the fmt string.
+ virtual std::string printf(const std::string& fmt) const
+ throw( gpstk::StringUtils::StringException );
+
+ /**
+ * Set this object using the information provided in \a info.
+ * @param info the IdToValue object to which this object shall be set.
+ * @return true if this object was successfully set using the
+ * data in \a info, false if not.
+ */
+ virtual bool setFromInfo( const IdToValue& info )
+ throw();
+
+ /// Return a string containing the characters that this class
+ /// understands when printing times.
+ virtual std::string getPrintChars() const
+ throw()
+ {
+ return printChars;
+ }
+
+ /// Return a string containing the default format to use in printing.
+ virtual std::string getDefaultFormat() const
+ throw()
+ {
+ return defaultFormat;
+ }
+
+ virtual bool isValid() const
+ throw();
+
+ /**
+ * @defgroup gewsco GPSEpochWeekSecond Comparison Operators
+ * All comparison operators have a parameter "right" which corresponds
+ * to the GPSEpochWeekSecond object to the right of the symbol.
+ * All comparison operators are const and return true on success
+ * and false on failure.
+ */
+ //@{
+ bool operator==( const GPSEpochWeekSecond& right ) const
+ throw();
+ bool operator!=( const GPSEpochWeekSecond& right ) const
+ throw();
+ bool operator<( const GPSEpochWeekSecond& right ) const
+ throw();
+ bool operator>( const GPSEpochWeekSecond& right ) const
+ throw();
+ bool operator<=( const GPSEpochWeekSecond& right ) const
+ throw();
+ bool operator>=( const GPSEpochWeekSecond& right ) const
+ throw();
+ //@}
+
+ int epoch;
+ int week;
+ double sow;
+ };
+
+}
+
+#endif // GPSTK_GPSEPOCHWEEKSECOND_HPP
diff --git a/trunk/src/GPSGeoid.hpp b/trunk/src/GPSGeoid.hpp
new file mode 100644
index 0000000..40c826e
--- /dev/null
+++ b/trunk/src/GPSGeoid.hpp
@@ -0,0 +1,87 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSGeoid.hpp#2 $"
+
+/**
+ * @file GPSGeoid.hpp
+ * The GPS geoid defined in ICD-GPS-200
+ */
+
+#ifndef GPSTK_GPSGEOID_HPP
+#define GPSTK_GPSGEOID_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "WGS84Geoid.hpp"
+#include "icd_200_constants.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup geodeticgroup */
+ //@{
+
+ /**
+ * This class represents the geodetic model defined in
+ * ICD-GPS-200. This geodetic model was based on the WGS 84
+ * model, which has changed since the ICD-GPS-200 was written.
+ * To save the cost of having to update all of the fielded
+ * receivers, these constants were kept for GPS purposes.
+ *
+ * Only some of the WGS 84 geodetic model parameters are defined
+ * as part of the 200. These parameters are explicitly defined
+ * here. Other parameters are inherited from the WGS84Geoid
+ * definition.
+ */
+ class GPSGeoid : public WGS84Geoid
+ {
+ public:
+ /// defined in ICD-GPS-200C, 20.3.3.4.3.3 and Table 20-IV
+ /// @return angular velocity of Earth in radians/sec.
+ virtual double angVelocity() const throw()
+ { return 7.2921151467e-5; }
+
+ /// defined in ICD-GPS-200C, 20.3.3.4.3.3 and Table 20-IV
+ /// @return geocentric gravitational constant in m**3 / s**2
+ virtual double gm() const throw()
+ { return 3.986005e14; }
+
+ /// derived from ICD-GPS-200C, 20.3.3.4.3.3 and Table 20-IV
+ /// @return geocentric gravitational constant in km**3 / s**2
+ virtual double gm_km() const throw()
+ { return 3.9860034e5; }
+
+ /// defined in ICD-GPS-200C, 20.3.4.3
+ /// @return Speed of light in m/s.
+ virtual double c() const throw()
+ { return C_GPS_M; }
+
+ /// derived from ICD-GPS-200C, 20.3.4.3
+ /// @return Speed of light in km/s
+ virtual double c_km() const throw()
+ { return (C_GPS_M / 1000); }
+
+ }; // class GPSGeoid
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/GPSWeekSecond.cpp b/trunk/src/GPSWeekSecond.cpp
new file mode 100644
index 0000000..80fe970
--- /dev/null
+++ b/trunk/src/GPSWeekSecond.cpp
@@ -0,0 +1,186 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSWeekSecond.cpp#3 $"
+
+#include "GPSWeekSecond.hpp"
+#include "TimeConstants.hpp"
+//#include "TimeConverters.hpp"
+
+namespace gpstk
+{
+ const std::string GPSWeekSecond::printChars( "Fg" );
+ const std::string GPSWeekSecond::defaultFormat( "%04F %g" );
+
+ GPSWeekSecond&
+ GPSWeekSecond::operator=( const GPSWeekSecond& right )
+ throw()
+ {
+ week = right.week;
+ sow = right.sow;
+ return *this;
+ }
+
+ CommonTime GPSWeekSecond::convertToCommonTime() const
+ {
+ int dow = static_cast<int>( sow * DAY_PER_SEC );
+ int jday = GPS_EPOCH_JDAY + ( 7 * week ) + dow;
+ double sod( sow - SEC_PER_DAY * dow );
+ return CommonTime( jday,
+ static_cast<long>( sod ),
+ sod - static_cast<long>( sod ) );
+ }
+
+ void GPSWeekSecond::convertFromCommonTime( const CommonTime& ct )
+ {
+ long day, sod;
+ double fsod;
+ ct.get( day, sod, fsod );
+
+ // find the number of days since the beginning of the GPS Epoch
+ day -= GPS_EPOCH_JDAY;
+ // find out how many weeks that is
+ week = static_cast<int>( day / 7 );
+ // find out what the day of week is
+ day %= 7;
+
+ sow = static_cast<double>( day * SEC_PER_DAY + sod ) + fsod;
+ }
+
+ std::string GPSWeekSecond::printf(const std::string& fmt) const
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using gpstk::StringUtils::formattedPrint;
+ std::string rv = fmt;
+
+ rv = formattedPrint( rv, formatPrefixInt + "F",
+ "Fhd", week );
+ rv = formattedPrint( rv, formatPrefixFloat + "g",
+ "gf", sow);
+ return rv;
+ }
+ catch( gpstk::StringUtils::StringException& exc )
+ {
+ GPSTK_RETHROW( exc );
+ }
+ }
+
+ bool GPSWeekSecond::setFromInfo( const IdToValue& info )
+ throw()
+ {
+ using namespace gpstk::StringUtils;
+
+ // This class can parse GPS full week and GPS seconds of week.
+ bool hfullWeek( false ), hsow( false );
+ int ifullWeek( 0 );
+ double isow( 0. );
+
+ for( IdToValue::const_iterator i = info.begin(); i != info.end(); i++ )
+ {
+ // based on the character, we know what to do...
+ switch ( i->first )
+ {
+ case 'F':
+ {
+ ifullWeek = asInt( i->second );
+ hfullWeek = true;
+ }
+ break;
+
+ case 'g':
+ {
+ isow = asDouble( i->second );
+ hsow = true;
+ }
+ break;
+
+ default:
+ {
+ // do nothing
+ }
+ break;
+ };
+
+ } // end of for loop
+
+ if( hfullWeek )
+ {
+ week = ifullWeek;
+ sow = isow;
+ return true;
+ }
+
+ return false;
+ }
+
+ bool GPSWeekSecond::isValid() const
+ throw()
+ {
+ GPSWeekSecond temp;
+ temp.convertFromCommonTime( convertToCommonTime() );
+ if( *this == temp )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool
+ GPSWeekSecond::operator==( const GPSWeekSecond& right ) const
+ throw()
+ {
+ if( week == right.week &&
+ sow == right.sow )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool
+ GPSWeekSecond::operator!=( const GPSWeekSecond& right ) const
+ throw()
+ {
+ return (! operator==( right ) );
+ }
+
+ bool
+ GPSWeekSecond::operator<( const GPSWeekSecond& right ) const
+ throw()
+ {
+ if( week < right.week )
+ {
+ return true;
+ }
+ if( week > right.week )
+ {
+ return false;
+ }
+ if( sow < right.sow )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool
+ GPSWeekSecond::operator>( const GPSWeekSecond& right ) const
+ throw()
+ {
+ return (! operator<=( right ) );
+ }
+
+ bool
+ GPSWeekSecond::operator<=( const GPSWeekSecond& right ) const
+ throw()
+ {
+ return ( operator<( right ) || operator==( right ) );
+ }
+
+ bool
+ GPSWeekSecond::operator>=( const GPSWeekSecond& right ) const
+ throw()
+ {
+ return (! operator<( right ) );
+ }
+
+} // namespace
diff --git a/trunk/src/GPSWeekSecond.hpp b/trunk/src/GPSWeekSecond.hpp
new file mode 100644
index 0000000..6b10f76
--- /dev/null
+++ b/trunk/src/GPSWeekSecond.hpp
@@ -0,0 +1,149 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSWeekSecond.hpp#3 $"
+
+#ifndef GPSTK_GPSWEEKSECOND_HPP
+#define GPSTK_GPSWEEKSECOND_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+ /**
+ * This class encapsulates the "Full GPS Week and GPS
+ * Seconds-of-week" time representation.
+ */
+ class GPSWeekSecond : public TimeTag
+ {
+ public:
+ static const std::string printChars;
+ static const std::string defaultFormat;
+
+ /**
+ * @defgroup gwsbo GPSWeekSecond Basic Operations
+ * Default and Copy Constructors, Assignment Operator and Destructor.
+ */
+ //@{
+ /**
+ * Default Constructor.
+ * All elements are initialized to zero.
+ */
+ GPSWeekSecond( int w = 0,
+ double s = 0. )
+ throw()
+ : week(w), sow(s)
+ {}
+
+ /**
+ * Copy Constructor.
+ * @param right a reference to the GPSWeekSecond object to copy
+ */
+ GPSWeekSecond( const GPSWeekSecond& right )
+ throw()
+ : week( right.week ), sow( right.sow )
+ {}
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const TimeTag reference and copies its contents via
+ * conversion to CommonTime.
+ * @param right a const reference to the BasicTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ GPSWeekSecond( const TimeTag& right )
+ throw( gpstk::InvalidRequest )
+ {
+ convertFromCommonTime( right.convertToCommonTime() );
+ }
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const CommonTime reference and copies its contents via
+ * the convertFromCommonTime method.
+ * @param right a const reference to the CommonTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ GPSWeekSecond( const CommonTime& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right );
+ }
+
+ /**
+ * Assignment Operator.
+ * @param right a const reference to the GPSWeekSecond to copy
+ * @return a reference to this GPSWeekSecond
+ */
+ GPSWeekSecond& operator=( const GPSWeekSecond& right )
+ throw();
+
+ /// Virtual Destructor.
+ virtual ~GPSWeekSecond()
+ throw()
+ {}
+ //@}
+
+ // The following functions are required by TimeTag.
+ virtual CommonTime convertToCommonTime() const;
+
+ virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+ /// This function formats this time to a string. The exceptions
+ /// thrown would only be due to problems parsing the fmt string.
+ virtual std::string printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException );
+
+ /**
+ * Set this object using the information provided in \a info.
+ * @param info the IdToValue object to which this object shall be set.
+ * @return true if this object was successfully set using the
+ * data in \a info, false if not.
+ */
+ virtual bool setFromInfo( const IdToValue& info )
+ throw();
+
+ /// Return a string containing the characters that this class
+ /// understands when printing times.
+ virtual std::string getPrintChars() const
+ throw()
+ {
+ return printChars;
+ }
+
+ /// Return a string containing the default format to use in printing.
+ virtual std::string getDefaultFormat() const
+ throw()
+ {
+ return defaultFormat;
+ }
+
+ virtual bool isValid() const
+ throw();
+
+ /**
+ * @defgroup gwsco GPSWeekSecond Comparison Operators
+ * All comparison operators have a parameter "right" which corresponds
+ * to the GPSWeekSecond object to the right of the symbol.
+ * All comparison operators are const and return true on success
+ * and false on failure.
+ */
+ //@{
+ bool operator==( const GPSWeekSecond& right ) const
+ throw();
+ bool operator!=( const GPSWeekSecond& right ) const
+ throw();
+ bool operator<( const GPSWeekSecond& right ) const
+ throw();
+ bool operator>( const GPSWeekSecond& right ) const
+ throw();
+ bool operator<=( const GPSWeekSecond& right ) const
+ throw();
+ bool operator>=( const GPSWeekSecond& right ) const
+ throw();
+ //@}
+
+ int week;
+ double sow;
+ };
+
+}
+
+#endif // GPSTK_GPSWEEKSECOND_HPP
diff --git a/trunk/src/GPSWeekZcount.cpp b/trunk/src/GPSWeekZcount.cpp
new file mode 100644
index 0000000..79165d3
--- /dev/null
+++ b/trunk/src/GPSWeekZcount.cpp
@@ -0,0 +1,173 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSWeekZcount.cpp#3 $"
+
+#include "GPSWeekZcount.hpp"
+#include "TimeConstants.hpp"
+#include "TimeConverters.hpp"
+
+namespace gpstk
+{
+ const std::string GPSWeekZcount::printChars( "FzZ" );
+ const std::string GPSWeekZcount::defaultFormat( "%04F %06Z" );
+
+ GPSWeekZcount& GPSWeekZcount::operator=( const GPSWeekZcount& right )
+ throw()
+ {
+ week = right.week;
+ zcount = right.zcount;
+ return *this;
+ }
+
+ CommonTime GPSWeekZcount::convertToCommonTime() const
+ {
+ int dow = zcount / ZCOUNT_PER_DAY;
+ int jday = GPS_EPOCH_JDAY + ( 7 * week ) + dow;
+ double sod = static_cast<double>( zcount % ZCOUNT_PER_DAY ) * 1.5;
+ return CommonTime( jday,
+ static_cast<long>( sod ),
+ sod - static_cast<long>( sod ) );
+ }
+
+ void GPSWeekZcount::convertFromCommonTime( const CommonTime& ct )
+ {
+ long day, sod;
+ double fsod;
+ ct.get( day, sod, fsod );
+
+ // find the number of days since the beginning of the GPS Epoch
+ day -= GPS_EPOCH_JDAY;
+ // find out how many weeks that is
+ week = static_cast<int>( day / 7 );
+ // find out what the day of week is
+ day %= 7;
+
+ zcount = static_cast<long>( day * ZCOUNT_PER_DAY )
+ + static_cast<long>( static_cast<double>( sod + fsod ) / 1.5 );
+ }
+
+ std::string GPSWeekZcount::printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using gpstk::StringUtils::formattedPrint;
+ std::string rv( fmt );
+
+ rv = formattedPrint( rv, formatPrefixInt + "F", "Fhd", week );
+ rv = formattedPrint( rv, formatPrefixInt + "z", "zd", zcount );
+ rv = formattedPrint( rv, formatPrefixInt + "Z", "Zd", zcount );
+
+ return rv;
+ }
+ catch( gpstk::StringUtils::StringException& exc )
+ {
+ GPSTK_RETHROW( exc );
+ }
+ }
+
+ bool GPSWeekZcount::setFromInfo( const IdToValue& info )
+ throw()
+ {
+ using namespace gpstk::StringUtils;
+
+ bool hfullweek( false ), hzcount( false );
+ int ifullweek( 0 ), izcount( 0 );
+
+ for( IdToValue::const_iterator i = info.begin(); i != info.end(); i++ )
+ {
+ // based on the character, we know what to do...
+ switch( i->first )
+ {
+ case 'F':
+ ifullweek = asInt( i->second );
+ hfullweek = true;
+ break;
+
+ case 'z':
+ case 'Z':
+ izcount = asInt( i->second );
+ hzcount = true;
+ break;
+
+ default:
+ // do nothing
+ break;
+ };
+ }
+
+ if( hfullweek )
+ {
+ week = ifullweek;
+ zcount = izcount;
+ return true;
+ }
+
+ return false;
+ }
+
+ bool GPSWeekZcount::isValid() const
+ throw()
+ {
+ GPSWeekZcount temp;
+ temp.convertFromCommonTime( convertToCommonTime() );
+ if( *this == temp )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool GPSWeekZcount::operator==( const GPSWeekZcount& right ) const
+ throw()
+ {
+ if( week == right.week &&
+ zcount == right.zcount )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool GPSWeekZcount::operator!=( const GPSWeekZcount& right ) const
+ throw()
+ {
+ return ( !operator==( right ) );
+ }
+
+ bool GPSWeekZcount::operator<( const GPSWeekZcount& right ) const
+ throw()
+ {
+ if( week < right.week )
+ {
+ return true;
+ }
+ if( week > right.week )
+ {
+ return false;
+ }
+ if( week < right.zcount )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool GPSWeekZcount::operator>( const GPSWeekZcount& right ) const
+ throw()
+ {
+ return ( !operator<=( right ) );
+ }
+
+ bool GPSWeekZcount::operator<=( const GPSWeekZcount& right ) const
+ throw()
+ {
+ return ( operator<( right ) ||
+ operator==( right ) );
+ }
+
+ bool GPSWeekZcount::operator>=( const GPSWeekZcount& right ) const
+ throw()
+ {
+ return ( !operator<( right ) );
+ }
+
+} // namespace
diff --git a/trunk/src/GPSWeekZcount.hpp b/trunk/src/GPSWeekZcount.hpp
new file mode 100644
index 0000000..7bd7aa0
--- /dev/null
+++ b/trunk/src/GPSWeekZcount.hpp
@@ -0,0 +1,149 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSWeekZcount.hpp#2 $"
+
+#ifndef GPSTK_GPSWEEKZCOUNT_HPP
+#define GPSTK_GPSWEEKZCOUNT_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+ /**
+ * This class encapsulates the "Full GPS Week and GPS Z-count" time
+ * representation.
+ */
+ class GPSWeekZcount : public TimeTag
+ {
+ public:
+ static const std::string printChars;
+ static const std::string defaultFormat;
+
+ /**
+ * @defgroup gwzbo GPSWeekZcount Basic Operations
+ * Default and Copy Constructors, Assignment Operator and Destructor.
+ */
+ //@{
+ /**
+ * Default Constructor.
+ * All elements are initialized to zero.
+ */
+ GPSWeekZcount( int w = 0,
+ int z = 0 )
+ throw()
+ : week( w ), zcount( z )
+ {}
+
+ /**
+ * Copy Constructor.
+ * @param right a reference to the GPSWeekZcount object to copy
+ */
+ GPSWeekZcount( const GPSWeekZcount& right )
+ throw()
+ : week( right.week ), zcount( right.zcount )
+ {}
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const TimeTag reference and copies its contents via
+ * conversion to CommonTime.
+ * @param right a const reference to the BasicTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ GPSWeekZcount( const TimeTag& right )
+ throw( gpstk::InvalidRequest )
+ {
+ convertFromCommonTime( right.convertToCommonTime() );
+ }
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const CommonTime reference and copies its contents via
+ * the convertFromCommonTime method.
+ * @param right a const reference to the CommonTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ GPSWeekZcount( const CommonTime& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right );
+ }
+
+ /**
+ * Assignment Operator.
+ * @param right a const reference to the GPSWeekZcount to copy
+ * @return a reference to this GPSWeekZcount
+ */
+ GPSWeekZcount& operator=( const GPSWeekZcount& right )
+ throw();
+
+ /// Virtual Destructor.
+ virtual ~GPSWeekZcount()
+ throw()
+ {}
+ //@}
+
+ // The following functions are required by TimeTag.
+ virtual CommonTime convertToCommonTime() const;
+
+ virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+ /// This function formats this time to a string. The exceptions
+ /// thrown would only be due to problems parsing the fmt string.
+ virtual std::string printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException );
+
+ /**
+ * Set this object using the information provided in \a info.
+ * @param info the IdToValue object to which this object shall be set.
+ * @return true if this object was successfully set using the
+ * data in \a info, false if not.
+ */
+ virtual bool setFromInfo( const IdToValue& info )
+ throw();
+
+ /// Return a string containing the characters that this class
+ /// understands when printing times.
+ virtual std::string getPrintChars() const
+ throw()
+ {
+ return printChars;
+ }
+
+ /// Return a string containing the default format to use in printing.
+ virtual std::string getDefaultFormat() const
+ throw()
+ {
+ return defaultFormat;
+ }
+
+ virtual bool isValid() const
+ throw();
+
+ /**
+ * @defgroup gwzco GPSWeekZcount Comparison Operators
+ * All comparison operators have a parameter "right" which corresponds
+ * to the GPSWeekZcount object to the right of the symbol.
+ * All comparison operators are const and return true on success
+ * and false on failure.
+ */
+ //@{
+ bool operator==( const GPSWeekZcount& right ) const
+ throw();
+ bool operator!=( const GPSWeekZcount& right ) const
+ throw();
+ bool operator<( const GPSWeekZcount& right ) const
+ throw();
+ bool operator>( const GPSWeekZcount& right ) const
+ throw();
+ bool operator<=( const GPSWeekZcount& right ) const
+ throw();
+ bool operator>=( const GPSWeekZcount& right ) const
+ throw();
+ //@}
+
+ int week;
+ int zcount;
+ };
+
+} // namespace
+
+#endif // GPSTK_GPSWEEKZCOUNT_HPP
diff --git a/trunk/src/GPSZcount.cpp b/trunk/src/GPSZcount.cpp
new file mode 100644
index 0000000..9f1ed6b
--- /dev/null
+++ b/trunk/src/GPSZcount.cpp
@@ -0,0 +1,375 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSZcount.cpp#9 $"
+
+/**
+ * @file GPSZcount.cpp
+ * gpstk::GPSZcount - encapsulates time according to full GPS Week and Z-count.
+ */
+
+#include <limits>
+
+#include "GPSZcount.hpp"
+#include "StringUtils.hpp"
+
+using namespace std;
+using gpstk::StringUtils::asString;
+
+namespace gpstk
+{
+ const long GPSZcount::ZCOUNT_MINUTE = 40;
+ const long GPSZcount::ZCOUNT_HOUR = 2400;
+ const long GPSZcount::ZCOUNT_DAY = 57600;
+ const long GPSZcount::ZCOUNT_WEEK = 403200;
+
+ GPSZcount::GPSZcount(short inWeek,
+ long inZcount)
+ throw(gpstk::InvalidParameter)
+ {
+ try
+ {
+ setWeek(inWeek);
+ setZcount(inZcount);
+ }
+ catch(gpstk::InvalidParameter& ip)
+ {
+ GPSTK_RETHROW(ip);
+ }
+ }
+
+ GPSZcount::GPSZcount(long inFullZcount)
+ throw(gpstk::InvalidParameter)
+ {
+ try
+ {
+ setFullZcount(inFullZcount);
+ }
+ catch(gpstk::InvalidParameter& ip)
+ {
+ GPSTK_RETHROW(ip);
+ }
+ }
+
+ GPSZcount::GPSZcount(const GPSZcount& right)
+ throw()
+ {
+ operator=(right) ;
+ }
+
+ GPSZcount& GPSZcount::setWeek(short inWeek)
+ throw(gpstk::InvalidParameter)
+ {
+ if( inWeek < 0 )
+ {
+ gpstk::InvalidParameter ip("GPS Week invalid: " +
+ asString<short>(inWeek)) ;
+ GPSTK_THROW(ip) ;
+ }
+ week = inWeek;
+ return *this;
+ }
+
+ GPSZcount& GPSZcount::setZcount(long inZcount)
+ throw(gpstk::InvalidParameter)
+ {
+ if(validZcount(inZcount) != 0)
+ {
+ gpstk::InvalidParameter ip("GPS Z-count invalid: " +
+ asString<long>(inZcount)) ;
+ GPSTK_THROW(ip) ;
+ }
+ zcount = inZcount ;
+ return *this ;
+ }
+
+ GPSZcount& GPSZcount::setFullZcount(long inZcount)
+ throw(gpstk::InvalidParameter)
+ {
+ try
+ {
+ setZcount(inZcount & 0x7FFFFL) ; // 19-bit mask
+
+ // A 10-bit value will always be within constraints for a GPS week, so
+ // there's no need to test it.
+ setWeek((inZcount >> 19) & 0x3FFL) ; // 10-bit mask
+
+ }
+ catch(gpstk::InvalidParameter& ip)
+ {
+ ip.addText("GPS Full Z-count invalid: " + asString<long>(inZcount)) ;
+ GPSTK_RETHROW(ip) ;
+ }
+ return *this ;
+ }
+
+ GPSZcount& GPSZcount::addWeeks(short inWeeks)
+ throw(gpstk::InvalidRequest)
+ {
+ if (inWeeks == 0)
+ {
+ return *this ;
+ }
+
+ try
+ {
+ return setWeek(week + inWeeks) ;
+ }
+ catch(gpstk::InvalidParameter& ip)
+ {
+ gpstk::InvalidRequest ir(ip) ;
+ ir.addText("Addition of " + asString(inWeeks) +
+ " weeks renders this object invalid.") ;
+ GPSTK_THROW(ir) ;
+ }
+ }
+
+ GPSZcount& GPSZcount::addZcounts(long inZcounts)
+ throw(gpstk::InvalidRequest)
+ {
+ if (inZcounts == 0)
+ {
+ return *this ;
+ }
+
+ short originalWeek(week) ;
+ long originalZcount(zcount) ;
+
+ try
+ {
+ // First, do week modifications.
+ addWeeks(inZcounts / ZCOUNT_WEEK) ;
+
+ // Now, take care of Z-counts.
+ long tmp = zcount + (inZcounts % ZCOUNT_WEEK) ;
+
+ if (tmp < 0)
+ {
+ addWeeks(-1);
+ tmp += ZCOUNT_WEEK ;
+ }
+ else if (tmp >= ZCOUNT_WEEK)
+ {
+ addWeeks(1);
+ tmp -= ZCOUNT_WEEK ;
+ }
+
+ setZcount(tmp) ;
+ return *this ;
+
+ }
+ catch(gpstk::InvalidRequest& ir)
+ {
+ setWeek(originalWeek) ;
+ setZcount(originalZcount) ;
+ ir.addText("Did not add " + asString(inZcounts) + " Z-counts.") ;
+ GPSTK_RETHROW(ir) ;
+
+ }
+ catch(gpstk::InvalidParameter& ip)
+ {
+ setWeek(originalWeek) ;
+ setZcount(originalZcount) ;
+ gpstk::InvalidRequest ir(ip) ;
+ ir.addText("Did not add " + asString(inZcounts) + " Z-counts.") ;
+ GPSTK_THROW(ir) ;
+ }
+ }
+
+ GPSZcount GPSZcount::operator++(int)
+ throw(gpstk::InvalidRequest)
+ {
+ GPSZcount temp = *this ;
+ ++(*this) ;
+ return temp ;
+ }
+
+ GPSZcount& GPSZcount::operator++()
+ throw(gpstk::InvalidRequest)
+ {
+ return addZcounts(1);
+ }
+
+ GPSZcount GPSZcount::operator--(int)
+ throw(gpstk::InvalidRequest)
+ {
+ GPSZcount temp = *this ;
+ --(*this) ;
+ return temp ;
+ }
+
+ GPSZcount& GPSZcount::operator--()
+ throw(gpstk::InvalidRequest)
+ {
+ return addZcounts(-1);
+ }
+
+ GPSZcount GPSZcount::operator+(long inZcounts) const
+ throw(gpstk::InvalidRequest)
+ {
+ return GPSZcount(*this).addZcounts(inZcounts);
+ }
+
+ GPSZcount GPSZcount::operator-(long inZcounts) const
+ throw(gpstk::InvalidRequest)
+ {
+ return operator+(-inZcounts);
+ }
+
+ double GPSZcount::operator-(const GPSZcount& right) const
+ throw()
+ {
+ return (double(week) - right.week) * ZCOUNT_WEEK
+ + (zcount - right.zcount) ;
+ }
+
+ GPSZcount& GPSZcount::operator+=(long inZcounts)
+ throw(gpstk::InvalidRequest)
+ {
+ return addZcounts(inZcounts);
+ }
+
+ GPSZcount& GPSZcount::operator-=(long inZcounts)
+ throw(gpstk::InvalidRequest)
+ {
+ return addZcounts(-inZcounts);
+ }
+
+ GPSZcount& GPSZcount::operator=(const GPSZcount& right)
+ throw()
+ {
+ week = right.week;
+ zcount = right.zcount;
+ return *this;
+ }
+
+ bool GPSZcount::operator<(const GPSZcount& right) const
+ throw()
+ {
+ if (week < right.week)
+ {
+ return true;
+ }
+ if (week == right.week &&
+ zcount < right.zcount)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool GPSZcount::operator>(const GPSZcount& right) const
+ throw()
+ {
+ if (week > right.week)
+ {
+ return true;
+ }
+ if (week == right.week &&
+ zcount > right.zcount)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool GPSZcount::operator==(const GPSZcount& right) const
+ throw()
+ {
+ if (week == right.week &&
+ zcount == right.zcount)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool GPSZcount::operator!=(const GPSZcount& right) const
+ throw()
+ {
+ return (! operator==(right));
+ }
+
+ bool GPSZcount::operator<=(const GPSZcount& right) const
+ throw()
+ {
+ return (! operator>(right));
+ }
+
+ bool GPSZcount::operator>=(const GPSZcount& right) const
+ throw()
+ {
+ return (! operator<(right));
+ }
+
+ GPSZcount::operator std::string() const
+ throw()
+ {
+ return asString<short>(week) + "w" + asString<long>(zcount) + "z";
+ }
+
+ bool GPSZcount::inSameTimeBlock(const GPSZcount& other,
+ unsigned long inZcountBlock,
+ unsigned long inZcountOffset)
+ throw()
+ {
+ if (inZcountBlock < ZCOUNT_WEEK)
+ {
+ // Make sure that we're in the same week, and then check to see if
+ // we're in the same time block
+ if ( (getWeek() == other.getWeek()) &&
+ (((getZcount() - inZcountOffset) / inZcountBlock) ==
+ ((other.getZcount() - inZcountOffset) / inZcountBlock)) )
+ {
+ return true ;
+ }
+ }
+ else // inZcountBlock >= ZCOUNT_WEEK
+ {
+ // Compare using the total number of Z-counts.
+ if (long((getTotalZcounts() - inZcountOffset) / inZcountBlock) ==
+ long((other.getTotalZcounts() - inZcountOffset) / inZcountBlock))
+ {
+ return true ;
+ }
+ }
+
+ return false ;
+ }
+
+ void GPSZcount::dump(std::ostream& out,
+ short level) const
+ throw()
+ {
+ switch(level)
+ {
+ case 0:
+ out << week << "w" << zcount << "z" << flush;
+ break;
+ case 1:
+ default:
+ out << "GPS Full Week: " << setw(6) << week << endl
+ << "GPS Z-count: " << setw(6) << zcount << endl;
+ break;
+ }
+ }
+
+ long GPSZcount::validZcount(long z)
+ throw()
+ {
+ if (z < 0)
+ {
+ return z;
+ }
+ if (z >= GPSZcount::ZCOUNT_WEEK)
+ {
+ return (z - (GPSZcount::ZCOUNT_WEEK - 1));
+ }
+ return 0; // z is OK
+ }
+
+ std::ostream& operator<<(std::ostream& s,
+ const gpstk::GPSZcount& z)
+ {
+ z.dump(s, 0) ;
+ return s;
+ }
+
+} // namespace gpstk
diff --git a/trunk/src/GPSZcount.hpp b/trunk/src/GPSZcount.hpp
new file mode 100644
index 0000000..0937337
--- /dev/null
+++ b/trunk/src/GPSZcount.hpp
@@ -0,0 +1,331 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSZcount.hpp#7 $"
+
+/**
+ * @file GPSZcount.hpp
+ * gpstk::GPSZcount - encapsulates time according to full GPS Week and Z-count.
+ */
+
+#ifndef GPSTK_GPSZCOUNT_HPP
+#define GPSTK_GPSZCOUNT_HPP
+
+// licenses go here
+
+// system includes
+#include <ostream>
+
+// GPSTK includes
+#include "Exception.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup timegroup */
+ //@{
+
+ /**
+ * A representation class for GPS Time consisting of
+ * a short GPS week, and a long GPS Z-count.
+ * A valid GPS week is in the following range:
+ * 0 <= week <= numerical_limits<short>::max()
+ * A valid GPS Z-count is in the following range:
+ * 0 <= zcount < 403200
+ *
+ * In Z-count addition, if a specified Z-count value is above or below
+ * the given range of valid Z-counts, the appropriate number of GPS
+ * weeks-worth of Z-counts are added or subtracted from the given value
+ * so that it falls within the acceptable range. These extra weeks are
+ * then accounted for in the weeks data member. If the addition or
+ * subtraction of these additional weeks cause the GPS week value to go
+ * out-of-bounds, an InvalidRequest exception is thrown.
+ */
+ class GPSZcount
+ {
+ public:
+ /// Z-counts per minute (40)
+ static const long ZCOUNT_MINUTE;
+ /// Z-counts per hour (2400)
+ static const long ZCOUNT_HOUR;
+ /// Z-counts per day (57600)
+ static const long ZCOUNT_DAY;
+ /// Z-counts per whole GPS week. (403200)
+ static const long ZCOUNT_WEEK;
+
+ /** Separate Week and Z-count Constructor.
+ * @param inWeek the GPS week to use in this object.
+ * @param inZcount the GPS Z-count to use in this object.
+ * @throws gpstk::InvalidParameter if either inWeek or inZcount
+ * are invalid values for their respective types.
+ */
+ GPSZcount(short inWeek,
+ long inZcount)
+ throw(gpstk::InvalidParameter) ;
+
+ /** Full Z-count Constructor.
+ * @param inFullZcount the Full 29-bit GPS Z-count to use in
+ * this object. (default=0 => week == 0; Z-count == 0)
+ * @throws gpstk::InvalidParameter if either inFullZcount is
+ * an invalid value for a full Z-count.
+ */
+ GPSZcount(long inFullZcount = 0)
+ throw(gpstk::InvalidParameter) ;
+
+ /// Destructor. Does nothing.
+ ~GPSZcount() throw() {}
+
+ /** Copy Constructor.
+ * @param right the GPSZcount object to copy
+ */
+ GPSZcount(const GPSZcount& right)
+ throw() ;
+
+ /// GPS week accessor
+ short getWeek() const throw()
+ { return week ; }
+
+ /// GPS Z-count accessor
+ long getZcount() const throw()
+ { return zcount ; }
+
+ /** Construct, from the data members, the Z-count which could have
+ * been broadcast from an SV.
+ * @return a Full Z-count (3 MSB unused, next 10 bits = week,
+ * 19 LSB = Z-count)
+ */
+ long getFullZcount() const
+ throw()
+ { return (long(getWeek() & 0x3FF) << 19) + getZcount() ; }
+
+ /** Calculate the total number of Z-counts in this object.
+ * @return weeks * ZCOUNT_WEEK + zcount
+ */
+ double getTotalZcounts() const
+ throw()
+ { return double(getWeek()) * ZCOUNT_WEEK + getZcount() ; }
+
+ /** Set the GPS week.
+ * @param inWeek the new value for GPS Week.
+ * @return a reference to this object.
+ * @throws gpstk::InvalidParameter if inWeek is an invalid value
+ * for a GPS week.
+ */
+ GPSZcount& setWeek(short inWeek)
+ throw(gpstk::InvalidParameter) ;
+
+ /** Set the GPS Z-count.
+ * @param inZcount the new value for GPS Z-count.
+ * @return a reference to this object.
+ * @throws gpstk::InvalidParameter if inZcount is an invalid value
+ * for a GPS Z-count.
+ */
+ GPSZcount& setZcount(long inZcount)
+ throw(gpstk::InvalidParameter) ;
+
+ /** Set the GPS Week and Z-count using the value broadcast from an SV.
+ * @param inZcount A full Z-count (3 MSB unused, next 10 bits = week,
+ * 19 LSB = Z-count)
+ * @throws gpstk::InvalidParameter if the extracted Z-count is
+ * an invalid value for a GPS Z-count.
+ */
+ GPSZcount& setFullZcount(long inZcount)
+ throw(gpstk::InvalidParameter) ;
+
+ /** Add the given number of weeks to the current value.
+ * @param inWeeks the number of weeks to add to the current value.
+ * @return a reference to this object
+ * @throws gpstk::InvalidRequest if adding inWeeks would render
+ * this object invalid.
+ */
+ GPSZcount& addWeeks(short inWeeks)
+ throw(gpstk::InvalidRequest) ;
+
+ /** Add the given number of Z-counts to the current value.
+ * This may cause a roll-(over/under) of the Z-count and appropriate
+ * modification of the week.
+ * @param inZcounts the number of Z-counts to add to the current
+ * value.
+ * @return a reference to this object
+ * @throws gpstk::InvalidRequest if adding inZcounts would render
+ * this object invalid.
+ */
+ GPSZcount& addZcounts(long inZcounts)
+ throw(gpstk::InvalidRequest) ;
+
+ /** Postfix Increment the Z-count in this object (x++). This may also
+ * cause the roll-over of the Z-count and incrementing of the week.
+ * @return a GPSZcount with the value of this object before the
+ * increment
+ * @throws gpstk::InvalidRequest if Z-count increment would render
+ * this object invalid.
+ */
+ GPSZcount operator++(int)
+ throw(gpstk::InvalidRequest) ;
+
+ /** Prefix Increment the Z-count in this object (++x). This may also
+ * cause the roll-over of the Z-count and incrementing of the week.
+ * @return a reference to this object.
+ * @throws gpstk::InvalidRequest if Z-count increment would render
+ * this object invalid.
+ */
+ GPSZcount& operator++()
+ throw(gpstk::InvalidRequest) ;
+
+ /** Postfix Decrement the Z-count in this object (x--). This may also
+ * cause the roll-under of the Z-count and decrementing of the week.
+ * @return a GPSZcount with the value of this object before the
+ * decrement
+ * @throws gpstk::InvalidRequest if a Z-count decrement would render
+ * this object invalid.
+ */
+ GPSZcount operator--(int)
+ throw(gpstk::InvalidRequest) ;
+
+ /** Prefix Decrement the Z-count in this object (--x). This may also
+ * cause the roll-under of the Z-count and decrementing of the week.
+ * @return a reference to this object.
+ * @throws gpstk::InvalidRequest if a Z-count decrement would render
+ * this object invalid.
+ */
+ GPSZcount& operator--()
+ throw(gpstk::InvalidRequest) ;
+
+ /** Add the given number of Z-counts to the current value.
+ * This may cause a roll-(over/under) of the Z-count and appropriate
+ * modification of the week.
+ * @param inZcounts the number of Z-counts to add to the current
+ * value.
+ * @return a modified GPSZcount object
+ * @throws gpstk::InvalidRequest if adding inZcounts would render
+ * this object invalid.
+ */
+ GPSZcount operator+(long inZcounts) const
+ throw(gpstk::InvalidRequest) ;
+
+ /** Subtract the given number of Z-counts from the current value.
+ * This may cause a roll-(over/under) of the Z-count and appropriate
+ * modification of the week.
+ * @param inZcounts the number of Z-counts to subtract from the
+ * current value.
+ * @return a modified GPSZcount object
+ * @throws gpstk::InvalidRequest if subtracting inZcounts would
+ * render this object invalid.
+ */
+ GPSZcount operator-(long inZcounts) const
+ throw(gpstk::InvalidRequest) ;
+
+ /** Compute the time differenct between this object and \a right.
+ * @param right the GPSZcount to subtract from this object
+ * @return the number of Z-counts between this object and \a right
+ */
+ double operator-(const GPSZcount& right) const
+ throw() ;
+
+ /** Add the given number of Z-counts to the current value.
+ * This may cause a roll-(over/under) of the Z-count and appropriate
+ * modification of the week.
+ * @param inZcounts the number of Z-counts to add to the current
+ * value.
+ * @return a reference to this object
+ * @throws gpstk::InvalidRequest if adding inZcounts would render
+ * this object invalid.
+ */
+ GPSZcount& operator+=(long inZcounts)
+ throw(gpstk::InvalidRequest) ;
+
+ /** Subtract the given number of Z-counts from the current value.
+ * This may cause a roll-(over/under) of the Z-count and appropriate
+ * modification of the week.
+ * @param inZcounts the number of Z-counts to subtract from the
+ * current value.
+ * @return a reference to this object
+ * @throws gpstk::InvalidRequest if subtracting inZcounts would
+ * render this object invalid.
+ */
+ GPSZcount& operator-=(long inZcounts)
+ throw(gpstk::InvalidRequest) ;
+
+ /// Assignment operator.
+ GPSZcount& operator=(const GPSZcount& right)
+ throw();
+
+ /// Comparison operator (less-than).
+ bool operator<(const GPSZcount& right) const
+ throw();
+ /// Comparison operator (greater-than).
+ bool operator>(const GPSZcount& right) const
+ throw();
+ /// Equality operator.
+ bool operator==(const GPSZcount& right) const
+ throw();
+ /// Inequality operator.
+ bool operator!=(const GPSZcount& right) const
+ throw();
+ /// Comparison operator (less-than or equal-to).
+ bool operator<=(const GPSZcount& right) const
+ throw();
+ /// Comparison operator (greater-than or equal-to).
+ bool operator>=(const GPSZcount& right) const
+ throw();
+
+ /// Convert this object to a string.
+ operator std::string() const
+ throw() ;
+
+ /**
+ * This is a test of whether or not this object and the given
+ * GPSZcount object are within the same time-block. Say you need to
+ * find out if the two GPSZcounts are:
+ * ... in the same day: inZcountBlock == ZCOUNT_DAY
+ * ... or the same minute: inZcountBlock == ZCOUNT_MINUTE etc.
+ * For inZcountBlock < ZCOUNT_WEEK, blocks start at the beginning of
+ * the week.
+ * For inZcountBlock >= ZCOUNT_WEEK, blocks start at the beginning of
+ * GPS Week 0.
+ * inZcountOffset allows checking of times off of the usual boundaries
+ * i.e. in the same day where a day is defined as starting at noon
+ * instead of at midnight, or in the same minute where a minute
+ * starts at 23 seconds instead of zero.
+ * @param other the other GPSZcount object
+ * @param inZcountBlock the number of Z-counts in a time-block
+ * @param inZcountOffset the number of Z-counts to offset the
+ * time-block (default = 0)
+ * @return whether this object and /a other are in the same time-block
+ */
+ bool inSameTimeBlock(const GPSZcount& other,
+ unsigned long inZcountBlock,
+ unsigned long inZcountOffset = 0)
+ throw();
+
+ /** Dump the contents of this object to the given output stream.
+ * @param out the output stream to write to
+ * @param level the level of verbosity to use (default=0)
+ */
+ void dump(std::ostream& out,
+ short level = 0) const
+ throw() ;
+
+ protected:
+ short week; ///< GPS full week. (0 <= week)
+ long zcount; ///< GPS Z-count. (0 <= zcount <= 403199)
+
+ /** Check the validity of the given Z-count.
+ * @param z the Z-count to verify
+ * @return 0 if valid, negative if below zero,
+ * positive if above 403199
+ */
+ static long validZcount(long z)
+ throw();
+
+ };
+
+ /** Stream output operator for GPSZcount objects.
+ * @param s stream to append formatted GPSZcount to.
+ * @param z GPSZcount to append to stream \c s.
+ * @return a reference to \c s.
+ */
+ std::ostream& operator<<(std::ostream& s,
+ const gpstk::GPSZcount& z) ;
+
+ //@}
+
+} // namespace gpstk
+
+#endif // GPSTK_GPSZCOUNT_HPP
diff --git a/trunk/src/GPSZcount29.cpp b/trunk/src/GPSZcount29.cpp
new file mode 100644
index 0000000..acca3c5
--- /dev/null
+++ b/trunk/src/GPSZcount29.cpp
@@ -0,0 +1,171 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSZcount29.cpp#3 $"
+
+#include "GPSZcount29.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+ const std::string GPSZcount29::printChars( "Ec" );
+ const std::string GPSZcount29::defaultFormat( "%E %c" );
+
+ GPSZcount29& GPSZcount29::operator=( const GPSZcount29& right )
+ throw()
+ {
+ zcount = right.zcount;
+ return *this;
+ }
+
+ CommonTime GPSZcount29::convertToCommonTime() const
+ {
+ // What we have in the zcount data member is the following:
+ // a 10-bit week number, and a 19-bit zcount. Split 'em apart.
+ long wk( epoch * WEEKS_PER_EPOCH + ( (zcount >> 19) & 0x3FF ) );
+ long zc( zcount & 0x7FFFF );
+ long jday = GPS_EPOCH_JDAY + ( 7 * wk )
+ + ( zc / ZCOUNT_PER_DAY );
+ double sod = ( zc % ZCOUNT_PER_DAY ) * 1.5;
+
+ return CommonTime( jday,
+ static_cast<long>( sod ),
+ sod - static_cast<long>( sod ) );
+ }
+
+ void GPSZcount29::convertFromCommonTime( const CommonTime& ct )
+ {
+ long day, sod;
+ double fsod;
+ ct.get( day, sod, fsod );
+
+ // find the number of days since the beginning of the GPS Epoch
+ day -= GPS_EPOCH_JDAY;
+
+ // find out how many weeks that is
+ int wk( static_cast<int>( day / 7 ) );
+
+ // ... and chop off the epochs
+ epoch = wk / WEEKS_PER_EPOCH;
+ wk %= WEEKS_PER_EPOCH;
+
+ // find out what the day of week is
+ day %= 7;
+
+ zcount = static_cast<long>( day * ZCOUNT_PER_DAY )
+ + static_cast<long>( static_cast<double>( sod + fsod ) / 1.5 );
+
+ zcount |= ( wk << 19 );
+ }
+
+ std::string GPSZcount29::printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using gpstk::StringUtils::formattedPrint;
+ std::string rv( fmt );
+
+ rv = formattedPrint( rv, formatPrefixInt + "E",
+ "Ehd", epoch );
+ rv = formattedPrint( rv, formatPrefixInt + "c",
+ "chd", zcount );
+ return rv;
+ }
+ catch( gpstk::StringUtils::StringException& se )
+ {
+ GPSTK_RETHROW( se );
+ }
+ }
+
+ bool GPSZcount29::setFromInfo( const IdToValue& info )
+ throw()
+ {
+ using namespace gpstk::StringUtils;
+
+ bool hepoch( false ), hzcount( false );
+ int iepoch( 0 ), izcount( 0 );
+
+ for( IdToValue::const_iterator i = info.begin(); i != info.end(); i++ )
+ {
+ switch( i->first )
+ {
+ case 'E':
+ hepoch = true;
+ iepoch = gpstk::StringUtils::asInt( i->second );
+ break;
+ case 'c':
+ hzcount = true;
+ izcount = gpstk::StringUtils::asInt( i->second );
+ break;
+ default:
+ // do nothing
+ break;
+ };
+ }
+
+ if( hepoch && hzcount )
+ {
+ epoch = iepoch;
+ zcount = izcount;
+ return true;
+ }
+
+ return false;
+ }
+
+ bool GPSZcount29::isValid() const
+ throw()
+ {
+ GPSZcount29 temp;
+ temp.convertFromCommonTime( convertToCommonTime() );
+ if( *this == temp )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool GPSZcount29::operator==( const GPSZcount29& right ) const
+ throw()
+ {
+ if( zcount == right.zcount )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool GPSZcount29::operator!=( const GPSZcount29& right ) const
+ throw()
+ {
+ return ( !operator==( right ) );
+ }
+
+ bool GPSZcount29::operator<( const GPSZcount29& right ) const
+ throw()
+ {
+ if( zcount < right.zcount )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool GPSZcount29::operator>( const GPSZcount29& right ) const
+ throw()
+ {
+ return ( !operator<=( right ) );
+ }
+
+ bool GPSZcount29::operator<=( const GPSZcount29& right ) const
+ throw()
+ {
+ return ( operator<( right ) ||
+ operator==( right ) );
+ }
+
+ bool GPSZcount29::operator>=( const GPSZcount29& right ) const
+ throw()
+ {
+ return ( !operator<( right ) );
+ }
+
+} // namespace
diff --git a/trunk/src/GPSZcount29.hpp b/trunk/src/GPSZcount29.hpp
new file mode 100644
index 0000000..0d334e2
--- /dev/null
+++ b/trunk/src/GPSZcount29.hpp
@@ -0,0 +1,149 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSZcount29.hpp#3 $"
+
+#ifndef GPSTK_GPSZCOUNT29_HPP
+#define GPSTK_GPSZCOUNT29_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+ /**
+ * This class encapsulates the "GPS Epoch and 29-bit full Zcount" time
+ * representation.
+ */
+ class GPSZcount29 : public TimeTag
+ {
+ public:
+ static const std::string printChars;
+ static const std::string defaultFormat;
+
+ /**
+ * @defgroup gz29bo GPSZcount29 Basic Operations
+ * Default and Copy Constructors, Assignment Operator and Destructor.
+ */
+ //@{
+ /**
+ * Default Constructor.
+ * All elements are initialized to zero.
+ */
+ GPSZcount29( int e = 0,
+ int z = 0 )
+ throw()
+ : epoch( e ), zcount( z )
+ {}
+
+ /**
+ * Copy Constructor.
+ * @param right a reference to the GPSZcount29 object to copy
+ */
+ GPSZcount29( const GPSZcount29& right )
+ throw()
+ : epoch( right.epoch ), zcount( right.zcount )
+ {}
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const TimeTag reference and copies its contents via
+ * conversion to CommonTime.
+ * @param right a const reference to the BasicTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ GPSZcount29( const TimeTag& right )
+ throw( gpstk::InvalidRequest )
+ {
+ convertFromCommonTime( right.convertToCommonTime() );
+ }
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const CommonTime reference and copies its contents via
+ * the convertFromCommonTime method.
+ * @param right a const reference to the CommonTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ GPSZcount29( const CommonTime& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right );
+ }
+
+ /**
+ * Assignment Operator.
+ * @param right a const reference to the GPSZcount29 to copy
+ * @return a reference to this GPSZcount29
+ */
+ GPSZcount29& operator=( const GPSZcount29& right )
+ throw();
+
+ /// Virtual Destructor.
+ virtual ~GPSZcount29()
+ throw()
+ {}
+ //@}
+
+ // The following functions are required by TimeTag.
+ virtual CommonTime convertToCommonTime() const;
+
+ virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+ /// This function formats this time to a string. The exceptions
+ /// thrown would only be due to problems parsing the fmt string.
+ virtual std::string printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException );
+
+ /**
+ * Set this object using the information provided in \a info.
+ * @param info the IdToValue object to which this object shall be set.
+ * @return true if this object was successfully set using the
+ * data in \a info, false if not.
+ */
+ virtual bool setFromInfo( const IdToValue& info )
+ throw();
+
+ /// Return a string containing the characters that this class
+ /// understands when printing times.
+ virtual std::string getPrintChars() const
+ throw()
+ {
+ return printChars;
+ }
+
+ /// Return a string containing the default format to use in printing.
+ virtual std::string getDefaultFormat() const
+ throw()
+ {
+ return defaultFormat;
+ }
+
+ virtual bool isValid() const
+ throw();
+
+ /**
+ * @defgroup gz29co GPSZcount29 Comparison Operators
+ * All comparison operators have a parameter "right" which corresponds
+ * to the GPSZcount29 object to the right of the symbol.
+ * All comparison operators are const and return true on success
+ * and false on failure.
+ */
+ //@{
+ bool operator==( const GPSZcount29& right ) const
+ throw();
+ bool operator!=( const GPSZcount29& right ) const
+ throw();
+ bool operator<( const GPSZcount29& right ) const
+ throw();
+ bool operator>( const GPSZcount29& right ) const
+ throw();
+ bool operator<=( const GPSZcount29& right ) const
+ throw();
+ bool operator>=( const GPSZcount29& right ) const
+ throw();
+ //@}
+
+ int epoch;
+ int zcount;
+ };
+
+} // namespace
+
+#endif // GPSTK_GPSZCOUNT32_HPP
diff --git a/trunk/src/GPSZcount32.cpp b/trunk/src/GPSZcount32.cpp
new file mode 100644
index 0000000..92a7575
--- /dev/null
+++ b/trunk/src/GPSZcount32.cpp
@@ -0,0 +1,142 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSZcount32.cpp#2 $"
+
+#include "GPSZcount32.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+ const std::string GPSZcount32::printChars( "C" );
+ const std::string GPSZcount32::defaultFormat( "%C" );
+
+ GPSZcount32& GPSZcount32::operator=( const GPSZcount32& right )
+ throw()
+ {
+ zcount = right.zcount;
+ return *this;
+ }
+
+ CommonTime GPSZcount32::convertToCommonTime() const
+ {
+ // What we have in the zcount data member is the following:
+ // a 13-bit week number, and a 19-bit zcount. Split 'em apart.
+ int wk( (zcount >> 19) & 0x1FFF ), zc( zcount & 0x7FFFF );
+ int jday = GPS_EPOCH_JDAY + ( 7 * wk )
+ + static_cast<int>( zc * DAY_PER_ZCOUNT );
+ double sod = ( zc % ZCOUNT_PER_DAY ) * 1.5;
+
+ return CommonTime( jday,
+ static_cast<long>( sod ),
+ sod - static_cast<long>( sod ) );
+ }
+
+ void GPSZcount32::convertFromCommonTime( const CommonTime& ct )
+ {
+ long day, sod;
+ double fsod;
+ ct.get( day, sod, fsod );
+
+ // find the number of days since the beginning of the GPS Epoch
+ day -= GPS_EPOCH_JDAY;
+ // find out how many weeks that is
+ int wk( static_cast<int>( day / 7 ) );
+ // find out what the day of week is
+ day %= 7;
+
+ zcount = static_cast<long>( day * ZCOUNT_PER_DAY )
+ + static_cast<long>( static_cast<double>( sod + fsod ) / 1.5 );
+
+ zcount |= ( wk << 19 );
+ }
+
+ std::string GPSZcount32::printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using gpstk::StringUtils::formattedPrint;
+ std::string rv( fmt );
+
+ rv = formattedPrint( rv, formatPrefixInt + "C",
+ "Cd", zcount );
+
+ return rv;
+ }
+ catch( gpstk::StringUtils::StringException& se )
+ {
+ GPSTK_RETHROW( se );
+ }
+ }
+
+ bool GPSZcount32::setFromInfo( const IdToValue& info )
+ throw()
+ {
+ using namespace gpstk::StringUtils;
+
+ IdToValue::const_iterator itr = info.find('C');
+ if( itr != info.end() )
+ {
+ zcount = gpstk::StringUtils::asInt( itr->second );
+ return true;
+ }
+
+ return false;
+ }
+
+ bool GPSZcount32::isValid() const
+ throw()
+ {
+ GPSZcount32 temp;
+ temp.convertFromCommonTime( convertToCommonTime() );
+ if( *this == temp )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool GPSZcount32::operator==( const GPSZcount32& right ) const
+ throw()
+ {
+ if( zcount == right.zcount )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool GPSZcount32::operator!=( const GPSZcount32& right ) const
+ throw()
+ {
+ return ( !operator==( right ) );
+ }
+
+ bool GPSZcount32::operator<( const GPSZcount32& right ) const
+ throw()
+ {
+ if( zcount < right.zcount )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool GPSZcount32::operator>( const GPSZcount32& right ) const
+ throw()
+ {
+ return ( !operator<=( right ) );
+ }
+
+ bool GPSZcount32::operator<=( const GPSZcount32& right ) const
+ throw()
+ {
+ return ( operator<( right ) ||
+ operator==( right ) );
+ }
+
+ bool GPSZcount32::operator>=( const GPSZcount32& right ) const
+ throw()
+ {
+ return ( !operator<( right ) );
+ }
+
+} // namespace
diff --git a/trunk/src/GPSZcount32.hpp b/trunk/src/GPSZcount32.hpp
new file mode 100644
index 0000000..fc96616
--- /dev/null
+++ b/trunk/src/GPSZcount32.hpp
@@ -0,0 +1,146 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSZcount32.hpp#2 $"
+
+#ifndef GPSTK_GPSZCOUNT32_HPP
+#define GPSTK_GPSZCOUNT32_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+ /**
+ * This class encapsulates the "32-bit full Zcount" time representation.
+ */
+ class GPSZcount32 : public TimeTag
+ {
+ public:
+ static const std::string printChars;
+ static const std::string defaultFormat;
+
+ /**
+ * @defgroup gz32bo GPSZcount32 Basic Operations
+ * Default and Copy Constructors, Assignment Operator and Destructor.
+ */
+ //@{
+ /**
+ * Default Constructor.
+ * All elements are initialized to zero.
+ */
+ GPSZcount32( int z = 0 )
+ throw()
+ : zcount( z )
+ {}
+
+ /**
+ * Copy Constructor.
+ * @param right a reference to the GPSZcount32 object to copy
+ */
+ GPSZcount32( const GPSZcount32& right )
+ throw()
+ : zcount( right.zcount )
+ {}
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const TimeTag reference and copies its contents via
+ * conversion to CommonTime.
+ * @param right a const reference to the BasicTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ GPSZcount32( const TimeTag& right )
+ throw( gpstk::InvalidRequest )
+ {
+ convertFromCommonTime( right.convertToCommonTime() );
+ }
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const CommonTime reference and copies its contents via
+ * the convertFromCommonTime method.
+ * @param right a const reference to the CommonTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ GPSZcount32( const CommonTime& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right );
+ }
+
+ /**
+ * Assignment Operator.
+ * @param right a const reference to the GPSZcount32 to copy
+ * @return a reference to this GPSZcount32
+ */
+ GPSZcount32& operator=( const GPSZcount32& right )
+ throw();
+
+ /// Virtual Destructor.
+ virtual ~GPSZcount32()
+ throw()
+ {}
+ //@}
+
+ // The following functions are required by TimeTag.
+ virtual CommonTime convertToCommonTime() const;
+
+ virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+ /// This function formats this time to a string. The exceptions
+ /// thrown would only be due to problems parsing the fmt string.
+ virtual std::string printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException );
+
+ /**
+ * Set this object using the information provided in \a info.
+ * @param info the IdToValue object to which this object shall be set.
+ * @return true if this object was successfully set using the
+ * data in \a info, false if not.
+ */
+ virtual bool setFromInfo( const IdToValue& info )
+ throw();
+
+ /// Return a string containing the characters that this class
+ /// understands when printing times.
+ virtual std::string getPrintChars() const
+ throw()
+ {
+ return printChars;
+ }
+
+ /// Return a string containing the default format to use in printing.
+ virtual std::string getDefaultFormat() const
+ throw()
+ {
+ return defaultFormat;
+ }
+
+ virtual bool isValid() const
+ throw();
+
+ /**
+ * @defgroup gz32co GPSZcount32 Comparison Operators
+ * All comparison operators have a parameter "right" which corresponds
+ * to the GPSZcount32 object to the right of the symbol.
+ * All comparison operators are const and return true on success
+ * and false on failure.
+ */
+ //@{
+ bool operator==( const GPSZcount32& right ) const
+ throw();
+ bool operator!=( const GPSZcount32& right ) const
+ throw();
+ bool operator<( const GPSZcount32& right ) const
+ throw();
+ bool operator>( const GPSZcount32& right ) const
+ throw();
+ bool operator<=( const GPSZcount32& right ) const
+ throw();
+ bool operator>=( const GPSZcount32& right ) const
+ throw();
+ //@}
+
+ int zcount;
+ };
+
+} // namespace
+
+#endif // GPSTK_GPSZCOUNT32_HPP
diff --git a/trunk/src/GenXSequence.cpp b/trunk/src/GenXSequence.cpp
new file mode 100644
index 0000000..a5df483
--- /dev/null
+++ b/trunk/src/GenXSequence.cpp
@@ -0,0 +1,215 @@
+// $Id: //depot/sgl/gpstk/dev/src/GenXSequence.cpp#2 $
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/*
+ * GenXSequence.cpp - Generate GPS X-register sequences
+ */
+
+ // Local headers
+#include "GenXSequence.hpp"
+
+namespace gpstk
+{
+ // Constructor
+ GenXSequence::GenXSequence( const unsigned int initialState,
+ const unsigned int tapRegister,
+ const int initialLengthOfSequence,
+ const int maxDelay )
+ {
+
+ /*
+ * NOTE: the x register functions assume a LSB-to-MSB shift. Therefore,
+ * the tap register definition and the initialization definition for the
+ * X register correspond to the diagrams in ICD-GPS-200, assuming
+ * "stage 0" is the LSB. That means the diagrams have to be read from
+ * LSB (LEFT) -> MSB (RIGHT). The corresponding text doesn't have this
+ * problem.
+ */
+ unsigned int mask12bits[12] = { 0x0001, 0x0002, 0x0004, 0x0008,
+ 0x0010, 0x0020, 0x0040, 0x0080,
+ 0x0100, 0x0200, 0x0400, 0x0800 };
+
+ unsigned int reg = initialState;
+ lengthOfSequence = initialLengthOfSequence;
+ maxOfSequence = lengthOfSequence + maxDelay;
+
+ unsigned long output;
+ word_num = 0;
+ bit_num = 0;
+ int bit16cnt;
+ int andBits;
+ int i;
+
+ // Clear the output array
+ for ( i=0; i<MAX_WORD; ++i ) bits[i] = 0L;
+ debugPrint = false;
+
+ for ( i=0; i<lengthOfSequence ; ++i)
+ {
+ // Get current output and store it away
+ if ( (reg & 0x0800) != 0 ) output = 0x00000001;
+ else output = 0x00000000;
+ addBitToSequence( output );
+
+ // Calculate next input bit
+ andBits = reg & tapRegister;
+ reg <<= 1;
+ reg &= 0x0FFF;
+ int cnt = 0;
+ for ( int bit12cnt=0; bit12cnt<12; ++bit12cnt)
+ {
+ if (( andBits & mask12bits[bit12cnt] ) != 0) ++cnt;
+ }
+ int newBit = cnt % 2;
+ reg |= newBit;
+
+ }
+
+ // Fill delay bits with copies of the last ouptut bit
+ for ( i=0; i<maxDelay; ++i) addBitToSequence( output );
+
+ // When finished, make sure the last word (which is probably
+ // a partially-filled word) is left-justified.
+ if (bit_num>0) bits[word_num] <<= (MAX_BIT-bit_num);
+ }
+
+ // Private helper method to avoid duplicate code.
+ void GenXSequence::addBitToSequence( unsigned long newBit )
+ {
+ // Left shift any pre-existing data, then OR on the new
+ // data (assumed to be right-justified).
+ bits[word_num] <<= 1;
+ bits[word_num] |= newBit;
+
+ /*
+ Increment bit pointer and check for word overflow.
+ NOTE: Overflow of the WORD pointer is a "programming problem"
+ that is unrecoverable and should NEVER happen in production.
+ */
+ ++bit_num;
+ if (bit_num>=MAX_BIT)
+ {
+ ++word_num;
+ bit_num=0;
+ }
+ }
+
+ /*
+ Given a bit position within the X sequence (numbered starting at 0),
+ return the next 32 bits. Note: if there are insufficient bits left
+ to fill the request, wrap around to the beginning of the sequence.
+ Note that the location of the wrap around can be modified using the
+ function GenXSequence::setEndOfSequence( int los );
+ */
+ unsigned long GenXSequence::operator[] ( int i )
+ {
+ unsigned long retArg;
+ int ndx1 = i / MAX_BIT;
+ int offset = i % MAX_BIT;
+ if ( (i+MAX_BIT) <= lengthOfSequence )
+ {
+ if (offset==0) retArg = bits[ndx1];
+ else retArg = merge( bits[ndx1], bits[ndx1+1], offset );
+ }
+ /*
+ Complicated case when coming up to end of sequence. May have to
+ put together parts of up to three words to get 32 bits. Two words
+ at the end of sequence plus "wrap around" bits from beginning of
+ sequence.
+ First: If end of sequence doesn't fall in current word, use up
+ remaining bits in the current word.
+ Second: use bits up to the end of sequence.
+ Third: fill remaining bits from the beginning of the sequence.
+ */
+ else
+ {
+ retArg = 0L;
+ int numRemainingInSequence = lengthOfSequence - i;
+ int numRemainingInWord = MAX_BIT - offset;
+ int numFilled = 0;
+
+ /*
+ Get bits (if any) from next-to-last word.
+ */
+ if (numRemainingInWord<numRemainingInSequence)
+ {
+ retArg = bits[ndx1++] << offset;
+ numRemainingInSequence -= numRemainingInWord;
+ numFilled = numRemainingInWord;
+ }
+
+ unsigned long temp = bits[ndx1];
+ /*
+ Get bits from last word
+ Case 1: No bits from previous word, need only "middle" section
+ from last word.
+ Case 2: Need all bits available from final word (may or
+ may not have bits from preceding word)
+ */
+ if (numFilled==0 && offset!=0)
+ {
+ temp <<= offset; // Move to left to clear excess msb
+ temp >>= (MAX_BIT-numRemainingInSequence); // Shift right to clear excess lsb retArg |= temp;
+ temp <<= (MAX_BIT - (numRemainingInSequence+numFilled) );
+ retArg |= temp;
+ }
+ else
+ {
+ temp >>= (MAX_BIT-numRemainingInSequence);
+ temp <<= (MAX_BIT-(numRemainingInSequence+numFilled));
+ retArg |= temp;
+ }
+
+ // Finally, add bits from the "wraparound" word at the
+ // beginning of the array.
+ retArg |= bits[0] >> (numRemainingInSequence+numFilled);
+ }
+ return(retArg);
+ }
+
+ void GenXSequence::setLengthOfSequence( int los )
+ {
+ lengthOfSequence = los;
+ return;
+ }
+} // end of namespace
diff --git a/trunk/src/GenXSequence.hpp b/trunk/src/GenXSequence.hpp
new file mode 100644
index 0000000..59b15a8
--- /dev/null
+++ b/trunk/src/GenXSequence.hpp
@@ -0,0 +1,159 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GenXSequence.hpp#2 $"
+
+// GenXSequence.hpp - Generate X Sequence class.
+
+#ifndef GENXSEQUENCE_HPP
+#define GENXSEQUENCE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "PCodeConst.hpp"
+#include "mergePCodeWords.h"
+
+namespace gpstk
+{
+/** @addtogroup code */
+//@{
+
+ // Derived from X2A maximum length (see xconst.hpp)
+ const int MAX_WORD = 140;
+
+ /**
+ * Generate X Sequence for GPS
+ * Applied Research Laboratories, The University of Texas at Austin
+ * August 2003
+ *
+ * GenXSequence holds a bit buffer containing one of the GPS code
+ * sequences: X1A, X1B, X2A, X2B.
+ *
+ * The first 4092 or 4093 bits are constructed using the algorithms
+ * from ICD-GPS-200, section 3.3.2. The process of generating the
+ * bits is identical for each of the four sequences. The process
+ * consists of a 12-bit shift register which is initialized to a
+ * specific value and a specification of the "taps" on the shift
+ * register. As a given bit is read off the high end of the register,
+ * the sum of the bits specified by the taps is used to determine
+ * is 0 or 1 is used as the next input to the shift register. This
+ * process is defined in more detail in ICD-GPS-200 section 3.3.2.2.
+ *
+ * Once the 4092 or 4093 bits are constructed, in the case of X1B, X2A,
+ * and X2B it is necesary to add copies of the last bit to account for
+ * delay states in which the register is "held" in it's final position
+ * for many counts while X1A completes a cycle.
+ *
+ * Once the sequences are created, the array subscript operator is used
+ * to access the sequences 32 bits at a time. The index passed to the
+ * array subscript operator is the bit position within the sequence
+ * (first bit is equal to bit 0). When the process reaches the end of
+ * the sequence, the operator will "wrap around" and restart at the
+ * front of the array in order to fill the 32-bit return word.
+ *
+ * For X1A, the length of the sequence will always be 4092 bits. For
+ * all other registers, the length of the sequence is a variable,
+ * dependent on the epoch and the time of week. That information is
+ * not available to GenXSequence; therefore, the method
+ * GenXSequence::setEndOfSequence( los ) is provided to allow the
+ * calling program to adjust the end of sequence accordingly.
+ * NOTE: this means the calling program also needs to specify
+ * a maximum sequence length (see constructor) that is equal or greater
+ * than the maximum length the calling program will use.
+ */
+ class GenXSequence
+ {
+ public:
+ /**
+ * The initial state of the register and the defintion of the
+ * taps are provided to the constructor. In each case, the
+ * 12-bits of interest are right justified in the argument.
+ * The lsb of the variables corresponds to stage 1 in figures
+ * 3-3 through 3-6 of ICD-GPS-200. The constructor runs the
+ * X generator process, creates 4096 bits of X-code, and stores
+ * the results internally in an array of 128 unsigned long
+ * (32-bit) variables as packed integers. Within the storage
+ * words the bits are ordered from word[0] to word[xxx] and from
+ * msb to lsb within the word.
+ *
+ * initialEndOfSequence is the number of time the X-register
+ * process should be incremented and should be either 4092
+ * (X1A, X2A) or 4093 (X1B, X2B).
+ *
+ * maxDelay represents the number of times the final bit of the
+ * sequence should be copied after initialEndOfSequence is reached.
+ * This should be equivalent (or greater than) the maximum number
+ * of delay states that this variable can experience. For X1B,
+ * that's the end-of-X1A-epoch delay (349 counts). For X2A and
+ * X2B the 37 chip end-of-X2-epoch and the end-of-week delays must
+ * be considered.
+ */
+ GenXSequence( const unsigned int initialState,
+ const unsigned int taps,
+ const int initialEndOfSequence,
+ const int max_delay );
+ ~GenXSequence( ) {};
+
+ /**
+ * Fetch 32-bits from the sequence starting at the specified bit
+ * location. Bits are counted started at 0 and run to
+ * initialEndOfSequence+maxDelay. Attempts to reference bits outside
+ * this range will generate exceptions and halt the program. These
+ * conditions shouldn't occur during operation, only during
+ * programming. If there are not 32 bits remaining prior to the
+ * current value for lengthOfSequence, the function will wrap around
+ * to the beginning of sequence.
+ */
+ unsigned long operator[] ( int i );
+
+ /// Set the end of sequence for the current cycle.
+ void setLengthOfSequence( int i );
+
+ private:
+ void addBitToSequence( unsigned long newBit );
+ unsigned long bits[MAX_WORD];
+ int lengthOfSequence;
+ int maxOfSequence;
+ bool debugPrint;
+ int word_num;
+ int bit_num;
+ };
+ //@}
+} // end of namespace
+#endif // GENXSEQUENCE_HPP
diff --git a/trunk/src/Geodetic.cpp b/trunk/src/Geodetic.cpp
new file mode 100644
index 0000000..a287735
--- /dev/null
+++ b/trunk/src/Geodetic.cpp
@@ -0,0 +1,199 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Geodetic.cpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file Geodetic.cpp
+ * Geodetic coordinates (lat, lon, alt)
+ */
+
+#include "geometry.hpp"
+#include "Geodetic.hpp"
+#include "MiscMath.hpp"
+#include "icd_200_constants.hpp" // for TWO_PI
+
+namespace gpstk
+{
+ using namespace std;
+
+ Geodetic :: Geodetic()
+ : Triple(), geoid(NULL)
+ {
+ }
+
+ Geodetic :: Geodetic(const Geodetic& right)
+ : Triple(right), geoid(right.geoid)
+ {
+ }
+
+ Geodetic :: Geodetic(const double& lat, const double& lon, const double& alt,
+ GeoidModel* geo)
+ : Triple(lat, lon, alt), geoid(geo)
+ {
+ }
+
+ Geodetic :: Geodetic(const Triple& t, GeoidModel* geo)
+ : Triple(t), geoid(geo)
+ {
+ }
+
+ Geodetic :: Geodetic(const ECEF& right, GeoidModel* geo)
+ throw(NoGeoidException)
+ {
+ double X = right[0]; // m
+ double Y = right[1]; // m
+ double Z = right[2]; // m
+ double p = RSS(X,Y);
+ double latd = atan2(Z, p * (1.0 - geo->eccSquared()) );
+ double ht = 0.0, slatd, N, htold, latdold;
+
+ for(int i=0; i<5; i++)
+ {
+ slatd = sin(latd);
+ N = geo->a() / SQRT(1.0 - geo->eccSquared() * slatd * slatd);
+ htold = ht;
+ ht = p/cos(latd) - N;
+ latdold = latd;
+ latd = atan2(Z, p * (1.0 - geo->eccSquared() * (N/(N+ht)) ) );
+ if(ABS(latd-latdold) < 1.0e-9 &&
+ ABS(ht-htold) < (1.0e-9 * geo->a())) break;
+ }
+
+ double lon = atan2(Y,X);
+
+ if(lon < 0.0)
+ lon += TWO_PI;
+
+ theArray[0] = latd * RAD_TO_DEG; // deg
+ theArray[1] = lon * RAD_TO_DEG; // deg
+ theArray[2] = ht; // m
+ geoid = geo;
+ }
+
+ Geodetic& Geodetic :: operator=(const Geodetic& right)
+ {
+ Triple::operator=(right);
+ geoid = right.geoid;
+ return *this;
+ }
+
+#if 0
+ // This function is preserved here in case someone actually goes
+ // about verifying it and finishing it.
+ // As of July 31, 2002, David Munton, who implemented this
+ // particular bit of code, recommends not using it.
+ void tidal_corrections ( double rad_gdlat, double rad_gdlon,
+ double& xval, double& yval, double& zval)
+ {
+ double radial_correction, transverse_correction;
+ double gclat, re1;
+ double corr_array[3];
+
+ /*convert lat to geocentric */
+ /* re1 = rad_earth(gdlat)
+ gclat=geod_to_geoc(gdlat,re1);*/
+
+ /* compute radial correction */
+
+ radial_correction=-0.1196*(1.50*pow(sin(rad_gdlat),2)-0.5);
+
+ /* compute tranverse correction */
+
+ transverse_correction=-0.0247*sin(2.0*rad_gdlat);
+
+ /* compute correction components then add to station locations*/
+
+ corr_array[0]=radial_correction*cos(rad_gdlat)*cos(rad_gdlon) -
+ transverse_correction*sin(rad_gdlat)*cos(rad_gdlon);
+ corr_array[1]=radial_correction*cos(rad_gdlat)*sin(rad_gdlon) -
+ transverse_correction*sin(rad_gdlat)*sin(rad_gdlon);
+ corr_array[2]=radial_correction*sin(rad_gdlat) +
+ transverse_correction*cos(rad_gdlat);
+
+ /* scale results to km units */
+
+ //corr_array[0]=corr_array[0]*0.001;
+ //corr_array[1]=corr_array[1]*0.001;
+ //corr_array[2]=corr_array[2]*0.001;
+
+ xval = xval + corr_array[0];
+ yval = yval + corr_array[1];
+ zval = zval + corr_array[2];
+ }
+#endif
+
+ // based on formulae 2.30 and 2.31 in section 2.1.4, page 19 of
+ // Satellite Geodesy by Gunter Seeber, 1993.
+ gpstk::ECEF Geodetic :: asECEF() const throw(NoGeoidException)
+ {
+ double rad_cur, gdlat, gdlon;
+ double gdalt = getAltitude();
+
+ if (geoid == NULL)
+ {
+ NoGeoidException exc
+ ("Must specify a geoid to use to change systems");
+ GPSTK_THROW(exc);
+ }
+
+ // convert angles to radians
+ gdlat = DEG_TO_RAD * getLatitude();
+ gdlon = DEG_TO_RAD * getLongitude();
+
+ // radius of curvature in the prime vertical, formula 2.31
+ rad_cur = geoid->a() /
+ sqrt(1.0-geoid->eccSquared()*pow((sin(gdlat)),2.0));
+
+ // formula 2.30
+ double xval = (rad_cur + gdalt) * ::cos(gdlat) * ::cos(gdlon);
+ double yval = (rad_cur + gdalt) * ::cos(gdlat) * ::sin(gdlon);
+ double zval = ((1.0 - geoid->eccSquared()) * rad_cur + gdalt) * ::sin(gdlat);
+
+ ECEF ecef(xval, yval, zval);
+
+ // see comments for tidalCorrections above for why this is
+ // commented out.
+// tidalCorrections(gdlat, gdlon, xarray[0], xarray[1], xarray[2]);
+
+ return ecef;
+ }
+} // namespace gpstk
diff --git a/trunk/src/Geodetic.hpp b/trunk/src/Geodetic.hpp
new file mode 100644
index 0000000..f88de59
--- /dev/null
+++ b/trunk/src/Geodetic.hpp
@@ -0,0 +1,132 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Geodetic.hpp#1 $"
+
+/**
+ * @file Geodetic.hpp
+ * Geodetic coordinates (lat, lon, alt)
+ */
+
+#ifndef GPSTK_GEODETIC_HPP
+#define GPSTK_GEODETIC_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Triple.hpp"
+#include "Exception.hpp"
+#include "GeoidModel.hpp"
+#include "ECEF.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup geodeticgroup */
+ //@{
+
+ /// Thrown when the internal gpstk::GeoidModel isn't assigned.
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(NoGeoidException, gpstk::Exception);
+
+ /**
+ * Specialization of triple that represents geodetic coordinates
+ * (latitude in degrees, longitude in degrees, altitude in m).
+ */
+ class Geodetic : public Triple
+ {
+ public:
+ /// Default constructor.
+ Geodetic();
+
+ /// Copy constructor.
+ Geodetic(const Geodetic& right);
+
+ /** Construct from three doubles. Be careful you don't
+ * specify a geoid that will disappear (e.g. one on the stack
+ * where these coordinates will be used outside that context).
+ * @param lat latitude in degrees.
+ * @param lon longitude in degrees.
+ * @param alt altitude in m.
+ * @param geo geoid model for transformations.
+ */
+ Geodetic(const double& lat, const double& lon, const double& alt,
+ GeoidModel* geo = NULL);
+
+ /** Construct from a Triple and a GeoidMode. The triple is latitude
+ * in degrees, longitude in degrees, and altitude in meters. Be
+ * careful you don't specify a geoid that will disappear (e.g. one
+ * on the stack where these coordinates will be used outside that
+ * context).
+ * @param t the Triple to copy from.
+ * @param geo geoid model for transformations.
+ */
+ Geodetic(const Triple& t, GeoidModel* geo = NULL);
+
+ /** Construct from an ECEF and a GeoidModel. Converts Earth-centered,
+ * Earth-fixed XYZ coordinates (m) to Geodetic coordinates
+ * (lat,lon(E),ht) (deg,degE,m). Be careful you don't
+ * specify a geoid that will disappear (e.g. one on the stack
+ * where these coordinates will be used outside that context).
+ * @param right the ECEF to construct from.
+ * @param geo geoid model for transformations.
+ */
+ Geodetic(const ECEF& right, GeoidModel* geo)
+ throw(NoGeoidException);
+
+ /// destructor
+ virtual ~Geodetic() {}
+
+ /// Assignment operator.
+ Geodetic& operator=(const Geodetic& right);
+
+ /** Convert to Earth-centered, Earth-fixed XYZ coordinates. */
+ gpstk::ECEF asECEF() const throw(NoGeoidException);
+
+ double getLatitude() const throw() { return operator[](0); }
+ double getLongitude() const throw() { return operator[](1); }
+ double getAltitude() const throw() { return operator[](2); }
+
+ protected:
+ GeoidModel *geoid;
+ }; // class Geodetic
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/GeoidModel.hpp b/trunk/src/GeoidModel.hpp
new file mode 100644
index 0000000..7da63db
--- /dev/null
+++ b/trunk/src/GeoidModel.hpp
@@ -0,0 +1,101 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GeoidModel.hpp#1 $"
+
+/**
+ * @file GeoidModel.hpp
+ * Abstract base class modeling a geoid
+ */
+
+#ifndef GPSTK_GEOIDMODEL_HPP
+#define GPSTK_GEOIDMODEL_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+namespace gpstk
+{
+ /** @addtogroup geodeticgroup */
+ //@{
+
+ /**
+ * This abstract class encapsulates geodetic models (e.g. WGS84,
+ * GPS, etc).
+ */
+ class GeoidModel
+ {
+ public:
+ /// @return semi-major axis of Earth in meters.
+ virtual double a() const throw() = 0;
+
+ /// @return semi-major axis of Earth in km.
+ virtual double a_km() const throw() = 0;
+
+ /// @return flattening (ellipsoid parameter).
+ virtual double flattening() const throw() = 0;
+
+ /// @return eccentricity (ellipsoid parameter).
+ virtual double eccentricity() const throw() = 0;
+
+ /// @return eccentricity squared (ellipsoid parameter).
+ virtual double eccSquared() const throw()
+ { return eccentricity() * eccentricity(); }
+
+ /// @return angular velocity of Earth in radians/sec.
+ virtual double angVelocity() const throw() = 0;
+
+ /// @return geocentric gravitational constant in m**3 / s**2
+ virtual double gm() const throw() = 0;
+
+ /// @return geocentric gravitational constant in m**3 / s**2
+ virtual double gm_km() const throw() = 0;
+
+ /// @return Speed of light in m/s.
+ virtual double c() const throw() = 0;
+
+ /// @return Speed of light in km/s
+ virtual double c_km() const throw() = 0;
+
+ }; // class GeoidModel
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/IonoModel.cpp b/trunk/src/IonoModel.cpp
new file mode 100644
index 0000000..8ad475c
--- /dev/null
+++ b/trunk/src/IonoModel.cpp
@@ -0,0 +1,176 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/IonoModel.cpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file IonoModel.cpp
+ * Implementation of the ICD-GPS-200 Ionosphere model.
+ */
+
+#include <math.h>
+#include "icd_200_constants.hpp"
+#include "IonoModel.hpp"
+
+namespace gpstk
+{
+ IonoModel::IonoModel(const double a[4], const double b[4])
+ throw()
+ : valid(true)
+ {
+ for (int n = 0; n < 4; n++)
+ {
+ alpha[n] = a[n];
+ beta[n] = b[n];
+ }
+ }
+
+ IonoModel::IonoModel(const EngAlmanac& engalm)
+ throw()
+ {
+ try
+ {
+ engalm.getIon(alpha, beta);
+ valid = true;
+ }
+ catch(InvalidRequest& e)
+ {
+ valid = false;
+ }
+ }
+
+ double IonoModel::getCorrection(const DayTime& time,
+ const Geodetic& rxgeo,
+ double svel,
+ double svaz,
+ Frequency freq) const
+ throw(IonoModel::InvalidIonoModel)
+ {
+
+ if (!valid)
+ {
+ InvalidIonoModel e("Alpha and beta parameters invalid.");
+ GPSTK_THROW(e);
+ }
+
+ // all angle units are in semi-circles (radians / TWO_PI)
+ // Note: math functions (cos, sin, etc.) require arguments in
+ // radians so all semi-circles must be multiplied by TWO_PI
+
+ double svE = svel / 360.0;
+ double svA = svaz / 360.0;
+
+ double phi_u = rxgeo.getLatitude() / 360.0;
+ double lambda_u = rxgeo.getLongitude() / 360.0;
+
+ double psi = 0.0137 / (svE + 0.11) - 0.022;
+
+ double phi_i = phi_u + psi * cos(svA*TWO_PI);
+ if (phi_i > 0.416)
+ phi_i = 0.416;
+ if (phi_i < -0.416)
+ phi_i = -0.416;
+
+ double lambda_i = lambda_u + psi * sin(svA*TWO_PI) / cos(phi_i*TWO_PI);
+
+ double phi_m = phi_i + 0.064 * cos((lambda_i - 1.617)*TWO_PI);
+
+ double iAMP = 0.0;
+ double iPER = 0.0;
+ for (int n = 0; n < 4; n++)
+ {
+ iAMP += alpha[n] * pow(phi_m, n);
+ iPER += beta[n] * pow(phi_m, n);
+ }
+ if (iAMP < 0.0)
+ iAMP = 0.0;
+ if (iPER < 72000.0)
+ iPER = 72000.0;
+
+ double t = 43200.0 * lambda_i + time.DOYsecond();
+ if (t >= 86400.0)
+ t -= 86400.0;
+ if (t < 0)
+ t += 86400.0;
+
+ double x = TWO_PI * (t - 50400.0) / iPER; // x is in radians
+
+ double iF = 1.0 + 16.0 * pow(0.53 - svE, 3);
+
+ double t_iono = 0.0;
+ if (fabs(x) < 1.57)
+ t_iono = iF * (5.0e-9 + iAMP * (1 - pow(x, 2)/2 + pow(x, 4)/24));
+ else
+ t_iono = iF * 5.0e-9;
+
+ if (freq == L2)
+ {
+ // see ICD-GPS-200 20.3.3.3.3.2
+ double gamma = pow(1575.42 / 1227.6, 2); // (fL1 / fL2)^2
+ t_iono *= gamma;
+ }
+
+ double correction = t_iono * C_GPS_M;
+
+ return correction;
+ }
+
+ bool IonoModel::operator==(const IonoModel& right) const
+ throw()
+ {
+ for (int n = 0; n < 4; n++)
+ {
+ if (alpha[n] != right.alpha[n] || beta[n] != right.beta[n])
+ return false;
+ }
+ return true;
+ }
+
+ bool IonoModel::operator!=(const IonoModel&right) const
+ throw()
+ {
+ return !(operator==(right));
+ }
+}
+
+
+
+
diff --git a/trunk/src/IonoModel.hpp b/trunk/src/IonoModel.hpp
new file mode 100644
index 0000000..49bcf7e
--- /dev/null
+++ b/trunk/src/IonoModel.hpp
@@ -0,0 +1,152 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/IonoModel.hpp#3 $"
+
+#ifndef GPSTK_IONOMODEL_HPP
+#define GPSTK_IONOMODEL_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file IonoModel.cpp
+ * Implementation of the ICD-GPS-200 Ionosphere model.
+ */
+
+#include "DayTime.hpp"
+#include "EngAlmanac.hpp"
+#include "Geodetic.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup GPSsolutions */
+ //@{
+
+ /**
+ * Model of the ionosphere.
+ * It is used to compute the delay of the satellite signal
+ * as seen at the receiver caused by the ionosphere for a
+ * "one frequency" user.
+ *
+ * See ICD-GPS-200, section 20.3.3.5.2.5 and Figure 20-4.
+ *
+ * Verbatim from the above section:
+ * "It is estimated that the use of this model will provide at least
+ * a 50% reduction in the single-frequency user's RMS error due to
+ * ionospheric propagation effects. During extended operations, or for
+ * the Block IIR SVs in the Autonav mode if the CS is unable to upload
+ * the SVs, the use of this model will yield unpredictable results."
+ */
+ class IonoModel
+ {
+ public:
+
+ /// Thrown when attempting to use a model for which all necessary
+ /// parameters have not been specified.
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(InvalidIonoModel, gpstk::Exception);
+
+
+ enum Frequency
+ {
+ L1, ///< L1 frequency (1575.42 MHz)
+ L2 ///< L2 frequency (1227.60 MHz)
+ };
+
+ /// default constructor, creates an invalid model
+ IonoModel() throw() : valid(false) {}
+
+ /// destructor
+ virtual ~IonoModel() throw() {}
+
+ /**
+ * constructor.
+ * Creates a valid model with satellite transmitted alpha
+ * and beta parameters provided from almanac.
+ * \param a an array containing the four alpha terms
+ * \param b an array containing the four beta terms
+ */
+ IonoModel(const double a[4], const double b[4]) throw();
+
+ /**
+ * EngAlmanac constructor.
+ * Creates a valid model from and EngAlmanac object
+ * \param engalm an EngAlmanac object
+ */
+ IonoModel(const EngAlmanac& engalm) throw();
+
+ /**
+ * returns the validity of the model.
+ * \return model validity
+ */
+ bool isValid() const throw() { return valid; }
+
+ /**
+ * get the ionospheric correction value.
+ * \param time the time of the observation
+ * \param rxgeo the WGS84 geodetic position of the receiver
+ * \param svel the elevation angle between the rx and SV (degrees)
+ * \param svaz the azimuth angle between the rx and SV (degrees)
+ * \param freq the GPS frequency the observation was made from
+ * \return the ionospheric correction (meters)
+ */
+ double getCorrection(const DayTime& time,
+ const Geodetic& rxgeo,
+ double svel,
+ double svaz,
+ Frequency freq = L1) const
+ throw(InvalidIonoModel);
+
+ /// equality operator
+ bool operator==(const IonoModel& right) const throw();
+
+ /// inequality operator
+ bool operator!=(const IonoModel& right) const throw();
+
+ private:
+
+ double alpha[4];
+ double beta[4];
+
+ bool valid;
+ };
+ //@}
+}
+
+#endif
diff --git a/trunk/src/IonoModelStore.cpp b/trunk/src/IonoModelStore.cpp
new file mode 100644
index 0000000..494c339
--- /dev/null
+++ b/trunk/src/IonoModelStore.cpp
@@ -0,0 +1,93 @@
+#pragma ident "$Id: $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file IonoModelStore.cpp
+ * Store GPS Navigation Message based ionospheric models
+ */
+
+#include "IonoModelStore.hpp"
+
+using namespace std;
+
+namespace gpstk
+{
+ bool IonoModelStore::addIonoModel(const DayTime& mt, const IonoModel& im)
+ throw()
+ {
+ if (!im.isValid())
+ return false;
+
+ IonoModelMap::const_iterator i = ims.upper_bound(mt);
+ if (!ims.empty() && i != ims.begin())
+ {
+ // compare to previous stored model and if they have the
+ // the same alpha and beta parameters don't store it
+ i--;
+ if (im == i->second)
+ return false;
+ }
+ ims[mt] = im;
+ return true;
+ }
+
+ double IonoModelStore::getCorrection(const DayTime& time,
+ const Geodetic& rxgeo,
+ double svel,
+ double svaz,
+ IonoModel::Frequency freq) const
+ throw(IonoModelStore::NoIonoModelFound)
+ {
+ IonoModelMap::const_iterator i = ims.upper_bound(time);
+ if (!ims.empty() && i != ims.begin())
+ {
+ i--;
+ return i->second.getCorrection(time, rxgeo, svel, svaz, freq);
+ }
+ else
+ {
+ NoIonoModelFound e;
+ GPSTK_THROW(e);
+ }
+ }
+}
diff --git a/trunk/src/IonoModelStore.hpp b/trunk/src/IonoModelStore.hpp
new file mode 100644
index 0000000..11598b9
--- /dev/null
+++ b/trunk/src/IonoModelStore.hpp
@@ -0,0 +1,115 @@
+#pragma ident "$Id: $"
+
+#ifndef GPSTK_IONOMODELSTORE_HPP
+#define GPSTK_IONOMODELSTORE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file IonoModelStore.hpp
+ * Store GPS Navigation Message based ionospheric models
+ */
+
+#include <map>
+#include "DayTime.hpp"
+#include "IonoModel.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup GPSsolutions */
+ //@{
+
+ /**
+ * This class defines an interface to hide how we determine
+ * the ionospheric delay as determined from GPS navigation message
+ * based models at some point in time
+ */
+ class IonoModelStore
+ {
+ public:
+ /**
+ * Thrown when attempting to get a model that isn't stored.
+ * @ingroup exceptiongroup
+ */
+ NEW_EXCEPTION_CLASS(NoIonoModelFound, gpstk::Exception);
+
+ /// constructor
+ IonoModelStore() throw() {}
+
+ /// destructor
+ virtual ~IonoModelStore() throw() {}
+
+ /**
+ * get the ionospheric correction value.
+ * \param time the time of the observation
+ * \param rxgeo the WGS84 geodetic position of the receiver
+ * \param svel the elevation angle between the rx and SV (degrees)
+ * \param svaz the azimuth angle between the rx and SV (degrees)
+ * \param freq the GPS frequency the observation was made from
+ * \return the ionospheric correction (meters)
+ */
+ double getCorrection(const DayTime& time,
+ const Geodetic& rxgeo,
+ double svel,
+ double svaz,
+ IonoModel::Frequency freq = IonoModel::L1) const
+ throw(NoIonoModelFound);
+
+ /**
+ * add an IonoModel to this collection
+ * \param mt the time the model is valid from
+ * \param im the IonoModel to add
+ * \return true if the model was added, false otherwise
+ */
+ bool addIonoModel(const DayTime& mt, const IonoModel& im) throw();
+
+
+ private:
+
+ typedef std::map<DayTime, IonoModel> IonoModelMap;
+ IonoModelMap ims;
+ };
+
+ //@}
+}
+
+#endif
diff --git a/trunk/src/Jamfile b/trunk/src/Jamfile
new file mode 100644
index 0000000..615e2e8
--- /dev/null
+++ b/trunk/src/Jamfile
@@ -0,0 +1,104 @@
+#
+# $Id: //depot/sgl/gpstk/dev/src/Jamfile#18 $
+#
+
+SubDir TOP src ;
+
+BonkForte ;
+
+if $(NEED_GETOPT)
+{
+ GETOPT_SOURCE = getopt.c getopt1.c ;
+ GETOPT_INC = getopt.h ;
+}
+
+if $(PREPROCESSING)
+{
+ if $(NEED_REGEX)
+ {
+ REGEX_SOURCE = regex.c ;
+ REGEX_INC = regex.h ;
+ if $(MSVCNT)
+ {
+ ObjectCcFlags $(REGEX_SOURCE) : -D__STDC__ -D_POSIX_SOURCE -DREGEX_MALLOC -DSTDC_HEADERS ;
+ }
+ }
+ else
+ {
+ REGEX_SOURCE = ;
+ }
+ GPSSetupLibrary gpstk ;
+}
+else
+{
+ GPSBuildLibrary gpstk : $(REGEX_SOURCE) Exception.cpp BinUtils.cpp
+ VectorBase.cpp DayTime.cpp Triple.cpp Geodetic.cpp
+ ECEF.cpp Xvt.cpp EngNav.cpp EngEphemeris.cpp EngAlmanac.cpp
+ AlmOrbit.cpp ObservationStore.cpp BCEphemerisStore.cpp SatID.cpp
+ SP3EphemerisStore.cpp AlmanacStore.cpp TropModel.cpp
+ IonoModel.cpp IonoModelStore.cpp
+ FFStream.cpp FFData.cpp RinexMetData.cpp RinexMetHeader.cpp
+ RinexObsData.cpp RinexObsHeader.cpp RinexNavData.cpp RinexNavHeader.cpp
+ SP3Data.cpp SP3Header.cpp FileSpec.cpp FileHunter.cpp
+ $(GETOPT_SOURCE) CommandOption.cpp CommandOptionParser.cpp
+ CommandOptionWithTimeArg.cpp BasicFramework.cpp LoopedFramework.cpp
+ RAIM.cpp EphemerisRange.cpp TabularEphemerisStore.cpp
+ RinexEphemerisStore.cpp RungeKutta4.cpp
+ MSCData.cpp SMODFData.cpp LinearClockModel.cpp
+ ObsClockModel.cpp ObsRngDev.cpp
+ FICData.cpp FICHeader.cpp
+ CodeBuffer.cpp GenXSequence.cpp SVPCodeGen.cpp X1Sequence.cpp
+ X2Sequence.cpp GPSZcount.cpp Position.cpp
+ CommandOptionWithPositionArg.cpp
+ PRSolution.cpp
+ RACRotation.cpp SVExclusionList.cpp
+ TimeConverters.cpp TimeString.cpp
+ CommonTime.cpp TimeTag.cpp ANSITime.cpp CivilTime.cpp
+ GPSEpochWeekSecond.cpp GPSWeekSecond.cpp GPSWeekZcount.cpp GPSZcount32.cpp
+ GPSZcount29.cpp JulianDate.cpp MJD.cpp UnixTime.cpp YDSTime.cpp
+ ;
+
+ InstallFile $(INCDIR) : AlmOrbit.hpp AlmanacStore.hpp BCEphemerisStore.hpp
+ BinUtils.hpp DayTime.hpp ECEF.hpp EngAlmanac.hpp EngEphemeris.hpp
+ EngNav.hpp EphemerisStore.hpp Exception.hpp FFBinaryStream.hpp
+ FFData.hpp FFStream.hpp FFStreamError.hpp FFTextStream.hpp SatID.hpp
+ FileFilter.hpp FileFilterFrame.hpp FileFilterFrameWithHeader.hpp
+ FileHunter.hpp FileSpec.hpp FileUtils.hpp GPSGeoid.hpp Geodetic.hpp
+ GeoidModel.hpp MathBase.hpp Matrix.hpp MatrixBase.hpp
+ MatrixBaseOperators.hpp MatrixFunctors.hpp MatrixImplementation.hpp
+ MatrixOperators.hpp MiscMath.hpp ObservationStore.hpp PolyFit.hpp
+ RTFileFrame.hpp RinexMetBase.hpp RinexMetData.hpp
+ RinexMetFilterOperators.hpp RinexMetHeader.hpp RinexMetStream.hpp
+ RinexNavBase.hpp RinexNavData.hpp RinexNavFilterOperators.hpp
+ RinexNavHeader.hpp RinexNavStream.hpp RinexObsBase.hpp
+ RinexObsData.hpp RinexObsFilterOperators.hpp RinexObsHeader.hpp
+ RinexObsStream.hpp SP3Base.hpp SP3Data.hpp SP3EphemerisStore.hpp
+ SP3Header.hpp SP3Stream.hpp Stats.hpp StringUtils.hpp Triple.hpp
+ TropModel.hpp IonoModel.hpp IonoModelStore.hpp
+ Vector.hpp VectorBase.hpp VectorBaseOperators.hpp VectorOperators.hpp
+ WGS84Geoid.hpp Xvt.hpp
+ convhelp.hpp geometry.hpp gps_constants.hpp icd_200_constants.hpp
+ stl_helpers.hpp CommandOption.hpp CommandOptionParser.hpp
+ CommandOptionWithTimeArg.hpp BasicFramework.hpp RAIMSolution.hpp
+ EphemerisRange.hpp LoopedFramework.hpp TabularEphemerisStore.hpp
+ RinexEphemerisStore.hpp FileStore.hpp RungeKutta4.hpp
+ $(GETOPT_INC) $(REGEX_INC)
+ MSCData.hpp MSCStream.hpp SMODFData.hpp SMODFStream.hpp
+ ClockModel.hpp EpochClockModel.hpp LinearClockModel.hpp
+ ObsClockModel.hpp ObsRngDev.hpp ValidType.hpp ORDEpoch.hpp
+ FICAStream.hpp FICBase.hpp FICData.hpp FICFilterOperators.hpp
+ FICHeader.hpp FICStream.hpp FICStreamBase.hpp
+ CodeBuffer.hpp GenXSequence.hpp PCodeConst.hpp SVPCodeGen.hpp
+ X1Sequence.hpp X2Sequence.hpp GPSZcount.hpp Position.hpp
+ CommandOptionWithPositionArg.hpp
+ PRSolution.hpp
+ RACRotation.hpp SVExclusionList.hpp
+ TimeConstants.hpp TimeConverters.hpp TimeString.hpp
+ CommonTime.hpp TimeTag.hpp ANSITime.hpp CivilTime.hpp
+ GPSEpochWeekSecond.hpp GPSWeekSecond.hpp GPSWeekZcount.hpp GPSZcount32.hpp
+ GPSZcount29.hpp JulianDate.hpp MJD.hpp UnixTime.hpp YDSTime.hpp
+
+ ;
+
+}
+
diff --git a/trunk/src/JulianDate.cpp b/trunk/src/JulianDate.cpp
new file mode 100644
index 0000000..6c9c465
--- /dev/null
+++ b/trunk/src/JulianDate.cpp
@@ -0,0 +1,132 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/JulianDate.cpp#2 $"
+
+#include "JulianDate.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+ const std::string JulianDate::printChars( "J" );
+ const std::string JulianDate::defaultFormat( "%J" );
+
+ JulianDate& JulianDate::operator=( const JulianDate& right )
+ throw()
+ {
+ jd = right.jd;
+ return *this;
+ }
+
+ CommonTime JulianDate::convertToCommonTime() const
+ {
+ long double temp_jd( jd + 0.5 );
+ long jday( static_cast<long>( temp_jd ) );
+ long double sod =
+ ( temp_jd - static_cast<long double>( jday ) ) * SEC_PER_DAY;
+
+ return CommonTime( jday,
+ static_cast<long>( sod ),
+ static_cast<double>( sod - static_cast<long>( sod ) ));
+ }
+
+ void JulianDate::convertFromCommonTime( const CommonTime& ct )
+ {
+ long jday, sod;
+ double fsod;
+ ct.get( jday, sod, fsod );
+
+ jd = static_cast<long double>( jday ) +
+ ( static_cast<long double>( sod )
+ + static_cast<long double>( fsod ) ) * DAY_PER_SEC
+ - 0.5;
+ }
+
+ std::string JulianDate::printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using gpstk::StringUtils::formattedPrint;
+ std::string rv( fmt );
+
+ rv = formattedPrint( rv, formatPrefixFloat + "J",
+ "JLf", jd );
+ return rv;
+ }
+ catch( gpstk::StringUtils::StringException& se )
+ {
+ GPSTK_RETHROW( se );
+ }
+ }
+
+ bool JulianDate::setFromInfo( const IdToValue& info )
+ throw()
+ {
+ using namespace gpstk::StringUtils;
+
+ IdToValue::const_iterator itr = info.find('J');
+ if( itr != info.end() )
+ {
+ jd = gpstk::StringUtils::asLongDouble( itr->second );
+ return true;
+ }
+
+ return false;
+ }
+
+ bool JulianDate::isValid() const
+ throw()
+ {
+ JulianDate temp;
+ temp.convertFromCommonTime( convertToCommonTime() );
+ if( *this == temp )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool JulianDate::operator==( const JulianDate& right ) const
+ throw()
+ {
+ if( jd == right.jd )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool JulianDate::operator!=( const JulianDate& right ) const
+ throw()
+ {
+ return ( !operator==( right ) );
+ }
+
+ bool JulianDate::operator<( const JulianDate& right ) const
+ throw()
+ {
+ if( jd < right.jd )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool JulianDate::operator>( const JulianDate& right ) const
+ throw()
+ {
+ return ( !operator<=( right ) );
+ }
+
+ bool JulianDate::operator<=( const JulianDate& right ) const
+ throw()
+ {
+ return ( operator<( right ) ||
+ operator==( right ) );
+ }
+
+ bool JulianDate::operator>=( const JulianDate& right ) const
+ throw()
+ {
+ return ( !operator<( right ) );
+ }
+
+} // namespace
diff --git a/trunk/src/JulianDate.hpp b/trunk/src/JulianDate.hpp
new file mode 100644
index 0000000..9b3a533
--- /dev/null
+++ b/trunk/src/JulianDate.hpp
@@ -0,0 +1,146 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/JulianDate.hpp#2 $"
+
+#ifndef GPSTK_JULIANDATE_HPP
+#define GPSTK_JULIANDATE_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+ /**
+ * This class encapsulates the "Julian Date" time representation.
+ */
+ class JulianDate : public TimeTag
+ {
+ public:
+ static const std::string printChars;
+ static const std::string defaultFormat;
+
+ /**
+ * @defgroup jdbo JulianDate Basic Operations
+ * Default and Copy Constructors, Assignment Operator and Destructor.
+ */
+ //@{
+ /**
+ * Default Constructor.
+ * All elements are initialized to zero.
+ */
+ JulianDate( long double j = 0. )
+ throw()
+ : jd( j )
+ {}
+
+ /**
+ * Copy Constructor.
+ * @param right a reference to the JulianDate object to copy
+ */
+ JulianDate( const JulianDate& right )
+ throw()
+ : jd( right.jd )
+ {}
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const TimeTag reference and copies its contents via
+ * conversion to CommonTime.
+ * @param right a const reference to the BasicTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ JulianDate( const TimeTag& right )
+ throw( gpstk::InvalidRequest )
+ {
+ convertFromCommonTime( right.convertToCommonTime() );
+ }
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const CommonTime reference and copies its contents via
+ * the convertFromCommonTime method.
+ * @param right a const reference to the CommonTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ JulianDate( const CommonTime& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right );
+ }
+
+ /**
+ * Assignment Operator.
+ * @param right a const reference to the JulianDate to copy
+ * @return a reference to this JulianDate
+ */
+ JulianDate& operator=( const JulianDate& right )
+ throw();
+
+ /// Virtual Destructor.
+ virtual ~JulianDate()
+ throw()
+ {}
+ //@}
+
+ // The following functions are required by TimeTag.
+ virtual CommonTime convertToCommonTime() const;
+
+ virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+ /// This function formats this time to a string. The exceptions
+ /// thrown would only be due to problems parsing the fmt string.
+ virtual std::string printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException );
+
+ /**
+ * Set this object using the information provided in \a info.
+ * @param info the IdToValue object to which this object shall be set.
+ * @return true if this object was successfully set using the
+ * data in \a info, false if not.
+ */
+ virtual bool setFromInfo( const IdToValue& info )
+ throw();
+
+ /// Return a string containing the characters that this class
+ /// understands when printing times.
+ virtual std::string getPrintChars() const
+ throw()
+ {
+ return printChars;
+ }
+
+ /// Return a string containing the default format to use in printing.
+ virtual std::string getDefaultFormat() const
+ throw()
+ {
+ return defaultFormat;
+ }
+
+ virtual bool isValid() const
+ throw();
+
+ /**
+ * @defgroup jdco JulianDate Comparison Operators
+ * All comparison operators have a parameter "right" which corresponds
+ * to the JulianDate object to the right of the symbol.
+ * All comparison operators are const and return true on success
+ * and false on failure.
+ */
+ //@{
+ bool operator==( const JulianDate& right ) const
+ throw();
+ bool operator!=( const JulianDate& right ) const
+ throw();
+ bool operator<( const JulianDate& right ) const
+ throw();
+ bool operator>( const JulianDate& right ) const
+ throw();
+ bool operator<=( const JulianDate& right ) const
+ throw();
+ bool operator>=( const JulianDate& right ) const
+ throw();
+ //@}
+
+ long double jd;
+ };
+
+} // namespace
+
+#endif // GPSTK_JULIANDATE_HPP
diff --git a/trunk/src/LinearClockModel.cpp b/trunk/src/LinearClockModel.cpp
new file mode 100644
index 0000000..61c2fe7
--- /dev/null
+++ b/trunk/src/LinearClockModel.cpp
@@ -0,0 +1,176 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/LinearClockModel.cpp#4 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file LinearClockModel.cpp
+ * This model is just a moving average of clock models over time. It
+ * really is quite bad and shouldn't be used at this time. Be warned!
+ */
+
+#include <math.h>
+#include "Stats.hpp"
+
+#include "LinearClockModel.hpp"
+
+namespace gpstk
+{
+ using namespace std;
+
+ void LinearClockModel::reset() throw()
+ {
+ startTime == gpstk::DayTime::END_OF_TIME;
+ endTime == gpstk::DayTime::BEGINNING_OF_TIME;
+ clockObs.clear();
+ prnStatus.clear();
+ clockModel.Reset();
+ tossCount=0;
+ }
+
+ void LinearClockModel::addEpoch(const ORDEpoch& oe)
+ throw(gpstk::InvalidValue)
+ {
+ ORDEpoch::ORDMap::const_iterator itr;
+ const gpstk::DayTime t=oe.time;
+
+ // Start off by getting an estimate of this epoch's clock
+ // note that this also sets the prn status map
+ gpstk::Stats<double> stat = simpleOrdClock(oe);
+ PRNStatusMap& statusMap = prnStatus[t];
+ statusMap = status;
+
+ double mean;
+ if (clockModel.N()==0)
+ {
+ double clkc = stat.Average();
+ startTime = endTime = baseTime = t;
+ tossCount = 0;
+ }
+
+ const double deltaT = t-baseTime;
+
+ if (t<startTime)
+ startTime=t;
+ if (t>endTime)
+ endTime=t;
+
+ if (clockModel.N()>24)
+ mean = clockModel.Slope()*deltaT + clockModel.Intercept();
+ else
+ mean = stat.Average();
+
+ if (std::abs(stat.Average() - mean) > 20)
+ {
+ cout << t
+ << " slope=" << setw(12) << clockModel.Slope()
+ << ", intercept=" << setw(8) << clockModel.Intercept()
+ << ", est=" << setw(8) << clockModel.Slope()*deltaT + clockModel.Intercept()
+ << ", N=" << setw(6) << clockModel.N()
+ << ", stdev=" << setw(6) << clockModel.StdDevY()
+ << endl;
+ tossCount++;
+ if (tossCount>5)
+ {
+ reset();
+ cout << "Reseting model" << endl;
+ }
+ }
+ else
+ {
+ tossCount=0;
+ for (itr = oe.ords.begin(); itr != oe.ords.end(); itr++)
+ if (statusMap[itr->second.getPRN()] == USED)
+ {
+ const double ord = itr->second.getORD();
+ clockModel.Add(deltaT, ord);
+ std::pair<const double,double> o(deltaT, ord);
+ clockObs.insert(o);
+ }
+ }
+
+ std::multimap<double,double>::iterator i1,i2;
+ i1 = clockObs.begin();
+ while (i1!=clockObs.end())
+ {
+ i2=i1;
+ i1++;
+ double dt = i2->first;
+ double ord = i2->second;
+ if ((deltaT - dt)>1800)
+ {
+ clockObs.erase(i2);
+ clockModel.Subtract(dt, ord);
+ }
+ else
+ break;
+ }
+ }
+
+ void LinearClockModel::dump(std::ostream& s, short detail) const throw()
+ {
+ s << "base: " << baseTime
+ << ", start: " << startTime
+ << ", end: " << endTime
+ << endl
+ << "Clock: est(end)=" << getOffset(endTime)
+ << ", n=" << clockModel.N()
+ << ", b=" << clockModel.Intercept()
+ << ", m=" << clockModel.Slope()
+ << ", sigma=" << clockModel.StdDevY()
+ << ", r=" << clockModel.Correlation()
+ << endl;
+
+ if (detail>0)
+ {
+ s << "min elev: " << elvmask
+ << ", max sigma: " << sigmam
+ << endl;
+
+ map<DayTime,PRNStatusMap>::const_iterator e = prnStatus.find(endTime);
+ const PRNStatusMap& statusMap = e->second;
+ PRNStatusMap::const_iterator i;
+ for ( i=statusMap.begin(); i!= statusMap.end(); i++)
+ s << i->first << "/" << i->second << " ";
+ s << endl;
+ }
+ }
+}
diff --git a/trunk/src/LinearClockModel.hpp b/trunk/src/LinearClockModel.hpp
new file mode 100644
index 0000000..4f201fb
--- /dev/null
+++ b/trunk/src/LinearClockModel.hpp
@@ -0,0 +1,109 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/LinearClockModel.hpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef LINEARCLOCKMODEL_HPP
+#define LINEARCLOCKMODEL_HPP
+
+#include <map>
+
+#include "Exception.hpp"
+
+#include "ObsClockModel.hpp"
+#include "ORDEpoch.hpp"
+
+/**
+ * @file LinearClockModel.hpp
+ * This model is just a moving average of clock models over time. It
+ * really is quite bad and shouldn't be used at this time. Be warned!
+ */
+
+namespace gpstk
+{
+ class LinearClockModel : public ObsClockModel
+ {
+ public:
+ LinearClockModel(double sigma = 2, double elmask = 0, PRNMode mode = ALWAYS)
+ :ObsClockModel(sigma, elmask, mode) {reset();};
+
+ virtual double getOffset(const gpstk::DayTime& t) const
+ throw()
+ {
+ if (!isOffsetValid(t))
+ return 0;
+ else
+ return clockModel.Slope()*(t-baseTime) + clockModel.Intercept();
+ };
+
+ virtual bool isOffsetValid(const gpstk::DayTime& t) const throw()
+ {return t >= startTime && t <= endTime && clockModel.N() > 1;};
+
+ /// Add in the given ord to the clock model
+ virtual void addEpoch(const ORDEpoch& oe) throw(gpstk::InvalidValue);
+
+ /// Reset the accumulated statistics on the clock
+ void reset() throw();
+
+ void dump(std::ostream& s, short detail=1) const throw();
+
+ friend std::ostream& operator<<(std::ostream& s, const LinearClockModel& r)
+ { r.dump(s, 0); return s; };
+
+ private:
+ // x is time y is clock offset
+ gpstk::TwoSampleStats<double> clockModel;
+
+ gpstk::DayTime startTime, endTime, baseTime;
+
+ unsigned long tossCount;
+
+ // This is were we store what PRNs were used to compute the individual
+ // clock observations
+ std::map<gpstk::DayTime, PRNStatusMap> prnStatus;
+
+ // This is a store of the clock observations that were added into the
+ // clockModel object
+ std::multimap<double,double> clockObs;
+ };
+
+}
+#endif
diff --git a/trunk/src/LoopedFramework.cpp b/trunk/src/LoopedFramework.cpp
new file mode 100644
index 0000000..2a576a7
--- /dev/null
+++ b/trunk/src/LoopedFramework.cpp
@@ -0,0 +1,66 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/LoopedFramework.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file LoopedFramework.cpp
+ * Basic framework for programs processing loops in the GPS toolkit
+ */
+
+#include "LoopedFramework.hpp"
+
+namespace gpstk
+{
+ using namespace gpstk;
+
+ void LoopedFramework :: completeProcessing()
+ {
+ additionalSetup();
+
+ spinUp();
+
+ while (!timeToDie)
+ process();
+
+ } // LoopedFramework::run()
+
+} // namespace sglmsn
diff --git a/trunk/src/LoopedFramework.hpp b/trunk/src/LoopedFramework.hpp
new file mode 100644
index 0000000..155c77c
--- /dev/null
+++ b/trunk/src/LoopedFramework.hpp
@@ -0,0 +1,107 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/LoopedFramework.hpp#1 $"
+
+/**
+ * @file LoopedFramework.hpp
+ * Basic framework for programs processing loops in the GPS toolkit
+ */
+
+#ifndef LOOPEDFRAMEWORK_HPP
+#define LOOPEDFRAMEWORK_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "BasicFramework.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup appframegroup */
+ //@{
+
+ /**
+ * This is a basic framework for programs processing in loops in
+ * the GPSTK.
+ *
+ * The end user should define subclasses of this class,
+ * implementing those methods described as being meant to be
+ * overridden.
+ *
+ * In use, the user will construct an object of the class
+ * derived from this, then call the initialize() and run()
+ * methods in that order.
+ */
+ class LoopedFramework : public BasicFramework
+ {
+ public:
+ /**
+ * Constructor for LoopedFramework.
+ * @param applName name of the program (argv[0]).
+ * @param applDesc text description of program's function
+ * (used by CommandOption help).
+ */
+ LoopedFramework(const std::string& applName,
+ const std::string& applDesc)
+ throw()
+ : BasicFramework(applName, applDesc), timeToDie(false)
+ { }
+
+ /// Destructor.
+ virtual ~LoopedFramework() {}
+
+ protected:
+ bool timeToDie; ///< if set to true, the loop will terminate
+
+ /**
+ * Called by the run() method, calls additionalSetup(),
+ * spinUp(), and process(), in that order.
+ */
+ virtual void completeProcessing();
+
+ private:
+ // Do not allow the use of the default constructor.
+ LoopedFramework();
+ }; // class LoopedFramework
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/MJD.cpp b/trunk/src/MJD.cpp
new file mode 100644
index 0000000..1c21751
--- /dev/null
+++ b/trunk/src/MJD.cpp
@@ -0,0 +1,135 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MJD.cpp#3 $"
+
+#include "MJD.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+ const std::string MJD::printChars( "Q" );
+ const std::string MJD::defaultFormat( "%Q" );
+
+ MJD& MJD::operator=( const MJD& right )
+ throw()
+ {
+ mjd = right.mjd;
+ return *this;
+ }
+
+ CommonTime MJD::convertToCommonTime() const
+ {
+ // convert to Julian Day
+ long double tmp( mjd + MJD_JDAY );
+ // get the whole number of days
+ long jday( static_cast<long>( tmp ) );
+ // tmp now holds the partial days
+ tmp -= static_cast<long>( tmp );
+ // convert tmp to seconds of day
+ tmp *= SEC_PER_DAY;
+
+ return CommonTime( jday,
+ static_cast<long>( tmp ),
+ tmp - static_cast<long>( tmp ) );
+ }
+
+ void MJD::convertFromCommonTime( const CommonTime& ct )
+ {
+ long jday, sod;
+ double fsod;
+ ct.get( jday, sod, fsod );
+
+ mjd = static_cast<long double>( jday - MJD_JDAY ) +
+ ( static_cast<long double>( sod )
+ + static_cast<long double>( fsod ) ) * DAY_PER_SEC;
+ }
+
+ std::string MJD::printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using gpstk::StringUtils::formattedPrint;
+ std::string rv( fmt );
+
+ rv = formattedPrint( rv, formatPrefixFloat + "Q",
+ "QLf", mjd );
+ return rv;
+ }
+ catch( gpstk::StringUtils::StringException& se )
+ {
+ GPSTK_RETHROW( se );
+ }
+ }
+
+ bool MJD::setFromInfo( const IdToValue& info )
+ throw()
+ {
+ using namespace gpstk::StringUtils;
+
+ IdToValue::const_iterator itr = info.find('Q');
+ if( itr != info.end() )
+ {
+ mjd = gpstk::StringUtils::asLongDouble( itr->second );
+ return true;
+ }
+
+ return false;
+ }
+
+ bool MJD::isValid() const
+ throw()
+ {
+ MJD temp;
+ temp.convertFromCommonTime( convertToCommonTime() );
+ if( *this == temp )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool MJD::operator==( const MJD& right ) const
+ throw()
+ {
+ if( mjd == right.mjd )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool MJD::operator!=( const MJD& right ) const
+ throw()
+ {
+ return ( !operator==( right ) );
+ }
+
+ bool MJD::operator<( const MJD& right ) const
+ throw()
+ {
+ if( mjd < right.mjd )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool MJD::operator>( const MJD& right ) const
+ throw()
+ {
+ return ( !operator<=( right ) );
+ }
+
+ bool MJD::operator<=( const MJD& right ) const
+ throw()
+ {
+ return ( operator<( right ) ||
+ operator==( right ) );
+ }
+
+ bool MJD::operator>=( const MJD& right ) const
+ throw()
+ {
+ return ( !operator<( right ) );
+ }
+
+} // namespace
diff --git a/trunk/src/MJD.hpp b/trunk/src/MJD.hpp
new file mode 100644
index 0000000..a0c66d5
--- /dev/null
+++ b/trunk/src/MJD.hpp
@@ -0,0 +1,146 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MJD.hpp#2 $"
+
+#ifndef GPSTK_MJD_HPP
+#define GPSTK_MJD_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+ /**
+ * This class encapsulates the "Modified Julian Date" time representation.
+ */
+ class MJD : public TimeTag
+ {
+ public:
+ static const std::string printChars;
+ static const std::string defaultFormat;
+
+ /**
+ * @defgroup mjdbo MJD Basic Operations
+ * Default and Copy Constructors, Assignment Operator and Destructor.
+ */
+ //@{
+ /**
+ * Default Constructor.
+ * All elements are initialized to zero.
+ */
+ MJD( long double m = 0. )
+ throw()
+ : mjd( m )
+ {}
+
+ /**
+ * Copy Constructor.
+ * @param right a reference to the MJD object to copy
+ */
+ MJD( const MJD& right )
+ throw()
+ : mjd( right.mjd )
+ {}
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const TimeTag reference and copies its contents via
+ * conversion to CommonTime.
+ * @param right a const reference to the BasicTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ MJD( const TimeTag& right )
+ throw( gpstk::InvalidRequest )
+ {
+ convertFromCommonTime( right.convertToCommonTime() );
+ }
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const CommonTime reference and copies its contents via
+ * the convertFromCommonTime method.
+ * @param right a const reference to the CommonTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ MJD( const CommonTime& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right );
+ }
+
+ /**
+ * Assignment Operator.
+ * @param right a const reference to the MJD to copy
+ * @return a reference to this MJD
+ */
+ MJD& operator=( const MJD& right )
+ throw();
+
+ /// Virtual Destructor.
+ virtual ~MJD()
+ throw()
+ {}
+ //@}
+
+ // The following functions are required by TimeTag.
+ virtual CommonTime convertToCommonTime() const;
+
+ virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+ /// This function formats this time to a string. The exceptions
+ /// thrown would only be due to problems parsing the fmt string.
+ virtual std::string printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException );
+
+ /**
+ * Set this object using the information provided in \a info.
+ * @param info the IdToValue object to which this object shall be set.
+ * @return true if this object was successfully set using the
+ * data in \a info, false if not.
+ */
+ virtual bool setFromInfo( const IdToValue& info )
+ throw();
+
+ /// Return a string containing the characters that this class
+ /// understands when printing times.
+ virtual std::string getPrintChars() const
+ throw()
+ {
+ return printChars;
+ }
+
+ /// Return a string containing the default format to use in printing.
+ virtual std::string getDefaultFormat() const
+ throw()
+ {
+ return defaultFormat;
+ }
+
+ virtual bool isValid() const
+ throw();
+
+ /**
+ * @defgroup mjdco MJD Comparison Operators
+ * All comparison operators have a parameter "right" which corresponds
+ * to the MJD object to the right of the symbol.
+ * All comparison operators are const and return true on success
+ * and false on failure.
+ */
+ //@{
+ bool operator==( const MJD& right ) const
+ throw();
+ bool operator!=( const MJD& right ) const
+ throw();
+ bool operator<( const MJD& right ) const
+ throw();
+ bool operator>( const MJD& right ) const
+ throw();
+ bool operator<=( const MJD& right ) const
+ throw();
+ bool operator>=( const MJD& right ) const
+ throw();
+ //@}
+
+ long double mjd;
+ };
+
+} // namespace
+
+#endif // GPSTK_MJD_HPP
diff --git a/trunk/src/MSCData.cpp b/trunk/src/MSCData.cpp
new file mode 100644
index 0000000..ee49b62
--- /dev/null
+++ b/trunk/src/MSCData.cpp
@@ -0,0 +1,133 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MSCData.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file MSCData.cpp
+ * Monitor station coordinate file data
+ */
+
+#include <math.h>
+#include "MSCData.hpp"
+#include "MSCStream.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+
+ static const unsigned long SEC_YEAR = (unsigned long)(365.25 * gpstk::DayTime::SEC_DAY);
+
+ void MSCData::reallyPutRecord(gpstk::FFStream & ffs) const
+ throw(std::exception, gpstk::FFStreamError, StringException)
+ {
+ MSCStream& strm = dynamic_cast<MSCStream&>(ffs);
+
+ string line;
+
+ line += rightJustify(asString<short>(time.DOYyear()), 4);
+ line += rightJustify(asString<short>(time.DOYday()), 3 , '0');
+ line += rightJustify(asString<long>(station), 5);
+ line += leftJustify(mnemonic, 7);
+ double repoch = refepoch.DOYyear()
+ + (refepoch.DOYday() * gpstk::DayTime::SEC_DAY
+ + refepoch.DOYsecond()) / SEC_YEAR;
+ line += rightJustify(asString(repoch, 6), 7);
+ double eepoch = effepoch.DOYyear()
+ + (effepoch.DOYday() * gpstk::DayTime::SEC_DAY
+ + effepoch.DOYsecond()) / SEC_YEAR;
+ line += rightJustify(asString(eepoch, 6), 7);
+ line += rightJustify(asString(coordinates[0], 10), 12);
+ line += rightJustify(asString(coordinates[1], 10), 12);
+ line += rightJustify(asString(coordinates[2], 10), 12);
+ line += rightJustify(asString(velocities[0], 5), 7);
+ line += rightJustify(asString(velocities[1], 5), 7);
+ line += rightJustify(asString(velocities[2], 5), 7);
+
+ ffs << line << endl;
+ strm.lineNumber++;
+ }
+
+ void MSCData::reallyGetRecord(gpstk::FFStream& ffs)
+ throw(std::exception, gpstk::FFStreamError,
+ gpstk::StringUtils::StringException)
+ {
+ MSCStream& strm = dynamic_cast<MSCStream&>(ffs);
+
+ string currentLine;
+
+ strm.formattedGetLine(currentLine, true);
+ int len = currentLine.length();
+
+ short year = asInt(currentLine.substr(0, 4));
+ short day = asInt(currentLine.substr(4, 3));
+ time.setYDoySod(year, day, 0.0);
+
+ station = asInt(currentLine.substr(7, 5));
+ mnemonic = currentLine.substr(12, 7);
+
+ double epoch, intg, frac, sod;
+ short doy;
+
+ // can't have DOY 0, so use doy + 1 when generating times
+ epoch = asDouble(currentLine.substr(19, 7));
+ frac = modf(epoch, &intg);
+ doy = (short)(frac * SEC_YEAR / gpstk::DayTime::SEC_DAY);
+ sod = (short)((frac * gpstk::DayTime::SEC_DAY) - (doy * gpstk::DayTime::SEC_DAY));
+ refepoch = gpstk::DayTime((short)intg, doy+1, sod);
+
+ epoch = asDouble(currentLine.substr(26, 7));
+ frac = modf(epoch, &intg);
+ doy = (short)(frac * SEC_YEAR / gpstk::DayTime::SEC_DAY);
+ sod = (frac * gpstk::DayTime::SEC_DAY) - (doy * gpstk::DayTime::SEC_DAY);
+ effepoch = gpstk::DayTime((short)intg, doy+1, sod);
+
+ coordinates[0] = asDouble(currentLine.substr(33, 12));
+ coordinates[1] = asDouble(currentLine.substr(45, 12));
+ coordinates[2] = asDouble(currentLine.substr(57, 12));
+
+ velocities[0] = asDouble(currentLine.substr(69, 7));
+ velocities[1] = asDouble(currentLine.substr(76, 7));
+ velocities[2] = asDouble(currentLine.substr(83, 7));
+ }
+}
diff --git a/trunk/src/MSCData.hpp b/trunk/src/MSCData.hpp
new file mode 100644
index 0000000..54bc738
--- /dev/null
+++ b/trunk/src/MSCData.hpp
@@ -0,0 +1,112 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MSCData.hpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file MSCData.hpp
+ * Monitor station coordinate file data
+ */
+
+#ifndef MSCDATA_HPP
+#define MSCDATA_HPP
+
+#include <string>
+#include "StringUtils.hpp"
+#include "Triple.hpp"
+#include "ECEF.hpp"
+#include "DayTime.hpp"
+#include "FFData.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup icd211group ICD-GPS-211 Classes */
+ //@{
+
+ /**
+ * Model for a Monitor Station Coordinates File Data Record
+ */
+ class MSCData : public gpstk::FFData
+ {
+ public:
+ /// constructor
+ MSCData() throw() : time(gpstk::DayTime(0.L)) {}
+
+ /// destructor
+ virtual ~MSCData() throw() {}
+
+ gpstk::DayTime time; ///< date of coordinates release from NIMA
+ unsigned long station; ///< NIMA Monitor Station number (e.g. 85408)
+ std::string mnemonic; ///< NIMA Monitor Station identifier (e.g. ARLM)
+ gpstk::DayTime refepoch; ///< epoch of coordinates and velocities
+ gpstk::DayTime effepoch; ///< earliest epoch data is valid
+ gpstk::ECEF coordinates; ///< ECEF XYZ coordinates
+ gpstk::Triple velocities; ///< XYZ velocities
+
+ /// MSCData \b is data, so this always return \c true
+ virtual bool isData() const { return true; }
+
+ protected:
+ /// Write an MSCData object in the format specified by the stream
+ virtual void reallyPutRecord(gpstk::FFStream& ffs) const
+ throw(std::exception, gpstk::FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ /**
+ * Retrieve an MSCData record from the given gpstk::FFStream.
+ * If there is a problem reading from the stream, it
+ * is reset to its original position and it's failbit is set.
+ * @throws StringException when a gpstk::StringUtils functions fails
+ * @throws gpstk::FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to it pre-read position.
+ */
+ virtual void reallyGetRecord(gpstk::FFStream& ffs)
+ throw(std::exception, gpstk::FFStreamError,
+ gpstk::StringUtils::StringException);
+ }; // class MSCData
+
+ //@}
+
+} // namespace gpstk
+
+#endif
+
diff --git a/trunk/src/MSCStream.hpp b/trunk/src/MSCStream.hpp
new file mode 100644
index 0000000..98a873e
--- /dev/null
+++ b/trunk/src/MSCStream.hpp
@@ -0,0 +1,85 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MSCStream.hpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file MSCStream.hpp
+ * Read/Write Monitorm station coordinate file data
+ */
+
+#ifndef MSCSTREAM_HPP
+#define MSCSTREAM_HPP
+
+#include "FFTextStream.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup icd211group ICD-GPS-211 Classes */
+ //@{
+
+ /// Stream used to obtain data from a Monitor Station Coordinates File
+ class MSCStream : public gpstk::FFTextStream
+ {
+ public:
+ /// Default constructor
+ MSCStream() {}
+
+ /**
+ * Constructor.
+ * @param fn the file to open
+ * @param mode the ios::openmode to use in opening \a fn
+ */
+ MSCStream(const char* fn, std::ios::openmode mode=std::ios::in)
+ throw()
+ : gpstk::FFTextStream(fn, mode)
+ {}
+
+ /// Destructor
+ virtual ~MSCStream() {}
+
+ }; // class MSCStream
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/Makefile.am b/trunk/src/Makefile.am
new file mode 100644
index 0000000..e69de29
diff --git a/trunk/src/Makefile.in b/trunk/src/Makefile.in
new file mode 100644
index 0000000..74b7245
--- /dev/null
+++ b/trunk/src/Makefile.in
@@ -0,0 +1,309 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 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.
+
+ at SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+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 = src
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+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 \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$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
+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:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/src/MathBase.hpp b/trunk/src/MathBase.hpp
new file mode 100644
index 0000000..74fd754
--- /dev/null
+++ b/trunk/src/MathBase.hpp
@@ -0,0 +1,56 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MathBase.hpp#3 $"
+
+/**
+ * @file MathBase.hpp
+ * Basic math #defines (ABS, SQRT, etc)
+ */
+
+#ifndef GPSTK_MATH_BASE_HPP
+#define GPSTK_MATH_BASE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//@fix MSVC doesnt like std::sqrt or std::abs, and disabling
+//extensions allows abs(double) to be used instead of fabs()
+#ifdef _MSC_VER
+#undef _MSC_EXTENSIONS
+#endif
+#include <cmath>
+#ifdef _MSC_VER
+#define _MSC_EXTENSIONS
+#endif
+
+namespace gpstk
+{
+// do Doxygen elsewhere
+#ifdef _MSC_VER
+#define ABS(x) ::abs(x)
+#define SQRT(x) ::sqrt(x)
+#else
+#define ABS(x) std::abs(x)
+#define SQRT(x) std::sqrt(x)
+#endif
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/Matrix.hpp b/trunk/src/Matrix.hpp
new file mode 100644
index 0000000..fd58456
--- /dev/null
+++ b/trunk/src/Matrix.hpp
@@ -0,0 +1,710 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Matrix.hpp#2 $"
+
+/**
+ * @file Matrix.hpp
+ * Basic Matrix algorithms
+ */
+
+#ifndef GPSTK_MATRIX_HPP
+#define GPSTK_MATRIX_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "Vector.hpp"
+#include "MatrixBase.hpp"
+
+namespace gpstk
+{
+
+ /** @defgroup VectorGroup Vector and Matrix mathematics */
+ //@{
+
+// forward declarations
+ template <class T> class MatrixRowSlice;
+ template <class T> class ConstMatrixRowSlice;
+ template <class T> class MatrixColSlice;
+ template <class T> class ConstMatrixColSlice;
+
+
+/**
+ * An implementation of a matrix class using Vector<T> as its internal basis.
+ * This class is STL compliant with the iterator proceeding in row major order.
+ * Operators +=, -=, *= and /= are implemented in RefMatrixBase.
+ *
+ * @sa matvectest.cpp for examples
+ */
+ template <class T>
+ class Matrix : public RefMatrixBase<T, Matrix<T> >
+ {
+ public:
+ /// STL value_type
+ typedef typename Vector<T>::value_type value_type;
+ /// STL reference type
+ typedef typename Vector<T>::reference reference;
+ /// STL const reference type
+ typedef typename Vector<T>::const_reference const_reference;
+ /// STL iterator type
+ typedef typename Vector<T>::iterator iterator;
+ /// STL const iterator type
+ typedef typename Vector<T>::const_iterator const_iterator;
+
+ /// default constructor
+ Matrix();
+ /// constructor given an initial size
+ Matrix(size_t rows, size_t cols);
+ /// constructor for an initial size and value
+ Matrix(size_t rows, size_t cols, T initialValue);
+ /// copies out the contents of vec to initialize the matrix
+ Matrix(size_t rows, size_t cols, const T* vec);
+ /// copies out the contents of vec to initialize the matrix
+ template <class BaseClass>
+ Matrix(size_t rows, size_t cols, const ConstVectorBase<T, BaseClass>& vec)
+ : v(vec), r(rows), c(cols), s(rows * cols)
+ {}
+ /// constructor for a ConstMatrixBase object
+ template <class BaseClass>
+ Matrix(const ConstMatrixBase<T, BaseClass>& mat)
+ : v(mat.size()), r(mat.rows()), c(mat.cols()), s(mat.size())
+ {
+ size_t i,j;
+ for(i = 0; i < r; i++)
+ for(j = 0; j < c; j++)
+ (*this)(i,j) = mat(i, j);
+ }
+
+ /// submatrix constructor
+ template <class BaseClass>
+ Matrix(const ConstMatrixBase<T, BaseClass>& mat, size_t topRow,
+ size_t topCol, size_t numRows, size_t numCols)
+ : v((size_t)0), r(0), c(0), s(0)
+ {
+ // sanity checks...
+ if ( (topCol > mat.cols()) ||
+ (topRow > mat.rows()) ||
+ ((topRow + numRows) > mat.rows()) ||
+ ((topCol + numCols) > mat.cols()) )
+ {
+ MatrixException e("Invalid dimensions or size for Matrix(MatrixBase)");
+ GPSTK_THROW(e);
+ }
+
+ // seems ok - make the valarray and copy column by column
+ r = numRows;
+ c = numCols;
+ s = r * c;
+ v.resize(r * c);
+ size_t i, j;
+ for(i = 0; i < r; i++)
+ for(j = 0; j < c; j++)
+ (*this)(i,j) = mat(topRow + i, topCol + j);
+ }
+
+ /// STL begin
+ iterator begin() { return v.begin(); }
+ /// STL const begin
+ const_iterator begin() const { return v.begin(); }
+ /// STL end
+ iterator end() { return v.end(); }
+ /// STL const end
+ const_iterator end() const { return v.end(); }
+ /// STL front
+ value_type front() { return v.front(); }
+ /// STL const front
+ const_reference front() const { return v.front();}
+ /// STL empty
+ bool empty() const { return s == 0; }
+ /// STL size
+ size_t size() const {return s; }
+ /// STL max size
+ size_t max_size() const { return s; }
+
+ /// The number of rows in the matrix
+ inline size_t rows() const { return r; }
+ /// The number of columns in the matrix
+ inline size_t cols() const { return c; }
+ /// A reference slice of a row with a given std::slice
+ inline MatrixRowSlice<T> rowRef(size_t rowNum, const std::slice& s);
+ /// A reference slice of a row with a starting column (i.e. sub-row)
+ inline MatrixRowSlice<T> rowRef(size_t rowNum, size_t colNum = 0);
+ /// A const reference slice of a row with a given std::slice
+ inline ConstMatrixRowSlice<T> row(size_t rowNum, const std::slice& s) const;
+ /// A const reference slice of a row with a starting column (i.e. sub-row)
+ inline ConstMatrixRowSlice<T> row(size_t rowNum, size_t colNum = 0) const;
+
+ /// A reference column with a given slice
+ inline MatrixColSlice<T> colRef(size_t colNum, const std::slice& s);
+ /// A reference column with a starting row number (i.e. sub-column)
+ inline MatrixColSlice<T> colRef(size_t colNum, size_t rowNum = 0);
+ /// A const reference column with a given slice
+ inline ConstMatrixColSlice<T> col(size_t colNum, const std::slice& s) const;
+ /// A const reference column with a starting row number (i.e. sub-column)
+ inline ConstMatrixColSlice<T> col(size_t colNum, size_t rowNum = 0) const;
+
+ /// Non-const matrix operator(row,col)
+ inline T& operator() (size_t rowNum, size_t colNum)
+ { return v(rowNum + colNum * r); }
+ /// Const matrix operator(row,col)
+ inline T operator() (size_t rowNum, size_t colNum) const
+ { return v(rowNum + colNum * r); }
+ /// operator[] that returns a row slice
+ inline MatrixRowSlice<T> operator[] (size_t row)
+ { return rowRef(row); }
+ /// const operator[] that returns a const row slice
+ inline ConstMatrixRowSlice<T> operator[] (size_t rowNum) const
+ { return row(rowNum);}
+
+ /// Resizes the matrix to rows*cols.
+ /// @warning YOUR DATA MAY NOT BE RETAINED!!!
+ inline Matrix& resize(size_t rows, size_t cols);
+
+ inline Matrix& resize(size_t rows, size_t cols,
+ const T initialValue);
+
+ /**
+ * Assigns this matrix to a T* in column major order.
+ * @warning be careful that array is as large as the matrix is!
+ */
+ inline Matrix& operator=(const T* array)
+ { return assignFrom(array); }
+ /// Assigns the contents of this matrix to those in array in column
+ /// major order.
+ inline Matrix& operator=(const std::valarray<T> array)
+ { return assignFrom(array); }
+ /// Assigns all elements of the matrix to \c t.
+ inline Matrix& operator=(const T t)
+ { return assignFrom(t); }
+ /// Copies the other matrix.
+ inline Matrix& operator=(const Matrix& mat)
+ { v = mat.v; r = mat.r; c = mat.c; s = mat.s; return *this; }
+ /// Copies from any matrix.
+ template <class BaseClass>
+ inline Matrix& operator=(const ConstMatrixBase<T, BaseClass>& mat)
+ {
+ v.resize(mat.size());
+ r=mat.rows();
+ c=mat.cols();
+ s=mat.size();
+ return assignFrom(mat);
+ }
+ /// Copies from any vector.
+ template <class BaseClass>
+ inline Matrix& operator=(const ConstVectorBase<T, BaseClass>& mat)
+ { return assignFrom(mat); }
+
+ private:
+ /// the matrix stored in column major order
+ Vector<T> v;
+ size_t r, ///< the number of rows
+ c, ///< the number of columns
+ s; ///< the overall size
+ };
+
+/**
+ * An assignable slice of a matrix.
+ */
+ template <class T>
+ class MatrixSlice : public RefMatrixSliceBase<T, MatrixSlice<T> >
+ {
+ public:
+ /// default constructor
+ MatrixSlice() : m(NULL), rSlice(std::slice(0,0,0)),
+ cSlice(std::slice(0,0,0)), s(0)
+ {}
+
+ /// Makes a slice of the whole matrix.
+ MatrixSlice(Matrix<T>& mat)
+ : m(&mat), rSlice(std::slice(0, mat.rows(), 1)),
+ cSlice(std::slice(0,mat.cols(), 1)), s(mat.size())
+ {
+ matSliceCheck(mat.rows(), mat.cols());
+ }
+
+ /// Makes a partial slice of a matrix.
+ MatrixSlice(Matrix<T>& mat, const std::slice& rowSlice,
+ const std::slice& colSlice)
+ : m(&mat), rSlice(rowSlice), cSlice(colSlice),
+ s(rSlice.size() * cSlice.size())
+ {
+ matSliceCheck(mat.rows(), mat.cols());
+ }
+
+ /// Submatrix slice.
+ MatrixSlice(Matrix<T>& mat, size_t topRow, size_t topCol,
+ size_t numRows, size_t numCols)
+ : m(&mat), rSlice(std::slice(topRow, numRows, 1)),
+ cSlice(std::slice(topCol, numCols, 1)),
+ s(rSlice.size() * cSlice.size())
+ {
+ matSliceCheck(mat.rows(), mat.cols());
+ }
+
+ /// Copies from x to (*this).
+ template <class V>
+ MatrixSlice& operator=(const ConstMatrixBase<T, V>& x)
+ { return assignFrom(x); }
+
+ /// Copies from x to (*this).
+ template <class V>
+ MatrixSlice& operator=(const ConstVectorBase<T, V>& x)
+ { return assignFrom(x); }
+
+ /// Copies from x to (*this).
+ MatrixSlice& operator=(const std::valarray<T>& x)
+ { return assignFrom(x); }
+ /// Copies from x to (*this).
+ MatrixSlice& operator=(const T x)
+ { return assignFrom(x); }
+ /// Copies from x to (*this).
+ MatrixSlice& operator=(const T* x)
+ { return assignFrom(x); }
+
+ /// returns the size of this slice
+ size_t size() const { return s; }
+ /// returns the number of columns in the slice
+ size_t cols() const { return colSize(); }
+ /// returns the number of rows in the slice
+ size_t rows() const { return rowSize(); }
+ /// returns the (i,j) element of the slice.
+ T& operator() (size_t i, size_t j)
+ { return (*m)(i * rowStride() + rowStart(),
+ j * colStride() + colStart()); }
+ /// returns the (i,j) element of the slice, const version.
+ T operator() (size_t i, size_t j) const
+ { return (*m)(i * rowStride() + rowStart(),
+ j * colStride() + colStart()); }
+
+
+ /// returns the number of rows in this slice
+ size_t rowSize() const { return rSlice.size(); }
+ /// returns the starting row in the base matrix of this slice
+ size_t rowStart() const{ return rSlice.start(); }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t rowStride() const { return rSlice.stride(); }
+ /// returns the number of columns in this slice
+ size_t colSize() const { return cSlice.size(); }
+ /// returns the starting row in the base matrix of this slice
+ size_t colStart() const { return cSlice.start(); }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t colStride() const { return cSlice.stride(); }
+
+ private:
+ /// The matrix this slice refers to
+ Matrix<T>* m;
+ std::slice rSlice, ///< a row slice
+ cSlice; ///< a column slice
+ size_t s; ///< the overall size
+ };
+
+/**
+ * An unmodifiable matrix slice.
+ */
+ template <class T>
+ class ConstMatrixSlice : public ConstMatrixSliceBase<T, ConstMatrixSlice<T> >
+ {
+ public:
+ /// default constructor
+ ConstMatrixSlice(void) : m(NULL), rSlice(std::slice(0,0,0)),
+ cSlice(std::slice(0,0,0)), s(0)
+ {}
+
+ /// makes a const slice of the whole matrix
+ ConstMatrixSlice(const Matrix<T>& mat)
+ : m(&mat), rSlice(std::slice(0, mat.rows(), 1)),
+ cSlice(std::slice(0,mat.cols(), 1)), s(mat.size())
+ {
+ matSliceCheck(mat.rows(), mat.cols());
+ }
+
+ /// makes a slice given std::slices for rows and columns
+ ConstMatrixSlice(const Matrix<T>& mat, const std::slice& rowSlice,
+ const std::slice& colSlice)
+ : m(&mat), rSlice(rowSlice), cSlice(colSlice),
+ s(rSlice.size() * cSlice.size())
+ {
+ matSliceCheck(mat.rows(), mat.cols());
+ }
+
+ /// submatrix slice
+ ConstMatrixSlice(const Matrix<T>& mat, size_t topRow, size_t topCol,
+ size_t numRows, size_t numCols)
+ : m(&mat), rSlice(std::slice(topRow, numRows, 1)),
+ cSlice(std::slice(topCol, numCols, 1)),
+ s(rSlice.size() * cSlice.size())
+ {
+ matSliceCheck(mat.rows(), mat.cols());
+ }
+
+ /// the size of the slice
+ size_t size() const { return s; }
+ /// the number of columns in the slice
+ size_t cols() const { return colSize(); }
+ /// the number of rows in the slice
+ size_t rows() const { return rowSize(); }
+ /// the (i,j) element of the slice, const.
+ T operator() (size_t i, size_t j) const
+ { return (*m)(i * rowStride() + rowStart(),
+ j * colStride() + colStart()); }
+
+ /// returns the number of rows in this slice
+ size_t rowSize() const { return rSlice.size(); }
+ /// returns the starting row in the base matrix of this slice
+ size_t rowStart() const{ return rSlice.start(); }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t rowStride() const { return rSlice.stride(); }
+ /// returns the number of columns in this slice
+ size_t colSize() const { return cSlice.size(); }
+ /// returns the starting row in the base matrix of this slice
+ size_t colStart() const { return cSlice.start(); }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t colStride() const { return cSlice.stride(); }
+ private:
+ /// the matrix this slice refers to.
+ const Matrix<T>* m;
+ std::slice rSlice, ///< the row slice
+ cSlice; ///< the column slice
+ size_t s; ///< the size of the slice
+ };
+
+/**
+ * an assignable single column slice of a matrix
+ */
+ template <class T>
+ class MatrixColSlice : public RefMatrixSliceBase<T, MatrixColSlice<T> >
+ {
+ public:
+ /// default constructor
+ MatrixColSlice() : m(NULL), c(0), rSlice(std::slice(0,0,0)) {}
+ /// makes a slice of the column \c col from matrix \c mat.
+ MatrixColSlice(Matrix<T>& mat, size_t col)
+ : m(&mat), c(col), rSlice(std::slice(0,mat.rows(),1))
+ {
+ matSliceCheck(mat.rows(), mat.cols());
+ }
+ /// makes a slice of the column from the matrix using \c s to
+ /// further slice the column.
+ MatrixColSlice(Matrix<T>& mat, size_t col, const std::slice& s)
+ : m(&mat), c(col), rSlice(s)
+ {
+ // decide if the input is reasonable
+ matSliceCheck(mat.rows(), mat.cols());
+ }
+
+ /// assigns this column to x
+ template <class V>
+ MatrixColSlice& operator=(const ConstMatrixBase<T, V>& x)
+ { return assignFrom(x); }
+
+ /// assigns this column to x
+ template <class V>
+ MatrixColSlice& operator=(const ConstVectorBase<T, V>& x)
+ { return assignFrom(x); }
+ /// assigns this column to x
+ MatrixColSlice& operator=(const std::valarray<T>& x)
+ { return assignFrom(x); }
+ /// assigns this column to x
+ MatrixColSlice& operator=(const T x)
+ { return assignFrom(x); }
+ /// assigns this column to x
+ MatrixColSlice& operator=(const T* x)
+ { return assignFrom(x); }
+
+ /// returns the i'th element of the column, non-const
+ T& operator[] (size_t i)
+ { return (*m)(rowStart() + i * rowStride(), c); }
+ /// returns the i'th element of the column, non-const
+ T& operator() (size_t i)
+ { return (*m)(rowStart() + i * rowStride(), c); }
+ /// returns the i'th element of the column, const
+ T operator[] (size_t i) const
+ { return (*m)(rowStart() + i * rowStride(), c); }
+ /// returns the i'th element of the column, const
+ T operator() (size_t i) const
+ { return (*m)(rowStart() + i * rowStride(), c); }
+
+ /// returns the (i,j) element, non-const
+ T& operator() (size_t i, size_t j)
+ { return (*m)(rowStart() + i * rowStride(), j + c); }
+ /// returns the (i,j) element, non-const
+ T operator() (size_t i, size_t j) const
+ { return (*m)(rowStart() + i * rowStride(), j + c); }
+
+ /// returns the number of rows in the slice
+ size_t rows() const {return size();}
+ /// returns the number of columns in the slice
+ size_t cols() const {return 1;}
+ /// returns the size of the slice
+ size_t size() const {return rowSize();}
+
+ /// returns the number of rows in this slice
+ size_t rowSize() const { return rSlice.size(); }
+ /// returns the starting row in the base matrix of this slice
+ size_t rowStart() const{ return rSlice.start(); }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t rowStride() const { return rSlice.stride(); }
+ /// returns the number of columns in this slice
+ size_t colSize() const { return 1; }
+ /// returns the starting row in the base matrix of this slice
+ size_t colStart() const { return c; }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t colStride() const { return 1; }
+
+ private:
+ /// the matrix this slice refers to.
+ Matrix<T>* m;
+ /// the column this slice is for
+ size_t c;
+ /// slice down the rows
+ std::slice rSlice;
+
+ };
+
+/**
+ * a constant slice of a single column from a matrix.
+ */
+ template <class T>
+ class ConstMatrixColSlice : public ConstMatrixSliceBase<T, ConstMatrixColSlice<T> >
+ {
+ public:
+ /// default constructor
+ ConstMatrixColSlice()
+ : m(NULL), c(0), rSlice(std::slice(0,0,0))
+ {}
+
+ /// constructor taking a slice of column \c col from the matrix.
+ ConstMatrixColSlice(const Matrix<T>& mat, size_t col)
+ : m(&mat), c(col), rSlice(std::slice(0,mat.rows(),1))
+ { matSliceCheck(mat.rows(), mat.cols()); }
+
+ /// constructor taking a slice of column \c col from the matrix,
+ /// slicing the column by \c s.
+ ConstMatrixColSlice(const Matrix<T>& mat, size_t col,
+ const std::slice& s)
+ : m(&mat), c(col), rSlice(s)
+ {
+ // decide if the input is reasonable
+ matSliceCheck(mat.rows(), mat.cols());
+ }
+
+ /// returns the i'th element of the column slice
+ T operator[] (size_t i) const
+ { return (*m)(rowStart() + i * rowStride(), c); }
+ /// returns the i'th element of the column slice
+ T operator() (size_t i) const
+ { return (*m)(rowStart() + i * rowStride(), c); }
+
+ /// returns the (i,j) element of the column slice
+ T operator() (size_t i, size_t j) const
+ { return (*m)(rowStart() + i * rowStride(), j + c); }
+
+ /// returns the size of the slice in rows
+ size_t rows() const {return rowSize();}
+ /// returns the size of the slice in columns
+ size_t cols() const {return 1;}
+ /// returns the overall size of the slice
+ size_t size() const {return rowSize();}
+
+ /// returns the number of rows in this slice
+ size_t rowSize() const { return rSlice.size(); }
+ /// returns the starting row in the base matrix of this slice
+ size_t rowStart() const{ return rSlice.start(); }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t rowStride() const { return rSlice.stride(); }
+ /// returns the number of columns in this slice
+ size_t colSize() const { return 1; }
+ /// returns the starting row in the base matrix of this slice
+ size_t colStart() const { return c; }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t colStride() const { return 1; }
+ private:
+ /// the matrix this slice refers to
+ const Matrix<T>* m;
+ /// the column this slice refers to
+ size_t c;
+ /// a slice down the rows
+ std::slice rSlice;
+ };
+
+/**
+ * an assignable single row slice of a matrix
+ */
+ template <class T>
+ class MatrixRowSlice : public RefMatrixSliceBase<T, MatrixRowSlice<T> >
+ {
+ public:
+ /// default constructor
+ MatrixRowSlice()
+ : m(NULL), r(0), cSlice(std::slice(0,0,0))
+ {}
+ /// makes a slice of row \c row from the matrix.
+ MatrixRowSlice(Matrix<T>& mat, size_t row)
+ : m(&mat), r(row), cSlice(std::slice(0,mat.cols(),1))
+ { matSliceCheck(mat.rows(), mat.cols()); }
+
+ /// makes a slice of row \c row from the matrix, slicing it by \c s.
+ MatrixRowSlice(Matrix<T>& mat, size_t row,
+ const std::slice& s)
+ : m(&mat), r(row), cSlice(s)
+ {
+ // decide if the input is reasonable
+ matSliceCheck(mat.rows(), mat.cols());
+ }
+
+ /// assigns this row to x.
+ template <class V>
+ MatrixRowSlice& operator=(const ConstMatrixBase<T, V>& x)
+ { return assignFrom(x); }
+ /// assigns this row to x.
+ template <class V>
+ MatrixRowSlice& operator=(const ConstVectorBase<T, V>& x)
+ { return assignFrom(x); }
+ /// assigns this row to x.
+ MatrixRowSlice& operator=(const std::valarray<T>& x)
+ { return assignFrom(x); }
+ /// assigns this row to x.
+ MatrixRowSlice& operator=(const T x)
+ { return assignFrom(x); }
+ /// assigns this row to x.
+ MatrixRowSlice& operator=(const T* x)
+ { return assignFrom(x); }
+
+ /// returns the j'th element of the slice, non-const
+ T& operator[] (size_t j)
+ { return (*m)(r, colStart() + j * colStride()); }
+ /// returns the j'th element of the slice, non-const
+ T& operator() (size_t j)
+ { return (*m)(r, colStart() + j * colStride()); }
+ /// returns the j'th element of the slice, const
+ T operator[] (size_t j) const
+ { return (*m)(r, colStart() + j * colStride()); }
+ /// returns the j'th element of the slice, const
+ T operator() (size_t j) const
+ { return (*m)(r, colStart() + j * colStride()); }
+ /// returns the (i,j) element of the slice, non-const
+ T& operator() (size_t i, size_t j)
+ { return (*m)(i + r, colStart() + j * colStride()); }
+ /// returns the (i,j) element of the slice, const
+ T operator() (size_t i, size_t j) const
+ { return (*m)(i + r, colStart() + j * colStride()); }
+
+ /// returns the number of rows in the row slice
+ size_t rows() const {return 1;}
+ /// returns the number of columns in the row slice
+ size_t cols() const {return colSize();}
+ /// returns the size of the slice
+ size_t size() const {return colSize();}
+
+ /// returns the number of rows in this slice
+ size_t rowSize() const { return 1; }
+ /// returns the starting row in the base matrix of this slice
+ size_t rowStart() const{ return r; }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t rowStride() const { return 1; }
+ /// returns the number of columns in this slice
+ size_t colSize() const { return cSlice.size(); }
+ /// returns the starting row in the base matrix of this slice
+ size_t colStart() const { return cSlice.start(); }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t colStride() const { return cSlice.stride(); }
+
+ private:
+ /// the matrix this slice refers to.
+ Matrix<T>* m;
+ /// the row of the slice
+ size_t r;
+ /// the column slice of the row.
+ std::slice cSlice;
+ };
+
+/**
+ * an unmodifiable row slice of a matrix.
+ */
+ template <class T>
+ class ConstMatrixRowSlice : public ConstMatrixSliceBase<T, ConstMatrixRowSlice<T> >
+ {
+ public:
+ /// default constructor
+ ConstMatrixRowSlice()
+ : m(NULL), r(0), cSlice(std::slice(0,0,0))
+ {}
+ /// makes a const row slice from the matrix
+ ConstMatrixRowSlice(const Matrix<T>& mat, size_t row)
+ : m(&mat), r(row), cSlice(std::slice(0,mat.cols(),1))
+ { matSliceCheck(mat.rows(), mat.cols()); }
+
+ /// makes a const row slice from the matrix, slicing that row by \c s.
+ ConstMatrixRowSlice(const Matrix<T>& mat, size_t row,
+ const std::slice& s)
+ : m(&mat), r(row), cSlice(s)
+ {
+ // decide if the input is reasonable
+ matSliceCheck(mat.rows(), mat.cols());
+ }
+
+ /// returns the i'th element of the slice
+ T operator[] (size_t i) const
+ { return (*m)(r, colStart() + i * colStride()); }
+ /// returns the i'th element of the slice
+ T operator() (size_t i) const
+ { return (*m)(r, colStart() + i * colStride()); }
+
+ /// returns the (i,j) element of the slice
+ T operator() (size_t i, size_t j) const
+ { return (*m)(i + r, colStart() + j * colStride()); }
+
+ /// returns the number of rows in the slice
+ size_t rows() const {return 1;}
+ /// returns the number of columns in the slice
+ size_t cols() const {return colSize();}
+ /// returns the overall size of the slice
+ size_t size() const {return colSize();}
+
+ /// returns the number of rows in this slice
+ size_t rowSize() const { return 1; }
+ /// returns the starting row in the base matrix of this slice
+ size_t rowStart() const{ return r; }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t rowStride() const { return 1; }
+ /// returns the number of columns in this slice
+ size_t colSize() const { return cSlice.size(); }
+ /// returns the starting row in the base matrix of this slice
+ size_t colStart() const { return cSlice.start(); }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t colStride() const { return cSlice.stride(); }
+ private:
+ /// the matrix this slice refers to
+ const Matrix<T>* m;
+ /// the row of the slice
+ size_t r;
+ /// the slice of the row's columns
+ std::slice cSlice;
+ };
+
+ //@}
+
+} // namespace
+
+#include "MatrixImplementation.hpp"
+#include "MatrixOperators.hpp"
+#include "MatrixFunctors.hpp"
+
+#endif
diff --git a/trunk/src/MatrixBase.hpp b/trunk/src/MatrixBase.hpp
new file mode 100644
index 0000000..b31af31
--- /dev/null
+++ b/trunk/src/MatrixBase.hpp
@@ -0,0 +1,420 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MatrixBase.hpp#2 $"
+
+/**
+ * @file MatrixBase.hpp
+ * Base classes (const and ref) for Matrix
+ */
+
+#ifndef GPSTK_MATRIX_BASE_HPP
+#define GPSTK_MATRIX_BASE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "Vector.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup VectorGroup */
+ //@{
+
+/// @ingroup VectorGroup
+/// Thrown when there are problems with the matrix operations
+ NEW_EXCEPTION_CLASS(MatrixException, gpstk::Exception);
+/// @ingroup VectorGroup
+/// Thrown when an operation can't be performed on a singular matrix.
+ NEW_EXCEPTION_CLASS(SingularMatrixException, MatrixException);
+
+/**
+ * A matrix base class for a non-modifiable matrix. There is no operator[]
+ * for base matrix classes.
+ */
+ template <class T, class BaseClass>
+ class ConstMatrixBase
+ {
+ public:
+ /// default constructor
+ explicit ConstMatrixBase() {}
+
+ /// the rows()*cols() size of the matrix.
+ size_t size() const
+ { return static_cast<const BaseClass*>(this)->size(); }
+ /// the number of columns in the matrix
+ size_t cols() const
+ { return static_cast<const BaseClass*>(this)->cols(); }
+ /// the number of rows in the matrix
+ size_t rows() const
+ { return static_cast<const BaseClass*>(this)->rows(); }
+ /// returns a const version of the (i,j)'th element in the matrix,
+ /// valid for 0...rows()-1, 0...cols()-1.
+ T operator() (size_t i, size_t j) const
+ { return constMatrixRef(i, j); }
+
+ /// returns true if this is a square matrix (false for a null matrix).
+ inline bool isSquare() const
+ { return ((rows() == cols()) && (rows() != 0)); }
+ /// returns true if this is an upper triangular matrix.
+ inline bool isUT() const
+ {
+ if (!isSquare())
+ return false;
+ size_t i, j;
+ for (i = 1; i < rows(); i++)
+ for (j = 0; j < i; j++)
+ if ((*this)(i,j) != T(0))
+ return false;
+ return true;
+ }
+ /// returns true if this is a lower triangular matrix.
+ inline bool isLT() const
+ {
+ if (!isSquare())
+ return false;
+ size_t i, j;
+ for (i = 0; i < rows(); i++)
+ for (j = i+1; j < cols(); j++)
+ if ((*this)(i,j) != T(0))
+ return false;
+ return true;
+ }
+
+ /// returns true if this is a diagonal matrix
+ inline bool isDiagonal() const
+ {
+ if (!isSquare())
+ return false;
+ size_t i, j;
+ for (i = 0; i < rows(); i++)
+ for (j = 0; j < cols(); j++)
+ if (i != j)
+ if ((*this)(i,j) != T(0))
+ return false;
+ return true;
+ }
+ /// returns true if this is a symmetrical matrix (across the primary
+ /// diagonal)
+ inline bool isSymmetric() const
+ {
+ if (!isSquare())
+ return false;
+ size_t i,j;
+ for (i = 0; i < rows(); i++)
+ for (j = i + 1; j < cols(); j++)
+ if ((*this)(i,j) != (*this)(j,i))
+ return false;
+ return true;
+ }
+
+ /// copies out column c into a vector starting with row r
+ Vector<T> colCopy(size_t c, size_t r = 0) const
+ {
+ if ((c >= cols()) || (r >= rows()))
+ {
+ gpstk::Exception e("Invalid ConstMatrixBase index for colCopy");
+ GPSTK_THROW(e);
+ }
+ Vector<T> toReturn(rows() - r);
+ size_t i;
+ for (i = r; i < rows(); i++)
+ toReturn(i - r) = (*this)(i, c);
+ return toReturn;
+ }
+
+ /// copies out row r into a vector starting with column c
+ Vector<T> rowCopy(size_t r, size_t c = 0) const
+ {
+ if ((c >= cols()) || (r >= rows()))
+ {
+ gpstk::Exception e("Invalid ConstMatrixBase index for rowCopy");
+ GPSTK_THROW(e);
+ }
+ Vector<T> toReturn(cols() - c);
+ size_t i;
+ for (i = c; i < cols(); i++)
+ toReturn(i - c) = (*this)(r, i);
+ return toReturn;
+ }
+
+ protected:
+ /// returns the const (i,j) element from the matrix
+ inline T constMatrixRef(size_t i, size_t j) const
+ throw(gpstk::Exception)
+ {
+ const BaseClass& b = static_cast<const BaseClass&>(*this);
+#ifdef RANGECHECK
+ if ((i >= b.rows()) || (j > b.cols()))
+ {
+ gpstk::Exception e("Invalid ConstMatrixBase index for ref");
+ GPSTK_THROW(e);
+ }
+#endif
+ return b(i,j);
+ }
+ };
+
+/**
+ * A matrix base class that allows assignment of the internal matrix.
+ * There is no operator[] for base matrix classes.
+ */
+ template <class T, class BaseClass>
+ class RefMatrixBase : public ConstMatrixBase<T, BaseClass>
+ {
+ public:
+ /// default constructor
+ explicit RefMatrixBase() {}
+
+ /// returns a reference to the (i,j) element of the matrix.
+ T& operator() (size_t i, size_t j)
+ { return static_cast<BaseClass*>(this)->operator()(i,j); }
+
+ /// returns the rows()*cols() size of the matrix
+ size_t size() const
+ { return static_cast<const BaseClass*>(this)->size(); }
+ /// returns the number of columns in the matrix
+ size_t cols() const
+ { return static_cast<const BaseClass*>(this)->cols(); }
+ /// returns the number of rows in the matrix
+ size_t rows() const
+ { return static_cast<const BaseClass*>(this)->rows(); }
+ /// any value with absolute value below
+ /// RefVectorBaseHelper::zeroTolerance is set to 0.
+ BaseClass& zeroize()
+ {
+ BaseClass& me = static_cast<BaseClass&>(*this);
+ size_t i, j;
+ for (i=0; i < me.rows(); i++)
+ for (j=0; j < me.cols(); j++)
+ if (ABS(me(i,j)) < RefVectorBaseHelper::zeroTolerance)
+ me(i,j) = T(0);
+ return me;
+ }
+ /// any value in row r with absolute value below
+ /// RefVectorBaseHelper::zeroTolerance is set to 0.
+ BaseClass& zeroizeRow(size_t r)
+ {
+ BaseClass& me = static_cast<BaseClass&>(*this);
+ size_t j;
+ for (j=0; j < me.cols(); j++)
+ if (ABS(me(r,j)) < RefVectorBaseHelper::zeroTolerance)
+ me(r,j) = T(0);
+ return me;
+ }
+ /// any value in column c with absolute value below
+ /// RefVectorBaseHelper::zeroTolerance is set to 0.
+ BaseClass& zeroizeCol(size_t c)
+ {
+ BaseClass& me = static_cast<BaseClass&>(*this);
+ size_t i;
+ for (i=0; i < me.rows(); i++)
+ if (ABS(me(i,c)) < RefVectorBaseHelper::zeroTolerance)
+ me(i,c) = T(0);
+ return me;
+ }
+
+#define MatBaseArrayAssignMacro(func) \
+ BaseClass& me = static_cast<BaseClass&>(*this); \
+ size_t i,j; \
+ for (i=0; i < me.rows(); i++) \
+ for (j=0; j < me.cols(); j++) \
+ me(i,j) func x(i,j); \
+ return me;
+
+#define MatBaseArrayAssignMacroVecSource(func) \
+ BaseClass& me = static_cast<BaseClass&>(*this); \
+ size_t i,j; \
+ for (i=0; i < me.rows(); i++) \
+ for (j=0; j < me.cols(); j++) \
+ me(i,j) func x[i*me.cols()+j]; \
+ return me;
+
+#define MatBaseAtomicAssignMacro(func) \
+ BaseClass& me = static_cast<BaseClass&>(*this); \
+ size_t i,j; \
+ for (i=0; i < me.rows(); i++) \
+ for (j=0; j < me.cols(); j++) \
+ me(i,j) func x; \
+ return me;
+
+#define MatBaseNewAssignOperator(funcName, op) \
+/** performs op on each element of this matrix with each element of x */ \
+ template <class E> BaseClass& funcName(const ConstMatrixBase<T, E>& x) \
+ { MatBaseArrayAssignMacro(op); } \
+/** performs op on each element of this matrix with each element of x */ \
+ template <class E> BaseClass& funcName(const ConstVectorBase<T, E>& x) \
+ { MatBaseArrayAssignMacroVecSource(op); } \
+/** performs op on each element of this matrix with each element of x */ \
+ BaseClass& funcName(const std::valarray<T>& x) \
+ { MatBaseArrayAssignMacroVecSource(op); } \
+/** performs op on each element of this matrix with each element of x */ \
+ BaseClass& funcName(const T* x) \
+ { MatBaseArrayAssignMacroVecSource(op); } \
+/** performs op on each element of this matrix with x */ \
+ BaseClass& funcName(T x) \
+ { MatBaseAtomicAssignMacro(op); }
+
+ /// remember that operator= isn't inherited. use assignFrom in
+ /// derived classes' copy constructors and operator=.
+ MatBaseNewAssignOperator(assignFrom, =);
+ MatBaseNewAssignOperator(operator+=, +=);
+ MatBaseNewAssignOperator(operator-=, -=);
+
+ /// multiplies each element in this matrix by x.
+ BaseClass& operator*=(const T x)
+ {
+ MatBaseAtomicAssignMacro(*=);
+ }
+ /// divides each element in this matrix by x.
+ BaseClass& operator/=(const T x)
+ {
+ MatBaseAtomicAssignMacro(/=);
+ }
+ /// unary minus: multiplies each element in this matrix by -1.
+ BaseClass& operator-()
+ {
+ const T x=T(-1);
+ MatBaseAtomicAssignMacro(*=);
+ }
+
+ /// swaps rows row1 and row2 in this matrix.
+ BaseClass& swapRows(size_t row1, size_t row2)
+ {
+ BaseClass& me = static_cast<BaseClass&>(*this);
+#ifdef RANGECHECK
+ if ( (row1 >= me.rows()) || (row2 >= me.rows()) )
+ {
+ MatrixException e("Invalid rows for swapRows");
+ GPSTK_THROW(e);
+ }
+#endif
+ size_t i;
+ T temp;
+ for (i = 0; i < me.cols(); i++)
+ {
+ temp = me(row1, i);
+ me(row1,i) = me(row2,i);
+ me(row2,i) = temp;
+ }
+ return me;
+ }
+
+ /// swaps columns col1 and col2 in this matrix.
+ BaseClass& swapCols(size_t col1, size_t col2)
+ {
+ BaseClass& me = static_cast<BaseClass&>(*this);
+#ifdef RANGECHECK
+ if ( (col1 >= me.cols()) || (col2 >= me.cols()) )
+ {
+ MatrixException e("Invalid columns for swapCols");
+ GPSTK_THROW(e);
+ }
+#endif
+ size_t i;
+ T temp;
+ for (i = 0; i < me.rows(); i++)
+ {
+ temp = me(i, col1);
+ me(i, col1) = me(i, col2);
+ me(i, col2) = temp;
+ }
+ return me;
+ }
+ };
+
+/**
+ * Base class for defining a slice of a matrix.
+ */
+ template <class T, class BaseClass>
+ class MatrixSliceBase
+ {
+ /// returns the number of rows in this slice
+ size_t rowSize() const
+ { return static_cast<const BaseClass*>(this)->rowSize(); }
+ /// returns the starting row in the base matrix of this slice
+ size_t rowStart() const
+ { return static_cast<const BaseClass*>(this)->rowStart(); }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t rowStride() const
+ { return static_cast<const BaseClass*>(this)->rowStride(); }
+ /// returns the number of columns in this slice
+ size_t colSize() const
+ { return static_cast<const BaseClass*>(this)->colSize(); }
+ /// returns the starting row in the base matrix of this slice
+ size_t colStart() const
+ { return static_cast<const BaseClass*>(this)->colStart(); }
+ /// returns the number of elements between the i'th and i+1'th row
+ size_t colStride() const
+ { return static_cast<const BaseClass*>(this)->colStride(); }
+ protected:
+ /// checks this slice against the source matrix row and column size
+ /// to see if it's a valid slice.
+ inline void matSliceCheck(size_t sourceRowSize,
+ size_t sourceColSize) const
+ throw(MatrixException)
+ {
+#ifdef RANGECHECK
+ if (rowSize() > 0)
+ {
+ if ( (rowStart() >= sourceRowSize) ||
+ ((rowStart() + (rowSize()-1) * rowStride()) >= sourceRowSize))
+ {
+ MatrixException e("Invalid row range for slice");
+ GPSTK_THROW(e);
+ }
+ }
+ if (colSize() > 0)
+ {
+ if ( (colStart() >= sourceColSize) ||
+ ((colStart() + (colSize()-1) * colStride()) >= sourceColSize))
+ {
+ MatrixException e("Invalid col range for slice");
+ GPSTK_THROW(e);
+ }
+ }
+#endif
+ }
+ };
+
+/// Base class for an unmodifiable matrix slice
+ template <class T, class BaseClass>
+ class ConstMatrixSliceBase : public MatrixSliceBase<T, BaseClass>,
+ public ConstMatrixBase<T, BaseClass>
+ {
+ public:
+ explicit ConstMatrixSliceBase() {}
+ };
+
+/// Base class for a modifiable matrix slice
+ template <class T, class BaseClass>
+ class RefMatrixSliceBase : public MatrixSliceBase<T, BaseClass>,
+ public RefMatrixBase<T, BaseClass>
+ {
+ public:
+ explicit RefMatrixSliceBase() {}
+ };
+
+ //@}
+
+} // namespace
+
+#include "MatrixBaseOperators.hpp"
+
+#endif
diff --git a/trunk/src/MatrixBaseOperators.hpp b/trunk/src/MatrixBaseOperators.hpp
new file mode 100644
index 0000000..5c56100
--- /dev/null
+++ b/trunk/src/MatrixBaseOperators.hpp
@@ -0,0 +1,169 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MatrixBaseOperators.hpp#3 $"
+
+/**
+ * @file MatrixBaseOperators.hpp
+ * Matrix operators for the base class
+ */
+
+#ifndef GPSTK_MATRIX_BASE_OPERATORS_HPP
+#define GPSTK_MATRIX_BASE_OPERATORS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <fstream> // for copyfmt
+#include <iomanip>
+
+namespace gpstk
+{
+
+ /** @addtogroup VectorGroup */
+ //@{
+
+/// Output operator for ConstMatrixBase classes
+ template <class T, class E>
+ std::ostream& operator<<(std::ostream& s, const ConstMatrixBase<T, E>& a)
+ {
+ size_t i, j;
+ std::ofstream savefmt;
+ savefmt.copyfmt(s);
+ for (i=0; i<a.rows(); i++)
+ {
+ for (j=0; j< a.cols(); j++) {
+ s << std::setw(1) << ' ';
+ s.copyfmt(savefmt);
+ s << a(i,j);
+ }
+ if(i < a.rows()-1) s << std::endl;
+ }
+ return s;
+ }
+
+/**
+ * Turns the square RefMatrixBase matrix into an identity matrix
+ */
+ template <class T, class BaseClass>
+ BaseClass& ident(RefMatrixBase<T, BaseClass>& m)
+ throw (MatrixException)
+ {
+ BaseClass& me = static_cast<BaseClass&>(m);
+ if ( (me.rows() != me.cols()) || (me.cols() < 1) )
+ {
+ MatrixException e("invalid matrix dimensions for ident()");
+ GPSTK_THROW(e);
+ }
+ m.assignFrom(T(0));
+ size_t i;
+ for (i = 0; i < me.rows(); i++)
+ me(i,i) = T(1);
+ return me;
+ }
+
+/**
+ * Returns the trace of the matrix
+ */
+ template <class T, class BaseClass>
+ inline T trace(const ConstMatrixBase<T, BaseClass>& m)
+ throw (MatrixException)
+ {
+ if ((!m.isSquare()) || (m.rows() == 0))
+ {
+ MatrixException e("Invalid matrix for trace()");
+ GPSTK_THROW(e);
+ }
+ size_t index = 0;
+ T answer = m(index,index);
+ for (index = 1; index < m.rows(); index++)
+ answer += m(index,index);
+ return answer;
+ }
+
+/**
+ * returns the frobenius norm or RSS of the matrix
+ */
+ template <class T, class BaseClass>
+ inline T normF(const ConstMatrixBase<T, BaseClass>& m)
+ {
+ T sum(0);
+ size_t i,j;
+ for (i = 0; i < m.rows(); i++)
+ for (j = 0; j < m.cols(); j++)
+ sum += m(i,j) * m(i,j);
+ return SQRT(sum);
+ }
+
+/**
+ * returns the column sum norm of the matrix
+ */
+ template <class T, class BaseClass>
+ inline T normCol(const ConstMatrixBase<T, BaseClass>& m)
+ {
+ T sum(0), tempSum;
+ size_t i,j;
+ for (i = 0; i < m.rows(); i++)
+ {
+ tempSum = T(0);
+ for (j = 0; j < m.cols(); j++)
+ tempSum += ABS(m(i,j));
+ if (tempSum > sum)
+ sum = tempSum;
+ }
+ return sum;
+ }
+
+/**
+ * Uses the sum of minor determinates to calculate the whole det.
+ * Slow for large matricies, but it works.
+ */
+ template <class T, class BaseClass>
+ inline T slowDet(const ConstMatrixBase<T, BaseClass>& l)
+ {
+ if (!l.isSquare() || (l.rows() <= 1))
+ {
+ MatrixException e("Invalid matrix for det()");
+ GPSTK_THROW(e);
+ }
+ // go recursion!
+ if (l.rows() == 2)
+ return l(0,0)*l(1,1) - l(0,1)*l(1,0);
+ else
+ {
+ // use v[0,0] * det(minor matrix(0,0)) +
+ // v[0,1] * det(minor matrix(0,1)) + ...
+ size_t i;
+ int sign;
+ T det = 0;
+ for (i = 0; i < l.rows(); i++)
+ {
+ sign = (i % 2) ? -1 : 1;
+ if (l(0,i) != 0)
+ det += sign * l(0,i) * slowDet(minorMatrix(l,0,i));
+ }
+ return det;
+ }
+ }
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/MatrixFunctors.hpp b/trunk/src/MatrixFunctors.hpp
new file mode 100644
index 0000000..3cda712
--- /dev/null
+++ b/trunk/src/MatrixFunctors.hpp
@@ -0,0 +1,712 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MatrixFunctors.hpp#2 $"
+
+/**
+ * @file MatrixFunctors.hpp
+ * Matrix function operators (SVD, LUD, etc)
+ */
+
+#ifndef GPSTK_MATRIX_FUNCTORS_HPP
+#define GPSTK_MATRIX_FUNCTORS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <cmath>
+
+namespace gpstk
+{
+
+ /** @addtogroup VectorGroup */
+ //@{
+
+/**
+ * Class SVD: A function object for the singular value decomposition of a matrix.
+ * Given a matrix A [m,n], the SVD of A = U*S*transpose(V), where U is [m,m],
+ * V is [n,n], and S is [m,n] (like A). Both U and V are unitary [meaning
+ * transpose(U)*U = unity = transpose(V)*V] and the columns of U[resp,V]
+ * are orthonormal vectors spanning the space A*transpose(A) [transpose(A)*A].
+ * Note that U*transpose(U)=1 and V*transpose(V)=1 are not true in general,
+ * but may be. S[m,n] is 'diagonal' in the sense that only diagonal elements
+ * are non-zero (even when m != n); the min(m,n) diagonal elements are called
+ * the singular values of A, often referred to as S[i]. The singular values
+ * may be sorted, as the SVD is invariant under a consistent re-ordering of
+ * {singular values / columns of U / columns of V}.
+ * The condition number of A is the ratio
+ * cn = fabs(largest S[i])/fabs(smallest S[i]).
+ * Note that inverse(A) = V*inverse(S)*UT where inverse(S) is diagonal with
+ * elements equal to the inverse of elements of S, and with dimension [n,m].
+ * The matrix A is non-singular matrix if and only if all of its singular
+ * values are non-zero. If some of the singular values are zero, the
+ * 'generalized inverse' of A may be formed by editing the singular values
+ * in this way: if the ratio of S[i] to S[0] (where S[0] is the largest
+ * singular value) is bigger than some tolerance (1.e-7 is good), then 1/S[i]
+ * is set to zero in the inverse. In this way the 'generalized inverse' of
+ * ANY matrix is guaranteed to exist.
+ * The SVD algorithm never fails.
+ *
+ * Ref: Bulirsch and Stoer, "Introduction to Numerical Analysis,"
+ * NY, Springer-Verlag, 1980.
+ *
+ * @code
+ * Matrix<double> m(and is assigned some value);
+ * SVD<double> d;
+ * d(m);
+ * cout << d.U << endl << d.V << endl << d.S << endl;
+ * @endcode
+ */
+ template <class T>
+ class SVD
+ {
+ public:
+ SVD() : iterationMax(30) {}
+
+ /**
+ * Singular Value Decomposition
+ */
+ template <class BaseClass>
+ bool operator() (const ConstMatrixBase<T, BaseClass>& mat)
+ throw (MatrixException)
+ {
+ bool flip=false;
+ U = mat;
+ if(mat.rows() > mat.cols()) {
+ flip = true;
+ U = transpose(mat);
+ }
+
+ size_t n(U.cols()), m(U.rows());
+ size_t i, j, k, l, nm, jj, kk;
+ T anorm(0), scale(0), g(0), s, f, h, c, x, y, z;
+
+ V = Matrix<T>(n, n, T(0));
+ S = Vector<T>(n, T(1));
+ Vector<T> B(n, T(1));
+
+ for (i = 0; i < n; i++) {
+ l = i + 1;
+ B[i] = scale * g;
+ g = s = scale = T(0);
+ if (i < m) {
+ for(k = i; k < m; k++) scale += ABS(U(k, i));
+ if (scale) {
+ for(k = i; k < m; k++) {
+ U(k, i) /= scale;
+ s += U(k, i) * U(k, i);
+ }
+ f = U(i, i);
+ g = -SIGN(SQRT(s),f);
+ h = f * g - s;
+ U(i,i) = f - g;
+ for(j = l; j < n; j++) {
+ for(s = T(0), k = i; k < m; k++) s += U(k, i) * U(k, j);
+ f = s / h;
+ for(k = i; k < m; k++) U(k, j) += f * U(k, i);
+ }
+ for(k = i; k < m; k++) U(k, i) *= scale;
+ } // if (scale)
+ } // if (i < m)
+ S[i] = scale * g;
+ g = s = scale = T(0);
+ if ( (i < m) && (i != n-1) ) {
+ for(k = l; k < n; k++) scale += ABS(U(i, k));
+ if (scale) {
+ for(k = l; k < n; k++) {
+ U(i, k) /= scale;
+ s += U(i, k) * U(i, k);
+ }
+ f = U(i, l);
+ g = -SIGN(SQRT(s),f);
+ h = f * g - s;
+ U(i, l) = f - g;
+ for(k = l; k < n; k++) B[k] = U(i, k) / h;
+ for(j = l; j < m; j++) {
+ for(s = T(0), k = l; k < n; k++) s += U(j, k) * U(i, k);
+ for(k = l; k < n; k++) U(j, k) += s * B[k];
+ }
+ for(k = l; k < n; k++) U(i, k) *= scale;
+ }
+ }
+ if(ABS(S[i])+ABS(B[i]) > anorm) anorm=ABS(S[i])+ABS(B[i]);
+ }
+ for(i = n - 1; ; i--) {
+ if (i < n - 1) {
+ if (g) {
+ for(j = l; j < n; j++) V(j, i) = (U(i, j) / U(i, l)) / g;
+ for(j = l; j < n; j++) {
+ for(s = T(0), k = l; k < n; k++) s += U(i, k) * V(k, j);
+ for(k = l; k < n; k++) V(k, j) += s * V(k, i);
+ }
+ }
+ for(j = l; j < n; j++) V(j, i) = V(i, j) = T(0);
+ }
+ V(i,i) =T(1);
+ g = B[i];
+ l = i;
+ if(i==0) break;
+ }
+ for(i = ( (m-1 < n-1) ? m-1 : n-1); ; i--) {
+ l = i+1;
+ g = S[i];
+ for(j=l; j<n; j++) U(i, j) = T(0);
+ if (g) {
+ g = T(1) / g;
+ for(j = l; j < n; j++) {
+ for(s = T(0), k = l; k < m; k++) s += U(k,i) * U(k,j);
+ f = (s / U(i,i)) * g;
+ for(k=i; k<m; k++) U(k,j) += f * U(k,i);
+ }
+ for(j = i; j < m; j++) U(j,i) *= g;
+ }
+ else {
+ for(j=i; j<m; j++) U(j,i) = T(0);
+ }
+ ++U(i,i);
+ if(i==0) break;
+ }
+ for(k = n - 1; ; k--) {
+ size_t its;
+ for(its = 1; its <= iterationMax; its++) {
+ bool flag = true;
+ for(l = k; ; l--) {
+ nm = l - 1;
+ if ((ABS(B[l])+anorm) == anorm) {
+ flag = false;
+ break;
+ }
+ if (l == 0) { // should never happen
+ MatrixException e("SVD algorithm has nm==-1");
+ GPSTK_THROW(e);
+ }
+ if ((ABS(S[nm])+anorm) == anorm) break;
+ if(l == 0) break; // since l is unsigned...
+ }
+ if (flag) {
+ c = T(0);
+ s = T(1);
+ for(i = l; i <= k; i++) {
+ f = s * B[i];
+ B[i] = c * B[i];
+ if ((ABS(f) + anorm) == anorm) break;
+ g = S[i];
+ h = RSS(f,g);
+ S[i] = h;
+ h = T(1) / h;
+ c = g * h;
+ s = -f * h;
+ for(j = 0; j < m; j++) {
+ y = U(j, nm);
+ z = U(j,i);
+ U(j, nm) = y * c + z * s;
+ U(j,i) = z * c - y * s;
+ }
+ }
+ }
+ z = S[k];
+ if (l == k) {
+ if (z < T(0)) {
+ S[k] = -z;
+ for(j = 0; j < n; j++) V(j,k) = -V(j,k);
+ }
+ break;
+ }
+
+ if (its == iterationMax) {
+ MatrixException e("SVD algorithm did not converge");
+ GPSTK_THROW(e);
+ }
+ x = S[l];
+ if(k == 0) { // should never happen
+ MatrixException e("SVD algorithm has k==0");
+ GPSTK_THROW(e);
+ }
+ nm = k - 1;
+ y = S[nm];
+ g = B[nm];
+ h = B[k];
+ f = ( (y-z) * (y+z) + (g-h) * (g+h)) / (T(2) * h * y);
+ g = RSS(f,T(1));
+ f = ( (x-z) * (x+z) + h * ((y/(f + SIGN(g,f))) - h)) / x;
+ c = s = 1.0;
+ for(j = l; j <= nm; j++) {
+ i = j + 1;
+ g = B[i];
+ y = S[i];
+ h = s * g;
+ g = c * g;
+ z = RSS(f, h);
+ B[j] = z;
+ c = f / z;
+ s = h / z;
+ f = x * c + g * s;
+ g = g * c - x * s;
+ h = y * s;
+ y *= c;
+ for(jj = 0; jj < n; jj++) {
+ x = V(jj, j);
+ z = V(jj, i);
+ V(jj, j) = x * c + z * s;
+ V(jj, i) = z * c - x * s;
+ }
+ z = RSS(f, h);
+ S[j] = z;
+ if (z) {
+ z = T(1) / z;
+ c = f * z;
+ s = h * z;
+ }
+ f = c * g + s * y;
+ x = c * y - s * g;
+ for(jj = 0; jj < m; jj++) {
+ y = U(jj, j);
+ z = U(jj, i);
+ U(jj, j) = y * c + z * s;
+ U(jj, i) = z * c - y * s;
+ }
+ }
+ B[l] = T(0);
+ B[k] = f;
+ S[k] = x;
+ }
+ if(k==0) break; // since k is unsigned...
+ }
+ // if U is not square - last n-m columns of U are zero - remove
+ if(U.cols() > U.rows()) {
+ for(i=1; i<S.size(); i++) { // sort in descending order
+ T sv=S[i],svj;
+ kk = i-1;
+ while(kk >= 0) {
+ svj = S[kk];
+ if(sv < svj) break;
+ S[kk+1] = svj;
+ // exchange columns kk and kk+1 in U and V
+ U.swapCols(kk,kk+1);
+ V.swapCols(kk,kk+1);
+ kk = kk - 1;
+ }
+ S[kk+1] = sv;
+ }
+ Matrix<T> Temp(U);
+ U = Matrix<T>(Temp,0,0,Temp.rows(),Temp.rows());
+ S.resize(Temp.rows());
+ }
+
+ if(flip) {
+ Matrix<T> Temp(U);
+ U = V;
+ V = Temp;
+ }
+
+ return true;
+
+ } // end SVD::operator() - the SVD algorithm
+
+ /** Backsubstitution using SVD.
+ * Solve A*x=b for vector x where A [mxn] has been SVD'ed and is given by
+ * U,W,V (*this); that is A[mxn] = U[mxm]*W[mxn]*VT[nxn]. b has dimension m,
+ * x dimension n. Singular values are NOT edited, except that if s.v. == 0,
+ * 1/0 is replaced by 0. Result is returned as b.
+ */
+ template <class BaseClass>
+ void backSub(RefVectorBase<T, BaseClass>& b) const
+ throw(MatrixException)
+ {
+ if(b.size() != U.rows())
+ {
+ MatrixException e("SVD::BackSub called with unequal dimensions");
+ GPSTK_THROW(e);
+ }
+
+ size_t i, n=V.cols(), m=U.rows();
+ Matrix<T> W(n,m,T(0)); // build the 'inverse singular values' matrix
+ for(i=0; i<S.size(); i++) W(i,i)=(S(i)==T(0)?T(0):T(1)/S(i));
+ Vector<T> Y;
+ Y = V*W*transpose(U)*b;
+ //b = Y; this fails because operator= is not defined for the base class (op= not inherited)
+ b.assignFrom(Y);
+
+ } // end SVD::backSub
+
+ /// sort singular values
+ void sort(bool descending)
+ throw(MatrixException)
+ {
+ size_t i,j;
+ for(i=1; i<S.size(); i++) {
+ T sv=S(i),svj;
+ j = i - 1;
+ while(j >= 0) {
+ svj = S(j);
+ if(descending && sv < svj) break;
+ if(!descending && sv > svj) break;
+ S(j+1) = svj;
+ // exchange columns j and j+1 in U and V
+ U.swapCols(j,j+1);
+ V.swapCols(j,j+1);
+ j = j - 1;
+ }
+ S(j+1) = sv;
+ }
+ } // end SVD::sort
+
+ /// compute determinant from SVD
+ inline T det(void)
+ throw(MatrixException)
+ {
+ T d(1);
+ for(size_t i=0; i<S.size(); i++) d *= S(i);
+ return d;
+ } // end SVD::det
+
+ /// Matrix U
+ Matrix<T> U;
+ /// Vector of singular values
+ Vector<T> S;
+ /// Matrix V (not transpose(V))
+ Matrix<T> V;
+
+ private:
+ const size_t iterationMax;
+
+ T SIGN(T a, T b)
+ {
+ if (b >= T(0))
+ return ABS(a);
+ else
+ return -ABS(a);
+ }
+
+ }; // end class SVD
+
+/**
+ * Performs the lower/upper triangular decomposition of a matrix PA = LU.
+ * The results are put into the matricies L, U, and P (pivot), and sign
+ * (representing even (positive) or odd (negative) row swaps.
+ */
+ template <class T>
+ class LUDecomp
+ {
+ public:
+ LUDecomp() {} // why is there no constructor from ConstMatrixBase?
+
+ /// Does the decomposition.
+ template <class BaseClass>
+ void operator() (const ConstMatrixBase<T, BaseClass>& m)
+ throw (MatrixException)
+ {
+ if(!m.isSquare() || m.rows()<=1) {
+ MatrixException e("LUDecomp requires a square, non-trivial matrix");
+ GPSTK_THROW(e);
+ }
+
+ size_t N=m.rows(),i,j,k,n,imax;
+ T big,t,d;
+ Vector<T> V(N,T(0));
+
+ LU = m;
+ Pivot = Vector<int>(N);
+ parity = 1;
+
+ for(i=0; i<N; i++) { // get scale of each row
+ big = T(0);
+ for(j=0; j<N; j++) {
+ t = ABS(LU(i,j));
+ if(t > big) big=t;
+ }
+ if(big <= T(0)) { // m is singular
+ //LU *= T(0);
+ SingularMatrixException e("singular matrix!");
+ GPSTK_THROW(e);
+ }
+ V(i) = T(1)/big;
+ }
+
+ for(j=0; j<N; j++) { // loop over columns
+ for(i=0; i<j; i++) {
+ t = LU(i,j);
+ for(k=0; k<i; k++) t -= LU(i,k)*LU(k,j);
+ LU(i,j) = t;
+ }
+ big = T(0); // find largest pivot
+ for(i=j; i<N; i++) {
+ t = LU(i,j);
+ for(k=0; k<j; k++) t -= LU(i,k)*LU(k,j);
+ LU(i,j) = t;
+ d = V(i)*ABS(t);
+ if(d >= big) {
+ big = d;
+ imax = i;
+ }
+ }
+ if(j != imax) {
+ LU.swapRows(imax,j);
+ V(imax) = V(j);
+ parity = -parity;
+ }
+ Pivot(j) = imax;
+
+ t = LU(j,j);
+ if(t == 0.0) { // m is singular
+ //LU *= T(0);
+ SingularMatrixException e("singular matrix!");
+ GPSTK_THROW(e);
+ }
+ if(j != N-1) {
+ d = T(1)/t;
+ for(i=j+1; i<N; i++) LU(i,j) *= d;
+ }
+ }
+ } // end LUDecomp()
+
+ /** Compute inverse(m)*v, where *this is LUD(m), via back substitution
+ * Solution overwrites input Vector v
+ */
+ template <class BaseClass2>
+ void backSub(RefVectorBase<T, BaseClass2>& v) const
+ throw (MatrixException)
+ {
+ if(LU.rows() != v.size()) {
+ MatrixException e("Vector size does not match dimension of LUDecomp");
+ GPSTK_THROW(e);
+ }
+
+ bool first=true;
+ size_t N=LU.rows(),i,j,ii;
+ T sum;
+
+ // un-pivot
+ for(i=0; i<N; i++) {
+ sum = v(Pivot(i));
+ v(Pivot(i)) = v(i);
+ if(first && sum != T(0)) {
+ ii = i;
+ first = false;
+ }
+ else for(j=ii; j<i; j++) sum -= LU(i,j)*v(j);
+ v(i) = sum;
+ }
+ // back substitution
+ for(i=N-1; ; i--) {
+ sum = v(i);
+ for(j=i+1; j<N; j++) sum -= LU(i,j)*v(j);
+ v(i) = sum / LU(i,i);
+ if(i == 0) break; // b/c i is unsigned
+ }
+ } // end LUD::backSub
+
+ /// compute determinant from LUD
+ inline T det(void)
+ throw(MatrixException)
+ {
+ T d(parity);
+ for(size_t i=0; i<LU.rows(); i++) d *= LU(i,i);
+ return d;
+ }
+
+ /** The matrix in LU-decomposed form: L and U together;
+ * all diagonal elements of L are implied 1.
+ */
+ Matrix<T> LU;
+ /// The pivot array
+ Vector<int> Pivot;
+ /// Parity
+ int parity;
+
+ }; // end class LUDecomp
+
+
+ /**
+ * Compute cholesky decomposition (upper triangular square root) of the
+ * given matrix, which must be positive definite. Positive definite <=>
+ * positive eigenvalues. Note that the UT sqrt is not unique, and that
+ * m = U*transpose(U) (where U=UTsqrt(m)) only if m is symmetric.
+ */
+ template <class T>
+ class Cholesky
+ {
+ public:
+ Cholesky() {}
+
+ /// @todo potential complex number problem!
+ template <class BaseClass>
+ void operator() (const ConstMatrixBase<T, BaseClass>& m)
+ throw (MatrixException)
+ {
+ if(!m.isSquare()) {
+ MatrixException e("Cholesky requires a square matrix");
+ GPSTK_THROW(e);
+ }
+
+ size_t N=m.rows(),i,j,k;
+ double d;
+ Matrix<T> P(m);
+ U = Matrix<T>(m.rows(),m.cols(),T(0));
+
+ for(j=N-1; ; j--) {
+ if(P(j,j) <= T(0)) {
+ MatrixException e("Cholesky fails - eigenvalue <= 0");
+ GPSTK_THROW(e);
+ }
+ U(j,j) = SQRT(P(j,j));
+ d = T(1)/U(j,j);
+ if(j > 0) {
+ for(k=0; k<j; k++) U(k,j)=d*P(k,j);
+ for(k=0; k<j; k++)
+ for(i=0; i<=k; i++)
+ P(i,k) -= U(k,j)*U(i,j);
+ }
+ if(j==0) break; // since j is unsigned
+ }
+
+ // L does not = transpose(U);
+ P = m;
+ L = Matrix<T>(m.rows(),m.cols(),T(0));
+ for(j=0; j<=N-1; j++) {
+ if(P(j,j) <= T(0)) {
+ MatrixException e("Cholesky fails - eigenvalue <= 0");
+ GPSTK_THROW(e);
+ }
+ L(j,j) = SQRT(P(j,j));
+ d = T(1)/L(j,j);
+ if(j < N-1) {
+ for(k=j+1; k<N; k++) L(k,j)=d*P(k,j);
+ for(k=j+1; k<N; k++) {
+ for(i=k; i<N; i++) {
+ P(i,k) -= L(i,j)*L(k,j);
+ }
+ }
+ }
+ }
+
+ } // end Cholesky::operator()
+
+ /* Use backsubstition to solve the equation A*x=b where *this Cholesky
+ * has been applied to A, i.e. A = L*transpose(L). The algorithm is in
+ * two steps: since A*x=L*LT*x=b, first solve L*y=b for y, then solve
+ * LT*x=y for x. x is returned as b.
+ */
+ template <class BaseClass2>
+ void backSub(RefVectorBase<T, BaseClass2>& b) const
+ throw (MatrixException)
+ {
+ if (L.rows() != b.size())
+ {
+ MatrixException e("Vector size does not match dimension of Cholesky");
+ GPSTK_THROW(e);
+ }
+ size_t i,j,N=L.rows();
+
+ Vector<T> y(b.size());
+ y(0) = b(0)/L(0,0);
+ for(i=1; i<N; i++) {
+ y(i) = b(i);
+ for(j=0; j<i; j++) y(i)-=L(i,j)*y(j);
+ y(i) /= L(i,i);
+ }
+ // b is now x
+ b(N-1) = y(N-1)/L(N-1,N-1);
+ for(i=N-1; ; i--) {
+ b(i) = y(i);
+ for(j=i+1; j<N; j++) b(i)-=L(j,i)*b(j);
+ b(i) /= L(i,i);
+ if(i==0) break;
+ }
+
+ } // end Cholesky::backSub
+
+ /// Lower triangular and Upper triangular Cholesky decompositions
+ Matrix<T> L, U;
+
+ }; // end class Cholesky
+
+
+
+/**
+ * The Householder transformation is simply an orthogonal transformation
+ * designed to make the elements below the diagonal zero. It applies to any
+ * matrix.
+ */
+ template <class T>
+ class Householder
+ {
+ public:
+ Householder() {}
+
+ /** Explicitly perform the transformation, one column at a time, without
+ * actually constructing the transformation matrix. Let y be column k of the
+ * input matrix. y can be zeroed below the diagonal as follows:
+ * let sum=sign(y(k))*sqrt(y*y), and define vector u(k)=y(k)+sum,
+ * u(j)=y(j) (j.gt.k). This defines the transformation matrix as (1-bu*u),
+ * with b=2/u*u=1/sum*u(k). Redefine y(k)=u(k) and apply the transformation to
+ * elements of the input matrix below and to the right of the (k,k) element.
+ * This algorithm for each column k=0,n-1 in turn is equivalent to a single
+ * orthogonal transformation which triangularizes the matrix.
+ */
+ template <class BaseClass>
+ inline void operator() (const ConstMatrixBase<T, BaseClass>& m)
+ throw (MatrixException)
+ {
+ size_t i,j;
+ A = m;
+ Matrix<T> P(A.rows(), A.rows());
+ Matrix<T> colVector(A.rows(), 1),
+ rowVector(1, A.rows());
+ Vector<T> v(A.rows());
+ for (j = 0; (j < A.cols()) && (j < (A.rows() - 1)); j++)
+ {
+ colVector.resize(A.rows() - j, 1);
+ rowVector.resize(1, A.rows() - j);
+
+ // for each column c, form the vector v =
+ // [c[0] + (sign(c[0]))abs(c), c[1], c[2], ...]
+ // then normalize v
+ v = A.colCopy(j, j);
+ v[0] += ((v[0] >= T(0)) ? T(1) : T(-1)) * norm(v);
+ v = normalize(v);
+ // now make matrix P = 1 - 2* columnVector(v) * rowVector(v)
+ // (makes the lower right of P =
+ // 1 - 2* columnVector(v) * rowVector(v)
+ // and the remaining parts I)
+ // and perform A = P * A
+ colVector = v;
+ rowVector = v;
+ MatrixSlice<T> Pslice(P, j, j, P.rows() - j, P.cols() - j);
+ ident(P);
+ //Pslice -= T(2) * colVector * rowVector;
+ Pslice = T(2) * colVector * rowVector - Pslice;
+ MatrixSlice<T> Aslice(A, j, j, A.rows() - j, A.cols() - j);
+ Aslice = Pslice * Aslice;
+ // set the elements below the diagonal of this column to 0
+ for(i = j+1; i < A.rows(); i++)
+ A(i,j) = T(0);
+ }
+ } // end Householder::operator()
+
+ /// The upper triangular transformed matrix.
+ Matrix<T> A;
+
+ }; // end class Householder
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/MatrixImplementation.hpp b/trunk/src/MatrixImplementation.hpp
new file mode 100644
index 0000000..4f8db99
--- /dev/null
+++ b/trunk/src/MatrixImplementation.hpp
@@ -0,0 +1,137 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MatrixImplementation.hpp#2 $"
+
+/**
+ * @file MatrixImplementation.hpp
+ * Implementation of Matrix algorithms
+ */
+
+#ifndef GPSTK_MATRIX_IMPLEMENTATION_HPP
+#define GPSTK_MATRIX_IMPLEMENTATION_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+namespace gpstk
+{
+
+ /** @addtogroup VectorGroup */
+ //@{
+
+ template <class T>
+ Matrix<T>::Matrix()
+ : v((size_t)0), r(0), c(0), s(0)
+ {}
+
+
+ template <class T>
+ Matrix<T>::Matrix(size_t rows, size_t cols)
+ : v(rows * cols), r(rows), c(cols), s(rows * cols)
+ {}
+
+ template <class T>
+ Matrix<T>::Matrix(size_t rows, size_t cols,
+ T initialValue)
+ : v(rows * cols, initialValue), r(rows), c(cols), s(rows * cols)
+ {}
+
+ template <class T>
+ MatrixRowSlice<T> Matrix<T>::rowRef(size_t rowNum, const std::slice& s)
+ {
+ return MatrixRowSlice<T>(*this, rowNum, s);
+ }
+
+ template <class T>
+ MatrixRowSlice<T> Matrix<T>::rowRef(size_t rowNum, size_t colNum)
+ {
+ return MatrixRowSlice<T>(*this, rowNum,
+ std::slice(colNum, cols()-colNum, 1));
+ }
+
+ template <class T>
+ ConstMatrixRowSlice<T> Matrix<T>::row(size_t rowNum, const std::slice& s)
+ const
+ {
+ return ConstMatrixRowSlice<T>(*this, rowNum, s);
+ }
+
+ template <class T>
+ ConstMatrixRowSlice<T> Matrix<T>::row(size_t rowNum, size_t colNum)
+ const
+ {
+ return ConstMatrixRowSlice<T>(*this, rowNum,
+ std::slice(colNum, cols()-colNum, 1));
+ }
+
+ template <class T>
+ MatrixColSlice<T> Matrix<T>::colRef(size_t colNum, const std::slice& s)
+ {
+ return MatrixColSlice<T>(*this, colNum, s);
+ }
+
+ template <class T>
+ MatrixColSlice<T> Matrix<T>::colRef(size_t colNum, size_t rowNum)
+ {
+ return MatrixColSlice<T>(*this, colNum,
+ std::slice(rowNum, rows() - rowNum, 1));
+ }
+
+ template <class T>
+ ConstMatrixColSlice<T> Matrix<T>::col(size_t colNum,
+ const std::slice& s) const
+ {
+ return ConstMatrixColSlice<T>(*this, colNum, s);
+ }
+
+ template <class T>
+ ConstMatrixColSlice<T> Matrix<T>::col(size_t colNum,
+ size_t rowNum) const
+ {
+ return ConstMatrixColSlice<T>(*this, colNum,
+ std::slice(colNum * r + rowNum, r - rowNum, 1));
+ }
+
+ template <class T>
+ Matrix<T>& Matrix<T>::resize(size_t rows, size_t cols)
+ {
+ v.resize(rows * cols);
+ c = cols;
+ r = rows;
+ s = rows * cols;
+ return *this;
+ }
+
+ template <class T>
+ Matrix<T>& Matrix<T>::resize(size_t rows, size_t cols,
+ const T initialValue)
+ {
+ v.resize(rows * cols, initialValue);
+ c = cols;
+ r = rows;
+ s = rows * cols;
+ return *this;
+ }
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/MatrixOperators.hpp b/trunk/src/MatrixOperators.hpp
new file mode 100644
index 0000000..7487dd6
--- /dev/null
+++ b/trunk/src/MatrixOperators.hpp
@@ -0,0 +1,737 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MatrixOperators.hpp#6 $"
+
+/**
+ * @file MatrixOperators.hpp
+ * Matrix operators (arithmetic, transpose(), inverse(), etc)
+ */
+
+#ifndef GPSTK_MATRIX_OPERATORS_HPP
+#define GPSTK_MATRIX_OPERATORS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "MiscMath.hpp"
+#include "MatrixFunctors.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup VectorGroup */
+ //@{
+
+/**
+ * Returns the top to bottom concatenation of Matrices l and r only if they have the
+ * same number of columns.
+ */
+ template <class T, class BaseClass1, class BaseClass2>
+ inline Matrix<T> operator&&(const ConstMatrixBase<T, BaseClass1>& l,
+ const ConstMatrixBase<T, BaseClass2>& r)
+ throw(MatrixException)
+ {
+ if (l.cols() != r.cols())
+ {
+ MatrixException e("Incompatible dimensions for matrixConcatTP");
+ GPSTK_THROW(e);
+ }
+
+ size_t rows = l.rows() + r.rows();
+ size_t cols = l.cols();
+ Matrix<T> toReturn(rows, cols);
+
+ for (rows = 0; rows < l.rows(); rows++)
+ for (cols = 0; cols < l.cols(); cols++)
+ toReturn(rows, cols) = l(rows, cols);
+
+ for (rows = 0; rows < r.rows(); rows++)
+ for (cols = 0; cols < l.cols(); cols++)
+ toReturn(rows + l.rows(), cols) = r(rows, cols);
+
+ return toReturn;
+ }
+
+/**
+ * Returns the top to bottom concatenation of Matrix t and Vector b
+ * only if they have the same number of columns.
+ */
+ template <class T, class BaseClass1, class BaseClass2>
+ inline Matrix<T> operator&&(const ConstMatrixBase<T, BaseClass1>& t,
+ const ConstVectorBase<T, BaseClass2>& b)
+ throw(MatrixException)
+ {
+ if (t.cols() != b.size())
+ {
+ MatrixException e("Incompatible dimensions for matrixConcatTP");
+ GPSTK_THROW(e);
+ }
+
+ size_t rows = t.rows() + 1;
+ size_t cols = t.cols();
+ Matrix<T> toReturn(rows, cols);
+
+ for (rows = 0; rows < t.rows(); rows++)
+ for (cols = 0; cols < t.cols(); cols++)
+ toReturn(rows, cols) = t(rows, cols);
+
+ for (cols = 0; cols < t.cols(); cols++)
+ toReturn(t.rows(), cols) = b(cols);
+
+ return toReturn;
+ }
+
+/**
+ * Returns the top to bottom concatenation of Vector t and Matrix b
+ * only if they have the same number of columns.
+ */
+ template <class T, class BaseClass1, class BaseClass2>
+ inline Matrix<T> operator&&(const ConstVectorBase<T, BaseClass1>& t,
+ const ConstMatrixBase<T, BaseClass2>& b)
+ throw(MatrixException)
+ {
+ if (t.size() != b.cols())
+ {
+ MatrixException e("Incompatible dimensions for matrixConcatTP");
+ GPSTK_THROW(e);
+ }
+
+ size_t rows = 1 + b.rows();
+ size_t cols = b.cols();
+ Matrix<T> toReturn(rows, cols);
+
+ for (cols = 0; cols < b.cols(); cols++)
+ toReturn(0, cols) = t(cols);
+
+ for (rows = 1; rows < b.rows()+1; rows++)
+ for (cols = 0; cols < b.cols(); cols++)
+ toReturn(rows, cols) = b(rows, cols);
+
+ return toReturn;
+ }
+
+/**
+ * Returns the left to right concatenation of l and r only if they have the
+ * same number of rows.
+ */
+ template <class T, class BaseClass1, class BaseClass2>
+ inline Matrix<T> operator||(const ConstMatrixBase<T, BaseClass1>& l,
+ const ConstMatrixBase<T, BaseClass2>& r)
+ throw(MatrixException)
+ {
+ if (l.rows() != r.rows())
+ {
+ MatrixException e("Incompatible dimensions for matrixConcatLR");
+ GPSTK_THROW(e);
+ }
+
+ size_t rows = l.rows();
+ size_t cols = l.cols() + r.cols();
+ Matrix<T> toReturn(rows, cols);
+
+ for (cols = 0; cols < l.cols(); cols++)
+ for (rows = 0; rows < l.rows(); rows++)
+ toReturn(rows, cols) = l(rows, cols);
+
+ for (cols = 0; cols < r.cols(); cols++)
+ for (rows = 0; rows < l.rows(); rows++)
+ toReturn(rows, cols + l.cols()) = r(rows,cols);
+
+ return toReturn;
+ }
+
+/**
+ * Returns the left to right concatenation of Matrix l and Vector r
+ * only if they have the same number of rows.
+ */
+ template <class T, class BaseClass1, class BaseClass2>
+ inline Matrix<T> operator||(const ConstMatrixBase<T, BaseClass1>& l,
+ const ConstVectorBase<T, BaseClass2>& r)
+ throw(MatrixException)
+ {
+ if (l.rows() != r.size())
+ {
+ MatrixException e("Incompatible dimensions for matrixVectorConcatLR");
+ GPSTK_THROW(e);
+ }
+
+ size_t rows = l.rows();
+ size_t cols = l.cols() + 1;
+ Matrix<T> toReturn(rows, cols);
+
+ for (cols = 0; cols < l.cols(); cols++)
+ for (rows = 0; rows < l.rows(); rows++)
+ toReturn(rows, cols) = l(rows, cols);
+
+ for (rows = 0; rows < l.rows(); rows++)
+ toReturn(rows, l.cols()) = r(rows);
+
+ return toReturn;
+ }
+
+/**
+ * Returns the left to right concatenation of Vector l and Matrix r
+ * only if they have the same number of rows.
+ */
+ template <class T, class BaseClass1, class BaseClass2>
+ inline Matrix<T> operator||(const ConstVectorBase<T, BaseClass1>& l,
+ const ConstMatrixBase<T, BaseClass2>& r)
+ throw(MatrixException)
+ {
+ if (l.size() != r.rows())
+ {
+ MatrixException e("Incompatible dimensions for vectorMatrixConcatLR");
+ GPSTK_THROW(e);
+ }
+
+ size_t rows = r.rows();
+ size_t cols = r.cols() + 1;
+ Matrix<T> toReturn(rows, cols);
+
+ for (rows = 0; rows < r.rows(); rows++)
+ toReturn(rows, 0) = l(rows);
+
+ for (cols = 1; cols < r.cols()+1; cols++)
+ for (rows = 0; rows < r.rows(); rows++)
+ toReturn(rows, cols) = r(rows, cols);
+
+ return toReturn;
+ }
+
+/**
+ * Returns the minor matrix of l at element (row, col). A minor matrix is the
+ * same matrix as \c l but with row \c row and col \c col removed.
+ */
+ template <class T, class BaseClass>
+ inline Matrix<T> minorMatrix(const ConstMatrixBase<T, BaseClass>& l,
+ size_t row, size_t col)
+ throw(MatrixException)
+ {
+ if ((row >= l.rows()) || (col >= l.cols()))
+ {
+ MatrixException e("invalid row or column for minor()");
+ GPSTK_THROW(e);
+ }
+ // handle special cases
+ if (row == 0)
+ {
+ if (col == 0)
+ {
+ return Matrix<T>(l,1,1,l.rows()-1,l.cols()-1);
+ }
+ else if (col == (l.cols() - 1))
+ {
+ return Matrix<T>(l,1,0,l.rows()-1,l.cols()-1);
+ }
+ else
+ {
+ return Matrix<T>(l,1,0,l.rows()-1,col) ||
+ Matrix<T>(l,1,col+1,l.rows()-1,l.cols()-col-1);
+ }
+ }
+ else if (row == (l.rows() - 1))
+ {
+ if (col == 0)
+ {
+ return Matrix<T>(l,0,1,l.rows()-1,l.cols()-1);
+ }
+ else if (col == (l.cols() - 1))
+ {
+ return Matrix<T>(l,0,0,l.rows()-1,l.cols()-1);
+ }
+ else
+ {
+ return Matrix<T>(l,0,0,l.rows()-1,col) ||
+ Matrix<T>(l,0,col+1,l.rows()-1,l.cols()-col-1);
+ }
+ }
+ else if (col == 0)
+ {
+ return Matrix<T>(l,0,1,row,l.cols()-1) &&
+ Matrix<T>(l,row+1,1,l.rows()-row-1,l.cols()-1);
+ }
+ else if (col == (l.cols() - 1))
+ {
+ return Matrix<T>(l,0,0,row,l.cols()-1) &&
+ Matrix<T>(l,row+1,0,l.rows()-row-1,l.cols()-1);
+ }
+ else
+ {
+ return (Matrix<T>(l, 0, 0, row, col) ||
+ Matrix<T>(l, 0, col + 1, row, l.cols()-col-1)) &&
+ (Matrix<T>(l, row + 1, 0, l.rows()-row-1, col) ||
+ Matrix<T>(l, row + 1, col + 1, l.rows()-row-1, l.cols()-col-1));
+ }
+ }
+
+/**
+ * Returns a matrix that is \c m transposed.
+ */
+ template <class T, class BaseClass>
+ inline Matrix<T> transpose(const ConstMatrixBase<T, BaseClass>& m)
+ {
+ Matrix<T> temp(m.cols(), m.rows());
+ size_t i, j;
+ for (i = 0; i < m.rows(); i++)
+ for (j = 0; j < m.cols(); j++)
+ temp(j,i) = m(i,j);
+ return temp;
+ }
+
+/**
+ * Uses an LU Decomposition to calculate the determinate of m. This is
+ * faster than longDet() for large matricies.
+ */
+ template <class T, class BaseClass>
+ inline T det(const ConstMatrixBase<T, BaseClass>& m)
+ throw(MatrixException)
+ {
+ try
+ {
+ LUDecomp<T> lud;
+ lud(m);
+ T det = 1;
+ size_t i;
+ // now just multiply down the main diagonal and then by the LUD sign.
+ for(i = 0; i < m.rows(); i++)
+ det *= lud.U(i,i);
+ return det * lud.sign;
+ }
+ catch(SingularMatrixException &e)
+ {
+ return 0;
+ }
+ catch(MatrixException& e)
+ {
+ e.addText("in det()");
+ GPSTK_RETHROW(e);
+ }
+ }
+
+/**
+ * returns the condition number of the matrix
+ */
+ template <class T, class BaseClass>
+ inline T condNum(const ConstMatrixBase<T, BaseClass>& m, T& big, T& small)
+ throw (MatrixException)
+ {
+ SVD<T> svd;
+ svd(m);
+ // SVD will sort singular values in descending order
+ big = svd.S(0);
+ small = svd.S(svd.S.size()-1);
+ if(fabs(small) <= T(1.e-15)) return T(0); // TD replace with ~ machine precision
+ return big/small;
+ }
+
+/**
+ * returns the condition number of the matrix, doesnt require big or small..
+ */
+ template <class T, class BaseClass>
+ inline T condNum(const ConstMatrixBase<T, BaseClass>& m)
+ throw (MatrixException)
+ {
+ T big, small;
+ return condNum(m, big, small);
+ }
+
+/**
+ * Returns a new \c dim * \c dim matrix that's an identity matrix.
+ */
+ template <class T>
+ inline Matrix<T> ident(size_t dim) throw(MatrixException)
+ {
+ if (dim == 0)
+ {
+ MatrixException e("invalid matrix dimensions for ident()");
+ GPSTK_THROW(e);
+ }
+ Matrix<T> toReturn(dim, dim, T(0));
+ size_t i;
+ for (i = 0; i < toReturn.rows(); i++)
+ toReturn(i,i) = T(1);
+ return toReturn;
+ }
+
+/**
+ * Return a rotation matrix [dimensioned 3x3, inverse() = transpose()]
+ * for the rotation through \c angle radians about \c axis number (= 1, 2 or 3).
+ */
+ template <class T>
+ inline Matrix<T> rotation(T angle, int axis)
+ throw(MatrixException)
+ {
+ if (axis < 1 || axis > 3)
+ {
+ MatrixException e("Invalid axis (must be 1,2, or 3)");
+ GPSTK_THROW(e);
+ }
+ Matrix<T> toReturn(3,3,T(0));
+ int i1 = axis-1;
+ int i2 = (i1+1) % 3;
+ int i3 = (i2+1) % 3;
+ toReturn(i1,i1) = 1.0;
+ toReturn(i2,i2) = toReturn(i3,i3) = ::cos(angle);
+ toReturn(i3,i2) = -(toReturn(i2,i3) = ::sin(angle));
+
+ return toReturn;
+ }
+
+/**
+ * Inverts the matrix M by Gaussian elimination. Throws on non-square
+ * and singular matricies.
+ */
+ template <class T, class BaseClass>
+ inline Matrix<T> inverse(const ConstMatrixBase<T, BaseClass>& m)
+ throw (MatrixException)
+ {
+ if ((m.rows() != m.cols()) || (m.cols() == 0))
+ {
+ MatrixException e("inverse() requires non-trivial square matrix");
+ GPSTK_THROW(e);
+ }
+
+ Matrix<T> toReturn(m.rows(), m.cols() * 2);
+
+ size_t r, t, j;
+ T temp;
+
+ // set the left half to m
+ {
+ MatrixSlice<T> ms(toReturn, 0, 0, m.rows(), m.cols());
+ ms = m;
+ }
+
+ // set the right half to identity
+ {
+ MatrixSlice<T> ms(toReturn, 0, m.cols(), m.rows(), m.cols());
+ ident(ms);
+ }
+
+ for (r = 0; r < m.rows(); r++)
+ {
+ // if m(r,r) is zero, find another row
+ // to add to it...
+ if (toReturn(r,r) == 0)
+ {
+ t = r+1;
+ while ( (t < m.rows()) && (toReturn(t,r) == 0) )
+ t++;
+
+ if (t == m.rows())
+ {
+ SingularMatrixException e("Singular matrix - cant invert");
+ GPSTK_THROW(e);
+ }
+
+ for (j = r; j < toReturn.cols(); j++)
+ toReturn(r,j) += (toReturn(t,j) / toReturn(t,r));
+ }
+
+ // scale this row's (r,r)'th element to 1
+ temp = toReturn(r,r);
+ for (j = r; j < toReturn.cols(); j++)
+ toReturn(r,j) /= temp;
+
+ // do the elimination
+ for (t = 0; t < m.rows(); t++)
+ {
+ if (t != r)
+ {
+ temp = toReturn(t,r);
+ for (j = r; j < toReturn.cols(); j++)
+ toReturn(t,j) -= temp/toReturn(r,r) * toReturn(r,j);
+ }
+ }
+ }
+ // return the right hand side square matrix
+ return Matrix<T>(toReturn, 0, m.cols(), m.rows(), m.cols());
+
+ } // end inverse
+
+/**
+ * Inverts the matrix M by LU decomposition. Throws on non-square
+ * and singular matricies.
+ */
+ template <class T, class BaseClass>
+ inline Matrix<T> inverseLUD(const ConstMatrixBase<T, BaseClass>& m)
+ throw (MatrixException)
+ {
+ if ((m.rows() != m.cols()) || (m.cols() == 0)) {
+ MatrixException e("inverseLUD() requires non-trivial square matrix");
+ GPSTK_THROW(e);
+ }
+
+ size_t i,j,N=m.rows();
+ Matrix<T> inv(m);
+ Vector<T> V(N);
+ LUDecomp<T> LU;
+ LU(m);
+ for(j=0; j<N; j++) { // loop over columns
+ V = T(0);
+ V(j) = T(1);
+ LU.backSub(V);
+ for(i=0; i<N; i++) inv(i,j)=V(i);
+ }
+ return inv;
+
+ } // end inverseLUD
+
+/**
+ * Inverts the square matrix M by SVD. Throws only on input of the zero matrix
+ */
+ template <class T, class BaseClass>
+ inline Matrix<T> inverseSVD(const ConstMatrixBase<T, BaseClass>& m)
+ throw (MatrixException)
+ {
+ if ((m.rows() != m.cols()) || (m.cols() == 0)) {
+ MatrixException e("inverseSVD() requires non-trivial square matrix");
+ GPSTK_THROW(e);
+ }
+
+ size_t i,j,N=m.rows();
+ Matrix<T> inv(m);
+ SVD<T> svd;
+ svd(m);
+ // svd will sort the singular values in descending order
+ if(svd.S(0) == T(0)) {
+ MatrixException e("Input is the zero matrix");
+ GPSTK_THROW(e);
+ }
+ // edit singular values TD input tolerance, output edited SVs
+ for(i=1; i<N; i++) if(svd.S(i) < T(1.e-8)*svd.S(0)) svd.S(i)=T(0);
+
+ // back substitution
+ Vector<T> V(N);
+ for(j=0; j<N; j++) { //loop over columns
+ V = T(0);
+ V(j) = T(1);
+ svd.backSub(V);
+ for(i=0; i<N; i++) inv(i,j)=V(i);
+ }
+ return inv;
+
+ } // end inverseSVD
+
+/**
+ * Matrix * Matrix : row by column multiplication of two matricies.
+ */
+ template <class T, class BaseClass1, class BaseClass2>
+ inline Matrix<T> operator* (const ConstMatrixBase<T, BaseClass1>& l,
+ const ConstMatrixBase<T, BaseClass2>& r)
+ throw (MatrixException)
+ {
+ if (l.cols() != r.rows())
+ {
+ MatrixException e("Incompatible dimensions for Matrix*Matrix");
+ GPSTK_THROW(e);
+ }
+
+ Matrix<T> toReturn(l.rows(), r.cols(), T(0));
+ size_t i, j, k;
+ for (i = 0; i < toReturn.rows(); i++)
+ for (j = 0; j < toReturn.cols(); j++)
+ for (k = 0; k < l.cols(); k++)
+ toReturn(i,j) += l(i,k) * r(k,j);
+
+ return toReturn;
+ }
+
+/**
+ * Matrix times vector multiplication, returning a vector.
+ */
+ template <class T, class BaseClass1, class BaseClass2>
+ inline Vector<T> operator* (const ConstMatrixBase<T, BaseClass1>& m,
+ const ConstVectorBase<T, BaseClass2>& v)
+ throw (MatrixException)
+ {
+ if (v.size() != m.cols())
+ {
+ gpstk::Exception e("Incompatible dimensions for valarray*Matrix");
+ GPSTK_THROW(e);
+ }
+
+ Vector<T> toReturn(m.rows());
+ size_t i, j;
+ for (i = 0; i < m.rows(); i++)
+ {
+ toReturn[i] = 0;
+ for (j = 0; j < m.cols(); j++)
+ toReturn[i] += m(i, j) * v[j];
+ }
+ return toReturn;
+ }
+/**
+ * Vector times matrix multiplication, returning a vector.
+ */
+ template <class T, class BaseClass1, class BaseClass2>
+ inline Vector<T> operator* (const ConstVectorBase<T, BaseClass1>& v,
+ const ConstMatrixBase<T, BaseClass2>& m)
+ throw (gpstk::Exception)
+ {
+ if (v.size() != m.rows())
+ {
+ gpstk::Exception e("Incompatible dimensions for valarray*Matrix");
+ GPSTK_THROW(e);
+ }
+
+ Vector<T> toReturn(m.cols());
+ size_t i, j;
+ for (i = 0; i < m.cols(); i++)
+ {
+ toReturn[i] = 0;
+ for (j = 0; j < m.rows(); j++)
+ toReturn[i] += m(j,i) * v[j];
+ }
+ return toReturn;
+ }
+
+/**
+ * Compute sum of two matricies.
+ */
+ template <class T, class BaseClass1, class BaseClass2>
+ inline Matrix<T> operator+ (const ConstMatrixBase<T, BaseClass1>& l,
+ const ConstMatrixBase<T, BaseClass2>& r)
+ throw (MatrixException)
+ {
+ if (l.cols() != r.cols() || l.rows() != r.rows())
+ {
+ MatrixException e("Incompatible dimensions for Matrix+Matrix");
+ GPSTK_THROW(e);
+ }
+
+ Matrix<T> toReturn(l.rows(), r.cols(), T(0));
+ size_t i, j;
+ for (i = 0; i < toReturn.rows(); i++)
+ for (j = 0; j < toReturn.cols(); j++)
+ toReturn(i,j) = l(i,j) + r(i,j);
+
+ return toReturn;
+ }
+
+/**
+ * Compute difference of two matricies.
+ */
+ template <class T, class BaseClass1, class BaseClass2>
+ inline Matrix<T> operator- (const ConstMatrixBase<T, BaseClass1>& l,
+ const ConstMatrixBase<T, BaseClass2>& r)
+ throw (MatrixException)
+ {
+ if (l.cols() != r.cols() || l.rows() != r.rows())
+ {
+ MatrixException e("Incompatible dimensions for Matrix-Matrix");
+ GPSTK_THROW(e);
+ }
+
+ Matrix<T> toReturn(l.rows(), r.cols(), T(0));
+ size_t i, j;
+ for (i = 0; i < toReturn.rows(); i++)
+ for (j = 0; j < toReturn.cols(); j++)
+ toReturn(i,j) = l(i,j) - r(i,j);
+
+ return toReturn;
+ }
+
+/**
+ * Compute the outer product of two vectors.
+ */
+ template <class T, class BaseClass>
+ inline Matrix<T> outer(const ConstVectorBase<T, BaseClass>& v, const ConstVectorBase<T, BaseClass>& w)
+ throw (MatrixException)
+ {
+ if(v.size()*w.size() == 0) {
+ MatrixException e("Zero length vector(s)");
+ GPSTK_THROW(e);
+ }
+ Matrix<T> M(v.size(),w.size(),T(0));
+ for(size_t i=0; i<v.size(); i++)
+ for(size_t j=0; j<w.size(); j++)
+ M(i,j) = v(i)*w(j);
+ return M;
+ }
+
+/// Multiplies all the elements of m by d.
+ template <class T, class BaseClass>
+ inline Matrix<T> operator* (const ConstMatrixBase<T, BaseClass>& m, const T d)
+ {
+ Matrix<T> temp(m);
+ return temp *= d;
+ }
+
+/// Multiplies all the elements of m by d.
+ template <class T, class BaseClass>
+ inline Matrix<T> operator* (const T d, const ConstMatrixBase<T, BaseClass>& m)
+ {
+ Matrix<T> temp(m);
+ return temp *= d;
+ }
+
+/// Divides all the elements of m by d.
+ template <class T, class BaseClass>
+ inline Matrix<T> operator/ (const ConstMatrixBase<T, BaseClass>& m, const T d)
+ {
+ Matrix<T> temp(m);
+ return temp /= d;
+ }
+
+/// Divides all the elements of m by d.
+ template <class T, class BaseClass>
+ inline Matrix<T> operator/ (const T d, const ConstMatrixBase<T, BaseClass>& m)
+ {
+ Matrix<T> temp(m);
+ return temp /= d;
+ }
+
+/// Adds all the elements of m by d.
+ template <class T, class BaseClass>
+ inline Matrix<T> operator+ (const ConstMatrixBase<T, BaseClass>& m, const T d)
+ {
+ Matrix<T> temp(m);
+ return temp += d;
+ }
+
+/// Adds all the elements of m by d.
+ template <class T, class BaseClass>
+ inline Matrix<T> operator+ (const T d, const ConstMatrixBase<T, BaseClass>& m)
+ {
+ Matrix<T> temp(m);
+ return temp += d;
+ }
+
+/// Subtracts all the elements of m by d.
+ template <class T, class BaseClass>
+ inline Matrix<T> operator- (const ConstMatrixBase<T, BaseClass>& m, const T d)
+ {
+ Matrix<T> temp(m);
+ return temp -= d;
+ }
+
+/// Subtracts all the elements of m by d.
+ template <class T, class BaseClass>
+ inline Matrix<T> operator- (const T d, const ConstMatrixBase<T, BaseClass>& m)
+ {
+ Matrix<T> temp(m);
+ return temp -= d;
+ }
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/MiscMath.hpp b/trunk/src/MiscMath.hpp
new file mode 100644
index 0000000..5f78165
--- /dev/null
+++ b/trunk/src/MiscMath.hpp
@@ -0,0 +1,201 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MiscMath.hpp#1 $"
+
+/**
+ * @file MiscMath.hpp
+ * Miscellaneous mathematical algorithms
+ */
+
+#ifndef GPSTK_MISC_MATH_HPP
+#define GPSTK_MISC_MATH_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <vector>
+#include "MathBase.hpp"
+
+namespace gpstk
+{
+ /** @defgroup math Mathematical algorithms */
+ //@{
+
+ /** Perform Lagrange interpolation on the data (X[i],Y[i]), i=1,N (N=X.size()),
+ * returning the value of Y(x). Also return an estimate of the estimation error in 'err'.
+ * Assumes k=X.size() is even, and that x is between X[j-1] and X[j], where j=k/2.
+ */
+ template <class T>
+ T LagrangeInterpolation(const std::vector<T>& X, const std::vector<T>& Y, const T& x, T& err)
+ {
+ size_t i,j,k;
+ T y,del;
+ std::vector<T> D,Q;
+
+ err = T(0);
+ k = X.size()/2;
+ if(x == X[k]) return Y[k];
+ if(x == X[k-1]) return Y[k-1];
+ if(ABS(x-X[k-1]) < ABS(x-X[k])) k=k-1;
+ for(i=0; i<X.size(); i++) {
+ Q.push_back(Y[i]);
+ D.push_back(Y[i]);
+ }
+ y = Y[k--];
+ for(j=1; j<X.size(); j++) {
+ for(i=0; i<X.size()-j; i++) {
+ del = (Q[i+1]-D[i])/(X[i]-X[i+j]);
+ D[i] = (X[i+j]-x)*del;
+ Q[i] = (X[i]-x)*del;
+ }
+ err = (2*k < X.size()-j ? Q[k+1] : D[k--]);
+ y += err;
+ }
+ return y;
+ } // end T LagrangeInterpolation(vector, vector, const T, T&)
+
+ // The following is a
+ // Straightforward implementation of Lagrange polynomial and its derivative
+ // { all sums are over index=0,N-1; Xi is short for X[i]; Lp is dL/dx;
+ // y(x) is the function being approximated. }
+ // y(x) = SUM[Li(x)*Yi]
+ // Li(x) = PROD(j!=i)[x-Xj] / PROD(j!=i)[Xi-Xj]
+ // dy(x)/dx = SUM[Lpi(x)*Yi]
+ // Lpi(x) = SUM(k!=i){PROD(j!=i,j!=k)[x-Xj]} / PROD(j!=i)[Xi-Xj]
+ // Define Pi = PROD(j!=i)[x-Xj], Di = PROD(j!=i)[Xi-Xj],
+ // Qij = PROD(k!=i,k!=j)[x-Xk] and Si = SUM(j!=i)Qij.
+ // then Li(x) = Pi/Di, and Lpi(x) = Si/Di.
+ // Qij is symmetric, there are only N(N+1)/2 - N of them, so store them
+ // in a vector of length N(N+1)/2, where Qij==Q[i+j*(j+1)/2] (ignore i=j).
+
+ /** Perform Lagrange interpolation on the data (X[i],Y[i]), i=1,N (N=X.size()),
+ * returning the value of Y(x) and dY(x)/dX.
+ * Assumes that x is between X[k-1] and X[k], where k=N/2.
+ * Warning: for use with the precise (SP3) ephemeris only when velocity is not
+ * available; estimates of velocity, and especially clock drift, not as accurate.
+ */
+ template <class T>
+ void LagrangeInterpolation(const std::vector<T>& X, const std::vector<T>& Y, const T& x, T& y, T& dydx)
+ {
+ size_t i,j,k,N=X.size(),M;
+ M = (N*(N+1))/2;
+ std::vector<T> P(N,T(1)),Q(M,T(1)),D(N,T(1));
+ for(i=0; i<N; i++) {
+ for(j=0; j<N; j++) {
+ if(i != j) {
+ P[i] *= x-X[j];
+ D[i] *= X[i]-X[j];
+ if(i < j) {
+//std::cout << "Compute Q[" << i << "," << j << "=" << (i+(j*(j+1))/2) << "] = 1 ";
+ for(k=0; k<N; k++) {
+ if(k == i || k == j) continue;
+//std::cout << " * (x-X[" << k << "])";
+ Q[i+(j*(j+1))/2] *= (x-X[k]);
+ }
+//std::cout << " = " << Q[i+(j*(j+1))/2] << std::endl;
+ }
+ }
+ }
+ }
+ y = dydx = T(0);
+ for(i=0; i<N; i++) {
+ y += Y[i]*(P[i]/D[i]);
+ T S(0);
+ for(k=0; k<N; k++) if(i != k) {
+ if(k<i) S += Q[k+(i*(i+1))/2]/D[i];
+ else S += Q[i+(k*(k+1))/2]/D[i];
+ }
+ dydx += Y[i]*S;
+ }
+ } // end void LagrangeInterpolation(vector, vector, const T, T&, T&)
+
+ /// Perform the root sum square of aa, bb
+ template <class T>
+ T RSS (T aa, T bb)
+ {
+ return RSS(aa,bb,T(0));
+ }
+
+ /// Perform the root sum square of aa, bb and cc
+ template <class T>
+ T RSS (T aa, T bb, T cc)
+ {
+ T a(ABS(aa)), b(ABS(bb)), c(ABS(cc));
+ if ( (a > b) && (a > c) )
+ return a * SQRT(1 + (b/a)*(b/a) + (c/a)*(c/a));
+ if ( (b > a) && (b > c) )
+ return b * SQRT(1 + (a/b)*(a/b) + (c/b)*(c/b));
+ if ( (c > b) && (c > a) )
+ return c * SQRT(1 + (b/c)*(b/c) + (a/c)*(a/c));
+
+ if (a == b)
+ {
+ if (b == c)
+ return a * SQRT(T(3));
+ a *= SQRT(T(2));
+ if (a > c)
+ return a * SQRT(1 + (c/a)*(c/a));
+ else
+ return c * SQRT(1 + (a/c)*(a/c));
+ }
+ if (a == c)
+ {
+ a *= SQRT(T(2));
+ if (a > b)
+ return a * SQRT(1 + (b/a)*(b/a));
+ else
+ return b * SQRT(1 + (a/b)*(a/b));
+ }
+ if (b == c)
+ {
+ b *= SQRT(T(2));
+ if (b > a)
+ return b * SQRT(1 + (a/b)*(a/b));
+ else
+ return a * SQRT(1 + (b/a)*(b/a));
+ }
+
+ return T(0);
+ }
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/ORDEpoch.hpp b/trunk/src/ORDEpoch.hpp
new file mode 100644
index 0000000..c208889
--- /dev/null
+++ b/trunk/src/ORDEpoch.hpp
@@ -0,0 +1,106 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ORDEpoch.hpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ORDEpoch.hpp
+ * A set of observed range deviations for a single point in time from
+ * a single receiver.
+ */
+
+#ifndef ORDEPOCH_HPP
+#define ORDEPOCH_HPP
+
+#include <map>
+#include "Exception.hpp"
+#include "ObsRngDev.hpp"
+#include "ClockModel.hpp"
+
+
+namespace gpstk
+{
+ class ORDEpoch
+ {
+ public:
+
+ /// defines a store for eachs SV's ord, indexed by prn
+ typedef std::map<short, ObsRngDev> ORDMap;
+
+ ORDEpoch& removeORD(short prn) throw()
+ {
+ ORDMap::iterator i = ords.find(prn);
+ if(i != ords.end())
+ ords.erase(i);
+ return *this;
+ }
+
+ ORDEpoch& applyClockModel(const ClockModel& cm) throw()
+ {
+ clockOffset = cm.getOffset(time);
+ validClock = true;
+
+ ORDMap::iterator i;
+ for (i = ords.begin(); i != ords.end(); i++)
+ i->second.applyClockOffset(clockOffset);
+ return *this;
+ }
+
+ double clockOffset; ///< clock bias value (in seconds)
+ bool validClock;
+ ORDMap ords; ///< map of ORDs in epoch
+ gpstk::DayTime time;
+
+ friend std::ostream& operator<<(std::ostream& s,
+ const ORDEpoch& oe)
+ throw()
+ {
+ s << "t=" << oe.time
+ << " clk=" << oe.clockOffset << std::endl;
+ ORDMap::const_iterator i;
+ for (i=oe.ords.begin(); i!=oe.ords.end(); i++)
+ s << i->second << std::endl;
+ return s;
+ }
+
+ };
+}
+#endif
diff --git a/trunk/src/ObsClockModel.cpp b/trunk/src/ObsClockModel.cpp
new file mode 100644
index 0000000..8879110
--- /dev/null
+++ b/trunk/src/ObsClockModel.cpp
@@ -0,0 +1,180 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ObsClockModel.cpp#4 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ObsClockModel.cpp
+ * Yet another abstract class used to define an interface to a model that
+ * accepts GPS observation datat and determines a clock model from it. It
+ * mainly adds the ability to specify the characteristcs of the observations
+ * that are to be accpeted into the model. It also defines a function that
+ * accepts Observed Range Deviations and computes the mean of these (that
+ * meet the selection criteria) as an estimate of the receiver clock.
+ */
+
+#include <math.h>
+
+#include "ObsClockModel.hpp"
+
+namespace gpstk
+{
+ using namespace std;
+
+ ObsClockModel::PRNStatus ObsClockModel::getPRNStatus(short prn) const
+ throw(gpstk::ObjectNotFound)
+ {
+ PRNStatusMap::const_iterator i = status.find(prn);
+ if(i == status.end())
+ {
+ gpstk::ObjectNotFound e("No status for PRN " +
+ gpstk::StringUtils::asString(prn) +
+ " available.");
+ GPSTK_THROW(e);
+ }
+ else
+ return i->second;
+ }
+
+ ObsClockModel& ObsClockModel::setPRNModeMap(const PRNModeMap& right)
+ throw()
+ {
+ for(int prn = 1; prn <= gpstk::MAX_PRN; prn++)
+ modes[prn] = IGNORE;
+
+ for(PRNModeMap::const_iterator i = right.begin(); i != right.end(); i++)
+ modes[i->first] = i->second;
+
+ return *this;
+ }
+
+ ObsClockModel::PRNMode ObsClockModel::getPRNMode(short prn) const
+ throw(gpstk::ObjectNotFound)
+ {
+ PRNModeMap::const_iterator i = modes.find(prn);
+ if(i == modes.end())
+ {
+ gpstk::ObjectNotFound e("No status for PRN " +
+ gpstk::StringUtils::asString(prn) +
+ " available.");
+ GPSTK_THROW(e);
+ }
+ else
+ return i->second;
+ }
+
+
+ gpstk::Stats<double> ObsClockModel::simpleOrdClock(const ORDEpoch& oe)
+ throw(gpstk::InvalidValue)
+ {
+ gpstk::Stats<double> stat;
+
+ status.clear();
+
+ ORDEpoch::ORDMap::const_iterator itr;
+ for(itr = oe.ords.begin(); itr != oe.ords.end(); itr++)
+ {
+ short prn = itr->first;
+ const ObsRngDev& ord=itr->second;
+ switch (modes[prn])
+ {
+ case IGNORE:
+ status[prn] = MANUAL;
+ break;
+ case ALWAYS:
+ status[prn] = USED;
+ break;
+ case HEALTHY:
+ // SV Health bits are defined in ICD-GPS-200C-IRN4 20.3.3.3.1.4
+ // It is a 6-bit value where the MSB (0x20) indicates a summary of
+ // of NAV data health where 0 = OK, 1 = some or all BAD
+ if (ord.getHealth() & 0x20)
+ status[prn] = SVHEALTH;
+ break;
+ }
+
+ if (ord.getElevation() < elvmask)
+ status[prn] = ELEVATION;
+
+ if (status[prn] == USED)
+ stat.Add(ord.getORD());
+ }
+
+ if (stat.N() > 2)
+ {
+ for (itr = oe.ords.begin(); itr != oe.ords.end(); itr++)
+ {
+ short prn = itr->first;
+
+ // don't override other types of stripping
+ if (status[prn] == USED)
+ {
+ // get absolute distance of residual from mean
+ double res = itr->second.getORD();
+ double dist = res - stat.Average();
+ if(fabs(dist) > (sigmam * stat.StdDev()))
+ status[prn] = SIGMA;
+ }
+ }
+
+ // now, recompute the statistics on unstripped residuals to get
+ // the clock bias value
+ stat.Reset();
+ for (itr = oe.ords.begin(); itr != oe.ords.end(); itr++)
+ if (status[itr->second.getPRN()] == USED)
+ stat.Add(itr->second.getORD());
+
+ }
+ return stat;
+ }
+
+ void ObsClockModel::dump(ostream& s, short detail) const throw()
+ {
+ s << "min elev:" << elvmask
+ << ", max sigma:" << sigmam
+ << ", prn/status: ";
+
+ ObsClockModel::PRNStatusMap::const_iterator i;
+ for ( i=status.begin(); i!= status.end(); i++)
+ s << i->first << "/" << i->second << " ";
+ }
+}
+
diff --git a/trunk/src/ObsClockModel.hpp b/trunk/src/ObsClockModel.hpp
new file mode 100644
index 0000000..18ee250
--- /dev/null
+++ b/trunk/src/ObsClockModel.hpp
@@ -0,0 +1,211 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ObsClockModel.hpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef OBSCLOCKMODEL_HPP
+#define OBSCLOCKMODEL_HPP
+
+#include <map>
+#include "Exception.hpp"
+#include "gps_constants.hpp"
+
+#include "Stats.hpp"
+#include "ClockModel.hpp"
+#include "ORDEpoch.hpp"
+
+/**
+ * @file ObsClockModel.hpp
+ * Yet another abstract class used to define an interface to a model that
+ * accepts GPS observation datat and determines a clock model from it. It
+ * mainly adds the ability to specify the characteristcs of the observations
+ * that are to be accpeted into the model. It also defines a function that
+ * accepts Observed Range Deviations and computes the mean of these (that
+ * meet the selection criteria) as an estimate of the receiver clock.
+ */
+
+
+namespace gpstk
+{
+ class ObsClockModel : public ClockModel
+ {
+ public:
+ enum PRNMode
+ {
+ IGNORE, ///< do not include ORDs from this SV
+ HEALTHY, ///< include ORDs from this SV if it is healthy
+ ALWAYS ///< always include ORDs from this SV
+ };
+
+ enum PRNStatus
+ {
+ USED, ///< ORD used in the clock bias computation
+ MANUAL, ///< ORD removed from computation by user request
+ SVHEALTH, ///< ORD removed from computation because SV unhealthy
+ ELEVATION, ///< ORD removed from computation because SV elevation < mask
+ SIGMA ///< ORD removed from computation because it was outlier
+ };
+
+ /// defines a store for each SV's #PRNMode
+ typedef std::map<short, PRNMode> PRNModeMap;
+
+ /// defines a store for each SV's #PRNStatus
+ typedef std::map<short, PRNStatus> PRNStatusMap;
+
+ ObsClockModel(double sigma = 2, double elmask = 0, PRNMode mode = ALWAYS)
+ : sigmam(sigma), elvmask(elmask)
+ {
+ status.clear();
+ setPRNMode(mode);
+ }
+
+ virtual void addEpoch(const ORDEpoch& re) throw(gpstk::InvalidValue) = 0;
+
+ // set accessor methods ----------------------------------------------
+
+ /**
+ * set a PRNMode for all SVs.
+ * \param right #PRNModeMap
+ * \return a reference to this object
+ */
+ ObsClockModel& setPRNModeMap(const PRNModeMap& right) throw();
+
+ /**
+ * set the PRNMode for a particular SV.
+ * \param prn PRN number of the SV
+ * \param mode #PRNMode for the SV
+ * \return a reference to this object
+ */
+ ObsClockModel& setPRNMode(short prn, PRNMode mode) throw()
+ { modes[prn] = mode; return *this; }
+
+ /**
+ * set the PRNMode for all SVs
+ * \param mode #PRNMode for the SVs
+ * \return a reference to this object
+ */
+ ObsClockModel& setPRNMode(PRNMode mode) throw()
+ {
+ for(int prn = 1; prn <= gpstk::MAX_PRN; prn++)
+ modes[prn] = mode;
+ return *this;
+ }
+
+ /**
+ * set the sigma multiple for ORD stripping.
+ * \param right sigma multiple value
+ * \return a reference to this object
+ */
+ ObsClockModel& setSigmaMultiplier(double right) throw()
+ { sigmam = right; return *this; }
+
+ /**
+ * set the elevation mask angle for ORD stripping.
+ * \param right elevation mask angle value
+ * \return a reference to this object
+ */
+ ObsClockModel& setElevationMask(double right) throw()
+ { elvmask = right; return *this; }
+
+ // get accessor methods ----------------------------------------------
+
+ /**
+ * get the map indicating how each ORD was used in the bias computation.
+ * \return a const reference to the #PRNStatusMap
+ */
+ const PRNStatusMap& getPRNStatusMap() const throw()
+ { return status; };
+
+ /**
+ * get the status of a particular ORD in the bias computation.
+ * \param prn the PRN number indicating the ORD of interest
+ * \return #PRNStatus
+ * \exception ObjectNotFound an ORD for that SV is not in the map
+ */
+ PRNStatus getPRNStatus(short prn) const throw(gpstk::ObjectNotFound);
+
+ /**
+ * get the map indicating how to use each ORD in the bias computation.
+ * \return a const reference to the #PRNModeMap
+ */
+ const PRNModeMap& getPRNModeMap() const throw() { return modes; }
+
+ /**
+ * get how a particular ORD is to be used in the bias computation.
+ * \param prn the PRN number indicating the mode of interest
+ * \return #PRNMode
+ * \exception ObjectNotFound a mode for that SV is not in the map
+ */
+ PRNMode getPRNMode(short prn) const throw(gpstk::ObjectNotFound);
+
+ /**
+ * returns the sigma multiple value used for ORD stripping.
+ * \return sigma multiple
+ */
+ double getSigmaMultiplier() const throw() { return sigmam; }
+
+ /**
+ * returns the elevation mask angle used for ORD stripping.
+ * \return elevation mask angle
+ */
+ double getElevationMask() const throw() { return elvmask; }
+
+ /// Computes an average of all ORD in the epoch that pass the elevation
+ /// mask, and PRNModeMap tests, removes those ORDS that exceede the sigmam
+ /// value and returns the resulting statistics. This is effectivly a simple
+ /// single epoch clock model.
+ Stats<double> simpleOrdClock(const ORDEpoch& oe)
+ throw(gpstk::InvalidValue);
+
+ virtual void dump(std::ostream& s, short detail=1) const throw();
+
+ friend std::ostream& operator<<(std::ostream& s, const ObsClockModel& r)
+ { r.dump(s, 0); return s; };
+
+ protected:
+
+ double sigmam; ///< sigma multiple value for ORD stripping
+ double elvmask; ///< elevation mask angle for ORD stripping
+ PRNStatusMap status; ///< map of ORD usage in bias computation
+ PRNModeMap modes; ///< map of modes to use ORDs in bias computation
+ };
+}
+#endif
diff --git a/trunk/src/ObsRngDev.cpp b/trunk/src/ObsRngDev.cpp
new file mode 100644
index 0000000..10c66eb
--- /dev/null
+++ b/trunk/src/ObsRngDev.cpp
@@ -0,0 +1,332 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ObsRngDev.cpp#7 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ObsRngDev.hpp
+ * Observed range deviation computation & storage.
+ */
+
+#include "EphemerisRange.hpp"
+#include "EngEphemeris.hpp"
+#include "BCEphemerisStore.hpp"
+#include "MiscMath.hpp"
+#include "icd_200_constants.hpp"
+
+#include "ObsRngDev.hpp"
+
+namespace gpstk
+{
+
+ // these are the L1-L2 correction factors per ICD-GPS-200, sec. 20.3.3.3.3.2
+ static const double GAMMA = 1.64694444444444444; // (1575.42/1227.6)^2
+ static const double IGAMMA = 1-GAMMA;
+
+ bool ObsRngDev::debug=false;
+
+ ObsRngDev::ObsRngDev(
+ double prange,
+ short prn,
+ const DayTime& time,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ GeoidModel& gm,
+ bool svTime)
+ : obstime(time), prn(prn), ord(0)
+ {
+ computeOrd(prange, rxpos, eph, gm, svTime);
+ Geodetic gx(rxpos, &gm);
+ NBTropModel nb(gx.getAltitude(), gx.getLatitude(), time.DOYday());
+ computeTrop(nb);
+ }
+
+ ObsRngDev::ObsRngDev(
+ double prange,
+ short prn,
+ const DayTime& time,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ GeoidModel& gm,
+ const IonoModelStore& ion,
+ IonoModel::Frequency fq,
+ bool svTime)
+ : obstime(time), prn(prn), ord(0)
+ {
+ computeOrd(prange, rxpos, eph, gm, svTime);
+ Geodetic gx(rxpos, &gm);
+ NBTropModel nb(gx.getAltitude(), gx.getLatitude(), time.DOYday());
+ computeTrop(nb);
+ iono = ion.getCorrection(time, gx, elevation, azimuth, fq);
+ ord -= iono;
+ }
+
+ ObsRngDev::ObsRngDev(
+ double prange,
+ short prn,
+ const DayTime& time,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ GeoidModel& gm,
+ const TropModel& tm,
+ bool svTime)
+ : obstime(time), prn(prn), ord(0)
+ {
+ computeOrd(prange, rxpos, eph, gm, svTime);
+ computeTrop(tm);
+ }
+
+ ObsRngDev::ObsRngDev(
+ double prange,
+ short prn,
+ const DayTime& time,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ GeoidModel& gm,
+ const TropModel& tm,
+ const IonoModelStore& ion,
+ IonoModel::Frequency fq,
+ bool svTime)
+ : obstime(time), prn(prn), ord(0)
+ {
+ computeOrd(prange, rxpos, eph, gm, svTime);
+ computeTrop(tm);
+ Geodetic gx(rxpos, &gm);
+ iono = ion.getCorrection(time, gx, elevation, azimuth, fq);
+ ord -= iono;
+ }
+
+
+ ObsRngDev::ObsRngDev(
+ double prange1, double prange2,
+ short prn,
+ const DayTime& time,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ GeoidModel& gm,
+ bool svTime)
+ : obstime(time), prn(prn), ord(0)
+ {
+ // for dual frequency see ICD-GPS-211, section 20.3.3.3.3.3
+ double icpr = (prange2 - GAMMA * prange1)/IGAMMA;
+ iono = prange1 - icpr;
+
+ computeOrd(icpr, rxpos, eph, gm, svTime);
+ Geodetic gx(rxpos, &gm);
+ NBTropModel nb(gx.getAltitude(), gx.getLatitude(), time.DOYday());
+ computeTrop(nb);
+ }
+
+
+ ObsRngDev::ObsRngDev(
+ double prange1, double prange2,
+ short prn,
+ const DayTime& time,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ const GeoidModel& gm,
+ const TropModel& tm,
+ bool svTime)
+ : obstime(time), prn(prn), ord(0)
+ {
+ // for dual frequency see ICD-GPS-211, section 20.3.3.3.3.3
+ double icpr = (prange2 - GAMMA * prange1)/IGAMMA;
+ iono = prange1 - icpr;
+
+ computeOrd(icpr, rxpos, eph, gm, svTime);
+ computeTrop(tm);
+ }
+
+ // This should be used for obs in GPS (i.e. receiver) time.
+ void ObsRngDev::computeOrdRx(
+ double obs,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ const GeoidModel& gm)
+ {
+ // This algorithm should really be moved to Xvt.preciseRho() or somewhere
+ Xvt svpos;
+ double rawrange;
+ double tof = 0.070;
+ double tof_old = 0;
+ DayTime ttime;
+
+ for (int i=0; fabs(tof-tof_old) > 1.0e-13 && i<=5; i++)
+ {
+ ttime = obstime - tof;
+ tof_old = tof;
+
+ svpos = eph.getPrnXvt(prn, ttime);
+
+ rawrange = rxpos.slantRange(svpos.x);
+ tof = rawrange/gm.c();
+
+ // Perform earth rotation correction
+ double wt = gm.angVelocity()*tof;
+ Triple tmp;
+ tmp[0] = svpos.x[0] + wt*svpos.x[1];
+ tmp[1] = -wt*svpos.x[0] + svpos.x[1];
+ tmp[2] = svpos.x[2];
+
+ rawrange = rxpos.slantRange(tmp);
+ tof = rawrange/gm.c();
+ }
+
+ double svclkbias = svpos.dtime*gm.c();
+ if (typeid(eph) == typeid(BCEphemerisStore))
+ {
+ const BCEphemerisStore& bce = dynamic_cast<const BCEphemerisStore&>(eph);
+ const EngEphemeris& eph = bce.findEphemeris(prn,obstime);
+ iodc = eph.getIODC();
+ health = eph.getHealth();
+ }
+
+ // Now add in the corrections
+ rho = rawrange - svclkbias;
+
+ // compute the azimuth and elevation of the SV
+ azimuth = rxpos.azAngle(svpos.x);
+ elevation = rxpos.elvAngle(svpos.x);
+
+ // and now calculate the ORD
+ ord = obs - rho;
+
+ if (debug)
+ {
+ std::ios::fmtflags oldFlags = std::cout.flags();
+ std::cout << *this << std::endl
+ << std::setprecision(3) << std::fixed
+ << " obs=" << obs
+ << ", rho=" << (double)rho
+ << ", obs-rho=" << (double)ord
+ << std::setprecision(9)
+ << ", tof=" << tof
+ << std::endl
+ << std::setprecision(3)
+ << " sv.x=" << svpos.x
+ << ", sv.v=" << svpos.v
+ << std::endl
+ << " rx.x=" << rxpos
+ << std::setprecision(4) << std::scientific
+ << ", sv bias=" << svpos.dtime
+ << ", sv drift=" << svpos.ddtime
+ << std::endl;
+ std::cout.flags(oldFlags);
+ }
+ }
+
+
+// This should be used for obs in SV time
+ void ObsRngDev::computeOrdTx(
+ double obs,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ const GeoidModel& gm)
+ {
+ Xvt svpos = eph.getPrnXvt(prn, obstime);
+
+ // compute the range from the station to the SV
+ rho = svpos.preciseRho(rxpos, gm);
+
+ // and now calculate the ORD
+ ord = obs - rho;
+
+ if (typeid(eph) == typeid(BCEphemerisStore))
+ {
+ const BCEphemerisStore& bce = dynamic_cast<const BCEphemerisStore&>(eph);
+ const EngEphemeris& eph = bce.findEphemeris(prn,obstime);
+ iodc = eph.getIODC();
+ health = eph.getHealth();
+ }
+
+ // compute the azimuth and elevation of the SV
+ azimuth = rxpos.azAngle(svpos.x);
+ elevation = rxpos.elvAngle(svpos.x);
+
+ if (debug)
+ {
+ std::ios::fmtflags oldFlags = std::cout.flags();
+ std::cout << *this << std::endl
+ << std::setprecision(3) << std::fixed
+ << " obs=" << obs
+ << ", rho=" << (double)rho
+ << ", obs-rho=" << (double)ord
+ << std::endl
+ << std::setprecision(3)
+ << " sv.x=" << svpos.x
+ << ", sv.v=" << svpos.v
+ << std::endl
+ << " rx.x=" << rxpos
+ << std::setprecision(4) << std::scientific
+ << ", sv bias=" << svpos.dtime
+ << ", sv drift=" << svpos.ddtime
+ << std::endl;
+ std::cout.flags(oldFlags);
+ }
+ }
+
+ void ObsRngDev::computeTrop(const TropModel& tm)
+ {
+ trop = tm.correction(elevation);
+ ord -= trop;
+ }
+
+ std::ostream& operator<<(std::ostream& s, const ObsRngDev& ord)
+ throw()
+ {
+ std::ios::fmtflags oldFlags = s.flags();
+ s << "t=" << ord.obstime.printf("%Y/%03j %02H:%02M:%04.1f")
+ << " prn=" << std::setw(2) << ord.prn
+ << std::setprecision(4)
+ << " az=" << std::setw(3) << ord.azimuth
+ << " el=" << std::setw(2) << ord.elevation
+ << std::hex
+ << " h=" << std::setw(1) << ord.health
+ << std::dec << std::setprecision(4)
+ << " ord=" << ord.ord
+ << " ion=" << ord.iono
+ << " trop=" << ord.trop
+ << std::hex
+ << " iodc=" << ord.iodc;
+ s.flags(oldFlags);
+ return s;
+ }
+}
diff --git a/trunk/src/ObsRngDev.hpp b/trunk/src/ObsRngDev.hpp
new file mode 100644
index 0000000..24a33ab
--- /dev/null
+++ b/trunk/src/ObsRngDev.hpp
@@ -0,0 +1,327 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ObsRngDev.hpp#5 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ObsRngDev.hpp
+ * Observed range deviation computation & storage.
+ */
+
+
+#ifndef OBSRNGDEV_HPP
+#define OBSRNGDEV_HPP
+
+#include <ostream>
+
+#include "DayTime.hpp"
+#include "ECEF.hpp"
+#include "EphemerisStore.hpp"
+#include "Exception.hpp"
+#include "GPSGeoid.hpp"
+#include "IonoModelStore.hpp"
+#include "TropModel.hpp"
+#include "ValidType.hpp"
+
+namespace gpstk
+{
+
+/**
+ * A single (one observation from one sv), Observed Range Deviation (ORD).
+ * It contains all of the parameters that define an ORD and includes
+ * metadata on ORD computation such as SV position and health.
+ */
+ class ObsRngDev
+ {
+ public:
+
+ /**
+ * default constructor.
+ * Creates an empty, useless object to facilitate STL containers of this
+ * object.
+ */
+ ObsRngDev() throw() : obstime(DayTime::END_OF_TIME) {};
+
+ /**
+ * constructor.
+ * Creates an ORD, with no ionospheric correction and a default
+ * trop correction.
+ * \param prange the observed pseudorange
+ * \param prn the PRN number of the observed SV
+ * \param time the time of the observation
+ * \param rxpos the earth-centered, earth-fixed receiver position
+ * \param eph a store of either broadcast or precise ephemerides
+ * \param gm a GeoidModel for performing range calculations
+ * \param ion a store of nav based ionospheric models
+ * \param fq the GPS frequency (L1 or L2) from which the obs was made
+ * \param svTime true if prange is in SV time, false for RX time.
+ */
+ ObsRngDev(double prange,
+ short prn,
+ const DayTime& time,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ GeoidModel& gm,
+ bool svTime = false);
+ /**
+ * constructor.
+ * Creates an ORD, applies a single-frequency nav-message based
+ * ionospheric correction and a default trop correction.
+ * \param prange the observed pseudorange
+ * \param prn the PRN number of the observed SV
+ * \param time the time of the observation
+ * \param rxpos the earth-centered, earth-fixed receiver position
+ * \param eph a store of either broadcast or precise ephemerides
+ * \param gm a GeoidModel for performing range calculations
+ * \param ion a store of nav based ionospheric models
+ * \param fq the GPS frequency (L1 or L2) from which the obs was made
+ * \param svTime true if prange is in SV time, false for RX time.
+ */
+ ObsRngDev(double prange,
+ short prn,
+ const DayTime& time,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ GeoidModel& gm,
+ const IonoModelStore& ion,
+ IonoModel::Frequency fq,
+ bool svTime = false);
+ /**
+ * constructor.
+ * Creates an ORD, applies no ionospheric correction and
+ * a user-specified trop correction.
+ * \param prange the observed pseudorange
+ * \param prn the PRN number of the observed SV
+ * \param time the time of the observation
+ * \param rxpos the earth-centered, earth-fixed receiver position
+ * \param eph a store of either broadcast or precise ephemerides
+ * \param gm a GeoidModel for performing range calculations
+ * \param tm a TropModel for performing trop calculation
+ * \param ion a store of nav based ionospheric models
+ * \param fq the GPS frequency (L1 or L2) from which the obs was made
+ * \param svTime true if prange is in SV time, false for RX time.
+ */
+ ObsRngDev(double prange,
+ short prn,
+ const DayTime& time,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ GeoidModel& gm,
+ const TropModel& tm,
+ bool svTime = false);
+
+ /**
+ * constructor.
+ * Creates an ORD, applies a single-frequency nav-message based
+ * ionospheric correction and a user-specified trop correction.
+ * \param prange the observed pseudorange
+ * \param prn the PRN number of the observed SV
+ * \param time the time of the observation
+ * \param rxpos the earth-centered, earth-fixed receiver position
+ * \param eph a store of either broadcast or precise ephemerides
+ * \param gm a GeoidModel for performing range calculations
+ * \param tm a TropModel for performing trop calculation
+ * \param ion a store of nav based ionospheric models
+ * \param fq the GPS frequency (L1 or L2) from which the obs was made
+ * \param svTime true if prange is in SV time, false for RX time.
+ */
+ ObsRngDev(double prange,
+ short prn,
+ const DayTime& time,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ GeoidModel& gm,
+ const TropModel& tm,
+ const IonoModelStore& ion,
+ IonoModel::Frequency fq,
+ bool svTime = false);
+
+ /**
+ * constructor.
+ * Creates an ORD, applies a dual-frequency ionospheric correction
+ * and a default trop correction.
+ * \param prange the observed pseudorange
+ * \param prn the PRN number of the observed SV
+ * \param time the time of the observation
+ * \param rxpos the earth-centered, earth-fixed receiver position
+ * \param eph a store of either broadcast or precise ephemerides
+ * \param gm a GeoidModel for performing range calculations
+ * \param svTime true if prange is in SV time, false for RX time.
+ */
+ ObsRngDev(double prange1, double prange2,
+ short prn,
+ const DayTime& time,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ GeoidModel& gm,
+ bool svTime = false);
+
+ /**
+ * constructor.
+ * Creates an ORD, applies a dual-frequency ionospheric correction
+ * and a user-specified trop correction.
+ * \param prange the observed pseudorange
+ * \param prn the PRN number of the observed SV
+ * \param time the time of the observation
+ * \param rxpos the earth-centered, earth-fixed receiver position
+ * \param eph a store of either broadcast or precise ephemerides
+ * \param gm a GeoidModel for performing range calculations
+ * \param tm a TropModel for performing trop calculations
+ * \param svTime true if prange is in SV time, false for RX time.
+ */
+ ObsRngDev(double prange1, double prange2,
+ short prn,
+ const DayTime& time,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ const GeoidModel& gm,
+ const TropModel& tm,
+ bool svTime = false);
+
+ /// destructor
+ virtual ~ObsRngDev() throw() {}
+
+ // get accessor methods ----------------------------------------------
+ /**
+ * returns the time of the SV observation
+ * \return time of SV observation
+ */
+ const DayTime& getTime() const throw() { return obstime; }
+
+ /**
+ * returns the PRN number of the observed SV
+ * \return PRN number
+ */
+ short getPRN() const throw() { return prn; }
+
+ /**
+ * returns the SV azimuth angle (in degrees) in relation to the rx
+ * \return SV azimuth angle
+ */
+ vfloat getAzimuth() const throw() { return azimuth; }
+
+ /**
+ * returns elevation (in degrees) of the SV in relation to the rx
+ * \return SV elevation angle
+ */
+ vfloat getElevation() const throw() { return elevation; }
+
+ /**
+ * returns the 6-bit SV health bitfield from epehemeris, subframe 1
+ * \return SV health bitfield
+ */
+ vshort getHealth() const throw() { return health; }
+
+ /**
+ * returns the Issue Of Data, Clock (IODC) from ephemeris, subframe 1
+ * \return ephemeris IODC
+ */
+ vshort getIODC() const throw() { return iodc; }
+
+ /**
+ * returns the observed range deviation (ORD) (in meters)
+ * \returns ORD
+ */
+ double getORD() const throw() { return ord; }
+
+ /**
+ * returns the ionospheric offset (in meters)
+ * \returns ionospheric offset
+ */
+ vdouble getIono() const throw() { return iono; }
+
+ /**
+ * returns the tropospheric offset (in meters)
+ * \returns tropospheric offset
+ */
+ vdouble getTrop() const throw() { return trop; }
+
+ friend std::ostream& operator<<(std::ostream& s,
+ const ObsRngDev& r) throw();
+
+ void applyClockOffset(double clockOffset)
+ {ord -= clockOffset;}
+
+ static bool debug;
+
+ private:
+ void computeOrd(double obs,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ const GeoidModel& gm,
+ bool svTime)
+ {
+ if (svTime) computeOrdTx(obs, rxpos, eph, gm);
+ else computeOrdRx(obs, rxpos, eph, gm);
+ return;
+ }
+
+
+
+ void computeOrdTx(double obs,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ const GeoidModel& gm);
+
+ void computeOrdRx(double obs,
+ const ECEF& rxpos,
+ const EphemerisStore& eph,
+ const GeoidModel& gm);
+
+ void computeTrop(const TropModel& tm);
+
+
+ protected:
+ DayTime obstime; ///< time of SV observation
+ short prn; ///< PRN number of observed SV
+ double ord; ///< difference between expected and observed range
+
+ vfloat azimuth; ///< SV azimuth
+ vfloat elevation; ///< SV elevation
+ vshort health; ///< SV health bitfield
+ vshort iodc; ///< ephemeris IODC
+ vdouble rho; ///< expected geometric range
+ vdouble iono; ///< iono correction (meters)
+ vdouble trop; ///< trop correction (meters)
+ };
+}
+#endif
+
diff --git a/trunk/src/ObservationStore.cpp b/trunk/src/ObservationStore.cpp
new file mode 100644
index 0000000..866a99d
--- /dev/null
+++ b/trunk/src/ObservationStore.cpp
@@ -0,0 +1,338 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ObservationStore.cpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ObservationStore.cpp
+ * A class encapsulating observation data (roughly standard RINEX obs and met files).
+ */
+
+#include "ObservationStore.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+namespace gpstk
+{
+ void ObsEpoch::insertObservation( const Observation& inobs,
+ const short svId )
+ throw()
+ {
+ obs[svId] = inobs;
+ }
+
+ void ObsEpoch::insertObservation( const ObservationPlus& op )
+ throw()
+ {
+ insertObservation(op.obs, op.svId);
+ }
+
+ void RxObsData::insertObservation( const Observation& obs,
+ const DayTime& t,
+ const short svId )
+ throw()
+ {
+ epochs[t].insertObservation(obs, svId);
+ epochs[t].t = t;
+ if (t > lastTime) lastTime=t;
+ if (t < firstTime) firstTime=t;
+ prnList.insert(svId);
+ }
+
+ void RxObsData::insertObservation( const ObservationPlus& op )
+ throw()
+ {
+ insertObservation(op.obs, op.time, op.svId);
+ }
+
+ void RxObsData::insertEpoch( const ObsEpoch& epoch )
+ throw()
+ {
+ epochs[epoch.t] = epoch;
+ epochs[epoch.t].t = epoch.t;
+ if (epoch.t > lastTime) lastTime = epoch.t;
+ if (epoch.t < firstTime) firstTime = epoch.t;
+
+ ObsMap::const_iterator i;
+ for(i=epoch.obs.begin(); i!=epoch.obs.end(); i++)
+ prnList.insert(i->first);
+ }
+
+ WxObservation WxObsData::getMostRecent( const DayTime& t ) const
+ throw()
+ {
+ if(obs.size() == 0)
+ return WxObservation();
+
+ WxObsMap::const_iterator i = obs.upper_bound(t);
+ if (i== obs.end())
+ i--;
+ if (i != obs.begin())
+ i--;
+ return i->second;
+ };
+
+ void WxObsData::insertObservation( const WxObservation& wx )
+ throw()
+ {
+ obs[wx.t] = wx;
+ if (wx.t > lastTime) lastTime=wx.t;
+ if (wx.t < firstTime) firstTime=wx.t;
+ }
+
+ bool WxObservation::isAllValid() const
+ throw()
+ {
+ return temperatureSource != noWx
+ && pressureSource != noWx
+ && humiditySource != noWx;
+ };
+
+ void WxObsData::flush(const DayTime& t) throw()
+ {
+ // remove data from the WxObsMap
+ // map is sorted by time, stop removing data at
+ // first point after t
+ WxObsMap::iterator i = obs.begin();
+ while (i != obs.end())
+ {
+ if (i->first < t)
+ {
+ obs.erase(i);
+ i = obs.begin();
+ firstTime = i->second.t;
+ }
+ else
+ break;
+ }
+ }
+
+ WxObservation WxObsData::getWxObservation(const DayTime& t,
+ unsigned iv,
+ bool interpolate) const
+ throw(ObjectNotFound)
+ {
+ if (obs.empty())
+ {
+ ObjectNotFound e("No WxObservation available near time " +
+ t.printf("%02H:%02M:%02S on day %03j of %4Y"));
+ GPSTK_THROW(e);
+ }
+
+ // get the first object after time t;
+ WxObsMap::const_iterator after = obs.upper_bound(t);
+
+ if (after == obs.begin())
+ {
+ const WxObservation& wxa = after->second;
+ if ((wxa.t >= (t - iv)) && (wxa.t <= (t + iv)))
+ {
+ // only after point fits
+ return wxa;
+ }
+ else
+ {
+ ObjectNotFound e("No WxObservation available near time " +
+ t.printf("%02H:%02M:%02S on day %03j of %4Y"));
+ GPSTK_THROW(e);
+ }
+ }
+
+
+ // get the first object at or before time t;
+ WxObsMap::const_iterator before = after;
+ before--;
+
+ if (after == obs.end())
+ {
+ const WxObservation& wxb = before->second;
+ if((wxb.t >= (t - iv)) && (wxb.t <= (t + iv)))
+ {
+ // only before point fits
+ return wxb;
+ }
+ else
+ {
+ ObjectNotFound e("No WeatherData available near time " +
+ t.printf("%02H:%02M:%02S on day %03j of %4Y"));
+ GPSTK_THROW(e);
+ }
+ }
+ else
+ {
+ const WxObservation& wxa = after->second;
+ const WxObservation& wxb = before->second;
+
+ if (interpolate)
+ {
+ if((wxb.t >= (t - iv)) && (wxb.t <= (t + iv)))
+ {
+ if ((wxa.t >= (t - iv)) && (wxa.t <= (t + iv)))
+ {
+ // both points fit, linearly interpolate and create
+ // a WeatherData object with those values
+ double dtw = wxa.t - wxb.t;
+ double dt = t - wxb.t;
+
+ double slope = (wxa.pressure - wxb.pressure) / dtw;
+ double pressure = slope * dt + wxb.pressure;
+
+ slope = (wxa.humidity - wxb.humidity) / dtw;
+ double humidity = slope * dt + wxb.humidity;
+
+ slope = (wxa.temperature - wxb.temperature) / dtw;
+ double temp = slope * dt + wxb.temperature;
+
+ WxObservation wx(t, temp, pressure, humidity);
+ return wx;
+ }
+ else
+ {
+ // only before point fits
+ return wxb;
+ }
+ }
+ else if ((wxa.t >= (t - iv)) && (wxa.t <= (t + iv)))
+ {
+ // only after point fits
+ return wxa;
+ }
+ else
+ {
+ ObjectNotFound e("No WeatherData available near time " +
+ t.printf("%02H:%02M:%02S on day %03j of %4Y"));
+ GPSTK_THROW(e);
+ }
+ }
+ else
+ {
+ if((wxb.t >= (t - iv)) && (wxb.t <= (t + iv)))
+ {
+ if ((wxa.t >= (t - iv)) && (wxa.t <= (t + iv)))
+ {
+ // both points fit, return closer point, or
+ // before point if at same distance
+ double diffa = wxa.t - t;
+ double diffb = t - wxb.t;
+ return(diffa < diffb ? wxa : wxb);
+ }
+ else
+ {
+ // only before point fits
+ return wxb;
+ }
+ }
+ else if ((wxa.t >= (t - iv)) && (wxa.t <= (t + iv)))
+ {
+ // only after point fits
+ return wxa;
+ }
+ else
+ {
+ ObjectNotFound e("No WeatherData available near time " +
+ t.printf("%02H:%02M:%02S on day %03j of %4Y"));
+ GPSTK_THROW(e);
+ }
+ }
+ }
+ }
+
+ // These are just to facilitate debugging.
+ std::ostream& operator<<(std::ostream& s,
+ const gpstk::Observation& obs)
+ throw()
+ {
+ s << obs.range << ", " << obs.phase << ", " << obs.doppler
+ << ", " << obs.SNR << ", " << obs.channel << ", ";
+ switch (obs.carrier) {
+ case gpstk::Observation::cfL1: s << "L1 "; break;
+ case gpstk::Observation::cfL2: s << "L2 "; break;
+ case gpstk::Observation::cfL5: s << "L5 "; break;
+ case gpstk::Observation::cfOther: s << "Other "; break;
+ }
+ switch (obs.code) {
+ case gpstk::Observation::rcCA: s << "CA"; break;
+ case gpstk::Observation::rcPY: s << "PY"; break;
+ case gpstk::Observation::rcZ: s << "Z"; break;
+ case gpstk::Observation::rcRC: s << "RC"; break;
+ case gpstk::Observation::rcOther: s << "Other"; break;
+ }
+ s << std::endl;
+ return s;
+ }
+
+ std::ostream& operator<<(std::ostream& s,
+ const gpstk::ObsEpoch& oe)
+ throw()
+ {
+ s << "epoch t=" << oe.t << ", dt=" << oe.dt << std::endl;
+ gpstk::ObsMap::const_iterator i;
+ for (i=oe.obs.begin(); i!=oe.obs.end(); i++)
+ s << "prn " << i->first << ", " << i->second;
+ return s;
+ }
+
+ std::ostream& operator<<(std::ostream& s,
+ const gpstk::RxObsData& rod)
+ throw()
+ {
+ s << rod.rxId << " data spans " << rod.firstTime << " to "
+ << rod.lastTime << std::endl;
+ gpstk::ObsEpochMap::const_iterator i;
+ for (i=rod.epochs.begin(); i!=rod.epochs.end(); i++)
+ s << "map t=" << i->first << ", " << i->second;
+ return s;
+ }
+
+ std::ostream& operator<<(std::ostream& s,
+ const gpstk::WxObservation& obs)
+ throw()
+ {
+ // Note that this does not flag where the wx data came from
+ s << obs.t << ", t=" << obs.temperature
+ << ", p=" << obs.pressure
+ << ", rh=" << obs.humidity;
+ return s;
+ }
+
+
+} // namespace
diff --git a/trunk/src/ObservationStore.hpp b/trunk/src/ObservationStore.hpp
new file mode 100644
index 0000000..bda27c7
--- /dev/null
+++ b/trunk/src/ObservationStore.hpp
@@ -0,0 +1,338 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ObservationStore.hpp#3 $"
+
+/**
+ * @file ObservationStore.hpp
+ * A class encapsulating observation data (roughly standard RINEX obs and met files).
+ * It roughly mirrors the data that is contained in
+ * an smoothed data file or the combination of a RINEX obs and met file.
+ *
+ * The basic idea is that it stands alone. Any computed values
+ * or related data is managed outside of this set of classes.
+ */
+
+#ifndef GPSTK_OBSERVATIONSTORE_HPP
+#define GPSTK_OBSERVATIONSTORE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <map>
+#include <set>
+#include <iostream>
+
+#include "DayTime.hpp"
+
+namespace gpstk
+{
+ /// This is a single range/phase/doppler at a single time. It could be a
+ /// smoothed pseudorange, a raw observation from a single carrier or
+ /// whatever. There is no time since it is expected to be part of an
+ /// epoch of observations with a single time.
+ struct Observation
+ {
+ /// Constructor
+ Observation() throw()
+ :range(0), phase(0), doppler(0), SNR(0), channel(0),
+ code(rcOther), carrier(cfOther) {}
+
+ double range; ///< the range in meters
+ double phase; ///< the phase in meters
+ double doppler; ///< the doppler in meters/sec
+ float SNR; ///< signal to noise ratio in dB/Hz
+ short channel; ///< what channel this was collected on
+
+ /// An enumeration of the various types of ranging codes.
+ enum RangingCode
+ {
+ rcCA, ///< CA Code
+ rcPY, ///< Y Code
+ rcZ, ///< Z Code
+ rcRC, ///< RC Code
+ rcOther ///< Unspecified
+ };
+
+ /// An enumeration of the various types of carrier frequencies.
+ enum CarrierFrequency
+ {
+ cfL1, ///< L1
+ cfL2, ///< L2
+ cfL5, ///< L5
+ cfOther ///< Unspecified
+ };
+
+ RangingCode code; ///< the ranging code for this observation
+ CarrierFrequency carrier; ///< the carrier freq. for this observation
+
+ /** Friendly output operator.
+ * @param s the output stream to which the Observation data is written
+ * @param obs the Observation to send to the ostream
+ * @return a reference to the modified ostream
+ */
+ friend std::ostream& operator<<(std::ostream& s,
+ const Observation& obs) throw();
+ };
+
+
+ /// This is a superstructure for the Observation structure.
+ /// It helps with insertion of observations into the RxObsData
+ /// structure. Look below to see how.
+ struct ObservationPlus
+ {
+ Observation obs; ///< the observation
+ DayTime time; ///< measurement time in DayTime format
+ unsigned rxId; ///< some identifying receiver number
+ short svId; ///< the PRN number for this measurement's SV
+ };
+
+ /// The key for this map is the prn of the SV
+ typedef std::map<short, Observation> ObsMap;
+
+ /// This is a set of observations (all PRNs) collected at a single point
+ /// in time from a single receiver.
+ struct ObsEpoch
+ {
+ /// Constructor
+ ObsEpoch() throw()
+ :t(DayTime::END_OF_TIME),dt(0) {};
+
+ /** Insert an ObservationPlus.
+ * @param op the ObservationPlust to insert
+ */
+ void insertObservation(const ObservationPlus& op) throw();
+ /** Insert an Observation for a specific SV.
+ * @param obs the Observation to insert
+ * @param svId the SV that Observation belongs to.
+ */
+ void insertObservation(const Observation& obs,
+ const short svId) throw();
+
+ /// When this data was collected, in Rx GPS time.
+ DayTime t;
+
+ /// The receiver clock offset for this epoch.
+ /// (an optional RINEX value)
+ double dt;
+
+ /// The observations indexed by PRN.
+ ObsMap obs;
+
+ /** Friendly output operator.
+ * @param s the output stream to send output to.
+ * @param oe the ObsEpoch to send to the output stream
+ * @return a reference to the modified ostream
+ */
+ friend std::ostream& operator<<(std::ostream& s,
+ const ObsEpoch& oe) throw();
+ };
+
+
+ /// This is a map of those epochs over time. The key should be the
+ /// same time as the time of the epoch
+ typedef std::map<DayTime, ObsEpoch> ObsEpochMap;
+
+ /// This is a time history of epochs from a single receiver.
+ struct RxObsData
+ {
+ /// Constructor
+ RxObsData() throw()
+ :firstTime(DayTime::END_OF_TIME), lastTime(DayTime::BEGINNING_OF_TIME) {};
+
+ /** Insert an ObservationPlus object.
+ * @param op the ObservationPlus to insert.
+ */
+ void insertObservation(const ObservationPlus& op) throw();
+
+ /** Insert an Observation object for a specific time and SV.
+ * @param obs the Observation object
+ * @param t the time of the Observation
+ * @param svId the SV that the Observation is of.
+ */
+ void insertObservation(const Observation& obs,
+ const DayTime& t,
+ const short svId) throw();
+
+ /** Insert an Epoch of Observations.
+ * @param epoch the ObsEpoch object to insert
+ */
+ void insertEpoch(const ObsEpoch& epoch) throw();
+
+ DayTime firstTime; ///< Time of the oldest data in this object.
+ DayTime lastTime; ///< Time of the youngest data in this object.
+
+ unsigned rxId; ///< the receiver id
+
+ /// This is a list of all PRNs that we have at least one observation
+ /// from for this receiver.
+ std::set<short> prnList;
+
+ // The actual data.
+ ObsEpochMap epochs;
+
+ /** Friendly output operator.
+ * @param s the output stream that the RxObsData is sent to
+ * @param rod the RxObsData that is sent to the output stream
+ * @return a reference to the modified ostream
+ */
+ friend std::ostream& operator<<(std::ostream& s,
+ const RxObsData& rod) throw();
+ };
+
+ /// A Single Weather Observation.
+ struct WxObservation
+ {
+ /// Default Constructor
+ WxObservation() throw()
+ : t(DayTime::END_OF_TIME), temperatureSource(noWx),
+ pressureSource(noWx), humiditySource(noWx)
+ {}
+
+ /** Constructor
+ * @param t the time of the observation
+ * @param temp the recorded temperature (deg. Centigrade)
+ * @param pres the recorded pressure (millibars)
+ * @param humid the recorded relative humidity (%)
+ */
+ WxObservation(const DayTime& t,
+ double temp,
+ double pres,
+ double humid)
+ throw()
+ :t(t),
+ temperature(temp), temperatureSource(obsWx),
+ pressure(pres), pressureSource(obsWx),
+ humidity(humid), humiditySource(obsWx)
+ {}
+
+
+ DayTime t; ///< Time that this data was collected, in Rx GPS time.
+ float temperature; ///< degrees Centigrade
+ float pressure; ///< millibars
+ float humidity; ///< percent
+
+ /// An enumeration of the various weather sources.
+ enum EWxSrc
+ {
+ noWx, ///< No weather measurements were available.
+ defWx, ///< Default weather was used.
+ obsWx ///< The Observed Weather was used.
+ };
+
+ enum EWxSrc temperatureSource; ///< source of the temperature meas.
+ enum EWxSrc pressureSource; ///< source of the pressure meas.
+ enum EWxSrc humiditySource; ///< source of the humidity meas.
+
+ /** Return whether all weather values in this object are valid.
+ * @return whether all weather values in this object are valid
+ */
+ bool isAllValid() const throw();
+
+ /** Friendly Output Operator.
+ * @param s the output stream to which data is sent
+ * @param obs the WxObservation from which the data comes
+ * @return a reference to the modified ostream
+ */
+ friend std::ostream& operator<<(std::ostream& s,
+ const WxObservation& obs) throw();
+ };
+
+
+ /// This is a map of weather observations over time. The key
+ /// should be the same time as the time of the epoch.
+ typedef std::map<DayTime, WxObservation> WxObsMap;
+
+ /// This is a time history weather data from a single site
+ struct WxObsData
+ {
+ /// Constructor
+ WxObsData() throw()
+ :firstTime(DayTime::END_OF_TIME),
+ lastTime(DayTime::BEGINNING_OF_TIME) {}
+
+ // First and last time of any data in this object
+ DayTime firstTime; ///< Time of the oldest data in this object.
+ DayTime lastTime; ///< Time of the youngest data in this object.
+
+ /// This is the identifier of the site.
+ unsigned rxId;
+
+ /// The actual data.
+ WxObsMap obs;
+
+ /** Get the last WxObservation made before time t.
+ * @return the WxObservation coming before time t
+ */
+ WxObservation getMostRecent(const DayTime& t) const throw();
+
+ /** Insert a WxObservation.
+ * @param obs the WxObservation to insert.
+ */
+ void insertObservation(const WxObservation& obs) throw();
+
+ /**
+ * Removes all stored #WxObservation objects older than time \a t.
+ * \param t remove #WxObservation objects older than this
+ */
+ void flush(const DayTime& t) throw();
+
+ /**
+ * Find a #WxObservation object for time \a t.
+ * A #WxObservation object will be retured. If interpolation is used,
+ * the first object immediately before or at time \a t and the first
+ * object immediately after time \a t will be linearly interpolated
+ * between to return a data point at time \a t. If there is not enough
+ * data to interpolate, the nearest real observation will be returned.
+ * Any object returned or used in the interpolation scheme must fit
+ * within the specified time interval around \a t (if \a iv is one
+ * hour, a point must be within an hour before or after time \a t.)
+ * \param t the time of interest
+ * \param interpolate true if interpolation between points is wanted
+ * \param iv time interval (seconds, before and after) around \a t
+ * \return a #WxObservation object
+ * \exception ObjectNotFound a #WxObservation object not available
+ */
+ WxObservation getWxObservation(const DayTime& t,
+ unsigned iv = 3600,
+ bool interpolate = true) const
+ throw(ObjectNotFound);
+ };
+} // namespace
+
+#endif
diff --git a/trunk/src/PCodeConst.hpp b/trunk/src/PCodeConst.hpp
new file mode 100644
index 0000000..cc9c9a2
--- /dev/null
+++ b/trunk/src/PCodeConst.hpp
@@ -0,0 +1,104 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/PCodeConst.hpp#1 $"
+// PCodeConst.hpp - Constants for GPS X-register manipulation
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+
+#ifndef PCodeConst_HPP
+#define PCodeConst_HPP
+
+//#define PCODE_DEBUG
+
+namespace gpstk
+{
+ /** @addtogroup code */
+ /**
+ * PCodeConst.hpp maintains a variety of "magic numbers" related
+ * to P-code generation and used throughout the P-code generator.
+ */
+ enum codeType { P_CODE, Y_CODE, BOTH };
+
+ /// Number of bits assumed to be in a unsigned long int
+ const int MAX_BIT = 32;
+
+ /// Maximum PRN Code number (1-n)
+ const int MAX_PRN_CODE = 37;
+
+ /// Number of 4 byte unsigned ints necessary to hold 6 sec of P-code
+ const long NUM_6SEC_WORDS = 1918125;
+
+ /// Number of 4 byte unsigned ints necessary to hold an X2 sequence (with leading delay)
+ const long NUM_X2_WORDS = 1918131;
+
+ /// INIT variables are starting conditions of 12-bit registers (IS-GPS-200)
+ const unsigned int X1A_INIT = 0x0248;
+ const unsigned int X1B_INIT = 0x0554;
+ const unsigned int X2A_INIT = 0x0925;
+ const unsigned int X2B_INIT = 0x0554;
+
+ /// TAPS variables denote which stages of 12-bit registers are XOR'd.
+ const unsigned int X1A_TAPS = 0x0CA0;
+ const unsigned int X1B_TAPS = 0x0F93;
+ const unsigned int X2A_TAPS = 0x0FDD;
+ const unsigned int X2B_TAPS = 0x098E;
+
+ /// X?_MAX_EPOCH is the maximum number of epochs in a sequence
+ const int XA_MAX_EPOCH = 3750;
+ const int XB_MAX_EPOCH = 3749;
+
+ /// X?_COUNT is the number of bits in an epoch
+ const int XA_COUNT = 4092;
+ const int XB_COUNT = 4093;
+
+ /** XA_EPOCH_DELAY and XB_EPOCH_DELAY allow for precession of X1B and X2B wrt
+ * to X1A and X2A at the end of each X1A epoch and X2A epoch. End
+ * of week delays are handled elsewhere.
+ */
+ const long XA_EPOCH_DELAY = 0;
+ const long XB_EPOCH_DELAY = 343;
+
+ /// The 37 chip delay at the end of every X2A epoch
+ const long X2A_EPOCH_DELAY = 37;
+ //@}
+} // namespace
+
+#endif
diff --git a/trunk/src/PRSolution.cpp b/trunk/src/PRSolution.cpp
new file mode 100644
index 0000000..7da24f2
--- /dev/null
+++ b/trunk/src/PRSolution.cpp
@@ -0,0 +1,713 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/PRSolution.cpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+/**
+ * @file PRSolution.cpp
+ * Autonomous pseudorange navigation solution, including RAIM algorithm
+ */
+
+#include "MathBase.hpp"
+#include "PRSolution.hpp"
+#include "EphemerisRange.hpp"
+#include "GPSGeoid.hpp"
+
+// -----------------------------------------------------------------------------------
+// Combinations.hpp
+// Find all the combinations of n things taken k at a time.
+
+#include "Exception.hpp"
+#include "StringUtils.hpp"
+
+/// Class Combinations will compute C(n,k), all the combinations of n things
+/// taken k at a time (where k <= n).
+/// Let n 'things' be indexed by i (i=0...n-1), e.g. stored in an array of length n.
+/// This class computes C(n,k) as sets of k indexes into the 'things' array.
+/// These indexes are accessible via member functions Selection() or isSelected().
+/// Next() computes the next combination until there are no more (when it returns -1).
+class Combinations {
+public:
+ /// Default constructor
+ Combinations(void)
+ throw()
+ {
+ nc = n = k = 0;
+ Index = NULL;
+ }
+
+ /// Constructor for C(n,k) = combinations of n things taken k at a time (k <= n)
+ /// @throw on invalid input (k>n).
+ Combinations(int N, int K)
+ throw(gpstk::Exception)
+ {
+ try { init(N,K); }
+ catch(gpstk::Exception& e) { GPSTK_RETHROW(e); }
+ }
+
+ /// copy constructor
+ Combinations(const Combinations& right)
+ throw()
+ {
+ *this = right;
+ }
+
+ /// destructor
+ ~Combinations(void)
+ {
+ if(Index) delete[] Index;
+ Index = NULL;
+ }
+
+ /// Assignment operator.
+ Combinations& operator=(const Combinations& right)
+ throw()
+ {
+ this->~Combinations();
+ init(right.n,right.k);
+ nc = right.nc;
+ for(int j=0; j<k; j++) Index[j] = right.Index[j];
+ return *this;
+ }
+
+ /// Compute the next combination, returning the number of combinations computed
+ /// so far; if there are no more combinations, return -1.
+ int Next(void) throw();
+
+ /// Return index i (0 <= i < n) of jth selection (0 <= j < k);
+ /// if j is out of range, return -1.
+ int Selection(int j)
+ throw()
+ {
+ if(j < 0 || j >= k) return -1;
+ return Index[j];
+ }
+
+ /// Return true if the given index j (0 <= j < n) is
+ /// currently selected (i.e. if j = Selection(i) for some i)
+ bool isSelected(int j)
+ throw()
+ {
+ for(int i=0; i<k; i++)
+ if(Index[i] == j) return true;
+ return false;
+ }
+
+private:
+
+ /// The initialization routine used by constructors.
+ /// @throw on invalid input (k>n or either n or k < 0).
+ void init(int N, int K)
+ throw(gpstk::Exception);
+
+ /// Recursive function to increment Index[j].
+ int Increment(int j) throw();
+
+ int nc; ///< number of combinations computed so far
+ int k,n; ///< combinations of n things taken k at a time, given at c'tor
+ int* Index; ///< Index[j] = index of jth selection (j=0...k-1; I[j]=0...n-1)
+};
+
+// -----------------------------------------------------------------------------------
+int Combinations::Next(void)
+ throw()
+{
+ if(k < 1) return -1;
+ if(Increment(k-1) != -1) return ++nc;
+ return -1;
+}
+
+int Combinations::Increment(int j)
+ throw()
+{
+ if(Index[j] < n-k+j) { // can this index be incremented?
+ Index[j]++;
+ for(int m=j+1; m<k; m++)
+ Index[m]=Index[m-1]+1;
+ return 0;
+ }
+ // is this the last index?
+ if(j-1 < 0) return -1;
+ // increment the next lower index
+ return Increment(j-1);
+}
+
+void Combinations::init(int N, int K)
+ throw(gpstk::Exception)
+{
+ if(K > N || N < 0 || K < 0) {
+ gpstk::Exception e("Combinations(n,k) must have k <= n, with n,k >= 0");
+ GPSTK_THROW(e);
+ }
+
+ if(K > 0) {
+ Index = new int[K];
+ if(!Index) {
+ gpstk::Exception e("Could not allocate");
+ GPSTK_THROW(e);
+ }
+ }
+ else Index = NULL;
+
+ nc = 0;
+ k = K;
+ n = N;
+ for(int j=0; j<k; j++)
+ Index[j]=j;
+}
+
+// -----------------------------------------------------------------------------------
+
+using namespace std;
+using namespace gpstk;
+
+namespace gpstk
+{
+ int PRSolution::RAIMCompute(const DayTime& Tr,
+ vector<RinexPrn>& Satellite,
+ vector<double>& Pseudorange,
+ const EphemerisStore& Eph,
+ TropModel *pTropModel)
+ throw(Exception)
+ {
+ try {
+ int iret,jret,i,j,N,Nreject,MinSV,stage;
+ vector<bool> UseSat,UseSave;
+ vector<int> GoodIndexes;
+ // Use these to save the 'best' solution within the loop.
+ int BestNIter;
+ double BestRMS,BestSL,BestConv;
+ Vector<double> BestSol;
+ vector<bool> BestUse;
+ BestRMS = -1.0; // this marks the 'Best' set as unused.
+
+ // ----------------------------------------------------------------
+ // initialize
+ Valid = false;
+
+ // Save the input solution
+ // (for use in rejection when ResidualCriterion is false).
+ if(Solution.size() != 4) { Solution.resize(4); Solution = 0.0; }
+ APrioriSolution = Solution;
+
+ // ----------------------------------------------------------------
+ // fill the SVP matrix, and use it for every solution
+ // NB this routine can set Satellite[.]=negative when no ephemeris
+ i = PrepareAutonomousSolution(Tr, Satellite, Pseudorange, Eph, SVP);
+ if(Debug) {
+ *pDebugStream << "In RAIMCompute after PAS(): Satellites:";
+ for(j=0; j<Satellite.size(); j++) *pDebugStream << " " << Satellite[j];
+ *pDebugStream << endl;
+ *pDebugStream << " SVP matrix("
+ << SVP.rows() << "," << SVP.cols() << ")" << endl;
+ *pDebugStream << fixed << setw(16) << setprecision(3) << SVP << endl;
+ }
+ if(i) return -3; // return is 0(ok) or -4(no ephemeris)
+
+ // count how many good satellites we have
+ // Initialize UseSat based on Satellite, and build GoodIndexes.
+ // UseSat is used to mark good sats (true) and those to ignore (false).
+ // UseSave saves the original so it can be reused for each solution.
+ // Let GoodIndexes be all the indexes of Satellites that are good:
+ // UseSat[GoodIndexes[.]] == true by definition
+ for(N=0,i=0; i<Satellite.size(); i++) {
+ if(Satellite[i].prn > 0) {
+ N++;
+ UseSat.push_back(true);
+ GoodIndexes.push_back(i);
+ }
+ else UseSat.push_back(false);
+ }
+ UseSave = UseSat;
+ //if(Debug) {
+ // *pDebugStream << "GoodIndexes (" << N << ") are";
+ // for(i=0; i<GoodIndexes.size(); i++)
+ // *pDebugStream << " " << Satellite[GoodIndexes[i]];
+ // *pDebugStream << endl;
+ //}
+
+ // don't even try if there are not 4 good satellites
+ if(N < 4) return -3;
+ Satellite[0].setfill('0');
+
+ // minimum number of sats needed for algorithm
+ MinSV = 5; // this would be RAIM
+ // ( not really RAIM || not RAIM at all - just one solution)
+ if(!ResidualCriterion || NSatsReject==0) MinSV=4;
+
+ // how many satellites can RAIM reject, if we have to?
+ // default is -1, meaning as many as possible
+ Nreject = NSatsReject;
+ if(Nreject == -1 || Nreject > N-MinSV)
+ Nreject=N-MinSV;
+
+ // ----------------------------------------------------------------
+ // now compute the solution, first with all the data. If this fails,
+ // reject 1 satellite at a time and try again, then 2, etc.
+
+ // Slopes for each satellite are computed (cf. the RAIM algorithm)
+ Vector<double> Slopes(Pseudorange.size());
+
+ // Residuals stores the post-fit data residuals.
+ Vector<double> Residuals(Satellite.size(),0.0);
+
+ // stage is the number of satellites to reject.
+ stage = 0;
+
+ do {
+ // compute all the combinations of N satellites taken stage at a time
+ Combinations Combo(N,stage);
+
+ // compute a solution for each combination of marked satellites
+ do {
+ // Mark the satellites for this combination
+ UseSat = UseSave;
+ for(i=0; i<GoodIndexes.size(); i++)
+ if(Combo.isSelected(i)) UseSat[i]=false;
+
+ // ----------------------------------------------------------------
+ // Compute a solution given the data; ignore ranges for marked
+ // satellites. Fill Vector 'Slopes' with slopes for each unmarked
+ // satellite.
+ // Return 0 ok
+ // -1 failed to converge
+ // -2 singular problem
+ // -3 not enough good data
+ NIterations = MaxNIterations; // pass limits in
+ Convergence = ConvergenceLimit;
+ iret = AutonomousPRSolution(Tr, UseSat, SVP, pTropModel, Algebraic,
+ NIterations, Convergence, Solution, Covariance, Residuals, Slopes);
+
+ // ----------------------------------------------------------------
+ // Compute RMS residual...
+ if(!ResidualCriterion) {
+ // when 'distance from a priori' is the criterion.
+ Vector<double> D=Solution-APrioriSolution;
+ RMSResidual = RMS(D);
+ }
+ else {
+ // and in the usual case
+ RMSResidual = RMS(Residuals);
+ }
+ // ... and find the maximum slope
+ MaxSlope = 0.0;
+ if(iret == 0)
+ for(i=0; i<UseSat.size(); i++)
+ if(UseSat[i] && Slopes(i)>MaxSlope) MaxSlope=Slopes[i];
+
+ // ----------------------------------------------------------------
+ // print solution with diagnostic information
+ if(Debug) {
+ *pDebugStream << "RPS " << setw(2) << stage
+ << " " << setw(4) << Tr.GPSfullweek()
+ << " " << fixed << setw(10) << setprecision(3) << Tr.GPSsecond()
+ << " " << setw(2) << N-stage << setprecision(6)
+ << " " << setw(16) << Solution(0)
+ << " " << setw(16) << Solution(1)
+ << " " << setw(16) << Solution(2)
+ << " " << setw(14) << Solution(3)
+ << " " << setw(12) << RMSResidual
+ << " " << fixed << setw(5) << setprecision(1) << MaxSlope
+ << " " << NIterations
+ << " " << scientific << setw(8) << setprecision(2)<< Convergence;
+ // print the RinexPrn for good sats
+ for(i=0; i<UseSat.size(); i++) {
+ if(UseSat[i])
+ *pDebugStream << " " << setw(3)<< Satellite[i].prn;
+ else
+ *pDebugStream << " " << setw(3) << -::abs(Satellite[i].prn);
+ }
+ // also print the return value
+ *pDebugStream << " (" << iret << ")" << endl;
+ }// end debug print
+
+ // ----------------------------------------------------------------
+ // deal with the results of AutonomousPRSolution()
+ if(iret) { // failure for this combination
+ RMSResidual = 0.0;
+ Solution = 0.0;
+ }
+ else { // success
+ // save 'best' solution for later
+ if(BestRMS < 0.0 || RMSResidual < BestRMS) {
+ BestRMS = RMSResidual;
+ BestSol = Solution;
+ BestUse = UseSat;
+ BestSL = MaxSlope;
+ BestConv = Convergence;
+ BestNIter = NIterations;
+ }
+ // quit immediately?
+ if((stage==0 || ReturnAtOnce) && RMSResidual < RMSLimit)
+ break;
+ }
+
+ // get the next combinations and repeat
+ } while(Combo.Next() != -1);
+
+ // end of the stage
+ if(BestRMS > 0.0 && BestRMS < RMSLimit) { // success
+ iret=0;
+ break;
+ }
+
+ // go to next stage
+ stage++;
+ if(stage > Nreject) break;
+
+ } while(iret == 0); // end loop over stages
+
+ // ----------------------------------------------------------------
+ // copy out the best solution and return
+ Convergence = BestConv;
+ NIterations = BestNIter;
+ RMSResidual = BestRMS;
+ Solution = BestSol;
+ MaxSlope = BestSL;
+ for(Nsvs=0,i=0; i<BestUse.size(); i++) {
+ if(!BestUse[i]) Satellite[i].prn = -::abs(Satellite[i].prn);
+ else Nsvs++;
+ }
+
+ if(iret==0 && BestSL > SlopeLimit) iret=1;
+ if(iret==0 && BestSL > SlopeLimit/2.0 && Nsvs == 5) iret=1;
+ if(iret>=0 && BestRMS >= RMSLimit) iret=2;
+
+ if(iret==0) Valid=true;
+
+ return iret;
+ }
+ catch(Exception& e) {
+ GPSTK_RETHROW(e);
+ }
+ } // end PRSolution::RAIMCompute()
+
+
+
+ int PRSolution::PrepareAutonomousSolution(const DayTime& Tr,
+ vector<RinexPrn>& Satellite,
+ vector<double>& Pseudorange,
+ const EphemerisStore& Eph,
+ Matrix<double>& SVP,
+ ostream *pDebugStream)
+ throw()
+ {
+ int i,j,nsvs,N=Satellite.size();
+ DayTime tx; // transmit time
+ Xvt PVT;
+
+ if(N <= 0) return 0;
+ SVP = Matrix<double>(N,4);
+ SVP = 0.0;
+
+ for(nsvs=0,i=0; i<N; i++) {
+ // skip marked satellites
+ if(Satellite[i].prn <= 0) continue;
+
+ // first estimate of transmit time
+ tx = Tr;
+ tx -= Pseudorange[i]/C_GPS_M;
+ // get ephemeris range, etc
+ try {
+ PVT = Eph.getPrnXvt(short(Satellite[i].prn), tx);
+ }
+ catch(EphemerisStore::NoEphemerisFound& e) {
+ Satellite[i].prn = -::abs(Satellite[i].prn);
+ continue;
+ }
+
+ // update transmit time and get ephemeris range again
+ tx -= PVT.dtime; // clk+rel
+ try {
+ PVT = Eph.getPrnXvt(short(Satellite[i].prn), tx);
+ }
+ catch(EphemerisStore::NoEphemerisFound& e) {
+ Satellite[i].prn = -::abs(Satellite[i].prn);
+ continue;
+ }
+
+ // SVP = {SV position at transmit time}, raw range + clk + rel
+ for(j=0; j<3; j++) SVP(i,j) = PVT.x[j];
+ SVP(i,3) = Pseudorange[i] + C_GPS_M * PVT.dtime;
+ nsvs++;
+ }
+
+ if(nsvs == 0) return -4;
+ return 0;
+
+ } // end PrepareAutonomousPRSolution
+
+
+ int PRSolution::AlgebraicSolution(Matrix<double>& A,
+ Vector<double>& Q,
+ Vector<double>& X,
+ Vector<double>& R)
+ {
+ try {
+ int N=A.rows();
+ Matrix<double> AT=transpose(A);
+ Matrix<double> B=AT,C(4,4);
+
+ C = AT * A;
+ // invert
+ try {
+ //double big,small;
+ //condNum(C,big,small);
+ //if(small < 1.e-15 || big/small > 1.e15) return -2;
+ C = inverseSVD(C);
+ }
+ catch(SingularMatrixException& sme) {
+ return -2;
+ }
+
+ B = C * AT;
+
+ Vector<double> One(N,1.0),V(4),U(4);
+ double E,F,G,d,lam;
+
+ U = B * One;
+ V = B * Q;
+ E = Minkowski(U,U);
+ F = Minkowski(U,V) - 1.0;
+ G = Minkowski(V,V);
+ d = F*F-E*G;
+ if(d < 0.0) d=0.0; // avoid imaginary solutions: what does this really mean?
+ d = SQRT(d);
+
+ // first solution ...
+ lam = (-F+d)/E;
+ X = lam*U + V;
+ X(3) = -X(3);
+ // ... and its residual
+ R(0) = A(0,3)-X(3) - RSS(X(0)-A(0,0), X(1)-A(0,1), X(2)-A(0,2));
+
+ // second solution ...
+ lam = (-F-d)/E;
+ X = lam*U + V;
+ X(3) = -X(3);
+ // ... and its residual
+ R(1) = A(0,3)-X(3) - RSS(X(0)-A(0,0), X(1)-A(0,1), X(2)-A(0,2));
+
+ // pick the right solution
+ if(ABS(R(1)) > ABS(R(0))) {
+ lam = (-F+d)/E;
+ X = lam*U + V;
+ X(3) = -X(3);
+ }
+
+ // compute the residuals
+ for(int i=0; i<N; i++)
+ R(i) = A(i,3)-X(3) - RSS(X(0)-A(i,0), X(1)-A(i,1), X(2)-A(i,2));
+
+ return 0;
+
+ }
+ catch(Exception& e) {
+ GPSTK_RETHROW(e);
+ }
+ } // end PRSolution::AlgebraicSolution
+
+
+ int PRSolution::AutonomousPRSolution(const DayTime& T,
+ const vector<bool>& Use,
+ const Matrix<double> SVP,
+ TropModel *pTropModel,
+ const bool Algebraic,
+ int& n_iterate,
+ double& converge,
+ Vector<double>& Sol,
+ Matrix<double>& Cov,
+ Vector<double>& Resid,
+ Vector<double>& Slope,
+ ostream *pDebugStream)
+ throw(Exception)
+ {
+ if(!pTropModel) {
+ Exception e("Undefined tropospheric model");
+ GPSTK_THROW(e);
+ }
+
+ try {
+ int iret,i,j,n,N;
+ double rho,wt,svxyz[3];
+ GPSGeoid geoid; // WGS84?
+
+ if(pDebugStream) *pDebugStream << "Enter APRS " << n_iterate << " "
+ << scientific << setprecision(3) << converge << endl;
+
+ // find the number of good satellites
+ for(N=0,i=0; i<Use.size(); i++) if(Use[i]) N++;
+ if(N < 4) return -3;
+
+ // define for computation
+ Vector<double> CRange(N),dX(4);
+ Matrix<double> P(N,4),PT,G(4,N),PG(N,N);
+ Xvt SV,RX;
+
+ Sol.resize(4);
+ Cov.resize(4,4);
+ Resid.resize(N);
+ Slope.resize(Use.size());
+
+ // define for algebraic solution
+ Vector<double> U(4),Q(N);
+ Matrix<double> A(P);
+ // and for linearized least squares
+ int niter_limit = (n_iterate<2 ? 2 : n_iterate);
+ double conv_limit = converge;
+
+ // prepare for iteration loop
+ Sol = 0.0; // initial guess: center of earth
+ n_iterate = 0;
+ converge = 0.0;
+
+ // iteration loop
+ // do at least twice (even for algebraic solution) so that
+ // trop model gets evaluated
+ do {
+ // current estimate of position solution
+ RX.x = ECEF(Sol(0),Sol(1),Sol(2));
+
+ // loop over satellites, computing partials matrix
+ for(n=0,i=0; i<Use.size(); i++) {
+ // ignore marked satellites
+ if(!Use[i]) continue;
+
+ // time of flight (sec)
+ if(n_iterate == 0)
+ rho = 0.070; // initial guess: 70ms
+ else
+ rho = RSS(SVP(i,0)-Sol(0), SVP(i,1)-Sol(1), SVP(i,2)-Sol(2))
+ / geoid.c();
+
+ // correct for earth rotation
+ wt = geoid.angVelocity()*rho; // radians
+ svxyz[0] = ::cos(wt)*SVP(i,0) + ::sin(wt)*SVP(i,1);
+ svxyz[1] = -::sin(wt)*SVP(i,0) + ::cos(wt)*SVP(i,1);
+ svxyz[2] = SVP(i,2);
+
+ // corrected pseudorange (m)
+ CRange(n) = SVP(i,3);
+
+ // correct for troposphere (but not on the first iteration)
+ if(n_iterate > 0) {
+ SV.x = ECEF(svxyz[0],svxyz[1],svxyz[2]);
+ CRange(n) -= pTropModel->correction(RX,SV,T);
+ }
+
+ // geometric range
+ rho = RSS(svxyz[0]-Sol(0),svxyz[1]-Sol(1),svxyz[2]-Sol(2));
+
+ // partials matrix
+ P(n,0) = (Sol(0)-svxyz[0])/rho; // x direction cosine
+ P(n,1) = (Sol(1)-svxyz[1])/rho; // y direction cosine
+ P(n,2) = (Sol(2)-svxyz[2])/rho; // z direction cosine
+ P(n,3) = 1.0;
+
+ // data vector: corrected range residual
+ Resid(n) = CRange(n) - rho - Sol(3);
+
+ // TD: allow weight matrix = measurement covariance
+ // P *= MCov;
+ // Resid *= MCov;
+
+ // compute intermediate quantities for algebraic solution
+ if(Algebraic) {
+ U(0) = A(n,0) = svxyz[0];
+ U(1) = A(n,1) = svxyz[1];
+ U(2) = A(n,2) = svxyz[2];
+ U(3) = A(n,3) = CRange(n);
+ Q(n) = 0.5 * Minkowski(U,U);
+ }
+
+ n++; // n is number of good satellites - used for Slope
+ } // end loop over satellites
+
+ // compute information matrix = inverse covariance matrix
+ PT = transpose(P);
+ Cov = PT * P;
+
+ // invert using SVD
+ //double big,small;
+ //condNum(PT*P,big,small);
+ //if(small < 1.e-15 || big/small > 1.e15) return -2;
+ try { Cov = inverseSVD(Cov); }
+ //try { Cov = inverseLUD(Cov); }
+ catch(SingularMatrixException& sme) {
+ return -2;
+ }
+
+
+ // generalized inverse
+ G = Cov * PT;
+ PG = P * G; // used for Slope
+
+ n_iterate++; // increment number iterations
+
+ // ----------------- algebraic solution -----------------------
+ if(Algebraic) {
+ iret = PRSolution::AlgebraicSolution(A,Q,Sol,Resid);
+ if(iret) return iret; // (singular)
+ if(n_iterate > 1) { // need 2, for trop
+ iret = 0;
+ break;
+ }
+ }
+ // ----------------- linearized least squares solution --------
+ else {
+ dX = G * Resid;
+ Sol += dX;
+ // test for convergence
+ converge = norm(dX);
+ // success: quit
+ if(n_iterate > 1 && converge < conv_limit) {
+ iret = 0;
+ break;
+ }
+ // failure: quit
+ if(n_iterate >= niter_limit || converge > 1.e10) {
+ iret = -1;
+ break;
+ }
+ }
+
+
+ } while(1); // end iteration loop
+
+ // compute slopes
+ Slope = 0.0;
+ if(iret == 0) for(j=0,i=0; i<Use.size(); i++) {
+ if(!Use[i]) continue;
+ for(int k=0; k<4; k++) Slope(i) += G(k,j)*G(k,j);
+ Slope(i) = SQRT(Slope(i)*double(n-4)/(1.0-PG(j,j)));
+ j++;
+ }
+
+ return iret;
+
+ }
+ catch(Exception& e) {
+ GPSTK_RETHROW(e);
+ }
+ } // end PRSolution::AutonomousPRSolution
+
+} // namespace gpstk
diff --git a/trunk/src/PRSolution.hpp b/trunk/src/PRSolution.hpp
new file mode 100644
index 0000000..0002670
--- /dev/null
+++ b/trunk/src/PRSolution.hpp
@@ -0,0 +1,276 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/PRSolution.hpp#1 $"
+
+/**
+ * @file PRSolution.hpp
+ * Autonomous pseudorange navigation solution, including RAIM algorithm
+ */
+
+#ifndef PRS_POSITION_SOLUTION_HPP
+#define PRS_POSITION_SOLUTION_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <vector>
+#include <ostream>
+#include "icd_200_constants.hpp"
+#include "DayTime.hpp"
+#include "Matrix.hpp"
+#include "RinexObsHeader.hpp"
+#include "EphemerisStore.hpp"
+#include "TropModel.hpp"
+
+namespace gpstk
+{
+ /** @defgroup GPSsolutions GPS solution algorithms and Tropospheric models */
+ //@{
+
+ /** This class define an interface to routines which compute a position
+ * and time solution from pseudorange data, with a data editing algorithm
+ * based on Receiver Autonomous Integrity Monitoring (RAIM) concepts.
+ */
+ class PRSolution
+ {
+ public:
+ /// Constructor
+ PRSolution() throw() : Valid(false), Algebraic(false),
+ ResidualCriterion(true), RMSLimit(6.5), SlopeLimit(100.),
+ NSatsReject(-1), ReturnAtOnce(false), MaxNIterations(10),
+ ConvergenceLimit(3.e-7), Debug(false), pDebugStream(&std::cout) {};
+
+ /** Compute a position/time solution, given satellite PRNs and pseudoranges
+ * using a RAIM algorithm.
+ * @param Tr Measured time of reception of the data.
+ * @param Satellite std::vector<RinexPrn> of satellites; on successful
+ * return, satellites that were excluded by the algorithm
+ * are marked by a negative 'prn' member.
+ * @param Pseudorange std::vector<double> of raw pseudoranges (parallel to
+ * Satellite), in meters; on successful return,
+ * contains residuals of fit (m) (for unmarked satellites).
+ * @param Eph gpstk::EphemerisStore to be used in the algorithm.
+ *
+ * @return Return values:
+ * 2 solution is found, but it is not good (RMS residual exceed limits)
+ * 1 solution is found, but it is suspect (slope is large)
+ * 0 ok
+ * -1 algorithm failed to converge
+ * -2 singular problem, no solution is possible
+ * -3 not enough good data (> 4) to form a (RAIM) solution
+ * (the 4 satellite solution might be returned - check isValid())
+ * -4 ephemeris is not found for one or more satellites
+ */
+ int RAIMCompute(const DayTime& Tr,
+ std::vector<RinexPrn>& Satellite,
+ std::vector<double>& Pseudorange,
+ const EphemerisStore& Eph,
+ TropModel *pTropModel)
+ throw(Exception);
+
+ /// Return the status of solution
+ bool isValid()
+ const throw() { return Valid; }
+
+ // input:
+
+ /// RMS limit - either residual of fit or distance (see ResidualCriterion).
+ double RMSLimit;
+
+ /// Slope limit.
+ double SlopeLimit;
+
+ /// Use an algebraic (if true) or linearized least squares (if false) algorithm.
+ bool Algebraic;
+
+ /** Use a rejection criterion based on RMS residual of fit (true)
+ * or RMS distance from an a priori position. If false, member Vector Solution
+ * must be defined as this a priori position when RAIMCompute() is called.
+ */
+ bool ResidualCriterion;
+
+ /** Return as soon as a solution meeting the limit requirements is found
+ * (this makes it a non-RAIM algorithm).
+ */
+ bool ReturnAtOnce;
+
+ /** Maximum number of satellites that may be rejected in the RAIM algorithm;
+ * if this = -1, as many as possible will be rejected (RAIM requires at least 5
+ * satellites). A (single) non-RAIM solution can be obtained by setting this
+ * to 0 before calling RAIMCompute().
+ */
+ int NSatsReject;
+
+ /// If true, RAIMCompute() will output solution information to *pDebugStream.
+ bool Debug;
+
+ /// Pointer to an ostream, default &std::cout; if Debug is true, RAIMCompute()
+ /// will print all preliminary solutions to this stream.
+ std::ostream *pDebugStream;
+
+ // TD optional: measurement covariance matrix
+
+ /// Maximum number of iterations allowed in the linearized least squares
+ /// algorithm.
+ int MaxNIterations;
+
+ /// Convergence limit (m): continue iteration loop while RSS change in
+ /// solution exceeds this.
+ double ConvergenceLimit;
+
+ // output:
+
+ /// flag: output content is valid.
+ bool Valid;
+
+ /** Vector<double> containing the computed position solution (ECEF, meter);
+ * valid only when isValid() is true.
+ */
+ Vector<double> Solution;
+
+ /** 4x4 Matrix<double> containing the computed solution covariance (meter);
+ * valid only when isValid() is true.
+ */
+ Matrix<double> Covariance;
+
+ /** Root mean square residual of fit (except when RMSDistanceFlag is set,
+ * then RMS distance from apriori 4-position); in meters.
+ */
+ double RMSResidual;
+
+ /** Slope computed in the RAIM algorithm (largest of all satellite values)
+ * for the returned solution, dimensionless ??.
+ */
+ double MaxSlope;
+
+ /// the actual number of iterations used (linearized least squares algorithm)
+ int NIterations;
+
+ /// the RSS change in solution at the end of iterations.
+ double Convergence;
+
+ /// the number of good satellites used in the final computation
+ int Nsvs;
+
+ /** Compute the satellite position / corrected range matrix (SVP) which is used
+ * by AutonomousPRSolution(). SVP is output, dimensioned (N,4) where N is the
+ * number of satellites and the length of both Satellite and Pseudorange.
+ * Data is ignored whenever Sats[i].prn is < 0. NB caller should verify that the
+ * number of good entries (Satellite[.] > 0) is > 4 before proceeding.
+ * @param Tr Measured time of reception of the data.
+ * @param Sats std::vector<RinexPrn> of satellites; satellites that are
+ * to be excluded by the algorithm are marked by a
+ * negative 'prn' member.
+ * @param Pseudorange std::vector<double> of raw pseudoranges (parallel to
+ * Satellite), in meters
+ * @param Eph gpstk::EphemerisStore to be used in the algorithm.
+ * @param SVP gpstk::Matrix<double> of dimension (N,4), N is the number
+ * of unmarked satellites in Sats[], on output this
+ * contains the satellite positions at transmit time, and
+ * the corrected pseudorange.
+ * @param pDebug pointer to an ostream for debug output, NULL (the default)
+ * for no debug output.
+ * @return Return values:
+ * 0 ok
+ * -4 ephemeris not found for all the satellites
+ */
+ static int PrepareAutonomousSolution(const DayTime& Tr,
+ std::vector<RinexPrn>& Sats,
+ std::vector<double>& Pseudorange,
+ const EphemerisStore& Eph,
+ Matrix<double>& SVP,
+ std::ostream *pDebug=NULL)
+ throw();
+
+ /** Compute a single autonomous pseudorange solution.
+ * Input only:
+ * @param Tr Measured time of reception of the data.
+ * @param Use std::vector<bool> of length N, the number of satellites;
+ * false means do not include that sat. in the computation.
+ * @param SVP Matrix<double> of dimension (N,4). This Matrix must have
+ * been computed by calling PrepareAutonomousPRSolution().
+ * @param Algebraic bool flag indicating algorithm to use : algebraic (true)
+ * or linearized least squares (false).
+ * @param pTropModel pointer to a gpstk::TropModel for use within the algorithm
+ *
+ * Weight matrix TD...
+ *
+ * Input and output (for least squares only; ignored if Algebraic==true):
+ * @param n_iterate integer limit on the number of iterations. On output,
+ * it is the number of iterations actually used.
+ * @param converge double convergence criterion, = RSS change in solution,
+ * in meters. On output, it is the the final value.
+ *
+ * Output: (these will be resized within the function)
+ * @param Sol gpstk::Vector<double> solution (ECEF + time components;
+ * all in meters)
+ * @param Cov gpstk::Matrix<double> 4X4 covariance matrix (meter*meter)
+ * @param Resid gpstk::Vector<double> post-fit range residuals for each
+ * satellite (m), the length of this Vector is the number of
+ * satellites actually used (see Use).
+ * @param Slope gpstk::Vector<double> slope value used in RAIM for each
+ * good satellite, length N
+ * @param pDebug pointer to an ostream for debug output, NULL (the default)
+ * for no debug output.
+ * @return Return values:
+ * 0 ok
+ * -1 failed to converge
+ * -2 singular problem
+ * -3 not enough good data to form a solution (at least 4 satellites required)
+ * -4 ephemeris not found for one or more satellites
+ */
+ static int AutonomousPRSolution(const DayTime& Tr,
+ const std::vector<bool>& Use,
+ const Matrix<double> SVP,
+ TropModel *pTropModel,
+ const bool Algebraic,
+ int& n_iterate,
+ double& converge,
+ Vector<double>& Sol,
+ Matrix<double>& Cov,
+ Vector<double>& Resid,
+ Vector<double>& Slope,
+ std::ostream *pDebug=NULL)
+ throw(Exception);
+
+ private:
+
+ /** Matrix, dimensioned Nx4, where N data are input, containing satellite
+ * positions at transmit time (0,1,2) and raw pseudorange+clk+relativity (3).
+ */
+ Matrix<double> SVP;
+
+ /// Save the input solution (for use in rejection when ResidualCriterion is
+ /// false).
+ Vector<double> APrioriSolution;
+
+ /** Function used internally to handle the details of the Algebraic solution */
+ static int PRSolution::AlgebraicSolution(Matrix<double>& A,
+ Vector<double>& Q,
+ Vector<double>& X,
+ Vector<double>& R);
+
+ }; // end class PRSolution
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/PolyFit.hpp b/trunk/src/PolyFit.hpp
new file mode 100644
index 0000000..7f95c24
--- /dev/null
+++ b/trunk/src/PolyFit.hpp
@@ -0,0 +1,262 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/PolyFit.hpp#3 $"
+
+/**
+ * @file PolyFit.hpp
+ * Least squares fit of a polynomial to data
+ */
+
+#ifndef GPSTK_POLYFIT_HPP
+#define GPSTK_POLYFIT_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Matrix.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup math */
+ //@{
+
+/**
+ * Compute a polynomial fit of the form sum[X(i)*t**i] = d, that is solve for
+ * coefficients X given a set of pairs (t,d). The dimension of X is n, the
+ * degree of the polynomial.
+ * @code
+ * unsigned int n=4;
+ * double dat[17]={...}, times[17]={...};
+ * PolyFit<double> PF(n);
+ * for(int i=0; i<17; i++)
+ * PF.Add(dat[i],times[i]);
+ *
+ * d(m);
+ * cout << d.U << endl << d.V << endl << d.S << endl;
+ * @endcode
+ */
+ template <class T>
+ class PolyFit
+ {
+ public:
+ /// Empty constructor
+ PolyFit() : n_(0), Inverted(false), Singular(true), Npts(0) {}
+
+ /// Constructor given an initial size.
+ PolyFit(unsigned int n) : n_(n), Inverted(false), Singular(true), Npts(0)
+ {
+ InfData.resize(n_,T(0));
+ X.resize(n_);
+ InfMatrix.resize(n_,n_,T(0));
+ Cov.resize(n_,n_);
+ }
+
+ /** Reset the estimation, i.e. restart with new data, with new dimension.
+ * Default dimension is 0, meaning do not change dimension.
+ */
+ void Reset(unsigned int n=0)
+ {
+ if(n != 0 && n_ != n) {
+ InfData.resize(n,T(0));
+ X.resize(n);
+ InfMatrix.resize(n,n,T(0));
+ Cov.resize(n,n);
+ n_ = n;
+ }
+ Npts = 0;
+ InfData = T(0);
+ X = T(0);
+ InfMatrix = T(0);
+ Cov = T(0);
+ Singular = true;
+ Inverted = false;
+ }
+
+ /// Add a single (optional: weighted) datum to the estimation.
+ void Add(T d, T t, T w=T(1))
+ {
+ // n_-1
+ // Equation is sum[t^i * X(i)] = d OR P * X = d
+ // i=0 1xn_ n_ 1
+ Vector<T> P(n_);
+ T tt=T(1);
+ for(size_t i=0; i<n_; i++) { P(i)=tt; tt *= t; }
+ Npts++;
+ Matrix<T> PP;
+ PP = outer(P,P);
+ PP *= w;
+ InfMatrix += PP;
+ P *= d*w;
+ InfData += P;
+ Inverted = false;
+ }
+
+ /// Add a gpstk::Vector of data to the estimation.
+ void Add(const Vector<T>& d, const Vector<T>& t)
+ {
+ size_t m=d.size();
+ if(t.size() < m) m=t.size();
+
+ Matrix<T> P(m,n_);
+ Vector<T> D(d);
+ D.resize(m);
+
+ for(size_t j=0; j<m; j++) {
+ T tt=T(1);
+ for(size_t i=0; i<n_; i++) { P(j,i)=tt; tt *= t(j); }
+ }
+ Npts += m;
+ Matrix<T> PTP,PT;
+ PT = transpose(P);
+ PTP = PT*P;
+ InfMatrix += PTP;
+ InfData += PT*D;
+ Inverted = false;
+ }
+
+ /// Add a std::vector of data to the estimation.
+ void Add(const std::vector<T>& d, const std::vector<T>& t)
+ {
+ size_t m=d.size();
+ if(t.size() < m) m=t.size();
+
+ Matrix<T> P(m,n_);
+ Vector<T> D;
+ D.resize(m);
+ for(int i=0; i<m; i++) D(i)=d[i];
+
+ for(size_t j=0; j<m; j++) {
+ T tt=T(1);
+ for(size_t i=0; i<n_; i++) { P(j,i)=tt; tt *= t[j]; }
+ }
+ Npts += m;
+ Matrix<T> PTP,PT;
+ PT = transpose(P);
+ PTP = PT*P;
+ InfMatrix += PTP;
+ InfData += PT*D;
+ Inverted = false;
+ }
+
+ /// Evaluate the polynomial at the given time; singular problems return zero.
+ T Evaluate(T t)
+ {
+ if(n_ <= 0) { Singular=true; return T(0); }
+ Solve();
+ if(Singular) return T(0);
+
+ T d,tn;
+ d = X(0);
+ tn = t;
+ for(size_t i=1; i<X.size(); i++) {
+ d += X(i)*tn;
+ tn *= t;
+ }
+ return d;
+ }
+
+ /// Evaluate the polynomial at a Vector of times;
+ /// singular problems return an empty vector.
+ Vector<T> Evaluate(const Vector<T>& Vt)
+ {
+ Vector<T> R;
+ if(n_ <= 0) { Singular=true; return R; }
+ Solve();
+ if(Singular) return R;
+
+ T tn;
+ R = Vector<T>(Vt.size());
+ for(size_t j=0; j<Vt.size(); j++) {
+ R(j) = X(0);
+ tn = Vt(j);
+ for(size_t i=1; i<X.size(); i++) {
+ R(j) += X(i)*tn;
+ tn *= Vt(j);
+ }
+ }
+ return R;
+ }
+
+ /// is the problem singular?
+ inline bool isSingular(void) { Solve(); return Singular; }
+ /// get the solution vector (coefficients)
+ inline Vector<T> Solution(void) { Solve(); return X; }
+ /// get the covariance matrix
+ inline Matrix<T> Covariance(void) { Solve(); return Cov; }
+ /// get the degree of the polynomial
+ inline unsigned int Degree(void) const { return n_; }
+ /// get the number of data points processed
+ inline unsigned int N(void) const { return Npts; }
+
+ private:
+ /// Invert the equation
+ inline void Solve(void)
+ {
+ if(Inverted) return;
+ try { Cov=inverse(InfMatrix); }
+ catch (gpstk::Exception& e) { Singular=true; return; }
+ Singular = false;
+ X = Cov * InfData;
+ Inverted = true;
+ }
+
+ /// degree of polynomial to be fit (dimension of state).
+ unsigned int n_;
+ /// number of data points added to the estimation so far.
+ unsigned int Npts;
+ /// information matrix = inverse(Cov) = sum[transpose(P)*P], P=partials.
+ Matrix<T> InfMatrix;
+ /// information data = inverse(Cov)*X = sum[transpose(P)*data].
+ Vector<T> InfData;
+ /// flag indicating problem has been inverted.
+ bool Inverted;
+ /// flag indicating problem is singular.
+ bool Singular;
+ /// State vector (array of polynomial coefficients) of size n_.
+ Vector<T> X;
+ /// Covariance matrix
+ Matrix<T> Cov;
+
+ }; // end class PolyFit
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/Position.cpp b/trunk/src/Position.cpp
new file mode 100644
index 0000000..7988ad7
--- /dev/null
+++ b/trunk/src/Position.cpp
@@ -0,0 +1,1432 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Position.cpp#7 $"
+
+/**
+ * @file Position.cpp
+ * class gpstk::Position encapsulates 3-D positions, both geographic positions,
+ * expressed as geodetic (with respect to any geoid), geocentric or
+ * Earth-centered, Earth-fixed (cartesian) coordinates, as well as ordinary
+ * positions defined by spherical or cartesian coordinates. Position inherits
+ * from class Triple.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "Position.hpp"
+#include "WGS84Geoid.hpp"
+#include "icd_200_constants.hpp" // for TWO_PI, etc
+#include "geometry.hpp" // for RAD_TO_DEG, etc
+#include "MiscMath.hpp" // for RSS, SQRT
+
+namespace gpstk
+{
+
+ using namespace std;
+ using namespace StringUtils;
+
+ // ----------- Part 1: coordinate systems --------------------------------
+ // Labels for coordinate systems supported by Position
+ static const char *SystemNames[] = {
+ "Unknown",
+ "Geodetic",
+ "Geocentric",
+ "Cartesian",
+ "Spherical"};
+
+ // return string giving name of coordinate system
+ string Position::getSystemName()
+ throw()
+ { return SystemNames[system]; }
+
+ // ----------- Part 2: tolerance -----------------------------------------
+ // One millimeter tolerance.
+ const double Position::ONE_MM_TOLERANCE = 0.001;
+ // One centimeter tolerance.
+ const double Position::ONE_CM_TOLERANCE = 0.01;
+ // One micron tolerance.
+ const double Position::ONE_UM_TOLERANCE = 0.000001;
+
+ // Default tolerance for time equality in meters.
+ double Position::POSITION_TOLERANCE = Position::ONE_MM_TOLERANCE;
+
+ // Sets the tolerance for output and comparisons, for this object only.
+ // See the constants in this file (e.g. ONE_MM_TOLERANCE)
+ // for some easy to use tolerance values.
+ // @param tol Tolerance in meters to be used by comparison operators.
+ Position& Position::setTolerance(const double tol)
+ throw()
+ {
+ tolerance = tol;
+ return *this;
+ }
+
+ // ----------- Part 3: member functions: constructors --------------------
+ //
+ // Default constructor.
+ Position::Position()
+ throw()
+ {
+ WGS84Geoid WGS84;
+ initialize(0.0,0.0,0.0,Unknown,&WGS84);
+ }
+
+ Position::Position(const double& a,
+ const double& b,
+ const double& c,
+ Position::CoordinateSystem s,
+ GeoidModel *geoid)
+ throw(GeometryException)
+ {
+ try {
+ initialize(a,b,c,s,geoid);
+ }
+ catch(GeometryException& ge) {
+ GPSTK_RETHROW(ge);
+ }
+ }
+
+ Position::Position(const double ABC[3],
+ CoordinateSystem s,
+ GeoidModel *geoid)
+ throw(GeometryException)
+ {
+ double a=ABC[0];
+ double b=ABC[1];
+ double c=ABC[2];
+ try {
+ initialize(a,b,c,s,geoid);
+ }
+ catch(GeometryException& ge) {
+ GPSTK_RETHROW(ge);
+ }
+ }
+
+ Position::Position(const Triple& ABC,
+ CoordinateSystem s,
+ GeoidModel *geoid)
+ throw(GeometryException)
+ {
+ double a=ABC[0];
+ double b=ABC[1];
+ double c=ABC[2];
+ try {
+ initialize(a,b,c,s,geoid);
+ }
+ catch(GeometryException& ge) {
+ GPSTK_RETHROW(ge);
+ }
+ }
+
+ Position::Position(const Xvt& xvt)
+ throw()
+ {
+ double a=xvt.x[0];
+ double b=xvt.x[1];
+ double c=xvt.x[2];
+ initialize(a,b,c,Cartesian);
+ }
+
+ // ----------- Part 4: member functions: arithmetic ----------------------
+ //
+ Position& Position::operator-=(const Position& right)
+ throw()
+ {
+ Position r(right);
+ CoordinateSystem savesys=system; // save the original system
+
+ // convert to cartestian and difference there
+ transformTo(Cartesian);
+ r.transformTo(Cartesian);
+
+ for(int i=0; i<3; i++)
+ theArray[i] -= r.theArray[i];
+
+ transformTo(savesys); // transform back to the original system
+ return *this;
+ }
+
+ Position& Position::operator+=(const Position& right)
+ throw()
+ {
+ Position r(right);
+ CoordinateSystem savesys=system; // save the original system
+
+ // convert to cartestian and difference there
+ transformTo(Cartesian);
+ r.transformTo(Cartesian);
+
+ for(int i=0; i<3; i++)
+ theArray[i] += r.theArray[i];
+
+ transformTo(savesys); // transform back to the original system
+ return *this;
+ }
+
+ Position operator-(const Position& left,
+ const Position& right)
+ throw()
+ {
+ Position l(left),r(right);
+ // convert both to Cartesian
+ l.transformTo(Position::Cartesian);
+ r.transformTo(Position::Cartesian);
+ // difference
+ l -= r;
+
+ return l;
+ }
+
+ Position operator+(const Position& left,
+ const Position& right)
+ throw()
+ {
+ Position l(left),r(right);
+ // convert both to Cartesian
+ l.transformTo(Position::Cartesian);
+ r.transformTo(Position::Cartesian);
+ // add
+ l += r;
+
+ return l;
+ }
+
+ // ----------- Part 5: member functions: comparisons ---------------------
+ //
+ // Equality operator. Returns false if geoid values differ.
+ bool Position::operator==(const Position &right) const
+ throw()
+ {
+ if(AEarth != right.AEarth || eccSquared != right.eccSquared)
+ return false;
+ if(range(*this,right) < tolerance)
+ return true;
+ else
+ return false;
+ }
+
+ // Inequality operator. Returns true if geoid values differ.
+ bool Position::operator!=(const Position &right) const
+ throw()
+ {
+ return !(operator==(right));
+ }
+
+ // ----------- Part 6: member functions: coordinate transformations ------
+ //
+ // Transform coordinate system. Does nothing if sys already matches the
+ // current value of member CoordinateSystem 'system'.
+ // @param sys coordinate system into which *this is to be transformed.
+ // @return *this
+ Position Position::transformTo(CoordinateSystem sys)
+ throw()
+ {
+ if(sys == Unknown || sys == system) return *this;
+
+ // this copies geoid information and tolerance
+ Position target(*this);
+
+ // transform target.theArray and set target.system
+ switch(system) {
+ case Unknown:
+ return *this;
+ case Geodetic:
+ // --------------- Geodetic to ... ------------------------
+ switch(sys) {
+ case Unknown: case Geodetic: return *this;
+ case Geocentric:
+ convertGeodeticToGeocentric(*this,target,AEarth,eccSquared);
+ target.system = Geocentric;
+ break;
+ case Cartesian:
+ convertGeodeticToCartesian(*this,target,AEarth,eccSquared);
+ target.system = Cartesian;
+ break;
+ case Spherical:
+ convertGeodeticToGeocentric(*this,target,AEarth,eccSquared);
+ target.theArray[0] = 90 - target.theArray[0]; // geocen -> sph
+ target.system = Spherical;
+ break;
+ }
+ break;
+ case Geocentric:
+ // --------------- Geocentric to ... ----------------------
+ switch(sys) {
+ case Unknown: case Geocentric: return *this;
+ case Geodetic:
+ convertGeocentricToGeodetic(*this,target,AEarth,eccSquared);
+ target.system = Geodetic;
+ break;
+ case Cartesian:
+ convertGeocentricToCartesian(*this,target);
+ target.system = Cartesian;
+ break;
+ case Spherical:
+ target.theArray[0] = 90 - target.theArray[0]; // geocen -> sph
+ target.system = Spherical;
+ break;
+ }
+ break;
+ case Cartesian:
+ // --------------- Cartesian to ... -----------------------
+ switch(sys) {
+ case Unknown: case Cartesian: return *this;
+ case Geodetic:
+ convertCartesianToGeodetic(*this,target,AEarth,eccSquared);
+ target.system = Geodetic;
+ break;
+ case Geocentric:
+ convertCartesianToGeocentric(*this,target);
+ target.system = Geocentric;
+ break;
+ case Spherical:
+ convertCartesianToSpherical(*this,target);
+ target.system = Spherical;
+ break;
+ }
+ break;
+ case Spherical:
+ // --------------- Spherical to ... -----------------------
+ switch(sys) {
+ case Unknown: case Spherical: return *this;
+ case Geodetic:
+ theArray[0] = 90 - theArray[0]; // sph -> geocen
+ convertGeocentricToGeodetic(*this,target,AEarth,eccSquared);
+ target.system = Geodetic;
+ break;
+ case Geocentric:
+ target.theArray[0] = 90 - target.theArray[0]; // sph -> geocen
+ target.system = Geocentric;
+ break;
+ case Cartesian:
+ convertSphericalToCartesian(*this,target);
+ target.system = Cartesian;
+ break;
+ }
+ break;
+ } // end switch(system)
+
+ *this = target;
+ return *this;
+ }
+
+ // ----------- Part 7: member functions: get -----------------------------
+ //
+ // These routines retrieve coordinate values in all coordinate systems.
+ // Note that calling these will transform the Position to another coordinate
+ // system if that is required.
+ //
+ // Get X coordinate (meters)
+ double Position::X() const
+ throw()
+ {
+ if(system == Cartesian)
+ return theArray[0];
+ Position t(*this);
+ t.transformTo(Cartesian);
+ return t.theArray[0];
+ }
+
+ // Get Y coordinate (meters)
+ double Position::Y() const
+ throw()
+ {
+ if(system == Cartesian)
+ return theArray[1];
+ Position t(*this);
+ t.transformTo(Cartesian);
+ return t.theArray[1];
+ }
+
+ // Get Z coordinate (meters)
+ double Position::Z() const
+ throw()
+ {
+ if(system == Cartesian)
+ return theArray[2];
+ Position t(*this);
+ t.transformTo(Cartesian);
+ return t.theArray[2];
+ }
+
+ // Get geodetic latitude (degrees North).
+ double Position::geodeticLatitude() const
+ throw()
+ {
+ if(system == Geodetic)
+ return theArray[0];
+ Position t(*this);
+ t.transformTo(Geodetic);
+ return t.theArray[0];
+ }
+
+ // Get geocentric latitude (degrees North),
+ // equal to 90 degress - theta in regular spherical coordinates.
+ double Position::geocentricLatitude() const
+ throw()
+ {
+ if(system == Geocentric)
+ return theArray[0];
+ Position t(*this);
+ t.transformTo(Geocentric);
+ return t.theArray[0];
+ }
+
+ // Get spherical coordinate theta in degrees
+ double Position::theta() const
+ throw()
+ {
+ if(system == Spherical)
+ return theArray[0];
+ Position t(*this);
+ t.transformTo(Spherical);
+ return t.theArray[0];
+ }
+
+ // Get spherical coordinate phi in degrees
+ double Position::phi() const
+ throw()
+ {
+ if(system == Spherical)
+ return theArray[1];
+ Position t(*this);
+ t.transformTo(Spherical);
+ return t.theArray[1];
+ }
+
+ // Get longitude (degrees East),
+ // equal to phi in regular spherical coordinates.
+ double Position::longitude() const
+ throw()
+ {
+ if(system != Cartesian)
+ return theArray[1];
+ Position t(*this);
+ t.transformTo(Spherical);
+ return t.theArray[1];
+ }
+
+ // Get radius or distance from the center of Earth (meters),
+ // Same as radius in spherical coordinates.
+ double Position::radius() const
+ throw()
+ {
+ if(system == Spherical || system == Geocentric)
+ return theArray[2];
+ Position t(*this);
+ t.transformTo(Spherical);
+ return t.theArray[2];
+ }
+
+ // Get height above ellipsoid (meters) (Geodetic).
+ double Position::height() const
+ throw()
+ {
+ if(system == Geodetic)
+ return theArray[2];
+ Position t(*this);
+ t.transformTo(Geodetic);
+ return t.theArray[2];
+ }
+
+ // ----------- Part 8: member functions: set -----------------------------
+ //
+ // Set the geoid values for this Position given a geoid.
+ // @param geoid Pointer to the GeoidModel.
+ // @throw GeometryException if input is NULL.
+ void Position::setGeoidModel(const GeoidModel *geoid)
+ throw(GeometryException)
+ {
+ if(!geoid)
+ {
+ GeometryException ge("Given GeoidModel pointer is NULL.");
+ GPSTK_THROW(ge);
+ }
+ AEarth = geoid->a();
+ eccSquared = geoid->eccSquared();
+ }
+
+ // Set the Position given geodetic coordinates, system is set to Geodetic.
+ // @param lat geodetic latitude in degrees North
+ // @param lon geodetic longitude in degrees East
+ // @param ht height above the ellipsoid in meters
+ // @return a reference to this object.
+ // @throw GeometryException on invalid input
+ Position& Position::setGeodetic(const double lat,
+ const double lon,
+ const double ht,
+ const GeoidModel *geoid)
+ throw(GeometryException)
+ {
+ if(lat > 90 || lat < -90)
+ {
+ GeometryException ge("Invalid latitude in setGeodetic: "
+ + StringUtils::asString(lat));
+ GPSTK_THROW(ge);
+ }
+ theArray[0] = lat;
+
+ theArray[1] = lon;
+ if(theArray[1] < 0)
+ theArray[1] += 360*(1+(unsigned long)(theArray[1]/360));
+ else if(theArray[1] >= 360)
+ theArray[1] -= 360*(unsigned long)(theArray[1]/360);
+
+ theArray[2] = ht;
+
+ if(geoid) {
+ AEarth = geoid->a();
+ eccSquared = geoid->eccSquared();
+ }
+ system = Geodetic;
+
+ return *this;
+ }
+
+ // Set the Position given geocentric coordinates, system is set to Geocentric
+ // @param lat geocentric latitude in degrees North
+ // @param lon geocentric longitude in degrees East
+ // @param rad radius from the Earth's center in meters
+ // @return a reference to this object.
+ // @throw GeometryException on invalid input
+ Position& Position::setGeocentric(const double lat,
+ const double lon,
+ const double rad)
+ throw(GeometryException)
+ {
+ if(lat > 90 || lat < -90)
+ {
+ GeometryException ge("Invalid latitude in setGeocentric: "
+ + StringUtils::asString(lat));
+ GPSTK_THROW(ge);
+ }
+ if(rad < 0)
+ {
+ GeometryException ge("Invalid radius in setGeocentric: "
+ + StringUtils::asString(rad));
+ GPSTK_THROW(ge);
+ }
+ theArray[0] = lat;
+ theArray[1] = lon;
+ theArray[2] = rad;
+
+ if(theArray[1] < 0)
+ theArray[1] += 360*(1+(unsigned long)(theArray[1]/360));
+ else if(theArray[1] >= 360)
+ theArray[1] -= 360*(unsigned long)(theArray[1]/360);
+ system = Geocentric;
+
+ return *this;
+ }
+
+ // Set the Position given spherical coordinates, system is set to Spherical
+ // @param theta angle from the Z-axis (degrees)
+ // @param phi angle from the X-axis in the XY plane (degrees)
+ // @param rad radius from the center in meters
+ // @return a reference to this object.
+ // @throw GeometryException on invalid input
+ Position& Position::setSpherical(const double theta,
+ const double phi,
+ const double rad)
+ throw(GeometryException)
+ {
+ if(theta < 0 || theta > 180)
+ {
+ GeometryException ge("Invalid theta in setSpherical: "
+ + StringUtils::asString(theta));
+ GPSTK_THROW(ge);
+ }
+ if(rad < 0)
+ {
+ GeometryException ge("Invalid radius in setSpherical: "
+ + StringUtils::asString(rad));
+ GPSTK_THROW(ge);
+ }
+
+ theArray[0] = theta;
+ theArray[1] = phi;
+ theArray[2] = rad;
+
+ if(theArray[1] < 0)
+ theArray[1] += 360*(1+(unsigned long)(theArray[1]/360));
+ else if(theArray[1] >= 360)
+ theArray[1] -= 360*(unsigned long)(theArray[1]/360);
+ system = Spherical;
+
+ return *this;
+ }
+
+ // Set the Position given ECEF coordinates, system is set to Cartesian.
+ // @param X ECEF X coordinate in meters.
+ // @param Y ECEF Y coordinate in meters.
+ // @param Z ECEF Z coordinate in meters.
+ // @return a reference to this object.
+ Position& Position::setECEF(const double X,
+ const double Y,
+ const double Z)
+ throw()
+ {
+ theArray[0] = X;
+ theArray[1] = Y;
+ theArray[2] = Z;
+ system = Cartesian;
+ return *this;
+ }
+
+ // ----------- Part 9: member functions: setToString, printf -------------
+ //
+ // setToString, similar to scanf, this function takes a string and a
+ // format describing string in order to define Position
+ // values. The parameters it can take are listed below and
+ // described above with the printf() function.
+ //
+ // The specification must be sufficient to define a Position.
+ // The following table lists combinations that give valid
+ // Positions. Anything more or other combinations will give
+ // unknown (read as: "bad") results so don't try it. Anything
+ // less will throw an exception.
+ //
+ // @code
+ // %X %Y %Z (cartesian or ECEF)
+ // %x %y %z (cartesian or ECEF)
+ // %a %l %r (geocentric)
+ // %A %L %h (geodetic)
+ // %t %p %r (spherical)
+ // @endcode
+ //
+ // So
+ // @code
+ // pos.setToString("123.4342,9328.1982,-128987.399", "%X,%Y,%Z");
+ // @endcode
+ //
+ // works but
+ //
+ // @code
+ // pos.setToString("123.4342,9328.1982", "%X,%Y");
+ // @endcode
+ // doesn't work (incomplete specification because it doesn't specify
+ // a Position).
+ //
+ // Whitespace is unimportant here, the function will handle it.
+ // The caller must ensure that that the extra characters in
+ // the format string (ie '.' ',') are in the same relative
+ // location as they are in the actual string, see the example above.
+ //
+ // @param str string from which to get the Position coordinates
+ // @param fmt format to use to parse \c str.
+ // @throw GeometryException if \c fmt is an incomplete or invalid specification
+ // @throw FormatException if unable to scan \c str.
+ // @throw StringException if an error occurs manipulating the
+ // \c str or \c fmt strings.
+ // @return a reference to this object.
+ Position& Position::setToString(const std::string& str,
+ const std::string& fmt)
+ throw(GeometryException,
+ DayTime::FormatException,
+ StringUtils::StringException)
+ {
+ try {
+ // make an object to return (so we don't fiddle with *this
+ // until it's necessary)
+ Position toReturn;
+
+ // flags indicated these defined
+ bool hX=false, hY=false, hZ=false;
+ bool hglat=false, hlon=false, hht=false;
+ bool hclat=false, hrad=false;
+ bool htheta=false, hphi=false;
+ // store input values
+ double x,y,z,glat,lon,ht,clat,rad,theta,phi;
+ // copy format and input string to parse
+ string f = fmt;
+ string s = str;
+
+ // parse strings... As we process each part, it's removed from both
+ // strings so when we reach 0, we're done
+ while ( (s.size() > 0) && (f.size() > 0) )
+ {
+ // remove everything in f and s up to the first % in f
+ // (these parts of the strings must be identical or this will break
+ // after it tries to remove it!)
+ while ( (s.length() != 0) && (f.length() != 0) && (f[0] != '%') )
+ {
+ // remove that character now and other whitespace
+ s.erase(0,1);
+ f.erase(0,1);
+ stripLeading(s);
+ stripLeading(f);
+ }
+
+ // check just in case we hit the end of either string...
+ if ( (s.length() == 0) || (f.length() == 0) )
+ break;
+
+ // lose the '%' in f...
+ f.erase(0,1);
+
+ // if the format string is like %03f, get '3' as the field
+ // length.
+ string::size_type fieldLength = string::npos;
+
+ if (!isalpha(f[0]))
+ {
+ fieldLength = asInt(f);
+
+ // remove everything else up to the next character
+ // (in "%03f", that would be 'f')
+ while ((!f.empty()) && (!isalpha(f[0])))
+ f.erase(0,1);
+ if (f.empty())
+ break;
+ }
+
+ // finally, get the character that should end this field, if any
+ char delimiter = 0;
+ if (f.size() > 1)
+ {
+ if (f[1] != '%')
+ {
+ delimiter = f[1];
+
+ if (fieldLength == string::npos)
+ fieldLength = s.find(delimiter,0);
+ }
+ // if the there is no delimiter character and the next field
+ // is another part of the time to parse, assume the length
+ // of this field is 1
+ else if (fieldLength == string::npos)
+ {
+ fieldLength = 1;
+ }
+ }
+
+ // figure out the next string to be removed. if there is a field
+ // length, use that first
+ string toBeRemoved = s.substr(0, fieldLength);
+
+ // based on char at f[0], we know what to do...
+ switch (f[0])
+ {
+ //%x X() (meters)
+ //%y Y() (meters)
+ //%z Z() (meters)
+ //%X X()/1000 (kilometers)
+ //%Y Y()/1000 (kilometers)
+ //%Z Z()/1000 (kilometers)
+ case 'X':
+ x = asDouble(toBeRemoved) * 1000;
+ hX = true;
+ break;
+ case 'x':
+ x = asDouble(toBeRemoved);
+ hX = true;
+ break;
+ case 'Y':
+ y = asDouble(toBeRemoved) * 1000;
+ hY = true;
+ break;
+ case 'y':
+ y = asDouble(toBeRemoved);
+ hY = true;
+ break;
+ case 'Z':
+ z = asDouble(toBeRemoved) * 1000;
+ hZ = true;
+ break;
+ case 'z':
+ z = asDouble(toBeRemoved);
+ hZ = true;
+ break;
+ //%A geodeticLatitude() (degrees North)
+ //%a geocentricLatitude() (degrees North)
+ case 'A':
+ glat = asDouble(toBeRemoved);
+ if(glat > 90. || glat < -90.) {
+ DayTime::FormatException f(
+ "Invalid geodetic latitude for setTostring: "
+ + toBeRemoved);
+ GPSTK_THROW(f);
+ }
+ hglat = true;
+ break;
+ case 'a':
+ clat = asDouble(toBeRemoved);
+ if(clat > 90. || clat < -90.) {
+ DayTime::FormatException f(
+ "Invalid geocentric latitude for setTostring: "
+ + toBeRemoved);
+ GPSTK_THROW(f);
+ }
+ hclat = true;
+ break;
+ //%L longitude() (degrees East)
+ //%l longitude() (degrees East)
+ //%w longitude() (degrees West)
+ //%W longitude() (degrees West)
+ case 'L':
+ case 'l':
+ lon = asDouble(toBeRemoved);
+ if(lon < 0)
+ lon += 360*(1+(unsigned long)(lon/360));
+ else if(lon >= 360)
+ lon -= 360*(unsigned long)(lon/360);
+ hlon = true;
+ break;
+ case 'w':
+ case 'W':
+ lon = 360.0 - asDouble(toBeRemoved);
+ if(lon < 0)
+ lon += 360*(1+(unsigned long)(lon/360));
+ else if(lon >= 360)
+ lon -= 360*(unsigned long)(lon/360);
+ hlon = true;
+ break;
+ //%t theta() (degrees)
+ //%T theta() (radians)
+ case 't':
+ theta = asDouble(toBeRemoved);
+ if(theta > 180. || theta < 0.) {
+ DayTime::FormatException f("Invalid theta for setTostring: "
+ + toBeRemoved);
+ GPSTK_THROW(f);
+ }
+ htheta = true;
+ break;
+ case 'T':
+ theta = asDouble(toBeRemoved) * RAD_TO_DEG;
+ if(theta > 90. || theta < -90.) {
+ DayTime::FormatException f("Invalid theta for setTostring: "
+ + toBeRemoved);
+ GPSTK_THROW(f);
+ }
+ htheta = true;
+ break;
+ //%p phi() (degrees)
+ //%P phi() (radians)
+ case 'p':
+ phi = asDouble(toBeRemoved);
+ if(phi < 0)
+ phi += 360*(1+(unsigned long)(phi/360));
+ else if(phi >= 360)
+ phi -= 360*(unsigned long)(phi/360);
+ hphi = true;
+ break;
+ case 'P':
+ phi = asDouble(toBeRemoved) * RAD_TO_DEG;
+ if(phi < 0)
+ phi += 360*(1+(unsigned long)(phi/360));
+ else if(phi >= 360)
+ phi -= 360*(unsigned long)(phi/360);
+ hphi = true;
+ break;
+ //%r radius() meters
+ //%R radius()/1000 kilometers
+ //%h height() meters
+ //%H height()/1000 kilometers
+ case 'r':
+ rad = asDouble(toBeRemoved);
+ if(rad < 0.0) {
+ DayTime::FormatException f("Invalid radius for setTostring: "
+ + toBeRemoved);
+ GPSTK_THROW(f);
+ }
+ hrad = true;
+ break;
+ case 'R':
+ rad = asDouble(toBeRemoved) * 1000;
+ if(rad < 0.0) {
+ DayTime::FormatException f("Invalid radius for setTostring: "
+ + toBeRemoved);
+ GPSTK_THROW(f);
+ }
+ hrad = true;
+ break;
+ case 'h':
+ ht = asDouble(toBeRemoved);
+ hht = true;
+ break;
+ case 'H':
+ ht = asDouble(toBeRemoved) * 1000;
+ hht = true;
+ break;
+ default: // do nothing
+ break;
+ }
+ // remove the part of s that we processed
+ stripLeading(s,toBeRemoved,1);
+
+ // remove the character we processed from f
+ f.erase(0,1);
+
+ // check for whitespace again...
+ stripLeading(f);
+ stripLeading(s);
+
+ }
+
+ if ( s.length() != 0 )
+ {
+ // throw an error - something didn't get processed in the strings
+ DayTime::FormatException fe(
+ "Processing error - parts of strings left unread - " + s);
+ GPSTK_THROW(fe);
+ }
+
+ if (f.length() != 0)
+ {
+ // throw an error - something didn't get processed in the strings
+ DayTime::FormatException fe(
+ "Processing error - parts of strings left unread - " + f);
+ GPSTK_THROW(fe);
+ }
+
+ // throw if the specification is incomplete
+ if ( !(hX && hY && hZ) && !(hglat && hlon && hht) &&
+ !(hclat && hlon && hrad) && !(htheta && hphi && hrad)) {
+ DayTime::FormatException fe("Incomplete specification for setToString");
+ GPSTK_THROW(fe);
+ }
+
+ // define the Position toReturn
+ if(hX && hY && hZ)
+ toReturn.setECEF(x,y,z);
+ else if(hglat && hlon && hht)
+ toReturn.setGeodetic(glat,lon,ht);
+ else if(hclat && hlon && hrad)
+ toReturn.setGeocentric(clat,lon,rad);
+ else if(htheta && hphi && hrad)
+ toReturn.setSpherical(theta,phi,rad);
+
+ *this = toReturn;
+ return *this;
+ }
+ catch(gpstk::Exception& exc)
+ {
+ GeometryException ge(exc);
+ ge.addText("Failed to convert string to Position");
+ GPSTK_THROW(ge);
+ }
+ catch(std::exception& exc)
+ {
+ GeometryException ge(exc.what());
+ ge.addText("Failed to convert string to Position");
+ GPSTK_THROW(ge);
+ }
+ }
+
+ // Format this Position into a string.
+ //
+ // Generate and return a string containing formatted
+ // Position coordinates, formatted by the specification \c fmt.
+ //
+ // \li \%x X() (meters)
+ // \li \%y Y() (meters)
+ // \li \%z Z() (meters)
+ // \li \%X X()/1000 (kilometers)
+ // \li \%Y Y()/1000 (kilometers)
+ // \li \%Z Z()/1000 (kilometers)
+ // \li \%A geodeticLatitude() (degrees North)
+ // \li \%a geocentricLatitude() (degrees North)
+ // \li \%L longitude() (degrees East)
+ // \li \%l longitude() (degrees East)
+ // \li \%w longitude() (degrees West)
+ // \li \%W longitude() (degrees West)
+ // \li \%t theta() (degrees)
+ // \li \%T theta() (radians)
+ // \li \%p phi() (degrees)
+ // \li \%P phi() (radians)
+ // \li \%r radius() meters
+ // \li \%R radius()/1000 kilometers
+ // \li \%h height() meters
+ // \li \%H height()/1000 kilometers
+ //
+ // @param fmt format to use for this time.
+ // @return a string containing this Position in the
+ // representation specified by \c fmt.
+ std::string Position::printf(const char *fmt) const
+ throw(StringUtils::StringException)
+ {
+ string rv = fmt;
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?x"),
+ string("xf"), X());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?y"),
+ string("yf"), Y());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?z"),
+ string("zf"), Z());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?X"),
+ string("Xf"), X()/1000);
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?Y"),
+ string("Yf"), Y()/1000);
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?Z"),
+ string("Zf"), Z()/1000);
+
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?A"),
+ string("Af"), geodeticLatitude());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?a"),
+ string("af"), geocentricLatitude());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?L"),
+ string("Lf"), longitude());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?l"),
+ string("lf"), longitude());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?w"),
+ string("wf"), 360-longitude());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?W"),
+ string("Wf"), 360-longitude());
+
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?t"),
+ string("tf"), theta());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?T"),
+ string("Tf"), theta()*DEG_TO_RAD);
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?p"),
+ string("pf"), phi());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?P"),
+ string("Pf"), phi()*DEG_TO_RAD);
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?r"),
+ string("rf"), radius());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?R"),
+ string("Rf"), radius()/1000);
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?h"),
+ string("hf"), height());
+ rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?H"),
+ string("Hf"), height()/1000);
+ return rv;
+ }
+
+ // Returns the string that operator<<() would print.
+ string Position::asString() const
+ throw(StringUtils::StringException)
+ {
+ ostringstream o;
+ o << *this;
+ return o.str();
+ }
+
+ // ----------- Part 10: functions: fundamental conversions ---------------
+ //
+ // Fundamental conversion from spherical to cartesian coordinates.
+ // @param trp (input): theta, phi, radius
+ // @param xyz (output): X,Y,Z in units of radius
+ // Algorithm references: standard geometry.
+ void Position::convertSphericalToCartesian(const Triple& tpr,
+ Triple& xyz)
+ throw()
+ {
+ double st=sin(tpr[0]*DEG_TO_RAD);
+ xyz[0] = tpr[2]*st*cos(tpr[1]*DEG_TO_RAD);
+ xyz[1] = tpr[2]*st*sin(tpr[1]*DEG_TO_RAD);
+ xyz[2] = tpr[2]*cos(tpr[0]*DEG_TO_RAD);
+ }
+
+ // Fundamental routine to convert cartesian to spherical coordinates.
+ // @param xyz (input): X,Y,Z
+ // @param trp (output): theta, phi (deg), radius in units of input
+ // Algorithm references: standard geometry.
+ void Position::convertCartesianToSpherical(const Triple& xyz,
+ Triple& tpr)
+ throw()
+ {
+ tpr[2] = RSS(xyz[0],xyz[1],xyz[2]);
+ if(tpr[2] <= Position::POSITION_TOLERANCE/5)
+ {
+ // zero-length Cartesian vector
+ tpr[0] = 90;
+ tpr[1] = 0;
+ return;
+ }
+ tpr[0] = acos(xyz[2]/tpr[2]);
+ tpr[0] *= RAD_TO_DEG;
+ if(RSS(xyz[0],xyz[1]) < Position::POSITION_TOLERANCE/5) { // pole
+ tpr[1] = 0;
+ return;
+ }
+ tpr[1] = atan2(xyz[1],xyz[0]);
+ tpr[1] *= RAD_TO_DEG;
+ if(tpr[1] < 0) tpr[1] += 360;
+ }
+
+ // Fundamental routine to convert cartesian (ECEF) to geodetic coordinates,
+ // (Geoid specified by semi-major axis and eccentricity squared).
+ // @param xyz (input): X,Y,Z in meters
+ // @param llh (output): geodetic lat(deg N), lon(deg E),
+ // height above ellipsoid (meters)
+ // @param A (input) Earth semi-major axis
+ // @param eccSq (input) square of Earth eccentricity
+ // Algorithm references:
+ void Position::convertCartesianToGeodetic(const Triple& xyz,
+ Triple& llh,
+ const double A,
+ const double eccSq)
+ throw()
+ {
+ double p,slat,N,htold,latold;
+ p = SQRT(xyz[0]*xyz[0]+xyz[1]*xyz[1]);
+ if(p < Position::POSITION_TOLERANCE/5) { // pole or origin
+ llh[0] = llh[1] = 0;
+ llh[2] = fabs(xyz[2]) - A;
+ return;
+ }
+ llh[0] = atan2(xyz[2], p*(1.0-eccSq));
+ llh[2] = 0;
+ for(int i=0; i<5; i++) {
+ slat = sin(llh[0]);
+ N = A / SQRT(1.0 - eccSq*slat*slat);
+ htold = llh[2];
+ llh[2] = p/cos(llh[0]) - N;
+ latold = llh[0];
+ llh[0] = atan2(xyz[2], p*(1.0-eccSq*(N/(N+llh[2]))));
+ if(fabs(llh[0]-latold) < 1.0e-9 && fabs(llh[2]-htold) < 1.0e-9 * A) break;
+ }
+ llh[1] = atan2(xyz[1],xyz[0]);
+ if(llh[1] < 0.0) llh[1] += TWO_PI;
+ llh[0] *= RAD_TO_DEG;
+ llh[1] *= RAD_TO_DEG;
+ }
+
+ // Fundamental routine to convert geodetic to cartesian (ECEF) coordinates,
+ // (Geoid specified by semi-major axis and eccentricity squared).
+ // @param llh (input): geodetic lat(deg N), lon(deg E),
+ // height above ellipsoid (meters)
+ // @param xyz (output): X,Y,Z in meters
+ // @param A (input) Earth semi-major axis
+ // @param eccSq (input) square of Earth eccentricity
+ // Algorithm references:
+ void Position::convertGeodeticToCartesian(const Triple& llh,
+ Triple& xyz,
+ const double A,
+ const double eccSq)
+ throw()
+ {
+ double slat = sin(llh[0]*DEG_TO_RAD);
+ double clat = cos(llh[0]*DEG_TO_RAD);
+ double N = A/SQRT(1.0-eccSq*slat*slat);
+ xyz[0] = (N+llh[2])*clat*cos(llh[1]*DEG_TO_RAD);
+ xyz[1] = (N+llh[2])*clat*sin(llh[1]*DEG_TO_RAD);
+ xyz[2] = (N*(1.0-eccSq)+llh[2])*slat;
+ }
+
+ // Fundamental routine to convert cartesian (ECEF) to geocentric coordinates.
+ // @param xyz (input): X,Y,Z in meters
+ // @param llr (output):
+ // geocentric lat(deg N),lon(deg E),radius (units of input)
+ void Position::convertCartesianToGeocentric(const Triple& xyz,
+ Triple& llr)
+ throw()
+ {
+ convertCartesianToSpherical(xyz, llr);
+ llr[0] = 90 - llr[0]; // convert theta to latitude
+ }
+
+ // Fundamental routine to convert geocentric to cartesian (ECEF) coordinates.
+ // @param llr (input): geocentric lat(deg N),lon(deg E),radius
+ // @param xyz (output): X,Y,Z (units of radius)
+ void Position::convertGeocentricToCartesian(const Triple& llr,
+ Triple& xyz)
+ throw()
+ {
+ Triple llh(llr);
+ llh[0] = 90 - llh[0]; // convert latitude to theta
+ convertSphericalToCartesian(llh, xyz);
+ }
+
+ // Fundamental routine to convert geocentric to geodetic coordinates.
+ // @param llr (input): geocentric Triple: lat(deg N),lon(deg E),radius (meters)
+ // @param llh (output): geodetic latitude (deg N),
+ // longitude (deg E), and height above ellipsoid (meters)
+ // @param A (input) Earth semi-major axis
+ // @param eccSq (input) square of Earth eccentricity
+ void Position::convertGeocentricToGeodetic(const Triple& llr,
+ Triple& llh,
+ const double A,
+ const double eccSq)
+ throw()
+ {
+ double cl,p,sl,slat,N,htold,latold;
+ cl = sin((90-llr[0])*DEG_TO_RAD);
+ sl = cos((90-llr[0])*DEG_TO_RAD);
+ if(llr[2] <= Position::POSITION_TOLERANCE/5) {
+ // radius is below tolerance, hence assign zero-length
+ // arbitrarily set latitude = longitude = 0
+ llh[0] = llh[1] = 0;
+ llh[2] = -A;
+ return;
+ }
+ else if(cl < 1.e-10) {
+ // near pole ... note that 1mm/radius(Earth) = 1.5e-10
+ if(llr[0] < 0) llh[0] = -90;
+ else llh[0] = 90;
+ llh[1] = 0;
+ llh[2] = llr[2] - A*SQRT(1-eccSq);
+ return;
+ }
+ llh[0] = atan2(sl, cl*(1.0-eccSq));
+ p = cl*llr[2];
+ llh[2] = 0;
+ for(int i=0; i<5; i++) {
+ slat = sin(llh[0]);
+ N = A / SQRT(1.0 - eccSq*slat*slat);
+ htold = llh[2];
+ llh[2] = p/cos(llh[0]) - N;
+ latold = llh[0];
+ llh[0] = atan2(sl, cl*(1.0-eccSq*(N/(N+llh[2]))));
+ if(fabs(llh[0]-latold) < 1.0e-9 && fabs(llh[2]-htold) < 1.0e-9 * A) break;
+ }
+ llh[0] *= RAD_TO_DEG;
+ }
+
+ // Fundamental routine to convert geodetic to geocentric coordinates.
+ // @param geodeticllh (input): geodetic latitude (deg N),
+ // longitude (deg E), and height above ellipsoid (meters)
+ // @param llr (output): geocentric lat (deg N),lon (deg E),radius (meters)
+ // @param A (input) Earth semi-major axis
+ // @param eccSq (input) square of Earth eccentricity
+ void Position::convertGeodeticToGeocentric(const Triple& llh,
+ Triple& llr,
+ const double A,
+ const double eccSq)
+ throw()
+ {
+ double slat = sin(llh[0]*DEG_TO_RAD);
+ double N = A/SQRT(1.0-eccSq*slat*slat);
+ // radius
+ llr[2] = SQRT((N+llh[2])*(N+llh[2]) + N*eccSq*(N*eccSq-2*(N+llh[2]))*slat*slat);
+ if(llr[2] <= Position::POSITION_TOLERANCE/5)
+ {
+ // radius is below tolerance, hence assign zero-length
+ // arbitrarily set latitude = longitude = 0
+ llr[0] = llr[1] = llr[2] = 0;
+ return;
+ }
+ if(1-fabs(slat) < 1.e-10) { // at the pole
+ if(slat < 0) llr[0] = -90;
+ else llr[0] = 90;
+ return;
+ }
+ // theta
+ llr[0] = acos((N*(1-eccSq)+llh[2])*slat/llr[2]);
+ llr[0] *= RAD_TO_DEG;
+ llr[0] = 90 - llr[0];
+ }
+
+ // ----------- Part 11: operator<< and other useful functions -------------
+ //
+ // Stream output for Position objects.
+ // @param s stream to append formatted Position to.
+ // @param t Position to append to stream \c s.
+ // @return reference to \c s.
+ ostream& operator<<(ostream& s, const Position& p)
+ {
+ if(p.system == Position::Cartesian)
+ s << p.printf("%.4x m %.4y m %.4z m");
+ else if(p.system == Position::Geodetic)
+ s << p.printf("%.8A degN %.8L degE %.4h m");
+ else if(p.system == Position::Geocentric)
+ s << p.printf("%.8a degN %.8L degE %.4r m");
+ else if(p.system == Position::Spherical)
+ s << p.printf("%.8t deg %.8p deg %.4r m");
+ else
+ s << " Unknown system! : " << p[0] << " " << p[1] << " " << p[2];
+
+ return s;
+ }
+
+ // Compute the range in meters between this Position and
+ // the Position passed as input.
+ // @param right Position to which to find the range
+ // @return the range (in meters)
+ // @throw GeometryException if geoid values differ
+ double range(const Position& A,
+ const Position& B)
+ throw(GeometryException)
+ {
+ if(A.AEarth != B.AEarth || A.eccSquared != B.eccSquared)
+ {
+ GeometryException ge("Unequal geoids");
+ GPSTK_THROW(ge);
+ }
+
+ Position L(A),R(B);
+ L.transformTo(Position::Cartesian);
+ R.transformTo(Position::Cartesian);
+ double dif = RSS(L.X()-R.X(),L.Y()-R.Y(),L.Z()-R.Z());
+ return dif;
+ }
+
+ // Compute the radius of the ellipsoidal Earth, given the geodetic latitude.
+ // @param geolat geodetic latitude in degrees
+ // @return the Earth radius (in meters)
+ double Position::radiusEarth(const double geolat,
+ const double A,
+ const double eccSq)
+ throw()
+ {
+ double slat=sin(DEG_TO_RAD*geolat);
+ double e=(1.0-eccSq);
+ double f=(1.0+(e*e-1.0)*slat*slat)/(1.0-eccSq*slat*slat);
+ return (A * SQRT(f));
+ }
+
+ // A member function that computes the elevation of the input
+ // (Target) position as seen from this Position.
+ // @param Target the Position which is observed to have the
+ // computed elevation, as seen from this Position.
+ // @return the elevation in degrees
+ double Position::elevation(const Position& Target) const
+ throw()
+ {
+ Position R(*this),S(Target);
+ R.transformTo(Cartesian);
+ S.transformTo(Cartesian);
+ // use Triple:: functions in cartesian coordinates (only)
+ return R.elvAngle(S);
+ }
+
+ // A member function that computes the azimuth of the input
+ // (Target) position as seen from this Position.
+ // @param Target the Position which is observed to have the
+ // computed azimuth, as seen from this Position.
+ // @return the azimuth in degrees
+ double Position::azimuth(const Position& Target) const
+ throw()
+ {
+ Position R(*this),S(Target);
+ R.transformTo(Cartesian);
+ S.transformTo(Cartesian);
+ // use Triple:: functions in cartesian coordinates (only)
+ return R.azAngle(S);
+ }
+
+ // A member function that computes the point at which a signal, which
+ // is received at *this Position and there is observed at the input
+ // azimuth and elevation, crosses a model ionosphere that is taken to
+ // be a uniform thin shell at the input height. This algorithm is done
+ // in geocentric coordinates.
+ // A member function that computes the point at which a signal, which
+ // is received at *this Position and there is observed at the input
+ // azimuth and elevation, crosses a model ionosphere that is taken to
+ // be a uniform thin shell at the input height. This algorithm is done
+ // in geocentric coordinates.
+ // @param elev elevation angle of the signal at reception, in degrees
+ // @param azim azimuth angle of the signal at reception, in degrees
+ // @param ionoht height of the ionosphere, in meters
+ // @return Position IPP the position of the ionospheric pierce point,
+ // in the same coordinate system as *this; *this is not modified.
+ Position Position::getIonosphericPiercePoint(const double elev,
+ const double azim,
+ const double ionoht) const
+ throw()
+ {
+ Position Rx(*this);
+
+ // convert to Geocentric
+ Rx.transformTo(Geocentric);
+
+ // compute the geographic pierce point
+ Position IPP(Rx); // copy system and geoid
+ double el = elev * DEG_TO_RAD;
+ // p is the angle subtended at Earth center by Rx and the IPP
+ double p = PI/2.0 - el - asin(AEarth*cos(el)/(AEarth+ionoht));
+ double lat = Rx.theArray[0] * DEG_TO_RAD;
+ double az = azim * DEG_TO_RAD;
+ IPP.theArray[0] = asin(sin(lat)*cos(p) + cos(lat)*sin(p)*cos(az));
+ IPP.theArray[1] = Rx.theArray[1]*DEG_TO_RAD
+ + asin(sin(p)*sin(az)/cos(IPP.theArray[0]));
+
+ IPP.theArray[0] *= RAD_TO_DEG;
+ IPP.theArray[1] *= RAD_TO_DEG;
+ IPP.theArray[2] = AEarth + ionoht;
+
+ // transform back
+ IPP.transformTo(system);
+
+ return IPP;
+ }
+
+ // ----------- Part 12: private functions and member data -----------------
+ //
+ // Initialization function, used by the constructors.
+ // @param a coordinate [ X(m), or latitude (degrees N) ]
+ // @param b coordinate [ Y(m), or longitude (degrees E) ]
+ // @param c coordinate [ Z, height above ellipsoid or radius, in m ]
+ // @param s CoordinateSystem, defaults to Cartesian
+ // @param geiod pointer to a GeoidModel, default NULL (WGS84)
+ // @throw GeometryException on invalid input.
+ void Position::initialize(const double a,
+ const double b,
+ const double c,
+ Position::CoordinateSystem s,
+ GeoidModel *geoid)
+ throw(GeometryException)
+ {
+ double bb(b);
+ if(s == Geodetic || s==Geocentric)
+ {
+ if(a > 90 || a < -90)
+ {
+ GeometryException ge("Invalid latitude in constructor: "
+ + StringUtils::asString(a));
+ GPSTK_THROW(ge);
+ }
+ if(bb < 0)
+ bb += 360*(1+(unsigned long)(bb/360));
+ else if(bb >= 360)
+ bb -= 360*(unsigned long)(bb/360);
+ }
+ if(s==Geocentric || s==Spherical)
+ {
+ if(c < 0)
+ {
+ GeometryException ge("Invalid radius in constructor: "
+ + StringUtils::asString(c));
+ GPSTK_THROW(ge);
+ }
+ }
+ if(s==Spherical)
+ {
+ if(a < 0 || a > 180)
+ {
+ GeometryException ge("Invalid theta in constructor: "
+ + StringUtils::asString(a));
+ GPSTK_THROW(ge);
+ }
+ if(bb < 0)
+ bb += 360*(1+(unsigned long)(bb/360));
+ else if(bb >= 360)
+ bb -= 360*(unsigned long)(bb/360);
+ }
+
+ theArray[0] = a;
+ theArray[1] = bb;
+ theArray[2] = c;
+
+ if(geoid) {
+ AEarth = geoid->a();
+ eccSquared = geoid->eccSquared();
+ }
+ else {
+ WGS84Geoid WGS84;
+ AEarth = WGS84.a();
+ eccSquared = WGS84.eccSquared();
+ }
+ system = s;
+ tolerance = POSITION_TOLERANCE;
+ }
+
+} // namespace gpstk
diff --git a/trunk/src/Position.hpp b/trunk/src/Position.hpp
new file mode 100644
index 0000000..33edb95
--- /dev/null
+++ b/trunk/src/Position.hpp
@@ -0,0 +1,893 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/iono/Position.hpp#1 $"
+
+/**
+ * @file Position.hpp
+ * class gpstk::Position encapsulates 3-D positions, including geographic positions,
+ * expressed as geodetic (with respect to an ellipsoidal geoid), geocentric or
+ * Earth-centered, Earth-fixed (cartesian) coordinates, as well as ordinary
+ * positions defined by spherical or cartesian coordinates. Position inherits
+ * from class Triple.
+ */
+
+#ifndef GPSTK_POSITION_HPP
+#define GPSTK_POSITION_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "Exception.hpp"
+#include "StringUtils.hpp"
+#include "DayTime.hpp" // for FormatException
+#include "Triple.hpp"
+#include "GeoidModel.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup geodeticgroup */
+ //@{
+
+ /**
+ * A position representation class for common 3D geographic position formats,
+ * including geodetic (geodetic latitude, longitude, and height above the geoid)
+ * geocentric (geocentric latitude, longitude, and radius from Earth's center),
+ * cartesian (Earth-centered, Earth-fixed) and spherical (theta,phi,radius).
+ *
+ * Internally, the representation of Position consists of three coordinate
+ * values (double), two doubles from a geoid model (see below, storing these
+ * doubles is preferred over adding GeoidModel to calling arguments everywhere),
+ * a flag of type 'enum CoordinateSystem' giving the coordinate system, and a
+ * tolerance for use in comparing Positions. Class Position inherits from class
+ * Triple, which is how the coordinate values are stored (Triple actually uses
+ * std::valarray<double> of length 3). It is important to note that
+ * Triple:: routines are properly used by Positions ONLY in the Cartesian
+ * coordinate system.
+ *
+ * Only geodetic coordinates depend on a geoid, and then (for an ellipsoidal
+ * geoid) only on the semi-major axis of the Earth and the square of its
+ * eccentricity. Input of this geoid information (usually a pointer to a
+ * GeoidModel) is required by functions involving constructors of, or
+ * transformation to or from, Geodetic coordinates. However since a default
+ * is supplied (WGS84), the user need never deal with geiods unless desired.
+ * In fact, if the geodetic coordinate system is avoided, the Position class
+ * can be interpreted simply as 3D vectors in any context, particularly since
+ * the class inherits from Triple, which includes many vector manipulation
+ * routines (although the Triple:: routines assume Cartesian coordinates).
+ * Even the requirement that lengths (radius, height and the cartesian
+ * coordinates) have units of meters is required only if geodetic coordinates
+ * are used (because the semi-major axis in GeoidModel is in meters);
+ * without using Geodetic one could apply the class using any units for
+ * length as long as setTolerance() is called appropriately.
+ *
+ * Position relies on a series of fundamental routines to transform from
+ * one coordinate system to another, these include, for example
+ * void Position::convertGeodeticToCartesian(const Triple& llh, Triple& xyz,
+ * const double A, const double eccSq);
+ * void Position::convertSphericalToCartesian(const Triple& tpr, Triple& xyz);
+ * These functions use Triple in the calling arguments.
+ *
+ * Position will throw exceptions (gpstk::GeometryException) on bad input
+ * (e.g. negative radius or latitude > 90 degrees); otherwise the class
+ * attempts to handle all points, even the pole and the origin, consistently
+ * and without throwing exceptions.
+ * At or very near the poles, the transformation routines will set
+ * latitude = +/-90 degrees, which is theta = 0 or 180, and (arbitrarily)
+ * longitude = 0. At or very near the origin, the transformation routines
+ * will set latitude = 0, which is theta = 90, and (arbitrarily) longitude = 0;
+ * radius will be set to zero and geodetic height will be set to
+ * -radius(Earth) (= -6378137.0 in WGS84). The tolerance used in testing
+ * 'at or near the pole or origin' is radius < POSITION_TOLERANCE/5.
+ * Note that this implies that a Position that is very near the origin may
+ * be SET to the exact origin by the transformation routines, and that
+ * thereby information about direction (e.g. latitude and longitude)
+ * may be LOST. The user is warned to be very careful when working
+ * near either the pole or the origin.
+ *
+ * Position includes setToString() and printf() functions similar to those
+ * in gpstk::DayTime; this allows flexible and powerful I/O of Position to
+ * strings and streams.
+ *
+ * @sa positiontest.cpp for examples.
+ */
+ class Position : public Triple
+ {
+ public:
+ // ----------- Part 1: coordinate systems --------------------------------
+ //
+ /// The coordinate systems supported by Position
+ enum CoordinateSystem
+ {
+ Unknown=0, ///< unknown coordinate system
+ Geodetic, ///< geodetic latitude, longitude, and height above geoid
+ Geocentric, ///< geocentric (regular spherical coordinates)
+ Cartesian, ///< cartesian (Earth-centered, Earth-fixed)
+ Spherical ///< spherical coordinates (theta,phi,radius)
+ };
+
+ /// return string giving name of coordinate system
+ std::string getSystemName()
+ throw();
+
+ // ----------- Part 2: member functions: tolerance -----------------------
+ //
+ /// One millimeter tolerance.
+ static const double ONE_MM_TOLERANCE;
+ /// One centimeter tolerance.
+ static const double ONE_CM_TOLERANCE;
+ /// One micron tolerance.
+ static const double ONE_UM_TOLERANCE;
+
+ /// Default tolerance for time equality in days.
+ static double POSITION_TOLERANCE;
+
+ /// Changes the POSITION_TOLERANCE for all Position objects
+ static double setPositionTolerance(const double tol)
+ { POSITION_TOLERANCE = tol; return POSITION_TOLERANCE; }
+
+ /// Returns the current POSITION_TOLERANCE.
+ static double getPositionTolerance()
+ { return POSITION_TOLERANCE; }
+
+ /**
+ * Sets the tolerance for output and comparisons, for this object only.
+ * See the constants in this file (e.g. ONE_MM_TOLERANCE)
+ * for some easy to use tolerance values.
+ * @param tol Tolerance in meters to be used by comparison operators.
+ * @sa Position-Specific Definitions
+ */
+ Position& setTolerance(const double tol)
+ throw();
+
+ // ----------- Part 3: member functions: constructors --------------------
+ //
+ /**
+ * Default constructor.
+ * Initializes to zero, Unknown coordinates
+ */
+ Position()
+ throw();
+
+ /**
+ * Explicit constructor. Coordinate system may be specified on input,
+ * but defaults to Cartesian. Pointer to GeoidModel may be specified,
+ * but default is NULL (in which case WGS84 values will be used).
+ * @param a first coordinate [ X(m), or latitude (degrees N) ]
+ * @param b second coordinate [ Y(m), or longitude (degrees E) ]
+ * @param c third coordinate [ Z, height above ellipsoid or radius, in m ]
+ * @param s coordinate system
+ * @param geoid pointer to GeoidModel
+ * @throw GeometryException on invalid input.
+ */
+ Position(const double& a,
+ const double& b,
+ const double& c,
+ CoordinateSystem s = Cartesian,
+ GeoidModel *geoid = NULL)
+ throw(GeometryException);
+
+ /**
+ * Explicit constructor. Coordinate system may be specified on input,
+ * but defaults to Cartesian. Pointer to GeoidModel may be specified,
+ * but default is NULL (in which case WGS84 values will be used).
+ * @param ABC double array[3] coordinate values
+ * @param s CoordinateSystem
+ * @param geoid pointer to GeoidModel
+ * @throw GeometryException on invalid input.
+ */
+ Position(const double ABC[3],
+ CoordinateSystem s = Cartesian,
+ GeoidModel *geoid = NULL)
+ throw(GeometryException);
+
+ /**
+ * Explicit constructor. Coordinate system may be specified on input,
+ * but defaults to Cartesian. Pointer to GeoidModel may be specified,
+ * but default is NULL (in which case WGS84 values will be used).
+ * @param ABC coordinate values
+ * @param s CoordinateSystem
+ * @param geoid pointer to GeoidModel
+ * @throw GeometryException on invalid input.
+ */
+ Position(const Triple& ABC,
+ CoordinateSystem s = Cartesian,
+ GeoidModel *geoid = NULL)
+ throw(GeometryException);
+
+ /**
+ * Explicit constructor from Xvt. The coordinate system is Cartesian,
+ * and the velocity and time information in the input is ignored.
+ * @param xvt Input Xvt object, xvt.x contains the Cartesian coordinates
+ */
+ Position(const Xvt& xvt)
+ throw();
+
+ /// Destructor.
+ ~Position()
+ throw()
+ {}
+
+ // ----------- Part 4: member functions: arithmetic ----------------------
+ //
+ /** Subtract a Position from this Position. Perform the subtraction in
+ * Cartesian coordinates, but return this Position to the system it
+ * had originally.
+ * @param right Position to subtract from this one.
+ * @return new Position, in the original system.
+ */
+ Position& operator-=(const Position& right)
+ throw();
+
+ /** Add a Position to this Position. Perform the addition in
+ * Cartesian coordinates, but return this Position to the system it
+ * had originally.
+ * @param right Position to add to this one.
+ * @return new Position, in the original system.
+ */
+ Position& operator+=(const Position& right)
+ throw();
+
+ /**
+ * Difference two Positions, returning result as a Position in Cartesian
+ * coordinates, the only system in which a position difference makes sense.
+ * @param right Position to subtract from this one.
+ * @return difference as Position.
+ */
+ friend Position operator-(const Position& left,
+ const Position& right)
+ throw();
+
+ /**
+ * Add two Positions, returning result as a Position in Cartesian
+ * coordinates, the only system in which a position sum makes sense.
+ * @param right Position to add to this one.
+ * @return The new Position.
+ */
+ friend Position operator+(const Position& left,
+ const Position& right)
+ throw();
+
+ /** Multiply a Position by a double scalar on the left.
+ * @param right Position to be multiplied by the scalar
+ * @param scale the (double) scalar
+ * @return The new Position.
+ */
+ friend Position operator*(const double& scale,
+ const Position& right)
+ {
+ Position tmp(right);
+ tmp.theArray *= scale;
+ return tmp;
+ }
+
+ /** Multiply a Position by a double scalar on the right.
+ * @param left Position to be multiplied by the scalar
+ * @param scale the (double) scalar
+ * @return The new Position.
+ */
+ friend Position operator*(const Position& left,
+ const double& scale)
+ {
+ return operator*(scale, left);
+ }
+
+ /** Multiply a Position by an integer scalar on the left.
+ * @param right Position to be multiplied by the scalar
+ * @param scale the (int) scalar
+ * @return The new Position.
+ */
+ friend Position operator*(const int& scale,
+ const Position& right)
+ {
+ return operator*(double(scale), right);
+ }
+
+ /** Multiply a Position by an integer scalar on the right.
+ * @param left Position to be multiplied by the scalar
+ * @param scale the (int) scalar
+ * @return The new Position.
+ */
+ friend Position operator*(const Position& left,
+ const int& scale)
+ {
+ return operator*(double(scale), left);
+ }
+
+ // ----------- Part 5: member functions: comparisons ---------------------
+ //
+ /// Equality operator. Return true if range between this Position and
+ /// the input Position is less than tolerance. Return false if geoid
+ /// values differ.
+ /// @param right Position to be compared to this Position
+ bool operator==(const Position &right) const
+ throw();
+
+ /// Inequality operator. Return true if range between this Position and
+ /// the input Position is greater than tolerance. Return true if geoid
+ /// values differ.
+ /// @param right Position to be compared to this Position
+ bool operator!=(const Position &right) const
+ throw();
+
+ // ----------- Part 6: member functions: coordinate transformations ------
+ //
+ /**
+ * Transform coordinate system. Does nothing if sys already matches the
+ * current value of member CoordinateSystem 'system'.
+ * @param sys CoordinateSystem into which this Position is transformed.
+ */
+ Position transformTo(CoordinateSystem sys)
+ throw();
+
+ /// Convert to geodetic coordinates (does nothing if
+ /// system == Geodetic already).
+ Position asGeodetic()
+ throw()
+ { transformTo(Geodetic); return *this; }
+
+ /// Convert to another geoid, then to geodetic coordinates.
+ /// @return a reference to this.
+ /// @throw GeometryException if input is NULL.
+ Position asGeodetic(GeoidModel *geoid)
+ throw(GeometryException)
+ {
+ try { setGeoidModel(geoid); }
+ catch(GeometryException& ge) { GPSTK_RETHROW(ge); }
+ transformTo(Geodetic);
+ return *this;
+ }
+
+ /// Convert to cartesian coordinates (does nothing if
+ /// system == Cartesian already).
+ Position asECEF()
+ throw()
+ { transformTo(Cartesian); return *this; }
+
+
+ // ----------- Part 7: member functions: get -----------------------------
+ //
+ // These routines retrieve coordinate values in all coordinate systems.
+ //
+ /// return X coordinate (meters)
+ double X() const
+ throw();
+
+ /// return Y coordinate (meters)
+ double Y() const
+ throw();
+
+ /// return Z coordinate (meters)
+ double Z() const
+ throw();
+
+ /// return geodetic latitude (degrees North).
+ double geodeticLatitude() const
+ throw();
+
+ /// return geocentric latitude (degrees North);
+ /// equal to 90 degress - theta in regular spherical coordinates.
+ double geocentricLatitude() const
+ throw();
+
+ /// return spherical coordinate theta in degrees
+ double theta() const
+ throw();
+
+ /// return spherical coordinate phi in degrees
+ double phi() const
+ throw();
+
+ /// return longitude (degrees East);
+ /// equal to phi in regular spherical coordinates.
+ double longitude() const
+ throw();
+
+ /// return distance from the center of Earth (meters),
+ /// Same as radius in spherical coordinates.
+ double radius() const
+ throw();
+
+ /// return height above ellipsoid (meters) (Geodetic).
+ double height() const
+ throw();
+
+ /// return the coordinate system for this Position
+ CoordinateSystem getCoordinateSystem() const
+ throw()
+ { return system; };
+
+ /// return geodetic latitude (deg N)
+ double getGeodeticLatitude() const
+ throw()
+ { return geodeticLatitude(); }
+
+ /// return geocentric latitude (deg N)
+ double getGeocentricLatitude() const
+ throw()
+ { return geocentricLatitude(); }
+
+ /// return longitude (deg E) (either geocentric or geodetic)
+ double getLongitude() const
+ throw()
+ { return longitude(); }
+
+ /// return height above ellipsoid (meters)
+ double getAltitude() const
+ throw()
+ { return height(); }
+
+ /// return height above ellipsoid (meters)
+ double getHeight() const
+ throw()
+ { return height(); }
+
+ /// return ECEF X coordinate (meters)
+ double getX() const
+ throw()
+ { return X(); }
+
+ /// return ECEF Y coordinate (meters)
+ double getY() const
+ throw()
+ { return Y(); }
+
+ /// return ECEF Z coordinate (meters)
+ double getZ() const
+ throw()
+ { return Z(); }
+
+ /// return spherical coordinate angle theta (deg) (90 - geocentric latitude)
+ double getTheta() const
+ throw()
+ { return theta(); }
+
+ /// return spherical coordinate angle phi (deg) (same as longitude)
+ double getPhi() const
+ throw()
+ { return phi(); }
+
+ /// return radius
+ double getRadius() const
+ throw()
+ { return radius(); }
+
+ // ----------- Part 8: member functions: set -----------------------------
+ //
+ /**
+ * Set the geoid values for this Position given a geoid.
+ * @param geoid Pointer to the GeoidModel.
+ * @throw GeometryException if input is NULL.
+ */
+ void setGeoidModel(const GeoidModel *geoid)
+ throw(GeometryException);
+
+ /**
+ * Set the Position given geodetic coordinates; system is set to Geodetic.
+ * @param lat geodetic latitude in degrees North
+ * @param lon geodetic longitude in degrees East
+ * @param ht height above the ellipsoid in meters
+ * @return a reference to this object.
+ * @throw GeometryException on invalid input
+ */
+ Position& setGeodetic(const double lat,
+ const double lon,
+ const double ht,
+ const GeoidModel *geoid = NULL)
+ throw(GeometryException);
+
+ /**
+ * Set the Position given geocentric coordinates; system is set to Geocentric
+ * @param lat geocentric latitude in degrees North
+ * @param lon geocentric longitude in degrees East
+ * @param rad radius from the Earth's center in meters
+ * @return a reference to this object.
+ * @throw GeometryException on invalid input
+ */
+ Position& setGeocentric(const double lat,
+ const double lon,
+ const double rad)
+ throw(GeometryException);
+
+ /**
+ * Set the Position given spherical coordinates; system is set to Spherical
+ * @param theta angle from the Z-axis (degrees)
+ * @param phi angle from the X-axis in the XY plane (degrees)
+ * @param rad radius from the center in meters
+ * @return a reference to this object.
+ * @throw GeometryException on invalid input
+ */
+ Position& setSpherical(const double theta,
+ const double phi,
+ const double rad)
+ throw(GeometryException);
+
+ /**
+ * Set the Position given ECEF coordinates; system is set to Cartesian.
+ * @param X ECEF X coordinate in meters.
+ * @param Y ECEF Y coordinate in meters.
+ * @param Z ECEF Z coordinate in meters.
+ * @return a reference to this object.
+ */
+ Position& setECEF(const double X,
+ const double Y,
+ const double Z)
+ throw();
+
+ /**
+ * Set the Position given an array of ECEF coordinates;
+ * system is set to Cartesian.
+ * @param XYZ array[3] ECEF X,Y,Z coordinate in meters.
+ * @return a reference to this object.
+ */
+ Position& setECEF(const double XYZ[3])
+ throw()
+ { return setECEF(XYZ[0],XYZ[1],XYZ[2]); }
+
+ /**
+ * Set the Position given ECEF coordinates; system is set to Cartesian.
+ * @param XYZ ECEF X,Y,Z coordinates in meters.
+ * @return a reference to this object.
+ */
+ Position& setECEF(const Triple& XYZ)
+ throw()
+ { return setECEF(XYZ[0],XYZ[1],XYZ[2]); }
+
+ // ----------- Part 9: member functions: setToString, printf -------------
+ //
+ /**
+ * setToString, similar to scanf, this function takes a string and a
+ * format describing string in order to define Position
+ * values. The parameters it can take are listed below and
+ * described above with the printf() function.
+ *
+ * The specification must be sufficient to define a Position.
+ * The following table lists combinations that give valid
+ * Positions. Anything more or other combinations will give
+ * unknown (read as: "bad") results so don't try it. Anything
+ * less will throw an exception.
+ *
+ * @code
+ * %X %Y %Z (cartesian or ECEF in kilometers)
+ * %x %y %z (cartesian or ECEF in meters)
+ * %a %l %r (geocentric lat,lon,radius, longitude E, radius in meters)
+ * %A %L %h (geodetic lat,lon,height, longitude E, height in meters)
+ * %a %w %R (geocentric lat,lon,radius, longitude W, radius in kilometers)
+ * %A %W %H (geodetic lat,lon,height, longitude W, height in kilometers)
+ * %t %p %r (spherical theta, phi, radius, degrees and meters)
+ * %T %P %R (spherical theta, phi, radius, radians and kilometers)
+ * @endcode
+ *
+ * So
+ * @code
+ * pos.setToString("123.4342,9328.1982,-128987.399", "%X,%Y,%Z");
+ * @endcode
+ *
+ * works but
+ *
+ * @code
+ * pos.setToString("123.4342,9328.1982", "%X,%Y");
+ * @endcode
+ * doesn't work (incomplete specification because it doesn't specify
+ * a Position).
+ *
+ * Whitespace is unimportant here; the function will handle it.
+ * The caller must ensure that that the extra characters in
+ * the format string (ie '.' ',') are in the same relative
+ * location as they are in the actual string; see the example above.
+ *
+ * @param str string from which to get the Position coordinates
+ * @param fmt format to use to parse \c str.
+ * @throw GeometryException if \c fmt is an incomplete or invalid
+ * specification
+ * @throw FormatException if unable to scan \c str.
+ * @throw StringException if an error occurs manipulating the
+ * \c str or \c fmt strings.
+ * @return a reference to this object.
+ */
+ Position& setToString(const std::string& str,
+ const std::string& fmt)
+ throw(GeometryException,
+ DayTime::FormatException,
+ StringUtils::StringException);
+
+
+ // if you can see this, ignore the \'s below, as they are for
+ // the nasty html-ifying of doxygen. Browsers try to
+ // interpret the % and they get all messed up.
+ /**
+ * Format this Position into a string.
+ *
+ * Generate and return a string containing formatted
+ * Position coordinates, formatted by the specification \c fmt.
+ *
+ * \li \%x X() (meters)
+ * \li \%y Y() (meters)
+ * \li \%z Z() (meters)
+ * \li \%X X()/1000 (kilometers)
+ * \li \%Y Y()/1000 (kilometers)
+ * \li \%Z Z()/1000 (kilometers)
+ * \li \%A geodeticLatitude() (degrees North)
+ * \li \%a geocentricLatitude() (degrees North)
+ * \li \%L longitude() (degrees East)
+ * \li \%l longitude() (degrees East)
+ * \li \%w longitude() (degrees West)
+ * \li \%W longitude() (degrees West)
+ * \li \%t theta() (degrees)
+ * \li \%T theta() (radians)
+ * \li \%p phi() (degrees)
+ * \li \%P phi() (radians)
+ * \li \%r radius() meters
+ * \li \%R radius()/1000 kilometers
+ * \li \%h height() meters
+ * \li \%H height()/1000 kilometers
+ *
+ * @param fmt format to use for this time.
+ * @return a string containing this Position in the
+ * representation specified by \c fmt.
+ */
+ std::string printf(const char *fmt) const
+ throw(StringUtils::StringException);
+
+ /// Format this time into a string.
+ /// @see printf(const char*)
+ std::string printf(const std::string& fmt) const
+ throw(StringUtils::StringException)
+ { return printf(fmt.c_str()); }
+
+ /// Returns the string that operator<<() would print.
+ std::string asString() const
+ throw(StringUtils::StringException);
+
+ // ----------- Part 10: functions: fundamental conversions ---------------
+ //
+ /** Fundamental conversion from spherical to cartesian coordinates.
+ * @param trp (input): theta, phi (degrees), radius
+ * @param xyz (output): X,Y,Z in units of radius
+ * Algorithm references: standard geometry.
+ */
+ static void convertSphericalToCartesian(const Triple& tpr,
+ Triple& xyz)
+ throw();
+
+ /** Fundamental routine to convert cartesian to spherical coordinates.
+ * The zero vector is converted to (90,0,0).
+ * @param xyz (input): X,Y,Z
+ * @param trp (output): theta, phi (degrees), radius (units of input)
+ * Algorithm references: standard geometry.
+ */
+ static void convertCartesianToSpherical(const Triple& xyz,
+ Triple& tpr)
+ throw();
+
+
+ /** Fundamental routine to convert ECEF (cartesian) to geodetic coordinates,
+ * (Geoid specified by semi-major axis and eccentricity squared).
+ * The zero vector is converted to (90,0,-R(earth)).
+ * @param xyz (input): X,Y,Z in meters
+ * @param llh (output): geodetic lat(deg N), lon(deg E),
+ * height above ellipsoid (meters)
+ * @param A (input) Earth semi-major axis
+ * @param eccSq (input) square of Earth eccentricity
+ * Algorithm references: Leick, "GPS Satellite Surveying," 2nd edition.
+ */
+ static void convertCartesianToGeodetic(const Triple& xyz,
+ Triple& llh,
+ const double A,
+ const double eccSq)
+ throw();
+
+ /** Fundamental routine to convert geodetic to ECEF (cartesian) coordinates,
+ * (Geoid specified by semi-major axis and eccentricity squared).
+ * @param llh (input): geodetic lat(deg N), lon(deg E),
+ * height above ellipsoid (meters)
+ * @param A (input) Earth semi-major axis
+ * @param xyz (output): X,Y,Z in meters
+ * @param eccSq (input) square of Earth eccentricity
+ * Algorithm references: Leick, "GPS Satellite Surveying," 2nd edition.
+ */
+ static void convertGeodeticToCartesian(const Triple& llh,
+ Triple& xyz,
+ const double A,
+ const double eccSq)
+ throw();
+
+
+ /** Fundamental routine to convert cartesian (ECEF) to geocentric
+ * The zero vector is converted to (0,0,0).
+ * @param xyz (input): X,Y,Z
+ * @param llr (output): geocentric lat(deg N), lon(deg E),
+ * radius (units of input)
+ */
+ static void convertCartesianToGeocentric(const Triple& xyz,
+ Triple& llr)
+ throw();
+
+ /** Fundamental routine to convert geocentric to cartesian (ECEF)
+ * @param llr (input): geocentric lat(deg N),lon(deg E),radius
+ * @param xyz (output): X,Y,Z (units of radius)
+ */
+ static void convertGeocentricToCartesian(const Triple& llr,
+ Triple& xyz)
+ throw();
+
+
+ /** Fundamental routine to convert geocentric to geodetic
+ * @param llr (input): geocentric lat(deg N),lon(deg E),radius (meters)
+ * @param geodeticllh (output): geodetic latitude (deg N),
+ * longitude (deg E), and height above ellipsoid (meters)
+ * @param A (input) Earth semi-major axis
+ * @param eccSq (input) square of Earth eccentricity
+ */
+ static void convertGeocentricToGeodetic(const Triple& llr,
+ Triple& geodeticllh,
+ const double A,
+ const double eccSq)
+ throw();
+
+ /** Fundamental routine to convert geodetic to geocentric
+ * @param geodeticllh (input): geodetic latitude (deg N),
+ * longitude (deg E), and height above ellipsoid (meters)
+ * @param llr (output): geocentric lat (deg N),lon (deg E),radius (meters)
+ * @param A (input) Earth semi-major axis
+ * @param eccSq (input) square of Earth eccentricity
+ */
+ static void convertGeodeticToGeocentric(const Triple& geodeticllh,
+ Triple& llr,
+ const double A,
+ const double eccSq)
+ throw();
+
+ // ----------- Part 11: operator<< and other useful functions -------------
+ //
+ /**
+ * Stream output for Position objects.
+ * @param s stream to append formatted Position to.
+ * @param t Position to append to stream \c s.
+ * @return reference to \c s.
+ */
+ friend std::ostream& operator<<(std::ostream& s,
+ const Position& p);
+
+ /**
+ * Compute the range in meters between two Positions.
+ * Input Positions are not modified.
+ * @param A,B Positions between which to find the range
+ * @return the range (in meters)
+ * @throw GeometryException if geoid values differ.
+ * or if transformTo(Cartesian) fails
+ */
+ friend double range(const Position& A,
+ const Position& B)
+ throw(GeometryException);
+
+ /**
+ * Compute the radius of the ellipsoidal Earth, given the geodetic latitude.
+ * @param geolat geodetic latitude in degrees
+ * @return the Earth radius (in meters)
+ */
+ static double radiusEarth(const double geolat,
+ const double A,
+ const double eccSq)
+ throw();
+
+ /**
+ * A member function that calls the non-member radiusEarth() for
+ * this Position.
+ * @return the Earth radius (in meters)
+ */
+ double radiusEarth() const
+ throw()
+ {
+ Position p(*this);
+ p.transformTo(Position::Geodetic);
+ return Position::radiusEarth(p.theArray[0], p.AEarth, p.eccSquared);
+ }
+
+ /**
+ * A member function that computes the elevation of the input
+ * (Target) position as seen from this Position.
+ * @param Target the Position which is observed to have the
+ * computed elevation, as seen from this Position.
+ * @return the elevation in degrees
+ */
+ double elevation(const Position& Target) const
+ throw();
+
+ /**
+ * A member function that computes the azimuth of the input
+ * (Target) position as seen from this Position.
+ * @param Target the Position which is observed to have the
+ * computed azimuth, as seen from this Position.
+ * @return the azimuth in degrees
+ */
+ double azimuth(const Position& Target) const
+ throw();
+
+ /**
+ * A member function that computes the position at which a signal, which
+ * is received at this Position and there is observed at the (input)
+ * azimuth and elevation angles, crosses a model ionosphere that is
+ * taken to be a thin shell at constant (input) height.
+ * This function will not transform this Position, and it will return
+ * a Position in the same system; the algorithm itself is done in the
+ * geocentric coordinate system.
+ * @param elev elevation angle in degrees of the signal at reception
+ * @param azim azimuth angle in degrees of the signal at reception
+ * @param ionoht height of the ionosphere, in meters
+ * @return Position IPP the position of the ionospheric pierce point,
+ * in the same coordinate system as *this; *this is not modified.
+ */
+ Position getIonosphericPiercePoint(const double elev,
+ const double azim,
+ const double ionoht) const
+ throw();
+
+ // ----------- Part 12: private functions and member data -----------------
+ //
+ private:
+
+ /** Initialization function, used by the constructors.
+ * @param a coordinate [ X(m), or latitude (degrees N) ]
+ * @param b coordinate [ Y(m), or longitude (degrees E) ]
+ * @param c coordinate [ Z, height above ellipsoid or radius, in m ]
+ * @param s CoordinateSystem, defaults to Cartesian
+ * @param geiod pointer to a GeoidModel, default NULL (WGS84)
+ * @throw GeometryException on invalid input.
+ */
+ void initialize(const double a,
+ const double b,
+ const double c,
+ CoordinateSystem s = Cartesian,
+ GeoidModel *geoid = NULL)
+ throw(GeometryException);
+
+ /* Values of the coordinates, defined for each system as follows;
+ * Cartesian : X,Y,Z in meters
+ * Geocentric : Latitude(degrees N), Longitude(degrees E),
+ * Radius (meters)
+ * Geodetic : Latitude(degrees N), Longitude(degrees E),
+ * Height above ellipsoid (meters)
+ * Spherical : theta (degrees) - angle from the z axis
+ * phi (degrees) - angle in xy plane from x axis toward
+ * y axis (same as longitude)
+ * radius (meters?) - distance from origin
+ */
+ // use std::valarray<double> theArray; -- inherit from Triple
+
+ /// semi-major axis of Earth (meters)
+ double AEarth;
+
+ /// square of geoid eccentricity
+ double eccSquared;
+
+ /// see #CoordinateSystem
+ CoordinateSystem system;
+
+ /// tolerance used in comparisons
+ double tolerance;
+
+ }; // end class Position
+
+ //@}
+
+} // namespace gpstk
+
+#endif // GPSTK_POSITION_HPP
diff --git a/trunk/src/RACRotation.cpp b/trunk/src/RACRotation.cpp
new file mode 100644
index 0000000..38b19c9
--- /dev/null
+++ b/trunk/src/RACRotation.cpp
@@ -0,0 +1,113 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RACRotation.cpp#1 $"
+//
+//
+//#include <stdio.h>
+
+// gpstk
+#include "RACRotation.hpp"
+
+namespace gpstk
+{
+
+//using namespace std;
+
+RACRotation::RACRotation( const gpstk::Triple& SVPositionVector,
+ const gpstk::Triple& SVVelocityVector)
+ : gpstk::Matrix<double>(3,3)
+{
+ compute( SVPositionVector, SVVelocityVector );
+}
+
+RACRotation::RACRotation(const gpstk::Xvt& xvt)
+ : gpstk::Matrix<double>(3,3)
+{
+ compute( xvt.x, xvt.v );
+}
+
+//
+// Given the SV position vector and the SV velocity vector,
+// compute a rotation from ECEF XYZ to ECEF Radial,
+// Along-Track, Cross-Track (RAC).
+//
+// Let the SV position vector be represented by R
+// Let the SV velocity vector be represented by V
+// 1.) Form the unit vector R^ = R / |R|.
+// 2.) Compute vector C = R^ cross V and unit vector C^ = C / |C|. C^ is
+// perpendiculat to the RV plane
+// 3.) Compute A^ = C^ corss R^.
+// 4.) [R^, A^, C^] is an orthonormal triad and the rotation matrix between
+// XYZ and RAC is the matrix where R^, C^, and A^ are each a row of the
+// matrix.
+//
+void RACRotation::compute( const gpstk::Triple& SVPositionVector,
+ const gpstk::Triple& SVVelocityVector)
+{
+
+ gpstk::Triple unitR = SVPositionVector.unitVector();
+ gpstk::Triple C = unitR.cross(SVVelocityVector);
+ gpstk::Triple unitC = C.unitVector();
+ gpstk::Triple unitA = unitC.cross(unitR);
+
+ (*this) (0,0) = unitR[0];
+ (*this) (0,1) = unitR[1];
+ (*this) (0,2) = unitR[2];
+ (*this) (1,0) = unitA[0];
+ (*this) (1,1) = unitA[1];
+ (*this) (1,2) = unitA[2];
+ (*this) (2,0) = unitC[0];
+ (*this) (2,1) = unitC[1];
+ (*this) (2,2) = unitC[2];
+}
+
+gpstk::Vector<double> RACRotation::convertToRAC( const gpstk::Vector<double>& inV )
+{
+ gpstk::Vector<double> outV(3);
+
+ /*
+ My goal was to use the following statement.
+ outV = this * inV;
+ However, for some reason, gcc refuses to recognize RACRotation as a
+ Matrix subclass. Therefore, I've incorporated the matrix multiply
+ as a temporary kludge.
+ */
+ if (inV.size()!=3)
+ {
+ gpstk::Exception e("Incompatible dimensions for Vector");
+ GPSTK_THROW(e);
+ }
+ size_t i, j;
+ for (i = 0; i < 3; i++)
+ {
+ outV[i] = 0;
+ for (j = 0; j < 3; j++)
+ {
+ double temp = (*this)(i,j) * inV[j];
+ outV[i] += temp;
+ }
+ }
+ /* end kludge */
+ return(outV);
+}
+
+gpstk::Triple RACRotation::convertToRAC( const gpstk::Triple& inVec )
+{
+ gpstk::Vector<double> v(3);
+ v[0] = inVec[0];
+ v[1] = inVec[1];
+ v[2] = inVec[2];
+
+ gpstk::Vector<double> vOut = convertToRAC( v );
+ gpstk::Triple outVec( vOut[0], vOut[1], vOut[2] );
+ return(outVec);
+}
+
+gpstk::Xvt RACRotation::convertToRAC( const gpstk::Xvt& in )
+{
+ gpstk::Xvt out;
+ out.dtime = in.dtime;
+ out.ddtime = in.ddtime;
+ out.x = convertToRAC( in.x );
+ out.v = convertToRAC( in.v );
+ return(out);
+}
+} // end namespace gpstk
diff --git a/trunk/src/RACRotation.hpp b/trunk/src/RACRotation.hpp
new file mode 100644
index 0000000..030e3f5
--- /dev/null
+++ b/trunk/src/RACRotation.hpp
@@ -0,0 +1,34 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RACRotation.hpp#1 $"
+//
+//
+#ifndef GPSTK_RACROTATION_HPP
+#define GPSTK_RACROTATION_HPP
+
+// gpstk
+#include "Triple.hpp"
+#include "Matrix.hpp"
+#include "Vector.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+ class RACRotation : public gpstk::Matrix<double>
+ {
+ public:
+ // Constructors
+ RACRotation( const gpstk::Triple& SVPositionVector,
+ const gpstk::Triple& SVVelocityVector);
+ RACRotation(const gpstk::Xvt& xvt);
+
+ // Methods
+ gpstk::Vector<double> convertToRAC( const gpstk::Vector<double>& inV );
+ gpstk::Triple convertToRAC( const gpstk::Triple& inVec );
+ gpstk::Xvt convertToRAC( const gpstk::Xvt& in );
+
+ // Utilities
+ protected:
+ void compute( const gpstk::Triple& SVPositionVector,
+ const gpstk::Triple& SVVelocityVector);
+ };
+}
+#endif
diff --git a/trunk/src/RAIM.cpp b/trunk/src/RAIM.cpp
new file mode 100644
index 0000000..d1c32d6
--- /dev/null
+++ b/trunk/src/RAIM.cpp
@@ -0,0 +1,592 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RAIM.cpp#5 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+/**
+ * @file RAIM.cpp
+ * Autonomous pseudorange navigation solution, including RAIM algorithm
+ * This module is now deprecated; use PRSolution.
+ */
+
+#include <cstdlib> // for std::abs()
+#include "MathBase.hpp"
+#include "RAIMSolution.hpp"
+#include "EphemerisRange.hpp"
+#include "GPSGeoid.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+namespace gpstk
+{
+ /* /deprecated Use PRSolution
+ * 'Tr' Measured time of reception of the data.
+ * 'Satellite' Vector of satellites; if element i is marked
+ * (meaning satellite[i].prn < 0), ignore this data.
+ * On successful return, satellites not used are marked.
+ * 'Pseudorange' Vector of raw pseudoranges (parallel to satellite).
+ * On successful return, contains residual of fit
+ * (for unmarked satellites).
+ * 'Eph' EphemerisStore to be used.
+ *
+ * Return values:
+ * 2 failed to find a good solution (RMS residual or slope exceed limits)
+ * 1 solution is suspect (slope is large)
+ * 0 ok
+ * -1 failed to converge
+ * -2 singular problem
+ * -3 not enough good data to form a RAIM solution
+ * (the 4 satellite solution might be returned - check isValid())
+ * -4 ephemeris not found for one or more satellites
+ */
+ int RAIMSolution::Compute(const DayTime& Tr, vector<RinexPrn>& Satellite,
+ vector<double>& Pseudorange, const EphemerisStore& Eph,
+ TropModel *pTropModel) throw(Exception)
+ {
+ try {
+ Valid = false;
+
+ // count how many good satellites we have
+ int i,j,N=0;
+ for(i=0; i<Satellite.size(); i++) if(Satellite[i].prn > 0) N++;
+ if(N < 4) return -3;
+
+ // Save the input solution (for use in rejection when ResidualCriterion
+ // is false).
+ APrioriSolution = Solution;
+
+ // minimum number of sats needed for algorithm
+ int MinSV=5; // RAIM
+ // not really RAIM || not RAIM (one solution):
+ if(!ResidualCriterion || NSatsReject==0) MinSV=4;
+
+ // default is -1, meaning as many as possible
+ if(NSatsReject == -1) NSatsReject=N-MinSV;
+
+ // ----------------------------------------------------------------
+ // fill SVP
+ if((i=PrepareAutonomousSolution(Tr, Satellite, Pseudorange, Eph, SVP)))
+ return i;
+
+ // ----------------------------------------------------------------
+ // Compute a solution for each set of valid satellites.
+ // Do this inside a loop, in which all allowed combinations of
+ // good satellites are used.
+ // The combinations of good satellites are determined by
+ // 1) there must be at least MinSV good ones, and
+ // 2) no more than NSatsReject can be (temporarily) marked bad.
+ // Inside the loop, save the 'best' (lowest RMS residual) solution.
+ //
+
+ // UseSat is used to mark good sats (true) and those to ignore (false).
+ Vector<bool> UseSat(Satellite.size()),UseSave;
+ // stage is the number of satellites currently being excluded.
+ int stage,stageold,Udim;
+ // MarkIndex is a list of indexes into vector Satellite,
+ // with -1 marking 'unused'; it is used to temporarily mark the satellites
+ // to be excluded from the positioning.
+ Vector<int> MarkIndex;
+ // Slope will be used by the positioning routine to return slopes for
+ // each satellite.
+ Vector<double> Slope(Pseudorange.size());
+ // Residual will be used by the positioning routine to return the range
+ // residuals.
+ Vector<double> Residual(Satellite.size(),0.0);
+ // Save the 'best' solution.
+ int BestNIter;
+ double BestRMS,BestSL,BestConv;
+ Vector<double> BestSol;
+ Vector<bool> BestUse;
+
+ if(NSatsReject > 0) MarkIndex=Vector<int>(NSatsReject,-1);
+
+ // Initialize UseSat based on Satellite
+ for(i=0; i<Satellite.size(); i++)
+ if(Satellite[i].prn > 0) UseSat[i]=true;
+ else UseSat[i]=false;
+ UseSave = UseSat;
+ Udim = Satellite.size();
+ while(Udim > 0 && !UseSat(Udim-1)) Udim--;
+ if(Udim == 0) return -3;
+
+ int iret,jret;
+ BestRMS = -1.0; // mark 'unused'
+
+ stage = stageold = 0;
+ while(1) {
+ // Compute a solution given the data; ignore ranges for marked satellites.
+ // Fill Vector Slope with slopes for each unmarked satellite.
+ // Return 0 ok
+ // -1 failed to converge
+ // -2 singular problem
+ // -3 not enough good data
+ NIterations = MaxNIterations; // pass limits in
+ Convergence = ConvergenceLimit;
+ iret = AutonomousPRSolution(Tr, UseSat, SVP, pTropModel, Algebraic,
+ NIterations, Convergence, Solution, Covariance, Residual, Slope);
+
+ // Compute RMS residual when "distance from a priori" is the criterion.
+ if(!ResidualCriterion) {
+ Vector<double> D=Solution-APrioriSolution;
+ RMSResidual = RMS(D);
+ }
+ else {
+ RMSResidual = RMS(Residual);
+ }
+
+ // find the maximum slope
+ MaxSlope = 0.0;
+ if(iret == 0)
+ for(i=0; i<UseSat.size(); i++)
+ if(UseSat(i) && Slope(i)>MaxSlope) MaxSlope=Slope[i];
+
+ // print solution with diagnostic information
+ if(Debug) { //*pDebugStream)
+ *pDebugStream << "RPS " << setw(2) << stage
+ << " " << setw(4) << Tr.GPSfullweek()
+ << " " << fixed << setw(10) << setprecision(3) << Tr.GPSsecond()
+ << " " << setw(2) << N-stage
+ << " " << setw(16) << setprecision(6) << Solution(0)
+ << " " << setw(16) << setprecision(6) << Solution(1)
+ << " " << setw(16) << setprecision(6) << Solution(2)
+ << " " << setw(14) << setprecision(6) << Solution(3)
+ << " " << setw(12) << setprecision(6) << RMSResidual
+ << " " << fixed << setw(5) << setprecision(1) << MaxSlope
+ << " " << NIterations
+ << " " << scientific << setw(8) << setprecision(2) << Convergence;
+ // print the RinexPrn for good sats
+ for(i=0; i<UseSat.size(); i++) {
+ if(UseSat(i)) *pDebugStream << " " << setw(3) << Satellite[i].prn;
+ else *pDebugStream << " " << setw(3) << -::abs(Satellite[i].prn);
+ }
+ *pDebugStream << " (" << iret << ")" << std::endl;
+ }
+
+ if(iret) { // failure for this combination
+ RMSResidual = 0.0;
+ Solution = 0.0;
+ }
+ else { // success
+ if((stage==0 || ReturnAtOnce) && RMSResidual<RMSLimit) {
+ Nsvs = Satellite.size();
+ Valid=true;
+ return 0;
+ }
+ // save 'best' solution
+ if(BestRMS < 0.0 || RMSResidual < BestRMS) {
+ BestRMS = RMSResidual;
+ BestSol = Solution;
+ BestUse = UseSat;
+ BestSL = MaxSlope;
+ BestConv = Convergence;
+ BestNIter = NIterations;
+ }
+ }
+
+ // is there enough data to continue?
+ if(N < MinSV) { iret=-3; break; }
+
+ // 'increment' the combinations
+ UseSat = UseSave;
+ int in=0; // 'in' must be here and must be set to 0 every call
+ jret = IncrementMarkedIndexes(MarkIndex,in,UseSat,Udim,stage);
+ for(i=0; i<MarkIndex.size(); i++)
+ if(MarkIndex(i) > -1) UseSat(MarkIndex(i))=false;
+
+ if(stage != stageold || jret == -2) {
+ // did it transition to a new stage?
+ if(BestRMS > 0.0 && BestRMS < RMSLimit) { iret=0; break; }
+ // are there enough satellites for the algorithm to continue?
+ if(jret==-2 || Satellite.size()-stage < int(MinSV)) { iret=2; break; }
+ // save the current stage
+ stageold = stage;
+ }
+
+ } // end while(1) loop over combinations of good satellites
+
+ // copy out the best solution and return
+ Convergence = BestConv;
+ NIterations = BestNIter;
+ RMSResidual = BestRMS;
+ Solution = BestSol;
+ MaxSlope = BestSL;
+ for(Nsvs=0,i=0; i<BestUse.size(); i++) {
+ if(!BestUse(i)) Satellite[i].prn = -std::abs(Satellite[i].prn);
+ else Nsvs++;
+ }
+
+ if(iret==0 && BestSL > SlopeLimit) iret=1;
+ if(iret>=0 && BestRMS >= RMSLimit) iret=2;
+
+ if(iret==0) Valid=true;
+ return iret;
+
+ }
+ catch(Exception& e) {
+ GPSTK_RETHROW(e);
+ }
+ } // end RAIMSolution::Compute()
+
+ // used by the RAIM algorithm to form all usable combinations of satellites
+ // return -2 when no more combinations exist, else return 0.
+ int RAIMSolution::IncrementMarkedIndexes(Vector<int>& MI, int& n,
+ Vector<bool>& V, int& Vd, int& st)
+ {
+ if(n >= MI.size()) return -2; // n is the index currently being incremented
+ do { MI(n)++; } while(MI(n) < Vd-n && !V(MI(n)));
+ if(MI(n) >= Vd-n) { // increment n, ie begin incrementing the next index
+ n++;
+ if(n >= MI.size()) return -2;
+ if(IncrementMarkedIndexes(MI, n, V, Vd, st) == -2) return -2;
+ n--;
+ }
+ if(n>0) {
+ MI(n-1) = MI(n)+1;
+ while(MI(n-1) < Vd-n && !V(MI(n-1))) { MI(n-1)++; }
+ }
+ if(n+1 > st) st=n+1;
+ return 0;
+ }
+
+ /* Compute the satellite position / corrected range matrix (SVP); used in
+ * AutonomousPRSolution(). SVP is output, dimensioned (N,4) where N is the number
+ * of satellites and the length of both Satellite and Pseudorange. Data is ignored
+ * whenever Satellite[i].prn is < 0.
+ * Return values:
+ * 0 ok
+ * -4 ephemeris not found for one or more satellites
+ */
+ int PrepareAutonomousSolution(const DayTime& Tr, vector<RinexPrn>& Satellite,
+ vector<double>& Pseudorange, const EphemerisStore& Eph, Matrix<double>& SVP)
+ {
+ int i,j,N=Satellite.size();
+ DayTime tx; // transmit time
+ Xvt PVT;
+
+ if(N <= 0) return 0;
+ SVP = Matrix<double>(N,4);
+ SVP = 0.0;
+
+ for(i=0; i<N; i++) {
+ // skip marked satellites
+ if(Satellite[i].prn <= 0) continue;
+
+ // first estimate of transmit time
+ tx = Tr;
+ tx -= Pseudorange[i]/C_GPS_M;
+ // get ephemeris range, etc
+ try {
+ PVT = Eph.getPrnXvt(short(Satellite[i].prn), tx);
+ }
+ catch(EphemerisStore::NoEphemerisFound& e) {
+ Satellite[i].prn = -std::abs(Satellite[i].prn);
+ continue;
+ }
+
+ // update transmit time and get ephemeris range again
+ tx -= PVT.dtime; // clk+rel
+ try {
+ PVT = Eph.getPrnXvt(short(Satellite[i].prn), tx);
+ }
+ catch(EphemerisStore::NoEphemerisFound& e) {
+ Satellite[i].prn *= -std::abs(Satellite[i].prn);
+ }
+
+ // SVP = {SV position at transmit time}, raw range + clk + rel
+ for(j=0; j<3; j++) SVP(i,j) = PVT.x[j];
+ SVP(i,3) = Pseudorange[i] + C_GPS_M * PVT.dtime;
+ }
+
+ return 0;
+
+ } // end PrepareAutonomousPRSolution
+
+
+ // internal use only - details of the algebraic solution
+ int AlgebraicSolution(Matrix<double>& A, Vector<double>& Q, Vector<double>& X,
+ Vector<double>& R)
+ {
+ try {
+ int N=A.rows();
+ Matrix<double> AT=transpose(A);
+ Matrix<double> B=AT,C(4,4);
+
+ C = AT * A;
+ // invert
+ try {
+ //double big,small;
+ //condNum(C,big,small);
+ //if(small < 1.e-15 || big/small > 1.e15) return -2;
+ C = inverseSVD(C);
+ }
+ catch(SingularMatrixException& sme) {
+ return -2;
+ }
+
+ B = C * AT;
+
+ Vector<double> One(N,1.0),V(4),U(4);
+ double E,F,G,d,lam;
+
+ U = B * One;
+ V = B * Q;
+ E = Minkowski(U,U);
+ F = Minkowski(U,V) - 1.0;
+ G = Minkowski(V,V);
+ d = F*F-E*G;
+ if(d < 0.0) d=0.0; // avoid imaginary solutions: what does this really mean?
+ d = SQRT(d);
+
+ // first solution ...
+ lam = (-F+d)/E;
+ X = lam*U + V;
+ X(3) = -X(3);
+ // ... and its residual
+ R(0) = A(0,3)-X(3) - RSS(X(0)-A(0,0), X(1)-A(0,1), X(2)-A(0,2));
+
+ // second solution ...
+ lam = (-F-d)/E;
+ X = lam*U + V;
+ X(3) = -X(3);
+ // ... and its residual
+ R(1) = A(0,3)-X(3) - RSS(X(0)-A(0,0), X(1)-A(0,1), X(2)-A(0,2));
+
+ // pick the right solution
+ if(ABS(R(1)) > ABS(R(0))) {
+ lam = (-F+d)/E;
+ X = lam*U + V;
+ X(3) = -X(3);
+ }
+
+ // compute the residuals
+ for(int i=0; i<N; i++)
+ R(i) = A(i,3)-X(3) - RSS(X(0)-A(i,0), X(1)-A(i,1), X(2)-A(i,2));
+
+ return 0;
+
+ }
+ catch(Exception& e) {
+ GPSTK_RETHROW(e);
+ }
+ } // end AlgebraicSolution
+
+
+ /* /deprecated Use PRSolution
+ * Compute a single autonomous pseudorange solution.
+ * DayTime Tr data time tag (for use by some trop models)
+ * Vector<bool> Use of length N, the number of satellites; if value is
+ * false, do not include it in the computation.
+ * Matrix<double> SVP of dimension (N,4). This Matrix must have been
+ * computed by calling PrepareAutonomousPRSolution().
+ * bool Algebraic flag indicating algebraic (true) algorithm, or
+ * linearized least squares (false).
+ * pTropModel pointer to TropModel for use within the algorithm
+ *
+ * Weight matrix TD......
+ *
+ * Input and output (for least squares only; ignored if Algebraic==true):
+ * int n_iterate limit on iterations. On output, the number of iterations
+ * used.
+ * double converge convergence criterion (RSS change in solution, meters).
+ * On output, the final value.
+ * Output: (these will be resized within the function)
+ * Vector<double> Sol solution (ECEF & time; all in meters) length 4
+ * Matrix<double> Cov covariance matrix (meter*meter) dimension 4x4
+ * Vector<double> Resid range residuals for each satellite (m),
+ * length N-(number of satellites with Use=true).
+ * Vector<double> Slope slope value used in RAIM for each good satellite,
+ * length N
+ * Return values:
+ * 0 ok
+ * -1 failed to converge
+ * -2 singular problem
+ * -3 not enough good data to form a solution (at least 4 satellites required)
+ * -4 ephemeris not found for one or more satellites
+ */
+ int AutonomousPRSolution(const DayTime& T, const Vector<bool>& Use,
+ const Matrix<double> SVP, TropModel *pTropModel, const bool Algebraic,
+ int& n_iterate, double& converge, Vector<double>& Sol, Matrix<double>& Cov,
+ Vector<double>& Resid, Vector<double>& Slope)
+ throw(Exception)
+ {
+ try {
+ int iret,i,j,n,N;
+ double rho,wt,svxyz[3];
+ GPSGeoid geoid; // WGS84?
+
+ // find the number of good satellites
+ for(N=0,i=0; i<Use.size(); i++) if(Use(i)) N++;
+ if(N < 4) return -3;
+
+ // define for computation
+ Vector<double> CRange(N),dX(4);
+ Matrix<double> P(N,4),PT,G(4,N),PG(N,N);
+ Xvt SV,RX;
+
+ Sol.resize(4);
+ Cov.resize(4,4);
+ Resid.resize(N);
+ Slope.resize(Use.size());
+
+ // define for algebraic solution
+ Vector<double> U(4),Q(N);
+ Matrix<double> A(P);
+ // and for linearized least squares
+ int niter_limit = (n_iterate<2 ? 2 : n_iterate);
+ double conv_limit = converge;
+
+ // prepare for iteration loop
+ Sol = 0.0; // initial guess: center of earth
+ n_iterate = 0;
+ converge = 0.0;
+
+ // iteration loop
+ // do at least twice (even for algebraic solution) so that
+ // trop model gets evaluated
+ do {
+ // current estimate of position solution
+ RX.x = ECEF(Sol(0),Sol(1),Sol(2));
+
+ // loop over satellites, computing partials matrix
+ for(n=0,i=0; i<Use.size(); i++) {
+ // ignore marked satellites
+ if(!Use(i)) continue;
+
+ // time of flight (sec)
+ if(n_iterate == 0)
+ rho = 0.070; // initial guess: 70ms
+ else
+ rho = RSS(SVP(i,0)-Sol(0), SVP(i,1)-Sol(1), SVP(i,2)-Sol(2))
+ / geoid.c();
+
+ // correct for earth rotation
+ wt = geoid.angVelocity()*rho; // radians
+ svxyz[0] = ::cos(wt)*SVP(i,0) + ::sin(wt)*SVP(i,1);
+ svxyz[1] = -::sin(wt)*SVP(i,0) + ::cos(wt)*SVP(i,1);
+ svxyz[2] = SVP(i,2);
+
+ // corrected pseudorange (m)
+ CRange(n) = SVP(i,3);
+
+ // correct for troposphere (but not on the first iteration)
+ if(n_iterate > 0) {
+ SV.x = ECEF(svxyz[0],svxyz[1],svxyz[2]);
+ CRange(n) -= pTropModel->correction(RX,SV,T);
+ }
+
+ // geometric range
+ rho = RSS(svxyz[0]-Sol(0),svxyz[1]-Sol(1),svxyz[2]-Sol(2));
+
+ // partials matrix
+ P(n,0) = (Sol(0)-svxyz[0])/rho; // x direction cosine
+ P(n,1) = (Sol(1)-svxyz[1])/rho; // y direction cosine
+ P(n,2) = (Sol(2)-svxyz[2])/rho; // z direction cosine
+ P(n,3) = 1.0;
+
+ // data vector: corrected range residual
+ Resid(n) = CRange(n) - rho - Sol(3);
+
+ // TD: allow weight matrix = measurement covariance
+ // P *= MCov;
+ // Resid *= MCov;
+
+ // compute intermediate quantities for algebraic solution
+ if(Algebraic) {
+ U(0) = A(n,0) = svxyz[0];
+ U(1) = A(n,1) = svxyz[1];
+ U(2) = A(n,2) = svxyz[2];
+ U(3) = A(n,3) = CRange(n);
+ Q(n) = 0.5 * Minkowski(U,U);
+ }
+
+ n++; // n is number of good satellites - used for Slope
+ } // end loop over satellites
+
+
+ // compute information matrix = inverse covariance matrix
+ PT = transpose(P);
+ Cov = PT * P;
+
+ // invert using SVD
+ //double big,small;
+ //condNum(PT*P,big,small);
+ //if(small < 1.e-15 || big/small > 1.e15) return -2;
+ try { Cov = inverseSVD(Cov); }
+ catch(SingularMatrixException& sme) {
+ return -2;
+ }
+
+ // generalized inverse
+ G = Cov * PT;
+ PG = P * G; // used for Slope
+
+ n_iterate++; // increment number iterations
+
+ // ----------------- algebraic solution -----------------------
+ if(Algebraic) {
+ iret = AlgebraicSolution(A,Q,Sol,Resid);
+ if(iret) return iret; // (singular)
+ if(n_iterate > 1) { // need 2, for trop
+ iret = 0;
+ break;
+ }
+ }
+ // ----------------- linearized least squares solution --------
+ else {
+ dX = G * Resid;
+ Sol += dX;
+ // test for convergence
+ converge = norm(dX);
+ // success: quit
+ if(n_iterate > 1 && converge < conv_limit) {
+ iret = 0;
+ break;
+ }
+ // failure: quit
+ if(n_iterate >= niter_limit || converge > 1.e10) {
+ iret = -1;
+ break;
+ }
+ }
+
+
+ } while(1); // end iteration loop
+
+ // compute slopes
+ Slope = 0.0;
+ if(iret == 0) for(j=0,i=0; i<Use.size(); i++) {
+ if(!Use(i)) continue;
+ for(int k=0; k<4; k++) Slope(i) += G(k,j)*G(k,j);
+ Slope(i) = SQRT(Slope(i)*double(n-4)/(1.0-PG(j,j)));
+ j++;
+ }
+
+ return iret;
+
+ }
+ catch(Exception& e) {
+ GPSTK_RETHROW(e);
+ }
+ } // end AutonomousPRSolution
+
+} // namespace gpstk
diff --git a/trunk/src/RAIMSolution.hpp b/trunk/src/RAIMSolution.hpp
new file mode 100644
index 0000000..ba0a136
--- /dev/null
+++ b/trunk/src/RAIMSolution.hpp
@@ -0,0 +1,240 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RAIMSolution.hpp#3 $"
+
+/**
+ * @file RAIMSolution.hpp
+ * Autonomous pseudorange navigation solution, including RAIM algorithm
+ */
+
+#ifndef RAIM_POSITION_SOLUTION_HPP
+#define RAIM_POSITION_SOLUTION_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <vector>
+#include <ostream>
+#include "icd_200_constants.hpp"
+#include "DayTime.hpp"
+#include "Matrix.hpp"
+#include "RinexObsHeader.hpp"
+#include "EphemerisStore.hpp"
+#include "TropModel.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+namespace gpstk
+{
+ /** @defgroup GPSsolutions GPS solution algorithms and Tropospheric models */
+ //@{
+
+ /** This class define an interface to routines which compute a position
+ * and time solution from pseudorange data, with a data editing algorithm
+ * based on Receiver Autonomous Integrity Monitoring (RAIM) concepts.
+ */
+ class RAIMSolution
+ {
+ public:
+ /// Constructor
+ RAIMSolution() throw(Exception) : Valid(false), Algebraic(false),
+ ResidualCriterion(true), RMSLimit(6.5), SlopeLimit(100.),
+ NSatsReject(-1), ReturnAtOnce(false), MaxNIterations(10),
+ ConvergenceLimit(3.e-7), Debug(false), pDebugStream(&cout) {};
+
+ /** Compute the position/time solution, given satellite PRNs and pseudoranges
+ * 'Tr' Measured time of reception of the data.
+ * 'Satellite' Vector of satellites; on successful return, satellites that
+ * were excluded by the algorithm are marked by a negative
+ * Satellite[i].prn
+ * 'Pseudorange' Vector of raw pseudoranges (parallel to satellite), in meters.
+ * On successful return, contains residual of fit (m)
+ * (for unmarked satellites).
+ * 'Eph' EphemerisStore to be used.
+ *
+ * Return values:
+ * 2 solution found, but it is not good (RMS residual exceed limits)
+ * 1 solution found, but it is suspect (slope is large)
+ * 0 ok
+ * -1 failed to converge
+ * -2 singular problem
+ * -3 not enough good data to form a RAIM solution
+ * (the 4 satellite solution might be returned - check isValid())
+ * -4 ephemeris not found for one or more satellites
+ */
+ int Compute(const DayTime& Tr, vector<RinexPrn>& Satellite,
+ vector<double>& Pseudorange, const EphemerisStore& Eph,
+ TropModel *pTropModel) throw(Exception);
+
+ /// Return status of solution (output) components of the class
+ bool isValid() const throw() { return Valid; }
+
+ // input:
+
+ /// RMS limit - either residual of fit or distance (see ResidualCriterion).
+ double RMSLimit;
+
+ /// Slope limit.
+ double SlopeLimit;
+
+ /// Use an algebraic (if true) or linearized least squares (if false) algorithm.
+ bool Algebraic;
+
+ /** Use a rejection criterion based on RMS residual of fit (true)
+ * or RMS distance from an a priori position. If false, Solution
+ * must be defined as this a priori position when Compute() is called.
+ */
+ bool ResidualCriterion;
+
+ /** Return as soon as a solution meeting the limit requirements is found
+ * (this makes it a non-RAIM algorithm).
+ */
+ bool ReturnAtOnce;
+
+ /** Maximum number of satellites that may be rejected; if -1, as many as
+ * possible (at least 5 are required). A (single) non-RAIM solution can be
+ * obtained by setting this to 0 before calling compute().
+ */
+ int NSatsReject;
+
+ /// If true, Compute() will output solution information to *pDebugStream.
+ bool Debug;
+
+ /// Pointer to an ostream, default &cout; if Debug is true, Compute() will print
+ /// all preliminary solutions, along with debug information, to it.
+ ostream *pDebugStream;
+
+ // TD optional: measurement covariance matrix
+
+ /// Maximum number of iterations allowed in the linearized least squares
+ /// algorithm.
+ int MaxNIterations;
+
+ /// Convergence limit (m): continue iteration loop while RSS change in
+ /// solution exceeds this.
+ double ConvergenceLimit;
+
+ // output:
+
+ /// flag: output content is valid.
+ bool Valid;
+
+ /** Vector<double> containing the computed position solution (ECEF, meter);
+ * valid only when isValid() is true.
+ */
+ Vector<double> Solution;
+
+ /** 4x4 Matrix<double> containing the computed solution covariance (meter);
+ * valid only when isValid() is true.
+ */
+ Matrix<double> Covariance;
+
+ /** Root mean square residual of fit (except when RMSDistanceFlag is set,
+ * then RMS distance from apriori 4-position); in meters.
+ */
+ double RMSResidual;
+
+ /** Slope computed in the RAIM algorithm (largest of all satellite values)
+ * for the returned solution, dimensionless ??.
+ */
+ double MaxSlope;
+
+ /// the actual number of iterations used (linearized least squares algorithm)
+ int NIterations;
+
+ /// the RSS change in solution at the end of iterations.
+ double Convergence;
+
+ /// the number of good satellites used in the final computation
+ int Nsvs;
+
+ private:
+
+ /** Matrix, dimensioned Nx4, where N data are input, containing satellite
+ * positions at transmit time (0,1,2) and raw pseudorange+clk+relativity (3).
+ */
+ Matrix<double> SVP;
+
+ /// Save the input solution (for use in rejection when ResidualCriterion is
+ /// false).
+ Vector<double> APrioriSolution;
+
+ /// fuction used by RAIM algorithm to cycle through all combinations of
+ /// satellites
+ int IncrementMarkedIndexes(Vector<int>& I, int& n,
+ Vector<bool>& V, int& Vd, int& st);
+
+ }; // end class RAIMSolution
+
+ /** Compute the satellite position / corrected range matrix (SVP); used by
+ * AutonomousPRSolution(). SVP is output, dimensioned (N,4) where N is the number
+ * of satellites and the length of both Satellite and Pseudorange. Data is ignored
+ * whenever Satellite[i].prn is < 0.
+ * Return values:
+ * 0 ok
+ * -4 ephemeris not found for one or more satellites
+ */
+ int PrepareAutonomousSolution(const DayTime& Tr, vector<RinexPrn>& Satellite,
+ vector<double>& Pseudorange, const EphemerisStore& Eph, Matrix<double>& SVP);
+
+ /** Compute a single autonomous pseudorange solution.
+ * Input:
+ * DayTime Tr data time tag (for use by some trop models)
+ * Vector<bool> Use of length N, the number of satellites; if value is
+ * false, do not include it in the computation.
+ * Matrix<double> SVP of dimension (N,4). This Matrix must have been
+ * computed by calling PrepareAutonomousPRSolution().
+ * bool Algebraic flag indicating algebraic (true) algorithm, or
+ * linearized least squares (false).
+ * pTropModel pointer to TropModel for use within the algorithm
+ *
+ * Weight matrix TD......
+ *
+ * Input and output (for least squares only; ignored if Algebraic==true):
+ * int n_iterate limit on iterations. On output, the number of iterations
+ * used.
+ * double converge convergence criterion (RSS change in solution, meters).
+ * On output, the final value.
+ * Output: (these will be resized within the function)
+ * Vector<double> Sol solution (ECEF & time; all in meters) length 4
+ * Matrix<double> Cov covariance matrix (meter*meter) dimension 4x4
+ * Vector<double> Resid range residuals for each satellite (m),
+ * length N-(number of satellites with Use=true).
+ * Vector<double> Slope slope value used in RAIM for each good satellite,
+ * length N
+ * Return values:
+ * 0 ok
+ * -1 failed to converge
+ * -2 singular problem
+ * -3 not enough good data to form a solution (at least 4 satellites required)
+ * -4 ephemeris not found for one or more satellites
+ */
+ int AutonomousPRSolution(const DayTime& Tr, const Vector<bool>& Use,
+ const Matrix<double> SVP, TropModel *pTropModel, const bool Algebraic,
+ int& n_iterate, double& converge, Vector<double>& Sol, Matrix<double>& Cov,
+ Vector<double>& Resid, Vector<double>& Slope)
+ throw(Exception);
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/README b/trunk/src/README
new file mode 100644
index 0000000..e7b986f
--- /dev/null
+++ b/trunk/src/README
@@ -0,0 +1,201 @@
+// this is for Doxygen to parse and add to the documentation
+
+/**
+ * @file README
+ * Documentation for Doxygen
+ */
+
+/** @mainpage
+ * This documentation describes the architecture and design of the
+ * GPS ToolKit (GPSTk), produced by the Space and Geophysics Laboratory (SGL)
+ * of Applied Research Laboratories, The University of Texas at Austin (ARL:UT).
+ *
+ * \section intro Introduction
+ * GPSTK is a library of support routines designed for use by programmers
+ * developing applications that read and write (particularly in RINEX format),
+ * process and otherwise manipulate GPS data. It is characterized by the following:
+ * - Modern, ANSI C++; highly object oriented
+ * - Uses templates, the Standard Template Library (STL) and iostreams classes
+ * - Portable and platform independent
+ * - Includes full implementation of the RINEX (Receiver Independent Exchange Format) I/O
+ *
+ * \section codedesign Code Design
+ * \subsection namesp Namespaces
+ * All GPSTK code is placed within the gpstk namespace. Within the gpstk namespace, other
+ * namespaces are defined for certain specialized functionality; these include
+ * - gpstk::BinUtils in the Binary utilities module
+ * - gpstk::FileUtils in the File utilities module
+ * - gpstk::StringUtils in the String utilities module
+ *
+ * Namespace std is also used throughout the GPSTK.
+ *
+ * \subsection other Other
+ * [Other high level code design things...]
+ *
+ * \section content Library Content
+ * The library consists of several modules, which are more or less dependent upon each
+ * other. These include
+ * - Exceptions for use throughout the library
+ * - Binary utilities
+ * - STL "helpers"
+ * - String utilities
+ * - Command line options
+ * - Date and time conversions
+ * - Formatted file I/O
+ * - File utilities, including file filters and filter hunter
+ * - Vector and Matrix algorithms
+ * - Mathematical algorithms
+ * - Geodetic coordinates, conversions, etc
+ * - Complete RINEX implementation (including Glonass and other data),
+ * with extensions that allow user-defined observation types
+ * -# Rinex Meterological file I/O
+ * -# Rinex Navigation file I/O
+ * -# Rinex Observation file I/O
+ * - Ephemeris calculations, including almanac and ICD-GPS-200 algorithms
+ * - Ephemeris I/O and storage
+ * - SP3 format file ("precise ephemeris") I/O and storage
+ * - GPS navigation solution algorithms
+ * - Basic application frameworks
+ * - P-Code generator
+ *
+ * \section applic Applications
+ * This distribution also includes several stand-alone application programs which
+ * also serve as examples of how to use the GPSTK. These include
+ * - Rinex summary
+ * - Rinex editor
+ * - Discontinuity Correction (i.e. cycle slip fixing)
+ * - Residual and correction generator
+ *
+ */
+
+/** @namespace gpstk Namespace for entire GPSTK library. */
+
+// These are all the example and test files we have and a brief description
+// of each.
+
+/**
+ * @example AnotherFileFilterTest.cpp
+ */
+
+/**
+ * @example EphComp.cpp
+ */
+
+/**
+ * @example FileSpecTest.cpp
+ */
+
+/**
+ * @example MatrixTest.cpp
+ */
+
+/**
+ * @example NavMerge.cpp
+ */
+
+/**
+ * @example RungeKuttaTest.cpp
+ * The full, nonlinear equation of motion for a simple pendulum.
+ * Tests the RungeKutta4 integrator class.
+ *
+ */
+
+/**
+ * @example Xbegweek.cpp
+ */
+
+/**
+ * @example Xendweek.cpp
+ */
+
+/**
+ * @example daytimetest.cpp
+ * Tests the DayTime class.
+ */
+
+/**
+ * @example exceptiontest.cpp
+ * Tests exceptions.
+ */
+
+/**
+ * @example petest.cpp
+ */
+
+/**
+ * @example rinex_met_read_write.cpp
+ * Reads an input RINEX Met file, writes out the same data. The input and
+ * output files should diff without error if everything is working right.
+ */
+
+/**
+ * @example rinex_met_test.cpp
+ * Reads an input RINEX Met file to test file data processing.
+ */
+
+/**
+ * @example rinex_nav_read_write.cpp
+ * Reads an input RINEX Nav file, writes out the same data. The input and
+ * output files should diff without error if everything is working right.
+ */
+
+/**
+ * @example rinex_nav_test.cpp
+ * Reads an input RINEX Nav file to test file data processing.
+ */
+
+/**
+ * @example rinex_obs_read_write.cpp
+ * Reads an input RINEX Obs file, writes out the same data. The input and
+ * output files should diff without error if everything is working right.
+ */
+
+/**
+ * @example rinex_obs_test.cpp
+ * Reads an input RINEX Obs file to test file data processing.
+ */
+
+/**
+ * @example stringutiltest.cpp
+ * Tests the string utilities.
+ */
+
+/**
+ * @example example1.cpp
+ * Demonstrates the most basic properties of DayTime.
+ */
+
+/**
+ * @example example2.cpp
+ * Demonstrates the most basic properties of RINEX input and output.
+ */
+
+/**
+ * @example example3.cpp
+ * Demonstrates simple manipulation of RINEX observables.
+ */
+
+/**
+ * @example example4.cpp
+ * Demonstrates the position solutions.
+ */
+
+/**
+ * @example DayTimeToleranceTest.cpp
+ * Tests DayTime for user-defined comparison tolerances.
+ */
+
+/**
+ * @example DayTimeIncrementTest.cpp
+ * Tests DayTime's ability to reject accumulation of floating point error
+ * when incremented or decremented.
+ */
+
+/** EMACS **
+ * Local variables:
+ * mode: c++
+ * End:
+ */
+
+
+
diff --git a/trunk/src/RTFileFrame.hpp b/trunk/src/RTFileFrame.hpp
new file mode 100644
index 0000000..80e1848
--- /dev/null
+++ b/trunk/src/RTFileFrame.hpp
@@ -0,0 +1,599 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RTFileFrame.hpp#3 $"
+
+/**
+ * @file RTFileFrame.hpp
+ * Realtime file frame
+ */
+
+#ifndef GPSTK_RTFILEFRAME_HPP
+#define GPSTK_RTFILEFRAME_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <iterator>
+#include "FileSpec.hpp"
+#include "FileFilter.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup filedirgroup */
+ //@{
+
+ /// specifying internal enums and classes of a template class can be
+ /// problematic, so these are declared outside RTFileFrame
+ class RTFileFrameHelper
+ {
+ public:
+ enum GetRecordMode
+ {
+ Dumb = 0, ///< only tries to read once from current file
+ Smart = 1 ///< if cannot read, rolls files or waits for data
+ };
+
+ /**
+ * Whether additional file data can be read from the end of a file
+ * or not.
+ */
+ enum FileReadingMode
+ {
+ AppendedData = 0, ///< read only appended data.
+ FromTheBeginning = 1 ///< reread from the beginning every time.
+ };
+ };
+
+ // forward declaration of the RTFileFrame class
+ template <class FileStream, class FileData>
+ class RTFileFrame;
+
+ /**
+ * An iterator class for the RTFileFrame. Note how much it looks
+ * like std::istream_iterator except for a couple of differences..
+ */
+ template <class FileStream, class FileData>
+ class RTFileFrameIterator
+ {
+ public:
+ /// default constructor
+ RTFileFrameIterator()
+ : rtff(NULL)
+ {}
+
+ /// copy constructor
+ RTFileFrameIterator(const RTFileFrameIterator& right)
+ : rtff(right.rtff)
+ {}
+
+ /// destructor
+ virtual ~RTFileFrameIterator() {}
+
+ /// assignment operator
+ RTFileFrameIterator& operator=(const RTFileFrameIterator& r)
+ {
+ rtff = r.rtff;
+ return *this;
+ }
+
+ /// prefix increment of internal iterator
+ RTFileFrameIterator operator++()
+ {
+ rtff->getRecord();
+ return *this;
+ }
+
+ /// postfix increment of internal iterator
+ RTFileFrameIterator operator++(int)
+ {
+ RTFileFrameIterator<FileStream, FileData> temp = *this;
+ read();
+ return temp;
+ }
+
+ /// dereference object for current object
+ const FileData& operator*() const
+ {
+ return rtff->lastData;
+ }
+
+ /// dereference pointer for current object
+ const FileData* operator->() const
+ {
+ return &(rtff->lastData);
+ }
+
+ /// equality operator
+ bool operator==(const RTFileFrameIterator& right) const
+ {
+ if (rtff == right.rtff)
+ {
+ if (rtff == NULL)
+ return true;
+
+ if ((rtff->isOK == right.rtff->isOK) ||
+ (!rtff->isOK && (right.rtff->fileStream == rtff->fileStream)))
+ return true;
+ return false;
+ }
+ else if ((rtff == NULL) && (right.rtff))
+ return !right.rtff->isOK;
+ else if ((right.rtff == NULL) && (rtff))
+ return !rtff->isOK;
+ else
+ return false;
+ }
+
+ /// inequality operator
+ bool operator!=(const RTFileFrameIterator& right) const
+ { return !(*this == right);}
+
+ /// give RTFileFrame access to the
+ friend class RTFileFrame<FileStream, FileData>;
+
+ protected:
+ /// gets the next record
+ void read()
+ { rtff->getRecord(); }
+
+ private:
+ /// constructor for use by gpstk::RTFileFrame<FileStream, FileData>.
+ RTFileFrameIterator(gpstk::RTFileFrame<FileStream, FileData>& r)
+ : rtff(&r)
+ { rtff->getRecord(); }
+
+ /// gives access to the RTFileFrame being used
+ gpstk::RTFileFrame<FileStream, FileData>* rtff;
+ };
+
+ /**
+ * This class supports two iteration semantics.
+ * @code
+ * RTFileFrameIterator<SMODFStream, SMODFData> itr = rtf.begin();
+ * while(itr != rtf.end())
+ * {
+ * // do something
+ * cout << *itr << endl;
+ * itr++;
+ * }
+ * rtf.waitForData(10);
+ * @endcode
+ * and the legacy interface
+ * @code
+ * while(rtf.getRecord())
+ * {
+ * // use data() to get the last read record
+ * cout << rtf.data() << endl;
+ * }
+ * rtf.waitForData(10);
+ * @endcode
+ * The waitForData() call will ready the internal file stream
+ * for the next read. Remember that RTFileFrameIterator is a
+ * past-the-end style iterator, so you must reset it to begin() when
+ * it has finished otherwise you'll get no data. In Dumb mode,
+ * you will need to use the openNextDay() function to advance
+ * to tne next day.
+ * When you reach the end of a data set, there are three ways
+ * to restore the valid state of the RTFileFrame iteration:
+ * @code rtf.waitForData(900) @endcode
+ * This is the best option for either Smart or Dumb mode, ensuring
+ * that the file gets reopened correctly.
+ * @code rtf.openCurrentFile() @endcode
+ * Reopens the current file, destroying the current read position.
+ * In other words, don't use this in Smart mode.
+ * @code rtf.openNextDay() @endcode
+ * This will open the next day's file, obviously resetting
+ * the read position for the stream.
+ * @warning In Smart mode, you could potentially miss data when
+ * you pass to the start of a new day if data gets written to the
+ * file of the previous day.
+ * @warning DO NOT MIX THE TWO ITERATOR SEMANTICS. Doing so, you will
+ * definately miss data.
+ *
+ *
+ */
+ template <class FileStream, class FileData>
+ class RTFileFrame : public RTFileFrameHelper
+ {
+ public:
+ /**
+ * constructor
+ * @param fnFormat string defining how the files names are formatted
+ * @param beginning time of data to start streaming from
+ * @param ending time of data to stop streaming at
+ * @param frm mode used to read file (new data or all)
+ * @param grm mode used when end of file is reached (new data or all)
+ * @throw Exception an error ocurred
+ */
+ RTFileFrame(const gpstk::FileSpec& fnFormat,
+ const gpstk::DayTime& beginning = gpstk::DayTime(),
+ const gpstk::DayTime& ending = gpstk::DayTime::END_OF_TIME,
+ const FileReadingMode frm = AppendedData,
+ const GetRecordMode grm = Dumb)
+ throw(gpstk::Exception);
+
+ /// destructor
+ ~RTFileFrame();
+
+ /// Allows changing of the FileReadingMode
+ RTFileFrame& setFileReadingMode(const FileReadingMode f);
+
+ /// Allows changing of the GetRecordMode
+ RTFileFrame& setGetRecordMode(const GetRecordMode g);
+
+ /**
+ * Waits \a wait number of seconds, then reopens the file
+ * and sets the next read as appropriate for the FileReadingMode.
+ * @param wait number of seconds to sleep.
+ */
+ void waitForData(unsigned wait = 0);
+
+ /// returns true if the file currently being read from has
+ /// changed since its last read
+ bool hasFileChanged();
+
+ /// Returns true if all data for the given time has been read.
+ bool endOfDataSet();
+
+ /// end of data set iterator, useful for loops
+ RTFileFrameIterator<FileStream, FileData> end();
+
+ /// start of data set, set appropriately for the
+ /// given FileReadingMode. if in AppendedData mode, begin will
+ /// start at the next record that hasn't been read. if in
+ /// FromTheBeginning mode, begin starts at the start of the
+ /// current file.
+ RTFileFrameIterator<FileStream, FileData> begin();
+
+ /// reads the next record in the file
+ /// @return true if a record was read, otherwise false.
+ bool getRecord();
+
+ /// when in Dumb mode, use this function to advance to the next day.
+ void openNextDay();
+
+ /// returns the last read data
+ const FileData& data() const { return lastData;}
+
+ /// this traverses the RTFileFrame from begin() to end(), adding
+ /// each item to a list that gets returned. Using this will
+ /// change the file position, so getRecord and any iterators
+ /// will not be the same after this call.
+ std::list<FileData> getList() const;
+
+ /// this traverses the RTFileFrame from begin() to end(), adding
+ /// each item to a FileFilter that gets returned. Using this will
+ /// change the file position, so getRecord and any iterators
+ /// will not be the same after this call.
+ FileFilter<FileData> getFileFilter() const;
+
+ /// returns the name of the current file begin used
+ std::string getCurrentFile() const {return currentFileName;}
+
+ /// returns the current time used for finding files
+ gpstk::DayTime getCurrentTime() const {return currentTime;}
+
+ /// let the iterator see this class's insides
+ friend class RTFileFrameIterator<FileStream, FileData>;
+
+ /// reopens the file \a currentFileName
+ bool openCurrentFile();
+
+ /// close the file \a currentFileName
+ void closeCurrentFile();
+
+ protected:
+ /// the internal file stream for the internal iterator
+ FileStream* fileStream;
+
+ FileData lastData;
+ /// the last get position from the file
+ std::streampos lastPosition;
+ /// the last file to be read
+ std::string currentFileName;
+ /// the file spec for determining file names
+ gpstk::FileSpec fs;
+
+ gpstk::DayTime startTime, ///< start time for file searching
+ currentTime, ///< time last used for finding a file
+ endTime; ///< end time for file searching
+ /// the FileReadingMode for the reader
+ FileReadingMode readMode;
+ /// the GetRecordMode for the reader
+ GetRecordMode getMode;
+ /// keeps track of the last modify date for the last file read
+ struct stat fileInfo;
+ /// isOK is only false when the user needs to take action
+ /// to continue reading - by calling waitForData(),
+ /// openNextDay(), or openCurrentFile()
+ bool isOK;
+ };
+
+ //@}
+
+ template <class FileStream, class FileData>
+ RTFileFrame<FileStream, FileData>::
+ RTFileFrame<FileStream, FileData>(const gpstk::FileSpec& fnFormat,
+ const gpstk::DayTime& beginning,
+ const gpstk::DayTime& ending,
+ const RTFileFrameHelper::FileReadingMode frm,
+ const RTFileFrameHelper::GetRecordMode grm)
+ throw(gpstk::Exception)
+ : fileStream(NULL), fs(fnFormat), startTime(beginning),
+ currentTime(beginning), endTime(ending), readMode(frm), getMode(grm)
+ {
+ // zero out seconds
+ startTime.setMJDdate(floor(startTime.MJDdate()));
+ endTime.setMJDdate(floor(endTime.MJDdate()));
+ currentTime.setMJDdate(floor(currentTime.MJDdate()));
+
+ // set up the stream
+ openCurrentFile();
+ }
+
+ template <class FileStream, class FileData>
+ RTFileFrame<FileStream, FileData>::~RTFileFrame()
+ {
+ if (fileStream)
+ {
+ fileStream->close();
+ delete fileStream;
+ }
+ }
+
+ template <class FileStream, class FileData>
+ RTFileFrame<FileStream, FileData>&
+ RTFileFrame<FileStream, FileData> ::
+ setFileReadingMode(const RTFileFrameHelper::FileReadingMode f)
+ {
+ readMode = f;
+ return *this;
+ }
+
+ /// Allows changing of the GetRecordMode
+ template <class FileStream, class FileData>
+ RTFileFrame<FileStream, FileData>&
+ RTFileFrame<FileStream, FileData> ::
+ setGetRecordMode(const RTFileFrameHelper::GetRecordMode g)
+ {
+ getMode = g;
+ return *this;
+ }
+
+ template <class FileStream, class FileData>
+ void
+ RTFileFrame<FileStream, FileData>::waitForData(unsigned wait)
+ {
+ sleep(wait);
+ if(readMode == AppendedData)
+ {
+ // reopen the file and skip to where we left off - openCurrentFile
+ // will overwrite lastPosition...
+ std::streampos cachedPos = lastPosition;
+ if(openCurrentFile())
+ fileStream->seekg(cachedPos);
+ lastPosition = cachedPos;
+ }
+ else
+ {
+ // start from the beginning
+ openCurrentFile();
+ }
+ }
+
+ template <class FileStream, class FileData>
+ bool
+ RTFileFrame<FileStream, FileData>::hasFileChanged()
+ {
+ struct stat tempStat;
+ if (stat(currentFileName.c_str(), &tempStat))
+ return false;
+ if (tempStat.st_mtime != fileInfo.st_mtime)
+ return true;
+ else
+ return false;
+ }
+
+ template <class FileStream, class FileData>
+ bool
+ RTFileFrame<FileStream, FileData>::endOfDataSet()
+ {
+ if (currentTime > endTime)
+ return true;
+ else
+ return false;
+ }
+
+ template <class FileStream, class FileData>
+ RTFileFrameIterator<FileStream, FileData>
+ RTFileFrame<FileStream, FileData>::end()
+ {
+ return RTFileFrameIterator<FileStream, FileData>();
+ }
+
+ template <class FileStream, class FileData>
+ RTFileFrameIterator<FileStream, FileData>
+ RTFileFrame<FileStream, FileData>::begin()
+ {
+ if (readMode == AppendedData)
+ {
+ ;
+ }
+ else // if (readMode == FromTheBeginning)
+ {
+ openCurrentFile();
+ }
+ // this constructor does not read in the first record, so force it
+ // to do so before returning
+ RTFileFrameIterator<FileStream, FileData> toReturn(*this);
+ return toReturn;
+ }
+
+ template <class FileStream, class FileData>
+ bool
+ RTFileFrame<FileStream, FileData>::getRecord()
+ {
+ if (!isOK)
+ return false;
+
+ // is the stream still good to read?
+ if (*fileStream >> lastData)
+ {
+ lastPosition = fileStream->tellg();
+ return true;
+ }
+ // the last read failed - try opening the next file until
+ // today's file is reched or else return false
+ else
+ {
+ // read the next file or not?
+ if (getMode == Smart)
+ {
+ if (!endOfDataSet())
+ {
+ // still before today?
+ gpstk::DayTime today;
+ today.setYDoySod(today.year(), today.DOY(), 0);
+
+ if (currentTime < today)
+ {
+ openNextDay();
+ return getRecord();
+ }
+ // we've read through today, so just wait until tomorrow's
+ // data comes in - the user needs to call waitForData()
+ // to continue
+ else
+ isOK = false;
+ }
+ else
+ {
+ isOK = false;
+ }
+ } // if (getmode == smart)
+
+ // in dumb mode, the user needs to call openNextDay or
+ // openCurrentFile to continue.
+ else
+ {
+ isOK = false;
+ }
+ } // if (isOK)
+ return isOK;
+ }
+
+ template <class FileStream, class FileData>
+ void
+ RTFileFrame<FileStream, FileData>::openNextDay()
+ {
+ // open a new file for another day, if any.
+ currentTime += gpstk::DayTime::SEC_DAY;
+ if (!endOfDataSet())
+ openCurrentFile();
+ }
+
+ template <class FileStream, class FileData>
+ std::list<FileData>
+ RTFileFrame<FileStream, FileData>::getList() const
+ {
+ RTFileFrameIterator<FileStream, FileData> inputStream;
+ std::list<FileData> toReturn;
+ inputStream = begin();
+ while (inputStream != end())
+ {
+ toReturn.push_back(data());
+ }
+ return toReturn;
+ }
+
+ template <class FileStream, class FileData>
+ FileFilter<FileData>
+ RTFileFrame<FileStream, FileData>::getFileFilter() const
+ {
+ RTFileFrameIterator<FileStream, FileData> inputStream;
+ FileFilter<FileData> toReturn;
+ inputStream = begin();
+ while (inputStream != end())
+ {
+ toReturn.addData(data());
+ }
+ return toReturn;
+ }
+
+ template <class FileStream, class FileData>
+ bool
+ RTFileFrame<FileStream, FileData>::openCurrentFile()
+ {
+ isOK = false;
+ currentFileName = fs.toString(currentTime);
+ stat(currentFileName.c_str(), &fileInfo);
+ lastPosition = 0;
+
+ if(fileStream)
+ {
+ fileStream->close();
+ delete fileStream;
+ fileStream = NULL;
+ }
+
+ fileStream = new FileStream;
+ fileStream->open(currentFileName.c_str(), std::ios::in);
+ if (!fileStream->fail())
+ isOK = true;
+ return isOK;
+ }
+
+ template <class FileStream, class FileData>
+ void
+ RTFileFrame<FileStream, FileData>::closeCurrentFile()
+ {
+ if(fileStream)
+ {
+ fileStream->close();
+ delete fileStream;
+ fileStream = NULL;
+ }
+ isOK = false;
+ }
+
+} // namespace gpstk
+
+#endif // GPSTK_RTFILEFRAME_HPP
diff --git a/trunk/src/RinexEphemerisStore.cpp b/trunk/src/RinexEphemerisStore.cpp
new file mode 100644
index 0000000..59b3d1b
--- /dev/null
+++ b/trunk/src/RinexEphemerisStore.cpp
@@ -0,0 +1,102 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexEphemerisStore.cpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexEphemerisStore.cpp
+ * Read & store Rinex formated ephemeris data
+ */
+
+#include "RinexEphemerisStore.hpp"
+#include "MiscMath.hpp"
+#include "ECEF.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace gpstk::StringUtils;
+
+namespace gpstk
+{
+ //-----------------------------------------------------------------------------
+ //-----------------------------------------------------------------------------
+ void RinexEphemerisStore::loadFile(const std::string& filename)
+ throw(gpstk::FileMissingException)
+ {
+ try
+ {
+ RinexNavStream strm(filename.c_str());
+ if (!strm)
+ {
+ FileMissingException e("File " + filename + " could not be opened.");
+ GPSTK_THROW(e);
+ }
+
+ RinexNavHeader header;
+ strm >> header;
+
+ addFile(filename, header);
+
+ RinexNavData rec;
+ while(strm >> rec)
+ addEphemeris(rec);
+ }
+ catch (gpstk::Exception& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ } // end RinexEphemerisStore::load
+
+
+ //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+ void RinexEphemerisStore::dump(short detail, std::ostream& s) const
+ {
+ s << "Dump of RinexEphemerisStore:" << std::endl;
+ std::vector<std::string> fileNames = getFileNames();
+ std::vector<std::string>::const_iterator f=fileNames.begin();
+ for (f=fileNames.begin(); f!=fileNames.end(); f++)
+ s << *f << std::endl;
+
+ BCEphemerisStore::dump(detail, s);
+
+ } // end of RinexEphemerisStore::dump
+
+} // namespace gpstk
diff --git a/trunk/src/RinexEphemerisStore.hpp b/trunk/src/RinexEphemerisStore.hpp
new file mode 100644
index 0000000..96af676
--- /dev/null
+++ b/trunk/src/RinexEphemerisStore.hpp
@@ -0,0 +1,96 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexEphemerisStore.hpp#2 $"
+
+/**
+ * @file RinexEphemerisStore.hpp
+ * Read and store Rinex formated ephemeris data
+ */
+
+#ifndef GPSTK_RINEX_EPHEMERIS_STORE_HPP
+#define GPSTK_RINEX_EPHEMERIS_STORE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+
+#include "BCEphemerisStore.hpp"
+#include "FileStore.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup ephemstore */
+ //@{
+
+ /**
+ * This adds the interface to read Rinex files into a BCEphemerisStore
+ */
+ class RinexEphemerisStore : public BCEphemerisStore,
+ public FileStore<RinexNavHeader>
+ {
+ public:
+ /// Constructor.
+ RinexEphemerisStore() throw() {BCEphemerisStore();}
+
+ /// destructor
+ virtual ~RinexEphemerisStore() {}
+
+ /** Dump the store to cout.
+ * @param detail determines how much detail to include in the output
+ * 0 list of filenames with their start, stop times.
+ * 1 list of filenames with their start, stop times,
+ * other header information and prns/accuracy.
+ * 2 above, plus dump all the PVT data (use judiciously).
+ */
+ void dump(short detail=0, std::ostream& s=std::cout) const;
+
+ /// load the given Rinex file
+ void loadFile(const std::string& filename)
+ throw(FileMissingException);
+ };
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/RinexMetBase.hpp b/trunk/src/RinexMetBase.hpp
new file mode 100644
index 0000000..ca5873b
--- /dev/null
+++ b/trunk/src/RinexMetBase.hpp
@@ -0,0 +1,73 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetBase.hpp#1 $"
+
+/**
+ * @file RinexMetBase.hpp
+ * Base class for RINEX meterological file data
+ */
+
+#ifndef GPSTK_RINEXMETBASE_HPP
+#define GPSTK_RINEXMETBASE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFData.hpp"
+
+namespace gpstk
+{
+ /** @defgroup RinexMet RINEX meterological files */
+ //@{
+
+ /**
+ * This class serves no purpose other than to make readable diagrams.
+ */
+ class RinexMetBase : public FFData
+ {
+ public:
+ /// Destructor per our coding standards
+ virtual ~RinexMetBase() {}
+ };
+
+ //@}
+
+}
+
+#endif
diff --git a/trunk/src/RinexMetData.cpp b/trunk/src/RinexMetData.cpp
new file mode 100644
index 0000000..4164377
--- /dev/null
+++ b/trunk/src/RinexMetData.cpp
@@ -0,0 +1,281 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetData.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexMetData.cpp
+ * Encapsulate RINEX meterological file data, including I/O
+ */
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "RinexMetHeader.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetStream.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+ const int RinexMetData::maxObsPerLine = 8;
+ const int RinexMetData::maxObsPerContinuationLine = 10;
+
+ void RinexMetData::reallyPutRecord(FFStream& ffs) const
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException)
+ {
+ const int maxObsPerOutputLine = 7;
+ const int maxObsPerOutputContLine = 10;
+
+ RinexMetStream& strm = dynamic_cast<RinexMetStream&>(ffs);
+ string line;
+
+ // write the first line
+ line += " ";
+ line += rightJustify(asString<short>(time.year()),2,'0');
+ line += " ";
+ line += rightJustify(asString<short>(time.month()),2);
+ line += " ";
+ line += rightJustify(asString<short>(time.day()),2);
+ line += " ";
+ line += rightJustify(asString<short>(time.hour()),2);
+ line += " ";
+ line += rightJustify(asString<short>(time.minute()),2);
+ line += " ";
+ line += rightJustify(asString<short>(short(time.second())),2);
+
+ for (int i = 0;
+ (i < strm.header.obsTypeList.size()) &&
+ (i < maxObsPerOutputLine);
+ i++)
+ {
+ RinexMetHeader::RinexMetType thistype = strm.header.obsTypeList[i];
+ RinexMetMap::const_iterator itr = data.find(thistype);
+ if (itr == data.end())
+ {
+ FFStreamError err("Couldn't find data for " +
+ RinexMetHeader::convertObsType(strm.header.obsTypeList[i]));
+ GPSTK_THROW(err);
+ }
+ line += rightJustify(asString((*itr).second,1),7);
+ }
+
+ // do we need continuation lines?
+ if (strm.header.obsTypeList.size() > maxObsPerOutputLine)
+ {
+ for (int i = maxObsPerOutputLine;
+ i < strm.header.obsTypeList.size();
+ i++)
+ {
+
+ if (((i - maxObsPerOutputLine) % maxObsPerOutputContLine) == 0)
+ {
+ ffs << line << endl;
+ strm.lineNumber++;
+ line.empty();
+ line += string(4,' ');
+ }
+ RinexMetHeader::RinexMetType thistype = strm.header.obsTypeList[i];
+ RinexMetMap::const_iterator itr = data.find(thistype);
+ if (itr == data.end())
+ {
+ FFStreamError err("Couldn't find data for " +
+ RinexMetHeader::convertObsType(strm.header.obsTypeList[i]));
+ GPSTK_THROW(err);
+ }
+ line += rightJustify(asString((*itr).second,1),7);
+ }
+ }
+
+ ffs << line << endl;
+ strm.lineNumber++;
+ }
+
+ void RinexMetData::reallyGetRecord(FFStream& ffs)
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException)
+ {
+ RinexMetStream& strm = dynamic_cast<RinexMetStream&>(ffs);
+
+ if(!strm.headerRead)
+ strm >> strm.header;
+
+ RinexMetHeader& hdr = strm.header;
+
+ string line;
+
+ // this is to see whether or not we expect an EOF
+ // when we read this next line
+ if (hdr.obsTypeList.size() > maxObsPerLine)
+ strm.formattedGetLine(line);
+ else
+ strm.formattedGetLine(line, true);
+
+ processFirstLine(line, hdr);
+
+ time = parseTime(line);
+
+ while (data.size() < hdr.obsTypeList.size())
+ {
+ if (hdr.obsTypeList.size() - data.size() < maxObsPerContinuationLine)
+ strm.formattedGetLine(line, true);
+ else
+ strm.formattedGetLine(line);
+ processContinuationLine(line, hdr);
+ }
+
+ if (data.size() != hdr.obsTypeList.size())
+ {
+ FFStreamError e("Incorrect number of records");
+ GPSTK_THROW(e);
+ }
+ }
+
+ void RinexMetData::processFirstLine(const string& line,
+ const RinexMetHeader& hdr)
+ throw(FFStreamError)
+ {
+ try
+ {
+ for (int i = 0;
+ (i < maxObsPerLine) && (i < hdr.obsTypeList.size());
+ i++)
+ {
+ int currPos = i * 7 + 18;
+ data[hdr.obsTypeList[i]] = asDouble(line.substr(currPos,7));
+ }
+ }
+ catch (std::exception &e)
+ {
+ FFStreamError err("std::exception: " + string(e.what()));
+ GPSTK_THROW(err);
+ }
+ }
+
+ void RinexMetData::processContinuationLine(const string& line,
+ const RinexMetHeader& hdr)
+ throw(FFStreamError)
+ {
+ try
+ {
+ int currentElements = data.size();
+ for (int i = currentElements;
+ (i < (maxObsPerContinuationLine + currentElements)) &&
+ (i < hdr.obsTypeList.size());
+ i++)
+ {
+ int currPos = ((i - maxObsPerLine) % maxObsPerContinuationLine) * 7
+ + 4;
+ data[hdr.obsTypeList[i]] = asDouble(line.substr(currPos,7));
+ }
+ }
+ catch (std::exception &e)
+ {
+ FFStreamError err("std::exception: " + string(e.what()));
+ GPSTK_THROW(err);
+ }
+ }
+
+ DayTime RinexMetData::parseTime(const string& line) const
+ throw(FFStreamError)
+ {
+ try
+ {
+ // according to the RINEX spec, any 2 digit year 80 or greater
+ // is a year in the 1900s (1980-1999), under 80 is 2000s
+ const int YearRollover = 80;
+
+ // check if the spaces are in the right place - an easy way to check
+ // if there's corruption in the file
+ if ( (line[0] != ' ') ||
+ (line[3] != ' ') ||
+ (line[6] != ' ') ||
+ (line[9] != ' ') ||
+ (line[12] != ' ') ||
+ (line[15] != ' '))
+ {
+ FFStreamError e("Invalid time format");
+ GPSTK_THROW(e);
+ }
+
+ int year, month, day, hour, min;
+ double sec;
+
+ year = asInt( line.substr(1, 2 ));
+ month = asInt( line.substr(3, 3 ));
+ day = asInt( line.substr(6, 3 ));
+ hour = asInt( line.substr(9, 3 ));
+ min = asInt( line.substr(12, 3 ));
+ sec = asInt( line.substr(15, 3 ));
+
+ if (year < YearRollover)
+ {
+ year += 100;
+ }
+ year += 1900;
+
+ DayTime rv(year, month, day, hour, min, sec);
+ return rv;
+ }
+ catch (std::exception &e)
+ {
+ FFStreamError err("std::exception: " + string(e.what()));
+ GPSTK_THROW(err);
+ }
+ }
+
+ void RinexMetData::dump(ostream& s) const
+ {
+ s << time << endl;
+
+ RinexMetMap::const_iterator itr;
+ for(itr = data.begin(); itr != data.end(); itr++)
+ {
+ s << RinexMetHeader::convertObsType((*itr).first)
+ << " " << (*itr).second << endl;
+ }
+ }
+
+
+
+} // end of namespace
diff --git a/trunk/src/RinexMetData.hpp b/trunk/src/RinexMetData.hpp
new file mode 100644
index 0000000..606ac6b
--- /dev/null
+++ b/trunk/src/RinexMetData.hpp
@@ -0,0 +1,157 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetData.hpp#1 $"
+
+/**
+ * @file RinexMetData.hpp
+ * Encapsulate RINEX meterological file data, including I/O
+ */
+
+#ifndef GPSTK_RINEXMETDATA_HPP
+#define GPSTK_RINEXMETDATA_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <map>
+
+#include "DayTime.hpp"
+
+#include "FFStream.hpp"
+#include "RinexMetBase.hpp"
+#include "RinexMetHeader.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup RinexMet */
+ //@{
+
+ /**
+ * This class stores, reads, and writes RINEX MET records.
+ * @warning When writing a RinexMetData, the RinexMetStream::headerData
+ * must have the correct observation types set or else no data will
+ * be written.
+ *
+ * @sa rinex_met_read_write.cpp for an example.
+ * @sa rinex_met_test.cpp for an example.
+ * @sa RinexMetStream.
+ * @sa RinexMetHeader for information on writing RINEX met files.
+ */
+ class RinexMetData : public RinexMetBase
+ {
+ public:
+ RinexMetData()
+ : time(gpstk::DayTime::BEGINNING_OF_TIME)
+ {}
+
+ /// The next four lines is our common interface
+ /// RinexMetData is "data" so this function always returns true.
+ virtual bool isData(void) const {return true;}
+
+ /**
+ * A debug output function.
+ */
+ virtual void dump(std::ostream& s) const;
+
+ /// A map for storing one line of observations, mapping
+ /// the observation type to its value.
+ typedef std::map<RinexMetHeader::RinexMetType, double> RinexMetMap;
+
+ /** @name Rinex weather data
+ */
+ //@{
+ DayTime time; ///< The time this data was recorded.
+ RinexMetMap data; ///< The data itself in map form.
+ //@}
+
+ /// The maximum number of obs per line before you need a new line
+ static const int maxObsPerLine;
+ /// The max number of obs per continuation line before you need
+ /// a new line.
+ static const int maxObsPerContinuationLine;
+
+ protected:
+ /// Writes the met data to the file stream formatted correctly.
+ void reallyPutRecord(FFStream& s) const
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ /**
+ * This function retrieves a RINEX MET record from the given FFStream.
+ * If an error is encountered in reading from the stream, the stream
+ * is returned to its original position and its fail-bit is set.
+ * @throws StringException when a StringUtils function fails
+ * @throws FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ private:
+ /// Parses string \a line to get time and met data
+ void processFirstLine(const std::string& line,
+ const RinexMetHeader& hdr)
+ throw(FFStreamError);
+
+ /// Parses string \a line to get data on continuation lines.
+ void processContinuationLine(const std::string& line,
+ const RinexMetHeader& hdr)
+ throw(FFStreamError);
+
+ /// Parses the time portion of a line into a DayTime object.
+ DayTime parseTime(const std::string& line) const
+ throw(FFStreamError);
+ }; // class RinexMetData
+
+ //@}
+
+} // namespace
+
+
+#endif
+
+
+
+
+
+
+
+
diff --git a/trunk/src/RinexMetFilterOperators.hpp b/trunk/src/RinexMetFilterOperators.hpp
new file mode 100644
index 0000000..91562ff
--- /dev/null
+++ b/trunk/src/RinexMetFilterOperators.hpp
@@ -0,0 +1,247 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetFilterOperators.hpp#1 $"
+
+/**
+ * @file RinexMetFilterOperators.hpp
+ * Operators for FileFilter using Rinex meterological data
+ */
+
+#ifndef GPSTK_RINEXMETFILTEROPERATORS_HPP
+#define GPSTK_RINEXMETFILTEROPERATORS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "DayTime.hpp"
+#include "FileFilter.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetHeader.hpp"
+
+#include <set>
+
+namespace gpstk
+{
+ /** @addtogroup RinexMet */
+ //@{
+
+ typedef std::unary_function<gpstk::RinexMetHeader, bool> RinexMetDataUnaryOperator;
+ typedef std::binary_function<gpstk::RinexMetData, gpstk::RinexMetData, bool> RinexMetDataBinaryOperator;
+
+ /// This compares all elements of the RinexMetData with less than
+ /// (only for those fields which the two obs data share).
+ struct RinexMetDataOperatorLessThanFull :
+ public RinexMetDataBinaryOperator
+ {
+ public:
+ /// The set is a set of RinexMetType that the two files have in
+ /// common. This is easily generated with the set_intersection
+ /// STL function. See difftools/rmwdiff.cpp for an example.
+ RinexMetDataOperatorLessThanFull
+ (const std::set<gpstk::RinexMetHeader::RinexMetType>& rmhset)
+ : obsSet(rmhset)
+ {}
+
+ bool operator()(const gpstk::RinexMetData& l,
+ const gpstk::RinexMetData& r) const
+ {
+ // compare the times, offsets, then only those elements
+ // that are common to both. this ignores the flags
+ // that are set to 0
+ if (l.time < r.time)
+ return true;
+ else if (l.time != r.time)
+ return false;
+
+ // then check that each observation has the same data
+ // for each item in the set of common observations
+ gpstk::RinexMetData::RinexMetMap::const_iterator
+ lItr, rItr;
+ std::set<gpstk::RinexMetHeader::RinexMetType>::const_iterator
+ obsItr = obsSet.begin();
+
+ while (obsItr != obsSet.end())
+ {
+ rItr = r.data.find(*obsItr);
+ if (rItr == r.data.end())
+ return false;
+
+ lItr = l.data.find(*obsItr);
+ if (lItr == l.data.end())
+ return false;
+
+ if ((*lItr).second < (*rItr).second)
+ return true;
+ if ((*lItr).second > (*rItr).second)
+ return false;
+
+ obsItr++;
+ }
+
+ // the data is either == or > at this point
+ return false;
+ }
+
+ private:
+ std::set<gpstk::RinexMetHeader::RinexMetType> obsSet;
+ };
+
+ /// Only compares times
+ struct RinexMetDataOperatorLessThanSimple :
+ public RinexMetDataBinaryOperator
+ {
+ public:
+ bool operator()(const gpstk::RinexMetData& l,
+ const gpstk::RinexMetData& r) const
+ {
+ if (l.time < r.time)
+ return true;
+ return false;
+ }
+ };
+
+ /// Only compares times
+ struct RinexMetDataOperatorEqualsSimple :
+ public RinexMetDataBinaryOperator
+ {
+ public:
+ bool operator()(const gpstk::RinexMetData& l,
+ const gpstk::RinexMetData& r) const
+ {
+ if (l.time == r.time)
+ return true;
+ return false;
+ }
+ };
+
+ /// Combines RinexMetHeaders into a single header, combining comments
+ /// and adding the appropriate RinexMetTypes. This assumes that
+ /// all the headers come from the same station for setting the other
+ /// header fields. After running touch() on a list of RinexMetHeader,
+ /// the internal theHeader will be the merged header data for
+ /// those files and obsSet will be the set of RinexMetTypes that
+ /// will be printed to the file.
+ struct RinexMetHeaderTouchHeaderMerge :
+ public RinexMetDataUnaryOperator
+ {
+ public:
+ RinexMetHeaderTouchHeaderMerge()
+ : firstHeader(true)
+ {}
+
+ bool operator()(const gpstk::RinexMetHeader& l)
+ {
+ if (firstHeader)
+ {
+ theHeader = l;
+ firstHeader = false;
+ }
+ else
+ {
+ std::set<gpstk::RinexMetHeader::RinexMetType> thisMetSet,
+ tempMetSet;
+ std::set<std::string> commentSet;
+ obsSet.clear();
+
+ // insert the comments to the set
+ // and let the set take care of uniqueness
+ copy(theHeader.commentList.begin(),
+ theHeader.commentList.end(),
+ inserter(commentSet, commentSet.begin()));
+ copy(l.commentList.begin(),
+ l.commentList.end(),
+ inserter(commentSet, commentSet.begin()));
+ // then copy the comments back into theHeader
+ theHeader.commentList.clear();
+ copy(commentSet.begin(), commentSet.end(),
+ inserter(theHeader.commentList,
+ theHeader.commentList.begin()));
+
+ // find the set intersection of the obs types
+ copy(theHeader.obsTypeList.begin(),
+ theHeader.obsTypeList.end(),
+ inserter(thisMetSet, thisMetSet.begin()));
+ copy(l.obsTypeList.begin(),
+ l.obsTypeList.end(),
+ inserter(tempMetSet, tempMetSet.begin()));
+ set_intersection(thisMetSet.begin(), thisMetSet.end(),
+ tempMetSet.begin(), tempMetSet.end(),
+ inserter(obsSet, obsSet.begin()));
+ // then copy the obsTypes back into theHeader
+ theHeader.obsTypeList.clear();
+ copy(obsSet.begin(), obsSet.end(),
+ inserter(theHeader.obsTypeList,
+ theHeader.obsTypeList.begin()));
+ }
+ return true;
+ }
+
+ bool firstHeader;
+ gpstk::RinexMetHeader theHeader;
+ std::set<gpstk::RinexMetHeader::RinexMetType> obsSet;
+ };
+
+
+ /// This filter will remove any data not within the specified time range.
+ struct RinexMetDataFilterTime : public RinexMetDataUnaryOperator
+ {
+ public:
+ RinexMetDataFilterTime(const gpstk::DayTime& startTime,
+ const gpstk::DayTime& endTime)
+ : start(startTime), end(endTime)
+ {}
+
+ bool operator() (const gpstk::RinexMetData& l) const
+ {
+ if ( (l.time < start) ||
+ (l.time >= end))
+ return true;
+ return false;
+ }
+
+ private:
+ gpstk::DayTime start, end;
+ };
+
+ //@}
+
+}
+
+
+#endif
diff --git a/trunk/src/RinexMetHeader.cpp b/trunk/src/RinexMetHeader.cpp
new file mode 100644
index 0000000..e208e6b
--- /dev/null
+++ b/trunk/src/RinexMetHeader.cpp
@@ -0,0 +1,494 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetHeader.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexMetHeader.cpp
+ * Encapsulate header of Rinex meterological file data, including I/O
+ */
+
+#include <algorithm> // for find
+
+#include "StringUtils.hpp"
+#include "RinexMetHeader.hpp"
+#include "RinexMetStream.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+ const int RinexMetHeader::maxObsPerLine = 9;
+
+ const string RinexMetHeader::versionString = "RINEX VERSION / TYPE";
+ const string RinexMetHeader::runByString = "PGM / RUN BY / DATE";
+ const string RinexMetHeader::commentString = "COMMENT";
+ const string RinexMetHeader::markerNameString = "MARKER NAME";
+ const string RinexMetHeader::markerNumberString = "MARKER NUMBER";
+ const string RinexMetHeader::obsTypeString = "# / TYPES OF OBSERV";
+ const string RinexMetHeader::sensorTypeString = "SENSOR MOD/TYPE/ACC";
+ const string RinexMetHeader::sensorPosString = "SENSOR POS XYZ/H";
+ const string RinexMetHeader::endOfHeader = "END OF HEADER";
+
+ std::string RinexMetHeader::bitString(unsigned long vb, char quote,
+ std::string sep)
+ {
+ unsigned long b = 1;
+ std::string rv;
+ while (b)
+ {
+ if (vb & b)
+ {
+ if (rv.length())
+ rv += sep;
+ if (quote)
+ rv += quote + bitsAsString((validBits)b) + quote;
+ else
+ rv += bitsAsString((validBits)b);
+ }
+ b <<= 1;
+ }
+ return rv;
+ }
+
+ void RinexMetHeader::reallyPutRecord(FFStream& ffs) const
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException)
+ {
+ RinexMetStream& strm = dynamic_cast<RinexMetStream&>(ffs);
+
+ // since they want to output this header, let's store
+ // it internally for use by the data
+ strm.header = (*this);
+
+ // i'm casting out const here to set the correct required valid bits.
+ // deal with it =P
+ unsigned long allValid;
+ if (version == 2.0) allValid = allValid20;
+ else if (version == 2.1) allValid = allValid21;
+ else
+ {
+ FFStreamError err("Unknown RINEX version: " + asString(version,2));
+ err.addText("Make sure to set the version correctly.");
+ GPSTK_THROW(err);
+ }
+
+ if ((valid & allValid) != allValid)
+ {
+ string errstr("Incomplete or invalid header: missing: ");
+ errstr += bitString(allValid & ~valid);
+ FFStreamError err(errstr);
+ err.addText("Make sure you set all header valid bits for all of the available data.");
+ GPSTK_THROW(err);
+ }
+
+ string line;
+ // line by line, let's do this.
+ if (valid & versionValid)
+ {
+ line = rightJustify(asString(version,2), 9);
+ line += string(11, ' ');
+ line += leftJustify(fileType, 40);
+ line += versionString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & runByValid)
+ {
+ line = leftJustify(fileProgram,20);
+ line += leftJustify(fileAgency,20);
+ line += leftJustify(date, 20);
+ line += runByString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & commentValid)
+ {
+ vector<string>::const_iterator itr = commentList.begin();
+ while (itr != commentList.end())
+ {
+ line = leftJustify((*itr), 60);
+ line += commentString;
+ strm << line << endl;
+ strm.lineNumber++;
+ itr++;
+ }
+ }
+ if (valid & markerNameValid)
+ {
+ line = leftJustify(markerName, 60);
+ line += markerNameString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & markerNumberValid)
+ {
+ line = leftJustify(markerNumber, 60);
+ line += markerNumberString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & obsTypeValid)
+ {
+ line = rightJustify(asString(obsTypeList.size()),6);
+ vector<RinexMetType>::const_iterator itr = obsTypeList.begin();
+ size_t numWritten = 0;
+ while (itr != obsTypeList.end())
+ {
+ numWritten++;
+ // stupid continuation lines =P
+ if ((numWritten % maxObsPerLine) == 0)
+ {
+ line += obsTypeString;
+ strm << line << endl;
+ strm.lineNumber++;
+ line = string(6,' ');
+ }
+ line += rightJustify(convertObsType(*itr), 6);
+ itr++;
+ }
+ // pad the line out to 60 chrs and add label
+ line += string(60 - line.size(), ' ');
+ line += obsTypeString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & sensorTypeValid)
+ {
+ // only write out the sensor types that are
+ // in the obsTypeList
+ vector<sensorType>::const_iterator itr = sensorTypeList.begin();
+ while (itr != sensorTypeList.end())
+ {
+ if (std::find(obsTypeList.begin(), obsTypeList.end(),
+ (*itr).obsType) != obsTypeList.end())
+ {
+ line = leftJustify((*itr).model, 20);
+ line += leftJustify((*itr).type, 20);
+ line += string(6, ' ');
+ line += rightJustify(asString((*itr).accuracy,1),7);
+ line += string(4, ' ');
+ line += convertObsType((*itr).obsType);
+ line += string(1, ' ');
+ line += sensorTypeString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ itr++;
+ }
+ }
+ if (valid & sensorPosValid)
+ {
+ // only write out the sensor positions that are
+ // in the obsTypeList
+ vector<sensorPosType>::const_iterator itr = sensorPosList.begin();
+ while (itr != sensorPosList.end())
+ {
+ if (std::find(obsTypeList.begin(), obsTypeList.end(),
+ (*itr).obsType) != obsTypeList.end())
+ {
+ line = rightJustify(asString((*itr).position[0],4),14);
+ line += rightJustify(asString((*itr).position[1],4),14);
+ line += rightJustify(asString((*itr).position[2],4),14);
+ line += rightJustify(asString((*itr).height,4),14);
+ line += string(1, ' ');
+ line += convertObsType((*itr).obsType);
+ line += string(1, ' ');
+ line += sensorPosString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ itr++;
+ }
+ }
+ if (valid & endValid)
+ {
+ line = string(60, ' ');
+ line += endOfHeader;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ }
+
+
+ void RinexMetHeader::reallyGetRecord(FFStream& ffs)
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException)
+ {
+ RinexMetStream& strm = dynamic_cast<RinexMetStream&>(ffs);
+
+ // if already read, just return
+ if (strm.headerRead == true)
+ return;
+
+ valid = 0;
+
+ // clear out structures in case the last read was a partial header
+ // and there's cruft left
+ commentList.clear();
+ obsTypeList.clear();
+ sensorTypeList.clear();
+ sensorPosList.clear();
+
+ int numObs;
+
+ while (! (valid & endValid))
+ {
+ string line;
+ strm.formattedGetLine(line);
+
+ if (line.length()<60 || line.length()>81)
+ {
+ FFStreamError e("Bad line length");
+ GPSTK_THROW(e);
+ }
+
+ string thisLabel(line, 60, 20);
+
+ if (thisLabel == versionString)
+ {
+ version = asDouble(line.substr(0,20));
+ fileType = strip(line.substr(20,20));
+ if ( (fileType[0] != 'M') &&
+ (fileType[0] != 'm'))
+ {
+ FFStreamError e("This isn't a Rinex Met file");
+ GPSTK_THROW(e);
+ }
+ valid |= versionValid;
+ }
+ else if (thisLabel == runByString)
+ {
+ fileProgram = strip(line.substr(0,20));
+ fileAgency = strip(line.substr(20,20));
+ date = strip(line.substr(40,20));
+ valid |= runByValid;
+ }
+ else if (thisLabel == commentString)
+ {
+ commentList.push_back(strip(line.substr(0,60)));
+ valid |= commentValid;
+ }
+ else if (thisLabel == markerNameString)
+ {
+ markerName = strip(line.substr(0,60));
+ valid |= markerNameValid;
+ }
+ else if (thisLabel == markerNumberString)
+ {
+ markerNumber = strip(line.substr(0,20));
+ valid |= markerNumberValid;
+ }
+ else if (thisLabel == obsTypeString)
+ {
+ // read the first line
+ if (! (valid & obsTypeValid))
+ {
+ numObs = gpstk::StringUtils::asInt(line.substr(0,6));
+ for (int i = 0; (i < numObs) && (i < maxObsPerLine); i++)
+ {
+ int currPos = i * 6 + 6;
+ if (line.substr(currPos, 4) != string(4, ' '))
+ {
+ FFStreamError e("Format error for line type " +
+ obsTypeString);
+ GPSTK_THROW(e);
+ }
+
+ obsTypeList.push_back(convertObsType(line.substr(currPos + 4, 2)));
+ }
+ valid |= obsTypeValid;
+ }
+ // read continuation lines
+ else
+ {
+ int currentObsTypes = obsTypeList.size();
+ for (int i = currentObsTypes;
+ (i < numObs) && (i < (maxObsPerLine + currentObsTypes));
+ i++)
+ {
+ int currPos = (i % maxObsPerLine) * 6 + 6;
+ if (line.substr(currPos, 4) != string(4,' '))
+ {
+ FFStreamError e("Format error for line type " +
+ obsTypeString);
+ GPSTK_THROW(e);
+ }
+
+ obsTypeList.push_back(convertObsType(line.substr(currPos + 4, 2)));
+ }
+ }
+ }
+ else if (thisLabel == sensorTypeString)
+ {
+ if (line.substr(40,6) != string(6, ' '))
+ {
+ FFStreamError e("Format error for line type " +
+ sensorTypeString);
+ GPSTK_THROW(e);
+ }
+ sensorType st;
+ st.model = strip(line.substr(0,20));
+ st.type = strip(line.substr(20,20));
+ st.accuracy = asDouble(line.substr(46,9));
+ st.obsType = convertObsType(line.substr(57,2));
+
+ sensorTypeList.push_back(st);
+
+ // only set this valid if there are exactly
+ // the same number in both lists
+ if (sensorTypeList.size() == obsTypeList.size())
+ {
+ valid |= sensorTypeValid;
+ }
+ else
+ {
+ valid &= ~(long)sensorTypeValid;
+ }
+ }
+ else if (thisLabel == sensorPosString)
+ {
+ // read XYZ and H and obs type
+ sensorPosType sp;
+ sp.position[0] = asDouble(line.substr(0,14));
+ sp.position[1] = asDouble(line.substr(14,14));
+ sp.position[2] = asDouble(line.substr(28,14));
+ sp.height = asDouble(line.substr(42,14));
+
+ sp.obsType = convertObsType(line.substr(57,2));
+
+ sensorPosList.push_back(sp);
+
+ // only barometer is required, so
+ // set it valid only if you see that record.
+ if (sp.obsType == PR)
+ {
+ valid |= sensorPosValid;
+ }
+ }
+ else if (thisLabel == endOfHeader)
+ {
+ valid |= endValid;
+ }
+ else
+ {
+ FFStreamError e("Unknown header label " + thisLabel);
+ GPSTK_THROW(e);
+ }
+ }
+
+ unsigned long allValid;
+ if (version == 2.0) allValid = allValid20;
+ else if (version == 2.1) allValid = allValid21;
+ else
+ {
+ FFStreamError e("Unknown or unsupported RINEX version " +
+ asString(version));
+ GPSTK_THROW(e);
+ }
+
+ if ( (allValid & valid) != allValid)
+ {
+ string errstr("Incomplete or invalid header: missing: ");
+ errstr += bitString(allValid & ~valid);
+ FFStreamError err(errstr);
+ GPSTK_THROW(err);
+ }
+
+ // we got here, so something must be right...
+ strm.header = *this;
+ strm.headerRead = true;
+ }
+
+ void RinexMetHeader::dump(ostream& s) const
+ {
+ s << "Marker " << markerName << endl;
+
+ if (!obsTypeList.empty())
+ {
+ cout << "Obs types:" << endl;
+ vector<RinexMetType>::const_iterator itr = obsTypeList.begin();
+ while (itr != obsTypeList.end())
+ {
+ cout << convertObsType(*itr) << " ";
+ itr++;
+ }
+ cout << endl;
+ }
+ }
+
+
+ RinexMetHeader::RinexMetType
+ RinexMetHeader::convertObsType(const string& oneObs)
+ throw(FFStreamError)
+ {
+ if (oneObs == "PR") return PR;
+ else if (oneObs == "TD") return TD;
+ else if (oneObs == "HR") return HR;
+ else if (oneObs == "ZW") return ZW;
+ else if (oneObs == "ZD") return ZD;
+ else if (oneObs == "ZT") return ZT;
+ else
+ {
+ FFStreamError e("Bad obs type:" + oneObs);
+ GPSTK_THROW(e);
+ }
+ }
+
+ string RinexMetHeader::convertObsType(const RinexMetHeader::RinexMetType& oneObs)
+ throw(FFStreamError)
+ {
+ if (oneObs == PR) return "PR";
+ else if (oneObs == TD) return "TD";
+ else if (oneObs == HR) return "HR";
+ else if (oneObs == ZW) return "ZW";
+ else if (oneObs == ZD) return "ZD";
+ else if (oneObs == ZT) return "ZT";
+ else
+ {
+ FFStreamError e("Bad obs type:" + oneObs);
+ GPSTK_THROW(e);
+ }
+ }
+
+
+} // namespace
diff --git a/trunk/src/RinexMetHeader.hpp b/trunk/src/RinexMetHeader.hpp
new file mode 100644
index 0000000..71f66df
--- /dev/null
+++ b/trunk/src/RinexMetHeader.hpp
@@ -0,0 +1,262 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetHeader.hpp#1 $"
+
+/**
+ * @file RinexMetHeader.hpp
+ * Encapsulate header of Rinex meterological file data, including I/O
+ */
+
+#ifndef GPSTK_RINEXMETHEADER_HPP
+#define GPSTK_RINEXMETHEADER_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "StringUtils.hpp"
+#include "FFStream.hpp"
+#include "RinexMetBase.hpp"
+
+#include "Triple.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup RinexMet */
+ //@{
+
+ /**
+ * This class models the RINEX MET header for a RINEX MET file.
+ * When writing data, this class determines what data gets written from
+ * a RinexMetData object to the RinexMetStream.
+ *
+ * @sa rinex_met_read_write.cpp for an example.
+ * @sa rinex_met_test.cpp for an example.
+ * @sa RinexMetHeader::obsTypeList for writing files.
+ * @sa RinexMetData and RinexMetStream.
+ */
+ class RinexMetHeader : public RinexMetBase
+ {
+ public:
+ /// Enum for the different types of data in this file.
+ enum RinexMetType
+ {
+ PR, ///< Pressure (mbar)
+ TD, ///< Dry temperature (deg C)
+ HR, ///< Relative humidity (percent)
+ ZW, ///< Wet zenith path delay (mm)
+ ZD, ///< Dry component of zenith path delay (mm)
+ ZT ///< Total zenith path delay (mm)
+ };
+
+ /// Constructor
+ RinexMetHeader() : valid(0), version(2.1) {}
+
+ /// Destructor
+ virtual ~RinexMetHeader() {}
+
+ // The next four lines is our common interface
+ /// RinexMetHeader is a "header" so this function always returns true.
+ virtual bool isHeader(void) const {return true;}
+
+ /// A debug function that outputs the header to \a s.
+ virtual void dump(std::ostream& s) const;
+
+ /// sets the obs type array given an obs type line
+ static RinexMetType convertObsType(const std::string& oneObs)
+ throw(FFStreamError);
+
+ /// Converts a RinexMetType to its string equivalent.
+ static std::string convertObsType(const RinexMetType& oneObs)
+ throw(FFStreamError);
+
+ /// Tell me, Am I valid?
+ unsigned long valid;
+
+ /// These are validity bits used in checking the RINEX MET header.
+ enum validBits
+ {
+ versionValid = 0x01, ///< Set if the RINEX version is valid.
+ runByValid = 0x02, ///< Set if the Run-by value is valid.
+ commentValid = 0x04, ///< Set if the comments are valid. Very subjective
+ markerNameValid = 0x08, ///< Set if the Marker Name is valid.
+ markerNumberValid = 0x010, ///< Set if the Marker Number is valid.
+ obsTypeValid = 0x020, ///< Set if Num/Types of Obs is valid.
+ sensorTypeValid = 0x040, ///< Set if Sensor Mod/Type/Acc is valid.
+ sensorPosValid = 0x080, ///< Set if Sensor position is valid.
+
+
+ endValid = 0x080000000, ///< Set if the end value is valid.
+
+ /// This bitset checks that all required header items are
+ /// available for a Rinex2.0 file
+ allValid20 = 0x0800000EB,
+ /// This bitset checks that all required header items are
+ /// available for a Rinex2.1 file
+ allValid21 = 0x0800000EB
+ };
+
+
+ static inline std::string bitsAsString(validBits b)
+ {
+ switch (b)
+ {
+ case versionValid:
+ return versionString;
+ case runByValid:
+ return runByString;
+ case commentValid:
+ return commentString;
+ case markerNameValid:
+ return markerNameString;
+ case markerNumberValid:
+ return markerNumberString;
+ case obsTypeValid:
+ return obsTypeString;
+ case sensorTypeValid:
+ return sensorTypeString;
+ case sensorPosValid:
+ return sensorPosString;
+ case endValid:
+ return endOfHeader;
+ }
+
+ return "*UNKNOWN/INVALID BITS*";
+ }
+
+ /* @return a string composed the RINEX header strings
+ * represented by the validBits set in vb, surrounded by the
+ * quote character, separated by sep.
+ * @param vb bit field with valid bits set
+ * @param quote quote character to use around RINEX header strings.
+ * @param sep separator used between rinex header strings.
+ */
+ static std::string bitString(unsigned long vb, char quote='\"',
+ std::string sep=", ");
+
+
+ /// Struct for holding information about a sensor
+ struct sensorType
+ {
+ std::string model; ///< The manufacturer of the sensor
+ std::string type; ///< The specific type of sensor
+ double accuracy; ///< The accuracy of the sensor.
+ RinexMetType obsType; ///< The obs type this sensor corresponds to.
+ };
+
+ /// Struct for holding info about a sensor position
+ struct sensorPosType
+ {
+ /**
+ * XYZ and height of sensor coordinates.
+ * Use ITRF ro WGS-84 coordinates.
+ */
+ gpstk::Triple position;
+ double height;
+ /// The obs type of the sensor this position corresponds to.
+ RinexMetType obsType;
+ };
+
+ /** @name HeaderValues
+ */
+ //@{
+ double version; ///< RINEX Version
+
+ std::string fileType; ///< The type of file it is.
+ std::string fileProgram; ///< The program that generated it
+ std::string fileAgency; ///< The group who generated it
+ std::string date; ///< When the file was written
+ std::vector<std::string> commentList; ///< A list of comments
+ std::string markerName; ///< The name of the location
+ std::string markerNumber; ///< The number of the location
+
+ /**
+ * A list of obs types in the file.
+ * @warning This variable determines what data gets written to
+ * an output RinexObsStream. Set this with the RinexMetTypes
+ * that you want written to the file.
+ */
+ std::vector<RinexMetType> obsTypeList;
+ std::vector<sensorType> sensorTypeList; ///< A list of sensors used in the file
+ std::vector<sensorPosType> sensorPosList; ///< A list of sensor positions used in the file
+
+ //@}
+
+ static const int maxObsPerLine; ///< Holds the max records per line
+
+ /** @name FormattingStrings
+ */
+ //@{
+ static const std::string versionString; ///< "RINEX VERSION / TYPE"
+ static const std::string runByString; ///< "PGM / RUN BY / DATE"
+ static const std::string commentString; ///< "COMMENT"
+ static const std::string markerNameString; ///< "MARKER NAME"
+ static const std::string markerNumberString; ///< "MARKER NUMBER"
+ static const std::string obsTypeString; ///< "# / TYPES OF OBSERV"
+ static const std::string sensorTypeString; ///< "SENSOR MOD/TYPE/ACC"
+ static const std::string sensorPosString; ///< "SENSOR POS XYZ/H"
+ static const std::string endOfHeader; ///< "END OF HEADER"
+ //@}
+
+ protected:
+ /// Writes the RINEX Met header to the stream \a s.
+ virtual void reallyPutRecord(FFStream& s) const
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ /**
+ * This function reads the RINEX MET header from the given FFStream.
+ * If an error is encountered in reading from the stream, the stream
+ * is reset to its original position and its fail-bit is set.
+ * @throws StringException when a StringUtils function fails
+ * @throws FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+
+
+ }; // class RinexMetHeader
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/RinexMetStream.hpp b/trunk/src/RinexMetStream.hpp
new file mode 100644
index 0000000..a3b78a5
--- /dev/null
+++ b/trunk/src/RinexMetStream.hpp
@@ -0,0 +1,111 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetStream.hpp#1 $"
+
+/**
+ * @file RinexMetStream.hpp
+ * File stream for RINEX meterological files
+ */
+
+#ifndef GPSTK_RINEXMETSTREAM_HPP
+#define GPSTK_RINEXMETSTREAM_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFTextStream.hpp"
+#include "RinexMetHeader.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup RinexMet */
+ //@{
+
+ /**
+ * This class performs file i/o on a RINEX MET file for the
+ * RinexMetHeader and RinexMetData classes.
+ *
+ * @sa rinex_met_read_write.cpp for an example.
+ * @sa rinex_met_test.cpp for an example.
+ * @sa RinexMetData.
+ * @sa RinexMetHeader for information on writing RINEX met files.
+ *
+ * @warning When writing RinexMetData, the internal
+ * RinexMetStream::headerData must have the correct observation
+ * types set for what you want to write out. If you don't set any,
+ * no data will be written. See RinexMetHeader for more information
+ * on this.
+ */
+ class RinexMetStream : public FFTextStream
+ {
+ public:
+ /// default constructor
+ RinexMetStream()
+ : headerRead(false)
+ {}
+
+ /** Constructor
+ * Opens a file named \a fn using ios::openmode \a mode.
+ */
+ RinexMetStream(const char* fn, std::ios::openmode mode=std::ios::in)
+ : FFTextStream(fn, mode), headerRead(false) {};
+
+ /// Destructor
+ virtual ~RinexMetStream() {}
+
+ /// overrides open to reset the header
+ virtual void open(const char* fn, std::ios::openmode mode)
+ {
+ FFTextStream::open(fn, mode);
+ headerRead = false;
+ header = RinexMetHeader();
+ }
+
+ /// RINEX met header for this file.
+ RinexMetHeader header;
+
+ /// Flag showing whether or not the header has been read.
+ bool headerRead;
+ };
+
+ //@}
+
+}
+
+#endif
diff --git a/trunk/src/RinexNavBase.hpp b/trunk/src/RinexNavBase.hpp
new file mode 100644
index 0000000..e40d64d
--- /dev/null
+++ b/trunk/src/RinexNavBase.hpp
@@ -0,0 +1,73 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavBase.hpp#1 $"
+
+/**
+ * @file RinexNavBase.hpp
+ * Base class for RINEX Navigation data
+ */
+
+#ifndef GPSTK_RINEXNAVBASE_HPP
+#define GPSTK_RINEXNAVBASE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFData.hpp"
+
+namespace gpstk
+{
+ /** @defgroup RinexNav RINEX navigation files */
+ //@{
+
+ /**
+ * This class serves no purpose other than to make readable diagrams.
+ */
+ class RinexNavBase : public FFData
+ {
+ public:
+ /// in deference to our coding standards, this is declared virtual
+ virtual ~RinexNavBase() {}
+ };
+
+ //@}
+
+}
+
+#endif
diff --git a/trunk/src/RinexNavData.cpp b/trunk/src/RinexNavData.cpp
new file mode 100644
index 0000000..c6f2fc4
--- /dev/null
+++ b/trunk/src/RinexNavData.cpp
@@ -0,0 +1,573 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavData.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexNavData.cpp
+ * Encapsulates RINEX Navigation data
+ */
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+#include "icd_200_constants.hpp"
+
+namespace gpstk
+{
+ using namespace gpstk::StringUtils;
+ using namespace std;
+
+ RinexNavData::RinexNavData(const EngEphemeris& ee)
+ {
+ time = ee.getEpochTime();
+ PRNID = ee.getPRNID();
+ HOWtime = long(ee.getHOWTime(1));
+ weeknum = ee.getFullWeek();
+ codeflgs = ee.getCodeFlags();
+ accuracy = ee.getAccuracy();
+ health = ee.getHealth();
+ L2Pdata = ee.getL2Pdata();
+ IODC = ee.getIODC();
+ IODE = ee.getIODE();
+
+ Toc = ee.getToc();
+ af0 = ee.getAf0();
+ af1 = ee.getAf1();
+ af2 = ee.getAf2();
+ Tgd = ee.getTgd();
+
+ Cuc = ee.getCuc();
+ Cus = ee.getCus();
+ Crc = ee.getCrc();
+ Crs = ee.getCrs();
+ Cic = ee.getCic();
+ Cis = ee.getCis();
+
+ Toe = ee.getToe();
+ M0 = ee.getM0();
+ dn = ee.getDn();
+ ecc = ee.getEcc();
+ Ahalf = ee.getAhalf();
+ OMEGA0 = ee.getOmega0();
+ i0 = ee.getI0();
+ w = ee.getW();
+ OMEGAdot = ee.getOmegaDot();
+ idot = ee.getIDot();
+ fitint = ee.getFitInterval();
+ }
+
+ void RinexNavData::reallyPutRecord(FFStream& ffs) const
+ throw(exception, FFStreamError, StringException)
+ {
+ RinexNavStream& strm = dynamic_cast<RinexNavStream&>(ffs);
+
+ strm << putPRNEpoch() << endl;
+ strm.lineNumber++;
+ strm << putBroadcastOrbit1() << endl;
+ strm.lineNumber++;
+ strm << putBroadcastOrbit2() << endl;
+ strm.lineNumber++;
+ strm << putBroadcastOrbit3() << endl;
+ strm.lineNumber++;
+ strm << putBroadcastOrbit4() << endl;
+ strm.lineNumber++;
+ strm << putBroadcastOrbit5() << endl;
+ strm.lineNumber++;
+ strm << putBroadcastOrbit6() << endl;
+ strm.lineNumber++;
+ strm << putBroadcastOrbit7(strm.header.version) << endl;
+ strm.lineNumber++;
+ }
+
+ void RinexNavData::reallyGetRecord(FFStream& ffs)
+ throw(exception, FFStreamError, StringException)
+ {
+ RinexNavStream& strm = dynamic_cast<RinexNavStream&>(ffs);
+
+ // If the header hasn't been read, read it...
+ if(!strm.headerRead)
+ strm >> strm.header;
+
+ string line;
+
+ strm.formattedGetLine(line, true);
+ getPRNEpoch(line);
+
+ strm.formattedGetLine(line);
+ getBroadcastOrbit1(line);
+
+ strm.formattedGetLine(line);
+ getBroadcastOrbit2(line);
+
+ strm.formattedGetLine(line);
+ getBroadcastOrbit3(line);
+
+ strm.formattedGetLine(line);
+ getBroadcastOrbit4(line);
+
+ strm.formattedGetLine(line);
+ getBroadcastOrbit5(line);
+
+ strm.formattedGetLine(line);
+ getBroadcastOrbit6(line);
+
+ strm.formattedGetLine(line);
+ getBroadcastOrbit7(line);
+ }
+
+ void RinexNavData::dump(ostream& s) const
+ {
+ s << "PRN: " << setw(2) << PRNID
+ << " TOE: " << time
+ << " TOC: " << setw(4) << weeknum << " "
+ << fixed << setw(10) << setprecision(3) << Toc
+ << " IODE: " << setw(4) << int(IODE) // IODE should be int
+ << " HOWtime: " << setw(6) << HOWtime // HOW should be double
+ << endl;
+ //<< ios::hex << IODE << " HOWtime: " << HOWtime << endl; ?? IODE is double
+ }
+
+ RinexNavData::operator EngEphemeris() const throw()
+ {
+ EngEphemeris ee;
+
+ // there's no TLM word in RinexNavData, so it's set to 0.
+ // likewise, there's no AS alert or tracker.
+ // Also, in Rinex, the accuracy is in meters, and setSF1 expects
+ // the accuracy flag. We'll give it zero and pass the accuracy
+ // separately via the setAccuracy() method.
+ ee.setSF1(0, HOWtime, 0, weeknum, codeflgs, 0, health,
+ short(IODC), L2Pdata, Tgd, Toc, af2, af1, af0, 0, PRNID);
+ ee.setSF2(0, HOWtime, 0, short(IODE), Crs, dn, M0, Cuc, ecc, Cus, Ahalf,
+ Toe, (fitint > 4) ? 1 : 0);
+ ee.setSF3(0, HOWtime, 0, Cic, OMEGA0, Cis, i0, Crc, w, OMEGAdot,
+ idot);
+
+ ee.setAccuracy(accuracy);
+
+ return ee;
+ }
+
+ list<double> RinexNavData::toList() const
+ {
+ list<double> l;
+
+ l.push_back(PRNID);
+ l.push_back(HOWtime);
+ l.push_back(weeknum);
+ l.push_back(codeflgs);
+ l.push_back(accuracy);
+ l.push_back(health);
+ l.push_back(L2Pdata);
+ l.push_back(IODC);
+ l.push_back(IODE);
+ l.push_back(Toc);
+ l.push_back(af0);
+ l.push_back(af1);
+ l.push_back(af2);
+ l.push_back(Tgd);
+ l.push_back(Cuc);
+ l.push_back(Cus);
+ l.push_back(Crc);
+ l.push_back(Crs);
+ l.push_back(Cic);
+ l.push_back(Cis);
+ l.push_back(Toe);
+ l.push_back(M0);
+ l.push_back(dn);
+ l.push_back(ecc);
+ l.push_back(Ahalf);
+ l.push_back(OMEGA0);
+ l.push_back(i0);
+ l.push_back(w);
+ l.push_back(OMEGAdot);
+ l.push_back(idot);
+ l.push_back(fitint);
+
+ return l;
+ }
+
+ string RinexNavData::putPRNEpoch(void) const
+ throw(StringException)
+ {
+ string line;
+ line += rightJustify(asString(PRNID), 2);
+ line += string(1, ' ');
+ // year is padded with 0s but none of the rest are
+ line += rightJustify(asString<short>(time.year()), 2, '0');
+ line += string(1, ' ');
+ line += rightJustify(asString<short>(time.month()), 2);
+ line += string(1, ' ');
+ line += rightJustify(asString<short>(time.day()), 2);
+ line += string(1, ' ');
+ line += rightJustify(asString<short>(time.hour()), 2);
+ line += string(1, ' ');
+ line += rightJustify(asString<short>(time.minute()), 2);
+ line += rightJustify(asString(time.second(), 1), 5);
+ line += string(1, ' ');
+ line += doub2for(af0, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(af1, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(af2, 18, 2);
+ return line;
+ }
+
+ string RinexNavData::putBroadcastOrbit1(void) const
+ throw(StringException)
+ {
+ string line;
+ line += string(3, ' ');
+ line += string(1, ' ');
+ line += doub2for(IODE, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(Crs, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(dn, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(M0, 18, 2);
+ return line;
+ }
+
+ string RinexNavData::putBroadcastOrbit2(void) const
+ throw(StringException)
+ {
+ string line;
+ line += string(3, ' ');
+ line += string(1, ' ');
+ line += doub2for(Cuc, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(ecc, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(Cus, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(Ahalf, 18, 2);
+ return line;
+ }
+
+ string RinexNavData::putBroadcastOrbit3(void) const
+ throw(StringException)
+ {
+ string line;
+ line += string(3, ' ');
+ line += string(1, ' ');
+ line += doub2for(Toe, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(Cic, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(OMEGA0, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(Cis, 18, 2);
+ return line;
+ }
+
+ string RinexNavData::putBroadcastOrbit4(void) const
+ throw(StringException)
+ {
+ string line;
+ line += string(3, ' ');
+ line += string(1, ' ');
+ line += doub2for(i0, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(Crc, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(w, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(OMEGAdot, 18, 2);
+ return line;
+ }
+
+ string RinexNavData::putBroadcastOrbit5(void) const
+ throw(StringException)
+ {
+ // Internally (RinexNavData and EngEphemeris), weeknum is the week of HOW
+ // In Rinex *files*, weeknum is the week of TOE
+ double wk=double(weeknum);
+ if(HOWtime - Toe > DayTime::HALFWEEK)
+ wk++;
+ else if(HOWtime - Toe < -(DayTime::HALFWEEK))
+ wk--;
+
+ string line;
+ line += string(3, ' ');
+ line += string(1, ' ');
+ line += doub2for(idot, 18, 2);
+ line += string(1, ' ');
+ line += doub2for((double)codeflgs, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(wk, 18, 2);
+ line += string(1, ' ');
+ line += doub2for((double)L2Pdata, 18, 2);
+ return line;
+ }
+
+ string RinexNavData::putBroadcastOrbit6(void) const
+ throw(StringException)
+ {
+ string line;
+ line += string(3, ' ');
+ line += string(1, ' ');
+ line += doub2for(accuracy, 18, 2);
+ line += string(1, ' ');
+ line += doub2for((double)health, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(Tgd, 18, 2);
+ line += string(1, ' ');
+ line += doub2for(IODC, 18, 2);
+ return line;
+ }
+
+ string RinexNavData::putBroadcastOrbit7(const double ver) const
+ throw(StringException)
+ {
+ string line;
+ line += string(3, ' ');
+ line += string(1, ' ');
+ line += doub2for(HOWtime, 18, 2);
+
+ if (ver >= 2.1)
+ {
+ line += string(1, ' ');
+ line += doub2for(fitint, 18, 2);
+ }
+ return line;
+ }
+
+ void RinexNavData::getPRNEpoch(const string& currentLine)
+ throw(StringException, FFStreamError)
+ {
+ try
+ {
+ // check for spaces in the right spots...
+ for (int i = 2; i <= 17; i += 3)
+ if (currentLine[i] != ' ')
+ throw(FFStreamError("Badly formatted line"));
+
+ PRNID = asInt(currentLine.substr(0,2));
+
+ short yr = asInt(currentLine.substr(2,3));
+ short mo = asInt(currentLine.substr(5,3));
+ short day = asInt(currentLine.substr(8,3));
+ short hr = asInt(currentLine.substr(11,3));
+ short min = asInt(currentLine.substr(14,3));
+ double sec = asDouble(currentLine.substr(17,5));
+
+ // years 80-99 represent 1980-1999
+ const int rolloverYear = 80;
+ if (yr < rolloverYear)
+ yr += 100;
+ yr += 1900;
+
+ // Real Rinex has epochs 'yy mm dd hr 59 60.0' surprisingly often....
+ double ds=0;
+ if(sec >= 60.) { ds=sec; sec=0.0; }
+ time = DayTime(yr,mo,day,hr,min,sec);
+ if(ds != 0) time += ds;
+
+ Toc = time.GPSsecond();
+ af0 = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+ af1 = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+ af2 = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+ }
+ catch (std::exception &e)
+ {
+ FFStreamError err("std::exception: " +
+ string(e.what()));
+ GPSTK_THROW(err);
+ }
+ }
+
+ void RinexNavData::getBroadcastOrbit1(const string& currentLine)
+ throw(StringException, FFStreamError)
+ {
+ try
+ {
+ IODE = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+ Crs = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+ dn = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+ M0 = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+ }
+ catch (std::exception &e)
+ {
+ FFStreamError err("std::exception: " +
+ string(e.what()));
+ GPSTK_THROW(err);
+ }
+ }
+
+ void RinexNavData::getBroadcastOrbit2(const string& currentLine)
+ throw(StringException, FFStreamError)
+ {
+ try
+ {
+ Cuc = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+ ecc = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+ Cus = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+ Ahalf = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+ }
+ catch (std::exception &e)
+ {
+ FFStreamError err("std::exception: " +
+ string(e.what()));
+ GPSTK_THROW(err);
+ }
+ }
+
+ void RinexNavData::getBroadcastOrbit3(const string& currentLine)
+ throw(StringException, FFStreamError)
+ {
+ try
+ {
+ Toe = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+ Cic = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+ OMEGA0 = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+ Cis = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+ }
+ catch (std::exception &e)
+ {
+ FFStreamError err("std::exception: " +
+ string(e.what()));
+ GPSTK_THROW(err);
+ }
+ }
+
+ void RinexNavData::getBroadcastOrbit4(const string& currentLine)
+ throw(StringException, FFStreamError)
+ {
+ try
+ {
+ i0 = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+ Crc = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+ w = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+ OMEGAdot = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+ }
+ catch (std::exception &e)
+ {
+ FFStreamError err("std::exception: " +
+ string(e.what()));
+ GPSTK_THROW(err);
+ }
+ }
+
+ void RinexNavData::getBroadcastOrbit5(const string& currentLine)
+ throw(StringException, FFStreamError)
+ {
+ try
+ {
+ double codeL2, L2P, toe_wn;
+
+ idot = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+ codeL2 = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+ toe_wn = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+ L2P = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+
+ codeflgs = (short) codeL2;
+ L2Pdata = (short) L2P;
+ weeknum = (short) toe_wn;
+ }
+ catch (std::exception &e)
+ {
+ FFStreamError err("std::exception: " +
+ string(e.what()));
+ GPSTK_THROW(err);
+ }
+ }
+
+ void RinexNavData::getBroadcastOrbit6(const string& currentLine)
+ throw(StringException, FFStreamError)
+ {
+ try
+ {
+ double SV_acc, SV_health;
+
+ accuracy = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+ SV_health = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+ Tgd = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+ IODC = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+
+
+ health = (short) SV_health;
+ }
+ catch (std::exception &e)
+ {
+ FFStreamError err("std::exception: " +
+ string(e.what()));
+ GPSTK_THROW(err);
+ }
+ }
+
+ void RinexNavData::getBroadcastOrbit7(const string& currentLine)
+ throw(StringException, FFStreamError)
+ {
+ try
+ {
+ double HOW_sec;
+
+ HOW_sec = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+ fitint = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+
+ HOWtime = (long) HOW_sec;
+
+ // In Rinex *files*, weeknum is the week of TOE
+ // Internally (RinexNavData and EngEphemeris), weeknum is the week of HOW
+ if(HOWtime - Toe > DayTime::HALFWEEK)
+ weeknum--;
+ else if(HOWtime - Toe < -(DayTime::HALFWEEK))
+ weeknum++;
+
+ // Some Rinex files have HOW < 0
+ while(HOWtime < 0) {
+ HOWtime += (long) DayTime::FULLWEEK;
+ weeknum--;
+ }
+
+ }
+ catch (std::exception &e)
+ {
+ FFStreamError err("std::exception: " +
+ string(e.what()));
+ GPSTK_THROW(err);
+ }
+ }
+
+} // end of namespace
diff --git a/trunk/src/RinexNavData.hpp b/trunk/src/RinexNavData.hpp
new file mode 100644
index 0000000..5fe52ab
--- /dev/null
+++ b/trunk/src/RinexNavData.hpp
@@ -0,0 +1,253 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavData.hpp#1 $"
+
+/**
+ * @file RinexNavData.hpp
+ * Encapsulates RINEX Navigation data
+ */
+
+#ifndef RINEXNAVDATA_HPP
+#define RINEXNAVDATA_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <list>
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "FFStream.hpp"
+#include "RinexNavBase.hpp"
+#include "EngEphemeris.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup RinexNav */
+ //@{
+
+ /**
+ * This class models a RINEX NAV record.
+ *
+ * \sa rinex_nav_test.cpp and rinex_nav_read_write.cpp for examples.
+ * \sa gpstk::RinexNavHeader and gpstk::RinexNavStream classes.
+ */
+ class RinexNavData : public RinexNavBase
+ {
+ public:
+ /**
+ * Constructor
+ * @warning CHECK THE PRNID TO SEE IF THIS DATA IS
+ * VALID BEFORE USING!!
+ */
+ RinexNavData(void)
+ : PRNID(-1), fitint(4),
+ time(gpstk::DayTime::BEGINNING_OF_TIME)
+ {}
+
+ /// Initializes the nav data with an EngEphemeris
+ RinexNavData(const EngEphemeris& ee);
+
+ /// destructor
+ virtual ~RinexNavData() {}
+
+ // The next four lines is our common interface
+ /// RinexNavData is "data" so this function always returns true.
+ virtual bool isData(void) const {return true;}
+
+ /**
+ * A debug output function.
+ * Prints the PRN id and the IODC for this record.
+ */
+ virtual void dump(std::ostream& s) const;
+
+ /**
+ * Converts this RinexNavData to an EngEphemeris object.
+ */
+ operator EngEphemeris() const throw();
+
+ /**
+ * Converts the (non-DayTime) data to a list for easy
+ * comparison operators.
+ */
+ std::list<double> toList() const;
+
+ /** @name Epochdata
+ */
+ //@{
+ DayTime time; ///< Time according to the record.
+ short PRNID; ///< SV PRN ID
+ long HOWtime; ///< Time of subframe 1-3 (sec of week)
+ short weeknum; ///< GPS full week number that corresponds
+ ///< to the HOWtime of SF1
+ ///< (NB in Rinex files, week number corresponds to TOE)
+ short codeflgs; ///< L2 codes
+ double accuracy; ///< SV accuracy (m)
+ short health; ///< SV health
+ short L2Pdata; ///< L2 P data flag
+ double IODC; ///< Index of data-clock
+ double IODE; ///< Index of data-eph
+ //@}
+
+ /** @name ClockInformation
+ */
+ //@{
+ double Toc; ///< Clock epoch (sec of week) (found in epoch line of Rinex navigation files)
+ double af0; ///< SV clock error (sec)
+ double af1; ///< SV clock drift (sec/sec)
+ double af2; ///< SV clock drift rate (sec/sec**2)
+ double Tgd; ///< Group delay differential (sec)
+ //@}
+
+ /** @name HarmonicPerturbations
+ */
+ //@{
+ double Cuc; ///< Cosine latitude (rad)
+ double Cus; ///< Sine latitude (rad)
+ double Crc; ///< Cosine radius (m)
+ double Crs; ///< Sine radius (m)
+ double Cic; ///< Cosine inclination (rad)
+ double Cis; ///< Sine inclination (rad)
+ //@}
+
+ /** @name MajorEphemerisParameters
+ */
+ //@{
+ double Toe; ///< Ephemeris epoch (sec of week)
+ double M0; ///< Mean anomaly (rad)
+ double dn; ///< Correction to mean motion (rad/sec)
+ double ecc; ///< Eccentricity
+ double Ahalf; ///< SQRT of semi-major axis (m**1/2)
+ double OMEGA0; ///< Rt ascension of ascending node (rad)
+ double i0; ///< Inclination (rad)
+ double w; ///< Argument of perigee (rad)
+ double OMEGAdot; ///< Rate of Rt ascension (rad/sec)
+ double idot; ///< Rate of inclination angle (rad/sec)
+ double fitint; ///< Fit interval
+ //@}
+
+ private:
+ /// Parses string \a currentLine to obtain PRN id and epoch.
+ void getPRNEpoch(const std::string& currentLine)
+ throw(gpstk::StringUtils::StringException, FFStreamError);
+ /** @name OrbitParameters
+ * Obtain orbit parameters from strint \a currentLine.
+ */
+ //@{
+ /// Reads line 1 of the Nav Data record
+ void getBroadcastOrbit1(const std::string& currentLine)
+ throw(gpstk::StringUtils::StringException, FFStreamError);
+ /// Reads line 2 of the Nav Data record
+ void getBroadcastOrbit2(const std::string& currentLine)
+ throw(gpstk::StringUtils::StringException, FFStreamError);
+ /// Reads line 3 of the Nav Data record
+ void getBroadcastOrbit3(const std::string& currentLine)
+ throw(gpstk::StringUtils::StringException, FFStreamError);
+ /// Reads line 4 of the Nav Data record
+ void getBroadcastOrbit4(const std::string& currentLine)
+ throw(gpstk::StringUtils::StringException, FFStreamError);
+ /// Reads line 5 of the Nav Data record
+ void getBroadcastOrbit5(const std::string& currentLine)
+ throw(gpstk::StringUtils::StringException, FFStreamError);
+ /// Reads line 6 of the Nav Data record
+ void getBroadcastOrbit6(const std::string& currentLine)
+ throw(gpstk::StringUtils::StringException, FFStreamError);
+ /// Reads line 7 of the Nav Data record
+ void getBroadcastOrbit7(const std::string& currentLine)
+ throw(gpstk::StringUtils::StringException, FFStreamError);
+ //@}
+
+ /// generates a line to be output to a file for the PRN/epoch line
+ std::string putPRNEpoch(void) const
+ throw(gpstk::StringUtils::StringException);
+ /** @name OrbitParameters
+ * Generate orbit parameter lines from data to be output to a file
+ */
+ //@{
+ /// Writes line 7 of the Nav Data record
+ std::string putBroadcastOrbit1(void) const
+ throw(gpstk::StringUtils::StringException);
+ /// Writes line 7 of the Nav Data record
+ std::string putBroadcastOrbit2(void) const
+ throw(gpstk::StringUtils::StringException);
+ /// Writes line 7 of the Nav Data record
+ std::string putBroadcastOrbit3(void) const
+ throw(gpstk::StringUtils::StringException);
+ /// Writes line 7 of the Nav Data record
+ std::string putBroadcastOrbit4(void) const
+ throw(gpstk::StringUtils::StringException);
+ /// Writes line 7 of the Nav Data record
+ std::string putBroadcastOrbit5(void) const
+ throw(gpstk::StringUtils::StringException);
+ /// Writes line 7 of the Nav Data record
+ std::string putBroadcastOrbit6(void) const
+ throw(gpstk::StringUtils::StringException);
+ /// Writes line 7 of the Nav Data record
+ /// @warning Pass in version to decide wheter or not
+ /// to write fit interval
+ std::string putBroadcastOrbit7(const double ver) const
+ throw(gpstk::StringUtils::StringException);
+ //@}
+
+ protected:
+ /// Outputs the record to the FFStream \a s.
+ virtual void reallyPutRecord(FFStream& s) const
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ /**
+ * This function retrieves a RINEX NAV record from the given FFStream.
+ * If an error is encountered in reading from the stream, the stream
+ * is returned to its original position and its fail-bit is set.
+ * @throws StringException when a StringUtils function fails
+ * @throws FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+ }; // class RinexNavData
+
+ //@}
+
+} // namespace
+
+
+#endif
diff --git a/trunk/src/RinexNavFilterOperators.hpp b/trunk/src/RinexNavFilterOperators.hpp
new file mode 100644
index 0000000..330be6a
--- /dev/null
+++ b/trunk/src/RinexNavFilterOperators.hpp
@@ -0,0 +1,238 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavFilterOperators.hpp#2 $"
+
+/**
+ * @file RinexNavFilterOperators.hpp
+ * Operators for FileFilter using Rinex navigation data
+ */
+
+#ifndef GPSTK_RINEXNAVFILTEROPERATORS_HPP
+#define GPSTK_RINEXNAVFILTEROPERATORS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileFilter.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+
+#include <set>
+
+namespace gpstk
+{
+ /** @addtogroup RinexNav */
+ //@{
+
+ /// This compares all elements of the RinexNavData with less than.
+ struct RinexNavDataOperatorLessThanFull :
+ public std::binary_function<gpstk::RinexNavData,
+ gpstk::RinexNavData, bool>
+ {
+ public:
+ bool operator()(const gpstk::RinexNavData& l,
+ const gpstk::RinexNavData& r) const
+ {
+ gpstk::DayTime lXmitTime(0.L);
+ lXmitTime.setGPSfullweek(l.weeknum, (double)l.HOWtime);
+ gpstk::DayTime rXmitTime(0.L);
+ rXmitTime.setGPSfullweek(r.weeknum, (double)r.HOWtime);
+
+ if (lXmitTime < rXmitTime)
+ return true;
+ else if (lXmitTime == rXmitTime)
+ {
+ // compare the times and all data members
+ if (l.time < r.time)
+ return true;
+ else if (l.time == r.time)
+ {
+ std::list<double>
+ llist = l.toList(),
+ rlist = r.toList();
+
+ std::list<double>::iterator
+ litr = llist.begin(),
+ ritr = rlist.begin();
+
+ while (litr != llist.end())
+ {
+ if (*litr < *ritr)
+ return true;
+ else if (*litr > *ritr)
+ return false;
+ else
+ {
+ litr++;
+ ritr++;
+ }
+ }
+ }
+ } // if (lXmitTime == rXmitTime)
+
+ return false;
+ }
+ };
+
+ /// This compares all elements of the RinexNavData with equals
+ struct RinexNavDataOperatorEqualsFull :
+ public std::binary_function<gpstk::RinexNavData,
+ gpstk::RinexNavData, bool>
+ {
+ public:
+ bool operator()(const gpstk::RinexNavData& l,
+ const gpstk::RinexNavData& r) const
+ {
+ // compare the times and all data members
+ if (l.time != r.time)
+ return false;
+ else // if (l.time == r.time)
+ {
+ std::list<double>
+ llist = l.toList(),
+ rlist = r.toList();
+
+ std::list<double>::iterator
+ litr = llist.begin(),
+ ritr = rlist.begin();
+
+ while (litr != llist.end())
+ {
+ if (*litr != *ritr)
+ return false;
+ litr++;
+ ritr++;
+ }
+ }
+
+ return true;
+ }
+ };
+
+ /// Only compares time. Suitable for sorting a RinexNav file.
+ struct RinexNavDataOperatorLessThanSimple :
+ public std::binary_function<gpstk::RinexNavData,
+ gpstk::RinexNavData, bool>
+ {
+ public:
+ bool operator()(const gpstk::RinexNavData& l,
+ const gpstk::RinexNavData& r) const
+ {
+ gpstk::DayTime lXmitTime(0.L);
+ lXmitTime.setGPSfullweek(l.weeknum, (double)l.HOWtime);
+ gpstk::DayTime rXmitTime(0.L);
+ rXmitTime.setGPSfullweek(r.weeknum, (double)r.HOWtime);
+ if (lXmitTime < rXmitTime)
+ return true;
+ return false;
+ }
+ };
+
+ /// Combines RinexNavHeaders into a single header, combining comments
+ /// This assumes that
+ /// all the headers come from the same station for setting the other
+ /// header fields. After running touch() on a list of RinexNavHeader,
+ /// the internal theHeader will be the merged header data for
+ /// those files.
+ struct RinexNavHeaderTouchHeaderMerge :
+ public std::unary_function<gpstk::RinexNavHeader, bool>
+ {
+ public:
+ RinexNavHeaderTouchHeaderMerge()
+ : firstHeader(true)
+ {}
+
+ bool operator()(const gpstk::RinexNavHeader& l)
+ {
+ if (firstHeader)
+ {
+ theHeader = l;
+ firstHeader = false;
+ }
+ else
+ {
+ std::set<std::string> commentSet;
+
+ // insert the comments to the set
+ // and let the set take care of uniqueness
+ copy(theHeader.commentList.begin(),
+ theHeader.commentList.end(),
+ inserter(commentSet, commentSet.begin()));
+ copy(l.commentList.begin(),
+ l.commentList.end(),
+ inserter(commentSet, commentSet.begin()));
+ // then copy the comments back into theHeader
+ theHeader.commentList.clear();
+ copy(commentSet.begin(), commentSet.end(),
+ inserter(theHeader.commentList,
+ theHeader.commentList.begin()));
+ }
+ return true;
+ }
+
+ bool firstHeader;
+ gpstk::RinexNavHeader theHeader;
+ };
+
+ /// Filter based on PRN ID.
+ struct RinexNavDataFilterPRN :
+ public std::unary_function<gpstk::RinexNavData, bool>
+ {
+ public:
+ RinexNavDataFilterPRN(const std::list<long>& lst )
+ :prnList(lst)
+ {}
+ /// This should return true when the data are to be erased
+ bool operator()(const gpstk::RinexNavData& l) const
+ {
+ long testValue = (long) l.PRNID;
+ return find(prnList.begin(), prnList.end(), testValue )
+ == prnList.end();
+ }
+ private:
+ std::list<long> prnList;
+ };
+
+ //@}
+
+}
+
+
+#endif
+
diff --git a/trunk/src/RinexNavHeader.cpp b/trunk/src/RinexNavHeader.cpp
new file mode 100644
index 0000000..66fccce
--- /dev/null
+++ b/trunk/src/RinexNavHeader.cpp
@@ -0,0 +1,337 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavHeader.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexNavHeader.cpp
+ * Encapsulate header of Rinex navigation file
+ */
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavStream.hpp"
+
+#include <iostream>
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+ const string RinexNavHeader::endOfHeader = "END OF HEADER";
+ const string RinexNavHeader::leapSecondsString = "LEAP SECONDS";
+ const string RinexNavHeader::deltaUTCString = "DELTA-UTC: A0,A1,T,W";
+ const string RinexNavHeader::ionBetaString = "ION BETA";
+ const string RinexNavHeader::ionAlphaString = "ION ALPHA";
+ const string RinexNavHeader::commentString = "COMMENT";
+ const string RinexNavHeader::runByString = "PGM / RUN BY / DATE";
+ const string RinexNavHeader::versionString = "RINEX VERSION / TYPE";
+
+ void RinexNavHeader::reallyPutRecord(FFStream& ffs) const
+ throw(std::exception, FFStreamError, StringException)
+ {
+ RinexNavStream& strm = dynamic_cast<RinexNavStream&>(ffs);
+
+ strm.header = (*this);
+
+ unsigned long allValid;
+ if (version == 2.0) allValid = allValid20;
+ else if (version == 2.1) allValid = allValid21;
+ else
+ {
+ FFStreamError err("Unknown RINEX version: " + asString(version,2));
+ err.addText("Make sure to set the version correctly.");
+ GPSTK_THROW(err);
+ }
+
+ if ((valid & allValid) != allValid)
+ {
+ FFStreamError err("Incomplete or invalid header.");
+ err.addText("Make sure you set all header valid bits for all of the available data.");
+ GPSTK_THROW(err);
+ }
+
+ string line;
+
+ if (valid & versionValid)
+ {
+ line = rightJustify(asString(version,2), 9);
+ line += string(11, ' ');
+ line += string("NAVIGATION"); //leftJustify(fileType, 20);
+ line += string(30, ' ');
+ line += versionString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & runByValid)
+ {
+ line = leftJustify(fileProgram,20);
+ line += leftJustify(fileAgency,20);
+ DayTime dt;
+ dt.setLocalTime();
+ string dat = dt.printf("%02m/%02d/%04Y %02H:%02M:%02S");
+ line += leftJustify(dat, 20);
+ line += runByString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & commentValid)
+ {
+ vector<string>::const_iterator itr = commentList.begin();
+ while (itr != commentList.end())
+ {
+ line = leftJustify((*itr), 60);
+ line += commentString;
+ strm << line << endl;
+ strm.lineNumber++;
+ itr++;
+ }
+ }
+ if (valid & ionAlphaValid)
+ {
+ line = string(2, ' ');
+ for (int i = 0; i < 4; i++)
+ {
+ line += doub2for(ionAlpha[i], 12, 2); // should be 12.4
+ }
+ line += string(10, ' ');
+ line += ionAlphaString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & ionBetaValid)
+ {
+ line = string(2, ' ');
+ for (int i = 0; i < 4; i++)
+ {
+ line += doub2for(ionBeta[i], 12, 2);
+ }
+ line += string(10, ' ');
+ line += ionBetaString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & deltaUTCValid)
+ {
+ line = string(3, ' ');
+ line += string(2, ' ');
+ line += doub2for(A0, 18, 2);
+ line += doub2for(A1, 18, 2);
+ line += rightJustify(asString(UTCRefTime),9);
+ line += rightJustify(asString(UTCRefWeek),9);
+ line += string(1, ' ');
+ line += deltaUTCString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & leapSecondsValid)
+ {
+ line = rightJustify(asString(leapSeconds), 6);
+ line += string(54, ' ');
+ line += leapSecondsString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & endValid)
+ {
+ line = string(60,' ');
+ line += endOfHeader;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+
+ }
+
+ void RinexNavHeader::reallyGetRecord(FFStream& ffs)
+ throw(std::exception, FFStreamError, StringException)
+ {
+ RinexNavStream& strm = dynamic_cast<RinexNavStream&>(ffs);
+
+ // if already read, just return
+ if (strm.headerRead == true)
+ return;
+
+ valid = 0;
+
+ // clear out anything that was unsuccessfully read the first
+ commentList.clear();
+
+ while (! (valid & endValid))
+ {
+ string line;
+ strm.formattedGetLine(line);
+ StringUtils::stripTrailing(line);
+
+ if (line.length()==0) continue;
+ else if (line.length()<60 || line.length()>80)
+ {
+ FFStreamError e("Invalid line length");
+ GPSTK_THROW(e);
+ }
+
+ string thisLabel(line, 60, 20);
+
+ if (thisLabel == versionString)
+ {
+ version = asDouble(line.substr(0,20));
+ fileType = strip(line.substr(20,20));
+ if ( (fileType[0] != 'N') &&
+ (fileType[0] != 'n'))
+ {
+ FFStreamError e("This isn't a Rinex Nav file");
+ GPSTK_THROW(e);
+ }
+ valid |= versionValid;
+ }
+ else if (thisLabel == runByString)
+ {
+ fileProgram = strip(line.substr(0,20));
+ fileAgency = strip(line.substr(20,20));
+ date = strip(line.substr(40,20));
+ valid |= runByValid;
+ }
+ else if (thisLabel == commentString)
+ {
+ commentList.push_back(strip(line.substr(0,60)));
+ valid |= commentValid;
+ }
+ else if (thisLabel == ionAlphaString)
+ {
+ for(int i = 0; i < 4; i++)
+ ionAlpha[i] = gpstk::StringUtils::for2doub(line.substr(2 + 12 * i,12),12);
+ valid |= ionAlphaValid;
+ }
+ else if (thisLabel == ionBetaString)
+ {
+ for(int i = 0; i < 4; i++)
+ ionBeta[i] = gpstk::StringUtils::for2doub(line.substr(2 + 12 * i,12),12);
+ valid |= ionBetaValid;
+ }
+ else if (thisLabel == deltaUTCString)
+ {
+ A0 = gpstk::StringUtils::for2doub(line.substr(3,19),19);
+ A1 = gpstk::StringUtils::for2doub(line.substr(22,19),19);
+ UTCRefTime = asInt(line.substr(41,9));
+ UTCRefWeek = asInt(line.substr(50,9));
+ valid |= deltaUTCValid;
+ }
+ else if (thisLabel == leapSecondsString)
+ {
+ leapSeconds = asInt(line.substr(0,6));
+ valid |= leapSecondsValid;
+ }
+ else if (thisLabel == endOfHeader)
+ {
+ valid |= endValid;
+ }
+ else
+ {
+ throw(FFStreamError("Unknown header label at line " +
+ asString<size_t>(strm.lineNumber)));
+ }
+ }
+
+ unsigned long allValid;
+ if (version == 2.0) allValid = allValid20;
+ else if (version == 2.1) allValid = allValid21;
+ else
+ {
+ FFStreamError e("Unknown or unsupported RINEX version " +
+ asString(version));
+ GPSTK_THROW(e);
+ }
+
+ if ( (allValid & valid) != allValid)
+ {
+ FFStreamError e("Incomplete or invalid header");
+ GPSTK_THROW(e);
+ }
+
+ // we got here, so something must be right...
+ strm.header = *this;
+ strm.headerRead = true;
+ }
+
+ void RinexNavHeader::dump(ostream& s) const
+ {
+ int i;
+ s << "---------------------------------- REQUIRED ----------------------------------\n";
+ s << "Rinex Version " << fixed << setw(5) << setprecision(2) << version
+ << ", File type " << fileType << ".\n";
+ s << "Prgm: " << fileProgram << ", Run: " << date << ", By: " << fileAgency << endl;
+
+ s << "(This header is ";
+ if((valid & allValid21) == allValid21) s << "VALID 2.1";
+ else if((valid & allValid20) == allValid20) s << "VALID 2.0";
+ else s << "NOT VALID";
+ s << " Rinex.)\n";
+
+ if(!(valid & versionValid)) s << " Version is NOT valid\n";
+ if(!(valid & runByValid)) s << " Run by is NOT valid\n";
+ if(!(valid & endValid)) s << " End is NOT valid\n";
+
+ s << "---------------------------------- OPTIONAL ----------------------------------\n";
+ if(valid & ionAlphaValid) { s << "Ion alpha:";
+ for(i=0; i<4; i++) s << " " << scientific << setprecision(4) << ionAlpha[i];
+ s << endl; }
+ else s << " Ion alpha is NOT valid\n";
+ if(valid & ionBetaValid) { s << "Ion beta:";
+ for(i=0; i<4; i++) s << " " << scientific << setprecision(4) << ionBeta[i];
+ s << endl; }
+ else s << " Ion beta is NOT valid\n";
+ if(valid & deltaUTCValid) s << "Delta UTC: A0="
+ << scientific << setprecision(12) << A0 << ", A1="
+ << scientific << setprecision(12) << A1 << ", UTC ref = ("
+ << UTCRefWeek << "," << UTCRefTime << ")\n";
+ else s << " Delta UTC is NOT valid\n";
+ if(valid & leapSecondsValid) s << "Leap seconds: " << leapSeconds << endl;
+ else s << " Leap seconds is NOT valid\n";
+ if(commentList.size() > 0) {
+ s << "Comments (" << commentList.size() << ") :\n";
+ for(int i=0; i<commentList.size(); i++)
+ s << commentList[i] << endl;
+ }
+ s << "-------------------------------- END OF HEADER -------------------------------\n";
+ }
+
+} // namespace
diff --git a/trunk/src/RinexNavHeader.hpp b/trunk/src/RinexNavHeader.hpp
new file mode 100644
index 0000000..77c7daa
--- /dev/null
+++ b/trunk/src/RinexNavHeader.hpp
@@ -0,0 +1,160 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavHeader.hpp#1 $"
+
+/**
+ * @file RinexNavHeader.hpp
+ * Encapsulate header of Rinex navigation file
+ */
+
+#ifndef GPSTK_RINEXNAVHEADER_HPP
+#define GPSTK_RINEXNAVHEADER_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFStream.hpp"
+#include "RinexNavBase.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup RinexNav */
+ //@{
+
+ /**
+ * This class models the RINEX NAV header for a RINEX NAV file.
+ *
+ * \sa rinex_nav_test.cpp and rinex_nav_read_write.cpp for examples.
+ * \sa gpstk::RinexNavData and gpstk::RinexNavStream classes.
+ */
+ class RinexNavHeader : public RinexNavBase
+ {
+ public:
+ /// Constructor
+ RinexNavHeader(void) : valid(0), version(2.1) {}
+
+ /// Destructor
+ virtual ~RinexNavHeader() {}
+
+ /// RinexNavHeader is a "header" so this function always returns true.
+ virtual bool isHeader(void) const {return true;}
+
+ /// This function dumps the contents of the header.
+ virtual void dump(std::ostream& s) const;
+
+ /// Tell me, Am I valid?
+ unsigned long valid;
+
+ /// These are validity bits used in checking the RINEX NAV header.
+ enum validBits
+ {
+ versionValid = 0x01, ///< Set if the RINEX version is valid.
+ runByValid = 0x02, ///< Set if the Run-by value is valid.
+ commentValid = 0x04, ///< Set if the comments are valid. Very subjective
+ ionAlphaValid = 0x08, ///< Set if the Ion Alpha value is valid.
+ ionBetaValid = 0x010, ///< Set if the Ion Beta value is valid.
+ deltaUTCValid = 0x020, ///< Set if the Delta UTC value is valid.
+ leapSecondsValid = 0x040, ///< Set if the Leap Seconds value is valid.
+ endValid = 0x080000000, ///< Set if the end value is valid.
+
+ /// This bitset checks that all required header items are available
+ /// for a Rinex 2.0 version file
+ allValid20 = 0x080000003,
+ /// This bitset checks that all required header items are available
+ /// for a Rinex 2.1 version file
+ allValid21 = 0x080000003
+ };
+
+ /** @name HeaderValues
+ */
+ //@{
+ double version; ///< RINEX Version
+
+ std::string fileType;
+ std::string fileProgram;
+ std::string fileAgency;
+ std::string date;
+ std::vector<std::string> commentList;
+ double ionAlpha[4];
+ double ionBeta[4];
+ double A0;
+ double A1;
+ long UTCRefTime;
+ long UTCRefWeek;
+ long leapSeconds;
+ //@}
+
+ /** @name FormattingStd::Strings
+ */
+ //@{
+ static const std::string versionString; //"RINEX VERSION / TYPE"
+ static const std::string runByString; //"PGM / RUN BY / DATE"
+ static const std::string commentString; // "COMMENT"
+ static const std::string ionAlphaString; //"ION ALPHA"
+ static const std::string ionBetaString; //"ION BETA"
+ static const std::string deltaUTCString; //"DELTA-UTC: A0,A1,T,W"
+ static const std::string leapSecondsString; //"LEAP SECONDS"
+ static const std::string endOfHeader; //"END OF HEADER"
+ //@}
+
+ protected:
+ /// Writes a correctly formatted record from this data to stream \a s.
+ virtual void reallyPutRecord(FFStream& s) const
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ /**
+ * This function reads the RINEX NAV header from the given FFStream.
+ * If an error is encountered in reading from the stream, the stream
+ * is reset to its original position and its fail-bit is set.
+ * @throws StringException when a StringUtils function fails
+ * @throws FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+ }; // class RinexNavHeader
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/RinexNavStream.hpp b/trunk/src/RinexNavStream.hpp
new file mode 100644
index 0000000..488f63f
--- /dev/null
+++ b/trunk/src/RinexNavStream.hpp
@@ -0,0 +1,102 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavStream.hpp#1 $"
+
+/**
+ * @file RinexNavStream.hpp
+ * File stream for Rinex navigation file data
+ */
+
+#ifndef GPSTK_RINEXNAVSTREAM_HPP
+#define GPSTK_RINEXNAVSTREAM_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFTextStream.hpp"
+#include "RinexNavHeader.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup RinexNav */
+ //@{
+
+ /**
+ * This class performs file i/o on a RINEX NAV file.
+ *
+ * \sa rinex_nav_test.cpp and rinex_nav_read_write.cpp for examples.
+ * \sa gpstk::RinexNavHeader and gpstk::RinexNavData classes.
+ */
+ class RinexNavStream : public FFTextStream
+ {
+ public:
+ /// Default constructor
+ RinexNavStream()
+ : headerRead(false)
+ {}
+
+ /** Constructor
+ * Opens a file named \a fn using ios::openmode \a mode.
+ */
+ RinexNavStream(const char* fn, std::ios::openmode mode=std::ios::in)
+ : FFTextStream(fn, mode), headerRead(false) {}
+
+ /// Destructor
+ virtual ~RinexNavStream() {}
+
+ /// overrides open to reset the header
+ virtual void open(const char* fn, std::ios::openmode mode)
+ {
+ FFTextStream::open(fn, mode);
+ headerRead = false;
+ header = RinexNavHeader();
+ }
+
+ /// RINEX NAV header for this file.
+ RinexNavHeader header;
+
+ /// Flag showing whether or not the header has been read.
+ bool headerRead;
+ };
+
+ //@}
+
+}
+
+#endif
diff --git a/trunk/src/RinexObsBase.hpp b/trunk/src/RinexObsBase.hpp
new file mode 100644
index 0000000..c425632
--- /dev/null
+++ b/trunk/src/RinexObsBase.hpp
@@ -0,0 +1,73 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsBase.hpp#1 $"
+
+/**
+ * @file RinexObsBase.hpp
+ * Base class for RINEX observation file data
+ */
+
+#ifndef GPSTK_RINEXOBSBASE_HPP
+#define GPSTK_RINEXOBSBASE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFData.hpp"
+
+namespace gpstk
+{
+ /** @defgroup RinexObs RINEX observation files */
+ //@{
+
+ /** This level isn't serving any purpose other than to make
+ * the class diagram look nice...
+ */
+ class RinexObsBase : public FFData
+ {
+ public:
+ /// Destructor per the coding standards
+ virtual ~RinexObsBase() {}
+ };
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/RinexObsData.cpp b/trunk/src/RinexObsData.cpp
new file mode 100644
index 0000000..3e98bec
--- /dev/null
+++ b/trunk/src/RinexObsData.cpp
@@ -0,0 +1,405 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsData.cpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexObsData.cpp
+ * Encapsulate RINEX observation file data, including I/O
+ */
+
+#include "StringUtils.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+ void RinexObsData::reallyPutRecord(FFStream& ffs) const
+ throw(std::exception, FFStreamError, StringException)
+ {
+ // is there anything to write?
+ if( (epochFlag==0 || epochFlag==1 || epochFlag==6)
+ && (numSvs==0 || obs.empty()) ) return;
+ if((epochFlag>=2 && epochFlag<=5) &&
+ auxHeader.NumberHeaderRecordsToBeWritten()==0) return;
+
+ RinexObsStream& strm = dynamic_cast<RinexObsStream&>(ffs);
+ string line;
+
+ // first the epoch line to 'line'
+ line = writeTime(time);
+ line += string(2, ' ');
+ line += rightJustify(asString<short>(epochFlag), 1);
+ line += rightJustify(asString<short>(numSvs), 3);
+
+ // write satellite ids to 'line'
+ const int maxPrnsPerLine = 12;
+ int prnsWritten = 0;
+ RinexPrnMap::const_iterator obsItr = obs.begin();
+ if(epochFlag==0 || epochFlag==1 || epochFlag==6) {
+ while ((obsItr != obs.end()) && (prnsWritten < maxPrnsPerLine))
+ {
+ line += asString((*obsItr).first);
+ prnsWritten++;
+ obsItr++;
+ }
+
+ // add clock offset
+ if(clockOffset != 0.0) {
+ line += string(68 - line.size(), ' ');
+ line += rightJustify(asString(clockOffset, 9), 12);
+ }
+
+ // continuation lines
+ while (prnsWritten != obs.size())
+ {
+ if ((prnsWritten % maxPrnsPerLine) == 0)
+ {
+ strm << line << endl;
+ strm.lineNumber++;
+ line = string(32, ' ');
+ }
+ line += asString((*obsItr).first);
+ prnsWritten++;
+ obsItr++;
+ }
+ }
+
+ // write the epoch line
+ strm << line << endl;
+ strm.lineNumber++;
+
+ // write the auxiliary header records, if any
+ if(epochFlag >= 2 && epochFlag <= 5)
+ {
+ try {
+ auxHeader.WriteHeaderRecords(strm);
+ }
+ catch(FFStreamError& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(StringException& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ }
+
+ // write the obs data
+ else if (!obs.empty())
+ {
+ // write out the observations themselves
+ obsItr = obs.begin();
+
+ const int maxObsPerLine = 5;
+
+ while(obsItr != obs.end())
+ {
+ vector<RinexObsHeader::RinexObsType>::iterator obsTypeItr =
+ strm.header.obsTypeList.begin();
+
+ line.erase();
+ int obsWritten = 0;
+
+ while (obsTypeItr != strm.header.obsTypeList.end())
+ {
+ if ( ((obsWritten % maxObsPerLine) == 0) &&
+ (obsWritten != 0))
+ {
+ strm << line << endl;
+ strm.lineNumber++;
+ line.erase();
+ }
+
+ RinexObsTypeMap::const_iterator rotmi(obsItr->second.find(*obsTypeItr));
+ RinexDatum thisData;
+ if (rotmi != obsItr->second.end())
+ thisData = rotmi->second;
+ line += rightJustify(asString(thisData.data,3),14);
+ if (thisData.lli == 0)
+ line += string(1, ' ');
+ else
+ line += rightJustify(asString<short>(thisData.lli),1);
+ if (thisData.ssi == 0)
+ line += string(1, ' ');
+ else
+ line += rightJustify(asString<short>(thisData.ssi),1);
+ obsWritten++;
+ obsTypeItr++;
+ }
+ strm << line << endl;
+ strm.lineNumber++;
+ obsItr++;
+ }
+ }
+ } // end RinexObsData::reallyPutRecord
+
+
+ void RinexObsData::reallyGetRecord(FFStream& ffs)
+ throw(exception, FFStreamError, gpstk::StringUtils::StringException)
+ {
+ RinexObsStream& strm = dynamic_cast<RinexObsStream&>(ffs);
+
+ // If the header hasn't been read, read it...
+ if(!strm.headerRead) strm >> strm.header;
+
+ // Clear out this object
+ RinexObsHeader& hdr = strm.header;
+
+ RinexObsData rod;
+ *this=rod;
+
+ string line;
+
+ strm.formattedGetLine(line, true);
+
+ if (line.size()>80 || line[0] != ' ' || line[3] != ' ' || line[6] != ' ')
+ {
+ FFStreamError e("Bad epoch line");
+ GPSTK_THROW(e);
+ }
+
+ // process the epoch line, including SV list and clock bias
+ epochFlag = asInt(line.substr(28,1));
+ if ((epochFlag < 0) || (epochFlag > 6))
+ {
+ FFStreamError e("Invalid epoch flag: " + asString(epochFlag));
+ GPSTK_THROW(e);
+ }
+ time = parseTime(line, hdr);
+ numSvs = asInt(line.substr(29,3));
+
+ if( line.size() > 68 )
+ clockOffset = asDouble(line.substr(68, 12));
+ else
+ clockOffset = 0.0;
+
+ // Now read the observations ...
+ if(epochFlag==0 || epochFlag==1 || epochFlag==6) {
+ int isv, ndx, line_ndx;
+ vector<RinexPrn> prnIndex(numSvs);
+ int col=30;
+ for (isv=1, ndx=0; ndx<numSvs; isv++, ndx++) {
+ if(! (isv % 13)) {
+ strm.formattedGetLine(line);
+ isv = 1;
+ if(line.size() > 80) {
+ FFStreamError err("Invalid line size:" + asString(line.size()));
+ GPSTK_THROW(err);
+ }
+ }
+ prnIndex[ndx] = asData<RinexPrn>(line.substr(col+isv*3-1, 3));
+ }
+
+ for (isv=0; isv < numSvs; isv++)
+ {
+ short numObs = hdr.obsTypeList.size();
+ for (ndx=0, line_ndx=0; ndx < numObs; ndx++, line_ndx++)
+ {
+ RinexPrn prn = prnIndex[isv];
+ RinexObsHeader::RinexObsType obs_type = hdr.obsTypeList[ndx];
+ if (! (line_ndx % 5))
+ {
+ strm.formattedGetLine(line);
+ line_ndx = 0;
+ if (line.size() > 80)
+ {
+ FFStreamError err("Invalid line size:" + asString(line.size()));
+ GPSTK_THROW(err);
+ }
+ }
+
+ line.resize(80, ' ');
+
+ obs[prn][obs_type].data = asDouble(line.substr(line_ndx*16, 14));
+ obs[prn][obs_type].lli = asInt( line.substr(line_ndx*16+14, 1));
+ obs[prn][obs_type].ssi = asInt( line.substr(line_ndx*16+15, 1));
+ }
+ }
+ }
+ // ... or the auxiliary header information
+ else if(numSvs > 0) {
+ auxHeader.clear();
+ for(int i=0; i<numSvs; i++) {
+ strm.formattedGetLine(line);
+ StringUtils::stripTrailing(line);
+ try {
+ auxHeader.ParseHeaderRecord(line);
+ }
+ catch(FFStreamError& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(StringException& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ }
+ }
+
+ return;
+
+ } // end of reallyGetRecord()
+
+
+ DayTime RinexObsData::parseTime(const string& line,
+ const RinexObsHeader& hdr) const
+ throw(FFStreamError)
+ {
+ try
+ {
+ // check if the spaces are in the right place - an easy
+ // way to check if there's corruption in the file
+ if ( (line[0] != ' ') ||
+ (line[3] != ' ') ||
+ (line[6] != ' ') ||
+ (line[9] != ' ') ||
+ (line[12] != ' ') ||
+ (line[15] != ' '))
+ {
+ FFStreamError e("Invalid time format");
+ GPSTK_THROW(e);
+ }
+
+ // if there's no time, just return a bad time
+ if (line.substr(0,26) == string(26, ' '))
+ {
+ return DayTime(DayTime::BEGINNING_OF_TIME);
+ }
+
+ int year, month, day, hour, min;
+ double sec;
+ int yy = hdr.firstObs.year()/100;
+ yy *= 100;
+
+ year = asInt( line.substr(1, 2 ));
+ month = asInt( line.substr(4, 2 ));
+ day = asInt( line.substr(7, 2 ));
+ hour = asInt( line.substr(10, 2 ));
+ min = asInt( line.substr(13, 2 ));
+ sec = asDouble(line.substr(15, 11));
+
+ // Real Rinex has epochs 'yy mm dd hr 59 60.0' surprisingly often....
+ double ds=0;
+ if(sec >= 60.) { ds=sec; sec=0.0; }
+ DayTime rv(yy+year, month, day, hour, min, sec);
+ if(ds != 0) rv += ds;
+
+ return rv;
+ }
+ // string exceptions for substr are caught here
+ catch (std::exception &e)
+ {
+ FFStreamError err("std::exception: " + string(e.what()));
+ GPSTK_THROW(err);
+ }
+ catch (gpstk::Exception& e)
+ {
+ std::string text;
+ for(int i=0; i<e.getTextCount(); i++) text += e.getText(i);
+ FFStreamError err("gpstk::Exception in parseTime(): " + text);
+ GPSTK_THROW(err);
+ }
+
+ }
+
+ string RinexObsData::writeTime(const DayTime& dt) const
+ throw(StringException)
+ {
+ if (dt == DayTime::BEGINNING_OF_TIME)
+ {
+ return string(26, ' ');
+ }
+
+ string line;
+ line = string(1, ' ');
+ line += rightJustify(asString<short>(dt.year()),2);
+ line += string(1, ' ');
+ line += rightJustify(asString<short>(dt.month()),2);
+ line += string(1, ' ');
+ line += rightJustify(asString<short>(dt.day()),2);
+ line += string(1, ' ');
+ line += rightJustify(asString<short>(dt.hour()),2);
+ line += string(1, ' ');
+ line += rightJustify(asString<short>(dt.minute()),2);
+ line += rightJustify(asString(dt.second(), 7),11);
+
+ return line;
+ }
+
+
+ void RinexObsData::dump(ostream& s) const
+ {
+ if (obs.empty())
+ return;
+ /*
+ s << "Time:" << time
+ << ", prns: ";
+ RinexPrnMap::const_iterator i;
+ for(i=obs.begin(); i!=obs.end(); i++)
+ s << i->first << " ";
+ s << endl;
+ */
+ s << "Dump of RinexObsData: ";
+ s << writeTime(time);
+ s << " " << epochFlag << " " << numSvs << " " << fixed << setprecision(6) << clockOffset << endl;
+ if(epochFlag == 0 || epochFlag == 1) {
+ RinexPrnMap::const_iterator it;
+ for(it=obs.begin(); it!=obs.end(); it++) {
+ s << "PRN " << setw(2) << it->first;
+ RinexObsTypeMap::const_iterator jt;
+ for(jt=it->second.begin(); jt!=it->second.end(); jt++) {
+ s << " " << jt->first.type << " " << fixed << setprecision(3) << setw(13) << jt->second.data
+ << "/" << jt->second.lli << "/" << jt->second.ssi;
+ }
+ s << endl;
+ }
+ }
+ else {
+ s << "aux. header info:\n";
+ auxHeader.dump(s);
+ }
+ }
+
+} // namespace
diff --git a/trunk/src/RinexObsData.hpp b/trunk/src/RinexObsData.hpp
new file mode 100644
index 0000000..4810af2
--- /dev/null
+++ b/trunk/src/RinexObsData.hpp
@@ -0,0 +1,182 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsData.hpp#1 $"
+
+/**
+ * @file RinexObsData.hpp
+ * Encapsulate RINEX observation file data, including I/O
+ */
+
+#ifndef RINEXOBSDATA_HPP
+#define RINEXOBSDATA_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexObsData.hpp
+ * gpstk::RinexObsData - storage, reading, and writing RINEX Obs data.
+ */
+
+#include <vector>
+#include <list>
+#include <map>
+
+#include "DayTime.hpp"
+#include "FFStream.hpp"
+#include "RinexObsBase.hpp"
+#include "RinexObsHeader.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup RinexObs */
+ //@{
+
+ /**
+ * This class models a RINEX Observation Data Record.
+ *
+ * @sa gpstk::RinexObsStream and gpstk::RinexObsHeader.
+ * @sa rinex_obs_test.cpp and rinex_obs_read_write.cpp for examples.
+ */
+ class RinexObsData : public RinexObsBase
+ {
+ public:
+
+ /// A structure used to store a single RINEX Data point.
+ struct RinexDatum
+ {
+ RinexDatum() : data(0), lli(0), ssi(0) {}
+ double data; ///< The actual data point.
+ short lli; ///< See the RINEX Spec. for an explanation.
+ short ssi; ///< See the RINEX Spec. for an explanation.
+ };
+
+ /// map from RinexObsType to RinexDatum.
+ typedef std::map<RinexObsHeader::RinexObsType, RinexDatum> RinexObsTypeMap;
+ /// map from RinexPrn to RinexObsTypeMap.
+ typedef std::map<RinexPrn, RinexObsTypeMap> RinexPrnMap;
+
+ gpstk::DayTime time; ///< the time corresponding to the observations
+ /** Epoch flag has the following values
+ * 0 ok
+ * 1 power failure since previous epoch
+ * 2 start moving antenna
+ * 3 new site occupation (end moving antenna)
+ * at least MARKER NAME header record follows
+ * 4 header records follow
+ * 5 external event
+ * 6 cycle slip record - same format as observation, but slips not data,
+ * and LLI and SSI are blank
+ */
+ short epochFlag;
+ /** number of satellites in this observation, except when epochFlag = 2-5,
+ * then the number of auxiliary header records to follow.
+ */
+ short numSvs;
+ double clockOffset; ///< optional clock offset
+ RinexPrnMap obs; ///< the map of observations
+ RinexObsHeader auxHeader;///< auxiliary header records (epochFlag 2-5)
+
+ /// Constructor.
+ RinexObsData() : time(gpstk::DayTime::BEGINNING_OF_TIME){}
+
+ /// Destructor
+ virtual ~RinexObsData() {}
+
+ // The next four lines is our common interface
+ /// RinexObsData is a "data", so this function always returns true.
+ virtual bool isData() const {return true;}
+
+ /**
+ * A Debug output function.
+ * Dumps the time of observations and the IDs of the PRNs
+ * in the map.
+ */
+ virtual void dump(std::ostream& s) const;
+
+ protected:
+ /**
+ * Writes a correctly formatted record from this data to stream \a s.
+ * When printing comment records, you'll need to format them correctly
+ * yourself. This means making sure that "COMMENT" is at the end
+ * of the line and that they're the correct length (<= 80 chrs).
+ * Also make sure to correctly set the epochFlag to the correct
+ * number for the type of header data you want to write.
+ */
+ virtual void reallyPutRecord(FFStream& s) const
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ /**
+ * This functions obtains a RINEX Observation record from the given
+ * FFStream.
+ * If there is an error in reading from the stream, it is reset
+ * to its original position and its fail-bit is set.
+ * Because of the Rinex Obs format, a RinexObsData record returned
+ * might not have data in it. Check the RinexPrnMap for empty()
+ * before using any data in it.
+ * @throws StringException when a StringUtils function fails
+ * @throws FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ private:
+ /// Writes the daytime object into RINEX format. If it's a bad time,
+ /// it will return blanks.
+ std::string writeTime(const DayTime& dt) const
+ throw(gpstk::StringUtils::StringException);
+
+ /**
+ * This function constructs a DayTime object from the given parameters.
+ * @param line the encoded time string found in the RINEX record.
+ * @param hdr the RINEX Observation Header object for the current RINEX file.
+ */
+ DayTime parseTime(const std::string& line, const RinexObsHeader& hdr) const
+ throw(FFStreamError);
+ }; // class RinexObsData
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/RinexObsFilterOperators.hpp b/trunk/src/RinexObsFilterOperators.hpp
new file mode 100644
index 0000000..74c6c1d
--- /dev/null
+++ b/trunk/src/RinexObsFilterOperators.hpp
@@ -0,0 +1,268 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsFilterOperators.hpp#1 $"
+
+/**
+ * @file RinexObsFilterOperators.hpp
+ * Operators for FileFilter using Rinex observation data
+ */
+
+#ifndef GPSTK_RINEXOBSFILTEROPERATORS_HPP
+#define GPSTK_RINEXOBSFILTEROPERATORS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileFilter.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+
+#include <set>
+#include <algorithm>
+
+namespace gpstk
+{
+ /** @addtogroup RinexObs */
+ //@{
+
+ /// This compares all elements of the RinexObsData with less than
+ /// (only for those fields which the two obs data share).
+ struct RinexObsDataOperatorLessThanFull :
+ public std::binary_function<gpstk::RinexObsData,
+ gpstk::RinexObsData, bool>
+ {
+ public:
+ /// The set is a set of RinexObsType that the two files have in
+ /// common. This is easily generated with the set_intersection
+ /// STL function. See difftools/rowdiff.cpp for an example.
+ RinexObsDataOperatorLessThanFull
+ (const std::set<gpstk::RinexObsHeader::RinexObsType>& rohset)
+ : obsSet(rohset)
+ {}
+
+ bool operator()(const gpstk::RinexObsData& l,
+ const gpstk::RinexObsData& r) const
+ {
+ // compare the times, offsets, then only those elements
+ // that are common to both. this ignores the flags
+ // that are set to 0
+ if (l.time < r.time)
+ return true;
+ else if (l.time == r.time)
+ {
+ if (l.epochFlag < r.epochFlag)
+ return true;
+ else if (l.epochFlag == r.epochFlag)
+ {
+ if (l.clockOffset < r.clockOffset)
+ return true;
+ else if (l.clockOffset > r.clockOffset)
+ return false;
+ }
+ else
+ return false;
+ }
+ else
+ return false;
+
+ // for the obs, first check that they're the same size
+ // i.e. - contain the same number of PRNs
+ if (l.obs.size() < r.obs.size())
+ return true;
+
+ if (l.obs.size() > r.obs.size())
+ return false;
+
+ // then check that each PRN has the same data for each of the
+ // shared fields
+ gpstk::RinexObsData::RinexPrnMap::const_iterator lItr =
+ l.obs.begin(), rItr;
+
+ gpstk::RinexPrn prn;
+
+ while (lItr != l.obs.end())
+ {
+ prn = (*lItr).first;
+ rItr = r.obs.find(prn);
+ if (rItr == r.obs.end())
+ return false;
+
+ gpstk::RinexObsData::RinexObsTypeMap
+ lObs = (*lItr).second,
+ rObs = (*rItr).second;
+
+ std::set<gpstk::RinexObsHeader::RinexObsType>::const_iterator obsItr =
+ obsSet.begin();
+
+ while (obsItr != obsSet.end())
+ {
+ gpstk::RinexObsData::RinexDatum lData, rData;
+ lData = lObs[*obsItr];
+ rData = rObs[*obsItr];
+
+ if (lData.data < rData.data)
+ return true;
+
+ if ( (lData.lli != 0) && (rData.lli != 0) )
+ if (lData.lli < rData.lli)
+ return true;
+
+ if ( (lData.ssi != 0) && (rData.ssi != 0) )
+ if (lData.ssi < rData.ssi)
+ return true;
+
+ obsItr++;
+ }
+
+ lItr++;
+ }
+
+ // the data is either == or > at this point
+ return false;
+ }
+
+ private:
+ std::set<gpstk::RinexObsHeader::RinexObsType> obsSet;
+ };
+
+ /// This is a much faster less than operator for RinexObsData,
+ /// only checking time
+ struct RinexObsDataOperatorLessThanSimple :
+ public std::binary_function<gpstk::RinexObsData,
+ gpstk::RinexObsData, bool>
+ {
+ public:
+ bool operator()(const gpstk::RinexObsData& l,
+ const gpstk::RinexObsData& r) const
+ {
+ if (l.time < r.time)
+ return true;
+ return false;
+ }
+ };
+
+ /// This simply compares the times of the two records
+ /// for equality
+ struct RinexObsDataOperatorEqualsSimple :
+ public std::binary_function<gpstk::RinexObsData,
+ gpstk::RinexObsData, bool>
+ {
+ public:
+ bool operator()(const gpstk::RinexObsData& l,
+ const gpstk::RinexObsData& r) const
+ {
+ if (l.time == r.time)
+ return true;
+ return false;
+ }
+ };
+
+ /// Combines RinexObsHeaders into a single header, combining comments
+ /// and adding the appropriate RinexObsTypes. This assumes that
+ /// all the headers come from the same station for setting the other
+ /// header fields. After running touch() on a list of RinexObsHeader,
+ /// the internal theHeader will be the merged header data for
+ /// those files and obsSet will be the set of RinexObsTypes that
+ /// will be printed to the file.
+ struct RinexObsHeaderTouchHeaderMerge :
+ public std::unary_function<gpstk::RinexObsHeader, bool>
+ {
+ public:
+ RinexObsHeaderTouchHeaderMerge()
+ : firstHeader(true)
+ {}
+
+ bool operator()(const gpstk::RinexObsHeader& l)
+ {
+ if (firstHeader)
+ {
+ theHeader = l;
+ firstHeader = false;
+ }
+ else
+ {
+ std::set<gpstk::RinexObsHeader::RinexObsType> thisObsSet,
+ tempObsSet;
+ std::set<std::string> commentSet;
+ obsSet.clear();
+
+ // insert the comments to the set
+ // and let the set take care of uniqueness
+ copy(theHeader.commentList.begin(),
+ theHeader.commentList.end(),
+ inserter(commentSet, commentSet.begin()));
+ copy(l.commentList.begin(),
+ l.commentList.end(),
+ inserter(commentSet, commentSet.begin()));
+ // then copy the comments back into theHeader
+ theHeader.commentList.clear();
+ copy(commentSet.begin(), commentSet.end(),
+ inserter(theHeader.commentList,
+ theHeader.commentList.begin()));
+
+ // find the set intersection of the obs types
+ copy(theHeader.obsTypeList.begin(),
+ theHeader.obsTypeList.end(),
+ inserter(thisObsSet, thisObsSet.begin()));
+ copy(l.obsTypeList.begin(),
+ l.obsTypeList.end(),
+ inserter(tempObsSet, tempObsSet.begin()));
+ set_intersection(thisObsSet.begin(), thisObsSet.end(),
+ tempObsSet.begin(), tempObsSet.end(),
+ inserter(obsSet, obsSet.begin()));
+ // then copy the obsTypes back into theHeader
+ theHeader.obsTypeList.clear();
+ copy(obsSet.begin(), obsSet.end(),
+ inserter(theHeader.obsTypeList,
+ theHeader.obsTypeList.begin()));
+ }
+ return true;
+ }
+
+ bool firstHeader;
+ gpstk::RinexObsHeader theHeader;
+ std::set<gpstk::RinexObsHeader::RinexObsType> obsSet;
+ };
+
+ //@}
+
+}
+
+
+#endif
diff --git a/trunk/src/RinexObsHeader.cpp b/trunk/src/RinexObsHeader.cpp
new file mode 100644
index 0000000..3655e64
--- /dev/null
+++ b/trunk/src/RinexObsHeader.cpp
@@ -0,0 +1,958 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsHeader.cpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexObsHeader.cpp
+ * Encapsulate header of Rinex observation file, including I/O
+ */
+
+#include "StringUtils.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+using namespace std;
+using namespace gpstk::StringUtils;
+
+namespace gpstk
+{
+ const string RinexObsHeader::versionString = "RINEX VERSION / TYPE";
+ const string RinexObsHeader::runByString = "PGM / RUN BY / DATE";
+ const string RinexObsHeader::commentString = "COMMENT";
+ const string RinexObsHeader::markerNameString = "MARKER NAME";
+ const string RinexObsHeader::markerNumberString = "MARKER NUMBER";
+ const string RinexObsHeader::observerString = "OBSERVER / AGENCY";
+ const string RinexObsHeader::receiverString = "REC # / TYPE / VERS";
+ const string RinexObsHeader::antennaTypeString = "ANT # / TYPE";
+ const string RinexObsHeader::antennaPositionString = "APPROX POSITION XYZ";
+ const string RinexObsHeader::antennaOffsetString = "ANTENNA: DELTA H/E/N";
+ const string RinexObsHeader::waveFactString = "WAVELENGTH FACT L1/2";
+ const string RinexObsHeader::numObsString = "# / TYPES OF OBSERV";
+ const string RinexObsHeader::intervalString = "INTERVAL";
+ const string RinexObsHeader::firstTimeString = "TIME OF FIRST OBS";
+ const string RinexObsHeader::lastTimeString = "TIME OF LAST OBS";
+ const string RinexObsHeader::receiverOffsetString = "RCV CLOCK OFFS APPL";
+ const string RinexObsHeader::leapSecondsString = "LEAP SECONDS";
+ const string RinexObsHeader::numSatsString = "# OF SATELLITES";
+ const string RinexObsHeader::prnObsString = "PRN / # OF OBS";
+ const string RinexObsHeader::endOfHeader = "END OF HEADER";
+
+ const unsigned int RinexObsHeader::RinexObsType::C1depend=0x01;
+ const unsigned int RinexObsHeader::RinexObsType::L1depend=0x02;
+ const unsigned int RinexObsHeader::RinexObsType::L2depend=0x04;
+ const unsigned int RinexObsHeader::RinexObsType::P1depend=0x08;
+ const unsigned int RinexObsHeader::RinexObsType::P2depend=0x10;
+ const unsigned int RinexObsHeader::RinexObsType::EPdepend=0x20;
+ const unsigned int RinexObsHeader::RinexObsType::PSdepend=0x40;
+
+ char RinexPrn::fillchar=' ';
+
+ const RinexObsHeader::RinexObsType RinexObsHeader::UN("UN", "Unknown or Invalid", "unknown", 0);
+ const RinexObsHeader::RinexObsType RinexObsHeader::L1("L1", "L1 Carrier Phase", "L1 cycles", RinexObsHeader::RinexObsType::L1depend);
+ const RinexObsHeader::RinexObsType RinexObsHeader::L2("L2", "L2 Carrier Phase", "L2 cycles", RinexObsHeader::RinexObsType::L2depend);
+ const RinexObsHeader::RinexObsType RinexObsHeader::C1("C1", "C/A-code pseudorange", "meters", RinexObsHeader::RinexObsType::C1depend);
+ const RinexObsHeader::RinexObsType RinexObsHeader::C2("C2", "L2C-code pseudorange", "meters", 0);
+ const RinexObsHeader::RinexObsType RinexObsHeader::P1("P1", "Pcode L1 pseudorange", "meters", RinexObsHeader::RinexObsType::P1depend);
+ const RinexObsHeader::RinexObsType RinexObsHeader::P2("P2", "Pcode L2 pseudorange", "meters", RinexObsHeader::RinexObsType::P2depend);
+ const RinexObsHeader::RinexObsType RinexObsHeader::D1("D1", "Doppler Frequency L1", "Hz", 0);
+ const RinexObsHeader::RinexObsType RinexObsHeader::D2("D2", "Doppler Frequency L2", "Hz", 0);
+ const RinexObsHeader::RinexObsType RinexObsHeader::S1("S1", "Signal-to-Noise L1", "dB-Hz", 0);
+ const RinexObsHeader::RinexObsType RinexObsHeader::S2("S2", "Signal-to-Noise L2", "dB-Hz", 0);
+ const RinexObsHeader::RinexObsType RinexObsHeader::T1("T1", "Transit 150 MHz", "meters", 0);
+ const RinexObsHeader::RinexObsType RinexObsHeader::T2("T2", "Transit 400 MHz", "meters", 0);
+
+ RinexObsHeader::RinexObsType sot[13] =
+ {
+ RinexObsHeader::UN,
+ RinexObsHeader::L1, RinexObsHeader::L2,
+ RinexObsHeader::C1, RinexObsHeader::C2,
+ RinexObsHeader::P1, RinexObsHeader::P2,
+ RinexObsHeader::D1, RinexObsHeader::D2,
+ RinexObsHeader::S1, RinexObsHeader::S2,
+ RinexObsHeader::T1, RinexObsHeader::T2
+ };
+
+ // Big warnging. The size of the above sot array, needs to be put
+ // in this initializer.
+ const std::vector<RinexObsHeader::RinexObsType>
+ RinexObsHeader::StandardRinexObsTypes(sot,sot+13);
+
+ std::vector<RinexObsHeader::RinexObsType> RinexObsHeader::RegisteredRinexObsTypes
+ = RinexObsHeader::StandardRinexObsTypes;
+
+ void RinexObsHeader::reallyPutRecord(FFStream& ffs) const
+ throw(std::exception, FFStreamError, StringException)
+ {
+ RinexObsStream& strm = dynamic_cast<RinexObsStream&>(ffs);
+
+ strm.header = *this;
+
+ unsigned long allValid;
+ if (version == 2.0) allValid = allValid20;
+ else if (version == 2.1) allValid = allValid21;
+ else
+ {
+ FFStreamError err("Unknown RINEX version: " + asString(version,2));
+ err.addText("Make sure to set the version correctly.");
+ GPSTK_THROW(err);
+ }
+
+ if ((valid & allValid) != allValid)
+ {
+ FFStreamError err("Incomplete or invalid header.");
+ err.addText("Make sure you set all header valid bits for all of the available data.");
+ GPSTK_THROW(err);
+ }
+
+ try
+ {
+ WriteHeaderRecords(strm);
+ }
+ catch(FFStreamError& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(StringException& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+
+ } // end RinexObsHeader::reallyPutRecord
+
+
+ // this function computes the number of valid header records which WriteHeaderRecords will write
+ int RinexObsHeader::NumberHeaderRecordsToBeWritten(void) const throw()
+ {
+ int n=0;
+ if(valid & RinexObsHeader::versionValid) n++;
+ if(valid & RinexObsHeader::runByValid) n++;
+ if(valid & RinexObsHeader::markerNameValid) n++;
+ if(valid & RinexObsHeader::observerValid) n++;
+ if(valid & RinexObsHeader::receiverValid) n++;
+ if(valid & RinexObsHeader::antennaTypeValid) n++;
+ if(valid & RinexObsHeader::antennaPositionValid) n++;
+ if(valid & RinexObsHeader::antennaOffsetValid) n++;
+ if(valid & RinexObsHeader::waveFactValid) {
+ n++;
+ if(extraWaveFactList.size()) n += 1 + (extraWaveFactList.size()-1)/7;
+ }
+ if(valid & RinexObsHeader::obsTypeValid) n += 1 + (obsTypeList.size()-1)/9;
+ if(valid & RinexObsHeader::intervalValid) n++;
+ if(valid & RinexObsHeader::firstTimeValid) n++;
+ if(valid & RinexObsHeader::lastTimeValid) n++;
+ if(valid & RinexObsHeader::markerNumberValid) n++;
+ if(valid & RinexObsHeader::receiverOffsetValid) n++;
+ if(valid & RinexObsHeader::leapSecondsValid) n++;
+ if(valid & RinexObsHeader::commentValid) n += commentList.size();
+ if(valid & RinexObsHeader::numSatsValid) n++;
+ if(valid & RinexObsHeader::prnObsValid)
+ n += numObsForPrn.size() * (1+numObsForPrn.begin()->second.size()/9);
+ if(valid & RinexObsHeader::endValid) n++;
+ return n;
+ }
+
+ // this function writes all valid header records
+ void RinexObsHeader::WriteHeaderRecords(FFStream& ffs) const
+ throw(FFStreamError, StringException)
+ {
+ RinexObsStream& strm = dynamic_cast<RinexObsStream&>(ffs);
+ string line;
+ if (valid & versionValid)
+ {
+ line = rightJustify(asString(version,2), 9);
+ line += string(11, ' ');
+ if ((fileType[0] != 'O') && (fileType[0] != 'o'))
+ {
+ FFStreamError err("This isn't a Rinex Observation file: " +
+ fileType.substr(0,1));
+ GPSTK_THROW(err);
+ }
+ line += leftJustify(string("Observation"), 20);
+ std::string str;
+ if (system == systemGPS) str = "G (GPS)";
+ else if(system == systemGlonass) str = "R (GLONASS)";
+ else if(system == systemTransit) str = "T (TRANSIT)";
+ else if(system == systemGeosync) str = "S (GEOSYNC)";
+ else if(system == systemMixed) str = "M (MIXED)";
+ line += leftJustify(str, 20);
+ line += versionString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & runByValid)
+ {
+ line = leftJustify(fileProgram,20);
+ line += leftJustify(fileAgency,20);
+ DayTime dt;
+ dt.setLocalTime();
+ string dat = dt.printf("%02m/%02d/%04Y %02H:%02M:%02S");
+ line += leftJustify(dat, 20);
+ line += runByString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & markerNameValid)
+ {
+ line = leftJustify(markerName, 60);
+ line += markerNameString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & observerValid)
+ {
+ line = leftJustify(observer, 20);
+ line += leftJustify(agency, 40);
+ line += observerString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & receiverValid)
+ {
+ line = leftJustify(recNo, 20);
+ line += leftJustify(recType, 20);
+ line += leftJustify(recVers, 20);
+ line += receiverString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & antennaTypeValid)
+ {
+ line = leftJustify(antNo, 20);
+ line += leftJustify(antType, 20);
+ line += string(20, ' ');
+ line += antennaTypeString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & antennaPositionValid)
+ {
+ line = rightJustify(asString(antennaPosition[0], 4), 14);
+ line += rightJustify(asString(antennaPosition[1], 4), 14);
+ line += rightJustify(asString(antennaPosition[2], 4), 14);
+ line += string(18, ' ');
+ line += antennaPositionString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & antennaOffsetValid)
+ {
+ line = rightJustify(asString(antennaOffset[0], 4), 14);
+ line += rightJustify(asString(antennaOffset[1], 4), 14);
+ line += rightJustify(asString(antennaOffset[2], 4), 14);
+ line += string(18, ' ');
+ line += antennaOffsetString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & waveFactValid)
+ {
+ line = rightJustify(asString<short>(wavelengthFactor[0]),6);
+ line += rightJustify(asString<short>(wavelengthFactor[1]),6);
+ line += string(48, ' ');
+ line += waveFactString;
+ strm << line << endl;
+ strm.lineNumber++;
+
+ // handle continuation lines
+ if (!extraWaveFactList.empty())
+ {
+ vector<ExtraWaveFact>::const_iterator itr = extraWaveFactList.begin();
+
+ while (itr != extraWaveFactList.end())
+ {
+ const int maxPRNsPerLine = 7;
+ short prnsWritten = 0, prnsLeft = (*itr).prnList.size(), prnsThisLine;
+ vector<RinexPrn>::const_iterator vecItr = (*itr).prnList.begin();
+
+ while ((vecItr != (*itr).prnList.end())) {
+ if(prnsWritten == 0) {
+ line = rightJustify(asString<short>((*itr).wavelengthFactor[0]),6);
+ line += rightJustify(asString<short>((*itr).wavelengthFactor[1]),6);
+ prnsThisLine = (prnsLeft > maxPRNsPerLine ? maxPRNsPerLine : prnsLeft);
+ line += rightJustify(asString<short>(prnsThisLine),6);
+ }
+ line += string(3, ' ') + asString<RinexPrn>(*vecItr);
+ prnsWritten++;
+ prnsLeft--;
+ if(prnsWritten==maxPRNsPerLine || prnsLeft==0) { // output a complete line
+ line += string(60 - line.size(), ' ');
+ line += waveFactString;
+ strm << line << endl;
+ strm.lineNumber++;
+ prnsWritten = 0;
+ }
+ vecItr++;
+ }
+ itr++;
+ }
+ }
+ }
+ if (valid & obsTypeValid)
+ {
+ const int maxObsPerLine = 9;
+ int obsWritten = 0;
+ line = ""; // make sure the line contents are reset.
+
+ vector<RinexObsType>::const_iterator itr = obsTypeList.begin();
+
+ while (itr != obsTypeList.end())
+ {
+ // the first line needs to have the # of obs
+ if (obsWritten == 0)
+ line = rightJustify(asString(obsTypeList.size()), 6);
+ // if you hit 9, write out the line and start a new one
+ else if ((obsWritten % maxObsPerLine) == 0)
+ {
+ line += numObsString;
+ strm << line << endl;
+ strm.lineNumber++;
+ line = string(6, ' ');
+ }
+ line += rightJustify(convertObsType(*itr), 6);
+ obsWritten++;
+ itr++;
+ }
+ line += string(60 - line.size(), ' ');
+ line += numObsString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & intervalValid)
+ {
+ line = rightJustify(asString(interval, 3), 10);
+ line += string(50, ' ');
+ line += intervalString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & firstTimeValid)
+ {
+ line = writeTime(firstObs);
+ line += string(48-line.size(),' ');
+ if(firstSystem == systemGPS) line += "GPS";
+ if(firstSystem == systemGlonass) line += "GLO";
+ line += string(60 - line.size(), ' ');
+ line += firstTimeString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & lastTimeValid)
+ {
+ line = writeTime(lastObs);
+ line += string(48-line.size(),' ');
+ if(lastSystem == systemGPS) line += "GPS";
+ if(lastSystem == systemGlonass) line += "GLO";
+ line += string(60 - line.size(), ' ');
+ line += lastTimeString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & markerNumberValid)
+ {
+ line = leftJustify(markerNumber, 20);
+ line += string(40, ' ');
+ line += markerNumberString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & receiverOffsetValid)
+ {
+ line = rightJustify(asString(receiverOffset),6);
+ line += string(54, ' ');
+ line += receiverOffsetString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & leapSecondsValid)
+ {
+ line = rightJustify(asString(leapSeconds),6);
+ line += string(54, ' ');
+ line += leapSecondsString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & commentValid)
+ {
+ vector<string>::const_iterator itr = commentList.begin();
+ while (itr != commentList.end())
+ {
+ line = leftJustify((*itr), 60);
+ line += commentString;
+ strm << line << endl;
+ strm.lineNumber++;
+ itr++;
+ }
+ }
+ if (valid & numSatsValid)
+ {
+ line = rightJustify(asString(numSVs), 6);
+ line += string(54, ' ');
+ line += numSatsString;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ if (valid & prnObsValid)
+ {
+ const int maxObsPerLine = 9;
+ map<RinexPrn, vector<int> >::const_iterator itr = numObsForPrn.begin();
+ while (itr != numObsForPrn.end())
+ {
+ int numObsWritten = 0;
+
+ vector<int>::const_iterator vecItr = (*itr).second.begin();
+ while (vecItr != (*itr).second.end())
+ {
+ if (numObsWritten == 0)
+ {
+ line = string(3, ' ') + asString((*itr).first);
+ }
+ else if ((numObsWritten % maxObsPerLine) == 0)
+ {
+ line += prnObsString;
+ strm << line << endl;
+ strm.lineNumber++;
+ line = string(6, ' ');
+ }
+ line += rightJustify(asString(*vecItr), 6);
+ ++vecItr;
+ ++numObsWritten;
+ }
+ line += string(60 - line.size(), ' ');
+ line += prnObsString;
+ strm << line << endl;
+ strm.lineNumber++;
+ itr++;
+ }
+ }
+ if (valid & endValid)
+ {
+ line = string(60, ' ');
+ line += endOfHeader;
+ strm << line << endl;
+ strm.lineNumber++;
+ }
+ } // end RinexObsHeader::WriteHeaderRecords()
+
+
+ // this function parses a single header record
+ void RinexObsHeader::ParseHeaderRecord(string& line)
+ throw(FFStreamError)
+ {
+ string label(line, 60, 20);
+
+ if (label == versionString)
+ {
+ version = asDouble(line.substr(0,20));
+ fileType = strip(line.substr(20, 20));
+ if ( (fileType[0] != 'O') &&
+ (fileType[0] != 'o'))
+ {
+ FFStreamError e("This isn't a Rinex Obs file");
+ GPSTK_THROW(e);
+ }
+ string system_str = strip(line.substr(40, 20));
+ char c=system_str[0];
+ if (system_str.empty() || c=='G' || c=='g' || c==' ') system = systemGPS;
+ else if(c=='R' || c=='r') system = systemGlonass;
+ else if(c=='T' || c=='t') system = systemTransit;
+ else if(c=='S' || c=='s') system = systemGeosync;
+ else if(c=='M' || c=='m') system = systemMixed;
+ else
+ {
+ FFStreamError e("Input satellite system is unsupported: " + system_str);
+ GPSTK_THROW(e);
+ }
+ valid |= versionValid;
+ }
+ else if (label == runByString )
+ {
+ fileProgram = strip(line.substr(0, 20));
+ fileAgency = strip(line.substr(20, 20));
+ date = strip(line.substr(40, 20));
+ valid |= runByValid;
+ }
+ else if (label == commentString)
+ {
+ string s = strip(line.substr(0, 60));
+ commentList.push_back(s);
+ valid |= commentValid;
+ }
+ else if (label == markerNameString)
+ {
+ markerName = strip(line.substr(0,60));
+ valid |= markerNameValid;
+ }
+ else if (label == markerNumberString)
+ {
+ markerNumber = strip(line.substr(0,20));
+ valid |= markerNumberValid;
+ }
+ else if (label == observerString)
+ {
+ observer = strip(line.substr(0,20));
+ agency = strip(line.substr(20,40));
+ valid |= observerValid;
+ }
+ else if (label == receiverString)
+ {
+ recNo = strip(line.substr(0, 20));
+ recType = strip(line.substr(20,20));
+ recVers = strip(line.substr(40,20));
+ valid |= receiverValid;
+ }
+ else if (label ==antennaTypeString)
+ {
+ antNo = strip(line.substr(0, 20));
+ antType = strip(line.substr(20, 20));
+ valid |= antennaTypeValid;
+ }
+ else if (label == antennaPositionString)
+ {
+ antennaPosition[0] = asDouble(line.substr(0, 14));
+ antennaPosition[1] = asDouble(line.substr(14, 14));
+ antennaPosition[2] = asDouble(line.substr(28, 14));
+ valid |= antennaPositionValid;
+ }
+ else if (label == antennaOffsetString)
+ {
+ antennaOffset[0] = asDouble(line.substr(0, 14));
+ antennaOffset[1] = asDouble(line.substr(14, 14));
+ antennaOffset[2] = asDouble(line.substr(28, 14));
+ valid |= antennaOffsetValid;
+ }
+ else if (label == waveFactString)
+ {
+ // first time reading this
+ if (! (valid & waveFactValid))
+ {
+ wavelengthFactor[0] = asInt(line.substr(0,6));
+ wavelengthFactor[1] = asInt(line.substr(6,6));
+ valid |= waveFactValid;
+ }
+ // additional wave fact lines
+ else
+ {
+ const int maxPRNsPerLine = 7;
+ int Nprns;
+ ExtraWaveFact ewf;
+ ewf.wavelengthFactor[0] = asInt(line.substr(0,6));
+ ewf.wavelengthFactor[1] = asInt(line.substr(6,6));
+ Nprns = asInt(line.substr(12,6));
+
+ if (Nprns > maxPRNsPerLine) // > not >=
+ {
+ FFStreamError e("Invalid number of PRNs for " + waveFactString);
+ GPSTK_THROW(e);
+ }
+
+ for (int i = 0; i < Nprns; i++)
+ {
+ ewf.prnList.push_back(asData<RinexPrn>(line.substr(21+i*6,3)));
+ }
+
+ extraWaveFactList.push_back(ewf);
+ }
+ }
+ else if (label == numObsString)
+ {
+ const int maxObsPerLine = 9;
+ // process the first line
+ if (! (valid & obsTypeValid))
+ {
+ numObs = asInt(line.substr(0,6));
+
+ for (int i = 0; (i < numObs) && (i < maxObsPerLine); i++)
+ {
+ int position = i * 6 + 6 + 4;
+ RinexObsType rt = convertObsType(line.substr(position,2));
+ obsTypeList.push_back(rt);
+ }
+ valid |= obsTypeValid;
+ }
+ // process continuation lines
+ else
+ {
+ for (int i = obsTypeList.size();
+ (i < numObs) && ( (i % maxObsPerLine) < maxObsPerLine); i++)
+ {
+ int position = (i % maxObsPerLine) * 6 + 6 + 4;
+ RinexObsType rt = convertObsType(line.substr(position,2));
+ obsTypeList.push_back(rt);
+ }
+ }
+ }
+ else if (label == intervalString)
+ {
+ interval = asDouble(line.substr(0, 10));
+ valid |= intervalValid;
+ }
+ else if (label == firstTimeString)
+ {
+ firstObs = parseTime(line);
+ firstSystem = systemGPS;
+ if(line.substr(48,3)=="GLO") firstSystem=systemGlonass;
+ valid |= firstTimeValid;
+ }
+ else if (label == lastTimeString)
+ {
+ lastObs = parseTime(line);
+ lastSystem = systemGPS;
+ if(line.substr(48,3)=="GLO") lastSystem=systemGlonass;
+ valid |= lastTimeValid;
+ }
+ else if (label == receiverOffsetString)
+ {
+ receiverOffset = asInt(line.substr(0,6));
+ valid |= receiverOffsetValid;
+ }
+ else if (label == leapSecondsString)
+ {
+ leapSeconds = asInt(line.substr(0,6));
+ valid |= leapSecondsValid;
+ }
+ else if (label == numSatsString)
+ {
+ numSVs = asInt(line.substr(0,6)) ;
+ valid |= numSatsValid;
+ }
+ else if (label == prnObsString)
+ {
+ const int maxObsPerLine = 9;
+ // continuation lines... you have to know what PRN
+ // this is continuing for, hence lastPRN
+ if ((lastPRN.prn != -1) &&
+ (numObsForPrn[lastPRN].size() != obsTypeList.size()))
+ {
+ for(int i = numObsForPrn[lastPRN].size();
+ (i < obsTypeList.size()) &&
+ ( (i % maxObsPerLine) < maxObsPerLine); i++)
+ {
+ numObsForPrn[lastPRN].push_back(asInt(line.substr((i%maxObsPerLine)*6+6,6)));
+ }
+ }
+ else
+ {
+ lastPRN = asData<RinexPrn>(line.substr(3,3));
+ vector<int> numObsList;
+ for(int i = 0;
+ (i < obsTypeList.size()) && (i < maxObsPerLine); i++)
+ {
+ numObsList.push_back(asInt(line.substr(i*6+6,6)));
+ }
+
+ numObsForPrn[lastPRN] = numObsList;
+ }
+ valid |= prnObsValid;
+ }
+ else if (label == endOfHeader)
+ {
+ valid |= endValid;
+ }
+ else
+ {
+ FFStreamError e("Unidentified label: " + label);
+ GPSTK_THROW(e);
+ }
+ } // end of RinexObsHeader::ParseHeaderRecord(string& line)
+
+
+ // This function parses the entire header from the given stream
+ void RinexObsHeader::reallyGetRecord(FFStream& ffs)
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException)
+ {
+ RinexObsStream& strm = dynamic_cast<RinexObsStream&>(ffs);
+
+ // if already read, just return
+ if (strm.headerRead == true)
+ return;
+
+ // since we're reading a new header, we need to reinitialize
+ // all our list structures. all the other objects should be ok.
+ // this also applies if we threw an exception the first time we read
+ // the header and are now re-reading it. some of these could be full
+ // and we need to empty them.
+ commentList.clear();
+ wavelengthFactor[0] = wavelengthFactor[1] = 1;
+ extraWaveFactList.clear();
+ obsTypeList.clear();
+ numObsForPrn.clear();
+ valid = 0;
+ numObs = 0;
+ lastPRN.prn = -1;
+
+ string line;
+
+ while (!(valid & endValid))
+ {
+ strm.formattedGetLine(line);
+ StringUtils::stripTrailing(line);
+
+ if (line.length()==0)
+ continue;
+ else if (line.length()<60 || line.length()>80)
+ {
+ FFStreamError e("Invalid line length");
+ GPSTK_THROW(e);
+ }
+
+ try
+ {
+ ParseHeaderRecord(line);
+ }
+ catch(FFStreamError& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+
+ } // end while(not end of header)
+
+ unsigned long allValid;
+ if (version == 2.0) allValid = allValid20;
+ else if (version == 2.1) allValid = allValid21;
+ else
+ {
+ FFStreamError e("Unknown or unsupported RINEX version " +
+ asString(version));
+ GPSTK_THROW(e);
+ }
+
+ if ( (allValid & valid) != allValid)
+ {
+ FFStreamError e("Incomplete or invalid header");
+ GPSTK_THROW(e);
+ }
+
+ // If we get here, we should have reached the end of header line
+ strm.header = *this;
+ strm.headerRead = true;
+
+ } // end of reallyGetRecord()
+
+
+
+ RinexObsHeader::RinexObsType
+ RinexObsHeader::convertObsType(const string& oneObs)
+ throw(FFStreamError)
+ {
+ RinexObsType ot(RegisteredRinexObsTypes[0]); // Unknown type
+ for(int i=0; i<RegisteredRinexObsTypes.size(); i++) {
+ if(RegisteredRinexObsTypes[i].type == oneObs) {
+ ot = RegisteredRinexObsTypes[i];
+ break;
+ }
+ //FFStreamError e("Bad obs type: " + oneObs);
+ //GPSTK_THROW(e);
+ }
+ return ot;
+ }
+ string
+ RinexObsHeader::convertObsType(const RinexObsHeader::RinexObsType& oneObs)
+ throw(FFStreamError)
+ {
+ return oneObs.type;
+ }
+
+
+ DayTime RinexObsHeader::parseTime(const string& line) const
+ {
+ int year, month, day, hour, min;
+ double sec;
+
+ year = asInt( line.substr(0, 6 ));
+ month = asInt( line.substr(6, 6 ));
+ day = asInt( line.substr(12, 6 ));
+ hour = asInt( line.substr(18, 6 ));
+ min = asInt( line.substr(24, 6 ));
+ sec = asDouble(line.substr(30, 13));
+ return DayTime(year, month, day, hour, min, sec);
+ }
+
+ string RinexObsHeader::writeTime(const DayTime& dt) const
+ {
+ string line;
+ line = rightJustify(asString<short>(dt.year()), 6);
+ line += rightJustify(asString<short>(dt.month()), 6);
+ line += rightJustify(asString<short>(dt.day()), 6);
+ line += rightJustify(asString<short>(dt.hour()), 6);
+ line += rightJustify(asString<short>(dt.minute()), 6);
+ line += rightJustify(asString(dt.second(), 7), 13);
+ return line;
+ }
+
+ void RinexObsHeader::dump(ostream& s) const
+ {
+ int i,j;
+ s << "---------------------------------- REQUIRED ----------------------------------\n";
+ string str;
+ if (system == systemGPS) str = "G (GPS)";
+ else if(system == systemGlonass) str = "R (GLONASS)";
+ else if(system == systemTransit) str = "T (TRANSIT)";
+ else if(system == systemGeosync) str = "S (GEOSYNC)";
+ else if(system == systemMixed) str = "M (MIXED)";
+ s << "Rinex Version " << fixed << setw(5) << setprecision(2) << version
+ << ", File type " << fileType << ", System " << str << ".\n";
+ s << "Prgm: " << fileProgram << ", Run: " << date << ", By: " << fileAgency << endl;
+ s << "Marker name: " << markerName << ".\n";
+ s << "Obs'r : " << observer << ", Agency: " << agency << endl;
+ s << "Rec#: " << recNo << ", Type: " << recType << ", Vers: " << recVers << endl;
+ s << "Antenna # : " << antNo << ", Type : " << antType << endl;
+ s << "Position (XYZ,m) : " << setprecision(4) << antennaPosition << ".\n";
+ s << "Antenna offset (ENU,m) : " << setprecision(4) << antennaOffset << ".\n";
+ s << "Wavelength factors (default) L1:" << wavelengthFactor[0]
+ << ", L2: " << wavelengthFactor[1] << ".\n";
+ for(i=0; i<extraWaveFactList.size(); i++) {
+ s << "Wavelength factors (extra) L1:"
+ << extraWaveFactList[i].wavelengthFactor[0]
+ << ", L2: " << extraWaveFactList[i].wavelengthFactor[1]
+ << ", for PRNs";
+ for(j=0; j<extraWaveFactList[i].prnList.size(); j++)
+ s << " " << extraWaveFactList[i].prnList[j];
+ s << endl;
+ }
+ s << "Observation types (" << obsTypeList.size() << ") :\n";
+ for(i=0; i<obsTypeList.size(); i++)
+ s << " Type #" << i << " = "
+ << gpstk::RinexObsHeader::convertObsType(obsTypeList[i])
+ << " " << obsTypeList[i].description
+ << " (" << obsTypeList[i].units << ")." << endl;
+ s << "Time of first obs " << firstObs.printf("%04Y/%02m/%02d %02H:%02M:%010.7f")
+ << " " << (firstSystem==systemGlonass?"GLO":"GPS") << endl;
+ s << "(This header is ";
+ if((valid & allValid21) == allValid21) s << "VALID 2.1";
+ else if((valid & allValid20) == allValid20) s << "VALID 2.0";
+ else s << "NOT VALID";
+ s << " Rinex.)\n";
+
+ if(!(valid & versionValid)) s << " Version is NOT valid\n";
+ if(!(valid & runByValid)) s << " Run by is NOT valid\n";
+ if(!(valid & markerNameValid)) s << " Marker Name is NOT valid\n";
+ if(!(valid & observerValid)) s << " Observer is NOT valid\n";
+ if(!(valid & receiverValid)) s << " Receiver is NOT valid\n";
+ if(!(valid & antennaTypeValid)) s << " Antenna Type is NOT valid\n";
+ if(!(valid & antennaPositionValid)) s << " Ant Position is NOT valid\n";
+ if(!(valid & antennaOffsetValid)) s << " Antenna Offset is NOT valid\n";
+ if(!(valid & waveFactValid)) s << " Wavelength factor is NOT valid\n";
+ if(!(valid & obsTypeValid)) s << " Obs Type is NOT valid\n";
+ if(!(valid & firstTimeValid)) s << " First time is NOT valid\n";
+ if(!(valid & endValid)) s << " End is NOT valid\n";
+
+ s << "---------------------------------- OPTIONAL ----------------------------------\n";
+ if(valid & markerNumberValid) s << "Marker number : " << markerNumber << endl;
+ if(valid & intervalValid) s << "Interval = "
+ << fixed << setw(7) << setprecision(3) << interval << endl;
+ if(valid & lastTimeValid) s << "Time of last obs "
+ << lastObs.printf("%04Y/%02m/%02d %02H:%02M:%010.7f")
+ << " " << (lastSystem==systemGlonass?"GLO":"GPS") << endl;
+ if(valid & leapSecondsValid) s << "Leap seconds: " << leapSeconds << endl;
+ if(valid & receiverOffsetValid) s << "Clock offset record is present and offsets "
+ << (receiverOffset?"ARE":"are NOT") << " applied." << endl;
+ if(valid & numSatsValid) s << "Number of Satellites with data : " << numSVs << endl;
+ if(valid & prnObsValid) {
+ s << "PRN ";
+ for(i=0; i<obsTypeList.size(); i++)
+ s << setw(7) << convertObsType(obsTypeList[i]);
+ s << endl;
+ map<RinexPrn, vector<int> >::const_iterator prn_itr = numObsForPrn.begin();
+ while (prn_itr != numObsForPrn.end()) {
+ vector<int> obsvec=(*prn_itr).second;
+ s << " " << (*prn_itr).first << " ";
+ for(i=0; i<obsvec.size(); i++) s << " " << setw(6) << obsvec[i];
+ s << endl;
+ prn_itr++;
+ }
+ }
+ if(commentList.size() && !(valid & commentValid)) s << " Comment is NOT valid\n";
+ s << "Comments (" << commentList.size() << ") :\n";
+ for(i=0; i<commentList.size(); i++)
+ s << commentList[i] << endl;
+ s << "-------------------------------- END OF HEADER -------------------------------\n";
+ }
+
+ // return 1 if type already defined,
+ // 0 if successful
+ // -1 if not successful - invalid input
+ int RegisterExtendedRinexObsType(std::string t, std::string d, std::string u, unsigned int dep)
+ {
+ if(t.empty()) return -1;
+ // throw if t="UN" ?
+ // check that it is not duplicated
+ for(int i=0; i<RinexObsHeader::RegisteredRinexObsTypes.size(); i++) {
+ if(RinexObsHeader::RegisteredRinexObsTypes[i].type == t) { return 1; }
+ }
+ RinexObsHeader::RinexObsType ot;
+ if(t.size()>2) t.resize(2,' '); ot.type = gpstk::StringUtils::stripTrailing(t);
+ if(d.size()>20) d.resize(20,' '); ot.description = gpstk::StringUtils::stripTrailing(d);
+ if(u.size()>10) u.resize(10,' '); ot.units = gpstk::StringUtils::stripTrailing(u);
+ ot.depend = dep;
+ RinexObsHeader::RegisteredRinexObsTypes.push_back(ot);
+ return 0;
+ }
+
+ // Pretty print a list of registered extended Rinex observation types
+ void DisplayExtendedRinexObsTypes(std::ostream& s)
+ {
+ s << "The list of available extended Rinex obs types:\n";
+ s << " OT Description Units Required input (EP=ephemeris,PS=Rx Position)\n";
+ s << " -- -------------------- --------- ------------------\n";
+ for(int i=RinexObsHeader::StandardRinexObsTypes.size();
+ i<RinexObsHeader::RegisteredRinexObsTypes.size(); i++) {
+ string line;
+ line = string(" ")+RinexObsHeader::RegisteredRinexObsTypes[i].type;
+ line += leftJustify(string(" ")+RinexObsHeader::RegisteredRinexObsTypes[i].description,21);
+ line += leftJustify(string(" ")+RinexObsHeader::RegisteredRinexObsTypes[i].units,11);
+ for(int j=1; j<6; j++) {
+ if(j==3) continue;
+ if(RinexObsHeader::RegisteredRinexObsTypes[i].depend &
+ RinexObsHeader::StandardRinexObsTypes[j].depend)
+ line += string(" ")+RinexObsHeader::StandardRinexObsTypes[j].type;
+ else line += string(" ");
+ }
+ if(RinexObsHeader::RegisteredRinexObsTypes[i].depend & RinexObsHeader::RinexObsType::EPdepend)
+ line += string(" EP"); else line += string(" ");
+ if(RinexObsHeader::RegisteredRinexObsTypes[i].depend & RinexObsHeader::RinexObsType::PSdepend)
+ line += string(" PS"); else line += string(" ");
+ s << line << endl;
+ }
+ }
+
+} // namespace
diff --git a/trunk/src/RinexObsHeader.hpp b/trunk/src/RinexObsHeader.hpp
new file mode 100644
index 0000000..e5f163c
--- /dev/null
+++ b/trunk/src/RinexObsHeader.hpp
@@ -0,0 +1,442 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsHeader.hpp#3 $"
+
+/**
+ * @file RinexObsHeader.hpp
+ * Encapsulate header of Rinex observation file, including I/O
+ */
+
+#ifndef GPSTK_RINEXOBSHEADER_HPP
+#define GPSTK_RINEXOBSHEADER_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <vector>
+#include <list>
+#include <map>
+#include <iostream>
+#include <iomanip>
+
+#include "DayTime.hpp"
+#include "FFStream.hpp"
+#include "RinexObsBase.hpp"
+#include "Triple.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup RinexObs */
+ //@{
+
+ /// Supported satellite systems, for use by RinexPrn and file headers
+ enum RinexSystem
+ {
+ systemGPS = 1,
+ systemGlonass,
+ systemTransit,
+ systemGeosync,
+ systemMixed // not for RinexPrn
+ };
+
+ /// RINEX satellite identifier = PRN and system
+ struct RinexPrn
+ {
+ int prn;
+ RinexSystem system;
+ static char fillchar;
+ RinexPrn() { prn=-1; system=systemGPS; }
+ RinexPrn(int p, RinexSystem s) { prn=p; system=s; }
+ void setfill(char c) { fillchar=c; }
+ char getfill() { return fillchar; }
+ // operator=, copy constructor and destructor built by compiler
+ /// return the single-character system descriptor
+ inline char System() const
+ {
+ switch(system) {
+ case systemGPS: return 'G';
+ case systemMixed: return 'M';
+ case systemGlonass: return 'R';
+ case systemTransit: return 'T';
+ case systemGeosync: return 'S';
+ }
+ return 0;
+ };
+ };
+
+ /**
+ * This class models the header for a RINEX Observation File.
+ *
+ * @sa gpstk::RinexObsData and gpstk::RinexObsStream.
+ * @sa rinex_obs_test.cpp and rinex_obs_read_write.cpp for examples.
+ */
+ class RinexObsHeader : public RinexObsBase
+ {
+ public:
+ /// A Simple Constructor.
+ RinexObsHeader() : valid(), version(2.1)
+ {}
+
+ /// Clear (empty out) header
+ inline void clear()
+ {
+ version = 2.1;
+ valid = 0;
+ commentList.clear();
+ wavelengthFactor[0] = wavelengthFactor[1] = 1;
+ extraWaveFactList.clear();
+ obsTypeList.clear();
+ numObsForPrn.clear();
+ numObs = 0;
+ lastPRN.prn = -1;
+ }
+
+ /**
+ * @name RinexObsHeaderFormatStrings
+ * RINEX Observation Header Formatting Strings
+ */
+ //@{
+ static const std::string versionString; ///< "RINEX VERSION / TYPE"
+ static const std::string runByString; ///< "PGM / RUN BY / DATE"
+ static const std::string commentString; ///< "COMMENT"
+ static const std::string markerNameString; ///< "MARKER NAME"
+ static const std::string markerNumberString; ///< "MARKER NUMBER"
+ static const std::string observerString; ///< "OBSERVER / AGENCY"
+ static const std::string receiverString; ///< "REC # / TYPE / VERS"
+ static const std::string antennaTypeString; ///< "ANT # / TYPE"
+ static const std::string antennaPositionString; ///< "APPROX POSITION XYZ"
+ static const std::string antennaOffsetString; ///< "ANTENNA: DELTA H/E/N"
+ static const std::string waveFactString; ///< "WAVELENGTH FACT L1/2"
+ static const std::string numObsString; ///< "# / TYPES OF OBSERV"
+ static const std::string intervalString; ///< "INTERVAL"
+ static const std::string firstTimeString; ///< "TIME OF FIRST OBS"
+ static const std::string lastTimeString; ///< "TIME OF LAST OBS"
+ static const std::string receiverOffsetString; ///< "RCV CLOCK OFFS APPL"
+ static const std::string leapSecondsString; ///< "LEAP SECONDS"
+ static const std::string numSatsString; ///< "# OF SATELLITES"
+ static const std::string prnObsString; ///< "PRN / # OF OBS"
+ static const std::string endOfHeader; ///< "END OF HEADER"
+ //@}
+
+ /// Validity bits for the RINEX Observation Header
+ enum validBits
+ {
+ versionValid = 0x01, ///< "RINEX VERSION / TYPE"
+ runByValid = 0x02, ///< "PGM / RUN BY / DATE"
+ commentValid = 0x04, ///< "COMMENT"
+ markerNameValid = 0x08, ///< "MARKER NAME"
+ markerNumberValid = 0x010, ///< "MARKER NUMBER"
+ observerValid = 0x020, ///< "OBSERVER / AGENCY"
+ receiverValid = 0x040, ///< "REC # / TYPE / VERS"
+ antennaTypeValid = 0x080, ///< "ANT # / TYPE"
+ antennaPositionValid = 0x0100, ///< "APPROX POSITION XYZ"
+ antennaOffsetValid = 0x0200, ///< "ANTENNA: DELTA H/E/N"
+ waveFactValid = 0x0400, ///< "WAVELENGTH FACT L1/2"
+ obsTypeValid = 0x0800, ///< "# / TYPES OF OBSERV"
+ intervalValid = 0x01000, ///< "INTERVAL"
+ firstTimeValid = 0x02000, ///< "TIME OF FIRST OBS"
+ lastTimeValid = 0x04000, ///< "TIME OF LAST OBS"
+ receiverOffsetValid = 0x08000, ///< "RCV CLOCK OFFS APPL"
+ leapSecondsValid = 0x0100000, ///< "LEAP SECONDS"
+ numSatsValid = 0x0200000, ///< "# OF SATELLITES"
+ prnObsValid = 0x0400000, ///< "PRN / # OF OBS"
+
+ endValid = 0x080000000, ///< "END OF HEADER"
+
+ /// This mask is for all required valid fields for RINEX 2.0
+ allValid20 = 0x080002FEB,
+ /// This mask is for all required valid fields for RINEX 2.1
+ allValid21 = 0x080002FEB
+ };
+
+ /// RINEX Observation Types
+ struct RinexObsType
+ {
+ std::string type; ///< 2- char type e.g. L1, P2
+ std::string description; ///< 20- char description (optional) e.g. "L1 pseudorange"
+ std::string units; ///< 10- char units (optional) e.g. "meters"
+ unsigned int depend;
+ RinexObsType() : type(std::string("UN")),description(std::string("Unknown or Invalid")),
+ units(std::string("")),depend(0) {}
+ RinexObsType(std::string t, std::string d, std::string u, unsigned int dep=0) :
+ type(t),description(d),units(u),depend(dep) {}
+ static const unsigned int C1depend;
+ static const unsigned int L1depend;
+ static const unsigned int L2depend;
+ static const unsigned int P1depend;
+ static const unsigned int P2depend;
+ static const unsigned int EPdepend;
+ static const unsigned int PSdepend;
+ };
+
+ /** @name Standard RINEX observation types
+ */
+ //@{
+ static const RinexObsType UN;
+ static const RinexObsType L1;
+ static const RinexObsType L2;
+ static const RinexObsType C1;
+ static const RinexObsType C2;
+ static const RinexObsType P1;
+ static const RinexObsType P2;
+ static const RinexObsType D1;
+ static const RinexObsType D2;
+ static const RinexObsType S1;
+ static const RinexObsType S2;
+ static const RinexObsType T1;
+ static const RinexObsType T2;
+ //@}
+
+ static const std::vector<RinexObsType> StandardRinexObsTypes;
+ static std::vector<RinexObsType> RegisteredRinexObsTypes;
+
+ /// Holds the data for the extra Wavelength Factor lines
+ struct ExtraWaveFact
+ {
+ /// List of PRNs with this wavelength factor.
+ std::vector<RinexPrn> prnList;
+ /// The vector of wavelength factor values.
+ short wavelengthFactor[2];
+ };
+
+ /** @name RinexObsHeaderValues
+ */
+ //@{
+ double version; ///< RINEX VERSION & TYPE
+ std::string fileType; ///< RINEX FILETYPE (Observation Navigation etc)
+ //std::string system_str; ///< The string (for file i/o) giving the RINEX system
+ RinexSystem system; ///< The RINEX satellite system
+ std::string fileProgram, ///< The program used to generate this file
+ fileAgency, ///< Who ran the program.
+ date; ///< When the program was run.
+ std::vector<std::string> commentList; ///< Comments in header (optional)
+ std::string markerName, ///< MARKER NAME
+ markerNumber; ///< MARKER NUMBER (optional)
+ std::string observer, ///< OBSERVER : who collected the data
+ agency; ///< OBSERVER'S AGENCY
+ std::string recNo, ///< RECEIVER NUMBER
+ recType, ///< RECEIVER TYPE
+ recVers; ///< RECEIVER VERSION
+ std::string antNo, ///< ANTENNA NUMBER
+ antType; ///< ANTENNA TYPE
+ gpstk::Triple antennaPosition; ///< APPROXIMATE POSITION XYZ
+ gpstk::Triple antennaOffset; ///< ANTENNA: DELTA H/E/N
+ short wavelengthFactor[2]; ///< default WAVELENGTH FACTORS
+ std::vector<ExtraWaveFact> extraWaveFactList; ///< extra (per PRN) PPWAVELENGTH FACTORS
+ std::vector<RinexObsType> obsTypeList; ///< NUMBER & TYPES OF OBSERV
+ double interval; ///< INTERVAL (optional)
+ gpstk::DayTime firstObs ; ///< TIME OF FIRST OBS
+ RinexSystem firstSystem; ///< RINEX satellite system of FIRST OBS timetag
+ gpstk::DayTime lastObs ; ///< TIME OF LAST OBS (optional)
+ RinexSystem lastSystem; ///< RINEX satellite system of LAST OBS timetag
+ int receiverOffset; ///< RCV CLOCK OFFS APPL (optional)
+ int leapSeconds; ///< LEAP SECONDS (optional)
+ short numSVs; ///< NUMBER OF SATELLITES in following map (optional)
+ std::map<RinexPrn, std::vector<int> > numObsForPrn; ///< PRN / # OF OBS (optional)
+ unsigned long valid; ///< Bits set when individual header members are present and valid
+ int numObs; ///< used to save the number of obs on # / TYPES continuation lines.
+ RinexPrn lastPRN; ///< used to save the current PRN while reading PRN/OBS continuation lines.
+ //@}
+
+ /// Destructor
+ virtual ~RinexObsHeader() {}
+
+ // The next four lines is our common interface
+ /// RinexObsHeader is a "header" so this function always returns true.
+ virtual bool isHeader() const {return true;}
+
+ /**
+ * This is a simple Debug output function.
+ * It simply outputs the version, name and antenna number of this
+ * RINEX header.
+ */
+ virtual void dump(std::ostream& s) const;
+
+ /**
+ * This function converts the string in \a oneObs to a RinexObsType.
+ */
+ static RinexObsType convertObsType(const std::string& oneObs)
+ throw(FFStreamError);
+
+ /**
+ * This function converts the RinexObsType in \a oneObs to a string.
+ */
+ static std::string convertObsType(const RinexObsType& oneObs)
+ throw(FFStreamError);
+
+ /**
+ * Parse a single header record, and modify valid accordingly.
+ * Used by reallyGetRecord for both RinexObsHeader and RinexObsData.
+ */
+ void ParseHeaderRecord(std::string& line)
+ throw(FFStreamError);
+
+ /// Compute the number of valid header records which WriteHeaderRecords() will write
+ int NumberHeaderRecordsToBeWritten(void) const throw();
+
+ /**
+ * Write all valid header records to the given stream.
+ * Used by reallyPutRecord for both RinexObsHeader and RinexObsData.
+ */
+ void WriteHeaderRecords(FFStream& s) const
+ throw(FFStreamError, gpstk::StringUtils::StringException);
+
+ /// Return boolean : is this a valid Rinex header?
+ bool isValid() const { return ((valid & allValid20) == allValid20); }
+
+ protected:
+ /**
+ * outputs this record to the stream correctly formatted.
+ */
+ virtual void reallyPutRecord(FFStream& s) const
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ /**
+ * This function retrieves the RINEX Header from the given FFStream.
+ * If an stream error is encountered, the stream is reset to its
+ * original position and its fail-bit is set.
+ * @throws StringException when a StringUtils function fails
+ * @throws FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ private:
+ /// Converts the daytime \a dt into a Rinex Obs time
+ /// string for the header
+ std::string writeTime(const DayTime& dt) const;
+
+ /**
+ * This function sets the time for this header.
+ * It looks at \a line to obtain the needed information.
+ */
+ DayTime parseTime(const std::string& line) const;
+
+ }; // end class RinexObsHeader
+
+ /// operator == for RinexObsHeader::RinexObsType
+ inline bool operator==(const RinexObsHeader::RinexObsType& x,
+ const RinexObsHeader::RinexObsType& y) { return (x.type == y.type); }
+
+ /// operator < for RinexObsHeader::RinexObsType
+ inline bool operator<(const RinexObsHeader::RinexObsType& x,
+ const RinexObsHeader::RinexObsType& y) { return (x.type < y.type); }
+
+ /// operator << for RinexObsHeader::RinexObsType
+ inline std::ostream& operator<<(std::ostream& s, const RinexObsHeader::RinexObsType rot)
+ {
+ return s << "Type=" << rot.type
+ << ", Description=" << rot.description
+ << ", Units=" << rot.units;
+ }
+
+ /// Function to allow user to define a new RINEX observation type
+ int RegisterExtendedRinexObsType(std::string t,std::string d=std::string("(undefined)"),
+ std::string u=std::string("undefined"),unsigned int dep=0);
+
+ /// operator == for RinexPrn
+ inline bool operator==(const RinexPrn& x, const RinexPrn& y)
+ { return ((x.system == y.system) && (x.prn == y.prn)); }
+
+ /// operator != for RinexPrn
+ inline bool operator!=(const RinexPrn& x, const RinexPrn& y)
+ { return ((x.system != y.system) || (x.prn != y.prn)); }
+
+ /// operator < for RinexPrn
+ inline bool operator<(const RinexPrn& x, const RinexPrn& y)
+ { if(x.system==y.system) return (x.prn<y.prn); return (x.system<y.system); }
+
+ // the following allow you to use, respectively,
+ // std::string gpstk::StringUtils::asString<RinexPrn>(const RinexPrn p)
+ // RinexPrn gpstk::StringUtils::asData<RinexPrn>(const std::string& s)
+
+ /// operator << for RinexPrn
+ inline std::ostream& operator<<(std::ostream& s, const RinexPrn& p)
+ {
+ switch(p.system) {
+ case systemGPS: s << "G"; break;
+ case systemMixed: s << "G"; break; // this is an error ... assume GPS
+ case systemGlonass: s << "R"; break;
+ case systemTransit: s << "T"; break;
+ case systemGeosync: s << "S"; break;
+ }
+ s << std::setw(2) << std::setfill(p.fillchar) << p.prn << std::setfill(' ');
+ return s;
+ }
+
+ /// operator >> for RinexPrn
+ inline std::istream& operator>>(std::istream& s, RinexPrn& p)
+ {
+ char c;
+ s.unsetf(std::ios_base::skipws);
+ s >> c;
+ switch(c) {
+ case '0': case '1': case '2': case '3':
+ case '4': case '5': case '6':
+ case '7': case '8': case '9':
+ s.putback(c);
+ p.system = systemGPS;
+ break;
+ case 'R': case 'r':
+ p.system = systemGlonass; break;
+ case 'T': case 't':
+ p.system = systemTransit; break;
+ case 'S': case 's':
+ p.system = systemGeosync; break;
+ case 'G': case 'g': case ' ':
+ default: // error
+ p.system = systemGPS; break;
+ }
+ s.setf(std::ios_base::skipws);
+ s >> p.prn;
+ return s;
+ }
+
+ /// Pretty print a list of registered extended Rinex observation types
+ void DisplayExtendedRinexObsTypes(std::ostream& s);
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/RinexObsStream.hpp b/trunk/src/RinexObsStream.hpp
new file mode 100644
index 0000000..1cfa9ca
--- /dev/null
+++ b/trunk/src/RinexObsStream.hpp
@@ -0,0 +1,108 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsStream.hpp#1 $"
+
+/**
+ * @file RinexObsStream.hpp
+ * File stream for Rinex observation file data
+ */
+
+#ifndef GPSTK_RINEXOBSSTREAM_HPP
+#define GPSTK_RINEXOBSSTREAM_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <vector>
+#include <list>
+#include <map>
+
+#include "FFTextStream.hpp"
+#include "RinexObsHeader.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup RinexObs */
+ //@{
+
+ /**
+ * This class to reads a RINEX files.
+ *
+ * @sa gpstk::RinexObsData and gpstk::RinexObsHeader.
+ * @sa rinex_obs_test.cpp and rinex_obs_read_write.cpp for examples.
+ */
+ class RinexObsStream : public FFTextStream
+ {
+ public:
+ /// Default constructor
+ RinexObsStream()
+ : headerRead(false)
+ {}
+
+ /**
+ * The Constructor.
+ * @param fn the RINEX file to open
+ * @param mode how to open \a fn.
+ */
+ RinexObsStream(const char* fn, std::ios::openmode mode=std::ios::in)
+ : FFTextStream(fn, mode), headerRead(false) {}
+
+ /// Destructor
+ virtual ~RinexObsStream() {}
+
+ /// overrides open to reset the header
+ virtual void open(const char* fn, std::ios::openmode mode)
+ {
+ FFTextStream::open(fn, mode);
+ headerRead = false;
+ header = RinexObsHeader();
+ }
+
+ /// Whether or not the RinexObsHeader has been read
+ bool headerRead;
+ /// The header for this file.
+ RinexObsHeader header;
+ };
+
+ //@}
+
+} // namespace
+
+#endif
+
diff --git a/trunk/src/RungeKutta4.cpp b/trunk/src/RungeKutta4.cpp
new file mode 100644
index 0000000..7cc85af
--- /dev/null
+++ b/trunk/src/RungeKutta4.cpp
@@ -0,0 +1,118 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RungeKutta4.cpp#4 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "RungeKutta4.hpp"
+
+/*
+ * @file RungeKutta4.hpp
+ * Implementation of a Runge Kutta integrator.
+ */
+
+void gpstk::RungeKutta4::integrateTo (double nextTime,
+ double stepSize)
+{
+ if (stepSize == 0)
+ stepSize = nextTime - currentTime;
+
+ bool done = false;
+
+ while (!done)
+ {
+ // Time steps
+ double ctPlusDeltaT = currentTime + stepSize;
+ double ctPlusHalfDeltaT = currentTime + (stepSize * .5);
+
+ // k1
+ k1 = stepSize * derivative(currentTime, currentState, k1);
+ tempy = currentState + (.5 * k1);
+
+ // k2
+ k2 = stepSize * derivative(ctPlusHalfDeltaT, tempy, k2);
+ tempy = currentState + (.5 * k2);
+
+ // k3
+ k3 = stepSize * derivative(ctPlusHalfDeltaT, tempy, k3);
+
+ // k4
+ k4 = stepSize * derivative(ctPlusDeltaT, tempy, k4);
+ currentState += (k1 + 2. * (k2 + k3) + k4) / 6. ;
+
+ // If we are within teps of the goal time, we are done.
+ if (fabs(currentTime + stepSize - nextTime) < teps)
+ done = true;
+
+ // If we are about to overstep, change the stepsize appropriately
+ // to hit our target final time;
+ if ((currentTime + stepSize) > nextTime)
+ stepSize = (nextTime - currentTime);
+
+ currentTime += stepSize;
+ }
+
+ currentTime = nextTime;
+}
+
+void gpstk::RungeKutta4::integrateTo (double nextTime,
+ Matrix<double>& error,
+ double stepSize)
+{
+ double deltaT = nextTime - currentTime;
+
+ // Save the current state and time for the second step.
+ double savedTime = currentTime;
+ gpstk::Matrix<double> savedState = currentState;
+
+ // First, take the integration using two steps.
+ integrateTo(currentTime + (deltaT * 0.5), stepSize);
+ integrateTo(nextTime, stepSize);
+
+ // Save the results.
+ gpstk::Matrix<double> twoStepState = currentState;
+
+ // Restore the original state.
+ currentTime = savedTime;
+ currentState = savedState;
+
+ // Now, take the integration using only one step.
+ integrateTo(nextTime, stepSize);
+ gpstk::Matrix<double> oneStepState = currentState;
+
+ error = oneStepState - twoStepState;
+
+ currentState = twoStepState + (twoStepState - oneStepState) / 15.0;
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/src/RungeKutta4.hpp b/trunk/src/RungeKutta4.hpp
new file mode 100644
index 0000000..352a1cb
--- /dev/null
+++ b/trunk/src/RungeKutta4.hpp
@@ -0,0 +1,142 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RungeKutta4.hpp#5 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+
+/*
+ * @file RungeKutta4.hpp
+ * RungeKutta4 class. Provides several versions of the Runge Kutta integration
+ * The algorithms are based on Ch.16 of "Numerical Recipes in C" but the
+ * implementation is entirely independent, i.e., this isn't the source
+ * distributed with the text.
+ */
+
+#ifndef GPSTK_RUNGEKUTTA4_H
+#define GPSTK_RUNGEKUTTA4_H
+
+#include "Matrix.hpp"
+
+namespace gpstk
+{
+
+ /** @addtogroup math */
+ //@{
+
+ /** The RungeKutta4 class provides a collection of integration routines
+ * that work on a Matrix of doubles. Integrations use a fixed step-size.
+ */
+ class RungeKutta4
+ {
+ public:
+ /** Constructor.
+ * @param initalState a reference to the original Matrix to work on
+ * that is copied to an internal Matrix.
+ * @param initialTime the time at which to begin integrations
+ * @param timeEpsilon how close the final internal timestep must match
+ * the specified final time of an integration
+ */
+ RungeKutta4(const Matrix<double>& initialState,
+ double initialTime=0,
+ double timeEpsilon=1e-18)
+ : currentState(initialState), currentTime(initialTime),
+ teps(timeEpsilon), M(initialState.rows()), N(initialState.cols()),
+ k1(M,N), k2(M,N), k3(M,N), k4(M,N), yn(M,N), tempy(M,N)
+ { }
+
+ /** The classic Runge Kutta 4th Order Integration Algorithm.
+ * This routine integrates using a Runge Kutta 4th order algorithm
+ * with a fixed step from the internal time to \a nextTime.
+ * @param nextTime the time to integrate to
+ * @param stepSize the amount time between internal integration steps
+ */
+ void integrateTo (double nextTime,
+ double stepSize = 0);
+
+ /** The classic Runge Kutta 4th-5th Order Integration Algorithm.
+ * This function integrates by applying a 4th order Runge Kutta
+ * algorithm multiple times. This provides two benefits. First, an
+ * estimate of the truncation error is returned. Second, the multiple
+ * 4th order estimates are combined to produce the 5th order estimate.
+ * @param nextTime the time to integrate to
+ * @param error the Matrix of estimated integration error
+ * (one for each element)
+ * @param stepSize the amount time between internal integration steps
+ */
+ void integrateTo (double nextTime,
+ Matrix<double>& error,
+ double stepSize = 0);
+
+ /** This is the function to be integrated.
+ * @param time the time at which to evaluate the derivative
+ * @param inState the Matrix to evaluate the derivative of at /a time.
+ * @param inStateDot the derivative of /a inState evaluated at /a time.
+ * @return a reference to /a inStateDot
+ */
+ virtual gpstk::Matrix<double>&
+ derivative(long double time,
+ const gpstk::Matrix<double>& inState,
+ gpstk::Matrix<double>& inStateDot) = 0;
+
+ /// Return the currnet time of the system.
+ double getTime(void)
+ { return currentTime; }
+
+ /// Return the current state of the system.
+ const Matrix<double>& getState(void)
+ { return currentState; }
+
+ protected:
+
+ /// Current time of the system
+ double currentTime;
+
+ /// State of the system at the current time
+ gpstk::Matrix<double> currentState;
+
+ double teps; //< Precision for time calculations and comparisons
+ int M; //< Number of rows in the state
+ int N; //< Number of columns in the state
+
+ private:
+
+ /// Disallow copy constructor
+ RungeKutta4(const RungeKutta4& cloneDonor);
+
+ /// Disallow the assignment operator
+ RungeKutta4& operator= (const RungeKutta4& right);
+
+ /** These values are only used in the integrateTo method(s).
+ * Declaring them here keeps them from being constructed every
+ * time the integrateTo method(s) are called.
+ */
+ Matrix<double> k1, k2, k3, k4, yn, tempy;
+
+ }; // end class RungeKutta4
+
+ //@}
+
+} // end namespace gpstk
+
+#endif
+
+
diff --git a/trunk/src/SMODFData.cpp b/trunk/src/SMODFData.cpp
new file mode 100644
index 0000000..a73791c
--- /dev/null
+++ b/trunk/src/SMODFData.cpp
@@ -0,0 +1,369 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SMODFData.cpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file SMODFData.cpp
+ * smoothed measurement data file data
+ */
+
+#include "StringUtils.hpp"
+#include "SMODFData.hpp"
+#include "SMODFStream.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+ /**
+ * @name SMODF-Specific Definitions
+ * \note These should probably be moved into the SMODFData class.
+ */
+ //@{
+ const int SMO_LEN_ICD211 = 85; ///< Length of an ICD-GPS-211 SMODF record
+ const int SMO_LEN_LEGACY = 80; ///< Length of a Legacy SMODF record
+ const int BEGINGPS2DYEAR = 80; ///< Beginning of the GPS Two Digit Year
+ //@}
+
+ void SMODFData::reallyPutRecord(gpstk::FFStream& ffs) const
+ throw(std::exception, gpstk::FFStreamError,
+ gpstk::StringUtils::StringException)
+ {
+ SMODFStream& strm = dynamic_cast<SMODFStream&>(ffs);
+
+ // here's a hack - if you dont know what to write, assume ICD211
+ if (strm.format == SMODFStream::undefined)
+ strm.format = SMODFStream::icd211;
+
+ string line;
+
+ if (strm.format == SMODFStream::icd211)
+ {
+ line += rightJustify(asString<short>(time.DOYyear()),4);
+ line += rightJustify(asString<short>(time.DOYday()),3,'0');
+ line += rightJustify(asString(time.DOYsecond(),7),13);
+ line += string(1, ' ');
+ line += rightJustify(asString<short>(PRNID),2);
+ line += rightJustify(asString<long>(station),5);
+ line += rightJustify(asString<short>(channel),2);
+ line += rightJustify(asString<short>(type),1);
+
+ if (type == 9)
+ line += rightJustify(asString<short>(lol),1);
+ else
+ line += string(1, ' ');
+
+ line += string(1, ' ');
+ line += doub2for(obs, 20, 2);
+ line += string(1, ' ');
+ line += doub2for(stdDev, 11, 2);
+ line += string(1, ' ');
+ line += rightJustify(asString<short>(tempSource),1);
+ line += rightJustify(asString<short>(pressSource),1);
+ line += rightJustify(asString<short>(humidSource),1);
+ line += rightJustify(asString(temp,1), 5);
+ line += rightJustify(asString(pressure,1), 6);
+ line += rightJustify(asString(humidity,1), 5);
+
+ }
+ else if (strm.format == SMODFStream::legacy)
+ {
+ line += time.printf("%02y%3j%12.6s");
+ line += rightJustify(asString<short>(PRNID),3);
+ line += rightJustify(asString<long>(station),5);
+ line += rightJustify(asString<short>(channel),2);
+ line += rightJustify(asString<short>(type),1);
+
+ if (type == 9)
+ line += rightJustify(asString<short>(lol),1);
+ else
+ line += string(1, ' ');
+
+ // FIX this is actually D21.14, but because of the way
+ // doub2for works, we prepend a space and use 20 characters
+ line += string(1, ' ');
+ line += doub2for(obs, 20, 2);
+ // FIX same as above, only with D12.5
+ line += string(1, ' ');
+ line += doub2for(stdDev, 11, 2);
+ line += string(1, ' ');
+
+ // convert from 211-B/C to 211-A flags
+ short wxsource = 0;
+ if (tempSource == pressSource == humidSource)
+ wxsource = tempSource;
+ else if (tempSource && pressSource && humidSource)
+ {
+ // No missing data. We can assume that there is some
+ // default data at this point because the first test
+ // eliminates the all-sources-same condition (all real,
+ // all missing, all default), and this test guarantees
+ // that there are no missing data mixed in with
+ // real/default. Only remaining possibility is some
+ // real, some default.
+ wxsource = 2;
+ }
+ else
+ {
+ // Mixed real and/or default data with missing. We
+ // can't really handle that.
+ gpstk::FFStreamError err("Assertion failed: all weather data must be"
+ " either present or missing");
+ if (tempSource == 0)
+ err.addText("temperature data is missing");
+ if (pressSource == 0)
+ err.addText("pressure data is missing");
+ if (humidSource == 0)
+ err.addText("humidity data is missing");
+ err.addText("unlisted weather measurements are present");
+ }
+
+ if (wxsource == 1)
+ wxsource = 7;
+
+ line += rightJustify(asString<short>(wxsource),1);
+ line += rightJustify(asString(temp,1), 5);
+ line += rightJustify(asString(pressure,1), 6);
+ line += rightJustify(asString(humidity,1), 5);
+ }
+ else
+ {
+ gpstk::FFStreamError err("Unknown SMODF format: " +
+ asString<unsigned long>(strm.format));
+ err.addText("Make sure you specify the format of the data.");
+ GPSTK_THROW(err);
+ }
+
+ ffs << line << endl;
+ strm.lineNumber++;
+ }
+
+ void SMODFData::dump(ostream& s) const
+ {
+ s << time << " Station: " << station << " Type: " << type
+ << " PRN " << PRNID << endl;
+ }
+
+ void SMODFData::reallyGetRecord(gpstk::FFStream& ffs)
+ throw(std::exception, gpstk::FFStreamError,
+ gpstk::StringUtils::StringException)
+ {
+ SMODFStream& strm = dynamic_cast<SMODFStream&>(ffs);
+
+ string str, currentLine;
+
+ strm.formattedGetLine(currentLine, true);
+ int len=currentLine.length();
+
+ // determine the format of the ODBIF file by examining
+ // the record length
+ if (strm.format == SMODFStream::undefined)
+ {
+ if (len == SMO_LEN_ICD211)
+ strm.format = SMODFStream::icd211;
+ else if (len == SMO_LEN_LEGACY)
+ strm.format = SMODFStream::legacy;
+ else
+ {
+ gpstk::FFStreamError e("Unreconized format");
+ GPSTK_THROW(e);
+ }
+ }
+
+ if (strm.format == SMODFStream::icd211)
+ {
+ if (len != SMO_LEN_ICD211)
+ {
+ gpstk::FFStreamError e("Bad 211 format line length: " +
+ asString(len));
+ GPSTK_THROW(e);
+ }
+
+ // a simple check to see if this is really an ODBIF file
+ if ((currentLine[20] != ' ') ||
+ (currentLine[32] != ' '))
+ {
+ gpstk::FFStreamError e("Invalid ICD211 line");
+ GPSTK_THROW(e);
+ }
+
+ // blank out column 66 (in case this ODBIF file uses it
+ // for some unauthorized purpose)
+ currentLine[65] = ' ';
+
+ if (currentLine[31]!='1')
+ currentLine[31]='0';
+
+ // Parse line and load apropriate values into ODBIF structure
+ short year = asInt(currentLine.substr( 0, 4));
+ short DOY = asInt(currentLine.substr( 4, 3));
+ double SOD = asDouble(currentLine.substr( 7, 13));
+ PRNID = asInt(currentLine.substr(21, 2));
+ station = asInt(currentLine.substr(23, 5));
+ channel = asInt(currentLine.substr(28, 2));
+ type = asInt(currentLine.substr(30, 1));
+ lol = asInt(currentLine.substr(31, 1));
+ obs = for2doub(currentLine.substr(32, 21), 21);
+ stdDev = for2doub(currentLine.substr(53, 12), 12);
+ tempSource = asInt(currentLine.substr(66, 1));
+ pressSource = asInt(currentLine.substr(67, 1));
+ humidSource = asInt(currentLine.substr(68, 1));
+ temp = asDouble(currentLine.substr(69, 5));
+ pressure = asDouble(currentLine.substr(74, 6));
+ humidity = asDouble(currentLine.substr(80, 5));
+
+ // set the time
+ time.setYDoySod(year, DOY, SOD);
+ }
+ else if (strm.format == SMODFStream::legacy)
+ {
+ if (len != SMO_LEN_LEGACY)
+ {
+ gpstk::FFStreamError e("Bad legacy format line length: " +
+ asString(len));
+ GPSTK_THROW(e);
+ }
+
+ // blank out column 63 (in case this ODBIF file uses it
+ // for some unauthorized purpose)
+ currentLine[62] = ' ';
+
+ if (currentLine[28]!='1')
+ currentLine[28]='0';
+
+ // Parse line and load apropriate values into ODBIF structure
+ short year = asInt(currentLine.substr( 0, 2));
+ short DOY = asInt(currentLine.substr( 2, 3));
+ double SOD = asDouble(currentLine.substr( 5, 12));
+ PRNID = asInt(currentLine.substr(17, 3));
+ station = asInt(currentLine.substr(20, 5));
+ channel = asInt(currentLine.substr(25, 2));
+ type = asInt(currentLine.substr(27, 1));
+ lol = asInt(currentLine.substr(28, 1));
+ obs = for2doub(currentLine.substr(29, 21), 21);// len ??
+ stdDev = for2doub(currentLine.substr(50, 12), 12);//start &
+ short src = asInt(currentLine.substr(63, 1));
+ temp = asDouble(currentLine.substr(64, 5));
+ pressure = asDouble(currentLine.substr(69, 6));
+ humidity = asDouble(currentLine.substr(75, 5));
+
+ // set the time
+ if ( year < BEGINGPS2DYEAR )
+ year += 2000;
+ else
+ year += 1900;
+ time.setYDoySod(year, DOY, SOD);
+
+ /*
+ Translate ODBIF (legacy) weather types to ICD-GPS-211 types
+ Legacy Meaning
+ 0 No met data
+ 1 OCS smoothed values
+ 2 OCS default values
+ 3 NIMA overridden at OCS (?)
+ 6 NIMA default weather values
+ 7 NIMA automated weather station (usual)
+ 8 Bad meteorological data
+ other Undefined
+ */
+ if ( src==1 || src==7 )
+ tempSource = pressSource = humidSource = 1;
+ else if ( src==2 || src==6 )
+ tempSource = pressSource = humidSource = 2;
+ else
+ tempSource = pressSource = humidSource = 0;
+ }
+ } // end reallyGetRecord()
+
+ gpstk::ObservationPlus SMODFData::getObservationPlus() const
+ {
+ gpstk::ObservationPlus op;
+
+ op.obs.channel = channel;
+ op.svId = PRNID;
+ op.rxId = station;
+ op.time = time;
+ op.obs.SNR = (float)(stdDev);
+
+ if (type==0)
+ op.obs.range = obs * 1000; // yea, smdf is in KM
+ else if (type==9)
+ op.obs.phase = obs * 1000;
+
+ return op;
+ }
+
+ gpstk::WxObservation SMODFData::getWxObservation() const
+ {
+ gpstk::WxObservation wx;
+
+ wx.t = time;
+
+ if (tempSource)
+ {
+ wx.temperature = temp;
+ wx.temperatureSource = WxObservation::obsWx;
+ }
+ else
+ wx.temperatureSource = WxObservation::noWx;;
+
+ if (pressSource)
+ {
+ wx.pressure = pressure;
+ wx.pressureSource = WxObservation::obsWx;
+ }
+ else
+ wx.pressureSource = WxObservation::noWx;;
+
+ if (humidSource)
+ {
+ wx.humidity = humidity;
+ wx.humiditySource = WxObservation::obsWx;
+ }
+ else
+ wx.humiditySource = WxObservation::noWx;
+
+ return wx;
+ }
+
+} // end namespace gpstk
diff --git a/trunk/src/SMODFData.hpp b/trunk/src/SMODFData.hpp
new file mode 100644
index 0000000..571690c
--- /dev/null
+++ b/trunk/src/SMODFData.hpp
@@ -0,0 +1,140 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SMODFData.hpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file SMODFData.hpp
+ * smoothed measurement data file data
+ */
+
+#ifndef SMODFDATA_HPP
+#define SMODFDATA_HPP
+
+#include "StringUtils.hpp"
+#include "FFData.hpp"
+#include "DayTime.hpp"
+#include "ObservationStore.hpp"
+
+#include <vector>
+
+namespace gpstk
+{
+ /** @addtogroup icd211group ICD-GPS-211 Classes */
+ //@{
+
+ /**
+ * Model for a Smoothed Measurement Data File Data Record.
+ */
+ class SMODFData : public gpstk::FFData
+ {
+ public:
+ /// constructor
+ SMODFData() : PRNID(0), time(gpstk::DayTime::BEGINNING_OF_TIME)
+ {}
+
+ /// destructor
+ virtual ~SMODFData() {}
+
+ gpstk::DayTime time; ///< the date of this data (from year DOY, SOD)
+ short PRNID; ///< PRN number
+ long station; ///< NIMA Monitor Station number (85408, etc.)
+ short channel; ///< receiver channel
+ short type; ///< Data type ( 0 = range, 9 = delta/doppler range )
+ short lol; ///< Loss of lock flag. 0 = OK, 1 = loss
+ ///< ( only used for type = 9 )
+ long double obs; ///< Observed data (range or delta range meas)
+ double stdDev; ///< standard deviation of observation
+ short tempSource; ///< temperature source flag
+ ///< (0 = not available, 1 = measured value, 2 = default value)
+ short pressSource; ///< pressure source flag
+ ///< (0 = not available, 1 = measured value, 2 = default value)
+ short humidSource; ///< humidity source flag
+ ///< (0 = not available, 1 = measured value, 2 = default value)
+ double temp; ///< temperature (degrees C)
+ double pressure; ///< pressure (mb)
+ double humidity; ///< relative humidity (%)
+
+ /// SMODFData is data, so this function always returns true.
+ virtual bool isData() const {return true;}
+
+ /// This function does \b nothing.
+ virtual void dump(std::ostream& s) const;
+
+ /**
+ * Translate *this to an ObservationPlus.
+ * @return *this translated to an ObservationPlus
+ */
+ virtual gpstk::ObservationPlus getObservationPlus() const;
+
+ /**
+ * Translate *this to a WxObservation.
+ * @return *this translated to a WxObservation
+ */
+ virtual gpstk::WxObservation getWxObservation() const;
+
+ protected:
+ /// Writes a smodfdata object in the format specified
+ /// by the stream to the stream.
+ virtual void reallyPutRecord(gpstk::FFStream& s) const
+ throw(std::exception, gpstk::FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ /**
+ * Retrieve a SMODFData record from the given gpstk::FFStream.
+ * If there is a problem with reading from the stream, it
+ * is reset to its original position and its fail-bit is set.
+ * @throws StringException when a gpstk::StringUtils function fails
+ * @throws gpstk::FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ virtual void reallyGetRecord(gpstk::FFStream& s)
+ throw(std::exception, gpstk::FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ }; // class SMODFData
+
+ //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/SMODFStream.hpp b/trunk/src/SMODFStream.hpp
new file mode 100644
index 0000000..d127057
--- /dev/null
+++ b/trunk/src/SMODFStream.hpp
@@ -0,0 +1,114 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SMODFStream.hpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file SMODFStream.hpp
+ * Read/Write smoothed measurement data
+ */
+
+#ifndef SMODFSTREAM_HPP
+#define SMODFSTREAM_HPP
+
+#include "FFTextStream.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup icd211group ICD-GPS-211 Classes */
+ //@{
+
+ /**
+ * This is a stream used to obtain data from a
+ * Smoothed Measurement Data File.
+ */
+ class SMODFStream : public gpstk::FFTextStream
+ {
+ public:
+ SMODFStream()
+ : format(undefined)
+ {}
+
+ /**
+ * Constructor.
+ * @param fn the SMODF to open
+ * @param mode the ios::openmode to use in opening \a fn
+ */
+ SMODFStream(const char* fn, std::ios::openmode mode=std::ios::in)
+ throw()
+ : gpstk::FFTextStream(fn, mode), format(undefined)
+ {
+ // open a file for write in icd211 mode
+ if ( (mode & std::ios::out) && !(mode & std::ios::in) )
+ format = icd211;
+ }
+
+ /// Destructor per the coding standard
+ virtual ~SMODFStream() {}
+
+ /// overrides open to reset the header
+ virtual void open(const char* fn, std::ios::openmode mode)
+ {
+ gpstk::FFTextStream::open(fn, mode);
+ // open a file for write in icd211 mode
+ if ( (mode & std::ios::out) && !(mode & std::ios::in) )
+ format = icd211;
+ else
+ format = undefined;
+ }
+
+ /**
+ * These are the file formats SMODFStream recognizes.
+ */
+ enum FileFormat {
+ undefined, ///< Undefined format
+ legacy, ///< Legacy format
+ icd211 ///< ICD-GPS-211 format
+ };
+
+ FileFormat format; ///< The FileFormat of the file currently being read.
+ }; // class SMODFStream
+
+ //@}
+
+} // namespace sglmsn
+
+#endif
diff --git a/trunk/src/SP3Base.hpp b/trunk/src/SP3Base.hpp
new file mode 100644
index 0000000..690983a
--- /dev/null
+++ b/trunk/src/SP3Base.hpp
@@ -0,0 +1,71 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3Base.hpp#1 $"
+
+/**
+ * @file SP3Base.hpp
+ * Base class for SP3 file data
+ */
+
+#ifndef GPSTK_SP3BASE_HPP
+#define GPSTK_SP3BASE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFData.hpp"
+
+namespace gpstk
+{
+ /** @defgroup SP3ephem SP3 format file I/O */
+ //@{
+
+ /// This class is here to make readable inheritance diagrams.
+ class SP3Base : public FFData
+ {
+ public:
+ /// Destructor per the coding standards
+ virtual ~SP3Base() {}
+ };
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/SP3Data.cpp b/trunk/src/SP3Data.cpp
new file mode 100644
index 0000000..cf4d441
--- /dev/null
+++ b/trunk/src/SP3Data.cpp
@@ -0,0 +1,146 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3Data.cpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file SP3Data.cpp
+ * Encapsulate SP3 file data, including I/O
+ */
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "SP3Stream.hpp"
+#include "SP3Data.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+ /// @todo Implement this function.
+ void SP3Data::reallyPutRecord(FFStream& ffs) const
+ throw(std::exception, FFStreamError, StringException)
+ {
+ SP3Stream& strm = dynamic_cast<SP3Stream&>(ffs);
+
+ FFStreamError err("Writing is not supported for this file format");
+ GPSTK_THROW(err);
+ }
+
+ void SP3Data::dump(ostream& s) const
+ {
+ if (flag != '*')
+ {
+ s << flag
+ << " " << setw(2) << id
+ << " " << fixed << setw(13) << setprecision(6) << x[0]
+ << " " << fixed << setw(13) << setprecision(6) << x[1]
+ << " " << fixed << setw(13) << setprecision(6) << x[2]
+ << " " << fixed << setw(13) << setprecision(6) << clk << endl;
+ }
+ };
+
+ void SP3Data::reallyGetRecord(FFStream& ffs)
+ throw(std::exception, FFStreamError, StringException)
+ {
+ SP3Stream& strm = dynamic_cast<SP3Stream&>(ffs);
+
+ string line;
+ strm.formattedGetLine(line);
+
+ if (line[0]=='*')
+ {
+ if (line.size()<=30)
+ {
+ FFStreamError err("Invalid line length " +
+ asString(line.size()));
+ GPSTK_THROW(err);
+ }
+ int year = asInt(line.substr(3,4));
+ int month = asInt(line.substr(8,2));
+ int dom = asInt(line.substr(11,2));
+ int hour = asInt(line.substr(14,2));
+ int minute = asInt(line.substr(17,2));
+ double second = asInt(line.substr(20,10));
+ DayTime t(year, month, dom, hour, minute, second);
+ strm.currentEpoch = t;
+
+ // since we only got the time, go ahead and read another
+ // record
+ strm.formattedGetLine(line);
+ }
+
+ /// set the internal record time
+ time = strm.currentEpoch;
+
+ if ((line[0]=='P' || line[0]=='V'))
+ {
+ if (line.size()<=59)
+ {
+ FFStreamError err("Invalid line length " +
+ asString(line.size()));
+ GPSTK_THROW(err);
+ }
+ flag = line[0];
+ id = asInt(line.substr(1, 3));
+ x[0] = asDouble(line.substr(5,13));
+ x[1] = asDouble(line.substr(19,13));
+ x[2] = asDouble(line.substr(33,13));
+ clk = asDouble(line.substr(47,13));
+ }
+ else if (line.substr(0,3) == string("EOF"))
+ {
+ // this next read had better fail - if it does,
+ // an exception will be thrown and the next FFStreamError
+ // won't get thrown
+ strm.formattedGetLine(line, true);
+
+ FFStreamError err("EOF text found but file didn't end");
+ GPSTK_THROW(err);
+ }
+ else
+ {
+ FFStreamError err("Unknown line label " + string(1,line[0]));
+ GPSTK_THROW(err);
+ }
+ } // end reallyGetRecord()
+} // namespace
diff --git a/trunk/src/SP3Data.hpp b/trunk/src/SP3Data.hpp
new file mode 100644
index 0000000..4fe6831
--- /dev/null
+++ b/trunk/src/SP3Data.hpp
@@ -0,0 +1,117 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3Data.hpp#1 $"
+
+/**
+ * @file SP3Data.hpp
+ * Encapsulate SP3 file data, including I/O
+ */
+
+#ifndef GPSTK_SP3DATA_HPP
+#define GPSTK_SP3DATA_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Triple.hpp"
+#include "SP3Base.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup SP3ephem */
+ //@{
+
+ /**
+ * This class models Satellite Position in Three Dimensions.
+ *
+ * @sa gpstk::SP3Header and gpstk::SP3Stream for more information.
+ * @sa sp3_test.cpp for an example.
+ */
+ class SP3Data : public SP3Base
+ {
+ public:
+ /// Constructor.
+ SP3Data() : flag('\000'), time(gpstk::DayTime::BEGINNING_OF_TIME)
+ {}
+
+ /// Destructor
+ virtual ~SP3Data() {}
+
+ // The next four lines is our common interface
+ /// SP3Data is "data" so this function always returns true.
+ virtual bool isData() const {return true;}
+
+ /// Debug output function.
+ virtual void dump(std::ostream& s) const;
+
+ ///@name data members
+ //@{
+ char flag; ///< Data type indicator. P for position, V for velocity.
+ short id; ///< Satellite ID (usually prn)
+ Triple x; ///< The three-vector for position or velocity. @see flag
+ double clk; ///< The time bias (clock bias) for P, or clock drift for V. @see x
+ DayTime time; ///< Time of epoch for this record
+ //@}
+
+ protected:
+ /// Writes the formatted record to the FFStream \a s.
+ /// @warning This function is currently unimplemented
+ virtual void reallyPutRecord(FFStream& s) const
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ /**
+ * This function reads a record from the given FFStream.
+ * If an error is encountered in retrieving the record, the
+ * stream is reset to its original position and its fail-bit is set.
+ * @throws StringException when a StringUtils function fails
+ * @throws FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+ };
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/SP3EphemerisStore.cpp b/trunk/src/SP3EphemerisStore.cpp
new file mode 100644
index 0000000..1b21298
--- /dev/null
+++ b/trunk/src/SP3EphemerisStore.cpp
@@ -0,0 +1,136 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3EphemerisStore.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file SP3EphemerisStore.cpp
+ * Read & store SP3 formated ephemeris data
+ */
+
+#include "SP3EphemerisStore.hpp"
+#include "MiscMath.hpp"
+#include "ECEF.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace gpstk::StringUtils;
+
+namespace gpstk
+{
+ //-----------------------------------------------------------------------------
+ //-----------------------------------------------------------------------------
+ void SP3EphemerisStore::loadFile(const std::string& filename)
+ throw(FileMissingException)
+ {
+ try
+ {
+ SP3Stream strm(filename.c_str());
+ if (!strm)
+ {
+ FileMissingException e("File " + filename + " could not be opened.");
+ GPSTK_THROW(e);
+ }
+
+ SP3Header header;
+ strm >> header;
+
+ addFile(filename, header);
+
+ /// If any file doesn't have the velocity data, clear the
+ /// the flag indicating that there is any velocity data
+ if (tolower(header.pvFlag) != 'v')
+ setHaveVelocity(false);
+
+ SP3Data rec;
+ while(strm >> rec)
+ addEphemeris(rec);
+ }
+ catch (gpstk::Exception& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ } // end SP3EphemerisStore::load
+
+
+ //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+ void SP3EphemerisStore::dump(short detail, std::ostream& s) const
+ {
+ s << "Dump of SP3EphemerisStore:" << std::endl;
+ std::vector<std::string> fileNames = getFileNames();
+ std::vector<std::string>::const_iterator f=fileNames.begin();
+ for (f=fileNames.begin(); f!=fileNames.end(); f++)
+ s << *f << std::endl;
+/*
+ Add this back in when/if we add header info to the file store.
+ while(fmi != fm.end()) {
+ s << " File " << fmi->first << ", Times: " << fmi->second.time
+ << " to " << (fmi->second.time+fmi->second.epochInterval*fmi->second.numberOfEpochs)
+ << ", (" << fmi->second.numberOfEpochs
+ << " " << fmi->second.epochInterval << "sec intervals)." << std::endl;
+ if(detail > 0) {
+ s << " Data used as input : " << fmi->second.dataUsed
+ << " Coordinate system : " << fmi->second.coordSystem << std::endl;
+ s << " Orbit estimate type : " << fmi->second.orbitType
+ << " Agency : " << fmi->second.agency << std::endl;
+ s << " List of satellite PRN/acc (" << fmi->second.svList.size()
+ << " total) :\n";
+ int i=0;
+ std::map<short,short>::const_iterator it=fmi->second.svList.begin();
+ while(it != fmi->second.svList.end()) {
+ s << " " << std::setw(2) << it->first << "/" << it->second;
+ if(!(++i % 8)) s << std::endl;
+ it++;
+ }
+ if(++i % 8) s << std::endl;
+ s << " Comments:\n";
+ for(i=0; i<fmi->second.comments.size(); i++)
+ s << " " << fmi->second.comments[i] << std::endl;
+ s << std::endl;
+ }
+ fmi++;
+ }
+*/
+ TabularEphemerisStore::dump(detail, s);
+
+ } // end of SP3EphemerisStore::dump
+
+} // namespace gpstk
diff --git a/trunk/src/SP3EphemerisStore.hpp b/trunk/src/SP3EphemerisStore.hpp
new file mode 100644
index 0000000..1bea276
--- /dev/null
+++ b/trunk/src/SP3EphemerisStore.hpp
@@ -0,0 +1,97 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3EphemerisStore.hpp#1 $"
+
+/**
+ * @file SP3EphemerisStore.hpp
+ * Read and store SP3 formated ephemeris data
+ */
+
+#ifndef GPSTK_SP3_EPHEMERIS_STORE_HPP
+#define GPSTK_SP3_EPHEMERIS_STORE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+
+#include "TabularEphemerisStore.hpp"
+#include "FileStore.hpp"
+
+#include "SP3Stream.hpp"
+#include "SP3Data.hpp"
+#include "SP3Header.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup ephemstore */
+ //@{
+
+ /**
+ * This adds the interface to read SP3 files into a TabularEphemerisStore
+ */
+ class SP3EphemerisStore : public TabularEphemerisStore,
+ public FileStore<SP3Header>
+ {
+ public:
+ /// Constructor.
+ SP3EphemerisStore() throw() {TabularEphemerisStore();}
+
+ /// destructor
+ virtual ~SP3EphemerisStore() {}
+
+ /** Dump the store to cout.
+ * @param detail determines how much detail to include in the output
+ * 0 list of filenames with their start, stop times.
+ * 1 list of filenames with their start, stop times,
+ * other header information and prns/accuracy.
+ * 2 above, plus dump all the PVT data (use judiciously).
+ */
+ virtual void dump(short detail=0, std::ostream& s=std::cout) const;
+
+ /// load the given SP3 file
+ virtual void loadFile(const std::string& filename)
+ throw(FileMissingException);
+ };
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/SP3Header.cpp b/trunk/src/SP3Header.cpp
new file mode 100644
index 0000000..c47d5af
--- /dev/null
+++ b/trunk/src/SP3Header.cpp
@@ -0,0 +1,215 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3Header.cpp#1 $"
+
+/**
+ * @file SP3Header.cpp
+ * Encapsulate header of SP3 file data, including I/O
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "StringUtils.hpp"
+#include "SP3Stream.hpp"
+#include "SP3Header.hpp"
+
+namespace gpstk
+{
+ using namespace gpstk::StringUtils;
+ using namespace std;
+
+ /// @todo Implement this function.
+ void SP3Header::reallyPutRecord(FFStream& ffs) const
+ throw(exception, FFStreamError, StringException)
+ {
+ SP3Stream& strm = dynamic_cast<SP3Stream&>(ffs);
+
+ FFStreamError err("Writing is not supported for this file format");
+ GPSTK_THROW(err);
+ }
+
+ void SP3Header::dump(ostream& s) const
+ {
+ s << "SP3 Header: version '" << version << "' containing ";
+ if(pvFlag=='P') s << "positions.";
+ if(pvFlag=='V') s << "positions and velocities.";
+ s << endl;
+ s << " Time tag in header is " << time << endl;
+ s << " Timespacing is " << epochInterval
+ << " sec, and the number of epochs is " << numberOfEpochs << endl;
+ s << " Data used as input : " << dataUsed << endl;
+ s << " Coordinate system : " << coordSystem << endl;
+ s << " Orbit estimate type : " << orbitType << endl;
+ s << " Agency : " << agency << endl;
+
+ s << " List of satellite PRN/acc (" << svList.size() << " total) :\n";
+ int i=0;
+ std::map<short,short>::const_iterator it=svList.begin();
+ while(it != svList.end()) {
+ s << " " << setw(2) << it->first << "/" << it->second;
+ if(!(++i % 8)) s << endl;
+ it++;
+ }
+ if(++i % 8) s << endl;
+
+ s << " Comments:\n";
+ for(size_t j=0; j<comments.size(); j++) s << " " << comments[j] << endl;
+
+ s << "End of SP3 header" << endl;
+ }
+
+ void SP3Header::reallyGetRecord(FFStream& ffs)
+ throw(exception, FFStreamError, gpstk::StringUtils::StringException)
+ {
+ SP3Stream& strm = dynamic_cast<SP3Stream&>(ffs);
+
+ string line;
+ strm.formattedGetLine(line);
+
+ if (line[0]=='#' && line[1]!='#')
+ {
+ version=line[1];
+ pvFlag=line[2];
+ int year = asInt(line.substr(3,4));
+ int month = asInt(line.substr(8,2));
+ int dom = asInt(line.substr(11,2));
+ int hour = asInt(line.substr(14,2));
+ int minute = asInt(line.substr(17,2));
+ double second = asInt(line.substr(20,10));
+ time = DayTime(year, month, dom, hour, minute, second);
+ numberOfEpochs = asInt(line.substr(32,7));
+ dataUsed = line.substr(40,5);
+ coordSystem = line.substr(46,5);
+ orbitType = line.substr(52,3);
+ agency = line.substr(56,4);
+ }
+ else
+ {
+ FFStreamError e("Unknown label " + string(1, line[0]));
+ GPSTK_THROW(e);
+ }
+
+ strm.formattedGetLine(line);
+ if (line[0]=='#' && line[1]=='#')
+ {
+ epochInterval = asDouble(line.substr(24,14));
+ }
+ else
+ {
+ FFStreamError e("Unknown label " + string(1, line[0]));
+ GPSTK_THROW(e);
+ }
+
+ int i, index;
+ int numSVs(0), readSVs(0);
+
+ // the map stores them sorted, so use svsAsWritten to determine
+ // which SV each accuracy corresponds to.
+ vector<short> svsAsWritten;
+
+ // read in the SV list
+ for(i = 3; i <= 7; i++)
+ {
+ strm.formattedGetLine(line);
+ if (line[0]=='+')
+ {
+ // get the total number of svs on line 3
+ if (i == 3)
+ {
+ numSVs = asInt(line.substr(4,2));
+ svsAsWritten.resize(numSVs);
+ }
+ for(index = 9; index < 60; index += 3)
+ {
+ if (readSVs < numSVs)
+ {
+ short sv = asInt(line.substr(index, 3));
+ svsAsWritten[readSVs] = sv;
+ svList[sv] = 0;
+ readSVs++;
+ }
+ }
+ }
+ else
+ {
+ FFStreamError e("Unknown label " + string(1, line[0]));
+ GPSTK_THROW(e);
+ }
+ }
+
+ readSVs = 0;
+
+ // read in the accuracy.
+ for(i = 8; i <= 12; i++)
+ {
+ strm.formattedGetLine(line);
+ if ((line[0]=='+') && (line[1]=='+'))
+ {
+ for(index = 9; index < 60; index += 3)
+ {
+ if (readSVs < numSVs)
+ {
+ svList[svsAsWritten[readSVs]] = asInt(line.substr(index,3));
+ readSVs++;
+ }
+ }
+ }
+ else
+ {
+ FFStreamError e("Unknown label " + string(1, line[0]));
+ GPSTK_THROW(e);
+ }
+ }
+
+ // read in 6 unused lines
+ for(i = 13; i <= 18; i++)
+ strm.formattedGetLine(line);
+
+ // read in 4 comment lines
+ for(i = 19; i <= 22; i++)
+ {
+ strm.formattedGetLine(line);
+ // strip the first 3 characters
+ line.erase(0, 3);
+ // and add to the comment vector
+ comments.push_back(line);
+ }
+ }
+} // namespace
diff --git a/trunk/src/SP3Header.hpp b/trunk/src/SP3Header.hpp
new file mode 100644
index 0000000..cff559f
--- /dev/null
+++ b/trunk/src/SP3Header.hpp
@@ -0,0 +1,128 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3Header.hpp#1 $"
+
+/**
+ * @file SP3Header.hpp
+ * Encapsulate header of SP3 file data, including I/O
+ */
+
+#ifndef GPSTK_SP3HEADER_HPP
+#define GPSTK_SP3HEADER_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <string>
+#include <map>
+#include <vector>
+#include "DayTime.hpp"
+#include "SP3Base.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup SP3ephem */
+ //@{
+
+ /**
+ * This class models the header for a SP3 file.
+ *
+ * @note A valid header does not need to be read before
+ * data can be read from an sp3 file because a large part of the
+ * SP3 file header is skipped and not processed.
+ *
+ * @sa gpstk::SP3Stream and gpstk::SP3Data for more information.
+ * @sa sp3_test.cpp for an example.
+ */
+ class SP3Header : public SP3Base
+ {
+ public:
+ /// constructor
+ SP3Header() : version(0), numberOfEpochs(0) {}
+
+ /// destructor
+ virtual ~SP3Header() {}
+
+ // The next four lines is our common interface
+ /// SP3Header is a "header" so this function always returns true.
+ virtual bool isHeader() const {return true;}
+
+ /// Debug output operator.
+ virtual void dump(std::ostream& s) const;
+
+ char version; ///< Version of the SP3 File.
+ char pvFlag; ///< File contains positions (P) or positions and velocities (V)
+ DayTime time; ///< Time in header (year, month, dom, hour, min, sec, week, sow)
+ double epochInterval; ///< Duration of Epoch in seconds
+ int numberOfEpochs; ///< Number of Epochs in this file
+ std::string dataUsed; ///< Types of data input into the positions
+ std::string coordSystem; ///< Coordinate System of the data
+ std::string orbitType; ///< Type of Orbit Estimate
+ std::string agency; ///< Agency generating the Orbit
+
+ std::map<short, short> svList; ///< Which SVs are present in the data and their accuracy flags
+ std::vector<std::string> comments; ///< vector of 4 comment lines
+
+ protected:
+ /// Writes the record formatted to the FFStream \a s.
+ /// @warning This function is currently unimplemented.
+ virtual void reallyPutRecord(FFStream& s) const
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+
+ /**
+ * This function retrieves the SP3 header from the given FFStream.
+ * If an error is encountered in the retrieval of the header, the
+ * stream is reset to its original position and its fail-bit is set.
+ * @throws StringException when a StringUtils function fails
+ * @throws FFStreamError when exceptions(failbit) is set and
+ * a read or formatting error occurs. This also resets the
+ * stream to its pre-read position.
+ */
+ virtual void reallyGetRecord(FFStream& s)
+ throw(std::exception, FFStreamError,
+ gpstk::StringUtils::StringException);
+ };
+
+ //@}
+
+} // namespace
+
+#endif
+
diff --git a/trunk/src/SP3Stream.hpp b/trunk/src/SP3Stream.hpp
new file mode 100644
index 0000000..ee16df0
--- /dev/null
+++ b/trunk/src/SP3Stream.hpp
@@ -0,0 +1,87 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3Stream.hpp#1 $"
+
+/**
+ * @file SP3Stream.hpp
+ * File stream for SP3 format files
+ */
+
+#ifndef GPSTK_SP3STREAM_HPP
+#define GPSTK_SP3STREAM_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "DayTime.hpp"
+#include "FFTextStream.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup SP3ephem */
+ //@{
+
+ /**
+ * This class provides access to SP3 files.
+ *
+ * @sa gpstk::SP3Header and gpstk::SP3Data for more information.
+ * @sa sp3_test.cpp for an example.
+ */
+ class SP3Stream : public FFTextStream
+ {
+ public:
+ SP3Stream() {}
+
+ /** Constructor
+ * Opens file \a fn using ios::openmode \a mode.
+ */
+ SP3Stream(const char* fn, std::ios::openmode mode=std::ios::in)
+ : FFTextStream(fn, mode) {}
+
+ /// destructor
+ virtual ~SP3Stream() {}
+
+ DayTime currentEpoch; ///< Time from last epoch record read
+ };
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/SVExclusionList.cpp b/trunk/src/SVExclusionList.cpp
new file mode 100644
index 0000000..80e0e2d
--- /dev/null
+++ b/trunk/src/SVExclusionList.cpp
@@ -0,0 +1,312 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SVExclusionList.cpp#1 $"
+//
+//
+#include <stdio.h>
+// gpstk
+#include "SVExclusionList.hpp"
+
+namespace gpstk
+{
+
+ using namespace std;
+
+//--------------- Methods for SVExclusionList ---------------
+ SVExclusionList::SVExclusionList( )
+ :earliestTime(gpstk::DayTime::END_OF_TIME),
+ latestTime(gpstk::DayTime::BEGINNING_OF_TIME)
+ {
+ readFailCount = 0;
+ timeSpecString = "%F %g";
+ }
+
+ SVExclusionList::SVExclusionList( const std::string filename )
+ throw(SVExclusionList::SVExclusionFileNotFound)
+ :earliestTime(gpstk::DayTime::END_OF_TIME),
+ latestTime(gpstk::DayTime::BEGINNING_OF_TIME)
+ {
+ readFailCount = 0;
+ timeSpecString = "%F %g";
+ addFile( filename );
+ }
+
+ void SVExclusionList::addFile( const std::string filename )
+ throw(SVExclusionList::SVExclusionFileNotFound)
+ {
+ char file[100];
+ sscanf(filename.c_str(),"%s",file);
+ FILE* inf = fopen(file, "rt");
+ if (inf==0)
+ {
+ char text[200];
+ sprintf(text,"Exclusion file not found. Filename: %s",filename.c_str());
+ std::string sout = text;
+ SVExclusionFileNotFound noSVXFile( sout );
+ GPSTK_THROW(noSVXFile);
+ }
+
+ std::string temps;
+ DayTime tempDTs;
+ std::string tempe;
+ DayTime tempDTe;
+ int lineCount =0;
+ char fileLine[200];
+ while (fgets(fileLine, 200, inf))
+ {
+ lineCount++;
+ //cout << "------------- Line " << lineCount << endl;
+ string whiteSpace = " \t\n\r";
+ string lineIn = fileLine;
+
+ // strip trailing whitespace
+ string::size_type endIndex = lineIn.find_last_not_of(whiteSpace);
+ lineIn = lineIn.substr( 0, endIndex+1 );
+ string lead2Chars = lineIn.substr(0,2);
+ if (lead2Chars.compare("TS")==0)
+ {
+ string::size_type q1 = lineIn.find('"');
+ string::size_type q2 = lineIn.find('"',(q1+1));
+ if (q1!=string::npos && q2!=string::npos)
+ {
+ timeSpecString = lineIn.substr((q1+1),(q2-q1-1));
+ // debug
+ //cout << " New timeSpecString '" << timeSpecString << "'." << endl;
+ }
+ else
+ {
+ readFailCount++;
+ string failString = buildFailString(
+ "Invalid TS specification at",
+ lineCount,
+ filename);
+ readFailList.push_back( failString );
+ }
+ }
+ if (lead2Chars.compare("EX")==0)
+ {
+ string::size_type c1 = lineIn.find(',');
+ string::size_type c2 = lineIn.find(',',(c1+1));
+ string::size_type c3 = lineIn.find(',',(c2+1));
+ if (c1!=string::npos && c2!=string::npos)
+ {
+ std::string comment = "";
+ int PRNID = StringUtils::asInt(lineIn.substr(2, (c1-1)) );
+ if (PRNID<0 || PRNID>gpstk::MAX_PRN)
+ {
+ readFailCount++;
+ string failString = buildFailString(
+ "PRN ID out of range",
+ lineCount,
+ filename);
+ readFailList.push_back( failString );
+ continue;
+ }
+ temps = lineIn.substr((c1+1),(c2-c1-1));
+ string::size_type nonWhiteBeg = temps.find_first_not_of(whiteSpace);
+ string::size_type nonWhiteEnd = temps.find_last_not_of(whiteSpace);
+ //cout << "Before trimming. temps, Beg, End = '" << temps << "', " << nonWhiteBeg << ", " << nonWhiteEnd << "." << endl;
+ if (nonWhiteEnd!=string::npos)
+ temps = temps.substr(nonWhiteBeg,nonWhiteEnd-nonWhiteBeg+1);
+ else
+ temps = temps.substr(nonWhiteBeg);
+
+ //cout << "c3, string::npos = " << c3 << ", " << string::npos << endl;
+ if (c3!=string::npos)
+ {
+ tempe = lineIn.substr(c2+1, (c3-c2-1) );
+ comment = lineIn.substr(c3+1);
+ nonWhiteBeg = comment.find_first_not_of(whiteSpace);
+ comment = comment.substr(nonWhiteBeg);
+ }
+ else
+ tempe = lineIn.substr(c2+1);
+
+ nonWhiteBeg = tempe.find_first_not_of(whiteSpace);
+ nonWhiteEnd = tempe.find_last_not_of(whiteSpace);
+ //cout << "Before trimming. tempe, Beg, End = '" << tempe << "', " << nonWhiteBeg << ", " << nonWhiteEnd << "." << endl;
+ if (nonWhiteEnd!=string::npos)
+ tempe = tempe.substr(nonWhiteBeg,nonWhiteEnd-nonWhiteBeg+1);
+ else
+ tempe = tempe.substr(nonWhiteBeg);
+ try
+ {
+ //cout << "Input start string: '" << temps << "'." << endl;
+ tempDTs.setToString( temps, timeSpecString );
+ //cout << "Input end string: '" << tempe << "'." << endl;
+ tempDTe.setToString( tempe, timeSpecString );
+ if (tempDTs<=tempDTe)
+ {
+ SVExclusion svEx( tempDTs, tempDTe, PRNID, comment );
+
+ // Add exclusion to the multimap
+ addExclusion( svEx );
+ }
+ else
+ {
+ readFailCount++;
+ string failString = buildFailString(
+ "Start time after end time",
+ lineCount,
+ filename);
+ readFailList.push_back( failString );
+ }
+ }
+ catch (DayTime::DayTimeException& dte)
+ {
+ readFailCount++;
+ string failString = buildFailString(
+ dte.getText(),
+ lineCount,
+ filename);
+ readFailList.push_back( failString );
+ }
+ catch (DayTime::FormatException& fe)
+ {
+ readFailCount++;
+ string failString = buildFailString(
+ fe.getText(),
+ lineCount,
+ filename);
+ readFailList.push_back( failString );
+ }
+ catch (gpstk::StringUtils::StringException& se)
+ {
+ readFailCount++;
+ string failString = buildFailString(
+ se.getText(),
+ lineCount,
+ filename);
+ readFailList.push_back( failString );
+ }
+ }
+ else
+ {
+ readFailCount++;
+ string failString = buildFailString(
+ "Invalid EX line format at",
+ lineCount,
+ filename);
+ readFailList.push_back( failString );
+ }
+ }
+ }
+ fclose(inf);
+ }
+
+ void SVExclusionList::addExclusion( const SVExclusion svx )
+ {
+ exclusionMap.insert( make_pair( svx.getPRNID(), svx ) );
+
+ // Update the earliest/latest info
+ if (svx.getBeginTime() < earliestTime) earliestTime = svx.getBeginTime();
+ if (svx.getEndTime() > latestTime) latestTime = svx.getEndTime();
+ }
+
+ bool SVExclusionList::isExcluded(
+ const int PRN,
+ const gpstk::DayTime dt ) const
+ {
+ SVXListPair p = exclusionMap.equal_range( PRN );
+ for (SVXListCI ci=p.first; ci != p.second; ++ci)
+ {
+ if (ci->second.isApplicable( PRN, dt )) return(true);
+ }
+ return(false);
+ }
+
+ const SVExclusion& SVExclusionList::getApplicableExclusion(
+ const int PRN, const gpstk::DayTime dt)
+ const throw(SVExclusionList::NoSVExclusionFound)
+ {
+ SVXListPair p = exclusionMap.equal_range( PRN );
+ for (SVXListCI ci=p.first; ci != p.second; ++ci)
+ {
+ if (ci->second.isApplicable( PRN, dt )) return( ci->second );
+ }
+
+ // Failed to find an exclusion corresponding to the request
+ char textOut[80];
+ sprintf(textOut,"No SVExclusion found for PRN %02d at %s.",
+ PRN, dt.printf("week %F SOW %g, %02m/%02d/%02y %02H:%02M:%02S").c_str());
+ std::string sout = textOut;
+ NoSVExclusionFound noSVX( sout );
+ GPSTK_THROW(noSVX);
+ }
+
+ void SVExclusionList::dumpList( FILE* fp ) const
+ {
+ if (fp==0) return;
+ std::string timeString = "Wk %F SOW %6.0g, %02m/%02d/%02y (DOY %03j) %02H:%02M:%02S";
+ fprintf(fp,"List of SV Exclusion from SVExclusionList\n\n");
+ for (int PRN=1; PRN<=gpstk::MAX_PRN; ++PRN)
+ {
+ fprintf(fp,"\nExclusions for PRN %02d\n",PRN);
+ SVXListPair p = exclusionMap.equal_range( PRN );
+ for (SVXListCI ci=p.first; ci != p.second; ++ci)
+ {
+ fprintf(fp," %s to %s\n",
+ ci->second.getBeginTime().printf(timeString).c_str(),
+ ci->second.getEndTime().printf(timeString).c_str());
+ }
+ }
+ }
+
+ void SVExclusionList::listOfReadFailures() const
+ {
+ typedef list<string>::const_iterator LI;
+ for (LI i=readFailList.begin(); i!=readFailList.end(); ++i)
+ {
+ cerr << *i << endl;
+ }
+ }
+
+ void SVExclusionList::listOfReadFailures( FILE* fpout ) const
+ {
+ if (fpout==0) return;
+ typedef list<string>::const_iterator LI;
+ for (LI i=readFailList.begin(); i!=readFailList.end(); ++i)
+ {
+ fprintf(fpout,"%s\n",(*i).c_str());
+ }
+ }
+
+ void SVExclusionList::listOfReadFailures( std::ofstream fsout ) const
+ {
+ if (!fsout.is_open()) return;
+ typedef list<string>::const_iterator LI;
+ for (LI i=readFailList.begin(); i!=readFailList.end(); ++i)
+ {
+ fsout << *i << endl;
+ }
+ }
+
+ std::string SVExclusionList::buildFailString(const std::string s,
+ const int lineCount, const std::string filename )
+ {
+ string outString = s;
+ outString += " at line ";
+ outString += StringUtils::asString<int>(lineCount);
+ outString += " of file ";
+ outString += filename;
+ outString += ".";
+ return(outString);
+ }
+
+//--------------- Methods for SVExclusion ---------------
+ SVExclusion::SVExclusion( const gpstk::DayTime begin,
+ const gpstk::DayTime end,
+ const int PRNID,
+ const std::string commentArg )
+ {
+ begExclude = begin;
+ endExclude = end;
+ PRN_IDENTIFIER = PRNID;
+ comment = commentArg;
+ }
+
+ bool SVExclusion::isApplicable( const int PRNID, const gpstk::DayTime dt ) const
+ {
+ if (dt>=begExclude && dt<=endExclude && PRN_IDENTIFIER==PRNID) return(true);
+ return(false);
+ }
+
+} // end namespace gpstk
diff --git a/trunk/src/SVExclusionList.hpp b/trunk/src/SVExclusionList.hpp
new file mode 100644
index 0000000..e327f92
--- /dev/null
+++ b/trunk/src/SVExclusionList.hpp
@@ -0,0 +1,126 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SVExclusionList.hpp#1 $"
+/**
+*
+*
+*
+*Input File Format
+* The file may contain any number of lines of ASCII text. Any line that
+* does not begin with "EX" or "TS" will be ignored. Lines beginning with
+* TS are assumed to contains a double quote delimited string that defines
+* the time format that will be used in following EX lines. The default
+* time string is "%F %g" (GPS full week, GPS Second of Week). See
+* DayTime.hpp for more information on time specificaction strings
+* (in particular the method DayTime.setToString()).
+*
+* Each "EX" line must follow the format:
+*
+* EX pp, startTime, endTime, comment(optional)
+*
+*where
+* pp - SV PRNID
+* startTime - In format defined by latest TS command
+* endTime - In format defined by latest TS command
+* comment - An optional ASCII text comment to be stored with the exclusion
+*
+* Read failues will silently discarded, however, the calling program
+* may access a count of the number of read failures and a list of the
+* failures.
+*/
+#ifndef GPSTK_SVEXCLUSIONLIST_HPP
+#define GPSTK_SVEXCLUSIONLIST_HPP
+
+//
+#include <stdio.h>
+#include <fstream>
+#include <iostream>
+
+// std library
+#include <map>
+
+// gpstk
+#include "DayTime.hpp"
+#include "Exception.hpp"
+#include "gps_constants.hpp"
+
+namespace gpstk
+{
+ class SVExclusion
+ {
+ public:
+ SVExclusion( const gpstk::DayTime begin,
+ const gpstk::DayTime end,
+ const int PRNID,
+ const std::string commentArg );
+ bool isApplicable( const int PRNID, const gpstk::DayTime dt ) const;
+ std::string getComment() const;
+ int getPRNID() const;
+ gpstk::DayTime getBeginTime() const;
+ gpstk::DayTime getEndTime() const;
+
+ protected:
+ int PRN_IDENTIFIER;
+ gpstk::DayTime begExclude;
+ gpstk::DayTime endExclude;
+ std::string comment;
+ };
+
+ // For this first implementation, there will be a multimap
+ // organized by PRN.
+
+ typedef std::multimap< int, SVExclusion >::const_iterator SVXListCI;
+ typedef std::pair<SVXListCI,SVXListCI> SVXListPair;
+
+ class SVExclusionList
+ {
+ public:
+ NEW_EXCEPTION_CLASS( NoSVExclusionFound , gpstk::Exception);
+ NEW_EXCEPTION_CLASS( SVExclusionFileNotFound , gpstk::Exception);
+
+ SVExclusionList( );
+ SVExclusionList( std::string filename )
+ throw(SVExclusionFileNotFound);
+ void addFile( const std::string filename )
+ throw(SVExclusionFileNotFound);
+ bool isExcluded( const int PRN, const gpstk::DayTime dt ) const;
+ void addExclusion( const SVExclusion );
+ gpstk::DayTime getEarliestTime() const;
+ gpstk::DayTime getLatestTime() const;
+ int getNumberOfExclusions() const;
+ const SVExclusion& getApplicableExclusion(
+ const int PRN, const gpstk::DayTime dt)
+ const throw(NoSVExclusionFound);
+ int numberOfReadFailures() const;
+ void listOfReadFailures() const; // List goes to cerr
+ void listOfReadFailures( FILE* fpout ) const;
+ void listOfReadFailures( std::ofstream fsout ) const;
+ void dumpList( FILE* fp ) const;
+
+ protected:
+ gpstk::DayTime earliestTime;
+ gpstk::DayTime latestTime;
+ std::multimap< int, SVExclusion > exclusionMap;
+
+ std::string timeSpecString;
+ int readFailCount;
+ std::list<std::string> readFailList;
+
+ std::string buildFailString(const std::string s,
+ const int lineCount, const std::string filename );
+ };
+
+ inline gpstk::DayTime SVExclusionList::getEarliestTime() const
+ { return(earliestTime); }
+ inline gpstk::DayTime SVExclusionList::getLatestTime() const
+ { return(latestTime); }
+ inline int SVExclusionList::getNumberOfExclusions() const
+ { return(exclusionMap.size()); }
+ inline int SVExclusionList::numberOfReadFailures() const
+ { return(readFailCount); }
+
+ inline std::string SVExclusion::getComment() const {return(comment); }
+ inline int SVExclusion::getPRNID() const { return(PRN_IDENTIFIER); }
+ inline gpstk::DayTime SVExclusion::getBeginTime() const { return(begExclude); }
+ inline gpstk::DayTime SVExclusion::getEndTime() const { return(endExclude); }
+
+}
+#endif
diff --git a/trunk/src/SVPCodeGen.cpp b/trunk/src/SVPCodeGen.cpp
new file mode 100644
index 0000000..f41a855
--- /dev/null
+++ b/trunk/src/SVPCodeGen.cpp
@@ -0,0 +1,118 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SVPCodeGen.cpp#2 $"
+/*
+* SVPCodeGen.cpp
+* SV P-code Generator.
+* Applied Research Laboratories, The University of Texas at Austin
+* August 2003
+*/
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "SVPCodeGen.hpp"
+
+namespace gpstk
+{
+ const long LAST_6SEC_ZCOUNT_OF_WEEK = 403200 - 4;
+
+ SVPCodeGen::SVPCodeGen( const int SVPRNID, const gpstk::DayTime& dt )
+ {
+ currentZTime = dt;
+ PRNID = SVPRNID;
+ }
+
+ void SVPCodeGen::getCurrentSixSeconds( CodeBuffer& pcb )
+ {
+ // Compute appropriate X2A offset
+ long X2count;
+ long X1count = currentZTime.GPSzcount();
+
+ /*
+ Trivial, but special, case for beginning of week. This
+ can't be simplified into the general case due to the beginning
+ of week chip delays that are equivalent to the PRNID. These
+ chips are stored at the beginning of the X2 chips sequence. This
+ is the only time the X2count should be "negative". The offset is
+ handled within the X2Sequence::operator[] method.
+ */
+ if (X1count==0) X2count = -PRNID;
+
+ /*
+ At the beginning of an X1 epoch, the previous X2 epoch
+ will still be unfinished due to delays. The accumulated
+ delay is based on the PRNID and the delay per X1 epoch.
+ Subtract this delay from the max length of the X2 sequence
+ to determine the current chip within the X2 sequence.
+ */
+ else
+ {
+ long cumulativeX2Delay = X1count * X2A_EPOCH_DELAY + PRNID;
+ X2count = MAX_X2_TEST - cumulativeX2Delay;
+ if (X2count<0) X2count += MAX_X2_TEST;
+ }
+
+ /*
+ If this if the final six-second interval of the week,
+ signal the X2 bit sequence generator to use the "end of week"
+ sequence. Otherwise, use the "regular" sequence.
+ */
+ if ( X1count==LAST_6SEC_ZCOUNT_OF_WEEK) X2Seq.setEOWX2Epoch(true);
+ else X2Seq.setEOWX2Epoch(false);
+
+ // Update the time and code state in the CodeBuffer object
+ pcb.updateBufferStatus( currentZTime, P_CODE );
+
+ // Starting at the beginning of the interval, step through
+ // the six second period loading the code buffer as we go.
+ for ( long i=0;i<NUM_6SEC_WORDS;++i )
+ {
+ pcb[i] = X1Seq[i] ^ X2Seq[X2count];
+ X2count += MAX_BIT;
+ if (X2count>=MAX_X2_TEST) X2count -= MAX_X2_TEST;
+ }
+ }
+
+ void SVPCodeGen::increment4ZCounts( )
+ {
+ currentZTime+= 6; // 6 seconds == 4 Zcounts.
+ }
+
+} // end of namespace
diff --git a/trunk/src/SVPCodeGen.hpp b/trunk/src/SVPCodeGen.hpp
new file mode 100644
index 0000000..3874f9d
--- /dev/null
+++ b/trunk/src/SVPCodeGen.hpp
@@ -0,0 +1,151 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SVPCodeGen.hpp#1 $"
+// SVPCodeGen.hpp
+
+#ifndef SVPCODEGEN_HPP
+#define SVPCODEGEN_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+ // Library headers
+#include "DayTime.hpp"
+
+ // Project headers
+#include "PCodeConst.hpp"
+#include "CodeBuffer.hpp"
+#include "X1Sequence.hpp"
+#include "X2Sequence.hpp"
+
+namespace gpstk
+{
+/** @defgroup code Code generator */
+//@{
+ /**
+ * SV P-code Generator.
+ * Applied Research Laboratories, The University of Texas at Austin
+ * August 2003
+ *
+ * SVPCodeGen handles the P-code generation for a particular SV. Each object
+ * is initialized based on the particular satellite (identified by PRN code)
+ * and the Z-count when generation is to begin. The Z-count must be an even
+ * four Z-count (six second) interval. Input values that do not align with four
+ * Z-count boundaries are rounded BACK to the next earliest 4 Z-count boundary.
+ *
+ * After initializaiton, P-code is generated in 6-second "chunks". The chunks
+ * are returned to the caller in CodeBuffer objects. After each call to
+ * getNextSixSeconds( ), the application shall call increment4ZCounts( )
+ * to advance the time by four Z-counts. This separation between getting the
+ * bits and advancing the time is purposely done to allow for easier
+ * coordination when generating code for multiple satellites and performing
+ * other operations on the data after generating the P-code and before moving
+ * on to the next increment.
+ *
+ * A key aspect of this class is the use of the X1Sequence and X2Sequence
+ * classes. Analysis of the P-code generation processes reveals that the
+ * combined X1A/X1B bit stream repeats every 1.5s (1 Z-count) and is the
+ * same for all satellites. At the end of 6s (4 Z-counts), the number of
+ * bits is evenly divisable by 32 (which is the assumed wordsize for the
+ * applicationn). Therefore, to obtain X1 bits, getNextSixSeconds( ) need only
+ * access the indiviual words from the X1Sequence starting at the beginning
+ * of the array and progressing to the end. The restriction that the coder
+ * must start on an even 6-second (4 Z-count) epoch and generate intervals of
+ * six seconds obviates the need to build code to compute bit positions
+ * within X1A cycles or any information on the X1A/X1B relationship. See
+ * documentation on the class X1Sequence for more information.
+ *
+ * The situation with respect to X2A/X2B is somewhat more complicated. Once
+ * again, the X2A/X2B sequence is only 1.5s long. However, the X2 sequence is
+ * "slipped" wrt the X1 sequence in two ways: (1.) once per week (at the
+ * beginning of week), it is slipped by a number of bits corresponding to
+ * the PRN ID, (2.) slipped 37 bits for each X2A cycle. This
+ * means that it is necessary to keep track of the bit position within the
+ * X2 sequence and "chop out" 32 bits at a time. See documentation for the
+ * class X2Sequence for more information.
+ */
+ class SVPCodeGen
+ {
+ public:
+ /**
+ * SVPCodeGen::SVPCodeGen( const int PRNID, const DayTime ) -
+ * Instantiate and initialize a SVPCodeGen object. Based on the
+ * PRNID and the ZCount, determine the appropriate starting
+ * location in the X2 sequence and set it up. Set the current
+ * time.
+ */
+ SVPCodeGen( const int SVPRNID, const gpstk::DayTime& dt );
+ ~SVPCodeGen( ) {};
+
+ /**
+ * Starting at the beginning of the X1 sequence and at the
+ * appropriate location (as determined by time and PRN), advance
+ * through both the X1 sequence and X2 sequences combining the
+ * sequences 32 bits at a time until the X1 sequence for this
+ * six second period has been exhausted. Sometime within that
+ * period, the X2 sequence will be exahusted (including the
+ * appropriate delays) and will rollover to the beginning of
+ * the sequence.
+ */
+ void getCurrentSixSeconds( CodeBuffer& pcb );
+
+ /**
+ * Generally, the only action is to increment the Z-count by
+ * 4 counts. This function COULD be included at the end of
+ * getCurrentSixSeconds( ), however, it has been separated to
+ * allow the calling application to have a consistent view of
+ * all the state conditions (for output and debug) before
+ * moving the time forward for the next generation.
+ */
+ void increment4ZCounts( );
+
+ /**
+ * Returns the current time to the calling method.
+ */
+ const gpstk::DayTime& getCurrentZCount( ) {return( currentZTime);}
+
+ private:
+ gpstk::X1Sequence X1Seq;
+ gpstk::X2Sequence X2Seq;
+ gpstk::DayTime currentZTime;
+ int PRNID;
+ };
+ //@}
+} // end of namespace
+#endif // SVPCODEGEN_HPP
diff --git a/trunk/src/SatID.cpp b/trunk/src/SatID.cpp
new file mode 100644
index 0000000..41c2f74
--- /dev/null
+++ b/trunk/src/SatID.cpp
@@ -0,0 +1,52 @@
+#include "SatID.hpp"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file SatID.cpp
+ * gpstk::SatID - navigation system-independent representation of a satellite.
+ */
+
+namespace gpstk
+{
+ char SatID::fillchar = ' ';
+}
diff --git a/trunk/src/SatID.hpp b/trunk/src/SatID.hpp
new file mode 100644
index 0000000..5aaf7b2
--- /dev/null
+++ b/trunk/src/SatID.hpp
@@ -0,0 +1,174 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SatID.hpp#1 $"
+
+#ifndef GPSTK_SATID_HPP
+#define GPSTK_SATID_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include <iomanip>
+
+/**
+ * @file SatID.hpp
+ * gpstk::SatID - navigation system-independent representation of a satellite.
+ */
+
+namespace gpstk
+{
+ /// Satellite identifier = satellite number (PRN, etc.) and system
+ class SatID
+ {
+ public:
+ /// Supported satellite systems
+ enum System
+ {
+ systemGPS = 1,
+ systemGlonass,
+ systemTransit,
+ systemGeosync,
+ systemMixed
+ };
+
+ SatID() { id=-1; system=systemGPS; }
+ SatID(int p, System s) { id=p; system=s; }
+ void setfill(char c) { fillchar=c; }
+ char getfill() { return fillchar; }
+ // operator=, copy constructor and destructor built by compiler
+ /// return the single-character system descriptor
+ char systemCode() const
+ {
+ switch(system) {
+ case systemGPS: return 'G';
+ case systemMixed: return 'M';
+ case systemGlonass: return 'R';
+ case systemTransit: return 'T';
+ case systemGeosync: return 'S';
+ }
+ return 0;
+ };
+
+ /// operator == for SatID
+ bool operator==(const SatID& right) const
+ { return ((system == right.system) && (id == right.id)); }
+
+ /// operator != for SatID
+ bool operator!=(const SatID& right) const
+ { return ((system != right.system) || (id != right.id)); }
+
+ /// order by system, then number
+ bool operator<(const SatID& right) const
+ {
+ if (system==right.system)
+ return (id<right.id);
+ return (system<right.system);
+ }
+
+ // the following allow you to use, respectively,
+ // std::string gpstk::StringUtils::asString<SatID>(const SatID p)
+ // SatID gpstk::StringUtils::asData<SatID>(const std::string& s)
+
+ int id; ///< satellite identifier.
+ System system; ///< system this satellite is part of.
+ static char fillchar; ///< fill character used during stream output
+ }; // class SatID
+
+ /// stream output for SatID
+ inline std::ostream& operator<<(std::ostream& s, const SatID& p)
+ {
+ switch(p.system)
+ {
+ case SatID::systemGPS:
+ s << "G";
+ break;
+ case SatID::systemMixed:
+ s << "G";
+ break; // this is an error ... assume GPS
+ case SatID::systemGlonass:
+ s << "R";
+ break;
+ case SatID::systemTransit:
+ s << "T";
+ break;
+ case SatID::systemGeosync:
+ s << "S";
+ break;
+ }
+ s << std::setw(2) << std::setfill(p.fillchar) << p.id << std::setfill(' ');
+ return s;
+ }
+
+ /// stream input for SatID
+ inline std::istream& operator>>(std::istream& s, SatID& p)
+ {
+ char c;
+ s.unsetf(std::ios_base::skipws);
+ s >> c;
+ switch(c)
+ {
+ case '0': case '1': case '2': case '3':
+ case '4': case '5': case '6':
+ case '7': case '8': case '9':
+ s.putback(c);
+ p.system = SatID::systemGPS;
+ break;
+ case 'R': case 'r':
+ p.system = SatID::systemGlonass;
+ break;
+ case 'T': case 't':
+ p.system = SatID::systemTransit;
+ break;
+ case 'S': case 's':
+ p.system = SatID::systemGeosync;
+ break;
+ case 'G': case 'g': case ' ':
+ default: // error
+ p.system = SatID::systemGPS;
+ break;
+ }
+ s.setf(std::ios_base::skipws);
+ s >> p.id;
+ return s;
+ }
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/Stats.hpp b/trunk/src/Stats.hpp
new file mode 100644
index 0000000..6226d1c
--- /dev/null
+++ b/trunk/src/Stats.hpp
@@ -0,0 +1,512 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Stats.hpp#7 $"
+
+/**
+ * @file Stats.hpp
+ * One and two-sample statistics
+ */
+
+#ifndef INCLUDE_GPSTK_STATS_HPP
+#define INCLUDE_GPSTK_STATS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "MiscMath.hpp"
+#include "Vector.hpp"
+#include "Exception.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup math */
+ //@{
+
+/** Conventional statistics for one sample. Constructor does the same as
+ * Reset(); use this when starting a new series of input samples.
+ * Results are available at any time by calling N(), Minimum(), Maximum(),
+ * Average(), Variance() and StdDev().
+ */
+ template <class T>
+ class Stats
+ {
+ public:
+ /// constructor
+ explicit Stats() { n=0; weighted=false; }
+
+ /// constructor given a vector of data
+ Stats(Vector<T>& X, Vector<T>& W)
+ {
+ n = 0;
+ weighted = false;
+ Add(X,W);
+ }
+
+ /// reset, i.e. ignore earlier data and restart sampling
+ inline void Reset(void) { n=0; weighted=false; }
+
+ /// access the sample size
+ inline unsigned int N(void) const { return n; }
+
+ /// return minimum value
+ inline T Minimum(void) const { if(n) return min; else return T(); }
+
+ /// return maximum value
+ inline T Maximum(void) const { if(n) return max; else return T(); }
+
+ /// return computed average
+ inline T Average(void) const
+ {
+ // normalization constant is (W=sum wts)/n, -> 1 when all wts=1
+ if(n == 0)
+ return T();
+ if(weighted)
+ return (T(n)*ave/W);
+ return ave;
+ }
+
+ /// return computed variance
+ inline T Variance(void) const
+ {
+ if(n == 0)
+ return T();
+ if(weighted) {
+ T wn=W/T(n);
+ return (var/wn/wn/wn/wn);
+ }
+ return var;
+ }
+
+ /// return computed standard deviation
+ inline T StdDev(void) const
+ {
+ if(n == 0)
+ return T();
+ if(weighted) {
+ T wn=W/T(n);
+ return SQRT(ABS(var))/wn/wn;
+ }
+ return SQRT(ABS(var));
+ }
+
+ /// return the normalization constant = sum weights
+ inline T Normalization(void) const
+ { return W; }
+
+ /// return weight flag
+ inline bool Weighted(void) const
+ { return weighted; }
+
+ /// add a single sample to the computation of statistics, with optional weight
+ void Add(const T& x, const T& wt=T())
+ {
+ if(wt != T()) weighted=true;
+
+ T xx(x);
+ n++;
+ if(n == 1) {
+ min = max = ave = xx;
+ if(weighted) ave *= wt;
+ var = T();
+ W = T();
+ }
+ else {
+ if(xx < min) min=xx;
+ if(xx > max) max=xx;
+ }
+
+ if(weighted) { xx *= wt; W += wt; }
+ ave += (xx-ave)/T(n);
+ if(n > 1)
+ var = (var*T(n-2) + T(n)*(xx-ave)*(xx-ave)/T(n-1))/T(n-1);
+ }
+
+ /// add a Vector<T> of samples to the computation of statistics,
+ /// with optional weights
+ inline void Add(Vector<T>& X, Vector<T> w = Vector<T>())
+ {
+ if(w.size() > 0 && w.size() < X.size()) {
+ Exception e("Inconsistent input: weight vector short");
+ GPSTK_THROW(e);
+ }
+
+ size_t i;
+ if(w.size() > 0)
+ for(i=0; i<X.size(); i++) Add(X(i),w(i));
+ else
+ for(i=0; i<X.size(); i++) Add(X(i));
+ }
+
+ /// remove a sample from the computation of statistics (can't do min and max).
+ void Subtract(T x)
+ {
+ T dn=T(n);
+ if(n > 2) var=(var*(dn-T(1))-dn*(x-ave)*(x-ave)/(dn-T(1)))/(dn-T(2));
+ else var=T();
+
+ if(n > 1) ave=(ave*dn-x)/(dn-T(1));
+ else if(n==1) ave=x;
+ else ave=T();
+
+ n--;
+ }
+
+ /// remove a Vector<T> of samples to the computation of statistics
+ inline void Subtract(Vector<T>& X)
+ {
+ for(size_t i=0; i<X.size(); i++) Subtract(X(i));
+ }
+
+ /// define private members directly; useful in continuing with an object
+ /// that was earlier saved (e.g. to a file).
+ void Load(unsigned int in_n, T in_min, T in_max, T in_ave, T in_var,
+ bool wtd=false, T norm=1.0)
+ {
+ n = in_n;
+ min = in_min;
+ max = in_max;
+ var = in_var;
+ ave = in_ave;
+ weighted = wtd;
+ W = norm;
+ }
+
+ /// combine two Stats (assumed taken from the same or equivalent samples);
+ /// both must be either weighted or unweighted.
+ Stats<T>& operator+=(const Stats<T>& S)
+ {
+ if(S.n == 0) return *this;
+ if(n==0) {
+ *this = S;
+ return *this;
+ }
+ if((weighted && !S.weighted) || (!weighted && S.weighted)) {
+ Exception e("Stats::operator+= : operands have inconsistent weighting");
+ GPSTK_THROW(e);
+ }
+
+ if(S.min < min) min=S.min;
+ if(S.max > max) max=S.max;
+
+ if(weighted) {
+ T W1 = W/n;
+ T W2 = S.W/S.n;
+ var = W1*W1*((n-T(1))*var + n*ave*ave)
+ + W2*W2*((S.n-T(1))*S.var + S.n*S.ave*S.ave);
+ var *= (n+S.n)/(W+S.W);
+ var *= (n+S.n)/(W+S.W);
+ W += S.W;
+ }
+ else {
+ var = ((n-T(1))*var + n*ave*ave);
+ var += ((S.n-T(1))*S.var + S.n*S.ave*S.ave);
+ }
+ ave = (n*ave + S.n*S.ave)/(n+S.n);
+ n += S.n;
+ var -= n*ave*ave;
+ var /= (n-T(1));
+
+ return *this;
+
+ } // end Stats operator+=
+
+ /// dump the data stored in the class
+
+ private:
+ /// Number of samples added to the statistics so far
+ unsigned int n;
+ /// Minimum value
+ T min;
+ /// Maximum value
+ T max;
+ /// Average value
+ T var;
+ /// Variance (square of the standard deviation)
+ T ave;
+ /// Normalization constant = sum weights
+ T W;
+ /// Flag weighted input; ALL input must be consistently weighted or not
+ bool weighted;
+ }; // end class Stats
+
+ /// Output operator for Stats class
+ template <class T>
+ std::ostream& operator<<(std::ostream& s, const Stats<T>& ST)
+ {
+ std::ofstream savefmt;
+ savefmt.copyfmt(s);
+ s << " N = " << ST.N() << (ST.Weighted() ? " ":" not") << " weighted\n";
+ s << " Minimum = "; s.copyfmt(savefmt); s << ST.Minimum();
+ s << " Maximum = "; s.copyfmt(savefmt); s << ST.Maximum() << "\n";
+ s << " Average = "; s.copyfmt(savefmt); s << ST.Average();
+ s << " Std Dev = "; s.copyfmt(savefmt); s << ST.StdDev();
+ return s;
+ }
+
+/** Conventional statistics for two samples. Constructor does the same as
+ * Reset(); use this when starting a new series of input samples.
+ * Results are available at any time by calling N(), Minimum(), Maximum(),
+ * Average(), Variance() and StdDev().
+ */
+ template <class T>
+ class TwoSampleStats
+ {
+ public:
+ /// constructor
+ TwoSampleStats() { n=0; }
+
+ /// constructor given two Vector of data
+ TwoSampleStats(Vector<T>& X, Vector<T>& Y)
+ {
+ n = 0;
+ Add(X,Y);
+ }
+
+ /// Add data to the statistics
+ void Add(const T& X, const T& Y)
+ {
+ if(n == 0) {
+ sumx = sumy = sumx2 = sumy2 = sumxy = T();
+ xmin = xmax = X;
+ ymin = ymax = Y;
+ scalex = scaley = T(1);
+ }
+ if(scalex==T(1) && X!=T()) scalex=ABS(X);
+ if(scaley==T(1) && Y!=T()) scaley=ABS(Y);
+ sumx += X/scalex;
+ sumy += Y/scaley;
+ sumx2 += (X/scalex)*(X/scalex);
+ sumy2 += (Y/scaley)*(Y/scaley);
+ sumxy += (X/scalex)*(Y/scaley);
+ if(X < xmin) xmin=X;
+ if(X > xmax) xmax=X;
+ if(Y < ymin) ymin=Y;
+ if(Y > ymax) ymax=Y;
+ n++;
+ }
+
+ /// Add two Vectors of data to the statistics
+ void Add(const Vector<T>& X, const Vector<T>& Y)
+ {
+ size_t m = (X.size() < Y.size() ? X.size() : Y.size());
+ if(m==0) return;
+ for(size_t i=0; i<m; i++) Add(X(i),Y(i));
+ }
+
+ void Subtract(const T& X, const T& Y)
+ {
+ if(n == 1) {
+ sumx = sumy = sumx2 = sumy2 = sumxy = T();
+ xmin = xmax = T();
+ ymin = ymax = T();
+ scalex = scaley = T(1);
+ return;
+ }
+
+ sumx -= X/scalex;
+ sumy -= Y/scaley;
+ sumx2 -= (X/scalex)*(X/scalex);
+ sumy2 -= (Y/scaley)*(Y/scaley);
+ sumxy -= (X/scalex)*(Y/scaley);
+ n--;
+ }
+
+ void Subtract(const Vector<T>& X, const Vector<T>& Y)
+ {
+ size_t m=(X.size()<Y.size()?X.size():Y.size());
+ if(m==0) return;
+ for(size_t i=0; i<m; i++) Subtract(X(i),Y(i));
+ }
+
+ /// reset, i.e. ignore earlier data and restart sampling
+ inline void Reset(void) { n=0; }
+
+ /// return the sample size
+ inline unsigned int N(void) const { return n; }
+ /// return minimum X value
+ inline T MinimumX(void) const { if(n) return xmin; else return T(); }
+ /// return maximum X value
+ inline T MaximumX(void) const { if(n) return xmax; else return T(); }
+ /// return minimum Y value
+ inline T MinimumY(void) const { if(n) return ymin; else return T(); }
+ /// return maximum Y value
+ inline T MaximumY(void) const { if(n) return ymax; else return T(); }
+
+ /// return computed X average
+ inline T AverageX(void) const
+ { if(n>0) return (scalex*sumx/T(n)); else return T(); }
+
+ /// return computed Y average
+ inline T AverageY(void) const
+ { if(n>0) return (scaley*sumy/T(n)); else return T(); }
+
+ /// return computed X variance
+ inline T VarianceX(void) const
+ {
+ if(n>1) return scalex*scalex*(sumx2-sumx*sumx/T(n))/T(n-1);
+ else return T();
+ }
+
+ /// return computed Y variance
+ inline T VarianceY(void) const
+ {
+ if(n>1) return scaley*scaley*(sumy2-sumy*sumy/T(n))/T(n-1);
+ else return T();
+ }
+
+ /// return computed X standard deviation
+ inline T StdDevX(void) const { return SQRT(VarianceX()); }
+
+ /// return computed Y standard deviation
+ inline T StdDevY(void) const { return SQRT(VarianceY()); }
+
+ /// return slope of best-fit line Y=slope*X + intercept
+ inline T Slope(void) const
+ {
+ if(n>0)
+ return ((scaley/scalex)*(sumxy-sumx*sumy/T(n))/(sumx2-sumx*sumx/T(n)));
+ else
+ return T();
+ }
+
+ /// return intercept of best-fit line Y=slope*X + intercept
+ inline T Intercept(void) const
+ {
+ if(n>0)
+ return (AverageY()-Slope()*AverageX());
+ else
+ return T();
+ }
+
+ /// return uncertainty in slope
+ inline T SigmaSlope(void) const
+ {
+ if(n>2)
+ return (SigmaYX()/(StdDevX()*SQRT(T(n-1))));
+ else
+ return T();
+ }
+
+ /// return correlation
+ inline T Correlation(void) const
+ {
+ if(n>1)
+ {
+ return ( scalex * scaley * (sumxy-sumx*sumy/T(n))
+ / (StdDevX()*StdDevY()*T(n-1)) );
+ }
+ else
+ return T();
+ }
+
+ /// return conditional uncertainty = uncertainty y given x
+ inline T SigmaYX(void) const
+ {
+ if(n>2)
+ {
+ return (StdDevY() * SQRT(T(n-1)/T(n-2))
+ * SQRT(T(1)-Correlation()*Correlation()) );
+ }
+ else return T();
+ }
+
+ /// combine two TwoSampleStats (assumed to be taken from the same or
+ /// equivalent samples)
+ TwoSampleStats<T>& operator+=(TwoSampleStats<T>& S)
+ {
+ if(n + S.n == 0) return *this;
+ if(S.xmin < xmin) xmin=S.xmin;
+ if(S.xmax > xmax) xmax=S.xmax;
+ if(S.ymin < ymin) ymin=S.ymin;
+ if(S.ymax > ymax) ymax=S.ymax;
+ sumx += S.scalex*S.sumx/scalex;
+ sumy += S.scaley*S.sumy/scaley;
+ sumx2 += (S.scalex/scalex)*(S.scalex/scalex)*S.sumx2;
+ sumy2 += (S.scaley/scaley)*(S.scaley/scaley)*S.sumy2;
+ sumxy += (S.scalex/scalex)*(S.scaley/scaley)*S.sumxy;
+ n += S.n;
+ return *this;
+ } // end Stats operator+=
+
+ private:
+ /// Number of samples added to the statistics so far
+ unsigned int n;
+ T xmin, xmax, ymin, ymax, scalex, scaley;
+ T sumx, sumy, sumx2, sumy2, sumxy;
+
+ }; // end class TwoSampleStats
+
+ /// Output operator for TwoSampleStats class
+ template <class T>
+ std::ostream& operator<<(std::ostream& s, const TwoSampleStats<T>& TSS)
+ {
+ std::ofstream savefmt;
+ savefmt.copyfmt(s);
+ s << " N = " << TSS.N() << "\n";
+ s << " Minimum: X = "; s.copyfmt(savefmt); s << TSS.MinimumX();
+ s << " Y = "; s.copyfmt(savefmt); s << TSS.MinimumY();
+ s << " Maximum: X = "; s.copyfmt(savefmt); s << TSS.MaximumX();
+ s << " Y = "; s.copyfmt(savefmt); s << TSS.MaximumY() << "\n";
+ s << " Average: X = "; s.copyfmt(savefmt); s << TSS.AverageX();
+ s << " Y = "; s.copyfmt(savefmt); s << TSS.AverageY();
+ s << " Std Dev: X = "; s.copyfmt(savefmt); s << TSS.StdDevX();
+ s << " Y = "; s.copyfmt(savefmt); s << TSS.StdDevY() << "\n";
+ s << " Intercept = "; s.copyfmt(savefmt); s << TSS.Intercept();
+ s << " Slope = "; s.copyfmt(savefmt); s << TSS.Slope();
+ s << " with uncertainty = "; s.copyfmt(savefmt); s << TSS.SigmaSlope() << "\n";
+ s << " Conditional uncertainty (sigma y given x) = ";
+ s.copyfmt(savefmt); s << TSS.SigmaYX();
+ s << " Correlation = "; s.copyfmt(savefmt); s << TSS.Correlation() << "\n";
+ return s;
+ }
+
+ /** Compute the median of a vector */
+ template <class T>
+ inline T median(const Vector<T>& v)
+ {
+ if(v.size()==0) return T();
+ if(v.size()==1) return v(0);
+ if(v.size()==2) return (v(0)+v(1))/T(2);
+ // insert sort
+ size_t i,j;
+ T x;
+ Vector<T> w(v);
+ for(i=0; i<v.size(); i++) {
+ x = w[i] = v(i);
+ j = i-1;
+ while(j>=0 && x<w[j]) {
+ w[j+1] = w[j];
+ j--;
+ }
+ w[j+1] = x;
+ }
+ if(v.size() % 2)
+ x=w[(v.size()+1)/2-1];
+ else
+ x=(w[v.size()/2-1]+w[v.size()/2])/T(2);
+ delete[] w;
+ return x;
+ } // end median(Vector)
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/StringUtils.hpp b/trunk/src/StringUtils.hpp
new file mode 100644
index 0000000..fb5da0d
--- /dev/null
+++ b/trunk/src/StringUtils.hpp
@@ -0,0 +1,2566 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/StringUtils.hpp#4 $"
+
+/**
+ * @file StringUtils.hpp
+ * StringUtils namespace and GPSTK string utility functions
+ */
+
+#ifndef GPSTK_STRINGUTILS_HPP
+#define GPSTK_STRINGUTILS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <string>
+#include <sstream>
+#include <iomanip>
+#include <iostream>
+#include <list>
+
+/// @todo Get rid of the stdio.h dependency if possible.
+#include <cstdio>
+
+#include <regex.h>
+#include <cctype>
+
+#include "Exception.hpp"
+
+namespace gpstk
+{
+ /**
+ * Stuff to make the C++ string class a little easier to use. All the
+ * functionality here is inlined since they are farily small
+ * functions.
+ *
+ * All functions here will throw gpstk::StringUtils::StringException
+ * on an error. Any std::exception is converted to a
+ * gpstk::StringUtils::StringException so
+ * that's the only exception a user of this class needs to catch.
+ *
+ * For any function that modifies a string, make sure there is a
+ * non-const (std::string&) version and a const (const std::string&)
+ * version. The convention for writing the functions is the non-const
+ * version fully implements the function and the const version calls
+ * the non-const version.
+ *
+ * @sa stringutiltest.cpp for some examples.
+ */
+ namespace StringUtils
+ {
+ /** @defgroup stringutilsgroup Text String Manipulation Tools */
+ //@{
+
+ /// This is thrown instread of a std::exception when a
+ /// gpstk::StringUtils function fails.
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(StringException, Exception);
+
+ /// Class for configuring the appearance of hexDumpData() output
+ class HexDumpDataConfig
+ {
+ public:
+ HexDumpDataConfig()
+ : showIndex(true), hexIndex(true), upperHex(false),
+ idxDigits(4), indexWS(1), groupBy(1), groupWS(1),
+ group2By(8), group2WS(2), bytesPerLine(16), showText(true),
+ separator(0), textWS(4)
+ {}
+ HexDumpDataConfig(bool ashowIndex, bool ahexIndex, bool aupperHex,
+ unsigned aidxDigits, unsigned aindexWS,
+ unsigned agroupBy, unsigned agroupWS,
+ unsigned agroup2By, unsigned agroup2WS,
+ unsigned abytesPerLine, bool ashowText,
+ char aseparator, unsigned atextWS)
+ : showIndex(ashowIndex), hexIndex(ahexIndex),
+ upperHex(aupperHex), idxDigits(aidxDigits),
+ indexWS(aindexWS), groupBy(agroupBy), groupWS(agroupWS),
+ group2By(agroup2By), group2WS(agroup2WS),
+ bytesPerLine(abytesPerLine), showText(ashowText),
+ separator(aseparator), textWS(atextWS)
+ {}
+ bool showIndex; ///< display index into string on each line.
+ bool hexIndex; ///< if true, use hex index numbers (else decimal).
+ bool upperHex; ///< if true, use upper-case hex digits.
+ unsigned idxDigits; ///< number of positions to use for index.
+ unsigned indexWS; ///< number of whitespace charaters between index and data.
+ unsigned groupBy; ///< number of bytes of data to show between spaces.
+ unsigned groupWS; ///< number of whitespace charaters between groups of hex data.
+ unsigned group2By; ///< number of groups to show per 2nd layer group (0=none, must be multiple of groupBy).
+ unsigned group2WS; ///< number of whitespace charaters between 2nd layer groups.
+ unsigned bytesPerLine; ///< number of bytes to display on a line of output (must be evenly divisible by both groupBy and group2By).
+ bool showText; ///< if true, show text of message (unprintable characters become '.'.
+ char separator; ///< character to offset text with (0 = none).
+ unsigned textWS; ///< number of whitespace characters between hex and text.
+ };
+
+ /**
+ * Perform a formatted hex-dump of the (potentially) binary
+ * data to the given stream.
+ * @param s stream to dump data to.
+ * @param data data to hex-dump.
+ * @param indent indents the string by that many spaces.
+ * @param cfg formatting configuration.
+ */
+ inline void hexDumpData(std::ostream& s, const std::string& data,
+ unsigned indent = 0,
+ HexDumpDataConfig cfg = HexDumpDataConfig());
+
+ /**
+ * Perform a formatted hex-dump of the (potentially) binary
+ * data to the given stream.
+ * @param s stream to dump data to.
+ * @param data data to hex-dump.
+ * @param tag string to put at the beginning of each line of output.
+ * @param cfg formatting configuration.
+ */
+ inline void hexDumpData(std::ostream& s, const std::string& data,
+ const std::string& tag,
+ HexDumpDataConfig cfg = HexDumpDataConfig());
+
+ /**
+ * Remove a string from the beginning of another string.
+ * Occurrences of the string \a aString appearing
+ * at the beginning of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param aString string to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline
+ std::string& stripLeading(std::string& s,
+ const std::string& aString,
+ std::string::size_type num = std::string::npos)
+ throw(StringException);
+
+ /**
+ * Remove a string from the beginning of another string const version.
+ * Occurrences of the string \a aString appearing
+ * at the beginning of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param aString string to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string stripLeading(const std::string& s,
+ const std::string& aString,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { std::string t(s); stripLeading(t, aString, num); return t; }
+
+ /**
+ * Remove a string from the beginning of another string.
+ * Occurrences of the string \a pString appearing
+ * at the beginning of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param pString string to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string& stripLeading(std::string& s,
+ const char* pString,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { return stripLeading(s, std::string(pString), num); }
+
+ /**
+ * Remove a string from the beginning of another string const version.
+ * Occurrences of the string \a pString appearing
+ * at the beginning of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param pString string to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string stripLeading(const std::string& s,
+ const char* pString,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { std::string t(s); stripLeading(t, std::string(pString), num); return t; }
+
+ /**
+ * Strip character(s) from the beginning of a string.
+ * Occurrences of the character \a aCharacter appearing
+ * at the beginning of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param aCharacter character to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string& stripLeading(std::string& s,
+ const char aCharacter,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { return stripLeading(s, std::string(1,aCharacter), num); }
+
+ /**
+ * Strip character(s) from the beginning of a string const version.
+ * Occurrences of the character \a aCharacter appearing
+ * at the beginning of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param aCharacter character to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string stripLeading(const std::string& s,
+ const char aCharacter,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { std::string t(s); stripLeading(t, std::string(1,aCharacter), num); return t; }
+
+ /**
+ * Strip blanks from the beginning of a string.
+ * Occurrences of the space character appearing
+ * at the beginning of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string& stripLeading(std::string& s,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { return stripLeading(s,std::string(1,' '),num); }
+
+ /**
+ * Strip blanks from the beginning of a string const version.
+ * Occurrences of the space character appearing
+ * at the beginning of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string stripLeading(const std::string& s,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { std::string t(s); stripLeading(t,std::string(1,' '),num); return t; }
+
+ /**
+ * Remove a string from the end of another string.
+ * Occurrences of the string \a aString appearing
+ * at the end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param aString string to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string& stripTrailing(std::string& s,
+ const std::string& aString,
+ std::string::size_type num = std::string::npos)
+ throw(StringException);
+
+ /**
+ * Remove a string from the end of another string const version.
+ * Occurrences of the string \a aString appearing
+ * at the end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param aString string to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string stripTrailing(const std::string& s,
+ const std::string& aString,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { std::string t(s); stripTrailing(t, aString, num); return t;}
+
+ /**
+ * Remove a string from the end of another string.
+ * Occurrences of the string \a pString appearing
+ * at the end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param pString string to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string& stripTrailing(std::string& s,
+ const char* pString,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { return stripTrailing(s, std::string(pString), num); }
+
+ /**
+ * Remove a string from the end of another string const version.
+ * Occurrences of the string \a pString appearing
+ * at the end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param pString string to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string stripTrailing(const std::string& s,
+ const char* pString,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { std::string t(s); stripTrailing(t, std::string(pString), num); return t; }
+
+ /**
+ * Strip character(s) from the end of a string.
+ * Occurrences of the character \a aCharacter appearing
+ * at the end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param aCharacter character to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string& stripTrailing(std::string& s,
+ const char aCharacter,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { return stripTrailing(s, std::string(1,aCharacter), num); }
+
+ /**
+ * Strip character(s) from the end of a string const version.
+ * Occurrences of the character \a aCharacter appearing
+ * at the end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param aCharacter character to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string stripTrailing(const std::string& s,
+ const char aCharacter,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { std::string t(s); stripTrailing(t, std::string(1,aCharacter), num); return t; }
+
+ /**
+ * Strip blanks from the end of a string.
+ * Occurrences of the space character appearing
+ * at the end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string& stripTrailing(std::string& s,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { return stripTrailing(s, std::string(1,' '), num); }
+
+ /**
+ * Strip blanks from the end of a string const version.
+ * Occurrences of the space character appearing
+ * at the end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string stripTrailing(const std::string& s,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { std::string t(s); stripTrailing(t, std::string(1,' '), num); return t;}
+
+ /**
+ * Remove a string from the beginning and end of another string.
+ * Occurrences of the string \a aString appearing
+ * at the beginning and end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param aString string to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string& strip(std::string& s,
+ const std::string& aString,
+ std::string::size_type num = std::string::npos)
+ throw(StringException);
+
+
+ /**
+ * Remove a string from the beginning and end of another string const version.
+ * Occurrences of the string \a aString appearing
+ * at the beginning and end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param aString string to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string strip(const std::string& s,
+ const std::string& aString,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { std::string t(s); strip(t, aString, num); return t; }
+
+
+ /**
+ * Remove a string from the beginning and end of another string.
+ * Occurrences of the string \a pString appearing
+ * at the beginning and end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param pString string to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string& strip(std::string& s,
+ const char* pString,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { return strip(s, std::string(pString), num); }
+
+ /**
+ * Remove a string from the beginning and end of another string cosnt version.
+ * Occurrences of the string \a pString appearing
+ * at the beginning and end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param pString string to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string strip(const std::string& s,
+ const char* pString,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { std::string t(s); strip(t, std::string(pString), num); return t; }
+
+ /**
+ * Strip character(s) from the beginning and end of a string.
+ * Occurrences of the character \a aCharacter appearing
+ * at the beginning and end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param aCharacter character to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string& strip(std::string& s,
+ const char aCharacter,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { return strip(s, std::string(1,aCharacter), num); }
+
+ /**
+ * Strip character(s) from the beginning and end of a string const version.
+ * Occurrences of the character \a aCharacter appearing
+ * at the beginning and end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param aCharacter character to remove.
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string strip(const std::string& s,
+ const char aCharacter,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { std::string t(s); strip(t, std::string(1,aCharacter), num); return t;}
+
+ /**
+ * Strip blanks from the beginning and end of a string.
+ * Occurrences of the space character appearing
+ * at the beginning and end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string& strip(std::string& s,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { return strip(s, std::string(1, ' '), num); }
+
+ /**
+ * Strip blanks from the beginning and end of a string const version.
+ * Occurrences of the space character appearing
+ * at the beginning and end of the string \a s are removed.
+ * @param s string to be stripped (modified).
+ * @param num maximum number of occurrences to remove.
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string strip(const std::string& s,
+ std::string::size_type num = std::string::npos)
+ throw(StringException)
+ { std::string t(s); strip(t, std::string(1, ' '), num); return t;}
+
+ /**
+ * Converts all of the receiver's characters that are in the
+ * first specified string to the corresponding character in
+ * the second specified string.
+ * @param aString string to perform translation on.
+ * @param inputChars characters in \a aString to translate from.
+ * @param outputChars characters to translate to.
+ * @param pad pad character in the event inputChars and
+ * outputChars are not equal length. The pad character will
+ * become the translated character.
+ */
+ inline std::string translate(const std::string& aString,
+ const std::string& inputChars,
+ const std::string& outputChars,
+ const char pad = ' ');
+
+ /**
+ * Changes occurrences of a specified pattern to a specified
+ * replacement string. You can specify the number of changes
+ * to perform. The default is to change all occurrences of
+ * the pattern. You can also specify the position in the
+ * receiver at which to begin.
+ * @param aString string to perform translation on.
+ * @param inputString The pattern string as a reference to an
+ * object of type string. The library searches for the
+ * pattern string within the receiver's data.
+ * @param outputString The replacement string as a reference
+ * to an object of type string. It replaces the occurrences
+ * of the pattern string in the receiver's data.
+ * @param startPos The position to start the search at within
+ * the receiver's data. The default is 0.
+ * @param numChanges the number of patterns to search for and
+ * change. The default is to change all occurrences of the
+ * pattern.
+ */
+ inline std::string change(const std::string& aString,
+ const std::string& inputString,
+ const std::string& outputString,
+ std::string::size_type startPos = 0,
+ unsigned numChanges = (unsigned)-1);
+
+ /**
+ * Changes occurrences of a specified pattern to a specified
+ * replacement string. You can specify the number of changes
+ * to perform. The default is to change all occurrences of
+ * the pattern. You can also specify the position in the
+ * receiver at which to begin.
+ * @param aString string to perform translation on.
+ * @param inputString The pattern string as a reference to an
+ * object of type string. The library searches for the
+ * pattern string within the receiver's data.
+ * @param outputString The replacement string as a reference
+ * to an object of type string. It replaces the occurrences
+ * of the pattern string in the receiver's data.
+ * @param startPos The position to start the search at within
+ * the receiver's data. The default is 0.
+ * @param numChanges the number of patterns to search for and
+ * change. The default is to change all occurrences of the
+ * pattern.
+ */
+ inline std::string& change(std::string& aString,
+ const std::string& inputString,
+ const std::string& outputString,
+ std::string::size_type startPos = 0,
+ unsigned numChanges = (unsigned)-1);
+
+ /**
+ * Right-justifies the receiver in a string of the specified
+ * length. If the receiver's data is shorter than the
+ * requested length (\a length), it is padded on the left with
+ * the pad character (\a pad). The default pad
+ * character is a blank.
+ * @param s string to be modified.
+ * @param length new desired length of string.
+ * @param pad character to pad string with (blank by default).
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s. */
+ inline std::string& rightJustify(std::string& s,
+ const std::string::size_type length,
+ const char pad = ' ')
+ throw(StringException);
+
+ /**
+ * Right-justifies the receiver in a string of the specified
+ * length (const version). If the receiver's data is shorter than the
+ * requested length (\a length), it is padded on the left with
+ * the pad character (\a pad). The default pad
+ * character is a blank.
+ * @param s string to be modified.
+ * @param length new desired length of string.
+ * @param pad character to pad string with (blank by default).
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s. */
+ inline std::string rightJustify(const std::string& s,
+ const std::string::size_type length,
+ const char pad = ' ')
+ throw(StringException)
+ { std::string t(s); return rightJustify(t, length, pad); }
+
+ /**
+ * Left-justifies the receiver in a string of the specified
+ * length. If the new length (\a length) is larger than the
+ * current length, the string is extended by the pad
+ * character (\a pad). The default pad character is a
+ * blank.
+ * @param s string to be modified.
+ * @param length new desired length of string.
+ * @param pad character to pad string with (blank by default).
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s. */
+ inline std::string& leftJustify(std::string& s,
+ const std::string::size_type length,
+ const char pad = ' ')
+ throw(StringException);
+
+ /**
+ * Left-justifies the receiver in a string of the specified
+ * length (const version). If the new length (\a length) is larger
+ * than the current length, the string is extended by the pad
+ * character (\a pad). The default pad character is a
+ * blank.
+ * @param s string to be modified.
+ * @param length new desired length of string.
+ * @param pad character to pad string with (blank by default).
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s. */
+ inline std::string leftJustify(const std::string& s,
+ const std::string::size_type length,
+ const char pad = ' ')
+ throw(StringException)
+ { std::string t(s); return leftJustify(t, length, pad); }
+
+ /**
+ * Change the length of a string by adding to the beginning and end.
+ * The string \a s is modified to the specified
+ * length. If the string is shorter than
+ * \a length, then the string is truncated with the
+ * left-most \a length characters remaining.
+ * Otherwise, characters are added to the beginning and end of the
+ * string until the string is the specified length, where the
+ * number of characters added to the beginning and the end
+ * does not differ by more than one so the original string
+ * is centered.
+ * @param s string to be modified.
+ * @param length new desired length of string.
+ * @param pad character to pad string with (blank by default).
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string& center(std::string& s,
+ const std::string::size_type length,
+ const char pad = ' ')
+ throw(StringException);
+
+ /**
+ * Change the length of a string by adding to the beginning and end
+ * (const version).
+ * The string \a s is modified to the specified
+ * length. If the string is shorter than
+ * \a length, then the string is truncated with the
+ * left-most \a length characters remaining.
+ * Otherwise, characters are added to the beginning and end of the
+ * string until the string is the specified length, where the
+ * number of characters added to the beginning and the end
+ * does not differ by more than one so the original string
+ * is centered.
+ * @param s string to be modified.
+ * @param length new desired length of string.
+ * @param pad character to pad string with (blank by default).
+ * @throws StringException if there's a std::exception thrown.
+ * @return a reference to \a s.
+ */
+ inline std::string center(const std::string& s,
+ const std::string::size_type length,
+ const char pad = ' ')
+ throw(StringException)
+ { std::string t(s); return center(t, length, pad); }
+
+ /**
+ * Convert a string to a double precision floating point number.
+ * @param s string containing a number.
+ * @return double representation of string.
+ */
+ inline double asDouble(const std::string& s)
+ { return strtod(s.c_str(), 0); }
+
+ /**
+ * Convert a string to an integer.
+ * @param s string containing a number.
+ * @return long integer representation of string.
+ */
+ inline long asInt(const std::string& s)
+ { return strtol(s.c_str(), 0, 10); }
+
+ /**
+ * Convert a string to an unsigned integer.
+ * @param s string containing a number.
+ * @return unsigned long integer representation of string.
+ */
+ inline unsigned long asUnsigned(const std::string& s)
+ { return strtoul(s.c_str(), 0, 10); }
+
+ /**
+ * Convert a string to a single precision floating point number.
+ * @param s string containing a number.
+ * @return single representation of string.
+ */
+ inline float asFloat(const std::string& s)
+ throw(StringException);
+
+ /**
+ * Convert a string to a big precision floating point number.
+ * @param s string containing a number.
+ * @return long double representation of string.
+ */
+ inline long double asLongDouble(const std::string& s)
+ throw(StringException);
+
+ /**
+ * Convert a value in a string to a type specified by the template
+ * class. The template class type must have stream operators
+ * defined.
+ * @param x object to turn into the templatized type.
+ * @return the template object of \a x.
+ */
+ template <class X>
+ inline X asData(const std::string& s)
+ throw(StringException);
+
+ /**
+ * Convert a long double to a string in fixed notation.
+ * @param x long double.
+ * @param precision the number of decimal places you want displayed.
+ * @return string representation of \a x.
+ */
+ inline std::string asString(const long double x,
+ const std::string::size_type precision = 21);
+
+ /**
+ * Convert a double to a string in fixed notation.
+ * @param x double.
+ * @param precision the number of decimal places you want displayed.
+ * @return string representation of \a x.
+ */
+ inline std::string asString(const double x,
+ const std::string::size_type precision = 17);
+
+ /**
+ * Convert any old object to a string.
+ * The class must have stream operators defined.
+ * @param x object to turn into a string.
+ * @return string representation of \a x.
+ */
+ template <class X>
+ inline std::string asString(const X x);
+
+ /**
+ * Convert a decimal string to a hexadecimal string.
+ * Modify the string such that the decimal integer is now
+ * represented as hexadecimal. Only the first decimal encountered is
+ * changed; the rest of the string is unmodified.
+ * @param s string containing an integer.
+ * @return reference to modified \a s.
+ */
+ inline std::string& d2x(std::string& s)
+ throw(StringException);
+
+ /**
+ * Convert a decimal string to a hexadecimal string.
+ * Given a string containing a decimal integer, convert the
+ * integer from base 10 to base 16 and return the result. No
+ * prefix is added. Only the first decimal encountered is
+ * changed; the rest of the string is unmodified.
+ * @param s string containing an integer.
+ * @return string containing a hexadecimal number.
+ */
+ inline std::string d2x(const std::string& s)
+ throw(StringException)
+ { std::string t(s); return d2x(t); }
+
+ /**
+ * Convert a hexadecimal string to a decimal string.
+ * Modify the string such that the hexadecimal number is now
+ * represented as decimal. Only the first hex number encountered
+ * is changed; the rest of the string is unmodified.
+ * @param s string containing an integer.
+ * @return reference to modified \a s.
+ */
+ inline std::string& x2d(std::string& s)
+ throw(StringException);
+
+ /**
+ * Convert a hexadecimal string to a decimal string.
+ * Given a string containing a hexadecimal number, convert the
+ * integer from base 16 to base 10 and return the result.
+ * Only the first hex number encountered
+ * is changed; the rest of the string is unmodified.
+ * @param s string containing an integer.
+ * @return string containing a hexadecimal number.
+ */
+ inline std::string x2d(const std::string& s)
+ throw(StringException)
+ { std::string t(s); return x2d(t); }
+
+ /**
+ * Convert a character string to a hexadecimal string.
+ * Modify the string such that the character string is now
+ * represented as series of hexadecimal digits.
+ * @param s string to convert.
+ * @return reference to modified \a s.
+ */
+ inline std::string& c2x(std::string& s)
+ throw(StringException);
+
+ /**
+ * Convert a character string to a hexadecimal string.
+ * @param s string containing an integer.
+ * @return string containing a sequence of hexadecimal numbers.
+ */
+ inline std::string c2x(const std::string& s)
+ throw(StringException)
+ { std::string t(s); return c2x(t); }
+
+ /**
+ * Convert a hexadecimal string to an int.
+ * Only the first hex number encountered is converted.
+ * @param s string containing a hex integer.
+ * @return a long holding the value of \a s.
+ */
+ inline unsigned int x2int(const std::string& s)
+ throw(StringException);
+
+
+ /**
+ * Convert an int to a string.
+ * @param i the integer to convert
+ * @return a string with the hex equivalent of i
+ */
+ inline std::string int2x(const unsigned int& i)
+ throw(StringException);
+
+ /**
+ * Replace all instances of \a oldString with \a newString in \a s.
+ * @param s the string whose contents will be modified.
+ * @param oldString the string to search for in \a s.
+ * @param newString the string to replace \a oldString in \a s.
+ * @return a reference to the modified string.
+ */
+ inline std::string& replaceAll(std::string& s,
+ const std::string& oldString,
+ const std::string& newString )
+ throw(StringException);
+
+ /**
+ * isDigitString is exactly like the C function isDigit
+ * except it checks all the characters of string \a s to see if
+ * they are all digits.
+ * @param s the string to check the digits in.
+ * @return true if \a s is all digits, false otherwise.
+ */
+ inline bool isDigitString(const std::string& s);
+
+ /**
+ * isDecimalString is like isDigitString() except it allows a
+ * single period ('.') character in the string.
+ * @param s the string to check.
+ * @return true if \a s is a valid fixed-point number.
+ */
+ inline bool isDecimalString(const std::string& s);
+
+ /**
+ * isAlphaString is exactly like the C function isAlpha
+ * except it checks all the characters of string \a s to see if
+ * they are all alphabet characters.
+ * @param s the string to check the characters in.
+ * @return true if \a s is all digits, false otherwise.
+ */
+ inline bool isAlphaString(const std::string& s);
+
+ /**
+ * Perform pattern matching on strings.
+ * Looks for a pattern in a string. Wildcards are allowed.
+ * Uses POSIX regular expressions.
+ * @param s string to search.
+ * @param aPattern pattern to search for. This is a POSIX
+ * regular expression.
+ * @param zeroOrMore character representing wildcards
+ * matching strings of zero or more characters (default '*').
+ * @param oneOrMore character representing plus sign
+ * matching strings of one or more characters (default '+').
+ * @param anyChar character representing wildcards matching a
+ * single arbitrary character (default '.').
+ * @return string representing the first match of \a aPattern in
+ * \a s. Returns a null string if no match is found.
+ */
+ inline std::string matches(const std::string& s,
+ const std::string& aPattern,
+ const char zeroOrMore = '*',
+ const char oneOrMore = '+',
+ const char anyChar = '.' )
+ throw(StringException);
+
+ /**
+ * Perform pattern matching on strings.
+ * Looks for a pattern in a string. Wildcards are allowed.
+ * Uses POSIX regular expressions.
+ * @param s string to search.
+ * @param aPattern pattern to search for. This is a POSIX
+ * regular expression.
+ * @param zeroOrMore character representing wildcards
+ * matching strings of zero or more characters (default '*').
+ * @param oneOrMore character representing plus sign
+ * matching strings of one or more characters (default '+').
+ * @param anyChar character representing wildcards matching a
+ * single arbitrary character (default '.').
+ * @return t if a match is found, f if not.
+ */
+ inline bool isLike(const std::string& s,
+ const std::string& aPattern,
+ const char zeroOrMore = '*',
+ const char oneOrMore = '+',
+ const char anyChar = '.' )
+ throw(StringException)
+ { return matches(s, aPattern, zeroOrMore, oneOrMore, anyChar) !=
+ std::string(); }
+
+
+ /**
+ * Perform pattern matching on strings.
+ * Looks for a pattern in a string. Wildcards are allowed.
+ * Uses POSIX regular expressions.
+ * @param s string to search.
+ * @param pPattern pattern to search for. This is a POSIX
+ * regular expression.
+ * @param zeroOrMore character representing wildcards
+ * matching strings of zero or more characters (default '*').
+ * @param oneOrMore character representing plus sign
+ * matching strings of one or more characters (default '+').
+ * @param anyChar character representing wildcards matching a
+ * single arbitrary character (default '.').
+ * @return t if a match is found, f if not.
+ */
+ inline bool isLike(const std::string& s,
+ const char* pPattern,
+ const char zeroOrMore = '*',
+ const char oneOrMore = '+',
+ const char anyChar = '.' )
+ throw(StringException)
+ { return matches(s, std::string(pPattern), zeroOrMore, oneOrMore, anyChar) !=
+ std::string(); }
+
+
+ /**
+ * Work-horse method for printf. Substitutes patterns
+ * matching \a pat with \a rep. Use only one pattern/token
+ * at a time! This used to be DayTime::iprint().
+ * @param fmt format to use for this time.
+ * @param pat regular expression pattern to match.
+ * @param rep sprintf token replacement. First character is
+ * token character used in fmt, remainder is sprintf token to
+ * use. For example, with fmt="%15S", pat="%[ 0-]?[[:digit:]]*S",
+ * and rep="Sd", the fmt will be translated to "%15d" before
+ * using it in a sprintf call like printf("%15d"), \a to.
+ * @param to the value to stuff into the string.
+ * @return \a fmt with \a pat replaced by \a to. If there is no
+ * match, \a fmt is returned unchanged.
+ */
+ template <class T>
+ std::string formattedPrint(const std::string& fmt,
+ const std::string& pat,
+ const std::string& rep,
+ T to)
+ throw(StringException);
+
+ /**
+ * Get a substring of a string.
+ * Try to avoid using this, use the stl string's substr
+ * method instead (and ::leftJustify if needed).
+ */
+ inline std::string subString(const std::string& s,
+ const std::string::size_type startPos = 0,
+ const std::string::size_type length = std::string::npos,
+ const char pad = ' ' )
+ throw(StringException);
+
+ /**
+ * Change all upper-case letters in a string to lower-case.
+ * \a s is modified as a result.
+ * @param s string to change to lower case.
+ * @return a copy of the original string, all in lower-case.
+ */
+ inline std::string& lowerCase(std::string& s);
+
+ /**
+ * Change all upper-case letters in a string to lower-case.
+ * Does not modify the original string.
+ * @param s a string containing upper-case characters.
+ * @return a copy of the original string, all in lower-case.
+ */
+ inline std::string lowerCase(const std::string& s)
+ { std::string t(s); return lowerCase(t); }
+
+ /**
+ * Change all lower-case letters in a string to upper-case.
+ * \a s is modified as a result.
+ * @param s string to change to upper case.
+ * @return a copy of the original string, all in upper-case.
+ */
+ inline std::string& upperCase(std::string& s);
+
+ /**
+ * Change all lower-case letters in a string to upper-case.
+ * Does not modify the original string.
+ * @param s a string containing lower-case characters.
+ * @return a copy of the original string, all in upper-case.
+ */
+ inline std::string upperCase(const std::string& s)
+ { std::string t(s); return upperCase(t); }
+
+ /**
+ * Make a string from a void pointer.
+ * This function should not be used. Instead, use the string
+ * constructor as follows:
+ * \code string((char*)p, size); \endcode
+ * @param p pointer to memory.
+ * @param size length of the data to turn into a string.
+ * @return string object containing the contents of \a p.
+ */
+ inline std::string memToString(const void* p,
+ const std::string::size_type size);
+
+ /**
+ * Returns the first word in string \a s without modifying the string.
+ * @param s the string to count the words from.
+ * @param delimiter the character that marks the start and
+ * end of a word.
+ * @return the first word from \a s;
+ */
+ inline std::string firstWord(const std::string& s,
+ const char delimiter = ' ')
+ throw(StringException);
+
+ /**
+ * Counts the number of words in \a s and returns it.
+ * @param s the string to count the words from.
+ * @param delimiter the character that marks the start and
+ * end of a word.
+ * @return the number of words in \a s.
+ */
+ inline int numWords(const std::string& s,
+ const char delimiter = ' ')
+ throw(StringException);
+
+ /**
+ * Returns \a numWords words starting with \a firstWord from
+ * \a s (if any).
+ * @param s a string with the word you want removed.
+ * @param firstWord the number of the first word you want from \a s.
+ * The first word is word 0.
+ * @param numWords number of words to get from \a s.
+ * @param delimiter the character that marks the start and
+ * end of a word.
+ * @return the first word from \a s or an empty string if there is
+ * no \a wordNum'th word.
+ */
+ inline std::string words(const std::string& s,
+ const std::string::size_type firstWord = 0,
+ const std::string::size_type numWords = std::string::npos,
+ const char delimiter = ' ')
+ throw(StringException);
+
+ /**
+ * Returns word number \a wordNum from \a s (if any).
+ * @param s a string with the word you want removed.
+ * @param wordNum the number of the word you want from \a s.
+ * The first word is word 0.
+ * @param delimiter the character that marks the start and
+ * end of a word.
+ * @return the first word from \a s or an empty string if there is
+ * no \a wordNum'th word.
+ */
+ inline std::string word(const std::string& s,
+ const std::string::size_type wordNum = 0,
+ const char delimiter = ' ')
+ throw(StringException)
+ { return words(s, wordNum, 1, delimiter); }
+
+ /**
+ * Removes the first word off string \a s and returns it.
+ * \a s is modified as a result.
+ * @param s a string with the word you want removed.
+ * @param delimiter the character that marks the start and
+ * end of a word.
+ * @return the first word from \a s
+ */
+ inline std::string stripFirstWord(std::string& s,
+ const char delimiter = ' ')
+ throw(StringException);
+
+ /**
+ * Removes indicated words from the string \a s.
+ * \a s is modified as a result.
+ * @param s a string with the words you want removed.
+ * @param first the first word to be removed (the first word is 0).
+ * @param wordsToReplace the number of words you want removed.
+ * @param delimiter the character that marks the start and
+ * end of a word.
+ * @return a reference to string \a s with the words removed.
+ */
+ inline std::string& removeWords(std::string& s,
+ const std::string::size_type first = 0,
+ const std::string::size_type wordsToReplace = std::string::npos,
+ const char delimiter = ' ')
+ throw(StringException);
+
+ /**
+ * Convert a double to a scientific notation number.
+ * @param d the double to convert
+ * @param length length (in characters) of output, including exponent
+ * @param expLen length (in characters) of the exponent, with sign
+ * @param showSign if true, reserves 1 character for +/- sign
+ */
+ inline std::string doub2sci(const double& d,
+ const std::string::size_type length,
+ const std::string::size_type expLen,
+ const bool showSign = true);
+
+ /**
+ * Convert scientific notation to FORTRAN notation.
+ * As an example, the string "1.5636E5" becomes " .15636D6".
+ * Note that the first character of the string will be '-' if
+ * the number is negative or ' ' if the first character is positive.
+ * @param aStr string with number to convert
+ * @param length length (in characters) of number, including exponent.
+ * @param expLen length (in characters of exponent, not including sign.
+ * @param startPos start position of number in string
+ * @throws Exception if the string is not a number in
+ * scientific notation
+ */
+ inline std::string& sci2for(std::string& aStr,
+ const std::string::size_type length,
+ const std::string::size_type startPos = 0,
+ const std::string::size_type expLen = 3)
+ throw(StringException);
+
+ /**
+ * Convert double precision floating point to a string
+ * containing the number in FORTRAN notation.
+ * As an example, the number 156360 becomes ".15636D6".
+ * @param d number to convert.
+ * @param length length (in characters) of number, including exponent.
+ * @param expLen length (in characters of exponent, including sign.
+ * @return a string containing \a d in FORTRAN notation.
+ */
+ inline std::string doub2for(const double& d,
+ const std::string::size_type length,
+ const std::string::size_type expLen)
+ throw(StringException);
+
+ /**
+ * Convert FORTRAN representation of a double precision
+ * floating point in a string to a number.
+ * As an example, the number ".15636D6" becomes 156360.
+ * @param aStr string containing FORTRAN representation of number.
+ * @param length length (in characters) of number, including exponent.
+ * @param startPos beginning of number in string.
+ * @return value of the number.
+ */
+ inline double for2doub(const std::string& aStr,
+ const std::string::size_type length,
+ const std::string::size_type startPos = 0);
+
+ /**
+ * Change a string into printable characters. Control
+ * characters (0-26) are changed to ^@, ^A, etc. Other
+ * non-printable characters are changed to hex sequences
+ * enclosed in <>.
+ * @param aStr the string to make printable.
+ */
+ inline std::string printable(const std::string& aStr)
+ throw(StringException);
+
+ /**
+ * Nicely expands the input string into several lines, non-const
+ * version.
+ * @param aStr the string to be modified.
+ * @param lineDelim a string to put between every line.
+ * @param indent an indentataion string used on all but the first line
+ * @param firstIndent is the indentation used on the first line.
+ * @param len the maximum length of string to put on a line.
+ * @param wordDelim the character that separates each word.
+ * @return the string nicely formatted.
+ */
+ inline std::string& prettyPrint(std::string& aStr,
+ const std::string& lineDelim = "\n",
+ const std::string& indent = "",
+ const std::string& firstIndent = " ",
+ const std::string::size_type len = 80,
+ const char wordDelim = ' ')
+ throw(StringException);
+
+ /**
+ * Const version of prettyPrint, which nicely expands the
+ * input string into several lines.
+ * @param aStr the string to be modified.
+ * @param lineDelim a string to put between every line.
+ * @param indent an indentataion string used on all but the first line
+ * @param firstIndent is the indentation used on the first line.
+ * @param len the maximum length of string to put on a line.
+ * @param wordDelim the character that separates each word.
+ * @return the string nicely formatted.
+ */
+ inline std::string prettyPrint(const std::string& aStr,
+ const std::string& lineDelim = "\n",
+ const std::string& indent = "",
+ const std::string& firstIndent = " ",
+ const std::string::size_type len = 80,
+ const char wordDelim = ' ')
+ throw(StringException)
+ {
+ std::string temp(aStr);
+ prettyPrint(temp, lineDelim, indent, firstIndent, len, wordDelim);
+ return temp;
+ }
+
+ } // namespace StringUtils
+
+} // namespace gpstk
+
+// ################################################
+// Implementations of inline functions follow
+// ################################################
+
+namespace gpstk
+{
+
+ namespace StringUtils
+ {
+ inline void hexDumpData(std::ostream& s, const std::string& data,
+ unsigned indent, HexDumpDataConfig cfg)
+ {
+ std::string instr(indent, ' ');
+ hexDumpData(s, data, instr, cfg);
+ }
+
+ inline void hexDumpData(std::ostream& s, const std::string& data,
+ const std::string& tag, HexDumpDataConfig cfg)
+ {
+ std::string ascii="";
+ unsigned indent = tag.length();
+ int col = 0;
+ int datasize=data.size();
+ std::string groupws(cfg.groupWS, ' ');
+ std::string group2ws(cfg.group2WS, ' ');
+ std::string indexws(cfg.indexWS, ' ');
+ std::string textws(cfg.textWS, ' ');
+ unsigned linesize;
+
+ if (cfg.groupBy && ((cfg.bytesPerLine % cfg.groupBy) != 0))
+ {
+ s << "hexDumpData: cfg.bytesPerLine % cfg.groupBy != 0"
+ << std::endl;
+ return;
+ }
+ if (cfg.group2By && ((cfg.bytesPerLine % cfg.group2By) != 0))
+ {
+ s << "hexDumpData: cfg.bytesPerLine % cfg.group2By != 0"
+ << std::endl;
+ return;
+ }
+ if (cfg.groupBy && ((cfg.group2By % cfg.groupBy) != 0))
+ {
+ s << "hexDumpData: cfg.group2By % cfg.groupBy != 0"
+ << std::endl;
+ return;
+ }
+
+ // line format:
+ // <tag><index>:<indexws><group1byte1>...<group1byte[groupBy]><groupws>...<group[group2By]byte1>...<group[group2By]byte[groupBy]><group2ws>....<byte[bytesPerLine]><textws><separator><text><separator>\n
+ linesize = indent;
+ if (cfg.showIndex)
+ linesize += cfg.idxDigits + 1 + cfg.indexWS;
+ linesize += cfg.bytesPerLine * 2;
+ unsigned w2 = 0;
+ unsigned w1 = 0;
+ if (cfg.group2By)
+ w2 = (cfg.bytesPerLine / cfg.group2By) - 1;
+ if (cfg.groupBy)
+ w1 = (cfg.bytesPerLine / cfg.groupBy) - w2 - 1;
+ if (cfg.groupBy > 0)
+ linesize += cfg.groupWS * w1;
+ if (cfg.group2By > 0)
+ linesize += cfg.group2WS * w2;
+ /*
+ linesize doesn't include text stuff
+ if (cfg.showText)
+ linesize += cfg.textWS + cfg.bytesPerLine;
+ if (cfg.separator)
+ linesize += 2;
+ */
+
+ for (int i=0; i<datasize; i++)
+ {
+ if (i%cfg.bytesPerLine==0)
+ {
+ s << tag;
+ col = indent;
+ if (cfg.showIndex)
+ {
+ if (cfg.hexIndex)
+ {
+ s << std::hex;
+ if (cfg.upperHex)
+ s << std::uppercase;
+ else
+ s << std::nouppercase;
+ }
+ else
+ s << std::dec;
+ s << std::setfill('0');
+ s << std::setw(cfg.idxDigits) << i << ":" << indexws;
+ s << std::dec << std::nouppercase;
+ }
+ col += cfg.idxDigits + 1 + cfg.indexWS;
+ }
+ unsigned char c=data[i];
+ if (isprint(c))
+ ascii += c;
+ else
+ ascii += '.';
+ if (cfg.upperHex)
+ s << std::uppercase;
+ else
+ s << std::nouppercase;
+ s << std::hex << std::setw(2) << (int)c << std::dec
+ << std::nouppercase;
+ col += 2;
+ if (((i % cfg.bytesPerLine) == (cfg.bytesPerLine-1)) ||
+ (i == (datasize-1)))
+ {
+ if (cfg.showText)
+ {
+ int extra = linesize-col;
+ std::string space(extra, ' ');
+ s << space << textws;
+ if (cfg.separator)
+ s << cfg.separator;
+ s << ascii;
+ if (cfg.separator)
+ s << cfg.separator;
+ s << std::endl;
+ }
+ // this *should* be updated at the beginning of the loop
+ //col=indent+6;
+ ascii.erase();
+ }
+ else if (cfg.group2By && ((i % cfg.group2By) == (cfg.group2By-1)))
+ {
+ s << group2ws;
+ col += cfg.group2WS;
+ }
+ else if (cfg.groupBy && ((i % cfg.groupBy) == (cfg.groupBy-1)))
+ {
+ s << groupws;
+ col += cfg.groupWS;
+ }
+ }
+ }
+
+ // Keep searching for aString at the start of s
+ // until num == 0 or aString is not found at the start of s
+ inline std::string& stripLeading(std::string& s,
+ const std::string& aString,
+ std::string::size_type num)
+ throw(StringException)
+ {
+ try
+ {
+ if (aString == "")
+ return s;
+
+ while((num > 0) &&
+ (s.find(aString,0) == 0) &&
+ (s.length() > 0))
+ {
+ s.erase(0,aString.length());
+ --num;
+ }
+ return s;
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ // keep searching for aString at the end of s
+ // until aString isn't found there or num == 0
+ inline std::string& stripTrailing(std::string& s,
+ const std::string& aString,
+ std::string::size_type num)
+ throw(StringException)
+ {
+ try
+ {
+ std::string::size_type pos = s.length() - aString.length();
+
+ // empty string, etc.
+ if ((pos > s.length()) || (aString == ""))
+ return s;
+
+ while((num > 0) &&
+ (s.rfind(aString,pos) == pos) &&
+ (s.length() > 0))
+ {
+ s.erase(pos, std::string::npos);
+ --num;
+ pos = s.length() - aString.length();
+ }
+ return s;
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline std::string& strip(std::string& s,
+ const std::string& aString,
+ std::string::size_type num)
+ throw(StringException)
+ {
+ stripLeading(s, aString, num);
+ stripTrailing(s, aString, num);
+ return s;
+ }
+
+ inline std::string translate(const std::string& aString,
+ const std::string& inputChars,
+ const std::string& outputChars,
+ const char pad)
+ {
+ std::string rv = aString;
+ std::string::size_type aspos = 0;
+ std::string::size_type inpos = std::string::npos;
+ char toc = pad;
+
+ // By starting at the last position, we avoid infinite
+ // loops in case someone did something dumb, like, for
+ // example, setting inputChars=outputChars.
+ while ((aspos = rv.find_first_of(inputChars, aspos))
+ != std::string::npos)
+ {
+ // figure out which char we found;
+ inpos = inputChars.find(rv[aspos]);
+ if (outputChars.length() < inpos)
+ toc = pad;
+ else
+ toc = outputChars[inpos];
+ rv[aspos] = toc;
+
+ aspos++; // try to guarantee no infinite loops
+ }
+
+ return rv;
+ }
+
+ inline std::string change(const std::string& aString, const std::string& inputString,
+ const std::string& outputString,
+ std::string::size_type startPos, unsigned numChanges)
+ {
+ std::string rv(aString);
+ change(rv, inputString, outputString, startPos, numChanges);
+ return rv;
+ }
+
+ inline std::string& change(std::string& aString, const std::string& inputString,
+ const std::string& outputString,
+ std::string::size_type startPos, unsigned numChanges)
+ {
+ int count = 0;
+ std::string::size_type opos = startPos;
+
+ while (count < numChanges)
+ {
+ std::string::size_type pos = aString.find(inputString, opos);
+ if (pos != std::string::npos)
+ {
+ count++;
+ aString.replace(pos, inputString.length(), outputString);
+ opos = pos + outputString.length();
+ }
+ else
+ break;
+ }
+
+ return aString;
+ }
+
+ // if the string is bigger than length, truncate it from the left.
+ // otherwise, add pad characters to it's left.
+ inline std::string& rightJustify(std::string& s,
+ const std::string::size_type length,
+ const char pad)
+ throw(StringException)
+ {
+ try
+ {
+ if(length < s.length())
+ {
+ s = s.substr(s.length()-length, std::string::npos);
+ }
+ else
+ {
+ s.insert((std::string::size_type)0, length-s.length(), pad);
+ }
+ return s;
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ // if the string is bigger than length, truncate it from the right.
+ // otherwise, add pad characters to it's right.
+ inline std::string& leftJustify(std::string& s,
+ const std::string::size_type length,
+ const char pad)
+ throw(StringException)
+ {
+ try
+ {
+ if(length < s.length())
+ {
+ s = s.substr(0, length);
+ }
+ else
+ {
+ s.append(length-s.length(), pad);
+ }
+ return s;
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ // leftJustify if s is bigger than length.
+ // otherwise, add pad to the left and right of s.
+ inline std::string& center(std::string& s,
+ const std::string::size_type length,
+ const char pad)
+ throw(StringException)
+ {
+ try
+ {
+ if(length < s.length())
+ {
+ leftJustify(s, length, pad);
+ }
+ else {
+ std::string::size_type leftOff = s.length() + (length - s.length()) / 2;
+ leftJustify(s, leftOff, pad);
+ rightJustify(s, length, pad);
+ }
+ return s;
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+
+ inline float asFloat(const std::string& s)
+ throw(StringException)
+ {
+ try
+ {
+ std::istringstream is(s);
+ float f;
+ is >> f;
+ return f;
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline long double asLongDouble(const std::string& s)
+ throw(StringException)
+ {
+ try
+ {
+ std::istringstream is(s);
+ long double x;
+ is >> x;
+ return x;
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ template <class X>
+ inline X asData(const std::string& s)
+ throw(StringException)
+ {
+ try
+ {
+ std::istringstream is(s);
+ X x;
+ is >> x;
+ return x;
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline std::string asString(const long double x, const std::string::size_type precision)
+ {
+ std::ostringstream ss;
+ ss << std::fixed << std::setprecision(precision) << x ;
+ return ss.str();
+ }
+
+ inline std::string asString(const double x, const std::string::size_type precision)
+ {
+ std::ostringstream ss;
+ ss << std::fixed << std::setprecision(precision) << x;
+ return ss.str();
+ }
+
+ template<class X>
+ inline std::string asString(const X x)
+ {
+ std::ostringstream ss;
+ ss << x;
+ return ss.str();
+ }
+
+ // decimal to hex...
+ inline std::string& d2x(std::string& s)
+ throw(StringException)
+ {
+ try
+ {
+ // remove the integer from s, including
+ // leading spaces and 0's
+ long l = asInt(s);
+ stripLeading(s);
+ stripLeading(s, "0");
+ stripLeading(s, asString<long>(l));
+
+ // put the int in a stringstream to convert it
+ std::ostringstream st;
+ st << std::hex << l << std::dec;
+
+ // add the new hex to s
+ s.insert(0, upperCase(st.str()) );
+
+ return s;
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ // character to hex...
+ inline std::string& c2x(std::string& s)
+ throw(StringException)
+ {
+ const char hexDigits[] = "0123456789ABCDEF";
+ try
+ {
+ std::string old(s);
+ const unsigned char *pSource = (unsigned char *)old.c_str();
+ unsigned n = old.length();
+
+ s.resize(n * 2, 0);
+
+ for (int i = 0; i < n * 2;)
+ {
+ unsigned char c = *pSource++;
+ s[i++] = hexDigits[ c / 16 ];
+ s[i++] = hexDigits[ c % 16 ];
+ }
+
+ return s;
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ /// @todo Need to find a way to combine this with x2d.
+ // hex to a long.
+ inline unsigned int x2int(const std::string& s)
+ throw (StringException)
+ {
+ try
+ {
+ std::string t(s);
+ // remove the "0x" part, leading zeros and spaces from the
+ // string
+ // ex. ' 0x003' -> '3'
+ stripLeading(t);
+ stripLeading(t, "0x", 1);
+ stripLeading(t, "0");
+
+ // if it's empty, it was 0
+ if (t.empty())
+ {
+ return 0;
+ }
+
+ // make the stringstream, get the integer, and
+ // remove it from the string
+ std::istringstream strstr(t);
+ int i;
+ strstr >> std::hex >> i;
+ return i;
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ /// @todo detecting 0 isn't quite right...
+ // hex to decimal
+ inline std::string& x2d(std::string& s)
+ throw(StringException)
+ {
+ try
+ {
+ // remove the "0x" part, leading zeros and spaces from the
+ // string
+ // ex. ' 0x003' -> '3'
+ stripLeading(s);
+ stripLeading(s, "0x", 1);
+ stripLeading(s, "0");
+
+ // make the stringstream, get the integer, and
+ // remove it from the string
+ std::istringstream strstr(s);
+ int i = 0;
+ strstr >> std::hex >> i;
+ stripLeading(s, asString<int>(asInt(s)), 1);
+
+ // append the decimal to the existing string
+ s.insert(0,asString<int>(i));
+ return s;
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline std::string int2x(const unsigned int& i)
+ throw(StringException)
+ {
+ try
+ {
+ std::ostringstream ss;
+ ss << std::hex << i;
+ return ss.str();
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline std::string& replaceAll(std::string& s,
+ const std::string& oldString,
+ const std::string& newString)
+ throw(StringException)
+ {
+ try
+ {
+ int spot = s.find(oldString, 0);
+ while (spot != std::string::npos)
+ {
+ s.replace(spot, oldString.length(), newString);
+ spot += newString.length();
+ spot = s.find(oldString, spot);
+ }
+ return s;
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline bool isDigitString(const std::string& s)
+ {
+ if (s.size() == 0)
+ return false;
+
+ std::string::size_type index = 0;
+ if((s[0] == '-') || (s[0] == '+'))
+ index++;
+ for( ; index < s.size(); index++)
+ if (!isdigit(s[index]))
+ return false;
+ return true;
+ }
+
+ inline bool isDecimalString(const std::string& s)
+ {
+ if (s.size() == 0)
+ return false;
+
+ std::string::size_type index = 0;
+ bool sawdot = false;
+ if((s[0] == '-') || (s[0] == '+'))
+ index++;
+ for( ; index < s.size(); index++)
+ {
+ if (s[index] == '.')
+ {
+ if (sawdot)
+ return false;
+ else sawdot = true;
+ }
+ else if (!isdigit(s[index]))
+ return false;
+ }
+ return true;
+ }
+
+ inline bool isAlphaString(const std::string& s)
+ {
+ if (s.size() == 0)
+ return false;
+
+ std::string::size_type index;
+ for(index = 0; index < s.size(); index++)
+ if (!isalpha(s[index]))
+ return false;
+ return true;
+ }
+
+ inline std::string matches(const std::string& s,
+ const std::string& aPattern,
+ const char zeroOrMore,
+ const char oneOrMore,
+ const char anyChar)
+ throw(StringException)
+ {
+ const std::string::size_type regErrorBufSize = 512;
+
+ std::string thisPattern(aPattern);
+ std::string thisStr(s);
+
+ // check if something other than the regex standard
+ // characters (*,+,.) is used for those variables
+ if (zeroOrMore != '*')
+ {
+ replaceAll(thisPattern, "*", "\\*");
+ replaceAll(thisPattern, std::string(1, zeroOrMore), "*");
+ }
+ if (oneOrMore != '+')
+ {
+ replaceAll(thisPattern, "+", "\\+");
+ replaceAll(thisPattern, std::string(1, oneOrMore), "+");
+ }
+ if (anyChar != '.')
+ {
+ replaceAll(thisPattern, ".", "\\.");
+ replaceAll(thisPattern, std::string(1, anyChar), ".");
+ }
+ regmatch_t matches;
+ regex_t regExp;
+ char errorMsg[regErrorBufSize];
+ int rc;
+
+ if ((rc = regcomp(®Exp, thisPattern.c_str(), REG_EXTENDED)) != 0)
+ {
+ regerror(rc, ®Exp, errorMsg, regErrorBufSize - 1);
+ regfree(®Exp);
+ StringException strerr("Regexp error: " + std::string(errorMsg));
+ GPSTK_THROW(strerr);
+ }
+ rc = regexec(®Exp, thisStr.c_str(), 1, &matches,
+ REG_NOTBOL | REG_NOTEOL);
+ if ( (rc != 0) && (rc != REG_NOMATCH) )
+ {
+ regerror(rc, ®Exp, errorMsg, regErrorBufSize - 1);
+ regfree(®Exp);
+ StringException strerr("Regexp error: " + std::string(errorMsg));
+ GPSTK_THROW(strerr);
+ }
+
+ regfree(®Exp);
+ if (rc == REG_NOMATCH)
+ return std::string();
+ else
+ return thisStr.substr(matches.rm_so, matches.rm_eo - matches.rm_so);
+ }
+
+ template <class T>
+ inline std::string formattedPrint(const std::string& fmt, const std::string& pat,
+ const std::string& rep, T to)
+ throw(StringException)
+ {
+ regex_t re;
+ regmatch_t r;
+ std::string rv = fmt;
+ int rc;
+ char buffer[513];
+
+ // if the regex doesnt compile, toast =)
+ if ((rc = regcomp(&re, pat.c_str(), REG_EXTENDED)) != 0)
+ {
+ StringException se("Bad regular expression: regcomp() rc = " +
+ asString(rc));
+ GPSTK_THROW(se);
+ }
+
+ int len = rv.length();
+ for (int i = 0; i < len; i++)
+ {
+ if ((rc = regexec(&re, rv.c_str(), 1, &r, 0)) != 0)
+ break;
+ else
+ {
+ std::string mac = rv.substr(r.rm_so, r.rm_eo - r.rm_so);
+ mac = replaceAll(mac, rep.substr(0,1), rep.substr(1));
+ sprintf(buffer, mac.c_str(), to);
+ rv = rv.substr(0, r.rm_so) + std::string(buffer) +
+ rv.substr(r.rm_eo);
+ i = r.rm_eo;
+ }
+ }
+
+ regfree(&re);
+
+ return rv;
+ }
+
+ inline std::string subString(const std::string& s,
+ const std::string::size_type startPos,
+ const std::string::size_type length,
+ const char pad)
+ throw(StringException)
+ {
+ try
+ {
+ if(startPos >= s.length())
+ {
+ return std::string(length, pad);
+ }
+ std::string temp = s.substr(startPos, length);
+ return leftJustify(temp, length, pad);
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline std::string& lowerCase(std::string& s)
+ {
+ for(std::string::size_type i = 0; i < s.length(); i++)
+ {
+ s[i] = tolower(s[i]);
+ }
+ return s;
+ }
+
+ inline std::string& upperCase(std::string& s)
+ {
+ for(std::string::size_type i = 0; i < s.length(); i++)
+ {
+ s[i] = toupper(s[i]);
+ }
+ return s;
+ }
+
+ inline std::string memToString(const void* p,
+ const std::string::size_type size)
+ {
+ unsigned char* q = (unsigned char*)p;
+ std::string s(size,'\0');
+ for (int i=0; i<size; i++)
+ {
+ s[i] = (unsigned char)(*q++);
+ }
+ return s;
+ }
+
+ inline std::string firstWord(const std::string& s,
+ const char delimiter)
+ throw(StringException)
+ {
+ try
+ {
+ // return s if there are no delimiters
+ std::string::size_type pos = s.find_first_not_of(delimiter);
+ if (pos == std::string::npos)
+ {
+ return s;
+ }
+ // find the end delimiter (if any) and return the string
+ std::string::size_type endPos = s.find(delimiter, pos);
+ if (endPos == std::string::npos)
+ {
+ return std::string(s, pos, endPos);
+ }
+ else
+ {
+ return std::string(s, pos, endPos - pos);
+ }
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline int numWords(const std::string& s,
+ const char delimiter)
+ throw(StringException)
+ {
+ try
+ {
+ std::string t(s);
+ stripTrailing(t, delimiter);
+
+ int words = 0;
+ while(t.length())
+ {
+ stripLeading(t, delimiter);
+ stripLeading(t, firstWord(t, delimiter));
+ words++;
+ }
+ return words;
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline std::string words(const std::string& s,
+ const std::string::size_type firstWord,
+ const std::string::size_type numWords,
+ const char delimiter)
+ throw(StringException)
+ {
+ try
+ {
+ if ((firstWord == 0) && (numWords == 1))
+ return StringUtils::firstWord(s, delimiter);
+ if (numWords == 0)
+ return "";
+ std::string::size_type wordNum = 0;
+ std::string::size_type pos = 0, startPos = 0;
+
+ std::string toReturn;
+
+ // get position of word wordNum
+ pos = s.find_first_not_of(delimiter, pos);
+ while ((pos != std::string::npos) && (pos <= s.length()))
+ {
+ if (wordNum == firstWord)
+ startPos = pos;
+ // get first delimter after word wordNum
+ pos = s.find(delimiter, pos);
+ if ((numWords != -1) && (wordNum == (firstWord + (numWords-1))))
+ break;
+ pos = s.find_first_not_of(delimiter, pos);
+ wordNum++;
+ }
+
+ if (pos == std::string::npos)
+ return s.substr(startPos);
+ return s.substr(startPos, pos-startPos);
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline std::string stripFirstWord(std::string& s,
+ const char delimiter)
+ throw(StringException)
+ {
+ try
+ {
+ stripLeading(s, delimiter);
+ std::string toReturn = firstWord(s, delimiter);
+ stripLeading(s, toReturn);
+ stripLeading(s, delimiter);
+ return toReturn;
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline std::string& removeWords(std::string& s,
+ const std::string::size_type first,
+ const std::string::size_type wordsToReplace,
+ const char delimiter)
+ throw(StringException)
+ {
+ try
+ {
+ std::string temp(s);
+ std::string::size_type thisWord;
+
+ // empty out s. add the new parts of s as they are parsed
+ s.erase(0, std::string::npos);
+
+ // copy the part of the string through word 'first'
+ // by appending any delimiters then appending
+ // a word for however many words we're keeping.
+ for(thisWord = 0; thisWord < first; thisWord++)
+ {
+ s.append(temp.find_first_not_of(delimiter),delimiter);
+ stripLeading(temp, delimiter);
+ s.append(firstWord(temp));
+ stripLeading(temp, firstWord(temp));
+ }
+
+ // skip over the number of words to replace, making
+ // sure to stop when there's no more string left
+ // to skip
+ for(thisWord = 0;
+ (thisWord < wordsToReplace) &&
+ (temp.length() != 0);
+ thisWord++)
+ {
+ stripLeading(temp, delimiter);
+ stripLeading(temp, firstWord(temp));
+ }
+
+ // add on any extra words at the end
+ s.append(temp);
+
+ return s;
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline std::string doub2sci(const double& d,
+ const std::string::size_type length,
+ const std::string::size_type expLen,
+ const bool showSign)
+ {
+ std::string toReturn;
+ short exponentLength = expLen;
+
+ /* Validate the assumptions regarding the input arguments */
+ if (exponentLength < 0) exponentLength = 1;
+ if (exponentLength > 3) exponentLength = 3;
+
+ std::stringstream c;
+ c.setf(std::ios::scientific, std::ios::floatfield);
+
+ // length - 3 for special characters ('.', 'e', '+' or '-')
+ // - exponentlength (e04)
+ // - 1 for the digit before the decimal (2.)
+ // and if showSign == true,
+ // an extra -1 for '-' or ' ' if it's positive or negative
+ int expSize = 0;
+ if (showSign)
+ expSize = 1;
+ c.precision(length - 3 - exponentLength - 1 - expSize);
+
+
+ c << d;
+
+ c >> toReturn;
+
+ return toReturn;
+ }
+
+ inline std::string& sci2for(std::string& aStr,
+ const std::string::size_type length,
+ const std::string::size_type startPos,
+ const std::string::size_type expLen)
+ throw(StringException)
+ {
+ try
+ {
+ std::string::size_type idx = aStr.find('.', startPos);
+ int expAdd = 0;
+ std::string exp;
+ long iexp;
+ char tmpbuf[10], format[10];
+ bool redoexp=false;
+
+ // Check for decimal place within specified boundaries
+ if ((idx == 0) || (idx >= (startPos + length - expLen - 1)))
+ {
+ StringException e("sci2for: no decimal point in string");
+ GPSTK_THROW(e);
+ }
+
+ // Here, account for the possibility that there are
+ // no numbers to the left of the decimal, but do not
+ // account for the possibility of non-scientific
+ // notation (more than one digit to the left of the
+ // decimal)
+ if (idx > startPos)
+ {
+ redoexp = true;
+ // Swap digit and decimal.
+ aStr[idx] = aStr[idx-1];
+ aStr[idx-1] = '.';
+ // Only add one to the exponent if the number is non-zero
+ if (asDouble(aStr.substr(startPos, length)) != 0.0)
+ expAdd = 1;
+ }
+
+ idx = aStr.find('e', startPos);
+ if (idx == std::string::npos)
+ {
+ idx = aStr.find('E', startPos);
+ if (idx == std::string::npos)
+ {
+ StringException e("sci2for:no 'e' or 'E' in string");
+ GPSTK_THROW(e);
+ }
+ }
+ // Change the exponent character
+ aStr[idx] = 'D';
+
+ // Change the exponent itself
+ if (redoexp)
+ {
+ exp = aStr.substr(idx + 1, std::string::npos);
+ iexp = asInt(exp);
+ iexp += expAdd;
+
+ aStr.erase(idx + 1);
+ if (iexp < 0)
+ {
+ aStr += "-";
+ iexp -= iexp*2;
+ }
+ else
+ aStr += "+";
+ aStr += rightJustify(asString(iexp),expLen,'0');
+
+ }
+
+ // if the number is positive, append a space
+ // (if it's negative, there's a leading '-'
+ if (aStr[0] == '.')
+ {
+ aStr.insert((std::string::size_type)0, 1, ' ');
+ }
+
+ return aStr;
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ } // end sci2for
+
+
+ inline std::string doub2for(const double& d,
+ const std::string::size_type length,
+ const std::string::size_type expLen)
+ throw(StringException)
+ {
+ try
+ {
+ short exponentLength = expLen;
+
+ /* Validate the assumptions regarding the input arguments */
+ if (exponentLength < 0) exponentLength = 1;
+ if (exponentLength > 3) exponentLength = 3;
+
+ std::string toReturn = doub2sci(d, length, exponentLength, true);
+ sci2for(toReturn, length, 0, exponentLength);
+
+ return toReturn;
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+
+ inline double for2doub(const std::string& aStr,
+ const std::string::size_type length,
+ const std::string::size_type startPos)
+ {
+ std::string s(aStr);
+ strip(s);
+ std::string::size_type pos;
+
+ // you can blame Rinex for these special checks
+ if (s.empty())
+ {
+ return 0;
+ }
+
+ if ( ((pos = s.find('E', startPos)) != std::string::npos) ||
+ ((pos = s.find('d', startPos)) != std::string::npos) ||
+ ((pos = s.find('D', startPos)) != std::string::npos))
+ {
+ s[pos] = 'e';
+ }
+ // just treat it like a double
+ else
+ {
+ return asDouble(aStr.substr(length, startPos));
+ }
+
+ std::stringstream st;
+ st << s;
+
+ double d;
+ st >> d;
+
+ return d;
+ }
+
+ inline std::string printable(const std::string& aStr)
+ throw(StringException)
+ {
+ try
+ {
+ std::string rv(aStr);
+
+ for (int i = 0; i < rv.length(); i++)
+ {
+ char c = rv[i];
+ if (!isprint(c))
+ {
+ if (iscntrl(c))
+ {
+ rv.replace(i,1,2,'^');
+ rv.replace(i+1,1,1, 64+(c));
+ }
+ else
+ {
+ std::string mess(c2x(rv.substr(i,1)));
+ rv.replace(i,1,"<"+mess+">");
+ }
+ }
+ }
+
+ return rv;
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ inline std::string& prettyPrint(std::string& aStr,
+ const std::string& lineDelim,
+ const std::string& indent,
+ const std::string& firstIndent,
+ const std::string::size_type len,
+ const char wordDelim)
+ throw(StringException)
+ {
+ try
+ {
+ // chop aStr up into words based on wordDelim
+ std::list<std::string> wordList;
+ std::string tempStr(aStr);
+ stripLeading(tempStr, wordDelim);
+ while (!tempStr.empty())
+ {
+ std::string theFirstWord = firstWord(tempStr,wordDelim);
+ wordList.push_back(theFirstWord);
+ stripLeading(tempStr, theFirstWord);
+ stripLeading(tempStr, wordDelim);
+ }
+
+ // now reassemble the words into sentences
+ std::string toReturn;
+ std::string thisLine = firstIndent, lastLine;
+ while (!wordList.empty())
+ {
+ lastLine = thisLine;
+ if (!lastLine.empty())
+ thisLine += wordDelim;
+ thisLine += wordList.front();
+
+ if (thisLine.length() > len)
+ {
+ // if the first word is longer than a line, just add it.
+ // if this is the first line, remember to add the indent.
+ if (lastLine.empty())
+ {
+ if (toReturn.empty())
+ lastLine += firstIndent;
+ lastLine = wordList.front();
+ }
+
+ toReturn += lastLine + lineDelim;
+
+ thisLine.erase();
+ lastLine.erase();
+
+ thisLine = indent;
+ }
+ else
+ wordList.erase(wordList.begin());
+ }
+ if (!thisLine.empty())
+ toReturn += (thisLine + lineDelim);
+
+ aStr = toReturn;
+ return aStr;
+ }
+ catch(StringException &e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ catch(std::exception &e)
+ {
+ StringException strexc("Exception thrown: " + std::string(e.what()));
+ GPSTK_THROW(strexc);
+ }
+ }
+
+ //@}
+
+ } // namespace StringUtils
+
+} // namespace gpstk
+#endif // GPSTK_STRINGUTILS_HPP
+
+
+
diff --git a/trunk/src/TabularEphemerisStore.cpp b/trunk/src/TabularEphemerisStore.cpp
new file mode 100644
index 0000000..2cba9e3
--- /dev/null
+++ b/trunk/src/TabularEphemerisStore.cpp
@@ -0,0 +1,265 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TabularEphemerisStore.cpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file TabularEphemerisStore.cpp
+ * Store & access a list of SV pvts
+ */
+
+#include "TabularEphemerisStore.hpp"
+#include "MiscMath.hpp"
+#include "ECEF.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace gpstk::StringUtils;
+
+namespace gpstk
+{
+ //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+ void TabularEphemerisStore::dump(short detail, std::ostream& s) const
+ {
+ s << "Dump of TabularEphemerisStore:" << std::endl;
+ if(detail >= 0) {
+ EphMap::const_iterator it;
+ s << " Data stored for " << pe.size() << " satellites." << std::endl;
+ if(detail == 0) return;
+ for(it=pe.begin(); it!=pe.end(); it++) {
+ s << " PRN " << it->first << " : "
+ << it->second.size() << " records.";
+ if(detail == 1) { s << std::endl; continue; }
+ s << " Data:" << std::endl;
+ SvEphMap::const_iterator jt;
+ for(jt=it->second.begin(); jt!=it->second.end(); jt++) {
+ s << " " << jt->first << " P "
+ << std::fixed << std::setprecision(6)
+ << std::setw(13) << jt->second.x[0] << " "
+ << std::setw(13) << jt->second.x[1] << " "
+ << std::setw(13) << jt->second.x[2] << " "
+ << std::setw(13) << jt->second.dtime
+ << " V "
+ << std::setw(13) << jt->second.v[0] << " "
+ << std::setw(13) << jt->second.v[1] << " "
+ << std::setw(13) << jt->second.v[2] << " "
+ << std::setw(13) << jt->second.ddtime
+ << std::endl;
+ }
+ }
+ }
+
+ } // end of TabularEphemerisStore::dump
+
+
+ //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+ void TabularEphemerisStore::edit(const DayTime& tmin, const DayTime& tmax) throw()
+ {
+ EphMap::iterator kt;
+ for(kt=pe.begin(); kt!=pe.end(); kt++) {
+ SvEphMap::reverse_iterator jt=(kt->second).rbegin();
+ while(jt != (kt->second).rend()) {
+ if(jt->first < tmin || jt->first > tmax) (kt->second).erase(jt->first);
+ jt ++;
+ }
+ }
+ } // end TabularEphemerisStore::edit
+
+ //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+ // Remove all data
+ void TabularEphemerisStore::clear() throw()
+ {
+ pe.clear();
+ initialTime = DayTime::END_OF_TIME;
+ finalTime = DayTime::BEGINNING_OF_TIME;
+ }
+
+ //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
+ Xvt TabularEphemerisStore::getPrnXvt(short prn, const gpstk::DayTime& t)
+ const throw(EphemerisStore::NoEphemerisFound)
+ {
+ EphMap::const_iterator svmap = pe.find(prn);
+ if (svmap==pe.end()) {
+ NoEphemerisFound e("Ephemeris for PRN " + asString(prn) + " not found.");
+ GPSTK_THROW(e);
+ }
+
+ const SvEphMap& sem=svmap->second;
+ SvEphMap::const_iterator i=sem.find(t);
+
+ Xvt sv;
+ if (i!= sem.end() && haveVelocity)
+ {
+ sv = i->second;
+ sv.x[0] *= 1.e3; // m
+ sv.x[1] *= 1.e3; // m
+ sv.x[2] *= 1.e3; // m
+ sv.dtime *= 1.e-6; // sec
+ sv.v[0] *= 1.e-1; // m/sec
+ sv.v[1] *= 1.e-1; // m/sec
+ sv.v[2] *= 1.e-1; // m/sec
+ sv.ddtime *= 1.e-10; // sec/sec
+
+ sv.dtime += -2*(sv.x[0]/C_GPS_M)*(sv.v[0]/C_GPS_M)
+ -2*(sv.x[1]/C_GPS_M)*(sv.v[1]/C_GPS_M)
+ -2*(sv.x[2]/C_GPS_M)*(sv.v[2]/C_GPS_M);
+ return sv;
+ }
+
+ /// Note that the order of the Lagrange interpolation is twice this value
+ const int half=5;
+
+ // i will be the lower bound, j the upper (in time).
+ i = sem.lower_bound(t);
+ SvEphMap::const_iterator j=i;
+ if(i == sem.begin() || --i == sem.begin()) {
+ NoEphemerisFound e("Inadequate data before requested time, PRN " + asString(prn));
+ GPSTK_THROW(e);
+ }
+ for(int k=0; k<half-1; k++) {
+ i--;
+ if(i == sem.begin() && k<half-2) {
+ NoEphemerisFound e("Inadequate data before requested time, PRN " + asString(prn));
+ GPSTK_THROW(e);
+ }
+ j++;
+ if(j == sem.end()) {
+ NoEphemerisFound e("Inadequate data after requested time, PRN " + asString(prn));
+ GPSTK_THROW(e);
+ }
+ }
+
+ // pull data and interpolate
+ SvEphMap::const_iterator itr;
+ DayTime t0=i->first;
+ double dt=t-t0,err;
+ std::vector<double> times,X,Y,Z,T,VX,VY,VZ,F;
+
+
+ for (itr=i; itr!=sem.end(); itr++)
+ {
+ times.push_back(itr->first - t0); // sec
+ X.push_back(itr->second.x[0]); // km
+ Y.push_back(itr->second.x[1]); // km
+ Z.push_back(itr->second.x[2]); // km
+ T.push_back(itr->second.dtime); // microsec
+ VX.push_back(itr->second.v[0]); // decimeters/sec
+ VY.push_back(itr->second.v[1]); // decimeters/sec
+ VZ.push_back(itr->second.v[2]); // decimeters/sec
+ F.push_back(itr->second.ddtime); // 1.e-4 microsec/sec
+ if(itr == j) break;
+ }
+
+ if (haveVelocity)
+ {
+ sv.x[0] = LagrangeInterpolation(times,X,dt,err);
+ sv.x[1] = LagrangeInterpolation(times,Y,dt,err);
+ sv.x[2] = LagrangeInterpolation(times,Z,dt,err);
+ sv.dtime = LagrangeInterpolation(times,T,dt,err);
+ sv.v[0] = LagrangeInterpolation(times,VX,dt,err);
+ sv.v[1] = LagrangeInterpolation(times,VY,dt,err);
+ sv.v[2] = LagrangeInterpolation(times,VZ,dt,err);
+ sv.ddtime = LagrangeInterpolation(times,F,dt,err);
+ }
+ else {
+ LagrangeInterpolation(times,X,dt,sv.x[0],sv.v[0]);
+ LagrangeInterpolation(times,Y,dt,sv.x[1],sv.v[1]);
+ LagrangeInterpolation(times,Z,dt,sv.x[2],sv.v[2]);
+ LagrangeInterpolation(times,T,dt,sv.dtime,sv.ddtime);
+ sv.v[0] *= 1.e4; // decimeters/sec
+ sv.v[1] *= 1.e4; // decimeters/sec
+ sv.v[2] *= 1.e4; // decimeters/sec
+ sv.ddtime *= 1.e4; // 1.e-4 microsec/sec
+ }
+
+ sv.x[0] *= 1.e3; // m
+ sv.x[1] *= 1.e3; // m
+ sv.x[2] *= 1.e3; // m
+ sv.dtime *= 1.e-6; // sec
+ sv.v[0] *= 1.e-1; // m/sec
+ sv.v[1] *= 1.e-1; // m/sec
+ sv.v[2] *= 1.e-1; // m/sec
+ sv.ddtime *= 1.e-10; // sec/sec
+
+ // add relativity correction to dtime
+ // this only for consistency with BCEphemerisStore::getPrnXvt ....
+ // dtr = -2*dot(R,V)/(c*c) = -4.4428e-10 * ecc * sqrt(A(m))*sinE
+ // (do it this way for numerical reasons)
+ sv.dtime += -2*(sv.x[0]/C_GPS_M)*(sv.v[0]/C_GPS_M)
+ -2*(sv.x[1]/C_GPS_M)*(sv.v[1]/C_GPS_M)
+ -2*(sv.x[2]/C_GPS_M)*(sv.v[2]/C_GPS_M);
+
+ return sv;
+
+ } // end Xvt TabularEphemerisStore::getPrnXvt
+
+ //-----------------------------------------------------------------------------
+ //-----------------------------------------------------------------------------
+ void TabularEphemerisStore::addEphemeris(const SP3Data& data)
+ throw()
+ {
+ DayTime t = data.time;
+ short prn = data.id;
+ Xvt& xvt = pe[prn][t];
+
+ if (data.flag=='P')
+ {
+ xvt.x = ECEF(data.x[0], data.x[1], data.x[2]);
+ xvt.dtime = data.clk;
+ haveVelocity=false;
+ }
+ else if (data.flag=='V')
+ {
+ xvt.v = data.x;
+ xvt.ddtime = data.clk;
+ haveVelocity=true;
+ }
+
+ if (t<initialTime)
+ initialTime = t;
+ else if (t>finalTime)
+ finalTime = t;
+ }
+
+} // namespace gpstk
diff --git a/trunk/src/TabularEphemerisStore.hpp b/trunk/src/TabularEphemerisStore.hpp
new file mode 100644
index 0000000..f6806f8
--- /dev/null
+++ b/trunk/src/TabularEphemerisStore.hpp
@@ -0,0 +1,140 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TabularEphemerisStore.hpp#3 $"
+
+/**
+ * @file TabularEphemerisStore.hpp
+ * Store & access a list of SV pvts
+ */
+
+#ifndef GPSTK_TABULAR_EPHEMERIS_STORE_HPP
+#define GPSTK_TABULAR_EPHEMERIS_STORE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+
+#include "EphemerisStore.hpp"
+#include "SP3Data.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup ephemstore */
+ //@{
+
+ /**
+ * This stores tabular ephemeris data for determining satellite positions.
+ */
+ class TabularEphemerisStore : public EphemerisStore
+ {
+ public:
+ /// Constructor.
+ TabularEphemerisStore() throw()
+ : haveVelocity(true),
+ initialTime(DayTime::END_OF_TIME),
+ finalTime(DayTime::BEGINNING_OF_TIME) {};
+
+ /// destructor
+ virtual ~TabularEphemerisStore() {}
+
+ /** Return the position, velocity and clock model of the sv in ecef coordinates
+ * (units m, s, m/s, s/s) at the indicated time.
+ * @param prn the SV's PRN
+ * @param t the time to look up
+ * @return the Xvt of the SV at time t
+ */
+ virtual Xvt getPrnXvt(short prn, const gpstk::DayTime& t)
+ const throw(EphemerisStore::NoEphemerisFound);
+
+ /** Dump the store to given stream.
+ * @param detail specifies the level of detail to include in the output:
+ * 0: number of satellites, 1: records per satellite, >1 all data.
+ */
+ void dump(short detail=0, std::ostream& s=std::cout) const;
+
+ /// Edit the dataset, removing data outside this time interval
+ void edit(const DayTime& tmin, const DayTime& tmax) throw();
+
+ /// Insert a new SP3Data object into the store
+ void addEphemeris(const SP3Data& data)
+ throw();
+
+ /// Remove all data
+ void clear() throw();
+
+ /** Return the time of the first ephemeris in the object.
+ * @return the time of the first ephemeris in the object
+ */
+ virtual gpstk::DayTime getInitialTime() const {return initialTime;};
+
+ /** Return the time of the last ephemeris in the object.
+ * @return the time of the last ephemeris in the object
+ */
+ virtual gpstk::DayTime getFinalTime() const {return finalTime;};
+
+ void setHaveVelocity(bool f) throw() {haveVelocity=f;};
+ bool getHaveVelocity() throw() {return haveVelocity;};
+
+ private:
+
+ /// The key to this map is the time
+ typedef std::map<DayTime, Xvt> SvEphMap;
+
+ /// The key to this map is the svid of the satellite (usually the prn)
+ typedef std::map<short, SvEphMap> EphMap;
+
+ /// the map of SVs and XVTs
+ EphMap pe;
+
+ /** These give the overall span of time for which this object contains data.
+ * NB there may be gaps in the data, i.e. the data may not be continuous.
+ */
+ gpstk::DayTime initialTime, finalTime;
+
+ /// Flag indicating that velocity data present in all datasets loaded.
+ bool haveVelocity;
+
+ };
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/TimeConstants.hpp b/trunk/src/TimeConstants.hpp
new file mode 100644
index 0000000..d597250
--- /dev/null
+++ b/trunk/src/TimeConstants.hpp
@@ -0,0 +1,49 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeConstants.hpp#3 $"
+
+#ifndef GPSTK_TIMECONSTANTS_HPP
+#define GPSTK_TIMECONSTANTS_HPP
+
+namespace gpstk
+{
+ /// Add this offset to convert Modified Julian Date to Julian Date.
+ const double MJD_TO_JD = 2400000.5;
+ /// 'Julian day' offset from MJD
+ const long MJD_JDAY = 2400001L;
+ /// 'Julian day' of GPS epoch (Jan. 1, 1980).
+ const long GPS_EPOCH_JDAY = 2444245L;
+ /// Modified Julian Date of GPS epoch (Jan. 1, 1980).
+ const long GPS_EPOCH_MJD = 44244L;
+ /// Modified Julian Date of UNIX epoch (Jan. 1, 1970).
+ const long UNIX_MJD = 40587L;
+
+ /// Seconds per half a GPS week.
+ const long HALFWEEK = 302400L;
+ /// Seconds per whole GPS week.
+ const long FULLWEEK = 604800L;
+
+ /// Weeks per GPS Epoch
+ const long WEEKS_PER_EPOCH = 1024L;
+
+ /// Seconds per day.
+ const long SEC_PER_DAY = 86400L;
+ /// Days per second.
+ const double DAY_PER_SEC = 1.0/SEC_PER_DAY;
+
+ /// Milliseconds in a second.
+ const long MS_PER_SEC = 1000L;
+ /// Seconds per millisecond.
+ const double SEC_PER_MS = 1.0/MS_PER_SEC;
+
+ /// Milliseconds in a day.
+ const long MS_PER_DAY = MS_PER_DAY * SEC_PER_DAY;
+ /// Days per milliseconds.
+ const double DAY_PER_MS = 1.0/DAY_PER_MS;
+
+ /// Zcounts in a day.
+ const long ZCOUNT_PER_DAY = 57600L;
+ /// Days in a Zcount
+ const double DAY_PER_ZCOUNT = 1.0/ZCOUNT_PER_DAY;
+
+} // namespace
+
+#endif // GPSTK_TIMECONSTANTS_HPP
diff --git a/trunk/src/TimeConverters.cpp b/trunk/src/TimeConverters.cpp
new file mode 100644
index 0000000..2ea3dd0
--- /dev/null
+++ b/trunk/src/TimeConverters.cpp
@@ -0,0 +1,150 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeConverters.cpp#1 $"
+
+#include "TimeConverters.hpp"
+#include "TimeConstants.hpp"
+#include <math.h>
+
+namespace gpstk
+{
+
+ // These two routines convert 'integer JD' and calendar time; they were
+ // derived from Sinnott, R. W. "Bits and Bytes" Sky & Telescope Magazine,
+ // Vol 82, p. 183, August 1991, and The Astronomical Almanac, published
+ // by the U.S. Naval Observatory.
+ // NB range of applicability of this routine is from 0JD (4713BC)
+ // to approx 3442448JD (4713AD).
+ void convertJDtoCalendar( long jd,
+ int& iyear,
+ int& imonth,
+ int& iday )
+ throw()
+ {
+ long L, M, N, P, Q;
+ if(jd > 2299160) // after Oct 4, 1582
+ {
+ L = jd + 68569;
+ M = (4 * L) / 146097;
+ L = L - ((146097 * M + 3) / 4);
+ N = (4000 * (L + 1)) / 1461001;
+ L = L - ((1461 * N) / 4) + 31;
+ P = (80 * L) / 2447;
+ iday = int(L - (2447 * P) / 80);
+ L = P / 11;
+ imonth = int(P + 2 - 12 * L);
+ iyear = int(100 * (M - 49) + N + L);
+ }
+ else
+ {
+ P = jd + 1402;
+ Q = (P - 1) / 1461;
+ L = P - 1461 * Q;
+ M = (L - 1) / 365 - L / 1461;
+ N = L - 365 * M + 30;
+ P = (80 * N) / 2447;
+ iday = int(N - (2447 * P) / 80);
+ N = P / 11;
+ imonth = int(P + 2 - 12 * N);
+ iyear = int(4 * Q + M + N - 4716);
+ if(iyear <= 0)
+ {
+ --iyear;
+ }
+ }
+ // catch century/non-400 non-leap years
+ if(iyear > 1599 &&
+ !(iyear % 100) &&
+ (iyear % 400) &&
+ imonth == 2 &&
+ iday == 29)
+ {
+ imonth = 3;
+ iday = 1;
+ }
+ }
+
+ long convertCalendarToJD( int yy,
+ int mm,
+ int dd )
+ throw()
+ {
+ if(yy == 0)
+ --yy; // there is no year 0
+
+ if(yy < 0)
+ ++yy;
+
+ long jd;
+ double y = static_cast<double>( yy ),
+ m = static_cast<double>( mm ),
+ d = static_cast<double>( dd );
+
+ // In the conversion from the Julian Calendar to the Gregorian
+ // Calendar the day after October 4, 1582 was October 15, 1582.
+ //
+ // if the date is before October 15, 1582
+ if(yy < 1582 || (yy == 1582 && (mm < 10 || (mm == 10 && dd < 15))))
+ {
+ jd = 1729777 + dd + 367 * yy
+ - static_cast<long>(7 * ( y + 5001 +
+ static_cast<long>((m - 9) / 7)) / 4)
+ + static_cast<long>(275 * m / 9);
+ }
+ else // after Oct 4, 1582
+ {
+ jd = 1721029 + dd + 367 * yy
+ - static_cast<long>(7 * (y + static_cast<long>((m + 9) / 12)) / 4)
+ - static_cast<long>(3 * (static_cast<long>((y + (m - 9) / 7) / 100)
+ + 1) / 4)
+ + static_cast<long>(275 * m / 9);
+
+ // catch century/non-400 non-leap years
+ if( (! (yy % 100) &&
+ (yy % 400) &&
+ mm > 2 &&
+ mm < 9) ||
+ (!((yy - 1) % 100) &&
+ ((yy - 1) % 400) &&
+ mm == 1))
+ {
+ --jd;
+ }
+ }
+ return jd;
+ }
+
+ void convertSODtoTime( double sod,
+ int& hh,
+ int& mm,
+ double& sec )
+ throw()
+ {
+ // Get us to within one day.
+ if (sod < 0)
+ {
+ sod += (1 +
+ static_cast<unsigned long>(sod / SEC_PER_DAY)) * SEC_PER_DAY ;
+ }
+ else if (sod >= SEC_PER_DAY)
+ {
+ sod -= static_cast<unsigned long>(sod / SEC_PER_DAY) * SEC_PER_DAY ;
+ }
+
+ double temp; // variable to hold the integer part of sod
+ sod = modf(sod, &temp); // sod holds the fraction, temp the integer
+ long seconds = static_cast<long>(temp); // get temp into a real integer
+
+ hh = seconds / 3600 ;
+ mm = (seconds % 3600) / 60 ;
+ sec = double(seconds % 60) + sod ;
+
+ }
+
+ double convertTimeToSOD( int hh,
+ int mm,
+ double sec )
+ throw()
+ {
+ return (sec + 60. * (mm + 60. * hh));
+ }
+
+} // namespace
diff --git a/trunk/src/TimeConverters.hpp b/trunk/src/TimeConverters.hpp
new file mode 100644
index 0000000..0dd03dd
--- /dev/null
+++ b/trunk/src/TimeConverters.hpp
@@ -0,0 +1,65 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeConverters.hpp#1 $"
+
+namespace gpstk
+{
+ /** Fundamental routine to convert from "Julian day" (= JD + 0.5)
+ * to calendar day.
+ * @param jd long integer "Julian day" = JD+0.5
+ * @param iyear reference to integer year
+ * @param imonth reference to integer month (January == 1)
+ * @param iday reference to integer day of month
+ * (1st day of month == 1)
+ * @note range of applicability of this routine is from 0JD (4713BC)
+ * to approx 3442448JD (4713AD).
+ * Algorithm references: Sinnott, R. W. "Bits and Bytes,"
+ * Sky & Telescope Magazine, Vol 82, p. 183, August 1991, and
+ * The Astronomical Almanac, published by the U.S. Naval Observatory.
+ */
+ void convertJDtoCalendar( long jd,
+ int& iyear,
+ int& imonth,
+ int& iday )
+ throw();
+
+ /** Fundamental routine to convert from calendar day to "Julian day"
+ * (= JD + 0.5)
+ * @param iyear reference to integer year
+ * @param imonth reference to integer month (January == 1)
+ * @param iday reference to integer day of month
+ * (1st day of month == 1)
+ * @return jd long integer "Julian day" = JD+0.5
+ * @note range of applicability of this routine is from 0JD (4713BC)
+ * to approx 3442448JD (4713AD).
+ * Algorithm references: Sinnott, R. W. "Bits and Bytes,"
+ * Sky & Telescope Magazine, Vol 82, p. 183, August 1991, and
+ * The Astronomical Almanac, published by the U.S. Naval Observatory.
+ */
+ long convertCalendarToJD( int iyear,
+ int imonth,
+ int iday )
+ throw();
+
+ /** Fundamental routine to convert seconds of day to H:M:S
+ * @param sod seconds of day (input)
+ * @param hh reference to integer hour (0 <= hh < 24) (output)
+ * @param mm reference to integer minutes (0 <= mm < 60) (output)
+ * @param sec reference to double seconds (0 <= sec < 60.0) (output)
+ */
+ void convertSODtoTime( double sod,
+ int& hh,
+ int& mm,
+ double& sec )
+ throw();
+
+ /** Fundamental routine to convert H:M:S to seconds of day
+ * @param hh integer hour (0 <= hh < 24) (input)
+ * @param mm integer minutes (0 <= mm < 60) (input)
+ * @param sec double seconds (0 <= sec < 60.0) (input)
+ * @return sod seconds of day (input)
+ */
+ double convertTimeToSOD( int hh,
+ int mm,
+ double sec )
+ throw();
+
+} // namespace
diff --git a/trunk/src/TimeString.cpp b/trunk/src/TimeString.cpp
new file mode 100644
index 0000000..e9d43f5
--- /dev/null
+++ b/trunk/src/TimeString.cpp
@@ -0,0 +1,405 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeString.cpp#3 $"
+
+#include "TimeString.hpp"
+
+#include "ANSITime.hpp"
+#include "CivilTime.hpp"
+#include "GPSEpochWeekSecond.hpp"
+#include "GPSWeekSecond.hpp"
+#include "GPSWeekZcount.hpp"
+#include "GPSZcount29.hpp"
+#include "GPSZcount32.hpp"
+#include "JulianDate.hpp"
+#include "MJD.hpp"
+#include "UnixTime.hpp"
+#include "YDSTime.hpp"
+
+#include "TimeConverters.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+ std::string printTime( const TimeTag& t,
+ const std::string& fmt )
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ std::string rv( fmt );
+
+ // First, try to print using 't' itself.
+ rv = t.printf( rv );
+
+ // Next, run it through all the other TimeTag classes.
+ return printTime( t.convertToCommonTime(), rv );
+
+ }
+ catch( gpstk::StringUtils::StringException& se )
+ {
+ GPSTK_RETHROW( se );
+ }
+ }
+
+ std::string printTime( const CommonTime& t,
+ const std::string& fmt )
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ std::string rv( fmt );
+
+ // Convert to each TimeTag type and run its printf using rv.
+ // The printf functions test to see if they can print any part
+ // of the requested format. If they can, they do, and if not,
+ // simply return without doing any work.
+ rv = ANSITime( t ).printf( rv );
+ rv = CivilTime( t ).printf( rv );
+ rv = GPSEpochWeekSecond( t ).printf( rv );
+ rv = GPSWeekSecond( t ).printf( rv );
+ rv = GPSWeekZcount( t ).printf( rv );
+ rv = GPSZcount32( t ).printf( rv );
+ rv = GPSZcount29( t ).printf( rv );
+ rv = JulianDate( t ).printf( rv );
+ rv = MJD( t ).printf( rv );
+ rv = UnixTime( t ).printf( rv );
+ rv = YDSTime( t ).printf( rv );
+
+ return rv;
+ }
+ catch( gpstk::StringUtils::StringException& se )
+ {
+ GPSTK_RETHROW( se );
+ }
+ }
+
+ /// Fill the TimeTag object \a btime with time information found in
+ /// string \a str formatted according to string \a fmt.
+ void scanTime( TimeTag& btime,
+ const std::string& str,
+ const std::string& fmt )
+ throw( gpstk::InvalidRequest,
+ gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ // Get the mapping of character (from fmt) to value (from str).
+ TimeTag::IdToValue info;
+ TimeTag::getInfo( str, fmt, info );
+
+ if( btime.setFromInfo( info ) )
+ {
+ return;
+ }
+
+ // Convert to CommonTime, and try to set using all formats.
+ CommonTime ct( btime.convertToCommonTime() );
+ scanTime( ct, str, fmt );
+
+ // Convert the CommonTime into the requested format.
+ btime.convertFromCommonTime( ct );
+ }
+ catch( gpstk::InvalidRequest& ir )
+ {
+ GPSTK_RETHROW( ir );
+ }
+ catch( gpstk::StringUtils::StringException& se )
+ {
+ GPSTK_RETHROW( se );
+ }
+ }
+
+ void scanTime( CommonTime& t,
+ const std::string& str,
+ const std::string& fmt )
+ throw( gpstk::InvalidRequest,
+ gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using namespace gpstk::StringUtils;
+
+ // Get the mapping of character (from fmt) to value (from str).
+ TimeTag::IdToValue info;
+ TimeTag::getInfo( str, fmt, info );
+
+ // These indicate which information has been found.
+ bool hmjd( false ), hsow( false ), hweek( false ), hfullweek( false ),
+ hdow( false ), hyear( false ), hmonth( false ), hday( false ),
+ hzcount( false ), hdoy( false ), hzcount29( false ),
+ hzcount32( false ), hhour( false ), hmin( false ), hsec( false ),
+ hsod( false ), hunixsec( false ), hunixusec( false ),
+ hepoch( false ), hansi( false ), hjulian( false );
+
+ // These are to hold data that no one parses.
+ int idow( 0 );
+
+ for( TimeTag::IdToValue::iterator itr = info.begin();
+ itr != info.end(); itr++ )
+ {
+ switch( itr->first )
+ {
+ case 'Q':
+ hmjd = true;
+ break;
+
+ case 'Z':
+ hzcount = true;
+ break;
+
+ case 's':
+ hsod = true;
+ break;
+
+ case 'g':
+ hsow = true;
+ break;
+
+ case 'w':
+ idow = asInt( itr->second );
+ hdow = true;
+ break;
+
+ case 'G':
+ hweek = true;
+ break;
+
+ case 'F':
+ hfullweek = true;
+ break;
+
+ case 'j':
+ hdoy = true;
+ break;
+
+ case 'b':
+ case 'B':
+ hmonth = true;
+ break;
+
+ case 'Y':
+ case 'y':
+ hyear = true;
+ break;
+
+ case 'a':
+ case 'A':
+ {
+ hdow = true;
+ std::string thisDay = firstWord( itr->second );
+ lowerCase(thisDay);
+ if (isLike(thisDay, "sun.*")) idow = 0;
+ else if (isLike(thisDay, "mon.*")) idow = 1;
+ else if (isLike(thisDay, "tue.*")) idow = 2;
+ else if (isLike(thisDay, "wed.*")) idow = 3;
+ else if (isLike(thisDay, "thu.*")) idow = 4;
+ else if (isLike(thisDay, "fri.*")) idow = 5;
+ else if (isLike(thisDay, "sat.*")) idow = 6;
+ else
+ {
+ hdow = false;
+ }
+ }
+ break;
+
+ case 'm':
+ hmonth = true;
+ break;
+
+ case 'd':
+ hday = true;
+ break;
+
+ case 'H':
+ hhour = true;
+ break;
+
+ case 'M':
+ hmin = true;
+ break;
+
+ case 'S':
+ hsec = true;
+ break;
+
+ case 'f':
+ hsec = true;
+ break;
+
+ case 'U':
+ hunixsec = true;
+ break;
+
+ case 'u':
+ hunixusec = true;
+ break;
+
+ case 'c':
+ hzcount29 = true;
+ break;
+
+ case 'C':
+ hzcount32 = true;
+ break;
+
+ case 'J':
+ hjulian = true;
+ break;
+
+ case 'K':
+ hansi = true;
+ break;
+
+ default:
+ {
+ // do nothing
+ }
+ break;
+
+ };
+ }
+
+ if( hyear )
+ {
+ if( hmonth && hday )
+ {
+ CivilTime tt;
+ tt.setFromInfo( info );
+ if( hsod )
+ {
+ convertSODtoTime( asDouble( info['s'] ),
+ tt.hour, tt.minute, tt.second );
+ }
+ t = tt.convertToCommonTime();
+ return;
+ }
+ else // use YDSTime as default
+ {
+ YDSTime tt;
+ tt.setFromInfo( info );
+ if( hhour && hmin && hsec )
+ {
+ tt.sod = convertTimeToSOD( asInt( info['H'] ),
+ asInt( info['M'] ),
+ asDouble( info['S'] ) );
+ }
+ t = tt.convertToCommonTime();
+ return;
+ }
+
+ } // end of if( hyear )
+
+ if( hzcount32 )
+ {
+ GPSZcount32 tt;
+ tt.setFromInfo( info );
+ t = tt.convertToCommonTime();
+ return;
+ }
+
+ if( hepoch )
+ {
+ if( hzcount29 )
+ {
+ GPSZcount29 tt;
+ tt.setFromInfo( info );
+ t = tt.convertToCommonTime();
+ return;
+ }
+
+ if( hweek )
+ {
+ GPSEpochWeekSecond tt;
+ tt.setFromInfo( info );
+ if( hdow && !hsow )
+ {
+ tt.sow = asInt( info['w'] ) * SEC_PER_DAY;
+ if( hsod )
+ {
+ tt.sow += asDouble( info['s'] );
+ }
+ else if( hhour && hmin && hsec )
+ {
+ tt.sow += convertTimeToSOD( asInt( info['H'] ),
+ asInt( info['M'] ),
+ asDouble( info['S'] ) );
+ }
+ }
+ t = tt.convertToCommonTime();
+ return;
+
+ } // end of if( hweek )
+
+ } // end of if( hepoch )
+
+ if( hfullweek )
+ {
+ if( hzcount )
+ {
+ GPSWeekZcount tt;
+ tt.setFromInfo( info );
+ t = tt.convertToCommonTime();
+ return;
+ }
+
+ GPSWeekSecond tt;
+ tt.setFromInfo( info );
+ if( hdow && !hsow )
+ {
+ tt.sow = asInt( info['w'] ) * SEC_PER_DAY;
+ if( hsod )
+ {
+ tt.sow += asDouble( info['s'] );
+ }
+ else if( hhour && hmin && hsec )
+ {
+ tt.sow += convertTimeToSOD( asInt( info['H'] ),
+ asInt( info['M'] ),
+ asDouble( info['S'] ) );
+ }
+ }
+ t = tt.convertToCommonTime();
+ return;
+ } // end of if( hfullweek )
+
+ if( hmjd )
+ {
+ MJD tt;
+ tt.setFromInfo( info );
+ t = tt.convertToCommonTime();
+ return;
+ }
+
+ if( hjulian )
+ {
+ JulianDate tt;
+ tt.setFromInfo( info );
+ t = tt.convertToCommonTime();
+ return;
+ }
+
+ if( hansi )
+ {
+ ANSITime tt;
+ tt.setFromInfo( info );
+ t = tt.convertToCommonTime();
+ return;
+ }
+
+ if( hunixsec || hunixusec )
+ {
+ UnixTime tt;
+ tt.setFromInfo( info );
+ t = tt.convertToCommonTime();
+ return;
+ }
+
+ InvalidRequest ir("Incomplete time specification for readTime");
+ GPSTK_THROW( ir );
+ }
+ catch( gpstk::StringUtils::StringException& se )
+ {
+ GPSTK_RETHROW( se );
+ }
+ }
+
+} // namespace gpstk
diff --git a/trunk/src/TimeString.hpp b/trunk/src/TimeString.hpp
new file mode 100644
index 0000000..21d7a94
--- /dev/null
+++ b/trunk/src/TimeString.hpp
@@ -0,0 +1,35 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeString.hpp#4 $"
+
+#ifndef GPSTK_TIMESTRING_HPP
+#define GPSTK_TIMESTRING_HPP
+
+#include "TimeTag.hpp"
+#include "CommonTime.hpp"
+
+namespace gpstk
+{
+ std::string printTime( const TimeTag& t,
+ const std::string& fmt )
+ throw( gpstk::StringUtils::StringException );
+
+ std::string printTime( const CommonTime& t,
+ const std::string& fmt )
+ throw( gpstk::StringUtils::StringException );
+
+ /// Fill the TimeTag object \a btime with time information found in
+ /// string \a str formatted according to string \a fmt.
+ void scanTime( TimeTag& btime,
+ const std::string& str,
+ const std::string& fmt )
+ throw( gpstk::InvalidRequest,
+ gpstk::StringUtils::StringException );
+
+ void scanTime( CommonTime& t,
+ const std::string& str,
+ const std::string& fmt )
+ throw( gpstk::InvalidRequest,
+ gpstk::StringUtils::StringException );
+
+} // namespace
+
+#endif // GPSTK_TIMESTRING_HPP
diff --git a/trunk/src/TimeTag.cpp b/trunk/src/TimeTag.cpp
new file mode 100644
index 0000000..d8d9531
--- /dev/null
+++ b/trunk/src/TimeTag.cpp
@@ -0,0 +1,168 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeTag.cpp#2 $"
+
+#include "TimeTag.hpp"
+#include "StringUtils.hpp"
+
+namespace gpstk
+{
+ const std::string TimeTag::formatPrefixInt( "%[ 0-]?[[:digit:]]*" );
+ const std::string TimeTag::formatPrefixFloat( TimeTag::formatPrefixInt +
+ "(\\.[[:digit:]]+)?" );
+
+ void TimeTag::scanf( const std::string& str,
+ const std::string& fmt )
+ throw( gpstk::InvalidRequest,
+ gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ // Get the mapping of character (from fmt) to value (from str).
+ IdToValue info;
+ getInfo( str, fmt, info );
+
+ // Attempt to set this object using the IdToValue object
+ if( !setFromInfo( info ) )
+ {
+ gpstk::InvalidRequest ir( "Incomplete time specification." );
+ GPSTK_THROW( ir );
+ }
+ }
+ catch( gpstk::StringUtils::StringException& se )
+ {
+ GPSTK_RETHROW( se );
+ }
+ }
+
+ void TimeTag::getInfo( const std::string& str,
+ const std::string& fmt,
+ IdToValue& info )
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using namespace gpstk::StringUtils;
+
+ // Copy the arguments to strings we can modify.
+ std::string f = fmt;
+ std::string s = str;
+
+ // Parse strings... As we process each part, it's removed from both
+ // strings so when we reach 0, we're done
+ while( !s.empty() && !f.empty() )
+ {
+ // Remove everything in f and s up to the first % in f
+ // (these parts of the strings must be identical or this will
+ // break after it tries to remove it!)
+ while ( !s.empty() &&
+ !f.empty() &&
+ ( f[0] != '%' ) )
+ {
+ // remove that character now and other whitespace
+ s.erase( 0, 1 );
+ f.erase( 0, 1 );
+ stripLeading( s );
+ stripLeading( f );
+ }
+
+ // check just in case we hit the end of either string...
+ if ( s.empty() || f.empty() )
+ {
+ break;
+ }
+
+ // lose the '%' in f...
+ f.erase( 0, 1 );
+
+ // If the format string is %03f, get '3' as the field length.
+ std::string::size_type fieldLength = std::string::npos;
+
+ if( !isalpha( f[0] ) )
+ {
+ fieldLength = asInt( f );
+
+ // remove everything else up to the next character
+ // (in "%03f", that would be 'f')
+ while ( ( !f.empty() ) &&
+ ( !isalpha( f[0] ) ) )
+ {
+ f.erase( 0, 1 );
+ }
+
+ if ( f.empty() )
+ {
+ break;
+ }
+ }
+
+ // finally, get the character that should end this field, if any
+ char delimiter = 0;
+ if ( f.size() > 1 )
+ {
+ if ( f[1] != '%' )
+ {
+ delimiter = f[1];
+
+ if ( fieldLength == std::string::npos )
+ {
+ fieldLength = s.find( delimiter, 0 );
+ }
+ }
+ // if the there is no delimiter character and the next field
+ // is another part of the time to parse, assume the length
+ // of this field is 1
+ else if ( fieldLength == std::string::npos )
+ {
+ fieldLength = 1;
+ }
+ }
+
+ // figure out the next string to be removed. if there is a field
+ // length, use that first
+ std::string value( s.substr( 0, fieldLength ) );
+
+ // based on char at f[0], we know what to do...
+ info[ f[0] ] = value;
+
+ // remove the part of str that we processed
+ stripLeading( s, value, 1 );
+
+ // remove the character we processed from fmt
+ f.erase( 0, 1 );
+
+ // check for whitespace again...
+ stripLeading( f );
+ stripLeading( s );
+
+ } // end of while( (s.size() > 0) && (f.size() > 0) )
+
+ if ( !s.empty() )
+ {
+ // throw an error - something didn't get processed in the strings
+ gpstk::StringUtils::StringException se(
+ "Processing error - parts of strings left unread - " + s );
+ GPSTK_THROW( se );
+ }
+
+ if ( !f.empty() )
+ {
+ // throw an error - something didn't get processed in the strings
+ gpstk::StringUtils::StringException se(
+ "Processing error - parts of strings left unread - " + f );
+ GPSTK_THROW( se );
+ }
+
+ }
+ catch( gpstk::StringUtils::StringException& se )
+ {
+ GPSTK_RETHROW( se );
+ }
+ }
+
+} // namespace
+
+std::ostream& operator<<( std::ostream& s,
+ const gpstk::TimeTag& t )
+{
+ s << t.printf( t.getDefaultFormat() );
+ return s;
+}
diff --git a/trunk/src/TimeTag.hpp b/trunk/src/TimeTag.hpp
new file mode 100644
index 0000000..811afb0
--- /dev/null
+++ b/trunk/src/TimeTag.hpp
@@ -0,0 +1,121 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeTag.hpp#2 $"
+
+#ifndef GPSTK_TIMETAG_HPP
+#define GPSTK_TIMETAG_HPP
+
+#include "CommonTime.hpp"
+#include "StringUtils.hpp"
+#include <map>
+
+namespace gpstk
+{
+ /** This class is an abstract base class inherited by all the classes
+ * that provide a specific time representation.
+ * These time representations must ensure or provide a way for the
+ * user to verify their own self-consistency.
+ */
+ class TimeTag
+ {
+ public:
+
+ /// This is the regular expression prefix that is used when
+ /// searching for integer specifiers.
+ static const std::string formatPrefixInt;
+ /// This is the regular expression prefix that is used when
+ /// searching for float specifiers.
+ static const std::string formatPrefixFloat;
+
+ /// Virtual Destructor.
+ virtual ~TimeTag()
+ throw()
+ {}
+
+ /// This function probably won't throw exceptions because if you can
+ /// represent a time in this format, you can probably represent it in
+ /// the Common format.
+ virtual CommonTime convertToCommonTime() const = 0;
+
+ /// This function may throw exceptions b/c it is possible that it may
+ /// not be possible to represent the time specified by the Common
+ /// object "bt" in this object.
+ virtual void convertFromCommonTime( const CommonTime& ct ) = 0;
+
+ /// This function formats this time to a string. The exceptions
+ /// thrown would only be due to problems parsing the fmt string.
+ ///
+ virtual std::string printf(const std::string& fmt) const
+ throw( gpstk::StringUtils::StringException ) = 0;
+
+ /**
+ * This function sets this object to the time stored in the given
+ * string \a str.
+ * @param str the string to parse
+ * @param fmt the string containing the time format
+ * @throw InvalidRequest if an invalid time is given.
+ * @throw StringException on problems parsing the strings.
+ */
+ virtual void scanf( const std::string& str,
+ const std::string& fmt )
+ throw( gpstk::InvalidRequest,
+ gpstk::StringUtils::StringException );
+
+ /// This type maps a character ( from a time format ) to its
+ /// corresponding value ( from a time string ).
+ typedef std::map< char, std::string> IdToValue;
+
+ /**
+ * This is the workhorse for the scanf family of functions. It parses
+ * the given string \a str with the given format \a fmt in order to
+ * extract a time or part of a time from \a str.
+ * @param str the string from which to cull time information
+ * @param fmt the string containing the time format
+ * @param info a mapping of all of the character identifier to their
+ * respective culled time information
+ * @throw StringException on problems parsing the strings.
+ */
+ static void getInfo( const std::string& str,
+ const std::string& fmt,
+ IdToValue& info )
+ throw( gpstk::StringUtils::StringException );
+
+ /**
+ * Set this object using the information provided in \a info.
+ * @param info the IdToValue object to which this object shall be set.
+ * @return true if this object was successfully set using the
+ * data in \a info, false if not.
+ */
+ virtual bool setFromInfo( const IdToValue& info )
+ throw() = 0;
+
+ /// Return a string containing the characters that this class
+ /// understands when printing times.
+ virtual std::string getPrintChars() const
+ throw() = 0;
+
+ /// Return a string containing the default format to use in printing.
+ virtual std::string getDefaultFormat() const
+ throw() = 0;
+
+ /// Format this time as a string using a format specified by the
+ /// inheriting class.
+ virtual std::string asString() const
+ throw( gpstk::StringUtils::StringException )
+ { return printf( getDefaultFormat() ); }
+
+ /// Hey, it's an implicit casting operator! Basically just a lazy
+ /// way to get at convertToCommonTime().
+ operator CommonTime() const
+ { return convertToCommonTime(); }
+
+ /// Returns true if this object's members are valid, false otherwise.
+ virtual bool isValid() const
+ throw() = 0;
+
+ };
+
+} // namespace
+
+std::ostream& operator<<( std::ostream& s,
+ const gpstk::TimeTag& t );
+
+#endif // GPSTK_BASETIME_HPP
diff --git a/trunk/src/Triple.cpp b/trunk/src/Triple.cpp
new file mode 100644
index 0000000..bc7606c
--- /dev/null
+++ b/trunk/src/Triple.cpp
@@ -0,0 +1,255 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Triple.cpp#3 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file Triple.cpp
+ * Three element double vectors, for use with geodetic coordinates
+ */
+
+#include "geometry.hpp"
+#include "Triple.hpp"
+#include <cmath>
+
+namespace gpstk
+{
+ using namespace std;
+
+ Triple :: Triple()
+ : theArray(3)
+ {
+ }
+
+ Triple :: Triple(const Triple& right)
+ : theArray(right.theArray)
+ {
+ }
+
+ Triple :: Triple(double a,
+ double b,
+ double c)
+ : theArray(3)
+ {
+ theArray[0] = a;
+ theArray[1] = b;
+ theArray[2] = c;
+ }
+
+ Triple& Triple :: operator=(const Triple& right)
+ {
+ theArray = right.theArray;
+ return *this;
+ }
+
+ Triple& Triple :: operator=(const valarray<double>& right)
+ throw(GeometryException)
+ {
+ if (right.size() != 3)
+ {
+ GPSTK_THROW(GeometryException("Incorrect vector size"));
+ }
+
+ theArray = right;
+ return *this;
+ }
+
+ // returns the dot product of the two vectors
+ double Triple :: dot(const Triple& right) const
+ throw()
+ {
+ Triple z;
+ z = (this->theArray)*(right.theArray);
+ double a = z.theArray.sum();
+ return a;
+ }
+
+
+ // retuns v1 x v2 , vector cross product
+ Triple Triple :: cross(const Triple& right) const
+ throw()
+ {
+ Triple cp;
+ cp[0] = (*this)[1] * right[2] - (*this)[2] * right[1];
+ cp[1] = (*this)[2] * right[0] - (*this)[0] * right[2];
+ cp[2] = (*this)[0] * right[1] - (*this)[1] * right[0];
+ return cp;
+ }
+
+
+ double Triple :: mag() const throw()
+ {
+ return ::sqrt(dot(*this));
+ }
+
+ Triple Triple::unitVector() const
+ {
+ double mag = sqrt(dot(*this));
+ Triple retArg;
+ retArg[0] = (*this)[0] / mag;
+ retArg[1] = (*this)[1] / mag;
+ retArg[2] = (*this)[2] / mag;
+ return(retArg);
+ }
+
+ // function that returns the cosine of angle between this and right
+ double Triple :: cosVector(const Triple& right) const
+ throw()
+ {
+ double rx, ry, cosvects;
+
+ rx = dot(*this);
+ ry = right.dot(right);
+ cosvects = dot(right) / ::sqrt(rx * ry);
+
+ /* this if checks for and corrects round off error */
+ if (fabs(cosvects) > 1.0e0)
+ {
+ cosvects = fabs(cosvects) / cosvects;
+ }
+
+ return cosvects;
+ }
+
+
+ // Computes the slant range between two vectors
+ double Triple :: slantRange(const Triple& right) const
+ throw()
+ {
+ Triple z;
+ z = right.theArray - this->theArray;
+ double r = z.mag();
+ return r;
+ }
+
+
+ // Finds the elevation angle of the second point with respect to
+ // the first point
+ double Triple :: elvAngle(const Triple& right) const
+ throw()
+ {
+ Triple z;
+ z = right.theArray - this->theArray;
+ double c = z.cosVector(*this);
+ return 90.0 - ::acos(c) * RAD_TO_DEG;
+ }
+
+
+ // Calculates a satellites azimuth from a station
+ double Triple :: azAngle(const Triple& right) const
+ throw(GeometryException)
+ {
+ double xy, xyz, cosl, sinl, sint, xn1, xn2, xn3, xe1, xe2;
+ double z1, z2, z3, p1, p2, test, alpha;
+
+ xy = (*this)[0] * (*this)[0] + (*this)[1] * (*this)[1] ;
+ xyz = xy + (*this)[2] * (*this)[2] ;
+ xy = ::sqrt(xy);
+ xyz = ::sqrt(xyz);
+
+ cosl = (*this)[0] / xy;
+ sinl = (*this)[1] / xy;
+ sint = (*this)[2] / xyz;
+
+ xn1 = -sint * cosl;
+ xn2 = -sint * sinl;
+ xn3 = xy/xyz;
+
+ xe1 = -sinl;
+ xe2 = cosl;
+
+ z1 = right[0] - (*this)[0];
+ z2 = right[1] - (*this)[1];
+ z3 = right[2] - (*this)[2];
+
+ p1 = (xn1 * z1) + (xn2 * z2) + (xn3 * z3) ;
+ p2 = (xe1 * z1) + (xe2 * z2) ;
+
+ test = fabs(p1) + fabs(p2);
+
+ if (test < 1.0e-16)
+ {
+ GPSTK_THROW(GeometryException("azAngle(), failed p1+p2 test."));
+ }
+
+ alpha = 90 - ::atan2(p1, p2) * RAD_TO_DEG;
+ if (alpha < 0)
+ {
+ return alpha + 360;
+ }
+ else
+ {
+ return alpha;
+ }
+ }
+
+ Triple Triple :: operator-(const Triple& right) const
+ {
+ Triple tmp;
+ tmp.theArray = this->theArray - right.theArray;
+ return tmp;
+ }
+
+ Triple Triple :: operator+(const Triple& right) const
+ {
+ Triple tmp;
+ tmp.theArray = this->theArray + right.theArray;
+ return tmp;
+ }
+
+ std::ostream& operator<<(std::ostream& s,
+ const gpstk::Triple& v)
+ {
+ if (v.size() > 0)
+ {
+ s << "(" << v[0];
+ for (int i = 1; i < v.size(); i++)
+ {
+ s << ", " << v[i];
+ }
+ s << ")";
+ }
+
+ return s;
+ }
+
+} // namespace gpstk
+
diff --git a/trunk/src/Triple.hpp b/trunk/src/Triple.hpp
new file mode 100644
index 0000000..4f445db
--- /dev/null
+++ b/trunk/src/Triple.hpp
@@ -0,0 +1,206 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Triple.hpp#3 $"
+
+/**
+ * @file Triple.hpp
+ * Three element double vectors, for use with geodetic coordinates
+ */
+
+#ifndef GPSTK_TRIPLE_HPP
+#define GPSTK_TRIPLE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <valarray>
+#include "Exception.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup geodeticgroup */
+ //@{
+
+ /// Thrown when a gpstk::Triple operation can't be completed.
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(GeometryException, gpstk::Exception);
+
+ /**
+ * Three-dimensional vectors. This class provides mathematical
+ * functions for 3D vectors, including some functions specific
+ * to orbital tracking.
+ */
+ class Triple
+ {
+ public:
+ /// Default constructor, initialize as triple.
+ Triple();
+
+ /// Copy constructor.
+ Triple(const Triple& right);
+
+ /// Construct from three doubles.
+ Triple(double a,
+ double b,
+ double c);
+
+ /// Destructor
+ virtual ~Triple() {}
+
+ /// Assignment operator.
+ Triple& operator=(const Triple& right);
+
+ /** Assign from valarray.
+ * @throw GeometryException if right.size() != 3.
+ */
+ Triple& operator=(const std::valarray<double>& right)
+ throw(GeometryException);
+
+ /**
+ * Computes the Dot Product of two vectors
+ * @param right vector to compute dot product with.
+ * @return The dot product of \c this and \c right
+ */
+ double dot(const Triple& right) const
+ throw();
+
+ /**
+ * Computes the Cross Product of two vectors
+ * @param right vector to compute cross product with
+ * @return The cross product of \c v1 and \c v2
+ */
+ Triple cross(const Triple& right) const
+ throw();
+
+ /**
+ * Computes the Magnigude of this vector
+ */
+ double mag() const
+ throw();
+
+ /**
+ * Returns the unit vector of this vector
+ */
+ Triple unitVector() const;
+
+ /**
+ * Computes the Cosine of the Angle Between this vector and another.
+ * @param right the other vector
+ * @return The cosine of the angle between \c this and \c right
+ */
+ double cosVector(const Triple& right) const
+ throw();
+
+ /**
+ * Computes the slant range between this vector and another
+ * @param right A Vector
+ * @return The slant range between \c this and \c right
+ */
+ double slantRange(const Triple& right) const
+ throw();
+
+ /**
+ * Computes the elevation of a point with respect to this
+ * point.
+ * @param right The second point
+ * @return The elevation of \c right relative to \c this
+ */
+ double elvAngle(const Triple& right) const
+ throw();
+
+ /**
+ * Computes an azimuth from this point.
+ * @param right The position to determine azimuth of.
+ * @return The azimuth of \c right relative to \c this
+ */
+ double azAngle(const Triple& right) const
+ throw(GeometryException);
+
+ /**
+ * Return a reference to the element at /a index.
+ * @param index the index of the element to return.
+ * @return the reference to the requested element.
+ */
+ double& operator[](const size_t index)
+ { return theArray[index]; }
+
+ /**
+ * Return the value of the element at /a index.
+ * @param index the index of the element to return.
+ * @return the value of the element at /a index.
+ */
+ double operator[](const size_t index) const
+ { return theArray[index]; }
+
+ /**
+ * Difference Operator.
+ * @param right the Triple to subtract from this object
+ * @return a Triple containing the difference between *this and right
+ */
+ Triple operator-(const Triple& right) const ;
+
+ /**
+ * Sum Operator.
+ * @param right the Triple to add to this object
+ * @return a Triple containing the sum of *this and right
+ */
+ Triple operator+(const Triple& right) const ;
+
+ /// Return the size of this object.
+ size_t size(void) const
+ { return theArray.size(); }
+
+ /**
+ * Output operator for dvec
+ * @param s output stream to which \c v is sent
+ * @param v dvec that is sent to \c s
+ */
+ friend std::ostream& operator<<(std::ostream& s,
+ const gpstk::Triple& v);
+
+ std::valarray<double> theArray;
+
+ }; // class Triple
+
+ //@}
+
+} // namespace gpstk
+
+
+#endif
diff --git a/trunk/src/TropModel.cpp b/trunk/src/TropModel.cpp
new file mode 100644
index 0000000..e883c01
--- /dev/null
+++ b/trunk/src/TropModel.cpp
@@ -0,0 +1,1700 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TropModel.cpp#8 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file TropModel.cpp
+ * Base class for tropospheric models, plus implementations of several
+ * published models
+ */
+
+#include "TropModel.hpp"
+#include "EphemerisRange.hpp" // for Elevation()
+#include "MathBase.hpp" // SQRT
+#include "geometry.hpp" // DEG_TO_RAD
+#include "GPSGeoid.hpp" // geoid.a() = R earth
+#include "icd_200_constants.hpp" // TWO_PI
+#include "Geodetic.hpp"
+#include "ECEF.hpp"
+#include "WGS84Geoid.hpp"
+
+namespace gpstk
+{
+ // for temperature conversion from Celcius to Kelvin
+ static const double CELSIUS_TO_KELVIN = 273.15;
+
+ // for Geodetic coordinate conversion
+ WGS84Geoid WGS84;
+
+ // Compute and return the full tropospheric delay. Typically call
+ // setWeather(T,P,H) before making this call.
+ // @param elevation Elevation of satellite as seen at receiver, in degrees
+ double TropModel::correction(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid)
+ GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+ if(elevation < 0.0)
+ return 0.0;
+
+ return (dry_zenith_delay() * dry_mapping_function(elevation)
+ + wet_zenith_delay() * wet_mapping_function(elevation));
+
+ } // end TropModel::correction(elevation)
+
+ // Compute and return the full tropospheric delay, given the positions of
+ // receiver and satellite and the time tag. This version is most useful
+ // within positioning algorithms, where the receiver position and timetag may
+ // vary; it computes the elevation (and other receiver location information)
+ // and passes them to appropriate set...() routines and the
+ // correction(elevation) routine.
+ // @param RX Receiver position in ECEF cartesian coordinates (meters)
+ // @param SV Satellite position in ECEF cartesian coordinates (meters)
+ // @param tt Time tag of the signal
+ double TropModel::correction(const Position& RX,
+ const Position& SV,
+ const DayTime& tt)
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid)
+ GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+ double c;
+ try
+ {
+ c = correction(RX.elevation(SV));
+ }
+ catch(InvalidTropModel& e)
+ {
+ GPSTK_RETHROW(e);
+ }
+ return c;
+ } // end TropModel::correction(RX,SV,TT)
+
+ // Re-define the tropospheric model with explicit weather data.
+ // Typically called just before correction().
+ // @param T temperature in degrees Celsius
+ // @param P atmospheric pressure in millibars
+ // @param H relative humidity in percent
+ void TropModel::setWeather(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter)
+ {
+ temp = T + CELSIUS_TO_KELVIN;
+ press = P;
+ humid = H;
+ if (temp < 0.0)
+ {
+ valid = false;
+ GPSTK_THROW(InvalidParameter("Invalid temperature parameter."));
+ }
+ if (press < 0.0)
+ {
+ valid = false;
+ GPSTK_THROW(InvalidParameter("Invalid pressure parameter."));
+ }
+ if (humid < 0.0 || humid > 100.0)
+ {
+ valid = false;
+ GPSTK_THROW(InvalidParameter("Invalid humidity parameter."));
+ }
+ } // end TropModel::setWeather(T,P,H)
+
+ // Re-define the tropospheric model with explicit weather data.
+ // Typically called just before correction().
+ // @param wx the weather to use for this correction
+ void TropModel::setWeather(const WxObservation& wx)
+ throw(InvalidParameter)
+ {
+ if (wx.isAllValid())
+ {
+ try
+ {
+ setWeather(wx.temperature, wx.pressure, wx.humidity);
+ valid = true;
+ }
+ catch(InvalidParameter& e)
+ {
+ valid = false;
+ GPSTK_RETHROW(e);
+ }
+ }
+ else
+ {
+ valid = false;
+ GPSTK_THROW(InvalidParameter("Invalid weather data"));
+ }
+ }
+
+ // -------------------------------------------------------------------------------
+ // Simple Black model. This has been used as the 'default' for many years.
+
+ // Default constructor
+ SimpleTropModel::SimpleTropModel(void)
+ {
+ setWeather(20.0, 980.0, 50.0);
+ Cwetdelay = 0.122382715318184;
+ Cdrydelay = 2.235486646978727;
+ Cwetmap = 1.000282213715744;
+ Cdrymap = 1.001012704615527;
+ valid = true;
+ }
+
+ // Creates a trop model from a weather observation
+ // @param wx the weather to use for this correction.
+ SimpleTropModel::SimpleTropModel(const WxObservation& wx)
+ throw(InvalidParameter)
+ {
+ setWeather(wx);
+ valid = true;
+ }
+
+ // Create a tropospheric model from explicit weather data
+ // @param T temperature in degrees Celsius
+ // @param P atmospheric pressure in millibars
+ // @param H relative humidity in percent
+ SimpleTropModel::SimpleTropModel(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter)
+ {
+ setWeather(T,P,H);
+ valid = true;
+ }
+
+ // Re-define the tropospheric model with explicit weather data.
+ // Typically called just before correction().
+ // @param T temperature in degrees Celsius
+ // @param P atmospheric pressure in millibars
+ // @param H relative humidity in percent
+ void SimpleTropModel::setWeather(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter)
+ {
+ TropModel::setWeather(T,P,H);
+ GPSGeoid geoid;
+ Cdrydelay = 2.343*(press/1013.25)*(temp-3.96)/temp;
+ double tks = temp * temp;
+ Cwetdelay = 8.952/tks*humid*exp(-37.2465+0.213166*temp-(0.256908e-3)*tks);
+ Cdrymap =1.0+(0.15)*148.98*(temp-3.96)/geoid.a();
+ Cwetmap =1.0+(0.15)*12000.0/geoid.a();
+ valid = true;
+ } // end SimpleTropModel::setWeather(T,P,H)
+
+ // Re-define the tropospheric model with explicit weather data.
+ // Typically called just before correction().
+ // @param wx the weather to use for this correction
+ void SimpleTropModel::setWeather(const WxObservation& wx)
+ throw(InvalidParameter)
+ {
+ TropModel::setWeather(wx);
+ }
+
+ // Compute and return the zenith delay for dry component of the troposphere
+ double SimpleTropModel::dry_zenith_delay(void) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid)
+ GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+ return Cdrydelay;
+ }
+
+ // Compute and return the zenith delay for wet component of the troposphere
+ double SimpleTropModel::wet_zenith_delay(void) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid)
+ GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+ return Cwetdelay;
+ }
+
+ // Compute and return the mapping function for dry component
+ // of the troposphere
+ // @param elevation is the Elevation of satellite as seen at receiver,
+ // in degrees
+ double SimpleTropModel::dry_mapping_function(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid)
+ GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+ if(elevation < 0.0) return 0.0;
+
+ double d = cos(elevation*DEG_TO_RAD);
+ d /= Cdrymap;
+ return (1.0/SQRT(1.0-d*d));
+ }
+
+ // Compute and return the mapping function for wet component
+ // of the troposphere
+ // @param elevation is the Elevation of satellite as seen at receiver,
+ // in degrees
+ double SimpleTropModel::wet_mapping_function(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid)
+ GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+ if(elevation < 0.0) return 0.0;
+
+ double d = cos(elevation*DEG_TO_RAD);
+ d /= Cwetmap;
+ return (1.0/SQRT(1.0-d*d));
+ }
+
+ // -------------------------------------------------------------------------------
+ // Tropospheric model based on Goad and Goodman(1974),
+ // "A Modified Hopfield Tropospheric Refraction Correction Model," Paper
+ // presented at the Fall Annual Meeting of the American Geophysical Union,
+ // San Francisco, December 1974.
+ // See Leick, "GPS Satellite Surveying," Wiley, NY, 1990, Chapter 9,
+ // particularly Table 9.1.
+ // -------------------------------------------------------------------------------
+
+ static const double GGdryscale = 8594.777388436570600;
+ static const double GGwetscale = 2540.042008403690900;
+
+ // Default constructor
+ GGTropModel::GGTropModel(void)
+ {
+ TropModel::setWeather(20.0, 980.0, 50.0);
+ Cdrydelay = 2.59629761092150147e-4; // zenith delay, dry
+ Cwetdelay = 4.9982784999977412e-5; // zenith delay, wet
+ Cdrymap = 42973.886942182834900; // height for mapping, dry
+ Cwetmap = 12700.210042018454260; // height for mapping, wet
+ valid = true;
+ } // end GGTropModel::GGTropModel()
+
+ // Creates a trop model from a weather observation
+ // @param wx the weather to use for this correction.
+ GGTropModel::GGTropModel(const WxObservation& wx)
+ throw(InvalidParameter)
+ {
+ setWeather(wx);
+ valid = true;
+ } // end GGTropModel::GGTropModel(weather)
+
+ // Create a tropospheric model from explicit weather data
+ // @param T temperature in degrees Celsius
+ // @param P atmospheric pressure in millibars
+ // @param H relative humidity in percent
+ GGTropModel::GGTropModel(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter)
+ {
+ setWeather(T,P,H);
+ valid = true;
+ } // end GGTropModel::GGTropModel()
+
+ double GGTropModel::dry_zenith_delay(void) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid)
+ GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+ return (Cdrydelay * GGdryscale);
+ } // end GGTropModel::dry_zenith_delay()
+
+ double GGTropModel::wet_zenith_delay(void) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid)
+ GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+ return (Cwetdelay * GGwetscale);
+ } // end GGTropModel::wet_zenith_delay()
+
+ double GGTropModel::dry_mapping_function(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid)
+ GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+ if(elevation < 0.0) return 0.0;
+
+ GPSGeoid geoid;
+ double ce=cos(elevation*DEG_TO_RAD), se=sin(elevation*DEG_TO_RAD);
+ double ad = -se/Cdrymap;
+ double bd = -ce*ce/(2.0*geoid.a()*Cdrymap);
+ double Rd = SQRT((geoid.a()+Cdrymap)*(geoid.a()+Cdrymap)
+ - geoid.a()*geoid.a()*ce*ce) - geoid.a()*se;
+
+ double Ad[9], ad2=ad*ad, bd2=bd*bd;
+ Ad[0] = 1.0;
+ Ad[1] = 4.0*ad;
+ Ad[2] = 6.0*ad2 + 4.0*bd;
+ Ad[3] = 4.0*ad*(ad2+3.0*bd);
+ Ad[4] = ad2*ad2 + 12.0*ad2*bd + 6.0*bd2;
+ Ad[5] = 4.0*ad*bd*(ad2+3.0*bd);
+ Ad[6] = bd2*(6.0*ad2+4.0*bd);
+ Ad[7] = 4.0*ad*bd*bd2;
+ Ad[8] = bd2*bd2;
+
+ // compute dry component of the mapping function
+ double sumd=0.0;
+ for(int j=9; j>=1; j--) {
+ sumd += Ad[j-1]/double(j);
+ sumd *= Rd;
+ }
+ return sumd/GGdryscale;
+
+ } // end GGTropModel::dry_mapping_function(elev)
+
+ // compute wet component of the mapping function
+ double GGTropModel::wet_mapping_function(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid)
+ GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+ if(elevation < 0.0) return 0.0;
+
+ GPSGeoid geoid;
+ double ce = cos(elevation*DEG_TO_RAD), se = sin(elevation*DEG_TO_RAD);
+ double aw = -se/Cwetmap;
+ double bw = -ce*ce/(2.0*geoid.a()*Cwetmap);
+ double Rw = SQRT((geoid.a()+Cwetmap)*(geoid.a()+Cwetmap)
+ - geoid.a()*geoid.a()*ce*ce) - geoid.a()*se;
+
+ double Aw[9], aw2=aw*aw, bw2=bw*bw;
+ Aw[0] = 1.0;
+ Aw[1] = 4.0*aw;
+ Aw[2] = 6.0*aw2 + 4.0*bw;
+ Aw[3] = 4.0*aw*(aw2+3.0*bw);
+ Aw[4] = aw2*aw2 + 12.0*aw2*bw + 6.0*bw2;
+ Aw[5] = 4.0*aw*bw*(aw2+3.0*bw);
+ Aw[6] = bw2*(6.0*aw2+4.0*bw);
+ Aw[7] = 4.0*aw*bw*bw2;
+ Aw[8] = bw2*bw2;
+
+ double sumw=0.0;
+ for(int j=9; j>=1; j--) {
+ sumw += Aw[j-1]/double(j);
+ sumw *= Rw;
+ }
+ return sumw/GGwetscale;
+
+ } // end GGTropModel::wet_mapping_function(elev)
+
+ void GGTropModel::setWeather(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter)
+ {
+ TropModel::setWeather(T,P,H);
+ double th=300./temp;
+ // water vapor partial pressure (mb)
+ // this comes from Leick and is not good.
+ // double wvpp=6.108*(RHum*0.01)*exp((17.15*Tk-4684.0)/(Tk-38.45));
+ double wvpp=2.409e9*humid*th*th*th*th*exp(-22.64*th);
+ Cdrydelay = 7.7624e-5*press/temp;
+ Cwetdelay = 1.0e-6*(-12.92+3.719e+05/temp)*(wvpp/temp);
+ Cdrymap = (5.0*0.002277*press)/Cdrydelay;
+ Cwetmap = (5.0*0.002277/Cwetdelay)*(1255.0/temp+0.5)*wvpp;
+ valid = true;
+ } // end GGTropModel::setWeather(T,P,H)
+
+ // Re-define the tropospheric model with explicit weather data.
+ // Typically called just before correction().
+ // @param wx the weather to use for this correction
+ void GGTropModel::setWeather(const WxObservation& wx)
+ throw(InvalidParameter)
+ {
+ TropModel::setWeather(wx);
+ }
+
+ // -------------------------------------------------------------------------------
+ // Tropospheric model with heights based on Goad and Goodman(1974),
+ // "A Modified Hopfield Tropospheric Refraction Correction Model," Paper
+ // presented at the Fall Annual Meeting of the American Geophysical Union,
+ // San Francisco, December 1974.
+ // (Not the same as GGTropModel because this has height dependence,
+ // and the computation of this model does not break cleanly into
+ // wet and dry components.)
+
+ // Default constructor
+ GGHeightTropModel::GGHeightTropModel(void)
+ {
+ validWeather = false; //setWeather(20.0,980.0,50.0);
+ validHeights = false; //setHeights(0.0,0.0,0.0);
+ validRxHeight = false;
+ }
+
+ // Creates a trop model from a weather observation
+ // @param wx the weather to use for this correction.
+ GGHeightTropModel::GGHeightTropModel(const WxObservation& wx)
+ throw(InvalidParameter)
+ {
+ valid = validRxHeight = validHeights = false;
+ setWeather(wx);
+ }
+
+ // Create a tropospheric model from explicit weather data
+ // @param T temperature in degrees Celsius
+ // @param P atmospheric pressure in millibars
+ // @param H relative humidity in percent
+ GGHeightTropModel::GGHeightTropModel(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter)
+ {
+ validRxHeight = validHeights = false;
+ setWeather(T,P,H);
+ }
+
+ // Create a valid model from explicit input.
+ // @param T temperature in degrees Celsius
+ // @param P atmospheric pressure in millibars
+ // @param H relative humidity in percent
+ // @param hT height at which temperature applies in meters.
+ // @param hP height at which atmospheric pressure applies in meters.
+ // @param hH height at which relative humidity applies in meters.
+ GGHeightTropModel::GGHeightTropModel(const double& T,
+ const double& P,
+ const double& H,
+ const double hT,
+ const double hP,
+ const double hH)
+ throw(InvalidParameter)
+ {
+ validRxHeight = false;
+ setWeather(T,P,H);
+ setHeights(hT,hP,hH);
+ }
+
+ // re-define this to get the throws
+ double GGHeightTropModel::correction(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid)
+ {
+ if(!validWeather)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Weather"));
+ if(!validHeights)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Heights"));
+ if(!validRxHeight)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Rx Height"));
+ }
+ if(elevation < 0.0) return 0.0;
+
+ return (dry_zenith_delay() * dry_mapping_function(elevation)
+ + wet_zenith_delay() * wet_mapping_function(elevation));
+
+ } // end GGHeightTropModel::correction(elevation)
+
+ // Compute and return the full tropospheric delay, given the positions of
+ // receiver and satellite and the time tag. This version is most useful
+ // within positioning algorithms, where the receiver position and timetag
+ // may vary; it computes the elevation (and other receiver location
+ // information) and passes them to appropriate set...() routines and
+ // the correction(elevation) routine.
+ // @param RX Receiver position
+ // @param SV Satellite position
+ // @param tt Time tag of the signal
+ double GGHeightTropModel::correction(const Position& RX,
+ const Position& SV,
+ const DayTime& tt)
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid)
+ {
+ if(!validWeather)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Weather"));
+ if(!validHeights)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Heights"));
+ if(!validRxHeight)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Rx Height"));
+ }
+
+ // compute height from RX
+ setReceiverHeight(RX.getHeight());
+
+ return TropModel::correction(RX.elevation(SV));
+
+ } // end GGHeightTropModel::correction(RX,SV,TT)
+
+ // Compute and return the full tropospheric delay, given the positions of
+ // receiver and satellite and the time tag. This version is most useful
+ // within positioning algorithms, where the receiver position and timetag
+ // may vary; it computes the elevation (and other receiver location
+ // information) and passes them to appropriate set...() routines and
+ // the correction(elevation) routine.
+ // @param RX Receiver position in ECEF cartesian coordinates (meters)
+ // @param SV Satellite position in ECEF cartesian coordinates (meters)
+ // @param tt Time tag of the signal
+ // This function is deprecated; use the Position version
+ double GGHeightTropModel::correction(const Xvt& RX,
+ const Xvt& SV,
+ const DayTime& tt)
+ throw(TropModel::InvalidTropModel)
+ {
+ Position R(RX),S(SV);
+ return GGHeightTropModel::correction(R,S,tt);
+ }
+
+ // Compute and return the zenith delay for dry component of the troposphere
+ double GGHeightTropModel::dry_zenith_delay(void) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Weather"));
+ if(!validHeights)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Heights"));
+ if(!validRxHeight)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Rx Height"));
+ }
+ double hrate=6.5e-3;
+ double Ts=temp+hrate*height;
+ double em=978.77/(2.8704e4*hrate);
+ double Tp=Ts-hrate*hpress;
+ double ps=press*pow(Ts/Tp,em)/1000.0;
+ double rs=77.624e-3/Ts;
+ double ho=11.385/rs;
+ rs *= ps;
+ double zen=(ho-height)/ho;
+ zen = rs*zen*zen*zen*zen;
+ // normalize
+ zen *= (ho-height)/5;
+ return zen;
+
+ } // end GGHeightTropModel::dry_zenith_delay()
+
+ // Compute and return the zenith delay for wet component of the troposphere
+ double GGHeightTropModel::wet_zenith_delay(void) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Weather"));
+ if(!validHeights)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Heights"));
+ if(!validRxHeight)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Rx Height"));
+ }
+ double hrate=6.5e-3; // deg K / m
+ double Th=temp-273.15-hrate*(hhumid-htemp);
+ double Ta=7.5*Th/(237.3+Th);
+ // water vapor partial pressure
+ double e0=6.11e-5*humid*pow(10.0,Ta);
+ double Ts=temp+hrate*htemp;
+ double em=978.77/(2.8704e4*hrate);
+ double Tk=Ts-hrate*hhumid;
+ double es=e0*pow(Ts/Tk,4.0*em);
+ double rs=(371900.0e-3/Ts-12.92e-3)/Ts;
+ double ho=11.385*(1255/Ts+0.05)/rs;
+ double zen=(ho-height)/ho;
+ zen = rs*es*zen*zen*zen*zen;
+ //normalize
+ zen *= (ho-height)/5;
+ return zen;
+
+ } // end GGHeightTropModel::wet_zenith_delay()
+
+ // Compute and return the mapping function for dry component
+ // of the troposphere
+ // @param elevation Elevation of satellite as seen at receiver,
+ // in degrees
+ double GGHeightTropModel::dry_mapping_function(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Weather"));
+ if(!validHeights)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Heights"));
+ if(!validRxHeight)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Rx Height"));
+ }
+ if(elevation < 0.0) return 0.0;
+
+ double hrate=6.5e-3;
+ double Ts=temp+hrate*htemp;
+ double ho=(11.385/77.624e-3)*Ts;
+ double se=sin(elevation*DEG_TO_RAD);
+ if(se < 0.0) se=0.0;
+
+ GPSGeoid geoid;
+ double rt,a,b,rn[8],al[8],er=geoid.a();
+ rt = (er+ho)/(er+height);
+ rt = rt*rt - (1.0-se*se);
+ if(rt < 0) rt=0.0;
+ rt = (er+height)*(SQRT(rt)-se);
+ a = -se/(ho-height);
+ b = -(1.0-se*se)/(2.0*er*(ho-height));
+ rn[0] = rt*rt;
+ for(int j=1; j<8; j++) rn[j]=rn[j-1]*rt;
+ al[0] = 2*a;
+ al[1] = 2*a*a+4*b/3;
+ al[2] = a*(a*a+3*b);
+ al[3] = a*a*a*a/5+2.4*a*a*b+1.2*b*b;
+ al[4] = 2*a*b*(a*a+3*b)/3;
+ al[5] = b*b*(6*a*a+4*b)*0.1428571;
+ if(b*b > 1.0e-35) {
+ al[6] = a*b*b*b/2;
+ al[7] = b*b*b*b/9;
+ } else {
+ al[6] = 0.0;
+ al[7] = 0.0;
+ }
+ double map=rt;
+ for(int k=0; k<8; k++) map += al[k]*rn[k];
+ // normalize
+ double norm=(ho-height)/5;
+ return map/norm;
+
+ } // end GGHeightTropModel::dry_mapping_function(elevation)
+
+ // Compute and return the mapping function for wet component
+ // of the troposphere
+ // @param elevation Elevation of satellite as seen at receiver,
+ // in degrees
+ double GGHeightTropModel::wet_mapping_function(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Weather"));
+ if(!validHeights)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Heights"));
+ if(!validRxHeight)
+ GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Rx Height"));
+ }
+ if(elevation < 0.0) return 0.0;
+
+ double hrate=6.5e-3;
+ double Ts=temp+hrate*htemp;
+ double rs=(371900.0e-3/Ts-12.92e-3)/Ts;
+ double ho=11.385*(1255/Ts+0.05)/rs;
+ double se=sin(elevation*DEG_TO_RAD);
+ if(se < 0.0) se=0.0;
+
+ GPSGeoid geoid;
+ double rt,a,b,rn[8],al[8],er=geoid.a();
+ rt = (er+ho)/(er+height);
+ rt = rt*rt - (1.0-se*se);
+ if(rt < 0) rt=0.0;
+ rt = (er+height)*(SQRT(rt)-se);
+ a = -se/(ho-height);
+ b = -(1.0-se*se)/(2.0*er*(ho-height));
+ rn[0] = rt*rt;
+ for(int i=1; i<8; i++) rn[i]=rn[i-1]*rt;
+ al[0] = 2*a;
+ al[1] = 2*a*a+4*b/3;
+ al[2] = a*(a*a+3*b);
+ al[3] = a*a*a*a/5+2.4*a*a*b+1.2*b*b;
+ al[4] = 2*a*b*(a*a+3*b)/3;
+ al[5] = b*b*(6*a*a+4*b)*0.1428571;
+ if(b*b > 1.0e-35) {
+ al[6] = a*b*b*b/2;
+ al[7] = b*b*b*b/9;
+ } else {
+ al[6] = 0.0;
+ al[7] = 0.0;
+ }
+ double map=rt;
+ for(int j=0; j<8; j++) map += al[j]*rn[j];
+ // normalize map function
+ double norm=(ho-height)/5;
+ return map/norm;
+
+ } // end GGHeightTropModel::wet_mapping_function(elevation)
+
+ // Re-define the weather data.
+ // Typically called just before correction().
+ // @param T temperature in degrees Celsius
+ // @param P atmospheric pressure in millibars
+ // @param H relative humidity in percent
+ void GGHeightTropModel::setWeather(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter)
+ {
+ try
+ {
+ TropModel::setWeather(T,P,H);
+ validWeather = true;
+ valid = validWeather && validHeights && validRxHeight;
+ }
+ catch(InvalidParameter& e)
+ {
+ valid = validWeather = false;
+ GPSTK_RETHROW(e);
+ }
+ } // end GGHeightTropModel::setWeather(T,P,H)
+
+ // Re-define the tropospheric model with explicit weather data.
+ // Typically called just before correction().
+ // @param wx the weather to use for this correction
+ void GGHeightTropModel::setWeather(const WxObservation& wx)
+ throw(InvalidParameter)
+ {
+ try
+ {
+ TropModel::setWeather(wx);
+ validWeather = true;
+ valid = validWeather && validHeights && validRxHeight;
+ }
+ catch(InvalidParameter& e)
+ {
+ valid = validWeather = false;
+ GPSTK_RETHROW(e);
+ }
+ }
+
+
+ // Re-define the heights at which the weather parameters apply.
+ // Typically called just before correction().
+ // @param hT height (m) at which temperature applies
+ // @param hP height (m) at which atmospheric pressure applies
+ // @param hH height (m) at which relative humidity applies
+ void GGHeightTropModel::setHeights(const double& hT,
+ const double& hP,
+ const double& hH)
+ {
+ htemp = hT; // height (m) at which temp applies
+ hpress = hP; // height (m) at which press applies
+ hhumid = hH; // height (m) at which humid applies
+ validHeights = true;
+ valid = validWeather && validHeights && validRxHeight;
+ } // end GGHeightTropModel::setHeights(hT,hP,hH)
+
+ // Define the receiver height; this required before calling
+ // correction() or any of the zenith_delay or mapping_function routines.
+ void GGHeightTropModel::setReceiverHeight(const double& ht)
+ {
+ height = ht;
+ validRxHeight = true;
+ if(!validHeights) {
+ htemp = hpress = hhumid = ht;
+ validHeights = true;
+ }
+ valid = validWeather && validHeights && validRxHeight;
+ } // end GGHeightTropModel::setReceiverHeight(const double& ht)
+
+ // -------------------------------------------------------------------------------
+ // Tropospheric model developed by University of New Brunswick and described in
+ // "A Tropospheric Delay Model for the User of the Wide Area Augmentation
+ // System," J. Paul Collins and Richard B. Langley, Technical Report No. 187,
+ // Dept. of Geodesy and Geomatics Engineering, University of New Brunswick,
+ // 1997. See particularly Appendix C.
+ //
+ // This model includes a wet and dry component, and was designed for the user
+ // without access to measurements of temperature, pressure and relative humidity
+ // at ground level. It requires input of the latitude, day of year and height
+ // above the ellipsoid, and it interpolates a table of values, using these
+ // inputs, to get the ground level weather parameters plus other parameters and
+ // the mapping function constants.
+ //
+ // NB in this model, units of temp are degrees Celsius, and humid is the water
+ // vapor partial pressure.
+
+ static const double NBRd=287.054; // J/kg/K = m*m*K/s*s
+ static const double NBg=9.80665; // m/s*s
+ static const double NBk1=77.604; // K/mbar
+ static const double NBk3p=382000; // K*K/mbar
+
+ static const double NBLat[5]={ 15.0, 30.0, 45.0, 60.0, 75.0};
+
+ // zenith delays, averages
+ static const double NBZP0[5]={1013.25,1017.25,1015.75,1011.75,1013.00};
+ static const double NBZT0[5]={ 299.65, 294.15, 283.15, 272.15, 263.65};
+ static const double NBZW0[5]={ 26.31, 21.79, 11.66, 6.78, 4.11};
+ static const double NBZB0[5]={6.30e-3,6.05e-3,5.58e-3,5.39e-3,4.53e-3};
+ static const double NBZL0[5]={ 2.77, 3.15, 2.57, 1.81, 1.55};
+
+ // zenith delays, amplitudes
+ static const double NBZPa[5]={ 0.0, -3.75, -2.25, -1.75, -0.50};
+ static const double NBZTa[5]={ 0.0, 7.0, 11.0, 15.0, 14.5};
+ static const double NBZWa[5]={ 0.0, 8.85, 7.24, 5.36, 3.39};
+ static const double NBZBa[5]={ 0.0,0.25e-3,0.32e-3,0.81e-3,0.62e-3};
+ static const double NBZLa[5]={ 0.0, 0.33, 0.46, 0.74, 0.30};
+
+ // mapping function, dry, averages
+ static const double NBMad[5]={1.2769934e-3,1.2683230e-3,1.2465397e-3,1.2196049e-3,
+ 1.2045996e-3};
+ static const double NBMbd[5]={2.9153695e-3,2.9152299e-3,2.9288445e-3,2.9022565e-3,
+ 2.9024912e-3};
+ static const double NBMcd[5]={62.610505e-3,62.837393e-3,63.721774e-3,63.824265e-3,
+ 64.258455e-3};
+
+ // mapping function, dry, amplitudes
+ static const double NBMaa[5]={0.0,1.2709626e-5,2.6523662e-5,3.4000452e-5,
+ 4.1202191e-5};
+ static const double NBMba[5]={0.0,2.1414979e-5,3.0160779e-5,7.2562722e-5,
+ 11.723375e-5};
+ static const double NBMca[5]={0.0,9.0128400e-5,4.3497037e-5,84.795348e-5,
+ 170.37206e-5};
+
+ // mapping function, wet, averages (there are no amplitudes for wet)
+ static const double NBMaw[5]={5.8021897e-4,5.6794847e-4,5.8118019e-4,5.9727542e-4,
+ 6.1641693e-4};
+ static const double NBMbw[5]={1.4275268e-3,1.5138625e-3,1.4572752e-3,1.5007428e-3,
+ 1.7599082e-3};
+ static const double NBMcw[5]={4.3472961e-2,4.6729510e-2,4.3908931e-2,4.4626982e-2,
+ 5.4736038e-2};
+
+ // labels for use with the interpolation routine
+ enum TableEntry { ZP=1, ZT, ZW, ZB, ZL, Mad, Mbd, Mcd, Maw, Mbw, Mcw };
+
+ // the interpolation routine
+ static double NB_Interpolate(double lat, int doy, TableEntry entry)
+ {
+ const double *pave, *pamp;
+ double ret, day=double(doy);
+
+ // assign pointer to the right array
+ switch(entry) {
+ case ZP: pave=&NBZP0[0]; pamp=&NBZPa[0]; break;
+ case ZT: pave=&NBZT0[0]; pamp=&NBZTa[0]; break;
+ case ZW: pave=&NBZW0[0]; pamp=&NBZWa[0]; break;
+ case ZB: pave=&NBZB0[0]; pamp=&NBZBa[0]; break;
+ case ZL: pave=&NBZL0[0]; pamp=&NBZLa[0]; break;
+ case Mad: pave=&NBMad[0]; pamp=&NBMaa[0]; break;
+ case Mbd: pave=&NBMbd[0]; pamp=&NBMba[0]; break;
+ case Mcd: pave=&NBMcd[0]; pamp=&NBMca[0]; break;
+ case Maw: pave=&NBMaw[0]; break;
+ case Mbw: pave=&NBMbw[0]; break;
+ case Mcw: pave=&NBMcw[0]; break;
+ }
+
+ // find the index i such that NBLat[i] <= lat < NBLat[i+1]
+ int i = int(ABS(lat)/15.0)-1;
+
+ if(i>=0 && i<=3) { // mid-latitude -> regular interpolation
+ double m=(ABS(lat)-NBLat[i])/(NBLat[i+1]-NBLat[i]);
+ ret = pave[i]+m*(pave[i+1]-pave[i]);
+ if(entry < Maw)
+ ret -= (pamp[i]+m*(pamp[i+1]-pamp[i]))
+ * cos(TWO_PI*(day-28.0)/365.25);
+ }
+ else { // < 15 or > 75 -> simpler interpolation
+ if(i<0) i=0; else i=4;
+ ret = pave[i];
+ if(entry < Maw)
+ ret -= pamp[i]*cos(TWO_PI*(day-28.0)/365.25);
+ }
+
+ return ret;
+
+ } // end double NB_Interpolate(lat,doy,entry)
+
+ // Default constructor
+ NBTropModel::NBTropModel(void)
+ {
+ validWeather = false;
+ validRxLatitude = false;
+ validDOY = false;
+ validRxHeight = false;
+ } // end NBTropModel::NBTropModel()
+
+ // Create a trop model using the minimum information: latitude and doy.
+ // Interpolate the weather unless setWeather (optional) is called.
+ // @param lat Latitude of the receiver in degrees.
+ // @param day Day of year.
+ NBTropModel::NBTropModel(const double& lat,
+ const int& day)
+ {
+ validRxHeight = false;
+ setReceiverLatitude(lat);
+ setDayOfYear(day);
+ setWeather();
+ } // end NBTropModel::NBTropModel(lat, day);
+
+ // Create a trop model with weather.
+ // @param lat Latitude of the receiver in degrees.
+ // @param day Day of year.
+ // @param wx the weather to use for this correction.
+ NBTropModel::NBTropModel(const double& lat,
+ const int& day,
+ const WxObservation& wx)
+ throw(InvalidParameter)
+ {
+ validRxHeight = false;
+ setReceiverLatitude(lat);
+ setDayOfYear(day);
+ setWeather(wx);
+ } // end NBTropModel::NBTropModel(weather)
+
+ // Create a tropospheric model from explicit weather data
+ // @param lat Latitude of the receiver in degrees.
+ // @param day Day of year.
+ // @param T temperature in degrees Celsius
+ // @param P atmospheric pressure in millibars
+ // @param H relative humidity in percent
+ NBTropModel::NBTropModel(const double& lat,
+ const int& day,
+ const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter)
+ {
+ validRxHeight = false;
+ setReceiverLatitude(lat);
+ setDayOfYear(day);
+ setWeather(T,P,H);
+ } // end NBTropModel::NBTropModel()
+
+ // Create a valid model from explicit input (weather will be estimated
+ // internally by this model).
+ // @param ht Height of the receiver in meters.
+ // @param lat Latitude of the receiver in degrees.
+ // @param d Day of year.
+ NBTropModel::NBTropModel(const double& ht,
+ const double& lat,
+ const int& day)
+ {
+ setReceiverHeight(ht);
+ setReceiverLatitude(lat);
+ setDayOfYear(day);
+ setWeather();
+ }
+
+ // re-define this to get the throws
+ double NBTropModel::correction(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: weather"));
+ if(!validRxLatitude)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Latitude"));
+ if(!validRxHeight)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Height"));
+ if(!validDOY)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: day of year"));
+ }
+
+ if(elevation < 0.0) return 0.0;
+
+ return (dry_zenith_delay() * dry_mapping_function(elevation)
+ + wet_zenith_delay() * wet_mapping_function(elevation));
+ } // end NBTropModel::correction(elevation)
+
+ // Compute and return the full tropospheric delay, given the positions of
+ // receiver and satellite and the time tag. This version is most useful
+ // within positioning algorithms, where the receiver position and timetag
+ // may vary; it computes the elevation (and other receiver location
+ // information) and passes them to appropriate set...() routines
+ // and the correction(elevation) routine.
+ // @param RX Receiver position
+ // @param SV Satellite position
+ // @param tt Time tag of the signal
+ double NBTropModel::correction(const Position& RX,
+ const Position& SV,
+ const DayTime& tt)
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather)
+
+ if(!validRxLatitude)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Latitude"));
+ if(!validRxHeight)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Height"));
+ if(!validDOY)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: day of year"));
+ }
+
+ // compute height and latitude from RX
+ setReceiverHeight(RX.getHeight());
+ setReceiverLatitude(RX.getGeodeticLatitude());
+
+ // compute day of year from tt
+ setDayOfYear(int(tt.DOYday()));
+
+ return TropModel::correction(RX.elevation(SV));
+
+ } // end NBTropModel::correction(RX,SV,TT)
+
+ // Compute and return the full tropospheric delay, given the positions of
+ // receiver and satellite and the time tag. This version is most useful
+ // within positioning algorithms, where the receiver position and timetag
+ // may vary; it computes the elevation (and other receiver location
+ // information) and passes them to appropriate set...() routines
+ // and the correction(elevation) routine.
+ // @param RX Receiver position in ECEF cartesian coordinates (meters)
+ // @param SV Satellite position in ECEF cartesian coordinates (meters)
+ // @param tt Time tag of the signal
+ // This function is deprecated; use the Position version
+ double NBTropModel::correction(const Xvt& RX,
+ const Xvt& SV,
+ const DayTime& tt)
+ throw(TropModel::InvalidTropModel)
+ {
+ Position R(RX),S(SV);
+ return NBTropModel::correction(R,S,tt);
+ }
+
+ // Compute and return the zenith delay for dry component of the troposphere
+ double NBTropModel::dry_zenith_delay(void) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: weather"));
+ if(!validRxLatitude)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Latitude"));
+ if(!validRxHeight)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Height"));
+ if(!validDOY)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: day of year"));
+ }
+ double beta = NB_Interpolate(latitude,doy,ZB);
+ double gm = 9.784*(1.0-2.66e-3*cos(2.0*latitude*DEG_TO_RAD)-2.8e-7*height);
+
+ // scale factors for height above mean sea level
+ // if weather is given, assume it's measured at ht -> kw=kd=1
+ double kd=1, base=log(1.0-beta*height/temp);
+ if(interpolateWeather)
+ kd = exp(base*NBg/(NBRd*beta));
+
+ // compute the zenith delay for dry component
+ return ((1.0e-6*NBk1*NBRd/gm) * kd * press);
+
+ } // end NBTropModel::dry_zenith_delay()
+
+ // Compute and return the zenith delay for wet component of the troposphere
+ double NBTropModel::wet_zenith_delay(void) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: weather"));
+ if(!validRxLatitude)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Latitude"));
+ if(!validRxHeight)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Height"));
+ if(!validDOY)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: day of year"));
+ }
+ double beta = NB_Interpolate(latitude,doy,ZB);
+ double lam = NB_Interpolate(latitude,doy,ZL);
+ double gm = 9.784*(1.0-2.66e-3*cos(2.0*latitude*DEG_TO_RAD)-2.8e-7*height);
+
+ // scale factors for height above mean sea level
+ // if weather is given, assume it's measured at ht -> kw=kd=1
+ double kw=1, base=log(1.0-beta*height/temp);
+ if(interpolateWeather)
+ kw = exp(base*(-1.0+(lam+1)*NBg/(NBRd*beta)));
+
+ // compute the zenith delay for wet component
+ return ((1.0e-6*NBk3p*NBRd/(gm*(lam+1)-beta*NBRd)) * kw * humid/temp);
+
+ } // end NBTropModel::wet_zenith_delay()
+
+ // Compute and return the mapping function for dry component
+ // of the troposphere
+ // @param elevation Elevation of satellite as seen at receiver,
+ // in degrees
+ double NBTropModel::dry_mapping_function(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: weather"));
+ if(!validRxLatitude)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Latitude"));
+ if(!validRxHeight)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Height"));
+ if(!validDOY)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: day of year"));
+ }
+ if(elevation < 0.0) return 0.0;
+
+ double a,b,c,se,map;
+ se = sin(elevation*DEG_TO_RAD);
+
+ a = NB_Interpolate(latitude,doy,Mad);
+ b = NB_Interpolate(latitude,doy,Mbd);
+ c = NB_Interpolate(latitude,doy,Mcd);
+ map = (1.0+a/(1.0+b/(1.0+c))) / (se+a/(se+b/(se+c)));
+
+ a = 2.53e-5;
+ b = 5.49e-3;
+ c = 1.14e-3;
+ if(ABS(elevation)<=0.001) se=0.001;
+ map += ((1.0/se)-(1.0+a/(1.0+b/(1.0+c)))/(se+a/(se+b/(se+c))))*height/1000.0;
+
+ return map;
+
+ } // end NBTropModel::dry_mapping_function()
+
+ // Compute and return the mapping function for wet component
+ // of the troposphere
+ // @param elevation Elevation of satellite as seen at receiver,
+ // in degrees
+ double NBTropModel::wet_mapping_function(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: weather"));
+ if(!validRxLatitude)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Latitude"));
+ if(!validRxHeight)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Height"));
+ if(!validDOY)
+ GPSTK_THROW(InvalidTropModel("Invalid NB trop model: day of year"));
+ }
+ if(elevation < 0.0) return 0.0;
+
+ double a,b,c,se;
+ se = sin(elevation*DEG_TO_RAD);
+ a = NB_Interpolate(latitude,doy,Maw);
+ b = NB_Interpolate(latitude,doy,Mbw);
+ c = NB_Interpolate(latitude,doy,Mcw);
+
+ return ( (1.0+a/(1.0+b/(1.0+c))) / (se+a/(se+b/(se+c))) );
+
+ } // end NBTropModel::wet_mapping_function()
+
+ // Re-define the weather data.
+ // If called, typically called before any calls to correction().
+ // @param T temperature in degrees Celsius
+ // @param P atmospheric pressure in millibars
+ // @param H relative humidity in percent
+ void NBTropModel::setWeather(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter)
+ {
+ interpolateWeather=false;
+ TropModel::setWeather(T,P,H);
+ // humid actually stores water vapor partial pressure
+ double th=300./temp;
+ humid = 2.409e9*H*th*th*th*th*exp(-22.64*th);
+ validWeather = true;
+ valid = validWeather && validRxHeight && validRxLatitude && validDOY;
+
+ } // end NBTropModel::setWeather()
+
+ // Re-define the tropospheric model with explicit weather data.
+ // Typically called just before correction().
+ // @param wx the weather to use for this correction
+ void NBTropModel::setWeather(const WxObservation& wx)
+ throw(InvalidParameter)
+ {
+ interpolateWeather = false;
+ try
+ {
+ TropModel::setWeather(wx);
+ // humid actually stores vapor partial pressure
+ double th=300./temp;
+ humid = 2.409e9*humid*th*th*th*th*exp(-22.64*th);
+ validWeather = true;
+ valid = validWeather && validRxHeight && validRxLatitude && validDOY;
+ }
+ catch(InvalidParameter& e)
+ {
+ valid = validWeather = false;
+ GPSTK_RETHROW(e);
+ }
+ }
+
+ // configure the model to estimate the weather from the internal model,
+ // using lat and doy
+ void NBTropModel::setWeather()
+ throw(TropModel::InvalidTropModel)
+ {
+ interpolateWeather = true;
+ if(!validRxLatitude)
+ {
+ valid = validWeather = false;
+ GPSTK_THROW(InvalidTropModel(
+ "NBTropModel must have Rx latitude before interpolating weather"));
+ }
+ if(!validDOY)
+ {
+ valid = validWeather = false;
+ GPSTK_THROW(InvalidTropModel(
+ "NBTropModel must have day of year before interpolating weather"));
+ }
+ temp = NB_Interpolate(latitude,doy,ZT);
+ press = NB_Interpolate(latitude,doy,ZP);
+ humid = NB_Interpolate(latitude,doy,ZW);
+ validWeather = true;
+ valid = validWeather && validRxHeight && validRxLatitude && validDOY;
+ }
+
+ // Define the receiver height; this required before calling
+ // correction() or any of the zenith_delay or mapping_function routines.
+ void NBTropModel::setReceiverHeight(const double& ht)
+ {
+ height = ht;
+ validRxHeight = true;
+ valid = validWeather && validRxHeight && validRxLatitude && validDOY;
+ if(!validWeather && validRxLatitude && validDOY)
+ setWeather();
+ } // end NBTropModel::setReceiverHeight()
+
+ // Define the latitude of the receiver; this is required before calling
+ // correction() or any of the zenith_delay or mapping_function routines.
+ void NBTropModel::setReceiverLatitude(const double& lat)
+ {
+ latitude = lat;
+ validRxLatitude = true;
+ valid = validWeather && validRxHeight && validRxLatitude && validDOY;
+ if(!validWeather && validRxLatitude && validDOY)
+ setWeather();
+ } // end NBTropModel::setReceiverLatitude(lat)
+
+ // Define the day of year; this is required before calling
+ // correction() or any of the zenith_delay or mapping_function routines.
+ void NBTropModel::setDayOfYear(const int& d)
+ {
+ doy = d;
+ if(doy > 0 && doy < 367) validDOY=true; else validDOY = false;
+ valid = validWeather && validRxHeight && validRxLatitude && validDOY;
+ if(!validWeather && validRxLatitude && validDOY)
+ setWeather();
+ } // end NBTropModel::setDayOfYear(doy)
+
+ // -------------------------------------------------------------------------------
+ // Saastamoinen tropospheric model based on Saastamoinen, J., 'Atmospheric
+ // Correction for the Troposphere and Stratosphere in Radio Ranging of
+ // Satellites,' Geophysical Monograph 15, American Geophysical Union, 1972,
+ // and Ch. 9 of McCarthy, D. and Petit, G., IERS Conventions (2003), IERS
+ // Technical Note 32, IERS, 2004. The mapping functions are from
+ // Neill, A.E., 1996, 'Global Mapping Functions for the Atmosphere Delay of
+ // Radio Wavelengths,' J. Geophys. Res., 101, pp. 3227-3246 (also see IERS TN 32).
+ //
+ // This model includes a wet and dry component, and requires input of the
+ // geodetic latitude, day of year and height above the ellipsoid of the receiver.
+ //
+ // Usually, the caller will set the latitude and day of year at the same
+ // time the weather is set
+ // SaasTropModel stm;
+ // stm.setReceiverLatitude(lat);
+ // stm.setDayOfYear(doy);
+ // stm.setWeather(T,P,H);
+ // Then, when the correction (and/or delay and map) is computed, receiver height
+ // should be set before the call to correction(elevation):
+ // stm.setReceiverHeight(height);
+ // trop_corr = stm.correction(elevation);
+ //
+ // NB in this model, units of 'temp' are degrees Celcius and
+ // humid actually stores water vapor partial pressure in mbars
+ //
+
+ // constants for wet mapping function
+ static const double SaasWetA[5]=
+ { 0.00058021897, 0.00056794847, 0.00058118019, 0.00059727542, 0.00061641693 };
+ static const double SaasWetB[5]=
+ { 0.0014275268, 0.0015138625, 0.0014572752, 0.0015007428, 0.0017599082 };
+ static const double SaasWetC[5]=
+ { 0.043472961, 0.046729510, 0.043908931, 0.044626982, 0.054736038 };
+
+ // constants for dry mapping function
+ static const double SaasDryA[5]=
+ { 0.0012769934, 0.0012683230, 0.0012465397, 0.0012196049, 0.0012045996 };
+ static const double SaasDryB[5]=
+ { 0.0029153695, 0.0029152299, 0.0029288445, 0.0029022565, 0.0029024912 };
+ static const double SaasDryC[5]=
+ { 0.062610505, 0.062837393, 0.063721774, 0.063824265, 0.064258455 };
+
+ static const double SaasDryA1[5]=
+ { 0.0, 0.000012709626, 0.000026523662, 0.000034000452, 0.000041202191 };
+ static const double SaasDryB1[5]=
+ { 0.0, 0.000021414979, 0.000030160779, 0.000072562722, 0.00011723375 };
+ static const double SaasDryC1[5]=
+ { 0.0, 0.000090128400, 0.000043497037, 0.00084795348, 0.0017037206 };
+
+ // Default constructor
+ SaasTropModel::SaasTropModel(void)
+ {
+ validWeather = false;
+ validRxLatitude = false;
+ validDOY = false;
+ validRxHeight = false;
+ } // end SaasTropModel::SaasTropModel()
+
+ // Create a trop model using the minimum information: latitude and doy.
+ // Interpolate the weather unless setWeather (optional) is called.
+ // @param lat Latitude of the receiver in degrees.
+ // @param day Day of year.
+ SaasTropModel::SaasTropModel(const double& lat,
+ const int& day)
+ {
+ validWeather = false;
+ validRxHeight = false;
+ SaasTropModel::setReceiverLatitude(lat);
+ SaasTropModel::setDayOfYear(day);
+ } // end SaasTropModel::SaasTropModel
+
+ // Create a trop model with weather.
+ // @param lat Latitude of the receiver in degrees.
+ // @param day Day of year.
+ // @param wx the weather to use for this correction.
+ SaasTropModel::SaasTropModel(const double& lat,
+ const int& day,
+ const WxObservation& wx)
+ throw(InvalidParameter)
+ {
+ validRxHeight = false;
+ SaasTropModel::setReceiverLatitude(lat);
+ SaasTropModel::setDayOfYear(day);
+ SaasTropModel::setWeather(wx);
+ } // end SaasTropModel::SaasTropModel(weather)
+
+ // Create a tropospheric model from explicit weather data
+ // @param lat Latitude of the receiver in degrees.
+ // @param day Day of year.
+ // @param T temperature in degrees Celsius
+ // @param P atmospheric pressure in millibars
+ // @param H relative humidity in percent
+ SaasTropModel::SaasTropModel(const double& lat,
+ const int& day,
+ const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter)
+ {
+ validRxHeight = false;
+ SaasTropModel::setReceiverLatitude(lat);
+ SaasTropModel::setDayOfYear(day);
+ SaasTropModel::setWeather(T,P,H);
+ } // end SaasTropModel::SaasTropModel()
+
+ // re-define this to get the throws correct
+ double SaasTropModel::correction(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: weather"));
+ if(!validRxLatitude) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: Rx Latitude"));
+ if(!validRxHeight) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: Rx Height"));
+ if(!validDOY) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: day of year"));
+ GPSTK_THROW(
+ InvalidTropModel("Valid flag corrupted in Saastamoinen trop model"));
+ }
+
+ if(elevation < 0.0) return 0.0;
+
+ double corr=0.0;
+ try {
+ corr = (dry_zenith_delay() * dry_mapping_function(elevation)
+ + wet_zenith_delay() * wet_mapping_function(elevation));
+ }
+ catch(Exception& e) { GPSTK_RETHROW(e); }
+
+ return corr;
+
+ } // end SaasTropModel::correction(elevation)
+
+ // Compute and return the full tropospheric delay, given the positions of
+ // receiver and satellite and the time tag. This version is most useful
+ // within positioning algorithms, where the receiver position and timetag
+ // may vary; it computes the elevation (and other receiver location
+ // information) and passes them to appropriate set...() routines
+ // and the correction(elevation) routine.
+ // @param RX Receiver position
+ // @param SV Satellite position
+ // @param tt Time tag of the signal
+ double SaasTropModel::correction(const Position& RX,
+ const Position& SV,
+ const DayTime& tt)
+ throw(TropModel::InvalidTropModel)
+ {
+ SaasTropModel::setReceiverHeight(RX.getHeight());
+ SaasTropModel::setReceiverLatitude(RX.getGeodeticLatitude());
+ SaasTropModel::setDayOfYear(int(tt.DOYday()));
+
+ if(!valid) {
+ if(!validWeather) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: weather"));
+ if(!validRxLatitude) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: Rx Latitude"));
+ if(!validRxHeight) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: Rx Height"));
+ if(!validDOY) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: day of year"));
+ valid = true;
+ }
+
+ double corr=0.0;
+ try {
+ corr = SaasTropModel::correction(RX.elevation(SV));
+ }
+ catch(Exception& e) { GPSTK_RETHROW(e); }
+
+ return corr;
+
+ } // end SaasTropModel::correction(RX,SV,TT)
+
+ // Compute and return the zenith delay for dry component of the troposphere
+ double SaasTropModel::dry_zenith_delay(void) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: weather"));
+ if(!validRxLatitude) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: Rx Latitude"));
+ if(!validRxHeight) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: Rx Height"));
+ if(!validDOY) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: day of year"));
+ GPSTK_THROW(
+ InvalidTropModel("Valid flag corrupted in Saastamoinen trop model"));
+ }
+
+ // correct pressure for height
+ double press_at_h =
+ press * pow((temp+273.16-4.5*height/1000.0)/(temp+273.16),34.1/4.5);
+ // humid is zero for the dry component
+ double delay = 0.0022768 * press_at_h
+ / (1 - 0.00266 * ::cos(2*latitude*DEG_TO_RAD) - 0.00028 * height/1000.);
+
+ return delay;
+
+ } // end SaasTropModel::dry_zenith_delay()
+
+ // Compute and return the zenith delay for wet component of the troposphere
+ double SaasTropModel::wet_zenith_delay(void) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: weather"));
+ if(!validRxLatitude) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: Rx Latitude"));
+ if(!validRxHeight) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: Rx Height"));
+ if(!validDOY) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: day of year"));
+ GPSTK_THROW(
+ InvalidTropModel("Valid flag corrupted in Saastamoinen trop model"));
+ }
+
+ // press is zero for the wet component
+ double delay = 0.0022768 * humid * 1255/(temp+273.20)
+ / (1 - 0.00266 * ::cos(2*latitude*DEG_TO_RAD) - 0.00028 * height/1000.);
+
+ return delay;
+
+ } // end SaasTropModel::wet_zenith_delay()
+
+ // Compute and return the mapping function for dry component of the troposphere
+ // @param elevation Elevation of satellite as seen at receiver, in degrees
+ double SaasTropModel::dry_mapping_function(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: weather"));
+ if(!validRxLatitude) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: Rx Latitude"));
+ if(!validRxHeight) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: Rx Height"));
+ if(!validDOY) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: day of year"));
+ GPSTK_THROW(
+ InvalidTropModel("Valid flag corrupted in Saastamoinen trop model"));
+ }
+ if(elevation < 0.0) return 0.0;
+
+ double lat,t,ct;
+ lat = fabs(latitude); // degrees
+ t = doy - 28.; // mid-winter
+ if(latitude < 0) // southern hemisphere
+ t += 365.25/2.;
+ t *= 360.0/365.25; // convert to degrees
+ ct = ::cos(t*DEG_TO_RAD);
+
+ double a,b,c;
+ if(lat < 15.) {
+ a = SaasDryA[0];
+ b = SaasDryB[0];
+ c = SaasDryC[0];
+ }
+ else if(lat < 75.) { // coefficients are for 15,30,45,60,75 deg
+ int i=int(lat/15.0)-1;
+ double frac=(lat-15.*(i+1))/15.;
+ a = SaasDryA[i] + frac*(SaasDryA[i+1]-SaasDryA[i]);
+ b = SaasDryB[i] + frac*(SaasDryB[i+1]-SaasDryB[i]);
+ c = SaasDryC[i] + frac*(SaasDryC[i+1]-SaasDryC[i]);
+
+ a -= ct * (SaasDryA1[i] + frac*(SaasDryA1[i+1]-SaasDryA1[i]));
+ b -= ct * (SaasDryB1[i] + frac*(SaasDryB1[i+1]-SaasDryB1[i]));
+ c -= ct * (SaasDryC1[i] + frac*(SaasDryC1[i+1]-SaasDryC1[i]));
+ }
+ else {
+ a = SaasDryA[4] - ct * SaasDryA1[4];
+ b = SaasDryB[4] - ct * SaasDryB1[4];
+ c = SaasDryC[4] - ct * SaasDryC1[4];
+ }
+
+ double se = ::sin(elevation*DEG_TO_RAD);
+ double map = (1.+a/(1.+b/(1.+c)))/(se+a/(se+b/(se+c)));
+
+ a = 0.0000253;
+ b = 0.00549;
+ c = 0.00114;
+ map += (height/1000.0)*(1./se-(1+a/(1.+b/(1.+c)))/(se+a/(se+b/(se+c))));
+
+ return map;
+
+ } // end SaasTropModel::dry_mapping_function()
+
+ // Compute and return the mapping function for wet component of the troposphere
+ // @param elevation Elevation of satellite as seen at receiver, in degrees.
+ double SaasTropModel::wet_mapping_function(double elevation) const
+ throw(TropModel::InvalidTropModel)
+ {
+ if(!valid) {
+ if(!validWeather) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: weather"));
+ if(!validRxLatitude) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: Rx Latitude"));
+ if(!validRxHeight) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: Rx Height"));
+ if(!validDOY) GPSTK_THROW(
+ InvalidTropModel("Invalid Saastamoinen trop model: day of year"));
+ GPSTK_THROW(
+ InvalidTropModel("Valid flag corrupted in Saastamoinen trop model"));
+ }
+ if(elevation < 0.0) return 0.0;
+
+ double a,b,c,lat;
+ lat = fabs(latitude); // degrees
+ if(lat < 15.) {
+ a = SaasWetA[0];
+ b = SaasWetB[0];
+ c = SaasWetC[0];
+ }
+ else if(lat < 75.) { // coefficients are for 15,30,45,60,75 deg
+ int i=int(lat/15.0)-1;
+ double frac=(lat-15.*(i+1))/15.;
+ a = SaasWetA[i] + frac*(SaasWetA[i+1]-SaasWetA[i]);
+ b = SaasWetB[i] + frac*(SaasWetB[i+1]-SaasWetB[i]);
+ c = SaasWetC[i] + frac*(SaasWetC[i+1]-SaasWetC[i]);
+ }
+ else {
+ a = SaasWetA[4];
+ b = SaasWetB[4];
+ c = SaasWetC[4];
+ }
+
+ double se = ::sin(elevation*DEG_TO_RAD);
+ double map = (1.+a/(1.+b/(1.+c)))/(se+a/(se+b/(se+c)));
+
+ return map;
+
+ } // end SaasTropModel::wet_mapping_function()
+
+ // Re-define the weather data.
+ // If called, typically called before any calls to correction().
+ // @param T temperature in degrees Celsius
+ // @param P atmospheric pressure in millibars
+ // @param H relative humidity in percent
+ void SaasTropModel::setWeather(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter)
+ {
+ temp = T;
+ press = P;
+ // humid actually stores water vapor partial pressure
+ double exp=7.5*T/(T+237.3);
+ humid = 6.11 * (H/100.) * pow(10.0,exp);
+
+ validWeather = true;
+ valid = (validWeather && validRxHeight && validRxLatitude && validDOY);
+
+ } // end SaasTropModel::setWeather()
+
+ // Re-define the tropospheric model with explicit weather data.
+ // Typically called just before correction().
+ // @param wx the weather to use for this correction
+ void SaasTropModel::setWeather(const WxObservation& wx)
+ throw(InvalidParameter)
+ {
+ try
+ {
+ SaasTropModel::setWeather(wx.temperature,wx.pressure,wx.humidity);
+ }
+ catch(InvalidParameter& e)
+ {
+ valid = validWeather = false;
+ GPSTK_RETHROW(e);
+ }
+ }
+
+ // Define the receiver height; this required before calling
+ // correction() or any of the zenith_delay or mapping_function routines.
+ void SaasTropModel::setReceiverHeight(const double& ht)
+ {
+ height = ht;
+ validRxHeight = true;
+ valid = (validWeather && validRxHeight && validRxLatitude && validDOY);
+ } // end SaasTropModel::setReceiverHeight()
+
+ // Define the latitude of the receiver; this is required before calling
+ // correction() or any of the zenith_delay or mapping_function routines.
+ void SaasTropModel::setReceiverLatitude(const double& lat)
+ {
+ latitude = lat;
+ validRxLatitude = true;
+ valid = (validWeather && validRxHeight && validRxLatitude && validDOY);
+ } // end SaasTropModel::setReceiverLatitude(lat)
+
+ // Define the day of year; this is required before calling
+ // correction() or any of the zenith_delay or mapping_function routines.
+ void SaasTropModel::setDayOfYear(const int& d)
+ {
+ doy = d;
+ if(doy > 0 && doy < 367) validDOY=true; else validDOY = false;
+ valid = (validWeather && validRxHeight && validRxLatitude && validDOY);
+ } // end SaasTropModel::setDayOfYear(doy)
+
+} // end namespace gpstk
diff --git a/trunk/src/TropModel.hpp b/trunk/src/TropModel.hpp
new file mode 100644
index 0000000..24eac42
--- /dev/null
+++ b/trunk/src/TropModel.hpp
@@ -0,0 +1,900 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TropModel.hpp#7 $"
+
+/**
+ * @file TropModel.hpp
+ * Base class for tropospheric models, plus implementations
+ * of several published models
+ */
+
+#ifndef TROPOSPHERIC_MODELS_GPSTK
+#define TROPOSPHERIC_MODELS_GPSTK
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Exception.hpp"
+#include "ObservationStore.hpp"
+#include "Xvt.hpp"
+#include "Position.hpp"
+
+// Model of the troposphere, used to compute non-dispersive delay of
+// satellite signal as function of satellite elevation as seen at the
+// receiver. Both wet and dry components are computed.
+//
+// The default model (implemented here) is a simple Black model.
+//
+// In this model (and many others), the wet and dry components are
+// independent, the zenith delays depend only on the weather
+// (temperature, pressure and humidity), and the mapping functions
+// depend only on the elevation of the satellite as seen at the
+// receiver. In general, this is not true; other models depend on,
+// for example, latitude or day of year.
+//
+// Other models may be implemented by inheriting this class and
+// redefining the virtual functions, and (perhaps) adding other
+// 'set...()' routines as needed.
+
+namespace gpstk
+{
+ /** @addtogroup GPSsolutions */
+ //@{
+
+ /** Abstract base class for tropospheric models.
+ * The wet and dry components of the tropospheric delay are each the
+ * product of a zenith delay and a mapping function. Usually the zenith
+ * delay depends only on the weather (temperature, pressure and humidity),
+ * while the mapping function depends only on the satellite elevation, i.e.
+ * the geometry of satellite and receiver. This may not be true in complex
+ * models.
+ * The full tropospheric delay is the sum of the wet and dry components.
+ * A TropModel is valid only when all the necessary information
+ * (weather + whatever else the model requires) is specified;
+ * An InvalidTropModel exception will be thrown when any correction()
+ * or zenith_delay() or mapping_function() routine is called for
+ * an invalid TropModel.
+ */
+ class TropModel
+ {
+ public:
+ /// Thrown when attempting to use a model for which all necessary
+ /// parameters have not been specified.
+ /// @ingroup exceptiongroup
+ NEW_EXCEPTION_CLASS(InvalidTropModel, gpstk::Exception);
+
+ /// Destructor
+ virtual ~TropModel() {}
+
+ /// Return validity of model
+ bool isValid(void)
+ { return valid; }
+
+ /// Compute and return the full tropospheric delay
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double correction(double elevation) const
+ throw(InvalidTropModel);
+
+ /**
+ * Compute and return the full tropospheric delay, given the positions of
+ * receiver and satellite and the time tag. This version is most useful
+ * within positioning algorithms, where the receiver position and timetag
+ * may vary; it computes the elevation (and other receiver location
+ * information) and passes them to appropriate set...() routines and the
+ * correction(elevation) routine.
+ * @param RX Receiver position
+ * @param SV Satellite position
+ * @param tt Time tag of the signal
+ */
+ virtual double correction(const Position& RX,
+ const Position& SV,
+ const DayTime& tt)
+ throw(InvalidTropModel);
+
+ /** \deprecated
+ * Compute and return the full tropospheric delay, given the positions of
+ * receiver and satellite and the time tag. This version is most useful
+ * within positioning algorithms, where the receiver position and timetag
+ * may vary; it computes the elevation (and other receiver location
+ * information) and passes them to appropriate set...() routines and the
+ * correction(elevation) routine.
+ * @param RX Receiver position in ECEF cartesian coordinates (meters)
+ * @param SV Satellite position in ECEF cartesian coordinates (meters)
+ * @param tt Time tag of the signal
+ */
+ virtual double correction(const Xvt& RX,
+ const Xvt& SV,
+ const DayTime& tt)
+ throw(InvalidTropModel)
+ { Position R(RX),S(SV); return TropModel::correction(R,S,tt); }
+
+ /// Compute and return the zenith delay for dry component of the troposphere
+ virtual double dry_zenith_delay(void) const
+ throw(InvalidTropModel) = 0;
+
+ /// Compute and return the zenith delay for wet component of the troposphere
+ virtual double wet_zenith_delay(void) const
+ throw(InvalidTropModel) = 0;
+
+ /// Compute and return the mapping function for dry component of
+ /// the troposphere.
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double dry_mapping_function(double elevation)
+ const throw(InvalidTropModel) = 0;
+
+ /// Compute and return the mapping function for wet component of
+ /// the troposphere.
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double wet_mapping_function(double elevation)
+ const throw(InvalidTropModel) = 0;
+
+ /// Re-define the tropospheric model with explicit weather data.
+ /// Typically called just before correction().
+ /// @param T temperature in degrees Celsius
+ /// @param P atmospheric pressure in millibars
+ /// @param H relative humidity in percent
+ virtual void setWeather(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter);
+
+ /// Re-define the tropospheric model with explicit weather data.
+ /// Typically called just before correction().
+ /// @param wx the weather to use for this correction
+ virtual void setWeather(const WxObservation& wx)
+ throw(InvalidParameter);
+
+ /// Define the receiver height; this required by some models before calling
+ /// correction() or any of the zenith_delay or mapping_function routines.
+ /// @param ht Height of the receiver in meters.
+ virtual void setReceiverHeight(const double& ht) {};
+
+ /// Define the latitude of the receiver; this is required by some models
+ /// before calling correction() or any of the zenith_delay or
+ /// mapping_function routines.
+ /// @param lat Latitude of the receiver in degrees.
+ virtual void setReceiverLatitude(const double& lat) {};
+
+ /// Define the day of year; this is required by some models before calling
+ /// correction() or any of the zenith_delay or mapping_function routines.
+ /// @param d Day of year.
+ virtual void setDayOfYear(const int& d) {};
+
+ protected:
+ bool valid; // true only if current model parameters are valid
+ double temp; // latest value of temperature (kelvin or celsius)
+ double press; // latest value of pressure (millibars)
+ double humid; // latest value of relative humidity (percent)
+
+ }; // end class TropModel
+
+
+ //---------------------------------------------------------------------------------
+ /// The 'zero' trop model, meaning it always returns zero.
+ class ZeroTropModel : public TropModel
+ {
+ public:
+ /// Compute and return the full tropospheric delay
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double correction(double elevation) const
+ throw(InvalidTropModel)
+ { return 0.0; }
+
+ /**
+ * Compute and return the full tropospheric delay, given the positions of
+ * receiver and satellite and the time tag. This version is most useful
+ * within positioning algorithms, where the receiver position and timetag
+ * may vary; it computes the elevation (and other receiver location
+ * information) and passes them to appropriate set...() routines and the
+ * correction(elevation) routine.
+ * @param RX Receiver position
+ * @param SV Satellite position
+ * @param tt Time tag of the signal
+ */
+ virtual double correction(const Position& RX,
+ const Position& SV,
+ const DayTime& tt)
+ throw(InvalidTropModel)
+ { return 0.0; }
+
+ /** \deprecated
+ * Compute and return the full tropospheric delay, given the positions of
+ * receiver and satellite and the time tag. This version is most useful
+ * within positioning algorithms, where the receiver position and timetag
+ * may vary; it computes the elevation (and other receiver location
+ * information) and passes them to appropriate set...() routines and the
+ * correction(elevation) routine.
+ * @param RX Receiver position in ECEF cartesian coordinates (meters)
+ * @param SV Satellite position in ECEF cartesian coordinates (meters)
+ * @param tt Time tag of the signal
+ */
+ virtual double correction(const Xvt& RX,
+ const Xvt& SV,
+ const DayTime& tt)
+ throw(InvalidTropModel)
+ { return 0.0; }
+
+ /// Compute and return the zenith delay for dry component of the troposphere
+ virtual double dry_zenith_delay(void) const
+ throw(InvalidTropModel)
+ { return 0.0; }
+
+ /// Compute and return the zenith delay for wet component of the troposphere
+ virtual double wet_zenith_delay(void) const
+ throw(InvalidTropModel)
+ { return 0.0; }
+
+ /// Compute and return the mapping function for dry component of
+ /// the troposphere.
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double dry_mapping_function(double elevation)
+ const throw(InvalidTropModel)
+ { return 0.0; }
+
+ /// Compute and return the mapping function for wet component of
+ /// the troposphere.
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double wet_mapping_function(double elevation)
+ const throw(InvalidTropModel)
+ { return 0.0; }
+
+ }; // end class ZeroTropModel
+
+ //---------------------------------------------------------------------------------
+ /// A simple Black model of the troposphere. temp is in Kelvin.
+ class SimpleTropModel : public TropModel
+ {
+ public:
+ /// Empty constructor
+ SimpleTropModel(void);
+
+ /// Creates a trop model, with weather observation input
+ /// @param wx the weather to use for this correction.
+ SimpleTropModel(const WxObservation& wx)
+ throw(InvalidParameter);
+
+ /// Create a tropospheric model from explicit weather data
+ /// @param T temperature in degrees Celsius
+ /// @param P atmospheric pressure in millibars
+ /// @param H relative humidity in percent
+ SimpleTropModel(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter);
+
+ /// Compute and return the zenith delay for dry component of the troposphere
+ virtual double dry_zenith_delay(void) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the zenith delay for wet component of the troposphere
+ virtual double wet_zenith_delay(void) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the mapping function for dry component
+ /// of the troposphere
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double dry_mapping_function(double elevation) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the mapping function for wet component
+ /// of the troposphere
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double wet_mapping_function(double elevation) const
+ throw(InvalidTropModel);
+
+ /// Re-define the tropospheric model with explicit weather data.
+ /// Typically called just before correction().
+ /// @param T temperature in degrees Celsius
+ /// @param P atmospheric pressure in millibars
+ /// @param H relative humidity in percent
+ virtual void setWeather(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter);
+
+ /// Re-define the tropospheric model with explicit weather data.
+ /// Typically called just before correction().
+ /// @param wx the weather to use for this correction
+ virtual void setWeather(const WxObservation& wx)
+ throw(InvalidParameter);
+
+ private:
+ double Cdrydelay;
+ double Cwetdelay;
+ double Cdrymap;
+ double Cwetmap;
+
+ }; // end class SimpleTropModel
+
+ //---------------------------------------------------------------------------------
+ /** Tropospheric model based on Goad and Goodman(1974),
+ * "A Modified Hopfield Tropospheric Refraction Correction Model," Paper
+ * presented at the Fall Annual Meeting of the American Geophysical Union,
+ * San Francisco, December 1974, as presented in Leick, "GPS Satellite Surveying,"
+ * Wiley, NY, 1990, Chapter 9 (note particularly Table 9.1).
+ */
+ class GGTropModel : public TropModel
+ {
+ public:
+ /// Empty constructor
+ GGTropModel(void);
+
+ /// Creates a trop model, with weather observation input
+ /// @param wx the weather to use for this correction.
+ GGTropModel(const WxObservation& wx)
+ throw(InvalidParameter);
+
+ /// Create a tropospheric model from explicit weather data
+ /// @param T temperature in degrees Celsius
+ /// @param P atmospheric pressure in millibars
+ /// @param H relative humidity in percent
+ GGTropModel(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter);
+
+ /// Compute and return the zenith delay for dry component
+ /// of the troposphere
+ virtual double dry_zenith_delay(void) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the zenith delay for wet component
+ /// of the troposphere
+ virtual double wet_zenith_delay(void) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the mapping function for dry component
+ /// of the troposphere
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double dry_mapping_function(double elevation) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the mapping function for wet component
+ /// of the troposphere
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double wet_mapping_function(double elevation) const
+ throw(InvalidTropModel);
+
+ /// Re-define the tropospheric model with explicit weather data.
+ /// Typically called initially, and whenever the weather changes.
+ /// @param T temperature in degrees Celsius
+ /// @param P atmospheric pressure in millibars
+ /// @param H relative humidity in percent
+ virtual void setWeather(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter);
+
+ /// Re-define the tropospheric model with explicit weather data.
+ /// Typically called just before correction().
+ /// @param wx the weather to use for this correction
+ virtual void setWeather(const WxObservation& wx)
+ throw(InvalidParameter);
+
+ private:
+ double Cdrydelay;
+ double Cwetdelay;
+ double Cdrymap;
+ double Cwetmap;
+
+ }; // end class GGTropModel
+
+ //---------------------------------------------------------------------------------
+ /** Tropospheric model with heights based on Goad and Goodman(1974),
+ * "A Modified Hopfield Tropospheric Refraction Correction Model," Paper
+ * presented at the Fall Annual Meeting of the American Geophysical Union,
+ * San Francisco, December 1974.
+ *
+ * (Not the same as GGTropModel because this has height dependence, and the
+ * computation of this model does not break cleanly into wet and dry components.)
+ *
+ * NB this model requires heights, both of the weather parameters,
+ * and of the receiver.
+ * Thus, usually, caller will set heights at the same time the weather is set:
+ * GGHeightTropModel ggh;
+ * ggh.setWeather(T,P,H);
+ * ggh.setHeights(hT,hP,hH);
+ * and when the correction (and/or delay and map) is computed,
+ * receiver height is set before the call to correction(elevation):
+ * ggh.setReceiverHeight(height);
+ * trop = ggh.correction(elevation);
+ * NB setReceiverHeight(ht) sets the 'weather heights' as well, if they are not
+ * already defined.
+ */
+ class GGHeightTropModel : public TropModel
+ {
+ public:
+ /// Empty constructor
+ GGHeightTropModel(void);
+
+ /// Creates a trop model, with weather observation input
+ /// @param wx the weather to use for this correction.
+ GGHeightTropModel(const WxObservation& wx)
+ throw(InvalidParameter);
+
+ /// Create a tropospheric model from explicit weather data
+ /// @param T temperature in degrees Celsius
+ /// @param P atmospheric pressure in millibars
+ /// @param H relative humidity in percent
+ GGHeightTropModel(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter);
+
+ /// Create a valid model from explicit input.
+ /// @param T temperature in degrees Celsius
+ /// @param P atmospheric pressure in millibars
+ /// @param H relative humidity in percent
+ /// @param hT height at which temperature applies in meters.
+ /// @param hP height at which atmospheric pressure applies in meters.
+ /// @param hH height at which relative humidity applies in meters.
+ GGHeightTropModel(const double& T,
+ const double& P,
+ const double& H,
+ const double hT,
+ const double hP,
+ const double hH)
+ throw(InvalidParameter);
+
+ /// Compute and return the full tropospheric delay
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double correction(double elevation) const
+ throw(InvalidTropModel);
+
+ /**
+ * Compute and return the full tropospheric delay, given the positions of
+ * receiver and satellite and the time tag. This version is most useful
+ * within positioning algorithms, where the receiver position and timetag
+ * may vary; it computes the elevation (and other receiver location
+ * information) and passes them to appropriate set...() routines and the
+ * correction(elevation) routine.
+ * @param RX Receiver position
+ * @param SV Satellite position
+ * @param tt Time tag of the signal
+ */
+ virtual double correction(const Position& RX,
+ const Position& SV,
+ const DayTime& tt)
+ throw(InvalidTropModel);
+
+ /** \deprecated
+ * Compute and return the full tropospheric delay, given the positions of
+ * receiver and satellite and the time tag. This version is most useful
+ * within positioning algorithms, where the receiver position and timetag
+ * may vary; it computes the elevation (and other receiver location
+ * information) and passes them to appropriate set...() routines and the
+ * correction(elevation) routine.
+ * @param RX Receiver position in ECEF cartesian coordinates (meters)
+ * @param SV Satellite position in ECEF cartesian coordinates (meters)
+ * @param tt Time tag of the signal
+ */
+ virtual double correction(const Xvt& RX,
+ const Xvt& SV,
+ const DayTime& tt)
+ throw(InvalidTropModel);
+
+ /// Compute and return the zenith delay for dry component
+ /// of the troposphere
+ virtual double dry_zenith_delay(void) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the zenith delay for wet component of the troposphere
+ virtual double wet_zenith_delay(void) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the mapping function for dry component of
+ /// the troposphere.
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double dry_mapping_function(double elevation) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the mapping function for wet component of
+ /// the troposphere.
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double wet_mapping_function(double elevation) const
+ throw(InvalidTropModel);
+
+ /// Re-define the weather data.
+ /// Typically called initially, and whenever the weather changes.
+ /// @param T temperature in degrees Celsius
+ /// @param P atmospheric pressure in millibars
+ /// @param H relative humidity in percent
+ virtual void setWeather(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter);
+
+ /// Re-define the tropospheric model with explicit weather data.
+ /// Typically called just before correction().
+ /// @param wx the weather to use for this correction
+ virtual void setWeather(const WxObservation& wx)
+ throw(InvalidParameter);
+
+ /// Re-define the heights at which the weather parameters apply.
+ /// Typically called whenever setWeather is called.
+ /// @param hT height at which temperature applies in meters.
+ /// @param hP height at which atmospheric pressure applies in meters.
+ /// @param hH height at which relative humidity applies in meters.
+ void setHeights(const double& hT,
+ const double& hP,
+ const double& hH);
+
+ /// Define the receiver height; this required before calling
+ /// correction() or any of the zenith_delay or mapping_function routines.
+ void setReceiverHeight(const double& ht);
+
+ private:
+ double height; // height (m) of the receiver
+ double htemp; // height (m) at which temp applies
+ double hpress; // height (m) at which press applies
+ double hhumid; // height (m) at which humid applies
+ bool validWeather;
+ bool validHeights;
+ bool validRxHeight;
+
+ }; // end class GGHeightTropModel
+
+
+ //---------------------------------------------------------------------------------
+ /** Tropospheric model developed by University of New Brunswick and described in
+ * "A Tropospheric Delay Model for the User of the Wide Area Augmentation
+ * System," J. Paul Collins and Richard B. Langley, Technical Report No. 187,
+ * Dept. of Geodesy and Geomatics Engineering, University of New Brunswick,
+ * 1997. See particularly Appendix C.
+ *
+ * This model includes a wet and dry component, and was designed for the user
+ * without access to measurements of temperature, pressure and relative humidity
+ * at ground level. Input of the receiver latitude, day of year and height
+ * above the ellipsoid are required, because the mapping functions depend on
+ * these quantities. In addition, if the weather (T,P,H) are not explicitly
+ * provided, this model interpolates a table of values, using latitude and day
+ * of year, to get the ground level weather parameters.
+ *
+ * Usually, the caller will set the latitude and day of year at the same
+ * time the weather is set (if weather is available):
+ * NBTropModel nb;
+ * nb.setReceiverLatitude(lat);
+ * nb.setDayOfYear(doy);
+ * nb.setWeather(T,P,H); // OPTIONAL
+ * Then, when the correction (and/or delay and map) is computed, receiver height
+ * should be set before the call to correction(elevation):
+ * nb.setReceiverHeight(height);
+ * trop = nb.correction(elevation);
+ *
+ * NB in this model, units of 'temp' are degrees Kelvin, and 'humid'
+ * is the water vapor partial pressure.
+ */
+ class NBTropModel : public TropModel
+ {
+ public:
+ /// Empty constructor
+ NBTropModel(void);
+
+ /// Create a trop model using the minimum information: latitude and doy.
+ /// Interpolate the weather unless setWeather (optional) is called.
+ /// @param lat Latitude of the receiver in degrees.
+ /// @param day Day of year.
+ NBTropModel(const double& lat,
+ const int& day);
+
+ /// Create a trop model with weather.
+ /// @param lat Latitude of the receiver in degrees.
+ /// @param day Day of year.
+ /// @param wx the weather to use for this correction.
+ NBTropModel(const double& lat,
+ const int& day,
+ const WxObservation& wx)
+ throw(InvalidParameter);
+
+ /// Create a tropospheric model from explicit weather data
+ /// @param lat Latitude of the receiver in degrees.
+ /// @param day Day of year.
+ /// @param T temperature in degrees Celsius
+ /// @param P atmospheric pressure in millibars
+ /// @param H relative humidity in percent
+ NBTropModel(const double& lat,
+ const int& day,
+ const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter);
+
+ /// Create a valid model from explicit input
+ /// (weather will be estimated internally by this model).
+ /// @param ht Height of the receiver in meters.
+ /// @param lat Latitude of the receiver in degrees.
+ /// @param day Day of year.
+ NBTropModel(const double& ht,
+ const double& lat,
+ const int& day);
+
+ /// Compute and return the full tropospheric delay
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double correction(double elevation) const
+ throw(InvalidTropModel);
+
+ /**
+ * Compute and return the full tropospheric delay, given the positions of
+ * receiver and satellite and the time tag. This version is most useful
+ * within positioning algorithms, where the receiver position and timetag
+ * may vary; it computes the elevation (and other receiver location
+ * information) and passes them to appropriate set...() routines and the
+ * correction(elevation) routine.
+ * @param RX Receiver position
+ * @param SV Satellite position
+ * @param tt Time tag of the signal
+ */
+ virtual double correction(const Position& RX,
+ const Position& SV,
+ const DayTime& tt)
+ throw(InvalidTropModel);
+
+ /** \deprecated
+ * Compute and return the full tropospheric delay, given the positions of
+ * receiver and satellite and the time tag. This version is most useful
+ * within positioning algorithms, where the receiver position and timetag
+ * may vary; it computes the elevation (and other receiver location
+ * information) and passes them to appropriate set...() routines and the
+ * correction(elevation) routine.
+ * @param RX Receiver position in ECEF cartesian coordinates (meters)
+ * @param SV Satellite position in ECEF cartesian coordinates (meters)
+ * @param tt Time tag of the signal
+ */
+ virtual double correction(const Xvt& RX,
+ const Xvt& SV,
+ const DayTime& tt)
+ throw(InvalidTropModel);
+
+ /// Compute and return the zenith delay for dry component
+ /// of the troposphere
+ virtual double dry_zenith_delay(void) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the zenith delay for wet component
+ /// of the troposphere
+ virtual double wet_zenith_delay(void) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the mapping function for dry component of
+ /// the troposphere.
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double dry_mapping_function(double elevation) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the mapping function for wet component of
+ /// the troposphere.
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double wet_mapping_function(double elevation) const
+ throw(InvalidTropModel);
+
+ /// Re-define the tropospheric model with explicit weather data.
+ /// Typically called just before correction().
+ /// @param wx the weather to use for this correction
+ virtual void setWeather(const WxObservation& wx)
+ throw(InvalidParameter);
+
+ /// Define the weather data; typically called just before correction().
+ /// @param T temperature in degrees Celsius
+ /// @param P atmospheric pressure in millibars
+ /// @param H relative humidity in percent
+ virtual void setWeather(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter);
+
+ /// configure the model to estimate the weather using lat and doy
+ void setWeather()
+ throw(InvalidTropModel);
+
+ /// Define the receiver height; this required before calling
+ /// correction() or any of the zenith_delay or mapping_function routines.
+ /// @param ht Height of the receiver in meters.
+ void setReceiverHeight(const double& ht);
+
+ /// Define the latitude of the receiver; this is required before calling
+ /// correction() or any of the zenith_delay or mapping_function routines.
+ /// @param lat Latitude of the receiver in degrees.
+ void setReceiverLatitude(const double& lat);
+
+ /// Define the day of year; this is required before calling
+ /// correction() or any of the zenith_delay or mapping_function routines.
+ /// @param d Day of year.
+ void setDayOfYear(const int& d);
+
+ private:
+ bool interpolateWeather; // if true, compute T,P,H from latitude,doy
+ double height; // height (m) of the receiver
+ double latitude; // latitude (deg) of receiver
+ int doy; // day of year
+ bool validWeather;
+ bool validRxLatitude;
+ bool validRxHeight;
+ bool validDOY;
+
+ }; // end class NBTropModel
+
+ //---------------------------------------------------------------------------------
+ /** Saastamoinen tropospheric model based on Saastamoinen, J., 'Atmospheric
+ * Correction for the Troposphere and Stratosphere in Radio Ranging of
+ * Satellites,' Geophysical Monograph 15, American Geophysical Union, 1972,
+ * and Ch. 9 of McCarthy, D. and Petit, G., IERS Conventions (2003), IERS
+ * Technical Note 32, IERS, 2004. The mapping functions are from
+ * Neill, A.E., 1996, 'Global Mapping Functions for the Atmosphere Delay of
+ * Radio Wavelengths,' J. Geophys. Res., 101, pp. 3227-3246 (also see IERS TN 32).
+ *
+ * This model includes a wet and dry component, and requires input of the
+ * geodetic latitude, day of year and height above the ellipsoid of the receiver.
+ *
+ * Usually, the caller will set the latitude and day of year at the same
+ * time the weather is set
+ * SaasTropModel stm;
+ * stm.setReceiverLatitude(lat);
+ * stm.setDayOfYear(doy);
+ * stm.setWeather(T,P,H);
+ * Then, when the correction (and/or delay and map) is computed, receiver height
+ * should be set before the call to correction(elevation):
+ * stm.setReceiverHeight(height);
+ * trop_corr = stm.correction(elevation);
+ *
+ * NB in this model, units of 'temp' are degrees Celsius and
+ * humid actually stores water vapor partial pressure in mbars
+ */
+ class SaasTropModel : public TropModel
+ {
+ public:
+ /// Empty constructor
+ SaasTropModel(void);
+
+ /// Create a trop model using the minimum information: latitude and doy.
+ /// @param lat Latitude of the receiver in degrees.
+ /// @param day Day of year.
+ SaasTropModel(const double& lat,
+ const int& day);
+
+ /// Create a trop model with weather.
+ /// @param lat Latitude of the receiver in degrees.
+ /// @param day Day of year.
+ /// @param wx the weather to use for this correction.
+ SaasTropModel(const double& lat,
+ const int& day,
+ const WxObservation& wx)
+ throw(InvalidParameter);
+
+ /// Create a tropospheric model from explicit weather data
+ /// @param lat Latitude of the receiver in degrees.
+ /// @param day Day of year.
+ /// @param T temperature in degrees Celsius
+ /// @param P atmospheric pressure in millibars
+ /// @param H relative humidity in percent
+ SaasTropModel(const double& lat,
+ const int& day,
+ const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter);
+
+ /// Compute and return the full tropospheric delay
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double correction(double elevation) const
+ throw(InvalidTropModel);
+
+ /**
+ * Compute and return the full tropospheric delay, given the positions of
+ * receiver and satellite and the time tag. This version is most useful
+ * within positioning algorithms, where the receiver position and timetag
+ * may vary; it computes the elevation (and other receiver location
+ * information) and passes them to appropriate set...() routines and the
+ * correction(elevation) routine.
+ * @param RX Receiver position
+ * @param SV Satellite position
+ * @param tt Time tag of the signal
+ */
+ virtual double correction(const Position& RX,
+ const Position& SV,
+ const DayTime& tt)
+ throw(InvalidTropModel);
+
+ /// Compute and return the zenith delay for dry component
+ /// of the troposphere
+ virtual double dry_zenith_delay(void) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the zenith delay for wet component
+ /// of the troposphere
+ virtual double wet_zenith_delay(void) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the mapping function for dry component of
+ /// the troposphere. NB this function will return infinity at zero elevation.
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double dry_mapping_function(double elevation) const
+ throw(InvalidTropModel);
+
+ /// Compute and return the mapping function for wet component of
+ /// the troposphere.
+ /// @param elevation Elevation of satellite as seen at receiver, in degrees
+ virtual double wet_mapping_function(double elevation) const
+ throw(InvalidTropModel);
+
+ /// Re-define the tropospheric model with explicit weather data.
+ /// Typically called just before correction().
+ /// @param wx the weather to use for this correction
+ virtual void setWeather(const WxObservation& wx)
+ throw(InvalidParameter);
+
+ /// Define the weather data; typically called just before correction().
+ /// @param T temperature in degrees Celsius
+ /// @param P atmospheric pressure in millibars
+ /// @param H relative humidity in percent
+ virtual void setWeather(const double& T,
+ const double& P,
+ const double& H)
+ throw(InvalidParameter);
+
+ /// Define the receiver height; this required before calling
+ /// correction() or any of the zenith_delay or mapping_function routines.
+ /// @param ht Height of the receiver in meters.
+ void setReceiverHeight(const double& ht);
+
+ /// Define the latitude of the receiver; this is required before calling
+ /// correction() or any of the zenith_delay or mapping_function routines.
+ /// @param lat Latitude of the receiver in degrees.
+ void setReceiverLatitude(const double& lat);
+
+ /// Define the day of year; this is required before calling
+ /// correction() or any of the zenith_delay or mapping_function routines.
+ /// @param d Day of year.
+ void setDayOfYear(const int& d);
+
+ private:
+ double height; /// height (m) of the receiver above the geoid
+ double latitude; /// latitude (deg) of receiver
+ int doy; /// day of year
+ bool validWeather;
+ bool validRxLatitude;
+ bool validRxHeight;
+ bool validDOY;
+
+ }; // end class SaasTropModel
+
+ //@}
+
+}
+
+#endif
diff --git a/trunk/src/UnixTime.cpp b/trunk/src/UnixTime.cpp
new file mode 100644
index 0000000..d67deb7
--- /dev/null
+++ b/trunk/src/UnixTime.cpp
@@ -0,0 +1,158 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/UnixTime.cpp#3 $"
+
+#include "UnixTime.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+ const std::string UnixTime::printChars( "Uu" );
+ const std::string UnixTime::defaultFormat( "%U %u" );
+
+ UnixTime& UnixTime::operator=( const UnixTime& right )
+ throw()
+ {
+ tv.tv_sec = right.tv.tv_sec;
+ tv.tv_usec = right.tv.tv_usec;
+ return *this;
+ }
+
+ CommonTime UnixTime::convertToCommonTime() const
+ {
+ return CommonTime( ( MJD_JDAY + UNIX_MJD + tv.tv_sec / SEC_PER_DAY ),
+ ( tv.tv_sec % SEC_PER_DAY ),
+ ( static_cast<double>( tv.tv_usec ) * 1e-6 ) );
+ }
+
+ void UnixTime::convertFromCommonTime( const CommonTime& ct )
+ {
+ long jday, sod;
+ double fsod;
+ ct.get( jday, sod, fsod );
+
+ tv.tv_sec =
+ static_cast<time_t>((jday - MJD_JDAY - UNIX_MJD) * SEC_PER_DAY + sod);
+
+ // round to the nearest microsecond
+ tv.tv_usec = static_cast<time_t>( fsod * 1e6 + 0.5 ) ;
+
+ if (tv.tv_usec >= 1000000)
+ {
+ tv.tv_usec -= 1000000;
+ ++tv.tv_sec;
+ }
+ }
+
+ std::string UnixTime::printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using gpstk::StringUtils::formattedPrint;
+ std::string rv( fmt );
+
+ rv = formattedPrint(rv, formatPrefixInt + "U",
+ "Ud", tv.tv_sec);
+ rv = formattedPrint(rv, formatPrefixInt + "u",
+ "ud", tv.tv_usec);
+
+ return rv;
+ }
+ catch( gpstk::StringUtils::StringException& se )
+ {
+ GPSTK_RETHROW( se );
+ }
+ }
+
+ bool UnixTime::setFromInfo( const IdToValue& info )
+ throw()
+ {
+ using namespace gpstk::StringUtils;
+
+ bool hunixsec( false ), hunixusec( false );
+ int iunixsec( 0 ), iunixusec( 0 );
+
+ for( IdToValue::const_iterator i = info.begin(); i != info.end(); i++ )
+ {
+ switch( i->first )
+ {
+ case 'U':
+ iunixsec = asInt( i->second );
+ hunixsec = true;
+ break;
+
+ case 'u':
+ iunixusec = asInt( i->second );
+ hunixusec = true;
+ break;
+ };
+ }
+
+ if( hunixsec && hunixusec )
+ {
+ tv.tv_sec = iunixsec;
+ tv.tv_usec = iunixusec;
+ return true;
+ }
+ return false;
+ }
+
+ bool UnixTime::isValid() const
+ throw()
+ {
+ UnixTime temp;
+ temp.convertFromCommonTime( convertToCommonTime() );
+ if( *this == temp )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool UnixTime::operator==( const UnixTime& right ) const
+ throw()
+ {
+ if( tv.tv_sec == right.tv.tv_sec &&
+ tv.tv_usec == right.tv.tv_usec )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool UnixTime::operator!=( const UnixTime& right ) const
+ throw()
+ {
+ return ( !operator==( right ) );
+ }
+
+ bool UnixTime::operator<( const UnixTime& right ) const
+ throw()
+ {
+ if( tv.tv_sec < right.tv.tv_sec &&
+ tv.tv_usec < right.tv.tv_usec )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool UnixTime::operator>( const UnixTime& right ) const
+ throw()
+ {
+ return ( !operator<=( right ) );
+ }
+
+ bool UnixTime::operator<=( const UnixTime& right ) const
+ throw()
+ {
+ return ( operator<( right ) ||
+ operator==( right ) );
+ }
+
+ bool UnixTime::operator>=( const UnixTime& right ) const
+ throw()
+ {
+ return ( !operator<( right ) );
+ }
+
+} // namespace
diff --git a/trunk/src/UnixTime.hpp b/trunk/src/UnixTime.hpp
new file mode 100644
index 0000000..0273220
--- /dev/null
+++ b/trunk/src/UnixTime.hpp
@@ -0,0 +1,169 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/UnixTime.hpp#4 $"
+
+#ifndef GPSTK_UNIXTIME_HPP
+#define GPSTK_UNIXTIME_HPP
+
+#include "TimeTag.hpp"
+
+#ifdef _MSC_VER
+// timeval is defined in winsock.h, which we don't want to include
+// because it breaks lots of this code
+struct timeval {
+ long tv_sec; /* seconds */
+ long tv_usec; /* and microseconds */
+};
+#else
+#include <sys/time.h> // for struct timeval
+#endif
+
+namespace gpstk
+{
+ /**
+ * This class encapsulates the "Unix Timeval" time representation.
+ */
+ class UnixTime : public TimeTag
+ {
+ public:
+ static const std::string printChars;
+ static const std::string defaultFormat;
+
+ /**
+ * @defgroup utbo UnixTime Basic Operations
+ * Default and Copy Constructors, Assignment Operator and Destructor.
+ */
+ //@{
+
+ /**
+ * Default Constructor.
+ * All elements are initialized to zero.
+ */
+ UnixTime( int sec = 0,
+ int usec = 0 )
+ throw()
+ {
+ tv.tv_sec = sec; tv.tv_usec = usec;
+ }
+
+ /** struct timeval Constructor.
+ * Sets time according to the given struct timeval.
+ */
+ UnixTime( struct timeval t )
+ throw()
+ {
+ tv.tv_sec = t.tv_sec; tv.tv_usec = t.tv_usec;
+ }
+
+ /**
+ * Copy Constructor.
+ * @param right a reference to the UnixTime object to copy
+ */
+ UnixTime( const UnixTime& right )
+ throw()
+ : tv( right.tv )
+ {}
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const TimeTag reference and copies its contents via
+ * conversion to CommonTime.
+ * @param right a const reference to the BasicTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ UnixTime( const TimeTag& right )
+ throw( gpstk::InvalidRequest )
+ {
+ convertFromCommonTime( right.convertToCommonTime() );
+ }
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const CommonTime reference and copies its contents via
+ * the convertFromCommonTime method.
+ * @param right a const reference to the CommonTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ UnixTime( const CommonTime& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right );
+ }
+
+ /**
+ * Assignment Operator.
+ * @param right a const reference to the UnixTime to copy
+ * @return a reference to this UnixTime
+ */
+ UnixTime& operator=( const UnixTime& right )
+ throw();
+
+ /// Virtual Destructor.
+ virtual ~UnixTime()
+ throw()
+ {}
+ //@}
+
+ // The following functions are required by TimeTag.
+ virtual CommonTime convertToCommonTime() const;
+
+ virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+ /// This function formats this time to a string. The exceptions
+ /// thrown would only be due to problems parsing the fmt string.
+ virtual std::string printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException );
+
+ /**
+ * Set this object using the information provided in \a info.
+ * @param info the IdToValue object to which this object shall be set.
+ * @return true if this object was successfully set using the
+ * data in \a info, false if not.
+ */
+ virtual bool setFromInfo( const IdToValue& info )
+ throw();
+
+ /// Return a string containing the characters that this class
+ /// understands when printing times.
+ virtual std::string getPrintChars() const
+ throw()
+ {
+ return printChars;
+ }
+
+ /// Return a string containing the default format to use in printing.
+ virtual std::string getDefaultFormat() const
+ throw()
+ {
+ return defaultFormat;
+ }
+
+ virtual bool isValid() const
+ throw();
+
+ /**
+ * @defgroup utco UnixTime Comparison Operators
+ * All comparison operators have a parameter "right" which corresponds
+ * to the UnixTime object to the right of the symbol.
+ * All comparison operators are const and return true on success
+ * and false on failure.
+ */
+ //@{
+ bool operator==( const UnixTime& right ) const
+ throw();
+ bool operator!=( const UnixTime& right ) const
+ throw();
+ bool operator<( const UnixTime& right ) const
+ throw();
+ bool operator>( const UnixTime& right ) const
+ throw();
+ bool operator<=( const UnixTime& right ) const
+ throw();
+ bool operator>=( const UnixTime& right ) const
+ throw();
+ //@}
+
+ struct timeval tv;
+ };
+
+} // namespace
+
+#endif // GPSTK_UNIXTIME_HPP
diff --git a/trunk/src/ValidType.hpp b/trunk/src/ValidType.hpp
new file mode 100644
index 0000000..7dea75e
--- /dev/null
+++ b/trunk/src/ValidType.hpp
@@ -0,0 +1,125 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ValidType.hpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ValidType.hpp
+ * Capturing the concept of an uninitialized variable into a nice neat class.
+ */
+
+#ifndef VALIDTYPE_HPP
+#define VALIDTYPE_HPP
+
+#include <ostream>
+
+#include "Exception.hpp"
+
+namespace gpstk
+{
+
+ // Note that the regular operators don't have to be defined because of the
+ // conversion operator. This allows
+ // ValidType<int> p=1;
+ // p+=1;
+ // to use the regular int operators.
+ // Also note that the exception is declaired outside of the template class
+ // so there will only be one exception for all instantiations
+
+ NEW_EXCEPTION_CLASS(InvalidValue, gpstk::Exception);
+
+ template <class T>
+ class ValidType
+ {
+ public:
+ ValidType(const T& v):value(v),valid(true){};
+ ValidType():valid(false){};
+
+ ValidType& operator=(const T& v) throw() {
+ this->valid = true; this->value = v; return *this; };
+
+ ValidType& operator+=(const T& r) throw(){value-=r;};
+ ValidType& operator-=(const T& r) throw(){value+=r;};
+
+ // A conversion operator, will throw an exception if the object
+ // is marked invalid
+ operator T() const throw(InvalidValue) {
+ if (!this->is_valid()) throw InvalidValue();
+ return value;
+ };
+
+ bool operator==(const ValidType& r) {
+ return this->valid && r.valid && this->value == r.value;
+ };
+
+ bool is_valid() const { return valid;};
+ T get_value() const { return value;};
+
+ private:
+ T value;
+ bool valid;
+ };
+
+ typedef ValidType<float> vfloat;
+ typedef ValidType<double> vdouble;
+ typedef ValidType<char> vchar;
+ typedef ValidType<short> vshort;
+ typedef ValidType<int> vint;
+ typedef ValidType<long> vlong;
+ typedef ValidType<unsigned char> vuchar;
+ typedef ValidType<unsigned short> vushort;
+ typedef ValidType<unsigned int> vuint;
+ typedef ValidType<unsigned long> vulong;
+
+
+ // Yes, Virgina, this is the ugliest declaration that I have ever created...
+ template <class T> std::ostream& operator<<(
+ std::ostream& s, const ValidType<T>& r) throw() {
+ if (r.is_valid())
+ s << r.get_value();
+ else
+ s << "Unknown";
+ return s;
+ }
+
+}
+
+#endif
diff --git a/trunk/src/Vector.hpp b/trunk/src/Vector.hpp
new file mode 100644
index 0000000..093aa71
--- /dev/null
+++ b/trunk/src/Vector.hpp
@@ -0,0 +1,382 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Vector.hpp#3 $"
+
+/**
+ * @file Vector.hpp
+ * Classes for Vector, both constant and modifiable
+ */
+
+#ifndef GPSTK_VECTOR_HPP
+#define GPSTK_VECTOR_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "VectorBase.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup VectorGroup */
+ //@{
+
+// forward declaration
+ template <class T> class VectorSlice;
+
+/**
+ * This class pretty much duplicates std::valarray<T> except it's fully
+ * STL container compliant. Remember that operators +=, -=, *= and /=
+ * are provided by RefVectorBase.
+ *
+ * @sa matvectest.cpp for examples
+ */
+ template <class T>
+ class Vector : public RefVectorBase<T, Vector<T> >
+ {
+ public:
+ /// STL value type
+ typedef T value_type;
+ /// STL reference type
+ typedef T& reference;
+ /// STL const reference type
+ typedef const T& const_reference;
+ /// STL iterator type
+ typedef T* iterator;
+ /// STL const iterator type
+ typedef const T* const_iterator;
+
+ /// Default constructor
+ Vector() : v(NULL), s(0) {}
+ /// Constructor given an initial size.
+ Vector(size_t siz) : s(siz)
+ //: v(new T[siz]), s(siz)
+ {
+ v = new T[siz];
+ if(!v) {
+ VectorException e("Vector(size_t) failed to allocate");
+ GPSTK_THROW(e);
+ }
+ }
+ /**
+ * Constructor given an initial size and default value for all elements.
+ */
+ Vector(size_t siz, const T defaultValue) : s(siz)
+ //: v(new T[siz]), s(siz)
+ {
+ v = new T[siz];
+ if(!v) {
+ VectorException e("Vector<T>(size_t, const T) failed to allocate");
+ GPSTK_THROW(e);
+ }
+ assignFrom(defaultValue);
+ }
+ /**
+ * Copy constructor from a ConstVectorBase type.
+ */
+ template <class E>
+ Vector(const ConstVectorBase<T, E>& r) : s(r.size())
+ //: v(new T[r.size()]), s(r.size())
+ {
+ v = new T[r.size()];
+ if(!v) {
+ VectorException e("Vector<T>(ConstVectorBase) failed to allocate");
+ GPSTK_THROW(e);
+ }
+ assignFrom(r);
+ }
+ /**
+ * Copy constructor.
+ */
+ Vector(const Vector& r) : s(r.s)
+ //: v(new T[r.s]), s(r.s)
+ {
+ v = new T[r.s];
+ if(!v) {
+ VectorException e("Vector(Vector) failed to allocate");
+ GPSTK_THROW(e);
+ }
+ assignFrom(r);
+ }
+ /**
+ * Valarray constructor
+ */
+ Vector(const std::valarray<T>& r) : s(r.size())
+ //: v(new T[r.size()]), s(r.size())
+ {
+ v = new T[r.size()];
+ if(!v) {
+ VectorException e("Vector(valarray) failed to allocate");
+ GPSTK_THROW(e);
+ }
+ assignFrom(r);
+ }
+
+ /// subvector constructor
+ template <class E>
+ Vector(const ConstVectorBase<T, E>& vec,
+ size_t top,
+ size_t num) : v(size_t(0)),s(0)
+ {
+ // sanity checks...
+ if ( top >= vec.size() ||
+ top + num > vec.size())
+ {
+ VectorException e("Invalid dimensions or size for Vector(VectorBase)");
+ GPSTK_THROW(e);
+ }
+
+ v = new T[num];
+ if(!v) {
+ VectorException e("Vector(subvector) failed to allocate");
+ GPSTK_THROW(e);
+ }
+ size_t i;
+ for(i = 0; i < num; i++)
+ v[i] = vec(top+i);
+ s = num;
+ }
+
+ /// Destructor
+ ~Vector()
+ { if (v) delete [] v; }
+
+ /// STL iterator begin
+ iterator begin() { return v; }
+ /// STL const iterator begin
+ const_iterator begin() const { return v; }
+ /// STL iterator end
+ iterator end() { return v + s; }
+ /// STL const iterator end
+ const_iterator end() const { return v + s; }
+ /// STL front
+ value_type front() { return v[s-1]; }
+ /// STL const front
+ const_reference front() const { return v[s-1];}
+ /// STL empty
+ bool empty() const { return size == 0; }
+ /// STL size
+ size_t size() const {return s; }
+ /// STL max_size
+ size_t max_size() const { return std::numeric_limits<size_t>().max(); }
+
+ /// Non-const operator []
+ T& operator[] (size_t i)
+ { return v[i]; }
+ /// Const operator []
+ T operator[] (size_t i) const
+ { return v[i]; }
+ /// Non-const operator ()
+ T& operator() (size_t i)
+ { return v[i]; }
+ /// Const operator ()
+ T operator() (size_t i) const
+ { return v[i]; }
+
+ /// Like valarray, lets you do vec[slice] to get a VectorSlice.
+ VectorSlice<T> operator[] (const std::slice& sli)
+ { return VectorSlice<T>(*this, sli); }
+
+ /// *this will be resized if it isn't as large as x.
+ Vector& operator=(const Vector& x)
+ { resize(x.s); return assignFrom(x); }
+
+ /// *this will be resized if it isn't as large as x.
+ template <class E>
+ Vector& operator=(const ConstVectorBase<T, E>& x)
+ { resize(x.size()); return assignFrom(x); }
+
+ /// *this will be resized if it isn't as large as x.
+ Vector& operator=(const std::valarray<T>& x)
+ { resize(x.size()); return assignFrom(x); }
+ /// Only (*this).size() elements will be assigned.
+ Vector& operator=(const T x)
+ { return assignFrom(x); }
+ /// Only (*this).size() elements will be assigned.
+ Vector& operator=(const T* x)
+ { return assignFrom(x); }
+
+ /// Resizes the vector. if index > size, the vector will be
+ /// erased and the contents destroyed.
+ Vector& resize(const size_t index)
+ {
+ if (index > s)
+ {
+ if (v)
+ delete [] v;
+ v = new T[index];
+ if(!v) {
+ VectorException e("Vector.resize(size_t) failed to allocate");
+ GPSTK_THROW(e);
+ }
+ }
+ s = index;
+ return *this;
+ }
+
+ /// resize with new default value
+ Vector& resize(const size_t index, const T defaultValue)
+ {
+ resize(index);
+ size_t i;
+ for(i = 0; i < s; i++)
+ v[i] = defaultValue;
+ return *this;
+ }
+
+ private:
+
+ // a good optimizer will remove this function call
+ // if RANGECHECK isn't defined. remember that
+ // range checking affects EVERY operation
+ inline bool rangeCheck(const size_t index) const
+ {
+#ifdef RANGECHECK
+ return (index < s);
+#else
+ return true;
+#endif
+ }
+
+ /// The vector
+ T* v;
+ /// The size of the vector.
+ size_t s;
+ };
+ // end class Vector<T>
+
+/**
+ * A slice of Vector<T> that can be modified.
+ * @warning Remember that (VectorSlice = VectorSlice) will
+ * assign elements to the VectorSlice, not copy the VectorSlice internal data!
+ */
+ template <class T>
+ class VectorSlice : public RefVectorSliceBase<T, VectorSlice<T> >
+ {
+ public:
+ /// Default constructor
+ VectorSlice()
+ : v(NULL), s(std::slice(0,0,0))
+ { }
+
+ /// Makes a slice of the whole vector
+ VectorSlice(Vector<T>& vv)
+ : v(&vv), s(std::slice(0,vv.size(),1))
+ { }
+
+ /// Makes a slice of the vector with the given std::slice.
+ VectorSlice(Vector<T>& vv, const std::slice& ss)
+ : v(&vv), s(ss)
+ { vecSliceCheck(vv.size()); }
+
+ /// Assign the elements of this slice from another vector.
+ template <class V>
+ VectorSlice& operator=(const ConstVectorBase<T, V>& x)
+ { return assignFrom(x); }
+
+ /// Assign the elements of this slice from a valarray.
+ VectorSlice& operator=(const std::valarray<T>& x)
+ { return assignFrom(x); }
+
+ /// Assign all the elements of this slice to x.
+ VectorSlice& operator=(const T x)
+ { return assignFrom(x); }
+
+ /// Assign (*this).size() elements from x to (*this).
+ VectorSlice& operator=(const T* x)
+ { return assignFrom(x); }
+
+ /// Returns the modifiable i'th element of the slice.
+ T& operator[] (size_t i)
+ { return (*v)[start() + i * stride()]; }
+ /// Returns the const i'th element of the slice.
+ T operator[] (size_t i) const
+ { return (*v)[start() + i * stride()]; }
+ /// Returns the modifiable i'th element of the slice.
+ T& operator() (size_t i)
+ { return (*v)[start() + i * stride()]; }
+ /// Returns the const i'th element of the slice.
+ T operator() (size_t i) const
+ { return (*v)[start() + i * stride()]; }
+
+ /// returns the number of elements in the slice
+ inline size_t size() const { return s.size(); }
+ /// returns the index in the vector of the first element.
+ inline size_t start() const { return s.start(); }
+ /// returns the number of elements to skip between (*this)[i] and
+ /// (*this)[i+1]
+ inline size_t stride() const { return s.stride(); }
+ private:
+ /// the vector used as a source for the slice
+ Vector<T>* v;
+ /// the slice specification.
+ std::slice s;
+ };
+
+/**
+ * A Vector<T> slice that doesn't allow modification.
+ */
+ template <class T>
+ class ConstVectorSlice : public ConstVectorSliceBase<T, ConstVectorSlice<T> >
+ {
+ public:
+ /// default constructor
+ ConstVectorSlice()
+ : v(NULL), s(std::slice(0,0,0))
+ { }
+
+ /// Makes a slice of the whole vector
+ ConstVectorSlice(const Vector<T>& vv)
+ : v(&vv), s(std::slice(0,vv.size(),1))
+ { }
+
+ /// Uses the given slice and vector.
+ ConstVectorSlice(const Vector<T>& vv, const std::slice& ss)
+ : v(&vv), s(ss)
+ { vecSliceCheck(vv.size()); }
+
+ /// Returns a const version of the i'th slice element.
+ T operator[] (size_t i) const
+ { return (*v)[start() + i * stride()]; }
+ /// Returns a const version of the i'th slice element.
+ T operator() (size_t i) const
+ { return (*v)[start() + i * stride()]; }
+
+ /// returns the number of elements in the slice
+ inline size_t size() const { return s.size(); }
+ /// returns the index in the vector of the first element.
+ inline size_t start() const { return s.start(); }
+ /// returns the number of elements to skip between (*this)[i] and
+ /// (*this)[i+1]
+ inline size_t stride() const { return s.stride(); }
+
+ private:
+ /// Vectortor used as a source for this slice.
+ const Vector<T>* v;
+ /// the slice specification.
+ std::slice s;
+ };
+
+ //@}
+
+} // namespace
+
+#include "VectorOperators.hpp"
+
+#endif
diff --git a/trunk/src/VectorBase.cpp b/trunk/src/VectorBase.cpp
new file mode 100644
index 0000000..fcf0eac
--- /dev/null
+++ b/trunk/src/VectorBase.cpp
@@ -0,0 +1,36 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/VectorBase.cpp#1 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+/**
+ * @file VectorBase.cpp
+ * Initialize static members of base Vector class
+ */
+
+#include "VectorBase.hpp"
+
+namespace gpstk
+{
+ // initialize static members
+ double RefVectorBaseHelper::zeroTolerance = 10e-10;
+} // namespace gpstk
diff --git a/trunk/src/VectorBase.hpp b/trunk/src/VectorBase.hpp
new file mode 100644
index 0000000..3f2401a
--- /dev/null
+++ b/trunk/src/VectorBase.hpp
@@ -0,0 +1,299 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/VectorBase.hpp#3 $"
+
+/**
+ * @file VectorBase.hpp
+ * Base Vector class
+ */
+
+#ifndef GPSTK_VECTOR_BASE_HPP
+#define GPSTK_VECTOR_BASE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <valarray>
+#include "Exception.hpp"
+
+#include "MathBase.hpp"
+
+namespace gpstk
+{
+/** @addtogroup VectorGroup */
+ //@{
+
+/// An exception thrown when there's a problem with a vector
+/// @ingroup exceptiongroup
+NEW_EXCEPTION_CLASS(VectorException, gpstk::Exception);
+
+/*
+ * There were two overriding philosophies to the vector and matrix classes:
+ *
+ * The concept of "const" and "reference" (i.e. changable) vector
+ * and matrix types both exist, so that any Const* type could not be altered
+ * while Ref* types can. This allowed one to add the slice classes that
+ * let you use a subset of a vector and modify (or not if it's const) the
+ * original vector. Furthermore, it allowed slice and non-slice classes
+ * to interoperate through the ConstVectorBase or ConstMatrixBase classes, so, for
+ * example, operator* only needs to be written in terms of ConstVectorBase to
+ * work correctly with Vector, VectorSlice and ConstVectorSlice.
+ *
+ * Remember that a slice MUST refer to a vector or matrix; you cannot have
+ * a slice independent of a base vector or matrix.
+ *
+ * In the future:
+ *
+ * - Change the math operators to template expressions.
+ * - Add general slices and diagonal matrix slices.
+ * - Make range checking more consistent.
+ * - Make operator= and copy constructors consistent between const and
+ * non-const versions.
+ * - Reevaluate the need for default slice constructors...?
+ * - find a way for LUD and SVD to use the template type of the parameters
+ * rather than specified when the object is created.
+ * - come up with a policy for when zeroize() will be used before results
+ * are returned.
+ *
+ * @warning MSVC cant deal with cmath header.
+ * Changes to accomidate this may break complex!
+ */
+
+/**
+ * A base class for a vector that does not allow modification of the internal
+ * vector. BaseClass is the base class that implements the vector.
+ */
+ template <class T, class BaseClass>
+ class ConstVectorBase
+ {
+ public:
+ /// Constructor
+ explicit ConstVectorBase() {}
+
+ /// Returns the size of the base class.
+ size_t size() const
+ { return static_cast<const BaseClass*>(this)->size(); }
+ /// returns the element at index i
+ T operator[] (size_t i) const
+ { return constVectorRef(i); }
+ /// returns the element at index i
+ T operator() (size_t i) const
+ { return constVectorRef(i); }
+
+ protected:
+ /// returns the element at index i by calling the base class's operator[]
+ inline T constVectorRef(size_t i) const
+ throw(VectorException)
+ {
+ const BaseClass& b = static_cast<const BaseClass&>(*this);
+#ifdef RANGECHECK
+ if (i >= b.size())
+ {
+ VectorException e("Invalid ConstVectorBase index");
+ GPSTK_THROW(e);
+ }
+#endif
+ return b[i];
+ }
+ };
+
+ /// a class to hold the static members of RefVectorBase. Static members
+ /// in template classes have to be initialized on a PER TEMPLATE
+ /// basis - this gets around that problem.
+ class RefVectorBaseHelper
+ {
+ public:
+ /// used with zeroize(), any number below this value will become 0.
+ /// this variable can be assigned any value.
+ static double zeroTolerance;
+ };
+
+/**
+ * A vector base class that allows modification of the internal representation.
+ */
+ template <class T, class BaseClass>
+ class RefVectorBase : public ConstVectorBase<T, BaseClass>,
+ public RefVectorBaseHelper
+ {
+ public:
+ /// constructor
+ explicit RefVectorBase() {}
+ /// returns a modifiable version of the element at index i.
+ T& operator[] (size_t i)
+ { return vecRef(i); }
+ /// returns a modifiable version of the element at index i.
+ T& operator() (size_t i)
+ { return vecRef(i); }
+ /// Any value in the vector with absolute value below
+ /// zeroTolerance is set to zero.
+ BaseClass& zeroize()
+ {
+ BaseClass& me = static_cast<BaseClass&>(*this);
+ size_t i;
+ for (i = 0; i < me.size(); i++)
+ if (ABS(me[i]) < zeroTolerance)
+ me[i] = T(0);
+ return me;
+ }
+
+#define VecBaseArrayAssignMacroDontCheckRange(func) \
+ BaseClass& me = static_cast<BaseClass&>(*this); \
+ size_t i; for (i=0; i < me.size(); i++) { \
+ me[i] func x[i]; \
+ } \
+ return me;
+
+#ifdef RANGECHECK
+#define VecBaseArrayAssignMacro(func) \
+ BaseClass& me = static_cast<BaseClass&>(*this); \
+ if (x.size() != me.size()) \
+ { \
+ VectorException e("Unequal lengths for vectors"); \
+ GPSTK_THROW(e); \
+ } \
+ size_t i; for (i=0; i < me.size(); i++) me[i] func x[i]; \
+ return me;
+#else
+#define VecBaseArrayAssignMacro(func) \
+VecBaseArrayAssignMacroDontCheckRange(func)
+#endif
+
+#define VecBaseAtomicAssignMacro(func) \
+ BaseClass& me = static_cast<BaseClass&>(*this); \
+ size_t i; for (i=0; i < me.size(); i++) me[i] func x; \
+ return me;
+
+#define VecBaseNewAssignOperator(funcName, op) \
+ /** Performs op on (*this).size() elements of (*this) from x */ \
+ template <class E> BaseClass& funcName(const ConstVectorBase<T, E>& x) \
+ { VecBaseArrayAssignMacro(op) } \
+ /** Performs op on (*this).size() elements of (*this) from x */ \
+ BaseClass& funcName(const std::valarray<T>& x) \
+ { VecBaseArrayAssignMacro(op) } \
+ /** Performs op on (*this).size() elements of (*this) from x */ \
+ BaseClass& funcName(const T* x) \
+ { VecBaseArrayAssignMacroDontCheckRange(op) } \
+ /** Performs op on (*this).size() elements of (*this) from x */ \
+ BaseClass& funcName(T x) \
+ { VecBaseAtomicAssignMacro(op) }
+
+ /**
+ * Remember that operator= is NOT inherited. Derived classes can
+ * use assignFrom to initialize values from a copy constructor or
+ * their own operator= rather than explicitly copying them.
+ */
+ VecBaseNewAssignOperator(assignFrom, =);
+ VecBaseNewAssignOperator(operator+=, +=);
+ VecBaseNewAssignOperator(operator-=, -=);
+ VecBaseNewAssignOperator(operator*=, *=);
+ VecBaseNewAssignOperator(operator/=, /=);
+
+ /// unary minus: multiplies each element of this vector by -1.
+ BaseClass& operator-()
+ {
+ const T x=T(-1);
+ VecBaseAtomicAssignMacro(*=);
+ }
+
+ protected:
+ /// Returns a modifiable object at index i.
+ inline T& vecRef(size_t i)
+ throw(VectorException)
+ {
+ BaseClass& b = static_cast<BaseClass&>(*this);
+#ifdef RANGECHECK
+ if (i >= b.size())
+ {
+ VectorException e("Invalid VectorBase index");
+ GPSTK_THROW(e);
+ }
+#endif
+ return b[i];
+ }
+ };
+
+/**
+ * A base class that represents a subset of a vector.
+ */
+ template <class BaseClass>
+ class VectorSliceBase
+ {
+ public:
+ /// constructor
+ explicit VectorSliceBase() {}
+
+ /// the number of elements in the slice.
+ size_t size() const
+ { return static_cast<const BaseClass*>(this)->size(); }
+ /// the start index in the BaseClass vector for this slice.
+ size_t start() const
+ { return static_cast<const BaseClass*>(this)->start(); }
+ /// How many elements separate the i'th element from the i+1'th element.
+ size_t stride() const
+ { return static_cast<const BaseClass*>(this)->stride(); }
+
+ protected:
+ /// Given the size of the source vector, checks that the slice is valid.
+ inline void vecSliceCheck(size_t sourceSize) const
+ throw(VectorException)
+ {
+#ifdef RANGECHECK
+ // sanity checks...
+ if ( (start() >= sourceSize) ||
+ ((start() + (size() - 1) * stride()) >= sourceSize) )
+ {
+ VectorException e("Invalid range for slice");
+ GPSTK_THROW(e);
+ }
+#endif
+ }
+ };
+
+/**
+ * A vector slice base class that doesn't allow modification of the
+ * internal elements.
+ */
+ template <class T, class BaseClass>
+ class ConstVectorSliceBase : public VectorSliceBase<BaseClass>,
+ public ConstVectorBase<T, BaseClass>
+ {
+public:
+ explicit ConstVectorSliceBase() {}
+};
+
+/**
+ * A vector slice base class that does allow modification of the
+ * internal elements.
+ */
+template <class T, class BaseClass>
+class RefVectorSliceBase : public VectorSliceBase<BaseClass>,
+ public RefVectorBase<T, BaseClass>
+{
+public:
+ explicit RefVectorSliceBase() {}
+};
+
+//@}
+
+} // namespace gpstk
+
+#include "VectorBaseOperators.hpp"
+
+#endif //GPSTK_VECTOR_BASE_HPP
diff --git a/trunk/src/VectorBaseOperators.hpp b/trunk/src/VectorBaseOperators.hpp
new file mode 100644
index 0000000..53db016
--- /dev/null
+++ b/trunk/src/VectorBaseOperators.hpp
@@ -0,0 +1,270 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/VectorBaseOperators.hpp#3 $"
+
+/**
+ * @file VectorBaseOperators.hpp
+ * Vector base class operators, including I/O, min(), dot(), comparisons, etc
+ */
+
+#ifndef GPSTK_VECTOR_BASE_OPERATORS_HPP
+#define GPSTK_VECTOR_BASE_OPERATORS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <fstream> // for copyfmt
+#include <vector>
+#include <iomanip>
+
+namespace gpstk
+{
+
+ /** @addtogroup VectorGroup */
+ //@{
+
+/** Output operator for ConstVectorBase objects */
+ template <class T, class E>
+ std::ostream& operator<<(std::ostream& s, const ConstVectorBase<T, E>& a)
+ {
+ std::ofstream savefmt;
+ savefmt.copyfmt(s);
+ size_t i;
+ for (i=0; i< a.size(); i++) {
+ s << std::setw(1) << ' ';
+ s.copyfmt(savefmt);
+ s << a[i];
+ }
+ return s;
+ }
+
+/** Returns the sum of the elements of the vector */
+ template <class T, class BaseClass>
+ inline T sum(const ConstVectorBase<T, BaseClass>& l)
+ {
+ T total(0);
+ size_t i;
+ for (i = 0; i < l.size(); i++)
+ total += l[i];
+ return total;
+ }
+
+/** Return the element with smallest absolute value in the vector */
+ template <class T, class BaseClass>
+ inline T minabs(const ConstVectorBase<T, BaseClass>& l) throw (VectorException)
+ {
+ if (l.size() == 0)
+ {
+ VectorException e("Can't find the minabs of an empty vector");
+ GPSTK_THROW(e);
+ }
+ T min = l[0];
+ size_t i;
+ for (i = 1; i < l.size(); i++)
+ if (ABS(l[i]) < ABS(min))
+ min = l[i];
+ return min;
+ }
+
+/** Returns the smallest element of the vector */
+ template <class T, class BaseClass>
+ inline T min(const ConstVectorBase<T, BaseClass>& l) throw (VectorException)
+ {
+ if (l.size() == 0)
+ {
+ VectorException e("Can't find the min of an empty vector");
+ GPSTK_THROW(e);
+ }
+ T min = l[0];
+ size_t i;
+ for (i = 1; i < l.size(); i++)
+ if (l[i] < min)
+ min = l[i];
+ return min;
+ }
+
+/** Return the element with largest absolute value in the vector */
+ template <class T, class BaseClass>
+ inline T maxabs(const ConstVectorBase<T, BaseClass>& l)
+ {
+ if (l.size() == 0)
+ {
+ VectorException e("Can't find the maxabs of an empty vector");
+ GPSTK_THROW(e);
+ }
+ T max = l[0];
+ size_t i;
+ for (i = 1; i < l.size(); i++)
+ if (ABS(l[i]) > ABS(max))
+ max = l[i];
+ return max;
+ }
+
+/** Returns the largest element of the vector */
+ template <class T, class BaseClass>
+ inline T max(const ConstVectorBase<T, BaseClass>& l)
+ {
+ if (l.size() == 0)
+ {
+ VectorException e("Can't find the max of an empty vector");
+ GPSTK_THROW(e);
+ }
+ T max = l[0];
+ size_t i;
+ for (i = 1; i < l.size(); i++)
+ if (l[i] > max)
+ max = l[i];
+ return max;
+ }
+
+/** returns the dot product of the two vectors */
+ template <class T, class BaseClass, class BaseClass2>
+ inline T dot(const ConstVectorBase<T, BaseClass>& l,
+ const ConstVectorBase<T, BaseClass2>& r)
+ {
+ T sum(0);
+ size_t i,n=(l.size() > r.size() ? r.size() : l.size());
+ for (i = 0; i < n; i++)
+ {
+ sum += l[i] * r[i];
+ }
+ return sum;
+ }
+
+/** returns the dot product of a vector and a scalar */
+ template <class T, class BaseClass>
+ inline T dot(const ConstVectorBase<T, BaseClass>& l, const T r)
+ {
+ T sum(0);
+ size_t i;
+ for (i = 0; i < l.size(); i++)
+ {
+ sum += l[i] * r;
+ }
+ return sum;
+ }
+
+/** returns the dot product of a scalar and a vector */
+ template <class T, class BaseClass>
+ inline T dot(const T l, const ConstVectorBase<T, BaseClass>& r)
+ {
+ T sum(0);
+ size_t i;
+ for (i = 0; i < r.size(); i++)
+ {
+ sum += l * r[i];
+ }
+ return sum;
+ }
+
+/** returns the norm of the vector */
+ template <class T, class BaseClass>
+ inline T norm(const ConstVectorBase<T, BaseClass>& v)
+ {
+ T mag=T(0);
+ if(v.size()==0) return mag;
+ mag = ABS(v(0));
+ for(size_t i=1; i<v.size(); i++) {
+ if(mag > ABS(v(i)))
+ mag *= SQRT(T(1)+(v(i)/mag)*(v(i)/mag));
+ else if(ABS(v(i)) > mag)
+ mag = ABS(v(i))*SQRT(T(1)+(mag/v(i))*(mag/v(i)));
+ else
+ mag *= SQRT(T(2));
+ }
+ return mag;
+ }
+
+/** return the Minkowski product of two vectors of length 4. */
+ template <class T, class BaseClass, class BaseClass2>
+ inline T Minkowski(const ConstVectorBase<T, BaseClass>& v,
+ const ConstVectorBase<T, BaseClass2>& w)
+ {
+ if (v.size()<4 || w.size()<4)
+ {
+ VectorException e("Minkowski requires vector length 4");
+ GPSTK_THROW(e);
+ }
+ return (v(0)*w(0)+v(1)*w(1)+v(2)*w(2)-v(3)*w(3));
+ }
+
+/** finds the cosine between the two vectors */
+ template <class T, class BaseClass1, class BaseClass2>
+ inline T cosVec(const ConstVectorBase<T, BaseClass1>& a,
+ const ConstVectorBase<T, BaseClass2>& b)
+ {
+ T na=norm(a), nb=norm(b), c(0);
+ size_t i,n=(b.size() > a.size() ? a.size() : b.size());
+ for(i=0; i<n; i++) c += (a(i)/na)*(b(i)/nb);
+ return c;
+ }
+
+// shortwire equality operators - compares each individual
+// element in the vector but returns one 'true' or 'false'
+// for the whole comparison. note this only compares
+// the smaller of the size of the two vectors
+#define VecShortwireComparisonOperator(func, op) \
+/** Performs op on each element of l and r, returning false if any fail */ \
+template <class T, class BaseClass, class BaseClass2> \
+inline bool func(const ConstVectorBase<T, BaseClass>& l, \
+ const ConstVectorBase<T, BaseClass2>& r) \
+{ \
+ size_t len = (l.size() < r.size()) ? l.size() : r.size(); \
+ size_t i; \
+ for(i = 0; i < len; i++) \
+ if ( !(l[i] op r[i]) ) \
+ return false; \
+ return true; \
+} \
+/** Performs op on each element of l to r, returning false if any fail */ \
+template <class T, class BaseClass> \
+inline bool func(const ConstVectorBase<T, BaseClass>& l, const T r) \
+{ \
+ size_t len = l.size(); \
+ size_t i; \
+ for(i = 0; i < len; i++) \
+ if ( !(l[i] op r) ) \
+ return false; \
+ return true; \
+} \
+/** Performs op on each element of r to l, returning false if any fail */ \
+template <class T, class BaseClass> \
+inline bool func(const T l, const ConstVectorBase<T, BaseClass>& r) \
+{ \
+ size_t len = r.size(); \
+ size_t i; \
+ for(i = 0; i < len; i++) \
+ if ( !(l op r[i]) ) \
+ return false; \
+ return true; \
+}
+
+VecShortwireComparisonOperator(eq, ==)
+ VecShortwireComparisonOperator(ne, !=)
+ VecShortwireComparisonOperator(lt, <)
+ VecShortwireComparisonOperator(gt, >)
+ VecShortwireComparisonOperator(ge, >=)
+ VecShortwireComparisonOperator(le, <=)
+
+ //@}
+
+} // namespace gpstk
+
+#endif // GPSTK_VECTOR_BASE_OPERATORS_HPP
diff --git a/trunk/src/VectorOperators.hpp b/trunk/src/VectorOperators.hpp
new file mode 100644
index 0000000..1825991
--- /dev/null
+++ b/trunk/src/VectorOperators.hpp
@@ -0,0 +1,187 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/VectorOperators.hpp#2 $"
+
+/**
+ * @file VectorOperators.hpp
+ * Vector operators, including arithmetic, trig, cross, RMS, etc
+ */
+
+#ifndef GPSTK_VECTOR_OPERATORS_HPP
+#define GPSTK_VECTOR_OPERATORS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+namespace gpstk
+{
+
+ /** @addtogroup VectorGroup */
+ //@{
+
+#define VecBaseNewUnaryOperator(func) \
+ /** performs func on each element of x, returning a new vector */ \
+ template <class T, class BaseClass> \
+ Vector<T> func(const ConstVectorBase<T, BaseClass>& x) \
+ { \
+ BaseClass toReturn(x.size()); \
+ size_t i; for (i=0; i < x.size(); i++) toReturn[i] = func(x[i]); \
+ return toReturn; \
+ }
+
+// VecBaseNewUnaryOperator(-)
+ VecBaseNewUnaryOperator(abs)
+ VecBaseNewUnaryOperator(acos)
+ VecBaseNewUnaryOperator(asin)
+ VecBaseNewUnaryOperator(atan)
+ VecBaseNewUnaryOperator(cos)
+ VecBaseNewUnaryOperator(cosh)
+ VecBaseNewUnaryOperator(exp)
+ VecBaseNewUnaryOperator(log)
+ VecBaseNewUnaryOperator(log10)
+ VecBaseNewUnaryOperator(sinh)
+ VecBaseNewUnaryOperator(sin)
+ VecBaseNewUnaryOperator(sqrt)
+ VecBaseNewUnaryOperator(tan)
+ VecBaseNewUnaryOperator(tanh)
+
+#define VecBaseNewBinaryOperator(func, retval) \
+/** returns a retval with each element the result of l[i] func r[i] */ \
+template <class T, class BaseClass, class BaseClass2> \
+retval operator func(const ConstVectorBase<T, BaseClass>& l, \
+ const ConstVectorBase<T, BaseClass2>& r) \
+{ \
+ if (l.size() != r.size()) \
+ { \
+ VectorException e("Unequal lengths vectors"); \
+ GPSTK_THROW(e); \
+ } \
+ retval toReturn(l.size()); \
+ size_t i; \
+ for (i=0; i < l.size(); i++) toReturn[i] = l[i] func r[i]; \
+ return toReturn; \
+} \
+/** returns a retval with each element the result of l[i] func (scalar)r */ \
+template <class T, class BaseClass> \
+retval operator func(const ConstVectorBase<T, BaseClass>& l, const T r) \
+{ \
+ retval toReturn(l.size()); \
+ size_t i; \
+ for (i=0; i < l.size(); i++) toReturn[i] = l[i] func r; \
+ return toReturn; \
+} \
+/** returns a retval with each element the result of (scalar)l func r[i] */ \
+template <class T, class BaseClass> \
+retval operator func(const T l, const ConstVectorBase<T, BaseClass>& r) \
+{ \
+ retval toReturn(r.size()); \
+ size_t i; \
+ for (i=0; i < r.size(); i++) toReturn[i] = l func r[i]; \
+ return toReturn; \
+}
+
+ VecBaseNewBinaryOperator(*, Vector<T>)
+ VecBaseNewBinaryOperator(/, Vector<T>)
+ VecBaseNewBinaryOperator(%, Vector<T>)
+ VecBaseNewBinaryOperator(+, Vector<T>)
+ VecBaseNewBinaryOperator(-, Vector<T>)
+ VecBaseNewBinaryOperator(^, Vector<T>)
+ VecBaseNewBinaryOperator(&, Vector<T>)
+ VecBaseNewBinaryOperator(|, Vector<T>)
+
+ VecBaseNewBinaryOperator(==, Vector<bool>)
+ VecBaseNewBinaryOperator(<, Vector<bool>)
+ VecBaseNewBinaryOperator(>, Vector<bool>)
+ VecBaseNewBinaryOperator(!=, Vector<bool>)
+ VecBaseNewBinaryOperator(<=, Vector<bool>)
+ VecBaseNewBinaryOperator(>=, Vector<bool>)
+
+#define VecBaseNewBinaryTranscendentalOperator(func, retval) \
+/** performs func between each element of l and r, returning a retval */ \
+ template <class T, class BaseClass, class BaseClass2> \
+ retval func(const ConstVectorBase<T, BaseClass>& l, \
+ const ConstVectorBase<T, BaseClass2>& r) \
+ { \
+ retval toReturn(l.size()); \
+ size_t i; \
+ for (i=0; i < l.size(); i++) toReturn[i] = func(l[i], r[i]); \
+ return toReturn; \
+ } \
+/** performs func between each element of l and (scalar)r, returning a retval */ \
+template <class T, class BaseClass> \
+retval func(const ConstVectorBase<T, BaseClass>& l, const T r) \
+{ \
+ retval toReturn(l.size()); \
+ size_t i; \
+ for (i=0; i < l.size(); i++) toReturn[i] = func(l[i], r); \
+ return toReturn; \
+} \
+/** performs func between (scalar)l and each element of r, returning a retval */ \
+template <class T, class BaseClass> \
+retval func(const T l, const ConstVectorBase<T, BaseClass>& r) \
+{ \
+ retval toReturn(r.size()); \
+ size_t i; \
+ for (i=0; i < r.size(); i++) toReturn[i] = func(l, r[i]); \
+ return toReturn; \
+}
+
+ VecBaseNewBinaryTranscendentalOperator(atan, Vector<T>)
+ VecBaseNewBinaryTranscendentalOperator(pow, Vector<T>)
+
+/** finds the cross product between l and r */
+ template <class T, class BaseClass, class BaseClass2>
+ Vector<T> cross(const ConstVectorBase<T, BaseClass>& l,
+ const ConstVectorBase<T, BaseClass2>& r) throw(VectorException)
+{
+ if ((l.size() != 3) && (r.size() != 3))
+ {
+ VectorException e("Cross product requires vectors of size 3");
+ GPSTK_THROW(e);
+ }
+ BaseClass toReturn(3);
+ toReturn[0] = l[1] * r[2] - l[2] * r[1];
+ toReturn[1] = l[2] * r[0] - l[0] * r[2];
+ toReturn[2] = l[0] * r[1] - l[1] * r[0];
+ return toReturn;
+}
+
+/** returns a new vector with the normalized version of l */
+template <class T, class BaseClass>
+Vector<T> normalize(const ConstVectorBase<T, BaseClass>& l)
+{ return l / norm(l); }
+
+/** returns the root-sum-square of the elements of l */
+template <class T, class BaseClass>
+T RSS(const ConstVectorBase<T, BaseClass>& l)
+{ return norm(l); }
+
+/** returns the root-mean-square of the elements of l */
+template <class T, class BaseClass>
+T RMS(const ConstVectorBase<T, BaseClass>& l)
+{ return norm(l)/SQRT(T(l.size())); }
+
+ //@}
+
+} // namespace
+
+#endif
+
+
diff --git a/trunk/src/WGS84Geoid.hpp b/trunk/src/WGS84Geoid.hpp
new file mode 100644
index 0000000..f1a7206
--- /dev/null
+++ b/trunk/src/WGS84Geoid.hpp
@@ -0,0 +1,126 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/WGS84Geoid.hpp#1 $"
+
+/**
+ * @file WGS84Geoid.hpp
+ * WGS 1984 model of the geoid
+ */
+
+#ifndef GPSTK_WGS84GEOID_HPP
+#define GPSTK_WGS84GEOID_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "GeoidModel.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup geodeticgroup */
+ //@{
+
+ /// This class represents the geodetic model defined in NIMA
+ /// TR8350.2, "Department of Defense World Geodetic System 1984".
+ class WGS84Geoid : public GeoidModel
+ {
+ public:
+
+ /// Defined in TR8350.2, Appendix A.1
+ /// @return semi-major axis of Earth in meters.
+ virtual double a() const throw()
+ { return 6378137.0; }
+
+ /// Derived from TR8350.2, Appendix A.1
+ /// @return semi-major axis of Earth in km.
+ virtual double a_km() const throw()
+ { return a() / 1000.0; }
+
+ /**
+ * Derived from TR8350.2, Appendix A.1
+ * @note This parameter was in gappc as e-2, but a
+ * little calculator work indicates it should really be e-3.
+ * We'll leave it as e-3 for now.
+ * @return flattening (ellipsoid parameter).
+ */
+ virtual double flattening() const throw()
+ { return 0.335281066475e-3; }
+
+ /// Defined in TR8350.2, Table 3.3
+ /// @return eccentricity (ellipsoid parameter).
+ virtual double eccentricity() const throw()
+ { return 8.1819190842622e-2; }
+
+ /// Defined in TR8350.2, Table 3.3
+ /// @return eccentricity squared (ellipsoid parameter).
+ virtual double eccSquared() const throw()
+ { return 6.69437999014e-3; }
+
+ /// Defined in TR8350.2, 3.2.4 line 3-6, or Table 3.1
+ /// @return angular velocity of Earth in radians/sec.
+ virtual double angVelocity() const throw()
+ { return 7.292115e-5; }
+
+ /// Defined in TR8350.2, Table 3.1
+ /// @return geocentric gravitational constant in m**3 / s**2
+ virtual double gm() const throw()
+ { return 3986004.418e8; }
+
+ /// Derived from TR8350.2, Table 3.1
+ /// @return geocentric gravitational constant in km**3 / s**2
+ virtual double gm_km() const throw()
+ { return 398600.4418; }
+
+ /// Defined in TR8350.2, 3.3.2 line 3-11
+ /// @return Speed of light in m/s.
+ virtual double c() const throw()
+ { return 299792458; }
+
+ /// Derived from TR8350.2, 3.3.2 line 3-11
+ /// @return Speed of light in km/s
+ virtual double c_km() const throw()
+ { return c()/1000.0; }
+
+ }; // class WGS84Geoid
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/X1Sequence.cpp b/trunk/src/X1Sequence.cpp
new file mode 100644
index 0000000..2fd0239
--- /dev/null
+++ b/trunk/src/X1Sequence.cpp
@@ -0,0 +1,159 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/X1Sequence.cpp#2 $"
+/*
+* X1Sequence.cpp
+*
+* GPS X1 Sequencer.
+* Applied Research Laboratories, The University of Texas at Austin
+* August 2003
+*/
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+ // Project headers
+#include "Exception.hpp"
+#include "X1Sequence.hpp"
+#include "GenXSequence.hpp"
+
+namespace gpstk
+{
+ // Static Variable Definition
+ bool X1Sequence::isInit = false;
+ unsigned long* X1Sequence::X1Bits = 0;
+
+ X1Sequence::X1Sequence( )
+ {
+ if (isInit!=true)
+ {
+ gpstk::Exception e(
+ "Must call X1Sequence::allocateMemory() before instantiating a X1Sequence object.");
+ GPSTK_THROW(e);
+ }
+ }
+
+ void X1Sequence::allocateMemory( )
+ {
+ int X1Aepoch;
+ int X1Acount;
+ int X1Bepoch;
+ int X1Bcount;
+ int X1epoch = 1;
+ long X1Word = 0;
+ int lengthOfX1BSequence;
+
+ if (isInit==true)
+ {
+ gpstk::Exception e ("X1Sequence::allocateMemory() called multiple times");
+ GPSTK_THROW(e);
+ }
+
+ X1Bits = new unsigned long[NUM_6SEC_WORDS];
+ if (X1Bits==0)
+ {
+ gpstk::Exception e ("X1Sequence::allocateMemory() - allocation failed.");
+ GPSTK_THROW(e);
+ }
+
+ // Generate the X1A and X1B sequences.
+ gpstk::GenXSequence X1A( X1A_INIT, X1A_TAPS, XA_COUNT, XA_EPOCH_DELAY);
+ gpstk::GenXSequence X1B( X1B_INIT, X1B_TAPS, XB_COUNT, XB_EPOCH_DELAY);
+
+ // Combination will be performed for four X1 epochs.
+ // This will generate six seconds of X1 bits sequence
+ // that will end on an even 32-bit boundary.
+ unsigned long X1Abits;
+ unsigned long X1Bbits;
+ X1Aepoch = 1;
+ X1Acount = 0;
+ X1Bepoch = 1;
+ X1Bcount = 0;
+ lengthOfX1BSequence = XB_COUNT;
+
+ while ( X1Word < NUM_6SEC_WORDS )
+ {
+ // Get 32 X1A bits. Update counters and handle rollovers.
+ X1Abits = X1A[X1Acount];
+ X1Acount += MAX_BIT;
+
+ if ( X1Acount >= XA_COUNT )
+ {
+ ++X1Aepoch;
+ if (X1Aepoch>XA_MAX_EPOCH)
+ {
+ ++X1epoch;
+ X1Aepoch = 1;
+ }
+ X1Acount = X1Acount - XA_COUNT;
+ }
+
+ // Get 32 X1B bits. Update counters and handle rollovers
+ X1Bbits = X1B[X1Bcount];
+ X1Bcount += MAX_BIT;
+ if (X1Bcount >= lengthOfX1BSequence )
+ {
+ X1Bcount = X1Bcount - lengthOfX1BSequence;
+ ++X1Bepoch;
+ if (X1Bepoch>XB_MAX_EPOCH) X1Bepoch = 1;
+ if (X1Bepoch==XB_MAX_EPOCH)
+ lengthOfX1BSequence = XB_COUNT+XB_EPOCH_DELAY;
+ else
+ lengthOfX1BSequence = XB_COUNT;
+ X1B.setLengthOfSequence( lengthOfX1BSequence );
+ }
+
+ X1Bits[X1Word++] = X1Abits ^ X1Bbits;
+ }
+
+ isInit = true;
+ }
+
+ void X1Sequence::deAllocateMemory()
+ {
+ if (isInit!=true || X1Bits==0)
+ {
+ gpstk::Exception e("X1Sequence::deAllocateMemory() called when no memory allocated.");
+ GPSTK_THROW(e);
+ }
+ delete [] X1Bits;
+ isInit = false;
+ }
+
+} // end of namespace
+
diff --git a/trunk/src/X1Sequence.hpp b/trunk/src/X1Sequence.hpp
new file mode 100644
index 0000000..1190dc3
--- /dev/null
+++ b/trunk/src/X1Sequence.hpp
@@ -0,0 +1,132 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/X1Sequence.hpp#2 $"
+// X1Sequence.cpp - GPS X1 Seqeuncer
+
+#ifndef X1SEQUENCE_HPP
+#define X1SEQUENCE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+ // Project headers
+#include "PCodeConst.hpp"
+
+namespace gpstk
+{
+/** @addtogroup code */
+//@{
+ /**
+ * GPS X1 Sequencer.
+ * Applied Research Laboratories, The University of Texas at Austin
+ * August 2003
+ *
+ * X1Sequence is contains
+ * a six-second (four Z-count) sequence of the combined X1A/X1B data
+ * for the GPS constellation. The X1 sequence repeats every 1.5s
+ * (each X1 epoch) and is identical for all SVs and all 1.5s epochs.
+ * In this case, 6 seconds of bitstream is generated and stored
+ * because this set of code "thinks" in term of 32-bit words and
+ * a 1.5s epoch doesn't contain an integer number of 32-bit words
+ * of packed bits) - there's a .25 word (8 bit) remainder.
+ * Therefore, a six second seqeunce DOES include an even mulitple
+ * of 32 bits, which greatly simplifies handling of the data.
+ *
+ * Six seconds of X1 bits is a significant amount of data:
+ * X1 Epoch = 4092 X1A bits * 3750 X1A cycles = 15,345,000 bits
+ * 6 s = 4 X1 Epoch = 4 * bits = 4 * 15,345,000 = 61,380,000 bits.
+ * The number of 32 bit words required equals
+ * 61,380,000 bits / 32 bits/word = 1,918,125 words
+ */
+ class X1Sequence
+ {
+ public:
+ /**
+ * Initialize the member variables associated with this object.
+ * In the case of this class, this is a significant amount of
+ * work. The X1A/X1B process described in ICD-GPS-200B is followed
+ * in order to fill the X1Bits array.
+ */
+ X1Sequence();
+ ~X1Sequence( ) {};
+
+ /** The X1 sequence requires a 6-second buffer of 10MBit/sec
+ * samples. This comes to approximately 2 million four-byte
+ * unsigned integers. These data are the same for all PRN codes
+ * To minimize the memory footprint, these data are stored
+ * in a dynamically-allocated static array. It is
+ * - - - - NECESSARY - - - -
+ * that the calling method call X1Sequence::allocateMemory()
+ * PRIOR to instantiating the first X1Sequence object.
+ * X1Sequence::allocateMemory() should only be called once.
+ * Violation of either condition will result in a
+ * gpstk::Exception thrown from either X1Sequence::X1Sequence()
+ * or X1Sequence::allocateMemory().
+ *
+ * The X1Sequence::deAllocateMemory() method may be called to
+ * release the memory (if desired) but it should only be called
+ * after all X1Sequence objects have been "destroyed".
+ */
+ static void allocateMemory( );
+ static void deAllocateMemory( );
+
+ unsigned long & operator[]( int i );
+ /**
+ * Given a word number from 0 to NUM_6SEC_WORDS, return the
+ * requested word.
+ */
+ const unsigned long & operator[] ( int i ) const;
+
+ private:
+ static unsigned long* X1Bits;
+ static bool isInit;
+ };
+
+ inline unsigned long & X1Sequence::operator[] ( int i )
+ {
+ return(X1Bits[i]);
+ }
+
+ inline const unsigned long & X1Sequence::operator[] ( int i ) const
+ {
+ return(X1Bits[i]);
+ }
+
+} // end of namespace
+#endif // X1SEQUENCE_HPP
diff --git a/trunk/src/X2Sequence.cpp b/trunk/src/X2Sequence.cpp
new file mode 100644
index 0000000..d85e9fb
--- /dev/null
+++ b/trunk/src/X2Sequence.cpp
@@ -0,0 +1,237 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/X2Sequence.cpp#3 $"
+/*
+* X2Sequence.cpp
+* GPS X2 Sequencer.
+* Applied Research Laboratories, The University of Texas at Austin
+* August 2003
+*/
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+ // Language headers
+#include <stdio.h>
+#include <string>
+
+ // Project headers
+#include "Exception.hpp"
+#include "GenXSequence.hpp"
+#include "X2Sequence.hpp"
+
+namespace gpstk
+{
+ // Static Variable Definition
+ bool X2Sequence::isInit = false;
+ unsigned long* X2Sequence::X2Bits = 0;
+ unsigned long* X2Sequence::X2BitsEOW = 0;
+
+ // See program x2EOW.cpp for derivation of these values
+ unsigned long X2Sequence::EOWEndOfSequence[LENGTH_OF_EOW_OVERLAP] =
+ {
+ 0xFA5F8298, 0xB30C04D9, 0xD5CACBCA, 0x0ED47FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+ 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
+ };
+
+ X2Sequence::X2Sequence( )
+ {
+ if (isInit!=true)
+ {
+ gpstk::Exception e(
+ "Must call X2Sequence::allocateMemory() before instantiating a X2Sequence object.");
+ GPSTK_THROW(e);
+ }
+
+ // This must be done for each object in order to initialize the
+ // bitsP pointer to the correct buffer of bits.
+ setEOWX2Epoch(false);
+ }
+
+ void X2Sequence::allocateMemory( )
+ {
+ int X2Aepoch;
+ int X2Acount;
+ int X2Bepoch;
+ int X2Bcount;
+ int X2epoch = 1;
+ long X2Word = 0;
+ long X2Count = 0;
+ int lengthOfX2ASequence;
+ int lengthOfX2BSequence;
+
+ if (isInit==true)
+ {
+ gpstk::Exception e ("X2Sequence::allocateMemory() called multiple times");
+ GPSTK_THROW(e);
+ }
+
+ X2Bits = new unsigned long[NUM_X2_WORDS];
+ X2BitsEOW = new unsigned long[NUM_X2_WORDS];
+ if (X2Bits==0 || X2BitsEOW==0)
+ {
+ gpstk::Exception e ("X2Sequence::allocateMemory() - allocation failed.");
+ GPSTK_THROW(e);
+ }
+
+ // Last words of X2Bits and X2BitsEOW are only partially filled.
+ // Initialize to 0 to avoid confusion.
+ X2Bits[NUM_X2_WORDS-1] = 0x00000000;
+ X2BitsEOW[NUM_X2_WORDS-1] = 0x00000000;
+
+ // Generate the X2A and X2B sequences.
+ gpstk::GenXSequence X2A( X2A_INIT, X2A_TAPS, XA_COUNT,
+ XA_EPOCH_DELAY+X2A_EPOCH_DELAY);
+ gpstk::GenXSequence X2B( X2B_INIT, X2B_TAPS, XB_COUNT,
+ XB_EPOCH_DELAY+X2A_EPOCH_DELAY);
+
+ /*
+ In order to handle the beginning of week case, obtain the
+ initial X2 bit, then copy this bit into the first 37 bit
+ positions of the X2 sequence. The X2Ainit and X2Binit variables
+ are purposely chosen to be SIGNED integers to take advantage of
+ the arithmetic shift behavior.
+ */
+ unsigned long firstTest = X2A[0] ^ X2B[0];
+ if (firstTest & 0x80000000 )
+ X2Bits[0] = 0xFFFFFFFF;
+ else
+ X2Bits[0] = 0x00000000;
+
+ X2Bits[1] = firstTest >> 5;
+ X2Bits[1] |= ( X2Bits[0] & 0xF8000000 );
+
+ /*
+ Previous section handled the beginning of week 37 chip delay
+ plus the first 27 chips (64 bits - 37 chip = 27) of the X2
+ cycle. Set the counters accordingly and start retrieving bits.
+ The combination will be performed for four X2 epochs.
+ This will generate six seconds+ of X2 bits sequence.
+ */
+ unsigned long X2Abits;
+ unsigned long X2Bbits;
+ X2Aepoch = 1;
+ X2Acount = 27;
+ X2Bepoch = 1;
+ X2Bcount = 27;
+ X2Word = 2;
+ X2Count = X2Word * MAX_BIT;
+
+ lengthOfX2ASequence = XA_COUNT;
+ X2A.setLengthOfSequence( lengthOfX2ASequence );
+
+ lengthOfX2BSequence = XB_COUNT;
+ X2B.setLengthOfSequence( lengthOfX2BSequence );
+
+ while ( X2Count < MAX_X2_COUNT )
+ {
+ // Get 32 X2A bits. Update counters and handle rollovers.
+ X2Abits = X2A[X2Acount];
+ X2Acount += MAX_BIT;
+
+ if ( X2Acount >= lengthOfX2ASequence )
+ {
+ X2Acount = X2Acount - lengthOfX2ASequence;
+ ++X2Aepoch;
+ if (X2Aepoch>XA_MAX_EPOCH)
+ {
+ ++X2epoch;
+ X2Aepoch = 1;
+ }
+ if (X2Aepoch==XA_MAX_EPOCH)
+ lengthOfX2ASequence = XA_COUNT+X2A_EPOCH_DELAY;
+ else
+ lengthOfX2ASequence = XA_COUNT;
+ X2A.setLengthOfSequence( lengthOfX2ASequence );
+ }
+
+ // Get 32 X2B bits. Update counters and handle rollovers
+ X2Bbits = X2B[X2Bcount];
+ X2Bcount += MAX_BIT;
+ if (X2Bcount >= lengthOfX2BSequence )
+ {
+ X2Bcount = X2Bcount - lengthOfX2BSequence;
+ ++X2Bepoch;
+ if (X2Bepoch>XB_MAX_EPOCH) X2Bepoch = 1;
+ if (X2Bepoch==XB_MAX_EPOCH)
+ lengthOfX2BSequence = XB_COUNT+XB_EPOCH_DELAY+X2A_EPOCH_DELAY;
+ else
+ lengthOfX2BSequence = XB_COUNT;
+ X2B.setLengthOfSequence( lengthOfX2BSequence );
+ }
+
+ X2Bits[X2Word++] = X2Abits ^ X2Bbits;
+ X2Count += MAX_BIT;
+ }
+
+ // At this point, the X2Bits array is complete. Copy the entire
+ // array into X2BitsEOW, then overlay the EOW section into the
+ // appropriate place.
+ const size_t numBytesPerWord = 4;
+ size_t numBytes = NUM_X2_WORDS * numBytesPerWord;
+ memcpy( X2BitsEOW, X2Bits, numBytes );
+ numBytes = LENGTH_OF_EOW_OVERLAP * numBytesPerWord;
+ memcpy( (void *) &X2BitsEOW[OVERLAP_WORD_POSITION], EOWEndOfSequence, numBytes );
+
+ isInit = true;
+ }
+
+ void X2Sequence::deAllocateMemory()
+ {
+ if (isInit!=true || X2Bits==0 || X2BitsEOW==0)
+ {
+ gpstk::Exception e("X2Sequence::deAllocateMemory() called when no memory allocated.");
+ GPSTK_THROW(e);
+ }
+ delete [] X2Bits;
+ delete [] X2BitsEOW;
+ isInit = false;
+ }
+
+ void X2Sequence::setEOWX2Epoch( const bool tf )
+ {
+ if (tf) bitsP = X2BitsEOW;
+ else bitsP = X2Bits;
+ }
+
+} // end of namespace
diff --git a/trunk/src/X2Sequence.hpp b/trunk/src/X2Sequence.hpp
new file mode 100644
index 0000000..ed40091
--- /dev/null
+++ b/trunk/src/X2Sequence.hpp
@@ -0,0 +1,294 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/X2Sequence.hpp#2 $"
+// X2Sequence.hpp - GPS X2 Sequencer
+
+#ifndef X2SEQUENCE_HPP
+#define X2SEQUENCE_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+ // Local headers
+#include "PCodeConst.hpp"
+#include "mergePCodeWords.h"
+
+namespace gpstk
+{
+/** @addtogroup code */
+//@{
+
+ /*
+ The following constants are derived in x2EOW.cpp and
+ used as literals here.
+ */
+ const long LENGTH_OF_EOW_OVERLAP = 34;
+ const long OVERLAP_WORD_POSITION = 1451897;
+ // Maximum number of X2 chips (exclusive of BOW delay chips)
+ const long MAX_X2_TEST = 4 * ((XA_COUNT * XA_MAX_EPOCH) + X2A_EPOCH_DELAY);
+ // Maximum number of X2 chips
+ const long MAX_X2_COUNT = X2A_EPOCH_DELAY + MAX_X2_TEST;
+
+ /**
+ * GPS X2 Sequencer.
+ * Applied Research Laboratories, The University of Texas at Austin
+ * August 2003
+ *
+ * X2Sequence is a static class (one instance per executable) that
+ * contains a little more than a six-second (four Z-count) sequence
+ * of the combined X2A/X2B data for the GPS constellation. The
+ * X2 sequence repeats roughly every 1.5s (each X1 epoch) and is
+ * identical for all SVs. The progressive "slip" in the relative
+ * relationship between X1 and X2 is responsible for progressing the
+ * P-code bitstream in time while a beginning of week offset is
+ * responsible to differentiating between unique satellite codes.
+ *
+ * These two slips are responsbile for some special circumstances in
+ * the X2 bit sequence. The satelite differentiation is handled by
+ * "holding" the X2 state at the beginning of week bit for a delay
+ * equivalent to the PRN ID of the satellite. This is handled by
+ * replicating the first bit of the combined X2A/X2B bitstream 37
+ * times at the front of the bit sequence. Therefore, a bit index
+ * of "1" will be internally interpreted as 38. At the beginning
+ * of the week, the calling application shall coerce the beginning
+ * bit of the first call to X2 sequence to be 1-PRNID.
+ *
+ * The other delay is a 37 chip delay at the end of each X2A epoch.
+ * During this delay, the X2 state is "held" in the final bit state.
+ *
+ * Given these considerations, the following caluclations derive the
+ * number of bits that make up an X2Sequence and the number of unsigned
+ * 32-bit words required to hold these bits:
+ *
+ * Base number of bits in a X2A epoch: 4092 chips
+ * Number of X2A epochs in an X2 Epoch: 3750 epochs (cycles)
+ * Delay at end of each X2 Epoch: 37 chips
+ * Number of bits required for a SINGLE X2 Epoch:
+ * 4092 * 3750 + 37 = 15,345,037 bits.
+ * Number of bits in FOUR X2 Epochs (corresponding to FOUR X1 Epochs):
+ * 4 * 15,345,037 = 61,380,148 bits.
+ * Number of PRN delay bits to be added to FRONT of array to be us
+ * at the beginning of week: 37.
+ *
+ * Total number of bits required: 61,380,148 + 37 = 61,380,185 bits.
+ * Number of 32 bit words required:
+ * 61,380,185 / 32 = 1,918,131 (1,918,130 Remainder of 25).
+ *
+ * SPECIAL CONDITION
+ * The final X2 sequence of the week is both truncated and unique.
+ * X2Sequence makes special provision for handing this condition. The
+ * final X2 epoch starts well into the final X1 epoch, consequently,
+ * the final X2 epoch contains ?? X2A cycles at which point, the final
+ * X2A chips is "held" until week rollover occurs. The final X2 epoch
+ * contains ?? X2B cycles at which point, the final X2B chip is "held"
+ * (repeated) until week rollover occurs. This means bits ??-?? of the
+ * X2Sequence differ for this final cycle (and the end of this final X2
+ * cycle is at bit ??).
+ *
+ * It's important to avoid having a conditional in the inline subscript
+ * operator. Therefore, the design implements two buffers. Each are
+ * 6+ seconds long. The two buffers only differ in the 1069 chip span
+ * (34 words) where there are two different patterns.
+ *
+ * The internal points unsigned long *bitsP is used to track which buffer
+ * (X2bits[] or X2bitsEOW[] is in use at a particular time. The method
+ * setEOWX2Epoch( bool tf ) is used to control the buffer to which *bitsP
+ * currently points. X2Sequence initialize2 the bitsP pointer to point
+ * to the regular array. The calling application will need to manage
+ * the timing of calling setEOWX2Epoch. This needs to be done for EACH
+ * X2Sequence object - X2Bits and X2BitsEOW are static, but the bitsP
+ * pointer is a member veriable of the class and NOT static.
+ */
+ class X2Sequence
+ {
+ public:
+ /** Initialize the local variables associated with
+ * this object. In the case of this class, this is a significant
+ * amount of work. The X2A/X2B process described in ICD-GPS-200B
+ * is followed in order to fill the X2Bits array.
+ */
+ X2Sequence();
+ ~X2Sequence( ) {};
+
+ /** The X2 sequence requires two 6-second buffers of 10MBit/sec
+ * samples. This comes to approximately 4 million four-byte
+ * unsigned integers. These data are the same for all PRN codes
+ * To minimize the memory footprint, these data are stored
+ * in a dynamically-allocated static array. It is
+ * - - - - NECESSARY - - - -
+ * that the calling method call X2Sequence::allocateMemory()
+ * PRIOR to instantiating the first X2Sequence object.
+ * X2Sequence::allocateMemory() should only be called once.
+ * Violation of either condition will result in a
+ * gpstk::Exception thrown from either X2Sequence::X2Sequence()
+ * or X2Sequence::allocateMemory().
+ *
+ * The X2Sequence::deAllocateMemory() method may be called to
+ * release the memory (if desired) but it should only be called
+ * after all X2Sequence objects have been "destroyed".
+ */
+ static void allocateMemory( );
+ static void deAllocateMemory( );
+
+ /** Given a bit number from -37 to X2Length-37, stuff the 32 bits
+ * starting with that bit and continuing for the next 31 bits into
+ * an unsigned long and return this as the result. Conditional
+ * code (compiled only for debug) will confirm that the requested
+ * bit number is >=-37 and <(61,380,185-32) and will halt the
+ * program if this assertion is violated.
+ * NOTE: operator[] should never have to worry about rollovers.
+ * The length of the X2 array shall be set such that the maximum
+ * number of X2 bits needed will be available. The reset will be
+ * driven by the occurrence of the next X1 epoch and be tracked
+ * one level up in the corresponding SVPcodeGen object.
+ */
+ unsigned long operator[]( long i );
+
+ /** Controls whether the X2 Epoch is set to EOW condition
+ * or normal condition. Should only be set true for the final
+ * X2 epoch of the week.
+ */
+ void setEOWX2Epoch( const bool tf );
+
+ private:
+ unsigned long *bitsP;
+ static unsigned long* X2Bits;
+ static unsigned long* X2BitsEOW;
+ static unsigned long EOWEndOfSequence[LENGTH_OF_EOW_OVERLAP];
+ static bool isInit;
+ };
+
+ /*
+ Given a bit position within the X2 sequence (numbered starting at -37),
+ return the next 32 bits. Note: if there are insufficient bits left
+ to fill the request, wrap around to the beginning of the sequence.
+ */
+ inline unsigned long X2Sequence::operator[] ( long i )
+ {
+ long adjustedCount = i + X2A_EPOCH_DELAY;
+
+ unsigned long retArg;
+ int ndx1 = adjustedCount / MAX_BIT;
+ int offset = adjustedCount - (ndx1 * MAX_BIT);
+ if ( (adjustedCount+MAX_BIT) <= MAX_X2_COUNT )
+ {
+ if (offset==0) retArg = bitsP[ndx1];
+ else retArg = merge( bitsP[ndx1], bitsP[ndx1+1], offset );
+ }
+ /*
+ Complicated case when coming up to end of sequence. May have to
+ put together parts of up to three words to get 32 bits. The problem
+ is complicated because the word at the end of the array is partial
+ AND the beginning of sequence (BOW) occurs in mid-word due to the
+ PRN offset. Some numbers:
+
+ Number of bits available in word N : 25
+ Number of bits available in word at BOS : 27
+
+ Possible cases:
+ 1.) Combine bits from [n-1], [n], and [BOS] - word n will provide
+ 25 bits. Therefore, some combination of (n-1,BOS) from the
+ choice of (1,4), (2,3), (3,2), (4,1).
+
+ 2.) Combine bits from [n-1] and [BOS] - word n-1 will provide 25-5
+ bits. Therefore, BOS will provide 7-27 bits.
+
+ 3.) Combine bits from [n-1], [BOS], and [BOS+1] - word n-1 provides
+ 4-1 bits. BOS provides 27 bits (running total to 31-28 bits).
+ BOS+1 provides 1-4 bits.
+ */
+ else
+ {
+ retArg = 0L;
+ int numRemainingInSequence = MAX_X2_COUNT - adjustedCount;
+ int numRemainingInWord;
+ int numFilled = 0;
+
+ // Handle word n-1
+ if (ndx1==NUM_X2_WORDS-2)
+ {
+ numRemainingInWord = MAX_BIT - offset;
+ retArg = bitsP[ndx1++] << offset;
+ numFilled = numRemainingInWord;
+ numRemainingInSequence -= numRemainingInWord;
+ }
+
+ // Handle word n
+ unsigned long temp = bitsP[ndx1];
+ numRemainingInWord = numRemainingInSequence;
+ temp >>= (MAX_BIT-numRemainingInWord);
+ temp <<= (MAX_BIT-(numRemainingInWord+numFilled));
+ retArg |= temp;
+ numFilled += numRemainingInSequence;
+
+ // Wrap to front. Recall that "front" is actually bit
+ // 37 in sequence due to "beginning of week" delay
+ numRemainingInWord = (2 * MAX_BIT) - X2A_EPOCH_DELAY;
+ int numNeeded = MAX_BIT - numFilled;
+
+ // Case where all bits needed are in word 1 of sequence array
+ //(which only has 27 "useful" bits)
+ if (numNeeded <= numRemainingInWord)
+ {
+ temp = bitsP[1] << (MAX_BIT - numRemainingInWord);
+ temp >>= (MAX_BIT - numNeeded);
+ retArg |= temp;
+ }
+ // Case where all bits in word 1 are needed plus some bits in word 2.
+ else
+ {
+ // Clearing high-order bits
+ temp = bitsP[1] << (MAX_BIT - numRemainingInWord);
+ temp >>= (MAX_BIT - numRemainingInWord);
+ temp <<= (MAX_BIT - (numRemainingInWord+numFilled));
+ retArg |= temp;
+
+ // Fetch remaining bits from next word
+ numFilled += numRemainingInWord;
+ numNeeded = MAX_BIT - numFilled;
+ temp = bitsP[2] >> (MAX_BIT - numNeeded);
+ retArg |= temp;
+ }
+ }
+ return(retArg);
+ }
+ //@}
+} // end of namespace
+
+#endif // X2SEQUENCE_HPP
diff --git a/trunk/src/Xvt.cpp b/trunk/src/Xvt.cpp
new file mode 100644
index 0000000..db42ea0
--- /dev/null
+++ b/trunk/src/Xvt.cpp
@@ -0,0 +1,123 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Xvt.cpp#2 $"
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file Xvt.cpp
+ * Position, velocity, and clock representation as ECEF, Triple and double
+ */
+
+#include "GeoidModel.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+
+ /*
+ * Function to find the range and position from a ground
+ * location, rxPos, to the spacecraft position (*this).x.
+ *
+ * Use the pseudorange corrected for SV clock effects to get a
+ * rough time of flight (dt). Account directly for Earth
+ * rotation, then compute a rough receiver bias by differencing
+ * the initial time of flight with the new estimate. Then
+ * correct the rotation by a small amount.
+ */
+ double Xvt :: preciseRho(const ECEF& rxPos,
+ const GeoidModel& geoid,
+ double correction) const
+ throw()
+ {
+ // Compute initial time of flight estimate using the
+ // geometric range at transmit time. This fails to account
+ // for the rotation of the earth, but should be good to
+ // within about 40 m
+ double sr1 = rxPos.slantRange(x);
+ double dt = sr1 / geoid.c();
+
+ // compute rotation angle in the time of signal transit
+ double rotation_angle = -geoid.angVelocity() * dt;
+
+ // rotate original GS coordinates to new values to correct for
+ // rotation of ECEF frame
+ // Ref: Satellite Geodesy, Gunter Seeber, 1993, pg 291 and the
+ // ICD-GPS-200 sheet 102 May 1993 version
+ // xnew[0]=xg[0]*cos(rotation_angle)-xg[1]*sin(rotation_angle);
+ // xnew[1]=xg[1]*cos(rotation_angle)+xg[0]*sin(rotation_angle);
+ // xnew[2]=xg[2];
+ // since cosine and sine are small, approximate by the first
+ // order terms in an expansion.
+ Triple xnew;
+ for (int i = 0; i < 2; i++)
+ {
+ xnew[0] = x[0] - x[1] * rotation_angle;
+ xnew[1] = x[1] + x[0] * rotation_angle;
+ xnew[2] = x[2];
+
+ // Compute geometric slant range from ground station to
+ // the rotated new coord's
+ sr1 = rxPos.slantRange(xnew);
+
+ // Recompute the time of flight (dt) based on PR, with the
+ // time of flight based on geometric range. Note that
+ // this is a really unneeded, in that the change in PR is
+ // < 40 m, hence the change in tof is < 20 ns
+ dt = sr1 / geoid.c();
+
+ // Compute new rotation in this time
+ rotation_angle = -geoid.angVelocity() * dt;
+ }
+ // Account for SV clock drift and other factors
+ double rho = sr1 - (dtime * geoid.c()) - correction;
+ return rho;
+ } // end of preciseRho()
+}
+
+std::ostream& operator<<( std::ostream& s,
+ const gpstk::Xvt& xvt )
+{
+ s << "x:" << xvt.x
+ << ", v:" << xvt.v
+ << ", clk bias:" << xvt.dtime
+ << ", clk drift:" << xvt.ddtime;
+ return s;
+}
diff --git a/trunk/src/Xvt.hpp b/trunk/src/Xvt.hpp
new file mode 100644
index 0000000..b165b6b
--- /dev/null
+++ b/trunk/src/Xvt.hpp
@@ -0,0 +1,101 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Xvt.hpp#2 $"
+
+/**
+ * @file Xvt.hpp
+ * Position, velocity, and clock representation as ECEF, Triple and double
+ */
+
+#ifndef GPSTK_XVT_HPP
+#define GPSTK_XVT_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include "Triple.hpp"
+#include "ECEF.hpp"
+#include "GeoidModel.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup geodeticgroup */
+ //@{
+
+ /// An Earth-Centered, Earth-Fixed position/velocity/clock representation
+ class Xvt
+ {
+ public:
+ /// Default constructor
+ Xvt() { }
+
+ ECEF x; ///< SV position (x,y,z). Earth-fixed. meters
+ Triple v; ///< SV velocity. Earth-fixed, including rotation. meters/sec
+ double dtime; ///< SV clock correction in seconds
+ double ddtime; ///< SV clock drift in sec/sec
+
+ /**
+ * Given a the position of a ground location, compute the range
+ * to the spacecraft position.
+ * @param rxPos ground position at broadcast time in ECEF.
+ * @param geoid geodetic parameters.
+ * @param correction offset in meters (include any factors other
+ * than the SV clock correction).
+ * @return Range in meters
+ */
+ double preciseRho(const ECEF& rxPos,
+ const GeoidModel& geoid,
+ double correction = 0) const
+ throw();
+ };
+
+ //@}
+
+}
+
+/**
+ * Output operator for Xvt
+ * @param s output stream to which \c xvt is sent
+ * @param xvt Xvt that is sent to \c s
+ */
+std::ostream& operator<<( std::ostream& s,
+ const gpstk::Xvt& xvt );
+
+#endif
diff --git a/trunk/src/YDSTime.cpp b/trunk/src/YDSTime.cpp
new file mode 100644
index 0000000..a483348
--- /dev/null
+++ b/trunk/src/YDSTime.cpp
@@ -0,0 +1,202 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/YDSTime.cpp#4 $"
+
+#include "YDSTime.hpp"
+#include "TimeConverters.hpp"
+
+namespace gpstk
+{
+ const std::string YDSTime::printChars( "Yyjs" );
+ const std::string YDSTime::defaultFormat( "%04Y/%03j %s" );
+
+ YDSTime& YDSTime::operator=( const YDSTime& right )
+ throw()
+ {
+ year = right.year;
+ doy = right.doy;
+ sod = right.sod;
+ return *this;
+ }
+
+ CommonTime YDSTime::convertToCommonTime() const
+ {
+ long jday = convertCalendarToJD( year, 1, 1 ) + doy - 1;
+ return CommonTime( jday, sod );
+ }
+
+ void YDSTime::convertFromCommonTime( const CommonTime& ct )
+ {
+ long jday, secDay;
+ double fsecDay;
+ ct.get( jday, secDay, fsecDay );
+ sod = static_cast<double>( secDay ) + fsecDay;
+
+ int month, day;
+ convertJDtoCalendar( jday, year, month, day );
+ doy = jday - convertCalendarToJD( year, 1, 1 ) + 1;
+ }
+
+ std::string YDSTime::printf( const std::string& fmt ) const
+ throw( gpstk::StringUtils::StringException )
+ {
+ try
+ {
+ using gpstk::StringUtils::formattedPrint;
+ std::string rv = fmt;
+
+ rv = formattedPrint( rv, formatPrefixInt + "Y",
+ "Yhd", year);
+ rv = formattedPrint(rv, formatPrefixInt + "y",
+ "yhd", static_cast<short>(year % 100));
+ rv = formattedPrint( rv, formatPrefixInt + "j",
+ "jhd", doy);
+ rv = formattedPrint( rv, formatPrefixFloat + "s",
+ "sf", sod);
+ return rv;
+ }
+ catch( gpstk::StringUtils::StringException& exc)
+ {
+ GPSTK_RETHROW( exc );
+ }
+ }
+
+ bool YDSTime::setFromInfo( const IdToValue& info )
+ throw()
+ {
+ using namespace gpstk::StringUtils;
+
+ bool hyear( false ), hdoy( false ), hsod( false );
+ int iyear( 0 ), idoy( 0 );
+ double isod( 0. );
+
+ for( IdToValue::const_iterator i = info.begin();
+ i != info.end(); i++ )
+ {
+ switch( i->first )
+ {
+ case 'Y':
+ iyear = asInt( i->second );
+ hyear = true;
+ break;
+
+ case 'y':
+ switch( i->second.length() )
+ {
+ case 2:
+ iyear = asInt( i->second ) + 1900;
+ if( iyear < 1980 )
+ iyear += 100;
+ break;
+ case 3:
+ iyear = asInt( i->second ) + 1000;
+ if( iyear < 1980 )
+ iyear += 100;
+ break;
+ default:
+ iyear = asInt( i->second );
+ break;
+ };
+ hyear = true;
+ break;
+
+ case 'j':
+ idoy = asInt( i->second );
+ hdoy = true;
+ break;
+
+ case 's':
+ isod = asDouble( i->second );
+ hsod = true;
+ break;
+
+ default:
+ // do nothing
+ break;
+ };
+ }
+
+ if( hyear )
+ {
+ year = iyear;
+ doy = idoy;
+ sod = isod;
+ return true;
+ }
+
+ return false;
+ }
+
+ bool YDSTime::isValid() const
+ throw()
+ {
+ YDSTime temp;
+ temp.convertFromCommonTime( convertToCommonTime() );
+ if( *this == temp )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool YDSTime::operator==( const YDSTime& right ) const
+ throw()
+ {
+ if( year == right.year &&
+ doy == right.doy &&
+ sod == right.sod )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool YDSTime::operator!=( const YDSTime& right ) const
+ throw()
+ {
+ return (! operator==( right ) );
+ }
+
+ bool YDSTime::operator<( const YDSTime& right ) const
+ throw()
+ {
+ if( year < right.year )
+ {
+ return true;
+ }
+ if( year > right.year )
+ {
+ return false;
+ }
+ if( doy < right.doy )
+ {
+ return true;
+ }
+ if( doy > right.doy )
+ {
+ return false;
+ }
+ if( sod < right.sod )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ bool YDSTime::operator>( const YDSTime& right ) const
+ throw()
+ {
+ return (! operator<=( right ) );
+ }
+
+ bool YDSTime::operator<=( const YDSTime& right ) const
+ throw()
+ {
+ return ( operator<( right ) || operator==( right ) );
+ }
+
+ bool YDSTime::operator>=( const YDSTime& right ) const
+ throw()
+ {
+ return (! operator<( right ) );
+ }
+
+} // namespace
diff --git a/trunk/src/YDSTime.hpp b/trunk/src/YDSTime.hpp
new file mode 100644
index 0000000..f7f0bff
--- /dev/null
+++ b/trunk/src/YDSTime.hpp
@@ -0,0 +1,151 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/YDSTime.hpp#4 $"
+
+#ifndef GPSTK_YDSTIME_HPP
+#define GPSTK_YDSTIME_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+ /**
+ * This class encapsulates the "year, day-of-year, and seconds-of-day"
+ * time format.
+ */
+ class YDSTime : public TimeTag
+ {
+ public:
+
+ static const std::string printChars;
+ static const std::string defaultFormat;
+
+ /**
+ * @defgroup ydstbo YDSTime Basic Operations
+ * Default and Copy Constructors, Assignment Operator and Destructor.
+ */
+ //@{
+ /**
+ * Default Constructor.
+ * All elements are set to zero by default.
+ */
+ YDSTime( long y = 0,
+ long d = 0,
+ double s = 0.)
+ throw()
+ : year(y), doy(d), sod(s)
+ {}
+
+ /** Copy Constructor.
+ * @param right a const reference to the YDSTime object to copy
+ */
+ YDSTime( const YDSTime& right )
+ throw()
+ : year( right.year ), doy( right.doy ), sod( right.sod )
+ {}
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const TimeTag reference and copies its contents via
+ * conversion to CommonTime.
+ * @param right a const reference to the TimeTag-based object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ YDSTime( const TimeTag& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right.convertToCommonTime() );
+ }
+
+ /**
+ * Alternate Copy Constructor.
+ * Takes a const CommonTime reference and copies its contents via
+ * the convertFromCommonTime method.
+ * @param right a const reference to the CommonTime object to copy
+ * @throw InvalidRequest on over-/under-flow
+ */
+ YDSTime( const CommonTime& right )
+ throw( InvalidRequest )
+ {
+ convertFromCommonTime( right );
+ }
+
+ /**
+ * Assignment Operator.
+ * @param right a const reference to the YDSTime object to copy
+ * @return a reference to this YDSTime
+ */
+ YDSTime& operator=( const YDSTime& right )
+ throw();
+
+ /// Virtual Destructor.
+ virtual ~YDSTime()
+ throw()
+ {}
+ //@}
+
+ // The following functions are required by TimeTag.
+ virtual CommonTime convertToCommonTime() const;
+
+ virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+ /// This function formats this time to a string. The exceptions
+ /// thrown would only be due to problems parsing the fmt string.
+ virtual std::string printf(const std::string& fmt) const
+ throw( gpstk::StringUtils::StringException );
+
+ /**
+ * Set this object using the information provided in \a info.
+ * @param info the IdToValue object to which this object shall be set.
+ * @return true if this object was successfully set using the
+ * data in \a info, false if not.
+ */
+ virtual bool setFromInfo( const IdToValue& info )
+ throw();
+
+ /// Return a string containing the characters that this class
+ /// understands when printing times.
+ virtual std::string getPrintChars() const
+ throw()
+ {
+ return printChars;
+ }
+
+ /// Return a string containing the default format to use in printing.
+ virtual std::string getDefaultFormat() const
+ throw()
+ {
+ return defaultFormat;
+ }
+
+ virtual bool isValid() const
+ throw();
+
+ /**
+ * @defgroup ydstco YDSTime Comparison Operators
+ * All comparison operators have a parameter "right" which corresponds
+ * to the YDSTime object to the right of the symbol.
+ * All comparison operators are const and return true on success
+ * and false on failure.
+ */
+ //@{
+ bool operator==( const YDSTime& right ) const
+ throw();
+ bool operator!=( const YDSTime& right ) const
+ throw();
+ bool operator<( const YDSTime& right ) const
+ throw();
+ bool operator>( const YDSTime& right ) const
+ throw();
+ bool operator<=( const YDSTime& right ) const
+ throw();
+ bool operator>=( const YDSTime& right ) const
+ throw();
+ //@}
+
+ int year;
+ int doy;
+ double sod;
+ };
+
+} // namespace
+
+#endif // GPSTK_YDSTIME_HPP
diff --git a/trunk/src/convhelp.hpp b/trunk/src/convhelp.hpp
new file mode 100644
index 0000000..164b5b1
--- /dev/null
+++ b/trunk/src/convhelp.hpp
@@ -0,0 +1,133 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/convhelp.hpp#1 $"
+
+/**
+ * @file convhelp.hpp
+ * Conversion of units (deg F to C, meters to cycles, etc)
+ */
+
+#ifndef GPSTK_CONVHELP_HPP
+#define GPSTK_CONVHELP_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "GeoidModel.hpp"
+
+namespace gpstk
+{
+ /** @defgroup geodeticgroup Geodetic coordinates and geoids */
+ //@{
+
+ /**
+ * Convert a phase and frequency to meters
+ * @param phase Phase in cycles (radians?)
+ * @param freq Frequency in Hertz
+ * @param geoid geodetic parameters (for c)
+ * @return Range in meters
+ * @see meters2cycles
+ */
+ inline double cycles2meters(double phase, double freq, GeoidModel& geoid)
+ {
+ return geoid.c()/freq * phase;
+ }
+
+ /**
+ * Convert a range and frequency to cycles
+ * @param range Distance in meters
+ * @param freq Frequency in Hertz
+ * @param geoid geodetic parameters (for c)
+ * @return Phase in cycles (radians?)
+ * @see cycles2meters
+ */
+ inline double meters2cycles(double range, double freq, GeoidModel& geoid)
+ {
+ return freq/geoid.c() * range;
+ }
+
+ /**
+ * Convert a temperature from Celsius to Fahrenheit
+ * @param c Temperature in degrees Celsius
+ * @return Temperature in degrees Fahrenheit
+ * @see far2cel
+ */
+ inline double cel2far(double c)
+ {
+ return 9.0 / 5.0 * c + 32;
+ }
+
+ /**
+ * Convert a temperature from Fahrenheit to Celsius
+ * @param f Temperature in degrees Fahrenheit
+ * @return Temperature in degrees Celsius
+ * @see cel2far
+ */
+ inline double far2cel(double f)
+ {
+ return 5.0 / 9.0 * (f - 32);
+ }
+
+ /**
+ * Convert pressure from millibars to inches of mercury
+ * @param mb Pressure in millibars
+ * @return Pressure in inches of mercury
+ * @see hg2mb
+ */
+ inline double mb2hg(double mb)
+ {
+ return mb / 33.8638815789;
+ }
+
+ /**
+ * Convert pressure from inches of mercury to millibars
+ * @param hg Pressure in inches of mercury
+ * @return Pressure in millibars
+ * @see mb2hg
+ */
+ inline double hg2mb(double hg)
+ {
+ return hg * 33.8638815789;
+ }
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/geometry.hpp b/trunk/src/geometry.hpp
new file mode 100644
index 0000000..7a24ea4
--- /dev/null
+++ b/trunk/src/geometry.hpp
@@ -0,0 +1,69 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/geometry.hpp#1 $"
+
+/**
+ * @file geometry.hpp
+ * Geometric constants (radian-degree conversion)
+ */
+
+#ifndef GPSTK_GEOMETRY_HPP
+#define GPSTK_GEOMETRY_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+namespace gpstk
+{
+ /**
+ * @addtogroup geodeticgroup
+ * @name Geometric Constants
+ */
+ //@{
+ //Miscellaneous Parameters
+
+ /// Conversion Factor from degrees to radians (units: degrees^-1)
+ static const double DEG_TO_RAD = 1.7453292519943e-2;
+
+ /// Conversion Factor from radians to degrees (units: degrees)
+ static const double RAD_TO_DEG = 57.295779513082;
+ //@}
+}
+
+#endif
diff --git a/trunk/src/getopt.c b/trunk/src/getopt.c
new file mode 100644
index 0000000..a9bf51d
--- /dev/null
+++ b/trunk/src/getopt.c
@@ -0,0 +1,1059 @@
+/* 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 at gnu.org
+ before changing it!
+ Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001
+ 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., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
+ Ditto for AIX 3.2 and <stdlib.h>. */
+#ifndef _NO_PROTO
+# define _NO_PROTO
+#endif
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#if defined(WIN32) || defined(_WIN32)
+#define HAVE_STRING_H 1
+#endif
+
+#if !defined __STDC__ || !__STDC__
+/* This is a separate conditional since some stdc systems
+ reject `defined (const)'. */
+# ifndef const
+# define const
+# endif
+#endif
+
+#include <stdio.h>
+
+/* 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 <gnu-versions.h>
+# 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. */
+#ifdef __GNU_LIBRARY__
+/* Don't include stdlib.h for non-GNU C libraries because some of them
+ contain conflicting prototypes for getopt. */
+# include <stdlib.h>
+# include <unistd.h>
+#endif /* GNU C library. */
+
+#ifdef VMS
+# include <unixlib.h>
+# if HAVE_STRING_H - 0
+# include <string.h>
+# endif
+#endif
+
+#ifndef _
+/* This is for other GNU distributions with internationalized messages. */
+# if defined HAVE_LIBINTL_H || defined _LIBC
+# include <libintl.h>
+# ifndef _
+# define _(msgid) gettext (msgid)
+# endif
+# else
+# define _(msgid) (msgid)
+# endif
+#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;
+
+/* 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 <string.h>
+# define my_index strchr
+#else
+
+# if HAVE_STRING_H
+# include <string.h>
+# else
+# include <strings.h>
+# endif
+
+/* Avoid depending on library functions or files
+ whose names are inconsistent. */
+
+#ifndef getenv
+extern char *getenv ();
+#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)
+ fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
+ argv[0], argv[optind]);
+ 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 (argv[optind - 1][1] == '-')
+ /* --option */
+ fprintf (stderr,
+ _("%s: option `--%s' doesn't allow an argument\n"),
+ argv[0], pfound->name);
+ else
+ /* +option or -option */
+ fprintf (stderr,
+ _("%s: option `%c%s' doesn't allow an argument\n"),
+ argv[0], argv[optind - 1][0], pfound->name);
+ }
+
+ nextchar += strlen (nextchar);
+
+ optopt = pfound->val;
+ return '?';
+ }
+ }
+ else if (pfound->has_arg == 1)
+ {
+ if (optind < argc)
+ optarg = argv[optind++];
+ else
+ {
+ if (print_errors)
+ fprintf (stderr,
+ _("%s: option `%s' requires an argument\n"),
+ argv[0], argv[optind - 1]);
+ 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 (argv[optind][1] == '-')
+ /* --option */
+ fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
+ argv[0], nextchar);
+ else
+ /* +option or -option */
+ fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
+ argv[0], argv[optind][0], nextchar);
+ }
+ 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 (posixly_correct)
+ /* 1003.2 specifies the format of this message. */
+ fprintf (stderr, _("%s: illegal option -- %c\n"),
+ argv[0], c);
+ else
+ fprintf (stderr, _("%s: invalid option -- %c\n"),
+ argv[0], c);
+ }
+ optopt = c;
+ return '?';
+ }
+ /* 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. */
+ fprintf (stderr, _("%s: option requires an argument -- %c\n"),
+ argv[0], c);
+ }
+ 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)
+ fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
+ argv[0], argv[optind]);
+ 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)
+ fprintf (stderr, _("\
+%s: option `-W %s' doesn't allow an argument\n"),
+ argv[0], pfound->name);
+
+ nextchar += strlen (nextchar);
+ return '?';
+ }
+ }
+ else if (pfound->has_arg == 1)
+ {
+ if (optind < argc)
+ optarg = argv[optind++];
+ else
+ {
+ if (print_errors)
+ fprintf (stderr,
+ _("%s: option `%s' requires an argument\n"),
+ argv[0], argv[optind - 1]);
+ 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. */
+ }
+ 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. */
+ fprintf (stderr,
+ _("%s: option requires an argument -- %c\n"),
+ argv[0], c);
+ }
+ 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;
+ }
+}
+
+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 /* 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 */
diff --git a/trunk/src/getopt.h b/trunk/src/getopt.h
new file mode 100644
index 0000000..b7d1a13
--- /dev/null
+++ b/trunk/src/getopt.h
@@ -0,0 +1,178 @@
+/* Declarations for getopt.
+ Copyright (C) 1989-1994, 1996-1999, 2001 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., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifndef _GETOPT_H
+
+#ifndef __need_getopt
+# define _GETOPT_H 1
+#endif
+
+/* If __GNU_LIBRARY__ is not already defined, either we are being used
+ standalone, or this is the first header included in the source file.
+ If we are being used with glibc, we need to include <features.h>, but
+ that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
+ not defined, include <ctype.h>, which will pull in <features.h> for us
+ if it's from glibc. (Why ctype.h? It's guaranteed to exist and it
+ doesn't flood the namespace with stuff the way some other headers do.) */
+#if !defined __GNU_LIBRARY__
+# include <ctype.h>
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* 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. */
+
+extern 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. */
+
+extern int optind;
+
+/* Callers store zero here to inhibit the error message `getopt' prints
+ for unrecognized options. */
+
+extern int opterr;
+
+/* Set to an option character which was unrecognized. */
+
+extern int optopt;
+
+#ifndef __need_getopt
+/* Describe the long-named options requested by the application.
+ The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
+ of `struct option' terminated by an element containing a name which is
+ zero.
+
+ The field `has_arg' is:
+ no_argument (or 0) if the option does not take an argument,
+ required_argument (or 1) if the option requires an argument,
+ optional_argument (or 2) if the option takes an optional argument.
+
+ If the field `flag' is not NULL, it points to a variable that is set
+ to the value given in the field `val' when the option is found, but
+ left unchanged if the option is not found.
+
+ To have a long-named option do something other than set an `int' to
+ a compiled-in constant, such as set a value from `optarg', set the
+ option's `flag' field to zero and its `val' field to a nonzero
+ value (the equivalent single-letter option character, if there is
+ one). For long options that have a zero `flag' field, `getopt'
+ returns the contents of the `val' field. */
+
+struct option
+{
+# if (defined __STDC__ && __STDC__) || defined __cplusplus
+ const char *name;
+# else
+ char *name;
+# endif
+ /* has_arg can't be an enum because some compilers complain about
+ type mismatches in all the code that assumes it is an int. */
+ int has_arg;
+ int *flag;
+ int val;
+};
+
+/* Names for the values of the `has_arg' field of `struct option'. */
+
+# define no_argument 0
+# define required_argument 1
+# define optional_argument 2
+#endif /* need getopt */
+
+
+/* Get definitions and prototypes for functions to process the
+ arguments in ARGV (ARGC of them, minus the program name) for
+ options given in OPTS.
+
+ Return the option character from OPTS just read. Return -1 when
+ there are no more options. For unrecognized options, or options
+ missing arguments, `optopt' is set to the option letter, and '?' is
+ returned.
+
+ The OPTS string is a list of characters which are recognized option
+ letters, optionally followed by colons, specifying that that letter
+ takes an argument, to be placed in `optarg'.
+
+ If a letter in OPTS is followed by two colons, its argument is
+ optional. This behavior is specific to the GNU `getopt'.
+
+ The argument `--' causes premature termination of argument
+ scanning, explicitly telling `getopt' that there are no more
+ options.
+
+ If OPTS begins with `--', then non-option arguments are treated as
+ arguments to the option '\0'. This behavior is specific to the GNU
+ `getopt'. */
+
+#if (defined __STDC__ && __STDC__) || defined __cplusplus
+# ifdef __GNU_LIBRARY__
+/* Many other libraries have conflicting prototypes for getopt, with
+ differences in the consts, in stdlib.h. To avoid compilation
+ errors, only prototype getopt for the GNU C library. */
+extern int getopt (int __argc, char *const *__argv, const char *__shortopts);
+# endif /* __GNU_LIBRARY__ */
+
+# ifndef __need_getopt
+extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts,
+ const struct option *__longopts, int *__longind);
+extern int getopt_long_only (int __argc, char *const *__argv,
+ const char *__shortopts,
+ const struct option *__longopts, int *__longind);
+
+/* Internal only. Users should not call this directly. */
+extern int _getopt_internal (int __argc, char *const *__argv,
+ const char *__shortopts,
+ const struct option *__longopts, int *__longind,
+ int __long_only);
+# endif
+#else /* not __STDC__ */
+extern int getopt ();
+# ifndef __need_getopt
+extern int getopt_long ();
+extern int getopt_long_only ();
+
+extern int _getopt_internal ();
+# endif
+#endif /* __STDC__ */
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Make sure we later can get all the definitions and declarations. */
+#undef __need_getopt
+
+#endif /* getopt.h */
diff --git a/trunk/src/getopt1.c b/trunk/src/getopt1.c
new file mode 100644
index 0000000..22a7efb
--- /dev/null
+++ b/trunk/src/getopt1.c
@@ -0,0 +1,188 @@
+/* getopt_long and getopt_long_only entry points for GNU getopt.
+ Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
+ 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., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "getopt.h"
+
+#if !defined __STDC__ || !__STDC__
+/* This is a separate conditional since some stdc systems
+ reject `defined (const)'. */
+#ifndef const
+#define const
+#endif
+#endif
+
+#include <stdio.h>
+
+/* 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 <gnu-versions.h>
+#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. */
+#ifdef __GNU_LIBRARY__
+#include <stdlib.h>
+#endif
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+int
+getopt_long (argc, argv, options, long_options, opt_index)
+ int argc;
+ char *const *argv;
+ const char *options;
+ const struct option *long_options;
+ int *opt_index;
+{
+ return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
+}
+
+/* Like getopt_long, but '-' as well as '--' can indicate a long option.
+ If an option that starts with '-' (not '--') doesn't match a long option,
+ but does match a short option, it is parsed as a short option
+ instead. */
+
+int
+getopt_long_only (argc, argv, options, long_options, opt_index)
+ int argc;
+ char *const *argv;
+ const char *options;
+ const struct option *long_options;
+ int *opt_index;
+{
+ return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
+}
+
+
+#endif /* Not ELIDE_CODE. */
+
+#ifdef TEST
+
+#include <stdio.h>
+
+int
+main (argc, argv)
+ int argc;
+ char **argv;
+{
+ int c;
+ int digit_optind = 0;
+
+ while (1)
+ {
+ int this_option_optind = optind ? optind : 1;
+ int option_index = 0;
+ static struct option long_options[] =
+ {
+ {"add", 1, 0, 0},
+ {"append", 0, 0, 0},
+ {"delete", 1, 0, 0},
+ {"verbose", 0, 0, 0},
+ {"create", 0, 0, 0},
+ {"file", 1, 0, 0},
+ {0, 0, 0, 0}
+ };
+
+ c = getopt_long (argc, argv, "abc:d:0123456789",
+ long_options, &option_index);
+ if (c == -1)
+ break;
+
+ switch (c)
+ {
+ case 0:
+ printf ("option %s", long_options[option_index].name);
+ if (optarg)
+ printf (" with arg %s", optarg);
+ printf ("\n");
+ break;
+
+ 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 'd':
+ printf ("option d 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 */
diff --git a/trunk/src/gps_constants.hpp b/trunk/src/gps_constants.hpp
new file mode 100644
index 0000000..53a386f
--- /dev/null
+++ b/trunk/src/gps_constants.hpp
@@ -0,0 +1,65 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/gps_constants.hpp#1 $"
+
+#ifndef GPSTK_GPS_CONSTANTS_HPP
+#define GPSTK_GPS_CONSTANTS_HPP
+
+/**
+ * @file gps_constants.hpp
+ * Miscellaneous constants for GPS.
+ */
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+namespace gpstk
+{
+ /** @addtogroup ephemcalc */
+ //@{
+
+ /** The maximum number of active satellites in the GPS
+ * constellation. */
+ const long MAX_PRN = 32;
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/gpstkplatform.h b/trunk/src/gpstkplatform.h
new file mode 100644
index 0000000..90dfcd2
--- /dev/null
+++ b/trunk/src/gpstkplatform.h
@@ -0,0 +1,23 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/gpstkplatform.h#2 $"
+
+/* This is where all platform specific includes, defines and crud should go.
+ Unless, of course, it has to go somewhere else. :-)
+*/
+
+#ifndef GPSTK_PLATFORM_HPP
+#define GPSTK_PLATFORM_HPP
+
+#ifdef _MSC_VER
+typedef __int8 int8_t;
+typedef __int16 int16_t;
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned __int8 uint8_t;
+typedef unsigned __int16 uint16_t;
+typedef unsigned __int32 uint32_t;
+typedef unsigned __int64 uint64_t;
+#elif !defined(__SUNPRO_CC)
+#include <stdint.h>
+#endif
+
+#endif
diff --git a/trunk/src/icd_200_constants.hpp b/trunk/src/icd_200_constants.hpp
new file mode 100644
index 0000000..4a8fa90
--- /dev/null
+++ b/trunk/src/icd_200_constants.hpp
@@ -0,0 +1,120 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/icd_200_constants.hpp#1 $"
+
+/**
+ * @file icd_200_constants.hpp
+ * Constants as defined in the GPS-ICD-200
+ */
+
+#ifndef GPSTK_ICD_200_CONSTANTS_HPP
+#define GPSTK_ICD_200_CONSTANTS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+namespace gpstk
+{
+ /**
+ * @addtogroup geodeticgroup
+ * @name GPS Constants
+ * Time constants are in the time library.
+ */
+ //@{
+ /// GPS value of PI
+ const double PI = 3.1415926535898;
+ /// GPS value of PI*2
+ const double TWO_PI = 6.2831853071796;
+ /// GPS value of PI**0.5
+ const double SQRT_PI = 1.7724539;
+ /// relativity constant for GPS (sec/sqrt(m))
+ const double REL_CONST = -4.442807633e-10;
+ /// Hz
+ const double OSC_FREQ = 10.23e6;
+ /// speed of light (m/s)
+ const double C_GPS_M = 2.99792458e8;
+ /// Base freq w/o relativisitic effects, Hz.
+ const double RSVCLK = 10.22999999545e6;
+ /// L1 carrier frequency in Hz.
+ const double L1_FREQ = 1575.42e6;
+ /// L2 carrier frequency in Hz.
+ const double L2_FREQ = 1227.60e6;
+ /// L1 multiplier.
+ const double L1_MULT = 154.0;
+ /// L2 multiplier.
+ const double L2_MULT = 120.0;
+ /// constant for the max array index in sv accuracy table
+ const int SV_ACCURACY_MAX_INDEX_VALUE = 15;
+ /// map from SV accuracy/URA flag to minimum accuracy values in m
+ const double SV_ACCURACY_MIN_INDEX[] = {0, 2.4, 3.4, 4.85, 6.85, 9.65,
+ 13.65, 24.0, 48.0, 96.0, 192.0,
+ 384.0, 768.0, 1536.0, 3072.0,
+ 6144.0};
+ /// map from SV accuracy/URA flag to maximum accuracy values in m
+ const double SV_ACCURACY_MAX_INDEX[] = {2.4, 3.4, 4.85, 6.85, 9.65,
+ 13.65, 24.0, 48.0, 96.0, 192.0,
+ 384.0, 768.0, 1536.0, 3072.0,
+ 6144.0, 9.999999999999e99};
+
+ inline
+ short accuracy2ura(const double& acc) throw()
+ {
+ short ura = 0;
+ while ( (ura <= SV_ACCURACY_MAX_INDEX_VALUE) &&
+ (acc > SV_ACCURACY_MAX_INDEX[ura]))
+ ura++;
+ if (ura > SV_ACCURACY_MAX_INDEX_VALUE)
+ ura = SV_ACCURACY_MAX_INDEX_VALUE;
+ return ura;
+ }
+
+ inline
+ double ura2accuracy(const short& ura) throw()
+ {
+ if(ura < 0)
+ return SV_ACCURACY_MAX_INDEX[0];
+ if(ura > SV_ACCURACY_MAX_INDEX_VALUE)
+ return SV_ACCURACY_MAX_INDEX[SV_ACCURACY_MAX_INDEX_VALUE];
+ return SV_ACCURACY_MAX_INDEX[ura];
+ }
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/mergePCodeWords.h b/trunk/src/mergePCodeWords.h
new file mode 100644
index 0000000..96a4d5e
--- /dev/null
+++ b/trunk/src/mergePCodeWords.h
@@ -0,0 +1,25 @@
+/*
+* mergePCodeWords - Helper function used in X2Sequence and GenXSequence
+
+ Given two bit-packed integers, merge the lower portion of the
+ first and the higher portion of the second into a new bit-packed
+ integer. The first_bit argument defines the most significant
+ bit of the merged word. The bits are numbered from 0 - MAX_BIT-1.
+*/
+#ifndef MERGEPCODEWORDS_H
+#define MERGEPCODEWORDS_H
+
+ inline unsigned long merge( unsigned long w1,
+ unsigned long w2,
+ int first_bit )
+ {
+ unsigned long outword = w1;
+ if (first_bit==0) return(outword);
+
+ outword <<= first_bit;
+ outword |= w2 >> (gpstk::MAX_BIT - first_bit);
+
+ return(outword);
+ }
+
+#endif // end of MERGEPCODEWORDS_H
diff --git a/trunk/src/regex.c b/trunk/src/regex.c
new file mode 100644
index 0000000..8169880
--- /dev/null
+++ b/trunk/src/regex.c
@@ -0,0 +1,4948 @@
+/* Extended regular expression matching and search library,
+ version 0.12.
+ (Implements POSIX draft P10003.2/D11.2, except for
+ internationalization features.)
+
+ Copyright (C) 1993 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, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+/* AIX requires this to be the first thing in the file. */
+#if defined (_AIX) && !defined (REGEX_MALLOC)
+ #pragma alloca
+#endif
+
+#define _GNU_SOURCE
+
+/* We need this for `regex.h', and perhaps for the Emacs include files. */
+#include <sys/types.h>
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+/* The `emacs' switch turns on certain matching commands
+ that make sense only in Emacs. */
+#ifdef emacs
+
+#include "lisp.h"
+#include "buffer.h"
+#include "syntax.h"
+
+/* Emacs uses `NULL' as a predicate. */
+#undef NULL
+
+#else /* not emacs */
+
+/* We used to test for `BSTRING' here, but only GCC and Emacs define
+ `BSTRING', as far as I know, and neither of them use this code. */
+#if HAVE_STRING_H || STDC_HEADERS
+#include <string.h>
+#ifndef bcmp
+#define bcmp(s1, s2, n) memcmp ((s1), (s2), (n))
+#endif
+#ifndef bcopy
+#define bcopy(s, d, n) memcpy ((d), (s), (n))
+#endif
+#ifndef bzero
+#define bzero(s, n) memset ((s), 0, (n))
+#endif
+#else
+#include <strings.h>
+#endif
+
+#ifdef STDC_HEADERS
+#include <stdlib.h>
+#else
+char *malloc ();
+char *realloc ();
+#endif
+
+
+/* Define the syntax stuff for \<, \>, etc. */
+
+/* This must be nonzero for the wordchar and notwordchar pattern
+ commands in re_match_2. */
+#ifndef Sword
+#define Sword 1
+#endif
+
+#ifdef SYNTAX_TABLE
+
+extern char *re_syntax_table;
+
+#else /* not SYNTAX_TABLE */
+
+/* How many characters in the character set. */
+#define CHAR_SET_SIZE 256
+
+static char re_syntax_table[CHAR_SET_SIZE];
+
+static void
+init_syntax_once ()
+{
+ register int c;
+ static int done = 0;
+
+ if (done)
+ return;
+
+ bzero (re_syntax_table, sizeof re_syntax_table);
+
+ for (c = 'a'; c <= 'z'; c++)
+ re_syntax_table[c] = Sword;
+
+ for (c = 'A'; c <= 'Z'; c++)
+ re_syntax_table[c] = Sword;
+
+ for (c = '0'; c <= '9'; c++)
+ re_syntax_table[c] = Sword;
+
+ re_syntax_table['_'] = Sword;
+
+ done = 1;
+}
+
+#endif /* not SYNTAX_TABLE */
+
+#define SYNTAX(c) re_syntax_table[c]
+
+#endif /* not emacs */
+
+/* Get the interface, including the syntax bits. */
+#include "regex.h"
+
+/* isalpha etc. are used for the character classes. */
+#include <ctype.h>
+
+#ifndef isascii
+#define isascii(c) 1
+#endif
+
+#ifdef isblank
+#define ISBLANK(c) (isascii (c) && isblank (c))
+#else
+#define ISBLANK(c) ((c) == ' ' || (c) == '\t')
+#endif
+#ifdef isgraph
+#define ISGRAPH(c) (isascii (c) && isgraph (c))
+#else
+#define ISGRAPH(c) (isascii (c) && isprint (c) && !isspace (c))
+#endif
+
+#define ISPRINT(c) (isascii (c) && isprint (c))
+#define ISDIGIT(c) (isascii (c) && isdigit (c))
+#define ISALNUM(c) (isascii (c) && isalnum (c))
+#define ISALPHA(c) (isascii (c) && isalpha (c))
+#define ISCNTRL(c) (isascii (c) && iscntrl (c))
+#define ISLOWER(c) (isascii (c) && islower (c))
+#define ISPUNCT(c) (isascii (c) && ispunct (c))
+#define ISSPACE(c) (isascii (c) && isspace (c))
+#define ISUPPER(c) (isascii (c) && isupper (c))
+#define ISXDIGIT(c) (isascii (c) && isxdigit (c))
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+/* We remove any previous definition of `SIGN_EXTEND_CHAR',
+ since ours (we hope) works properly with all combinations of
+ machines, compilers, `char' and `unsigned char' argument types.
+ (Per Bothner suggested the basic approach.) */
+#undef SIGN_EXTEND_CHAR
+#if __STDC__
+#define SIGN_EXTEND_CHAR(c) ((signed char) (c))
+#else /* not __STDC__ */
+/* As in Harbison and Steele. */
+#define SIGN_EXTEND_CHAR(c) ((((unsigned char) (c)) ^ 128) - 128)
+#endif
+
+/* Should we use malloc or alloca? If REGEX_MALLOC is not defined, we
+ use `alloca' instead of `malloc'. This is because using malloc in
+ re_search* or re_match* could cause memory leaks when C-g is used in
+ Emacs; also, malloc is slower and causes storage fragmentation. On
+ the other hand, malloc is more portable, and easier to debug.
+
+ Because we sometimes use alloca, some routines have to be macros,
+ not functions -- `alloca'-allocated space disappears at the end of the
+ function it is called in. */
+
+#ifdef REGEX_MALLOC
+
+#define REGEX_ALLOCATE malloc
+#define REGEX_REALLOCATE(source, osize, nsize) realloc (source, nsize)
+
+#else /* not REGEX_MALLOC */
+
+/* Emacs already defines alloca, sometimes. */
+#ifndef alloca
+
+/* Make alloca work the best possible way. */
+#ifdef __GNUC__
+#define alloca __builtin_alloca
+#else /* not __GNUC__ */
+#if HAVE_ALLOCA_H
+#include <alloca.h>
+#else /* not __GNUC__ or HAVE_ALLOCA_H */
+#ifndef _AIX /* Already did AIX, up at the top. */
+char *alloca ();
+#endif /* not _AIX */
+#endif /* not HAVE_ALLOCA_H */
+#endif /* not __GNUC__ */
+
+#endif /* not alloca */
+
+#define REGEX_ALLOCATE alloca
+
+/* Assumes a `char *destination' variable. */
+#define REGEX_REALLOCATE(source, osize, nsize) \
+ (destination = (char *) alloca (nsize), \
+ bcopy (source, destination, osize), \
+ destination)
+
+#endif /* not REGEX_MALLOC */
+
+
+/* True if `size1' is non-NULL and PTR is pointing anywhere inside
+ `string1' or just past its end. This works if PTR is NULL, which is
+ a good thing. */
+#define FIRST_STRING_P(ptr) \
+ (size1 && string1 <= (ptr) && (ptr) <= string1 + size1)
+
+/* (Re)Allocate N items of type T using malloc, or fail. */
+#define TALLOC(n, t) ((t *) malloc ((n) * sizeof (t)))
+#define RETALLOC(addr, n, t) ((addr) = (t *) realloc (addr, (n) * sizeof (t)))
+#define REGEX_TALLOC(n, t) ((t *) REGEX_ALLOCATE ((n) * sizeof (t)))
+
+#define BYTEWIDTH 8 /* In bits. */
+
+#define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
+
+#define MAX(a, b) ((a) > (b) ? (a) : (b))
+#define MIN(a, b) ((a) < (b) ? (a) : (b))
+
+typedef char boolean;
+#define false 0
+#define true 1
+
+/* These are the command codes that appear in compiled regular
+ expressions. Some opcodes are followed by argument bytes. A
+ command code can specify any interpretation whatsoever for its
+ arguments. Zero bytes may appear in the compiled regular expression.
+
+ The value of `exactn' is needed in search.c (search_buffer) in Emacs.
+ So regex.h defines a symbol `RE_EXACTN_VALUE' to be 1; the value of
+ `exactn' we use here must also be 1. */
+
+typedef enum
+{
+ no_op = 0,
+
+ /* Followed by one byte giving n, then by n literal bytes. */
+ exactn = 1,
+
+ /* Matches any (more or less) character. */
+ anychar,
+
+ /* Matches any one char belonging to specified set. First
+ following byte is number of bitmap bytes. Then come bytes
+ for a bitmap saying which chars are in. Bits in each byte
+ are ordered low-bit-first. A character is in the set if its
+ bit is 1. A character too large to have a bit in the map is
+ automatically not in the set. */
+ charset,
+
+ /* Same parameters as charset, but match any character that is
+ not one of those specified. */
+ charset_not,
+
+ /* Start remembering the text that is matched, for storing in a
+ register. Followed by one byte with the register number, in
+ the range 0 to one less than the pattern buffer's re_nsub
+ field. Then followed by one byte with the number of groups
+ inner to this one. (This last has to be part of the
+ start_memory only because we need it in the on_failure_jump
+ of re_match_2.) */
+ start_memory,
+
+ /* Stop remembering the text that is matched and store it in a
+ memory register. Followed by one byte with the register
+ number, in the range 0 to one less than `re_nsub' in the
+ pattern buffer, and one byte with the number of inner groups,
+ just like `start_memory'. (We need the number of inner
+ groups here because we don't have any easy way of finding the
+ corresponding start_memory when we're at a stop_memory.) */
+ stop_memory,
+
+ /* Match a duplicate of something remembered. Followed by one
+ byte containing the register number. */
+ duplicate,
+
+ /* Fail unless at beginning of line. */
+ begline,
+
+ /* Fail unless at end of line. */
+ endline,
+
+ /* Succeeds if at beginning of buffer (if emacs) or at beginning
+ of string to be matched (if not). */
+ begbuf,
+
+ /* Analogously, for end of buffer/string. */
+ endbuf,
+
+ /* Followed by two byte relative address to which to jump. */
+ jump,
+
+ /* Same as jump, but marks the end of an alternative. */
+ jump_past_alt,
+
+ /* Followed by two-byte relative address of place to resume at
+ in case of failure. */
+ on_failure_jump,
+
+ /* Like on_failure_jump, but pushes a placeholder instead of the
+ current string position when executed. */
+ on_failure_keep_string_jump,
+
+ /* Throw away latest failure point and then jump to following
+ two-byte relative address. */
+ pop_failure_jump,
+
+ /* Change to pop_failure_jump if know won't have to backtrack to
+ match; otherwise change to jump. This is used to jump
+ back to the beginning of a repeat. If what follows this jump
+ clearly won't match what the repeat does, such that we can be
+ sure that there is no use backtracking out of repetitions
+ already matched, then we change it to a pop_failure_jump.
+ Followed by two-byte address. */
+ maybe_pop_jump,
+
+ /* Jump to following two-byte address, and push a dummy failure
+ point. This failure point will be thrown away if an attempt
+ is made to use it for a failure. A `+' construct makes this
+ before the first repeat. Also used as an intermediary kind
+ of jump when compiling an alternative. */
+ dummy_failure_jump,
+
+ /* Push a dummy failure point and continue. Used at the end of
+ alternatives. */
+ push_dummy_failure,
+
+ /* Followed by two-byte relative address and two-byte number n.
+ After matching N times, jump to the address upon failure. */
+ succeed_n,
+
+ /* Followed by two-byte relative address, and two-byte number n.
+ Jump to the address N times, then fail. */
+ jump_n,
+
+ /* Set the following two-byte relative address to the
+ subsequent two-byte number. The address *includes* the two
+ bytes of number. */
+ set_number_at,
+
+ wordchar, /* Matches any word-constituent character. */
+ notwordchar, /* Matches any char that is not a word-constituent. */
+
+ wordbeg, /* Succeeds if at word beginning. */
+ wordend, /* Succeeds if at word end. */
+
+ wordbound, /* Succeeds if at a word boundary. */
+ notwordbound /* Succeeds if not at a word boundary. */
+
+#ifdef emacs
+ ,before_dot, /* Succeeds if before point. */
+ at_dot, /* Succeeds if at point. */
+ after_dot, /* Succeeds if after point. */
+
+ /* Matches any character whose syntax is specified. Followed by
+ a byte which contains a syntax code, e.g., Sword. */
+ syntaxspec,
+
+ /* Matches any character whose syntax is not that specified. */
+ notsyntaxspec
+#endif /* emacs */
+} re_opcode_t;
+
+/* Common operations on the compiled pattern. */
+
+/* Store NUMBER in two contiguous bytes starting at DESTINATION. */
+
+#define STORE_NUMBER(destination, number) \
+ do { \
+ (destination)[0] = (number) & 0377; \
+ (destination)[1] = (number) >> 8; \
+ } while (0)
+
+/* Same as STORE_NUMBER, except increment DESTINATION to
+ the byte after where the number is stored. Therefore, DESTINATION
+ must be an lvalue. */
+
+#define STORE_NUMBER_AND_INCR(destination, number) \
+ do { \
+ STORE_NUMBER (destination, number); \
+ (destination) += 2; \
+ } while (0)
+
+/* Put into DESTINATION a number stored in two contiguous bytes starting
+ at SOURCE. */
+
+#define EXTRACT_NUMBER(destination, source) \
+ do { \
+ (destination) = *(source) & 0377; \
+ (destination) += SIGN_EXTEND_CHAR (*((source) + 1)) << 8; \
+ } while (0)
+
+#ifdef DEBUG
+static void
+extract_number (dest, source)
+ int *dest;
+ unsigned char *source;
+{
+ int temp = SIGN_EXTEND_CHAR (*(source + 1));
+ *dest = *source & 0377;
+ *dest += temp << 8;
+}
+
+#ifndef EXTRACT_MACROS /* To debug the macros. */
+#undef EXTRACT_NUMBER
+#define EXTRACT_NUMBER(dest, src) extract_number (&dest, src)
+#endif /* not EXTRACT_MACROS */
+
+#endif /* DEBUG */
+
+/* Same as EXTRACT_NUMBER, except increment SOURCE to after the number.
+ SOURCE must be an lvalue. */
+
+#define EXTRACT_NUMBER_AND_INCR(destination, source) \
+ do { \
+ EXTRACT_NUMBER (destination, source); \
+ (source) += 2; \
+ } while (0)
+
+#ifdef DEBUG
+static void
+extract_number_and_incr (destination, source)
+ int *destination;
+ unsigned char **source;
+{
+ extract_number (destination, *source);
+ *source += 2;
+}
+
+#ifndef EXTRACT_MACROS
+#undef EXTRACT_NUMBER_AND_INCR
+#define EXTRACT_NUMBER_AND_INCR(dest, src) \
+ extract_number_and_incr (&dest, &src)
+#endif /* not EXTRACT_MACROS */
+
+#endif /* DEBUG */
+
+/* If DEBUG is defined, Regex prints many voluminous messages about what
+ it is doing (if the variable `debug' is nonzero). If linked with the
+ main program in `iregex.c', you can enter patterns and strings
+ interactively. And if linked with the main program in `main.c' and
+ the other test files, you can run the already-written tests. */
+
+#ifdef DEBUG
+
+/* We use standard I/O for debugging. */
+#include <stdio.h>
+
+/* It is useful to test things that ``must'' be true when debugging. */
+#include <assert.h>
+
+static int debug = 0;
+
+#define DEBUG_STATEMENT(e) e
+#define DEBUG_PRINT1(x) if (debug) printf (x)
+#define DEBUG_PRINT2(x1, x2) if (debug) printf (x1, x2)
+#define DEBUG_PRINT3(x1, x2, x3) if (debug) printf (x1, x2, x3)
+#define DEBUG_PRINT4(x1, x2, x3, x4) if (debug) printf (x1, x2, x3, x4)
+#define DEBUG_PRINT_COMPILED_PATTERN(p, s, e) \
+ if (debug) print_partial_compiled_pattern (s, e)
+#define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2) \
+ if (debug) print_double_string (w, s1, sz1, s2, sz2)
+
+
+extern void printchar ();
+
+/* Print the fastmap in human-readable form. */
+
+void
+print_fastmap (fastmap)
+ char *fastmap;
+{
+ unsigned was_a_range = 0;
+ unsigned i = 0;
+
+ while (i < (1 << BYTEWIDTH))
+ {
+ if (fastmap[i++])
+ {
+ was_a_range = 0;
+ printchar (i - 1);
+ while (i < (1 << BYTEWIDTH) && fastmap[i])
+ {
+ was_a_range = 1;
+ i++;
+ }
+ if (was_a_range)
+ {
+ printf ("-");
+ printchar (i - 1);
+ }
+ }
+ }
+ putchar ('\n');
+}
+
+
+/* Print a compiled pattern string in human-readable form, starting at
+ the START pointer into it and ending just before the pointer END. */
+
+void
+print_partial_compiled_pattern (start, end)
+ unsigned char *start;
+ unsigned char *end;
+{
+ int mcnt, mcnt2;
+ unsigned char *p = start;
+ unsigned char *pend = end;
+
+ if (start == NULL)
+ {
+ printf ("(null)\n");
+ return;
+ }
+
+ /* Loop over pattern commands. */
+ while (p < pend)
+ {
+ switch ((re_opcode_t) *p++)
+ {
+ case no_op:
+ printf ("/no_op");
+ break;
+
+ case exactn:
+ mcnt = *p++;
+ printf ("/exactn/%d", mcnt);
+ do
+ {
+ putchar ('/');
+ printchar (*p++);
+ }
+ while (--mcnt);
+ break;
+
+ case start_memory:
+ mcnt = *p++;
+ printf ("/start_memory/%d/%d", mcnt, *p++);
+ break;
+
+ case stop_memory:
+ mcnt = *p++;
+ printf ("/stop_memory/%d/%d", mcnt, *p++);
+ break;
+
+ case duplicate:
+ printf ("/duplicate/%d", *p++);
+ break;
+
+ case anychar:
+ printf ("/anychar");
+ break;
+
+ case charset:
+ case charset_not:
+ {
+ register int c;
+
+ printf ("/charset%s",
+ (re_opcode_t) *(p - 1) == charset_not ? "_not" : "");
+
+ assert (p + *p < pend);
+
+ for (c = 0; c < *p; c++)
+ {
+ unsigned bit;
+ unsigned char map_byte = p[1 + c];
+
+ putchar ('/');
+
+ for (bit = 0; bit < BYTEWIDTH; bit++)
+ if (map_byte & (1 << bit))
+ printchar (c * BYTEWIDTH + bit);
+ }
+ p += 1 + *p;
+ break;
+ }
+
+ case begline:
+ printf ("/begline");
+ break;
+
+ case endline:
+ printf ("/endline");
+ break;
+
+ case on_failure_jump:
+ extract_number_and_incr (&mcnt, &p);
+ printf ("/on_failure_jump/0/%d", mcnt);
+ break;
+
+ case on_failure_keep_string_jump:
+ extract_number_and_incr (&mcnt, &p);
+ printf ("/on_failure_keep_string_jump/0/%d", mcnt);
+ break;
+
+ case dummy_failure_jump:
+ extract_number_and_incr (&mcnt, &p);
+ printf ("/dummy_failure_jump/0/%d", mcnt);
+ break;
+
+ case push_dummy_failure:
+ printf ("/push_dummy_failure");
+ break;
+
+ case maybe_pop_jump:
+ extract_number_and_incr (&mcnt, &p);
+ printf ("/maybe_pop_jump/0/%d", mcnt);
+ break;
+
+ case pop_failure_jump:
+ extract_number_and_incr (&mcnt, &p);
+ printf ("/pop_failure_jump/0/%d", mcnt);
+ break;
+
+ case jump_past_alt:
+ extract_number_and_incr (&mcnt, &p);
+ printf ("/jump_past_alt/0/%d", mcnt);
+ break;
+
+ case jump:
+ extract_number_and_incr (&mcnt, &p);
+ printf ("/jump/0/%d", mcnt);
+ break;
+
+ case succeed_n:
+ extract_number_and_incr (&mcnt, &p);
+ extract_number_and_incr (&mcnt2, &p);
+ printf ("/succeed_n/0/%d/0/%d", mcnt, mcnt2);
+ break;
+
+ case jump_n:
+ extract_number_and_incr (&mcnt, &p);
+ extract_number_and_incr (&mcnt2, &p);
+ printf ("/jump_n/0/%d/0/%d", mcnt, mcnt2);
+ break;
+
+ case set_number_at:
+ extract_number_and_incr (&mcnt, &p);
+ extract_number_and_incr (&mcnt2, &p);
+ printf ("/set_number_at/0/%d/0/%d", mcnt, mcnt2);
+ break;
+
+ case wordbound:
+ printf ("/wordbound");
+ break;
+
+ case notwordbound:
+ printf ("/notwordbound");
+ break;
+
+ case wordbeg:
+ printf ("/wordbeg");
+ break;
+
+ case wordend:
+ printf ("/wordend");
+
+#ifdef emacs
+ case before_dot:
+ printf ("/before_dot");
+ break;
+
+ case at_dot:
+ printf ("/at_dot");
+ break;
+
+ case after_dot:
+ printf ("/after_dot");
+ break;
+
+ case syntaxspec:
+ printf ("/syntaxspec");
+ mcnt = *p++;
+ printf ("/%d", mcnt);
+ break;
+
+ case notsyntaxspec:
+ printf ("/notsyntaxspec");
+ mcnt = *p++;
+ printf ("/%d", mcnt);
+ break;
+#endif /* emacs */
+
+ case wordchar:
+ printf ("/wordchar");
+ break;
+
+ case notwordchar:
+ printf ("/notwordchar");
+ break;
+
+ case begbuf:
+ printf ("/begbuf");
+ break;
+
+ case endbuf:
+ printf ("/endbuf");
+ break;
+
+ default:
+ printf ("?%d", *(p-1));
+ }
+ }
+ printf ("/\n");
+}
+
+
+void
+print_compiled_pattern (bufp)
+ struct re_pattern_buffer *bufp;
+{
+ unsigned char *buffer = bufp->buffer;
+
+ print_partial_compiled_pattern (buffer, buffer + bufp->used);
+ printf ("%d bytes used/%d bytes allocated.\n", bufp->used, bufp->allocated);
+
+ if (bufp->fastmap_accurate && bufp->fastmap)
+ {
+ printf ("fastmap: ");
+ print_fastmap (bufp->fastmap);
+ }
+
+ printf ("re_nsub: %d\t", bufp->re_nsub);
+ printf ("regs_alloc: %d\t", bufp->regs_allocated);
+ printf ("can_be_null: %d\t", bufp->can_be_null);
+ printf ("newline_anchor: %d\n", bufp->newline_anchor);
+ printf ("no_sub: %d\t", bufp->no_sub);
+ printf ("not_bol: %d\t", bufp->not_bol);
+ printf ("not_eol: %d\t", bufp->not_eol);
+ printf ("syntax: %d\n", bufp->syntax);
+ /* Perhaps we should print the translate table? */
+}
+
+
+void
+print_double_string (where, string1, size1, string2, size2)
+ const char *where;
+ const char *string1;
+ const char *string2;
+ int size1;
+ int size2;
+{
+ unsigned this_char;
+
+ if (where == NULL)
+ printf ("(null)");
+ else
+ {
+ if (FIRST_STRING_P (where))
+ {
+ for (this_char = where - string1; this_char < size1; this_char++)
+ printchar (string1[this_char]);
+
+ where = string2;
+ }
+
+ for (this_char = where - string2; this_char < size2; this_char++)
+ printchar (string2[this_char]);
+ }
+}
+
+#else /* not DEBUG */
+
+#undef assert
+#define assert(e)
+
+#define DEBUG_STATEMENT(e)
+#define DEBUG_PRINT1(x)
+#define DEBUG_PRINT2(x1, x2)
+#define DEBUG_PRINT3(x1, x2, x3)
+#define DEBUG_PRINT4(x1, x2, x3, x4)
+#define DEBUG_PRINT_COMPILED_PATTERN(p, s, e)
+#define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2)
+
+#endif /* not DEBUG */
+
+/* Set by `re_set_syntax' to the current regexp syntax to recognize. Can
+ also be assigned to arbitrarily: each pattern buffer stores its own
+ syntax, so it can be changed between regex compilations. */
+reg_syntax_t re_syntax_options = RE_SYNTAX_EMACS;
+
+
+/* Specify the precise syntax of regexps for compilation. This provides
+ for compatibility for various utilities which historically have
+ different, incompatible syntaxes.
+
+ The argument SYNTAX is a bit mask comprised of the various bits
+ defined in regex.h. We return the old syntax. */
+
+reg_syntax_t
+re_set_syntax (syntax)
+ reg_syntax_t syntax;
+{
+ reg_syntax_t ret = re_syntax_options;
+
+ re_syntax_options = syntax;
+ return ret;
+}
+
+/* This table gives an error message for each of the error codes listed
+ in regex.h. Obviously the order here has to be same as there. */
+
+static const char *re_error_msg[] =
+ { NULL, /* REG_NOERROR */
+ "No match", /* REG_NOMATCH */
+ "Invalid regular expression", /* REG_BADPAT */
+ "Invalid collation character", /* REG_ECOLLATE */
+ "Invalid character class name", /* REG_ECTYPE */
+ "Trailing backslash", /* REG_EESCAPE */
+ "Invalid back reference", /* REG_ESUBREG */
+ "Unmatched [ or [^", /* REG_EBRACK */
+ "Unmatched ( or \\(", /* REG_EPAREN */
+ "Unmatched \\{", /* REG_EBRACE */
+ "Invalid content of \\{\\}", /* REG_BADBR */
+ "Invalid range end", /* REG_ERANGE */
+ "Memory exhausted", /* REG_ESPACE */
+ "Invalid preceding regular expression", /* REG_BADRPT */
+ "Premature end of regular expression", /* REG_EEND */
+ "Regular expression too big", /* REG_ESIZE */
+ "Unmatched ) or \\)", /* REG_ERPAREN */
+ };
+
+/* Subroutine declarations and macros for regex_compile. */
+
+static void store_op1 (), store_op2 ();
+static void insert_op1 (), insert_op2 ();
+static boolean at_begline_loc_p (), at_endline_loc_p ();
+static boolean group_in_compile_stack ();
+static reg_errcode_t compile_range ();
+
+/* Fetch the next character in the uncompiled pattern---translating it
+ if necessary. Also cast from a signed character in the constant
+ string passed to us by the user to an unsigned char that we can use
+ as an array index (in, e.g., `translate'). */
+#define PATFETCH(c) \
+ do {if (p == pend) return REG_EEND; \
+ c = (unsigned char) *p++; \
+ if (translate) c = translate[c]; \
+ } while (0)
+
+/* Fetch the next character in the uncompiled pattern, with no
+ translation. */
+#define PATFETCH_RAW(c) \
+ do {if (p == pend) return REG_EEND; \
+ c = (unsigned char) *p++; \
+ } while (0)
+
+/* Go backwards one character in the pattern. */
+#define PATUNFETCH p--
+
+
+/* If `translate' is non-null, return translate[D], else just D. We
+ cast the subscript to translate because some data is declared as
+ `char *', to avoid warnings when a string constant is passed. But
+ when we use a character as a subscript we must make it unsigned. */
+#define TRANSLATE(d) (translate ? translate[(unsigned char) (d)] : (d))
+
+
+/* Macros for outputting the compiled pattern into `buffer'. */
+
+/* If the buffer isn't allocated when it comes in, use this. */
+#define INIT_BUF_SIZE 32
+
+/* Make sure we have at least N more bytes of space in buffer. */
+#define GET_BUFFER_SPACE(n) \
+ while (b - bufp->buffer + (n) > bufp->allocated) \
+ EXTEND_BUFFER ()
+
+/* Make sure we have one more byte of buffer space and then add C to it. */
+#define BUF_PUSH(c) \
+ do { \
+ GET_BUFFER_SPACE (1); \
+ *b++ = (unsigned char) (c); \
+ } while (0)
+
+
+/* Ensure we have two more bytes of buffer space and then append C1 and C2. */
+#define BUF_PUSH_2(c1, c2) \
+ do { \
+ GET_BUFFER_SPACE (2); \
+ *b++ = (unsigned char) (c1); \
+ *b++ = (unsigned char) (c2); \
+ } while (0)
+
+
+/* As with BUF_PUSH_2, except for three bytes. */
+#define BUF_PUSH_3(c1, c2, c3) \
+ do { \
+ GET_BUFFER_SPACE (3); \
+ *b++ = (unsigned char) (c1); \
+ *b++ = (unsigned char) (c2); \
+ *b++ = (unsigned char) (c3); \
+ } while (0)
+
+
+/* Store a jump with opcode OP at LOC to location TO. We store a
+ relative address offset by the three bytes the jump itself occupies. */
+#define STORE_JUMP(op, loc, to) \
+ store_op1 (op, loc, (to) - (loc) - 3)
+
+/* Likewise, for a two-argument jump. */
+#define STORE_JUMP2(op, loc, to, arg) \
+ store_op2 (op, loc, (to) - (loc) - 3, arg)
+
+/* Like `STORE_JUMP', but for inserting. Assume `b' is the buffer end. */
+#define INSERT_JUMP(op, loc, to) \
+ insert_op1 (op, loc, (to) - (loc) - 3, b)
+
+/* Like `STORE_JUMP2', but for inserting. Assume `b' is the buffer end. */
+#define INSERT_JUMP2(op, loc, to, arg) \
+ insert_op2 (op, loc, (to) - (loc) - 3, arg, b)
+
+
+/* This is not an arbitrary limit: the arguments which represent offsets
+ into the pattern are two bytes long. So if 2^16 bytes turns out to
+ be too small, many things would have to change. */
+#define MAX_BUF_SIZE (1L << 16)
+
+
+/* Extend the buffer by twice its current size via realloc and
+ reset the pointers that pointed into the old block to point to the
+ correct places in the new one. If extending the buffer results in it
+ being larger than MAX_BUF_SIZE, then flag memory exhausted. */
+#define EXTEND_BUFFER() \
+ do { \
+ unsigned char *old_buffer = bufp->buffer; \
+ if (bufp->allocated == MAX_BUF_SIZE) \
+ return REG_ESIZE; \
+ bufp->allocated <<= 1; \
+ if (bufp->allocated > MAX_BUF_SIZE) \
+ bufp->allocated = MAX_BUF_SIZE; \
+ bufp->buffer = (unsigned char *) realloc (bufp->buffer, bufp->allocated);\
+ if (bufp->buffer == NULL) \
+ return REG_ESPACE; \
+ /* If the buffer moved, move all the pointers into it. */ \
+ if (old_buffer != bufp->buffer) \
+ { \
+ b = (b - old_buffer) + bufp->buffer; \
+ begalt = (begalt - old_buffer) + bufp->buffer; \
+ if (fixup_alt_jump) \
+ fixup_alt_jump = (fixup_alt_jump - old_buffer) + bufp->buffer;\
+ if (laststart) \
+ laststart = (laststart - old_buffer) + bufp->buffer; \
+ if (pending_exact) \
+ pending_exact = (pending_exact - old_buffer) + bufp->buffer; \
+ } \
+ } while (0)
+
+
+/* Since we have one byte reserved for the register number argument to
+ {start,stop}_memory, the maximum number of groups we can report
+ things about is what fits in that byte. */
+#define MAX_REGNUM 255
+
+/* But patterns can have more than `MAX_REGNUM' registers. We just
+ ignore the excess. */
+typedef unsigned regnum_t;
+
+
+/* Macros for the compile stack. */
+
+/* Since offsets can go either forwards or backwards, this type needs to
+ be able to hold values from -(MAX_BUF_SIZE - 1) to MAX_BUF_SIZE - 1. */
+typedef int pattern_offset_t;
+
+typedef struct
+{
+ pattern_offset_t begalt_offset;
+ pattern_offset_t fixup_alt_jump;
+ pattern_offset_t inner_group_offset;
+ pattern_offset_t laststart_offset;
+ regnum_t regnum;
+} compile_stack_elt_t;
+
+
+typedef struct
+{
+ compile_stack_elt_t *stack;
+ unsigned size;
+ unsigned avail; /* Offset of next open position. */
+} compile_stack_type;
+
+
+#define INIT_COMPILE_STACK_SIZE 32
+
+#define COMPILE_STACK_EMPTY (compile_stack.avail == 0)
+#define COMPILE_STACK_FULL (compile_stack.avail == compile_stack.size)
+
+/* The next available element. */
+#define COMPILE_STACK_TOP (compile_stack.stack[compile_stack.avail])
+
+
+/* Set the bit for character C in a list. */
+#define SET_LIST_BIT(c) \
+ (b[((unsigned char) (c)) / BYTEWIDTH] \
+ |= 1 << (((unsigned char) c) % BYTEWIDTH))
+
+
+/* Get the next unsigned number in the uncompiled pattern. */
+#define GET_UNSIGNED_NUMBER(num) \
+ { if (p != pend) \
+ { \
+ PATFETCH (c); \
+ while (ISDIGIT (c)) \
+ { \
+ if (num < 0) \
+ num = 0; \
+ num = num * 10 + c - '0'; \
+ if (p == pend) \
+ break; \
+ PATFETCH (c); \
+ } \
+ } \
+ }
+
+#define CHAR_CLASS_MAX_LENGTH 6 /* Namely, `xdigit'. */
+
+#define IS_CHAR_CLASS(string) \
+ (STREQ (string, "alpha") || STREQ (string, "upper") \
+ || STREQ (string, "lower") || STREQ (string, "digit") \
+ || STREQ (string, "alnum") || STREQ (string, "xdigit") \
+ || STREQ (string, "space") || STREQ (string, "print") \
+ || STREQ (string, "punct") || STREQ (string, "graph") \
+ || STREQ (string, "cntrl") || STREQ (string, "blank"))
+
+/* `regex_compile' compiles PATTERN (of length SIZE) according to SYNTAX.
+ Returns one of error codes defined in `regex.h', or zero for success.
+
+ Assumes the `allocated' (and perhaps `buffer') and `translate'
+ fields are set in BUFP on entry.
+
+ If it succeeds, results are put in BUFP (if it returns an error, the
+ contents of BUFP are undefined):
+ `buffer' is the compiled pattern;
+ `syntax' is set to SYNTAX;
+ `used' is set to the length of the compiled pattern;
+ `fastmap_accurate' is zero;
+ `re_nsub' is the number of subexpressions in PATTERN;
+ `not_bol' and `not_eol' are zero;
+
+ The `fastmap' and `newline_anchor' fields are neither
+ examined nor set. */
+
+static reg_errcode_t
+regex_compile (pattern, size, syntax, bufp)
+ const char *pattern;
+ int size;
+ reg_syntax_t syntax;
+ struct re_pattern_buffer *bufp;
+{
+ /* We fetch characters from PATTERN here. Even though PATTERN is
+ `char *' (i.e., signed), we declare these variables as unsigned, so
+ they can be reliably used as array indices. */
+ register unsigned char c, c1;
+
+ /* A random tempory spot in PATTERN. */
+ const char *p1;
+
+ /* Points to the end of the buffer, where we should append. */
+ register unsigned char *b;
+
+ /* Keeps track of unclosed groups. */
+ compile_stack_type compile_stack;
+
+ /* Points to the current (ending) position in the pattern. */
+ const char *p = pattern;
+ const char *pend = pattern + size;
+
+ /* How to translate the characters in the pattern. */
+ char *translate = bufp->translate;
+
+ /* Address of the count-byte of the most recently inserted `exactn'
+ command. This makes it possible to tell if a new exact-match
+ character can be added to that command or if the character requires
+ a new `exactn' command. */
+ unsigned char *pending_exact = 0;
+
+ /* Address of start of the most recently finished expression.
+ This tells, e.g., postfix * where to find the start of its
+ operand. Reset at the beginning of groups and alternatives. */
+ unsigned char *laststart = 0;
+
+ /* Address of beginning of regexp, or inside of last group. */
+ unsigned char *begalt;
+
+ /* Place in the uncompiled pattern (i.e., the {) to
+ which to go back if the interval is invalid. */
+ const char *beg_interval;
+
+ /* Address of the place where a forward jump should go to the end of
+ the containing expression. Each alternative of an `or' -- except the
+ last -- ends with a forward jump of this sort. */
+ unsigned char *fixup_alt_jump = 0;
+
+ /* Counts open-groups as they are encountered. Remembered for the
+ matching close-group on the compile stack, so the same register
+ number is put in the stop_memory as the start_memory. */
+ regnum_t regnum = 0;
+
+#ifdef DEBUG
+ DEBUG_PRINT1 ("\nCompiling pattern: ");
+ if (debug)
+ {
+ unsigned debug_count;
+
+ for (debug_count = 0; debug_count < size; debug_count++)
+ printchar (pattern[debug_count]);
+ putchar ('\n');
+ }
+#endif /* DEBUG */
+
+ /* Initialize the compile stack. */
+ compile_stack.stack = TALLOC (INIT_COMPILE_STACK_SIZE, compile_stack_elt_t);
+ if (compile_stack.stack == NULL)
+ return REG_ESPACE;
+
+ compile_stack.size = INIT_COMPILE_STACK_SIZE;
+ compile_stack.avail = 0;
+
+ /* Initialize the pattern buffer. */
+ bufp->syntax = syntax;
+ bufp->fastmap_accurate = 0;
+ bufp->not_bol = bufp->not_eol = 0;
+
+ /* Set `used' to zero, so that if we return an error, the pattern
+ printer (for debugging) will think there's no pattern. We reset it
+ at the end. */
+ bufp->used = 0;
+
+ /* Always count groups, whether or not bufp->no_sub is set. */
+ bufp->re_nsub = 0;
+
+#if !defined (emacs) && !defined (SYNTAX_TABLE)
+ /* Initialize the syntax table. */
+ init_syntax_once ();
+#endif
+
+ if (bufp->allocated == 0)
+ {
+ if (bufp->buffer)
+ { /* If zero allocated, but buffer is non-null, try to realloc
+ enough space. This loses if buffer's address is bogus, but
+ that is the user's responsibility. */
+ RETALLOC (bufp->buffer, INIT_BUF_SIZE, unsigned char);
+ }
+ else
+ { /* Caller did not allocate a buffer. Do it for them. */
+ bufp->buffer = TALLOC (INIT_BUF_SIZE, unsigned char);
+ }
+ if (!bufp->buffer) return REG_ESPACE;
+
+ bufp->allocated = INIT_BUF_SIZE;
+ }
+
+ begalt = b = bufp->buffer;
+
+ /* Loop through the uncompiled pattern until we're at the end. */
+ while (p != pend)
+ {
+ PATFETCH (c);
+
+ switch (c)
+ {
+ case '^':
+ {
+ if ( /* If at start of pattern, it's an operator. */
+ p == pattern + 1
+ /* If context independent, it's an operator. */
+ || syntax & RE_CONTEXT_INDEP_ANCHORS
+ /* Otherwise, depends on what's come before. */
+ || at_begline_loc_p (pattern, p, syntax))
+ BUF_PUSH (begline);
+ else
+ goto normal_char;
+ }
+ break;
+
+
+ case '$':
+ {
+ if ( /* If at end of pattern, it's an operator. */
+ p == pend
+ /* If context independent, it's an operator. */
+ || syntax & RE_CONTEXT_INDEP_ANCHORS
+ /* Otherwise, depends on what's next. */
+ || at_endline_loc_p (p, pend, syntax))
+ BUF_PUSH (endline);
+ else
+ goto normal_char;
+ }
+ break;
+
+
+ case '+':
+ case '?':
+ if ((syntax & RE_BK_PLUS_QM)
+ || (syntax & RE_LIMITED_OPS))
+ goto normal_char;
+ handle_plus:
+ case '*':
+ /* If there is no previous pattern... */
+ if (!laststart)
+ {
+ if (syntax & RE_CONTEXT_INVALID_OPS)
+ return REG_BADRPT;
+ else if (!(syntax & RE_CONTEXT_INDEP_OPS))
+ goto normal_char;
+ }
+
+ {
+ /* Are we optimizing this jump? */
+ boolean keep_string_p = false;
+
+ /* 1 means zero (many) matches is allowed. */
+ char zero_times_ok = 0, many_times_ok = 0;
+
+ /* If there is a sequence of repetition chars, collapse it
+ down to just one (the right one). We can't combine
+ interval operators with these because of, e.g., `a{2}*',
+ which should only match an even number of `a's. */
+
+ for (;;)
+ {
+ zero_times_ok |= c != '+';
+ many_times_ok |= c != '?';
+
+ if (p == pend)
+ break;
+
+ PATFETCH (c);
+
+ if (c == '*'
+ || (!(syntax & RE_BK_PLUS_QM) && (c == '+' || c == '?')))
+ ;
+
+ else if (syntax & RE_BK_PLUS_QM && c == '\\')
+ {
+ if (p == pend) return REG_EESCAPE;
+
+ PATFETCH (c1);
+ if (!(c1 == '+' || c1 == '?'))
+ {
+ PATUNFETCH;
+ PATUNFETCH;
+ break;
+ }
+
+ c = c1;
+ }
+ else
+ {
+ PATUNFETCH;
+ break;
+ }
+
+ /* If we get here, we found another repeat character. */
+ }
+
+ /* Star, etc. applied to an empty pattern is equivalent
+ to an empty pattern. */
+ if (!laststart)
+ break;
+
+ /* Now we know whether or not zero matches is allowed
+ and also whether or not two or more matches is allowed. */
+ if (many_times_ok)
+ { /* More than one repetition is allowed, so put in at the
+ end a backward relative jump from `b' to before the next
+ jump we're going to put in below (which jumps from
+ laststart to after this jump).
+
+ But if we are at the `*' in the exact sequence `.*\n',
+ insert an unconditional jump backwards to the .,
+ instead of the beginning of the loop. This way we only
+ push a failure point once, instead of every time
+ through the loop. */
+ assert (p - 1 > pattern);
+
+ /* Allocate the space for the jump. */
+ GET_BUFFER_SPACE (3);
+
+ /* We know we are not at the first character of the pattern,
+ because laststart was nonzero. And we've already
+ incremented `p', by the way, to be the character after
+ the `*'. Do we have to do something analogous here
+ for null bytes, because of RE_DOT_NOT_NULL? */
+ if (TRANSLATE (*(p - 2)) == TRANSLATE ('.')
+ && zero_times_ok
+ && p < pend && TRANSLATE (*p) == TRANSLATE ('\n')
+ && !(syntax & RE_DOT_NEWLINE))
+ { /* We have .*\n. */
+ STORE_JUMP (jump, b, laststart);
+ keep_string_p = true;
+ }
+ else
+ /* Anything else. */
+ STORE_JUMP (maybe_pop_jump, b, laststart - 3);
+
+ /* We've added more stuff to the buffer. */
+ b += 3;
+ }
+
+ /* On failure, jump from laststart to b + 3, which will be the
+ end of the buffer after this jump is inserted. */
+ GET_BUFFER_SPACE (3);
+ INSERT_JUMP (keep_string_p ? on_failure_keep_string_jump
+ : on_failure_jump,
+ laststart, b + 3);
+ pending_exact = 0;
+ b += 3;
+
+ if (!zero_times_ok)
+ {
+ /* At least one repetition is required, so insert a
+ `dummy_failure_jump' before the initial
+ `on_failure_jump' instruction of the loop. This
+ effects a skip over that instruction the first time
+ we hit that loop. */
+ GET_BUFFER_SPACE (3);
+ INSERT_JUMP (dummy_failure_jump, laststart, laststart + 6);
+ b += 3;
+ }
+ }
+ break;
+
+
+ case '.':
+ laststart = b;
+ BUF_PUSH (anychar);
+ break;
+
+
+ case '[':
+ {
+ boolean had_char_class = false;
+
+ if (p == pend) return REG_EBRACK;
+
+ /* Ensure that we have enough space to push a charset: the
+ opcode, the length count, and the bitset; 34 bytes in all. */
+ GET_BUFFER_SPACE (34);
+
+ laststart = b;
+
+ /* We test `*p == '^' twice, instead of using an if
+ statement, so we only need one BUF_PUSH. */
+ BUF_PUSH (*p == '^' ? charset_not : charset);
+ if (*p == '^')
+ p++;
+
+ /* Remember the first position in the bracket expression. */
+ p1 = p;
+
+ /* Push the number of bytes in the bitmap. */
+ BUF_PUSH ((1 << BYTEWIDTH) / BYTEWIDTH);
+
+ /* Clear the whole map. */
+ bzero (b, (1 << BYTEWIDTH) / BYTEWIDTH);
+
+ /* charset_not matches newline according to a syntax bit. */
+ if ((re_opcode_t) b[-2] == charset_not
+ && (syntax & RE_HAT_LISTS_NOT_NEWLINE))
+ SET_LIST_BIT ('\n');
+
+ /* Read in characters and ranges, setting map bits. */
+ for (;;)
+ {
+ if (p == pend) return REG_EBRACK;
+
+ PATFETCH (c);
+
+ /* \ might escape characters inside [...] and [^...]. */
+ if ((syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && c == '\\')
+ {
+ if (p == pend) return REG_EESCAPE;
+
+ PATFETCH (c1);
+ SET_LIST_BIT (c1);
+ continue;
+ }
+
+ /* Could be the end of the bracket expression. If it's
+ not (i.e., when the bracket expression is `[]' so
+ far), the ']' character bit gets set way below. */
+ if (c == ']' && p != p1 + 1)
+ break;
+
+ /* Look ahead to see if it's a range when the last thing
+ was a character class. */
+ if (had_char_class && c == '-' && *p != ']')
+ return REG_ERANGE;
+
+ /* Look ahead to see if it's a range when the last thing
+ was a character: if this is a hyphen not at the
+ beginning or the end of a list, then it's the range
+ operator. */
+ if (c == '-'
+ && !(p - 2 >= pattern && p[-2] == '[')
+ && !(p - 3 >= pattern && p[-3] == '[' && p[-2] == '^')
+ && *p != ']')
+ {
+ reg_errcode_t ret
+ = compile_range (&p, pend, translate, syntax, b);
+ if (ret != REG_NOERROR) return ret;
+ }
+
+ else if (p[0] == '-' && p[1] != ']')
+ { /* This handles ranges made up of characters only. */
+ reg_errcode_t ret;
+
+ /* Move past the `-'. */
+ PATFETCH (c1);
+
+ ret = compile_range (&p, pend, translate, syntax, b);
+ if (ret != REG_NOERROR) return ret;
+ }
+
+ /* See if we're at the beginning of a possible character
+ class. */
+
+ else if (syntax & RE_CHAR_CLASSES && c == '[' && *p == ':')
+ { /* Leave room for the null. */
+ char str[CHAR_CLASS_MAX_LENGTH + 1];
+
+ PATFETCH (c);
+ c1 = 0;
+
+ /* If pattern is `[[:'. */
+ if (p == pend) return REG_EBRACK;
+
+ for (;;)
+ {
+ PATFETCH (c);
+ if (c == ':' || c == ']' || p == pend
+ || c1 == CHAR_CLASS_MAX_LENGTH)
+ break;
+ str[c1++] = c;
+ }
+ str[c1] = '\0';
+
+ /* If isn't a word bracketed by `[:' and:`]':
+ undo the ending character, the letters, and leave
+ the leading `:' and `[' (but set bits for them). */
+ if (c == ':' && *p == ']')
+ {
+ int ch;
+ boolean is_alnum = STREQ (str, "alnum");
+ boolean is_alpha = STREQ (str, "alpha");
+ boolean is_blank = STREQ (str, "blank");
+ boolean is_cntrl = STREQ (str, "cntrl");
+ boolean is_digit = STREQ (str, "digit");
+ boolean is_graph = STREQ (str, "graph");
+ boolean is_lower = STREQ (str, "lower");
+ boolean is_print = STREQ (str, "print");
+ boolean is_punct = STREQ (str, "punct");
+ boolean is_space = STREQ (str, "space");
+ boolean is_upper = STREQ (str, "upper");
+ boolean is_xdigit = STREQ (str, "xdigit");
+
+ if (!IS_CHAR_CLASS (str)) return REG_ECTYPE;
+
+ /* Throw away the ] at the end of the character
+ class. */
+ PATFETCH (c);
+
+ if (p == pend) return REG_EBRACK;
+
+ for (ch = 0; ch < 1 << BYTEWIDTH; ch++)
+ {
+ if ( (is_alnum && ISALNUM (ch))
+ || (is_alpha && ISALPHA (ch))
+ || (is_blank && ISBLANK (ch))
+ || (is_cntrl && ISCNTRL (ch))
+ || (is_digit && ISDIGIT (ch))
+ || (is_graph && ISGRAPH (ch))
+ || (is_lower && ISLOWER (ch))
+ || (is_print && ISPRINT (ch))
+ || (is_punct && ISPUNCT (ch))
+ || (is_space && ISSPACE (ch))
+ || (is_upper && ISUPPER (ch))
+ || (is_xdigit && ISXDIGIT (ch)))
+ SET_LIST_BIT (ch);
+ }
+ had_char_class = true;
+ }
+ else
+ {
+ c1++;
+ while (c1--)
+ PATUNFETCH;
+ SET_LIST_BIT ('[');
+ SET_LIST_BIT (':');
+ had_char_class = false;
+ }
+ }
+ else
+ {
+ had_char_class = false;
+ SET_LIST_BIT (c);
+ }
+ }
+
+ /* Discard any (non)matching list bytes that are all 0 at the
+ end of the map. Decrease the map-length byte too. */
+ while ((int) b[-1] > 0 && b[b[-1] - 1] == 0)
+ b[-1]--;
+ b += b[-1];
+ }
+ break;
+
+
+ case '(':
+ if (syntax & RE_NO_BK_PARENS)
+ goto handle_open;
+ else
+ goto normal_char;
+
+
+ case ')':
+ if (syntax & RE_NO_BK_PARENS)
+ goto handle_close;
+ else
+ goto normal_char;
+
+
+ case '\n':
+ if (syntax & RE_NEWLINE_ALT)
+ goto handle_alt;
+ else
+ goto normal_char;
+
+
+ case '|':
+ if (syntax & RE_NO_BK_VBAR)
+ goto handle_alt;
+ else
+ goto normal_char;
+
+
+ case '{':
+ if (syntax & RE_INTERVALS && syntax & RE_NO_BK_BRACES)
+ goto handle_interval;
+ else
+ goto normal_char;
+
+
+ case '\\':
+ if (p == pend) return REG_EESCAPE;
+
+ /* Do not translate the character after the \, so that we can
+ distinguish, e.g., \B from \b, even if we normally would
+ translate, e.g., B to b. */
+ PATFETCH_RAW (c);
+
+ switch (c)
+ {
+ case '(':
+ if (syntax & RE_NO_BK_PARENS)
+ goto normal_backslash;
+
+ handle_open:
+ bufp->re_nsub++;
+ regnum++;
+
+ if (COMPILE_STACK_FULL)
+ {
+ RETALLOC (compile_stack.stack, compile_stack.size << 1,
+ compile_stack_elt_t);
+ if (compile_stack.stack == NULL) return REG_ESPACE;
+
+ compile_stack.size <<= 1;
+ }
+
+ /* These are the values to restore when we hit end of this
+ group. They are all relative offsets, so that if the
+ whole pattern moves because of realloc, they will still
+ be valid. */
+ COMPILE_STACK_TOP.begalt_offset = begalt - bufp->buffer;
+ COMPILE_STACK_TOP.fixup_alt_jump
+ = fixup_alt_jump ? fixup_alt_jump - bufp->buffer + 1 : 0;
+ COMPILE_STACK_TOP.laststart_offset = b - bufp->buffer;
+ COMPILE_STACK_TOP.regnum = regnum;
+
+ /* We will eventually replace the 0 with the number of
+ groups inner to this one. But do not push a
+ start_memory for groups beyond the last one we can
+ represent in the compiled pattern. */
+ if (regnum <= MAX_REGNUM)
+ {
+ COMPILE_STACK_TOP.inner_group_offset = b - bufp->buffer + 2;
+ BUF_PUSH_3 (start_memory, regnum, 0);
+ }
+
+ compile_stack.avail++;
+
+ fixup_alt_jump = 0;
+ laststart = 0;
+ begalt = b;
+ /* If we've reached MAX_REGNUM groups, then this open
+ won't actually generate any code, so we'll have to
+ clear pending_exact explicitly. */
+ pending_exact = 0;
+ break;
+
+
+ case ')':
+ if (syntax & RE_NO_BK_PARENS) goto normal_backslash;
+
+ if (COMPILE_STACK_EMPTY)
+ if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
+ goto normal_backslash;
+ else
+ return REG_ERPAREN;
+
+ handle_close:
+ if (fixup_alt_jump)
+ { /* Push a dummy failure point at the end of the
+ alternative for a possible future
+ `pop_failure_jump' to pop. See comments at
+ `push_dummy_failure' in `re_match_2'. */
+ BUF_PUSH (push_dummy_failure);
+
+ /* We allocated space for this jump when we assigned
+ to `fixup_alt_jump', in the `handle_alt' case below. */
+ STORE_JUMP (jump_past_alt, fixup_alt_jump, b - 1);
+ }
+
+ /* See similar code for backslashed left paren above. */
+ if (COMPILE_STACK_EMPTY)
+ if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
+ goto normal_char;
+ else
+ return REG_ERPAREN;
+
+ /* Since we just checked for an empty stack above, this
+ ``can't happen''. */
+ assert (compile_stack.avail != 0);
+ {
+ /* We don't just want to restore into `regnum', because
+ later groups should continue to be numbered higher,
+ as in `(ab)c(de)' -- the second group is #2. */
+ regnum_t this_group_regnum;
+
+ compile_stack.avail--;
+ begalt = bufp->buffer + COMPILE_STACK_TOP.begalt_offset;
+ fixup_alt_jump
+ = COMPILE_STACK_TOP.fixup_alt_jump
+ ? bufp->buffer + COMPILE_STACK_TOP.fixup_alt_jump - 1
+ : 0;
+ laststart = bufp->buffer + COMPILE_STACK_TOP.laststart_offset;
+ this_group_regnum = COMPILE_STACK_TOP.regnum;
+ /* If we've reached MAX_REGNUM groups, then this open
+ won't actually generate any code, so we'll have to
+ clear pending_exact explicitly. */
+ pending_exact = 0;
+
+ /* We're at the end of the group, so now we know how many
+ groups were inside this one. */
+ if (this_group_regnum <= MAX_REGNUM)
+ {
+ unsigned char *inner_group_loc
+ = bufp->buffer + COMPILE_STACK_TOP.inner_group_offset;
+
+ *inner_group_loc = regnum - this_group_regnum;
+ BUF_PUSH_3 (stop_memory, this_group_regnum,
+ regnum - this_group_regnum);
+ }
+ }
+ break;
+
+
+ case '|': /* `\|'. */
+ if (syntax & RE_LIMITED_OPS || syntax & RE_NO_BK_VBAR)
+ goto normal_backslash;
+ handle_alt:
+ if (syntax & RE_LIMITED_OPS)
+ goto normal_char;
+
+ /* Insert before the previous alternative a jump which
+ jumps to this alternative if the former fails. */
+ GET_BUFFER_SPACE (3);
+ INSERT_JUMP (on_failure_jump, begalt, b + 6);
+ pending_exact = 0;
+ b += 3;
+
+ /* The alternative before this one has a jump after it
+ which gets executed if it gets matched. Adjust that
+ jump so it will jump to this alternative's analogous
+ jump (put in below, which in turn will jump to the next
+ (if any) alternative's such jump, etc.). The last such
+ jump jumps to the correct final destination. A picture:
+ _____ _____
+ | | | |
+ | v | v
+ a | b | c
+
+ If we are at `b', then fixup_alt_jump right now points to a
+ three-byte space after `a'. We'll put in the jump, set
+ fixup_alt_jump to right after `b', and leave behind three
+ bytes which we'll fill in when we get to after `c'. */
+
+ if (fixup_alt_jump)
+ STORE_JUMP (jump_past_alt, fixup_alt_jump, b);
+
+ /* Mark and leave space for a jump after this alternative,
+ to be filled in later either by next alternative or
+ when know we're at the end of a series of alternatives. */
+ fixup_alt_jump = b;
+ GET_BUFFER_SPACE (3);
+ b += 3;
+
+ laststart = 0;
+ begalt = b;
+ break;
+
+
+ case '{':
+ /* If \{ is a literal. */
+ if (!(syntax & RE_INTERVALS)
+ /* If we're at `\{' and it's not the open-interval
+ operator. */
+ || ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES))
+ || (p - 2 == pattern && p == pend))
+ goto normal_backslash;
+
+ handle_interval:
+ {
+ /* If got here, then the syntax allows intervals. */
+
+ /* At least (most) this many matches must be made. */
+ int lower_bound = -1, upper_bound = -1;
+
+ beg_interval = p - 1;
+
+ if (p == pend)
+ {
+ if (syntax & RE_NO_BK_BRACES)
+ goto unfetch_interval;
+ else
+ return REG_EBRACE;
+ }
+
+ GET_UNSIGNED_NUMBER (lower_bound);
+
+ if (c == ',')
+ {
+ GET_UNSIGNED_NUMBER (upper_bound);
+ if (upper_bound < 0) upper_bound = RE_DUP_MAX;
+ }
+ else
+ /* Interval such as `{1}' => match exactly once. */
+ upper_bound = lower_bound;
+
+ if (lower_bound < 0 || upper_bound > RE_DUP_MAX
+ || lower_bound > upper_bound)
+ {
+ if (syntax & RE_NO_BK_BRACES)
+ goto unfetch_interval;
+ else
+ return REG_BADBR;
+ }
+
+ if (!(syntax & RE_NO_BK_BRACES))
+ {
+ if (c != '\\') return REG_EBRACE;
+
+ PATFETCH (c);
+ }
+
+ if (c != '}')
+ {
+ if (syntax & RE_NO_BK_BRACES)
+ goto unfetch_interval;
+ else
+ return REG_BADBR;
+ }
+
+ /* We just parsed a valid interval. */
+
+ /* If it's invalid to have no preceding re. */
+ if (!laststart)
+ {
+ if (syntax & RE_CONTEXT_INVALID_OPS)
+ return REG_BADRPT;
+ else if (syntax & RE_CONTEXT_INDEP_OPS)
+ laststart = b;
+ else
+ goto unfetch_interval;
+ }
+
+ /* If the upper bound is zero, don't want to succeed at
+ all; jump from `laststart' to `b + 3', which will be
+ the end of the buffer after we insert the jump. */
+ if (upper_bound == 0)
+ {
+ GET_BUFFER_SPACE (3);
+ INSERT_JUMP (jump, laststart, b + 3);
+ b += 3;
+ }
+
+ /* Otherwise, we have a nontrivial interval. When
+ we're all done, the pattern will look like:
+ set_number_at <jump count> <upper bound>
+ set_number_at <succeed_n count> <lower bound>
+ succeed_n <after jump addr> <succed_n count>
+ <body of loop>
+ jump_n <succeed_n addr> <jump count>
+ (The upper bound and `jump_n' are omitted if
+ `upper_bound' is 1, though.) */
+ else
+ { /* If the upper bound is > 1, we need to insert
+ more at the end of the loop. */
+ unsigned nbytes = 10 + (upper_bound > 1) * 10;
+
+ GET_BUFFER_SPACE (nbytes);
+
+ /* Initialize lower bound of the `succeed_n', even
+ though it will be set during matching by its
+ attendant `set_number_at' (inserted next),
+ because `re_compile_fastmap' needs to know.
+ Jump to the `jump_n' we might insert below. */
+ INSERT_JUMP2 (succeed_n, laststart,
+ b + 5 + (upper_bound > 1) * 5,
+ lower_bound);
+ b += 5;
+
+ /* Code to initialize the lower bound. Insert
+ before the `succeed_n'. The `5' is the last two
+ bytes of this `set_number_at', plus 3 bytes of
+ the following `succeed_n'. */
+ insert_op2 (set_number_at, laststart, 5, lower_bound, b);
+ b += 5;
+
+ if (upper_bound > 1)
+ { /* More than one repetition is allowed, so
+ append a backward jump to the `succeed_n'
+ that starts this interval.
+
+ When we've reached this during matching,
+ we'll have matched the interval once, so
+ jump back only `upper_bound - 1' times. */
+ STORE_JUMP2 (jump_n, b, laststart + 5,
+ upper_bound - 1);
+ b += 5;
+
+ /* The location we want to set is the second
+ parameter of the `jump_n'; that is `b-2' as
+ an absolute address. `laststart' will be
+ the `set_number_at' we're about to insert;
+ `laststart+3' the number to set, the source
+ for the relative address. But we are
+ inserting into the middle of the pattern --
+ so everything is getting moved up by 5.
+ Conclusion: (b - 2) - (laststart + 3) + 5,
+ i.e., b - laststart.
+
+ We insert this at the beginning of the loop
+ so that if we fail during matching, we'll
+ reinitialize the bounds. */
+ insert_op2 (set_number_at, laststart, b - laststart,
+ upper_bound - 1, b);
+ b += 5;
+ }
+ }
+ pending_exact = 0;
+ beg_interval = NULL;
+ }
+ break;
+
+ unfetch_interval:
+ /* If an invalid interval, match the characters as literals. */
+ assert (beg_interval);
+ p = beg_interval;
+ beg_interval = NULL;
+
+ /* normal_char and normal_backslash need `c'. */
+ PATFETCH (c);
+
+ if (!(syntax & RE_NO_BK_BRACES))
+ {
+ if (p > pattern && p[-1] == '\\')
+ goto normal_backslash;
+ }
+ goto normal_char;
+
+#ifdef emacs
+ /* There is no way to specify the before_dot and after_dot
+ operators. rms says this is ok. --karl */
+ case '=':
+ BUF_PUSH (at_dot);
+ break;
+
+ case 's':
+ laststart = b;
+ PATFETCH (c);
+ BUF_PUSH_2 (syntaxspec, syntax_spec_code[c]);
+ break;
+
+ case 'S':
+ laststart = b;
+ PATFETCH (c);
+ BUF_PUSH_2 (notsyntaxspec, syntax_spec_code[c]);
+ break;
+#endif /* emacs */
+
+
+ case 'w':
+ laststart = b;
+ BUF_PUSH (wordchar);
+ break;
+
+
+ case 'W':
+ laststart = b;
+ BUF_PUSH (notwordchar);
+ break;
+
+
+ case '<':
+ BUF_PUSH (wordbeg);
+ break;
+
+ case '>':
+ BUF_PUSH (wordend);
+ break;
+
+ case 'b':
+ BUF_PUSH (wordbound);
+ break;
+
+ case 'B':
+ BUF_PUSH (notwordbound);
+ break;
+
+ case '`':
+ BUF_PUSH (begbuf);
+ break;
+
+ case '\'':
+ BUF_PUSH (endbuf);
+ break;
+
+ case '1': case '2': case '3': case '4': case '5':
+ case '6': case '7': case '8': case '9':
+ if (syntax & RE_NO_BK_REFS)
+ goto normal_char;
+
+ c1 = c - '0';
+
+ if (c1 > regnum)
+ return REG_ESUBREG;
+
+ /* Can't back reference to a subexpression if inside of it. */
+ if (group_in_compile_stack (compile_stack, c1))
+ goto normal_char;
+
+ laststart = b;
+ BUF_PUSH_2 (duplicate, c1);
+ break;
+
+
+ case '+':
+ case '?':
+ if (syntax & RE_BK_PLUS_QM)
+ goto handle_plus;
+ else
+ goto normal_backslash;
+
+ default:
+ normal_backslash:
+ /* You might think it would be useful for \ to mean
+ not to translate; but if we don't translate it
+ it will never match anything. */
+ c = TRANSLATE (c);
+ goto normal_char;
+ }
+ break;
+
+
+ default:
+ /* Expects the character in `c'. */
+ normal_char:
+ /* If no exactn currently being built. */
+ if (!pending_exact
+
+ /* If last exactn not at current position. */
+ || pending_exact + *pending_exact + 1 != b
+
+ /* We have only one byte following the exactn for the count. */
+ || *pending_exact == (1 << BYTEWIDTH) - 1
+
+ /* If followed by a repetition operator. */
+ || *p == '*' || *p == '^'
+ || ((syntax & RE_BK_PLUS_QM)
+ ? *p == '\\' && (p[1] == '+' || p[1] == '?')
+ : (*p == '+' || *p == '?'))
+ || ((syntax & RE_INTERVALS)
+ && ((syntax & RE_NO_BK_BRACES)
+ ? *p == '{'
+ : (p[0] == '\\' && p[1] == '{'))))
+ {
+ /* Start building a new exactn. */
+
+ laststart = b;
+
+ BUF_PUSH_2 (exactn, 0);
+ pending_exact = b - 1;
+ }
+
+ BUF_PUSH (c);
+ (*pending_exact)++;
+ break;
+ } /* switch (c) */
+ } /* while p != pend */
+
+
+ /* Through the pattern now. */
+
+ if (fixup_alt_jump)
+ STORE_JUMP (jump_past_alt, fixup_alt_jump, b);
+
+ if (!COMPILE_STACK_EMPTY)
+ return REG_EPAREN;
+
+ free (compile_stack.stack);
+
+ /* We have succeeded; set the length of the buffer. */
+ bufp->used = b - bufp->buffer;
+
+#ifdef DEBUG
+ if (debug)
+ {
+ DEBUG_PRINT1 ("\nCompiled pattern: ");
+ print_compiled_pattern (bufp);
+ }
+#endif /* DEBUG */
+
+ return REG_NOERROR;
+} /* regex_compile */
+
+/* Subroutines for `regex_compile'. */
+
+/* Store OP at LOC followed by two-byte integer parameter ARG. */
+
+static void
+store_op1 (op, loc, arg)
+ re_opcode_t op;
+ unsigned char *loc;
+ int arg;
+{
+ *loc = (unsigned char) op;
+ STORE_NUMBER (loc + 1, arg);
+}
+
+
+/* Like `store_op1', but for two two-byte parameters ARG1 and ARG2. */
+
+static void
+store_op2 (op, loc, arg1, arg2)
+ re_opcode_t op;
+ unsigned char *loc;
+ int arg1, arg2;
+{
+ *loc = (unsigned char) op;
+ STORE_NUMBER (loc + 1, arg1);
+ STORE_NUMBER (loc + 3, arg2);
+}
+
+
+/* Copy the bytes from LOC to END to open up three bytes of space at LOC
+ for OP followed by two-byte integer parameter ARG. */
+
+static void
+insert_op1 (op, loc, arg, end)
+ re_opcode_t op;
+ unsigned char *loc;
+ int arg;
+ unsigned char *end;
+{
+ register unsigned char *pfrom = end;
+ register unsigned char *pto = end + 3;
+
+ while (pfrom != loc)
+ *--pto = *--pfrom;
+
+ store_op1 (op, loc, arg);
+}
+
+
+/* Like `insert_op1', but for two two-byte parameters ARG1 and ARG2. */
+
+static void
+insert_op2 (op, loc, arg1, arg2, end)
+ re_opcode_t op;
+ unsigned char *loc;
+ int arg1, arg2;
+ unsigned char *end;
+{
+ register unsigned char *pfrom = end;
+ register unsigned char *pto = end + 5;
+
+ while (pfrom != loc)
+ *--pto = *--pfrom;
+
+ store_op2 (op, loc, arg1, arg2);
+}
+
+
+/* P points to just after a ^ in PATTERN. Return true if that ^ comes
+ after an alternative or a begin-subexpression. We assume there is at
+ least one character before the ^. */
+
+static boolean
+at_begline_loc_p (pattern, p, syntax)
+ const char *pattern, *p;
+ reg_syntax_t syntax;
+{
+ const char *prev = p - 2;
+ boolean prev_prev_backslash = prev > pattern && prev[-1] == '\\';
+
+ return
+ /* After a subexpression? */
+ (*prev == '(' && (syntax & RE_NO_BK_PARENS || prev_prev_backslash))
+ /* After an alternative? */
+ || (*prev == '|' && (syntax & RE_NO_BK_VBAR || prev_prev_backslash));
+}
+
+
+/* The dual of at_begline_loc_p. This one is for $. We assume there is
+ at least one character after the $, i.e., `P < PEND'. */
+
+static boolean
+at_endline_loc_p (p, pend, syntax)
+ const char *p, *pend;
+ int syntax;
+{
+ const char *next = p;
+ boolean next_backslash = *next == '\\';
+ const char *next_next = p + 1 < pend ? p + 1 : NULL;
+
+ return
+ /* Before a subexpression? */
+ (syntax & RE_NO_BK_PARENS ? *next == ')'
+ : next_backslash && next_next && *next_next == ')')
+ /* Before an alternative? */
+ || (syntax & RE_NO_BK_VBAR ? *next == '|'
+ : next_backslash && next_next && *next_next == '|');
+}
+
+
+/* Returns true if REGNUM is in one of COMPILE_STACK's elements and
+ false if it's not. */
+
+static boolean
+group_in_compile_stack (compile_stack, regnum)
+ compile_stack_type compile_stack;
+ regnum_t regnum;
+{
+ int this_element;
+
+ for (this_element = compile_stack.avail - 1;
+ this_element >= 0;
+ this_element--)
+ if (compile_stack.stack[this_element].regnum == regnum)
+ return true;
+
+ return false;
+}
+
+
+/* Read the ending character of a range (in a bracket expression) from the
+ uncompiled pattern *P_PTR (which ends at PEND). We assume the
+ starting character is in `P[-2]'. (`P[-1]' is the character `-'.)
+ Then we set the translation of all bits between the starting and
+ ending characters (inclusive) in the compiled pattern B.
+
+ Return an error code.
+
+ We use these short variable names so we can use the same macros as
+ `regex_compile' itself. */
+
+static reg_errcode_t
+compile_range (p_ptr, pend, translate, syntax, b)
+ const char **p_ptr, *pend;
+ char *translate;
+ reg_syntax_t syntax;
+ unsigned char *b;
+{
+ unsigned this_char;
+
+ const char *p = *p_ptr;
+ int range_start, range_end;
+
+ if (p == pend)
+ return REG_ERANGE;
+
+ /* Even though the pattern is a signed `char *', we need to fetch
+ with unsigned char *'s; if the high bit of the pattern character
+ is set, the range endpoints will be negative if we fetch using a
+ signed char *.
+
+ We also want to fetch the endpoints without translating them; the
+ appropriate translation is done in the bit-setting loop below. */
+ range_start = ((unsigned char *) p)[-2];
+ range_end = ((unsigned char *) p)[0];
+
+ /* Have to increment the pointer into the pattern string, so the
+ caller isn't still at the ending character. */
+ (*p_ptr)++;
+
+ /* If the start is after the end, the range is empty. */
+ if (range_start > range_end)
+ return syntax & RE_NO_EMPTY_RANGES ? REG_ERANGE : REG_NOERROR;
+
+ /* Here we see why `this_char' has to be larger than an `unsigned
+ char' -- the range is inclusive, so if `range_end' == 0xff
+ (assuming 8-bit characters), we would otherwise go into an infinite
+ loop, since all characters <= 0xff. */
+ for (this_char = range_start; this_char <= range_end; this_char++)
+ {
+ SET_LIST_BIT (TRANSLATE (this_char));
+ }
+
+ return REG_NOERROR;
+}
+
+/* Failure stack declarations and macros; both re_compile_fastmap and
+ re_match_2 use a failure stack. These have to be macros because of
+ REGEX_ALLOCATE. */
+
+
+/* Number of failure points for which to initially allocate space
+ when matching. If this number is exceeded, we allocate more
+ space, so it is not a hard limit. */
+#ifndef INIT_FAILURE_ALLOC
+#define INIT_FAILURE_ALLOC 5
+#endif
+
+/* Roughly the maximum number of failure points on the stack. Would be
+ exactly that if always used MAX_FAILURE_SPACE each time we failed.
+ This is a variable only so users of regex can assign to it; we never
+ change it ourselves. */
+int re_max_failures = 2000;
+
+typedef const unsigned char *fail_stack_elt_t;
+
+typedef struct
+{
+ fail_stack_elt_t *stack;
+ unsigned size;
+ unsigned avail; /* Offset of next open position. */
+} fail_stack_type;
+
+#define FAIL_STACK_EMPTY() (fail_stack.avail == 0)
+#define FAIL_STACK_PTR_EMPTY() (fail_stack_ptr->avail == 0)
+#define FAIL_STACK_FULL() (fail_stack.avail == fail_stack.size)
+#define FAIL_STACK_TOP() (fail_stack.stack[fail_stack.avail])
+
+
+/* Initialize `fail_stack'. Do `return -2' if the alloc fails. */
+
+#define INIT_FAIL_STACK() \
+ do { \
+ fail_stack.stack = (fail_stack_elt_t *) \
+ REGEX_ALLOCATE (INIT_FAILURE_ALLOC * sizeof (fail_stack_elt_t)); \
+ \
+ if (fail_stack.stack == NULL) \
+ return -2; \
+ \
+ fail_stack.size = INIT_FAILURE_ALLOC; \
+ fail_stack.avail = 0; \
+ } while (0)
+
+
+/* Double the size of FAIL_STACK, up to approximately `re_max_failures' items.
+
+ Return 1 if succeeds, and 0 if either ran out of memory
+ allocating space for it or it was already too large.
+
+ REGEX_REALLOCATE requires `destination' be declared. */
+
+#define DOUBLE_FAIL_STACK(fail_stack) \
+ ((fail_stack).size > re_max_failures * MAX_FAILURE_ITEMS \
+ ? 0 \
+ : ((fail_stack).stack = (fail_stack_elt_t *) \
+ REGEX_REALLOCATE ((fail_stack).stack, \
+ (fail_stack).size * sizeof (fail_stack_elt_t), \
+ ((fail_stack).size << 1) * sizeof (fail_stack_elt_t)), \
+ \
+ (fail_stack).stack == NULL \
+ ? 0 \
+ : ((fail_stack).size <<= 1, \
+ 1)))
+
+
+/* Push PATTERN_OP on FAIL_STACK.
+
+ Return 1 if was able to do so and 0 if ran out of memory allocating
+ space to do so. */
+#define PUSH_PATTERN_OP(pattern_op, fail_stack) \
+ ((FAIL_STACK_FULL () \
+ && !DOUBLE_FAIL_STACK (fail_stack)) \
+ ? 0 \
+ : ((fail_stack).stack[(fail_stack).avail++] = pattern_op, \
+ 1))
+
+/* This pushes an item onto the failure stack. Must be a four-byte
+ value. Assumes the variable `fail_stack'. Probably should only
+ be called from within `PUSH_FAILURE_POINT'. */
+#define PUSH_FAILURE_ITEM(item) \
+ fail_stack.stack[fail_stack.avail++] = (fail_stack_elt_t) item
+
+/* The complement operation. Assumes `fail_stack' is nonempty. */
+#define POP_FAILURE_ITEM() fail_stack.stack[--fail_stack.avail]
+
+/* Used to omit pushing failure point id's when we're not debugging. */
+#ifdef DEBUG
+#define DEBUG_PUSH PUSH_FAILURE_ITEM
+#define DEBUG_POP(item_addr) *(item_addr) = POP_FAILURE_ITEM ()
+#else
+#define DEBUG_PUSH(item)
+#define DEBUG_POP(item_addr)
+#endif
+
+
+/* Push the information about the state we will need
+ if we ever fail back to it.
+
+ Requires variables fail_stack, regstart, regend, reg_info, and
+ num_regs be declared. DOUBLE_FAIL_STACK requires `destination' be
+ declared.
+
+ Does `return FAILURE_CODE' if runs out of memory. */
+
+#define PUSH_FAILURE_POINT(pattern_place, string_place, failure_code) \
+ do { \
+ char *destination; \
+ /* Must be int, so when we don't save any registers, the arithmetic \
+ of 0 + -1 isn't done as unsigned. */ \
+ int this_reg; \
+ \
+ DEBUG_STATEMENT (failure_id++); \
+ DEBUG_STATEMENT (nfailure_points_pushed++); \
+ DEBUG_PRINT2 ("\nPUSH_FAILURE_POINT #%u:\n", failure_id); \
+ DEBUG_PRINT2 (" Before push, next avail: %d\n", (fail_stack).avail);\
+ DEBUG_PRINT2 (" size: %d\n", (fail_stack).size);\
+ \
+ DEBUG_PRINT2 (" slots needed: %d\n", NUM_FAILURE_ITEMS); \
+ DEBUG_PRINT2 (" available: %d\n", REMAINING_AVAIL_SLOTS); \
+ \
+ /* Ensure we have enough space allocated for what we will push. */ \
+ while (REMAINING_AVAIL_SLOTS < NUM_FAILURE_ITEMS) \
+ { \
+ if (!DOUBLE_FAIL_STACK (fail_stack)) \
+ return failure_code; \
+ \
+ DEBUG_PRINT2 ("\n Doubled stack; size now: %d\n", \
+ (fail_stack).size); \
+ DEBUG_PRINT2 (" slots available: %d\n", REMAINING_AVAIL_SLOTS);\
+ } \
+ \
+ /* Push the info, starting with the registers. */ \
+ DEBUG_PRINT1 ("\n"); \
+ \
+ for (this_reg = lowest_active_reg; this_reg <= highest_active_reg; \
+ this_reg++) \
+ { \
+ DEBUG_PRINT2 (" Pushing reg: %d\n", this_reg); \
+ DEBUG_STATEMENT (num_regs_pushed++); \
+ \
+ DEBUG_PRINT2 (" start: 0x%x\n", regstart[this_reg]); \
+ PUSH_FAILURE_ITEM (regstart[this_reg]); \
+ \
+ DEBUG_PRINT2 (" end: 0x%x\n", regend[this_reg]); \
+ PUSH_FAILURE_ITEM (regend[this_reg]); \
+ \
+ DEBUG_PRINT2 (" info: 0x%x\n ", reg_info[this_reg]); \
+ DEBUG_PRINT2 (" match_null=%d", \
+ REG_MATCH_NULL_STRING_P (reg_info[this_reg])); \
+ DEBUG_PRINT2 (" active=%d", IS_ACTIVE (reg_info[this_reg])); \
+ DEBUG_PRINT2 (" matched_something=%d", \
+ MATCHED_SOMETHING (reg_info[this_reg])); \
+ DEBUG_PRINT2 (" ever_matched=%d", \
+ EVER_MATCHED_SOMETHING (reg_info[this_reg])); \
+ DEBUG_PRINT1 ("\n"); \
+ PUSH_FAILURE_ITEM (reg_info[this_reg].word); \
+ } \
+ \
+ DEBUG_PRINT2 (" Pushing low active reg: %d\n", lowest_active_reg);\
+ PUSH_FAILURE_ITEM (lowest_active_reg); \
+ \
+ DEBUG_PRINT2 (" Pushing high active reg: %d\n", highest_active_reg);\
+ PUSH_FAILURE_ITEM (highest_active_reg); \
+ \
+ DEBUG_PRINT2 (" Pushing pattern 0x%x: ", pattern_place); \
+ DEBUG_PRINT_COMPILED_PATTERN (bufp, pattern_place, pend); \
+ PUSH_FAILURE_ITEM (pattern_place); \
+ \
+ DEBUG_PRINT2 (" Pushing string 0x%x: `", string_place); \
+ DEBUG_PRINT_DOUBLE_STRING (string_place, string1, size1, string2, \
+ size2); \
+ DEBUG_PRINT1 ("'\n"); \
+ PUSH_FAILURE_ITEM (string_place); \
+ \
+ DEBUG_PRINT2 (" Pushing failure id: %u\n", failure_id); \
+ DEBUG_PUSH (failure_id); \
+ } while (0)
+
+/* This is the number of items that are pushed and popped on the stack
+ for each register. */
+#define NUM_REG_ITEMS 3
+
+/* Individual items aside from the registers. */
+#ifdef DEBUG
+#define NUM_NONREG_ITEMS 5 /* Includes failure point id. */
+#else
+#define NUM_NONREG_ITEMS 4
+#endif
+
+/* We push at most this many items on the stack. */
+#define MAX_FAILURE_ITEMS ((num_regs - 1) * NUM_REG_ITEMS + NUM_NONREG_ITEMS)
+
+/* We actually push this many items. */
+#define NUM_FAILURE_ITEMS \
+ ((highest_active_reg - lowest_active_reg + 1) * NUM_REG_ITEMS \
+ + NUM_NONREG_ITEMS)
+
+/* How many items can still be added to the stack without overflowing it. */
+#define REMAINING_AVAIL_SLOTS ((fail_stack).size - (fail_stack).avail)
+
+
+/* Pops what PUSH_FAIL_STACK pushes.
+
+ We restore into the parameters, all of which should be lvalues:
+ STR -- the saved data position.
+ PAT -- the saved pattern position.
+ LOW_REG, HIGH_REG -- the highest and lowest active registers.
+ REGSTART, REGEND -- arrays of string positions.
+ REG_INFO -- array of information about each subexpression.
+
+ Also assumes the variables `fail_stack' and (if debugging), `bufp',
+ `pend', `string1', `size1', `string2', and `size2'. */
+
+#define POP_FAILURE_POINT(str, pat, low_reg, high_reg, regstart, regend, reg_info)\
+{ \
+ DEBUG_STATEMENT (fail_stack_elt_t failure_id;) \
+ int this_reg; \
+ const unsigned char *string_temp; \
+ \
+ assert (!FAIL_STACK_EMPTY ()); \
+ \
+ /* Remove failure points and point to how many regs pushed. */ \
+ DEBUG_PRINT1 ("POP_FAILURE_POINT:\n"); \
+ DEBUG_PRINT2 (" Before pop, next avail: %d\n", fail_stack.avail); \
+ DEBUG_PRINT2 (" size: %d\n", fail_stack.size); \
+ \
+ assert (fail_stack.avail >= NUM_NONREG_ITEMS); \
+ \
+ DEBUG_POP (&failure_id); \
+ DEBUG_PRINT2 (" Popping failure id: %u\n", failure_id); \
+ \
+ /* If the saved string location is NULL, it came from an \
+ on_failure_keep_string_jump opcode, and we want to throw away the \
+ saved NULL, thus retaining our current position in the string. */ \
+ string_temp = POP_FAILURE_ITEM (); \
+ if (string_temp != NULL) \
+ str = (const char *) string_temp; \
+ \
+ DEBUG_PRINT2 (" Popping string 0x%x: `", str); \
+ DEBUG_PRINT_DOUBLE_STRING (str, string1, size1, string2, size2); \
+ DEBUG_PRINT1 ("'\n"); \
+ \
+ pat = (unsigned char *) POP_FAILURE_ITEM (); \
+ DEBUG_PRINT2 (" Popping pattern 0x%x: ", pat); \
+ DEBUG_PRINT_COMPILED_PATTERN (bufp, pat, pend); \
+ \
+ /* Restore register info. */ \
+ high_reg = (unsigned) POP_FAILURE_ITEM (); \
+ DEBUG_PRINT2 (" Popping high active reg: %d\n", high_reg); \
+ \
+ low_reg = (unsigned) POP_FAILURE_ITEM (); \
+ DEBUG_PRINT2 (" Popping low active reg: %d\n", low_reg); \
+ \
+ for (this_reg = high_reg; this_reg >= low_reg; this_reg--) \
+ { \
+ DEBUG_PRINT2 (" Popping reg: %d\n", this_reg); \
+ \
+ reg_info[this_reg].word = POP_FAILURE_ITEM (); \
+ DEBUG_PRINT2 (" info: 0x%x\n", reg_info[this_reg]); \
+ \
+ regend[this_reg] = (const char *) POP_FAILURE_ITEM (); \
+ DEBUG_PRINT2 (" end: 0x%x\n", regend[this_reg]); \
+ \
+ regstart[this_reg] = (const char *) POP_FAILURE_ITEM (); \
+ DEBUG_PRINT2 (" start: 0x%x\n", regstart[this_reg]); \
+ } \
+ \
+ DEBUG_STATEMENT (nfailure_points_popped++); \
+} /* POP_FAILURE_POINT */
+
+/* re_compile_fastmap computes a ``fastmap'' for the compiled pattern in
+ BUFP. A fastmap records which of the (1 << BYTEWIDTH) possible
+ characters can start a string that matches the pattern. This fastmap
+ is used by re_search to skip quickly over impossible starting points.
+
+ The caller must supply the address of a (1 << BYTEWIDTH)-byte data
+ area as BUFP->fastmap.
+
+ We set the `fastmap', `fastmap_accurate', and `can_be_null' fields in
+ the pattern buffer.
+
+ Returns 0 if we succeed, -2 if an internal error. */
+
+int
+re_compile_fastmap (bufp)
+ struct re_pattern_buffer *bufp;
+{
+ int j, k;
+ fail_stack_type fail_stack;
+#ifndef REGEX_MALLOC
+ char *destination;
+#endif
+ /* We don't push any register information onto the failure stack. */
+ unsigned num_regs = 0;
+
+ register char *fastmap = bufp->fastmap;
+ unsigned char *pattern = bufp->buffer;
+ unsigned long size = bufp->used;
+ const unsigned char *p = pattern;
+ register unsigned char *pend = pattern + size;
+
+ /* Assume that each path through the pattern can be null until
+ proven otherwise. We set this false at the bottom of switch
+ statement, to which we get only if a particular path doesn't
+ match the empty string. */
+ boolean path_can_be_null = true;
+
+ /* We aren't doing a `succeed_n' to begin with. */
+ boolean succeed_n_p = false;
+
+ assert (fastmap != NULL && p != NULL);
+
+ INIT_FAIL_STACK ();
+ bzero (fastmap, 1 << BYTEWIDTH); /* Assume nothing's valid. */
+ bufp->fastmap_accurate = 1; /* It will be when we're done. */
+ bufp->can_be_null = 0;
+
+ while (p != pend || !FAIL_STACK_EMPTY ())
+ {
+ if (p == pend)
+ {
+ bufp->can_be_null |= path_can_be_null;
+
+ /* Reset for next path. */
+ path_can_be_null = true;
+
+ p = fail_stack.stack[--fail_stack.avail];
+ }
+
+ /* We should never be about to go beyond the end of the pattern. */
+ assert (p < pend);
+
+#ifdef SWITCH_ENUM_BUG
+ switch ((int) ((re_opcode_t) *p++))
+#else
+ switch ((re_opcode_t) *p++)
+#endif
+ {
+
+ /* I guess the idea here is to simply not bother with a fastmap
+ if a backreference is used, since it's too hard to figure out
+ the fastmap for the corresponding group. Setting
+ `can_be_null' stops `re_search_2' from using the fastmap, so
+ that is all we do. */
+ case duplicate:
+ bufp->can_be_null = 1;
+ return 0;
+
+
+ /* Following are the cases which match a character. These end
+ with `break'. */
+
+ case exactn:
+ fastmap[p[1]] = 1;
+ break;
+
+
+ case charset:
+ for (j = *p++ * BYTEWIDTH - 1; j >= 0; j--)
+ if (p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH)))
+ fastmap[j] = 1;
+ break;
+
+
+ case charset_not:
+ /* Chars beyond end of map must be allowed. */
+ for (j = *p * BYTEWIDTH; j < (1 << BYTEWIDTH); j++)
+ fastmap[j] = 1;
+
+ for (j = *p++ * BYTEWIDTH - 1; j >= 0; j--)
+ if (!(p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH))))
+ fastmap[j] = 1;
+ break;
+
+
+ case wordchar:
+ for (j = 0; j < (1 << BYTEWIDTH); j++)
+ if (SYNTAX (j) == Sword)
+ fastmap[j] = 1;
+ break;
+
+
+ case notwordchar:
+ for (j = 0; j < (1 << BYTEWIDTH); j++)
+ if (SYNTAX (j) != Sword)
+ fastmap[j] = 1;
+ break;
+
+
+ case anychar:
+ /* `.' matches anything ... */
+ for (j = 0; j < (1 << BYTEWIDTH); j++)
+ fastmap[j] = 1;
+
+ /* ... except perhaps newline. */
+ if (!(bufp->syntax & RE_DOT_NEWLINE))
+ fastmap['\n'] = 0;
+
+ /* Return if we have already set `can_be_null'; if we have,
+ then the fastmap is irrelevant. Something's wrong here. */
+ else if (bufp->can_be_null)
+ return 0;
+
+ /* Otherwise, have to check alternative paths. */
+ break;
+
+
+#ifdef emacs
+ case syntaxspec:
+ k = *p++;
+ for (j = 0; j < (1 << BYTEWIDTH); j++)
+ if (SYNTAX (j) == (enum syntaxcode) k)
+ fastmap[j] = 1;
+ break;
+
+
+ case notsyntaxspec:
+ k = *p++;
+ for (j = 0; j < (1 << BYTEWIDTH); j++)
+ if (SYNTAX (j) != (enum syntaxcode) k)
+ fastmap[j] = 1;
+ break;
+
+
+ /* All cases after this match the empty string. These end with
+ `continue'. */
+
+
+ case before_dot:
+ case at_dot:
+ case after_dot:
+ continue;
+#endif /* not emacs */
+
+
+ case no_op:
+ case begline:
+ case endline:
+ case begbuf:
+ case endbuf:
+ case wordbound:
+ case notwordbound:
+ case wordbeg:
+ case wordend:
+ case push_dummy_failure:
+ continue;
+
+
+ case jump_n:
+ case pop_failure_jump:
+ case maybe_pop_jump:
+ case jump:
+ case jump_past_alt:
+ case dummy_failure_jump:
+ EXTRACT_NUMBER_AND_INCR (j, p);
+ p += j;
+ if (j > 0)
+ continue;
+
+ /* Jump backward implies we just went through the body of a
+ loop and matched nothing. Opcode jumped to should be
+ `on_failure_jump' or `succeed_n'. Just treat it like an
+ ordinary jump. For a * loop, it has pushed its failure
+ point already; if so, discard that as redundant. */
+ if ((re_opcode_t) *p != on_failure_jump
+ && (re_opcode_t) *p != succeed_n)
+ continue;
+
+ p++;
+ EXTRACT_NUMBER_AND_INCR (j, p);
+ p += j;
+
+ /* If what's on the stack is where we are now, pop it. */
+ if (!FAIL_STACK_EMPTY ()
+ && fail_stack.stack[fail_stack.avail - 1] == p)
+ fail_stack.avail--;
+
+ continue;
+
+
+ case on_failure_jump:
+ case on_failure_keep_string_jump:
+ handle_on_failure_jump:
+ EXTRACT_NUMBER_AND_INCR (j, p);
+
+ /* For some patterns, e.g., `(a?)?', `p+j' here points to the
+ end of the pattern. We don't want to push such a point,
+ since when we restore it above, entering the switch will
+ increment `p' past the end of the pattern. We don't need
+ to push such a point since we obviously won't find any more
+ fastmap entries beyond `pend'. Such a pattern can match
+ the null string, though. */
+ if (p + j < pend)
+ {
+ if (!PUSH_PATTERN_OP (p + j, fail_stack))
+ return -2;
+ }
+ else
+ bufp->can_be_null = 1;
+
+ if (succeed_n_p)
+ {
+ EXTRACT_NUMBER_AND_INCR (k, p); /* Skip the n. */
+ succeed_n_p = false;
+ }
+
+ continue;
+
+
+ case succeed_n:
+ /* Get to the number of times to succeed. */
+ p += 2;
+
+ /* Increment p past the n for when k != 0. */
+ EXTRACT_NUMBER_AND_INCR (k, p);
+ if (k == 0)
+ {
+ p -= 4;
+ succeed_n_p = true; /* Spaghetti code alert. */
+ goto handle_on_failure_jump;
+ }
+ continue;
+
+
+ case set_number_at:
+ p += 4;
+ continue;
+
+
+ case start_memory:
+ case stop_memory:
+ p += 2;
+ continue;
+
+
+ default:
+ abort (); /* We have listed all the cases. */
+ } /* switch *p++ */
+
+ /* Getting here means we have found the possible starting
+ characters for one path of the pattern -- and that the empty
+ string does not match. We need not follow this path further.
+ Instead, look at the next alternative (remembered on the
+ stack), or quit if no more. The test at the top of the loop
+ does these things. */
+ path_can_be_null = false;
+ p = pend;
+ } /* while p */
+
+ /* Set `can_be_null' for the last path (also the first path, if the
+ pattern is empty). */
+ bufp->can_be_null |= path_can_be_null;
+ return 0;
+} /* re_compile_fastmap */
+
+/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
+ ENDS. Subsequent matches using PATTERN_BUFFER and REGS will use
+ this memory for recording register information. STARTS and ENDS
+ must be allocated using the malloc library routine, and must each
+ be at least NUM_REGS * sizeof (regoff_t) bytes long.
+
+ If NUM_REGS == 0, then subsequent matches should allocate their own
+ register data.
+
+ Unless this function is called, the first search or match using
+ PATTERN_BUFFER will allocate its own register data, without
+ freeing the old data. */
+
+void
+re_set_registers (bufp, regs, num_regs, starts, ends)
+ struct re_pattern_buffer *bufp;
+ struct re_registers *regs;
+ unsigned num_regs;
+ regoff_t *starts, *ends;
+{
+ if (num_regs)
+ {
+ bufp->regs_allocated = REGS_REALLOCATE;
+ regs->num_regs = num_regs;
+ regs->start = starts;
+ regs->end = ends;
+ }
+ else
+ {
+ bufp->regs_allocated = REGS_UNALLOCATED;
+ regs->num_regs = 0;
+ regs->start = regs->end = (regoff_t) 0;
+ }
+}
+
+/* Searching routines. */
+
+/* Like re_search_2, below, but only one string is specified, and
+ doesn't let you say where to stop matching. */
+
+int
+re_search (bufp, string, size, startpos, range, regs)
+ struct re_pattern_buffer *bufp;
+ const char *string;
+ int size, startpos, range;
+ struct re_registers *regs;
+{
+ return re_search_2 (bufp, NULL, 0, string, size, startpos, range,
+ regs, size);
+}
+
+
+/* Using the compiled pattern in BUFP->buffer, first tries to match the
+ virtual concatenation of STRING1 and STRING2, starting first at index
+ STARTPOS, then at STARTPOS + 1, and so on.
+
+ STRING1 and STRING2 have length SIZE1 and SIZE2, respectively.
+
+ RANGE is how far to scan while trying to match. RANGE = 0 means try
+ only at STARTPOS; in general, the last start tried is STARTPOS +
+ RANGE.
+
+ In REGS, return the indices of the virtual concatenation of STRING1
+ and STRING2 that matched the entire BUFP->buffer and its contained
+ subexpressions.
+
+ Do not consider matching one past the index STOP in the virtual
+ concatenation of STRING1 and STRING2.
+
+ We return either the position in the strings at which the match was
+ found, -1 if no match, or -2 if error (such as failure
+ stack overflow). */
+
+int
+re_search_2 (bufp, string1, size1, string2, size2, startpos, range, regs, stop)
+ struct re_pattern_buffer *bufp;
+ const char *string1, *string2;
+ int size1, size2;
+ int startpos;
+ int range;
+ struct re_registers *regs;
+ int stop;
+{
+ int val;
+ register char *fastmap = bufp->fastmap;
+ register char *translate = bufp->translate;
+ int total_size = size1 + size2;
+ int endpos = startpos + range;
+
+ /* Check for out-of-range STARTPOS. */
+ if (startpos < 0 || startpos > total_size)
+ return -1;
+
+ /* Fix up RANGE if it might eventually take us outside
+ the virtual concatenation of STRING1 and STRING2. */
+ if (endpos < -1)
+ range = -1 - startpos;
+ else if (endpos > total_size)
+ range = total_size - startpos;
+
+ /* If the search isn't to be a backwards one, don't waste time in a
+ search for a pattern that must be anchored. */
+ if (bufp->used > 0 && (re_opcode_t) bufp->buffer[0] == begbuf && range > 0)
+ {
+ if (startpos > 0)
+ return -1;
+ else
+ range = 1;
+ }
+
+ /* Update the fastmap now if not correct already. */
+ if (fastmap && !bufp->fastmap_accurate)
+ if (re_compile_fastmap (bufp) == -2)
+ return -2;
+
+ /* Loop through the string, looking for a place to start matching. */
+ for (;;)
+ {
+ /* If a fastmap is supplied, skip quickly over characters that
+ cannot be the start of a match. If the pattern can match the
+ null string, however, we don't need to skip characters; we want
+ the first null string. */
+ if (fastmap && startpos < total_size && !bufp->can_be_null)
+ {
+ if (range > 0) /* Searching forwards. */
+ {
+ register const char *d;
+ register int lim = 0;
+ int irange = range;
+
+ if (startpos < size1 && startpos + range >= size1)
+ lim = range - (size1 - startpos);
+
+ d = (startpos >= size1 ? string2 - size1 : string1) + startpos;
+
+ /* Written out as an if-else to avoid testing `translate'
+ inside the loop. */
+ if (translate)
+ while (range > lim
+ && !fastmap[(unsigned char)
+ translate[(unsigned char) *d++]])
+ range--;
+ else
+ while (range > lim && !fastmap[(unsigned char) *d++])
+ range--;
+
+ startpos += irange - range;
+ }
+ else /* Searching backwards. */
+ {
+ register char c = (size1 == 0 || startpos >= size1
+ ? string2[startpos - size1]
+ : string1[startpos]);
+
+ if (!fastmap[(unsigned char) TRANSLATE (c)])
+ goto advance;
+ }
+ }
+
+ /* If can't match the null string, and that's all we have left, fail. */
+ if (range >= 0 && startpos == total_size && fastmap
+ && !bufp->can_be_null)
+ return -1;
+
+ val = re_match_2 (bufp, string1, size1, string2, size2,
+ startpos, regs, stop);
+ if (val >= 0)
+ return startpos;
+
+ if (val == -2)
+ return -2;
+
+ advance:
+ if (!range)
+ break;
+ else if (range > 0)
+ {
+ range--;
+ startpos++;
+ }
+ else
+ {
+ range++;
+ startpos--;
+ }
+ }
+ return -1;
+} /* re_search_2 */
+
+/* Declarations and macros for re_match_2. */
+
+static int bcmp_translate ();
+static boolean alt_match_null_string_p (),
+ common_op_match_null_string_p (),
+ group_match_null_string_p ();
+
+/* Structure for per-register (a.k.a. per-group) information.
+ This must not be longer than one word, because we push this value
+ onto the failure stack. Other register information, such as the
+ starting and ending positions (which are addresses), and the list of
+ inner groups (which is a bits list) are maintained in separate
+ variables.
+
+ We are making a (strictly speaking) nonportable assumption here: that
+ the compiler will pack our bit fields into something that fits into
+ the type of `word', i.e., is something that fits into one item on the
+ failure stack. */
+typedef union
+{
+ fail_stack_elt_t word;
+ struct
+ {
+ /* This field is one if this group can match the empty string,
+ zero if not. If not yet determined, `MATCH_NULL_UNSET_VALUE'. */
+#define MATCH_NULL_UNSET_VALUE 3
+ unsigned match_null_string_p : 2;
+ unsigned is_active : 1;
+ unsigned matched_something : 1;
+ unsigned ever_matched_something : 1;
+ } bits;
+} register_info_type;
+
+#define REG_MATCH_NULL_STRING_P(R) ((R).bits.match_null_string_p)
+#define IS_ACTIVE(R) ((R).bits.is_active)
+#define MATCHED_SOMETHING(R) ((R).bits.matched_something)
+#define EVER_MATCHED_SOMETHING(R) ((R).bits.ever_matched_something)
+
+
+/* Call this when have matched a real character; it sets `matched' flags
+ for the subexpressions which we are currently inside. Also records
+ that those subexprs have matched. */
+#define SET_REGS_MATCHED() \
+ do \
+ { \
+ unsigned r; \
+ for (r = lowest_active_reg; r <= highest_active_reg; r++) \
+ { \
+ MATCHED_SOMETHING (reg_info[r]) \
+ = EVER_MATCHED_SOMETHING (reg_info[r]) \
+ = 1; \
+ } \
+ } \
+ while (0)
+
+
+/* This converts PTR, a pointer into one of the search strings `string1'
+ and `string2' into an offset from the beginning of that string. */
+#define POINTER_TO_OFFSET(ptr) \
+ (FIRST_STRING_P (ptr) ? (ptr) - string1 : (ptr) - string2 + size1)
+
+/* Registers are set to a sentinel when they haven't yet matched. */
+#define REG_UNSET_VALUE ((char *) -1)
+#define REG_UNSET(e) ((e) == REG_UNSET_VALUE)
+
+
+/* Macros for dealing with the split strings in re_match_2. */
+
+#define MATCHING_IN_FIRST_STRING (dend == end_match_1)
+
+/* Call before fetching a character with *d. This switches over to
+ string2 if necessary. */
+#define PREFETCH() \
+ while (d == dend) \
+ { \
+ /* End of string2 => fail. */ \
+ if (dend == end_match_2) \
+ goto fail; \
+ /* End of string1 => advance to string2. */ \
+ d = string2; \
+ dend = end_match_2; \
+ }
+
+
+/* Test if at very beginning or at very end of the virtual concatenation
+ of `string1' and `string2'. If only one string, it's `string2'. */
+#define AT_STRINGS_BEG(d) ((d) == (size1 ? string1 : string2) || !size2)
+#define AT_STRINGS_END(d) ((d) == end2)
+
+
+/* Test if D points to a character which is word-constituent. We have
+ two special cases to check for: if past the end of string1, look at
+ the first character in string2; and if before the beginning of
+ string2, look at the last character in string1. */
+#define WORDCHAR_P(d) \
+ (SYNTAX ((d) == end1 ? *string2 \
+ : (d) == string2 - 1 ? *(end1 - 1) : *(d)) \
+ == Sword)
+
+/* Test if the character before D and the one at D differ with respect
+ to being word-constituent. */
+#define AT_WORD_BOUNDARY(d) \
+ (AT_STRINGS_BEG (d) || AT_STRINGS_END (d) \
+ || WORDCHAR_P (d - 1) != WORDCHAR_P (d))
+
+
+/* Free everything we malloc. */
+#ifdef REGEX_MALLOC
+#define FREE_VAR(var) if (var) free (var); var = NULL
+#define FREE_VARIABLES() \
+ do { \
+ FREE_VAR (fail_stack.stack); \
+ FREE_VAR (regstart); \
+ FREE_VAR (regend); \
+ FREE_VAR (old_regstart); \
+ FREE_VAR (old_regend); \
+ FREE_VAR (best_regstart); \
+ FREE_VAR (best_regend); \
+ FREE_VAR (reg_info); \
+ FREE_VAR (reg_dummy); \
+ FREE_VAR (reg_info_dummy); \
+ } while (0)
+#else /* not REGEX_MALLOC */
+/* Some MIPS systems (at least) want this to free alloca'd storage. */
+#define FREE_VARIABLES() alloca (0)
+#endif /* not REGEX_MALLOC */
+
+
+/* These values must meet several constraints. They must not be valid
+ register values; since we have a limit of 255 registers (because
+ we use only one byte in the pattern for the register number), we can
+ use numbers larger than 255. They must differ by 1, because of
+ NUM_FAILURE_ITEMS above. And the value for the lowest register must
+ be larger than the value for the highest register, so we do not try
+ to actually save any registers when none are active. */
+#define NO_HIGHEST_ACTIVE_REG (1 << BYTEWIDTH)
+#define NO_LOWEST_ACTIVE_REG (NO_HIGHEST_ACTIVE_REG + 1)
+
+/* Matching routines. */
+
+#ifndef emacs /* Emacs never uses this. */
+/* re_match is like re_match_2 except it takes only a single string. */
+
+int
+re_match (bufp, string, size, pos, regs)
+ struct re_pattern_buffer *bufp;
+ const char *string;
+ int size, pos;
+ struct re_registers *regs;
+ {
+ return re_match_2 (bufp, NULL, 0, string, size, pos, regs, size);
+}
+#endif /* not emacs */
+
+
+/* re_match_2 matches the compiled pattern in BUFP against the
+ the (virtual) concatenation of STRING1 and STRING2 (of length SIZE1
+ and SIZE2, respectively). We start matching at POS, and stop
+ matching at STOP.
+
+ If REGS is non-null and the `no_sub' field of BUFP is nonzero, we
+ store offsets for the substring each group matched in REGS. See the
+ documentation for exactly how many groups we fill.
+
+ We return -1 if no match, -2 if an internal error (such as the
+ failure stack overflowing). Otherwise, we return the length of the
+ matched substring. */
+
+int
+re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop)
+ struct re_pattern_buffer *bufp;
+ const char *string1, *string2;
+ int size1, size2;
+ int pos;
+ struct re_registers *regs;
+ int stop;
+{
+ /* General temporaries. */
+ int mcnt;
+ unsigned char *p1;
+
+ /* Just past the end of the corresponding string. */
+ const char *end1, *end2;
+
+ /* Pointers into string1 and string2, just past the last characters in
+ each to consider matching. */
+ const char *end_match_1, *end_match_2;
+
+ /* Where we are in the data, and the end of the current string. */
+ const char *d, *dend;
+
+ /* Where we are in the pattern, and the end of the pattern. */
+ unsigned char *p = bufp->buffer;
+ register unsigned char *pend = p + bufp->used;
+
+ /* We use this to map every character in the string. */
+ char *translate = bufp->translate;
+
+ /* Failure point stack. Each place that can handle a failure further
+ down the line pushes a failure point on this stack. It consists of
+ restart, regend, and reg_info for all registers corresponding to
+ the subexpressions we're currently inside, plus the number of such
+ registers, and, finally, two char *'s. The first char * is where
+ to resume scanning the pattern; the second one is where to resume
+ scanning the strings. If the latter is zero, the failure point is
+ a ``dummy''; if a failure happens and the failure point is a dummy,
+ it gets discarded and the next next one is tried. */
+ fail_stack_type fail_stack;
+#ifdef DEBUG
+ static unsigned failure_id = 0;
+ unsigned nfailure_points_pushed = 0, nfailure_points_popped = 0;
+#endif
+
+ /* We fill all the registers internally, independent of what we
+ return, for use in backreferences. The number here includes
+ an element for register zero. */
+ unsigned num_regs = bufp->re_nsub + 1;
+
+ /* The currently active registers. */
+ unsigned lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+ unsigned highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+
+ /* Information on the contents of registers. These are pointers into
+ the input strings; they record just what was matched (on this
+ attempt) by a subexpression part of the pattern, that is, the
+ regnum-th regstart pointer points to where in the pattern we began
+ matching and the regnum-th regend points to right after where we
+ stopped matching the regnum-th subexpression. (The zeroth register
+ keeps track of what the whole pattern matches.) */
+ const char **regstart, **regend;
+
+ /* If a group that's operated upon by a repetition operator fails to
+ match anything, then the register for its start will need to be
+ restored because it will have been set to wherever in the string we
+ are when we last see its open-group operator. Similarly for a
+ register's end. */
+ const char **old_regstart, **old_regend;
+
+ /* The is_active field of reg_info helps us keep track of which (possibly
+ nested) subexpressions we are currently in. The matched_something
+ field of reg_info[reg_num] helps us tell whether or not we have
+ matched any of the pattern so far this time through the reg_num-th
+ subexpression. These two fields get reset each time through any
+ loop their register is in. */
+ register_info_type *reg_info;
+
+ /* The following record the register info as found in the above
+ variables when we find a match better than any we've seen before.
+ This happens as we backtrack through the failure points, which in
+ turn happens only if we have not yet matched the entire string. */
+ unsigned best_regs_set = false;
+ const char **best_regstart, **best_regend;
+
+ /* Logically, this is `best_regend[0]'. But we don't want to have to
+ allocate space for that if we're not allocating space for anything
+ else (see below). Also, we never need info about register 0 for
+ any of the other register vectors, and it seems rather a kludge to
+ treat `best_regend' differently than the rest. So we keep track of
+ the end of the best match so far in a separate variable. We
+ initialize this to NULL so that when we backtrack the first time
+ and need to test it, it's not garbage. */
+ const char *match_end = NULL;
+
+ /* Used when we pop values we don't care about. */
+ const char **reg_dummy;
+ register_info_type *reg_info_dummy;
+
+#ifdef DEBUG
+ /* Counts the total number of registers pushed. */
+ unsigned num_regs_pushed = 0;
+#endif
+
+ DEBUG_PRINT1 ("\n\nEntering re_match_2.\n");
+
+ INIT_FAIL_STACK ();
+
+ /* Do not bother to initialize all the register variables if there are
+ no groups in the pattern, as it takes a fair amount of time. If
+ there are groups, we include space for register 0 (the whole
+ pattern), even though we never use it, since it simplifies the
+ array indexing. We should fix this. */
+ if (bufp->re_nsub)
+ {
+ regstart = REGEX_TALLOC (num_regs, const char *);
+ regend = REGEX_TALLOC (num_regs, const char *);
+ old_regstart = REGEX_TALLOC (num_regs, const char *);
+ old_regend = REGEX_TALLOC (num_regs, const char *);
+ best_regstart = REGEX_TALLOC (num_regs, const char *);
+ best_regend = REGEX_TALLOC (num_regs, const char *);
+ reg_info = REGEX_TALLOC (num_regs, register_info_type);
+ reg_dummy = REGEX_TALLOC (num_regs, const char *);
+ reg_info_dummy = REGEX_TALLOC (num_regs, register_info_type);
+
+ if (!(regstart && regend && old_regstart && old_regend && reg_info
+ && best_regstart && best_regend && reg_dummy && reg_info_dummy))
+ {
+ FREE_VARIABLES ();
+ return -2;
+ }
+ }
+#ifdef REGEX_MALLOC
+ else
+ {
+ /* We must initialize all our variables to NULL, so that
+ `FREE_VARIABLES' doesn't try to free them. */
+ regstart = regend = old_regstart = old_regend = best_regstart
+ = best_regend = reg_dummy = NULL;
+ reg_info = reg_info_dummy = (register_info_type *) NULL;
+ }
+#endif /* REGEX_MALLOC */
+
+ /* The starting position is bogus. */
+ if (pos < 0 || pos > size1 + size2)
+ {
+ FREE_VARIABLES ();
+ return -1;
+ }
+
+ /* Initialize subexpression text positions to -1 to mark ones that no
+ start_memory/stop_memory has been seen for. Also initialize the
+ register information struct. */
+ for (mcnt = 1; mcnt < num_regs; mcnt++)
+ {
+ regstart[mcnt] = regend[mcnt]
+ = old_regstart[mcnt] = old_regend[mcnt] = REG_UNSET_VALUE;
+
+ REG_MATCH_NULL_STRING_P (reg_info[mcnt]) = MATCH_NULL_UNSET_VALUE;
+ IS_ACTIVE (reg_info[mcnt]) = 0;
+ MATCHED_SOMETHING (reg_info[mcnt]) = 0;
+ EVER_MATCHED_SOMETHING (reg_info[mcnt]) = 0;
+ }
+
+ /* We move `string1' into `string2' if the latter's empty -- but not if
+ `string1' is null. */
+ if (size2 == 0 && string1 != NULL)
+ {
+ string2 = string1;
+ size2 = size1;
+ string1 = 0;
+ size1 = 0;
+ }
+ end1 = string1 + size1;
+ end2 = string2 + size2;
+
+ /* Compute where to stop matching, within the two strings. */
+ if (stop <= size1)
+ {
+ end_match_1 = string1 + stop;
+ end_match_2 = string2;
+ }
+ else
+ {
+ end_match_1 = end1;
+ end_match_2 = string2 + stop - size1;
+ }
+
+ /* `p' scans through the pattern as `d' scans through the data.
+ `dend' is the end of the input string that `d' points within. `d'
+ is advanced into the following input string whenever necessary, but
+ this happens before fetching; therefore, at the beginning of the
+ loop, `d' can be pointing at the end of a string, but it cannot
+ equal `string2'. */
+ if (size1 > 0 && pos <= size1)
+ {
+ d = string1 + pos;
+ dend = end_match_1;
+ }
+ else
+ {
+ d = string2 + pos - size1;
+ dend = end_match_2;
+ }
+
+ DEBUG_PRINT1 ("The compiled pattern is: ");
+ DEBUG_PRINT_COMPILED_PATTERN (bufp, p, pend);
+ DEBUG_PRINT1 ("The string to match is: `");
+ DEBUG_PRINT_DOUBLE_STRING (d, string1, size1, string2, size2);
+ DEBUG_PRINT1 ("'\n");
+
+ /* This loops over pattern commands. It exits by returning from the
+ function if the match is complete, or it drops through if the match
+ fails at this starting point in the input data. */
+ for (;;)
+ {
+ DEBUG_PRINT2 ("\n0x%x: ", p);
+
+ if (p == pend)
+ { /* End of pattern means we might have succeeded. */
+ DEBUG_PRINT1 ("end of pattern ... ");
+
+ /* If we haven't matched the entire string, and we want the
+ longest match, try backtracking. */
+ if (d != end_match_2)
+ {
+ DEBUG_PRINT1 ("backtracking.\n");
+
+ if (!FAIL_STACK_EMPTY ())
+ { /* More failure points to try. */
+ boolean same_str_p = (FIRST_STRING_P (match_end)
+ == MATCHING_IN_FIRST_STRING);
+
+ /* If exceeds best match so far, save it. */
+ if (!best_regs_set
+ || (same_str_p && d > match_end)
+ || (!same_str_p && !MATCHING_IN_FIRST_STRING))
+ {
+ best_regs_set = true;
+ match_end = d;
+
+ DEBUG_PRINT1 ("\nSAVING match as best so far.\n");
+
+ for (mcnt = 1; mcnt < num_regs; mcnt++)
+ {
+ best_regstart[mcnt] = regstart[mcnt];
+ best_regend[mcnt] = regend[mcnt];
+ }
+ }
+ goto fail;
+ }
+
+ /* If no failure points, don't restore garbage. */
+ else if (best_regs_set)
+ {
+ restore_best_regs:
+ /* Restore best match. It may happen that `dend ==
+ end_match_1' while the restored d is in string2.
+ For example, the pattern `x.*y.*z' against the
+ strings `x-' and `y-z-', if the two strings are
+ not consecutive in memory. */
+ DEBUG_PRINT1 ("Restoring best registers.\n");
+
+ d = match_end;
+ dend = ((d >= string1 && d <= end1)
+ ? end_match_1 : end_match_2);
+
+ for (mcnt = 1; mcnt < num_regs; mcnt++)
+ {
+ regstart[mcnt] = best_regstart[mcnt];
+ regend[mcnt] = best_regend[mcnt];
+ }
+ }
+ } /* d != end_match_2 */
+
+ DEBUG_PRINT1 ("Accepting match.\n");
+
+ /* If caller wants register contents data back, do it. */
+ if (regs && !bufp->no_sub)
+ {
+ /* Have the register data arrays been allocated? */
+ if (bufp->regs_allocated == REGS_UNALLOCATED)
+ { /* No. So allocate them with malloc. We need one
+ extra element beyond `num_regs' for the `-1' marker
+ GNU code uses. */
+ regs->num_regs = MAX (RE_NREGS, num_regs + 1);
+ regs->start = TALLOC (regs->num_regs, regoff_t);
+ regs->end = TALLOC (regs->num_regs, regoff_t);
+ if (regs->start == NULL || regs->end == NULL)
+ return -2;
+ bufp->regs_allocated = REGS_REALLOCATE;
+ }
+ else if (bufp->regs_allocated == REGS_REALLOCATE)
+ { /* Yes. If we need more elements than were already
+ allocated, reallocate them. If we need fewer, just
+ leave it alone. */
+ if (regs->num_regs < num_regs + 1)
+ {
+ regs->num_regs = num_regs + 1;
+ RETALLOC (regs->start, regs->num_regs, regoff_t);
+ RETALLOC (regs->end, regs->num_regs, regoff_t);
+ if (regs->start == NULL || regs->end == NULL)
+ return -2;
+ }
+ }
+ else
+ assert (bufp->regs_allocated == REGS_FIXED);
+
+ /* Convert the pointer data in `regstart' and `regend' to
+ indices. Register zero has to be set differently,
+ since we haven't kept track of any info for it. */
+ if (regs->num_regs > 0)
+ {
+ regs->start[0] = pos;
+ regs->end[0] = (MATCHING_IN_FIRST_STRING ? d - string1
+ : d - string2 + size1);
+ }
+
+ /* Go through the first `min (num_regs, regs->num_regs)'
+ registers, since that is all we initialized. */
+ for (mcnt = 1; mcnt < MIN (num_regs, regs->num_regs); mcnt++)
+ {
+ if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mcnt]))
+ regs->start[mcnt] = regs->end[mcnt] = -1;
+ else
+ {
+ regs->start[mcnt] = POINTER_TO_OFFSET (regstart[mcnt]);
+ regs->end[mcnt] = POINTER_TO_OFFSET (regend[mcnt]);
+ }
+ }
+
+ /* If the regs structure we return has more elements than
+ were in the pattern, set the extra elements to -1. If
+ we (re)allocated the registers, this is the case,
+ because we always allocate enough to have at least one
+ -1 at the end. */
+ for (mcnt = num_regs; mcnt < regs->num_regs; mcnt++)
+ regs->start[mcnt] = regs->end[mcnt] = -1;
+ } /* regs && !bufp->no_sub */
+
+ FREE_VARIABLES ();
+ DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n",
+ nfailure_points_pushed, nfailure_points_popped,
+ nfailure_points_pushed - nfailure_points_popped);
+ DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed);
+
+ mcnt = d - pos - (MATCHING_IN_FIRST_STRING
+ ? string1
+ : string2 - size1);
+
+ DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt);
+
+ return mcnt;
+ }
+
+ /* Otherwise match next pattern command. */
+#ifdef SWITCH_ENUM_BUG
+ switch ((int) ((re_opcode_t) *p++))
+#else
+ switch ((re_opcode_t) *p++)
+#endif
+ {
+ /* Ignore these. Used to ignore the n of succeed_n's which
+ currently have n == 0. */
+ case no_op:
+ DEBUG_PRINT1 ("EXECUTING no_op.\n");
+ break;
+
+
+ /* Match the next n pattern characters exactly. The following
+ byte in the pattern defines n, and the n bytes after that
+ are the characters to match. */
+ case exactn:
+ mcnt = *p++;
+ DEBUG_PRINT2 ("EXECUTING exactn %d.\n", mcnt);
+
+ /* This is written out as an if-else so we don't waste time
+ testing `translate' inside the loop. */
+ if (translate)
+ {
+ do
+ {
+ PREFETCH ();
+ if (translate[(unsigned char) *d++] != (char) *p++)
+ goto fail;
+ }
+ while (--mcnt);
+ }
+ else
+ {
+ do
+ {
+ PREFETCH ();
+ if (*d++ != (char) *p++) goto fail;
+ }
+ while (--mcnt);
+ }
+ SET_REGS_MATCHED ();
+ break;
+
+
+ /* Match any character except possibly a newline or a null. */
+ case anychar:
+ DEBUG_PRINT1 ("EXECUTING anychar.\n");
+
+ PREFETCH ();
+
+ if ((!(bufp->syntax & RE_DOT_NEWLINE) && TRANSLATE (*d) == '\n')
+ || (bufp->syntax & RE_DOT_NOT_NULL && TRANSLATE (*d) == '\000'))
+ goto fail;
+
+ SET_REGS_MATCHED ();
+ DEBUG_PRINT2 (" Matched `%d'.\n", *d);
+ d++;
+ break;
+
+
+ case charset:
+ case charset_not:
+ {
+ register unsigned char c;
+ boolean not = (re_opcode_t) *(p - 1) == charset_not;
+
+ DEBUG_PRINT2 ("EXECUTING charset%s.\n", not ? "_not" : "");
+
+ PREFETCH ();
+ c = TRANSLATE (*d); /* The character to match. */
+
+ /* Cast to `unsigned' instead of `unsigned char' in case the
+ bit list is a full 32 bytes long. */
+ if (c < (unsigned) (*p * BYTEWIDTH)
+ && p[1 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
+ not = !not;
+
+ p += 1 + *p;
+
+ if (!not) goto fail;
+
+ SET_REGS_MATCHED ();
+ d++;
+ break;
+ }
+
+
+ /* The beginning of a group is represented by start_memory.
+ The arguments are the register number in the next byte, and the
+ number of groups inner to this one in the next. The text
+ matched within the group is recorded (in the internal
+ registers data structure) under the register number. */
+ case start_memory:
+ DEBUG_PRINT3 ("EXECUTING start_memory %d (%d):\n", *p, p[1]);
+
+ /* Find out if this group can match the empty string. */
+ p1 = p; /* To send to group_match_null_string_p. */
+
+ if (REG_MATCH_NULL_STRING_P (reg_info[*p]) == MATCH_NULL_UNSET_VALUE)
+ REG_MATCH_NULL_STRING_P (reg_info[*p])
+ = group_match_null_string_p (&p1, pend, reg_info);
+
+ /* Save the position in the string where we were the last time
+ we were at this open-group operator in case the group is
+ operated upon by a repetition operator, e.g., with `(a*)*b'
+ against `ab'; then we want to ignore where we are now in
+ the string in case this attempt to match fails. */
+ old_regstart[*p] = REG_MATCH_NULL_STRING_P (reg_info[*p])
+ ? REG_UNSET (regstart[*p]) ? d : regstart[*p]
+ : regstart[*p];
+ DEBUG_PRINT2 (" old_regstart: %d\n",
+ POINTER_TO_OFFSET (old_regstart[*p]));
+
+ regstart[*p] = d;
+ DEBUG_PRINT2 (" regstart: %d\n", POINTER_TO_OFFSET (regstart[*p]));
+
+ IS_ACTIVE (reg_info[*p]) = 1;
+ MATCHED_SOMETHING (reg_info[*p]) = 0;
+
+ /* This is the new highest active register. */
+ highest_active_reg = *p;
+
+ /* If nothing was active before, this is the new lowest active
+ register. */
+ if (lowest_active_reg == NO_LOWEST_ACTIVE_REG)
+ lowest_active_reg = *p;
+
+ /* Move past the register number and inner group count. */
+ p += 2;
+ break;
+
+
+ /* The stop_memory opcode represents the end of a group. Its
+ arguments are the same as start_memory's: the register
+ number, and the number of inner groups. */
+ case stop_memory:
+ DEBUG_PRINT3 ("EXECUTING stop_memory %d (%d):\n", *p, p[1]);
+
+ /* We need to save the string position the last time we were at
+ this close-group operator in case the group is operated
+ upon by a repetition operator, e.g., with `((a*)*(b*)*)*'
+ against `aba'; then we want to ignore where we are now in
+ the string in case this attempt to match fails. */
+ old_regend[*p] = REG_MATCH_NULL_STRING_P (reg_info[*p])
+ ? REG_UNSET (regend[*p]) ? d : regend[*p]
+ : regend[*p];
+ DEBUG_PRINT2 (" old_regend: %d\n",
+ POINTER_TO_OFFSET (old_regend[*p]));
+
+ regend[*p] = d;
+ DEBUG_PRINT2 (" regend: %d\n", POINTER_TO_OFFSET (regend[*p]));
+
+ /* This register isn't active anymore. */
+ IS_ACTIVE (reg_info[*p]) = 0;
+
+ /* If this was the only register active, nothing is active
+ anymore. */
+ if (lowest_active_reg == highest_active_reg)
+ {
+ lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+ highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+ }
+ else
+ { /* We must scan for the new highest active register, since
+ it isn't necessarily one less than now: consider
+ (a(b)c(d(e)f)g). When group 3 ends, after the f), the
+ new highest active register is 1. */
+ unsigned char r = *p - 1;
+ while (r > 0 && !IS_ACTIVE (reg_info[r]))
+ r--;
+
+ /* If we end up at register zero, that means that we saved
+ the registers as the result of an `on_failure_jump', not
+ a `start_memory', and we jumped to past the innermost
+ `stop_memory'. For example, in ((.)*) we save
+ registers 1 and 2 as a result of the *, but when we pop
+ back to the second ), we are at the stop_memory 1.
+ Thus, nothing is active. */
+ if (r == 0)
+ {
+ lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+ highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+ }
+ else
+ highest_active_reg = r;
+ }
+
+ /* If just failed to match something this time around with a
+ group that's operated on by a repetition operator, try to
+ force exit from the ``loop'', and restore the register
+ information for this group that we had before trying this
+ last match. */
+ if ((!MATCHED_SOMETHING (reg_info[*p])
+ || (re_opcode_t) p[-3] == start_memory)
+ && (p + 2) < pend)
+ {
+ boolean is_a_jump_n = false;
+
+ p1 = p + 2;
+ mcnt = 0;
+ switch ((re_opcode_t) *p1++)
+ {
+ case jump_n:
+ is_a_jump_n = true;
+ case pop_failure_jump:
+ case maybe_pop_jump:
+ case jump:
+ case dummy_failure_jump:
+ EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+ if (is_a_jump_n)
+ p1 += 2;
+ break;
+
+ default:
+ /* do nothing */ ;
+ }
+ p1 += mcnt;
+
+ /* If the next operation is a jump backwards in the pattern
+ to an on_failure_jump right before the start_memory
+ corresponding to this stop_memory, exit from the loop
+ by forcing a failure after pushing on the stack the
+ on_failure_jump's jump in the pattern, and d. */
+ if (mcnt < 0 && (re_opcode_t) *p1 == on_failure_jump
+ && (re_opcode_t) p1[3] == start_memory && p1[4] == *p)
+ {
+ /* If this group ever matched anything, then restore
+ what its registers were before trying this last
+ failed match, e.g., with `(a*)*b' against `ab' for
+ regstart[1], and, e.g., with `((a*)*(b*)*)*'
+ against `aba' for regend[3].
+
+ Also restore the registers for inner groups for,
+ e.g., `((a*)(b*))*' against `aba' (register 3 would
+ otherwise get trashed). */
+
+ if (EVER_MATCHED_SOMETHING (reg_info[*p]))
+ {
+ unsigned r;
+
+ EVER_MATCHED_SOMETHING (reg_info[*p]) = 0;
+
+ /* Restore this and inner groups' (if any) registers. */
+ for (r = *p; r < *p + *(p + 1); r++)
+ {
+ regstart[r] = old_regstart[r];
+
+ /* xx why this test? */
+ if ((int) old_regend[r] >= (int) regstart[r])
+ regend[r] = old_regend[r];
+ }
+ }
+ p1++;
+ EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+ PUSH_FAILURE_POINT (p1 + mcnt, d, -2);
+
+ goto fail;
+ }
+ }
+
+ /* Move past the register number and the inner group count. */
+ p += 2;
+ break;
+
+
+ /* \<digit> has been turned into a `duplicate' command which is
+ followed by the numeric value of <digit> as the register number. */
+ case duplicate:
+ {
+ register const char *d2, *dend2;
+ int regno = *p++; /* Get which register to match against. */
+ DEBUG_PRINT2 ("EXECUTING duplicate %d.\n", regno);
+
+ /* Can't back reference a group which we've never matched. */
+ if (REG_UNSET (regstart[regno]) || REG_UNSET (regend[regno]))
+ goto fail;
+
+ /* Where in input to try to start matching. */
+ d2 = regstart[regno];
+
+ /* Where to stop matching; if both the place to start and
+ the place to stop matching are in the same string, then
+ set to the place to stop, otherwise, for now have to use
+ the end of the first string. */
+
+ dend2 = ((FIRST_STRING_P (regstart[regno])
+ == FIRST_STRING_P (regend[regno]))
+ ? regend[regno] : end_match_1);
+ for (;;)
+ {
+ /* If necessary, advance to next segment in register
+ contents. */
+ while (d2 == dend2)
+ {
+ if (dend2 == end_match_2) break;
+ if (dend2 == regend[regno]) break;
+
+ /* End of string1 => advance to string2. */
+ d2 = string2;
+ dend2 = regend[regno];
+ }
+ /* At end of register contents => success */
+ if (d2 == dend2) break;
+
+ /* If necessary, advance to next segment in data. */
+ PREFETCH ();
+
+ /* How many characters left in this segment to match. */
+ mcnt = dend - d;
+
+ /* Want how many consecutive characters we can match in
+ one shot, so, if necessary, adjust the count. */
+ if (mcnt > dend2 - d2)
+ mcnt = dend2 - d2;
+
+ /* Compare that many; failure if mismatch, else move
+ past them. */
+ if (translate
+ ? bcmp_translate (d, d2, mcnt, translate)
+ : bcmp (d, d2, mcnt))
+ goto fail;
+ d += mcnt, d2 += mcnt;
+ }
+ }
+ break;
+
+
+ /* begline matches the empty string at the beginning of the string
+ (unless `not_bol' is set in `bufp'), and, if
+ `newline_anchor' is set, after newlines. */
+ case begline:
+ DEBUG_PRINT1 ("EXECUTING begline.\n");
+
+ if (AT_STRINGS_BEG (d))
+ {
+ if (!bufp->not_bol) break;
+ }
+ else if (d[-1] == '\n' && bufp->newline_anchor)
+ {
+ break;
+ }
+ /* In all other cases, we fail. */
+ goto fail;
+
+
+ /* endline is the dual of begline. */
+ case endline:
+ DEBUG_PRINT1 ("EXECUTING endline.\n");
+
+ if (AT_STRINGS_END (d))
+ {
+ if (!bufp->not_eol) break;
+ }
+
+ /* We have to ``prefetch'' the next character. */
+ else if ((d == end1 ? *string2 : *d) == '\n'
+ && bufp->newline_anchor)
+ {
+ break;
+ }
+ goto fail;
+
+
+ /* Match at the very beginning of the data. */
+ case begbuf:
+ DEBUG_PRINT1 ("EXECUTING begbuf.\n");
+ if (AT_STRINGS_BEG (d))
+ break;
+ goto fail;
+
+
+ /* Match at the very end of the data. */
+ case endbuf:
+ DEBUG_PRINT1 ("EXECUTING endbuf.\n");
+ if (AT_STRINGS_END (d))
+ break;
+ goto fail;
+
+
+ /* on_failure_keep_string_jump is used to optimize `.*\n'. It
+ pushes NULL as the value for the string on the stack. Then
+ `pop_failure_point' will keep the current value for the
+ string, instead of restoring it. To see why, consider
+ matching `foo\nbar' against `.*\n'. The .* matches the foo;
+ then the . fails against the \n. But the next thing we want
+ to do is match the \n against the \n; if we restored the
+ string value, we would be back at the foo.
+
+ Because this is used only in specific cases, we don't need to
+ check all the things that `on_failure_jump' does, to make
+ sure the right things get saved on the stack. Hence we don't
+ share its code. The only reason to push anything on the
+ stack at all is that otherwise we would have to change
+ `anychar's code to do something besides goto fail in this
+ case; that seems worse than this. */
+ case on_failure_keep_string_jump:
+ DEBUG_PRINT1 ("EXECUTING on_failure_keep_string_jump");
+
+ EXTRACT_NUMBER_AND_INCR (mcnt, p);
+ DEBUG_PRINT3 (" %d (to 0x%x):\n", mcnt, p + mcnt);
+
+ PUSH_FAILURE_POINT (p + mcnt, NULL, -2);
+ break;
+
+
+ /* Uses of on_failure_jump:
+
+ Each alternative starts with an on_failure_jump that points
+ to the beginning of the next alternative. Each alternative
+ except the last ends with a jump that in effect jumps past
+ the rest of the alternatives. (They really jump to the
+ ending jump of the following alternative, because tensioning
+ these jumps is a hassle.)
+
+ Repeats start with an on_failure_jump that points past both
+ the repetition text and either the following jump or
+ pop_failure_jump back to this on_failure_jump. */
+ case on_failure_jump:
+ on_failure:
+ DEBUG_PRINT1 ("EXECUTING on_failure_jump");
+
+ EXTRACT_NUMBER_AND_INCR (mcnt, p);
+ DEBUG_PRINT3 (" %d (to 0x%x)", mcnt, p + mcnt);
+
+ /* If this on_failure_jump comes right before a group (i.e.,
+ the original * applied to a group), save the information
+ for that group and all inner ones, so that if we fail back
+ to this point, the group's information will be correct.
+ For example, in \(a*\)*\1, we need the preceding group,
+ and in \(\(a*\)b*\)\2, we need the inner group. */
+
+ /* We can't use `p' to check ahead because we push
+ a failure point to `p + mcnt' after we do this. */
+ p1 = p;
+
+ /* We need to skip no_op's before we look for the
+ start_memory in case this on_failure_jump is happening as
+ the result of a completed succeed_n, as in \(a\)\{1,3\}b\1
+ against aba. */
+ while (p1 < pend && (re_opcode_t) *p1 == no_op)
+ p1++;
+
+ if (p1 < pend && (re_opcode_t) *p1 == start_memory)
+ {
+ /* We have a new highest active register now. This will
+ get reset at the start_memory we are about to get to,
+ but we will have saved all the registers relevant to
+ this repetition op, as described above. */
+ highest_active_reg = *(p1 + 1) + *(p1 + 2);
+ if (lowest_active_reg == NO_LOWEST_ACTIVE_REG)
+ lowest_active_reg = *(p1 + 1);
+ }
+
+ DEBUG_PRINT1 (":\n");
+ PUSH_FAILURE_POINT (p + mcnt, d, -2);
+ break;
+
+
+ /* A smart repeat ends with `maybe_pop_jump'.
+ We change it to either `pop_failure_jump' or `jump'. */
+ case maybe_pop_jump:
+ EXTRACT_NUMBER_AND_INCR (mcnt, p);
+ DEBUG_PRINT2 ("EXECUTING maybe_pop_jump %d.\n", mcnt);
+ {
+ register unsigned char *p2 = p;
+
+ /* Compare the beginning of the repeat with what in the
+ pattern follows its end. If we can establish that there
+ is nothing that they would both match, i.e., that we
+ would have to backtrack because of (as in, e.g., `a*a')
+ then we can change to pop_failure_jump, because we'll
+ never have to backtrack.
+
+ This is not true in the case of alternatives: in
+ `(a|ab)*' we do need to backtrack to the `ab' alternative
+ (e.g., if the string was `ab'). But instead of trying to
+ detect that here, the alternative has put on a dummy
+ failure point which is what we will end up popping. */
+
+ /* Skip over open/close-group commands. */
+ while (p2 + 2 < pend
+ && ((re_opcode_t) *p2 == stop_memory
+ || (re_opcode_t) *p2 == start_memory))
+ p2 += 3; /* Skip over args, too. */
+
+ /* If we're at the end of the pattern, we can change. */
+ if (p2 == pend)
+ {
+ /* Consider what happens when matching ":\(.*\)"
+ against ":/". I don't really understand this code
+ yet. */
+ p[-3] = (unsigned char) pop_failure_jump;
+ DEBUG_PRINT1
+ (" End of pattern: change to `pop_failure_jump'.\n");
+ }
+
+ else if ((re_opcode_t) *p2 == exactn
+ || (bufp->newline_anchor && (re_opcode_t) *p2 == endline))
+ {
+ register unsigned char c
+ = *p2 == (unsigned char) endline ? '\n' : p2[2];
+ p1 = p + mcnt;
+
+ /* p1[0] ... p1[2] are the `on_failure_jump' corresponding
+ to the `maybe_finalize_jump' of this case. Examine what
+ follows. */
+ if ((re_opcode_t) p1[3] == exactn && p1[5] != c)
+ {
+ p[-3] = (unsigned char) pop_failure_jump;
+ DEBUG_PRINT3 (" %c != %c => pop_failure_jump.\n",
+ c, p1[5]);
+ }
+
+ else if ((re_opcode_t) p1[3] == charset
+ || (re_opcode_t) p1[3] == charset_not)
+ {
+ int not = (re_opcode_t) p1[3] == charset_not;
+
+ if (c < (unsigned char) (p1[4] * BYTEWIDTH)
+ && p1[5 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
+ not = !not;
+
+ /* `not' is equal to 1 if c would match, which means
+ that we can't change to pop_failure_jump. */
+ if (!not)
+ {
+ p[-3] = (unsigned char) pop_failure_jump;
+ DEBUG_PRINT1 (" No match => pop_failure_jump.\n");
+ }
+ }
+ }
+ }
+ p -= 2; /* Point at relative address again. */
+ if ((re_opcode_t) p[-1] != pop_failure_jump)
+ {
+ p[-1] = (unsigned char) jump;
+ DEBUG_PRINT1 (" Match => jump.\n");
+ goto unconditional_jump;
+ }
+ /* Note fall through. */
+
+
+ /* The end of a simple repeat has a pop_failure_jump back to
+ its matching on_failure_jump, where the latter will push a
+ failure point. The pop_failure_jump takes off failure
+ points put on by this pop_failure_jump's matching
+ on_failure_jump; we got through the pattern to here from the
+ matching on_failure_jump, so didn't fail. */
+ case pop_failure_jump:
+ {
+ /* We need to pass separate storage for the lowest and
+ highest registers, even though we don't care about the
+ actual values. Otherwise, we will restore only one
+ register from the stack, since lowest will == highest in
+ `pop_failure_point'. */
+ unsigned dummy_low_reg, dummy_high_reg;
+ unsigned char *pdummy;
+ const char *sdummy;
+
+ DEBUG_PRINT1 ("EXECUTING pop_failure_jump.\n");
+ POP_FAILURE_POINT (sdummy, pdummy,
+ dummy_low_reg, dummy_high_reg,
+ reg_dummy, reg_dummy, reg_info_dummy);
+ }
+ /* Note fall through. */
+
+
+ /* Unconditionally jump (without popping any failure points). */
+ case jump:
+ unconditional_jump:
+ EXTRACT_NUMBER_AND_INCR (mcnt, p); /* Get the amount to jump. */
+ DEBUG_PRINT2 ("EXECUTING jump %d ", mcnt);
+ p += mcnt; /* Do the jump. */
+ DEBUG_PRINT2 ("(to 0x%x).\n", p);
+ break;
+
+
+ /* We need this opcode so we can detect where alternatives end
+ in `group_match_null_string_p' et al. */
+ case jump_past_alt:
+ DEBUG_PRINT1 ("EXECUTING jump_past_alt.\n");
+ goto unconditional_jump;
+
+
+ /* Normally, the on_failure_jump pushes a failure point, which
+ then gets popped at pop_failure_jump. We will end up at
+ pop_failure_jump, also, and with a pattern of, say, `a+', we
+ are skipping over the on_failure_jump, so we have to push
+ something meaningless for pop_failure_jump to pop. */
+ case dummy_failure_jump:
+ DEBUG_PRINT1 ("EXECUTING dummy_failure_jump.\n");
+ /* It doesn't matter what we push for the string here. What
+ the code at `fail' tests is the value for the pattern. */
+ PUSH_FAILURE_POINT (0, 0, -2);
+ goto unconditional_jump;
+
+
+ /* At the end of an alternative, we need to push a dummy failure
+ point in case we are followed by a `pop_failure_jump', because
+ we don't want the failure point for the alternative to be
+ popped. For example, matching `(a|ab)*' against `aab'
+ requires that we match the `ab' alternative. */
+ case push_dummy_failure:
+ DEBUG_PRINT1 ("EXECUTING push_dummy_failure.\n");
+ /* See comments just above at `dummy_failure_jump' about the
+ two zeroes. */
+ PUSH_FAILURE_POINT (0, 0, -2);
+ break;
+
+ /* Have to succeed matching what follows at least n times.
+ After that, handle like `on_failure_jump'. */
+ case succeed_n:
+ EXTRACT_NUMBER (mcnt, p + 2);
+ DEBUG_PRINT2 ("EXECUTING succeed_n %d.\n", mcnt);
+
+ assert (mcnt >= 0);
+ /* Originally, this is how many times we HAVE to succeed. */
+ if (mcnt > 0)
+ {
+ mcnt--;
+ p += 2;
+ STORE_NUMBER_AND_INCR (p, mcnt);
+ DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p, mcnt);
+ }
+ else if (mcnt == 0)
+ {
+ DEBUG_PRINT2 (" Setting two bytes from 0x%x to no_op.\n", p+2);
+ p[2] = (unsigned char) no_op;
+ p[3] = (unsigned char) no_op;
+ goto on_failure;
+ }
+ break;
+
+ case jump_n:
+ EXTRACT_NUMBER (mcnt, p + 2);
+ DEBUG_PRINT2 ("EXECUTING jump_n %d.\n", mcnt);
+
+ /* Originally, this is how many times we CAN jump. */
+ if (mcnt)
+ {
+ mcnt--;
+ STORE_NUMBER (p + 2, mcnt);
+ goto unconditional_jump;
+ }
+ /* If don't have to jump any more, skip over the rest of command. */
+ else
+ p += 4;
+ break;
+
+ case set_number_at:
+ {
+ DEBUG_PRINT1 ("EXECUTING set_number_at.\n");
+
+ EXTRACT_NUMBER_AND_INCR (mcnt, p);
+ p1 = p + mcnt;
+ EXTRACT_NUMBER_AND_INCR (mcnt, p);
+ DEBUG_PRINT3 (" Setting 0x%x to %d.\n", p1, mcnt);
+ STORE_NUMBER (p1, mcnt);
+ break;
+ }
+
+ case wordbound:
+ DEBUG_PRINT1 ("EXECUTING wordbound.\n");
+ if (AT_WORD_BOUNDARY (d))
+ break;
+ goto fail;
+
+ case notwordbound:
+ DEBUG_PRINT1 ("EXECUTING notwordbound.\n");
+ if (AT_WORD_BOUNDARY (d))
+ goto fail;
+ break;
+
+ case wordbeg:
+ DEBUG_PRINT1 ("EXECUTING wordbeg.\n");
+ if (WORDCHAR_P (d) && (AT_STRINGS_BEG (d) || !WORDCHAR_P (d - 1)))
+ break;
+ goto fail;
+
+ case wordend:
+ DEBUG_PRINT1 ("EXECUTING wordend.\n");
+ if (!AT_STRINGS_BEG (d) && WORDCHAR_P (d - 1)
+ && (!WORDCHAR_P (d) || AT_STRINGS_END (d)))
+ break;
+ goto fail;
+
+#ifdef emacs
+#ifdef emacs19
+ case before_dot:
+ DEBUG_PRINT1 ("EXECUTING before_dot.\n");
+ if (PTR_CHAR_POS ((unsigned char *) d) >= point)
+ goto fail;
+ break;
+
+ case at_dot:
+ DEBUG_PRINT1 ("EXECUTING at_dot.\n");
+ if (PTR_CHAR_POS ((unsigned char *) d) != point)
+ goto fail;
+ break;
+
+ case after_dot:
+ DEBUG_PRINT1 ("EXECUTING after_dot.\n");
+ if (PTR_CHAR_POS ((unsigned char *) d) <= point)
+ goto fail;
+ break;
+#else /* not emacs19 */
+ case at_dot:
+ DEBUG_PRINT1 ("EXECUTING at_dot.\n");
+ if (PTR_CHAR_POS ((unsigned char *) d) + 1 != point)
+ goto fail;
+ break;
+#endif /* not emacs19 */
+
+ case syntaxspec:
+ DEBUG_PRINT2 ("EXECUTING syntaxspec %d.\n", mcnt);
+ mcnt = *p++;
+ goto matchsyntax;
+
+ case wordchar:
+ DEBUG_PRINT1 ("EXECUTING Emacs wordchar.\n");
+ mcnt = (int) Sword;
+ matchsyntax:
+ PREFETCH ();
+ if (SYNTAX (*d++) != (enum syntaxcode) mcnt)
+ goto fail;
+ SET_REGS_MATCHED ();
+ break;
+
+ case notsyntaxspec:
+ DEBUG_PRINT2 ("EXECUTING notsyntaxspec %d.\n", mcnt);
+ mcnt = *p++;
+ goto matchnotsyntax;
+
+ case notwordchar:
+ DEBUG_PRINT1 ("EXECUTING Emacs notwordchar.\n");
+ mcnt = (int) Sword;
+ matchnotsyntax:
+ PREFETCH ();
+ if (SYNTAX (*d++) == (enum syntaxcode) mcnt)
+ goto fail;
+ SET_REGS_MATCHED ();
+ break;
+
+#else /* not emacs */
+ case wordchar:
+ DEBUG_PRINT1 ("EXECUTING non-Emacs wordchar.\n");
+ PREFETCH ();
+ if (!WORDCHAR_P (d))
+ goto fail;
+ SET_REGS_MATCHED ();
+ d++;
+ break;
+
+ case notwordchar:
+ DEBUG_PRINT1 ("EXECUTING non-Emacs notwordchar.\n");
+ PREFETCH ();
+ if (WORDCHAR_P (d))
+ goto fail;
+ SET_REGS_MATCHED ();
+ d++;
+ break;
+#endif /* not emacs */
+
+ default:
+ abort ();
+ }
+ continue; /* Successfully executed one pattern command; keep going. */
+
+
+ /* We goto here if a matching operation fails. */
+ fail:
+ if (!FAIL_STACK_EMPTY ())
+ { /* A restart point is known. Restore to that state. */
+ DEBUG_PRINT1 ("\nFAIL:\n");
+ POP_FAILURE_POINT (d, p,
+ lowest_active_reg, highest_active_reg,
+ regstart, regend, reg_info);
+
+ /* If this failure point is a dummy, try the next one. */
+ if (!p)
+ goto fail;
+
+ /* If we failed to the end of the pattern, don't examine *p. */
+ assert (p <= pend);
+ if (p < pend)
+ {
+ boolean is_a_jump_n = false;
+
+ /* If failed to a backwards jump that's part of a repetition
+ loop, need to pop this failure point and use the next one. */
+ switch ((re_opcode_t) *p)
+ {
+ case jump_n:
+ is_a_jump_n = true;
+ case maybe_pop_jump:
+ case pop_failure_jump:
+ case jump:
+ p1 = p + 1;
+ EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+ p1 += mcnt;
+
+ if ((is_a_jump_n && (re_opcode_t) *p1 == succeed_n)
+ || (!is_a_jump_n
+ && (re_opcode_t) *p1 == on_failure_jump))
+ goto fail;
+ break;
+ default:
+ /* do nothing */ ;
+ }
+ }
+
+ if (d >= string1 && d <= end1)
+ dend = end_match_1;
+ }
+ else
+ break; /* Matching at this starting point really fails. */
+ } /* for (;;) */
+
+ if (best_regs_set)
+ goto restore_best_regs;
+
+ FREE_VARIABLES ();
+
+ return -1; /* Failure to match. */
+} /* re_match_2 */
+
+/* Subroutine definitions for re_match_2. */
+
+
+/* We are passed P pointing to a register number after a start_memory.
+
+ Return true if the pattern up to the corresponding stop_memory can
+ match the empty string, and false otherwise.
+
+ If we find the matching stop_memory, sets P to point to one past its number.
+ Otherwise, sets P to an undefined byte less than or equal to END.
+
+ We don't handle duplicates properly (yet). */
+
+static boolean
+group_match_null_string_p (p, end, reg_info)
+ unsigned char **p, *end;
+ register_info_type *reg_info;
+{
+ int mcnt;
+ /* Point to after the args to the start_memory. */
+ unsigned char *p1 = *p + 2;
+
+ while (p1 < end)
+ {
+ /* Skip over opcodes that can match nothing, and return true or
+ false, as appropriate, when we get to one that can't, or to the
+ matching stop_memory. */
+
+ switch ((re_opcode_t) *p1)
+ {
+ /* Could be either a loop or a series of alternatives. */
+ case on_failure_jump:
+ p1++;
+ EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+
+ /* If the next operation is not a jump backwards in the
+ pattern. */
+
+ if (mcnt >= 0)
+ {
+ /* Go through the on_failure_jumps of the alternatives,
+ seeing if any of the alternatives cannot match nothing.
+ The last alternative starts with only a jump,
+ whereas the rest start with on_failure_jump and end
+ with a jump, e.g., here is the pattern for `a|b|c':
+
+ /on_failure_jump/0/6/exactn/1/a/jump_past_alt/0/6
+ /on_failure_jump/0/6/exactn/1/b/jump_past_alt/0/3
+ /exactn/1/c
+
+ So, we have to first go through the first (n-1)
+ alternatives and then deal with the last one separately. */
+
+
+ /* Deal with the first (n-1) alternatives, which start
+ with an on_failure_jump (see above) that jumps to right
+ past a jump_past_alt. */
+
+ while ((re_opcode_t) p1[mcnt-3] == jump_past_alt)
+ {
+ /* `mcnt' holds how many bytes long the alternative
+ is, including the ending `jump_past_alt' and
+ its number. */
+
+ if (!alt_match_null_string_p (p1, p1 + mcnt - 3,
+ reg_info))
+ return false;
+
+ /* Move to right after this alternative, including the
+ jump_past_alt. */
+ p1 += mcnt;
+
+ /* Break if it's the beginning of an n-th alternative
+ that doesn't begin with an on_failure_jump. */
+ if ((re_opcode_t) *p1 != on_failure_jump)
+ break;
+
+ /* Still have to check that it's not an n-th
+ alternative that starts with an on_failure_jump. */
+ p1++;
+ EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+ if ((re_opcode_t) p1[mcnt-3] != jump_past_alt)
+ {
+ /* Get to the beginning of the n-th alternative. */
+ p1 -= 3;
+ break;
+ }
+ }
+
+ /* Deal with the last alternative: go back and get number
+ of the `jump_past_alt' just before it. `mcnt' contains
+ the length of the alternative. */
+ EXTRACT_NUMBER (mcnt, p1 - 2);
+
+ if (!alt_match_null_string_p (p1, p1 + mcnt, reg_info))
+ return false;
+
+ p1 += mcnt; /* Get past the n-th alternative. */
+ } /* if mcnt > 0 */
+ break;
+
+
+ case stop_memory:
+ assert (p1[1] == **p);
+ *p = p1 + 2;
+ return true;
+
+
+ default:
+ if (!common_op_match_null_string_p (&p1, end, reg_info))
+ return false;
+ }
+ } /* while p1 < end */
+
+ return false;
+} /* group_match_null_string_p */
+
+
+/* Similar to group_match_null_string_p, but doesn't deal with alternatives:
+ It expects P to be the first byte of a single alternative and END one
+ byte past the last. The alternative can contain groups. */
+
+static boolean
+alt_match_null_string_p (p, end, reg_info)
+ unsigned char *p, *end;
+ register_info_type *reg_info;
+{
+ int mcnt;
+ unsigned char *p1 = p;
+
+ while (p1 < end)
+ {
+ /* Skip over opcodes that can match nothing, and break when we get
+ to one that can't. */
+
+ switch ((re_opcode_t) *p1)
+ {
+ /* It's a loop. */
+ case on_failure_jump:
+ p1++;
+ EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+ p1 += mcnt;
+ break;
+
+ default:
+ if (!common_op_match_null_string_p (&p1, end, reg_info))
+ return false;
+ }
+ } /* while p1 < end */
+
+ return true;
+} /* alt_match_null_string_p */
+
+
+/* Deals with the ops common to group_match_null_string_p and
+ alt_match_null_string_p.
+
+ Sets P to one after the op and its arguments, if any. */
+
+static boolean
+common_op_match_null_string_p (p, end, reg_info)
+ unsigned char **p, *end;
+ register_info_type *reg_info;
+{
+ int mcnt;
+ boolean ret;
+ int reg_no;
+ unsigned char *p1 = *p;
+
+ switch ((re_opcode_t) *p1++)
+ {
+ case no_op:
+ case begline:
+ case endline:
+ case begbuf:
+ case endbuf:
+ case wordbeg:
+ case wordend:
+ case wordbound:
+ case notwordbound:
+#ifdef emacs
+ case before_dot:
+ case at_dot:
+ case after_dot:
+#endif
+ break;
+
+ case start_memory:
+ reg_no = *p1;
+ assert (reg_no > 0 && reg_no <= MAX_REGNUM);
+ ret = group_match_null_string_p (&p1, end, reg_info);
+
+ /* Have to set this here in case we're checking a group which
+ contains a group and a back reference to it. */
+
+ if (REG_MATCH_NULL_STRING_P (reg_info[reg_no]) == MATCH_NULL_UNSET_VALUE)
+ REG_MATCH_NULL_STRING_P (reg_info[reg_no]) = ret;
+
+ if (!ret)
+ return false;
+ break;
+
+ /* If this is an optimized succeed_n for zero times, make the jump. */
+ case jump:
+ EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+ if (mcnt >= 0)
+ p1 += mcnt;
+ else
+ return false;
+ break;
+
+ case succeed_n:
+ /* Get to the number of times to succeed. */
+ p1 += 2;
+ EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+
+ if (mcnt == 0)
+ {
+ p1 -= 4;
+ EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+ p1 += mcnt;
+ }
+ else
+ return false;
+ break;
+
+ case duplicate:
+ if (!REG_MATCH_NULL_STRING_P (reg_info[*p1]))
+ return false;
+ break;
+
+ case set_number_at:
+ p1 += 4;
+
+ default:
+ /* All other opcodes mean we cannot match the empty string. */
+ return false;
+ }
+
+ *p = p1;
+ return true;
+} /* common_op_match_null_string_p */
+
+
+/* Return zero if TRANSLATE[S1] and TRANSLATE[S2] are identical for LEN
+ bytes; nonzero otherwise. */
+
+static int
+bcmp_translate (s1, s2, len, translate)
+ unsigned char *s1, *s2;
+ register int len;
+ char *translate;
+{
+ register unsigned char *p1 = s1, *p2 = s2;
+ while (len)
+ {
+ if (translate[*p1++] != translate[*p2++]) return 1;
+ len--;
+ }
+ return 0;
+}
+
+/* Entry points for GNU code. */
+
+/* re_compile_pattern is the GNU regular expression compiler: it
+ compiles PATTERN (of length SIZE) and puts the result in BUFP.
+ Returns 0 if the pattern was valid, otherwise an error string.
+
+ Assumes the `allocated' (and perhaps `buffer') and `translate' fields
+ are set in BUFP on entry.
+
+ We call regex_compile to do the actual compilation. */
+
+const char *
+re_compile_pattern (pattern, length, bufp)
+ const char *pattern;
+ int length;
+ struct re_pattern_buffer *bufp;
+{
+ reg_errcode_t ret;
+
+ /* GNU code is written to assume at least RE_NREGS registers will be set
+ (and at least one extra will be -1). */
+ bufp->regs_allocated = REGS_UNALLOCATED;
+
+ /* And GNU code determines whether or not to get register information
+ by passing null for the REGS argument to re_match, etc., not by
+ setting no_sub. */
+ bufp->no_sub = 0;
+
+ /* Match anchors at newline. */
+ bufp->newline_anchor = 1;
+
+ ret = regex_compile (pattern, length, re_syntax_options, bufp);
+
+ return re_error_msg[(int) ret];
+}
+
+/* Entry points compatible with 4.2 BSD regex library. We don't define
+ them if this is an Emacs or POSIX compilation. */
+
+#if !defined (emacs) && !defined (_POSIX_SOURCE)
+
+/* BSD has one and only one pattern buffer. */
+static struct re_pattern_buffer re_comp_buf;
+
+char *
+re_comp (s)
+ const char *s;
+{
+ reg_errcode_t ret;
+
+ if (!s)
+ {
+ if (!re_comp_buf.buffer)
+ return "No previous regular expression";
+ return 0;
+ }
+
+ if (!re_comp_buf.buffer)
+ {
+ re_comp_buf.buffer = (unsigned char *) malloc (200);
+ if (re_comp_buf.buffer == NULL)
+ return "Memory exhausted";
+ re_comp_buf.allocated = 200;
+
+ re_comp_buf.fastmap = (char *) malloc (1 << BYTEWIDTH);
+ if (re_comp_buf.fastmap == NULL)
+ return "Memory exhausted";
+ }
+
+ /* Since `re_exec' always passes NULL for the `regs' argument, we
+ don't need to initialize the pattern buffer fields which affect it. */
+
+ /* Match anchors at newlines. */
+ re_comp_buf.newline_anchor = 1;
+
+ ret = regex_compile (s, strlen (s), re_syntax_options, &re_comp_buf);
+
+ /* Yes, we're discarding `const' here. */
+ return (char *) re_error_msg[(int) ret];
+}
+
+
+int
+re_exec (s)
+ const char *s;
+{
+ const int len = strlen (s);
+ return
+ 0 <= re_search (&re_comp_buf, s, len, 0, len, (struct re_registers *) 0);
+}
+#endif /* not emacs and not _POSIX_SOURCE */
+
+/* POSIX.2 functions. Don't define these for Emacs. */
+
+#ifndef emacs
+
+/* regcomp takes a regular expression as a string and compiles it.
+
+ PREG is a regex_t *. We do not expect any fields to be initialized,
+ since POSIX says we shouldn't. Thus, we set
+
+ `buffer' to the compiled pattern;
+ `used' to the length of the compiled pattern;
+ `syntax' to RE_SYNTAX_POSIX_EXTENDED if the
+ REG_EXTENDED bit in CFLAGS is set; otherwise, to
+ RE_SYNTAX_POSIX_BASIC;
+ `newline_anchor' to REG_NEWLINE being set in CFLAGS;
+ `fastmap' and `fastmap_accurate' to zero;
+ `re_nsub' to the number of subexpressions in PATTERN.
+
+ PATTERN is the address of the pattern string.
+
+ CFLAGS is a series of bits which affect compilation.
+
+ If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we
+ use POSIX basic syntax.
+
+ If REG_NEWLINE is set, then . and [^...] don't match newline.
+ Also, regexec will try a match beginning after every newline.
+
+ If REG_ICASE is set, then we considers upper- and lowercase
+ versions of letters to be equivalent when matching.
+
+ If REG_NOSUB is set, then when PREG is passed to regexec, that
+ routine will report only success or failure, and nothing about the
+ registers.
+
+ It returns 0 if it succeeds, nonzero if it doesn't. (See regex.h for
+ the return codes and their meanings.) */
+
+int
+regcomp (preg, pattern, cflags)
+ regex_t *preg;
+ const char *pattern;
+ int cflags;
+{
+ reg_errcode_t ret;
+ unsigned syntax
+ = (cflags & REG_EXTENDED) ?
+ RE_SYNTAX_POSIX_EXTENDED : RE_SYNTAX_POSIX_BASIC;
+
+ /* regex_compile will allocate the space for the compiled pattern. */
+ preg->buffer = 0;
+ preg->allocated = 0;
+
+ /* Don't bother to use a fastmap when searching. This simplifies the
+ REG_NEWLINE case: if we used a fastmap, we'd have to put all the
+ characters after newlines into the fastmap. This way, we just try
+ every character. */
+ preg->fastmap = 0;
+
+ if (cflags & REG_ICASE)
+ {
+ unsigned i;
+
+ preg->translate = (char *) malloc (CHAR_SET_SIZE);
+ if (preg->translate == NULL)
+ return (int) REG_ESPACE;
+
+ /* Map uppercase characters to corresponding lowercase ones. */
+ for (i = 0; i < CHAR_SET_SIZE; i++)
+ preg->translate[i] = ISUPPER (i) ? tolower (i) : i;
+ }
+ else
+ preg->translate = NULL;
+
+ /* If REG_NEWLINE is set, newlines are treated differently. */
+ if (cflags & REG_NEWLINE)
+ { /* REG_NEWLINE implies neither . nor [^...] match newline. */
+ syntax &= ~RE_DOT_NEWLINE;
+ syntax |= RE_HAT_LISTS_NOT_NEWLINE;
+ /* It also changes the matching behavior. */
+ preg->newline_anchor = 1;
+ }
+ else
+ preg->newline_anchor = 0;
+
+ preg->no_sub = !!(cflags & REG_NOSUB);
+
+ /* POSIX says a null character in the pattern terminates it, so we
+ can use strlen here in compiling the pattern. */
+ ret = regex_compile (pattern, strlen (pattern), syntax, preg);
+
+ /* POSIX doesn't distinguish between an unmatched open-group and an
+ unmatched close-group: both are REG_EPAREN. */
+ if (ret == REG_ERPAREN) ret = REG_EPAREN;
+
+ return (int) ret;
+}
+
+
+/* regexec searches for a given pattern, specified by PREG, in the
+ string STRING.
+
+ If NMATCH is zero or REG_NOSUB was set in the cflags argument to
+ `regcomp', we ignore PMATCH. Otherwise, we assume PMATCH has at
+ least NMATCH elements, and we set them to the offsets of the
+ corresponding matched substrings.
+
+ EFLAGS specifies `execution flags' which affect matching: if
+ REG_NOTBOL is set, then ^ does not match at the beginning of the
+ string; if REG_NOTEOL is set, then $ does not match at the end.
+
+ We return 0 if we find a match and REG_NOMATCH if not. */
+
+int
+regexec (preg, string, nmatch, pmatch, eflags)
+ const regex_t *preg;
+ const char *string;
+ size_t nmatch;
+ regmatch_t pmatch[];
+ int eflags;
+{
+ int ret;
+ struct re_registers regs;
+ regex_t private_preg;
+ int len = strlen (string);
+ boolean want_reg_info = !preg->no_sub && nmatch > 0;
+
+ private_preg = *preg;
+
+ private_preg.not_bol = !!(eflags & REG_NOTBOL);
+ private_preg.not_eol = !!(eflags & REG_NOTEOL);
+
+ /* The user has told us exactly how many registers to return
+ information about, via `nmatch'. We have to pass that on to the
+ matching routines. */
+ private_preg.regs_allocated = REGS_FIXED;
+
+ if (want_reg_info)
+ {
+ regs.num_regs = nmatch;
+ regs.start = TALLOC (nmatch, regoff_t);
+ regs.end = TALLOC (nmatch, regoff_t);
+ if (regs.start == NULL || regs.end == NULL)
+ return (int) REG_NOMATCH;
+ }
+
+ /* Perform the searching operation. */
+ ret = re_search (&private_preg, string, len,
+ /* start: */ 0, /* range: */ len,
+ want_reg_info ? ®s : (struct re_registers *) 0);
+
+ /* Copy the register information to the POSIX structure. */
+ if (want_reg_info)
+ {
+ if (ret >= 0)
+ {
+ unsigned r;
+
+ for (r = 0; r < nmatch; r++)
+ {
+ pmatch[r].rm_so = regs.start[r];
+ pmatch[r].rm_eo = regs.end[r];
+ }
+ }
+
+ /* If we needed the temporary register info, free the space now. */
+ free (regs.start);
+ free (regs.end);
+ }
+
+ /* We want zero return to mean success, unlike `re_search'. */
+ return ret >= 0 ? (int) REG_NOERROR : (int) REG_NOMATCH;
+}
+
+
+/* Returns a message corresponding to an error code, ERRCODE, returned
+ from either regcomp or regexec. We don't use PREG here. */
+
+size_t
+regerror (errcode, preg, errbuf, errbuf_size)
+ int errcode;
+ const regex_t *preg;
+ char *errbuf;
+ size_t errbuf_size;
+{
+ const char *msg;
+ size_t msg_size;
+
+ if (errcode < 0
+ || errcode >= (sizeof (re_error_msg) / sizeof (re_error_msg[0])))
+ /* Only error codes returned by the rest of the code should be passed
+ to this routine. If we are given anything else, or if other regex
+ code generates an invalid error code, then the program has a bug.
+ Dump core so we can fix it. */
+ abort ();
+
+ msg = re_error_msg[errcode];
+
+ /* POSIX doesn't require that we do anything in this case, but why
+ not be nice. */
+ if (! msg)
+ msg = "Success";
+
+ msg_size = strlen (msg) + 1; /* Includes the null. */
+
+ if (errbuf_size != 0)
+ {
+ if (msg_size > errbuf_size)
+ {
+ strncpy (errbuf, msg, errbuf_size - 1);
+ errbuf[errbuf_size - 1] = 0;
+ }
+ else
+ strcpy (errbuf, msg);
+ }
+
+ return msg_size;
+}
+
+
+/* Free dynamically allocated space used by PREG. */
+
+void
+regfree (preg)
+ regex_t *preg;
+{
+ if (preg->buffer != NULL)
+ free (preg->buffer);
+ preg->buffer = NULL;
+
+ preg->allocated = 0;
+ preg->used = 0;
+
+ if (preg->fastmap != NULL)
+ free (preg->fastmap);
+ preg->fastmap = NULL;
+ preg->fastmap_accurate = 0;
+
+ if (preg->translate != NULL)
+ free (preg->translate);
+ preg->translate = NULL;
+}
+
+#endif /* not emacs */
+
+/*
+Local variables:
+make-backup-files: t
+version-control: t
+trim-versions-without-asking: nil
+End:
+*/
diff --git a/trunk/src/regex.h b/trunk/src/regex.h
new file mode 100644
index 0000000..0bef8ab
--- /dev/null
+++ b/trunk/src/regex.h
@@ -0,0 +1,483 @@
+/* Definitions for data structures and routines for the regular
+ expression library, version 0.12.
+
+ Copyright (C) 1985, 1989, 1990, 1991, 1992, 1993 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, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+#ifndef __REGEXP_LIBRARY_H__
+#define __REGEXP_LIBRARY_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* POSIX says that <sys/types.h> must be included (by the caller) before
+ <regex.h>. */
+
+#ifdef VMS
+/* VMS doesn't have `size_t' in <sys/types.h>, even though POSIX says it
+ should be there. */
+#include <stddef.h>
+#endif
+
+
+/* The following bits are used to determine the regexp syntax we
+ recognize. The set/not-set meanings are chosen so that Emacs syntax
+ remains the value 0. The bits are given in alphabetical order, and
+ the definitions shifted by one from the previous bit; thus, when we
+ add or remove a bit, only one other definition need change. */
+typedef unsigned reg_syntax_t;
+
+/* If this bit is not set, then \ inside a bracket expression is literal.
+ If set, then such a \ quotes the following character. */
+#define RE_BACKSLASH_ESCAPE_IN_LISTS (1)
+
+/* If this bit is not set, then + and ? are operators, and \+ and \? are
+ literals.
+ If set, then \+ and \? are operators and + and ? are literals. */
+#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
+
+/* If this bit is set, then character classes are supported. They are:
+ [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],
+ [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
+ If not set, then character classes are not supported. */
+#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
+
+/* If this bit is set, then ^ and $ are always anchors (outside bracket
+ expressions, of course).
+ If this bit is not set, then it depends:
+ ^ is an anchor if it is at the beginning of a regular
+ expression or after an open-group or an alternation operator;
+ $ is an anchor if it is at the end of a regular expression, or
+ before a close-group or an alternation operator.
+
+ This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because
+ POSIX draft 11.2 says that * etc. in leading positions is undefined.
+ We already implemented a previous draft which made those constructs
+ invalid, though, so we haven't changed the code back. */
+#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
+
+/* If this bit is set, then special characters are always special
+ regardless of where they are in the pattern.
+ If this bit is not set, then special characters are special only in
+ some contexts; otherwise they are ordinary. Specifically,
+ * + ? and intervals are only special when not after the beginning,
+ open-group, or alternation operator. */
+#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
+
+/* If this bit is set, then *, +, ?, and { cannot be first in an re or
+ immediately after an alternation or begin-group operator. */
+#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
+
+/* If this bit is set, then . matches newline.
+ If not set, then it doesn't. */
+#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
+
+/* If this bit is set, then . doesn't match NUL.
+ If not set, then it does. */
+#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
+
+/* If this bit is set, nonmatching lists [^...] do not match newline.
+ If not set, they do. */
+#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
+
+/* If this bit is set, either \{...\} or {...} defines an
+ interval, depending on RE_NO_BK_BRACES.
+ If not set, \{, \}, {, and } are literals. */
+#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
+
+/* If this bit is set, +, ? and | aren't recognized as operators.
+ If not set, they are. */
+#define RE_LIMITED_OPS (RE_INTERVALS << 1)
+
+/* If this bit is set, newline is an alternation operator.
+ If not set, newline is literal. */
+#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
+
+/* If this bit is set, then `{...}' defines an interval, and \{ and \}
+ are literals.
+ If not set, then `\{...\}' defines an interval. */
+#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
+
+/* If this bit is set, (...) defines a group, and \( and \) are literals.
+ If not set, \(...\) defines a group, and ( and ) are literals. */
+#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
+
+/* If this bit is set, then \<digit> matches <digit>.
+ If not set, then \<digit> is a back-reference. */
+#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
+
+/* If this bit is set, then | is an alternation operator, and \| is literal.
+ If not set, then \| is an alternation operator, and | is literal. */
+#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
+
+/* If this bit is set, then an ending range point collating higher
+ than the starting range point, as in [z-a], is invalid.
+ If not set, then when ending range point collates higher than the
+ starting range point, the range is ignored. */
+#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
+
+/* If this bit is set, then an unmatched ) is ordinary.
+ If not set, then an unmatched ) is invalid. */
+#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
+
+/* This global variable defines the particular regexp syntax to use (for
+ some interfaces). When a regexp is compiled, the syntax used is
+ stored in the pattern buffer, so changing this does not affect
+ already-compiled regexps. */
+extern reg_syntax_t re_syntax_options;
+
+/* Define combinations of the above bits for the standard possibilities.
+ (The [[[ comments delimit what gets put into the Texinfo file, so
+ don't delete them!) */
+/* [[[begin syntaxes]]] */
+#define RE_SYNTAX_EMACS 0
+
+#define RE_SYNTAX_AWK \
+ (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \
+ | RE_NO_BK_PARENS | RE_NO_BK_REFS \
+ | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \
+ | RE_UNMATCHED_RIGHT_PAREN_ORD)
+
+#define RE_SYNTAX_POSIX_AWK \
+ (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS)
+
+#define RE_SYNTAX_GREP \
+ (RE_BK_PLUS_QM | RE_CHAR_CLASSES \
+ | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \
+ | RE_NEWLINE_ALT)
+
+#define RE_SYNTAX_EGREP \
+ (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \
+ | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \
+ | RE_NEWLINE_ALT | RE_NO_BK_PARENS \
+ | RE_NO_BK_VBAR)
+
+#define RE_SYNTAX_POSIX_EGREP \
+ (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)
+
+/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */
+#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
+
+#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC
+
+/* Syntax bits common to both basic and extended POSIX regex syntax. */
+#define _RE_SYNTAX_POSIX_COMMON \
+ (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \
+ | RE_INTERVALS | RE_NO_EMPTY_RANGES)
+
+#define RE_SYNTAX_POSIX_BASIC \
+ (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)
+
+/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes
+ RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this
+ isn't minimal, since other operators, such as \`, aren't disabled. */
+#define RE_SYNTAX_POSIX_MINIMAL_BASIC \
+ (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
+
+#define RE_SYNTAX_POSIX_EXTENDED \
+ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \
+ | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \
+ | RE_NO_BK_PARENS | RE_NO_BK_VBAR \
+ | RE_UNMATCHED_RIGHT_PAREN_ORD)
+
+/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS
+ replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added. */
+#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \
+ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \
+ | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \
+ | RE_NO_BK_PARENS | RE_NO_BK_REFS \
+ | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD)
+/* [[[end syntaxes]]] */
+
+/* Maximum number of duplicates an interval can allow. Some systems
+ (erroneously) define this in other header files, but we want our
+ value, so remove any previous define. */
+#ifdef RE_DUP_MAX
+#undef RE_DUP_MAX
+#endif
+#define RE_DUP_MAX ((1 << 15) - 1)
+
+
+/* POSIX `cflags' bits (i.e., information for `regcomp'). */
+
+/* If this bit is set, then use extended regular expression syntax.
+ If not set, then use basic regular expression syntax. */
+#define REG_EXTENDED 1
+
+/* If this bit is set, then ignore case when matching.
+ If not set, then case is significant. */
+#define REG_ICASE (REG_EXTENDED << 1)
+
+/* If this bit is set, then anchors do not match at newline
+ characters in the string.
+ If not set, then anchors do match at newlines. */
+#define REG_NEWLINE (REG_ICASE << 1)
+
+/* If this bit is set, then report only success or fail in regexec.
+ If not set, then returns differ between not matching and errors. */
+#define REG_NOSUB (REG_NEWLINE << 1)
+
+
+/* POSIX `eflags' bits (i.e., information for regexec). */
+
+/* If this bit is set, then the beginning-of-line operator doesn't match
+ the beginning of the string (presumably because it's not the
+ beginning of a line).
+ If not set, then the beginning-of-line operator does match the
+ beginning of the string. */
+#define REG_NOTBOL 1
+
+/* Like REG_NOTBOL, except for the end-of-line. */
+#define REG_NOTEOL (1 << 1)
+
+
+/* If any error codes are removed, changed, or added, update the
+ `re_error_msg' table in regex.c. */
+typedef enum
+{
+ REG_NOERROR = 0, /* Success. */
+ REG_NOMATCH, /* Didn't find a match (for regexec). */
+
+ /* POSIX regcomp return error codes. (In the order listed in the
+ standard.) */
+ REG_BADPAT, /* Invalid pattern. */
+ REG_ECOLLATE, /* Not implemented. */
+ REG_ECTYPE, /* Invalid character class name. */
+ REG_EESCAPE, /* Trailing backslash. */
+ REG_ESUBREG, /* Invalid back reference. */
+ REG_EBRACK, /* Unmatched left bracket. */
+ REG_EPAREN, /* Parenthesis imbalance. */
+ REG_EBRACE, /* Unmatched \{. */
+ REG_BADBR, /* Invalid contents of \{\}. */
+ REG_ERANGE, /* Invalid range end. */
+ REG_ESPACE, /* Ran out of memory. */
+ REG_BADRPT, /* No preceding re for repetition op. */
+
+ /* Error codes we've added. */
+ REG_EEND, /* Premature end. */
+ REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */
+ REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */
+} reg_errcode_t;
+
+/* This data structure represents a compiled pattern. Before calling
+ the pattern compiler, the fields `buffer', `allocated', `fastmap',
+ `translate', and `no_sub' can be set. After the pattern has been
+ compiled, the `re_nsub' field is available. All other fields are
+ private to the regex routines. */
+
+struct re_pattern_buffer
+{
+/* [[[begin pattern_buffer]]] */
+ /* Space that holds the compiled pattern. It is declared as
+ `unsigned char *' because its elements are
+ sometimes used as array indexes. */
+ unsigned char *buffer;
+
+ /* Number of bytes to which `buffer' points. */
+ unsigned long allocated;
+
+ /* Number of bytes actually used in `buffer'. */
+ unsigned long used;
+
+ /* Syntax setting with which the pattern was compiled. */
+ reg_syntax_t syntax;
+
+ /* Pointer to a fastmap, if any, otherwise zero. re_search uses
+ the fastmap, if there is one, to skip over impossible
+ starting points for matches. */
+ char *fastmap;
+
+ /* Either a translate table to apply to all characters before
+ comparing them, or zero for no translation. The translation
+ is applied to a pattern when it is compiled and to a string
+ when it is matched. */
+ char *translate;
+
+ /* Number of subexpressions found by the compiler. */
+ size_t re_nsub;
+
+ /* Zero if this pattern cannot match the empty string, one else.
+ Well, in truth it's used only in `re_search_2', to see
+ whether or not we should use the fastmap, so we don't set
+ this absolutely perfectly; see `re_compile_fastmap' (the
+ `duplicate' case). */
+ unsigned can_be_null : 1;
+
+ /* If REGS_UNALLOCATED, allocate space in the `regs' structure
+ for `max (RE_NREGS, re_nsub + 1)' groups.
+ If REGS_REALLOCATE, reallocate space if necessary.
+ If REGS_FIXED, use what's there. */
+#define REGS_UNALLOCATED 0
+#define REGS_REALLOCATE 1
+#define REGS_FIXED 2
+ unsigned regs_allocated : 2;
+
+ /* Set to zero when `regex_compile' compiles a pattern; set to one
+ by `re_compile_fastmap' if it updates the fastmap. */
+ unsigned fastmap_accurate : 1;
+
+ /* If set, `re_match_2' does not return information about
+ subexpressions. */
+ unsigned no_sub : 1;
+
+ /* If set, a beginning-of-line anchor doesn't match at the
+ beginning of the string. */
+ unsigned not_bol : 1;
+
+ /* Similarly for an end-of-line anchor. */
+ unsigned not_eol : 1;
+
+ /* If true, an anchor at a newline matches. */
+ unsigned newline_anchor : 1;
+
+/* [[[end pattern_buffer]]] */
+};
+
+typedef struct re_pattern_buffer regex_t;
+
+
+/* search.c (search_buffer) in Emacs needs this one opcode value. It is
+ defined both in `regex.c' and here. */
+#define RE_EXACTN_VALUE 1
+
+/* Type for byte offsets within the string. POSIX mandates this. */
+typedef int regoff_t;
+
+
+/* This is the structure we store register match data in. See
+ regex.texinfo for a full description of what registers match. */
+struct re_registers
+{
+ unsigned num_regs;
+ regoff_t *start;
+ regoff_t *end;
+};
+
+
+/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
+ `re_match_2' returns information about at least this many registers
+ the first time a `regs' structure is passed. */
+#ifndef RE_NREGS
+#define RE_NREGS 30
+#endif
+
+
+/* POSIX specification for registers. Aside from the different names than
+ `re_registers', POSIX uses an array of structures, instead of a
+ structure of arrays. */
+typedef struct
+{
+ regoff_t rm_so; /* Byte offset from string's start to substring's start. */
+ regoff_t rm_eo; /* Byte offset from string's start to substring's end. */
+} regmatch_t;
+
+/* Declarations for routines. */
+
+/* Sets the current default syntax to SYNTAX, and return the old syntax.
+ You can also simply assign to the `re_syntax_options' variable. */
+extern reg_syntax_t re_set_syntax (reg_syntax_t syntax);
+
+/* Compile the regular expression PATTERN, with length LENGTH
+ and syntax given by the global `re_syntax_options', into the buffer
+ BUFFER. Return NULL if successful, and an error string if not. */
+extern const char *re_compile_pattern
+ (const char *pattern, int length, struct re_pattern_buffer *buffer);
+
+
+/* Compile a fastmap for the compiled pattern in BUFFER; used to
+ accelerate searches. Return 0 if successful and -2 if was an
+ internal error. */
+extern int re_compile_fastmap (struct re_pattern_buffer *buffer);
+
+
+/* Search in the string STRING (with length LENGTH) for the pattern
+ compiled into BUFFER. Start searching at position START, for RANGE
+ characters. Return the starting position of the match, -1 for no
+ match, or -2 for an internal error. Also return register
+ information in REGS (if REGS and BUFFER->no_sub are nonzero). */
+extern int re_search
+ (struct re_pattern_buffer *buffer, const char *string,
+ int length, int start, int range, struct re_registers *regs);
+
+
+/* Like `re_search', but search in the concatenation of STRING1 and
+ STRING2. Also, stop searching at index START + STOP. */
+extern int re_search_2
+ (struct re_pattern_buffer *buffer, const char *string1,
+ int length1, const char *string2, int length2,
+ int start, int range, struct re_registers *regs, int stop);
+
+
+/* Like `re_search', but return how many characters in STRING the regexp
+ in BUFFER matched, starting at position START. */
+extern int re_match
+ (struct re_pattern_buffer *buffer, const char *string,
+ int length, int start, struct re_registers *regs);
+
+
+/* Relates to `re_match' as `re_search_2' relates to `re_search'. */
+extern int re_match_2
+ (struct re_pattern_buffer *buffer, const char *string1,
+ int length1, const char *string2, int length2,
+ int start, struct re_registers *regs, int stop);
+
+
+/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
+ ENDS. Subsequent matches using BUFFER and REGS will use this memory
+ for recording register information. STARTS and ENDS must be
+ allocated with malloc, and must each be at least `NUM_REGS * sizeof
+ (regoff_t)' bytes long.
+
+ If NUM_REGS == 0, then subsequent matches should allocate their own
+ register data.
+
+ Unless this function is called, the first search or match using
+ PATTERN_BUFFER will allocate its own register data, without
+ freeing the old data. */
+extern void re_set_registers
+ (struct re_pattern_buffer *buffer, struct re_registers *regs,
+ unsigned num_regs, regoff_t *starts, regoff_t *ends);
+
+/* 4.2 bsd compatibility. */
+extern char *re_comp (const char *);
+extern int re_exec (const char *);
+
+/* POSIX compatibility. */
+extern int regcomp (regex_t *preg, const char *pattern, int cflags);
+extern int regexec
+ (const regex_t *preg, const char *string, size_t nmatch,
+ regmatch_t pmatch[], int eflags);
+extern size_t regerror
+ (int errcode, const regex_t *preg, char *errbuf,
+ size_t errbuf_size);
+extern void regfree (regex_t *preg);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* not __REGEXP_LIBRARY_H__ */
+
+
+/*
+Local variables:
+make-backup-files: t
+version-control: t
+trim-versions-without-asking: nil
+End:
+*/
diff --git a/trunk/src/stl_helpers.hpp b/trunk/src/stl_helpers.hpp
new file mode 100644
index 0000000..5dd59f4
--- /dev/null
+++ b/trunk/src/stl_helpers.hpp
@@ -0,0 +1,127 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/stl_helpers.hpp#1 $"
+
+/**
+ * @file stl_helpers.hpp
+ * Useful functions that take advantage of STL containers
+ */
+
+#ifndef GPSTK_STL_HELPERS_HPP
+#define GPSTK_STL_HELPERS_HPP
+
+//============================================================================
+//
+// This file is part of GPSTk, the GPS Toolkit.
+//
+// The GPSTk 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
+// any later version.
+//
+// The GPSTk 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 GPSTk; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S.
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software.
+//
+//Pursuant to DoD Directive 523024
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public
+// release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <cmath>
+#include <algorithm>
+#include <list>
+
+namespace gpstk
+{
+ /** @defgroup datastructsgroup STL helpers */
+ //@{
+
+ /// A simple way to get the max value of a list of numbers
+ template<class For> For max(const std::list<For> lst)
+ {
+ return *max_element(lst.begin(), lst.end());
+ }
+
+ /// A simple way to get the minimum value of a list of numbers
+ template<class For> For min(const std::list<For> lst)
+ {
+ return *min_element(lst.begin(), lst.end());
+ }
+
+ /// ListStats (i.e. Statistics on a list of numbers)
+ template<class bt>
+ struct ListStats
+ {
+ /// number of items used in the statistics taking
+ unsigned n;
+ /// statistics values
+ bt mean, sigma, min, max;
+ /// constructor
+ ListStats():n(0),mean(0),sigma(0),min(0),max(0){};
+ };
+
+ /// Compute the statistics for a list of numbers.
+ /// This algorithm is written to be stable in computing the standard
+ /// deviation for sequences of number with a large mean value.
+ /// (i.e. it doesn't accumulate sum of the value squared.)
+ template<class bt> ListStats<bt> stats(const std::list<bt>& lst)
+ {
+ ListStats<bt> s;
+ bt sum=0, sumsq=0;
+
+ s.n = lst.size();
+ if (s.n<1)
+ return s;
+
+ typename std::list<bt>::const_iterator li;
+ li=lst.begin();
+ s.min = s.max = *li;
+ for(; li!=lst.end(); li++)
+ {
+ s.min = std::min(s.min, *li);
+ s.max = std::max(s.max, *li);
+ sum += *li;
+ }
+ s.mean = sum/s.n;
+
+ if (s.n<2)
+ return s;
+
+ for(li=lst.begin(); li!=lst.end(); li++)
+ {
+ bt z=*li-s.mean;
+ sumsq += z*z;
+ }
+
+ s.sigma = sqrt(sumsq/(s.n-1));
+
+ return s;
+ }
+
+ //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/tests/AnotherFileFilterTest.cpp b/trunk/tests/AnotherFileFilterTest.cpp
new file mode 100755
index 0000000..3eaff81
--- /dev/null
+++ b/trunk/tests/AnotherFileFilterTest.cpp
@@ -0,0 +1,149 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/AnotherFileFilterTest.cpp#2 $"
+
+#include "FileFilter.hpp"
+#include "FFData.hpp"
+#include "FFStream.hpp"
+
+/**
+ * @file AnotherFileFilterTest.cpp
+ * Here's another test of the FileFilter class
+ */
+
+using namespace gpstk;
+using namespace std;
+
+// an FFData with just an int
+class TestFFData : public FFData
+{
+public:
+ TestFFData(int i = 0) : val(i) {}
+
+ virtual ~TestFFData() {}
+
+ void reallyPutRecord(FFStream& s) const
+ throw(FFStreamError, gpstk::StringUtils::StringException)
+ {}
+
+
+ void reallyGetRecord(FFStream& s)
+ throw(FFStreamError, gpstk::StringUtils::StringException)
+ {}
+
+
+ virtual void dump(std::ostream& s) const {s << val;}
+
+ int val;
+};
+
+
+// an operator < for TestFFData
+struct TestOperatorLessThan :
+ public binary_function<TestFFData, TestFFData, bool>
+{
+public:
+ bool operator() (TestFFData l, TestFFData r) const
+ {
+ return (l.val < r.val);
+ }
+};
+
+// an operator == for TestFFData
+struct TestOperatorEquals :
+ binary_function<TestFFData, TestFFData, bool>
+{
+public:
+ bool operator() (TestFFData l, TestFFData r) const
+ {
+ return (l.val == r.val);
+ }
+};
+
+// a filter for a range of values for TestFFData
+struct TestRangeFilter :
+ public unary_function<TestFFData, bool>
+{
+public:
+ TestRangeFilter(const int b, const int e)
+ : begin(b), end(e)
+ {}
+
+ bool operator() (TestFFData l) const
+ {
+ if ( (l.val < begin) ||
+ (l.val > end) )
+ return true;
+ return false;
+ }
+
+private:
+ int begin, end;
+
+};
+
+
+// a removing filter for a single value
+struct TestValueFilter :
+ public unary_function<TestFFData, bool>
+{
+public:
+ TestValueFilter(const int val)
+ : value(val)
+ {}
+
+ bool operator() (TestFFData l) const
+ {
+ if (value == l.val)
+ return true;
+ return false;
+ }
+
+private:
+ int value;
+};
+
+
+
+main (int argc, char *argv[])
+{
+ FileFilter<TestFFData> ff;
+
+ // add data to the filter
+ ff.addData(TestFFData(1));
+ ff.addData(TestFFData(2));
+ ff.addData(TestFFData(2));
+ ff.addData(TestFFData(2));
+ ff.addData(TestFFData(4));
+ ff.addData(TestFFData(4));
+ ff.addData(TestFFData(5));
+ ff.addData(TestFFData(3));
+ ff.addData(TestFFData(3));
+ ff.addData(TestFFData(1));
+
+ // do various operations on the data
+
+ list<TestFFData>::iterator itr;
+
+ cout << "unsorted" << endl;
+ for(itr = ff.begin(); itr != ff.end(); itr++)
+ (*itr).dump(cout << ' '); cout << endl;
+
+ cout << "sorted" << endl;
+ ff.sort(TestOperatorLessThan());
+ for(itr = ff.begin(); itr != ff.end(); itr++)
+ (*itr).dump(cout << ' '); cout << endl;
+
+ cout << "filter out values > 3" << endl;
+ ff.filter(TestRangeFilter(1,3));
+ for(itr = ff.begin(); itr != ff.end(); itr++)
+ (*itr).dump(cout << ' '); cout << endl;
+
+ cout << "filter out 2" << endl;
+ ff.filter(TestValueFilter(2));
+ for(itr = ff.begin(); itr != ff.end(); itr++)
+ (*itr).dump(cout << ' '); cout << endl;
+
+ cout << "unique only" << endl;
+ ff.unique(TestOperatorEquals());
+ for(itr = ff.begin(); itr != ff.end(); itr++)
+ (*itr).dump(cout << ' '); cout << endl;
+}
diff --git a/trunk/tests/DayTimeConversionTest.cpp b/trunk/tests/DayTimeConversionTest.cpp
new file mode 100644
index 0000000..cee3b05
--- /dev/null
+++ b/trunk/tests/DayTimeConversionTest.cpp
@@ -0,0 +1,258 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/DayTimeConversionTest.cpp#1 $"
+
+/* \example DayTimeToleranceTest.cpp
+ * This test evaluates user defined comparison tolerance feature of DayTime.
+ */
+
+#include <iostream>
+#include <stdlib.h>
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+bool testConstructors(short year, short month, short dom,
+ short hour, short minute, double seconds,
+ short week, double sow, long zcount,
+ short hintYear,
+ double MJD)
+{
+ bool cumulativeResult = true;
+
+ gpstk::DayTime case1(year,month,dom,
+ hour, minute, seconds); // Calendar constructor
+ gpstk::DayTime case2(week%1024, sow, hintYear); // 10 bit GPS+SOW wk w/hint
+ gpstk::DayTime case3(week%1024,zcount, hintYear); // 10 bit GPS+Z count w/hint
+ gpstk::DayTime case4(MJD); // JD converted to MJD inline
+
+ cout << case1.printf(" %-9B %02d, %Y %02H:%02M:%018.15f ");
+
+ cumulativeResult = cumulativeResult &&
+ (case1==case2) && (case1==case3) && (case1==case4);
+
+ if (cumulativeResult)
+ cout << "PASS" << endl;
+ else
+ {
+ cout << " FAIL" << endl << " Conversion results were: " << endl;
+ cout << case1.printf(" %-10B %02d, %Y %02H:%02M:%02S ") << endl;
+ cout << case2.printf(" %-10B %02d, %Y %02H:%02M:%02S ") << endl;
+ cout << case3.printf(" %-10B %02d, %Y %02H:%02M:%02S ") << endl;
+ cout << case4.printf(" %-10B %02d, %Y %02H:%02M:%02S ") << endl;
+ }
+
+ return (cumulativeResult);
+}
+
+
+bool testMutators(short year, short month, short dom,
+ short hour, short minute, double seconds,
+ short doy, double sod,
+ short week, double sow, long zcount,
+ short hintYear,
+ double MJD)
+{
+ bool cumulativeResult = true;
+
+ gpstk::DayTime case1, case2, case3, case4, case5, case6;
+
+ case1.setYMD(year, month, dom);
+ case1.setHMS(hour, minute, seconds);
+
+ case2.setYMDHMS(year, month, dom, hour, minute, seconds);
+
+ case3.setYDoy(year, doy);
+ case3.setSecOfDay(sod);
+
+ case4.setGPS(week%1024, sow, hintYear);
+
+ case5.setGPS(week%1024, zcount, hintYear);
+
+ case6.setMJD(MJD);
+
+ cout << case1.printf(" %-9B %02d, %Y %02H:%02M:%018.15f ");
+
+ cumulativeResult = cumulativeResult &&
+ (case1==case2) && (case1==case3) && (case1==case4) &&
+ (case1.GPSzcount()==case5.GPSzcount()) &&
+ (fabs(case1.MJD()-case6.MJD())<.001/DayTime::SEC_DAY);
+
+ if (cumulativeResult)
+ cout << "PASS" << endl;
+ else
+ {
+ cout << "FAIL" << endl << " Conversion results were: " << endl;
+ cout << case1.printf(" %-10B %02d, %Y %02H:%02M:%018.15f using setYMD, setHMS ") << endl;
+ cout << case2.printf(" %-10B %02d, %Y %02H:%02M:%018.15f using setYMDHMS ") << endl;
+ cout << case3.printf(" %-10B %02d, %Y %02H:%02M:%018.15f using setYDoy, setSecOfDay ") << endl;
+ cout << case4.printf(" %-10B %02d, %Y %02H:%02M:%018.15f using setGPS(wk, sow, hintYr) ") << endl;
+ cout << case5.printf(" %-10B %02d, %Y %02H:%02M:%018.15f using setGPS(wk, zcount, hintYr) ") << endl;
+ cout << case6.printf(" %-10B %02d, %Y %02H:%02M:%018.15f using setMJD ") << endl;
+ }
+
+ return (cumulativeResult);
+}
+
+bool testRandomAccessors(DayTime &dtb, DayTime &dte, long ndates)
+{
+ bool cumulativeResult=true;
+
+ // Seed the random number generator
+ gpstk::DayTime dt;
+ unsigned int seed= (unsigned int) dt.GPSsow();
+ srand(seed);
+
+ unsigned long dayDiff = (unsigned long)
+ ceil(dte.MJD() - dtb.MJD());
+
+ for (int j=0;j<ndates;++j) // Loop through set of random days
+ {
+ double dayDelta = floor( rand()*1./ RAND_MAX * dayDiff);
+ double sodDelta = rand()*1./RAND_MAX;
+ gpstk::DayTime testDate;
+
+ testDate.setMJD(dtb.MJD()+dayDelta+sodDelta);
+
+ short year = testDate.year();
+ short month = testDate.month();
+ short dom = testDate.day();
+ short hour = testDate.hour();
+ short minute = testDate.minute();
+ double seconds = testDate.second();
+ short doy = testDate.DOY();
+ double sod = testDate.DOYsecond();
+ short week = testDate.GPSfullweek()%1024;
+ double sow = testDate.GPSsow();
+ long zcount = testDate.GPSzcount();
+ short hintYear = testDate.year();
+ double MJD = testDate.MJD();
+ cumulativeResult = cumulativeResult &&
+ testMutators( year, month, dom, hour, minute, seconds,
+ doy, sod,
+ week, sow, zcount, hintYear,
+ MJD );
+ } // End loop over random dates
+
+ return cumulativeResult;
+}
+
+/// returns 0 if all tests pass
+int main()
+{
+ using gpstk::DayTime;
+
+ try
+ {
+ DayTime::setDayTimeTolerance(DayTime::DAYTIME_TOLERANCE); // microsecond tolerance
+
+ cout << endl;
+ cout << "DayTime conversion tests." << endl << endl;
+
+ cout << "All comparisons accurate to " << DayTime::DAYTIME_TOLERANCE;
+ cout << " seconds." << endl << endl;
+
+
+ bool cumulativeResult = true;
+
+
+ cout << "Testing constructors using documented dates." << endl;
+ cout << endl;
+
+
+ // Directly from ICD-GPS-200
+ // Beginning of GPS Time, as defined by ICD-GPS-200
+ cumulativeResult = cumulativeResult &&
+ testConstructors(1980,1,6,0,0,0,
+ 0, 0., 0,
+ 1981,
+ 44244.);
+
+ // From GPS Signals and Performan, Misra and Enge, p. 91
+ // GPS 10 bit week rollover epoch
+ cumulativeResult = cumulativeResult &&
+ testConstructors(1999,8,22,0,0,0,
+ 0, 0., 0,
+ 2000,
+ 51412.);
+
+ // From Hoffman-Wellenhof, et al.
+ // The J2000 standard epoch
+ cumulativeResult = cumulativeResult &&
+ testConstructors(2000,1,1,12,0,0,
+ 1042, 561600., 374400,
+ 2000,
+ 2451545 - 2400000.5);
+
+
+ cout << endl << "Testing mutators using documented dates." << endl << endl;
+
+ // Directly from ICD-GPS-200
+ // Beginning of GPS Time, as defined by ICD-GPS-200
+ cumulativeResult = cumulativeResult &&
+ testMutators(1980,1,6,0,0,0,
+ 6, 0.,
+ 0, 0., 0,
+ 1981,
+ 44244.);
+
+ // From GPS Signals and Performan, Misra and Enge, p. 91
+ // GPS 10 bit week rollover epoch
+ cumulativeResult = cumulativeResult &&
+ testMutators(1999,8,22,0,0,0,
+ 234, 0.,
+ 0, 0., 0,
+ 2000,
+ 51412.);
+
+ // From Hoffman-Wellenhof, et al.
+ // The J2000 standard epoch
+ cumulativeResult = cumulativeResult &&
+ testMutators(2000,1,1,12,0,0,
+ 1, 43200.,
+ 1042, 561600., 374400,
+ 2000,
+ 2451545 - 2400000.5);
+
+ // Random accessor/mutator tests
+ cout << endl;
+ cout << "Testing accessors and mutators using randomly generated dates.";
+ cout << endl << endl;
+
+ gpstk::DayTime dtBegin(1995,1,1,0,0,0), dtEnd(2015,1,1,0,0,0);
+ cumulativeResult = cumulativeResult &&
+ testRandomAccessors( dtBegin, dtEnd, 20);
+
+
+ // Wrap it up, folks
+ cout << endl;
+ cout << setw(34);
+ cout << DayTime().printf("Completed on %B %d, %Y %H:%02M:%02S");
+ cout << endl << endl;
+
+ int ret = 0;
+ if (cumulativeResult)
+ cout << "All comparison tests PASSED." << endl;
+ else
+ {
+ cout << "One ore more comparison tests FAILED." << endl;
+ ret = 1;
+ }
+
+ return ret;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(...)
+ {
+ cout << "Some other exception thrown..." << endl;
+ }
+
+ cout << "Exiting with exceptions." << endl;
+ return -1;
+}
+
+
diff --git a/trunk/tests/DayTimeIncrementTest.cpp b/trunk/tests/DayTimeIncrementTest.cpp
new file mode 100644
index 0000000..140adbc
--- /dev/null
+++ b/trunk/tests/DayTimeIncrementTest.cpp
@@ -0,0 +1,129 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/DayTimeIncrementTest.cpp#1 $"
+
+/* \example DayTimeToleranceTest.cpp
+ * This test evaluates user defined comparison tolerance feature of DayTime.
+ * It merely increments then decrements DayTime in different ways, then
+ * reports to the user the estimate of machine error.
+ */
+
+#include <iostream>
+#include <iomanip>
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+#define TEST_METHOD(method, incCount, incValue, diffTolerance) \
+ dtcopy = dtorig; \
+ totalIncrements=0; \
+ incCountUse = incCount/2; \
+ for (long j=0; j<incCountUse; ++j) \
+ { \
+ dtcopy.method(incValue); \
+ totalIncrements++; \
+ } \
+ for (long j=0; j<incCountUse; ++j) \
+ { \
+ dtcopy.method(-incValue); \
+ totalIncrements++; \
+ } \
+ tdiff = dtcopy-dtorig; \
+ cout << setw(18) << #method; \
+ cout << setw(18) << totalIncrements; \
+ cout << setw(22) << setprecision(10) << tdiff; \
+ cout << setw(21) << setprecision(8) << tdiff * C_GPS_M; \
+ cout << setw(23) << setprecision(5) << diffTolerance; \
+ cout << endl; \
+ cumulativeResult = cumulativeResult && \
+ ( fabs(tdiff)<diffTolerance );
+
+
+/// returns 0 if all tests pass
+int main()
+{
+ try
+ {
+ cout << endl << "Testing DayTime increment safety." << endl << endl;
+
+ // Set the DayTimes using Year, Month, Day, Hour, Minute, Second.
+ gpstk::DayTime dtorig(2000,12,1,0,0,0.0), dtcopy;
+
+ // Used to time the test.
+ DayTime startTime;
+ bool cumulativeResult = true;
+ double tdiff;
+ long totalIncrements=0;
+ long incCountUse;
+
+ cout << setw(18) << "Increment operator";
+ cout << setw(18) << "# of increments";
+ cout << setw(22) << "Difference (seconds)";
+ cout << setw(21) << "Difference (meters)";
+ cout << setw(23) << "Acceptable Diff (sec)";
+
+
+ cout << endl;
+
+ cout << setw(18) << "------------------";
+ cout << setw(18) << "---------------";
+ cout << setw(22) << "--------------------";
+ cout << setw(21) << "-------------------";
+ cout << setw(23) << "--------------------";
+ cout << endl;
+
+ TEST_METHOD(operator+=, 60, 1, 1e-15)
+ TEST_METHOD(operator+=, 3600, 1, 1e-15)
+ TEST_METHOD(operator+=, 86400, 1, 1e-15)
+ TEST_METHOD(operator+=, 7*86400, 1, 1e-15)
+ cout << endl;
+
+
+ TEST_METHOD(addMilliSeconds, 1000, 1, 1e-15)
+ TEST_METHOD(addMilliSeconds, 60*1000, 1, 1e-15)
+ TEST_METHOD(addMilliSeconds, 3600*1000, 1, 1e-15)
+ TEST_METHOD(addMilliSeconds, 86400*1000, 1, 1e-15)
+ TEST_METHOD(addMilliSeconds, 86400*2*1000, 1, 1e-15)
+ TEST_METHOD(addMilliSeconds, 86400*7*1000, 1, 1e-15)
+ cout << endl;
+
+ TEST_METHOD(addMicroSeconds, 1000*1000, 1, 1e-3)
+ TEST_METHOD(addMicroSeconds, 60*1000*1000, 1, 1e-3)
+ TEST_METHOD(addMicroSeconds, 5*60*1000*1000, 1, 1e-3)
+ cout << endl;
+
+ DayTime endTime;
+
+
+ cout << endl << setprecision(4);
+ cout << endTime.printf("Completed on %B %d, %Y %H:%02M:%02S") << endl;
+ cout << "Processing time " << endTime-startTime << " seconds." << endl;
+ cout << endl;
+
+ int ret = 0;
+ if (cumulativeResult)
+ cout << "All comparison tests PASSED." << endl;
+ else
+ {
+ cout << "One ore more comparison tests FAILED." << endl;
+ ret = 1;
+ }
+
+ cout << endl;
+
+ return ret;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(...)
+ {
+ cout << "Some other exception thrown..." << endl;
+ }
+
+ cout << "Exiting with exceptions." << endl;
+ return -1;
+}
diff --git a/trunk/tests/DayTimeIncrementTest2.cpp b/trunk/tests/DayTimeIncrementTest2.cpp
new file mode 100644
index 0000000..31af4a7
--- /dev/null
+++ b/trunk/tests/DayTimeIncrementTest2.cpp
@@ -0,0 +1,102 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/DayTimeIncrementTest2.cpp#3 $"
+
+#include <iostream>
+#include <iomanip>
+#include <limits>
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+template<class T>
+void testmeth(unsigned long incCount, T incValue)
+{
+ gpstk::DayTime dtorig(2000,12,1,0,0,0.0), dtcopy;
+ double tdiff;
+ long totalIncrements=0;
+ long incCountUse;
+
+ dtcopy = dtorig;
+ incCountUse = incCount/2;
+ for (long j=0; j<incCountUse; ++j)
+ {
+ dtcopy.addSeconds(incValue);
+ totalIncrements++;
+ }
+
+ for (long j=0; j<incCountUse; ++j)
+ {
+ dtcopy.addSeconds(-incValue);
+ totalIncrements++;
+ }
+
+ tdiff = dtcopy-dtorig;
+ cout << setw(8) << std::numeric_limits<T>::digits10
+ << setw(10) << incValue
+ << setw(15) << totalIncrements
+ << setw(20) << setprecision(10) << tdiff
+ << endl;
+}
+
+/// returns 0 if all tests pass
+int main()
+{
+ try
+ {
+ cout << "Testing DayTime addSeconds accuracy & speed." << endl;
+
+
+ cout << setw(8) << "digits"
+ << setw(10) << "incr"
+ << setw(15) << "count"
+ << setw(20) << "dt (sec)"
+ << endl;
+
+ DayTime startTime;
+ testmeth(60, (long)1);
+ testmeth(3600, (long)1);
+ testmeth(86400, (long)1);
+ testmeth(7*86400, (long)1);
+ cout << endl;
+
+ testmeth(1000, 1e-3);
+ testmeth(60*1000, 1e-3);
+ testmeth(3600*1000, 1e-3);
+ testmeth(86400*1000, 1e-3);
+ testmeth(86400*2*1000, 1e-3);
+ testmeth(86400*7*1000, 1e-3);
+ cout << endl;
+
+ testmeth(1000*1000, 1e-6);
+ testmeth(60*1000*1000, 1e-6);
+ testmeth(5*60*1000*1000, 1e-6);
+ cout << endl;
+
+ testmeth(1000*1000, 1e-9);
+ testmeth(100*1000*1000, 1e-9);
+ cout << endl;
+
+ testmeth(1000*1000, 1e-11);
+ testmeth(100*1000*1000, 1e-11);
+ cout << endl;
+
+ DayTime endTime;
+
+ cout << endl
+ << "Processing time "
+ << setprecision(4) << endTime-startTime
+ << " seconds."
+ << endl;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(...)
+ {
+ cout << "Some other exception thrown..." << endl;
+ }
+}
diff --git a/trunk/tests/DayTimeToleranceTest.cpp b/trunk/tests/DayTimeToleranceTest.cpp
new file mode 100644
index 0000000..f2d87fe
--- /dev/null
+++ b/trunk/tests/DayTimeToleranceTest.cpp
@@ -0,0 +1,101 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/DayTimeToleranceTest.cpp#1 $"
+
+/* \example DayTimeToleranceTest.cpp
+ * This test evaluates user defined comparison tolerance feature of DayTime.
+ */
+
+#include <iostream>
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+
+using namespace std;
+
+/// returns 0 if all tests pass
+int main()
+{
+ using gpstk::DayTime;
+
+ try
+ {
+ cout << "Testing DayTime tolerances." << endl;
+
+ // Set the DayTimes using Year, Month, Day, Hour, Minute, Second.
+ gpstk::DayTime dt1(2000,12,1,0,0,0.0),
+ dt2(2000,12,1,0,0,0.0);
+
+ int nCases = 11;
+ double secDiff[]=
+ { 1.01, 1.0, .99, .5, .25, .0, -.25, -.5, -.99, -1.0, - 1.01 };
+
+ bool oneSecTolPass[]=
+ { false, true, true, true, true, true, true, true, true, true, false};
+
+ bool halfSecTolPass[]=
+ { false, false, false, true, true, true, true, true, false, false, false};
+ // column widths: 24 24 5 7 7 7 7
+ cout << " Time 1 Time 2 "
+ " diff 1 sec 0.5 sec" << endl;
+
+ string equal( " Equal");
+ string inequal(" Inequal");
+
+ bool cumulativeResult = true;
+
+ for (int i=0; i<nCases; i++)
+ {
+ dt2 = dt1 + secDiff[i];
+ string fmt("%m/%d/%Y %02H:%02M:%07.4f");
+ cout << setw(24) << dt1.printf(fmt) << " "
+ << setw(24) << dt2.printf(fmt) << " "
+ << setw(5) << dt2 - dt1 << " ";
+
+ // Set dt1 and dt2 to one second tolerance.
+ dt1.setTolerance(gpstk::DayTime::ONE_SEC_TOLERANCE);
+ dt2.setTolerance(gpstk::DayTime::ONE_SEC_TOLERANCE);
+
+ cout << (oneSecTolPass[i] ? equal : inequal)
+ << ((dt1 == dt2) ? equal : inequal) ;
+
+ cumulativeResult = cumulativeResult && (oneSecTolPass[i]==(dt1==dt2));
+
+ // Set dt1 and dt2 to half second tolerance.
+ dt1.setTolerance(gpstk::DayTime::ONE_SEC_TOLERANCE * 0.5);
+ dt2.setTolerance(gpstk::DayTime::ONE_SEC_TOLERANCE * 0.5);
+
+ cout << (halfSecTolPass[i] ? equal : inequal)
+ << ((dt1 == dt2) ? equal : inequal)
+ << endl ;
+
+ cumulativeResult = cumulativeResult &&
+ (halfSecTolPass[i]==(dt1==dt2));
+
+ }
+
+ cout << endl;
+ cout << DayTime().printf("Completed on %B %d, %Y %H:%02M:%02S");
+ cout << endl << endl;
+
+ int ret = 0;
+ if (cumulativeResult)
+ cout << "All comparison tests PASSED." << endl;
+ else
+ {
+ cout << "One ore more comparison tests FAILED." << endl;
+ ret = 1;
+ }
+
+ return ret;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(...)
+ {
+ cout << "Some other exception thrown..." << endl;
+ }
+
+ cout << "Exiting with exceptions." << endl;
+ return -1;
+}
diff --git a/trunk/tests/EphComp.cpp b/trunk/tests/EphComp.cpp
new file mode 100755
index 0000000..a09e7fd
--- /dev/null
+++ b/trunk/tests/EphComp.cpp
@@ -0,0 +1,108 @@
+// EphComp.cpp compare BC and SP3 ephemerides
+//
+#include <iostream>
+#include <iomanip>
+#include <string>
+#include <map>
+
+#include "DayTime.hpp"
+
+#include "RinexEphemerisStore.hpp"
+#include "SP3EphemerisStore.hpp"
+
+#include "CommandOption.hpp"
+#include "CommandOptionParser.hpp"
+
+/**
+ * @file Ephcomp.cpp
+ *
+ */
+using namespace std;
+
+int main(int argc, char *argv[])
+{
+ try
+ {
+ gpstk::CommandOptionNoArg
+ helpOption('h', "help", "Print help usage");
+ gpstk::CommandOptionWithNumberArg
+ prnOption('s', "prn", "Which SV to compare");
+ gpstk::CommandOptionWithAnyArg
+ sp3Files('p', "precise", "SP3 file",true),
+ bceFiles('b', "broadcast", "RINEX nav file",true);
+
+ string appDesc("Computes diferences between broadcast and precise ephemerides.");
+ gpstk::CommandOptionParser cop(appDesc);
+ cop.parseOptions(argc, argv);
+
+ if (helpOption.getCount() || cop.hasErrors())
+ {
+ if (cop.hasErrors())
+ cop.dumpErrors(cout);
+ cop.displayUsage(cout);
+ exit(0);
+ }
+
+ // load all the SP3 ephemerides files
+ gpstk::SP3EphemerisStore SP3EphList;
+ SP3EphList.loadFiles(sp3Files.getValue());
+
+ // load the BC ephemerides
+ gpstk::RinexEphemerisStore BCEphList;
+ BCEphList.loadFiles(bceFiles.getValue());
+
+ int prn=13;
+ if (prnOption.getCount())
+ prn = gpstk::StringUtils::asInt((prnOption.getValue())[0]);
+ unsigned long ref;
+
+ // choose a time range within the data....
+ gpstk::DayTime te(BCEphList.getFinalTime());
+ gpstk::DayTime t(BCEphList.getInitialTime());
+ //BCEphList.SearchNear();
+ gpstk::Xvt SP3PVT,BCPVT;
+ while (t < te)
+ {
+ t += 15.0;
+ try
+ {
+ // get the SP3 & BCE PVT
+ SP3PVT = SP3EphList.getPrnXvt(prn,t);
+ BCPVT = BCEphList.getPrnXvt(prn,t);
+ cout << fixed << t
+ << " " << setw(2) << prn
+ << setprecision(6)
+ << " " << setw(13) << BCPVT.x[0]-SP3PVT.x[0]
+ << " " << setw(13) << BCPVT.x[1]-SP3PVT.x[1]
+ << " " << setw(13) << BCPVT.x[2]-SP3PVT.x[2]
+ << scientific
+ << " " << setw(13) << BCPVT.dtime-SP3PVT.dtime
+ << fixed
+ << " " << setw(13) << BCPVT.v[0]-SP3PVT.v[0]
+ << " " << setw(13) << BCPVT.v[1]-SP3PVT.v[1]
+ << " " << setw(13) << BCPVT.v[2]-SP3PVT.v[2]
+ << scientific
+ << " " << setw(13) << BCPVT.ddtime-SP3PVT.ddtime
+ << endl;
+ }
+ catch (gpstk::EphemerisStore::NoEphemerisFound& e)
+ {
+ cerr << t << " " << e << endl;
+ continue;
+ }
+
+ }
+ }
+ catch (gpstk::Exception& e)
+ {
+ cout << e;
+ exit(-1);
+ }
+ catch (...)
+ {
+ cout << "Caught an unknown exception" << endl;
+ exit(-1);
+ }
+
+ return 0;
+}
diff --git a/trunk/tests/EphComp.gp b/trunk/tests/EphComp.gp
new file mode 100644
index 0000000..6055e2f
--- /dev/null
+++ b/trunk/tests/EphComp.gp
@@ -0,0 +1,30 @@
+#
+# Used to plot the output from EphComp
+#
+set label 1 "Ephemeris Comparison" at graph 0.5,0.96 center
+set label 2 "Broadcast - SP3" at graph 0.5,0.91 center
+set key box linewidth 0.250
+
+set xlabel "Time"
+set xdata time
+set timefmt "%m/%d/%Y %H:%M:%S"
+set format x "%H:%02M\n%j\n%Y"
+set xtics nomirror
+set grid xtics
+
+set ylabel "Position difference (m)"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set y2label "Velocity difference (m/s)"
+set grid ytics
+
+# set terminal postscript landscape color
+# set output "EphComp.ps"
+
+plot "EphComp.out" using 1:4 t "X" with points pointsize 0.5,\
+ "" using 1:5 t "Y" with points pointsize 0.5,\
+ "" using 1:6 t "Z" with points pointsize 0.5,\
+ "" using 1:8 axes x1y2 t "VX" with points pointsize 0.5,\
+ "" using 1:9 axes x1y2 t "VY" with points pointsize 0.5,\
+ "" using 1:10 axes x1y2 t "VZ" with points pointsize 0.5
diff --git a/trunk/tests/EphCompWin.gp b/trunk/tests/EphCompWin.gp
new file mode 100644
index 0000000..5e55297
--- /dev/null
+++ b/trunk/tests/EphCompWin.gp
@@ -0,0 +1,31 @@
+#
+# Used to plot the output from EphComp
+#
+set label 1 "Ephemeris Comparison" at graph 0.5,0.96 center
+set label 2 "Broadcast - SP3" at graph 0.5,0.91 center
+set key box linewidth 0.250
+
+set xlabel "Time"
+set xdata time
+set timefmt "%m/%d/%Y %H:%M:%S"
+set format x "%H:%02M\n%j\n%Y"
+set xtics nomirror
+set grid xtics
+
+set ylabel "Position difference (m)"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set y2label "Velocity difference (m/s)"
+set grid ytics
+
+# set terminal postscript landscape color
+# set output "EphComp.ps"
+
+plot "EphComp.out" using 1:4 t "X" with points pointsize 0.5,\
+ "" using 1:5 t "Y" with points pointsize 0.5,\
+ "" using 1:6 t "Z" with points pointsize 0.5,\
+ "" using 1:8 axes x1y2 t "VX" with points pointsize 0.5,\
+ "" using 1:9 axes x1y2 t "VY" with points pointsize 0.5,\
+ "" using 1:10 axes x1y2 t "VZ" with points pointsize 0.5
+pause -1 "EphComp test"
diff --git a/trunk/tests/FileSpecTest.cpp b/trunk/tests/FileSpecTest.cpp
new file mode 100755
index 0000000..fac6e23
--- /dev/null
+++ b/trunk/tests/FileSpecTest.cpp
@@ -0,0 +1,114 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/FileSpecTest.cpp#2 $"
+
+#include <iostream>
+#include <cstdio>
+
+#include "FileSpec.hpp"
+#include "FileHunter.hpp"
+#include "DayTime.hpp"
+
+/**
+ * @file FileSpecTest.cpp
+ *
+ */
+
+using namespace std;
+
+main()
+{
+ try
+ {
+ cout << "Please make sure you've run genFileSpecTestDirs.pl before beginning." << endl;
+ cout << "push enter to continue" << endl;
+ getchar();
+
+ int i;
+#ifndef _WIN32
+ gpstk::FileHunter moo("fstest/ADMS%3n/RINEXOBS/S%2n%t%03jA.%02yO");
+#else
+ gpstk::FileHunter moo("fstest\\ADMS%3n\\RINEXOBS\\S%2n%t%03jA.%02yO");
+#endif
+ moo.dump(cout);
+
+ gpstk::DayTime start = gpstk::DayTime(2001, 51, (double)0);
+ gpstk::DayTime end = gpstk::DayTime(2001, 53, (double)0);
+ cout << "All files should be between " << start << " and " << end << " ascending. " << endl;
+ vector<string> vs = moo.find(start,
+ end,
+ gpstk::FileSpec::ascending);
+ for(i = 0; i < vs.size(); i++)
+ {
+ cout << "search1 " << vs[i] << endl;
+ }
+
+ cout << endl;
+ cout << "All files should be between " << start << " and " << end << " descending. " << endl;
+ vs = moo.find(start,
+ end,
+ gpstk::FileSpec::descending);
+ for(i = 0; i < vs.size(); i++)
+ {
+ cout << "2 " << vs[i] << endl;
+ }
+
+ cout << endl;
+ cout << "All files ascending order" << endl;
+ vs = moo.find(gpstk::DayTime::BEGINNING_OF_TIME,
+ gpstk::DayTime::END_OF_TIME,
+ gpstk::FileSpec::ascending);
+ for(i = 0; i < vs.size(); i++)
+ {
+ cout << "search3 " << vs[i] << endl;
+ }
+
+ cout << endl;
+ vector<string> stationFilter;
+ stationFilter.push_back("85402");
+ moo.setFilter(gpstk::FileSpec::station, stationFilter);
+ cout << "All files from 85402 descending order" << endl;
+ vs = moo.find(gpstk::DayTime::BEGINNING_OF_TIME,
+ gpstk::DayTime::END_OF_TIME,
+ gpstk::FileSpec::descending);
+ for(i = 0; i < vs.size(); i++)
+ {
+ cout << "search4 " << vs[i] << endl;
+ }
+
+ // this tests the version filtering of file hunter
+ cout << " version search shoudl return the highest number " << endl;
+ moo.newHunt("%1v");
+ moo.dump(cout);
+ vs = moo.find();
+ for(i = 0; i < vs.size(); i++)
+ {
+ cout << "version search " << vs[i] << endl;
+ }
+ cout << endl;
+ }
+ catch (gpstk::Exception& e)
+ {
+ cout << e << endl;
+ return -1;
+ }
+
+ // this tests the FileSpec finctions for extracting and setting
+ // file information
+
+ cout << "testing FileSpec extraction functions" << endl;
+ gpstk::FileSpec boo("ADMS%3n/RINEXOBS/S%2n%t%03jA.%02yO");
+ boo.dump(cout);
+ gpstk::DayTime now;
+ gpstk::FileSpec::FSTStringMap fstsMap;
+ fstsMap[gpstk::FileSpec::station] = string("85408");
+ fstsMap[gpstk::FileSpec::selected] = string("1");
+ string filename = boo.toString(now, fstsMap);
+ cout << filename << endl;
+ cout << "station " << boo.extractField(filename, gpstk::FileSpec::station) << endl;
+ cout << "daytime " << boo.extractDayTime(filename) << endl;
+
+ boo.newSpec("ADMS402/RINEXOBS/S%2n%t%03jA.%02yO");
+ boo.dump(cout);
+
+ return 0;
+
+}
diff --git a/trunk/tests/FileSpecTest.pl b/trunk/tests/FileSpecTest.pl
new file mode 100755
index 0000000..9aeccbe
--- /dev/null
+++ b/trunk/tests/FileSpecTest.pl
@@ -0,0 +1,15 @@
+#!/usr/bin/perl
+# $Id: //depot/sgl/gpstk/dev/tests/FileSpecTest.pl#1 $
+#
+#
+#
+#
+#
+#
+#
+#
+
+$exedir=$ARGV[0];
+system "$exedir/genFileSpecTestDirs";
+system "$exedir/FileSpecTest";
+system "$exedir/delFileSpecTestDirs";
diff --git a/trunk/tests/Jamfile b/trunk/tests/Jamfile
new file mode 100644
index 0000000..1a6ec8b
--- /dev/null
+++ b/trunk/tests/Jamfile
@@ -0,0 +1,63 @@
+#
+# $Id: //depot/sgl/gpstk/dev/tests/Jamfile#12 $
+#
+
+SubDir TOP tests ;
+
+GPSLinkLibraries rinex_obs_test rinex_met_test rinex_met_read_write
+ rinex_nav_read_write rinex_obs_read_write rinex_nav_test
+ EphComp AnotherFileFilterTest FileSpecTest MatrixTest
+ exceptiontest petest stringutiltest daytimetest rktest gpszcounttest
+ positiontest DayTimeToleranceTest DayTimeIncrementTest
+ DayTimeConversionTest DayTimeIncrementTest2 MinSfTest TimeTest
+ Xbegweek Xendweek
+
+ : gpstk ;
+
+Main rinex_obs_test : rinex_obs_test.cpp ;
+Main rinex_nav_test : rinex_nav_test.cpp ;
+Main rinex_met_test : rinex_met_test.cpp ;
+
+Main rinex_met_read_write : rinex_met_read_write.cpp ;
+Main rinex_nav_read_write : rinex_nav_read_write.cpp ;
+Main rinex_obs_read_write : rinex_obs_read_write.cpp ;
+
+Main AnotherFileFilterTest : AnotherFileFilterTest.cpp ;
+
+Main EphComp : EphComp.cpp ;
+
+Main FileSpecTest : FileSpecTest.cpp ;
+
+Main MatrixTest : MatrixTest.cpp ;
+
+Main exceptiontest : exceptiontest.cpp ;
+
+Main petest : petest.cpp ;
+
+Main stringutiltest : stringutiltest.cpp ;
+
+Main daytimetest : daytimetest.cpp ;
+
+Main rktest : RungeKuttaTest.cpp ;
+
+Main gpszcounttest : gpszcounttest.cpp ;
+
+Main positiontest : positiontest.cpp ;
+
+Main DayTimeToleranceTest : DayTimeToleranceTest.cpp ;
+
+Main DayTimeIncrementTest : DayTimeIncrementTest.cpp ;
+
+Main DayTimeIncrementTest2 : DayTimeIncrementTest2.cpp ;
+
+Main DayTimeConversionTest : DayTimeConversionTest.cpp ;
+
+Main TimeTest : TimeTest.cpp ;
+
+Main MinSfTest : MinSfTest.cpp ;
+
+Main Xbegweek : Xbegweek.cpp ;
+
+Main Xendweek : Xendweek.cpp ;
+
+
diff --git a/trunk/tests/Makefile.am b/trunk/tests/Makefile.am
new file mode 100644
index 0000000..72197f9
--- /dev/null
+++ b/trunk/tests/Makefile.am
@@ -0,0 +1,34 @@
+INCLUDES = -I../src
+LDADD = ../src/libgpstk.la
+
+noinst_PROGRAMS = rinex_obs_test rinex_nav_test rinex_met_test rinex_met_read_write rinex_nav_read_write rinex_obs_read_write EphComp AnotherFileFilterTest FileSpecTest MatrixTest exceptiontest petest stringutiltest daytimetest rktest gpszcounttest positiontest
+
+rinex_obs_test_SOURCES = rinex_obs_test.cpp
+rinex_nav_test_SOURCES = rinex_nav_test.cpp
+rinex_met_test_SOURCES = rinex_met_test.cpp
+
+rinex_met_read_write_SOURCES = rinex_met_read_write.cpp
+rinex_nav_read_write_SOURCES = rinex_nav_read_write.cpp
+rinex_obs_read_write_SOURCES = rinex_obs_read_write.cpp
+
+AnotherFileFilterTest_SOURCES = AnotherFileFilterTest.cpp
+
+EphComp_SOURCES = EphComp.cpp
+
+FileSpecTest_SOURCES = FileSpecTest.cpp
+
+MatrixTest_SOURCES = MatrixTest.cpp
+
+exceptiontest_SOURCES = exceptiontest.cpp
+
+petest_SOURCES = petest.cpp
+
+stringutiltest_SOURCES = stringutiltest.cpp
+
+daytimetest_SOURCES = daytimetest.cpp
+
+rktest_SOURCES = RungeKuttaTest.cpp
+
+gpszcounttest_SOURCES = gpszcounttest.cpp
+
+positiontest_SOURCES = positiontest.cpp
diff --git a/trunk/tests/MatrixTest.cpp b/trunk/tests/MatrixTest.cpp
new file mode 100755
index 0000000..fc2739c
--- /dev/null
+++ b/trunk/tests/MatrixTest.cpp
@@ -0,0 +1,673 @@
+#include "Vector.hpp"
+#include "Matrix.hpp"
+#include "PolyFit.hpp"
+#include "Stats.hpp"
+
+#include <iostream>
+#include <iomanip>
+#include <fstream> // for copyfmt
+
+/**
+ * @file MatrixTest.cpp
+ *
+ */
+
+using namespace std;
+
+int ReadMatrix(gpstk::Matrix<double>& M, string& file)
+{
+ ifstream infile(file.c_str());
+ if(!infile) return -1;
+
+ enum Type{GEN,LOW,UPT,DIA,SYM,SQU};
+ string labels[6]={"GEN","LOW","UPT","DIA","SYM","SQU"};
+ bool dimmed=false;
+ char ch;
+ int r=0,c=0,i=0,j=0;
+ string buffer;
+ Type type=GEN;
+ while(infile >> buffer) {
+ if(buffer[0] == '#') { // skip to end of line
+ while(infile.get(ch)) { if(ch=='\n') break; }
+ }
+ else {
+ string::size_type in;
+ if((in=buffer.find("r=")) != string::npos) {
+ r = strtol(buffer.substr(in+2).c_str(),0,10);
+ //cout << "Found r = " << r << endl;
+ if(type != GEN) c=r;
+ }
+ else if((in=buffer.find("c=")) != string::npos) {
+ c = strtol(buffer.substr(in+2).c_str(),0,10);
+ //cout << "Found c = " << c << endl;
+ if(type != GEN) r=c;
+ }
+ else if((in=buffer.find("t=")) != string::npos) {
+ if((in=buffer.find("LOW")) != string::npos) type=LOW;
+ if((in=buffer.find("UPT")) != string::npos) type=UPT;
+ if((in=buffer.find("DIA")) != string::npos) type=DIA;
+ if((in=buffer.find("SYM")) != string::npos) type=SYM;
+ if((in=buffer.find("SQU")) != string::npos) type=SQU;
+ //cout << "Found type " << labels[type] << endl;
+ }
+ else if(buffer == string(":::")) {
+ if(r*c == 0) return 0;
+ M = gpstk::Matrix<double>(r,c,double(0));
+ dimmed = true;
+ }
+ else {
+ if(!dimmed) continue;
+ M(i,j) = strtod(buffer.c_str(),0);
+ j++;
+ switch(type) {
+ case LOW: if(j>i) { i++; j=0; } break;
+ case UPT: if(j>=c) { i++; j=i; } break;
+ case DIA: i=j; break;
+ case SYM: M(j-1,i) = M(i,j-1); if(j>i) { i++; j=0; } break;
+ case SQU: case GEN: default: if(j>=c) { i++; j=0; } break;
+ }
+ }
+ }
+ }
+ infile.close();
+ if(!dimmed) return -2;
+ return 0;
+}
+
+void VectorTest(void)
+{
+ cout << "\n -------------- Vector Test ---------------------------------\n";
+ gpstk::Vector<double> V(10);
+ V += 3.1415;
+ cout << "V = " << V << endl;
+
+ double dat[10]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10.1};
+ V = dat;
+ cout << "V = " << V << endl;
+ //cout << "Median of V " << median(V) << endl;
+ cout << "V min " << min(V) << ", max " << max(V) << ", sum " << sum(V) << endl;
+
+ // slice is (init,number,stride)
+ gpstk::VectorSlice<double> Vodd(V,std::slice(0,5,2));
+ gpstk::ConstVectorSlice<double> Veve(V,std::slice(1,5,2));
+ cout << "Vodd = " << Vodd << endl;
+ cout << "Veve = " << Veve << endl;
+ Vodd[1] = Vodd[3] = 0;
+ //Veve[1] = Veve[4] = 99; compiler won't let you have Veve as l-value
+ V[3] = V[7] = 99; // but you can change V, and that will show in Veve
+ cout << "Vodd = " << Vodd << endl;
+ cout << "Veve = " << Veve << endl;
+ cout << "Minkowski of Vodd and Veve " << Minkowski(Vodd,Veve) << endl;
+ cout << "dot of Vodd and Veve " << dot(Vodd,Veve) << endl;
+ cout << "V = " << V << endl;
+ cout << "V min " << min(V) << ", max " << max(V) << ", sum " << sum(V) << ", norm " << norm(V) << endl;
+
+ gpstk::Vector<double> W=V;
+ V.zeroTolerance = 1.e-15;
+ cout << "Zero tolerance for V is " << V.zeroTolerance << endl;
+ V.zeroTolerance = 1.e-5;
+ cout << "Zero tolerance for W is " << W.zeroTolerance << endl;
+
+ W += V;
+ cout << "Here is W the usual way :\n";
+ cout << ' ' << fixed << setfill('.') << setw(8) << setprecision(3) << W << endl;
+
+ cout << "Here is W the saved way :\n";
+ cout << fixed << setfill('.') << setw(8) << setprecision(3);
+ ofstream savefmt;
+ savefmt.copyfmt(cout);
+ for(int i=0; i<W.size(); i++) {
+ cout.copyfmt(savefmt);
+ cout << W[i];
+ }
+ cout << setfill(' ') << endl;
+
+ gpstk::Vector<double> Sum;
+ Sum = V + W;
+ cout << "Sum = " << setw(8) << Sum << endl;
+
+ gpstk::ConstVectorSlice<double> CVS(V,std::slice(0,V.size(),1));
+ cout << "CVS = " << setw(13) << CVS << endl;
+}
+
+void MatrixTest1(int argc, char **argv)
+{
+ cout << "\n -------------- Matrix Test 1 ---------------------------------\n";
+ gpstk::Matrix<double> MD(2,5);
+ double dat[10]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10.1};
+ MD = dat;
+ cout << "Matrix (" << MD.rows() << "," << MD.cols() << ") from double* :\n" << fixed << setprecision(1) << setw(5) << MD << endl;
+
+ string filename(argv[5]);
+ gpstk::Matrix<double> MF;
+ int iret=ReadMatrix(MF,filename);
+ if(iret < 0) {
+ cerr << "Error: could not open file " << filename << endl;
+ return;
+ }
+ //cout << "Matrix (" << MF.rows() << "," << MF.cols() << ") from file :\n" << fixed << setprecision(1) << setw(7) << MF << endl;
+
+ // pick off last column
+ gpstk::Vector<double> B(MF.colCopy(MF.cols()-1));
+
+ // copy all but last column
+ gpstk::Matrix<double> A(MF,0,0,MF.rows(),MF.cols()-1);
+ cout << "Partials Matrix (" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << A << endl;
+ cout << "Data vector (" << B.size() << ") :\n" << fixed << setprecision(3) << setw(10) << B << endl;
+
+ // take ATA, then invert
+ gpstk::Matrix<double> AT,ATA;
+ AT = transpose(A);
+ //cout << "Transposed matrix (" << AT.rows() << "," << AT.cols() << ") :\n" << fixed << setprecision(1) << setw(7) << AT << endl;
+ ATA = AT * A;
+ //cout << "ATA matrix (" << ATA.rows() << "," << ATA.cols() << ") :\n" << fixed << setprecision(3) << setw(13) << ATA << endl;
+ gpstk::Matrix<double> Ainv;
+ try { Ainv=inverse(ATA); }
+ catch (gpstk::Exception& e) { cout << e << endl; return;}
+ cout << "Covariance matrix (" << Ainv.rows() << "," << Ainv.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << Ainv << endl;
+
+ gpstk::Vector<double> Sol;
+ Sol = Ainv * AT * B;
+ cout << "Solution vector (" << Sol.size() << ") :\n" << fixed << setprecision(3) << setw(10) << Sol << endl;
+ gpstk::Vector<double> Two;
+ Two = B - A*Sol;
+ cout << "Residual vector (" << Two.size() << ") :\n" << scientific << setprecision(3) << setw(10) << Two << endl;
+
+ Two = Sol + Sol;
+ cout << "2*Solution vector (" << Two.size() << ") :\n" << fixed << setprecision(3) << setw(10) << Two << endl;
+
+ gpstk::Matrix<double> TA;
+ TA = A + A;
+ cout << "2*Partials Matrix (" << TA.rows() << "," << TA.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << TA << endl;
+
+ int i;
+ gpstk::Vector<double> c(8),b(7);
+ gpstk::Matrix<double> W;
+ for(i=0; i<8; i++) c(i)=3*i;
+ for(i=0; i<7; i++) b(i)=i+1;
+ W = outer(c,b);
+ cout << "Vector c(" << c.size() << ") :\n" << fixed << setprecision(3) << setw(7) << c << endl;
+ cout << "Vector b(" << b.size() << ") :\n" << fixed << setprecision(3) << setw(7) << b << endl;
+ cout << "Their outer product (" << W.rows() << "," << W.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << W << endl;
+ cout << "Their norms " << norm(b) << " and " << norm(c) << " and dot " << dot(c,b) << " and cosine " << cosVec(c,b) << endl;
+}
+
+void MatrixTest2(void)
+{
+ cout << "\n -------------- Matrix Test 2 ---------------------------------\n";
+ for(int n=2; n<13; n++) {
+ double big,small,cond;
+ gpstk::Matrix<double> MM(n,n),Minv,Prod;
+ for(int i=0; i<n; i++) {
+ for(int j=0; j<n; j++) {
+ MM(i,j) = 1.0/(i+j+1.0);
+ }
+ }
+ cout << "Tough matrix (" << MM.rows() << "," << MM.cols() << ") :\n" << fixed << setprecision(6) << setw(9) << MM << endl;
+ Minv = inverse(MM);
+ try { Minv=inverse(MM); }
+ catch (gpstk::Exception& e) { cout << e << endl; break;}
+ cond = condNum(MM,big,small);
+ cout << "Condition number for " << n << " is " << fixed << setprecision(3) << big << "/" << scientific << setprecision(3) << small;
+ if(small > 0.0) cout << " = " << setprecision(3) << big/small;
+ cout << endl;
+ cout << "Inverse matrix (" << Minv.rows() << "," << Minv.cols() << ") :\n" << fixed << setprecision(3) << setw(10+(n>5?n:0)) << Minv << endl;
+ Prod = Minv * MM;
+ gpstk::Vector<double>V;
+ V.zeroTolerance = 1.e-3;
+ Prod.zeroize();
+ cout << "Unity matrix (" << Prod.rows() << "," << Prod.cols() << ") ? :\n" << fixed << setprecision(9) << setw(12) << Prod << endl;
+ }
+}
+
+void MatrixTest3(int argc, char **argv)
+{
+ cout << "\n -------------- Matrix Test 3 ---------------------------------\n";
+ cout << "Read and print matrix from file\n";
+ double cond,big,small;
+ gpstk::Matrix<double> A,Ainv,P;
+ for(int i=1; i<argc; i++) {
+ string filename=argv[i];
+ cout << "File " << filename;
+ int iret=ReadMatrix(A,filename);
+ cout << " (" << iret << ") Matrix(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << A << endl;
+
+ if(A.rows() != A.cols()) {
+ gpstk::Matrix<double> AT;
+ AT = gpstk::transpose(A);
+ A = AT*A;
+ cout << " ATA Matrix(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << A << endl;
+ }
+ cond = condNum(A,big,small);
+ cout << "Condition number is " << fixed << setprecision(3) << big << "/" << scientific << setprecision(3) << small;
+ cout << " = " << fixed << big/small << endl;
+ try { Ainv=gpstk::inverse(A); }
+ catch (gpstk::Exception& e) { cout << e << endl; continue;}
+ cout << "Inverse matrix (" << Ainv.rows() << "," << Ainv.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << Ainv << endl;
+ P = Ainv * A;
+ cout << "Unity matrix (" << P.rows() << "," << P.cols() << ") ? :\n" << fixed << setprecision(9) << setw(12) << P << endl;
+ }
+}
+
+void MatrixTest4(void)
+{
+ cout << "\n -------------- Matrix Test 4 ---------------------------------\n";
+ const int N=7; // rows = columns
+ double mat[N*N]={ // storage by columns
+ 8.317, 6.212, 2.574, 5.317, 2.080, -9.133, -2.755,
+ 0.212, 3.292, 1.574, 1.028, 3.370, -2.077, -2.739,
+ 5.740, 1.574, 1.911, 1.390, 8.544, 8.930, 9.216,
+ 4.317, 1.028, 1.039, 7.126, 4.512, 8.538, 5.226,
+ -1.109, 7.438, 7.236, 6.783, 0.356, -9.509, -0.109,
+ 0.174, 5.408, -9.503, -6.527, -6.589, -6.375, -7.239,
+ 1.960, 6.592, 9.440, 4.428, -4.531, 5.084, 4.296
+ };
+ double dat[N]={ 14.289, 9.284, -1.128, 8.389, -6.929, 4.664, 7.590 };
+
+ int i,j;
+ gpstk::Matrix<double> A(N,N);
+ gpstk::Vector<double> b(N);
+ A = mat;
+ A = transpose(A);
+ b = dat;
+
+ cout << "Matrix A(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << A << endl;
+ cout << "Vector b(" << b.size() << ") :\n" << fixed << setprecision(3) << setw(7) << b << endl;
+ cout << "\nNow solve using SVD\n";
+
+ gpstk::SVD<double> Asvd;
+ gpstk::Matrix<double> U,V;
+ gpstk::Vector<double> S;
+
+ Asvd(A);
+ U = Asvd.U;
+ V = Asvd.V;
+ S = Asvd.S;
+ cout << "Singular Values (" << S.size() << ") :\n" << fixed << setprecision(3) << setw(7) << S << endl;
+ cout << "Matrix U(" << U.rows() << "," << U.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << U << endl;
+ cout << "Matrix V(" << V.rows() << "," << V.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << V << endl;
+
+ gpstk::Matrix<double> P,W(A);
+ W = 0.0;
+ for(i=0; i<S.size(); i++) W(i,i)=S(i);
+ P = U * W * transpose(V);
+ P = P - A;
+ P.zeroize();
+ cout << "Difference (" << P.rows() << "," << P.cols() << ") :\n" << scientific << setprecision(3) << setw(10) << P << endl;
+
+ cout << "Determinant of A = " << scientific << setprecision(3) << Asvd.det();
+ double d=1;
+ for(i=0; i<N; i++) d *= S(i);
+ cout << " -- Compare to " << scientific << setprecision(3) << d << endl;
+ gpstk::Vector<double> X(b);
+ Asvd.backSub(X);
+ cout << "Solution via backsubstitution (" << X.size() << ") :\n" << fixed << setprecision(3) << setw(7) << X << endl;
+ S = b-A*X;
+ cout << "Solution residuals (" << S.size() << ") :\n" << scientific << setprecision(3) << setw(7) << S << endl;
+
+ cout << "\nSort in ascending order\n";
+ Asvd.sort(false);
+ U = Asvd.U;
+ V = Asvd.V;
+ S = Asvd.S;
+ cout << "Singular Values (" << S.size() << ") :\n" << fixed << setprecision(3) << setw(7) << S << endl;
+ cout << "Matrix U(" << U.rows() << "," << U.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << U << endl;
+ cout << "Matrix V(" << V.rows() << "," << V.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << V << endl;
+
+ // now chop off the last column of A and repeat
+ cout << "\n\nNow reduce A by one column and repeat\n";
+ A = gpstk::Matrix<double>(A,0,0,A.rows(),A.cols()-1);
+ cout << "Matrix A(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << A << endl;
+ Asvd(A);
+ S = Asvd.S;
+ U = Asvd.U;
+ V = Asvd.V;
+ cout << "Singular Values (" << S.size() << ") :\n" << fixed << setprecision(3) << setw(7) << S << endl;
+ cout << "Matrix U(" << U.rows() << "," << U.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << U << endl;
+ cout << "Matrix V(" << V.rows() << "," << V.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << V << endl;
+ W = A;
+ W = 0.0;
+ for(i=0; i<S.size(); i++) W(i,i)=S(i);
+ P = U * W * transpose(V);
+ P = P - A;
+ P.zeroize();
+ cout << "Difference (" << P.rows() << "," << P.cols() << ") :\n" << scientific << setprecision(3) << setw(10) << P << endl;
+}
+
+void MatrixTest5(void)
+{
+ cout << "\n -------------- Matrix Test 5 ---------------------------------\n";
+ const int N=7; // rows = columns
+ double mat[N*N]={ // storage by columns
+ 8.317, 6.212, 2.574, 5.317, 2.080, -9.133, -2.755,
+ 0.212, 3.292, 1.574, 1.028, 3.370, -2.077, -2.739,
+ 5.740, 1.574, 1.911, 1.390, 8.544, 8.930, 9.216,
+ 4.317, 1.028, 1.039, 7.126, 4.512, 8.538, 5.226,
+ -1.109, 7.438, 7.236, 6.783, 0.356, -9.509, -0.109,
+ 0.174, 5.408, -9.503, -6.527, -6.589, -6.375, -7.239,
+ 1.960, 6.592, 9.440, 4.428, -4.531, 5.084, 4.296
+ };
+ double dat[N]={ 14.289, 9.284, -1.128, 8.389, -6.929, 4.664, 7.590 };
+
+ int i,j;
+ gpstk::Matrix<double> A(N,N);
+ gpstk::Vector<double> b(N);
+ A = mat;
+ A = gpstk::transpose(A);
+ b = dat;
+
+ cout << "Matrix A(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << A << endl;
+ cout << "Vector b(" << b.size() << ") :\n" << fixed << setprecision(3) << setw(7) << b << endl;
+ cout << "\nNow solve using LUD\n";
+
+ gpstk::LUDecomp<double> LUA;
+ LUA(A);
+ //cout << "LU: Matrix L(" << LUA.L.rows() << "," << LUA.L.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << LUA.L << endl;
+ //cout << "LU: Matrix U(" << LUA.U.rows() << "," << LUA.U.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << LUA.U << endl;
+ //cout << "LU: Matrix P(" << LUA.P.rows() << "," << LUA.P.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << LUA.P << endl;
+ cout << "Matrix LU(" << LUA.LU.rows() << "," << LUA.LU.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << LUA.LU << endl;
+ cout << "Determinant of A = " << scientific << setprecision(3) << LUA.det() << endl;
+
+ gpstk::Vector<double> X(b),S;
+ try { LUA.backSub(X); }
+ catch (gpstk::Exception& e) { cout << e << endl; return;}
+ cout << "Solution via backsubstitution (" << X.size() << ") :\n" << fixed << setprecision(3) << setw(7) << X << endl;
+ S = b-A*X;
+ cout << "Solution residuals (" << S.size() << ") :\n" << scientific << setprecision(3) << setw(7) << S << endl;
+}
+
+void MatrixTest6(int argc, char **argv)
+{
+ cout << "\n -------------- Matrix Test 6 ---------------------------------\n";
+ string filename(argv[7]);
+ gpstk::Matrix<double> A;
+ int iret=ReadMatrix(A,filename);
+ if(iret < 0) {
+ cerr << "Error: could not open file " << filename << endl;
+ return;
+ }
+ double dat[4]={1.,2.,3.,4.};
+
+ gpstk::Vector<double> b(4);
+ b = dat;
+ cout << "Matrix A(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << A << endl;
+ cout << "Vector b(" << b.size() << ") :\n" << fixed << setprecision(3) << setw(7) << b << endl;
+ cout << "\nNow compute Cholesky\n";
+
+ gpstk::Cholesky<double> CA;
+ CA(A);
+ cout << "\nCholesky of A (U) (" << CA.U.rows() << "," << CA.U.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << CA.U << endl;
+ cout << "\nCholesky of A (L) (" << CA.L.rows() << "," << CA.L.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << CA.L << endl;
+
+ gpstk::Matrix<double> B;
+ B = A - CA.U * gpstk::transpose(CA.U);
+ cout << "\nDifference U*UT with matrix A(" << B.rows() << "," << B.cols() << ") :\n" << scientific << setprecision(3) << setw(7) << B << endl;
+ B = A - CA.L * gpstk::transpose(CA.L);
+ cout << "\nDifference L*LT with matrix A(" << B.rows() << "," << B.cols() << ") :\n" << scientific << setprecision(3) << setw(7) << B << endl;
+
+ gpstk::Vector<double> X(b);
+ CA.backSub(X);
+ cout << "\nSolution via backsubstitution (" << X.size() << ") :\n" << fixed << setprecision(3) << setw(7) << X << endl;
+ X = b-A*X;
+ cout << "Solution residuals (" << X.size() << ") :\n" << scientific << setprecision(3) << setw(7) << X << endl;
+}
+
+void MatrixTest7(int argc, char **argv)
+{
+ cout << "\n -------------- Matrix Test 7 ---------------------------------\n";
+ string filename(argv[8]);
+ gpstk::Matrix<double> A;
+ int iret=ReadMatrix(A,filename);
+ if(iret < 0) {
+ cerr << "Error: could not open file " << filename << endl;
+ return;
+ }
+ cout << "Matrix A(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << A << endl;
+ cout << "\nNow compute the Householder transformation\n";
+
+ gpstk::Householder<double> HHA;
+ HHA(A);
+ cout << "HH: (" << HHA.A.rows() << "," << HHA.A.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << HHA.A << endl;
+}
+
+void MatrixTest8(void)
+{
+ cout << "\n -------------- Matrix Test 8 ---------------------------------\n";
+ const int n=6;
+ int i;
+ double big,small,cond;
+ gpstk::Vector<double>V;
+ gpstk::Matrix<double> M(n,n),Minv,Prod;
+
+ for(i=0; i<n; i++) {
+ for(int j=0; j<n; j++) {
+ M(i,j) = 1.0/(i+j+1.0);
+ }
+ }
+ cout << "Tough matrix (" << M.rows() << "," << M.cols() << ") :\n" << fixed << setprecision(6) << setw(9) << M << endl;
+
+ cond = gpstk::condNum(M,big,small);
+ cout << "Condition number is " << fixed << setprecision(3) << big << "/" << scientific << setprecision(3) << small;
+ if(small > 0.0) cout << " = " << setprecision(3) << big/small;
+ cout << endl;
+
+ for(i=0; i<3; i++) {
+ try {
+ if(i==0) { cout << "Gaussian elimiation:\n"; Minv = inverse(M); }
+ else if(i==1) { cout << "LUD:\n"; Minv = inverseLUD(M); }
+ else if(i==2) { cout << "SVD:\n"; Minv = inverseSVD(M); }
+ }
+ catch (gpstk::Exception& e) { cout << e << endl; continue;}
+ cout << "Inverse matrix (" << Minv.rows() << "," << Minv.cols() << ") :\n" << fixed << setprecision(3) << setw(13) << Minv << endl;
+ Prod = Minv * M;
+ //V.zeroTolerance = 1.e-6;
+ Prod.zeroize();
+ cout << "Unity matrix ? (" << Prod.rows() << "," << Prod.cols() << ") ? :\n" << fixed << setprecision(9) << setw(12) << Prod << endl;
+ }
+}
+
+void MatrixTest9(int argc, char **argv)
+{
+ cout << "\n -------------- Matrix Test 9 ---------------------------------\n";
+ cout << "Read matrix and vector (in form M||V) from file, invert and solve\n";
+ double cond,big,small;
+ gpstk::Matrix<double> R,A,Ainv,P;
+ gpstk::Vector<double> B,X;
+ for(int i=1; i<argc; i++) {
+ string filename=argv[i];
+ cout << "File " << filename;
+ int iret=ReadMatrix(R,filename);
+ cout << " (" << iret << ") Matrix(" << R.rows() << "," << R.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << R << endl;
+ // pick off last column
+ B = gpstk::Vector<double>(R.colCopy(R.cols()-1));
+ // copy all but last column
+ A = gpstk::Matrix<double>(R,0,0,R.rows(),R.cols()-1);
+ cout << "Partials Matrix (" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << A << endl;
+ cout << "Data vector (" << B.size() << ") :\n" << fixed << setprecision(3) << setw(10) << B << endl << endl;
+
+ if(A.rows() != A.cols()) {
+ gpstk::Matrix<double> AT;
+ AT = gpstk::transpose(A);
+ A = AT*A;
+ cout << " ATA Matrix(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << A << endl;
+ }
+ cond = gpstk::condNum(A,big,small);
+ cout << "Condition number is " << fixed << setprecision(3) << big << "/" << scientific << setprecision(3) << small;
+ cout << " = " << fixed << big/small << endl;
+ try
+ {
+ Ainv=gpstk::inverse(A);
+ cout << "Inverse matrix (" << Ainv.rows() << "," << Ainv.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << Ainv << endl;
+ P = Ainv * A;
+ cout << "Unity matrix (" << P.rows() << "," << P.cols() << ") ? :\n" << fixed << setprecision(9) << setw(12) << P << endl << endl;
+
+ //X = Ainv * B;
+ //cout << "Solution vector (" << X.size() << ") :\n" << fixed << setprecision(3) << setw(10) << X << endl;
+ }
+ catch (gpstk::Exception& e) { cout << e << endl; continue;}
+ }
+}
+
+void PolyTest(void)
+{
+ cout << "\n -------------- Poly Test ---------------------------------\n";
+ /* 33 points in each of two fits:
+ * timetag t data fit resid
+ * 351569.981 -1.0000 -1.750 -1.755 0.005
+ * 351580.003 -0.9375 -1.702 -1.713 0.011
+ * 351590.026 -0.8750 -1.663 -1.672 0.009
+ * 351599.962 -0.8125 -1.639 -1.633 -0.006
+ * 351609.984 -0.7500 -1.590 -1.595 0.005
+ * 351620.006 -0.6875 -1.579 -1.558 -0.020
+ * 351630.029 -0.6250 -1.536 -1.523 -0.013
+ * 351639.965 -0.5625 -1.502 -1.489 -0.013
+ * 351649.987 -0.5000 -1.441 -1.457 0.015
+ * 351660.010 -0.4375 -1.445 -1.426 -0.019
+ * 351670.032 -0.3750 -1.412 -1.396 -0.016
+ * 351679.968 -0.3125 -1.370 -1.368 -0.002
+ * 351689.990 -0.2500 -1.328 -1.340 0.012
+ * 351700.013 -0.1875 -1.286 -1.315 0.029
+ * 351710.035 -0.1250 -1.266 -1.290 0.025
+ * 351719.971 -0.0625 -1.270 -1.267 -0.003
+ * 351729.994 0.0000 -1.249 -1.246 -0.003
+ * 351740.016 0.0625 -1.235 -1.226 -0.010
+ * 351750.038 0.1250 -1.197 -1.207 0.010
+ * 351759.974 0.1875 -1.214 -1.189 -0.025
+ * 351769.997 0.2500 -1.183 -1.173 -0.010
+ * 351780.019 0.3125 -1.156 -1.158 0.003
+ * 351790.042 0.3750 -1.135 -1.145 0.010
+ * 351799.978 0.4375 -1.134 -1.133 -0.001
+ * 351810.000 0.5000 -1.098 -1.122 0.024
+ * 351820.022 0.5625 -1.102 -1.113 0.011
+ * 351829.958 0.6250 -1.118 -1.105 -0.013
+ * 351839.981 0.6875 -1.103 -1.098 -0.005
+ * 351850.003 0.7500 -1.115 -1.093 -0.022
+ * 351860.026 0.8125 -1.076 -1.089 0.013
+ * 351869.962 0.8750 -1.101 -1.086 -0.015
+ * 351879.984 0.9375 -1.068 -1.085 0.017
+ * 351890.006 1.0000 -1.088 -1.085 -0.003
+ * timetag t data fit resid
+ * 351900.029 -1.0000 -1.088 -1.029 -0.060
+ * 351909.965 -0.9375 -1.119 -1.068 -0.051
+ * 351919.987 -0.8750 -1.118 -1.105 -0.013
+ * 351930.010 -0.8125 -1.158 -1.140 -0.018
+ * 351940.032 -0.7500 -1.146 -1.174 0.028
+ * 351949.968 -0.6875 -1.201 -1.206 0.004
+ * 351959.990 -0.6250 -1.207 -1.235 0.029
+ * 351970.013 -0.5625 -1.222 -1.264 0.041
+ * 351980.035 -0.5000 -1.230 -1.290 0.059
+ * 351989.971 -0.4375 -1.269 -1.314 0.045
+ * 351999.994 -0.3750 -1.269 -1.337 0.068
+ * 352010.016 -0.3125 -1.335 -1.358 0.022
+ * 352020.038 -0.2500 -1.359 -1.377 0.018
+ * 352029.974 -0.1875 -1.391 -1.394 0.003
+ * 352039.997 -0.1250 -1.391 -1.410 0.019
+ * 352050.019 -0.0625 -1.432 -1.423 -0.009
+ * 352060.042 0.0000 -1.440 -1.435 -0.004
+ * 352069.978 0.0625 -1.483 -1.445 -0.038
+ * 352080.000 0.1250 -1.520 -1.453 -0.067
+ * 352090.022 0.1875 -1.514 -1.460 -0.055
+ * 352099.958 0.2500 -1.514 -1.464 -0.050
+ * 352109.981 0.3125 -1.478 -1.467 -0.010
+ * 352120.003 0.3750 -1.496 -1.468 -0.028
+ * 352130.026 0.4375 -1.508 -1.467 -0.040
+ * 352139.962 0.5000 -1.507 -1.465 -0.043
+ * 352149.984 0.5625 -1.437 -1.460 0.023
+ * 352160.006 0.6250 -1.439 -1.454 0.015
+ * 352170.029 0.6875 -1.419 -1.446 0.027
+ * 352179.965 0.7500 -1.388 -1.436 0.048
+ * 352189.987 0.8125 -1.408 -1.424 0.016
+ * 352200.010 0.8750 -1.390 -1.411 0.021
+ * 352210.032 0.9375 -1.391 -1.395 0.005
+ * 352219.968 1.0000 -1.385 -1.378 -0.007
+ */
+ double t[33] = { -1.0000, -0.9375, -0.8750, -0.8125, -0.7500, -0.6875,
+ -0.6250, -0.5625, -0.5000, -0.4375, -0.3750, -0.3125, -0.2500, -0.1875,
+ -0.1250, -0.0625, 0.0000, 0.0625, 0.1250, 0.1875, 0.2500, 0.3125, 0.3750,
+ 0.4375, 0.5000, 0.5625, 0.6250, 0.6875, 0.7500, 0.8125, 0.8750, 0.9375,
+ 1.0000 };
+ double d1[33] = { -1.750, -1.702, -1.663, -1.639, -1.590, -1.579, -1.536,
+ -1.502, -1.441, -1.445, -1.412, -1.370, -1.328, -1.286, -1.266, -1.270,
+ -1.249, -1.235, -1.197, -1.214, -1.183, -1.156, -1.135, -1.134, -1.098,
+ -1.102, -1.118, -1.103, -1.115, -1.076, -1.101, -1.068, -1.088 };
+ double d2[33] = { -1.088, -1.119, -1.118, -1.158, -1.146, -1.201, -1.207,
+ -1.222, -1.230, -1.269, -1.269, -1.335, -1.359, -1.391, -1.391, -1.432,
+ -1.440, -1.483, -1.520, -1.514, -1.514, -1.478, -1.496, -1.508, -1.507,
+ -1.437, -1.439, -1.419, -1.388, -1.408, -1.390, -1.391, -1.385 };
+
+ gpstk::Vector<double> T(33),D1(33),D2(33);
+ T = t;
+ D1 = d1;
+ D2 = d2;
+ //cout << "Vector T(" << T.size() << ") :\n" << fixed << setprecision(3) << setw(7) << T << endl;
+ //cout << "Vector D1(" << D1.size() << ") :\n" << fixed << setprecision(3) << setw(7) << D1 << endl;
+ //cout << "Vector D2(" << D2.size() << ") :\n" << fixed << setprecision(3) << setw(7) << D2 << endl;
+
+ size_t i,rev=1;
+ gpstk::Vector<double> Fit,Resid,Sol;
+ gpstk::PolyFit<double> PF(3);
+ gpstk::Stats<double> St1,St2;
+ gpstk::TwoSampleStats<double> Tss;
+ do {
+ if(rev==1) PF.Add(D1,T);
+ else for(i=0; i<T.size(); i++) PF.Add(D2[i],T[i]);
+ gpstk::Matrix<double> C;
+ C = PF.Covariance();
+ cout << "Matrix Cov(" << C.rows() << "," << C.cols() << ") :\n" << fixed << setprecision(3) << setw(8) << C << endl;
+ Sol = PF.Solution();
+ cout << "Vector Sol(" << Sol.size() << ") :\n" << fixed << setprecision(3) << setw(8) << Sol << endl;
+ Fit = PF.Evaluate(T);
+ Resid = (rev==1?D1:D2)-Fit;
+
+ cout << " t data fit resid\n";
+ for(i=0; i<T.size(); i++) {
+ cout << setw(2) << i;
+ cout << fixed << setw(8) << setprecision(4) << T(i);
+ cout << fixed << setw(8) << setprecision(3) << (rev==1?D1(i):D2(i));
+ cout << fixed << setw(8) << setprecision(3) << Fit(i);
+ cout << fixed << setw(8) << setprecision(3) << Resid(i);
+ cout << endl;
+ St1.Add(Resid(i));
+ St2.Add(rev==1?D1(i):D2(i));
+ Tss.Add(T(i),(rev==1?D1(i):D2(i)));
+ }
+
+ cout << "Stats on residuals\n";
+ cout << scientific << setw(10) << setprecision(3) << St1 << endl;
+
+ cout << "Stats on data\n";
+ cout << scientific << setw(10) << setprecision(3) << St2 << endl;
+
+ cout << "2-sample Stats on time,data\n";
+ cout << scientific << setw(10) << setprecision(3) << Tss << endl;
+
+ if(++rev>2) break;
+ PF.Reset();
+ St1.Reset();
+ St2.Reset();
+ Tss.Reset();
+ } while(1);
+}
+
+int main(int argc, char **argv)
+{
+ if (argc!=10)
+ {
+ cout << " Need 9 files to chew on" << endl;
+ exit(-1);
+ }
+
+ VectorTest();
+ MatrixTest1(argc, argv); // general stuff
+ MatrixTest2(); // condition number and inverse
+ MatrixTest3(argc, argv); // Read and condition number
+ MatrixTest4(); // SVD
+ MatrixTest5(); // LUD
+ MatrixTest6(argc, argv); // Cholesky
+ MatrixTest7(argc, argv); // Householder
+ MatrixTest8(); // Inverse via Gauss,LUD,SVD
+ MatrixTest9(argc, argv); // Read a matrix and data vector and solve Ax=b
+ PolyTest(); // PolyFit
+ return 0;
+}
+
diff --git a/trunk/tests/MinSfTest.cpp b/trunk/tests/MinSfTest.cpp
new file mode 100644
index 0000000..14f8c38
--- /dev/null
+++ b/trunk/tests/MinSfTest.cpp
@@ -0,0 +1,307 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/MinSfTest.cpp#1 $"
+
+// gpstk
+#include "FileFilterFrame.hpp"
+#include "BasicFramework.hpp"
+#include "StringUtils.hpp"
+#include "FICStream.hpp"
+#include "FICHeader.hpp"
+#include "FICData.hpp"
+#include "FICFilterOperators.hpp"
+#include "BCEphemerisStore.hpp"
+#include "EngEphemeris.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class MinSfTest : public gpstk::BasicFramework
+{
+public:
+ MinSfTest(const std::string& applName,
+ const std::string& applDesc) throw();
+ ~MinSfTest() {}
+ virtual bool initialize(int argc, char *argv[]) throw();
+protected:
+ virtual void process();
+ gpstk::CommandOptionWithAnyArg inputOption;
+ gpstk::CommandOptionWithAnyArg outputOption;
+ std::list<long> blocklist;
+
+ BCEphemerisStore bc109;
+ BCEphemerisStore minRaw;
+ std::ofstream fp;
+
+ void testXvt( short PRN, gpstk::DayTime dt );
+};
+
+int main( int argc, char*argv[] )
+{
+ try
+ {
+ MinSfTest fc("MinSfTest", "Process one (or more) FIC files.");
+ if (!fc.initialize(argc, argv)) return(false);
+ fc.run();
+ }
+ catch(gpstk::Exception& exc)
+ {
+ cout << exc << endl;
+ return 1;
+ }
+ catch(...)
+ {
+ cout << "Caught an unnamed exception. Exiting.";
+ return 1;
+ }
+ return 0;
+}
+
+MinSfTest::MinSfTest(const std::string& applName,
+ const std::string& applDesc) throw()
+ :BasicFramework(applName, applDesc),
+ inputOption('i', "input-file", "The name of the FIC file to raead.", true),
+ outputOption('o', "output-file", "The name of the output file to write.", true)
+{
+ inputOption.setMaxCount(1);
+ outputOption.setMaxCount(1);
+}
+
+bool MinSfTest::initialize(int argc, char *argv[])
+ throw()
+{
+ if (!BasicFramework::initialize(argc, argv)) return false;
+ if (debugLevel)
+ {
+ cout << "Input File: " << inputOption.getValue().front() << endl;
+ cout << "Output File: " << outputOption.getValue().front() << endl;
+ }
+ return true;
+}
+
+void MinSfTest::process()
+{
+ if (debugLevel)
+ cout << "Setting up input file: "
+ << inputOption.getValue().front() << endl;
+ FileFilterFrame<FICStream, FICData>
+ input(inputOption.getValue().front());
+
+ printf(" input.getDataCount() after init: %d\n", input.getDataCount());
+ if(debugLevel)
+ cout << "Setting up output file: "
+ << outputOption.getValue().front() << endl;
+
+ fp.open( outputOption.getValue().front().c_str() );
+ if ( !fp.is_open() )
+ {
+ printf(" Failed to open output file.\n");
+ exit(1);
+ }
+
+ // filter the FIC data for the requested vlock(s)
+ std::list<long> blockList;
+ blockList.push_back(109);
+ input.filter(FICDataFilterBlock(blockList));
+ input.sort(FICDataOperatorLessThanBlock109());
+ input.unique(FICDataUniqueBlock109());
+
+ //some hand waving for the data conversion
+ if(debugLevel)
+ cout << "Reading the input data." << endl;
+ list<FICData>& ficList = input.getData();
+ list<FICData>::iterator itr = ficList.begin();
+
+ DayTime earliest( DayTime::END_OF_TIME );
+ DayTime latest( DayTime::BEGINNING_OF_TIME );
+ int count = 0;
+ int numMismatches = 0;
+ int numMismatchEph = 0;
+ while (itr != ficList.end())
+ {
+ EngEphemeris ee(*itr);
+
+ bc109.addEphemeris( ee );
+
+ DayTime ct = ee.getEpochTime();
+ if (ct>latest) latest = ct;
+ if (ct<earliest) earliest = ct;
+
+ // Following code simulates a situation where only words 3-10
+ // and the estimated time of receipt are available.
+ DayTime timeOfReceipt = ee.getTransmitTime();
+ FICData& fic = *itr;
+ long sf1min[8];
+ long sf2min[8];
+ long sf3min[8];
+ int wrdCnt = 8;
+ int i;
+ for (i=0; i<wrdCnt; ++i) sf1min[i] = fic.i[4+i];
+ for (i=0; i<wrdCnt; ++i) sf2min[i] = fic.i[14+i];
+ for (i=0; i<wrdCnt; ++i) sf3min[i] = fic.i[24+i];
+
+ EngEphemeris eeMin;
+ short PRNID = (short) fic.i[1];
+ eeMin.addIncompleteSF1Thru3( sf1min, sf2min, sf3min,
+ (long) timeOfReceipt.GPSsecond(), timeOfReceipt.GPSfullweek(),
+ PRNID, 0 );
+ minRaw.addEphemeris( eeMin );
+
+ // Compare non-orbit portions of the two objects
+ bool mismatch = false;
+ for (int i=1; i<=3; ++i)
+ {
+ if (!ee.isData(i) || !eeMin.isData(i))
+ {
+ mismatch = true;
+ fp << "ERROR: not all subframes are claimed available.";
+ }
+ }
+
+ if (ee.getIODC()!=eeMin.getIODC())
+ {
+ mismatch = true;
+ fp << "ERROR: IODCs do not match.";
+ }
+ if (ee.getIODE()!=eeMin.getIODE())
+ {
+ mismatch = true;
+ fp << "ERROR: IODCs do not match.";
+ }
+ if (ee.getFitInterval() != eeMin.getFitInterval() )
+ {
+ mismatch = true;
+ fp << "ERROR: fit intervals do not match.";
+ }
+ if (ee.getCodeFlags()!=eeMin.getCodeFlags() )
+ {
+ mismatch = true;
+ fp << "ERROR: code flags do not match.";
+ }
+ if (ee.getL2Pdata()!=eeMin.getL2Pdata() )
+ {
+ mismatch = true;
+ fp << "ERROR: L2P data flags do not match.";
+ }
+ if (ee.getAccuracy()!=eeMin.getAccuracy() )
+ {
+ mismatch = true;
+ fp << "ERROR: accuracy values do not match.";
+ }
+ if (ee.getAccFlag()!=eeMin.getAccFlag() )
+ {
+ mismatch = true;
+ fp << "ERROR: accuracy flags do not match.";
+ }
+ if (ee.getHealth()!=eeMin.getHealth() )
+ {
+ mismatch = true;
+ fp << "ERROR: health values do not match.";
+ }
+ if (ee.getFitInt()!=eeMin.getFitInt() )
+ {
+ mismatch = true;
+ fp << "ERROR: Fit interval values do not match.";
+ }
+
+ if (mismatch)
+ {
+ fp << " PRNID: " << PRNID << ", IODC: 0x " << hex << ee.getIODC() << dec << endl;
+ numMismatches++;
+ }
+
+ itr++;
+ count++;
+ }
+ cout << "Number of Block 109 records read: " << count << endl;
+ if (numMismatches!=0)
+ {
+ printf("Errors detected. Some ephemerides did not match in both forms.\n");
+ printf("Number of mismatches: %d\n",numMismatches);
+ }
+ fp << "Number of mismatches detected: " << numMismatches << endl;
+ if (debugLevel) cout << "done." << endl;
+
+
+ // Generate test positions for PRN 1 and PRN 31 at
+ // earliest epoch, latest epoch, and middle of the time span.
+ try
+ {
+ double timeDuration = latest - earliest;
+ DayTime middle( earliest );
+ middle += (timeDuration/2);
+
+ short IODC109 = -1;
+ short IODCMin = -1;
+ short PRNID = 1;
+ printf("--- PRN 1 Examples ---\n");
+ printf("\nEarliest time\n");
+ fp << "--- PRN 1 Examples ---" << endl;
+ fp << endl << "Earliest time" << endl;
+ testXvt( PRNID, earliest );
+ printf("\nMiddle time\n");
+ fp << endl << "Middle time" << endl;
+ testXvt( PRNID, middle );
+ printf("\nLatest time\n");
+ fp << endl << "Latest time" << endl;
+ testXvt( PRNID, latest );
+
+ PRNID = 31;
+ printf("\n--- PRN 31 Examples ---\n");
+ printf("\nEarliest time\n");
+ fp << endl << "--- PRN 31 Examples ---" << endl;
+ fp << endl << "Earliest time" << endl;
+ testXvt( PRNID, earliest );
+ printf("\nMiddle time\n");
+ fp << endl << "Middle time" << endl;
+ testXvt( PRNID, middle );
+ printf("\nLatest time\n");
+ fp << endl << "Latest time" << endl;
+ testXvt( PRNID, latest );
+ }
+ catch (gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+
+ printf("\nBCEphemerisStore directly from existing FIC handlers.\n");
+ fp << endl << "BCEphemerisStore directly from existing FIC handlers." << endl;
+ bc109.dump(1, fp);
+ printf("BCEphemerisStore from new method.\n");
+ fp << endl << "BCEphemerisStore from new method." << endl;
+ minRaw.dump(1, fp);
+
+ // write the file data
+ if (debugLevel) cout << "Conversion complete." << endl;
+}
+
+void MinSfTest::testXvt( short PRN, gpstk::DayTime dt )
+{
+ short IODC109;
+ short IODCMin;
+ Xvt xvt109 = bc109.getPrnXvt( PRN, dt, IODC109 );
+ Xvt xvtMin = minRaw.getPrnXvt( PRN, dt, IODCMin );
+ printf(" X(m) Y(m) Z(m) IODC\n");
+ printf(" 109 %15.3lf %15.3lf %15.3lf 0x%03X\n",
+ xvt109.x[0],xvt109.x[1],xvt109.x[2],IODC109);
+ printf(" Min %15.3lf %15.3lf %15.3lf 0x%03X\n",
+ xvtMin.x[0],xvtMin.x[1],xvtMin.x[2],IODCMin);
+
+
+ fp << " X(m) Y(m) Z(m) IODC" << endl;
+ fp << " 109 ";
+ fp << setprecision(3) << fixed;
+ fp << setw(15) << xvt109.x[0];
+ fp << setw(15) << xvt109.x[1];
+ fp << setw(15) << xvt109.x[2];
+ fp << " 0x" << setw(3) << setfill('0') << uppercase << hex << IODC109;
+ fp << setfill(' ') << endl;
+ fp << " Min ";
+ fp << setprecision(3) << fixed;
+ fp << setw(15) << xvtMin.x[0];
+ fp << setw(15) << xvtMin.x[1];
+ fp << setw(15) << xvtMin.x[2];
+ fp << " 0x" << setw(3) << setfill('0') << uppercase << hex << IODCMin << dec;
+ fp << setfill(' ') << endl;
+}
+
+
+
diff --git a/trunk/tests/Rinex_dl.pl b/trunk/tests/Rinex_dl.pl
new file mode 100755
index 0000000..f794537
--- /dev/null
+++ b/trunk/tests/Rinex_dl.pl
@@ -0,0 +1,111 @@
+#!/usr/bin/perl
+# $Id: //depot/sgl/gpstk/dev/tests/Rinex_dl.pl#9 $
+
+# Ryan Mire ARL SGL
+# July 2005
+# last saved: July 27 10:00am
+#
+# The purpose of this script is to have as close to a live test as possible of the rinex_met read and write functions
+# the live quality of this test will be created through the downloading of all the IGS gathered and posted data from
+# "yesterday"
+#
+# >>Rinex_dl.pl <first letter of met obs or nav> [<download directory>]
+#
+#
+
+use Net::FTP;
+#use strict;
+#use warnings;
+
+$filetype=$ARGV[0];
+$filetype =~ s/^-//;
+chomp($filetype);
+#print "!".$filetype."!\n";
+#chomp($filetype);
+die "\nThe Given File Type is invalid, obs, met and nav are the three filetypes accepted. Try using lowercase 'o','m' or 'n' respectively. \n >>Rinex.dl <firstletter of filetype> [<download directory>]\n"
+ if(($filetype ne 'n') && ($filetype ne 'o') && ($filetype ne 'm'));
+
+
+$filedir="05".$filetype;
+
+if($ARGV[1])
+{
+$downdir=$ARGV[1];
+die "\nThe given download directory does not exist or is invalid, try again\n"
+ if((-e $downdir)==0);
+}
+
+$date = `date`;
+chomp($day = `date +"%j"`);
+$day-=1;
+print "HELLO \t $day\n";
+ at date=split /\s/, $date;
+
+chomp($year=@date[5]);
+
+
+my $host="cddis.gsfc.nasa.gov";
+my $directory="/gps/data/daily/$year/$day/$filedir";
+
+$ftp=Net::FTP->new($host,Timeout=>240) or $newerr=1;
+ push @ERRORS, "Can't ftp to $host: $!\n" if $newerr;
+ myerr() if $newerr;
+print "Connected\n";
+
+$ftp->login("Anonymous","GPSTK at arlut.utexas.edu") or $newerr=1;
+print "Getting file list\n";
+ push @ERRORS, "Can't login to $host: $!\n" if $newerr;
+ $ftp->quit if $newerr;
+ myerr() if $newerr;
+print "Logged in\n";
+
+$ftp->cwd($directory) or $newerr=1;
+ push @ERRORS, "Can't cd $!\n" if $newerr;
+ myerr() if $newerr;
+ $ftp->quit if $newerr;
+
+ at files=$ftp->dir or $newerr=1;
+ push @ERRORS, "Can't get file list $!\n" if $newerr;
+ myerr() if $newerr;
+print "Got file list\n";
+
+$n=0;
+
+if($ARGV[1])
+{
+ $newdir=$downdir."/NewRinexData-".$filetype;
+}
+else
+{
+ $newdir="/NewRinexData-".$filetype;
+}
+die "Oops!!, $newdir already exist \t Try Again "
+ if((-e $newdir)!=0);
+
+mkdir "$newdir";
+chdir "$newdir";
+
+
+foreach(@files)
+{
+ @line=split/\s/, @files[$n];
+ $file=pop(@line);
+ $n+=1;
+ $ftp->get("/gps/data/daily/$year/$day/$filedir/$file") or $newerr=1;
+ if($newerr!=1)
+ {
+ print "Downloaded $file\n";
+ }
+ push @ERRORS, "Can't get $_ $!\n" if $newerr;
+}
+print " $directory\n ";
+$ftp->quit;
+
+print "Youre now in the new subdirectory $newdir,\n filled with your data \n";
+
+sub myerr
+{
+ print "Error: \n";
+ print @ERRORS;
+ exit 0;
+}
diff --git a/trunk/tests/RungeKuttaTest.cpp b/trunk/tests/RungeKuttaTest.cpp
new file mode 100755
index 0000000..e7229f0
--- /dev/null
+++ b/trunk/tests/RungeKuttaTest.cpp
@@ -0,0 +1,87 @@
+// C++ includes
+#include <iostream>
+#include <fstream>
+#include <iomanip>
+#include <math.h>
+
+#include "RungeKutta4.hpp"
+
+/**
+ * @file RungeKuttaTest.cpp
+ *
+ */
+
+using namespace gpstk;
+using namespace std;
+
+// The full, nonlinear equation of motion for a simple pendulum
+class PendulumIntegrator : public RungeKutta4
+{
+ public:
+
+ PendulumIntegrator(const Matrix<double>& initialState,
+ double initialTime=0)
+ : RungeKutta4(initialState, initialTime)
+ {};
+
+ virtual gpstk::Matrix<double>&
+ derivative(long double time,
+ const gpstk::Matrix<double>& inState,
+ gpstk::Matrix<double>& inStateDot);
+
+ void setPhysics(double accGrav, double length)
+ { g = accGrav; L = length; };
+
+ private:
+
+ double g; //< the acceleration due to gravity
+ double L; //< the length of the pendulum (in meters?)
+};
+
+gpstk::Matrix<double>&
+PendulumIntegrator::derivative(long double time,
+ const gpstk::Matrix<double>& inState,
+ gpstk::Matrix<double>& inStateDot)
+{
+ inStateDot(0,0) = inState(1,0); // velocity along x
+ inStateDot(1,0) = -g/L * sin(inState(0,0));
+ return inStateDot;
+}
+
+int main ()
+{
+ gpstk::Matrix<double> x0(2,1), truncError(2,1);
+ x0(0,0) = 0.001; // Initial angle in radians
+ x0(1,0) = 0.0; // Initial angular velocity in radians/second
+
+ PendulumIntegrator pModel(x0,0.);
+
+ double g=9.81, L=1.0;
+ pModel.setPhysics(g,L);
+
+ // Formatted for easy reading into Octave (www.octave.org)
+ cout << "# Pendulum motion result" << endl;
+ cout << "# Columns: Time, Theta, d Theta/ dt, ";
+ cout << "estimated error in theta, theta dot" << endl;
+
+ double deltaT = .01; // Step size in seconds for integrator
+
+ double time = 0;
+ double Nper = 2; // number of periods
+
+ // Output state over approximately Nper periods (exactly for
+ // small oscillations)
+
+ long count = 0;
+ while (pModel.getTime() < Nper * (2 * 3.14159265/sqrt(g/L)))
+ {
+ pModel.integrateTo((count++)*deltaT,truncError);
+
+ cout << setprecision(12)
+ << pModel.getTime() << " "
+ << pModel.getState()(0,0) << " " << pModel.getState()(1,0) << " "
+ << truncError(0,0) << " " << truncError(1,0) << endl;
+ }
+
+ return(0);
+}
diff --git a/trunk/tests/TimeTest.cpp b/trunk/tests/TimeTest.cpp
new file mode 100644
index 0000000..ee420d6
--- /dev/null
+++ b/trunk/tests/TimeTest.cpp
@@ -0,0 +1,388 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/TimeTest.cpp#1 $"
+
+#include <iostream>
+
+#include <BasicFramework.hpp>
+
+#include <TimeString.hpp>
+#include <TimeConstants.hpp>
+
+#include <ANSITime.hpp>
+#include <CivilTime.hpp>
+#include <GPSEpochWeekSecond.hpp>
+#include <GPSWeekSecond.hpp>
+#include <GPSWeekZcount.hpp>
+#include <GPSZcount29.hpp>
+#include <GPSZcount32.hpp>
+#include <JulianDate.hpp>
+#include <MJD.hpp>
+#include <UnixTime.hpp>
+#include <YDSTime.hpp>
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+
+ // The following constants are as captured from the timcvt program output.
+ //
+ // Month/Day/Year 7/26/2005
+ // Hour:Min:Sec 17:59:42
+ // Modified Julian Date 53577.7497975392
+ // GPSweek DayOfWeek SecOfWeek 309 2 237582.507390
+ // FullGPSweek Zcount 1333 158388
+ // Year DayOfYear SecondOfDay 2005 207 64782.507390
+ // Unix_sec Unix_usec 1122400782 507390
+ // FullZcount 162163380
+
+const int defaultMonth = 7;
+const int defaultDay = 26;
+const int defaultYear = 2005;
+const int defaultHour = 17;
+const int defaultMinute = 59;
+const int defaultSecond = 42;
+const double defaultSecondD = 42.507390;
+
+const long double defaultMJD = 53577.7497975392;
+const long double defaultJD = (defaultMJD + MJD_TO_JD);
+
+const int defaultWeek = 309;
+const int defaultDow = 2;
+const double defaultSow = 237582.507390;
+
+const int defaultFullWeek = 1333;
+const int defaultZcount = 158388;
+
+const int defaultDoy = 207;
+const double defaultSod = 64782.507390;
+
+const int defaultUnixSec = 1122400782;
+const int defaultUnixUsec = 507390;
+const int defaultFullZcount = 162163380;
+
+const int defaultEpoch = 1;
+const int defaultFullZcount32 = ( defaultEpoch << 29 ) | defaultFullZcount;
+
+class Test : public BasicFramework
+{
+public:
+ Test( const string& progName )
+ : BasicFramework( progName, "Test the New Time Classes!" ),
+ ansi( defaultUnixSec ),
+ civil( defaultYear, defaultMonth, defaultDay, defaultHour,
+ defaultMinute, defaultSecondD ),
+ gews( defaultEpoch, defaultWeek, defaultSow ),
+ gws( defaultFullWeek, defaultSow ),
+ gwz( defaultFullWeek, defaultZcount ),
+ gz29( defaultEpoch, defaultFullZcount ),
+ gz32( defaultFullZcount32 ),
+ jd( defaultJD ),
+ mjd( defaultMJD ),
+ ut( defaultUnixSec, defaultUnixUsec ),
+ yds( defaultYear, defaultDoy, defaultSod )
+ {}
+
+ ANSITime ansi;
+ CivilTime civil;
+ GPSEpochWeekSecond gews;
+ GPSWeekSecond gws;
+ GPSWeekZcount gwz;
+ GPSZcount29 gz29;
+ GPSZcount32 gz32;
+ JulianDate jd;
+ MJD mjd;
+ UnixTime ut;
+ YDSTime yds;
+
+protected:
+ virtual void process();
+
+ void dumpCommonTime( const BaseTime& t );
+
+ bool simpleCopyTest();
+ template<class T>
+ bool isCopySuccess( T& t );
+
+ bool conversionTest();
+ template<class T>
+ bool toCommonAndBack( T& t );
+
+ bool simpleEqualityTest();
+ template<class T>
+ bool isEqual( T& t );
+
+ bool otherTest();
+
+};
+
+void Test::process()
+{
+ simpleCopyTest();
+ simpleEqualityTest();
+ conversionTest();
+// otherTest();
+
+ cout << "Test Processing Complete." << endl;
+}
+
+void Test::dumpCommonTime( const BaseTime& t )
+{
+ long day, sod;
+ double fsod;
+
+ CommonTime( t.convertToCommonTime() ).get( day, sod, fsod );
+
+ cout << t << " -> " << day << "d " << sod << "s "
+ << setprecision(15) << fsod << "f" << endl;
+}
+
+bool Test::simpleCopyTest()
+{
+ cout << "Simple Copy Test:" << endl;
+ cout << "ANSI: " << ( isCopySuccess( ansi ) ? "PASS" : "FAIL" ) << endl;
+ cout << "Civil: " << ( isCopySuccess( civil ) ? "PASS" : "FAIL" ) << endl;
+ cout << "GPSEWS: " << ( isCopySuccess( gews ) ? "PASS" : "FAIL" ) << endl;
+ cout << "GPSWS: " << ( isCopySuccess( gws ) ? "PASS" : "FAIL" ) << endl;
+ cout << "GPSWZ: " << ( isCopySuccess( gwz ) ? "PASS" : "FAIL" ) << endl;
+ cout << "GZ29: " << ( isCopySuccess( gz29 ) ? "PASS" : "FAIL" ) << endl;
+ cout << "GZ32: " << ( isCopySuccess( gz32 ) ? "PASS" : "FAIL" ) << endl;
+ cout << "JD: " << ( isCopySuccess( jd ) ? "PASS" : "FAIL" ) << endl;
+ cout << "MJD: " << ( isCopySuccess( mjd ) ? "PASS" : "FAIL" ) << endl;
+ cout << "Unix: " << ( isCopySuccess( ut ) ? "PASS" : "FAIL" ) << endl;
+ cout << "YDS: " << ( isCopySuccess( yds ) ? "PASS" : "FAIL" ) << endl;
+ cout << endl;
+
+ return true;
+}
+
+template<class T>
+bool Test::isCopySuccess( T& t )
+{
+ T t1( t );
+ if( t == t1 )
+ {
+ return true;
+ }
+ return false;
+}
+
+bool Test::conversionTest()
+{
+ cout << "Conversion Test:" << endl;
+ cout << "ANSI: " << ( toCommonAndBack( ansi ) ? "PASS" : "FAIL" ) << endl;
+ cout << "Civil: " << ( toCommonAndBack( civil ) ? "PASS" : "FAIL" ) << endl;
+ cout << "GPSEWS: " << ( toCommonAndBack( gews ) ? "PASS" : "FAIL" ) << endl;
+ cout << "GPSWS: " << ( toCommonAndBack( gws ) ? "PASS" : "FAIL" ) << endl;
+ cout << "GPSWZ: " << ( toCommonAndBack( gwz ) ? "PASS" : "FAIL" ) << endl;
+ cout << "GZ29: " << ( toCommonAndBack( gz29 ) ? "PASS" : "FAIL" ) << endl;
+ cout << "GZ32: " << ( toCommonAndBack( gz32 ) ? "PASS" : "FAIL" ) << endl;
+ cout << "JD: " << ( toCommonAndBack( jd ) ? "PASS" : "FAIL" ) << endl;
+ cout << "MJD: " << ( toCommonAndBack( mjd ) ? "PASS" : "FAIL" ) << endl;
+ cout << "Unix: " << ( toCommonAndBack( ut ) ? "PASS" : "FAIL" ) << endl;
+ cout << "YDS: " << ( toCommonAndBack( yds ) ? "PASS" : "FAIL" ) << endl;
+ cout << endl;
+
+ if( verboseLevel )
+ {
+ dumpCommonTime( ansi );
+ dumpCommonTime( civil );
+ dumpCommonTime( gews );
+ dumpCommonTime( gws );
+ dumpCommonTime( gwz );
+ dumpCommonTime( gz29 );
+ dumpCommonTime( gz32 );
+ dumpCommonTime( jd );
+ dumpCommonTime( mjd );
+ dumpCommonTime( ut );
+ dumpCommonTime( yds );
+ cout << endl;
+ }
+
+ return true;
+}
+
+template<class T>
+bool Test::toCommonAndBack( T& t )
+{
+ if( verboseLevel )
+ {
+ cout << "myval: " << t << endl;
+ }
+
+ T t1;
+ t1.convertFromCommonTime( t.convertToCommonTime() );
+ if( t != t1 )
+ {
+ cout << t << " != " << t1 << endl;
+ return false;
+ }
+ return true;
+}
+
+bool Test::simpleEqualityTest()
+{
+ cout << "Simple Equality Test" << endl;
+ cout << "ANSI: " << endl; isEqual( ansi );
+ cout << "Civil: " << endl; isEqual( civil );
+ cout << "GPSEWS: " << endl; isEqual( gews );
+ cout << "GPSWS: " << endl; isEqual( gws );
+ cout << "GPSWZ: " << endl; isEqual( gwz );
+ cout << "GZ29: " << endl; isEqual( gz29 );
+ cout << "GZ32: " << endl; isEqual( gz32 );
+ cout << "JD: " << endl; isEqual( jd );
+ cout << "MJD: " << endl; isEqual( mjd );
+ cout << "Unix: " << endl; isEqual( ut );
+ cout << "YDS: " << endl; isEqual( yds );
+ cout << endl;
+
+}
+
+template<class T>
+bool Test::isEqual( T& t )
+{
+ cout << " to ANSI: " << ( t == ANSITime( t ) ? "PASS" : "FAIL" )
+ << endl;
+ cout << " to Civil: " << ( t == CivilTime( t ) ? "PASS" : "FAIL" )
+ << endl;
+ cout << " to GPSEWS: " << ( t == GPSEpochWeekSecond( t ) ? "PASS" : "FAIL" )
+ << endl;
+ cout << " to GPSWS: " << ( t == GPSWeekSecond( t ) ? "PASS" : "FAIL" )
+ << endl;
+ cout << " to GPSWZ: " << ( t == GPSWeekZcount( t ) ? "PASS" : "FAIL" )
+ << endl;
+ cout << " to GZ29: " << ( t == GPSZcount29( t ) ? "PASS" : "FAIL" )
+ << endl;
+ cout << " to GZ32: " << ( t == GPSZcount32( t ) ? "PASS" : "FAIL" )
+ << endl;
+ cout << " to JD: " << ( t == JulianDate( t ) ? "PASS" : "FAIL" )
+ << endl;
+ cout << " to MJD: " << ( t == MJD( t ) ? "PASS" : "FAIL" )
+ << endl;
+ cout << " to Unix: " << ( t == UnixTime( t ) ? "PASS" : "FAIL" )
+ << endl;
+ cout << " to YDS: " << ( t == YDSTime( t ) ? "PASS" : "FAIL" )
+ << endl;
+ cout << endl;
+
+ return true;
+}
+
+bool Test::otherTest()
+{
+ try
+ {
+ YDSTime one( 2005, 1, 0 ), two( 2005, 234, 5648.09 );
+
+ cout << "one: " << one << endl
+ << "two: " << two << endl;
+
+ YDSTime tre( one );
+
+ cout << "tre: " << tre << endl;
+
+ if( one == tre )
+ {
+ cout << " one == tre " << endl;
+ }
+ else
+ {
+ cout << " one != tre " << endl;
+ }
+
+ cout << endl
+ << "--- scanf test ---" << endl;
+
+ string str( "2005 234 5648.09" );
+ string fmt( "%Y %j %s" );
+
+ cout << "str: " << str << endl
+ << "fmt: " << fmt << endl;
+
+ BaseTime::IdToValue info;
+ BaseTime::getInfo( str, fmt, info );
+ cout << "parsed info:" << endl;
+
+ for( BaseTime::IdToValue::iterator i = info.begin();
+ i != info.end(); i++ )
+ {
+ cout << "info[" << i->first << "] = <" << i->second << ">" << endl
+ << " asInt() -> " << asInt( i->second ) << endl;
+ }
+
+ if( tre.setFromInfo( info ) )
+ {
+ cout << "setFromInfo() ok" << endl;
+ }
+ else
+ {
+ cout << "setFromInfo() failed" << endl;
+ }
+ cout << "tre: " << tre << endl;
+
+ cout << "Altogether in one scanf() call: " << endl;
+ two = one;
+ cout << "two = one -> two: " << two << endl;
+ two.scanf( str, fmt );
+ cout << "two.scanf( str, fmt ) -> two: " << two << endl;
+
+ cout << "two " << ( (two == tre) ? "==" : "!=" ) << " tre" << endl;
+
+ cout << endl
+ << "--- scanTime test ---" << endl;
+
+ string str2( "1337 92048.09" );
+ string fmt2( "%F %g" );
+
+ cout << "two: " << two << endl
+ << "tre: " << tre << endl
+ << "str: " << str2 << endl
+ << "fmt: " << fmt2 << endl;
+
+ scanTime( tre, str, fmt );
+
+ cout << "scanTime( tre, str, fmt);" << endl
+ << "tre: " << tre << endl;
+
+ return true;
+ }
+ catch( gpstk::Exception& exc )
+ {
+ cout << exc << endl;
+ }
+
+ return false;
+}
+
+int main (int argc, char *argv[])
+{
+ try
+ {
+ Test t( argv[0] );
+
+ if( !t.initialize( argc, argv ) )
+ {
+ return 0;
+ }
+
+ if( !t.run() )
+ {
+ return 1;
+ }
+
+ return 0;
+ }
+ catch( Exception& exc )
+ {
+ cout << exc << endl;
+ }
+ catch( exception& e )
+ {
+ cout << e.what() << endl;
+ }
+ catch( ... )
+ {
+ cout << "Caught an unknown exception." << endl;
+ }
+ return 1;
+}
+
diff --git a/trunk/tests/Xbegweek.cpp b/trunk/tests/Xbegweek.cpp
new file mode 100755
index 0000000..0895595
--- /dev/null
+++ b/trunk/tests/Xbegweek.cpp
@@ -0,0 +1,135 @@
+/* $Id: //depot/sgl/gpstk/dev/tests/Xbegweek.cpp#5 $
+* Xbegweek.cpp - Test scaffold for demonstrating correctness of the
+* SVPCodeGen class.
+*
+* February 2004
+* Applied Reserach Laboratories, The University of Texas at Austin
+*/
+ // Language headers
+#include <stdlib.h>
+#include <stdio.h>
+#include <map>
+
+ // Project headers
+#include "PCodeConst.hpp"
+#include "SVPCodeGen.hpp"
+#include "CodeBuffer.hpp"
+#include "X1Sequence.hpp"
+#include "X2Sequence.hpp"
+
+/**
+ * @file Xbegweek.cpp
+ *
+ */
+using namespace std; // for map and pair access
+using namespace gpstk;
+
+ // Convenience structure for grouping all the data objects associated
+ // with a single SV. These structs are commonly placed in maps for
+ // processing.
+struct SVData
+{
+ SVPCodeGen * PCodeGen;
+ CodeBuffer * PCodeBuf;
+ codeType cType;
+ SVData( SVPCodeGen * a1,
+ CodeBuffer * a2,
+ codeType c )
+ {
+ PCodeGen = a1;
+ PCodeBuf = a2;
+ cType = c;
+ };
+};
+
+const int NUM_SATS = 38;
+
+int main(int argc, char* argv[])
+{
+ printf("Ryan's Xbegweek\n");
+
+ if (argc < 2)
+ {
+ printf("Usage: >Xbegweek <outputfile>\n");
+ exit(1);
+ }
+ // Open an output file.
+ printf(" Opening output file.\n");
+ FILE *outFile = fopen( argv[1], "wt" );
+ if (outFile==NULL)
+ {
+ printf(" Cannot open xbegweek.out for output.\n");
+ exit(-1);
+ }
+ fprintf(outFile," Xbegweek.out - Demonstrating P-Code Beginnging of Week Generation..\n");
+ fprintf(outFile," Reproducing ICD-GPS-200, Table 3-I\n");
+
+ // Set time to beginning of week
+ printf(" Setting time to beginning of week.\n");
+ //DayTime dt( 1233, 0.0, 2003 ); // Beginning of week 1233
+ DayTime dt( 1233, 0.0 ); // Beginning of week 1233
+
+ // NOTE: The P-code generator works in 6-second "chunks". This implies
+ // that there are 6 seconds of X1 bitstream and 6 seconds of X2 bitstreams
+ // held in memory. To mimimize the memory footprint, these bitstreams
+ // are shared between all coders and are located in dynamically allocated
+ // buffers referenced through static pointers. THEREFORE, before any
+ // SVPCodeGen objects are instantiated, these buffers must be allocated
+ // and initialized via the following two calls. Failure to do so will
+ // resort in abnormal program termination (unless the exceptions are
+ // trapped).
+ try
+ {
+ X1Sequence::allocateMemory();
+ X2Sequence::allocateMemory();
+ }
+ catch (gpstk::Exception e)
+ {
+ printf(" Memory allocation failure.\n");
+ printf(" Xbegweek will terminate.\n");
+ return(1);
+ }
+
+ // Instantiate a map to hold SVPCodeGen and CodeBuffer objects
+ printf(" Instantiating the PRN arrays.\n");
+ map<int, SVData>svdMap;
+ typedef map<int, SVData>::iterator SVDataI;
+
+ SVPCodeGen * svp[NUM_SATS];
+ CodeBuffer * pcb[NUM_SATS];
+ for (int n=0;n<NUM_SATS;++n)
+ {
+ svp[n] = 0;
+ pcb[n] = 0;
+ }
+
+ for (int PRNndx=0;PRNndx<NUM_SATS;PRNndx++)
+ {
+ svp[PRNndx] = new SVPCodeGen( PRNndx, dt );
+ pcb[PRNndx] = new CodeBuffer( PRNndx );
+ SVData svd ( svp[PRNndx], pcb[PRNndx], P_CODE );
+ pair<int,SVData> ps( PRNndx, svd );
+ svdMap.insert( ps );
+ }
+
+ fprintf(outFile," PRN 12-bits of code (octal)\n");
+
+ int PRNID;
+ unsigned long temp;
+ for ( SVDataI p=svdMap.begin(); p!=svdMap.end(); ++p)
+ {
+ PRNID = p->first;
+ SVData& rsvd = p->second;
+ SVPCodeGen& rsvp = *(rsvd.PCodeGen);
+ CodeBuffer& rcb = *(rsvd.PCodeBuf);
+ rsvp.getCurrentSixSeconds( rcb );
+ temp = rcb[0] >> 20;
+ fprintf( outFile," %02d %04o\n",PRNID,temp);
+ }
+
+ // Close the output files and exit gracefully.
+ printf(" Closing files.\n");
+ fflush( outFile );
+ fclose( outFile );
+ return(0);
+}
diff --git a/trunk/tests/Xendweek.cpp b/trunk/tests/Xendweek.cpp
new file mode 100755
index 0000000..c1bc8f0
--- /dev/null
+++ b/trunk/tests/Xendweek.cpp
@@ -0,0 +1,158 @@
+/* $Id: //depot/sgl/gpstk/dev/tests/Xendweek.cpp#4 $
+* Xendweek.c - Test scaffold for demonstrating correctness of the
+* SVPCodeGen class. In this case, the test is to correctly generate
+* the P-code for the last 6 seconds of the week for each possible
+* GPS PRN.
+*
+* August 2003
+* Applied Reserach Laboratories, The University of Texas at Austin
+*/
+ // Language headers
+#include <stdlib.h>
+#include <stdio.h>
+#include <map>
+
+ // Project headers
+#include "PCodeConst.hpp"
+#include "SVPCodeGen.hpp"
+#include "CodeBuffer.hpp"
+#include "X1Sequence.hpp"
+#include "X2Sequence.hpp"
+
+/**
+ * @file Xendweek.cpp
+ *
+ */
+
+using namespace std; // for map and pair access
+using namespace gpstk;
+
+ // Convenience structure for grouping all the data objects associated
+ // with a single SV. These structs are commonly placed in maps for
+ // processing.
+struct SVData
+{
+ SVPCodeGen * PCodeGen;
+ CodeBuffer * PCodeBuf;
+ codeType cType;
+ SVData( SVPCodeGen * a1,
+ CodeBuffer * a2,
+ codeType c )
+ {
+ PCodeGen = a1;
+ PCodeBuf = a2;
+ cType = c;
+ };
+};
+
+const int NUM_SATS = 38;
+
+int main(int argc, char* argv[] )
+{
+ printf("Ryan's Xendweek\n");
+
+ if (argc < 2)
+ {
+ printf("Usage: >>Xendweek <outputfile>\n");
+ exit(1);
+ }
+ // Open an output file.
+ printf(" Opening output file.\n");
+ FILE *outFile = fopen( argv[1], "wt" );
+ if (outFile==NULL)
+ {
+ printf(" Cannot open Xendweek.out for output.\n");
+ exit(-1);
+ }
+ fprintf(outFile," XENDWEEK.OUT - Demonstrating P-Code End of Week Generation..\n");
+ fprintf(outFile," Reproducing ICD-GPS-200, Table 3-IV\n");
+
+ // Set time to end of week minus six seconds
+ printf(" Setting time to end of week.\n");
+ //DayTime dt( 1233, 604794.0, 2003 );
+ DayTime dt( 1233, 604794.0 );
+
+ // NOTE: The P-code generator works in 6-second "chunks". This implies
+ // that there are 6 seconds of X1 bitstream and 6 seconds of X2 bitstreams
+ // held in memory. To mimimize the memory footprint, these bitstreams
+ // are shared between all coders and are located in dynamically allocated
+ // buffers referenced through static pointers. THEREFORE, before any
+ // SVPCodeGen objects are instantiated, these buffers must be allocated
+ // and initialized via the following two calls. Failure to do so will
+ // resort in abnormal program termination (unless the exceptions are
+ // trapped).
+ try
+ {
+ X1Sequence::allocateMemory();
+ X2Sequence::allocateMemory();
+ }
+ catch (gpstk::Exception e)
+ {
+ printf(" Memory allocation failure.\n");
+ printf(" Xbegweek will terminate.\n");
+ return(1);
+ }
+
+ // Instantiate a map to hold SVPCodeGen and CodeBuffer objects
+ printf(" Instantiating the PRN map.\n");
+ map<int, SVData>svdMap;
+ typedef map<int, SVData>::iterator SVDataI;
+
+ // Instantiate and initialize the P-coder objects
+ SVPCodeGen * svp[NUM_SATS];
+ CodeBuffer * pcb[NUM_SATS];
+ for (int n=0;n<NUM_SATS;++n) { svp[n]=0; pcb[n]=0; };
+
+ for (int PRNndx=0; PRNndx<NUM_SATS; ++PRNndx)
+ {
+ svp[PRNndx] = new SVPCodeGen( PRNndx, dt );
+ pcb[PRNndx] = new CodeBuffer( PRNndx );
+
+ SVData svd( svp[PRNndx], pcb[PRNndx], P_CODE );
+ pair<int,SVData> ps( PRNndx, svd );
+ svdMap.insert( ps );
+ }
+
+ fprintf(outFile," PRN Last word ");
+
+ // Calculate X1count where X2 starts to transition to end of week "hold"
+ long EndOfWeekTestCount =
+ 3 * (XA_COUNT * XA_MAX_EPOCH) + (XA_COUNT * (XA_MAX_EPOCH-1)) + 3023;
+ long EndOfWeekTestWord = (EndOfWeekTestCount / MAX_BIT);
+ long EndOfWeekTestEnd = EndOfWeekTestWord+(XA_EPOCH_DELAY+104)/MAX_BIT+3;
+
+ long chip = EndOfWeekTestWord * MAX_BIT -
+ 3 * (XA_COUNT * XA_MAX_EPOCH) - (XA_COUNT * (XA_MAX_EPOCH-1));
+ for (long j=EndOfWeekTestWord;j<EndOfWeekTestEnd;j++)
+ {
+ fprintf(outFile,"%4d ",chip);
+ chip+=32;
+ }
+ fprintf(outFile,"\n");
+
+ int PRNID;
+ unsigned long temp;
+ for ( SVDataI p=svdMap.begin(); p!=svdMap.end(); ++p )
+ {
+ PRNID = p->first;
+ SVData& rsvd = p->second;
+ SVPCodeGen& rsvp = *(rsvd.PCodeGen);
+ CodeBuffer& rcb = *(rsvd.PCodeBuf);
+ rsvp.getCurrentSixSeconds( rcb );
+ temp = rcb[NUM_6SEC_WORDS-1];
+ fprintf( outFile," %02d x%08X",PRNID,temp);
+ for (long n=EndOfWeekTestWord;n<EndOfWeekTestEnd;n++)
+ {
+ fprintf(outFile," x%08X",rcb[n]);
+ }
+ fprintf(outFile,"\n");
+ }
+
+ /*
+ Close the output files and exit gracefully.
+ */
+ printf(" Closing files.\n");
+ fflush( outFile );
+ fclose( outFile );
+ return(0);
+}
diff --git a/trunk/tests/configfile.txt b/trunk/tests/configfile.txt
new file mode 100755
index 0000000..d97b2c9
--- /dev/null
+++ b/trunk/tests/configfile.txt
@@ -0,0 +1,52 @@
+# $Id: //depot/sgl/gpstk/dev/tests/configfile.txt#6 $
+# Configuration file for GPSTk regression test script
+#
+AnotherFileFilterTest;
+#
+DayTimeConversionTest;
+#
+DayTimeIncrementTest;
+#
+DayTimeIncrementTest2;
+#
+daytimetest;
+#
+DayTimeToleranceTest;
+#
+EphComp -p $datdir/nga12600.apc -p $datdir/nga12601.apc -b $datdir/merge.n
+#
+exceptiontest;
+#
+FileSpecTest.pl $exedir
+#
+gpszcounttest;
+#
+MatrixTest $datdir/anotsym.dat $datdir/cov.dat $datdir/dia.dat $datdir/lt.dat\
+ $datdir/partials.dat $datdir/squ.dat $datdir/sym.dat $datdir/tmatrix.dat\
+ $datdir/ut.dat, MatrixTest.scr:MatrixTest.ref;
+#
+petest $datdir/nga12600.apc;
+#
+positiontest, positiontest.scr:positiontest.ref;
+#
+rinex_met_read_write $datdir/405_077A.02M $outdir/rinex_met.out;
+#
+rinex_met_test $datdir/405_077A.02M;
+#
+rinex_nav_read_write $datdir/suwn0770.02n.Z $outdir/rinex_nav.out;
+#
+rinex_nav_test $datdir/suwn0770.02n.Z;
+#
+rinex_obs_read_write $datdir/s1110770.02o.Z $outdir/rinex_obs.out;
+#
+rinex_obs_test $datdir/s1110770.02o.Z
+#
+RungeKuttaTest, RungeKuttaTest.scr:rktest.ref;
+#
+stringutiltest, stringutiltest.scr:stringutiltest.ref;
+#
+Xbegweek $outdir/Xbegweek.out, Xbegweek.out:Xbegweek.can;
+#
+Xendweek $outdir/Xendweek.out, Xendweek.out:Xendweek.can;
+#
+# End of File
diff --git a/trunk/tests/configfile_readme.txt b/trunk/tests/configfile_readme.txt
new file mode 100644
index 0000000..0df34b9
--- /dev/null
+++ b/trunk/tests/configfile_readme.txt
@@ -0,0 +1,14 @@
+ configfile.txt accompanies testscript.pl allowing for easy update of new and old tests and a solid infrastructure for adding new test options. Any line beginning in a “#” or “!” character will be skipped when read by testscript.pl, so that comments can be easily added and the configfile read at a glance.
+ There are two parts for each line(s) containing a test program. The first part is what would be executed on the command line when running the test program by itself, including all command line options. Directories should be replaced with variables including:
+$datdir - development directory defined by the user + /gpstk/dev/tests/data
+$outdir – output directory defined by the user
+$exedir – development directory defined by the user + /gpstk/dev/tests
+
+ The second part of the configuration line is separated from the first part by a comma. After the comma, if a difference is necessary then the two files which need to be differenced should be typed next to one and other with a colon separating them. (for example: stringutiltest.scr:stringutiltest.ref) Since the test script automatically creates a file named stringutiltest.scr, and stringutiltest makes its output show in stout this is the proper formation for a difference. However be [...]
+ If a text in the configfile is too long to be viewed on only one line then the “\” backslash character denotes a continuation of the text on the following line. If the backslash is used then the following line should be indented to align with the space after the end of the test program name on the primary line. This syntactical design allows for much easier viewing of the configfile.
+(example:
+MatrixTest $datdir/anotsym.dat $datdir/cov.dat $datdir/dia.dat $datdir/lt.dat\
+ $datdir/partials.dat $datdir/squ.dat $datdir/sym.dat $datdir/tmatrix.dat\
+ $datdir/ut.dat, MatrixTest.scr:MatrixTest.ref;
+)
+
diff --git a/trunk/tests/data/405_077A.02M b/trunk/tests/data/405_077A.02M
new file mode 100644
index 0000000..73d87dd
--- /dev/null
+++ b/trunk/tests/data/405_077A.02M
@@ -0,0 +1,108 @@
+ 2.10 Meteorological RINEX VERSION / TYPE
+RinexMetWriter NIMA 3-19-02 0:04:03 PGM / RUN BY / DATE
+NOTE: 0 records omitted due to a missing datum COMMENT
+NOTE: Some of the weather values may be corrected. COMMENT
+85405 MARKER NAME
+85405 MARKER NUMBER
+ 3 PR TD HR # / TYPES OF OBSERV
+Vaisala PTB220 0.1 PR SENSOR MOD/TYPE/ACC
+Vaisala HMP230 0.1 TD SENSOR MOD/TYPE/ACC
+Vaisala HMP230 0.1 HR SENSOR MOD/TYPE/ACC
+ 3633910.8759 4425277.6639 2799862.7878 -13.8530 PR SENSOR POS XYZ/H
+ END OF HEADER
+ 02 3 18 0 0 0 1005.2 22.0 79.2
+ 02 3 18 0 15 0 1005.3 21.9 81.5
+ 02 3 18 0 30 0 1005.3 21.9 83.1
+ 02 3 18 0 45 0 1005.2 21.6 83.9
+ 02 3 18 1 0 0 1004.4 21.5 83.7
+ 02 3 18 1 15 0 1004.1 21.5 84.1
+ 02 3 18 1 30 0 1004.1 21.8 81.5
+ 02 3 18 1 45 0 1004.1 21.8 81.1
+ 02 3 18 2 0 0 1004.1 21.9 79.2
+ 02 3 18 2 15 0 1004.3 22.1 77.5
+ 02 3 18 2 30 0 1004.5 22.1 78.5
+ 02 3 18 2 45 0 1004.7 22.1 78.8
+ 02 3 18 3 0 0 1005.4 22.2 83.7
+ 02 3 18 3 15 0 1005.3 22.1 83.8
+ 02 3 18 3 30 0 1005.6 22.1 83.9
+ 02 3 18 3 45 0 1005.3 22.2 83.6
+ 02 3 18 4 0 0 1005.4 22.5 82.0
+ 02 3 18 4 15 0 1005.6 22.7 83.3
+ 02 3 18 4 30 0 1005.7 23.0 83.8
+ 02 3 18 4 45 0 1005.7 22.9 83.6
+ 02 3 18 5 0 0 1006.0 23.1 83.9
+ 02 3 18 5 15 0 1006.0 23.5 84.2
+ 02 3 18 5 30 0 1006.1 23.4 83.6
+ 02 3 18 5 45 0 1006.2 23.4 83.6
+ 02 3 18 6 0 0 1006.2 23.8 79.1
+ 02 3 18 6 15 0 1006.1 25.6 74.7
+ 02 3 18 6 30 0 1006.2 26.8 61.6
+ 02 3 18 6 45 0 1006.3 27.7 62.0
+ 02 3 18 7 0 0 1006.4 28.6 58.9
+ 02 3 18 7 15 0 1006.3 28.2 58.5
+ 02 3 18 7 30 0 1006.4 28.6 58.0
+ 02 3 18 7 45 0 1006.2 29.2 53.2
+ 02 3 18 8 0 0 1006.0 30.1 45.2
+ 02 3 18 8 15 0 1005.8 30.6 46.4
+ 02 3 18 8 30 0 1005.7 30.6 44.1
+ 02 3 18 8 45 0 1005.6 30.9 39.1
+ 02 3 18 9 0 0 1005.6 30.1 38.8
+ 02 3 18 9 15 0 1005.5 30.5 42.9
+ 02 3 18 9 30 0 1005.4 30.8 41.2
+ 02 3 18 9 45 0 1005.2 31.5 39.0
+ 02 3 18 10 0 0 1005.0 30.3 40.6
+ 02 3 18 10 15 0 1004.8 32.0 35.9
+ 02 3 18 10 30 0 1004.6 32.7 32.6
+ 02 3 18 10 45 0 1004.6 31.8 40.6
+ 02 3 18 11 0 0 1004.5 32.0 40.2
+ 02 3 18 11 15 0 1004.4 33.2 35.1
+ 02 3 18 11 30 0 1004.3 31.5 43.7
+ 02 3 18 11 45 0 1004.3 31.9 41.7
+ 02 3 18 12 0 0 1004.2 30.1 48.7
+ 02 3 18 12 15 0 1004.0 29.3 48.4
+ 02 3 18 12 30 0 1004.0 28.6 55.2
+ 02 3 18 12 45 0 1003.9 28.4 52.8
+ 02 3 18 13 0 0 1004.0 27.8 58.4
+ 02 3 18 13 15 0 1003.9 26.9 63.6
+ 02 3 18 13 30 0 1003.9 26.5 66.2
+ 02 3 18 13 45 0 1003.9 26.9 66.2
+ 02 3 18 14 0 0 1003.9 26.3 68.6
+ 02 3 18 14 15 0 1003.9 25.9 68.1
+ 02 3 18 14 30 0 1004.0 25.3 76.8
+ 02 3 18 14 45 0 1004.2 25.0 80.0
+ 02 3 18 15 0 0 1004.3 24.8 83.4
+ 02 3 18 15 15 0 1004.4 24.6 83.3
+ 02 3 18 15 30 0 1004.4 24.8 81.6
+ 02 3 18 15 45 0 1004.6 24.4 83.1
+ 02 3 18 16 0 0 1004.7 24.1 83.2
+ 02 3 18 16 15 0 1005.1 23.9 83.3
+ 02 3 18 16 30 0 1005.2 23.7 83.2
+ 02 3 18 16 45 0 1005.5 23.8 83.1
+ 02 3 18 17 0 0 1005.8 23.6 83.1
+ 02 3 18 17 15 0 1006.0 23.5 82.9
+ 02 3 18 17 30 0 1006.1 23.4 82.8
+ 02 3 18 17 45 0 1006.2 23.2 83.0
+ 02 3 18 18 0 0 1006.3 23.0 83.0
+ 02 3 18 18 15 0 1006.4 23.0 82.8
+ 02 3 18 18 30 0 1006.5 23.1 83.0
+ 02 3 18 18 45 0 1006.6 23.1 83.0
+ 02 3 18 19 0 0 1006.7 22.7 83.1
+ 02 3 18 19 15 0 1006.9 22.6 83.0
+ 02 3 18 19 30 0 1006.9 22.7 82.7
+ 02 3 18 19 45 0 1006.9 22.7 83.1
+ 02 3 18 20 0 0 1007.0 22.9 83.1
+ 02 3 18 20 15 0 1006.9 23.0 83.3
+ 02 3 18 20 30 0 1006.9 23.0 83.8
+ 02 3 18 20 45 0 1006.9 22.7 83.7
+ 02 3 18 21 0 0 1007.2 22.7 83.6
+ 02 3 18 21 15 0 1007.2 22.5 83.4
+ 02 3 18 21 30 0 1007.5 22.4 83.5
+ 02 3 18 21 45 0 1007.1 22.2 83.3
+ 02 3 18 22 0 0 1007.2 22.1 83.4
+ 02 3 18 22 15 0 1007.1 22.1 83.6
+ 02 3 18 22 30 0 1007.3 22.0 83.5
+ 02 3 18 22 45 0 1007.4 22.0 83.5
+ 02 3 18 23 0 0 1007.7 21.9 83.4
+ 02 3 18 23 15 0 1007.8 21.9 83.5
+ 02 3 18 23 30 0 1008.0 21.7 83.5
+ 02 3 18 23 45 0 1008.0 21.6 83.5
diff --git a/trunk/tests/data/MatrixTest.ref b/trunk/tests/data/MatrixTest.ref
new file mode 100644
index 0000000..ffa9e84
--- /dev/null
+++ b/trunk/tests/data/MatrixTest.ref
@@ -0,0 +1,1332 @@
+
+ -------------- Vector Test ---------------------------------
+V = 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415
+V = 1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8 9.9 10.1
+V min 1.1, max 10.1, sum 59.6
+Vodd = 1.1 3.3 5.5 7.7 9.9
+Veve = 2.2 4.4 6.6 8.8 10.1
+Vodd = 1.1 0 5.5 0 9.9
+Veve = 2.2 99 6.6 99 10.1
+Minkowski of Vodd and Veve 38.72
+dot of Vodd and Veve 138.71
+V = 1.1 2.2 0 99 5.5 6.6 0 99 9.9 10.1
+V min 0, max 99, sum 233.4, norm 141.003
+Zero tolerance for V is 1e-15
+Zero tolerance for W is 1e-05
+Here is W the usual way :
+ ...2.200 ...4.400 ...0.000 .198.000 ..11.000 ..13.200 ...0.000 .198.000 ..19.800 ..20.200
+Here is W the saved way :
+...2.200...4.400...0.000.198.000..11.000..13.200...0.000.198.000..19.800..20.200
+Sum = 3.300 6.600 0.000 297.000 16.500 19.800 0.000 297.000 29.700 30.300
+CVS = 1.100 2.200 0.000 99.000 5.500 6.600 0.000 99.000 9.900 10.100
+
+ -------------- Matrix Test 1 ---------------------------------
+Matrix (2,5) from double* :
+ 1.1 2.2 3.3 4.4 5.5
+ 6.6 7.7 8.8 9.9 10.1
+Partials Matrix (15,12) :
+ -1900.000 -37.000 2000.000 -3800.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000
+ -1800.000 -6.200 2200.000 -3900.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000
+ 2600.000 570.000 -940.000 -2.500 0.000 110.000 0.310 -200.000 0.000 64.000 -190.000 -170.000
+ 2000.000 -2100.000 -1700.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000 0.000
+ 30.000 200.000 2900.000 0.000 0.000 1800.000 89.000 -5100.000 -250.000 0.000 -0.000 -0.000
+ -8.200 -0.340 4.200 0.000 0.000 1.200 0.000 -3.800 -0.150 31.000 0.410 82.000
+ 370.000 230.000 -96.000 0.000 0.000 0.000 0.000 -32.000 -0.730 -61.000 7.800 820.000
+ -1500.000 -280.000 140.000 0.000 0.000 0.000 0.000 680.000 33.000 1200.000 57.000 -3100.000
+ -0.170 -0.920 0.170 0.000 0.000 0.000 0.000 0.430 0.000 0.580 -0.054 -2.300
+ 17.000 -55.000 1.500 0.000 0.000 0.000 0.000 0.000 0.000 -33.000 -0.820 -63.000
+ 100.000 600.000 -100.000 0.000 0.000 0.000 0.000 0.000 0.000 730.000 35.000 1200.000
+ -0.380 -0.290 0.150 0.000 0.000 0.000 0.000 0.000 0.000 0.460 0.000 0.610
+ -26.000 -19.000 10.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -30.000
+ 210.000 160.000 -83.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 640.000
+ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.410
+Data vector (15) :
+ -250.000 -250.000 520.000 -0.000 0.000 -0.000 33.000 -150.000 -0.095 8.100 61.000 -0.057 -0.270 31.000 0.000
+Covariance matrix (12,12) :
+ 0.146 0.047 0.443 1.047 -18.024 -0.154 1.462 0.538 -6.373 0.039 -0.702 -0.002
+ 0.047 0.016 0.145 0.342 -5.886 -0.049 0.450 0.176 -2.090 0.013 -0.230 -0.001
+ 0.443 0.145 1.349 3.185 -54.810 -0.490 4.905 1.621 -19.041 0.120 -2.152 -0.007
+ 1.047 0.342 3.185 7.522 -129.462 -1.149 11.411 3.835 -45.099 0.282 -5.077 -0.017
+ -18.024 -5.886 -54.810 -129.462 2228.196 19.590 -192.918 -66.106 778.268 -4.857 87.285 0.287
+ -0.154 -0.049 -0.490 -1.149 19.590 0.424 -6.583 -0.450 4.140 -0.048 0.882 -0.000
+ 1.462 0.450 4.905 11.411 -192.918 -6.583 111.877 3.123 -13.851 0.522 -9.837 0.033
+ 0.538 0.176 1.621 3.835 -66.106 -0.450 3.123 2.039 -24.704 0.142 -2.519 -0.011
+ -6.373 -2.090 -19.041 -45.099 778.268 4.140 -13.851 -24.704 305.519 -1.644 29.008 0.143
+ 0.039 0.013 0.120 0.282 -4.857 -0.048 0.522 0.142 -1.644 0.011 -0.192 -0.001
+ -0.702 -0.230 -2.152 -5.077 87.285 0.882 -9.837 -2.519 29.008 -0.192 3.492 0.009
+ -0.002 -0.001 -0.007 -0.017 0.287 -0.000 0.033 -0.011 0.143 -0.001 0.009 0.000
+Solution vector (12) :
+ -1.139 -0.594 -4.360 -10.043 171.356 3.019 -46.415 -3.817 31.883 -0.223 7.204 0.005
+Residual vector (15) :
+ 1.239e-04 -1.158e-04 4.797e-03 -3.487e-03 2.072e-04 -1.014e+00 -1.559e-02 6.014e-03 2.077e+00 2.073e-01 1.475e-02 9.146e-02 2.570e+00 3.009e-01 -1.978e-03
+2*Solution vector (12) :
+ -2.279 -1.188 -8.721 -20.086 342.712 6.039 -92.831 -7.633 63.767 -0.446 14.408 0.010
+2*Partials Matrix (15,12) :
+ -3800.000 -74.000 4000.000 -7600.000 -380.000 0.000 0.000 -182.000 11.400 4200.000 178.000 -10200.000
+ -3600.000 -12.400 4400.000 -7800.000 -380.000 0.000 0.000 -182.000 11.400 4200.000 178.000 -10200.000
+ 5200.000 1140.000 -1880.000 -5.000 0.000 220.000 0.620 -400.000 0.000 128.000 -380.000 -340.000
+ 4000.000 -4200.000 -3400.000 0.000 0.000 -182.000 11.400 4200.000 178.000 -10200.000 -500.000 0.000
+ 60.000 400.000 5800.000 0.000 0.000 3600.000 178.000 -10200.000 -500.000 0.000 -0.000 -0.000
+ -16.400 -0.680 8.400 0.000 0.000 2.400 0.000 -7.600 -0.300 62.000 0.820 164.000
+ 740.000 460.000 -192.000 0.000 0.000 0.000 0.000 -64.000 -1.460 -122.000 15.600 1640.000
+ -3000.000 -560.000 280.000 0.000 0.000 0.000 0.000 1360.000 66.000 2400.000 114.000 -6200.000
+ -0.340 -1.840 0.340 0.000 0.000 0.000 0.000 0.860 0.000 1.160 -0.108 -4.600
+ 34.000 -110.000 3.000 0.000 0.000 0.000 0.000 0.000 0.000 -66.000 -1.640 -126.000
+ 200.000 1200.000 -200.000 0.000 0.000 0.000 0.000 0.000 0.000 1460.000 70.000 2400.000
+ -0.760 -0.580 0.300 0.000 0.000 0.000 0.000 0.000 0.000 0.920 0.000 1.220
+ -52.000 -38.000 20.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -60.000
+ 420.000 320.000 -166.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1280.000
+ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.820
+Vector c(8) :
+ 0.000 3.000 6.000 9.000 12.000 15.000 18.000 21.000
+Vector b(7) :
+ 1.000 2.000 3.000 4.000 5.000 6.000 7.000
+Their outer product (8,7) :
+ 0.000 0.000 0.000 0.000 0.000 0.000 0.000
+ 3.000 6.000 9.000 12.000 15.000 18.000 21.000
+ 6.000 12.000 18.000 24.000 30.000 36.000 42.000
+ 9.000 18.000 27.000 36.000 45.000 54.000 63.000
+ 12.000 24.000 36.000 48.000 60.000 72.000 84.000
+ 15.000 30.000 45.000 60.000 75.000 90.000 105.000
+ 18.000 36.000 54.000 72.000 90.000 108.000 126.000
+ 21.000 42.000 63.000 84.000 105.000 126.000 147.000
+Their norms 11.832 and 35.496 and dot 336.000 and cosine 0.800
+
+ -------------- Matrix Test 2 ---------------------------------
+Tough matrix (2,2) :
+ 1.000000 0.500000
+ 0.500000 0.333333
+Condition number for 2 is 1.268/6.574e-02 = 1.928e+01
+Inverse matrix (2,2) :
+ 4.000 -6.000
+ -6.000 12.000
+
+Unity matrix (2,2) ? :
+ 1.000000000 0.000000000
+ 0.000000000 1.000000000
+
+Tough matrix (3,3) :
+ 1.000000 0.500000 0.333333
+ 0.500000 0.333333 0.250000
+ 0.333333 0.250000 0.200000
+Condition number for 3 is 1.408/2.687e-03 = 5.241e+02
+Inverse matrix (3,3) :
+ 9.000 -36.000 30.000
+ -36.000 192.000 -180.000
+ 30.000 -180.000 180.000
+
+Unity matrix (3,3) ? :
+ 1.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000
+
+Tough matrix (4,4) :
+ 1.000000 0.500000 0.333333 0.250000
+ 0.500000 0.333333 0.250000 0.200000
+ 0.333333 0.250000 0.200000 0.166667
+ 0.250000 0.200000 0.166667 0.142857
+Condition number for 4 is 1.500/9.670e-05 = 1.551e+04
+Inverse matrix (4,4) :
+ 16.000 -120.000 240.000 -140.000
+ -120.000 1200.000 -2700.000 1680.000
+ 240.000 -2700.000 6480.000 -4200.000
+ -140.000 1680.000 -4200.000 2800.000
+
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000
+
+Tough matrix (5,5) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000
+ 0.500000 0.333333 0.250000 0.200000 0.166667
+ 0.333333 0.250000 0.200000 0.166667 0.142857
+ 0.250000 0.200000 0.166667 0.142857 0.125000
+ 0.200000 0.166667 0.142857 0.125000 0.111111
+Condition number for 5 is 1.567/3.288e-06 = 4.766e+05
+Inverse matrix (5,5) :
+ 25.000 -300.000 1050.000 -1400.000 630.000
+ -300.000 4800.000 -18900.000 26880.000 -12600.000
+ 1050.000 -18900.000 79380.000 -117600.000 56700.000
+ -1400.000 26880.000 -117600.000 179200.000 -88200.000
+ 630.000 -12600.000 56700.000 -88200.000 44100.000
+
+Unity matrix (5,5) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
+
+Tough matrix (6,6) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+Condition number for 6 is 1.619/1.083e-07 = 1.495e+07
+Inverse matrix (6,6) :
+ 36.000 -630.000 3360.000 -7560.000 7560.000 -2772.000
+ -630.000 14700.000 -88200.000 211680.000 -220500.000 83160.000
+ 3360.000 -88200.000 564480.000 -1411200.000 1512000.000 -582120.000
+ -7560.000 211680.000 -1411200.000 3628800.000 -3969000.000 1552320.000
+ 7560.000 -220500.000 1512000.000 -3969000.000 4410000.000 -1746360.000
+ -2772.000 83160.000 -582120.000 1552320.000 -1746360.000 698544.000
+
+Unity matrix (6,6) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
+
+Tough matrix (7,7) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333
+ 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923
+Condition number for 7 is 1.661/3.494e-09 = 4.754e+08
+Inverse matrix (7,7) :
+ 49.000 -1176.000 8820.000 -29400.000 48510.000 -38808.000 12012.000
+ -1176.000 37632.000 -317520.000 1128960.001 -1940400.001 1596672.001 -504504.000
+ 8820.000 -317520.000 2857680.002 -10584000.008 18711000.014 -15717240.012 5045040.004
+ -29400.000 1128960.001 -10584000.007 40320000.028 -72765000.051 62092800.043 -20180160.014
+ 48510.000 -1940400.001 18711000.013 -72765000.051 133402500.091 -115259760.077 37837800.025
+ -38808.000 1596672.001 -15717240.011 62092800.043 -115259760.077 100590336.065 -33297264.021
+ 12012.000 -504504.000 5045040.004 -20180160.014 37837800.025 -33297264.021 11099088.007
+
+Unity matrix (7,7) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000002 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.999999998 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000001 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
+
+Tough matrix (8,8) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923
+ 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429
+ 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667
+Condition number for 8 is 1.696/1.112e-10 = 1.526e+10
+Inverse matrix (8,8) :
+ 64.000 -2016.000 20159.999 -92399.996 221759.988 -288287.982 192191.987 -51479.996
+ -2016.000 84671.997 -952559.955 4656959.750 -11642399.317 15567551.020 -10594583.295 2882879.799
+ 20159.999 -952559.955 11430719.391 -58211996.637 149687990.800 -204324106.814 141261110.516 -38918877.300
+ -92399.995 4656959.749 -58211996.627 304919981.374 -800414949.056 1109908726.996 -776936107.502 216215985.058
+ 221759.988 -11642399.310 149687990.751 -800414948.938 2134439860.371 -2996753559.942 2118916656.155 -594593959.063
+ -288287.982 15567551.009 -204324106.719 1109908726.693 -2996753559.575 4249941408.870 -3030050817.570 856215301.257
+ 192191.987 -10594583.286 141261110.434 -776936107.205 2118916655.675 -3030050817.261 2175421099.379 -618377717.711
+ -51479.996 2882879.797 -38918877.273 216215984.955 -594593958.876 856215301.096 -618377717.658 176679347.953
+
+Unity matrix (8,8) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000001 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.999999986 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000076 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.999999767 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000193 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.999999830 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000037
+
+Tough matrix (9,9) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429
+ 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667
+ 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500
+ 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824
+Condition number for 9 is 1.726/3.500e-12 = 4.932e+11
+Inverse matrix (9,9) :
+ 81.000 -3239.993 41579.888 -249479.194 810807.026 -1513505.899 1621612.966 -926635.737 218788.944
+ -3239.993 172799.541 -2494792.162 15966663.660 -54053792.200 103783253.763 -113512908.603 65894102.215 -15752806.217
+ 41579.888 -2494792.152 38419786.031 -256131837.198 891887449.296 -1748099077.528 1942332004.893 -1141615392.946 275674139.631
+ -249479.191 15966663.535 -256131836.277 1756332274.714 -6243211462.615 12430926186.854 -13984790508.882 8302657819.761 -2021610537.282
+ 810807.012 -54053791.583 891887443.222 -6243211443.389 22544928265.312 -45450572110.925 51648374250.600 -30918753036.712 7581040064.187
+ -1513505.867 103783252.240 -1748099060.647 12430926115.597 -45450571993.519 92553889302.385 -106051328806.066 63930469973.817 -15768564281.271
+ 1621612.925 -113512906.601 1942331981.233 -13984790396.514 51648374003.730 -106051328577.279 122366918173.139 -74205011895.876 18396659259.861
+ -926635.711 65894100.878 -1141615376.477 8302657736.326 -30918752830.485 63930469718.981 -74205011761.902 45229722630.151 -11263261258.501
+ 218788.937 -15752805.859 275674135.101 -2021610513.380 7581040001.165 -15768564193.658 18396659198.446 -11263261241.397 2815815419.837
+
+Unity matrix (9,9) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000024 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.999999631 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000002344 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.999992238 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000014129 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.999984200 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000008464 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.999998083
+
+Tough matrix (10,10) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667
+ 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500
+ 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824
+ 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556
+ 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632
+Condition number for 10 is 1.752/1.093e-13 = 1.603e+13
+Inverse matrix (10,10) :
+ 99.997 -4949.707 79193.761 -600543.309 2522249.714 -6305557.282 9608381.866 -8750423.201 4375182.376 -923644.213
+ -4949.707 326674.691 -5880061.388 47562626.844 -208084574.272 535070510.591 -832326496.844 770039271.684 -389830498.337 83128486.534
+ 79193.757 -5880061.244 112896056.251 -951246268.227 4280580454.735 -11236462967.472 17756304679.253 -16632881349.689 8505421737.697 -1828835230.750
+ -600543.260 47562624.662 -951246249.502 8244090837.638 -37871129229.533 100989315032.345 -161582411925.166 152888338788.438 -78832870765.429 17069191630.685
+ 2522249.451 -208084560.984 4280580303.646 -37871128666.871 176731486747.884 -477174003968.651 771188922386.036 -735776047744.169 382037049295.216 -83212557115.210
+ -6305556.495 535070468.489 -11236462432.376 100989312392.545 -477173998747.507 1301382474919.178 -2120769824287.527 2037535754626.719 -1064247971726.603 232995733611.894
+ 9608380.500 -832326421.254 17756303660.838 -161582406308.650 771188907669.631 -2120769807361.491 3480238026361.496 -3363553960231.284 1765865954691.027 -388327026322.139
+ -8750421.830 770039194.115 -16632880267.564 152888332461.958 -735776029213.981 2037535726396.181 -3363553940731.962 3267454784762.863 -1723072937728.113 380402656018.566
+ 4375181.638 -389830455.904 8505421132.338 -78832867101.041 382037037918.744 -1064247952356.138 1765865936973.845 -1723072930493.453 912216089949.520 -202089218544.761
+ -923644.048 83128476.933 -1828835091.693 17069190769.985 -83212554349.059 232995728621.076 -388327021222.404 380402653262.438 -202089217932.641 44908774796.061
+
+Unity matrix (10,10) ? :
+ 0.999999994 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000417 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.999992379 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000061328 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.999736980 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.001357038 0.001071131 0.000000000 0.000000000 0.000000000 1.000619418 0.000000000 0.000000000 0.000000000 0.000000000
+ -0.002263509 -0.001870874 -0.001568587 -0.001344139 -0.001220252 -0.001069790 0.999023438 0.000000000 0.000000000 0.000000000
+ 0.002188697 0.001777221 0.001475800 0.001289524 0.001170693 0.001008509 0.000000000 1.000865851 0.000000000 0.000000000
+ -0.001179863 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.999576132 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000087657
+
+Tough matrix (11,11) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500
+ 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824
+ 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556
+ 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632
+ 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632 0.050000
+ 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632 0.050000 0.047619
+Condition number for 11 is 1.775/3.397e-15 = 5.225e+14
+Inverse matrix (11,11) :
+ 120.918 -7251.341 141344.583 -1318791.866 6921826.357 -22144939.426 44808703.507 -57601856.145 45595041.343 -20261954.393 3867767.409
+ -7251.348 579891.018 -12717640.876 126581398.196 -692108018.626 2277654610.002 -4704922045.778 6144474303.965 -4924670946.271 2210650350.983 -425515965.581
+ 141344.934 -12717658.088 297531117.436 -3084989021.460 17350658603.300 -58291436492.874 122327946926.697 -161758673696.484 130959653525.738 -59278277722.593 11490201535.659
+ -1318797.410 126581759.837 -3084993411.181 32902828534.750 -188916342274.916 644783194472.133 -1370071435650.341 1830044050807.565 -1493983210227.210 680987431589.465 -132787265627.683
+ 6921867.875 -692111062.005 17350707817.054 -188916600130.934 1101948977483.511 -3808147548039.201 8173708734626.625 -11009082749499.889 9050447121298.596 -4149999949071.226 813379637981.481
+ -22145111.836 2277668078.169 -58291681340.856 644784904102.342 -3808152332345.138 13293590594832.832 -28771404248627.789 39023609170449.961 -32272354633896.629 14874289078793.883 -2928338448240.569
+ 44809130.132 -4704956734.846 122328619234.697 -1370076714550.041 8173728425085.154 -28771436854136.574 62706793930523.758 -85558885972179.516 71120637944732.594 -32926140761280.770 6507740042864.710
+ -57602500.227 6144528136.988 -161759760003.480 1830053145837.583 -11009120904374.123 39023693393025.688 -85558972572396.781 117339252834663.797 -97974567403313.016 45536822449054.438 -9031530012227.531
+ 45595622.992 -4924720547.559 130960682635.824 -1493992182729.389 9050487262249.521 -32272454297850.828 71120774560686.375 -97974655585559.828 82127370348982.031 -38304205135179.438 7620630798625.215
+ -20262242.995 2210675341.397 -59278806840.369 680992175413.726 -4150022051778.698 14874347605726.658 -32926231004636.465 45536900107163.156 -38304235752591.375 17920543158322.527 -3575224279567.974
+ 3867827.911 -425521267.942 11490315550.758 -132788308901.706 813384636892.569 -2928352234768.504 6507762715101.809 -9031551959366.578 7620642334859.467 -3575226818826.558 715064844882.424
+
+Unity matrix (11,11) ? :
+ 0.999999941 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000005304 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.999883013 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.001940826 0.001595158 0.001339272 1.001178451 0.001063279 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ -0.011741668 -0.009662576 -0.008326065 -0.007290386 0.993537150 -0.005775452 -0.005282000 -0.004847173 -0.004503720 -0.004178651 -0.003919300
+ 0.042323261 0.034457713 0.029589549 0.025873080 0.023084164 1.020477295 0.018944830 0.017346412 0.016031891 0.014731869 0.014166445
+ -0.092712641 -0.076385081 -0.065326780 -0.056910574 -0.050591946 -0.045227051 0.958620042 -0.037678748 -0.035547912 -0.032245129 -0.031267196
+ 0.125410020 0.103069127 0.087852061 0.076922655 0.068196833 0.060913086 0.055786312 1.051216006 0.047547072 0.043395340 0.041414440
+ -0.107213974 -0.088007271 -0.074871659 -0.066078961 -0.058702528 -0.052246094 -0.047943950 -0.043717891 0.959495366 -0.037332356 -0.035528064
+ 0.049251884 0.040930450 0.034859270 0.030483797 0.027265683 0.024078369 0.022140726 0.020156011 0.018775538 1.017171472 0.016579047
+ -0.009847745 -0.008182019 -0.006872792 -0.006067116 -0.005423635 -0.004844666 -0.004439995 -0.004027981 -0.003775425 -0.003451079 0.996716926
+
+Tough matrix (12,12) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824
+ 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556
+ 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632
+ 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632 0.050000
+ 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632 0.050000 0.047619
+ 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632 0.050000 0.047619 0.045455
+ 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632 0.050000 0.047619 0.045455 0.043478
+Condition number for 12 is 1.795/1.093e-16 = 1.642e+16
+Inverse matrix (12,12) :
+ 142.354 -10088.406 233736.342 -2614367.646 16651471.989 -65781668.595 168561107.846 -285083498.955 315916371.354 -220621290.980 88063716.362 -15315642.608
+ -10088.847 955426.263 -24947304.281 298073487.260 -1979996601.688 8053738079.627 -21085714800.679 36255643992.605 -40706421675.201 28731708965.391 -11570320771.342 2027292874.123
+ 233761.707 -24948762.982 695848712.893 -8670450721.644 59296922096.191 -246417274674.997 655846962589.952 -1142473212554.553 1296363838368.686 -923063645013.402 374474177872.780 -66028507584.869
+ -2614845.018 298110085.703 -8670976926.313 111233028700.413 -777168378000.420 3283049349023.791 -8852112049717.578 15583529484537.090 -17837545832749.488 12794664751735.895 -5223254097130.730 925980069936.351
+ 16655793.902 -1980369321.202 59304066615.182 -777213179126.735 5519997948030.292 -23622765025341.727 64367346537851.984 -114304215569529.703 131798275661232.734 -95129403951987.906 39045175498725.500 -6954545069586.677
+ -65803767.705 8055770752.630 -246461105401.198 3283415793680.815 -23624008656470.262 102166216422502.531 -280811402098816.625 502323478544647.625 -582821556478676.125 422935587220813.062 -174405788979085.281 31192561879079.137
+ 168630210.300 -21092335141.844 655999225389.405 -8853544091313.152 64373826335674.391 -280824650774818.062 777521855408352.125 -1399531776918777.250 1632542892031418.750 -1190235950339551.750 492837947108350.875 -88465772208497.156
+ -285220527.104 36269146123.152 -1142796673997.592 15586774345406.561 -114320732944682.547 502368506270653.188 -1399590425497179.500 2532791584553459.500 -2968308537318211.500 2172998277192629.750 -903043454257745.000 162625010934873.875
+ 316089386.121 -40723823956.347 1296792626066.416 -17842026372422.047 131822602893999.281 -582896162713016.875 1632672455888569.250 -2968418617461370.500 3493137682709986.000 -2566509298111183.500 1070034943884840.000 -193258204501938.969
+ -220756057.476 28745478637.368 -923409981910.424 12798387031532.287 -95150455814569.000 423004451481677.438 -1190370489520804.250 2173150685031871.500 -2566593468180949.000 1891862023422386.000 -791051784646344.250 143245722755521.688
+ 88122744.546 -11576427072.274 374630197475.406 -5224965821104.649 39055132793973.523 -174439717646845.094 492908651258266.375 -903133559766430.000 1070101293216320.875 -791074749471304.500 331641842399038.438 -60197151021005.555
+ -15326763.747 2028454903.950 -66058568445.945 926315101899.385 -6956534558358.752 31199534491455.625 -88480907736441.922 162645585407321.344 -193275248168167.594 143253588238711.625 -60198701034422.289 10950429349418.393
+
+Unity matrix (12,12) ? :
+ 0.999999577 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000045652 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ -0.001750005 -0.001463512 0.998740867 -0.001107600 -0.001000881 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.024013050 0.019998834 0.017315052 1.015230466 0.013839722 0.012283467 0.011265758 0.010376886 0.009575933 0.008870538 0.008435812 0.007886350
+ -0.177824259 -0.149443746 -0.128486305 -0.112591237 0.898498535 -0.091503978 -0.083352566 -0.077083141 -0.071589112 -0.065821111 -0.062686324 -0.058216482
+ 0.792173386 0.653040409 0.561748505 0.496374130 0.450195312 1.401743889 0.369505525 0.339045882 0.315320969 0.289863586 0.274386883 0.258178234
+ -2.176348686 -1.813328266 -1.563265324 -1.379019737 -1.234375000 -1.118494034 -0.017631054 -0.930971146 -0.868800163 -0.809755087 -0.761697292 -0.714970589
+ 3.954977036 3.312744141 2.822178841 2.515995026 2.246093750 2.032036781 1.859307289 2.697098732 1.602404594 1.473575115 1.392161846 1.303132534
+ -4.683350563 -3.920145988 -3.375349998 -2.983154297 -2.695312500 -2.418499947 -2.208822250 -2.014443398 -0.876708031 -1.720285416 -1.656760216 -1.535560131
+ 3.462227821 2.876663208 2.471529961 2.178773880 1.958984375 1.766427040 1.621628761 1.485858440 1.379694462 2.279197216 1.209697723 1.131748199
+ -1.431362152 -1.196696281 -1.023966074 -0.911272526 -0.814941406 -0.731913090 -0.672503233 -0.615084171 -0.573799849 -0.528998137 0.495307684 -0.469781399
+ 0.260366023 0.216768503 0.186427712 0.164719701 0.147338867 0.133693933 0.122063696 0.111501753 0.104717880 0.096656561 0.091316849 1.086019814
+
+
+ -------------- Matrix Test 3 ---------------------------------
+Read and print matrix from file
+File ./data/anotsym.dat (0) Matrix(4,4) :
+ 5.000 1.450 1.320 -1.100
+ 0.450 4.200 1.210 1.110
+ 0.320 0.210 3.300 1.900
+ -0.100 0.110 0.900 6.600
+Condition number is 2.507/7.390e+00 = 0.339
+Inverse matrix (4,4) :
+ 0.213 -0.071 -0.078 0.070
+ -0.018 0.249 -0.078 -0.022
+ -0.023 -0.006 0.342 -0.101
+ 0.007 -0.004 -0.047 0.167
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 -0.000000000 -0.000000000
+ -0.000000000 1.000000000 -0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 -0.000000000
+ -0.000000000 0.000000000 -0.000000000 1.000000000
+
+File ./data/cov.dat (0) Matrix(15,15) :
+ 21.300 10.100 -21.300 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800
+ 10.100 4.900 -10.100 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700
+ -21.300 -10.100 0.117 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 15.300 7.320 -15.300 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800
+ 3.700 1.780 -3.700 7.320 3.550 -7.320 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700
+ -7.800 -3.700 0.043 -15.300 -7.320 0.085 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 39.500 18.900 -39.500 7.800 3.700 -7.800 7.800 3.700 -7.800
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 18.900 9.130 -18.900 3.700 1.780 -3.700 3.700 1.780 -3.700
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -39.500 -18.900 0.218 -7.800 -3.700 0.043 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 31.600 15.000 -31.600 7.800 3.700 -7.800
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 15.000 7.190 -15.000 3.700 1.780 -3.700
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -31.600 -15.000 0.172 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 32.200 15.300 -32.200
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 15.300 7.370 -15.300
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -32.200 -15.300 0.176
+Condition number is 114.643/4.147e-02 = 2764.407
+Inverse matrix (15,15) :
+ 2.415 -5.087 -0.062 -0.801 1.671 0.022 -0.291 0.610 0.005 -0.390 0.826 0.007 -0.233 0.493 0.007
+ -5.087 10.717 0.000 1.652 -3.446 0.000 0.609 -1.276 0.000 0.833 -1.763 0.000 0.496 -1.050 0.000
+ -0.062 -0.000 -0.062 0.022 0.000 0.022 0.005 0.000 0.005 0.007 0.000 0.007 0.007 0.000 0.007
+ -0.801 1.652 0.022 7.100 -14.778 -0.094 -1.133 2.348 0.009 -1.516 3.171 0.013 -0.911 1.895 0.012
+ 1.671 -3.446 0.000 -14.778 30.755 0.000 2.339 -4.846 0.000 3.158 -6.607 0.000 1.896 -3.944 0.000
+ 0.022 -0.000 0.022 -0.094 0.000 -0.094 0.009 0.000 0.009 0.013 -0.000 0.013 0.012 0.000 0.012
+ -0.291 0.609 0.005 -1.133 2.339 0.009 3.316 -6.917 -0.029 -0.556 1.168 0.003 -0.333 0.697 0.003
+ 0.610 -1.276 0.000 2.348 -4.846 0.000 -6.917 14.431 0.000 1.163 -2.444 0.000 0.696 -1.458 0.000
+ 0.005 0.000 0.005 0.009 0.000 0.009 -0.029 -0.000 -0.029 0.003 0.000 0.003 0.003 0.000 0.003
+ -0.390 0.833 0.007 -1.516 3.158 0.013 -0.556 1.163 0.003 4.268 -8.985 -0.038 -0.450 0.952 0.004
+ 0.826 -1.763 0.000 3.171 -6.607 0.000 1.168 -2.444 0.000 -8.985 18.912 0.000 0.950 -2.010 0.000
+ 0.007 -0.000 0.007 0.013 -0.000 0.013 0.003 -0.000 0.003 -0.038 0.000 -0.038 0.004 -0.000 0.004
+ -0.233 0.496 0.007 -0.911 1.896 0.012 -0.333 0.696 0.003 -0.450 0.950 0.004 2.735 -5.751 -0.037
+ 0.493 -1.050 0.000 1.895 -3.944 0.000 0.697 -1.458 0.000 0.952 -2.010 0.000 -5.751 12.091 0.000
+ 0.007 0.000 0.007 0.012 0.000 0.012 0.003 0.000 0.003 0.004 -0.000 0.004 -0.037 -0.000 -0.037
+Unity matrix (15,15) ? :
+ 1.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000
+ -0.000000000 1.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000
+ -0.000000000 -0.000000000 1.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000
+ -0.000000000 -0.000000000 0.000000000 1.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000
+ -0.000000000 -0.000000000 0.000000000 -0.000000000 1.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000
+ 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 1.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000
+ 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 1.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000
+ -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 1.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000
+ -0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 0.000000000 -0.000000000 1.000000000 -0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000
+ -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 1.000000000 -0.000000000 -0.000000000 -0.000000000 0.000000000
+ -0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 1.000000000 -0.000000000 -0.000000000 -0.000000000
+ -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 1.000000000 -0.000000000 0.000000000
+ 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 1.000000000 -0.000000000
+ -0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 1.000000000
+
+File ./data/dia.dat (0) Matrix(4,4) :
+ 8.824 0.000 0.000 0.000
+ 0.000 2.283 0.000 0.000
+ 0.000 0.000 1.300 0.000
+ 0.000 0.000 0.000 -1.082
+Condition number is 8.824/1.082e+00 = 8.155
+Inverse matrix (4,4) :
+ 0.113 0.000 0.000 0.000
+ 0.000 0.438 0.000 0.000
+ 0.000 0.000 0.769 0.000
+ -0.000 -0.000 -0.000 -0.924
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000
+
+File ./data/lt.dat (0) Matrix(4,4) :
+ 10.882 0.000 0.000 0.000
+ 8.284 9.763 0.000 0.000
+ 5.273 6.876 7.117 0.000
+ 1.991 2.002 3.765 4.372
+Condition number is 18.127/3.558e+00 = 5.094
+Inverse matrix (4,4) :
+ 0.092 0.000 0.000 0.000
+ -0.078 0.102 0.000 0.000
+ 0.007 -0.099 0.141 0.000
+ -0.012 0.038 -0.121 0.229
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000
+ -0.000000000 -0.000000000 1.000000000 0.000000000
+ 0.000000000 -0.000000000 -0.000000000 1.000000000
+
+File ./data/partials.dat (0) Matrix(15,13) :
+ -1900.000 -37.000 2000.000 -3800.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000
+ -1800.000 -6.200 2200.000 -3900.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000
+ 2600.000 570.000 -940.000 -2.500 0.000 110.000 0.310 -200.000 0.000 64.000 -190.000 -170.000 520.000
+ 2000.000 -2100.000 -1700.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000 0.000 -0.000
+ 30.000 200.000 2900.000 0.000 0.000 1800.000 89.000 -5100.000 -250.000 0.000 -0.000 -0.000 0.000
+ -8.200 -0.340 4.200 0.000 0.000 1.200 0.000 -3.800 -0.150 31.000 0.410 82.000 -0.000
+ 370.000 230.000 -96.000 0.000 0.000 0.000 0.000 -32.000 -0.730 -61.000 7.800 820.000 33.000
+ -1500.000 -280.000 140.000 0.000 0.000 0.000 0.000 680.000 33.000 1200.000 57.000 -3100.000 -150.000
+ -0.170 -0.920 0.170 0.000 0.000 0.000 0.000 0.430 0.000 0.580 -0.054 -2.300 -0.095
+ 17.000 -55.000 1.500 0.000 0.000 0.000 0.000 0.000 0.000 -33.000 -0.820 -63.000 8.100
+ 100.000 600.000 -100.000 0.000 0.000 0.000 0.000 0.000 0.000 730.000 35.000 1200.000 61.000
+ -0.380 -0.290 0.150 0.000 0.000 0.000 0.000 0.000 0.000 0.460 0.000 0.610 -0.057
+ -26.000 -19.000 10.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -30.000 -0.270
+ 210.000 160.000 -83.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 640.000 31.000
+ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.410 0.000
+ ATA Matrix(13,13) :
+ 20052932.413 -2032277.945 -13790219.026 14233500.000 703000.000 157990.160 14876.000 2831891.087 99641.130 -19553985.473 -1402431.293 23634836.759 2526964.758
+ -2032277.945 5296594.486 3391725.872 163355.000 8208.000 613799.592 6006.700 -5737827.904 -246554.089 10745533.793 419734.210 2006429.059 397909.734
+ -13790219.026 3391725.872 21069424.941 -16177650.000 -798000.000 5271305.040 248118.600 -18455943.887 -847670.550 17530776.868 981131.683 -21946090.400 -1571631.575
+ 14233500.000 163355.000 -16177650.000 29650006.250 1463000.000 -275.000 -0.775 701200.000 -43890.000 -16170160.000 -684825.000 39270425.000 1923700.000
+ 703000.000 8208.000 -798000.000 1463000.000 72200.000 0.000 0.000 34580.000 -2166.000 -798000.000 -33820.000 1938000.000 95000.000
+ 157990.160 613799.592 5271305.040 -275.000 0.000 3260382.440 159715.400 -9393104.560 -458099.180 471177.200 1850.492 -18601.600 57200.000
+ 14876.000 6006.700 248118.600 -0.775 0.000 159715.400 7953.586 -441992.000 -21742.700 -29050.160 -1483.900 -52.700 161.200
+ 2831891.087 -5737827.904 -18455943.887 701200.000 34580.000 -9393104.560 -441992.000 30940000.625 1483326.530 -10287165.551 -464689.181 -1172352.589 -161556.041
+ 99641.130 -246554.089 -847670.550 -43890.000 -2166.000 -458099.180 -21742.700 1483326.530 71575.535 -390320.120 -19360.156 -161050.900 -7824.090
+ -19553985.473 10745533.793 17530776.868 -16170160.000 -798000.000 471177.200 -29050.160 -10287165.551 -390320.120 36812767.548 1730153.939 -24320280.053 -1154470.381
+ -1402431.293 419734.210 981131.683 -684825.000 -33820.000 1850.492 -1483.900 -464689.181 -19360.156 1730153.939 118977.683 -1003718.596 -149464.237
+ 23634836.759 2006429.059 -21946090.400 39270425.000 1938000.000 -18601.600 -52.700 -1172352.589 -161050.900 -24320280.053 -1003718.596 64192498.830 3046197.984
+ 2526964.758 397909.734 -1571631.575 1923700.000 95000.000 57200.000 161.200 -161556.041 -7824.090 -1154470.381 -149464.237 3046197.984 423736.695
+Condition number is 127773101.995/5.119e-03 = 24961120943.142
+Inverse matrix (13,13) :
+ 0.254 0.103 0.854 1.994 -34.178 -0.438 5.837 0.898 -9.379 0.060 -1.381 -0.003 0.094
+ 0.103 0.045 0.359 0.835 -14.304 -0.197 2.730 0.364 -3.656 0.023 -0.584 -0.001 0.049
+ 0.854 0.359 2.922 6.808 -116.626 -1.579 21.649 2.998 -30.543 0.200 -4.751 -0.009 0.361
+ 1.994 0.835 6.808 15.867 -271.840 -3.657 49.977 7.006 -71.591 0.468 -11.062 -0.021 0.831
+ -34.178 -14.304 -116.626 -271.840 4657.442 62.395 -850.930 -120.214 1230.266 -8.018 189.411 0.355 -14.177
+ -0.438 -0.197 -1.579 -3.657 62.395 1.178 -18.178 -1.403 12.104 -0.104 2.682 0.001 -0.250
+ 5.837 2.730 21.649 49.977 -850.930 -18.178 290.113 17.780 -136.284 1.378 -37.500 0.014 3.840
+ 0.898 0.364 2.998 7.006 -120.214 -1.403 17.780 3.244 -34.771 0.212 -4.794 -0.012 0.316
+ -9.379 -3.656 -30.543 -71.591 1230.266 12.104 -136.284 -34.771 389.620 -2.232 48.010 0.156 -2.638
+ 0.060 0.023 0.200 0.468 -8.018 -0.104 1.378 0.212 -2.232 0.015 -0.325 -0.001 0.018
+ -1.381 -0.584 -4.751 -11.062 189.411 2.682 -37.500 -4.794 48.010 -0.325 7.785 0.012 -0.596
+ -0.003 -0.001 -0.009 -0.021 0.355 0.001 0.014 -0.012 0.156 -0.001 0.012 0.000 -0.000
+ 0.094 0.049 0.361 0.831 -14.177 -0.250 3.840 0.316 -2.638 0.018 -0.596 -0.000 0.083
+Unity matrix (13,13) ? :
+ 0.999999990 0.000000001 0.000000011 -0.000000013 -0.000000001 0.000000002 -0.000000000 -0.000000001 0.000000000 0.000000009 0.000000001 -0.000000016 -0.000000001
+ -0.000000003 1.000000000 0.000000002 -0.000000002 -0.000000000 0.000000001 0.000000000 -0.000000002 0.000000000 0.000000002 0.000000000 -0.000000004 -0.000000000
+ -0.000000023 -0.000000001 1.000000020 -0.000000018 -0.000000002 0.000000004 0.000000000 -0.000000013 0.000000000 0.000000028 0.000000001 -0.000000053 -0.000000003
+ -0.000000027 0.000000000 0.000000019 0.999999957 -0.000000001 0.000000005 0.000000000 -0.000000027 0.000000001 0.000000025 0.000000001 -0.000000094 -0.000000004
+ -0.000000006 0.000000160 -0.000000042 -0.000000568 1.000000002 -0.000000026 0.000000010 -0.000000384 -0.000000050 -0.000000217 -0.000000017 -0.000000280 0.000000086
+ 0.000000018 -0.000000001 -0.000000017 0.000000029 0.000000002 0.999999997 -0.000000000 0.000000009 0.000000000 -0.000000021 -0.000000001 0.000000035 0.000000003
+ -0.000000078 0.000000010 0.000000073 -0.000000091 -0.000000003 0.000000018 1.000000000 0.000000059 0.000000006 0.000000075 0.000000006 -0.000000213 -0.000000008
+ -0.000000025 0.000000001 0.000000026 -0.000000025 -0.000000003 0.000000005 0.000000000 1.000000003 0.000000000 0.000000028 0.000000001 -0.000000046 -0.000000002
+ 0.000000395 0.000000012 -0.000000375 0.000000736 0.000000045 0.000000024 -0.000000000 0.000000049 0.999999988 -0.000000353 -0.000000020 0.000001082 0.000000061
+ -0.000000002 -0.000000000 0.000000001 -0.000000003 -0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 1.000000001 0.000000000 -0.000000005 -0.000000000
+ 0.000000039 -0.000000005 -0.000000049 0.000000062 0.000000004 -0.000000009 -0.000000000 0.000000019 -0.000000001 -0.000000042 0.999999998 0.000000097 0.000000005
+ 0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 -0.000000000 -0.000000000 1.000000000 0.000000000
+ -0.000000003 0.000000000 0.000000002 -0.000000004 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000002 0.000000000 -0.000000008 1.000000000
+
+File ./data/squ.dat (0) Matrix(5,5) :
+ 1.000 1.345 2.827 4.201 -0.428
+ 2.188 2.000 0.823 8.291 -0.723
+ 0.488 1.345 3.000 0.831 -0.320
+ -0.009 6.205 -0.948 4.000 1.920
+ 2.835 -1.283 -0.873 2.834 5.831
+Condition number is 12.056/3.223e+00 = 3.740
+Inverse matrix (5,5) :
+ -1.847 0.832 1.490 -0.169 0.105
+ -0.507 0.166 0.459 0.112 -0.028
+ 0.415 -0.204 -0.005 -0.021 0.012
+ 0.616 -0.147 -0.535 0.028 -0.011
+ 0.549 -0.327 -0.364 0.090 0.122
+Unity matrix (5,5) ? :
+ 1.000000000 0.000000000 -0.000000000 -0.000000000 -0.000000000
+ -0.000000000 1.000000000 -0.000000000 -0.000000000 0.000000000
+ -0.000000000 0.000000000 1.000000000 -0.000000000 -0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000
+ -0.000000000 -0.000000000 -0.000000000 -0.000000000 1.000000000
+
+File ./data/sym.dat (0) Matrix(4,4) :
+ 10.000 1.345 2.827 4.201
+ 1.345 9.823 8.291 -0.723
+ 2.827 8.291 13.000 0.831
+ 4.201 -0.723 0.831 9.009
+Condition number is 20.887/2.780e+00 = 7.513
+Inverse matrix (4,4) :
+ 0.132 -0.003 -0.023 -0.060
+ -0.003 0.229 -0.148 0.034
+ -0.023 -0.148 0.177 -0.018
+ -0.060 0.034 -0.018 0.143
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 -0.000000000 -0.000000000
+ -0.000000000 1.000000000 -0.000000000 0.000000000
+ -0.000000000 -0.000000000 1.000000000 0.000000000
+ -0.000000000 -0.000000000 -0.000000000 1.000000000
+
+File ./data/tmatrix.dat (0) Matrix(4,5) :
+ 1.000 1.345 2.827 4.201 -0.428
+ 2.188 2.000 0.823 8.291 -0.723
+ 0.488 1.345 3.000 0.831 -0.320
+ -0.009 6.205 -0.948 4.000 1.920
+ ATA Matrix(5,5) :
+ 6.026 6.322 6.101 22.711 -2.183
+ 6.322 46.120 3.602 48.170 9.461
+ 6.101 3.602 18.569 17.404 -4.586
+ 22.711 48.170 17.404 103.080 -0.379
+ -2.183 9.461 -4.586 -0.379 4.495
+Condition number is 137.365/8.060e-16 = 170417882939630016.000
+Inverse matrix (5,5) :
+ 569690437243218.375 -153491934607408.938 63711765288702.539 -62123530101840.875 659602886497507.750
+ -153491934607410.125 41355396631781.578 -17165887773611.408 16737968897838.145 -177717083704378.906
+ 63711765288703.070 -17165887773611.418 7125253946416.606 -6947632450892.240 73767192743556.812
+ -62123530101840.398 16737968897837.887 -6947632450892.129 6774438782911.870 -71928291394319.719
+ 659602886497510.875 -177717083704378.375 73767192743556.547 -71928291394320.609 763705934719958.250
+Unity matrix (5,5) ? :
+ 1.337524414 1.358398438 0.705810547 1.383651733 0.194580078
+ -0.167602539 0.597290039 -0.252258301 -0.103622437 0.016662598
+ 0.041564941 0.117553711 1.005187988 -0.043363571 0.007507324
+ 0.024551392 -0.108520508 0.027740479 1.060203552 -0.056213379
+ 0.194580078 1.710449219 0.536376953 0.343444824 1.187255859
+
+File ./data/ut.dat (0) Matrix(4,4) :
+ 1.834 2.837 3.223 4.808
+ 0.000 5.837 6.774 7.083
+ 0.000 0.000 8.237 9.118
+ 0.000 0.000 0.000 10.838
+Condition number is 19.305/4.345e+00 = 4.443
+Inverse matrix (4,4) :
+ 0.545 -0.265 0.005 -0.073
+ 0.000 0.171 -0.141 0.007
+ 0.000 0.000 0.121 -0.102
+ 0.000 0.000 0.000 0.092
+Unity matrix (4,4) ? :
+ 1.000000000 -0.000000000 -0.000000000 -0.000000000
+ 0.000000000 1.000000000 0.000000000 -0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000
+
+
+ -------------- Matrix Test 4 ---------------------------------
+Matrix A(7,7) :
+ 8.317 0.212 5.740 4.317 -1.109 0.174 1.960
+ 6.212 3.292 1.574 1.028 7.438 5.408 6.592
+ 2.574 1.574 1.911 1.039 7.236 -9.503 9.440
+ 5.317 1.028 1.390 7.126 6.783 -6.527 4.428
+ 2.080 3.370 8.544 4.512 0.356 -6.589 -4.531
+ -9.133 -2.077 8.930 8.538 -9.509 -6.375 5.084
+ -2.755 -2.739 9.216 5.226 -0.109 -7.239 4.296
+Vector b(7) :
+ 14.289 9.284 -1.128 8.389 -6.929 4.664 7.590
+
+Now solve using SVD
+Singular Values (7) :
+ 26.619 21.861 12.423 10.365 5.533 4.560 3.420
+Matrix U(7,7) :
+ 0.203 0.207 -0.573 0.370 -0.368 0.556 0.073
+ -0.006 0.525 -0.066 0.603 0.476 -0.355 0.063
+ 0.369 0.447 0.525 -0.221 0.127 0.419 0.384
+ 0.335 0.434 0.016 -0.184 -0.601 -0.518 -0.191
+ 0.342 0.002 -0.603 -0.511 0.401 -0.176 0.260
+ 0.578 -0.536 0.153 0.393 -0.100 -0.230 0.371
+ 0.509 -0.079 0.068 0.037 0.301 0.190 -0.776
+Matrix V(7,7) :
+ -0.060 0.620 -0.530 0.050 -0.371 0.430 0.078
+ -0.019 0.195 -0.163 -0.107 0.326 -0.342 0.837
+ 0.567 -0.092 -0.445 0.181 0.605 0.198 -0.184
+ 0.480 0.001 -0.236 0.186 -0.492 -0.655 -0.088
+ -0.029 0.684 0.191 -0.260 0.335 -0.357 -0.432
+ -0.575 -0.011 -0.245 0.697 0.188 -0.258 -0.148
+ 0.334 0.318 0.585 0.605 -0.015 0.188 0.208
+Difference (7,7) :
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+Determinant of A = 6.466e+06 -- Compare to 6.466e+06
+Solution via backsubstitution (7) :
+ 0.898 -2.119 0.214 1.096 0.064 0.849 0.631
+Solution residuals (7) :
+ 5.329e-15 -7.105e-15 7.994e-15 5.329e-15 -1.776e-15 8.882e-16 0.000e+00
+
+Sort in ascending order
+Singular Values (7) :
+ 3.420 4.560 5.533 10.365 12.423 21.861 26.619
+Matrix U(7,7) :
+ 0.073 0.556 -0.368 0.370 -0.573 0.207 0.203
+ 0.063 -0.355 0.476 0.603 -0.066 0.525 -0.006
+ 0.384 0.419 0.127 -0.221 0.525 0.447 0.369
+ -0.191 -0.518 -0.601 -0.184 0.016 0.434 0.335
+ 0.260 -0.176 0.401 -0.511 -0.603 0.002 0.342
+ 0.371 -0.230 -0.100 0.393 0.153 -0.536 0.578
+ -0.776 0.190 0.301 0.037 0.068 -0.079 0.509
+Matrix V(7,7) :
+ 0.078 0.430 -0.371 0.050 -0.530 0.620 -0.060
+ 0.837 -0.342 0.326 -0.107 -0.163 0.195 -0.019
+ -0.184 0.198 0.605 0.181 -0.445 -0.092 0.567
+ -0.088 -0.655 -0.492 0.186 -0.236 0.001 0.480
+ -0.432 -0.357 0.335 -0.260 0.191 0.684 -0.029
+ -0.148 -0.258 0.188 0.697 -0.245 -0.011 -0.575
+ 0.208 0.188 -0.015 0.605 0.585 0.318 0.334
+
+
+Now reduce A by one column and repeat
+Matrix A(7,6) :
+ 8.317 0.212 5.740 4.317 -1.109 0.174
+ 6.212 3.292 1.574 1.028 7.438 5.408
+ 2.574 1.574 1.911 1.039 7.236 -9.503
+ 5.317 1.028 1.390 7.126 6.783 -6.527
+ 2.080 3.370 8.544 4.512 0.356 -6.589
+ -9.133 -2.077 8.930 8.538 -9.509 -6.375
+ -2.755 -2.739 9.216 5.226 -0.109 -7.239
+Singular Values (6) :
+ 25.574 20.763 11.481 5.543 5.272 3.877
+Matrix U(7,7) :
+ -0.167 0.282 -0.672 0.423 0.354 -0.255 -0.267
+ 0.161 0.441 -0.395 -0.571 -0.474 0.086 -0.258
+ -0.216 0.433 0.570 -0.092 0.286 -0.014 -0.593
+ -0.238 0.512 0.172 0.530 -0.521 0.124 0.289
+ -0.416 0.238 -0.140 -0.311 0.430 0.530 0.434
+ -0.643 -0.468 -0.131 0.041 -0.323 0.287 -0.402
+ -0.506 0.020 0.053 -0.328 -0.088 -0.741 0.277
+Matrix V(6,6) :
+ 0.164 0.657 -0.427 0.440 0.391 -0.114
+ 0.048 0.214 -0.062 -0.293 0.150 0.916
+ -0.603 0.091 -0.437 -0.581 0.207 -0.239
+ -0.488 0.142 -0.257 0.388 -0.692 0.212
+ 0.165 0.679 0.373 -0.406 -0.406 -0.205
+ 0.585 -0.181 -0.646 -0.259 -0.371 -0.054
+Difference (7,6) :
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+
+ -------------- Matrix Test 5 ---------------------------------
+Matrix A(7,7) :
+ 8.317 0.212 5.740 4.317 -1.109 0.174 1.960
+ 6.212 3.292 1.574 1.028 7.438 5.408 6.592
+ 2.574 1.574 1.911 1.039 7.236 -9.503 9.440
+ 5.317 1.028 1.390 7.126 6.783 -6.527 4.428
+ 2.080 3.370 8.544 4.512 0.356 -6.589 -4.531
+ -9.133 -2.077 8.930 8.538 -9.509 -6.375 5.084
+ -2.755 -2.739 9.216 5.226 -0.109 -7.239 4.296
+Vector b(7) :
+ 14.289 9.284 -1.128 8.389 -6.929 4.664 7.590
+
+Now solve using LUD
+Matrix LU(7,7) :
+ 8.317 0.212 5.740 4.317 -1.109 0.174 1.960
+ 0.747 3.134 -2.713 -2.196 8.266 5.278 5.128
+ -1.098 -0.589 13.636 11.986 -5.862 -3.078 10.254
+ 0.639 0.285 -0.110 6.316 4.490 -8.482 2.848
+ -0.331 -0.852 0.646 -0.468 12.450 -4.667 4.023
+ 0.250 1.059 0.732 -0.477 -0.135 -14.647 -16.051
+ 0.309 0.481 0.106 -0.080 0.368 0.733 15.795
+Determinant of A = 6.466e+06
+Solution via backsubstitution (7) :
+ 0.898 -2.119 0.214 1.096 0.064 0.849 0.631
+Solution residuals (7) :
+ 0.000e+00 0.000e+00 1.110e-15 0.000e+00 1.776e-15 0.000e+00 0.000e+00
+
+ -------------- Matrix Test 6 ---------------------------------
+Matrix A(4,4) :
+ 10.000 1.345 2.827 4.201
+ 1.345 9.823 8.291 -0.723
+ 2.827 8.291 13.000 0.831
+ 4.201 -0.723 0.831 9.009
+Vector b(4) :
+ 1.000 2.000 3.000 4.000
+
+Now compute Cholesky
+
+Cholesky of A (U) (4,4) :
+ 2.753 0.050 0.679 1.400
+ 0.000 2.088 2.325 -0.241
+ 0.000 0.000 3.595 0.277
+ 0.000 0.000 0.000 3.001
+
+Cholesky of A (L) (4,4) :
+ 3.162 0.000 0.000 0.000
+ 0.425 3.105 0.000 0.000
+ 0.894 2.548 2.390 0.000
+ 1.328 -0.415 0.293 2.643
+
+Difference U*UT with matrix A(4,4) :
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 -1.776e-15 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 -1.776e-15
+
+Difference L*LT with matrix A(4,4) :
+ -1.776e-15 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 -1.110e-16
+ 0.000e+00 0.000e+00 -1.110e-16 0.000e+00
+
+Solution via backsubstitution (4) :
+ -0.182 0.146 0.143 0.527
+Solution residuals (4) :
+ 0.000e+00 0.000e+00 4.441e-16 0.000e+00
+
+ -------------- Matrix Test 7 ---------------------------------
+Matrix A(4,5) :
+ 1.000 1.345 2.827 4.201 -0.428
+ 2.188 2.000 0.823 8.291 -0.723
+ 0.488 1.345 3.000 0.831 -0.320
+ -0.009 6.205 -0.948 4.000 1.920
+
+Now compute the Householder transformation
+HH: (4,5) :
+ -2.455 -2.575 -2.485 -9.252 0.890
+ 0.000 6.284 -0.445 3.874 1.870
+ 0.000 0.000 -3.492 1.107 0.442
+ 0.000 0.000 0.000 -1.116 -0.105
+
+ -------------- Matrix Test 8 ---------------------------------
+Tough matrix (6,6) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+Condition number is 1.619/1.083e-07 = 1.495e+07
+Gaussian elimiation:
+Inverse matrix (6,6) :
+ 36.000 -630.000 3360.000 -7560.000 7560.000 -2772.000
+ -630.000 14700.000 -88200.000 211680.000 -220500.000 83160.000
+ 3360.000 -88200.000 564480.000 -1411200.000 1512000.000 -582120.000
+ -7560.000 211680.000 -1411200.000 3628800.000 -3969000.000 1552320.000
+ 7560.000 -220500.000 1512000.000 -3969000.000 4410000.000 -1746360.000
+ -2772.000 83160.000 -582120.000 1552320.000 -1746360.000 698544.000
+
+Unity matrix ? (6,6) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
+
+LUD:
+Inverse matrix (6,6) :
+ 36.000 -630.000 3360.000 -7560.000 7560.000 -2772.000
+ -630.000 14700.000 -88200.000 211680.000 -220500.000 83160.000
+ 3360.000 -88200.000 564480.000 -1411200.000 1512000.000 -582120.000
+ -7560.000 211680.000 -1411200.000 3628800.000 -3969000.000 1552320.000
+ 7560.000 -220500.000 1512000.000 -3969000.000 4410000.000 -1746360.000
+ -2772.000 83160.000 -582120.000 1552320.000 -1746360.000 698544.000
+
+Unity matrix ? (6,6) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
+
+SVD:
+Inverse matrix (6,6) :
+ 36.000 -630.000 3360.000 -7560.000 7560.000 -2772.000
+ -630.000 14700.000 -88200.000 211680.000 -220500.000 83160.000
+ 3360.000 -88200.000 564480.000 -1411200.000 1512000.000 -582120.000
+ -7560.000 211680.000 -1411200.000 3628800.000 -3969000.000 1552320.000
+ 7560.000 -220500.000 1512000.000 -3969000.000 4410000.000 -1746360.000
+ -2772.000 83160.000 -582120.000 1552320.000 -1746360.000 698544.000
+
+Unity matrix ? (6,6) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
+
+
+ -------------- Matrix Test 9 ---------------------------------
+Read matrix and vector (in form M||V) from file, invert and solve
+File ./data/anotsym.dat (0) Matrix(4,4) :
+ 5.000 1.450 1.320 -1.100
+ 0.450 4.200 1.210 1.110
+ 0.320 0.210 3.300 1.900
+ -0.100 0.110 0.900 6.600
+Partials Matrix (4,3) :
+ 5.000 1.450 1.320
+ 0.450 4.200 1.210
+ 0.320 0.210 3.300
+ -0.100 0.110 0.900
+Data vector (4) :
+ -1.100 1.110 1.900 6.600
+ ATA Matrix(3,3) :
+ 25.315 9.196 8.111
+ 9.196 19.799 7.788
+ 8.111 7.788 14.906
+Condition number is 37.649/9.024e+00 = 4.172
+Inverse matrix (3,3) :
+ 0.052 -0.016 -0.020
+ -0.016 0.069 -0.027
+ -0.020 -0.027 0.092
+Unity matrix (3,3) ? :
+ 1.000000000 -0.000000000 -0.000000000
+ 0.000000000 1.000000000 0.000000000
+ -0.000000000 0.000000000 1.000000000
+
+File ./data/cov.dat (0) Matrix(15,15) :
+ 21.300 10.100 -21.300 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800
+ 10.100 4.900 -10.100 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700
+ -21.300 -10.100 0.117 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 15.300 7.320 -15.300 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800
+ 3.700 1.780 -3.700 7.320 3.550 -7.320 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700
+ -7.800 -3.700 0.043 -15.300 -7.320 0.085 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 39.500 18.900 -39.500 7.800 3.700 -7.800 7.800 3.700 -7.800
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 18.900 9.130 -18.900 3.700 1.780 -3.700 3.700 1.780 -3.700
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -39.500 -18.900 0.218 -7.800 -3.700 0.043 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 31.600 15.000 -31.600 7.800 3.700 -7.800
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 15.000 7.190 -15.000 3.700 1.780 -3.700
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -31.600 -15.000 0.172 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 32.200 15.300 -32.200
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 15.300 7.370 -15.300
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -32.200 -15.300 0.176
+Partials Matrix (15,14) :
+ 21.300 10.100 -21.300 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700
+ 10.100 4.900 -10.100 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780
+ -21.300 -10.100 0.117 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700
+ 7.800 3.700 -7.800 15.300 7.320 -15.300 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700
+ 3.700 1.780 -3.700 7.320 3.550 -7.320 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780
+ -7.800 -3.700 0.043 -15.300 -7.320 0.085 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 39.500 18.900 -39.500 7.800 3.700 -7.800 7.800 3.700
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 18.900 9.130 -18.900 3.700 1.780 -3.700 3.700 1.780
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -39.500 -18.900 0.218 -7.800 -3.700 0.043 -7.800 -3.700
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 31.600 15.000 -31.600 7.800 3.700
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 15.000 7.190 -15.000 3.700 1.780
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -31.600 -15.000 0.172 -7.800 -3.700
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 32.200 15.300
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 15.300 7.370
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -32.200 -15.300
+Data vector (15) :
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -32.200 -15.300 0.176
+ ATA Matrix(14,14) :
+ 1550.870 736.974 -857.638 1041.524 495.843 -576.085 1461.890 697.137 -808.730 1324.220 629.119 -732.321 1334.690 634.465
+ 736.974 350.224 -408.215 494.858 235.594 -274.102 694.550 331.219 -384.748 629.148 298.905 -348.405 634.122 301.446
+ -857.638 -408.215 853.841 -576.081 -274.573 573.538 -808.716 -386.035 805.150 -732.330 -348.271 729.098 -738.146 -351.290
+ 1041.524 494.858 -576.081 1063.242 507.202 -588.416 1358.004 647.789 -751.389 1220.334 579.771 -674.980 1230.804 585.117
+ 495.843 235.594 -274.573 507.202 241.961 -281.016 646.187 308.244 -357.950 580.785 275.930 -321.608 585.759 278.471
+ -576.085 -274.102 573.538 -588.416 -281.016 585.807 -751.379 -358.767 748.062 -674.993 -321.004 672.010 -680.808 -324.022
+ 1461.890 694.550 -808.716 1358.004 646.187 -751.379 4019.190 1922.881 -2225.517 1640.700 779.463 -907.615 1651.170 784.809
+ 697.137 331.219 -386.035 647.789 308.244 -358.767 1922.881 919.971 -1065.640 782.079 371.555 -433.070 787.053 374.095
+ -808.730 -384.748 805.150 -751.389 -357.950 748.062 -2225.517 -1065.640 2215.635 -907.638 -431.649 903.622 -913.453 -434.668
+ 1324.220 629.148 -732.330 1220.334 580.785 -674.993 1640.700 782.079 -907.638 2763.600 1313.074 -1528.441 1513.500 719.407
+ 629.119 298.905 -348.271 579.771 275.930 -321.004 779.463 371.555 -431.649 1313.074 623.890 -726.843 719.035 341.782
+ -732.321 -348.405 729.098 -674.980 -321.608 672.010 -907.615 -433.070 903.622 -1528.441 -726.843 1521.717 -837.045 -398.325
+ 1334.690 634.122 -738.146 1230.804 585.759 -680.808 1651.170 787.053 -913.453 1513.500 719.035 -837.045 2849.250 1355.305
+ 634.465 301.446 -351.290 585.117 278.471 -324.022 784.809 374.095 -434.668 719.407 341.782 -398.325 1355.305 644.691
+Condition number is 12457.101/5.492e-04 = 22683144.644
+Inverse matrix (14,14) :
+ 36.684 -77.141 -0.166 -35.003 72.932 0.126 -2.583 5.485 0.012 -6.369 13.544 0.020 -0.728 1.644
+ -77.141 162.238 0.359 72.353 -150.774 -0.270 5.533 -11.741 -0.026 13.964 -29.683 -0.044 1.714 -3.840
+ -0.166 0.359 0.009 0.204 -0.433 -0.007 0.005 -0.011 -0.000 0.017 -0.036 -0.001 -0.018 0.038
+ -35.003 72.353 0.204 292.366 -608.281 -0.629 -55.342 114.787 0.090 -85.464 179.159 0.138 -37.404 77.737
+ 72.932 -150.774 -0.433 -608.281 1265.596 1.327 114.809 -238.129 -0.189 178.009 -373.166 -0.291 77.756 -161.600
+ 0.126 -0.270 -0.007 -0.629 1.327 0.017 0.123 -0.258 -0.002 0.185 -0.390 -0.003 0.005 -0.008
+ -2.583 5.533 0.005 -55.342 114.809 0.123 68.322 -142.452 -0.112 -12.226 25.798 0.014 -3.496 7.396
+ 5.485 -11.741 -0.011 114.787 -238.129 -0.258 -142.452 297.018 0.235 25.721 -54.270 -0.029 7.377 -15.601
+ 0.012 -0.026 -0.000 0.090 -0.189 -0.002 -0.112 0.235 0.002 0.012 -0.025 -0.000 0.004 -0.009
+ -6.369 13.964 0.017 -85.464 178.009 0.185 -12.226 25.721 0.012 114.800 -241.490 -0.186 -7.923 16.946
+ 13.544 -29.683 -0.036 179.159 -373.166 -0.390 25.798 -54.270 -0.025 -241.490 508.002 0.396 16.798 -35.922
+ 0.020 -0.044 -0.001 0.138 -0.291 -0.003 0.014 -0.029 -0.000 -0.186 0.396 0.003 0.008 -0.017
+ -0.728 1.714 -0.018 -37.404 77.756 0.005 -3.496 7.377 0.004 -7.923 16.798 0.008 42.813 -89.816
+ 1.644 -3.840 0.038 77.737 -161.600 -0.008 7.396 -15.601 -0.009 16.946 -35.922 -0.017 -89.816 188.428
+Unity matrix (14,14) ? :
+ 1.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000
+ -0.000000000 1.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000
+ 0.000000002 0.000000001 -0.000000001 1.000000003 0.000000001 -0.000000001 0.000000003 0.000000002 -0.000000002 0.000000003 0.000000002 -0.000000002 0.000000003 0.000000001
+ -0.000000005 -0.000000002 0.000000003 -0.000000005 0.999999997 0.000000003 -0.000000007 -0.000000003 0.000000004 -0.000000007 -0.000000003 0.000000004 -0.000000006 -0.000000003
+ -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 1.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000
+ 0.000000001 0.000000000 -0.000000000 0.000000001 0.000000001 -0.000000001 1.000000001 0.000000001 -0.000000001 0.000000001 0.000000001 -0.000000001 0.000000001 0.000000001
+ -0.000000001 -0.000000001 0.000000001 -0.000000002 -0.000000001 0.000000001 -0.000000003 0.999999999 0.000000002 -0.000000003 -0.000000001 0.000000001 -0.000000003 -0.000000001
+ -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 1.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000
+ -0.000000002 -0.000000001 0.000000001 -0.000000002 -0.000000001 0.000000001 -0.000000004 -0.000000002 0.000000002 0.999999998 -0.000000001 0.000000001 -0.000000002 -0.000000001
+ 0.000000004 0.000000002 -0.000000002 0.000000005 0.000000002 -0.000000003 0.000000009 0.000000004 -0.000000005 0.000000005 1.000000002 -0.000000003 0.000000005 0.000000002
+ 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000
+ -0.000000001 -0.000000001 0.000000001 -0.000000001 -0.000000001 0.000000001 -0.000000001 -0.000000000 0.000000000 -0.000000002 -0.000000001 0.000000001 0.999999998 -0.000000001
+ 0.000000002 0.000000001 -0.000000001 0.000000003 0.000000001 -0.000000002 0.000000001 0.000000001 -0.000000001 0.000000004 0.000000002 -0.000000002 0.000000003 1.000000002
+
+File ./data/dia.dat (0) Matrix(4,4) :
+ 8.824 0.000 0.000 0.000
+ 0.000 2.283 0.000 0.000
+ 0.000 0.000 1.300 0.000
+ 0.000 0.000 0.000 -1.082
+Partials Matrix (4,3) :
+ 8.824 0.000 0.000
+ 0.000 2.283 0.000
+ 0.000 0.000 1.300
+ 0.000 0.000 0.000
+Data vector (4) :
+ 0.000 0.000 0.000 -1.082
+ ATA Matrix(3,3) :
+ 77.859 0.000 0.000
+ 0.000 5.212 0.000
+ 0.000 0.000 1.690
+Condition number is 77.859/1.690e+00 = 46.071
+Inverse matrix (3,3) :
+ 0.013 0.000 0.000
+ 0.000 0.192 0.000
+ 0.000 0.000 0.592
+Unity matrix (3,3) ? :
+ 1.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000
+
+File ./data/lt.dat (0) Matrix(4,4) :
+ 10.882 0.000 0.000 0.000
+ 8.284 9.763 0.000 0.000
+ 5.273 6.876 7.117 0.000
+ 1.991 2.002 3.765 4.372
+Partials Matrix (4,3) :
+ 10.882 0.000 0.000
+ 8.284 9.763 0.000
+ 5.273 6.876 7.117
+ 1.991 2.002 3.765
+Data vector (4) :
+ 0.000 0.000 0.000 4.372
+ ATA Matrix(3,3) :
+ 218.806 121.117 45.024
+ 121.117 146.604 56.474
+ 45.024 56.474 64.827
+Condition number is 327.734/3.281e+01 = 9.988
+Inverse matrix (3,3) :
+ 0.008 -0.007 0.000
+ -0.007 0.016 -0.009
+ 0.000 -0.009 0.023
+Unity matrix (3,3) ? :
+ 1.000000000 -0.000000000 -0.000000000
+ 0.000000000 1.000000000 0.000000000
+ -0.000000000 -0.000000000 1.000000000
+
+File ./data/partials.dat (0) Matrix(15,13) :
+ -1900.000 -37.000 2000.000 -3800.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000
+ -1800.000 -6.200 2200.000 -3900.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000
+ 2600.000 570.000 -940.000 -2.500 0.000 110.000 0.310 -200.000 0.000 64.000 -190.000 -170.000 520.000
+ 2000.000 -2100.000 -1700.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000 0.000 -0.000
+ 30.000 200.000 2900.000 0.000 0.000 1800.000 89.000 -5100.000 -250.000 0.000 -0.000 -0.000 0.000
+ -8.200 -0.340 4.200 0.000 0.000 1.200 0.000 -3.800 -0.150 31.000 0.410 82.000 -0.000
+ 370.000 230.000 -96.000 0.000 0.000 0.000 0.000 -32.000 -0.730 -61.000 7.800 820.000 33.000
+ -1500.000 -280.000 140.000 0.000 0.000 0.000 0.000 680.000 33.000 1200.000 57.000 -3100.000 -150.000
+ -0.170 -0.920 0.170 0.000 0.000 0.000 0.000 0.430 0.000 0.580 -0.054 -2.300 -0.095
+ 17.000 -55.000 1.500 0.000 0.000 0.000 0.000 0.000 0.000 -33.000 -0.820 -63.000 8.100
+ 100.000 600.000 -100.000 0.000 0.000 0.000 0.000 0.000 0.000 730.000 35.000 1200.000 61.000
+ -0.380 -0.290 0.150 0.000 0.000 0.000 0.000 0.000 0.000 0.460 0.000 0.610 -0.057
+ -26.000 -19.000 10.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -30.000 -0.270
+ 210.000 160.000 -83.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 640.000 31.000
+ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.410 0.000
+Partials Matrix (15,12) :
+ -1900.000 -37.000 2000.000 -3800.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000
+ -1800.000 -6.200 2200.000 -3900.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000
+ 2600.000 570.000 -940.000 -2.500 0.000 110.000 0.310 -200.000 0.000 64.000 -190.000 -170.000
+ 2000.000 -2100.000 -1700.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000 0.000
+ 30.000 200.000 2900.000 0.000 0.000 1800.000 89.000 -5100.000 -250.000 0.000 -0.000 -0.000
+ -8.200 -0.340 4.200 0.000 0.000 1.200 0.000 -3.800 -0.150 31.000 0.410 82.000
+ 370.000 230.000 -96.000 0.000 0.000 0.000 0.000 -32.000 -0.730 -61.000 7.800 820.000
+ -1500.000 -280.000 140.000 0.000 0.000 0.000 0.000 680.000 33.000 1200.000 57.000 -3100.000
+ -0.170 -0.920 0.170 0.000 0.000 0.000 0.000 0.430 0.000 0.580 -0.054 -2.300
+ 17.000 -55.000 1.500 0.000 0.000 0.000 0.000 0.000 0.000 -33.000 -0.820 -63.000
+ 100.000 600.000 -100.000 0.000 0.000 0.000 0.000 0.000 0.000 730.000 35.000 1200.000
+ -0.380 -0.290 0.150 0.000 0.000 0.000 0.000 0.000 0.000 0.460 0.000 0.610
+ -26.000 -19.000 10.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -30.000
+ 210.000 160.000 -83.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 640.000
+ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.410
+Data vector (15) :
+ -250.000 -250.000 520.000 -0.000 0.000 -0.000 33.000 -150.000 -0.095 8.100 61.000 -0.057 -0.270 31.000 0.000
+ ATA Matrix(12,12) :
+ 20052932.413 -2032277.945 -13790219.026 14233500.000 703000.000 157990.160 14876.000 2831891.087 99641.130 -19553985.473 -1402431.293 23634836.759
+ -2032277.945 5296594.486 3391725.872 163355.000 8208.000 613799.592 6006.700 -5737827.904 -246554.089 10745533.793 419734.210 2006429.059
+ -13790219.026 3391725.872 21069424.941 -16177650.000 -798000.000 5271305.040 248118.600 -18455943.887 -847670.550 17530776.868 981131.683 -21946090.400
+ 14233500.000 163355.000 -16177650.000 29650006.250 1463000.000 -275.000 -0.775 701200.000 -43890.000 -16170160.000 -684825.000 39270425.000
+ 703000.000 8208.000 -798000.000 1463000.000 72200.000 0.000 0.000 34580.000 -2166.000 -798000.000 -33820.000 1938000.000
+ 157990.160 613799.592 5271305.040 -275.000 0.000 3260382.440 159715.400 -9393104.560 -458099.180 471177.200 1850.492 -18601.600
+ 14876.000 6006.700 248118.600 -0.775 0.000 159715.400 7953.586 -441992.000 -21742.700 -29050.160 -1483.900 -52.700
+ 2831891.087 -5737827.904 -18455943.887 701200.000 34580.000 -9393104.560 -441992.000 30940000.625 1483326.530 -10287165.551 -464689.181 -1172352.589
+ 99641.130 -246554.089 -847670.550 -43890.000 -2166.000 -458099.180 -21742.700 1483326.530 71575.535 -390320.120 -19360.156 -161050.900
+ -19553985.473 10745533.793 17530776.868 -16170160.000 -798000.000 471177.200 -29050.160 -10287165.551 -390320.120 36812767.548 1730153.939 -24320280.053
+ -1402431.293 419734.210 981131.683 -684825.000 -33820.000 1850.492 -1483.900 -464689.181 -19360.156 1730153.939 118977.683 -1003718.596
+ 23634836.759 2006429.059 -21946090.400 39270425.000 1938000.000 -18601.600 -52.700 -1172352.589 -161050.900 -24320280.053 -1003718.596 64192498.830
+Condition number is 127608930.696/7.975e-03 = 16000989519.927
+Inverse matrix (12,12) :
+ 0.146 0.047 0.443 1.047 -18.024 -0.154 1.462 0.538 -6.373 0.039 -0.702 -0.002
+ 0.047 0.016 0.145 0.342 -5.886 -0.049 0.450 0.176 -2.090 0.013 -0.230 -0.001
+ 0.443 0.145 1.349 3.185 -54.810 -0.490 4.905 1.621 -19.041 0.120 -2.152 -0.007
+ 1.047 0.342 3.185 7.522 -129.462 -1.149 11.411 3.835 -45.099 0.282 -5.077 -0.017
+ -18.024 -5.886 -54.810 -129.462 2228.196 19.590 -192.918 -66.106 778.268 -4.857 87.285 0.287
+ -0.154 -0.049 -0.490 -1.149 19.590 0.424 -6.583 -0.450 4.140 -0.048 0.882 -0.000
+ 1.462 0.450 4.905 11.411 -192.918 -6.583 111.877 3.123 -13.851 0.522 -9.837 0.033
+ 0.538 0.176 1.621 3.835 -66.106 -0.450 3.123 2.039 -24.704 0.142 -2.519 -0.011
+ -6.373 -2.090 -19.041 -45.099 778.268 4.140 -13.851 -24.704 305.519 -1.644 29.008 0.143
+ 0.039 0.013 0.120 0.282 -4.857 -0.048 0.522 0.142 -1.644 0.011 -0.192 -0.001
+ -0.702 -0.230 -2.152 -5.077 87.285 0.882 -9.837 -2.519 29.008 -0.192 3.492 0.009
+ -0.002 -0.001 -0.007 -0.017 0.287 -0.000 0.033 -0.011 0.143 -0.001 0.009 0.000
+Unity matrix (12,12) ? :
+ 0.999999996 0.000000000 0.000000005 -0.000000004 -0.000000000 0.000000001 -0.000000000 -0.000000003 0.000000000 0.000000004 0.000000000 -0.000000007
+ -0.000000001 1.000000000 0.000000001 -0.000000001 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000001 0.000000000 -0.000000003
+ -0.000000008 0.000000001 1.000000009 -0.000000018 -0.000000001 0.000000003 0.000000000 -0.000000006 0.000000000 0.000000005 0.000000001 -0.000000022
+ -0.000000009 -0.000000000 0.000000014 0.999999991 -0.000000000 0.000000003 -0.000000000 -0.000000009 0.000000001 -0.000000002 0.000000001 -0.000000025
+ 0.000000354 0.000000036 -0.000000162 0.000000678 1.000000044 0.000000022 0.000000003 -0.000000098 -0.000000022 -0.000000196 -0.000000021 0.000000716
+ 0.000000004 -0.000000000 -0.000000005 0.000000005 0.000000000 0.999999999 -0.000000000 0.000000003 -0.000000000 -0.000000005 -0.000000000 0.000000015
+ 0.000000002 0.000000001 -0.000000003 0.000000005 0.000000002 0.000000011 1.000000000 -0.000000017 0.000000001 0.000000004 0.000000000 0.000000017
+ -0.000000014 0.000000001 0.000000020 -0.000000023 -0.000000002 0.000000002 -0.000000000 0.999999987 0.000000000 0.000000017 0.000000001 -0.000000032
+ 0.000000240 0.000000014 -0.000000212 0.000000374 0.000000020 -0.000000002 0.000000001 0.000000085 0.999999992 -0.000000210 -0.000000011 0.000000555
+ -0.000000001 0.000000000 0.000000001 -0.000000003 -0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 1.000000001 0.000000000 -0.000000003
+ 0.000000019 -0.000000000 -0.000000016 0.000000028 0.000000002 -0.000000001 0.000000000 -0.000000004 -0.000000001 -0.000000013 0.999999999 0.000000035
+ 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 -0.000000000 -0.000000000 1.000000000
+
+File ./data/squ.dat (0) Matrix(5,5) :
+ 1.000 1.345 2.827 4.201 -0.428
+ 2.188 2.000 0.823 8.291 -0.723
+ 0.488 1.345 3.000 0.831 -0.320
+ -0.009 6.205 -0.948 4.000 1.920
+ 2.835 -1.283 -0.873 2.834 5.831
+Partials Matrix (5,4) :
+ 1.000 1.345 2.827 4.201
+ 2.188 2.000 0.823 8.291
+ 0.488 1.345 3.000 0.831
+ -0.009 6.205 -0.948 4.000
+ 2.835 -1.283 -0.873 2.834
+Data vector (5) :
+ -0.428 -0.723 -0.320 1.920 5.831
+ ATA Matrix(4,4) :
+ 14.062 2.683 3.626 30.745
+ 2.683 47.767 4.722 44.533
+ 3.626 4.722 19.331 14.930
+ 30.745 44.533 14.930 111.111
+Condition number is 142.644/1.701e+01 = 8.385
+Inverse matrix (4,4) :
+ 0.417 0.135 0.022 -0.172
+ 0.135 0.077 0.010 -0.070
+ 0.022 0.010 0.059 -0.018
+ -0.172 -0.070 -0.018 0.087
+Unity matrix (4,4) ? :
+ 1.000000000 -0.000000000 -0.000000000 -0.000000000
+ -0.000000000 1.000000000 -0.000000000 -0.000000000
+ -0.000000000 -0.000000000 1.000000000 -0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000
+
+File ./data/sym.dat (0) Matrix(4,4) :
+ 10.000 1.345 2.827 4.201
+ 1.345 9.823 8.291 -0.723
+ 2.827 8.291 13.000 0.831
+ 4.201 -0.723 0.831 9.009
+Partials Matrix (4,3) :
+ 10.000 1.345 2.827
+ 1.345 9.823 8.291
+ 2.827 8.291 13.000
+ 4.201 -0.723 0.831
+Data vector (4) :
+ 4.201 -0.723 0.831 9.009
+ ATA Matrix(3,3) :
+ 127.449 47.064 79.663
+ 47.064 167.572 192.430
+ 79.663 192.430 246.423
+Condition number is 431.032/8.593e+00 = 50.161
+Inverse matrix (3,3) :
+ 0.011 0.010 -0.011
+ 0.010 0.066 -0.055
+ -0.011 -0.055 0.051
+Unity matrix (3,3) ? :
+ 1.000000000 -0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000
+ -0.000000000 -0.000000000 1.000000000
+
+File ./data/tmatrix.dat (0) Matrix(4,5) :
+ 1.000 1.345 2.827 4.201 -0.428
+ 2.188 2.000 0.823 8.291 -0.723
+ 0.488 1.345 3.000 0.831 -0.320
+ -0.009 6.205 -0.948 4.000 1.920
+Partials Matrix (4,4) :
+ 1.000 1.345 2.827 4.201
+ 2.188 2.000 0.823 8.291
+ 0.488 1.345 3.000 0.831
+ -0.009 6.205 -0.948 4.000
+Data vector (4) :
+ -0.428 -0.723 -0.320 1.920
+Condition number is 11.717/3.450e+00 = 3.396
+Inverse matrix (4,4) :
+ -2.322 1.115 1.804 -0.247
+ -0.379 0.090 0.374 0.133
+ 0.362 -0.172 0.030 -0.029
+ 0.668 -0.178 -0.569 0.036
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 -0.000000000 0.000000000
+ -0.000000000 1.000000000 -0.000000000 -0.000000000
+ -0.000000000 0.000000000 1.000000000 -0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000
+
+File ./data/ut.dat (0) Matrix(4,4) :
+ 1.834 2.837 3.223 4.808
+ 0.000 5.837 6.774 7.083
+ 0.000 0.000 8.237 9.118
+ 0.000 0.000 0.000 10.838
+Partials Matrix (4,3) :
+ 1.834 2.837 3.223
+ 0.000 5.837 6.774
+ 0.000 0.000 8.237
+ 0.000 0.000 0.000
+Data vector (4) :
+ 4.808 7.083 9.118 10.838
+ ATA Matrix(3,3) :
+ 3.364 5.203 5.911
+ 5.203 42.124 48.686
+ 5.911 48.686 124.130
+Condition number is 147.176/1.977e+01 = 7.445
+Inverse matrix (3,3) :
+ 0.368 -0.046 0.001
+ -0.046 0.049 -0.017
+ 0.001 -0.017 0.015
+Unity matrix (3,3) ? :
+ 1.000000000 0.000000000 0.000000000
+ -0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000
+
+
+ -------------- Poly Test ---------------------------------
+Matrix Cov(3,3) :
+ 0.068 0.000 -0.107
+ 0.000 0.086 0.000
+ -0.107 0.000 0.303
+Vector Sol(3) :
+ -1.246 0.335 -0.174
+ t data fit resid
+ 0 -1.0000 -1.750 -1.755 0.005
+ 1 -0.9375 -1.702 -1.713 0.011
+ 2 -0.8750 -1.663 -1.672 0.009
+ 3 -0.8125 -1.639 -1.633 -0.006
+ 4 -0.7500 -1.590 -1.595 0.005
+ 5 -0.6875 -1.579 -1.558 -0.021
+ 6 -0.6250 -1.536 -1.523 -0.013
+ 7 -0.5625 -1.502 -1.489 -0.013
+ 8 -0.5000 -1.441 -1.457 0.016
+ 9 -0.4375 -1.445 -1.426 -0.019
+10 -0.3750 -1.412 -1.396 -0.016
+11 -0.3125 -1.370 -1.368 -0.002
+12 -0.2500 -1.328 -1.341 0.013
+13 -0.1875 -1.286 -1.315 0.029
+14 -0.1250 -1.266 -1.291 0.025
+15 -0.0625 -1.270 -1.268 -0.002
+16 0.0000 -1.249 -1.246 -0.003
+17 0.0625 -1.235 -1.226 -0.009
+18 0.1250 -1.197 -1.207 0.010
+19 0.1875 -1.214 -1.189 -0.025
+20 0.2500 -1.183 -1.173 -0.010
+21 0.3125 -1.156 -1.158 0.002
+22 0.3750 -1.135 -1.145 0.010
+23 0.4375 -1.134 -1.133 -0.001
+24 0.5000 -1.098 -1.122 0.024
+25 0.5625 -1.102 -1.113 0.011
+26 0.6250 -1.118 -1.105 -0.013
+27 0.6875 -1.103 -1.098 -0.005
+28 0.7500 -1.115 -1.093 -0.022
+29 0.8125 -1.076 -1.089 0.013
+30 0.8750 -1.101 -1.086 -0.015
+31 0.9375 -1.068 -1.085 0.017
+32 1.0000 -1.088 -1.085 -0.003
+Stats on residuals
+ N = 33
+ Minimum = -2.470e-02 Maximum = 2.889e-02
+ Average = 8.738e-17 Std Dev = 1.435e-02
+Stats on data
+ N = 33
+ Minimum = -1.750e+00 Maximum = -1.068e+00
+ Average = -1.308e+00 Std Dev = 2.105e-01
+2-sample Stats on time,data
+ N = 33
+ Minimum: X = -1.000e+00 Y = -1.750e+00 Maximum: X = 1.000e+00 Y = -1.068e+00
+ Average: X = 1.894e-03 Y = -1.308e+00 Std Dev: X = 6.012e-01 Y = 2.105e-01
+ Intercept = -1.308e+00 Slope = 3.360e-01 with uncertainty = 1.763e-02
+ Conditional uncertainty (sigma y given x) = 5.997e-02 Correlation = 9.599e-01
+Matrix Cov(3,3) :
+ 0.068 0.000 -0.107
+ 0.000 0.086 0.000
+ -0.107 0.000 0.303
+Vector Sol(3) :
+ -1.435 -0.175 0.232
+ t data fit resid
+ 0 -1.0000 -1.088 -1.029 -0.059
+ 1 -0.9375 -1.119 -1.068 -0.051
+ 2 -0.8750 -1.118 -1.105 -0.013
+ 3 -0.8125 -1.158 -1.140 -0.018
+ 4 -0.7500 -1.146 -1.174 0.028
+ 5 -0.6875 -1.201 -1.205 0.004
+ 6 -0.6250 -1.207 -1.235 0.028
+ 7 -0.5625 -1.222 -1.263 0.041
+ 8 -0.5000 -1.230 -1.290 0.060
+ 9 -0.4375 -1.269 -1.314 0.045
+10 -0.3750 -1.269 -1.337 0.068
+11 -0.3125 -1.335 -1.358 0.023
+12 -0.2500 -1.359 -1.377 0.018
+13 -0.1875 -1.391 -1.394 0.003
+14 -0.1250 -1.391 -1.410 0.019
+15 -0.0625 -1.432 -1.423 -0.009
+16 0.0000 -1.440 -1.435 -0.005
+17 0.0625 -1.483 -1.445 -0.038
+18 0.1250 -1.520 -1.453 -0.067
+19 0.1875 -1.514 -1.460 -0.054
+20 0.2500 -1.514 -1.464 -0.050
+21 0.3125 -1.478 -1.467 -0.011
+22 0.3750 -1.496 -1.468 -0.028
+23 0.4375 -1.508 -1.467 -0.041
+24 0.5000 -1.507 -1.465 -0.042
+25 0.5625 -1.437 -1.460 0.023
+26 0.6250 -1.439 -1.454 0.015
+27 0.6875 -1.419 -1.446 0.027
+28 0.7500 -1.388 -1.436 0.048
+29 0.8125 -1.408 -1.424 0.016
+30 0.8750 -1.390 -1.411 0.021
+31 0.9375 -1.391 -1.396 0.005
+32 1.0000 -1.385 -1.379 -0.006
+Stats on residuals
+ N = 33
+ Minimum = -6.667e-02 Maximum = 6.793e-02
+ Average = -6.457e-16 Std Dev = 3.609e-02
+Stats on data
+ N = 33
+ Minimum = -1.520e+00 Maximum = -1.088e+00
+ Average = -1.353e+00 Std Dev = 1.342e-01
+2-sample Stats on time,data
+ N = 33
+ Minimum: X = -1.000e+00 Y = -1.520e+00 Maximum: X = 1.000e+00 Y = -1.088e+00
+ Average: X = 1.894e-03 Y = -1.353e+00 Std Dev: X = 6.012e-01 Y = 1.342e-01
+ Intercept = -1.353e+00 Slope = -1.753e-01 with uncertainty = 2.481e-02
+ Conditional uncertainty (sigma y given x) = 8.439e-02 Correlation = -7.854e-01
diff --git a/trunk/tests/data/MatrixTest.ref.Win32 b/trunk/tests/data/MatrixTest.ref.Win32
new file mode 100644
index 0000000..9c91ead
--- /dev/null
+++ b/trunk/tests/data/MatrixTest.ref.Win32
@@ -0,0 +1,1332 @@
+
+ -------------- Vector Test ---------------------------------
+V = 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415
+V = 1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8 9.9 10.1
+V min 1.1, max 10.1, sum 59.6
+Vodd = 1.1 3.3 5.5 7.7 9.9
+Veve = 2.2 4.4 6.6 8.8 10.1
+Vodd = 1.1 0 5.5 0 9.9
+Veve = 2.2 99 6.6 99 10.1
+Minkowski of Vodd and Veve 38.72
+dot of Vodd and Veve 138.71
+V = 1.1 2.2 0 99 5.5 6.6 0 99 9.9 10.1
+V min 0, max 99, sum 233.4, norm 141.003
+Zero tolerance for V is 1e-015
+Zero tolerance for W is 1e-005
+Here is W the usual way :
+ ...2.200 ...4.400 ...0.000 .198.000 ..11.000 ..13.200 ...0.000 .198.000 ..19.800 ..20.200
+Here is W the saved way :
+...2.200...4.400...0.000.198.000..11.000..13.200...0.000.198.000..19.800..20.200
+Sum = 3.300 6.600 0.000 297.000 16.500 19.800 0.000 297.000 29.700 30.300
+CVS = 1.100 2.200 0.000 99.000 5.500 6.600 0.000 99.000 9.900 10.100
+
+ -------------- Matrix Test 1 ---------------------------------
+Matrix (2,5) from double* :
+ 1.1 2.2 3.3 4.4 5.5
+ 6.6 7.7 8.8 9.9 10.1
+Partials Matrix (15,12) :
+ -1900.000 -37.000 2000.000 -3800.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000
+ -1800.000 -6.200 2200.000 -3900.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000
+ 2600.000 570.000 -940.000 -2.500 0.000 110.000 0.310 -200.000 0.000 64.000 -190.000 -170.000
+ 2000.000 -2100.000 -1700.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000 0.000
+ 30.000 200.000 2900.000 0.000 0.000 1800.000 89.000 -5100.000 -250.000 0.000 -0.000 -0.000
+ -8.200 -0.340 4.200 0.000 0.000 1.200 0.000 -3.800 -0.150 31.000 0.410 82.000
+ 370.000 230.000 -96.000 0.000 0.000 0.000 0.000 -32.000 -0.730 -61.000 7.800 820.000
+ -1500.000 -280.000 140.000 0.000 0.000 0.000 0.000 680.000 33.000 1200.000 57.000 -3100.000
+ -0.170 -0.920 0.170 0.000 0.000 0.000 0.000 0.430 0.000 0.580 -0.054 -2.300
+ 17.000 -55.000 1.500 0.000 0.000 0.000 0.000 0.000 0.000 -33.000 -0.820 -63.000
+ 100.000 600.000 -100.000 0.000 0.000 0.000 0.000 0.000 0.000 730.000 35.000 1200.000
+ -0.380 -0.290 0.150 0.000 0.000 0.000 0.000 0.000 0.000 0.460 0.000 0.610
+ -26.000 -19.000 10.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -30.000
+ 210.000 160.000 -83.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 640.000
+ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.410
+Data vector (15) :
+ -250.000 -250.000 520.000 -0.000 0.000 -0.000 33.000 -150.000 -0.095 8.100 61.000 -0.057 -0.270 31.000 0.000
+Covariance matrix (12,12) :
+ 0.146 0.047 0.443 1.047 -18.024 -0.154 1.462 0.538 -6.373 0.039 -0.702 -0.002
+ 0.047 0.016 0.145 0.342 -5.886 -0.049 0.450 0.176 -2.090 0.013 -0.230 -0.001
+ 0.443 0.145 1.349 3.185 -54.810 -0.490 4.905 1.621 -19.041 0.120 -2.152 -0.007
+ 1.047 0.342 3.185 7.522 -129.462 -1.149 11.411 3.835 -45.099 0.282 -5.077 -0.017
+ -18.024 -5.886 -54.810 -129.462 2228.196 19.590 -192.918 -66.106 778.268 -4.857 87.285 0.287
+ -0.154 -0.049 -0.490 -1.149 19.590 0.424 -6.583 -0.450 4.140 -0.048 0.882 -0.000
+ 1.462 0.450 4.905 11.411 -192.918 -6.583 111.877 3.123 -13.851 0.522 -9.837 0.033
+ 0.538 0.176 1.621 3.835 -66.106 -0.450 3.123 2.039 -24.704 0.142 -2.519 -0.011
+ -6.373 -2.090 -19.041 -45.099 778.268 4.140 -13.851 -24.704 305.519 -1.644 29.008 0.143
+ 0.039 0.013 0.120 0.282 -4.857 -0.048 0.522 0.142 -1.644 0.011 -0.192 -0.001
+ -0.702 -0.230 -2.152 -5.077 87.285 0.882 -9.837 -2.519 29.008 -0.192 3.492 0.009
+ -0.002 -0.001 -0.007 -0.017 0.287 -0.000 0.033 -0.011 0.143 -0.001 0.009 0.000
+Solution vector (12) :
+ -1.139 -0.594 -4.360 -10.043 171.356 3.019 -46.415 -3.817 31.883 -0.223 7.204 0.005
+Residual vector (15) :
+ 1.173e-004 -1.228e-004 4.797e-003 -3.487e-003 2.081e-004 -1.014e+000 -1.559e-002 6.014e-003 2.077e+000 2.073e-001 1.475e-002 9.146e-002 2.570e+000 3.009e-001 -1.978e-003
+2*Solution vector (12) :
+ -2.279 -1.188 -8.721 -20.086 342.712 6.039 -92.831 -7.633 63.767 -0.446 14.408 0.010
+2*Partials Matrix (15,12) :
+ -3800.000 -74.000 4000.000 -7600.000 -380.000 0.000 0.000 -182.000 11.400 4200.000 178.000 -10200.000
+ -3600.000 -12.400 4400.000 -7800.000 -380.000 0.000 0.000 -182.000 11.400 4200.000 178.000 -10200.000
+ 5200.000 1140.000 -1880.000 -5.000 0.000 220.000 0.620 -400.000 0.000 128.000 -380.000 -340.000
+ 4000.000 -4200.000 -3400.000 0.000 0.000 -182.000 11.400 4200.000 178.000 -10200.000 -500.000 0.000
+ 60.000 400.000 5800.000 0.000 0.000 3600.000 178.000 -10200.000 -500.000 0.000 -0.000 -0.000
+ -16.400 -0.680 8.400 0.000 0.000 2.400 0.000 -7.600 -0.300 62.000 0.820 164.000
+ 740.000 460.000 -192.000 0.000 0.000 0.000 0.000 -64.000 -1.460 -122.000 15.600 1640.000
+ -3000.000 -560.000 280.000 0.000 0.000 0.000 0.000 1360.000 66.000 2400.000 114.000 -6200.000
+ -0.340 -1.840 0.340 0.000 0.000 0.000 0.000 0.860 0.000 1.160 -0.108 -4.600
+ 34.000 -110.000 3.000 0.000 0.000 0.000 0.000 0.000 0.000 -66.000 -1.640 -126.000
+ 200.000 1200.000 -200.000 0.000 0.000 0.000 0.000 0.000 0.000 1460.000 70.000 2400.000
+ -0.760 -0.580 0.300 0.000 0.000 0.000 0.000 0.000 0.000 0.920 0.000 1.220
+ -52.000 -38.000 20.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -60.000
+ 420.000 320.000 -166.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1280.000
+ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.820
+Vector c(8) :
+ 0.000 3.000 6.000 9.000 12.000 15.000 18.000 21.000
+Vector b(7) :
+ 1.000 2.000 3.000 4.000 5.000 6.000 7.000
+Their outer product (8,7) :
+ 0.000 0.000 0.000 0.000 0.000 0.000 0.000
+ 3.000 6.000 9.000 12.000 15.000 18.000 21.000
+ 6.000 12.000 18.000 24.000 30.000 36.000 42.000
+ 9.000 18.000 27.000 36.000 45.000 54.000 63.000
+ 12.000 24.000 36.000 48.000 60.000 72.000 84.000
+ 15.000 30.000 45.000 60.000 75.000 90.000 105.000
+ 18.000 36.000 54.000 72.000 90.000 108.000 126.000
+ 21.000 42.000 63.000 84.000 105.000 126.000 147.000
+Their norms 11.832 and 35.496 and dot 336.00 and cosine 0.800
+
+ -------------- Matrix Test 2 ---------------------------------
+Tough matrix (2,2) :
+ 1.000000 0.500000
+ 0.500000 0.333333
+Condition number for 2 is 1.268/6.574e-002 = 1.928e+001
+Inverse matrix (2,2) :
+ 4.000 -6.000
+ -6.000 12.000
+
+Unity matrix (2,2) ? :
+ 1.000000000 0.000000000
+ 0.000000000 1.000000000
+
+Tough matrix (3,3) :
+ 1.000000 0.500000 0.333333
+ 0.500000 0.333333 0.250000
+ 0.333333 0.250000 0.200000
+Condition number for 3 is 1.408/2.687e-003 = 5.241e+002
+Inverse matrix (3,3) :
+ 9.000 -36.000 30.000
+ -36.000 192.000 -180.000
+ 30.000 -180.000 180.000
+
+Unity matrix (3,3) ? :
+ 1.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000
+
+Tough matrix (4,4) :
+ 1.000000 0.500000 0.333333 0.250000
+ 0.500000 0.333333 0.250000 0.200000
+ 0.333333 0.250000 0.200000 0.166667
+ 0.250000 0.200000 0.166667 0.142857
+Condition number for 4 is 1.500/9.670e-005 = 1.551e+004
+Inverse matrix (4,4) :
+ 16.000 -120.000 240.000 -140.000
+ -120.000 1200.000 -2700.000 1680.000
+ 240.000 -2700.000 6480.000 -4200.000
+ -140.000 1680.000 -4200.000 2800.000
+
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000
+
+Tough matrix (5,5) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000
+ 0.500000 0.333333 0.250000 0.200000 0.166667
+ 0.333333 0.250000 0.200000 0.166667 0.142857
+ 0.250000 0.200000 0.166667 0.142857 0.125000
+ 0.200000 0.166667 0.142857 0.125000 0.111111
+Condition number for 5 is 1.567/3.288e-006 = 4.766e+005
+Inverse matrix (5,5) :
+ 25.000 -300.000 1050.000 -1400.000 630.000
+ -300.000 4800.000 -18900.000 26880.000 -12600.000
+ 1050.000 -18900.000 79380.000 -117600.000 56700.000
+ -1400.000 26880.000 -117600.000 179200.000 -88200.000
+ 630.000 -12600.000 56700.000 -88200.000 44100.000
+
+Unity matrix (5,5) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
+
+Tough matrix (6,6) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+Condition number for 6 is 1.619/1.083e-007 = 1.495e+007
+Inverse matrix (6,6) :
+ 36.000 -630.000 3360.000 -7560.000 7560.000 -2772.000
+ -630.000 14700.000 -88200.000 211680.000 -220500.000 83160.000
+ 3360.000 -88200.000 564480.000 -1411200.000 1512000.000 -582120.000
+ -7560.000 211680.000 -1411200.000 3628800.000 -3969000.000 1552320.000
+ 7560.000 -220500.000 1512000.000 -3969000.000 4410000.000 -1746360.000
+ -2772.000 83160.000 -582120.000 1552320.000 -1746360.000 698544.000
+
+Unity matrix (6,6) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
+
+Tough matrix (7,7) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333
+ 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923
+Condition number for 7 is 1.661/3.494e-009 = 4.754e+008
+Inverse matrix (7,7) :
+ 49.000 -1176.000 8820.000 -29400.000 48510.000 -38808.000 12012.000
+ -1176.000 37632.000 -317520.001 1128960.004 -1940400.007 1596672.006 -504504.002
+ 8820.000 -317520.001 2857680.010 -10584000.038 18711000.070 -15717240.061 5045040.020
+ -29400.000 1128960.004 -10584000.038 40320000.149 -72765000.274 62092800.237 -20180160.078
+ 48510.000 -1940400.007 18711000.070 -72765000.274 133402500.503 -115259760.435 37837800.143
+ -38808.000 1596672.006 -15717240.061 62092800.237 -115259760.435 100590336.377 -33297264.124
+ 12012.000 -504504.002 5045040.020 -20180160.078 37837800.143 -33297264.124 11099088.041
+
+Unity matrix (7,7) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.999999999 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000002 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.999999994 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000006 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.999999998
+
+Tough matrix (8,8) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923
+ 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429
+ 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667
+Condition number for 8 is 1.696/1.112e-010 = 1.526e+010
+Inverse matrix (8,8) :
+ 64.000 -2016.000 20160.000 -92400.002 221760.006 -288288.008 192192.006 -51480.002
+ -2016.000 84672.002 -952560.022 4656960.111 -11642400.287 15567552.390 -10594584.269 2882880.074
+ 20160.000 -952560.022 11430720.264 -58212001.348 149688003.456 -204324124.689 141261123.218 -38918880.879
+ -92400.002 4656960.111 -58212001.347 304920006.853 -800415017.508 1109908823.681 -776936176.203 216216004.416
+ 221760.006 -11642400.286 149688003.453 -800415017.503 2134440044.578 -2996753820.124 2118916841.034 -594594011.158
+ -288288.008 15567552.389 -204324124.684 1109908823.672 -2996753820.121 4249941776.882 -3030051079.073 856215374.944
+ 192192.006 -10594584.268 141261123.214 -776936176.198 2118916841.034 -3030051079.076 2175421285.422 -618377770.134
+ -51480.002 2882880.073 -38918880.878 216216004.415 -594594011.159 856215374.947 -618377770.136 176679362.740
+
+Unity matrix (8,8) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000001 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.999999992 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000060 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.999999881 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000216 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.999999836 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000030
+
+Tough matrix (9,9) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429
+ 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667
+ 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500
+ 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824
+Condition number for 9 is 1.726/3.500e-012 = 4.932e+011
+Inverse matrix (9,9) :
+ 81.000 -3239.997 41579.943 -249479.583 810808.450 -1513508.803 1621616.297 -926637.747 218789.440
+ -3239.997 172799.763 -2494795.911 15966690.362 -54053889.969 103783453.123 -113513137.319 65894240.248 -15752840.298
+ 41579.942 -2494795.899 38419849.252 -256132287.510 891889098.318 -1748102440.391 1942335863.280 -1141617721.695 275674714.654
+ -249479.579 15966690.207 -256132286.351 1756335480.921 -6243223204.793 12430950134.759 -13984817987.473 8302674405.589 -2021614632.930
+ 810808.433 -54053889.195 891889090.568 -6243223179.833 22544971251.561 -45450659786.369 51648474857.951 -30918813765.345 7581055060.934
+ -1513508.762 103783451.186 -1748102418.555 12430950040.910 -45450659629.116 92554068055.492 -106051533934.550 63930593798.524 -15768594860.461
+ 1621616.245 -113513134.744 1942335832.294 -13984817837.553 51648474522.865 -106051533619.168 122367153478.811 -74205153941.725 18396694339.891
+ -926637.713 65894238.509 -1141617699.885 8302674292.974 -30918813482.078 63930593442.957 -74205153752.171 45229808347.238 -11263282427.957
+ 218789.431 -15752839.829 275674708.596 -2021614600.330 7581054973.445 -15768594736.890 18396694252.044 -11263282403.187 2815820646.255
+
+Unity matrix (9,9) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000020 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.999999736 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000001311 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.999994516 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000010729 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.999988794 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000007033 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.999998331
+
+Tough matrix (10,10) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667
+ 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500
+ 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824
+ 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556
+ 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632
+Condition number for 10 is 1.752/1.093e-013 = 1.603e+013
+Inverse matrix (10,10) :
+ 99.998 -4949.799 79195.709 -600560.984 2522333.892 -6305788.397 9608760.653 -8750788.923 4375374.226 -923686.374
+ -4949.798 326682.514 -5880227.623 47564135.425 -208091759.805 535090240.741 -832358836.401 770070497.881 -389846879.813 83132086.738
+ 79195.672 -5880226.224 112899562.617 -951278092.029 4280732048.733 -11236879247.305 17756987042.014 -16633540253.944 8505767418.186 -1828911204.721
+ -600560.529 47564112.434 -951277873.427 8244377882.725 -37872496678.683 100993070289.007 -161588567805.680 152894283275.722 -78835989522.603 17069877093.739
+ 2522331.254 -208091609.716 4280730145.215 -37872488853.520 176737966891.218 -477191800412.181 771218096680.094 -735804221090.567 382051830755.609 -83215805967.127
+ -6305780.063 535089734.721 -11236872025.250 100993030695.293 -477191714165.859 1301431128698.985 -2120849586526.477 2037612782303.081 -1064288386054.070 233004616541.297
+ 9608745.465 -832357875.421 17756972408.789 -161588477538.508 771217834478.031 -2120849254732.558 3480368274539.922 -3363679745745.391 1765931952155.640 -388341532567.761
+ -8750772.982 770069460.102 -16633523789.610 152894174927.614 -735803866992.391 2037612184815.825 -3363679291525.813 3267575842937.722 -1723136455840.125 380416617490.994
+ 4375365.278 -389846285.019 8505757710.606 -78835922969.888 382051598731.404 -1064287945581.173 1765931505659.158 -1723136254798.034 912249316079.192 -202096521832.877
+ -923684.294 83131946.261 -1828908863.929 17069860585.773 -83215746012.759 233004495129.842 -388341394105.763 380416534361.626 -202096501401.612 44910375759.159
+
+Unity matrix (10,10) ? :
+ 0.999999995 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000359 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.999993026 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000059605 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.999747276 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.001113892 0.000000000 0.000000000 0.000000000 0.000000000 1.000625610 0.000000000 0.000000000 0.000000000 0.000000000
+ -0.001853943 -0.001602173 -0.001464844 -0.001281738 -0.001155853 -0.001029968 0.999053955 0.000000000 0.000000000 0.000000000
+ 0.001884460 0.001647949 0.001392365 0.001293182 0.001186371 0.001014709 0.000000000 1.000911713 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.999593735 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000084877
+
+Tough matrix (11,11) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500
+ 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824
+ 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556
+ 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632
+ 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632 0.050000
+ 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632 0.050000 0.047619
+Condition number for 11 is 1.775/3.399e-015 = 5.222e+014
+Inverse matrix (11,11) :
+ 120.926 -7252.244 141367.640 -1319046.042 6923322.219 -22150142.699 44819925.963 -57617026.741 45607547.392 -20267700.979 3868895.514
+ -7252.203 579978.583 -12719870.785 126605936.838 -692252204.869 2278155447.995 -4706000891.333 6145931029.941 -4925870569.679 2211201062.176 -425623981.385
+ 141365.710 -12719780.855 297585069.928 -3085581716.881 17354135924.167 -58303498728.468 122353898188.513 -161793675969.625 130988449121.642 -59291484767.537 11492789765.142
+ -1319016.561 126604104.266 -3085560261.254 32909045420.117 -188952763054.527 644909366027.913 -1370342565515.343 1830409349745.074 -1494283439513.659 681125007894.463 -132814204752.142
+ 6923107.109 -692237155.231 17353900915.946 -188951564686.588 1102153522810.375 -3808855248387.063 8175227763814.505 -11011127233412.887 9052125826715.020 -4150768523289.949 813530013369.873
+ -22149268.184 2278090163.057 -58302351536.933 644901564666.619 -3808833872808.689 13295945734256.498 -28776453755102.828 39030398480101.000 -32277924096771.152 14876836815876.811 -2928836534601.230
+ 44817799.858 -4705835509.671 122350797671.262 -1370318841091.766 8175141079149.919 -28776312617226.359 62717236433541.062 -85572912571837.281 71132133958508.094 -32931395212708.879 6508766507868.842
+ -57613864.434 6145677954.581 -161788732788.208 1830368998171.074 -11010961346824.229 39030038321136.391 -85572547324266.578 117357469223739.420 -97989484152788.031 45543634871908.430 -9032859830892.436
+ 45604727.835 -4925640173.553 130983819597.165 -1494244068717.797 9051953164035.418 -32277502331170.098 71131563617664.016 -97989120221378.469 82139204739591.422 -38309605570399.672 7621684216591.468
+ -20266317.349 2211086184.619 -59289128023.406 681104390541.943 -4150674328880.266 14876591368090.535 -32931021788437.402 45543317147907.781 -38309481517136.344 17922935124228.035 -3575690525339.167
+ 3868608.241 -425599828.054 11492286325.253 -132809708346.763 813508882043.873 -2928779173391.432 6508673415339.393 -9032770718978.760 7621637823761.363 -3575680398453.207 715153195180.866
+
+Unity matrix (11,11) ? :
+ 0.999999949 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000004791 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.999890924 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.001733780 0.001487732 0.001239777 1.001100540 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ -0.010330200 -0.008590698 -0.007553101 -0.006591797 0.994110107 -0.005218506 -0.004768372 -0.004394531 -0.004058838 -0.003776550 -0.003616333
+ 0.036315918 0.030883789 0.025939941 0.022674561 0.020935059 1.018463135 0.017211914 0.015502930 0.014709473 0.013092041 0.012847900
+ -0.081298828 -0.069519043 -0.058959961 -0.052917480 -0.047119141 -0.041625977 0.960937500 -0.035278320 -0.032287598 -0.029602051 -0.029174805
+ 0.110107422 0.093627930 0.081909180 0.070190430 0.064575195 0.056762695 0.052246094 1.047912598 0.043212891 0.039306641 0.038513184
+ -0.094238281 -0.079345703 -0.069702148 -0.058349609 -0.053527832 -0.048889160 -0.044494629 -0.040893555 0.962524414 -0.033996582 -0.033142090
+ 0.044067383 0.036743164 0.032348633 0.028320313 0.025512695 0.022521973 0.020111084 0.019195557 0.017456055 1.015625000 0.015472412
+ -0.008666992 -0.007255554 -0.006324768 -0.005485535 -0.004997253 -0.004402161 -0.004005432 -0.003715515 -0.003395081 -0.003135681 0.996952057
+
+Tough matrix (12,12) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824
+ 0.142857 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556
+ 0.125000 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632
+ 0.111111 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632 0.050000
+ 0.100000 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632 0.050000 0.047619
+ 0.090909 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632 0.050000 0.047619 0.045455
+ 0.083333 0.076923 0.071429 0.066667 0.062500 0.058824 0.055556 0.052632 0.050000 0.047619 0.045455 0.043478
+Condition number for 12 is 1.795/1.063e-016 = 1.690e+016
+Inverse matrix (12,12) :
+ 141.641 -9995.816 230769.229 -2573322.924 16346797.011 -64428923.299 164758412.526 -278147481.358 307730856.088 -214591624.135 85543943.470 -14859582.786
+ -9994.588 943200.226 -24555751.173 292659708.880 -1939826449.970 7875445084.611 -20584662440.577 35341967686.091 -39628387019.758 27937753857.217 -11238587198.442 1967260823.364
+ 230699.837 -24551848.308 683142863.459 -8494839318.401 57994287519.376 -240637095504.419 639606650899.748 -1112864412115.561 1261434620805.714 -897342614564.402 363728711643.217 -64084184490.635
+ -2572035.201 292563089.625 -8493472315.829 108780393063.454 -758979797650.140 3202357490547.234 -8625434911164.056 15170320992196.902 -17350151435119.314 12435800657626.238 -5073346908126.240 898857809722.874
+ 16335268.771 -1938852927.840 57975916346.701 -758865983341.423 5383962613196.648 -23019355738993.852 62672503282033.594 -111215067518668.090 128154897448262.190 -92447066763371.781 37924783614991.055 -6751850889609.922
+ -64370514.415 7870181903.298 -240525328298.101 3201434045026.228 -23016251084867.793 99470758759903.000 -273241324958535.690 488527059055765.370 -566551306528511.870 410957979804121.440 -169403173933087.220 30287575707550.023
+ 164577159.615 -20567644108.538 639221069827.624 -8621850247210.434 62656431738941.945 -273208709965051.060 756134865524289.000 -1360557359728713.700 1586583332768252.200 -1156404251441245.700 478708472645813.000 -85909843956921.656
+ -277790370.479 35307470435.419 -1112050080489.417 15162244283100.174 -111174324333220.940 488416802927545.560 -1360414623248910.500 2461404910758269.000 -2884132886342333.500 2111038378865412.700 -877167773581581.370 157944475620003.470
+ 307282439.640 -39584156949.882 1260360516274.548 -17339052769221.057 128095170370891.030 -566369456054731.370 1586269410670053.200 -2883867513338693.000 3393444499484361.500 -2493130730957643.000 1039391884629227.400 -187715527486916.870
+ -214244002.019 27902914472.091 -896478796299.253 12426618689618.969 -92395590145809.297 410790786235134.060 -1156079529542992.000 2110672352174367.200 -2492929440847971.000 1837644282027989.000 -768411156284119.370 139150648892740.470
+ 85392317.642 -11223198257.326 363341043293.058 -5069139864676.587 37900521676717.641 -169321082624488.910 478538395374923.440 -876952086360566.750 1039233725557206.200 -768356611408347.870 322155345435406.000 -58481351000192.016
+ -14831120.741 1964342486.327 -64009739443.514 898037014076.327 -6747018367163.292 30270756336039.871 -85873543429889.781 157895368825460.560 -187675015571079.470 139132019527899.310 -58477691179828.977 10639162326696.896
+
+Unity matrix (12,12) ? :
+ 0.999999663 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000036657 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ -0.001411438 -0.001169205 0.998987198 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.019119263 0.015869141 0.013916016 1.012161255 0.010665894 0.009483337 0.008697510 0.008087158 0.007369995 0.006668091 0.006507874 0.005973816
+ -0.141235352 -0.119140625 -0.101440430 -0.088195801 0.922851563 -0.069396973 -0.065856934 -0.058654785 -0.054931641 -0.050231934 -0.047790527 -0.043884277
+ 0.612304688 0.507812500 0.433105469 0.385009766 0.341308594 1.308349609 0.282714844 0.254394531 0.233642578 0.211425781 0.209960938 0.189208984
+ -1.734375000 -1.468750000 -1.254882813 -1.080078125 -0.978515625 -0.871093750 0.205078125 -0.730468750 -0.672851563 -0.606445313 -0.583984375 -0.559570313
+ 3.179687500 2.636718750 2.253906250 1.996093750 1.779296875 1.582031250 1.458007813 2.325195313 1.228515625 1.145507813 1.083007813 0.967773438
+ -3.691406250 -3.037109375 -2.658203125 -2.337890625 -2.085937500 -1.791015625 -1.669921875 -1.509765625 -0.414062500 -1.277343750 -1.243164063 -1.125976563
+ 2.636718750 2.203125000 1.902343750 1.658203125 1.474609375 1.333007813 1.193359375 1.071289063 1.023437500 1.909179688 0.879882813 0.791992188
+ -1.132812500 -0.955078125 -0.814453125 -0.704589844 -0.614257813 -0.569335938 -0.506347656 -0.462890625 -0.438964844 -0.393066406 0.610839844 -0.345703125
+ 0.201660156 0.169921875 0.145141602 0.126708984 0.114624023 0.102783203 0.092529297 0.083984375 0.078735352 0.071411133 0.068664551 1.061279297
+
+
+ -------------- Matrix Test 3 ---------------------------------
+Read and print matrix from file
+File data/anotsym.dat (0) Matrix(4,4) :
+ 5.000 1.450 1.320 -1.100
+ 0.450 4.200 1.210 1.110
+ 0.320 0.210 3.300 1.900
+ -0.100 0.110 0.900 6.600
+Condition number is 2.507/7.390e+000 = 0.339
+Inverse matrix (4,4) :
+ 0.213 -0.071 -0.078 0.070
+ -0.018 0.249 -0.078 -0.022
+ -0.023 -0.006 0.342 -0.101
+ 0.007 -0.004 -0.047 0.167
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 -0.000000000 -0.000000000
+ -0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 -0.000000000
+ -0.000000000 0.000000000 -0.000000000 1.000000000
+
+File data/cov.dat (0) Matrix(15,15) :
+ 21.300 10.100 -21.300 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800
+ 10.100 4.900 -10.100 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700
+ -21.300 -10.100 0.117 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 15.300 7.320 -15.300 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800
+ 3.700 1.780 -3.700 7.320 3.550 -7.320 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700
+ -7.800 -3.700 0.043 -15.300 -7.320 0.085 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 39.500 18.900 -39.500 7.800 3.700 -7.800 7.800 3.700 -7.800
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 18.900 9.130 -18.900 3.700 1.780 -3.700 3.700 1.780 -3.700
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -39.500 -18.900 0.218 -7.800 -3.700 0.043 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 31.600 15.000 -31.600 7.800 3.700 -7.800
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 15.000 7.190 -15.000 3.700 1.780 -3.700
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -31.600 -15.000 0.172 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 32.200 15.300 -32.200
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 15.300 7.370 -15.300
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -32.200 -15.300 0.176
+Condition number is 114.643/4.147e-002 = 2764.407
+Inverse matrix (15,15) :
+ 2.415 -5.087 -0.062 -0.801 1.671 0.022 -0.291 0.610 0.005 -0.390 0.826 0.007 -0.233 0.493 0.007
+ -5.087 10.717 0.000 1.652 -3.446 0.000 0.609 -1.276 0.000 0.833 -1.763 0.000 0.496 -1.050 0.000
+ -0.062 -0.000 -0.062 0.022 0.000 0.022 0.005 0.000 0.005 0.007 0.000 0.007 0.007 0.000 0.007
+ -0.801 1.652 0.022 7.100 -14.778 -0.094 -1.133 2.348 0.009 -1.516 3.171 0.013 -0.911 1.895 0.012
+ 1.671 -3.446 0.000 -14.778 30.755 0.000 2.339 -4.846 0.000 3.158 -6.607 0.000 1.896 -3.944 0.000
+ 0.022 -0.000 0.022 -0.094 0.000 -0.094 0.009 0.000 0.009 0.013 0.000 0.013 0.012 0.000 0.012
+ -0.291 0.609 0.005 -1.133 2.339 0.009 3.316 -6.917 -0.029 -0.556 1.168 0.003 -0.333 0.697 0.003
+ 0.610 -1.276 0.000 2.348 -4.846 0.000 -6.917 14.431 0.000 1.163 -2.444 0.000 0.696 -1.458 0.000
+ 0.005 -0.000 0.005 0.009 0.000 0.009 -0.029 0.000 -0.029 0.003 0.000 0.003 0.003 0.000 0.003
+ -0.390 0.833 0.007 -1.516 3.158 0.013 -0.556 1.163 0.003 4.268 -8.985 -0.038 -0.450 0.952 0.004
+ 0.826 -1.763 0.000 3.171 -6.607 0.000 1.168 -2.444 0.000 -8.985 18.912 0.000 0.950 -2.010 0.000
+ 0.007 0.000 0.007 0.013 0.000 0.013 0.003 0.000 0.003 -0.038 0.000 -0.038 0.004 0.000 0.004
+ -0.233 0.496 0.007 -0.911 1.896 0.012 -0.333 0.696 0.003 -0.450 0.950 0.004 2.735 -5.751 -0.037
+ 0.493 -1.050 0.000 1.895 -3.944 0.000 0.697 -1.458 0.000 0.952 -2.010 0.000 -5.751 12.091 0.000
+ 0.007 0.000 0.007 0.012 -0.000 0.012 0.003 -0.000 0.003 0.004 0.000 0.004 -0.037 0.000 -0.037
+Unity matrix (15,15) ? :
+ 1.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000
+ -0.000000000 1.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000
+ -0.000000000 -0.000000000 1.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 -0.000000000 1.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 -0.000000000
+ -0.000000000 -0.000000000 0.000000000 0.000000000 1.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000
+ -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 1.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000 0.000000000 1.000000000 0.000000000 -0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000
+ 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 1.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000
+ 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000
+ 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 1.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000
+ -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 1.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000
+ 0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 1.000000000 -0.000000000 -0.000000000 -0.000000000
+ 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 1.000000000 0.000000000 -0.000000000
+ -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 -0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 -0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 1.000000000
+
+File data/dia.dat (0) Matrix(4,4) :
+ 8.824 0.000 0.000 0.000
+ 0.000 2.283 0.000 0.000
+ 0.000 0.000 1.300 0.000
+ 0.000 0.000 0.000 -1.082
+Condition number is 8.824/1.082e+000 = 8.155
+Inverse matrix (4,4) :
+ 0.113 0.000 0.000 0.000
+ 0.000 0.438 0.000 0.000
+ 0.000 0.000 0.769 0.000
+ 0.000 0.000 0.000 -0.924
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000
+
+File data/lt.dat (0) Matrix(4,4) :
+ 10.882 0.000 0.000 0.000
+ 8.284 9.763 0.000 0.000
+ 5.273 6.876 7.117 0.000
+ 1.991 2.002 3.765 4.372
+Condition number is 18.127/3.558e+000 = 5.094
+Inverse matrix (4,4) :
+ 0.092 0.000 0.000 0.000
+ -0.078 0.102 0.000 0.000
+ 0.007 -0.099 0.141 0.000
+ -0.012 0.038 -0.121 0.229
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000
+ -0.000000000 0.000000000 1.000000000 0.000000000
+ -0.000000000 0.000000000 0.000000000 1.000000000
+
+File data/partials.dat (0) Matrix(15,13) :
+ -1900.000 -37.000 2000.000 -3800.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000
+ -1800.000 -6.200 2200.000 -3900.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000
+ 2600.000 570.000 -940.000 -2.500 0.000 110.000 0.310 -200.000 0.000 64.000 -190.000 -170.000 520.000
+ 2000.000 -2100.000 -1700.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000 0.000 -0.000
+ 30.000 200.000 2900.000 0.000 0.000 1800.000 89.000 -5100.000 -250.000 0.000 -0.000 -0.000 0.000
+ -8.200 -0.340 4.200 0.000 0.000 1.200 0.000 -3.800 -0.150 31.000 0.410 82.000 -0.000
+ 370.000 230.000 -96.000 0.000 0.000 0.000 0.000 -32.000 -0.730 -61.000 7.800 820.000 33.000
+ -1500.000 -280.000 140.000 0.000 0.000 0.000 0.000 680.000 33.000 1200.000 57.000 -3100.000 -150.000
+ -0.170 -0.920 0.170 0.000 0.000 0.000 0.000 0.430 0.000 0.580 -0.054 -2.300 -0.095
+ 17.000 -55.000 1.500 0.000 0.000 0.000 0.000 0.000 0.000 -33.000 -0.820 -63.000 8.100
+ 100.000 600.000 -100.000 0.000 0.000 0.000 0.000 0.000 0.000 730.000 35.000 1200.000 61.000
+ -0.380 -0.290 0.150 0.000 0.000 0.000 0.000 0.000 0.000 0.460 0.000 0.610 -0.057
+ -26.000 -19.000 10.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -30.000 -0.270
+ 210.000 160.000 -83.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 640.000 31.000
+ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.410 0.000
+ ATA Matrix(13,13) :
+ 20052932.413 -2032277.945 -13790219.026 14233500.000 703000.000 157990.160 14876.000 2831891.087 99641.130 -19553985.473 -1402431.293 23634836.759 2526964.758
+ -2032277.945 5296594.486 3391725.872 163355.000 8208.000 613799.592 6006.700 -5737827.904 -246554.089 10745533.793 419734.210 2006429.059 397909.734
+ -13790219.026 3391725.872 21069424.941 -16177650.000 -798000.000 5271305.040 248118.600 -18455943.887 -847670.550 17530776.868 981131.683 -21946090.400 -1571631.575
+ 14233500.000 163355.000 -16177650.000 29650006.250 1463000.000 -275.000 -0.775 701200.000 -43890.000 -16170160.000 -684825.000 39270425.000 1923700.000
+ 703000.000 8208.000 -798000.000 1463000.000 72200.000 0.000 0.000 34580.000 -2166.000 -798000.000 -33820.000 1938000.000 95000.000
+ 157990.160 613799.592 5271305.040 -275.000 0.000 3260382.440 159715.400 -9393104.560 -458099.180 471177.200 1850.492 -18601.600 57200.000
+ 14876.000 6006.700 248118.600 -0.775 0.000 159715.400 7953.586 -441992.000 -21742.700 -29050.160 -1483.900 -52.700 161.200
+ 2831891.087 -5737827.904 -18455943.887 701200.000 34580.000 -9393104.560 -441992.000 30940000.625 1483326.530 -10287165.551 -464689.181 -1172352.589 -161556.041
+ 99641.130 -246554.089 -847670.550 -43890.000 -2166.000 -458099.180 -21742.700 1483326.530 71575.535 -390320.120 -19360.156 -161050.900 -7824.090
+ -19553985.473 10745533.793 17530776.868 -16170160.000 -798000.000 471177.200 -29050.160 -10287165.551 -390320.120 36812767.548 1730153.939 -24320280.053 -1154470.381
+ -1402431.293 419734.210 981131.683 -684825.000 -33820.000 1850.492 -1483.900 -464689.181 -19360.156 1730153.939 118977.683 -1003718.596 -149464.237
+ 23634836.759 2006429.059 -21946090.400 39270425.000 1938000.000 -18601.600 -52.700 -1172352.589 -161050.900 -24320280.053 -1003718.596 64192498.830 3046197.984
+ 2526964.758 397909.734 -1571631.575 1923700.000 95000.000 57200.000 161.200 -161556.041 -7824.090 -1154470.381 -149464.237 3046197.984 423736.695
+Condition number is 127773101.995/5.119e-003 = 24961120974.177
+Inverse matrix (13,13) :
+ 0.254 0.103 0.854 1.994 -34.178 -0.438 5.837 0.898 -9.379 0.060 -1.381 -0.003 0.094
+ 0.103 0.045 0.359 0.835 -14.304 -0.197 2.730 0.364 -3.656 0.023 -0.584 -0.001 0.049
+ 0.854 0.359 2.922 6.808 -116.626 -1.579 21.649 2.998 -30.543 0.200 -4.751 -0.009 0.361
+ 1.994 0.835 6.808 15.867 -271.840 -3.657 49.977 7.006 -71.591 0.468 -11.062 -0.021 0.831
+ -34.178 -14.304 -116.626 -271.840 4657.442 62.395 -850.930 -120.214 1230.266 -8.018 189.411 0.355 -14.177
+ -0.438 -0.197 -1.579 -3.657 62.395 1.178 -18.178 -1.403 12.104 -0.104 2.682 0.001 -0.250
+ 5.837 2.730 21.649 49.977 -850.930 -18.178 290.113 17.780 -136.284 1.378 -37.500 0.014 3.840
+ 0.898 0.364 2.998 7.006 -120.214 -1.403 17.780 3.244 -34.771 0.212 -4.794 -0.012 0.316
+ -9.379 -3.656 -30.543 -71.591 1230.266 12.104 -136.284 -34.771 389.620 -2.232 48.010 0.156 -2.638
+ 0.060 0.023 0.200 0.468 -8.018 -0.104 1.378 0.212 -2.232 0.015 -0.325 -0.001 0.018
+ -1.381 -0.584 -4.751 -11.062 189.411 2.682 -37.500 -4.794 48.010 -0.325 7.785 0.012 -0.596
+ -0.003 -0.001 -0.009 -0.021 0.355 0.001 0.014 -0.012 0.156 -0.001 0.012 0.000 -0.000
+ 0.094 0.049 0.361 0.831 -14.177 -0.250 3.840 0.316 -2.638 0.018 -0.596 -0.000 0.083
+Unity matrix (13,13) ? :
+ 0.999999990 0.000000000 0.000000014 -0.000000015 -0.000000001 0.000000001 0.000000000 -0.000000006 -0.000000000 0.000000014 0.000000001 -0.000000021 -0.000000001
+ -0.000000003 1.000000000 0.000000002 -0.000000004 -0.000000000 -0.000000001 0.000000000 0.000000001 0.000000000 0.000000004 0.000000000 -0.000000007 -0.000000000
+ -0.000000030 0.000000001 1.000000014 -0.000000038 -0.000000001 -0.000000003 -0.000000000 0.000000003 -0.000000000 0.000000047 0.000000002 -0.000000064 -0.000000002
+ -0.000000127 0.000000002 0.000000098 0.999999867 -0.000000011 -0.000000002 -0.000000000 -0.000000009 -0.000000000 0.000000119 0.000000006 -0.000000234 -0.000000010
+ 0.000001371 0.000000084 -0.000000767 0.000002466 1.000000089 0.000000175 0.000000007 -0.000000679 -0.000000049 -0.000001714 -0.000000102 0.000004858 0.000000237
+ 0.000000007 -0.000000000 0.000000001 -0.000000001 0.000000000 1.000000003 0.000000000 -0.000000009 -0.000000000 -0.000000012 -0.000000000 0.000000032 0.000000003
+ -0.000000084 0.000000002 0.000000204 -0.000000024 -0.000000001 -0.000000005 1.000000000 0.000000014 0.000000003 0.000000139 0.000000013 -0.000000432 -0.000000014
+ -0.000000011 -0.000000002 0.000000020 -0.000000059 -0.000000002 -0.000000005 -0.000000000 1.000000010 0.000000000 0.000000047 0.000000002 -0.000000046 -0.000000001
+ 0.000000123 0.000000002 -0.000000081 0.000000294 0.000000007 0.000000072 0.000000002 -0.000000024 1.000000000 -0.000000374 -0.000000018 0.000000511 0.000000037
+ -0.000000000 0.000000000 0.000000001 -0.000000001 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 1.000000001 0.000000000 -0.000000003 -0.000000000
+ 0.000000084 -0.000000001 -0.000000042 0.000000135 0.000000005 0.000000002 0.000000000 0.000000008 -0.000000001 -0.000000077 0.999999996 0.000000195 0.000000008
+ 0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 -0.000000000 -0.000000000 1.000000000 0.000000000
+ -0.000000003 0.000000000 0.000000002 -0.000000002 -0.000000000 -0.000000000 -0.000000000 0.000000002 -0.000000000 0.000000004 0.000000000 -0.000000006 1.000000000
+
+File data/squ.dat (0) Matrix(5,5) :
+ 1.000 1.345 2.827 4.201 -0.428
+ 2.188 2.000 0.823 8.291 -0.723
+ 0.488 1.345 3.000 0.831 -0.320
+ -0.009 6.205 -0.948 4.000 1.920
+ 2.835 -1.283 -0.873 2.834 5.831
+Condition number is 12.056/3.223e+000 = 3.740
+Inverse matrix (5,5) :
+ -1.847 0.832 1.490 -0.169 0.105
+ -0.507 0.166 0.459 0.112 -0.028
+ 0.415 -0.204 -0.005 -0.021 0.012
+ 0.616 -0.147 -0.535 0.028 -0.011
+ 0.549 -0.327 -0.364 0.090 0.122
+Unity matrix (5,5) ? :
+ 1.000000000 -0.000000000 -0.000000000 -0.000000000 0.000000000
+ 0.000000000 1.000000000 -0.000000000 0.000000000 0.000000000
+ -0.000000000 -0.000000000 1.000000000 -0.000000000 0.000000000
+ 0.000000000 -0.000000000 -0.000000000 1.000000000 -0.000000000
+ 0.000000000 0.000000000 -0.000000000 0.000000000 1.000000000
+
+File data/sym.dat (0) Matrix(4,4) :
+ 10.000 1.345 2.827 4.201
+ 1.345 9.823 8.291 -0.723
+ 2.827 8.291 13.000 0.831
+ 4.201 -0.723 0.831 9.009
+Condition number is 20.887/2.780e+000 = 7.513
+Inverse matrix (4,4) :
+ 0.132 -0.003 -0.023 -0.060
+ -0.003 0.229 -0.148 0.034
+ -0.023 -0.148 0.177 -0.018
+ -0.060 0.034 -0.018 0.143
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000
+ -0.000000000 1.000000000 -0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 -0.000000000
+ -0.000000000 0.000000000 -0.000000000 1.000000000
+
+File data/tmatrix.dat (0) Matrix(4,5) :
+ 1.000 1.345 2.827 4.201 -0.428
+ 2.188 2.000 0.823 8.291 -0.723
+ 0.488 1.345 3.000 0.831 -0.320
+ -0.009 6.205 -0.948 4.000 1.920
+ ATA Matrix(5,5) :
+ 6.026 6.322 6.101 22.711 -2.183
+ 6.322 46.120 3.602 48.170 9.461
+ 6.101 3.602 18.569 17.404 -4.586
+ 22.711 48.170 17.404 103.080 -0.379
+ -2.183 9.461 -4.586 -0.379 4.495
+Condition number is 137.365/1.293e-015 = 106202104225911090.000
+Inverse matrix (5,5) :
+ 686923185092960.750 -185078003269321.030 76822579209497.562 -74907511829194.109 795338110082996.750
+ -185078003269321.090 49865644423582.211 -20698339893957.059 20182362482558.527 -214288282201800.440
+ 76822579209497.594 -20698339893957.062 8591511837820.998 -8377338814245.507 88947245174023.641
+ -74907511829194.094 20182362482558.516 -8377338814245.501 8168504790942.121 -86729928734589.344
+ 795338110082997.000 -214288282201800.440 88947245174023.625 -86729928734589.391 920863821570964.000
+Unity matrix (5,5) ? :
+ 2.500000000 1.000000000 1.500000000 6.937500000 0.000000000
+ -0.250000000 1.250000000 -0.250000000 -1.109375000 -0.125000000
+ 0.000000000 0.125000000 1.125000000 0.347656250 0.062500000
+ -0.062500000 0.000000000 -0.062500000 0.683593750 0.000000000
+ 0.500000000 0.000000000 1.500000000 4.750000000 1.000000000
+
+File data/ut.dat (0) Matrix(4,4) :
+ 1.834 2.837 3.223 4.808
+ 0.000 5.837 6.774 7.083
+ 0.000 0.000 8.237 9.118
+ 0.000 0.000 0.000 10.838
+Condition number is 19.305/4.345e+000 = 4.443
+Inverse matrix (4,4) :
+ 0.545 -0.265 0.005 -0.073
+ 0.000 0.171 -0.141 0.007
+ 0.000 0.000 0.121 -0.102
+ 0.000 0.000 0.000 0.092
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000
+
+
+ -------------- Matrix Test 4 ---------------------------------
+Matrix A(7,7) :
+ 8.317 0.212 5.740 4.317 -1.109 0.174 1.960
+ 6.212 3.292 1.574 1.028 7.438 5.408 6.592
+ 2.574 1.574 1.911 1.039 7.236 -9.503 9.440
+ 5.317 1.028 1.390 7.126 6.783 -6.527 4.428
+ 2.080 3.370 8.544 4.512 0.356 -6.589 -4.531
+ -9.133 -2.077 8.930 8.538 -9.509 -6.375 5.084
+ -2.755 -2.739 9.216 5.226 -0.109 -7.239 4.296
+Vector b(7) :
+ 14.289 9.284 -1.128 8.389 -6.929 4.664 7.590
+
+Now solve using SVD
+Singular Values (7) :
+ 26.619 21.861 12.423 10.365 5.533 4.560 3.420
+Matrix U(7,7) :
+ 0.203 0.207 -0.573 0.370 -0.368 0.556 0.073
+ -0.006 0.525 -0.066 0.603 0.476 -0.355 0.063
+ 0.369 0.447 0.525 -0.221 0.127 0.419 0.384
+ 0.335 0.434 0.016 -0.184 -0.601 -0.518 -0.191
+ 0.342 0.002 -0.603 -0.511 0.401 -0.176 0.260
+ 0.578 -0.536 0.153 0.393 -0.100 -0.230 0.371
+ 0.509 -0.079 0.068 0.037 0.301 0.190 -0.776
+Matrix V(7,7) :
+ -0.060 0.620 -0.530 0.050 -0.371 0.430 0.078
+ -0.019 0.195 -0.163 -0.107 0.326 -0.342 0.837
+ 0.567 -0.092 -0.445 0.181 0.605 0.198 -0.184
+ 0.480 0.001 -0.236 0.186 -0.492 -0.655 -0.088
+ -0.029 0.684 0.191 -0.260 0.335 -0.357 -0.432
+ -0.575 -0.011 -0.245 0.697 0.188 -0.258 -0.148
+ 0.334 0.318 0.585 0.605 -0.015 0.188 0.208
+Difference (7,7) :
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+Determinant of A = 6.466e+006 -- Compare to 6.466e+006
+Solution via backsubstitution (7) :
+ 0.898 -2.119 0.214 1.096 0.064 0.849 0.631
+Solution residuals (7) :
+ 7.105e-015 -8.882e-015 1.998e-015 -1.776e-015 1.776e-015 2.043e-014 1.599e-014
+
+Sort in ascending order
+Singular Values (7) :
+ 3.420 4.560 5.533 10.365 12.423 21.861 26.619
+Matrix U(7,7) :
+ 0.073 0.556 -0.368 0.370 -0.573 0.207 0.203
+ 0.063 -0.355 0.476 0.603 -0.066 0.525 -0.006
+ 0.384 0.419 0.127 -0.221 0.525 0.447 0.369
+ -0.191 -0.518 -0.601 -0.184 0.016 0.434 0.335
+ 0.260 -0.176 0.401 -0.511 -0.603 0.002 0.342
+ 0.371 -0.230 -0.100 0.393 0.153 -0.536 0.578
+ -0.776 0.190 0.301 0.037 0.068 -0.079 0.509
+Matrix V(7,7) :
+ 0.078 0.430 -0.371 0.050 -0.530 0.620 -0.060
+ 0.837 -0.342 0.326 -0.107 -0.163 0.195 -0.019
+ -0.184 0.198 0.605 0.181 -0.445 -0.092 0.567
+ -0.088 -0.655 -0.492 0.186 -0.236 0.001 0.480
+ -0.432 -0.357 0.335 -0.260 0.191 0.684 -0.029
+ -0.148 -0.258 0.188 0.697 -0.245 -0.011 -0.575
+ 0.208 0.188 -0.015 0.605 0.585 0.318 0.334
+
+
+Now reduce A by one column and repeat
+Matrix A(7,6) :
+ 8.317 0.212 5.740 4.317 -1.109 0.174
+ 6.212 3.292 1.574 1.028 7.438 5.408
+ 2.574 1.574 1.911 1.039 7.236 -9.503
+ 5.317 1.028 1.390 7.126 6.783 -6.527
+ 2.080 3.370 8.544 4.512 0.356 -6.589
+ -9.133 -2.077 8.930 8.538 -9.509 -6.375
+ -2.755 -2.739 9.216 5.226 -0.109 -7.239
+Singular Values (6) :
+ 25.574 20.763 11.481 5.543 5.272 3.877
+Matrix U(7,7) :
+ -0.167 0.282 -0.672 0.423 0.354 -0.255 -0.267
+ 0.161 0.441 -0.395 -0.571 -0.474 0.086 -0.258
+ -0.216 0.433 0.570 -0.092 0.286 -0.014 -0.593
+ -0.238 0.512 0.172 0.530 -0.521 0.124 0.289
+ -0.416 0.238 -0.140 -0.311 0.430 0.530 0.434
+ -0.643 -0.468 -0.131 0.041 -0.323 0.287 -0.402
+ -0.506 0.020 0.053 -0.328 -0.088 -0.741 0.277
+Matrix V(6,6) :
+ 0.164 0.657 -0.427 0.440 0.391 -0.114
+ 0.048 0.214 -0.062 -0.293 0.150 0.916
+ -0.603 0.091 -0.437 -0.581 0.207 -0.239
+ -0.488 0.142 -0.257 0.388 -0.692 0.212
+ 0.165 0.679 0.373 -0.406 -0.406 -0.205
+ 0.585 -0.181 -0.646 -0.259 -0.371 -0.054
+Difference (7,6) :
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+
+ -------------- Matrix Test 5 ---------------------------------
+Matrix A(7,7) :
+ 8.317 0.212 5.740 4.317 -1.109 0.174 1.960
+ 6.212 3.292 1.574 1.028 7.438 5.408 6.592
+ 2.574 1.574 1.911 1.039 7.236 -9.503 9.440
+ 5.317 1.028 1.390 7.126 6.783 -6.527 4.428
+ 2.080 3.370 8.544 4.512 0.356 -6.589 -4.531
+ -9.133 -2.077 8.930 8.538 -9.509 -6.375 5.084
+ -2.755 -2.739 9.216 5.226 -0.109 -7.239 4.296
+Vector b(7) :
+ 14.289 9.284 -1.128 8.389 -6.929 4.664 7.590
+
+Now solve using LUD
+Matrix LU(7,7) :
+ 8.317 0.212 5.740 4.317 -1.109 0.174 1.960
+ 0.747 3.134 -2.713 -2.196 8.266 5.278 5.128
+ -1.098 -0.589 13.636 11.986 -5.862 -3.078 10.254
+ 0.639 0.285 -0.110 6.316 4.490 -8.482 2.848
+ -0.331 -0.852 0.646 -0.468 12.450 -4.667 4.023
+ 0.250 1.059 0.732 -0.477 -0.135 -14.647 -16.051
+ 0.309 0.481 0.106 -0.080 0.368 0.733 15.795
+Determinant of A = 6.466e+006
+Solution via backsubstitution (7) :
+ 0.898 -2.119 0.214 1.096 0.064 0.849 0.631
+Solution residuals (7) :
+ 0.000e+000 1.776e-015 2.887e-015 3.553e-015 -1.776e-015 -5.329e-015 -1.776e-015
+
+ -------------- Matrix Test 6 ---------------------------------
+Matrix A(4,4) :
+ 10.000 1.345 2.827 4.201
+ 1.345 9.823 8.291 -0.723
+ 2.827 8.291 13.000 0.831
+ 4.201 -0.723 0.831 9.009
+Vector b(4) :
+ 1.000 2.000 3.000 4.000
+
+Now compute Cholesky
+
+Cholesky of A (U) (4,4) :
+ 2.753 0.050 0.679 1.400
+ 0.000 2.088 2.325 -0.241
+ 0.000 0.000 3.595 0.277
+ 0.000 0.000 0.000 3.001
+
+Cholesky of A (L) (4,4) :
+ 3.162 0.000 0.000 0.000
+ 0.425 3.105 0.000 0.000
+ 0.894 2.548 2.390 0.000
+ 1.328 -0.415 0.293 2.643
+
+Difference U*UT with matrix A(4,4) :
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 -1.776e-015 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 -1.776e-015
+
+Difference L*LT with matrix A(4,4) :
+ -1.776e-015 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 -1.776e-015 1.110e-016
+ 0.000e+000 -1.776e-015 0.000e+000 0.000e+000
+ 0.000e+000 1.110e-016 0.000e+000 0.000e+000
+
+Solution via backsubstitution (4) :
+ -0.182 0.146 0.143 0.527
+Solution residuals (4) :
+ 2.220e-016 4.441e-016 4.441e-016 0.000e+000
+
+ -------------- Matrix Test 7 ---------------------------------
+Matrix A(4,5) :
+ 1.000 1.345 2.827 4.201 -0.428
+ 2.188 2.000 0.823 8.291 -0.723
+ 0.488 1.345 3.000 0.831 -0.320
+ -0.009 6.205 -0.948 4.000 1.920
+
+Now compute the Householder transformation
+HH: (4,5) :
+ 2.455 2.575 2.485 9.252 -0.890
+ 0.000 6.284 -0.445 3.874 1.870
+ 0.000 0.000 3.492 -1.107 -0.442
+ 0.000 0.000 0.000 1.116 0.105
+
+ -------------- Matrix Test 8 ---------------------------------
+Tough matrix (6,6) :
+ 1.000000 0.500000 0.333333 0.250000 0.200000 0.166667
+ 0.500000 0.333333 0.250000 0.200000 0.166667 0.142857
+ 0.333333 0.250000 0.200000 0.166667 0.142857 0.125000
+ 0.250000 0.200000 0.166667 0.142857 0.125000 0.111111
+ 0.200000 0.166667 0.142857 0.125000 0.111111 0.100000
+ 0.166667 0.142857 0.125000 0.111111 0.100000 0.090909
+Condition number is 1.619/1.083e-007 = 1.495e+007
+Gaussian elimiation:
+Inverse matrix (6,6) :
+ 36.000 -630.000 3360.000 -7560.000 7560.000 -2772.000
+ -630.000 14700.000 -88200.000 211680.000 -220500.000 83160.000
+ 3360.000 -88200.000 564480.000 -1411200.000 1512000.000 -582120.000
+ -7560.000 211680.000 -1411200.000 3628800.000 -3969000.000 1552320.000
+ 7560.000 -220500.000 1512000.000 -3969000.000 4410000.000 -1746360.000
+ -2772.000 83160.000 -582120.000 1552320.000 -1746360.000 698544.000
+
+Unity matrix ? (6,6) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
+
+LUD:
+Inverse matrix (6,6) :
+ 36.000 -630.000 3360.000 -7560.000 7560.000 -2772.000
+ -630.000 14700.000 -88200.000 211680.000 -220500.000 83160.000
+ 3360.000 -88200.000 564480.000 -1411200.000 1512000.000 -582120.000
+ -7560.000 211680.000 -1411200.000 3628800.000 -3969000.000 1552320.000
+ 7560.000 -220500.000 1512000.000 -3969000.000 4410000.000 -1746360.000
+ -2772.000 83160.000 -582120.000 1552320.000 -1746360.000 698544.000
+
+Unity matrix ? (6,6) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
+
+SVD:
+Inverse matrix (6,6) :
+ 36.000 -630.000 3360.000 -7560.000 7560.000 -2772.000
+ -630.000 14700.000 -88200.000 211680.000 -220500.000 83160.000
+ 3360.000 -88200.000 564480.000 -1411200.000 1512000.000 -582120.000
+ -7560.000 211680.000 -1411200.000 3628800.000 -3969000.000 1552320.000
+ 7560.000 -220500.000 1512000.000 -3969000.000 4410000.000 -1746360.000
+ -2772.000 83160.000 -582120.000 1552320.000 -1746360.000 698544.000
+
+Unity matrix ? (6,6) ? :
+ 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000
+
+
+ -------------- Matrix Test 9 ---------------------------------
+Read matrix and vector (in form M||V) from file, invert and solve
+File data/anotsym.dat (0) Matrix(4,4) :
+ 5.000 1.450 1.320 -1.100
+ 0.450 4.200 1.210 1.110
+ 0.320 0.210 3.300 1.900
+ -0.100 0.110 0.900 6.600
+Partials Matrix (4,3) :
+ 5.000 1.450 1.320
+ 0.450 4.200 1.210
+ 0.320 0.210 3.300
+ -0.100 0.110 0.900
+Data vector (4) :
+ -1.100 1.110 1.900 6.600
+ ATA Matrix(3,3) :
+ 25.315 9.196 8.111
+ 9.196 19.799 7.788
+ 8.111 7.788 14.906
+Condition number is 37.649/9.024e+000 = 4.172
+Inverse matrix (3,3) :
+ 0.052 -0.016 -0.020
+ -0.016 0.069 -0.027
+ -0.020 -0.027 0.092
+Unity matrix (3,3) ? :
+ 1.000000000 -0.000000000 -0.000000000
+ -0.000000000 1.000000000 0.000000000
+ -0.000000000 0.000000000 1.000000000
+
+File data/cov.dat (0) Matrix(15,15) :
+ 21.300 10.100 -21.300 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800
+ 10.100 4.900 -10.100 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700
+ -21.300 -10.100 0.117 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 15.300 7.320 -15.300 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800
+ 3.700 1.780 -3.700 7.320 3.550 -7.320 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700
+ -7.800 -3.700 0.043 -15.300 -7.320 0.085 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 39.500 18.900 -39.500 7.800 3.700 -7.800 7.800 3.700 -7.800
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 18.900 9.130 -18.900 3.700 1.780 -3.700 3.700 1.780 -3.700
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -39.500 -18.900 0.218 -7.800 -3.700 0.043 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 31.600 15.000 -31.600 7.800 3.700 -7.800
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 15.000 7.190 -15.000 3.700 1.780 -3.700
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -31.600 -15.000 0.172 -7.800 -3.700 0.043
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 32.200 15.300 -32.200
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 15.300 7.370 -15.300
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -32.200 -15.300 0.176
+Partials Matrix (15,14) :
+ 21.300 10.100 -21.300 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700
+ 10.100 4.900 -10.100 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780
+ -21.300 -10.100 0.117 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700
+ 7.800 3.700 -7.800 15.300 7.320 -15.300 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700
+ 3.700 1.780 -3.700 7.320 3.550 -7.320 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780
+ -7.800 -3.700 0.043 -15.300 -7.320 0.085 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 39.500 18.900 -39.500 7.800 3.700 -7.800 7.800 3.700
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 18.900 9.130 -18.900 3.700 1.780 -3.700 3.700 1.780
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -39.500 -18.900 0.218 -7.800 -3.700 0.043 -7.800 -3.700
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 31.600 15.000 -31.600 7.800 3.700
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 15.000 7.190 -15.000 3.700 1.780
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -31.600 -15.000 0.172 -7.800 -3.700
+ 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 7.800 3.700 -7.800 32.200 15.300
+ 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 3.700 1.780 -3.700 15.300 7.370
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -32.200 -15.300
+Data vector (15) :
+ -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -7.800 -3.700 0.043 -32.200 -15.300 0.176
+ ATA Matrix(14,14) :
+ 1550.870 736.974 -857.638 1041.524 495.843 -576.085 1461.890 697.137 -808.730 1324.220 629.119 -732.321 1334.690 634.465
+ 736.974 350.224 -408.215 494.858 235.594 -274.102 694.550 331.219 -384.748 629.148 298.905 -348.405 634.122 301.446
+ -857.638 -408.215 853.841 -576.081 -274.573 573.538 -808.716 -386.035 805.150 -732.330 -348.271 729.098 -738.146 -351.290
+ 1041.524 494.858 -576.081 1063.242 507.202 -588.416 1358.004 647.789 -751.389 1220.334 579.771 -674.980 1230.804 585.117
+ 495.843 235.594 -274.573 507.202 241.961 -281.016 646.187 308.244 -357.950 580.785 275.930 -321.608 585.759 278.471
+ -576.085 -274.102 573.538 -588.416 -281.016 585.807 -751.379 -358.767 748.062 -674.993 -321.004 672.010 -680.808 -324.022
+ 1461.890 694.550 -808.716 1358.004 646.187 -751.379 4019.190 1922.881 -2225.517 1640.700 779.463 -907.615 1651.170 784.809
+ 697.137 331.219 -386.035 647.789 308.244 -358.767 1922.881 919.971 -1065.640 782.079 371.555 -433.070 787.053 374.095
+ -808.730 -384.748 805.150 -751.389 -357.950 748.062 -2225.517 -1065.640 2215.635 -907.638 -431.649 903.622 -913.453 -434.668
+ 1324.220 629.148 -732.330 1220.334 580.785 -674.993 1640.700 782.079 -907.638 2763.600 1313.074 -1528.441 1513.500 719.407
+ 629.119 298.905 -348.271 579.771 275.930 -321.004 779.463 371.555 -431.649 1313.074 623.890 -726.843 719.035 341.782
+ -732.321 -348.405 729.098 -674.980 -321.608 672.010 -907.615 -433.070 903.622 -1528.441 -726.843 1521.717 -837.045 -398.325
+ 1334.690 634.122 -738.146 1230.804 585.759 -680.808 1651.170 787.053 -913.453 1513.500 719.035 -837.045 2849.250 1355.305
+ 634.465 301.446 -351.290 585.117 278.471 -324.022 784.809 374.095 -434.668 719.407 341.782 -398.325 1355.305 644.691
+Condition number is 12457.101/5.492e-004 = 22683144.642
+Inverse matrix (14,14) :
+ 36.684 -77.141 -0.166 -35.003 72.932 0.126 -2.583 5.485 0.012 -6.369 13.544 0.020 -0.728 1.644
+ -77.141 162.238 0.359 72.353 -150.774 -0.270 5.533 -11.741 -0.026 13.964 -29.683 -0.044 1.714 -3.840
+ -0.166 0.359 0.009 0.204 -0.433 -0.007 0.005 -0.011 -0.000 0.017 -0.036 -0.001 -0.018 0.038
+ -35.003 72.353 0.204 292.366 -608.281 -0.629 -55.342 114.787 0.090 -85.464 179.159 0.138 -37.404 77.737
+ 72.932 -150.774 -0.433 -608.281 1265.596 1.327 114.809 -238.129 -0.189 178.009 -373.166 -0.291 77.756 -161.600
+ 0.126 -0.270 -0.007 -0.629 1.327 0.017 0.123 -0.258 -0.002 0.185 -0.390 -0.003 0.005 -0.008
+ -2.583 5.533 0.005 -55.342 114.809 0.123 68.322 -142.452 -0.112 -12.226 25.798 0.014 -3.496 7.396
+ 5.485 -11.741 -0.011 114.787 -238.129 -0.258 -142.452 297.018 0.235 25.721 -54.270 -0.029 7.377 -15.601
+ 0.012 -0.026 -0.000 0.090 -0.189 -0.002 -0.112 0.235 0.002 0.012 -0.025 -0.000 0.004 -0.009
+ -6.369 13.964 0.017 -85.464 178.009 0.185 -12.226 25.721 0.012 114.800 -241.490 -0.186 -7.923 16.946
+ 13.544 -29.683 -0.036 179.159 -373.166 -0.390 25.798 -54.270 -0.025 -241.490 508.002 0.396 16.798 -35.922
+ 0.020 -0.044 -0.001 0.138 -0.291 -0.003 0.014 -0.029 -0.000 -0.186 0.396 0.003 0.008 -0.017
+ -0.728 1.714 -0.018 -37.404 77.756 0.005 -3.496 7.377 0.004 -7.923 16.798 0.008 42.813 -89.816
+ 1.644 -3.840 0.038 77.737 -161.600 -0.008 7.396 -15.601 -0.009 16.946 -35.922 -0.017 -89.816 188.428
+Unity matrix (14,14) ? :
+ 1.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000
+ -0.000000000 1.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000001 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000
+ 0.000000006 0.000000003 -0.000000003 1.000000006 0.000000003 -0.000000003 0.000000008 0.000000004 -0.000000004 0.000000007 0.000000003 -0.000000004 0.000000007 0.000000003
+ -0.000000012 -0.000000006 0.000000007 -0.000000012 0.999999994 0.000000007 -0.000000017 -0.000000008 0.000000009 -0.000000015 -0.000000007 0.000000008 -0.000000014 -0.000000007
+ -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 1.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000
+ -0.000000002 -0.000000001 0.000000001 -0.000000001 -0.000000001 0.000000001 0.999999998 -0.000000001 0.000000001 -0.000000002 -0.000000001 0.000000001 -0.000000002 -0.000000001
+ 0.000000003 0.000000002 -0.000000002 0.000000003 0.000000001 -0.000000002 0.000000004 1.000000002 -0.000000002 0.000000003 0.000000002 -0.000000002 0.000000004 0.000000002
+ 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000 1.000000000 0.000000000 0.000000000 -0.000000000 0.000000000 0.000000000
+ 0.000000001 0.000000000 -0.000000000 0.000000001 0.000000000 -0.000000000 0.000000001 0.000000001 -0.000000001 1.000000001 0.000000001 -0.000000001 0.000000001 0.000000000
+ -0.000000002 -0.000000001 0.000000001 -0.000000002 -0.000000001 0.000000001 -0.000000002 -0.000000001 0.000000001 -0.000000002 0.999999999 0.000000001 -0.000000002 -0.000000001
+ -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 1.000000000 -0.000000000 -0.000000000
+ -0.000000004 -0.000000002 0.000000002 -0.000000005 -0.000000002 0.000000003 -0.000000007 -0.000000003 0.000000004 -0.000000006 -0.000000003 0.000000003 0.999999995 -0.000000003
+ 0.000000009 0.000000004 -0.000000005 0.000000010 0.000000005 -0.000000005 0.000000014 0.000000006 -0.000000008 0.000000012 0.000000006 -0.000000007 0.000000011 1.000000005
+
+File data/dia.dat (0) Matrix(4,4) :
+ 8.824 0.000 0.000 0.000
+ 0.000 2.283 0.000 0.000
+ 0.000 0.000 1.300 0.000
+ 0.000 0.000 0.000 -1.082
+Partials Matrix (4,3) :
+ 8.824 0.000 0.000
+ 0.000 2.283 0.000
+ 0.000 0.000 1.300
+ 0.000 0.000 0.000
+Data vector (4) :
+ 0.000 0.000 0.000 -1.082
+ ATA Matrix(3,3) :
+ 77.859 0.000 0.000
+ 0.000 5.212 0.000
+ 0.000 0.000 1.690
+Condition number is 77.859/1.690e+000 = 46.071
+Inverse matrix (3,3) :
+ 0.013 0.000 0.000
+ 0.000 0.192 0.000
+ 0.000 0.000 0.592
+Unity matrix (3,3) ? :
+ 1.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000
+
+File data/lt.dat (0) Matrix(4,4) :
+ 10.882 0.000 0.000 0.000
+ 8.284 9.763 0.000 0.000
+ 5.273 6.876 7.117 0.000
+ 1.991 2.002 3.765 4.372
+Partials Matrix (4,3) :
+ 10.882 0.000 0.000
+ 8.284 9.763 0.000
+ 5.273 6.876 7.117
+ 1.991 2.002 3.765
+Data vector (4) :
+ 0.000 0.000 0.000 4.372
+ ATA Matrix(3,3) :
+ 218.806 121.117 45.024
+ 121.117 146.604 56.474
+ 45.024 56.474 64.827
+Condition number is 327.734/3.281e+001 = 9.988
+Inverse matrix (3,3) :
+ 0.008 -0.007 0.000
+ -0.007 0.016 -0.009
+ 0.000 -0.009 0.023
+Unity matrix (3,3) ? :
+ 1.000000000 -0.000000000 -0.000000000
+ -0.000000000 1.000000000 -0.000000000
+ 0.000000000 -0.000000000 1.000000000
+
+File data/partials.dat (0) Matrix(15,13) :
+ -1900.000 -37.000 2000.000 -3800.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000
+ -1800.000 -6.200 2200.000 -3900.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000
+ 2600.000 570.000 -940.000 -2.500 0.000 110.000 0.310 -200.000 0.000 64.000 -190.000 -170.000 520.000
+ 2000.000 -2100.000 -1700.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000 0.000 -0.000
+ 30.000 200.000 2900.000 0.000 0.000 1800.000 89.000 -5100.000 -250.000 0.000 -0.000 -0.000 0.000
+ -8.200 -0.340 4.200 0.000 0.000 1.200 0.000 -3.800 -0.150 31.000 0.410 82.000 -0.000
+ 370.000 230.000 -96.000 0.000 0.000 0.000 0.000 -32.000 -0.730 -61.000 7.800 820.000 33.000
+ -1500.000 -280.000 140.000 0.000 0.000 0.000 0.000 680.000 33.000 1200.000 57.000 -3100.000 -150.000
+ -0.170 -0.920 0.170 0.000 0.000 0.000 0.000 0.430 0.000 0.580 -0.054 -2.300 -0.095
+ 17.000 -55.000 1.500 0.000 0.000 0.000 0.000 0.000 0.000 -33.000 -0.820 -63.000 8.100
+ 100.000 600.000 -100.000 0.000 0.000 0.000 0.000 0.000 0.000 730.000 35.000 1200.000 61.000
+ -0.380 -0.290 0.150 0.000 0.000 0.000 0.000 0.000 0.000 0.460 0.000 0.610 -0.057
+ -26.000 -19.000 10.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -30.000 -0.270
+ 210.000 160.000 -83.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 640.000 31.000
+ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.410 0.000
+Partials Matrix (15,12) :
+ -1900.000 -37.000 2000.000 -3800.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000
+ -1800.000 -6.200 2200.000 -3900.000 -190.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000
+ 2600.000 570.000 -940.000 -2.500 0.000 110.000 0.310 -200.000 0.000 64.000 -190.000 -170.000
+ 2000.000 -2100.000 -1700.000 0.000 0.000 -91.000 5.700 2100.000 89.000 -5100.000 -250.000 0.000
+ 30.000 200.000 2900.000 0.000 0.000 1800.000 89.000 -5100.000 -250.000 0.000 -0.000 -0.000
+ -8.200 -0.340 4.200 0.000 0.000 1.200 0.000 -3.800 -0.150 31.000 0.410 82.000
+ 370.000 230.000 -96.000 0.000 0.000 0.000 0.000 -32.000 -0.730 -61.000 7.800 820.000
+ -1500.000 -280.000 140.000 0.000 0.000 0.000 0.000 680.000 33.000 1200.000 57.000 -3100.000
+ -0.170 -0.920 0.170 0.000 0.000 0.000 0.000 0.430 0.000 0.580 -0.054 -2.300
+ 17.000 -55.000 1.500 0.000 0.000 0.000 0.000 0.000 0.000 -33.000 -0.820 -63.000
+ 100.000 600.000 -100.000 0.000 0.000 0.000 0.000 0.000 0.000 730.000 35.000 1200.000
+ -0.380 -0.290 0.150 0.000 0.000 0.000 0.000 0.000 0.000 0.460 0.000 0.610
+ -26.000 -19.000 10.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -30.000
+ 210.000 160.000 -83.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 640.000
+ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.410
+Data vector (15) :
+ -250.000 -250.000 520.000 -0.000 0.000 -0.000 33.000 -150.000 -0.095 8.100 61.000 -0.057 -0.270 31.000 0.000
+ ATA Matrix(12,12) :
+ 20052932.413 -2032277.945 -13790219.026 14233500.000 703000.000 157990.160 14876.000 2831891.087 99641.130 -19553985.473 -1402431.293 23634836.759
+ -2032277.945 5296594.486 3391725.872 163355.000 8208.000 613799.592 6006.700 -5737827.904 -246554.089 10745533.793 419734.210 2006429.059
+ -13790219.026 3391725.872 21069424.941 -16177650.000 -798000.000 5271305.040 248118.600 -18455943.887 -847670.550 17530776.868 981131.683 -21946090.400
+ 14233500.000 163355.000 -16177650.000 29650006.250 1463000.000 -275.000 -0.775 701200.000 -43890.000 -16170160.000 -684825.000 39270425.000
+ 703000.000 8208.000 -798000.000 1463000.000 72200.000 0.000 0.000 34580.000 -2166.000 -798000.000 -33820.000 1938000.000
+ 157990.160 613799.592 5271305.040 -275.000 0.000 3260382.440 159715.400 -9393104.560 -458099.180 471177.200 1850.492 -18601.600
+ 14876.000 6006.700 248118.600 -0.775 0.000 159715.400 7953.586 -441992.000 -21742.700 -29050.160 -1483.900 -52.700
+ 2831891.087 -5737827.904 -18455943.887 701200.000 34580.000 -9393104.560 -441992.000 30940000.625 1483326.530 -10287165.551 -464689.181 -1172352.589
+ 99641.130 -246554.089 -847670.550 -43890.000 -2166.000 -458099.180 -21742.700 1483326.530 71575.535 -390320.120 -19360.156 -161050.900
+ -19553985.473 10745533.793 17530776.868 -16170160.000 -798000.000 471177.200 -29050.160 -10287165.551 -390320.120 36812767.548 1730153.939 -24320280.053
+ -1402431.293 419734.210 981131.683 -684825.000 -33820.000 1850.492 -1483.900 -464689.181 -19360.156 1730153.939 118977.683 -1003718.596
+ 23634836.759 2006429.059 -21946090.400 39270425.000 1938000.000 -18601.600 -52.700 -1172352.589 -161050.900 -24320280.053 -1003718.596 64192498.830
+Condition number is 127608930.696/7.975e-003 = 16000989508.875
+Inverse matrix (12,12) :
+ 0.146 0.047 0.443 1.047 -18.024 -0.154 1.462 0.538 -6.373 0.039 -0.702 -0.002
+ 0.047 0.016 0.145 0.342 -5.886 -0.049 0.450 0.176 -2.090 0.013 -0.230 -0.001
+ 0.443 0.145 1.349 3.185 -54.810 -0.490 4.905 1.621 -19.041 0.120 -2.152 -0.007
+ 1.047 0.342 3.185 7.522 -129.462 -1.149 11.411 3.835 -45.099 0.282 -5.077 -0.017
+ -18.024 -5.886 -54.810 -129.462 2228.196 19.590 -192.918 -66.106 778.268 -4.857 87.285 0.287
+ -0.154 -0.049 -0.490 -1.149 19.590 0.424 -6.583 -0.450 4.140 -0.048 0.882 -0.000
+ 1.462 0.450 4.905 11.411 -192.918 -6.583 111.877 3.123 -13.851 0.522 -9.837 0.033
+ 0.538 0.176 1.621 3.835 -66.106 -0.450 3.123 2.039 -24.704 0.142 -2.519 -0.011
+ -6.373 -2.090 -19.041 -45.099 778.268 4.140 -13.851 -24.704 305.519 -1.644 29.008 0.143
+ 0.039 0.013 0.120 0.282 -4.857 -0.048 0.522 0.142 -1.644 0.011 -0.192 -0.001
+ -0.702 -0.230 -2.152 -5.077 87.285 0.882 -9.837 -2.519 29.008 -0.192 3.492 0.009
+ -0.002 -0.001 -0.007 -0.017 0.287 -0.000 0.033 -0.011 0.143 -0.001 0.009 0.000
+Unity matrix (12,12) ? :
+ 0.999999995 0.000000000 0.000000005 -0.000000005 -0.000000000 0.000000000 0.000000000 -0.000000005 -0.000000000 0.000000007 0.000000000 -0.000000007
+ -0.000000002 1.000000000 0.000000002 -0.000000004 -0.000000000 -0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000002 0.000000000 -0.000000007
+ -0.000000018 0.000000000 1.000000017 -0.000000014 -0.000000002 -0.000000000 0.000000000 -0.000000001 0.000000000 0.000000025 0.000000001 -0.000000047
+ -0.000000043 0.000000006 0.000000046 0.999999924 -0.000000005 0.000000006 0.000000000 -0.000000011 -0.000000000 0.000000059 0.000000003 -0.000000136
+ 0.000000942 0.000000007 -0.000001043 0.000002014 1.000000086 -0.000000070 0.000000000 0.000000049 0.000000005 -0.000001410 -0.000000046 0.000003058
+ 0.000000003 -0.000000000 -0.000000000 0.000000002 0.000000000 1.000000001 0.000000000 0.000000000 0.000000000 -0.000000004 -0.000000000 0.000000006
+ -0.000000024 -0.000000003 0.000000019 -0.000000085 -0.000000001 -0.000000005 1.000000000 -0.000000015 0.000000000 0.000000055 0.000000003 -0.000000001
+ -0.000000015 0.000000000 0.000000010 -0.000000015 -0.000000002 0.000000000 -0.000000000 1.000000006 0.000000000 0.000000028 0.000000001 -0.000000061
+ 0.000000389 -0.000000022 -0.000000443 0.000000472 0.000000016 0.000000001 -0.000000001 0.000000128 1.000000003 -0.000000456 -0.000000022 0.000000816
+ -0.000000001 -0.000000000 0.000000001 -0.000000002 -0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 1.000000001 0.000000000 -0.000000004
+ 0.000000031 -0.000000001 -0.000000022 0.000000069 0.000000002 0.000000003 -0.000000000 0.000000005 0.000000000 -0.000000034 0.999999998 0.000000060
+ 0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 -0.000000000 0.000000000 0.000000000 -0.000000000 -0.000000000 1.000000001
+
+File data/squ.dat (0) Matrix(5,5) :
+ 1.000 1.345 2.827 4.201 -0.428
+ 2.188 2.000 0.823 8.291 -0.723
+ 0.488 1.345 3.000 0.831 -0.320
+ -0.009 6.205 -0.948 4.000 1.920
+ 2.835 -1.283 -0.873 2.834 5.831
+Partials Matrix (5,4) :
+ 1.000 1.345 2.827 4.201
+ 2.188 2.000 0.823 8.291
+ 0.488 1.345 3.000 0.831
+ -0.009 6.205 -0.948 4.000
+ 2.835 -1.283 -0.873 2.834
+Data vector (5) :
+ -0.428 -0.723 -0.320 1.920 5.831
+ ATA Matrix(4,4) :
+ 14.062 2.683 3.626 30.745
+ 2.683 47.767 4.722 44.533
+ 3.626 4.722 19.331 14.930
+ 30.745 44.533 14.930 111.111
+Condition number is 142.644/1.701e+001 = 8.385
+Inverse matrix (4,4) :
+ 0.417 0.135 0.022 -0.172
+ 0.135 0.077 0.010 -0.070
+ 0.022 0.010 0.059 -0.018
+ -0.172 -0.070 -0.018 0.087
+Unity matrix (4,4) ? :
+ 1.000000000 0.000000000 0.000000000 -0.000000000
+ 0.000000000 1.000000000 0.000000000 -0.000000000
+ 0.000000000 0.000000000 1.000000000 0.000000000
+ -0.000000000 0.000000000 0.000000000 1.000000000
+
+File data/sym.dat (0) Matrix(4,4) :
+ 10.000 1.345 2.827 4.201
+ 1.345 9.823 8.291 -0.723
+ 2.827 8.291 13.000 0.831
+ 4.201 -0.723 0.831 9.009
+Partials Matrix (4,3) :
+ 10.000 1.345 2.827
+ 1.345 9.823 8.291
+ 2.827 8.291 13.000
+ 4.201 -0.723 0.831
+Data vector (4) :
+ 4.201 -0.723 0.831 9.009
+ ATA Matrix(3,3) :
+ 127.449 47.064 79.663
+ 47.064 167.572 192.430
+ 79.663 192.430 246.423
+Condition number is 431.032/8.593e+000 = 50.161
+Inverse matrix (3,3) :
+ 0.011 0.010 -0.011
+ 0.010 0.066 -0.055
+ -0.011 -0.055 0.051
+Unity matrix (3,3) ? :
+ 1.000000000 -0.000000000 0.000000000
+ 0.000000000 1.000000000 0.000000000
+ 0.000000000 0.000000000 1.000000000
+
+File data/tmatrix.dat (0) Matrix(4,5) :
+ 1.000 1.345 2.827 4.201 -0.428
+ 2.188 2.000 0.823 8.291 -0.723
+ 0.488 1.345 3.000 0.831 -0.320
+ -0.009 6.205 -0.948 4.000 1.920
+Partials Matrix (4,4) :
+ 1.000 1.345 2.827 4.201
+ 2.188 2.000 0.823 8.291
+ 0.488 1.345 3.000 0.831
+ -0.009 6.205 -0.948 4.000
+Data vector (4) :
+ -0.428 -0.723 -0.320 1.920
+Condition number is 11.717/3.450e+000 = 3.396
+Inverse matrix (4,4) :
+ -2.322 1.115 1.804 -0.247
+ -0.379 0.090 0.374 0.133
+ 0.362 -0.172 0.030 -0.029
+ 0.668 -0.178 -0.569 0.036
+Unity matrix (4,4) ? :
+ 1.000000000 -0.000000000 -0.000000000 -0.000000000
+ 0.000000000 1.000000000 -0.000000000 0.000000000
+ -0.000000000 -0.000000000 1.000000000 -0.000000000
+ 0.000000000 0.000000000 -0.000000000 1.000000000
+
+File data/ut.dat (0) Matrix(4,4) :
+ 1.834 2.837 3.223 4.808
+ 0.000 5.837 6.774 7.083
+ 0.000 0.000 8.237 9.118
+ 0.000 0.000 0.000 10.838
+Partials Matrix (4,3) :
+ 1.834 2.837 3.223
+ 0.000 5.837 6.774
+ 0.000 0.000 8.237
+ 0.000 0.000 0.000
+Data vector (4) :
+ 4.808 7.083 9.118 10.838
+ ATA Matrix(3,3) :
+ 3.364 5.203 5.911
+ 5.203 42.124 48.686
+ 5.911 48.686 124.130
+Condition number is 147.176/1.977e+001 = 7.445
+Inverse matrix (3,3) :
+ 0.368 -0.046 0.001
+ -0.046 0.049 -0.017
+ 0.001 -0.017 0.015
+Unity matrix (3,3) ? :
+ 1.000000000 0.000000000 0.000000000
+ 0.000000000 1.000000000 -0.000000000
+ 0.000000000 0.000000000 1.000000000
+
+
+ -------------- Poly Test ---------------------------------
+Matrix Cov(3,3) :
+ 0.068 0.000 -0.107
+ 0.000 0.086 0.000
+ -0.107 0.000 0.303
+Vector Sol(3) :
+ -1.246 0.335 -0.174
+ t data fit resid
+ 0 -1.0000 -1.750 -1.755 0.005
+ 1 -0.9375 -1.702 -1.713 0.011
+ 2 -0.8750 -1.663 -1.672 0.009
+ 3 -0.8125 -1.639 -1.633 -0.006
+ 4 -0.7500 -1.590 -1.595 0.005
+ 5 -0.6875 -1.579 -1.558 -0.021
+ 6 -0.6250 -1.536 -1.523 -0.013
+ 7 -0.5625 -1.502 -1.489 -0.013
+ 8 -0.5000 -1.441 -1.457 0.016
+ 9 -0.4375 -1.445 -1.426 -0.019
+10 -0.3750 -1.412 -1.396 -0.016
+11 -0.3125 -1.370 -1.368 -0.002
+12 -0.2500 -1.328 -1.341 0.013
+13 -0.1875 -1.286 -1.315 0.029
+14 -0.1250 -1.266 -1.291 0.025
+15 -0.0625 -1.270 -1.268 -0.002
+16 0.0000 -1.249 -1.246 -0.003
+17 0.0625 -1.235 -1.226 -0.009
+18 0.1250 -1.197 -1.207 0.010
+19 0.1875 -1.214 -1.189 -0.025
+20 0.2500 -1.183 -1.173 -0.010
+21 0.3125 -1.156 -1.158 0.002
+22 0.3750 -1.135 -1.145 0.010
+23 0.4375 -1.134 -1.133 -0.001
+24 0.5000 -1.098 -1.122 0.024
+25 0.5625 -1.102 -1.113 0.011
+26 0.6250 -1.118 -1.105 -0.013
+27 0.6875 -1.103 -1.098 -0.005
+28 0.7500 -1.115 -1.093 -0.022
+29 0.8125 -1.076 -1.089 0.013
+30 0.8750 -1.101 -1.086 -0.015
+31 0.9375 -1.068 -1.085 0.017
+32 1.0000 -1.088 -1.085 -0.003
+Stats on residuals
+ N = 33 not weighted
+ Minimum = -2.470e-002 Maximum = 2.889e-002
+ Average = 9.415e-017 Std Dev = 1.435e-002
+Stats on data
+ N = 33 not weighted
+ Minimum = -1.750e+000 Maximum = -1.068e+000
+ Average = -1.308e+000 Std Dev = 2.105e-001
+2-sample Stats on time,data
+ N = 33
+ Minimum: X = -1.000e+000 Y = -1.750e+000 Maximum: X = 1.000e+000 Y = -1.068e+000
+ Average: X = 1.894e-003 Y = -1.308e+000 Std Dev: X = 6.012e-001 Y = 2.105e-001
+ Intercept = -1.308e+000 Slope = 3.360e-001 with uncertainty = 1.763e-002
+ Conditional uncertainty (sigma y given x) = 5.997e-002 Correlation = 9.599e-001
+Matrix Cov(3,3) :
+ 0.068 0.000 -0.107
+ 0.000 0.086 0.000
+ -0.107 0.000 0.303
+Vector Sol(3) :
+ -1.435 -0.175 0.232
+ t data fit resid
+ 0 -1.0000 -1.088 -1.029 -0.059
+ 1 -0.9375 -1.119 -1.068 -0.051
+ 2 -0.8750 -1.118 -1.105 -0.013
+ 3 -0.8125 -1.158 -1.140 -0.018
+ 4 -0.7500 -1.146 -1.174 0.028
+ 5 -0.6875 -1.201 -1.205 0.004
+ 6 -0.6250 -1.207 -1.235 0.028
+ 7 -0.5625 -1.222 -1.263 0.041
+ 8 -0.5000 -1.230 -1.290 0.060
+ 9 -0.4375 -1.269 -1.314 0.045
+10 -0.3750 -1.269 -1.337 0.068
+11 -0.3125 -1.335 -1.358 0.023
+12 -0.2500 -1.359 -1.377 0.018
+13 -0.1875 -1.391 -1.394 0.003
+14 -0.1250 -1.391 -1.410 0.019
+15 -0.0625 -1.432 -1.423 -0.009
+16 0.0000 -1.440 -1.435 -0.005
+17 0.0625 -1.483 -1.445 -0.038
+18 0.1250 -1.520 -1.453 -0.067
+19 0.1875 -1.514 -1.460 -0.054
+20 0.2500 -1.514 -1.464 -0.050
+21 0.3125 -1.478 -1.467 -0.011
+22 0.3750 -1.496 -1.468 -0.028
+23 0.4375 -1.508 -1.467 -0.041
+24 0.5000 -1.507 -1.465 -0.042
+25 0.5625 -1.437 -1.460 0.023
+26 0.6250 -1.439 -1.454 0.015
+27 0.6875 -1.419 -1.446 0.027
+28 0.7500 -1.388 -1.436 0.048
+29 0.8125 -1.408 -1.424 0.016
+30 0.8750 -1.390 -1.411 0.021
+31 0.9375 -1.391 -1.396 0.005
+32 1.0000 -1.385 -1.379 -0.006
+Stats on residuals
+ N = 33 not weighted
+ Minimum = -6.667e-002 Maximum = 6.793e-002
+ Average = -4.166e-016 Std Dev = 3.609e-002
+Stats on data
+ N = 33
+ Minimum = -1.520e+000 Maximum = -1.088e+000
+ Average = -1.353e+000 Std Dev = 1.342e-001
+2-sample Stats on time,data
+ N = 33
+ Minimum: X = -1.000e+000 Y = -1.520e+000 Maximum: X = 1.000e+000 Y = -1.088e+000
+ Average: X = 1.894e-003 Y = -1.353e+000 Std Dev: X = 6.012e-001 Y = 1.342e-001
+ Intercept = -1.353e+000 Slope = -1.753e-001 with uncertainty = 2.481e-002
+ Conditional uncertainty (sigma y given x) = 8.439e-002 Correlation = -7.854e-001
diff --git a/trunk/tests/data/Xbegweek.can b/trunk/tests/data/Xbegweek.can
new file mode 100644
index 0000000..ffb5eed
--- /dev/null
+++ b/trunk/tests/data/Xbegweek.can
@@ -0,0 +1,41 @@
+ Xbegweek.out - Demonstrating P-Code Beginnging of Week Generation..
+ Reproducing ICD-GPS-200, Table 3-I
+ PRN 12-bits of code (octal)
+ 00 5555
+ 01 4444
+ 02 4000
+ 03 4222
+ 04 4333
+ 05 4377
+ 06 4355
+ 07 4344
+ 08 4340
+ 09 4342
+ 10 4343
+ 11 4343
+ 12 4343
+ 13 4343
+ 14 4343
+ 15 4343
+ 16 4343
+ 17 4343
+ 18 4343
+ 19 4343
+ 20 4343
+ 21 4343
+ 22 4343
+ 23 4343
+ 24 4343
+ 25 4343
+ 26 4343
+ 27 4343
+ 28 4343
+ 29 4343
+ 30 4343
+ 31 4343
+ 32 4343
+ 33 4343
+ 34 4343
+ 35 4343
+ 36 4343
+ 37 4343
diff --git a/trunk/tests/data/Xendweek.can b/trunk/tests/data/Xendweek.can
new file mode 100644
index 0000000..d942567
--- /dev/null
+++ b/trunk/tests/data/Xendweek.can
@@ -0,0 +1,41 @@
+ XENDWEEK.OUT - Demonstrating P-Code End of Week Generation..
+ Reproducing ICD-GPS-200, Table 3-IV
+ PRN Last word 3004 3036 3068 3100 3132 3164
+ 00 xAA32E3E1 x2720A6DE x5C85DF13 x0C572174 xBE9C0D60 xF95A694B xC576072D
+ 01 xAA32E3E1 x042E4659 xF550CB1E x66297E28 xE08F71E0 xF95A694B xC576072D
+ 02 xAA32E3E1 x95A9361A x21BA4118 xD3165186 xCF86CFA0 xF95A694B xC576072D
+ 03 xAA32E3E1 x5D6A8E3B xCBCF041B x8989C651 xD8021080 xF95A694B xC576072D
+ 04 xAA32E3E1 x390B522B x3EF5A69A x24C60DBA x53C07F10 xF95A694B xC576072D
+ 05 xAA32E3E1 x8B3BBC23 x4468F7DA xF261E84F x962148D8 xF95A694B xC576072D
+ 06 xAA32E3E1 xD223CB27 x79265F7A x99321AB5 x74D1D33C xF95A694B xC576072D
+ 07 xAA32E3E1 xFEAFF0A5 x67810B2A xAC9BE3C8 x05A99ECE xF95A694B xC576072D
+ 08 xAA32E3E1 x68E9ED64 x68D2A102 xB64F1F76 xBD15B837 xF95A694B xC576072D
+ 09 xAA32E3E1 x23CAE384 xEF7B7416 xBB256129 xE14BAB4B x795A694B xC576072D
+ 10 xAA32E3E1 x865B64F4 xACAF9E9C xBD905E06 x4F64A2F5 x395A694B xC576072D
+ 11 xAA32E3E1 x5493A74C x8D45EBD9 xBECAC191 x9873262A x195A694B xC576072D
+ 12 xAA32E3E1 xBDF7C690 x9DB0D17B x3F678E5A x73F8E445 x895A694B xC576072D
+ 13 xAA32E3E1 x4945F67E x95CA4C2A x7FB129BF x863D0572 x415A694B xC576072D
+ 14 xAA32E3E1 xB31CEE09 x91F70282 xDFDA7A4D x7CDFF5E9 xA55A694B xC576072D
+ 15 xAA32E3E1 x4E306232 x13E9A5D6 x8FEFD3B4 x01AE8DA4 x575A694B xC576072D
+ 16 xAA32E3E1 xB0A6242F xD2E6F67C xA7F50748 xBF163182 xAE5A694B xC576072D
+ 17 xAA32E3E1 x4FED0721 x32615FA9 xB3F86D36 xE04A6F91 xD2DA694B xC576072D
+ 18 xAA32E3E1 x304896A6 x42228B43 x39FED809 xCFE44098 x6C9A694B xC576072D
+ 19 xAA32E3E1 x0F9A5E65 xFA036136 x7CFD8296 x5833571C xB3BA694B xC576072D
+ 20 xAA32E3E1 x10733A04 x2613940C xDE7C2FD9 x93D8DCDE xDC2A694B xC576072D
+ 21 xAA32E3E1 x1F878834 xC81BEE91 x8F3CF97E x762D193F xEBE2694B xC576072D
+ 22 xAA32E3E1 x187DD12C xBF1FD3DF x279C922D x84D7FBCF x7006694B xC576072D
+ 23 xAA32E3E1 x9B80FDA0 x849DCD78 x73CCA784 x7DAA8AB7 x3DF4694B xC576072D
+ 24 xAA32E3E1 x5A7E6BE6 x995CC22B xD9E4BD50 x8114320B x1B0D694B xC576072D
+ 25 xAA32E3E1 x3A8120C5 x97BC4582 x0CF0B03A xFF4B6E55 x0871E94B xC576072D
+ 26 xAA32E3E1 x8AFE8554 x10CC0656 xE67AB68F xC064C07A x01CFA94B xC576072D
+ 27 xAA32E3E1 xD2C1579C xD37427BC x933FB5D5 x5FF3176D x8510894B xC576072D
+ 28 xAA32E3E1 xFEDEBEF8 xB2A83749 xA99D3478 x1038FCE6 x477F194B xC576072D
+ 29 xAA32E3E1 x68D14A4A x82463F33 x34CC74AE xB7DD0923 xA648D14B xC576072D
+ 30 xAA32E3E1 x23D6B013 x9A313B0E x7A64D4C5 xE42FF3C1 x56D3354B xC576072D
+ 31 xAA32E3E1 x06554D3F x160AB910 xDD3084F0 x4DD68EB0 x2E9EC74B xC576072D
+ 32 xAA32E3E1 x1494B3A9 x5017781F x8E9AACEA x992A3008 x92B83E4B xC576072D
+ 33 xAA32E3E1 x9DF44CE2 x73199898 x274FB8E7 xF3546F54 xCCAB42CB xC576072D
+ 34 xAA32E3E1 xD9443347 xE29EE8DB xF3A532E1 x466B40FA xE3A2FC8B xC576072D
+ 35 xAA32E3E1 xFB1C0C95 x2A5D50FA x19D077E2 x1CF4D72D xF42623AB xC576072D
+ 36 xAA32E3E1 x6A30137C x4E3C8CEA xECEAD563 xB1BB1CC6 x7FE44C3B xC576072D
+ 37 xAA32E3E1 x22A61C88 xFC0C62E2 x96778423 x671CF933 xBA057BF3 xC576072D
diff --git a/trunk/tests/data/anotsym.dat b/trunk/tests/data/anotsym.dat
new file mode 100644
index 0000000..3d38223
--- /dev/null
+++ b/trunk/tests/data/anotsym.dat
@@ -0,0 +1,15 @@
+#A 'standard' Matrix file musthave one row per line, and must
+#start with the type and dimension of the Matrix, i.e.:
+# type=GEN rows=12 columns=14
+# or abbreviated:
+# t=GEN r=12 c=14
+#Types are GEN SQU SYM UPT LOW DIA
+#Notice the order: type, rows, columns, and that characters are lowercase,
+#comments follow '#' signs to the end of line,
+#and lines with data must follow a line with 3 colons (:::).
+t=GEN r=4 c=4
+:::
+5.0 1.45 1.32 -1.1
+0.45 4.2 1.21 1.11
+0.32 0.21 3.3 1.9
+-0.1 0.11 0.9 6.6
diff --git a/trunk/tests/data/cov.dat b/trunk/tests/data/cov.dat
new file mode 100644
index 0000000..7f98641
--- /dev/null
+++ b/trunk/tests/data/cov.dat
@@ -0,0 +1,17 @@
+t=SYM r=15 c=15
+:::
+ 2.13E+01
+ 1.01E+01 4.9E00
+ -2.13E+01 -1.01E+01 0.117
+ 7.8E00 3.7E00 -7.8E00 1.53E+01
+ 3.7E00 1.78E00 -3.7E00 7.32E00 3.55E00
+ -7.8E00 -3.7E00 0.0425 -1.53E+01 -7.32E00 0.0848
+ 7.8E00 3.7E00 -7.8E00 7.8E00 3.7E00 -7.8E00 3.95E+01
+ 3.7E00 1.78E00 -3.7E00 3.7E00 1.78E00 -3.7E00 1.89E+01 9.13E00
+ -7.8E00 -3.7E00 0.0425 -7.8E00 -3.7E00 0.0425 -3.95E+01 -1.89E+01 0.218
+ 7.8E00 3.7E00 -7.8E00 7.8E00 3.7E00 -7.8E00 7.8E00 3.7E00 -7.8E00 3.16E+01
+ 3.7E00 1.78E00 -3.7E00 3.7E00 1.78E00 -3.7E00 3.7E00 1.78E00 -3.7E00 1.5E+01 7.19E00
+ -7.8E00 -3.7E00 0.0425 -7.8E00 -3.7E00 0.0425 -7.8E00 -3.7E00 0.0425 -3.16E+01 -1.5E+01 0.172
+ 7.8E00 3.7E00 -7.8E00 7.8E00 3.7E00 -7.8E00 7.8E00 3.7E00 -7.8E00 7.8E00 3.7E00 -7.8E00 3.22E+01
+ 3.7E00 1.78E00 -3.7E00 3.7E00 1.78E00 -3.7E00 3.7E00 1.78E00 -3.7E00 3.7E00 1.78E00 -3.7E00 1.53E+01 7.37E00
+ -7.8E00 -3.7E00 0.0425 -7.8E00 -3.7E00 0.0425 -7.8E00 -3.7E00 0.0425 -7.8E00 -3.7E00 0.0425 -3.22E+01 -1.53E+01 0.176
diff --git a/trunk/tests/data/dia.dat b/trunk/tests/data/dia.dat
new file mode 100644
index 0000000..5d56ca2
--- /dev/null
+++ b/trunk/tests/data/dia.dat
@@ -0,0 +1,6 @@
+t=DIA r=4 c=4
+:::
+8.8238
+2.283
+1.30
+-1.082
diff --git a/trunk/tests/data/lt.dat b/trunk/tests/data/lt.dat
new file mode 100644
index 0000000..e01a426
--- /dev/null
+++ b/trunk/tests/data/lt.dat
@@ -0,0 +1,6 @@
+t=LOW r=4 c=4
+:::
+10.882
+8.2837 9.763
+5.273 6.876 7.117
+1.991 2.002 3.765 4.372
diff --git a/trunk/tests/data/nga12600.apc b/trunk/tests/data/nga12600.apc
new file mode 100644
index 0000000..e8a4343
--- /dev/null
+++ b/trunk/tests/data/nga12600.apc
@@ -0,0 +1,5303 @@
+#aV2004 2 29 0 0 .00000000 96 DD+AD WGS84 FIT NGA
+## 1260 .00000000 900.00000000 53064 .0000000000000
++ 27 1 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 20
++ 21 22 24 25 26 27 28 29 30 31 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 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 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 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 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 0 0 0
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
+%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
+%i 0 0 0 0 0 0 0 0 0
+%i 0 0 0 0 0 0 0 0 0
+/* NGA, ST. LOUIS,MO.
+/* EPHEMERIS COMPUTED FROM 3 DAYS OF DATA
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+* 2004 2 29 0 0 .00000000
+P 1 -1359.527672 24899.269007 -8928.580812 332.443681
+V 1 -4283.749401 -10959.690376 -29371.730803 .016296
+P 3 -14150.070603 7634.352370 21025.344117 89.639171
+V 3 -8229.785704 -25798.671077 4035.714697 .027923
+P 4 19097.186291 616.349954 -18562.657950 -75.962018
+V 4 -16906.313891 16367.668285 -16517.316635 -.090923
+P 5 6763.859374 -14499.897073 -21306.513386 19.641420
+V 5 26012.695297 6813.299653 3809.917304 .017872
+P 6 -5750.083973 -25843.326763 -551.770578 -1.271606
+V 6 3840.209996 33.075861 -31270.142856 -.011564
+P 7 15766.882137 14104.814492 -15760.894779 612.423383
+V 7 3068.226351 20658.038253 20860.157600 -.077420
+P 8 13639.126332 7780.365254 21267.455295 356.168408
+V 8 -20630.244247 18048.137434 6261.181984 -.088688
+P 9 13779.049511 -21205.104534 -7870.428987 -32.208326
+V 9 9039.505389 -4388.666580 29613.509465 -.016539
+P 10 22215.716897 -2802.152367 14452.871940 40.122929
+V 10 16881.017711 7180.596825 -24202.231158 .006648
+P 11 -11494.846605 22385.357572 -8290.017723 99.666050
+V 11 -10262.637458 5086.683665 28117.353706 .025486
+P 13 7294.455778 25418.102920 2875.161605 -30.924791
+V 13 -1263.090904 4029.218411 -31890.647169 .002454
+P 14 -15034.053163 -12873.512567 -17654.374434 -18.149217
+V 14 -3437.225330 -22263.956675 19118.601390 -.001208
+P 15 -18558.984544 -1913.810462 18768.167414 232.516547
+V 15 18330.553844 -15861.399997 16076.614363 .054026
+P 16 -24423.018054 -46.042355 10521.485432 15.316804
+V 16 -11896.399336 -6324.617997 -27820.437282 -.004104
+P 17 19891.766753 -16740.829749 3002.510164 205.470605
+V 17 4813.850740 401.383598 -32146.890892 .195159
+P 18 -14124.169477 -16600.796809 15351.931707 -15.196168
+V 18 18761.101880 5060.304132 22567.520761 -.026458
+P 20 -2056.451793 15174.951911 -21769.123354 -184.359107
+V 20 -26291.765435 -7955.802233 -3068.876073 .027617
+P 21 -5084.330137 -15162.317596 21095.298204 73.044893
+V 21 21384.612337 -16497.161728 -7074.369543 .005319
+P 22 -22963.023541 -12434.334151 4883.386157 -40.931985
+V 22 6585.063377 -414.436209 30994.738514 .089458
+P 24 22559.639492 -10734.624604 -8825.090147 7.902198
+V 24 -7501.339016 9125.758502 -29218.826266 .030103
+P 25 -19928.892641 3490.901136 -16828.141458 61.648540
+V 25 13512.897368 -17666.429107 -19274.844374 .008571
+P 26 9572.575702 -15644.962801 18714.551537 411.165332
+V 26 6456.756659 23653.632546 16849.545582 -.124025
+P 27 3683.586328 17056.934051 20363.845550 919.527404
+V 27 -18491.573029 16858.524894 -11544.414517 .044414
+P 28 22912.896143 12265.329013 6398.431997 21.712377
+V 28 -8197.952256 -108.896820 30140.666522 .017137
+P 29 12279.176489 -10496.535376 21337.937647 229.661588
+V 29 6783.912403 25562.924965 8834.347279 .033779
+P 30 -8900.821947 -16765.712224 -18848.700320 803.916363
+V 30 23001.437674 4962.221424 -15364.964726 .143231
+P 31 -6528.612646 20009.861922 15668.912132 37.136711
+V 31 -8010.977492 -19282.302317 21176.874377 .309338
+* 2004 2 29 0 15 .00000000
+P 1 -1805.861633 23780.269535 -11486.858257 332.443672
+V 1 -5687.155944 -13850.481036 -27395.870766 .016255
+P 3 -14948.644527 5318.726154 21204.834061 89.640371
+V 3 -9492.882390 -25575.525042 -51.631329 .027550
+P 4 17557.626664 2182.985957 -19886.563747 -75.970292
+V 4 -17226.176512 18416.237563 -12859.421676 -.090939
+P 5 9094.393621 -13948.655282 -20782.937736 19.642959
+V 5 25691.148905 5431.243112 7809.613147 .018259
+P 6 -5361.079473 -25695.845036 -3353.128791 -1.273700
+V 6 4865.035767 3220.028540 -30891.785946 -.011530
+P 7 16054.909494 15847.900028 -13750.768852 612.416484
+V 7 3270.097471 18032.151888 23741.858371 -.077433
+P 8 11806.111367 9470.663284 21643.580840 356.160540
+V 8 -20028.928544 19458.764468 2082.971127 -.088714
+P 9 14478.660255 -21508.735280 -5144.508462 -32.211059
+V 9 6533.586693 -2292.375156 30875.708573 -.016558
+P 10 23629.341504 -2234.494903 12157.830711 40.123514
+V 10 14463.447764 5473.399973 -26725.467760 .006919
+P 11 -12315.421283 22752.205910 -5694.892886 99.668079
+V 11 -7997.863933 3006.725033 29468.693857 .025491
+P 13 7151.197401 25625.548958 -11.426511 -30.924761
+V 13 -1992.138306 592.146965 -32164.002635 .002453
+P 14 -15371.788251 -14767.793164 -15786.118234 -18.149052
+V 14 -4005.480473 -19773.246383 22338.160937 -.001217
+P 15 -16888.850744 -3434.791408 20047.448320 232.520660
+V 15 18699.765585 -17908.980868 12308.624316 .054005
+P 16 -25368.829186 -548.955031 7934.578801 15.316546
+V 16 -9067.298779 -4901.152645 -29584.289629 -.004111
+P 17 20194.033124 -16612.702050 90.951322 205.487751
+V 17 1939.871316 2506.983897 -32457.251922 .195149
+P 18 -12319.970692 -16156.537399 17246.580337 -15.198392
+V 18 21283.181836 4746.955013 19475.420403 -.026468
+P 20 -4448.812893 14519.701784 -21858.422438 -184.356354
+V 20 -26784.876011 -6578.957708 1087.280778 .027613
+P 21 -3228.935325 -16667.726582 20276.959021 73.045148
+V 21 19793.215612 -16883.425865 -11086.492306 .005303
+P 22 -22224.503918 -12436.655742 7622.950892 -40.923791
+V 22 9822.815450 291.215205 29797.560267 .089451
+P 24 21797.628280 -9796.887641 -11370.583680 7.905728
+V 24 -9359.213527 11731.938935 -27264.555223 .030260
+P 25 -18690.529598 1800.306086 -18408.777737 61.648517
+V 25 13928.693910 -19869.591630 -15797.144281 .008559
+P 26 10229.544478 -13455.962677 20058.983737 411.154632
+V 26 8154.241790 24896.932387 12984.143795 -.124009
+P 27 2099.261051 18570.510747 19157.202087 919.531382
+V 27 -16683.070276 16698.517902 -15236.132651 .044392
+P 28 22031.597541 12233.471291 9049.703083 21.714198
+V 28 -11374.343777 -528.317231 28694.096838 .017115
+P 29 12963.327207 -8178.257450 21951.433602 229.664796
+V 29 8410.611106 25864.631143 4780.534088 .033773
+P 30 -6751.415557 -16354.169021 -20068.952131 803.929781
+V 30 24694.958599 4136.289392 -11713.920489 .143214
+P 31 -7321.138371 18193.187772 17429.320998 37.164846
+V 31 -9618.485587 -21007.577018 17884.860304 .309310
+* 2004 2 29 0 30 .00000000
+P 1 -2391.633431 22417.499460 -13845.431315 332.445216
+V 1 -7370.690789 -16364.500062 -24940.097543 .016324
+P 3 -15853.371408 3045.487760 21016.302627 89.640857
+V 3 -10575.599256 -24861.942864 -4130.598385 .027341
+P 4 16010.502782 3924.496269 -20870.477584 -75.978188
+V 4 -17079.000951 20239.123330 -8972.462204 -.090957
+P 5 11372.874680 -13521.942922 -19904.584212 19.645862
+V 5 24857.139631 4060.161410 11682.659341 .018616
+P 6 -4864.020289 -25269.419286 -6096.115843 -1.275258
+V 6 6234.556989 6217.310251 -29974.552120 -.011359
+P 7 16343.810700 17343.841202 -11500.183014 612.409933
+V 7 3082.908474 15181.103992 26196.426163 -.077448
+P 8 10046.523918 11271.864689 21640.950965 356.152924
+V 8 -19007.970559 20500.529557 -2143.151459 -.088741
+P 9 14961.032542 -21606.593895 -2328.810403 -32.212261
+V 9 4225.277191 174.632406 31604.586440 -.016327
+P 10 24807.637065 -1808.749921 9656.046308 40.124602
+V 10 11662.982280 4038.783727 -28790.340621 .007205
+P 11 -12940.156118 22916.769339 -3000.984850 99.670302
+V 11 -5922.560312 600.605379 30309.267492 .025492
+P 13 6923.319289 25528.237309 -2897.824373 -30.924861
+V 13 -3138.953871 -2726.838615 -31886.515892 .002452
+P 14 -15743.067074 -16423.550329 -13645.119210 -18.149148
+V 14 -4175.206984 -16977.969717 25170.819427 -.001226
+P 15 -15207.786378 -5130.776828 20976.938277 232.527968
+V 15 18577.602713 -19735.088500 8314.741688 .054031
+P 16 -26046.534032 -938.089311 5211.516493 15.316436
+V 16 -5951.970553 -3805.165875 -30841.660452 -.004119
+P 17 20248.857370 -16279.562206 -2822.227310 205.505102
+V 17 -670.727050 4945.723309 -32182.412408 .195142
+P 18 -10303.231652 -15757.361419 18847.441083 -15.200951
+V 18 23471.105902 4066.891722 16047.965678 -.026470
+P 20 -6861.755783 13994.164716 -21573.964379 -184.353884
+V 20 -26746.128951 -5088.063737 5225.061969 .027607
+P 21 -1529.933302 -18187.556502 19105.195948 73.045677
+V 21 17922.719429 -16810.998158 -14916.489095 .005289
+P 22 -21197.035347 -12394.818760 10231.681832 -40.915677
+V 22 12990.000087 567.378029 28091.818932 .089447
+P 24 20888.661459 -8620.864153 -13718.249539 7.909524
+V 24 -10761.682393 14404.971627 -24828.565246 .030320
+P 25 -17435.353427 -78.368826 -19662.999042 61.648955
+V 25 13890.908935 -21831.097967 -12032.037797 .008614
+P 26 11041.008165 -11180.696114 21045.153439 411.143325
+V 26 9873.954637 25568.241942 8900.718846 -.123997
+P 27 685.263598 20048.271188 17628.352408 919.534767
+V 27 -14720.394196 16059.207497 -18694.228090 .044372
+P 28 20869.085873 12182.808087 11548.950591 21.715451
+V 28 -14431.789105 -529.121004 26767.151346 .017096
+P 29 13790.131716 -5856.897756 22196.136958 229.667942
+V 29 9938.906256 25633.731154 650.193331 .033761
+P 30 -4468.800544 -16028.595017 -20951.319222 803.941904
+V 30 25953.248147 3063.519921 -7866.752985 .143204
+P 31 -8261.847421 16243.533980 18878.605900 37.192947
+V 31 -11289.416352 -22232.286284 14273.685769 .309283
+* 2004 2 29 0 45 .00000000
+P 1 -3138.713068 20847.972463 -15962.923168 332.448099
+V 1 -9258.101295 -18435.303479 -22046.175116 .016361
+P 3 -16844.581391 857.119019 20463.711787 89.642222
+V 3 -11402.940051 -23697.444095 -8130.120079 .027463
+P 4 14496.354463 5816.724073 -21496.687233 -75.986486
+V 4 -16500.750124 21752.183262 -4921.623724 -.090973
+P 5 13553.763249 -13214.974077 -18685.848535 19.647884
+V 5 23526.519350 2783.999977 15362.817520 .018907
+P 6 -4229.971991 -24584.914496 -8732.796966 -1.273847
+V 6 7899.835003 8942.106568 -28532.602927 -.011238
+P 7 16597.548209 18576.541242 -9049.414162 612.402345
+V 7 2486.820344 12198.208042 28184.566497 -.077463
+P 8 8395.360538 13147.698827 21258.634982 356.144697
+V 8 -17631.312178 21107.476913 -6341.884187 -.088765
+P 9 15247.392131 -21468.097024 527.734389 -32.214372
+V 9 2189.289650 2947.969955 31781.045134 -.016162
+P 10 25719.440629 -1497.403024 6990.322028 40.124636
+V 10 8554.953873 2940.687416 -30363.723953 .007498
+P 11 -13389.166151 22852.358326 -255.007449 99.672467
+V 11 -4102.974991 -2070.344814 30624.060955 .025494
+P 13 6574.725355 25141.111646 -5734.621733 -30.924655
+V 13 -4667.208425 -5832.997601 -31063.411910 .002456
+P 14 -16110.271804 -17817.429173 -11268.450020 -18.149307
+V 14 -3910.418968 -13969.611175 27567.753859 -.001234
+P 15 -13558.622092 -6977.812055 21539.414708 232.531652
+V 15 17998.013081 -21251.675940 4164.737701 .053704
+P 16 -26434.164154 -1245.105619 2398.955159 15.316072
+V 16 -2636.245077 -3082.637623 -31570.163158 -.004128
+P 17 20083.563677 -15714.755958 -5684.411201 205.522733
+V 17 -2939.800396 7641.220580 -31325.579086 .195142
+P 18 -8107.395675 -15433.779298 20126.862423 -15.203468
+V 18 25251.994596 3077.841258 12342.280626 -.026476
+P 20 -9246.877719 13604.575203 -20920.572923 -184.351294
+V 20 -26166.714324 -3573.010432 9274.169080 .027605
+P 21 -8.672209 -19678.998130 17599.527458 73.046449
+V 21 15858.196562 -16248.918261 -18495.402167 .005279
+P 22 -19891.286920 -12347.065108 12665.146988 -40.907814
+V 22 15991.253441 426.226696 25908.621646 .089439
+P 24 19874.888918 -7204.935412 -15826.463793 7.911631
+V 24 -11686.008059 17046.515375 -21950.802489 .030150
+P 25 -16202.737278 -2119.477878 -20567.955992 61.650225
+V 25 13434.638011 -23465.831034 -8047.472185 .008686
+P 26 12004.633599 -8870.971865 21656.871675 411.131962
+V 26 11519.646250 25663.833113 4675.962873 -.123982
+P 27 -548.337260 21446.420197 15801.074039 919.538730
+V 27 -12688.681620 14928.899679 -21857.995242 .044353
+P 28 19440.144569 12150.130349 13854.341714 21.717068
+V 28 -17280.479594 -133.786675 24392.153785 .017075
+P 29 14746.718445 -3579.496603 22068.204023 229.671270
+V 29 11280.340087 24893.034338 -3488.957526 .033747
+P 30 -2094.189114 -15807.907956 -21480.982825 803.954988
+V 30 26733.455940 1818.560441 -3886.829364 .143197
+P 31 -9352.475004 14207.044620 19991.013451 37.221027
+V 31 -12935.043033 -22935.372048 10410.303127 .309249
+* 2004 2 29 1 0 .00000000
+P 1 -4061.616329 19113.960706 -17802.088700 332.449861
+V 1 -11262.755819 -20012.858108 -18764.025468 .016290
+P 3 -17896.264122 -1208.152429 19557.341338 89.646004
+V 3 -11909.477497 -22136.713060 -11981.074112 .027774
+P 4 13051.760076 7828.342070 -21753.510324 -75.995001
+V 4 -15543.211449 22880.749164 -775.542502 -.090991
+P 5 15593.723128 -13015.581397 -17146.972110 19.650663
+V 5 21732.267507 1682.296065 18786.606157 .019081
+P 6 -3435.058708 -23670.194724 -11216.947766 -1.276037
+V 6 9797.754205 11322.200416 -26589.746358 -.011190
+P 7 16779.081764 19538.433763 -6441.869896 612.395766
+V 7 1479.437851 9179.094496 29676.058967 -.077480
+P 8 6881.267419 15056.630311 20502.500212 356.136589
+V 8 -15975.653937 21229.002845 -10437.712146 -.088790
+P 9 15365.170337 -21069.118103 3374.922476 -32.214919
+V 9 488.321710 5948.958382 31396.020224 -.015819
+P 10 26340.879965 -1267.845161 4206.077645 40.126099
+V 10 5225.555103 2228.050835 -31420.663210 .007783
+P 11 -13688.002887 22538.336248 2495.393331 99.674857
+V 11 -2593.281268 -4933.365894 30407.408143 .025497
+P 13 6073.355941 24487.275734 -8473.293544 -30.924602
+V 13 -6523.818569 -8640.289534 -29709.104415 .002458
+P 14 -16433.350777 -18934.618789 -8697.238108 -18.149418
+V 14 -3193.210601 -10845.945516 29487.810777 -.001243
+P 15 -11980.349047 -8944.431820 21724.106541 232.536161
+V 15 17012.087391 -22380.474742 -68.014096 .053562
+P 16 -26517.849063 -1505.068309 -454.835210 15.315759
+V 16 786.305220 -2762.977614 -31756.393426 -.004140
+P 17 19731.841560 -14899.106811 -8443.818498 205.540443
+V 17 -4804.541514 10504.259954 -29902.030156 .195141
+P 18 -5771.887548 -15210.519223 21062.561945 -15.205997
+V 18 26566.228206 1850.149989 8420.403806 -.026478
+P 20 -11555.820421 13349.040849 -19909.342491 -184.349201
+V 20 -25056.436967 -2123.906975 13165.742030 .027602
+P 21 1321.448792 -21097.278333 15785.513109 73.047151
+V 21 13690.627062 -15184.702270 -21758.173949 .005261
+P 22 -18326.298468 -12329.739685 14882.070435 -40.899928
+V 22 18736.494166 -102.428481 23286.877437 .089432
+P 24 18799.654665 -5556.438954 -17657.589392 7.915463
+V 24 -12128.489761 19556.540798 -18679.809861 .030002
+P 25 -15028.141069 -4290.165842 -21107.135401 61.651285
+V 25 12611.432380 -24699.267605 -3916.059189 .008663
+P 26 13109.501769 -6577.970599 21884.933342 411.121087
+V 26 12997.449599 25201.277128 388.087034 -.123974
+P 27 -1599.232976 22720.911692 13704.473072 919.543032
+V 27 -10674.705114 13313.821869 -24669.913553 .044330
+P 28 17767.371817 12169.461130 15927.266272 21.718987
+V 28 -19837.073834 618.864776 21608.305135 .017050
+P 29 15812.512029 -1390.265150 21569.892567 229.674575
+V 29 12352.717404 23682.395835 -7569.204126 .033723
+P 30 328.049561 -15703.982918 -21648.928755 803.967280
+V 30 27008.491012 482.762922 160.379141 .143192
+P 31 -10586.709620 12130.878358 20747.043534 37.248497
+V 31 -14465.921174 -23115.396990 6366.459430 .309208
+* 2004 2 29 1 15 .00000000
+P 1 -5166.723461 17261.425909 -19330.511010 332.453542
+V 1 -13291.103711 -21065.469703 -15150.861058 .016190
+P 3 -18977.051988 -3117.619743 18313.559150 89.649934
+V 3 -12041.988488 -20247.329268 -15617.485417 .027876
+P 4 11707.997565 9921.844055 -21635.556180 -76.003275
+V 4 -14272.003672 23562.652389 3394.793225 -.091002
+P 5 17453.118937 -12904.758500 -15313.744389 19.653569
+V 5 19523.412771 826.975014 21894.398174 .019108
+P 6 -2461.633597 -22559.040026 -13504.908775 -1.277777
+V 6 11853.459554 13298.767868 -24179.098868 -.010966
+P 7 16851.940640 20230.524739 -3723.259924 612.388685
+V 7 75.742716 6218.024585 30649.986561 -.077496
+P 8 5525.528745 16953.348603 19385.162912 356.128882
+V 8 -14127.334985 20832.144252 -14356.430256 -.088814
+P 9 15346.797155 -20393.150656 6162.209583 -32.216633
+V 9 -829.650621 9087.467556 30451.083409 -.015718
+P 10 26656.212971 -1083.807997 1350.598076 40.126489
+V 10 1768.713545 1932.996172 -31944.705300 .007992
+P 11 -13866.470394 21961.028367 5202.487227 99.677433
+V 11 -1433.507912 -7906.996746 29663.106126 .025499
+P 13 5392.609203 23597.066433 -11067.016026 -30.924112
+V 13 -8640.969728 -11074.506856 -27846.929357 .002462
+P 14 -16671.486990 -19769.251664 -5975.942601 -18.149460
+V 14 -2024.550921 -7707.306646 30898.211004 -.001251
+P 15 -10506.663176 -10992.692942 21526.956685 232.539374
+V 15 15686.007857 -23056.316707 -4307.928492 .053586
+P 16 -26292.359929 -1754.895865 -3300.793944 15.315675
+V 16 4217.809146 -2857.837355 -31396.220823 -.004149
+P 17 19232.241506 -13821.907155 -11050.575766 205.557858
+V 17 -6220.108439 13436.524609 -27938.816163 .195142
+P 18 -3340.813576 -15105.512052 21638.026577 -15.208281
+V 18 27369.729141 464.027730 4348.338853 -.026476
+P 20 -13741.936837 13217.683733 -18557.457812 -184.346617
+V 20 -23443.410881 -827.511525 16833.486261 .027603
+P 21 2455.347972 -22397.365077 13694.340813 73.047430
+V 21 11513.236738 -13625.150823 -24645.009757 .005248
+P 22 -16528.854967 -12375.759082 16845.000984 -40.891726
+V 22 21144.211391 -972.490664 20272.536943 .089423
+P 24 17705.768882 -3691.641479 -19178.717403 7.918368
+V 24 -12104.657444 21837.319937 -15071.969637 .029804
+P 25 -13941.725752 -6551.468510 -21270.711812 61.653329
+V 25 11487.067994 -25470.663048 286.463025 .008617
+P 26 14336.502290 -4350.372128 21727.175690 411.109660
+V 26 14219.835177 24218.318081 -3884.903032 -.123975
+P 27 -2472.874531 23829.081384 11372.646145 919.546638
+V 27 -8763.566528 11238.452693 -27076.799569 .044305
+P 28 15880.464432 12270.649725 17732.930609 21.720292
+V 28 -22027.630161 1675.205565 18461.116246 .017027
+P 29 16959.939537 670.884613 20709.519509 229.677327
+V 29 13083.227933 22057.198073 -11523.767633 .033689
+P 30 2751.856874 -15721.188213 -21452.095286 803.980265
+V 30 26768.019739 -858.943368 4208.223025 .143189
+P 31 -11950.302047 10061.441742 21133.808591 37.274983
+V 31 -15795.734817 -22790.419835 2217.077107 .309176
+* 2004 2 29 1 30 .00000000
+P 1 -6451.824520 15338.309175 -20521.212143 332.454529
+V 1 -15246.449733 -21580.981706 -11270.149419 .015946
+P 3 -20051.418480 -4845.137365 16754.487241 89.653072
+V 3 -11761.584990 -18107.030315 -18977.635229 .027893
+P 4 10489.910588 12054.790363 -21143.884703 -76.011616
+V 4 -12764.024287 23750.819804 7517.229690 -.091011
+P 5 19097.388741 -12857.479893 -13217.107512 19.655802
+V 5 16963.338225 279.406895 24631.491511 .019022
+P 6 -1299.206070 -21289.834568 -15556.400134 -1.277913
+V 6 13983.306681 14828.647996 -21342.538106 -.010749
+P 7 16781.758629 20662.108931 -940.756210 612.381784
+V 7 -1692.659703 3404.365509 31094.759793 -.077511
+P 8 4341.356408 18790.432467 17925.801143 356.120413
+V 8 -12178.779829 19903.159387 -18026.680899 -.088830
+P 9 15228.275243 -19432.188569 8839.685951 -32.216554
+V 9 -1733.513326 12265.344232 28958.800400 -.015615
+P 10 26658.372081 -906.935465 -1527.739968 40.128203
+V 10 -1717.312022 2069.659974 -31928.041366 .008086
+P 11 -13957.280395 21114.368490 7819.309598 99.679552
+V 11 -648.042579 -10904.156203 28404.344315 .025498
+P 13 4512.554436 22506.864462 -13471.452406 -30.924113
+V 13 -10938.701904 -13075.951862 -25508.738614 .002463
+P 14 -16784.804685 -20324.462384 -3151.574710 -18.149895
+V 14 -424.333145 -4652.772354 31775.098846 -.001258
+P 15 -9164.723970 -13079.484859 20950.754757 232.545675
+V 15 14098.347458 -23229.962146 -8478.695620 .053854
+P 16 -25761.334146 -2031.734948 -6089.911630 15.315523
+V 16 7559.723093 -3360.612141 -30494.923788 -.004158
+P 17 18626.470552 -12481.552217 -13457.750394 205.575110
+V 17 -7161.422431 16334.766551 -25474.099019 .195145
+P 18 -861.480712 -15129.142868 21842.823589 -15.210473
+V 18 27635.686237 -993.603993 195.022409 -.026486
+P 20 -15761.899519 13193.098491 -16887.913501 -184.344061
+V 20 -21373.070749 236.214460 20214.766459 .027600
+P 21 3396.292854 -23535.709930 11362.294445 73.047625
+V 21 9417.703982 -11596.368035 -27102.667309 .005237
+P 22 -14532.579976 -12513.229447 18520.908418 -40.883377
+V 22 23144.402359 -2123.529767 16917.746151 .089417
+P 24 16633.798262 -1635.352290 -20362.330544 7.920590
+V 24 -11648.669502 23797.395896 -11190.535925 .029613
+P 25 -12967.197484 -8859.675060 -21055.755748 61.654295
+V 25 10138.686305 -25735.661803 4482.866930 .008482
+P 26 15659.068744 -2232.621638 21188.386096 411.098847
+V 26 15109.203054 22770.928683 -8066.823536 -.123966
+P 27 -3182.170648 24731.278810 8844.236266 919.550374
+V 27 -7035.332696 8745.169728 -29031.009331 .044286
+P 28 13815.251875 12478.128018 19240.897621 21.721730
+V 28 -23790.211268 2968.859916 15001.778624 .017008
+P 29 18155.403688 2569.648678 19501.335159 229.680393
+V 29 13411.241066 20086.296829 -15287.726455 .033662
+P 30 5131.016026 -15856.209651 -20893.436749 803.993686
+V 30 26018.879348 -2121.314774 8189.820975 .143185
+P 31 -13421.514766 8042.672005 21145.244227 37.301350
+V 31 -16844.985876 -21997.026115 -1961.421235 .309167
+* 2004 2 29 1 45 .00000000
+P 1 -7906.012756 13392.748012 -21353.163872 332.455252
+V 1 -17032.886657 -21567.187628 -7190.431327 .015721
+P 3 -21081.042746 -6371.898429 14907.572888 89.654456
+V 3 -11045.265961 -15800.623078 -22005.059740 .028021
+P 4 9415.026411 14181.263345 -20286.055144 -76.019698
+V 4 -11104.424180 23415.327928 11519.705257 -.091020
+P 5 20498.238270 -12843.769636 -10892.666596 19.657543
+V 5 14127.522382 87.841539 26949.131802 .018860
+P 6 54.915159 -19904.078074 -17335.277871 -1.281255
+V 6 16098.204790 15885.983679 -18129.954097 -.010574
+P 7 16537.712480 20850.181330 1857.840695 612.374886
+V 7 -3778.920723 819.358125 31007.959702 -.077527
+P 8 3333.513429 20520.121579 16149.830277 356.111455
+V 8 -10224.662531 18448.317197 -21381.460935 -.088840
+P 9 15047.591566 -18187.276424 11359.071388 -32.216758
+V 9 -2210.462948 15380.290512 26942.805294 -.015791
+P 10 26349.196220 -698.428578 -4380.246325 40.128499
+V 10 -5133.449774 2633.723621 -31371.552923 .008092
+P 11 -13994.600818 20000.257067 10300.496602 99.681832
+V 11 -244.768908 -13835.452622 26653.448906 .025498
+P 13 3420.890974 21257.688494 -15645.496083 -30.923442
+V 13 -13327.959884 -14601.559855 -22734.361623 .002468
+P 14 -16736.046738 -20612.104811 -272.876038 -18.149658
+V 14 1569.320992 -1776.414961 32103.926826 -.001260
+P 15 -7974.181676 -15158.067360 20005.133040 232.550506
+V 15 12336.826154 -22870.300051 -12504.826353 .053978
+P 16 -24937.170473 -2371.321704 -8774.076862 15.314865
+V 16 10716.501562 -4246.658016 -29067.161036 -.004165
+P 17 17957.567037 -10885.787020 -15622.308213 205.592401
+V 17 -7624.044100 19095.199245 -22556.157452 .195151
+P 18 1617.211627 -15283.799836 21672.815364 -15.212722
+V 18 27355.649678 -2432.547166 -3968.780160 -.026480
+P 20 -17577.190474 13251.110024 -14929.137284 -184.341327
+V 20 -18906.534451 997.298332 23251.651394 .027596
+P 21 4155.590810 -24471.955934 8830.110248 73.048379
+V 21 7490.398403 -9142.973312 -29085.631403 .005224
+P 22 -12376.784301 -12764.264293 19881.700386 -40.875546
+V 22 24681.058611 -3483.257053 13279.932280 .089408
+P 24 15620.446254 579.813104 -21186.870718 7.923233
+V 24 -10811.921669 25355.358139 -7104.472060 .029439
+P 25 -12120.932602 -11167.894696 -20466.292172 61.654358
+V 25 8651.437901 -25468.208061 8596.118224 .008395
+P 26 17044.215381 -263.403176 20280.070933 411.087703
+V 26 15600.966543 20930.671252 -12084.776949 -.123969
+P 27 -3746.885433 25392.435582 6161.879367 919.554129
+V 27 -5561.743292 5893.180414 -30491.657529 .044270
+P 28 11612.513841 12809.873173 20425.567442 21.722923
+V 28 -25077.076222 4423.218276 11286.475091 .016989
+P 29 19360.489367 4278.433321 17965.315034 229.683230
+V 29 13290.680822 17849.498189 -18798.925839 .033632
+P 30 7420.693463 -16098.170482 -19981.901133 804.006661
+V 30 24784.889664 -3222.082672 12039.023708 .143181
+P 31 -14971.889912 6114.443059 20782.168719 37.329059
+V 31 -17544.356212 -20788.572794 -6092.785473 .309179
+* 2004 2 29 2 0 .00000000
+P 1 -9509.932851 11471.292604 -21811.686504 332.456368
+V 1 -18559.220575 -21051.434371 -2984.019265 .015577
+P 3 -22026.285810 -7686.923043 12805.075302 89.656881
+V 3 -9886.840510 -13416.669073 -24649.426145 .028214
+P 4 8492.963334 16253.479689 -19076.059242 -76.027532
+V 4 -9383.218531 22544.819786 15331.558185 -.091031
+P 5 21634.609198 -12829.979737 -8380.110985 19.659105
+V 5 11100.791718 285.329332 28805.464340 .018764
+P 6 1595.292364 -18444.780876 -18810.214250 -1.281444
+V 6 18107.212457 16463.157309 -14598.313966 -.010277
+P 7 16093.810846 20818.575064 4624.914062 612.367941
+V 7 -6122.875253 -1466.713047 30396.027052 -.077541
+P 8 2498.289052 22096.121637 14088.445997 356.102963
+V 8 -8357.956557 16493.847870 -24359.551513 -.088846
+P 9 14843.033534 -16668.696737 13674.703181 -32.218810
+V 9 -2266.666981 18330.023810 24437.564052 -.016236
+P 10 25739.344076 -420.702082 -7158.702956 40.128874
+V 10 -8383.362084 3602.626303 -30284.793874 .008152
+P 11 -14012.556573 18628.616179 12603.089295 99.683956
+V 11 -214.871148 -16612.586682 24441.449345 .025500
+P 13 2113.615923 19893.626081 -17551.959732 -30.923031
+V 13 -15713.993213 -15626.391100 -19570.944021 .002470
+P 14 -16492.156933 -20652.140303 2610.530110 -18.149973
+V 14 3901.471694 836.235549 31879.670700 -.001265
+P 15 -6946.515899 -17179.773881 18706.422316 232.556294
+V 15 10494.659354 -21965.811523 -16313.213313 .053942
+P 16 -23840.597187 -2806.394789 -11306.912924 15.314543
+V 16 13599.169331 -5474.220930 -27136.775806 -.004168
+P 17 17268.039577 -9051.556422 -17505.968287 205.610369
+V 17 -7624.091181 21617.888194 -19242.105684 .195160
+P 18 4046.448005 -15563.740331 21130.272010 -15.215156
+V 18 26539.946270 -3762.920527 -8071.638472 -.026489
+P 20 -19155.416529 13361.802528 -12714.521972 -184.339090
+V 20 -16118.374255 1398.573860 25891.894239 .027591
+P 21 4751.948850 -25170.538834 6142.234204 73.048913
+V 21 5808.818220 -6326.526257 -30557.133616 .005208
+P 22 -10105.114383 -13144.044827 20904.654592 -40.867593
+V 22 25714.118479 -4970.422489 9420.838335 .089402
+P 24 14697.092446 2914.493946 -21637.194003 7.927176
+V 24 -9660.912340 26443.251831 -2887.117082 .029265
+P 25 -11411.421216 -13427.760231 -19513.207561 61.655511
+V 25 7114.786426 -24661.666793 12551.048036 .008328
+P 26 18453.824194 1525.623545 19020.100668 411.076326
+V 26 15646.016964 18781.511592 -15870.433648 -.123974
+P 27 -4192.748253 25783.504763 3371.541983 919.558170
+V 27 -4403.132633 2756.729145 -31425.810007 .044254
+P 28 9316.621910 13276.614107 21266.593403 21.724767
+V 28 -25856.386853 5954.325952 7375.630723 .016968
+P 29 20533.361920 5777.212180 16126.870448 229.686401
+V 29 12691.900245 15434.646586 -21998.872884 .033600
+P 30 9578.936247 -16429.044405 -18732.320326 804.019471
+V 30 23106.063604 -4085.157904 15691.390919 .143178
+P 31 -16567.299390 4311.161339 20052.194202 37.356679
+V 31 -17837.593225 -19232.744076 -10102.552778 .309193
+* 2004 2 29 2 15 .00000000
+P 1 -11236.375850 9617.193839 -21888.726318 332.457012
+V 1 -19742.722156 -20079.429733 1274.392817 .015485
+P 3 -22847.720566 -8787.242987 10483.479304 89.660211
+V 3 -8297.198223 -11044.074585 -26867.277921 .028366
+P 4 7725.154768 18223.498726 -17534.135363 -76.035339
+V 4 -7691.662408 21147.211173 18884.858804 -.091046
+P 5 22493.381756 -12780.230302 -5722.553899 19.659685
+V 5 7974.182315 888.219518 30166.391284 .018691
+P 6 3308.358397 -16954.808275 -19955.286356 -1.280891
+V 6 19921.233045 16570.976845 -10810.562066 -.010045
+P 7 15429.988744 20596.866036 7313.809563 612.360589
+V 7 -8653.419769 -3396.861207 29273.826111 -.077557
+P 8 1823.827878 23475.366855 11778.043819 356.094852
+V 8 -6666.047254 14085.047462 -26906.825005 -.088850
+P 9 14651.483521 -14895.777341 15744.488197 -32.220338
+V 9 -1927.078009 21016.524034 21487.814412 -.016700
+P 10 24847.892235 -38.993873 -9816.134176 40.130401
+V 10 -11376.880502 4936.384427 -28685.800782 .008170
+P 11 -14043.743106 17017.139283 14687.291119 99.686036
+V 11 -533.311800 -19151.709124 21807.478270 .025498
+P 13 595.374881 18460.160818 -19158.199733 -30.922753
+V 13 -17999.978952 -16144.437507 -16072.173579 .002470
+P 14 -16025.705220 -20471.722377 5448.999075 -18.150409
+V 14 6502.427929 3111.378831 31106.873172 -.001262
+P 15 -6084.715323 -19095.810375 17077.368226 232.561694
+V 15 8666.656686 -20525.220767 -19834.661625 .053884
+P 16 -22499.928448 -3365.222986 -13644.589295 15.314011
+V 16 16128.654907 -6986.046903 -24736.432700 -.004171
+P 17 16598.056013 -7004.468398 -19075.931728 205.628149
+V 17 -7197.217940 23810.919431 -15596.386516 .195169
+P 18 6379.179111 -15955.282530 20223.877133 -15.217477
+V 18 25217.388646 -4898.776223 -12042.664775 -.026485
+P 20 -20471.400390 13490.781121 -10281.872706 -184.336765
+V 20 -13093.876426 1398.016038 28089.832509 .027587
+P 21 5210.527810 -25602.113214 3345.995990 73.049443
+V 21 4438.387921 -3223.223593 -31489.980773 .005196
+P 22 -7764.051378 -13660.155963 21572.762356 -40.859668
+V 22 26220.824135 -6498.024379 5405.521124 .089395
+P 24 13888.554561 5323.929519 -21704.899137 7.929813
+V 24 -8274.446987 27009.461953 1385.286002 .028966
+P 25 -10839.052233 -15591.195048 -18214.009023 61.657614
+V 25 5618.647239 -23329.106397 16275.959659 .008192
+P 26 19846.123071 3110.781008 17432.248576 411.065765
+V 26 15212.495716 16416.247343 -19361.112785 -.123984
+P 27 -4550.301746 25882.707189 521.754720 919.562207
+V 27 -3605.713050 -577.392743 -31809.597651 .044236
+P 28 6974.051765 13881.311359 21749.227878 21.726474
+V 28 -26113.368918 7474.053579 3333.103731 .016944
+P 29 21630.309022 7054.107181 14016.479344 229.689028
+V 29 11602.987693 12934.416481 -24833.612879 .033568
+P 30 11568.071958 -16824.348978 -17165.212038 804.032284
+V 30 21037.235348 -4643.638960 19085.175468 .143173
+P 31 -18169.228621 2660.607882 18969.496984 37.385146
+V 31 -17683.798769 -17408.547167 -13919.555487 .309203
+* 2004 2 29 2 30 .00000000
+P 1 -13051.197817 7868.832759 -21583.005156 332.457890
+V 1 -20512.543758 -18713.303073 5509.174276 .015410
+P 3 -23507.656699 -9677.780123 7982.847980 89.662465
+V 3 -6303.927889 -8768.715702 -28622.644730 .028480
+P 4 7104.904747 20044.960477 -15686.462754 -76.043797
+V 4 -6118.534386 19249.639923 22115.736235 -.091063
+P 5 23069.781608 -12657.956092 -2965.800111 19.661998
+V 5 4841.527239 1895.307468 31006.309677 .018651
+P 6 5172.747373 -15475.242416 -20750.459306 -1.282227
+V 6 21456.650591 16238.101848 -6834.383361 -.009902
+P 7 14532.971630 20219.091238 9879.569993 612.353942
+V 7 -11291.236305 -4929.187926 27664.110708 -.077572
+P 8 1290.799413 24619.664943 9259.528108 356.086708
+V 8 -5227.083267 11284.571185 -28977.386905 -.088853
+P 9 14506.768858 -12896.320380 17530.790120 -32.222939
+V 9 -1234.388457 23350.159770 18147.686574 -.017091
+P 10 23701.633298 477.130407 -12307.560185 40.130573
+V 10 -14033.216397 6579.111588 -26600.832970 .008176
+P 11 -14117.812464 15190.745882 16517.164454 99.688352
+V 11 -1159.959446 -21376.598064 18798.020466 .025495
+P 13 -1120.518377 17002.458938 -20436.666284 -30.922395
+V 13 -20090.732412 -16168.715010 -12297.404700 .002473
+P 14 -15316.100484 -20104.014882 8193.721470 -18.150437
+V 14 9290.386715 4989.659792 29799.518388 -.001257
+P 15 -5383.313338 -20859.074661 15146.712969 232.565286
+V 15 6945.244084 -18577.296112 -23005.342802 .053793
+P 16 -20950.036415 -4070.306292 -15746.593063 15.313515
+V 16 18238.752779 -8711.614505 -21907.090487 -.004171
+P 17 15983.763892 -4777.899768 -20305.467364 205.645549
+V 17 -6396.729271 25594.145608 -11689.109183 .195174
+P 18 8571.745832 -16437.318359 18968.623618 -15.219862
+V 18 23434.277910 -5761.600677 -15812.747189 -.026490
+P 20 -21508.005719 13600.618379 -7672.777413 -184.333955
+V 20 -9925.888796 970.501501 29807.191890 .027585
+P 21 5561.730130 -25744.742040 490.718122 73.049769
+V 21 3429.763202 79.036144 -31867.162160 .005180
+P 22 -5401.316479 -14312.220833 21874.980825 -40.851089
+V 22 26196.442943 -7976.712859 1301.325557 .089392
+P 24 13212.127530 7759.535104 -21388.518796 7.932201
+V 24 -6740.298802 27020.934466 5635.160106 .028663
+P 25 -10396.246543 -17612.167405 -16592.443691 61.656201
+V 25 4249.541797 -21502.737711 19704.118756 .008019
+P 26 21177.290716 4476.999166 15545.641463 411.053750
+V 26 14286.836177 13932.716324 -22500.656356 -.123996
+P 27 -4853.527072 25676.524587 -2337.248828 919.565749
+V 27 -3199.365259 -4012.969417 -31629.193711 .044219
+P 28 4631.817183 14618.931165 21864.592590 21.727810
+V 28 -25850.883342 8893.446910 -774.684151 .016925
+P 29 22607.372537 8105.671213 11669.239338 229.691713
+V 29 10030.452854 10442.911086 -27254.580530 .033534
+P 30 13355.960263 -17254.096850 -15306.493133 804.045223
+V 30 18646.143951 -4842.515865 22162.306617 .143169
+P 31 -19736.236085 1183.070384 17554.458536 37.413274
+V 31 -17059.035508 -15402.899171 -17477.281466 .309208
+* 2004 2 29 2 45 .00000000
+P 1 -14914.525469 6258.355190 -20900.038876 332.458906
+V 1 -20812.656797 -17029.001575 9645.221119 .015375
+P 3 -23971.602813 -10370.927354 5346.126617 89.664957
+V 3 -3950.309984 -6670.223131 -29887.515516 .028605
+P 4 6617.776364 21674.784368 -13564.737863 -76.052723
+V 4 -4746.480884 16897.642614 24965.666423 -.091078
+P 5 23367.471937 -12427.499085 -157.553511 19.664686
+V 5 1795.898489 3287.674018 31308.709617 .018443
+P 6 7159.944000 -14043.829220 -21181.953220 -1.281931
+V 6 22638.749159 15509.734146 -2740.862656 -.009728
+P 7 13396.882832 19722.332232 12279.618503 612.346863
+V 7 -13951.752950 -6038.084509 25596.917909 -.077585
+P 8 873.378972 25497.154652 6577.527140 356.078757
+V 8 -4106.732521 8169.990444 -30534.516478 -.088852
+P 9 14438.143440 -10705.673246 19001.223937 -32.225138
+V 9 -247.161271 25253.484849 14479.526843 -.017227
+P 10 22334.099469 1152.435543 -14590.720923 40.131937
+V 10 -16283.834892 8461.095976 -24063.999305 .008207
+P 11 -14260.188358 13180.763149 18061.253488 99.690697
+V 11 -2041.316978 -23221.529324 15466.029801 .025493
+P 13 -3012.394972 15563.679942 -21365.370602 -30.922055
+V 13 -21896.367985 -15730.638521 -8310.693664 .002479
+P 14 -14350.543905 -19586.790931 10797.561096 -18.150335
+V 14 12174.539238 6428.309988 27980.742710 -.001253
+P 15 -4828.778410 -22425.919587 12948.651313 232.570197
+V 15 5416.587998 -16169.804673 -25768.126773 .053916
+P 16 -19231.077976 -4937.302860 -17576.445752 15.313002
+V 16 19878.595522 -10569.905409 -18697.317995 -.004167
+P 17 15455.815309 -2411.790235 -21174.343592 205.663324
+V 17 -5290.948121 26902.341473 -7594.305789 .195177
+P 18 10585.382683 -16982.131078 17385.598055 -15.222039
+V 18 21252.726336 -6283.560980 -19315.787375 -.026491
+P 20 -22256.664252 13652.430707 -4931.909830 -184.331287
+V 20 -6711.372414 108.923272 31013.778498 .027581
+P 21 5839.772663 -25584.798292 -2373.218731 73.050242
+V 21 2816.767180 3484.092057 -31682.213670 .005172
+P 22 -3064.240700 -15091.845745 21806.392243 -40.843062
+V 22 25654.334735 -9318.264836 -2823.153680 .089385
+P 24 12676.942182 10170.643842 -20693.566871 7.932687
+V 24 -5151.471713 26464.626766 9785.216427 .028374
+P 25 -10067.928947 -19448.357552 -14677.990936 61.657743
+V 25 3086.944669 -19232.547064 22775.082731 .008012
+P 26 22403.122242 5618.095635 13394.140913 411.042760
+V 26 12874.071751 11429.945664 -25240.100649 -.124004
+P 27 -5138.298212 25160.386995 -5154.472714 919.569385
+V 27 -3196.069345 -7448.010578 -30881.594257 .044209
+P 28 2335.880275 15476.524978 21609.867927 21.729208
+V 28 -25089.379494 10126.145546 -4879.677487 .016907
+P 29 23422.012831 8936.860203 9124.345604 229.694808
+V 29 7999.257676 8052.180366 -29219.416924 .033505
+P 30 14917.049565 -17683.972809 -13187.104898 804.057971
+V 30 16011.028967 -4640.968034 24869.361425 .143162
+P 31 -21225.524737 -109.205280 15833.191862 37.440709
+V 31 -15957.201626 -13306.968773 -20715.056456 .309212
+* 2004 2 29 3 0 .00000000
+P 1 -16782.199830 4810.566500 -19852.024634 332.462727
+V 1 -20604.185294 -15113.134127 13609.401510 .015350
+P 3 -24209.611415 -10885.851768 2618.410175 89.668156
+V 3 -1293.730236 -4819.042288 -30642.175956 .028809
+P 4 6242.300638 23074.759612 -11205.637812 -76.060291
+V 4 -3648.576552 14153.576608 27382.686093 -.091096
+P 5 23398.325212 -12055.681503 2653.422123 19.666322
+V 5 -1073.934767 5029.268599 31066.593338 .018265
+P 6 9235.225331 -12693.574183 -21242.486168 -1.282446
+V 6 23404.768679 14445.631500 1396.924468 -.009675
+P 7 12023.578020 19145.217715 14474.384840 612.339428
+V 7 -16548.231189 -6714.827508 23108.911326 -.077600
+P 8 540.496766 26083.514375 3779.533659 356.070526
+V 8 -3355.488471 4830.725246 -31551.378027 -.088848
+P 9 14468.971698 -8365.480048 20129.332593 -32.227021
+V 9 962.780094 26664.510603 10552.463515 -.017169
+P 10 20784.346405 2004.885751 -16626.761971 40.133560
+V 10 -18074.892638 10501.396808 -21116.784525 .008187
+P 11 -14490.961090 11023.867317 19293.122466 99.693037
+V 11 -3112.776137 -24633.727355 11869.935580 .025496
+P 13 -5050.866090 14183.375012 -21928.261769 -30.922441
+V 13 -23335.773806 -14878.702383 -4179.757570 .002480
+P 14 -13124.686315 -18960.867993 13215.859769 -18.150720
+V 14 15058.520969 7402.635828 25682.390314 -.001242
+P 15 -4400.242095 -23757.785571 10522.173755 232.575279
+V 15 4156.996527 -13367.665865 -28073.751174 .054056
+P 16 -17387.024897 -5974.225568 -19102.351917 15.312621
+V 16 21014.535454 -12472.606202 -15162.463889 -.004161
+P 17 15038.156634 48.816042 -21669.102350 205.680836
+V 17 -3959.989637 27687.641340 -3388.177930 .195183
+P 18 12387.541587 -17556.488587 15501.654457 -15.224627
+V 18 18748.354168 -6410.364125 -22489.918796 -.026485
+P 20 -22717.584040 13607.524087 -2106.275782 -184.328982
+V 20 -3547.786055 -1175.387883 31688.045123 .027576
+P 21 6081.105788 -25117.540032 -5195.331782 73.050443
+V 21 2615.051560 6891.310749 -30939.326785 .005165
+P 22 -798.157996 -15982.876502 21368.269553 -40.834810
+V 22 24625.368229 -10439.007597 -6899.113503 .089378
+P 24 12283.671927 12506.341634 -19632.439203 7.936140
+V 24 -3602.233520 25348.116343 13760.080202 .028231
+P 25 -9832.313984 -21062.668298 -12505.243537 61.658653
+V 25 2199.985861 -16584.200411 25435.833982 .007906
+P 26 23480.690325 6536.712298 11015.672781 411.031933
+V 26 10997.436071 9004.391032 -27538.157448 -.124013
+P 27 -5440.728143 24339.013203 -7879.158453 919.573088
+V 27 -3589.087470 -10778.785186 -29575.143744 .044195
+P 28 129.594178 16433.615432 20988.395936 21.730730
+V 28 -23866.220577 11091.754564 -8913.175397 .016892
+P 29 24034.745729 9560.692594 6424.497227 229.697884
+V 29 5552.176813 5848.777049 -30692.740098 .033477
+P 30 16233.198038 -18076.695875 -10842.551941 804.071055
+V 30 13217.813083 -4014.164210 27158.510305 .143156
+P 31 -22594.558630 -1212.229501 13836.970255 37.468544
+V 31 -14390.161621 -11212.439117 -23579.028557 .309218
+* 2004 2 29 3 15 .00000000
+P 1 -18607.399000 3542.130246 -18457.600215 332.462314
+V 1 -19867.038913 -13059.398799 17331.948069 .015028
+P 3 -24197.457498 -11247.549491 -153.813627 89.670422
+V 3 1596.419012 -3273.871133 -30875.413481 .028856
+P 4 5950.979555 24212.961464 -8650.179288 -76.068464
+V 4 -2885.251264 11094.339778 29322.496592 -.091108
+P 5 23181.879436 -11513.299108 5418.170799 19.667440
+V 5 -3686.945665 7068.108480 30282.730313 .018006
+P 6 11358.856246 -11451.544176 -20931.388641 -1.283869
+V 6 23706.467584 13117.533277 5505.351479 -.009675
+P 7 10422.700119 18526.399705 16427.870915 612.332646
+V 7 -18994.873746 -6967.571620 20242.691944 -.077612
+P 8 257.300148 26362.871787 914.992456 356.061874
+V 8 -3006.644267 1364.493781 -32011.484337 -.088838
+P 9 14615.676187 -5922.168576 20895.124966 -32.227801
+V 9 2313.575407 27539.286748 6440.768988 -.017113
+P 10 19095.540593 3044.767276 -18380.873308 40.134822
+V 10 -19369.152864 12610.867617 -17807.475523 .008071
+P 11 -14824.005581 8760.826954 20191.800393 99.695650
+V 11 -4301.303644 -25575.302992 8072.561439 .025494
+P 13 -7199.757592 12896.033719 -22115.506959 -30.922095
+V 13 -24339.770308 -13676.514412 25.129247 .002484
+P 14 -11642.964590 -18268.440536 15407.195577 -18.150739
+V 14 17844.070950 7906.800683 22944.424844 -.001231
+P 15 -4070.532366 -24822.633941 7910.313102 232.580985
+V 15 3229.758645 -10250.388305 -29881.793389 .054123
+P 16 -15464.054179 -7180.941532 -20297.766963 15.311944
+V 16 21631.358639 -14327.616286 -11363.694621 -.004156
+P 17 14747.128723 2555.412699 -21783.177315 205.698418
+V 17 -2492.117770 27921.176766 852.601757 .195191
+P 18 13952.983140 -18122.972045 13348.980178 -15.227169
+V 18 16007.441182 -6103.608196 -25278.679573 -.026482
+P 20 -22899.629885 13429.045638 755.585302 -184.326716
+V 20 -529.440500 -2852.957389 31817.517741 .027576
+P 21 6322.746972 -24347.334986 -7925.990386 73.050611
+V 21 2821.540798 10199.555765 -29653.200720 .005165
+P 22 1355.120635 -16961.956018 20568.048467 -40.827183
+V 22 23156.710688 -11263.071428 -10858.578371 .089363
+P 24 12024.600069 14717.317663 -18224.169717 7.938926
+V 24 -2184.099429 23699.337792 17487.869881 .028077
+P 25 -9661.967237 -22424.518195 -10113.196653 61.660420
+V 25 1644.648393 -13636.328963 27641.692159 .007767
+P 26 24369.940349 7243.922543 8451.521277 411.020712
+V 26 8697.305998 6746.398778 -29361.523160 -.124026
+P 27 -5795.478370 23226.377452 -10461.818746 919.576732
+V 27 -4352.976454 -13904.060743 -27729.755185 .044187
+P 28 -1947.765555 17462.879183 20009.691883 21.732110
+V 28 -22234.390678 11719.050101 -12806.874052 .016882
+P 29 24410.691881 9997.605164 3615.236847 229.700862
+V 29 2748.493468 3910.472868 -31646.854031 .033444
+P 30 17294.225920 -18393.517980 -8312.357776 804.084254
+V 30 10356.964114 -2954.486109 28988.419635 .143145
+P 31 -23802.658547 -2130.149550 11601.576743 37.496690
+V 31 -12387.155330 -9207.852165 -26022.945431 .309223
+* 2004 2 29 3 30 .00000000
+P 1 -20342.373803 2461.101379 -16741.481695 332.464126
+V 1 -18600.780536 -10964.747184 20747.763856 .014910
+P 3 -23917.608256 -11485.690243 -2923.433881 89.673810
+V 3 4641.266703 -2079.562423 -30584.594622 .028836
+P 4 5711.543925 25064.933740 -5942.984374 -76.076837
+V 4 -2501.721784 7808.473895 30749.422763 -.091115
+P 5 22744.499081 -10776.470098 8088.430300 19.668765
+V 5 -5972.945253 9338.282298 28969.740686 .017842
+P 6 13487.489291 -10337.923170 -20254.588460 -1.283756
+V 6 23512.086089 11606.112957 9511.673896 -.009621
+P 7 8611.457378 17903.056760 18108.153400 612.325813
+V 7 -21209.852469 -6820.760611 17046.089927 -.077624
+P 8 -13.235154 26328.378287 -1965.642255 356.053660
+V 8 -3075.018245 -2126.557259 -31908.904361 -.088821
+P 9 14886.996937 -3425.241054 21285.459657 -32.229260
+V 9 3717.002656 27853.663159 2222.083064 -.017227
+P 10 17313.400600 4274.098521 -19822.871987 40.136170
+V 10 -20147.307201 14695.504097 -14190.489100 .007922
+P 11 -15266.356468 6435.097707 20742.125405 99.697882
+V 11 -5528.448057 -26024.606390 4139.980658 .025485
+P 13 -9417.310148 11729.834149 -21923.670073 -30.921929
+V 13 -24853.833548 -12200.255338 4232.286711 .002488
+P 14 -9918.604578 -17551.375100 17334.082209 -18.150690
+V 14 20434.758869 7953.875836 19814.210474 -.001227
+P 15 -3807.466390 -25596.121699 5159.313452 232.584991
+V 15 2682.560174 -6908.909136 -31161.419054 .053948
+P 16 -13508.861204 -8548.995932 -21141.873092 15.311392
+V 16 21732.780546 -16042.723284 -7366.917994 -.004153
+P 17 14590.906892 5057.783319 -21516.863779 205.715635
+V 17 -979.869542 27593.878911 5052.478968 .195202
+P 18 15264.590842 -18641.489279 10964.559342 -15.229969
+V 18 13123.638190 -5342.522102 -27632.112431 -.026474
+P 20 -22819.879569 13083.576610 3604.430558 -184.324065
+V 20 2256.037195 -4877.170985 31399.071331 .027575
+P 21 6600.600410 -23287.526479 -10517.345720 73.051030
+V 21 3414.678623 13311.158369 -27848.646592 .005166
+P 22 3358.697490 -17999.362700 19419.206839 -40.819066
+V 22 21310.034895 -11725.357921 -14635.422935 .089351
+P 24 11884.043959 16757.652363 -16494.048355 7.940371
+V 24 -981.948730 21565.461479 20901.681501 .027947
+P 25 -9525.092282 -23510.867614 -7544.465198 61.659714
+V 25 1461.571675 -10477.332320 29356.991637 .007465
+P 26 25035.163417 7758.534454 5745.602161 411.009664
+V 26 6029.557393 4737.004335 -30685.037671 -.124037
+P 27 -6234.108460 21845.292923 -12855.275789 919.580755
+V 27 -5444.466135 -16729.344463 -25376.787130 .044182
+P 28 -3862.326441 18531.106310 18689.359813 21.733870
+V 28 -20260.613807 11948.900180 -16493.956018 .016867
+P 29 24520.979836 10274.525112 744.229927 229.703983
+V 29 -337.940616 2303.257304 -32062.378166 .033417
+P 30 18098.174954 -18595.804477 -5639.441843 804.096836
+V 30 7520.144249 -1472.114634 30325.091394 .143136
+P 31 -24812.513822 -2874.810418 9166.592945 37.523634
+V 31 -9993.537625 -7375.181134 -28008.724415 .309222
+* 2004 2 29 3 45 .00000000
+P 1 -21940.225796 1566.810411 -14733.988576 332.464066
+V 1 -16824.697813 -8925.448617 23797.612467 .014800
+P 3 -23359.949524 -11633.296654 -5643.487498 89.676271
+V 3 7755.324450 -1265.559007 -29775.620390 .028781
+P 4 5488.415178 25614.587179 -3131.467795 -76.084773
+V 4 -2526.046085 4392.768291 31637.195077 -.091121
+P 5 22118.274922 -9827.780860 10617.508278 19.669286
+V 5 -7875.288050 11762.414239 27149.867469 .017765
+P 6 15575.711213 -9365.358545 -19224.468386 -1.282820
+V 6 22807.632221 9997.591996 13345.419433 -.009663
+P 7 6614.136049 17309.475134 19487.822085 612.319009
+V 7 -23118.163550 -6313.991803 13571.446408 -.077636
+P 8 -308.614748 25982.427385 -4811.856720 356.044904
+V 8 -3556.476149 -5539.865751 -31248.217925 -.088796
+P 9 15283.594927 -925.446388 21294.265305 -32.229982
+V 9 5082.417510 27604.152504 -2024.431311 -.017392
+P 10 15484.548091 5686.351819 -20927.719943 40.136674
+V 10 -20408.652192 16660.002071 -10325.603044 .007693
+P 11 -15817.863710 4091.323467 20934.984143 99.700070
+V 11 -6713.545304 -25976.947998 140.331765 .025480
+P 13 -11657.600914 10705.644112 -21355.785166 -30.921797
+V 13 -24840.279151 -10535.656821 8369.812930 .002495
+P 14 -7973.290899 -16849.533663 18963.598252 -18.151118
+V 14 22739.637504 7575.163373 16345.677339 -.001221
+P 15 -3575.345717 -26062.470338 2317.742543 232.589216
+V 15 2545.585374 -3441.982284 -31891.890237 .054061
+P 16 -11566.961530 -10061.768707 -21619.953973 15.311203
+V 16 21341.201572 -17529.299686 -3241.612565 -.004148
+P 17 14569.293264 7505.788350 -20877.152000 205.733319
+V 17 483.870235 26716.453507 9138.456565 .195215
+P 18 16313.874208 -19070.914112 8389.541612 -15.231981
+V 18 10194.364197 -4125.012452 -29507.763821 -.026467
+P 20 -22502.871980 12542.604200 6391.161527 -184.321453
+V 20 4730.992097 -7185.955667 30439.045453 .027576
+P 21 6947.834372 -21959.948555 -12924.214352 73.051473
+V 21 4355.457159 16135.713951 -25559.962113 .005168
+P 22 5181.793198 -19060.099243 17941.052888 -40.811399
+V 22 19159.205984 -11774.120068 -18166.373620 .089338
+P 24 11839.116038 18586.467763 -14473.111351 7.944435
+V 24 -70.449687 19010.969410 23940.934333 .027833
+P 25 -9386.985063 -24306.941070 -4844.450957 61.659439
+V 25 1674.537626 -7201.851733 30555.521263 .007299
+P 26 25446.298051 8106.124535 2943.727528 410.998435
+V 26 3063.417666 3045.159213 -31491.716221 -.124047
+P 27 -6783.543294 20226.621550 -15015.672225 919.584939
+V 27 -6804.190529 -19170.909428 -22558.556978 .044180
+P 28 -5586.750659 19600.405464 17048.908365 21.735219
+V 28 -18022.936717 11736.786191 -19910.215120 .016853
+P 29 24343.947781 10423.689193 -2139.508315 229.706957
+V 29 -3621.228495 1078.736932 -31928.777313 .033393
+P 30 18651.261161 -18646.637131 -2869.424632 804.109744
+V 30 4796.767307 405.061491 31142.617323 .143125
+P 31 -25591.553450 -3465.022283 6574.645646 37.551427
+V 31 -7268.926137 -5786.758274 -29506.823811 .309243
+* 2004 2 29 4 0 .00000000
+P 1 -23356.655945 850.100104 -12470.467995 332.463747
+V 1 -14577.083282 -7033.219188 26429.167134 .014822
+P 3 -22522.243601 -11725.308658 -8267.920936 89.677479
+V 3 10849.576298 -844.911381 -28462.765977 .028692
+P 4 5244.310708 25854.774900 -264.962769 -76.092858
+V 4 -2967.891488 948.506076 31969.528232 -.091123
+P 5 21339.702422 -8657.186228 12961.138251 19.672246
+V 5 -9353.041319 14254.679188 24854.684159 .017705
+P 6 17577.672886 -8538.621890 -17859.601796 -1.284173
+V 6 21597.444116 8380.162287 16939.702143 -.009834
+P 7 4461.367027 16775.754944 20544.353340 612.312451
+V 7 -24654.226332 -5500.382233 9874.890065 -.077648
+P 8 -665.128521 25336.512138 -7574.012507 356.037363
+V 8 -4428.256245 -8776.432580 -30044.230151 -.088763
+P 9 15798.014578 1527.083522 20922.594588 -32.231697
+V 9 6320.758967 26807.865855 -6219.927511 -.017628
+P 10 13654.828264 7266.500282 -21675.968337 40.137740
+V 10 -20171.088808 18411.401865 -6277.093179 .007526
+P 11 -16471.140830 1773.801980 20767.443628 99.702256
+V 11 -7776.994990 -25444.666085 -3857.382351 .025476
+P 13 -13872.134214 9836.311878 -20421.322468 -30.921389
+V 13 -24279.821540 -8774.609603 12366.784041 .002502
+P 14 -5836.516579 -16199.189683 20267.936781 -18.151044
+V 14 24676.682487 6818.821645 12598.387439 -.001210
+P 15 -3336.588554 -26214.995468 -564.430528 232.594424
+V 15 2830.377993 47.718981 -32062.826649 .054270
+P 16 -9681.047799 -11694.959327 -21723.660656 15.311052
+V 16 20496.730668 -18705.872739 940.414603 -.004146
+P 17 14673.858175 9851.114133 -19877.438929 205.750249
+V 17 1809.673487 25318.574338 13041.354959 .195229
+P 18 17101.138836 -19370.786674 5668.526613 -15.235063
+V 18 7317.033943 -2467.966489 -30871.554353 -.026466
+P 20 -21979.575341 11783.813775 9067.674942 -184.319416
+V 20 6830.652425 -9704.077613 28953.193436 .027578
+P 21 7393.384376 -20394.113470 -15104.896176 73.052096
+V 21 5589.171829 18593.540448 -22830.103571 .005175
+P 22 6800.723070 -20105.192674 16158.424533 -40.803439
+V 22 16787.527532 -11373.062429 -21391.981000 .089325
+P 24 11860.786779 20169.371948 -12197.518066 7.948446
+V 24 489.049635 16115.022559 26552.540407 .027637
+P 25 -9211.592103 -24806.623303 -2060.480598 61.659740
+V 25 2289.681204 -3907.073601 31220.733322 .007477
+P 26 25580.019470 8317.843895 92.872576 410.988028
+V 26 -121.091552 1725.457828 -31772.677390 -.124055
+P 27 -7464.732264 18408.139272 -16903.421852 919.588553
+V 27 -8359.207094 -21159.390566 -19327.490792 .044176
+P 28 -7101.127646 20629.613943 15115.464337 21.736802
+V 28 -15607.848943 11054.818655 -22995.201047 .016839
+P 29 23866.094714 10481.250971 -4986.428364 229.710196
+V 29 -7006.458059 272.044747 -31244.770347 .033373
+P 30 18967.518469 -18512.377725 -49.869683 804.122793
+V 30 2270.594042 2632.230596 31423.823528 .143114
+P 31 -26113.127387 -3925.571475 3870.628374 37.579142
+V 31 -4284.853220 -4502.662016 -30496.430087 .309263
+* 2004 2 29 4 15 .00000000
+P 1 -24551.614215 293.901634 -9990.631613 332.466364
+V 1 -11913.761770 -5371.574698 28597.898914 .015047
+P 3 -21410.302859 -11797.086823 -10752.332546 89.679520
+V 3 13834.686050 -813.906321 -26668.411164 .028710
+P 4 4941.925625 25787.519929 2606.195285 -76.100832
+V 4 -3818.075444 -2422.485862 31740.476111 -.091127
+P 5 20448.194608 -7262.619895 15078.293322 19.673583
+V 5 -10382.501542 16724.178529 22124.501906 .017589
+P 6 19448.736642 -7854.594687 -16184.374628 -1.285621
+V 6 19904.014790 6840.369785 20232.431501 -.009866
+P 7 2189.172965 16326.683646 21260.418294 612.304582
+V 7 -25764.151681 -4444.495245 6015.609587 -.077656
+P 8 -1116.217919 24410.732545 -10204.245627 356.029490
+V 8 -5650.065616 -11744.594794 -28321.466962 -.088733
+P 9 16415.002333 3884.650672 20178.515492 -32.233535
+V 9 7348.424792 25501.545448 -10287.641336 -.017756
+P 10 11867.661231 8991.391671 -22054.120158 40.138485
+V 10 -19470.435458 19862.689522 -2112.780402 .007369
+P 11 -17211.806394 -475.026275 20242.775141 99.704707
+V 11 -8643.478881 -24456.545169 -7784.489787 .025470
+P 13 -16011.541977 9126.274123 -19136.046360 -30.921345
+V 13 -23172.445168 -7011.528091 16154.452465 .002509
+P 14 -3544.637554 -15631.597181 21224.867019 -18.150813
+V 14 26175.890777 5747.849782 8636.517766 -.001202
+P 15 -3053.428874 -26056.279342 -3436.770082 232.599886
+V 15 3529.497768 3457.610480 -31674.223217 .054296
+P 16 -7889.466134 -13417.381759 -21451.163367 15.310968
+V 16 19255.515075 -19501.424136 5106.317541 -.004143
+P 17 14888.412825 12048.916958 -18537.135136 205.767879
+V 17 2915.102390 23447.371969 16696.879231 .195247
+P 18 17635.314973 -19503.006493 2848.776761 -15.237248
+V 18 4585.266011 -406.785953 -31698.495847 -.026446
+P 20 -21286.114845 10792.149625 11587.701336 -184.316946
+V 20 8505.546818 -12345.971761 26966.462143 .027579
+P 21 7960.643719 -18626.108607 -17021.909921 73.052775
+V 21 7047.812546 20618.655551 -19709.688138 .005183
+P 22 8199.609256 -21093.158873 14101.302855 -40.795114
+V 22 14284.641107 -10502.884506 -24257.553959 .089317
+P 24 11915.201406 21479.639339 -9707.831619 7.950085
+V 24 651.032446 12968.246495 28691.868844 .027482
+P 25 -8963.106774 -25012.521007 759.065290 61.660242
+V 25 3295.432265 -689.022064 31345.737107 .007657
+P 26 25420.583929 8429.044329 -2759.547291 410.976662
+V 26 -3436.023088 816.415100 -31526.988594 -.124064
+P 27 -8291.566536 16433.104517 -18484.068207 919.592627
+V 27 -10026.189279 -22642.753076 -15744.931844 .044173
+P 28 -8393.590137 21575.862872 12921.383084 21.738018
+V 28 -13107.034559 9893.153978 -25693.363222 .016822
+P 29 23082.739776 10485.726507 -7747.292386 229.712430
+V 29 -10393.138872 -99.644975 -30018.595795 .033359
+P 30 19068.142683 -18164.130108 2770.526505 804.135590
+V 30 16.500141 5149.125436 31160.780919 .143103
+P 31 -26357.458288 -4286.019992 1100.913703 37.606771
+V 31 -1122.031116 -3568.642205 -30965.480150 .309289
+* 2004 2 29 4 30 .00000000
+P 1 -25490.785285 -125.876646 -7337.820379 332.468043
+V 1 -8905.935195 -4012.553776 30267.789724 .015149
+P 3 -20037.873644 -11882.910156 -13054.685962 89.681729
+V 3 16624.209105 -1152.314896 -24422.667680 .028836
+P 4 4545.620077 25423.884820 5431.606428 -76.108447
+V 4 -5048.901823 -5621.811188 30954.550917 -.091136
+P 5 19484.488874 -5650.290325 16931.940446 19.675145
+V 5 -10958.017665 19078.538022 19007.621292 .017490
+P 6 21147.075221 -7302.575537 -14228.504140 -1.287264
+V 6 17767.097864 5459.609827 23167.392269 -.009992
+P 7 -162.171471 15980.813394 21624.125275 612.297573
+V 7 -26407.616065 -3219.895136 2055.120006 -.077658
+P 8 -1690.974245 23232.978463 -12657.311430 356.021067
+V 8 -7165.881630 -14363.438787 -26113.479747 -.088700
+P 9 17112.161267 6103.682714 19076.849229 -32.234947
+V 9 8090.834722 23739.766863 -14154.523466 -.017889
+P 10 10162.485702 10830.439506 -22054.903210 40.138554
+V 10 -18359.068358 20936.223112 2097.006351 .007125
+P 11 -18019.007855 -2616.008670 19370.371546 99.707159
+V 11 -9244.997350 -23056.614594 -11573.818983 .025461
+P 13 -18027.330082 8571.496935 -17521.766275 -30.921282
+V 13 -21537.549291 -5339.608120 19667.425026 .002515
+P 14 -1139.668028 -15171.767169 21818.101404 -18.150855
+V 14 27181.923046 4437.511067 4527.777697 -.001197
+P 15 -2689.610600 -25597.984206 -6249.299680 232.604616
+V 15 4616.970166 6689.142166 -30736.236556 .054238
+P 16 -6224.871697 -15192.039194 -20807.186060 15.310752
+V 16 17687.442547 -19858.286519 9183.522872 -.004141
+P 17 15189.782962 14059.303057 -16881.184540 205.785749
+V 17 3727.846778 21165.317252 20046.489940 .195266
+P 18 17933.449829 -19433.449259 -20.626665 -15.239480
+V 18 2085.230131 2005.836702 -31973.231555 -.026433
+P 20 -20462.308723 9560.601087 13907.616203 -184.314652
+V 20 9723.329692 -15018.995657 24512.602880 .027584
+P 21 8666.393583 -16697.251563 -18642.632623 73.053238
+V 21 8652.975076 22161.156400 -16255.863508 .005187
+P 22 9370.802229 -21981.578637 11804.343589 -40.787464
+V 22 11743.186107 -9162.208103 -26714.045455 .089306
+P 24 11965.191817 22499.081122 -7048.222732 7.951681
+V 24 387.626056 9669.086962 30323.485389 .027333
+P 25 -8607.538728 -24935.696078 3565.613686 61.662083
+V 25 4663.163577 2361.009437 30933.098889 .007775
+P 26 24960.404648 8477.775428 -5566.382447 410.965472
+V 26 -6788.583853 339.326867 -30761.447779 -.124073
+P 27 -9270.108134 14348.594069 -19729.022127 919.596873
+V 27 -11715.133773 -23588.469258 -11879.651459 .044173
+P 28 -9460.625487 22396.240025 10503.756935 21.739847
+V 28 -10613.869450 8260.736857 -27955.168816 .016807
+P 29 21998.358428 10476.336595 -10374.036868 229.714830
+V 29 -13678.924672 -37.919611 -28268.113323 .033351
+P 30 18980.557479 -17579.040771 5542.783657 804.148952
+V 30 -1902.449364 7882.133646 30355.157658 .143092
+P 31 -26312.334019 -4579.344602 -1687.429834 37.634812
+V 31 2132.653868 -3014.636494 -30910.540532 .309317
+* 2004 2 29 4 45 .00000000
+P 1 -26146.853132 -439.187023 -4558.213326 332.471655
+V 1 -5637.442063 -3013.938339 31411.861766 .015135
+P 3 -18426.235116 -12014.523712 -15135.985544 89.685284
+V 3 19137.696916 -1824.247799 -21762.909353 .029167
+P 4 4023.040910 24783.489020 8161.743830 -76.116461
+V 4 -6615.278083 -8558.329159 29626.603087 -.091148
+P 5 18489.012983 -3834.648174 18489.719006 19.676698
+V 5 -11092.072850 21227.582524 15559.405820 .017325
+P 6 22635.159592 -6864.892426 -12026.467037 -1.288835
+V 6 15242.142898 4310.875838 25695.176498 -.009988
+P 7 -2549.428229 15749.772415 21629.195801 612.290440
+V 7 -26559.287980 -1906.405096 -1943.481368 -.077663
+P 8 -2412.827353 21837.826585 -14891.359542 356.011987
+V 8 -8906.363713 -16565.721659 -23461.991820 -.088663
+P 9 17860.906318 8146.229634 17638.769128 -32.236568
+V 9 8485.524345 21592.423398 -17752.689454 -.018041
+P 10 8573.353964 12746.609775 -21677.446298 40.138580
+V 10 -16903.927238 21566.854436 6280.542749 .006918
+P 11 -18866.206123 -4614.576865 18165.561248 99.709892
+V 11 -9523.608606 -21302.379536 -15160.823442 .025451
+P 13 -19873.604505 8159.753079 -15605.983191 -30.920866
+V 13 -19413.354484 -3847.120421 22844.801441 .002518
+P 14 1332.137740 -14837.497531 22037.562893 -18.150862
+V 14 27656.192971 2972.295018 342.277708 -.001194
+P 15 -2212.006916 -24860.319677 -8953.399074 232.609557
+V 15 6049.491017 9651.514702 -29268.760650 .054399
+P 16 -4713.115931 -16977.436866 -19802.922922 15.310150
+V 16 15873.308096 -19734.520015 13101.037094 -.004140
+P 17 15548.843340 15848.595138 -14939.514389 205.803268
+V 17 4188.367908 18547.614204 23038.084296 .195281
+P 18 18019.883273 -19133.440918 -2889.667451 -15.241851
+V 18 -107.712243 4701.856362 -31690.382846 -.026426
+P 20 -19550.069584 8090.681377 15987.208691 -184.312450
+V 20 10469.939224 -17626.982006 21633.617729 .027586
+P 21 9520.013534 -14652.561268 -19939.832830 73.053533
+V 21 10319.157154 23188.916880 -12531.083573 .005195
+P 22 10314.995183 -22728.727893 9306.331490 -40.778872
+V 22 9255.335684 -7367.847566 -28718.878526 .089296
+P 24 11971.917691 23218.574561 -4265.617541 7.955228
+V 24 -310.347724 6319.902660 31421.657473 .027213
+P 25 -8114.195132 -24595.089072 6311.234878 61.663465
+V 25 6348.491815 5159.752898 29994.474488 .007701
+P 26 24200.344816 8503.205979 -8281.433098 410.953862
+V 26 -10084.325690 297.727969 -29490.316524 -.124077
+P 27 -10398.168741 12203.683262 -20616.154163 919.601111
+V 27 -13333.390629 -23984.786029 -7806.124208 .044175
+P 28 -10307.065138 23049.487067 7903.825231 21.740975
+V 28 -8219.794402 6185.315911 -29738.165755 .016789
+P 29 20626.575913 10491.309502 -12820.636293 229.717515
+V 29 -16763.482423 436.803859 -26020.722513 .033349
+P 30 18737.235567 -16741.383082 8218.510769 804.161516
+V 30 -3437.492258 10746.982834 29018.392002 .143082
+P 31 -25973.521877 -4840.470150 -4447.404379 37.662516
+V 31 5389.300625 -2853.906114 -30336.566175 .309346
+* 2004 2 29 5 0 .00000000
+P 1 -26500.497030 -680.456443 -1699.997116 332.472247
+V 1 -2201.550864 -2417.074564 32012.520583 .014862
+P 3 -16603.527571 -12219.789402 -16960.905362 89.687490
+V 3 21303.586494 -2779.586277 -18733.210443 .029397
+P 4 3346.609440 23893.694975 10748.870007 -76.125036
+V 4 -8456.561940 -11151.664297 27781.467514 -.091158
+P 5 17500.277228 -1838.025442 19724.529073 19.679338
+V 5 -10814.623255 23086.930516 11841.205726 .017109
+P 6 23881.078526 -6517.791382 -9616.850871 -1.289544
+V 6 12398.135713 3455.888216 27773.954671 -.009864
+P 7 -4927.791094 15637.833486 21275.072917 612.283440
+V 7 -26209.764243 -587.150151 -5916.275182 -.077663
+P 8 -3298.474535 20265.200649 -16868.626166 356.004272
+V 8 -10791.758259 -18300.196660 -20415.921581 -.088622
+P 9 18627.672059 9981.207016 15891.278612 -32.238355
+V 9 8484.645258 19141.636116 -21020.652044 -.018197
+P 10 7127.732662 14697.670251 -20927.352291 40.139783
+V 10 -15183.948552 21704.622937 10365.885781 .006758
+P 11 -19722.189410 -6441.861158 16649.323564 99.711899
+V 11 -9433.768558 -19262.557258 -18484.645099 .025437
+P 13 -21508.711315 7871.225884 -13421.436211 -30.920476
+V 13 -16855.586956 -2613.882862 25631.252967 .002520
+P 14 3821.863863 -14638.692788 21879.548900 -18.150798
+V 14 27578.327305 1442.534261 -3848.633683 -.001187
+P 15 -1592.099729 -23871.191556 -11502.654446 232.614151
+V 15 7768.315557 12265.019575 -27300.818018 .054367
+P 16 -3372.408675 -18729.081684 -18455.838401 15.309936
+V 16 13901.559079 -19105.673018 16790.723602 -.004138
+P 17 15931.765194 17390.346767 -12746.431956 205.820378
+V 17 4251.979151 15679.224572 25626.501831 .195298
+P 18 17925.139754 -18581.027974 -5708.300362 -15.244040
+V 18 -1931.931353 7600.448836 -30854.688990 -.026412
+P 20 -18591.733524 6392.578422 17790.393353 -184.309854
+V 20 10750.038760 -20073.951152 18379.049416 .027598
+P 21 10523.000515 -12539.109093 -20892.090835 73.053836
+V 21 11957.292441 23688.551242 -8601.828241 .005203
+P 22 11041.025726 -23295.201942 6649.563546 -40.770971
+V 22 6909.333083 -5154.407088 -30236.699157 .089294
+P 24 11896.566687 23638.235338 -1408.810520 7.957344
+V 24 -1433.111081 3022.968666 31970.624879 .026962
+P 25 -7457.018202 -24016.662851 8949.438669 61.663514
+V 25 8293.155506 7634.871805 28550.102796 .007570
+P 26 23149.722078 8544.023517 -10860.107570 410.942311
+V 26 -13230.350340 677.447513 -27735.015820 -.124079
+P 27 -11665.257853 10047.555559 -21130.223952 919.605066
+V 27 -14789.805036 -23841.020855 -3602.643177 .044179
+P 28 -10945.747380 23497.664434 5166.292372 21.743019
+V 28 -6010.706514 3712.707515 -31007.958396 .016770
+P 29 18989.811575 10566.211720 -15043.950723 229.720859
+V 29 -19552.355697 1285.970470 -23313.084228 .033347
+P 30 18374.319384 -15643.377537 10750.785811 804.173586
+V 30 -4556.114043 13651.903826 27171.667937 .143074
+P 31 -25344.895881 -5104.753250 -7132.823084 37.690340
+V 31 8558.191124 -3082.796268 -29256.560919 .309377
+* 2004 2 29 5 15 .00000000
+P 1 -26541.083008 -887.034374 1187.486981 332.473166
+V 1 1302.577664 -2245.370060 32061.714219 .014684
+P 3 -14603.834187 -12521.489663 -18498.363677 89.689942
+V 3 23061.774758 -3955.938467 -15383.697029 .029589
+P 4 2494.813271 22788.498259 13147.911181 -76.133224
+V 4 -10499.052471 -13335.250798 25453.390103 -.091169
+P 5 16553.358554 310.039562 20615.017097 19.681720
+V 5 -10171.723738 24581.356723 7919.159938 .016856
+P 6 24859.640610 -6232.562317 -7041.643568 -1.289497
+V 6 9314.941267 2942.710476 29370.078673 -.009860
+P 7 -7252.341909 15641.754967 20566.960151 612.276058
+V 7 -25365.984976 654.527564 -9799.302625 -.077664
+P 8 -4357.088118 18558.852046 -18556.034236 355.997207
+V 8 -12735.164474 -19533.269157 -17030.317332 -.088578
+P 9 19375.315347 11585.341428 13866.588897 -32.240214
+V 9 8056.784415 16478.252619 -23904.314903 -.018278
+P 10 5845.557244 16637.658748 -19816.662946 40.139722
+V 10 -13287.011709 21316.909935 14282.099471 .006588
+P 11 -20552.276407 -8075.582160 14847.911720 99.714086
+V 11 -8944.185762 -17014.408675 -21489.101587 .025428
+P 13 -22896.727316 7679.417350 -11005.555521 -30.919910
+V 13 -13935.484650 -1708.049731 27978.020611 .002522
+P 14 6279.612267 -14576.999098 21346.789755 -18.150758
+V 14 26946.943869 -59.195795 -7973.548095 -.001175
+P 15 -807.261874 -22665.071733 -13853.646677 232.621760
+V 15 9701.734788 14463.877927 -24869.796553 .054422
+P 16 -2212.787361 -20401.109867 -16789.354611 15.309663
+V 16 11864.749534 -17965.856542 20188.524000 -.004131
+P 17 16301.423949 18666.077053 -10339.982914 205.837842
+V 17 3890.320904 12651.648100 27773.873726 .195313
+P 18 17684.581488 -17761.991413 -8427.360068 -15.246243
+V 18 -3341.892609 10611.116793 -29480.934274 -.026402
+P 20 -17628.382635 4484.969849 19285.851368 -184.307371
+V 20 10586.720971 -22267.837054 14805.126464 .027609
+P 21 11668.810936 -10404.317043 -21484.102530 73.054535
+V 21 13478.371615 23665.626545 -4537.303143 .005211
+P 22 11565.370536 -23645.473225 3879.168246 -40.762702
+V 22 4786.152573 -2573.207122 -31240.042105 .089289
+P 24 11702.042935 23767.232603 1472.436697 7.959458
+V 24 -2952.447258 -123.439199 31964.644939 .026754
+P 25 -6615.731217 -23232.305726 11435.919812 61.664915
+V 25 10427.376560 9727.386105 26628.188947 .007532
+P 26 21826.027446 8636.865240 -13260.051813 410.931056
+V 26 -16138.435314 1447.247070 -25523.791672 -.124078
+P 27 -13052.900637 7927.629560 -21263.135877 919.608902
+V 27 -15998.755504 -23186.883256 650.641363 .044183
+P 28 -11396.861750 23707.716240 2338.563247 21.743950
+V 28 -4063.518246 905.313894 -31739.061897 .016751
+P 29 17118.581705 10732.374988 -17004.539036 229.724241
+V 29 -21960.662978 2454.331403 -20190.635168 .033344
+P 30 17930.095041 -14285.710217 13095.023897 804.186591
+V 30 -5243.351691 16501.151005 24845.681181 .143075
+P 31 -24438.278639 -5406.472014 -9699.016235 37.717734
+V 31 11552.918159 -3681.105904 -27691.159915 .309411
+* 2004 2 29 5 30 .00000000
+P 1 -26267.027391 -1097.537702 4054.602415 332.473153
+V 1 4773.615024 -2503.513456 31560.915643 .014530
+P 3 -12466.048664 -12936.328386 -19722.035320 89.692587
+V 3 24365.787610 -5281.053818 -11769.816034 .029804
+P 4 1453.249094 21507.169473 15317.270952 -76.142270
+V 4 -12659.011853 -15058.785557 22685.256219 -.091174
+P 5 15678.538245 2573.764117 21145.949460 19.683737
+V 5 -9223.502092 25647.782227 3862.907312 .016397
+P 6 25553.218979 -5976.854272 -4345.476359 -1.289870
+V 6 6080.263534 2803.936343 30458.514510 -.009890
+P 7 -9479.519921 15750.901757 19515.788818 612.269373
+V 7 -24051.108076 1738.189159 -13529.376082 -.077665
+P 8 -5589.827987 16764.723212 -19925.695001 355.988677
+V 8 -14646.020993 -20249.940958 -13365.236936 -.088537
+P 9 20064.649125 12943.788619 11601.418309 -32.243101
+V 9 7188.054415 13698.106014 -26357.720687 -.018272
+P 10 4738.579197 18518.517318 -18363.711909 40.141061
+V 10 -11306.505509 20389.957568 17960.510749 .006425
+P 11 -21319.662018 -9500.687938 12792.390899 99.716401
+V 11 -8039.125052 -14640.768957 -24123.584606 .025419
+P 13 -24008.743279 7552.326118 -8399.829904 -30.919636
+V 13 -10737.196144 -1183.346042 29843.812390 .002517
+P 14 8656.220313 -14645.768009 20448.401059 -18.150594
+V 14 25779.719506 -1441.759008 -11962.174151 -.001168
+P 15 158.205647 -21281.638930 -15966.665179 232.626321
+V 15 11768.021966 16198.480623 -22020.564000 .054149
+P 16 -1235.913072 -21947.978679 -14832.432243 15.309202
+V 16 9855.846254 -16328.089563 23235.599523 -.004127
+P 17 16618.911636 19665.709106 -7761.284498 205.855257
+V 17 3092.211406 9559.579317 29449.837768 .195330
+P 18 17336.877990 -16670.561833 -10999.453954 -15.248912
+V 18 -4309.859641 13637.199177 -27593.663293 -.026391
+P 20 -16698.227089 2394.507587 20447.588875 -184.305053
+V 20 10020.483928 -24124.078705 10973.778832 .027621
+P 21 12943.027027 -8294.270191 -21706.866539 73.055232
+V 21 14797.003286 23144.138483 -408.151035 .005219
+P 22 11911.349801 -23749.323206 1042.369400 -40.754713
+V 22 2956.410439 309.431244 -31709.894453 .089280
+P 24 11354.575498 23623.261274 4328.291019 7.960747
+V 24 -4822.951840 -3028.720108 31407.828673 .026536
+P 25 -5576.754136 -22278.540663 13729.244003 61.666036
+V 25 12672.600372 11393.547556 24264.204307 .007451
+P 26 20254.369778 8814.831637 -15441.747588 410.920375
+V 26 -18727.992286 2560.015187 -22891.353522 -.124079
+P 27 -14535.306826 5887.789054 -21014.017940 919.612357
+V 27 -16883.884656 -22070.877112 4873.675568 .044186
+P 28 -11686.996918 23652.869604 -530.091479 21.745372
+V 28 -2443.033464 -2160.064976 -31915.601374 .016736
+P 29 15050.482950 11015.485764 -18667.419045 229.727280
+V 29 -23916.471611 3872.100004 -16706.892864 .033338
+P 30 17443.380449 -12677.723607 15209.814729 804.200150
+V 30 -5502.387652 19198.738031 22080.189700 .143076
+P 31 -23273.008649 -5777.375300 -12103.496954 37.746181
+V 31 14293.342972 -4613.033896 -25668.151511 .309450
+* 2004 2 29 5 45 .00000000
+P 1 -25685.822273 -1350.158608 6852.267533 332.473084
+V 1 8111.828955 -3177.432646 30520.939356 .014557
+P 3 -10232.568862 -13474.166708 -20610.794727 89.694451
+V 3 25184.466302 -6675.613045 -7951.526333 .029965
+P 4 215.374677 20092.705738 17219.566612 -76.149975
+V 4 -14846.081764 -16289.993245 19527.648631 -.091175
+P 5 14900.147979 4912.330648 21308.467179 19.684618
+V 5 -8041.571655 26237.769101 -255.759881 .015866
+P 6 25952.309880 -5716.125835 -1574.835345 -1.290955
+V 6 2786.348089 3055.505919 31023.107417 -.009957
+P 7 -11568.555220 15947.645119 18138.110933 612.262037
+V 7 -22303.836885 2589.359144 -17044.921979 -.077659
+P 8 -6989.672535 14929.258604 -20955.307416 355.980341
+V 8 -16433.671984 -20454.031236 -9484.602197 -.088496
+P 9 20656.041007 14050.410619 9136.235173 -32.244531
+V 9 5882.443882 10898.203656 -28343.558698 -.018251
+P 10 3810.034743 20291.831679 -16592.864163 40.141379
+V 10 -9337.640837 18929.677813 21335.972776 .006221
+P 11 -21986.853842 -10709.714602 10518.099854 99.718763
+V 11 -6719.114711 -12226.890551 -26343.858450 .025411
+P 13 -24823.889265 7453.850029 -5649.098790 -30.919612
+V 13 -7354.668323 -1076.859198 31195.579824 .002511
+P 14 10904.952406 -14830.350081 19199.730793 -18.151005
+V 14 24112.745756 -2619.084144 -15746.496805 -.001164
+P 15 1312.317911 -19764.247442 -17806.337721 232.631072
+V 15 13878.718754 17436.961612 -18804.491936 .053868
+P 16 -435.200187 -23326.155844 -12619.053194 15.308820
+V 16 7964.534655 -14223.902520 25879.370267 -.004123
+P 17 16845.097833 20387.706363 -5053.844501 205.873119
+V 17 1863.876490 6497.554889 30631.641752 .195349
+P 18 16922.354856 -15309.806127 -13379.820024 -15.251452
+V 18 -4826.865223 16579.635241 -25226.691618 -.026379
+P 20 -15835.110788 154.990710 21255.401557 -184.302315
+V 20 9107.517937 -25568.933493 6951.542352 .027633
+P 21 14323.835758 -6252.107906 -21557.756930 73.055546
+V 21 15834.776937 22165.294058 3714.798079 .005224
+P 22 12108.069418 -23583.092853 -1812.295564 -40.746740
+V 22 1477.645006 3414.492529 -31636.141206 .089274
+P 24 10825.183845 23231.699678 7109.720251 7.962127
+V 24 -6983.944519 -5613.243330 30313.790074 .026456
+P 25 -4333.859745 -21195.092210 15791.468058 61.666390
+V 25 14944.502934 12606.120698 21500.127799 .007165
+P 26 18466.664666 9106.131283 -17369.076858 410.909436
+V 26 -20928.775104 3954.480312 -19878.484558 -.124082
+P 27 -16080.354745 3966.794393 -20389.128142 919.615972
+V 27 -17381.343974 -20557.890645 8988.368979 .044196
+P 28 -11847.927042 23313.807906 -3389.424832 21.746734
+V 28 -1199.282479 -5395.052049 -31531.824139 .016723
+P 29 12828.892397 11434.398100 -20002.755779 229.729882
+V 29 -25363.695975 5457.745223 -12922.555932 .033336
+P 30 16951.893494 -10837.267314 17057.709935 804.212603
+V 30 -5354.395754 21652.232917 18923.350345 .143075
+P 31 -21875.252478 -6245.341321 -14306.581685 37.774110
+V 31 16708.293183 -5828.653762 -23221.952747 .309468
+* 2004 2 29 6 0 .00000000
+P 1 -24813.725870 -1681.001560 9532.782320 332.473485
+V 1 11222.742805 -4234.978806 28961.606097 .014952
+P 3 -7947.862778 -14137.523248 -21149.082857 89.697490
+V 3 25503.108634 -8056.297866 -3992.416673 .030235
+P 4 -1217.058760 18590.156765 18822.274201 -76.158490
+V 4 -16966.943838 -17015.640413 16037.766836 -.091181
+P 5 14235.669842 7281.294663 21100.218085 19.684751
+V 5 -6705.995729 26319.419763 -4364.266710 .015438
+P 6 26055.787814 -5415.172528 1222.743500 -1.291707
+V 6 -473.441366 3696.182492 31056.685986 -.010111
+P 7 -13482.817284 16208.031517 16455.914754 612.255319
+V 7 -20177.208705 3142.427115 -20286.857346 -.077649
+P 8 -8541.568988 13097.727833 -21628.454277 355.971954
+V 8 -18010.876057 -20167.690461 -5455.053568 -.088452
+P 9 21111.010841 14907.712685 6514.465284 -32.245607
+V 9 4161.450939 8173.004687 -29833.447547 -.018090
+P 10 3054.651567 21910.609562 -14534.142420 40.142383
+V 10 -7473.650590 16961.702515 24348.109422 .005944
+P 11 -22517.144513 -11702.858769 8064.045503 99.721017
+V 11 -5001.034414 -9857.217416 -28112.749521 .025403
+P 13 -25330.061171 7345.358833 -2800.780554 -30.919550
+V 13 -3888.140564 -1407.479818 32009.155241 .002508
+P 14 12983.102344 -15108.707162 17622.103480 -18.151408
+V 14 21999.195761 -3513.598026 -19261.903019 -.001156
+P 15 2654.956221 -18158.285811 -19342.169477 232.636405
+V 15 15942.124002 18166.066647 -15278.419274 .053637
+P 16 203.727034 -24495.740429 -10187.615005 15.308057
+V 16 6273.671839 -11702.216429 28074.432319 -.004117
+P 17 16942.184075 20838.910727 -2262.875160 205.890337
+V 17 228.579255 3556.696478 31304.157308 .195371
+P 18 16481.289678 -13691.669843 -15527.132044 -15.253756
+V 18 -4902.911885 19340.825303 -22422.425705 -.026367
+P 20 -15067.199801 -2193.742373 21695.236403 -184.299682
+V 20 7917.370234 -26542.379556 2808.372888 .027645
+P 21 15782.796824 -4316.553356 -21040.486027 73.055883
+V 21 16523.304626 20785.669341 7761.716453 .005231
+P 22 12189.139161 -23130.701791 -4635.791498 -40.738885
+V 22 392.075892 6653.084771 -31017.876936 .089270
+P 24 10090.945131 22624.492259 9769.326449 7.965577
+V 24 -9361.943909 -7811.145306 28705.134535 .026469
+P 25 -2888.551402 -20023.365778 17588.689966 61.665895
+V 25 17156.151504 13355.047411 18383.649323 .006931
+P 26 16500.593782 9532.901330 -19009.849694 410.898094
+V 26 -22683.260509 5557.393607 -16531.619329 -.124086
+P 27 -17650.839973 2196.941889 -19401.599349 919.620127
+V 27 -17442.409725 -18726.122249 12920.306628 .044209
+P 28 -11915.183763 22679.565588 -6189.139624 21.748064
+V 28 -365.442781 -8703.040195 -30592.397671 .016712
+P 29 10501.433378 12000.222726 -20986.460036 229.732791
+V 29 -26264.384607 7121.315836 -8904.412601 .033333
+P 30 16490.668041 -8790.210677 18605.941402 804.225566
+V 30 -4837.634182 23776.449345 15430.851235 .143080
+P 31 -20277.088780 -6833.190533 -16271.961797 37.803244
+V 31 18737.923039 -7265.856816 -20393.048982 .309484
+* 2004 2 29 6 15 .00000000
+P 1 -23675.133370 -2122.513111 12050.618699 332.472731
+V 1 14020.554788 -5627.296220 26911.271422 .015580
+P 3 -5656.958119 -14921.359260 -21327.191618 89.701247
+V 3 25324.019617 -9339.034116 41.244205 .030478
+P 4 -2833.908714 17044.894647 20098.271336 -76.165953
+V 4 -18929.066929 -17241.770749 12278.242061 -.091188
+P 5 13695.124840 9634.134010 20525.365783 19.685872
+V 5 -5301.934909 25878.608475 -8390.617874 .015105
+P 6 25870.851822 -5039.671244 3999.481797 -1.293464
+V 6 -3608.041242 4707.695349 30561.015010 -.010203
+P 7 -15191.031045 16502.701761 14496.359975 612.247918
+V 7 -17736.867040 3343.291819 -23199.498066 -.077636
+P 8 -10222.892139 11312.622883 -21934.796083 355.963951
+V 8 -19297.130844 -19430.248713 -1344.825952 -.088408
+P 9 21393.764876 15526.454617 3781.683224 -32.247545
+V 9 2063.051408 5610.928208 -30808.015810 -.018089
+P 10 2458.996989 23331.028541 -12222.743446 40.141823
+V 10 -5802.027738 14530.654626 26942.511630 .005712
+P 11 -22876.064009 -12487.761108 5472.240652 99.723826
+V 11 -2917.583922 -7612.210523 -29400.719346 .025404
+P 13 -25524.319076 7187.375394 95.949664 -30.919415
+V 13 -440.380669 -2175.058643 32269.733617 .002506
+P 14 14853.446424 -15452.320100 15742.465153 -18.151567
+V 14 19507.350930 -4059.336842 -22448.257770 -.001147
+P 15 4177.736200 -16509.489464 -20548.987095 232.640595
+V 15 17866.847696 18391.308280 -11503.582240 .053427
+P 16 702.270585 -25421.951911 -7580.248921 15.307368
+V 16 4856.027479 -8827.544361 29783.335829 -.004109
+P 17 16875.199216 21034.095434 565.390937 205.908530
+V 17 -1774.314516 821.643512 31459.824101 .195392
+P 18 16052.224845 -11836.673784 -17404.235614 -15.256367
+V 18 -4566.398010 21828.426604 -19231.011546 -.026355
+P 20 -14415.905585 -4607.159986 21759.443540 -184.297085
+V 20 6530.080262 -27000.490344 -1383.606700 .027653
+P 21 17285.865911 -2520.633689 -20164.963500 73.056319
+V 21 16806.836385 19074.830525 11664.891397 .005237
+P 22 12191.214332 -22384.394407 -7379.422914 -40.730933
+V 22 -275.064236 9929.673136 -29863.569180 .089266
+P 24 9136.017655 21838.806478 12262.127025 7.966065
+V 24 -11873.590563 -9572.537850 26612.814354 .026485
+P 25 -1250.153602 -18804.894980 19091.526186 61.668035
+V 25 19221.207293 13647.493890 14967.351892 .006846
+P 26 14398.367349 10110.243446 -20336.292407 410.887073
+V 26 -23948.631307 7286.122908 -12902.380959 -.124090
+P 27 -19205.927230 603.023230 -18071.039108 919.624146
+V 27 -17035.369976 -16663.518613 16600.252805 .044223
+P 28 -11926.471416 21748.103013 -8879.830925 21.749847
+V 28 43.550815 -11982.930185 -29112.472481 .016702
+P 29 8118.267220 12715.734234 -21600.680840 229.736343
+V 29 -26600.284925 8768.160478 -4724.078809 .033327
+P 30 16090.584455 -6569.633916 19827.052963 804.238285
+V 30 -4005.815825 25496.872331 11664.857491 .143083
+P 31 -18515.397600 -7557.691915 -17967.223413 37.830290
+V 31 20335.670203 -8852.693849 -17227.404444 .309501
+* 2004 2 29 6 30 .00000000
+P 1 -22301.655498 -2702.063529 14363.162915 332.475290
+V 1 16431.194912 -7290.813807 24406.235012 .016603
+P 3 -3403.909966 -15813.159199 -21141.460002 89.702819
+V 3 24666.445113 -10442.293909 4081.518625 .030573
+P 4 -4616.878846 15500.897370 21026.270008 -76.175000
+V 4 -20644.385026 -16993.168526 8315.882751 -.091198
+P 5 13280.772123 11923.877202 19594.477539 19.686668
+V 5 -3916.119662 24919.502243 -12264.720781 .014787
+P 6 25412.669133 -4557.682512 6708.155625 -1.295366
+V 6 -6531.974619 6055.529039 29546.609002 -.010224
+P 7 -16668.315615 16798.032848 12291.429984 612.240848
+V 7 -15058.856888 3151.649976 -25731.492229 -.077620
+P 8 -12004.189678 9612.186676 -21870.165283 355.955920
+V 8 -20221.699281 -18296.460783 2777.338610 -.088363
+P 9 21472.609830 15924.962781 984.804481 -32.248895
+V 9 -359.924072 3291.212238 -31256.808507 -.018004
+P 10 2002.157199 24514.083570 -9698.450047 40.143858
+V 10 -4400.956259 11698.652907 29071.854277 .005561
+P 11 -23032.757032 -13079.010914 2786.995620 99.725949
+V 11 -516.155001 -5565.341715 -30186.315207 .025400
+P 13 -25412.940684 6941.298985 2991.017983 -30.919081
+V 13 2887.190004 -3360.318262 31972.185517 .002506
+P 14 16485.492760 -15827.357505 13592.934311 -18.151475
+V 14 16718.059421 -4204.617622 -25250.914439 -.001138
+P 15 5864.193670 -14862.270960 -21407.285835 232.644250
+V 15 19565.297485 18136.424663 -7544.533815 .053167
+P 16 1087.819341 -26076.429546 -4842.074684 15.306940
+V 16 3771.440553 -5677.589251 30977.210447 -.004102
+P 17 16613.387036 20995.253589 3384.377424 205.926115
+V 17 -4090.787530 -1632.240837 31098.541277 .195409
+P 18 15670.365858 -9773.277830 -18978.800796 -15.258806
+V 18 -3862.799305 23958.927248 -15709.336100 -.026341
+P 20 -13895.085630 -7037.569543 21446.913178 -184.294406
+V 20 5032.900045 -26917.185748 -5551.402119 .027664
+P 21 18794.630925 -890.634646 -18947.059203 73.057002
+V 21 16644.364912 17112.521551 15359.750091 .005245
+P 22 12152.415926 -21345.180457 -9995.678905 -40.723264
+V 22 -516.549939 13145.613549 -28191.060901 .089267
+P 24 7952.385774 20915.519922 14546.272934 7.968490
+V 24 -14428.892350 -10865.064728 24075.379336 .026553
+P 25 564.383561 -17579.811934 20275.514841 61.668121
+V 25 21057.063538 13507.297618 11307.884711 .006405
+P 26 12205.328397 10845.509163 -21325.491840 410.875950
+V 26 -24698.299091 9051.588950 -9047.067731 -.124091
+P 27 -20702.737065 -798.379720 -16423.004932 919.628607
+V 27 -16146.628122 -14463.915998 19965.409843 .044238
+P 28 -11919.991074 20526.533190 -11413.923094 21.751417
+V 28 31.632736 -15133.101259 -27117.497220 .016694
+P 29 5730.279818 13575.125031 -21834.177729 229.739794
+V 29 -26373.605085 10302.885931 -456.595019 .033321
+P 30 15777.077007 -4214.728701 20699.429718 804.251454
+V 30 -2925.820781 26752.665926 7692.795436 .143083
+P 31 -16630.593772 -8428.795028 -19364.313005 37.856986
+V 31 21469.755709 -10510.037681 -13775.846924 .309517
+* 2004 2 29 6 45 .00000000
+P 1 -20730.942274 -3440.732534 16431.400030 332.478281
+V 1 18394.914337 -9149.773727 21490.047680 .017382
+P 3 -1230.302473 -16793.306687 -20594.376769 89.706177
+V 3 23565.882338 -11290.337832 8059.863932 .030707
+P 4 -6540.078728 13999.113987 21591.134616 -76.183030
+V 4 -22032.758018 -16312.089920 4220.384201 -.091204
+P 5 12987.128023 14104.746082 18324.295920 19.686377
+V 5 -2633.294925 23464.359213 -15919.641547 .014499
+P 6 24703.733399 -3941.054140 9302.869829 -1.295636
+V 6 -9168.388918 7690.316839 28032.419641 -.010194
+P 7 -17897.005200 17057.466292 9877.499396 612.234673
+V 7 -12226.999851 2542.836575 -27836.766887 -.077605
+P 8 -13850.182705 8029.123783 -21436.564759 355.947864
+V 8 -20726.239475 -16834.227607 6843.230218 -.088315
+P 9 21321.197663 16128.178922 -1828.707309 -32.249887
+V 9 -3041.913458 1281.219549 -31178.049541 -.017999
+P 10 1656.723320 25427.067026 -7004.947359 40.143245
+V 10 -3336.086682 8543.095839 30696.901372 .005376
+P 11 -22961.233583 -13497.391862 54.174985 99.728155
+V 11 2142.849652 -3780.366107 -30456.493972 .025397
+P 13 -25011.126802 6571.102135 5834.329994 -30.918613
+V 13 5998.328511 -4925.527998 31121.191317 .002504
+P 14 17856.479711 -16196.061248 11210.265491 -18.151504
+V 14 13721.719666 -3914.167391 -27621.643826 -.001130
+P 15 7690.276614 -13258.128811 -21903.479693 232.649040
+V 15 20956.974435 17442.183255 -3468.071270 .053024
+P 16 1392.476705 -26438.291978 -2020.406309 15.306459
+V 16 3064.502108 -2340.335822 31636.228191 -.004089
+P 17 16131.442115 20750.650279 6147.829113 205.943073
+V 17 -6654.081675 -3741.318324 30227.519381 .195429
+P 18 15366.129610 -7536.938594 -20223.879264 -15.261042
+V 18 -2852.667466 25660.853015 -11919.908991 -.026333
+P 20 -13510.553061 -9435.776707 20763.095015 -184.292057
+V 20 3516.731261 -26285.289288 -9622.460087 .027673
+P 21 20267.712224 554.676445 -17408.278012 73.057932
+V 21 16011.157120 14985.531814 18785.789578 .005250
+P 22 12110.690195 -20022.949130 -12439.070658 -40.715477
+V 22 -343.483048 16202.852373 -26027.401706 .089271
+P 24 6540.303132 19897.598060 16583.695694 7.969887
+V 24 -16934.661383 -11674.771826 21138.149072 .026654
+P 25 2530.955695 -16385.393126 21121.444405 61.668327
+V 25 22587.819577 12973.848235 7465.135196 .006067
+P 26 9968.442777 11737.861956 -21959.790728 410.864534
+V 26 -24922.912136 10761.464929 -5026.077092 -.124090
+P 27 -22097.996073 -1999.246702 -14488.378110 919.632797
+V 27 -14781.012682 -12223.076427 22960.412618 .044250
+P 28 -11932.744140 19030.987158 -13746.578880 21.752495
+V 28 -378.568851 -18055.440425 -24642.783013 .016685
+P 29 3387.237580 14564.119825 -21682.561715 229.742814
+V 29 -25606.928857 11633.380976 3821.082224 .033316
+P 30 15569.073230 -1769.451955 21207.711833 804.264365
+V 30 -1674.847719 27499.128476 3586.006902 .143086
+P 31 -14665.247456 -9449.113038 -20439.946463 37.885393
+V 31 22124.186345 -12154.482883 -10093.426644 .309563
+* 2004 2 29 7 0 .00000000
+P 1 -19005.298060 -4352.343034 18220.532054 332.478949
+V 1 19868.321671 -11119.196009 18212.732473 .017913
+P 3 826.159821 -17835.745065 -19694.585385 89.708174
+V 3 22072.782554 -11816.276990 11908.238802 .030881
+P 4 -8570.880218 12575.974432 21784.083424 -76.191529
+V 4 -23025.081874 -15256.330826 63.033480 -.091206
+P 5 12801.300903 16133.748411 16737.401330 19.688563
+V 5 -1532.781289 21552.622965 -19292.769678 .014404
+P 6 23772.964696 -3166.674520 11739.799029 -1.296836
+V 6 -11451.740193 9549.776272 26045.410912 -.010201
+P 7 -18867.217602 17242.978659 7294.816424 612.227444
+V 7 -9329.923971 1509.131394 -29475.470766 -.077594
+P 8 -15720.982015 6589.536348 -20642.075212 355.939626
+V 8 -20766.957524 -15121.886626 10786.155371 -.088268
+P 9 20919.560465 16166.489383 -4611.606389 -32.252209
+V 9 -5907.146397 -365.738174 -30578.290240 -.018011
+P 10 1390.046638 26044.819725 -4189.054901 40.142736
+V 10 -2657.797663 5153.803538 31787.368157 .005250
+P 11 -22641.445650 -13768.898593 -2679.568994 99.730597
+V 11 4988.187003 -2308.972491 -30206.816187 .025394
+P 13 -24342.369646 6044.933135 8576.652778 -30.918711
+V 13 8805.605972 -6815.918931 29731.190951 .002494
+P 14 18952.085583 -16518.295979 8635.233470 -18.152180
+V 14 10614.900403 -3170.626956 -29519.466347 -.001121
+P 15 9625.120969 -11734.191220 -22030.055921 232.653192
+V 15 21971.467203 16364.590555 657.814015 .052862
+P 16 1651.606781 -26494.916677 836.076255 15.306462
+V 16 2762.852118 1089.246130 31749.897727 -.004073
+P 17 15410.555449 20333.672179 8810.462181 205.960889
+V 17 -9387.003755 -5455.717762 28861.101958 .195442
+P 18 15163.900232 -5168.899832 -21118.356525 -15.263367
+V 18 -1609.036175 26877.480011 -7929.653922 -.026325
+P 20 -13259.914307 -11752.806764 19719.899732 -184.289426
+V 20 2072.422160 -25116.848946 -13525.971634 .027675
+P 21 21662.273322 1804.535821 -15575.355355 73.058433
+V 21 14899.672462 12784.362991 21887.408760 .005247
+P 22 12102.171974 -18436.247996 -14666.945802 -40.707396
+V 22 215.112790 19007.649327 -23408.501344 .089275
+P 24 4908.422841 18828.424972 18340.677301 7.973705
+V 24 -19298.012129 -12006.282771 17852.330863 .026871
+P 25 4619.032259 -15254.729714 21615.607990 61.668847
+V 25 23747.000338 12100.450343 3501.404133 .005863
+P 26 7734.723338 12778.135844 -22227.127930 410.853523
+V 26 -24630.804010 12323.550341 -903.254372 -.124090
+P 27 -23349.680251 -3000.116222 -12302.660076 919.636761
+V 27 -12961.323214 -10034.799842 25538.055671 .044257
+P 28 -11998.887987 17286.120847 -15836.558252 21.753531
+V 28 -1146.709782 -20659.250456 -21732.824198 .016673
+P 29 1135.989451 15660.448492 -21148.397301 229.745853
+V 29 -24342.279224 12674.726824 8031.652518 .033305
+P 30 15478.210354 719.012238 21343.082729 804.277381
+V 30 -337.128047 27709.486026 -581.689603 .143088
+P 31 -12662.637951 -10613.674083 -21175.959218 37.913945
+V 31 22299.231306 -13701.394387 -6238.746660 .309593
+* 2004 2 29 7 15 .00000000
+P 1 -17170.140706 -5442.777095 19700.522695 332.482378
+V 1 20825.802310 -13108.165845 14629.935159 .018447
+P 3 2732.917894 -18908.901000 -18456.787967 89.711474
+V 3 20250.683278 -11964.837490 15560.238754 .031131
+P 4 -10671.033618 11262.099694 21602.774314 -76.199586
+V 4 -23565.934112 -13896.724037 -4084.562763 -.091206
+P 5 12703.625096 17972.158913 14861.774610 19.689365
+V 5 -685.288953 19239.359527 -22326.871278 .014203
+P 6 22654.587256 -2217.530251 13977.885866 -1.297446
+V 6 -13330.035092 11561.107836 23620.035478 -.010344
+P 7 -19577.143283 17316.642870 4586.901418 612.220192
+V 7 -6457.841128 60.458756 -30614.889806 -.077581
+P 8 -17573.474258 5312.119475 -19500.676585 355.931509
+V 8 -20316.221054 -13245.173085 14541.862559 -.088217
+P 9 20254.904249 16074.383688 -7317.595226 -32.252672
+V 9 -8872.461049 -1612.010271 -29471.972286 -.017988
+P 10 1165.713863 26350.699874 -1299.888102 40.143797
+V 10 -2399.067342 1629.626898 32322.610980 .005230
+P 11 -22060.149501 -13923.562117 -5367.574522 99.732577
+V 11 7940.353086 -1188.897324 -29441.508841 .025390
+P 13 -23437.508304 5336.559793 11170.484035 -30.918495
+V 13 11233.700377 -8961.785358 27826.147942 .002494
+P 14 19766.822444 -16753.203490 5911.947478 -18.151950
+V 14 7496.723076 -1975.368906 -30911.372590 -.001112
+P 15 11632.078655 -10321.944819 -21785.636423 232.658116
+V 15 22551.048716 14972.585429 4764.954376 .052775
+P 16 1902.257339 -26242.410096 3678.174256 15.306109
+V 16 2876.153041 4512.755483 31317.187809 -.004055
+P 17 14439.237399 19781.513601 11328.597162 205.978435
+V 17 -12204.555834 -6740.919952 27020.561761 .195453
+P 18 15081.040881 -2714.764938 -21647.292430 -15.265634
+V 18 -214.347919 27568.949467 -3808.640039 -.026316
+P 20 -13132.740791 -13941.621156 18335.484564 -184.286845
+V 20 787.073079 -23442.709169 -17194.140479 .027680
+P 21 22935.585887 2856.363933 -13479.782297 73.058776
+V 21 13319.849875 10599.815641 24614.642063 .005250
+P 22 12159.617109 -16611.731415 -16640.263484 -40.699209
+V 22 1113.419382 21474.175227 -20378.603261 .089278
+P 24 3073.614807 17750.148993 19788.339093 7.976931
+V 24 -21429.795303 -11882.296236 14274.103747 .026957
+P 25 6792.614949 -14215.566285 21749.983588 61.669860
+V 25 24479.940654 10952.228229 -519.415057 .005748
+P 26 5549.640170 13949.001801 -22121.316187 410.842276
+V 26 -23847.850271 13649.220243 3254.846090 -.124088
+P 27 -24418.585385 -3809.742352 -9905.215002 919.640620
+V 27 -10727.175650 -7987.273360 27659.763872 .044259
+P 28 -12148.214373 15324.282320 -17647.005743 21.754753
+V 28 -2216.470717 -22864.860289 -18440.392777 .016667
+P 29 -981.209695 16834.659161 -20241.161797 229.749044
+V 29 -22639.367342 13352.818326 12099.062593 .033291
+P 30 15508.361765 3201.919279 21103.425106 804.290234
+V 30 999.652231 27375.945419 -4735.490687 .143084
+P 31 -10665.288889 -11909.950285 -21559.594634 37.942011
+V 31 22011.357828 -15068.013330 -2273.260138 .309614
+* 2004 2 29 7 30 .00000000
+P 1 -15272.362352 -6709.597746 20846.563001 332.483237
+V 1 21260.279449 -15023.322196 10802.017877 .018714
+P 3 4463.632506 -19976.839326 -16901.546311 89.714792
+V 3 18173.829242 -11694.716968 18952.244753 .031439
+P 4 -12797.997492 10081.258789 21051.277954 -76.208291
+V 4 -23615.663198 -12314.177328 -8151.704174 -.091212
+P 5 12668.565563 19586.832696 12730.270479 19.690429
+V 5 -150.106793 16593.109253 -24971.014950 .014090
+P 6 21386.828058 -1083.530436 15979.488138 -1.299294
+V 6 -14766.559049 13643.764871 20797.625008 -.010391
+P 7 -20033.037102 17242.223014 1799.865295 612.213165
+V 7 -3699.181795 -1775.575454 -31230.306975 -.077567
+P 8 -19362.827352 4207.640866 -18031.988877 355.923553
+V 8 -19363.589931 -11293.960242 18049.408066 -.088170
+P 9 19322.140013 15888.994735 -9902.012618 -32.253923
+V 9 -11850.308051 -2436.625557 -27880.930081 -.018106
+P 10 945.183077 26337.227743 1612.032624 40.144414
+V 10 -2574.053817 -1925.337596 32292.119703 .005125
+P 11 -21211.520940 -13994.128974 -7963.948131 99.734988
+V 11 10914.476081 -442.570964 -28173.396557 .025387
+P 13 -22333.508334 4426.596155 13570.891723 -30.918282
+V 13 13222.213443 -11281.190194 25439.131143 .002489
+P 14 20304.098739 -16860.898419 3087.106122 -18.152052
+V 14 4465.142559 -348.594703 -31772.918341 -.001113
+P 15 13669.958393 -9046.190899 -21174.949258 232.662390
+V 15 22652.796007 13345.306408 8785.984864 .052705
+P 16 2181.522282 -25685.751651 6457.020745 15.305814
+V 16 3395.775224 7832.030248 30346.481643 -.004037
+P 17 13213.892120 19133.742028 13660.772478 205.995676
+V 17 -15016.814839 -7578.845025 24733.872345 .195460
+P 18 15127.198821 -222.908985 -21802.145935 -15.267524
+V 18 1242.967307 27713.708165 371.217050 -.026310
+P 20 -13111.067159 -15958.762353 16633.927243 -184.284490
+V 20 -259.501362 -21311.351939 -20563.391534 .027679
+P 21 24046.592170 3715.639749 -11157.268962 73.059355
+V 21 11298.766135 8519.614080 26923.796387 .005255
+P 22 12310.967682 -14583.296315 -18324.314035 -40.691139
+V 22 2290.639235 23527.837226 -16989.580907 .089280
+P 24 1060.481323 16702.102793 20903.047282 7.978525
+V 24 -23247.850787 -11342.442708 10463.685212 .027004
+P 25 9011.392933 -13289.346201 21522.340586 61.669289
+V 25 24745.764575 9603.642696 -4532.654426 .005432
+P 26 3455.571129 15225.443973 -21642.249035 410.830739
+V 26 -22616.714716 14656.841927 7379.798005 -.124084
+P 27 -25269.765248 -4444.438811 -7338.480791 919.644651
+V 27 -8133.236079 -6159.792625 29295.828514 .044263
+P 28 -12404.816110 13184.373654 -19146.147092 21.756030
+V 28 -3517.984067 -24606.775134 -14825.433252 .016662
+P 29 -2928.184125 18051.237994 -18977.062348 229.751998
+V 29 -20573.103091 13607.532857 15950.069634 .033279
+P 30 15655.492744 5630.690401 20493.341866 804.303327
+V 30 2248.064712 26509.963610 -8801.111117 .143079
+P 31 -8713.533709 -13318.165358 -21583.727465 37.970015
+V 31 21292.623532 -16176.526224 1739.471344 .309635
+* 2004 2 29 7 45 .00000000
+P 1 -13358.652152 -8141.989128 21639.453323 332.485394
+V 1 21183.298247 -16772.422369 6793.108072 .019175
+P 3 5999.024288 -21000.607856 -15054.979663 89.718533
+V 3 15924.362423 -10980.434182 22024.565758 .031662
+P 4 -14906.428910 9049.608331 20139.943458 -76.217033
+V 4 -23151.855428 -10596.377067 -12069.757225 -.091214
+P 5 12665.854677 20951.302440 10380.013808 19.691546
+V 5 27.229434 13693.247010 -27181.358925 .013941
+P 6 20010.485070 237.931209 17710.967650 -1.299857
+V 6 -15741.038048 15712.492672 17625.705972 -.010332
+P 7 -20248.905362 16986.741286 -1018.345696 612.206060
+V 7 -1137.211485 -3954.343581 -31305.773316 -.077554
+P 8 -21044.061414 3278.719650 -16260.937705 355.915402
+V 8 -17916.239129 -9358.889471 21251.962448 -.088120
+P 9 18124.139939 15648.574239 -12322.475094 -32.255762
+V 9 -14751.837750 -2835.713303 -25833.853375 -.018313
+P 10 689.512012 26006.377937 4495.708062 40.143390
+V 10 -3177.453378 -5405.771635 31695.793999 .004912
+P 11 -20097.500032 -14014.644454 -10424.330475 99.737007
+V 11 13823.416801 -76.345795 -26423.702232 .025387
+P 13 -21072.013613 3303.462529 15736.308146 -30.917932
+V 13 14727.897683 -13683.166555 22611.722219 .002485
+P 14 20575.947876 -16804.139844 209.204874 -18.152367
+V 14 1613.267357 1671.297253 -32088.681521 -.001109
+P 15 15694.433442 -7924.263028 -20208.713921 232.668537
+V 15 22250.171189 11569.032870 12655.279827 .052593
+P 16 2524.908173 -24838.607487 9124.919652 15.305446
+V 16 4295.200545 10952.791619 28855.367333 -.004019
+P 17 11739.124563 18430.789346 15768.336212 206.013635
+V 17 -17731.981865 -7968.411928 22035.451688 .195467
+P 18 15303.928774 2257.206634 -21580.882644 -15.269839
+V 18 2672.119139 27309.227267 4537.456353 -.026309
+P 20 -13170.195528 -17765.863205 14644.794745 -184.282404
+V 20 -998.012112 -18787.054290 -23575.496065 .027680
+P 21 24957.409179 4395.477288 -8647.154890 73.059833
+V 21 8879.688003 6625.182873 28777.994043 .005248
+P 22 12578.109266 -12390.936249 -19689.367621 -40.683185
+V 22 3673.434919 25108.191852 -13300.064834 .089282
+P 24 -1099.407970 15719.353123 21666.734202 7.980875
+V 24 -24679.974134 -10441.556902 6484.393114 .027098
+P 25 11232.055759 -12490.494961 20936.272650 61.671235
+V 25 24518.901226 8135.698794 -8473.690061 .005314
+P 26 1490.347815 16575.537618 -20796.027671 410.819769
+V 26 -20995.483360 15275.043216 11402.245725 -.124080
+P 27 -25873.787265 -4927.148782 -4647.168285 919.648560
+V 27 -5246.949421 -4619.960765 30425.438362 .044266
+P 28 -12785.999002 10910.455366 -20307.878694 21.757710
+V 28 -4970.836460 -25836.226341 -10953.792326 .016656
+P 29 -4676.069123 19269.988413 -17378.715223 229.755130
+V 29 -18230.479106 13395.305419 19515.731374 .033268
+P 30 15907.850215 7958.627595 19524.042818 804.316309
+V 30 3324.621564 25141.726602 -12706.256845 .143074
+P 31 -6844.159888 -14811.873218 -21247.018561 37.998375
+V 31 20189.536788 -16957.002508 5734.564619 .309653
+* 2004 2 29 8 0 .00000000
+P 1 -11473.841807 -9721.016160 22065.898080 332.487917
+V 1 20624.437064 -18267.857055 2670.113225 .019542
+P 3 7327.445198 -21939.722652 -12948.360750 89.722701
+V 3 13589.180715 -9813.588633 24722.553131 .031817
+P 4 -16949.776093 8175.238888 18885.163104 -76.225078
+V 4 -22170.138638 -8834.289380 -15773.235736 -.091211
+P 5 12661.814136 22046.619963 7851.731599 19.692069
+V 5 -183.292555 10626.960787 -28921.792138 .013829
+P 6 18567.417717 1741.695851 19143.214496 -1.302036
+V 6 -16250.200817 17680.528599 14157.250937 -.010427
+P 7 -20245.892570 16521.953803 -3818.769250 612.199107
+V 7 1153.235939 -6415.560320 -30834.754142 -.077545
+P 8 -22573.630090 2519.909252 -14217.349920 355.907141
+V 8 -15998.766890 -7528.001581 24097.558868 -.088069
+P 9 16671.715708 15390.956822 -14539.468771 -32.259259
+V 9 -17489.972093 -2822.337736 -23365.726230 -.018554
+P 10 361.108165 25369.505144 7300.601096 40.143720
+V 10 -4184.670719 -8709.225604 30543.990667 .004860
+P 11 -18727.851691 -14018.993684 -12706.638376 99.739587
+V 11 16580.962910 -80.335003 -24221.719454 .025385
+P 13 -19697.727750 1964.039779 17629.263316 -30.917575
+V 13 15726.204162 -16071.287011 19393.261281 .002480
+P 14 20602.432719 -16549.913828 -2672.290939 -18.152415
+V 14 -974.139639 4029.052934 -31852.570297 -.001103
+P 15 17659.565668 -6965.530677 -18903.444308 232.673293
+V 15 21334.019453 9733.906437 16309.845537 .052370
+P 16 2964.768715 -23722.822749 11636.158916 15.304970
+V 16 5531.122830 13788.121420 26870.272551 -.004001
+P 17 10027.768532 17712.417267 17616.013285 206.031422
+V 17 -20259.517815 -7925.550139 18965.870747 .195475
+P 18 15604.646461 4676.751048 -20987.966151 -15.271997
+V 18 3983.642752 26371.982518 8618.348757 -.026307
+P 20 -13279.773024 -19330.962420 12402.615346 -184.279984
+V 20 -1372.509056 -15947.437343 -26178.591980 .027685
+P 21 25634.721714 4915.922854 -5991.774631 73.059858
+V 21 6120.558447 4988.680448 30147.624798 .005245
+P 22 12975.872463 -10079.356601 -20711.237196 -40.674819
+V 22 5178.900484 26171.320465 -9374.414046 .089286
+P 24 -3368.531696 14831.429701 22067.135250 7.983501
+V 24 -25666.504515 -9247.437323 2401.711509 .027115
+P 25 13409.720051 -11825.965569 20001.156793 61.671783
+V 25 23790.090726 6632.930498 -12278.764833 .004972
+P 26 -314.048540 17961.509975 -19594.998123 410.808086
+V 26 -19055.703764 15445.711088 15252.954897 -.124077
+P 27 -26207.765367 -5286.287055 -1877.465649 919.652576
+V 27 -2145.879255 -3421.440224 31036.539542 .044260
+P 28 -13301.484818 8550.152619 -21112.236798 21.759044
+V 28 -6487.508840 -26523.011276 -6895.823871 .016647
+P 29 -6204.239435 20447.611031 -15474.695901 229.757062
+V 29 -15706.969849 12690.997697 22732.780511 .033257
+P 30 16246.476616 10142.547067 18213.101637 804.329323
+V 30 4153.269369 23318.868103 -16382.029011 .143067
+P 31 -5089.178785 -16358.791510 -20553.996528 38.026035
+V 31 18761.410508 -17350.105807 9646.652308 .309675
+* 2004 2 29 8 15 .00000000
+P 1 -9659.333497 -11420.193726 22118.710650 332.489195
+V 1 19630.071319 -19429.993740 -1498.289575 .019791
+P 3 8445.156663 -22753.737682 -10617.613695 89.725762
+V 3 11256.581428 -8203.467433 26997.662327 .031809
+P 4 -18881.912882 7458.040319 17309.043816 -76.233565
+V 4 -20684.307728 -7118.592998 -19200.790767 -.091214
+P 5 12620.808663 22861.913211 5189.033972 19.694064
+V 5 -795.010904 7485.970394 -30164.425869 .013734
+P 6 17099.014327 3414.850104 20252.101392 -1.303334
+V 6 -16307.727924 19462.851817 10449.873860 -.010338
+P 7 -20051.384711 15825.672695 -6552.297437 612.192330
+V 7 3108.767382 -9085.328162 -29820.613251 -.077536
+P 8 -23910.957283 1918.079306 -11935.484433 355.899294
+V 8 -13652.398895 -5883.478638 26539.784337 -.088013
+P 9 14983.324513 15152.064479 -16516.890098 -32.260614
+V 9 -19982.369381 -2425.771390 -20517.253486 -.018588
+P 10 -74.573017 24446.905316 9977.571207 40.143532
+V 10 -5552.797960 -11740.099427 28857.337755 .004835
+P 11 -17119.938965 -14039.456035 -14771.771761 99.742248
+V 11 19104.999565 -428.869002 -21604.360224 .025386
+P 13 -18256.689185 413.991198 19217.043738 -30.917572
+V 13 16212.089670 -18347.456820 15839.946933 .002473
+P 14 20410.748379 -16070.864997 -5507.793843 -18.152548
+V 14 -3223.844245 6654.566146 -31067.973822 -.001097
+P 15 19519.392138 -6171.203685 -17281.173337 232.677844
+V 15 19912.957839 7930.542648 19690.168534 .052107
+P 16 3528.867903 -22367.613362 13947.784132 15.304959
+V 16 7045.196887 16261.641175 24425.954398 -.003981
+P 17 8100.631878 17016.206729 19172.444457 206.048928
+V 17 -22513.278556 -7482.654487 15571.516472 .195479
+P 18 16014.911048 6989.206085 -20034.236371 -15.274075
+V 18 5092.997954 24936.708427 12544.127388 -.026308
+P 20 -13405.099112 -20629.575698 9946.264288 -184.277484
+V 20 -1342.656978 -12880.505315 -28328.080390 .027691
+P 21 26051.015745 5303.000482 -3235.786649 73.060116
+V 21 3091.973319 3670.385238 31010.709845 .005244
+P 22 13511.321504 -7696.404213 -21371.742558 -40.666674
+V 22 6717.947801 26691.562226 -5281.550480 .089286
+P 24 -5704.645280 14061.275726 22097.942143 7.985567
+V 24 -26162.456548 -7838.176726 -1717.634246 .027094
+P 25 15499.422462 -11295.061895 18732.038055 61.672145
+V 25 22566.846285 5180.254385 -15885.818832 .004680
+P 26 -1932.589363 19341.054248 -18057.689113 410.795666
+V 26 -16879.869424 15126.597267 18863.967296 -.124070
+P 27 -26256.140413 -5554.406563 923.738265 919.657361
+V 27 1085.222005 -2602.303751 31125.559488 .044253
+P 28 -13952.937716 6152.930694 -21545.737174 21.760589
+V 28 -7977.096927 -26656.549247 -2724.913045 .016641
+P 29 -7500.897889 21539.416984 -13298.972091 229.759584
+V 29 -13102.608974 11488.983723 25544.846192 .033248
+P 30 16646.024075 12144.265462 16584.090901 804.341966
+V 30 4668.545393 21104.492249 -19764.223828 .143059
+P 31 -3474.764989 -17921.865459 -19515.061599 38.054027
+V 31 17078.249535 -17309.486225 13410.774368 .309695
+* 2004 2 29 8 30 .00000000
+P 1 -7951.666540 -13206.344687 21796.926493 332.492182
+V 1 18261.535905 -20190.233012 -5642.681190 .020071
+P 3 9356.300737 -23403.838162 -8102.719740 89.728580
+V 3 9012.818518 -6176.960725 28808.435445 .031764
+P 4 -20658.754249 6889.886268 15438.993911 -76.241694
+V 4 -18725.781459 -5536.175236 -22296.102748 -.091208
+P 5 12506.774041 23394.641035 2437.657654 19.693097
+V 5 -1804.091765 4363.114341 -30889.935993 .013741
+P 6 15644.691592 5237.027131 21018.863331 -1.303833
+V 6 -15943.593656 20979.371214 6564.976457 -.010201
+P 7 -19697.858560 14882.875417 -9170.582063 612.185743
+V 7 4680.042411 -11878.808102 -28276.899446 -.077527
+P 8 -25019.876050 1453.081844 -9453.503398 355.891653
+V 8 -10933.616041 -4498.601374 28538.414090 -.087956
+P 9 13084.516250 14964.500339 -18222.534663 -32.262403
+V 9 -22154.197983 -1690.244669 -17334.281028 -.018572
+P 10 -647.453108 23267.030015 12479.781878 40.143969
+V 10 -7222.361827 -14413.341897 26666.319418 .004860
+P 11 -15298.216421 -14105.327913 -16584.274442 99.744135
+V 11 21320.539610 -1081.554296 -18615.582825 .025388
+P 13 -16794.508227 -1332.261390 20472.264374 -30.917576
+V 13 16200.052737 -20415.778600 12013.810319 .002476
+P 14 20034.057493 -15346.520664 -8248.448186 -18.152170
+V 14 -5076.883219 9465.470783 -29747.749746 -.001091
+P 15 21229.518908 -5534.442440 -15369.103205 232.682017
+V 15 18013.146383 6246.644128 22741.019715 .051846
+P 16 4239.127159 -20808.489625 16020.320243 15.304450
+V 16 8766.363811 18310.274395 21564.857442 -.003962
+P 17 5985.962908 16376.121370 20410.692445 206.065834
+V 17 -24414.559792 -6687.485770 11904.196072 .195486
+P 18 16513.022364 9151.950074 -18736.680011 -15.276525
+V 18 5923.943050 23054.966782 16248.151141 -.026307
+P 20 -13508.610165 -21645.481846 7318.274934 -184.274655
+V 20 -885.386265 -9681.294627 -29987.382280 .027698
+P 21 26185.609374 5587.541187 -425.473344 73.060826
+V 21 -125.280921 2716.517854 31353.179740 .005241
+P 22 14183.361198 -5291.373020 -21659.064223 -40.658615
+V 22 8198.970435 26662.525755 -1093.680448 .089284
+P 24 -8062.178429 13424.454481 21758.873450 7.987466
+V 24 -26139.133782 -6299.156818 -5806.590525 .027132
+P 25 17457.628931 -10889.547475 17149.439019 61.670953
+V 25 20873.351945 3859.789239 -19235.329709 .004346
+P 26 -3348.051965 20668.855854 -16208.641710 410.784688
+V 26 -14558.413220 14293.409898 22169.848021 -.124061
+P 27 -26011.189176 -5766.744300 3709.600862 919.661155
+V 27 4357.495811 -2184.004612 30697.029027 .044243
+P 28 -14733.831855 3768.312178 -21601.580004 21.762097
+V 28 -9349.144231 -26246.118241 1484.035407 .016637
+P 29 -8563.303058 22501.102109 -10890.234861 229.762854
+V 29 -10517.920981 9803.413231 27903.492145 .033247
+P 30 17075.832508 13931.880251 14666.105964 804.354906
+V 30 4818.266346 18574.594898 -22794.498535 .143050
+P 31 -2020.404761 -19460.529355 -18146.406789 38.082611
+V 31 15218.227182 -16803.765141 16963.324560 .309710
+* 2004 2 29 8 45 .00000000
+P 1 -6381.274145 -15040.716028 21105.823305 332.492975
+V 1 16592.750973 -20493.671960 -9693.937766 .020104
+P 3 10072.562655 -23854.394646 -5447.039118 89.732023
+V 3 6938.710514 -3777.774293 30121.377360 .031640
+P 4 -22239.793967 6455.126477 13307.234129 -76.249784
+V 4 -16342.422777 -4166.815689 -25008.671682 -.091205
+P 5 12284.760159 23650.539742 -355.314724 19.695119
+V 5 -3189.692098 1348.934313 -31087.758822 .013804
+P 6 14240.479732 7180.987776 21430.398435 -1.305599
+V 6 -15202.825373 22157.942891 2566.851561 -.010070
+P 7 -19221.518749 13686.548817 -11626.955723 612.178336
+V 7 5833.857152 -14703.425656 -26227.403843 -.077517
+P 8 -25869.919651 1098.677905 -6812.888890 355.884724
+V 8 -7912.249648 -3435.021001 30059.987926 -.087899
+P 9 11007.142528 14856.276790 -19628.533643 -32.265014
+V 9 -23940.643369 -673.219044 -13867.211651 -.018561
+P 10 -1381.444751 21865.386514 14763.560753 40.144659
+V 10 -9119.762719 -16657.709389 24010.643557 .004903
+P 11 -13293.461372 -14241.666645 -18112.938254 99.746229
+V 11 23162.500846 -1984.897762 -15305.705963 .025389
+P 13 -15354.635626 -3251.906753 21373.343415 -30.917061
+V 13 15723.399795 -22186.333548 7981.585300 .002472
+P 14 19510.102687 -14364.258720 -10846.975513 -18.152070
+V 14 -6490.756925 12370.224781 -27914.045597 -.001087
+P 15 22748.666703 -5040.768672 -13199.185282 232.686188
+V 15 15677.450728 4763.725418 25412.213791 .051681
+P 16 5110.604241 -19085.953813 17818.430068 15.304193
+V 16 10613.659441 19886.491181 18336.354359 -.003944
+P 17 3718.650284 15821.194354 21308.709233 206.083517
+V 17 -25894.959450 -5601.532826 8020.667342 .195497
+P 18 17070.906854 11127.684328 -17118.099971 -15.278851
+V 18 6411.557372 20793.094984 19667.984744 -.026312
+P 20 -13551.482056 -22371.194771 4564.088617 -184.272109
+V 20 4.143553 -6448.267018 -31128.542540 .027696
+P 21 26025.445485 5803.838506 2391.980106 73.061101
+V 21 -3443.045713 2157.569183 31169.067181 .005238
+P 22 14982.680465 -2913.253042 -21567.978190 -40.650458
+V 22 9531.633265 26097.330967 3115.068783 .089281
+P 24 -10393.752701 12928.637783 21055.663528 7.989836
+V 24 -25585.177481 -4719.807603 -9798.675910 .027243
+P 25 19243.709045 -10594.038325 15279.093236 61.670700
+V 25 18749.789725 2747.741890 -22271.163038 .004326
+P 26 -4551.583339 21898.279523 -14078.123324 410.773552
+V 26 -12186.299531 12941.278900 25109.004254 -.124052
+P 27 -25473.253188 -5959.702415 6434.035348 919.665176
+V 27 7581.102831 -2170.963510 29763.133596 .044233
+P 28 -15629.662684 1444.109709 -21279.718759 21.763338
+V 28 -10517.418545 -25320.276531 5656.100885 .016633
+P 29 -9397.630952 23290.507703 -8291.145462 229.765850
+V 29 -8049.886221 7667.653215 29769.049120 .033248
+P 30 17501.224599 15480.795352 12493.190831 804.368684
+V 30 4565.643983 15815.002334 -25421.379788 .143040
+P 31 -738.287477 -20932.125211 -16469.851503 38.110789
+V 31 13264.822147 -15818.030740 20243.048573 .309718
+* 2004 2 29 9 0 .00000000
+P 1 -4971.474973 -16880.313476 20056.847641 332.495435
+V 1 14707.392878 -20301.281231 -13584.270511 .020366
+P 3 10612.535610 -24074.415173 -2696.559885 89.734425
+V 3 5106.438467 -1064.957265 30911.698530 .031526
+P 4 -23589.509364 6131.364799 10950.242197 -76.258044
+V 4 -13596.775332 -3080.171802 -27294.503460 -.091205
+P 5 11922.430216 23643.266862 -3142.246668 19.696461
+V 5 -4914.766666 -1471.616857 -30756.145831 .013848
+P 6 12917.743990 9213.461714 21479.486365 -1.309050
+V 6 -14143.722985 22937.114131 -1478.251370 -.009860
+P 7 -18660.775392 12238.225029 -13877.346745 612.171085
+V 7 6554.586535 -17462.489971 -23705.963410 -.077507
+P 8 -26437.419359 823.692083 -4057.810437 355.878217
+V 8 -4669.103238 -2740.435914 31078.325439 -.087868
+P 9 8788.354607 14849.718374 -20711.737408 -32.266117
+V 9 -25289.081334 556.760153 -10170.414310 -.018536
+P 10 -2293.312421 20283.169714 16789.193812 40.145691
+V 10 -11160.297890 -18418.445979 20938.411770 .004927
+P 11 -11141.770484 -14468.203913 -19331.340603 99.748646
+V 11 24578.126240 -3074.438569 -11730.616656 .025396
+P 13 -13976.730725 -5314.444238 21904.871601 -30.916905
+V 13 14832.774231 -23578.728563 3813.498693 .002468
+P 14 18879.649821 -13119.980161 -13258.496392 -18.152543
+V 14 -7440.984283 15271.568542 -25597.954424 -.001085
+P 15 24040.114764 -4668.761956 -10807.633714 232.690980
+V 15 12964.022521 3554.056233 27659.322633 .051571
+P 16 6150.742597 -17244.022145 19311.499777 15.303863
+V 16 12499.396062 20959.955050 14795.884624 -.003928
+P 17 1339.177000 15374.385764 21849.757166 206.101450
+V 17 -26898.964100 -4297.866197 3982.078885 .195505
+P 18 17655.255567 12885.650258 -15206.691804 -15.280984
+V 18 6504.802895 18229.621204 22746.381904 -.026314
+P 20 -13495.287091 -22808.104587 1731.257336 -184.269690
+V 20 1312.303345 -3279.587626 -31732.672685 .027703
+P 21 25565.618164 5988.178443 5169.220401 73.061858
+V 21 -6768.872223 2007.189300 30460.614095 .005236
+P 22 15892.036634 -608.992946 -21099.965353 -40.642377
+V 22 10630.628496 25028.065847 7270.065641 .089276
+P 24 -12651.766860 12573.392746 19999.970952 7.991776
+V 24 -24507.020458 -3190.236635 -13628.869556 .027315
+P 25 20821.324451 -10386.669227 13151.601753 61.671122
+V 25 16251.105278 1911.461494 -24941.429807 .004416
+P 26 -5542.943418 22983.156387 -11701.720895 410.762477
+V 26 -9859.330170 11085.497909 27625.045087 -.124045
+P 27 -24650.688203 -6169.319142 9052.377694 919.669396
+V 27 10668.289923 -2550.751024 28343.220166 .044217
+P 28 -16618.489462 -775.253977 -20586.795636 21.764895
+V 28 -11403.470223 -23925.510652 9717.802219 .016628
+P 29 -10018.481586 23869.295338 -5547.517030 229.768823
+V 29 -5788.112132 5132.946266 31111.228054 .033244
+P 30 17884.962381 16774.454598 10103.681030 804.381037
+V 30 3890.750209 12917.963965 -27601.097664 .143024
+P 31 367.033189 -22293.431280 -14512.583272 38.138820
+V 31 11303.702653 -14354.772535 23192.085585 .309717
+* 2004 2 29 9 15 .00000000
+P 1 -3737.736212 -18679.407161 18667.448139 332.495664
+V 1 12695.707081 -19591.517301 -17248.260150 .020546
+P 3 11000.811003 -24038.835787 100.913159 89.737358
+V 3 3576.669395 1889.207025 31163.899277 .031513
+P 4 -24678.583679 5890.491074 8408.140333 -76.266684
+V 4 -10563.786705 -2333.167150 -29116.691935 -.091205
+P 5 11391.459861 23393.758576 -5875.738551 19.698654
+V 5 -6927.479802 -4022.225111 -29902.084372 .013810
+P 6 11702.088505 11296.219650 21164.921117 -1.306321
+V 6 -12835.598050 23268.498868 -5503.093693 -.009537
+P 7 -18054.624206 10548.178627 -15881.164430 612.164182
+V 7 6844.896743 -20059.075604 -20755.995873 -.077499
+P 8 -26706.369641 593.354923 -1234.449111 355.870669
+V 8 -1293.174485 -2446.753380 31574.974982 -.087869
+P 9 6469.422986 14960.574511 -21454.045466 -32.267819
+V 9 -26160.858812 1922.567896 -6301.621164 -.018567
+P 10 -3391.826630 18565.683133 18521.636899 40.146371
+V 10 -13251.635169 -19659.274853 17505.117475 .004862
+P 11 -8883.358128 -14798.471070 -20218.306295 99.750870
+V 11 25528.954936 -4277.310890 -7950.880839 .025402
+P 13 -12695.192923 -7482.687165 22057.869985 -30.916575
+V 13 13594.010783 -24525.269099 -417.994397 .002469
+P 14 18184.822473 -11618.458464 -15441.313921 -18.152871
+V 14 -7921.956314 18070.224797 -22839.008471 -.001079
+P 15 25072.992290 -4391.017677 -8234.377009 232.695898
+V 15 9944.340685 2677.924401 29444.339352 .051402
+P 16 7358.919306 -15328.627661 20474.142858 15.303723
+V 16 14332.595039 21518.515187 11004.007129 -.003919
+P 17 -1107.642477 15051.654384 22022.775017 206.119071
+V 17 -27386.166267 -2858.529694 -146.695625 .195511
+P 18 18228.868500 14402.593722 -13035.536460 -15.283479
+V 18 6168.535181 15452.250868 25432.161107 -.026324
+P 20 -13303.639784 -22966.284134 -1131.385924 -184.267494
+V 20 3007.480443 -269.436671 -31790.226615 .027706
+P 21 24809.613652 6177.296176 7859.466492 73.062416
+V 21 -10009.265623 2261.675848 29238.290979 .005225
+P 22 16886.870266 1578.153764 -20263.192282 -40.634336
+V 22 11419.238714 23504.477535 11297.610119 .089271
+P 24 -14789.995715 12350.273719 18609.207522 7.994549
+V 24 -22928.732051 -1797.836270 -17234.488079 .027434
+P 25 22159.681801 -10240.013709 10802.012391 61.672053
+V 25 13445.237594 1406.764183 -27199.344452 .004489
+P 26 -6330.408120 23879.602409 -9119.811322 410.751727
+V 26 -7670.302996 8761.468778 29668.142441 -.124042
+P 27 -23559.543690 -6429.781641 11522.008057 919.673146
+V 27 13536.308456 -3294.829587 26463.281189 .044191
+P 28 -17671.782638 -2850.272197 -19535.949549 21.766340
+V 28 -11939.825849 -22124.184806 13598.468945 .016624
+P 29 -10448.056236 24204.468319 -2707.451178 229.771222
+V 29 -3811.368741 2266.358806 31909.509200 .033240
+P 30 18188.804541 17804.758455 7539.479662 804.393980
+V 30 2791.285108 9978.545972 -29298.235318 .143008
+P 31 1298.690021 -23502.247196 -12306.804298 38.166978
+V 31 9419.459518 -12434.196873 25757.039313 .309718
+* 2004 2 29 9 30 .00000000
+P 1 -2687.235535 -20391.154608 16960.816205 332.500277
+V 1 10651.072275 -18361.308815 -20623.877260 .020935
+P 3 11266.829201 -23729.595362 2896.614149 89.740644
+V 3 2396.130271 5001.869722 30872.173555 .031390
+P 4 -25484.903570 5699.926689 5724.035017 -76.274312
+V 4 -7328.103800 -1967.867638 -30445.897390 -.091209
+P 5 10668.784031 22929.327744 -8509.405396 19.700217
+V 5 -9163.162338 -6237.916314 -28541.092726 .013738
+P 6 10612.482515 13387.339517 20491.555450 -1.306591
+V 6 -11356.107545 23118.700283 -9440.442708 -.009445
+P 7 -17440.997557 8635.268965 -17602.130176 612.157673
+V 7 6725.672486 -22399.995065 -17429.762795 -.077496
+P 8 -26669.028518 370.786340 1609.715534 355.862348
+V 8 2121.435845 -2568.803717 31539.588931 -.087877
+P 9 4094.416283 15197.371041 -21842.681287 -32.269434
+V 9 -26532.632335 3341.290344 -2321.304212 -.018533
+P 10 -4677.245391 16760.614693 19931.130485 40.145337
+V 10 -15297.585112 -20363.623767 13772.502872 .004789
+P 11 -6561.200511 -15239.171056 -20758.285308 99.753349
+V 11 25992.267351 -5515.143921 -4030.767164 .025401
+P 13 -11537.913355 -9714.030203 21829.932373 -30.916381
+V 13 12085.404433 -24973.633752 -4639.504827 .002466
+P 14 17467.392636 -9873.350457 -17357.644628 -18.152944
+V 14 -7947.051922 20668.696285 -19684.518093 -.001077
+P 15 25823.371496 -4175.333406 -5522.452256 232.700383
+V 15 6700.772808 2181.311898 30736.287903 .051177
+P 16 8726.308402 -13385.964555 21286.615542 15.303684
+V 16 16022.540340 21568.511977 7025.382723 -.003913
+P 17 -3574.104624 14861.282694 21822.678833 206.136800
+V 17 -27333.022248 -1371.533810 -4297.843230 .195513
+P 18 18752.152532 15663.443246 -10642.019338 -15.285782
+V 18 5384.896235 12554.542061 27680.966364 -.026336
+P 20 -12943.766947 -22863.970433 -3974.574078 -184.265379
+V 20 5041.269316 2495.503629 -31301.107708 .027706
+P 21 23769.255986 6406.814558 10417.247616 73.062801
+V 21 -13072.985238 2900.083189 27520.724974 .005220
+P 22 17936.226240 3610.132182 -19072.363239 -40.626218
+V 22 11832.555160 21591.951091 15126.353714 .089262
+P 24 -16765.147653 12243.216475 16906.288862 7.995539
+V 24 -20891.256869 -623.977831 -20556.050941 .027577
+P 25 23234.603800 -10122.228918 8269.322152 61.672053
+V 25 10410.855712 1275.627288 -29004.072612 .004466
+P 26 -6930.325915 24547.794174 -6376.911136 410.740840
+V 26 -5705.181771 6023.805321 31196.344655 -.124041
+P 27 -22222.989367 -6772.029068 13802.925334 919.678210
+V 27 16110.105040 -4359.807785 24155.431265 .044163
+P 28 -18755.537481 -4747.668260 -18146.505618 21.767508
+V 28 -12072.692391 -19991.894640 17231.499141 .016616
+P 29 -10715.044492 24269.680262 179.550451 229.773846
+V 29 -2184.624586 -851.878519 32153.310782 .033240
+P 30 18375.100783 18572.152859 4845.283437 804.406409
+V 30 1282.632484 7090.976068 -30486.191003 .142992
+P 31 2067.256467 -24518.978061 -9889.281007 38.194992
+V 31 7692.302967 -10093.883201 27890.058353 .309714
+* 2004 2 29 9 45 .00000000
+P 1 -1818.739054 -21969.282689 14965.535884 332.502146
+V 1 8666.434830 -16626.375355 -23653.478231 .020812
+P 3 11443.536355 -23136.448883 5641.699381 89.742196
+V 3 1595.740721 8182.740598 30040.614731 .031176
+P 4 -25994.297561 5524.036714 2943.318341 -76.282797
+V 4 -3981.037816 -2009.913425 -31260.722441 -.091217
+P 5 9737.645975 22282.538014 -10998.631101 19.701045
+V 5 -11546.736661 -8067.316533 -26696.898275 .013605
+P 6 9660.641485 15442.622600 19470.254735 -1.307521
+V 6 -9788.271219 22470.709124 -13224.088280 -.009455
+P 7 -16855.158181 6526.427804 -19009.030378 612.150739
+V 7 6235.142307 -24399.677782 -13787.370791 -.077497
+P 8 -26326.229322 118.567873 4426.648626 355.855690
+V 8 5478.829342 -3103.659679 30970.215673 -.087886
+P 9 1708.781137 15561.023003 -21870.409740 -32.269150
+V 9 -26397.223103 4727.225808 1707.978450 -.018566
+P 10 -6141.142516 14916.238371 20993.706465 40.145373
+V 10 -17202.008810 -20535.043132 9807.308585 .004996
+P 11 -4219.575668 -15789.822503 -20941.639264 99.755233
+V 11 25961.946039 -6707.192010 -37.196203 .025406
+P 13 -10525.294598 -11961.931096 21225.250879 -30.916202
+V 13 10394.505556 -24888.947512 -8778.008163 .002460
+P 14 16767.094586 -7906.866562 -18974.283303 -18.152806
+V 14 -7548.008629 22975.012803 -16188.766454 -.001075
+P 15 26275.122344 -3986.082674 -2717.347212 232.704105
+V 15 3323.731381 2094.067149 31511.770671 .051051
+P 16 10236.064453 -11460.836257 21735.138100 15.303499
+V 16 17482.319875 21134.388999 2927.702493 -.003909
+P 17 -6011.193601 14803.487348 21250.586232 206.154291
+V 17 -26734.066004 72.466251 -8401.528091 .195511
+P 18 19184.715171 16661.679726 -8067.186251 -15.287994
+V 18 4154.045584 9632.395937 29455.907586 -.026343
+P 20 -12387.940760 -22526.742990 -6749.454955 -184.262659
+V 20 7350.313441 4939.249711 -30274.609246 .027712
+P 21 22464.357236 6709.720557 12799.130575 73.063433
+V 21 -15874.290645 3884.955341 25334.531845 .005212
+P 22 19003.943756 5455.378550 -17548.446421 -40.618254
+V 22 11820.214289 19368.861031 18688.668458 .089251
+P 24 -18538.327034 12229.221965 14919.307692 7.998427
+V 24 -18451.066655 259.099565 -23538.132876 .027903
+P 25 24029.376597 -9998.387835 5595.904356 61.672595
+V 25 7234.663615 1544.346415 -30321.553252 .004496
+P 26 -7366.336605 24953.625819 -3520.912130 410.729631
+V 26 -4039.449095 2944.590837 32176.788035 -.124041
+P 27 -20670.512401 -7222.489516 15858.274689 919.681585
+V 27 18324.716903 -5689.151359 21457.386596 .044128
+P 28 -19831.605243 -6441.449037 -16443.557437 21.769026
+V 28 -11764.073182 -17614.349882 20555.481135 .016609
+P 29 -10853.271243 24046.281570 3063.480281 229.776773
+V 29 -956.691857 -4131.513451 31841.948178 .033242
+P 30 18408.359570 19085.392394 2067.775488 804.419569
+V 30 -602.782264 4345.085722 -31147.455222 .142971
+P 31 2690.206594 -25308.157163 -7300.796924 38.222822
+V 31 6194.848345 -7387.762854 29549.899374 .309707
+* 2004 2 29 10 0 .00000000
+P 1 -1122.801308 -23369.767378 12715.145631 332.504459
+V 1 6830.739337 -14420.858329 -26284.764824 .020571
+P 3 11565.901611 -22257.483733 8288.139684 89.744180
+V 3 1189.389849 11337.540926 28683.211727 .031266
+P 4 -26200.990436 5325.656232 112.940085 -76.290826
+V 4 -617.305140 -2467.555704 -31547.986408 -.091213
+P 5 8588.410419 21489.897210 -13301.288721 19.701782
+V 5 -13995.518174 -9474.395822 -24401.007913 .013533
+P 6 8850.687157 17417.109746 18117.758637 -1.307992
+V 6 -8217.273421 21324.721743 -16789.873185 -.009423
+P 7 -16328.206925 4255.809048 -20076.368470 612.144050
+V 7 5427.226956 -25983.769317 -9895.534280 -.077500
+P 8 -25687.389330 -199.652449 7168.525249 355.847761
+V 8 8684.721263 -4030.596691 29873.496855 -.087909
+P 9 -642.131878 16044.723870 -21535.693918 -32.272209
+V 9 -25763.957127 5995.012992 5722.277506 -.018763
+P 10 -7766.587524 13079.614869 21691.578913 40.146229
+V 10 -18872.696211 -20196.811911 5679.951168 .005175
+P 11 -1902.553758 -16442.691546 -20764.830488 99.757536
+V 11 25448.714832 -7773.577606 3961.370967 .025410
+P 13 -9669.575337 -14177.548875 20254.525311 -30.916152
+V 13 8614.570798 -24255.175438 -12762.123712 .002453
+P 14 16120.028170 -5749.111633 -20263.189353 -18.152918
+V 14 -6773.570700 24906.280220 -12412.073698 -.001074
+P 15 26420.496399 -3785.728221 133.703742 232.708587
+V 15 -91.486092 2428.644010 31755.444109 .050941
+P 16 11863.819374 -9595.069059 21812.117830 15.303085
+V 16 18632.223189 20257.629662 -1219.422735 -.003908
+P 17 -8370.239927 14870.339068 20313.952144 206.172141
+V 17 -25602.504789 1383.705833 -12386.943673 .195511
+P 18 19486.993511 17399.386826 -5355.047314 -15.290143
+V 18 2494.210376 6780.492149 30728.077176 -.026354
+P 20 -11614.719567 -21986.432692 -9408.427621 -184.260189
+V 20 9858.723268 6999.285542 -28729.193333 .027708
+P 21 20922.082162 7114.935208 14964.427353 73.063775
+V 21 -18336.023182 5163.666722 22714.046068 .005196
+P 22 20050.066525 7089.850352 -15718.280553 -40.610106
+V 22 11348.537196 16923.408482 21921.931578 .089241
+P 24 -20076.350141 12279.307381 12681.131102 8.001465
+V 24 -15678.261541 791.101103 -26130.199662 .028125
+P 25 24535.338091 -9831.953361 2826.863671 61.673368
+V 25 4008.352821 2222.239054 -31125.275255 .004607
+P 26 -7668.276733 25070.172306 -602.214698 410.718317
+V 26 -2734.818879 -389.172955 32586.748422 -.124037
+P 27 -18936.914477 -7801.989215 17654.828544 919.686067
+V 27 20127.314873 -7215.289269 18411.951904 .044088
+P 28 -20859.185579 -7913.661945 -14457.455124 21.770311
+V 28 -10993.226142 -15083.924540 23515.163333 .016603
+P 29 -10900.162198 23524.066551 5894.706419 229.779493
+V 29 -158.558840 -7475.757660 30984.400640 .033246
+P 30 18256.728158 19360.992865 -745.198747 804.431890
+V 30 -2816.789475 1822.986341 -31273.710930 .142951
+P 31 3191.094658 -25839.846477 -4585.511823 38.251661
+V 31 4989.122124 -4384.427998 30702.940890 .309692
+* 2004 2 29 10 15 .00000000
+P 1 -582.281846 -24552.449345 10247.615883 332.506029
+V 1 5225.484121 -11796.266603 -28471.693305 .020340
+P 3 11669.355491 -21099.315775 10789.602803 89.747840
+V 3 1173.414894 14371.641385 26823.630499 .031515
+P 4 -26107.758425 5067.674969 -2719.340342 -76.299337
+V 4 2668.343650 -3331.327954 -31302.898823 -.091214
+P 5 7219.111465 20590.419219 -15378.417547 19.704452
+V 5 -16422.290492 -10439.638917 -21692.179605 .013568
+P 6 8179.101025 19266.643582 16456.449786 -1.309021
+V 6 -6727.159881 19698.339385 -20076.727331 -.009488
+P 7 -15885.771736 1863.633808 -20784.896207 612.137623
+V 7 4369.178102 -27092.274466 -5826.135933 -.077512
+P 8 -24770.210970 -617.581198 9788.508725 355.840018
+V 8 11649.841680 -5311.710364 28264.756957 -.087943
+P 9 -2914.548936 16634.118747 -20842.787180 -32.274974
+V 9 -24658.469262 7062.797806 9656.998919 -.018833
+P 10 -9528.667237 11294.863284 22013.413882 40.146359
+V 10 -20225.055176 -19390.761941 1463.163426 .005297
+P 11 347.505547 -17183.015955 -20230.508893 99.759708
+V 11 24479.741513 -8638.523620 7896.088932 .025415
+P 13 -8974.484651 -16311.474917 18934.759198 -30.916193
+V 13 6840.811408 -23075.786037 -16523.350868 .002446
+P 14 15557.214466 -3437.120585 -21201.983679 -18.153100
+V 14 -5687.466073 26391.891215 -8419.747109 -.001073
+P 15 26260.415838 -3536.421101 2982.462773 232.712638
+V 15 -3448.071185 3179.462480 31460.410233 .050950
+P 16 13578.473824 -7826.050338 21516.270912 15.302333
+V 16 19402.870033 18995.060693 -5345.596539 -.003906
+P 17 -10604.602647 15046.005846 19026.603781 206.190078
+V 17 -23970.137160 2476.938652 -16183.498510 .195502
+P 18 19621.857137 17886.982967 -2551.839971 -15.292624
+V 18 441.059384 4088.799212 31476.941369 -.026364
+P 20 -10609.948625 -21279.804814 -11905.951846 -184.258293
+V 20 12480.973932 8628.797272 -26692.116678 .027712
+P 21 19176.047031 7646.030322 16875.873619 73.064367
+V 21 -20392.414497 6670.335184 19700.942712 .005188
+P 22 21032.415216 8497.753617 -13614.070817 -40.601658
+V 22 10401.983454 14350.079061 24769.695109 .089228
+P 24 -21352.867404 12359.693130 10228.923584 8.004603
+V 24 -12654.173882 926.090653 -28287.420825 .028208
+P 25 24752.179721 -9586.341782 9.324177 61.673762
+V 25 825.300107 3300.964658 -31396.984463 .004496
+P 26 -7870.811727 24878.889669 2327.224109 410.707598
+V 26 -1836.478898 -3878.841923 32414.475745 -.124043
+P 27 -17061.142668 -8524.866584 19163.421748 919.689133
+V 27 21478.846853 -8862.048670 15066.514536 .044044
+P 28 -21796.419011 -9154.831942 -12223.213288 21.771791
+V 28 -9757.424825 -12496.020604 26062.263110 .016599
+P 29 -10895.092094 22701.696939 8624.825404 229.783033
+V 29 197.544522 -10784.967329 29598.907068 .033247
+P 30 17893.328852 19422.399798 -3545.457196 804.444848
+V 30 -5297.361171 -403.899030 -30865.768842 .142939
+P 31 3598.480119 -26090.856086 -1790.233236 38.279707
+V 31 4123.920475 -1164.807395 31324.110634 .309667
+* 2004 2 29 10 30 .00000000
+P 1 -173.161374 -25482.524719 7604.747665 332.508784
+V 1 3921.529822 -8819.763390 -30175.317215 .020198
+P 3 11788.214064 -19676.955440 13102.306500 89.750116
+V 3 1526.808278 17193.731122 24494.783081 .031625
+P 4 -25725.780264 4714.622509 -5505.713054 -76.307418
+V 4 5784.491724 -4574.361297 -30529.132114 -.091219
+P 5 5635.715508 19624.107768 -17194.848502 19.704546
+V 5 -18738.544178 -10960.606158 -18615.803533 .013414
+P 6 7634.975454 20949.420029 14514.029678 -1.309263
+V 6 -5397.546731 17626.129940 -23027.693426 -.009517
+P 7 -15546.937232 -605.220953 -21122.008004 612.130123
+V 7 3138.614068 -27682.089040 -1654.631945 -.077530
+P 8 -23600.081879 -1164.785684 12241.531596 355.832983
+V 8 14293.205833 -6893.186487 26167.971517 -.087982
+P 9 -5067.711488 17307.760805 -19801.755340 -32.276812
+V 9 -23121.961630 7855.344524 13447.711074 -.018753
+P 10 -11395.325298 9601.571506 21954.476409 40.146867
+V 10 -21185.464123 -18175.383710 -2769.369274 .005475
+P 11 2491.391512 -17989.515012 -19347.493464 99.762074
+V 11 23097.613100 -9233.450100 11698.911093 .025421
+P 13 -8435.237532 -18315.489921 17288.947267 -30.915826
+V 13 5166.587129 -21373.662694 -19997.241508 .002443
+P 14 15103.360870 -1013.625129 -21774.346633 -18.152939
+V 14 -4365.790620 27376.270258 -4280.936275 -.001075
+P 15 25804.453353 -3201.627887 5780.462680 232.715413
+V 15 -6651.180087 4322.928153 30628.509901 .051041
+P 16 15343.253705 -6185.445616 20852.641694 15.302141
+V 16 19737.954588 17416.586996 -9380.779886 -.003904
+P 17 -12671.312078 15307.321715 17408.663271 206.208089
+V 17 -21886.554471 3275.019887 -19722.124254 .195482
+P 18 19556.125277 18142.647311 294.737567 -15.295145
+V 18 -1953.570118 1639.283953 31690.606168 -.026369
+P 20 -9367.482771 -20447.068123 -14199.317382 -184.255772
+V 20 15125.167109 9798.291749 -24198.913637 .027716
+P 21 17265.181836 8320.141128 18500.268099 73.065019
+V 21 -21991.519122 8328.252275 16343.744859 .005184
+P 22 21908.257610 9671.939962 -11272.785715 -40.593522
+V 22 8983.861838 11745.872255 27182.713771 .089211
+P 24 -22349.250135 12433.185773 7603.598300 8.007019
+V 24 -9468.544682 634.417223 -29971.449651 .028212
+P 25 24687.943777 -9226.517678 -2808.342039 61.672535
+V 25 -2222.875867 4754.512880 -31127.293721 .004416
+P 26 -8011.849569 24370.492483 5214.905900 410.695956
+V 26 -1371.016354 -7418.001566 31659.759859 -.124052
+P 27 -15084.991819 -9398.317647 20359.341364 919.693486
+V 27 22355.243902 -10547.349278 11472.541112 .044005
+P 28 -22602.016039 -10164.068367 -9779.853575 21.773009
+V 28 -8072.012555 -9945.391591 28156.111757 .016597
+P 29 -10877.682427 21586.790975 11207.471792 229.786012
+V 29 118.333942 -13960.370193 27712.415141 .033248
+P 30 17297.402245 19298.909706 -6285.293964 804.457345
+V 30 -7970.998998 -2277.345631 -29933.352948 .142926
+P 31 3944.635566 -26045.728349 1036.390127 38.306976
+V 31 3632.647061 2180.723340 31397.686551 .309641
+* 2004 2 29 10 45 .00000000
+P 1 134.370896 -26131.853844 4831.498995 332.510350
+V 1 2976.283929 -5571.845269 -31364.546109 .019895
+P 3 11954.154398 -18013.348079 15185.823652 89.753932
+V 3 2212.146603 19719.361530 21738.193649 .031798
+P 4 -25074.189594 4234.196474 -8199.078813 -76.314793
+V 4 8646.306176 -6153.333518 -29238.792786 -.091228
+P 5 3852.089594 18630.417840 -18719.770066 19.703780
+V 5 -20857.764615 -11051.868436 -15223.200694 .013334
+P 6 7200.555895 22427.471709 12323.103175 -1.310726
+V 6 -4300.462507 15158.554756 -25590.929021 -.009563
+P 7 -15323.463040 -3102.829352 -21081.986834 612.123305
+V 7 1820.092848 -27728.796424 2541.642546 -.077551
+P 8 -22209.191087 -1865.342808 14485.067782 355.824809
+V 8 16545.132032 -8707.195926 23615.600288 -.088025
+P 9 -7065.223567 18037.841522 -18428.423228 -32.277848
+V 9 -21209.920154 8306.992425 17031.018849 -.018758
+P 10 -13328.483375 8033.406109 21516.655766 40.147645
+V 10 -21694.159551 -16623.304696 -6944.346393 .005660
+P 11 4494.361503 -18835.167379 -18130.646765 99.764371
+V 11 21358.716989 -9499.813169 15303.780190 .025431
+P 13 -8038.869809 -20144.279254 15345.661019 -30.915570
+V 13 3679.694283 -19190.270996 -23124.489056 .002437
+P 14 14775.884498 1474.401408 -21970.309456 -18.153130
+V 14 -2893.902329 27821.043483 -67.414307 -.001078
+P 15 25070.499199 -2747.725777 8479.802392 232.719303
+V 15 -9611.389602 5818.126914 29270.502418 .051273
+P 16 17116.992467 -4698.141969 19832.519251 15.301796
+V 16 19596.503922 15602.442347 -13256.428345 -.003903
+P 17 -14532.607857 15624.670409 15486.347842 206.225029
+V 17 -19417.613083 3712.294605 -22936.684102 .195454
+P 18 19261.942039 18191.462970 3136.311140 -15.297472
+V 18 -4623.542947 -497.062980 31365.957603 -.026374
+P 20 -7889.603835 -19530.268238 -16249.360757 -184.252963
+V 20 17696.530643 10496.542938 -21292.749130 .027719
+P 21 15232.394080 9147.118204 19809.062248 73.065349
+V 21 -23097.176684 10052.756339 12697.211140 .005178
+P 22 22636.008249 10613.959963 -8735.468633 -40.586008
+V 22 7116.273787 9206.461421 29119.809317 .089193
+P 24 -23055.207099 12460.709396 4849.200102 8.009267
+V 24 -6216.358852 -95.925224 -31151.157500 .028317
+P 25 24358.709208 -8720.558639 -5577.335744 61.673203
+V 25 -5049.771596 6539.889015 -30316.166356 .004671
+P 26 -8130.803265 23545.462236 8008.843488 410.685190
+V 26 -1345.150068 -10896.765480 30334.186003 -.124059
+P 27 -13051.719200 -10421.992892 21222.670969 919.697617
+V 27 22748.159773 -12186.084624 7685.068364 .043961
+P 28 -23236.859899 -10948.844403 -7169.696471 21.774456
+V 28 -5969.767805 -7522.566752 29764.137704 .016593
+P 29 -10886.115460 20195.680354 13599.072517 229.789191
+V 29 -371.073014 -16907.696026 25359.909256 .033242
+P 30 16455.216618 19024.389335 -8918.266789 804.470287
+V 30 -10755.522847 -3754.297611 -28494.753115 .142910
+P 31 4264.085943 -25697.440138 3844.739823 38.334939
+V 31 3531.743741 5555.698118 30917.930714 .309618
+* 2004 2 29 11 0 .00000000
+P 1 374.597713 -26480.036515 1975.247482 332.512052
+V 1 2431.374355 -2143.488177 -32016.801384 .019641
+P 3 12194.804767 -16138.606712 17003.821733 89.757166
+V 3 3177.202244 21874.213568 18603.177979 .031824
+P 4 -24179.344342 3598.677833 -10753.802948 -76.322747
+V 4 11178.559069 -8010.021489 -27452.289661 -.091241
+P 5 1889.675982 17646.751023 -19927.227634 19.704365
+V 5 -22698.653863 -10744.320582 -11570.846198 .013346
+P 6 6852.056833 23668.027055 9920.674580 -1.310517
+V 6 -3497.443519 12360.285864 -27720.666893 -.009516
+P 7 -15219.325251 -5579.948777 -20666.095346 612.116469
+V 7 501.387744 -27227.644351 6685.207755 -.077571
+P 8 -20635.389422 -2736.684751 16479.883158 355.817161
+V 8 18349.888558 -10674.363023 20648.272652 -.088081
+P 9 -8876.259861 18791.176245 -16744.239477 -32.280233
+V 9 -18990.308116 8364.355823 20345.506873 -.018722
+P 10 -15285.397269 6616.973231 20708.372530 40.148912
+V 10 -21707.552951 -14818.253907 -10990.136756 .005820
+P 11 6327.289756 -19688.228550 -16600.642766 99.766459
+V 11 19331.084832 -9391.572010 18647.804954 .025443
+P 13 -7764.897501 -21757.041151 13138.540692 -30.915493
+V 13 2458.891380 -16584.118476 -25851.917044 .002431
+P 14 14584.232648 3977.365319 -21786.433538 -18.153164
+V 14 -1362.947952 27706.546647 4147.692173 -.001080
+P 15 24084.122797 -2145.504937 11033.952898 232.723494
+V 15 -12248.007751 7608.188586 27406.115442 .051552
+P 16 18855.591604 -3381.456911 18473.252410 15.301663
+V 16 18954.566549 13640.057535 -16906.608946 -.003904
+P 17 -16157.307240 15963.159341 13291.639934 206.242369
+V 17 -16643.195965 3737.634836 -25765.448364 .195433
+P 18 18717.958972 18064.310704 5924.622538 -15.300430
+V 18 -7490.823481 -2262.781451 30508.678911 -.026381
+P 20 -6187.117405 -18571.627290 -18021.118499 -184.250049
+V 20 20101.021901 10730.835918 -18023.655413 .027729
+P 21 13123.080265 10128.954489 20778.889258 73.065552
+V 21 -23690.421641 11754.455779 8821.599531 .005175
+P 22 23176.888706 11333.773803 -6046.479607 -40.577873
+V 22 4839.299215 6822.444247 30548.555210 .089175
+P 24 -23469.104642 12402.931395 2012.225120 8.011317
+V 24 -2994.440661 -1258.568566 -31803.306097 .028497
+P 25 23787.970781 -8041.126720 -8249.288085 61.673936
+V 25 -7577.532375 8598.498929 -28973.242928 .004929
+P 26 -8266.778828 22414.157136 10658.621363 410.673653
+V 26 -1745.353145 -14206.298470 28461.052384 -.124064
+P 27 -11004.614401 -11587.859046 21738.588460 919.701611
+V 27 22665.223106 -13693.114933 3762.176835 .043921
+P 28 -23665.522746 -11524.464191 -4437.616674 21.776092
+V 28 -3499.624037 -5310.506095 30862.194465 .016590
+P 29 -10955.528557 18552.849786 15759.536262 229.791564
+V 29 -1228.388990 -19540.578455 22583.642413 .033236
+P 30 15360.712525 18635.844039 -11399.947990 804.483027
+V 30 -13563.148444 -4808.241211 -26576.362234 .142895
+P 31 4592.036810 -25047.786706 6585.147190 38.362366
+V 31 3819.807235 8861.255291 29889.517488 .309598
+* 2004 2 29 11 15 .00000000
+P 1 584.770643 -26515.209938 -915.000730 332.513925
+V 1 2310.910591 1367.142211 -32118.549731 .019349
+P 3 12532.508084 -14088.968423 18524.720890 89.759630
+V 3 4357.167192 23596.950278 15145.858770 .031811
+P 4 -23073.838474 2786.181111 -13126.452713 -76.331134
+V 4 13318.314330 -10073.407502 -25198.097074 -.091262
+P 5 -223.116057 16707.039779 -20796.549842 19.705156
+V 5 -24188.173837 -10083.897867 -7719.524027 .013358
+P 6 6560.723358 24644.692272 7347.559888 -1.311382
+V 6 -3036.998301 9307.962343 -29378.113290 -.009583
+P 7 -15230.599735 -7987.801430 -19882.511428 612.109679
+V 7 -730.354330 -26193.661629 10700.152159 -.077591
+P 8 -18920.832571 -3788.689886 18190.750761 355.809604
+V 8 19667.858713 -12706.732095 17314.314672 -.088135
+P 9 -10476.588936 19530.417340 -14776.053397 -32.281919
+V 9 -16541.272658 7988.664370 23332.748821 -.018670
+P 10 -17220.192781 5370.970934 19544.373285 40.148106
+V 10 -21199.897906 -12851.642927 -14837.987914 .005842
+P 11 7967.600801 -20513.449728 -14783.630229 99.768649
+V 11 17091.778146 -8877.182270 21672.400293 .025454
+P 13 -7586.273151 -23118.926715 10705.703344 -30.914861
+V 13 1570.794871 -13628.570145 -28133.352284 .002432
+P 14 14529.527269 6444.777308 -21225.873964 -18.153345
+V 14 133.840299 27032.610558 8291.200455 -.001085
+P 15 22877.647680 -1371.519082 13398.561249 232.728093
+V 15 -14492.112228 9622.288736 25063.949498 .051752
+P 16 20513.604982 -2244.642074 16797.965707 15.301345
+V 16 17806.267071 11620.661364 -20269.082055 -.003911
+P 17 -17521.941864 16284.045264 10861.823119 206.260085
+V 17 -13654.317982 3316.969826 -28152.592705 .195415
+P 18 17910.281382 17796.555020 8612.317441 -15.302666
+V 18 -10468.312632 -3615.987074 29133.145876 -.026381
+P 20 -4279.125724 -17611.893470 -19484.406990 -184.247710
+V 20 22248.898700 10526.504763 -14447.667566 .027735
+P 21 10983.537914 11259.514120 21392.021181 73.065465
+V 21 -23770.274243 13342.693147 4781.806132 .005169
+P 22 23496.481947 11849.134319 -3252.683950 -40.570051
+V 22 2209.466917 4675.836740 31445.771477 .089154
+P 24 -23597.973882 12221.923722 -859.116651 8.013834
+V 24 102.075872 -2828.717725 -31913.138454 .028656
+P 25 23005.729081 -7166.784694 -10777.139393 61.674013
+V 25 -9739.921246 10858.205846 -27117.982510 .005094
+P 26 -8456.770911 20996.513001 13116.433091 410.662037
+V 26 -2538.402092 -17243.342466 26074.939683 -.124071
+P 27 -8985.568952 -12880.332312 21897.615219 919.705069
+V 27 22129.790069 -14986.293445 -235.565993 .043882
+P 28 -23857.639929 -11913.243657 -1630.275584 21.777732
+V 28 -724.808708 -3381.601771 31434.742869 .016586
+P 29 -11116.547975 16690.085134 17652.870260 229.794432
+V 29 -2396.011298 -21783.610955 19432.295570 .033235
+P 30 14015.861809 18171.890825 -13688.629181 804.496012
+V 30 -16303.736504 -5429.945687 -24212.115207 .142881
+P 31 4962.756519 -24107.423435 9208.840864 38.389391
+V 31 4477.456787 12000.018091 28327.722375 .309584
+* 2004 2 29 11 30 .00000000
+P 1 803.479925 -26234.535366 -3789.443814 332.514084
+V 1 2620.411686 4858.298069 -31665.695089 .018998
+P 3 12983.309456 -11905.517224 19722.257011 89.762374
+V 3 5677.391492 24841.535718 11428.044243 .031782
+P 4 -21795.290617 1781.692605 -15276.508494 -76.339197
+V 4 15017.184689 -12262.271753 -22512.410545 -.091289
+P 5 -2451.780234 15840.472498 -21312.695978 19.706157
+V 5 -25264.303807 -9129.739815 -3733.419796 .013491
+P 6 6294.100315 25338.408755 4647.721846 -1.312177
+V 6 -2952.547431 6087.457818 -30532.261448 -.009691
+P 7 -15345.689584 -10279.827708 -18746.112757 612.103122
+V 7 -1792.388383 -24660.920651 14513.765671 -.077613
+P 8 -17110.454724 -5023.059474 19587.116013 355.801921
+V 8 20477.125935 -14711.133391 13669.110429 -.088197
+P 9 -11849.370118 20215.457977 -12555.798370 -32.284384
+V 9 -13948.419089 7157.642711 25938.373085 -.018577
+P 10 -19085.520362 4305.661272 18045.420548 40.148813
+V 10 -20164.256292 -10818.904094 -18423.142446 .005994
+P 11 9399.950608 -21273.451547 -12710.796009 99.770890
+V 11 14723.914236 -7941.031403 24324.367603 .025462
+P 13 -7470.600425 -24202.257536 8089.078018 -30.914450
+V 13 1067.262075 -10409.107251 -29930.370248 .002419
+P 14 14604.547593 8827.014147 -20298.325976 -18.153697
+V 14 1504.930879 25818.592063 12291.172074 -.001090
+P 15 21488.969868 -409.229183 15532.238884 232.732554
+V 15 -16289.193768 11778.232374 22281.222886 .052059
+P 16 22045.887911 -1288.700142 14835.180126 15.300857
+V 16 16164.185194 9635.739899 -23286.333401 -.003916
+P 17 -18611.607766 16546.359341 8238.884159 206.278324
+V 17 -10549.667148 2435.164723 -30049.664600 .195393
+P 18 16833.143301 17426.571880 11153.718554 -15.305537
+V 18 -13463.022569 -4531.835733 27262.202782 -.026384
+P 20 -2192.485692 -16688.763196 -20614.320545 -184.245330
+V 20 24058.124437 9925.786750 -10625.873124 .027740
+P 21 8859.336100 12524.579273 21636.742979 73.065694
+V 21 -23353.865913 14729.126545 646.381043 .005167
+P 22 23566.119437 12184.670769 -402.605070 -40.561664
+V 22 -702.418512 2836.950335 31797.825590 .089137
+P 24 -23457.199280 11882.797452 -3715.687481 8.016335
+V 24 2983.276209 -4763.798522 -31474.866699 .028847
+P 25 22047.321438 -6083.099071 -13116.021394 61.673273
+V 25 -11484.984235 13235.999425 -24779.593313 .005316
+P 26 -8733.949148 19321.345229 15338.064560 410.650957
+V 26 -3672.836123 -19914.517932 23220.941223 -.124077
+P 27 -7033.690843 -14276.682442 21695.813243 919.709108
+V 27 21180.194284 -15989.444984 -4245.707744 .043843
+P 28 -23789.093659 -12143.440818 1204.656482 21.779505
+V 28 2279.516291 -1795.123735 31474.899169 .016579
+P 29 -11394.014463 14645.365871 19247.718984 229.797213
+V 29 -3803.414233 -23574.957806 15960.085501 .033234
+P 30 12430.730908 17671.193688 -15745.971673 804.508405
+V 30 -18888.094875 -5627.560277 -21442.845953 .142868
+P 31 5407.981583 -22895.556367 11668.899506 38.416994
+V 31 5467.983553 14879.989467 26258.345931 .309576
+* 2004 2 29 11 45 .00000000
+P 1 1068.960039 -25644.350730 -6598.345331 332.516245
+V 1 3346.456739 8228.440674 -30663.811298 .018806
+P 3 13556.208936 -9632.725849 20575.938876 89.764748
+V 3 7056.516486 25578.926675 7516.001022 .031823
+P 4 -20384.952073 577.856489 -17167.039105 -76.347446
+V 4 16243.075241 -14488.186344 -19438.692262 -.091321
+P 5 -4756.814838 15070.406398 -21466.519202 19.706668
+V 5 -25878.413902 -7951.863822 320.841888 .013675
+P 6 6017.461947 25738.146026 1867.536493 -1.313547
+V 6 -3260.930811 2790.753147 -31160.596546 -.009821
+P 7 -15545.882739 -12413.336505 -17278.119953 612.095634
+V 7 -2609.905013 -22680.995846 18058.040989 -.077635
+P 8 -15250.328738 -6433.010849 20643.696865 355.794193
+V 8 20774.398763 -16592.828649 9774.294699 -.088262
+P 9 -12985.688347 20804.980775 -10120.077425 -32.287015
+V 9 -11301.727999 5866.834904 28113.167608 -.018448
+P 10 -20834.264231 3422.677422 16237.886939 40.150017
+V 10 -18612.741039 -8815.730706 -21685.847629 .006164
+P 11 10616.628126 -21930.199408 -10417.834691 99.773247
+V 11 12313.447148 -6584.252594 26556.891565 .025472
+P 13 -7381.558606 -24987.475510 5333.679948 -30.914069
+V 13 983.358490 -7020.137016 -31212.902762 .002409
+P 14 14794.051594 11077.048984 -19019.855203 -18.153980
+V 14 2664.211273 24102.648746 16078.191345 -.001096
+P 15 19960.160435 750.108567 17397.319363 232.737313
+V 15 -17601.290443 13985.537740 19103.345386 .052370
+P 16 23409.249171 -506.521926 12618.343744 15.300328
+V 16 14059.041508 7773.485258 -25906.541203 -.003926
+P 17 -19420.483475 16708.667255 5468.786829 206.295794
+V 17 -7431.711796 1097.124438 -31416.956097 .195374
+P 18 15489.285739 16994.172738 13505.573303 -15.307784
+V 18 -16379.476238 -5003.355717 24926.821593 -.026385
+P 20 39.027375 -15835.435489 -21391.640667 -184.242769
+V 20 25457.481514 8986.040076 -6623.391356 .027743
+P 21 6793.705619 13902.219619 21507.632695 73.066714
+V 21 -22475.874999 15831.294145 -3513.572160 .005169
+P 22 23364.047276 12370.713363 2454.441125 -40.553832
+V 22 -3813.995852 1361.772218 31600.741368 .089116
+P 24 -23069.894542 11355.247419 -6508.246425 8.019527
+V 24 5567.861653 -7004.805805 -30492.033663 .029209
+P 25 20952.036069 -4783.478661 -15224.122933 61.674003
+V 25 -12777.182606 15641.185588 -21996.733290 .005618
+P 26 -9126.114391 17425.281971 17283.793642 410.640493
+V 26 -5081.257853 -22140.183563 19953.581386 -.124089
+P 27 -5184.008948 -15747.699591 21134.925497 919.713240
+V 27 19868.500919 -16635.212483 -8204.573035 .043798
+P 28 -23442.965446 -12247.979187 4019.276837 21.780726
+V 28 5429.017094 -595.188110 30984.361671 .016572
+P 29 -11805.944701 12461.545639 20517.820900 229.800050
+V 29 -5369.980442 -24868.440508 12225.839033 .033229
+P 30 10623.248965 17170.918911 -17537.595861 804.521015
+V 30 -21231.217705 -5426.077247 -18315.576883 .142856
+P 31 5955.415504 -21439.288305 13921.185174 38.444964
+V 31 6738.773638 17418.281013 23717.357857 .309569
+* 2004 2 29 12 0 .00000000
+P 1 1417.397506 -24759.979240 -9292.908495 332.517361
+V 1 4457.086277 11380.069040 -29128.200098 .018624
+P 3 14252.708990 -7316.876057 21071.391338 89.767188
+V 3 8409.867089 25798.072660 3479.154351 .031920
+P 4 -18886.183647 -824.522911 -18765.331123 -76.356022
+V 4 16981.345171 -16658.811082 -16027.104091 -.091351
+P 5 -7095.017362 14413.508950 -21254.940897 19.707015
+V 5 -25997.167886 -6628.427922 4375.208339 .013972
+P 6 5695.347536 25841.299653 -944.997948 -1.313898
+V 6 -3961.555337 -487.471923 -31249.668042 -.009984
+P 7 -15806.210751 -14350.983819 -15505.612184 612.088457
+V 7 -3119.164416 -20320.707849 21270.999982 -.077658
+P 8 -13385.975010 -8003.306163 21341.003783 355.786355
+V 8 20575.218332 -18259.298494 5696.779499 -.088332
+P 9 -13884.799009 21258.097485 -7509.648517 -32.288811
+V 9 -8692.210944 4130.290540 29814.198623 -.018233
+P 10 -22421.240870 2715.168207 14153.263654 40.150088
+V 10 -16576.040633 -6934.362712 -24572.248975 .006228
+P 11 11617.660794 -22446.522538 -7944.333157 99.775240
+V 11 9945.830225 -4824.878329 28330.430348 .025476
+P 13 -7280.480846 -25463.789927 2486.836561 -30.913892
+V 13 1335.983553 -3561.477163 -31959.700672 .002397
+P 14 15075.423469 13152.083303 -17412.614715 -18.154003
+V 14 3534.490588 21940.285733 19586.597781 -.001103
+P 15 18335.902697 2106.850938 18960.569732 232.741529
+V 15 -18408.513427 16148.914067 15583.313092 .052692
+P 16 24564.043743 116.661471 10185.278839 15.300383
+V 16 11538.697429 6115.366705 -28084.463173 -.003936
+P 17 -19951.984249 16730.890242 2600.628857 206.313773
+V 17 -4402.537728 -671.968333 -32224.717244 .195355
+P 18 13890.023359 16538.983374 15627.765703 -15.309970
+V 18 -19123.211125 -5041.617071 22165.647273 -.026395
+P 20 2375.818736 -15079.352849 -21803.150859 -184.239887
+V 20 26389.278822 7777.394999 -2508.297694 .027741
+P 21 4826.011038 15363.476562 21005.737755 73.067186
+V 21 -21187.274565 16576.021295 -7625.601763 .005161
+P 22 22876.327384 12441.908367 5269.213216 -40.546103
+V 22 -7034.495047 289.944847 30860.122731 .089099
+P 24 -22465.983913 10614.944941 -9188.299841 8.021228
+V 24 7786.277730 -9478.324394 -28977.724841 .029352
+P 25 19761.562556 -3269.707085 -17063.517942 61.675767
+V 25 -13598.880518 17978.975367 -18816.969318 .005914
+P 26 -9654.395651 15351.377125 18919.180090 410.629847
+V 26 -6683.358319 -23857.662330 16335.466797 -.124108
+P 27 -3466.311259 -17258.608157 20222.453499 919.717322
+V 27 18258.783254 -16867.684526 -12047.998714 .043757
+P 28 -22810.225678 -12263.014110 6766.215380 21.782354
+V 28 8633.248136 190.693942 29973.228597 .016567
+P 29 -12362.763280 10184.870915 21442.380951 229.803174
+V 29 -7008.162562 -25635.040744 8292.048091 .033225
+P 30 8618.691386 16705.266152 -19033.604111 804.533432
+V 30 -23255.351506 -4866.191161 -14882.753226 .142844
+P 31 6627.388816 -19772.643519 15925.231923 38.472589
+V 31 8223.455868 19544.496931 20750.258941 .309561
+* 2004 2 29 12 15 .00000000
+P 1 1881.308638 -23605.197451 -11826.147333 332.520194
+V 1 5902.952912 14223.433263 -27083.762595 .018590
+P 3 15066.673496 -5004.421424 21200.579523 89.770997
+V 3 9652.958258 25506.191092 -611.250689 .032030
+P 4 -17342.856080 -2416.284855 -20043.462070 -76.364319
+V 4 17235.337007 -18681.378598 -12333.826678 -.091381
+P 5 -9420.926408 13879.160657 -20681.032164 19.708712
+V 5 -25603.882790 -5242.676846 8361.249849 .014276
+P 6 5293.142996 25653.774583 -3741.096861 -1.315628
+V 6 -5036.232409 -3653.398197 -30795.506397 -.010123
+P 7 -16096.566590 -16062.020657 -13460.932539 612.081546
+V 7 -3270.099175 -17659.275463 24097.812895 -.077683
+P 8 -11560.685200 -9710.622764 21665.764944 355.778142
+V 8 19913.418352 -19624.020684 1507.623466 -.088406
+P 9 -14554.064273 21536.019172 -4768.809731 -32.289360
+V 9 -6208.420376 1980.546925 31005.909995 -.018028
+P 10 -23804.823502 2168.269708 11827.593977 40.150920
+V 10 -14102.256918 -5260.054737 -27035.161635 .006236
+P 11 12410.619334 -22787.616605 -5333.080646 99.778025
+V 11 7702.693527 -2697.321396 29613.477534 .025483
+P 13 -7128.024587 -25629.498555 -402.621447 -30.913968
+V 13 2123.203289 -134.650152 -32158.646715 .002387
+P 14 15419.621390 15015.017374 -15504.454124 -18.153996
+V 14 4050.647063 19402.232080 22755.648838 -.001110
+P 15 16661.822533 3652.701849 20193.839246 232.745969
+V 15 -18709.884736 18172.005448 11780.921753 .052966
+P 16 25475.645806 602.528258 7577.553334 15.299878
+V 16 8666.501963 4732.953634 -29782.228203 -.003945
+P 17 -20218.536590 16576.106577 -314.300732 206.330994
+V 17 -1559.606473 -2827.329896 -32454.145562 .195336
+P 18 12054.995803 16098.837690 17483.982310 -15.312125
+V 18 -21604.262721 -4675.230051 19024.432492 -.026400
+P 20 4773.794829 -14441.175729 -21841.852730 -184.237200
+V 20 26811.554532 6379.928136 1649.491418 .027736
+P 21 2990.365392 16873.341718 20138.638702 73.067016
+V 21 -19553.421662 16902.528769 -11617.200765 .005153
+P 22 22097.440996 12435.681013 7993.396493 -40.538058
+V 22 -10268.181920 -356.586301 29590.903967 .089080
+P 24 -21681.018927 9644.720386 -11708.963398 8.024788
+V 24 9583.442444 -12099.166771 -26954.608584 .029608
+P 25 18518.340810 -1552.139794 -18600.933769 61.677875
+V 25 -13951.101737 20154.325209 -15295.993174 .006053
+P 26 -10332.246113 13147.467448 20215.724162 410.618336
+V 26 -8389.509201 -25023.680079 12435.728332 -.124133
+P 27 -1904.158609 -18770.203919 18971.665003 919.721838
+V 27 16424.953059 -16644.715063 -15712.153402 .043710
+P 28 -21890.138534 -12226.396072 9399.378728 21.784058
+V 28 11798.899617 552.449787 28459.719229 .016558
+P 29 -13066.829781 7863.392185 22006.357548 229.806127
+V 29 -8626.860294 -25863.781720 4223.916587 .033218
+P 30 6448.899116 16304.127621 -20209.032634 804.545957
+V 30 -24892.786596 -4002.602580 -11201.432334 .142835
+P 31 7439.741836 -17935.309740 17645.064661 38.500584
+V 31 9844.685500 21203.606469 17411.172202 .309554
+* 2004 2 29 12 30 .00000000
+P 1 2488.053521 -22211.380040 -14153.737590 332.524141
+V 1 7619.188150 16679.980103 -24564.676902 .018219
+P 3 15984.501970 -2740.358104 20961.912018 89.774420
+V 3 10704.968674 24728.316658 -4683.494162 .032000
+P 4 -15797.732518 -4180.033600 -20978.807193 -76.371907
+V 4 17026.243046 -20466.246303 -8420.264650 -.091407
+P 5 -11688.359419 13469.142963 -19753.999271 19.711139
+V 5 -24699.289875 -3879.678116 12211.241330 .014502
+P 6 4778.645031 25189.746619 -6472.054740 -1.317507
+V 6 -6449.727426 -6617.636287 -29803.863595 -.010287
+P 7 -16383.028878 -17523.263417 -11181.002787 612.074627
+V 7 -3028.286314 -14785.020906 26491.690029 -.077711
+P 8 -9813.928254 -11524.257302 21611.243187 355.770087
+V 8 18839.838599 -20610.080907 -2719.239963 -.088477
+P 9 -15008.573772 21603.691385 -1944.687898 -32.290885
+V 9 -3932.947186 -532.134537 31661.162594 -.017952
+P 10 -24948.433025 1759.881632 9300.842965 40.151480
+V 10 -11255.110684 -3867.856835 -29034.718164 .006326
+P 11 13010.129297 -22922.469804 -2629.316752 99.780371
+V 11 5658.670534 -251.199033 30383.176381 .025486
+P 13 -6885.869231 -25491.971938 -3285.190366 -30.913948
+V 13 3324.311323 3160.871977 -31806.916326 .002382
+P 14 15792.387748 16635.702528 -13328.428010 -18.154319
+V 14 4162.295477 16571.731039 25530.590856 -.001117
+P 15 14982.776400 5370.790113 21074.629235 232.752101
+V 15 -18523.432811 19961.255072 7761.802172 .053313
+P 16 26115.745604 978.645644 4839.785847 15.299511
+V 16 5519.042512 3685.112255 -30970.017880 -.003955
+P 17 -20240.975250 16212.250746 -3223.541026 206.348192
+V 17 1008.357704 -5306.166697 -32098.093310 .195317
+P 18 10011.611053 15708.246401 19042.322453 -15.315035
+V 18 -23740.502956 -3949.187444 15555.365504 -.026410
+P 20 7185.856392 -13934.028833 -21507.080539 -184.234318
+V 20 26699.693877 4880.466402 5779.358170 .027729
+P 21 1314.444374 18391.996550 18920.393481 73.067511
+V 21 -17651.546369 16765.105804 -15417.163970 .005149
+P 22 21030.573966 12390.608450 10580.425446 -40.529836
+V 22 -13417.960198 -574.216780 27816.941574 .089062
+P 24 -20754.772338 8435.483605 -14025.819248 8.027217
+V 24 10920.951347 -14773.542547 -24454.785214 .029816
+P 25 17263.876978 350.449692 -19808.438293 61.678586
+V 25 -13853.501248 22075.861596 -11496.603454 .006052
+P 26 -11164.781116 10864.349770 21151.378091 410.607323
+V 26 -10104.736332 -25615.910602 8328.320872 -.124158
+P 27 -514.111996 -20240.182761 17401.523854 919.725874
+V 27 14448.191084 -15939.846246 -19134.448185 .043659
+P 28 -20690.370381 -12176.087538 11874.665302 21.785326
+V 28 14833.119450 497.644840 26469.809144 .016551
+P 29 -13912.275117 5545.324481 22200.663728 229.809360
+V 29 -10134.895447 -25561.970005 88.406961 .033205
+P 30 4151.262423 15991.922591 -21044.228679 804.558904
+V 30 -26088.283259 -2901.830423 -7332.435896 .142829
+P 31 8400.982065 -15971.150120 19049.924906 38.528492
+V 31 11517.438964 22358.161705 13761.688187 .309541
+* 2004 2 29 12 45 .00000000
+P 1 3258.547791 -20616.352044 -16234.829802 332.524670
+V 1 9527.920888 18685.385248 -21613.879937 .017639
+P 3 16985.609556 -566.667892 20360.223901 89.776534
+V 3 11492.039690 23506.154550 -8666.701643 .031896
+P 4 -14290.893247 -6090.577576 -21554.469647 -76.380376
+V 4 16392.300659 -21930.386395 -4352.140085 -.091437
+P 5 -13851.990421 13177.625077 -18489.070801 19.711395
+V 5 -23301.660706 -2622.964214 15859.263025 .014686
+P 6 4123.544130 24471.107682 -9090.123762 -1.317655
+V 6 -8151.013548 -9298.658876 -28290.260692 -.010391
+P 7 -16629.332800 -18719.753473 -8706.568494 612.067805
+V 7 -2376.224689 -11791.787457 28414.537359 -.077744
+P 8 -8179.904714 -13407.141255 21177.432986 355.761913
+V 8 17420.325875 -21153.457971 -6908.392211 -.088543
+P 9 -15270.454835 21431.326580 913.561900 -32.293503
+V 9 -1939.052586 -3341.289616 31762.167436 -.017947
+P 10 -25821.841743 1461.716137 6616.214338 40.153083
+V 10 -8111.588387 -2819.786269 -30538.887529 .006268
+P 11 13437.108477 -22825.155161 120.068596 99.782515
+V 11 3878.503686 2450.456187 30625.770222 .025486
+P 13 -6518.375832 -25067.302784 -6111.531344 -30.913616
+V 13 4900.612229 6231.330611 -30910.986511 .002378
+P 14 16155.673920 17991.927048 -10922.212861 -18.154372
+V 14 3835.869175 13541.351838 27863.617891 -.001124
+P 15 13341.165205 7236.094393 21586.568521 232.756748
+V 15 -17885.521245 21429.732070 3596.288157 .053545
+P 16 26463.420008 1277.218048 2018.894887 15.299293
+V 16 2183.380146 3015.685188 -31626.623648 -.003967
+P 17 -20047.583698 15613.630204 -6074.527784 206.365214
+V 17 3225.141024 -8030.127017 -31161.445933 .195302
+P 18 7794.199519 15396.998069 20275.843335 -15.317642
+V 18 -25460.712570 -2923.087873 11816.295692 -.026415
+P 20 9563.508455 -13563.047324 -20804.512612 -184.231364
+V 20 26047.402807 3369.139588 9811.132623 .027722
+P 21 -181.449541 19876.268254 17371.357769 73.068078
+V 21 -15567.727207 16135.223768 -18956.980223 .005146
+P 22 19687.576183 12344.766984 12986.263046 -40.522301
+V 22 -16388.989441 -377.607938 25570.465258 .089045
+P 24 -19729.661170 6986.839433 -16097.750429 8.031035
+V 24 11778.651800 -17402.647297 -21519.430277 .029979
+P 25 16037.098015 2411.373791 -20664.025622 61.678523
+V 25 -13343.534711 23659.711991 -7487.473900 .005989
+P 26 -12148.483314 8553.861619 21710.900787 410.596272
+V 26 -11732.873457 -25633.573833 4090.251497 -.124185
+P 27 694.792998 -21624.621317 15536.533717 919.729664
+V 27 12414.040244 -14743.747905 -22254.539573 .043615
+P 28 -19226.800121 -12148.590184 14150.644065 21.787006
+V 28 17646.798059 51.051152 24036.788605 .016545
+P 29 -14885.150604 3277.415012 22022.282680 229.812423
+V 29 -11444.468363 -24754.799355 -4046.708437 .033189
+P 30 1767.505845 15786.648003 -21525.149989 804.571519
+V 30 -26801.054665 -1639.610535 -3339.471042 .142821
+P 31 9511.755317 -13926.549362 20114.882920 38.556342
+V 31 13152.665908 22989.750438 9869.501776 .309526
+* 2004 2 29 13 0 .00000000
+P 1 4206.227096 -18862.991778 -18032.807049 332.526397
+V 1 11541.353075 20192.040957 -18282.357369 .017217
+P 3 18043.191102 1479.106354 19406.643092 89.780100
+V 3 11950.267981 21896.295862 -12492.112181 .031850
+P 4 -12858.262524 -8115.675034 -21759.624244 -76.388556
+V 4 15387.332504 -23000.682210 -198.479262 -.091466
+P 5 -15868.909994 12991.452596 -16907.285382 19.711965
+V 5 -21446.283199 -1551.203752 19242.306506 .014891
+P 6 3304.764217 23526.613856 -11549.387502 -1.320215
+V 6 -10075.190811 -11625.950440 -26279.830696 -.010518
+P 7 -16798.423415 -19645.087632 -6081.395705 612.060621
+V 7 -1313.889376 -8775.232725 29837.378596 -.077776
+P 8 -6686.310514 -15317.131842 20371.128173 355.753687
+V 8 15733.090709 -21205.832615 -10984.406643 -.088613
+P 9 -15367.891540 20995.766152 3755.634188 -32.294912
+V 9 -287.588404 -6366.506958 31301.263153 -.017817
+P 10 -26402.243625 1240.576663 3819.427449 40.154181
+V 10 -4759.130234 -2162.582775 -31523.860514 .006180
+P 11 13717.761035 -22475.936675 2867.367841 99.784588
+V 11 2414.547762 5333.529028 30336.876726 .025489
+P 13 -5994.144757 -24379.635035 -8833.302305 -30.913208
+V 13 6796.894431 8992.114427 -29486.495163 .002375
+P 14 16469.222814 19070.098363 -8327.443446 -18.154497
+V 14 3056.034796 10409.449584 29714.700527 -.001133
+P 15 11775.342887 9216.204859 21719.780049 232.761051
+V 15 -16849.419394 22500.757227 -641.865043 .053706
+P 16 26505.934753 1533.651903 -836.695995 15.298756
+V 16 -1246.129734 2751.746600 -31739.866597 -.003977
+P 17 -19672.817954 14762.186449 -8815.680060 206.383297
+V 17 5030.274101 -10908.506687 -29661.141436 .195286
+P 18 5442.907782 15188.945807 21163.031029 -15.319775
+V 18 -26707.273885 -1668.799579 7869.862289 -.026424
+P 20 11858.527617 -13325.239793 -19746.079463 -184.229003
+V 20 24867.001222 1935.809983 13676.236617 .027712
+P 21 -1485.031899 21281.246670 15517.879689 73.068631
+V 21 -13393.466501 15002.984686 -22172.225422 .005132
+P 22 18088.599775 12334.118057 15170.124986 -40.514236
+V 22 -19092.181400 201.090482 22891.407094 .089024
+P 24 -18649.059832 5307.366250 -17887.733556 8.033642
+V 24 12155.501222 -19886.533683 -18198.223230 .029960
+P 25 14872.816383 4596.868801 -21152.082453 61.679018
+V 25 -12474.849397 24833.062591 -3341.739605 .006066
+P 26 -13271.282214 6266.950750 21886.052474 410.584866
+V 26 -13180.692845 -25097.087566 -200.194579 -.124213
+P 27 1721.298075 -22879.562366 13406.487579 919.732368
+V 27 10409.242289 -13065.092763 -25015.418560 .043569
+P 28 -17523.039562 -12177.438729 16189.190340 21.788307
+V 28 20157.708160 -746.393006 21200.751239 .016534
+P 29 -15963.883031 1103.374412 21474.298241 229.815741
+V 29 -12474.481801 -23484.336614 -8113.788077 .033171
+P 30 -657.683021 15699.178537 -21643.583926 804.584318
+V 30 -27006.242621 -297.969938 711.775248 .142814
+P 31 10764.655247 -11848.666247 20821.319523 38.584389
+V 31 14661.124389 23099.614508 5806.888056 .309508
+* 2004 2 29 13 15 .00000000
+P 1 5336.308940 -16997.638616 -19515.970520 332.528924
+V 1 13565.271737 21170.888430 -14628.251901 .016697
+P 3 19125.236399 3365.098948 18118.345874 89.782343
+V 3 12028.277064 19967.877786 -16094.269721 .031767
+P 4 -11530.294851 -10217.062736 -21589.765513 -76.396643
+V 4 14078.672167 -23616.901540 3969.498824 -.091497
+P 5 -17700.108984 12890.729751 -15035.180242 19.712848
+V 5 -19184.295500 -735.026461 22301.369691 .015129
+P 6 2305.602214 22390.767841 -13806.611062 -1.321031
+V 6 -12146.000941 -13542.737143 -23806.951315 -.010477
+P 7 -16854.026507 -20301.415320 -3351.439724 612.053017
+V 7 141.430593 -5829.155915 30740.555628 -.077799
+P 8 -5353.364040 -17208.529139 19205.854146 355.745156
+V 8 13865.520221 -20736.785658 -14873.376183 -.088671
+P 9 -15333.885271 20281.608650 6531.012057 -32.296014
+V 9 975.641042 -9516.355898 30281.488391 -.017757
+P 10 -26675.055005 1059.815017 957.962158 40.153416
+V 10 -1292.460010 -1925.968721 -31974.363250 .005977
+P 11 13882.368680 -21862.144509 5564.904948 99.787037
+V 11 1304.773950 8315.604375 29521.578345 .025493
+P 13 -5287.411919 -23460.199006 -11403.970640 -30.912957
+V 13 8943.534504 11370.836677 -27557.955292 .002378
+P 14 16692.246609 19865.595983 -5588.981026 -18.154659
+V 14 1826.385294 7276.413557 31052.269577 -.001140
+P 15 10318.186277 11272.395981 21471.126384 232.767218
+V 15 -15483.158052 23111.166480 -4876.886360 .053869
+P 16 26239.246280 1784.992016 -3677.884227 15.298063
+V 16 -4671.312950 2902.504614 -31306.868635 -.003986
+P 17 -19155.770213 13648.439321 -11397.471932 206.400520
+V 17 6381.553282 -13842.054724 -27625.820033 .195272
+P 18 3002.371007 15101.026483 21688.188955 -15.322105
+V 18 -27438.381836 -267.644342 3782.533158 -.026429
+P 20 14024.624511 -13209.673148 -18349.769764 -184.226656
+V 20 23189.023785 666.511414 17308.807400 .027707
+P 21 -2592.359841 22561.998514 13391.870556 73.069066
+V 21 -11222.001854 13377.824771 -25003.917797 .005117
+P 22 16261.433005 12390.994208 17095.138794 -40.505861
+V 22 -21447.446335 1113.677131 19826.628269 .089006
+P 24 -17555.570447 3414.539320 -19363.570350 8.037728
+V 24 12069.652018 -22128.108328 -14548.560333 .029915
+P 25 13800.372342 6867.234260 -21263.720523 61.679670
+V 25 -11314.960577 25537.273026 864.557672 .006110
+P 26 -14512.997128 4051.816915 21675.631959 410.573493
+V 26 -14361.820958 -24046.822915 -4465.166967 -.124237
+P 27 2571.881430 -23962.650921 11046.115891 919.736414
+V 27 8518.416714 -10930.797541 -27364.570843 .043534
+P 28 -15609.681621 -12291.814339 17956.072662 21.789764
+V 28 22293.397861 -1839.193474 18008.018081 .016529
+P 29 -17120.018823 -937.574251 20565.841143 229.818377
+V 29 -13153.624487 -21807.926922 -12046.252285 .033152
+P 30 -3078.132808 15732.840943 -21397.284021 804.597156
+V 30 -26695.837694 1037.925174 4754.564998 .142808
+P 31 12144.379373 -9783.669208 21157.265521 38.612157
+V 31 15957.216256 22708.408354 1649.071975 .309490
+* 2004 2 29 13 30 .00000000
+P 1 6645.384969 -15068.368605 -20658.137248 332.529166
+V 1 15502.854766 21612.511029 -10715.806288 .016125
+P 3 20195.754267 5066.127838 16518.209397 89.784221
+V 3 11689.272881 17799.791342 -19412.117958 .031682
+P 4 -10330.873226 -12351.733078 -21046.851753 -76.404871
+V 4 12544.540982 -23734.224270 8079.579597 -.091528
+P 5 -19311.829477 12849.675837 -12904.382408 19.713501
+V 5 -16580.909201 -234.125412 24982.522049 .015450
+P 6 1116.618041 21102.479260 -15822.048714 -1.323148
+V 6 -14278.839604 -15008.175124 -20914.668997 -.010439
+P 7 -16762.173834 -20699.112296 -564.005133 612.046479
+V 7 1955.974379 -3042.005356 31113.726746 -.077818
+P 8 -4193.139733 -19033.759306 17701.661880 355.736981
+V 8 11910.577007 -19735.275072 -18504.449440 -.088715
+P 9 -15204.803150 19282.047914 9189.946679 -32.298636
+V 9 1821.932600 -12691.884193 28716.903665 -.017751
+P 10 -26634.417078 880.916685 -1919.716276 40.154625
+V 10 2189.843946 -2121.578356 -31883.762857 .005946
+P 11 13963.927928 -20978.783648 8165.884317 99.789107
+V 11 571.356543 11309.087446 28194.326215 .025498
+P 13 -4379.230153 -22346.089944 -13779.593871 -30.913005
+V 13 11259.151984 13309.942398 -25158.330436 .002378
+P 14 16785.133315 20382.782805 -2754.127015 -18.154852
+V 14 169.385747 4240.852096 31853.742771 -.001146
+P 15 8995.887317 13360.971046 20844.324309 232.769961
+V 15 -13866.748284 23214.061491 -9032.486069 .054068
+P 16 25668.182326 2068.290179 -6455.731615 15.297764
+V 16 -7993.816918 3458.898590 -30334.165988 -.003994
+P 17 -18538.442815 12272.068863 -13773.456379 206.418353
+V 17 7256.715701 -16727.187134 -25095.114596 .195261
+P 18 520.211354 15142.551330 21841.736112 -15.324171
+V 18 -27629.686088 1192.799984 -376.437794 -.026437
+P 20 16019.039567 -13197.972582 -16639.336665 -184.224636
+V 20 21061.140972 -359.969474 20646.785741 .027696
+P 21 -3507.817561 23675.309450 11030.256877 73.069554
+V 21 -9144.507606 11288.424183 -27399.794416 .005100
+P 22 14240.557624 12542.741633 18728.929459 -40.497832
+V 22 -23386.574047 2297.929461 16429.062438 .088978
+P 24 -16489.321376 1334.295060 -20498.538866 8.040855
+V 24 11557.739175 -24037.084847 -10634.559032 .029776
+P 25 12842.513812 9178.226960 -20996.964596 61.680151
+V 25 -9942.315750 25730.397747 5054.116134 .006225
+P 26 -15846.116380 1952.202619 21085.364553 410.562178
+V 26 -15200.268821 -22541.056924 -8628.848100 -.124262
+P 27 3260.415273 -24834.761395 8494.627980 919.740568
+V 27 6820.698431 -8385.576026 -29255.183502 .043504
+P 28 -13523.302773 -12515.326608 19421.485015 21.791545
+V 28 23993.743714 -3159.425263 14510.500156 .016524
+P 29 -18319.231111 -2811.978740 19311.951960 229.821387
+V 29 -13423.113862 -19796.071675 -15779.503361 .033128
+P 30 -5447.724207 15883.278288 -20790.021996 804.610286
+V 30 -25879.011508 2283.042495 8722.058324 .142803
+P 31 13628.223488 -7775.031709 21117.591817 38.640094
+V 31 16962.641608 21855.118507 -2527.449926 .309474
+* 2004 2 29 13 45 .00000000
+P 1 8121.363122 -13123.207048 -21439.136092 332.528396
+V 1 17258.612506 21527.435918 -6614.163305 .015724
+P 3 21216.155663 6564.433777 14634.370592 89.787347
+V 3 10912.512101 15477.554132 -22389.982829 .031706
+P 4 -9276.464891 -14473.414443 -20139.338123 -76.412875
+V 4 10870.965833 -23325.214008 12059.818631 -.091559
+P 5 -20676.730372 12837.725549 -10551.106152 19.716602
+V 5 -13713.077482 -94.753287 27237.918859 .015927
+P 6 -263.764345 19703.556229 -17560.190626 -1.321532
+V 6 -16384.143120 -15998.897472 -17653.923072 -.010293
+P 7 -16492.624262 -20856.153064 2233.085846 612.039986
+V 7 4080.968715 -493.694687 30955.687267 -.077839
+P 8 -3209.238732 -20745.155203 15884.785000 355.728458
+V 8 9962.937555 -18210.312939 -21811.329928 -.088755
+P 9 -15018.772632 17999.375903 11684.453073 -32.301297
+V 9 2241.031148 -15790.545300 26632.625194 -.017586
+P 10 -26283.384542 665.150795 -4764.936164 40.155847
+V 10 5588.874534 -2742.574310 -31254.141170 .005790
+P 11 13996.688632 -19828.851268 10625.222703 99.791582
+V 11 219.899581 14224.534215 26378.659938 .025500
+P 13 -3258.390603 -21078.836731 -15919.556149 -30.913308
+V 13 13653.713953 14768.750077 -22328.479171 .002379
+P 14 16711.114890 20634.675836 128.203362 -18.154865
+V 14 -1874.423367 1395.864012 32105.886048 -.001153
+P 15 7827.020210 15434.826114 19849.921995 232.774330
+V 15 -12088.873983 22780.915761 -13033.405822 .054549
+P 16 24806.292688 2418.969696 -9122.310590 15.297199
+V 16 -11118.776118 4393.912620 -28837.658468 -.004003
+P 17 -17863.912900 10642.107634 -15901.210223 206.436124
+V 17 7654.184023 -19460.392683 -22118.613001 .195250
+P 18 -1954.583136 15314.797261 21620.408215 -15.326803
+V 18 -27275.295585 2622.163967 -4536.123849 -.026453
+P 20 17804.012398 -13265.117973 -14643.908370 -184.222174
+V 20 18546.437525 -1075.241387 23632.953084 .027688
+P 21 -4243.761089 24581.381690 8474.322570 73.070128
+V 21 -7246.350713 8781.810116 -29315.467314 .005085
+P 22 12065.967135 12810.569082 20044.124888 -40.489900
+V 22 -24855.651013 3680.142746 12756.793597 .088952
+P 24 -15486.365412 -899.751927 -21271.946305 8.044373
+V 24 10673.383039 -25533.718453 -6525.870147 .029561
+P 25 12014.563048 11482.650535 -20356.790140 61.679870
+V 25 -8442.881880 25388.993012 9150.058478 .006391
+P 26 -17236.871511 5.899595 20127.652968 410.550881
+V 26 -15633.436725 -20653.249356 -12618.894251 -.124285
+P 27 3807.523784 -25461.552298 5795.144029 919.744367
+V 27 5386.466058 -5490.772702 -30647.363265 .043472
+P 28 -11305.254189 -12865.007392 20560.518999 21.793073
+V 28 25213.080519 -4629.302715 10765.001099 .016518
+P 29 -19522.554877 -4493.228723 17733.361783 229.825075
+V 29 -13239.007360 -17529.847551 -19251.833239 .033106
+P 30 -7721.928624 16138.610155 -19831.553577 804.622925
+V 30 -24581.846258 3355.768105 12548.279364 .142801
+P 31 15186.890438 -5861.960376 20704.048504 38.668144
+V 31 17609.704200 20595.208029 -6646.577485 .309460
+* 2004 2 29 14 0 .00000000
+P 1 9743.764413 -11208.350353 -21845.190283 332.528498
+V 1 18742.299046 20945.626312 -2396.050031 .015434
+P 3 22146.740670 7850.127689 12499.702174 89.790749
+V 3 9694.136856 13089.974971 -24978.431050 .031688
+P 4 -8375.571016 -16534.200432 -18882.093515 -76.421747
+V 4 9148.349844 -22381.140966 15839.854246 -.091593
+P 5 -21774.820984 12820.832913 -8015.562315 19.718560
+V 5 -10666.687009 -347.718211 29026.741477 .016213
+P 6 -1828.972288 18237.089363 -18990.431337 -1.323656
+V 6 -18371.007468 -16509.847974 -14082.585999 -.010229
+P 7 -16020.128827 -20797.214704 4992.301880 612.032923
+V 7 6454.621716 1747.165562 30274.040154 -.077861
+P 8 -2396.812452 -22296.760210 13787.165332 355.720421
+V 8 8115.040108 -16190.800212 -24733.691739 -.088776
+P 9 -14813.990255 16445.119126 13969.294939 -32.302385
+V 9 2241.677993 -18710.382177 24064.545134 -.017333
+P 10 -25633.795320 375.223959 -7529.604331 40.156124
+V 10 8808.937865 -3763.956674 -30096.219956 .005583
+P 11 14014.652933 -18423.349990 12900.347912 99.793667
+V 11 239.333458 16974.056302 24106.750638 .025503
+P 13 -1922.048768 -19702.815183 -17787.249215 -30.912903
+V 13 16031.972825 15724.853391 -19116.477968 .002382
+P 14 16437.831414 20642.290728 3008.332293 -18.155109
+V 14 -4247.931226 -1174.457867 31805.004710 -.001159
+P 15 6821.924809 17445.170485 18505.135894 232.780650
+V 15 -10243.196910 21802.931732 -16806.978247 .054954
+P 16 23675.374315 2869.250224 -11631.538379 15.296590
+V 16 -13958.360112 5663.598649 -26842.391415 -.004009
+P 17 -17174.473184 8776.736299 -17743.172698 206.453413
+V 17 7592.852213 -21942.605536 -18754.541444 .195237
+P 18 -4373.339530 15610.917287 21027.355936 -15.329757
+V 18 -26388.098367 3930.891183 -8625.096199 -.026461
+P 20 19348.069505 -13380.506932 -12397.508240 -184.219519
+V 20 15721.109094 -1424.066551 26215.902013 .027677
+P 21 -4819.834819 25245.415384 5768.954060 73.070612
+V 21 -5603.567781 5921.678653 -30715.419487 .005072
+P 22 9781.791456 13208.644431 21018.776035 -40.481713
+V 22 -25816.934075 5178.077257 8872.084770 .088929
+P 24 -14577.246290 -3247.411693 -21669.567197 8.047800
+V 24 9484.957809 -26552.151752 -2296.323248 .029275
+P 25 11323.905976 13732.072194 -19355.009785 61.681487
+V 25 -6906.416024 24509.125030 13077.598359 .006618
+P 26 -18646.554168 -1756.474781 18821.206725 410.539438
+V 26 -15614.487702 -18468.793900 -16367.690490 -.124306
+P 27 4239.656031 -25814.883358 2994.018546 919.748215
+V 27 4274.303754 -2322.474149 -31509.321687 .043440
+P 28 -9000.282961 -13350.552939 21353.570538 21.795155
+V 28 25921.836622 -6164.112097 6832.460069 .016508
+P 29 -20687.807676 -5962.376936 15856.191856 229.828499
+V 29 -12574.003095 -15097.948553 -22405.316066 .033080
+P 30 -9859.295418 16479.884748 -18537.496784 804.635689
+V 30 -22846.464456 4181.090769 16169.094630 .142796
+P 31 16785.575129 -4078.021312 19925.156373 38.696015
+V 31 17844.122164 18998.087990 -10634.209958 .309444
+* 2004 2 29 14 15 .00000000
+P 1 11484.364115 -9366.469464 -21869.177522 332.529871
+V 1 19872.626856 19915.182546 1863.622053 .015243
+P 3 22948.231242 8921.333398 10151.217253 89.793210
+V 3 8047.355358 10725.741220 -27134.997018 .031558
+P 4 -7628.495795 -18486.266237 -17296.198164 -76.429999
+V 4 7467.826710 -20912.586246 19352.240653 -.091626
+P 5 -22594.124181 12762.929687 -5341.287235 19.719364
+V 5 -7533.374089 -1006.968319 30316.039440 .016460
+P 6 -3564.330171 16745.794473 -20087.644401 -1.323423
+V 6 -20150.885018 -16554.361658 -10264.342528 -.010302
+P 7 -15325.495896 -20552.553454 7667.175723 612.026138
+V 7 9004.553957 3625.537941 29084.745016 -.077883
+P 8 -1742.939284 -23646.079051 11445.856518 355.712555
+V 8 6453.219447 -13724.517827 -27218.466364 -.088789
+P 9 -14627.019099 14639.794309 16002.929758 -32.302398
+V 9 1851.308429 -21354.270644 21058.727740 -.017085
+P 10 -24705.826649 -23.121370 -10166.974141 40.157240
+V 10 11760.963135 -5143.470158 -28429.177047 .005388
+P 11 14050.095228 -16780.996532 14951.948838 99.795974
+V 11 602.483118 19474.662058 21418.779337 .025504
+P 13 -376.030939 -18263.565963 -19350.687327 -30.912650
+V 13 18297.109006 16174.832257 -15576.832825 .002384
+P 14 15938.730170 20433.687206 5836.680107 -18.155542
+V 14 -6879.607938 -3398.155734 30956.963415 -.001166
+P 15 5982.434032 19343.332809 16833.548565 232.785826
+V 15 -8424.434789 20291.578079 -20284.650035 .055157
+P 16 22304.687621 3446.695414 -13939.984017 15.295777
+V 16 -16435.064507 7208.774268 -24382.170492 -.004017
+P 17 -16509.834344 6702.695422 -19267.355286 206.470892
+V 17 7110.939970 -24083.326651 -15068.231557 .195228
+P 18 -6689.377994 16016.176581 20072.135784 -15.331929
+V 18 -24999.373666 5033.847373 -12572.636307 -.026469
+P 20 20627.081536 -13509.244484 -9938.491160 -184.216757
+V 20 12671.659679 -1366.622579 28350.924172 .027664
+P 21 -5261.986974 25639.006077 2961.804289 73.071003
+V 21 -4279.723335 2785.999492 -31573.805155 .005058
+P 22 7434.779679 13743.470703 21636.687960 -40.473650
+V 22 -26250.121873 6704.201809 4840.372031 .088902
+P 24 -13785.795915 -5663.299444 -21683.953393 8.049644
+V 24 8072.713397 -27043.214866 1977.561001 .028903
+P 25 10769.824863 15878.592481 -18010.012681 61.682250
+V 25 -5422.595323 23106.536390 16765.634072 .006771
+P 26 -20033.015478 -3312.391125 17190.567643 410.528344
+V 26 -15114.021040 -16081.406500 -19813.403302 -.124325
+P 27 4587.901493 -25874.031221 140.060598 919.752056
+V 27 3528.344432 1031.070247 -31818.474335 .043413
+P 28 -6655.030622 -13973.842770 21786.675765 21.796491
+V 28 26107.617031 -7675.412598 2777.134556 .016500
+P 29 -21771.146940 -7208.680642 13711.573726 229.831509
+V 29 -11418.664464 -12593.445232 -25186.681332 .033054
+P 30 -11822.834549 16881.808927 -16929.121825 804.649004
+V 30 -20729.580370 4693.575059 19523.197619 .142790
+P 31 18385.275762 -2450.019380 18795.958909 38.723917
+V 31 17627.228257 17144.048358 -14419.736076 .309417
+* 2004 2 29 14 30 .00000000
+P 1 13308.152416 -7635.163905 -21510.761584 332.530697
+V 1 20580.626219 18500.305697 6089.206655 .015075
+P 3 23583.290845 9784.024622 7629.414617 89.796117
+V 3 6001.973024 8470.058527 -28824.773972 .031489
+P 4 -7027.448002 -20283.605366 -15408.621471 -76.438110
+V 4 5917.543617 -18949.285131 22533.771311 -.091653
+P 5 -23131.040452 12627.482010 -2574.401210 19.720374
+V 5 -4407.083672 -2068.833586 31081.449942 .016807
+P 6 -5447.435375 15270.382247 -20832.649978 -1.323539
+V 6 -21641.199618 -16163.486621 -6267.436348 -.010461
+P 7 -14396.421815 -20156.701721 10213.032391 612.018829
+V 7 11650.560900 5101.670738 27411.572953 -.077910
+P 8 -1227.338637 -24755.701224 8902.319188 355.704825
+V 8 5054.104002 -10876.314381 -29220.959138 -.088799
+P 9 -14491.152184 12612.287295 17748.385143 -32.305152
+V 9 1114.891786 -23634.013227 17670.488177 -.016986
+P 10 -23527.253982 -559.621257 -12632.395613 40.157447
+V 10 14365.673813 -6823.207758 -26280.367716 .005125
+P 11 14132.162597 -14927.637604 16744.662744 99.798474
+V 11 1267.281218 21651.399324 18362.166713 .025504
+P 13 1365.191358 -16806.080656 -20583.046644 -30.912792
+V 13 20354.442962 16134.247652 -11769.591065 .002385
+P 14 15194.245200 20042.753970 8564.620167 -18.155618
+V 14 -9686.214897 -5218.048738 29577.037566 -.001172
+P 15 5301.957957 21082.577298 14864.672810 232.791552
+V 15 -6724.386792 18278.275081 -23403.421976 .055328
+P 16 20729.893139 4172.941484 -16007.633286 15.295154
+V 16 -18484.613870 8957.332932 -21499.013192 -.004027
+P 17 -15905.469589 4454.345122 -20447.906501 206.488586
+V 17 6263.995748 -25804.297385 -11130.442497 .195222
+P 18 -8859.623051 16508.508352 18770.590691 -15.334344
+V 18 -23157.699415 5853.794709 -16309.971143 -.026476
+P 20 21625.049604 -13613.610575 -7308.904292 -184.214287
+V 20 9491.701876 -880.179025 30000.799904 .027648
+P 21 -5601.224960 25741.297972 102.394639 73.071511
+V 21 -3323.293723 -535.996017 -31875.025262 .005042
+P 22 5072.696991 14413.562905 21887.659259 -40.465852
+V 22 -26152.986742 8169.114469 729.236411 .088871
+P 24 -13128.215285 -8098.438369 -21314.605702 8.051648
+V 24 6525.372125 -26976.545879 6218.150597 .028577
+P 25 10343.678816 17876.591991 -16346.365604 61.683795
+V 25 -4077.187442 21215.971520 20148.219156 .006834
+P 26 -21352.283185 -4647.986500 15265.549909 410.517919
+V 26 -14121.013182 -13589.316165 -22900.826351 -.124351
+P 27 4886.589096 -25626.644397 -2716.338812 919.755749
+V 27 3176.138765 4472.648272 -31562.395478 .043387
+P 28 -4316.460683 -14728.754870 21851.770622 21.798146
+V 28 25775.691845 -9074.402057 -1334.277315 .016491
+P 29 -22728.709626 -8229.842597 11335.191910 229.835066
+V 29 -9782.018713 -10110.365787 -27548.160794 .033023
+P 30 -13581.244289 17313.732258 -15033.052407 804.661143
+V 30 -18300.513501 4840.015870 22553.091180 .142785
+P 31 19944.272447 -997.172342 17337.646769 38.752159
+V 31 16937.478661 15120.801763 -17937.371823 .309385
+* 2004 2 29 14 45 .00000000
+P 1 15174.575997 -6045.629154 -20776.392571 332.533035
+V 1 20812.506394 16778.610540 10205.785837 .015047
+P 3 24017.973660 10451.566563 4977.576966 89.799243
+V 3 3603.302613 6401.466781 -30020.868352 .031446
+P 4 -6556.974546 -21883.717477 -13251.782415 -76.446304
+V 4 4579.026211 -16539.198282 25326.758852 -.091677
+P 5 -23390.395448 12379.084429 237.191442 19.722399
+V 5 -1380.503874 -3511.966027 31307.776537 .017179
+P 6 -7448.850041 13848.022126 -21212.564869 -1.324472
+V 6 -22768.723967 -15384.576571 -2163.317402 -.010769
+P 7 -13228.062138 -19647.037443 12587.664984 612.011402
+V 7 14307.596875 6152.217857 25285.492216 -.077945
+P 8 -823.391238 -25594.728022 6201.624670 355.696246
+V 8 3981.438769 -7725.570741 -30705.760124 -.088816
+P 9 -14434.917464 10398.878057 19174.038857 -32.306931
+V 9 92.955875 -25474.075872 13963.178599 -.016878
+P 10 -22132.439616 -1258.174481 -14884.034583 40.158587
+V 10 16556.407550 -8731.762865 -23684.937545 .004822
+P 11 14285.611539 -12895.396618 18247.687238 99.801047
+V 11 2178.572977 23440.174912 14990.673590 .025501
+P 13 3278.858957 -15373.120607 -21463.120657 -30.912340
+V 13 22115.078748 15636.920608 -7759.365584 .002385
+P 14 14192.711774 19507.781558 11145.313026 -18.156181
+V 14 -12575.965956 -6593.788375 27689.602033 -.001180
+P 15 4765.921275 22619.853482 12633.391632 232.797147
+V 15 -5228.085257 15813.237327 -26107.161378 .055447
+P 16 18991.748820 5062.658074 -17798.597233 15.295005
+V 16 -20058.359887 10827.079138 -18242.444648 -.004030
+P 17 -15391.172760 2072.420514 -21265.521926 206.506369
+V 17 5122.172496 -27042.562317 -7015.611822 .195209
+P 18 -10846.085839 17059.371131 17144.619190 -15.337065
+V 18 -20927.185548 6324.592962 -19771.509752 -.026490
+P 20 22334.590127 -13654.649483 -4553.781764 -184.211775
+V 20 6278.478034 39.879667 31136.474261 .027635
+P 21 -5872.163547 25539.843202 -2758.824033 73.071737
+V 21 -2765.696914 -3947.311477 -31614.057615 .005025
+P 22 2742.694164 15209.436092 21767.628387 -40.457826
+V 22 -25541.351703 9485.017763 -3392.635430 .088841
+P 24 -12612.479826 -10502.018727 -20568.000920 8.053847
+V 24 4936.349858 -26341.928539 10348.327787 .028314
+P 25 10029.420491 19684.381017 -14394.288902 61.682375
+V 25 -2948.436964 18889.704498 23165.866759 .006863
+P 26 -22560.230417 -5758.297182 13080.613166 410.506610
+V 26 -12643.026695 -11091.417877 -25582.024845 -.124379
+P 27 5171.723112 -25069.386262 -5524.156538 919.759975
+V 27 3227.181215 7899.795401 -30739.567973 .043364
+P 28 -2030.270010 -15601.287062 21546.868766 21.799511
+V 28 24948.864312 -10275.336100 -5433.574579 .016478
+P 29 -23518.276292 -9031.940510 8766.751888 229.837298
+V 29 -7691.497232 -7740.212321 -29448.299681 .032987
+P 30 -15109.938071 17740.851835 -12880.879145 804.674119
+V 30 -15638.723208 4581.673768 25206.056330 .142776
+P 31 21419.708706 269.392683 15577.069849 38.780949
+V 31 15771.226333 13019.804731 -21127.316864 .309356
+* 2004 2 29 15 0 .00000000
+P 1 17039.010075 -4621.590875 -19679.176238 332.533573
+V 1 20531.897877 14837.903503 14140.610409 .014932
+P 3 24223.049558 10943.983200 2241.034359 89.800475
+V 3 910.503526 4588.946190 -30704.718860 .031333
+P 4 -6194.711667 -23249.178587 -10862.998059 -76.454814
+V 4 3523.780755 -13746.833423 27680.236031 -.091703
+P 5 -23385.167720 11985.024730 3044.646421 19.724512
+V 5 1458.469168 -5298.011706 30989.369748 .017443
+P 6 -9533.080605 12510.963442 -21221.027709 -1.327323
+V 6 -23472.574240 -14279.216939 1974.773914 -.011068
+P 7 -11823.328441 -19062.279928 14751.952927 612.004879
+V 7 16888.871255 6770.752166 22744.006166 -.077977
+P 8 -499.420781 -26139.943083 3391.587014 355.688016
+V 8 3283.476311 -4363.057718 -31647.422530 -.088823
+P 9 -14480.794132 8041.952761 20254.277891 -32.307654
+V 9 -1141.114522 -26814.775772 10006.722929 -.016688
+P 10 -20561.087011 -2135.743814 -16883.552648 40.159504
+V 10 18281.487262 -10786.889403 -20685.334963 .004439
+P 11 14529.730954 -10721.585382 19435.306297 99.803161
+V 11 3270.435566 24790.140697 11363.393902 .025498
+P 13 5334.602371 -14003.631979 -21975.684328 -30.911967
+V 13 23499.343327 14733.521776 -3614.284585 .002386
+P 14 12930.980689 18869.879553 13534.505562 -18.156700
+V 14 -15452.014606 -7503.251814 25327.666145 -.001185
+P 15 4352.534860 23917.405632 10179.287345 232.801682
+V 15 -4010.247138 12963.524459 -28347.746702 .055532
+P 16 17134.617938 6122.783858 -19281.750691 15.295028
+V 16 -21125.077317 12728.979032 -14668.649011 -.004032
+P 17 -14989.888545 -397.456306 -21707.696293 206.523937
+V 17 3766.933370 -27752.800033 -2800.106099 .195197
+P 18 -12617.159087 17634.876906 15221.834146 -15.339336
+V 18 -18385.090848 6393.996148 -22896.056973 -.026498
+P 20 22757.098868 -13593.820123 -1720.384172 -184.209616
+V 20 3129.232488 1379.729098 31737.605083 .027622
+P 21 -6111.428266 25031.130408 -5571.428572 73.071761
+V 21 -2620.057345 -7347.010087 -30796.530941 .005009
+P 22 489.708422 16113.904058 21278.726297 -40.449602
+V 22 -24448.418652 10569.125806 -7456.492375 .088810
+P 24 -12238.095398 -12823.239484 -19457.472337 8.056370
+V 24 3399.771594 -25149.781610 14293.111145 .028129
+P 25 9804.422235 21265.683740 -12189.023836 61.682766
+V 25 -2103.827804 16195.351247 25766.653811 .006974
+P 26 -23614.231329 -6647.149071 10674.186195 410.495067
+V 26 -10705.717000 -8683.534869 -27816.791825 -.124400
+P 27 5479.320104 -24208.226591 -8232.743174 919.763626
+V 27 3672.200380 11208.867008 -29359.871012 .043348
+P 28 160.659668 -16569.984147 20876.152435 21.800612
+V 28 23666.711170 -11198.884148 -9452.049265 .016467
+P 29 -24100.899623 -9629.044514 6049.377133 229.840456
+V 29 -5192.204953 -5568.531597 -30852.719631 .032954
+P 30 -16391.830750 18125.595976 -10508.686919 804.686673
+V 30 -12830.941897 3896.000858 27435.093114 .142764
+P 31 22769.209068 1346.807890 13546.154158 38.808965
+V 31 14142.751492 10932.522478 -23936.711205 .309312
+* 2004 2 29 15 15 .00000000
+P 1 18854.400808 -3378.548091 -18238.616034 332.536334
+V 1 19721.383172 12772.564408 17824.482363 .014890
+P 3 24175.156454 11286.980989 -533.595082 89.804327
+V 3 -2005.580609 3089.413944 -30866.283688 .031519
+P 4 -5912.425626 -24349.028530 -8283.828873 -76.462133
+V 4 2810.282742 -10650.874591 29551.041693 -.091724
+P 5 -23135.901695 11416.762517 5799.050919 19.727776
+V 5 4030.135122 -7372.921358 30130.397492 .017483
+P 6 -11659.804776 11285.369801 -20858.295297 -1.329132
+V 6 -23706.695231 -12920.577488 6073.247993 -.011179
+P 7 -10192.905410 -18440.966643 16670.419138 611.998099
+V 7 19308.951110 6967.678076 19830.460846 -.078007
+P 8 -220.180443 -26376.678161 521.845098 355.680034
+V 8 2991.049183 -887.332080 -32030.891599 -.088821
+P 9 -14644.199908 5588.459859 20970.016425 -32.308217
+V 9 -2504.372769 -27614.757958 5875.956095 -.016559
+P 10 -18856.805139 -3201.516059 -18596.738742 40.158861
+V 10 19506.058858 -12898.575631 -17330.724023 .004018
+P 11 14877.493447 -8447.424051 20287.321675 99.805199
+V 11 4468.914840 25665.555344 7543.663397 .025501
+P 13 7495.414598 -12731.316929 -22111.760879 -30.911557
+V 13 24439.892944 13489.522964 595.119316 .002387
+P 14 11414.709129 18171.300117 15691.281776 -18.156310
+V 14 -18216.131146 -7943.224024 22532.266457 -.001189
+P 15 4033.867191 24944.174335 7545.876506 232.805998
+V 15 -3132.183822 9810.389492 -30086.010888 .055656
+P 16 15204.845343 7352.068688 -20431.288483 15.294749
+V 16 -21672.083882 14570.699168 -10839.491093 -.004037
+P 17 -14716.858200 -2906.438101 -21768.820524 206.541158
+V 17 2287.365211 -27908.846525 1439.465365 .195188
+P 18 -14148.672943 18197.148230 13035.114256 -15.341735
+V 18 -15618.907534 6025.925833 -25627.978058 -.026506
+P 20 22902.586916 -13394.643422 1142.604975 -184.207516
+V 20 137.572546 3107.496067 31792.969640 .027616
+P 21 -6355.982857 24220.760760 -8285.975813 73.072009
+V 21 -2880.758725 -10634.194879 -29438.542663 .004995
+P 22 -1645.046951 17102.677116 20429.235596 -40.441832
+V 22 -22923.474691 11346.884395 -11394.553503 .088783
+P 24 -11996.215372 -15013.154766 -18002.946299 8.059802
+V 24 2006.462697 -23430.775912 17981.224269 .027874
+P 25 9640.571467 22590.897508 -9770.110475 61.683258
+V 25 -1597.357869 13213.080528 27907.101670 .007234
+P 26 -24474.742696 -7326.721576 8087.957299 410.483892
+V 26 -8351.690493 -6454.920588 -29572.935213 -.124418
+P 27 5843.719287 -23058.357031 -10792.859163 919.767806
+V 27 4483.286656 14299.290149 -27444.756585 .043332
+P 28 2217.714013 -17606.659774 19849.971232 21.802030
+V 28 21984.207561 -11775.303132 -13321.535693 .016466
+P 29 -24442.437255 -10042.533043 3228.940234 229.843441
+V 29 -2345.527783 -3671.662729 -31734.817842 .032924
+P 30 -17417.852277 18429.137413 -7956.499453 804.699964
+V 30 -9968.001366 2777.780923 29199.815985 .142755
+P 31 23952.466864 2240.300766 11281.241927 38.835855
+V 31 12083.575801 8946.796072 -26320.384047 .309257
+* 2004 2 29 15 30 .00000000
+P 1 20573.011059 -2323.354048 -16480.234571 332.537042
+V 1 18383.255756 10679.687093 21193.046648 .014734
+P 3 23857.738595 11510.768080 -3299.175575 89.807509
+V 3 -5065.001188 1945.695745 -30504.100837 .031500
+P 4 -5677.301866 -25159.917146 -5559.332803 -76.470599
+V 4 2481.487738 -7341.209296 30904.757192 -.091742
+P 5 -22669.830853 10651.251259 8452.309813 19.730256
+V 5 6266.026854 -9669.036312 28744.821640 .017265
+P 6 -13785.295321 10190.413204 -20131.209485 -1.330273
+V 6 -23441.733526 -11390.309385 10059.595230 -.011267
+P 7 -8354.992164 -17819.964104 18311.724022 611.990770
+V 7 21486.770869 6769.566146 16593.335022 -.078037
+P 8 51.520867 -26299.339938 -2357.082354 355.671463
+V 8 3116.402164 2599.163261 -31851.677521 -.088813
+P 9 -14932.795453 3088.180027 21309.057957 -32.308916
+V 9 -3908.032645 -27852.638947 1648.833813 -.016592
+P 10 -17065.534058 -4456.353493 -19994.083426 40.159236
+V 10 20213.327537 -14972.427535 -13676.298931 .003662
+P 11 15334.967539 -6116.619763 20789.383211 99.807147
+V 11 5695.066700 26047.053290 3597.908046 .025501
+P 13 9718.884061 -11583.415139 -21868.786425 -30.911114
+V 13 24884.369212 11982.585491 4797.065913 .002383
+P 14 9658.317336 17453.733052 17578.753038 -18.156155
+V 14 -20772.427956 -7929.347508 19351.730906 -.001196
+P 15 3777.168101 25676.932327 4779.769978 232.812095
+V 15 -2639.304311 6446.047906 -31292.458283 .055790
+P 16 13249.065196 8740.941973 -21227.188382 15.294414
+V 16 -21705.637163 16260.293456 -6821.426115 -.004045
+P 17 -14579.107762 -5404.213838 -21450.131870 206.558858
+V 17 776.285329 -27504.381917 5627.821132 .195181
+P 18 -15424.668423 18705.852527 10622.053976 -15.343717
+V 18 -12723.021764 5202.120350 -27918.286558 -.026508
+P 20 22789.193910 -13024.282482 3985.912638 -184.205043
+V 20 -2610.041608 5174.356998 31300.719248 .027611
+P 21 -6641.452589 23123.265457 -10854.927270 73.072350
+V 21 -3523.798806 -13711.966038 -27566.230609 .004981
+P 22 -3625.450274 18145.237028 19233.457189 -40.433991
+V 22 -21030.023264 11754.891831 -15141.028371 .088754
+P 24 -11870.112743 -17026.447146 -16230.541779 8.062267
+V 24 840.098065 -21234.598282 21346.563345 .027581
+P 25 9505.584193 23638.079182 -7180.596889 61.682512
+V 25 -1467.432132 10032.362546 29552.820936 .007413
+P 26 -25106.756192 -7816.811690 5366.145659 410.473527
+V 26 -5638.786234 -4485.110826 -30826.417730 -.124434
+P 27 6295.943353 -21643.723511 -13157.711365 919.771287
+V 27 5614.886880 17077.788659 -25027.078896 .043319
+P 28 4107.848046 -18677.391300 18484.744358 21.803576
+V 28 19969.769719 -11947.310575 -16975.505364 .016463
+P 29 -24514.930601 -10300.128549 353.334635 229.846408
+V 29 772.890048 -2113.783727 -32076.384197 .032898
+P 30 -18187.165993 18612.980460 -5267.646110 804.712861
+V 30 -7141.462120 1239.625343 30467.283277 .142745
+P 31 24932.740062 2962.713188 8822.373644 38.862553
+V 31 9641.116426 7143.456265 -28241.396202 .309221
+* 2004 2 29 15 45 .00000000
+P 1 22148.198642 -1454.149148 -14435.084020 332.538258
+V 1 16539.481502 8655.142653 24187.963255 .014563
+P 3 23261.737573 11648.714885 -6008.824008 89.810507
+V 3 -8181.603445 1185.038280 -29625.227348 .031393
+P 4 -5453.430302 -25666.960238 -2737.242979 -76.479885
+V 4 2562.979141 -3915.474093 31716.462072 -.091768
+P 5 -22019.743554 9672.053869 10958.019110 19.731327
+V 5 8111.569523 -12107.612873 26856.235115 .016935
+P 6 -15863.982003 9237.662850 -19053.037325 -1.331480
+V 6 -22666.225046 -9775.123473 13863.767491 -.011307
+P 7 -6334.780358 -17233.063308 19649.095099 611.983879
+V 7 23348.457441 6217.947082 13085.521101 -.078065
+P 8 353.122997 -25911.579148 -5194.745915 355.663545
+V 8 3652.824395 5994.118157 -31115.776496 -.088803
+P 9 -15346.135977 591.888593 21266.293180 -32.309811
+V 9 -5261.428611 -27527.744324 -2595.415340 -.016685
+P 10 -15233.888211 -5892.559436 -21051.287134 40.158609
+V 10 20405.143255 -16913.245918 -9782.502258 .003376
+P 11 15901.012710 -3773.859479 20933.213668 99.809273
+V 11 6868.179915 25932.277263 -405.544044 .025500
+P 13 11958.642449 -10579.742213 -21250.668996 -30.910676
+V 13 24797.503074 10299.481195 8919.714530 .002378
+P 14 7684.613191 16756.638176 19164.676880 -18.156269
+V 14 -23030.990741 -7495.346590 15840.829466 -.001206
+P 15 3546.386488 26101.108997 1929.779277 232.816956
+V 15 -2559.316171 2970.017126 -31947.739707 .055843
+P 16 11312.506310 10271.714066 -21655.571678 15.294119
+V 16 -21250.590685 17709.891433 -2684.318140 -.004055
+P 17 -14575.289089 -7840.794559 -20759.529426 206.576657
+V 17 -673.676811 -26552.794083 9692.423023 .195173
+P 18 -16437.855986 19119.853726 8024.320040 -15.346598
+V 18 -9795.078645 3923.082315 -29725.627504 -.026528
+P 20 22442.396305 -12454.993350 6760.525351 -184.202726
+V 20 -5037.541469 7516.306596 30268.472606 .027607
+P 21 -7000.514813 21761.574682 -13233.524918 73.073312
+V 21 -4507.921163 -16491.180707 -25215.118419 .004967
+P 22 -5421.647431 19205.957468 17711.486011 -40.426213
+V 22 -18843.405110 11743.418096 -18633.115150 .088726
+P 24 -11835.985148 -18823.053438 -14172.044073 8.065398
+V 24 -26.317583 -18627.923585 24329.520437 .027302
+P 25 9364.477464 24393.623800 -4466.201023 61.684641
+V 25 -1735.446267 6748.409375 30678.918934 .007675
+P 26 -25481.073253 -8143.833947 2554.765824 410.461903
+V 26 -2637.866779 -2841.215441 -31561.373084 -.124450
+P 27 6862.187278 -19996.187739 -15283.957914 919.774912
+V 27 7005.646152 19462.364006 -22150.558860 .043308
+P 28 5804.687730 -19743.755397 16802.762674 21.804992
+V 28 17702.770151 -11672.543292 -20350.195518 .016455
+P 29 -24297.775273 -10434.685277 -2528.304717 229.849564
+V 29 4075.742886 -944.374071 -31868.115964 .032877
+P 30 -18707.079244 18640.562344 -2488.057845 804.726042
+V 30 -4440.167904 -688.212283 31212.738015 .142735
+P 31 25678.199209 3533.731620 6212.530252 38.890120
+V 31 6876.760259 5593.308253 -29671.385356 .309196
+* 2004 2 29 16 0 .00000000
+P 1 23536.155433 -760.645487 -12139.157338 332.538672
+V 1 14230.871982 6789.729930 26757.935145 .014411
+P 3 22386.012011 11735.906926 -8616.669593 89.813194
+V 3 -11266.138778 818.209056 -28245.063767 .031284
+P 4 -5203.425270 -25864.268341 132.913455 -76.487586
+V 4 3061.839848 -475.263877 31971.282993 -.091795
+P 5 -21222.635030 8470.204364 13272.317980 19.731632
+V 5 9528.144820 -14601.914765 24497.470532 .016640
+P 6 -17850.087860 8430.790705 -17643.190270 -1.332557
+V 6 -21387.055012 -8163.198186 17419.479202 -.011281
+P 7 -4163.689449 -16709.706210 20660.691687 611.977011
+V 7 24829.888322 5367.614815 9363.601204 -.078094
+P 8 720.622102 -25226.099319 -7941.696653 355.655726
+V 8 4575.082290 9199.315629 -29839.353934 -.088782
+P 9 -15875.682524 -1850.506662 20843.731662 -32.311525
+V 9 -6476.015255 -26659.919518 -6778.123453 -.016889
+P 10 -13407.477481 -7493.969821 -21749.693827 40.158125
+V 10 20101.906627 -18628.672509 -5714.149624 .003188
+P 11 16567.267867 -1463.275310 20716.725880 99.812061
+V 11 7909.052106 25335.856416 -4397.664100 .025502
+P 13 14165.973895 -9732.022006 -20267.739986 -30.910152
+V 13 24162.584086 8532.659896 12892.364811 .002371
+P 14 5524.099376 16115.678979 20421.994852 -18.156294
+V 14 -24911.278704 -6691.560558 12059.827531 -.001215
+P 15 3303.815824 26211.272354 -954.008714 232.821032
+V 15 -2901.193092 -514.806373 -32042.880380 .055890
+P 16 9437.361429 11919.104096 -21708.954149 15.293720
+V 16 -20349.321443 18839.240122 1499.810042 -.004065
+P 17 -14695.868325 -10168.251701 -19711.270277 206.594017
+V 17 -1973.855071 -25086.269745 13564.710232 .195170
+P 18 -17189.739085 19398.915694 5286.925248 -15.348773
+V 18 -6932.197897 2208.277040 -31017.128288 -.026531
+P 20 21893.940443 -11665.388727 9418.539234 -184.200674
+V 20 -7082.100706 10056.533329 28713.242173 .027602
+P 21 -7461.424154 20166.163179 -15380.598899 73.073862
+V 21 -5776.462413 -18893.853957 -22429.262393 .004955
+P 22 -7010.993748 20245.429702 15888.898254 -40.418503
+V 22 -16447.990586 11278.432530 -21811.968361 .088700
+P 24 -11864.055878 -20369.575935 -11864.267276 8.067857
+V 24 -533.483616 -15691.693895 26878.126169 .026953
+P 25 9181.136737 24852.615017 -1674.446294 61.686150
+V 25 -2405.097668 3458.467645 31270.178084 .007884
+P 26 -25575.362541 -8339.599057 -299.104534 410.450877
+V 26 569.787597 -1575.718065 -31770.021353 -.124463
+P 27 7562.508525 -18154.349490 -17132.648486 919.778592
+V 27 8581.025212 21385.818114 -18868.886732 .043301
+P 28 7289.386960 -20764.262320 14831.888280 21.806372
+V 28 15270.601688 -10925.496817 -23385.754946 .016450
+P 29 -23778.634857 -10482.771480 -5366.421629 229.852061
+V 29 7467.155010 -196.201099 -31110.008405 .032863
+P 30 -18992.645399 18478.806660 334.498611 804.739638
+V 30 -1946.856429 -2958.715195 31420.235791 .142727
+P 31 26163.079582 3978.866489 3496.852572 38.917502
+V 31 3863.456625 4354.588032 -30590.729599 .309181
+* 2004 2 29 16 15 .00000000
+P 1 24697.538108 -224.747956 -9632.714210 332.540586
+V 1 11515.512914 5165.571003 28859.572901 .014356
+P 3 21237.471699 11807.644158 -11078.592793 89.815987
+V 3 -14229.479269 839.209643 -26387.070215 .031223
+P 4 -4890.112289 -25755.125253 3000.735874 -76.496163
+V 4 3966.301943 2877.831909 31664.716804 -.091821
+P 5 -20318.201784 7044.775931 15354.694867 19.733248
+V 5 10494.523477 -17060.620596 21710.009077 .016530
+P 6 -19699.273666 7765.602294 -15926.830986 -1.334151
+V 6 -19629.181082 -6640.569813 20665.399653 -.011371
+P 7 -1878.386526 -16273.884805 21329.904247 611.969339
+V 7 25878.910046 4284.498686 5487.119013 -.078119
+P 8 1186.951961 -24264.118097 -10550.378922 355.647045
+V 8 5840.616576 12124.364796 -28048.212157 -.088758
+P 9 -16505.167617 -4191.769955 20050.371720 -32.312334
+V 9 -7469.210769 -25288.444805 -10822.934702 -.017110
+P 10 -11629.267618 -9236.371163 -22076.641807 40.157613
+V 10 19341.788887 -20032.775011 -1539.465070 .003106
+P 11 17318.432213 773.058943 20144.031977 99.814402
+V 11 8743.190571 24288.737905 -8309.915717 .025501
+P 13 16291.525479 -9043.539038 -18936.597567 -30.909799
+V 13 22982.234938 6776.591265 16646.653490 .002362
+P 14 3213.989739 15561.317233 21329.281429 -18.156305
+V 14 -26345.166645 -5582.845524 8073.458831 -.001223
+P 15 3011.796789 26011.252678 -3821.166561 232.827800
+V 15 -3654.939812 -3906.157109 -31579.265344 .056037
+P 16 7661.284352 13651.074602 -21386.382338 15.293302
+V 16 -19059.970811 19578.957045 5658.071051 -.004076
+P 17 -14923.642118 -12342.341781 -18325.563270 206.611324
+V 17 -3043.032291 -23154.193432 17181.139105 .195166
+P 18 -17690.396097 19505.388959 2457.432554 -15.351205
+V 18 -4227.191511 95.561306 -31769.092853 -.026537
+P 20 21180.541153 -10641.463811 11913.995769 -184.198222
+V 20 -8696.477428 12708.313222 26661.191038 .027606
+P 21 -8046.732748 18373.911236 -17259.290745 73.074350
+V 21 -7259.821363 -20856.061041 -19260.233485 .004943
+P 22 -8378.727458 21221.945786 13796.353185 -40.410587
+V 22 -13934.039443 10343.065408 -24623.627053 .088671
+P 24 -11919.921154 -21640.422380 -9348.323127 8.069761
+V 24 -638.223555 -12517.835589 28948.983997 .026581
+P 25 8919.912280 25018.841203 1146.209135 61.685914
+V 25 -3462.426197 258.121513 31321.021515 .007996
+P 26 -25374.968739 -8439.919256 -3148.045530 410.439389
+V 26 3895.382311 -724.832021 -31452.504637 -.124472
+P 27 8409.783329 -16162.079834 -18670.068382 919.782520
+V 27 10256.572231 22798.624411 -15244.488031 .043299
+P 28 8551.203595 -21695.937883 12605.150971 21.807919
+V 28 12765.387606 -9698.854437 -26027.385926 .016441
+P 29 -22954.057984 -10483.097554 -8111.887660 229.855333
+V 29 10846.163527 116.076512 -29811.599384 .032845
+P 30 -19065.968454 18099.566920 3151.236983 804.752286
+V 30 265.038809 -5509.661367 31083.135130 .142709
+P 31 26368.599132 4328.226783 721.853467 38.945046
+V 31 682.938697 3470.965587 -30988.548902 .309175
+* 2004 2 29 16 30 .00000000
+P 1 25598.926601 178.516733 -6959.537045 332.540689
+V 1 8466.521922 3852.895662 30458.082627 .014243
+P 3 19830.922063 11897.942368 -13352.934052 89.817825
+V 3 -16985.821322 1225.607811 -24082.380245 .031134
+P 4 -4478.210539 -25351.808508 5815.889159 -76.504809
+V 4 5246.192125 6046.193417 30802.716748 -.091834
+P 5 -19347.238682 5403.131710 17168.732157 19.735885
+V 5 11007.585262 -19391.442985 18543.201469 .016372
+P 6 -21370.225060 7230.387522 -13934.378631 -1.334358
+V 6 -17434.642502 -5287.654829 23546.213149 -.011378
+P 7 480.375869 -15943.248544 21645.587923 611.962735
+V 7 26457.154496 3043.173472 1517.845045 -.078142
+P 8 1780.504891 -23054.508632 -12975.966615 355.638807
+V 8 7391.433195 14690.054375 -25777.071445 -.088725
+P 9 -17211.292979 -6389.006763 18901.918609 -32.312778
+V 9 -8167.905238 -23470.132780 -14657.415769 -.017491
+P 10 -9938.041191 -11088.233483 -22025.723920 40.157272
+V 10 18179.283006 -21049.439385 2670.966672 .003129
+P 11 18132.826156 2896.543127 19225.346396 99.816821
+V 11 9303.814738 22836.904440 -12075.419231 .025499
+P 13 18287.054772 -8509.125144 -17279.843282 -30.909575
+V 13 21278.456263 5124.018947 20117.728438 .002354
+P 14 796.972260 15117.621829 21871.097501 -18.156240
+V 14 -27279.516429 -4245.927789 3949.834963 -.001230
+P 15 2634.405307 25513.907893 -6621.849362 232.834618
+V 15 -4792.147168 -7106.324125 -30568.396067 .056067
+P 16 6016.073741 15429.940972 -20693.452344 15.293080
+V 16 -17454.068844 19873.363293 9718.025488 -.004087
+P 17 -15234.549848 -14323.959601 -16628.078041 206.628786
+V 17 -3810.514707 -20820.956349 20484.027005 .195169
+P 18 -17957.927833 19405.811817 -414.895399 -15.353673
+V 18 -1764.942075 -2360.141576 -31967.516180 -.026542
+P 20 20342.396084 -9377.342431 14203.688079 -184.195845
+V 20 -9850.752908 15378.311855 24147.221295 .027608
+P 21 -8772.256301 16426.731235 -18837.678967 73.075134
+V 21 -8878.430895 -22330.228652 -15765.971855 .004933
+P 22 -9518.349591 22093.085638 11469.113607 -40.402799
+V 22 -11394.336391 8938.446712 -27019.893059 .088642
+P 24 -11966.083883 -22618.630924 -6668.815864 8.072733
+V 24 -315.195850 -9205.568677 30507.977780 .026267
+P 25 8547.180081 24904.484872 3947.231246 61.686216
+V 25 -4876.555363 -2762.245914 30835.288478 .008172
+P 26 -24873.450414 -8483.091891 -5944.998283 410.428034
+V 26 7245.709101 -307.442043 -30616.661252 -.124482
+P 27 9408.980891 -14066.831405 -19868.458061 919.786339
+V 27 11941.685261 23670.988528 -11346.999043 .043298
+P 28 9587.767759 -22495.994769 10160.243035 21.809478
+V 28 10280.454107 -8004.133315 -28226.456563 .016430
+P 29 -21829.768900 -10474.849092 -10716.865787 229.857613
+V 29 14110.469008 -3.385523 -27992.047245 .032830
+P 30 -18955.233496 17480.900783 5913.204878 804.765264
+V 30 2134.262514 -8265.816954 30204.426714 .142685
+P 31 26283.613982 4615.141491 -2065.363659 38.972490
+V 31 -2577.310048 2970.144506 -30862.566593 .309172
+* 2004 2 29 16 45 .00000000
+P 1 26214.054272 479.803878 -4166.133322 332.542098
+V 1 5169.236272 2907.338985 31527.769518 .014194
+P 3 18188.624992 12038.091830 -15401.163388 89.821815
+V 3 -19455.766956 1939.473766 -21369.318257 .031153
+P 4 -3935.940030 -24675.059569 8529.039676 -76.513271
+V 4 6854.153117 8939.961765 29401.539605 -.091846
+P 5 -18350.004534 3560.846274 18682.772923 19.736945
+V 5 11082.296892 -21504.801428 15053.318892 .016074
+P 6 -22826.120232 6806.573244 -11700.925381 -1.334740
+V 6 -14860.907862 -4176.044214 26013.529113 -.011459
+P 7 2869.065300 -15728.449323 21602.229499 611.955803
+V 7 26541.401209 1724.083417 -2480.969209 -.078168
+P 8 2523.850460 -21632.661122 -15177.127532 355.631336
+V 8 9156.589697 16831.198396 -23068.697521 -.088688
+P 9 -17964.722067 -8405.129346 17420.365939 -32.315250
+V 9 -8511.480678 -21276.725900 -18214.478182 -.017971
+P 10 -8367.017574 -13011.735001 -21596.950050 40.156599
+V 10 16683.127260 -21615.440279 6845.322168 .003168
+P 11 18983.209208 4873.325017 17976.786072 99.819375
+V 11 9534.546584 21039.533056 -15630.069044 .025495
+P 13 20107.148159 -8115.481851 -15325.714715 -30.910134
+V 13 19091.933661 3662.269851 23245.380363 .002346
+P 14 -1680.234620 14801.336710 22038.243509 -18.156329
+V 14 -27678.183512 -2766.311034 -240.691408 -.001236
+P 15 2139.056566 24740.545893 -9307.686391 232.839985
+V 15 -6267.294266 -10025.824828 -29031.439492 .055763
+P 16 4526.595016 17213.712605 -19642.210631 15.292673
+V 16 -15613.637197 19682.782405 13608.986804 -.004099
+P 17 -15598.740437 -16080.372014 -14649.386652 206.646299
+V 17 -4218.701534 -18163.291200 23422.208139 .195169
+P 18 -18017.592152 19072.359993 -3279.984339 -15.356469
+V 18 380.905192 -5088.872217 -31608.403260 -.026554
+P 20 19421.573498 -7875.712363 16247.922755 -184.193240
+V 20 -10533.394698 17970.166933 21214.398760 .027615
+P 21 -9646.325132 14370.018617 -20089.297261 73.075620
+V 21 -10546.095143 -23286.734821 -12009.552687 .004922
+P 22 -10431.695351 22817.350056 8946.489942 -40.394531
+V 22 -8920.719381 7083.883850 -28959.147757 .088611
+P 24 -11963.607104 -23296.350845 -3872.983954 8.073857
+V 24 442.163631 -5857.477015 31530.744379 .025964
+P 25 8032.806548 24529.505802 6680.841268 61.686605
+V 25 -6601.077332 -5520.700468 29825.846148 .008427
+P 26 -24072.833690 -8508.314654 -8643.945615 410.416967
+V 26 10526.344389 -324.644455 -29277.753107 -.124492
+P 27 10556.791042 -11917.804019 -20706.584751 919.790213
+V 27 13543.670070 23993.987960 -7251.516050 .043297
+P 28 10405.026893 -23123.529328 7538.916381 21.811236
+V 28 7906.697343 -5871.598745 -29941.553891 .016422
+P 29 -20420.613661 -10495.989467 -13135.672873 229.860607
+V 29 17160.312720 -531.651379 -25680.023763 .032816
+P 30 -18693.497720 16608.120998 8572.158812 804.778043
+V 30 3614.161671 -11141.692820 28796.880296 .142661
+P 31 25904.993859 4874.682873 -4817.868442 39.000077
+V 31 -5827.226925 2863.082963 -30218.853520 .309175
+* 2004 2 29 17 0 .00000000
+P 1 26524.763809 714.038316 -1300.901003 332.542978
+V 1 1717.952357 2367.851568 32052.355070 .014086
+P 3 16339.591886 12255.326204 -17188.502419 89.824958
+V 3 -21569.175988 2928.886198 -18292.825741 .031077
+P 4 -3236.485923 -23753.226794 11092.766957 -76.521742
+V 4 8727.584809 11480.493245 27487.360532 -.091849
+P 5 -17364.623121 1541.299964 19870.495481 19.739483
+V 5 10750.949131 -23317.393483 11302.457925 .015851
+P 6 -24035.922018 6469.647372 -9265.578256 -1.336827
+V 6 -11978.640191 -3365.694108 28026.630020 -.011645
+P 7 5242.775591 -15632.746101 21200.046507 611.948525
+V 7 26124.444660 410.562786 -6445.354128 -.078192
+P 8 3432.700360 -20039.114979 -17116.703623 355.623405
+V 8 11055.157515 18498.874086 -19972.910510 -.088655
+P 9 -18731.317818 -10210.061989 15633.458843 -32.317513
+V 9 -8454.223288 -18791.740861 -21433.579311 -.018343
+P 10 -6942.685694 -14964.044086 -20796.805718 40.157463
+V 10 14933.666622 -21683.067685 10911.723556 .003285
+P 11 19837.822168 6675.386494 16420.072819 99.821590
+V 11 9391.688969 18966.670493 -18913.587470 .025488
+P 13 21710.844243 -7841.827072 -13107.618987 -30.909809
+V 13 16480.626810 2469.761355 25975.111840 .002341
+P 14 -4168.478008 14621.242862 21827.908821 -18.156268
+V 14 -27523.385466 -1234.855351 -4426.692795 -.001241
+P 15 1497.960911 23720.032982 -11832.623815 232.844646
+V 15 -8019.723328 -12586.683952 -26998.596440 .055411
+P 16 3209.982138 18957.613355 -18250.938717 15.291957
+V 16 -13627.887070 18985.212411 17263.292443 -.004107
+P 17 -15981.845135 -17586.195095 -12424.354118 206.663667
+V 17 -4225.084044 -15267.255851 25951.516317 .195172
+P 18 -17900.660273 18484.084769 -6087.855845 -15.358959
+V 18 2150.796188 -8008.288463 -30697.879812 -.026553
+P 20 18460.336607 -6147.930812 18011.222843 -184.190610
+V 20 -10751.598662 20388.211272 17913.222589 .027624
+P 21 -10669.346483 12250.991849 -20993.539088 73.076135
+V 21 -12173.544080 -23714.770775 -8057.901214 .004916
+P 22 -11128.692860 23355.779414 6271.214081 -40.386433
+V 22 -6600.625667 4816.365840 -30407.093720 .088581
+P 24 -11873.816752 -23674.965354 -1009.809845 8.076006
+V 24 1621.488739 -2575.512947 32002.912564 .025851
+P 25 7351.462476 23920.749214 9300.805545 61.688681
+V 25 -8576.003014 -7946.602102 28314.066342 .008764
+P 26 -22983.577302 -8554.086332 -11200.566522 410.405516
+V 26 13644.848760 -759.883320 -27458.157016 -.124500
+P 27 11841.622447 -9764.051446 -21170.149163 919.794187
+V 27 14971.880651 23779.736242 -3036.695427 .043296
+P 28 11016.864440 -23541.176827 4786.288762 21.812813
+V 28 5728.988823 -3349.425574 -31139.445095 .016418
+P 29 -18750.157417 -10581.599677 -15325.623643 229.863594
+V 29 19902.326854 -1427.799862 -22913.408107 .032803
+P 30 -18317.287776 15474.576554 11081.443465 804.790892
+V 30 4674.548256 -14044.764131 26882.992336 .142639
+P 31 25237.710228 5142.147751 -7489.639673 39.028056
+V 31 -8977.364521 3143.838409 -29071.476824 .309178
+* 2004 2 29 17 15 .00000000
+P 1 26521.654612 918.844246 1586.726317 332.543991
+V 1 -1787.646438 2255.294111 32025.111174 .014145
+P 3 14318.634055 12571.650696 -18684.490825 89.827674
+V 3 -23267.690138 4129.955494 -14903.801190 .030956
+P 4 -2359.258983 -22621.118289 13462.430803 -76.529893
+V 4 10791.215765 13603.329323 25095.670738 -.091852
+P 5 -16425.585057 -625.037915 20711.383874 19.740426
+V 5 10061.687550 -24755.513685 7357.327856 .015487
+P 6 -24975.446317 6190.314008 -6670.741208 -1.338980
+V 6 -8868.979615 -2902.616776 29553.050555 -.011703
+P 7 7556.687606 -15651.883549 20445.016687 611.942005
+V 7 25215.436944 -814.259044 -10311.407994 -.078214
+P 8 4515.156296 -18318.019646 -18762.298026 355.615033
+V 8 12999.526360 19661.982622 -16545.510236 -.088621
+P 9 -19473.566930 -11781.643467 13574.059780 -32.318458
+V 9 -7967.046067 -16106.924682 -24261.683022 -.018601
+P 10 -5683.896307 -16898.813438 -19638.201872 40.157541
+V 10 13019.740557 -21222.199846 14799.469538 .003450
+P 11 20661.612620 8281.402164 14582.144267 99.823892
+V 11 8846.008799 16696.517328 -21870.500612 .025480
+P 13 23063.099648 -7660.842066 -10663.573628 -30.909823
+V 13 13517.688429 1612.843643 28259.123050 .002337
+P 14 -6617.859083 14577.838142 21243.715437 -18.156418
+V 14 -26816.383034 255.842560 -8536.845919 -.001249
+P 15 689.375394 22487.629626 -14153.703577 232.851357
+V 15 -9976.187011 -14725.196337 -24508.319949 .055065
+P 16 2075.149880 20615.721650 -16543.825938 15.291512
+V 16 -11589.645013 17777.304011 20617.515950 -.004116
+P 17 -16346.402990 -18824.088682 -9991.492560 206.681555
+V 17 -3803.634975 -12224.989631 28035.114310 .195174
+P 18 -17643.041342 17627.888241 -8789.535205 -15.361633
+V 18 3501.546326 -11026.834686 -29252.090027 -.026554
+P 20 17499.470301 -4213.794006 19462.958571 -184.187937
+V 20 -10530.893275 22541.189200 14300.752045 .027634
+P 21 -11833.690855 10116.988647 -21535.945640 73.076326
+V 21 -13672.054869 -23622.451766 -3980.492203 .004906
+P 22 -11626.816531 23673.497558 3488.750391 -40.378518
+V 22 -4513.779646 2189.398681 -31337.407272 .088551
+P 24 -11659.983077 -23764.858245 1870.881618 8.077554
+V 24 3192.104595 542.894423 31920.118297 .025794
+P 25 6483.739606 23110.819431 11763.173308 61.689620
+V 25 -10730.181954 -9982.958170 26329.195678 .009011
+P 26 -21624.253137 -8656.646062 -13572.861503 410.394568
+V 26 16513.874961 -1579.666573 -25187.026480 -.124510
+P 27 13243.969114 -7652.617315 -21252.017633 919.797797
+V 27 16141.727830 23060.576777 1217.211571 .043298
+P 28 11444.402364 -23716.657618 1950.068900 21.814462
+V 28 3822.768880 -502.117273 -31795.912783 .016411
+P 29 -16849.942367 -10762.323636 -17247.837804 229.867306
+V 29 22253.197972 -2634.468113 -19738.773239 .032786
+P 30 -17865.058291 14082.127789 13396.856829 804.803403
+V 30 5302.909810 -16879.028800 24494.722786 .142619
+P 31 24294.639943 5451.552279 -10036.266258 39.055721
+V 31 -11942.000886 3790.018112 -27442.073242 .309184
+* 2004 2 29 17 30 .00000000
+P 1 26204.400075 1132.881052 4447.138366 332.545198
+V 1 -5246.228350 2571.758441 31448.818800 .014302
+P 3 12165.204086 13002.873046 -19863.489689 89.829992
+V 3 -24506.840487 5469.294640 -11258.358185 .030869
+P 4 -1290.900547 -21318.613956 15596.975222 -76.538222
+V 4 12960.187816 15260.560019 22270.480507 -.091856
+P 5 -15562.411311 -2901.608002 21191.085092 19.740256
+V 5 9076.402709 -25757.981662 3287.951819 .015142
+P 6 -25628.168559 5935.830765 -3961.352748 -1.339941
+V 6 -5620.459937 -2817.152156 30568.986636 -.011656
+P 7 9767.536570 -15774.250968 19348.835443 611.934526
+V 7 23839.688349 -1870.575351 -14016.111750 -.078239
+P 8 5771.265416 -16515.486949 -20086.762853 355.606855
+V 8 14898.910066 20308.094836 -12847.150659 -.088581
+P 9 -20152.126384 -13106.199544 11279.438944 -32.320213
+V 9 -7038.478745 -13318.494280 -26653.974693 -.018829
+P 10 -4601.251640 -18767.832364 -18140.312495 40.159087
+V 10 11035.207151 -20221.729361 18440.293710 .003621
+P 11 21417.596179 9677.339841 12494.680960 99.826164
+V 11 7883.961414 14312.426151 -24451.023737 .025473
+P 13 24136.040067 -7539.882714 -8035.563248 -30.909596
+V 13 10288.787654 1143.103329 30057.193781 .002334
+P 14 -8979.450959 14663.346744 20295.655637 -18.157004
+V 14 -25577.449257 1615.131908 -12501.107132 -.001256
+P 15 -301.395264 21083.604401 -16231.766375 232.856002
+V 15 -12053.848787 -16394.079962 -21606.415607 .054598
+P 16 1122.634660 22142.665848 -14550.536678 15.291244
+V 16 -9591.650177 16074.606204 23613.596077 -.004124
+P 17 -16653.383278 -19785.153285 -7392.291771 206.698803
+V 17 -2945.573087 -9131.362333 29643.692025 .195178
+P 18 -17283.731547 16499.194956 -11337.940540 -15.364024
+V 18 4407.946890 -14047.295172 -27296.883108 -.026552
+P 20 16576.676318 -2100.978168 20577.893620 -184.185237
+V 20 -9914.019372 24345.818579 10439.606038 .027641
+P 21 -13123.901768 8013.785426 -21708.377264 73.076750
+V 21 -14956.993622 -23036.195576 151.934852 .004898
+P 22 -11950.253412 23741.121866 646.552567 -40.370633
+V 22 -2729.147792 -728.795434 -31732.286554 .088524
+P 24 -11288.912995 -23584.840890 4719.316707 8.080291
+V 24 5106.374849 3408.470489 31287.813673 .025831
+P 25 5417.032201 22136.766426 14026.953978 61.690132
+V 25 -12984.085798 -11588.219551 23907.646100 .009272
+P 26 -20020.954491 -8848.502132 -15721.746229 410.383846
+V 26 19054.096733 -2734.833902 -22499.926415 -.124523
+P 27 14737.124098 -5626.785112 -20952.277626 919.801654
+V 27 16978.354749 21887.368932 5430.305372 .043300
+P 28 11715.011137 -23624.149139 -920.286621 21.816007
+V 28 2250.977040 2591.773148 -31896.430596 .016404
+P 29 -14758.430390 -11062.984530 -18867.991520 229.869728
+V 29 24142.984963 -4080.099066 -16210.662958 .032767
+P 30 -17375.573305 12441.291317 15477.481992 804.816368
+V 30 5504.903148 -19548.760776 21673.016131 .142599
+P 31 23096.096514 5834.193273 -12415.607032 39.083141
+V 31 -14642.066791 4763.800391 -25359.363992 .309194
+* 2004 2 29 17 45 .00000000
+P 1 25581.726431 1394.151267 7231.395951 332.547668
+V 1 -8558.571195 3300.627111 30335.562703 .014508
+P 3 9922.069177 13557.873921 -20705.114554 89.832396
+V 3 -25257.662741 6866.853292 -7417.006143 .030813
+P 4 -25.991924 -19889.095701 17459.652928 -76.545968
+V 4 15143.515269 16422.488588 19063.355889 -.091860
+P 5 -14798.532023 -5247.001142 21301.646749 19.742652
+V 5 7868.073209 -26278.559438 -833.685106 .015035
+P 6 -25985.740911 5671.473385 -1184.094304 -1.340785
+V 6 -2325.685908 -3122.874426 31059.537541 -.011586
+P 7 11835.036810 -15981.319249 17928.798523 611.928021
+V 7 22037.921325 -2684.946453 -17498.176342 -.078261
+P 8 7192.895032 -14677.899918 -21068.584518 355.598750
+V 8 16662.912872 20443.574115 -8942.192828 -.088537
+P 9 -20727.425737 -14178.773635 8790.511158 -32.323259
+V 9 -5674.919019 -10523.328141 -28574.337384 -.019152
+P 10 -3696.819474 -20522.775516 -16328.298588 40.160130
+V 10 9075.231890 -18690.271089 21769.627000 .003652
+P 11 22068.301115 10856.782275 10193.558245 99.828890
+V 11 6508.314079 11899.728148 -26611.845448 .025467
+P 13 24909.947257 -7442.408530 -5268.822236 -30.909244
+V 13 6888.936999 1095.238205 31337.442045 .002329
+P 14 -11206.981691 14862.057731 18999.924596 -18.156893
+V 14 -23845.128042 2757.914888 -16251.868006 -.001261
+P 15 -1481.283230 19551.684119 -18032.069553 232.860252
+V 15 -14163.604651 -17563.955359 -18345.055579 .054139
+P 16 344.768840 23495.308305 -12305.680556 15.290865
+V 16 -7722.871362 13911.070642 26199.860863 -.004132
+P 17 -16863.748759 -20469.024838 -4670.537016 206.715949
+V 17 -1659.508542 -6080.628813 30755.556245 .195186
+P 18 -16863.151562 15102.292075 -13688.734484 -15.365952
+V 18 4863.631983 -16970.580887 -24867.296729 -.026551
+P 20 15725.100330 155.827777 21336.636330 -184.182651
+V 20 -8959.128147 25730.056023 6396.854120 .027649
+P 21 -14517.215529 5984.003974 -21509.070958 73.076993
+V 21 -15951.141492 -21999.415798 4268.618542 .004887
+P 22 -12128.811964 23535.984630 -2206.723539 -40.362853
+V 22 -1302.278455 -3857.660234 -31582.879345 .088496
+P 24 -10732.391327 -23161.269408 7486.640693 8.082528
+V 24 7301.697309 5943.328120 30120.892344 .025845
+P 25 4146.155947 21038.637425 16054.727960 61.691967
+V 25 -15252.843255 -12737.478051 21092.229756 .009559
+P 26 -18206.451875 -9157.098280 -17611.611076 410.372323
+V 26 21196.876397 -4162.337006 -19438.439356 -.124534
+P 27 16288.202350 -3724.519194 -20278.121835 919.805492
+V 27 17419.804840 20326.979480 9524.888202 .043300
+P 28 11861.063940 -23245.424199 -3774.468902 21.817148
+V 28 1061.459663 5842.542242 -31436.647896 .016393
+P 29 -12519.668268 -11501.432279 -20156.994576 229.873222
+V 29 25517.941844 -5681.813664 -12390.665497 .032743
+P 30 -16886.276928 10571.044281 17286.466177 804.828969
+V 30 5304.097247 -21962.300659 18467.109407 .142584
+P 31 21669.109491 6317.325315 -14588.404814 39.110705
+V 31 -17007.802004 6013.476884 -22858.624935 .309210
+* 2004 2 29 18 0 .00000000
+P 1 24671.057911 1738.346618 9892.053387 332.547645
+V 1 -11631.196429 4407.354818 28706.376339 .014474
+P 3 7633.863562 14238.145106 -21194.591438 89.835503
+V 3 -25507.760054 8239.017676 -3443.758516 .030741
+P 4 1432.558737 -18377.761586 19018.656866 -76.554918
+V 4 17247.766743 17078.539222 15532.321423 -.091863
+P 5 -14150.424783 -7616.389516 21041.631972 19.744489
+V 5 6517.677860 -26287.761670 -4935.007375 .014800
+P 6 -26048.204613 5362.069047 1613.415943 -1.342587
+V 6 922.097224 -3816.161506 31018.788219 -.011497
+P 7 13723.215077 -16248.344827 16207.606928 611.920719
+V 7 19864.987520 -3193.172216 -20698.923717 -.078279
+P 8 8763.925913 -12850.242409 -21692.165799 355.590680
+V 8 18205.020510 20092.996560 -4897.561306 -.088491
+P 9 -21161.259693 -15003.018516 6151.040071 -32.323883
+V 9 -3900.172298 -7815.267134 -29995.605738 -.019133
+P 10 -2964.186522 -22116.981220 -14232.919343 40.160476
+V 10 7232.483771 -16656.106533 24727.837465 .003559
+P 11 22577.241235 11820.960000 7718.232490 99.831016
+V 11 4738.148886 9542.507308 -28316.801709 .025456
+P 13 25373.942553 -7329.573822 -2411.055433 -30.908853
+V 13 3418.943278 1485.591759 32076.941149 .002322
+P 14 -13258.419498 15150.979710 17378.650502 -18.157238
+V 14 -21674.809208 3608.042900 -19725.074997 -.001270
+P 15 -2849.050369 17937.402500 -19524.813495 232.864504
+V 15 -16213.588702 -18224.117504 -14781.736005 .053756
+P 16 -273.819917 24634.352163 -9848.195907 15.290302
+V 16 -6064.990723 11337.836159 28331.927146 -.004141
+P 17 -16940.004985 -20883.672544 -1871.622798 206.733760
+V 17 29.007660 -3163.192721 31356.633715 .195195
+P 18 -16421.440617 13450.324167 -15801.120774 -15.368103
+V 18 4881.172532 -19699.590834 -22006.852156 -.026553
+P 20 14972.049345 2516.065033 21725.986989 -184.179778
+V 20 -7737.368133 26635.934235 2242.820176 .027651
+P 21 -15984.366050 4065.663973 -20942.588712 73.077335
+V 21 -16587.684119 -20570.601141 8299.955410 .004874
+P 22 -12196.612839 23043.116812 -5022.039601 -40.354754
+V 22 -273.134886 -7107.187066 -30889.574848 .088469
+P 24 -9968.416950 -22526.893144 10125.744730 8.085348
+V 24 9703.047689 8083.688445 28443.157838 .025902
+P 25 2673.686647 19857.948488 17813.186834 61.692646
+V 25 -17449.413142 -13423.045996 17931.358493 .009744
+P 26 -16219.123386 -9603.661442 -19210.843758 410.360733
+V 26 22886.595132 -5787.482297 -16049.738099 -.124550
+P 27 17859.420533 -1977.161722 -19243.572654 919.809465
+V 27 17419.544884 18459.132138 13427.151326 .043300
+P 28 11918.483757 -22570.704458 -6562.246281 21.818776
+V 28 284.978864 9152.744748 -30422.656971 .016390
+P 29 -10181.726194 -12087.673565 -21091.575523 229.875568
+V 29 26342.712915 -7348.797165 -8346.297792 .032718
+P 30 -16431.721060 8498.291890 18791.728287 804.841711
+V 30 4740.965247 -24035.720256 14933.637919 .142563
+P 31 20046.479893 6922.997842 -16518.851151 39.139287
+V 31 -18981.064242 7475.454255 -19981.121979 .309226
+* 2004 2 29 18 15 .00000000
+P 1 23497.845479 2197.295345 12383.942819 332.549127
+V 1 -14379.745426 5840.928176 26590.752990 .014583
+P 3 5345.571823 15037.614644 -21323.029533 89.837280
+V 3 -25261.770501 9501.868630 594.826004 .030664
+P 4 3073.465039 -16829.893344 20247.648227 -76.562416
+V 4 19180.812045 17237.384819 11740.663352 -.091866
+P 5 -13627.045260 -9963.090685 20416.111185 19.745778
+V 5 5110.810032 -25773.990272 -8944.207564 .014404
+P 6 -25823.893631 4973.538417 4383.429818 -1.343437
+V 6 4032.410989 -4876.429270 30449.741869 -.011355
+P 7 15401.605105 -16545.320714 14213.091086 611.913104
+V 7 17388.072896 -3342.893616 -23563.198893 -.078295
+P 8 10460.751625 -11074.510963 -21948.005918 355.582613
+V 8 19445.890563 19297.912850 -781.624148 -.088442
+P 9 -21418.309207 -15590.765311 3406.828636 -32.324857
+V 9 -1754.335008 -5281.663587 -30899.621425 -.019356
+P 10 -2388.852649 -23507.189743 -11890.033853 40.162373
+V 10 5593.390515 -14166.349159 27261.417810 .003433
+P 11 22910.361122 12578.496017 5111.071867 99.833069
+V 11 2608.248185 7320.442148 -29537.432465 .025451
+P 13 25526.339152 -7161.918585 488.389769 -30.908322
+V 13 -18.380277 2311.410744 32262.179321 .002316
+P 14 -15097.400829 15500.786831 15459.526122 -18.157352
+V 14 -19136.671912 4101.373861 -22861.297183 -.001277
+P 15 -4395.199689 16286.411512 -20685.572643 232.868526
+V 15 -18112.725500 -18382.594822 -10978.204250 .053300
+P 16 -755.405598 25525.808148 -7220.658551 15.289698
+V 16 -4689.193388 8421.344062 29973.458977 -.004148
+P 17 -16847.683581 -21044.913885 958.130498 206.750802
+V 17 2078.492591 -462.572273 31440.407105 .195214
+P 18 -15996.777003 11564.943182 -17638.569653 -15.370003
+V 18 4491.397895 -22142.986552 -18766.681189 -.026560
+P 20 14337.950263 4934.679510 21739.174404 -184.176881
+V 20 -6329.957072 27021.857253 -1950.177847 .027657
+P 21 -17490.639651 2290.932673 -20019.663093 73.077794
+V 21 -16812.762086 -18820.871320 12178.601280 .004861
+P 22 -12190.610326 22255.953670 -7750.814085 -40.347298
+V 22 335.487558 -10381.197133 -29662.145295 .088443
+P 24 -8982.189671 -21719.484708 12592.038870 8.086802
+V 24 12225.954750 9782.002396 26286.662795 .025835
+P 25 1010.011293 18636.131740 19273.600536 61.693900
+V 25 -19487.784468 -13654.419568 14478.223979 .009917
+P 26 -14101.693151 -10202.269929 -20492.311696 410.349695
+V 26 24082.576665 -7526.575898 -12386.116701 -.124566
+P 27 19409.571189 -408.435368 -17869.064126 919.813357
+V 27 16948.249102 16372.794432 17068.648058 .043301
+P 28 11925.142187 -21599.189328 -9234.407376 21.820154
+V 28 -66.077239 12420.972939 -28871.022896 .016387
+P 29 -7794.971098 -12823.324675 -21654.758686 229.878424
+V 29 26601.792731 -8986.061098 -4149.722781 .032699
+P 30 -16042.116432 6257.016885 19966.577534 804.854474
+V 30 3871.160651 -25696.199976 11135.557328 .142544
+P 31 18265.645904 7667.090417 -18175.098929 39.167413
+V 31 -20517.226663 9076.644284 -16773.518011 .309244
+* 2004 2 29 18 30 .00000000
+P 1 22094.607862 2797.568983 14664.909164 332.549044
+V 1 -16731.977890 7535.936660 24026.039966 .014738
+P 3 3100.997886 15942.768024 -21087.604844 89.840211
+V 3 -24541.215417 10574.482633 4630.662441 .030644
+P 4 4877.345240 -15289.147176 21126.173602 -76.571053
+V 4 20855.478713 16926.306508 7755.668114 -.091866
+P 5 -13229.570589 -12240.201796 19436.533365 19.745680
+V 5 3734.137537 -24743.954956 -12791.561640 .013998
+P 6 -25329.037453 4474.387488 7078.863556 -1.344043
+V 6 6920.802397 -6267.007634 29364.114978 -.011156
+P 7 16846.259102 -16838.145815 11977.851802 611.906227
+V 7 14684.432563 -3095.826123 -26040.305870 -.078305
+P 8 12253.060727 -9388.265336 -21832.781455 355.574272
+V 8 20316.330147 18115.016836 3336.888429 -.088392
+P 9 -21467.535358 -15961.297551 604.912474 -32.326849
+V 9 707.901764 -3000.295592 -31277.118393 -.019628
+P 10 -1948.953673 -24655.171872 -9339.999484 40.160419
+V 10 4234.607656 -11285.347385 29324.089032 .003175
+P 11 23037.399159 13144.873654 2416.642542 99.834874
+V 11 167.887988 5305.831338 -30253.415162 .025449
+P 13 25374.648276 -6901.092258 3379.385097 -30.908267
+V 13 -3322.092079 3550.860494 31889.348946 .002306
+P 14 -16694.447663 15877.020297 13275.347198 -18.157439
+V 14 -16313.071593 4188.374534 -25606.726173 -.001285
+P 15 -6102.203630 14642.818788 -21495.629474 232.873139
+V 15 -19774.197647 -18065.516291 -6999.378399 .052979
+P 16 -1128.090397 26142.264438 -4468.529161 15.289423
+V 16 -3653.388922 5240.861582 31096.771816 -.004154
+P 17 -16556.711422 -20975.668760 3772.151798 206.768269
+V 17 4433.049534 1947.350167 31007.800261 .195232
+P 18 -15623.793225 9475.628513 -19169.458057 -15.372275
+V 18 3741.979511 -24218.723975 -15204.509548 -.026569
+P 20 13835.590815 7363.675026 21375.977085 -184.174353
+V 20 -4824.855818 26864.261155 -6109.127360 .027659
+P 21 -18997.136506 685.114199 -18756.947674 73.078464
+V 21 -16587.500900 -16831.114480 15840.483415 .004851
+P 22 -12149.000408 21176.731274 -10345.767048 -40.339291
+V 22 518.887580 -13580.906291 -27919.725061 .088424
+P 24 -7766.814665 -20780.308346 14844.160856 8.089836
+V 24 14779.779924 11008.414154 23690.947082 .025793
+P 25 -826.906076 17413.012952 20412.210320 61.694297
+V 25 -21286.097783 -13457.645820 10789.970106 .010039
+P 26 -11899.817285 -10959.175172 -21433.799912 410.338630
+V 26 24760.542582 -9289.900730 -8504.469316 -.124584
+P 27 20895.622243 966.215144 -16180.902301 919.817713
+V 27 15994.795761 14162.293595 20387.518194 .043299
+P 28 11919.176469 -20339.234010 -11743.695675 21.821373
+V 28 1.786439 15545.845671 -26808.564643 .016381
+P 29 -5410.244645 -13701.413870 -21836.219320 229.881417
+V 29 26300.175055 -10498.420822 123.670133 .032681
+P 30 -15742.068522 3887.143673 20790.227742 804.867516
+V 30 2763.147060 -26884.968723 7140.908183 .142527
+P 31 16367.398303 8558.577678 -19529.720452 39.195064
+V 31 -21586.612258 10737.163760 -13287.254105 .309248
+* 2004 2 29 18 45 .00000000
+P 1 20499.723657 3559.299831 16696.485892 332.551338
+V 1 -18630.289725 9415.167654 21056.732811 .014870
+P 3 941.275735 16933.063915 -20491.649732 89.844194
+V 3 -23383.725383 11382.156402 8595.210054 .030707
+P 4 6817.324632 -13795.935227 21639.966926 -76.579916
+V 4 22192.972030 16189.828863 3647.329470 -.091864
+P 5 -12951.462812 -14402.239103 18120.481902 19.746378
+V 5 2471.854891 -23222.372038 -16410.673528 .013766
+P 6 -24587.081646 3837.093293 9654.068063 -1.345407
+V 6 9511.838400 -7936.613327 27782.008180 -.011067
+P 7 18040.536358 -17089.975197 9538.816349 611.898821
+V 7 11838.714548 -2429.532514 -28084.954901 -.078309
+P 8 14104.869224 -7823.367563 -21349.332101 355.566084
+V 8 20759.865109 16613.802403 7389.916157 -.088338
+P 9 -21283.397880 -16140.367518 -2207.229902 -32.327940
+V 9 3419.436021 -1036.739334 -31127.468194 -.020000
+P 10 -1616.286641 -25529.181218 -6626.975934 40.160952
+V 10 3219.852298 -8092.375562 30877.788020 .003080
+P 11 22933.116985 13541.649127 -319.038444 99.837115
+V 11 -2520.914028 3560.912146 -30452.870970 .025453
+P 13 24935.238026 -6511.541732 6211.901079 -30.908100
+V 13 -6396.936379 5163.802106 30964.456101 .002298
+P 14 -18027.928109 16241.499776 10863.464500 -18.157276
+V 14 -13295.466387 3836.167860 -27914.092465 -.001292
+P 15 -7945.036005 13047.611569 -21942.211566 232.877567
+V 15 -21118.706739 -17315.830622 -2912.277063 .052744
+P 16 -1424.504759 26463.910709 -1639.353551 15.288650
+V 16 -2999.972084 1885.514179 31683.273106 -.004159
+P 17 -16042.622399 -20704.981537 6524.282418 206.786251
+V 17 7024.337169 4004.724088 30067.025415 .195255
+P 18 -15332.149461 7218.705532 -20367.612859 -15.374583
+V 18 2695.342526 -25857.199600 -11383.524482 -.026571
+P 20 13469.672808 9753.784805 20642.726695 -184.171642
+V 20 -3313.177759 26158.573340 -10161.633955 .027659
+P 21 -20462.189067 -734.088949 -17176.680611 73.079409
+V 21 -15889.461128 -14688.820649 19225.717230 .004845
+P 22 -12109.576961 19816.554536 -12761.755353 -40.331257
+V 22 290.678701 -16608.636557 -25690.617419 .088407
+P 24 -6323.702960 -19752.487481 16844.612787 8.091368
+V 24 17271.170381 11751.535478 20702.201068 .025744
+P 25 -2812.032193 16225.371624 21210.547183 61.695799
+V 25 -22769.589518 -12874.129372 6926.865141 .010282
+P 26 -9660.561970 -11872.403364 -22018.399226 410.327379
+V 26 24913.546130 -10984.945338 -4465.704740 -.124599
+P 27 22274.370432 2139.926944 -14210.627290 919.821717
+V 27 14566.471778 11923.352529 23329.446812 .043296
+P 28 11937.295884 -18808.165636 -14045.713121 21.822773
+V 28 463.457314 18430.031884 -24271.885752 .016380
+P 29 -3077.020919 -14706.544949 -21632.506217 229.884009
+V 29 25463.151890 -11794.514605 4396.784625 .032665
+P 30 -15549.552223 1433.162557 21248.194564 804.880237
+V 30 1495.282168 -27559.674842 3021.455320 .142507
+P 31 14394.489144 9599.048061 -20560.108656 39.223102
+V 31 -22175.426058 12373.259765 -9577.904654 .309255
+* 2004 2 29 19 0 .00000000
+P 1 18756.021626 4495.251749 18444.503417 332.551640
+V 1 -20033.667756 11392.622525 17733.685758 .015090
+P 3 -1096.522826 17981.632176 -19544.644186 89.847249
+V 3 -21841.662175 11859.435026 12420.583547 .030633
+P 4 8859.930109 -12385.959878 21781.134833 -76.588381
+V 4 23125.927502 15087.703108 -512.945011 -.091860
+P 5 -12778.846537 -16406.718625 16491.322539 19.748696
+V 5 1402.271718 -21250.964017 -19739.625292 .013635
+P 6 -23627.754724 3039.332587 12065.564486 -1.348504
+V 6 11741.733675 -9821.354673 25731.466735 -.010903
+P 7 18975.635329 -17262.705988 6936.709447 611.891697
+V 7 8939.949830 -1338.651259 -29658.202951 -.078310
+P 8 15975.762865 -6404.951428 -20506.555990 355.557799
+V 8 20734.822578 14873.802706 11311.045130 -.088283
+P 9 -20846.859028 -16158.999364 -4982.438783 -32.332257
+V 9 6303.324131 557.732443 -30458.315342 -.020306
+P 10 -1357.598163 -26105.169697 -3798.146817 40.161097
+V 10 2597.240959 -4678.696132 31893.507912 .003084
+P 11 22578.349139 13795.439659 -3049.272019 99.839227
+V 11 -5385.629970 2135.569474 -30132.540956 .025459
+P 13 24232.657588 -5962.096035 8936.888279 -30.908070
+V 13 -9156.940770 7093.304272 29503.245241 .002287
+P 14 -19084.723867 16553.891024 8265.157740 -18.157038
+V 14 -10180.996664 3029.945174 -29743.482929 -.001305
+P 15 -9891.983999 11537.222756 -22018.633346 232.882835
+V 15 -22077.418814 -16191.441120 1215.026906 .052533
+P 16 -1680.333421 26479.277407 1218.069092 15.288434
+V 16 -2754.207663 -1549.053815 31723.733717 -.004161
+P 17 -15287.574103 -20266.845702 9169.424019 206.803042
+V 17 9773.924392 5661.712669 28633.400977 .195266
+P 18 -15145.321809 4836.103071 -21212.748112 -15.376821
+V 18 1425.999054 -27003.886844 -7371.156257 -.026578
+P 20 13236.695038 12056.196186 19552.193707 -184.169023
+V 20 -1885.478048 24919.431957 -14037.221598 .027661
+P 21 -21842.883422 -1957.020198 -15306.270146 73.079745
+V 21 -14713.471612 -12484.730735 22279.424842 .004829
+P 22 -12108.100723 18195.129980 -14956.582503 -40.323070
+V 22 -317.716712 -19371.530522 -23011.923064 .088384
+P 24 -4662.658220 -18679.333846 18560.320010 8.093736
+V 24 19607.555582 12018.526315 17372.377605 .025792
+P 25 -4914.026007 15105.631873 21655.675936 61.696945
+V 25 -23873.270059 -11958.928567 2951.477356 .010466
+P 26 -7430.822622 -12931.655678 -22234.838381 410.316136
+V 26 24552.341570 -12519.794066 -334.083932 -.124614
+P 27 23504.078679 3114.369318 -11994.301081 919.825764
+V 27 12688.420058 9749.224689 25848.356360 .043291
+P 28 12013.149988 -17031.742485 -16099.770484 21.824079
+V 28 1276.299760 20984.128423 -21306.663141 .016375
+P 29 -841.620554 -15815.417685 -21047.124600 229.886833
+V 29 24135.263791 -12790.685099 8592.394955 .032651
+P 30 -15475.168814 -1057.429729 21332.566002 804.893691
+V 30 152.483226 -27696.082605 -1148.760556 .142483
+P 31 12390.180178 10782.492628 -21248.819021 39.251069
+V 31 -22286.158759 13900.371542 -5704.503452 .309263
+* 2004 2 29 19 15 .00000000
+P 1 16909.222778 5610.177082 19879.623213 332.551880
+V 1 -20919.020430 13376.839086 14113.253528 .015354
+P 3 -2980.630620 19056.231151 -18262.105752 89.849812
+V 3 -19980.177055 11952.826937 16040.691401 .030526
+P 4 10966.238655 -11088.955360 21548.226586 -76.596474
+V 4 23600.984630 13692.334042 -4653.601084 -.091852
+P 5 -12691.182420 -18215.617115 14577.752795 19.749973
+V 5 594.671848 -18886.810471 -22722.013340 .013421
+P 6 -22485.918312 2065.009133 14272.735772 -1.348127
+V 6 13560.525073 -11847.187505 23247.944081 -.010580
+P 7 19650.843313 -17318.546622 4215.440792 611.884718
+V 7 6078.303884 164.490457 -30728.363439 -.078314
+P 8 17822.302667 -5150.655370 -19319.219791 355.549520
+V 8 20215.867164 12981.514780 15036.425262 -.088227
+P 9 -20146.142831 -16052.128516 -7674.598246 -32.331380
+V 9 9275.629358 1747.681326 -29285.130641 -.020362
+P 10 -1136.085324 -26367.714487 -902.872828 40.161664
+V 10 2397.252347 -1144.106134 32351.962455 .003140
+P 11 21960.833342 13936.726175 -5727.455876 99.841667
+V 11 -8345.849748 1065.518877 -29297.830824 .025459
+P 13 23298.652893 -5227.383947 11507.143396 -30.907420
+V 13 -11528.651924 9267.831986 27530.938397 .002278
+P 14 -19860.578979 16773.369785 5524.940924 -18.156932
+V 14 -7068.845218 1773.686276 -31063.044677 -.001313
+P 15 -11905.707476 10142.288186 -21724.345117 232.886945
+V 15 -22594.500561 -14762.835740 5314.419231 .052245
+P 16 -1932.726496 26185.662709 4054.534725 15.288296
+V 16 -2923.298413 -4964.257064 31218.388517 -.004162
+P 17 -14281.137866 -19698.870659 11664.169014 206.821185
+V 17 12595.959621 6886.011231 26729.144284 .195279
+P 18 -15079.652266 2373.900424 -21690.789875 -15.379149
+V 18 17.419317 -27621.362433 -3237.803688 -.026586
+P 20 13125.169991 14224.261373 18123.357590 -184.166753
+V 20 -628.071669 23180.157099 -17668.594485 .027657
+P 21 -23096.627240 -2982.207844 -13177.810844 73.080128
+V 21 -13071.830520 -10309.421572 24952.455463 .004817
+P 22 -12176.746329 16340.169647 -16891.766946 -40.315274
+V 22 -1258.292362 -21785.120042 -19928.988823 .088364
+P 24 -2801.651588 -17602.699926 19963.108540 8.095445
+V 24 21700.562937 11834.501062 13758.272667 .025773
+P 25 -7096.226167 14080.727356 21740.365257 61.699383
+V 25 -24544.256375 -10778.602608 -1072.145264 .010703
+P 26 -5255.736420 -14118.517140 -22077.752631 410.305007
+V 26 23705.158218 -13806.578424 3823.531665 -.124623
+P 27 24546.032071 3899.356637 -9571.744632 919.829142
+V 27 10402.396849 7727.085832 27906.844588 .043284
+P 28 12175.828915 -15043.277382 -17869.663491 21.825569
+V 28 2381.994516 23130.217133 -17966.712704 .016374
+P 29 1254.443897 -16997.684794 -20090.476143 229.889777
+V 29 22378.443562 -13414.548538 12634.736082 .032637
+P 30 -15521.716420 -3535.808931 21042.140122 804.906306
+V 30 -1177.378851 -27289.020366 -5294.918620 .142461
+P 31 10396.779289 12095.372164 -21583.849340 39.278869
+V 31 -21937.448187 15236.236885 -1728.835904 .309265
+* 2004 2 29 19 30 .00000000
+P 1 15006.292287 6900.481822 20977.792130 332.553609
+V 1 -21281.846259 15274.398246 10256.378030 .015770
+P 3 -4685.629687 20120.431095 -16665.376405 89.851894
+V 3 -17874.767605 11623.096611 19392.384825 .030446
+P 4 13093.232547 -9927.681785 20946.192029 -76.605091
+V 4 23580.793945 12085.764423 -8704.155729 -.091852
+P 5 -12662.206588 -19796.658148 12413.263835 19.750321
+V 5 106.563157 -16200.125631 -25307.855474 .013188
+P 6 -21200.244672 905.043129 16238.466054 -1.348871
+V 6 14933.723855 -13932.728579 20373.681052 -.010312
+P 7 20073.487171 -17221.611482 1421.413163 611.877949
+V 7 3341.701623 2049.932394 -31271.856074 -.078317
+P 8 19599.542497 -4070.142260 -17807.688924 355.541714
+V 8 19194.949821 11027.118095 18505.627939 -.088170
+P 9 -19177.229411 -15857.129908 -10239.318183 -32.334006
+V 9 12248.443224 2514.440696 -27630.706987 -.020615
+P 10 -913.048379 -26310.615987 2008.204973 40.161797
+V 10 2631.410543 2406.890076 32244.049917 .003163
+P 11 21075.790008 13998.516347 -8307.861367 99.843877
+V 11 -11316.208806 371.029786 -27962.724147 .025461
+P 13 22170.912319 -4289.027303 13878.143684 -30.907504
+V 13 -13453.878745 11604.026033 25081.792925 .002268
+P 14 -20360.116243 16860.318076 2689.809974 -18.157294
+V 14 -4056.515066 90.155845 -31849.561621 -.001318
+P 15 -13944.505182 8886.636518 -21064.892671 232.890513
+V 15 -22629.169257 -13110.304200 9318.717530 .052011
+P 16 -2218.658685 25589.232017 6821.284393 15.288089
+V 16 -3496.167410 -8262.244559 30176.868380 -.004159
+P 17 -13020.837245 -19040.834229 13967.411218 206.838571
+V 17 15400.078596 7661.863309 24383.139492 .195291
+P 18 -15143.696173 -119.277746 -21794.084936 -15.381177
+V 18 -1441.426374 -27690.650213 944.466689 -.026592
+P 20 13116.165071 16215.127619 16381.066076 -184.164528
+V 20 380.472113 20991.495724 -20992.835758 .027654
+P 21 -24182.707485 -3816.198205 -10827.539370 73.080826
+V 21 -10993.879749 -8249.944994 27202.009414 .004812
+P 22 -12342.690627 14286.485896 -18533.252773 -40.307294
+V 22 -2468.363814 -23776.602549 -16494.679961 .088345
+P 24 -766.297111 -16561.413749 21030.098947 8.097794
+V 24 23469.237199 11241.301021 9920.590668 .025918
+P 25 -9317.830302 13171.177525 21463.184054 61.699750
+V 25 -24743.690935 -9408.681142 -5079.292984 .010781
+P 26 -3177.142630 -15406.974814 -21547.880256 410.292872
+V 26 22416.862757 -14764.880466 7938.531234 -.124629
+P 27 25365.954323 4512.153118 -6985.746156 919.833461
+V 27 7764.930947 5934.813842 29476.391448 .043279
+P 28 12448.560244 -12882.461449 -19324.355843 21.826967
+V 28 3709.051071 24804.941115 -14312.859511 .016374
+P 29 3175.922142 -18217.109997 -18779.657043 229.893184
+V 29 20269.434643 -13608.090995 16451.059918 .032624
+P 30 -15684.091256 -5953.552261 20382.427591 804.919236
+V 30 -2407.197322 -26352.541857 -9342.919230 .142442
+P 31 8454.213867 13516.962336 -21558.854041 39.306820
+V 31 -21163.398186 16303.948950 2285.308597 .309266
+* 2004 2 29 19 45 .00000000
+P 1 13093.761711 8354.209958 21720.612483 332.556027
+V 1 -21136.224592 16993.489263 6227.631854 .016167
+P 3 -6193.256465 21134.981242 -14781.306253 89.854451
+V 3 -15608.416174 10847.037957 22416.597766 .030448
+P 4 15195.307227 -8917.205789 19986.232845 -76.613392
+V 4 23045.394397 10356.342735 -12596.347441 -.091848
+P 5 -12661.096111 -21124.375931 10035.526957 19.751616
+V 5 -18.580658 -13271.558689 -27454.357886 .012993
+P 6 -19811.770969 -442.104825 17929.720803 -1.350333
+V 6 15843.395761 -15992.323501 17157.012065 -.010100
+P 7 20258.579281 -16939.479196 -1397.242020 611.870743
+V 7 812.451790 4270.836318 -31273.963251 -.078314
+P 8 21262.604719 -3164.919634 -15997.583256 355.533663
+V 8 17681.646841 9101.098225 21662.444483 -.088108
+P 9 -17944.073497 -15612.288754 -12634.569137 -32.336876
+V 9 15132.976397 2856.456256 -25524.617874 -.020791
+P 10 -649.626236 -25937.140606 4884.094661 40.163118
+V 10 3291.752748 5869.124183 31571.098718 .003226
+P 11 19926.228763 14014.918879 -10746.396714 99.846120
+V 11 -14209.508091 56.235752 -26149.565316 .025466
+P 13 20891.591917 -3136.561627 16008.833703 -30.907287
+V 13 -14891.832125 14009.962370 22198.486412 .002259
+P 14 -20596.520205 16777.987314 -191.555328 -18.156958
+V 14 -1236.166276 -1979.828111 -32088.891363 -.001324
+P 15 -15963.741255 7786.544394 -20051.791221 232.894726
+V 15 -22157.196856 -11320.843107 13162.601879 .051864
+P 16 -2573.301257 24704.787655 9470.840669 15.287821
+V 16 -4443.957372 -11349.529369 28617.969182 -.004159
+P 17 -11512.417068 -18333.167416 16040.934371 206.856168
+V 17 18094.470575 7990.545502 21630.676746 .195307
+P 18 -15337.890337 -2593.954993 -21521.492328 -15.383280
+V 18 -2859.711493 -27211.839269 5103.219863 -.026608
+P 20 13184.146103 17991.223599 14355.590279 -184.162284
+V 20 1072.519023 18419.691564 -23952.519836 .027650
+P 21 -25063.782505 -4473.092968 -8295.238323 73.080666
+V 21 -8524.977598 -6386.633339 28992.168614 .004798
+P 22 -12626.900714 12074.809732 -19852.047305 -40.299345
+V 22 -3873.087307 -25287.686906 -12768.484845 .088330
+P 24 1410.949800 -15589.850529 21744.015894 8.101577
+V 24 24842.959927 10295.691512 5923.006431 .026040
+P 25 -11535.226204 12390.405635 20828.524197 61.701210
+V 25 -24448.190064 -7930.836151 -9005.413167 .010781
+P 26 -1232.145908 -16764.235781 -20652.177734 410.281602
+V 26 20747.510481 -15324.971473 11941.511940 -.124627
+P 27 25935.235670 4976.509160 -4281.260069 919.837121
+V 27 4844.992995 4438.258088 30537.365261 .043277
+P 28 12847.658078 -10593.937872 -20438.553048 21.828649
+V 28 5175.878322 25961.963874 -10411.648063 .016375
+P 29 4895.019581 -19432.978175 -17138.119272 229.895936
+V 29 17896.600495 -13330.153730 19973.112414 .032611
+P 30 -15949.522388 -8264.346289 19365.520398 804.932437
+V 30 -3454.296063 -24919.299093 -13220.849749 .142420
+P 31 6598.689450 15019.968159 -21173.289208 39.334770
+V 31 -20012.368102 17034.868462 6272.930186 .309266
+* 2004 2 29 20 0 .00000000
+P 1 11216.082369 9951.346631 22095.624496 332.556039
+V 1 -20514.135676 18447.408352 2094.228883 .016480
+P 3 -7492.934363 22059.310015 -12641.835875 89.858033
+V 3 -13268.411989 9618.647887 25059.455550 .030496
+P 4 17225.873312 -8064.490376 18685.553882 -76.621607
+V 4 21992.923996 8595.207000 -16265.204811 -.091847
+P 5 -12653.812525 -22180.918820 7485.717604 19.750588
+V 5 246.992681 -10189.128851 -29126.535421 .012939
+P 6 -18362.383297 -1970.193261 19318.061630 -1.351539
+V 6 16288.638479 -17939.260324 13651.608119 -.009806
+P 7 20228.164737 -16444.651258 -4191.491647 611.863450
+V 7 -1435.992982 6764.944094 -30729.456664 -.078311
+P 8 22768.258663 -2428.463872 -13919.363556 355.525829
+V 8 15702.884588 7290.886825 24455.626603 -.088048
+P 9 -16458.545316 -15355.267090 -14821.267325 -32.338933
+V 9 17842.621330 2789.042685 -23002.654027 -.020871
+P 10 -308.543851 -25259.896303 7674.394729 40.163274
+V 10 4351.110805 9140.849920 30344.882955 .003182
+P 11 18522.969799 14019.683173 -13001.344909 99.848233
+V 11 -16939.911845 109.057595 -23888.714687 .025468
+P 13 19505.678532 -1768.046683 17862.349405 -30.907148
+V 13 -15820.575384 16388.760520 18931.341677 .002248
+P 14 -20590.898436 16494.063626 -3069.622036 -18.157087
+V 14 1308.847508 -4378.830279 -31776.251958 -.001328
+P 15 -17917.380911 6850.280188 -18702.317552 232.898495
+V 15 -21171.826551 -9484.856086 16783.501319 .051755
+P 16 -3028.470391 23555.219198 11957.816281 15.287747
+V 16 -5721.221797 -14140.433414 26569.266331 -.004162
+P 17 -9769.832521 -17615.420190 17849.975609 206.874262
+V 17 20589.019056 7890.302620 18513.155054 .195319
+P 18 -15654.551946 -5001.519058 -20878.358954 -15.385519
+V 18 -4148.435802 -26203.963429 9166.924458 -.026624
+P 20 13298.088827 19521.544540 12082.084377 -184.160121
+V 20 1394.116383 15543.958641 -26496.717095 .027648
+P 21 -25707.256104 -4973.810462 -5623.596423 73.080650
+V 21 -5724.912256 -4790.175641 30294.336588 .004794
+P 22 -13043.172762 9750.377043 -20824.771058 -40.291035
+V 22 -5388.495823 -26276.885887 -8815.466203 .088314
+P 24 3691.839731 -14716.689764 22093.413419 8.102609
+V 24 25763.978800 9067.057027 1831.232027 .025900
+P 25 -13703.430463 11744.321438 19846.549365 61.702044
+V 25 -23650.776983 -6429.843106 -12786.933790 .010742
+P 26 548.163210 -18151.824627 -19403.843890 410.270279
+V 26 18770.305938 -15430.764152 15763.344254 -.124626
+P 27 26231.933313 5321.476727 -1504.613130 919.840961
+V 27 1721.291892 3289.069563 31078.862396 .043271
+P 28 13381.768394 -8225.686166 -21193.154507 21.830370
+V 28 6694.272463 26573.706222 -6333.933591 .016375
+P 29 6392.281539 -20601.697548 -15195.204037 229.898249
+V 29 15356.269981 -12558.199800 23138.489598 .032600
+P 30 -16298.128168 -10425.604103 18009.831698 804.945553
+V 30 -4243.885855 -23039.161818 -16860.376290 .142395
+P 31 4861.480162 16571.390515 -20432.483909 39.362523
+V 31 -18545.260283 17371.296825 10168.663190 .309269
+* 2004 2 29 20 15 .00000000
+P 1 9414.069091 11664.428582 22096.498574 332.558296
+V 1 -19464.138435 19557.869247 -2074.989078 .016863
+P 3 -8582.010464 22853.101549 -10283.481222 89.860750
+V 3 -10942.975078 7949.640348 27273.327272 .030406
+P 4 19138.992040 -7368.304456 17067.022368 -76.628913
+V 4 20439.652136 6892.718626 -19650.023300 -.091845
+P 5 -12604.569371 -22956.565124 4807.790286 19.751579
+V 5 914.252609 -7044.918000 -30297.682214 .013277
+P 6 -16893.285326 -3665.250973 20380.090420 -1.353648
+V 6 16285.445713 -19689.017246 9915.664860 -.009449
+P 7 20010.388348 -15715.848686 -6912.277030 611.856569
+V 7 -3341.999480 9456.711477 -29643.057067 -.078308
+P 8 24076.447115 -1846.641963 -11607.853881 355.518246
+V 8 13302.063007 5677.626735 26839.569849 -.087988
+P 9 -14740.100553 -15121.617532 -16763.808373 -32.340588
+V 9 20295.895880 2343.583536 -20106.248669 -.020846
+P 10 144.202276 -24300.345080 10330.226106 40.163069
+V 10 5764.198210 12127.695508 28587.404767 .003132
+P 11 16884.378318 14044.759900 -15034.064965 99.850070
+V 11 -19426.105764 501.743387 -21218.079646 .025473
+P 13 18059.255674 -190.341966 19406.665891 -30.907149
+V 13 -16237.728137 18642.395676 15337.408607 .002237
+P 14 -20371.345134 15982.074020 -5894.853476 -18.157327
+V 14 3507.108446 -7034.887620 -30916.350341 -.001333
+P 15 -19759.581226 6077.949838 -17039.224383 232.902229
+V 15 -19684.077996 -7692.759250 20122.436093 .051774
+P 16 -3611.212004 22170.657020 14239.681504 15.287639
+V 16 -7267.756331 -16560.217030 24066.586126 -.004162
+P 17 -7814.955475 -16924.758158 19363.760175 206.891913
+V 17 22798.429789 7395.725620 15077.737960 .195323
+P 18 -16078.205186 -7295.894262 -19876.382808 -15.388007
+V 18 -5224.001567 -24704.158680 13066.175024 -.026636
+P 20 13422.813543 20782.686866 9599.960442 -184.157664
+V 20 1307.188794 12453.459605 -28581.872459 .027646
+P 21 -26086.485810 -5345.099540 -2857.533068 73.081620
+V 21 -2665.814527 -3519.058386 31087.590772 .004801
+P 22 -13597.462940 7361.337333 -21434.107141 -40.282880
+V 22 -6924.932203 -26721.153678 -4705.078509 .088297
+P 24 6033.583826 -13963.899202 22072.816654 8.106157
+V 24 26189.471323 7634.679656 -2287.906604 .026106
+P 25 -15777.586638 11231.183405 18533.069449 61.703721
+V 25 -22361.267423 -4990.424178 -16362.094980 .010721
+P 26 2139.779208 -19526.929112 -17822.243453 410.259535
+V 26 16569.015882 -15042.354978 19336.340348 -.124627
+P 27 26241.516251 5580.056387 1297.268809 919.845567
+V 27 -1520.682504 2523.134393 31098.415659 .043263
+P 28 14051.441158 -5827.285366 -21575.575123 21.831554
+V 28 8173.162851 26632.292077 -2153.398601 .016376
+P 29 7657.133839 -21678.525649 -12985.560039 229.900909
+V 29 12748.784298 -11289.289637 25891.836076 .032593
+P 30 -16703.768724 -12399.926769 16339.715051 804.958188
+V 30 -4712.164176 -20777.152239 -20198.026975 .142370
+P 31 3267.894345 18133.619014 -19347.633074 39.390236
+V 31 -16833.347842 17268.817890 13907.675217 .309271
+* 2004 2 29 20 30 .00000000
+P 1 7723.490132 13459.439772 21723.135577 332.560708
+V 1 -18049.454624 20258.011415 -6210.581748 .017186
+P 3 -9465.684326 23477.887369 -7746.727322 89.863697
+V 3 -8717.812317 5869.265730 29017.795359 .030364
+P 4 20890.983488 -6819.450663 15158.743615 -76.637411
+V 4 18419.346325 5334.977058 -22695.243518 -.091843
+P 5 -12477.365880 -23449.935166 2047.717887 19.752121
+V 5 1976.979692 -3931.649550 -30949.693203 .013712
+P 6 -15443.506534 -5505.917795 21097.818194 -1.352937
+V 6 15865.966386 -21162.433205 6011.042630 -.009017
+P 7 19638.312625 -14739.088375 -9511.422551 611.849392
+V 7 -4858.301689 12260.056978 -28029.691831 -.078303
+P 8 25151.707914 -1398.414836 -9101.705002 355.511652
+V 8 10537.607803 4333.166596 28774.940119 -.087931
+P 9 -12815.193886 -14943.392671 -18430.549057 -32.343255
+V 9 22419.185083 1566.213214 -16881.897102 -.020813
+P 10 737.791103 -23087.972216 12805.134300 40.162768
+V 10 7469.456891 14746.311881 26330.448615 .003165
+P 11 15035.820913 14118.937314 -16809.645556 99.852159
+V 11 -21594.299012 1192.007049 -18182.526595 .025480
+P 13 16597.740733 1580.964328 20615.156831 -30.906882
+V 13 -16160.397286 20675.561262 11479.422779 .002224
+P 14 -19971.742798 15222.577881 -8618.562895 -18.157393
+V 14 5301.806983 -9864.175683 -29523.346939 -.001338
+P 15 -21446.281579 5461.648270 -15090.380915 232.907714
+V 15 -17722.435161 -6031.603225 23124.815654 .051910
+P 16 -4342.577472 20587.362794 16277.478026 15.287131
+V 16 -9010.995004 -18547.777039 21153.347142 -.004165
+P 17 -5677.003236 -16294.540180 20556.002511 206.909901
+V 17 24645.255893 6556.576710 11376.948515 .195313
+P 18 -16586.219766 -9435.107134 -18533.369169 -15.390541
+V 18 -6011.546469 -22766.142478 16734.845040 -.026647
+P 20 13520.489294 21759.593140 6952.190457 -184.154815
+V 20 791.098721 9243.912051 -30172.542038 .027642
+P 21 -26181.783418 -5618.342646 -43.495048 73.082106
+V 21 570.357865 -2617.452599 31358.948956 .004802
+P 22 -14287.539999 4957.047465 -21669.139089 -40.274902
+V 22 -8390.739566 -26616.793517 -509.876008 .088282
+P 24 8390.270805 -13345.978985 21682.780970 8.107248
+V 24 26093.082851 6084.695235 -6367.380955 .026147
+P 25 -17714.472742 10841.746721 16909.339656 61.703250
+V 25 -20606.089213 -3694.070954 -19671.790619 .010699
+P 26 3526.597453 -20843.951675 -15932.721276 410.247967
+V 26 14234.901998 -14138.036615 22595.512575 -.124626
+P 27 25957.336905 5787.731222 4077.603190 919.849098
+V 27 -4791.754270 2159.627531 30601.605171 .043253
+P 28 14849.044864 -3448.128947 -21579.931709 21.833072
+V 28 9522.447346 26149.673323 2054.960349 .016377
+P 29 8688.060801 -22619.346098 -10548.462089 229.903700
+V 29 10174.422464 -9540.232003 28185.856616 .032588
+P 30 -17135.156548 -14156.351693 14384.974158 804.971340
+V 30 -4808.931591 -18210.793210 -23176.337653 .142344
+P 31 1836.454268 19665.717391 -17935.706986 39.418714
+V 31 -14955.700358 16698.220614 17426.620930 .309276
+* 2004 2 29 20 45 .00000000
+P 1 6173.853760 15296.960186 20981.674006 332.559994
+V 1 -16345.526633 20495.001648 -10243.548524 .017523
+P 3 -10156.628905 23898.590174 -5075.339480 89.866147
+V 3 -6672.743211 3423.428143 30260.515009 .030249
+P 4 22441.949077 -6401.298557 12993.562261 -76.646098
+V 4 15982.008520 4000.538564 -25351.227181 -.091850
+P 5 -12237.527422 -23667.895198 -747.291395 19.753048
+V 5 3412.019402 -939.282658 -31073.239844 .014202
+P 6 -14048.503382 -7464.063197 21458.954630 -1.353556
+V 6 15077.186211 -22288.693366 2002.364260 -.008704
+P 7 19148.530049 -13508.487795 -11942.557210 611.842281
+V 7 -5954.004098 15081.631394 -25914.519549 -.078299
+P 8 25964.441214 -1056.797160 -6442.804065 355.505328
+V 8 7480.997234 3317.382738 30229.241823 -.087896
+P 9 -10716.457668 -14847.894609 -19794.236607 -32.346713
+V 9 24149.206626 516.029702 -13380.571857 -.020705
+P 10 1495.221555 -21659.146789 15055.941607 40.162191
+V 10 9391.582930 16927.560050 23614.920599 .003290
+P 11 13008.863003 14266.605571 -18297.500616 99.854695
+V 11 -23380.958560 2124.725646 -14833.180167 .025488
+P 13 15164.163104 3521.970420 21467.055442 -30.906827
+V 13 -15624.340717 22399.427233 7424.663303 .002213
+P 14 -19430.347979 14204.096211 -11193.756444 -18.157758
+V 14 6652.851287 -12774.151562 -27620.654015 -.001337
+P 15 -22936.738589 4985.909964 -12888.343563 232.913027
+V 15 -15331.928277 -4581.821518 25741.191967 .052029
+P 16 -5236.636916 18846.400338 18036.468231 15.286230
+V 16 -10868.875697 -20057.815058 17879.786257 -.004166
+P 17 -3391.703127 -15753.026003 21405.367591 206.927640
+V 17 26062.727662 5436.079187 7468.188129 .195302
+P 18 -17149.733728 -11382.687142 -16872.886765 -15.393197
+V 18 -6447.909133 -20458.083577 20111.154438 -.026655
+P 20 13552.247658 22445.979868 4184.548906 -184.151902
+V 20 -156.486721 6013.957273 -31241.975693 .027640
+P 21 -25981.172955 -5828.191405 2771.266882 73.082228
+V 21 3894.680149 -2113.615206 31103.550574 .004803
+P 22 -15102.975862 2586.318337 -21525.568561 -40.267055
+V 22 -9696.055775 -25979.591420 3695.859947 .088267
+P 24 10714.397051 -12869.490464 20929.869665 8.108816
+V 24 25465.894797 4506.828420 -10340.858731 .026271
+P 25 -19473.966815 10559.694386 15001.783431 61.703789
+V 25 -18427.531641 -2615.947347 -22660.419740 .010766
+P 26 4700.935781 -22056.214003 -13766.300039 410.237443
+V 26 11863.266503 -12715.669646 25479.899892 -.124626
+P 27 25380.822137 5980.943372 6790.454874 919.853227
+V 27 -8002.184797 2200.681353 29601.602205 .043243
+P 28 15759.023938 -1135.665254 -21207.093519 21.834707
+V 28 10656.748508 25156.942998 6216.332200 .016380
+P 29 9492.417786 -23382.421925 -7927.047915 229.906420
+V 29 7729.384180 -7346.916147 29982.119603 .032583
+P 30 -17557.176876 -15671.340414 12180.276544 804.983943
+V 30 -4499.622723 -15426.991544 -25744.837394 .142323
+P 31 578.322925 21124.860028 -16219.272591 39.447435
+V 31 -12996.280910 15646.922017 20664.646625 .309276
+* 2004 2 29 21 0 .00000000
+P 1 4787.435233 17133.526988 19884.403638 332.562045
+V 1 -14437.132969 20232.137542 -14106.368009 .018058
+P 3 -10674.316172 24084.957292 -2315.603088 89.868554
+V 3 -4878.534594 673.122620 30977.936736 .030236
+P 4 23757.154000 -6090.599679 10608.498351 -76.654155
+V 4 13192.036358 2957.451646 -27574.929027 -.091856
+P 5 -11853.194102 -23625.160171 -3529.586687 19.754941
+V 5 5180.175959 1848.253087 -30667.805596 .014687
+P 6 -12738.903514 -9505.661387 21457.114672 -1.353943
+V 6 13979.076674 -23008.027380 -2043.924305 -.008401
+P 7 18579.623791 -12026.756627 -14162.026995 611.834918
+V 7 -6615.929862 17824.481686 -23332.698252 -.078294
+P 8 26491.977746 -790.040052 -3675.635848 355.497914
+V 8 4214.324725 2675.917568 31177.324382 -.087879
+P 9 -8481.673645 -14856.604348 -20832.385096 -32.348237
+V 9 25435.134037 -737.104915 -9657.130679 -.020553
+P 10 2432.210815 -20055.721232 17043.530952 40.163201
+V 10 11444.619548 18619.103050 20489.993317 .003402
+P 11 10840.236118 14506.696743 -19471.897069 99.857493
+V 11 -24735.173108 3234.134870 -11226.617345 .025502
+P 13 13797.550824 5601.203977 21947.809043 -30.906568
+V 13 -14682.400623 23735.144491 3243.734028 .002204
+P 14 -18788.215802 12923.740983 -13575.950560 -18.157786
+V 14 7538.328667 -15667.053814 -25240.568605 -.001335
+P 15 -24194.952169 4628.442487 -10469.860965 232.917786
+V 15 -12572.638448 -3414.211392 27927.966426 .051931
+P 16 -6299.767343 16992.138136 19486.710212 15.285864
+V 16 -12753.062994 -21062.398970 14302.084825 -.004163
+P 17 -1000.214680 -15322.260738 21895.884924 206.945226
+V 17 26997.293502 4108.704302 3413.163122 .195290
+P 18 -17734.822552 -13108.851583 -14923.832209 -15.395680
+V 18 -6484.120231 -17859.952054 23138.638608 -.026663
+P 20 13479.842001 22844.433117 1344.810188 -184.149326
+V 20 -1519.454416 2861.434152 -31772.537276 .027640
+P 21 -25480.879274 -6011.083522 5539.433893 73.082485
+V 21 7214.370432 -2018.857407 30324.752081 .004809
+P 22 -16025.476419 295.684875 -21005.807065 -40.258808
+V 22 -10756.552177 -24844.165472 7837.542192 .088251
+P 24 12958.457062 -12532.884857 19826.551322 8.111924
+V 24 24316.794996 2991.012458 -14143.590604 .026496
+P 25 -21020.419627 10362.339622 12841.638414 61.704540
+V 25 -15882.435878 -1821.974945 -25276.744401 .010895
+P 26 5663.732125 -23117.752610 -11359.256665 410.225375
+V 26 9549.729222 -10793.319235 27933.930411 -.124623
+P 27 24521.385662 6195.567592 9391.397190 919.856933
+V 27 -11064.724969 2631.645758 28118.671873 .043232
+P 28 16758.484592 1066.265338 -20464.599943 21.836276
+V 28 11498.930612 23702.883152 10257.537362 .016385
+P 29 10085.891250 -23930.053443 -5167.492528 229.909345
+V 29 5502.001403 -4762.868689 31251.640004 .032582
+P 30 -17932.361647 -16929.470119 9764.486387 804.996600
+V 30 -3766.678576 -12518.594867 -27860.857837 .142304
+P 31 -502.996382 22467.871374 -14226.222429 39.473565
+V 31 -11040.803400 14119.820359 23564.436670 .309275
+* 2004 2 29 21 15 .00000000
+P 1 3578.579645 18923.159661 18449.585832 332.565337
+V 1 -12415.160069 19450.376661 -17734.031008 .018504
+P 3 -11044.072331 24012.824723 484.494492 89.870868
+V 3 -3394.078663 -2307.755651 31155.867191 .030275
+P 4 24808.220933 -5858.551416 8044.127641 -76.662122
+V 4 10125.882035 2260.707879 -29330.464513 -.091865
+P 5 -11296.701773 -23343.613284 -6251.864003 19.756280
+V 5 7227.703789 4356.065234 -29741.588479 .014922
+P 6 -11539.438258 -11591.892777 21091.939113 -1.354005
+V 6 12642.273183 -23274.026774 -6060.525626 -.008192
+P 7 17970.539850 -10305.346578 -16129.774305 611.828098
+V 7 -6849.229649 20391.955441 -20328.883794 -.078292
+P 8 26719.409604 -562.995612 -846.601410 355.490678
+V 8 827.472737 2438.412927 31601.821587 -.087863
+P 9 -6152.571185 -14984.325300 -21527.598003 -32.349390
+V 9 26240.320184 -2115.111733 -5769.711386 -.020336
+P 10 3556.391452 -18323.428485 18733.544981 40.163637
+V 10 13535.480803 19787.296627 17012.082859 .003476
+P 11 8570.612537 14851.841938 -20312.405639 99.859932
+V 11 -25620.556407 4446.443455 -7423.965636 .025515
+P 13 12531.488709 7780.663873 22049.321412 -30.906338
+V 13 -13402.272705 24616.957124 -990.706759 .002195
+P 14 -18087.524468 11387.518453 -15723.949008 -18.158268
+V 14 7955.258900 -18443.624517 -22423.744293 -.001331
+P 15 -25190.932651 4361.117496 -7875.317567 232.922282
+V 15 -9517.670229 -2587.247558 29648.046995 .051924
+P 16 -7530.242327 15070.640726 20603.550250 15.284955
+V 16 -14572.404799 -21551.864011 10481.410944 -.004158
+P 17 1452.160362 -15017.179396 22017.306192 206.962959
+V 17 27410.779124 2657.503782 -722.796766 .195276
+P 18 -18303.867762 -14591.432524 -12719.912038 -15.398012
+V 18 -6087.332344 -15060.456064 25767.008868 -.026671
+P 20 13267.286728 22966.170067 -1518.084291 -184.146868
+V 20 -3263.828789 -120.293560 -31755.957389 .027639
+P 21 -24685.529290 -6203.693774 8214.359611 73.082632
+V 21 10436.047896 -2327.116462 29034.134167 .004810
+P 22 -17029.540314 -1872.230889 -20118.938842 -40.250794
+V 22 -11496.957837 -23262.554814 11841.713457 .088235
+P 24 15076.539850 -12326.637258 18391.017860 8.114442
+V 24 22672.238594 1624.001973 -17713.285567 .026635
+P 25 -22323.885363 10221.578559 10464.525150 61.704895
+V 25 -13040.354337 -1366.202548 -27474.746915 .011030
+P 26 6424.400237 -23985.135889 -8752.576000 410.213951
+V 26 7386.377965 -8409.086419 29908.778855 -.124622
+P 27 23396.072338 6465.433471 11838.127164 919.861072
+V 27 -13897.507397 3421.902092 26179.655243 .043224
+P 28 17818.080967 3118.930997 -19366.451805 21.837632
+V 28 11983.233662 21851.826570 14108.385313 .016389
+P 29 10491.634047 -24230.074138 -2318.140202 229.912140
+V 29 3569.334138 -1857.112678 31975.238237 .032581
+P 30 -18222.455630 -17923.806109 7179.932794 805.008616
+V 30 -2610.217847 -9580.769828 -29490.157389 .142286
+P 31 -1411.670680 23652.814364 -11989.408035 39.502102
+V 31 -9173.453740 12139.522710 26073.287031 .309271
+* 2004 2 29 21 30 .00000000
+P 1 2553.306646 20618.994662 16701.181485 332.565917
+V 1 -10373.141262 18149.232837 -21065.058046 .018819
+P 3 -11295.899178 23665.158692 3276.124411 89.875491
+V 3 -2264.037460 -5435.148916 30789.846787 .030403
+P 4 25574.093675 -5672.068415 5343.915469 -76.670710
+V 4 6869.296124 1950.191095 -30589.573991 -.091876
+P 5 -10545.803960 -22851.370612 -8867.941368 19.758236
+V 5 9488.334448 6520.943566 -28311.279182 .015236
+P 6 -10468.102444 -13680.433732 20369.126475 -1.353983
+V 6 11145.359425 -23055.498724 -9980.289292 -.008215
+P 7 17358.939693 -8364.245447 -17810.159978 611.821399
+V 7 -6677.200726 22691.671766 -16956.456905 -.078290
+P 8 26640.152473 -338.615659 1996.699499 355.482760
+V 8 -2585.013560 2617.304051 31493.516116 -.087853
+P 9 -3773.490230 -15238.569059 -21867.835416 -32.352732
+V 9 26543.572335 -3534.518991 -1779.105093 -.020135
+P 10 4866.839353 -16510.143399 20096.986689 40.163309
+V 10 15567.751975 20418.306199 13243.689153 .003481
+P 11 6243.232209 15307.779044 -20804.266577 99.862105
+V 11 -26016.615594 5682.770984 -3489.916032 .025530
+P 13 11392.903757 10017.119770 21770.079440 -30.905598
+V 13 -11863.703766 24994.801018 -5205.242783 .002186
+P 14 -17369.865155 9610.292883 -17600.565407 -18.158587
+V 14 7919.607030 -21006.908846 -19218.509498 -.001325
+P 15 -25901.763749 4151.185032 -5148.120511 232.927232
+V 15 -6250.653548 -2144.820847 30871.450011 .051939
+P 16 -8918.138422 13128.009886 21368.025911 15.284801
+V 16 -16236.491965 -21535.024734 6482.893783 -.004156
+P 17 3917.441808 -14844.969526 21765.396172 206.980736
+V 17 27282.075183 1171.054478 -4871.541608 .195257
+P 18 -18817.071475 -15816.513878 -10299.052485 -15.400503
+V 18 -5242.124304 -12153.684354 27952.897015 -.026674
+P 20 12882.412265 22830.477767 -4354.874164 -184.144579
+V 20 -5339.054639 -2845.815746 -31193.417574 .027638
+P 21 -23608.057314 -6441.374393 10750.807196 73.083362
+V 21 13469.032046 -3015.149721 27251.417088 .004811
+P 22 -18083.419588 -3880.197584 -18880.555227 -40.243130
+V 22 -11854.219094 -21302.106245 15637.461267 .088223
+P 24 17025.876508 -12233.681720 16646.924326 8.114721
+V 24 20575.404360 486.087634 -20990.974698 .026675
+P 25 -23361.164375 10105.063160 7909.939091 61.705659
+V 25 -9981.224358 -1288.558430 -29214.475013 .011191
+P 26 7000.339215 -24619.228165 -5991.284374 410.202797
+V 26 5457.953024 -5620.095560 31363.669491 -.124619
+P 27 22028.952301 6820.944037 14091.033798 919.865270
+V 27 -16426.701244 4526.182360 23817.445829 .043213
+P 28 18903.161452 4989.989579 -17932.785547 21.838778
+V 28 12057.902788 19680.938644 17702.915258 .016395
+P 29 10739.116709 -24257.126353 571.385899 229.914936
+V 29 1994.283155 1288.565438 32143.679622 .032586
+P 30 -18390.010889 -18655.945903 4471.630344 805.020925
+V 30 -1047.996049 -6707.351681 -30607.357849 .142276
+P 31 -2159.251050 24640.569669 -9546.176260 39.530076
+V 31 -7473.591335 9745.909465 28144.184848 .309267
+* 2004 2 29 21 45 .00000000
+P 1 1709.232664 22174.970721 14668.488502 332.567714
+V 1 -8403.683108 16347.000804 -24042.490931 .019207
+P 3 -11463.108490 23032.830156 6010.501919 89.877941
+V 3 -1517.059195 -8618.013810 29885.327384 .030247
+P 4 26041.737727 -5495.213635 2553.513478 -76.678624
+V 4 3514.255178 2049.190195 -31331.984434 -.091883
+P 5 -9584.690231 -22181.627360 -11333.508891 19.760078
+V 5 11885.759734 8293.552798 -26401.723529 .015436
+P 6 -9535.573001 -15726.889635 19300.374042 -1.354094
+V 6 9571.848649 -22337.786833 -13737.230952 -.008244
+P 7 16779.605302 -6231.417754 -19172.703945 611.814541
+V 7 -6140.304970 24639.373334 -13276.490684 -.078287
+P 8 26256.216672 -79.531830 4806.215108 355.475557
+V 8 -5927.252758 3207.224656 30851.619328 -.087847
+P 9 -1389.951200 -15619.204899 -21846.623471 -32.355098
+V 9 26339.939020 -4909.485219 2251.902346 -.019800
+P 10 6353.950012 -14664.079937 21110.710808 40.164080
+V 10 17445.603070 20518.413654 9252.133760 .003675
+P 11 3902.432762 15873.035388 -20938.663178 99.864278
+V 11 -25919.528932 6862.300311 508.336802 .025546
+P 13 10401.124279 12263.618628 21115.162882 -30.905516
+V 13 -10155.232153 24836.288954 -9326.997369 .002175
+P 14 -16674.564311 7615.410395 -19173.277897 -18.158856
+V 14 7465.552469 -23265.983519 -15680.043272 -.001318
+P 15 -26312.422331 3962.669113 -2334.035132 232.929357
+V 15 -2862.851684 -2114.483472 31575.838797 .051892
+P 16 -10445.561577 11208.737974 21767.174373 15.284399
+V 16 -17659.187842 -21038.694436 2374.545768 -.004154
+P 17 6346.562291 -14804.723144 21142.145487 206.998305
+V 17 26608.270105 -259.899419 -8963.036232 .195239
+P 18 -19234.058574 -16778.757809 -7702.747653 -15.402713
+V 18 -3951.139697 -9235.581429 29660.478949 -.026674
+P 20 12298.275129 22463.852649 -7116.828237 -184.141953
+V 20 -7679.922097 -5240.824558 -30095.468373 .027640
+P 21 -22269.315734 -6756.641002 13105.674483 73.083876
+V 21 16228.572870 -4043.351407 25004.279167 .004814
+P 22 -19150.343156 -5697.633685 -17312.463897 -40.235169
+V 22 -11780.160097 -19042.747623 19157.777207 .088209
+P 24 18768.285390 -12230.133400 14623.051527 8.116951
+V 24 18084.768101 -351.979844 -23921.861597 .027056
+P 25 -24116.617037 9977.555732 5220.667657 61.708702
+V 25 -6792.619875 -1613.077551 -30462.858963 .011328
+P 26 7416.107636 -24986.824483 -3123.670415 410.192084
+V 26 3838.238826 -2500.638058 32267.069175 -.124614
+P 27 20450.289375 7287.833736 16113.719348 919.868927
+V 27 -18588.863379 5886.337183 21070.469765 .043203
+P 28 19975.125276 6654.503746 -16189.441861 21.840274
+V 28 11687.218208 17277.046234 20980.498106 .016402
+P 29 10862.746190 -23993.669063 3451.077197 229.917785
+V 29 823.324441 4582.813571 31757.606324 .032598
+P 30 -18399.946109 -19135.739006 1686.468679 805.033833
+V 30 885.328827 -3987.310603 -31196.196963 .142278
+P 31 -2764.093319 25396.345279 -6937.809168 39.558634
+V 31 -6012.557130 6995.020868 29736.866792 .309261
+* 2004 2 29 22 0 .00000000
+P 1 1035.815095 23547.503414 12385.691641 332.571437
+V 1 -6594.905495 14080.291947 -26614.846071 .019486
+P 3 -11580.824789 22115.088392 8639.778516 89.881840
+V 3 -1164.648284 -11761.808256 28457.639236 .030044
+P 4 26206.554117 -5290.736059 -279.971656 -76.686601
+V 4 155.680456 2563.522074 -31545.669717 -.091889
+P 5 -8404.764074 -21371.329909 -13606.843523 19.761652
+V 5 14336.477499 9640.099708 -24045.478459 .015606
+P 6 -8744.909070 -17686.320759 17903.226566 -1.354464
+V 6 8006.964224 -21123.505192 -17267.563814 -.008458
+P 7 16262.967650 -3941.911011 -20192.722156 611.807515
+V 7 -5294.416572 26162.474054 -9356.483695 -.078285
+P 8 25578.173911 250.339593 7534.209226 355.468685
+V 8 -9105.444113 4185.056288 29683.954642 -.087849
+P 9 952.822773 -16118.387201 -21463.202689 -32.355405
+V 9 25640.978492 -6154.937984 6259.231474 -.019504
+P 10 7999.665927 -12831.997344 21757.798297 40.163633
+V 10 19077.650589 20113.514131 5108.230360 .003989
+P 11 1592.137467 16538.899357 -20712.897165 99.866816
+V 11 -25342.298510 7905.526247 4502.212889 .025564
+P 13 9567.248070 14471.139367 20096.138173 -30.905434
+V 13 -8370.602568 24128.007533 -13284.908069 .002166
+P 14 -16037.104317 5433.995989 -20414.803732 -18.158878
+V 14 6644.040880 -25139.467335 -11869.422662 -.001308
+P 15 -26416.323544 3757.895827 519.524791 232.933938
+V 15 550.033821 -2506.269369 31746.988783 .052254
+P 16 -12087.184930 9354.134968 21794.241989 15.284011
+V 16 -18761.996808 -20106.533540 -1773.851931 -.004149
+P 17 8691.032755 -14887.400632 20155.893115 207.015821
+V 17 25405.155485 -1546.001902 -12926.431138 .195226
+P 18 -19515.505715 -17481.411254 -4975.357126 -15.405385
+V 18 -2235.043626 -6400.385583 30861.974163 -.026682
+P 20 11494.368747 21898.876012 -9756.577960 -184.139427
+V 20 -10209.055716 -7244.816241 -28481.786883 .027639
+P 21 -20697.402237 -7177.759458 15238.698209 73.084055
+V 21 18638.901478 -5357.173497 22328.072564 .004812
+P 22 -20189.952976 -7301.597991 -15442.279557 -40.227078
+V 22 -11243.532327 -16573.764332 22340.827386 .088198
+P 24 20271.464052 -12286.274209 12352.892866 8.119899
+V 24 15272.131765 -831.752627 -26456.155463 .027417
+P 25 -24582.714258 9802.418489 2442.135768 61.710555
+V 25 -3566.663077 -2346.685756 -31194.480172 .011098
+P 26 7702.288878 -25062.081845 -200.405610 410.180619
+V 26 2586.839061 860.483774 32597.712491 -.124603
+P 27 18695.513664 7886.103397 17873.474161 919.873149
+V 27 -20332.930161 7433.490134 17982.173669 .043188
+P 28 20992.932254 8095.655521 -14167.441966 21.841669
+V 28 10852.860240 14733.153664 23886.784907 .016407
+P 29 10900.311557 -23430.682208 6271.418361 229.920414
+V 29 84.939110 7928.234895 30827.279513 .032619
+P 30 -18221.010229 -19380.699030 -1127.612709 805.046894
+V 30 3139.578141 -1501.469458 -31249.605461 .142283
+P 31 -3250.501200 25891.055669 -4208.870848 39.586508
+V 31 -4850.720037 3957.276975 30818.823235 .309252
+* 2004 2 29 22 15 .00000000
+P 1 514.911426 24697.087075 9891.328814 332.574212
+V 1 -5027.024546 11402.887041 -28737.015263 .019687
+P 3 -11684.417947 20919.712232 11117.921459 89.884016
+V 3 -1200.742746 -14772.142816 26531.743138 .029686
+P 4 26072.492732 -5021.658812 -3108.728370 -76.695296
+V 4 -3111.939464 3481.291525 -31227.010050 -.091899
+P 5 -7005.152185 -20459.723583 -15649.479381 19.762974
+V 5 16752.896268 10543.420881 -21282.270374 .015764
+P 6 -8091.546751 -19514.806383 16200.831927 -1.356065
+V 6 6534.331078 -19432.649882 -20510.732428 -.008649
+P 7 15833.824971 -1536.663009 -20851.840325 611.800337
+V 7 -4208.372245 27203.128161 -5268.896464 -.078283
+P 8 24624.816809 684.226881 10134.040524 355.461624
+V 8 -12031.258070 5510.635591 28007.031434 -.087860
+P 9 3211.383675 -16720.767241 -20722.610895 -32.358196
+V 9 24474.489127 -7189.738722 10178.263312 -.019272
+P 10 9778.043254 -11057.486864 22027.809455 40.163573
+V 10 20380.609113 19247.838011 884.922664 .004274
+P 11 -645.641894 17289.684099 -20130.461388 99.869236
+V 11 -24314.266326 8737.476592 8422.907711 .025574
+P 13 8893.842580 16590.331411 18730.839417 -30.905118
+V 13 -6604.998170 22876.079125 -17010.955596 .002156
+P 14 -15487.704787 3103.949661 -21303.582977 -18.158564
+V 14 5520.674130 -26558.674988 -7852.558547 -.001296
+P 15 -26215.568581 3499.099670 3364.244893 232.940173
+V 15 3891.257796 -3312.142382 31379.166680 .052685
+P 16 -13811.077828 7600.887738 21448.792450 15.283390
+V 16 -19477.147485 -18797.272278 -5891.885535 -.004147
+P 17 10904.622991 -15076.118969 18821.346472 207.032654
+V 17 23707.047195 -2602.915225 -16691.266056 .195215
+P 18 -19624.735964 -17935.995060 -2163.364276 -15.407306
+V 18 -131.805896 -3737.159340 31538.019918 -.026695
+P 20 10457.588477 21172.870234 -12228.922179 -184.136887
+V 20 -12839.868591 -8813.246342 -26380.782530 .027641
+P 21 -18926.724610 -7727.486405 17113.127803 73.083991
+V 21 20635.993391 -6889.112571 19265.429992 .004814
+P 22 -21159.893906 -8677.472711 -13302.905414 -40.218858
+V 22 -10231.368695 -13990.216478 25131.103936 .088180
+P 24 21510.081334 -12367.769348 9874.167217 8.121492
+V 24 12220.163776 -909.437946 -28549.879930 .027774
+P 25 -24760.298432 9543.184869 -378.314701 61.710361
+V 25 -396.695813 -3478.608687 -31392.266674 .010853
+P 26 7894.089854 -24827.678594 2726.417708 410.169319
+V 26 1746.504091 4363.322772 32345.402381 -.124592
+P 27 16804.032810 8629.163999 19341.705739 919.877548
+V 27 -21621.804033 9090.511815 14600.519307 .043172
+P 28 21914.704023 9305.138681 -11902.385761 21.842854
+V 28 9554.574034 12144.792221 26374.493545 .016415
+P 29 10891.321356 -22568.045172 8984.235032 229.923436
+V 29 -211.219769 11225.083534 29372.153762 .032643
+P 30 -17827.095175 -19415.136182 -3922.449213 805.059650
+V 30 5651.012353 680.407772 -30769.621081 .142281
+P 31 -3647.619300 26102.512189 -1406.467681 39.614452
+V 31 -4034.893663 715.071859 31366.210735 .309237
+* 2004 2 29 22 30 .00000000
+P 1 121.634676 25589.763755 7227.679274 332.576594
+V 1 -3769.205925 8383.935843 -30371.097779 .019721
+P 3 -11807.930545 19462.831062 13401.561397 89.884512
+V 3 -1602.021055 -17558.441781 24141.770994 .029422
+P 4 25651.861678 -4652.859888 -5885.000181 -76.703862
+V 4 -6197.907091 4773.294996 -30380.850539 -.091904
+P 5 -5392.926830 -19486.829930 -17426.825242 19.764501
+V 5 19046.587667 11003.457183 -18158.364250 .015918
+P 6 -7563.591212 -21170.990259 14221.604139 -1.356141
+V 6 5232.695995 -17302.071994 -23410.435983 -.008751
+P 7 15510.308846 938.939790 -21138.368891 611.793595
+V 7 -2960.935594 27720.669183 -1089.539797 -.078281
+P 8 23422.518978 1251.025104 12560.943026 355.454372
+V 8 -14625.079387 7128.111685 25845.995651 -.087874
+P 9 5345.487612 -17403.987443 -19635.695559 -32.358375
+V 9 22883.693926 -7939.778795 13944.655128 -.018998
+P 10 11656.132137 -9379.405940 21916.914223 40.164064
+V 10 21282.587745 17981.965263 -3344.077382 .004622
+P 11 -2772.230331 18103.275182 -19201.006809 99.871751
+V 11 -22880.006174 9290.780618 12202.577382 .025586
+P 13 8374.986847 18573.269974 17043.041637 -30.904670
+V 13 -4951.238541 21105.971192 -20441.326002 .002147
+P 14 -15050.120567 668.679503 -21824.162130 -18.158738
+V 14 4173.020369 -27470.288868 -3699.039228 -.001287
+P 15 -25720.882192 3150.049940 6151.687788 232.945170
+V 15 7066.511556 -4506.106681 30475.409365 .052845
+P 16 -15579.795192 5979.804979 20736.712283 15.283204
+V 16 -19750.277067 -17182.375038 -9909.651643 -.004142
+P 17 12944.993843 -15346.764856 17159.487653 207.049647
+V 17 21565.886528 -3354.885240 -20188.793444 .195211
+P 18 -19529.219741 -18161.689676 685.393483 -15.409766
+V 18 2304.657260 -1326.535381 31677.919928 -.026703
+P 20 9182.914209 20326.388662 -14491.589968 -184.134570
+V 20 -15479.864024 -9919.059676 -23829.061756 .027642
+P 21 -16996.833634 -8422.012014 18696.358642 73.084219
+V 21 22169.942461 -8561.204856 15865.756207 .004814
+P 22 -22017.492017 -9819.313608 -10931.917374 -40.211198
+V 22 -8749.589200 -11389.149187 27480.431471 .088160
+P 24 22466.628735 -12437.073684 7228.260479 8.123576
+V 24 9019.522888 -557.750728 -30165.647601 .028280
+P 25 -24658.538281 9165.154026 -3192.203744 61.710795
+V 25 2626.173448 -4980.454263 -31048.087723 .010778
+P 26 8029.729766 -24275.643811 5604.308389 410.157816
+V 26 1341.160259 7900.728078 31511.535696 -.124579
+P 27 14817.920102 9523.214869 20494.322450 919.881997
+V 27 -22433.498255 10774.743685 10977.479893 .043150
+P 28 22699.353261 10283.220610 -9433.786565 21.843752
+V 28 7810.128244 9606.349144 28404.031459 .016422
+P 29 10875.299636 -21414.580346 11543.496611 229.926796
+V 29 -74.413655 14374.986825 27420.308212 .032663
+P 30 -17198.349491 -19269.048214 -6650.461165 805.072126
+V 30 8344.779724 2502.056810 -29767.155010 .142288
+P 31 -3988.115036 26016.371357 1420.567884 39.642372
+V 31 -3596.248641 -2640.186001 31364.632628 .309233
+* 2004 2 29 22 45 .00000000
+P 1 -174.524742 26198.402688 4440.080678 332.578645
+V 1 -2876.810372 5105.557765 -31487.145873 .019746
+P 3 -11982.565384 17768.421750 15450.789494 89.887104
+V 3 -2328.927478 -20037.457840 21330.365238 .029453
+P 4 24964.839533 -4152.587988 -8561.846349 -76.711539
+V 4 -9018.541024 6394.054964 -29020.458079 -.091905
+P 5 -3583.033127 -18491.909487 -18908.721542 19.765676
+V 5 21131.571969 11037.101649 -14725.851280 .016042
+P 6 -7142.398150 -22617.550042 11998.795294 -1.356986
+V 6 4172.797687 -14784.317885 -25915.625578 -.008955
+P 7 15303.144551 3436.690406 -21047.528343 611.786355
+V 7 -1637.319819 27693.299793 3104.128892 -.078280
+P 8 22004.314447 1973.968707 14772.796082 355.446480
+V 8 -16818.981366 8967.922851 23234.443577 -.087896
+P 9 7319.426019 -18139.447466 -18219.049701 -32.360947
+V 9 20925.884809 -8340.907344 17495.223720 -.018800
+P 10 13595.132938 -7830.519503 21427.901076 40.163404
+V 10 21725.905610 16390.226606 -7505.621303 .004921
+P 11 -4753.588408 18951.942977 -17940.202462 99.873793
+V 11 -21097.627834 9508.463705 15775.528395 .025597
+P 13 7996.651576 20375.160641 15062.033140 -30.904425
+V 13 -3496.091731 18861.564806 -23517.487050 .002140
+P 14 -14740.704057 -1824.379900 -21967.470307 -18.158929
+V 14 2687.449818 -27838.442331 519.096892 -.001279
+P 15 -24951.237692 2677.636786 8834.090659 232.949816
+V 15 9987.366638 -6044.992941 29047.686912 .052992
+P 16 -17351.686734 4514.794285 19670.113720 15.282945
+V 16 -19542.617490 -15343.233301 -13758.892456 -.004142
+P 17 14775.215686 -15668.920162 15197.355996 207.067644
+V 17 19049.612659 -3738.090714 -23353.398499 .195210
+P 18 -19201.926541 -18184.442050 3522.511139 -15.413068
+V 18 5006.430496 762.206272 31279.767537 -.026702
+P 20 7673.784927 19401.598014 -16505.949410 -184.132150
+V 20 -18034.157076 -10553.542581 -20870.764442 .027645
+P 21 -14951.063375 -9270.147335 19960.514146 73.084164
+V 21 23206.852501 -10287.952580 12184.599014 .004819
+P 22 -22721.452883 -10729.855747 -8370.864990 -40.203089
+V 22 -6822.838642 -8865.755664 29348.807439 .088144
+P 24 23131.997441 -12454.979453 4459.599440 8.127393
+V 24 5765.653987 232.810185 -31273.386758 .028770
+P 25 -24294.572128 8636.946520 -5950.739900 61.710396
+V 25 5416.518059 -6806.994351 -30163.217658 .010807
+P 26 8148.687688 -23407.812537 8381.431874 410.146709
+V 26 1374.759848 11362.686789 30109.313736 -.124564
+P 27 12780.520525 10566.875551 21312.071664 919.885343
+V 27 -22761.811743 12400.898767 7168.529245 .043130
+P 28 23308.178147 11038.478099 -6804.357100 21.845948
+V 28 5654.589398 7207.515719 29943.957223 .016432
+P 29 10890.107136 -19987.765848 13906.062364 229.929980
+V 29 467.821815 17284.552355 25007.760015 .032677
+P 30 -16322.053302 -18976.816027 -9265.436946 805.084526
+V 30 11137.751028 3922.605370 -28261.627753 .142295
+P 31 -4306.699217 25626.795602 4222.556349 39.670059
+V 31 -3548.831902 -6011.484145 30809.747131 .309227
+* 2004 2 29 23 0 .00000000
+P 1 -408.351119 26503.739712 1576.183654 332.581069
+V 1 -2389.142816 1659.921676 -32063.804714 .019780
+P 3 -12235.296093 15867.501509 17229.886680 89.890790
+V 3 -3327.372142 -22136.490464 18147.834367 .029492
+P 4 24038.707521 -3493.858049 -11093.894045 -76.720077
+V 4 -11500.156905 8283.451995 -27167.375085 -.091909
+P 5 -1597.923471 -17511.966226 -20069.929868 19.765642
+V 5 22927.521773 10677.428051 -11041.862213 .016196
+P 6 -6803.425686 -23822.534854 9569.979596 -1.357735
+V 6 3414.506663 -11945.865220 -27981.457152 -.009141
+P 7 15215.238002 5907.304747 -20581.519336 611.779642
+V 7 -325.436743 27118.953698 7234.740718 -.078278
+P 8 20408.725894 2869.507966 16730.870997 355.438536
+V 8 -18559.313466 10949.337881 20214.086156 -.087924
+P 9 9103.211266 -18893.322403 -16494.865191 -32.361868
+V 9 18670.547764 -8341.588594 20768.897802 -.018521
+P 10 15551.780291 -6436.398469 20570.068392 40.163515
+V 10 21669.324326 14557.607787 -11528.399699 .005334
+P 11 -6561.434107 19803.389961 -16369.488932 99.876427
+V 11 -19036.553563 9346.355406 19079.390512 .025604
+P 13 7737.400639 21955.928191 12822.095527 -30.904270
+V 13 -2316.842600 16203.522679 -26187.161882 .002130
+P 14 -14567.769012 -4325.406857 -21730.982635 -18.159293
+V 14 1155.621210 -27646.131041 4728.636657 -.001271
+P 15 -23933.178393 2053.356370 11365.171684 232.953587
+V 15 12574.555921 -7869.910755 27116.933730 .053258
+P 16 -19082.377377 3222.109247 18267.136290 15.282913
+V 16 -18832.601880 -13367.990893 -17374.108692 -.004140
+P 17 16365.108367 -16007.073208 12967.699763 207.085618
+V 17 16239.829734 -3703.619603 -26124.080840 .195199
+P 18 -18622.477563 -18035.828259 6299.808089 -15.415949
+V 18 7894.062482 2473.627844 30350.446041 -.026695
+P 20 5942.151466 18440.615662 -18237.651413 -184.129635
+V 20 -20409.081414 -10726.470741 -17556.786189 .027643
+P 21 -12835.025989 -10272.790929 20882.965704 73.085057
+V 21 23730.166459 -11979.586551 8282.896221 .004834
+P 22 -23233.511112 -11420.177772 -5664.504850 -40.195367
+V 22 -4493.570593 -6509.652365 30705.061052 .088128
+P 24 23505.756046 -12382.250500 1614.963024 8.131089
+V 24 2555.359178 1453.323927 -31851.003509 .029091
+P 25 -23692.846173 7931.958162 -8605.681665 61.713297
+V 25 7897.899069 -8897.644004 -28748.638975 .011238
+P 26 8289.886652 -22235.879843 11007.669360 410.136665
+V 26 1831.029395 14640.860847 28163.612462 -.124549
+P 27 10735.017989 11751.083856 21780.831158 919.889449
+V 27 -22616.514412 13884.063574 3232.112152 .043103
+P 28 23706.362360 11587.223720 -4059.260928 21.847487
+V 28 3138.958353 5029.982918 30971.287966 .016439
+P 29 10970.351187 -18313.133744 16032.361376 229.932884
+V 29 1370.997782 19868.729459 22177.685007 .032688
+P 30 -15193.225041 -18575.755717 -11723.278193 805.097515
+V 30 13941.627480 4917.861865 -26280.491914 .142299
+P 31 -4638.544125 24936.791641 6949.895701 39.697919
+V 31 -3888.782512 -9299.935596 29707.664809 .309215
+* 2004 2 29 23 15 .00000000
+P 1 -617.379314 26495.134114 -1314.845737 332.584288
+V 1 -2327.801191 -1854.094787 -32088.827299 .019513
+P 3 -12587.658413 13797.049606 18707.969467 89.893156
+V 3 -4531.031512 -23796.171948 14651.147814 .029392
+P 4 22906.828322 -2655.674872 -13438.072620 -76.728284
+V 4 -13581.700380 10368.902398 -24851.167883 -.091914
+P 5 533.088487 -16580.348352 -20890.548558 19.766458
+V 5 24362.771754 9972.327578 -7167.713126 .016548
+P 6 -6517.327203 -24760.518768 6976.454413 -1.358488
+V 6 3004.349558 -8864.806786 -29570.179235 -.009277
+P 7 15241.605837 8302.203882 -19749.437531 611.772633
+V 7 887.946639 26015.295540 11226.720972 -.078276
+P 8 18678.381598 3946.436634 18400.540264 355.431132
+V 8 -19808.792719 12983.483390 16834.253782 -.087957
+P 9 10673.571540 -19627.804088 -14490.697344 -32.364211
+V 9 16197.007262 -7905.185580 23707.735557 -.018248
+P 10 17479.898918 -5214.614297 19359.004387 40.163495
+V 10 21089.621986 12576.289023 -15344.140023 .005816
+P 11 -8174.143815 20621.993564 -14515.727872 99.878621
+V 11 -16774.848709 8775.011366 22056.250090 .025609
+P 13 7569.384919 23281.629438 10361.901236 -30.903911
+V 13 -1478.248214 13207.023532 -28405.185462 .002119
+P 14 -14531.281117 -6783.926510 -21118.767594 -18.158968
+V 14 -329.241885 -26895.895592 8856.491564 -.001264
+P 15 -22699.855809 1254.636518 13700.932758 232.959167
+V 15 14760.965579 -9908.333083 24712.932259 .053474
+P 16 -20726.363803 2109.894465 16551.649800 15.282369
+V 16 -17616.830177 -11348.118476 -20693.635530 -.004140
+P 17 17692.341543 -16322.075298 10508.493384 207.103202
+V 17 13228.828054 -3219.917668 -28445.951888 .195186
+P 18 -17778.056753 -17751.714894 8970.114674 -15.417381
+V 18 10879.455368 3768.103369 28905.507431 -.026679
+P 20 4008.205936 17483.865428 -19657.198946 -184.126868
+V 20 -22515.745371 -10465.552461 -13943.901392 .027641
+P 21 -10695.014679 -11422.700141 21446.779202 73.085992
+V 21 23741.369299 -13545.553572 4226.097673 .004837
+P 22 -23519.965148 -11909.041737 -2859.983200 -40.188073
+V 22 -1820.424191 -4401.417854 31527.321443 .088108
+P 24 23596.113873 -12181.283545 -1257.262436 8.134162
+V 24 -516.739414 3076.490572 -31884.959637 .029272
+P 25 -22884.166954 7029.650398 -11110.217872 61.714300
+V 25 10005.887093 -11178.606312 -26825.156180 .011212
+P 26 8489.896803 -20781.046134 13435.649616 410.124521
+V 26 2674.145393 17633.095660 25710.504711 -.124537
+P 27 8723.008347 13059.265722 21891.851516 919.893504
+V 27 -22023.031978 15142.722690 -770.917682 .043071
+P 28 23864.326126 11952.650236 -1245.342803 21.848914
+V 28 328.236185 3144.497851 31471.662515 .016447
+P 29 11145.942610 -16423.381144 17886.999078 229.935932
+V 29 2575.605071 22053.810318 18979.568868 .032699
+P 30 -13814.940579 -18104.583077 -13982.697556 805.110037
+V 30 16666.204054 5480.968922 -23858.659099 .142305
+P 31 -5017.664766 23958.204608 9554.010991 39.725673
+V 31 -4594.304807 -12408.671445 28075.102732 .309198
+* 2004 2 29 23 30 .00000000
+P 1 -840.251938 26171.010341 -4183.163552 332.586261
+V 1 -2695.701226 -5334.546243 -31559.445334 .019181
+P 3 -13054.771854 11598.702206 19859.539115 89.896216
+V 3 -5864.148249 -24972.705482 10902.798150 .029263
+P 4 21607.407141 -1624.038780 -15554.320405 -76.735613
+V 4 -15216.937872 12568.011299 -22109.067217 -.091920
+P 5 2774.731991 -15725.496739 -21356.348627 19.768719
+V 5 25377.028542 8982.600454 -3167.990102 .016894
+P 6 -6251.245713 -25413.523711 4262.565198 -1.359113
+V 6 2973.522562 -5628.057232 -30651.932729 -.009507
+P 7 15369.648676 10575.257794 -18567.038428 611.766141
+V 7 1920.960991 24418.870778 15007.907563 -.078276
+P 8 16858.470112 5205.310245 19751.934810 355.423200
+V 8 -20548.003159 14976.755443 13151.234615 -.087995
+P 9 12014.714172 -20302.527350 -12239.135376 -32.367002
+V 9 13591.647435 -7011.769983 26257.996699 -.017926
+P 10 19332.069578 -4174.256122 17816.263405 40.164822
+V 10 19982.461437 10541.961167 -18888.709218 .006348
+P 11 -9577.396731 21370.196959 -12410.752191 99.881102
+V 11 -14396.207414 7781.067293 24653.720379 .025615
+P 13 7459.588401 24325.636955 7723.839747 -30.904093
+V 13 -1029.994848 9958.953232 -30134.231723 .002109
+P 14 -14622.887609 -9150.572256 -20141.417247 -18.159189
+V 14 -1676.136865 -25609.747573 12830.996643 -.001257
+P 15 -21289.816206 265.948470 15800.444580 232.964959
+V 15 16494.215851 -12076.752968 21874.035314 .053554
+P 16 -22238.667528 1178.045436 14552.862709 15.282040
+V 16 -15910.355352 -9374.863742 -23660.666705 -.004138
+P 17 18743.241367 -16572.788466 7862.321279 207.120908
+V 17 10116.056899 -2274.567000 -30271.692255 .195172
+P 18 -16664.046439 -17370.769240 11488.042437 -15.419988
+V 18 13869.077080 4623.199250 26968.932098 -.026669
+P 20 1899.798367 16568.514302 -20740.433471 -184.124341
+V 20 -24273.404622 -9815.193300 -10093.802552 .027638
+P 21 -8576.373308 -12704.581706 21641.076986 73.086177
+V 21 23260.020682 -14898.103510 83.165005 .004844
+P 22 -23553.036902 -12221.938504 -5.985166 -40.179889
+V 22 1124.030563 -2609.532627 31803.291735 .088092
+P 24 23419.565797 -11817.734064 -4107.875307 8.137185
+V 24 -3361.718510 5057.376222 -31370.744196 .029250
+P 25 -21904.499835 5916.619986 -13419.848854 61.715352
+V 25 11690.662017 -13565.618940 -24423.295906 .011190
+P 26 8781.240406 -19073.266485 15621.722485 410.113832
+V 26 3850.313829 20247.673614 22796.445766 -.124530
+P 27 6783.123417 14467.775240 21641.945922 919.896839
+V 27 -21021.628385 16101.724367 -4777.906783 .043039
+P 28 23758.880609 12163.729999 1589.649608 21.850598
+V 28 -2700.996149 1608.376395 31439.372108 .016453
+P 29 11440.850926 -14357.231119 19439.285028 229.938589
+V 29 4009.572302 23779.973996 15468.309376 .032711
+P 30 -12198.356123 -17601.848261 -16005.861168 805.122073
+V 30 19222.669772 5622.413038 -21037.846918 .142315
+P 31 -5475.332898 22711.360957 11988.305890 39.754174
+V 31 -5626.424451 -15246.723638 25939.271036 .309176
+* 2004 2 29 23 45 .00000000
+P 1 -1115.021239 25538.963547 -6979.111733 332.587458
+V 1 -3476.829283 -8680.224696 -30482.578598 .018851
+P 3 -13644.631284 9317.273936 20664.923593 89.898584
+V 3 -7244.708100 -25639.465389 6969.561983 .029099
+P 4 20182.078624 -392.694300 -17406.254191 -76.743978
+V 4 -16376.123586 14791.614320 -18985.498265 -.091929
+P 5 5086.910061 -14969.887291 -21459.024808 19.769547
+V 5 25923.683829 7779.567418 890.420529 .017227
+P 6 -5970.261589 -25771.673071 1474.963295 -1.359946
+V 6 3336.483636 -2328.179644 -31205.438785 -.009779
+P 7 15579.751482 12684.416307 -17056.362419 611.759457
+V 7 2700.122993 22383.461431 18511.031215 -.078279
+P 8 14995.089628 6638.184197 20760.534084 355.415409
+V 8 -20776.225759 16834.492954 9227.444239 -.088029
+P 9 13118.822668 -20876.134286 -9777.374575 -32.369680
+V 9 10944.787833 -5659.364714 28371.250796 -.017531
+P 10 21061.340608 -3315.784053 15968.947771 40.164871
+V 10 18362.534143 8550.063655 -22103.108200 .006876
+P 11 -10764.536779 22009.993812 -10090.823624 99.883489
+V 11 -11986.710000 6367.964747 26825.925190 .025618
+P 13 7371.276925 25069.549629 4953.284536 -30.903710
+V 13 -1004.750847 6554.662925 -31345.401864 .002098
+P 14 -14826.284774 -11378.806447 -18815.861536 -18.159328
+V 14 -2799.979427 -23828.341453 16583.184131 -.001248
+P 15 -19745.577641 -920.343117 17626.599049 232.970225
+V 15 17738.718279 -14283.827334 18646.715948 .053612
+P 16 -23576.482533 418.388583 12304.841222 15.281857
+V 16 -13746.275972 -7535.709025 -26224.211691 -.004140
+P 17 19513.259977 -16717.858546 5075.634658 207.139064
+V 17 7004.183954 -875.275005 -31562.906451 .195148
+P 18 -15284.363590 -16932.873627 13810.727487 -15.422446
+V 18 16767.382254 5034.416977 24572.772185 -.026664
+P 20 -348.437207 15727.049086 -21468.931723 -184.121539
+V 20 -25612.526908 -8834.632450 -6072.071332 .027634
+P 21 -6521.894094 -14095.504629 21461.304560 73.086633
+V 21 22323.096735 -15955.840698 -4074.543767 .004850
+P 22 -23312.003729 -12389.880258 2848.132042 -40.171599
+V 22 4256.078461 -1187.836883 31530.331778 .088076
+P 24 23000.226175 -11262.043551 -6887.687567 8.139418
+V 24 -5899.721023 7334.856200 -30313.215599 .029279
+P 25 -20793.557357 4587.397892 -15493.248294 61.716508
+V 25 12919.063213 -15967.206449 -21582.974924 .011173
+P 26 9190.877036 -17150.136770 17526.845006 410.102896
+V 26 5290.177861 22407.097863 19477.152296 -.124528
+P 27 4949.750910 15946.595781 21033.622470 919.901018
+V 27 -19666.094225 16695.102533 -8725.072728 .043007
+P 28 23374.146217 12253.913910 4397.841290 21.851976
+V 28 -5863.387176 463.547643 30877.271380 .016459
+P 29 11872.100706 -12158.088185 20663.678367 229.941627
+V 29 5591.148792 25003.296688 11703.287179 .032722
+P 30 -10362.436754 -17104.398160 -17758.969281 805.135276
+V 30 21526.829599 5369.403283 -17865.860296 .142327
+P 31 -6038.593967 21224.369124 14209.091442 39.782475
+V 31 -6930.513879 -17732.717204 23337.478564 .309148
+EOF
diff --git a/trunk/tests/data/nga12601.apc b/trunk/tests/data/nga12601.apc
new file mode 100644
index 0000000..50975a0
--- /dev/null
+++ b/trunk/tests/data/nga12601.apc
@@ -0,0 +1,5303 @@
+#aV2004 3 1 0 0 .00000000 96 DD+AD WGS84 FIT NGA
+## 1260 86400.00000000 900.00000000 53065 .0000000000000
++ 27 1 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 20
++ 21 22 24 25 26 27 28 29 30 31 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 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 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 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 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 0 0 0
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
+%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
+%i 0 0 0 0 0 0 0 0 0
+%i 0 0 0 0 0 0 0 0 0
+/* NGA, ST. LOUIS,MO.
+/* EPHEMERIS COMPUTED FROM 3 DAYS OF DATA
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+* 2004 3 1 0 0 .00000000
+P 1 -1477.462541 24615.520801 -9654.092934 332.587619
+V 1 -4636.747702 -11794.481268 -28874.867777 .018615
+P 3 -14357.696288 6999.166490 21110.604716 89.900549
+V 3 -8587.856412 -25787.899206 2921.192797 .029019
+P 4 18674.369840 1036.408642 -18961.791358 -76.752293
+V 4 -17047.076638 16947.106246 -15531.497948 -.091901
+P 5 7426.017421 -14329.206909 -21196.357120 19.770918
+V 5 25971.645784 6442.282618 4939.349133 .017613
+P 6 -5638.938257 -25833.546882 -1338.192207 -1.361167
+V 6 4090.193441 940.051750 -31218.550801 -.010038
+P 7 15846.180089 14593.159724 -15245.234414 611.752095
+V 7 3163.404529 19977.742299 21675.015668 -.078231
+P 8 13133.554904 8228.689043 21407.673929 355.407372
+V 8 -20511.545066 18464.772993 5130.430024 -.088093
+P 9 13986.260585 -21307.921758 -7146.688062 -32.370830
+V 9 8347.312320 -3864.538178 30005.495469 -.017013
+P 10 22622.920026 -2631.219159 13849.205334 40.167157
+V 10 16262.988489 6692.087152 -24934.349173 .007386
+P 11 -11736.637178 22504.448659 -7596.006549 99.885710
+V 11 -9631.479772 4556.013333 28534.372982 .025693
+P 13 7265.592622 25503.796626 2097.813563 -30.903721
+V 13 -1416.886052 3094.419740 -32018.666854 .002150
+P 14 -15117.908665 -13426.533734 -17165.069979 -18.159062
+V 14 -3625.065277 -21609.424744 20048.007690 -.001204
+P 15 -18112.049133 -2303.430975 19146.813134 232.973584
+V 15 18477.112348 -16433.898596 15084.937811 .053621
+P 16 -24700.755328 -184.825246 9845.945846 15.281225
+V 16 -11174.645922 -5910.968901 -28339.970793 -.004087
+P 17 20007.077933 -16717.538341 2197.893491 207.156163
+V 17 3994.909671 950.011924 -32291.309095 .195124
+P 18 -13651.483309 -16477.502743 15898.536669 -15.424435
+V 18 19480.320470 5015.270762 21756.681594 -.026637
+P 20 -2696.214405 14986.046344 -21830.307417 -184.119114
+V 20 -26477.436488 -7595.523655 -1947.096833 .027705
+P 21 -4570.305533 -15565.625800 20909.392159 73.087161
+V 21 20983.646265 -16647.098668 -8174.492453 .004880
+P 22 -22784.060250 -12447.991049 5653.205039 -40.164056
+V 22 7484.055879 -173.598597 30715.357085 .088098
+P 24 22368.871584 -10490.806567 -9548.377790 8.141876
+V 24 -8063.036922 9833.725008 -28726.790946 .029282
+P 25 -19593.231983 3044.937319 -17293.084305 61.717970
+V 25 13675.981602 -18288.312851 -18352.925840 .011148
+P 26 9738.938237 -15055.467569 19117.354515 410.091394
+V 26 6911.930555 24051.218949 15816.221276 -.124540
+P 27 3251.893927 17460.285396 20075.152792 919.904996
+V 27 -18021.961108 16868.667896 -12548.249902 .043027
+P 28 22702.204479 12259.680477 7131.992536 21.853693
+V 28 -9067.907267 -264.814933 29796.582351 .016544
+P 29 12449.042380 -9872.539083 21540.148739 229.944616
+V 29 7232.102461 25697.172087 7747.419066 .032703
+P 30 -8333.402666 -16645.921978 -19212.769704 805.148254
+V 30 23502.138826 4764.651826 -14395.819216 .142357
+P 31 -6728.954081 19532.103170 16176.466645 39.810241
+V 31 -8438.532661 -19798.193901 20316.457078 .309226
+* 2004 3 1 0 15 .00000000
+P 1 -1959.466899 23425.563364 -12161.439706 332.588996
+V 1 -6123.846511 -14588.911471 -26762.519776 .018512
+P 3 -15186.793359 4690.728683 21189.425775 89.902542
+V 3 -9809.408559 -25427.703043 -1170.920568 .028874
+P 4 17128.094819 2652.961739 -20193.714453 -76.760586
+V 4 -17235.620335 18941.942537 -11804.018241 -.091911
+P 5 9746.399081 -13811.794455 -20572.279171 19.773014
+V 5 25506.618697 5054.443748 8910.398888 .017998
+P 6 -5222.905061 -25606.220657 -4128.075445 -1.363704
+V 6 5214.051040 4083.221037 -30688.647766 -.010281
+P 7 16138.230151 16271.711673 -13166.655873 611.746464
+V 7 3262.755162 17282.363470 24446.067105 -.078239
+P 8 11316.728181 9952.447163 21680.957790 355.399633
+V 8 -19790.206618 19782.175425 931.720112 -.088132
+P 9 14625.465468 -21559.510682 -4391.798682 -32.372941
+V 9 5887.169090 -1662.287581 31126.250204 -.016505
+P 10 23975.785296 -2104.658317 11493.653594 40.167857
+V 10 13734.177527 5052.076088 -27336.210165 .007712
+P 11 -12502.264628 22819.192558 -4969.468865 99.888026
+V 11 -7411.373094 2381.780737 29748.700015 .025691
+P 13 7103.231888 25627.913156 -793.603190 -30.903952
+V 13 -2261.902434 -320.313789 -32143.159692 .002136
+P 14 -15467.921565 -15257.544619 -15217.646286 -18.159197
+V 14 -4088.158385 -19025.627931 23165.493655 -.001201
+P 15 -16434.851378 -3873.845402 20333.667833 232.977091
+V 15 18711.005267 -18430.763654 11249.344084 .053721
+P 16 -25577.637422 -654.132069 7218.193343 15.280916
+V 16 -8260.737135 -4570.656820 -29971.112760 -.004092
+P 17 20238.326163 -16535.479936 -719.388329 207.173534
+V 17 1184.730567 3153.912431 -32439.678565 .195104
+P 18 -11786.147429 -16042.124168 17715.726344 -15.426910
+V 18 21918.807169 4596.694345 18567.335688 -.026636
+P 20 -5098.941415 14365.181867 -21818.413695 -184.116424
+V 20 -26828.441766 -6179.052638 2211.043659 .027704
+P 21 -2754.911023 -17079.206125 19993.802666 73.087272
+V 21 19308.794604 -16912.997265 -12144.269748 .004880
+P 22 -21964.878861 -12433.953635 8361.113180 -40.155891
+V 22 10711.825684 413.742463 29374.565937 .088083
+P 24 21561.724213 -9487.920011 -12043.353503 8.145760
+V 24 -9798.766179 12467.412985 -26635.460574 .029350
+P 25 -18345.936216 1300.763257 -18786.777934 61.718934
+V 25 13965.011500 -20434.163833 -14789.880229 .011076
+P 26 10437.768266 -12837.611871 20365.608025 410.080492
+V 26 8624.970562 25139.556454 11883.548383 -.124542
+P 27 1712.211354 18969.141558 18780.569920 919.908589
+V 27 -16164.275208 16582.279373 -16183.720678 .042993
+P 28 21743.463133 12218.989350 9746.239509 21.855367
+V 28 -12221.112867 -569.040941 28216.602974 .016550
+P 29 13172.920821 -7548.753535 22054.451724 229.947534
+V 29 8841.117012 25853.106406 3666.204262 .032706
+P 30 -6143.914458 -16255.631420 -20342.999859 805.161347
+V 30 25082.450052 3864.606435 -10685.342446 .142366
+P 31 -7561.297361 17674.910166 17855.125869 39.838459
+V 31 -10071.888743 -21390.403301 16931.417347 .309192
+* 2004 3 1 0 30 .00000000
+P 1 -2587.578749 22001.429052 -14457.261457 332.590412
+V 1 -7871.304667 -16986.752307 -24180.958167 .018398
+P 3 -16117.332741 2436.633399 20900.678239 89.906343
+V 3 -10829.308055 -24586.273170 -5235.097419 .028818
+P 4 15585.739214 4438.463716 -21080.167896 -76.768714
+V 4 -16965.356084 20687.190475 -7865.115788 -.091924
+P 5 12001.896803 -13418.369883 -19596.849856 19.775846
+V 5 24531.777439 3701.108095 12736.030582 .018225
+P 6 -4690.414144 -25104.982378 -6846.062002 -1.365482
+V 6 6670.541998 7012.829626 -29622.848809 -.010213
+P 7 16421.574917 17697.969010 -10858.108784 611.739191
+V 7 2965.983200 14386.607087 26778.534336 -.078253
+P 8 9583.441658 11777.820923 21574.557863 355.391735
+V 8 -18665.230317 20711.358774 -3294.466016 -.088169
+P 9 15052.526619 -21596.471434 -1560.155164 -32.373303
+V 9 3645.877880 894.827300 31707.584178 -.015908
+P 10 25084.151634 -1713.089763 8942.741446 40.169430
+V 10 10841.783578 3703.460529 -29269.866294 .007934
+P 11 -13076.952079 22923.834312 -2256.722622 99.890647
+V 11 -5399.836569 -103.169632 30447.263325 .025690
+P 13 6846.141685 25450.478972 -3671.435906 -30.903774
+V 13 -3516.594164 -3590.630551 -31717.315580 .002124
+P 14 -15841.454928 -16842.733643 -13007.323512 -18.159154
+V 14 -4141.083634 -16161.681644 25881.797730 -.001192
+P 15 -14758.604309 -5613.578782 21165.466243 232.981912
+V 15 18460.964294 -20181.542329 7206.269638 .054028
+P 16 -26179.754487 -1017.801006 4466.553851 15.280719
+V 16 -5082.716169 -3571.740495 -31088.940685 -.004100
+P 17 20228.932032 -16140.413281 -3623.670905 207.190517
+V 17 -1339.139296 5671.324581 -32002.521156 .195084
+P 18 -9716.766890 -15660.681876 19231.044341 -15.429398
+V 18 24002.032447 3825.796664 15057.745253 -.026626
+P 20 -7509.233433 13876.516019 -21433.443917 -184.113806
+V 20 -26643.368872 -4672.700035 6331.726416 .027697
+P 21 -1102.434177 -18595.882305 18729.459418 73.087661
+V 21 17377.157479 -16710.046609 -15912.952797 .004888
+P 22 -20858.850357 -12386.374849 10925.595898 -40.147915
+V 22 13842.389603 573.120164 27533.010824 .088069
+P 24 20619.018812 -8245.463833 -14328.606202 8.147248
+V 24 -11070.942842 15141.220775 -24072.609498 .029234
+P 25 -17092.919688 -625.229562 -19947.177481 61.719719
+V 25 13808.312272 -22314.189185 -10957.519750 .010954
+P 26 11291.310957 -10547.624153 21250.472594 410.069207
+V 26 10333.912875 25652.716689 7753.613731 -.124547
+P 27 346.276608 20430.552887 17169.586970 919.912022
+V 27 -14174.978487 15811.706685 -19569.138272 .042963
+P 28 20506.723735 12169.696304 12196.804866 21.856587
+V 28 -15230.469876 -459.076488 26164.331757 .016557
+P 29 14036.754040 -5234.842529 22198.318231 229.950290
+V 29 10327.271716 25480.873040 -473.228680 .032712
+P 30 -3832.027688 -15957.122618 -21130.753373 805.173178
+V 30 26214.383029 2737.202011 -6795.695551 .142379
+P 31 -8543.084096 15697.095566 19215.070441 39.866623
+V 31 -11744.791417 -22474.422087 13244.863563 .309154
+* 2004 3 1 0 45 .00000000
+P 1 -3381.739491 20381.727382 -16501.250722 332.592823
+V 1 -9799.691226 -18925.846893 -21174.278450 .018240
+P 3 -17127.828810 278.335318 20250.068484 89.909734
+V 3 -11574.890782 -23307.468102 -9200.679908 .028592
+P 4 14086.895678 6366.702645 -21605.076766 -76.776981
+V 4 -16276.767102 22100.999993 -3781.030317 -.091936
+P 5 14147.428106 -13142.062808 -18286.126710 19.777650
+V 5 23067.803858 2465.331221 16350.665186 .018401
+P 6 -4013.806979 -24352.735110 -9444.608005 -1.364309
+V 6 8406.587587 9648.697996 -28038.032797 -.010139
+P 7 16659.750985 18858.117709 -8360.793075 611.731921
+V 7 2257.935991 11384.778551 28635.532439 -.078268
+P 8 7967.076832 13666.968235 21089.394946 355.383319
+V 8 -17204.318835 21190.288785 -7472.621014 -.088205
+P 9 15290.454746 -21389.837019 1298.879591 -32.374693
+V 9 1695.191703 3738.306756 31733.031454 -.015556
+P 10 25918.746503 -1427.476144 6240.059773 40.171010
+V 10 7664.394981 2706.293095 -30704.388546 .008059
+P 11 -13482.401084 22793.230297 495.181382 99.893159
+V 11 -3660.060145 -2834.146513 30617.568067 .025686
+P 13 6459.169025 24988.723245 -6486.432643 -30.903592
+V 13 -5139.926749 -6623.818419 -30748.860362 .002114
+P 14 -16200.059413 -18161.045367 -10572.369087 -18.159428
+V 14 -3752.720918 -13111.171982 28150.146695 -.001187
+P 15 -13125.249793 -7496.557320 21626.695040 232.987827
+V 15 17765.741642 -21600.486514 3026.587612 .054309
+P 16 -26487.243094 -1308.554807 1638.193428 15.280169
+V 16 -1728.817400 -2955.894156 -31673.431421 -.004106
+P 17 20008.113469 -15507.631775 -6462.461382 207.208353
+V 17 -3502.478697 8421.988944 -30986.401144 .195067
+P 18 -7478.538342 -15362.219649 20418.265346 -15.431802
+V 18 25660.488027 2764.004256 11286.468391 -.026621
+P 20 -9878.533922 13524.082288 -20681.929041 -184.111125
+V 20 -25918.444581 -3166.769583 10344.930585 .027693
+P 21 367.879760 -20072.148038 17137.549554 73.088815
+V 21 15275.755079 -16012.176347 -19412.501749 .004899
+P 22 -19478.998429 -12343.134549 13303.024980 -40.140397
+V 22 16781.497458 321.668002 25224.031172 .088055
+P 24 19583.406930 -6764.271589 -16363.541120 8.149573
+V 24 -11862.014942 17755.955595 -21080.631111 .029254
+P 25 -15872.634487 -2705.327803 -20753.128873 61.719827
+V 25 13245.669101 -23845.826963 -6925.217451 .010878
+P 26 12294.866262 -8237.334288 21757.658263 410.057446
+V 26 11942.751130 25592.860329 3503.705587 -.124548
+P 27 -837.912528 21800.496591 15267.428892 919.916105
+V 27 -12139.962448 14549.998482 -22644.541462 .042932
+P 28 19008.951873 12147.986249 14442.670969 21.858211
+V 28 -18007.624940 38.032092 23674.016016 .016563
+P 29 15025.524587 -2977.231115 21969.558502 229.953167
+V 29 11603.486163 24608.030757 -4603.069726 .032729
+P 30 -1439.953834 -15767.458718 -21562.768908 805.185705
+V 30 26859.242244 1459.209393 -2790.908067 .142395
+P 31 -9673.866894 13645.252277 20232.203845 39.895033
+V 31 -13367.938684 -23034.496536 9325.205352 .309112
+* 2004 3 1 1 0 .00000000
+P 1 -4354.290422 18609.912202 -18257.431969 332.595414
+V 1 -11820.108816 -20361.048009 -17794.512261 .018114
+P 3 -18190.700626 -1747.331141 19249.568588 89.911741
+V 3 -11983.826418 -21649.742655 -12999.291853 .028292
+P 4 12666.809366 8404.542142 -21758.477812 -76.785790
+V 4 -15225.671055 23111.863012 378.842671 -.091943
+P 5 16140.539088 -12968.742708 -16661.939688 19.779040
+V 5 21152.272679 1424.851908 19691.789387 .018485
+P 6 -3170.829581 -23379.106025 -11878.121674 -1.365082
+V 6 10355.551327 11922.065149 -25960.652092 -.009981
+P 7 16815.717797 19746.918108 -5718.818318 611.725215
+V 7 1140.956275 8372.495283 29989.333973 -.078285
+P 8 6494.361245 15577.167426 20233.187943 355.375495
+V 8 -15487.133439 21172.971472 -11527.435839 -.088242
+P 9 15368.163720 -20917.437142 4134.915625 -32.376024
+V 9 94.068101 6786.062211 31196.343747 -.015155
+P 10 26457.844978 -1214.060711 3431.613659 40.171391
+V 10 4290.640654 2105.081255 -31617.118413 .008039
+P 11 -13745.445664 22408.561639 3238.489527 99.895592
+V 11 -2242.542995 -5735.730736 30256.517320 .025685
+P 13 5911.600159 24267.812004 -9190.449391 -30.903718
+V 13 -7074.599386 -9336.752826 -29254.650014 .002104
+P 14 -16503.304443 -19200.112340 -7954.910940 -18.159814
+V 14 -2910.322972 -9972.962535 29931.647921 -.001185
+P 15 -11572.478292 -9489.446529 21708.375452 232.992487
+V 15 16680.744966 -22612.566099 -1215.590443 .054319
+P 16 -26488.514197 -1562.114004 -1218.325676 15.279770
+V 16 1705.883252 -2747.836993 -31713.636197 -.004107
+P 17 19611.063145 -14620.212964 -9184.400494 207.226191
+V 17 -5247.204443 11313.787176 -29409.909056 .195054
+P 18 -5112.305160 -15169.696965 21256.651107 -15.434191
+V 18 26838.599858 1484.654383 7316.726695 -.026617
+P 20 -12158.784869 13303.793839 -19576.631887 -184.109094
+V 20 -24668.495933 -1750.811241 14182.380176 .027687
+P 21 1644.866596 -21462.987990 15245.201826 73.089700
+V 21 13096.543285 -14812.087248 -22579.150057 .004893
+P 22 -17846.574695 -12339.781748 15453.120343 -40.132489
+V 22 19441.116296 -306.152213 22488.567186 .088042
+P 24 18498.260008 -5054.160829 -18111.762536 8.153917
+V 24 -12173.598757 20211.829204 -17710.325854 .029391
+P 25 -14719.220300 -4904.880959 -21189.924453 61.721660
+V 25 12332.781320 -24958.030377 -2766.602016 .010868
+P 26 13435.220470 -5957.422118 21879.890851 410.046429
+V 26 13358.970033 24983.227547 -787.849054 -.124551
+P 27 -1840.147278 23035.133901 13104.568852 919.919983
+V 27 -10145.877626 12808.276192 -25353.453980 .042903
+P 28 17274.759264 12186.880258 16446.209364 21.860038
+V 28 -20471.517453 879.258862 20786.631549 .016570
+P 29 16116.675055 -819.102582 21372.081082 229.956224
+V 29 12589.817803 23278.828019 -8655.766915 .032735
+P 30 987.328495 -15696.506030 -21631.638173 805.198716
+V 30 26994.419595 113.272870 1263.135322 .142412
+P 31 -10945.147240 11566.506362 20888.794802 39.923450
+V 31 -14852.363279 -23074.544269 5245.215830 .309067
+* 2004 3 1 1 15 .00000000
+P 1 -5509.278397 16732.667394 -19694.835945 332.597341
+V 1 -13837.754949 -21265.953147 -14100.711814 .017957
+P 3 -19273.318381 -3609.360817 17917.157243 89.914775
+V 3 -12006.624401 -19683.739854 -16566.017975 .028148
+P 4 11355.090449 10512.986515 -21536.753567 -76.794061
+V 4 -13881.065795 23661.532292 4543.075923 -.091952
+P 5 17942.873081 -12877.640660 -14751.565940 19.779453
+V 5 18838.398116 648.948326 22701.047702 .018572
+P 6 -2145.740177 -22219.295198 -14103.808662 -1.367340
+V 6 12439.829278 13778.250275 -23426.335901 -.010019
+P 7 16853.425891 20367.657478 -2978.370244 611.718069
+V 7 -365.374897 5443.030173 30821.540780 -.078303
+P 8 5184.435054 17462.360769 19020.367298 355.367509
+V 8 -13602.042150 20631.558795 -15385.330969 -.088277
+P 9 15319.199450 -20164.990287 6897.481631 -32.377146
+V 9 -1113.897916 9945.427945 30102.031708 -.014899
+P 10 26688.031195 -1035.845120 565.063679 40.171417
+V 10 815.976750 1927.127167 -31993.964113 .008046
+P 11 -13896.819515 21758.174973 5925.595527 99.897891
+V 11 -1183.172564 -8724.611061 29370.477360 .025685
+P 13 5178.530638 23319.846139 -11737.259131 -30.903354
+V 13 -9249.228987 -11658.916499 -27260.365818 .002102
+P 14 -16710.463915 -19956.561336 -5200.197285 -18.160089
+V 14 -1620.106119 -6847.424952 31195.951888 -.001179
+P 15 -10132.325453 -11552.763419 21408.291603 232.998006
+V 15 15275.801565 -23156.671471 -5444.334512 .054480
+P 16 -26180.712732 -1815.620566 -4053.874151 15.279745
+V 16 5122.973879 -2954.326811 -31207.931274 -.004107
+P 17 19077.381485 -13469.915138 -11740.329627 207.243572
+V 17 -6533.782926 14246.616039 -27303.260392 .195034
+P 18 -2663.203095 -15099.043230 21731.327007 -15.436619
+V 18 27496.866160 70.120655 3215.432488 -.026615
+P 20 -14304.083811 13203.671784 -18136.339486 -184.106394
+V 20 -22926.457684 -510.071810 17778.663735 .027687
+P 21 2725.721606 -22723.599982 13085.040898 73.089951
+V 21 10932.700974 -13121.849218 -25354.751642 .004891
+P 22 -15990.352591 -12408.038937 17339.599413 -40.124459
+V 22 21742.632757 -1260.073347 19374.373956 .088024
+P 24 17405.939374 -3133.806788 -19541.795256 8.157045
+V 24 -12026.454429 22412.458831 -14020.084573 .029325
+P 25 -13661.175872 -7183.478675 -21249.616154 61.723621
+V 25 11138.848113 -25594.309648 1442.012582 .010801
+P 26 14691.137126 -3755.575207 21616.928194 410.035016
+V 26 14497.417906 23866.777253 -5043.384825 -.124565
+P 27 -2667.926829 24092.448481 10716.362465 919.923640
+V 27 -8276.800005 10615.885510 -27644.052399 .042875
+P 28 15335.616752 12314.869151 18173.760518 21.861689
+V 28 -22551.231630 2007.282249 17549.298165 .016572
+P 29 17280.889721 1201.032583 20415.827676 229.958981
+V 29 13216.504845 21552.532949 -12564.956047 .032734
+P 30 3403.563646 -15746.547079 -21335.931122 805.211336
+V 30 26614.236148 -1215.264616 5299.626513 .142429
+P 31 -12340.578452 9506.756320 21173.796688 39.951296
+V 31 -16113.253796 -22617.796419 1080.391246 .309016
+* 2004 3 1 1 30 .00000000
+P 1 -6842.095450 14798.169609 -20788.084151 332.599076
+V 1 -15755.756159 -21633.891268 -10157.871762 .017804
+P 3 -20339.252269 -5283.549557 16276.458854 89.916228
+V 3 -11608.612810 -17489.445705 -19840.484138 .028008
+P 4 10174.645326 12648.488701 -20942.761441 -76.802687
+V 4 -12322.437271 23707.478632 8639.418007 -.091962
+P 5 19521.498949 -12842.241685 -12587.307602 19.781401
+V 5 16193.176073 195.588120 25325.301940 .018906
+P 6 -930.161203 -20912.709106 -16082.472295 -1.368912
+V 6 14573.922098 15178.757498 -20479.285700 -.009966
+P 7 16739.331335 20731.781421 -186.870941 611.711170
+V 7 -2225.167996 2683.853855 31123.056634 -.078322
+P 8 4048.229099 19274.855177 17471.850174 355.359052
+V 8 -11642.473624 19557.720553 -18975.990078 -.088307
+P 9 15180.263851 -19126.898896 9537.008155 -32.377877
+V 9 -1902.438516 13116.725926 28465.650070 -.014760
+P 10 26604.658622 -854.187319 -2311.050684 40.172722
+V 10 -2660.764373 2181.556288 -31829.469563 .007971
+P 11 -13969.776476 20838.152618 8509.888049 99.900083
+V 11 -501.895587 -11712.740892 27975.156368 .025681
+P 13 4242.013908 22182.608625 -14083.327199 -30.903037
+V 13 -11581.072114 -13534.935127 -24800.071773 .002098
+P 14 -16782.221452 -20435.977290 -2355.803832 -18.160014
+V 14 92.907339 -3832.626821 31921.756312 -.001174
+P 15 -8829.998726 -13642.254019 20731.086886 233.002280
+V 15 13632.298906 -23188.284033 -9583.402739 .054539
+P 16 -25569.854095 -2106.002199 -6819.600239 15.279271
+V 16 8424.358562 -3563.852943 -30164.109880 -.004107
+P 17 18449.330615 -12057.706607 -14084.305554 207.261026
+V 17 -7342.780681 17116.640854 -24707.538248 .195012
+P 18 -179.139016 -15158.488022 21833.567417 -15.439180
+V 18 27613.416073 -1391.427987 -947.864002 -.026612
+P 20 -16272.265890 13204.386675 -16385.556240 -184.103861
+V 20 -20742.203629 477.894480 21072.316483 .027685
+P 21 3615.938605 -23811.135280 10694.623891 73.090235
+V 21 8874.829141 -10972.701623 -27688.043648 .004886
+P 22 -13945.649368 -12574.470311 18930.752005 -40.116241
+V 22 23619.675545 -2476.128873 15935.154777 .088007
+P 24 16346.104329 -1030.257747 -20627.723192 8.159057
+V 24 -11459.663756 24268.800232 -10074.865123 .029262
+P 25 -12720.275470 -9496.375301 -20931.183128 61.723797
+V 25 9743.558732 -25715.162043 5623.282190 .010749
+P 26 16034.179334 -1674.805368 20975.428472 410.024112
+V 26 15283.772796 22304.039012 -9187.476879 -.124577
+P 27 -3336.075211 24933.867555 8142.574766 919.927255
+V 27 -6610.873106 8019.854302 -29470.376480 .042849
+P 28 13228.825809 12554.721890 19596.158173 21.863321
+V 28 -24188.496576 3352.675084 14014.634046 .016571
+P 29 18483.134820 3050.593618 19116.624830 229.961434
+V 29 13426.655385 19501.244486 -16266.379215 .032739
+P 30 5762.758340 -15912.184991 -20680.236369 805.224549
+V 30 25730.193013 -2441.642633 9251.785570 .142449
+P 31 -13836.504620 7508.982403 21083.017081 39.979345
+V 31 -17073.571025 -21705.606961 -3092.729305 .308965
+* 2004 3 1 1 45 .00000000
+P 1 -8339.469802 12854.297785 -21517.869811 332.600223
+V 1 -17479.115407 -21478.113407 -6035.711432 .017647
+P 3 -21349.673093 -6753.194655 14356.290466 89.919368
+V 3 -10771.322147 -15153.025933 -22767.823376 .028098
+P 4 9140.870921 14764.454459 -19985.851001 -76.810900
+V 4 -10636.622604 23224.778188 12596.066736 -.091971
+P 5 20850.047104 -12831.415996 -10205.976512 19.783625
+V 5 13294.980799 108.988005 27517.636559 .019184
+P 6 476.362212 -19501.433466 -17779.250392 -1.371993
+V 6 16667.862834 16102.727555 -17171.472524 -.009759
+P 7 16443.798590 20858.227816 2607.850473 611.704221
+V 7 -4387.761904 173.501431 30893.885917 -.078343
+P 8 3088.183079 20967.110437 15614.679192 355.350673
+V 8 -9703.032967 17963.208171 -22233.850480 -.088330
+P 9 14989.593654 -17806.704137 12005.823546 -32.377653
+V 9 -2263.856514 16197.238606 26313.790554 -.014647
+P 10 26211.995278 -630.455594 -5148.090645 40.173579
+V 10 -6040.907010 2859.016763 -31126.916000 .007863
+P 11 -13998.620132 19652.588994 10946.579127 99.902392
+V 11 -202.034798 -14610.687106 26095.299650 .025680
+P 13 3091.944516 20898.108890 -16188.540917 -30.902816
+V 13 -13979.181774 -14926.536170 -21915.642273 .002093
+P 14 -16682.328012 -20652.527841 529.196930 -18.160076
+V 14 2185.786297 -1020.626589 32097.143981 -.001159
+P 15 -7682.985210 -15710.482397 19688.222297 233.006853
+V 15 11839.816143 -22681.486391 -13557.795345 .054705
+P 16 -24670.630603 -2468.341260 -9467.775227 15.278837
+V 16 11515.915346 -4547.046152 -28599.309280 -.004102
+P 17 17769.990580 -10393.903237 -16174.532180 207.278663
+V 17 -7675.477280 19820.710035 -21673.613605 .194989
+P 18 2290.842014 -15348.195208 21560.983090 -15.441687
+V 18 27184.923005 -2809.518651 -5102.096523 -.026594
+P 20 -18026.351731 13280.093043 -14354.101952 -184.101152
+V 20 -18180.742230 1146.328056 24006.849410 .027680
+P 21 4328.909164 -24686.384603 8115.768639 73.090600
+V 21 7007.227083 -8414.048095 -29535.783299 .004884
+P 22 -11753.114829 -12859.362536 20199.934231 -40.108535
+V 22 25020.461892 -3879.254393 12229.631380 .087994
+P 24 15354.129604 1221.893990 -21349.727158 8.162079
+V 24 -10529.027925 25702.838409 -5944.979810 .029185
+P 25 -11910.777921 -11796.101123 -20240.548637 61.726026
+V 25 8233.626389 -25299.773646 9700.517864 .010715
+P 26 17429.820503 248.010864 19968.683455 410.013128
+V 26 15657.466295 20370.308520 -13148.358032 -.124590
+P 27 -3866.059838 25525.801889 5426.797668 919.931093
+V 27 -5217.059312 5083.628963 -30793.545763 .042823
+P 28 10996.283977 12922.511226 20689.192905 21.864831
+V 28 -25339.752654 4836.529193 10240.050266 .016569
+P 29 19683.921546 4703.968640 17495.953499 229.964630
+V 29 13178.493557 17207.254991 -19698.790556 .032746
+P 30 8020.716543 -16180.543853 -19675.115213 805.237350
+V 30 24370.618772 -3484.960764 13053.828663 .142469
+P 31 -15402.809525 5611.698118 20619.136473 40.006914
+V 31 -17667.293892 -20395.498804 -7198.226129 .308912
+* 2004 3 1 2 0 .00000000
+P 1 -9979.811009 10946.861961 -21871.323991 332.601624
+V 1 -18918.606144 -20831.174213 -1807.345456 .017515
+P 3 -22264.848932 -8009.501048 12190.127304 89.920639
+V 3 -9493.231282 -12763.472395 -25299.516684 .028162
+P 4 8261.147097 16812.887329 -18681.764512 -76.818751
+V 4 -8914.343040 22207.340037 16342.986097 -.091975
+P 5 21909.607665 -12810.747514 -7648.291738 19.784859
+V 5 10230.697991 417.686413 29238.286666 .019418
+P 6 2066.122917 -18028.607461 -19164.271531 -1.374073
+V 6 18630.856161 16547.668676 -13561.653166 -.009469
+P 7 15942.340860 20772.497348 5358.362247 611.697040
+V 7 -6789.782779 -2021.132747 30142.786146 -.078360
+P 8 2298.317619 22493.540286 13481.530735 355.341260
+V 8 -7875.550955 15879.573698 -25099.503752 -.088347
+P 9 14785.263152 -16217.171298 14259.135170 -32.378382
+V 9 -2209.460819 19085.412810 23683.758776 -.014833
+P 10 25523.049996 -327.678421 -7898.102044 40.174918
+V 10 -9229.464769 3932.087526 -29898.189545 .007765
+P 11 -14017.202075 18213.562108 13193.497167 99.904701
+V 11 -270.277552 -17331.034521 23764.209446 .025679
+P 13 1726.642042 19510.979601 -18016.882224 -30.902421
+V 13 -16347.880624 -15813.859504 -18656.069477 .002092
+P 14 -16379.146796 -20628.264704 3405.089215 -18.160573
+V 14 4599.289385 1505.979981 31719.750090 -.001150
+P 15 -6700.480335 -17708.567001 18297.794420 233.010645
+V 15 9992.388732 -21630.211875 -17295.312044 .054861
+P 16 -23505.893819 -2934.312525 -11952.624849 15.278271
+V 16 14311.017709 -5857.795094 -26539.770342 -.004096
+P 17 17081.403585 -8497.909888 -17974.182471 207.296306
+V 17 -7553.519767 22260.705614 -18260.794586 .194969
+P 18 4698.241079 -15660.217781 20917.604984 -15.443865
+V 18 26226.828624 -4094.987887 -9175.860241 -.026580
+P 20 -19535.806628 13399.525724 -12076.620222 -184.098886
+V 20 -15319.840377 1441.960821 26531.709600 .027671
+P 21 4885.196399 -25315.338402 5393.786780 73.090978
+V 21 5404.412014 -5511.676537 -30863.719486 .004887
+P 22 -9457.333253 -13275.858172 21125.976500 -40.100602
+V 22 25909.591285 -5386.282490 8320.567114 .087983
+P 24 14459.700177 3581.655975 -21694.505991 8.165442
+V 24 -9304.740915 26650.866861 -1704.720265 .029115
+P 25 -11238.962075 -14034.190860 -19190.445999 61.726744
+V 25 6699.028913 -24346.913849 13599.345552 .010447
+P 26 18838.789916 1983.315486 18616.232562 410.001785
+V 26 15573.964484 18152.339217 -16859.146825 -.124604
+P 27 -4285.027955 25841.039513 2615.759326 919.934596
+V 27 -4152.144431 1885.090733 -31582.936515 .042803
+P 28 8683.086512 13426.891994 21434.009492 21.866592
+V 28 -25977.714677 6373.430261 6286.985581 .016574
+P 29 20840.748317 6143.299350 15580.637776 229.967738
+V 29 12447.085335 14760.048024 -22804.846403 .032757
+P 30 10136.515579 -16531.759689 -18336.967961 805.250142
+V 30 22579.718916 -4271.340709 16641.947757 .142487
+P 31 -17004.035585 3847.608045 19791.580230 40.034869
+V 31 -17842.153062 -18758.553344 -11162.389273 .308859
+* 2004 3 1 2 15 .00000000
+P 1 -11733.896920 9117.923426 -21842.258246 332.602598
+V 1 -19994.447242 -19743.527586 2452.125201 .017414
+P 3 -23045.679509 -9051.682044 9815.498578 89.923264
+V 3 -7789.858474 -10409.190139 -27394.101430 .028263
+P 4 7534.651027 18746.111786 -17052.417988 -76.827361
+V 4 -7246.539764 20668.407631 19813.239807 -.091981
+P 5 22689.353541 -12744.009426 -4958.197980 19.786708
+V 5 7092.497718 1133.215696 30455.464402 .019735
+P 6 3823.343635 -16536.766081 -20213.215482 -1.373972
+V 6 20374.973329 16529.431395 -9714.228919 -.009039
+P 7 15216.655323 20505.502903 8018.397630 611.690140
+V 7 -9357.626235 -3846.992479 28886.802711 -.078375
+P 8 1664.658241 23812.250183 11110.102924 355.333198
+V 8 -6245.244430 13357.048194 -27520.961616 -.088358
+P 9 14603.486039 -14379.993848 16255.966955 -32.379910
+V 9 -1769.147360 21685.095407 20622.926909 -.015148
+P 10 24559.086768 87.869317 -10514.581069 40.175020
+V 10 -12138.523826 5356.271075 -28163.603912 .007582
+P 11 -14057.449392 16540.801319 15211.829298 99.906982
+V 11 -677.334083 -19791.707859 21023.101953 .025677
+P 13 153.113014 18066.786534 -19537.032944 -30.902120
+V 13 -18590.421073 -16196.072460 -15076.660890 .002091
+P 14 -15847.025093 -20392.130583 6222.374757 -18.160705
+V 14 7260.099118 3677.128347 30796.758554 -.001134
+P 15 -5883.163175 -19587.992615 16584.214818 233.015362
+V 15 8184.569071 -20048.667550 -20728.066674 .055173
+P 16 -22105.831318 -3530.751905 -14231.131526 15.277863
+V 16 16733.780725 -7435.030632 -24020.430239 -.004085
+P 17 16422.791363 -6397.581345 -19452.088998 207.313584
+V 17 -7017.653781 24347.613798 -14535.268988 .194953
+P 18 6996.778065 -16078.778300 19913.860202 -15.446388
+V 18 24772.857974 -5163.580712 -13098.628496 -.026568
+P 20 -20777.563258 13527.316701 -9592.004091 -184.096456
+V 20 -12247.160667 1327.203529 28603.155908 .027662
+P 21 5311.512484 -25670.554543 2576.638173 73.091456
+V 21 4128.040600 -2345.273538 -31647.364267 .004892
+P 22 -7105.290948 -13829.372127 21693.502023 -40.092911
+V 22 26269.230561 -6909.217890 4273.757299 .087971
+P 24 13685.644741 6003.050271 -21655.567872 8.169735
+V 24 -7868.431148 27066.201195 2569.145390 .028969
+P 25 -10703.007187 -16162.954792 -17800.138366 61.728815
+V 25 5229.133500 -22874.985649 17249.285764 .010255
+P 26 20218.592133 3509.737959 16943.375494 409.990856
+V 26 15006.342297 15744.693680 -20258.871911 -.124615
+P 27 -4624.590447 25859.929725 -241.468639 919.938229
+V 27 -3458.143363 -1486.111563 -31817.265205 .042792
+P 28 6336.012120 14068.659365 21817.432724 21.868395
+V 28 -26092.376190 7874.687484 2220.081063 .016578
+P 29 21909.672508 7358.982662 13402.454374 229.970606
+V 29 11225.480494 12253.026998 -25531.975166 .032770
+P 30 12073.870624 -16939.746683 -16687.811798 805.263058
+V 30 20416.051330 -4736.862322 19955.295574 .142508
+P 31 -18600.721477 2242.525132 18616.252455 40.063352
+V 31 -17561.740935 -16876.279320 -14915.189927 .308799
+* 2004 3 1 2 30 .00000000
+P 1 -13565.875596 7404.274564 -21431.278169 332.604503
+V 1 -20639.601933 -18281.394872 6667.066994 .017353
+P 3 -23655.209480 -9886.755069 7273.325615 89.924910
+V 3 -5693.205477 -8174.654224 -29017.743723 .028417
+P 4 6952.504761 20518.507309 -15125.562614 -76.835513
+V 4 -5720.659050 18640.295876 22944.310618 -.091987
+P 5 23186.861299 -12594.729785 -2182.115083 19.789224
+V 5 3974.364817 2249.434451 31146.058102 .020043
+P 6 5724.597934 -15066.218906 -20907.764941 -1.375083
+V 6 21818.743444 16081.426627 -5697.976206 -.008680
+P 7 14255.419898 20092.246229 10543.576342 611.682714
+V 7 -12010.256132 -5266.493690 27150.713028 -.078389
+P 8 1165.993326 24886.637879 8542.397285 355.325129
+V 8 -4887.162209 10462.625358 -29454.746273 -.088363
+P 9 14476.993599 -12325.122704 17960.024362 -32.380979
+V 9 -990.125261 23909.590981 17187.771219 -.015393
+P 10 23348.844959 645.200668 -12953.220757 40.176637
+V 10 -14690.372381 7071.680080 -25951.602958 .007535
+P 11 -14147.980502 14661.064884 16966.799147 99.909024
+V 11 -1379.235028 -21919.077638 17920.318153 .025673
+P 13 -1613.019887 16610.315319 -20722.903337 -30.901714
+V 13 -20612.696149 -16091.267185 -11238.138689 .002094
+P 14 -15067.439758 -19978.711720 8932.625715 -18.160991
+V 14 10083.601332 5437.851594 29344.730341 -.001125
+P 15 -5223.328942 -21302.422042 14577.756777 233.019910
+V 15 6507.458689 -17970.904117 -23793.912632 .055542
+P 16 -20506.868590 -4278.413416 -16263.792582 15.277650
+V 16 18721.902547 -9205.112237 -21084.352659 -.004076
+P 17 15828.925206 -4128.236852 -20583.287688 207.331230
+V 17 -6125.617983 26005.123004 -10568.412026 .194938
+P 18 9143.988918 -16580.867352 18566.437369 -15.448781
+V 18 22873.832465 -5939.395689 -16801.989716 -.026555
+P 20 -21736.768717 13625.482557 -6942.747290 -184.093657
+V 20 -9057.016581 781.737286 30185.034271 .027650
+P 21 5639.442570 -25732.274343 -285.974031 73.091756
+V 21 3224.374022 994.661739 -31872.536243 .004888
+P 22 -4744.765885 -14517.311003 21893.153452 -40.084512
+V 22 26099.656089 -8358.673042 156.999031 .087959
+P 24 13047.059245 8436.741873 -21233.382188 8.171409
+V 24 -6309.697128 26921.196905 6798.961317 .028675
+P 25 -10293.220494 -18137.216511 -16095.001817 61.729335
+V 25 3908.886484 -20921.238417 20585.203779 .010040
+P 26 21525.135118 4814.626675 14980.601990 409.978959
+V 26 13946.123441 13245.919866 -23293.289722 -.124627
+P 27 -4919.395610 25571.298960 -3094.355028 919.941702
+V 27 -3160.250117 -4931.837022 -31485.519510 .042782
+P 28 4001.945041 14840.605332 21832.216198 21.869929
+V 28 -25691.414571 9251.713208 -1893.705751 .016577
+P 29 22846.956843 8349.869743 10997.664988 229.973420
+V 29 9525.223107 9780.080708 -27833.219845 .032772
+P 30 13802.337692 -17373.213430 -14754.970090 805.275851
+V 30 17950.470690 -4830.166885 22936.966951 .142529
+P 31 -20150.898603 814.587440 17115.144234 40.091780
+V 31 -16806.922025 -14837.116511 -18391.594981 .308736
+* 2004 3 1 2 45 .00000000
+P 1 -15434.541865 5836.139984 -20645.765448 332.606396
+V 1 -20802.560390 -16523.996679 10762.776075 .017207
+P 3 -24060.063692 -10529.044304 4607.214656 89.929452
+V 3 -3250.586327 -6137.259014 -30144.674100 .028591
+P 4 6498.253641 22088.184011 -12934.329335 -76.844872
+V 4 -4417.040847 16173.357214 25679.371433 -.091993
+P 5 23408.114206 -12327.785449 631.869204 19.792101
+V 5 968.543030 3742.594007 31296.195069 .020167
+P 6 7739.543898 -13653.532163 -21235.938484 -1.375385
+V 6 22890.486061 15253.121231 -1584.682752 -.008277
+P 7 13054.827995 19570.374189 12892.072888 611.675508
+V 7 -14662.210021 -6258.562563 24966.404637 -.078402
+P 8 774.932974 25686.788810 5823.911501 355.317205
+V 8 -3863.077615 7277.435893 -30866.771026 -.088365
+P 9 14433.564379 -10089.746115 19340.459494 -32.382173
+V 9 65.163212 25685.335209 13442.621439 -.015729
+P 10 21927.493652 1367.327738 -15172.625290 40.177115
+V 10 -16820.264666 9005.262812 -23298.359780 .007345
+P 11 -14312.864490 12607.252365 18428.267728 99.911335
+V 11 -2319.211490 -23650.726736 14510.408158 .025669
+P 13 -3547.919725 15183.899667 -21554.075609 -30.901650
+V 13 -22326.863258 -15535.644229 -7205.653139 .002095
+P 14 -14029.872086 -19426.785754 11489.314792 -18.160560
+V 14 12977.099073 6750.248367 27389.270229 -.001112
+P 15 -4705.373139 -22809.431084 12313.979445 233.025218
+V 15 5044.890629 -15449.547602 -26437.734967 .056027
+P 16 -18750.337775 -5190.964720 -18015.320162 15.276954
+V 16 20228.986796 -11084.725825 -17782.003631 -.004067
+P 17 15328.718436 -1731.378126 -21349.405979 207.348759
+V 17 -4949.331209 27172.591768 -6435.032995 .194924
+P 18 11102.685665 -17137.139971 16898.040594 -15.451024
+V 18 20595.814886 -6358.038390 -20220.882532 -.026553
+P 20 -22407.226770 13655.025827 -4174.230790 -184.090854
+V 20 -5846.865562 -196.556045 31249.437379 .027643
+P 21 5903.969508 -25489.238830 -3143.546210 73.092296
+V 21 2722.402995 4410.368375 -31535.656496 .004894
+P 22 -2422.698029 -15329.104263 21721.726264 -40.076598
+V 22 25419.140653 -9647.341232 -3960.948918 .087944
+P 24 12550.759349 10831.813604 -20435.386283 8.173838
+V 24 -4722.289938 26208.473097 10907.811863 .028453
+P 25 -9992.598211 -19915.943821 -14105.985360 61.730426
+V 25 2815.242109 -18540.192087 23548.588381 .009739
+P 26 22714.400980 5894.234366 12762.957079 409.967821
+V 26 12403.390803 10754.710489 -25915.502094 -.124643
+P 27 -5205.547832 24973.048676 -5891.867609 919.945342
+V 27 -3265.460824 -8349.220927 -30587.676641 .042773
+P 28 1726.288570 15727.681928 21477.208684 21.871462
+V 28 -24799.973666 10419.440363 -5986.046622 .016574
+P 29 23610.732125 9123.152874 8406.474419 229.976533
+V 29 7376.200910 7432.099982 -29668.043275 .032770
+P 30 15298.309970 -17796.894767 -12570.673954 805.288506
+V 30 15263.603452 -4514.628205 25534.964861 .142549
+P 31 -21611.681409 -426.200189 15315.831714 40.119524
+V 31 -15576.504801 -12732.739668 -21532.697055 .308667
+* 2004 3 1 3 0 .00000000
+P 1 -17294.836586 4436.151060 -19499.729296 332.607312
+V 1 -20449.488852 -14560.267531 14666.912813 .017019
+P 3 -24231.751246 -10999.412682 1862.716514 89.930701
+V 3 -522.893710 -4364.472157 -30757.488309 .028609
+P 4 6148.659272 23418.531418 -10516.662564 -76.852672
+V 4 -3405.565556 13334.204036 27968.472501 -.091997
+P 5 23367.185659 -11910.958326 3434.847374 19.794591
+V 5 -1838.019961 5572.045722 30901.580265 .020077
+P 6 9831.940669 -12330.176289 -21192.297904 -1.374887
+V 6 23531.242200 14107.878324 2552.274153 -.007946
+P 7 11618.847575 18978.668889 15025.226719 611.667548
+V 7 -17226.702197 -6819.066861 22372.208191 -.078409
+P 8 459.222141 26190.607674 3002.763331 355.308865
+V 8 -3218.966383 3893.533192 -31732.985529 -.088364
+P 9 14494.773911 -7716.963395 20372.512258 -32.383643
+V 9 1321.833153 26954.995363 9458.165570 -.016104
+P 10 20335.357282 2270.196021 -17134.983828 40.177562
+V 10 -18478.723776 11073.525280 -20247.275616 .007133
+P 11 -14570.572947 10417.287425 19571.247062 99.913707
+V 11 -3430.077488 -24937.769902 10853.111139 .025662
+P 13 -5620.254329 13825.854173 -22016.155273 -30.901974
+V 13 -23654.745783 -14582.012223 -3047.723290 .002097
+P 14 -12732.378594 -18777.722201 13848.608433 -18.160706
+V 14 15843.334270 7594.780326 24964.541301 -.001109
+P 15 -4306.606045 -24072.093621 9833.043186 233.031675
+V 15 3869.934125 -12553.748999 -28612.569762 .056391
+P 16 -16880.964376 -6274.262343 -19455.269456 15.276461
+V 16 21226.251347 -12984.180838 -14170.384705 -.004057
+P 17 14944.097914 746.826878 -21738.893082 207.366602
+V 17 -3571.533192 27807.271459 -2211.631041 .194909
+P 18 12842.221621 -17713.077819 14937.033260 -15.453464
+V 18 18017.647845 -6369.353197 -23294.804586 -.026543
+P 20 -22791.517586 13577.588696 -1333.955725 -184.088836
+V 20 -2713.671428 -1591.365378 31777.234529 .027628
+P 21 6141.862815 -24939.170426 -5945.732180 73.092525
+V 21 2632.717224 7800.679909 -30643.787741 .004890
+P 22 -183.599063 -16246.545072 21182.208458 -40.068658
+V 22 24263.194024 -10693.384995 -8011.406909 .087928
+P 24 12195.085945 13137.613001 -19275.845790 8.175969
+V 24 -3200.114748 24941.282099 14821.139030 .028193
+P 25 -9777.691193 -21463.705460 -11868.964828 61.730593
+V 25 2013.987531 -15801.359619 26088.626576 .009425
+P 26 23744.094971 6753.562617 10329.359238 409.956874
+V 26 10406.200658 8366.190742 -28086.388053 -.124663
+P 27 -5518.936621 24072.397550 -8583.484602 919.949256
+V 27 -3761.973037 -11634.782113 -29135.152436 .042770
+P 28 -448.573595 16707.469341 20757.432757 21.873124
+V 28 -23459.819223 11299.660649 -9988.245934 .016572
+P 29 24162.616211 9693.941078 5672.418384 229.979179
+V 29 4825.823751 5293.565411 -31003.083154 .032765
+P 30 16545.768700 -18172.956161 -10171.578128 805.301535
+V 30 12442.933265 -3770.002954 27703.136257 .142568
+P 31 -22940.884712 -1478.089084 13250.881441 40.147789
+V 31 -13887.172378 -10654.328219 -24286.643101 .308591
+* 2004 3 1 3 15 .00000000
+P 1 -19099.507388 3218.634179 -18013.531344 332.607960
+V 1 -19565.656970 -12485.194850 18310.873633 .016889
+P 3 -24147.790847 -11324.255190 -913.434889 89.933592
+V 3 2417.625639 -2911.391650 -30847.316900 .028725
+P 4 5874.777073 24479.575994 -7914.652149 -76.861123
+V 4 -2742.706901 10203.249157 29769.608765 -.091996
+P 5 23085.609845 -11316.396805 6177.967918 19.796264
+V 5 -4367.003375 7681.725590 29967.770711 .019872
+P 6 11960.905987 -11121.393819 -20778.026396 -1.374379
+V 6 23697.180055 12720.239088 6639.369561 -.007737
+P 7 9959.200506 18355.526040 16908.090984 611.660976
+V 7 -19618.719377 -6960.648642 19412.202043 -.078411
+P 8 183.250204 26384.639714 128.767687 355.300248
+V 8 -2983.178826 410.238915 -32039.770015 -.088358
+P 9 14675.022534 -5254.211455 21038.008054 -32.385701
+V 9 2695.920405 27679.840465 5309.767482 -.016555
+P 10 18616.457930 3361.882481 -18806.694754 40.177482
+V 10 -19633.300886 13185.653614 -16848.379208 .006949
+P 11 -14933.165157 8132.815378 20376.318156 99.916246
+V 11 -4637.015197 -25746.638135 7012.254221 .025657
+P 13 -7792.206648 12569.070961 -22101.024409 -30.901545
+V 13 -24530.885073 -13297.658295 1164.881060 .002101
+P 14 -11181.836120 -18073.798134 15970.109902 -18.160859
+V 14 18584.180028 7970.853809 22112.639027 -.001107
+P 15 -3998.361347 -25060.350367 7178.933207 233.038493
+V 15 3041.877441 -9366.446288 -30280.518284 .056696
+P 16 -14945.230528 -7525.936802 -20558.583041 15.275576
+V 16 21703.553139 -14810.977307 -10312.038627 -.004047
+P 17 14689.195781 3257.223967 -21747.096037 207.384411
+V 17 -2082.058492 27885.714897 2025.277924 .194894
+P 18 14339.510959 -18270.373821 12716.975193 -15.456123
+V 18 15227.973361 -5939.616770 -25968.968474 -.026537
+P 20 -22900.789381 13357.095036 1529.265017 -184.086533
+V 20 249.725474 -3368.438624 31758.458346 .027615
+P 21 6390.001331 -24088.900312 -8643.293102 73.092757
+V 21 2947.167056 11065.012069 -29214.417919 .004893
+P 22 1931.941478 -17244.427823 20283.726841 -40.061296
+V 22 22683.186917 -11423.621547 -11926.807669 .087906
+P 24 11970.071875 15305.593205 -17775.571725 8.177846
+V 24 -1833.233232 23153.006922 18468.299814 .028115
+P 25 -9619.733457 -22751.895591 -9424.010091 61.731998
+V 25 1557.096524 -12786.385994 28163.052446 .009221
+P 26 24575.212493 7405.882902 7721.887329 409.945818
+V 26 7999.357182 6168.462082 -29774.869203 -.124678
+P 27 -5893.549196 22885.745622 -11120.232631 919.953243
+V 27 -4619.428994 -14688.683456 -27150.933530 .042767
+P 28 -2484.712254 17750.936420 19684.070711 21.874658
+V 28 -21727.882194 11824.164211 -13832.296614 .016566
+P 29 24469.229229 10084.536460 2841.686209 229.982216
+V 29 1937.543122 3439.328710 -31812.840977 .032767
+P 30 17536.757796 -18462.520365 -7598.194624 805.314461
+V 30 9579.593623 -2593.486145 29402.059770 .142589
+P 31 -24098.602472 -2347.378341 10957.181499 40.175797
+V 31 -11772.702978 -8688.959012 -26609.354837 .308508
+* 2004 3 1 3 30 .00000000
+P 1 -20800.863184 2189.239544 -16213.491113 332.610134
+V 1 -18156.087697 -10395.939011 21631.067936 .016925
+P 3 -23792.617044 -11534.293597 -3674.093534 89.935571
+V 3 5489.999722 -1818.787884 -30413.868685 .028706
+P 4 5643.275724 25249.090045 -5173.775980 -76.869091
+V 4 -2469.124162 6871.659090 31049.633159 -.091992
+P 5 22591.467516 -10521.910884 8813.319882 19.798688
+V 5 -6551.721000 10002.267885 28510.083514 .019589
+P 6 14082.362788 -10045.332588 -20000.877463 -1.375884
+V 6 23361.376671 11172.767042 10604.355640 -.007629
+P 7 8095.067353 17737.474445 18509.917881 611.654061
+V 7 -21758.010501 -6711.983259 16135.500670 -.078416
+P 8 -90.309091 26264.549553 -2747.510250 355.292435
+V 8 -3165.379569 -3069.783612 -31784.073494 -.088351
+P 9 14980.885411 -2751.515391 21325.698139 -32.387525
+V 9 4098.147590 27841.265570 1075.664539 -.016940
+P 10 16816.926278 4642.088738 -20158.931441 40.177234
+V 10 -20269.725201 15246.930856 -13157.628164 .006836
+P 11 -15405.737832 5797.766741 20829.947147 99.918579
+V 11 -5860.648519 -26060.262817 3054.594382 .025649
+P 13 -10020.739662 11439.833471 -21806.992221 -30.901317
+V 13 -24905.127341 -11761.667094 5360.301286 .002104
+P 14 -9393.852260 -17356.494481 17817.540238 -18.161123
+V 14 21104.361318 7896.668389 18882.838755 -.001104
+P 15 -3747.349768 -25752.104933 4398.611075 233.043972
+V 15 2603.820140 -5981.066082 -31413.432077 .056569
+P 16 -12989.678538 -8935.305651 -21306.040672 15.275322
+V 16 21669.685878 -16473.501645 -6273.945743 -.004036
+P 17 14569.886077 5749.441817 -21376.190349 207.401651
+V 17 -573.929268 27404.347779 6200.712340 .194879
+P 18 15579.760779 -18768.486225 10276.059220 -15.459087
+V 18 12321.844698 -5053.095205 -28195.377084 -.026527
+P 20 -22754.228987 12961.316605 4366.143183 -184.083785
+V 20 2958.090394 -5476.774799 31192.538112 .027606
+P 21 6683.701543 -22954.137682 -11189.016791 73.093340
+V 21 3639.326001 14107.303446 -27274.999819 .004898
+P 22 3888.600269 -18291.459025 19041.400977 -40.053549
+V 22 20744.407613 -11776.394201 -15641.714151 .087888
+P 24 11857.961552 17291.070141 -15961.501920 8.181967
+V 24 -704.048534 20895.811676 21784.016149 .028032
+P 25 -9485.981127 -23759.679800 -6814.586482 61.730914
+V 25 1480.713540 -9585.745218 29738.759375 .008954
+P 26 25173.469740 7871.962206 4985.050320 409.934330
+V 26 5242.621598 4239.509737 -30958.031136 -.124699
+P 27 -6359.844010 21438.155874 -13455.720979 919.956691
+V 27 -5790.026176 -17418.936955 -24669.359004 .042765
+P 28 -4349.930241 18823.470391 18274.353378 21.876737
+V 28 -19674.226009 11937.562890 -17451.980258 .016562
+P 29 24503.547120 10323.434132 -37.614807 229.985115
+V 29 -1211.252109 1931.709238 -32080.286319 .032767
+P 30 18271.560759 -18627.260125 -4894.249428 805.326669
+V 30 6764.979504 -1000.116047 30599.864524 .142612
+P 31 -25048.686599 -3047.892722 8475.217092 40.203568
+V 31 -9282.539924 -6916.263895 -28465.043624 .308417
+* 2004 3 1 3 45 .00000000
+P 1 -22352.551267 1344.922875 -14131.381911 332.612158
+V 1 -16245.408854 -8387.898826 24570.071618 .016849
+P 3 -23158.235363 -11663.219233 -6372.470776 89.939084
+V 3 8607.465604 -1111.694125 -29465.353968 .028752
+P 4 5417.944771 25713.404565 -2342.068496 -76.877249
+V 4 -2607.905035 3437.844361 31784.985239 -.091986
+P 5 21918.218614 -9512.056285 11294.804847 19.799100
+V 5 -8339.702718 12453.626398 26553.437006 .019203
+P 6 16150.615364 -9112.477485 -18874.997712 -1.375113
+V 6 22514.906202 9552.593578 14377.633903 -.007492
+P 7 6052.531288 17157.786569 19804.579562 611.647589
+V 7 -23571.880264 -6116.503839 12595.534784 -.078424
+P 8 -398.798264 25835.241016 -5575.703008 355.284399
+V 8 -3756.289609 -6444.550745 -30973.301465 -.088348
+P 9 15410.812478 -259.642621 21231.435056 -32.389671
+V 9 5437.901514 27441.404020 -3164.882696 -.017219
+P 10 14983.338304 6101.950648 -21168.140801 40.178704
+V 10 -20392.397946 17162.330881 -9236.114329 .006856
+P 11 -15986.159821 3456.842856 20924.695535 99.920544
+V 11 -7020.280781 -25878.619374 -951.372922 .025637
+P 13 -12259.069389 10456.892723 -21138.839626 -30.901238
+V 13 -24744.646034 -10061.786880 9466.779959 .002107
+P 14 -7392.344997 -16664.838642 19359.346341 -18.161366
+V 14 23315.062323 7408.343132 15330.731928 -.001098
+P 15 -3517.198092 -26134.003467 1541.115461 233.048850
+V 15 2580.974619 -2497.817430 -31993.354849 .056462
+P 16 -11059.220988 -10483.619426 -21684.605602 15.275154
+V 16 21151.936833 -17884.703848 -2126.331996 -.004026
+P 17 14583.674364 8173.675402 -20634.977972 207.419074
+V 17 860.552863 26379.221972 10242.616472 .194864
+P 18 16556.884760 -19166.301316 7656.455620 -15.461382
+V 18 9397.061908 -3712.891233 -29933.790299 -.026513
+P 20 -22378.230792 12363.301724 7127.765289 -184.081649
+V 20 5336.992687 -7850.479324 30088.370752 .027602
+P 21 7055.122586 -21558.893003 -13538.585375 73.094112
+V 21 4665.723985 16839.735751 -24862.267660 .004903
+P 22 5657.466281 -19351.408653 17476.106498 -40.045817
+V 22 18523.618606 -11704.028909 -19093.814170 .087879
+P 24 11834.059246 19054.822483 -13866.158401 8.183581
+V 24 116.156074 18238.511607 24709.675151 .027897
+P 25 -9341.201797 -24474.629731 -4086.711806 61.732417
+V 25 1803.835510 -6295.150893 30792.175525 .008883
+P 26 25510.550959 8179.030010 2165.051662 409.923384
+V 26 2208.442992 2644.560426 -31621.124299 -.124721
+P 27 -6943.262448 19762.468016 -15547.139776 919.960381
+V 27 -7210.468466 -19745.335409 -21735.536215 .042768
+P 28 -6018.833163 19886.142159 16551.348391 21.877846
+V 28 -17379.495509 11599.684215 -20783.998994 .016553
+P 29 24246.039852 10444.079408 -2916.244855 229.988041
+V 29 -4531.904703 818.021818 -31797.355882 .032773
+P 30 18758.569093 -18630.996697 -2105.969456 805.339743
+V 30 4087.301516 977.505566 31272.956980 .142638
+P 31 -25760.070831 -3600.176270 5848.308689 40.231796
+V 31 -6479.794291 -5405.473383 -29826.529982 .308323
+* 2004 3 1 4 0 .00000000
+P 1 -23711.285530 674.277499 -11803.829386 332.613407
+V 1 -13876.920559 -6550.886553 27077.633480 .016722
+P 3 -22244.603582 -11746.235308 -8962.892726 89.939897
+V 3 11680.602279 -798.589101 -28018.293889 .028719
+P 4 5161.327872 25867.890855 530.767117 -76.885218
+V 4 -3163.541886 3.635079 31962.210009 -.091986
+P 5 21103.329155 -8278.956813 13578.983572 19.801626
+V 5 -9694.674275 14948.217891 24131.915526 .018932
+P 6 18119.990724 -8325.400960 -17420.629720 -1.376270
+V 6 21167.197296 7947.814265 17893.542795 -.007427
+P 7 3863.782475 16645.226082 20770.924023 611.640900
+V 7 -24997.705240 -5230.642381 8849.326855 -.078436
+P 8 -777.889587 25110.617437 -8306.567947 355.275711
+V 8 -4728.226315 -9616.697650 -29624.968351 -.088337
+P 9 15955.188407 2171.756319 20758.182105 -32.390023
+V 9 6627.222847 26502.814051 -7333.416824 -.017408
+P 10 13161.038096 7724.174624 -21816.466103 40.180430
+V 10 -20024.204612 18840.163860 -5149.176095 .006780
+P 11 -16665.100761 1153.982013 20659.322567 99.923211
+V 11 -8037.167959 -25218.616095 -4936.615402 .025628
+P 13 -14458.291431 9630.841727 -20107.756104 -30.901135
+V 13 -24035.319986 -8290.958634 13413.862203 .002110
+P 14 -5208.807909 -16033.856919 20569.226928 -18.161219
+V 14 25137.284500 6558.358512 11517.267323 -.001092
+P 15 -3270.106595 -26201.868675 -1343.365770 233.052872
+V 15 2979.740681 980.253344 -32012.717244 .056361
+P 16 -9195.523557 -12144.632161 -21687.660512 15.275081
+V 16 20194.919046 -18965.608712 2058.588446 -.004020
+P 17 14719.932845 10482.412360 -19538.568203 207.436269
+V 17 2133.550472 24845.005835 14083.068055 .194853
+P 18 17273.580057 -19423.838652 4903.575495 -15.463853
+V 18 6550.378463 -1941.037630 -31152.555771 -.026500
+P 20 -21805.295390 11542.609540 9766.441636 -184.079616
+V 20 7325.593811 -10411.215542 28464.224302 .027605
+P 21 7531.814565 -19934.582397 -15651.372463 73.094766
+V 21 5967.785121 19186.074785 -22021.359372 .004906
+P 22 7216.947553 -20384.460569 15614.150259 -40.037952
+V 22 16106.196987 -11174.788020 -22224.883418 .087863
+P 24 11867.867191 20564.468569 -11526.995836 8.185595
+V 24 570.173398 15263.766608 27194.444417 .027879
+P 25 -9149.249796 -24893.027802 -1288.089900 61.733045
+V 25 2527.723370 -3011.840976 31309.411987 .008933
+P 26 25565.133511 8359.530267 -690.941830 409.912624
+V 26 -1020.694064 1433.955863 -31757.467099 -.124750
+P 27 -7662.951196 17898.078740 -17356.189280 919.964223
+V 27 -8804.679438 -21602.898667 -18404.396786 .042769
+P 28 -7473.650117 20897.163840 14543.645780 21.879232
+V 28 -14931.926765 10787.432876 -23769.122024 .016542
+P 29 23685.547043 10483.425933 -5744.656428 229.991127
+V 29 -7927.639766 128.641946 -30965.325544 .032775
+P 30 19013.842596 -18441.242281 718.690755 805.353171
+V 30 1628.211648 3290.183207 31406.635365 .142654
+P 31 -26207.893025 -4030.440973 3121.829611 40.259529
+V 31 -3438.780477 -4212.943647 -30675.383887 .308224
+* 2004 3 1 4 15 .00000000
+P 1 -24838.457141 158.199849 -9271.626826 332.615488
+V 1 -11110.926252 -4965.568731 29111.516118 .016578
+P 3 -21059.726304 -11818.553260 -11401.535589 89.943629
+V 3 14620.550321 -871.194941 -26097.222220 .028883
+P 4 4836.413192 25717.089932 3394.283261 -76.893701
+V 4 -4121.690632 -3329.693207 31578.248866 -.091982
+P 5 20186.748234 -6822.829659 15625.874524 19.803620
+V 5 -10597.894470 17394.367693 21288.153959 .018651
+P 6 19946.478943 -7678.838856 -15663.703896 -1.377013
+V 6 19345.654923 6443.888631 21091.532861 -.007281
+P 7 1566.111219 16222.973189 21393.065597 611.632789
+V 7 -25985.101244 -4121.648805 4956.762264 -.078442
+P 8 -1259.981671 24112.997468 -10892.873382 355.267691
+V 8 -6036.399877 -12497.168104 -27766.138017 -.088313
+P 9 16596.744881 4495.938370 19915.862032 -32.392219
+V 9 7584.614368 25067.277547 -11354.019316 -.017740
+P 10 11392.508450 9483.499478 -22092.085874 40.181135
+V 10 -19205.642204 20195.642708 -965.422099 .006604
+P 11 -17426.351122 -1069.135264 20038.779825 99.925711
+V 11 -8837.699512 -24113.339412 -8832.754263 .025618
+P 13 -16569.100344 8963.812614 -18731.168586 -30.901206
+V 13 -22782.410565 -6543.637767 17133.590542 .002112
+P 14 -2881.289099 -15493.195691 21426.568555 -18.161024
+V 14 26504.830099 5413.377171 7507.714171 -.001085
+P 15 -2968.553887 -25960.774615 -4204.430053 233.058017
+V 15 3787.578740 4351.271154 -31474.290384 .056398
+P 16 -7435.523951 -13885.475106 -21315.128237 15.274901
+V 16 18858.724728 -19648.519835 6207.911265 -.004016
+P 17 14960.459527 12632.037200 -18107.958630 207.453758
+V 17 3165.125797 22853.295386 17659.290737 .194843
+P 18 17741.062719 -19503.930111 2065.266397 -15.465724
+V 18 3873.731395 222.178848 -31829.279709 -.026492
+P 20 -21072.700050 10486.300175 12236.539002 -184.077272
+V 20 8878.912899 -13071.160807 26347.471747 .027611
+P 21 8135.469429 -18118.853623 -17491.153844 73.095269
+V 21 7474.372593 21084.495646 -18804.778911 .004907
+P 22 8553.405483 -21348.713386 13486.860594 -40.029843
+V 22 13582.956484 -10174.248932 -24981.707554 .087847
+P 24 11924.462268 21795.565242 -8985.658953 8.187331
+V 24 617.199506 12064.732713 29196.175810 .027890
+P 25 -8874.661543 -25019.837821 1532.759550 61.734970
+V 25 3636.041139 169.106165 31286.200933 .008890
+P 26 25323.660680 8449.706982 -3535.518782 409.901015
+V 26 -4355.205770 641.587575 -31368.272001 -.124775
+P 27 -8530.758499 15889.440901 -18849.908979 919.967984
+V 27 -10487.150406 -22944.644528 -14739.420805 .042769
+P 28 -8704.769204 21813.486454 12284.940509 21.880750
+V 28 -12424.017747 9496.030748 -26353.325103 .016531
+P 29 22819.852220 10480.347343 -8473.846091 229.994129
+V 29 -11297.091324 -124.300705 -29595.033619 .032781
+P 30 19060.376442 -18030.622544 3530.871317 805.365975
+V 30 -540.339629 5873.794291 30995.542774 .142663
+P 31 -26374.378786 -4369.317403 342.418319 40.286301
+V 31 -242.196071 -3380.238576 -31001.905938 .308127
+* 2004 3 1 4 30 .00000000
+P 1 -25701.564689 -229.142051 -6578.982721 332.616612
+V 1 -8022.405404 -3700.314387 30638.158690 .016410
+P 3 -19619.460091 -11913.898780 -13647.129561 89.945867
+V 3 17342.205278 -1304.893151 -23734.285752 .028964
+P 4 4408.309674 25274.484005 6198.227801 -76.901521
+V 4 -5449.724900 -6465.370053 30640.492849 -.091978
+P 5 19209.296710 -5152.190836 17399.688589 19.804812
+V 5 -11048.773280 19699.945622 18072.533630 .018232
+P 6 21589.307270 -7160.084488 -13635.330498 -1.375526
+V 6 17094.573794 5120.192191 23917.206849 -.007249
+P 7 -799.275940 15907.762648 21660.609572 611.625943
+V 7 -26497.680941 -2865.057755 979.853371 -.078447
+P 8 -1872.744081 22872.215692 -13290.225892 355.259339
+V 8 -7620.891726 -15008.505870 -25432.681942 -.088285
+P 9 17311.300743 6670.713463 18721.055798 -32.393935
+V 9 8238.491566 23193.795043 -15154.898086 -.017985
+P 10 9715.850158 11347.470750 -21989.461180 40.181122
+V 10 -17993.281868 21154.238941 3244.327138 .006357
+P 11 -18247.419747 -3174.485305 19074.099953 99.927995
+V 11 -9356.364658 -22610.691408 -12573.223197 .025604
+P 13 -18543.537122 8449.508970 -17032.463795 -30.901113
+V 13 -21010.506392 -4912.047260 20561.674412 .002112
+P 14 -453.122686 -15065.963531 21916.785449 -18.160842
+V 14 27366.800890 4051.529228 3370.564233 -.001090
+P 15 -2576.977536 -25424.764375 -6992.380111 233.062983
+V 15 4973.669367 7518.431265 -30390.913002 .056472
+P 16 -5810.144904 -15667.800084 -20573.474814 15.274666
+V 16 17216.473458 -19879.787217 10249.355069 -.004012
+P 17 15280.328196 14584.256815 -16369.533791 207.471056
+V 17 3886.250415 20470.350766 20914.471208 .194834
+P 18 17978.470785 -19373.804063 -809.044349 -15.468011
+V 18 1450.653663 2719.642601 -31951.315199 -.026497
+P 20 -20220.992329 9189.640284 14495.281791 -184.074857
+V 20 9969.477543 -15736.354359 23774.156811 .027615
+P 21 8880.923691 -16154.185169 -19026.719002 73.095615
+V 21 9104.818500 22489.784060 -15271.236390 .004909
+P 22 9661.492865 -22201.777417 11130.096813 -40.022015
+V 22 11046.760939 -8706.053494 -27316.952766 .087828
+P 24 11966.050289 22732.386743 -6287.168816 8.189512
+V 24 234.441341 8741.328400 30682.080859 .027942
+P 25 -8484.206783 -24868.350991 4327.357011 61.735465
+V 25 5095.689231 3158.278109 30727.646981 .008602
+P 26 24780.841218 8488.075274 -6321.723619 409.889343
+V 26 -7701.528798 283.920214 -30462.412443 -.124803
+P 27 -9550.554103 13784.349609 -20001.378708 919.972335
+V 27 -12166.754542 -23743.531434 -10811.078102 .042770
+P 28 -9710.962522 22592.478571 9813.513758 21.882244
+V 28 -9948.978435 7739.565883 -28488.896662 .016519
+P 29 21655.927445 10473.962352 -11056.218872 229.996949
+V 29 -14538.078417 52.470144 -27706.934826 .032782
+P 30 18927.094224 -17378.125963 6281.664738 805.378940
+V 30 -2358.971803 8651.514191 30043.998688 .142673
+P 31 -26249.459647 -4650.459525 -2442.801278 40.313407
+V 31 3021.937227 -2932.813037 -30804.971617 .308049
+* 2004 3 1 4 45 .00000000
+P 1 -26275.409069 -519.079394 -3772.716979 332.618679
+V 1 -4698.131852 -2808.571612 31633.154694 .016253
+P 3 -17947.036555 -12063.082509 -15661.622407 89.949109
+V 3 19767.273779 -2059.741143 -20968.748980 .029160
+P 4 3845.838432 24561.919969 8893.477957 -76.909748
+V 4 -7098.060524 -9314.884595 29166.597210 -.091979
+P 5 18211.033662 -3283.730769 18869.483714 19.805704
+V 5 -11064.746032 21776.034067 14542.211212 .017890
+P 6 23012.386591 -6749.680955 -11371.204793 -1.375479
+V 6 14473.399877 4046.858802 26323.207681 -.007449
+P 7 -3188.577938 15709.262764 21568.810081 611.618565
+V 7 -26514.351220 -1541.880223 -3018.008264 -.078452
+P 8 -2637.866979 21424.449732 -15457.823902 355.250798
+V 8 -9409.213297 -17087.622931 -22668.388488 -.088251
+P 9 18068.790900 8659.877885 17196.566869 -32.396279
+V 9 8530.126681 20955.899151 -18669.781658 -.018250
+P 10 8163.428001 13277.502755 -21509.484291 40.179950
+V 10 -16457.611482 21654.699557 7408.170422 .006123
+P 11 -19100.384455 -5128.952521 17782.183164 99.930494
+V 11 -9538.392069 -20771.477745 -16094.377954 .025589
+P 13 -20336.698490 8073.573102 -15040.607209 -30.900747
+V 13 -18762.731343 -3482.505416 23638.614606 .002115
+P 14 2028.539286 -14767.837876 22031.558408 -18.160990
+V 14 27689.520523 2559.266845 -823.610113 -.001093
+P 15 -2063.361621 -24616.227868 -9659.110006 233.068193
+V 15 6490.311636 10393.627812 -28785.014278 .056669
+P 16 -4343.251481 -17449.148024 -19475.594645 15.274268
+V 16 15351.353474 -19622.026872 14112.563330 -.004011
+P 17 15648.986629 16307.300790 -14354.498761 207.488044
+V 17 4241.299382 17774.375341 23798.389997 .194824
+P 18 18011.958482 -19006.509468 -3669.241489 -15.470107
+V 18 -646.979671 5479.530454 -31516.053157 -.026508
+P 20 -19292.365466 7656.494486 16503.506735 -184.072491
+V 20 10588.291142 -18310.307366 20788.397039 .027621
+P 21 9775.450492 -14086.318273 -20232.374208 73.095866
+V 21 10772.299345 23374.837968 -11484.404750 .004910
+P 22 10544.182154 -22902.409362 8583.683105 -40.013415
+V 22 8589.047299 -6791.992898 -29189.973016 .087804
+P 24 11953.630423 23368.356596 -3479.058881 8.191562
+V 24 -582.049103 5396.285609 31629.170786 .027960
+P 25 -7948.335748 -24459.529277 7048.089346 61.735440
+V 25 6858.272039 5875.127422 29647.818730 .008363
+P 26 23939.863592 8513.831455 -9003.733831 409.877805
+V 26 -10965.324294 359.613803 -29056.144712 -.124824
+P 27 -10717.906085 11632.094831 -20790.269180 919.976616
+V 27 -13750.828568 -23993.469399 -6695.052842 .042771
+P 28 -10499.286730 23193.621454 7171.617263 21.883360
+V 28 -7597.094463 5550.805058 -30135.480445 .016504
+P 29 20209.832190 10501.938415 -13446.449209 229.999169
+V 29 -17551.487592 633.514277 -25330.967260 .032782
+P 30 18647.611750 -16470.118835 8922.990960 805.392002
+V 30 -3783.162145 11536.711913 28566.106047 .142680
+P 31 -25831.109580 -4909.058973 -5186.980183 40.340057
+V 31 6263.454465 -2879.319108 -30091.761306 .307994
+* 2004 3 1 5 0 .00000000
+P 1 -26543.008666 -747.004768 -901.422517 332.618106
+V 1 -1233.361920 -2326.868400 32081.543553 .016120
+P 3 -16072.320578 -12292.687935 -17410.794350 89.949788
+V 3 21827.086502 -3082.052415 -17846.408289 .029297
+P 4 3122.972443 23608.709969 11432.947038 -76.918074
+V 4 -9002.189395 -11801.381450 27184.065254 -.091979
+P 5 17229.667546 -1241.864140 20009.725553 19.807423
+V 5 -10680.409586 23540.472988 10760.005349 .017774
+P 6 24185.575076 -6422.379947 -8910.939573 -1.376963
+V 6 11554.422041 3282.035117 28269.942919 -.007749
+P 7 -5556.815437 15629.716413 21118.659932 611.611762
+V 7 -26030.110889 -235.603332 -6972.817451 -.078459
+P 8 -3570.062650 19810.825473 -17359.125721 355.243110
+V 8 -11319.323119 -18687.948582 -19523.958424 -.088216
+P 9 18834.532960 10434.380722 15370.869974 -32.398407
+V 9 8415.971578 18438.436322 -21839.088552 -.018348
+P 10 6760.736310 15230.192321 -20659.522725 40.181041
+V 10 -14680.326815 21651.604354 11454.317487 .005998
+P 11 -19952.961787 -6905.386654 16185.486734 99.932980
+V 11 -9341.965089 -18667.023895 -19336.540306 .025573
+P 13 -21908.342537 7814.275096 -12789.663615 -30.900489
+V 13 -16099.239481 -2331.970588 26310.762292 .002117
+P 14 4514.339287 -14606.469733 21768.969598 -18.160818
+V 14 27457.810614 1027.907911 -5003.324943 -.001096
+P 15 -1400.668013 -23564.970654 -12158.940067 233.074194
+V 15 8274.981949 12900.669456 -26687.959961 .056723
+P 16 -3050.893071 -19184.489160 -18040.579972 15.273979
+V 16 13353.274971 -18855.702993 17730.369185 -.004008
+P 17 16031.553658 17776.860855 -12098.263796 207.505083
+V 17 4189.967958 14852.460801 26267.881693 .194817
+P 18 17873.517795 -18382.120831 -6465.430512 -15.472064
+V 18 -2361.733112 8418.042557 -30531.003844 -.026520
+P 20 -18328.979127 5899.385353 18226.356870 -184.069912
+V 20 10745.075173 -20697.733696 17441.633283 .027627
+P 21 10818.365441 -11962.586993 -21088.331369 73.096145
+V 21 12387.408469 23731.427366 -7511.630661 .004911
+P 22 11212.481416 -23412.124276 5890.773149 -40.005643
+V 22 6296.383735 -4471.418805 -30567.540152 .087780
+P 24 11848.699157 23706.120900 -610.481986 8.193933
+V 24 -1817.330238 2131.158904 32024.463784 .028002
+P 25 -7242.468682 -23821.078852 9648.993152 61.736062
+V 25 8862.118424 8250.754340 28069.209123 .008329
+P 26 22812.321692 8565.255968 -11537.510578 409.866322
+V 26 -14054.670066 849.740512 -27172.794929 -.124838
+P 27 -12020.129071 9481.566914 -21203.225887 919.980180
+V 27 -15149.308109 -23709.352572 -2470.329825 .042772
+P 28 -11084.657853 23580.153452 4404.767906 21.885537
+V 28 -5452.149228 2980.252968 -31261.021738 .016490
+P 29 18506.263755 10598.841950 -15602.320990 230.002250
+V 29 -20245.107030 1575.572646 -22506.218910 .032787
+P 30 18258.811483 -15301.086872 11408.477801 805.404816
+V 30 -4785.075165 14436.169279 26585.665232 .142684
+P 31 -25125.394025 -5180.324968 -7844.276060 40.367295
+V 31 9393.236590 -3211.534689 -28877.397748 .307949
+* 2004 3 1 5 15 .00000000
+P 1 -26496.202254 -950.785150 1985.391122 332.619812
+V 1 2271.769418 -2273.505425 31977.919846 .016195
+P 3 -14030.830000 -12623.924868 -18864.816354 89.953406
+V 3 23465.070276 -4306.485376 -14418.920428 .029578
+P 4 2220.064669 22450.447950 13772.443915 -76.926353
+V 4 -11085.329074 -13862.553975 24729.617681 -.091981
+P 5 16299.076963 942.028136 20800.742572 19.810104
+V 5 -9945.959473 24921.132514 6793.169912 .017731
+P 6 25085.712224 -6148.325222 -6297.340086 -1.377200
+V 6 8419.996647 2869.647990 29726.139947 -.008049
+P 7 -7859.295273 15663.857413 20316.910510 611.604167
+V 7 -25056.320687 970.913066 -10820.744920 -.078465
+P 8 -4676.354146 18075.859286 -18962.423363 355.236438
+V 8 -13262.967127 -19780.894382 -16055.921362 -.088178
+P 9 19570.671961 11973.182946 13277.465416 -32.398963
+V 9 7869.282865 15733.983383 -24610.854841 -.018418
+P 10 5525.529800 17158.837909 -19453.353903 40.180810
+V 10 -12751.162861 21117.355731 15312.324923 .005876
+P 11 -20769.753927 -8483.427750 14311.624021 99.935018
+V 11 -8739.931899 -16376.413832 -22244.962225 .025557
+P 13 -23224.328640 7643.497948 -10318.226075 -30.900197
+V 13 -13095.048403 -1524.938879 28531.291955 .002122
+P 14 6954.410694 -14581.208557 21133.531521 -18.160842
+V 14 26675.574432 -450.000630 -9097.364359 -.001105
+P 15 -568.056434 -22307.016446 -14449.386170 233.081290
+V 15 10252.950139 14977.964408 -24139.252671 .056731
+P 16 -1940.859051 -20827.874454 -16293.379135 15.273620
+V 16 11315.270020 -17580.009337 21039.997943 -.004004
+P 17 16390.261327 18976.745013 -9639.794476 207.522811
+V 17 3708.575224 11797.321759 28287.144742 .194811
+P 18 17599.575497 -17488.674044 -9148.844062 -15.474942
+V 18 -3652.802209 11442.632443 -29013.665316 -.026543
+P 20 -17371.291566 3939.217736 19633.901520 -184.067323
+V 20 10467.773760 -22808.253981 13791.738277 .027633
+P 21 12000.957194 -9830.213704 -21580.980125 73.096719
+V 21 13861.774953 23570.203869 -3422.634434 .004912
+P 22 11684.846759 -23696.724467 3097.153017 -39.997782
+V 22 4247.186780 -1799.988225 -31424.482826 .087755
+P 24 11614.923344 23757.266901 2268.691241 8.196650
+V 24 -3438.295921 -957.539238 31864.970653 .028087
+P 25 -6348.082223 -22986.295164 12086.484717 61.737706
+V 25 11034.758005 10230.187156 26022.093024 .008264
+P 26 21417.857238 8678.161951 -13881.419794 409.855106
+V 26 -16883.149010 1718.578191 -24842.417155 -.124851
+P 27 -13436.699011 7379.402930 -21234.077693 919.983635
+V 27 -16278.703044 -22926.126532 1782.773204 .042774
+P 28 -11489.112330 23720.596251 1560.962767 21.886625
+V 28 -3588.054506 94.473053 -31842.583011 .016473
+P 29 16577.770806 10794.603108 -17485.528241 230.005209
+V 29 -22537.252236 2819.209821 -19280.385981 .032794
+P 30 17799.286653 -13874.066899 13694.321591 805.417912
+V 30 -5354.658024 17253.697217 24135.890201 .142679
+P 31 -24146.235558 -5497.985123 -10370.548925 40.394596
+V 31 12326.301339 -3904.894144 -27184.510514 .307914
+* 2004 3 1 5 30 .00000000
+P 1 -26135.919863 -1169.089924 4838.156089 332.620642
+V 1 5715.998597 -2647.978727 31326.368503 .016285
+P 3 -11862.551469 -13071.691171 -19998.744270 89.955701
+V 3 24638.792396 -5658.569148 -10743.049771 .029813
+P 4 1124.814438 21127.593003 15871.466936 -76.935199
+V 4 -13261.567556 -15452.916345 21848.370808 -.091982
+P 5 15448.001033 3230.634035 21229.066836 19.811278
+V 5 -8924.997854 25858.776813 2712.085640 .017474
+P 6 25697.386492 -5894.410970 -3575.636644 -1.379031
+V 6 5159.423234 2837.761590 30669.231188 -.008211
+P 7 -10053.074840 15799.107367 19176.019328 611.597890
+V 7 -23620.429829 1998.549789 -14498.956200 -.078471
+P 8 -5955.673826 16265.800567 -20241.316522 355.228373
+V 8 -15149.201105 -20356.601200 -12325.505527 -.088154
+P 9 20237.738385 13263.784002 10954.160975 -32.401208
+V 9 6881.011353 12939.070777 -26941.416296 -.018571
+P 10 4467.256112 19015.108807 -17910.987321 40.180456
+V 10 -10764.378000 20043.510579 18914.356526 .005796
+P 11 -21513.624461 -9850.069591 12192.880772 99.937396
+V 11 -7720.949896 -13983.457965 -24770.697988 .025539
+P 13 -24257.835449 7527.981306 -7668.761952 -30.900055
+V 13 -9837.289035 -1110.819088 30261.067905 .002133
+P 14 9300.094671 -14683.157452 20136.109976 -18.161076
+V 14 25365.667284 -1784.363104 -13035.954209 -.001108
+P 15 448.151504 -20883.195321 -16491.851689 233.087669
+V 15 12340.331324 16580.585219 -21185.618555 .056439
+P 16 -1012.564454 -22334.133395 -14264.350302 15.273247
+V 16 9329.783710 -15813.015054 23984.183533 -.004000
+P 17 16685.986247 19899.232815 -7020.939907 207.540158
+V 17 2790.742484 8703.939107 29827.923203 .194810
+P 18 17229.423064 -16322.793995 -11672.727007 -15.477446
+V 18 -4497.521933 14455.601481 -26991.181426 -.026547
+P 20 -16456.469029 1804.676457 20701.670309 -184.064932
+V 20 9801.337797 -24559.925547 9902.000399 .027637
+P 21 13306.740335 -7734.636763 -21703.043597 73.097366
+V 21 15111.583741 22919.982799 711.770468 .004918
+P 22 11986.311150 -23727.686652 250.491252 -39.989891
+V 22 2508.722507 1152.221260 -31744.218677 .087740
+P 24 11219.715243 23541.705288 5108.763351 8.199825
+V 24 -5395.117121 -3781.922468 31157.476978 .028118
+P 25 -5253.556429 -21992.727777 14320.028530 61.738606
+V 25 13295.745908 11774.098307 23543.808619 .008179
+P 26 19783.532184 8884.440116 -15996.821306 409.844042
+V 26 -19372.746846 2914.950900 -22101.424470 -.124862
+P 27 -14940.010991 5368.257986 -20883.869064 919.986937
+V 27 -17065.714499 -21696.960179 5984.543759 .042776
+P 28 -11740.779779 23590.098471 -1310.172092 21.888058
+V 28 -2065.837679 -3026.281251 -31866.995461 .016455
+P 29 14463.655925 11113.160137 -19062.417639 230.008189
+V 29 -24360.025359 4291.151409 -15709.022175 .032799
+P 30 17307.717323 -12200.745609 15740.113156 805.431290
+V 30 -5500.036920 19893.899794 21258.897781 .142676
+P 31 -22914.909481 -5892.859757 -12724.014992 40.421982
+V 31 14984.698548 -4919.583675 -25042.744111 .307886
+* 2004 3 1 5 45 .00000000
+P 1 -25472.115088 -1439.700192 7608.091304 332.620565
+V 1 9000.682721 -3431.140336 30140.237829 .016377
+P 3 -9610.594365 -13643.878286 -20792.941761 89.959605
+V 3 25321.503578 -7057.579943 -6879.838861 .030098
+P 4 -167.066255 19683.879572 17693.916355 -76.943288
+V 4 -15439.362393 -16545.366824 18592.852686 -.091979
+P 5 14698.951817 5581.980430 21287.654614 19.813222
+V 5 -7691.809252 26309.402224 -1411.096540 .017277
+P 6 26013.410801 -5625.759497 -792.690092 -1.379029
+V 6 1865.599084 3197.574988 31085.573221 -.008254
+P 7 -12098.377237 16016.049545 17714.022424 611.590696
+V 7 -21765.156452 2774.955143 -17946.463382 -.078479
+P 8 -7398.781830 14426.939596 -21175.083828 355.221046
+V 8 -16887.954616 -20423.964594 -8397.489694 -.088137
+P 9 20796.252961 14302.406107 8442.303183 -32.402445
+V 9 5459.954654 10150.380010 -28795.853386 -.018708
+P 10 3586.815572 20750.801933 -16058.373060 40.181071
+V 10 -8815.021504 18441.386171 22196.444330 .005770
+P 11 -22147.150105 -10999.942349 9865.657478 99.940147
+V 11 -6290.025143 -11573.505583 -26871.373771 .025525
+P 13 -24990.308837 7430.775888 -4886.886498 -30.900339
+V 13 -6421.974144 -1121.892144 31469.384832 .002142
+P 14 11505.613383 -14895.556366 18793.742250 -18.161322
+V 14 23569.058514 -2891.121026 -16751.913714 -.001107
+P 15 1653.797583 -19337.576361 -18252.233317 233.092413
+V 15 14447.440625 17681.653565 -17880.011825 .056133
+P 16 -257.268763 -23660.551536 -11988.719427 15.272879
+V 16 7485.005019 -13591.070341 26512.177157 -.003995
+P 17 16879.814115 20545.128637 -4285.749466 207.557479
+V 17 1447.454733 5666.223843 30869.583176 .194814
+P 18 16803.544075 -14889.987971 -13993.181569 -15.479812
+V 18 -4892.129054 17357.905332 -24499.798433 -.026548
+P 20 -15616.935372 -468.680521 21411.090785 -184.062199
+V 20 8805.835342 -25882.457016 5840.001623 .027639
+P 21 14712.015538 -5717.933704 -21453.620770 73.097765
+V 21 16060.862687 21826.348444 4820.912739 .004920
+P 22 12147.360528 -23483.353319 -2600.453557 -39.982000
+V 22 1134.508161 4303.167978 -31519.164045 .087726
+P 24 10635.648503 23086.747681 7861.073159 8.202275
+V 24 -7623.319392 -6265.899165 29918.145267 .028122
+P 25 -3954.756090 -20880.717683 16312.738590 61.739906
+V 25 15559.723440 12859.917773 20677.986177 .007985
+P 26 17942.951974 9210.747385 -17848.623470 409.832884
+V 26 -21456.477876 4374.075558 -18992.191055 -.124875
+P 27 -16496.439954 3485.277042 -20160.722087 919.990929
+V 27 -17450.323498 -20090.641334 10057.706723 .042779
+P 28 -11872.605921 23171.538033 -4158.282932 21.889575
+V 28 -931.124236 -6291.042101 -31331.315685 .016437
+P 29 12208.606909 11571.342380 -20304.654278 230.010870
+V 29 -25662.060307 5907.233037 -11854.585877 .032806
+P 30 16821.244812 -10301.217436 17509.608228 805.444051
+V 30 -5247.157032 22265.957390 18004.987388 .142672
+P 31 -21459.290927 -6391.558324 -14865.854226 40.449310
+V 31 17300.123392 -6202.149989 -22488.222904 .307860
+* 2004 3 1 6 0 .00000000
+P 1 -24523.365361 -1797.865092 10248.020356 332.620572
+V 1 12033.405835 -4586.076290 28441.764869 .016756
+P 3 -7319.730660 -14340.947747 -21233.425289 89.963357
+V 3 25503.121534 -8419.669120 -2893.707105 .030265
+P 4 -1651.511603 18164.621015 19208.712136 -76.951381
+V 4 -17525.240898 -17131.988754 15021.889864 -.091981
+P 5 14067.391483 7950.886297 20975.983953 19.814458
+V 5 -6328.223009 26245.957063 -5503.827141 .016996
+P 6 26034.991944 -5307.259290 2003.815249 -1.379137
+V 6 -1368.415578 3943.084427 30970.507365 -.008428
+P 7 -13959.908473 16289.167590 15954.328570 611.583317
+V 7 -19547.133635 3237.386444 -21105.010421 -.078484
+P 8 -8988.502090 12603.944798 -21748.950892 355.213044
+V 8 -18393.501938 -20009.962069 -4339.061620 -.088123
+P 9 21208.313097 15093.841039 5785.978592 -32.405055
+V 9 3632.204197 7461.070268 -30148.216853 -.018843
+P 10 2876.661254 22319.618849 -13926.997784 40.181556
+V 10 -6995.128633 16341.898581 25099.723133 .005745
+P 11 -22634.093067 -11935.305849 7369.847417 99.942676
+V 11 -4468.430351 -9230.221331 -28511.846031 .025500
+P 13 -25412.101919 7312.851952 -2020.576116 -30.900183
+V 13 -2950.408505 -1571.940458 32134.564531 .002149
+P 14 13529.636945 -15194.478706 17129.353260 -18.161774
+V 14 21343.315674 -3695.609911 -20181.768930 -.001105
+P 15 3046.522648 -17715.807494 -19701.434714 233.098551
+V 15 16482.313000 18273.015105 -14280.566527 .055732
+P 16 341.382369 -24768.462074 -9505.952996 15.272190
+V 16 5861.383650 -10967.497342 28580.628959 -.003987
+P 17 16934.582900 20923.519508 -1479.786602 207.574763
+V 17 -293.469386 2773.803491 31399.105436 .194819
+P 18 16361.907767 -13204.592913 -16069.955044 -15.482124
+V 18 -4851.749616 20053.012839 -21584.135754 -.026551
+P 20 -14879.119362 -2839.599145 21749.821116 -184.059724
+V 20 7553.962603 -26719.978462 1676.411217 .027638
+P 21 16186.710561 -3817.397728 -20838.120488 73.098183
+V 21 16644.417908 20349.656652 8835.433182 .004922
+P 22 12202.598135 -22949.880290 -5406.655970 -39.974231
+V 22 162.220749 7561.789564 -30751.005586 .087713
+P 24 9841.662349 22425.921893 10478.815906 8.205158
+V 24 -10046.393235 -8347.815240 28171.963777 .028190
+P 25 -2455.330226 -19691.862214 18031.908699 61.739645
+V 25 17739.601401 13482.327663 17473.743885 .007734
+P 26 15935.167562 9677.382617 -19405.800500 409.821616
+V 26 -23080.663603 6019.863409 -15562.619770 -.124889
+P 27 -18067.650517 1760.830286 -19079.540856 919.994762
+V 27 -17388.219432 -18188.353201 13929.085769 .042779
+P 28 -11920.875834 22456.333589 -6933.220980 21.890913
+V 28 -212.236738 -9601.595083 -30243.061710 .016418
+P 29 9861.109091 12178.042014 -21189.793129 230.013577
+V 29 -26410.624074 7575.846190 -7785.300483 .032814
+P 30 16373.912341 -8203.407396 18971.423890 805.456706
+V 30 -4638.674278 24287.261555 14431.720520 .142666
+P 31 -19812.882311 -7015.341394 -16760.768160 40.477918
+V 31 19216.172815 -7687.559253 -19562.982340 .307835
+* 2004 3 1 6 15 .00000000
+P 1 -23316.159099 -2274.767735 12713.149637 332.621763
+V 1 14731.309929 -6059.655068 26261.569282 .017465
+P 3 -5034.873009 -15155.796484 -21312.124979 89.965033
+V 3 25190.614810 -9661.134009 1148.516693 .030356
+P 4 -3316.096989 16614.976175 20390.307039 -76.959703
+V 4 -19427.543718 -17224.071160 11199.399453 -.091976
+P 5 13561.205435 10290.540351 20300.029370 19.815514
+V 5 -4920.197378 25659.378638 -9494.512403 .016821
+P 6 25771.591743 -4905.103548 4766.177336 -1.381147
+V 6 -4452.791335 5051.408537 30328.272181 -.008573
+P 7 -15608.029722 16587.827907 13925.432414 611.575941
+V 7 -17035.048207 3335.267322 -23919.988803 -.078488
+P 8 -10700.261844 10838.290267 -21954.256657 355.204858
+V 8 -19587.716088 -19158.329753 -218.702397 -.088110
+P 9 21439.099894 15650.977318 3031.203709 -32.406589
+V 9 1439.945062 4957.370509 -30981.558425 -.018774
+P 10 2321.239040 23678.893134 -11553.371937 40.182109
+V 10 -5389.995906 13794.622340 27571.608527 .005794
+P 11 -22940.838203 -12665.755591 4748.160709 99.945209
+V 11 -2293.007565 -7032.445402 -29664.741629 .025478
+P 13 -25522.781006 7134.798649 880.664999 -30.899662
+V 13 474.620165 -2455.606773 32244.393210 .002155
+P 14 15336.685449 -15549.814963 15171.373810 -18.161796
+V 14 18760.466093 -4135.560348 -23266.812022 -.001095
+P 15 4615.721357 -16063.426705 -20815.784426 233.102300
+V 15 18354.251569 18365.202835 -10449.521479 .055353
+P 16 806.515499 -25624.689383 -6859.057765 15.271654
+V 16 4528.470610 -8010.620682 30154.326625 -.003979
+P 17 16816.353139 21051.252693 1350.553673 207.592576
+V 17 -2388.459818 109.022490 31411.013426 .194827
+P 18 15942.298533 -11289.379057 -17867.154295 -15.484671
+V 18 -4409.616794 22450.656263 -18296.291707 -.026551
+P 20 -14262.449339 -5262.531381 21711.971285 -184.057091
+V 20 6128.054560 -27033.255611 -2516.281276 .027641
+P 21 17695.465782 -2064.317643 -19868.093688 73.098745
+V 21 16810.317839 18562.527559 12688.374407 .004923
+P 22 12189.246822 -22121.901293 -8119.664598 -39.966400
+V 22 -387.798956 10831.331586 -29450.819880 .087709
+P 24 8824.011263 21597.576213 12917.807974 8.207604
+V 24 -12578.818867 -9982.487940 25952.070151 .028186
+P 25 -766.723715 -18467.463203 19449.469478 61.739473
+V 25 19749.755524 13653.142206 13984.866181 .007535
+P 26 13803.390563 10297.387671 -20641.869018 409.810664
+V 26 -24206.795878 7767.614778 -11865.666734 -.124902
+P 27 -19612.092164 217.559726 -17661.575920 919.998695
+V 27 -16852.480328 -16080.013388 17531.044927 .042778
+P 28 -11923.597583 21444.926955 -9585.985649 21.892717
+V 28 80.993529 -12856.297027 -28620.209588 .016399
+P 29 7471.701518 12933.713042 -21701.740376 230.017297
+V 29 -26592.970641 9201.739166 -3573.851309 .032821
+P 30 15995.237735 -5942.179500 20099.643881 805.469521
+V 30 -3732.138721 25886.741436 10602.819738 .142665
+P 31 -18013.656148 -7779.185522 -18377.485235 40.504864
+V 31 20690.182719 -9301.634138 -16314.372257 .307815
+* 2004 3 1 6 30 .00000000
+P 1 -21883.899939 -2896.158138 14961.795636 332.623606
+V 1 17024.032816 -7784.676329 23638.032680 .018302
+P 3 -2799.546156 -16073.918602 -21027.055673 89.968290
+V 3 24407.765801 -10701.715585 5178.620912 .030493
+P 4 -5140.367038 15078.248739 21219.088036 -76.968221
+V 4 -21060.057227 -16851.365270 7193.121175 -.091968
+P 5 13180.490005 12554.139889 19272.116555 19.815830
+V 5 -3554.269496 24558.913265 -13313.821230 .016643
+P 6 25240.489316 -4388.270494 7447.468080 -1.381857
+V 6 -7304.158046 6483.750382 29171.780291 -.008586
+P 7 -17019.740826 16877.475775 11660.544100 611.569128
+V 7 -14307.316282 3032.364028 -26341.375728 -.078490
+P 8 -12502.910081 9166.829202 -21788.521067 355.196635
+V 8 -20402.996093 -17927.655997 3894.888770 -.088094
+P 9 21458.250936 15994.036984 225.119869 -32.408489
+V 9 -1060.312130 2715.550832 -31287.795354 -.018755
+P 10 1897.753498 24791.198771 -8978.414653 40.182597
+V 10 -4074.691188 10866.092618 29566.886681 .005787
+P 11 -23037.740713 -13207.654311 2045.405301 99.947325
+V 11 185.116020 -5051.252987 -30310.874202 .025458
+P 13 -25331.084488 6858.546974 3766.669931 -30.899161
+V 13 3752.719755 -3748.513160 31796.386917 .002162
+P 14 16898.313347 -15926.506081 12953.266536 -18.161657
+V 14 15904.314031 -4163.629199 -25954.090479 -.001086
+P 15 6342.812630 -14424.207748 -21577.356681 233.108218
+V 15 19977.273967 17986.713224 -6452.140242 .055008
+P 16 1166.922692 -26202.788513 -4093.820944 15.271257
+V 16 3542.206286 -4801.218375 31206.778235 -.003968
+P 17 16495.757833 20952.155985 4158.718499 207.609464
+V 17 -4779.779017 -2255.763224 30907.252532 .194835
+P 18 15578.749099 -9174.826781 -19353.873262 -15.486834
+V 18 -3615.558013 24470.318392 -14694.809363 -.026551
+P 20 -13778.635012 -7689.208139 21298.208466 -184.054549
+V 20 4616.714865 -26801.258869 -6665.068802 .027642
+P 21 19198.919960 -483.002461 -18560.971557 73.098934
+V 21 16521.847452 16546.934933 16316.180286 .004919
+P 22 12145.546189 -21002.880013 -10692.446462 -39.958838
+V 22 -513.377562 14012.940870 -27639.029022 .087699
+P 24 7576.928556 20643.330227 15137.186137 8.210752
+V 24 -15129.377569 -11142.575648 23298.977636 .028131
+P 25 1092.095238 -17247.012825 20542.371083 61.740296
+V 25 21509.129208 13400.595438 10268.975671 .007548
+P 26 11593.561736 11075.906043 -21535.319477 409.799564
+V 26 -24812.923879 9527.035526 -7958.812121 -.124913
+P 27 -21086.610246 -1130.232251 -15933.870143 920.002897
+V 27 -15834.462502 -13860.367921 20802.678296 .042781
+P 28 -11918.813524 20146.912245 -12069.656264 21.894292
+V 28 -42.362637 -15954.080345 -26490.940393 .016383
+P 29 5091.147714 13830.222320 -21831.091247 230.020915
+V 29 -26216.876296 10690.010702 704.049822 .032824
+P 30 15708.978844 -3558.165297 20874.317678 805.482608
+V 30 -2597.543447 27007.733529 6586.914161 .142656
+P 31 -16102.753314 -8691.081516 -19689.211285 40.531761
+V 31 21694.595973 -10963.789479 -12794.434597 .307797
+* 2004 3 1 6 45 .00000000
+P 1 -20265.668070 -3681.203240 16956.051867 332.627219
+V 1 18856.152875 -9682.530383 20616.580278 .018989
+P 3 -654.407691 -17073.860671 -20382.393268 89.971373
+V 3 23194.312638 -11467.803251 9128.087942 .030492
+P 4 -7096.480113 13594.286190 21681.662163 -76.976220
+V 4 -22345.390316 -16060.625051 3073.322491 -.091958
+P 5 12917.660176 14696.525924 17910.662617 19.817222
+V 5 -2314.018051 22971.715920 -16895.917871 .016574
+P 6 24466.064536 -3729.890182 10002.299333 -1.383485
+V 6 -9848.554026 8186.948292 27522.272986 -.008663
+P 7 -18179.435994 17121.006722 9197.133936 611.562474
+V 7 -11449.357178 2308.489300 -28324.681568 -.078494
+P 8 -14359.781154 7620.562068 -21255.418170 355.188571
+V 8 -20784.774023 -16388.975402 7933.819417 -.088073
+P 9 21241.051870 16149.560311 -2584.793357 -32.410085
+V 9 -3799.973367 799.362556 -31067.439141 -.018745
+P 10 1577.231648 25625.773555 -6246.745807 40.183626
+V 10 -3110.948278 7637.404832 31048.683698 .005938
+P 11 -22900.333629 -13583.311936 -692.263802 99.949377
+V 11 2902.349739 -3347.320615 -30439.532782 .025434
+P 13 -24854.535293 6449.047702 6587.489923 -30.898976
+V 13 6789.687517 -5408.140042 30797.876290 .002163
+P 14 18194.031521 -16285.979782 10512.966574 -18.161929
+V 14 12867.312046 -3749.363480 -28197.310562 -.001085
+P 15 8201.811132 -12838.600236 -21974.195427 233.112932
+V 15 21273.336506 17182.642044 -2355.643520 .054542
+P 16 1455.734896 -26484.033004 -1258.005279 15.270959
+V 16 2942.760659 -1429.496635 31720.630512 -.003956
+P 17 15949.189417 20656.030395 6898.658308 207.626499
+V 17 -7397.548275 -4260.528358 29897.032767 .194845
+P 18 15300.140226 -6898.106801 -20504.722157 -15.489325
+V 18 -2533.821359 26044.315745 -10843.530638 -.026565
+P 20 -13431.264677 -10070.321913 20515.744506 -184.052048
+V 20 3111.200304 -26022.023992 -10697.739494 .027640
+P 21 20655.145841 909.918210 -16939.718030 73.099607
+V 21 15758.876299 14391.007610 19659.599420 .004922
+P 22 12109.106648 -19605.131984 -13080.219620 -39.951005
+V 22 -230.630168 17009.386082 -25345.182836 .087694
+P 24 6102.983948 19606.433361 17100.033776 8.212682
+V 24 -17604.618422 -11819.256408 20259.729879 .028042
+P 25 3095.179047 -16066.768832 21292.891375 61.742188
+V 25 22944.146413 12768.074622 6386.705537 .007440
+P 26 9352.818034 12009.824431 -22069.997085 409.788129
+V 26 -24894.513078 11205.493485 -3903.464904 -.124926
+P 27 -22448.101349 -2276.838915 -13928.609444 920.006827
+V 27 -14343.900642 -11625.030240 23690.733080 .042781
+P 28 -11942.910844 18580.802825 -14340.289736 21.895665
+V 28 -554.727574 -18798.467412 -23893.137340 .016370
+P 29 2768.596506 14851.062133 -21575.334110 230.023944
+V 29 -25310.322762 11950.120967 4971.194620 .032822
+P 30 15532.144300 -1096.359583 21281.840978 805.495462
+V 30 -1314.343573 27610.266436 2456.164625 .142640
+P 31 -14123.080740 -9751.589168 -20674.022846 40.559502
+V 31 22217.823878 -12589.981469 -9059.254775 .307795
+* 2004 3 1 7 0 .00000000
+P 1 -18504.786807 -4641.595390 18662.387349 332.627252
+V 1 20189.060921 -11666.263539 17248.880983 .019491
+P 3 1364.126722 -18127.956766 -19388.452286 89.974008
+V 3 21604.491234 -11895.426911 12929.210032 .030584
+P 4 -9150.140326 12198.039589 21771.025764 -76.984510
+V 4 -23217.967043 -14913.507620 -1088.492921 -.091953
+P 5 12757.869708 16675.750769 16239.809604 19.819285
+V 5 -1276.681460 20941.756069 -20179.597205 .016517
+P 6 23478.832452 -2908.447678 12387.552809 -1.384467
+V 6 -12023.995570 10095.548340 25408.866391 -.008737
+P 7 -19079.399008 17280.266861 6576.392041 611.555305
+V 7 -8550.545465 1160.651402 -29831.887676 -.078502
+P 8 -16229.962215 6223.640239 -20364.659498 355.180720
+V 8 -20693.526115 -14622.958822 11831.972304 -.088054
+P 9 20769.408694 16149.183743 -5351.475359 -32.411874
+V 9 -6700.974680 -741.988169 -30329.218226 -.018791
+P 10 1325.843455 26159.698061 -3405.897387 40.184491
+V 10 -2544.583338 4201.199151 31989.283630 .005915
+P 11 -22510.349662 -13819.945971 -3418.115427 99.951840
+V 11 5784.930213 -1968.695354 -30048.640080 .025413
+P 13 -24118.721455 5875.837063 9294.274560 -30.898720
+V 13 9501.066857 -7375.433806 29265.906098 .002161
+P 14 19211.931998 -16587.735113 7892.245346 -18.162353
+V 14 9747.102395 -2880.519825 -29957.639754 -.001086
+P 15 10160.174860 -11342.318921 -22000.443344 233.116811
+V 15 22175.229204 16012.745837 1771.832975 .054108
+P 16 1708.928933 -26458.113498 1599.485888 15.270966
+V 16 2753.007125 2008.289752 31687.917436 -.003949
+P 17 15159.786910 20197.450606 9525.472467 207.643236
+V 17 -10162.150198 -5859.498861 28396.642913 .194864
+P 18 15129.022223 -4501.805680 -21300.249598 -15.491808
+V 18 -1240.338312 27120.356776 -6810.368398 -.026575
+P 20 -13215.733442 -12357.253591 19378.205793 -184.049514
+V 20 1701.705107 -24712.769956 -14544.173282 .027641
+P 21 22021.181149 2105.897428 -15032.405391 73.099940
+V 21 14518.606315 12185.662836 22664.490312 .004919
+P 22 12115.285281 -17949.511292 -15241.258169 -39.942976
+V 22 426.645932 19728.760814 -22607.562385 .087685
+P 24 4413.127014 18530.093595 18773.928694 8.215071
+V 24 -19912.350977 -12022.214012 16887.007358 .027993
+P 25 5210.394960 -14958.466836 21688.869769 61.742377
+V 25 23991.346788 11812.350918 2400.875725 .007260
+P 26 7127.907715 13087.714780 -22235.425702 409.777127
+V 26 -24464.734754 12711.423123 235.711192 -.124939
+P 27 -23655.143498 -3225.052955 -11682.402488 920.010730
+V 27 -12408.257878 -9466.641700 26150.266862 .042778
+P 28 -12029.003695 16773.443277 -16357.762063 21.896969
+V 28 -1411.207510 -21301.414938 -20873.642977 .016355
+P 29 549.809624 15971.917821 -20938.914180 230.026447
+V 29 -23920.334856 12899.740817 9150.460403 .032821
+P 30 15474.291598 1395.459262 21315.208446 805.507918
+V 30 31.924267 27672.659145 -1715.193588 .142626
+P 31 -12117.855348 -10953.663695 -21315.200785 40.587244
+V 31 22264.576436 -14095.781046 -5168.283441 .307785
+* 2004 3 1 7 15 .00000000
+P 1 -16647.248717 -5780.950646 20052.169988 332.630126
+V 1 21002.201459 -13643.933340 13591.980799 .019989
+P 3 3225.101458 -19203.318853 -18061.561778 89.978605
+V 3 19705.020892 -11932.920404 16516.230187 .030648
+P 4 -11261.777467 10918.337491 21486.618665 -76.992831
+V 4 -23626.527003 -13483.932091 -5220.846836 -.091949
+P 5 12679.723591 18454.517849 14288.960963 19.820744
+V 5 -510.064423 18528.083884 -23109.303666 .016338
+P 6 22314.266770 -1908.779306 14563.064785 -1.383848
+V 6 -13782.582536 12134.315645 22868.002543 -.008650
+P 7 -19720.013216 17317.629019 3842.604943 611.548246
+V 7 -5700.938719 -396.420500 -30832.349903 -.078510
+P 8 -18069.717123 4992.636837 -19131.792924 355.172509
+V 8 -20106.230869 -12716.803316 15525.914669 -.088040
+P 9 20032.572118 16028.261098 -8029.003989 -32.413504
+V 9 -9678.660341 -1875.291769 -29089.622195 -.018781
+P 10 1106.427263 26378.779840 -505.458647 40.184635
+V 10 -2403.550886 658.147040 32370.766823 .005893
+P 11 -21856.518907 -13948.462352 -6085.621459 99.954033
+V 11 8751.596206 -949.048081 -29144.779214 .025392
+P 13 -23156.272670 5114.427160 11840.134566 -30.898450
+V 13 11815.323646 -9577.081238 27226.949559 .002163
+P 14 19948.991343 -16791.014659 5136.007222 -18.162246
+V 14 6642.857582 -1563.685907 -31204.393594 -.001088
+P 15 12179.894988 -9965.130280 -21656.378571 233.121607
+V 15 22629.050153 14549.010428 5862.246173 .053758
+P 16 1963.727818 -26123.521268 4429.458257 15.270446
+V 16 2977.685330 5413.436937 31110.138011 -.003937
+P 17 14118.192593 19614.413383 11996.037067 207.660753
+V 17 -12986.935466 -7022.603185 26429.239875 .194891
+P 18 15080.703780 -2032.448445 -21727.251690 -15.494009
+V 18 180.458285 27663.478527 -2666.026746 -.026585
+P 20 -13119.504786 -14503.776179 17905.388115 -184.046978
+V 20 473.694325 -22909.269749 -18137.596758 .027636
+P 21 23254.598428 3104.568140 -12871.721830 73.100198
+V 21 12815.687031 10021.191898 25282.528533 .004922
+P 22 12195.648683 -16064.770370 -17137.653473 -39.934910
+V 22 1408.293021 22088.020434 -19472.603892 .087675
+P 24 2526.419785 17455.837833 20131.409070 8.217554
+V 24 -21965.040527 -11778.954107 13238.204919 .028083
+P 25 7400.440984 -13948.212126 21723.867120 61.742844
+V 25 24599.665336 10601.370303 -1624.326878 .007205
+P 26 4963.606155 14290.085648 -22027.067075 409.765695
+V 26 -23554.157020 13957.776964 4391.562490 -.124950
+P 27 -24669.536681 -3985.736057 -9235.512684 920.014750
+V 27 -10071.396886 -7471.308234 28145.053260 .042768
+P 28 -12205.456571 14759.089576 -18086.532902 21.898408
+V 28 -2551.529128 -23386.814773 -17487.296428 .016339
+P 29 -1524.469680 17161.568007 -19933.154207 230.029813
+V 29 -22111.020256 13468.265979 13166.398510 .032818
+P 30 15537.141860 3868.419168 20974.133119 805.520763
+V 30 1353.272656 27192.363584 -5852.349714 .142609
+P 31 -10129.142652 -12282.760910 -21601.501373 40.615300
+V 31 21855.649622 -15399.479094 -1183.623600 .307773
+* 2004 3 1 7 30 .00000000
+P 1 -14740.059826 -7094.517506 21102.109471 332.633337
+V 1 21293.648214 -15522.130837 9707.382874 .020548
+P 3 4904.035069 -20263.048006 -16423.838034 89.980884
+V 3 17572.598588 -11543.148575 19826.491189 .030568
+P 4 -13387.926538 9776.917651 20834.266984 -77.001239
+V 4 -23536.048769 -11855.012620 -9253.496083 -.091941
+P 5 12656.251462 20001.439561 12092.232095 19.820917
+V 5 -69.850486 15802.535351 -25636.019230 .016152
+P 6 21011.457258 -722.826658 16492.257581 -1.385537
+V 6 -15092.073689 14221.089345 19942.817783 -.008835
+P 7 -20109.671157 17197.586120 1042.453492 611.541025
+V 7 -2987.894937 -2330.425187 -31303.637971 -.078514
+P 8 -19834.015179 3936.106909 -17577.922393 355.164900
+V 8 -19017.235654 -10760.931121 18955.747670 -.088019
+P 9 19027.594964 15824.380845 -10573.271437 -32.415845
+V 9 -12644.819653 -2584.191677 -27372.391466 -.018742
+P 10 880.157939 26278.104163 2403.826064 40.184103
+V 10 -2696.730942 -2886.915088 32185.444949 .005941
+P 11 -20935.112175 -14002.103328 -8649.232545 99.956289
+V 11 11716.549050 -306.474519 -27743.089007 .025374
+P 13 -22005.572987 4147.464942 14180.970710 -30.898222
+V 13 13676.513633 -11928.361077 24716.442110 .002166
+P 14 20411.040817 -16856.500116 2291.530084 -18.162260
+V 14 3651.557941 175.823979 -31915.593392 -.001096
+P 15 14218.786599 -8729.876654 -20948.362512 233.124585
+V 15 22596.184535 12872.819755 9848.613231 .053453
+P 16 2256.957891 -25487.603175 7183.275596 15.270075
+V 16 3603.280495 8688.469700 29998.166022 -.003922
+P 17 12823.054245 18946.877932 14269.612644 207.678237
+V 17 -15781.157285 -7736.416596 24024.612891 .194921
+P 18 15162.642202 461.122443 -21778.964699 -15.496175
+V 18 1639.126276 27657.293057 1517.301120 -.026603
+P 20 -13122.694372 -16467.669138 16122.901397 -184.044339
+V 20 -495.566891 -20664.500102 -21415.771673 .027634
+P 21 24315.057015 3913.535382 -10494.419698 73.100764
+V 21 10681.706438 7983.915431 27471.817865 .004923
+P 22 12376.585471 -13986.614460 -18736.015592 -39.926935
+V 22 2649.787985 24016.206846 -15994.147186 .087662
+P 24 469.472463 16421.962421 21150.355690 8.218292
+V 24 -23682.992065 -11133.493525 9374.495865 .028212
+P 25 9624.048449 -13055.587405 21397.251949 61.743012
+V 25 24732.289878 9211.677435 -5624.166269 .007043
+P 26 2901.187002 15589.942188 -21446.506770 409.754507
+V 26 -22209.823117 14865.413468 8495.310771 -.124961
+P 27 -25457.696693 -4577.085086 -6631.064125 920.019195
+V 27 -7391.666528 -5715.440501 29647.760261 .042760
+P 28 -12494.612416 12578.195639 -19496.314644 21.899701
+V 28 -3902.635325 -24993.493751 -13795.779617 .016325
+P 29 -3419.938788 18383.080030 -18576.033668 230.032656
+V 29 -19960.897742 13599.838060 16946.782611 .032812
+P 30 15714.526629 6274.284698 20265.030594 805.533984
+V 30 2562.983877 26186.017911 -9881.416359 .142591
+P 31 -8196.438943 -13717.219764 -21527.361417 40.643453
+V 31 21027.171061 -16425.129118 2830.722930 .307761
+* 2004 3 1 7 45 .00000000
+P 1 -12829.562517 -8569.205450 21794.615413 332.635856
+V 1 21080.001629 -17209.544104 5660.085845 .020781
+P 3 6383.689943 -21267.622809 -14502.854265 89.984270
+V 3 15290.987750 -10705.202932 22801.572749 .030529
+P 4 -15482.752120 8787.749177 19826.020113 -77.009926
+V 4 -22929.037036 -10115.692853 -13118.572287 -.091934
+P 5 12656.100846 21292.066966 9687.827282 19.823359
+V 5 2.581080 12846.974815 -27718.010159 .016118
+P 6 19611.651081 649.877939 18142.710910 -1.386719
+V 6 -15936.884508 16269.877272 16682.439591 -.008980
+P 7 -20264.379520 16888.299699 -1775.760606 611.533534
+V 7 -492.707279 -4592.339803 -31232.276683 -.078516
+P 8 -21478.110424 3054.449107 -15729.353860 355.156732
+V 8 -17438.511828 -8845.608993 22065.896774 -.088002
+P 9 17759.512989 15575.833188 -12942.612463 -32.417591
+V 9 -15510.779666 -2869.444665 -25207.972049 -.018708
+P 10 608.288245 25862.227094 5270.989727 40.185393
+V 10 -3413.506818 -6329.045522 31436.075758 .006032
+P 11 -19750.209084 -14015.013828 -11065.138511 99.958164
+V 11 14592.589995 -42.888076 -25867.029239 .025361
+P 13 -20709.260459 2965.612758 16276.252957 -30.897776
+V 13 15046.333233 -14336.458795 21778.143856 .002170
+P 14 20612.403994 -16747.965694 -592.338039 -18.162400
+V 14 864.347877 2294.799671 -32078.382732 -.001107
+P 15 16231.933033 -7651.769387 -19888.702481 233.129871
+V 15 22054.731109 11071.826935 13665.936105 .053301
+P 16 2623.427371 -24566.287499 9813.693306 15.269586
+V 16 4598.617926 11740.754446 28371.997713 -.003909
+P 17 11281.256041 18235.245156 16308.429396 207.695847
+V 17 -18453.052895 -8004.571112 21218.918171 .194948
+P 18 15374.156474 2929.447651 -21455.140575 -15.498506
+V 18 3044.872057 27104.504666 5667.229834 -.026620
+P 20 -13198.952164 -18212.180717 14061.711319 -184.041959
+V 20 -1140.149639 -18046.625247 -24322.094023 .027630
+P 21 25165.782063 4547.874805 -7940.712967 73.100894
+V 21 8164.084918 6153.019828 29197.408319 .004923
+P 22 12678.126070 -11756.485041 -20008.099519 -39.918895
+V 22 4074.838710 25457.224800 -12232.518220 .087649
+P 24 -1724.394031 15462.127611 21814.289783 8.221082
+V 24 -24997.221028 -10144.483542 5359.894063 .028461
+P 25 11837.330616 -12293.005879 20714.213020 61.744310
+V 25 24368.041108 7725.553384 -9534.176527 .006920
+P 26 977.003809 16953.643808 -20501.557447 409.743038
+V 26 -20493.720182 15366.303785 12477.525481 -.124973
+P 27 -25991.854562 -5023.635810 -3914.240559 920.023052
+V 27 -4439.513894 -4263.094912 30639.932206 .042744
+P 28 -12911.779681 10275.957518 -20562.630395 21.901313
+V 28 -5381.821480 -26077.580153 -9866.308804 .016312
+P 29 -5109.889797 19595.249916 -16891.832113 230.035932
+V 29 -17559.634528 13255.738104 20424.071932 .032806
+P 30 15992.667408 8567.156636 19200.869861 805.547115
+V 30 3579.256954 24688.714060 -13730.887425 .142568
+P 31 -6355.345219 -15228.912353 -21093.033513 40.671328
+V 31 19829.319192 -17105.432385 6809.655752 .307748
+* 2004 3 1 8 0 .00000000
+P 1 -10959.797883 -10183.931346 22118.067450 332.636794
+V 1 20395.618317 -18620.438097 1517.590589 .020939
+P 3 7654.565559 -22176.413457 -12331.209316 89.987074
+V 3 12947.805965 -9415.487999 25388.393993 .030429
+P 4 -17499.658588 7956.666035 18479.888779 -77.018295
+V 4 -21806.139954 -8357.214912 -16751.638244 -.091922
+P 5 12644.901258 22309.654731 7117.356016 19.824926
+V 5 -318.241686 9750.188816 -29321.426371 .015994
+P 6 18156.731434 2202.011165 19486.667077 -1.387034
+V 6 -16318.479768 18194.080900 13141.221429 -.008951
+P 7 -20207.067150 16363.040211 -4562.949196 611.526430
+V 7 1712.606647 -7117.971476 -30614.352387 -.078511
+P 8 -22959.116240 2340.071048 -13617.172709 355.148691
+V 8 -15399.296377 -7057.598893 24805.844326 -.087982
+P 9 16241.248497 15320.080025 -15098.382572 -32.419446
+V 9 -18190.456904 -2748.600201 -22632.950137 -.018664
+P 10 253.892105 25145.000917 8045.783898 40.185363
+V 10 -4524.157830 -9567.275406 30135.846767 .006069
+P 11 -18313.680126 -14020.780741 -13292.001897 99.961141
+V 11 17294.319403 -144.027405 -23548.018512 .025350
+P 13 -19312.573167 1568.114682 18089.735014 -30.897543
+V 13 15905.471502 -16704.111421 18463.344167 .002175
+P 14 20575.215244 -16433.824974 -3466.013074 -18.162572
+V 14 -1636.889147 4733.664880 -31689.292614 -.001116
+P 15 18173.232210 -6737.972942 -18495.433114 233.134607
+V 15 21000.336918 9236.635166 17252.082013 .053051
+P 16 3094.389636 -23383.492726 12275.662303 15.268895
+V 16 5916.143941 14485.908998 26260.346341 -.003898
+P 17 9507.868647 17518.824737 18078.246895 207.713838
+V 17 -20912.987766 -7847.614043 18054.375892 .194979
+P 18 15706.471489 5324.164846 -20762.006931 -15.500802
+V 18 4309.226982 26026.689075 9712.448390 -.026635
+P 20 -13316.607065 -19707.281832 11757.586845 -184.039458
+V 20 -1408.139138 -15136.396819 -26806.582784 .027626
+P 21 25774.918772 5029.358519 -5253.632151 73.100422
+V 21 5324.417065 4597.677723 30431.724092 .004929
+P 22 13113.019595 -9420.118174 -20931.341913 -39.910746
+V 22 5598.482510 26372.049450 -8253.460609 .087629
+P 24 -4016.226424 14604.143635 22112.586664 8.224754
+V 24 -25851.922571 -8882.842276 1260.321804 .028708
+P 25 13995.232357 -11665.331570 19685.697992 61.745907
+V 25 23502.232182 6227.955049 -13290.986151 .006806
+P 26 -778.763897 18342.037697 -19206.269769 409.731619
+V 26 -18480.661900 15406.435142 16269.203636 -.124986
+P 27 -26251.024094 -5355.052485 -1131.493525 920.026730
+V 27 -1294.739420 -3163.882844 31111.809951 .042724
+P 28 -13464.520625 7900.676997 -21267.248780 21.902784
+V 28 -6900.268180 -26614.136305 -5770.213015 .016303
+P 29 -6576.048857 20754.225542 -14910.646216 230.038483
+V 29 -15004.340977 12416.049398 23536.748122 .032800
+P 30 16350.774190 10705.071665 17800.896212 805.560282
+V 30 4328.623716 22752.519263 -17333.017032 .142547
+P 31 -4636.379037 -16784.142946 -20304.646984 40.698382
+V 31 18324.545321 -17384.371202 10687.827858 .307732
+* 2004 3 1 8 15 .00000000
+P 1 -9170.966390 -11910.270746 22066.994861 332.638544
+V 1 19291.203757 -19677.930211 -2651.115896 .021310
+P 3 8715.093541 -22949.263993 -9945.999649 89.991429
+V 3 10631.131718 -7688.141794 27540.256111 .030281
+P 4 -19392.925354 7281.320760 16819.492159 -77.026450
+V 4 -20186.088501 -6669.556753 -20092.651355 -.091911
+P 5 12586.744455 23045.635431 4425.102112 19.827393
+V 5 -1040.911850 6604.555178 -30420.751060 .015810
+P 6 16687.688460 3918.550376 20501.464838 -1.387319
+V 6 -16255.152762 19909.738884 9377.923711 -.008952
+P 7 -19966.616313 15601.457207 -7270.119190 611.519390
+V 7 3568.219866 -9830.178444 -29455.947660 -.078510
+P 8 -24237.520600 1777.850627 -11276.757803 355.140572
+V 8 -12945.135442 -5476.948353 27130.805215 -.087958
+P 9 14493.244548 15092.278885 -17005.484762 -32.420089
+V 9 -20603.278372 -2255.127669 -19689.476359 -.018594
+P 10 -216.463883 24149.038306 10679.607876 40.186171
+V 10 -5981.053408 -12508.529514 28308.126017 .006163
+P 11 -16644.882433 -14051.000672 -15291.653305 99.963054
+V 11 19741.280219 -580.079599 -20824.948673 .025340
+P 13 -17861.607114 -36.974599 19590.090831 -30.897355
+V 13 16254.210105 -18933.435645 14829.925633 .002181
+P 14 20328.444845 -15888.510589 -6280.025755 -18.162488
+V 14 -3782.603778 7418.651333 -30754.347400 -.001126
+P 15 19996.990587 -5987.492161 -16792.020539 233.140284
+V 15 19446.418821 7457.399045 20548.619652 .052809
+P 16 3696.150693 -21970.243471 14527.089953 15.268570
+V 16 7493.838217 16850.880574 23700.095239 -.003889
+P 17 7525.816789 16834.340031 19548.884425 207.731006
+V 17 -23076.574813 -7302.309193 14578.918285 .195009
+P 18 16143.088538 7599.670126 -19712.115262 -15.502997
+V 18 5349.598154 24463.354968 13583.934039 -.026651
+P 20 -13440.027877 -20930.663496 9250.464416 -184.036856
+V 20 -1263.748611 -12024.073813 -28826.740238 .027627
+P 21 26116.714751 5385.438074 -2478.344652 73.101610
+V 21 2236.321805 3374.544879 31154.904136 .004943
+P 22 13686.107646 -7025.933524 -21489.295618 -39.902765
+V 22 7130.563347 26740.266963 -4126.936468 .087612
+P 24 -6362.718812 13868.988736 22040.605918 8.226951
+V 24 -26206.465996 -7428.982866 -2857.312062 .028887
+P 25 16053.032584 -11169.780505 18328.277519 61.746712
+V 25 22146.977540 4803.349752 -16833.150800 .006630
+P 26 -2343.149239 19711.835387 -17580.841465 409.720017
+V 26 -16255.631204 14948.287637 19802.951517 -.125002
+P 27 -26221.710794 -5604.756402 1670.227355 920.031137
+V 27 1956.485831 -2451.486953 31062.024357 .042701
+P 28 -14152.269419 5502.013831 -21598.487379 21.904294
+V 28 -8366.809365 -26597.993648 -1581.443810 .016294
+P 29 -7809.068345 21815.243902 -12667.793554 230.041571
+V 29 -12395.590408 11080.522325 26230.490147 .032792
+P 30 16761.935565 12651.438025 16090.234884 805.572177
+V 30 4748.989815 20444.324604 -20625.085650 .142530
+P 31 -3063.967144 -18344.769230 -19174.189687 40.726551
+V 31 16585.342875 -17219.498572 14400.552250 .307718
+* 2004 3 1 8 30 .00000000
+P 1 -7498.041996 -13713.390499 21642.164001 332.641053
+V 1 17831.819540 -20316.948454 -6776.591643 .021652
+P 3 9571.524077 -23548.081152 -7388.201185 89.993585
+V 3 8426.061761 -5554.758980 29217.798422 .029925
+P 4 -21119.306651 6751.455337 14873.622719 -77.034668
+V 4 -18104.973856 -5137.967839 -23086.827880 -.091899
+P 5 12445.722632 23499.788804 1657.259097 19.827205
+V 5 -2156.829489 3502.616310 -30999.101470 .015683
+P 6 15243.137281 5777.153853 21169.897382 -1.388466
+V 6 -15781.202356 21338.678246 5454.847582 -.008998
+P 7 -19576.650137 14590.621796 -9849.284168 611.512805
+V 7 5028.977428 -12641.695486 -27773.369333 -.078508
+P 8 -25278.589468 1345.875993 -8747.237282 355.133189
+V 8 -10136.361862 -4174.024110 29002.345552 -.087929
+P 9 12542.845251 14923.908770 -18632.844213 -32.421151
+V 9 -22676.890127 -1437.031706 -16424.684758 -.018630
+P 10 -831.190723 22904.837108 13126.405182 40.186270
+V 10 -7720.597961 -15071.220461 25985.986065 .006199
+P 11 -14770.079505 -14133.930758 -17029.737684 99.965074
+V 11 21860.929673 -1306.897781 -17743.580964 .025331
+P 13 -16401.554910 -1832.907898 20751.461269 -30.897408
+V 13 16112.249290 -20929.785369 10941.307704 .002188
+P 14 19906.667931 -15093.632156 -8985.874644 -18.162080
+V 14 -5518.181341 10264.537134 -29289.006491 -.001128
+P 15 21659.509247 -5391.364806 -14806.993269 233.145793
+V 15 17423.768209 5820.457429 23501.611176 .052494
+P 16 4448.874323 -20363.528663 16529.545907 15.268251
+V 16 9257.679227 18776.577869 20735.622789 -.003875
+P 17 5365.270605 16214.520757 20694.716939 207.748574
+V 17 -24867.678073 -6420.386845 10845.774960 .195042
+P 18 16660.464601 9714.664388 -18324.082996 -15.505366
+V 18 6092.558089 22470.335413 17216.094517 -.026665
+P 20 -13531.146020 -21868.440093 6583.741082 -184.034322
+V 20 -688.788697 -8805.988618 -30348.268390 .027623
+P 21 26172.489495 5648.022151 338.551677 73.102069
+V 21 -1017.125102 2525.713459 31355.057058 .004966
+P 22 14394.022828 -4623.317516 -21671.951300 -39.894785
+V 22 8579.445897 26560.877335 74.178391 .087593
+P 24 -8717.648290 13270.091296 21599.739164 8.230093
+V 24 -26036.856463 -5869.732998 -6926.021734 .029027
+P 25 17967.849012 -10796.107855 16663.933953 61.748562
+V 25 20330.934284 3532.543002 -20101.996194 .006315
+P 26 -3701.175727 21017.188529 -15651.415963 409.708536
+V 26 -13910.653950 13972.765258 23014.253944 -.125021
+P 27 -25898.345995 -5808.448815 4444.212072 920.035083
+V 27 5224.725361 -2142.798235 30497.196495 .042676
+P 28 -14966.293635 3129.199769 -21551.380636 21.905850
+V 28 -9691.766812 -26043.765805 2624.938677 .016285
+P 29 -8808.655106 22734.409090 -10203.119028 230.045141
+V 29 -9833.341776 9268.613044 28459.158884 .032781
+P 30 17194.260910 14376.250985 14099.386909 805.584863
+V 30 4792.176875 17843.122323 -23550.525235 .142522
+P 31 -1655.657066 -19869.510868 -17719.405771 40.754661
+V 31 14691.623685 -16583.797259 17884.762976 .307704
+* 2004 3 1 8 45 .00000000
+P 1 -5969.589424 -15553.229429 20850.572530 332.644700
+V 1 16094.374876 -20486.769547 -10789.978597 .021796
+P 3 10237.505452 -23938.366661 -4701.970016 89.996625
+V 3 6411.357317 -3063.413166 30389.840576 .029651
+P 4 -22639.537850 6349.474829 12675.737860 -77.043059
+V 4 -15614.900880 -3839.725172 -25685.404516 -.091889
+P 5 12187.465128 23680.103162 -1138.854938 19.827777
+V 5 -3640.546065 533.685627 -31048.384555 .015535
+P 6 13857.936150 7748.816464 21480.490435 -1.389071
+V 6 -14945.537619 22411.465871 1436.927203 -.008982
+P 7 -19074.121053 13325.791212 -12254.386037 611.506073
+V 7 6066.317138 -15458.464759 -25593.139893 -.078510
+P 8 -26053.609453 1016.437908 -6070.891306 355.126304
+V 8 -7046.054773 -3206.885736 30388.942698 -.087911
+P 9 10423.444630 14841.541833 -19953.830478 -32.423890
+V 9 -24349.580088 -355.005561 -12890.107154 -.018702
+P 10 -1612.353033 21449.602189 15343.507501 40.186782
+V 10 -9665.841158 -17188.362204 23211.515422 .006251
+P 11 -12721.605391 -14293.274305 -18476.301186 99.967484
+V 11 23591.328652 -2267.770281 -14355.830425 .025323
+P 13 -14974.994699 -3794.706356 21553.901135 -30.896928
+V 13 15517.769766 -22605.484275 6865.292704 .002194
+P 14 19348.624603 -14038.866143 -11536.866431 -18.162404
+V 14 -6805.966351 13177.846329 -27317.939719 -.001138
+P 15 23120.607116 -4933.151612 -12573.503829 233.151135
+V 15 14979.552698 4405.107298 26062.359322 .052154
+P 16 5365.630387 -18604.946560 18248.901974 15.267972
+V 16 11124.564702 20219.961657 17418.014101 -.003866
+P 17 3062.775338 15686.832305 21495.130277 207.766197
+V 17 -26221.208204 -5266.762033 6912.979925 .195067
+P 18 17228.971325 11633.527382 -16622.236577 -15.507567
+V 18 6476.751260 20117.580895 20547.822838 -.026683
+P 20 -13551.079324 -22515.532728 3803.510085 -184.031519
+V 20 316.563057 -5580.894050 -31345.629970 .027619
+P 21 25931.357172 5852.093106 3149.754074 73.102375
+V 21 -4346.290475 2077.187620 31028.430864 .004982
+P 22 15225.226433 -2260.869045 -21475.937980 -39.886753
+V 22 9855.811854 25852.319871 4275.475678 .087578
+P 24 -11033.416523 12812.899298 20797.376521 8.232954
+V 24 -25336.622055 -4295.047703 -10879.641529 .029083
+P 25 19700.093971 -10527.077105 14719.773740 61.747888
+V 25 18098.473965 2489.600397 -23042.470562 .005846
+P 26 -4846.336054 22211.409753 -13449.763688 409.696889
+V 26 -11541.300239 12480.472178 25842.807697 -.125035
+P 27 -25283.440086 -6002.583918 7144.688878 920.038648
+V 27 8420.396871 -2237.665874 29431.474516 .042649
+P 28 -15889.997512 829.287999 -21127.712075 21.907600
+V 28 -10790.683019 -24985.054122 6774.260351 .016274
+P 29 -9583.334075 23470.436865 -7560.222024 230.048050
+V 29 -7412.943615 7018.707062 30185.571358 .032772
+P 30 17612.225128 15857.042159 11863.630886 805.598459
+V 30 4425.867492 15036.836247 -26059.881569 .142511
+P 31 -421.579750 -21315.402985 -15963.604627 40.782641
+V 31 12727.776816 -15467.028905 21080.026052 .307686
+* 2004 3 1 9 0 .00000000
+P 1 -4606.827217 -17385.885121 19705.350071 332.646038
+V 1 14164.688531 -20153.047406 -14624.041799 .021761
+P 3 10733.370959 -24090.630873 -1933.873448 90.000105
+V 3 4656.318031 -277.004500 31034.084296 .029394
+P 4 -23919.694605 6051.298843 10263.387717 -77.051292
+V 4 -12782.075555 -2841.220422 -27846.295858 -.091881
+P 5 11780.615349 23602.337505 -3915.590317 19.827698
+V 5 -5450.744271 -2219.388755 -30569.313317 .015536
+P 6 12561.954232 9798.778146 21427.697003 -1.388971
+V 6 -13809.757465 23070.059217 -2609.214448 -.008982
+P 7 -18497.755725 11810.855637 -14442.204408 611.498640
+V 7 6669.522065 -18183.341726 -22951.730033 -.078514
+P 8 -26540.925832 757.239834 -3292.507149 355.119141
+V 8 -3757.544474 -2619.087122 31266.483038 -.087913
+P 9 8173.432751 14865.799873 -20946.626663 -32.426135
+V 9 -25572.350250 919.819444 -9141.079714 -.018726
+P 10 -2574.605703 19825.813725 17292.407870 40.187419
+V 10 -11729.638154 -18810.071906 20034.938833 .006322
+P 11 -10536.803365 -14547.148161 -19606.308872 99.970027
+V 11 24883.447572 -3395.678191 -10718.946430 .025318
+P 13 -13620.296471 -5889.944962 21983.718865 -30.896692
+V 13 14525.771485 -23883.284974 2672.838540 .002202
+P 14 18695.626924 -12722.541538 -13888.928554 -18.162690
+V 14 -7626.629224 16060.387649 -24874.637740 -.001141
+P 15 24345.028288 -4589.706374 -10128.825223 233.154401
+V 15 12175.745702 3280.624083 28188.107807 .051756
+P 16 6451.722238 -16739.188844 19655.896528 15.267716
+V 16 13005.573414 21155.519919 13804.174989 -.003860
+P 17 660.142303 15272.388109 21934.927905 207.784312
+V 17 -27085.616215 -3917.255537 2842.784080 .195097
+P 18 17814.094350 13327.469589 -14636.164041 -15.510121
+V 18 6455.313071 17486.446167 23523.452047 -.026699
+P 20 -13461.792429 -22875.719320 957.753247 -184.029061
+V 20 1733.719933 -2446.235751 -31802.446166 .027605
+P 21 25390.677063 6034.211790 5907.991837 73.103177
+V 21 -7658.119781 2037.932040 30179.496601 .005007
+P 22 16160.385485 15.321779 -20904.597025 -39.878742
+V 22 10876.378412 24651.715526 8402.439901 .087561
+P 24 -13262.644267 12494.750959 19646.792879 8.235532
+V 24 -24117.100421 -2794.621704 -14653.711001 .029109
+P 25 21214.830496 -10339.198167 12527.662798 61.747981
+V 25 15508.298279 1738.966003 -25604.002831 .005312
+P 26 -5780.743729 23248.775429 -11012.841672 409.685931
+V 26 -9242.935298 10492.242775 28233.885959 -.125049
+P 27 -24387.458048 -6222.845970 9727.479374 920.042956
+V 27 11456.808076 -2719.234336 27886.032400 .042620
+P 28 -16899.550606 -1354.491362 -20335.914365 21.909273
+V 28 -11587.794235 -23472.896799 10793.669107 .016263
+P 29 -10149.862326 23986.294338 -4785.623795 230.051079
+V 29 -5221.388889 4386.576115 31382.053468 .032761
+P 30 17978.158863 17079.528663 9422.346062 805.610798
+V 30 3634.883964 12118.845475 -28111.598820 .142509
+P 31 635.812176 -22639.345519 -13935.376970 40.810472
+V 31 10779.500982 -13876.504837 23929.590572 .307663
+* 2004 3 1 9 15 .00000000
+P 1 -3422.970846 -19165.157511 18225.565627 332.647866
+V 1 12134.221696 -19299.258118 -18214.200854 .021893
+P 3 11085.159745 -23981.629330 867.934865 90.002432
+V 3 3218.016905 2729.011232 31137.650245 .029006
+P 4 -24932.357164 5827.456574 7677.588468 -77.059548
+V 4 -9684.401302 -2195.474887 -29534.647715 -.091877
+P 5 11198.192662 23289.303750 -6625.753933 19.829436
+V 5 -7531.807947 -4683.187105 -29571.291399 .015620
+P 6 11379.033500 11887.653919 21012.005670 -1.389633
+V 6 -12445.769280 23270.063951 -6616.241286 -.009074
+P 7 -17886.420458 10058.440424 -16373.229767 611.491427
+V 7 6846.224810 -20720.019169 -19895.020404 -.078515
+P 8 -26726.738399 532.783707 -458.692520 355.111915
+V 8 -361.539849 -2437.982704 31618.691705 -.087925
+P 9 5834.973272 15010.529145 -21594.544613 -32.427009
+V 9 -26310.582060 2308.462996 -5236.135376 -.018653
+P 10 -3724.434561 18079.601768 18939.447090 40.189315
+V 10 -13818.220394 -19905.358614 16513.573718 .006330
+P 11 -8256.777704 -14907.272254 -20400.084350 99.972458
+V 11 25703.000520 -4615.959698 -6894.598719 .025314
+P 13 -12370.207901 -8079.831928 22033.703401 -30.896350
+V 13 13205.759389 -24699.418401 -1563.216700 .002208
+P 14 17989.874717 -11151.896847 -16001.379516 -18.162988
+V 14 -7979.818797 18812.995943 -22000.862143 -.001142
+P 15 25303.683985 -4332.199359 -7513.786601 233.157382
+V 15 9087.031369 2503.627809 29842.691325 .051480
+P 16 7704.318397 -14812.421630 20726.615375 15.267687
+V 16 14809.443412 21576.077233 9955.864207 -.003851
+P 17 -1796.867510 14985.087648 22004.679915 207.801955
+V 17 -27424.992816 -2455.868633 -1299.042345 .195121
+P 18 18377.825182 14775.421170 -12400.186527 -15.512795
+V 18 5997.717412 14666.579467 26093.600238 -.026711
+P 20 -13227.728328 -22961.351407 -1904.494897 -184.026625
+V 20 3526.366597 505.502420 -31711.726409 .027596
+P 21 24556.214942 6230.963852 8566.766851 73.103763
+V 21 -10859.407187 2399.527422 28820.943420 .005021
+P 22 17173.074998 2163.292412 -19967.927163 -39.870706
+V 22 11567.380886 23013.354983 12381.883243 .087547
+P 24 -15359.764264 12305.050708 18166.955022 8.238903
+V 24 -22407.115667 -1454.509799 -18186.348679 .029129
+P 25 22482.979871 -10203.712205 10123.784667 61.747827
+V 25 12631.528877 1332.878635 -27741.358869 .005022
+P 26 -6514.941374 24086.339929 -8382.230525 409.675460
+V 26 -7106.864683 8048.858998 30139.691331 -.125060
+P 27 -23228.428864 -6502.681770 12150.607524 920.046712
+V 27 14253.021409 -3554.828362 25888.550433 .042585
+P 28 -17964.811960 -3384.205170 -19190.844082 21.910672
+V 28 -12019.102490 -21573.544861 14613.478119 .016253
+P 29 -10532.323153 24250.669226 -1927.895207 230.053820
+V 29 -3333.973557 1443.149985 32030.768740 .032751
+P 30 18253.822275 18037.941158 6818.273125 805.623535
+V 30 2421.762665 9184.349865 -29672.618238 .142500
+P 31 1521.714759 -23799.693836 -11668.215065 40.838227
+V 31 8930.516008 -11837.225014 26381.464389 .307641
+* 2004 3 1 9 30 .00000000
+P 1 -2422.880479 -20844.194081 16435.942845 332.650396
+V 1 10096.594092 -17927.505452 -21499.544516 .021938
+P 3 11323.409649 -23595.370181 3654.579883 90.005315
+V 3 2139.017284 5869.427082 30697.429096 .028630
+P 4 -25657.539523 5644.383155 4962.150505 -77.067204
+V 4 -6408.673219 -1940.162860 -30723.287045 -.091872
+P 5 10418.788541 22769.898672 -9223.381487 19.831274
+V 5 -9815.917421 -6796.305362 -28072.174453 .015685
+P 6 10326.182782 13972.746314 20239.959879 -1.390180
+V 6 -10933.025580 22982.517515 -10517.105888 -.009195
+P 7 -17277.476726 8089.651889 -18012.475964 611.484718
+V 7 6622.118102 -22976.993059 -16477.492800 -.078515
+P 8 -26605.625134 305.883001 2382.846449 355.104189
+V 8 3047.031451 -2673.602114 31437.486219 -.087944
+P 9 3452.651234 15282.220739 -21886.284460 -32.428265
+V 9 -26545.247403 3726.951396 -1236.373342 -.018596
+P 10 -5059.731088 16258.994598 20256.400028 40.188815
+V 10 -15835.021187 -20463.131082 12710.654489 .006302
+P 11 -5925.004381 -15378.413627 -20843.663299 99.974760
+V 11 26031.735746 -5849.283635 -2947.879866 .025304
+P 13 -11250.674354 -10320.539532 21703.235067 -30.896554
+V 13 11638.871847 -25006.114639 -5769.452917 .002214
+P 14 17272.745958 -9342.996678 -17837.642770 -18.162807
+V 14 -7884.072148 21339.330795 -18745.943384 -.001148
+P 15 25974.684686 -4127.358752 -4772.152904 233.162531
+V 15 5798.248422 2115.885938 30997.129296 .051436
+P 16 9112.402101 -12870.624627 21442.882443 15.267685
+V 16 16446.135388 21492.913107 5938.659919 -.003848
+P 17 -4260.027671 14831.017288 21701.003793 207.819839
+V 17 -27220.684293 -971.680613 -5444.030709 .195141
+P 18 18880.191248 15964.627521 -9952.758959 -15.515020
+V 18 5090.991730 11752.534456 28215.898830 -.026724
+P 20 -12817.347141 -22792.750624 -4733.996061 -184.024235
+V 20 5641.833111 3190.239905 -31075.929747 .027582
+P 21 23442.008141 6477.403038 11081.089544 73.104438
+V 21 -13860.091867 3136.449414 26973.581167 .005040
+P 22 18230.777436 4146.658859 -18682.401255 -39.862712
+V 22 11867.671043 21006.494853 16143.354830 .087526
+P 24 -17282.557814 12225.744889 16382.250644 8.240856
+V 24 -20252.052667 -353.864087 -21419.114072 .029131
+P 25 23482.335315 -10087.791877 7548.122123 61.748654
+V 25 9549.319165 1309.183947 -29415.483756 .004767
+P 26 -7067.363395 24685.686501 -5603.452019 409.664435
+V 26 -5216.536723 5209.921494 31520.647042 -.125071
+P 27 -21831.307687 -6871.935582 14374.861657 920.050888
+V 27 16736.471699 -4697.336075 23472.691606 .042551
+P 28 -19050.508176 -5228.464731 -17713.440813 21.911889
+V 28 -12034.928456 -19365.674471 18168.388817 .016243
+P 29 -10760.942548 24239.211745 963.235221 230.056583
+V 29 -1811.488054 -1728.287623 32123.828849 .032741
+P 30 18401.998431 18735.023293 4096.729576 805.636451
+V 30 806.617060 6326.727090 -30718.789412 .142492
+P 31 2248.646065 -24757.832051 -9200.035835 40.865800
+V 31 7259.271300 -9391.350484 28389.492478 .307614
+* 2004 3 1 9 45 .00000000
+P 1 -1603.027542 -22377.177364 14366.485130 332.654707
+V 1 8144.004563 -16058.651009 -24423.817692 .021825
+P 3 11481.770187 -22923.849265 6377.352763 90.007801
+V 3 1445.674375 9052.512231 29720.230854 .028088
+P 4 -26083.351707 5465.868616 2162.970723 -77.074833
+V 4 -3047.470430 -2096.206159 -31393.069611 -.091863
+P 5 9427.553584 22077.923170 -11664.483208 19.832273
+V 5 -12225.588822 -8511.478773 -26097.917173 .015736
+P 6 9413.034286 16009.494408 19124.086104 -1.391433
+V 6 -9355.471152 22195.131255 -14246.070731 -.009378
+P 7 -16705.198844 5933.471270 -19330.208203 611.477517
+V 7 6039.865979 -24871.384290 -12761.164332 -.078520
+P 8 -26180.772328 39.249607 5184.055239 355.096830
+V 8 6372.368537 -3318.141559 30723.243901 -.087972
+P 9 1072.033783 15679.697042 -21816.136009 -32.428719
+V 9 -26273.626687 5089.361376 2795.204605 -.018634
+P 10 -6569.716757 14412.112831 21220.951442 40.188036
+V 10 -17684.591832 -20492.393330 8694.059091 .006368
+P 11 -3585.852137 -15958.107892 -20929.053920 99.976718
+V 11 25868.129661 -7014.821978 1053.763161 .025295
+P 13 -10279.938086 -12564.734341 20998.279519 -30.896115
+V 13 9914.568873 -24773.498521 -9873.163983 .002229
+P 14 16583.128785 -7320.309455 -19365.890999 -18.162800
+V 14 -7375.982629 23549.583549 -15165.937964 -.001155
+P 15 26344.124333 -3938.887159 -1949.953895 233.165682
+V 15 2401.451583 2142.632869 31630.155183 .051317
+P 16 10657.040388 -10957.950844 21792.555083 15.267468
+V 16 17830.348087 20935.189250 1820.876124 -.003849
+P 17 -6680.251105 14808.144091 21026.765384 207.836814
+V 17 -26472.342828 444.542832 -9521.967530 .195161
+P 18 19280.865377 16890.932197 -7335.810616 -15.517124
+V 18 3740.262620 8840.232538 29855.599335 -.026731
+P 20 -12204.512169 -22397.310062 -7482.155205 -184.021877
+V 20 8013.101611 5535.394020 -29906.860594 .027571
+P 21 22069.936904 6805.547643 13408.201726 73.105059
+V 21 -16576.470199 4206.968845 24666.145376 .005052
+P 22 19296.138711 5935.840570 -17070.658687 -39.854665
+V 22 11731.299525 18712.555170 19620.489667 .087504
+P 24 -18993.581766 12232.081823 14322.140367 8.242121
+V 24 -17712.352826 438.104912 -24297.855954 .029242
+P 25 24198.341639 -9955.917240 4843.864220 61.748785
+V 25 6350.054262 1689.633355 -30594.313482 .004460
+P 26 -7463.465952 25014.538507 -2725.175323 409.652679
+V 26 -3643.976265 2051.880355 32346.570416 -.125082
+P 27 -20227.116006 -7355.628834 16364.309500 920.054677
+V 27 18845.271989 -6087.032748 20677.582546 .042519
+P 28 -20117.614360 -6863.401801 -15930.282409 21.913297
+V 28 -11601.854174 -16937.164670 21398.572725 .016229
+P 29 -10870.680767 23935.503024 3837.773857 230.059381
+V 29 -698.042422 -5035.349420 31663.198680 .032731
+P 30 18388.043087 19181.708368 1304.796378 805.649514
+V 30 -1173.688002 3634.025516 -31235.098337 .142480
+P 31 2835.827887 -25479.668338 -6572.607823 40.893671
+V 31 5835.778627 -6596.997826 29914.409899 .307591
+* 2004 3 1 10 0 .00000000
+P 1 -951.782977 -23720.993145 12052.013627 332.659078
+V 1 6363.683186 -13731.754908 -26936.368279 .021452
+P 3 11595.492015 -21967.480583 8988.602400 90.009567
+V 3 1147.099554 12183.530136 28222.722483 .027685
+P 4 -26206.372804 5254.605900 -672.701908 -77.083602
+V 4 304.145187 -2666.983648 -31533.126278 -.091859
+P 5 8216.939581 21250.733963 -13907.752905 19.834969
+V 5 -14676.562225 -9797.171360 -23682.115108 .015811
+P 6 8641.584052 17953.008290 17682.729557 -1.392913
+V 6 -7798.304489 20912.939766 -17739.740599 -.009555
+P 7 -16199.324392 3625.818163 -20302.564496 611.470532
+V 7 5157.252068 -26332.431585 -8814.291543 -.078527
+P 8 -25463.899389 -302.902472 7897.300725 355.089089
+V 8 9521.217696 -4346.102541 29484.971111 -.088006
+P 9 -1261.810426 16194.077474 -21384.118493 -32.431622
+V 9 -25509.505223 6310.967693 6794.401778 -.018774
+P 10 -8235.217707 12585.382414 21817.054115 40.187704
+V 10 -19276.443860 -20021.632969 4534.973019 .006556
+P 11 -1283.069199 -16636.670735 -20654.398584 99.978843
+V 11 25227.452934 -8033.501942 5041.653888 .025290
+P 13 -9467.950362 -14763.247129 19931.266065 -30.896330
+V 13 8127.013537 -23990.788986 -13803.627610 .002243
+P 14 15955.860730 -5115.961122 -20559.608737 -18.163020
+V 14 -6508.656625 25363.946726 -11322.659319 -.001159
+P 15 26406.586299 -3729.003545 905.231152 233.172489
+V 15 -1007.316722 2591.472622 31728.670781 .051423
+P 16 12311.962512 -9115.168103 21769.720183 15.266879
+V 16 18884.855497 19948.710553 -2327.555560 -.003851
+P 17 -9009.261249 14906.323929 19991.187912 207.854506
+V 17 -25198.340542 1703.923037 -13461.984035 .195185
+P 18 19540.793681 17558.739610 -4594.036682 -15.519463
+V 18 1968.619403 6023.405878 30986.055640 -.026741
+P 20 -11369.669887 -21808.337145 -10101.850917 -184.019245
+V 20 10561.364758 7482.512940 -28225.405004 .027565
+P 21 20469.014574 7242.985215 15508.277272 73.105640
+V 21 -18934.213602 5554.652047 21934.998674 .005054
+P 22 20328.429224 7509.010567 -15161.080314 -39.846572
+V 22 11129.473865 16221.837769 22752.264438 .087480
+P 24 -20461.435559 12293.631416 12020.734192 8.244967
+V 24 -14861.472185 864.840182 -26773.542518 .029433
+P 25 24624.607458 -9771.379782 2056.742428 61.748471
+V 25 3126.223598 2478.750141 -31253.535002 .004313
+P 26 -7734.552981 25048.157327 201.674897 409.641192
+V 26 -2446.625667 -1334.724400 32597.670521 -.125090
+P 27 -18451.890392 -7972.921443 18086.766845 920.058267
+V 27 20530.153208 -7653.782187 17547.302292 .042488
+P 28 -21124.880048 -8273.340302 -13873.049771 21.914754
+V 28 -10703.994227 -14381.581957 24250.598279 .016221
+P 29 -10899.659417 23331.716237 6646.337381 230.062108
+V 29 -19.594479 -8380.098128 30660.414353 .032720
+P 30 18181.330913 19396.491527 -1509.508059 805.662030
+V 30 -3467.001326 1185.725769 -31215.721459 .142468
+P 31 3308.292953 -25936.991702 -3830.885787 40.922864
+V 31 4718.701399 -3526.370834 30924.835691 .307562
+* 2004 3 1 10 15 .00000000
+P 1 -450.018544 -24836.817559 9531.622338 332.660195
+V 1 4834.503947 -11002.836170 -28993.039326 .020713
+P 3 11699.854976 -20735.202542 11442.611684 90.011106
+V 3 1234.836948 15168.400337 26231.150785 .027567
+P 4 -26031.722411 4973.781383 -3497.018413 -77.092254
+V 4 3552.010634 -3638.179879 -31141.008480 -.091852
+P 5 6787.169841 20327.778269 -15915.231375 19.836129
+V 5 -17080.933551 -10638.580084 -20865.450069 .015809
+P 6 8006.228028 19759.633976 15939.796846 -1.392539
+V 6 -6344.666168 19158.324259 -20938.095636 -.009674
+P 7 -15783.802839 1208.320920 -20912.051578 611.463728
+V 7 4044.643290 -27304.483766 -4709.883828 -.078532
+P 8 -24474.876826 -753.295534 10476.151277 355.082137
+V 8 12406.250081 -5715.088739 27740.361114 -.088047
+P 9 -3505.785305 16809.028808 -20596.054274 -32.433912
+V 9 -24282.829761 7311.404253 10696.588462 -.018822
+P 10 -10029.275972 10821.837637 22035.165244 40.188328
+V 10 -20528.660421 -19097.442100 306.525390 .006832
+P 11 941.707291 -17397.501016 -20024.032290 99.980940
+V 11 24141.200340 -8831.213386 8947.051308 .025291
+P 13 -8816.117677 -16866.817691 18520.853719 -30.896360
+V 13 6371.290609 -22666.759273 -17493.326522 .002260
+P 14 15420.336728 -2768.692492 -21398.062724 -18.163091
+V 14 -5349.518142 26715.708527 -7282.599688 -.001163
+P 15 26165.349659 -3460.055733 3745.025808 233.175902
+V 15 -4331.439317 3451.915131 31288.112747 .051373
+P 16 14044.426019 -7378.240308 21374.788635 15.266409
+V 16 19543.542725 18594.068226 -6436.223735 -.003843
+P 17 -11201.269747 15107.634738 18609.856956 207.872332
+V 17 -23435.492976 2723.098056 -17193.777180 .195203
+P 18 19623.780815 17980.661570 -1774.152028 -15.521933
+V 18 -183.692899 3390.150248 31589.080954 -.026753
+P 20 -10300.778549 -21063.683990 -12548.235210 -184.017175
+V 20 13199.034192 8989.350070 -26061.116500 .027565
+P 21 18674.418951 7811.637837 17345.091017 73.106248
+V 21 -20871.084794 7110.420429 18823.722262 .005070
+P 22 21285.149894 8852.733857 -12987.255707 -39.838392
+V 22 10051.811831 13629.905642 25484.130452 .087453
+P 24 -21661.822404 12375.530464 9516.294311 8.247570
+V 24 -11783.359744 884.726559 -28803.066140 .029588
+P 25 24763.124980 -9497.860459 -765.698378 61.747987
+V 25 -28.931781 3663.328128 -31377.269576 .004318
+P 26 -7916.342573 24770.459777 3124.890126 409.630400
+V 26 -1664.759932 -4848.716426 32265.313944 -.125096
+P 27 -16545.474862 -8736.285746 19514.220514 920.061797
+V 27 21755.993140 -9319.548579 14130.377460 .042457
+P 28 -22030.438026 -9451.143956 -11577.915494 21.916200
+V 28 -9343.564118 -11794.518400 26678.195258 .016211
+P 29 -10887.489208 22428.949832 9340.995240 230.065522
+V 29 216.781896 -11662.754571 29136.136654 .032716
+P 30 17756.543809 19404.526922 -4298.051423 805.674732
+V 30 -6007.917238 -950.112212 -30663.918674 .142456
+P 31 3695.746661 -26108.632339 -1022.259898 40.949992
+V 31 3952.831848 -263.274440 31398.169745 .307516
+* 2004 3 1 10 30 .00000000
+P 1 -72.000977 -25691.563158 6848.056008 332.661793
+V 1 3623.885078 -7942.986027 -30556.990072 .020059
+P 3 11828.599880 -19244.253966 13696.439293 90.012785
+V 3 1683.269910 17917.348588 23780.854711 .027623
+P 4 -25572.828437 4588.650018 -6262.290413 -77.099823
+V 4 6606.208579 -4978.276950 -30222.732705 -.091846
+P 5 5146.420852 19349.065708 -17652.915871 19.837931
+V 5 -19350.418511 -11038.022690 -17695.047414 .015736
+P 6 7494.095054 21388.491697 13924.406122 -1.393472
+V 6 -5072.372776 16970.396949 -23785.511897 -.009829
+P 7 -15475.799001 -1273.154084 -21147.900265 611.456348
+V 7 2781.885446 -27749.343687 -524.075796 -.078541
+P 8 -23241.046709 -1340.127596 12876.156545 355.074454
+V 8 14949.275359 -7367.250189 25515.726765 -.088100
+P 9 -5620.185926 17501.297041 -19463.571206 -32.435854
+V 9 -22638.819114 8017.743219 14437.526403 -.018802
+P 10 -11918.069917 9159.580231 21872.360043 40.190380
+V 10 -21371.134122 -17782.441934 -3917.570457 .007199
+P 11 3050.362403 -18217.665855 -19048.435164 99.983411
+V 11 22655.900034 -9341.846834 12702.336704 .025290
+P 13 -8317.390042 -18827.847191 16791.590329 -30.896252
+V 13 4739.611331 -20829.444357 -20879.100140 .002278
+P 14 14999.340960 -322.559630 -21866.671047 -18.163105
+V 14 -3977.546734 27553.849426 -3115.762529 -.001166
+P 15 25632.284284 -3096.144863 6521.037344 233.180363
+V 15 -7477.206612 4695.577848 30312.716823 .051447
+P 16 15816.338260 -5777.101091 20614.487079 15.266218
+V 16 19754.028712 16944.235226 -10435.379962 -.003843
+P 17 -13214.596859 15387.033732 16904.610109 207.890570
+V 17 -21238.059735 3427.767356 -20648.948046 .195217
+P 18 19497.973673 18176.863146 1075.881482 -15.524544
+V 18 -2660.715949 1019.709621 31655.179148 -.026762
+P 20 -8993.950228 -20204.219147 -14779.489686 -184.014698
+V 20 15833.079673 10031.304467 -23451.662499 .027560
+P 21 16726.296586 8526.735743 18886.645717 73.107118
+V 21 -22339.251441 8795.108921 15382.591361 .005084
+P 22 22123.717338 9962.270463 -10587.354927 -39.830356
+V 22 8506.841607 11033.777116 27768.998296 .087426
+P 24 -22578.364661 12439.911538 6850.667020 8.250489
+V 24 -8569.530536 472.868158 -30350.012170 .029741
+P 25 24624.182275 -9101.022577 -3574.885941 61.750088
+V 25 -3024.879366 5212.608873 -30958.651237 .004583
+P 26 -8047.332112 24174.798588 5992.006257 409.619075
+V 26 -1319.622043 -8382.290048 31352.509332 -.125105
+P 27 -14550.195471 -9650.917845 20623.205979 920.065957
+V 27 22502.899226 -11001.148413 10479.278088 .042418
+P 28 -22793.432506 -10398.233228 -9084.871106 21.917108
+V 28 -7540.743961 -9269.928724 28642.855348 .016202
+P 29 -10873.565487 21237.225645 11876.065440 230.068521
+V 29 22.882742 -14785.412584 27119.564672 .032711
+P 30 17094.754198 19236.489215 -7013.394536 805.687018
+V 30 -8720.283087 -2719.219417 -29591.781011 .142445
+P 31 4031.223899 -25981.373204 1804.269894 40.977513
+V 31 3567.079959 3099.912916 31321.352222 .307479
+* 2004 3 1 10 45 .00000000
+P 1 213.452393 -26259.128131 4047.017997 332.664332
+V 1 2785.097686 -4635.891731 -31599.427856 .019491
+P 3 12012.429247 -17519.627993 15710.708504 90.015219
+V 3 2450.741878 20348.389541 20915.578509 .027876
+P 4 -24850.899556 4068.037796 -8921.750176 -77.107349
+V 4 9384.265207 -6639.673607 -28792.723110 -.091852
+P 5 3310.708549 18353.633483 -19091.308054 19.838236
+V 5 -21399.633668 -11014.698750 -14223.752888 .015620
+P 6 7085.667200 22802.930261 11670.446521 -1.395454
+V 6 -4050.817412 14403.755274 -26231.753495 -.009955
+P 7 -15284.996014 -3770.150533 -21006.270107 611.449373
+V 7 1454.778671 -27647.849852 3665.584384 -.078554
+P 8 -21796.265844 -2085.769736 15055.615041 355.066899
+V 8 17084.170075 -9231.340748 22845.794501 -.088161
+P 9 -7570.012738 18241.508957 -18004.027762 -32.437840
+V 9 -20636.536528 8367.392215 17954.261275 -.018768
+P 10 -13862.104587 7630.453002 21332.324318 40.190950
+V 10 -21748.308543 -16152.608937 -8064.342500 .007464
+P 11 5009.580854 -19068.746969 -17744.077896 99.985734
+V 11 20831.342018 -9510.041740 16242.202270 .025291
+P 13 -7956.685911 -20602.090790 14773.471893 -30.896111
+V 13 3317.652043 -18525.111392 -23903.207984 .002295
+P 14 14708.148778 2174.573071 -21957.263983 -18.163317
+V 14 -2480.057299 27845.037256 1105.572908 -.001171
+P 15 24827.433973 -2604.701279 9185.656169 233.185355
+V 15 -10357.245659 6277.063195 28815.664061 .051596
+P 16 17585.591647 -4334.665220 19501.747123 15.265981
+V 16 19479.778724 15081.703354 -14257.071800 -.003840
+P 17 -15013.169123 15713.324128 14903.301794 207.908263
+V 17 -18676.017662 3755.999069 -23762.432635 .195226
+P 18 19137.188653 18174.133892 3907.642853 -15.527215
+V 18 -5392.800715 -1020.393021 31183.650883 -.026767
+P 20 -7453.782255 -19272.200154 -16757.526081 -184.012062
+V 20 18368.570080 10602.178372 -20442.144385 .027557
+P 21 14668.380431 9396.040738 20105.746382 73.107652
+V 21 -23307.105819 10522.443840 11667.929564 .005097
+P 22 22803.159494 10841.533605 -8003.419141 -39.822799
+V 22 6521.733974 8528.094935 29568.053894 .087400
+P 24 -23203.140892 12447.465981 4068.647567 8.252172
+V 24 -5315.824013 -377.720106 -31385.377809 .029928
+P 25 24225.964147 -8550.057273 -6322.052853 61.750344
+V 25 -5777.232327 7079.159485 -30000.270458 .004512
+P 26 -8167.032428 23264.363958 8751.361311 409.608193
+V 26 -1412.392192 -11825.391274 29874.072525 -.125114
+P 27 -12509.458576 -10714.404689 21395.139303 920.069859
+V 27 22766.818347 -12613.169208 6649.904981 .042383
+P 28 -23375.604173 -11124.277798 -6437.007504 21.918461
+V 28 -5332.862765 -6896.604756 30114.272298 .016191
+P 29 -10895.397808 19775.157670 14208.852220 230.071536
+V 29 -571.362061 -17655.620199 24647.735128 .032702
+P 30 16184.265020 18927.246497 -9609.569938 805.699981
+V 30 -11520.077913 -4082.930658 -28019.850143 .142436
+P 31 4349.592060 -25550.568613 4598.980131 41.005372
+V 31 3573.082969 6465.701375 30691.445101 .307441
+* 2004 3 1 11 0 .00000000
+P 1 441.598329 -26521.399098 1176.417001 332.666229
+V 1 2355.092204 -1174.852074 -32100.231791 .018791
+P 3 12277.639400 -15593.225671 17450.325896 90.018553
+V 3 3481.343526 22390.493604 17686.603846 .028076
+P 4 -23894.120692 3385.716520 -11430.300849 -77.115963
+V 4 11814.089208 -8560.395955 -26873.650659 -.091866
+P 5 1303.482824 17378.060990 -20205.893510 19.839448
+V 5 -23149.279822 -10603.834012 -10509.336119 .015627
+P 6 6755.667063 23971.842054 9216.050280 -1.396898
+V 6 -3338.156310 11526.637730 -28232.917631 -.009965
+P 7 -15213.228083 -6233.375399 -20490.298485 611.442505
+V 7 151.303170 -27000.622735 7781.869848 -.078566
+P 8 -20179.702633 -3005.674119 16976.316478 355.059662
+V 8 18759.403775 -11225.330864 19773.347392 -.088235
+P 9 -9326.133879 18995.222410 -16240.354729 -32.439897
+V 9 -18346.947126 8310.707018 21186.084053 -.018697
+P 10 -15817.622662 6258.976658 20425.230242 40.190766
+V 10 -21621.324798 -14294.121267 -12062.826254 .007702
+P 11 6791.941148 -19917.917096 -16133.160930 99.987855
+V 11 18738.288826 -9293.533769 19504.819899 .025291
+P 13 -7711.635280 -22150.225995 12501.410777 -30.895835
+V 13 2181.167643 -15816.537232 -26514.288210 .002312
+P 14 14553.934354 4672.689218 -21668.231453 -18.163471
+V 14 -949.148964 27574.940876 5308.131811 -.001176
+P 15 23778.298122 -1957.951423 11692.862524 233.190244
+V 15 -12893.769389 8135.499080 26819.093011 .051590
+P 16 19307.563036 -3066.114386 18055.493565 15.265884
+V 16 18701.627660 13095.267698 -17836.251595 -.003849
+P 17 -16567.829782 16050.402935 12639.436472 207.925637
+V 17 -15832.634658 3661.142577 -26473.988684 .195230
+P 18 18522.033572 18004.720232 6673.043843 -15.529783
+V 18 -8299.134500 -2676.778862 30182.577107 -.026775
+P 20 -5693.365938 -18309.609615 -18448.620470 -184.008985
+V 20 20712.281179 10714.228760 -17084.305491 .027555
+P 21 12546.468942 10419.352905 20980.510916 73.107948
+V 21 -23760.512310 12202.342776 7741.338842 .005108
+P 22 23285.753161 11502.707932 -5280.585950 -39.814866
+V 22 4141.285311 6201.428980 30851.391425 .087371
+P 24 -23536.920908 12359.085477 1217.283179 8.255260
+V 24 -2118.953013 -1655.566228 -31888.223839 .030192
+P 25 23593.849892 -7819.118555 -8959.101535 61.750273
+V 25 -8211.024803 9200.445474 -28514.453016 .004444
+P 26 -8314.149554 22052.181714 11353.152714 409.596018
+V 26 -1924.062340 -15070.264272 27856.449240 -.125122
+P 27 -10466.316233 -11916.658502 21816.602123 920.073558
+V 27 22559.655117 -14070.979017 2701.056584 .042353
+P 28 -23742.773020 -11646.582699 -3679.762732 21.919817
+V 28 -2772.952794 -4754.913780 31070.629097 .016183
+P 29 -10987.036474 18069.309412 16300.316468 230.074607
+V 29 -1519.297423 -20189.698699 21764.732216 .032691
+P 30 15021.178245 18514.397061 -12042.821160 805.712518
+V 30 -14318.548505 -5019.388212 -25976.627189 .142427
+P 31 4685.960164 -24820.436700 7312.353034 41.032883
+V 31 3964.521532 9735.250810 29515.998296 .307401
+* 2004 3 1 11 15 .00000000
+P 1 650.223642 -26468.966223 -1714.436760 332.665073
+V 1 2352.936315 2340.612104 -32048.448776 .017990
+P 3 12644.940544 -13502.743830 18885.114672 90.019752
+V 3 4707.287958 23986.304322 14151.724827 .028226
+P 4 -22736.599542 2521.599982 -13745.247481 -77.124099
+V 4 13836.549117 -10666.345117 -24496.166579 -.091877
+P 5 -845.055868 16455.088113 -20977.546533 19.840507
+V 5 -24529.116345 -9855.238216 -6613.627443 .015598
+P 6 6474.181107 24870.787117 6602.982711 -1.398001
+V 6 -2978.895134 8418.536579 -29752.311384 -.009922
+P 7 -15254.457347 -8614.480526 -19609.994809 611.436170
+V 7 -1042.222628 -25827.947987 11749.572341 -.078582
+P 8 -18434.428785 -4107.539191 18604.244810 355.052042
+V 8 19940.055008 -13259.493784 16348.707453 -.088314
+P 9 -10866.250961 19724.195086 -14200.807427 -32.441534
+V 9 -15850.501304 7813.216907 24075.556537 -.018615
+P 10 -17738.179030 5061.587066 19167.501637 40.191310
+V 10 -20969.501479 -12299.859247 -15845.250559 .007956
+P 11 8376.783479 -20729.205916 -14243.250207 99.990180
+V 11 16455.753046 -8665.003704 22432.967309 .025295
+P 13 -7553.610321 -23439.237353 10014.622915 -30.895402
+V 13 1393.008714 -12780.663298 -28668.197118 .002323
+P 14 14535.507584 7121.362216 -21004.554148 -18.163760
+V 14 522.036130 26748.809473 9418.944732 -.001181
+P 15 22518.833786 -1134.217571 13999.027652 233.194592
+V 15 -15021.519843 10196.704855 24353.962463 .051537
+P 16 20936.721435 -1978.483864 16300.334480 15.265389
+V 16 17418.655972 11076.576890 -21111.846333 -.003859
+P 17 -17857.401663 16358.747329 10151.667254 207.943755
+V 17 -12801.408720 3114.192860 -28729.691057 .195232
+P 18 17640.782811 17704.963064 9325.113892 -15.532207
+V 18 -11290.680895 -3912.105846 28668.681297 -.026779
+P 20 -3733.972677 -17356.518371 -19823.971704 -184.006448
+V 20 22776.234292 10397.516395 -13435.642033 .027553
+P 21 10406.821022 11588.324596 21494.805837 73.108112
+V 21 -23703.421394 13744.423044 3668.804777 .005116
+P 22 23538.538081 11965.546694 -2466.266327 -39.807102
+V 22 1426.202204 4132.862577 31598.454651 .087349
+P 24 -23589.085181 12137.522172 -1654.878795 8.258565
+V 24 927.038686 -3330.880202 -31846.239111 .030392
+P 25 22759.428867 -6888.586753 -11439.485831 61.751326
+V 25 -10263.683985 11501.062386 -26523.346038 .004463
+P 26 -8524.796960 20560.703264 13750.462954 409.584512
+V 26 -2816.238091 -18015.938441 25337.190191 -.125125
+P 27 -8462.043460 -13240.123205 21879.577211 920.076964
+V 27 21908.888873 -15293.747742 -1306.138445 .042323
+P 28 -23866.165284 -11989.197023 -860.150430 21.921138
+V 28 72.256090 -2913.911810 31498.742372 .016178
+P 29 -11177.653504 16153.268610 18115.671856 230.077620
+V 29 -2759.552830 -22315.686978 18520.830873 .032679
+P 30 13609.673999 18036.726423 -14272.293397 805.725861
+V 30 -17025.484683 -5524.107768 -23497.987926 .142421
+P 31 5074.060473 -23804.005781 9896.027720 41.060319
+V 31 4717.198803 12812.272362 27813.168614 .307359
+* 2004 3 1 11 30 .00000000
+P 1 877.990905 -26101.519581 -4575.673537 332.666014
+V 1 2778.937508 5808.429829 -31442.642996 .017750
+P 3 13128.513254 -11290.342925 19990.349709 90.022541
+V 3 6051.769694 25094.293903 10374.094455 .028571
+P 4 -21417.100922 1462.716336 -15826.999201 -77.132728
+V 4 15407.596371 -12874.009260 -21698.527572 -.091893
+P 5 -3098.894230 15612.387940 -21392.854462 19.841762
+V 5 -25480.621562 -8831.325801 -2601.594553 .015639
+P 6 6207.978333 25482.880775 3875.957187 -1.398745
+V 6 -3001.977792 5167.345679 -30761.237250 -.009841
+P 7 -15395.092676 -10867.795385 -18381.985813 611.429243
+V 7 -2044.868997 -24168.814655 15497.104958 -.078600
+P 8 -16605.856117 -5390.770083 19910.227180 355.044238
+V 8 20609.223489 -15239.860496 12629.050947 -.088404
+P 9 -12175.628202 20387.832353 -11918.623156 -32.443879
+V 9 -13234.304275 6857.363011 26569.589427 -.018520
+P 10 -19576.316830 4046.197714 17581.476814 40.193563
+V 10 -19791.104639 -10265.702245 -19348.126213 .008198
+P 11 9750.816927 -21464.906910 -12106.814361 99.992447
+V 11 14067.944954 -7613.348886 24975.087961 .025298
+P 13 -7449.002032 -24443.565480 7355.945266 -30.894981
+V 13 1000.654312 -9505.721128 -30328.717890 .002333
+P 14 14643.390684 9471.515157 -19977.717557 -18.164236
+V 14 1843.095450 25391.293802 13366.644577 -.001183
+P 15 21088.211196 -118.996747 16063.695371 233.199451
+V 15 -16690.284321 12375.919482 21459.751122 .051667
+P 16 22428.283988 -1070.565423 14266.157314 15.264788
+V 16 15648.382844 9116.576563 -24027.773656 -.003867
+P 17 -18869.449720 16597.083819 7483.161646 207.962591
+V 17 -9682.475030 2105.466704 -30483.378892 .195228
+P 18 16489.973192 17313.791465 11818.767291 -15.534859
+V 18 -14273.427488 -4706.364377 26667.073055 -.026782
+P 20 -1604.429680 -16449.537864 -20860.176040 -184.004068
+V 20 24481.034154 9698.581720 -9558.432441 .027549
+P 21 8294.525836 12886.594856 21638.595956 73.108532
+V 21 -23157.809213 15061.591925 -480.319790 .005131
+P 22 23534.648103 12256.379571 390.709419 -39.799213
+V 22 -1549.232926 2388.997274 31798.284145 .087330
+P 24 -23377.226086 11749.004676 -4498.588790 8.262018
+V 24 3734.282407 -5356.396245 -31256.195563 .030506
+P 25 21759.267392 -5746.103912 -13719.090748 61.750427
+V 25 -11887.561862 13895.557869 -24058.787401 .004416
+P 26 -8830.820724 18821.002885 15900.222800 409.573544
+V 26 -4032.837093 -20572.429997 22364.092563 -.125130
+P 27 -6534.772585 -14660.250224 21581.630882 920.080779
+V 27 20856.688847 -16207.398235 -5308.837690 .042295
+P 28 -23723.537852 -12181.783243 1974.018746 21.922942
+V 28 3124.815779 -1428.924544 31394.076027 .016173
+P 29 -11490.328271 14066.477424 19624.901650 230.080811
+V 29 -4218.564423 -23975.817209 14971.593696 .032663
+P 30 11961.993078 17532.642391 -16260.667935 805.737707
+V 30 -19552.515629 -5609.901061 -20626.520132 .142415
+P 31 5544.672469 -22522.709778 12303.750114 41.087864
+V 31 5789.902955 15606.895810 25611.568643 .307322
+* 2004 3 1 11 45 .00000000
+P 1 1162.737925 -25427.907474 -7357.730251 332.667999
+V 1 3614.498752 9127.796250 -30291.081691 .017392
+P 3 13735.339430 -9001.149505 20747.184205 90.026327
+V 3 7432.182615 25690.270870 6420.974259 .028932
+P 4 -19977.613530 203.918776 -17639.732702 -77.140672
+V 4 16499.854500 -15093.551011 -18526.110234 -.091905
+P 5 -5417.365522 14871.539315 -21444.356464 19.843296
+V 5 -25959.243796 -7604.666827 1459.634323 .015715
+P 6 5921.975013 25799.407325 1081.884440 -1.400851
+V 6 -3419.465007 1866.143227 -31239.663429 -.009865
+P 7 -15614.632217 -12951.937391 -16829.122764 611.422069
+V 7 -2784.535107 -22079.169916 18957.960363 -.078619
+P 8 -14740.076317 -6846.261926 20870.513670 355.036347
+V 8 20768.763969 -17071.918280 8677.555161 -.088494
+P 9 -13247.551137 20944.766161 -9431.579944 -32.445401
+V 9 -10588.952340 5443.657659 28620.553637 -.018379
+P 10 -21285.280181 3212.099173 15694.978275 40.193735
+V 10 -18103.392951 -8286.767056 -22513.224984 .008348
+P 11 10908.441489 -22087.070420 -9760.670384 99.994591
+V 11 11661.008662 -6144.320169 27086.261211 .025301
+P 13 -7360.692233 -25145.977737 4571.095720 -30.894499
+V 13 1034.351643 -6087.941199 -31468.129411 .002338
+P 14 14860.231446 11677.130636 -18605.510371 -18.164534
+V 14 2930.039554 23545.515865 17082.734999 -.001184
+P 15 19529.366245 1094.227952 17850.328873 233.203195
+V 15 -17866.873874 14581.003344 18183.983570 .051681
+P 16 23739.858127 -333.130193 11987.636537 15.264690
+V 16 13426.265680 7301.978130 -26533.888928 -.003875
+P 17 -19600.701386 16724.172858 4680.841583 207.979709
+V 17 -6578.620916 645.475288 -31697.991075 .195223
+P 18 15074.698007 16871.128451 14111.542034 -15.537009
+V 18 -17151.825954 -5057.530158 24210.875759 -.026788
+P 20 659.791028 -15620.420044 -21539.611329 -184.001528
+V 20 25758.882797 8678.501180 -5518.700585 .027545
+P 21 6251.909156 14290.245560 21408.197385 73.109116
+V 21 -22162.925381 16073.582336 -4634.444877 .005144
+P 22 23254.408191 12406.874111 3240.959308 -39.791733
+V 22 -4700.011628 1021.489828 31449.573970 .087309
+P 24 -22926.440244 11164.746811 -7264.728093 8.265021
+V 24 6224.420494 -7668.910487 -30124.270422 .030654
+P 25 20633.472372 -4387.332276 -15757.090021 61.750195
+V 25 -13051.901369 16291.744086 -21161.941087 .004515
+P 26 -9258.314991 16871.617749 17764.083392 409.562639
+V 26 -5502.601395 -22664.446299 18994.040307 -.125131
+P 27 -4718.229491 -16146.233561 20926.037158 920.084444
+V 27 19458.537361 -16747.402193 -9243.164941 .042265
+P 28 -23300.061880 -12258.292669 4774.911515 21.924526
+V 28 6298.414293 -339.668870 30760.636853 .016173
+P 29 -11941.079387 11852.863757 20803.192805 230.084264
+V 29 -5813.507427 -25128.447820 11176.938466 .032644
+P 30 10098.126164 17038.645552 -17974.733964 805.750259
+V 30 -21816.312579 -5306.170873 -17410.797002 .142410
+P 31 6124.159152 -21005.643904 14492.296612 41.115655
+V 31 7126.034031 18039.321740 22949.833898 .307280
+* 2004 3 1 12 0 .00000000
+P 1 1539.798094 -24465.850336 -10012.225490 332.668852
+V 1 4822.727617 12202.984629 -28611.742673 .017146
+P 3 14464.833832 -6681.654356 21142.960666 90.029149
+V 3 8763.557932 25768.183775 2362.420457 .029048
+P 4 -18461.800155 -1251.694717 -19152.006949 -77.149189
+V 4 17103.610687 -17232.166763 -15030.812578 -.091921
+P 5 -7756.489975 14247.237869 -21130.692261 19.845011
+V 5 -25936.160058 -6255.151775 5501.793370 .015733
+P 6 5580.789204 25820.132121 -1730.932392 -1.401807
+V 6 -4225.869484 -1390.271926 -31176.754990 -.009765
+P 7 -15886.596874 -14831.233492 -14979.965488 611.414857
+V 7 -3200.951040 -19629.489641 22071.984147 -.078642
+P 8 -12882.167165 -8456.521727 21467.272797 355.028333
+V 8 20439.291551 -18664.410972 4562.380872 -.088581
+P 9 -14083.489323 21354.509201 -6781.454776 -32.447503
+V 9 -8005.137138 3591.185757 30187.397389 -.018276
+P 10 -22820.698732 2550.194379 13540.799581 40.195529
+V 10 -15941.950558 -6453.729927 -25288.440481 .008516
+P 11 11851.771658 -22559.024202 -7245.346875 99.996841
+V 11 9319.675656 -4280.492501 28729.059898 .025306
+P 13 -7249.663053 -25538.128672 1707.888366 -30.894450
+V 13 1505.929902 -2627.972327 -32067.628553 .002344
+P 14 15161.536669 13696.844283 -16911.710930 -18.164527
+V 14 3708.710230 21271.423654 20502.805980 -.001186
+P 15 17887.402716 2503.481397 19327.006776 233.208097
+V 15 -18536.469540 16716.001387 14581.576093 .051922
+P 16 24833.007890 250.536776 9503.659728 15.264438
+V 16 10804.520113 5711.885237 -28586.848141 -.003884
+P 17 -20057.096992 16700.632661 1794.510769 207.997367
+V 17 -3591.081093 -1235.087166 -32346.724171 .195218
+P 18 13408.587336 16416.267900 16164.300058 -15.538854
+V 18 -19832.302529 -4981.549823 21340.741274 -.026791
+P 20 3017.736089 -14894.857318 -21850.725486 -183.998759
+V 20 26556.159144 7410.399510 -1385.128300 .027542
+P 21 4317.038302 15768.568011 20806.424189 73.109808
+V 21 -20773.858095 16710.292599 -8720.974176 .005155
+P 22 22686.156280 12452.602891 6035.414177 -39.784188
+V 22 -7933.642670 65.210265 30560.545947 .087296
+P 24 -22268.333351 10362.287883 -9905.164046 8.266802
+V 24 8331.637255 -10191.478861 -28466.212435 .030633
+P 25 19424.107463 -2816.397335 -17516.759944 61.750701
+V 25 -13744.131484 18594.371145 -17882.689538 .004680
+P 26 -9826.395498 14757.083936 19309.172177 409.551785
+V 26 -7142.294774 -24234.410232 15291.591835 -.125138
+P 27 -3040.615137 -17661.986230 19921.837385 920.087636
+V 27 17781.382697 -16861.333304 -13044.966671 .042248
+P 28 -22588.936629 -12255.498205 7495.432139 21.925883
+V 28 9501.498213 331.032940 29610.764752 .016170
+P 29 -12538.174838 9559.325109 21631.285326 230.087056
+V 29 -7455.528079 -25749.400517 7200.189788 .032623
+P 30 8045.223099 16587.890190 -19385.892578 805.763218
+V 30 -23741.589837 -4657.613672 -13904.598394 .142405
+P 31 6833.182049 -19288.508007 16422.346116 41.143424
+V 31 8655.935154 20043.081771 19875.909552 .307232
+* 2004 3 1 12 15 .00000000
+P 1 2040.409178 -23241.317498 -12492.826746 332.671059
+V 1 6349.788693 14947.000816 -26432.132895 .017046
+P 3 15308.789479 -4378.071040 21171.402062 90.031920
+V 3 9962.076092 25340.196656 -1730.059777 .029056
+P 4 -16913.387318 -2892.671885 -20337.318905 -77.157087
+V 4 17227.164437 -19197.602378 -11270.341582 -.091940
+P 5 -10070.448702 13746.775980 -20456.657037 19.846366
+V 5 -25399.474386 -4866.868082 9456.539790 .015728
+P 6 5150.323902 25553.295807 -4513.643394 -1.404653
+V 6 -5398.189905 -4508.956796 -30571.243420 -.009603
+P 7 -16179.709527 -16476.897070 -12868.161247 611.407671
+V 7 -3248.118279 -16901.794213 24786.434251 -.078664
+P 8 -11074.532001 -10196.131114 21688.988428 355.019962
+V 8 19659.436541 -19933.087344 355.501342 -.088665
+P 9 -14692.947426 21579.122257 -4013.382329 -32.448258
+V 9 -5570.138607 1337.388363 31236.733753 -.018127
+P 10 -24142.181448 2043.556112 11156.120254 40.195777
+V 10 -13359.345811 -4849.366523 -27628.525761 .008510
+P 11 12590.360099 -22846.861058 -4604.375982 99.999484
+V 11 7123.969849 -2060.564455 29874.274196 .025315
+P 13 -7076.681212 -25620.790294 -1184.582497 -30.894218
+V 13 2408.329479 772.851318 -32117.601860 .002354
+P 14 15516.696602 15495.360377 -14925.667522 -18.164566
+V 14 4117.807376 18643.496110 23567.673385 -.001187
+P 15 16207.904646 4098.122460 20467.052138 233.213929
+V 15 -18703.263200 18684.934453 10714.001368 .051939
+P 16 25674.684854 703.810232 6856.680354 15.263984
+V 16 7850.299898 4414.705827 -30150.871516 -.003897
+P 17 -20253.459169 16490.720699 -1124.111801 208.014926
+V 17 -815.310072 -3486.274667 -32413.949325 .195208
+P 18 11513.473957 15986.282952 17941.878845 -15.541672
+V 18 -22226.713936 -4511.657468 18104.255115 -.026800
+P 20 5424.343287 -14291.527412 -21788.225387 -183.996074
+V 20 26835.470275 5976.512595 2772.067590 .027536
+P 21 2522.385661 17285.116012 19842.620411 73.110028
+V 21 -19059.453723 16914.789654 -12667.617698 .005168
+P 22 21826.760558 12431.475226 8726.163100 -39.776430
+V 22 -11153.654208 -462.917868 29148.654309 .087280
+P 24 -21439.770860 9326.607754 -12373.612387 8.270114
+V 24 10005.254437 -12836.211098 -26307.330501 .030736
+P 25 18173.525936 -1045.989723 -18966.227585 61.752816
+V 25 -13970.413063 20709.007913 -14278.784149 .004823
+P 26 -10546.285536 12526.236330 20508.712623 409.540441
+V 26 -8860.418833 -25244.663054 11327.376074 -.125147
+P 27 -1523.673247 -19167.332227 18583.827937 920.092541
+V 27 15901.356830 -16511.088647 -16650.655026 .042234
+P 28 -21591.714393 -12211.439295 10089.959408 21.927798
+V 28 12640.551654 577.914928 27964.829330 .016171
+P 29 -13281.742139 7234.120220 22095.735965 230.089518
+V 29 -9053.159201 -25832.668742 3107.124961 .032601
+P 30 5836.744895 16208.886701 -20470.588692 805.775764
+V 30 -25263.805365 -3722.382649 -10166.089431 .142398
+P 31 7685.654137 -17412.280265 18059.275765 41.171023
+V 31 10299.828981 21567.745589 16446.071828 .307176
+* 2004 3 1 12 30 .00000000
+P 1 2690.275915 -21787.587820 -14756.092570 332.673667
+V 1 8126.957440 17284.928975 -23788.912125 .016840
+P 3 16251.636945 -2134.720192 20832.681924 90.034961
+V 3 10948.506234 24436.043833 -5784.849544 .029102
+P 4 -15374.553450 -4699.415582 -21174.590012 -77.165493
+V 4 16896.508959 -20901.700676 -7307.387300 -.091963
+P 5 -12313.138338 13369.812707 -19433.159561 19.848790
+V 5 -24354.805416 -3524.798147 13256.542001 .015708
+P 6 4599.314943 25015.286956 -7217.722759 -1.405346
+V 6 -6896.657813 -7402.370231 -29431.614905 -.009385
+P 7 -16459.265042 -17867.916939 -10531.738582 611.400720
+V 7 -2896.098511 -13986.259740 27056.809326 -.078683
+P 8 -9355.339749 -12032.538172 21530.745048 355.012110
+V 8 18484.358803 -20804.238527 -3868.604166 -.088743
+P 9 -15093.000846 21584.828334 -1175.118719 -32.450511
+V 9 -3364.344114 -1262.905954 31743.856308 -.018007
+P 10 -25214.761556 1668.281214 8581.859892 40.197218
+V 10 -10423.176633 -3545.436090 -29495.707959 .008520
+P 11 13140.632219 -22920.833971 -1883.526915 100.001551
+V 11 5146.097843 461.989990 30501.483096 .025320
+P 13 -6803.991762 -25403.744858 -4056.775942 -30.893583
+V 13 3715.860541 4016.254014 -31617.745062 .002360
+P 14 15890.259570 17044.635056 -12681.780357 -18.165212
+V 14 4111.404470 15747.889482 26224.420792 -.001188
+P 15 14535.224591 5859.016041 21249.578312 233.218891
+V 15 -18390.346573 20395.669151 6648.277334 .051895
+P 16 26238.468748 1055.637982 4092.006854 15.263552
+V 16 4643.300317 3465.468685 -31198.393081 -.003905
+P 17 -20212.788660 16063.990280 -4022.427879 208.032716
+V 17 1663.058248 -6040.725680 -31895.832586 .195203
+P 18 9418.755279 15614.525357 19413.684706 -15.544389
+V 18 -24255.624681 -3697.043079 14555.235986 -.026799
+P 20 7831.972055 -13821.418680 -21353.163657 -183.993005
+V 20 26577.099544 4464.911208 6882.278763 .027528
+P 21 893.706072 18799.009027 18532.571194 73.110415
+V 21 -17099.657006 16645.841928 -16403.761379 .005182
+P 22 20681.815124 12382.096588 11267.265183 -39.768328
+V 22 -14263.214166 -564.363145 27240.136610 .087271
+P 24 -20481.419220 8050.966909 -14626.489878 8.272716
+V 24 11211.772564 -15507.568069 -23682.286962 .030883
+P 25 16922.689927 902.885182 -20079.132083 61.752359
+V 25 -13755.391040 22545.959119 -10414.766118 .004869
+P 26 -11420.752651 10230.350852 21342.493501 409.529125
+V 26 -10561.256325 -25678.753710 7176.365350 -.125157
+P 27 -181.981070 -20619.380160 16932.467922 920.095778
+V 27 13901.108599 -15674.689681 -19998.142861 .042226
+P 28 -20318.327479 -12163.835956 12515.052503 21.929123
+V 28 15623.419042 413.294067 25850.843256 .016166
+P 29 -14163.689759 4925.225735 22189.096054 230.092465
+V 29 -10515.801752 -25390.485051 -1034.978818 .032584
+P 30 3511.389480 15924.391134 -21210.667413 805.787782
+V 30 -26331.473561 -2569.779311 -6256.963809 .142392
+P 31 8687.979454 -15421.677307 19373.857678 41.198758
+V 31 11971.225801 22580.939797 12723.712531 .307124
+* 2004 3 1 12 45 .00000000
+P 1 3508.346232 -20144.028520 -16762.272057 332.674829
+V 1 10073.302619 19156.826205 -20727.321302 .016477
+P 3 17271.004648 7.496896 20133.374977 90.037663
+V 3 11651.433726 23101.701817 -9731.530891 .029057
+P 4 -13884.375951 -6644.708876 -21648.573340 -77.173687
+V 4 16154.343456 -22263.850851 -3208.686431 -.091988
+P 5 -14439.749750 13108.444596 -18077.081577 19.848879
+V 5 -22825.232663 -2311.456919 16836.583319 .015654
+P 6 3900.780291 24230.002428 -9795.847841 -1.405626
+V 6 -8666.181126 -9991.741120 -27776.101822 -.009106
+P 7 -16688.629911 -18991.629051 -8012.337248 611.394485
+V 7 -2132.096623 -10977.585867 28847.440624 -.078706
+P 8 -7757.130542 -13927.152170 20994.390256 355.004039
+V 8 16983.564804 -21217.867690 -8034.367060 -.088814
+P 9 -15307.524656 21343.505616 1683.781165 -32.452339
+V 9 -1457.943117 -4139.204778 31693.635519 -.017851
+P 10 -26010.140809 1394.607073 5861.982678 40.197859
+V 10 -7213.579203 -2599.986070 -30860.167026 .008561
+P 11 13525.053839 -22756.602633 870.004525 100.003686
+V 11 3447.651642 3220.866499 30599.458284 .025326
+P 13 -6396.956317 -24905.345452 -6859.541939 -30.893381
+V 13 5385.177585 7010.632315 -30577.031158 .002368
+P 14 16243.406276 18324.781627 -10218.894928 -18.165417
+V 14 3660.853561 12679.138437 28427.323901 -.001189
+P 15 12910.816463 7759.050821 21659.936334 233.222550
+V 15 -17638.832315 21763.706320 2455.792753 .051814
+P 16 26505.569587 1339.234650 1257.038907 15.263490
+V 16 1272.871322 2903.649586 -31710.582324 -.003917
+P 17 -19965.212689 15396.743655 -6848.036815 208.050009
+V 17 3771.854367 -8816.335683 -30800.616107 .195192
+P 18 7160.472977 15329.272217 20554.218444 -15.546997
+V 18 -25851.286400 -2600.916033 10752.934440 -.026804
+P 20 10192.034969 -13487.461046 -20552.922181 -183.989797
+V 20 25779.798482 2966.007383 10875.654525 .027520
+P 21 -550.823653 20266.437559 16898.289197 73.110651
+V 21 -14982.365881 15879.862147 -19861.863080 .005196
+P 22 19265.509871 12342.120125 13615.514699 -39.760989
+V 22 -17168.727975 -258.714573 24869.428986 .087260
+P 24 -19436.132199 6537.431672 -16623.739007 8.275825
+V 24 11936.254907 -18106.042985 -20634.681688 .030891
+P 25 15709.548087 3001.504991 -20835.179327 61.754180
+V 25 -13141.146705 24024.039377 -6360.681220 .004941
+P 26 -12443.916268 7921.213478 21797.179844 409.517991
+V 26 -12149.038844 -25541.775980 2916.095942 -.125162
+P 27 977.504849 -21974.036828 14993.698597 920.099676
+V 27 11866.819540 -14347.577588 -23027.870174 .042218
+P 28 -18786.818406 -12148.528608 14730.118649 21.930320
+V 28 18362.560858 -133.529932 23304.000957 .016162
+P 29 -15167.940445 2678.715572 21910.003827 230.095124
+V 29 -11757.156405 -24452.754061 -5158.291386 .032569
+P 30 1111.829693 15750.520679 -21593.651928 805.801417
+V 30 -26908.015972 -1277.554487 -2241.557336 .142389
+P 31 9838.614597 -13363.467542 20342.837108 41.226461
+V 31 13580.643151 23069.578674 8777.927095 .307068
+* 2004 3 1 13 0 .00000000
+P 1 4505.853601 -18354.638559 -18476.044274 332.677325
+V 1 12098.895076 20520.039844 -17300.421217 .016149
+P 3 18338.555270 2012.476886 19086.292483 90.041567
+V 3 12010.148101 21397.443762 -13502.134041 .028962
+P 4 -12477.396465 -8694.541370 -21750.171694 -77.181782
+V 4 15058.439148 -23214.208191 956.018778 -.092013
+P 5 -16408.312733 12947.577116 -16411.037696 19.848665
+V 5 -20850.592554 -1303.593122 20134.666673 .015682
+P 6 3033.309536 23227.918055 -12202.768202 -1.404805
+V 6 -10638.436714 -12210.114917 -25632.467388 -.008871
+P 7 -16830.806638 -19843.956592 -5354.395354 611.387318
+V 7 -960.819078 -7971.282922 30131.852649 -.078738
+P 8 -6305.646348 -15836.701519 20088.566008 354.995870
+V 8 15238.104760 -21130.344747 -12066.623977 -.088890
+P 9 -15366.138923 20833.992329 4512.859761 -32.452776
+V 9 92.047932 -7207.797101 31081.246017 -.017635
+P 10 -26507.689362 1188.244150 3042.765020 40.199291
+V 10 -3820.310818 -2055.261817 -31700.399777 .008576
+P 11 13771.065706 -22336.280760 3608.434793 100.005824
+V 11 2077.238972 6139.395809 30166.389290 .025333
+P 13 -5825.572570 -24151.762343 -9544.949289 -30.893750
+V 13 7356.930143 9674.404098 -29013.530055 .002370
+P 14 16535.565071 19324.663908 -7579.618111 -18.165489
+V 14 2756.005026 9536.542911 30138.640369 -.001188
+P 15 11371.681456 9763.988280 21690.049974 233.227139
+V 15 -16506.225340 22715.724132 -1789.010582 .051834
+P 16 26465.551833 1590.606272 -1599.537000 15.262967
+V 16 -2165.253633 2751.594441 -31677.725288 -.003925
+P 17 -19546.630717 14473.211155 -9549.821457 208.067747
+V 17 5455.426597 -11719.645658 -29148.535149 .195184
+P 18 4780.141972 15152.571945 21343.524570 -15.549201
+V 18 -26960.208483 -1298.028985 6761.136465 -.026804
+P 20 12456.669894 -13284.476263 -19401.092500 -183.987451
+V 20 24460.892630 1568.973509 14684.241656 .027505
+P 21 -1801.164831 21642.313025 14967.675505 73.111360
+V 21 -12799.921183 14612.160553 -22978.839368 .005204
+P 22 17600.182622 12346.654242 15731.148204 -39.753143
+V 22 -19783.278222 417.282886 22078.465006 .087253
+P 24 -18347.245371 4797.055978 -18329.605540 8.278240
+V 24 12182.974907 -20532.082700 -17216.419588 .030833
+P 25 14567.542372 5214.354682 -21220.572943 61.753845
+V 25 -12185.384986 25074.026085 -2190.622821 .004961
+P 26 -13601.428499 5649.201339 21866.463982 409.506491
+V 26 -13532.037196 -24859.768033 -1375.095581 -.125169
+P 27 1955.623333 -23187.611653 12798.666569 920.102486
+V 27 9884.988103 -12543.324482 -25683.913578 .042215
+P 28 -17022.784041 -12197.999338 16698.036139 21.931924
+V 28 20778.135949 -1017.474781 20366.149223 .016159
+P 29 -16270.966951 537.218905 21263.191894 230.098250
+V 29 -12698.492472 -23065.875891 -9195.367997 .032553
+P 30 -1316.692303 15696.126250 -21612.940419 805.814192
+V 30 -26973.090102 71.089054 1814.064242 .142381
+P 31 11127.972519 -11284.711481 20949.376537 41.254448
+V 31 15039.459146 23040.249043 4681.955976 .307010
+* 2004 3 1 13 15 .00000000
+P 1 5685.667100 -16466.413472 -19867.181069 332.679169
+V 1 14108.415613 21350.843579 -13568.153427 .015667
+P 3 19421.062602 3850.093321 17710.208705 90.045425
+V 3 11977.081813 19395.365047 -17032.304149 .028615
+P 4 -11182.360629 -10809.210081 -21476.657651 -77.189667
+V 4 13679.406445 -23696.556195 5115.116753 -.092039
+P 5 -18181.148486 12865.585470 -14463.036454 19.849823
+V 5 -18486.138579 -569.078891 23093.103336 .015811
+P 6 1982.138765 22044.904670 -14396.145796 -1.405155
+V 6 -12734.534182 -14004.944746 -23037.579795 -.008805
+P 7 -16849.998287 -20429.318111 -2604.313958 611.379408
+V 7 595.877234 -5060.034175 30892.906758 -.078770
+P 8 -5018.937813 -17714.802523 18828.603243 354.987699
+V 8 13337.258654 -20516.417673 -15892.150861 -.088971
+P 9 -15302.906753 20043.141702 7261.708936 -32.453540
+V 9 1244.279070 -10374.847056 29912.675999 -.017655
+P 10 -26695.167498 1011.873487 172.033506 40.200486
+V 10 -339.495658 -1936.128360 -32003.494918 .008578
+P 11 13909.827638 -21649.241782 6284.243404 100.008222
+V 11 1068.638823 9133.430387 29209.923528 .025338
+P 13 -5065.817247 -23175.944495 -12067.090822 -30.893266
+V 13 9558.025042 11938.968750 -26954.084720 .002377
+P 14 16726.104374 20042.155525 -4809.569779 -18.165566
+V 14 1405.695620 6420.383773 31329.250825 -.001186
+P 15 9948.992462 11833.613493 21338.626744 233.231379
+V 15 -15064.096992 23192.716849 -6010.071555 .051831
+P 16 26116.751393 1846.962289 -4428.579581 15.262281
+V 16 -5572.490719 3013.605021 -31099.454451 -.003936
+P 17 -18997.118178 13286.399283 -12079.009925 208.085254
+V 17 6676.940482 -14649.780844 -26971.366037 .195172
+P 18 2323.370250 15099.334204 21767.555829 -15.551532
+V 18 -27545.221567 128.252967 2647.179269 -.026809
+P 20 14580.390430 -13199.449419 -17917.254597 -183.985623
+V 20 22655.695947 358.206953 18243.099975 .027489
+P 21 -2855.649832 22881.996568 12774.057608 73.111991
+V 21 -10645.372686 12857.436649 -25697.403719 .005213
+P 22 15715.573594 12426.786319 17578.484050 -39.745161
+V 22 -22029.781028 1411.336185 18915.877496 .087240
+P 24 -17256.847209 2849.705464 -19713.349509 8.281545
+V 24 11975.284720 -22690.089739 -13486.866062 .030855
+P 25 13524.309750 7500.340942 -21228.308022 61.754448
+V 25 -10958.931486 25641.625732 2018.853283 .005000
+P 26 -14871.012474 3461.457897 21551.060880 409.494727
+V 26 -14626.387654 -23678.237210 -5619.759113 -.125179
+P 27 2760.887133 -24218.456296 10383.344024 920.106264
+V 27 8039.085739 -10293.694408 -27915.161412 .042213
+P 28 -15058.553932 -12340.026528 18385.726829 21.933305
+V 28 22800.810818 -2179.432166 17085.194277 .016158
+P 29 -17442.610614 -1461.489992 20259.410696 230.100514
+V 29 -13271.648276 -21291.001858 -13080.077578 .032535
+P 30 -3727.864943 15762.444519 -21267.919864 805.827608
+V 30 -26523.352180 1390.692257 5843.039859 .142373
+P 31 12538.672180 -9231.006147 21183.354966 41.282267
+V 31 16263.716047 22518.736534 511.535441 .306950
+* 2004 3 1 13 30 .00000000
+P 1 7041.978692 -14527.596536 -20911.118004 332.679914
+V 1 16005.014427 21645.316712 -9596.241415 .015221
+P 3 20481.684260 5497.133031 16029.486799 90.046837
+V 3 11519.711148 17176.487326 -20262.366701 .028103
+P 4 -10021.183086 -12944.657290 -20831.787550 -77.197841
+V 4 12097.935775 -23670.691308 9196.344167 -.092064
+P 5 -19726.174244 12835.242254 -12266.044812 19.851318
+V 5 -15800.603759 -164.109919 25659.566192 .016021
+P 6 739.963828 20720.835869 -16337.347459 -1.405891
+V 6 -14868.145286 -15340.110782 -20036.779307 -.008754
+P 7 -16713.111041 -20760.217035 190.382277 611.372838
+V 7 2500.001373 -2330.275109 31122.748765 -.078801
+P 8 -3906.787313 -19513.676259 17236.278285 354.979241
+V 8 11374.848097 -19370.477871 -19441.193406 -.089055
+P 9 -15154.834884 18966.573380 9880.956468 -32.454931
+V 9 1974.940323 -13540.023319 28204.974999 -.017731
+P 10 -26569.143448 826.756024 -2701.612888 40.200678
+V 10 3129.845243 -2249.195604 -31765.183722 .008357
+P 11 13974.823242 -20692.650120 8851.018949 100.010506
+V 11 439.557805 12114.535136 27747.019848 .025345
+P 13 -4100.761089 -22016.336321 -14382.853245 -30.893034
+V 13 11904.413648 13751.169568 -24433.850570 .002383
+P 14 16776.035316 20484.056516 -1956.583848 -18.165616
+V 14 -362.512406 3428.116599 31979.140170 -.001190
+P 15 8666.956025 13923.144673 20611.235914 233.234599
+V 15 -13395.149296 23152.582849 -10131.225110 .051942
+P 16 25466.367845 2145.076706 -7181.338307 15.261692
+V 16 -8851.066724 3675.727856 -29984.818936 -.003945
+P 17 -18359.161930 11838.566937 -14390.180632 208.102782
+V 17 7419.803386 -17502.739748 -24311.621483 .195159
+P 18 -161.681064 15176.700278 21818.445531 -15.553890
+V 18 -27586.951459 1589.234695 -1519.111640 -.026812
+P 20 16521.653178 -13212.111600 -16126.656951 -183.983316
+V 20 20416.253103 -590.027705 21491.378317 .027473
+P 21 -3720.874761 23943.036241 10355.610678 73.112490
+V 21 -8608.678972 10649.469980 -27967.314722 .005220
+P 22 13647.812749 12608.277495 19126.486394 -39.737083
+V 22 -23843.748224 2657.784000 15436.122127 .087230
+P 24 -16204.097911 723.524137 -20749.870889 8.283633
+V 24 11354.682812 -24492.332266 -9511.795838 .030827
+P 25 12600.636148 9814.246123 -20858.318298 61.753996
+V 25 -9542.651318 25689.810440 6190.391535 .005143
+P 26 -16223.326943 1400.236490 20858.557078 409.483298
+V 26 -15359.491179 -22059.913655 -9742.890008 -.125188
+P 27 3409.059263 -25028.578601 7788.041228 920.109966
+V 27 6406.205802 -7648.005615 -29676.527114 .042212
+P 28 -12932.131527 -12596.520452 19764.672516 21.934895
+V 28 24374.205119 -3548.521431 13514.447988 .016160
+P 29 -18647.154186 -3285.721477 18915.268930 230.103515
+V 29 -13421.664959 -19201.780103 -16748.519603 .032518
+P 30 -6075.849270 15943.042499 -20563.994815 805.840215
+V 30 -25572.626280 2596.827028 9778.667149 .142366
+P 31 14046.121559 -7244.809698 21041.516910 41.309713
+V 31 17177.695421 21548.726095 -3656.783588 .306889
+* 2004 3 1 13 45 .00000000
+P 1 8560.343160 -12585.886625 -21589.420076 332.681186
+V 1 17694.261172 21419.423399 -5454.955709 .014823
+P 3 21481.378762 6937.957421 14073.613945 90.047289
+V 3 10621.854701 14827.561623 -23138.276949 .027821
+P 4 -9008.180995 -15053.997501 -19825.802925 -77.206162
+V 4 10401.608190 -23114.224268 13128.066587 -.092090
+P 5 -21018.008873 12824.878802 -9857.460282 19.853708
+V 5 -12873.727561 -130.830313 27788.085779 .016176
+P 6 -692.544237 19298.043335 -17992.171502 -1.404929
+V 6 -16948.970048 -16197.275383 -16683.049124 -.008737
+P 7 -16391.137858 -20856.537772 2981.871832 611.366617
+V 7 4699.041270 140.887472 30822.586202 -.078833
+P 8 -2970.474884 -21185.943017 15339.433376 354.970988
+V 8 9445.332769 -17707.010158 -22648.947930 -.089122
+P 9 -14960.237983 17609.079594 12323.261703 -32.456928
+V 9 2278.900205 -16600.514274 25986.205340 -.017792
+P 10 -26135.095126 594.389642 -5529.583024 40.202194
+V 10 6489.333224 -2982.606615 -30989.934538 .008218
+P 11 14000.381721 -19471.696448 11264.283656 100.012711
+V 11 191.037430 14993.351996 25803.619399 .025365
+P 13 -2921.413250 -20715.398685 -16452.639683 -30.893178
+V 13 14304.298707 15075.168337 -21495.706370 .002387
+P 14 16649.657572 20665.672003 930.126519 -18.165787
+V 14 -2503.328171 650.692926 32077.711779 -.001191
+P 15 7541.961627 15984.846070 19520.247952 233.238395
+V 15 -11589.787984 22572.036983 -14077.759211 .052232
+P 16 24530.226695 2519.662538 -9810.297879 15.261402
+V 16 -11907.666867 4706.260385 -28352.189316 -.003944
+P 17 -17675.809650 10141.308090 -16442.180313 208.120521
+V 17 7688.145106 -20175.813165 -21221.429718 .195156
+P 18 -2625.941309 15383.720314 21494.681092 -15.556398
+V 18 -27084.640384 2994.406922 -5666.552756 -.026817
+P 20 18244.283126 -13295.811999 -14059.802113 -183.980901
+V 20 17809.453345 -1210.652474 24373.335371 .027457
+P 21 -4411.253355 24786.840079 7754.672113 73.112842
+V 21 -6773.007031 8040.007265 -29746.492926 .005228
+P 22 11438.179868 12910.476078 20349.247476 -39.729331
+V 22 -25175.561772 4080.258824 11698.540222 .087225
+P 24 -15223.667496 -1545.940103 -21420.232021 8.287880
+V 24 10379.106675 -25862.587236 -5362.155644 .030926
+P 25 11809.708472 12108.359822 -20117.472249 61.754557
+V 25 -8023.932692 25200.413026 10247.521911 .005335
+P 26 -17623.112532 -498.524198 19803.126574 409.471822
+V 26 -15672.854392 -20081.867312 -13673.321764 -.125195
+P 27 3922.432441 -25585.166683 5056.809477 920.113753
+V 27 5053.840518 -4671.769737 -30930.163298 .042212
+P 28 -10685.934719 -12982.581382 20811.369788 21.936393
+V 28 25456.893289 -5044.767032 9711.914353 .016162
+P 29 -19844.611873 -4910.877088 17252.992018 230.107474
+V 29 -13108.966012 -16881.663328 -20139.927823 .032504
+P 30 -8316.809005 16224.057973 -19512.529576 805.853050
+V 30 -24151.469686 3609.364661 13555.372263 .142358
+P 31 15619.405954 -5363.917485 20527.470819 41.337184
+V 31 17717.102023 20189.751766 -7747.291059 .306838
+* 2004 3 1 14 0 .00000000
+P 1 10218.071379 -10686.675358 -21890.131241 332.680696
+V 1 19088.018641 20708.283887 -1217.771567 .014414
+P 3 22380.410786 8164.867290 11876.656658 90.049819
+V 3 9284.330166 12437.698946 -25612.442880 .027646
+P 4 -8149.609615 -17089.176922 -18475.314665 -77.215494
+V 4 8681.393155 -22023.711157 16840.599194 -.092116
+P 5 -22038.834899 12799.737320 -7278.496843 19.855717
+V 5 -9793.332321 -495.483647 29439.965655 .016353
+P 6 -2306.545438 17819.682586 -19331.491490 -1.406020
+V 6 -18886.393248 -16576.510516 -13036.007986 -.008788
+P 7 -15860.373326 -20744.583682 5722.836418 611.358829
+V 7 7128.085923 2288.316036 30002.323245 -.078866
+P 8 -2202.898722 -22686.419230 13171.467914 354.962608
+V 8 7639.864319 -15560.196099 -25456.946177 -.089184
+P 9 -14757.036764 15984.659271 14544.292635 -32.459232
+V 9 2170.027351 -19455.248425 23295.075459 -.017845
+P 10 -25407.193083 278.153867 -8264.076178 40.203259
+V 10 9644.751746 -4106.538307 -29690.797372 .008033
+P 11 14020.176578 -17999.527453 13482.280412 100.014941
+V 11 307.534685 17683.001337 23414.142492 .025383
+P 13 -1527.262658 -19317.990277 -18241.033768 -30.892632
+V 13 16661.640599 15893.663888 -18189.546207 .002397
+P 14 16316.083840 20610.070929 3800.824319 -18.166058
+V 14 -4955.422869 -1830.847723 31623.930947 -.001189
+P 15 6582.056133 17969.778851 18084.633618 233.244099
+V 15 -9742.349652 21447.751238 -17777.969155 .052516
+P 16 23332.219274 3001.823645 -12270.006589 15.260904
+V 16 -14656.927122 6056.960074 -26228.994847 -.003944
+P 17 -16988.819165 8215.239351 -18198.928888 208.137994
+V 17 7506.341550 -22571.908455 -17761.150848 .195153
+P 18 -5021.116808 15711.352656 20801.173320 -15.558966
+V 18 -26056.274744 4255.065864 -9723.786415 -.026817
+P 20 19718.703422 -13418.646772 -11751.943484 -183.978117
+V 20 14914.582807 -1452.409471 26839.289588 .027444
+P 21 -4948.248574 25380.214053 5016.962956 73.112897
+V 21 -5211.297429 5096.881844 -31001.967418 .005236
+P 22 9131.684726 13345.488385 21226.383412 -39.721286
+V 22 -25992.186487 5594.727389 7766.376614 .087216
+P 24 -14344.360097 -3916.919551 -21712.061413 8.290311
+V 24 9120.513538 -26739.350321 -1112.669670 .030874
+P 25 11156.696532 14334.217736 -19019.418604 61.754846
+V 25 -6492.900907 24174.907159 14116.311866 .005540
+P 26 -19030.564855 -2206.342307 18405.129843 409.459726
+V 26 -15524.276724 -17832.143003 -17344.926831 -.125202
+P 27 4328.829629 -25861.958099 2236.736480 920.117558
+V 27 4036.930914 -1444.613761 -31646.629521 .042213
+P 28 -8365.378804 -13505.814556 21507.717964 21.938288
+V 28 26023.894578 -6582.113869 5739.516239 .016162
+P 29 -20992.192208 -6320.197233 15300.099954 230.110380
+V 29 -12311.006984 -14420.864102 -23197.557815 .032482
+P 30 -10410.374562 16584.729033 -18130.702559 805.865603
+V 30 -22306.142434 4355.613712 17109.690675 .142349
+P 31 17222.439942 -3620.152374 19651.541668 41.364858
+V 31 17831.718256 18514.506886 -11686.694557 .306792
+* 2004 3 1 14 15 .00000000
+P 1 11984.962562 -8871.385287 -21807.999492 332.682147
+V 1 20108.075056 19564.665822 3040.048321 .014122
+P 3 23139.886071 9178.161567 9476.647980 90.051994
+V 3 7524.955879 10094.959431 -27644.415110 .027554
+P 4 -7443.522146 -19002.702127 -16803.067537 -77.223698
+V 4 7027.968677 -20415.051393 20267.540131 -.092131
+P 5 -22778.981050 12723.462522 -4573.493023 19.856796
+V 5 -6652.055257 -1267.174023 30584.592756 .016463
+P 6 -4085.168861 16328.076282 -20331.802240 -1.407881
+V 6 -20593.174535 -16496.166894 -9160.749045 -.008842
+P 7 -15103.418331 -20455.900159 8367.222869 611.351777
+V 7 9712.356805 4060.966164 28680.081635 -.078890
+P 8 -1589.046068 -23973.840816 10770.711061 354.954337
+V 8 6042.475608 -12982.680568 -27814.299528 -.089232
+P 9 -14581.065610 14116.170585 16503.655389 -32.461133
+V 9 1680.654762 -22009.118532 20180.249100 -.017746
+P 10 -24407.773453 -155.117097 -10858.845363 40.204031
+V 10 12509.401709 -5574.282266 -27889.216139 .007848
+P 11 14065.761743 -16296.873000 15466.707166 100.017344
+V 11 757.669761 20102.382276 20620.824668 .025399
+P 13 73.504787 -17869.670599 -19717.395060 -30.892745
+V 13 18879.832317 16208.410592 -14571.463208 .002409
+P 14 15750.583433 20347.055246 6606.109318 -18.166414
+V 14 -7643.744975 -3948.383551 30626.297565 -.001187
+P 15 5786.767223 19829.617490 16329.625024 233.248841
+V 15 -7947.148175 19796.662961 -21164.662826 .052742
+P 16 21903.440514 3617.645547 -14517.873520 15.260356
+V 16 -17024.633202 7664.914082 -23651.294233 -.003944
+P 17 -16336.892306 6089.310695 -19630.090417 208.154863
+V 17 6917.624145 -24603.565546 -13997.796185 .195154
+P 18 -7301.356988 16142.788496 19749.217370 -15.561453
+V 18 -24538.003307 5287.899537 -13620.501524 -.026820
+P 20 20922.922818 -13544.802114 -9242.500389 -183.975753
+V 20 11820.403417 -1279.972150 28846.482276 .027430
+P 21 -5359.312940 25696.698872 2190.733077 73.113883
+V 21 -3983.251761 1901.439725 -31710.618056 .005251
+P 22 6775.520463 13917.635993 21743.340107 -39.713264
+V 22 -26278.268129 7112.795197 3705.766463 .087208
+P 24 -13587.984646 -6342.874390 -21619.826203 8.292562
+V 24 7661.844153 -27078.460474 3159.677636 .030780
+P 25 10638.681175 16444.372736 -17584.286705 61.754294
+V 25 -5038.541233 22634.341599 17726.931127 .005732
+P 26 -20402.872700 -3703.016585 16690.613964 409.449948
+V 26 -14889.325074 -15406.078027 -20697.612609 -.125203
+P 27 4660.356905 -25840.391128 -622.859250 920.121004
+V 27 3395.337497 1942.473757 -31805.959016 .042220
+P 28 -6017.350426 -14165.928126 21841.334744 21.939905
+V 28 26067.597818 -8071.683661 1662.261924 .016158
+P 29 -22045.883193 -7505.222610 13089.006156 230.113054
+V 29 -11023.333911 -11913.054943 -25869.553421 .032466
+P 30 -12320.988432 16998.196020 -16441.272121 805.878650
+V 30 -20097.007632 4773.216999 20381.252208 .142341
+P 31 18815.330277 -2038.320783 18430.486941 41.392260
+V 31 17487.422537 16605.653826 -15405.571431 .306746
+* 2004 3 1 14 30 .00000000
+P 1 13824.346678 -7175.976716 -21344.572315 332.681866
+V 1 20689.379911 18056.758785 7242.911018 .013897
+P 3 23723.257289 9985.892038 6914.918707 90.053606
+V 3 5377.908446 7883.028511 -29201.440469 .027527
+P 4 -6879.963251 -20749.370145 -14837.585293 -77.231845
+V 4 5528.011621 -18323.118551 23347.085138 -.092142
+P 5 -23237.199627 12559.675071 -1789.152695 19.858275
+V 5 -3543.856080 -2437.294446 31200.119901 .016594
+P 6 -6003.978342 14863.103402 -20975.655505 -1.408680
+V 6 -21989.012924 -15991.989019 -5126.555022 -.008860
+P 7 -14109.942490 -20025.931888 10870.957800 611.344086
+V 7 12370.041057 5423.441221 26881.634492 -.078911
+P 8 -1106.794431 -25012.439628 8179.690225 354.945967
+V 8 4726.578381 -10043.552945 -29678.762615 -.089276
+P 9 -14464.466951 12034.611034 18165.747311 -32.461647
+V 9 860.192952 -24176.999312 16699.341931 -.017614
+P 10 -23166.519988 -733.689690 -13269.940043 40.205100
+V 10 15007.187092 -7324.012597 -25614.715673 .007624
+P 11 14165.203837 -14391.385815 17183.384954 100.019978
+V 11 1495.606836 22179.239378 17472.909044 .025424
+P 13 1864.122247 -16414.988566 -20856.376558 -30.892699
+V 13 20865.406572 16040.018190 -10702.836625 .002423
+P 14 14935.692818 19911.881056 9297.768651 -18.166734
+V 14 -10482.366556 -5649.199460 29102.651590 -.001181
+P 15 5147.284181 21518.455496 14286.245169 233.256033
+V 15 -6294.516881 17655.429548 -24176.570631 .052936
+P 16 20281.056862 4386.981715 -16514.919797 15.259883
+V 16 -18950.498537 9455.000201 -20663.184769 -.003938
+P 17 -15754.071732 3799.775806 -20711.595628 208.172092
+V 17 5981.868102 -26196.476370 -10003.323052 .195166
+P 18 -9424.836485 16654.092559 18356.342881 -15.564111
+V 18 -22582.856298 6018.401066 -17288.671646 -.026816
+P 20 21843.242854 -13636.060621 -6574.399960 -183.973521
+V 20 8621.865123 -675.450495 30359.838186 .027423
+P 21 -5676.582040 25717.647913 -674.150203 73.114579
+V 21 -3132.881053 -1454.618191 -31859.686403 .005265
+P 22 4417.447043 14623.217777 21891.607032 -39.705449
+V 22 -26036.585580 8545.154655 -415.296899 .087203
+P 24 -12968.521775 -8774.145417 -21144.964147 8.296015
+V 24 6093.500314 -26855.013171 7377.238407 .030737
+P 25 10244.928666 18394.122272 -15838.251818 61.755333
+V 25 -3744.911276 20618.441173 21015.080750 .005939
+P 26 -21695.855882 -4977.110672 14690.732404 409.438577
+V 26 -13762.072824 -12902.466852 -23678.111059 -.125205
+P 27 4951.952994 -25510.480678 -3471.323237 920.124596
+V 27 3151.873551 5390.491569 -31398.564980 .042232
+P 28 -3688.625229 -14954.631095 21805.794117 21.941416
+V 28 25598.082819 -9425.166418 -2452.648850 .016154
+P 29 -22962.104334 -8465.951131 10656.539579 230.116062
+V 29 -9260.005209 -9451.920451 -28109.784610 .032456
+P 30 -14019.082621 17432.549339 -14472.253895 805.891122
+V 30 -17596.408000 4812.701822 23313.761074 .142333
+P 31 20355.889021 -635.472515 16887.088936 41.420700
+V 31 16667.500553 14552.290720 -18839.659684 .306709
+* 2004 3 1 14 45 .00000000
+P 1 15694.395018 -5629.683602 -20508.160576 332.683207
+V 1 20782.745780 16265.327259 11316.354049 .013816
+P 3 24097.744360 10603.327438 4235.384943 90.055307
+V 3 2892.471117 5878.101614 -30258.879016 .027635
+P 4 -6441.491996 -22287.930606 -12612.699581 -77.240201
+V 4 4260.612837 -15800.621954 26023.289201 -.092150
+P 5 -23420.625264 12273.563778 1026.269111 19.859900
+V 5 -560.457853 -3979.694834 31273.991482 .016753
+P 6 -8031.747482 13460.700673 -21251.975725 -1.410594
+V 6 -23003.831822 -15115.515075 -1005.523860 -.008884
+P 7 -12877.182146 -19492.566968 13192.608310 611.336722
+V 7 15015.316406 6356.948479 24639.777144 -.078925
+P 8 -728.008134 -25773.306141 5444.313213 354.937027
+V 8 3751.927945 -6825.633561 -31017.583214 -.089307
+P 9 -14434.246864 9778.052954 19500.506711 -32.461869
+V 9 -227.052898 -25887.353946 12917.634918 -.017606
+P 10 -21719.384802 -1479.669931 -15456.415377 40.206354
+V 10 17075.321331 -9281.083259 -22904.487020 .007361
+P 11 14341.865037 -12316.720283 18602.847524 100.022418
+V 11 2463.007799 23852.874330 14025.715023 .025442
+P 13 3819.687890 -14995.821299 -21638.356161 -30.892375
+V 13 22531.637228 15427.040438 -6649.334757 .002431
+P 14 13862.050284 19343.782587 11829.602618 -18.167000
+V 14 -13377.747397 -6897.866131 27079.818094 -.001176
+P 15 4646.988370 22994.524263 11990.716522 233.262398
+V 15 -4867.024834 15079.050158 -26759.616512 .053009
+P 16 18506.947393 5322.484542 -18226.469689 15.259811
+V 16 -20390.409235 11342.845342 -17316.058454 -.003931
+P 17 -15268.368854 1388.873882 -21426.008143 208.190063
+V 17 4772.694017 -27292.355621 -5852.878626 .195187
+P 18 -11355.191835 17215.138030 16646.052750 -15.566770
+V 18 -20258.803270 6383.972043 -20663.788094 -.026807
+P 20 22474.657159 -13653.413433 -3793.355764 -183.970934
+V 20 5416.573280 360.771937 31352.608436 .027414
+P 21 -5935.376956 25432.999819 -3527.148349 73.114659
+V 21 -2686.727590 -4872.838205 -31447.037290 .005286
+P 22 2104.163513 15450.584130 21668.837658 -39.697614
+V 22 -25287.847699 9805.053795 -4528.002709 .087198
+P 24 -12491.623854 -11159.743315 -20295.870071 8.297529
+V 24 4509.492061 -26064.469020 11463.330558 .030657
+P 25 9957.495416 20143.119254 -13812.979489 61.754961
+V 25 -2687.615068 18183.928895 23923.245618 .006113
+P 26 -22865.636737 -6026.091239 12441.102769 409.427481
+V 26 -12155.112336 -10419.729767 -26240.569769 -.125201
+P 27 5239.791915 -24871.370397 -6257.631975 920.128777
+V 27 3311.026923 8796.248961 -30425.926399 .042248
+P 28 -1424.284571 -15855.838346 21400.781124 21.942940
+V 28 24642.817594 -10558.234039 -6536.778549 .016151
+P 29 -23699.366904 -9210.682183 8043.393064 230.118724
+V 29 -7053.349953 -7127.676634 -29878.646489 .032450
+P 30 -15482.043735 17852.087491 -12256.510577 805.904089
+V 30 -14886.082801 4439.585251 25855.958767 .142329
+P 31 21801.231461 579.512196 15049.639177 41.447785
+V 31 15373.215521 12446.241134 -21930.961408 .306659
+* 2004 3 1 15 0 .00000000
+P 1 17549.645533 -4254.029164 -19313.672128 332.682815
+V 1 20356.902676 14280.364697 15188.473470 .013764
+P 3 24235.616710 11052.150742 1483.804201 90.056164
+V 3 131.228524 4146.087872 -30800.486581 .027944
+P 4 -6104.016014 -23582.611883 -10166.969035 -77.248562
+V 4 3293.971346 -12916.231074 28247.239365 -.092157
+P 5 -23344.413700 11833.433156 3823.818384 19.862124
+V 5 2212.194573 -5851.474183 30803.286760 .016918
+P 6 -10131.512400 12151.537613 -21156.249432 -1.412294
+V 6 -23580.643983 -13931.833292 3128.858297 -.008801
+P 7 -11410.161580 -18894.622302 15293.984006 611.330218
+V 7 17561.459157 6859.648481 21993.655377 -.078936
+P 8 -419.881836 -26235.481212 2612.984465 354.928855
+V 8 3162.189948 -3422.190199 -31808.114076 -.089326
+P 9 -14511.059302 7390.280004 20484.035726 -32.462586
+V 9 -1504.759931 -27085.244269 8906.550095 -.017673
+P 10 -20107.286158 -2407.971542 -17380.999772 40.207058
+V 10 18666.560343 -11360.810509 -19802.872622 .007087
+P 11 14613.384518 -10111.387201 19700.842401 100.024958
+V 11 3591.475869 25076.397269 10339.605668 .025460
+P 13 5907.925146 -13649.825776 -22049.775106 -30.892006
+V 13 23801.900823 14424.385826 -2479.846965 .002440
+P 14 12528.922794 18684.357154 14158.211684 -18.167372
+V 14 -16232.288506 -7677.440776 24593.101597 -.001175
+P 15 4262.309971 24221.752556 9483.762937 233.266914
+V 15 -3736.037636 12138.715991 -28868.011432 .052895
+P 16 16626.170375 6428.920714 -19622.768321 15.259730
+V 16 -21318.044520 13238.166787 -13667.717252 -.003926
+P 17 -14900.677432 -1096.713501 -21762.732985 208.207148
+V 17 3374.047060 -27851.054061 -1623.062075 .195210
+P 18 -13062.755958 17790.801979 14647.452056 -15.568963
+V 18 -17646.214832 6336.587338 -23686.063218 -.026798
+P 20 22820.926754 -13558.716146 -947.094382 -183.968568
+V 20 2301.143844 1809.906430 31806.881741 .027407
+P 21 -6172.580091 24841.712920 -6318.009833 73.114693
+V 21 -2652.839905 -8251.898369 -30481.163077 .005305
+P 22 -120.272327 16380.519713 21078.876180 -39.689581
+V 22 -24069.846742 10811.663699 -8563.763034 .087191
+P 24 -12154.470162 -13449.199286 -19087.736100 8.301130
+V 24 3003.428593 -24722.903320 15343.849659 .030700
+P 25 9752.132392 21656.800199 -11544.966340 61.757374
+V 25 -1930.693180 15402.160859 26401.739261 .006323
+P 26 -23870.281331 -6856.126921 9981.119752 409.416536
+V 26 -10098.877740 -8052.228508 -28346.959575 -.125194
+P 27 5559.605421 -23931.525156 -8931.409541 920.132801
+V 27 3858.469429 12056.504925 -28900.997676 .042259
+P 28 733.812255 -16846.179491 20632.158183 21.944302
+V 28 23245.729255 -11393.858499 -10521.462597 .016145
+P 29 -24219.882263 -9755.550646 5293.502023 230.121829
+V 29 -4453.055658 -5023.677923 -31143.806141 .032450
+P 30 -16694.927936 18218.741231 -9831.256395 805.916604
+V 30 -12054.207382 3635.947639 27962.554568 .142327
+P 31 23109.391944 1605.999960 12951.332567 41.475264
+V 31 13623.639641 10378.331593 -24628.643258 .306612
+* 2004 3 1 15 15 .00000000
+P 1 19342.680654 -3062.159723 -17782.319690 332.683788
+V 1 19399.820884 12197.392709 18791.284603 .013833
+P 3 24115.290847 11359.422821 -1292.988018 90.059034
+V 3 -2832.218473 2740.229130 -30818.566762 .028420
+P 4 -5837.905090 -24604.447618 -7542.998156 -77.256268
+V 4 2682.513934 -9752.029099 29978.102904 -.092161
+P 5 -23031.071310 11212.144989 6554.721812 19.864791
+V 5 4697.218801 -7994.591219 29794.941246 .016853
+P 6 -12261.858818 10959.918792 -20690.585276 -1.412808
+V 6 -23677.875795 -12516.795254 7203.159002 -.008672
+P 7 -9721.634696 -18270.324523 17140.677269 611.323559
+V 7 19923.931022 6946.408254 18988.067225 -.078948
+P 8 -146.471915 -26386.732293 -264.322496 354.920856
+V 8 2983.213570 66.763605 -32038.172439 -.089341
+P 9 -14708.275262 4919.185432 21099.077478 -32.464073
+V 9 -2888.016159 -27734.592262 4741.947753 -.017817
+P 10 -18374.629658 -3525.552643 -19010.711603 40.205938
+V 10 19750.881947 -13471.641877 -16360.752235 .006778
+P 11 14990.898101 -7817.429893 20458.735348 100.027281
+V 11 4805.387176 25818.432662 6478.877301 .025473
+P 13 8090.229936 -12409.061947 -22083.377620 -30.891511
+V 13 24612.672068 13101.108298 1734.641137 .002451
+P 14 10944.405170 17975.874246 16243.731622 -18.167066
+V 14 -18948.036836 -7989.948064 21685.641794 -.001172
+P 15 3963.872917 25171.101393 6809.822352 233.270506
+V 15 -2958.775772 8918.988361 -30465.137894 .052812
+P 16 14685.314709 7702.799663 -20679.513995 15.259259
+V 16 -21725.805764 15048.365023 -9781.363090 -.003923
+P 17 -14664.011798 -3607.559100 -21718.071812 208.224508
+V 17 1876.434903 -27851.851895 2609.734332 .195237
+P 18 -14525.540686 18342.376520 12394.771041 -15.571327
+V 18 -14834.819406 5844.906984 -26301.577084 -.026784
+P 20 22894.327461 -13316.324299 1915.457591 -183.966497
+V 20 -632.414640 3635.344179 31713.950895 .027404
+P 21 -6424.954384 23951.843875 -8997.717221 73.114998
+V 21 -3020.543467 -11491.600381 -28980.933291 .005327
+P 22 -2215.920257 17386.920283 20131.690941 -39.681827
+V 22 -22436.000799 11493.227152 -12455.244386 .087187
+P 24 -11945.983084 -15594.398887 -17542.249462 8.304437
+V 24 1664.535366 -22866.384460 18948.813949 .030640
+P 25 9599.445759 22907.574061 -9074.796969 61.756164
+V 25 -1524.057390 12356.195860 28409.520656 .006464
+P 26 -24671.350840 -7481.567031 7353.238908 409.405246
+V 26 -7640.337295 -5886.853956 -29967.318694 -.125189
+P 27 5944.999215 -22708.543804 -11443.966875 920.137063
+V 27 4761.416058 15072.233662 -26848.295947 .042272
+P 28 2748.444604 -17895.797592 19511.938073 21.945875
+V 28 21465.666446 -11865.415370 -14338.871839 .016143
+P 29 -24491.058371 -10123.764102 2453.358849 230.124778
+V 29 -1524.600598 -3213.234500 -31880.881028 .032451
+P 30 -17650.896115 18493.612668 -7237.479959 805.929364
+V 30 -9192.154281 2401.402492 29595.105271 .142321
+P 31 24240.892521 2451.351803 10629.589868 41.503075
+V 31 11454.781856 8434.812485 -26889.728612 .306567
+* 2004 3 1 15 30 .00000000
+P 1 21025.889210 -2058.521697 -15941.210480 332.684552
+V 1 17919.251307 10113.563649 22061.983651 .013937
+P 3 23722.203958 11556.353535 -4047.849641 90.062178
+V 3 -5915.929249 1699.213724 -30313.997604 .028797
+P 4 -5609.339875 -25332.347482 -4786.668749 -77.264856
+V 4 2464.570827 -6400.394714 31184.017016 -.092165
+P 5 -22509.503583 10388.386858 9171.269062 19.865821
+V 5 6829.759296 -10338.020848 28265.627153 .016559
+P 6 -14378.390331 9902.956765 -19863.645010 -1.413633
+V 6 -23271.056042 -10953.810007 11145.419107 -.008586
+P 7 -7831.753530 -17655.838991 18702.539954 611.316146
+V 7 22023.347325 6647.985354 15672.749927 -.078957
+P 8 129.651225 -26223.983996 -3137.013433 354.912577
+V 8 3222.079339 3538.418657 -31706.143679 -.089359
+P 9 -15031.378925 2415.004770 21335.334484 -32.465873
+V 9 -4287.126714 -27819.583659 502.313187 -.017984
+P 10 -16567.705635 -4830.951070 -20317.416276 40.207268
+V 10 20316.548517 -15518.604128 -12634.831162 .006578
+P 11 15478.525893 -5478.973756 20863.812282 100.029321
+V 11 6024.994195 26064.217906 2510.595342 .025478
+P 13 10322.966715 -11298.839636 -21738.347335 -30.891027
+V 13 24916.039768 11537.658750 5922.214343 .002460
+P 14 9125.284379 17259.574323 18050.504963 -18.166787
+V 14 -21430.398731 -7856.127787 18407.644739 -.001168
+P 15 3717.877299 25821.619530 4016.190169 233.275374
+V 15 -2575.997870 5514.435723 -31524.202893 .052776
+P 16 12730.800456 9132.331374 -21378.294662 15.258864
+V 16 -21625.014807 16682.225751 -5724.481172 -.003923
+P 17 -14563.092044 -6093.265443 -21295.134290 208.242471
+V 17 373.009966 -27293.915245 6770.856110 .195264
+P 18 -15729.926886 18829.141511 9926.788480 -15.573804
+V 18 -11920.268900 4895.739972 -28463.339736 -.026776
+P 20 22715.078157 -12894.644479 4745.012641 -183.964168
+V 20 -3300.152541 5783.941274 31074.524587 .027399
+P 21 -6727.477952 22780.268912 -11519.400714 73.115478
+V 21 -3761.010412 -14496.790348 -26975.102550 .005347
+P 22 -4148.277164 18437.738907 18843.215700 -39.673929
+V 22 -20453.337114 11789.878724 -16137.382910 .087182
+P 24 -11847.394767 -17551.321704 -15687.156013 8.306772
+V 24 573.878112 -20549.512147 22213.795824 .030579
+P 25 9466.260137 23875.727227 -6446.337997 61.756353
+V 25 -1501.567047 9137.443677 29914.773761 .006673
+P 26 -25235.309676 -7924.129414 4602.244971 409.394287
+V 26 -4841.131681 -3999.990683 -31079.856095 -.125184
+P 27 6425.840559 -21228.590195 -13749.333167 920.140341
+V 27 5969.850907 17752.805778 -24303.634663 .042287
+P 28 4588.282669 -18969.413118 18058.159290 21.947135
+V 28 19374.292326 -11919.455172 -17923.117793 .016142
+P 29 -24486.827068 -10344.567607 -428.729944 230.128050
+V 29 1652.930984 -1756.760938 -32074.030112 .032447
+P 30 -18351.349260 18638.572419 -4519.291007 805.942323
+V 30 -6391.089577 753.409879 30722.823038 .142315
+P 31 25160.203685 3130.360389 8125.327161 41.530788
+V 31 8918.075253 6694.061619 -28679.585103 .306517
+* 2004 3 1 15 45 .00000000
+P 1 22553.241030 -1238.892028 -13822.827838 332.684814
+V 1 15942.467320 8123.731403 24944.082283 .014024
+P 3 23049.432719 11676.927692 -6734.100429 90.063668
+V 3 -9032.591187 1045.845809 -29296.138935 .029206
+P 4 -5381.840609 -25753.866263 -1946.299559 -77.274014
+V 4 2660.715170 -2960.439948 31842.790036 -.092173
+P 5 -21813.815698 9347.723154 11627.683452 19.866670
+V 5 8559.487755 -12800.475129 26241.579954 .016360
+P 6 -16435.317520 8990.047156 -18690.449028 -1.412716
+V 6 -22353.804088 -9330.359735 14886.515063 -.008529
+P 7 -5767.478336 -17083.896356 19954.095525 611.309012
+V 7 23788.237397 6009.683682 12101.659324 -.078966
+P 8 445.701261 -25753.388637 -5954.819815 354.904199
+V 8 3866.950969 6891.190657 -30820.835983 -.089370
+P 9 -15477.716141 -71.536772 21189.621606 -32.467126
+V 9 -5611.604703 -27345.154541 -3733.094614 -.018138
+P 10 -14733.020381 -6314.138141 -21278.314899 40.208185
+V 10 20370.508932 -17406.911657 -8686.832893 .006362
+P 11 16073.146797 -3140.705735 20909.474891 100.031986
+V 11 7169.675932 25816.057937 -1496.599897 .025488
+P 13 12558.965650 -10336.833351 -21020.337420 -30.890758
+V 13 24681.646192 9822.698352 10011.220488 .002467
+P 14 7096.574537 16574.022880 19547.678215 -18.166539
+V 14 -23591.720838 -7314.463881 14815.504919 -.001169
+P 15 3487.658454 26161.177673 1152.114808 233.280793
+V 15 -2610.404036 2025.884933 -32028.646517 .052742
+P 16 10807.194875 10697.716757 -21706.919873 15.258361
+V 16 -21045.371779 18053.583355 -1567.637840 -.003927
+P 17 -14594.282071 -8504.244448 -20503.618854 208.259814
+V 17 -1044.325373 -26195.940155 10788.753610 .195291
+P 18 -16671.032859 19210.037112 7286.164287 -15.575685
+V 18 -9000.447643 3494.790426 -30132.240957 -.026761
+P 20 22310.470972 -12267.539838 7492.773196 -183.961954
+V 20 -5629.329150 8187.959348 29898.775954 .027404
+P 21 -7111.764792 21352.061900 -13839.197329 73.116223
+V 21 -4828.593051 -17181.036501 -24501.598920 .005366
+P 22 -5889.392461 19496.167416 17235.100562 -39.666243
+V 22 -18199.986005 11656.037005 -19548.375232 .087177
+P 24 -11833.137916 -19281.614233 -13555.701621 8.309442
+V 24 -199.037262 -17843.187529 25081.198344 .030580
+P 25 9317.123619 24550.013765 -3705.890615 61.757334
+V 25 -1879.809654 5842.048849 30895.251039 .006879
+P 26 -25534.744420 -8211.835293 1774.516321 409.382553
+V 26 -1775.246636 -2454.941934 -31670.937530 -.125175
+P 27 7026.794155 -19525.459889 -15805.246789 920.144179
+V 27 7418.586219 20019.867030 -21313.490831 .042300
+P 28 6228.926613 -20027.618151 16294.660472 21.948510
+V 28 17053.468700 -11518.030783 -21211.387619 .016144
+P 29 -24188.749205 -10451.971111 -3303.435089 230.131102
+V 29 4989.588457 -699.371234 -31716.436898 .032440
+P 30 -18805.754691 18617.854183 -1723.198541 805.955487
+V 30 -3738.526255 -1273.095618 31323.285825 .142309
+P 31 25837.043322 3664.407788 5482.190231 41.558277
+V 31 6078.309912 5223.688569 -29972.218685 .306469
+* 2004 3 1 16 0 .00000000
+P 1 23882.002966 -590.757515 -11464.417331 332.686518
+V 1 13515.227076 6316.653875 27388.392146 .014202
+P 3 22098.035936 11756.437855 -9306.276904 90.067456
+V 3 -12092.670936 786.311172 -27782.626736 .029746
+P 4 -5117.912369 -25865.637977 928.247782 -77.281847
+V 4 3272.844733 465.844901 31942.389916 -.092172
+P 5 -20981.915255 8083.377690 13880.962583 19.868341
+V 5 9852.499228 -15293.589969 23758.124508 .016265
+P 6 -18387.103107 8222.664251 -17192.063091 -1.413570
+V 6 -20938.084599 -7734.387381 18361.432357 -.008617
+P 7 -3561.751618 -16582.561935 20874.886137 611.302053
+V 7 25157.517312 5089.533700 8332.244907 -.078974
+P 8 836.996690 -24990.038390 -8668.721522 354.895752
+V 8 4887.721624 10028.635033 -29401.102457 -.089371
+P 9 -16036.602930 -2491.079001 20665.853372 -32.469606
+V 9 -6774.147485 -26336.554402 -7886.060913 -.018338
+P 10 -12915.621877 -7956.699684 -21876.356103 40.208475
+V 10 19938.117057 -19045.608820 -4582.599233 .006095
+P 11 16764.467311 -846.342362 20595.328282 100.034578
+V 11 8161.206010 25093.125006 -5473.694662 .025487
+P 13 14749.165437 -9532.499242 -19941.392829 -30.890271
+V 13 23897.973096 8049.591709 13931.472092 .002469
+P 14 4890.740682 15953.582777 20709.715782 -18.166661
+V 14 -25354.603742 -6419.536365 10970.834643 -.001172
+P 15 3235.355009 26186.854310 -1732.132385 233.283912
+V 15 -3065.817963 -1443.542851 -31972.303624 .052656
+P 16 8955.609922 12371.760468 -21659.641566 15.257940
+V 16 -20033.692767 19084.798920 2616.783749 -.003930
+P 17 -14745.870958 -10793.430577 -19359.478671 208.277329
+V 17 -2288.627822 -24595.043732 14596.162917 .195323
+P 18 -17352.744507 19445.369579 4518.692741 -15.577768
+V 18 -6171.672802 1666.645768 -31277.860603 -.026751
+P 20 21713.736302 -11415.534000 10111.279326 -183.959703
+V 20 -7561.135998 10767.591378 28206.223141 .027412
+P 21 -7604.637337 19699.558302 -15917.037238 73.116848
+V 21 -6162.850393 -19469.907620 -21606.622302 .005386
+P 22 -7418.739103 20522.010646 15334.375141 -39.658836
+V 22 -15762.271177 11062.283092 -22630.636492 .087169
+P 24 -11872.020022 -20753.931443 -11185.966944 8.312630
+V 24 -599.140845 -14831.723709 27501.342653 .030611
+P 25 9115.889707 24927.914319 -901.322473 61.758681
+V 25 -2657.612874 2567.170535 31338.391620 .007103
+P 26 -25549.355907 -8377.735497 -1082.704860 409.371125
+V 26 1473.684172 -1299.877760 -31734.976804 -.125166
+P 27 7766.077817 -17639.319320 -17574.073050 920.147781
+V 27 9030.069249 21810.704610 -17934.014822 .042310
+P 28 7653.690374 -21028.356220 14250.751993 21.949990
+V 28 14592.213447 -10640.479279 -24145.091121 .016138
+P 29 -23586.851384 -10483.284472 -6121.233721 230.134094
+V 29 8387.762976 -69.024502 -30810.662565 .032434
+P 30 -19031.165178 18399.584742 1102.670036 805.968491
+V 30 -1314.985677 -3626.782180 31383.046806 .142300
+P 31 26247.468439 4080.384286 2745.770584 41.586177
+V 31 3011.113354 4078.133643 -30750.391012 .306424
+* 2004 3 1 16 15 .00000000
+P 1 24974.328280 -94.024153 -8907.291686 332.688831
+V 1 10700.008445 4771.481826 29353.841709 .014343
+P 3 20877.109498 11829.978755 -11720.863926 90.071917
+V 3 -15007.637044 910.059927 -25799.060845 .030153
+P 4 -4780.737756 -25673.456050 3786.496531 -77.290693
+V 4 4284.050223 3777.572589 31481.202920 -.092169
+P 5 -20053.973071 6596.715744 15891.669037 19.869757
+V 5 10692.552309 -17725.407209 20859.034617 .016130
+P 6 -20190.096912 7594.481730 -15395.175462 -1.415171
+V 6 -19053.728637 -6250.708844 21510.423013 -.008777
+P 7 -1252.465222 -16174.187949 21449.754282 611.294455
+V 7 26082.605028 3956.059613 4424.720283 -.078988
+P 8 1335.373869 -23957.336125 -11231.825971 354.887326
+V 8 6237.408349 12863.090929 -27475.254983 -.089360
+P 9 -16689.783934 -4797.402044 19774.871676 -32.470071
+V 9 -7694.406400 -24838.030176 -11881.134106 -.018478
+P 10 -11157.481698 -9732.341495 -22100.562886 40.208054
+V 10 19062.166666 -20351.115330 -391.102594 .005922
+P 11 17535.380470 1362.855177 19927.160982 100.037080
+V 11 8926.911253 23930.618387 -9352.489012 .025482
+P 13 16844.340362 -8886.817206 -18519.764677 -30.889979
+V 13 22572.920891 6312.710968 17615.439056 .002473
+P 14 2546.641031 15427.062956 21516.822978 -18.166699
+V 14 -26654.824845 -5239.762667 6939.417626 -.001174
+P 15 2923.614579 25904.961673 -4586.190903 233.291454
+V 15 -3927.168191 -4792.435865 -31359.325766 .052738
+P 16 7212.244023 14120.783119 -21237.259184 15.257542
+V 16 -18651.976965 19709.912834 6755.885267 -.003934
+P 17 -14998.674419 -12917.863483 -17884.490129 208.294984
+V 17 -3281.296229 -22544.989549 18131.090913 .195352
+P 18 -17787.404427 19498.481368 1672.489947 -15.580195
+V 18 -3524.939962 -546.003738 -31879.115702 -.026744
+P 20 20962.686096 -10326.764779 12555.238053 -183.957328
+V 20 -9052.883995 13433.977912 26025.440266 .027416
+P 21 -8226.908884 17861.147119 -17717.341702 73.117397
+V 21 -7691.166475 -21303.719201 -18343.587840 .005405
+P 22 -8723.808253 21473.203924 13173.027336 -39.651177
+V 22 -13231.496149 9996.655340 -25331.716047 .087161
+P 24 -11928.628269 -21944.993697 -8620.113838 8.315164
+V 24 -588.031378 -11609.434702 29433.341042 .030496
+P 25 8827.310374 25015.561416 1918.801587 61.758150
+V 25 -3816.281299 -592.685502 31241.232341 .007235
+P 26 -25266.695659 -8458.477259 -3922.029169 409.359743
+V 26 4815.346365 -566.349253 -31274.252712 -.125158
+P 27 8654.499571 -15615.172168 -19023.617826 920.151741
+V 27 10717.803523 23080.915137 -14229.713686 .042321
+P 28 8854.096210 -21928.534640 11960.784601 21.951336
+V 28 12083.333842 -9284.571621 -26670.997356 .016134
+P 29 -22680.156876 -10477.513755 -8833.263649 230.136937
+V 29 11745.755487 124.690212 -29368.847477 .032422
+P 30 -19051.447661 17957.185789 3909.396101 805.981138
+V 30 809.141277 -6241.640106 30898.031869 .142289
+P 31 26374.723972 4409.416019 -37.181905 41.613557
+V 31 -199.909001 3296.829675 -31005.580638 .306367
+* 2004 3 1 16 30 .00000000
+P 1 25798.657417 277.975703 -6196.070220 332.690884
+V 1 7573.598561 3554.673140 30808.113612 .014406
+P 3 19403.552328 11930.958984 -13936.993597 90.074136
+V 3 -17693.141007 1390.306029 -23378.592075 .030302
+P 4 -4335.845616 -25191.996015 6578.295194 -77.299522
+V 4 5659.277665 6878.892710 30468.053908 -.092159
+P 5 -19070.804706 4897.403949 17624.654806 19.871327
+V 5 11081.584792 -20004.024401 17595.704126 .016001
+P 6 -21804.095756 7091.809622 -13331.575929 -1.415707
+V 6 -16747.252544 -4957.597380 24280.025280 -.008859
+P 7 1118.744568 -15874.582688 21669.058454 611.287108
+V 7 26529.118314 2685.704355 441.326013 -.078998
+P 8 1967.756393 -22686.056035 -13600.186229 354.878850
+V 8 7854.216134 15318.908215 -25080.300049 -.089342
+P 9 -17412.214265 -6949.046873 18534.125377 -32.472103
+V 9 -8302.376872 -22910.720999 -15647.189551 -.018714
+P 10 -9495.993740 -11607.704589 -21946.266842 40.208129
+V 10 17801.266459 -21250.543316 3816.622707 .005829
+P 11 18362.599553 3449.462915 18916.819472 100.039072
+V 11 9402.599720 22378.322968 -13066.750149 .025473
+P 13 18796.846532 -8392.368908 -16779.618377 -30.889867
+V 13 20733.653136 4703.690597 20999.413391 .002473
+P 14 108.227872 15016.594671 21955.272106 -18.166772
+V 14 -27443.762625 -3854.616865 2790.103884 -.001175
+P 15 2517.265707 25330.716061 -7360.527597 233.296539
+V 15 -5161.251261 -7924.963334 -30203.879272 .052452
+P 16 5607.125168 15905.797750 -20447.106942 15.257303
+V 16 -16974.880448 19877.344850 10777.566374 -.003935
+P 17 -15326.921706 -14840.084940 -16105.741453 208.312473
+V 17 -3955.014791 -20113.853977 21337.605785 .195377
+P 18 -17995.171051 19337.317192 -1202.868751 -15.582744
+V 18 -1142.372258 -3083.889385 -31924.722440 -.026735
+P 20 20098.187876 -8997.648627 14782.319084 -183.954939
+V 20 -10079.564999 16092.598408 23393.600839 .027423
+P 21 -8992.423690 15879.843649 -19209.620373 73.118296
+V 21 -9331.835574 -22639.643492 -14771.952357 .005425
+P 22 -9800.405188 22307.418801 10787.501987 -39.643125
+V 22 -10700.537935 8465.308774 -27605.160098 .087155
+P 24 -11964.903075 -22840.319111 -5903.563447 8.318541
+V 24 -145.479729 -8276.862004 30845.740112 .030398
+P 25 8418.576502 24827.342465 4706.072355 61.759615
+V 25 -5320.520730 -3549.138462 30610.135526 .007447
+P 26 -24682.626889 -8492.763749 -6696.617390 409.348770
+V 26 8155.881831 -268.393612 -30298.668958 -.125147
+P 27 9694.823932 -13501.122699 -20127.809866 920.155193
+V 27 12390.211048 23806.227492 -10271.859406 .042330
+P 28 9830.056136 -22685.709283 9463.617226 21.953439
+V 28 9619.856733 -7466.963616 -28742.334017 .016130
+P 29 -21476.883999 -10473.679545 -11392.188181 230.139605
+V 29 14961.575694 -108.937491 -27412.740864 .032411
+P 30 -18896.242239 17270.594700 6648.132593 805.993851
+V 30 2576.366389 -9039.337680 29873.913694 .142279
+P 31 26209.823311 4685.454187 -2819.536667 41.640468
+V 31 -3466.256270 2902.969381 -30737.810421 .306322
+* 2004 3 1 16 45 .00000000
+P 1 26330.876735 557.222109 -3377.869230 332.693899
+V 1 4224.145060 2717.450272 31728.096514 .014276
+P 3 17701.552068 12089.684707 -15917.102682 90.077402
+V 3 -20072.046248 2185.123392 -20561.414346 .030493
+P 4 -3752.685403 -24444.192772 9254.748957 -77.307720
+V 4 7346.754873 9682.706294 28921.988451 -.092147
+P 5 -18072.239071 3003.240057 19049.703555 19.872665
+V 5 11039.484159 -22041.255071 14026.154216 .015786
+P 6 -23193.767621 6694.325757 -11037.549893 -1.418366
+V 6 -14080.034911 -3923.676359 26623.929242 -.008894
+P 7 3507.834095 -15692.423909 21528.821958 611.280258
+V 7 26478.106498 1359.990361 -3554.420137 -.079009
+P 8 2754.936518 -21213.137244 -15733.543601 354.870320
+V 8 9664.166748 17335.136478 -22261.030384 -.089320
+P 9 -18173.123829 -8910.715469 16967.217815 -32.474304
+V 9 -8541.264307 -20629.890305 -19118.794902 -.018867
+P 10 -7962.647196 -13543.463900 -21415.242930 40.208594
+V 10 16227.603026 -21684.658447 7968.620530 .005776
+P 11 19217.540757 5381.121419 17581.981118 100.041612
+V 11 9535.147888 20498.627814 -16553.313976 .025460
+P 13 20562.320924 -8033.749716 -14750.638952 -30.890018
+V 13 18425.705799 3307.776238 24024.626130 .002474
+P 14 -2376.943879 14736.777522 22017.627064 -18.167095
+V 14 -27690.233498 -2351.433917 -1406.337047 -.001175
+P 15 1984.887760 24487.571694 -10007.316785 233.300491
+V 15 -6718.224745 -10754.455933 -28529.642460 .052109
+P 16 4163.104362 17683.904775 -19302.923363 15.256873
+V 16 -15086.697914 19552.032734 14611.823243 -.003936
+P 17 -15699.384273 -16529.304998 -14055.058592 208.330134
+V 17 -4256.170595 -17381.252003 24166.443059 .195398
+P 18 -18003.073086 18935.821468 -4057.244060 -15.585158
+V 18 905.976848 -5873.374603 -31413.458959 -.026723
+P 20 19162.528893 -7433.227867 16753.902116 -183.952413
+V 20 -10634.722672 18646.906128 20355.859496 .027422
+P 21 -9907.390504 13801.703777 -20368.959150 73.118850
+V 21 -10997.473234 -23453.112041 -10955.962572 .005441
+P 22 -10652.634410 22983.698275 8218.124738 -39.635122
+V 22 -8260.367160 6492.507049 -29411.309169 .087150
+P 24 -11941.812161 -23434.606396 -3084.127015 8.320920
+V 24 729.845510 -4936.809702 31716.928439 .030207
+P 25 7860.746479 24385.203991 7413.057332 61.760478
+V 25 -7119.986736 -6223.080533 29460.360823 .007710
+P 26 -23801.499249 -8519.760029 -9360.854273 409.338119
+V 26 11401.096619 -402.238374 -28825.470692 -.125142
+P 27 10881.498150 -11346.516919 -20867.229963 920.158969
+V 27 13954.734023 23983.384164 -6136.690281 .042343
+P 28 10589.727981 -23259.776837 6801.988652 21.954953
+V 28 7291.391413 -5222.906368 -30319.818976 .016121
+P 29 -19994.297572 -10509.122962 -13753.055223 230.141968
+V 29 17936.826998 -741.979189 -24973.541459 .032402
+P 30 -18599.696607 16327.245499 9270.979304 806.006763
+V 30 3944.340900 -11932.140118 28326.092182 .142270
+P 31 25751.845783 4943.781362 -5554.539407 41.667393
+V 31 -6697.720553 2902.896855 -29955.363743 .306280
+* 2004 3 1 17 0 .00000000
+P 1 26555.192297 779.545474 -501.460105 332.694532
+V 1 747.795532 2293.893034 32100.150960 .013865
+P 3 15801.808969 12332.067478 -17627.540251 90.080368
+V 3 -22077.200112 3239.099192 -17394.166971 .030639
+P 4 -3006.041112 -23460.299476 11769.121106 -77.316139
+V 4 9280.116235 12114.000734 26871.825912 -.092134
+P 5 -17095.540946 939.658640 20142.077122 19.873428
+V 5 10603.123515 -23756.144625 10213.902275 .015616
+P 6 -24329.885978 6376.068450 -8553.201893 -1.418971
+V 6 -11125.936853 -3205.239464 28503.677808 -.008800
+P 7 5869.777811 -15628.936531 21030.813440 611.273565
+V 7 25926.778064 62.500209 -7498.491599 -.079018
+P 8 3710.613986 -19580.263182 -17595.983282 354.861761
+V 8 11584.168143 18867.584119 -19069.007608 -.089291
+P 9 -18937.311744 -10654.397717 15103.341533 -32.476646
+V 9 -8369.716162 -18081.648075 -22237.347505 -.019041
+P 10 -6581.925791 -15495.672952 -20515.738877 40.209635
+V 10 14424.163560 -21610.365979 11993.211485 .005715
+P 11 20067.419723 7131.563423 15945.830909 100.043783
+V 11 9284.651259 18364.085010 -19753.118981 .025453
+P 13 22101.268110 -7788.299672 -12467.538749 -30.889770
+V 13 15711.388785 2200.409466 26638.295968 .002475
+P 14 -4859.344412 14594.127281 21702.863506 -18.167143
+V 14 -27381.674539 -821.920460 -5578.387703 -.001173
+P 15 1300.216590 23406.250734 -12481.267116 233.303436
+V 15 -8533.748104 -13206.555886 -26369.130145 .051854
+P 16 2895.138356 19409.850824 -17824.605586 15.256048
+V 16 -13077.973706 18716.923357 18192.006526 -.003935
+P 17 -16080.696093 -17962.303272 -11768.384257 208.347903
+V 17 -4146.687344 -14435.246181 26575.443676 .195419
+P 18 -17843.797250 18275.109181 -6840.842270 -15.587582
+V 18 2564.831035 -8829.261465 -30354.217605 -.026713
+P 20 18197.734530 -5647.185138 18435.761567 -183.949810
+V 20 -10730.594822 21002.064014 16964.581654 .027433
+P 21 -10970.032157 11674.145390 -21176.393280 73.119293
+V 21 -12598.603716 -23738.473405 -6963.362472 .005457
+P 22 -11292.572964 23464.060892 5508.457570 -39.626884
+V 22 -5996.620605 4119.940654 -30718.016498 .087145
+P 24 -11821.054365 -23731.758742 -211.110476 8.322022
+V 24 2020.441377 -1690.361312 32035.312525 .030099
+P 25 7130.010412 23717.691168 9994.077352 61.761822
+V 25 -9151.373665 -8547.395396 27815.509790 .007882
+P 26 -22636.035276 -8577.499154 -11870.995210 409.326199
+V 26 14459.644162 -946.598458 -26878.927257 -.125141
+P 27 12200.750339 -9200.048436 -21229.471898 920.163114
+V 27 15321.961234 23630.042494 -1903.485000 .042356
+P 28 11149.046529 -23614.607070 4021.800640 21.956299
+V 28 5180.571200 -2605.203493 -31372.590816 .016119
+P 29 -18258.212687 -10617.867504 -15874.133024 230.145610
+V 29 20580.521539 -1728.867947 -22091.536316 .032391
+P 30 -18199.020522 15122.768864 11731.862186 806.019763
+V 30 4887.601352 -14826.209171 26279.690912 .142259
+P 31 25007.946642 5219.491071 -8196.539341 41.695177
+V 31 -9805.568717 3286.119763 -28674.411019 .306254
+* 2004 3 1 17 15 .00000000
+P 1 26464.687897 983.023937 2383.588282 332.696585
+V 1 -2754.935190 2299.730350 31920.193833 .013691
+P 3 13740.525508 12678.503823 -19039.117656 90.082793
+V 3 -23653.852446 4485.486967 -13929.251800 .030792
+P 4 -2077.226112 -22276.668752 14077.684526 -77.324422
+V 4 11381.128173 14112.664074 24355.500807 -.092123
+P 5 -16173.951813 -1261.067567 20882.955064 19.874883
+V 5 9824.706393 -25078.193970 6226.721725 .015499
+P 6 -25190.328754 6106.647381 -5921.723667 -1.420184
+V 6 -7968.470856 -2844.096010 29889.198008 -.008617
+P 7 8160.035512 -15677.846847 20182.557199 611.265973
+V 7 24888.697742 -1124.233533 -11327.146175 -.079033
+P 8 4840.725835 -17832.286381 -19156.494868 354.853270
+V 8 13525.388063 19890.186828 -15561.470378 -.089256
+P 9 -19666.610300 -12160.186631 12976.621519 -32.479405
+V 9 -7763.348866 -15359.331057 -24951.968713 -.019149
+P 10 -5370.477825 -17417.306863 -19262.394697 40.210562
+V 10 12481.512914 -21002.615850 15820.233405 .005704
+P 11 20876.518978 8681.404617 14036.648701 100.046339
+V 11 8626.060413 16054.604897 -22612.158540 .025440
+P 13 23380.473239 -7627.126124 -9969.474615 -30.889968
+V 13 12667.534920 1444.183187 28794.588991 .002475
+P 14 -7289.172078 14586.846019 21016.383064 -18.167293
+V 14 -26524.629363 641.496137 -9654.962507 -.001176
+P 15 443.332260 22123.513549 -14740.381037 233.308864
+V 15 -10531.665259 -15221.822569 -23762.876632 .051771
+P 16 1809.889020 21037.690295 -16037.853221 15.255649
+V 16 -11041.878448 17373.756582 21456.013763 -.003932
+P 17 -16432.811423 -19124.042410 -9285.124329 208.365598
+V 17 -3605.242998 -11369.061876 28529.844686 .195445
+P 18 -17554.258810 17344.361582 -9505.119881 -15.589755
+V 18 3795.794002 -11858.079111 -28765.844081 -.026703
+P 20 17243.907098 -3661.522615 19798.675613 -183.947238
+V 20 -10397.518634 23068.633738 13278.434244 .027439
+P 21 -12170.560321 9544.244396 -21619.163578 73.119505
+V 21 -14047.273746 -23508.901879 -2864.094142 .005474
+P 22 -11739.642308 23715.013547 2704.593776 -39.619208
+V 22 -3986.350017 1405.382059 -31501.273078 .087137
+P 24 -11566.723058 -23744.554692 2665.586773 8.325024
+V 24 3690.798064 1366.955090 31799.273226 .030197
+P 25 6208.745679 22858.765212 12405.928534 61.764656
+V 25 -11340.945244 -10469.164516 25706.871480 .008009
+P 26 -21206.934899 -8701.341014 -14185.783059 409.315045
+V 26 17246.092518 -1863.546571 -24489.986543 -.125139
+P 27 13631.052082 -7107.916750 -21209.327487 920.166770
+V 27 16409.566649 22783.716750 2347.406026 .042365
+P 28 11530.943570 -23719.547968 1171.323136 21.957857
+V 28 3359.723920 317.565414 -31879.004144 .016114
+P 29 -16302.164275 -10829.104505 -17717.704063 230.148407
+V 29 22812.665136 -3008.138604 -18815.530928 .032380
+P 30 -17732.915918 13661.380270 13987.390901 806.032787
+V 30 5398.560857 -17625.236603 23769.164053 .142244
+P 31 23993.084989 5545.995609 -10701.679512 41.722687
+V 31 -12705.612092 4025.919414 -26918.565671 .306226
+* 2004 3 1 17 30 .00000000
+P 1 26061.549366 1206.304846 5227.766925 332.696482
+V 1 -6182.923592 2731.864788 31193.610257 .013451
+P 3 11558.197494 13142.968394 -20127.593389 90.085928
+V 3 -24761.635507 5848.785724 -10224.069693 .030960
+P 4 -955.010228 -20934.308453 16140.505298 -77.332526
+V 4 13562.891421 15635.664092 21419.216710 -.092108
+P 5 -15335.408092 -3560.898192 21259.758885 19.876640
+V 5 8769.494337 -25950.156861 2135.324865 .015368
+P 6 -25760.806655 5852.621926 -3188.622044 -1.421208
+V 6 -4697.638030 -2866.014591 30759.162618 -.008390
+P 7 10336.012875 -15825.617233 18997.270785 611.258870
+V 7 23393.438998 -2121.835573 -14977.749149 -.079043
+P 8 6143.088229 -16015.562406 -20389.432448 354.845066
+V 8 15396.790451 20395.655871 -11800.200028 -.089215
+P 9 -20321.453241 -13416.758847 10625.389002 -32.480601
+V 9 -6715.536834 -12559.712832 -27220.153282 -.018994
+P 10 -4336.592085 -19259.947308 -17676.049425 40.210652
+V 10 10494.240269 -19855.639198 19382.303280 .005554
+P 11 21607.577212 10018.669673 11887.314905 100.048705
+V 11 7550.244627 13654.395897 -25082.339599 .025431
+P 13 24374.186023 -7516.379045 -7299.383467 -30.889681
+V 13 9382.677921 1086.289953 30455.469195 .002476
+P 14 -9618.068063 14704.922985 19969.921631 -18.167583
+V 14 -25144.519808 1949.343284 -13566.579421 -.001177
+P 15 -598.414444 20680.722291 -16746.635558 233.312737
+V 15 -12627.105433 -16757.708001 -20758.509380 .051678
+P 16 905.653914 22522.484374 -13973.708726 15.255495
+V 16 -9070.496761 15543.111204 24347.392700 -.003926
+P 17 -16716.544031 -20007.981681 -6647.473898 208.383090
+V 17 -2627.862224 -8277.727151 30002.445093 .195470
+P 18 -17174.013485 16141.409276 -12003.664285 -15.592426
+V 18 4578.758720 -14861.716527 -26676.766987 -.026696
+P 20 16337.650656 -1505.916837 20818.947751 -183.944528
+V 20 -9682.620087 24766.070986 9361.354022 .027451
+P 21 -13491.471250 7457.071767 -21690.856566 73.120236
+V 21 -15260.548443 -22795.584089 1270.977979 .005495
+P 22 -12019.700177 23708.914742 -145.598539 -39.611677
+V 22 -2295.071694 -1579.282026 -31745.723742 .087130
+P 24 -11146.862722 -23493.986328 5496.360004 8.328616
+V 24 5688.933492 4148.701232 31016.921645 .030234
+P 25 5086.328890 21846.447541 14608.541898 61.764663
+V 25 -13607.398443 -11951.302495 23172.695231 .007919
+P 26 -19542.212370 -8922.534169 -16267.032655 409.304265
+V 26 19683.789472 -3099.925608 -21695.902309 -.125130
+P 27 15143.919641 -5112.121229 -20808.795657 920.170791
+V 27 17145.864932 21499.838031 6536.489156 .042372
+P 28 11764.284157 -23550.739835 -1699.664763 21.959351
+V 28 1887.918593 3463.501614 -31827.256440 .016112
+P 29 -14166.270297 -11165.866597 -19250.798218 230.150792
+V 29 24567.455094 -4504.853633 -15202.070817 .032376
+P 30 -17239.948990 11955.932395 15997.678016 806.045551
+V 30 5487.808395 -20234.226173 20837.788812 .142229
+P 31 22729.484101 5953.614249 -13028.544587 41.750126
+V 31 -15321.068190 5080.519324 -24718.385762 .306210
+* 2004 3 1 17 45 .00000000
+P 1 25356.950455 1486.916665 7982.468806 332.695766
+V 1 -9438.175250 3568.633855 29935.005238 .013522
+P 3 9298.249452 13732.355148 -20874.085760 90.086748
+V 3 -25376.033597 7247.656808 -6340.180854 .031142
+P 4 363.757540 -19477.273134 17922.142799 -77.340862
+V 4 15733.377135 16658.509081 18116.442371 -.092093
+P 5 -14601.487988 -5917.323981 21266.355501 19.878641
+V 5 7513.017592 -26330.297087 -1987.997914 .015245
+P 6 -26035.296706 5578.990768 -400.921777 -1.420231
+V 6 -1406.562419 -3279.812150 31101.186528 -.008101
+P 7 12358.466124 -16051.956749 17493.727055 611.252164
+V 7 21485.691178 -2859.095291 -18389.629560 -.079049
+P 8 7607.358617 -14176.257942 -21274.871778 354.836716
+V 8 17108.694558 20395.406335 -7850.371986 -.089170
+P 9 -20862.481853 -14421.512651 8091.407508 -32.482488
+V 9 -5237.467044 -9779.209973 -29008.183513 -.018934
+P 10 -3480.003499 -20975.546145 -15783.434214 40.211620
+V 10 8557.208065 -18183.451550 22616.076431 .005466
+P 11 22223.247087 11139.035693 9534.743474 100.051104
+V 11 6064.446972 11248.764999 -27122.237563 .025423
+P 13 25065.028923 -7418.729835 -4503.246953 -30.889405
+V 13 5953.764658 1156.567725 31591.420491 .002478
+P 14 -11800.778592 14930.562185 18581.353171 -18.167513
+V 14 -23284.711914 3018.665365 -17246.507244 -.001179
+P 15 -1829.768414 19122.257246 -18466.575910 233.317636
+V 15 -14729.868315 -17789.846539 -17409.744675 .051549
+P 16 172.629400 23821.970835 -11668.003316 15.254861
+V 16 -7251.174652 13263.712335 26816.334084 -.003922
+P 17 -16893.131930 -20616.088930 -3899.733136 208.400758
+V 17 -1227.894480 -5254.747768 30973.669472 .195494
+P 18 -16743.576063 14672.978636 -14293.032014 -15.594835
+V 18 4912.564642 -17741.245742 -24124.427785 -.026687
+P 20 15510.644192 783.227022 21478.830710 -183.942058
+V 20 -8647.838145 26025.887099 5281.412857 .027466
+P 21 -14908.145827 5454.134340 -21391.431816 73.120780
+V 21 -16163.757065 -21646.237579 5371.294577 .005513
+P 22 -12163.884818 23425.135007 -2993.273909 -39.603678
+V 22 -974.231931 -4750.580001 -31445.058507 .087122
+P 24 -10534.858669 -23008.297908 8232.757176 8.330043
+V 24 7948.550712 6580.630875 29705.678458 .030201
+P 25 3759.679336 20721.343856 16565.575118 61.765293
+V 25 -15864.947715 -12973.586225 20257.413748 .007895
+P 26 -17676.287471 -9266.927642 -18080.180474 409.292106
+V 26 21707.444984 -4589.260757 -18539.831970 -.125119
+P 27 16705.011578 -3248.964857 -20036.922629 920.174765
+V 27 17472.818487 19849.056931 10586.940544 .042375
+P 28 11882.559174 -23092.180813 -4540.781528 21.960548
+V 28 808.525045 6740.437149 -31215.816192 .016112
+P 29 -11895.830095 -11643.947187 -20445.846779 230.154643
+V 29 25795.945076 -6133.626770 -11314.462622 .032370
+P 30 -16756.929575 10027.626700 17727.100530 806.058126
+V 30 5183.645096 -22563.265160 17536.911317 .142216
+P 31 21245.846791 6468.289802 -15138.761848 41.777657
+V 31 -17585.129490 6394.759129 -22110.833947 .306193
+* 2004 3 1 18 0 .00000000
+P 1 24370.608586 1859.636756 10600.801992 332.695321
+V 1 -12429.400706 4770.783717 28167.809855 .013896
+P 3 7005.562868 14446.092517 -21265.406767 90.090540
+V 3 -25489.286684 8598.078092 -2342.393984 .031353
+P 4 1873.853800 -17950.958328 19392.253591 -77.349600
+V 4 17799.142474 17175.941727 14506.783186 -.092084
+P 5 -13986.628155 -8284.840949 20903.137519 19.879760
+V 5 6137.890460 -26194.016626 -6070.749224 .014936
+P 6 -26016.168706 5250.733575 2393.642145 -1.421485
+V 6 1811.945730 -4077.109001 30911.865864 -.008086
+P 7 14192.802254 -16330.594220 15696.037641 611.244778
+V 7 19223.834994 -3274.775446 -21504.969823 -.079051
+P 8 9215.314202 -12358.696831 -21798.864334 354.828545
+V 8 18576.223426 19918.792383 -3779.416636 -.089122
+P 9 -21252.124136 -15180.370178 5419.071545 -32.483784
+V 9 -3357.494465 -7110.237012 -30291.326977 -.018847
+P 10 -2792.039860 -22518.199819 -13616.753247 40.212200
+V 10 6761.748921 -16019.585147 25463.475259 .005314
+P 11 22687.566030 12045.785915 7019.251960 100.053674
+V 11 4192.117455 8920.898734 -28697.738899 .025417
+P 13 25444.593108 -7294.995930 -1629.297595 -30.888915
+V 13 2482.527156 1666.225236 32182.022611 .002481
+P 14 -13796.702510 15238.920433 16874.391971 -18.167874
+V 14 -21004.910271 3776.338761 -20631.872460 -.001182
+P 15 -3247.248898 17493.849048 -19871.816409 233.322746
+V 15 -16747.955616 -18312.632783 -13775.334244 .051491
+P 16 -406.505680 24898.139272 -9160.719193 15.254337
+V 16 -5663.072003 10591.029688 28820.535156 -.003919
+P 17 -16925.773486 -20958.558699 -1087.621250 208.418766
+V 17 564.594758 -2388.918007 31431.550612 .195514
+P 18 -16302.714746 12954.591541 -16333.527300 -15.596929
+V 18 4814.878692 -20400.775263 -21154.527502 -.026678
+P 20 14788.419747 3163.985601 21766.844423 -183.939264
+V 20 -7367.361583 26794.350011 1109.601818 .027485
+P 21 -16389.726049 3571.976197 -20727.141721 73.121414
+V 21 -16693.372370 -20123.038377 9367.761207 .005525
+P 22 -12207.253791 22850.967534 -5789.435981 -39.595856
+V 22 -59.192848 -8016.458661 -30602.263762 .087113
+P 24 -9710.608465 -22321.768857 10828.292150 8.332098
+V 24 10391.712673 8603.253112 27891.703723 .030313
+P 25 2233.519176 19525.103447 18244.932861 61.764850
+V 25 -18026.516470 -13533.064626 17010.835590 .007904
+P 26 -15648.859825 -9753.875362 -19594.796564 409.281084
+V 26 23265.356765 -6254.118561 -15070.398904 -.125110
+P 27 18275.467439 -1547.828882 -18909.486530 920.178459
+V 27 17348.369794 17913.950200 14426.240996 .042376
+P 28 11922.385872 -22336.495558 -7301.978543 21.962174
+V 28 147.404693 10049.459196 -30053.627407 .016115
+P 29 -9539.711709 -12271.114609 -21281.239904 230.157489
+V 29 26468.050546 -7802.125749 -7221.611023 .032362
+P 30 -16317.365944 7905.391925 19144.984897 806.071012
+V 30 4530.876418 -24531.126547 13925.000153 .142201
+P 31 19576.355543 7110.476198 -16997.552054 41.804706
+V 31 -19443.166229 7902.209457 -19138.704690 .306167
+* 2004 3 1 18 15 .00000000
+P 1 23130.030992 2354.977040 13038.361354 332.697333
+V 1 -15075.298924 6283.104978 25923.758315 .014604
+P 3 4724.950066 15276.049036 -21294.310994 90.092384
+V 3 -25110.690166 9816.625450 1702.209866 .031525
+P 4 3561.722110 -16400.367517 20526.089436 -77.357114
+V 4 19669.067897 17201.852801 10654.762798 -.092073
+P 5 -13497.639672 -10616.540392 20176.980872 19.879688
+V 5 4730.367931 -25534.794412 -10041.574097 .014709
+P 6 -25714.004062 4834.344872 5147.429041 -1.422108
+V 6 4868.767928 -5232.744564 30196.670658 -.007963
+P 7 15810.228164 -16630.291439 13633.354978 611.237707
+V 7 16678.015776 -3320.123388 -24269.724951 -.079046
+P 8 10941.431160 -10603.804296 -21953.590001 354.820531
+V 8 19722.519609 19011.700012 344.091623 -.089076
+P 9 -21456.086726 -15707.263338 2654.596309 -32.484996
+V 9 -1119.859919 -4637.843687 -31053.843074 -.018777
+P 10 -2256.107443 -23845.864598 -11213.156572 40.212564
+V 10 5191.963796 -13416.043412 27872.857293 .005143
+P 11 22967.384288 12749.477323 4383.879040 100.055833
+V 11 1972.133479 6748.743946 -29782.564641 .025412
+P 13 25513.697828 -7105.847360 1272.819759 -30.888466
+V 13 -928.344783 2607.302739 32216.365724 .002480
+P 14 -15571.266226 15599.127878 14878.197700 -18.167876
+V 14 -18378.939246 4162.014519 -23664.709668 -.001188
+P 15 -4839.147484 15840.890936 -20939.445266 233.324946
+V 15 -18591.112951 -18339.089821 -9917.988265 .051314
+P 16 -855.710433 25718.650341 -6495.280502 15.253960
+V 16 -4374.056405 7595.224823 30325.918134 -.003921
+P 17 -16781.083808 -21053.252819 1742.405088 208.436482
+V 17 2703.978600 238.642855 31371.649908 .195533
+P 18 -15888.790876 11010.122987 -18089.905386 -15.599067
+V 18 4321.310005 -22751.173131 -17820.111710 -.026675
+P 20 14189.393908 5590.345985 21677.981788 -183.936598
+V 20 -5924.580554 27034.615748 -3081.442158 .027504
+P 21 -17900.230456 1840.989654 -19710.350507 73.122116
+V 21 -16799.426751 -18300.052495 13193.826122 .005536
+P 22 -12187.268220 21982.251120 -8485.779769 -39.587947
+V 22 432.175467 -11279.655896 -29229.719595 .087101
+P 24 -8661.433798 -21473.293396 13239.200919 8.333697
+V 24 12931.914225 10173.777390 25609.205345 .030578
+P 25 520.345720 18298.869318 19619.213643 61.764805
+V 25 -20006.925915 -13643.855788 13487.321931 .008037
+P 26 -13503.601526 -10395.370698 -20785.055161 409.269992
+V 26 24321.211628 -8008.850080 -11341.210441 -.125104
+P 27 19813.422742 -30.263826 -17448.544717 920.182483
+V 27 16748.017109 15785.315389 17987.585663 .042376
+P 28 11921.877555 -21285.370756 -9934.483101 21.963336
+V 28 -88.175195 13288.763311 -28360.072751 .016121
+P 29 -7148.592236 -13046.657732 -21741.772009 230.160600
+V 29 26573.795187 -9414.909237 -2996.695991 .032352
+P 30 -15950.060275 5624.952068 20226.198717 806.084143
+V 30 3588.904053 -26068.541680 10066.522672 .142180
+P 31 17759.493200 7894.233517 -18574.227482 41.831502
+V 31 -20854.502422 9527.654471 -15850.024046 .306163
+* 2004 3 1 18 30 .00000000
+P 1 21669.482917 2997.844022 15253.948044 332.697670
+V 1 -17307.432768 8036.657493 23242.252822 .015067
+P 3 2499.629033 16206.735678 -20959.653992 90.096202
+V 3 -24266.272487 10823.764828 5725.311478 .031765
+P 4 5405.845871 -14868.421318 21304.882908 -77.365731
+V 4 21257.962664 16768.435554 6628.549387 -.092064
+P 5 -13133.540155 -12865.751119 19101.083093 19.881077
+V 5 3376.788588 -24364.405798 -13831.558067 .014728
+P 6 -25147.117903 4299.301768 7813.681281 -1.422523
+V 6 7681.673580 -6705.824504 28969.703661 -.007882
+P 7 17188.705464 -16916.065369 11339.490573 611.230508
+V 7 13927.760786 -2960.988553 -26634.562801 -.079046
+P 8 12753.738701 -8947.704178 -21737.411574 354.812346
+V 8 20481.620353 17734.567241 4451.503283 -.089032
+P 9 -21444.705734 -16023.334033 -154.785687 -32.487132
+V 9 1417.148027 -2436.745012 -31288.827478 -.018758
+P 10 -1848.499425 -24921.943554 -8614.111727 40.211860
+V 10 3921.275794 -10441.503394 29800.090590 .004966
+P 11 23033.696340 13267.336340 1673.660505 100.057942
+V 11 -542.561014 4802.103091 -30358.669500 .025401
+P 13 25282.301981 -6813.527634 4152.916071 -30.888246
+V 13 -4179.079618 3952.894712 31693.291806 .002478
+P 14 -17097.074349 15975.552364 12626.889058 -18.167886
+V 14 -15491.992299 4130.576623 -26292.939725 -.001193
+P 15 -6585.840436 14206.793855 -21652.332230 233.329612
+V 15 -20174.252747 -17900.055359 -5903.296043 .051388
+P 16 -1204.442780 26258.044018 -3717.786597 15.253521
+V 16 -3438.059784 4358.531445 31307.191547 -.003921
+P 17 -16430.424581 -20924.887455 4543.823921 208.453784
+V 17 5130.717356 2557.149718 30796.930924 .195545
+P 18 -15535.211330 8871.035274 -19531.987143 -15.601493
+V 18 3483.801774 -24713.506611 -14180.519368 -.026668
+P 20 13724.190975 8013.797241 21213.798188 -183.934023
+V 20 -4408.674959 26728.204597 -7218.741912 .027517
+P 21 -19399.863251 284.475726 -18359.260281 73.122900
+V 21 -16447.389631 -16260.279369 16786.466835 .005548
+P 22 -12142.180182 20823.677422 -11035.535301 -39.579882
+V 22 500.230198 -14441.320018 -27349.131649 .087091
+P 24 -7382.702807 -20504.814958 15425.131180 8.338037
+V 24 15477.422701 11267.389118 22899.653828 .030925
+P 25 -1359.879260 17081.773264 20666.082288 61.766083
+V 25 -21725.977349 -13336.356118 9744.958077 .008166
+P 26 -11286.708993 -11195.442478 -21630.159521 409.258628
+V 26 24855.403058 -9762.645152 -7410.320462 -.125098
+P 27 21275.630194 1290.574696 -15681.865532 920.186463
+V 27 15665.597130 13558.246326 21211.038889 .042372
+P 28 11918.950497 -19949.635192 -12391.726852 21.964458
+V 28 90.156407 16357.669798 -26164.686439 .016125
+P 29 -4773.122792 -13961.285822 -21818.962097 230.163301
+V 29 26123.731975 -10877.433281 1284.277602 .032338
+P 30 -15677.904548 3227.620183 20951.634345 806.096971
+V 30 2429.195828 -27120.997440 6030.672015 .142162
+P 31 15836.724856 8826.560022 -19842.634806 41.858592
+V 31 -21793.716874 11189.861749 -12297.423854 .306165
+* 2004 3 1 18 45 .00000000
+P 1 20028.719101 3806.422166 17210.227400 332.699626
+V 1 -19072.599129 9951.492316 20169.633045 .015663
+P 3 369.755256 17215.800452 -20266.455304 90.099058
+V 3 -22997.853188 11547.034963 9658.436474 .031928
+P 4 7377.434367 -13394.375091 21716.117125 -77.374136
+V 4 22489.895953 15924.633011 2498.659439 -.092054
+P 5 -12885.705609 -14987.668987 17694.688083 19.881638
+V 5 2160.050428 -22712.423574 -17375.447525 .014786
+P 6 -24340.805984 3619.410866 10347.285817 -1.422174
+V 6 10178.222009 -8441.348359 27253.338869 -.007896
+P 7 18313.672642 -17150.579783 8852.448206 611.222900
+V 7 11059.204668 -2179.455776 -28555.811392 -.079041
+P 8 14614.913087 -7420.516963 -21154.835318 354.804100
+V 8 20800.901135 16159.917129 8475.111221 -.088989
+P 9 -21194.110674 -16155.888082 -2961.607820 -32.489027
+V 9 4183.491731 -568.830263 -30997.924858 -.018702
+P 10 -1539.497377 -25716.680009 -5864.684019 40.212556
+V 10 3009.388083 -7178.825627 31209.504387 .004736
+P 11 22862.825568 13622.406779 -1065.124945 100.059848
+V 11 -3286.845603 3140.050269 -30416.512784 .025397
+P 13 24769.070433 -6383.520331 6961.139846 -30.888321
+V 13 -7176.594409 5658.130133 30621.454513 .002478
+P 14 -18354.792547 16329.259604 10158.973236 -18.167567
+V 14 -12437.450569 3654.021013 -28471.259984 -.001199
+P 15 -8460.399245 12631.443713 -21999.339630 233.334176
+V 15 -21420.639611 -17042.735443 -1798.661169 .051571
+P 16 -1486.307131 26498.690488 -876.202207 15.252999
+V 16 -2892.999584 972.174980 31748.246049 -.003919
+P 17 -15851.065524 -20603.997087 7270.707163 208.471383
+V 17 7773.440798 4508.438889 29717.597712 .195554
+P 18 -15270.055489 6575.320635 -20635.174031 -15.603828
+V 18 2368.374208 -26222.060150 -10300.223953 -.026660
+P 20 13395.284434 10385.022980 20382.383023 -183.931378
+V 20 -2910.976597 25875.762516 -11230.292158 .027534
+P 21 -20846.466060 -1082.016197 -16697.552613 73.123737
+V 21 -15619.452789 -14092.423508 20087.080203 .005563
+P 22 -12109.385863 19388.766584 -13394.297338 -39.572256
+V 22 163.576895 -17404.736649 -24991.288643 .087082
+P 24 -5878.144595 -19459.676916 17349.757992 8.341431
+V 24 17934.755833 11877.832305 19810.928963 .031090
+P 25 -3380.309175 15909.527153 21368.567846 61.767536
+V 25 -23111.331950 -12655.901510 5844.726168 .008321
+P 26 -9045.359952 -12149.836807 -22114.715440 409.247534
+V 26 24865.814502 -11422.814691 -3339.624215 -.125089
+P 27 22619.115760 2410.134229 -13642.268132 920.190495
+V 27 14113.281191 11328.178239 24044.421569 .042369
+P 28 11949.639948 -18348.977657 -14630.237150 21.965640
+V 28 652.379127 19160.625644 -23506.617963 .016130
+P 29 -2462.093927 -14997.390006 -21511.239233 230.166131
+V 29 25148.510594 -12100.050914 5544.019594 .032327
+P 30 -15516.928174 758.866632 21308.572457 806.109646
+V 30 1132.242100 -27650.932885 1889.978752 .142139
+P 31 13851.085435 9906.983193 -20781.540461 41.886225
+V 31 -22251.433520 12804.553758 -8537.489230 .306166
+* 2004 3 1 19 0 .00000000
+P 1 18251.527652 4791.320655 18874.317401 332.699547
+V 1 -20334.616925 11939.764117 16758.366144 .016329
+P 3 -1628.934631 18274.800032 -19225.862244 90.103120
+V 3 -21361.505729 11924.001187 13434.075566 .032185
+P 4 9441.391478 -12012.405224 21753.678936 -77.382407
+V 4 23301.127648 14733.957483 -1663.331227 -.092033
+P 5 -12738.332627 -16940.910243 15982.705408 19.883621
+V 5 1156.261374 -20625.031106 -20612.769750 .014951
+P 6 -23326.347383 2773.985113 12705.498287 -1.422761
+V 6 12298.272098 -10372.348174 25077.753520 -.008022
+P 7 19178.502913 -17295.659032 6213.872275 611.215683
+V 7 8162.005258 -974.913634 -29996.393572 -.079022
+P 8 16483.569331 -6045.398164 -20216.382491 354.795563
+V 8 20643.014375 14369.500501 12349.111264 -.088943
+P 9 -20687.164657 -16137.148902 -5718.921906 -32.490486
+V 9 7100.040134 918.787537 -30190.939422 -.018453
+P 10 -1294.722928 -26208.299086 -3012.737954 40.213722
+V 10 2499.781001 -3721.963154 32074.684342 .004684
+P 11 22437.417588 13842.483249 -3785.728408 100.062021
+V 11 -6185.771806 1808.762132 -29955.198743 .025400
+P 13 24000.611469 -5786.094611 9648.855938 -30.888063
+V 13 -9838.008109 7661.874707 29019.193627 .002491
+P 14 -19333.729079 16619.613535 7516.699782 -18.167093
+V 14 -9313.388654 2722.681351 -30161.931465 -.001208
+P 15 -10429.473184 11149.814764 -21975.438716 233.338872
+V 15 -22264.733205 -15828.694053 2327.736369 .051738
+P 16 -1737.543407 26431.447644 1980.480403 15.252750
+V 16 -2759.342589 -2467.044839 31642.380183 -.003913
+P 17 -15027.141419 -20125.711542 9878.363901 208.488146
+V 17 10551.396973 6048.826576 28150.905309 .195573
+P 18 -15114.930880 4166.195730 -21380.855018 -15.606041
+V 18 1052.318945 -27226.813592 -6247.596772 -.026651
+P 20 13196.970548 12655.629027 19198.213829 -183.928964
+V 20 -1521.251299 24497.077351 -15046.352011 .027555
+P 21 -22197.057483 -2251.050392 -14753.954424 73.123882
+V 21 -14315.192580 -11887.514490 23042.274151 .005571
+P 22 -12123.809551 17699.508037 -15520.825232 -39.564470
+V 22 -541.636981 -20079.017627 -22195.640859 .087074
+P 24 -4159.849396 -18380.952051 18981.320432 8.344688
+V 24 20212.168159 12017.301479 16396.421087 .031086
+P 25 -5508.039067 14813.157391 21715.287227 61.768974
+V 25 -24101.101505 -11660.933751 1849.681876 .008433
+P 26 -6826.125500 -13246.001095 -22229.046762 409.236439
+V 26 24368.028482 -12898.207904 805.827370 -.125083
+P 27 23802.800533 3332.323014 -11366.894435 920.194044
+V 27 12120.829239 9187.076583 26443.933863 .042366
+P 28 12046.497448 -16511.312073 -16610.469306 21.967232
+V 28 1551.377141 21611.012264 -20433.858002 .016141
+P 29 -260.678087 -16129.657682 -20823.987032 230.168472
+V 29 23697.603451 -13001.826011 9705.540226 .032319
+P 30 -15475.637735 -1733.279587 21290.916905 806.122966
+V 30 -215.867996 -27639.237989 -2281.154498 .142116
+P 31 11845.720013 11127.423928 -21374.955965 41.914017
+V 31 -22234.578163 14287.491103 -4630.075814 .306168
+* 2004 3 1 19 15 .00000000
+P 1 16384.141334 5955.013489 20218.301216 332.702325
+V 1 -21075.478294 13909.116914 13066.172008 .017227
+P 3 -3466.315714 19350.222591 -17855.011717 90.107121
+V 3 -19425.471511 11904.865271 16986.827675 .032196
+P 4 11557.526111 -10750.416191 21417.897412 -77.390953
+V 4 23642.533738 13271.783554 -5786.043219 -.092019
+P 5 -12669.189218 -18688.929159 13995.234002 19.884569
+V 5 431.695516 -18163.205398 -23488.834288 .015069
+P 6 -22139.802130 1748.808302 14848.620696 -1.422777
+V 6 13996.017689 -12422.453361 22480.366823 -.008228
+P 7 19784.674238 -17313.869982 3468.413518 611.208462
+V 7 5326.049622 635.508830 -30926.723677 -.079001
+P 8 18315.702547 -4837.847508 -18938.377077 354.787069
+V 8 19987.268744 12451.153261 16010.503324 -.088894
+P 9 -19914.153505 -16002.861489 -8381.012125 -32.490294
+V 9 10081.474719 1995.143231 -28885.370425 -.018266
+P 10 -1076.686600 -26383.848455 -108.074687 40.213799
+V 10 2417.862932 -172.390704 32379.084506 .004542
+P 11 21747.204813 13958.871041 -6441.710209 100.064564
+V 11 -9157.282859 839.842630 -28982.485302 .025405
+P 13 23010.414983 -4997.667379 12169.504697 -30.887838
+V 13 -12093.755984 9889.089344 26914.224691 .002507
+P 14 -20032.092609 16805.955622 4745.348801 -18.167224
+V 14 -6218.898176 1345.751323 -31335.448483 -.001217
+P 15 -12454.408886 9790.786236 -21581.734136 233.344853
+V 15 -22654.599337 -14331.361794 6407.942610 .051900
+P 16 -1995.417764 26056.000923 4803.091889 15.252505
+V 16 -3039.363167 -5860.372484 30992.355418 -.003908
+P 17 -13950.374970 -19528.386847 12323.965532 208.505924
+V 17 13377.194979 7150.492236 26120.945649 .195596
+P 18 -15084.101510 1690.600988 -21756.699836 -15.608299
+V 18 -379.033634 -27695.287762 -2093.622552 -.026651
+P 20 13115.674559 14779.838902 17681.895915 -183.926433
+V 20 -324.050286 22630.349713 -18600.692401 .027577
+P 21 -23409.403766 -3223.360330 -12561.737042 73.124864
+V 21 -12551.599547 -9735.495428 25604.561622 .005594
+P 22 -12216.383471 15785.676581 -17377.796766 -39.556657
+V 22 -1563.139934 -22382.603220 -19009.699342 .087067
+P 24 -2247.959206 -17309.811965 20293.076044 8.348161
+V 24 22223.023694 11715.668415 12714.105814 .031077
+P 25 -7705.149300 13817.924315 21700.594920 61.769860
+V 25 -24646.073825 -10420.736617 -2175.865015 .008525
+P 26 -4673.390262 -14463.377898 -21969.445117 409.225649
+V 26 23394.934383 -14102.661708 4958.605670 -.125076
+P 27 24789.024764 4069.036767 -8896.436380 920.197989
+V 27 9734.176275 7219.920844 28374.528961 .042361
+P 28 12237.138453 -14471.815170 -18297.559247 21.968582
+V 28 2724.971253 23634.587082 -17002.247794 .016149
+P 29 1791.177252 -17326.015323 -19769.445092 230.171544
+V 29 21837.243256 -13513.989565 13693.736005 .032314
+P 30 -15554.676340 -4199.930428 20899.295753 806.136314
+V 30 -1527.099146 -27085.989935 -6407.954443 .142093
+P 31 9862.425478 12472.339781 -21612.400229 41.941971
+V 31 -21766.091571 15557.574792 -637.591571 .306169
+* 2004 3 1 19 30 .00000000
+P 1 14473.575192 7291.591968 21219.658602 332.704252
+V 1 -21295.830991 15766.219600 9155.096817 .017951
+P 3 -5118.857719 20404.726004 -16176.788752 90.110557
+V 3 -17267.593132 11454.625043 20254.548581 .032178
+P 4 13681.955044 -9629.110560 20715.471646 -77.399025
+V 4 23481.445073 11622.232240 -9799.494542 -.092004
+P 5 -12650.621422 -20201.246777 11767.001639 19.886022
+V 5 40.170268 -15400.351627 -25955.601676 .015162
+P 6 -20820.649444 536.853143 16740.624859 -1.424474
+V 6 15241.485039 -14508.785241 19505.197673 -.008474
+P 7 20141.637743 -17170.112957 663.016871 611.201626
+V 7 2638.066329 2617.184697 -31325.535712 -.078974
+P 8 20066.226846 -3805.309717 -17342.655108 354.778677
+V 8 18830.413135 10495.477833 19399.932741 -.088842
+P 9 -18873.206049 -15790.799726 -10904.064658 -32.492173
+V 9 13039.339872 2646.194926 -27105.896042 -.018291
+P 10 -846.470105 -26239.701427 2798.475273 40.214463
+V 10 2769.862441 3364.797819 32116.433220 .004435
+P 11 20789.513236 14005.019826 -8987.714194 100.066887
+V 11 -12115.204736 249.202697 -27514.661487 .025409
+P 13 21837.533119 -4001.927069 14479.425066 -30.887587
+V 13 -13890.179255 12253.751646 24343.149097 .002528
+P 14 -20456.916143 16849.298507 1892.464690 -18.167351
+V 14 -3250.367800 -448.920596 -31971.077410 -.001227
+P 15 -14492.564733 8576.201304 -20825.399997 233.348136
+V 15 -22553.816937 -12633.158308 10375.191383 .052022
+P 16 -2296.578802 25380.873748 7543.133677 15.252208
+V 16 -3717.119524 -9110.774065 29810.283813 -.003905
+P 17 -12620.542452 -18852.134342 14567.150502 208.523078
+V 17 16159.764541 7802.350594 23658.407925 .195633
+P 18 -15183.921284 -802.435163 -21756.835589 -15.610387
+V 18 -1835.837777 -27613.692756 2089.403493 -.026651
+P 20 13130.576648 16716.091147 15859.792693 -183.924276
+V 20 604.723139 20330.748535 -21831.773914 .027597
+P 21 -24443.564013 -4007.600147 -10158.157111 73.125353
+V 21 -10362.486352 -7721.896627 27732.958905 .005601
+P 22 -12412.685606 13683.847147 -18932.500013 -39.548797
+V 22 -2834.619339 -24246.432704 -15488.260708 .087063
+P 24 -170.064241 -16283.994366 21263.671400 8.349846
+V 24 23888.942480 11019.089456 8825.607176 .030916
+P 25 -9929.930623 12942.461947 21324.659065 61.771790
+V 25 -24711.507696 -9012.815556 -6167.168365 .008583
+P 26 -2627.835417 -15774.006498 -21338.345120 409.213283
+V 26 21995.722869 -14958.370910 9049.784092 -.125067
+P 27 25544.918214 4639.387008 -6274.339835 920.202175
+V 27 7013.448347 5501.606733 29810.063280 .042356
+P 28 12543.002681 -12271.676777 -19661.978357 21.970013
+V 28 4098.595844 25172.404498 -13274.302027 .016161
+P 29 3660.138620 -18548.860337 -18366.469422 230.175117
+V 29 19647.663447 -13582.883011 17436.929312 .032307
+P 30 -15746.815981 -6593.069135 20141.027137 806.149043
+V 30 -2715.189960 -26010.398448 -10416.772749 .142067
+P 31 7940.242406 13919.144730 -21489.095418 41.969956
+V 31 -20884.102183 16539.873038 3375.762912 .306166
+* 2004 3 1 19 45 .00000000
+P 1 12565.951273 8786.837401 21861.612028 332.706206
+V 1 -21014.782805 17420.325384 5090.546355 .018590
+P 3 -6570.358523 21398.546621 -14219.482176 90.113187
+V 3 -14972.355403 10554.690840 23179.484704 .032094
+P 4 15768.642656 -8661.353046 19659.293587 -77.407573
+V 4 22802.843678 9874.774669 -13636.229564 -.091991
+P 5 -12650.773389 -21454.445793 9336.732561 19.887895
+V 5 20.939758 -12419.490143 -27972.409828 .015300
+P 6 -19410.317154 -861.272098 18349.714801 -1.424347
+V 6 16021.447740 -16545.076321 16202.152249 -.008616
+P 7 20266.381823 -16833.159292 -2153.860844 611.194416
+V 7 178.273148 4918.934929 -31180.608604 -.078948
+P 8 21690.557279 -2947.077681 -15456.200936 354.770327
+V 8 17186.807818 8592.460192 22462.472714 -.088783
+P 9 -17570.437238 -15539.230751 -13246.789286 -32.494361
+V 9 15885.135660 2875.004430 -24883.824584 -.018263
+P 10 -565.472282 -25781.700140 5655.987051 40.215249
+V 10 3542.516567 6784.962182 31290.916798 .004350
+P 11 19569.491903 14015.083119 -11380.225139 100.069229
+V 11 -14972.398666 36.536118 -25576.295106 .025416
+P 13 20525.055464 -2790.673451 16538.625844 -30.886818
+V 13 -15191.485430 14662.223629 21350.794433 .002542
+P 14 -20623.649515 16713.968466 -992.952283 -18.167162
+V 14 -497.861476 -2615.760587 -32057.252711 -.001238
+P 15 -16498.772046 7520.198600 -19719.531303 233.352810
+V 15 -21942.826192 -10822.331282 14164.822807 .052207
+P 16 -2675.443861 24423.109704 10153.608379 15.251812
+V 16 -4759.142869 -12126.531022 28117.354576 -.003901
+P 17 -11045.666278 -18137.295349 16570.606164 208.541274
+V 17 18807.451195 8010.386295 20800.308491 .195670
+P 18 -15412.592192 -3263.502599 -21381.906301 -15.612507
+V 18 -3227.401440 -26987.344055 6229.169776 -.026657
+P 20 13214.532019 18428.476577 13763.553985 -183.922012
+V 20 1200.894745 17668.310204 -24683.832263 .027615
+P 21 -25263.355187 -4619.804744 -7583.847859 73.125549
+V 21 -7797.303893 -5924.704859 29393.491305 .005604
+P 22 -12731.792176 11436.144214 -20157.447952 -39.540814
+V 22 -4278.393560 -25616.648840 -11692.467797 .087052
+P 24 2039.669807 -15336.421265 21877.428238 8.352450
+V 24 25142.620900 9988.056346 4795.260066 .030819
+P 25 -12138.249353 12198.166572 20593.463871 61.772603
+V 25 -24278.443789 -7520.002941 -10059.865278 .008458
+P 26 -725.039689 -17143.419816 -20344.415576 409.201819
+V 26 20234.272720 -15399.060779 13009.925107 -.125054
+P 27 26043.570411 5068.673036 -3546.003871 920.205613
+V 27 4030.519423 4094.360118 30733.254753 .042346
+P 28 12978.379902 -9956.615580 -20680.075371 21.971639
+V 28 5588.498064 26183.087757 -9317.882438 .016169
+P 29 5320.600446 -19756.529751 -16640.158088 230.178106
+V 29 17219.766263 -13172.258090 20868.317120 .032300
+P 30 -16037.281619 -8867.240254 19029.952304 806.162603
+V 30 -3699.277685 -24449.968688 -14236.535349 .142039
+P 31 6114.145119 15438.894392 -21006.092338 41.997964
+V 31 -19640.575411 17168.477547 7344.801579 .306160
+* 2004 3 1 20 0 .00000000
+P 1 10704.871073 10418.610549 22133.384375 332.708493
+V 1 -20269.040948 18786.730587 940.288994 .019163
+P 3 -7812.397660 22291.026172 -12016.339765 90.114279
+V 3 -12627.640921 9203.883556 25709.368894 .032047
+P 4 17771.018209 -7851.847848 18268.173011 -77.416074
+V 4 21609.886638 8120.688802 -17232.363075 -.091981
+P 5 -12634.971004 -22432.896432 6746.456364 19.888933
+V 5 397.176954 -9310.111461 -29506.552507 .015364
+P 6 -17950.656006 -2437.163699 19648.822246 -1.424834
+V 6 16339.734145 -18444.904410 12626.250890 -.008899
+P 7 20182.701293 -16277.072164 -4933.092498 611.187093
+V 7 -1982.801748 7474.672893 -30489.351756 -.078921
+P 8 23146.179550 -2254.498853 -13310.715676 354.762263
+V 8 15087.983161 6828.133213 25148.349040 -.088718
+P 9 -16019.814623 -15285.389275 -15370.990660 -32.494934
+V 9 18533.356973 2701.339848 -22256.527142 -.018285
+P 10 -197.146901 -25024.930988 8414.382256 40.215176
+V 10 4703.574441 9987.982946 29917.131326 .004169
+P 11 18100.055714 14022.458233 -13578.297715 100.071266
+V 11 -17643.959513 185.411510 -23199.853527 .025423
+P 13 19118.439181 -1364.339290 18311.490459 -30.887179
+V 13 -15981.000879 17016.930284 17989.399075 .002545
+P 14 -20555.435584 16369.132695 -3861.283238 -18.167390
+V 14 1958.265696 -5093.091980 -31591.820394 -.001253
+P 15 -18426.891033 6628.836916 -18282.914710 233.357381
+V 15 -20819.681008 -8989.620184 17715.157616 .052376
+P 16 -3162.678309 23207.640251 12589.818712 15.251890
+V 16 -6115.807115 -14824.612622 25943.408923 -.003891
+P 17 -9241.926062 -17422.910515 18300.624645 208.558186
+V 17 21231.162238 7797.435678 17589.681758 .195701
+P 18 -15760.253744 -5644.520029 -20639.017325 -15.614551
+V 18 -4465.853865 -25840.341715 10254.608843 -.026667
+P 20 13335.247807 19887.960021 11429.551580 -183.919839
+V 20 1414.626524 14725.266752 -27107.850748 .027632
+P 21 -25837.685629 -5082.580779 -4882.168900 73.125839
+V 21 -4919.412641 -4411.529857 30559.609188 .005612
+P 22 -13185.393348 9088.773296 -21030.901713 -39.532571
+V 22 -5808.570373 -26456.718638 -7688.721894 .087041
+P 24 4341.610377 -14494.014806 22124.545478 8.356453
+V 24 25930.239513 8694.967520 689.179262 .030860
+P 25 -14285.007154 11588.854897 19518.738047 61.772854
+V 25 -23344.490212 -6027.377513 -13790.801273 .008308
+P 26 1005.748045 -18531.813378 -19002.557014 409.190320
+V 26 18186.956448 -15372.839346 16770.174650 -.125036
+P 27 26264.964791 5387.146663 -757.991128 920.209957
+V 27 866.227399 3045.726030 31135.484001 .042333
+P 28 13549.741722 -7575.223351 -21334.493733 21.972991
+V 28 7105.312436 26644.356045 -5204.764222 .016184
+P 29 6755.478910 -20904.943085 -14621.352093 230.180695
+V 29 14651.369909 -12264.834586 23927.288163 .032294
+P 30 -16404.391289 -10981.130630 17586.141723 806.175777
+V 30 -4407.271363 -22458.926197 -17800.107877 .142002
+P 31 4413.875747 16997.217095 -20170.320866 42.025678
+V 31 -18099.470965 17389.095232 11204.212284 .306151
+* 2004 3 1 20 15 .00000000
+P 1 8929.894141 12157.543324 22030.365847 332.711347
+V 1 -19111.420561 19790.013039 -3226.563058 .019583
+P 3 -8844.489503 23042.198587 -9605.027437 90.117524
+V 3 -10321.322093 7418.760984 27798.452778 .032040
+P 4 19643.609741 -7197.136476 16566.472699 -77.423185
+V 4 19923.752829 6449.502762 -20528.530348 -.091963
+P 5 -12567.213753 -23129.188986 4040.771560 19.890249
+V 5 1175.092380 -6164.824243 -30533.707978 .015535
+P 6 -16482.413904 -4174.754629 20616.030095 -1.424441
+V 6 16216.921903 -20124.929811 8836.802109 -.009285
+P 7 19920.193554 -15482.449215 -7625.767267 611.179773
+V 7 -3787.183970 10205.711553 -29259.214021 -.078891
+P 8 24394.153063 -1711.475785 -10942.122999 354.754454
+V 8 12581.603672 5281.394195 27413.607984 -.088650
+P 9 -14242.757079 -15064.012564 -17242.088050 -32.496273
+V 9 20904.390364 2160.730838 -19266.860866 -.018379
+P 10 291.341114 -23993.140865 11025.354923 40.215218
+V 10 6203.097597 12882.147547 28019.801845 .004102
+P 11 16401.542725 14058.362242 -15544.245758 100.073325
+V 11 -20050.342422 663.978304 -20425.201634 .025431
+P 13 17663.760220 267.827537 19767.401992 -30.887088
+V 13 -16261.666566 19220.200891 14317.658668 .002556
+P 14 -20282.097539 15790.151469 -6663.142694 -18.167682
+V 14 4050.382238 -7805.392543 -30582.121395 -.001266
+P 15 -20231.406856 5900.023913 -16539.722586 233.362226
+V 15 -19200.186861 -7224.855501 20968.327250 .052526
+P 16 -3783.826627 21766.363665 14810.121746 15.251664
+V 16 -7723.320748 -17133.700313 23326.375117 -.003890
+P 17 -7233.287558 -16745.233894 19727.628712 208.576034
+V 17 23347.475361 7202.411329 14075.220420 .195736
+P 18 -16209.397013 -7900.384284 -19541.568656 -15.617040
+V 18 -5469.668397 -24214.536894 14097.102460 -.026679
+P 20 13456.669372 21073.339850 8898.233039 -183.917354
+V 20 1212.447270 11592.909748 -29062.402033 .027643
+P 21 -26141.710778 -5424.059464 -2098.522526 73.126838
+V 21 -1803.871555 -3237.158809 31212.516950 .005621
+P 22 -13777.210445 6690.391473 -21537.290022 -39.524653
+V 22 -7334.565594 -26748.875708 -3547.467451 .087030
+P 24 6691.962055 -13776.749989 22001.217908 8.360405
+V 24 26213.387126 7221.307889 -3425.660852 .030886
+P 25 -16325.646769 11110.704300 18117.808594 61.774590
+V 25 -21924.054234 -4619.092239 -17298.864171 .008193
+P 26 2542.614254 -19895.451944 -17333.796110 409.179137
+V 26 15939.914136 -14844.606449 20263.456899 -.125015
+P 27 26196.651408 5628.623265 2042.738177 920.214203
+V 27 -2392.631911 2387.168077 31016.473411 .042313
+P 28 14255.405915 -5177.207586 -21614.456785 21.974434
+V 28 8557.848147 26553.748377 -1009.139930 .016198
+P 29 7956.655411 -21949.349555 -12346.024976 230.182995
+V 29 12043.204455 -10863.053897 26560.573805 .032289
+P 30 -16820.483098 -12898.978226 15835.483347 806.188534
+V 30 -4778.831783 -20105.981141 -21045.544126 .141957
+P 31 2862.964574 18555.462864 -18994.560567 42.053289
+V 31 -16334.454618 17161.284076 14889.470986 .306139
+* 2004 3 1 20 30 .00000000
+P 1 7275.177372 13968.007780 21554.188532 332.713843
+V 1 -17608.776296 20366.938202 -7340.586513 .019935
+P 3 -9673.927320 23614.374803 -7026.999384 90.121608
+V 3 -8137.822471 5233.244661 29408.448815 .032057
+P 4 21343.634330 -6685.911418 14583.662565 -77.431678
+V 4 17782.831623 4945.553859 -23470.737368 -.091961
+P 5 -12411.716303 -23544.260206 1266.077291 19.891313
+V 5 2343.711963 -3075.925486 -31038.219190 .015797
+P 6 -15043.764784 -6050.734017 21234.919431 -1.426415
+V 6 15689.433384 -21508.025001 4896.530293 -.009738
+P 7 19513.016309 -14437.430183 -10184.104785 611.172767
+V 7 -5191.865512 13023.663543 -27507.881668 -.078868
+P 8 25400.495195 -1295.242281 -8390.017369 354.747430
+V 8 9729.871683 4021.079291 29220.727027 -.088589
+P 9 -12267.482282 -14905.983558 -18829.582940 -32.499131
+V 9 22927.187991 1303.018234 -15962.587309 -.018543
+P 10 927.610401 -22717.818156 13443.261981 40.214646
+V 10 7975.501365 15387.687640 25633.276250 .004046
+P 11 14501.097617 14150.498273 -17244.281026 100.075504
+V 11 -22120.302215 1426.262494 -17298.982348 .025438
+P 13 16205.954751 2087.929181 20881.276936 -30.886961
+V 13 -16055.759248 21178.118728 10399.655180 .002557
+P 14 -19838.876002 14959.701621 -9350.230700 -18.167546
+V 14 5726.107057 -10666.103054 -29044.910234 -.001274
+P 15 -21869.010347 5323.749633 -14519.134353 233.369021
+V 15 -17117.422735 -5613.604512 23871.059736 .052725
+P 16 -4558.147798 20136.971717 16776.626535 15.251299
+V 16 -9506.259687 -18996.752135 20311.577336 -.003887
+P 17 -5050.856891 -16136.341631 20826.662456 208.594227
+V 17 25081.619069 6278.977290 10310.850883 .195767
+P 18 -16735.584153 -9990.496351 -18108.982982 -15.619540
+V 18 -6166.906591 -22167.836717 17691.612701 -.026690
+P 20 13540.520397 21971.909087 6213.406182 -183.914072
+V 20 578.629745 8368.118519 -30514.344120 .027654
+P 21 -26157.770968 -5676.649705 720.355744 73.127294
+V 21 1465.179640 -2441.576999 31341.416463 .005632
+P 22 -14502.740682 4290.381260 -21667.514470 -39.516550
+V 22 -8764.837794 -26494.817472 658.124991 .087016
+P 24 9044.219843 -13196.975229 21509.672601 8.362563
+V 24 25970.445423 5654.533693 -7482.334171 .030716
+P 25 -18217.653068 10752.479012 16413.379088 61.774640
+V 25 -20048.005445 -3375.209028 -20525.828197 .008067
+P 26 3871.719668 -21188.268546 -15365.068621 409.167726
+V 26 13585.869916 -13797.901335 23425.753990 -.124993
+P 27 25834.143431 5828.994723 4809.559104 920.217570
+V 27 -5656.418218 2133.288768 30383.877182 .042278
+P 28 15085.544830 -2811.606007 -21515.917172 21.975835
+V 28 9856.919603 25928.525173 3193.894377 .016209
+P 29 8925.055052 -22846.105911 -9854.577357 230.185732
+V 29 9494.834965 -8989.005564 28723.205317 .032289
+P 30 -17253.088105 -14591.753849 13809.164819 806.201442
+V 30 -4767.837582 -17471.537049 -23917.190171 .141917
+P 31 1477.974125 20072.034358 -17497.326594 42.081637
+V 31 -14426.226379 16460.247061 18337.809947 .306122
+* 2004 3 1 20 45 .00000000
+P 1 5768.323767 15809.327885 20712.707639 332.713780
+V 1 -15839.429076 20468.932015 -11333.086430 .020154
+P 3 -10315.321660 23973.662431 -4326.788520 90.125209
+V 3 -6154.786029 2697.547658 30509.354769 .031896
+P 4 22832.487190 -6299.629718 12353.801895 -77.439996
+V 4 15241.294554 3684.783961 -26011.108085 -.091974
+P 5 -12134.440345 -23687.212396 -1530.213686 19.893941
+V 5 3875.311572 -132.021441 -31013.229517 .016006
+P 6 -13668.944719 -8035.239445 21494.836145 -1.427777
+V 6 14808.064276 -22526.190167 870.662626 -.010022
+P 7 18998.453212 -13138.420606 -12562.376510 611.165339
+V 7 -6170.640891 15833.830857 -25263.236259 -.078849
+P 8 26137.398508 -977.387662 -5697.059952 354.740570
+V 8 6607.420863 3103.390511 30539.166576 -.088553
+P 9 -10128.126292 -14837.125384 -20107.474079 -32.500068
+V 9 24541.646475 190.449089 -12395.785979 -.018637
+P 10 1732.771695 -21236.976811 15625.958584 40.213775
+V 10 9942.247588 17439.816326 22800.809158 .004179
+P 11 12431.803199 14321.863341 -18649.091165 100.077885
+V 11 -23793.536031 2414.006474 -13873.886382 .025448
+P 13 14787.120129 4069.924027 21633.998141 -30.886702
+V 13 -15403.852296 22804.225213 6303.691492 .002560
+P 14 -19264.964538 13868.626344 -11876.170159 -18.168064
+V 14 6950.247496 -13580.881258 -27006.107379 -.001286
+P 15 -23300.108520 4882.615691 -12254.889104 233.372562
+V 15 -14620.663304 -4233.972602 26375.420588 .052643
+P 16 -5497.699287 18361.569814 18455.824413 15.250932
+V 16 -11380.540671 -20373.014354 16950.933273 -.003889
+P 17 -2731.975808 -15622.883868 21577.840263 208.611481
+V 17 26370.232042 5093.696412 6355.228188 .195794
+P 18 -17308.442788 -11880.107789 -16366.335859 -15.622409
+V 18 -6498.063809 -19771.922258 20977.723710 -.026700
+P 20 13547.935511 22579.794067 3421.467945 -183.911224
+V 20 -484.137649 5149.688121 -31439.359581 .027662
+P 21 -25876.078572 -5875.636539 3527.124701 73.127615
+V 21 4797.457700 -2048.518545 30943.665318 .005638
+P 22 -15349.341935 1937.096688 -21419.132769 -39.508854
+V 22 -10010.683367 -25715.622232 4853.547990 .087001
+P 24 11350.721218 -12759.022732 20658.124183 8.363877
+V 24 25197.394431 4084.765080 -11414.858262 .030438
+P 25 -19921.998139 10496.037085 14433.231566 61.774550
+V 25 -17762.770297 -2368.641571 -23417.207306 .007894
+P 26 4987.734752 -22363.600473 -13128.884209 409.156424
+V 26 11220.591281 -12236.081793 26197.445911 -.124974
+P 27 25181.032648 6024.699814 7496.875078 920.221591
+V 27 -8835.760812 2281.660179 29252.811677 .042244
+P 28 16022.534190 -525.046325 -21041.570820 21.977389
+V 28 10919.053101 24804.767157 7329.828029 .016223
+P 29 9670.361618 -23554.410909 -7191.054795 230.188376
+V 29 7100.689578 -6683.543088 30379.258696 .032286
+P 30 -17666.298371 -16038.071359 11543.063615 806.213567
+V 30 -4344.243007 -14644.470977 -26366.623241 .141875
+P 31 267.998109 21503.856425 -15702.666184 42.109507
+V 31 -12459.542761 15278.106095 21489.234789 .306105
+* 2004 3 1 21 0 .00000000
+P 1 4429.482250 17637.190995 19519.889177 332.717603
+V 1 -13890.176335 20064.032928 -15137.134849 .020577
+P 3 -10789.849046 24091.358470 -1551.229001 90.127799
+V 3 -4439.992877 -123.566376 31080.134247 .031757
+P 4 24077.076646 -6013.400200 9914.959003 -77.448519
+V 4 12367.110310 2731.880193 -28108.527443 -.091993
+P 5 -11704.558804 -23574.835212 -4300.468096 19.895363
+V 5 5726.482067 2585.177544 -30460.680126 .015895
+P 6 -12387.044143 -10092.798211 21391.073743 -1.428847
+V 6 13635.995136 -23123.154579 -3174.019777 -.010124
+P 7 18415.344211 -11590.493350 -14717.811671 611.158251
+V 7 -6715.262540 18538.949888 -22563.051400 -.078839
+P 8 26584.237818 -725.093464 -2908.327668 354.733453
+V 8 3298.764759 2569.761771 31345.858779 -.088540
+P 9 -7863.664740 -14877.185587 -21054.619420 -32.502394
+V 9 25700.627035 -1104.623716 -8622.259437 -.018851
+P 10 2720.403653 -19593.694467 17535.560349 40.213782
+V 10 12015.069524 18991.137979 19573.658051 .004317
+P 11 10231.591194 14589.743835 -19734.347266 100.080396
+V 11 -25022.929606 3558.987139 -10207.819334 .025455
+P 13 13444.942022 6180.454159 22012.739531 -30.886507
+V 13 -14363.061239 24022.931271 2101.056000 .002558
+P 14 -18601.900266 12516.476687 -14197.314435 -18.168213
+V 14 7706.070235 -16451.176913 -24500.387085 -.001293
+P 15 -24490.212261 4552.641411 -9784.773648 233.377832
+V 15 -11773.734468 -3153.664879 28439.506663 .052802
+P 16 -6606.704173 16485.143714 19819.142663 15.250714
+V 16 -13256.719719 -21239.409391 13302.056168 -.003891
+P 17 -319.082039 -15225.025809 21966.746094 208.629567
+V 17 27163.807875 3723.686471 2271.134218 .195824
+P 18 -17892.894676 -13541.438841 -14343.896613 -15.624544
+V 18 -6418.414523 -17109.474314 23900.581956 -.026706
+P 20 13441.120602 22901.958996 570.592031 -183.908678
+V 20 -1954.807600 2034.603047 -31822.330659 .027668
+P 21 -25295.129995 -6057.674860 6274.575351 73.128131
+V 21 8099.696221 -2064.595668 30024.848689 .005652
+P 22 -16296.655784 -323.847867 -20796.414960 -39.500642
+V 22 -10989.931693 -24450.885058 8964.385773 .086988
+P 24 13564.243679 -12459.121188 19460.650060 8.367632
+V 24 23908.015310 2601.393109 -15159.077908 .030333
+P 25 -21404.479831 10317.103792 12209.851336 61.775388
+V 25 -15128.873741 -1662.308632 -25923.113455 .007839
+P 26 5893.945056 -23375.997885 -10662.869220 409.144839
+V 26 8939.116471 -10182.746257 28524.676109 -.124960
+P 27 24248.828335 6251.205838 10060.766942 920.225139
+V 27 -11844.576364 2813.237349 27645.350629 .042199
+P 28 17041.624011 1639.878742 -20200.739503 21.978815
+V 28 11669.913295 23235.727378 11326.161045 .016236
+P 29 10210.386154 -24037.925590 -4402.308562 230.191251
+V 29 4946.360432 -4004.642245 31502.377045 .032283
+P 30 -18022.272289 -17224.794079 9077.060683 806.226072
+V 30 -3495.262392 -11718.626793 -28353.411351 .141841
+P 31 -765.561296 22807.934340 -13639.861797 42.134676
+V 31 -10520.026219 13624.589396 24287.579930 .306090
+* 2004 3 1 21 15 .00000000
+P 1 3270.731516 19405.208839 17995.604492 332.720403
+V 1 -11852.988047 19138.251563 -18688.600480 .020830
+P 3 -11124.239153 23945.157412 1251.375108 90.130717
+V 3 -3048.653404 -3153.132710 31109.229256 .031604
+P 4 25050.958245 -5797.108885 7308.577715 -77.456549
+V 4 9239.580088 2137.855578 -29729.180315 -.092016
+P 5 -11095.797640 -23230.851136 -6997.618683 19.896587
+V 5 7839.776475 5003.773756 -29391.176719 .015748
+P 6 -11220.999886 -12183.485135 20924.969320 -1.430299
+V 6 12246.352053 -23256.572941 -7170.161541 -.010299
+P 7 17802.445515 -9807.443013 -16611.463729 611.151128
+V 7 -6835.839711 21043.131744 -19454.417930 -.078841
+P 8 26728.330514 -502.539558 -70.621294 354.725742
+V 8 -104.620519 2445.239191 31625.627349 -.088540
+P 9 -5516.670434 -15039.042732 -21655.043883 -32.504652
+V 9 26371.561823 -2502.371011 -4700.923218 -.018884
+P 10 3895.837608 -17834.465663 19139.116839 40.214604
+V 10 14099.586870 20013.333590 16010.019742 .004570
+P 11 7941.971994 14964.938080 -20481.132190 100.082474
+V 11 -25776.321009 4785.728278 -6362.975675 .025461
+P 13 12211.308969 8379.961574 22011.177438 -30.885970
+V 13 -13004.647779 24772.501663 -2135.257473 .002552
+P 14 -17891.872192 10911.721998 -16273.510641 -18.168508
+V 14 7995.852356 -19177.989855 -21570.605894 -.001302
+P 15 -25411.152340 4304.318973 -7150.050356 233.381845
+V 15 -8652.851962 -2427.406432 30028.089013 .052889
+P 16 -7881.225061 14553.931249 20843.413661 15.249959
+V 16 -15043.489610 -21591.253115 9427.277257 -.003898
+P 17 2141.632740 -14955.619919 21984.773671 208.646929
+V 17 27428.732909 2253.838471 -1875.236146 .195849
+P 18 -18450.569828 -14954.528807 -12076.589548 -15.626970
+V 18 -5899.776444 -14271.017390 26411.725661 -.026720
+P 20 13184.975469 22951.878256 -2290.109633 -183.906473
+V 20 -3794.750897 -885.596645 -31657.546025 .027673
+P 21 -24421.827054 -6259.232077 8916.371306 73.128490
+V 21 11278.925607 -2479.038209 28598.762145 .005649
+P 22 -17317.352685 -2451.177066 -19810.270561 -39.492785
+V 22 -11630.383264 -22757.106094 12917.747568 .086972
+P 24 15639.593092 -12285.613619 17936.986630 8.370020
+V 24 22133.483381 1289.709815 -18653.537287 .030148
+P 25 -22636.905313 10186.287958 9779.974619 61.774387
+V 25 -12218.960541 -1306.598894 -27999.111593 .007784
+P 26 6602.012052 -24183.033900 -8009.187012 409.133620
+V 26 6831.897515 -7681.336569 30360.699164 -.124946
+P 27 23056.532130 6541.552185 12459.595746 920.229020
+V 27 -14602.904721 3693.313449 25590.004281 .042152
+P 28 18111.900010 3646.057686 -19009.129261 21.980003
+V 28 12047.311105 21289.523510 15113.732639 .016245
+P 29 10570.120615 -24266.214833 -1537.119502 230.194333
+V 29 3105.327388 -1025.087650 32076.069249 .032281
+P 30 -18282.814830 -18147.318275 6454.294065 806.238509
+V 30 -2225.847487 -8789.170725 -29845.686491 .141804
+P 31 -1628.923420 23942.945550 -11343.038133 42.162686
+V 31 -8690.869078 11527.081095 26681.585952 .306089
+* 2004 3 1 21 30 .00000000
+P 1 2295.771148 21066.572141 16165.332876 332.722899
+V 1 -9821.502246 17696.284738 -21927.160095 .020992
+P 3 -11349.540014 23520.123714 4032.118955 90.134624
+V 3 -2021.199702 -6304.854870 30594.884474 .031418
+P 4 25735.228822 -5616.739348 4578.800002 -77.464432
+V 4 5946.484102 1938.147816 -30846.987176 -.092035
+P 5 -10287.605370 -22684.915433 -9575.933393 19.896954
+V 5 10145.872282 7064.209980 -27823.734268 .015707
+P 6 -10186.824060 -14264.256789 20103.910197 -1.430872
+V 6 10719.397419 -22899.737456 -11050.837914 -.010403
+P 7 17196.789347 -7811.483549 -18209.012913 611.144673
+V 7 -6560.440536 23255.819692 -15992.899518 -.078841
+P 8 26565.421265 -272.430535 2768.260806 354.717693
+V 8 -3507.487626 2737.437370 31371.530062 -.088545
+P 9 -3131.946795 -15328.161765 -21898.191199 -32.507398
+V 9 26537.600122 -3918.373137 -693.171538 -.018879
+P 10 5255.779358 -16007.438491 20409.183332 40.214705
+V 10 16099.153472 20498.058803 12173.839312 .004845
+P 11 5606.630069 15451.237078 -20876.281781 100.084646
+V 11 -26037.712352 6014.507808 -2404.830821 .025468
+P 13 11111.167812 10624.049343 21629.585668 -30.885671
+V 13 -11411.081171 25007.496207 -6331.849129 .002545
+P 14 -17176.013363 9071.619362 -18068.804640 -18.168676
+V 14 7840.688102 -21665.664799 -18267.080372 -.001313
+P 15 -26042.080012 4103.881208 -4394.829666 233.385593
+V 15 -5344.008625 -2094.810761 31113.198562 .053081
+P 16 -9309.156804 12613.760581 21511.253060 15.249672
+V 16 -16651.244581 -21442.279569 5392.604578 -.003904
+P 17 4601.726700 -14819.645549 21629.396881 208.665429
+V 17 27148.828790 773.668730 -6015.113772 .195870
+P 18 -18941.350980 -16107.789724 -9603.385747 -15.629209
+V 18 -4931.635680 -11351.503532 28469.796725 -.026730
+P 20 12748.615272 22750.891073 -5111.436459 -183.904065
+V 20 -5949.220445 -3528.217325 -30948.739365 .027674
+P 21 -23271.301830 -6515.035373 11407.783470 73.129107
+V 21 14245.764403 -3264.057372 26687.301341 .005662
+P 22 -18378.169472 -4409.377688 -18478.047829 -39.485148
+V 22 -11872.844260 -20705.398105 16643.670475 .086953
+P 24 17535.128268 -12219.473401 16112.247537 8.370857
+V 24 19921.360892 227.670046 -21840.340268 .030191
+P 25 -23598.074961 10070.308780 7184.059844 61.775372
+V 25 -9115.346561 -1337.244512 -29607.058731 .007857
+P 26 7131.389186 -24747.040842 -5213.839699 409.123112
+V 26 4981.023851 -4793.892830 31667.159238 -.124934
+P 27 21629.968699 6925.002361 14654.558463 920.233257
+V 27 -17039.488254 4872.965750 23121.195905 .042106
+P 28 19197.492494 5463.073193 -17488.474641 21.981320
+V 28 12003.678374 19046.283024 18627.926180 .016255
+P 29 10780.520487 -24215.954594 1354.695148 230.197033
+V 29 1636.230141 2170.400070 32093.791710 .032281
+P 30 -18410.968701 -18809.528053 3720.369387 806.251104
+V 30 -558.454807 -5948.958548 -30820.530627 .141773
+P 31 -2335.562112 24870.805887 -8850.672022 42.190017
+V 31 -7049.551384 9030.001387 28625.976172 .306091
+* 2004 3 1 21 45 .00000000
+P 1 1499.932605 22575.739130 14059.774379 332.725550
+V 1 -7887.442323 15761.550834 -24797.280664 .021026
+P 3 -11499.710651 22809.386839 6742.386149 90.136344
+V 3 -1381.673768 -9486.379882 29545.268024 .031085
+P 4 26119.150023 -5435.838550 1771.753999 -77.472951
+V 4 2580.940720 2151.296415 -31443.937610 -.092062
+P 5 -9266.108047 -21971.409258 -11991.756536 19.899598
+V 5 12566.165193 8721.322774 -25785.408648 .015874
+P 6 -9293.098921 -16290.415517 18941.249215 -1.432119
+V 6 9139.444978 -22042.740327 -14750.578087 -.010581
+P 7 16632.115542 -5632.595940 -19481.481156 611.137927
+V 7 -5933.897102 25095.577216 -12241.434017 -.078844
+P 8 26099.870998 2.411682 5560.275909 354.710371
+V 8 -6814.180414 3436.117647 30585.113524 -.088557
+P 9 -755.080266 -15742.317687 -21779.117193 -32.509780
+V 9 26198.257184 -5266.682861 3337.791618 -.018826
+P 10 6788.281561 -14160.606955 21324.280950 40.214968
+V 10 17918.772993 20457.028265 8133.526109 .005305
+P 11 3269.937114 16045.185012 -20912.632152 100.086901
+V 11 -25807.879457 7164.548113 1598.935806 .025473
+P 13 10161.663608 12865.034441 20874.813676 -30.885575
+V 13 -9672.676632 24700.574512 -10416.207137 .002538
+P 14 -16492.743833 7021.745447 -19552.074680 -18.168768
+V 14 7279.556313 -23825.574136 -14646.725939 -.001318
+P 15 -26370.215160 3914.738086 -1565.392772 233.390658
+V 15 -1939.990986 -2178.774702 31674.646078 .053428
+P 16 -10870.538071 10708.417375 21811.341994 15.249697
+V 16 -17995.579246 -20823.976535 1266.633857 -.003911
+P 17 7012.125125 -14813.945039 20904.358726 208.683102
+V 17 26326.318994 -626.104500 -10078.127539 .195887
+P 18 -19324.989224 -16998.245691 -6966.636271 -15.632047
+V 18 -3521.599234 -8446.764282 30041.130662 -.026742
+P 20 12106.731601 22327.265424 -7844.944784 -183.901733
+V 20 -8349.438076 -5822.450066 -29708.962990 .027676
+P 21 -21866.448927 -6856.579696 13706.410418 73.129946
+V 21 16917.611470 -4375.829018 24320.253328 .005677
+P 22 -19441.196886 -6169.888286 -16823.209435 -39.477043
+V 22 -11673.628772 -18378.610371 20076.457360 .086935
+P 24 19214.168800 -12235.101779 14016.565093 8.373296
+V 24 17334.015853 -517.108313 -24665.996530 .030295
+P 25 -24274.527212 9933.392213 4465.684769 61.777067
+V 25 -5907.168717 -1773.693176 -30715.909880 .007915
+P 26 7508.408227 -25036.696550 -2325.860049 409.112257
+V 26 3456.701438 -1598.972076 32415.242850 -.124928
+P 27 20000.898215 7425.846076 16610.196781 920.236578
+V 27 -19094.031409 6290.934063 20278.743565 .042052
+P 28 20258.980603 7068.138434 -15666.080818 21.982584
+V 28 11507.922238 16594.872422 21809.730713 .016267
+P 29 10877.070322 -23871.860312 4223.173029 230.200243
+V 29 580.785354 5488.464506 31558.826799 .032285
+P 30 -18372.553499 -19223.429254 922.543869 806.263885
+V 30 1467.870550 -3285.057465 -31264.179516 .141745
+P 31 -2905.548776 25558.149491 -6205.006523 42.217660
+V 31 -5664.700929 6193.509132 30082.503525 .306093
+* 2004 3 1 22 0 .00000000
+P 1 870.511388 23890.096203 11714.376019 332.728301
+V 1 -6137.083613 13375.535578 -27249.159425 .020964
+P 3 -11610.098397 21814.528228 9334.739350 90.139480
+V 3 -1136.787036 -12602.844978 27978.379722 .030898
+P 4 26200.480303 -5217.074077 -1065.183415 -77.481052
+V 4 -761.912635 2778.239307 -31510.322539 -.092079
+P 5 -8024.814975 -21128.071939 -14204.211961 19.901062
+V 5 15015.697637 9945.853248 -23310.824334 .015843
+P 6 -8540.757886 -18217.151439 17456.127433 -1.433414
+V 6 7591.604318 -20693.037758 -18206.398327 -.010636
+P 7 16137.445124 -3307.549492 -20405.837734 611.130337
+V 7 -5015.855786 26493.523031 -8269.009307 -.078848
+P 8 25344.539719 357.446385 8257.908698 354.703228
+V 8 -9932.055564 4513.416392 29276.568048 -.088573
+P 9 1569.042217 -16271.599675 -21298.620895 -32.510023
+V 9 25369.538288 -6462.980161 7327.666821 -.018684
+P 10 8473.065429 -12340.032137 21869.238369 40.214508
+V 10 19468.918731 19921.296207 3960.612014 .005909
+P 11 975.438568 16736.130634 -20589.167489 100.089266
+V 11 -25104.351134 8157.269217 5579.572020 .025480
+P 13 9371.596085 15053.631737 19760.149435 -30.885029
+V 13 -7883.945962 23843.596921 -14317.972287 .002527
+P 14 -15876.229638 4795.207403 -20697.581822 -18.168696
+V 14 6367.683102 -25579.543558 -10772.071627 -.001324
+P 15 -26391.312719 3699.031478 1290.529139 233.397147
+V 15 1462.880363 -2684.464330 31700.465519 .053617
+P 16 -12538.169977 8878.101810 21738.609680 15.249372
+V 16 -19000.592191 -19784.259971 -2880.573200 -.003924
+P 17 9324.796116 -14927.276254 19819.766643 208.700864
+V 17 24982.150531 -1857.149968 -13993.412470 .195899
+P 18 -19562.729662 -17631.451806 -4211.357856 -15.634335
+V 18 -1695.165625 -5649.961116 31100.221753 -.026749
+P 20 11240.740804 21715.009174 -10443.774883 -183.899433
+V 20 -10915.220399 -7711.932964 -27960.303062 .027682
+P 21 -20237.179033 -7310.751300 15772.875335 73.129797
+V 21 19221.628999 -5756.072646 21534.983427 .005680
+P 22 -20465.364324 -7712.008254 -14874.891879 -39.468986
+V 22 -11006.423824 -15867.991695 23155.917328 .086914
+P 24 20646.236324 -12301.380776 11684.656378 8.376352
+V 24 14446.510179 -890.003372 -27082.248715 .030426
+P 25 -24661.012046 9738.788458 1670.873360 61.777656
+V 25 -2687.220496 -2618.057248 -31302.469196 .007876
+P 26 7765.066826 -25028.387679 603.592525 409.100772
+V 26 2314.162739 1811.212883 32586.647924 -.124921
+P 27 18205.941900 8062.387481 18294.859620 920.240872
+V 27 -20719.087486 7875.867959 17107.349799 .042001
+P 28 21254.933258 8446.725590 -13574.277150 21.984233
+V 28 10546.601871 14029.353075 24606.646065 .016284
+P 29 10898.193386 -23227.304445 7019.078537 230.202900
+V 29 -37.586202 8830.696946 30483.977109 .032286
+P 30 -18137.593514 -19408.482258 -1891.100239 806.276838
+V 30 3799.041848 -875.553561 -31172.054046 .141717
+P 31 -3364.624170 25977.662067 -3451.373413 42.245055
+V 31 -4593.227867 3091.546092 31020.933443 .306101
+* 2004 3 1 22 15 .00000000
+P 1 387.410174 24971.529042 9168.775833 332.730727
+V 1 -4647.898307 10596.460674 -29239.607088 .020870
+P 3 -11715.863603 20545.642401 11763.792939 90.142305
+V 3 -1275.696505 -15560.547018 25921.744709 .030721
+P 4 25985.504421 -4923.825938 -3884.140409 -77.489508
+V 4 -3988.303073 3802.250331 -31044.865633 -.092092
+P 5 -6565.049739 -20194.523606 -16175.859368 19.901988
+V 5 17406.315803 10725.367010 -20441.606891 .015883
+P 6 -7923.162977 -20001.107072 15673.203789 -1.434442
+V 6 6158.468494 -18875.384927 -21358.834078 -.010687
+P 7 15735.860322 -878.636290 -20965.477082 611.123534
+V 7 -3878.156597 27396.243854 -4149.154502 -.078853
+P 8 24320.363154 824.862802 10814.951967 354.695650
+V 8 -12774.845112 5924.731292 27464.769307 -.088590
+P 9 3797.702647 -16898.699893 -20463.308941 -32.512092
+V 9 24083.521416 -7427.727895 11211.828995 -.018600
+P 10 10282.176007 -10588.162722 22035.411464 40.214523
+V 10 20669.102149 18939.777573 -271.613659 .006548
+P 11 -1235.629354 17506.569597 -19911.064214 100.091767
+V 11 -23960.752983 8919.480206 9468.421779 .025486
+P 13 8741.212089 17140.703821 18305.070646 -30.884648
+V 13 -6139.805458 22447.982673 -17970.151000 .002515
+P 14 -15355.018599 2431.562170 -21485.426770 -18.168712
+V 14 5174.262641 -26862.884852 -6710.168372 -.001331
+P 15 -26109.827283 3419.252741 4124.511613 233.402671
+V 15 4768.180015 -3598.939911 31187.267717 .053679
+P 16 -14278.518641 7158.032808 21294.314164 15.249026
+V 16 -19601.872459 -18385.538841 -6978.628214 -.003939
+P 17 11494.424207 -15140.690847 18392.082167 208.718398
+V 17 23155.619219 -2837.150008 -17690.848026 .195904
+P 18 -19618.886181 -18021.098439 -1384.482398 -15.636231
+V 18 505.171685 -3048.162958 31630.062872 -.026769
+P 20 10139.675544 20952.475610 -12863.445578 -183.897134
+V 20 -13558.039323 -9156.743271 -25733.445828 .027690
+P 21 -18419.417438 -7898.618641 17571.489842 73.130086
+V 21 21097.409775 -7334.182551 18376.011335 .005689
+P 22 -21408.060788 -9023.491111 -12667.358752 -39.461111
+V 22 -9863.441092 -13269.534930 25828.479580 .086890
+P 24 21808.084031 -12382.946467 9155.316004 8.378869
+V 24 11344.017343 -851.612033 -29046.872911 .030684
+P 25 -24760.669371 9450.355615 -1152.641524 61.778797
+V 25 451.422610 -3854.702985 -31352.060770 .007982
+P 26 7937.563618 -24707.284070 3522.212826 409.089637
+V 26 1591.172327 5334.331953 32174.313732 -.124915
+P 27 16285.356176 8846.149728 19681.120007 920.244901
+V 27 -21881.529385 9548.875132 13656.097141 .041956
+P 28 22143.524408 9592.868615 -11249.796579 21.985907
+V 28 9124.400449 11445.310590 26973.425002 .016301
+P 29 10883.571064 -22284.604320 9694.739744 230.206314
+V 29 -214.389761 12097.354068 28891.098391 .032283
+P 30 -17681.580772 -19390.664539 -4672.477758 806.289553
+V 30 6368.033084 1213.240785 -30548.632493 .141690
+P 31 -3743.029604 26109.210242 -637.431519 42.272512
+V 31 -3877.864725 -190.728014 31419.924309 .306113
+* 2004 3 1 22 30 .00000000
+P 1 24.071100 25787.844734 6466.170601 332.732070
+V 1 -3485.505151 7497.311880 -30732.857489 .020725
+P 3 -11850.417058 19021.068119 13987.048612 90.144888
+V 3 -1770.510606 -18270.578787 23411.897643 .030557
+P 4 25488.759851 -4521.755020 -6637.511275 -77.497970
+V 4 -7009.155111 5189.518886 -30054.753656 -.092113
+P 5 -4896.091017 -19210.732743 -17873.295571 19.902577
+V 5 19649.942862 11064.555068 -17225.728496 .015998
+P 6 -7426.478487 -21601.907335 13622.292417 -1.436312
+V 6 4916.863907 -16631.131898 -24152.957492 -.010704
+P 7 15443.546227 1607.827482 -21150.554379 611.116457
+V 7 -2601.662704 27768.041238 41.702617 -.078860
+P 8 23055.633968 1432.137754 13187.285463 354.688094
+V 8 -15265.838340 7610.251697 25177.192904 -.088617
+P 9 5891.759225 -17599.482745 -19285.587880 -32.512906
+V 9 22387.394238 -8089.232149 14926.160769 -.018504
+P 10 12180.942001 -8942.320101 21820.780266 40.215806
+V 10 21451.049873 17577.084773 -4489.460570 .007236
+P 11 -3325.735598 18332.766569 -18889.628936 100.093925
+V 11 -22425.534704 9386.384526 13198.113293 .025496
+P 13 8262.340135 19079.009181 16534.889885 -30.884335
+V 13 -4531.790201 20544.315702 -21310.256126 .002503
+P 14 -14950.906880 -24.514907 -21901.904383 -18.168605
+V 14 3779.624992 -27626.915255 -2531.410715 -.001334
+P 15 -25538.765764 3039.864117 6888.220910 233.407837
+V 15 7882.860160 -4891.448875 30140.489670 .053606
+P 16 -16052.868082 5577.251186 20486.020291 15.248896
+V 16 -19749.058870 -16702.243206 -10957.958353 -.003954
+P 17 13480.017745 -15428.235294 16643.993817 208.735660
+V 17 20903.269732 -3493.321676 -21102.411009 .195898
+P 18 -19462.306885 -18188.317740 1465.918507 -15.638127
+V 18 3021.449797 -719.171510 31622.359586 -.026765
+P 20 8800.785869 20080.818146 -15062.603511 -183.894495
+V 20 -16184.396263 -10134.747409 -23067.106147 .027701
+P 21 -16453.880490 -8634.437637 19070.874457 73.130424
+V 21 22499.228807 -9029.848155 14894.470448 .005703
+P 22 -22226.825619 -10100.800239 -10239.360405 -39.453566
+V 22 -8255.811400 -10680.158169 28048.155896 .086869
+P 24 22684.475407 -12441.639412 6470.838456 8.381853
+V 24 8118.846336 -379.450710 -30524.441410 .030779
+P 25 -24584.898675 9034.149811 -3956.211142 61.780447
+V 25 3418.868013 -5450.522783 -30859.090558 .007848
+P 26 8064.641076 -24068.069524 6377.583830 409.078106
+V 26 1306.270385 8862.007218 31182.863637 -.124908
+P 27 14281.694498 9781.319789 20746.146587 920.249377
+V 27 -22563.570012 11226.300086 9977.943318 .041908
+P 28 22884.158991 10509.135393 -8733.095615 21.987326
+V 28 7263.894295 8936.202512 28872.651676 .016316
+P 29 10872.439132 -21054.974907 12204.836951 230.209347
+V 29 36.057518 15191.062824 26810.496132 .032278
+P 30 -16986.527277 -19201.303586 -7374.304405 806.301815
+V 30 9097.443460 2929.085239 -29407.179746 .141671
+P 31 -4074.139612 25940.715549 2187.668059 42.300227
+V 31 -3545.234014 -3560.029153 31267.764936 .306130
+* 2004 3 1 22 45 .00000000
+P 1 -251.335638 26313.989769 3652.614710 332.733939
+V 1 -2701.043311 4163.287453 -31701.285525 .020667
+P 3 -12043.935150 17266.799613 15965.675583 90.147972
+V 3 -2577.504739 -20652.276925 20493.669841 .030412
+P 4 24732.469777 -3980.291106 -9278.715648 -77.506054
+V 4 -9743.259147 6890.353054 -28555.564765 -.092136
+P 5 -3035.017879 -18215.484881 -19267.693240 19.903106
+V 5 21661.853268 10984.908129 -13716.774087 .016198
+P 6 -7030.329811 -22983.597785 11337.909646 -1.436793
+V 6 3934.783539 -14016.892405 -26539.364094 -.010594
+P 7 15269.136934 4103.168248 -20958.169443 611.109420
+V 7 -1272.691745 27592.403640 4225.954173 -.078867
+P 8 21585.009296 2200.758720 15333.640819 354.680380
+V 8 -17340.762089 9497.095765 22449.688472 -.088650
+P 9 7816.942729 -18343.821535 -17783.578425 -32.513558
+V 9 20341.955068 -8386.506910 18407.954215 -.018474
+P 10 14129.199317 -7433.405249 21229.925322 40.217525
+V 10 21761.369424 15910.781029 -8620.156216 .007801
+P 11 -5262.309442 19185.634929 -17542.129365 100.095841
+V 11 -20560.123917 9504.279774 16703.746059 .025505
+P 13 7918.859859 20824.881662 14480.301021 -30.884206
+V 13 -3144.421890 18181.217789 -24281.357057 .002487
+P 14 -14678.081230 -2524.761228 -21939.749067 -18.168929
+V 14 2271.962321 -27840.862785 1691.706281 -.001341
+P 15 -24699.228867 2528.863351 9534.215129 233.411950
+V 15 10720.662720 -6514.394297 28574.523624 .053490
+P 16 -17818.680606 4157.666067 19327.475285 15.248818
+V 16 -19407.877360 -14817.907360 -14750.936881 -.003975
+P 17 15246.384508 -15757.958340 14604.164033 208.753850
+V 17 18297.070010 -3765.678894 -24163.616565 .195881
+P 18 -19067.676007 -18160.719875 4291.422637 -15.640995
+V 18 5782.332955 1271.292501 31077.619307 -.026785
+P 20 7229.827313 19142.354218 -17003.715289 -183.892064
+V 20 -18699.380103 -10642.263445 -20007.331590 .027711
+P 21 -14384.671517 -9524.911768 20244.524944 73.131020
+V 21 23397.789518 -10756.081541 11147.445552 .005704
+P 22 -22881.040157 -10949.019599 -7633.414549 -39.445608
+V 22 -6213.211812 -8193.882933 29777.332159 .086844
+P 24 23268.680840 -12438.081864 3676.373997 8.384089
+V 24 4867.164616 530.939057 -31487.033329 .030776
+P 25 -24152.917691 8459.959293 -6691.108428 61.781204
+V 25 6131.829361 -7355.909019 -29827.469363 .007656
+P 26 8185.807696 -23115.289203 9118.236143 409.066954
+V 26 1457.862563 12284.229356 29628.724348 -.124902
+P 27 12238.398610 10864.450970 21472.029349 920.252562
+V 27 -22763.306665 12822.659514 6129.206503 .041854
+P 28 23439.047494 11206.277199 -6067.629495 21.988864
+V 28 5004.647980 6589.861406 30275.160444 .016331
+P 29 10901.926865 -19558.153970 14507.131765 230.212287
+V 29 681.457449 18020.373353 24280.211290 .032259
+P 30 -16041.769493 -18875.728074 -9950.870653 806.314015
+V 30 11902.417993 4235.544104 -27769.350672 .141652
+P 31 -4392.948513 25468.730263 4974.175146 42.326989
+V 31 -3604.549622 -6918.460177 30562.928862 .306148
+* 2004 3 1 23 0 .00000000
+P 1 -474.510030 26533.015405 776.259231 332.735532
+V 1 -2329.078011 688.751310 -32126.014166 .020598
+P 3 -12322.014508 15315.601534 17665.218433 90.149971
+V 3 -3638.994086 -22636.334731 17219.298332 .030288
+P 4 23745.702452 -3273.985926 -11762.946625 -77.514557
+V 4 -12120.166404 8840.967876 -26571.093085 -.092158
+P 5 -1006.264662 -17244.908391 -20335.270286 19.904489
+V 5 23363.833648 10523.777198 -9973.135169 .016521
+P 6 -6708.725553 -24115.936054 8858.734293 -1.438168
+V 6 3268.622494 -11102.620555 -28475.109520 -.010546
+P 7 15213.394372 6558.116676 -20392.394804 611.102573
+V 7 20.778415 26872.636687 8326.545715 -.078876
+P 8 19948.276984 3145.164343 17216.339380 354.672779
+V 8 -18950.243483 11501.993158 19326.101298 -.088696
+P 9 9544.994731 -19096.680276 -15980.945434 -32.516590
+V 9 18019.603375 -8271.840273 21596.881221 -.018489
+P 10 16082.727863 -6084.874577 20273.888001 40.218721
+V 10 21563.608596 14028.171515 -12593.102406 .008004
+P 11 -7018.806106 20031.841547 -15891.519254 100.098376
+V 11 -18436.572588 9232.842372 19924.055046 .025518
+P 13 7687.486168 22339.777246 12176.835831 -30.883671
+V 13 -2051.869837 15423.536854 -26833.022877 .002473
+P 14 -14542.570948 -5018.998987 -21598.266230 -18.169288
+V 14 743.742933 -27493.081151 5885.871648 -.001345
+P 15 -23619.653376 1859.231246 12016.750934 233.415792
+V 15 13205.334467 -8404.962840 26512.709949 .053471
+P 16 -19531.114128 2913.379846 17838.383657 15.248346
+V 16 -18561.580087 -12821.915610 -18292.987494 -.003997
+P 17 16765.411452 -16093.194496 12306.843829 208.771924
+V 17 15421.892952 -3609.878333 -26815.009276 .195863
+P 18 -18416.604312 -17971.195986 7044.048728 -15.643671
+V 18 8705.701847 2871.944573 30005.118001 -.026783
+P 20 5441.025599 18178.901333 -18653.691921 -183.889636
+V 20 -21010.273441 -10694.016531 -16606.696467 .027723
+P 21 -12257.745251 -10568.739296 21071.313476 73.132342
+V 21 23781.388404 -12422.552500 7197.185959 .005701
+P 22 -23333.552052 -11581.426294 -4895.023862 -39.438083
+V 22 -3782.748677 -5898.167320 30987.375238 .086828
+P 24 23562.669712 -12333.325505 819.223628 8.387492
+V 24 1685.527237 1865.536946 -31914.875416 .031018
+P 25 -23491.020042 7702.719548 -9309.396240 61.782025
+V 25 8516.868751 -9506.419836 -28270.867017 .007422
+P 26 8339.518988 -21863.291805 11694.702801 409.056397
+V 26 2024.221206 15493.909415 27539.900959 -.124897
+P 27 10198.362912 12084.433799 21846.058116 920.256249
+V 27 -22494.772077 14253.657929 2169.028399 .041801
+P 28 23774.670614 11702.575165 -3299.096544 21.990107
+V 28 2401.687901 4485.277983 31160.302910 .016351
+P 29 11005.501291 -17821.719107 16563.127825 230.215693
+V 29 1673.025776 20503.033455 21345.219772 .032244
+P 30 -14844.498311 -18451.790390 -12358.774900 806.326772
+V 30 14693.809569 5113.104360 -25664.685155 .141637
+P 31 -4734.471816 24698.683545 7672.673932 42.353874
+V 31 -4047.034391 -10167.300685 29314.408521 .306173
+* 2004 3 1 23 15 .00000000
+P 1 -683.459405 26436.750436 -2113.457908 332.739932
+V 1 -2386.129022 -2826.202932 -31997.391164 .020496
+P 3 -12704.521802 13205.863813 19056.217678 90.151309
+V 3 -4885.781633 -24167.448723 13647.381471 .030189
+P 4 22563.286153 -2383.680998 -14047.898346 -77.522357
+V 4 -14082.708818 10965.801564 -24133.067270 -.092187
+P 5 1159.099365 -16331.111280 -21057.683688 19.905230
+V 5 24687.119620 9732.853411 -6057.137904 .016859
+P 6 -6431.210585 -24975.485645 6226.986688 -1.439452
+V 6 2960.828218 -7969.153923 -29924.574924 -.010280
+P 7 15269.231913 8924.587180 -19464.149385 611.095759
+V 7 1192.946586 25631.630033 12268.664195 -.078884
+P 8 18188.923022 4271.947843 18801.988741 354.666014
+V 8 -20061.748791 13534.428197 15857.732085 -.088754
+P 9 11054.603553 -19819.409182 -13906.637664 -32.517814
+V 9 15501.863255 -7712.959560 24436.026872 -.018332
+P 10 17994.843741 -4912.020347 18969.921302 40.219121
+V 10 20839.640600 12022.767517 -16341.048802 .008158
+P 11 -8575.540906 20835.094866 -13966.060443 100.100780
+V 11 -16134.783376 8546.902003 22802.529082 .025532
+P 13 7538.835902 23591.629621 9664.241068 -30.883248
+V 13 -1315.031925 12349.923991 -28922.144701 .002462
+P 14 -14542.031316 -7456.883537 -20883.347170 -18.169151
+V 14 -712.044635 -26591.525243 9978.260450 -.001348
+P 15 -22334.778689 1010.204488 14292.582943 233.420268
+V 15 15273.519294 -10487.371054 23987.178576 .053567
+P 16 -21144.639942 1850.316749 16044.084450 15.247868
+V 16 -17211.731022 -10806.030596 -21523.647729 -.004015
+P 17 18017.089129 -16394.079167 9791.352788 208.788936
+V 17 12372.375211 -2999.496747 -29003.655521 .195836
+P 18 -17498.467746 -17656.532953 9677.039603 -15.645771
+V 18 11701.642157 4047.750839 28422.745913 -.026789
+P 20 3456.719696 17230.148770 -19984.436346 -183.886821
+V 20 -23030.071523 -10322.394391 -12923.400911 .027735
+P 21 -10119.295883 -11756.470205 21535.913348 73.132892
+V 21 23656.439410 -13939.115644 3110.194065 .005700
+P 22 -23552.167520 -12018.745699 -2071.847583 -39.430599
+V 22 -1027.151576 -3870.542331 31659.047538 .086813
+P 24 23576.985838 -12090.509194 -2051.919742 8.390608
+V 24 -1332.668305 3592.079425 -31796.892643 .031152
+P 25 -22631.554548 6743.748770 -11764.809842 61.781237
+V 25 10513.316583 -11825.096297 -26212.770153 .007222
+P 26 8561.400334 -20335.764438 14060.538158 409.044818
+V 26 2964.412816 18391.340028 24955.405230 -.124893
+P 27 8202.516784 13422.738974 21860.951203 920.259929
+V 27 -21787.483542 15439.204199 -1841.198861 .041750
+P 28 23863.081232 12022.913956 -474.664948 21.991730
+V 28 -476.573302 2689.772901 31516.073746 .016371
+P 29 11211.573158 -15880.126809 18338.656455 230.218632
+V 29 2947.577180 22568.874476 18056.568257 .032221
+P 30 -13399.997994 -17968.317219 -14557.606909 806.339345
+V 30 17381.464040 5559.653919 -23130.011761 .141625
+P 31 -5132.129501 23644.779945 10235.035405 42.381230
+V 31 -4846.105596 -13210.914243 27541.798596 .306203
+* 2004 3 1 23 30 .00000000
+P 1 -916.833903 26026.151826 -4966.658079 332.741833
+V 1 -2869.891981 -6279.452094 -31315.316802 .020146
+P 3 -13204.685802 10980.243504 20114.730511 90.155179
+V 3 -6240.073954 -25206.389935 9841.710189 .030204
+P 4 21224.517691 -1297.446004 -16094.463370 -77.529871
+V 4 -15589.052877 13180.284754 -21280.760480 -.092221
+P 5 3424.340643 -15500.979054 -21422.342125 19.908186
+V 5 25575.004820 8676.119075 -2034.111966 .017203
+P 6 -6164.208081 -25546.467574 3487.733888 -1.440649
+V 6 3038.066368 -4705.304396 -30860.237840 -.010007
+P 7 15422.078381 11157.398327 -18190.924430 611.089011
+V 7 2163.886147 23910.785041 15981.324158 -.078896
+P 8 16352.551541 5579.360054 20062.123149 354.658445
+V 8 -20660.907029 15500.135819 12102.629177 -.088830
+P 9 12332.098601 -20471.213230 -11594.532124 -32.521350
+V 9 12876.502756 -6694.696455 26872.973246 -.018206
+P 10 19818.084192 -3921.578675 17341.139408 40.220577
+V 10 19590.335506 9990.566745 -19801.167386 .008326
+P 11 -9920.258777 21557.566791 -11798.847201 100.103396
+V 11 -13739.421469 7437.629492 25288.459875 .025546
+P 13 7438.734130 24555.963710 6985.787395 -30.883594
+V 13 -979.144937 9049.895465 -30513.625832 .002449
+P 14 -14665.867140 -9789.660436 -19807.366922 -18.169399
+V 14 -2005.668132 -25163.467588 13897.828380 -.001352
+P 15 -20884.372097 -31.679130 16321.741516 233.426794
+V 15 16877.207700 -12675.663343 21038.525718 .053680
+P 16 -22614.700488 966.168856 13975.135174 15.247321
+V 16 -15378.305916 -8860.832422 -24387.576541 -.004037
+P 17 18990.229266 -16619.237936 7101.426840 208.806623
+V 17 9249.261134 -1927.602537 -30684.579099 .195812
+P 18 -16310.963106 -17255.891671 12145.626063 -15.648200
+V 18 14675.725568 4781.138040 26356.735017 -.026793
+P 20 1306.697037 16332.126654 -20973.306171 -183.883979
+V 20 -24680.783075 -9576.035559 -9020.290452 .027745
+P 21 -8014.128236 -13070.684452 21629.136187 73.133211
+V 21 23047.320122 -15219.401300 -1043.806870 .005702
+P 22 -23510.953065 -12288.122542 787.155457 -39.422803
+V 22 1977.638789 -2175.683718 31782.727573 .086798
+P 24 23330.305298 -11676.463861 -4887.774766 8.393132
+V 24 -4100.672609 5660.998943 -31131.146110 .031199
+P 25 -21611.661385 5571.748076 -14013.634856 61.781741
+V 25 12075.733081 -14225.358160 -23686.320501 .007216
+P 26 8882.593775 -18564.878549 16173.270272 409.033837
+V 26 4220.113755 20888.341014 21924.353621 -.124904
+P 27 6288.470082 14853.928759 21515.030310 920.263419
+V 27 -20685.490953 16306.346563 -5838.456738 .041698
+P 28 23682.998125 12197.621869 2357.805899 21.993337
+V 28 -3550.873208 1256.647403 31339.107446 .016395
+P 29 11542.313765 -13773.512784 19804.382438 230.221325
+V 29 4430.109418 24162.217217 14470.466157 .032190
+P 30 -11721.588354 -17463.546067 -16510.574051 806.351989
+V 30 19877.510441 5590.317454 -20208.775569 .141610
+P 31 -5616.181272 22329.547544 12615.365138 42.409056
+V 31 -5958.343594 -15960.596949 25275.107035 .306236
+* 2004 3 1 23 45 .00000000
+P 1 -1212.224821 25311.315654 -7733.890274 332.744421
+V 1 -3759.197324 -9570.667917 -30089.405752 .019796
+P 3 -13828.468196 8684.149283 20822.741947 90.157557
+V 3 -7618.737632 -25731.417834 5870.006902 .030073
+P 4 19771.710009 -11.250907 -17867.389977 -77.538887
+V 4 -16614.209817 15393.971646 -18060.489251 -.092251
+P 5 5748.248463 -14775.178233 -21422.632399 19.909510
+V 5 25985.028300 7427.339625 2028.593089 .017538
+P 6 -5872.500173 -25821.333599 688.130676 -1.441251
+V 6 3509.986995 -1404.599326 -31263.324468 -.009686
+P 7 15650.562181 13215.861337 -16596.373138 611.082317
+V 7 2862.934293 21768.170277 19398.803318 -.078913
+P 8 14485.216150 7057.138267 20973.772613 354.650222
+V 8 -20752.146863 17304.822663 8124.712472 -.088913
+P 9 13371.870300 -21010.744654 -9082.979354 -32.523259
+V 9 10234.332464 -5220.061610 28860.913226 -.017962
+P 10 21505.920315 -3111.675132 15416.075450 40.220776
+V 10 17835.506929 8026.294771 -22916.015950 .008484
+P 11 -11048.416156 22161.392968 -9427.240152 100.105784
+V 11 -11336.631950 5913.084378 27337.898190 .025559
+P 13 7349.708301 25216.725852 4187.522489 -30.883374
+V 13 -1072.012362 5620.494553 -31580.930933 .002441
+P 14 -14895.691449 -11971.863096 -18388.966857 -18.169499
+V 14 -3054.298415 -23254.466525 17576.574329 -.001354
+P 15 -19311.757676 -1271.808763 18068.273648 233.431372
+V 15 17985.634733 -14876.969705 17715.315749 .053462
+P 16 -23899.344880 250.661638 11666.808147 15.247091
+V 16 -13099.099048 -7072.201019 -26835.490916 -.004056
+P 17 19682.835432 -16727.581231 4284.441774 208.823949
+V 17 6155.376541 -407.510323 -31822.076115 .195796
+P 18 -14860.359601 -16809.205314 14407.761040 -15.650537
+V 18 17532.466724 5072.555997 23841.270937 -.026820
+P 20 -972.753923 15515.830076 -21603.485183 -183.881092
+V 20 -25896.391392 -8517.807086 -4963.811603 .027755
+P 21 -5984.073922 -14486.491143 21348.171124 73.133915
+V 21 21995.525877 -16184.332842 -5193.017282 .005700
+P 22 -23191.296755 -12421.852285 3632.595068 -39.414450
+V 22 5145.382299 -863.029829 31358.440797 .086790
+P 24 22848.687611 -11063.201539 -7639.308608 8.395780
+V 24 -6541.686125 8007.055368 -29925.134889 .031298
+P 25 -20471.812024 4183.518861 -16015.560144 61.783478
+V 25 13175.788431 -16614.373961 -20733.917339 .007260
+P 26 9328.305012 -16590.084860 17995.258488 409.022653
+V 26 5718.224847 22911.880777 18504.769916 -.124906
+P 27 4489.266480 16346.425666 20812.336420 920.267575
+V 27 -19245.935112 16792.040769 -9758.789613 .041652
+P 28 23220.654380 12261.123730 5150.538422 21.994933
+V 28 -6733.996948 223.382840 30634.558821 .016416
+P 29 12012.722967 -11546.300086 20936.226718 230.224419
+V 29 6036.783196 25243.726683 10647.350212 .032163
+P 30 -9830.274878 -16973.604861 -18185.064165 806.364854
+V 30 22099.542389 5236.668279 -16950.303835 .141603
+P 31 -6212.283453 20783.049152 14770.921403 42.436640
+V 31 -7325.219000 -18338.186263 22554.283722 .306267
+EOF
diff --git a/trunk/tests/data/partials.dat b/trunk/tests/data/partials.dat
new file mode 100644
index 0000000..a355b0e
--- /dev/null
+++ b/trunk/tests/data/partials.dat
@@ -0,0 +1,18 @@
+t=GEN r=15 c=13
+:::
+ -1.9e+03 -3.7e+01 2.0e+03 -3.8e+03 -1.9e+02 0.0e+00 0.0e+00 -9.1e+01 5.7e+00 2.1e+03 8.9e+01 -5.1e+03 -2.5e+02
+ -1.8e+03 -6.2e+00 2.2e+03 -3.9e+03 -1.9e+02 0.0e+00 0.0e+00 -9.1e+01 5.7e+00 2.1e+03 8.9e+01 -5.1e+03 -2.5e+02
+ 2.6e+03 5.7e+02 -9.4e+02 -2.5e+00 0.0e+00 1.1e+02 3.1e-01 -2.0e+02 0.0e+00 6.4e+01 -1.9e+02 -1.7e+02 5.2e+02
+ 2.0e+03 -2.1e+03 -1.7e+03 0.0e+00 0.0e+00 -9.1e+01 5.7e+00 2.1e+03 8.9e+01 -5.1e+03 -2.5e+02 1.3e-15 -2.9e-15
+ 3.0e+01 2.0e+02 2.9e+03 0.0e+00 0.0e+00 1.8e+03 8.9e+01 -5.1e+03 -2.5e+02 1.3e-15 -2.9e-15 -2.7e-15 8.1e-15
+ -8.2e+00 -3.4e-01 4.2e+00 0.0e+00 0.0e+00 1.2e+00 0.0e+00 -3.8e+00 -1.5e-01 3.1e+01 4.1e-01 8.2e+01 -1.2e-19
+ 3.7e+02 2.3e+02 -9.6e+01 0.0e+00 0.0e+00 0.0e+00 0.0e+00 -3.2e+01 -7.3e-01 -6.1e+01 7.8e+00 8.2e+02 3.3e+01
+ -1.5e+03 -2.8e+02 1.4e+02 0.0e+00 0.0e+00 0.0e+00 0.0e+00 6.8e+02 3.3e+01 1.2e+03 5.7e+01 -3.1e+03 -1.5e+02
+ -1.7e-01 -9.2e-01 1.7e-01 0.0e+00 0.0e+00 0.0e+00 0.0e+00 4.3e-01 0.0e+00 5.8e-01 -5.4e-02 -2.3e+00 -9.5e-02
+ 1.7e+01 -5.5e+01 1.5e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 -3.3e+01 -8.2e-01 -6.3e+01 8.1e+00
+ 1.0e+02 6.0e+02 -1.0e+02 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 7.3e+02 3.5e+01 1.2e+03 6.1e+01
+ -3.8e-01 -2.9e-01 1.5e-01 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 4.6e-01 0.0e+00 6.1e-01 -5.7e-02
+ -2.6e+01 -1.9e+01 1.0e+01 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 -3.0e+01 -2.7e-01
+ 2.1e+02 1.6e+02 -8.3e+01 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 6.4e+02 3.1e+01
+ 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 0.0e+00 4.1e-01 0.0e+00
+
diff --git a/trunk/tests/data/positiontest.ref b/trunk/tests/data/positiontest.ref
new file mode 100644
index 0000000..4e92d1e
--- /dev/null
+++ b/trunk/tests/data/positiontest.ref
@@ -0,0 +1,84 @@
+Position() Unknown system! : 0 0 0
+Test set...() and transformTo
+Position.set to Cartesian -1575232.0141 m -4707872.2332 m 3993198.4383 m
+Transform Cartesian to Geodetic 39.00000419 degN 251.50000000 degE 1400.0091 m Error : 4.36397e-007 m
+Transform Cartesian to Geocentric 38.81195851 degN 251.50000000 degE 6371110.6277 m Error : 3.38708e-007 m
+Transform Cartesian to Spherical 51.18804149 deg 251.50000000 deg 6371110.6277 M Error : 3.38708e-007 m
+Position.set to Geodetic 39.00000419 degN 251.50000000 degE 1400.0091 m
+Transform Geodetic to Cartesian -1575232.0141 m -4707872.2332 m 3993198.4383 m Error : 0 m
+Transform Geodetic to Geocentric 38.81195851 degN 251.50000000 degE 6371110.6277 m Error : 1.29053e-007 m
+Transform Geodetic to Spherical 51.18804149 deg 251.50000000 deg 6371110.6277 M Error : 1.29053e-007 m
+Position.set to Geocentric 38.81195851 degN 251.50000000 degE 6371110.6277 m
+Transform Geocentric to Cartesian -1575232.0141 m -4707872.2332 m 3993198.4383 m Error : 0 m
+Transform Geocentric to Geodetic 39.00000419 degN 251.50000000 degE 1400.0091 m Error : 1.18945e-007 m
+Transform Geocentric to Spherical 51.18804149 deg 251.50000000 deg 6371110.6277 M Error : 0 m
+Position.set to Spherical 51.18804149 deg 251.50000000 deg 6371110.6277 M
+Transform Spherical to Cartesian -1575232.0141 m -4707872.2332 m 3993198.4383 m Error : 0 m
+Transform Spherical to Geocentric 38.81195851 degN 251.50000000 degE 6371110.6277 m Error : 0 m
+Transform Spherical to Geodetic 39.00000419 degN 251.50000000 degE 1400.0091 m Error : 1.18945e-007 m
+
+Test printf and the indicated 'get()' functions
+-1575232.0141 X() (meters)
+-4707872.2332 Y() (meters)
+ 3993198.4383 Z() (meters)
+ -1575.2320 X()/1000 (kilometers)
+ -4707.8722 Y()/1000 (kilometers)
+ 3993.1984 Z()/1000 (kilometers)
+ 39.000004 geodeticLatitude() (degrees North)
+ 38.811959 geocentricLatitude() (degrees North)
+ 251.500000 longitude() (degrees East)
+ 251.500000 longitude() (degrees East)
+ 108.500000 longitude() (degrees West)
+ 108.500000 longitude() (degrees West)
+ 51.188041 theta() (degrees)
+ 0.893400 theta() (radians)
+ 251.500000 phi() (degrees)
+ 4.389503 phi() (radians)
+ 6371110.6277 radius() meters
+ 6371.1106 radius()/1000 kilometers
+ 1400.0091 height() meters
+ 1.4000 height()/1000 kilometers
+
+Test setToString and equality operators
+System: Geodetic
+Original 39.00000419 degN 251.50000000 degE 1400.0091 m
+string 39.00000419 degN 251.50000000 degE 1400.0091 m
+setToString 39.00000419 degN 251.50000000 degE 1400.0091 m Error 0.00036341 m
+ equality: == but not !=
+
+System: Geocentric
+Original 38.81195851 degN 251.50000000 degE 6371110.6277 m
+string 38.81195851 degN 251.50000000 degE 6371110.6277 m
+setToString 38.81195851 degN 251.50000000 degE 6371110.6277 m Error 0.000431592 m
+ equality: == but not !=
+
+System: Cartesian
+Original -1575232.0141 m -4707872.2332 m 3993198.4383 m
+string -1575232.0141 m -4707872.2332 m 3993198.4383 m
+setToString -1575232.0141 m -4707872.2332 m 3993198.4383 m Error 0 m
+ equality: == but not !=
+
+System: Spherical
+Original 51.18804149 deg 251.50000000 deg 6371110.6277 M
+string 51.18804149 deg 251.50000000 deg 6371110.6277 M
+setToString 51.18804149 deg 251.50000000 deg 6371110.6277 M Error 0.000431592 m
+ equality: == but not !=
+
+The IPP at 38.81195851 degN 251.50000000 degE 6371110.6277 m (90,0,350000) is
+ 38.81195851 degN 251.50000000 degE 6728137.0000 m Geocentric
+
+Try to break it at the pole
+The pole 0.0000 m 0.0000 m 6371110.6277 m
+The pole in geodetic 90.00000000 degN 0.00000000 degE 14358.3135 m
+The pole in geocentric 90.00000000 degN 0.00000000 degE 6371110.6277 m
+The pole in spherical 0.00000000 deg 0.00000000 deg 6371110.6277 M
+The pole in cartesian 0.0000 m 0.0000 m 6371110.6277 m
+The pole in geocentric 90.00000000 degN 0.00000000 degE 6371110.6277 m
+The pole in geodetic 90.00000000 degN 0.00000000 degE 14358.3135 m
+The pole in cartesian 0.0000 m 0.0000 m 6371110.6277 m
+The pole in spherical 0.00000000 deg 0.00000000 deg 6371110.6277 M
+The pole in geodetic 90.00000000 degN 0.00000000 degE 14358.3135 m
+The pole in spherical 0.00000000 deg 0.00000000 deg 6371110.6277 M
+The pole in geocentric 90.00000000 degN 0.00000000 degE 6371110.6277 m
+The pole in cartesian 0.0000 m 0.0000 m 6371110.6277 m
+Tests complete.
diff --git a/trunk/tests/data/squ.dat b/trunk/tests/data/squ.dat
new file mode 100644
index 0000000..da8525c
--- /dev/null
+++ b/trunk/tests/data/squ.dat
@@ -0,0 +1,7 @@
+t=SQU r=5 c=5
+:::
+1.0 1.345 2.827 4.201 -0.4281
+2.188 2.0 0.8234 8.291 -0.723
+0.488 1.345 3.0 0.831 -0.32
+-0.009 6.205 -0.948 4.0 1.92
+2.8348 -1.2834 -0.873 2.834 5.8309
diff --git a/trunk/tests/data/stringutiltest.ref b/trunk/tests/data/stringutiltest.ref
new file mode 100644
index 0000000..5dda28a
--- /dev/null
+++ b/trunk/tests/data/stringutiltest.ref
@@ -0,0 +1,45 @@
+Standard hex dump:
+0000: 00 10 30 33 30 31 30 35 3a 65 70 68 20 3a 30 3a ..030105:eph :0:
+0010: 35 32 36 34 30 2e 33 33 33 34 30 32 37 37 37 37 52640.3334027777
+0020: 37 37 37 38 42 72 69 61 6e 20 69 73 20 61 20 68 7778Brian is a h
+0030: 6f 73 65 72 32 35 39 32 35 39 32 34 20 32 20 35 oser25925924 2 5
+0040: 32 36 34 30 2e 33 33 38 38 33 36 33 34 32 35 39 2640.33883634259
+0050: 32 35 39 33 20 32 20 38 35 34 31 32 20 31 20 31 2593 2 85412 1 1
+0060: 20 30 20 31 20 31 20 34 20 32 20 34 20 30 20 30 0 1 1 4 2 4 0 0
+0070: 20 33 20 31 31 39 39 20 32 32 63 30 61 66 30 33 3 1199 22c0af03
+0080: 20 31 37 37 30 32 39 65 34 20 61 66 34 30 30 31 177029e4 af4001
+0090: 66 20 65 36 31 62 35 38 61 20 35 35 66 33 37 35 f e61b58a 55f375
+00a0: 30 20 34 63 63 61 38 38 37 20 31 31 35 64 37 63 0 4cca887 115d7c
+00b0: 66 63 20 33 61 64 32 30 34 38 61 20 63 65 61 20 fc 3ad2048a cea
+00c0: 33 36 32 63 34 38 20 31 31 39 39 20 32 32 63 30 362c48 1199 22c0
+00d0: 61 66 30 33 20 31 37 37 30 34 61 37 34 20 33 61 af03 17704a74 3a
+00e0: 63 34 36 36 63 31 20 62 64 30 63 36 64 63 20 33 c466c1 bd0c6dc 3
+00f0: 39 31 62 33 37 38 33 20 33 65 30 34 30 63 66 85 91b3783 3e040cf.
+
+Alternate hex dump:
+ 00000000: 0010 3033 3031 3035 3A65 7068 203A 303A '..030105:eph :0:'
+ 00000010: 3532 3634 302E 3333 3334 3032 3737 3737 '52640.3334027777'
+ 00000020: 3737 3738 4272 6961 6E20 6973 2061 2068 '7778Brian is a h'
+ 00000030: 6F73 6572 3235 3932 3539 3234 2032 2035 'oser25925924 2 5'
+ 00000040: 3236 3430 2E33 3338 3833 3633 3432 3539 '2640.33883634259'
+ 00000050: 3235 3933 2032 2038 3534 3132 2031 2031 '2593 2 85412 1 1'
+ 00000060: 2030 2031 2031 2034 2032 2034 2030 2030 ' 0 1 1 4 2 4 0 0'
+ 00000070: 2033 2031 3139 3920 3232 6330 6166 3033 ' 3 1199 22c0af03'
+ 00000080: 2031 3737 3032 3965 3420 6166 3430 3031 ' 177029e4 af4001'
+ 00000090: 6620 6536 3162 3538 6120 3535 6633 3735 'f e61b58a 55f375'
+ 000000A0: 3020 3463 6361 3838 3720 3131 3564 3763 '0 4cca887 115d7c'
+ 000000B0: 6663 2033 6164 3230 3438 6120 6365 6120 'fc 3ad2048a cea '
+ 000000C0: 3336 3263 3438 2031 3139 3920 3232 6330 '362c48 1199 22c0'
+ 000000D0: 6166 3033 2031 3737 3034 6137 3420 3361 'af03 17704a74 3a'
+ 000000E0: 6334 3636 6331 2062 6430 6336 6463 2033 'c466c1 bd0c6dc 3'
+ 000000F0: 3931 6233 3738 3320 3365 3034 3063 6685 '91b3783 3e040cf.'
+
+Above using printable():
+^@^P030105:eph :0:52640.33340277777778Brian is a hoser25925924 2 52640.338836342592593 2 85412 1 1 0 1 1 4 2 4 0 0 3 1199 22c0af03 177029e4 af4001f e61b58a 55f3750 4cca887 115d7cfc 3ad2048a cea 362c48 1199 22c0af03 17704a74 3ac466c1 bd0c6dc 391b3783 3e040cf<85>
+Original: 1234567890
+ This is a very long sentence that
+ will get cut up into lines with a
+ maximum length of 40 characters,
+ each line indented by a few spaces.
+
+All other Tests Passed.
diff --git a/trunk/tests/data/sym.dat b/trunk/tests/data/sym.dat
new file mode 100644
index 0000000..8eeb1cd
--- /dev/null
+++ b/trunk/tests/data/sym.dat
@@ -0,0 +1,6 @@
+t=SYM r=4 c=4
+:::
+10.0
+1.345 9.8234
+2.827 8.291 13.0
+4.201 -0.723 0.831 9.009
diff --git a/trunk/tests/data/tmatrix.dat b/trunk/tests/data/tmatrix.dat
new file mode 100644
index 0000000..547eb98
--- /dev/null
+++ b/trunk/tests/data/tmatrix.dat
@@ -0,0 +1,15 @@
+#A 'standard' Matrix file musthave one row per line, and must
+#start with the type and dimension of the Matrix, i.e.:
+# type=GEN rows=12 columns=14
+# or abbreviated:
+# t=GEN r=12 c=14
+#Types are GEN SQU SYM UPT LOW DIA
+#Notice the order: type, rows, columns, and that characters are lowercase,
+#comments follow '#' signs to the end of line,
+#and lines with data must follow a line with 3 colons (:::).
+t=GEN r=4 c=5
+:::
+1.0 1.345 2.827 4.201 -0.4281
+2.188 2.0 0.8234 8.291 -0.723
+0.488 1.345 3.0 0.831 -0.32
+-0.009 6.205 -0.948 4.0 1.92
diff --git a/trunk/tests/data/ut.dat b/trunk/tests/data/ut.dat
new file mode 100644
index 0000000..9cf2903
--- /dev/null
+++ b/trunk/tests/data/ut.dat
@@ -0,0 +1,6 @@
+t=UPT r=4 c=4
+:::
+1.834 2.837 3.223 4.808
+5.8374 6.774 7.0831
+8.2374 9.1182
+10.838
diff --git a/trunk/tests/daytimetest.cpp b/trunk/tests/daytimetest.cpp
new file mode 100644
index 0000000..70c9862
--- /dev/null
+++ b/trunk/tests/daytimetest.cpp
@@ -0,0 +1,78 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/daytimetest.cpp#3 $"
+//
+// test the daytime implementation
+//
+
+#include <iostream>
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "GPSZcount.hpp"
+
+using namespace std;
+using namespace gpstk::StringUtils;
+
+/// prints the given daytime with the given format
+void dtft(ostream& s, const gpstk::DayTime& t, const string& fmt)
+{
+ string fs = fmt;
+ string p = t.printf(fmt.c_str());
+
+ s << leftJustify(fs, 30) << " "
+ << p << endl;
+}
+
+/// returns 0 if all tests pass
+int main()
+{
+ using gpstk::DayTime;
+
+ try
+ {
+ cout << "BOT:" << DayTime(gpstk::DayTime::BEGINNING_OF_TIME) << endl;
+ cout << "EOT:" << DayTime(gpstk::DayTime::END_OF_TIME) << endl;
+
+ DayTime dt;
+ dt.setSystemTime();
+ cout << "Check that the output matches the current UTC time." << endl
+ << "string printf()" << endl;
+
+ dtft(cout, dt, "mjd: %Q (%.0Q)");
+ dtft(cout, dt, "mjd: %5.3Q");
+ dtft(cout, dt, "mdy: %02m/%02d/%04Y");
+ dtft(cout, dt, "hms: %02H:%02M:%02S");
+ dtft(cout, dt, "hms: %02H:%02M:%06.3f");
+ dtft(cout, dt, "cal: %A, %B %d, %Y");
+ dtft(cout, dt, "week: %F(%G)");
+ dtft(cout, dt, "sow: %g");
+ dtft(cout, dt, "sow: %06.3g");
+ dtft(cout, dt, "doy: %j:%s");
+ dtft(cout, dt, "dow: %w");
+ dtft(cout, dt, "z: %Z (%z)");
+ dtft(cout, dt, "unix: %U.%06u");
+
+ cout << endl
+ << "The following functions use DayTime::setToString()" << endl;
+
+ string format = "%02m/%02d/%04Y %02H:%02M:%02S";
+ string st = dt.printf(format);
+
+ DayTime q;
+ q.setToString(st, format);
+ dtft(cout, q, format);
+
+ cout << "Tests complete." << endl;
+ return 0;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(...)
+ {
+ cout << "Some other exception thrown..." << endl;
+ }
+
+ cout << "Exiting with exceptions." << endl;
+ return -1;
+}
diff --git a/trunk/tests/delFileSpecTestDirs.pl b/trunk/tests/delFileSpecTestDirs.pl
new file mode 100755
index 0000000..814a45b
--- /dev/null
+++ b/trunk/tests/delFileSpecTestDirs.pl
@@ -0,0 +1,25 @@
+#!/usr/bin/perl -w
+# $Id: //depot/sgl/gpstk/dev/tests/delFileSpecTestDirs.pl#1 $
+#
+#
+# This script eliminates the set of dummy files and directories created
+# by genFileSpecTestDirs. The dummy files/directories are used while
+# running FileSpecTest but are unnecessary afterwards.
+#
+
+for ($stn = 401; $stn <= 403; $stn++)
+{
+ $stnDir = sprintf("fstest/ADMS%03i/RINEXOBS", $stn);
+
+ for ($year = 1; $year <= 2; $year++)
+ {
+
+ for ($day = 50; $day <= 53; $day++)
+ {
+ $stnFile = $stnDir . sprintf("/S%02i1%03iA.%02iO", substr($stn,1,2), $day, $year);
+ # print "$stnFile\n";
+ `rm $stnFile`;
+ }
+ }
+ `rmdir -p $stnDir`;
+}
diff --git a/trunk/tests/exceptiontest.cpp b/trunk/tests/exceptiontest.cpp
new file mode 100755
index 0000000..d2766fe
--- /dev/null
+++ b/trunk/tests/exceptiontest.cpp
@@ -0,0 +1,50 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/exceptiontest.cpp#2 $"
+
+#include <iostream>
+#include <string>
+
+#include "Exception.hpp"
+
+/**
+ * @file exceptiontest.cpp
+ * tests gpslib::Exception
+ */
+
+using namespace std;
+
+class TestException
+{
+public:
+ NEW_EXCEPTION_CLASS(TE, gpstk::Exception);
+
+ int foo;
+
+ void funcie() throw(TE)
+ {
+ try {
+ foo=1;
+ if (foo-1==0)
+ {
+ TE e("Blarfo");
+ e.addLocation(FILE_LOCATION);
+ throw e;
+ }
+ foo=4;
+ } catch (TE& e) {
+ e.addText("Ja mon");
+ e.addLocation(FILE_LOCATION);
+ throw;
+ }
+ }
+};
+
+// returns 0 if all tests pass
+int main()
+{
+ TestException a;
+ try {
+ a.funcie();
+ } catch (gpstk::Exception& e) {
+ cout << "main " << e;
+ }
+}
diff --git a/trunk/tests/genFileSpecTestDirs.pl b/trunk/tests/genFileSpecTestDirs.pl
new file mode 100755
index 0000000..ea70cc9
--- /dev/null
+++ b/trunk/tests/genFileSpecTestDirs.pl
@@ -0,0 +1,30 @@
+#!/usr/bin/perl -w
+#
+# "$Id: //depot/sgl/gpstk/dev/tests/genFileSpecTestDirs.pl#1 $"
+#
+# This script generates a set of dummy files and directories for
+# running FileSpecTest. They are in the form of
+# fstest/ADMS###/RINEXOBS/S##1###A.##O
+
+for($stn = 401; $stn <= 403; $stn++)
+{
+ $stnDir = sprintf("fstest/ADMS%03i", $stn);
+ `mkdir -p $stnDir`;
+ $stnDir .= "/RINEXOBS";
+ `mkdir $stnDir`;
+ $stnDir .= sprintf("/S%02i1", substr($stn,1,2));
+ for ($year = 1; $year <= 2; $year++)
+ {
+ for ($day = 50; $day <= 53; $day++)
+ {
+ $thisFile = $stnDir . sprintf("%03iA.%02iO", $day, $year);
+ print "$thisFile\n";
+ `touch $thisFile`;
+ }
+ }
+
+# for ($num = 1; $num <= 5; $num++)
+# {
+# `touch $num`;
+# }
+}
diff --git a/trunk/tests/gpszcounttest.cpp b/trunk/tests/gpszcounttest.cpp
new file mode 100755
index 0000000..d5b010f
--- /dev/null
+++ b/trunk/tests/gpszcounttest.cpp
@@ -0,0 +1,182 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/gpszcounttest.cpp#5 $"
+
+/**
+ * @file gpszcounttest.cpp
+ * A set of tests for the GPSZcount class.
+ * tests gpslib::GPSZcount
+ */
+
+#include <limits>
+#include "GPSZcount.hpp"
+#include "CommandOptionParser.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+bool failure = false;
+int verboseLevel = 0;
+void say(const string& foo);
+void process(bool result);
+
+//
+// returns zero if all tests pass
+//
+int main (int argc, char *argv[])
+{
+ // take care of command line options
+ CommandOptionNoArg hOption('h', "help", "Display this helpful information.",
+ false);
+ CommandOptionNoArg vOption('v', "verbose", "Increase the verbosity.",
+ false);
+ CommandOptionNoArg qOption('q', "quiet", "Only issue a return code.",
+ false);
+ CommandOptionParser cop("GPSZcount Test Suite");
+ cop.parseOptions(argc, argv);
+ if (cop.hasErrors())
+ {
+ cop.dumpErrors(cout);
+ cop.displayUsage(cout);
+ return 1;
+ }
+
+ if(hOption.getCount())
+ {
+ cop.displayUsage(cout);
+ return 0;
+ }
+
+ verboseLevel = vOption.getCount();
+
+ try
+ {
+ // Proceed with testing
+ GPSZcount one, two;
+
+ say("Equality Test: ");
+ process (one == two);
+
+ say("Assignment Test 1: ");
+ one = GPSZcount(1000, 5);
+ process(one.getWeek() == 1000 &&
+ one.getZcount() == 5);
+
+ say("Assignment Test 2: ");
+ try
+ {
+ // this should throw an exception
+ one.setZcount(GPSZcount::ZCOUNT_WEEK);
+ // if we get here, it failed
+ process(false);
+ }
+ catch (InvalidParameter& ip)
+ {
+ process(true);
+ }
+
+ say("Addition Test: ");
+ one += GPSZcount::ZCOUNT_WEEK + 5 ;
+ process(one.getWeek() == 1001 &&
+ one.getZcount() == 10) ;
+
+ say("Subtraction Test: ");
+ one -= GPSZcount::ZCOUNT_WEEK + 5 ;
+ process(one.getWeek() == 1000 &&
+ one.getZcount() == 5) ;
+
+ say("Invalid Week Test 1: ");
+ one.setWeek(numeric_limits<short>::max());
+ try
+ {
+ // this should throw an exception
+ one += GPSZcount::ZCOUNT_WEEK;
+ // if we get here, it failed
+ process(false);
+ }
+ catch (InvalidRequest& ir)
+ {
+ process(true);
+ }
+
+ say("Invalid Week Test 2: " );
+ one.setWeek(0);
+ try
+ {
+ // this should throw an exception
+ one -= GPSZcount::ZCOUNT_WEEK;
+ // if we get here, it failed
+ process(false);
+ }
+ catch (InvalidRequest& ir)
+ {
+ process(true);
+ }
+
+ say("Less-Than Test: ");
+ one.setWeek(1000).setZcount(GPSZcount::ZCOUNT_WEEK / 2) ;
+ two = one + 5 ;
+ process(two >= one) ;
+
+ say("Greater-Than Test: ") ;
+ two = one - 5 ;
+ process(two <= one) ;
+
+ say("SameTimeBlock Test 1: ") ;
+ // set one to be at 4:20 and two at 4:00
+ one.setWeek(1200).setZcount(4 * GPSZcount::ZCOUNT_HOUR
+ + 20 * GPSZcount::ZCOUNT_MINUTE) ;
+ two.setWeek(1200).setZcount(4 * GPSZcount::ZCOUNT_HOUR) ;
+ // test if one and two are between 4:00 and 5:00
+ process(one.inSameTimeBlock(two, GPSZcount::ZCOUNT_HOUR)) ;
+
+ say("SameTimeBlock Test 2: ") ;
+ // test if one and two are NOT between 4:20 and 4:21
+ process(! one.inSameTimeBlock(two, GPSZcount::ZCOUNT_MINUTE)) ;
+
+ say("SameTimeBlock Test 3: ") ;
+ // test if one and two are NOT between 4:15 and 5:15
+ process(! one.inSameTimeBlock(two, GPSZcount::ZCOUNT_HOUR,
+ 15 * GPSZcount::ZCOUNT_MINUTE)) ;
+
+ say("Dump Test: ") ;
+ if (verboseLevel)
+ {
+ cout << endl << one << endl;
+ one.dump(cout, 1);
+ }
+
+ say("String Test: ");
+ one.setWeek(1200).setZcount(123456);
+ process(string(one) == string("1200w123456z"));
+
+ if (qOption.getCount() == 0)
+ {
+ // Display the overall results
+ cout << "GPSZcount Overall results: "
+ << (failure ? "Fail" : "Pass") << endl;
+ }
+
+ return failure ? 1 : 0 ;
+ }
+ catch(gpstk::Exception& exc)
+ {
+ cout << endl << endl << "Caught a " << exc.getName() << " exception:"
+ << endl << exc << endl ;
+ return 1 ;
+ }
+}
+
+void say(const string& foo)
+{
+ if (verboseLevel)
+ cout << foo << flush;
+}
+
+void process(bool result)
+{
+ failure |= !result;
+
+ if(verboseLevel)
+ {
+ cout << (result ? "Pass" : "Fail") << endl;
+ }
+}
diff --git a/trunk/tests/petest.cpp b/trunk/tests/petest.cpp
new file mode 100755
index 0000000..b16e985
--- /dev/null
+++ b/trunk/tests/petest.cpp
@@ -0,0 +1,102 @@
+#include <iostream>
+#include <iomanip>
+#include <string>
+#include <map>
+
+#include "DayTime.hpp"
+#include "SP3Stream.hpp"
+#include "SP3Data.hpp"
+#include "SP3Header.hpp"
+#include "SP3EphemerisStore.hpp"
+
+/**
+ * @file petest.cpp
+ *
+ */
+
+using namespace std;
+
+int main(int argc, char *argv[])
+{
+ if (argc<2) {
+ cout << "Usage: petest <SP3-format files ...>\n";
+ return -1;
+ }
+
+ try
+ {
+ int i,ip,it,nf=0,np=0,nt=0;
+ gpstk::SP3EphemerisStore EphList;
+ for(i=1; i<argc; i++) {
+ gpstk::SP3Header header;
+ gpstk::SP3Data data;
+ // you can't open, close, and reopen a file w/o abort on second open...
+ gpstk::SP3Stream pefile;
+ pefile.exceptions(ifstream::failbit);
+ cout << "Reading SP3 file " << argv[i] << "." << endl;
+ pefile.open(argv[i],ios::in);
+
+ pefile >> header;
+ //cout << "Dump header:\n";
+ //header.dump(cout);
+ //cout << endl;
+
+ ip = it = 0;
+ gpstk::DayTime t(gpstk::DayTime::BEGINNING_OF_TIME);
+ while(pefile >> data) {
+ if(data.time > t) {
+ //cout << "Epoch " << data.time << endl;
+ t = data.time;
+ it++; nt++;
+ }
+ //data.dump(cout);
+ ip++; np++;
+ }
+ cout << "\nDone with file " << argv[i] << ": read "
+ << ip << " P/V records and " << it << " epochs." << endl;
+ pefile.close();
+ nf++;
+
+ // add to store
+ EphList.loadFile(string(argv[i]));
+ }
+ cout << "\nDone with " << nf << " files: read "
+ << np << " P/V records and " << nt << " epochs." << endl;
+
+ //EphList.dump(2);
+
+ unsigned long ref;
+ // choose a time tag within the data....
+ gpstk::DayTime tt(2004,2,29,3,0,0.0);
+ gpstk::Xvt PVT;
+ for(i=0; i<300; i++) {
+ tt += 30.0;
+ PVT = EphList.getPrnXvt(31,tt);
+
+ if (false)
+ cout << "LI " << tt << " P " << fixed
+ << setw(13) << setprecision(6) << PVT.x[0] << " "
+ << setw(13) << setprecision(6) << PVT.x[1] << " "
+ << setw(13) << setprecision(6) << PVT.x[2] << " "
+ << setw(13) << setprecision(6) << PVT.dtime
+ << " V "
+ << setw(13) << setprecision(6) << PVT.v[0] << " "
+ << setw(13) << setprecision(6) << PVT.v[1] << " "
+ << setw(13) << setprecision(6) << PVT.v[2] << " "
+ << setw(13) << setprecision(6) << PVT.ddtime
+ << endl;
+ }
+ }
+ catch (gpstk::Exception& e)
+ {
+ cout << e;
+ exit(-1);
+ }
+ catch (...)
+ {
+ cout << "Caught an unknown exception" << endl;
+ exit(-1);
+ }
+
+ return 0;
+}
diff --git a/trunk/tests/positiontest.cpp b/trunk/tests/positiontest.cpp
new file mode 100755
index 0000000..f0c5d2b
--- /dev/null
+++ b/trunk/tests/positiontest.cpp
@@ -0,0 +1,232 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/positiontest.cpp#4 $"
+/**
+ * @file positiontest.cpp Test the Position module
+ *
+ */
+
+#include <iostream>
+#include <iomanip>
+#include "Position.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+int main()
+{
+ try
+ {
+ int i;
+ Position c,s,d,g;
+ cout << "Position() " << c << endl;
+
+ // test transformTo
+ cout << "Test set...() and transformTo\n";
+ {
+ c.setECEF(-1575232.0141,-4707872.2332, 3993198.4383);
+ cout << "Position.set to Cartesian " << c << endl;
+ Position t(c);
+ t.transformTo(Position::Geodetic);
+ cout << "Transform Cartesian to Geodetic " << t;
+ cout << " Error : " << range(t,c) << " m" << endl;
+ t = c;
+ t.transformTo(Position::Geocentric);
+ cout << "Transform Cartesian to Geocentric " << t;
+ cout << " Error : " << range(t,c) << " m" << endl;
+ t = c;
+ t.transformTo(Position::Spherical);
+ cout << "Transform Cartesian to Spherical " << t;
+ cout << " Error : " << range(t,c) << " m" << endl;
+ }
+ {
+ d.setGeodetic(39.000004186778,251.499999999370,1400.009066903964);
+ cout << "Position.set to Geodetic " << d << endl;
+ Position t(d);
+ t.transformTo(Position::Cartesian);
+ cout << "Transform Geodetic to Cartesian " << t;
+ cout << " Error : " << range(t,d) << " m" << endl;
+ t = d;
+ t.transformTo(Position::Geocentric);
+ cout << "Transform Geodetic to Geocentric " << t;
+ cout << " Error : " << range(t,d) << " m" << endl;
+ t = d;
+ t.transformTo(Position::Spherical);
+ cout << "Transform Geodetic to Spherical " << t;
+ cout << " Error : " << range(t,d) << " m" << endl;
+ }
+ {
+ g.setGeocentric(38.811958506159,251.499999999370,6371110.627671023800);
+ cout << "Position.set to Geocentric " << g << endl;
+ Position t(g);
+ t.transformTo(Position::Cartesian);
+ cout << "Transform Geocentric to Cartesian " << t;
+ cout << " Error : " << range(t,g) << " m" << endl;
+ t = g;
+ t.transformTo(Position::Geodetic);
+ cout << "Transform Geocentric to Geodetic " << t;
+ cout << " Error : " << range(t,g) << " m" << endl;
+ t = g;
+ t.transformTo(Position::Spherical);
+ cout << "Transform Geocentric to Spherical " << t;
+ cout << " Error : " << range(t,g) << " m" << endl;
+ }
+ {
+ s.setSpherical(51.188041493841,251.499999999370,6371110.627671023800);
+ cout << "Position.set to Spherical " << s << endl;
+ Position t(s);
+ t.transformTo(Position::Cartesian);
+ cout << "Transform Spherical to Cartesian " << t;
+ cout << " Error : " << range(t,s) << " m" << endl;
+ t = s;
+ t.transformTo(Position::Geocentric);
+ cout << "Transform Spherical to Geocentric " << t;
+ cout << " Error : " << range(t,s) << " m" << endl;
+ t = s;
+ t.transformTo(Position::Geodetic);
+ cout << "Transform Spherical to Geodetic " << t;
+ cout << " Error : " << range(t,s) << " m" << endl;
+ }
+
+ // test printf
+ cout << "\nTest printf and the indicated 'get()' functions\n";
+ cout << c.printf("%13.4x X() (meters)") << endl;
+ cout << c.printf("%13.4y Y() (meters)") << endl;
+ cout << c.printf("%13.4z Z() (meters)") << endl;
+ cout << c.printf("%13.4X X()/1000 (kilometers)") << endl;
+ cout << c.printf("%13.4Y Y()/1000 (kilometers)") << endl;
+ cout << c.printf("%13.4Z Z()/1000 (kilometers)") << endl;
+ cout << c.printf("%15.6A geodeticLatitude() (degrees North)") << endl;
+ cout << c.printf("%15.6a geocentricLatitude() (degrees North)") << endl;
+ cout << c.printf("%15.6L longitude() (degrees East)") << endl;
+ cout << c.printf("%15.6l longitude() (degrees East)") << endl;
+ cout << c.printf("%15.6w longitude() (degrees West)") << endl;
+ cout << c.printf("%15.6W longitude() (degrees West)") << endl;
+ cout << c.printf("%15.6t theta() (degrees)") << endl;
+ cout << c.printf("%15.6T theta() (radians)") << endl;
+ cout << c.printf("%15.6p phi() (degrees)") << endl;
+ cout << c.printf("%15.6P phi() (radians)") << endl;
+ cout << c.printf("%13.4r radius() meters") << endl;
+ cout << c.printf("%13.4R radius()/1000 kilometers") << endl;
+ cout << c.printf("%13.4h height() meters") << endl;
+ cout << c.printf("%13.4H height()/1000 kilometers") << endl;
+
+ // test setToString
+ cout << "\nTest setToString and equality operators\n";
+ string fmt[5]={
+ "",
+ "%A degN %L degE %h m",
+ "%a degN %L degE %r m",
+ "%x m %y m %z m",
+ "%t deg %p deg %r M"};
+ for(i=1; i<5; i++) {
+ string str;
+ Position t(c),tt;
+ t.transformTo(static_cast<Position::CoordinateSystem>(i));
+ {
+ ostringstream o;
+ o << t;
+ str = o.str();
+ }
+ tt.setToString(str,fmt[i]);
+ cout << "System: " << t.getSystemName() << endl;
+ cout << "Original " << t << endl;
+ cout << "string " << str << endl;
+ cout << "setToString " << tt
+ << " Error " << range(tt,t) << " m" << endl;
+ cout << " equality: " << (t==tt ? "==" : "not ==");
+ cout << " but " << (t!=tt ? "!=" : "not !=") << endl;
+ cout << endl;
+ }
+
+ // test elevation and azimuth
+ cout << "Elevation and azimth" << fixed << endl;
+ c.setECEF(-1575232.0141,-4707872.2332, 3993198.4383);
+ s.setECEF(3*6371110.62767,0,0);
+ cout << setw(6) << setprecision(2) << c.elevation(s)
+ << " " << setw(6) << setprecision(2) << c.azimuth(s) << endl;
+ // compare with functions from Triple::
+ cout << setw(6) << setprecision(2) << c.elvAngle(s)
+ << " " << setw(6) << setprecision(2) << c.azAngle(s) << endl;
+ cout << endl;
+
+ // test IPP
+ cout << "The IPP at " << g << " (90,0,350000) is\n"
+ << " " << g.getIonosphericPiercePoint(90,0,350000)
+ << " " << g.getSystemName() << endl << endl;
+
+ // test ALL transforms with pole
+ // X -> D -> C -> S -> X -> C -> D -> X -> S -> D -> S -> C -> X
+ cout << "Try to break it at the pole\n";
+ c.setECEF(0,0,6371110.6277);
+ //c.setECEF(0,0,0.0001); // this will break it
+ cout << "Set to the pole in cartesian : " << c << endl;
+ c.transformTo(Position::Geodetic);
+ cout << "The pole in geodetic " << c << endl;
+ c.transformTo(Position::Geocentric);
+ cout << "The pole in geocentric " << c << endl;
+ c.transformTo(Position::Spherical);
+ cout << "The pole in spherical " << c << endl;
+ c.transformTo(Position::Cartesian);
+ cout << "The pole in cartesian " << c << endl;
+ c.transformTo(Position::Geocentric);
+ cout << "The pole in geocentric " << c << endl;
+ c.transformTo(Position::Geodetic);
+ cout << "The pole in geodetic " << c << endl;
+ c.transformTo(Position::Cartesian);
+ cout << "The pole in cartesian " << c << endl;
+ c.transformTo(Position::Spherical);
+ cout << "The pole in spherical " << c << endl;
+ c.transformTo(Position::Geodetic);
+ cout << "The pole in geodetic " << c << endl;
+ c.transformTo(Position::Spherical);
+ cout << "The pole in spherical " << c << endl;
+ c.transformTo(Position::Geocentric);
+ cout << "The pole in geocentric " << c << endl;
+ c.transformTo(Position::Cartesian);
+ cout << "The pole in cartesian " << c << endl;
+
+ // test ALL transforms with origin
+ // X -> D -> C -> S -> X -> C -> D -> X -> S -> D -> S -> C -> X
+ cout << endl << "Try to break it at the origin\n";
+ c.setECEF(0,0,0);
+ cout << "Set to the origin in cartesian : " << c << endl;
+ c.transformTo(Position::Geodetic);
+ cout << "The origin in geodetic " << c << endl;
+ c.transformTo(Position::Geocentric);
+ cout << "The origin in geocentric " << c << endl;
+ c.transformTo(Position::Spherical);
+ cout << "The origin in spherical " << c << endl;
+ c.transformTo(Position::Cartesian);
+ cout << "The origin in cartesian " << c << endl;
+ c.transformTo(Position::Geocentric);
+ cout << "The origin in geocentric " << c << endl;
+ c.transformTo(Position::Geodetic);
+ cout << "The origin in geodetic " << c << endl;
+ c.transformTo(Position::Cartesian);
+ cout << "The origin in cartesian " << c << endl;
+ c.transformTo(Position::Spherical);
+ cout << "The origin in spherical " << c << endl;
+ c.transformTo(Position::Geodetic);
+ cout << "The origin in geodetic " << c << endl;
+ c.transformTo(Position::Spherical);
+ cout << "The origin in spherical " << c << endl;
+ c.transformTo(Position::Geocentric);
+ cout << "The origin in geocentric " << c << endl;
+ c.transformTo(Position::Cartesian);
+ cout << "The origin in cartesian " << c << endl;
+
+ cout << "Tests complete." << endl;
+ return 0;
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+ catch(...)
+ {
+ cout << "Some other exception thrown..." << endl;
+ }
+
+ cout << "Exiting with exceptions." << endl;
+ return -1;
+}
diff --git a/trunk/tests/rinex_met_livetest.pl b/trunk/tests/rinex_met_livetest.pl
new file mode 100644
index 0000000..fdb0d5d
--- /dev/null
+++ b/trunk/tests/rinex_met_livetest.pl
@@ -0,0 +1,60 @@
+#!/usr/bin/perl
+#
+# Live Rinex Test
+#
+# >>rinex_met_live <development directory> <met, obs, or nav (m,o,n)> <download directory>
+#
+#
+
+
+
+
+$dir=$ARGV[0];
+$dir =~ s/^-//;
+$devdir=$dir."/gpstk/dev/tests";
+
+$L=$ARGV[1];
+$L =~ s/^-//;
+
+$dldir=$ARGV[2];
+$dldir =~ s/^-//;
+if((-e $dldir)==o)
+{
+ $dldir=$devdir;
+}
+
+#print "PRE DL\n";
+
+system "$devdir/Rinex_dl.pl $L $dldir";
+print "POST DL\n";
+
+print "Current Directory: ";
+system "pwd";
+
+chdir "$dldir/NewRinexData-$L";
+
+print "New Directory: ";
+system "pwd";
+
+mkdir "Rinex_out-$L";
+$newdir=$dldir."/Rinex_out-".$L;
+
+#print "\n!!$newdir!!\n";
+
+ at all_files= glob "*";
+
+#print "!!@all_files\n!!";
+#print "BEFORE\n";
+
+chdir "$newdir";
+
+foreach(@all_files)
+{
+ # print "INSIDE\n";
+ $out=$_.".out";
+ # print "$out\n";
+ system "$devdir/rinex_met_test $_>$out";
+ print "Ran $_ Test\n";
+}
+
+#print "AFTER\n";
diff --git a/trunk/tests/rinex_met_read_write.cpp b/trunk/tests/rinex_met_read_write.cpp
new file mode 100644
index 0000000..f9c5581
--- /dev/null
+++ b/trunk/tests/rinex_met_read_write.cpp
@@ -0,0 +1,61 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/rinex_met_read_write.cpp#1 $"
+
+/**
+ * @file rinex_met_read_write.cpp
+ * tests gpslib::RinexMetData, gpslib::RinexMetHeader and gpslib::RinexMetStream.
+ */
+
+#include "RinexMetBase.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetHeader.hpp"
+#include "RinexMetStream.hpp"
+
+using namespace std;
+
+/// Returns 0 on success. The input file and output file should diff
+/// without errors.
+main(int argc, char *argv[])
+{
+ if (argc<3)
+ {
+ cout << "rinex_met_read_write inputfile outputfile" << endl;
+ exit(-1);
+ }
+
+ try
+ {
+ cout << "Reading " << argv[1] << endl;
+ gpstk::RinexMetStream roffs(argv[1]);
+ cout << "Writing " << argv[2] << endl;
+ gpstk::RinexMetStream out(argv[2],ios::out);
+// out.exceptions(fstream::failbit);
+ gpstk::RinexMetHeader roh;
+ gpstk::RinexMetData roe;
+
+
+
+ roffs >> roh;
+ out << roh;
+ roh.dump(cout);
+
+ while (roffs >> roe)
+ {
+ out << roe;
+ }
+
+ cout << "done" << endl;
+ exit(0);
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e;
+ exit(1);
+ }
+ catch (...)
+ {
+ cout << "unknown error. Done." << endl;
+ exit(1);
+ }
+
+ exit(0);
+} // main()
diff --git a/trunk/tests/rinex_met_test.cpp b/trunk/tests/rinex_met_test.cpp
new file mode 100644
index 0000000..429e3d9
--- /dev/null
+++ b/trunk/tests/rinex_met_test.cpp
@@ -0,0 +1,57 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/rinex_met_test.cpp#1 $"
+
+#include "RinexMetBase.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetHeader.hpp"
+#include "RinexMetStream.hpp"
+
+/**
+ * @file rinex_met_test.cpp
+ * Tests gpslib::RinexMetStream, gpslib::RinexMetData, gpslib::RinexMetHeader.
+ */
+
+using namespace std;
+
+/// returns 0 if successful.
+main(int argc, char *argv[])
+{
+ if (argc<2)
+ {
+ cout << "Gimme a rinex obs to chew on! Exiting." << endl;
+ exit(-1);
+ }
+
+ try
+ {
+ cout << "Reading " << argv[1] << "." << endl;
+
+ gpstk::RinexMetStream roffs(argv[1]);
+
+ // reading the header data isn't necessary
+// gpstk::RinexMetHeader roh;
+ gpstk::RinexMetData roe;
+
+ roffs.exceptions(fstream::failbit);
+
+// roffs >> roh;
+// roh.dump(cout);
+
+ while (roffs >> roe)
+ {}
+
+ cout << "done" << endl;
+ exit(0);
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e;
+ exit(1);
+ }
+ catch (...)
+ {
+ cout << "unknown error. Done." << endl;
+ exit(1);
+ }
+
+ exit(0);
+} // main()
diff --git a/trunk/tests/rinex_nav_read_write.cpp b/trunk/tests/rinex_nav_read_write.cpp
new file mode 100644
index 0000000..e276512
--- /dev/null
+++ b/trunk/tests/rinex_nav_read_write.cpp
@@ -0,0 +1,59 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/rinex_nav_read_write.cpp#1 $"
+
+/**
+ * @file rinex_nav_read_write.cpp
+ * tests gpslib::RinexNavStream, gpslib::RinexNavData, gpslib::RinexNavHeader.
+ */
+
+#include "RinexNavBase.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavStream.hpp"
+
+using namespace std;
+
+/// Returns 0 on success, and input and output files should diff without error.
+main(int argc, char *argv[])
+{
+ if (argc<2)
+ {
+ cout << "rinex_nav_read_write inputfile outputfile" << endl;
+ exit(-1);
+ }
+
+ try
+ {
+ cout << "Reading " << argv[1] << endl;
+ gpstk::RinexNavStream rnffs(argv[1]);
+ cout << "Writing " << argv[2] << endl;
+ gpstk::RinexNavStream out(argv[2], ios::out);
+ gpstk::RinexNavHeader rnh;
+ gpstk::RinexNavData rne;
+
+ rnffs >> rnh;
+ out << rnh;
+ rnh.dump(cout);
+
+ int i = 0;
+ while (rnffs >> rne)
+ {
+ out << rne;
+ i++;
+ }
+
+ cout << "Read " << i << " records. Done." << endl;
+ exit(0);
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e;
+ exit(1);
+ }
+ catch (...)
+ {
+ cout << "unknown error. Done." << endl;
+ exit(1);
+ }
+
+ exit(0);
+} // main()
diff --git a/trunk/tests/rinex_nav_test.cpp b/trunk/tests/rinex_nav_test.cpp
new file mode 100644
index 0000000..9690bd3
--- /dev/null
+++ b/trunk/tests/rinex_nav_test.cpp
@@ -0,0 +1,58 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/rinex_nav_test.cpp#2 $"
+
+/**
+ * @file rinex_nav_test.cpp
+ * tests gpslib::RinexNavStream, gpslib::RinexNavData, gpslib::RinexNavHeader.
+ */
+
+//#include "RinexNavBase.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "RinexMetStream.hpp"
+
+using namespace std;
+
+/// Returns 0 when successful.
+main(int argc, char *argv[])
+{
+ if (argc<2)
+ {
+ cout << "Gimme a rinex nav to chew on! Exiting." << endl;
+ exit(-1);
+ }
+
+ try
+ {
+ cout << "Reading " << argv[1] << "." << endl;
+
+ gpstk::RinexNavStream rnffs(argv[1]);
+ gpstk::RinexNavHeader rnh;
+ gpstk::RinexNavData rne;
+
+ rnffs.exceptions(fstream::failbit);
+
+ rnffs >> rnh;
+ rnh.dump(cout);
+
+ int i = 0;
+ while (rnffs >> rne)
+ {
+ i++;
+ }
+
+ cout << "Read " << i << " records. Done." << endl;
+ exit(0);
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e;
+ exit(1);
+ }
+ catch (...)
+ {
+ cout << "unknown error. Done." << endl;
+ exit(1);
+ }
+
+ exit(0);
+} // main()
diff --git a/trunk/tests/rinex_obs_read_write.cpp b/trunk/tests/rinex_obs_read_write.cpp
new file mode 100644
index 0000000..2a87b22
--- /dev/null
+++ b/trunk/tests/rinex_obs_read_write.cpp
@@ -0,0 +1,63 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/rinex_obs_read_write.cpp#1 $"
+
+/**
+ * @file rinex_obs_read_write.cpp
+ * tests gpslib::RinexObsData, gpslib::RinexObsStream, gpslib::RinexObsHeader.
+ */
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+using namespace std;
+
+/// Returns 0 on success. Input and output files should diff wihtout error.
+main(int argc, char *argv[])
+{
+
+ if (argc<2)
+ {
+ cout << "rinex_obs_read_write inputfile outputfile" << endl;
+ exit(-1);
+ }
+
+ try
+ {
+ cout << "Reading " << argv[1] << endl;
+ gpstk::RinexObsStream roffs(argv[1]);
+ cout << "Writing " << argv[2] << endl;
+ gpstk::RinexObsStream out(argv[2], ios::out);
+ roffs.exceptions(ios::failbit);
+ gpstk::RinexObsHeader roh;
+ gpstk::RinexObsData roe;
+
+ roffs >> roh;
+ out << roh;
+ roh.dump(cout);
+
+ while (roffs >> roe)
+ {
+ out << roe;
+ }
+
+ cout << "Read " << roffs.recordNumber << " epochs. Done." << endl;
+ exit(0);
+ }
+ catch(gpstk::FFStreamError& e)
+ {
+ cout << e;
+ exit(1);
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e;
+ exit(1);
+ }
+ catch (...)
+ {
+ cout << "unknown error. Done." << endl;
+ exit(1);
+ }
+
+ exit(0);
+} // main()
diff --git a/trunk/tests/rinex_obs_test.cpp b/trunk/tests/rinex_obs_test.cpp
new file mode 100644
index 0000000..0b2585e
--- /dev/null
+++ b/trunk/tests/rinex_obs_test.cpp
@@ -0,0 +1,59 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/rinex_obs_test.cpp#1 $"
+
+/**
+ * @file rinex_obs_test.cpp
+ * tests gpslib::RinexObsData, gpslib::RinexObsStream, gpslib::RinexObsHeader.
+ */
+
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+using namespace std;
+
+/// Returns 0 on success.
+main(int argc, char *argv[])
+{
+ if (argc<2)
+ {
+ cout << "Gimme a rinex obs to chew on! Exiting." << endl;
+ exit(-1);
+ }
+
+ try
+ {
+ cout << "Reading " << argv[1] << "." << endl;
+
+ gpstk::RinexObsStream roffs(argv[1]);
+ roffs.exceptions(ios::failbit);
+ gpstk::RinexObsHeader roh;
+ gpstk::RinexObsData roe;
+
+ roffs >> roh;
+ roh.dump(cout);
+
+ while (roffs >> roe)
+ {}
+
+ cout << "Read " << roffs.recordNumber << " epochs. Done." << endl;
+ exit(0);
+ }
+ catch(gpstk::FFStreamError& e)
+ {
+ cout << e;
+ exit(1);
+ }
+ catch(gpstk::Exception& e)
+ {
+ cout << e;
+ exit(1);
+ }
+ catch (...)
+ {
+ cout << "unknown error. Done." << endl;
+ exit(1);
+ }
+
+ exit(0);
+} // main()
diff --git a/trunk/tests/runAllTests b/trunk/tests/runAllTests
new file mode 100755
index 0000000..4398230
--- /dev/null
+++ b/trunk/tests/runAllTests
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+data="./data"
+
+echo "rinex_met_test"
+rinex_met_test $data/405_077A.02M
+
+echo "daytimetest:"
+daytimetest
+
+echo "exceptiontest:"
+exceptiontest
+
+echo "petest:"
+petest $data/nga12600.apc
+
+echo "stringutiltest:"
+stringutiltest >stringutiltest.out
+diff stringutiltest.out $data/stringutiltest.ref
+
+echo "ephemeris comparison test:"
+echo "first merge RINEX navigation files into merged.n"
+../apps/Rinextools/NavMerge -omerged.n $data/s011061a.04n $data/s021061a.04n $data/s031061a.04n
+echo "EphComp will throw an exception here when it can't find PRN 13 .. this is normal"
+EphComp -p $data/nga12600.apc -p $data/nga12601.apc -b merged.n > EphComp.out
+gnuplot -persist EphComp.gp
+
+echo "MatrixTest"
+MatrixTest $data/anotsym.dat $data/cov.dat $data/dia.dat $data/lt.dat \
+ $data/partials.dat $data/squ.dat $data/sym.dat $data/tmatrix.dat \
+ $data/ut.dat >MatrixTest.out
+diff MatrixTest.out $data/MatrixTest.ref
+
+echo "Generating directory for FileSpecTest"
+genFileSpecTestDirs.pl
+FileSpecTest
+
+echo "PositionTest"
+positiontest > positiontest.out
+diff positiontest.out data/positiontest.ref
diff --git a/trunk/tests/runAllTests.bat b/trunk/tests/runAllTests.bat
new file mode 100755
index 0000000..a89c697
--- /dev/null
+++ b/trunk/tests/runAllTests.bat
@@ -0,0 +1,72 @@
+echo off
+REM Run all tests in the tests directory
+REM $Id:$
+
+echo.
+echo.
+echo rinex_met_test
+echo -------------------------------------------------------------------------
+rinex_met_test data/405_077A.02M
+
+echo.
+echo.
+echo daytimetest:
+echo -------------------------------------------------------------------------
+daytimetest
+
+echo.
+echo.
+echo exceptiontest:
+echo -------------------------------------------------------------------------
+exceptiontest
+
+echo.
+echo.
+echo petest:
+echo -------------------------------------------------------------------------
+petest data/nga12600.apc
+
+echo.
+echo.
+echo stringutiltest:
+echo -------------------------------------------------------------------------
+stringutiltest >stringutiltest.out
+diff stringutiltest.out data/stringutiltest.ref
+echo Look in stringutiltest.out
+
+echo.
+echo.
+echo MatrixTest
+echo -------------------------------------------------------------------------
+MatrixTest data/anotsym.dat data/cov.dat data/dia.dat data/lt.dat data/partials.dat data/squ.dat data/sym.dat data/tmatrix.dat data/ut.dat > MatrixTest.out
+echo Look in MatrixTest.out
+echo Here is a 'diff' with what MatrixTest.out should be:
+diff MatrixTest.out data/MatrixTest.ref.Win32
+
+echo.
+echo.
+echo Generating directory for FileSpecTest
+echo -------------------------------------------------------------------------
+perl genFileSpecTestDirs.pl
+FileSpecTest
+
+echo.
+echo.
+echo PositionTest
+echo -------------------------------------------------------------------------
+positiontest > positiontest.out
+diff positiontest.out data/positiontest.ref
+echo Look in positiontest.out
+
+echo.
+echo.
+echo EphComp:
+echo -------------------------------------------------------------------------
+echo first merge three RINEX navigation files to create merged.n
+..\apps\Rinextools\NavMerge -omerged.n data\s011061a.04n data\s021061a.04n data\s031061a.04n
+echo EphComp will throw an exception when it can't find PRN 13 here --
+echo that's ok, its part of the test:
+EphComp -p data/nga12600.apc -p data/nga12601.apc -b merged.n > EphComp.out
+echo ...end of EphComp. Look in EphComp.out -- here's the plot:
+gnuplot EphCompWin.gp
+
diff --git a/trunk/tests/stringutiltest.cpp b/trunk/tests/stringutiltest.cpp
new file mode 100755
index 0000000..71de1fe
--- /dev/null
+++ b/trunk/tests/stringutiltest.cpp
@@ -0,0 +1,468 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/stringutiltest.cpp#2 $"
+
+#include <iostream>
+#include <string>
+#include "StringUtils.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+/**
+ * @file stringutiltest.cpp
+ * A test of the gpslib::StringUtils functions
+ *
+ */
+
+// must be big enough to show hex digits in index
+char hexDumpMess[] =
+{ 0x00, 0x10, 0x30, 0x33, 0x30, 0x31, 0x30, 0x35,
+ 0x3A, 0x65, 0x70, 0x68, 0x20, 0x3A, 0x30, 0x3A,
+ 0x35, 0x32, 0x36, 0x34, 0x30, 0x2E, 0x33, 0x33,
+ 0x33, 0x34, 0x30, 0x32, 0x37, 0x37, 0x37, 0x37,
+ 0x37, 0x37, 0x37, 0x38, 0x42, 0x72, 0x69, 0x61,
+ 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x68,
+ 0x6f, 0x73, 0x65, 0x72, 0x32, 0x35, 0x39, 0x32,
+ 0x35, 0x39, 0x32, 0x34, 0x20, 0x32, 0x20, 0x35,
+ 0x32, 0x36, 0x34, 0x30, 0x2E, 0x33, 0x33, 0x38,
+ 0x38, 0x33, 0x36, 0x33, 0x34, 0x32, 0x35, 0x39,
+ 0x32, 0x35, 0x39, 0x33, 0x20, 0x32, 0x20, 0x38,
+ 0x35, 0x34, 0x31, 0x32, 0x20, 0x31, 0x20, 0x31,
+ 0x20, 0x30, 0x20, 0x31, 0x20, 0x31, 0x20, 0x34,
+ 0x20, 0x32, 0x20, 0x34, 0x20, 0x30, 0x20, 0x30,
+ 0x20, 0x33, 0x20, 0x31, 0x31, 0x39, 0x39, 0x20,
+ 0x32, 0x32, 0x63, 0x30, 0x61, 0x66, 0x30, 0x33,
+ 0x20, 0x31, 0x37, 0x37, 0x30, 0x32, 0x39, 0x65,
+ 0x34, 0x20, 0x61, 0x66, 0x34, 0x30, 0x30, 0x31,
+ 0x66, 0x20, 0x65, 0x36, 0x31, 0x62, 0x35, 0x38,
+ 0x61, 0x20, 0x35, 0x35, 0x66, 0x33, 0x37, 0x35,
+ 0x30, 0x20, 0x34, 0x63, 0x63, 0x61, 0x38, 0x38,
+ 0x37, 0x20, 0x31, 0x31, 0x35, 0x64, 0x37, 0x63,
+ 0x66, 0x63, 0x20, 0x33, 0x61, 0x64, 0x32, 0x30,
+ 0x34, 0x38, 0x61, 0x20, 0x63, 0x65, 0x61, 0x20,
+ 0x33, 0x36, 0x32, 0x63, 0x34, 0x38, 0x20, 0x31,
+ 0x31, 0x39, 0x39, 0x20, 0x32, 0x32, 0x63, 0x30,
+ 0x61, 0x66, 0x30, 0x33, 0x20, 0x31, 0x37, 0x37,
+ 0x30, 0x34, 0x61, 0x37, 0x34, 0x20, 0x33, 0x61,
+ 0x63, 0x34, 0x36, 0x36, 0x63, 0x31, 0x20, 0x62,
+ 0x64, 0x30, 0x63, 0x36, 0x64, 0x63, 0x20, 0x33,
+ 0x39, 0x31, 0x62, 0x33, 0x37, 0x38, 0x33, 0x20,
+ 0x33, 0x65, 0x30, 0x34, 0x30, 0x63, 0x66, 0x85 };
+
+/// This returns 0 if all tests pass.
+int main()
+{
+ try
+ {
+ int rc = 0;
+ string result, ref;
+ string a = "1234567890", b = "456";
+ string aa = "---1234567890---";
+ char c = '-';
+ string d = "--";
+ string hexDumpString(hexDumpMess, sizeof(hexDumpMess));
+
+ // Someone may want to do this to a string stream and do some
+ // comparisons and what-not... for now, I'm only testing to
+ // make sure it doesn't crash...
+ cout << "Standard hex dump:" << endl;
+ hexDumpData(cout, hexDumpString);
+ cout << endl << "Alternate hex dump:" << endl;
+ HexDumpDataConfig hdcfg(true, true, true, 8, 2, 2, 1, 0, 0, 16, true,
+ '\'', 1);
+ hexDumpData(cout, hexDumpString, 6, hdcfg);
+
+ cout << endl << "Above using printable():" << endl;
+ cout << printable(hexDumpString) << endl;
+
+
+ //#############################
+ // Justification tests
+
+ cout << "Original: " << a << endl;
+ ref = a;
+ result = string(3,c) + a;
+ a = rightJustify(a, a.length() + 3, c);
+ if(a != result)
+ {
+ cout << "rightJustify failed: " << a << endl
+ << "Should be: " << result << endl;
+ }
+
+ a = ref;
+ result = a + string(3,c);
+ a = leftJustify(a, a.length()+3, c);
+ if(a != result)
+ {
+ cout << "leftJustify failed: " << a << endl
+ << "Should be: " << result << endl;
+ }
+
+ a = ref;
+ result = string(3,c) + a + string(3,c);
+ a = center(a, a.length()+6, c);
+ if(a != result)
+ {
+ cout << "center failed: " << a << endl
+ << "Should be: " << result << endl;
+ }
+
+ a = ref;
+
+ //#############################
+ // Strip Tests
+
+ //######## Leading
+ ref = aa;
+ result = aa.substr(1,string::npos);
+ aa = stripLeading(aa, c, 1);
+ if(aa != result)
+ {
+ cout << "stripLeading(string, char, 1) failed: " << aa << endl
+ << "Should be: " << result << endl;
+ }
+
+ aa = ref;
+ result = aa.substr(2,string::npos);
+ aa = stripLeading(aa, d, 1);
+ if(aa != result)
+ {
+ cout << "stripLeading(string, char *, 1) failed: " << aa << endl
+ << "Should be: " << result << endl;
+ }
+
+ aa = ref;
+ result = aa.substr(3,string::npos);
+ aa = stripLeading(aa, c);
+ if(aa != result)
+ {
+ cout << "stripLeading(string, char) failed: " << aa << endl
+ << "Should be: " << result << endl;
+ }
+
+ aa = ref;
+ result = aa.substr(2,string::npos);
+ aa = stripLeading(aa, d);
+ if(aa != result)
+ {
+ cout << "stripLeading(string, char *) failed: " << aa << endl
+ << "Should be: " << result << endl;
+ }
+
+ //######## Trailing
+ aa = ref;
+ result = aa.substr(0, aa.length()-1);
+ aa = stripTrailing(aa, c, 1);
+ if(aa != result)
+ {
+ cout << "stripTrailing(string, char, 1) failed: " << aa << endl
+ << "Should be: " << result << endl;
+ }
+
+ aa = ref;
+ result = aa.substr(0, aa.length()-2);
+ aa = stripTrailing(aa, d, 1);
+ if(aa != result)
+ {
+ cout << "stripTrailing(string, char *, 1) failed: " << aa << endl
+ << "Should be: " << result << endl;
+ }
+
+ aa = ref;
+ result = aa.substr(0, aa.length()-3);
+ aa = stripTrailing(aa, c);
+ if(aa != result)
+ {
+ cout << "stripTrailing(string, char) failed: " << aa << endl
+ << "Should be: " << result << endl;
+ }
+
+ aa = ref;
+ result = aa.substr(0, aa.length()-2);
+ aa = stripTrailing(aa, d);
+ if(aa != result)
+ {
+ cout << "stripTrailing(string, char *) failed: " << aa << endl
+ << "Should be: " << result << endl;
+ }
+
+ //######## Both Leading & Trailing
+ aa = ref;
+ result = aa.substr(1,aa.length()-2);
+ aa = strip(aa, c, 1);
+ if(aa != result)
+ {
+ cout << "strip(string, char, 1) failed: " << aa << endl
+ << "Should be: " << result << endl;
+ }
+
+ aa = ref;
+ result = aa.substr(2,aa.length()-4);
+ aa = strip(aa, d, 1);
+ if(aa != result)
+ {
+ cout << "strip(string, char *, 1) failed: " << aa << endl
+ << "Should be: " << result << endl;
+ }
+
+ aa = ref;
+ result = aa.substr(3, aa.length()-6);
+ aa = strip(aa,c);
+ if(aa != result)
+ {
+ cout << "strip(string, char) failed: " << aa << endl
+ << "Should be: " << result << endl;
+ }
+
+ aa = ref;
+ result = aa.substr(2, aa.length()-4);
+ aa = strip(aa,d);
+ if(aa != result)
+ {
+ cout << "strip(string, char *) failed: " << aa << endl
+ << "Should be: " << result << endl;
+ }
+
+ //################################
+ //translation
+ string xlat = "The Hoopy Ford Prefect Boffs the Eccentrica Gallumbits";
+ string xlati1 = "sdfgDFG";
+ string xlato1 = "!)#%#)%";
+ string xlata1 = "The Hoopy )or) Pre#ect Bo##! the Eccentrica %allumbit!";
+ string xlati2 = "sdfgDFG";
+ string xlato2 = "!)#%";
+ string xlata2 = "The Hoopy or) Pre#ect Bo##! the Eccentrica allumbit!";
+ string xlati3 = "sdfgDFG";
+ string xlato3 = "sdfgDFG";
+ string xlata3 = "The Hoopy Ford Prefect Boffs the Eccentrica Gallumbits";
+ aa = translate(xlat, xlati1, xlato1);
+ if (aa != xlata1)
+ {
+ cout << "translate(const string&,const string&,const string&,char) "
+ << "failed: " << aa << endl
+ << "should be " << xlata1 << endl;
+ }
+ aa = translate(xlat, xlati2, xlato2);
+ if (aa != xlata2)
+ {
+ cout << "translate(const string&,const string&,const string&,char) "
+ << "failed: " << aa << endl
+ << "should be " << xlata2 << endl;
+ }
+ aa = translate(xlat, xlati3, xlato3);
+ if (aa != xlata3)
+ {
+ cout << "translate(const string&,const string&,const string&,char) "
+ << "failed: " << aa << endl
+ << "should be " << xlata3 << endl;
+ }
+
+ //################################
+ //String to number
+ int res = asInt(a);
+ if (1234567890 != res)
+ {
+ cout << "asInt(string&) failed: " << res << endl
+ << "should be 1234567890" << endl;
+ }
+
+ a = "12345.67890";
+ double res2 = asDouble(a);
+ if ( (double)(12345.67890) != res2)
+ {
+ cout << "asDouble(string&) failed: " << setprecision(15) << res2 << endl
+ << "should be 12345.67890 " << endl;
+ }
+
+ float res25 = asFloat(a);
+ if( (float)(12345.67890) != res25)
+ {
+ cout << "asFloat(string&) failed: " << setprecision(15) << res25 << endl
+ << "should be 12345.67890 " << endl;
+ }
+
+ long double lda = 12345.67890L;
+ long double res3 = asLongDouble(a);
+ if (lda != res3)
+ {
+ cout << "asLongDouble(string&) failed: " << setprecision(21) << res3
+ << endl << "should be 12345.67890 " << endl;
+ }
+
+ //#####################################33
+ // Number as string
+
+ res2 = 12345.6789; // double
+ res3 = 12345.6789L; // long double
+ res = 1234567890; // int
+
+ aa = asString(res2);
+ if(asDouble(aa) != res2)
+ {
+ cout << "asString(double) failed: " << aa << endl
+ << "should be 12345.6789" << endl;
+ }
+
+ aa = asString(res3);
+ if(asLongDouble(aa) != res3)
+ {
+ cout << "asString(long double) failed: " << aa << endl
+ << "should be 12345.6789" << endl;
+ }
+
+ aa = asString(res);
+ if(asInt(aa) != res)
+ {
+ cout << "asString(X) failed: " << aa << endl
+ << "should be " << res << endl;
+ }
+
+ // ##############################3
+ // Hex tests
+
+ string q="0x100 bleh";
+ string z="100 moo";
+
+ result = x2d(q);
+ if (result != string("256 bleh"))
+ {
+ cout << "x2d failed: " << result << endl
+ << "Should be: '256 bleh'"<< endl;
+ }
+
+ result = d2x(z);
+ if (result != string("64 moo"))
+ {
+ cout << "x2d failed: " << result << endl
+ << "Should be: '64 moo'"<< endl;
+ }
+
+ //##############################3
+ // String replacement
+
+ a = "010101000111010";
+ aa = "0-0-0-000---0-0";
+ string aaa = "0abc0abc0abc000abcabcabc0abc0";
+
+ ref = a;
+ a = replaceAll(a, string("1"), string("-"));
+ if(a != aa)
+ {
+ cout << "replaceAll() failed: " << a << endl
+ << "should be " << aa << endl;
+ }
+
+ a = ref;
+ a = replaceAll(a, string("1"), string("abc"));
+ if(a != aaa)
+ {
+ cout << "replaceAll() failed: " << a << endl
+ << "should be " << aaa << endl;
+ }
+
+ a = ref;
+ aaa = "01230123012300012312312301230";
+ a = replaceAll(a, string("1"), string("123"));
+ if(a != aaa)
+ {
+ cout << "replaceAll() failed: " << a << endl
+ << "should be " << aaa << endl;
+ }
+
+ //##############################################
+ // Word Tests
+ a = " The Quick Brown Fox Jumps Over The Lazy Dog. ";
+
+ aa = firstWord(a);
+ if(aa != string("The"))
+ {
+ cout << "firstWord() failed: " << aa << endl
+ << "should be 'The'" << endl;
+ }
+
+ res = numWords(a);
+ if(res != 9)
+ {
+ cout << "numWords() failed: " << res << endl
+ << "should be 9" << endl;
+ }
+
+ aa = word(a, 4);
+ if(aa != string("Jumps"))
+ {
+ cout << "word() failed: " << aa << endl
+ << "should be 'Jumps'" << endl;
+ }
+
+ removeWords(a, 3, 2);
+ result = " The Quick Brown Over The Lazy Dog. ";
+ if(a != result)
+ {
+ cout << "removeWords() failed: " << a << endl
+ << "should be '" << result << "'" << endl;
+ }
+
+ aa = stripFirstWord(a);
+ result = "Quick Brown Over The Lazy Dog. ";
+ if ((aa != string("The")) ||
+ (a != result))
+ {
+ cout << "stripFirstWord() failed: " << aa << endl
+ << "should be 'The'" << endl
+ << "and: " << a << endl
+ << "should be '" << result << "'" << endl;
+ }
+
+ removeWords(a, 5);
+ result = "Quick Brown Over The Lazy";
+ if (a != result)
+ {
+ cout << "removeWords failed: " << a << endl
+ << "should be '" << result << "'" << endl;
+ }
+
+ aa = words(a, 3);
+ result = "The Lazy";
+ if (aa != result)
+ {
+ cout << "words failed: \'" << aa << "' (" << a << ")" << endl
+ << "should be '" << result << "'" << endl;
+ }
+
+ //####################
+ // regular expressions
+
+ rc = isLike(a, "Br.*Over.*");
+ if (rc != 1)
+ {
+ cout << "isLike (Br.*Over.*) failed: " << rc << endl
+ << "should be: 1" << endl;
+ }
+
+ rc = isLike(a, "Br.Over.*");
+ if (rc != 0)
+ {
+ cout << "isLike (Br.Over.*) failed: " << rc << endl
+ << "should be: 0" << endl;
+ }
+
+ aa = matches(a, "Br.*Over.*");
+ result = "Brown Over The Lazy";
+ if (aa != result)
+ {
+ cout << "matches failed: " << aa << endl
+ << "should be: '" << result << "'" << endl;
+ }
+
+ string prettyPrintThis("This is a very long sentence that will get cut up into lines with a maximum length of 40 characters, each line indented by a few spaces.");
+ prettyPrint(prettyPrintThis, "\n", " ", " ", 40);
+ cout << prettyPrintThis << endl;
+
+ cout << "All other Tests Passed." << endl;
+
+ return 0;
+ }
+ catch (gpstk::Exception& e)
+ {
+ cout << e << endl;
+ }
+}
diff --git a/trunk/tests/testscript.pl b/trunk/tests/testscript.pl
new file mode 100755
index 0000000..15922e1
--- /dev/null
+++ b/trunk/tests/testscript.pl
@@ -0,0 +1,184 @@
+#!/usr/bin/perl
+# $Id: //depot/sgl/gpstk/dev/tests/testscript.pl#6 $
+
+# Ryan Mire ARL SGL
+# June 2005
+# last saved: July 25 1:50pm
+#
+#
+# Test Script created for the purpose of automating the testing of the GPStk Toolkit
+# Proper Command Line Syntax:
+# >>test script terminated\n testscript <home directory> <configfile> <output directory> [<html file and directory path>]
+#
+
+
+$homedir=$ARGV[0];
+die "\nThe given output directory, $homedir, is not found or does not exist.\n Try......>>test script terminated\n testscript <home directory> <configfile> <output directory> [<html file name>]\n"
+ if((-e $homedir)==0);
+
+$configfile=$ARGV[1];
+
+$outdir=$ARGV[2];
+mkdir "$outdir"
+ if((-e $outdir)==0);
+
+$html=$ARGV[3];
+
+$exedir=$homedir."/gpstk/dev/tests";
+die "\nThe test directory, $exedir, is not found or does not exist.......test script terminated"
+ if((-e $exedir)==0);
+
+$datdir=$exedir."/data";
+die "\nThe data directory, $datdir, is not found or does not exist......test script terminated"
+ if((-e $datdir)==0);
+
+$passfail="All Tests Passed";
+
+
+$n=0;
+
+open(CONFIG, $configfile);
+$testspec="";
+$mainlog="$outdir/testscript.log";
+open(LOG,">".$mainlog);
+open(HTML,">".$html);
+
+if($html)
+{
+ chomp($kernel =`uname -s`);
+ chomp($processor = `uname -p`);
+ print HTML "<tr class=\"alt\">\n";
+ print HTML "<td> $kernel</td>\n"; #Name of Kernel
+ print HTML "<td> $processor</td>\n"; #Name of Processor
+}
+
+while(<CONFIG>)
+{
+ # print "N = $n\n";
+ next if /^(#|!)/; #Skips lines beginning with "!"
+ s/^\s+//; #Substitute any space at the beginning of the line with nothing
+
+ if (/\\$/) #If the line contains a "\" at the end
+ {
+ s/\\$//; #Substitute the endline character "\" with nothing
+ s/\n/ /; #Substitute the newline character with a space
+ $testspec=$testspec.$_;
+ next;
+ }
+ else
+ {
+ $testspec=$testspec.$_;
+ }
+
+ $n+=1; #Counts up through all the executed tests
+
+ $testspec=~ s/;\s*$//; #Substitue the colon and space endline character with nothing
+ $testspec=~ s/\$outdir/$outdir/; #Replace the word $outdir with the true local value of $outdir
+ $testspec=~ s/\$datdir/$datdir/g; #Replace the word $datdir with the true local value of $datdir
+ # print "\nOriginal: $testspec\n";
+
+ @Cmdline=split /,/, $testspec; #Split the line at any commas and create the command line array
+ @Cmdname=split /(\s+|,|;)/, $testspec; #Split the line at any comas or whitespace or colons and create the command name array
+
+ $Cmdline="$exedir/@Cmdline[0]"; #Add on the proper local directory $exedir to begin the building of the command line
+ $Cmdname="@Cmdname[0]";
+ $scrfile="$outdir/$Cmdname.scr"; #Creates the generic screen output file in the proper $outdir local directory
+
+ # print "Command Line: $Cmdline\n";
+ print "Executing: $Cmdname\n";
+ # print "File Spec for Screen Capture: $scrfile\n";
+
+ $ret_val="Success";
+
+ if (system "$Cmdline>$scrfile")
+ {
+ $ret_val="Failure";
+ }
+
+ $diff_val="Success";
+ $diffline=@Cmdline[1]; #If there are any pieces after the first space/comma/colon diffline gets them
+
+ # print "DIFFLINE: $diffline\n";
+
+ if ($diffline)
+ {
+
+
+ $diffline=~ s/^\s//; #Takes off the beginning whitespace
+ @diffline=split /:/, $diffline; #Splits at any colon
+ $output=@diffline[0]; #Text before the colon
+ $golden=@diffline[1]; #Text after the colon
+ $diff_file="$outdir/$Cmdname.dif";
+
+ system "sdiff -s -I File $outdir/$output $datdir/$golden>$diff_file"; #executes Unix Bash Shell command
+
+
+ if (!-z $diff_file) #If the diff file is non-empty
+ {
+ $diff_val="False";
+ }
+ }
+
+ if(-z $diff_file)
+ {
+ system "rm $diff_file"
+ }
+
+ print "\t\tTest Run: $ret_val\n";
+ print "\t\tDiff Value: $diff_val\n";
+# print "$kernel \t $processor \n";
+
+
+ if ($ret_val eq 'Success' && $diff_val eq 'Success')
+ {
+ print LOG "$Cmdname......Success\n";
+ }
+ else
+ {
+ print LOG "$Cmdname......Failure -see $Cmdname.dif and $Cmdname.scr\n";
+ $passfail="One or More Tests Failed";
+ chomp($n);
+ chomp($Cmdname);
+ $failed[$n]="\t $n \t $Cmdname \n"; #Adds failed test to Failed Test list
+ }
+
+ if ($html)
+ {
+ if($ret_val eq 'Success' && $diff_val eq 'Success')
+ {
+ $colorcode="pass";
+ }
+ else
+ {
+ $colorcode="fail";
+ }
+ print HTML "<td> class=\"$colorcode\"> $ret_val </td>\n";
+ }
+
+ $testspec="";
+}
+ print LOG "\n Failed Test List :\n";
+ print LOG "\n @failed";
+
+if($html)
+{
+ print HTML "</tr>\n";
+}
+
+ close(HTML);
+ close(LOG);
+ close(CONFIG);
+
+ print "\n Main Directory: $homedir\n";
+ print " Configuration File: $configfile\n";
+ print " Output Directory: $outdir\n";
+ print " Test Directory: $exedir\n";
+ print " Data directory: $datdir\n";
+ print "\nRan $n tests\n";
+ print "$passfail\n";
+
+if(@failed!=0)
+{
+ print "Failed Test List:\n";
+ print "@failed";
+}
diff --git a/trunk/tests/testscript_readme.txt b/trunk/tests/testscript_readme.txt
new file mode 100644
index 0000000..a93a4c3
--- /dev/null
+++ b/trunk/tests/testscript_readme.txt
@@ -0,0 +1,18 @@
+
+ testscript.pl is a script accompanied by configfile.txt, which contains a list of test programs and their associated command line options. testscript.pl runs through every line of the configfile building and extending the proper command line for each test.
+
+>>testscript.pl <development directory> <configfile> <output directory> [<html file and directory path>]
+
+<development directory> - This is the directory path that the GPSTk is installed in.
+
+<configfile> - The file path and name of the configuration file.
+
+<output directory> - The output directory is the directory that all .dif and .scr files are sent to. This not only allows for better archiving but also for easier cleanup at the end of testing so as not to waste disc space. The test script outputs to screen the names of all tests executed and which ones failed in the execution or in differencing. If a test does fail it can be seen in brief in the testscript.log file located in the output directory. For more details look at the .scr an [...]
+
+[<html file and directory path>] - The optional html directory path saves information in a format that can be used in an html script to help create a graphical table of information showing test results, the machine in which the tests were run on and they type of processor.
+
+ As the tests are executed the stout results are written to a file named by the name of the test program + .scr on the end. If necessary, the results are differenced against known data in the data directory. The result of the differencing, even if there it is null, is placed into a file with the .dif extension. The .dif files are also named like the .scr, with the name of the test program + .dif on the end.
+SEE configfile help for details on proper syntax for the test script to be able to sync with the configfile.
+
+
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/gpstk.git
More information about the Pkg-grass-devel
mailing list